Documentation Archive Developer
Search

Next: , Previous: Temporaries, Up: GIMPLE


10.2.3 Expressions

In general, expressions in GIMPLE consist of an operation and the appropriate number of simple operands; these operands must either be a GIMPLE rvalue (is_gimple_val), i.e. a constant or a register variable. More complex operands are factored out into temporaries, so that

       a = b + c + d

becomes

       T1 = b + c;
       a = T1 + d;

The same rule holds for arguments to a CALL_EXPR.

The target of an assignment is usually a variable, but can also be an INDIRECT_REF or a compound lvalue as described below.