CS 201
Compiler Construction

Instructor:     Rajiv Gupta
Office:     408 WCH
Telephone:     951-827-2558
Email:     gupta@cs.ucr.edu
Office Hours:     2:00pm - 4:00pm, Friday or by appointment

Project Grader:     Arash Alavi
Office:     463 WCH
Email:     aalav003@ucr.edu
Office Hours:     2:00pm - 3:00pm, Monday-Wednesday or by appointment.

Class Meeting Times:     WCH 142, 4:10PM - 5:00PM, Monday-Wednesday-Friday
Class Homepage:     http://www.cs.ucr.edu/~gupta/teaching/201-18/

Lecture Schedule and Notes


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 (e.g., 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.


Reference books

Course Requirements