Genetic improvement in the shackleton framework for optimizing LLVM pass sequences
Shuyue Stella Li, Hannah Peeler, Andrew N. Sloss, Kenneth N. Reid, Wolfgang Banzhaf · Proceedings of the Genetic and Evolutionary Computation Conference Companion · 2022
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 edit 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 default LLVM optimization level '-O3' which targets 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.