Minotaur: A SIMD-Oriented Synthesizing Superoptimizer
Minotaur: A SIMD-Oriented Synthesizing Superoptimizer

    
    
                
    View PDF
    HTML (experimental)
            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 this http URL. 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.
    

    
    
  
      Submission history From: Zhengyang Liu [view email]                  [v1]
        Wed, 31 May 2023 22:57:37 UTC (1,019 KB)
            [v2]
        Wed, 12 Jul 2023 16:49:05 UTC (1,019 KB)
    [v3]
        Mon, 2 Sep 2024 02:41:18 UTC (525 KB)
