[PATCH] D99774: [LoopUtils] Populate sibling loops in reverse program order on new pass manager
JinGu Kang via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Thu Apr 22 10:49:50 PDT 2021
jaykang10 added a comment.
In D99774#2707984 <https://reviews.llvm.org/D99774#2707984>, @fhahn wrote:
> In D99774#2705058 <https://reviews.llvm.org/D99774#2705058>, @jaykang10 wrote:
>
>> In D99774#2704838 <https://reviews.llvm.org/D99774#2704838>, @fhahn wrote:
>>
>>> Could you share any data of the impact this change has on runtime-performance/code-size on benchmarks?
>>
>> I have checked exec_time/size with llvm-test-suite on x86 and the result is as below.
>
> Thanks for sharing the data, but I am not sure the excerpt you shared motivates a change? The SingleSource/short-running ones probably do not provide much insight. I think the results for MultiSource/SPEC would be more interesting. In how many binaries does the patch cause changes? How does it impact runtime performance for longer benchmarks?
On AArch64, the performance difference from spec2006 with this change is as below.
diff(%)
400.perlbench 0
401.bzip2 1.04712
403.gcc -0.37736
429.mcf 0.571429
445.gobmk 0
456.hmmer 0
458.sjeng 0
462.libquantum 0.615385
464.h264ref -0.9009
471.omnetpp 0.684932
473.astar 0.571429
483.xalancbmk -0.37453
Additionally, with this change, IRCE pass handles more cases and it helps loop vectorizer vectorize more loops. Once this change is merged, I will start discussion to turn on IRCE pass as default on new pass manager.
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D99774/new/
https://reviews.llvm.org/D99774
More information about the llvm-commits
mailing list