Next: Logical Operators, Previous: Compound Lvalues, Up: Operands
C ?: 表达式被转换成一条if语句,每个分支被分配给相同的临时对象。所以,
a = b ? c : d;
会变成
if (b == 1)
T1 = c;
else
T1 = d;
a = T1;
GIMPLE级别的if-conversion过程在适当的时候,重新引入了?:表达式。其用于向量化循环。
注意在GIMPLE中,if语句通过GIMPLE_COND来表示,正如下面所描述。