@@ -8,27 +8,22 @@ target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16
8
8
define i32 @test () {
9
9
; CHECK-LABEL: @test(
10
10
; CHECK-NEXT: entry:
11
- ; CHECK-NEXT: [[FLATTEN_TRIPCOUNT:%.*]] = mul i64 6, 6
12
11
; CHECK-NEXT: br label [[FOR_COND1_PREHEADER_I:%.*]]
13
12
; CHECK: for.cond1.preheader.i:
14
- ; CHECK-NEXT: [[INDVAR1 :%.*]] = phi i64 [ [[INDVAR_NEXT2 :%.*]], [[FOR_INC5_I :%.*]] ] , [ 0, [[ENTRY :%.*]] ]
13
+ ; CHECK-NEXT: [[L_011_I :%.*]] = phi i32 [ 0, [[ENTRY :%.*]] ] , [ [[ADD6_I :%.*]], [[FOR_INC5_I :%.*]] ]
15
14
; CHECK-NEXT: br label [[WHILE_COND_I_PREHEADER_I:%.*]]
16
15
; CHECK: while.cond.i.preheader.i:
17
- ; CHECK-NEXT: [[INDVAR:%.*]] = phi i64 [ 0, [[FOR_COND1_PREHEADER_I]] ]
18
- ; CHECK-NEXT: [[STOREMERGE9_I:%.*]] = phi i32 [ 0, [[FOR_COND1_PREHEADER_I]] ]
19
- ; CHECK-NEXT: [[INDVAR_NEXT:%.*]] = add i64 [[INDVAR]], 1
20
- ; CHECK-NEXT: [[ADD_I:%.*]] = add nuw nsw i32 [[STOREMERGE9_I]], 1
21
- ; CHECK-NEXT: [[CMP2_I:%.*]] = icmp ult i64 [[INDVAR]], 5
22
- ; CHECK-NEXT: br label [[FOR_INC5_I]]
16
+ ; CHECK-NEXT: [[STOREMERGE9_I:%.*]] = phi i32 [ 0, [[FOR_COND1_PREHEADER_I]] ], [ [[ADD_I:%.*]], [[WHILE_COND_I_PREHEADER_I]] ]
17
+ ; CHECK-NEXT: [[ADD_I]] = add nuw nsw i32 [[STOREMERGE9_I]], 1
18
+ ; CHECK-NEXT: [[CMP2_I:%.*]] = icmp ult i32 [[STOREMERGE9_I]], 5
19
+ ; CHECK-NEXT: br i1 [[CMP2_I]], label [[WHILE_COND_I_PREHEADER_I]], label [[FOR_INC5_I]]
23
20
; CHECK: for.inc5.i:
24
- ; CHECK-NEXT: [[ADD_I_LCSSA_WIDE:%.*]] = phi i64 [ [[INDVAR_NEXT]], [[WHILE_COND_I_PREHEADER_I]] ]
25
21
; CHECK-NEXT: [[ADD_I_LCSSA:%.*]] = phi i32 [ [[ADD_I]], [[WHILE_COND_I_PREHEADER_I]] ]
26
- ; CHECK-NEXT: [[TMP0:%.*]] = trunc i64 [[ADD_I_LCSSA_WIDE]] to i32
27
- ; CHECK-NEXT: [[INDVAR_NEXT2]] = add i64 [[INDVAR1]], 1
28
- ; CHECK-NEXT: [[EXITCOND_NOT_I:%.*]] = icmp eq i64 [[INDVAR_NEXT2]], [[FLATTEN_TRIPCOUNT]]
22
+ ; CHECK-NEXT: [[ADD6_I]] = add nuw nsw i32 [[L_011_I]], 1
23
+ ; CHECK-NEXT: [[EXITCOND_NOT_I:%.*]] = icmp eq i32 [[ADD6_I]], 6
29
24
; CHECK-NEXT: br i1 [[EXITCOND_NOT_I]], label [[E_EXIT:%.*]], label [[FOR_COND1_PREHEADER_I]]
30
25
; CHECK: e.exit:
31
- ; CHECK-NEXT: [[ADD_I_LCSSA_LCSSA:%.*]] = phi i32 [ [[TMP0 ]], [[FOR_INC5_I]] ]
26
+ ; CHECK-NEXT: [[ADD_I_LCSSA_LCSSA:%.*]] = phi i32 [ [[ADD_I_LCSSA ]], [[FOR_INC5_I]] ]
32
27
; CHECK-NEXT: ret i32 [[ADD_I_LCSSA_LCSSA]]
33
28
;
34
29
entry:
@@ -59,21 +54,20 @@ e.exit: ; preds = %for.inc5.i
59
54
define i32 @test64 () {
60
55
; CHECK-LABEL: @test64(
61
56
; CHECK-NEXT: entry:
62
- ; CHECK-NEXT: [[FLATTEN_TRIPCOUNT:%.*]] = mul i64 6, 6
63
57
; CHECK-NEXT: br label [[FOR_COND1_PREHEADER_I:%.*]]
64
58
; CHECK: for.cond1.preheader.i:
65
59
; CHECK-NEXT: [[L_011_I:%.*]] = phi i64 [ 0, [[ENTRY:%.*]] ], [ [[ADD6_I:%.*]], [[FOR_INC5_I:%.*]] ]
66
60
; CHECK-NEXT: br label [[WHILE_COND_I_PREHEADER_I:%.*]]
67
61
; CHECK: while.cond.i.preheader.i:
68
- ; CHECK-NEXT: [[STOREMERGE9_I:%.*]] = phi i64 [ 0, [[FOR_COND1_PREHEADER_I]] ]
69
- ; CHECK-NEXT: [[ADD_I:%.* ]] = add nuw nsw i64 [[STOREMERGE9_I]], 1
62
+ ; CHECK-NEXT: [[STOREMERGE9_I:%.*]] = phi i64 [ 0, [[FOR_COND1_PREHEADER_I]] ], [ [[ADD_I:%.*]], [[WHILE_COND_I_PREHEADER_I]] ]
63
+ ; CHECK-NEXT: [[ADD_I]] = add nuw nsw i64 [[STOREMERGE9_I]], 1
70
64
; CHECK-NEXT: [[CMP2_I:%.*]] = icmp ult i64 [[STOREMERGE9_I]], 5
71
- ; CHECK-NEXT: br label [[FOR_INC5_I]]
65
+ ; CHECK-NEXT: br i1 [[CMP2_I]], label [[WHILE_COND_I_PREHEADER_I]], label [[FOR_INC5_I]]
72
66
; CHECK: for.inc5.i:
73
67
; CHECK-NEXT: [[ADD_I_LCSSA_WIDEN:%.*]] = phi i64 [ [[ADD_I]], [[WHILE_COND_I_PREHEADER_I]] ]
74
68
; CHECK-NEXT: [[ADD_I_LCSSA:%.*]] = trunc i64 [[ADD_I_LCSSA_WIDEN]] to i32
75
69
; CHECK-NEXT: [[ADD6_I]] = add nuw nsw i64 [[L_011_I]], 1
76
- ; CHECK-NEXT: [[EXITCOND_NOT_I:%.*]] = icmp eq i64 [[ADD6_I]], [[FLATTEN_TRIPCOUNT]]
70
+ ; CHECK-NEXT: [[EXITCOND_NOT_I:%.*]] = icmp eq i64 [[ADD6_I]], 6
77
71
; CHECK-NEXT: br i1 [[EXITCOND_NOT_I]], label [[E_EXIT:%.*]], label [[FOR_COND1_PREHEADER_I]]
78
72
; CHECK: e.exit:
79
73
; CHECK-NEXT: [[ADD_I_LCSSA_LCSSA:%.*]] = phi i32 [ [[ADD_I_LCSSA]], [[FOR_INC5_I]] ]
0 commit comments