[PATCH] D114171: [SLP]Improve reductions analysis and emission, part 1.

Alexander Kornienko via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon May 23 16:07:18 PDT 2022


alexfh added a comment.

In D114171#3532220 <https://reviews.llvm.org/D114171#3532220>, @ABataev wrote:

> Numbers after 319a722f6fca365c8f71f457eac60bc3909988ee <https://reviews.llvm.org/rG319a722f6fca365c8f71f457eac60bc3909988ee>:
>
>   ===-------------------------------------------------------------------------===
>                         ... Pass execution timing report ...
>   ===-------------------------------------------------------------------------===
>     Total Execution Time: 0.9849 seconds (0.9873 wall clock)
>   
>      ---User Time---   --System Time--   --User+System--   ---Wall Time---  --- Name ---
>      0.2366 ( 24.3%)   0.0009 (  8.9%)   0.2375 ( 24.1%)   0.2381 ( 24.1%)  SLPVectorizerPass
>      0.2188 ( 22.4%)   0.0000 (  0.1%)   0.2189 ( 22.2%)   0.2193 ( 22.2%)  InstCombinePass
>      0.1803 ( 18.5%)   0.0001 (  0.9%)   0.1804 ( 18.3%)   0.1807 ( 18.3%)  ModuleInlinerWrapperPass

Thank you Alexey! This patch significantly improves the situation for the reduced test case. It also cuts the time on the original problematic file around 2x compared to 4e271fc49517362a9333371fb1ab7e865d4c1b0e <https://reviews.llvm.org/rG4e271fc49517362a9333371fb1ab7e865d4c1b0e>:

  ===-------------------------------------------------------------------------===
                        ... Pass execution timing report ...
  ===-------------------------------------------------------------------------===
    Total Execution Time: 256.7450 seconds (256.7466 wall clock)
  
     ---User Time---   --System Time--   --User+System--   ---Wall Time---  --- Name ---
    79.6665 ( 33.7%)   0.0000 (  0.0%)  79.6665 ( 31.0%)  79.6728 ( 31.0%)  SLPVectorizerPass
    48.2242 ( 20.4%)   5.8213 ( 29.1%)  54.0455 ( 21.1%)  54.0537 ( 21.1%)  ModuleInlinerWrapperPass
    47.4894 ( 20.1%)   5.5481 ( 27.7%)  53.0375 ( 20.7%)  53.0450 ( 20.7%)  DevirtSCCRepeatedPass
    22.3364 (  9.4%)   0.2979 (  1.5%)  22.6343 (  8.8%)  22.6339 (  8.8%)  GVNPass
    11.2305 (  4.7%)   1.0957 (  5.5%)  12.3262 (  4.8%)  12.3197 (  4.8%)  InstCombinePass
     4.9344 (  2.1%)   1.2685 (  6.3%)   6.2029 (  2.4%)   6.2003 (  2.4%)  InlinerPass

The time is still much higher (5s -> 79s) than it was before D114171 <https://reviews.llvm.org/D114171>:

  Total Execution Time: 181.4693 seconds (181.4723 wall clock)
  
   ---User Time---   --System Time--   --User+System--   ---Wall Time---  --- Name ---
  48.1675 ( 29.7%)   5.6593 ( 29.3%)  53.8269 ( 29.7%)  53.8332 ( 29.7%)  ModuleInlinerWrapperPass
  47.4270 ( 29.2%)   5.3983 ( 28.0%)  52.8253 ( 29.1%)  52.8315 ( 29.1%)  DevirtSCCRepeatedPass
  22.1909 ( 13.7%)   0.2916 (  1.5%)  22.4824 ( 12.4%)  22.4825 ( 12.4%)  GVNPass
  11.1989 (  6.9%)   1.0292 (  5.3%)  12.2281 (  6.7%)  12.2204 (  6.7%)  InstCombinePass
   4.9943 (  3.1%)   1.1928 (  6.2%)   6.1871 (  3.4%)   6.1842 (  3.4%)  InlinerPass
   5.2197 (  3.2%)   0.0000 (  0.0%)   5.2198 (  2.9%)   5.2201 (  2.9%)  SLPVectorizerPass

Looking at what else the original file contains that makes SLPVectorizer slow.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D114171



More information about the llvm-commits mailing list