@@ -10,7 +10,7 @@ define void @test1() nounwind {
1010; CHECK-NEXT: [[INDVAR_CONV:%.*]] = sitofp i32 [[IV_INT]] to double
1111; CHECK-NEXT: [[TMP0:%.*]] = tail call i32 @foo(double [[INDVAR_CONV]]) #[[ATTR0:[0-9]+]]
1212; CHECK-NEXT: [[DOTINT]] = add nuw nsw i32 [[IV_INT]], 1
13- ; CHECK-NEXT: [[TMP1:%.*]] = icmp ult i32 [[DOTINT]], 10000
13+ ; CHECK-NEXT: [[TMP1:%.*]] = icmp samesign ult i32 [[DOTINT]], 10000
1414; CHECK-NEXT: br i1 [[TMP1]], label [[BB]], label [[RETURN:%.*]]
1515; CHECK: return:
1616; CHECK-NEXT: ret void
@@ -145,7 +145,7 @@ define double @test_max_be() {
145145; CHECK-NEXT: [[INDVAR_CONV:%.*]] = sitofp i32 [[TMP11_INT]] to double
146146; CHECK-NEXT: [[TMP12]] = fadd double [[TMP10]], [[INDVAR_CONV]]
147147; CHECK-NEXT: [[TMP13_INT]] = add nuw nsw i32 [[TMP11_INT]], 1
148- ; CHECK-NEXT: [[TMP14:%.*]] = icmp ult i32 [[TMP13_INT]], 99999
148+ ; CHECK-NEXT: [[TMP14:%.*]] = icmp samesign ult i32 [[TMP13_INT]], 99999
149149; CHECK-NEXT: br i1 [[TMP14]], label [[BB22]], label [[BB6:%.*]]
150150; CHECK: bb22:
151151; CHECK-NEXT: br i1 true, label [[BB8]], label [[BB6]]
@@ -184,7 +184,7 @@ define float @test_max_be2() {
184184; CHECK-NEXT: [[INDVAR_CONV:%.*]] = sitofp i32 [[TMP11_INT]] to float
185185; CHECK-NEXT: [[TMP12]] = fadd float [[TMP10]], [[INDVAR_CONV]]
186186; CHECK-NEXT: [[TMP13_INT]] = add nuw nsw i32 [[TMP11_INT]], 1
187- ; CHECK-NEXT: [[TMP14:%.*]] = icmp ult i32 [[TMP13_INT]], 99999
187+ ; CHECK-NEXT: [[TMP14:%.*]] = icmp samesign ult i32 [[TMP13_INT]], 99999
188188; CHECK-NEXT: br i1 [[TMP14]], label [[BB22]], label [[BB6:%.*]]
189189; CHECK: bb22:
190190; CHECK-NEXT: br i1 true, label [[BB8]], label [[BB6]]
@@ -224,7 +224,7 @@ define float @test_max_be3() {
224224; CHECK-NEXT: [[INDVAR_CONV:%.*]] = sitofp i32 [[TMP11_INT]] to float
225225; CHECK-NEXT: [[TMP12]] = fadd float [[TMP10]], [[INDVAR_CONV]]
226226; CHECK-NEXT: [[TMP13_INT]] = add nuw nsw i32 [[TMP11_INT]], 1
227- ; CHECK-NEXT: [[TMP14:%.*]] = icmp ult i32 [[TMP13_INT]], 99999
227+ ; CHECK-NEXT: [[TMP14:%.*]] = icmp samesign ult i32 [[TMP13_INT]], 99999
228228; CHECK-NEXT: br i1 [[TMP14]], label [[BB22]], label [[BB6:%.*]]
229229; CHECK: bb22:
230230; CHECK-NEXT: br i1 true, label [[BB8]], label [[BB6]]
@@ -263,7 +263,7 @@ define void @fcmp1() nounwind {
263263; CHECK-NEXT: br label [[BB:%.*]]
264264; CHECK: bb:
265265; CHECK-NEXT: [[IV:%.*]] = phi i64 [ 0, [[ENTRY:%.*]] ], [ [[IV_NEXT:%.*]], [[BACKEDGE:%.*]] ]
266- ; CHECK-NEXT: [[CMP1:%.*]] = icmp ult i64 [[IV]], 20000
266+ ; CHECK-NEXT: [[CMP1:%.*]] = icmp samesign ult i64 [[IV]], 20000
267267; CHECK-NEXT: br i1 [[CMP1]], label [[BACKEDGE]], label [[RETURN:%.*]]
268268; CHECK: backedge:
269269; CHECK-NEXT: [[IV_FP:%.*]] = sitofp i64 [[IV]] to double
@@ -299,7 +299,7 @@ define void @fcmp2() nounwind {
299299; CHECK-NEXT: br label [[BB:%.*]]
300300; CHECK: bb:
301301; CHECK-NEXT: [[IV:%.*]] = phi i64 [ 0, [[ENTRY:%.*]] ], [ [[IV_NEXT:%.*]], [[BACKEDGE:%.*]] ]
302- ; CHECK-NEXT: [[CMP1:%.*]] = icmp ult i64 [[IV]], 2000
302+ ; CHECK-NEXT: [[CMP1:%.*]] = icmp samesign ult i64 [[IV]], 2000
303303; CHECK-NEXT: br i1 [[CMP1]], label [[BACKEDGE]], label [[RETURN:%.*]]
304304; CHECK: backedge:
305305; CHECK-NEXT: [[IV_FP:%.*]] = sitofp i64 [[IV]] to double
@@ -389,7 +389,7 @@ define void @pr55505_remove_redundant_fptosi_for_float_iv(i32 %index, ptr %dst)
389389; CHECK-NEXT: call void @use.i16(i16 [[FLOAT_IV_INT_TRUNC2]])
390390; CHECK-NEXT: call void @use.i64(i64 [[FLOAT_IV_INT_ZEXT]])
391391; CHECK-NEXT: [[FLOAT_IV_NEXT_INT]] = add nsw i32 [[FLOAT_IV_INT]], -1
392- ; CHECK-NEXT: [[CMP:%.*]] = icmp ugt i32 [[FLOAT_IV_NEXT_INT]], 0
392+ ; CHECK-NEXT: [[CMP:%.*]] = icmp samesign ugt i32 [[FLOAT_IV_NEXT_INT]], 0
393393; CHECK-NEXT: br i1 [[CMP]], label [[LOOP]], label [[EXIT:%.*]]
394394; CHECK: exit:
395395; CHECK-NEXT: ret void
0 commit comments