Skip to main content Link Search Menu Expand Document (external link)

Theme: auto

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