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