[llvm-dev] Profile-based inlining status

Toshio Suganuma via llvm-dev llvm-dev at lists.llvm.org
Mon Mar 7 08:58:40 PST 2016



Hello,

I'm learning how LLVM performs PGO (profile-guided optimizations) by using
the instrumentation-based profile build (-fprofile-instr-generate and
-fprofile-instr-use).
However, I found there is no difference in inlining behaviors between with
and without PGO for a few spec benchmarks by checking the emit optimization
reports (-Rpass=inline -Rpass-missed=inline -Rpass-analysis=inline). Also,
the profile information collected contains only block counters, not call
counters. This seems to indicate that the profile-based inlining is not
supported yet (my LLVM/Clang is 3.9.0, mid Feb trunk). Is this the case?

The talk in the LLVM conference 2013 (
http://llvm.org/devmtg/2013-11/slides/Carruth-PGO.pdf) actually describes
that "the inliner doesn't even know profile information exists today" (page
89), but it's been more than two years since that statement. Can you let me
know the latest status or any ongoing work for the profile-based inlining
(both same-module and cross-module inlining)?

Thank you,
--Toshio
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20160308/3482eb5d/attachment.html>


More information about the llvm-dev mailing list