Synergy-Guided Compiler Auto-Tuning of Nested LLVM Pass Pipelines
By: Haolin Pan , Jinyuan Dong , Mingjie Xing and more
Potential Business Impact:
Makes computer programs run faster automatically.
Compiler optimization relies on sequences of passes to improve program performance. Selecting and ordering these passes automatically, known as compiler auto-tuning, is challenging due to the large and complex search space. Existing approaches generally assume a linear sequence of passes, a model compatible with legacy compilers but fundamentally misaligned with the hierarchical design of the LLVM New Pass Manager. This misalignment prevents them from guaranteeing the generation of syntactically valid optimization pipelines. In this work, we present a new auto-tuning framework built from the ground up for the New Pass Manager. We introduce a formal grammar to define the space of valid nested pipelines and a forest-based data structure for their native representation. Upon this foundation, we develop a structure-aware Genetic Algorithm whose operators manipulate these forests directly, ensuring that all candidate solutions are valid by construction. The framework first mines synergistic pass relationships to guide the search. An optional refinement stage further explores subtle performance variations arising from different valid structural arrangements. We evaluate our approach on seven benchmark datasets using LLVM 18.1.6. The discovered pipelines achieve an average of 13.62% additional instruction count reduction compared to the standard opt -Oz optimization level, showing that our framework is capable of navigating this complex, constrained search space to identify valid and effective pass pipelines.
Similar Papers
A Hybrid, Knowledge-Guided Evolutionary Framework for Personalized Compiler Auto-Tuning
Software Engineering
Makes computer programs run much faster.
GRACE: Globally-Seeded Representation-Aware Cluster-Specific Evolution for Compiler Auto-Tuning
Software Engineering
Makes computer programs run faster and smaller.
Targeted Testing of Compiler Optimizations via Grammar-Level Composition Styles
Software Engineering
Finds hidden computer code errors by testing one part at a time.