Skip to content
This repository was archived by the owner on Mar 28, 2020. It is now read-only.

Commit 724703a

Browse files
committed
[SLP] Modify test to check IR flags propagation for extra args.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@296369 91177308-0d34-0410-b5e6-96231b3b80d8
1 parent 87fd702 commit 724703a

File tree

1 file changed

+15
-15
lines changed

1 file changed

+15
-15
lines changed

test/Transforms/SLPVectorizer/X86/horizontal-list.ll

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1670,18 +1670,18 @@ define i32 @wobble(i32 %arg, i32 %bar) {
16701670
; CHECK-NEXT: [[TMP9:%.*]] = extractelement <4 x i32> [[TMP8]], i32 3
16711671
; CHECK-NEXT: [[TMP10:%.*]] = icmp eq <4 x i32> [[TMP8]], zeroinitializer
16721672
; CHECK-NEXT: [[TMP11:%.*]] = sext <4 x i1> [[TMP10]] to <4 x i32>
1673-
; CHECK-NEXT: [[R1:%.*]] = add i32 [[ARG]], undef
1674-
; CHECK-NEXT: [[R2:%.*]] = add i32 [[R1]], undef
1675-
; CHECK-NEXT: [[R3:%.*]] = add i32 [[R2]], undef
1676-
; CHECK-NEXT: [[R4:%.*]] = add i32 [[R3]], undef
1673+
; CHECK-NEXT: [[R1:%.*]] = add nsw i32 [[ARG]], undef
1674+
; CHECK-NEXT: [[R2:%.*]] = add nsw i32 [[R1]], undef
1675+
; CHECK-NEXT: [[R3:%.*]] = add nsw i32 [[R2]], undef
1676+
; CHECK-NEXT: [[R4:%.*]] = add nsw i32 [[R3]], undef
16771677
; CHECK-NEXT: [[RDX_SHUF:%.*]] = shufflevector <4 x i32> [[TMP11]], <4 x i32> undef, <4 x i32> <i32 2, i32 3, i32 undef, i32 undef>
16781678
; CHECK-NEXT: [[BIN_RDX:%.*]] = add <4 x i32> [[TMP11]], [[RDX_SHUF]]
16791679
; CHECK-NEXT: [[RDX_SHUF1:%.*]] = shufflevector <4 x i32> [[BIN_RDX]], <4 x i32> undef, <4 x i32> <i32 1, i32 undef, i32 undef, i32 undef>
16801680
; CHECK-NEXT: [[BIN_RDX2:%.*]] = add <4 x i32> [[BIN_RDX]], [[RDX_SHUF1]]
16811681
; CHECK-NEXT: [[TMP12:%.*]] = extractelement <4 x i32> [[BIN_RDX2]], i32 0
16821682
; CHECK-NEXT: [[BIN_EXTRA:%.*]] = add i32 [[TMP12]], [[ARG]]
16831683
; CHECK-NEXT: [[BIN_EXTRA3:%.*]] = add i32 [[BIN_EXTRA]], [[TMP9]]
1684-
; CHECK-NEXT: [[R5:%.*]] = add i32 [[R4]], undef
1684+
; CHECK-NEXT: [[R5:%.*]] = add nsw i32 [[R4]], undef
16851685
; CHECK-NEXT: ret i32 [[BIN_EXTRA3]]
16861686
;
16871687
; THRESHOLD-LABEL: @wobble(
@@ -1698,18 +1698,18 @@ define i32 @wobble(i32 %arg, i32 %bar) {
16981698
; THRESHOLD-NEXT: [[TMP9:%.*]] = extractelement <4 x i32> [[TMP8]], i32 3
16991699
; THRESHOLD-NEXT: [[TMP10:%.*]] = icmp eq <4 x i32> [[TMP8]], zeroinitializer
17001700
; THRESHOLD-NEXT: [[TMP11:%.*]] = sext <4 x i1> [[TMP10]] to <4 x i32>
1701-
; THRESHOLD-NEXT: [[R1:%.*]] = add i32 [[ARG]], undef
1702-
; THRESHOLD-NEXT: [[R2:%.*]] = add i32 [[R1]], undef
1703-
; THRESHOLD-NEXT: [[R3:%.*]] = add i32 [[R2]], undef
1704-
; THRESHOLD-NEXT: [[R4:%.*]] = add i32 [[R3]], undef
1701+
; THRESHOLD-NEXT: [[R1:%.*]] = add nsw i32 [[ARG]], undef
1702+
; THRESHOLD-NEXT: [[R2:%.*]] = add nsw i32 [[R1]], undef
1703+
; THRESHOLD-NEXT: [[R3:%.*]] = add nsw i32 [[R2]], undef
1704+
; THRESHOLD-NEXT: [[R4:%.*]] = add nsw i32 [[R3]], undef
17051705
; THRESHOLD-NEXT: [[RDX_SHUF:%.*]] = shufflevector <4 x i32> [[TMP11]], <4 x i32> undef, <4 x i32> <i32 2, i32 3, i32 undef, i32 undef>
17061706
; THRESHOLD-NEXT: [[BIN_RDX:%.*]] = add <4 x i32> [[TMP11]], [[RDX_SHUF]]
17071707
; THRESHOLD-NEXT: [[RDX_SHUF1:%.*]] = shufflevector <4 x i32> [[BIN_RDX]], <4 x i32> undef, <4 x i32> <i32 1, i32 undef, i32 undef, i32 undef>
17081708
; THRESHOLD-NEXT: [[BIN_RDX2:%.*]] = add <4 x i32> [[BIN_RDX]], [[RDX_SHUF1]]
17091709
; THRESHOLD-NEXT: [[TMP12:%.*]] = extractelement <4 x i32> [[BIN_RDX2]], i32 0
17101710
; THRESHOLD-NEXT: [[BIN_EXTRA:%.*]] = add i32 [[TMP12]], [[ARG]]
17111711
; THRESHOLD-NEXT: [[BIN_EXTRA3:%.*]] = add i32 [[BIN_EXTRA]], [[TMP9]]
1712-
; THRESHOLD-NEXT: [[R5:%.*]] = add i32 [[R4]], undef
1712+
; THRESHOLD-NEXT: [[R5:%.*]] = add nsw i32 [[R4]], undef
17131713
; THRESHOLD-NEXT: ret i32 [[BIN_EXTRA3]]
17141714
;
17151715
bb:
@@ -1725,11 +1725,11 @@ define i32 @wobble(i32 %arg, i32 %bar) {
17251725
%x4 = xor i32 %arg, %bar
17261726
%i4 = icmp eq i32 %x4, 0
17271727
%s4 = sext i1 %i4 to i32
1728-
%r1 = add i32 %arg, %s1
1729-
%r2 = add i32 %r1, %s2
1730-
%r3 = add i32 %r2, %s3
1731-
%r4 = add i32 %r3, %s4
1732-
%r5 = add i32 %r4, %x4
1728+
%r1 = add nsw i32 %arg, %s1
1729+
%r2 = add nsw i32 %r1, %s2
1730+
%r3 = add nsw i32 %r2, %s3
1731+
%r4 = add nsw i32 %r3, %s4
1732+
%r5 = add nsw i32 %r4, %x4
17331733
ret i32 %r5
17341734
}
17351735

0 commit comments

Comments
 (0)