Homework 8: Register Allocation

Due Tuesday, 8 April 2008, 6 PM

Home stretch: Homework 8 is to read Chapter 11 of the text and
write code to register-allocate the assembler you produced in
Homework 6 using graph-coloring global (intra-procedural)
register allocation.

As always, stick to the module structure given by the text.
While coalescing and spilling are nominally required, they won't
account for more than 10% of the grade for this assignment. Get
the rest working first, because that last 10% is likely half the
work.

You should submit

your source code,

your sources.cm file,

a MIPS assembler listing for a program or procedure to
compute factorial, and

an ASCII text file named README that describes

the members of your team and

anything you think is of interest about your code.

If some phase of your compiler is so broken that you cannot
generate assembly code to test your register allocator on, I may
be able to provide some example assembly files for you to try.