CS980-01
Project Assignment 4
Fall 2007
Due Monday November 5


Calculate the live ranges for all virtual registers. This requires that an iterative data-flow algorithm be executed upon the control flow graph. Analyze each function in the input program independently. Integrate this code with your code from the last assignment.

See Cooper and Torczon 13.4.1 for a discussion of liveness and live ranges, and 9.2.1 for a discussion of using iterative data-flow analysis to find live variables.

For grading purposes please extend your dump of the control-flow graph from the last assignment. As you are displaying each instruction in a basic block, annotate it with the set of virtual registers that are live immediately prior to the instruction. As a special case, also display the set of virtual registers that are live upon exit to each basic block.

You should work independently on this assignment.

To submit this assignment you should tar and gzip up both your latest version of pcc3 and your program for building control flow graphs and calculating live ranges. E-mail me the resulting file. Please include a README file that explains how to execute your assignment 4 programs.

This assignment is due at 1:30pm on Monday November 5. However, these is a two-day grace period that ends at 1:30pm on Wednesday November 7. No assignments may be submitted after this time without my prior approval.


Last modified on October 22, 2007.

Comments and questions should be directed to hatcher@unh.edu