Souper
A superoptimizer for LLVM IR
... in multiple modes: as a standalone analysis tool that extracts and solves SMT queries from LLVM bitcode, or as an LLVM optimization pass that applies discovered optimizations directly to the IR. It integrates seamlessly with Clang and LLVM tools and supports caching mechanisms (RAM or Redis) to accelerate repeated analyses. The system can output suggested rewrites for developers or automatically apply transformations, helping compiler engineers improve optimization passes.