The first step of the optimization phase is conversion of the IR tree to quadruples , simple statements computing an operation of no more than two operands. The conversion to quadruples involves flattening the IR tree through the introduction of new temporary variables. The converted IR tree is a list consisting of only nine types of simple statements:
MOVE | BINOP | |||
LOAD | STORE | |||
CALLSUB | CALLFUN | |||
LABEL | L: | goto L | GOTO | |
COND. | 2lif goto L1 else goto L2 |
Once the quadruples have been generated, the code is converted to Static Single-Assignment (SSA) form [C+91] for optimization.