Skip to content

Commit 61e2db1

Browse files
clin111vmaksimo
authored andcommitted
Fix LoopUnroll/2011-08-09-PhiUpdate.ll test
Use patterns for block names instead of fixed names. Remove checks for dead function.
1 parent 3e35c44 commit 61e2db1

File tree

1 file changed

+18
-24
lines changed

1 file changed

+18
-24
lines changed

llvm/test/Transforms/LoopUnroll/2011-08-09-PhiUpdate.ll

Lines changed: 18 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
; update_test_checks.py will hardcode the block names.
2+
; Used flexible names to align with the our version of the inliner.
3+
; If this needs an update in the future, it should just be copied to a new file.
4+
15
; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
26
; RUN: opt -S < %s -instcombine -inline -jump-threading -loop-unroll -unroll-count=4 | FileCheck %s
37
;
@@ -18,22 +22,23 @@ define i32 @foo() uwtable ssp align 2 {
1822
; CHECK-LABEL: @foo(
1923
; CHECK-NEXT: if.end:
2024
; CHECK-NEXT: [[CALL2:%.*]] = call i32 @getval()
21-
; CHECK-NEXT: br label [[LAND_LHS_TRUE_I:%.*]]
22-
; CHECK: land.lhs.true.i:
25+
; CHECK-NEXT: br label %[[LAND_LHS_TRUE_I:.*]]
26+
; CHECK: [[LAND_LHS_TRUE_I]]
2327
; CHECK-NEXT: [[CMP4_I:%.*]] = call zeroext i1 @check() #[[ATTR0:[0-9]+]]
2428
; CHECK-NEXT: br i1 [[CMP4_I]], label [[BAR_EXIT:%.*]], label [[DO_COND:%.*]]
2529
; CHECK: bar.exit:
2630
; CHECK-NEXT: [[TMP7_I:%.*]] = call i32 @getval() #[[ATTR0]]
2731
; CHECK-NEXT: [[CMP_NOT:%.*]] = icmp eq i32 [[TMP7_I]], 0
28-
; CHECK-NEXT: br i1 [[CMP_NOT]], label [[DO_COND]], label [[LAND_LHS_TRUE:%.*]]
29-
; CHECK: land.lhs.true:
32+
33+
; CHECK-NEXT: br i1 [[CMP_NOT]], label [[DO_COND]], label %[[LAND_LHS_TRUE:.*]]
34+
; CHECK: [[LAND_LHS_TRUE]]
3035
; CHECK-NEXT: [[CALL10:%.*]] = call i32 @getval()
3136
; CHECK-NEXT: [[CMP11:%.*]] = icmp eq i32 [[CALL10]], 0
3237
; CHECK-NEXT: br i1 [[CMP11]], label [[RETURN:%.*]], label [[DO_COND]]
3338
; CHECK: do.cond:
3439
; CHECK-NEXT: [[CMP18:%.*]] = icmp sgt i32 [[CALL2]], -1
35-
; CHECK-NEXT: br i1 [[CMP18]], label [[LAND_LHS_TRUE_I_1:%.*]], label [[RETURN]]
36-
; CHECK: land.lhs.true.i.1:
40+
; CHECK-NEXT: br i1 [[CMP18]], label %[[LAND_LHS_TRUE_I_1:.*]], label [[RETURN]]
41+
; CHECK: [[LAND_LHS_TRUE_I_1]]
3742
; CHECK-NEXT: [[CMP4_I_1:%.*]] = call zeroext i1 @check() #[[ATTR0]]
3843
; CHECK-NEXT: br i1 [[CMP4_I_1]], label [[BAR_EXIT_1:%.*]], label [[DO_COND_1:%.*]]
3944
; CHECK: bar.exit.1:
@@ -46,8 +51,8 @@ define i32 @foo() uwtable ssp align 2 {
4651
; CHECK-NEXT: br i1 [[CMP11_1]], label [[RETURN]], label [[DO_COND_1]]
4752
; CHECK: do.cond.1:
4853
; CHECK-NEXT: [[CMP18_1:%.*]] = icmp sgt i32 [[CALL2]], -1
49-
; CHECK-NEXT: br i1 [[CMP18_1]], label [[LAND_LHS_TRUE_I_2:%.*]], label [[RETURN]]
50-
; CHECK: land.lhs.true.i.2:
54+
; CHECK-NEXT: br i1 [[CMP18_1]], label %[[LAND_LHS_TRUE_I_2:.*]], label [[RETURN]]
55+
; CHECK: [[LAND_LHS_TRUE_I_2]]
5156
; CHECK-NEXT: [[CMP4_I_2:%.*]] = call zeroext i1 @check() #[[ATTR0]]
5257
; CHECK-NEXT: br i1 [[CMP4_I_2]], label [[BAR_EXIT_2:%.*]], label [[DO_COND_2:%.*]]
5358
; CHECK: bar.exit.2:
@@ -60,8 +65,8 @@ define i32 @foo() uwtable ssp align 2 {
6065
; CHECK-NEXT: br i1 [[CMP11_2]], label [[RETURN]], label [[DO_COND_2]]
6166
; CHECK: do.cond.2:
6267
; CHECK-NEXT: [[CMP18_2:%.*]] = icmp sgt i32 [[CALL2]], -1
63-
; CHECK-NEXT: br i1 [[CMP18_2]], label [[LAND_LHS_TRUE_I_3:%.*]], label [[RETURN]]
64-
; CHECK: land.lhs.true.i.3:
68+
; CHECK-NEXT: br i1 [[CMP18_2]], label %[[LAND_LHS_TRUE_I_3:.*]], label [[RETURN]]
69+
; CHECK: [[LAND_LHS_TRUE_I_3]]
6570
; CHECK-NEXT: [[CMP4_I_3:%.*]] = call zeroext i1 @check() #[[ATTR0]]
6671
; CHECK-NEXT: br i1 [[CMP4_I_3]], label [[BAR_EXIT_3:%.*]], label [[DO_COND_3:%.*]]
6772
; CHECK: bar.exit.3:
@@ -74,9 +79,9 @@ define i32 @foo() uwtable ssp align 2 {
7479
; CHECK-NEXT: br i1 [[CMP11_3]], label [[RETURN]], label [[DO_COND_3]]
7580
; CHECK: do.cond.3:
7681
; CHECK-NEXT: [[CMP18_3:%.*]] = icmp sgt i32 [[CALL2]], -1
77-
; CHECK-NEXT: br i1 [[CMP18_3]], label [[LAND_LHS_TRUE_I]], label [[RETURN]], !llvm.loop [[LOOP0:![0-9]+]]
82+
; CHECK-NEXT: br i1 [[CMP18_3]], label %[[LAND_LHS_TRUE_I]], label [[RETURN]], !llvm.loop [[LOOP0:![0-9]+]]
7883
; CHECK: return:
79-
; CHECK-NEXT: [[RETVAL_0:%.*]] = phi i32 [ [[TMP7_I]], [[LAND_LHS_TRUE]] ], [ 0, [[DO_COND]] ], [ [[TMP7_I_1]], [[LAND_LHS_TRUE_1]] ], [ 0, [[DO_COND_1]] ], [ [[TMP7_I_2]], [[LAND_LHS_TRUE_2]] ], [ 0, [[DO_COND_2]] ], [ [[TMP7_I_3]], [[LAND_LHS_TRUE_3]] ], [ 0, [[DO_COND_3]] ]
84+
; CHECK-NEXT: [[RETVAL_0:%.*]] = phi i32 [ [[TMP7_I]], %[[LAND_LHS_TRUE]] ], [ 0, [[DO_COND]] ], [ [[TMP7_I_1]], [[LAND_LHS_TRUE_1]] ], [ 0, [[DO_COND_1]] ], [ [[TMP7_I_2]], [[LAND_LHS_TRUE_2]] ], [ 0, [[DO_COND_2]] ], [ [[TMP7_I_3]], [[LAND_LHS_TRUE_3]] ], [ 0, [[DO_COND_3]] ]
8085
; CHECK-NEXT: ret i32 [[RETVAL_0]]
8186
;
8287
entry:
@@ -106,18 +111,7 @@ return: ; preds = %do.cond, %land.lhs.
106111
}
107112

108113
define linkonce_odr i32 @bar() nounwind uwtable ssp align 2 {
109-
;
110-
; CHECK-LABEL: @bar(
111-
; CHECK-NEXT: land.lhs.true:
112-
; CHECK-NEXT: [[CMP4:%.*]] = call zeroext i1 @check()
113-
; CHECK-NEXT: br i1 [[CMP4]], label [[COND_TRUE:%.*]], label [[COND_END:%.*]]
114-
; CHECK: cond.true:
115-
; CHECK-NEXT: [[TMP7:%.*]] = call i32 @getval()
116-
; CHECK-NEXT: br label [[COND_END]]
117-
; CHECK: cond.end:
118-
; CHECK-NEXT: [[COND:%.*]] = phi i32 [ [[TMP7]], [[COND_TRUE]] ], [ 0, [[LAND_LHS_TRUE:%.*]] ]
119-
; CHECK-NEXT: ret i32 [[COND]]
120-
;
114+
; This function is dead and should not be checked.
121115
entry:
122116
br i1 undef, label %land.lhs.true, label %cond.end
123117

0 commit comments

Comments
 (0)