Proceedings of the 38th ACM SIGPLAN Conference on Programming Language Design and Implementation 2017
DOI: 10.1145/3062341.3062372
|View full text |Cite
|
Sign up to set email alerts
|

Alive-Infer: data-driven precondition inference for peephole optimizations in LLVM

Abstract: Peephole optimizations are a common source of compiler bugs. Compiler developers typically transform an incorrect peephole optimization into a valid one by strengthening the precondition. This process is challenging and tedious. This paper proposes ALIVE-INFER, a data-driven approach that infers preconditions for peephole optimizations expressed in Alive. ALIVE-INFER generates positive and negative examples for an optimization, enumerates predicates on-demand, and learns a set of predicates that separate the p… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

0
7
0

Year Published

2018
2018
2021
2021

Publication Types

Select...
5
2

Relationship

0
7

Authors

Journals

citations
Cited by 11 publications
(7 citation statements)
references
References 61 publications
0
7
0
Order By: Relevance
“…Furthermore, some rewrites are total but still depend on some condition being met: for example |đť‘Ą | ↭ đť‘Ą only when đť‘Ą is non-negative. An extension to Ruler could possibly to infer such side conditions based on "near cvec matches" where only a few entries differ between two e-classes's cvecs, building on prior work [Menendez and Nagarakatte 2017] that infers preconditions for peephole optimizations.…”
Section: Limitations and Future Workmentioning
confidence: 99%
See 3 more Smart Citations
“…Furthermore, some rewrites are total but still depend on some condition being met: for example |đť‘Ą | ↭ đť‘Ą only when đť‘Ą is non-negative. An extension to Ruler could possibly to infer such side conditions based on "near cvec matches" where only a few entries differ between two e-classes's cvecs, building on prior work [Menendez and Nagarakatte 2017] that infers preconditions for peephole optimizations.…”
Section: Limitations and Future Workmentioning
confidence: 99%
“…These rulesets are typically written by a programmer and therefore can have errors or may not be complete. Several tools have automated peephole optimization generation [Bansal and Aiken 2006;Davidson and Fraser 2004;Menendez and Nagarakatte 2017]. Bansal and Aiken [2006] presented a tool for automatically inferring peephole optimizations using superoptimization, using exhaustive enumeration to generate terms up to a certain depth, and leveraging canonicalization to reduce the search space.…”
Section: Peephole Optimizationsmentioning
confidence: 99%
See 2 more Smart Citations
“…Synthesis and optimization typically scale to large programs by operating over a sequence of smaller windows, where a window is a contiguous sequence of instructions as they appear in the text of the program [88,94,101,111]. Small windows (rather than the full programs) lead to smaller verification conditions, which are much faster to solve.…”
Section: C2 Modular Verificationmentioning
confidence: 99%