| |||
About this courseTime: Tuesdays and Thursdays 10:00-11:30Place: McConnell 103 Course Outline (html) (pdf) |
PeopleLecturer - Professor Laurie HendrenTeaching assistants
|
||
Assignments and Projects
|
Special Topic Slides
|
||
Week 1: Introduction to Optimizations
September 2016
S M Tu W Th F S
4 5 6 7 8 9 10
* *
Reading: ![]() Course Outline ((html) , (pdf) ) Aho - Chapters 1 and 2 (for those with no previous compiler course) JIT compilation Brief History of Fortran - first successful HLL and compiler |
Week 2: Intermediate Reps, Control Flow Analysis
September 2016
S M Tu W Th F S
11 12 13 14 15 16 17
* *
Intermediate Representations Basic Blocks Control Flow Graphs (CFGs) Control Flow Analysis Loops and Dominators Reading: ![]() Muchnick - Chapter 4 - Intermediate Representations Control Flow Analysis Lecture Notes MATLAB and McLAB Intro Lecture Notes |
||
Week 3: Intro to Dataflow Analysis
September 2016
S M Tu W Th F S
18 19 20 12 22 23 24
* GL
Dataflow Analysis Reading: ![]() Appel - Chapter 17 - Dataflow Analysis |
Week 4: More Dataflow Analysis
September 2016
S M Tu W Th F S
25 26 27 28 29 30 31
* *
|
||
Week 5: Intro to optimizations
October 2016
S M Tu W Th F S
2 3 4 5 6 7 8
* *
More on dataflow analyses Intro. to optimizations Early optimizations Reading: ![]() Muchnick - Chapter 11 - Introduction to Optimizations Muchnick - Chapter 12 - Early Optimizations |
Week 6: Interprocedural AnalysisOctober 2016 S M Tu W Th F S 9 10 11 12 13 14 15 TM * * Thanksgiving MondayIntroduction to interprocedural analysis and optimizations Reading: ![]() Class notes Muchnick - Chapter 15 - Procedure Optimizations |
||
Week 7: Points-to Analysis
October 2016
S M Tu W Th F S
16 17 18 19 20 21 22
* *
Alias pairs vs points-to relationships Aliases due to call-by-reference Aliases due to the & operator Multi-level pointers Handling Dynamically-allocated memory Using the results of points-to analysis Reading: ![]() Context-Sensitive and Flow-SensitiveCont. Sens. Points-to Analysis (.ps)Flow-InsensitiveFast Points-to - POPL 96 (.ps)Fast Points-to - McCAT (.ps) Points-to and SPARK |
Week 8: SSA, GVN
October 2016
Su Mo Tu We Th Fr Sa
23 24 25 26 27 28 29
* *
SSA form SSA numbers Global Value Numbering Reading: ![]() Extended SSA Numbering GVN handouts for slides GVN notes for slides Appel - Chapter 19 - SSA Form |
||
Week 9: Register Allocation
November 2016
Su Mo Tu We Th Fr Sa
1 2 3 4 5
* *
Interference GraphsGraph Colouring Register Allocation Simple Instruction Scheduling Reading: ![]() Appel - Chapter 11 - Register Allocation |
Week 10: Compiling Dynamic Languages
November 2016
Su Mo Tu We Th Fr Sa
6 7 8 9 10 11 12
* *
|
||
Week 11: Special Topics
November 2016
Su Mo Tu We Th Fr Sa
13 14 15 16 17 18 19
* *
|
Week 12: Project PresentationsNovember 2016 Su Mo Tu We Th Fr Sa 20 21 22 23 24 25 26 * * |
||
Weeks 13 and 14: Project Presentations
November/December 2016
Su Mo Tu We Th Fr Sa
27 26 29 30 1 2 3
* *
|
|||
|
Maintained by Laurie J. Hendren.
Last modified Mon Sep 5 12:35:44 EDT 2016.
Compiler research projects: Soot, a Java analysis, optimization and transformation toolkit ---- abc, an AspectJ compiler. ---- McLAB, a compiler and VM toolkit for MATLAB |