Item Details

Print View

A Global Object Code Optimizer

Benitez, Manuel
Benitez, Manuel
_A global object code optimizer performs optimizations at the machine level. It uses infonnation at the procedure level as well as knowledge about the specific capabilities of the target machine to produce high quality code. It takes many months, even years, of development effort to produce these optimizers. Performing optimizations at the machine level has traditionally been accomplished by machine-dependent algorithms. Retargeting to a new machine requires large portions of the optimizer to be re - wrltten to handle the idiosyncrasies of the new architecture. This thesis presents an optimizing compiler that performs global optimizations using a machine-independent notation to describe machine-dependent instructions at the machine level. The machine-independent notation that we call Register Transfer Lists is presented and its ability to describe machine-dependent instructions is discussed. Machine - independent algorithms that manipulate the Register Transfer Lists to perform common code - improvement transformations are explained. Measurements of the effectiveness of the optimizing compiler on three different machines are given. The effectiveness of the some of the global optimizations is discussed. The effort required to retarget the optimizing compiler to new machines is estimated to be in the order of weeks. Note: Abstract extracted from PDF file via OCR
Date Received
University of Virginia, Department of Computer Science, 1989
Published Date
Libra Open Repository
In CopyrightIn Copyright
▾See more
▴See less


Access Online