Compilers that guarantee optimizations will always be performed.
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... (Update)
Context of citations to this paper: More
.... g 2 G and any program p, O[ g p] O[ p] 4 Nullspace proofs for imperative languages In the full version of this paper [18] we prove the nullspace property for a model optimizer of an imperative language. We summarize the language and the main results in this section. 4.1 An...
Cited by: More
A Static C++ Object-Oriented Programming (SCOOP).. - Burrus..
(Correct)
Guaranteed Optimization for Domain-Specific Programming - Veldhuizen (2003)
(Correct)
Active Libraries and Universal Languages - Veldhuizen (2004)
(Correct)
Similar documents (at the sentence level):
66.2%: Guaranteed Optimization: Proving Nullspace Properties of.. - Veldhuizen, Lumsdaine (2002)
(Correct)
Active bibliography (related documents): More All
0.2: Combining Optimizations, Combining Theories - Veldhuizen, Siek
(Correct)
0.2: Design Principles of Reusable Software Components for the.. - Bader, Berti (1998)
(Correct)
0.1: A Functional Perspective on SSA Optimisation.. - Chakravarty.. (2003)
(Correct)
Similar documents based on text: More All
0.5: Using MPI with C and the Common Language - Infrastructure Jeremiah Willcock
(Correct)
0.4: On Combining Program Improvers - Veldhuizen, Siek (2003)
(Correct)
0.3: Concept-Controlled Polymorphism - Järvi, Willcock, Lumsdaine (2003)
(Correct)
Related documents from co-citation: More All
4: Static interfaces in C (context) - McNamara, Smaragdakis - 2000
4: ACM Transactions on Programming Languages and Systems (context) - Click, Cooper et al. - 1995
4: Concept checking: Binding parametric polymorphism in C
- Siek, Lumsdaine - 2000
BibTeX entry: (Update)
Todd L. Veldhuizen and Andrew Lumsdaine. Guaranteed optimization: Proving nullspace properties of compilers. Technical Report TR564, Indiana University Computer Science, 2002. http://citeseer.ist.psu.edu/veldhuizen02guaranteed.html More
@inproceedings{ veldhuizen:sas:2002,
author = "Todd L. Veldhuizen and Andrew Lumsdaine",
title = "Guaranteed Optimization: Proving Nullspace Properties of Compilers",
url = "citeseer.ist.psu.edu/veldhuizen02guaranteed.html",
url = "http://osl.iu.edu/~tveldhui/papers/",
booktitle = "Proceedings of the 2002 Static Analysis Symposium (SAS'02)",
publisher = "Springer-Verlag",
year = "2002",
pages = "263-277",
volume = "2477",
conflocation = "Madrid, Spain",
conftitle = "Static Analysis Symposium",
series = "Lecture Notes in Computer Science",
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." }
Citations (may not include all citations):
788
Rewrite systems
- Dershowitz, Jouannaud - 1990
324
Deforestation: transforming programs to eliminate trees
- Wadler - 1990
232
Constant propagation with conditional branches (context) - Wegman, Zadeck - 1991
193
Abstract interpretation: A uni ed lattice model for static a.. (context) - Cousot, Cousot - 1977
158
Reasoning about programs in continuationpassing style
- Sabry, Felleisen - 1993
133
Multi-stage programming with explicit annotations
- Taha, Sheard - 1997
99
Building program optimizers with rewriting strategies
- Visser, Benaissa et al. - 1999
86
Advanced Compiler Design and Implementation (context) - Muchnick - 2000
44
Total correctness by local improvement in the transformation..
- Sands - 1996
43
Automatic synthesis of optimal invariant assertions: Mathema.. (context) - Cousot, Cousot - 1977
29
ACM Transactions on Programming Languages and Systems (context) - Click, Cooper et al. - 1995
21
Arrays in Blitz (context) - Veldhuizen - 1998
13
A survey of rewriting strategies in program transformation s..
- Visser - 2001
11
Cheap deforestation in practice: An optimiser for Haskell (context) - Gill, Jones - 1994
11
A uni ed approach to global program optimization (context) - Kildall - 1973
7
The matrix template library: A unifying framework for numeri..
- Siek, Lumsdaine - 1998
6
Composing data ow analyses and transformations (context) - Lerner, Grove et al. - 2002
6
Guaranteed optimization: Proving nullspace properties of com..
- Veldhuizen, Lumsdaine - 2002
6
A taste of rewrite systems
- Dershowitz - 1993
5
The abstraction penalty for small objects in C (context) - Robison - 1996
4
Abstraction penalty benchmark (context) - Stepanov - 1994
3
Abstraction benchmarks and performance of C++ applications (context) - uller - 2000
2
Correctness of xpoint transformations (context) - Wei - 1994
Online articles have much greater impact More about CiteSeer.IST Add search form to your site Submit documents Feedback
CiteSeer.IST - Copyright Penn State and NEC