[PATCH] Inliner Enhancement
liujiangning1 at gmail.com
Wed Mar 18 23:39:22 PDT 2015
2015-03-18 19:09 GMT+08:00 Renato Golin <renato.golin at linaro.org>:
> Hi Jiangning,
> AFAICT, your design considerations are sound and relevant.
> The "ABC problem" seems nasty. Without much thinking, could you use a lazy
> evaluation by annotating code with metadata stating the current threshold
> for that particular BB/Loop? If instead of passing through the code
> multiple times (for ABC and ABD, etc), you could memoize the info in a
> graph-like metadata, so that you could re-use partial calculations in
> future inlinings. It may not be worth it, but if reading from this metadata
> is quicker than re-calculating, that it'd at least be faster. Also, such
> metadata could (should?) be quickly discarded anyway, as after inlining,
> the costs will change.
Yeah, agree with you. This is a piece of logic we can improve for
compile-time. But essentially I also agree with David, using new pass
manager should be able to partially solve the issue.
> About your benchmarks, they're very promising numbers. Taking 3% code-size
> for 1.5% performance is not a bad choice. Have you tested/benchmarked in
> other arches? Would be good to know at least on x86_64 and ARM how that
I just checked it on my x86 box, the performance impact of SPEC2000 is
> I'll see if I can run those same tests on ARM, at least.
> rL LLVM
> EMAIL PREFERENCES
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the llvm-commits