@@ -31,14 +31,14 @@ for.body: ; preds = %for.body.preheader,
31
31
br i1 %call , label %cleanup.loopexit , label %for.cond
32
32
33
33
cleanup.loopexit: ; preds = %for.body, %for.cond
34
- ; CHECK: [[PHI:%.+]] = phi i32 [ 1, %for.body ], [ 0, %for.cond ]
34
+ ; CHECK: [[PHI:%.+]] = phi i64 [ 1, %for.body ], [ 0, %for.cond ]
35
35
%cleanup.dest.slot.0.ph = phi i1 [ true , %for.body ], [ false , %for.cond ]
36
36
br label %cleanup
37
37
38
38
cleanup: ; preds = %cleanup.loopexit, %entry
39
- ; CHECK: = phi i32 [ 0, %entry ], [ [[PHI]], %cleanup.loopexit ]
39
+ ; CHECK: = phi i64 [ 0, %entry ], [ [[PHI]], %cleanup.loopexit ]
40
40
%cleanup.dest.slot.0 = phi i1 [ false , %entry ], [ %cleanup.dest.slot.0.ph , %cleanup.loopexit ]
41
- ; CHECK: [[REG:%.+]] = trunc i32 {{%.+}} to i1
41
+ ; CHECK: [[REG:%.+]] = trunc i64 {{%.+}} to i1
42
42
; CHECK: ret i1 [[REG]]
43
43
ret i1 %cleanup.dest.slot.0
44
44
}
@@ -78,14 +78,14 @@ for.body: ; preds = %for.body.preheader,
78
78
br i1 %call , label %cleanup.loopexit , label %for.cond
79
79
80
80
cleanup.loopexit: ; preds = %for.body, %for.cond
81
- ; CHECK: [[PHI:%.+]] = phi i32 [ 1, %for.body ], [ 0, %for.cond ]
81
+ ; CHECK: [[PHI:%.+]] = phi i64 [ 1, %for.body ], [ 0, %for.cond ]
82
82
%cleanup.dest.slot.0.ph = phi i1 [ true , %for.body ], [ false , %for.cond ]
83
83
br label %cleanup
84
84
85
85
cleanup: ; preds = %cleanup.loopexit, %entry
86
- ; CHECK: = phi i32 [ 0, %entry ], [ [[PHI]], %cleanup.loopexit ]
86
+ ; CHECK: = phi i64 [ 0, %entry ], [ [[PHI]], %cleanup.loopexit ]
87
87
%cleanup.dest.slot.0 = phi i1 [ false , %entry ], [ %cleanup.dest.slot.0.ph , %cleanup.loopexit ]
88
- ; CHECK: [[REG:%.+]] = trunc i32 {{%.+}} to i1
88
+ ; CHECK: [[REG:%.+]] = trunc i64 {{%.+}} to i1
89
89
; CHECK: call void %cont(i1 [[REG]]
90
90
tail call void %cont (i1 %cleanup.dest.slot.0 )
91
91
ret void
@@ -112,17 +112,17 @@ for.body: ; preds = %for.body.preheader,
112
112
br i1 %call , label %cleanup.loopexit , label %for.cond
113
113
114
114
cleanup.loopexit: ; preds = %for.body, %for.cond
115
- ; CHECK: [[PHI:%.+]] = phi i32 [ 1, %for.body ], [ 0, %for.cond ]
115
+ ; CHECK: [[PHI:%.+]] = phi i64 [ 1, %for.body ], [ 0, %for.cond ]
116
116
%cleanup.dest.slot.0.ph = phi i1 [ true , %for.body ], [ false , %for.cond ]
117
117
br label %cleanup
118
118
119
119
cleanup: ; preds = %cleanup.loopexit, %entry
120
- ; CHECK: = phi i32 [ 0, %entry ], [ [[PHI]], %cleanup.loopexit ]
120
+ ; CHECK: = phi i64 [ 0, %entry ], [ [[PHI]], %cleanup.loopexit ]
121
121
%cleanup.dest.slot.0 = phi i1 [ false , %entry ], [ %cleanup.dest.slot.0.ph , %cleanup.loopexit ]
122
- ; CHECK: [[REG:%.+]] = trunc i32 {{%.+}} to i1
122
+ ; CHECK: [[REG:%.+]] = trunc i64 {{%.+}} to i1
123
123
; CHECK: call void %cont(i1 [[REG]]
124
124
tail call void %cont (i1 %cleanup.dest.slot.0 )
125
- ; CHECK: [[REG:%.+]] = trunc i32 {{%.+}} to i1
125
+ ; CHECK: [[REG:%.+]] = trunc i64 {{%.+}} to i1
126
126
; CHECK: ret i1 [[REG]]
127
127
ret i1 %cleanup.dest.slot.0
128
128
}
136
136
br label %cleanup
137
137
138
138
cleanup:
139
- ; CHECK: [[REG:%.+]] = trunc i32 {{%.+}} to i1
139
+ ; CHECK: [[REG:%.+]] = trunc i64 {{%.+}} to i1
140
140
; CHECK: ret i1 [[REG]]
141
141
%result = phi i1 [ false , %foo ], [ %operand , %entry ]
142
142
ret i1 %result
186
186
187
187
; CHECK-LABEL: cleanup
188
188
cleanup:
189
- ; CHECK: [[REG:%.+]] = trunc i32 {{%.+}} to i1
189
+ ; CHECK: [[REG:%.+]] = trunc i64 {{%.+}} to i1
190
190
; CHECK: ret i1 [[REG]]
191
191
%result = phi i1 [ %bar , %foo ], [ %operand , %entry ]
192
192
ret i1 %result
@@ -198,8 +198,8 @@ declare zeroext i1 @return_i1()
198
198
define zeroext i1 @call_test () {
199
199
; CHECK: [[REG:%.+]] = call i1
200
200
%result = call i1 @return_i1 ()
201
- ; CHECK: [[REG:%.+]] = zext i1 {{%.+}} to i32
202
- ; CHECK: [[REG:%.+]] = trunc i32 {{%.+}} to i1
201
+ ; CHECK: [[REG:%.+]] = zext i1 {{%.+}} to i64
202
+ ; CHECK: [[REG:%.+]] = trunc i64 {{%.+}} to i1
203
203
; CHECK: ret i1 [[REG]]
204
204
ret i1 %result
205
205
}
0 commit comments