COMP 512: Advanced Compiler Construction
Professor Keith D. Cooper
Department of Computer Science
Rice University
Houston, Texas, USA
Spring 2015: Duncan Hall 1042, Tuesday & Thursday, 10:50 AM
Course Syllabus

This page contains both the PDF format copies of the lecture notes, and a lecture-by-lecture bibliography for the class. Some of the reading materials are available by direct link; others will require you to visit the ACM Digital Library or the university's library.
Note: if you visit the ACM Digital Library from the campus network, you should be able to download the papers under Rice's subscription.

Finally, you can find most of the papers on Google Scholar. Look up the paper by author or title, then check to see if it has a copy of the actual document.

Announcements


Lecture Notes

  1. Introduction to Optimization
  2. Overview of Optimization, 1
  3. Overview of Optimization, 2 Superlocal Value Numbering and Global Common Subexpression Elimination

  4. Overview of Optimization, 3, Available expressions and a Deeper Look at Iterative Data-Flow Analysis

  5. Overview of Optimization, 4, Global and Interprocedural Issues
  6. Classic Optimizing Compilers: Fortran H and PL.8
  7. The Big Picture, plus information on the lab
  8. Proliferation of Data-Flow Problems, from Dominators to Reaching Definitions
  9. Construction of Static Single-Assignment Form
  10. Example Optimizations that Use SSA
  11. Code Motion: Preliminaries and a Simple Algorithm
  12. Lazy Code Motion
  13. Translation Out of SSA Form
  14. Operator Strength Reduction, General Introductory Material and the Cocke-Kennedy Algorithm

  15. Operator Strength Reduction, the Vick-Simpson Algorithm

  16. Algebraic Reassociation of Expressions

  17. Advice on the Lab, or "What would I do at this point in the semester?"

  18. Algebraic Reassociation, Revisited

  19. Global Register Allocation Via Graph Coloring, with an emphasis on the Chaitin-Briggs Allocators

  20. Register Allocation via Graph Coloring: Beyond Chaitin-Briggs

  21. Lessons from 15 Years Work on Adaptive Compilation

  22. The Swift Java Compiler

  23. The Deutsch-Schiffman Smalltalk-80 Implementation

  24. Runtime Optimization in Dynamo

This site is maintained by Keith D. Cooper.
He is a terrible e-mail correspondent.