Date
|
Topic
|
Readings
|
Lab
|
Assignment due
|
Other
|
M |
Apr 2 |
Intro, What is a compiler? |
|
|
|
|
W |
4 |
register indirect, representing instructions |
|
|
|
|
F |
6 |
let bindings, using the stack |
|
Lab 1
|
|
|
M |
9 |
Let, A-Normal Form |
|
|
|
|
W |
11 |
multiplication & division in assembly, conditionals |
|
|
|
|
F |
13 |
calling functions in assembly |
|
|
|
|
M |
16 |
Type Checking |
|
|
|
|
W |
18 |
Extending type-checking and ANF for functions |
|
|
Assignment 1 due
|
|
F |
20 |
Lambda Lifting, Static Single-Assignment form |
|
|
|
|
M |
23 |
Scope, Letrec |
|
|
|
|
W |
25 |
Basic block conversion |
|
|
|
|
F |
27 |
Debugging tools: lldb, objdump |
|
|
|
|
M |
30 |
extended basic-block example |
|
|
|
|
W |
May 2 |
Lifting, Struct overview |
|
|
|
|
F |
4 |
Struct type-checking |
|
|
Assignment 2 due
|
|
M |
7 |
While loops |
|
|
|
|
W |
9 |
Closure Conversion |
|
|
|
|
F |
11 |
Register Allocation I |
|
|
|
|
M |
14 |
Register Allocation II |
|
|
|
|
W |
16 |
Optimization Overview |
|
|
|
|
F |
18 |
Q & A |
|
|
|
|
M |
21 |
TBA |
|
|
|
|
W |
23 |
TBA |
|
|
|
|
F |
25 |
Demos |
|
|
Assignment 3 due
|
|
M |
28 |
SSA I |
|
|
|
|
W |
30 |
SSA II |
|
|
|
|
F |
Jun 1 |
Tail-calling |
|
|
|
|
M |
4 |
Review of IR, Translation |
|
|
|
|
W |
6 |
Review of Type-checking, ANF, code generation |
|
|
|
|
F |
8 |
Review of Closure Conversion |
|
|
|
|
T |
12 |
|
|
|
Assignment 4 due
|
|