We present an automated technique for generating compiler op-timizations from examples of concrete programs before and after improvements have been made to them. The key technical insight of our technique is that a proof of equivalence between the original and transformed concrete programs informs us which aspects of the programs are important and which can be discarded. Our technique therefore uses these proofs, which can be produced by translation validation or a proof-carrying compiler, as a guide to generalize the original and transformed programs into broadly applicable op-timization rules. We present a category-theoretic formalization of our proof gen-eralization technique. This abstraction makes our technique appli-cable to logics be...
An efficient optimizing compiler can perform many cascading rewrites in a single pass, using auxilia...
Code super-optimization is the task of transforming any given program to a more efficient version wh...
Compiler optimizations are critical to the efficiency of modern functional programs. At the same tim...
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...
Abstract. In this article, we describe a framework for formally verify-ing the correctness of compil...
AbstractPartial redundancy elimination is a subtle optimization which performs common subexpression ...
The use of *proof plans* -- formal patterns of reasoning for theorem proving -- to control the (auto...
Abstract. Optimizations in a traditional compiler are applied sequentially, with each optimization d...
. In the proofs as programs methodology a program is derived from a formal constructive proof. Becau...
The use of proof plans -formal patterns of reasoning for theorem proving -to control the {automatic...
AbstractWe demonstrate a method for describing data-flow analyses based program optimizations as com...
Cavazos, JohnThe number of optimizations that are available in modern day compilers are in their hun...
We demonstrate a method for describing data-flow analyses based program opti-mizations as compositio...
Abstract. Compiler optimizations play an increasingly important role in code generation. This is esp...
An efficient optimizing compiler can perform many cascading rewrites in a single pass, using auxilia...
Code super-optimization is the task of transforming any given program to a more efficient version wh...
Compiler optimizations are critical to the efficiency of modern functional programs. At the same tim...
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...
Abstract. In this article, we describe a framework for formally verify-ing the correctness of compil...
AbstractPartial redundancy elimination is a subtle optimization which performs common subexpression ...
The use of *proof plans* -- formal patterns of reasoning for theorem proving -- to control the (auto...
Abstract. Optimizations in a traditional compiler are applied sequentially, with each optimization d...
. In the proofs as programs methodology a program is derived from a formal constructive proof. Becau...
The use of proof plans -formal patterns of reasoning for theorem proving -to control the {automatic...
AbstractWe demonstrate a method for describing data-flow analyses based program optimizations as com...
Cavazos, JohnThe number of optimizations that are available in modern day compilers are in their hun...
We demonstrate a method for describing data-flow analyses based program opti-mizations as compositio...
Abstract. Compiler optimizations play an increasingly important role in code generation. This is esp...
An efficient optimizing compiler can perform many cascading rewrites in a single pass, using auxilia...
Code super-optimization is the task of transforming any given program to a more efficient version wh...
Compiler optimizations are critical to the efficiency of modern functional programs. At the same tim...