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 abl...
Automatic optimizers for computer programs work with a fixed list of rote transformations, while hu...
While program correctness for compiled languages depends fundamentally on compiler correctness, comp...
To meet the demands of modern architectures, optimizing compilers must incorporate an ever larger nu...
Abstract. Writing performance-critical programs can be frustrating be-cause 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 ...
Cavazos, JohnThe number of optimizations that are available in modern day compilers are in their hun...
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...
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...
Every compiler passes code through several stages, each a sort of mini- compiler of its own. Thus...
Associated research group: Minnesota Extensible Language ToolsMany classical compiler optimizations ...
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...
While program correctness for compiled languages depends fundamentally on compiler correctness, comp...
To meet the demands of modern architectures, optimizing compilers must incorporate an ever larger nu...
Abstract. Writing performance-critical programs can be frustrating be-cause 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 ...
Cavazos, JohnThe number of optimizations that are available in modern day compilers are in their hun...
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...
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...
Every compiler passes code through several stages, each a sort of mini- compiler of its own. Thus...
Associated research group: Minnesota Extensible Language ToolsMany classical compiler optimizations ...
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...
While program correctness for compiled languages depends fundamentally on compiler correctness, comp...
To meet the demands of modern architectures, optimizing compilers must incorporate an ever larger nu...