COMP 512: Advanced Compiler Construction

Professor Keith D. Cooper
Department of Computer Science
Rice University
Houston, Texas, USA
Spring 2011: Room 1042 Duncan Hall Monday, Wednesday, Friday, 10am


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 on the Rice Only readings page; others will require you to visit the ACM Digital Library or the university's library.

Finally, you can often find 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, and 2-up version
  2. Experience Paper: The Fortran H Compiler, and, 2-up version
  3. Overview of the Lab and Overview of SSA Form, and its 2-up version
  4. Elimination of Useless Code (2-up version),   Control-flow Cleanup (2-up version),   as well as Unreachable Code
  5. Code Motion of Control Structures, and 2-up version
  6. Register Promotion in C Programs, and 2-up version
  7. Algebraic Reassociation of Expressions, and 2-up version
  8. Algebraic Reassociation, Revisited, and 2-up version
  9. Terminology, Principles, & Concerns, I, and 2-up version
  10. Terminology, Principles, & Concerns, II and 2-up version
  11. Inline Substitution, and 2-up version, as an example of an interprocedural transformation
  12. Order from Chaos: the Comp 512 Taxonomy, and 2-up version
  13. Introduction to Iterative Data-Flow Analysis, and 2-up version       (2 lectures)
  14. More Iterative Data-Flow Analysis, and 2-up version
  15. Static Single Assignment Form, I, and 2-up version
  16. Static Single Assignment Form, II, and 2-up version
  17. Static Single Assignment Form, III, 2-up version      (Out-of-SSA Translation and Sparse Simple Constant Propagation)
  18. Sparse Conditional Constant Propagation, and 2-up version
  19. Profile-Guided Code Positioning, and 2-up version
  20. Allen-Cocke Interval Analysis, and 2-up version
  21. Tim Harvey presented a three lecture series on global register allocation

  22. Lazy Code Motion, and 2-up version         (2 lectures)
  23. Partitioning to Find Global Congruences, and 2-up version         (more redundancy elimination)
  24. Operator Strength Reduction, and 2-up version
  25. Optimizing for Reduced Code Space, and 2-up version
  26. Interprocedural Analysis and Optimization, and 2-up version     (3 lectures)
  27. Dynamic Compilation in an OOL: The Deutsch-Schiffman Smalltalk-80 Implementation, and 2-up version
  28. Dynamic Optimization and 2-up version
  29. Challenges in Scalar Optimization, and 2-up version

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