Schedule
Date | Lecture Notes | Extra | Due |
|
Mon | 04/28 | Overview | Ch 1, | |
Thu | 05/01 | Instruction Selection | Ch 9 | |
|
Mon | 05/05 | Register Allocation | Ch 11 | |
Thu | 05/08 | Liveness Analysis | Ch 10 | |
|
Mon | 05/12 | Dataflow Analysis | Ch 10.1,2,17.1‑4 | Test 1 |
Thu | 05/15 | Lexical Analysis | Ch 2 | |
|
Mon | 05/19 | Context-Free Grammars | Ch 3.1-2 | Lab 1 |
Thu | 05/22 | Town-Down LL Parsing | Ch 3.3 | |
|
Mon | 05/26 | Bottom-Up LR Parsing | Ch 3.4 | Test 2 |
Thu | 05/29 | Intermediate Representation | Ch 7-8 | |
|
Mon | 06/02 | Static Single Assignment | Ch 19 | |
Thu | 06/05 | Calling Conventions | Ch 11.3 | Lab 2 |
|
Mon | 06/09 | Semantic Analysis & Specs | | Test 3 |
Thu | 06/12 | Semantic Specifications | | |
|
Mon | 06/16 | Basic Optimizations | Ch 17.2-3 | Lab 3 |
Thu | 06/19 | Low Level Virtual Machine |
LLVM
| |
|
Mon | 06/23 | Loop-invariant Code Motion | Ch 18.1-2 | Test 4 |
Thu | 06/26 | Induction Variables | Ch 18.3 | |
|
Mon | 06/30 | Array Bounds Checking | | Lab 4 |
Thu | 07/03 | Garbage Collection | Ch 13.1-3 | |
|
Mon | 07/07 | Advanced Garbage Collection | Ch 13.4-7 | |
Thu | 07/10 | Data Dependencies | | |
|
Mon | 07/14 | Loop Transformation | | |
Thu | 07/17 | Cache & Vectorization | | |
|
Mon | 07/21 | Abstract Dataflow Analysis | | |
Thu | 07/24 | Monotone Frameworks | | |
|
Mon | 07/28 | Abstract Interpretation | | |
Thu | 07/31 | More Abstract Interpretation | | |
|
TBA | TBA | | |
The lecture schedule is tentative!
Lab Schedule
| Points | Assignment | | Due |
Test 1 | 20 | Register Allocation | | Mon | 05/12 |
Lab 1 | 80 | Register Allocation | | Mon | 05/19 |
Test 2 | 20 | Loops & Conditionals | | Mon | 05/26 |
Lab 2 | 80 | Loops & Conditionals | | Thu | 06/05 |
Test 3 | 20 | Functions | | Mon | 06/09 |
Lab 3 | 80 | Functions | | Mon | 06/16 |
Test 4 | 20 | Structs & Arrays | | Mon | 06/23 |
Lab 4 | 80 | Structs & Arrays | | Mon | 06/30 |
Sum | 400 | points listed |
The Programming Lab Schedule is tentative!