[LLVMdev] RFC - Profile Guided Optimization in LLVM
Jakob Stoklund Olesen
stoklund at 2pi.dk
Wed Jun 12 14:55:26 PDT 2013
On Jun 12, 2013, at 2:23 PM, Diego Novillo <dnovillo at google.com> wrote:
> In terms of optimizations, our (Google) experience is that
> inlining is the key beneficiary of profile information.
> Particularly, in big C++ applications. I expect to focus most
> of my attention on the inliner.
That sounds plausible to me. It seems like we might need a way of representing call graph profiling in addition to the existing branch probabilities?
FWIW, the greedy register allocator’s live range splitting algorithm is designed to consume profile information so it can push spill code into cold blocks. The primary interface is SpillPlacement::getBlockFrequency() which currently returns an estimate based on loop depth only.
/jakob
More information about the llvm-dev
mailing list