GNU Compiler Collection (GCC) Internals: Conditional Expressions |
---|
Next: Logical Operators, Previous: Compound Lvalues, Up: Operands [Contents][Index]
A C ?:
expression is converted into an if
statement with
each branch assigning to the same temporary. So,
a = b ? c : d;
becomes
if (b == 1) T1 = c; else T1 = d; a = T1;
The GIMPLE level if-conversion pass re-introduces ?:
expression, if appropriate. It is used to vectorize loops with
conditions using vector conditional operations.
Note that in GIMPLE, if
statements are represented using
GIMPLE_COND
, as described below.