Method:
Optimizer makes more efficient version of
intermediate code called optimized intermediate code:
Constant propagation: (a := 1; b := 2; c
:= a + b Þ c :=
3)
Note: Variables a, b have no next use
Copy propagation: (b := a; c := b; d := c Þ d := a)
Note: Variables b, c have no next use
Dead code elimination: (while false do
Þ nothing)