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) |
|