�Focuses on the back end of the compilerreflecting the focus of
research and development over the last decade.
�Uses the well-developed theory from scanning and parsing to
introduce concepts that play a critical role in optimization and
code generation.
�Introduces the student to optimization through data-flow analysis,
SSA form, and a selection of scalar optimizations.
�Builds on this background to teach modern methods in code
generation: instruction selection, instruction scheduling, and
register allocation.
�Presents examples in several different programming languages in
order to best illustrate the concept.
�Provides end-of-chapter exercises, with on-line solutions
available to instructors.
Overview of Compilation; Scanning; Parsing; Context-Sensitive Analysis; Intermediate Representations; Procedure Abstraction; Code Shape; Introduction to Code Optimization; Data-Flow Analysis; Transformations; Instruction Selection; Instruction Scheduling; Register Allocation; Appendix A: ILOC; Appendix B: Data Structures; Appendix C: Abbreviations, Acronyms, and Glossary
Dr. Cooper Ph.D., Professor, Dept. of Computer Science at Rice University, is the leader of the Massively Scalar Compiler Project at Rice, which investigates issues relating to optimization and code generation for modern machines. He is also a member of the Center for High Performance Software Research, the Computer and Information Technology Institute, and the Center for Multimedia Communication -- all at Rice. He teaches courses in Compiler Construction at the undergraduate and graduate level. Linda Torczon is a principal investigator on the Massively Scalar Compiler Project at Rice University, and the Grid Application Development Software Project sponsored by the next Generation Software program of the National Science Foundation. She also serves as the executive director of HiPerSoft and of the Los Alamos Computer Science Institute. Her research interests include code generation, interprocedural dataflow analysis and optimization, and programming environments.
“Keith Cooper and Linda Torczon are leading compilers researchers
who have also built several state-of-the-art compilers. This book
adeptly spans both worlds, by explaining both time-tested
techniques and new algorithms, and by providing practical advice on
engineering and constructing a compiler. Engineering a Compiler is
a rich survey and exposition of the important techniques necessary
to build a modern compiler. --Jim Larus, Microsoft Research
“A wonderful introduction to the theory, practice, and lore of
modern compilers. Cooper and Torczon convey the simple joys of this
subject that follow from the elegant interplay between compilation
and the rest of computer science. If you're looking for an
end-to-end tour of compiler construction annotated with a broad
range of practical experiences, this is the book. --Michael D.
Smith, Harvard University
“Modern compilers have played critical roles in areas such as
software development tools, application performance, and processor
design. This book has done an excellent job of illustrating various
state-of-the-art technologies for an advanced compiler, in
particular, optimization and code generation, the core of modern
compilers. Compilers have evolved into complicated software and
what makes a good compiler largely lies in the wisdom of
engineering during design and development. The readers of this book
can certainly learn how to construct a modern compiler with various
engineering trade-offs. --Roy Ju, Senior Researcher,
Microprocessor Research Labs, Intel Corp.
“As researchers, the authors have made major contributions to the
literature and as teachers, they have produced leaders in the
field. The combination is reflected in a book that is rich with the
insight of great research and written with the clarity of
experienced teachers. The result is an outstanding text. --Steve
Blackburn, The Australian National University
Ask a Question About this Product More... |