1 A Survey on Compiler Autotuning using Machine Learning
Since the mid 1990s, researchers have been trying to use machine learning based approaches to solve a number of di erent compiler optimization problems. These techniques primarily enhance the quality of the obtained results and, more importantly, make it feasible to tackle two main compiler optimization problems: optimization selection (choosing which optimizations to apply) and phase ordering (choosing the order of applying optimizations) The compiler optimization space continues to grow due to the advancement of applications, increasing number of compiler optimizations, and new target architectures. Generic optimization passes in compilers cannot fully leverage newly introduced optimizations and, therefore, cannot keep up with the pace of increasing options. This survey summarizes and classi es the recent advances in using machine learning for the compiler optimization eld, particularly on the two major problems of (1) selecting the best optimizations, and (2) the phase ordering of optimizations. The survey highlights the approaches taken so far, the obtained results, the ne grain classi cation among di erent approaches and nally, the in uential papers of the eld.