Course Literature

Hpc
This page lists papers and books about the construction of optimizing compilers.

Stratego

Articles about transformation techniques

  • Stratego:ScopedDynamicRewriteRules
  • Stratego:SourceToSourceConstantPropagation
  • Stratego:RewritingStrategiesForInstructionSelection
  • Stratego:ImplementationOfInliningInStratego
  • Stratego:BuildingInterpretersWithRewritingStrategies
  • Stratego:MetaProgrammingWithConcreteObjectSyntax

General resources for Stratego and Tiger

  • Stratego:WebHome documentation of Stratego
  • Tiger:WebHome documentation of the Tiger in Stratego project
  • Tools:WebHome - information about the XT bundle of program transformation tools

MIPS

The Tiger compiler translates to MIPS assembly code that can be simulated using the SPIM simulator. Here are some resources:

Optimizing compilers

You can consult the following books to learn about loop optimization.

Allen, Randy, Kennedy, Ken, Optimizing Compilers for Modern Architectures: A Dependence-based Approach, Morgan Kauffman, 2001.

We will read chapters 1 to 6 of this book.

Online supplement at http://www.mkp.com/ocma

See OCMA


Appel, Andrew W., Modern Compiler Implementation in C, Cambridge Univ. Press, 1998.

This book gives an overview of all the phases of an optimizing compiler. The book introduces the Tiger language and the compiler for that language is the basic case study for the book. In this course we use a compiler for Tiger implemented in Stratego. The assignment for the course is to extend this compiler with loop optimizations.

The Appendix provides a reference manual for the Tiger language. Chapter 18 treats loop optimizations.


Muchnick, Steve S. Advanced Compiler Design and Implementation, Morgan Kaufmann Publishers Inc., 1997.

This book treats a wide range of optimizations for imperative programs by means of (pseudo-code) algorithms. Chapter 14 treats loop optimization algorithms.


Aho, Alfred V., Sethi, Ravi and Ullman, Jeffrey D., Compilers: Principles, Techniques and Tools, Addison-Wesley: Reading, MA, 1985.

Classic compiler construction textbook.


-- EelcoVisser - 01 Sep 2002