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

Davide Italiano via llvm-dev llvm-dev at lists.llvm.org
Tue Aug 8 08:21:06 PDT 2017


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.

Thanks,

--
Davide


More information about the llvm-dev mailing list