https://doi.org/10.71352/ac.36.179
Superoptimization in LLVM
Abstract. Superoptimization is a known technique to integrate the analyses and transformations of a number of separate optimizations in order to obtain an optimization that is more expressive than the sequential and iterative application of the original optimizations. This paper describes the elaboration of this technique within the Low Level Virtual Machine (LLVM) Compiler Infrastructure. A framework supporting the integration of modular optimizations into superoptimization is presented. Some LLVM-specific implementation considerations are also discussed. Finally, a brief introduction to the use of the framework is provided.
Full text PDF