This page lists papers and books about the construction of optimizing compilers.
Articles about transformation techniques
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
The Tiger compiler translates to MIPS assembly code that can be simulated using the SPIM simulator. Here are some resources:
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
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.
- 01 Sep 2002