CS 671 - Compilers
 Course Links:
Home
Instructor
Syllabus
Lectures
Assignments
 Useful Tools:
LexYacc
Phoenix
Jikes RVM
Pin
Prof. Kim Hazelwood
Computer Science Department
University of Virginia

Course Time: Tue/Thu 11:00-12:15 PM
Course Location: MEC 215

Office: Olsson 209
Office Hours: Mon 2PM-3PM
              (or by appointment)

Lecture slides and other materials will be available on this page (usually prior to class). However, I often leave holes in the slides that you will fill in during class.

Class Date Topic Reading Assignment Due
01 01/17 (Thu) Course Introduction and Overview Chapter 1    
02 01/22 (Tue) Lexical Analysis - Regular Expressions Chapter 3 HW1 1/31
03 01/24 (Thu) Lex Wrapup -> Intro to Parsing Chapter 4.1-4.3    
04 01/29 (Tue) Top-Down Parsing Chapter 4.4    
05 01/31 (Thu) Bottom-Up Parsing and YACC Primer Chapter 4.5-4.10    
06 02/05 (Tue) Error Correction and Semantic Analysis Chapter 6.3,6.5    
07 02/07 (Thu) Activation Records Chapter 7.1-7.4 HW2 2/15
08 02/12 (Tue) Intermediate Representations Chapter 6.1-6.3,6.6    
09 02/14 (Thu) IR CodeGen Chapter 8.6-8.9    
10 02/19 (Tue) Test Review and Instruction Selection Chapter 8.1-8.2    
11 02/21 (Thu) Test 1 - The Front End      
12 02/26 (Tue) Instruction Selection (cont) Chapter 8.3-8.5    
13 02/28 (Thu) Intro to Optimization Chapter 9.0-9.1 Project Proposal
(guidelines) (template)
3/21
14 03/11 (Tue) Data Flow Analysis Chapter 9.2    
15 03/13 (Thu) Data Flow Analysis II Chapter 9.3    
16 03/18 (Tue) Special Topic: Compiling for Core2      
17 03/20 (Thu) Static Single Assignment Chapter 6.2.4, 9.6.1    
18 03/25 (Tue) SSA Optimizations Chapter 9.4-9.7 HW3 4/1
19 03/27 (Thu) Register Allocation Chapter 8.8    
20 04/01 (Tue) Static Scheduling Chapter 10.1-10.3    
21 04/03 (Thu) Static Scheduling II      
22 04/08 (Tue) Interprocedural Optimizations      
23 04/10 (Thu) TEST 2 - The Back End      
24 04/15 (Tue) Dynamic Compilation and Modification      
25 04/17 (Thu) Special Topic: Compiling for GPUs How GPUs work    
26 04/22 (Tue) Power-Aware Compilation CPU Cooling HW4 4/29
27 04/24 (Thu) Special Topic: Code Optimization of Parallel Programs      
28 04/29 (Tue) Course Wrap-up