Lecture (Tenative Outline)
|
Slides
|
Papers / Resources / Notes
|
2/10 Course Overview
|
Slides (PPT)
|
|
2/12 Overview of Compilers and JikesRVM
|
Slides (PPT)
|
Read Compiler Wikipedia Page
and JikesRVM (formerly known as Jalapeno) Paper.
|
2/15 Control Flow and Project Ideas
|
Slides (PPT)
|
Read the following Wikipedia pages (section)
Graph Theory (Basics)
Basic Blocks
Control Flow Graphs
|
2/17 More Control Flow
|
Slides (PPT)
|
Read the following Wikipedia page (section)
Graph Theory (Dominance)
|
2/22 Data Flow
|
Slides (PPT)
|
T.J. Marlowe and B.G. Ryder Properties of Data Flow Frameworks, pp. 121-163, ACTA Informatica, 28, 1990. Paper Here
|
2/24 More Data Flow and JikesRVM Overview
|
TA Slides (PPT)
Slides (PPT)
|
T.J. Marlowe and B.G. Ryder Properties of Data Flow Frameworks, pp. 121-163, ACTA Informatica, 28, 1990. Paper Here
|
3/01 Yet More Data Flow
|
Slides (PPT)
|
Compilers: Principles, Techniques, & Tools. 2nd edition (Dragon Book),
Chapter 9, Sections 9.2,9.3,9.4
|
3/03 Finish up Data Flow and Intelligent Compilation
|
Slides (PPT)
Slides (PPT)
|
Compilers: Principles, Techniques, & Tools. 2nd edition (Dragon Book),
Chapter 9, Sections 9.2,9.3, 9.4 and
Intelligent Compilation Paper
|
3/08 Static Single Assignment I
|
Slides (PPT)
|
Efficiently computing static single assignment form and the control dependence graph, Cytron et al.
Paper Here
|
3/10 Static Single Assignment II
|
Slides (PPT)
Slides (PPT)
|
Engineering a Compiler, Chap. 9 (Sections on SSA)
|
3/15 Static Single Assignment III
|
Slides (PPT)
|
Engineering a Compiler, Chap. 9 (Sections on SSA)
|
3/17 Dynamic Compilation
|
Slides (PPT)
|
Adaptive optimization in the Jalapeno JVM, Arnold et al. Paper HERE
|
3/22 Feedback Directed Optimization
|
Slides (PPT)
|
Adaptive optimization in the Jalapeno JVM, Arnold et al. Paper HERE
|
3/24 Predictive Modeling for Polyhedral Optimizations
|
Slides (PPT)
|
|
3/29 and 3/31 Spring Break
|
|
|
4/05 Midterm
|
|
|
4/07 Auto-realignment of Data Structures (Ben Perry)
|
Slides (PPT)
|
|
4/19 Register Allocation I
|
Slides (PPT)
|
Read the following Wikipedia pages (section)
Register Allocation
|
4/21 Instruction Scheduling I
|
Slides (PPT)
|
Read the following Wikipedia pages (section)
Instruction Scheduling
|
4/26 Global Instruction Scheduling (Ben Perry)
|
Slides (PPT)
|
|
4/28 The Phase-Ordering Problem (Sameer Kulkarni)
|
Slides (PPT)
|
|
5/03 Loop Transformations I
|
Slides (PPT)
|
Read the following Wikipedia pages (section)
Loop Optimizations
|
5/05 Inlining
|
Slides (PPT)
|
|
Class Resources:
Class Project
|