[PATCH] D114171: [SLP]Improve reductions analysis and emission, part 1.
Alexey Bataev via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Mon May 23 12:25:33 PDT 2022
ABataev added a comment.
In D114171#3530859 <https://reviews.llvm.org/D114171#3530859>, @alexfh wrote:
> And finally a reduced test case:
>
> $ cat q.cc
> struct S {
> template<int N>
> bool f() const;
> };
> int f(const S& s) {
> int d = 0;
> if (s.f<1>()) ++d;
> // 4998 lines skipped
> if (s.f<5000>()) ++d;
> if (d == 0) {
> return s.f<-1>();
> }
> return 0;
> }
> $ ./clang-11004 --target=x86_64--linux-gnu -O1 -fslp-vectorize -c -xc++
> q.cc -o q.o -ftime-report
> ===-------------------------------------------------------------------------===
> ... Pass execution timing report ...
> ===-------------------------------------------------------------------------===
> Total Execution Time: 8.7398 seconds (8.8367 wall clock)
>
> ---User Time--- --System Time-- --User+System-- ---Wall Time---
> --- Name ---
> 7.9827 ( 91.6%) 0.0081 ( 29.3%) 7.9908 ( 91.4%) 8.0861 ( 91.5%)
> SLPVectorizerPass
> 0.1950 ( 2.2%) 0.0002 ( 0.6%) 0.1952 ( 2.2%) 0.1962 ( 2.2%)
> InstCombinePass
> ...
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
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