AN APPROACH FOR EXPLORING CODE IMPROVING TRANSFORMATIONS

Citation
Dl. Whitfield et Ml. Soffa, AN APPROACH FOR EXPLORING CODE IMPROVING TRANSFORMATIONS, ACM transactions on programming languages and systems, 19(6), 1997, pp. 1053-1084
Citations number
21
Categorie Soggetti
Computer Science Software Graphycs Programming","Computer Science Software Graphycs Programming
ISSN journal
01640925
Volume
19
Issue
6
Year of publication
1997
Pages
1053 - 1084
Database
ISI
SICI code
0164-0925(1997)19:6<1053:AAFECI>2.0.ZU;2-G
Abstract
Although code transformations are routinely applied to improve the per formance of programs for both scalar and parallel machines, the proper ties of code-improving transformations are not well understood. In thi s article we present a framework that enables the exploration, both an alytically and experimentally, of properties of code-improving transfo rmations. The major component of the framework is a specification lang uage, Gospel, for expressing the conditions needed to safely apply a t ransformation and the actions required to change the code to implement the transformation. The framework includes a technique that facilitat es an analytical investigation of code-improving transformations using the Gospel specifications. It also contains a tool, Genesis, that aut omatically produces a transformer that implements the transformations specified in Gospel. We demonstrate the usefulness of the framework by exploring the enabling and disabling properties of transformations. W e first present analytical results on the enabling and disabling prope rties of a set of code transformations, including both traditional and parallelizing transformations, and then describe experimental results showing the types of transformations and the enabling and disabling i nteractions actually found in a set of programs.