Go to the previous, next section.

Instructions and Expression Trees

At the leaves of the abstract syntax trees, the tree_instr nodes (see section Instruction Nodes) hold SUIF instructions. Each instruction performs a single operation, specified by its opcode. With just a few exceptions, the opcodes are simple and straightforward, similar to the instruction set of a typical RISC processor. The instructions include arithmetic, data transfer, and control flow operations.

SUIF instructions may be used in two ways. Most high-level passes use expression trees, where the instructions are grouped together in trees that correspond to the expressions in the source programs. Back-end optimization passes have traditionally worked with flat lists of instructions, and SUIF supports that representation as well.

The files `instruction.h' and `instruction.cc' contain the code for the SUIF instruction classes.

Go to the previous, next section.