| Date | Topic | Reading | Handouts |
| Foundations | |||
| 7 Sept (R) | Introduction (PDF) | [Sites93] | |
| 12 Sept (T) | Undergrad compilers in a day! (PDF) | ||
| 14 Sept (R) | Control-flow analysis (PDF) | ||
| 19 Sept (T) | Discussion | [Sites93] | |
| 21 Sept (R) | Data-flow analysis (PDF) | ||
| 26 Sept (T) | Generalizing data-flow analysis (PDF) | DFA handout | |
| 28 Sept (R) | Lattice Theoretic Framework for DFA (PDF) | ||
| 3 Oct (T) | Static Single Assignment Form (PDF) | [Wegman91] | |
| 5 Oct (R) | Reuse optimization I (PDF) | ||
| 10 Oct (T) | Discussion | [Wegman91] | |
| 12 Oct (R) | Class cancelled (instructor travel) | ||
| 17 Oct (T) | Reuse optimization II (PDF) | ||
| 19 Oct (R) | Class cancelled (instructor travel) | ||
| 24 Oct (T) | Autumn Break | ||
| 26 Oct (R) | Alias analysis (PDF) | ||
| 31 Oct (T) | Interprocedural analysis (PDF) | ||
| 2 Nov (R) | Flow-insensitive pointer analysis (PDF) | ||
| 7 Nov (T) | Class cancelled | ||
| 9 Nov (R) | Context-sensitive pointer analysis (PDF) | ||
| 14 Nov (T) | Program slicing (PDF) | ||
| 16 Nov (R) | Compiling Object-Oriented Languages (PDF) | [Arnold05] | |
| 21 Nov (T) | Code and Data Reorganization (PDF) | ||
| 23 Nov (R) | Thanksgiving Break | ||
| 28 Nov (T) | Field Analysis (PDF) | ||
| 30 Nov (R) | Discussion | [Arnold05] | |
| 5 Dec (T) | Register Allocation (PDF) | ||
| 7 Dec (R) | More Register Allocation (PDF) | ||
These slides were prepared in collaboration with Calvin Lin at the University of Texas.