[llvm-dev] [RFC][InlineCost] Modeling JumpThreading (or similar) in inline cost model

Chad Rosier via llvm-dev llvm-dev at lists.llvm.org
Tue Aug 8 08:23:11 PDT 2017



On 8/8/2017 11:21 AM, Davide Italiano wrote:
> On Mon, Aug 7, 2017 at 2:29 PM, Chad Rosier via llvm-dev
> <llvm-dev at lists.llvm.org> wrote:
>> On 8/7/2017 1:02 PM, Daniel Berlin wrote:
>>
>> Can someone fill me in on the issue with the dominator tree, precisely,
>> during inlining?
>> We now have the capability of quickly keeping it up to date without too much
>> trouble (it may require pushing it through a bunch of places, but the actual
>> changes to do should be easy).
>>
>>
>> If I'm not mistaken (which I very well could be since I'm no expert of the
>> pass managers, but) I believe we need to use the new pass manager to allow
>> CGSCC passes to use cached Function analyses (i.e., domtree).  IIUC, this is
>> what Sean was trying to point out.  Assuming that's true, we should be able
>> to use the new functionality to preserve the domtree until we get to the
>> inliner.
>>
>> I'm more then happy to work towards this approach, if the domtree would be
>> useful in the inliner..
>>
> Something that Chandler showed me a little while ago is that you could
> just make outlining decisions in the inliner walking up the dom tree
> from the coldest leaves as far as you can (according to profile),
> outline that particular subtree, and repeat again halting on some
> condition you pick. This is an example of where it could be useful.
Ah, yes.  That sounds very useful.  Thanks, Davide.

>
> Thanks,
>
> --
> Davide



More information about the llvm-dev mailing list