Chapter 1 introduces the subject matter and discusses the structure of
highly optimizing compilers. Chapter 2 describes a convenient
notation for writing programs, called ICAN, that is used throughout
the remainder of the text. Chapters 3 through 6 review fundamental
topics in compiler construction and highlight advanced issues in each
topic area, such as symbol-table structure for languages with imports
and exports, automatic generation of code generators, supporting
dynamically loaded objects, and static single-assignment form.

Chapters 7 through 10 cover the techniques that form the basis for
optimization and Chapters 11 through 18 cover intraprocedural
optimization in detail. Chapter 19 focuses on interprocedural
analysis and optimization and Chapter 20 focuses on optimization for
the memory hierarchy.

Finally, Chapter 21 discusses in detail four families of commercial
highly optimizing compilers: Sun's for SPARC, IBM's for POWER and
PowerPC, DEC's for Alpha, and Intel's for the 386 architecture family.

Each chapter ends with a wrap-up section, a further-reading section, and
exercises.

The chapters are followed by three appendixes, an extensive
bibliography, a subject index and an index of mathematical formulas,
ICAN procedures, and major ICAN data structures.

Additional material on object-code compilation is available on the
publisher's WWW site, http://www.mkp.com, as is information on
accessing software resources described in Appendix C. In particular,
the Web page for the book is

Errata and other materials related to the book will appear on the Web
site soon. In the meantime, I will be happy to send you the latest
version of the errata as a PostScript file. Also, I encourage you to
send me any errors you discover by return mail.