Genetic Improvement in the Shackleton Framework for Optimizing LLVM Pass Sequences
Shuyue Stella Li, Hannah Peeler, Andrew N. Sloss, Kenneth N. Reid,, Wolfgang Banzhaf

TL;DR
This paper introduces a genetic improvement approach within the Shackleton framework to automatically discover LLVM pass sequences that optimize runtime performance for specific problems, surpassing default optimization levels.
Contribution
It presents a novel method using genetic improvement to automatically generate problem-specific LLVM pass sequences within the Shackleton framework.
Findings
Achieved an average of 3.7% runtime improvement over -O3 optimization.
Developed a pass-level patch representation for genetic programming.
Demonstrated automatic optimization without expert domain knowledge.
Abstract
Genetic improvement is a search technique that aims to improve a given acceptable solution to a problem. In this paper, we present the novel use of genetic improvement to find problem-specific optimized LLVM pass sequences. We develop a pass-level patch representation in the linear genetic programming framework, Shackleton, to evolve the modifications to be applied to the default optimization pass sequences. Our GI-evolved solution has a mean of 3.7% runtime improvement compared to the -O3 optimization level in the default code generation options which optimizes on runtime. The proposed GI method provides an automatic way to find a problem-specific optimization sequence that improves upon a general solution without any expert domain knowledge. In this paper, we discuss the advantages and limitations of the GI feature in the Shackleton Framework and present our results.
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
