Simplifying Code Generation Through Peephole Optimizations

Author:Davidson, Jack, Department of Computer ScienceUniversity of Virginia

Producing compilers that generate good object code is difficult. The early phase of the compiler, syntactical and lexical analysis, have been automated. The latter phases, code generation and optimization, are more difficult because of the wide range of machine architectures. This dissertation describes a technique for the rapid implementation of production-quality compilers through the use of a machine-independent retargetable peephole optimizer, P0. P0 is retargeted by providing a description of the new machine. PO simplifies many of the tasks associated with developing compilers. It simplifies code generation by eliminating most of the case-analysis typically necessary to produce good code. It simplifies the optimization phase by collecting several disparate optimizations and generalizing them as peephole optimizations. PO also demonstrates that traditional optimizations, such as register allocation, common subexpressiou elimination, and removal of unreachable code, may be done more thoroughly and completely when information about the target machine is available.
Note: Abstract extracted from PDF file via OCR

All rights reserved (no additional license for public reuse)
Source Citation:

Davidson, Jack. "Simplifying Code Generation Through Peephole Optimizations." University of Virginia Dept. of Computer Science Tech Report (1987).

University of Virginia, Department of Computer Science
Published Date: