Sell Back Your Copy
For a $2.75 Gift Card
Trade in
Have one to sell? Sell yours here
Building an Optimizing Compiler
 
 
Tell the Publisher!
I'd like to read this book on Kindle

Don't have a Kindle? Get your Kindle here, or download a FREE Kindle Reading App.

Building an Optimizing Compiler [Paperback]

Bob Morgan (Author)
5.0 out of 5 stars  See all reviews (2 customer reviews)


Available from these sellers.


Formats

Amazon Price New from Used from
Hardcover, Import --  
Paperback --  

Book Description

January 12, 1998
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.


· 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

Editorial Reviews

From the Publisher

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.

About the Author

Technology Program Manager for the Core Technology Group, Digital Equipment Company

Product Details

  • Paperback: 472 pages
  • Publisher: Digital Press (January 12, 1998)
  • Language: English
  • ISBN-10: 155558179X
  • ISBN-13: 978-1555581794
  • Product Dimensions: 10.1 x 6.3 x 1.2 inches
  • Shipping Weight: 2.1 pounds
  • Average Customer Review: 5.0 out of 5 stars  See all reviews (2 customer reviews)
  • Amazon Best Sellers Rank: #345,910 in Books (See Top 100 in Books)

More About the Author

Discover books, learn about writers, read author blogs, and more.

 

Customer Reviews

2 Reviews
5 star:
 (2)
4 star:    (0)
3 star:    (0)
2 star:    (0)
1 star:    (0)
 
 
 
 
 
Average Customer Review
5.0 out of 5 stars (2 customer reviews)
 
 
 
 
Share your thoughts with other customers:
Most Helpful Customer Reviews

22 of 23 people found the following review helpful:
5.0 out of 5 stars a code-free approach to *optimizing* compilers, April 2, 2000
By A Customer
This review is from: Building an Optimizing Compiler (Paperback)
Most students who have taken a semester course in compiler would agree that a semester is too short even for just building a compiler, not to include the time used to learn the basics like parsing. This book is a good start at where your course left off. It covers many interesting and modern topics on building an _optimizing_ compiler, a compiler that generates compact and speedy code.

As a comparison to the Muchnick one, this book is slightly less advanced but contains sufficient details to start one in this field. This book also excels in its clear and informative explanations.

An interesting feature of this book (and also Muchnick) is that no concrete code/implementation is included. The focus is on the concepts of building an optimizing compiler and the theory behind code optimization, not exactly on how to build one (from scratch) using whatever programming language. The reader must come up with the implementation side of the story if she wants to apply the techniques to her own compiler.

As a final note, this is not an introductory book on compilers. If you want one, go find the classic Dragon book (by Aho, Sethi, Ullman) or the newly written work by Appel.

Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


8 of 8 people found the following review helpful:
5.0 out of 5 stars Excelent complete overview of an optimizing compiler, January 3, 2005
This review is from: Building an Optimizing Compiler (Paperback)
This book just has it all. As the title suggests, this book is all about compiler optimizations. Don't expect to find anything about lexical analysis or parsing here, but that is exactly why I like this book so much. It is aimed at people who are familiar with the basic structure of a compiler and with data structures and algorithms.

The book describes the various phases the intermediate language of a compiler goes through before the final assembly or object file is written. It discusses such things as SSA form, lazy code motion and its application to load and store motion, scheduling, register allocation, etc. Important concepts, including (but not limited to) correctness, dominance, control dependence, and availability, are discussed and explained in detail. Algorithms and data flow equations are given with a proof and a clear explantaion. But this is not an algorithms cook book like Muchnick, the best part of this book is the synthesis of all the algorithms and ideas.

There are only 3 drawbacks of this book. First of all, Morgan assumes that the target is a RISCy machine with a reasonably orthogonal register and instruction set. Second, the framework he presents is sometimes a bit unconventional. For example, his discussion about register allocation presents Chow&Hennesey priority bases graph coloring, but it forgets to give a proper comment on Chaitin/Briggs style coloring. Finally, the book exclusively describes intraprocedural optimizations.

That said, the basic ideas presented in the book will give you enough references and back ground to understand the differences between Morgan's approach and other approaches to building optimizing compilers.
Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No

Share your thoughts with other customers: Create your own review
 
 
 
Only search this product's reviews



Inside This Book (learn more)
First Sentence:
What is an optimizing compiler? Read the first page
Key Phrases - Capitalized Phrases (CAPs): (learn more)
Rice University, Limiting Resources, New York, Preston Briggs, Association of Computing Machinery, Carnegie Mellon University, Computer Science Department, Reduce Uses, Binary Instruct, Computer Languages, Etienne Morel, Exceed Pressure, Excess Temporaries, Illegal Abstract Syntax, Loop Nearest Ancestor, Loop Node, Optimizing Compiler Figure, Production-Quality Compiler-Compiler, References Aho, Rice Massive Scalar Compiler Project, Stanford University
New!
Concordance | Text Stats
Browse Sample Pages:
Front Cover | Table of Contents | First Pages | Index | Back Cover | Surprise Me!
Search Inside This Book:


Tags Customers Associate with This Product

 (What's this?)
Click on a tag to find related items, discussions, and people.
 

Your tags: Add your first tag
 

Sell a Digital Version of This Book in the Kindle Store

If you are a publisher or author and hold the digital rights to a book, you can sell a digital version of it in our Kindle Store. Learn more

Customer Discussions

This product's forum
Discussion Replies Latest Post
No discussions yet

Ask questions, Share opinions, Gain insight
Start a new discussion
Topic:
First post:
Prompts for sign-in
 


Active discussions in related forums
Search Customer Discussions
Search all Amazon discussions
   
Related forums


Listmania!


Create a Listmania! list

So You'd Like to...


Create a guide


Look for Similar Items by Category


Look for Similar Items by Subject