aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/CodeGen/BasicBlockSections.cpp
diff options
context:
space:
mode:
authorYuta Mukai <mukai.yuta@fujitsu.com>2024-02-02 10:33:44 +0900
committerGitHub <noreply@github.com>2024-02-02 10:33:44 +0900
commit70eab122bceb94b15218c86db7045ff2448ea979 (patch)
treeb955a7d32e650779b8c474a5da714dadb2394cbd /llvm/lib/CodeGen/BasicBlockSections.cpp
parentcc0d752f345f0e8995bec8807e3f365f38864fb6 (diff)
downloadllvm-70eab122bceb94b15218c86db7045ff2448ea979.zip
llvm-70eab122bceb94b15218c86db7045ff2448ea979.tar.gz
llvm-70eab122bceb94b15218c86db7045ff2448ea979.tar.bz2
[AArch64][MachinePipeliner] Add pipeliner support for AArch64 (#79589)
Add AArch64 implementations for the interfaces of MachinePipeliner pass. The pass is disabled by default for AArch64. It is enabled by specifying --aarch64-enable-pipeliner. 5 tests in llvm-test-suites show performance improvement by more than 5% on a Neoverse V1 processor. | test | improvement | | ---------------------------------------------------------------- | -----------:| | MultiSource/Benchmarks/TSVC/Recurrences-dbl/Recurrences-dbl.test | 16% | | MultiSource/Benchmarks/TSVC/Recurrences-dbl/Recurrences-flt.test | 16% | | SingleSource/Benchmarks/Adobe-C++/loop_unroll.test | 14% | | SingleSource/Benchmarks/Misc/flops-5.test | 13% | | SingleSource/Benchmarks/BenchmarkGame/spectral-norm.test | 6% | (base flags: -mcpu=neoverse-v1 -O3 -mrecip, flags for pipelining: -mllvm -aarch64-enable-pipeliner -mllvm -pipeliner-max-stages=100 -mllvm -pipeliner-max-mii=100 -mllvm -pipeliner-enable-copytophi=0) On the other hand, there are cases of significant performance degradation. Algorithm improvements and adding the option/pragma will be needed in the future.
Diffstat (limited to 'llvm/lib/CodeGen/BasicBlockSections.cpp')
0 files changed, 0 insertions, 0 deletions