Publication:
A Global Object Code Optimizer

Loading...
Thumbnail Image

Journal Title

Journal ISSN

Volume Title

Publisher

University of Virginia, Department of Computer Science

Research Projects

Organizational Units

Journal Issue

Abstract

_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

Description

Original submission date: 2013-10-11T17:22:33Z

Subjects

Citation

Benitez, Manuel. "A Global Object Code Optimizer." University of Virginia Dept. of Computer Science Tech Report (1989).

Collections

Endorsement

Review

Supplemented By

Referenced By