Pinhão: An Auto-tunning System for Compiler Optimizations Guided by Hot Functions
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...
Gespeichert in:
Veröffentlicht in: | J.UCS (Annual print and CD-ROM archive ed.) 2019-01, Vol.25 (1), p.42-72 |
---|---|
Hauptverfasser: | , , |
Format: | Artikel |
Sprache: | eng |
Schlagworte: | |
Online-Zugang: | Volltext bestellen |
Tags: |
Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
|
Zusammenfassung: | 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. |
---|---|
ISSN: | 0948-695X 0948-6968 |
DOI: | 10.3217/jucs-025-01-0042 |