[PATCH] D61947: Merge of Global Constants not happening on Aarch64
Ramakota Reddy via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Fri May 24 08:42:35 PDT 2019
ramred01 added a comment.
In D61947#1503450 <https://reviews.llvm.org/D61947#1503450>, @efriedma wrote:
> This probably makes sense (the change basically just makes this code match 32-bit ARM), but I'd like to see codesize and performance numbers, since this will substantially change code generation in a lot of cases.
Here are the performance numbers for the LNT and SPEC Benchmarks:
`Performance Regressions - execution_time
=========================================
External/SPEC/CINT2000/164.gzip/164.gzip 2.13%
Performance Improvements - execution_time
=========================================
MultiSource/Benchmarks/VersaBench/8b10b/8b10b -8.50%
SingleSource/Benchmarks/McGill/queens -5.98%
SingleSource/Benchmarks/Misc/himenobmtxpa -3.99%
MultiSource/Applications/aha/aha -3.17%
SingleSource/Benchmarks/Adobe-C++/loop_unroll -2.23%
MultiSource/Benchmarks/TSVC/Expansion-dbl/Expansion-dbl -2.10%
External/SPEC/CINT2000/186.crafty/186.crafty -1.46%
MultiSource/Benchmarks/TSVC/StatementReordering-dbl/StatementReordering-dbl -1.21%
SingleSource/Benchmarks/Misc/richards_benchmark -1.10%
Performance Improvements - mem_bytes
====================================
SingleSource/Benchmarks/Misc/flops-5 -12.00%
SingleSource/Benchmarks/Misc/flops-8 -11.93%
SingleSource/Benchmarks/Misc/flops -11.64%`
As can be seen, except for a performance degradation of 2.13% in gzip, there is 1-8.5% performance improvements in execution time and about 12% in code size for some of the benchmarks, the last one being more relevant since we are optimizing for code size.
These numbers were obtained by running the benchmarks with -Oz (and not -O3), both for the baseline run as well as with the patch.
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D61947/new/
https://reviews.llvm.org/D61947
More information about the llvm-commits
mailing list