[PATCH] D98481: [Inliner] Do not inline mutual-recursive functions to avoid exponential size growth.

Xinliang David Li via llvm-commits llvm-commits at lists.llvm.org
Wed Mar 17 09:02:09 PDT 2021


On Tue, Mar 16, 2021 at 11:43 PM Hongtao Yu via Phabricator <
reviews at reviews.llvm.org> wrote:

> hoy added a comment.
>
> A cap sounds good to me, since that's something we've been looking for for
> a long time. Regarding the cap, what kind of cap do you think will be
> appropriate? A cap on function size growth or a cap on how many times an
> original callsite can be inlined iteratively? Regarding the later, I was
> wondering what's a good way to track a callsite across SCC and function
> passes.
>
>
I think the latter -- but in a local sense. For callsite a-->b, have a cap
on the total number of callsites that can be inlined into 'a' iteratively.
When the cap is reached, break out the worklist loop.

>
> Repository:
>   rG LLVM Github Monorepo
>
> CHANGES SINCE LAST ACTION
>   https://reviews.llvm.org/D98481/new/
>
> https://reviews.llvm.org/D98481
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20210317/4673a292/attachment.html>


More information about the llvm-commits mailing list