[PATCHES] A module inliner pass with a greedy call site queue

Chandler Carruth chandlerc at google.com
Wed Aug 27 14:37:38 PDT 2014


On Wed, Aug 27, 2014 at 2:29 PM, Yin Ma <yinma at codeaurora.org> wrote:

> The last sentence was a typo. We did observe using a kind of top down
> approach in greedy inliner
>
> resulted in less number of symbols remained, smaller overall code size and
> similar or better performance
>
> compared with SCC inliner for chromium with –Os.
>

This is somewhat apples-to-oranges though in multiple dimensions:

1) It's not clear that the thresholds you use and the ones the SCC inliner
uses are all that closely related. It's possible that the thresholds for
-Os are just wrong for the SCC-based inliner.

2) The two inlining frameworks are *completely different*, not just
different in the top-down or bottom-up way. For example, you can use a hack
in the pass manager to get basic loop information and other inputs to
inlining that the current SCC inliner doesn't have. If you want comparable
data, the two inliners need to work in the same way.


(And of course, I want to re-iterate that I don't necessarily claim
Chromium is representative. In many ways it is better than SPEC, but it has
its own special limitations. For example, it has had a great deal of hand
tuning of the *available* inline definitions to work around deficiencies in
the myriad of compilers that are used impacting both performance and
code-size)
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20140827/9c485096/attachment.html>


More information about the llvm-commits mailing list