Affiliation:
1. Rutgers University, USA
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 positive and negative examples. Alive-Infer repeats this process until it finds a precondition that ensures the validity of the optimization. Alive-Infer reports both a weakest precondition and a set of succinct partial preconditions to the developer. Our prototype generates preconditions that are weaker than LLVM’s preconditions for 73 optimizations in the Alive suite. We also demonstrate the applicability of this technique to generalize 54 optimization patterns generated by Souper, an LLVM IR–based superoptimizer.
Funder
National Science Foundation
Intel Corporation
Publisher
Association for Computing Machinery (ACM)
Subject
Computer Graphics and Computer-Aided Design,Software
Cited by
7 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. Hydra: Generalizing Peephole Optimizations with Program Synthesis;Proceedings of the ACM on Programming Languages;2024-04-29
2. Equality Saturation Theory Exploration à la Carte;Proceedings of the ACM on Programming Languages;2023-10-16
3. Fast Instruction Selection for Fast Digital Signal Processing;Proceedings of the 28th ACM International Conference on Architectural Support for Programming Languages and Operating Systems, Volume 4;2023-03-25
4. Sound, Precise, and Fast Abstract Interpretation with Tristate Numbers;2022 IEEE/ACM International Symposium on Code Generation and Optimization (CGO);2022-04-02
5. Rewrite rule inference using equality saturation;Proceedings of the ACM on Programming Languages;2021-10-20