Pinhão: An Auto-tunning System for Compiler Optimizations Guided by Hot Functions
Marcos Yukio Siraichi (State University of Maringá, Brazil)
Caio Henrique Segawa Tonetti (State University of Maringá, Brazil)
Anderson Faustino da Silva (State University of Maringá, Brazil)
Abstract: The literature presents several auto-tunning systems for compiler optimizations, which employ a variety of techniques; however, most systems do not explore the premise that a large amount of program runtime is spent by hot functions which are the portions at which compiler optimizations will provide the greatest benefit. In this paper, we propose Pinhão, an auto-tunning system for compiler optimizations that uses hot functions to guide the process of exploring which compiler optimizations should be enabled during target code generation. Pinhão employs a hybrid technique - a machine learning technique, as well as an iterative compilation technique - to find an effective compiler optimization sequence that fits the characteristics of the unseen program. We implemented Pinhão as a LLVM tool, and the experimental results indicate that Pinhão finds effective sequences evaluating a few points in the search space. Furthermore, Pinh~ao outperforms the well-engineered compiler optimization levels, as well as other techniques.
Keywords: auto-tunning system, compiler, iterative compilation, machine learning, optimization