[PATCH] D33540: [PM/ThinLTO] Port the ThinLTO pipeline (both components) to the new PM.

Chandler Carruth via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu May 25 16:11:16 PDT 2017


chandlerc added a comment.

In https://reviews.llvm.org/D33540#765076, @davidxl wrote:

> I was aware  that partial inlining is available in both pre and post link thinLTO pipelines.  It is just not tuned. In fact,  the right thing to do for ThinLTO is only do function outlining in the prelink step -- this will shrink function size and exposes more importing. The regular inliner in the post -link phase can handle those functions properly.   Post thin-link needs another round of partial inlining after the inliner.


It sounds like the work around partial inlining really needs a wider discussion around the right design and approach. I can't find any RFC or other discussion about it. Could you write up your plans here and send them out? I think that would be very helpful.

When I discussed this a month or 2 ago with Davide I mentioned the long discussion I had about 5 years ago with Owen, Jakub, Eric, and others in the LLVM community around this. At the time, Owen strongly advised against using PartialInlining at all and to focus entirely on outlining to allow the normal inliner to do the partial inlining phase. That was a *long* time ago and so it may no longer be relevant, but we should at least have a pretty clear plan, rationale, concerns/tradeoffs discussion on the dev list.


https://reviews.llvm.org/D33540





More information about the llvm-commits mailing list