Next: Manipulating GIMPLE statements, Previous: Temporaries, Up: GIMPLE
总得来说,GIMPLE表达式由一个运算和适当数目的简单操作数组成;这些操作数必须或者为GIMPLE右值(is_gimple_val
),即一个常量,或者一个寄存器变量。更复杂的操作数被分解到临时对象中,所以,
a = b + c + d
会变成
T1 = b + c; a = T1 + d;
对于GIMPLE_CALL
的参数也是同样的规则。
一个赋值的目标通常为一个变量,但是也可以为一个INDIRECT_REF
或者一个由下面描述的复合左值。