Wk 8/9, Ch 10/11 – Liveness Analysis and Register Allocation

Liveness

Step 1: Control Flow Graph

Finding Live Ranges

Finding Live Ranges : a dataflow analysis

Dataflow equations

Static vs. Dynamic liveness

Determining Interference

Register Allocation

Simplify

Select

Spill

Select after having to Spill

If Select cannot colour a node…

Coalescing

Finally,