[llvm] [GVN] Drop Clobber dependency if store may overwrite only the same value (PR #68322)

Sergey Kachkov via llvm-commits llvm-commits at lists.llvm.org
Thu Oct 5 08:32:08 PDT 2023


skachkov-sc wrote:

Results on test-suite with SPEC2006 (number of removed redundant loads):
```
Metric: gvn.NumGVNLoad

Program                                                                                   gvn.NumGVNLoad                
                                                                                          before         after   diff   
                                  test-suite :: MultiSource/Benchmarks/Ptrdist/ft/ft.test    0.00           1.00    inf%
        test-suite :: SingleSource/Benchmarks/Polybench/medley/reg_detect/reg_detect.test   72.00        1352.00 1777.8%
test-suite :: SingleSource/Benchmarks/Polybench/linear-algebra/solvers/durbin/durbin.test    2.00           4.00  100.0%
                            test-suite :: MultiSource/Benchmarks/Olden/health/health.test    1.00           2.00  100.0%
      test-suite :: MultiSource/Benchmarks/MiBench/consumer-typeset/consumer-typeset.test 1388.00        2371.00   70.8%
                               test-suite :: MultiSource/Benchmarks/McCat/09-vor/vor.test   12.00          20.00   66.7%
                           test-suite :: MultiSource/Benchmarks/VersaBench/dbms/dbms.test    3.00           4.00   33.3%
                                test-suite :: External/SPEC/CINT2006/429.mcf/429.mcf.test    6.00           8.00   33.3%
            test-suite :: MultiSource/Benchmarks/MiBench/consumer-jpeg/consumer-jpeg.test   85.00          96.00   12.9%
                  test-suite :: MultiSource/Benchmarks/mediabench/jpeg/jpeg-6a/cjpeg.test   88.00          99.00   12.5%
                  test-suite :: MultiSource/Benchmarks/MallocBench/espresso/espresso.test  106.00         118.00   11.3%
                               test-suite :: External/SPEC/CFP2006/444.namd/444.namd.test   62.00          69.00   11.3%
                                      test-suite :: MultiSource/Applications/hbd/hbd.test   36.00          40.00   11.1%
                test-suite :: MultiSource/Benchmarks/FreeBench/pcompress2/pcompress2.test   12.00          13.00    8.3%
                                  test-suite :: MultiSource/Applications/SPASS/SPASS.test  365.00         395.00    8.2%
                                      test-suite :: MultiSource/Applications/lua/lua.test   98.00         106.00    8.2%
                test-suite :: MultiSource/Benchmarks/DOE-ProxyApps-C++/miniFE/miniFE.test   49.00          53.00    8.2%
                           test-suite :: External/SPEC/CFP2006/450.soplex/450.soplex.test  282.00         305.00    8.2%
                            test-suite :: MultiSource/Benchmarks/Ptrdist/yacr2/yacr2.test   38.00          41.00    7.9%
                              test-suite :: MultiSource/Applications/sqlite3/sqlite3.test  307.00         319.00    3.9%
                            test-suite :: External/SPEC/CINT2006/456.hmmer/456.hmmer.test  208.00         215.00    3.4%
                        test-suite :: External/SPEC/CINT2006/464.h264ref/464.h264ref.test 2400.00        2480.00    3.3%
                             test-suite :: MultiSource/Applications/JM/ldecod/ldecod.test  655.00         676.00    3.2%
                             test-suite :: MultiSource/Applications/JM/lencod/lencod.test 2492.00        2559.00    2.7%
                   test-suite :: SingleSource/Benchmarks/Misc-C++/stepanov_container.test   40.00          41.00    2.5%
                          test-suite :: MultiSource/Benchmarks/tramp3d-v4/tramp3d-v4.test  726.00         743.00    2.3%
                  test-suite :: MultiSource/Benchmarks/DOE-ProxyApps-C++/CLAMR/CLAMR.test  829.00         847.00    2.2%
                                        test-suite :: MultiSource/Benchmarks/sim/sim.test   49.00          50.00    2.0%
                    test-suite :: MultiSource/Benchmarks/ASCI_Purple/SMG2000/smg2000.test  106.00         108.00    1.9%
                         test-suite :: External/SPEC/CFP2006/482.sphinx3/482.sphinx3.test  108.00         110.00    1.9%
                           test-suite :: MultiSource/Benchmarks/mafft/pairlocalalign.test  660.00         672.00    1.8%
                            test-suite :: External/SPEC/CINT2006/473.astar/473.astar.test   58.00          59.00    1.7%
                               test-suite :: External/SPEC/CFP2006/433.milc/433.milc.test  183.00         186.00    1.6%
                           test-suite :: External/SPEC/CFP2006/453.povray/453.povray.test 1050.00        1067.00    1.6%
                                  test-suite :: MultiSource/Benchmarks/Ptrdist/bc/bc.test   63.00          64.00    1.6%
                                test-suite :: External/SPEC/CINT2006/403.gcc/403.gcc.test 2412.00        2447.00    1.5%
          test-suite :: MultiSource/Benchmarks/mediabench/mpeg2/mpeg2dec/mpeg2decode.test   70.00          71.00    1.4%
                              test-suite :: MultiSource/Benchmarks/MallocBench/gs/gs.test  152.00         154.00    1.3%
                    test-suite :: External/SPEC/CINT2006/400.perlbench/400.perlbench.test  789.00         799.00    1.3%
                                 test-suite :: MultiSource/Applications/kimwitu++/kc.test  172.00         174.00    1.2%
                                test-suite :: MultiSource/Applications/oggenc/oggenc.test  445.00         449.00    0.9%
              test-suite :: MultiSource/Benchmarks/DOE-ProxyApps-C++/PENNANT/PENNANT.test  124.00         125.00    0.8%
                            test-suite :: External/SPEC/CINT2006/445.gobmk/445.gobmk.test  513.00         517.00    0.8%
                                  test-suite :: MultiSource/Benchmarks/Bullet/bullet.test 1692.00        1704.00    0.7%
                        test-suite :: External/SPEC/CINT2006/471.omnetpp/471.omnetpp.test  466.00         469.00    0.6%
                    test-suite :: External/SPEC/CINT2006/483.xalancbmk/483.xalancbmk.test 1943.00        1953.00    0.5%
            test-suite :: MultiSource/Benchmarks/MiBench/consumer-lame/consumer-lame.test  416.00         418.00    0.5%
                 test-suite :: MicroBenchmarks/LCALS/SubsetBLambdaLoops/lcalsBLambda.test  275.00         276.00    0.4%
                       test-suite :: MicroBenchmarks/LCALS/SubsetBRawLoops/lcalsBRaw.test  277.00         278.00    0.4%
                       test-suite :: MicroBenchmarks/LCALS/SubsetARawLoops/lcalsARaw.test  295.00         296.00    0.3%
                 test-suite :: MicroBenchmarks/LCALS/SubsetALambdaLoops/lcalsALambda.test  298.00         299.00    0.3%
                 test-suite :: MicroBenchmarks/LCALS/SubsetCLambdaLoops/lcalsCLambda.test  299.00         300.00    0.3%
                       test-suite :: MicroBenchmarks/LCALS/SubsetCRawLoops/lcalsCRaw.test  312.00         313.00    0.3%
                              test-suite :: MultiSource/Applications/ClamAV/clamscan.test  737.00         738.00    0.1%
                            test-suite :: MultiSource/Benchmarks/7zip/7zip-benchmark.test 1466.00        1467.00    0.1%
```

https://github.com/llvm/llvm-project/pull/68322


More information about the llvm-commits mailing list