[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