| Date | Day | Lecture | Topic | Readings | Handouts | Due |
| Foundations | ||||||
| Aug 24 | Wed | 1 | Introduction |   | Syllabus |   |
| Aug 29 | Mon | 2 | Undergrad Compilers in a Day | LLVM | Assignment 1 | Assignment 0 |
| Aug 31 | Wed | 3 | Control Flow Analysis | Feedback-directed optimization |   |   |
| Sep 5 | Mon |   | Labor Day | |||
| Sep 7 | Wed | 4 | Data Flow Analysis |   |   | Assignment 1 |
| Sep 12 | Mon | 5 | Generalizing Dataflow Analysis | Bitwidth Analysis | Assignment 2 |   |
| Sep 14 | Wed | 6 | Lattice Theoretic Foundation for DFA | DFA handout |   |   |
| Sep 19 | Mon | 7 | Static Single Assignment form |   |   |   |
| Sep 21 | Wed | 8 | Reuse Optimizations |   |   |   |
| Sep 26 | Mon | 9 | Reuse Optimizations II |   |   | Assignment 2 |
| Interprocedural Analysis | ||||||
| Sep 28 | Wed | 10 | Introduction to Alias Analysis |   |   |   |
| Oct 3 | Mon | 11 | Intro to Interprocedural Analysis |   |   |   |
| Oct 5 | Wed | 12 | Flow-Insensitive Pointer Analysis | Location Equivalence |   |   |
| Oct 10 | Mon | 13 | Context-Sensitive Pointer Analysis |   |   |   |
| Oct 12 | Wed | 14 | Adaptive Pointer Analysis |   | Hind Paper |   |
| Oct 17 | Mon | 15 | Domain-Specific Analysis |   |   |   |
| Oct 19 | Wed | 16 | Class cancelled |   | Course Projects |   |
| Oct 24 | Mon | 17 | Flow-Sensitive Pointer Analysis |   |   |   |
| Modern Uses | ||||||
| Oct 26 | Wed | 18 | Dynamic Compilation |   |   |   |
| Oct 31 | Mon | 19 | Program Slicing |   |   |   |
| Nov 2 | Wed | 20 | Compiling Object-Oriented Languages |   | Arnold paper |   |
| Nov 7 | Mon | 21 | Code and Data Reorganization |   |   |   |
| Nov 9 | Wed | 22 | Field Analysis |   |   |   |
| Traditional Uses | ||||||
| Nov 14 | Mon | 23 | Register Allocation |   |   |   |
| Nov 16 | Wed | 24 | More Register Allocation |   |   |   |
| Nov 21 | Mon | 25 | Compiling for Parallelism and Locality | Loop optimizations |   |   |
| Nov 23 | Wed | 26 | No class |   |   |   |
| Nov 28 | Mon | 27 | Loop Transformations |   |   |   |
| Nov 30 | Wed | 28 |   |   |   |   |