[PATCH] D32666: [PartialInlining] Add support in partial inliner to use cost analysis in inliner

Xinliang David Li via llvm-commits llvm-commits at lists.llvm.org
Fri Apr 28 17:26:10 PDT 2017


On Fri, Apr 28, 2017 at 5:07 PM, Davide Italiano via Phabricator <
reviews at reviews.llvm.org> wrote:

> davide added inline comments.
>
>
> ================
> Comment at: lib/Transforms/IPO/PartialInlining.cpp:111
> +    AU.addRequired<ProfileSummaryInfoWrapperPass>();
> +    AU.addRequired<TargetTransformInfoWrapperPass>();
>    }
> ----------------
> Why don't we preserve TTI? (not that it matters for performances, but)
>
>
> ================
> Comment at: lib/Transforms/IPO/PartialInlining.cpp:302-306
> +  if (IC.isAlways()) {
> +    ORE.emit(OptimizationRemarkAnalysis(DEBUG_TYPE, "AlwaysInline", Call)
> +             << NV("Callee", Callee)
> +             << " should always be fully inlined, not partially");
> +    return false;
> ----------------
> Can you add a test that triggers this?
>
>
> ================
> Comment at: lib/Transforms/IPO/PartialInlining.cpp:309-323
> +  if (IC.isNever()) {
> +    ORE.emit(OptimizationRemarkMissed(DEBUG_TYPE, "NeverInline", Call)
> +             << NV("Callee", Callee) << " not partially inlined into "
> +             << NV("Caller", Caller)
> +             << " because it should never be inlined (cost=never)");
> +    return false;
> +  }
> ----------------
> and these as well, maybe
>
>
>
There is a test case for noinline case.

David



> https://reviews.llvm.org/D32666
>
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20170428/6b6b3e94/attachment.html>


More information about the llvm-commits mailing list