[LLVMbugs] [Bug 11035] New: -enable-lsr-nested performance summary
bugzilla-daemon at llvm.org
bugzilla-daemon at llvm.org
Wed Sep 28 16:03:31 PDT 2011
http://llvm.org/bugs/show_bug.cgi?id=11035
Summary: -enable-lsr-nested performance summary
Product: libraries
Version: trunk
Platform: PC
OS/Version: All
Status: ASSIGNED
Severity: enhancement
Priority: P
Component: Common Code Generator Code
AssignedTo: atrick at apple.com
ReportedBy: atrick at apple.com
CC: llvmbugs at cs.uiuc.edu
I measured the following perfomance changes after disabling LSR on
outer loops. The real reason for disabling the feature, is that LSR
does not yet know how to model nested loops and sometimes gets it very
wrong. So although we can theoretically benefit from doing this, we
should "first do no harm". Eventually, we may figure out how to model
it and reenable the feature.
These are simply the numbers I happen to get on my hardware and the
scores are highly sensitive to slight changes in codegen
(e.g. different triple) and microarchitecture, so others will not get
the same result.
There are only two significant regressions on mildly interesting
benchmarks:
1) huffbench on x86_64. This actually looks like a code alignment
issue. It's highly platform sensitive and unrelated to my change.
2) enc-rc4 on ARM. This is really an example of LSR still doing the wrong
thing even though it's limited to the inner loop. I'm working on
fixing those issues and internally tracking this one as
rdar://problem/10203729
** x86 speedups
MultiSource/Benchmarks/MiBench/telecomm-FFT/telecomm-fft 33.00%
SingleSource/Benchmarks/Misc/ffbench 23.00%
MultiSource/Benchmarks/MallocBench/gs/gs 17.00%
External/SPEC/CINT2006/471.omnetpp/471.omnetpp 7.00%
SingleSource/Benchmarks/Misc-C++/oopack_v1p8 6.00%
SingleSource/Benchmarks/Shootout-C++/except 6.00%
External/SPEC/CINT2006/401.bzip2/401.bzip2 5.00%
MultiSource/Benchmarks/MiBench/consumer-typeset/consumer-typeset 5.00%
MultiSource/Applications/spiff/spiff 4.00%
MultiSource/Benchmarks/Fhourstones-3.1/fhourstones3.1 4.00%
SingleSource/Benchmarks/BenchmarkGame/fannkuch 4.00%
External/SPEC/CINT2006/400.perlbench/400.perlbench 3.00%
External/skidmarks10/skidmarks.Subtest.Quicksort 3.00%
MultiSource/Applications/hexxagon/hexxagon 3.00%
MultiSource/Benchmarks/McCat/12-IOtest/iotest 3.00%
MultiSource/Benchmarks/Ptrdist/yacr2/yacr2 3.00%
MultiSource/Benchmarks/sim/sim 3.00%
External/SPEC/CINT2006/462.libquantum/462.libquantum 2.00%
External/skidmarks10/skidmarks.Subtest.FFT 2.00%
MultiSource/Applications/JM/lencod/lencod 2.00%
** x86 slowdowns
SingleSource/Benchmarks/CoyoteBench/huffbench -14.00%
MultiSource/Benchmarks/ASCI_Purple/SMG2000/smg2000 -6.00%
SingleSource/Benchmarks/Misc/oourafft -6.00%
External/skidmarks10/skidmarks.Subtest.Rijndael -5.00%
MultiSource/Applications/aha/aha -3.00%
SingleSource/Benchmarks/BenchmarkGame/n-body -3.00%
External/SPEC/CINT2000/253.perlbmk/253.perlbmk -2.00%
External/skidmarks10/skidmarks.Subtest.BigMult -2.00%
MultiSource/Applications/minisat/minisat -2.00%
MultiSource/Benchmarks/ASC_Sequoia/CrystalMk/CrystalMk -2.00%
** ARM speedups
SingleSource/Benchmarks/Shootout-C++/nestedloop 20.00%
SingleSource/Benchmarks/Dhrystone/dry 11.00%
MultiSource/Benchmarks/Olden/health/health 10.00%
External/SPEC/CINT95/124.m88ksim/124.m88ksim 9.00%
MultiSource/Benchmarks/ASC_Sequoia/IRSmk/IRSmk 9.00%
MultiSource/Benchmarks/MiBench/automotive-susan/automotive-susan 9.00%
MultiSource/Applications/JM/lencod/lencod 5.00%
MultiSource/Benchmarks/Prolangs-C++/ocean/ocean 5.00%
External/skidmarks10/skidmarks.Subtest.FFT 4.00%
MultiSource/Benchmarks/MallocBench/gs/gs 4.00%
SingleSource/Benchmarks/CoyoteBench/huffbench 4.00%
External/Povray/povray 3.00%
External/skidmarks10/skidmarks.Subtest.MPEG 3.00%
MultiSource/Benchmarks/MiBench/security-rijndael/security-rijndael 3.00%
MultiSource/Benchmarks/Prolangs-C++/life/life 3.00%
MultiSource/Benchmarks/Ptrdist/ks/ks 3.00%
SingleSource/Benchmarks/McGill/misr 3.00%
External/SPEC/CFP2000/188.ammp/188.ammp 2.00%
External/SPEC/CFP2006/444.namd/444.namd 2.00%
External/SPEC/CINT2000/186.crafty/186.crafty 2.00%
External/SPEC/CINT2006/401.bzip2/401.bzip2 2.00%
External/SPEC/CINT2006/456.hmmer/456.hmmer 2.00%
External/skidmarks10/skidmarks.Subtest.Ellipticrypt 2.00%
MultiSource/Applications/spiff/spiff 2.00%
MultiSource/Benchmarks/MiBench/telecomm-gsm/telecomm-gsm 2.00%
MultiSource/Benchmarks/Olden/treeadd/treeadd 2.00%
MultiSource/Benchmarks/Ptrdist/yacr2/yacr2 2.00%
** ARM slowdowns
MultiSource/Benchmarks/Trimaran/enc-rc4/enc-rc4 -14.00%
MultiSource/Benchmarks/McCat/08-main/main -10.00%
MultiSource/Benchmarks/Prolangs-C/gnugo/gnugo -9.00%
SingleSource/Benchmarks/Stanford/Puzzle -7.00%
MultiSource/Applications/aha/aha -6.00%
SingleSource/Benchmarks/Misc/ffbench -6.00%
SingleSource/Benchmarks/Dhrystone/fldry -5.00%
External/skidmarks10/skidmarks.Subtest.Quicksort -4.00%
SingleSource/Benchmarks/Adobe-C++/functionobjects -3.00%
SingleSource/Benchmarks/Shootout/sieve -3.00%
External/SPEC/CINT2006/471.omnetpp/471.omnetpp -2.00%
External/SPEC/CINT95/132.ijpeg/132.ijpeg -2.00%
MultiSource/Benchmarks/sim/sim -2.00%
SingleSource/Benchmarks/BenchmarkGame/n-body -2.00%
SingleSource/Benchmarks/BenchmarkGame/puzzle -2.00%
SingleSource/Benchmarks/Misc/ReedSolomon -2.00%
SingleSource/Benchmarks/Shootout/heapsort -2.00%
--
Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.
More information about the llvm-bugs
mailing list