Schedule
| September 2 |
Lesson 1: Welcome & Overview
|
|---|---|
| September 7 |
Performance and Measurement
(Adrian)
|
| September 9 |
Lesson 2: Representing Programs
|
| September 14 |
Lesson 3: Local Analysis & Optimization
|
| September 16 |
Lesson 3: Local Analysis & Optimization
|
| September 21 |
Lesson 4: Data Flow
|
| September 23 |
Lesson 4: Data Flow
|
| September 28 |
Lesson 5: Global Analysis & SSA
|
| September 30 |
Profiling
(Ted Bauer)
|
| October 5 |
Lesson 5: Global Analysis & SSA
|
| October 7 |
Lesson 6: LLVM
|
| October 12 |
Automatic Verification
(Goktug Saatcioglu & Samwise Parkinson)
|
| October 14 |
Fall break
|
| October 19 |
Lesson 7: Loop Optimization
|
| October 21 |
Lesson 8: Interprocedural Analysis
|
| October 26 |
Lesson 9: Alias Analysis
|
| October 28 |
Alias-Based Optimization
(Kenneth Li)
|
| November 2 |
Lesson 10: Memory Management
|
| November 4 |
GC & Reference Counting
(Mark Moeller)
|
| November 9 |
Modern GC
(Patrick LaFontaine)
|
| November 11 |
Lesson 11: Dynamic Compilers
Dynamic Languages
(Evan Adler)
|
| November 16 |
Semi-Finals Study Period
|
| November 18 |
Semi-Finals
|
| November 23 |
Semi-Finals
|
| November 25 |
Thanksgiving break
|
| November 30 |
Superoptimization
(Socrates Wong)
|
| December 2 |
Synthesis-Aided Compilers
(Jie Liu)
Tracing
(Will Smith)
|
| December 7 |
Lesson 13: Concurrency & Parallelism
|
| December 9 |
Vectorization
(Ankush Rayabhari)
|
| December 14 |
Safe Parallelism
(Hanchen Jin, Xinwen Wang)
|
| December 16 |
Interactive Verification
(Priya Srikumar)
|
| December 18 |
Final project due (no class)
|