| Date | Topic | Reading | Assignment |
|---|---|---|---|
| August 25 | Introduction/Overview | Chapter 1 | |
| August 30 | Scanning | Chapter2 | |
| September 1 | Parsing | Chapter 3 | Frontend (due September 15) |
| September 6 | More Parsing | Chapter 3 | |
| September 8 | More Parsing | ||
| September 13 | Type Systems | Chapter 4 | |
| September 15 | TL05 Type System | Type Checker (due October 4) |
|
| September 20 | Intermediate Representations | Chapter 5 | |
| September 22 | Static Single Assignment Form | ||
| September 27 |
SSA/IR Construction | ||
| September 29 | More SSA/IR Construction | ||
| October 4 | Identifiers, Symbol Tables, and Procedures | Chapter 6 | SSA/IR Generation (due November 1) |
| October 6 | Data Storage, Lifetimes, and Scope | Chapter 7 | |
| October 11 | Bolean Values and Control Structures | ||
| October 13 | Code Optimization | Chapter 8 | |
| October 18 | Dataflow Analysis | Chapter 9 | Optimization Extra Credit (due November 1) |
| October 20 | Scalar Optimization | Chapter 10 | |
| October 25 | More Scalar Optimization | ||
| October 27 | Translating Out of SSA | ||
| November 1 |
Instruction Selection | Chapter 11 | Code Generation (due December 1) |
| November 3 | More Instruction Selection | ||
| November 8 | Instruction Scheduling | Chapter 12 | |
| November 10 | More Instruction Scheduling | ||
| November 15 | Dummy Register Allocation | Chapter 13 | Register Allocation Extra Credit (due December 1) |
| November 17 | Chaitin Register Allocation | ||
| November 22 | More Chaitin Register Allocation | TBD | |
| November 29 | Recursion and Scheme | TBD | |
| December 1 | Lambda Calculus and Recursion | TBD | |
| Dedember 12 | Final Exam / Presentations |