Contributor
Tarindu Jayatilaka

Machine Learning Guided Ordering of Compiler Optimization Passes


Mentors
William Moses, Hideto Ueno, Mircea Trofin
Organization
The LLVM Compiler Infrastructure

Developers generally use standard optimization pipelines like -O2 and -O3 to optimize their code. Manually crafted heuristics are used to determine which optimization passes to select and how to order the execution of those passes. However, this process is not tailored for a particular application, or kind of application, as it is designed to perform “reasonably well” for any input.

We want to improve the existing heuristics or replace the heuristics with machine learning-based models so that the LLVM compiler can provide a superior order of the passes customized per application.