Guaranteed Optimization: Proving Nullspace Properties of Compilers
Loading...
Other Version
External File or Record
Can’t use the file because of accessibility barriers? Contact us
Date
Journal Title
Journal ISSN
Volume Title
Publisher
Permanent Link
Abstract
Writing performance-critical programs can be frustrating because optimizing compilers for imperative languages tend to be unpredictable. For a subset of optimizations -- those that simplify rather than reorder code -- it would be useful to prove that a compiler reliably performs optimizations. We show that adopting a
superanalysis'' approach to optimization enables such a proof. By analogy with linear algebra, we define the nullspace of an optimizer as those programs it reduces to the empty program. To span the nullspace, we define rewrite rules that de-optimize programs by introducing abstraction. For a model compiler we prove that any sequence of de-optimizing rewrite rule applications is undone by the optimizer. Thus, we are able to give programmers a clear mental model of what simplifications the compiler is guaranteed to perform, and make progress on the problem of abstraction penalty'' in imperative languages. > > languages. > >Series and Number:
Indiana University Computer Science Technical Reports; TR564
EducationalLevel:
Is Based On:
Target Name:
Teaches:
Table of Contents
Description
Keywords
Citation
Journal
DOI
Rights
This work is protected by copyright unless stated otherwise.