File tree Expand file tree Collapse file tree 2 files changed +17
-1
lines changed
test/Transforms/SLPVectorizer/SystemZ Expand file tree Collapse file tree 2 files changed +17
-1
lines changed Original file line number Diff line number Diff line change @@ -13183,7 +13183,7 @@ void BoUpSLP::computeMinimumValueSizes() {
13183
13183
// We only attempt to truncate integer expressions.
13184
13184
auto &TreeRoot = VectorizableTree[0]->Scalars;
13185
13185
auto *TreeRootIT = dyn_cast<IntegerType>(TreeRoot[0]->getType());
13186
- if (!TreeRootIT)
13186
+ if (!TreeRootIT || VectorizableTree.front()->State == TreeEntry::NeedToGather )
13187
13187
return;
13188
13188
13189
13189
// Ensure the roots of the vectorizable tree don't form a cycle.
Original file line number Diff line number Diff line change
1
+ ; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --version 4
2
+ ; RUN: opt -passes=slp-vectorizer -S -slp-optimize-identity-hor-reduction-ops=false < %s -mtriple=s390x-ibm-linux -mcpu=arch13 | FileCheck %s
3
+
4
+ define void @foo () {
5
+ ; CHECK-LABEL: define void @foo(
6
+ ; CHECK-SAME: ) #[[ATTR0:[0-9]+]] {
7
+ ; CHECK-NEXT: [[TMP1:%.*]] = call i32 @llvm.vector.reduce.add.v4i32(<4 x i32> zeroinitializer)
8
+ ; CHECK-NEXT: store i32 [[TMP1]], ptr null, align 4
9
+ ; CHECK-NEXT: ret void
10
+ ;
11
+ %1 = add i32 0 , 0
12
+ %2 = add i32 %1 , 0
13
+ %3 = add i32 %2 , 0
14
+ store i32 %3 , ptr null , align 4
15
+ ret void
16
+ }
You can’t perform that action at this time.
0 commit comments