aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
diff options
context:
space:
mode:
authorHal Finkel <hfinkel@anl.gov>2015-01-09 15:51:16 +0000
committerHal Finkel <hfinkel@anl.gov>2015-01-09 15:51:16 +0000
commitb359b735d6c0b90f6cfe583002ac56e1cc633f30 (patch)
tree653f5305ae4cb47d38f02bc73d7d25835aa329d8 /llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
parent68e8a9c0dd0c34031d350e1823ee82d62926d938 (diff)
downloadllvm-b359b735d6c0b90f6cfe583002ac56e1cc633f30.zip
llvm-b359b735d6c0b90f6cfe583002ac56e1cc633f30.tar.gz
llvm-b359b735d6c0b90f6cfe583002ac56e1cc633f30.tar.bz2
[PowerPC] Enable late partial unrolling on the POWER7
The P7 benefits from not have really-small loops so that we either have multiple dispatch groups in the loop and/or the ability to form more-full dispatch groups during scheduling. Setting the partial unrolling threshold to 44 seems good, empirically, for the P7. Compared to using no late partial unrolling, this yields the following test-suite speedups: SingleSource/Benchmarks/Adobe-C++/simple_types_constant_folding -66.3253% +/- 24.1975% SingleSource/Benchmarks/Misc-C++/oopack_v1p8 -44.0169% +/- 29.4881% SingleSource/Benchmarks/Misc/pi -27.8351% +/- 12.2712% SingleSource/Benchmarks/Stanford/Bubblesort -30.9898% +/- 22.4647% I've speculatively added a similar setting for the P8. Also, I've noticed that the unroller does not quite calculate the unrolling factor correctly for really tiny loops because it neglects to account for the fact that not every loop body replicant contains an ending branch and counter increment. I'll fix that later. llvm-svn: 225522
Diffstat (limited to 'llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp')
0 files changed, 0 insertions, 0 deletions