Introduction to Optimizing Compilers

Markus Mock (1)

e-mails: mock@cs.pitt.edu

(1) Dept. of Computer Science - University of Pittsburgh Estados Unidos

Abstract

In the last couple of years program optimization by compilers has become crucially important to achieving top system performance. There are two main reasons. First, increasingly programs are written in languages that provide higher levels of abstraction to programmers (with obvious software engineering benefits) but require smarter compilers to be efficiently executed (e.g. Java just-in-time compilers). Second, to achieve excellent performance on modern computer architectures and memory hierarchies, a tight cooperation between compiler and computer architecture is required to achieve good performance. Driven by these two demands, compilers have made great improvements in the past two decades, so that frequently optimized programs run several times as fast as unoptimized ones.

In this tutorial we will cover the basic techniques and approaches underlying this tremendous progress and will also learn about the most important and crucial optimizations performed by optimizing compilers today. After a short review of basic compiler structure and techniques (lexical and syntax analysis) the major part of the tutorial will focus on the analyses (data and control flow analysis), program representations, and transformations performed by optimizing compilers. The tutorial should enable the participants to both integrate the advanced compiler material into their curricula and to write their own optimizing compilers. Programmers in general will also benefit by better understanding what an optimizing compiler can and cannot do, and how to cooperate with it to achieve fast programs.

I Preliminaries

II Optimizing Compiler Technology

III Advanced Topics

Keywords:compilers, program optimization, program analysis, code generation

Biografía/Biography

Dr. Mock is assistant professor in the Department of Computer Science at the University of Pittsburgh. He received his M.S. and Ph.D. degrees from the University of Washington, Seattle (in 1997 and 2002, respectively). His research interests are compilers, program analysis, and optimization. In particular, his research focuses on applications of run-time information in compilation, program optimization and software tools. Dr. Mock is a member of ACM, IEEE Computer Society, the German Computer Society (GI), and the Peruvian Computer Society (SPC).


BibTex

@INPROCEEDINGS{mock04:1004,
                  AUTHOR       = {Markus Mock},
                  TITLE        = {Introduction to Optimizing Compilers},
                  BOOKTITLE    = {30ma Conferencia Latinoamericana de Informática (CLEI2004)},
                  YEAR         = {2004},
                  editor       = {Mauricio Solar and David Fernández-Baca and Ernesto Cuadros-Vargas},
                  pages        = {5--6},
                  address      = {},
                  month        = Sep,
                  organization = {Sociedad Peruana de Computación},
                  note         = {ISBN 9972-9876-2-0},
}

PDF de CLEI2004 (incluye todos los artículos)
Página principal CLEI 2004
Generado por Sociedad Peruana de Computación