CS 553: Class Schedule (Fall 2006)

Click on a lecture to get the slides. All project and homework files are in PDF format. Downloading the readings must be done from the csu domain. Each reading should be finished before the lecture with which it appears in the table.

Date Topic Reading Handouts Due
Aug 21 (M)  Introduction (PDF)   Ch. 1  Syllabus and Project 0  
Aug 23 (W)  Scanning, Parsing, ASTs, and SableCC (PDF)   SableCC-Etienne's Thesis    
Aug 25 (F)  Undergrad compilers review (PDF)  skim Ch 2-6    
Aug 28 (M)  Intro to MiniJava Compiler (PDF)  skim Ch 7-9, 12    
Low-Level Topics
Aug 30 (W)  CFG and Liveness (PDF)   Ch 10    
Sept 1 (F)  Register Allocation I (PDF)   Ch 11    Project 1
Sept 4 (M)  Labor Day -- No Class
Sept 6 (W)  Register Allocation II (PDF)   [Briggs]    
Sept 8 (F)  Register Allocation III (PDF)      
Sept 11 (M)  Instruction Scheduling I (PDF)  [Gibbons & Muchnick 1986>]    
Sept 13 (W)  Instruction Scheduling II (PDF)  Ch 20  DFA handout  
Data-Flow Analysis, Control-Flow Analysis, and Optimizations
Sept 15 (F)  Data-Flow Analysis (PDF)  Ch 17 thru 17.2    
Sept 18 (M)  Lattice Framework for Data-Flow Analysis (PDF)  DFA handout    
Sept 20 (W)  Lattice Framework for Data-Flow Analysis cont ...      
Sept 22 (F)  Optimizations using Data-Flow Analysis (PDF)  Ch 17.3    
Sept 25 (M)  Speeding Up Data-Flow Analysis (PDF)  Ch 17.4 and Ch 18 intro    
Sept 27 (W)  Control-Flow, Loops, and Dominators (PDF)  Ch 18.1    
Sept 29 (F)  Loop Invariant Code Motion (PDF)  Ch 18.2    Project 2
Oct 2 (M)  Induction Variable Detection (PDF)  Ch 18.3    
Static Single Assignment
Oct 4 (W)  SSA (PDF)  Ch 19-19.2    
Oct 7 (F)  At Conference -- No Class
Oct 9 (M)  More SSA (PDF)  Ch. 19.6    HW1 (answers)
Oct 11 (W)  Using SSA for Optimization (PDF)      
Oct 13 (F)  Value Numbering (PDF)  Ch 17.4 and [Alpern and Zadeck 1992]    
Oct 16 (M)  Midterm Review      HW2 (answers)
Oct 18 (W)  Midterm Exam (in class)
Advanced Analysis and Optimization
Oct 20 (F)  Pointer and Alias Analysis I (PDF)  Ch 17.5 and 19.4    
Oct 23 (M)  Interprocedural Analysis (PDF)  [Emami 94]    
Oct 25 (W)  Class canceled      
Oct 27 (F)  Flow and Context Insensitive Alias Analysis(PDF)      
Oct 30(M)  Context-sensitive Alias Analysis (PDF)      
Nov 1 (W)  Profile-guided Optimization (PDF)      
Nov 3 (F)  Dynamic compilation (PDF)      
OOP and GC
Nov 6 (M)  Compiling OO languages (PDF)  Ch 14    Project 3
Nov 8 (W)  Garbage collection (PDF)   Garbage Collection Basics, Ch 13    
Nov 10 (F)  Implementing Garbage Collection      
Parallelism and Locality
Nov 13 (M)  Parallelism and Locality (PDF)  Ch 21    
Nov 15 (W)  Array Data Dependence Analysis (PDF)  [PaduaWolfe96]    
Nov 17 (F)  Loop transformations      
Nov 20 (M)  Fall Recess -- No Class
Nov 22 (W)  Fall Recess -- No Class
Nov 24 (F)  Fall Recess -- No Class
Nov 27 (M)  Transformation Frameworks I (PDF)      
Nov 29 (W)  Transformation Frameworks II (PDF)      
Dec 1 (F)  Transformation Frameworks cont...      Project 4
Dec 4 (M)  Tiling (PDF)  [LamWolf91]    
Emerging Topics
Dec 6 (W)  Beyond optimization - Bug Detection (PDF)      
Dec 8 (F)  Wrap up (PDF)      (HW3)
Dec 14 (R)  Final Exam (9:10-11:10am)

A number of these slides originated from a collaboration between Calvin Lin at the University of Texas and E Christopher Lewis at the University of Pennsylvania. They have been modified with their permission.

Michelle Strout
Last modified: December 8, 2006