Schedule
Week | Date | Lecture Topics | Due Dates |
---|---|---|---|
1 | 1/9 | Introduction; Scanners | |
1/11 | Top-Down Parsing | ||
2 | 1/16 | No class: MLK Day | |
1/18 | Bottom-Up Parsing and Semantic Analysis Basics | PS1: 1/20 @ 11:59PM | |
3 | 1/23 | Paper Discussion 1 - "Making Compiler Design Relevant" | |
1/25 | Examples of Compilers | PA1: 1/27 @ 11:59PM | |
4 | 1/30 | Attribute Grammars | |
2/1 | IR; LLVM IR; Generating Control Flow | PS2: 2/3 @ 11:59PM | |
5 | 2/6 | Paper Discussion 2 - "LLVM" | |
2/8 | Arrays, Strings, Memory Layout/Usage; Procedures and Calling Conventions | PA2: 2/10 @ 11:59PM | |
6 | 2/13 | Paper Discussion 3 - "A Simple Graph-Based IR" | |
2/15 | Midterm Exam Review | ||
7 | 2/20 | No class: President's Day | |
2/22 | Midterm Exam (Written; In person) | ||
8 | 2/27 | Dominators and Data-flow Analysis | |
3/1 | Simple and Efficient Construction of SSA | PA3: 3/3 @ 11:59PM | |
9 | 3/6 | Paper Discussion 4 - "Tree SSA" | |
3/8 | Building SSA Form (Cytron Algorithm) | PS3: 3/10 @ 11:59PM | |
3/13 | Spring Break | ||
3/15 | Spring Break | ||
10 | 3/20 | Introduction to Optimizations; Code Motion; Writing LLVM Optimization Passes; Instruction Selection | |
3/22 | No class: (At Conference) | PA4: 3/24 @ 11:59PM | |
11 | 3/27 | SIMD and Auto-Vectorization | |
3/29 | Global Register Allocation | PS4: 3/31 @ 11:59PM | |
12 | 4/3 | Paper Discussion 5 - "Linear Scan Register Allocation" | |
4/5 | Instruction Scheduling | PA5: 4/7 @ 11:59PM | |
13 | 4/10 | Deconstruction of SSA; Basics of Static Analysis | |
4/12 | Dynamic Binary Instrumentation | PS5: 4/14 @ 11:59PM | |
14 | 4/17 | Paper Discussion 6 - "Valgrind" | |
4/19 | Interprocedural Analysis; Pointer Aliasing; OpenMP and Compiling OpenMP | ||
15 | 4/24 | Guest Lecture: ARM, MLIR, and Tensor Operator Set Architecture | |
4/26 | Final Exam Review | PA6: 4/28 @ 11:59PM | |
Final Exam (Written; In person) |
For due dates, “PS” is a Problem Set and “PA” is a Programming Assignment. Paper discussions (highlighted in purple) will require reading a paper and answering questions prior to class on Gradescope.
Final Exam Schedule
According to the official final exam schedule:
Section | Professor | Date | Time |
---|---|---|---|
32070 | Sanjay Madhav | Wednesday, May 3 | 4:30 - 6:30PM |