summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/TargetIntrinsicInfo.cpp
diff options
context:
space:
mode:
authorHal Finkel <hfinkel@anl.gov>2013-12-12 00:19:11 +0000
committerHal Finkel <hfinkel@anl.gov>2013-12-12 00:19:11 +0000
commitceb1f12d9a5a6bb9135796cfaccc84baf23a1a0f (patch)
treea6399cfc44b6dc26a33dc9e0437772d7b39faaf4 /llvm/lib/Target/TargetIntrinsicInfo.cpp
parent03071ab74c4f9efec0dab003eec5ec9c604a868c (diff)
downloadbcm5719-llvm-ceb1f12d9a5a6bb9135796cfaccc84baf23a1a0f.tar.gz
bcm5719-llvm-ceb1f12d9a5a6bb9135796cfaccc84baf23a1a0f.zip
Improve instruction scheduling for the PPC POWER7
Aside from a few minor latency corrections, the major change here is a new hazard recognizer which focuses on better dispatch-group formation on the POWER7. As with the PPC970's hazard recognizer, the most important thing it does is avoid load-after-store hazards within the same dispatch group. It uses the POWER7's special dispatch-group-terminating nop instruction (instead of inserting multiple regular nop instructions). This new hazard recognizer makes use of the scheduling dependency graph itself, built using AA information, to robustly detect the possibility of load-after-store hazards. significant test-suite performance changes (the error bars are 99.5% confidence intervals based on 5 test-suite runs both with and without the change -- speedups are negative): speedups: MultiSource/Benchmarks/FreeBench/pcompress2/pcompress2 -0.55171% +/- 0.333168% MultiSource/Benchmarks/TSVC/CrossingThresholds-dbl/CrossingThresholds-dbl -17.5576% +/- 14.598% MultiSource/Benchmarks/TSVC/Reductions-dbl/Reductions-dbl -29.5708% +/- 7.09058% MultiSource/Benchmarks/TSVC/Reductions-flt/Reductions-flt -34.9471% +/- 11.4391% SingleSource/Benchmarks/BenchmarkGame/puzzle -25.1347% +/- 11.0104% SingleSource/Benchmarks/Misc/flops-8 -17.7297% +/- 9.79061% SingleSource/Benchmarks/Shootout-C++/ary3 -35.5018% +/- 23.9458% SingleSource/Regression/C/uint64_to_float -56.3165% +/- 25.4234% SingleSource/UnitTests/Vectorizer/gcc-loops -18.5309% +/- 6.8496% regressions: MultiSource/Benchmarks/ASCI_Purple/SMG2000/smg2000 18.351% +/- 12.156% SingleSource/Benchmarks/Shootout-C++/methcall 27.3086% +/- 14.4733% llvm-svn: 197099
Diffstat (limited to 'llvm/lib/Target/TargetIntrinsicInfo.cpp')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud