Register Allocation 275
Exercise 7.10. Repeat the example register allocation performed by hand in Section 7.4.3
but where R = 2; that is, where we have two physical registers to work with.
Exercise 7.11. Implement Algorithm 7.9 for performing graph coloring register allocation
on our LIR.
Exercise 7.12. Modify the coalesceRegistersSuccessful() method to make use of the more
conservative [Briggs et al., 1994] condition for identifying registers that may be coalesced.
Exercise 7.13. Modify the coalesceRegistersSuccessful() method to make use of the more
conservative [George and Appel, 1996] condition for identifying registers that may be coa-
lesced.
Exercise 7.14. Compare the run-time speed of your linear scan register allocator and your
graph coloring ...