Lightweight Feedback-Directed Cross-Module Optimization
Venue
Proceedings of International Symposium on Code Generation and Optimization (CGO), IEEE (2010)
Publication Year
2010
Authors
Xinliang David Li, Raksit Ashok, Robert Hundt
BibTeX
Abstract
Cross-module inter-procedural compiler optimization (IPO) and Feedback-Directed
Optimization (FDO) are two important compiler techniques delivering solid
performance gains. The combination of IPO and FDO delivers peak performance, but
also multiplies both techniques' usability problems. In this paper, we present
LIPO, a novel static IPO framework, which integrates IPO and FDO. Compared to
existing approaches, LIPO no longer requires writing of the compiler's intermediate
representation, eliminates the link-time inter-procedural optimization phase
entirely, and minimizes code re-generation overhead, thus improving scalability by
an order of magnitude. Compared to an FDO baseline, and without further specific
tuning, LIPO improves performance of SPEC2006 INT by 2.5%, and of SPEC2000 INT by
4.4%, with up to 23% for one benchmarks. We confirm our scalability results on a
set of large industrial applications, demonstrating 2.9% performance improvements
on average. Compile time overhead for full builds is less than 30%, incremental
builds take a few seconds on average, and storage requirements increase by only
24%, all compared to the FDO baseline.
