[PATCH] D38154: [PassManager] Run global opts after the inliner

Davide Italiano via llvm-commits llvm-commits at lists.llvm.org
Wed Oct 4 15:29:32 PDT 2017


On Oct 4, 2017 3:07 PM, "Michael Zolotukhin via Phabricator via
llvm-commits" <llvm-commits at lists.llvm.org> wrote:

mzolotukhin added a comment.

> How do you get the diff out of curiosity?

It's produced by the `compare.py` script:

  python test-suite/utils/compare.py -m compile_time unpatched.json
patched.json
  python test-suite/utils/compare.py -m size unpatched.json patched.json

But to run it, you first will need `pip install pandas`, which can take up
to 10 minutes :)

As for the results: even though I'm not super excited with the (mostly)
slowdowns, the gain on the real project probably outweigh them, so I think
it's the right thing to do.

One follow-up thought: how hard will it be to run GDCE only on functions?
AFAIU, the gain is expected from removing functions that have been inlined
and thus no longer need to be compiled. I wonder if we can avoid the
slowdowns by looking only for the dead functions when we call GDCE after
inlining.


I'll look into it as follow up. Do you have other comments? If not, I'll
check this in and port to the new PM
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20171004/b53298e4/attachment.html>


More information about the llvm-commits mailing list