Publication:
Target-specific Global Code Improvement: Principles and Applications

dc.contributor.authorDavidson, Jack
dc.contributor.authorBenitez, Manuel
dc.date.accessioned2026-01-22T17:19:53Z
dc.date.issued1994-01-01
dc.descriptionOriginal submission date: 2012-10-29T20:41:09Z
dc.description.abstractCurrent and future high-performance systems require language processors that can generate code that fully exploits the power of the underlying architecture. A key and necessary component of such language processors is a global code improver. This article describes the key principles behind the design and implementation of a global code improver that has been use to construct several high-quality compilers and other program transformation and analysis tools. The code improver, called vpo, employs a paradigm of compilation that has proven to be flexible and adaptableall code improving transformations are performed on a target-specific representation of the program. The aggressive use of this paradigm yields a code improver with several valuable properties. Four properties stand out. First, vpo is language and compiler independent. That is, it has been used to implement compilers for several different computer languages. For the C programming language, it has been used with several front ends each of which generates a different intermediate language. Second, because all code improvements are applied to a single low-level intermediate representation, phase ordering programs are minimized. Third, vpo is easily retargeted and handles a wide variety of architectures. In particular, vpo's structure allows new architectures and new implementations of existing architectures to be accommodated quickly and easily. Fourth and finally, because of its flexible structure, vpo has several other interesting uses in addition to its primary use in an optimizing compiler. This article describes the principles that have driven the design of vpo and the implications of these principles on vpo's implementation. The article concludes with a brief description of vpo's use as a back end with front ends for several different languages, and its use as a key component for the realization of several other applications.
dc.identifier9019s246n
dc.identifier.citationBenitez, Manuel, and Jack Davidson. "Target-specific Global Code Improvement: Principles and Applications." University of Virginia Dept. of Computer Science Tech Report (1994).
dc.identifier.doi10.18130/V3Z772
dc.identifier.urihttps://doi.org/10.18130/V3Z772
dc.identifier.urihttps://libraopen.library.virginia.edu/handle/item/7664
dc.languageEnglish
dc.language.isoen
dc.publisherUniversity of Virginia, Department of Computer Science
dc.rightsAll rights reserved (no additional license for public reuse)
dc.titleTarget-specific Global Code Improvement: Principles and Applications
dc.typeTechnical Report
dspace.entity.typePublication
relation.isAuthorOfPublication8a6c4fdf-cd0c-4222-8052-7b8756892d3f
relation.isAuthorOfPublicationd587db24-f333-42c0-a290-15fe1f2278c2
relation.isAuthorOfPublication.latestForDiscovery8a6c4fdf-cd0c-4222-8052-7b8756892d3f

Files

Original bundle

Now showing 1 - 1 of 1
Loading...
Thumbnail Image
Name:
CS-94-42.pdf
Size:
171.81 KB
Format:
Adobe Portable Document Format

Collections