Computer Science 253 -- Homework #3

Due: Thursday, April 7, 2005 before class

In this assignment you'll build a dead-code elimination pass along the lines of the algorithm handed out in class. Actually, you'll build two versions of it, one using a reaching-definitions analyzer like the one in homework #2, and the other using SSA form. Both versions will use facilities of Machine SUIF's CFG and CFA (control flow analysis) libraries.

The object of the exercise is to gain experience with an important optimizing transformation and to compare classical data-flow analysis against SSA form, as to both convenience and compile-time performance.

What we provide:

What to do:

Hints:

What NOT to do:

The full source tree for Machine SUIF contains code for both kinds of DCE passes. Please don't peek until after you've turned in your own versions.

What to turn in:

Please mail your completed versions the source files dce_rd.{h,cpp} and dce_ssa.{h,cpp} to Glenn before the due date/time.