Dataflow-based pruning for speeding up superoptimization
Manasij Mukherjee, Pranav Kant, Zhengyang Liu, John Regehr
摘要
Superoptimization is a compilation strategy that uses search to improve code quality, rather than relying on a canned sequence of transformations, as traditional optimizing compilers do. This search can be seen as a program synthesis problem: from unoptimized code serving as a specification, the synthesis procedure attempts to create a more efficient implementation. An important family of synthesis algorithms works by enumerating candidates and then successively checking if each refines the specification, using an SMT solver. The contribution of this paper is a pruning technique which reduces the enumerative search space using fast dataflow-based techniques to discard synthesis candidates that contain symbolic constants and uninstantiated instructions. We demonstrate the effectiveness of this technique by improving the runtime of an enumerative synthesis procedure in the Souper superoptimizer for the LLVM intermediate representation. The techniques presented in this paper eliminate 65% of the solver calls made by Souper, making it 2.32x faster (14.54 hours vs 33.76 hours baseline, on a large multicore) at solving all 269,113 synthesis problems that Souper encounters when optimizing the C and C++ programs from SPEC CPU 2017.
CCS Concepts: • Software and its engineering → Automatic programming; Translator writing systems and compiler generators; Automated static analysis.
问问这篇 Paper
智能体会读完全文。
Lune 把这篇 Paper 索引到了最后一个公式,引用它的顶会 Paper 也一样。你提问,回答直接引用原文。
引用它的顶会 Paper12
- Verifying the Verifier: eBPF Range Analysis VerificationHarishankar Vishwanathan, Matan Shachnai, Srinivas Narayana, Santosh NagarakatteCAV 2023 · 被引用 37 次
- Synthesizing safe and efficient kernel extensions for packet processingQiongwen Xu, Michael D. Wong, Tanvi Wagle, Srinivas Narayana 等SIGCOMM 2021 · 被引用 30 次
- Domain specific run time optimization for software data planesSebastiano Miano, Alireza Sanaee, Fulvio Risso, Gábor Rétvári 等ASPLOS 2022 · 被引用 20 次
- Inductive Program Synthesis via Iterative Forward-Backward Abstract InterpretationYongho Yoon, Woosuk Lee, Kwangkeun YiPLDI 2023 · 被引用 15 次
- Hydra: Generalizing Peephole Optimizations with Program SynthesisManasij Mukherjee, John RegehrOOPSLA 2024 · 被引用 11 次
它引用的顶会 Paper1
相关 Paper
- Minotaur: A SIMD-Oriented Synthesizing SuperoptimizerZhengyang Liu, Stefan Mada, John RegehrOOPSLA 2024 · 被引用 9 次
- Superfusion: Eliminating Intermediate Data Structures via Inductive SynthesisRuyi Ji, Yuwei Zhao, Nadia Polikarpova, Yingfei Xiong 等PLDI 2024 · 被引用 4 次
- Speeding up SMT Solving via Compiler OptimizationBenjamin Mikek, Qirun ZhangFSE 2023 · 被引用 11 次
- SEER: Super-Optimization Explorer for High-Level Synthesis using E-graph RewritingJianyi Cheng, Samuel Coward, Lorenzo Chelini, Rafael Barbalho 等ASPLOS 2024 · 被引用 18 次
- HieraSynth: A Parallel Framework for Complete Super-Optimization with Hierarchical Space DecompositionSirui Lu, Rastislav BodíkOOPSLA 2025
