Building an Optimizing Compiler
- 1st Edition - February 4, 1998
- Latest edition
- Author: Bob Morgan
- Language: English
Compiler courses have been an academic mainstay in both undergraduate and graduate computer science departments. These courses emphasize either the implementation of languages or… Read more
Purchase options
Compiler courses have been an academic mainstay in both undergraduate and graduate computer science departments. These courses emphasize either the implementation of languages or parallel processing. Little analysis is presented for generating excellent code for a language on a single processor.
Building an Optimizing Compiler addresses this gap. It provides a high level design for a thorough optimizer, code generator, scheduler and register allocator for a generic modern RISC processor. In the process it addresses the small issues that have a long impact on the implementation.
The book approaches this subject from a practical viewpoint. Theory is introduced where intuitive arguments are insufficient, however the theory is described in practical terms. A single running example is used throughout the book to illustrate the compilation process.
Building an Optimizing Compiler addresses this gap. It provides a high level design for a thorough optimizer, code generator, scheduler and register allocator for a generic modern RISC processor. In the process it addresses the small issues that have a long impact on the implementation.
The book approaches this subject from a practical viewpoint. Theory is introduced where intuitive arguments are insufficient, however the theory is described in practical terms. A single running example is used throughout the book to illustrate the compilation process.
· Provides a complete theory for Static Single Aassignment Methods and partial redundancy methods for code optimization
· Provides a new generatization of register allocation techniques
· Techniques described are applicable to most programming languages for PCs, workstations or servers
· Provides a new generatization of register allocation techniques
· Techniques described are applicable to most programming languages for PCs, workstations or servers
Master-level computer science students; programmers
Overview; Compiler Structure; Graphs; Flow Graph; Local Optimization; Alias Analysis; Static Single Assignment; Dominator-Based Optimization; Advanced Techniques; Global Optimization; Limiting Resources; Scheduling and Rescheduling; Register Allocation; Object Module; Conclusions
- Edition: 1
- Latest edition
- Published: February 4, 1998
- Language: English
BM
Bob Morgan
Affiliations and expertise
Technology Program Manager for the Core Technology Group, Digital Equipment Company