| Aug 27 |
Overview |
Overview |
|
| Aug 29 |
Backend |
Instruction Selection (notes) |
|
| Sep 3 |
|
Register Allocation |
Teaming |
| Sep 5 |
|
Liveness Analysis |
|
| Sep 10 |
(No class) |
|
Lab 1 Tests |
| Sep 12 |
Frontend |
Lexical Analysis |
Written Homework 1 |
| Sep 17 |
|
Parsing |
Lab 1 Compiler |
| Sep 19 |
|
Parsing II |
|
| Sep 24 |
Middle |
Static Single Assignment |
Lab 2 Tests |
| Sep 26 |
|
The Middle-End (notes: Static Semantics, IR) |
Written Homework 2 |
| Oct 1 |
(No class) |
|
Lab 2 Compiler |
| Oct 3 |
|
Calling Conventions (notes) |
|
| Oct 8 |
|
Typechecking |
Lab 3 Tests |
| Oct 10 |
Extensions |
Dynamic Semantics (notes) |
Written Homework 3 (10/12) |
| Oct 15 |
|
Mutable Store (notes) |
Lab 3 Compiler |
| Oct 17 |
|
Structs (notes) |
|
| Oct 22 |
Optimization |
Dataflow Analysis |
Code review |
| Oct 24 |
|
Dataflow Analysis (Lattices & Solvers) |
Lab 4 Tests (10/25) |
| Oct 29 |
|
Dataflow Optimizations: PRE (krs92, bgs98) |
Lab 4 Checkpoint |
| Oct 31 |
|
Loops |
Written Homework 4 (11/3) |
| Nov 5 |
|
Locality 1 |
Lab 4 Compiler |
| Nov 7 |
|
Locality 2 (paper) |
|
| Nov 12 |
|
Alias Analysis (notes) |
|
| Nov 14 |
|
SSA Revisited |
Project proposal (11/17) |
| Nov 19 |
|
Guest Lecture by Yaron Minsky (Jane Street) |
Lab 5 Compiler |
| Nov 21 |
|
Scheduling |
|
| Nov 26 |
(No class) |
Project day |
Lab 5 Report |
| Nov 28 |
(No class) |
Thanksgiving |
|
| Dec 3 |
|
Guest Lecture by Frank Pfenning: Concurrent C0 |
|
| Dec 5 |
|
Compiling Multi-threaded Programs |
|
| Dec 10 |
(No class) |
Finals Week |
Lab 6 |
| Dec 12 |
(No class) |
Finals Week |
Lab 6 Report |