CS 201
Compiler Construction


Instructor: Rajiv Gupta
Office: 408 EBU II
Tele: 951-827-2558
Email: gupta@cs.ucr.edu
Instructor's Office Hours: 1:00-2:00PM, Tuesday-Thursday and by appointment

TA: Min Feng
Office: 463 EBU II
Tele: 951-827-2001
Email: mfeng@cs.ucr.edu
TA's Office Hours: 1:30-2:30PM, Monday-Wednesday and by appointment

Class Meeting Times: 11:10-12:30AM, Tuesday-Thursday, EBU II 141
Class Homepage: http://www.cs.ucr.edu/~gupta/teaching/201-09/


Lecture Schedule and Notes

Homework 1

Homework 2

Sample Homework 3

Project


Course Description

In this course we will learn about the fundamentals of program analysis (control and data flow analysis, interprocedural analysis etc.) as well as algorithms for constructing advanced intermediate program representations (SSA form, Program Dependence Graph). The above techniques and representations will be used to develop a suite of machine independent code optimizations (redundancy elimination, dead code elimination etc.). We will also consider machine dependent optimizations (e.g., instruction scheduling, register allocation) for modern processors. Finally we will consider compiler support for parallelizing applications for multicore systems.

Syllabus

Reference books


Course Requirements


Policies