WebHome
-
Education Page
-
Description
-
Literature
-
Schedule
-
Assignments
-
Slides
Center
Master Program
Center
Home
Courses
People
Projects
Page
Edit Page
Rename Page
Attach File
Printable
Wiki Source
More ...
Web
Recent Changes
Notify Service
News
Page Index
Search
More ...
Wiki
About TWiki
Text Formatting
Registration
Change Password
Reset Password
Users
Groups
Log In
or
Register
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: * Tiger:SpimSimulator * [[http://www.compapp.dcu.ie/~ray/CA225b.html][Gentle introduction to MIPS]] * [[http://www.tardis.ed.ac.uk/~itda/docs/MIPS/AssemblyLanguageProgDoc.pdf][MIPS Assembly Language Programmer's Guide]] ----+++ Optimizing compilers You can consult the following books to learn about loop optimization. <img SRC="%ATTACHURLPATH%/AllenKennedy.jpg" BORDER=0 height=130 width=101 align=right> 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]] <br clear=all> <img SRC="%ATTACHURLPATH%/tiger.jpg" align=right> 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. <br clear=all> <img SRC="%ATTACHURLPATH%/muchnick.gif" align=right>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. <br clear=all> <img SRC="%ATTACHURLPATH%/dragon.gif" align=right> Aho, Alfred V., Sethi, Ravi and Ullman, Jeffrey D., *Compilers: Principles, Techniques and Tools*, Addison-Wesley: Reading, MA, 1985. Classic compiler construction textbook. <br clear=all> <!--- -----+++ Java * [[http://www-106.ibm.com/developerworks/library/j-javaopt/?n-j-6132][Java optimization techniques]] <br clear=all> <img SRC="%ATTACHURLPATH%/wolfe.asp" align=right>M. Wolfe, <i>High Performance Compilers for Parallel Computing</i>, Addison Wesley Longman, 1994. <br clear=all> <img SRC="%ATTACHURLPATH%/morgan.asp" align=right> <i>Building an Optimizing Compiler</i> Butterworth-Heinemann, Boston, MA, 1998. <br clear=all> --> -- Main.EelcoVisser - 01 Sep 2002