[PATCH] D69556: [CodeGen] Move ARMCodegenPrepare to TypePromotion

Sam Parker via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Nov 6 03:26:31 PST 2019


samparker added a subscriber: hfinkel.
samparker added a comment.

Sorry for the delay on this, setting up running benchmarks on my machine took far longer than I expected! I had forgotten that aarch64 already addressing the uxts by enabling cmps to perform, so these results are just for arm. This pass was originally to target CoreMark, but its helpful in SPEC too:

| benchmark                                               | exec_time |
| External/SPEC/CINT2006/483.xalancbmk/483.xalancbmk.test | 2.6%      |
| External/SPEC/CFP2006/450.soplex/450.soplex.test        | -2.9%     |
| External/SPEC/CINT2006/400.perlbench/400.perlbench.test | -1.4%     |
| External/SPEC/CINT2006/403.gcc/403.gcc.test             | -0.9%     |
| SPEC2006 Geomean                                        | -0.3%     |
|

I had hoped that xalancbmk would show an improvement, as the pass removes almost half of the unsigned extends from the code, but its execution time was highly variable - even on aarch64. I also wasn't expecting an FP benchmark to be affected, but soplex has two thirds of its uxts removed.

Ping @asb @atanasyan

@hfinkel From a quick look at the power isa, this could also be useful to you?


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D69556/new/

https://reviews.llvm.org/D69556





More information about the llvm-commits mailing list