[PATCH] D132208: [LoopIntWrapPredication] Loop Integer Wrapping Predication Pass

Sergei Kachkov via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Dec 8 01:17:42 PST 2022


kachkov98 added a comment.

Compile-time results on llvm-test-suite + SPEC2006 + SPEC2017:

  Program                                                                         loop-int-wrap-predication.NumPredicatedChains
  
           test-suite :: External/SPEC/CFP2017rate/510.parest_r/510.parest_r.test 2029.00                                      
                   test-suite :: External/SPEC/CFP2006/447.dealII/447.dealII.test  250.00                                      
                test-suite :: External/SPEC/CINT2017rate/502.gcc_r/502.gcc_r.test   24.00                                      
               test-suite :: External/SPEC/CINT2017speed/602.gcc_s/602.gcc_s.test   24.00                                      
                      test-suite :: SingleSource/UnitTests/matrix-types-spec.test   17.00                                      
                        test-suite :: External/SPEC/CINT2006/403.gcc/403.gcc.test   12.00                                      
                     test-suite :: MultiSource/Applications/JM/lencod/lencod.test    8.00                                      
    test-suite :: External/SPEC/CINT2017rate/523.xalancbmk_r/523.xalancbmk_r.test    7.00                                      
   test-suite :: External/SPEC/CINT2017speed/623.xalancbmk_s/623.xalancbmk_s.test    7.00                                      
         test-suite :: External/SPEC/CFP2017rate/526.blender_r/526.blender_r.test    7.00                                      
            test-suite :: External/SPEC/CINT2006/483.xalancbmk/483.xalancbmk.test    7.00                                      
                    test-suite :: MultiSource/Benchmarks/7zip/7zip-benchmark.test    7.00                                      
                      test-suite :: MultiSource/Applications/ClamAV/clamscan.test    6.00                                      
              test-suite :: SingleSource/UnitTests/Vectorizer/runtime-checks.test    6.00                                      
                 test-suite :: MultiSource/Benchmarks/Prolangs-C/agrep/agrep.test    6.00                                      
        test-suite :: MultiSource/Benchmarks/FreeBench/fourinarow/fourinarow.test    5.00                                      
    test-suite :: MultiSource/Benchmarks/MiBench/consumer-lame/consumer-lame.test    5.00                                      
                test-suite :: External/SPEC/CINT2006/464.h264ref/464.h264ref.test    4.00                                      
          test-suite :: MultiSource/Benchmarks/DOE-ProxyApps-C++/CLAMR/CLAMR.test    4.00                                      
                            test-suite :: MultiSource/Benchmarks/PAQ8p/paq8p.test    4.00                                      
              test-suite :: External/SPEC/CINT2017rate/525.x264_r/525.x264_r.test    3.00                                      
             test-suite :: External/SPEC/CINT2017speed/625.x264_s/625.x264_s.test    3.00                                      
              test-suite :: MultiSource/Benchmarks/Rodinia/backprop/backprop.test    2.00                                      
   test-suite :: External/SPEC/CINT2017speed/600.perlbench_s/600.perlbench_s.test    2.00                                      
                  test-suite :: SingleSource/Benchmarks/Misc-C++/oopack_v1p8.test    2.00                                      
    test-suite :: External/SPEC/CINT2017rate/500.perlbench_r/500.perlbench_r.test    2.00                                      
  test-suite :: MultiSource/Benchmarks/mediabench/mpeg2/mpeg2dec/mpeg2decode.test    2.00                                      
                   test-suite :: External/SPEC/CFP2006/453.povray/453.povray.test    1.00                                      
                 test-suite :: External/SPEC/CINT2017speed/657.xz_s/657.xz_s.test    1.00                                      
                  test-suite :: MultiSource/Benchmarks/tramp3d-v4/tramp3d-v4.test    1.00                                      
                  test-suite :: External/SPEC/CINT2017rate/557.xz_r/557.xz_r.test    1.00                                      
    test-suite :: MultiSource/Benchmarks/MiBench/consumer-jpeg/consumer-jpeg.test    1.00                                      
          test-suite :: External/SPEC/CINT2006/462.libquantum/462.libquantum.test    1.00                                      
          test-suite :: MultiSource/Benchmarks/mediabench/jpeg/jpeg-6a/cjpeg.test    1.00                                      
           test-suite :: External/SPEC/CFP2017rate/511.povray_r/511.povray_r.test    1.00

Big number of cases in 510.parest_r is due to template instantiations of almost the same code (sparse_matrix class methods). In this benchmark (on ref data), I've observed 1.7 % improvement on T-head RVB-ICE RISC-V board with XuanTie C910 core (before: 3 090 706 ms, after: 3 038 376 ms). Results on SPEC2006:

  Benchmark	baseline, ms	optimized, ms	diff
  400.perlbench	1 493 603,64	1 497 198,00	100,24%
  401.bzip2	1 905 760,43	1 903 672,13	99,89%
  403.gcc	        1 495 701,76	1 492 812,78	99,81%
  429.mcf	        2 009 662,24	2 018 930,79	100,46%
  445.gobmk	1 502 378,31	1 495 364,06	99,53%
  456.hmmer	1 900 147,45	1 860 074,98	97,89%
  458.sjeng	1 837 567,39	1 839 056,42	100,08%
  462.libquantum	1 171 120,66	1 156 115,71	98,72%
  464.h264ref	2 386 369,44	2 359 021,70	98,85%
  471.omnetpp	1 688 319,54	1 685 899,41	99,86%
  473.astar	1 670 467,01	1 661 233,42	99,45%
  483.xalancbmk	1 450 736,57	1 463 321,58	100,87%


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D132208/new/

https://reviews.llvm.org/D132208



More information about the llvm-commits mailing list