2023/05/31 by Zhengyang Liu, Stefan Mada, Liu, Zhengyang +3 · 2 voices · 6 citations
Computer Science · #Cryptographic Implementations and Security #Parallel Computing and Optimization Techniques #Security and Verification in Computing #cs.PL
paper · pdf · doi:10.48550/arxiv.2306.00229
openalex publication_date 2023/05/31 · openalex created_date 2025/10/10 · openalex updated_date 2026/07/28
A superoptimizing compiler--one that performs a meaningful search of the program space as part of the optimization process--can find optimization opportunities that are missed by even the best existing optimizing compilers. We created Minotaur: a superoptimizer for LLVM that uses program synthesis to improve its code generation, focusing on integer and floating-point SIMD code. On an Intel Cascade Lake processor, Minotaur achieves an average speedup of 7.3% on the GNU Multiple Precision library (GMP)'s benchmark suite, with a maximum speedup of 13%. On SPEC CPU 2017, our superoptimizer produces an average speedup of 1.5%, with a maximum speedup of 4.5% for 638.imagick. Every optimization produced by Minotaur has been formally verified, and several optimizations that it has discovered have been implemented in LLVM as a result of our work.