2010
DOI: 10.1145/1707801.1706345
|View full text |Cite
|
Sign up to set email alerts
|

Generating compiler optimizations from proofs

Abstract: We present an automated technique for generating compiler optimizations 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 general… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1

Citation Types

0
3
0

Year Published

2011
2011
2019
2019

Publication Types

Select...
2
2
1

Relationship

0
5

Authors

Journals

citations
Cited by 6 publications
(3 citation statements)
references
References 26 publications
0
3
0
Order By: Relevance
“…Hints for the discovery of relational invariants may potentially arise from Amtoft et al's preconditions for conditional information flow [2], Barthe et al's product programs [10], from Rhodium's transformation rules [27], or from Tate et al's program equivalence graphs [36]. It would also be interesting to compare the expressiveness and usability of our rules for dissonant loops with the rules from translation validation [20], and to investigate how the latter can be justified in a more semantics-oriented fashion.…”
Section: Discussionmentioning
confidence: 99%
“…Hints for the discovery of relational invariants may potentially arise from Amtoft et al's preconditions for conditional information flow [2], Barthe et al's product programs [10], from Rhodium's transformation rules [27], or from Tate et al's program equivalence graphs [36]. It would also be interesting to compare the expressiveness and usability of our rules for dissonant loops with the rules from translation validation [20], and to investigate how the latter can be justified in a more semantics-oriented fashion.…”
Section: Discussionmentioning
confidence: 99%
“…Tate et al [37] use a proof-checker to learn transformations from examples. They can only find provably semantic-preserving transformations.…”
Section: Related Workmentioning
confidence: 99%
“…Peephole optimization patterns for a particular ISA can be generated from an ISA specification [6]. In contrast to compiler optimizations, optimized code sequences can be synthesized either with peephole pattern generation or through superoptimization [3,11,22,30,33].…”
Section: Related Workmentioning
confidence: 99%