Genetic Improvement in the Shackleton Framework for Optimizing LLVM Pass Sequences
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.
- Publication:
-
arXiv e-prints
- Pub Date:
- April 2022
- DOI:
- arXiv:
- arXiv:2204.13261
- Bibcode:
- 2022arXiv220413261L
- Keywords:
-
- Computer Science - Neural and Evolutionary Computing;
- Computer Science - Artificial Intelligence
- E-Print:
- 3 pages, 2 figures