@@ -427,22 +427,16 @@ define void @test_sub_zext_first_op(ptr %dst, ptr %src, i64 %j.start, i64 %p, i6
427
427
; CHECK-NEXT: entry:
428
428
; CHECK-NEXT: br label [[LOOP:%.*]]
429
429
; CHECK: loop:
430
- ; CHECK-NEXT: [[IV1:%.*]] = phi i64 [ 0, [[ENTRY:%.*]] ], [ [[IV_NEXT:%.*]], [[SELECT_END:%.* ]] ]
431
- ; CHECK-NEXT: [[J:%.*]] = phi i64 [ [[J_START:%.*]], [[ENTRY]] ], [ [[J_NEXT:%.*]], [[SELECT_END ]] ]
432
- ; CHECK-NEXT: [[IV:%.*]] = phi i64 [ [[I_START:%.*]], [[ENTRY]] ], [ [[J_NEXT]], [[SELECT_END ]] ]
430
+ ; CHECK-NEXT: [[IV1:%.*]] = phi i64 [ 0, [[ENTRY:%.*]] ], [ [[IV_NEXT:%.*]], [[LOOP ]] ]
431
+ ; CHECK-NEXT: [[J:%.*]] = phi i64 [ [[J_START:%.*]], [[ENTRY]] ], [ [[J_NEXT:%.*]], [[LOOP ]] ]
432
+ ; CHECK-NEXT: [[IV:%.*]] = phi i64 [ [[I_START:%.*]], [[ENTRY]] ], [ [[J_NEXT]], [[LOOP ]] ]
433
433
; CHECK-NEXT: [[GEP_DST:%.*]] = getelementptr inbounds ptr, ptr [[DST:%.*]], i64 [[IV]]
434
434
; CHECK-NEXT: [[L_I:%.*]] = load ptr, ptr [[GEP_DST]], align 8
435
435
; CHECK-NEXT: [[GEP_J:%.*]] = getelementptr inbounds ptr, ptr [[DST]], i64 [[J]]
436
436
; CHECK-NEXT: [[L_J:%.*]] = load ptr, ptr [[GEP_J]], align 8
437
437
; CHECK-NEXT: [[CMP3:%.*]] = icmp ult ptr [[L_I]], [[L_J]]
438
438
; CHECK-NEXT: [[DEC:%.*]] = zext i1 [[CMP3]] to i64
439
- ; CHECK-NEXT: [[CMP3_FROZEN:%.*]] = freeze i1 [[CMP3]]
440
- ; CHECK-NEXT: br i1 [[CMP3_FROZEN]], label [[SELECT_TRUE_SINK:%.*]], label [[SELECT_END]]
441
- ; CHECK: select.true.sink:
442
- ; CHECK-NEXT: [[TMP0:%.*]] = sub nsw i64 1, [[J]]
443
- ; CHECK-NEXT: br label [[SELECT_END]]
444
- ; CHECK: select.end:
445
- ; CHECK-NEXT: [[J_NEXT]] = phi i64 [ [[TMP0]], [[SELECT_TRUE_SINK]] ], [ [[J]], [[LOOP]] ]
439
+ ; CHECK-NEXT: [[J_NEXT]] = sub nsw i64 [[DEC]], [[J]]
446
440
; CHECK-NEXT: [[GEP_DST1:%.*]] = getelementptr inbounds ptr, ptr [[DST1:%.*]], i64 [[IV1]]
447
441
; CHECK-NEXT: store i64 [[J_NEXT]], ptr [[GEP_DST1]], align 8
448
442
; CHECK-NEXT: [[IV_NEXT]] = add i64 [[IV1]], 1
0 commit comments