Abstract. Writing performance-critical programs can be frustrating be-cause optimizing compilers for imperative languages tend to be unpre-dictable. For a subset of optimizations – those that simplify rather than reorder code – it would be useful to prove that a compiler reliably per-forms 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 ...
We present an automated technique for generating compiler op-timizations from examples of concrete p...
Automatic optimizers for computer programs work with a fixed list of rote transformations, while hu...
The front end of a compiler is generally responsible for creating an intermediate representation of ...
Abstract. Writing performance-critical programs can be frustrating because optimizing compilers for ...
We describe a technique for automatically proving compiler optimizations sound, meaning that their t...
AbstractA compiler optimization is sound if the optimized program that it produces is semantically e...
As transistors sizes shrink and architects put more and more cores on chip, computer systems become ...
Abstract. Optimizations in a traditional compiler are applied sequentially, with each optimization d...
To meet the demands of modern architectures, optimizing compilers must incorporate an ever larger nu...
Cavazos, JohnThe number of optimizations that are available in modern day compilers are in their hun...
Every compiler passes code through several stages, each a sort of mini- compiler of its own. Thus...
To meet the demands of modern architectures, optimizing compilers must incorporate an ever larger nu...
Associated research group: Minnesota Extensible Language ToolsMany classical compiler optimizations ...
To meet the demands of modern architectures, optimizing compilers must incorporate an ever larger nu...
With the projected increase in hardware error rates in the future, software needs to be resilient to...
We present an automated technique for generating compiler op-timizations from examples of concrete p...
Automatic optimizers for computer programs work with a fixed list of rote transformations, while hu...
The front end of a compiler is generally responsible for creating an intermediate representation of ...
Abstract. Writing performance-critical programs can be frustrating because optimizing compilers for ...
We describe a technique for automatically proving compiler optimizations sound, meaning that their t...
AbstractA compiler optimization is sound if the optimized program that it produces is semantically e...
As transistors sizes shrink and architects put more and more cores on chip, computer systems become ...
Abstract. Optimizations in a traditional compiler are applied sequentially, with each optimization d...
To meet the demands of modern architectures, optimizing compilers must incorporate an ever larger nu...
Cavazos, JohnThe number of optimizations that are available in modern day compilers are in their hun...
Every compiler passes code through several stages, each a sort of mini- compiler of its own. Thus...
To meet the demands of modern architectures, optimizing compilers must incorporate an ever larger nu...
Associated research group: Minnesota Extensible Language ToolsMany classical compiler optimizations ...
To meet the demands of modern architectures, optimizing compilers must incorporate an ever larger nu...
With the projected increase in hardware error rates in the future, software needs to be resilient to...
We present an automated technique for generating compiler op-timizations from examples of concrete p...
Automatic optimizers for computer programs work with a fixed list of rote transformations, while hu...
The front end of a compiler is generally responsible for creating an intermediate representation of ...