Journal ArticleDOI
An approach for exploring code improving transformations
Deborah Whitfield,Mary Lou Soffa +1 more
Reads0
Chats0
TLDR
A framework that enables the exploration, both analytically and experimentally, of properties of code-improving transformations and a tool that automatically produces a transformer that implements the transformations specified in Gospel is presented.Abstract:
Although code transformations are routinely applied to improve the performance of programs for both scalar and parallel machines, the properties of code-improving transformations are not well understood. In this article we present a framework that enables the exploration, both analytically and experimentally, of properties of code-improving transformations. The major component of the framework is a specification language, Gospel, for expressing the conditions needed to safely apply a transformation and the actions required to change the code to implement the transformation. The framework includes a technique that facilitates an analytical investigation of code-improving transformations using the Gospel specifications. It also contains a tool, Genesis, that automatically 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. We first present analytical results on the enabling and disabling properties 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 interactions actually found in a set of programs.read more
Citations
More filters
Journal Article
Compiler Optimization-Space Exploration.
TL;DR: The Optimization-Space Exploration (OSE) compiler organization is presented, the first practical iterative compilation strategy applicable to optimizations in general-purpose compilers and uses the compiler writer's knowledge encoded in the heuristics to select a small number of promising optimization alternatives for a given code segment.
Proceedings ArticleDOI
Compiler optimization-space exploration
TL;DR: The Optimization Space Exploration (OSE) compiler as discussed by the authors uses the compiler writer's knowledge encoded in the heuristics to select a small number of promising optimization alternatives for a given code segment.
Proceedings ArticleDOI
Finding effective compilation sequences
L. Almagor,Keith D. Cooper,Alexander Grosul,Timothy J. Harvey,Steven W. Reeves,Devika Subramanian,Linda Torczon,Todd Waterman +7 more
TL;DR: A large experimental study of the space of compilation sequences over a set of known benchmarks, using the prototype adaptive compiler to characterize these spaces and to determine if it is cost-effective to construct custom compilation sequences.
Proceedings ArticleDOI
Equality saturation: a new approach to optimization
TL;DR: The proposed way of structuring optimizers has a variety of benefits over previous approaches: it obviates the need to worry about optimization ordering, enables the use of a global optimization heuristic that selects among fully optimized programs, and can be used to perform translation validation, even on compilers other than the authors' own.
Proceedings ArticleDOI
Fast searches for effective optimization phase sequences
Prasad A. Kulkarni,Stephen Hines,Jason D. Hiser,David Whalley,Jack W. Davidson,Douglas L. Jones +5 more
TL;DR: This paper describes two complementary general approaches for achieving faster searches for effective optimization sequences when using a genetic algorithm, and modifies the search so fewer generations are required to achieve the same results.
References
More filters
Book
Numerical Analysis
TL;DR: This report contains a description of the typical topics covered in a two-semester sequence in Numerical Analysis, and describes the accuracy, efficiency and robustness of these algorithms.
Book
High-Performance Compilers for Parallel Computing
TL;DR: This book discusses Programming Language Features, Data Dependence, Dependence System Solvers, and Run-time Dependence Testing for High Performance Systems.
Journal ArticleDOI
Advanced compiler optimizations for supercomputers
David Padua,Michael Wolfe +1 more
TL;DR: Compilers for vector or multiprocessor computers must have certain optimization features to successfully generate parallel code to be able to operate on parallel systems.
Proceedings ArticleDOI
Global code motion/global value numbering
TL;DR: This paper argues that optimizing compilers should treat the machine-independent optimizations (e.g., conditional constant propagation, global value numbering) and code motion issues separately, which allows stronger optimizations using simpler algorithms.
Proceedings ArticleDOI
Sharlit—a tool for building optimizers
TL;DR: Sharlit is presented, a tool to support the construction of modular and extensible global optimizers, and it is shown how Sharlit helps in constructing data-flow analyzers and the transformations that use data- flow analysis information, both are major components of any optimizer.