Souper: A Synthesizing Superoptimizer
Not on the map. Why?
Abstract (arXiv)
If we can automatically derive compiler optimizations, we might be able to sidestep some of the substantial engineering challenges involved in creating and maintaining a high-quality compiler. We developed Souper, a synthesizing superoptimizer, to see how far these ideas might be pushed in the context of LLVM. Along the way, we discovered that Souper's intermediate representation was sufficiently similar to the one in Microsoft Visual C++ that we applied Souper to that compiler as well. Shipping, or about-to-ship, versions of both compilers contain optimizations suggested by Souper but implemented by hand. Alternately, when Souper is used as a fully automated optimization pass it compiles a Clang compiler binary that is about 3 MB (4.4%) smaller than the one compiled by LLVM.
Key facts. Cited by 12 papers in the map (data through 7 Oct 2026). First posted on arXiv 13 Nov 2017.
Builds on
No reference list yet.
Built on by
Citing papers per year: 2021: 2; 2022: 1; 2023: 1; 2024: 0; 2025: 2; 2026: 6.
12 papers.
- 2023Learning Performance-Improving Code Editscited by 103
- 2021Equality Saturation for Tensor Graph Superoptimizationcited by 27
- 2021Learning to Superoptimize Real-world Programscited by 4
- 2026FormulaCode: Evaluating Agentic Optimization on Large Codebasescited by 4
- 2025Bootstrapping Fuzzers for Compilers of Low-Resource Language Dialects Using Language Modelscited by 1
- 2022Securing Optimized Code Against Power Side Channelscited by 0
- 2025Compiling by Proving: Language-Agnostic Automatic Optimization from Formal Semanticscited by 0
- 2026GPU-Accelerated Synthesis of Mixed-Boolean Arithmetic: Beyond Cachingcited by 0
- 2026Understanding Agent-Based Patching of Compiler Missed Optimizationscited by 0
- 2026Can Coding Agents Implement Missed Compiler Optimizations? Evaluating LLM Agents on LLVM Peephole Optimizationscited by 0
- 2026Can Large Language Models Recover Semantic Optimization Opportunities That Compilers Miss?cited by 0
- 2026AsmEvo: Agentic Assembly-Level Optimization of AMD GPU Kernels with Functional Equivalence Verificationcited by 0
- 2026AsmEvo: Agentic Assembly-Level Optimization of AMD GPU Kernels with Functional Equivalence Verification21 Aug 2026
- 2026Can Large Language Models Recover Semantic Optimization Opportunities That Compilers Miss?4 Aug 2026
- 2026Can Coding Agents Implement Missed Compiler Optimizations? Evaluating LLM Agents on LLVM Peephole Optimizations2 Jul 2026
- 2026Understanding Agent-Based Patching of Compiler Missed Optimizations2 Jul 2026
- 2026GPU-Accelerated Synthesis of Mixed-Boolean Arithmetic: Beyond Caching7 May 2026
- 2026FormulaCode: Evaluating Agentic Optimization on Large Codebases16 Mar 2026
- 2025Bootstrapping Fuzzers for Compilers of Low-Resource Language Dialects Using Language Models5 Dec 2025
- 2025Compiling by Proving: Language-Agnostic Automatic Optimization from Formal Semantics26 Sep 2025
- 2023Learning Performance-Improving Code Edits15 Feb 2023
- 2022Securing Optimized Code Against Power Side Channels6 Jul 2022
- 2021Learning to Superoptimize Real-world Programs28 Sep 2021
- 2021Equality Saturation for Tensor Graph Superoptimization5 Jan 2021