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

Michael Zolotukhin via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Oct 4 15:07:10 PDT 2017


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.

Michael


https://reviews.llvm.org/D38154





More information about the llvm-commits mailing list