CSc 553
Principles of Compilation


Instructor: Rajiv Gupta

Office: Gould-Simpson Bldg., Rm. 746.
Tele: 626-2818
Email: gupta@cs.arizona.edu

Meeting Times: 10:30-11:45AM, Monday-Wednesday, GLD-S 906

Office Hours: 1:00-2:00PM, Monday-Wednesday and by appointment

Grader: Sriraman Tallam, tmsriram@cs.arizona.edu

Class Homepage: http://www.cs.arizona.edu/classes/cs553/spring07/


Lecture Schedule

Assignment 1

Assignment 2

Project

Sample Exam

Assignment 3

Assignment 4


Course Description

In this course we will begin by learning the basic code generation and register allocation techniques for RISC machines. Next we learn about flow analysis and apply it to develop algorithms for constructing intermediate program representations (e.g., SSA, PDG) and implementing a suite of machine independent code optimizations (e.g., redundancy elimination, dead code elimination). We will also study interprocedural and array analysis techniques. Finally we will look at instruction scheduling techniques for modern processors that support instruction level parallelism.

Syllabus

Reference books


Course Requirements


Policies