[PATCH] D90371: [DSE] Improve partial overlap detection
Florian Hahn via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Thu Oct 29 05:01:14 PDT 2020
fhahn accepted this revision.
fhahn added a comment.
This revision is now accepted and ready to land.
The initial split was quite crude and only re-used the existing utilities for partial store handling. Thanks for improving this! I am sure there's further potential for improvements.
LGTM!
This gives nice improvements in some cases and compile-time looks neutral to slightly positive (http://llvm-compile-time-tracker.com/compare.php?from=df63eedef64d715ce1f31843f7de9c11fe1e597f&to=e3bdfcf94a9eeae6e006d010464f0c1b3550577d&stat=instructions)
Same hash: 196 (filtered out)
Remaining: 41
Metric: dse.NumCompletePartials
Program base patch diff
test-suite...CI_Purple/SMG2000/smg2000.test 1.00 10.00 900.0%
test-suite.../CINT2000/252.eon/252.eon.test 44.00 392.00 790.9%
test-suite...rks/FreeBench/pifft/pifft.test 1.00 3.00 200.0%
test-suite.../Benchmarks/Bullet/bullet.test 36.00 97.00 169.4%
test-suite.../CINT2006/403.gcc/403.gcc.test 2.00 5.00 150.0%
test-suite...tions/lambda-0.1.3/lambda.test 1.00 2.00 100.0%
test-suite.../CINT2000/176.gcc/176.gcc.test 4.00 7.00 75.0%
test-suite...3.xalancbmk/483.xalancbmk.test 19.00 26.00 36.8%
test-suite...rks/tramp3d-v4/tramp3d-v4.test 37.00 50.00 35.1%
test-suite...marks/7zip/7zip-benchmark.test 28.00 37.00 32.1%
test-suite...yApps-C++/PENNANT/PENNANT.test 6.00 7.00 16.7%
test-suite...006/447.dealII/447.dealII.test 405.00 423.00 4.4%
Same hash: 196 (filtered out)
Remaining: 41
Metric: dse.NumFastStores
Program base patch diff
test-suite...rks/FreeBench/pifft/pifft.test 1.00 3.00 200.0%
test-suite...000/183.equake/183.equake.test 2.00 4.00 100.0%
test-suite...langs-C/football/football.test 5.00 9.00 80.0%
test-suite...lications/viterbi/viterbi.test 2.00 3.00 50.0%
test-suite...hmarks/McCat/08-main/main.test 15.00 20.00 33.3%
test-suite...arks/VersaBench/dbms/dbms.test 8.00 10.00 25.0%
test-suite...ks/Prolangs-C++/city/city.test 24.00 27.00 12.5%
test-suite.../CINT2000/175.vpr/175.vpr.test 11.00 12.00 9.1%
test-suite...ce/Benchmarks/PAQ8p/paq8p.test 63.00 68.00 7.9%
test-suite...arks/mafft/pairlocalalign.test 92.00 98.00 6.5%
test-suite.../CINT2000/252.eon/252.eon.test 2405.00 2556.00 6.3%
test-suite...CI_Purple/SMG2000/smg2000.test 153.00 162.00 5.9%
test-suite.../Benchmarks/Bullet/bullet.test 1312.00 1357.00 3.4%
test-suite.../CINT2000/176.gcc/176.gcc.test 587.00 603.00 2.7%
test-suite...tions/lambda-0.1.3/lambda.test 44.00 45.00 2.3%
test-suite...yApps-C++/PENNANT/PENNANT.test 46.00 47.00 2.2%
test-suite...chmarks/MallocBench/gs/gs.test 113.00 115.00 1.8%
test-suite...ications/JM/lencod/lencod.test 765.00 778.00 1.7%
test-suite...rks/tramp3d-v4/tramp3d-v4.test 893.00 905.00 1.3%
test-suite.../CINT2006/403.gcc/403.gcc.test 1204.00 1217.00 1.1%
test-suite...marks/7zip/7zip-benchmark.test 2189.00 2209.00 0.9%
test-suite...006/447.dealII/447.dealII.test 3013.00 3032.00 0.6%
test-suite...3.xalancbmk/483.xalancbmk.test 1475.00 1482.00 0.5%
test-suite...lications/ClamAV/clamscan.test 246.00 247.00 0.4%
test-suite...006/453.povray/453.povray.test 1233.00 1237.00 0.3%
test-suite...:: External/Povray/povray.test 1251.00 1255.00 0.3%
> Note: In fact, I think it would be cleaner implementation if isOverwrite returned fully clarified result in the first place whithout need to call isPartialOverwrite. This can be done as a follow up. What do you think?
sounds good to me.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D90371/new/
https://reviews.llvm.org/D90371
More information about the llvm-commits
mailing list