15-745 Spring '20
Class Handouts
Lecture Notes
- Lecture 1: Overview of Optimizations (Jan. 14)
4up,
1up
- Lecture 2: Local Optimizations (Jan. 15)
4up,
1up
- Lecture 3: The LLVM Compiler: Overview (Jan. 16)
1up
- Lecture 4: Introduction to Data Flow Analysis (Jan. 21)
4up,
1up
- Lecture 5: Foundations of Data Flow Analysis (Jan. 22)
4up,
1up
- Lecture 6: The LLVM Compiler: Further Details (Jan. 23)
1up
- Lecture 7: Global Common Subexpression Elimination, Constant Folding (Jan. 28)
4up,
1up
- Lecture 8: Intro to Static Single Assignment (Jan. 29)
4up,
1up
- Lecture 9: SSA-style Optimizations (Jan. 30)
4up,
1up
- Lecture 10: Loop Invariant Code Motion (Feb. 4)
4up,
1up
- Lecture 11: Induction Variables and Strength Reduction (Feb. 5)
4up,
1up
- Lecture 12: Partial Redundancy Elimination (Feb. 6)
4up,
1up
- Lecture 13: Lazy Code Motion (Feb. 11)
4up,
1up
- Lecture 14: Region-Based Analysis (Feb. 12)
4up,
1up
- Lecture 15: Pointer Analysis (Feb. 13)
4up,
1up
- Lecture 16: Register Allocation: Coloring and Spilling (Feb. 18)
4up,
1up
- Lecture 17: List Scheduling (Feb. 19)
4up,
1up
- Lecture 18: Global Scheduling and Software Pipelining (Feb. 20)
4up,
1up
- Lecture 19: Dynamic Code Optimization (Feb. 25)
4up,
1up
- Lecture 20: Memory Hierarchy Optimizations (Feb. 26)
4up,
1up
- Lecture 21: Optimizing Domain-Specific Languages (DSLs) (Feb. 27)
4up,
1up
- Lectures 26-27: Data Prefetching (Mar. 19 and 24)
4up,
1up
- Lecture 28: Array Dependence Analysis (Mar. 25)
4up,
1up
- Lecture 29: Thread-Level Speculation (Mar. 26)
4up,
1up
Lecture Recordings
Back to CS745 home page.