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

Xinliang David Li via llvm-commits llvm-commits at lists.llvm.org
Thu May 25 16:21:45 PDT 2017


On Thu, May 25, 2017 at 4:11 PM, Chandler Carruth via Phabricator <
reviews at reviews.llvm.org> wrote:

> 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.
>

yes  that is the plan.  This is before we turn it on by default.


>
> 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.
>

The mechanism is the same -- mind you that inliner itself can create
partial inining opportunities, especially so with the bottom up inliner.

David



>
> https://reviews.llvm.org/D33540
>
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20170525/fe0a7fd7/attachment.html>


More information about the llvm-commits mailing list