Schedule
| August 22 |
Lesson 1: Welcome & Overview
|
|
|---|---|---|
| August 24 |
Performance and Measurement
(Adrian)
|
|
| August 29 |
Lesson 2: Representing Programs
|
|
| August 31 |
Lesson 3: Local Analysis & Optimization
|
|
| September 5 |
Lesson 3: Local Analysis & Optimization
|
|
| September 7 |
Lesson 4: Data Flow
|
|
| September 12 |
Lesson 4: Data Flow
|
|
| September 14 |
Lesson 5: Global Analysis
|
|
| September 19 |
Profiling
(Bennett Wineholt)
|
|
| September 21 |
Lesson 6: Static Single Assignment
|
|
| September 26 |
Lesson 7: LLVM
|
|
| September 28 |
Automatic Verification
(Benjamin Carleton, Surendra Ghentiyala)
|
|
| October 3 |
Lesson 8: Loop Optimization
|
|
| October 5 |
Lesson 9: Interprocedural Analysis
|
|
| October 10 | Fall break |
|
| October 12 |
Lesson 10: Alias Analysis
|
|
| October 17 |
Alias-Based Optimization
(Kei Imada, Jan-Paul Ramos, Ryan Mao, Albert Xiao)
|
|
| October 19 |
Lesson 11: Memory Management
|
|
| October 24 |
GC & Reference Counting
(Omkar Bhalerao, Sanjit Basker, Justin Ngai, Melinda Fang)
|
|
| October 26 |
Fancy Memory Management
(Evan, Andy, Emily)
|
|
| October 31 |
Lesson 12: Dynamic Compilers
|
|
| November 2 |
Dynamic Languages
(Benny Rubin, Collin Zhang, Alice Sze)
|
|
| November 7 |
Tracing
(Vivian Ding and William Wang and Enoch Chen)
|
|
| November 9 |
Lesson 13: Program Synthesis
|
|
| November 14 |
Synthesis-Aided Compilers
(Yixiao Du and Matthew Hofmann)
|
|
| November 16 | Guest Lecture by Thierry Lavoie, Oracle |
|
| November 21 |
Lesson 14: Concurrency & Parallelism
|
|
| November 23 | Thanksgiving |
|
| November 28 |
Compiler Frameworks
(John Rubio, Arjun Shah, Jiahan Xie)
|
|
| November 30 |
Interactive Verification
(Zak, Stephen V, Ali)
|
|
| December 11 | Final project deadline (4:30pm) |
|