Skip to content

Commit 3863112

Browse files
committed
Remove trivial branch
1 parent 1e5f44e commit 3863112

File tree

1 file changed

+9
-8
lines changed

1 file changed

+9
-8
lines changed

llvm/test/Transforms/LoopVectorize/tail-folding-live-out-scalar-vf.ll

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,9 @@ define i64 @live_out_scalar_vf(i64 %n) {
1515
; CHECK-NEXT: br label %[[VECTOR_BODY:.*]]
1616
; CHECK: [[VECTOR_BODY]]:
1717
; CHECK-NEXT: [[INDEX:%.*]] = phi i64 [ 0, %[[VECTOR_PH]] ], [ [[INDEX_NEXT:%.*]], %[[VECTOR_BODY]] ]
18+
; CHECK-NEXT: [[VECTOR_RECUR:%.*]] = phi i64 [ 0, %[[VECTOR_PH]] ], [ [[TMP2:%.*]], %[[VECTOR_BODY]] ]
1819
; CHECK-NEXT: [[TMP1:%.*]] = add i64 [[INDEX]], 0
19-
; CHECK-NEXT: [[TMP2:%.*]] = add i64 [[INDEX]], 1
20+
; CHECK-NEXT: [[TMP2]] = add i64 [[INDEX]], 1
2021
; CHECK-NEXT: [[TMP3:%.*]] = icmp ugt i64 [[TMP1]], [[TRIP_COUNT_MINUS_1]]
2122
; CHECK-NEXT: [[TMP4:%.*]] = icmp ugt i64 [[TMP2]], [[TRIP_COUNT_MINUS_1]]
2223
; CHECK-NEXT: [[INDEX_NEXT]] = add i64 [[INDEX]], 2
@@ -33,23 +34,23 @@ define i64 @live_out_scalar_vf(i64 %n) {
3334
; CHECK-NEXT: [[TMP13:%.*]] = select i1 [[TMP12]], i64 [[TMP11]], i64 [[TMP8]]
3435
; CHECK-NEXT: [[LAST_ACTIVE_LANE:%.*]] = sub i64 [[TMP13]], 1
3536
; CHECK-NEXT: [[TMP14:%.*]] = sub i64 [[LAST_ACTIVE_LANE]], 1
36-
; CHECK-NEXT: [[TMP15:%.*]] = icmp uge i64 [[LAST_ACTIVE_LANE]], 1
37+
; CHECK-NEXT: [[TMP17:%.*]] = sub i64 [[TMP14]], 1
38+
; CHECK-NEXT: [[TMP15:%.*]] = icmp uge i64 [[TMP14]], 1
3739
; CHECK-NEXT: [[TMP16:%.*]] = select i1 [[TMP15]], i64 [[TMP2]], i64 [[TMP1]]
40+
; CHECK-NEXT: [[TMP18:%.*]] = icmp eq i64 [[LAST_ACTIVE_LANE]], 0
41+
; CHECK-NEXT: [[TMP19:%.*]] = select i1 [[TMP18]], i64 [[VECTOR_RECUR]], i64 [[TMP16]]
3842
; CHECK-NEXT: br label %[[EXIT:.*]]
3943
; CHECK: [[EXIT]]:
40-
; CHECK-NEXT: ret i64 [[TMP16]]
44+
; CHECK-NEXT: ret i64 [[TMP19]]
4145
;
4246
entry:
4347
br label %loop
4448

4549
loop:
46-
%iv = phi i64 [ 0, %entry ], [ %iv.next, %latch ]
47-
br label %latch
48-
49-
latch:
50+
%iv = phi i64 [ 0, %entry ], [ %iv.next, %loop ]
5051
; Need to use a phi otherwise the header mask will use a
5152
; VPWidenCanonicalIVRecipe instead of a VPScalarIVStepsRecipe.
52-
%exitval = phi i64 [ %iv, %loop ]
53+
%exitval = phi i64 [ 0, %entry ], [ %iv, %loop ]
5354
%iv.next = add i64 %iv, 1
5455
%ec = icmp eq i64 %iv, %n
5556
br i1 %ec, label %exit, label %loop

0 commit comments

Comments
 (0)