2013 | OriginalPaper | Chapter
On the Determination of Inlining Vectors for Program Optimization
Authors : Rosario Cammarota, Alexandru Nicolau, Alexander V. Veidenbaum, Arun Kejariwal, Debora Donato, Mukund Madhugiri
Published in: Compiler Construction
Publisher: Springer Berlin Heidelberg
Activate our intelligent search to find suitable subject content or patents.
Select sections of text to find matching patents with Artificial Intelligence. powered by
Select sections of text to find additional relevant content using AI-assisted search. powered by
In this paper we propose a new technique and a framework to select inlining heuristic constraints - referred to as an
inlining vector
, for program optimization. The proposed technique uses machine learning to model the correspondence between inlining vectors and performance (
completion time
). The automatic selection of a machine learning algorithm to build such a model is part of our technique and we present a rigorous selection procedure. Subject to a given architecture, such a model evaluates the benefit of inlining combined with other global optimizations and selects an inlining vector that, in the limits of the model, minimizes the completion time of a program.
We conducted our experiments using the GNU GCC compiler and optimized 22 combinations
(program, input)
from SPEC CINT2006 on the state-of-the-art Intel Xeon Westmere architecture. Compared with optimization level, i.e.,
-O3
, our technique yields performance improvements ranging from 2% to 9%.