# Optimizing LLVM Pass Sequences with Shackleton: A Linear Genetic Programming Framework

arXiv: https://arxiv.org/abs/2201.13305 · HTML: https://mlsanity.com/paper/2201.13305/

## Key facts

- Cited by 2 papers in the map (data through 14 Oct 2026).
- Builds on 1 of its 26 references that are in the map.
- First posted on arXiv 31 Jan 2022.

## Builds on (most cited first, 1 of 1)

- [Machine Learning in Compiler Optimisation](https://mlsanity.com/paper/1805.03441/) (2018)

## Built on by (most cited first, 2 of 2)

- [Genetic Improvement in the Shackleton Framework for Optimizing LLVM Pass Sequences](https://mlsanity.com/paper/2204.13261/) (2022)
- [Reinforced Linear Genetic Programming](https://mlsanity.com/paper/2601.09736/) (2026)

## Abstract (arXiv)

In this paper we introduce Shackleton as a generalized framework enabling the application of linear genetic programming -- a technique under the umbrella of evolutionary algorithms -- to a variety of use cases. We also explore here a novel application for this class of methods: optimizing sequences of LLVM optimization passes. The algorithm underpinning Shackleton is discussed, with an emphasis on the effects of different features unique to the framework when applied to LLVM pass sequences. Combined with analysis of different hyperparameter settings, we report the results on automatically optimizing pass sequences using Shackleton for two software applications at differing complexity levels. Finally, we reflect on the advantages and limitations of our current implementation and lay out a path for further improvements. These improvements aim to surpass hand-crafted solutions with an automatic discovery method for an optimal pass sequence.
