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
来表示,正如下面所描述。