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.
翻译:基因改良是一种搜索技术,旨在改进一个特定可接受的问题解决方案。 在本文中,我们介绍了新使用的基因改良方法,以找到针对特定问题的优化LLVM通过序列。我们在线性基因编程框架Shackleton中开发了一个跨级别补丁代表,以发展适用于默认优化通过序列的修改。我们的GI演进解决方案比在运行时优化的默认代码生成选项的O3优化水平提高了3.7 % 运行时间。 拟议的GI方法提供了一种自动找到针对特定问题的优化序列的方法,在没有专家领域知识的情况下改进一般性解决方案。在本文中,我们讨论了Shackleton框架的GI特征的优点和局限性,并介绍了我们的成果。