Dead register
A register that contains a value that was live, but now is dead.
Unused register
A register that is carrying a live value for a long live range, but for much of the live range the value is unused.
Postpass Optimization
--dead/unused register identification --hot region identification --spill identification --weighted bipartite graph matching --compensation code cost analysis --unused register allocation
Compensation code starts by considering 3 regions
Current
Predecessor
Successor
Current Region
Basic blocks corresponding to the edges in an analysis unit extension
Predecessor Region
Basic blocks not in the current region, and their predecessors in current region
Successor Region
Basic blocks not in the current region and their successors in the current region