English

Minotaur: A SIMD-Oriented Synthesizing Superoptimizer

Programming Languages 2024-09-04 v3

Abstract

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.

Keywords

Cite

@article{arxiv.2306.00229,
  title  = {Minotaur: A SIMD-Oriented Synthesizing Superoptimizer},
  author = {Zhengyang Liu and Stefan Mada and John Regehr},
  journal= {arXiv preprint arXiv:2306.00229},
  year   = {2024}
}

Comments

to appear in OOPSLA'24

R2 v1 2026-06-28T10:52:41.779Z