@@ -12,16 +12,11 @@ define void @iv_known_non_negative_constant_trip_count() {
12
12
; CHECK-NEXT: [[CMP:%.*]] = icmp slt i8 [[IV]], 2
13
13
; CHECK-NEXT: br i1 [[CMP]], label [[LOOP_LATCH]], label [[EXIT_1:%.*]]
14
14
; CHECK: loop.latch:
15
- ; CHECK-NEXT: [[T_1:%.*]] = icmp ugt i8 2, [[IV]]
16
- ; CHECK-NEXT: call void @use(i1 [[T_1]])
17
- ; CHECK-NEXT: [[T_2:%.*]] = icmp sgt i8 2, [[IV]]
18
- ; CHECK-NEXT: call void @use(i1 [[T_2]])
19
- ; CHECK-NEXT: [[F_1:%.*]] = icmp ule i8 2, [[IV]]
20
- ; CHECK-NEXT: call void @use(i1 [[F_1]])
21
- ; CHECK-NEXT: [[F_2:%.*]] = icmp sle i8 2, [[IV]]
22
- ; CHECK-NEXT: call void @use(i1 [[F_2]])
23
- ; CHECK-NEXT: [[C_0:%.*]] = icmp ugt i8 [[IV]], 2
24
- ; CHECK-NEXT: call void @use(i1 [[C_0]])
15
+ ; CHECK-NEXT: call void @use(i1 true)
16
+ ; CHECK-NEXT: call void @use(i1 true)
17
+ ; CHECK-NEXT: call void @use(i1 false)
18
+ ; CHECK-NEXT: call void @use(i1 false)
19
+ ; CHECK-NEXT: call void @use(i1 false)
25
20
; CHECK-NEXT: [[IV_NEXT]] = add nuw nsw i8 [[IV]], 1
26
21
; CHECK-NEXT: br label [[LOOP_HEADER]]
27
22
; CHECK: exit.1:
@@ -112,11 +107,9 @@ define void @iv_known_non_negative_variable_trip_count(i8 %N) {
112
107
; CHECK-NEXT: [[CMP:%.*]] = icmp slt i8 [[IV]], [[N:%.*]]
113
108
; CHECK-NEXT: br i1 [[CMP]], label [[LOOP_LATCH]], label [[EXIT_1:%.*]]
114
109
; CHECK: loop.latch:
115
- ; CHECK-NEXT: [[T_1:%.*]] = icmp ugt i8 [[N]], [[IV]]
116
- ; CHECK-NEXT: call void @use(i1 [[T_1]])
117
110
; CHECK-NEXT: call void @use(i1 true)
118
- ; CHECK-NEXT: [[F_1:%.*]] = icmp ule i8 [[N]], [[IV]]
119
- ; CHECK-NEXT: call void @use(i1 [[F_1]] )
111
+ ; CHECK-NEXT: call void @use(i1 true)
112
+ ; CHECK-NEXT: call void @use(i1 false )
120
113
; CHECK-NEXT: call void @use(i1 false)
121
114
; CHECK-NEXT: [[C_0:%.*]] = icmp ugt i8 [[IV]], 2
122
115
; CHECK-NEXT: call void @use(i1 [[C_0]])
@@ -208,16 +201,11 @@ define void @iv_known_non_negative_iv_constant_trip_count_sgt() {
208
201
; CHECK-NEXT: [[CMP:%.*]] = icmp sgt i8 2, [[IV]]
209
202
; CHECK-NEXT: br i1 [[CMP]], label [[LOOP_LATCH]], label [[EXIT_1:%.*]]
210
203
; CHECK: loop.latch:
211
- ; CHECK-NEXT: [[T_1:%.*]] = icmp ugt i8 [[IV]], 2
212
- ; CHECK-NEXT: call void @use(i1 [[T_1]])
213
- ; CHECK-NEXT: [[T_2:%.*]] = icmp sgt i8 2, [[IV]]
214
- ; CHECK-NEXT: call void @use(i1 [[T_2]])
215
- ; CHECK-NEXT: [[F_1:%.*]] = icmp ule i8 2, [[IV]]
216
- ; CHECK-NEXT: call void @use(i1 [[F_1]])
217
- ; CHECK-NEXT: [[F_2:%.*]] = icmp sle i8 2, [[IV]]
218
- ; CHECK-NEXT: call void @use(i1 [[F_2]])
219
- ; CHECK-NEXT: [[C_0:%.*]] = icmp ugt i8 [[IV]], 2
220
- ; CHECK-NEXT: call void @use(i1 [[C_0]])
204
+ ; CHECK-NEXT: call void @use(i1 false)
205
+ ; CHECK-NEXT: call void @use(i1 true)
206
+ ; CHECK-NEXT: call void @use(i1 false)
207
+ ; CHECK-NEXT: call void @use(i1 false)
208
+ ; CHECK-NEXT: call void @use(i1 false)
221
209
; CHECK-NEXT: [[IV_NEXT]] = add nuw nsw i8 [[IV]], 1
222
210
; CHECK-NEXT: br label [[LOOP_HEADER]]
223
211
; CHECK: exit.1:
@@ -258,11 +246,9 @@ define void @iv_known_non_negative_iv_variable_trip_count_sgt(i8 %N) {
258
246
; CHECK-NEXT: [[CMP:%.*]] = icmp sgt i8 [[N:%.*]], [[IV]]
259
247
; CHECK-NEXT: br i1 [[CMP]], label [[LOOP_LATCH]], label [[EXIT_1:%.*]]
260
248
; CHECK: loop.latch:
261
- ; CHECK-NEXT: [[T_1:%.*]] = icmp ugt i8 [[IV]], [[N]]
262
- ; CHECK-NEXT: call void @use(i1 [[T_1]])
249
+ ; CHECK-NEXT: call void @use(i1 false)
263
250
; CHECK-NEXT: call void @use(i1 true)
264
- ; CHECK-NEXT: [[F_1:%.*]] = icmp ule i8 [[N]], [[IV]]
265
- ; CHECK-NEXT: call void @use(i1 [[F_1]])
251
+ ; CHECK-NEXT: call void @use(i1 false)
266
252
; CHECK-NEXT: call void @use(i1 false)
267
253
; CHECK-NEXT: [[C_0:%.*]] = icmp ugt i8 [[IV]], 2
268
254
; CHECK-NEXT: call void @use(i1 [[C_0]])
@@ -355,16 +341,11 @@ define void @iv_known_non_negative_iv_constant_trip_count_sge() {
355
341
; CHECK-NEXT: [[CMP:%.*]] = icmp sge i8 2, [[IV]]
356
342
; CHECK-NEXT: br i1 [[CMP]], label [[LOOP_LATCH]], label [[EXIT_1:%.*]]
357
343
; CHECK: loop.latch:
358
- ; CHECK-NEXT: [[T_1:%.*]] = icmp uge i8 2, [[IV]]
359
- ; CHECK-NEXT: call void @use(i1 [[T_1]])
360
- ; CHECK-NEXT: [[T_2:%.*]] = icmp sge i8 2, [[IV]]
361
- ; CHECK-NEXT: call void @use(i1 [[T_2]])
362
- ; CHECK-NEXT: [[F_1:%.*]] = icmp ult i8 2, [[IV]]
363
- ; CHECK-NEXT: call void @use(i1 [[F_1]])
364
- ; CHECK-NEXT: [[F_2:%.*]] = icmp slt i8 2, [[IV]]
365
- ; CHECK-NEXT: call void @use(i1 [[F_2]])
366
- ; CHECK-NEXT: [[C_0:%.*]] = icmp ugt i8 [[IV]], 2
367
- ; CHECK-NEXT: call void @use(i1 [[C_0]])
344
+ ; CHECK-NEXT: call void @use(i1 true)
345
+ ; CHECK-NEXT: call void @use(i1 true)
346
+ ; CHECK-NEXT: call void @use(i1 false)
347
+ ; CHECK-NEXT: call void @use(i1 false)
348
+ ; CHECK-NEXT: call void @use(i1 false)
368
349
; CHECK-NEXT: [[IV_NEXT]] = add nuw nsw i8 [[IV]], 1
369
350
; CHECK-NEXT: br label [[LOOP_HEADER]]
370
351
; CHECK: exit.1:
@@ -405,11 +386,9 @@ define void @iv_known_non_negative_iv_variable_trip_count_sge(i8 %N) {
405
386
; CHECK-NEXT: [[CMP:%.*]] = icmp sge i8 [[N:%.*]], [[IV]]
406
387
; CHECK-NEXT: br i1 [[CMP]], label [[LOOP_LATCH]], label [[EXIT_1:%.*]]
407
388
; CHECK: loop.latch:
408
- ; CHECK-NEXT: [[T_1:%.*]] = icmp uge i8 [[N]], [[IV]]
409
- ; CHECK-NEXT: call void @use(i1 [[T_1]])
410
389
; CHECK-NEXT: call void @use(i1 true)
411
- ; CHECK-NEXT: [[F_1:%.*]] = icmp ult i8 [[N]], [[IV]]
412
- ; CHECK-NEXT: call void @use(i1 [[F_1]] )
390
+ ; CHECK-NEXT: call void @use(i1 true)
391
+ ; CHECK-NEXT: call void @use(i1 false )
413
392
; CHECK-NEXT: call void @use(i1 false)
414
393
; CHECK-NEXT: [[C_0:%.*]] = icmp ugt i8 [[IV]], 2
415
394
; CHECK-NEXT: call void @use(i1 [[C_0]])
0 commit comments