[llvm-dev] RFC: PGO Late instrumentation for LLVM

Diego Novillo via llvm-dev llvm-dev at lists.llvm.org
Tue Aug 11 11:07:03 PDT 2015

One aspect of this that I have not seen discussed is that middle-end
instrumentation enables PGO optimizations to front-ends other than Clang.

While I agree that FE instrumentation could be improved, it still requires
every FE to implement essentially the same common functionality.  Having
PGO instrumentation generated in the middle-end, allows us every FE to
automatically take advantage of PGO.

Additionally, some of the overhead imposed by FE instrumentation is not
really all that easy to get rid of.  You end up duplicating functionality
that is more naturally implemented in the middle end.

I see the two approaches as supplementary, rather than complementary.  One
does not negate the other.  Some of the optimizations we'd do in the FE,
may hurt coverage.  Instead, by instrumenting in the middle end, you can
focus exclusively on performance (coverage be damned).

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20150811/aa16b582/attachment.html>

More information about the llvm-dev mailing list