Я сгенерировал код GIMPLE из кода C с помощью GCC -fdump-tree-optimized и обнаружил, что существует переменная SSA, у которой нет определения:
f (int cond)
{
int _1;
<bb 2> [100.00%]:
if (cond_2(D) != 0)
goto <bb 4>; [46.00%]
else
goto <bb 3>; [54.00%]
<bb 3> [54.00%]:
<bb 4> [100.00%]:
# _1 = PHI <10(2), 20(3)>
return _1;
}
Является определением cond_2 (D)скрытый?Есть ли какая-либо внутренняя структура данных в GCC, которая поддерживает определение cond_2 (D)?
Программа ввода C выглядит следующим образом:
int f(int cond) {
if (cond) {
return 10;
} else {
return 20;
}
}