3AC: 3 address code

SSA: single static assignment

give each variable definition a fresh name

propagate fresh name to subsequent uses

every variable has exactly one definition

Untitled

Pros:

contain part of flow information

define-and-use pairs are explicit

Cons:

introduce too many variables and phi-functions

inefficiency when transferring to 3AC and then to machine code

Control Flow Analysis

Basic block: maximal sequences of consecutive three-address instructions with the properties that