diff --git a/bench/abc/optimized/sfmArea.c.ll b/bench/abc/optimized/sfmArea.c.ll index eb8949832aa..3a86dd4716e 100644 --- a/bench/abc/optimized/sfmArea.c.ll +++ b/bench/abc/optimized/sfmArea.c.ll @@ -669,104 +669,105 @@ define i32 @Abc_NtkPrecomputePrint(ptr noundef %0, i32 noundef %1, ptr nocapture %7 = getelementptr inbounds %struct.Mio_Cell2_t_, ptr %0, i64 %indvars.iv64 %8 = getelementptr inbounds i8, ptr %7, i64 16 %9 = load i32, ptr %8, align 8 - %10 = lshr i32 %9, 28 + %.fr55 = freeze i32 %9 + %10 = lshr i32 %.fr55, 28 %11 = load ptr, ptr %7, align 8 %12 = trunc nuw nsw i64 %indvars.iv64 to i32 %13 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.1, i32 noundef %12, ptr noundef %11, i32 noundef %10) %14 = getelementptr inbounds i8, ptr %7, i64 32 tail call void @Dau_DsdPrintFromTruth(ptr noundef nonnull %14, i32 noundef %10) #12 - %.not55 = icmp ult i32 %9, 268435456 + %15 = icmp ugt i32 %.fr55, 268435455 %sext = shl i64 %.03853, 32 - %15 = ashr exact i64 %sext, 32 - br i1 %.not55, label %.split, label %.split.us + %16 = ashr exact i64 %sext, 32 + br i1 %15, label %.split.us, label %.split -.split.us: ; preds = %6, %30 - %indvars.iv = phi i64 [ %indvars.iv.next, %30 ], [ %15, %6 ] - %.03648.us = phi i32 [ %31, %30 ], [ 0, %6 ] - %.14046.us = phi i32 [ %.2.us, %30 ], [ %.03952, %6 ] +.split.us: ; preds = %6, %31 + %indvars.iv60 = phi i64 [ %indvars.iv.next61, %31 ], [ %16, %6 ] + %.03648.us = phi i32 [ %32, %31 ], [ 0, %6 ] + %.14046.us = phi i32 [ %.2.us, %31 ], [ %.03952, %6 ] %.val.us = load ptr, ptr %5, align 8 - %16 = getelementptr i32, ptr %.val.us, i64 %indvars.iv - %17 = load i32, ptr %16, align 4 - %18 = getelementptr i8, ptr %16, i64 4 - %19 = load i32, ptr %18, align 4 - %20 = getelementptr i8, ptr %16, i64 8 - %21 = load i32, ptr %20, align 4 - %22 = icmp eq i32 %17, -1 - br i1 %22, label %30, label %.lr.ph.us + %17 = getelementptr i32, ptr %.val.us, i64 %indvars.iv60 + %18 = load i32, ptr %17, align 4 + %19 = getelementptr i8, ptr %17, i64 4 + %20 = load i32, ptr %19, align 4 + %21 = getelementptr i8, ptr %17, i64 8 + %22 = load i32, ptr %21, align 4 + %23 = icmp eq i32 %18, -1 + br i1 %23, label %31, label %.lr.ph.us .lr.ph.us: ; preds = %.split.us - %23 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.2, i32 noundef %.03648.us) - br label %24 - -24: ; preds = %.lr.ph.us, %24 - %.03745.us = phi i32 [ 0, %.lr.ph.us ], [ %29, %24 ] - %25 = shl i32 %.03745.us, 2 - %26 = ashr i32 %19, %25 - %27 = and i32 %26, 15 - %28 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.3, i32 noundef %27) - %29 = add nuw nsw i32 %.03745.us, 1 - %exitcond.not = icmp eq i32 %29, %10 - br i1 %exitcond.not, label %._crit_edge.us, label %24, !llvm.loop !15 - -30: ; preds = %._crit_edge.us, %.split.us - %.2.us = phi i32 [ %.14046.us, %.split.us ], [ %44, %._crit_edge.us ] - %31 = add nuw nsw i32 %.03648.us, 1 - %indvars.iv.next = add nsw i64 %indvars.iv, 3 - %exitcond59.not = icmp eq i32 %.03648.us, %10 - br i1 %exitcond59.not, label %.split50.us, label %.split.us, !llvm.loop !16 - -._crit_edge.us: ; preds = %24 - %32 = trunc nsw i64 %indvars.iv to i32 - %33 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.4, i32 noundef %32) - %34 = sitofp i32 %21 to float - %35 = fdiv float %34, 1.000000e+03 - %36 = fpext float %35 to double - %37 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.5, double noundef %36) - %38 = sext i32 %17 to i64 - %39 = getelementptr inbounds %struct.Mio_Cell2_t_, ptr %0, i64 %38 - %40 = getelementptr inbounds i8, ptr %39, i64 32 - %41 = getelementptr inbounds i8, ptr %39, i64 16 - %42 = load i32, ptr %41, align 8 - %43 = lshr i32 %42, 28 - tail call void @Dau_DsdPrintFromTruth(ptr noundef nonnull %40, i32 noundef %43) #12 - %44 = add nsw i32 %.14046.us, 1 - br label %30 + %24 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.2, i32 noundef %.03648.us) + br label %25 + +25: ; preds = %.lr.ph.us, %25 + %.03745.us = phi i32 [ 0, %.lr.ph.us ], [ %30, %25 ] + %26 = shl i32 %.03745.us, 2 + %27 = ashr i32 %20, %26 + %28 = and i32 %27, 15 + %29 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.3, i32 noundef %28) + %30 = add nuw nsw i32 %.03745.us, 1 + %exitcond59.not = icmp eq i32 %30, %10 + br i1 %exitcond59.not, label %._crit_edge.us, label %25, !llvm.loop !15 + +31: ; preds = %._crit_edge.us, %.split.us + %.2.us = phi i32 [ %.14046.us, %.split.us ], [ %45, %._crit_edge.us ] + %32 = add nuw nsw i32 %.03648.us, 1 + %indvars.iv.next61 = add nsw i64 %indvars.iv60, 3 + %exitcond63.not = icmp eq i32 %.03648.us, %10 + br i1 %exitcond63.not, label %.split50.us, label %.split.us, !llvm.loop !16 + +._crit_edge.us: ; preds = %25 + %33 = trunc nsw i64 %indvars.iv60 to i32 + %34 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.4, i32 noundef %33) + %35 = sitofp i32 %22 to float + %36 = fdiv float %35, 1.000000e+03 + %37 = fpext float %36 to double + %38 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.5, double noundef %37) + %39 = sext i32 %18 to i64 + %40 = getelementptr inbounds %struct.Mio_Cell2_t_, ptr %0, i64 %39 + %41 = getelementptr inbounds i8, ptr %40, i64 32 + %42 = getelementptr inbounds i8, ptr %40, i64 16 + %43 = load i32, ptr %42, align 8 + %44 = lshr i32 %43, 28 + tail call void @Dau_DsdPrintFromTruth(ptr noundef nonnull %41, i32 noundef %44) #12 + %45 = add nsw i32 %.14046.us, 1 + br label %31 .split: ; preds = %6 %.val = load ptr, ptr %5, align 8 - %45 = getelementptr i32, ptr %.val, i64 %15 - %46 = load i32, ptr %45, align 4 - %47 = icmp eq i32 %46, -1 - br i1 %47, label %.split50.us.loopexit, label %48 - -48: ; preds = %.split - %49 = getelementptr i8, ptr %45, i64 8 - %50 = load i32, ptr %49, align 4 - %51 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.2, i32 noundef 0) - %52 = trunc i64 %.03853 to i32 - %53 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.4, i32 noundef %52) - %54 = sitofp i32 %50 to float - %55 = fdiv float %54, 1.000000e+03 - %56 = fpext float %55 to double - %57 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.5, double noundef %56) - %58 = sext i32 %46 to i64 - %59 = getelementptr inbounds %struct.Mio_Cell2_t_, ptr %0, i64 %58 - %60 = getelementptr inbounds i8, ptr %59, i64 32 - %61 = getelementptr inbounds i8, ptr %59, i64 16 - %62 = load i32, ptr %61, align 8 - %63 = lshr i32 %62, 28 - tail call void @Dau_DsdPrintFromTruth(ptr noundef nonnull %60, i32 noundef %63) #12 - %64 = add nsw i32 %.03952, 1 - br label %.split50.us.loopexit - -.split50.us.loopexit: ; preds = %48, %.split - %.2 = phi i32 [ %.03952, %.split ], [ %64, %48 ] - %indvars.iv.next61 = add nsw i64 %15, 3 + %46 = getelementptr i32, ptr %.val, i64 %16 + %47 = load i32, ptr %46, align 4 + %48 = icmp eq i32 %47, -1 + br i1 %48, label %.split50.us.loopexit69, label %49 + +49: ; preds = %.split + %50 = getelementptr i8, ptr %46, i64 8 + %51 = load i32, ptr %50, align 4 + %52 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.2, i32 noundef 0) + %53 = trunc i64 %.03853 to i32 + %54 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.4, i32 noundef %53) + %55 = sitofp i32 %51 to float + %56 = fdiv float %55, 1.000000e+03 + %57 = fpext float %56 to double + %58 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.5, double noundef %57) + %59 = sext i32 %47 to i64 + %60 = getelementptr inbounds %struct.Mio_Cell2_t_, ptr %0, i64 %59 + %61 = getelementptr inbounds i8, ptr %60, i64 32 + %62 = getelementptr inbounds i8, ptr %60, i64 16 + %63 = load i32, ptr %62, align 8 + %64 = lshr i32 %63, 28 + tail call void @Dau_DsdPrintFromTruth(ptr noundef nonnull %61, i32 noundef %64) #12 + %65 = add nsw i32 %.03952, 1 + br label %.split50.us.loopexit69 + +.split50.us.loopexit69: ; preds = %49, %.split + %.2 = phi i32 [ %.03952, %.split ], [ %65, %49 ] + %indvars.iv.next = add nsw i64 %16, 3 br label %.split50.us -.split50.us: ; preds = %30, %.split50.us.loopexit - %.us-phi = phi i32 [ %.2, %.split50.us.loopexit ], [ %.2.us, %30 ] - %.us-phi51.in = phi i64 [ %indvars.iv.next61, %.split50.us.loopexit ], [ %indvars.iv.next, %30 ] +.split50.us: ; preds = %31, %.split50.us.loopexit69 + %.us-phi = phi i32 [ %.2, %.split50.us.loopexit69 ], [ %.2.us, %31 ] + %.us-phi51.in = phi i64 [ %indvars.iv.next, %.split50.us.loopexit69 ], [ %indvars.iv.next61, %31 ] %indvars.iv.next65 = add nuw nsw i64 %indvars.iv64, 1 %exitcond67.not = icmp eq i64 %indvars.iv.next65, %wide.trip.count br i1 %exitcond67.not, label %._crit_edge, label %6, !llvm.loop !17 @@ -897,7 +898,7 @@ define range(i32 0, 2) i32 @Abc_ObjHasDupFanins(ptr nocapture noundef readonly % %indvars.iv25 = phi i64 [ 0, %.lr.ph20.preheader ], [ %indvars.iv.next26, %.loopexit ] %indvars.iv = phi i64 [ 1, %.lr.ph20.preheader ], [ %indvars.iv.next, %.loopexit ] %indvars.iv.next26 = add nuw nsw i64 %indvars.iv25, 1 - %7 = icmp ult i64 %indvars.iv.next26, %6 + %7 = icmp samesign ult i64 %indvars.iv.next26, %6 br i1 %7, label %.lr.ph, label %.loopexit .lr.ph: ; preds = %.lr.ph20 @@ -945,7 +946,7 @@ define range(i32 0, 2) i32 @Abc_ObjHasDupFanouts(ptr nocapture noundef readonly %indvars.iv25 = phi i64 [ 0, %.lr.ph20.preheader ], [ %indvars.iv.next26, %.loopexit ] %indvars.iv = phi i64 [ 1, %.lr.ph20.preheader ], [ %indvars.iv.next, %.loopexit ] %indvars.iv.next26 = add nuw nsw i64 %indvars.iv25, 1 - %7 = icmp ult i64 %indvars.iv.next26, %6 + %7 = icmp samesign ult i64 %indvars.iv.next26, %6 br i1 %7, label %.lr.ph, label %.loopexit .lr.ph: ; preds = %.lr.ph20 @@ -1064,7 +1065,7 @@ define i32 @Abc_ObjChangeEval(ptr noundef %0, ptr nocapture noundef readonly %1, %indvars.iv25.i = phi i64 [ 0, %.lr.ph20.preheader.i ], [ %indvars.iv.next26.i, %.loopexit.i ] %indvars.iv.i = phi i64 [ 1, %.lr.ph20.preheader.i ], [ %indvars.iv.next.i, %.loopexit.i ] %indvars.iv.next26.i = add nuw nsw i64 %indvars.iv25.i, 1 - %52 = icmp ult i64 %indvars.iv.next26.i, %51 + %52 = icmp samesign ult i64 %indvars.iv.next26.i, %51 br i1 %52, label %.lr.ph.i, label %.loopexit.i .lr.ph.i: ; preds = %.lr.ph20.i @@ -1677,7 +1678,7 @@ Abc_Clock.exit: ; preds = %2, %9 %indvars.iv25.i = phi i64 [ 0, %.lr.ph20.preheader.i ], [ %indvars.iv.next26.i, %.loopexit.i ] %indvars.iv.i = phi i64 [ 1, %.lr.ph20.preheader.i ], [ %indvars.iv.next.i, %.loopexit.i ] %indvars.iv.next26.i = add nuw nsw i64 %indvars.iv25.i, 1 - %55 = icmp ult i64 %indvars.iv.next26.i, %54 + %55 = icmp samesign ult i64 %indvars.iv.next26.i, %54 br i1 %55, label %.lr.ph.i, label %.loopexit.i .lr.ph.i: ; preds = %.lr.ph20.i diff --git a/bench/abseil-cpp/optimized/ascii_test.cc.ll b/bench/abseil-cpp/optimized/ascii_test.cc.ll index 9a940073d47..ff016bfab5f 100644 --- a/bench/abseil-cpp/optimized/ascii_test.cc.ll +++ b/bench/abseil-cpp/optimized/ascii_test.cc.ll @@ -2309,7 +2309,7 @@ for.cond584.preheader: ; preds = %for.inc580 for.body512: ; preds = %for.cond510.preheader, %for.inc580 %indvars.iv917 = phi i64 [ 0, %for.cond510.preheader ], [ %indvars.iv.next918, %for.inc580 ] %conv514 = trunc i64 %indvars.iv917 to i8 - %cmp515 = icmp ult i64 %indvars.iv917, 32 + %cmp515 = icmp samesign ult i64 %indvars.iv917, 32 %cmp517 = icmp eq i64 %indvars.iv917, 127 %or.cond5 = or i1 %cmp515, %cmp517 %arrayidx.i509 = getelementptr inbounds [256 x i8], ptr @_ZN4absl14ascii_internal13kPropertyBitsE, i64 0, i64 %indvars.iv917 diff --git a/bench/abseil-cpp/optimized/str_split_test.cc.ll b/bench/abseil-cpp/optimized/str_split_test.cc.ll index ac6fad2d06c..53ddc5770cf 100644 --- a/bench/abseil-cpp/optimized/str_split_test.cc.ll +++ b/bench/abseil-cpp/optimized/str_split_test.cc.ll @@ -72481,7 +72481,7 @@ if.end.i: ; preds = %if.end.loopexit.i, land.lhs.true.i: ; preds = %if.end.i %conv16.i = zext i8 %add12.i to i32 %add18.i = add nuw nsw i32 %conv.i, 1 - %cmp19.i = icmp ult i32 %add18.i, %conv16.i + %cmp19.i = icmp samesign ult i32 %add18.i, %conv16.i br i1 %cmp19.i, label %for.body.lr.ph.i, label %_ZN4absl18container_internal10btree_nodeINS0_10set_paramsISt17basic_string_viewIcSt11char_traitsIcEESt4lessIS6_ESaIS6_ELi256ELb0EEEE13emplace_valueIJS6_EEEvhPS9_DpOT_.exit for.body.lr.ph.i: ; preds = %land.lhs.true.i @@ -72500,7 +72500,7 @@ for.body.i: ; preds = %for.body.i, %for.bo %add.ptr.i.i.i.i20.i = getelementptr i8, ptr %22, i64 8 store i8 %j.023.i, ptr %add.ptr.i.i.i.i20.i, align 1 %conv22.i = zext i8 %sub27.i to i32 - %cmp25.i = icmp ult i32 %add18.i, %conv22.i + %cmp25.i = icmp samesign ult i32 %add18.i, %conv22.i br i1 %cmp25.i, label %for.body.i, label %_ZN4absl18container_internal10btree_nodeINS0_10set_paramsISt17basic_string_viewIcSt11char_traitsIcEESt4lessIS6_ESaIS6_ELi256ELb0EEEE13emplace_valueIJS6_EEEvhPS9_DpOT_.exit, !llvm.loop !1323 _ZN4absl18container_internal10btree_nodeINS0_10set_paramsISt17basic_string_viewIcSt11char_traitsIcEESt4lessIS6_ESaIS6_ELi256ELb0EEEE13emplace_valueIJS6_EEEvhPS9_DpOT_.exit: ; preds = %for.body.i, %if.end.i, %land.lhs.true.i @@ -72675,7 +72675,7 @@ if.then15: ; preds = %if.then7 %div69 = lshr i8 %sub18, %7 %.sroa.speculated116 = tail call i8 @llvm.umax.i8(i8 %div69, i8 1) %conv27 = zext nneg i8 %.sroa.speculated116 to i32 - %cmp31.not = icmp uge i32 %conv20, %conv27 + %cmp31.not = icmp samesign uge i32 %conv20, %conv27 %narrow = add nuw nsw i8 %.sroa.speculated116, %5 %cmp36 = icmp ult i8 %narrow, 15 %or.cond = select i1 %cmp31.not, i1 true, i1 %cmp36 @@ -73243,7 +73243,7 @@ if.end.i: ; preds = %if.end.loopexit.i, land.lhs.true.i: ; preds = %if.end.i %conv16.i = zext i8 %add12.i to i32 %add18.i = add nuw nsw i32 %conv.i33, 1 - %cmp19.i = icmp ult i32 %add18.i, %conv16.i + %cmp19.i = icmp samesign ult i32 %add18.i, %conv16.i br i1 %cmp19.i, label %for.body.lr.ph.i, label %_ZN4absl18container_internal10btree_nodeINS0_10set_paramsISt17basic_string_viewIcSt11char_traitsIcEESt4lessIS6_ESaIS6_ELi256ELb0EEEE13emplace_valueIJPS6_EEEvhPS9_DpOT_.exit for.body.lr.ph.i: ; preds = %land.lhs.true.i @@ -73262,7 +73262,7 @@ for.body.i36: ; preds = %for.body.i36, %for. %add.ptr.i.i.i.i20.i = getelementptr i8, ptr %13, i64 8 store i8 %j.023.i, ptr %add.ptr.i.i.i.i20.i, align 1 %conv22.i = zext i8 %sub27.i to i32 - %cmp25.i = icmp ult i32 %add18.i, %conv22.i + %cmp25.i = icmp samesign ult i32 %add18.i, %conv22.i br i1 %cmp25.i, label %for.body.i36, label %_ZN4absl18container_internal10btree_nodeINS0_10set_paramsISt17basic_string_viewIcSt11char_traitsIcEESt4lessIS6_ESaIS6_ELi256ELb0EEEE13emplace_valueIJPS6_EEEvhPS9_DpOT_.exit, !llvm.loop !1333 _ZN4absl18container_internal10btree_nodeINS0_10set_paramsISt17basic_string_viewIcSt11char_traitsIcEESt4lessIS6_ESaIS6_ELi256ELb0EEEE13emplace_valueIJPS6_EEEvhPS9_DpOT_.exit: ; preds = %for.body.i36, %if.end.i, %land.lhs.true.i @@ -76062,7 +76062,7 @@ if.end.i: ; preds = %for.body.i.i, %if.e land.lhs.true.i: ; preds = %if.end.i %conv16.i = zext i8 %add12.i to i32 %add18.i = add nuw nsw i32 %conv.i, 1 - %cmp19.i = icmp ult i32 %add18.i, %conv16.i + %cmp19.i = icmp samesign ult i32 %add18.i, %conv16.i br i1 %cmp19.i, label %for.body.lr.ph.i, label %_ZN4absl18container_internal10btree_nodeINS0_10set_paramsINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4lessIS8_ESaIS8_ELi256ELb0EEEE13emplace_valueIJS8_EEEvhPSB_DpOT_.exit for.body.lr.ph.i: ; preds = %land.lhs.true.i @@ -76081,7 +76081,7 @@ for.body.i: ; preds = %for.body.i, %for.bo %add.ptr.i.i.i.i20.i = getelementptr i8, ptr %23, i64 8 store i8 %j.023.i, ptr %add.ptr.i.i.i.i20.i, align 1 %conv22.i = zext i8 %sub27.i to i32 - %cmp25.i = icmp ult i32 %add18.i, %conv22.i + %cmp25.i = icmp samesign ult i32 %add18.i, %conv22.i br i1 %cmp25.i, label %for.body.i, label %_ZN4absl18container_internal10btree_nodeINS0_10set_paramsINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4lessIS8_ESaIS8_ELi256ELb0EEEE13emplace_valueIJS8_EEEvhPSB_DpOT_.exit, !llvm.loop !1367 _ZN4absl18container_internal10btree_nodeINS0_10set_paramsINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4lessIS8_ESaIS8_ELi256ELb0EEEE13emplace_valueIJS8_EEEvhPSB_DpOT_.exit: ; preds = %for.body.i, %if.end.i, %land.lhs.true.i @@ -76256,7 +76256,7 @@ if.then15: ; preds = %if.then7 %div69 = lshr i8 %sub18, %7 %.sroa.speculated116 = tail call i8 @llvm.umax.i8(i8 %div69, i8 1) %conv27 = zext nneg i8 %.sroa.speculated116 to i32 - %cmp31.not = icmp uge i32 %conv20, %conv27 + %cmp31.not = icmp samesign uge i32 %conv20, %conv27 %narrow = add nuw nsw i8 %.sroa.speculated116, %5 %cmp36 = icmp ult i8 %narrow, 7 %or.cond = select i1 %cmp31.not, i1 true, i1 %cmp36 @@ -76985,7 +76985,7 @@ if.end.i: ; preds = %for.body.i.i, %_ZN4 land.lhs.true.i: ; preds = %if.end.i %conv16.i = zext i8 %add12.i to i32 %add18.i = add nuw nsw i32 %conv.i33, 1 - %cmp19.i = icmp ult i32 %add18.i, %conv16.i + %cmp19.i = icmp samesign ult i32 %add18.i, %conv16.i br i1 %cmp19.i, label %for.body.lr.ph.i, label %_ZN4absl18container_internal10btree_nodeINS0_10set_paramsINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4lessIS8_ESaIS8_ELi256ELb0EEEE13emplace_valueIJPS8_EEEvhPSB_DpOT_.exit for.body.lr.ph.i: ; preds = %land.lhs.true.i @@ -77004,7 +77004,7 @@ for.body.i36: ; preds = %for.body.i36, %for. %add.ptr.i.i.i.i20.i = getelementptr i8, ptr %13, i64 8 store i8 %j.023.i, ptr %add.ptr.i.i.i.i20.i, align 1 %conv22.i = zext i8 %sub27.i to i32 - %cmp25.i = icmp ult i32 %add18.i, %conv22.i + %cmp25.i = icmp samesign ult i32 %add18.i, %conv22.i br i1 %cmp25.i, label %for.body.i36, label %_ZN4absl18container_internal10btree_nodeINS0_10set_paramsINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4lessIS8_ESaIS8_ELi256ELb0EEEE13emplace_valueIJPS8_EEEvhPSB_DpOT_.exit, !llvm.loop !1382 _ZN4absl18container_internal10btree_nodeINS0_10set_paramsINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4lessIS8_ESaIS8_ELi256ELb0EEEE13emplace_valueIJPS8_EEEvhPSB_DpOT_.exit: ; preds = %for.body.i36, %if.end.i, %land.lhs.true.i @@ -79569,7 +79569,7 @@ if.end.i: ; preds = %if.end.loopexit.i, land.lhs.true.i: ; preds = %if.end.i %conv16.i = zext i8 %add12.i to i32 %add18.i = add nuw nsw i32 %conv.i, 1 - %cmp19.i = icmp ult i32 %add18.i, %conv16.i + %cmp19.i = icmp samesign ult i32 %add18.i, %conv16.i br i1 %cmp19.i, label %for.body.lr.ph.i, label %_ZN4absl18container_internal10btree_nodeINS0_10set_paramsISt17basic_string_viewIcSt11char_traitsIcEESt4lessIS6_ESaIS6_ELi256ELb1EEEE13emplace_valueIJS6_EEEvhPS9_DpOT_.exit for.body.lr.ph.i: ; preds = %land.lhs.true.i @@ -79588,7 +79588,7 @@ for.body.i: ; preds = %for.body.i, %for.bo %add.ptr.i.i.i.i20.i = getelementptr i8, ptr %22, i64 8 store i8 %j.023.i, ptr %add.ptr.i.i.i.i20.i, align 1 %conv22.i = zext i8 %sub27.i to i32 - %cmp25.i = icmp ult i32 %add18.i, %conv22.i + %cmp25.i = icmp samesign ult i32 %add18.i, %conv22.i br i1 %cmp25.i, label %for.body.i, label %_ZN4absl18container_internal10btree_nodeINS0_10set_paramsISt17basic_string_viewIcSt11char_traitsIcEESt4lessIS6_ESaIS6_ELi256ELb1EEEE13emplace_valueIJS6_EEEvhPS9_DpOT_.exit, !llvm.loop !1412 _ZN4absl18container_internal10btree_nodeINS0_10set_paramsISt17basic_string_viewIcSt11char_traitsIcEESt4lessIS6_ESaIS6_ELi256ELb1EEEE13emplace_valueIJS6_EEEvhPS9_DpOT_.exit: ; preds = %for.body.i, %if.end.i, %land.lhs.true.i @@ -79640,7 +79640,7 @@ if.then15: ; preds = %if.then7 %div69 = lshr i8 %sub18, %7 %.sroa.speculated116 = tail call i8 @llvm.umax.i8(i8 %div69, i8 1) %conv27 = zext nneg i8 %.sroa.speculated116 to i32 - %cmp31.not = icmp uge i32 %conv20, %conv27 + %cmp31.not = icmp samesign uge i32 %conv20, %conv27 %narrow = add nuw nsw i8 %.sroa.speculated116, %5 %cmp36 = icmp ult i8 %narrow, 15 %or.cond = select i1 %cmp31.not, i1 true, i1 %cmp36 @@ -80208,7 +80208,7 @@ if.end.i: ; preds = %if.end.loopexit.i, land.lhs.true.i: ; preds = %if.end.i %conv16.i = zext i8 %add12.i to i32 %add18.i = add nuw nsw i32 %conv.i33, 1 - %cmp19.i = icmp ult i32 %add18.i, %conv16.i + %cmp19.i = icmp samesign ult i32 %add18.i, %conv16.i br i1 %cmp19.i, label %for.body.lr.ph.i, label %_ZN4absl18container_internal10btree_nodeINS0_10set_paramsISt17basic_string_viewIcSt11char_traitsIcEESt4lessIS6_ESaIS6_ELi256ELb1EEEE13emplace_valueIJPS6_EEEvhPS9_DpOT_.exit for.body.lr.ph.i: ; preds = %land.lhs.true.i @@ -80227,7 +80227,7 @@ for.body.i36: ; preds = %for.body.i36, %for. %add.ptr.i.i.i.i20.i = getelementptr i8, ptr %13, i64 8 store i8 %j.023.i, ptr %add.ptr.i.i.i.i20.i, align 1 %conv22.i = zext i8 %sub27.i to i32 - %cmp25.i = icmp ult i32 %add18.i, %conv22.i + %cmp25.i = icmp samesign ult i32 %add18.i, %conv22.i br i1 %cmp25.i, label %for.body.i36, label %_ZN4absl18container_internal10btree_nodeINS0_10set_paramsISt17basic_string_viewIcSt11char_traitsIcEESt4lessIS6_ESaIS6_ELi256ELb1EEEE13emplace_valueIJPS6_EEEvhPS9_DpOT_.exit, !llvm.loop !1417 _ZN4absl18container_internal10btree_nodeINS0_10set_paramsISt17basic_string_viewIcSt11char_traitsIcEESt4lessIS6_ESaIS6_ELi256ELb1EEEE13emplace_valueIJPS6_EEEvhPS9_DpOT_.exit: ; preds = %for.body.i36, %if.end.i, %land.lhs.true.i @@ -83142,7 +83142,7 @@ if.end.i: ; preds = %for.body.i.i, %if.e land.lhs.true.i: ; preds = %if.end.i %conv16.i = zext i8 %add12.i to i32 %add18.i = add nuw nsw i32 %conv.i, 1 - %cmp19.i = icmp ult i32 %add18.i, %conv16.i + %cmp19.i = icmp samesign ult i32 %add18.i, %conv16.i br i1 %cmp19.i, label %for.body.lr.ph.i, label %_ZN4absl18container_internal10btree_nodeINS0_10set_paramsINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4lessIS8_ESaIS8_ELi256ELb1EEEE13emplace_valueIJS8_EEEvhPSB_DpOT_.exit for.body.lr.ph.i: ; preds = %land.lhs.true.i @@ -83161,7 +83161,7 @@ for.body.i: ; preds = %for.body.i, %for.bo %add.ptr.i.i.i.i20.i = getelementptr i8, ptr %23, i64 8 store i8 %j.023.i, ptr %add.ptr.i.i.i.i20.i, align 1 %conv22.i = zext i8 %sub27.i to i32 - %cmp25.i = icmp ult i32 %add18.i, %conv22.i + %cmp25.i = icmp samesign ult i32 %add18.i, %conv22.i br i1 %cmp25.i, label %for.body.i, label %_ZN4absl18container_internal10btree_nodeINS0_10set_paramsINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4lessIS8_ESaIS8_ELi256ELb1EEEE13emplace_valueIJS8_EEEvhPSB_DpOT_.exit, !llvm.loop !1454 _ZN4absl18container_internal10btree_nodeINS0_10set_paramsINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4lessIS8_ESaIS8_ELi256ELb1EEEE13emplace_valueIJS8_EEEvhPSB_DpOT_.exit: ; preds = %for.body.i, %if.end.i, %land.lhs.true.i @@ -83213,7 +83213,7 @@ if.then15: ; preds = %if.then7 %div69 = lshr i8 %sub18, %7 %.sroa.speculated116 = tail call i8 @llvm.umax.i8(i8 %div69, i8 1) %conv27 = zext nneg i8 %.sroa.speculated116 to i32 - %cmp31.not = icmp uge i32 %conv20, %conv27 + %cmp31.not = icmp samesign uge i32 %conv20, %conv27 %narrow = add nuw nsw i8 %.sroa.speculated116, %5 %cmp36 = icmp ult i8 %narrow, 7 %or.cond = select i1 %cmp31.not, i1 true, i1 %cmp36 @@ -83942,7 +83942,7 @@ if.end.i: ; preds = %for.body.i.i, %_ZN4 land.lhs.true.i: ; preds = %if.end.i %conv16.i = zext i8 %add12.i to i32 %add18.i = add nuw nsw i32 %conv.i33, 1 - %cmp19.i = icmp ult i32 %add18.i, %conv16.i + %cmp19.i = icmp samesign ult i32 %add18.i, %conv16.i br i1 %cmp19.i, label %for.body.lr.ph.i, label %_ZN4absl18container_internal10btree_nodeINS0_10set_paramsINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4lessIS8_ESaIS8_ELi256ELb1EEEE13emplace_valueIJPS8_EEEvhPSB_DpOT_.exit for.body.lr.ph.i: ; preds = %land.lhs.true.i @@ -83961,7 +83961,7 @@ for.body.i36: ; preds = %for.body.i36, %for. %add.ptr.i.i.i.i20.i = getelementptr i8, ptr %13, i64 8 store i8 %j.023.i, ptr %add.ptr.i.i.i.i20.i, align 1 %conv22.i = zext i8 %sub27.i to i32 - %cmp25.i = icmp ult i32 %add18.i, %conv22.i + %cmp25.i = icmp samesign ult i32 %add18.i, %conv22.i br i1 %cmp25.i, label %for.body.i36, label %_ZN4absl18container_internal10btree_nodeINS0_10set_paramsINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4lessIS8_ESaIS8_ELi256ELb1EEEE13emplace_valueIJPS8_EEEvhPSB_DpOT_.exit, !llvm.loop !1464 _ZN4absl18container_internal10btree_nodeINS0_10set_paramsINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4lessIS8_ESaIS8_ELi256ELb1EEEE13emplace_valueIJPS8_EEEvhPSB_DpOT_.exit: ; preds = %for.body.i36, %if.end.i, %land.lhs.true.i @@ -110774,7 +110774,7 @@ if.end.i: ; preds = %if.end.loopexit.i, land.lhs.true.i: ; preds = %if.end.i %conv16.i = zext i8 %add12.i to i32 %add18.i = add nuw nsw i32 %conv.i, 1 - %cmp19.i = icmp ult i32 %add18.i, %conv16.i + %cmp19.i = icmp samesign ult i32 %add18.i, %conv16.i br i1 %cmp19.i, label %for.body.lr.ph.i, label %_ZN4absl18container_internal10btree_nodeINS0_10map_paramsISt17basic_string_viewIcSt11char_traitsIcEES6_St4lessIS6_ESaISt4pairIKS6_S6_EELi256ELb0EEEE13emplace_valueIJRPNS0_13map_slot_typeIS6_S6_EEEEEvhPSC_DpOT_.exit for.body.lr.ph.i: ; preds = %land.lhs.true.i @@ -110793,7 +110793,7 @@ for.body.i: ; preds = %for.body.i, %for.bo %add.ptr.i.i.i.i20.i = getelementptr i8, ptr %24, i64 8 store i8 %j.023.i, ptr %add.ptr.i.i.i.i20.i, align 1 %conv22.i = zext i8 %sub27.i to i32 - %cmp25.i = icmp ult i32 %add18.i, %conv22.i + %cmp25.i = icmp samesign ult i32 %add18.i, %conv22.i br i1 %cmp25.i, label %for.body.i, label %_ZN4absl18container_internal10btree_nodeINS0_10map_paramsISt17basic_string_viewIcSt11char_traitsIcEES6_St4lessIS6_ESaISt4pairIKS6_S6_EELi256ELb0EEEE13emplace_valueIJRPNS0_13map_slot_typeIS6_S6_EEEEEvhPSC_DpOT_.exit, !llvm.loop !1806 _ZN4absl18container_internal10btree_nodeINS0_10map_paramsISt17basic_string_viewIcSt11char_traitsIcEES6_St4lessIS6_ESaISt4pairIKS6_S6_EELi256ELb0EEEE13emplace_valueIJRPNS0_13map_slot_typeIS6_S6_EEEEEvhPSC_DpOT_.exit: ; preds = %for.body.i, %if.end.i, %land.lhs.true.i @@ -110845,7 +110845,7 @@ if.then15: ; preds = %if.then7 %div69 = lshr i8 %sub18, %7 %.sroa.speculated116 = tail call i8 @llvm.umax.i8(i8 %div69, i8 1) %conv27 = zext nneg i8 %.sroa.speculated116 to i32 - %cmp31.not = icmp uge i32 %conv20, %conv27 + %cmp31.not = icmp samesign uge i32 %conv20, %conv27 %narrow = add nuw nsw i8 %.sroa.speculated116, %5 %cmp36 = icmp ult i8 %narrow, 7 %or.cond = select i1 %cmp31.not, i1 true, i1 %cmp36 @@ -111417,7 +111417,7 @@ if.end.i: ; preds = %if.end.loopexit.i, land.lhs.true.i: ; preds = %if.end.i %conv16.i = zext i8 %add12.i to i32 %add18.i = add nuw nsw i32 %conv.i33, 1 - %cmp19.i = icmp ult i32 %add18.i, %conv16.i + %cmp19.i = icmp samesign ult i32 %add18.i, %conv16.i br i1 %cmp19.i, label %for.body.lr.ph.i, label %_ZN4absl18container_internal10btree_nodeINS0_10map_paramsISt17basic_string_viewIcSt11char_traitsIcEES6_St4lessIS6_ESaISt4pairIKS6_S6_EELi256ELb0EEEE13emplace_valueIJPNS0_13map_slot_typeIS6_S6_EEEEEvhPSC_DpOT_.exit for.body.lr.ph.i: ; preds = %land.lhs.true.i @@ -111436,7 +111436,7 @@ for.body.i36: ; preds = %for.body.i36, %for. %add.ptr.i.i.i.i20.i = getelementptr i8, ptr %13, i64 8 store i8 %j.023.i, ptr %add.ptr.i.i.i.i20.i, align 1 %conv22.i = zext i8 %sub27.i to i32 - %cmp25.i = icmp ult i32 %add18.i, %conv22.i + %cmp25.i = icmp samesign ult i32 %add18.i, %conv22.i br i1 %cmp25.i, label %for.body.i36, label %_ZN4absl18container_internal10btree_nodeINS0_10map_paramsISt17basic_string_viewIcSt11char_traitsIcEES6_St4lessIS6_ESaISt4pairIKS6_S6_EELi256ELb0EEEE13emplace_valueIJPNS0_13map_slot_typeIS6_S6_EEEEEvhPSC_DpOT_.exit, !llvm.loop !1811 _ZN4absl18container_internal10btree_nodeINS0_10map_paramsISt17basic_string_viewIcSt11char_traitsIcEES6_St4lessIS6_ESaISt4pairIKS6_S6_EELi256ELb0EEEE13emplace_valueIJPNS0_13map_slot_typeIS6_S6_EEEEEvhPSC_DpOT_.exit: ; preds = %for.body.i36, %if.end.i, %land.lhs.true.i @@ -114037,7 +114037,7 @@ if.end.i: ; preds = %for.body.i.i, %if.e land.lhs.true.i: ; preds = %if.end.i %conv16.i = zext i8 %add12.i to i32 %add18.i = add nuw nsw i32 %conv.i, 1 - %cmp19.i = icmp ult i32 %add18.i, %conv16.i + %cmp19.i = icmp samesign ult i32 %add18.i, %conv16.i br i1 %cmp19.i, label %for.body.lr.ph.i, label %_ZN4absl18container_internal10btree_nodeINS0_10map_paramsISt17basic_string_viewIcSt11char_traitsIcEENSt7__cxx1112basic_stringIcS5_SaIcEEESt4lessIS6_ESaISt4pairIKS6_SA_EELi256ELb0EEEE13emplace_valueIJRPNS0_13map_slot_typeIS6_SA_EEEEEvhPSG_DpOT_.exit for.body.lr.ph.i: ; preds = %land.lhs.true.i @@ -114056,7 +114056,7 @@ for.body.i: ; preds = %for.body.i, %for.bo %add.ptr.i.i.i.i20.i = getelementptr i8, ptr %22, i64 8 store i8 %j.023.i, ptr %add.ptr.i.i.i.i20.i, align 1 %conv22.i = zext i8 %sub27.i to i32 - %cmp25.i = icmp ult i32 %add18.i, %conv22.i + %cmp25.i = icmp samesign ult i32 %add18.i, %conv22.i br i1 %cmp25.i, label %for.body.i, label %_ZN4absl18container_internal10btree_nodeINS0_10map_paramsISt17basic_string_viewIcSt11char_traitsIcEENSt7__cxx1112basic_stringIcS5_SaIcEEESt4lessIS6_ESaISt4pairIKS6_SA_EELi256ELb0EEEE13emplace_valueIJRPNS0_13map_slot_typeIS6_SA_EEEEEvhPSG_DpOT_.exit, !llvm.loop !1850 _ZN4absl18container_internal10btree_nodeINS0_10map_paramsISt17basic_string_viewIcSt11char_traitsIcEENSt7__cxx1112basic_stringIcS5_SaIcEEESt4lessIS6_ESaISt4pairIKS6_SA_EELi256ELb0EEEE13emplace_valueIJRPNS0_13map_slot_typeIS6_SA_EEEEEvhPSG_DpOT_.exit: ; preds = %for.body.i, %if.end.i, %land.lhs.true.i @@ -114108,7 +114108,7 @@ if.then15: ; preds = %if.then7 %div69 = lshr i8 %sub18, %7 %.sroa.speculated116 = tail call i8 @llvm.umax.i8(i8 %div69, i8 1) %conv27 = zext nneg i8 %.sroa.speculated116 to i32 - %cmp31.not = icmp uge i32 %conv20, %conv27 + %cmp31.not = icmp samesign uge i32 %conv20, %conv27 %narrow = add nuw nsw i8 %.sroa.speculated116, %5 %cmp36 = icmp ult i8 %narrow, 5 %or.cond = select i1 %cmp31.not, i1 true, i1 %cmp36 @@ -114873,7 +114873,7 @@ if.end.i: ; preds = %for.body.i.i, %_ZN4 land.lhs.true.i: ; preds = %if.end.i %conv16.i = zext i8 %add12.i to i32 %add18.i = add nuw nsw i32 %conv.i33, 1 - %cmp19.i = icmp ult i32 %add18.i, %conv16.i + %cmp19.i = icmp samesign ult i32 %add18.i, %conv16.i br i1 %cmp19.i, label %for.body.lr.ph.i, label %_ZN4absl18container_internal10btree_nodeINS0_10map_paramsISt17basic_string_viewIcSt11char_traitsIcEENSt7__cxx1112basic_stringIcS5_SaIcEEESt4lessIS6_ESaISt4pairIKS6_SA_EELi256ELb0EEEE13emplace_valueIJPNS0_13map_slot_typeIS6_SA_EEEEEvhPSG_DpOT_.exit for.body.lr.ph.i: ; preds = %land.lhs.true.i @@ -114892,7 +114892,7 @@ for.body.i36: ; preds = %for.body.i36, %for. %add.ptr.i.i.i.i20.i = getelementptr i8, ptr %13, i64 8 store i8 %j.023.i, ptr %add.ptr.i.i.i.i20.i, align 1 %conv22.i = zext i8 %sub27.i to i32 - %cmp25.i = icmp ult i32 %add18.i, %conv22.i + %cmp25.i = icmp samesign ult i32 %add18.i, %conv22.i br i1 %cmp25.i, label %for.body.i36, label %_ZN4absl18container_internal10btree_nodeINS0_10map_paramsISt17basic_string_viewIcSt11char_traitsIcEENSt7__cxx1112basic_stringIcS5_SaIcEEESt4lessIS6_ESaISt4pairIKS6_SA_EELi256ELb0EEEE13emplace_valueIJPNS0_13map_slot_typeIS6_SA_EEEEEvhPSG_DpOT_.exit, !llvm.loop !1860 _ZN4absl18container_internal10btree_nodeINS0_10map_paramsISt17basic_string_viewIcSt11char_traitsIcEENSt7__cxx1112basic_stringIcS5_SaIcEEESt4lessIS6_ESaISt4pairIKS6_SA_EELi256ELb0EEEE13emplace_valueIJPNS0_13map_slot_typeIS6_SA_EEEEEvhPSG_DpOT_.exit: ; preds = %for.body.i36, %if.end.i, %land.lhs.true.i @@ -117394,7 +117394,7 @@ if.end.i: ; preds = %for.body.i.i, %if.e land.lhs.true.i: ; preds = %if.end.i %conv16.i = zext i8 %add12.i to i32 %add18.i = add nuw nsw i32 %conv.i, 1 - %cmp19.i = icmp ult i32 %add18.i, %conv16.i + %cmp19.i = icmp samesign ult i32 %add18.i, %conv16.i br i1 %cmp19.i, label %for.body.lr.ph.i, label %_ZN4absl18container_internal10btree_nodeINS0_10map_paramsINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt17basic_string_viewIcS6_ESt4lessIS8_ESaISt4pairIKS8_SA_EELi256ELb0EEEE13emplace_valueIJRPNS0_13map_slot_typeIS8_SA_EEEEEvhPSG_DpOT_.exit for.body.lr.ph.i: ; preds = %land.lhs.true.i @@ -117413,7 +117413,7 @@ for.body.i: ; preds = %for.body.i, %for.bo %add.ptr.i.i.i.i20.i = getelementptr i8, ptr %22, i64 8 store i8 %j.023.i, ptr %add.ptr.i.i.i.i20.i, align 1 %conv22.i = zext i8 %sub27.i to i32 - %cmp25.i = icmp ult i32 %add18.i, %conv22.i + %cmp25.i = icmp samesign ult i32 %add18.i, %conv22.i br i1 %cmp25.i, label %for.body.i, label %_ZN4absl18container_internal10btree_nodeINS0_10map_paramsINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt17basic_string_viewIcS6_ESt4lessIS8_ESaISt4pairIKS8_SA_EELi256ELb0EEEE13emplace_valueIJRPNS0_13map_slot_typeIS8_SA_EEEEEvhPSG_DpOT_.exit, !llvm.loop !1892 _ZN4absl18container_internal10btree_nodeINS0_10map_paramsINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt17basic_string_viewIcS6_ESt4lessIS8_ESaISt4pairIKS8_SA_EELi256ELb0EEEE13emplace_valueIJRPNS0_13map_slot_typeIS8_SA_EEEEEvhPSG_DpOT_.exit: ; preds = %for.body.i, %if.end.i, %land.lhs.true.i @@ -117465,7 +117465,7 @@ if.then15: ; preds = %if.then7 %div69 = lshr i8 %sub18, %7 %.sroa.speculated116 = tail call i8 @llvm.umax.i8(i8 %div69, i8 1) %conv27 = zext nneg i8 %.sroa.speculated116 to i32 - %cmp31.not = icmp uge i32 %conv20, %conv27 + %cmp31.not = icmp samesign uge i32 %conv20, %conv27 %narrow = add nuw nsw i8 %.sroa.speculated116, %5 %cmp36 = icmp ult i8 %narrow, 5 %or.cond = select i1 %cmp31.not, i1 true, i1 %cmp36 @@ -118227,7 +118227,7 @@ if.end.i: ; preds = %for.body.i.i, %_ZN4 land.lhs.true.i: ; preds = %if.end.i %conv16.i = zext i8 %add12.i to i32 %add18.i = add nuw nsw i32 %conv.i33, 1 - %cmp19.i = icmp ult i32 %add18.i, %conv16.i + %cmp19.i = icmp samesign ult i32 %add18.i, %conv16.i br i1 %cmp19.i, label %for.body.lr.ph.i, label %_ZN4absl18container_internal10btree_nodeINS0_10map_paramsINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt17basic_string_viewIcS6_ESt4lessIS8_ESaISt4pairIKS8_SA_EELi256ELb0EEEE13emplace_valueIJPNS0_13map_slot_typeIS8_SA_EEEEEvhPSG_DpOT_.exit for.body.lr.ph.i: ; preds = %land.lhs.true.i @@ -118246,7 +118246,7 @@ for.body.i36: ; preds = %for.body.i36, %for. %add.ptr.i.i.i.i20.i = getelementptr i8, ptr %13, i64 8 store i8 %j.023.i, ptr %add.ptr.i.i.i.i20.i, align 1 %conv22.i = zext i8 %sub27.i to i32 - %cmp25.i = icmp ult i32 %add18.i, %conv22.i + %cmp25.i = icmp samesign ult i32 %add18.i, %conv22.i br i1 %cmp25.i, label %for.body.i36, label %_ZN4absl18container_internal10btree_nodeINS0_10map_paramsINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt17basic_string_viewIcS6_ESt4lessIS8_ESaISt4pairIKS8_SA_EELi256ELb0EEEE13emplace_valueIJPNS0_13map_slot_typeIS8_SA_EEEEEvhPSG_DpOT_.exit, !llvm.loop !1902 _ZN4absl18container_internal10btree_nodeINS0_10map_paramsINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt17basic_string_viewIcS6_ESt4lessIS8_ESaISt4pairIKS8_SA_EELi256ELb0EEEE13emplace_valueIJPNS0_13map_slot_typeIS8_SA_EEEEEvhPSG_DpOT_.exit: ; preds = %for.body.i36, %if.end.i, %land.lhs.true.i @@ -120821,7 +120821,7 @@ if.then15: ; preds = %if.then7 %.sroa.speculated116 = tail call i8 @llvm.umax.i8(i8 %div69, i8 1) %conv26 = and i32 %6, 255 %conv27 = zext nneg i8 %.sroa.speculated116 to i32 - %cmp31.not = icmp uge i32 %conv26, %conv27 + %cmp31.not = icmp samesign uge i32 %conv26, %conv27 %narrow = add nuw nsw i8 %.sroa.speculated116, %5 %cmp36 = icmp ult i8 %narrow, 4 %or.cond = select i1 %cmp31.not, i1 true, i1 %cmp36 @@ -121052,7 +121052,7 @@ if.end: ; preds = %for.body.i, %entry land.lhs.true: ; preds = %if.end %conv16 = zext i8 %add12 to i32 %add18 = add nuw nsw i32 %conv, 1 - %cmp19 = icmp ult i32 %add18, %conv16 + %cmp19 = icmp samesign ult i32 %add18, %conv16 br i1 %cmp19, label %for.body.lr.ph, label %if.end33 for.body.lr.ph: ; preds = %land.lhs.true @@ -121071,7 +121071,7 @@ for.body: ; preds = %for.body.lr.ph, %fo %add.ptr.i.i.i.i20 = getelementptr i8, ptr %6, i64 8 store i8 %j.023, ptr %add.ptr.i.i.i.i20, align 1 %conv22 = zext i8 %sub27 to i32 - %cmp25 = icmp ult i32 %add18, %conv22 + %cmp25 = icmp samesign ult i32 %add18, %conv22 br i1 %cmp25, label %for.body, label %if.end33, !llvm.loop !1938 if.end33: ; preds = %for.body, %land.lhs.true, %if.end @@ -121731,7 +121731,7 @@ if.end: ; preds = %for.body.i, %entry land.lhs.true: ; preds = %if.end %conv16 = zext i8 %add12 to i32 %add18 = add nuw nsw i32 %conv, 1 - %cmp19 = icmp ult i32 %add18, %conv16 + %cmp19 = icmp samesign ult i32 %add18, %conv16 br i1 %cmp19, label %for.body.lr.ph, label %if.end33 for.body.lr.ph: ; preds = %land.lhs.true @@ -121750,7 +121750,7 @@ for.body: ; preds = %for.body.lr.ph, %fo %add.ptr.i.i.i.i20 = getelementptr i8, ptr %6, i64 8 store i8 %j.023, ptr %add.ptr.i.i.i.i20, align 1 %conv22 = zext i8 %sub27 to i32 - %cmp25 = icmp ult i32 %add18, %conv22 + %cmp25 = icmp samesign ult i32 %add18, %conv22 br i1 %cmp25, label %for.body, label %if.end33, !llvm.loop !1949 if.end33: ; preds = %for.body, %land.lhs.true, %if.end @@ -124117,7 +124117,7 @@ if.end.i: ; preds = %if.end.loopexit.i, land.lhs.true.i: ; preds = %if.end.i %conv16.i = zext i8 %add12.i to i32 %add18.i = add nuw nsw i32 %conv.i, 1 - %cmp19.i = icmp ult i32 %add18.i, %conv16.i + %cmp19.i = icmp samesign ult i32 %add18.i, %conv16.i br i1 %cmp19.i, label %for.body.lr.ph.i, label %_ZN4absl18container_internal10btree_nodeINS0_10map_paramsISt17basic_string_viewIcSt11char_traitsIcEES6_St4lessIS6_ESaISt4pairIKS6_S6_EELi256ELb1EEEE13emplace_valueIJPNS0_13map_slot_typeIS6_S6_EEEEEvhPSC_DpOT_.exit for.body.lr.ph.i: ; preds = %land.lhs.true.i @@ -124136,7 +124136,7 @@ for.body.i: ; preds = %for.body.i, %for.bo %add.ptr.i.i.i.i20.i = getelementptr i8, ptr %24, i64 8 store i8 %j.023.i, ptr %add.ptr.i.i.i.i20.i, align 1 %conv22.i = zext i8 %sub27.i to i32 - %cmp25.i = icmp ult i32 %add18.i, %conv22.i + %cmp25.i = icmp samesign ult i32 %add18.i, %conv22.i br i1 %cmp25.i, label %for.body.i, label %_ZN4absl18container_internal10btree_nodeINS0_10map_paramsISt17basic_string_viewIcSt11char_traitsIcEES6_St4lessIS6_ESaISt4pairIKS6_S6_EELi256ELb1EEEE13emplace_valueIJPNS0_13map_slot_typeIS6_S6_EEEEEvhPSC_DpOT_.exit, !llvm.loop !1978 _ZN4absl18container_internal10btree_nodeINS0_10map_paramsISt17basic_string_viewIcSt11char_traitsIcEES6_St4lessIS6_ESaISt4pairIKS6_S6_EELi256ELb1EEEE13emplace_valueIJPNS0_13map_slot_typeIS6_S6_EEEEEvhPSC_DpOT_.exit: ; preds = %for.body.i, %if.end.i, %land.lhs.true.i @@ -124188,7 +124188,7 @@ if.then15: ; preds = %if.then7 %div69 = lshr i8 %sub18, %7 %.sroa.speculated116 = tail call i8 @llvm.umax.i8(i8 %div69, i8 1) %conv27 = zext nneg i8 %.sroa.speculated116 to i32 - %cmp31.not = icmp uge i32 %conv20, %conv27 + %cmp31.not = icmp samesign uge i32 %conv20, %conv27 %narrow = add nuw nsw i8 %.sroa.speculated116, %5 %cmp36 = icmp ult i8 %narrow, 7 %or.cond = select i1 %cmp31.not, i1 true, i1 %cmp36 @@ -124760,7 +124760,7 @@ if.end.i: ; preds = %if.end.loopexit.i, land.lhs.true.i: ; preds = %if.end.i %conv16.i = zext i8 %add12.i to i32 %add18.i = add nuw nsw i32 %conv.i33, 1 - %cmp19.i = icmp ult i32 %add18.i, %conv16.i + %cmp19.i = icmp samesign ult i32 %add18.i, %conv16.i br i1 %cmp19.i, label %for.body.lr.ph.i, label %_ZN4absl18container_internal10btree_nodeINS0_10map_paramsISt17basic_string_viewIcSt11char_traitsIcEES6_St4lessIS6_ESaISt4pairIKS6_S6_EELi256ELb1EEEE13emplace_valueIJPNS0_13map_slot_typeIS6_S6_EEEEEvhPSC_DpOT_.exit for.body.lr.ph.i: ; preds = %land.lhs.true.i @@ -124779,7 +124779,7 @@ for.body.i36: ; preds = %for.body.i36, %for. %add.ptr.i.i.i.i20.i = getelementptr i8, ptr %13, i64 8 store i8 %j.023.i, ptr %add.ptr.i.i.i.i20.i, align 1 %conv22.i = zext i8 %sub27.i to i32 - %cmp25.i = icmp ult i32 %add18.i, %conv22.i + %cmp25.i = icmp samesign ult i32 %add18.i, %conv22.i br i1 %cmp25.i, label %for.body.i36, label %_ZN4absl18container_internal10btree_nodeINS0_10map_paramsISt17basic_string_viewIcSt11char_traitsIcEES6_St4lessIS6_ESaISt4pairIKS6_S6_EELi256ELb1EEEE13emplace_valueIJPNS0_13map_slot_typeIS6_S6_EEEEEvhPSC_DpOT_.exit, !llvm.loop !1978 _ZN4absl18container_internal10btree_nodeINS0_10map_paramsISt17basic_string_viewIcSt11char_traitsIcEES6_St4lessIS6_ESaISt4pairIKS6_S6_EELi256ELb1EEEE13emplace_valueIJPNS0_13map_slot_typeIS6_S6_EEEEEvhPSC_DpOT_.exit: ; preds = %for.body.i36, %if.end.i, %land.lhs.true.i @@ -127381,7 +127381,7 @@ if.end.i: ; preds = %for.body.i.i, %if.e land.lhs.true.i: ; preds = %if.end.i %conv16.i = zext i8 %add12.i to i32 %add18.i = add nuw nsw i32 %conv.i, 1 - %cmp19.i = icmp ult i32 %add18.i, %conv16.i + %cmp19.i = icmp samesign ult i32 %add18.i, %conv16.i br i1 %cmp19.i, label %for.body.lr.ph.i, label %_ZN4absl18container_internal10btree_nodeINS0_10map_paramsISt17basic_string_viewIcSt11char_traitsIcEENSt7__cxx1112basic_stringIcS5_SaIcEEESt4lessIS6_ESaISt4pairIKS6_SA_EELi256ELb1EEEE13emplace_valueIJPNS0_13map_slot_typeIS6_SA_EEEEEvhPSG_DpOT_.exit for.body.lr.ph.i: ; preds = %land.lhs.true.i @@ -127400,7 +127400,7 @@ for.body.i: ; preds = %for.body.i, %for.bo %add.ptr.i.i.i.i20.i = getelementptr i8, ptr %22, i64 8 store i8 %j.023.i, ptr %add.ptr.i.i.i.i20.i, align 1 %conv22.i = zext i8 %sub27.i to i32 - %cmp25.i = icmp ult i32 %add18.i, %conv22.i + %cmp25.i = icmp samesign ult i32 %add18.i, %conv22.i br i1 %cmp25.i, label %for.body.i, label %_ZN4absl18container_internal10btree_nodeINS0_10map_paramsISt17basic_string_viewIcSt11char_traitsIcEENSt7__cxx1112basic_stringIcS5_SaIcEEESt4lessIS6_ESaISt4pairIKS6_SA_EELi256ELb1EEEE13emplace_valueIJPNS0_13map_slot_typeIS6_SA_EEEEEvhPSG_DpOT_.exit, !llvm.loop !2016 _ZN4absl18container_internal10btree_nodeINS0_10map_paramsISt17basic_string_viewIcSt11char_traitsIcEENSt7__cxx1112basic_stringIcS5_SaIcEEESt4lessIS6_ESaISt4pairIKS6_SA_EELi256ELb1EEEE13emplace_valueIJPNS0_13map_slot_typeIS6_SA_EEEEEvhPSG_DpOT_.exit: ; preds = %for.body.i, %if.end.i, %land.lhs.true.i @@ -127452,7 +127452,7 @@ if.then15: ; preds = %if.then7 %div69 = lshr i8 %sub18, %7 %.sroa.speculated116 = tail call i8 @llvm.umax.i8(i8 %div69, i8 1) %conv27 = zext nneg i8 %.sroa.speculated116 to i32 - %cmp31.not = icmp uge i32 %conv20, %conv27 + %cmp31.not = icmp samesign uge i32 %conv20, %conv27 %narrow = add nuw nsw i8 %.sroa.speculated116, %5 %cmp36 = icmp ult i8 %narrow, 5 %or.cond = select i1 %cmp31.not, i1 true, i1 %cmp36 @@ -128217,7 +128217,7 @@ if.end.i: ; preds = %for.body.i.i, %_ZN4 land.lhs.true.i: ; preds = %if.end.i %conv16.i = zext i8 %add12.i to i32 %add18.i = add nuw nsw i32 %conv.i33, 1 - %cmp19.i = icmp ult i32 %add18.i, %conv16.i + %cmp19.i = icmp samesign ult i32 %add18.i, %conv16.i br i1 %cmp19.i, label %for.body.lr.ph.i, label %_ZN4absl18container_internal10btree_nodeINS0_10map_paramsISt17basic_string_viewIcSt11char_traitsIcEENSt7__cxx1112basic_stringIcS5_SaIcEEESt4lessIS6_ESaISt4pairIKS6_SA_EELi256ELb1EEEE13emplace_valueIJPNS0_13map_slot_typeIS6_SA_EEEEEvhPSG_DpOT_.exit for.body.lr.ph.i: ; preds = %land.lhs.true.i @@ -128236,7 +128236,7 @@ for.body.i36: ; preds = %for.body.i36, %for. %add.ptr.i.i.i.i20.i = getelementptr i8, ptr %13, i64 8 store i8 %j.023.i, ptr %add.ptr.i.i.i.i20.i, align 1 %conv22.i = zext i8 %sub27.i to i32 - %cmp25.i = icmp ult i32 %add18.i, %conv22.i + %cmp25.i = icmp samesign ult i32 %add18.i, %conv22.i br i1 %cmp25.i, label %for.body.i36, label %_ZN4absl18container_internal10btree_nodeINS0_10map_paramsISt17basic_string_viewIcSt11char_traitsIcEENSt7__cxx1112basic_stringIcS5_SaIcEEESt4lessIS6_ESaISt4pairIKS6_SA_EELi256ELb1EEEE13emplace_valueIJPNS0_13map_slot_typeIS6_SA_EEEEEvhPSG_DpOT_.exit, !llvm.loop !2016 _ZN4absl18container_internal10btree_nodeINS0_10map_paramsISt17basic_string_viewIcSt11char_traitsIcEENSt7__cxx1112basic_stringIcS5_SaIcEEESt4lessIS6_ESaISt4pairIKS6_SA_EELi256ELb1EEEE13emplace_valueIJPNS0_13map_slot_typeIS6_SA_EEEEEvhPSG_DpOT_.exit: ; preds = %for.body.i36, %if.end.i, %land.lhs.true.i @@ -130782,7 +130782,7 @@ if.end.i: ; preds = %for.body.i.i, %if.e land.lhs.true.i: ; preds = %if.end.i %conv16.i = zext i8 %add12.i to i32 %add18.i = add nuw nsw i32 %conv.i, 1 - %cmp19.i = icmp ult i32 %add18.i, %conv16.i + %cmp19.i = icmp samesign ult i32 %add18.i, %conv16.i br i1 %cmp19.i, label %for.body.lr.ph.i, label %_ZN4absl18container_internal10btree_nodeINS0_10map_paramsINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt17basic_string_viewIcS6_ESt4lessIS8_ESaISt4pairIKS8_SA_EELi256ELb1EEEE13emplace_valueIJPNS0_13map_slot_typeIS8_SA_EEEEEvhPSG_DpOT_.exit for.body.lr.ph.i: ; preds = %land.lhs.true.i @@ -130801,7 +130801,7 @@ for.body.i: ; preds = %for.body.i, %for.bo %add.ptr.i.i.i.i20.i = getelementptr i8, ptr %22, i64 8 store i8 %j.023.i, ptr %add.ptr.i.i.i.i20.i, align 1 %conv22.i = zext i8 %sub27.i to i32 - %cmp25.i = icmp ult i32 %add18.i, %conv22.i + %cmp25.i = icmp samesign ult i32 %add18.i, %conv22.i br i1 %cmp25.i, label %for.body.i, label %_ZN4absl18container_internal10btree_nodeINS0_10map_paramsINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt17basic_string_viewIcS6_ESt4lessIS8_ESaISt4pairIKS8_SA_EELi256ELb1EEEE13emplace_valueIJPNS0_13map_slot_typeIS8_SA_EEEEEvhPSG_DpOT_.exit, !llvm.loop !2052 _ZN4absl18container_internal10btree_nodeINS0_10map_paramsINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt17basic_string_viewIcS6_ESt4lessIS8_ESaISt4pairIKS8_SA_EELi256ELb1EEEE13emplace_valueIJPNS0_13map_slot_typeIS8_SA_EEEEEvhPSG_DpOT_.exit: ; preds = %for.body.i, %if.end.i, %land.lhs.true.i @@ -130853,7 +130853,7 @@ if.then15: ; preds = %if.then7 %div69 = lshr i8 %sub18, %7 %.sroa.speculated116 = tail call i8 @llvm.umax.i8(i8 %div69, i8 1) %conv27 = zext nneg i8 %.sroa.speculated116 to i32 - %cmp31.not = icmp uge i32 %conv20, %conv27 + %cmp31.not = icmp samesign uge i32 %conv20, %conv27 %narrow = add nuw nsw i8 %.sroa.speculated116, %5 %cmp36 = icmp ult i8 %narrow, 5 %or.cond = select i1 %cmp31.not, i1 true, i1 %cmp36 @@ -131615,7 +131615,7 @@ if.end.i: ; preds = %for.body.i.i, %_ZN4 land.lhs.true.i: ; preds = %if.end.i %conv16.i = zext i8 %add12.i to i32 %add18.i = add nuw nsw i32 %conv.i33, 1 - %cmp19.i = icmp ult i32 %add18.i, %conv16.i + %cmp19.i = icmp samesign ult i32 %add18.i, %conv16.i br i1 %cmp19.i, label %for.body.lr.ph.i, label %_ZN4absl18container_internal10btree_nodeINS0_10map_paramsINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt17basic_string_viewIcS6_ESt4lessIS8_ESaISt4pairIKS8_SA_EELi256ELb1EEEE13emplace_valueIJPNS0_13map_slot_typeIS8_SA_EEEEEvhPSG_DpOT_.exit for.body.lr.ph.i: ; preds = %land.lhs.true.i @@ -131634,7 +131634,7 @@ for.body.i36: ; preds = %for.body.i36, %for. %add.ptr.i.i.i.i20.i = getelementptr i8, ptr %13, i64 8 store i8 %j.023.i, ptr %add.ptr.i.i.i.i20.i, align 1 %conv22.i = zext i8 %sub27.i to i32 - %cmp25.i = icmp ult i32 %add18.i, %conv22.i + %cmp25.i = icmp samesign ult i32 %add18.i, %conv22.i br i1 %cmp25.i, label %for.body.i36, label %_ZN4absl18container_internal10btree_nodeINS0_10map_paramsINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt17basic_string_viewIcS6_ESt4lessIS8_ESaISt4pairIKS8_SA_EELi256ELb1EEEE13emplace_valueIJPNS0_13map_slot_typeIS8_SA_EEEEEvhPSG_DpOT_.exit, !llvm.loop !2052 _ZN4absl18container_internal10btree_nodeINS0_10map_paramsINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt17basic_string_viewIcS6_ESt4lessIS8_ESaISt4pairIKS8_SA_EELi256ELb1EEEE13emplace_valueIJPNS0_13map_slot_typeIS8_SA_EEEEEvhPSG_DpOT_.exit: ; preds = %for.body.i36, %if.end.i, %land.lhs.true.i @@ -134204,7 +134204,7 @@ if.then15: ; preds = %if.then7 %.sroa.speculated116 = tail call i8 @llvm.umax.i8(i8 %div69, i8 1) %conv26 = and i32 %6, 255 %conv27 = zext nneg i8 %.sroa.speculated116 to i32 - %cmp31.not = icmp uge i32 %conv26, %conv27 + %cmp31.not = icmp samesign uge i32 %conv26, %conv27 %narrow = add nuw nsw i8 %.sroa.speculated116, %5 %cmp36 = icmp ult i8 %narrow, 4 %or.cond = select i1 %cmp31.not, i1 true, i1 %cmp36 @@ -134435,7 +134435,7 @@ if.end: ; preds = %for.body.i, %entry land.lhs.true: ; preds = %if.end %conv16 = zext i8 %add12 to i32 %add18 = add nuw nsw i32 %conv, 1 - %cmp19 = icmp ult i32 %add18, %conv16 + %cmp19 = icmp samesign ult i32 %add18, %conv16 br i1 %cmp19, label %for.body.lr.ph, label %if.end33 for.body.lr.ph: ; preds = %land.lhs.true @@ -134454,7 +134454,7 @@ for.body: ; preds = %for.body.lr.ph, %fo %add.ptr.i.i.i.i20 = getelementptr i8, ptr %6, i64 8 store i8 %j.023, ptr %add.ptr.i.i.i.i20, align 1 %conv22 = zext i8 %sub27 to i32 - %cmp25 = icmp ult i32 %add18, %conv22 + %cmp25 = icmp samesign ult i32 %add18, %conv22 br i1 %cmp25, label %for.body, label %if.end33, !llvm.loop !2091 if.end33: ; preds = %for.body, %land.lhs.true, %if.end diff --git a/bench/actix-rs/optimized/1rfb1t3n8679w74r.ll b/bench/actix-rs/optimized/1rfb1t3n8679w74r.ll index 53d2d807e79..49410af8249 100644 --- a/bench/actix-rs/optimized/1rfb1t3n8679w74r.ll +++ b/bench/actix-rs/optimized/1rfb1t3n8679w74r.ll @@ -4336,7 +4336,7 @@ define hidden void @_ZN4time10formatting22format_number_pad_zero17h28483e5d6d70d 36: ; preds = %27, %._crit_edge.i %.129.i = phi i64 [ %32, %27 ], [ %.028.lcssa.i, %._crit_edge.i ] %.027.i = phi i64 [ %.zext37.i, %27 ], [ %10, %._crit_edge.i ] - %37 = icmp ult i64 %.027.i, 10 + %37 = icmp samesign ult i64 %.027.i, 10 br i1 %37, label %44, label %38 38: ; preds = %36 @@ -4490,7 +4490,7 @@ define hidden void @_ZN4time10formatting22format_number_pad_zero17h3eac427fd2cf1 36: ; preds = %27, %._crit_edge.i %.129.i = phi i64 [ %32, %27 ], [ %.028.lcssa.i, %._crit_edge.i ] %.027.i = phi i64 [ %.zext37.i, %27 ], [ %10, %._crit_edge.i ] - %37 = icmp ult i64 %.027.i, 10 + %37 = icmp samesign ult i64 %.027.i, 10 br i1 %37, label %44, label %38 38: ; preds = %36 @@ -4644,7 +4644,7 @@ define hidden void @_ZN4time10formatting22format_number_pad_zero17h529b20ab51804 36: ; preds = %27, %._crit_edge.i %.129.i = phi i64 [ %32, %27 ], [ %.028.lcssa.i, %._crit_edge.i ] %.027.i = phi i64 [ %.zext37.i, %27 ], [ %10, %._crit_edge.i ] - %37 = icmp ult i64 %.027.i, 10 + %37 = icmp samesign ult i64 %.027.i, 10 br i1 %37, label %44, label %38 38: ; preds = %36 @@ -4798,7 +4798,7 @@ define hidden void @_ZN4time10formatting22format_number_pad_zero17h6689c0f1dafd5 36: ; preds = %27, %._crit_edge.i %.129.i = phi i64 [ %32, %27 ], [ %.028.lcssa.i, %._crit_edge.i ] %.027.i = phi i64 [ %.zext37.i, %27 ], [ %10, %._crit_edge.i ] - %37 = icmp ult i64 %.027.i, 10 + %37 = icmp samesign ult i64 %.027.i, 10 br i1 %37, label %44, label %38 38: ; preds = %36 @@ -4945,7 +4945,7 @@ define hidden void @_ZN4time10formatting22format_number_pad_zero17h6b328a6fab8ef 34: ; preds = %25, %._crit_edge.i %.129.i = phi i64 [ %30, %25 ], [ %.028.lcssa.i, %._crit_edge.i ] %.027.i = phi i64 [ %.zext37.i, %25 ], [ %8, %._crit_edge.i ] - %35 = icmp ult i64 %.027.i, 10 + %35 = icmp samesign ult i64 %.027.i, 10 br i1 %35, label %42, label %36 36: ; preds = %34 @@ -5097,7 +5097,7 @@ define hidden void @_ZN4time10formatting22format_number_pad_zero17h948f3b9226bdc 36: ; preds = %27, %._crit_edge.i %.129.i = phi i64 [ %32, %27 ], [ %.028.lcssa.i, %._crit_edge.i ] %.027.i = phi i64 [ %.zext37.i, %27 ], [ %10, %._crit_edge.i ] - %37 = icmp ult i64 %.027.i, 10 + %37 = icmp samesign ult i64 %.027.i, 10 br i1 %37, label %44, label %38 38: ; preds = %36 @@ -5251,7 +5251,7 @@ define hidden void @_ZN4time10formatting22format_number_pad_zero17ha7cd3af073c0d 36: ; preds = %27, %._crit_edge.i %.129.i = phi i64 [ %32, %27 ], [ %.028.lcssa.i, %._crit_edge.i ] %.027.i = phi i64 [ %.zext37.i, %27 ], [ %10, %._crit_edge.i ] - %37 = icmp ult i64 %.027.i, 10 + %37 = icmp samesign ult i64 %.027.i, 10 br i1 %37, label %44, label %38 38: ; preds = %36 @@ -5523,7 +5523,7 @@ define hidden void @_ZN4time10formatting22format_number_pad_zero17hd32f90a7eda97 36: ; preds = %27, %._crit_edge.i %.129.i = phi i64 [ %32, %27 ], [ %.028.lcssa.i, %._crit_edge.i ] %.027.i = phi i64 [ %.zext37.i, %27 ], [ %10, %._crit_edge.i ] - %37 = icmp ult i64 %.027.i, 10 + %37 = icmp samesign ult i64 %.027.i, 10 br i1 %37, label %44, label %38 38: ; preds = %36 @@ -5677,7 +5677,7 @@ define hidden void @_ZN4time10formatting22format_number_pad_zero17he5277f3937805 36: ; preds = %27, %._crit_edge.i %.129.i = phi i64 [ %32, %27 ], [ %.028.lcssa.i, %._crit_edge.i ] %.027.i = phi i64 [ %.zext37.i, %27 ], [ %10, %._crit_edge.i ] - %37 = icmp ult i64 %.027.i, 10 + %37 = icmp samesign ult i64 %.027.i, 10 br i1 %37, label %44, label %38 38: ; preds = %36 diff --git a/bench/assimp/optimized/HL1MDLLoader.cpp.ll b/bench/assimp/optimized/HL1MDLLoader.cpp.ll index 3201391bd8b..0df71a50871 100644 --- a/bench/assimp/optimized/HL1MDLLoader.cpp.ll +++ b/bench/assimp/optimized/HL1MDLLoader.cpp.ll @@ -8161,7 +8161,7 @@ _ZN10aiVector3tIfEixEj.exit: ; preds = %if.then131, %sw.bb2 %total13.i = getelementptr inbounds i8, ptr %add.ptr138, i64 1 %61 = load i8, ptr %total13.i, align 1 %62 = zext i8 %61 to i64 - %cmp.not15.i = icmp ult i64 %indvars.iv182, %62 + %cmp.not15.i = icmp samesign ult i64 %indvars.iv182, %62 br i1 %cmp.not15.i, label %_ZN6Assimp3MDL8HalfLife12HL1MDLLoader18extract_anim_valueEPKNS1_13AnimValue_HL1EifRf.exit, label %while.body.i.preheader while.body.i.preheader: ; preds = %_ZN10aiVector3tIfEixEj.exit @@ -8246,7 +8246,7 @@ _ZN10aiVector3tIfEixEj.exit102: ; preds = %if.then154, %sw.bb2 %total13.i103 = getelementptr inbounds i8, ptr %add.ptr160, i64 1 %70 = load i8, ptr %total13.i103, align 1 %71 = zext i8 %70 to i64 - %cmp.not15.i105 = icmp ult i64 %indvars.iv182, %71 + %cmp.not15.i105 = icmp samesign ult i64 %indvars.iv182, %71 br i1 %cmp.not15.i105, label %_ZN6Assimp3MDL8HalfLife12HL1MDLLoader18extract_anim_valueEPKNS1_13AnimValue_HL1EifRf.exit129, label %while.body.i106.preheader while.body.i106.preheader: ; preds = %_ZN10aiVector3tIfEixEj.exit102 diff --git a/bench/bdwgc/optimized/gc.c.ll b/bench/bdwgc/optimized/gc.c.ll index fe1823fe5b8..3f172122042 100644 --- a/bench/bdwgc/optimized/gc.c.ll +++ b/bench/bdwgc/optimized/gc.c.ll @@ -16552,7 +16552,7 @@ GC_enough_large_bytes_left.exit: ; preds = %45 51: ; preds = %GC_enough_large_bytes_left.exit, %37, %22, %27, %35 %.034 = phi i32 [ 1, %35 ], [ 1, %27 ], [ 1, %22 ], [ 1, %37 ], [ %spec.select, %GC_enough_large_bytes_left.exit ] %.0 = phi i32 [ 60, %35 ], [ 60, %27 ], [ 60, %22 ], [ 0, %37 ], [ %.0710.i, %GC_enough_large_bytes_left.exit ] - %52 = icmp ult i32 %.0.i, 32 + %52 = icmp samesign ult i32 %.0.i, 32 %53 = icmp eq i64 %3, 0 %or.cond5 = and i1 %53, %52 %54 = zext i1 %or.cond5 to i32 @@ -32571,7 +32571,7 @@ GC_add_roots_inner.exit.i.i: ; preds = %165, %158, %155, %1 %189 = getelementptr inbounds i8, ptr %.01730.i.i, i64 56 %190 = load i16, ptr %109, align 8 %191 = zext i16 %190 to i32 - %192 = icmp ult i32 %188, %191 + %192 = icmp samesign ult i32 %188, %191 br i1 %192, label %.lr.ph.i5.i, label %._crit_edge.i6.i, !llvm.loop !159 ._crit_edge.i6.i: ; preds = %GC_add_roots_inner.exit.i.i, %.lr.ph40.i.i @@ -38260,7 +38260,7 @@ define internal range(i32 -1, 1) i32 @GC_register_dynlib_callback(ptr nocapture %49 = getelementptr inbounds i8, ptr %.04961, i64 56 %50 = load i16, ptr %7, align 8 %51 = zext i16 %50 to i32 - %52 = icmp ult i32 %48, %51 + %52 = icmp samesign ult i32 %48, %51 br i1 %52, label %10, label %._crit_edge, !llvm.loop !209 ._crit_edge: ; preds = %47 @@ -38349,7 +38349,7 @@ define internal range(i32 -1, 1) i32 @GC_register_dynlib_callback(ptr nocapture %90 = getelementptr inbounds i8, ptr %.15066, i64 56 %91 = load i16, ptr %7, align 8 %92 = zext i16 %91 to i32 - %93 = icmp ult i32 %89, %92 + %93 = icmp samesign ult i32 %89, %92 br i1 %93, label %.lr.ph69, label %._crit_edge70, !llvm.loop !211 ._crit_edge70: ; preds = %.loopexit, %5, %._crit_edge @@ -39141,7 +39141,7 @@ GC_find_header.exit: ; preds = %10 %29 = trunc i64 %26 to i16 %30 = sub i16 %29, %28 %31 = zext i16 %30 to i32 - %.not12 = icmp ugt i32 %2, %31 + %.not12 = icmp samesign ugt i32 %2, %31 br i1 %.not12, label %62, label %32 32: ; preds = %25 diff --git a/bench/cvc5/optimized/SimpSolver.cc.ll b/bench/cvc5/optimized/SimpSolver.cc.ll index a762d5ac4ca..39fd5212656 100644 --- a/bench/cvc5/optimized/SimpSolver.cc.ll +++ b/bench/cvc5/optimized/SimpSolver.cc.ll @@ -413,7 +413,7 @@ if.end.i.i: ; preds = %for.body %24 = call i32 @llvm.smax.i32(i32 %23, i32 0) %add.i.i.i = add nuw nsw i32 %24, 2 %sub8.i.i = sub nsw i32 2147483647, %21 - %cmp9.i.i = icmp ugt i32 %add.i.i.i, %sub8.i.i + %cmp9.i.i = icmp samesign ugt i32 %add.i.i.i, %sub8.i.i br i1 %cmp9.i.i, label %if.then17.i.i.invoke, label %lor.lhs.false.i.i lor.lhs.false.i.i: ; preds = %if.end.i.i @@ -468,7 +468,7 @@ if.end.i.i19: ; preds = %invoke.cont69 %32 = call i32 @llvm.smax.i32(i32 %31, i32 0) %add.i.i.i21 = add nuw nsw i32 %32, 2 %sub8.i.i22 = sub nsw i32 2147483647, %29 - %cmp9.i.i23 = icmp ugt i32 %add.i.i.i21, %sub8.i.i22 + %cmp9.i.i23 = icmp samesign ugt i32 %add.i.i.i21, %sub8.i.i22 br i1 %cmp9.i.i23, label %if.then17.i.i.invoke, label %lor.lhs.false.i.i24 lor.lhs.false.i.i24: ; preds = %if.end.i.i19 @@ -517,7 +517,7 @@ if.end.i.i44: ; preds = %if.then %40 = call i32 @llvm.smax.i32(i32 %39, i32 0) %add.i.i.i46 = add nuw nsw i32 %40, 2 %sub8.i.i47 = sub nsw i32 2147483647, %37 - %cmp9.i.i48 = icmp ugt i32 %add.i.i.i46, %sub8.i.i47 + %cmp9.i.i48 = icmp samesign ugt i32 %add.i.i.i46, %sub8.i.i47 br i1 %cmp9.i.i48, label %if.then17.i.i.invoke, label %lor.lhs.false.i.i49 lor.lhs.false.i.i49: ; preds = %if.end.i.i44 @@ -558,7 +558,7 @@ if.end.i.i68: ; preds = %invoke.cont77 %47 = call i32 @llvm.smax.i32(i32 %46, i32 0) %add.i.i.i70 = add nuw nsw i32 %47, 2 %sub8.i.i71 = sub nsw i32 2147483647, %44 - %cmp9.i.i72 = icmp ugt i32 %add.i.i.i70, %sub8.i.i71 + %cmp9.i.i72 = icmp samesign ugt i32 %add.i.i.i70, %sub8.i.i71 br i1 %cmp9.i.i72, label %if.then17.i.i.invoke, label %lor.lhs.false.i.i73 lor.lhs.false.i.i73: ; preds = %if.end.i.i68 @@ -611,7 +611,7 @@ if.end.i.i96: ; preds = %invoke.cont82 %54 = call i32 @llvm.smax.i32(i32 %53, i32 0) %add.i.i.i98 = add nuw nsw i32 %54, 2 %sub8.i.i99 = sub nsw i32 2147483647, %51 - %cmp9.i.i100 = icmp ugt i32 %add.i.i.i98, %sub8.i.i99 + %cmp9.i.i100 = icmp samesign ugt i32 %add.i.i.i98, %sub8.i.i99 br i1 %cmp9.i.i100, label %if.then17.i.i.invoke, label %lor.lhs.false.i.i101 lor.lhs.false.i.i101: ; preds = %if.end.i.i96 @@ -944,7 +944,7 @@ if.end.i.i: ; preds = %entry %4 = call i32 @llvm.smax.i32(i32 %3, i32 0) %add.i.i.i = add nuw nsw i32 %4, 2 %sub8.i.i = sub nsw i32 2147483647, %0 - %cmp9.i.i = icmp ugt i32 %add.i.i.i, %sub8.i.i + %cmp9.i.i = icmp samesign ugt i32 %add.i.i.i, %sub8.i.i br i1 %cmp9.i.i, label %if.then17.i.i, label %lor.lhs.false.i.i lor.lhs.false.i.i: ; preds = %if.end.i.i @@ -1363,7 +1363,7 @@ if.end.i.i: ; preds = %if.then %4 = tail call i32 @llvm.smax.i32(i32 %3, i32 0) %add.i.i.i = add nuw nsw i32 %4, 2 %sub8.i.i = sub nsw i32 2147483647, %1 - %cmp9.i.i = icmp ugt i32 %add.i.i.i, %sub8.i.i + %cmp9.i.i = icmp samesign ugt i32 %add.i.i.i, %sub8.i.i br i1 %cmp9.i.i, label %if.then17.i.i, label %lor.lhs.false.i.i lor.lhs.false.i.i: ; preds = %if.end.i.i @@ -1418,7 +1418,7 @@ if.end.i.i10: ; preds = %_ZN4cvc58internal7M %12 = tail call i32 @llvm.smax.i32(i32 %11, i32 0) %add.i.i.i12 = add nuw nsw i32 %12, 2 %sub8.i.i13 = sub nsw i32 2147483647, %9 - %cmp9.i.i14 = icmp ugt i32 %add.i.i.i12, %sub8.i.i13 + %cmp9.i.i14 = icmp samesign ugt i32 %add.i.i.i12, %sub8.i.i13 br i1 %cmp9.i.i14, label %if.then17.i.i23, label %lor.lhs.false.i.i15 lor.lhs.false.i.i15: ; preds = %if.end.i.i10 @@ -1473,7 +1473,7 @@ if.end.i.i34: ; preds = %_ZN4cvc58internal7M %20 = tail call i32 @llvm.smax.i32(i32 %19, i32 0) %add.i.i.i36 = add nuw nsw i32 %20, 2 %sub8.i.i37 = sub nsw i32 2147483647, %17 - %cmp9.i.i38 = icmp ugt i32 %add.i.i.i36, %sub8.i.i37 + %cmp9.i.i38 = icmp samesign ugt i32 %add.i.i.i36, %sub8.i.i37 br i1 %cmp9.i.i38, label %if.then17.i.i47, label %lor.lhs.false.i.i39 lor.lhs.false.i.i39: ; preds = %if.end.i.i34 @@ -1526,7 +1526,7 @@ if.end.i.i57: ; preds = %_ZN4cvc58internal7M %28 = tail call i32 @llvm.smax.i32(i32 %27, i32 0) %add.i.i.i59 = add nuw nsw i32 %28, 2 %sub8.i.i60 = sub nsw i32 2147483647, %25 - %cmp9.i.i61 = icmp ugt i32 %add.i.i.i59, %sub8.i.i60 + %cmp9.i.i61 = icmp samesign ugt i32 %add.i.i.i59, %sub8.i.i60 br i1 %cmp9.i.i61, label %if.then17.i.i71, label %lor.lhs.false.i.i62 lor.lhs.false.i.i62: ; preds = %if.end.i.i57 @@ -1590,7 +1590,7 @@ if.end.i.i82: ; preds = %_ZN4cvc58internal7M %36 = call i32 @llvm.smax.i32(i32 %35, i32 0) %add.i.i.i84 = add nuw nsw i32 %36, 2 %sub8.i.i85 = sub nsw i32 2147483647, %33 - %cmp9.i.i86 = icmp ugt i32 %add.i.i.i84, %sub8.i.i85 + %cmp9.i.i86 = icmp samesign ugt i32 %add.i.i.i84, %sub8.i.i85 br i1 %cmp9.i.i86, label %if.then17.i.i95, label %lor.lhs.false.i.i87 lor.lhs.false.i.i87: ; preds = %if.end.i.i82 @@ -1734,7 +1734,7 @@ if.end.i.i: ; preds = %invoke.cont21 %14 = tail call i32 @llvm.smax.i32(i32 %13, i32 0) %add.i.i.i = add nuw nsw i32 %14, 2 %sub8.i.i = sub nsw i32 2147483647, %extra_frozen.sroa.9.170 - %cmp9.i.i = icmp ugt i32 %add.i.i.i, %sub8.i.i + %cmp9.i.i = icmp samesign ugt i32 %add.i.i.i, %sub8.i.i br i1 %cmp9.i.i, label %if.then17.i.i, label %lor.lhs.false.i.i lor.lhs.false.i.i: ; preds = %if.end.i.i @@ -2567,7 +2567,7 @@ if.end.i.i: ; preds = %for.body %14 = tail call i32 @llvm.smax.i32(i32 %13, i32 0) %add.i.i.i = add nuw nsw i32 %14, 2 %sub8.i.i = sub nsw i32 2147483647, %11 - %cmp9.i.i = icmp ugt i32 %add.i.i.i, %sub8.i.i + %cmp9.i.i = icmp samesign ugt i32 %add.i.i.i, %sub8.i.i br i1 %cmp9.i.i, label %if.then17.i.i, label %lor.lhs.false.i.i lor.lhs.false.i.i: ; preds = %if.end.i.i @@ -2644,7 +2644,7 @@ for.inc: ; preds = %_ZN4cvc58internal7M %bf.load.i = load i64, ptr %arrayidx.i.i, align 4 %26 = lshr i64 %bf.load.i, 5 %27 = and i64 %26, 134217727 - %cmp16 = icmp ult i64 %indvars.iv.next, %27 + %cmp16 = icmp samesign ult i64 %indvars.iv.next, %27 br i1 %cmp16, label %for.body, label %return, !llvm.loop !17 return: ; preds = %for.inc, %if.then11, %if.end6, %land.lhs.true8, %if.end, %land.lhs.true @@ -2675,7 +2675,7 @@ if.end.i.i: ; preds = %entry %4 = tail call i32 @llvm.smax.i32(i32 %3, i32 0) %add.i.i.i = add nuw nsw i32 %4, 2 %sub8.i.i = sub nsw i32 2147483647, %1 - %cmp9.i.i = icmp ugt i32 %add.i.i.i, %sub8.i.i + %cmp9.i.i = icmp samesign ugt i32 %add.i.i.i, %sub8.i.i br i1 %cmp9.i.i, label %if.then17.i.i, label %lor.lhs.false.i.i lor.lhs.false.i.i: ; preds = %if.end.i.i @@ -3005,7 +3005,7 @@ if.end.i.i.i: ; preds = %if.then.i94 %18 = tail call i32 @llvm.smax.i32(i32 %17, i32 0) %add.i.i.i.i = add nuw nsw i32 %18, 2 %sub8.i.i.i = sub nsw i32 2147483647, %15 - %cmp9.i.i.i = icmp ugt i32 %add.i.i.i.i, %sub8.i.i.i + %cmp9.i.i.i = icmp samesign ugt i32 %add.i.i.i.i, %sub8.i.i.i br i1 %cmp9.i.i.i, label %if.then17.i.i.i, label %lor.lhs.false.i.i.i lor.lhs.false.i.i.i: ; preds = %if.end.i.i.i @@ -3050,7 +3050,7 @@ _ZN4cvc58internal7Minisat8OccListsIiNS1_3vecIjEENS1_10SimpSolver13ClauseDeletedE %bf.load.i = load i64, ptr %arrayidx.i.i, align 4 %23 = lshr i64 %bf.load.i, 5 %24 = and i64 %23, 134217727 - %cmp = icmp ult i64 %indvars.iv.next, %24 + %cmp = icmp samesign ult i64 %indvars.iv.next, %24 br i1 %cmp, label %for.body, label %if.end, !llvm.loop !21 if.end: ; preds = %_ZN4cvc58internal7Minisat8OccListsIiNS1_3vecIjEENS1_10SimpSolver13ClauseDeletedEE6smudgeERKi.exit, %for.cond.preheader, %cond.end @@ -3541,7 +3541,7 @@ if.end.i.i: ; preds = %for.end %16 = tail call i32 @llvm.smax.i32(i32 %15, i32 0) %add.i.i.i = add nuw nsw i32 %16, 2 %sub8.i.i = sub nsw i32 2147483647, %13 - %cmp9.i.i = icmp ugt i32 %add.i.i.i, %sub8.i.i + %cmp9.i.i = icmp samesign ugt i32 %add.i.i.i, %sub8.i.i br i1 %cmp9.i.i, label %if.then17.i.i, label %lor.lhs.false.i.i lor.lhs.false.i.i: ; preds = %if.end.i.i @@ -3587,7 +3587,7 @@ for.inc47: ; preds = %if.then29, %_ZN4cvc %indvars.iv.next110 = add nuw nsw i64 %indvars.iv109, 1 %21 = lshr i64 %bf.load.i30, 5 %22 = and i64 %21, 134217727 - %cmp9.not = icmp ult i64 %indvars.iv.next110, %22 + %cmp9.not = icmp samesign ult i64 %indvars.iv.next110, %22 br i1 %cmp9.not, label %for.body, label %for.cond51.preheader.loopexit, !llvm.loop !27 for.body54: ; preds = %for.body54.lr.ph, %for.inc66 @@ -3615,7 +3615,7 @@ if.end.i.i75: ; preds = %if.then61 %26 = tail call i32 @llvm.smax.i32(i32 %25, i32 0) %add.i.i.i77 = add nuw nsw i32 %26, 2 %sub8.i.i78 = sub nsw i32 2147483647, %23 - %cmp9.i.i79 = icmp ugt i32 %add.i.i.i77, %sub8.i.i78 + %cmp9.i.i79 = icmp samesign ugt i32 %add.i.i.i77, %sub8.i.i78 br i1 %cmp9.i.i79, label %if.then17.i.i89, label %lor.lhs.false.i.i80 lor.lhs.false.i.i80: ; preds = %if.end.i.i75 @@ -3661,7 +3661,7 @@ for.inc66: ; preds = %for.body54, %_ZN4cv %indvars.iv.next113 = add nuw nsw i64 %indvars.iv112, 1 %31 = lshr i64 %bf.load.i57, 5 %32 = and i64 %31, 134217727 - %cmp53 = icmp ult i64 %indvars.iv.next113, %32 + %cmp53 = icmp samesign ult i64 %indvars.iv.next113, %32 br i1 %cmp53, label %for.body54, label %return, !llvm.loop !28 return: ; preds = %if.then29, %for.inc66, %for.cond51.preheader @@ -3748,7 +3748,7 @@ for.inc46: ; preds = %if.then30, %for.end %indvars.iv.next37 = add nuw nsw i64 %indvars.iv36, 1 %14 = lshr i64 %bf.load.i23, 5 %15 = and i64 %14, 134217727 - %cmp12.not = icmp ult i64 %indvars.iv.next37, %15 + %cmp12.not = icmp samesign ult i64 %indvars.iv.next37, %15 br i1 %cmp12.not, label %for.body, label %return, !llvm.loop !30 return: ; preds = %if.then30, %for.inc46, %entry @@ -4495,7 +4495,7 @@ if.then95: ; preds = %land.lhs.true86 if.end.i: ; preds = %if.then95 %52 = lshr i32 %46, 5 - %cmp8.i = icmp ult i32 %51, %52 + %cmp8.i = icmp samesign ult i32 %51, %52 br i1 %cmp8.i, label %for.inc137, label %lor.lhs.false.i lor.lhs.false.i: ; preds = %if.end.i @@ -4650,7 +4650,7 @@ if.end.i.i: ; preds = %if.end %5 = tail call i32 @llvm.smax.i32(i32 %4, i32 0) %add.i.i.i = add nuw nsw i32 %5, 2 %sub8.i.i = sub nsw i32 2147483647, %2 - %cmp9.i.i = icmp ugt i32 %add.i.i.i, %sub8.i.i + %cmp9.i.i = icmp samesign ugt i32 %add.i.i.i, %sub8.i.i br i1 %cmp9.i.i, label %if.then17.i.i, label %lor.lhs.false.i.i lor.lhs.false.i.i: ; preds = %if.end.i.i @@ -4731,7 +4731,7 @@ for.inc: ; preds = %land.rhs, %for.body %indvars.iv.next = add nuw nsw i64 %indvars.iv, 1 %16 = lshr i64 %bf.load.i15, 5 %17 = and i64 %16, 134217727 - %cmp = icmp ult i64 %indvars.iv.next, %17 + %cmp = icmp samesign ult i64 %indvars.iv.next, %17 br i1 %cmp, label %for.body, label %for.end, !llvm.loop !41 for.end: ; preds = %for.inc, %_ZN4cvc58internal7Minisat3vecIiE4pushERKi.exit @@ -5156,7 +5156,7 @@ if.end.i.i: ; preds = %_ZN4cvc58internal7M %49 = tail call i32 @llvm.smax.i32(i32 %48, i32 0) %add.i.i.i = add nuw nsw i32 %49, 2 %sub8.i.i = sub nsw i32 2147483647, %46 - %cmp9.i.i = icmp ugt i32 %add.i.i.i, %sub8.i.i + %cmp9.i.i = icmp samesign ugt i32 %add.i.i.i, %sub8.i.i br i1 %cmp9.i.i, label %if.then17.i.i, label %lor.lhs.false.i.i lor.lhs.false.i.i: ; preds = %if.end.i.i @@ -5621,7 +5621,7 @@ if.end.i.i: ; preds = %for.body %5 = tail call i32 @llvm.smax.i32(i32 %4, i32 0) %add.i.i.i = add nuw nsw i32 %5, 2 %sub8.i.i = sub nsw i32 2147483647, %2 - %cmp9.i.i = icmp ugt i32 %add.i.i.i, %sub8.i.i + %cmp9.i.i = icmp samesign ugt i32 %add.i.i.i, %sub8.i.i br i1 %cmp9.i.i, label %if.then17.i.i, label %lor.lhs.false.i.i lor.lhs.false.i.i: ; preds = %if.end.i.i @@ -5669,7 +5669,7 @@ _ZN4cvc58internal7Minisat3vecIjE4pushERKj.exit: ; preds = %lor.lhs.false.i.i._ %bf.load.i = load i64, ptr %c, align 4 %12 = lshr i64 %bf.load.i, 5 %13 = and i64 %12, 134217727 - %cmp = icmp ult i64 %indvars.iv.next, %13 + %cmp = icmp samesign ult i64 %indvars.iv.next, %13 br i1 %cmp, label %for.body, label %for.end.loopexit, !llvm.loop !52 for.end.loopexit: ; preds = %_ZN4cvc58internal7Minisat3vecIjE4pushERKj.exit @@ -5705,7 +5705,7 @@ if.end.i.i40: ; preds = %for.end %22 = tail call i32 @llvm.smax.i32(i32 %21, i32 0) %add.i.i.i42 = add nuw nsw i32 %22, 2 %sub8.i.i43 = sub nsw i32 2147483647, %19 - %cmp9.i.i44 = icmp ugt i32 %add.i.i.i42, %sub8.i.i43 + %cmp9.i.i44 = icmp samesign ugt i32 %add.i.i.i42, %sub8.i.i43 br i1 %cmp9.i.i44, label %if.then17.i.i54, label %lor.lhs.false.i.i45 lor.lhs.false.i.i45: ; preds = %if.end.i.i40 @@ -5768,7 +5768,7 @@ if.end.i.i: ; preds = %entry %3 = tail call i32 @llvm.smax.i32(i32 %2, i32 0) %add.i.i.i = add nuw nsw i32 %3, 2 %sub8.i.i = sub nsw i32 2147483647, %0 - %cmp9.i.i = icmp ugt i32 %add.i.i.i, %sub8.i.i + %cmp9.i.i = icmp samesign ugt i32 %add.i.i.i, %sub8.i.i br i1 %cmp9.i.i, label %if.then17.i.i, label %lor.lhs.false.i.i lor.lhs.false.i.i: ; preds = %if.end.i.i @@ -5821,7 +5821,7 @@ if.end.i.i10: ; preds = %_ZN4cvc58internal7M %11 = tail call i32 @llvm.smax.i32(i32 %10, i32 0) %add.i.i.i12 = add nuw nsw i32 %11, 2 %sub8.i.i13 = sub nsw i32 2147483647, %8 - %cmp9.i.i14 = icmp ugt i32 %add.i.i.i12, %sub8.i.i13 + %cmp9.i.i14 = icmp samesign ugt i32 %add.i.i.i12, %sub8.i.i13 br i1 %cmp9.i.i14, label %if.then17.i.i24, label %lor.lhs.false.i.i15 lor.lhs.false.i.i15: ; preds = %if.end.i.i10 @@ -6060,7 +6060,7 @@ if.end.i.i: ; preds = %for.body9 %37 = call i32 @llvm.smax.i32(i32 %36, i32 0) %add.i.i.i = add nuw nsw i32 %37, 2 %sub8.i.i = sub nsw i32 2147483647, %34 - %cmp9.i.i = icmp ugt i32 %add.i.i.i, %sub8.i.i + %cmp9.i.i = icmp samesign ugt i32 %add.i.i.i, %sub8.i.i br i1 %cmp9.i.i, label %if.then17.i.i, label %lor.lhs.false.i.i lor.lhs.false.i.i: ; preds = %if.end.i.i @@ -6102,7 +6102,7 @@ _ZN4cvc58internal7Minisat3vecINS1_3LitEE4pushERKS3_.exit: ; preds = %lor.lhs.fal %bf.load.i = load i64, ptr %arrayidx.i.i22, align 4 %42 = lshr i64 %bf.load.i, 5 %43 = and i64 %42, 134217727 - %cmp8 = icmp ult i64 %indvars.iv.next, %43 + %cmp8 = icmp samesign ult i64 %indvars.iv.next, %43 br i1 %cmp8, label %for.body9, label %for.end, !llvm.loop !54 for.end: ; preds = %_ZN4cvc58internal7Minisat3vecINS1_3LitEE4pushERKS3_.exit, %_ZN4cvc58internal7Minisat3vecINS1_3LitEE5clearEb.exit @@ -6741,7 +6741,7 @@ if.end.i.i: ; preds = %_ZN4cvc58internal7M %6 = tail call i32 @llvm.smax.i32(i32 %5, i32 0) %add.i.i.i = add nuw nsw i32 %6, 2 %sub8.i.i = sub nsw i32 2147483647, %3 - %cmp9.i.i = icmp ugt i32 %add.i.i.i, %sub8.i.i + %cmp9.i.i = icmp samesign ugt i32 %add.i.i.i, %sub8.i.i br i1 %cmp9.i.i, label %if.then17.i.i, label %lor.lhs.false.i.i lor.lhs.false.i.i: ; preds = %if.end.i.i @@ -7563,7 +7563,7 @@ if.end.i.i: ; preds = %entry %4 = call i32 @llvm.smax.i32(i32 %3, i32 0) %add.i.i.i = add nuw nsw i32 %4, 2 %sub8.i.i = sub nsw i32 2147483647, %0 - %cmp9.i.i = icmp ugt i32 %add.i.i.i, %sub8.i.i + %cmp9.i.i = icmp samesign ugt i32 %add.i.i.i, %sub8.i.i br i1 %cmp9.i.i, label %if.then17.i.i, label %lor.lhs.false.i.i lor.lhs.false.i.i: ; preds = %if.end.i.i diff --git a/bench/cvc5/optimized/Solver.cc.ll b/bench/cvc5/optimized/Solver.cc.ll index c5c74b95980..d79f7a074f0 100644 --- a/bench/cvc5/optimized/Solver.cc.ll +++ b/bench/cvc5/optimized/Solver.cc.ll @@ -968,7 +968,7 @@ if.end.i.i: ; preds = %entry %4 = call i32 @llvm.smax.i32(i32 %3, i32 0) %add.i.i.i = add nuw nsw i32 %4, 2 %sub8.i.i = sub nsw i32 2147483647, %1 - %cmp9.i.i = icmp ugt i32 %add.i.i.i, %sub8.i.i + %cmp9.i.i = icmp samesign ugt i32 %add.i.i.i, %sub8.i.i br i1 %cmp9.i.i, label %if.then17.i.i, label %lor.lhs.false.i.i lor.lhs.false.i.i: ; preds = %if.end.i.i @@ -1024,7 +1024,7 @@ if.end.i.i17: ; preds = %_ZN4cvc58internal7M %13 = call i32 @llvm.smax.i32(i32 %12, i32 0) %add.i.i.i19 = add nuw nsw i32 %13, 2 %sub8.i.i20 = sub nsw i32 2147483647, %10 - %cmp9.i.i21 = icmp ugt i32 %add.i.i.i19, %sub8.i.i20 + %cmp9.i.i21 = icmp samesign ugt i32 %add.i.i.i19, %sub8.i.i20 br i1 %cmp9.i.i21, label %if.then17.i.i30, label %lor.lhs.false.i.i22 lor.lhs.false.i.i22: ; preds = %if.end.i.i17 @@ -1109,7 +1109,7 @@ if.end.i.i40: ; preds = %cond.end %24 = call i32 @llvm.smax.i32(i32 %23, i32 0) %add.i.i.i42 = add nuw nsw i32 %24, 2 %sub8.i.i43 = sub nsw i32 2147483647, %21 - %cmp9.i.i44 = icmp ugt i32 %add.i.i.i42, %sub8.i.i43 + %cmp9.i.i44 = icmp samesign ugt i32 %add.i.i.i42, %sub8.i.i43 br i1 %cmp9.i.i44, label %if.then17.i.i54, label %lor.lhs.false.i.i45 lor.lhs.false.i.i45: ; preds = %if.end.i.i40 @@ -1165,7 +1165,7 @@ if.end.i.i64: ; preds = %_ZN4cvc58internal7M %32 = call i32 @llvm.smax.i32(i32 %31, i32 0) %add.i.i.i66 = add nuw nsw i32 %32, 2 %sub8.i.i67 = sub nsw i32 2147483647, %29 - %cmp9.i.i68 = icmp ugt i32 %add.i.i.i66, %sub8.i.i67 + %cmp9.i.i68 = icmp samesign ugt i32 %add.i.i.i66, %sub8.i.i67 br i1 %cmp9.i.i68, label %if.then17.i.i77, label %lor.lhs.false.i.i69 lor.lhs.false.i.i69: ; preds = %if.end.i.i64 @@ -1220,7 +1220,7 @@ if.end.i.i87: ; preds = %_ZN4cvc58internal7M %40 = call i32 @llvm.smax.i32(i32 %39, i32 0) %add.i.i.i89 = add nuw nsw i32 %40, 2 %sub8.i.i90 = sub nsw i32 2147483647, %37 - %cmp9.i.i91 = icmp ugt i32 %add.i.i.i89, %sub8.i.i90 + %cmp9.i.i91 = icmp samesign ugt i32 %add.i.i.i89, %sub8.i.i90 br i1 %cmp9.i.i91, label %if.then17.i.i100, label %lor.lhs.false.i.i92 lor.lhs.false.i.i92: ; preds = %if.end.i.i87 @@ -1275,7 +1275,7 @@ if.end.i.i111: ; preds = %_ZN4cvc58internal7M %48 = call i32 @llvm.smax.i32(i32 %47, i32 0) %add.i.i.i113 = add nuw nsw i32 %48, 2 %sub8.i.i114 = sub nsw i32 2147483647, %45 - %cmp9.i.i115 = icmp ugt i32 %add.i.i.i113, %sub8.i.i114 + %cmp9.i.i115 = icmp samesign ugt i32 %add.i.i.i113, %sub8.i.i114 br i1 %cmp9.i.i115, label %if.then17.i.i124, label %lor.lhs.false.i.i116 lor.lhs.false.i.i116: ; preds = %if.end.i.i111 @@ -1372,7 +1372,7 @@ if.end.i.i138: ; preds = %_ZN4cvc58internal7M %61 = call i32 @llvm.smax.i32(i32 %60, i32 0) %add.i.i.i140 = add nuw nsw i32 %61, 2 %sub8.i.i141 = sub nsw i32 2147483647, %58 - %cmp9.i.i142 = icmp ugt i32 %add.i.i.i140, %sub8.i.i141 + %cmp9.i.i142 = icmp samesign ugt i32 %add.i.i.i140, %sub8.i.i141 br i1 %cmp9.i.i142, label %if.then17.i.i151, label %lor.lhs.false.i.i143 lor.lhs.false.i.i143: ; preds = %if.end.i.i138 @@ -2490,7 +2490,7 @@ if.end.i.i: ; preds = %if.then200 %29 = call i32 @llvm.smax.i32(i32 %28, i32 0) %add.i.i.i = add nuw nsw i32 %29, 2 %sub8.i.i = sub nsw i32 2147483647, %26 - %cmp9.i.i = icmp ugt i32 %add.i.i.i, %sub8.i.i + %cmp9.i.i = icmp samesign ugt i32 %add.i.i.i, %sub8.i.i br i1 %cmp9.i.i, label %if.then17.i.i755.invoke, label %lor.lhs.false.i.i lor.lhs.false.i.i: ; preds = %if.end.i.i @@ -2642,7 +2642,7 @@ if.end.i.i741: ; preds = %invoke.cont269 %61 = call i32 @llvm.smax.i32(i32 %60, i32 0) %add.i.i.i743 = add nuw nsw i32 %61, 2 %sub8.i.i744 = sub nsw i32 2147483647, %58 - %cmp9.i.i745 = icmp ugt i32 %add.i.i.i743, %sub8.i.i744 + %cmp9.i.i745 = icmp samesign ugt i32 %add.i.i.i743, %sub8.i.i744 br i1 %cmp9.i.i745, label %if.then17.i.i755.invoke, label %lor.lhs.false.i.i746 lor.lhs.false.i.i746: ; preds = %if.end.i.i741 @@ -2946,7 +2946,7 @@ if.end.i.i: ; preds = %if.end %5 = tail call i32 @llvm.smax.i32(i32 %4, i32 0) %add.i.i.i = add nuw nsw i32 %5, 2 %sub8.i.i = sub nsw i32 2147483647, %2 - %cmp9.i.i = icmp ugt i32 %add.i.i.i, %sub8.i.i + %cmp9.i.i = icmp samesign ugt i32 %add.i.i.i, %sub8.i.i br i1 %cmp9.i.i, label %if.then17.i.i, label %lor.lhs.false.i.i lor.lhs.false.i.i: ; preds = %if.end.i.i @@ -3010,7 +3010,7 @@ if.end.i.i276: ; preds = %_ZN4cvc58internal7M %14 = tail call i32 @llvm.smax.i32(i32 %13, i32 0) %add.i.i.i278 = add nuw nsw i32 %14, 2 %sub8.i.i279 = sub nsw i32 2147483647, %11 - %cmp9.i.i280 = icmp ugt i32 %add.i.i.i278, %sub8.i.i279 + %cmp9.i.i280 = icmp samesign ugt i32 %add.i.i.i278, %sub8.i.i279 br i1 %cmp9.i.i280, label %if.then17.i.i290, label %lor.lhs.false.i.i281 lor.lhs.false.i.i281: ; preds = %if.end.i.i276 @@ -3350,7 +3350,7 @@ if.end.i.i: ; preds = %if.end147 %54 = tail call i32 @llvm.smax.i32(i32 %53, i32 0) %add.i.i.i = add nuw nsw i32 %54, 2 %sub8.i.i = sub nsw i32 2147483647, %51 - %cmp9.i.i = icmp ugt i32 %add.i.i.i, %sub8.i.i + %cmp9.i.i = icmp samesign ugt i32 %add.i.i.i, %sub8.i.i br i1 %cmp9.i.i, label %if.then17.i.i, label %lor.lhs.false.i.i lor.lhs.false.i.i: ; preds = %if.end.i.i @@ -3442,7 +3442,7 @@ if.end.i.i244: ; preds = %_ZNK4cvc58internal7 %74 = tail call i32 @llvm.smax.i32(i32 %73, i32 0) %add.i.i.i246 = add nuw nsw i32 %74, 2 %sub8.i.i247 = sub nsw i32 2147483647, %71 - %cmp9.i.i248 = icmp ugt i32 %add.i.i.i246, %sub8.i.i247 + %cmp9.i.i248 = icmp samesign ugt i32 %add.i.i.i246, %sub8.i.i247 br i1 %cmp9.i.i248, label %if.then17.i.i257, label %lor.lhs.false.i.i249 lor.lhs.false.i.i249: ; preds = %if.end.i.i244 @@ -3576,7 +3576,7 @@ if.end.i.i287: ; preds = %if.then177 %94 = tail call i32 @llvm.smax.i32(i32 %93, i32 0) %add.i.i.i289 = add nuw nsw i32 %94, 2 %sub8.i.i290 = sub nsw i32 2147483647, %91 - %cmp9.i.i291 = icmp ugt i32 %add.i.i.i289, %sub8.i.i290 + %cmp9.i.i291 = icmp samesign ugt i32 %add.i.i.i289, %sub8.i.i290 br i1 %cmp9.i.i291, label %if.then17.i.i301, label %lor.lhs.false.i.i292 lor.lhs.false.i.i292: ; preds = %if.end.i.i287 @@ -4322,7 +4322,7 @@ if.end.i.i.i: ; preds = %if.then.i404 %26 = tail call i32 @llvm.smax.i32(i32 %25, i32 0) %add.i.i.i.i = add nuw nsw i32 %26, 2 %sub8.i.i.i = sub nsw i32 2147483647, %23 - %cmp9.i.i.i = icmp ugt i32 %add.i.i.i.i, %sub8.i.i.i + %cmp9.i.i.i = icmp samesign ugt i32 %add.i.i.i.i, %sub8.i.i.i br i1 %cmp9.i.i.i, label %if.then17.i.i.i, label %lor.lhs.false.i.i.i lor.lhs.false.i.i.i: ; preds = %if.end.i.i.i @@ -4394,7 +4394,7 @@ if.end.i.i.i429: ; preds = %if.then.i418 %36 = tail call i32 @llvm.smax.i32(i32 %35, i32 0) %add.i.i.i.i431 = add nuw nsw i32 %36, 2 %sub8.i.i.i432 = sub nsw i32 2147483647, %33 - %cmp9.i.i.i433 = icmp ugt i32 %add.i.i.i.i431, %sub8.i.i.i432 + %cmp9.i.i.i433 = icmp samesign ugt i32 %add.i.i.i.i431, %sub8.i.i.i432 br i1 %cmp9.i.i.i433, label %if.then17.i.i.i445, label %lor.lhs.false.i.i.i434 lor.lhs.false.i.i.i434: ; preds = %if.end.i.i.i429 @@ -5185,7 +5185,7 @@ if.end.i.i: ; preds = %cond.end %3 = tail call i32 @llvm.smax.i32(i32 %2, i32 0) %add.i.i.i = add nuw nsw i32 %3, 2 %sub8.i.i = sub nsw i32 2147483647, %0 - %cmp9.i.i = icmp ugt i32 %add.i.i.i, %sub8.i.i + %cmp9.i.i = icmp samesign ugt i32 %add.i.i.i, %sub8.i.i br i1 %cmp9.i.i, label %if.then17.i.i, label %lor.lhs.false.i.i lor.lhs.false.i.i: ; preds = %if.end.i.i @@ -5343,7 +5343,7 @@ cond.end86: ; preds = %do.body, %if.then20 %bf.load.i363 = load i64, ptr %arrayidx.i.i362, align 4 %30 = trunc i64 %bf.load.i363 to i32 %31 = lshr i32 %30, 5 - %cmp941127 = icmp ugt i32 %31, %cond88 + %cmp941127 = icmp samesign ugt i32 %31, %cond88 br i1 %cmp941127, label %cond.end124.preheader, label %while.cond.preheader cond.end124.preheader: ; preds = %cond.end86 @@ -5518,7 +5518,7 @@ if.end.i.i628: ; preds = %if.else %73 = tail call i32 @llvm.smax.i32(i32 %72, i32 0) %add.i.i.i630 = add nuw nsw i32 %73, 2 %sub8.i.i631 = sub nsw i32 2147483647, %70 - %cmp9.i.i632 = icmp ugt i32 %add.i.i.i630, %sub8.i.i631 + %cmp9.i.i632 = icmp samesign ugt i32 %add.i.i.i630, %sub8.i.i631 br i1 %cmp9.i.i632, label %if.then17.i.i642, label %lor.lhs.false.i.i633 lor.lhs.false.i.i633: ; preds = %if.end.i.i628 @@ -5963,7 +5963,7 @@ if.end.i.i: ; preds = %_ZN4cvc58internal7M %4 = tail call i32 @llvm.smax.i32(i32 %3, i32 0) %add.i.i.i = add nuw nsw i32 %4, 2 %sub8.i.i = sub nsw i32 2147483647, %1 - %cmp9.i.i = icmp ugt i32 %add.i.i.i, %sub8.i.i + %cmp9.i.i = icmp samesign ugt i32 %add.i.i.i, %sub8.i.i br i1 %cmp9.i.i, label %if.then17.i.i, label %lor.lhs.false.i.i lor.lhs.false.i.i: ; preds = %if.end.i.i @@ -6104,7 +6104,7 @@ if.end.i.i34: ; preds = %if.then37 %31 = tail call i32 @llvm.smax.i32(i32 %30, i32 0) %add.i.i.i36 = add nuw nsw i32 %31, 2 %sub8.i.i37 = sub nsw i32 2147483647, %28 - %cmp9.i.i38 = icmp ugt i32 %add.i.i.i36, %sub8.i.i37 + %cmp9.i.i38 = icmp samesign ugt i32 %add.i.i.i36, %sub8.i.i37 br i1 %cmp9.i.i38, label %if.then17.i.i48, label %lor.lhs.false.i.i39 lor.lhs.false.i.i39: ; preds = %if.end.i.i34 @@ -6157,7 +6157,7 @@ if.end.i.i59: ; preds = %_ZN4cvc58internal7M %39 = tail call i32 @llvm.smax.i32(i32 %38, i32 0) %add.i.i.i61 = add nuw nsw i32 %39, 2 %sub8.i.i62 = sub nsw i32 2147483647, %36 - %cmp9.i.i63 = icmp ugt i32 %add.i.i.i61, %sub8.i.i62 + %cmp9.i.i63 = icmp samesign ugt i32 %add.i.i.i61, %sub8.i.i62 br i1 %cmp9.i.i63, label %if.then17.i.i73, label %lor.lhs.false.i.i64 lor.lhs.false.i.i64: ; preds = %if.end.i.i59 @@ -6280,7 +6280,7 @@ if.end.i.i: ; preds = %_ZN4cvc58internal7M %4 = tail call i32 @llvm.smax.i32(i32 %3, i32 0) %add.i.i.i = add nuw nsw i32 %4, 2 %sub8.i.i = sub nsw i32 2147483647, %1 - %cmp9.i.i = icmp ugt i32 %add.i.i.i, %sub8.i.i + %cmp9.i.i = icmp samesign ugt i32 %add.i.i.i, %sub8.i.i br i1 %cmp9.i.i, label %if.then17.i.i, label %lor.lhs.false.i.i lor.lhs.false.i.i: ; preds = %if.end.i.i @@ -6384,7 +6384,7 @@ if.end.i.i33: ; preds = %if.then18 %22 = tail call i32 @llvm.smax.i32(i32 %21, i32 0) %add.i.i.i35 = add nuw nsw i32 %22, 2 %sub8.i.i36 = sub nsw i32 2147483647, %19 - %cmp9.i.i37 = icmp ugt i32 %add.i.i.i35, %sub8.i.i36 + %cmp9.i.i37 = icmp samesign ugt i32 %add.i.i.i35, %sub8.i.i36 br i1 %cmp9.i.i37, label %if.then17.i.i47, label %lor.lhs.false.i.i38 lor.lhs.false.i.i38: ; preds = %if.end.i.i33 @@ -6463,7 +6463,7 @@ for.inc: ; preds = %for.body30, %if.the %indvars.iv.next = add nuw nsw i64 %indvars.iv, 1 %32 = lshr i64 %bf.load.i, 5 %33 = and i64 %32, 134217727 - %cmp29 = icmp ult i64 %indvars.iv.next, %33 + %cmp29 = icmp samesign ult i64 %indvars.iv.next, %33 br i1 %cmp29, label %for.body30, label %if.end45, !llvm.loop !37 if.end45: ; preds = %for.inc, %if.else, %_ZN4cvc58internal7Minisat3vecINS1_3LitEE4pushERKS3_.exit49 @@ -6783,7 +6783,7 @@ if.end.i.i: ; preds = %if.then247 %53 = call i32 @llvm.smax.i32(i32 %52, i32 0) %add.i.i.i = add nuw nsw i32 %53, 2 %sub8.i.i = sub nsw i32 2147483647, %50 - %cmp9.i.i = icmp ugt i32 %add.i.i.i, %sub8.i.i + %cmp9.i.i = icmp samesign ugt i32 %add.i.i.i, %sub8.i.i br i1 %cmp9.i.i, label %if.then17.i.i, label %lor.lhs.false.i.i lor.lhs.false.i.i: ; preds = %if.end.i.i @@ -6836,7 +6836,7 @@ if.end.i.i751: ; preds = %if.else %61 = call i32 @llvm.smax.i32(i32 %60, i32 0) %add.i.i.i753 = add nuw nsw i32 %61, 2 %sub8.i.i754 = sub nsw i32 2147483647, %58 - %cmp9.i.i755 = icmp ugt i32 %add.i.i.i753, %sub8.i.i754 + %cmp9.i.i755 = icmp samesign ugt i32 %add.i.i.i753, %sub8.i.i754 br i1 %cmp9.i.i755, label %if.then17.i.i765, label %lor.lhs.false.i.i756 lor.lhs.false.i.i756: ; preds = %if.end.i.i751 @@ -7658,7 +7658,7 @@ if.end.i.i: ; preds = %if.then84 %55 = call i32 @llvm.smax.i32(i32 %54, i32 0) %add.i.i.i = add nuw nsw i32 %55, 2 %sub8.i.i = sub nsw i32 2147483647, %52 - %cmp9.i.i = icmp ugt i32 %add.i.i.i, %sub8.i.i + %cmp9.i.i = icmp samesign ugt i32 %add.i.i.i, %sub8.i.i br i1 %cmp9.i.i, label %if.then17.i.i, label %lor.lhs.false.i.i lor.lhs.false.i.i: ; preds = %if.end.i.i @@ -8216,7 +8216,7 @@ if.end.i.i: ; preds = %if.then %9 = tail call i32 @llvm.smax.i32(i32 %8, i32 0) %add.i.i.i = add nuw nsw i32 %9, 2 %sub8.i.i = sub nsw i32 2147483647, %3 - %cmp9.i.i = icmp ugt i32 %add.i.i.i, %sub8.i.i + %cmp9.i.i = icmp samesign ugt i32 %add.i.i.i, %sub8.i.i br i1 %cmp9.i.i, label %if.then17.i.i, label %lor.lhs.false.i.i lor.lhs.false.i.i: ; preds = %if.end.i.i @@ -8379,7 +8379,7 @@ if.end.i.i: ; preds = %for.body10 %18 = tail call i32 @llvm.smax.i32(i32 %17, i32 0) %add.i.i.i = add nuw nsw i32 %18, 2 %sub8.i.i = sub nsw i32 2147483647, %15 - %cmp9.i.i = icmp ugt i32 %add.i.i.i, %sub8.i.i + %cmp9.i.i = icmp samesign ugt i32 %add.i.i.i, %sub8.i.i br i1 %cmp9.i.i, label %if.then17.i.i, label %lor.lhs.false.i.i lor.lhs.false.i.i: ; preds = %if.end.i.i @@ -9134,7 +9134,7 @@ if.end.i.i: ; preds = %invoke.cont49 %51 = call i32 @llvm.smax.i32(i32 %50, i32 0) %add.i.i.i = add nuw nsw i32 %51, 2 %sub8.i.i = sub nsw i32 2147483647, %48 - %cmp9.i.i = icmp ugt i32 %add.i.i.i, %sub8.i.i + %cmp9.i.i = icmp samesign ugt i32 %add.i.i.i, %sub8.i.i br i1 %cmp9.i.i, label %if.then.i.i.invoke, label %lor.lhs.false.i.i lor.lhs.false.i.i: ; preds = %if.end.i.i @@ -9591,7 +9591,7 @@ if.end.i.i.i: ; preds = %if.then262 %152 = call i32 @llvm.smax.i32(i32 %151, i32 0) %add.i.i.i.i = add nuw nsw i32 %152, 2 %sub8.i.i.i = sub nsw i32 2147483647, %142 - %cmp9.i.i.i = icmp ugt i32 %add.i.i.i.i, %sub8.i.i.i + %cmp9.i.i.i = icmp samesign ugt i32 %add.i.i.i.i, %sub8.i.i.i br i1 %cmp9.i.i.i, label %if.then.i.i.invoke, label %lor.lhs.false.i.i.i lor.lhs.false.i.i.i: ; preds = %if.end.i.i.i @@ -9633,7 +9633,7 @@ if.end.i.i10.i: ; preds = %_ZN4cvc58internal7M %159 = call i32 @llvm.smax.i32(i32 %158, i32 0) %add.i.i.i12.i = add nuw nsw i32 %159, 2 %sub8.i.i13.i = sub nsw i32 2147483647, %156 - %cmp9.i.i14.i = icmp ugt i32 %add.i.i.i12.i, %sub8.i.i13.i + %cmp9.i.i14.i = icmp samesign ugt i32 %add.i.i.i12.i, %sub8.i.i13.i br i1 %cmp9.i.i14.i, label %if.then.i.i.invoke, label %lor.lhs.false.i.i15.i lor.lhs.false.i.i15.i: ; preds = %if.end.i.i10.i @@ -9891,7 +9891,7 @@ if.end.i.i: ; preds = %entry %4 = tail call i32 @llvm.smax.i32(i32 %3, i32 0) %add.i.i.i = add nuw nsw i32 %4, 2 %sub8.i.i = sub nsw i32 2147483647, %1 - %cmp9.i.i = icmp ugt i32 %add.i.i.i, %sub8.i.i + %cmp9.i.i = icmp samesign ugt i32 %add.i.i.i, %sub8.i.i br i1 %cmp9.i.i, label %if.then17.i.i, label %lor.lhs.false.i.i lor.lhs.false.i.i: ; preds = %if.end.i.i @@ -9947,7 +9947,7 @@ if.end.i.i10: ; preds = %_ZN4cvc58internal7M %12 = tail call i32 @llvm.smax.i32(i32 %11, i32 0) %add.i.i.i12 = add nuw nsw i32 %12, 2 %sub8.i.i13 = sub nsw i32 2147483647, %9 - %cmp9.i.i14 = icmp ugt i32 %add.i.i.i12, %sub8.i.i13 + %cmp9.i.i14 = icmp samesign ugt i32 %add.i.i.i12, %sub8.i.i13 br i1 %cmp9.i.i14, label %if.then17.i.i24, label %lor.lhs.false.i.i15 lor.lhs.false.i.i15: ; preds = %if.end.i.i10 @@ -10440,7 +10440,7 @@ for.inc: ; preds = %for.body, %_ZN4cvc5 %indvars.iv.next = add nuw nsw i64 %indvars.iv, 1 %17 = lshr i64 %bf.load.i, 5 %18 = and i64 %17, 134217727 - %cmp = icmp ult i64 %indvars.iv.next, %18 + %cmp = icmp samesign ult i64 %indvars.iv.next, %18 br i1 %cmp, label %for.body, label %for.end, !llvm.loop !64 for.end: ; preds = %for.inc, %entry @@ -10684,7 +10684,7 @@ if.end.i.i: ; preds = %if.end.i %and6.i.i = add nuw nsw i32 %38, 2 %add.i.i.i = tail call noundef i32 @llvm.smax.i32(i32 %and6.i.i, i32 %and.i.i) %sub8.i.i = sub nuw nsw i32 2147483647, %29 - %cmp9.i.i = icmp ugt i32 %add.i.i.i, %sub8.i.i + %cmp9.i.i = icmp samesign ugt i32 %add.i.i.i, %sub8.i.i br i1 %cmp9.i.i, label %if.then17.i.i, label %lor.lhs.false.i.i lor.lhs.false.i.i: ; preds = %if.end.i.i @@ -10751,7 +10751,7 @@ for.inc60: ; preds = %.noexc, %lor.lhs.fa %indvars.iv.next154 = add nuw nsw i64 %indvars.iv153, 1 %51 = lshr i64 %bf.load.i, 5 %52 = and i64 %51, 134217727 - %cmp38 = icmp ult i64 %indvars.iv.next154, %52 + %cmp38 = icmp samesign ult i64 %indvars.iv.next154, %52 br i1 %cmp38, label %invoke.cont48, label %for.inc64.loopexit, !llvm.loop !67 for.inc64.loopexit: ; preds = %for.inc60 @@ -11184,7 +11184,7 @@ for.body.i.i56: ; preds = %for.body.i.i56, %fo %bf.load.i6.i.i = load i64, ptr %arrayidx.i.i59.i, align 4 %52 = lshr i64 %bf.load.i6.i.i, 5 %53 = and i64 %52, 134217727 - %cmp.i8.i = icmp ult i64 %indvars.iv.next.i.i59, %53 + %cmp.i8.i = icmp samesign ult i64 %indvars.iv.next.i.i59, %53 br i1 %cmp.i8.i, label %for.body.i.i56, label %for.end.i.i60, !llvm.loop !72 for.end.i.i60: ; preds = %for.body.i.i56, %_ZN4cvc58internal7Minisat15RegionAllocatorIjE5allocEi.exit.i @@ -11645,7 +11645,7 @@ if.end.i.i: ; preds = %cond.end %4 = tail call i32 @llvm.smax.i32(i32 %3, i32 0) %add.i.i.i = add nuw nsw i32 %4, 2 %sub8.i.i = sub nsw i32 2147483647, %1 - %cmp9.i.i = icmp ugt i32 %add.i.i.i, %sub8.i.i + %cmp9.i.i = icmp samesign ugt i32 %add.i.i.i, %sub8.i.i br i1 %cmp9.i.i, label %if.then17.i.i, label %lor.lhs.false.i.i lor.lhs.false.i.i: ; preds = %if.end.i.i @@ -11704,7 +11704,7 @@ if.end.i.i48: ; preds = %_ZN4cvc58internal7M %14 = tail call i32 @llvm.smax.i32(i32 %13, i32 0) %add.i.i.i50 = add nuw nsw i32 %14, 2 %sub8.i.i51 = sub nsw i32 2147483647, %11 - %cmp9.i.i52 = icmp ugt i32 %add.i.i.i50, %sub8.i.i51 + %cmp9.i.i52 = icmp samesign ugt i32 %add.i.i.i50, %sub8.i.i51 br i1 %cmp9.i.i52, label %if.then17.i.i61, label %lor.lhs.false.i.i53 lor.lhs.false.i.i53: ; preds = %if.end.i.i48 @@ -12004,7 +12004,7 @@ for.body.i: ; preds = %for.body.i, %for.bo %bf.load.i6.i = load i64, ptr %ps, align 4 %15 = lshr i64 %bf.load.i6.i, 5 %16 = and i64 %15, 134217727 - %cmp.i8 = icmp ult i64 %indvars.iv.next.i, %16 + %cmp.i8 = icmp samesign ult i64 %indvars.iv.next.i, %16 br i1 %cmp.i8, label %for.body.i, label %for.end.i, !llvm.loop !72 for.end.i: ; preds = %for.body.i, %_ZN4cvc58internal7Minisat15RegionAllocatorIjE5allocEi.exit @@ -12432,7 +12432,7 @@ if.end.i.i: ; preds = %_ZN4cvc58internal7M %6 = tail call i32 @llvm.smax.i32(i32 %5, i32 0) %add.i.i.i = add nuw nsw i32 %6, 2 %sub8.i.i = sub nsw i32 2147483647, %3 - %cmp9.i.i = icmp ugt i32 %add.i.i.i, %sub8.i.i + %cmp9.i.i = icmp samesign ugt i32 %add.i.i.i, %sub8.i.i br i1 %cmp9.i.i, label %if.then17.i.i, label %lor.lhs.false.i.i lor.lhs.false.i.i: ; preds = %if.end.i.i @@ -13044,7 +13044,7 @@ if.end.i.i: ; preds = %entry %4 = call i32 @llvm.smax.i32(i32 %3, i32 0) %add.i.i.i = add nuw nsw i32 %4, 2 %sub8.i.i = sub nsw i32 2147483647, %0 - %cmp9.i.i = icmp ugt i32 %add.i.i.i, %sub8.i.i + %cmp9.i.i = icmp samesign ugt i32 %add.i.i.i, %sub8.i.i br i1 %cmp9.i.i, label %if.then17.i.i, label %lor.lhs.false.i.i lor.lhs.false.i.i: ; preds = %if.end.i.i diff --git a/bench/draco/optimized/kd_tree_attributes_encoder.cc.ll b/bench/draco/optimized/kd_tree_attributes_encoder.cc.ll index 48fd407e194..6c112c6dbb8 100644 --- a/bench/draco/optimized/kd_tree_attributes_encoder.cc.ll +++ b/bench/draco/optimized/kd_tree_attributes_encoder.cc.ll @@ -1115,7 +1115,7 @@ _ZNK5draco17GeometryAttribute12ConvertValueIiEEbNS_9IndexTypeIjNS_29AttributeVal %272 = phi i8 [ %263, %.lr.ph263 ], [ %.pre302, %269 ] %indvars.iv.next = add nuw nsw i64 %indvars.iv, 1 %273 = zext i8 %272 to i64 - %274 = icmp ult i64 %indvars.iv.next, %273 + %274 = icmp samesign ult i64 %indvars.iv.next, %273 br i1 %274, label %.lr.ph263, label %_ZNK5draco17GeometryAttribute12ConvertValueIiEEbNS_9IndexTypeIjNS_29AttributeValueIndex_tag_type_EEEPT_.exit._crit_edge, !llvm.loop !13 _ZNK5draco17GeometryAttribute12ConvertValueIiEEbNS_9IndexTypeIjNS_29AttributeValueIndex_tag_type_EEEPT_.exit._crit_edge: ; preds = %_ZNK5draco17GeometryAttribute12ConvertValueIiEEbNS_9IndexTypeIjNS_29AttributeValueIndex_tag_type_EEEPT_.exit, %_ZNK5draco17GeometryAttribute12ConvertValueIiEEbNS_9IndexTypeIjNS_29AttributeValueIndex_tag_type_EEEPT_.exit.preheader @@ -1205,7 +1205,7 @@ _ZNSt6vectorIiSaIiEE9push_backERKi.exit: ; preds = %_ZNSt6vectorIiSaIiE %indvars.iv.next299 = add nuw nsw i64 %indvars.iv298, 1 %311 = load i8, ptr %243, align 8 %312 = zext i8 %311 to i64 - %313 = icmp ult i64 %indvars.iv.next299, %312 + %313 = icmp samesign ult i64 %indvars.iv.next299, %312 br i1 %313, label %.lr.ph267, label %._crit_edge268, !llvm.loop !15 ._crit_edge268: ; preds = %_ZNSt6vectorIiSaIiEE9push_backERKi.exit, %.preheader @@ -2114,7 +2114,7 @@ _ZNK5draco17GeometryAttribute12ConvertValueIiEEbNS_9IndexTypeIjNS_29AttributeVal %indvars.iv.next = add nuw nsw i64 %indvars.iv, 1 %184 = load i8, ptr %147, align 8 %185 = zext i8 %184 to i64 - %186 = icmp ult i64 %indvars.iv.next, %185 + %186 = icmp samesign ult i64 %indvars.iv.next, %185 br i1 %186, label %_ZNK5draco17GeometryAttribute12ConvertValueIiEEbNS_9IndexTypeIjNS_29AttributeValueIndex_tag_type_EEEPT_.exit, label %_ZNK5draco17GeometryAttribute12ConvertValueIiEEbNS_9IndexTypeIjNS_29AttributeValueIndex_tag_type_EEEPT_.exit._crit_edge.loopexit, !llvm.loop !22 187: ; preds = %149 @@ -5947,7 +5947,7 @@ define linkonce_odr noundef zeroext i1 @_ZNK5draco17GeometryAttribute12ConvertVa %32 = load i8, ptr %10, align 8 %.sroa.speculated.i = tail call i8 @llvm.umin.i8(i8 %2, i8 %32) %33 = zext i8 %.sroa.speculated.i to i64 - %.not.i = icmp ult i64 %indvars.iv.next.i, %33 + %.not.i = icmp samesign ult i64 %indvars.iv.next.i, %33 br i1 %.not.i, label %.lr.ph.i, label %._crit_edge.i, !llvm.loop !89 ._crit_edge.i: ; preds = %27, %9 @@ -5994,7 +5994,7 @@ define linkonce_odr noundef zeroext i1 @_ZNK5draco17GeometryAttribute12ConvertVa %58 = load i8, ptr %36, align 8 %.sroa.speculated.i52 = tail call i8 @llvm.umin.i8(i8 %2, i8 %58) %59 = zext i8 %.sroa.speculated.i52 to i64 - %.not.i53 = icmp ult i64 %indvars.iv.next.i51, %59 + %.not.i53 = icmp samesign ult i64 %indvars.iv.next.i51, %59 br i1 %.not.i53, label %.lr.ph.i48, label %._crit_edge.i54, !llvm.loop !90 ._crit_edge.i54: ; preds = %53, %35 @@ -6041,7 +6041,7 @@ define linkonce_odr noundef zeroext i1 @_ZNK5draco17GeometryAttribute12ConvertVa %84 = load i8, ptr %62, align 8 %.sroa.speculated.i64 = tail call i8 @llvm.umin.i8(i8 %2, i8 %84) %85 = zext i8 %.sroa.speculated.i64 to i64 - %.not.i65 = icmp ult i64 %indvars.iv.next.i63, %85 + %.not.i65 = icmp samesign ult i64 %indvars.iv.next.i63, %85 br i1 %.not.i65, label %.lr.ph.i60, label %._crit_edge.i66, !llvm.loop !91 ._crit_edge.i66: ; preds = %79, %61 @@ -6088,7 +6088,7 @@ define linkonce_odr noundef zeroext i1 @_ZNK5draco17GeometryAttribute12ConvertVa %110 = load i8, ptr %88, align 8 %.sroa.speculated.i76 = tail call i8 @llvm.umin.i8(i8 %2, i8 %110) %111 = zext i8 %.sroa.speculated.i76 to i64 - %.not.i77 = icmp ult i64 %indvars.iv.next.i75, %111 + %.not.i77 = icmp samesign ult i64 %indvars.iv.next.i75, %111 br i1 %.not.i77, label %.lr.ph.i72, label %._crit_edge.i78, !llvm.loop !92 ._crit_edge.i78: ; preds = %105, %87 @@ -6134,7 +6134,7 @@ define linkonce_odr noundef zeroext i1 @_ZNK5draco17GeometryAttribute12ConvertVa %135 = load i8, ptr %114, align 8 %.sroa.speculated.i88 = tail call i8 @llvm.umin.i8(i8 %2, i8 %135) %136 = zext i8 %.sroa.speculated.i88 to i64 - %.not.i89 = icmp ult i64 %indvars.iv.next.i87, %136 + %.not.i89 = icmp samesign ult i64 %indvars.iv.next.i87, %136 br i1 %.not.i89, label %.lr.ph.i84, label %._crit_edge.i90, !llvm.loop !93 ._crit_edge.i90: ; preds = %131, %113 @@ -6184,7 +6184,7 @@ define linkonce_odr noundef zeroext i1 @_ZNK5draco17GeometryAttribute12ConvertVa %162 = load i8, ptr %139, align 8 %.sroa.speculated.i100 = tail call i8 @llvm.umin.i8(i8 %2, i8 %162) %163 = zext i8 %.sroa.speculated.i100 to i64 - %.not.i101 = icmp ult i64 %indvars.iv.next.i99, %163 + %.not.i101 = icmp samesign ult i64 %indvars.iv.next.i99, %163 br i1 %.not.i101, label %.lr.ph.i96, label %._crit_edge.i102, !llvm.loop !94 ._crit_edge.i102: ; preds = %159, %138 @@ -6236,7 +6236,7 @@ define linkonce_odr noundef zeroext i1 @_ZNK5draco17GeometryAttribute12ConvertVa %190 = load i8, ptr %166, align 8 %.sroa.speculated.i112 = tail call i8 @llvm.umin.i8(i8 %2, i8 %190) %191 = zext i8 %.sroa.speculated.i112 to i64 - %.not.i113 = icmp ult i64 %indvars.iv.next.i111, %191 + %.not.i113 = icmp samesign ult i64 %indvars.iv.next.i111, %191 br i1 %.not.i113, label %.lr.ph.i108, label %._crit_edge.i114, !llvm.loop !95 ._crit_edge.i114: ; preds = %186, %165 @@ -6287,7 +6287,7 @@ define linkonce_odr noundef zeroext i1 @_ZNK5draco17GeometryAttribute12ConvertVa %218 = load i8, ptr %194, align 8 %.sroa.speculated.i124 = tail call i8 @llvm.umin.i8(i8 %2, i8 %218) %219 = zext i8 %.sroa.speculated.i124 to i64 - %.not.i125 = icmp ult i64 %indvars.iv.next.i123, %219 + %.not.i125 = icmp samesign ult i64 %indvars.iv.next.i123, %219 br i1 %.not.i125, label %.lr.ph.i120, label %._crit_edge.i126, !llvm.loop !96 ._crit_edge.i126: ; preds = %214, %193 @@ -6366,7 +6366,7 @@ define linkonce_odr noundef zeroext i1 @_ZNK5draco17GeometryAttribute12ConvertVa %262 = load i8, ptr %222, align 8 %.sroa.speculated.i133 = tail call i8 @llvm.umin.i8(i8 %2, i8 %262) %263 = zext i8 %.sroa.speculated.i133 to i64 - %.not.i134 = icmp ult i64 %indvars.iv.next.i132, %263 + %.not.i134 = icmp samesign ult i64 %indvars.iv.next.i132, %263 br i1 %.not.i134, label %236, label %._crit_edge.i135, !llvm.loop !97 ._crit_edge.i135: ; preds = %260, %221 @@ -6440,7 +6440,7 @@ define linkonce_odr noundef zeroext i1 @_ZNK5draco17GeometryAttribute12ConvertVa %302 = load i8, ptr %266, align 8 %.sroa.speculated.i147 = tail call i8 @llvm.umin.i8(i8 %2, i8 %302) %303 = zext i8 %.sroa.speculated.i147 to i64 - %.not.i148 = icmp ult i64 %indvars.iv.next.i146, %303 + %.not.i148 = icmp samesign ult i64 %indvars.iv.next.i146, %303 br i1 %.not.i148, label %280, label %._crit_edge.i149, !llvm.loop !98 ._crit_edge.i149: ; preds = %300, %265 @@ -6488,7 +6488,7 @@ define linkonce_odr noundef zeroext i1 @_ZNK5draco17GeometryAttribute12ConvertVa %329 = load i8, ptr %306, align 8 %.sroa.speculated.i160 = tail call i8 @llvm.umin.i8(i8 %2, i8 %329) %330 = zext i8 %.sroa.speculated.i160 to i64 - %.not.i161 = icmp ult i64 %indvars.iv.next.i159, %330 + %.not.i161 = icmp samesign ult i64 %indvars.iv.next.i159, %330 br i1 %.not.i161, label %.lr.ph.i156, label %._crit_edge.i162, !llvm.loop !99 ._crit_edge.i162: ; preds = %323, %305 @@ -6843,7 +6843,7 @@ define linkonce_odr noundef zeroext i1 @_ZNK5draco17GeometryAttribute12ConvertVa %32 = load i8, ptr %10, align 8 %.sroa.speculated.i = tail call i8 @llvm.umin.i8(i8 %2, i8 %32) %33 = zext i8 %.sroa.speculated.i to i64 - %.not.i = icmp ult i64 %indvars.iv.next.i, %33 + %.not.i = icmp samesign ult i64 %indvars.iv.next.i, %33 br i1 %.not.i, label %.lr.ph.i, label %._crit_edge.i, !llvm.loop !101 ._crit_edge.i: ; preds = %27, %9 @@ -6890,7 +6890,7 @@ define linkonce_odr noundef zeroext i1 @_ZNK5draco17GeometryAttribute12ConvertVa %58 = load i8, ptr %36, align 8 %.sroa.speculated.i52 = tail call i8 @llvm.umin.i8(i8 %2, i8 %58) %59 = zext i8 %.sroa.speculated.i52 to i64 - %.not.i53 = icmp ult i64 %indvars.iv.next.i51, %59 + %.not.i53 = icmp samesign ult i64 %indvars.iv.next.i51, %59 br i1 %.not.i53, label %.lr.ph.i48, label %._crit_edge.i54, !llvm.loop !102 ._crit_edge.i54: ; preds = %53, %35 @@ -6937,7 +6937,7 @@ define linkonce_odr noundef zeroext i1 @_ZNK5draco17GeometryAttribute12ConvertVa %84 = load i8, ptr %62, align 8 %.sroa.speculated.i64 = tail call i8 @llvm.umin.i8(i8 %2, i8 %84) %85 = zext i8 %.sroa.speculated.i64 to i64 - %.not.i65 = icmp ult i64 %indvars.iv.next.i63, %85 + %.not.i65 = icmp samesign ult i64 %indvars.iv.next.i63, %85 br i1 %.not.i65, label %.lr.ph.i60, label %._crit_edge.i66, !llvm.loop !103 ._crit_edge.i66: ; preds = %79, %61 @@ -6984,7 +6984,7 @@ define linkonce_odr noundef zeroext i1 @_ZNK5draco17GeometryAttribute12ConvertVa %110 = load i8, ptr %88, align 8 %.sroa.speculated.i76 = tail call i8 @llvm.umin.i8(i8 %2, i8 %110) %111 = zext i8 %.sroa.speculated.i76 to i64 - %.not.i77 = icmp ult i64 %indvars.iv.next.i75, %111 + %.not.i77 = icmp samesign ult i64 %indvars.iv.next.i75, %111 br i1 %.not.i77, label %.lr.ph.i72, label %._crit_edge.i78, !llvm.loop !104 ._crit_edge.i78: ; preds = %105, %87 @@ -7030,7 +7030,7 @@ define linkonce_odr noundef zeroext i1 @_ZNK5draco17GeometryAttribute12ConvertVa %135 = load i8, ptr %114, align 8 %.sroa.speculated.i88 = tail call i8 @llvm.umin.i8(i8 %2, i8 %135) %136 = zext i8 %.sroa.speculated.i88 to i64 - %.not.i89 = icmp ult i64 %indvars.iv.next.i87, %136 + %.not.i89 = icmp samesign ult i64 %indvars.iv.next.i87, %136 br i1 %.not.i89, label %.lr.ph.i84, label %._crit_edge.i90, !llvm.loop !105 ._crit_edge.i90: ; preds = %131, %113 @@ -7076,7 +7076,7 @@ define linkonce_odr noundef zeroext i1 @_ZNK5draco17GeometryAttribute12ConvertVa %160 = load i8, ptr %139, align 8 %.sroa.speculated.i100 = tail call i8 @llvm.umin.i8(i8 %2, i8 %160) %161 = zext i8 %.sroa.speculated.i100 to i64 - %.not.i101 = icmp ult i64 %indvars.iv.next.i99, %161 + %.not.i101 = icmp samesign ult i64 %indvars.iv.next.i99, %161 br i1 %.not.i101, label %.lr.ph.i96, label %._crit_edge.i102, !llvm.loop !106 ._crit_edge.i102: ; preds = %156, %138 @@ -7127,7 +7127,7 @@ define linkonce_odr noundef zeroext i1 @_ZNK5draco17GeometryAttribute12ConvertVa %188 = load i8, ptr %164, align 8 %.sroa.speculated.i112 = tail call i8 @llvm.umin.i8(i8 %2, i8 %188) %189 = zext i8 %.sroa.speculated.i112 to i64 - %.not.i113 = icmp ult i64 %indvars.iv.next.i111, %189 + %.not.i113 = icmp samesign ult i64 %indvars.iv.next.i111, %189 br i1 %.not.i113, label %.lr.ph.i108, label %._crit_edge.i114, !llvm.loop !107 ._crit_edge.i114: ; preds = %184, %163 @@ -7178,7 +7178,7 @@ define linkonce_odr noundef zeroext i1 @_ZNK5draco17GeometryAttribute12ConvertVa %216 = load i8, ptr %192, align 8 %.sroa.speculated.i124 = tail call i8 @llvm.umin.i8(i8 %2, i8 %216) %217 = zext i8 %.sroa.speculated.i124 to i64 - %.not.i125 = icmp ult i64 %indvars.iv.next.i123, %217 + %.not.i125 = icmp samesign ult i64 %indvars.iv.next.i123, %217 br i1 %.not.i125, label %.lr.ph.i120, label %._crit_edge.i126, !llvm.loop !108 ._crit_edge.i126: ; preds = %212, %191 @@ -7252,7 +7252,7 @@ define linkonce_odr noundef zeroext i1 @_ZNK5draco17GeometryAttribute12ConvertVa %257 = load i8, ptr %220, align 8 %.sroa.speculated.i133 = tail call i8 @llvm.umin.i8(i8 %2, i8 %257) %258 = zext i8 %.sroa.speculated.i133 to i64 - %.not.i134 = icmp ult i64 %indvars.iv.next.i132, %258 + %.not.i134 = icmp samesign ult i64 %indvars.iv.next.i132, %258 br i1 %.not.i134, label %234, label %._crit_edge.i135, !llvm.loop !109 ._crit_edge.i135: ; preds = %255, %219 @@ -7321,7 +7321,7 @@ define linkonce_odr noundef zeroext i1 @_ZNK5draco17GeometryAttribute12ConvertVa %294 = load i8, ptr %261, align 8 %.sroa.speculated.i145 = tail call i8 @llvm.umin.i8(i8 %2, i8 %294) %295 = zext i8 %.sroa.speculated.i145 to i64 - %.not.i146 = icmp ult i64 %indvars.iv.next.i144, %295 + %.not.i146 = icmp samesign ult i64 %indvars.iv.next.i144, %295 br i1 %.not.i146, label %275, label %._crit_edge.i147, !llvm.loop !110 ._crit_edge.i147: ; preds = %292, %260 @@ -7369,7 +7369,7 @@ define linkonce_odr noundef zeroext i1 @_ZNK5draco17GeometryAttribute12ConvertVa %321 = load i8, ptr %298, align 8 %.sroa.speculated.i157 = tail call i8 @llvm.umin.i8(i8 %2, i8 %321) %322 = zext i8 %.sroa.speculated.i157 to i64 - %.not.i158 = icmp ult i64 %indvars.iv.next.i156, %322 + %.not.i158 = icmp samesign ult i64 %indvars.iv.next.i156, %322 br i1 %.not.i158, label %.lr.ph.i153, label %._crit_edge.i159, !llvm.loop !111 ._crit_edge.i159: ; preds = %315, %297 diff --git a/bench/draco/optimized/obj_encoder.cc.ll b/bench/draco/optimized/obj_encoder.cc.ll index ce3f5ad22e8..46fc59b7e9f 100644 --- a/bench/draco/optimized/obj_encoder.cc.ll +++ b/bench/draco/optimized/obj_encoder.cc.ll @@ -3602,7 +3602,7 @@ define linkonce_odr noundef zeroext i1 @_ZNK5draco17GeometryAttribute12ConvertVa %37 = load i8, ptr %10, align 8 %.sroa.speculated.i = tail call i8 @llvm.umin.i8(i8 %2, i8 %37) %38 = zext i8 %.sroa.speculated.i to i64 - %.not.i = icmp ult i64 %indvars.iv.next.i, %38 + %.not.i = icmp samesign ult i64 %indvars.iv.next.i, %38 br i1 %.not.i, label %24, label %._crit_edge.i, !llvm.loop !22 ._crit_edge.i: ; preds = %29, %9 @@ -3654,7 +3654,7 @@ define linkonce_odr noundef zeroext i1 @_ZNK5draco17GeometryAttribute12ConvertVa %68 = load i8, ptr %41, align 8 %.sroa.speculated.i52 = tail call i8 @llvm.umin.i8(i8 %2, i8 %68) %69 = zext i8 %.sroa.speculated.i52 to i64 - %.not.i53 = icmp ult i64 %indvars.iv.next.i51, %69 + %.not.i53 = icmp samesign ult i64 %indvars.iv.next.i51, %69 br i1 %.not.i53, label %55, label %._crit_edge.i54, !llvm.loop !23 ._crit_edge.i54: ; preds = %60, %40 @@ -3706,7 +3706,7 @@ define linkonce_odr noundef zeroext i1 @_ZNK5draco17GeometryAttribute12ConvertVa %99 = load i8, ptr %72, align 8 %.sroa.speculated.i64 = tail call i8 @llvm.umin.i8(i8 %2, i8 %99) %100 = zext i8 %.sroa.speculated.i64 to i64 - %.not.i65 = icmp ult i64 %indvars.iv.next.i63, %100 + %.not.i65 = icmp samesign ult i64 %indvars.iv.next.i63, %100 br i1 %.not.i65, label %86, label %._crit_edge.i66, !llvm.loop !24 ._crit_edge.i66: ; preds = %91, %71 @@ -3758,7 +3758,7 @@ define linkonce_odr noundef zeroext i1 @_ZNK5draco17GeometryAttribute12ConvertVa %130 = load i8, ptr %103, align 8 %.sroa.speculated.i76 = tail call i8 @llvm.umin.i8(i8 %2, i8 %130) %131 = zext i8 %.sroa.speculated.i76 to i64 - %.not.i77 = icmp ult i64 %indvars.iv.next.i75, %131 + %.not.i77 = icmp samesign ult i64 %indvars.iv.next.i75, %131 br i1 %.not.i77, label %117, label %._crit_edge.i78, !llvm.loop !25 ._crit_edge.i78: ; preds = %122, %102 @@ -3810,7 +3810,7 @@ define linkonce_odr noundef zeroext i1 @_ZNK5draco17GeometryAttribute12ConvertVa %161 = load i8, ptr %134, align 8 %.sroa.speculated.i88 = tail call i8 @llvm.umin.i8(i8 %2, i8 %161) %162 = zext i8 %.sroa.speculated.i88 to i64 - %.not.i89 = icmp ult i64 %indvars.iv.next.i87, %162 + %.not.i89 = icmp samesign ult i64 %indvars.iv.next.i87, %162 br i1 %.not.i89, label %148, label %._crit_edge.i90, !llvm.loop !26 ._crit_edge.i90: ; preds = %153, %133 @@ -3862,7 +3862,7 @@ define linkonce_odr noundef zeroext i1 @_ZNK5draco17GeometryAttribute12ConvertVa %192 = load i8, ptr %165, align 8 %.sroa.speculated.i100 = tail call i8 @llvm.umin.i8(i8 %2, i8 %192) %193 = zext i8 %.sroa.speculated.i100 to i64 - %.not.i101 = icmp ult i64 %indvars.iv.next.i99, %193 + %.not.i101 = icmp samesign ult i64 %indvars.iv.next.i99, %193 br i1 %.not.i101, label %179, label %._crit_edge.i102, !llvm.loop !27 ._crit_edge.i102: ; preds = %184, %164 @@ -3914,7 +3914,7 @@ define linkonce_odr noundef zeroext i1 @_ZNK5draco17GeometryAttribute12ConvertVa %223 = load i8, ptr %196, align 8 %.sroa.speculated.i112 = tail call i8 @llvm.umin.i8(i8 %2, i8 %223) %224 = zext i8 %.sroa.speculated.i112 to i64 - %.not.i113 = icmp ult i64 %indvars.iv.next.i111, %224 + %.not.i113 = icmp samesign ult i64 %indvars.iv.next.i111, %224 br i1 %.not.i113, label %210, label %._crit_edge.i114, !llvm.loop !28 ._crit_edge.i114: ; preds = %215, %195 @@ -3966,7 +3966,7 @@ define linkonce_odr noundef zeroext i1 @_ZNK5draco17GeometryAttribute12ConvertVa %254 = load i8, ptr %227, align 8 %.sroa.speculated.i124 = tail call i8 @llvm.umin.i8(i8 %2, i8 %254) %255 = zext i8 %.sroa.speculated.i124 to i64 - %.not.i125 = icmp ult i64 %indvars.iv.next.i123, %255 + %.not.i125 = icmp samesign ult i64 %indvars.iv.next.i123, %255 br i1 %.not.i125, label %241, label %._crit_edge.i126, !llvm.loop !29 ._crit_edge.i126: ; preds = %246, %226 @@ -4012,7 +4012,7 @@ define linkonce_odr noundef zeroext i1 @_ZNK5draco17GeometryAttribute12ConvertVa %279 = load i8, ptr %258, align 8 %.sroa.speculated.i135 = tail call i8 @llvm.umin.i8(i8 %2, i8 %279) %280 = zext i8 %.sroa.speculated.i135 to i64 - %.not.i136 = icmp ult i64 %indvars.iv.next.i134, %280 + %.not.i136 = icmp samesign ult i64 %indvars.iv.next.i134, %280 br i1 %.not.i136, label %.lr.ph.i131, label %._crit_edge.i137, !llvm.loop !30 ._crit_edge.i137: ; preds = %275, %257 @@ -4059,7 +4059,7 @@ define linkonce_odr noundef zeroext i1 @_ZNK5draco17GeometryAttribute12ConvertVa %305 = load i8, ptr %283, align 8 %.sroa.speculated.i147 = tail call i8 @llvm.umin.i8(i8 %2, i8 %305) %306 = zext i8 %.sroa.speculated.i147 to i64 - %.not.i148 = icmp ult i64 %indvars.iv.next.i146, %306 + %.not.i148 = icmp samesign ult i64 %indvars.iv.next.i146, %306 br i1 %.not.i148, label %.lr.ph.i143, label %._crit_edge.i149, !llvm.loop !31 ._crit_edge.i149: ; preds = %300, %282 @@ -4107,7 +4107,7 @@ define linkonce_odr noundef zeroext i1 @_ZNK5draco17GeometryAttribute12ConvertVa %332 = load i8, ptr %309, align 8 %.sroa.speculated.i159 = tail call i8 @llvm.umin.i8(i8 %2, i8 %332) %333 = zext i8 %.sroa.speculated.i159 to i64 - %.not.i160 = icmp ult i64 %indvars.iv.next.i158, %333 + %.not.i160 = icmp samesign ult i64 %indvars.iv.next.i158, %333 br i1 %.not.i160, label %.lr.ph.i155, label %._crit_edge.i161, !llvm.loop !32 ._crit_edge.i161: ; preds = %326, %308 @@ -4480,7 +4480,7 @@ define linkonce_odr noundef zeroext i1 @_ZNK5draco17GeometryAttribute12ConvertVa %32 = load i8, ptr %10, align 8 %.sroa.speculated.i = tail call i8 @llvm.umin.i8(i8 %2, i8 %32) %33 = zext i8 %.sroa.speculated.i to i64 - %.not.i = icmp ult i64 %indvars.iv.next.i, %33 + %.not.i = icmp samesign ult i64 %indvars.iv.next.i, %33 br i1 %.not.i, label %.lr.ph.i, label %._crit_edge.i, !llvm.loop !33 ._crit_edge.i: ; preds = %27, %9 @@ -4527,7 +4527,7 @@ define linkonce_odr noundef zeroext i1 @_ZNK5draco17GeometryAttribute12ConvertVa %58 = load i8, ptr %36, align 8 %.sroa.speculated.i52 = tail call i8 @llvm.umin.i8(i8 %2, i8 %58) %59 = zext i8 %.sroa.speculated.i52 to i64 - %.not.i53 = icmp ult i64 %indvars.iv.next.i51, %59 + %.not.i53 = icmp samesign ult i64 %indvars.iv.next.i51, %59 br i1 %.not.i53, label %.lr.ph.i48, label %._crit_edge.i54, !llvm.loop !34 ._crit_edge.i54: ; preds = %53, %35 @@ -4574,7 +4574,7 @@ define linkonce_odr noundef zeroext i1 @_ZNK5draco17GeometryAttribute12ConvertVa %84 = load i8, ptr %62, align 8 %.sroa.speculated.i64 = tail call i8 @llvm.umin.i8(i8 %2, i8 %84) %85 = zext i8 %.sroa.speculated.i64 to i64 - %.not.i65 = icmp ult i64 %indvars.iv.next.i63, %85 + %.not.i65 = icmp samesign ult i64 %indvars.iv.next.i63, %85 br i1 %.not.i65, label %.lr.ph.i60, label %._crit_edge.i66, !llvm.loop !35 ._crit_edge.i66: ; preds = %79, %61 @@ -4621,7 +4621,7 @@ define linkonce_odr noundef zeroext i1 @_ZNK5draco17GeometryAttribute12ConvertVa %110 = load i8, ptr %88, align 8 %.sroa.speculated.i76 = tail call i8 @llvm.umin.i8(i8 %2, i8 %110) %111 = zext i8 %.sroa.speculated.i76 to i64 - %.not.i77 = icmp ult i64 %indvars.iv.next.i75, %111 + %.not.i77 = icmp samesign ult i64 %indvars.iv.next.i75, %111 br i1 %.not.i77, label %.lr.ph.i72, label %._crit_edge.i78, !llvm.loop !36 ._crit_edge.i78: ; preds = %105, %87 @@ -4667,7 +4667,7 @@ define linkonce_odr noundef zeroext i1 @_ZNK5draco17GeometryAttribute12ConvertVa %135 = load i8, ptr %114, align 8 %.sroa.speculated.i88 = tail call i8 @llvm.umin.i8(i8 %2, i8 %135) %136 = zext i8 %.sroa.speculated.i88 to i64 - %.not.i89 = icmp ult i64 %indvars.iv.next.i87, %136 + %.not.i89 = icmp samesign ult i64 %indvars.iv.next.i87, %136 br i1 %.not.i89, label %.lr.ph.i84, label %._crit_edge.i90, !llvm.loop !37 ._crit_edge.i90: ; preds = %131, %113 @@ -4717,7 +4717,7 @@ define linkonce_odr noundef zeroext i1 @_ZNK5draco17GeometryAttribute12ConvertVa %162 = load i8, ptr %139, align 8 %.sroa.speculated.i100 = tail call i8 @llvm.umin.i8(i8 %2, i8 %162) %163 = zext i8 %.sroa.speculated.i100 to i64 - %.not.i101 = icmp ult i64 %indvars.iv.next.i99, %163 + %.not.i101 = icmp samesign ult i64 %indvars.iv.next.i99, %163 br i1 %.not.i101, label %.lr.ph.i96, label %._crit_edge.i102, !llvm.loop !38 ._crit_edge.i102: ; preds = %159, %138 @@ -4769,7 +4769,7 @@ define linkonce_odr noundef zeroext i1 @_ZNK5draco17GeometryAttribute12ConvertVa %190 = load i8, ptr %166, align 8 %.sroa.speculated.i112 = tail call i8 @llvm.umin.i8(i8 %2, i8 %190) %191 = zext i8 %.sroa.speculated.i112 to i64 - %.not.i113 = icmp ult i64 %indvars.iv.next.i111, %191 + %.not.i113 = icmp samesign ult i64 %indvars.iv.next.i111, %191 br i1 %.not.i113, label %.lr.ph.i108, label %._crit_edge.i114, !llvm.loop !39 ._crit_edge.i114: ; preds = %186, %165 @@ -4820,7 +4820,7 @@ define linkonce_odr noundef zeroext i1 @_ZNK5draco17GeometryAttribute12ConvertVa %218 = load i8, ptr %194, align 8 %.sroa.speculated.i124 = tail call i8 @llvm.umin.i8(i8 %2, i8 %218) %219 = zext i8 %.sroa.speculated.i124 to i64 - %.not.i125 = icmp ult i64 %indvars.iv.next.i123, %219 + %.not.i125 = icmp samesign ult i64 %indvars.iv.next.i123, %219 br i1 %.not.i125, label %.lr.ph.i120, label %._crit_edge.i126, !llvm.loop !40 ._crit_edge.i126: ; preds = %214, %193 @@ -4899,7 +4899,7 @@ define linkonce_odr noundef zeroext i1 @_ZNK5draco17GeometryAttribute12ConvertVa %262 = load i8, ptr %222, align 8 %.sroa.speculated.i133 = tail call i8 @llvm.umin.i8(i8 %2, i8 %262) %263 = zext i8 %.sroa.speculated.i133 to i64 - %.not.i134 = icmp ult i64 %indvars.iv.next.i132, %263 + %.not.i134 = icmp samesign ult i64 %indvars.iv.next.i132, %263 br i1 %.not.i134, label %236, label %._crit_edge.i135, !llvm.loop !41 ._crit_edge.i135: ; preds = %260, %221 @@ -4973,7 +4973,7 @@ define linkonce_odr noundef zeroext i1 @_ZNK5draco17GeometryAttribute12ConvertVa %302 = load i8, ptr %266, align 8 %.sroa.speculated.i147 = tail call i8 @llvm.umin.i8(i8 %2, i8 %302) %303 = zext i8 %.sroa.speculated.i147 to i64 - %.not.i148 = icmp ult i64 %indvars.iv.next.i146, %303 + %.not.i148 = icmp samesign ult i64 %indvars.iv.next.i146, %303 br i1 %.not.i148, label %280, label %._crit_edge.i149, !llvm.loop !42 ._crit_edge.i149: ; preds = %300, %265 @@ -5021,7 +5021,7 @@ define linkonce_odr noundef zeroext i1 @_ZNK5draco17GeometryAttribute12ConvertVa %329 = load i8, ptr %306, align 8 %.sroa.speculated.i160 = tail call i8 @llvm.umin.i8(i8 %2, i8 %329) %330 = zext i8 %.sroa.speculated.i160 to i64 - %.not.i161 = icmp ult i64 %indvars.iv.next.i159, %330 + %.not.i161 = icmp samesign ult i64 %indvars.iv.next.i159, %330 br i1 %.not.i161, label %.lr.ph.i156, label %._crit_edge.i162, !llvm.loop !43 ._crit_edge.i162: ; preds = %323, %305 diff --git a/bench/draco/optimized/sequential_normal_attribute_encoder.cc.ll b/bench/draco/optimized/sequential_normal_attribute_encoder.cc.ll index 5339723c6ca..68342e84b1e 100644 --- a/bench/draco/optimized/sequential_normal_attribute_encoder.cc.ll +++ b/bench/draco/optimized/sequential_normal_attribute_encoder.cc.ll @@ -5386,7 +5386,7 @@ _ZNK5draco7VectorDIlLi2EEmlERKl.exit.critedge: ; preds = %157 %.sroa.speculated177 = call i64 @llvm.umax.i64(i64 %170, i64 %173) %.sroa.speculated = call i64 @llvm.umax.i64(i64 %.sroa.speculated177, i64 %176) %177 = udiv i64 9223372036854775807, %.sroa.speculated - %178 = icmp ugt i64 %160, %177 + %178 = icmp samesign ugt i64 %160, %177 br i1 %178, label %.loopexit, label %179 179: ; preds = %_ZNK5draco7VectorDIlLi2EEmlERKl.exit.critedge @@ -5545,7 +5545,7 @@ _ZNK5draco7VectorDIlLi2EE11SquaredNormEv.exit: ; preds = %239 br i1 %246, label %245, label %_ZNK5draco7VectorDIlLi2EE11SquaredNormEv.exit120, !llvm.loop !99 _ZNK5draco7VectorDIlLi2EE11SquaredNormEv.exit120: ; preds = %245 - %249 = icmp ult i64 %242, %248 + %249 = icmp samesign ult i64 %242, %248 %250 = getelementptr inbounds i8, ptr %0, i64 24 %.280 = select i1 %249, i64 %222, i64 %226 %.281 = select i1 %249, i64 %221, i64 %225 @@ -5658,7 +5658,7 @@ define linkonce_odr noundef zeroext i1 @_ZNK5draco17GeometryAttribute12ConvertVa %32 = load i8, ptr %10, align 8 %.sroa.speculated.i = tail call i8 @llvm.umin.i8(i8 %2, i8 %32) %33 = zext i8 %.sroa.speculated.i to i64 - %.not.i = icmp ult i64 %indvars.iv.next.i, %33 + %.not.i = icmp samesign ult i64 %indvars.iv.next.i, %33 br i1 %.not.i, label %.lr.ph.i, label %._crit_edge.i, !llvm.loop !100 ._crit_edge.i: ; preds = %27, %9 @@ -5705,7 +5705,7 @@ define linkonce_odr noundef zeroext i1 @_ZNK5draco17GeometryAttribute12ConvertVa %58 = load i8, ptr %36, align 8 %.sroa.speculated.i52 = tail call i8 @llvm.umin.i8(i8 %2, i8 %58) %59 = zext i8 %.sroa.speculated.i52 to i64 - %.not.i53 = icmp ult i64 %indvars.iv.next.i51, %59 + %.not.i53 = icmp samesign ult i64 %indvars.iv.next.i51, %59 br i1 %.not.i53, label %.lr.ph.i48, label %._crit_edge.i54, !llvm.loop !101 ._crit_edge.i54: ; preds = %53, %35 @@ -5752,7 +5752,7 @@ define linkonce_odr noundef zeroext i1 @_ZNK5draco17GeometryAttribute12ConvertVa %84 = load i8, ptr %62, align 8 %.sroa.speculated.i64 = tail call i8 @llvm.umin.i8(i8 %2, i8 %84) %85 = zext i8 %.sroa.speculated.i64 to i64 - %.not.i65 = icmp ult i64 %indvars.iv.next.i63, %85 + %.not.i65 = icmp samesign ult i64 %indvars.iv.next.i63, %85 br i1 %.not.i65, label %.lr.ph.i60, label %._crit_edge.i66, !llvm.loop !102 ._crit_edge.i66: ; preds = %79, %61 @@ -5799,7 +5799,7 @@ define linkonce_odr noundef zeroext i1 @_ZNK5draco17GeometryAttribute12ConvertVa %110 = load i8, ptr %88, align 8 %.sroa.speculated.i76 = tail call i8 @llvm.umin.i8(i8 %2, i8 %110) %111 = zext i8 %.sroa.speculated.i76 to i64 - %.not.i77 = icmp ult i64 %indvars.iv.next.i75, %111 + %.not.i77 = icmp samesign ult i64 %indvars.iv.next.i75, %111 br i1 %.not.i77, label %.lr.ph.i72, label %._crit_edge.i78, !llvm.loop !103 ._crit_edge.i78: ; preds = %105, %87 @@ -5846,7 +5846,7 @@ define linkonce_odr noundef zeroext i1 @_ZNK5draco17GeometryAttribute12ConvertVa %136 = load i8, ptr %114, align 8 %.sroa.speculated.i88 = tail call i8 @llvm.umin.i8(i8 %2, i8 %136) %137 = zext i8 %.sroa.speculated.i88 to i64 - %.not.i89 = icmp ult i64 %indvars.iv.next.i87, %137 + %.not.i89 = icmp samesign ult i64 %indvars.iv.next.i87, %137 br i1 %.not.i89, label %.lr.ph.i84, label %._crit_edge.i90, !llvm.loop !104 ._crit_edge.i90: ; preds = %131, %113 @@ -5893,7 +5893,7 @@ define linkonce_odr noundef zeroext i1 @_ZNK5draco17GeometryAttribute12ConvertVa %162 = load i8, ptr %140, align 8 %.sroa.speculated.i100 = tail call i8 @llvm.umin.i8(i8 %2, i8 %162) %163 = zext i8 %.sroa.speculated.i100 to i64 - %.not.i101 = icmp ult i64 %indvars.iv.next.i99, %163 + %.not.i101 = icmp samesign ult i64 %indvars.iv.next.i99, %163 br i1 %.not.i101, label %.lr.ph.i96, label %._crit_edge.i102, !llvm.loop !105 ._crit_edge.i102: ; preds = %157, %139 @@ -5939,7 +5939,7 @@ define linkonce_odr noundef zeroext i1 @_ZNK5draco17GeometryAttribute12ConvertVa %187 = load i8, ptr %166, align 8 %.sroa.speculated.i112 = tail call i8 @llvm.umin.i8(i8 %2, i8 %187) %188 = zext i8 %.sroa.speculated.i112 to i64 - %.not.i113 = icmp ult i64 %indvars.iv.next.i111, %188 + %.not.i113 = icmp samesign ult i64 %indvars.iv.next.i111, %188 br i1 %.not.i113, label %.lr.ph.i108, label %._crit_edge.i114, !llvm.loop !106 ._crit_edge.i114: ; preds = %183, %165 @@ -5989,7 +5989,7 @@ define linkonce_odr noundef zeroext i1 @_ZNK5draco17GeometryAttribute12ConvertVa %214 = load i8, ptr %191, align 8 %.sroa.speculated.i124 = tail call i8 @llvm.umin.i8(i8 %2, i8 %214) %215 = zext i8 %.sroa.speculated.i124 to i64 - %.not.i125 = icmp ult i64 %indvars.iv.next.i123, %215 + %.not.i125 = icmp samesign ult i64 %indvars.iv.next.i123, %215 br i1 %.not.i125, label %.lr.ph.i120, label %._crit_edge.i126, !llvm.loop !107 ._crit_edge.i126: ; preds = %211, %190 @@ -6049,7 +6049,7 @@ define linkonce_odr noundef zeroext i1 @_ZNK5draco17GeometryAttribute12ConvertVa %248 = load i8, ptr %218, align 8 %.sroa.speculated.i133 = tail call i8 @llvm.umin.i8(i8 %2, i8 %248) %249 = zext i8 %.sroa.speculated.i133 to i64 - %.not.i134 = icmp ult i64 %indvars.iv.next.i132, %249 + %.not.i134 = icmp samesign ult i64 %indvars.iv.next.i132, %249 br i1 %.not.i134, label %232, label %._crit_edge.i135, !llvm.loop !108 ._crit_edge.i135: ; preds = %244, %217 @@ -6109,7 +6109,7 @@ define linkonce_odr noundef zeroext i1 @_ZNK5draco17GeometryAttribute12ConvertVa %282 = load i8, ptr %252, align 8 %.sroa.speculated.i146 = tail call i8 @llvm.umin.i8(i8 %2, i8 %282) %283 = zext i8 %.sroa.speculated.i146 to i64 - %.not.i147 = icmp ult i64 %indvars.iv.next.i145, %283 + %.not.i147 = icmp samesign ult i64 %indvars.iv.next.i145, %283 br i1 %.not.i147, label %266, label %._crit_edge.i148, !llvm.loop !109 ._crit_edge.i148: ; preds = %278, %251 @@ -6157,7 +6157,7 @@ define linkonce_odr noundef zeroext i1 @_ZNK5draco17GeometryAttribute12ConvertVa %309 = load i8, ptr %286, align 8 %.sroa.speculated.i158 = tail call i8 @llvm.umin.i8(i8 %2, i8 %309) %310 = zext i8 %.sroa.speculated.i158 to i64 - %.not.i159 = icmp ult i64 %indvars.iv.next.i157, %310 + %.not.i159 = icmp samesign ult i64 %indvars.iv.next.i157, %310 br i1 %.not.i159, label %.lr.ph.i154, label %._crit_edge.i160, !llvm.loop !110 ._crit_edge.i160: ; preds = %303, %285 @@ -6797,7 +6797,7 @@ _ZNK5draco17OctahedronToolBox6ModMaxEi.exit43: ; preds = %224, %227, %230 %.01011.i = phi i32 [ 0, %_ZNK5draco17OctahedronToolBox6ModMaxEi.exit43 ], [ %239, %238 ] %235 = call i32 @llvm.abs.i32(i32 %indvars.iv.i44.sroa.phi.sroa.speculated, i1 true) %236 = xor i32 %235, 2147483647 - %237 = icmp ugt i32 %.01011.i, %236 + %237 = icmp samesign ugt i32 %.01011.i, %236 br i1 %237, label %_ZNK5draco7VectorDIiLi2EE6AbsSumEv.exit, label %238 238: ; preds = %233 @@ -6814,7 +6814,7 @@ _ZNK5draco7VectorDIiLi2EE6AbsSumEv.exit: ; preds = %233, %238 %.01011.i47 = phi i32 [ 0, %_ZNK5draco7VectorDIiLi2EE6AbsSumEv.exit ], [ %246, %245 ] %242 = call i32 @llvm.abs.i32(i32 %indvars.iv.i46.sroa.phi.sroa.speculated, i1 true) %243 = xor i32 %242, 2147483647 - %244 = icmp ugt i32 %.01011.i47, %243 + %244 = icmp samesign ugt i32 %.01011.i47, %243 br i1 %244, label %_ZNK5draco7VectorDIiLi2EE6AbsSumEv.exit49, label %245 245: ; preds = %240 @@ -7186,7 +7186,7 @@ _ZNK5draco7VectorDIlLi3EEmiERKS1_.exit58: ; preds = %157 %189 = load i64, ptr %188, align 8 %190 = call noundef i64 @llvm.abs.i64(i64 %189, i1 true) %191 = xor i64 %190, 9223372036854775807 - %192 = icmp ugt i64 %.01011.i, %191 + %192 = icmp samesign ugt i64 %.01011.i, %191 br i1 %192, label %_ZNK5draco7VectorDIlLi3EE6AbsSumEv.exit.thread, label %193 193: ; preds = %.preheader @@ -7225,7 +7225,7 @@ _ZNK5draco7VectorDIlLi3EE6AbsSumEv.exit: ; preds = %193 %205 = load i64, ptr %204, align 8 %206 = call noundef i64 @llvm.abs.i64(i64 %205, i1 true) %207 = xor i64 %206, 9223372036854775807 - %208 = icmp ugt i64 %.01011.i66, %207 + %208 = icmp samesign ugt i64 %.01011.i66, %207 br i1 %208, label %_ZNK5draco7VectorDIlLi3EE6AbsSumEv.exit70.thread, label %209 209: ; preds = %.preheader90 @@ -10164,7 +10164,7 @@ _ZNK5draco7VectorDIlLi2EEmlERKl.exit.critedge: ; preds = %156 %.sroa.speculated180 = call i64 @llvm.umax.i64(i64 %169, i64 %172) %.sroa.speculated = call i64 @llvm.umax.i64(i64 %.sroa.speculated180, i64 %175) %176 = udiv i64 9223372036854775807, %.sroa.speculated - %177 = icmp ugt i64 %159, %176 + %177 = icmp samesign ugt i64 %159, %176 br i1 %177, label %.loopexit, label %178 178: ; preds = %_ZNK5draco7VectorDIlLi2EEmlERKl.exit.critedge @@ -10323,7 +10323,7 @@ _ZNK5draco7VectorDIlLi2EE11SquaredNormEv.exit: ; preds = %238 br i1 %245, label %244, label %_ZNK5draco7VectorDIlLi2EE11SquaredNormEv.exit123, !llvm.loop !99 _ZNK5draco7VectorDIlLi2EE11SquaredNormEv.exit123: ; preds = %244 - %248 = icmp ult i64 %241, %247 + %248 = icmp samesign ult i64 %241, %247 %249 = getelementptr inbounds i8, ptr %0, i64 24 %.289 = select i1 %248, i64 %221, i64 %225 %.290 = select i1 %248, i64 %220, i64 %224 @@ -10985,7 +10985,7 @@ _ZNK5draco17OctahedronToolBox6ModMaxEi.exit43: ; preds = %224, %227, %230 %.01011.i = phi i32 [ 0, %_ZNK5draco17OctahedronToolBox6ModMaxEi.exit43 ], [ %239, %238 ] %235 = call i32 @llvm.abs.i32(i32 %indvars.iv.i44.sroa.phi.sroa.speculated, i1 true) %236 = xor i32 %235, 2147483647 - %237 = icmp ugt i32 %.01011.i, %236 + %237 = icmp samesign ugt i32 %.01011.i, %236 br i1 %237, label %_ZNK5draco7VectorDIiLi2EE6AbsSumEv.exit, label %238 238: ; preds = %233 @@ -11002,7 +11002,7 @@ _ZNK5draco7VectorDIiLi2EE6AbsSumEv.exit: ; preds = %233, %238 %.01011.i47 = phi i32 [ 0, %_ZNK5draco7VectorDIiLi2EE6AbsSumEv.exit ], [ %246, %245 ] %242 = call i32 @llvm.abs.i32(i32 %indvars.iv.i46.sroa.phi.sroa.speculated, i1 true) %243 = xor i32 %242, 2147483647 - %244 = icmp ugt i32 %.01011.i47, %243 + %244 = icmp samesign ugt i32 %.01011.i47, %243 br i1 %244, label %_ZNK5draco7VectorDIiLi2EE6AbsSumEv.exit49, label %245 245: ; preds = %240 @@ -11396,7 +11396,7 @@ _ZNK5draco7VectorDIlLi3EEmiERKS1_.exit62: ; preds = %160 %192 = load i64, ptr %191, align 8 %193 = call noundef i64 @llvm.abs.i64(i64 %192, i1 true) %194 = xor i64 %193, 9223372036854775807 - %195 = icmp ugt i64 %.01011.i, %194 + %195 = icmp samesign ugt i64 %.01011.i, %194 br i1 %195, label %_ZNK5draco7VectorDIlLi3EE6AbsSumEv.exit.thread, label %196 196: ; preds = %.preheader @@ -11435,7 +11435,7 @@ _ZNK5draco7VectorDIlLi3EE6AbsSumEv.exit: ; preds = %196 %208 = load i64, ptr %207, align 8 %209 = call noundef i64 @llvm.abs.i64(i64 %208, i1 true) %210 = xor i64 %209, 9223372036854775807 - %211 = icmp ugt i64 %.01011.i70, %210 + %211 = icmp samesign ugt i64 %.01011.i70, %210 br i1 %211, label %_ZNK5draco7VectorDIlLi3EE6AbsSumEv.exit74.thread, label %212 212: ; preds = %.preheader97 diff --git a/bench/faiss/optimized/pq4_fast_scan_search_1.cpp.ll b/bench/faiss/optimized/pq4_fast_scan_search_1.cpp.ll index 22823dac7a9..9aee85135c7 100644 --- a/bench/faiss/optimized/pq4_fast_scan_search_1.cpp.ll +++ b/bench/faiss/optimized/pq4_fast_scan_search_1.cpp.ll @@ -5759,7 +5759,7 @@ _ZNK5faiss11simd32uint8anERKNS_10simd256bitE.exit114: ; preds = %74 .sink.split.i: ; preds = %81 %84 = and i8 %83, 15 - %85 = icmp ult i64 %indvars.iv.i, 16 + %85 = icmp samesign ult i64 %indvars.iv.i, 16 %86 = or disjoint i8 %84, 16 %.sink17.i = select i1 %85, i8 %84, i8 %86 %87 = zext nneg i8 %.sink17.i to i64 @@ -5788,7 +5788,7 @@ _ZNK5faiss11simd32uint814lookup_2_lanesERKS0_.exit: ; preds = %90 .sink.split.i120: ; preds = %92 %95 = and i8 %94, 15 - %96 = icmp ult i64 %indvars.iv.i115, 16 + %96 = icmp samesign ult i64 %indvars.iv.i115, 16 %97 = or disjoint i8 %95, 16 %.sink17.i121 = select i1 %96, i8 %95, i8 %97 %98 = zext nneg i8 %.sink17.i121 to i64 @@ -5999,7 +5999,7 @@ _ZNK5faiss11simd32uint8anERKNS_10simd256bitE.exit154: ; preds = %156 .sink.split.i.i: ; preds = %163 %166 = and i8 %165, 15 - %167 = icmp ult i64 %indvars.iv.i.i155, 16 + %167 = icmp samesign ult i64 %indvars.iv.i.i155, 16 %168 = or disjoint i8 %166, 16 %.sink17.i.i = select i1 %167, i8 %166, i8 %168 %169 = zext nneg i8 %.sink17.i.i to i64 @@ -6134,7 +6134,7 @@ _ZN5faiss12simd16uint16pLERKS0_.exit171: ; preds = %201 .sink.split.i.i177: ; preds = %208 %211 = and i8 %210, 15 - %212 = icmp ult i64 %indvars.iv.i.i172, 16 + %212 = icmp samesign ult i64 %indvars.iv.i.i172, 16 %213 = or disjoint i8 %211, 16 %.sink17.i.i178 = select i1 %212, i8 %211, i8 %213 %214 = zext nneg i8 %.sink17.i.i178 to i64 @@ -6591,7 +6591,7 @@ _ZNK5faiss11simd32uint8anERKNS_10simd256bitE.exit114: ; preds = %75 .sink.split.i: ; preds = %82 %85 = and i8 %84, 15 - %86 = icmp ult i64 %indvars.iv.i, 16 + %86 = icmp samesign ult i64 %indvars.iv.i, 16 %87 = or disjoint i8 %85, 16 %.sink17.i = select i1 %86, i8 %85, i8 %87 %88 = zext nneg i8 %.sink17.i to i64 @@ -6620,7 +6620,7 @@ _ZNK5faiss11simd32uint814lookup_2_lanesERKS0_.exit: ; preds = %91 .sink.split.i120: ; preds = %93 %96 = and i8 %95, 15 - %97 = icmp ult i64 %indvars.iv.i115, 16 + %97 = icmp samesign ult i64 %indvars.iv.i115, 16 %98 = or disjoint i8 %96, 16 %.sink17.i121 = select i1 %97, i8 %96, i8 %98 %99 = zext nneg i8 %.sink17.i121 to i64 @@ -6853,7 +6853,7 @@ _ZNK5faiss11simd32uint8anERKNS_10simd256bitE.exit154: ; preds = %164 .sink.split.i.i: ; preds = %171 %174 = and i8 %173, 15 - %175 = icmp ult i64 %indvars.iv.i.i155, 16 + %175 = icmp samesign ult i64 %indvars.iv.i.i155, 16 %176 = or disjoint i8 %174, 16 %.sink17.i.i = select i1 %175, i8 %174, i8 %176 %177 = zext nneg i8 %.sink17.i.i to i64 @@ -6988,7 +6988,7 @@ _ZN5faiss12simd16uint16pLERKS0_.exit171: ; preds = %209 .sink.split.i.i177: ; preds = %216 %219 = and i8 %218, 15 - %220 = icmp ult i64 %indvars.iv.i.i172, 16 + %220 = icmp samesign ult i64 %indvars.iv.i.i172, 16 %221 = or disjoint i8 %219, 16 %.sink17.i.i178 = select i1 %220, i8 %219, i8 %221 %222 = zext nneg i8 %.sink17.i.i178 to i64 @@ -7460,7 +7460,7 @@ _ZNK5faiss11simd32uint8anERKNS_10simd256bitE.exit114: ; preds = %74 .sink.split.i: ; preds = %81 %84 = and i8 %83, 15 - %85 = icmp ult i64 %indvars.iv.i, 16 + %85 = icmp samesign ult i64 %indvars.iv.i, 16 %86 = or disjoint i8 %84, 16 %.sink17.i = select i1 %85, i8 %84, i8 %86 %87 = zext nneg i8 %.sink17.i to i64 @@ -7489,7 +7489,7 @@ _ZNK5faiss11simd32uint814lookup_2_lanesERKS0_.exit: ; preds = %90 .sink.split.i120: ; preds = %92 %95 = and i8 %94, 15 - %96 = icmp ult i64 %indvars.iv.i115, 16 + %96 = icmp samesign ult i64 %indvars.iv.i115, 16 %97 = or disjoint i8 %95, 16 %.sink17.i121 = select i1 %96, i8 %95, i8 %97 %98 = zext nneg i8 %.sink17.i121 to i64 @@ -7724,7 +7724,7 @@ _ZNK5faiss11simd32uint8anERKNS_10simd256bitE.exit154: ; preds = %163 .sink.split.i.i: ; preds = %170 %173 = and i8 %172, 15 - %174 = icmp ult i64 %indvars.iv.i.i155, 16 + %174 = icmp samesign ult i64 %indvars.iv.i.i155, 16 %175 = or disjoint i8 %173, 16 %.sink17.i.i = select i1 %174, i8 %173, i8 %175 %176 = zext nneg i8 %.sink17.i.i to i64 @@ -7860,7 +7860,7 @@ _ZN5faiss12simd16uint16pLERKS0_.exit171: ; preds = %209 .sink.split.i.i177: ; preds = %216 %219 = and i8 %218, 15 - %220 = icmp ult i64 %indvars.iv.i.i172, 16 + %220 = icmp samesign ult i64 %indvars.iv.i.i172, 16 %221 = or disjoint i8 %219, 16 %.sink17.i.i178 = select i1 %220, i8 %219, i8 %221 %222 = zext nneg i8 %.sink17.i.i178 to i64 @@ -8336,7 +8336,7 @@ _ZNK5faiss11simd32uint8anERKNS_10simd256bitE.exit114: ; preds = %74 .sink.split.i: ; preds = %81 %84 = and i8 %83, 15 - %85 = icmp ult i64 %indvars.iv.i, 16 + %85 = icmp samesign ult i64 %indvars.iv.i, 16 %86 = or disjoint i8 %84, 16 %.sink17.i = select i1 %85, i8 %84, i8 %86 %87 = zext nneg i8 %.sink17.i to i64 @@ -8365,7 +8365,7 @@ _ZNK5faiss11simd32uint814lookup_2_lanesERKS0_.exit: ; preds = %90 .sink.split.i120: ; preds = %92 %95 = and i8 %94, 15 - %96 = icmp ult i64 %indvars.iv.i115, 16 + %96 = icmp samesign ult i64 %indvars.iv.i115, 16 %97 = or disjoint i8 %95, 16 %.sink17.i121 = select i1 %96, i8 %95, i8 %97 %98 = zext nneg i8 %.sink17.i121 to i64 @@ -8600,7 +8600,7 @@ _ZNK5faiss11simd32uint8anERKNS_10simd256bitE.exit154: ; preds = %163 .sink.split.i.i: ; preds = %170 %173 = and i8 %172, 15 - %174 = icmp ult i64 %indvars.iv.i.i155, 16 + %174 = icmp samesign ult i64 %indvars.iv.i.i155, 16 %175 = or disjoint i8 %173, 16 %.sink17.i.i = select i1 %174, i8 %173, i8 %175 %176 = zext nneg i8 %.sink17.i.i to i64 @@ -8736,7 +8736,7 @@ _ZN5faiss12simd16uint16pLERKS0_.exit171: ; preds = %209 .sink.split.i.i177: ; preds = %216 %219 = and i8 %218, 15 - %220 = icmp ult i64 %indvars.iv.i.i172, 16 + %220 = icmp samesign ult i64 %indvars.iv.i.i172, 16 %221 = or disjoint i8 %219, 16 %.sink17.i.i178 = select i1 %220, i8 %219, i8 %221 %222 = zext nneg i8 %.sink17.i.i178 to i64 @@ -9212,7 +9212,7 @@ _ZNK5faiss11simd32uint8anERKNS_10simd256bitE.exit114: ; preds = %74 .sink.split.i: ; preds = %81 %84 = and i8 %83, 15 - %85 = icmp ult i64 %indvars.iv.i, 16 + %85 = icmp samesign ult i64 %indvars.iv.i, 16 %86 = or disjoint i8 %84, 16 %.sink17.i = select i1 %85, i8 %84, i8 %86 %87 = zext nneg i8 %.sink17.i to i64 @@ -9241,7 +9241,7 @@ _ZNK5faiss11simd32uint814lookup_2_lanesERKS0_.exit: ; preds = %90 .sink.split.i120: ; preds = %92 %95 = and i8 %94, 15 - %96 = icmp ult i64 %indvars.iv.i115, 16 + %96 = icmp samesign ult i64 %indvars.iv.i115, 16 %97 = or disjoint i8 %95, 16 %.sink17.i121 = select i1 %96, i8 %95, i8 %97 %98 = zext nneg i8 %.sink17.i121 to i64 @@ -9476,7 +9476,7 @@ _ZNK5faiss11simd32uint8anERKNS_10simd256bitE.exit154: ; preds = %163 .sink.split.i.i: ; preds = %170 %173 = and i8 %172, 15 - %174 = icmp ult i64 %indvars.iv.i.i155, 16 + %174 = icmp samesign ult i64 %indvars.iv.i.i155, 16 %175 = or disjoint i8 %173, 16 %.sink17.i.i = select i1 %174, i8 %173, i8 %175 %176 = zext nneg i8 %.sink17.i.i to i64 @@ -9612,7 +9612,7 @@ _ZN5faiss12simd16uint16pLERKS0_.exit171: ; preds = %209 .sink.split.i.i177: ; preds = %216 %219 = and i8 %218, 15 - %220 = icmp ult i64 %indvars.iv.i.i172, 16 + %220 = icmp samesign ult i64 %indvars.iv.i.i172, 16 %221 = or disjoint i8 %219, 16 %.sink17.i.i178 = select i1 %220, i8 %219, i8 %221 %222 = zext nneg i8 %.sink17.i.i178 to i64 @@ -10104,7 +10104,7 @@ _ZNK5faiss11simd32uint8anERKNS_10simd256bitE.exit118: ; preds = %80 .sink.split.i: ; preds = %89 %92 = and i8 %91, 15 - %93 = icmp ult i64 %indvars.iv.i, 16 + %93 = icmp samesign ult i64 %indvars.iv.i, 16 %94 = or disjoint i8 %92, 16 %.sink17.i = select i1 %93, i8 %92, i8 %94 %95 = zext nneg i8 %.sink17.i to i64 @@ -10133,7 +10133,7 @@ _ZNK5faiss11simd32uint814lookup_2_lanesERKS0_.exit: ; preds = %98 .sink.split.i124: ; preds = %100 %103 = and i8 %102, 15 - %104 = icmp ult i64 %indvars.iv.i119, 16 + %104 = icmp samesign ult i64 %indvars.iv.i119, 16 %105 = or disjoint i8 %103, 16 %.sink17.i125 = select i1 %104, i8 %103, i8 %105 %106 = zext nneg i8 %.sink17.i125 to i64 @@ -10371,7 +10371,7 @@ _ZNK5faiss11simd32uint8anERKNS_10simd256bitE.exit158: ; preds = %168 .sink.split.i.i: ; preds = %178 %181 = and i8 %180, 15 - %182 = icmp ult i64 %indvars.iv.i.i159, 16 + %182 = icmp samesign ult i64 %indvars.iv.i.i159, 16 %183 = or disjoint i8 %181, 16 %.sink17.i.i = select i1 %182, i8 %181, i8 %183 %184 = zext nneg i8 %.sink17.i.i to i64 @@ -10506,7 +10506,7 @@ _ZN5faiss12simd16uint16pLERKS0_.exit175: ; preds = %216 .sink.split.i.i181: ; preds = %223 %226 = and i8 %225, 15 - %227 = icmp ult i64 %indvars.iv.i.i176, 16 + %227 = icmp samesign ult i64 %indvars.iv.i.i176, 16 %228 = or disjoint i8 %226, 16 %.sink17.i.i182 = select i1 %227, i8 %226, i8 %228 %229 = zext nneg i8 %.sink17.i.i182 to i64 @@ -10994,7 +10994,7 @@ _ZNK5faiss11simd32uint8anERKNS_10simd256bitE.exit116: ; preds = %80 .sink.split.i: ; preds = %89 %92 = and i8 %91, 15 - %93 = icmp ult i64 %indvars.iv.i, 16 + %93 = icmp samesign ult i64 %indvars.iv.i, 16 %94 = or disjoint i8 %92, 16 %.sink17.i = select i1 %93, i8 %92, i8 %94 %95 = zext nneg i8 %.sink17.i to i64 @@ -11023,7 +11023,7 @@ _ZNK5faiss11simd32uint814lookup_2_lanesERKS0_.exit: ; preds = %98 .sink.split.i122: ; preds = %100 %103 = and i8 %102, 15 - %104 = icmp ult i64 %indvars.iv.i117, 16 + %104 = icmp samesign ult i64 %indvars.iv.i117, 16 %105 = or disjoint i8 %103, 16 %.sink17.i123 = select i1 %104, i8 %103, i8 %105 %106 = zext nneg i8 %.sink17.i123 to i64 @@ -11277,7 +11277,7 @@ _ZNK5faiss11simd32uint8anERKNS_10simd256bitE.exit156: ; preds = %176 .sink.split.i.i: ; preds = %185 %188 = and i8 %187, 15 - %189 = icmp ult i64 %indvars.iv.i.i157, 16 + %189 = icmp samesign ult i64 %indvars.iv.i.i157, 16 %190 = or disjoint i8 %188, 16 %.sink17.i.i = select i1 %189, i8 %188, i8 %190 %191 = zext nneg i8 %.sink17.i.i to i64 @@ -11413,7 +11413,7 @@ _ZN5faiss12simd16uint16pLERKS0_.exit173: ; preds = %224 .sink.split.i.i179: ; preds = %231 %234 = and i8 %233, 15 - %235 = icmp ult i64 %indvars.iv.i.i174, 16 + %235 = icmp samesign ult i64 %indvars.iv.i.i174, 16 %236 = or disjoint i8 %234, 16 %.sink17.i.i180 = select i1 %235, i8 %234, i8 %236 %237 = zext nneg i8 %.sink17.i.i180 to i64 @@ -11917,7 +11917,7 @@ _ZNK5faiss11simd32uint8anERKNS_10simd256bitE.exit118: ; preds = %80 .sink.split.i: ; preds = %89 %92 = and i8 %91, 15 - %93 = icmp ult i64 %indvars.iv.i, 16 + %93 = icmp samesign ult i64 %indvars.iv.i, 16 %94 = or disjoint i8 %92, 16 %.sink17.i = select i1 %93, i8 %92, i8 %94 %95 = zext nneg i8 %.sink17.i to i64 @@ -11946,7 +11946,7 @@ _ZNK5faiss11simd32uint814lookup_2_lanesERKS0_.exit: ; preds = %98 .sink.split.i124: ; preds = %100 %103 = and i8 %102, 15 - %104 = icmp ult i64 %indvars.iv.i119, 16 + %104 = icmp samesign ult i64 %indvars.iv.i119, 16 %105 = or disjoint i8 %103, 16 %.sink17.i125 = select i1 %104, i8 %103, i8 %105 %106 = zext nneg i8 %.sink17.i125 to i64 @@ -12188,7 +12188,7 @@ _ZNK5faiss11simd32uint8anERKNS_10simd256bitE.exit158: ; preds = %169 .sink.split.i.i: ; preds = %179 %182 = and i8 %181, 15 - %183 = icmp ult i64 %indvars.iv.i.i159, 16 + %183 = icmp samesign ult i64 %indvars.iv.i.i159, 16 %184 = or disjoint i8 %182, 16 %.sink17.i.i = select i1 %183, i8 %182, i8 %184 %185 = zext nneg i8 %.sink17.i.i to i64 @@ -12324,7 +12324,7 @@ _ZN5faiss12simd16uint16pLERKS0_.exit175: ; preds = %218 .sink.split.i.i181: ; preds = %225 %228 = and i8 %227, 15 - %229 = icmp ult i64 %indvars.iv.i.i176, 16 + %229 = icmp samesign ult i64 %indvars.iv.i.i176, 16 %230 = or disjoint i8 %228, 16 %.sink17.i.i182 = select i1 %229, i8 %228, i8 %230 %231 = zext nneg i8 %.sink17.i.i182 to i64 @@ -12819,7 +12819,7 @@ _ZNK5faiss11simd32uint8anERKNS_10simd256bitE.exit118: ; preds = %80 .sink.split.i: ; preds = %89 %92 = and i8 %91, 15 - %93 = icmp ult i64 %indvars.iv.i, 16 + %93 = icmp samesign ult i64 %indvars.iv.i, 16 %94 = or disjoint i8 %92, 16 %.sink17.i = select i1 %93, i8 %92, i8 %94 %95 = zext nneg i8 %.sink17.i to i64 @@ -12848,7 +12848,7 @@ _ZNK5faiss11simd32uint814lookup_2_lanesERKS0_.exit: ; preds = %98 .sink.split.i124: ; preds = %100 %103 = and i8 %102, 15 - %104 = icmp ult i64 %indvars.iv.i119, 16 + %104 = icmp samesign ult i64 %indvars.iv.i119, 16 %105 = or disjoint i8 %103, 16 %.sink17.i125 = select i1 %104, i8 %103, i8 %105 %106 = zext nneg i8 %.sink17.i125 to i64 @@ -13090,7 +13090,7 @@ _ZNK5faiss11simd32uint8anERKNS_10simd256bitE.exit158: ; preds = %169 .sink.split.i.i: ; preds = %179 %182 = and i8 %181, 15 - %183 = icmp ult i64 %indvars.iv.i.i159, 16 + %183 = icmp samesign ult i64 %indvars.iv.i.i159, 16 %184 = or disjoint i8 %182, 16 %.sink17.i.i = select i1 %183, i8 %182, i8 %184 %185 = zext nneg i8 %.sink17.i.i to i64 @@ -13226,7 +13226,7 @@ _ZN5faiss12simd16uint16pLERKS0_.exit175: ; preds = %218 .sink.split.i.i181: ; preds = %225 %228 = and i8 %227, 15 - %229 = icmp ult i64 %indvars.iv.i.i176, 16 + %229 = icmp samesign ult i64 %indvars.iv.i.i176, 16 %230 = or disjoint i8 %228, 16 %.sink17.i.i182 = select i1 %229, i8 %228, i8 %230 %231 = zext nneg i8 %.sink17.i.i182 to i64 @@ -13658,7 +13658,7 @@ _ZNK5faiss11simd32uint8anERKNS_10simd256bitE.exit112: ; preds = %49 .sink.split.i: ; preds = %56 %59 = and i8 %58, 15 - %60 = icmp ult i64 %indvars.iv.i, 16 + %60 = icmp samesign ult i64 %indvars.iv.i, 16 %61 = or disjoint i8 %59, 16 %.sink17.i = select i1 %60, i8 %59, i8 %61 %62 = zext nneg i8 %.sink17.i to i64 @@ -13687,7 +13687,7 @@ _ZNK5faiss11simd32uint814lookup_2_lanesERKS0_.exit: ; preds = %65 .sink.split.i118: ; preds = %67 %70 = and i8 %69, 15 - %71 = icmp ult i64 %indvars.iv.i113, 16 + %71 = icmp samesign ult i64 %indvars.iv.i113, 16 %72 = or disjoint i8 %70, 16 %.sink17.i119 = select i1 %71, i8 %70, i8 %72 %73 = zext nneg i8 %.sink17.i119 to i64 @@ -14097,7 +14097,7 @@ _ZNK5faiss11simd32uint8anERKNS_10simd256bitE.exit112: ; preds = %49 .sink.split.i: ; preds = %56 %59 = and i8 %58, 15 - %60 = icmp ult i64 %indvars.iv.i, 16 + %60 = icmp samesign ult i64 %indvars.iv.i, 16 %61 = or disjoint i8 %59, 16 %.sink17.i = select i1 %60, i8 %59, i8 %61 %62 = zext nneg i8 %.sink17.i to i64 @@ -14126,7 +14126,7 @@ _ZNK5faiss11simd32uint814lookup_2_lanesERKS0_.exit: ; preds = %65 .sink.split.i118: ; preds = %67 %70 = and i8 %69, 15 - %71 = icmp ult i64 %indvars.iv.i113, 16 + %71 = icmp samesign ult i64 %indvars.iv.i113, 16 %72 = or disjoint i8 %70, 16 %.sink17.i119 = select i1 %71, i8 %70, i8 %72 %73 = zext nneg i8 %.sink17.i119 to i64 @@ -14554,7 +14554,7 @@ _ZNK5faiss11simd32uint8anERKNS_10simd256bitE.exit112: ; preds = %48 .sink.split.i: ; preds = %55 %58 = and i8 %57, 15 - %59 = icmp ult i64 %indvars.iv.i, 16 + %59 = icmp samesign ult i64 %indvars.iv.i, 16 %60 = or disjoint i8 %58, 16 %.sink17.i = select i1 %59, i8 %58, i8 %60 %61 = zext nneg i8 %.sink17.i to i64 @@ -14583,7 +14583,7 @@ _ZNK5faiss11simd32uint814lookup_2_lanesERKS0_.exit: ; preds = %64 .sink.split.i118: ; preds = %66 %69 = and i8 %68, 15 - %70 = icmp ult i64 %indvars.iv.i113, 16 + %70 = icmp samesign ult i64 %indvars.iv.i113, 16 %71 = or disjoint i8 %69, 16 %.sink17.i119 = select i1 %70, i8 %69, i8 %71 %72 = zext nneg i8 %.sink17.i119 to i64 @@ -15016,7 +15016,7 @@ _ZNK5faiss11simd32uint8anERKNS_10simd256bitE.exit112: ; preds = %48 .sink.split.i: ; preds = %55 %58 = and i8 %57, 15 - %59 = icmp ult i64 %indvars.iv.i, 16 + %59 = icmp samesign ult i64 %indvars.iv.i, 16 %60 = or disjoint i8 %58, 16 %.sink17.i = select i1 %59, i8 %58, i8 %60 %61 = zext nneg i8 %.sink17.i to i64 @@ -15045,7 +15045,7 @@ _ZNK5faiss11simd32uint814lookup_2_lanesERKS0_.exit: ; preds = %64 .sink.split.i118: ; preds = %66 %69 = and i8 %68, 15 - %70 = icmp ult i64 %indvars.iv.i113, 16 + %70 = icmp samesign ult i64 %indvars.iv.i113, 16 %71 = or disjoint i8 %69, 16 %.sink17.i119 = select i1 %70, i8 %69, i8 %71 %72 = zext nneg i8 %.sink17.i119 to i64 @@ -15478,7 +15478,7 @@ _ZNK5faiss11simd32uint8anERKNS_10simd256bitE.exit112: ; preds = %48 .sink.split.i: ; preds = %55 %58 = and i8 %57, 15 - %59 = icmp ult i64 %indvars.iv.i, 16 + %59 = icmp samesign ult i64 %indvars.iv.i, 16 %60 = or disjoint i8 %58, 16 %.sink17.i = select i1 %59, i8 %58, i8 %60 %61 = zext nneg i8 %.sink17.i to i64 @@ -15507,7 +15507,7 @@ _ZNK5faiss11simd32uint814lookup_2_lanesERKS0_.exit: ; preds = %64 .sink.split.i118: ; preds = %66 %69 = and i8 %68, 15 - %70 = icmp ult i64 %indvars.iv.i113, 16 + %70 = icmp samesign ult i64 %indvars.iv.i113, 16 %71 = or disjoint i8 %69, 16 %.sink17.i119 = select i1 %70, i8 %69, i8 %71 %72 = zext nneg i8 %.sink17.i119 to i64 @@ -15955,7 +15955,7 @@ _ZNK5faiss11simd32uint8anERKNS_10simd256bitE.exit114: ; preds = %54 .sink.split.i: ; preds = %63 %66 = and i8 %65, 15 - %67 = icmp ult i64 %indvars.iv.i, 16 + %67 = icmp samesign ult i64 %indvars.iv.i, 16 %68 = or disjoint i8 %66, 16 %.sink17.i = select i1 %67, i8 %66, i8 %68 %69 = zext nneg i8 %.sink17.i to i64 @@ -15984,7 +15984,7 @@ _ZNK5faiss11simd32uint814lookup_2_lanesERKS0_.exit: ; preds = %72 .sink.split.i120: ; preds = %74 %77 = and i8 %76, 15 - %78 = icmp ult i64 %indvars.iv.i115, 16 + %78 = icmp samesign ult i64 %indvars.iv.i115, 16 %79 = or disjoint i8 %77, 16 %.sink17.i121 = select i1 %78, i8 %77, i8 %79 %80 = zext nneg i8 %.sink17.i121 to i64 @@ -16422,7 +16422,7 @@ _ZNK5faiss11simd32uint8anERKNS_10simd256bitE.exit112: ; preds = %54 .sink.split.i: ; preds = %63 %66 = and i8 %65, 15 - %67 = icmp ult i64 %indvars.iv.i, 16 + %67 = icmp samesign ult i64 %indvars.iv.i, 16 %68 = or disjoint i8 %66, 16 %.sink17.i = select i1 %67, i8 %66, i8 %68 %69 = zext nneg i8 %.sink17.i to i64 @@ -16451,7 +16451,7 @@ _ZNK5faiss11simd32uint814lookup_2_lanesERKS0_.exit: ; preds = %72 .sink.split.i118: ; preds = %74 %77 = and i8 %76, 15 - %78 = icmp ult i64 %indvars.iv.i113, 16 + %78 = icmp samesign ult i64 %indvars.iv.i113, 16 %79 = or disjoint i8 %77, 16 %.sink17.i119 = select i1 %78, i8 %77, i8 %79 %80 = zext nneg i8 %.sink17.i119 to i64 @@ -16913,7 +16913,7 @@ _ZNK5faiss11simd32uint8anERKNS_10simd256bitE.exit114: ; preds = %54 .sink.split.i: ; preds = %63 %66 = and i8 %65, 15 - %67 = icmp ult i64 %indvars.iv.i, 16 + %67 = icmp samesign ult i64 %indvars.iv.i, 16 %68 = or disjoint i8 %66, 16 %.sink17.i = select i1 %67, i8 %66, i8 %68 %69 = zext nneg i8 %.sink17.i to i64 @@ -16942,7 +16942,7 @@ _ZNK5faiss11simd32uint814lookup_2_lanesERKS0_.exit: ; preds = %72 .sink.split.i120: ; preds = %74 %77 = and i8 %76, 15 - %78 = icmp ult i64 %indvars.iv.i115, 16 + %78 = icmp samesign ult i64 %indvars.iv.i115, 16 %79 = or disjoint i8 %77, 16 %.sink17.i121 = select i1 %78, i8 %77, i8 %79 %80 = zext nneg i8 %.sink17.i121 to i64 @@ -17390,7 +17390,7 @@ _ZNK5faiss11simd32uint8anERKNS_10simd256bitE.exit114: ; preds = %54 .sink.split.i: ; preds = %63 %66 = and i8 %65, 15 - %67 = icmp ult i64 %indvars.iv.i, 16 + %67 = icmp samesign ult i64 %indvars.iv.i, 16 %68 = or disjoint i8 %66, 16 %.sink17.i = select i1 %67, i8 %66, i8 %68 %69 = zext nneg i8 %.sink17.i to i64 @@ -17419,7 +17419,7 @@ _ZNK5faiss11simd32uint814lookup_2_lanesERKS0_.exit: ; preds = %72 .sink.split.i120: ; preds = %74 %77 = and i8 %76, 15 - %78 = icmp ult i64 %indvars.iv.i115, 16 + %78 = icmp samesign ult i64 %indvars.iv.i115, 16 %79 = or disjoint i8 %77, 16 %.sink17.i121 = select i1 %78, i8 %77, i8 %79 %80 = zext nneg i8 %.sink17.i121 to i64 diff --git a/bench/flac/optimized/lpc_intrin_avx2.c.ll b/bench/flac/optimized/lpc_intrin_avx2.c.ll index e5574792418..e59f8ef6a1b 100644 --- a/bench/flac/optimized/lpc_intrin_avx2.c.ll +++ b/bench/flac/optimized/lpc_intrin_avx2.c.ll @@ -216,7 +216,7 @@ for.body: ; preds = %for.body.lr.ph, %fo %sub.i2977 = sub <8 x i32> %50, %49 store <8 x i32> %sub.i2977, ptr %add.ptr159, align 1 %indvars.iv.next1368 = add nuw nsw i64 %indvars.iv1367, 8 - %cmp41 = icmp ult i64 %indvars.iv.next1368, %24 + %cmp41 = icmp samesign ult i64 %indvars.iv.next1368, %24 br i1 %cmp41, label %for.body, label %if.end1312.loopexit, !llvm.loop !4 if.else: ; preds = %if.then4 @@ -344,7 +344,7 @@ for.body214: ; preds = %for.body214.lr.ph, %sub.i2970 = sub <8 x i32> %97, %96 store <8 x i32> %sub.i2970, ptr %add.ptr327, align 1 %indvars.iv.next1365 = add nuw nsw i64 %indvars.iv1364, 8 - %cmp213 = icmp ult i64 %indvars.iv.next1365, %73 + %cmp213 = icmp samesign ult i64 %indvars.iv.next1365, %73 br i1 %cmp213, label %for.body214, label %if.end1312.loopexit1321, !llvm.loop !6 if.else338: ; preds = %if.then2 @@ -466,7 +466,7 @@ for.body384: ; preds = %for.body384.lr.ph, %sub.i2963 = sub <8 x i32> %140, %139 store <8 x i32> %sub.i2963, ptr %add.ptr487, align 1 %indvars.iv.next1362 = add nuw nsw i64 %indvars.iv1361, 8 - %cmp383 = icmp ult i64 %indvars.iv.next1362, %118 + %cmp383 = icmp samesign ult i64 %indvars.iv.next1362, %118 br i1 %cmp383, label %for.body384, label %if.end1312.loopexit1322, !llvm.loop !7 if.else498: ; preds = %if.else338 @@ -574,7 +574,7 @@ for.body538: ; preds = %for.body538.lr.ph, %sub.i2956 = sub <8 x i32> %179, %178 store <8 x i32> %sub.i2956, ptr %add.ptr631, align 1 %indvars.iv.next1359 = add nuw nsw i64 %indvars.iv1358, 8 - %cmp537 = icmp ult i64 %indvars.iv.next1359, %159 + %cmp537 = icmp samesign ult i64 %indvars.iv.next1359, %159 br i1 %cmp537, label %for.body538, label %if.end1312.loopexit1323, !llvm.loop !8 if.else644: ; preds = %if.then @@ -684,7 +684,7 @@ for.body686: ; preds = %for.body686.lr.ph, %sub.i2949 = sub <8 x i32> %214, %213 store <8 x i32> %sub.i2949, ptr %add.ptr769, align 1 %indvars.iv.next1356 = add nuw nsw i64 %indvars.iv1355, 8 - %cmp685 = icmp ult i64 %indvars.iv.next1356, %196 + %cmp685 = icmp samesign ult i64 %indvars.iv.next1356, %196 br i1 %cmp685, label %for.body686, label %if.end1312.loopexit1324, !llvm.loop !9 if.else780: ; preds = %if.then648 @@ -772,7 +772,7 @@ for.body812: ; preds = %for.body812.lr.ph, %sub.i2942 = sub <8 x i32> %245, %244 store <8 x i32> %sub.i2942, ptr %add.ptr885, align 1 %indvars.iv.next1353 = add nuw nsw i64 %indvars.iv1352, 8 - %cmp811 = icmp ult i64 %indvars.iv.next1353, %229 + %cmp811 = icmp samesign ult i64 %indvars.iv.next1353, %229 br i1 %cmp811, label %for.body812, label %if.end1312.loopexit1325, !llvm.loop !10 if.else897: ; preds = %if.then646 @@ -854,7 +854,7 @@ for.body927: ; preds = %for.body927.lr.ph, %sub.i2935 = sub <8 x i32> %272, %271 store <8 x i32> %sub.i2935, ptr %add.ptr990, align 1 %indvars.iv.next1350 = add nuw nsw i64 %indvars.iv1349, 8 - %cmp926 = icmp ult i64 %indvars.iv.next1350, %258 + %cmp926 = icmp samesign ult i64 %indvars.iv.next1350, %258 br i1 %cmp926, label %for.body927, label %if.end1312.loopexit1326, !llvm.loop !11 if.else1001: ; preds = %if.else897 @@ -922,7 +922,7 @@ for.body1025: ; preds = %for.body1025.lr.ph, %sub.i2928 = sub <8 x i32> %295, %294 store <8 x i32> %sub.i2928, ptr %add.ptr1078, align 1 %indvars.iv.next1347 = add nuw nsw i64 %indvars.iv1346, 8 - %cmp1024 = icmp ult i64 %indvars.iv.next1347, %283 + %cmp1024 = icmp samesign ult i64 %indvars.iv.next1347, %283 br i1 %cmp1024, label %for.body1025, label %if.end1312.loopexit1327, !llvm.loop !12 if.else1091: ; preds = %if.else644 @@ -988,7 +988,7 @@ for.body1115: ; preds = %for.body1115.lr.ph, %sub.i2921 = sub <8 x i32> %314, %313 store <8 x i32> %sub.i2921, ptr %add.ptr1158, align 1 %indvars.iv.next1344 = add nuw nsw i64 %indvars.iv1343, 8 - %cmp1114 = icmp ult i64 %indvars.iv.next1344, %304 + %cmp1114 = icmp samesign ult i64 %indvars.iv.next1344, %304 br i1 %cmp1114, label %for.body1115, label %if.end1312.loopexit1328, !llvm.loop !13 if.else1169: ; preds = %if.then1093 @@ -1036,7 +1036,7 @@ for.body1185: ; preds = %for.body1185.lr.ph, %sub.i2914 = sub <8 x i32> %329, %328 store <8 x i32> %sub.i2914, ptr %add.ptr1218, align 1 %indvars.iv.next1341 = add nuw nsw i64 %indvars.iv1340, 8 - %cmp1184 = icmp ult i64 %indvars.iv.next1341, %321 + %cmp1184 = icmp samesign ult i64 %indvars.iv.next1341, %321 br i1 %cmp1184, label %for.body1185, label %if.end1312.loopexit1329, !llvm.loop !14 if.else1230: ; preds = %if.else1091 @@ -1078,7 +1078,7 @@ for.body1244: ; preds = %for.body1244.lr.ph, %sub.i2907 = sub <8 x i32> %340, %339 store <8 x i32> %sub.i2907, ptr %add.ptr1267, align 1 %indvars.iv.next1338 = add nuw nsw i64 %indvars.iv1337, 8 - %cmp1243 = icmp ult i64 %indvars.iv.next1338, %334 + %cmp1243 = icmp samesign ult i64 %indvars.iv.next1338, %334 br i1 %cmp1243, label %for.body1244, label %if.end1312.loopexit1330, !llvm.loop !15 if.else1278: ; preds = %if.else1230 @@ -1106,7 +1106,7 @@ for.body1286: ; preds = %for.body1286.lr.ph, %sub.i = sub <8 x i32> %347, %346 store <8 x i32> %sub.i, ptr %add.ptr1298, align 1 %indvars.iv.next1335 = add nuw nsw i64 %indvars.iv1334, 8 - %cmp1285 = icmp ult i64 %indvars.iv.next1335, %343 + %cmp1285 = icmp samesign ult i64 %indvars.iv.next1335, %343 br i1 %cmp1285, label %for.body1286, label %if.end1312.loopexit1331, !llvm.loop !16 if.end1312.loopexit: ; preds = %for.body @@ -1795,7 +1795,7 @@ for.body: ; preds = %for.body.preheader, %sub.i2432 = sub <8 x i32> %26, %25 store <8 x i32> %sub.i2432, ptr %add.ptr148, align 1 %indvars.iv.next1368 = add nuw nsw i64 %indvars.iv1367, 8 - %cmp30 = icmp ult i64 %indvars.iv.next1368, %12 + %cmp30 = icmp samesign ult i64 %indvars.iv.next1368, %12 br i1 %cmp30, label %for.body, label %if.end1235.loopexit, !llvm.loop !19 if.else: ; preds = %if.then4 @@ -1859,7 +1859,7 @@ for.body192: ; preds = %for.body192.prehead %sub.i2425 = sub <8 x i32> %40, %39 store <8 x i32> %sub.i2425, ptr %add.ptr305, align 1 %indvars.iv.next1365 = add nuw nsw i64 %indvars.iv1364, 8 - %cmp191 = icmp ult i64 %indvars.iv.next1365, %27 + %cmp191 = icmp samesign ult i64 %indvars.iv.next1365, %27 br i1 %cmp191, label %for.body192, label %if.end1235.loopexit1321, !llvm.loop !20 if.else316: ; preds = %if.then2 @@ -1927,7 +1927,7 @@ for.body352: ; preds = %for.body352.prehead %sub.i2418 = sub <8 x i32> %54, %53 store <8 x i32> %sub.i2418, ptr %add.ptr455, align 1 %indvars.iv.next1362 = add nuw nsw i64 %indvars.iv1361, 8 - %cmp351 = icmp ult i64 %indvars.iv.next1362, %42 + %cmp351 = icmp samesign ult i64 %indvars.iv.next1362, %42 br i1 %cmp351, label %for.body352, label %if.end1235.loopexit1322, !llvm.loop !21 if.else466: ; preds = %if.else316 @@ -1983,7 +1983,7 @@ for.body497: ; preds = %for.body497.prehead %sub.i2411 = sub <8 x i32> %66, %65 store <8 x i32> %sub.i2411, ptr %add.ptr590, align 1 %indvars.iv.next1359 = add nuw nsw i64 %indvars.iv1358, 8 - %cmp496 = icmp ult i64 %indvars.iv.next1359, %55 + %cmp496 = icmp samesign ult i64 %indvars.iv.next1359, %55 br i1 %cmp496, label %for.body497, label %if.end1235.loopexit1323, !llvm.loop !22 if.else603: ; preds = %if.then @@ -2075,7 +2075,7 @@ for.body637: ; preds = %for.body637.prehead %sub.i2404 = sub <8 x i32> %84, %83 store <8 x i32> %sub.i2404, ptr %add.ptr720, align 1 %indvars.iv.next1356 = add nuw nsw i64 %indvars.iv1355, 8 - %cmp636 = icmp ult i64 %indvars.iv.next1356, %74 + %cmp636 = icmp samesign ult i64 %indvars.iv.next1356, %74 br i1 %cmp636, label %for.body637, label %if.end1235.loopexit1324, !llvm.loop !23 if.else731: ; preds = %if.then607 @@ -2123,7 +2123,7 @@ for.body756: ; preds = %for.body756.prehead %sub.i2397 = sub <8 x i32> %94, %93 store <8 x i32> %sub.i2397, ptr %add.ptr829, align 1 %indvars.iv.next1353 = add nuw nsw i64 %indvars.iv1352, 8 - %cmp755 = icmp ult i64 %indvars.iv.next1353, %85 + %cmp755 = icmp samesign ult i64 %indvars.iv.next1353, %85 br i1 %cmp755, label %for.body756, label %if.end1235.loopexit1325, !llvm.loop !24 if.else841: ; preds = %if.then605 @@ -2175,7 +2175,7 @@ for.body865: ; preds = %for.body865.prehead %sub.i2390 = sub <8 x i32> %104, %103 store <8 x i32> %sub.i2390, ptr %add.ptr928, align 1 %indvars.iv.next1350 = add nuw nsw i64 %indvars.iv1349, 8 - %cmp864 = icmp ult i64 %indvars.iv.next1350, %96 + %cmp864 = icmp samesign ult i64 %indvars.iv.next1350, %96 br i1 %cmp864, label %for.body865, label %if.end1235.loopexit1326, !llvm.loop !25 if.else939: ; preds = %if.else841 @@ -2215,7 +2215,7 @@ for.body958: ; preds = %for.body958.prehead %sub.i2383 = sub <8 x i32> %112, %111 store <8 x i32> %sub.i2383, ptr %add.ptr1011, align 1 %indvars.iv.next1347 = add nuw nsw i64 %indvars.iv1346, 8 - %cmp957 = icmp ult i64 %indvars.iv.next1347, %105 + %cmp957 = icmp samesign ult i64 %indvars.iv.next1347, %105 br i1 %cmp957, label %for.body958, label %if.end1235.loopexit1327, !llvm.loop !26 if.else1024: ; preds = %if.else603 @@ -2271,7 +2271,7 @@ for.body1044: ; preds = %for.body1044.prehea %sub.i2376 = sub <8 x i32> %122, %121 store <8 x i32> %sub.i2376, ptr %add.ptr1087, align 1 %indvars.iv.next1344 = add nuw nsw i64 %indvars.iv1343, 8 - %cmp1043 = icmp ult i64 %indvars.iv.next1344, %116 + %cmp1043 = icmp samesign ult i64 %indvars.iv.next1344, %116 br i1 %cmp1043, label %for.body1044, label %if.end1235.loopexit1328, !llvm.loop !27 if.else1098: ; preds = %if.then1026 @@ -2303,7 +2303,7 @@ for.body1111: ; preds = %for.body1111.prehea %sub.i2369 = sub <8 x i32> %128, %127 store <8 x i32> %sub.i2369, ptr %add.ptr1144, align 1 %indvars.iv.next1341 = add nuw nsw i64 %indvars.iv1340, 8 - %cmp1110 = icmp ult i64 %indvars.iv.next1341, %123 + %cmp1110 = icmp samesign ult i64 %indvars.iv.next1341, %123 br i1 %cmp1110, label %for.body1111, label %if.end1235.loopexit1329, !llvm.loop !28 if.else1156: ; preds = %if.else1024 @@ -2339,7 +2339,7 @@ for.body1168: ; preds = %for.body1168.prehea %sub.i2362 = sub <8 x i32> %134, %133 store <8 x i32> %sub.i2362, ptr %add.ptr1191, align 1 %indvars.iv.next1338 = add nuw nsw i64 %indvars.iv1337, 8 - %cmp1167 = icmp ult i64 %indvars.iv.next1338, %130 + %cmp1167 = icmp samesign ult i64 %indvars.iv.next1338, %130 br i1 %cmp1167, label %for.body1168, label %if.end1235.loopexit1330, !llvm.loop !29 if.else1202: ; preds = %if.else1156 @@ -2363,7 +2363,7 @@ for.body1209: ; preds = %for.body1209.prehea %sub.i = sub <8 x i32> %138, %137 store <8 x i32> %sub.i, ptr %add.ptr1221, align 1 %indvars.iv.next1335 = add nuw nsw i64 %indvars.iv1334, 8 - %cmp1208 = icmp ult i64 %indvars.iv.next1335, %135 + %cmp1208 = icmp samesign ult i64 %indvars.iv.next1335, %135 br i1 %cmp1208, label %for.body1209, label %if.end1235.loopexit1331, !llvm.loop !30 if.end1235.loopexit: ; preds = %for.body @@ -3079,7 +3079,7 @@ for.body: ; preds = %for.body.lr.ph, %fo %sub.i3483 = sub <4 x i32> %63, %64 store <4 x i32> %sub.i3483, ptr %add.ptr176, align 1 %indvars.iv.next1079 = add nuw nsw i64 %indvars.iv1078, 4 - %cmp43 = icmp ult i64 %indvars.iv.next1079, %25 + %cmp43 = icmp samesign ult i64 %indvars.iv.next1079, %25 br i1 %cmp43, label %for.body, label %if.end1416.loopexit, !llvm.loop !33 if.else: ; preds = %if.then5 @@ -3208,7 +3208,7 @@ for.body230: ; preds = %for.body230.lr.ph, %sub.i3480 = sub <4 x i32> %122, %123 store <4 x i32> %sub.i3480, ptr %add.ptr357, align 1 %indvars.iv.next1076 = add nuw nsw i64 %indvars.iv1075, 4 - %cmp229 = icmp ult i64 %indvars.iv.next1076, %87 + %cmp229 = icmp samesign ult i64 %indvars.iv.next1076, %87 br i1 %cmp229, label %for.body230, label %if.end1416.loopexit1032, !llvm.loop !34 if.else367: ; preds = %if.then3 @@ -3331,7 +3331,7 @@ for.body413: ; preds = %for.body413.lr.ph, %sub.i3477 = sub <4 x i32> %176, %177 store <4 x i32> %sub.i3477, ptr %add.ptr529, align 1 %indvars.iv.next1073 = add nuw nsw i64 %indvars.iv1072, 4 - %cmp412 = icmp ult i64 %indvars.iv.next1073, %144 + %cmp412 = icmp samesign ult i64 %indvars.iv.next1073, %144 br i1 %cmp412, label %for.body413, label %if.end1416.loopexit1033, !llvm.loop !35 if.else539: ; preds = %if.else367 @@ -3440,7 +3440,7 @@ for.body579: ; preds = %for.body579.lr.ph, %sub.i3474 = sub <4 x i32> %225, %226 store <4 x i32> %sub.i3474, ptr %add.ptr684, align 1 %indvars.iv.next1070 = add nuw nsw i64 %indvars.iv1069, 4 - %cmp578 = icmp ult i64 %indvars.iv.next1070, %196 + %cmp578 = icmp samesign ult i64 %indvars.iv.next1070, %196 br i1 %cmp578, label %for.body579, label %if.end1416.loopexit1034, !llvm.loop !36 if.else696: ; preds = %if.then @@ -3551,7 +3551,7 @@ for.body738: ; preds = %for.body738.lr.ph, %sub.i3471 = sub <4 x i32> %269, %270 store <4 x i32> %sub.i3471, ptr %add.ptr832, align 1 %indvars.iv.next1067 = add nuw nsw i64 %indvars.iv1066, 4 - %cmp737 = icmp ult i64 %indvars.iv.next1067, %243 + %cmp737 = icmp samesign ult i64 %indvars.iv.next1067, %243 br i1 %cmp737, label %for.body738, label %if.end1416.loopexit1035, !llvm.loop !37 if.else842: ; preds = %if.then700 @@ -3640,7 +3640,7 @@ for.body874: ; preds = %for.body874.lr.ph, %sub.i3468 = sub <4 x i32> %308, %309 store <4 x i32> %sub.i3468, ptr %add.ptr957, align 1 %indvars.iv.next1064 = add nuw nsw i64 %indvars.iv1063, 4 - %cmp873 = icmp ult i64 %indvars.iv.next1064, %285 + %cmp873 = icmp samesign ult i64 %indvars.iv.next1064, %285 br i1 %cmp873, label %for.body874, label %if.end1416.loopexit1036, !llvm.loop !38 if.else968: ; preds = %if.then698 @@ -3723,7 +3723,7 @@ for.body998: ; preds = %for.body998.lr.ph, %sub.i3465 = sub <4 x i32> %342, %343 store <4 x i32> %sub.i3465, ptr %add.ptr1070, align 1 %indvars.iv.next1061 = add nuw nsw i64 %indvars.iv1060, 4 - %cmp997 = icmp ult i64 %indvars.iv.next1061, %322 + %cmp997 = icmp samesign ult i64 %indvars.iv.next1061, %322 br i1 %cmp997, label %for.body998, label %if.end1416.loopexit1037, !llvm.loop !39 if.else1080: ; preds = %if.else968 @@ -3792,7 +3792,7 @@ for.body1104: ; preds = %for.body1104.lr.ph, %sub.i3462 = sub <4 x i32> %371, %372 store <4 x i32> %sub.i3462, ptr %add.ptr1165, align 1 %indvars.iv.next1058 = add nuw nsw i64 %indvars.iv1057, 4 - %cmp1103 = icmp ult i64 %indvars.iv.next1058, %354 + %cmp1103 = icmp samesign ult i64 %indvars.iv.next1058, %354 br i1 %cmp1103, label %for.body1104, label %if.end1416.loopexit1038, !llvm.loop !40 if.else1177: ; preds = %if.else696 @@ -3859,7 +3859,7 @@ for.body1201: ; preds = %for.body1201.lr.ph, %sub.i3459 = sub <4 x i32> %395, %396 store <4 x i32> %sub.i3459, ptr %add.ptr1251, align 1 %indvars.iv.next1055 = add nuw nsw i64 %indvars.iv1054, 4 - %cmp1200 = icmp ult i64 %indvars.iv.next1055, %381 + %cmp1200 = icmp samesign ult i64 %indvars.iv.next1055, %381 br i1 %cmp1200, label %for.body1201, label %if.end1416.loopexit1039, !llvm.loop !41 if.else1261: ; preds = %if.then1179 @@ -3908,7 +3908,7 @@ for.body1277: ; preds = %for.body1277.lr.ph, %sub.i3456 = sub <4 x i32> %414, %415 store <4 x i32> %sub.i3456, ptr %add.ptr1316, align 1 %indvars.iv.next1052 = add nuw nsw i64 %indvars.iv1051, 4 - %cmp1276 = icmp ult i64 %indvars.iv.next1052, %403 + %cmp1276 = icmp samesign ult i64 %indvars.iv.next1052, %403 br i1 %cmp1276, label %for.body1277, label %if.end1416.loopexit1040, !llvm.loop !42 if.else1327: ; preds = %if.else1177 @@ -3951,7 +3951,7 @@ for.body1341: ; preds = %for.body1341.lr.ph, %sub.i3453 = sub <4 x i32> %428, %429 store <4 x i32> %sub.i3453, ptr %add.ptr1369, align 1 %indvars.iv.next1049 = add nuw nsw i64 %indvars.iv1048, 4 - %cmp1340 = icmp ult i64 %indvars.iv.next1049, %420 + %cmp1340 = icmp samesign ult i64 %indvars.iv.next1049, %420 br i1 %cmp1340, label %for.body1341, label %if.end1416.loopexit1041, !llvm.loop !43 if.else1379: ; preds = %if.else1327 @@ -3980,7 +3980,7 @@ for.body1387: ; preds = %for.body1387.lr.ph, %sub.i = sub <4 x i32> %437, %438 store <4 x i32> %sub.i, ptr %add.ptr1403, align 1 %indvars.iv.next1046 = add nuw nsw i64 %indvars.iv1045, 4 - %cmp1386 = icmp ult i64 %indvars.iv.next1046, %432 + %cmp1386 = icmp samesign ult i64 %indvars.iv.next1046, %432 br i1 %cmp1386, label %for.body1387, label %if.end1416.loopexit1042, !llvm.loop !44 if.end1416.loopexit: ; preds = %for.body diff --git a/bench/freetype/optimized/truetype.c.ll b/bench/freetype/optimized/truetype.c.ll index 3fbac8e7ab5..226a9866490 100644 --- a/bench/freetype/optimized/truetype.c.ll +++ b/bench/freetype/optimized/truetype.c.ll @@ -2179,7 +2179,7 @@ define noundef i32 @TT_RunIns(ptr noundef %0) #2 { 134: ; preds = %.sink.split.i, %130, %124 %135 = tail call i64 @llvm.abs.i64(i64 %99, i1 true) - %136 = icmp ult i64 %135, 1024 + %136 = icmp samesign ult i64 %135, 1024 br i1 %136, label %137, label %Compute_Funcs.exit 137: ; preds = %134 @@ -2685,7 +2685,7 @@ Compute_Round.exit: ; preds = %Compute_Funcs.exit, 352: ; preds = %.sink.split.i.i, %349, %346 %353 = call i64 @llvm.abs.i64(i64 %334, i1 true) - %354 = icmp ult i64 %353, 1024 + %354 = icmp samesign ult i64 %353, 1024 br i1 %354, label %355, label %Ins_SxyTCA.exit 355: ; preds = %352 @@ -2828,7 +2828,7 @@ Ins_SxyTCA.exit: ; preds = %352, %355 424: ; preds = %.sink.split.i.i402, %421, %416 %425 = call i64 @llvm.abs.i64(i64 %.sink.i, i1 true) - %426 = icmp ult i64 %425, 1024 + %426 = icmp samesign ult i64 %425, 1024 br i1 %426, label %427, label %Compute_Funcs.exit.i 427: ; preds = %424 @@ -2995,7 +2995,7 @@ Compute_Funcs.exit.i: ; preds = %427, %424 507: ; preds = %.sink.split.i.i416, %504, %501 %508 = call i64 @llvm.abs.i64(i64 %489, i1 true) - %509 = icmp ult i64 %508, 1024 + %509 = icmp samesign ult i64 %508, 1024 br i1 %509, label %510, label %Compute_Funcs.exit.i415 510: ; preds = %507 @@ -5005,7 +5005,7 @@ Ins_NROUND.exit: ; preds = %1462, %1464 1502: ; preds = %1497 %1503 = and i64 %1485, 15 - %1504 = icmp ugt i64 %1503, 7 + %1504 = icmp samesign ugt i64 %1503, 7 %spec.select.v.i = select i1 %1504, i64 -7, i64 -8 %spec.select.i500 = add nsw i64 %spec.select.v.i, %1503 %1505 = load i16, ptr %182, align 2 @@ -5374,7 +5374,7 @@ Normalize.exit58.i: ; preds = %1632, %Normalize.ex 1681: ; preds = %.sink.split.i.i517, %1678, %1675 %1682 = call i64 @llvm.abs.i64(i64 %1663, i1 true) - %1683 = icmp ult i64 %1682, 1024 + %1683 = icmp samesign ult i64 %1682, 1024 br i1 %1683, label %1684, label %Compute_Funcs.exit.i516 1684: ; preds = %1681 @@ -6411,7 +6411,7 @@ Normalize.exit: ; preds = %1, %7 63: ; preds = %.sink.split.i, %59, %53 %64 = call i64 @llvm.abs.i64(i64 %.sink, i1 true) - %65 = icmp ult i64 %64, 1024 + %65 = icmp samesign ult i64 %64, 1024 br i1 %65, label %66, label %Compute_Funcs.exit 66: ; preds = %63 @@ -6583,7 +6583,7 @@ Normalize.exit: ; preds = %.Normalize.exit_cri 83: ; preds = %.sink.split.i, %79, %73 %84 = call i64 @llvm.abs.i64(i64 %48, i1 true) - %85 = icmp ult i64 %84, 1024 + %85 = icmp samesign ult i64 %84, 1024 br i1 %85, label %86, label %Compute_Funcs.exit 86: ; preds = %83 @@ -6678,7 +6678,7 @@ define internal fastcc void @Ins_SFVTPV(ptr nocapture noundef %0) unnamed_addr # br label %Compute_Funcs.exit 41: ; preds = %33 - %42 = icmp ult i64 %.sink, 1024 + %42 = icmp samesign ult i64 %.sink, 1024 br i1 %42, label %43, label %Compute_Funcs.exit 43: ; preds = %41 @@ -9290,7 +9290,7 @@ define internal fastcc void @Ins_DELTAP(ptr noundef %0, ptr nocapture noundef re 56: ; preds = %51 %57 = and i64 %38, 15 - %58 = icmp ugt i64 %57, 7 + %58 = icmp samesign ugt i64 %57, 7 %spec.select.v = select i1 %58, i64 -7, i64 -8 %spec.select = add nsw i64 %spec.select.v, %57 %59 = load i16, ptr %15, align 2 @@ -9854,7 +9854,7 @@ define internal fastcc void @Ins_FLIPRGON(ptr nocapture noundef %0, ptr nocaptur br i1 %or.cond, label %.preheader, label %32 .preheader: ; preds = %18 - %.not2326 = icmp ult i32 %24, %29 + %.not2326 = icmp samesign ult i32 %24, %29 br i1 %.not2326, label %.loopexit, label %.lr.ph .lr.ph: ; preds = %.preheader @@ -9882,7 +9882,7 @@ define internal fastcc void @Ins_FLIPRGON(ptr nocapture noundef %0, ptr nocaptur %42 = or i8 %41, 1 store i8 %42, ptr %40, align 1 %43 = add i16 %.027, 1 - %.not23 = icmp ugt i16 %43, %31 + %.not23 = icmp samesign ugt i16 %43, %31 br i1 %.not23, label %.loopexit, label %37, !llvm.loop !37 .loopexit: ; preds = %37, %.preheader, %32, %35, %15 @@ -9935,7 +9935,7 @@ define internal fastcc void @Ins_FLIPRGOFF(ptr nocapture noundef %0, ptr nocaptu br i1 %or.cond, label %.preheader, label %32 .preheader: ; preds = %18 - %.not2326 = icmp ult i32 %24, %29 + %.not2326 = icmp samesign ult i32 %24, %29 br i1 %.not2326, label %.loopexit, label %.lr.ph .lr.ph: ; preds = %.preheader @@ -9963,7 +9963,7 @@ define internal fastcc void @Ins_FLIPRGOFF(ptr nocapture noundef %0, ptr nocaptu %42 = and i8 %41, -2 store i8 %42, ptr %40, align 1 %43 = add i16 %.027, 1 - %.not23 = icmp ugt i16 %43, %31 + %.not23 = icmp samesign ugt i16 %43, %31 br i1 %.not23, label %.loopexit, label %37, !llvm.loop !38 .loopexit: ; preds = %37, %.preheader, %32, %35, %15 @@ -9993,7 +9993,7 @@ define internal fastcc void @Ins_SCANCTRL(ptr nocapture noundef %0, ptr nocaptur %10 = getelementptr inbounds i8, ptr %0, i64 472 %11 = load i16, ptr %10, align 8 %12 = zext i16 %11 to i32 - %.not24 = icmp ult i32 %5, %12 + %.not24 = icmp samesign ult i32 %5, %12 br i1 %.not24, label %15, label %13 13: ; preds = %9 @@ -10048,7 +10048,7 @@ define internal fastcc void @Ins_SCANCTRL(ptr nocapture noundef %0, ptr nocaptur %35 = getelementptr inbounds i8, ptr %0, i64 472 %36 = load i16, ptr %35, align 8 %37 = zext i16 %36 to i32 - %38 = icmp ult i32 %5, %37 + %38 = icmp samesign ult i32 %5, %37 br i1 %38, label %39, label %41 39: ; preds = %34 @@ -11215,7 +11215,7 @@ define internal fastcc void @Ins_PUSHB(ptr nocapture noundef %0, ptr nocapture n %gep = getelementptr i64, ptr %invariant.gep, i64 %23 store i64 %27, ptr %gep, align 8 %28 = add i16 %.016, 1 - %.not14 = icmp ugt i16 %28, %17 + %.not14 = icmp samesign ugt i16 %28, %17 br i1 %.not14, label %.loopexit, label %20, !llvm.loop !43 .loopexit: ; preds = %20, %.preheader, %18 @@ -15228,7 +15228,7 @@ define internal fastcc void @ft_var_load_avar(ptr noundef %0) unnamed_addr #2 { %indvars.iv.next = add nuw nsw i64 %indvars.iv, 1 %63 = load i16, ptr %.07183, align 8 %64 = zext i16 %63 to i64 - %65 = icmp ult i64 %indvars.iv.next, %64 + %65 = icmp samesign ult i64 %indvars.iv.next, %64 br i1 %65, label %.lr.ph, label %._crit_edge, !llvm.loop !103 ._crit_edge: ; preds = %.lr.ph, %.preheader diff --git a/bench/glslang/optimized/iomapper.cpp.ll b/bench/glslang/optimized/iomapper.cpp.ll index dd69983ac4c..ea7c73ba0c3 100644 --- a/bench/glslang/optimized/iomapper.cpp.ll +++ b/bench/glslang/optimized/iomapper.cpp.ll @@ -25224,7 +25224,7 @@ _ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcEN7glslang14pool_allocatorIcEEE11 %197 = load i64, ptr %13, align 8 %198 = load i64, ptr %168, align 8 %199 = icmp slt i64 %197, %198 - %200 = icmp ugt i32 %187, %195 + %200 = icmp samesign ugt i32 %187, %195 %.0.i.i.i.i.i = select i1 %196, i1 %199, i1 %200 %201 = getelementptr inbounds i8, ptr %storemerge26, i64 -48 %202 = getelementptr inbounds i8, ptr %storemerge26, i64 -40 @@ -25263,7 +25263,7 @@ _ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcEN7glslang14pool_allocatorIcEEE11 %231 = load i64, ptr %168, align 8 %232 = load i64, ptr %201, align 8 %233 = icmp slt i64 %231, %232 - %234 = icmp ugt i32 %221, %229 + %234 = icmp samesign ugt i32 %221, %229 %.0.i.i.i28.i.i = select i1 %230, i1 %233, i1 %234 br i1 %.0.i.i.i28.i.i, label %"_ZSt22__move_median_to_firstIN9__gnu_cxx17__normal_iteratorIPN7glslang12TVarLivePairESt6vectorIS3_SaIS3_EEEENS0_5__ops15_Iter_comp_iterIZNS2_9TIoMapper8addStageE11EShLanguageRNS2_13TIntermediateER9TInfoSinkPNS2_14TIoMapResolverEE3$_0EEEvT_SL_SL_SL_T0_.exit.i", label %235 @@ -25300,7 +25300,7 @@ _ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcEN7glslang14pool_allocatorIcEEE11 %263 = load i64, ptr %13, align 8 %264 = load i64, ptr %201, align 8 %265 = icmp slt i64 %263, %264 - %266 = icmp ugt i32 %253, %261 + %266 = icmp samesign ugt i32 %253, %261 %.0.i.i.i31.i.i = select i1 %262, i1 %265, i1 %266 %..i.i = select i1 %.0.i.i.i31.i.i, ptr %167, ptr %12 br label %"_ZSt22__move_median_to_firstIN9__gnu_cxx17__normal_iteratorIPN7glslang12TVarLivePairESt6vectorIS3_SaIS3_EEEENS0_5__ops15_Iter_comp_iterIZNS2_9TIoMapper8addStageE11EShLanguageRNS2_13TIntermediateER9TInfoSinkPNS2_14TIoMapResolverEE3$_0EEEvT_SL_SL_SL_T0_.exit.i" @@ -25338,7 +25338,7 @@ _ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcEN7glslang14pool_allocatorIcEEE11 %295 = load i64, ptr %13, align 8 %296 = load i64, ptr %201, align 8 %297 = icmp slt i64 %295, %296 - %298 = icmp ugt i32 %285, %293 + %298 = icmp samesign ugt i32 %285, %293 %.0.i.i.i34.i.i = select i1 %294, i1 %297, i1 %298 br i1 %.0.i.i.i34.i.i, label %"_ZSt22__move_median_to_firstIN9__gnu_cxx17__normal_iteratorIPN7glslang12TVarLivePairESt6vectorIS3_SaIS3_EEEENS0_5__ops15_Iter_comp_iterIZNS2_9TIoMapper8addStageE11EShLanguageRNS2_13TIntermediateER9TInfoSinkPNS2_14TIoMapResolverEE3$_0EEEvT_SL_SL_SL_T0_.exit.i", label %299 @@ -25375,7 +25375,7 @@ _ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcEN7glslang14pool_allocatorIcEEE11 %327 = load i64, ptr %168, align 8 %328 = load i64, ptr %201, align 8 %329 = icmp slt i64 %327, %328 - %330 = icmp ugt i32 %317, %325 + %330 = icmp samesign ugt i32 %317, %325 %.0.i.i.i37.i.i = select i1 %326, i1 %329, i1 %330 %.38.i.i = select i1 %.0.i.i.i37.i.i, ptr %167, ptr %166 br label %"_ZSt22__move_median_to_firstIN9__gnu_cxx17__normal_iteratorIPN7glslang12TVarLivePairESt6vectorIS3_SaIS3_EEEENS0_5__ops15_Iter_comp_iterIZNS2_9TIoMapper8addStageE11EShLanguageRNS2_13TIntermediateER9TInfoSinkPNS2_14TIoMapResolverEE3$_0EEEvT_SL_SL_SL_T0_.exit.i" @@ -25426,7 +25426,7 @@ _ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcEN7glslang14pool_allocatorIcEEE11 %362 = load i64, ptr %333, align 8 %363 = load i64, ptr %15, align 8 %364 = icmp slt i64 %362, %363 - %365 = icmp ugt i32 %352, %360 + %365 = icmp samesign ugt i32 %352, %360 %.0.i.i.i.i15.i = select i1 %361, i1 %364, i1 %365 %366 = getelementptr inbounds i8, ptr %.sroa.013.1.i.i, i64 88 br i1 %.0.i.i.i.i15.i, label %332, label %.preheader.i.i, !llvm.loop !482 @@ -25468,7 +25468,7 @@ _ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcEN7glslang14pool_allocatorIcEEE11 %396 = load i64, ptr %15, align 8 %397 = load i64, ptr %367, align 8 %398 = icmp slt i64 %396, %397 - %399 = icmp ugt i32 %386, %394 + %399 = icmp samesign ugt i32 %386, %394 %.0.i.i.i10.i.i = select i1 %395, i1 %398, i1 %399 br i1 %.0.i.i.i10.i.i, label %.preheader.i.i, label %400, !llvm.loop !483 @@ -25542,7 +25542,7 @@ define internal fastcc void @"_ZSt13__adjust_heapIN9__gnu_cxx17__normal_iterator %45 = load i64, ptr %14, align 8 %46 = load i64, ptr %15, align 8 %47 = icmp slt i64 %45, %46 - %48 = icmp ugt i32 %35, %43 + %48 = icmp samesign ugt i32 %35, %43 %.0.i.i.i = select i1 %44, i1 %47, i1 %48 %spec.select = select i1 %.0.i.i.i, i64 %12, i64 %10 %49 = getelementptr inbounds %"struct.glslang::TVarLivePair", ptr %0, i64 %spec.select @@ -25859,7 +25859,7 @@ _ZN7glslang12TVarLivePairC2ERKS0_.exit: ; preds = %._crit_edge.i.i.i.i %199 = load i64, ptr %170, align 8 %200 = load i64, ptr %164, align 8 %201 = icmp slt i64 %199, %200 - %202 = icmp ugt i32 %189, %197 + %202 = icmp samesign ugt i32 %189, %197 %.0.i.i.i.i39 = select i1 %198, i1 %201, i1 %202 br i1 %.0.i.i.i.i39, label %203, label %.critedge.i @@ -26384,7 +26384,7 @@ define internal fastcc void @"_ZSt16__insertion_sortIN9__gnu_cxx17__normal_itera %44 = load i64, ptr %15, align 8 %45 = load i64, ptr %5, align 8 %46 = icmp slt i64 %44, %45 - %47 = icmp ugt i32 %34, %42 + %47 = icmp samesign ugt i32 %34, %42 %.0.i.i.i = select i1 %43, i1 %46, i1 %47 br i1 %.0.i.i.i, label %48, label %102 @@ -26640,7 +26640,7 @@ _ZN7glslang12TVarLivePairC2ERKS0_.exit: ; preds = %._crit_edge.i.i.i.i %56 = load i64, ptr %23, align 8 %57 = load i64, ptr %27, align 8 %58 = icmp slt i64 %56, %57 - %59 = icmp ugt i32 %46, %54 + %59 = icmp samesign ugt i32 %46, %54 %.0.i.i.i = select i1 %55, i1 %58, i1 %59 br i1 %.0.i.i.i, label %60, label %99 @@ -27401,7 +27401,7 @@ _ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcEN7glslang14pool_allocatorIcEEE11 %197 = load i64, ptr %13, align 8 %198 = load i64, ptr %168, align 8 %199 = icmp slt i64 %197, %198 - %200 = icmp ugt i32 %187, %195 + %200 = icmp samesign ugt i32 %187, %195 %.0.i.i.i.i.i = select i1 %196, i1 %199, i1 %200 %201 = getelementptr inbounds i8, ptr %storemerge26, i64 -48 %202 = getelementptr inbounds i8, ptr %storemerge26, i64 -40 @@ -27440,7 +27440,7 @@ _ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcEN7glslang14pool_allocatorIcEEE11 %231 = load i64, ptr %168, align 8 %232 = load i64, ptr %201, align 8 %233 = icmp slt i64 %231, %232 - %234 = icmp ugt i32 %221, %229 + %234 = icmp samesign ugt i32 %221, %229 %.0.i.i.i28.i.i = select i1 %230, i1 %233, i1 %234 br i1 %.0.i.i.i28.i.i, label %"_ZSt22__move_median_to_firstIN9__gnu_cxx17__normal_iteratorIPN7glslang12TVarLivePairESt6vectorIS3_SaIS3_EEEENS0_5__ops15_Iter_comp_iterIZNS2_9TIoMapper8addStageE11EShLanguageRNS2_13TIntermediateER9TInfoSinkPNS2_14TIoMapResolverEE3$_1EEEvT_SL_SL_SL_T0_.exit.i", label %235 @@ -27477,7 +27477,7 @@ _ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcEN7glslang14pool_allocatorIcEEE11 %263 = load i64, ptr %13, align 8 %264 = load i64, ptr %201, align 8 %265 = icmp slt i64 %263, %264 - %266 = icmp ugt i32 %253, %261 + %266 = icmp samesign ugt i32 %253, %261 %.0.i.i.i31.i.i = select i1 %262, i1 %265, i1 %266 %..i.i = select i1 %.0.i.i.i31.i.i, ptr %167, ptr %12 br label %"_ZSt22__move_median_to_firstIN9__gnu_cxx17__normal_iteratorIPN7glslang12TVarLivePairESt6vectorIS3_SaIS3_EEEENS0_5__ops15_Iter_comp_iterIZNS2_9TIoMapper8addStageE11EShLanguageRNS2_13TIntermediateER9TInfoSinkPNS2_14TIoMapResolverEE3$_1EEEvT_SL_SL_SL_T0_.exit.i" @@ -27515,7 +27515,7 @@ _ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcEN7glslang14pool_allocatorIcEEE11 %295 = load i64, ptr %13, align 8 %296 = load i64, ptr %201, align 8 %297 = icmp slt i64 %295, %296 - %298 = icmp ugt i32 %285, %293 + %298 = icmp samesign ugt i32 %285, %293 %.0.i.i.i34.i.i = select i1 %294, i1 %297, i1 %298 br i1 %.0.i.i.i34.i.i, label %"_ZSt22__move_median_to_firstIN9__gnu_cxx17__normal_iteratorIPN7glslang12TVarLivePairESt6vectorIS3_SaIS3_EEEENS0_5__ops15_Iter_comp_iterIZNS2_9TIoMapper8addStageE11EShLanguageRNS2_13TIntermediateER9TInfoSinkPNS2_14TIoMapResolverEE3$_1EEEvT_SL_SL_SL_T0_.exit.i", label %299 @@ -27552,7 +27552,7 @@ _ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcEN7glslang14pool_allocatorIcEEE11 %327 = load i64, ptr %168, align 8 %328 = load i64, ptr %201, align 8 %329 = icmp slt i64 %327, %328 - %330 = icmp ugt i32 %317, %325 + %330 = icmp samesign ugt i32 %317, %325 %.0.i.i.i37.i.i = select i1 %326, i1 %329, i1 %330 %.38.i.i = select i1 %.0.i.i.i37.i.i, ptr %167, ptr %166 br label %"_ZSt22__move_median_to_firstIN9__gnu_cxx17__normal_iteratorIPN7glslang12TVarLivePairESt6vectorIS3_SaIS3_EEEENS0_5__ops15_Iter_comp_iterIZNS2_9TIoMapper8addStageE11EShLanguageRNS2_13TIntermediateER9TInfoSinkPNS2_14TIoMapResolverEE3$_1EEEvT_SL_SL_SL_T0_.exit.i" @@ -27603,7 +27603,7 @@ _ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcEN7glslang14pool_allocatorIcEEE11 %362 = load i64, ptr %333, align 8 %363 = load i64, ptr %15, align 8 %364 = icmp slt i64 %362, %363 - %365 = icmp ugt i32 %352, %360 + %365 = icmp samesign ugt i32 %352, %360 %.0.i.i.i.i15.i = select i1 %361, i1 %364, i1 %365 %366 = getelementptr inbounds i8, ptr %.sroa.013.1.i.i, i64 88 br i1 %.0.i.i.i.i15.i, label %332, label %.preheader.i.i, !llvm.loop !564 @@ -27645,7 +27645,7 @@ _ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcEN7glslang14pool_allocatorIcEEE11 %396 = load i64, ptr %15, align 8 %397 = load i64, ptr %367, align 8 %398 = icmp slt i64 %396, %397 - %399 = icmp ugt i32 %386, %394 + %399 = icmp samesign ugt i32 %386, %394 %.0.i.i.i10.i.i = select i1 %395, i1 %398, i1 %399 br i1 %.0.i.i.i10.i.i, label %.preheader.i.i, label %400, !llvm.loop !565 @@ -27719,7 +27719,7 @@ define internal fastcc void @"_ZSt13__adjust_heapIN9__gnu_cxx17__normal_iterator %45 = load i64, ptr %14, align 8 %46 = load i64, ptr %15, align 8 %47 = icmp slt i64 %45, %46 - %48 = icmp ugt i32 %35, %43 + %48 = icmp samesign ugt i32 %35, %43 %.0.i.i.i = select i1 %44, i1 %47, i1 %48 %spec.select = select i1 %.0.i.i.i, i64 %12, i64 %10 %49 = getelementptr inbounds %"struct.glslang::TVarLivePair", ptr %0, i64 %spec.select @@ -28036,7 +28036,7 @@ _ZN7glslang12TVarLivePairC2ERKS0_.exit: ; preds = %._crit_edge.i.i.i.i %199 = load i64, ptr %170, align 8 %200 = load i64, ptr %164, align 8 %201 = icmp slt i64 %199, %200 - %202 = icmp ugt i32 %189, %197 + %202 = icmp samesign ugt i32 %189, %197 %.0.i.i.i.i39 = select i1 %198, i1 %201, i1 %202 br i1 %.0.i.i.i.i39, label %203, label %.critedge.i @@ -28309,7 +28309,7 @@ define internal fastcc void @"_ZSt16__insertion_sortIN9__gnu_cxx17__normal_itera %44 = load i64, ptr %15, align 8 %45 = load i64, ptr %5, align 8 %46 = icmp slt i64 %44, %45 - %47 = icmp ugt i32 %34, %42 + %47 = icmp samesign ugt i32 %34, %42 %.0.i.i.i = select i1 %43, i1 %46, i1 %47 br i1 %.0.i.i.i, label %48, label %102 @@ -28565,7 +28565,7 @@ _ZN7glslang12TVarLivePairC2ERKS0_.exit: ; preds = %._crit_edge.i.i.i.i %56 = load i64, ptr %23, align 8 %57 = load i64, ptr %27, align 8 %58 = icmp slt i64 %56, %57 - %59 = icmp ugt i32 %46, %54 + %59 = icmp samesign ugt i32 %46, %54 %.0.i.i.i = select i1 %55, i1 %58, i1 %59 br i1 %.0.i.i.i, label %60, label %99 @@ -29204,7 +29204,7 @@ _ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcEN7glslang14pool_allocatorIcEEE11 %197 = load i64, ptr %13, align 8 %198 = load i64, ptr %168, align 8 %199 = icmp slt i64 %197, %198 - %200 = icmp ugt i32 %187, %195 + %200 = icmp samesign ugt i32 %187, %195 %.0.i.i.i.i.i = select i1 %196, i1 %199, i1 %200 %201 = getelementptr inbounds i8, ptr %storemerge26, i64 -48 %202 = getelementptr inbounds i8, ptr %storemerge26, i64 -40 @@ -29243,7 +29243,7 @@ _ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcEN7glslang14pool_allocatorIcEEE11 %231 = load i64, ptr %168, align 8 %232 = load i64, ptr %201, align 8 %233 = icmp slt i64 %231, %232 - %234 = icmp ugt i32 %221, %229 + %234 = icmp samesign ugt i32 %221, %229 %.0.i.i.i28.i.i = select i1 %230, i1 %233, i1 %234 br i1 %.0.i.i.i28.i.i, label %"_ZSt22__move_median_to_firstIN9__gnu_cxx17__normal_iteratorIPN7glslang12TVarLivePairESt6vectorIS3_SaIS3_EEEENS0_5__ops15_Iter_comp_iterIZNS2_9TIoMapper8addStageE11EShLanguageRNS2_13TIntermediateER9TInfoSinkPNS2_14TIoMapResolverEE3$_2EEEvT_SL_SL_SL_T0_.exit.i", label %235 @@ -29280,7 +29280,7 @@ _ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcEN7glslang14pool_allocatorIcEEE11 %263 = load i64, ptr %13, align 8 %264 = load i64, ptr %201, align 8 %265 = icmp slt i64 %263, %264 - %266 = icmp ugt i32 %253, %261 + %266 = icmp samesign ugt i32 %253, %261 %.0.i.i.i31.i.i = select i1 %262, i1 %265, i1 %266 %..i.i = select i1 %.0.i.i.i31.i.i, ptr %167, ptr %12 br label %"_ZSt22__move_median_to_firstIN9__gnu_cxx17__normal_iteratorIPN7glslang12TVarLivePairESt6vectorIS3_SaIS3_EEEENS0_5__ops15_Iter_comp_iterIZNS2_9TIoMapper8addStageE11EShLanguageRNS2_13TIntermediateER9TInfoSinkPNS2_14TIoMapResolverEE3$_2EEEvT_SL_SL_SL_T0_.exit.i" @@ -29318,7 +29318,7 @@ _ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcEN7glslang14pool_allocatorIcEEE11 %295 = load i64, ptr %13, align 8 %296 = load i64, ptr %201, align 8 %297 = icmp slt i64 %295, %296 - %298 = icmp ugt i32 %285, %293 + %298 = icmp samesign ugt i32 %285, %293 %.0.i.i.i34.i.i = select i1 %294, i1 %297, i1 %298 br i1 %.0.i.i.i34.i.i, label %"_ZSt22__move_median_to_firstIN9__gnu_cxx17__normal_iteratorIPN7glslang12TVarLivePairESt6vectorIS3_SaIS3_EEEENS0_5__ops15_Iter_comp_iterIZNS2_9TIoMapper8addStageE11EShLanguageRNS2_13TIntermediateER9TInfoSinkPNS2_14TIoMapResolverEE3$_2EEEvT_SL_SL_SL_T0_.exit.i", label %299 @@ -29355,7 +29355,7 @@ _ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcEN7glslang14pool_allocatorIcEEE11 %327 = load i64, ptr %168, align 8 %328 = load i64, ptr %201, align 8 %329 = icmp slt i64 %327, %328 - %330 = icmp ugt i32 %317, %325 + %330 = icmp samesign ugt i32 %317, %325 %.0.i.i.i37.i.i = select i1 %326, i1 %329, i1 %330 %.38.i.i = select i1 %.0.i.i.i37.i.i, ptr %167, ptr %166 br label %"_ZSt22__move_median_to_firstIN9__gnu_cxx17__normal_iteratorIPN7glslang12TVarLivePairESt6vectorIS3_SaIS3_EEEENS0_5__ops15_Iter_comp_iterIZNS2_9TIoMapper8addStageE11EShLanguageRNS2_13TIntermediateER9TInfoSinkPNS2_14TIoMapResolverEE3$_2EEEvT_SL_SL_SL_T0_.exit.i" @@ -29406,7 +29406,7 @@ _ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcEN7glslang14pool_allocatorIcEEE11 %362 = load i64, ptr %333, align 8 %363 = load i64, ptr %15, align 8 %364 = icmp slt i64 %362, %363 - %365 = icmp ugt i32 %352, %360 + %365 = icmp samesign ugt i32 %352, %360 %.0.i.i.i.i15.i = select i1 %361, i1 %364, i1 %365 %366 = getelementptr inbounds i8, ptr %.sroa.013.1.i.i, i64 88 br i1 %.0.i.i.i.i15.i, label %332, label %.preheader.i.i, !llvm.loop !636 @@ -29448,7 +29448,7 @@ _ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcEN7glslang14pool_allocatorIcEEE11 %396 = load i64, ptr %15, align 8 %397 = load i64, ptr %367, align 8 %398 = icmp slt i64 %396, %397 - %399 = icmp ugt i32 %386, %394 + %399 = icmp samesign ugt i32 %386, %394 %.0.i.i.i10.i.i = select i1 %395, i1 %398, i1 %399 br i1 %.0.i.i.i10.i.i, label %.preheader.i.i, label %400, !llvm.loop !637 @@ -29522,7 +29522,7 @@ define internal fastcc void @"_ZSt13__adjust_heapIN9__gnu_cxx17__normal_iterator %45 = load i64, ptr %14, align 8 %46 = load i64, ptr %15, align 8 %47 = icmp slt i64 %45, %46 - %48 = icmp ugt i32 %35, %43 + %48 = icmp samesign ugt i32 %35, %43 %.0.i.i.i = select i1 %44, i1 %47, i1 %48 %spec.select = select i1 %.0.i.i.i, i64 %12, i64 %10 %49 = getelementptr inbounds %"struct.glslang::TVarLivePair", ptr %0, i64 %spec.select @@ -29839,7 +29839,7 @@ _ZN7glslang12TVarLivePairC2ERKS0_.exit: ; preds = %._crit_edge.i.i.i.i %199 = load i64, ptr %170, align 8 %200 = load i64, ptr %164, align 8 %201 = icmp slt i64 %199, %200 - %202 = icmp ugt i32 %189, %197 + %202 = icmp samesign ugt i32 %189, %197 %.0.i.i.i.i39 = select i1 %198, i1 %201, i1 %202 br i1 %.0.i.i.i.i39, label %203, label %.critedge.i @@ -30112,7 +30112,7 @@ define internal fastcc void @"_ZSt16__insertion_sortIN9__gnu_cxx17__normal_itera %44 = load i64, ptr %15, align 8 %45 = load i64, ptr %5, align 8 %46 = icmp slt i64 %44, %45 - %47 = icmp ugt i32 %34, %42 + %47 = icmp samesign ugt i32 %34, %42 %.0.i.i.i = select i1 %43, i1 %46, i1 %47 br i1 %.0.i.i.i, label %48, label %102 @@ -30368,7 +30368,7 @@ _ZN7glslang12TVarLivePairC2ERKS0_.exit: ; preds = %._crit_edge.i.i.i.i %56 = load i64, ptr %23, align 8 %57 = load i64, ptr %27, align 8 %58 = icmp slt i64 %56, %57 - %59 = icmp ugt i32 %46, %54 + %59 = icmp samesign ugt i32 %46, %54 %.0.i.i.i = select i1 %55, i1 %58, i1 %59 br i1 %.0.i.i.i, label %60, label %99 @@ -31245,7 +31245,7 @@ _ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcEN7glslang14pool_allocatorIcEEE11 %197 = load i64, ptr %13, align 8 %198 = load i64, ptr %168, align 8 %199 = icmp slt i64 %197, %198 - %200 = icmp ugt i32 %187, %195 + %200 = icmp samesign ugt i32 %187, %195 %.0.i.i.i.i.i = select i1 %196, i1 %199, i1 %200 %201 = getelementptr inbounds i8, ptr %storemerge26, i64 -48 %202 = getelementptr inbounds i8, ptr %storemerge26, i64 -40 @@ -31284,7 +31284,7 @@ _ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcEN7glslang14pool_allocatorIcEEE11 %231 = load i64, ptr %168, align 8 %232 = load i64, ptr %201, align 8 %233 = icmp slt i64 %231, %232 - %234 = icmp ugt i32 %221, %229 + %234 = icmp samesign ugt i32 %221, %229 %.0.i.i.i28.i.i = select i1 %230, i1 %233, i1 %234 br i1 %.0.i.i.i28.i.i, label %"_ZSt22__move_median_to_firstIN9__gnu_cxx17__normal_iteratorIPN7glslang12TVarLivePairESt6vectorIS3_SaIS3_EEEENS0_5__ops15_Iter_comp_iterIZNS2_13TGlslIoMapper5doMapEPNS2_14TIoMapResolverER9TInfoSinkE3$_1EEEvT_SI_SI_SI_T0_.exit.i", label %235 @@ -31321,7 +31321,7 @@ _ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcEN7glslang14pool_allocatorIcEEE11 %263 = load i64, ptr %13, align 8 %264 = load i64, ptr %201, align 8 %265 = icmp slt i64 %263, %264 - %266 = icmp ugt i32 %253, %261 + %266 = icmp samesign ugt i32 %253, %261 %.0.i.i.i31.i.i = select i1 %262, i1 %265, i1 %266 %..i.i = select i1 %.0.i.i.i31.i.i, ptr %167, ptr %12 br label %"_ZSt22__move_median_to_firstIN9__gnu_cxx17__normal_iteratorIPN7glslang12TVarLivePairESt6vectorIS3_SaIS3_EEEENS0_5__ops15_Iter_comp_iterIZNS2_13TGlslIoMapper5doMapEPNS2_14TIoMapResolverER9TInfoSinkE3$_1EEEvT_SI_SI_SI_T0_.exit.i" @@ -31359,7 +31359,7 @@ _ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcEN7glslang14pool_allocatorIcEEE11 %295 = load i64, ptr %13, align 8 %296 = load i64, ptr %201, align 8 %297 = icmp slt i64 %295, %296 - %298 = icmp ugt i32 %285, %293 + %298 = icmp samesign ugt i32 %285, %293 %.0.i.i.i34.i.i = select i1 %294, i1 %297, i1 %298 br i1 %.0.i.i.i34.i.i, label %"_ZSt22__move_median_to_firstIN9__gnu_cxx17__normal_iteratorIPN7glslang12TVarLivePairESt6vectorIS3_SaIS3_EEEENS0_5__ops15_Iter_comp_iterIZNS2_13TGlslIoMapper5doMapEPNS2_14TIoMapResolverER9TInfoSinkE3$_1EEEvT_SI_SI_SI_T0_.exit.i", label %299 @@ -31396,7 +31396,7 @@ _ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcEN7glslang14pool_allocatorIcEEE11 %327 = load i64, ptr %168, align 8 %328 = load i64, ptr %201, align 8 %329 = icmp slt i64 %327, %328 - %330 = icmp ugt i32 %317, %325 + %330 = icmp samesign ugt i32 %317, %325 %.0.i.i.i37.i.i = select i1 %326, i1 %329, i1 %330 %.38.i.i = select i1 %.0.i.i.i37.i.i, ptr %167, ptr %166 br label %"_ZSt22__move_median_to_firstIN9__gnu_cxx17__normal_iteratorIPN7glslang12TVarLivePairESt6vectorIS3_SaIS3_EEEENS0_5__ops15_Iter_comp_iterIZNS2_13TGlslIoMapper5doMapEPNS2_14TIoMapResolverER9TInfoSinkE3$_1EEEvT_SI_SI_SI_T0_.exit.i" @@ -31447,7 +31447,7 @@ _ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcEN7glslang14pool_allocatorIcEEE11 %362 = load i64, ptr %333, align 8 %363 = load i64, ptr %15, align 8 %364 = icmp slt i64 %362, %363 - %365 = icmp ugt i32 %352, %360 + %365 = icmp samesign ugt i32 %352, %360 %.0.i.i.i.i15.i = select i1 %361, i1 %364, i1 %365 %366 = getelementptr inbounds i8, ptr %.sroa.013.1.i.i, i64 88 br i1 %.0.i.i.i.i15.i, label %332, label %.preheader.i.i, !llvm.loop !735 @@ -31489,7 +31489,7 @@ _ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcEN7glslang14pool_allocatorIcEEE11 %396 = load i64, ptr %15, align 8 %397 = load i64, ptr %367, align 8 %398 = icmp slt i64 %396, %397 - %399 = icmp ugt i32 %386, %394 + %399 = icmp samesign ugt i32 %386, %394 %.0.i.i.i10.i.i = select i1 %395, i1 %398, i1 %399 br i1 %.0.i.i.i10.i.i, label %.preheader.i.i, label %400, !llvm.loop !736 @@ -31563,7 +31563,7 @@ define internal fastcc void @"_ZSt13__adjust_heapIN9__gnu_cxx17__normal_iterator %45 = load i64, ptr %14, align 8 %46 = load i64, ptr %15, align 8 %47 = icmp slt i64 %45, %46 - %48 = icmp ugt i32 %35, %43 + %48 = icmp samesign ugt i32 %35, %43 %.0.i.i.i = select i1 %44, i1 %47, i1 %48 %spec.select = select i1 %.0.i.i.i, i64 %12, i64 %10 %49 = getelementptr inbounds %"struct.glslang::TVarLivePair", ptr %0, i64 %spec.select @@ -31880,7 +31880,7 @@ _ZN7glslang12TVarLivePairC2ERKS0_.exit: ; preds = %._crit_edge.i.i.i.i %199 = load i64, ptr %170, align 8 %200 = load i64, ptr %164, align 8 %201 = icmp slt i64 %199, %200 - %202 = icmp ugt i32 %189, %197 + %202 = icmp samesign ugt i32 %189, %197 %.0.i.i.i.i39 = select i1 %198, i1 %201, i1 %202 br i1 %.0.i.i.i.i39, label %203, label %.critedge.i @@ -32153,7 +32153,7 @@ define internal fastcc void @"_ZSt16__insertion_sortIN9__gnu_cxx17__normal_itera %44 = load i64, ptr %15, align 8 %45 = load i64, ptr %5, align 8 %46 = icmp slt i64 %44, %45 - %47 = icmp ugt i32 %34, %42 + %47 = icmp samesign ugt i32 %34, %42 %.0.i.i.i = select i1 %43, i1 %46, i1 %47 br i1 %.0.i.i.i, label %48, label %102 @@ -32409,7 +32409,7 @@ _ZN7glslang12TVarLivePairC2ERKS0_.exit: ; preds = %._crit_edge.i.i.i.i %56 = load i64, ptr %23, align 8 %57 = load i64, ptr %27, align 8 %58 = icmp slt i64 %56, %57 - %59 = icmp ugt i32 %46, %54 + %59 = icmp samesign ugt i32 %46, %54 %.0.i.i.i = select i1 %55, i1 %58, i1 %59 br i1 %.0.i.i.i, label %60, label %99 @@ -33048,7 +33048,7 @@ _ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcEN7glslang14pool_allocatorIcEEE11 %197 = load i64, ptr %13, align 8 %198 = load i64, ptr %168, align 8 %199 = icmp slt i64 %197, %198 - %200 = icmp ugt i32 %187, %195 + %200 = icmp samesign ugt i32 %187, %195 %.0.i.i.i.i.i = select i1 %196, i1 %199, i1 %200 %201 = getelementptr inbounds i8, ptr %storemerge26, i64 -48 %202 = getelementptr inbounds i8, ptr %storemerge26, i64 -40 @@ -33087,7 +33087,7 @@ _ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcEN7glslang14pool_allocatorIcEEE11 %231 = load i64, ptr %168, align 8 %232 = load i64, ptr %201, align 8 %233 = icmp slt i64 %231, %232 - %234 = icmp ugt i32 %221, %229 + %234 = icmp samesign ugt i32 %221, %229 %.0.i.i.i28.i.i = select i1 %230, i1 %233, i1 %234 br i1 %.0.i.i.i28.i.i, label %"_ZSt22__move_median_to_firstIN9__gnu_cxx17__normal_iteratorIPN7glslang12TVarLivePairESt6vectorIS3_SaIS3_EEEENS0_5__ops15_Iter_comp_iterIZNS2_13TGlslIoMapper5doMapEPNS2_14TIoMapResolverER9TInfoSinkE3$_3EEEvT_SI_SI_SI_T0_.exit.i", label %235 @@ -33124,7 +33124,7 @@ _ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcEN7glslang14pool_allocatorIcEEE11 %263 = load i64, ptr %13, align 8 %264 = load i64, ptr %201, align 8 %265 = icmp slt i64 %263, %264 - %266 = icmp ugt i32 %253, %261 + %266 = icmp samesign ugt i32 %253, %261 %.0.i.i.i31.i.i = select i1 %262, i1 %265, i1 %266 %..i.i = select i1 %.0.i.i.i31.i.i, ptr %167, ptr %12 br label %"_ZSt22__move_median_to_firstIN9__gnu_cxx17__normal_iteratorIPN7glslang12TVarLivePairESt6vectorIS3_SaIS3_EEEENS0_5__ops15_Iter_comp_iterIZNS2_13TGlslIoMapper5doMapEPNS2_14TIoMapResolverER9TInfoSinkE3$_3EEEvT_SI_SI_SI_T0_.exit.i" @@ -33162,7 +33162,7 @@ _ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcEN7glslang14pool_allocatorIcEEE11 %295 = load i64, ptr %13, align 8 %296 = load i64, ptr %201, align 8 %297 = icmp slt i64 %295, %296 - %298 = icmp ugt i32 %285, %293 + %298 = icmp samesign ugt i32 %285, %293 %.0.i.i.i34.i.i = select i1 %294, i1 %297, i1 %298 br i1 %.0.i.i.i34.i.i, label %"_ZSt22__move_median_to_firstIN9__gnu_cxx17__normal_iteratorIPN7glslang12TVarLivePairESt6vectorIS3_SaIS3_EEEENS0_5__ops15_Iter_comp_iterIZNS2_13TGlslIoMapper5doMapEPNS2_14TIoMapResolverER9TInfoSinkE3$_3EEEvT_SI_SI_SI_T0_.exit.i", label %299 @@ -33199,7 +33199,7 @@ _ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcEN7glslang14pool_allocatorIcEEE11 %327 = load i64, ptr %168, align 8 %328 = load i64, ptr %201, align 8 %329 = icmp slt i64 %327, %328 - %330 = icmp ugt i32 %317, %325 + %330 = icmp samesign ugt i32 %317, %325 %.0.i.i.i37.i.i = select i1 %326, i1 %329, i1 %330 %.38.i.i = select i1 %.0.i.i.i37.i.i, ptr %167, ptr %166 br label %"_ZSt22__move_median_to_firstIN9__gnu_cxx17__normal_iteratorIPN7glslang12TVarLivePairESt6vectorIS3_SaIS3_EEEENS0_5__ops15_Iter_comp_iterIZNS2_13TGlslIoMapper5doMapEPNS2_14TIoMapResolverER9TInfoSinkE3$_3EEEvT_SI_SI_SI_T0_.exit.i" @@ -33250,7 +33250,7 @@ _ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcEN7glslang14pool_allocatorIcEEE11 %362 = load i64, ptr %333, align 8 %363 = load i64, ptr %15, align 8 %364 = icmp slt i64 %362, %363 - %365 = icmp ugt i32 %352, %360 + %365 = icmp samesign ugt i32 %352, %360 %.0.i.i.i.i15.i = select i1 %361, i1 %364, i1 %365 %366 = getelementptr inbounds i8, ptr %.sroa.013.1.i.i, i64 88 br i1 %.0.i.i.i.i15.i, label %332, label %.preheader.i.i, !llvm.loop !807 @@ -33292,7 +33292,7 @@ _ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcEN7glslang14pool_allocatorIcEEE11 %396 = load i64, ptr %15, align 8 %397 = load i64, ptr %367, align 8 %398 = icmp slt i64 %396, %397 - %399 = icmp ugt i32 %386, %394 + %399 = icmp samesign ugt i32 %386, %394 %.0.i.i.i10.i.i = select i1 %395, i1 %398, i1 %399 br i1 %.0.i.i.i10.i.i, label %.preheader.i.i, label %400, !llvm.loop !808 @@ -33366,7 +33366,7 @@ define internal fastcc void @"_ZSt13__adjust_heapIN9__gnu_cxx17__normal_iterator %45 = load i64, ptr %14, align 8 %46 = load i64, ptr %15, align 8 %47 = icmp slt i64 %45, %46 - %48 = icmp ugt i32 %35, %43 + %48 = icmp samesign ugt i32 %35, %43 %.0.i.i.i = select i1 %44, i1 %47, i1 %48 %spec.select = select i1 %.0.i.i.i, i64 %12, i64 %10 %49 = getelementptr inbounds %"struct.glslang::TVarLivePair", ptr %0, i64 %spec.select @@ -33683,7 +33683,7 @@ _ZN7glslang12TVarLivePairC2ERKS0_.exit: ; preds = %._crit_edge.i.i.i.i %199 = load i64, ptr %170, align 8 %200 = load i64, ptr %164, align 8 %201 = icmp slt i64 %199, %200 - %202 = icmp ugt i32 %189, %197 + %202 = icmp samesign ugt i32 %189, %197 %.0.i.i.i.i39 = select i1 %198, i1 %201, i1 %202 br i1 %.0.i.i.i.i39, label %203, label %.critedge.i @@ -33956,7 +33956,7 @@ define internal fastcc void @"_ZSt16__insertion_sortIN9__gnu_cxx17__normal_itera %44 = load i64, ptr %15, align 8 %45 = load i64, ptr %5, align 8 %46 = icmp slt i64 %44, %45 - %47 = icmp ugt i32 %34, %42 + %47 = icmp samesign ugt i32 %34, %42 %.0.i.i.i = select i1 %43, i1 %46, i1 %47 br i1 %.0.i.i.i, label %48, label %102 @@ -34212,7 +34212,7 @@ _ZN7glslang12TVarLivePairC2ERKS0_.exit: ; preds = %._crit_edge.i.i.i.i %56 = load i64, ptr %23, align 8 %57 = load i64, ptr %27, align 8 %58 = icmp slt i64 %56, %57 - %59 = icmp ugt i32 %46, %54 + %59 = icmp samesign ugt i32 %46, %54 %.0.i.i.i = select i1 %55, i1 %58, i1 %59 br i1 %.0.i.i.i, label %60, label %99 @@ -34866,7 +34866,7 @@ _ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcEN7glslang14pool_allocatorIcEEE11 br i1 %.not20.i.i.i.i.i, label %"_ZN9__gnu_cxx5__ops15_Iter_comp_iterIZN7glslang13TGlslIoMapper5doMapEPNS2_14TIoMapResolverER9TInfoSinkE3$_6EclINS_17__normal_iteratorIPNS2_12TVarLivePairESt6vectorISC_SaISC_EEEESH_EEbT_T0_.exit.i.i", label %206 206: ; preds = %205 - %207 = icmp ugt i32 %189, %197 + %207 = icmp samesign ugt i32 %189, %197 br i1 %207, label %211, label %293 "_ZN9__gnu_cxx5__ops15_Iter_comp_iterIZN7glslang13TGlslIoMapper5doMapEPNS2_14TIoMapResolverER9TInfoSinkE3$_6EclINS_17__normal_iteratorIPNS2_12TVarLivePairESt6vectorISC_SaISC_EEEESH_EEbT_T0_.exit.i.i": ; preds = %205 @@ -34923,7 +34923,7 @@ _ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcEN7glslang14pool_allocatorIcEEE11 br i1 %.not20.i.i.i30.i.i, label %"_ZN9__gnu_cxx5__ops15_Iter_comp_iterIZN7glslang13TGlslIoMapper5doMapEPNS2_14TIoMapResolverER9TInfoSinkE3$_6EclINS_17__normal_iteratorIPNS2_12TVarLivePairESt6vectorISC_SaISC_EEEESH_EEbT_T0_.exit31.i.i", label %248 248: ; preds = %247 - %249 = icmp ugt i32 %231, %239 + %249 = icmp samesign ugt i32 %231, %239 br i1 %249, label %"_ZSt22__move_median_to_firstIN9__gnu_cxx17__normal_iteratorIPN7glslang12TVarLivePairESt6vectorIS3_SaIS3_EEEENS0_5__ops15_Iter_comp_iterIZNS2_13TGlslIoMapper5doMapEPNS2_14TIoMapResolverER9TInfoSinkE3$_6EEEvT_SI_SI_SI_T0_.exit.i", label %253 "_ZN9__gnu_cxx5__ops15_Iter_comp_iterIZN7glslang13TGlslIoMapper5doMapEPNS2_14TIoMapResolverER9TInfoSinkE3$_6EclINS_17__normal_iteratorIPNS2_12TVarLivePairESt6vectorISC_SaISC_EEEESH_EEbT_T0_.exit31.i.i": ; preds = %247 @@ -34977,7 +34977,7 @@ _ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcEN7glslang14pool_allocatorIcEEE11 br i1 %.not20.i.i.i36.i.i, label %"_ZN9__gnu_cxx5__ops15_Iter_comp_iterIZN7glslang13TGlslIoMapper5doMapEPNS2_14TIoMapResolverER9TInfoSinkE3$_6EclINS_17__normal_iteratorIPNS2_12TVarLivePairESt6vectorISC_SaISC_EEEESH_EEbT_T0_.exit37.i.i", label %287 287: ; preds = %286 - %288 = icmp ugt i32 %271, %279 + %288 = icmp samesign ugt i32 %271, %279 br i1 %288, label %"_ZSt22__move_median_to_firstIN9__gnu_cxx17__normal_iteratorIPN7glslang12TVarLivePairESt6vectorIS3_SaIS3_EEEENS0_5__ops15_Iter_comp_iterIZNS2_13TGlslIoMapper5doMapEPNS2_14TIoMapResolverER9TInfoSinkE3$_6EEEvT_SI_SI_SI_T0_.exit.i", label %292 "_ZN9__gnu_cxx5__ops15_Iter_comp_iterIZN7glslang13TGlslIoMapper5doMapEPNS2_14TIoMapResolverER9TInfoSinkE3$_6EclINS_17__normal_iteratorIPNS2_12TVarLivePairESt6vectorISC_SaISC_EEEESH_EEbT_T0_.exit37.i.i": ; preds = %286 @@ -35037,7 +35037,7 @@ _ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcEN7glslang14pool_allocatorIcEEE11 br i1 %.not20.i.i.i42.i.i, label %"_ZN9__gnu_cxx5__ops15_Iter_comp_iterIZN7glslang13TGlslIoMapper5doMapEPNS2_14TIoMapResolverER9TInfoSinkE3$_6EclINS_17__normal_iteratorIPNS2_12TVarLivePairESt6vectorISC_SaISC_EEEESH_EEbT_T0_.exit43.i.i", label %330 330: ; preds = %329 - %331 = icmp ugt i32 %313, %321 + %331 = icmp samesign ugt i32 %313, %321 br i1 %331, label %"_ZSt22__move_median_to_firstIN9__gnu_cxx17__normal_iteratorIPN7glslang12TVarLivePairESt6vectorIS3_SaIS3_EEEENS0_5__ops15_Iter_comp_iterIZNS2_13TGlslIoMapper5doMapEPNS2_14TIoMapResolverER9TInfoSinkE3$_6EEEvT_SI_SI_SI_T0_.exit.i", label %335 "_ZN9__gnu_cxx5__ops15_Iter_comp_iterIZN7glslang13TGlslIoMapper5doMapEPNS2_14TIoMapResolverER9TInfoSinkE3$_6EclINS_17__normal_iteratorIPNS2_12TVarLivePairESt6vectorISC_SaISC_EEEESH_EEbT_T0_.exit43.i.i": ; preds = %329 @@ -35091,7 +35091,7 @@ _ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcEN7glslang14pool_allocatorIcEEE11 br i1 %.not20.i.i.i48.i.i, label %"_ZN9__gnu_cxx5__ops15_Iter_comp_iterIZN7glslang13TGlslIoMapper5doMapEPNS2_14TIoMapResolverER9TInfoSinkE3$_6EclINS_17__normal_iteratorIPNS2_12TVarLivePairESt6vectorISC_SaISC_EEEESH_EEbT_T0_.exit49.i.i", label %369 369: ; preds = %368 - %370 = icmp ugt i32 %353, %361 + %370 = icmp samesign ugt i32 %353, %361 br i1 %370, label %"_ZSt22__move_median_to_firstIN9__gnu_cxx17__normal_iteratorIPN7glslang12TVarLivePairESt6vectorIS3_SaIS3_EEEENS0_5__ops15_Iter_comp_iterIZNS2_13TGlslIoMapper5doMapEPNS2_14TIoMapResolverER9TInfoSinkE3$_6EEEvT_SI_SI_SI_T0_.exit.i", label %374 "_ZN9__gnu_cxx5__ops15_Iter_comp_iterIZN7glslang13TGlslIoMapper5doMapEPNS2_14TIoMapResolverER9TInfoSinkE3$_6EclINS_17__normal_iteratorIPNS2_12TVarLivePairESt6vectorISC_SaISC_EEEESH_EEbT_T0_.exit49.i.i": ; preds = %368 @@ -35165,7 +35165,7 @@ _ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcEN7glslang14pool_allocatorIcEEE11 br i1 %.not20.i.i.i.i16.i, label %"_ZN9__gnu_cxx5__ops15_Iter_comp_iterIZN7glslang13TGlslIoMapper5doMapEPNS2_14TIoMapResolverER9TInfoSinkE3$_6EclINS_17__normal_iteratorIPNS2_12TVarLivePairESt6vectorISC_SaISC_EEEESH_EEbT_T0_.exit.i17.i", label %413 413: ; preds = %412 - %414 = icmp ugt i32 %396, %404 + %414 = icmp samesign ugt i32 %396, %404 br i1 %414, label %418, label %.preheader "_ZN9__gnu_cxx5__ops15_Iter_comp_iterIZN7glslang13TGlslIoMapper5doMapEPNS2_14TIoMapResolverER9TInfoSinkE3$_6EclINS_17__normal_iteratorIPNS2_12TVarLivePairESt6vectorISC_SaISC_EEEESH_EEbT_T0_.exit.i17.i": ; preds = %412 @@ -35228,7 +35228,7 @@ _ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcEN7glslang14pool_allocatorIcEEE11 br i1 %.not20.i.i.i12.i.i, label %"_ZN9__gnu_cxx5__ops15_Iter_comp_iterIZN7glslang13TGlslIoMapper5doMapEPNS2_14TIoMapResolverER9TInfoSinkE3$_6EclINS_17__normal_iteratorIPNS2_12TVarLivePairESt6vectorISC_SaISC_EEEESH_EEbT_T0_.exit13.i.i", label %457 457: ; preds = %456 - %458 = icmp ugt i32 %440, %448 + %458 = icmp samesign ugt i32 %440, %448 br i1 %458, label %.backedge, label %462 "_ZN9__gnu_cxx5__ops15_Iter_comp_iterIZN7glslang13TGlslIoMapper5doMapEPNS2_14TIoMapResolverER9TInfoSinkE3$_6EclINS_17__normal_iteratorIPNS2_12TVarLivePairESt6vectorISC_SaISC_EEEESH_EEbT_T0_.exit13.i.i": ; preds = %456 @@ -35325,7 +35325,7 @@ define internal fastcc void @"_ZSt13__adjust_heapIN9__gnu_cxx17__normal_iterator br i1 %.not20.i.i.i, label %55, label %53 53: ; preds = %52 - %54 = icmp ugt i32 %35, %43 + %54 = icmp samesign ugt i32 %35, %43 br label %"_ZN9__gnu_cxx5__ops15_Iter_comp_iterIZN7glslang13TGlslIoMapper5doMapEPNS2_14TIoMapResolverER9TInfoSinkE3$_6EclINS_17__normal_iteratorIPNS2_12TVarLivePairESt6vectorISC_SaISC_EEEESH_EEbT_T0_.exit" 55: ; preds = %52 @@ -35665,7 +35665,7 @@ _ZN7glslang12TVarLivePairC2ERKS0_.exit: ; preds = %._crit_edge.i.i.i.i br i1 %.not20.i.i.i.i, label %"_ZN9__gnu_cxx5__ops14_Iter_comp_valIZN7glslang13TGlslIoMapper5doMapEPNS2_14TIoMapResolverER9TInfoSinkE3$_6EclINS_17__normal_iteratorIPNS2_12TVarLivePairESt6vectorISC_SaISC_EEEESC_EEbT_RT0_.exit.i", label %217 217: ; preds = %216 - %218 = icmp ugt i32 %200, %208 + %218 = icmp samesign ugt i32 %200, %208 br i1 %218, label %222, label %.critedge.i "_ZN9__gnu_cxx5__ops14_Iter_comp_valIZN7glslang13TGlslIoMapper5doMapEPNS2_14TIoMapResolverER9TInfoSinkE3$_6EclINS_17__normal_iteratorIPNS2_12TVarLivePairESt6vectorISC_SaISC_EEEESC_EEbT_RT0_.exit.i": ; preds = %216 @@ -35957,7 +35957,7 @@ define internal fastcc void @"_ZSt16__insertion_sortIN9__gnu_cxx17__normal_itera br i1 %.not20.i.i.i, label %"_ZN9__gnu_cxx5__ops15_Iter_comp_iterIZN7glslang13TGlslIoMapper5doMapEPNS2_14TIoMapResolverER9TInfoSinkE3$_6EclINS_17__normal_iteratorIPNS2_12TVarLivePairESt6vectorISC_SaISC_EEEESH_EEbT_T0_.exit", label %52 52: ; preds = %51 - %53 = icmp ugt i32 %35, %43 + %53 = icmp samesign ugt i32 %35, %43 br i1 %53, label %57, label %111 "_ZN9__gnu_cxx5__ops15_Iter_comp_iterIZN7glslang13TGlslIoMapper5doMapEPNS2_14TIoMapResolverER9TInfoSinkE3$_6EclINS_17__normal_iteratorIPNS2_12TVarLivePairESt6vectorISC_SaISC_EEEESH_EEbT_T0_.exit": ; preds = %51 @@ -36232,7 +36232,7 @@ _ZN7glslang12TVarLivePairC2ERKS0_.exit: ; preds = %._crit_edge.i.i.i.i br i1 %.not20.i.i.i, label %"_ZN9__gnu_cxx5__ops14_Val_comp_iterIZN7glslang13TGlslIoMapper5doMapEPNS2_14TIoMapResolverER9TInfoSinkE3$_6EclINS2_12TVarLivePairENS_17__normal_iteratorIPSB_St6vectorISB_SaISB_EEEEEEbRT_T0_.exit", label %64 64: ; preds = %63 - %65 = icmp ugt i32 %47, %55 + %65 = icmp samesign ugt i32 %47, %55 br i1 %65, label %69, label %108 "_ZN9__gnu_cxx5__ops14_Val_comp_iterIZN7glslang13TGlslIoMapper5doMapEPNS2_14TIoMapResolverER9TInfoSinkE3$_6EclINS2_12TVarLivePairENS_17__normal_iteratorIPSB_St6vectorISB_SaISB_EEEEEEbRT_T0_.exit": ; preds = %63 @@ -36876,7 +36876,7 @@ _ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcEN7glslang14pool_allocatorIcEEE11 %197 = load i64, ptr %13, align 8 %198 = load i64, ptr %168, align 8 %199 = icmp slt i64 %197, %198 - %200 = icmp ugt i32 %187, %195 + %200 = icmp samesign ugt i32 %187, %195 %.0.i.i.i.i.i = select i1 %196, i1 %199, i1 %200 %201 = getelementptr inbounds i8, ptr %storemerge26, i64 -48 %202 = getelementptr inbounds i8, ptr %storemerge26, i64 -40 @@ -36915,7 +36915,7 @@ _ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcEN7glslang14pool_allocatorIcEEE11 %231 = load i64, ptr %168, align 8 %232 = load i64, ptr %201, align 8 %233 = icmp slt i64 %231, %232 - %234 = icmp ugt i32 %221, %229 + %234 = icmp samesign ugt i32 %221, %229 %.0.i.i.i28.i.i = select i1 %230, i1 %233, i1 %234 br i1 %.0.i.i.i28.i.i, label %"_ZSt22__move_median_to_firstIN9__gnu_cxx17__normal_iteratorIPN7glslang12TVarLivePairESt6vectorIS3_SaIS3_EEEENS0_5__ops15_Iter_comp_iterIZNS2_13TGlslIoMapper5doMapEPNS2_14TIoMapResolverER9TInfoSinkE3$_7EEEvT_SI_SI_SI_T0_.exit.i", label %235 @@ -36952,7 +36952,7 @@ _ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcEN7glslang14pool_allocatorIcEEE11 %263 = load i64, ptr %13, align 8 %264 = load i64, ptr %201, align 8 %265 = icmp slt i64 %263, %264 - %266 = icmp ugt i32 %253, %261 + %266 = icmp samesign ugt i32 %253, %261 %.0.i.i.i31.i.i = select i1 %262, i1 %265, i1 %266 %..i.i = select i1 %.0.i.i.i31.i.i, ptr %167, ptr %12 br label %"_ZSt22__move_median_to_firstIN9__gnu_cxx17__normal_iteratorIPN7glslang12TVarLivePairESt6vectorIS3_SaIS3_EEEENS0_5__ops15_Iter_comp_iterIZNS2_13TGlslIoMapper5doMapEPNS2_14TIoMapResolverER9TInfoSinkE3$_7EEEvT_SI_SI_SI_T0_.exit.i" @@ -36990,7 +36990,7 @@ _ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcEN7glslang14pool_allocatorIcEEE11 %295 = load i64, ptr %13, align 8 %296 = load i64, ptr %201, align 8 %297 = icmp slt i64 %295, %296 - %298 = icmp ugt i32 %285, %293 + %298 = icmp samesign ugt i32 %285, %293 %.0.i.i.i34.i.i = select i1 %294, i1 %297, i1 %298 br i1 %.0.i.i.i34.i.i, label %"_ZSt22__move_median_to_firstIN9__gnu_cxx17__normal_iteratorIPN7glslang12TVarLivePairESt6vectorIS3_SaIS3_EEEENS0_5__ops15_Iter_comp_iterIZNS2_13TGlslIoMapper5doMapEPNS2_14TIoMapResolverER9TInfoSinkE3$_7EEEvT_SI_SI_SI_T0_.exit.i", label %299 @@ -37027,7 +37027,7 @@ _ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcEN7glslang14pool_allocatorIcEEE11 %327 = load i64, ptr %168, align 8 %328 = load i64, ptr %201, align 8 %329 = icmp slt i64 %327, %328 - %330 = icmp ugt i32 %317, %325 + %330 = icmp samesign ugt i32 %317, %325 %.0.i.i.i37.i.i = select i1 %326, i1 %329, i1 %330 %.38.i.i = select i1 %.0.i.i.i37.i.i, ptr %167, ptr %166 br label %"_ZSt22__move_median_to_firstIN9__gnu_cxx17__normal_iteratorIPN7glslang12TVarLivePairESt6vectorIS3_SaIS3_EEEENS0_5__ops15_Iter_comp_iterIZNS2_13TGlslIoMapper5doMapEPNS2_14TIoMapResolverER9TInfoSinkE3$_7EEEvT_SI_SI_SI_T0_.exit.i" @@ -37078,7 +37078,7 @@ _ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcEN7glslang14pool_allocatorIcEEE11 %362 = load i64, ptr %333, align 8 %363 = load i64, ptr %15, align 8 %364 = icmp slt i64 %362, %363 - %365 = icmp ugt i32 %352, %360 + %365 = icmp samesign ugt i32 %352, %360 %.0.i.i.i.i15.i = select i1 %361, i1 %364, i1 %365 %366 = getelementptr inbounds i8, ptr %.sroa.013.1.i.i, i64 88 br i1 %.0.i.i.i.i15.i, label %332, label %.preheader.i.i, !llvm.loop !951 @@ -37120,7 +37120,7 @@ _ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcEN7glslang14pool_allocatorIcEEE11 %396 = load i64, ptr %15, align 8 %397 = load i64, ptr %367, align 8 %398 = icmp slt i64 %396, %397 - %399 = icmp ugt i32 %386, %394 + %399 = icmp samesign ugt i32 %386, %394 %.0.i.i.i10.i.i = select i1 %395, i1 %398, i1 %399 br i1 %.0.i.i.i10.i.i, label %.preheader.i.i, label %400, !llvm.loop !952 @@ -37194,7 +37194,7 @@ define internal fastcc void @"_ZSt13__adjust_heapIN9__gnu_cxx17__normal_iterator %45 = load i64, ptr %14, align 8 %46 = load i64, ptr %15, align 8 %47 = icmp slt i64 %45, %46 - %48 = icmp ugt i32 %35, %43 + %48 = icmp samesign ugt i32 %35, %43 %.0.i.i.i = select i1 %44, i1 %47, i1 %48 %spec.select = select i1 %.0.i.i.i, i64 %12, i64 %10 %49 = getelementptr inbounds %"struct.glslang::TVarLivePair", ptr %0, i64 %spec.select @@ -37511,7 +37511,7 @@ _ZN7glslang12TVarLivePairC2ERKS0_.exit: ; preds = %._crit_edge.i.i.i.i %199 = load i64, ptr %170, align 8 %200 = load i64, ptr %164, align 8 %201 = icmp slt i64 %199, %200 - %202 = icmp ugt i32 %189, %197 + %202 = icmp samesign ugt i32 %189, %197 %.0.i.i.i.i39 = select i1 %198, i1 %201, i1 %202 br i1 %.0.i.i.i.i39, label %203, label %.critedge.i @@ -37784,7 +37784,7 @@ define internal fastcc void @"_ZSt16__insertion_sortIN9__gnu_cxx17__normal_itera %44 = load i64, ptr %15, align 8 %45 = load i64, ptr %5, align 8 %46 = icmp slt i64 %44, %45 - %47 = icmp ugt i32 %34, %42 + %47 = icmp samesign ugt i32 %34, %42 %.0.i.i.i = select i1 %43, i1 %46, i1 %47 br i1 %.0.i.i.i, label %48, label %102 @@ -38040,7 +38040,7 @@ _ZN7glslang12TVarLivePairC2ERKS0_.exit: ; preds = %._crit_edge.i.i.i.i %56 = load i64, ptr %23, align 8 %57 = load i64, ptr %27, align 8 %58 = icmp slt i64 %56, %57 - %59 = icmp ugt i32 %46, %54 + %59 = icmp samesign ugt i32 %46, %54 %.0.i.i.i = select i1 %55, i1 %58, i1 %59 br i1 %.0.i.i.i, label %60, label %99 diff --git a/bench/hyperscan/optimized/mcclellan.c.ll b/bench/hyperscan/optimized/mcclellan.c.ll index 71eeacf1900..965d5b7dfa1 100644 --- a/bench/hyperscan/optimized/mcclellan.c.ll +++ b/bench/hyperscan/optimized/mcclellan.c.ll @@ -1439,7 +1439,7 @@ for.end.i1272: ; preds = %for.body.i1289 %26 = zext i16 %25 to i32 %not.i1276 = xor i32 %26, -1 %27 = tail call range(i32 0, 17) i32 @llvm.cttz.i32(i32 %not.i1276, i1 true) - %cmp39.i1280 = icmp ult i32 %27, 16 + %cmp39.i1280 = icmp samesign ult i32 %27, 16 br i1 %cmp39.i1280, label %if.end124.i1213.thread, label %if.end42.i1281 if.end42.i1281: ; preds = %for.end.i1272 @@ -1907,7 +1907,7 @@ for.end.i1091: ; preds = %for.body.i1096 %88 = zext i16 %87 to i32 %not.i = xor i32 %88, -1 %89 = tail call range(i32 0, 17) i32 @llvm.cttz.i32(i32 %not.i, i1 true) - %cmp39.i = icmp ult i32 %89, 16 + %cmp39.i = icmp samesign ult i32 %89, 16 br i1 %cmp39.i, label %if.end124.i.thread, label %if.end42.i1094 if.end42.i1094: ; preds = %for.end.i1091 @@ -2427,7 +2427,7 @@ for.end.i1672: ; preds = %for.body.i1689 %156 = zext i16 %155 to i32 %not.i1676 = xor i32 %156, -1 %157 = tail call range(i32 0, 17) i32 @llvm.cttz.i32(i32 %not.i1676, i1 true) - %cmp39.i1680 = icmp ult i32 %157, 16 + %cmp39.i1680 = icmp samesign ult i32 %157, 16 br i1 %cmp39.i1680, label %if.end124.i1613.thread, label %if.end42.i1681 if.end42.i1681: ; preds = %for.end.i1672 @@ -2945,7 +2945,7 @@ for.end.i1472: ; preds = %for.body.i1489 %222 = zext i16 %221 to i32 %not.i1476 = xor i32 %222, -1 %223 = tail call range(i32 0, 17) i32 @llvm.cttz.i32(i32 %not.i1476, i1 true) - %cmp39.i1480 = icmp ult i32 %223, 16 + %cmp39.i1480 = icmp samesign ult i32 %223, 16 br i1 %cmp39.i1480, label %if.end124.i1413.thread, label %if.end42.i1481 if.end42.i1481: ; preds = %for.end.i1472 @@ -3698,7 +3698,7 @@ for.end.i452.i: ; preds = %for.body.i469.i %51 = zext i16 %50 to i32 %not.i456.i = xor i32 %51, -1 %52 = tail call range(i32 0, 17) i32 @llvm.cttz.i32(i32 %not.i456.i, i1 true) - %cmp39.i460.i = icmp ult i32 %52, 16 + %cmp39.i460.i = icmp samesign ult i32 %52, 16 br i1 %cmp39.i460.i, label %normal.i391.i, label %if.end42.i461.i if.end42.i461.i: ; preds = %for.end.i452.i @@ -4239,7 +4239,7 @@ for.end.i.i: ; preds = %for.body.i.i %119 = zext i16 %118 to i32 %not.i.i = xor i32 %119, -1 %120 = tail call range(i32 0, 17) i32 @llvm.cttz.i32(i32 %not.i.i, i1 true) - %cmp39.i.i = icmp ult i32 %120, 16 + %cmp39.i.i = icmp samesign ult i32 %120, 16 br i1 %cmp39.i.i, label %normal.i.i, label %if.end42.i277.i if.end42.i277.i: ; preds = %for.end.i.i @@ -5806,7 +5806,7 @@ for.end.i452.i: ; preds = %for.body.i469.i %51 = zext i16 %50 to i32 %not.i456.i = xor i32 %51, -1 %52 = tail call range(i32 0, 17) i32 @llvm.cttz.i32(i32 %not.i456.i, i1 true) - %cmp39.i460.i = icmp ult i32 %52, 16 + %cmp39.i460.i = icmp samesign ult i32 %52, 16 br i1 %cmp39.i460.i, label %normal.i391.i, label %if.end42.i461.i if.end42.i461.i: ; preds = %for.end.i452.i @@ -6263,7 +6263,7 @@ for.end.i.i: ; preds = %for.body.i.i %113 = zext i16 %112 to i32 %not.i.i = xor i32 %113, -1 %114 = tail call range(i32 0, 17) i32 @llvm.cttz.i32(i32 %not.i.i, i1 true) - %cmp39.i.i = icmp ult i32 %114, 16 + %cmp39.i.i = icmp samesign ult i32 %114, 16 br i1 %cmp39.i.i, label %normal.i.i, label %if.end42.i277.i if.end42.i277.i: ; preds = %for.end.i.i @@ -7402,7 +7402,7 @@ for.end.i452.i: ; preds = %for.body.i469.i %49 = zext i16 %48 to i32 %not.i456.i = xor i32 %49, -1 %50 = tail call range(i32 0, 17) i32 @llvm.cttz.i32(i32 %not.i456.i, i1 true) - %cmp39.i460.i = icmp ult i32 %50, 16 + %cmp39.i460.i = icmp samesign ult i32 %50, 16 br i1 %cmp39.i460.i, label %normal.i391.i, label %if.end42.i461.i if.end42.i461.i: ; preds = %for.end.i452.i @@ -7863,7 +7863,7 @@ for.end.i.i: ; preds = %for.body.i.i %114 = zext i16 %113 to i32 %not.i.i = xor i32 %114, -1 %115 = tail call range(i32 0, 17) i32 @llvm.cttz.i32(i32 %not.i.i, i1 true) - %cmp39.i.i = icmp ult i32 %115, 16 + %cmp39.i.i = icmp samesign ult i32 %115, 16 br i1 %cmp39.i.i, label %normal.i.i, label %if.end42.i277.i if.end42.i277.i: ; preds = %for.end.i.i @@ -9070,7 +9070,7 @@ for.end.i1502: ; preds = %for.body.i1519 %29 = zext i16 %28 to i32 %not.i1506 = xor i32 %29, -1 %30 = tail call range(i32 0, 17) i32 @llvm.cttz.i32(i32 %not.i1506, i1 true) - %cmp39.i1510 = icmp ult i32 %30, 16 + %cmp39.i1510 = icmp samesign ult i32 %30, 16 br i1 %cmp39.i1510, label %normal.i1441, label %if.end42.i1511 if.end42.i1511: ; preds = %for.end.i1502 @@ -9560,7 +9560,7 @@ for.end.i1302: ; preds = %for.body.i1319 %92 = zext i16 %91 to i32 %not.i1306 = xor i32 %92, -1 %93 = tail call range(i32 0, 17) i32 @llvm.cttz.i32(i32 %not.i1306, i1 true) - %cmp39.i1310 = icmp ult i32 %93, 16 + %cmp39.i1310 = icmp samesign ult i32 %93, 16 br i1 %cmp39.i1310, label %normal.i1241, label %if.end42.i1311 if.end42.i1311: ; preds = %for.end.i1302 @@ -10049,7 +10049,7 @@ for.end.i1102: ; preds = %for.body.i1119 %155 = zext i16 %154 to i32 %not.i1106 = xor i32 %155, -1 %156 = tail call range(i32 0, 17) i32 @llvm.cttz.i32(i32 %not.i1106, i1 true) - %cmp39.i1110 = icmp ult i32 %156, 16 + %cmp39.i1110 = icmp samesign ult i32 %156, 16 br i1 %cmp39.i1110, label %normal.i1041, label %if.end42.i1111 if.end42.i1111: ; preds = %for.end.i1102 @@ -10589,7 +10589,7 @@ for.end.i: ; preds = %for.body.i %222 = zext i16 %221 to i32 %not.i = xor i32 %222, -1 %223 = tail call range(i32 0, 17) i32 @llvm.cttz.i32(i32 %not.i, i1 true) - %cmp39.i = icmp ult i32 %223, 16 + %cmp39.i = icmp samesign ult i32 %223, 16 br i1 %cmp39.i, label %normal.i, label %if.end42.i927 if.end42.i927: ; preds = %for.end.i diff --git a/bench/hyperscan/optimized/mcsheng_compile.cpp.ll b/bench/hyperscan/optimized/mcsheng_compile.cpp.ll index 7cba4a5808c..be8df0cb5d0 100644 --- a/bench/hyperscan/optimized/mcsheng_compile.cpp.ll +++ b/bench/hyperscan/optimized/mcsheng_compile.cpp.ll @@ -10176,7 +10176,7 @@ land.lhs.true2: ; preds = %if.end %conv3 = zext i16 %curr_id to i32 %conv4 = zext i16 %.fr to i32 %mul = mul nuw nsw i32 %conv4, 3 - %cmp5 = icmp ugt i32 %mul, %conv3 + %cmp5 = icmp samesign ugt i32 %mul, %conv3 br i1 %cmp5, label %cleanup.cont, label %if.end7 if.end7: ; preds = %if.end, %land.lhs.true2 @@ -10196,7 +10196,7 @@ land.lhs.true17: ; preds = %if.end7 %conv22 = zext i16 %.fr to i32 %mul23 = mul nuw nsw i32 %conv22, 3 %add = add nuw nsw i32 %mul23, %conv9 - %cmp24 = icmp ugt i32 %add, %conv12 + %cmp24 = icmp samesign ugt i32 %add, %conv12 br i1 %cmp24, label %cleanup.cont, label %if.end28 if.end28: ; preds = %if.end7.if.end28_crit_edge, %land.lhs.true17 @@ -10675,7 +10675,7 @@ for.end85: ; preds = %for.inc82.us, %if.t if.end93: ; preds = %for.end85 %conv94 = zext i16 %best_score.1 to i32 %add96 = add nuw nsw i32 %cond, %conv94 - %cmp98 = icmp ult i32 %add96, %conv29.pre-phi + %cmp98 = icmp samesign ult i32 %add96, %conv29.pre-phi br i1 %cmp98, label %cleanup, label %if.end100 if.end100: ; preds = %if.end93 diff --git a/bench/jq/optimized/jv_dtoa.ll b/bench/jq/optimized/jv_dtoa.ll index c625b5140ab..bf77779f009 100644 --- a/bench/jq/optimized/jv_dtoa.ll +++ b/bench/jq/optimized/jv_dtoa.ll @@ -156,7 +156,7 @@ define double @jvp_strtod(ptr nocapture noundef %0, ptr noundef %1, ptr noundef %.0416931 = phi i32 [ %.1417, %37 ], [ 0, %.loopexit791 ] %.0460930 = phi i32 [ %38, %37 ], [ 0, %.loopexit791 ] %.4744929 = phi ptr [ %39, %37 ], [ %.1741, %.loopexit791 ] - %26 = icmp ult i32 %.0460930, 9 + %26 = icmp samesign ult i32 %.0460930, 9 br i1 %26, label %27, label %31 27: ; preds = %.lr.ph @@ -166,7 +166,7 @@ define double @jvp_strtod(ptr nocapture noundef %0, ptr noundef %1, ptr noundef br label %37 31: ; preds = %.lr.ph - %32 = icmp ult i32 %.0460930, 16 + %32 = icmp samesign ult i32 %.0460930, 16 br i1 %32, label %33, label %37 33: ; preds = %31 @@ -704,7 +704,7 @@ match.exit599: ; preds = %162, %.preheader br i1 %.not548, label %412, label %262 262: ; preds = %259 - %263 = icmp ugt i32 %261, 308 + %263 = icmp samesign ugt i32 %261, 308 br i1 %263, label %.loopexit, label %311 .loopexit: ; preds = %773, %bigcomp.exit, %662, %._crit_edge987, %262 @@ -987,20 +987,20 @@ Bfree.exit614: ; preds = %297, %298 %390 = lshr i32 %385, 20 %391 = and i32 %390, 2047 %392 = sub nsw i32 107, %391 - %393 = icmp ult i32 %391, 107 + %393 = icmp samesign ult i32 %391, 107 br i1 %393, label %394, label %408 394: ; preds = %388 - %395 = icmp ult i32 %391, 76 + %395 = icmp samesign ult i32 %391, 76 br i1 %395, label %396, label %405 396: ; preds = %394 - %397 = icmp ult i32 %391, 53 + %397 = icmp samesign ult i32 %391, 53 br i1 %397, label %411, label %398 398: ; preds = %396 store i32 0, ptr %10, align 8 - %399 = icmp ult i32 %391, 55 + %399 = icmp samesign ult i32 %391, 55 br i1 %399, label %400, label %401 400: ; preds = %398 @@ -1592,11 +1592,11 @@ cmp.exit636.thread764: ; preds = %641, %668, %cmp.exi %.4 = phi ptr [ %629, %cmp.exit636 ], [ %592, %668 ], [ %629, %641 ] %.pre1154 = and i32 %672, 2146435072 %673 = icmp ugt i32 %.pre1154, 112197632 - %or.cond1337.not = or i1 %673, %504 + %or.cond1337.not = or i1 %504, %673 br i1 %or.cond1337.not, label %cmp.exit636.thread764._crit_edge, label %674 674: ; preds = %cmp.exit636.thread764 - %675 = icmp ugt i32 %.pre1154, 57671680 + %675 = icmp samesign ugt i32 %.pre1154, 57671680 %brmerge = or i1 %500, %675 br i1 %brmerge, label %cmp.exit636.thread, label %411 @@ -1635,7 +1635,7 @@ cmp.exit636.thread764._crit_edge: ; preds = %cmp.exit636.thread7 687: ; preds = %686 %688 = lshr i32 %646, 20 %689 = and i32 %688, 2047 - %690 = icmp ugt i32 %689, 106 + %690 = icmp samesign ugt i32 %689, 106 br i1 %690, label %sulp.exit, label %691 691: ; preds = %687 @@ -1660,7 +1660,7 @@ sulp.exit: ; preds = %686, %687, %691 699: ; preds = %698 %700 = lshr i32 %646, 20 %701 = and i32 %700, 2047 - %702 = icmp ugt i32 %701, 106 + %702 = icmp samesign ugt i32 %701, 106 br i1 %702, label %sulp.exit645, label %703 703: ; preds = %699 @@ -2488,7 +2488,7 @@ Bfree.exit167.i: ; preds = %1047, %1046, %Bfree 1059: ; preds = %._crit_edge255.i %1060 = lshr i32 %.val160.i, 20 %1061 = and i32 %1060, 2047 - %1062 = icmp ugt i32 %1061, 106 + %1062 = icmp samesign ugt i32 %1061, 106 br i1 %1062, label %sulp.exit.i, label %1063 1063: ; preds = %1059 @@ -2525,7 +2525,7 @@ sulp.exit.i: ; preds = %1063, %1059, %._cri 1076: ; preds = %._crit_edge251.i %1077 = lshr i32 %1071, 20 %1078 = and i32 %1077, 2047 - %1079 = icmp ugt i32 %1078, 106 + %1079 = icmp samesign ugt i32 %1078, 106 br i1 %1079, label %sulp.exit175.i, label %1080 1080: ; preds = %1076 @@ -5666,7 +5666,7 @@ define noundef ptr @jvp_dtoa_fmt(ptr nocapture noundef %0, ptr noundef returned %52 = add i8 %51, 48 %53 = getelementptr inbounds i8, ptr %.2, i64 3 store i8 %52, ptr %.4, align 1 - %54 = icmp ult i32 %.042, 2 + %54 = icmp samesign ult i32 %.042, 2 br i1 %54, label %.loopexit.sink.split, label %.lr.ph80 .lr.ph80: ; preds = %.preheader59, %.lr.ph80 @@ -5852,7 +5852,7 @@ define internal fastcc double @b2d(ptr noundef readonly %0, ptr nocapture nounde %.020.i = select i1 %.not241.i, i32 %.3.i, i32 %spec.select27.i %16 = sub nuw nsw i32 32, %.020.i store i32 %16, ptr %1, align 4 - %17 = icmp ult i32 %.020.i, 11 + %17 = icmp samesign ult i32 %.020.i, 11 br i1 %17, label %18, label %31 18: ; preds = %2 diff --git a/bench/libdeflate/optimized/deflate_decompress.c.ll b/bench/libdeflate/optimized/deflate_decompress.c.ll index 60305e26b43..540b2e6e34c 100644 --- a/bench/libdeflate/optimized/deflate_decompress.c.ll +++ b/bench/libdeflate/optimized/deflate_decompress.c.ll @@ -159,7 +159,7 @@ next_block: ; preds = %block_done, %entry while.cond.preheader: ; preds = %next_block %conv21583 = and i32 %bitsleft.0, 255 - %cmp22584 = icmp ult i32 %conv21583, 56 + %cmp22584 = icmp samesign ult i32 %conv21583, 56 br i1 %cmp22584, label %while.body, label %do.end53 do.body13: ; preds = %next_block @@ -206,7 +206,7 @@ if.end51: ; preds = %if.else39, %if.then %in_next.2 = phi ptr [ %incdec.ptr, %if.then32 ], [ %in_next.1588, %if.else39 ] %add = add i32 %bitsleft.1586, 8 %conv21 = and i32 %add, 255 - %cmp22 = icmp ult i32 %conv21, 56 + %cmp22 = icmp samesign ult i32 %conv21, 56 br i1 %cmp22, label %while.body, label %do.end53 do.end53: ; preds = %if.end51, %while.cond.preheader, %do.body13 @@ -250,7 +250,7 @@ if.then61: ; preds = %do.end53 while.cond107.preheader: ; preds = %if.then61 %conv109605 = and i32 %sub, 255 - %cmp110606 = icmp ult i32 %conv109605, 56 + %cmp110606 = icmp samesign ult i32 %conv109605, 56 br i1 %cmp110606, label %while.body112, label %do.end147 do.body91: ; preds = %if.then61 @@ -297,7 +297,7 @@ if.end143: ; preds = %if.else129, %if.the %in_next.5 = phi ptr [ %incdec.ptr122, %if.then121 ], [ %in_next.4610, %if.else129 ] %add144 = add i32 %bitsleft.3608, 8 %conv109 = and i32 %add144, 255 - %cmp110 = icmp ult i32 %conv109, 56 + %cmp110 = icmp samesign ult i32 %conv109, 56 br i1 %cmp110, label %while.body112, label %do.end147 do.end147: ; preds = %if.end143, %while.cond107.preheader, %do.body91 @@ -358,7 +358,7 @@ do.body181: ; preds = %do.body181.preheade %bitbuf.8 = phi i64 [ %bitbuf.12, %do.cond408 ], [ %shr156, %do.body181.preheader ] %in_next.7 = phi ptr [ %in_next.8, %do.cond408 ], [ %in_next.6, %do.body181.preheader ] %conv183 = and i32 %bitsleft.6, 255 - %cmp184 = icmp ult i32 %conv183, 14 + %cmp184 = icmp samesign ult i32 %conv183, 14 br i1 %cmp184, label %do.body187, label %if.end259 do.body187: ; preds = %do.body181 @@ -410,7 +410,7 @@ if.end253: ; preds = %if.else239, %if.the %in_next.10 = phi ptr [ %incdec.ptr232, %if.then231 ], [ %in_next.9623, %if.else239 ] %add254 = add i32 %bitsleft.8621, 8 %conv219 = and i32 %add254, 255 - %cmp220 = icmp ult i32 %conv219, 56 + %cmp220 = icmp samesign ult i32 %conv219, 56 br i1 %cmp220, label %while.body222, label %if.end259 if.end259: ; preds = %if.end253, %do.body200, %do.body181 @@ -816,7 +816,7 @@ if.end794: ; preds = %if.end719.if.end794 br i1 %tobool813.not, label %if.else865, label %if.then820 if.then820: ; preds = %if.end794 - %cmp823 = icmp ult i32 %conv867, 38 + %cmp823 = icmp samesign ult i32 %conv867, 38 br i1 %cmp823, label %do.body833, label %if.end851 do.body833: ; preds = %if.then820 @@ -853,7 +853,7 @@ if.end851: ; preds = %do.body833, %if.the br label %if.end897 if.else865: ; preds = %if.end794 - %cmp868 = icmp ult i32 %conv867, 31 + %cmp868 = icmp samesign ult i32 %conv867, 31 br i1 %cmp868, label %do.body878, label %if.end897 do.body878: ; preds = %if.else865 @@ -1060,7 +1060,7 @@ for.cond1053: ; preds = %for.cond1053.backed while.cond1088.preheader: ; preds = %for.cond1053 %conv1090638 = and i32 %bitsleft.20, 255 - %cmp1091639 = icmp ult i32 %conv1090638, 56 + %cmp1091639 = icmp samesign ult i32 %conv1090638, 56 br i1 %cmp1091639, label %while.body1093, label %do.end1129 do.body1071: ; preds = %for.cond1053 @@ -1107,7 +1107,7 @@ if.end1124: ; preds = %if.else1110, %if.th %in_next.21 = phi ptr [ %incdec.ptr1103, %if.then1102 ], [ %in_next.20643, %if.else1110 ] %add1125 = add i32 %bitsleft.21641, 8 %conv1090 = and i32 %add1125, 255 - %cmp1091 = icmp ult i32 %conv1090, 56 + %cmp1091 = icmp samesign ult i32 %conv1090, 56 br i1 %cmp1091, label %while.body1093, label %do.end1129 do.end1129: ; preds = %if.end1124, %while.cond1088.preheader, %do.body1071 @@ -1355,7 +1355,7 @@ next_block: ; preds = %block_done, %entry while.cond.preheader: ; preds = %next_block %conv21583 = and i32 %bitsleft.0, 255 - %cmp22584 = icmp ult i32 %conv21583, 56 + %cmp22584 = icmp samesign ult i32 %conv21583, 56 br i1 %cmp22584, label %while.body, label %do.end53 do.body13: ; preds = %next_block @@ -1402,7 +1402,7 @@ if.end51: ; preds = %if.else39, %if.then %in_next.2 = phi ptr [ %incdec.ptr, %if.then32 ], [ %in_next.1588, %if.else39 ] %add = add i32 %bitsleft.1586, 8 %conv21 = and i32 %add, 255 - %cmp22 = icmp ult i32 %conv21, 56 + %cmp22 = icmp samesign ult i32 %conv21, 56 br i1 %cmp22, label %while.body, label %do.end53 do.end53: ; preds = %if.end51, %while.cond.preheader, %do.body13 @@ -1446,7 +1446,7 @@ if.then61: ; preds = %do.end53 while.cond107.preheader: ; preds = %if.then61 %conv109605 = and i32 %sub, 255 - %cmp110606 = icmp ult i32 %conv109605, 56 + %cmp110606 = icmp samesign ult i32 %conv109605, 56 br i1 %cmp110606, label %while.body112, label %do.end147 do.body91: ; preds = %if.then61 @@ -1493,7 +1493,7 @@ if.end143: ; preds = %if.else129, %if.the %in_next.5 = phi ptr [ %incdec.ptr122, %if.then121 ], [ %in_next.4610, %if.else129 ] %add144 = add i32 %bitsleft.3608, 8 %conv109 = and i32 %add144, 255 - %cmp110 = icmp ult i32 %conv109, 56 + %cmp110 = icmp samesign ult i32 %conv109, 56 br i1 %cmp110, label %while.body112, label %do.end147 do.end147: ; preds = %if.end143, %while.cond107.preheader, %do.body91 @@ -1554,7 +1554,7 @@ do.body181: ; preds = %do.body181.preheade %bitbuf.8 = phi i64 [ %bitbuf.12, %do.cond408 ], [ %shr156, %do.body181.preheader ] %in_next.7 = phi ptr [ %in_next.8, %do.cond408 ], [ %in_next.6, %do.body181.preheader ] %conv183 = and i32 %bitsleft.6, 255 - %cmp184 = icmp ult i32 %conv183, 14 + %cmp184 = icmp samesign ult i32 %conv183, 14 br i1 %cmp184, label %do.body187, label %if.end259 do.body187: ; preds = %do.body181 @@ -1606,7 +1606,7 @@ if.end253: ; preds = %if.else239, %if.the %in_next.10 = phi ptr [ %incdec.ptr232, %if.then231 ], [ %in_next.9623, %if.else239 ] %add254 = add i32 %bitsleft.8621, 8 %conv219 = and i32 %add254, 255 - %cmp220 = icmp ult i32 %conv219, 56 + %cmp220 = icmp samesign ult i32 %conv219, 56 br i1 %cmp220, label %while.body222, label %if.end259 if.end259: ; preds = %if.end253, %do.body200, %do.body181 @@ -2012,7 +2012,7 @@ if.end794: ; preds = %if.end719.if.end794 br i1 %tobool813.not, label %if.else865, label %if.then820 if.then820: ; preds = %if.end794 - %cmp823 = icmp ult i32 %conv867, 38 + %cmp823 = icmp samesign ult i32 %conv867, 38 br i1 %cmp823, label %do.body833, label %if.end851 do.body833: ; preds = %if.then820 @@ -2049,7 +2049,7 @@ if.end851: ; preds = %do.body833, %if.the br label %if.end897 if.else865: ; preds = %if.end794 - %cmp868 = icmp ult i32 %conv867, 31 + %cmp868 = icmp samesign ult i32 %conv867, 31 br i1 %cmp868, label %do.body878, label %if.end897 do.body878: ; preds = %if.else865 @@ -2256,7 +2256,7 @@ for.cond1053: ; preds = %for.cond1053.backed while.cond1088.preheader: ; preds = %for.cond1053 %conv1090638 = and i32 %bitsleft.20, 255 - %cmp1091639 = icmp ult i32 %conv1090638, 56 + %cmp1091639 = icmp samesign ult i32 %conv1090638, 56 br i1 %cmp1091639, label %while.body1093, label %do.end1129 do.body1071: ; preds = %for.cond1053 @@ -2303,7 +2303,7 @@ if.end1124: ; preds = %if.else1110, %if.th %in_next.21 = phi ptr [ %incdec.ptr1103, %if.then1102 ], [ %in_next.20643, %if.else1110 ] %add1125 = add i32 %bitsleft.21641, 8 %conv1090 = and i32 %add1125, 255 - %cmp1091 = icmp ult i32 %conv1090, 56 + %cmp1091 = icmp samesign ult i32 %conv1090, 56 br i1 %cmp1091, label %while.body1093, label %do.end1129 do.end1129: ; preds = %if.end1124, %while.cond1088.preheader, %do.body1071 diff --git a/bench/libquic/optimized/p256-64.c.ll b/bench/libquic/optimized/p256-64.c.ll index 9e12421d39f..aaf09009b61 100644 --- a/bench/libquic/optimized/p256-64.c.ll +++ b/bench/libquic/optimized/p256-64.c.ll @@ -117,7 +117,7 @@ if.end11: ; preds = %lor.lhs.false6 %conv55.i.i.i = trunc i128 %add42.i.i.i to i64 %shr56.i.i.i = ashr i64 %conv55.i.i.i, 63 %and.i.i.i = and i64 %conv55.i.i.i, 9223372036854775807 - %4 = icmp ugt i64 %and.i.i.i, 9223372032559808512 + %4 = icmp samesign ugt i64 %and.i.i.i, 9223372032559808512 %and60.i.i.i = select i1 %4, i64 %shr56.i.i.i, i64 0 %or.i.i.i = or i64 %and60.i.i.i, %not.i.i.i %conv62.i.i.i = zext i64 %or.i.i.i to i128 @@ -310,7 +310,7 @@ if.end11: ; preds = %lor.lhs.false6 %conv55.i.i98.i = trunc i128 %add42.i.i92.i to i64 %shr56.i.i99.i = ashr i64 %conv55.i.i98.i, 63 %and.i.i100.i = and i64 %conv55.i.i98.i, 9223372036854775807 - %23 = icmp ugt i64 %and.i.i100.i, 9223372032559808512 + %23 = icmp samesign ugt i64 %and.i.i100.i, 9223372032559808512 %and60.i.i101.i = select i1 %23, i64 %shr56.i.i99.i, i64 0 %or.i.i102.i = or i64 %and60.i.i101.i, %not.i.i97.i %conv62.i.i103.i = zext i64 %or.i.i102.i to i128 @@ -423,7 +423,7 @@ if.end11: ; preds = %lor.lhs.false6 %conv55.i.i196.i = trunc i128 %add42.i.i190.i to i64 %shr56.i.i197.i = ashr i64 %conv55.i.i196.i, 63 %and.i.i198.i = and i64 %conv55.i.i196.i, 9223372036854775807 - %32 = icmp ugt i64 %and.i.i198.i, 9223372032559808512 + %32 = icmp samesign ugt i64 %and.i.i198.i, 9223372032559808512 %and60.i.i199.i = select i1 %32, i64 %shr56.i.i197.i, i64 0 %or.i.i200.i = or i64 %and60.i.i199.i, %not.i.i195.i %conv62.i.i201.i = zext i64 %or.i.i200.i to i128 @@ -616,7 +616,7 @@ if.end11: ; preds = %lor.lhs.false6 %conv55.i.i343.i = trunc i128 %add42.i.i337.i to i64 %shr56.i.i344.i = ashr i64 %conv55.i.i343.i, 63 %and.i.i345.i = and i64 %conv55.i.i343.i, 9223372036854775807 - %51 = icmp ugt i64 %and.i.i345.i, 9223372032559808512 + %51 = icmp samesign ugt i64 %and.i.i345.i, 9223372032559808512 %and60.i.i346.i = select i1 %51, i64 %shr56.i.i344.i, i64 0 %or.i.i347.i = or i64 %and60.i.i346.i, %not.i.i342.i %conv62.i.i348.i = zext i64 %or.i.i347.i to i128 @@ -729,7 +729,7 @@ if.end11: ; preds = %lor.lhs.false6 %conv55.i.i441.i = trunc i128 %add42.i.i435.i to i64 %shr56.i.i442.i = ashr i64 %conv55.i.i441.i, 63 %and.i.i443.i = and i64 %conv55.i.i441.i, 9223372036854775807 - %60 = icmp ugt i64 %and.i.i443.i, 9223372032559808512 + %60 = icmp samesign ugt i64 %and.i.i443.i, 9223372032559808512 %and60.i.i444.i = select i1 %60, i64 %shr56.i.i442.i, i64 0 %or.i.i445.i = or i64 %and60.i.i444.i, %not.i.i440.i %conv62.i.i446.i = zext i64 %or.i.i445.i to i128 @@ -852,7 +852,7 @@ if.end11: ; preds = %lor.lhs.false6 %conv55.i.i539.i = trunc i128 %add42.i.i533.i to i64 %shr56.i.i540.i = ashr i64 %conv55.i.i539.i, 63 %and.i.i541.i = and i64 %conv55.i.i539.i, 9223372036854775807 - %69 = icmp ugt i64 %and.i.i541.i, 9223372032559808512 + %69 = icmp samesign ugt i64 %and.i.i541.i, 9223372032559808512 %and60.i.i542.i = select i1 %69, i64 %shr56.i.i540.i, i64 0 %or.i.i543.i = or i64 %and60.i.i542.i, %not.i.i538.i %conv62.i.i544.i = zext i64 %or.i.i543.i to i128 @@ -975,7 +975,7 @@ if.end11: ; preds = %lor.lhs.false6 %conv55.i.i637.i = trunc i128 %add42.i.i631.i to i64 %shr56.i.i638.i = ashr i64 %conv55.i.i637.i, 63 %and.i.i639.i = and i64 %conv55.i.i637.i, 9223372036854775807 - %78 = icmp ugt i64 %and.i.i639.i, 9223372032559808512 + %78 = icmp samesign ugt i64 %and.i.i639.i, 9223372032559808512 %and60.i.i640.i = select i1 %78, i64 %shr56.i.i638.i, i64 0 %or.i.i641.i = or i64 %and60.i.i640.i, %not.i.i636.i %conv62.i.i642.i = zext i64 %or.i.i641.i to i128 @@ -1176,7 +1176,7 @@ for.body.i: ; preds = %for.body.i, %if.end %conv55.i.i784.i = trunc i128 %add42.i.i778.i to i64 %shr56.i.i785.i = ashr i64 %conv55.i.i784.i, 63 %and.i.i786.i = and i64 %conv55.i.i784.i, 9223372036854775807 - %97 = icmp ugt i64 %and.i.i786.i, 9223372032559808512 + %97 = icmp samesign ugt i64 %and.i.i786.i, 9223372032559808512 %and60.i.i787.i = select i1 %97, i64 %shr56.i.i785.i, i64 0 %or.i.i788.i = or i64 %and60.i.i787.i, %not.i.i783.i %conv62.i.i789.i = zext i64 %or.i.i788.i to i128 @@ -1372,7 +1372,7 @@ for.body60.i: ; preds = %for.body60.i, %for. %conv55.i.i931.i = trunc i128 %add42.i.i925.i to i64 %shr56.i.i932.i = ashr i64 %conv55.i.i931.i, 63 %and.i.i933.i = and i64 %conv55.i.i931.i, 9223372036854775807 - %116 = icmp ugt i64 %and.i.i933.i, 9223372032559808512 + %116 = icmp samesign ugt i64 %and.i.i933.i, 9223372032559808512 %and60.i.i934.i = select i1 %116, i64 %shr56.i.i932.i, i64 0 %or.i.i935.i = or i64 %and60.i.i934.i, %not.i.i930.i %conv62.i.i936.i = zext i64 %or.i.i935.i to i128 @@ -1568,7 +1568,7 @@ for.body77.i: ; preds = %for.body77.i, %for. %conv55.i.i1078.i = trunc i128 %add42.i.i1072.i to i64 %shr56.i.i1079.i = ashr i64 %conv55.i.i1078.i, 63 %and.i.i1080.i = and i64 %conv55.i.i1078.i, 9223372036854775807 - %135 = icmp ugt i64 %and.i.i1080.i, 9223372032559808512 + %135 = icmp samesign ugt i64 %and.i.i1080.i, 9223372032559808512 %and60.i.i1081.i = select i1 %135, i64 %shr56.i.i1079.i, i64 0 %or.i.i1082.i = or i64 %and60.i.i1081.i, %not.i.i1077.i %conv62.i.i1083.i = zext i64 %or.i.i1082.i to i128 @@ -1764,7 +1764,7 @@ for.body93.i: ; preds = %for.body93.i, %for. %conv55.i.i1225.i = trunc i128 %add42.i.i1219.i to i64 %shr56.i.i1226.i = ashr i64 %conv55.i.i1225.i, 63 %and.i.i1227.i = and i64 %conv55.i.i1225.i, 9223372036854775807 - %154 = icmp ugt i64 %and.i.i1227.i, 9223372032559808512 + %154 = icmp samesign ugt i64 %and.i.i1227.i, 9223372032559808512 %and60.i.i1228.i = select i1 %154, i64 %shr56.i.i1226.i, i64 0 %or.i.i1229.i = or i64 %and60.i.i1228.i, %not.i.i1224.i %conv62.i.i1230.i = zext i64 %or.i.i1229.i to i128 @@ -1953,7 +1953,7 @@ for.body108.i: ; preds = %for.body108.i, %for %conv55.i.i1366.i = trunc i128 %add42.i.i1360.i to i64 %shr56.i.i1367.i = ashr i64 %conv55.i.i1366.i, 63 %and.i.i1368.i = and i64 %conv55.i.i1366.i, 9223372036854775807 - %173 = icmp ugt i64 %and.i.i1368.i, 9223372032559808512 + %173 = icmp samesign ugt i64 %and.i.i1368.i, 9223372032559808512 %and60.i.i1369.i = select i1 %173, i64 %shr56.i.i1367.i, i64 0 %or.i.i1370.i = or i64 %and60.i.i1369.i, %not.i.i1365.i %conv62.i.i1371.i = zext i64 %or.i.i1370.i to i128 @@ -2145,7 +2145,7 @@ for.body123.i: ; preds = %for.body123.i, %for %conv55.i.i1507.i = trunc i128 %add42.i.i1501.i to i64 %shr56.i.i1508.i = ashr i64 %conv55.i.i1507.i, 63 %and.i.i1509.i = and i64 %conv55.i.i1507.i, 9223372036854775807 - %192 = icmp ugt i64 %and.i.i1509.i, 9223372032559808512 + %192 = icmp samesign ugt i64 %and.i.i1509.i, 9223372032559808512 %and60.i.i1510.i = select i1 %192, i64 %shr56.i.i1508.i, i64 0 %or.i.i1511.i = or i64 %and60.i.i1510.i, %not.i.i1506.i %conv62.i.i1512.i = zext i64 %or.i.i1511.i to i128 @@ -2334,7 +2334,7 @@ for.body138.i: ; preds = %for.body138.i, %for %conv55.i.i1648.i = trunc i128 %add42.i.i1642.i to i64 %shr56.i.i1649.i = ashr i64 %conv55.i.i1648.i, 63 %and.i.i1650.i = and i64 %conv55.i.i1648.i, 9223372036854775807 - %211 = icmp ugt i64 %and.i.i1650.i, 9223372032559808512 + %211 = icmp samesign ugt i64 %and.i.i1650.i, 9223372032559808512 %and60.i.i1651.i = select i1 %211, i64 %shr56.i.i1649.i, i64 0 %or.i.i1652.i = or i64 %and60.i.i1651.i, %not.i.i1647.i %conv62.i.i1653.i = zext i64 %or.i.i1652.i to i128 @@ -2504,7 +2504,7 @@ felem_inv.exit: ; preds = %for.body138.i %conv55.i.i1789.i = trunc i128 %add42.i.i1783.i to i64 %shr56.i.i1790.i = ashr i64 %conv55.i.i1789.i, 63 %and.i.i1791.i = and i64 %conv55.i.i1789.i, 9223372036854775807 - %232 = icmp ugt i64 %and.i.i1791.i, 9223372032559808512 + %232 = icmp samesign ugt i64 %and.i.i1791.i, 9223372032559808512 %and60.i.i1792.i = select i1 %232, i64 %shr56.i.i1790.i, i64 0 %or.i.i1793.i = or i64 %and60.i.i1792.i, %not.i.i1788.i %conv62.i.i1794.i = zext i64 %or.i.i1793.i to i128 @@ -2626,7 +2626,7 @@ felem_inv.exit: ; preds = %for.body138.i %conv55.i.i1887.i = trunc i128 %add42.i.i1881.i to i64 %shr56.i.i1888.i = ashr i64 %conv55.i.i1887.i, 63 %and.i.i1889.i = and i64 %conv55.i.i1887.i, 9223372036854775807 - %240 = icmp ugt i64 %and.i.i1889.i, 9223372032559808512 + %240 = icmp samesign ugt i64 %and.i.i1889.i, 9223372032559808512 %and60.i.i1890.i = select i1 %240, i64 %shr56.i.i1888.i, i64 0 %or.i.i1891.i = or i64 %and60.i.i1890.i, %not.i.i1886.i %conv62.i.i1892.i = zext i64 %or.i.i1891.i to i128 @@ -2800,7 +2800,7 @@ felem_inv.exit: ; preds = %for.body138.i %conv55.i.i2028.i = trunc i128 %add42.i.i2022.i to i64 %shr56.i.i2029.i = ashr i64 %conv55.i.i2028.i, 63 %and.i.i2030.i = and i64 %conv55.i.i2028.i, 9223372036854775807 - %259 = icmp ugt i64 %and.i.i2030.i, 9223372032559808512 + %259 = icmp samesign ugt i64 %and.i.i2030.i, 9223372032559808512 %and60.i.i2031.i = select i1 %259, i64 %shr56.i.i2029.i, i64 0 %or.i.i2032.i = or i64 %and60.i.i2031.i, %not.i.i2027.i %conv62.i.i2033.i = zext i64 %or.i.i2032.i to i128 @@ -2922,7 +2922,7 @@ felem_inv.exit: ; preds = %for.body138.i %conv55.i.i2126.i = trunc i128 %add42.i.i2120.i to i64 %shr56.i.i2127.i = ashr i64 %conv55.i.i2126.i, 63 %and.i.i2128.i = and i64 %conv55.i.i2126.i, 9223372036854775807 - %267 = icmp ugt i64 %and.i.i2128.i, 9223372032559808512 + %267 = icmp samesign ugt i64 %and.i.i2128.i, 9223372032559808512 %and60.i.i2129.i = select i1 %267, i64 %shr56.i.i2127.i, i64 0 %or.i.i2130.i = or i64 %and60.i.i2129.i, %not.i.i2125.i %conv62.i.i2131.i = zext i64 %or.i.i2130.i to i128 @@ -3165,7 +3165,7 @@ felem_inv.exit: ; preds = %for.body138.i %conv55.i.i = trunc i128 %add42.i.i to i64 %shr56.i.i = ashr i64 %conv55.i.i, 63 %and.i.i = and i64 %conv55.i.i, 9223372036854775807 - %298 = icmp ugt i64 %and.i.i, 9223372032559808512 + %298 = icmp samesign ugt i64 %and.i.i, 9223372032559808512 %and60.i.i = select i1 %298, i64 %shr56.i.i, i64 0 %or.i.i = or i64 %and60.i.i, %not.i.i %conv62.i.i = zext i64 %or.i.i to i128 @@ -3750,7 +3750,7 @@ if.end92: ; preds = %lor.lhs.false87 %conv55.i = trunc i128 %add42.i to i64 %shr56.i = ashr i64 %conv55.i, 63 %and.i = and i64 %conv55.i, 9223372036854775807 - %7 = icmp ugt i64 %and.i, 9223372032559808512 + %7 = icmp samesign ugt i64 %and.i, 9223372032559808512 %and60.i = select i1 %7, i64 %shr56.i, i64 0 %or.i = or i64 %and60.i, %not.i %conv62.i = zext i64 %or.i to i128 @@ -3809,7 +3809,7 @@ if.end92: ; preds = %lor.lhs.false87 %conv55.i132 = trunc i128 %add42.i126 to i64 %shr56.i133 = ashr i64 %conv55.i132, 63 %and.i134 = and i64 %conv55.i132, 9223372036854775807 - %14 = icmp ugt i64 %and.i134, 9223372032559808512 + %14 = icmp samesign ugt i64 %and.i134, 9223372032559808512 %and60.i135 = select i1 %14, i64 %shr56.i133, i64 0 %or.i136 = or i64 %and60.i135, %not.i131 %conv62.i137 = zext i64 %or.i136 to i128 @@ -3868,7 +3868,7 @@ if.end92: ; preds = %lor.lhs.false87 %conv55.i186 = trunc i128 %add42.i180 to i64 %shr56.i187 = ashr i64 %conv55.i186, 63 %and.i188 = and i64 %conv55.i186, 9223372036854775807 - %21 = icmp ugt i64 %and.i188, 9223372032559808512 + %21 = icmp samesign ugt i64 %and.i188, 9223372032559808512 %and60.i189 = select i1 %21, i64 %shr56.i187, i64 0 %or.i190 = or i64 %and60.i189, %not.i185 %conv62.i191 = zext i64 %or.i190 to i128 @@ -3986,7 +3986,7 @@ if.then113: ; preds = %for.body111 %conv55.i.i = trunc i128 %add42.i.i to i64 %shr56.i.i = ashr i64 %conv55.i.i, 63 %and.i.i = and i64 %conv55.i.i, 9223372036854775807 - %40 = icmp ugt i64 %and.i.i, 9223372032559808512 + %40 = icmp samesign ugt i64 %and.i.i, 9223372032559808512 %and60.i.i = select i1 %40, i64 %shr56.i.i, i64 0 %or.i.i = or i64 %and60.i.i, %not.i.i %conv62.i.i = zext i64 %or.i.i to i128 @@ -4048,7 +4048,7 @@ if.then113: ; preds = %for.body111 %conv55.i48.i = trunc i128 %add42.i42.i to i64 %shr56.i49.i = ashr i64 %conv55.i48.i, 63 %and.i50.i = and i64 %conv55.i48.i, 9223372036854775807 - %47 = icmp ugt i64 %and.i50.i, 9223372032559808512 + %47 = icmp samesign ugt i64 %and.i50.i, 9223372032559808512 %and60.i51.i = select i1 %47, i64 %shr56.i49.i, i64 0 %or.i52.i = or i64 %and60.i51.i, %not.i47.i %conv62.i53.i = zext i64 %or.i52.i to i128 @@ -4110,7 +4110,7 @@ if.then113: ; preds = %for.body111 %conv55.i102.i = trunc i128 %add42.i96.i to i64 %shr56.i103.i = ashr i64 %conv55.i102.i, 63 %and.i104.i = and i64 %conv55.i102.i, 9223372036854775807 - %54 = icmp ugt i64 %and.i104.i, 9223372032559808512 + %54 = icmp samesign ugt i64 %and.i104.i, 9223372032559808512 %and60.i105.i = select i1 %54, i64 %shr56.i103.i, i64 0 %or.i106.i = or i64 %and60.i105.i, %not.i101.i %conv62.i107.i = zext i64 %or.i106.i to i128 @@ -4237,7 +4237,7 @@ if.else152: ; preds = %for.body111 %conv55.i.i270 = trunc i128 %add42.i.i264 to i64 %shr56.i.i271 = ashr i64 %conv55.i.i270, 63 %and.i.i272 = and i64 %conv55.i.i270, 9223372036854775807 - %73 = icmp ugt i64 %and.i.i272, 9223372032559808512 + %73 = icmp samesign ugt i64 %and.i.i272, 9223372032559808512 %and60.i.i273 = select i1 %73, i64 %shr56.i.i271, i64 0 %or.i.i274 = or i64 %and60.i.i273, %not.i.i269 %conv62.i.i275 = zext i64 %or.i.i274 to i128 @@ -4299,7 +4299,7 @@ if.else152: ; preds = %for.body111 %conv55.i48.i324 = trunc i128 %add42.i42.i318 to i64 %shr56.i49.i325 = ashr i64 %conv55.i48.i324, 63 %and.i50.i326 = and i64 %conv55.i48.i324, 9223372036854775807 - %80 = icmp ugt i64 %and.i50.i326, 9223372032559808512 + %80 = icmp samesign ugt i64 %and.i50.i326, 9223372032559808512 %and60.i51.i327 = select i1 %80, i64 %shr56.i49.i325, i64 0 %or.i52.i328 = or i64 %and60.i51.i327, %not.i47.i323 %conv62.i53.i329 = zext i64 %or.i52.i328 to i128 @@ -4361,7 +4361,7 @@ if.else152: ; preds = %for.body111 %conv55.i102.i378 = trunc i128 %add42.i96.i372 to i64 %shr56.i103.i379 = ashr i64 %conv55.i102.i378, 63 %and.i104.i380 = and i64 %conv55.i102.i378, 9223372036854775807 - %87 = icmp ugt i64 %and.i104.i380, 9223372032559808512 + %87 = icmp samesign ugt i64 %and.i104.i380, 9223372032559808512 %and60.i105.i381 = select i1 %87, i64 %shr56.i103.i379, i64 0 %or.i106.i382 = or i64 %and60.i105.i381, %not.i101.i377 %conv62.i107.i383 = zext i64 %or.i106.i382 to i128 @@ -4920,7 +4920,7 @@ copy_small_conditional.exit.i: ; preds = %for.body.i281.i %conv55.i.i.i = trunc i128 %add42.i.i.i to i64 %shr56.i.i.i = ashr i64 %conv55.i.i.i, 63 %and.i.i.i = and i64 %conv55.i.i.i, 9223372036854775807 - %168 = icmp ugt i64 %and.i.i.i, 9223372032559808512 + %168 = icmp samesign ugt i64 %and.i.i.i, 9223372032559808512 %and60.i.i.i = select i1 %168, i64 %shr56.i.i.i, i64 0 %or.i.i.i = or i64 %and60.i.i.i, %not.i.i.i %conv62.i.i.i = zext i64 %or.i.i.i to i128 @@ -5366,7 +5366,7 @@ entry: %conv55.i = trunc i128 %add42.i to i64 %shr56.i = ashr i64 %conv55.i, 63 %and.i = and i64 %conv55.i, 9223372036854775807 - %4 = icmp ugt i64 %and.i, 9223372032559808512 + %4 = icmp samesign ugt i64 %and.i, 9223372032559808512 %and60.i = select i1 %4, i64 %shr56.i, i64 0 %or.i = or i64 %and60.i, %not.i %conv62.i = zext i64 %or.i to i128 @@ -5431,7 +5431,7 @@ entry: %conv55.i28 = trunc i128 %add42.i22 to i64 %shr56.i29 = ashr i64 %conv55.i28, 63 %and.i30 = and i64 %conv55.i28, 9223372036854775807 - %11 = icmp ugt i64 %and.i30, 9223372032559808512 + %11 = icmp samesign ugt i64 %and.i30, 9223372032559808512 %and60.i31 = select i1 %11, i64 %shr56.i29, i64 0 %or.i32 = or i64 %and60.i31, %not.i27 %conv62.i33 = zext i64 %or.i32 to i128 @@ -5503,7 +5503,7 @@ entry: %conv55.i = trunc i128 %add42.i to i64 %shr56.i = ashr i64 %conv55.i, 63 %and.i = and i64 %conv55.i, 9223372036854775807 - %4 = icmp ugt i64 %and.i, 9223372032559808512 + %4 = icmp samesign ugt i64 %and.i, 9223372032559808512 %and60.i = select i1 %4, i64 %shr56.i, i64 0 %or.i = or i64 %and60.i, %not.i %conv62.i = zext i64 %or.i to i128 @@ -5881,7 +5881,7 @@ entry: %conv55.i = trunc i128 %add42.i to i64 %shr56.i = ashr i64 %conv55.i, 63 %and.i = and i64 %conv55.i, 9223372036854775807 - %4 = icmp ugt i64 %and.i, 9223372032559808512 + %4 = icmp samesign ugt i64 %and.i, 9223372032559808512 %and60.i = select i1 %4, i64 %shr56.i, i64 0 %or.i = or i64 %and60.i, %not.i %conv62.i = zext i64 %or.i to i128 @@ -6127,7 +6127,7 @@ entry: %conv55.i113 = trunc i128 %add42.i107 to i64 %shr56.i114 = ashr i64 %conv55.i113, 63 %and.i115 = and i64 %conv55.i113, 9223372036854775807 - %17 = icmp ugt i64 %and.i115, 9223372032559808512 + %17 = icmp samesign ugt i64 %and.i115, 9223372032559808512 %and60.i116 = select i1 %17, i64 %shr56.i114, i64 0 %or.i117 = or i64 %and60.i116, %not.i112 %conv62.i118 = zext i64 %or.i117 to i128 @@ -6281,7 +6281,7 @@ if.then: ; preds = %entry %conv55.i283 = trunc i128 %add42.i277 to i64 %shr56.i284 = ashr i64 %conv55.i283, 63 %and.i285 = and i64 %conv55.i283, 9223372036854775807 - %24 = icmp ugt i64 %and.i285, 9223372032559808512 + %24 = icmp samesign ugt i64 %and.i285, 9223372032559808512 %and60.i286 = select i1 %24, i64 %shr56.i284, i64 0 %or.i287 = or i64 %and60.i286, %not.i282 %conv62.i288 = zext i64 %or.i287 to i128 @@ -6346,7 +6346,7 @@ if.then: ; preds = %entry %conv55.i337 = trunc i128 %add42.i331 to i64 %shr56.i338 = ashr i64 %conv55.i337, 63 %and.i339 = and i64 %conv55.i337, 9223372036854775807 - %31 = icmp ugt i64 %and.i339, 9223372032559808512 + %31 = icmp samesign ugt i64 %and.i339, 9223372032559808512 %and60.i340 = select i1 %31, i64 %shr56.i338, i64 0 %or.i341 = or i64 %and60.i340, %not.i336 %conv62.i342 = zext i64 %or.i341 to i128 @@ -6453,7 +6453,7 @@ if.then: ; preds = %entry %conv55.i.i = trunc i128 %add42.i.i to i64 %shr56.i.i = ashr i64 %conv55.i.i, 63 %and.i.i = and i64 %conv55.i.i, 9223372036854775807 - %49 = icmp ugt i64 %and.i.i, 9223372032559808512 + %49 = icmp samesign ugt i64 %and.i.i, 9223372032559808512 %and60.i.i = select i1 %49, i64 %shr56.i.i, i64 0 %or.i.i = or i64 %and60.i.i, %not.i.i %conv62.i.i = zext i64 %or.i.i to i128 @@ -6790,7 +6790,7 @@ if.end: ; preds = %if.else, %if.then %conv55.i676 = trunc i128 %add42.i670 to i64 %shr56.i677 = ashr i64 %conv55.i676, 63 %and.i678 = and i64 %conv55.i676, 9223372036854775807 - %102 = icmp ugt i64 %and.i678, 9223372032559808512 + %102 = icmp samesign ugt i64 %and.i678, 9223372032559808512 %and60.i679 = select i1 %102, i64 %shr56.i677, i64 0 %or.i680 = or i64 %and60.i679, %not.i675 %conv62.i681 = zext i64 %or.i680 to i128 @@ -6885,7 +6885,7 @@ if.end: ; preds = %if.else, %if.then %conv55.i.i771 = trunc i128 %add42.i.i765 to i64 %shr56.i.i772 = ashr i64 %conv55.i.i771, 63 %and.i.i773 = and i64 %conv55.i.i771, 9223372036854775807 - %106 = icmp ugt i64 %and.i.i773, 9223372032559808512 + %106 = icmp samesign ugt i64 %and.i.i773, 9223372032559808512 %and60.i.i774 = select i1 %106, i64 %shr56.i.i772, i64 0 %or.i.i775 = or i64 %and60.i.i774, %not.i.i770 %conv62.i.i776 = zext i64 %or.i.i775 to i128 @@ -7028,7 +7028,7 @@ if.end: ; preds = %if.else, %if.then %conv55.i.i912 = trunc i128 %add42.i.i906 to i64 %shr56.i.i913 = ashr i64 %conv55.i.i912, 63 %and.i.i914 = and i64 %conv55.i.i912, 9223372036854775807 - %131 = icmp ugt i64 %and.i.i914, 9223372032559808512 + %131 = icmp samesign ugt i64 %and.i.i914, 9223372032559808512 %and60.i.i915 = select i1 %131, i64 %shr56.i.i913, i64 0 %or.i.i916 = or i64 %and60.i.i915, %not.i.i911 %conv62.i.i917 = zext i64 %or.i.i916 to i128 @@ -7139,7 +7139,7 @@ if.end: ; preds = %if.else, %if.then %conv55.i1030 = trunc i128 %add42.i1024 to i64 %shr56.i1031 = ashr i64 %conv55.i1030, 63 %and.i1032 = and i64 %conv55.i1030, 9223372036854775807 - %152 = icmp ugt i64 %and.i1032, 9223372032559808512 + %152 = icmp samesign ugt i64 %and.i1032, 9223372032559808512 %and60.i1033 = select i1 %152, i64 %shr56.i1031, i64 0 %or.i1034 = or i64 %and60.i1033, %not.i1029 %conv62.i1035 = zext i64 %or.i1034 to i128 @@ -7248,7 +7248,7 @@ if.end83: ; preds = %if.end %conv55.i.i1139 = trunc i128 %add42.i.i1133 to i64 %shr56.i.i1140 = ashr i64 %conv55.i.i1139, 63 %and.i.i1141 = and i64 %conv55.i.i1139, 9223372036854775807 - %156 = icmp ugt i64 %and.i.i1141, 9223372032559808512 + %156 = icmp samesign ugt i64 %and.i.i1141, 9223372032559808512 %and60.i.i1142 = select i1 %156, i64 %shr56.i.i1140, i64 0 %or.i.i1143 = or i64 %and60.i.i1142, %not.i.i1138 %conv62.i.i1144 = zext i64 %or.i.i1143 to i128 @@ -7590,7 +7590,7 @@ if.end83: ; preds = %if.end %conv55.i.i1490 = trunc i128 %add42.i.i1484 to i64 %shr56.i.i1491 = ashr i64 %conv55.i.i1490, 63 %and.i.i1492 = and i64 %conv55.i.i1490, 9223372036854775807 - %189 = icmp ugt i64 %and.i.i1492, 9223372032559808512 + %189 = icmp samesign ugt i64 %and.i.i1492, 9223372032559808512 %and60.i.i1493 = select i1 %189, i64 %shr56.i.i1491, i64 0 %or.i.i1494 = or i64 %and60.i.i1493, %not.i.i1489 %conv62.i.i1495 = zext i64 %or.i.i1494 to i128 @@ -7893,7 +7893,7 @@ entry: %conv55.i.i = trunc i128 %add42.i.i to i64 %shr56.i.i = ashr i64 %conv55.i.i, 63 %and.i.i = and i64 %conv55.i.i, 9223372036854775807 - %8 = icmp ugt i64 %and.i.i, 9223372032559808512 + %8 = icmp samesign ugt i64 %and.i.i, 9223372032559808512 %and60.i.i = select i1 %8, i64 %shr56.i.i, i64 0 %or.i.i = or i64 %and60.i.i, %not.i.i %conv62.i.i = zext i64 %or.i.i to i128 @@ -8034,7 +8034,7 @@ entry: %conv55.i.i52 = trunc i128 %add42.i.i46 to i64 %shr56.i.i53 = ashr i64 %conv55.i.i52, 63 %and.i.i54 = and i64 %conv55.i.i52, 9223372036854775807 - %19 = icmp ugt i64 %and.i.i54, 9223372032559808512 + %19 = icmp samesign ugt i64 %and.i.i54, 9223372032559808512 %and60.i.i55 = select i1 %19, i64 %shr56.i.i53, i64 0 %or.i.i56 = or i64 %and60.i.i55, %not.i.i51 %conv62.i.i57 = zext i64 %or.i.i56 to i128 @@ -8169,7 +8169,7 @@ entry: %conv55.i = trunc i128 %add42.i to i64 %shr56.i = ashr i64 %conv55.i, 63 %and.i = and i64 %conv55.i, 9223372036854775807 - %26 = icmp ugt i64 %and.i, 9223372032559808512 + %26 = icmp samesign ugt i64 %and.i, 9223372032559808512 %and60.i = select i1 %26, i64 %shr56.i, i64 0 %or.i = or i64 %and60.i, %not.i %conv62.i = zext i64 %or.i to i128 @@ -8228,7 +8228,7 @@ entry: %conv55.i.i151 = trunc i128 %add42.i.i145 to i64 %shr56.i.i152 = ashr i64 %conv55.i.i151, 63 %and.i.i153 = and i64 %conv55.i.i151, 9223372036854775807 - %29 = icmp ugt i64 %and.i.i153, 9223372032559808512 + %29 = icmp samesign ugt i64 %and.i.i153, 9223372032559808512 %and60.i.i154 = select i1 %29, i64 %shr56.i.i152, i64 0 %or.i.i155 = or i64 %and60.i.i154, %not.i.i150 %conv62.i.i156 = zext i64 %or.i.i155 to i128 @@ -8373,7 +8373,7 @@ entry: %conv55.i308 = trunc i128 %add42.i302 to i64 %shr56.i309 = ashr i64 %conv55.i308, 63 %and.i310 = and i64 %conv55.i308, 9223372036854775807 - %57 = icmp ugt i64 %and.i310, 9223372032559808512 + %57 = icmp samesign ugt i64 %and.i310, 9223372032559808512 %and60.i311 = select i1 %57, i64 %shr56.i309, i64 0 %or.i312 = or i64 %and60.i311, %not.i307 %conv62.i313 = zext i64 %or.i312 to i128 @@ -8552,7 +8552,7 @@ entry: %conv55.i.i468 = trunc i128 %add42.i.i462 to i64 %shr56.i.i469 = ashr i64 %conv55.i.i468, 63 %and.i.i470 = and i64 %conv55.i.i468, 9223372036854775807 - %72 = icmp ugt i64 %and.i.i470, 9223372032559808512 + %72 = icmp samesign ugt i64 %and.i.i470, 9223372032559808512 %and60.i.i471 = select i1 %72, i64 %shr56.i.i469, i64 0 %or.i.i472 = or i64 %and60.i.i471, %not.i.i467 %conv62.i.i473 = zext i64 %or.i.i472 to i128 @@ -8717,7 +8717,7 @@ entry: %conv55.i.i601 = trunc i128 %add42.i.i595 to i64 %shr56.i.i602 = ashr i64 %conv55.i.i601, 63 %and.i.i603 = and i64 %conv55.i.i601, 9223372036854775807 - %87 = icmp ugt i64 %and.i.i603, 9223372032559808512 + %87 = icmp samesign ugt i64 %and.i.i603, 9223372032559808512 %and60.i.i604 = select i1 %87, i64 %shr56.i.i602, i64 0 %or.i.i605 = or i64 %and60.i.i604, %not.i.i600 %conv62.i.i606 = zext i64 %or.i.i605 to i128 diff --git a/bench/libwebp/optimized/yuv.c.ll b/bench/libwebp/optimized/yuv.c.ll index a1afe9064b3..438b8640c2c 100644 --- a/bench/libwebp/optimized/yuv.c.ll +++ b/bench/libwebp/optimized/yuv.c.ll @@ -428,7 +428,7 @@ define internal void @YuvToRgbRow(ptr nocapture noundef readonly %0, ptr nocaptu %21 = add nsw i32 %20, -14234 %22 = icmp ult i32 %21, 16384 %23 = lshr i32 %21, 6 - %24 = icmp ult i32 %20, 14234 + %24 = icmp samesign ult i32 %20, 14234 %25 = select i1 %24, i32 0, i32 255 %26 = select i1 %22, i32 %23, i32 %25 %27 = trunc i32 %26 to i8 @@ -454,7 +454,7 @@ define internal void @YuvToRgbRow(ptr nocapture noundef readonly %0, ptr nocaptu %45 = add nsw i32 %44, -17685 %46 = icmp ult i32 %45, 16384 %47 = lshr i32 %45, 6 - %48 = icmp ult i32 %44, 17685 + %48 = icmp samesign ult i32 %44, 17685 %49 = select i1 %48, i32 0, i32 255 %50 = select i1 %46, i32 %47, i32 %49 %51 = trunc i32 %50 to i8 @@ -476,7 +476,7 @@ define internal void @YuvToRgbRow(ptr nocapture noundef readonly %0, ptr nocaptu %66 = add nsw i32 %65, -14234 %67 = icmp ult i32 %66, 16384 %68 = lshr i32 %66, 6 - %69 = icmp ult i32 %65, 14234 + %69 = icmp samesign ult i32 %65, 14234 %70 = select i1 %69, i32 0, i32 255 %71 = select i1 %67, i32 %68, i32 %70 %72 = trunc i32 %71 to i8 @@ -502,7 +502,7 @@ define internal void @YuvToRgbRow(ptr nocapture noundef readonly %0, ptr nocaptu %90 = add nsw i32 %89, -17685 %91 = icmp ult i32 %90, 16384 %92 = lshr i32 %90, 6 - %93 = icmp ult i32 %89, 17685 + %93 = icmp samesign ult i32 %89, 17685 %94 = select i1 %93, i32 0, i32 255 %95 = select i1 %91, i32 %92, i32 %94 %96 = trunc i32 %95 to i8 @@ -539,7 +539,7 @@ define internal void @YuvToRgbRow(ptr nocapture noundef readonly %0, ptr nocaptu %115 = add nsw i32 %114, -14234 %116 = icmp ult i32 %115, 16384 %117 = lshr i32 %115, 6 - %118 = icmp ult i32 %114, 14234 + %118 = icmp samesign ult i32 %114, 14234 %119 = select i1 %118, i32 0, i32 255 %120 = select i1 %116, i32 %117, i32 %119 %121 = trunc i32 %120 to i8 @@ -565,7 +565,7 @@ define internal void @YuvToRgbRow(ptr nocapture noundef readonly %0, ptr nocaptu %139 = add nsw i32 %138, -17685 %140 = icmp ult i32 %139, 16384 %141 = lshr i32 %139, 6 - %142 = icmp ult i32 %138, 17685 + %142 = icmp samesign ult i32 %138, 17685 %143 = select i1 %142, i32 0, i32 255 %144 = select i1 %140, i32 %141, i32 %143 %145 = trunc i32 %144 to i8 @@ -605,7 +605,7 @@ define internal void @YuvToRgbaRow(ptr nocapture noundef readonly %0, ptr nocapt %21 = add nsw i32 %20, -14234 %22 = icmp ult i32 %21, 16384 %23 = lshr i32 %21, 6 - %24 = icmp ult i32 %20, 14234 + %24 = icmp samesign ult i32 %20, 14234 %25 = select i1 %24, i32 0, i32 255 %26 = select i1 %22, i32 %23, i32 %25 %27 = trunc i32 %26 to i8 @@ -631,7 +631,7 @@ define internal void @YuvToRgbaRow(ptr nocapture noundef readonly %0, ptr nocapt %45 = add nsw i32 %44, -17685 %46 = icmp ult i32 %45, 16384 %47 = lshr i32 %45, 6 - %48 = icmp ult i32 %44, 17685 + %48 = icmp samesign ult i32 %44, 17685 %49 = select i1 %48, i32 0, i32 255 %50 = select i1 %46, i32 %47, i32 %49 %51 = trunc i32 %50 to i8 @@ -655,7 +655,7 @@ define internal void @YuvToRgbaRow(ptr nocapture noundef readonly %0, ptr nocapt %67 = add nsw i32 %66, -14234 %68 = icmp ult i32 %67, 16384 %69 = lshr i32 %67, 6 - %70 = icmp ult i32 %66, 14234 + %70 = icmp samesign ult i32 %66, 14234 %71 = select i1 %70, i32 0, i32 255 %72 = select i1 %68, i32 %69, i32 %71 %73 = trunc i32 %72 to i8 @@ -681,7 +681,7 @@ define internal void @YuvToRgbaRow(ptr nocapture noundef readonly %0, ptr nocapt %91 = add nsw i32 %90, -17685 %92 = icmp ult i32 %91, 16384 %93 = lshr i32 %91, 6 - %94 = icmp ult i32 %90, 17685 + %94 = icmp samesign ult i32 %90, 17685 %95 = select i1 %94, i32 0, i32 255 %96 = select i1 %92, i32 %93, i32 %95 %97 = trunc i32 %96 to i8 @@ -720,7 +720,7 @@ define internal void @YuvToRgbaRow(ptr nocapture noundef readonly %0, ptr nocapt %117 = add nsw i32 %116, -14234 %118 = icmp ult i32 %117, 16384 %119 = lshr i32 %117, 6 - %120 = icmp ult i32 %116, 14234 + %120 = icmp samesign ult i32 %116, 14234 %121 = select i1 %120, i32 0, i32 255 %122 = select i1 %118, i32 %119, i32 %121 %123 = trunc i32 %122 to i8 @@ -746,7 +746,7 @@ define internal void @YuvToRgbaRow(ptr nocapture noundef readonly %0, ptr nocapt %141 = add nsw i32 %140, -17685 %142 = icmp ult i32 %141, 16384 %143 = lshr i32 %141, 6 - %144 = icmp ult i32 %140, 17685 + %144 = icmp samesign ult i32 %140, 17685 %145 = select i1 %144, i32 0, i32 255 %146 = select i1 %142, i32 %143, i32 %145 %147 = trunc i32 %146 to i8 @@ -788,7 +788,7 @@ define internal void @YuvToBgrRow(ptr nocapture noundef readonly %0, ptr nocaptu %21 = add nsw i32 %20, -17685 %22 = icmp ult i32 %21, 16384 %23 = lshr i32 %21, 6 - %24 = icmp ult i32 %20, 17685 + %24 = icmp samesign ult i32 %20, 17685 %25 = select i1 %24, i32 0, i32 255 %26 = select i1 %22, i32 %23, i32 %25 %27 = trunc i32 %26 to i8 @@ -814,7 +814,7 @@ define internal void @YuvToBgrRow(ptr nocapture noundef readonly %0, ptr nocaptu %45 = add nsw i32 %44, -14234 %46 = icmp ult i32 %45, 16384 %47 = lshr i32 %45, 6 - %48 = icmp ult i32 %44, 14234 + %48 = icmp samesign ult i32 %44, 14234 %49 = select i1 %48, i32 0, i32 255 %50 = select i1 %46, i32 %47, i32 %49 %51 = trunc i32 %50 to i8 @@ -836,7 +836,7 @@ define internal void @YuvToBgrRow(ptr nocapture noundef readonly %0, ptr nocaptu %66 = add nsw i32 %65, -17685 %67 = icmp ult i32 %66, 16384 %68 = lshr i32 %66, 6 - %69 = icmp ult i32 %65, 17685 + %69 = icmp samesign ult i32 %65, 17685 %70 = select i1 %69, i32 0, i32 255 %71 = select i1 %67, i32 %68, i32 %70 %72 = trunc i32 %71 to i8 @@ -862,7 +862,7 @@ define internal void @YuvToBgrRow(ptr nocapture noundef readonly %0, ptr nocaptu %90 = add nsw i32 %89, -14234 %91 = icmp ult i32 %90, 16384 %92 = lshr i32 %90, 6 - %93 = icmp ult i32 %89, 14234 + %93 = icmp samesign ult i32 %89, 14234 %94 = select i1 %93, i32 0, i32 255 %95 = select i1 %91, i32 %92, i32 %94 %96 = trunc i32 %95 to i8 @@ -899,7 +899,7 @@ define internal void @YuvToBgrRow(ptr nocapture noundef readonly %0, ptr nocaptu %115 = add nsw i32 %114, -17685 %116 = icmp ult i32 %115, 16384 %117 = lshr i32 %115, 6 - %118 = icmp ult i32 %114, 17685 + %118 = icmp samesign ult i32 %114, 17685 %119 = select i1 %118, i32 0, i32 255 %120 = select i1 %116, i32 %117, i32 %119 %121 = trunc i32 %120 to i8 @@ -925,7 +925,7 @@ define internal void @YuvToBgrRow(ptr nocapture noundef readonly %0, ptr nocaptu %139 = add nsw i32 %138, -14234 %140 = icmp ult i32 %139, 16384 %141 = lshr i32 %139, 6 - %142 = icmp ult i32 %138, 14234 + %142 = icmp samesign ult i32 %138, 14234 %143 = select i1 %142, i32 0, i32 255 %144 = select i1 %140, i32 %141, i32 %143 %145 = trunc i32 %144 to i8 @@ -965,7 +965,7 @@ define internal void @YuvToBgraRow(ptr nocapture noundef readonly %0, ptr nocapt %21 = add nsw i32 %20, -17685 %22 = icmp ult i32 %21, 16384 %23 = lshr i32 %21, 6 - %24 = icmp ult i32 %20, 17685 + %24 = icmp samesign ult i32 %20, 17685 %25 = select i1 %24, i32 0, i32 255 %26 = select i1 %22, i32 %23, i32 %25 %27 = trunc i32 %26 to i8 @@ -991,7 +991,7 @@ define internal void @YuvToBgraRow(ptr nocapture noundef readonly %0, ptr nocapt %45 = add nsw i32 %44, -14234 %46 = icmp ult i32 %45, 16384 %47 = lshr i32 %45, 6 - %48 = icmp ult i32 %44, 14234 + %48 = icmp samesign ult i32 %44, 14234 %49 = select i1 %48, i32 0, i32 255 %50 = select i1 %46, i32 %47, i32 %49 %51 = trunc i32 %50 to i8 @@ -1015,7 +1015,7 @@ define internal void @YuvToBgraRow(ptr nocapture noundef readonly %0, ptr nocapt %67 = add nsw i32 %66, -17685 %68 = icmp ult i32 %67, 16384 %69 = lshr i32 %67, 6 - %70 = icmp ult i32 %66, 17685 + %70 = icmp samesign ult i32 %66, 17685 %71 = select i1 %70, i32 0, i32 255 %72 = select i1 %68, i32 %69, i32 %71 %73 = trunc i32 %72 to i8 @@ -1041,7 +1041,7 @@ define internal void @YuvToBgraRow(ptr nocapture noundef readonly %0, ptr nocapt %91 = add nsw i32 %90, -14234 %92 = icmp ult i32 %91, 16384 %93 = lshr i32 %91, 6 - %94 = icmp ult i32 %90, 14234 + %94 = icmp samesign ult i32 %90, 14234 %95 = select i1 %94, i32 0, i32 255 %96 = select i1 %92, i32 %93, i32 %95 %97 = trunc i32 %96 to i8 @@ -1080,7 +1080,7 @@ define internal void @YuvToBgraRow(ptr nocapture noundef readonly %0, ptr nocapt %117 = add nsw i32 %116, -17685 %118 = icmp ult i32 %117, 16384 %119 = lshr i32 %117, 6 - %120 = icmp ult i32 %116, 17685 + %120 = icmp samesign ult i32 %116, 17685 %121 = select i1 %120, i32 0, i32 255 %122 = select i1 %118, i32 %119, i32 %121 %123 = trunc i32 %122 to i8 @@ -1106,7 +1106,7 @@ define internal void @YuvToBgraRow(ptr nocapture noundef readonly %0, ptr nocapt %141 = add nsw i32 %140, -14234 %142 = icmp ult i32 %141, 16384 %143 = lshr i32 %141, 6 - %144 = icmp ult i32 %140, 14234 + %144 = icmp samesign ult i32 %140, 14234 %145 = select i1 %144, i32 0, i32 255 %146 = select i1 %142, i32 %143, i32 %145 %147 = trunc i32 %146 to i8 @@ -1150,7 +1150,7 @@ define internal void @YuvToArgbRow(ptr nocapture noundef readonly %0, ptr nocapt %22 = add nsw i32 %21, -14234 %23 = icmp ult i32 %22, 16384 %24 = lshr i32 %22, 6 - %25 = icmp ult i32 %21, 14234 + %25 = icmp samesign ult i32 %21, 14234 %26 = select i1 %25, i32 0, i32 255 %27 = select i1 %23, i32 %24, i32 %26 %28 = trunc i32 %27 to i8 @@ -1176,7 +1176,7 @@ define internal void @YuvToArgbRow(ptr nocapture noundef readonly %0, ptr nocapt %46 = add nsw i32 %45, -17685 %47 = icmp ult i32 %46, 16384 %48 = lshr i32 %46, 6 - %49 = icmp ult i32 %45, 17685 + %49 = icmp samesign ult i32 %45, 17685 %50 = select i1 %49, i32 0, i32 255 %51 = select i1 %47, i32 %48, i32 %50 %52 = trunc i32 %51 to i8 @@ -1200,7 +1200,7 @@ define internal void @YuvToArgbRow(ptr nocapture noundef readonly %0, ptr nocapt %68 = add nsw i32 %67, -14234 %69 = icmp ult i32 %68, 16384 %70 = lshr i32 %68, 6 - %71 = icmp ult i32 %67, 14234 + %71 = icmp samesign ult i32 %67, 14234 %72 = select i1 %71, i32 0, i32 255 %73 = select i1 %69, i32 %70, i32 %72 %74 = trunc i32 %73 to i8 @@ -1226,7 +1226,7 @@ define internal void @YuvToArgbRow(ptr nocapture noundef readonly %0, ptr nocapt %92 = add nsw i32 %91, -17685 %93 = icmp ult i32 %92, 16384 %94 = lshr i32 %92, 6 - %95 = icmp ult i32 %91, 17685 + %95 = icmp samesign ult i32 %91, 17685 %96 = select i1 %95, i32 0, i32 255 %97 = select i1 %93, i32 %94, i32 %96 %98 = trunc i32 %97 to i8 @@ -1265,7 +1265,7 @@ define internal void @YuvToArgbRow(ptr nocapture noundef readonly %0, ptr nocapt %118 = add nsw i32 %117, -14234 %119 = icmp ult i32 %118, 16384 %120 = lshr i32 %118, 6 - %121 = icmp ult i32 %117, 14234 + %121 = icmp samesign ult i32 %117, 14234 %122 = select i1 %121, i32 0, i32 255 %123 = select i1 %119, i32 %120, i32 %122 %124 = trunc i32 %123 to i8 @@ -1291,7 +1291,7 @@ define internal void @YuvToArgbRow(ptr nocapture noundef readonly %0, ptr nocapt %142 = add nsw i32 %141, -17685 %143 = icmp ult i32 %142, 16384 %144 = lshr i32 %142, 6 - %145 = icmp ult i32 %141, 17685 + %145 = icmp samesign ult i32 %141, 17685 %146 = select i1 %145, i32 0, i32 255 %147 = select i1 %143, i32 %144, i32 %146 %148 = trunc i32 %147 to i8 @@ -1331,7 +1331,7 @@ define internal void @YuvToRgba4444Row(ptr nocapture noundef readonly %0, ptr no %21 = add nsw i32 %20, -14234 %22 = icmp ult i32 %21, 16384 %23 = lshr i32 %21, 6 - %24 = icmp ult i32 %20, 14234 + %24 = icmp samesign ult i32 %20, 14234 %25 = select i1 %24, i32 0, i32 240 %26 = select i1 %22, i32 %23, i32 %25 %27 = mul nuw nsw i32 %13, 6419 @@ -1352,7 +1352,7 @@ define internal void @YuvToRgba4444Row(ptr nocapture noundef readonly %0, ptr no %42 = add nsw i32 %41, -17685 %43 = icmp ult i32 %42, 16384 %44 = lshr i32 %42, 6 - %45 = icmp ult i32 %41, 17685 + %45 = icmp samesign ult i32 %41, 17685 %46 = select i1 %45, i32 0, i32 240 %47 = select i1 %43, i32 %44, i32 %46 %48 = and i32 %26, 240 @@ -1379,7 +1379,7 @@ define internal void @YuvToRgba4444Row(ptr nocapture noundef readonly %0, ptr no %67 = add nsw i32 %66, -14234 %68 = icmp ult i32 %67, 16384 %69 = lshr i32 %67, 6 - %70 = icmp ult i32 %66, 14234 + %70 = icmp samesign ult i32 %66, 14234 %71 = select i1 %70, i32 0, i32 240 %72 = select i1 %68, i32 %69, i32 %71 %73 = mul nuw nsw i32 %58, 6419 @@ -1400,7 +1400,7 @@ define internal void @YuvToRgba4444Row(ptr nocapture noundef readonly %0, ptr no %88 = add nsw i32 %87, -17685 %89 = icmp ult i32 %88, 16384 %90 = lshr i32 %88, 6 - %91 = icmp ult i32 %87, 17685 + %91 = icmp samesign ult i32 %87, 17685 %92 = select i1 %91, i32 0, i32 240 %93 = select i1 %89, i32 %90, i32 %92 %94 = and i32 %72, 240 @@ -1442,7 +1442,7 @@ define internal void @YuvToRgba4444Row(ptr nocapture noundef readonly %0, ptr no %117 = add nsw i32 %116, -14234 %118 = icmp ult i32 %117, 16384 %119 = lshr i32 %117, 6 - %120 = icmp ult i32 %116, 14234 + %120 = icmp samesign ult i32 %116, 14234 %121 = select i1 %120, i32 0, i32 240 %122 = select i1 %118, i32 %119, i32 %121 %123 = mul nuw nsw i32 %109, 6419 @@ -1463,7 +1463,7 @@ define internal void @YuvToRgba4444Row(ptr nocapture noundef readonly %0, ptr no %138 = add nsw i32 %137, -17685 %139 = icmp ult i32 %138, 16384 %140 = lshr i32 %138, 6 - %141 = icmp ult i32 %137, 17685 + %141 = icmp samesign ult i32 %137, 17685 %142 = select i1 %141, i32 0, i32 240 %143 = select i1 %139, i32 %140, i32 %142 %144 = and i32 %122, 240 @@ -1508,7 +1508,7 @@ define internal void @YuvToRgb565Row(ptr nocapture noundef readonly %0, ptr noca %21 = add nsw i32 %20, -14234 %22 = icmp ult i32 %21, 16384 %23 = lshr i32 %21, 6 - %24 = icmp ult i32 %20, 14234 + %24 = icmp samesign ult i32 %20, 14234 %25 = select i1 %24, i32 0, i32 248 %26 = select i1 %22, i32 %23, i32 %25 %27 = mul nuw nsw i32 %13, 6419 @@ -1529,7 +1529,7 @@ define internal void @YuvToRgb565Row(ptr nocapture noundef readonly %0, ptr noca %42 = add nsw i32 %41, -17685 %43 = icmp ult i32 %42, 16384 %44 = lshr i32 %42, 9 - %45 = icmp ult i32 %41, 17685 + %45 = icmp samesign ult i32 %41, 17685 %46 = select i1 %45, i32 0, i32 31 %47 = select i1 %43, i32 %44, i32 %46 %48 = and i32 %26, 248 @@ -1559,7 +1559,7 @@ define internal void @YuvToRgb565Row(ptr nocapture noundef readonly %0, ptr noca %70 = add nsw i32 %69, -14234 %71 = icmp ult i32 %70, 16384 %72 = lshr i32 %70, 6 - %73 = icmp ult i32 %69, 14234 + %73 = icmp samesign ult i32 %69, 14234 %74 = select i1 %73, i32 0, i32 248 %75 = select i1 %71, i32 %72, i32 %74 %76 = mul nuw nsw i32 %61, 6419 @@ -1580,7 +1580,7 @@ define internal void @YuvToRgb565Row(ptr nocapture noundef readonly %0, ptr noca %91 = add nsw i32 %90, -17685 %92 = icmp ult i32 %91, 16384 %93 = lshr i32 %91, 9 - %94 = icmp ult i32 %90, 17685 + %94 = icmp samesign ult i32 %90, 17685 %95 = select i1 %94, i32 0, i32 31 %96 = select i1 %92, i32 %93, i32 %95 %97 = and i32 %75, 248 @@ -1625,7 +1625,7 @@ define internal void @YuvToRgb565Row(ptr nocapture noundef readonly %0, ptr noca %123 = add nsw i32 %122, -14234 %124 = icmp ult i32 %123, 16384 %125 = lshr i32 %123, 6 - %126 = icmp ult i32 %122, 14234 + %126 = icmp samesign ult i32 %122, 14234 %127 = select i1 %126, i32 0, i32 248 %128 = select i1 %124, i32 %125, i32 %127 %129 = mul nuw nsw i32 %115, 6419 @@ -1646,7 +1646,7 @@ define internal void @YuvToRgb565Row(ptr nocapture noundef readonly %0, ptr noca %144 = add nsw i32 %143, -17685 %145 = icmp ult i32 %144, 16384 %146 = lshr i32 %144, 9 - %147 = icmp ult i32 %143, 17685 + %147 = icmp samesign ult i32 %143, 17685 %148 = select i1 %147, i32 0, i32 31 %149 = select i1 %145, i32 %146, i32 %148 %150 = and i32 %128, 248 diff --git a/bench/libzmq/optimized/xpub.cpp.ll b/bench/libzmq/optimized/xpub.cpp.ll index 6a9c787a3d8..26208076160 100644 --- a/bench/libzmq/optimized/xpub.cpp.ll +++ b/bench/libzmq/optimized/xpub.cpp.ll @@ -1947,11 +1947,11 @@ if.else198: ; preds = %invoke.cont163 %conv203 = zext i8 %40 to i32 %add204 = add nuw nsw i32 %conv203, %conv200 %conv206 = zext i8 %it.sroa.65.0.copyload to i32 - %cmp207 = icmp ult i32 %add204, %conv206 + %cmp207 = icmp samesign ult i32 %add204, %conv206 %conv215 = trunc i32 %add204 to i8 %spec.select = select i1 %cmp207, i8 %conv215, i8 %it.sroa.65.0.copyload %conv225 = zext i8 %it.sroa.82.0.copyload to i32 - %cmp226 = icmp ugt i32 %add204, %conv225 + %cmp226 = icmp samesign ugt i32 %add204, %conv225 %spec.select151 = select i1 %cmp226, i8 %conv215, i8 %it.sroa.82.0.copyload br label %if.end238 @@ -2058,7 +2058,7 @@ do.body314: ; preds = %if.then305.do.body3 %54 = load i16, ptr %_count114, align 2 %conv322 = zext i16 %54 to i32 %add323 = add nuw nsw i32 %conv322, %conv319 - %cmp324.not = icmp ugt i32 %add323, %conv316 + %cmp324.not = icmp samesign ugt i32 %add323, %conv316 br i1 %cmp324.not, label %do.end335, label %if.then327 if.then327: ; preds = %do.body314 @@ -2188,7 +2188,7 @@ do.body457: ; preds = %if.then448.do.body4 %76 = load i16, ptr %_count114, align 2 %conv465 = zext i16 %76 to i32 %add466 = add nuw nsw i32 %conv465, %conv462 - %cmp468.not.not = icmp ugt i32 %add466, %conv459 + %cmp468.not.not = icmp samesign ugt i32 %add466, %conv459 br i1 %cmp468.not.not, label %do.body480, label %if.then471 if.then471: ; preds = %do.body457 @@ -2858,11 +2858,11 @@ if.else198: ; preds = %invoke.cont163 %conv203 = zext i8 %40 to i32 %add204 = add nuw nsw i32 %conv203, %conv200 %conv206 = zext i8 %it.sroa.65.0.copyload to i32 - %cmp207 = icmp ult i32 %add204, %conv206 + %cmp207 = icmp samesign ult i32 %add204, %conv206 %conv215 = trunc i32 %add204 to i8 %spec.select = select i1 %cmp207, i8 %conv215, i8 %it.sroa.65.0.copyload %conv225 = zext i8 %it.sroa.82.0.copyload to i32 - %cmp226 = icmp ugt i32 %add204, %conv225 + %cmp226 = icmp samesign ugt i32 %add204, %conv225 %spec.select151 = select i1 %cmp226, i8 %conv215, i8 %it.sroa.82.0.copyload br label %if.end238 @@ -2969,7 +2969,7 @@ do.body314: ; preds = %if.then305.do.body3 %54 = load i16, ptr %_count114, align 2 %conv322 = zext i16 %54 to i32 %add323 = add nuw nsw i32 %conv322, %conv319 - %cmp324.not = icmp ugt i32 %add323, %conv316 + %cmp324.not = icmp samesign ugt i32 %add323, %conv316 br i1 %cmp324.not, label %do.end335, label %if.then327 if.then327: ; preds = %do.body314 @@ -3099,7 +3099,7 @@ do.body457: ; preds = %if.then448.do.body4 %76 = load i16, ptr %_count114, align 2 %conv465 = zext i16 %76 to i32 %add466 = add nuw nsw i32 %conv465, %conv462 - %cmp468.not.not = icmp ugt i32 %add466, %conv459 + %cmp468.not.not = icmp samesign ugt i32 %add466, %conv459 br i1 %cmp468.not.not, label %do.body480, label %if.then471 if.then471: ; preds = %do.body457 @@ -3333,7 +3333,7 @@ if.else.i: ; preds = %if.end14.i %conv29.i = zext i8 %13 to i32 %cmp30.i = icmp uge i8 %12, %13 %add.i = add nuw nsw i32 %conv29.i, %conv.i - %cmp37.not.i = icmp ugt i32 %add.i, %conv27.i + %cmp37.not.i = icmp samesign ugt i32 %add.i, %conv27.i %or.cond.i = select i1 %cmp30.i, i1 %cmp37.not.i, i1 false br i1 %or.cond.i, label %if.end39.i, label %_ZN3zmq15generic_mtrie_tINS_6pipe_tEE5matchIPNS_6xpub_tEEEvPKhmPFvPS1_T_ES9_.exit @@ -3419,7 +3419,7 @@ if.else.i36: ; preds = %if.end14.i23 %conv29.i40 = zext i8 %22 to i32 %cmp30.i41 = icmp uge i8 %21, %22 %add.i42 = add nuw nsw i32 %conv29.i40, %conv.i37 - %cmp37.not.i43 = icmp ugt i32 %add.i42, %conv27.i38 + %cmp37.not.i43 = icmp samesign ugt i32 %add.i42, %conv27.i38 %or.cond.i44 = select i1 %cmp30.i41, i1 %cmp37.not.i43, i1 false br i1 %or.cond.i44, label %if.end39.i45, label %if.end diff --git a/bench/llama.cpp/optimized/ggml.c.ll b/bench/llama.cpp/optimized/ggml.c.ll index 2163a692bd1..843bdb41875 100644 --- a/bench/llama.cpp/optimized/ggml.c.ll +++ b/bench/llama.cpp/optimized/ggml.c.ll @@ -769,7 +769,7 @@ for.body: ; preds = %for.body.preheader, store <8 x i16> %5, ptr %add.ptr2, align 1 %indvars.iv.next = add nuw nsw i64 %indvars.iv, 8 %6 = or disjoint i64 %indvars.iv.next, 7 - %cmp = icmp ult i64 %6, %0 + %cmp = icmp samesign ult i64 %6, %0 br i1 %cmp, label %for.body, label %for.cond4.preheader.loopexit, !llvm.loop !6 for.cond18.preheader.loopexit: ; preds = %for.body7 @@ -22803,7 +22803,7 @@ for.body3.i.i.i: ; preds = %for.body3.i.i.i, %f for.inc24.i.i.i: ; preds = %for.body3.i.i.i %indvars.iv.next53.i.i.i = add nuw nsw i64 %indvars.iv52.i.i.i, 32 - %cmp.i.i.i62 = icmp ult i64 %indvars.iv.next53.i.i.i, %202 + %cmp.i.i.i62 = icmp samesign ult i64 %indvars.iv.next53.i.i.i, %202 br i1 %cmp.i.i.i62, label %for.cond1.preheader.i.i.i, label %for.cond27.preheader.i.loopexit.i.i, !llvm.loop !126 for.body82.preheader.i.i.i: ; preds = %for.cond27.preheader.i.i.i @@ -22877,7 +22877,7 @@ for.body3.i.i271.i: ; preds = %for.body3.i.i271.i, for.inc24.i.i278.i: ; preds = %for.body3.i.i271.i %indvars.iv.next53.i.i279.i = add nuw nsw i64 %indvars.iv52.i.i269.i, 32 - %cmp.i.i280.i = icmp ult i64 %indvars.iv.next53.i.i279.i, %214 + %cmp.i.i280.i = icmp samesign ult i64 %indvars.iv.next53.i.i279.i, %214 br i1 %cmp.i.i280.i, label %for.cond1.preheader.i.i268.i, label %for.cond27.preheader.i.loopexit.i281.i, !llvm.loop !126 for.body82.preheader.i.i258.i: ; preds = %for.cond27.preheader.i.i251.i @@ -22977,7 +22977,7 @@ for.body3.i.i.i.i: ; preds = %for.body3.i.i.i.i, for.inc24.i.i.i.i: ; preds = %for.body3.i.i.i.i %indvars.iv.next53.i.i.i.i = add nuw nsw i64 %indvars.iv52.i.i.i.i, 32 - %cmp.i.i.i.i = icmp ult i64 %indvars.iv.next53.i.i.i.i, %228 + %cmp.i.i.i.i = icmp samesign ult i64 %indvars.iv.next53.i.i.i.i, %228 br i1 %cmp.i.i.i.i, label %for.cond1.preheader.i.i.i.i, label %for.cond27.preheader.i.loopexit.i.i.i, !llvm.loop !126 for.body82.preheader.i.i.i.i: ; preds = %for.cond27.preheader.i.i.i.i @@ -23149,7 +23149,7 @@ for.body3.i.i342.i: ; preds = %for.body3.i.i342.i, for.inc24.i.i348.i: ; preds = %for.body3.i.i342.i %indvars.iv.next53.i.i349.i = add nuw nsw i64 %indvars.iv52.i.i340.i, 32 - %cmp.i.i350.i = icmp ult i64 %indvars.iv.next53.i.i349.i, %240 + %cmp.i.i350.i = icmp samesign ult i64 %indvars.iv.next53.i.i349.i, %240 br i1 %cmp.i.i350.i, label %for.cond1.preheader.i.i339.i, label %for.cond27.preheader.i.loopexit.i351.i, !llvm.loop !126 for.body82.i.i321.i: ; preds = %for.cond27.preheader.i.i313.i, %for.body82.i.i321.i @@ -23227,7 +23227,7 @@ for.body3.i54.i.i: ; preds = %for.body3.i54.i.i, for.inc29.i.i.i: ; preds = %for.body3.i54.i.i %indvars.iv.next39.i.i.i = add nuw nsw i64 %indvars.iv38.i.i.i, 32 - %cmp.i60.i.i = icmp ult i64 %indvars.iv.next39.i.i.i, %240 + %cmp.i60.i.i = icmp samesign ult i64 %indvars.iv.next39.i.i.i, %240 br i1 %cmp.i60.i.i, label %for.cond1.preheader.i51.i.i, label %for.cond32.preheader.i.i.i, !llvm.loop !162 for.body34.i.i.i: ; preds = %for.cond32.preheader.i.i.i, %for.body34.i.i.i @@ -23424,7 +23424,7 @@ for.body3.i125.i.i: ; preds = %for.body3.i125.i.i, for.inc24.i132.i.i: ; preds = %for.body3.i125.i.i %indvars.iv.next53.i133.i.i = add nuw nsw i64 %indvars.iv52.i122.i.i, 32 - %cmp.i134.i.i = icmp ult i64 %indvars.iv.next53.i133.i.i, %240 + %cmp.i134.i.i = icmp samesign ult i64 %indvars.iv.next53.i133.i.i, %240 br i1 %cmp.i134.i.i, label %for.cond1.preheader.i121.i.i, label %for.cond27.preheader.i96.loopexit.i.i, !llvm.loop !126 for.body82.i112.i.i: ; preds = %for.cond27.preheader.i96.i.i, %for.body82.i112.i.i @@ -23555,7 +23555,7 @@ for.body3.i.i402.i: ; preds = %for.body3.i.i402.i, for.inc24.i.i409.i: ; preds = %for.body3.i.i402.i %indvars.iv.next53.i.i410.i = add nuw nsw i64 %indvars.iv52.i.i400.i, 32 - %cmp.i.i411.i = icmp ult i64 %indvars.iv.next53.i.i410.i, %240 + %cmp.i.i411.i = icmp samesign ult i64 %indvars.iv.next53.i.i410.i, %240 br i1 %cmp.i.i411.i, label %for.cond1.preheader.i.i399.i, label %for.cond27.preheader.i.loopexit.i412.i, !llvm.loop !126 for.body82.i.i389.i: ; preds = %for.cond27.preheader.i.i381.i, %for.body82.i.i389.i @@ -23618,7 +23618,7 @@ for.body3.i.i445.i: ; preds = %for.body3.i.i445.i, for.inc24.i.i452.i: ; preds = %for.body3.i.i445.i %indvars.iv.next53.i.i453.i = add nuw nsw i64 %indvars.iv52.i.i443.i, 32 - %cmp.i.i454.i = icmp ult i64 %indvars.iv.next53.i.i453.i, %240 + %cmp.i.i454.i = icmp samesign ult i64 %indvars.iv.next53.i.i453.i, %240 br i1 %cmp.i.i454.i, label %for.cond1.preheader.i.i442.i, label %for.cond27.preheader.i.loopexit.i455.i, !llvm.loop !126 for.body82.i.i432.i: ; preds = %for.cond27.preheader.i.i424.i, %for.body82.i.i432.i @@ -23790,7 +23790,7 @@ for.body3.i486.i: ; preds = %for.body3.i486.i, % for.inc24.i.i: ; preds = %for.body3.i486.i %indvars.iv.next53.i.i = add nuw nsw i64 %indvars.iv52.i.i, 32 - %cmp.i.i51 = icmp ult i64 %indvars.iv.next53.i.i, %240 + %cmp.i.i51 = icmp samesign ult i64 %indvars.iv.next53.i.i, %240 br i1 %cmp.i.i51, label %for.cond1.preheader.i.i, label %for.cond27.preheader.i.loopexit.i, !llvm.loop !126 for.body82.i.i: ; preds = %for.cond27.preheader.i.i, %for.body82.i.i @@ -23854,7 +23854,7 @@ for.body3.i522.i: ; preds = %for.body3.i522.i, % for.inc24.i529.i: ; preds = %for.body3.i522.i %indvars.iv.next53.i530.i = add nuw nsw i64 %indvars.iv52.i519.i, 32 - %cmp.i531.i = icmp ult i64 %indvars.iv.next53.i530.i, %240 + %cmp.i531.i = icmp samesign ult i64 %indvars.iv.next53.i530.i, %240 br i1 %cmp.i531.i, label %for.cond1.preheader.i518.i, label %for.cond27.preheader.i493.loopexit.i, !llvm.loop !126 for.body82.i509.i: ; preds = %for.cond27.preheader.i493.i, %for.body82.i509.i @@ -23966,7 +23966,7 @@ for.body3.i577.i: ; preds = %for.body3.i577.i, % for.inc24.i584.i: ; preds = %for.body3.i577.i %indvars.iv.next53.i585.i = add nuw nsw i64 %indvars.iv52.i574.i, 32 - %cmp.i586.i = icmp ult i64 %indvars.iv.next53.i585.i, %240 + %cmp.i586.i = icmp samesign ult i64 %indvars.iv.next53.i585.i, %240 br i1 %cmp.i586.i, label %for.cond1.preheader.i573.i, label %for.cond27.preheader.i548.loopexit.i, !llvm.loop !126 for.body82.i564.i: ; preds = %for.cond27.preheader.i548.i, %for.body82.i564.i @@ -24031,7 +24031,7 @@ for.body3.i594.i: ; preds = %for.body3.i594.i, % for.inc29.i.i: ; preds = %for.body3.i594.i %indvars.iv.next39.i.i = add nuw nsw i64 %indvars.iv38.i.i, 32 - %cmp.i600.i = icmp ult i64 %indvars.iv.next39.i.i, %240 + %cmp.i600.i = icmp samesign ult i64 %indvars.iv.next39.i.i, %240 br i1 %cmp.i600.i, label %for.cond1.preheader.i591.i, label %for.cond32.preheader.i.i, !llvm.loop !162 for.body34.i.i: ; preds = %for.cond32.preheader.i.i, %for.body34.i.i @@ -24078,7 +24078,7 @@ for.body3.i608.i: ; preds = %for.body3.i608.i, % for.inc19.i.i: ; preds = %for.body3.i608.i %indvars.iv.next33.i.i = add nuw nsw i64 %indvars.iv32.i.i, 32 - %cmp.i614.i = icmp ult i64 %indvars.iv.next33.i.i, %240 + %cmp.i614.i = icmp samesign ult i64 %indvars.iv.next33.i.i, %240 br i1 %cmp.i614.i, label %for.cond1.preheader.i606.i, label %for.cond22.preheader.i.i, !llvm.loop !229 for.body24.i.i: ; preds = %for.cond22.preheader.i.i, %for.body24.i.i @@ -24153,7 +24153,7 @@ for.body3.i647.i: ; preds = %for.body3.i647.i, % for.inc24.i654.i: ; preds = %for.body3.i647.i %indvars.iv.next53.i655.i = add nuw nsw i64 %indvars.iv52.i644.i, 32 - %cmp.i656.i = icmp ult i64 %indvars.iv.next53.i655.i, %240 + %cmp.i656.i = icmp samesign ult i64 %indvars.iv.next53.i655.i, %240 br i1 %cmp.i656.i, label %for.cond1.preheader.i643.i, label %for.cond27.preheader.i618.loopexit.i, !llvm.loop !126 for.body82.i634.i: ; preds = %for.cond27.preheader.i618.i, %for.body82.i634.i @@ -24209,7 +24209,7 @@ for.body3.i676.i: ; preds = %for.body3.i676.i, % for.inc29.i682.i: ; preds = %for.body3.i676.i %indvars.iv.next39.i683.i = add nuw nsw i64 %indvars.iv38.i673.i, 32 - %cmp.i684.i = icmp ult i64 %indvars.iv.next39.i683.i, %240 + %cmp.i684.i = icmp samesign ult i64 %indvars.iv.next39.i683.i, %240 br i1 %cmp.i684.i, label %for.cond1.preheader.i672.i, label %for.cond32.preheader.i662.i, !llvm.loop !162 for.body34.i665.i: ; preds = %for.cond32.preheader.i662.i, %for.body34.i665.i @@ -25209,7 +25209,7 @@ for.body.i161: ; preds = %for.body.i161, %for store <8 x i16> %55, ptr %add.ptr2.i, align 1 %indvars.iv.next.i164 = add nuw nsw i64 %indvars.iv.i162, 8 %56 = or disjoint i64 %indvars.iv.next.i164, 7 - %cmp.i165 = icmp ult i64 %56, %50 + %cmp.i165 = icmp samesign ult i64 %56, %50 br i1 %cmp.i165, label %for.body.i161, label %for.cond4.preheader.loopexit.i, !llvm.loop !6 for.cond18.preheader.loopexit.i: ; preds = %for.body7.i @@ -30714,7 +30714,7 @@ for.body3: ; preds = %for.cond1.preheader for.inc24: ; preds = %for.body3 %indvars.iv.next53 = add nuw nsw i64 %indvars.iv52, 32 - %cmp = icmp ult i64 %indvars.iv.next53, %0 + %cmp = icmp samesign ult i64 %indvars.iv.next53, %0 br i1 %cmp, label %for.cond1.preheader, label %for.body29, !llvm.loop !126 for.body29: ; preds = %for.inc24, %entry @@ -30801,7 +30801,7 @@ for.body3: ; preds = %for.cond1.preheader for.inc26: ; preds = %for.body3 %indvars.iv.next55 = add nuw nsw i64 %indvars.iv54, 32 - %cmp = icmp ult i64 %indvars.iv.next55, %0 + %cmp = icmp samesign ult i64 %indvars.iv.next55, %0 br i1 %cmp, label %for.cond1.preheader, label %for.body31, !llvm.loop !294 for.body31: ; preds = %for.inc26, %entry @@ -40280,7 +40280,7 @@ for.body3.i.us.us.us.i.us.us.us.us.us.us.us.us.us: ; preds = %for.body3.i.us.us. for.inc19.i.us.us.us.i.us.us.us.us.us.us.us.us.us: ; preds = %for.body3.i.us.us.us.i.us.us.us.us.us.us.us.us.us %indvars.iv.next33.i.us.us.us.i.us.us.us.us.us.us.us.us.us = add nuw nsw i64 %indvars.iv32.i.us.us.us.i.us.us.us.us.us.us.us.us.us, 32 - %cmp.i49.us.us.us.i.us.us.us.us.us.us.us.us.us = icmp ult i64 %indvars.iv.next33.i.us.us.us.i.us.us.us.us.us.us.us.us.us, %23 + %cmp.i49.us.us.us.i.us.us.us.us.us.us.us.us.us = icmp samesign ult i64 %indvars.iv.next33.i.us.us.us.i.us.us.us.us.us.us.us.us.us, %23 br i1 %cmp.i49.us.us.us.i.us.us.us.us.us.us.us.us.us, label %for.cond1.preheader.i.us.us.us.i.us.us.us.us.us.us.us.us.us, label %for.cond22.preheader.i.us.us.us.i.loopexit.us.us.us.us.us.us.us.us.us, !llvm.loop !229 for.cond22.preheader.i.us.us.us.i.loopexit.us.us.us.us.us.us.us.us.us: ; preds = %for.inc19.i.us.us.us.i.us.us.us.us.us.us.us.us.us @@ -40383,7 +40383,7 @@ for.body3.i.us.us.us.i.us.us.us.us.us.us: ; preds = %for.body3.i.us.us.u for.inc19.i.us.us.us.i.us.us.us.us.us.us: ; preds = %for.body3.i.us.us.us.i.us.us.us.us.us.us %indvars.iv.next33.i.us.us.us.i.us.us.us.us.us.us = add nuw nsw i64 %indvars.iv32.i.us.us.us.i.us.us.us.us.us.us, 32 - %cmp.i49.us.us.us.i.us.us.us.us.us.us = icmp ult i64 %indvars.iv.next33.i.us.us.us.i.us.us.us.us.us.us, %23 + %cmp.i49.us.us.us.i.us.us.us.us.us.us = icmp samesign ult i64 %indvars.iv.next33.i.us.us.us.i.us.us.us.us.us.us, %23 br i1 %cmp.i49.us.us.us.i.us.us.us.us.us.us, label %for.cond1.preheader.i.us.us.us.i.us.us.us.us.us.us, label %for.body24.i.us.us.us.i.us.us.us.us.us.us, !llvm.loop !229 for.body24.i.us.us.us.i.us.us.us.us.us.us: ; preds = %for.inc19.i.us.us.us.i.us.us.us.us.us.us, %for.body24.i.us.us.us.i.us.us.us.us.us.us @@ -40637,7 +40637,7 @@ for.body3.i.us.us.us.i.us11.us.us.us.us.us: ; preds = %for.body3.i.us.us.u for.inc19.i.us.us.us.i.us18.us.us.us.us.us: ; preds = %for.body3.i.us.us.us.i.us11.us.us.us.us.us %indvars.iv.next33.i.us.us.us.i.us19.us.us.us.us.us = add nuw nsw i64 %indvars.iv32.i.us.us.us.i.us9.us.us.us.us.us, 32 - %cmp.i49.us.us.us.i.us20.us.us.us.us.us = icmp ult i64 %indvars.iv.next33.i.us.us.us.i.us19.us.us.us.us.us, %23 + %cmp.i49.us.us.us.i.us20.us.us.us.us.us = icmp samesign ult i64 %indvars.iv.next33.i.us.us.us.i.us19.us.us.us.us.us, %23 br i1 %cmp.i49.us.us.us.i.us20.us.us.us.us.us, label %for.cond1.preheader.i.us.us.us.i.us8.us.us.us.us.us, label %for.cond22.preheader.i.us.us.us.i.loopexit.us34.us.us.us.us.us, !llvm.loop !229 for.cond22.preheader.i.us.us.us.i.loopexit.us34.us.us.us.us.us: ; preds = %for.inc19.i.us.us.us.i.us18.us.us.us.us.us @@ -40696,7 +40696,7 @@ for.body3.i.us.us.us.i.us11.us.us: ; preds = %for.body3.i.us.us.u for.inc19.i.us.us.us.i.us18.us.us: ; preds = %for.body3.i.us.us.us.i.us11.us.us %indvars.iv.next33.i.us.us.us.i.us19.us.us = add nuw nsw i64 %indvars.iv32.i.us.us.us.i.us9.us.us, 32 - %cmp.i49.us.us.us.i.us20.us.us = icmp ult i64 %indvars.iv.next33.i.us.us.us.i.us19.us.us, %23 + %cmp.i49.us.us.us.i.us20.us.us = icmp samesign ult i64 %indvars.iv.next33.i.us.us.us.i.us19.us.us, %23 br i1 %cmp.i49.us.us.us.i.us20.us.us, label %for.cond1.preheader.i.us.us.us.i.us8.us.us, label %for.body24.i.us.us.us.i.us22.us.us, !llvm.loop !229 for.body24.i.us.us.us.i.us22.us.us: ; preds = %for.inc19.i.us.us.us.i.us18.us.us, %for.body24.i.us.us.us.i.us22.us.us @@ -40975,7 +40975,7 @@ for.body3.i.us.us.us.us.us.us.us.us.us.us.us.us.i: ; preds = %for.body3.i.us.us. for.inc19.i.us.us.us.us.us.us.us.us.us.us.us.us.i: ; preds = %for.body3.i.us.us.us.us.us.us.us.us.us.us.us.us.i %indvars.iv.next33.i.us.us.us.us.us.us.us.us.us.us.us.us.i = add nuw nsw i64 %indvars.iv32.i.us.us.us.us.us.us.us.us.us.us.us.us.i, 32 - %cmp.i44.us.us.us.us.us.us.us.us.us.us.us.us.i = icmp ult i64 %indvars.iv.next33.i.us.us.us.us.us.us.us.us.us.us.us.us.i, %23 + %cmp.i44.us.us.us.us.us.us.us.us.us.us.us.us.i = icmp samesign ult i64 %indvars.iv.next33.i.us.us.us.us.us.us.us.us.us.us.us.us.i, %23 br i1 %cmp.i44.us.us.us.us.us.us.us.us.us.us.us.us.i, label %for.cond1.preheader.i.us.us.us.us.us.us.us.us.us.us.us.us.i, label %for.cond22.preheader.i.loopexit.us.us.us.us.us.us.us.us.us.us.us.us.i, !llvm.loop !229 for.body62.us.us.us.us.us.us.us.us.us.us.us.us.i: ; preds = %for.body62.us.us.us.us.us.us.us.us.us.us.us.us.i, %for.body54.us.us.us.us.us.us.us.us.us.us.us.us.i @@ -41060,7 +41060,7 @@ for.body3.i.us.us.us.us.us.us.us.us.us.i: ; preds = %for.body3.i.us.us.u for.inc19.i.us.us.us.us.us.us.us.us.us.i: ; preds = %for.body3.i.us.us.us.us.us.us.us.us.us.i %indvars.iv.next33.i.us.us.us.us.us.us.us.us.us.i = add nuw nsw i64 %indvars.iv32.i.us.us.us.us.us.us.us.us.us.i, 32 - %cmp.i44.us.us.us.us.us.us.us.us.us.i = icmp ult i64 %indvars.iv.next33.i.us.us.us.us.us.us.us.us.us.i, %23 + %cmp.i44.us.us.us.us.us.us.us.us.us.i = icmp samesign ult i64 %indvars.iv.next33.i.us.us.us.us.us.us.us.us.us.i, %23 br i1 %cmp.i44.us.us.us.us.us.us.us.us.us.i, label %for.cond1.preheader.i.us.us.us.us.us.us.us.us.us.i, label %for.body24.i.us.us.us.us.us.us.us.us.us.i, !llvm.loop !229 for.body24.i.us.us.us.us.us.us.us.us.us.i: ; preds = %for.inc19.i.us.us.us.us.us.us.us.us.us.i, %for.body24.i.us.us.us.us.us.us.us.us.us.i @@ -41168,7 +41168,7 @@ for.body3.i.us.us.us.us.us.us235.us.us.us.i: ; preds = %for.body3.i.us.us.u for.inc19.i.us.us.us.us.us.us242.us.us.us.i: ; preds = %for.body3.i.us.us.us.us.us.us235.us.us.us.i %indvars.iv.next33.i.us.us.us.us.us.us243.us.us.us.i = add nuw nsw i64 %indvars.iv32.i.us.us.us.us.us.us233.us.us.us.i, 32 - %cmp.i44.us.us.us.us.us.us244.us.us.us.i = icmp ult i64 %indvars.iv.next33.i.us.us.us.us.us.us243.us.us.us.i, %23 + %cmp.i44.us.us.us.us.us.us244.us.us.us.i = icmp samesign ult i64 %indvars.iv.next33.i.us.us.us.us.us.us243.us.us.us.i, %23 br i1 %cmp.i44.us.us.us.us.us.us244.us.us.us.i, label %for.cond1.preheader.i.us.us.us.us.us.us232.us.us.us.i, label %for.cond22.preheader.i.loopexit.us.us.us.us.us.us245.us.us.us.i, !llvm.loop !229 for.cond22.preheader.i.loopexit.us.us.us.us.us.us245.us.us.us.i: ; preds = %for.inc19.i.us.us.us.us.us.us242.us.us.us.i @@ -41235,7 +41235,7 @@ for.body3.i.us.us.us.us.us171.us.i: ; preds = %for.body3.i.us.us.u for.inc19.i.us.us.us.us.us178.us.i: ; preds = %for.body3.i.us.us.us.us.us171.us.i %indvars.iv.next33.i.us.us.us.us.us179.us.i = add nuw nsw i64 %indvars.iv32.i.us.us.us.us.us169.us.i, 32 - %cmp.i44.us.us.us.us.us180.us.i = icmp ult i64 %indvars.iv.next33.i.us.us.us.us.us179.us.i, %23 + %cmp.i44.us.us.us.us.us180.us.i = icmp samesign ult i64 %indvars.iv.next33.i.us.us.us.us.us179.us.i, %23 br i1 %cmp.i44.us.us.us.us.us180.us.i, label %for.cond1.preheader.i.us.us.us.us.us168.us.i, label %for.body24.i.us.us.us.us.us.us.i, !llvm.loop !229 for.body24.i.us.us.us.us.us.us.i: ; preds = %for.inc19.i.us.us.us.us.us178.us.i, %for.body24.i.us.us.us.us.us.us.i @@ -41787,7 +41787,7 @@ for.body3.i.us.us.us.i: ; preds = %for.body3.i.us.us.u for.inc19.i.us.us.us.i: ; preds = %for.body3.i.us.us.us.i %indvars.iv.next33.i.us.us.us.i = add nuw nsw i64 %indvars.iv32.i.us.us.us.i, 32 - %cmp.i88.us.us.us.i = icmp ult i64 %indvars.iv.next33.i.us.us.us.i, %30 + %cmp.i88.us.us.us.i = icmp samesign ult i64 %indvars.iv.next33.i.us.us.us.i, %30 br i1 %cmp.i88.us.us.us.i, label %for.cond1.preheader.i.us.us.us.i, label %for.cond22.preheader.i.us.us.us.i, !llvm.loop !229 for.cond22.preheader.i.us.us.us.i: ; preds = %for.inc19.i.us.us.us.i, %ggml_vec_cpy_f32.exit.us.us.us.i @@ -41841,7 +41841,7 @@ for.body3.i115.us.us.us.i: ; preds = %for.body3.i115.us.u for.inc19.i122.us.us.us.i: ; preds = %for.body3.i115.us.us.us.i %indvars.iv.next33.i123.us.us.us.i = add nuw nsw i64 %indvars.iv32.i113.us.us.us.i, 32 - %cmp.i124.us.us.us.i = icmp ult i64 %indvars.iv.next33.i123.us.us.us.i, %30 + %cmp.i124.us.us.us.i = icmp samesign ult i64 %indvars.iv.next33.i123.us.us.us.i, %30 br i1 %cmp.i124.us.us.us.i, label %for.cond1.preheader.i112.us.us.us.i, label %for.cond22.preheader.i102.us.us.us.i, !llvm.loop !229 for.cond22.preheader.i102.us.us.us.i: ; preds = %for.inc19.i122.us.us.us.i, %ggml_vec_acc_f32.exit.us.us.us.i @@ -42196,7 +42196,7 @@ for.body3.i.us.us.us.us.us.i.us: ; preds = %for.body3.i.us.us.u for.inc19.i.us.us.us.us.us.i.us: ; preds = %for.body3.i.us.us.us.us.us.i.us %indvars.iv.next33.i.us.us.us.us.us.i.us = add nuw nsw i64 %indvars.iv32.i.us.us.us.us.us.i.us, 32 - %cmp.i85.us.us.us.us.us.i.us = icmp ult i64 %indvars.iv.next33.i.us.us.us.us.us.i.us, %24 + %cmp.i85.us.us.us.us.us.i.us = icmp samesign ult i64 %indvars.iv.next33.i.us.us.us.us.us.i.us, %24 br i1 %cmp.i85.us.us.us.us.us.i.us, label %for.cond1.preheader.i.us.us.us.us.us.i.us, label %for.cond22.preheader.i.loopexit.us.us.us.us.us.i.us, !llvm.loop !229 for.cond22.preheader.i.loopexit.us.us.us.us.us.i.us: ; preds = %for.inc19.i.us.us.us.us.us.i.us @@ -42275,7 +42275,7 @@ for.body3.i.us.us.us.us212.i: ; preds = %for.body3.i.us.us.u for.inc19.i.us.us.us.us219.i: ; preds = %for.body3.i.us.us.us.us212.i %indvars.iv.next33.i.us.us.us.us220.i = add nuw nsw i64 %indvars.iv32.i.us.us.us.us210.i, 32 - %cmp.i85.us.us.us.us221.i = icmp ult i64 %indvars.iv.next33.i.us.us.us.us220.i, %24 + %cmp.i85.us.us.us.us221.i = icmp samesign ult i64 %indvars.iv.next33.i.us.us.us.us220.i, %24 br i1 %cmp.i85.us.us.us.us221.i, label %for.cond1.preheader.i.us.us.us.us209.i, label %for.body24.i.us.us.us.us.i, !llvm.loop !229 for.body24.i.us.us.us.us.i: ; preds = %for.inc19.i.us.us.us.us219.i, %for.body24.i.us.us.us.us.i @@ -43648,7 +43648,7 @@ for.body3.i.us.us.us.us.i: ; preds = %for.body3.i.us.us.u for.inc29.i.us.us.us.us.i: ; preds = %for.body3.i.us.us.us.us.i %indvars.iv.next39.i.us.us.us.us.i = add nuw nsw i64 %indvars.iv38.i.us.us.us.us.i, 32 - %cmp.i.us.us.us.us.i = icmp ult i64 %indvars.iv.next39.i.us.us.us.us.i, %46 + %cmp.i.us.us.us.us.i = icmp samesign ult i64 %indvars.iv.next39.i.us.us.us.us.i, %46 br i1 %cmp.i.us.us.us.us.i, label %for.cond1.preheader.i.us.us.us.us.i, label %for.cond32.preheader.i.loopexit.us.us.us.us.i, !llvm.loop !162 for.cond32.preheader.i.loopexit.us.us.us.us.i: ; preds = %for.inc29.i.us.us.us.us.i @@ -43702,7 +43702,7 @@ for.body3.i.us.us.us.i: ; preds = %for.body3.i.us.us.u for.inc29.i.us.us.us.i: ; preds = %for.body3.i.us.us.us.i %indvars.iv.next39.i.us.us.us.i = add nuw nsw i64 %indvars.iv38.i.us.us.us.i, 32 - %cmp.i.us.us.us.i = icmp ult i64 %indvars.iv.next39.i.us.us.us.i, %46 + %cmp.i.us.us.us.i = icmp samesign ult i64 %indvars.iv.next39.i.us.us.us.i, %46 br i1 %cmp.i.us.us.us.i, label %for.cond1.preheader.i.us.us.us.i, label %for.body34.i.us.us.us.i, !llvm.loop !162 for.body34.i.us.us.us.i: ; preds = %for.inc29.i.us.us.us.i, %for.body34.i.us.us.us.i @@ -44016,7 +44016,7 @@ for.body135.us.us.i: ; preds = %for.cond144.for.con %add136.us.us.i = add nuw nsw i64 %bi01.0151.us.us.i, 32 %cond143.us.us.i = tail call i64 @llvm.smin.i64(i64 %add136.us.us.i, i64 %102) %sub159.us.us.i = and i64 %cond143.us.us.i, 9223372036854775776 - %cmp161134.us.us.i = icmp ult i64 %bi01.0151.us.us.i, %sub159.us.us.i + %cmp161134.us.us.i = icmp samesign ult i64 %bi01.0151.us.us.i, %sub159.us.us.i %cmp192136.us.us.i = icmp slt i64 %sub159.us.us.i, %cond143.us.us.i br label %for.body147.us.us.i @@ -44157,7 +44157,7 @@ for.end61.i.us.us.i: ; preds = %for.body35.i.us.us. for.inc72.i.us.us.i: ; preds = %for.end61.i.us.us.i %indvars.iv.next72.i.us.us.i = add nuw nsw i64 %indvars.iv71.i.us.us.i, 32 - %cmp19.i.us.us.i = icmp ult i64 %indvars.iv.next72.i.us.us.i, %145 + %cmp19.i.us.us.i = icmp samesign ult i64 %indvars.iv.next72.i.us.us.i, %145 br i1 %cmp19.i.us.us.i, label %for.cond21.preheader.i.us.us.i, label %for.cond75.preheader.i.us.us.i, !llvm.loop !516 for.cond75.preheader.i.us.us.i: ; preds = %for.inc72.i.us.us.i, %for.cond18.preheader.i.us.us.i @@ -44194,7 +44194,7 @@ ggml_vec_mad_f32_unroll.exit.us.us.i: ; preds = %for.cond79.for.inc9 call void @llvm.lifetime.end.p0(i64 256, ptr nonnull %v.i.i) call void @llvm.lifetime.end.p0(i64 1024, ptr nonnull %vx.i.i) %add189.us.us.i = add nuw nsw i64 %i01.0135.us.us.i, 32 - %cmp161.us.us.i = icmp ult i64 %add189.us.us.i, %sub159.us.us.i + %cmp161.us.us.i = icmp samesign ult i64 %add189.us.us.i, %sub159.us.us.i br i1 %cmp161.us.us.i, label %for.body163.us.us.i, label %for.cond191.preheader.us.us.i, !llvm.loop !519 ggml_vec_mad_f32.exit.loopexit.us165.us.i: ; preds = %for.body34.i.us159.us.i @@ -44275,7 +44275,7 @@ for.body3.i.us.us.us.i49: ; preds = %for.body3.i.us.us.u for.inc29.i.us.us.us.i52: ; preds = %for.body3.i.us.us.us.i49 %indvars.iv.next39.i.us.us.us.i53 = add nuw nsw i64 %indvars.iv38.i.us.us.us.i47, 32 - %cmp.i.us.us.us.i54 = icmp ult i64 %indvars.iv.next39.i.us.us.us.i53, %145 + %cmp.i.us.us.us.i54 = icmp samesign ult i64 %indvars.iv.next39.i.us.us.us.i53, %145 br i1 %cmp.i.us.us.us.i54, label %for.cond1.preheader.i.us.us.us.i46, label %for.cond32.preheader.i.loopexit.us.us.us.i, !llvm.loop !162 for.body34.i.us.us.us.i55: ; preds = %for.cond32.preheader.i.loopexit.us.us.us.i, %for.body34.i.us.us.us.i55 @@ -44568,7 +44568,7 @@ for.body3.i.us.i.us: ; preds = %for.body3.i.us.i.us for.inc19.i.us.i.us: ; preds = %for.body3.i.us.i.us %indvars.iv.next33.i.us.i.us = add nuw nsw i64 %indvars.iv32.i.us.i.us, 32 - %cmp.i70.us.i.us = icmp ult i64 %indvars.iv.next33.i.us.i.us, %37 + %cmp.i70.us.i.us = icmp samesign ult i64 %indvars.iv.next33.i.us.i.us, %37 br i1 %cmp.i70.us.i.us, label %for.cond1.preheader.i.us.i.us, label %for.cond22.preheader.i.loopexit.us.i.us, !llvm.loop !229 for.cond22.preheader.i.loopexit.us.i.us: ; preds = %for.inc19.i.us.i.us @@ -44615,7 +44615,7 @@ for.body3.i.us.i: ; preds = %for.body3.i.us.i, % for.inc19.i.us.i: ; preds = %for.body3.i.us.i %indvars.iv.next33.i.us.i = add nuw nsw i64 %indvars.iv32.i.us.i, 32 - %cmp.i70.us.i = icmp ult i64 %indvars.iv.next33.i.us.i, %37 + %cmp.i70.us.i = icmp samesign ult i64 %indvars.iv.next33.i.us.i, %37 br i1 %cmp.i70.us.i, label %for.cond1.preheader.i.us.i, label %for.body24.i.us.i, !llvm.loop !229 for.body24.i.us.i: ; preds = %for.inc19.i.us.i, %for.body24.i.us.i @@ -46349,7 +46349,7 @@ for.body3.i.i: ; preds = %for.body3.i.i, %for for.inc19.i.i: ; preds = %for.body3.i.i %indvars.iv.next33.i.i = add nuw nsw i64 %indvars.iv32.i.i, 32 - %cmp.i.i = icmp ult i64 %indvars.iv.next33.i.i, %10 + %cmp.i.i = icmp samesign ult i64 %indvars.iv.next33.i.i, %10 br i1 %cmp.i.i, label %for.cond1.preheader.i.i, label %for.cond22.preheader.i.i, !llvm.loop !229 for.body24.i.i: ; preds = %for.cond22.preheader.i.i, %for.body24.i.i @@ -46456,7 +46456,7 @@ for.body3.i88.i: ; preds = %for.body3.i88.i, %f for.inc19.i95.i: ; preds = %for.body3.i88.i %indvars.iv.next33.i96.i = add nuw nsw i64 %indvars.iv32.i86.i, 32 - %cmp.i97.i = icmp ult i64 %indvars.iv.next33.i96.i, %10 + %cmp.i97.i = icmp samesign ult i64 %indvars.iv.next33.i96.i, %10 br i1 %cmp.i97.i, label %for.cond1.preheader.i85.i, label %for.cond22.preheader.i75.i, !llvm.loop !229 for.body24.i78.i: ; preds = %for.cond22.preheader.i75.i, %for.body24.i78.i @@ -46793,7 +46793,7 @@ for.body3.i.i: ; preds = %for.body3.i.i, %for for.inc24.i.i: ; preds = %for.body3.i.i %indvars.iv.next53.i.i = add nuw nsw i64 %indvars.iv52.i.i, 32 - %cmp.i106.i = icmp ult i64 %indvars.iv.next53.i.i, %44 + %cmp.i106.i = icmp samesign ult i64 %indvars.iv.next53.i.i, %44 br i1 %cmp.i106.i, label %for.cond1.preheader.i.i, label %for.cond27.preheader.i.loopexit.i, !llvm.loop !126 for.body82.i.i: ; preds = %for.cond27.preheader.i.i, %for.body82.i.i @@ -47834,7 +47834,7 @@ for.body3.i.us.us.us.us.us.i: ; preds = %for.body3.i.us.us.u for.inc26.i.us.us.us.us.us.i: ; preds = %for.body3.i.us.us.us.us.us.i %indvars.iv.next55.i.us.us.us.us.us.i = add nuw nsw i64 %indvars.iv54.i.us.us.us.us.us.i, 32 - %cmp.i94.us.us.us.us.us.i = icmp ult i64 %indvars.iv.next55.i.us.us.us.us.us.i, %50 + %cmp.i94.us.us.us.us.us.i = icmp samesign ult i64 %indvars.iv.next55.i.us.us.us.us.us.i, %50 br i1 %cmp.i94.us.us.us.us.us.i, label %for.cond1.preheader.i.us.us.us.us.us.i, label %for.cond29.preheader.i.loopexit.us.us.us.us.us.i, !llvm.loop !294 for.body85.i.us.us.us.us.us.i: ; preds = %for.cond29.preheader.i.loopexit.us.us.us.us.us.i, %for.body85.i.us.us.us.us.us.i @@ -47934,7 +47934,7 @@ for.body3.i.us.us.us.us.us.us.us.i: ; preds = %for.body3.i.us.us.u for.inc26.i.us.us.us.us.us.us.us.i: ; preds = %for.body3.i.us.us.us.us.us.us.us.i %indvars.iv.next55.i.us.us.us.us.us.us.us.i = add nuw nsw i64 %indvars.iv54.i.us.us.us.us.us.us.us.i, 32 - %cmp.i94.us.us.us.us.us.us.us.i = icmp ult i64 %indvars.iv.next55.i.us.us.us.us.us.us.us.i, %50 + %cmp.i94.us.us.us.us.us.us.us.i = icmp samesign ult i64 %indvars.iv.next55.i.us.us.us.us.us.us.us.i, %50 br i1 %cmp.i94.us.us.us.us.us.us.us.i, label %for.cond1.preheader.i.us.us.us.us.us.us.us.i, label %for.cond29.preheader.i.loopexit.us.us.us.us.us.us.us.i, !llvm.loop !294 for.cond29.preheader.i.loopexit.us.us.us.us.us.us.us.i: ; preds = %for.inc26.i.us.us.us.us.us.us.us.i @@ -48329,7 +48329,7 @@ for.body3.i.us.us.us.us.us.i135.us: ; preds = %for.body3.i.us.us.u for.inc24.i.us.us.us.us.us.i.us: ; preds = %for.body3.i.us.us.us.us.us.i135.us %indvars.iv.next53.i.us.us.us.us.us.i.us = add nuw nsw i64 %indvars.iv52.i.us.us.us.us.us.i.us, 32 - %cmp.i93.us.us.us.us.us.i.us = icmp ult i64 %indvars.iv.next53.i.us.us.us.us.us.i.us, %149 + %cmp.i93.us.us.us.us.us.i.us = icmp samesign ult i64 %indvars.iv.next53.i.us.us.us.us.us.i.us, %149 br i1 %cmp.i93.us.us.us.us.us.i.us, label %for.cond1.preheader.i.us.us.us.us.us.i133.us, label %for.cond27.preheader.i.loopexit.us.us.us.us.us.i.us, !llvm.loop !126 for.cond27.preheader.i.loopexit.us.us.us.us.us.i.us: ; preds = %for.inc24.i.us.us.us.us.us.i.us @@ -48417,7 +48417,7 @@ for.body3.i.us.us.us.us.us.us.us.i142.us: ; preds = %for.body3.i.us.us.u for.inc24.i.us.us.us.us.us.us.us.i.us: ; preds = %for.body3.i.us.us.us.us.us.us.us.i142.us %indvars.iv.next53.i.us.us.us.us.us.us.us.i.us = add nuw nsw i64 %indvars.iv52.i.us.us.us.us.us.us.us.i.us, 32 - %cmp.i93.us.us.us.us.us.us.us.i.us = icmp ult i64 %indvars.iv.next53.i.us.us.us.us.us.us.us.i.us, %149 + %cmp.i93.us.us.us.us.us.us.us.i.us = icmp samesign ult i64 %indvars.iv.next53.i.us.us.us.us.us.us.us.i.us, %149 br i1 %cmp.i93.us.us.us.us.us.us.us.i.us, label %for.cond1.preheader.i.us.us.us.us.us.us.us.i140.us, label %for.cond27.preheader.i.loopexit.us.us.us.us.us.us.us.i.us, !llvm.loop !126 for.cond27.preheader.i.loopexit.us.us.us.us.us.us.us.i.us: ; preds = %for.inc24.i.us.us.us.us.us.us.us.i.us @@ -49300,7 +49300,7 @@ for.body3.i.us.us.us.us.us.us.us.us.us.us.us.us.us.us: ; preds = %for.body3.i.us for.inc26.i.us.us.us.us.us.us.us.us.us.us.us.us.us.us: ; preds = %for.body3.i.us.us.us.us.us.us.us.us.us.us.us.us.us.us %indvars.iv.next55.i.us.us.us.us.us.us.us.us.us.us.us.us.us.us = add nuw nsw i64 %indvars.iv54.i.us.us.us.us.us.us.us.us.us.us.us.us.us.us, 32 - %cmp.i127.us.us.us.us.us.us.us.us.us.us.us.us.us.us = icmp ult i64 %indvars.iv.next55.i.us.us.us.us.us.us.us.us.us.us.us.us.us.us, %57 + %cmp.i127.us.us.us.us.us.us.us.us.us.us.us.us.us.us = icmp samesign ult i64 %indvars.iv.next55.i.us.us.us.us.us.us.us.us.us.us.us.us.us.us, %57 br i1 %cmp.i127.us.us.us.us.us.us.us.us.us.us.us.us.us.us, label %for.cond1.preheader.i.us.us.us.us.us.us.us.us.us.us.us.us.us.us, label %for.cond29.preheader.i.loopexit.us.us.us.us.us.us.us.us.us.us.us.us.us.us, !llvm.loop !294 for.cond29.preheader.i.loopexit.us.us.us.us.us.us.us.us.us.us.us.us.us.us: ; preds = %for.inc26.i.us.us.us.us.us.us.us.us.us.us.us.us.us.us @@ -49401,7 +49401,7 @@ for.body3.i.us.us.us.us.us.us.us.us.us.us: ; preds = %for.body3.i.us.us.u for.inc26.i.us.us.us.us.us.us.us.us.us.us: ; preds = %for.body3.i.us.us.us.us.us.us.us.us.us.us %indvars.iv.next55.i.us.us.us.us.us.us.us.us.us.us = add nuw nsw i64 %indvars.iv54.i.us.us.us.us.us.us.us.us.us.us, 32 - %cmp.i127.us.us.us.us.us.us.us.us.us.us = icmp ult i64 %indvars.iv.next55.i.us.us.us.us.us.us.us.us.us.us, %57 + %cmp.i127.us.us.us.us.us.us.us.us.us.us = icmp samesign ult i64 %indvars.iv.next55.i.us.us.us.us.us.us.us.us.us.us, %57 br i1 %cmp.i127.us.us.us.us.us.us.us.us.us.us, label %for.cond1.preheader.i.us.us.us.us.us.us.us.us.us.us, label %for.cond29.preheader.i.loopexit.us.us.us.us.us.us.us.us.us.us, !llvm.loop !294 for.body85.i.us.us.us.us.us.us.us.us.us.us: ; preds = %for.cond29.preheader.i.loopexit.us.us.us.us.us.us.us.us.us.us, %for.body85.i.us.us.us.us.us.us.us.us.us.us @@ -51469,7 +51469,7 @@ for.body3.i.i: ; preds = %for.body3.i.i, %for for.inc26.i.i: ; preds = %for.body3.i.i %indvars.iv.next55.i.i = add nuw nsw i64 %indvars.iv54.i.i, 32 - %cmp.i.i = icmp ult i64 %indvars.iv.next55.i.i, %57 + %cmp.i.i = icmp samesign ult i64 %indvars.iv.next55.i.i, %57 br i1 %cmp.i.i, label %for.cond1.preheader.i.i, label %for.cond29.preheader.i.loopexit.i, !llvm.loop !294 for.body85.preheader.i.i: ; preds = %for.cond29.preheader.i.i @@ -51566,7 +51566,7 @@ for.body8.i.i: ; preds = %for.body8.i.i, %for for.inc51.i.i: ; preds = %for.body8.i.i %indvars.iv.next90.i.i = add nuw nsw i64 %indvars.iv89.i.i, 32 - %cmp4.i.i = icmp ult i64 %indvars.iv.next90.i.i, %57 + %cmp4.i.i = icmp samesign ult i64 %indvars.iv.next90.i.i, %57 br i1 %cmp4.i.i, label %for.cond6.preheader.i.i, label %for.cond58.preheader.i.i.preheader, !llvm.loop !667 for.cond58.preheader.i.i.preheader: ; preds = %for.inc51.i.i, %for.body283.i @@ -51673,7 +51673,7 @@ for.body3.i228.i: ; preds = %for.body3.i228.i, % for.inc19.i.i: ; preds = %for.body3.i228.i %indvars.iv.next33.i.i = add nuw nsw i64 %indvars.iv32.i.i, 32 - %cmp.i233.i = icmp ult i64 %indvars.iv.next33.i.i, %61 + %cmp.i233.i = icmp samesign ult i64 %indvars.iv.next33.i.i, %61 br i1 %cmp.i233.i, label %for.cond1.preheader.i226.i, label %for.cond22.preheader.i.i, !llvm.loop !229 for.body24.i.i: ; preds = %for.cond22.preheader.i.i, %for.body24.i.i @@ -51812,7 +51812,7 @@ for.body3.i258.i: ; preds = %for.body3.i258.i, % for.inc19.i265.i: ; preds = %for.body3.i258.i %indvars.iv.next33.i266.i = add nuw nsw i64 %indvars.iv32.i256.i, 32 - %cmp.i267.i = icmp ult i64 %indvars.iv.next33.i266.i, %61 + %cmp.i267.i = icmp samesign ult i64 %indvars.iv.next33.i266.i, %61 br i1 %cmp.i267.i, label %for.cond1.preheader.i255.i, label %for.cond22.preheader.i245.i, !llvm.loop !229 for.body24.i248.i: ; preds = %for.cond22.preheader.i245.i, %for.body24.i248.i @@ -51940,7 +51940,7 @@ for.body3.i310.i: ; preds = %for.body3.i310.i, % for.inc26.i319.i: ; preds = %for.body3.i310.i %indvars.iv.next55.i320.i = add nuw nsw i64 %indvars.iv54.i307.i, 32 - %cmp.i321.i = icmp ult i64 %indvars.iv.next55.i320.i, %65 + %cmp.i321.i = icmp samesign ult i64 %indvars.iv.next55.i320.i, %65 br i1 %cmp.i321.i, label %for.cond1.preheader.i306.i, label %for.cond29.preheader.i272.loopexit.i, !llvm.loop !294 for.body85.preheader.i287.i: ; preds = %for.cond29.preheader.i272.i @@ -52036,7 +52036,7 @@ for.body8.i387.i: ; preds = %for.body8.i387.i, % for.inc51.i402.i: ; preds = %for.body8.i387.i %indvars.iv.next90.i403.i = add nuw nsw i64 %indvars.iv89.i385.i, 32 - %cmp4.i404.i = icmp ult i64 %indvars.iv.next90.i403.i, %65 + %cmp4.i404.i = icmp samesign ult i64 %indvars.iv.next90.i403.i, %65 br i1 %cmp4.i404.i, label %for.cond6.preheader.i384.i, label %for.cond58.preheader.i335.i.preheader, !llvm.loop !667 for.cond58.preheader.i335.i.preheader: ; preds = %for.inc51.i402.i, %for.body467.i @@ -52511,7 +52511,7 @@ for.body3.i.i165: ; preds = %for.body3.i.i165, % for.inc24.i.i: ; preds = %for.body3.i.i165 %indvars.iv.next53.i.i = add nuw nsw i64 %indvars.iv52.i.i, 32 - %cmp.i.i170 = icmp ult i64 %indvars.iv.next53.i.i, %237 + %cmp.i.i170 = icmp samesign ult i64 %indvars.iv.next53.i.i, %237 br i1 %cmp.i.i170, label %for.cond1.preheader.i.i163, label %for.cond27.preheader.i.loopexit.i, !llvm.loop !126 for.body82.i.i: ; preds = %for.cond27.preheader.i.i, %for.body82.i.i @@ -52572,7 +52572,7 @@ for.body3.i159.i: ; preds = %for.body3.i159.i, % for.inc19.i.i154: ; preds = %for.body3.i159.i %indvars.iv.next33.i.i155 = add nuw nsw i64 %indvars.iv32.i.i151, 32 - %cmp.i164.i = icmp ult i64 %indvars.iv.next33.i.i155, %262 + %cmp.i164.i = icmp samesign ult i64 %indvars.iv.next33.i.i155, %262 br i1 %cmp.i164.i, label %for.cond1.preheader.i157.i, label %for.cond22.preheader.i.i130, !llvm.loop !229 for.body24.i.i132: ; preds = %for.body24.i.i132, %for.body24.preheader.i.i @@ -52713,7 +52713,7 @@ for.body3.i185.i: ; preds = %for.body3.i185.i, % for.inc19.i192.i: ; preds = %for.body3.i185.i %indvars.iv.next33.i193.i = add nuw nsw i64 %indvars.iv32.i183.i, 32 - %cmp.i194.i = icmp ult i64 %indvars.iv.next33.i193.i, %272 + %cmp.i194.i = icmp samesign ult i64 %indvars.iv.next33.i193.i, %272 br i1 %cmp.i194.i, label %for.cond1.preheader.i182.i, label %for.cond22.preheader.i172.i, !llvm.loop !229 for.body24.i175.i: ; preds = %for.body24.i175.i, %for.body24.preheader.i174.i @@ -52805,7 +52805,7 @@ for.body3.i228.i142: ; preds = %for.body3.i228.i142 for.inc24.i235.i: ; preds = %for.body3.i228.i142 %indvars.iv.next53.i236.i = add nuw nsw i64 %indvars.iv52.i225.i, 32 - %cmp.i237.i = icmp ult i64 %indvars.iv.next53.i236.i, %277 + %cmp.i237.i = icmp samesign ult i64 %indvars.iv.next53.i236.i, %277 br i1 %cmp.i237.i, label %for.cond1.preheader.i224.i, label %for.cond27.preheader.i199.loopexit.i, !llvm.loop !126 for.body82.i215.i: ; preds = %for.cond27.preheader.i199.i, %for.body82.i215.i @@ -53334,7 +53334,7 @@ for.body3.i.i: ; preds = %for.body3.i.i, %for for.inc26.i.i: ; preds = %for.body3.i.i %indvars.iv.next55.i.i = add nuw nsw i64 %indvars.iv54.i.i, 32 - %cmp.i.i = icmp ult i64 %indvars.iv.next55.i.i, %75 + %cmp.i.i = icmp samesign ult i64 %indvars.iv.next55.i.i, %75 br i1 %cmp.i.i, label %for.cond1.preheader.i.i, label %for.cond29.preheader.i.loopexit.i, !llvm.loop !294 for.body85.preheader.i.i: ; preds = %for.cond29.preheader.i.i @@ -53501,7 +53501,7 @@ for.body3.i207.i: ; preds = %for.body3.i207.i, % for.inc26.i216.i: ; preds = %for.body3.i207.i %indvars.iv.next55.i217.i = add nuw nsw i64 %indvars.iv54.i204.i, 32 - %cmp.i218.i = icmp ult i64 %indvars.iv.next55.i217.i, %78 + %cmp.i218.i = icmp samesign ult i64 %indvars.iv.next55.i217.i, %78 br i1 %cmp.i218.i, label %for.cond1.preheader.i203.i, label %for.cond29.preheader.i169.loopexit.i, !llvm.loop !294 for.body85.preheader.i184.i: ; preds = %for.cond29.preheader.i169.i @@ -54045,7 +54045,7 @@ for.body3.i270.us.us.us.i: ; preds = %for.body3.i270.us.u for.inc19.i.us.us.us.i: ; preds = %for.body3.i270.us.us.us.i %indvars.iv.next33.i.us.us.us.i = add nuw nsw i64 %indvars.iv32.i.us.us.us.i, 32 - %cmp.i275.us.us.us.i = icmp ult i64 %indvars.iv.next33.i.us.us.us.i, %83 + %cmp.i275.us.us.us.i = icmp samesign ult i64 %indvars.iv.next33.i.us.us.us.i, %83 br i1 %cmp.i275.us.us.us.i, label %for.cond1.preheader.i268.us.us.us.i, label %for.cond22.preheader.i.us.us.us.i, !llvm.loop !229 for.cond22.preheader.i.us.us.us.i: ; preds = %for.inc19.i.us.us.us.i, %for.end377.us.us.us.i @@ -54133,7 +54133,7 @@ for.body3.i296.us.us.us.i: ; preds = %for.body3.i296.us.u for.inc19.i303.us.us.us.i: ; preds = %for.body3.i296.us.us.us.i %indvars.iv.next33.i304.us.us.us.i = add nuw nsw i64 %indvars.iv32.i294.us.us.us.i, 32 - %cmp.i305.us.us.us.i = icmp ult i64 %indvars.iv.next33.i304.us.us.us.i, %89 + %cmp.i305.us.us.us.i = icmp samesign ult i64 %indvars.iv.next33.i304.us.us.us.i, %89 br i1 %cmp.i305.us.us.us.i, label %for.cond1.preheader.i293.us.us.us.i, label %for.cond22.preheader.i283.us.us.us.i, !llvm.loop !229 for.cond22.preheader.i283.us.us.us.i: ; preds = %for.inc19.i303.us.us.us.i, %for.end448.us.us.us.i @@ -54202,7 +54202,7 @@ for.body3.i360.us.us.us.i: ; preds = %for.body3.i360.us.u for.inc24.i367.us.us.us.i: ; preds = %for.body3.i360.us.us.us.i %indvars.iv.next53.i368.us.us.us.i = add nuw nsw i64 %indvars.iv52.i357.us.us.us.i, 32 - %cmp.i369.us.us.us.i = icmp ult i64 %indvars.iv.next53.i368.us.us.us.i, %95 + %cmp.i369.us.us.us.i = icmp samesign ult i64 %indvars.iv.next53.i368.us.us.us.i, %95 br i1 %cmp.i369.us.us.us.i, label %for.cond1.preheader.i356.us.us.us.i, label %for.cond27.preheader.i331.us.us.us.loopexit.i, !llvm.loop !126 for.cond27.preheader.i331.us.us.us.loopexit.i: ; preds = %for.inc24.i367.us.us.us.i @@ -54302,7 +54302,7 @@ for.body3.i406.us.us.us.i: ; preds = %for.body3.i406.us.u for.inc19.i413.us.us.us.i: ; preds = %for.body3.i406.us.us.us.i %indvars.iv.next33.i414.us.us.us.i = add nuw nsw i64 %indvars.iv32.i404.us.us.us.i, 32 - %cmp.i415.us.us.us.i = icmp ult i64 %indvars.iv.next33.i414.us.us.us.i, %114 + %cmp.i415.us.us.us.i = icmp samesign ult i64 %indvars.iv.next33.i414.us.us.us.i, %114 br i1 %cmp.i415.us.us.us.i, label %for.cond1.preheader.i403.us.us.us.i, label %for.cond22.preheader.i393.us.us.us.i, !llvm.loop !229 for.cond22.preheader.i393.us.us.us.i: ; preds = %for.inc19.i413.us.us.us.i, %ggml_vec_mul_f32.exit.us.us.us.i @@ -54370,7 +54370,7 @@ for.body3.i491.us.us.us.i: ; preds = %for.body3.i491.us.u for.inc29.i497.us.us.us.i: ; preds = %for.body3.i491.us.us.us.i %indvars.iv.next39.i498.us.us.us.i = add nuw nsw i64 %indvars.iv38.i488.us.us.us.i, 32 - %cmp.i499.us.us.us.i = icmp ult i64 %indvars.iv.next39.i498.us.us.us.i, %195 + %cmp.i499.us.us.us.i = icmp samesign ult i64 %indvars.iv.next39.i498.us.us.us.i, %195 br i1 %cmp.i499.us.us.us.i, label %for.cond1.preheader.i487.us.us.us.i, label %for.cond32.preheader.i477.us.us.us.i, !llvm.loop !162 for.cond32.preheader.i477.us.us.us.i: ; preds = %for.inc29.i497.us.us.us.i, %for.body547.us.us.us.i @@ -54430,7 +54430,7 @@ for.body3.i463.us.us.us.i: ; preds = %for.body3.i463.us.u for.inc29.i469.us.us.us.i: ; preds = %for.body3.i463.us.us.us.i %indvars.iv.next39.i470.us.us.us.i = add nuw nsw i64 %indvars.iv38.i460.us.us.us.i, 32 - %cmp.i471.us.us.us.i = icmp ult i64 %indvars.iv.next39.i470.us.us.us.i, %72 + %cmp.i471.us.us.us.i = icmp samesign ult i64 %indvars.iv.next39.i470.us.us.us.i, %72 br i1 %cmp.i471.us.us.us.i, label %for.cond1.preheader.i459.us.us.us.i, label %for.cond32.preheader.i449.us.us.us.i, !llvm.loop !162 for.cond32.preheader.i449.us.us.us.i: ; preds = %for.inc29.i469.us.us.us.i, %for.body519.us.us.us.i @@ -54489,7 +54489,7 @@ for.body3.i435.us.us.us.i: ; preds = %for.body3.i435.us.u for.inc29.i441.us.us.us.i: ; preds = %for.body3.i435.us.us.us.i %indvars.iv.next39.i442.us.us.us.i = add nuw nsw i64 %indvars.iv38.i432.us.us.us.i, 32 - %cmp.i443.us.us.us.i = icmp ult i64 %indvars.iv.next39.i442.us.us.us.i, %72 + %cmp.i443.us.us.us.i = icmp samesign ult i64 %indvars.iv.next39.i442.us.us.us.i, %72 br i1 %cmp.i443.us.us.us.i, label %for.cond1.preheader.i431.us.us.us.i, label %for.cond32.preheader.i421.us.us.us.i, !llvm.loop !162 for.cond32.preheader.i421.us.us.us.i: ; preds = %for.inc29.i441.us.us.us.i, %for.body491.us.us.us.i @@ -54553,7 +54553,7 @@ for.body3.i321.us.us.us.i: ; preds = %for.body3.i321.us.u for.inc29.i.us.us.us.i: ; preds = %for.body3.i321.us.us.us.i %indvars.iv.next39.i.us.us.us.i = add nuw nsw i64 %indvars.iv38.i.us.us.us.i, 32 - %cmp.i327.us.us.us.i = icmp ult i64 %indvars.iv.next39.i.us.us.us.i, %192 + %cmp.i327.us.us.us.i = icmp samesign ult i64 %indvars.iv.next39.i.us.us.us.i, %192 br i1 %cmp.i327.us.us.us.i, label %for.cond1.preheader.i318.us.us.us.i, label %for.cond32.preheader.i.us.us.us.i, !llvm.loop !162 for.cond32.preheader.i.us.us.us.i: ; preds = %for.inc29.i.us.us.us.i, %for.body457.us.us.us.i @@ -54676,7 +54676,7 @@ for.body3.i.us.us.us.i: ; preds = %for.body3.i.us.us.u for.inc24.i.us.us.us.i: ; preds = %for.body3.i.us.us.us.i %indvars.iv.next53.i.us.us.us.i = add nuw nsw i64 %indvars.iv52.i.us.us.us.i, 32 - %cmp.i.us.us.us.i = icmp ult i64 %indvars.iv.next53.i.us.us.us.i, %72 + %cmp.i.us.us.us.i = icmp samesign ult i64 %indvars.iv.next53.i.us.us.us.i, %72 br i1 %cmp.i.us.us.us.i, label %for.cond1.preheader.i.us.us.us.i, label %for.cond27.preheader.i.us.us.us.loopexit.i, !llvm.loop !126 for.cond27.preheader.i.us.us.us.loopexit.i: ; preds = %for.inc24.i.us.us.us.i @@ -57042,7 +57042,7 @@ for.body3.i.i: ; preds = %for.body3.i.i, %for for.inc19.i.i: ; preds = %for.body3.i.i %indvars.iv.next33.i.i = add nuw nsw i64 %indvars.iv32.i.i, 32 - %cmp.i122.i = icmp ult i64 %indvars.iv.next33.i.i, %42 + %cmp.i122.i = icmp samesign ult i64 %indvars.iv.next33.i.i, %42 br i1 %cmp.i122.i, label %for.cond1.preheader.i.i, label %for.cond22.preheader.i.i, !llvm.loop !229 for.body24.i.i: ; preds = %for.cond22.preheader.i.i, %for.body24.i.i @@ -57492,7 +57492,7 @@ for.body3.i.i: ; preds = %for.body3.i.i, %for for.inc19.i.i: ; preds = %for.body3.i.i %indvars.iv.next33.i.i = add nuw nsw i64 %indvars.iv32.i.i, 32 - %cmp.i151.i = icmp ult i64 %indvars.iv.next33.i.i, %55 + %cmp.i151.i = icmp samesign ult i64 %indvars.iv.next33.i.i, %55 br i1 %cmp.i151.i, label %for.cond1.preheader.i.i, label %for.cond22.preheader.i.i, !llvm.loop !229 for.body24.i.i: ; preds = %for.cond22.preheader.i.i, %for.body24.i.i @@ -57558,7 +57558,7 @@ for.body3.i186.i: ; preds = %for.body3.i186.i, % for.inc19.i193.i: ; preds = %for.body3.i186.i %indvars.iv.next33.i194.i = add nuw nsw i64 %indvars.iv32.i184.i, 32 - %cmp.i195.i = icmp ult i64 %indvars.iv.next33.i194.i, %55 + %cmp.i195.i = icmp samesign ult i64 %indvars.iv.next33.i194.i, %55 br i1 %cmp.i195.i, label %for.cond1.preheader.i183.i, label %for.cond22.preheader.i173.i, !llvm.loop !229 for.body24.i176.i: ; preds = %for.cond22.preheader.i173.i, %for.body24.i176.i diff --git a/bench/llama.cpp/optimized/llama.cpp.ll b/bench/llama.cpp/optimized/llama.cpp.ll index 7991b6edbbc..cc5aa86a1be 100644 --- a/bench/llama.cpp/optimized/llama.cpp.ll +++ b/bench/llama.cpp/optimized/llama.cpp.ll @@ -76828,7 +76828,7 @@ if.end16.i.i.i.i: ; preds = %if.then9.i.i.i.i, % %__holeIndex.addr.1.i.i.i.i = phi i64 [ %sub12.i.i.i.i, %if.then9.i.i.i.i ], [ %__holeIndex.addr.0.lcssa.i.i.i.i, %while.end.i.i.i.i ] %__value.sroa.0.sroa.2.0.extract.shift.i.i.i.i.i = lshr i64 %__value.sroa.0.0.copyload10.i.i.i, 32 %__value.sroa.0.sroa.2.0.extract.trunc.i.i.i.i.i = trunc nuw i64 %__value.sroa.0.sroa.2.0.extract.shift.i.i.i.i.i to i32 - %cmp5.i.i.i.i.i = icmp ugt i64 %__holeIndex.addr.1.i.i.i.i, %div17.i.i.i + %cmp5.i.i.i.i.i = icmp samesign ugt i64 %__holeIndex.addr.1.i.i.i.i, %div17.i.i.i br i1 %cmp5.i.i.i.i.i, label %land.rhs.lr.ph.i.i.i.i.i, label %"_ZSt13__adjust_heapIP16llama_token_datalS0_N9__gnu_cxx5__ops15_Iter_comp_iterIZ20llama_sample_softmaxE3$_0EEEvT_T0_S8_T1_T2_.exit.i.i.i" land.rhs.lr.ph.i.i.i.i.i: ; preds = %if.end16.i.i.i.i @@ -76910,7 +76910,7 @@ if.end16.i25.i.i.i: ; preds = %if.then9.i50.i.i.i, %__holeIndex.addr.1.i26.i.i.i = phi i64 [ %sub12.i52.i.i.i, %if.then9.i50.i.i.i ], [ %__holeIndex.addr.0.lcssa.i22.i.i.i, %while.end.i21.i.i.i ] %__value.sroa.0.sroa.2.0.extract.shift.i.i27.i.i.i = lshr i64 %__value.sroa.0.0.copyload14.i.i.i, 32 %__value.sroa.0.sroa.2.0.extract.trunc.i.i28.i.i.i = trunc nuw i64 %__value.sroa.0.sroa.2.0.extract.shift.i.i27.i.i.i to i32 - %cmp5.i.i29.i.i.i = icmp ugt i64 %__holeIndex.addr.1.i26.i.i.i, %dec.i.i.i + %cmp5.i.i29.i.i.i = icmp samesign ugt i64 %__holeIndex.addr.1.i26.i.i.i, %dec.i.i.i br i1 %cmp5.i.i29.i.i.i, label %land.rhs.lr.ph.i.i35.i.i.i, label %"_ZSt13__adjust_heapIP16llama_token_datalS0_N9__gnu_cxx5__ops15_Iter_comp_iterIZ20llama_sample_softmaxE3$_0EEEvT_T0_S8_T1_T2_.exit67.i.i.i" land.rhs.lr.ph.i.i35.i.i.i: ; preds = %if.end16.i25.i.i.i @@ -77389,7 +77389,7 @@ if.end16.i.i.i: ; preds = %if.then9.i.i.i, %wh %__holeIndex.addr.1.i.i.i = phi i64 [ %sub12.i.i.i, %if.then9.i.i.i ], [ %__holeIndex.addr.0.lcssa.i.i.i, %while.end.i.i.i ] %__value.sroa.0.sroa.2.0.extract.shift.i.i.i.i = lshr i64 %__value.sroa.0.0.copyload10.i.i, 32 %__value.sroa.0.sroa.2.0.extract.trunc.i.i.i.i = trunc nuw i64 %__value.sroa.0.sroa.2.0.extract.shift.i.i.i.i to i32 - %cmp5.i.i.i.i = icmp ugt i64 %__holeIndex.addr.1.i.i.i, %div17.i.i + %cmp5.i.i.i.i = icmp samesign ugt i64 %__holeIndex.addr.1.i.i.i, %div17.i.i br i1 %cmp5.i.i.i.i, label %land.rhs.lr.ph.i.i.i.i, label %"_ZSt13__adjust_heapIP16llama_token_datalS0_N9__gnu_cxx5__ops15_Iter_comp_iterIZ18llama_sample_top_kE3$_0EEEvT_T0_S8_T1_T2_.exit.i.i" land.rhs.lr.ph.i.i.i.i: ; preds = %if.end16.i.i.i @@ -77471,7 +77471,7 @@ if.end16.i25.i.i: ; preds = %if.then9.i50.i.i, % %__holeIndex.addr.1.i26.i.i = phi i64 [ %sub12.i52.i.i, %if.then9.i50.i.i ], [ %__holeIndex.addr.0.lcssa.i22.i.i, %while.end.i21.i.i ] %__value.sroa.0.sroa.2.0.extract.shift.i.i27.i.i = lshr i64 %__value.sroa.0.0.copyload14.i.i, 32 %__value.sroa.0.sroa.2.0.extract.trunc.i.i28.i.i = trunc nuw i64 %__value.sroa.0.sroa.2.0.extract.shift.i.i27.i.i to i32 - %cmp5.i.i29.i.i = icmp ugt i64 %__holeIndex.addr.1.i26.i.i, %dec.i.i + %cmp5.i.i29.i.i = icmp samesign ugt i64 %__holeIndex.addr.1.i26.i.i, %dec.i.i br i1 %cmp5.i.i29.i.i, label %land.rhs.lr.ph.i.i35.i.i, label %"_ZSt13__adjust_heapIP16llama_token_datalS0_N9__gnu_cxx5__ops15_Iter_comp_iterIZ18llama_sample_top_kE3$_0EEEvT_T0_S8_T1_T2_.exit67.i.i" land.rhs.lr.ph.i.i35.i.i: ; preds = %if.end16.i25.i.i diff --git a/bench/lodepng/optimized/lodepng.cpp.ll b/bench/lodepng/optimized/lodepng.cpp.ll index d1d6c93ed74..c424e6629ff 100644 --- a/bench/lodepng/optimized/lodepng.cpp.ll +++ b/bench/lodepng/optimized/lodepng.cpp.ll @@ -22624,10 +22624,10 @@ for.body300.i: ; preds = %for.cond297.prehead %add.i.i = sub nsw i32 %conv10.i.i, %64 %sub31.i.i = add nsw i32 %add.i.i, %conv.i.i %cond51.i.i = tail call i32 @llvm.abs.i32(i32 %sub31.i.i, i1 true) - %cmp55.i.i = icmp ult i32 %cond24.i.i, %cond.i.i + %cmp55.i.i = icmp samesign ult i32 %cond24.i.i, %cond.i.i %pa.0.in.i.i = tail call i32 @llvm.umin.i32(i32 %cond24.i.i, i32 %cond.i.i) %a.addr.0.i.i = select i1 %cmp55.i.i, i8 %55, i8 %d0.0883.i - %cmp58.i.i = icmp ult i32 %cond51.i.i, %pa.0.in.i.i + %cmp58.i.i = icmp samesign ult i32 %cond51.i.i, %pa.0.in.i.i %cond62.i.i = select i1 %cmp58.i.i, i8 %b0.0884.i, i8 %a.addr.0.i.i %add321.i = add i8 %63, %cond62.i.i %arrayidx324.i = getelementptr inbounds i8, ptr %arrayidx7, i64 %add303.i @@ -22643,10 +22643,10 @@ for.body300.i: ; preds = %for.cond297.prehead %add.i426.i = sub nsw i32 %conv10.i423.i, %66 %sub31.i427.i = add nsw i32 %add.i426.i, %conv.i419.i %cond51.i428.i = tail call i32 @llvm.abs.i32(i32 %sub31.i427.i, i1 true) - %cmp55.i429.i = icmp ult i32 %cond24.i425.i, %cond.i422.i + %cmp55.i429.i = icmp samesign ult i32 %cond24.i425.i, %cond.i422.i %pa.0.in.i430.i = tail call i32 @llvm.umin.i32(i32 %cond24.i425.i, i32 %cond.i422.i) %a.addr.0.i431.i = select i1 %cmp55.i429.i, i8 %56, i8 %d1.0881.i - %cmp58.i432.i = icmp ult i32 %cond51.i428.i, %pa.0.in.i430.i + %cmp58.i432.i = icmp samesign ult i32 %cond51.i428.i, %pa.0.in.i430.i %cond62.i433.i = select i1 %cmp58.i432.i, i8 %b1.0882.i, i8 %a.addr.0.i431.i %add328.i = add i8 %65, %cond62.i433.i %arrayidx331.i = getelementptr inbounds i8, ptr %arrayidx7, i64 %add305.i @@ -22662,10 +22662,10 @@ for.body300.i: ; preds = %for.cond297.prehead %add.i441.i = sub nsw i32 %conv10.i438.i, %68 %sub31.i442.i = add nsw i32 %add.i441.i, %conv.i434.i %cond51.i443.i = tail call i32 @llvm.abs.i32(i32 %sub31.i442.i, i1 true) - %cmp55.i444.i = icmp ult i32 %cond24.i440.i, %cond.i437.i + %cmp55.i444.i = icmp samesign ult i32 %cond24.i440.i, %cond.i437.i %pa.0.in.i445.i = tail call i32 @llvm.umin.i32(i32 %cond24.i440.i, i32 %cond.i437.i) %a.addr.0.i446.i = select i1 %cmp55.i444.i, i8 %57, i8 %d2.0879.i - %cmp58.i447.i = icmp ult i32 %cond51.i443.i, %pa.0.in.i445.i + %cmp58.i447.i = icmp samesign ult i32 %cond51.i443.i, %pa.0.in.i445.i %cond62.i448.i = select i1 %cmp58.i447.i, i8 %b2.0880.i, i8 %a.addr.0.i446.i %add335.i = add i8 %67, %cond62.i448.i %arrayidx338.i = getelementptr inbounds i8, ptr %arrayidx7, i64 %add307.i @@ -22681,10 +22681,10 @@ for.body300.i: ; preds = %for.cond297.prehead %add.i456.i = sub nsw i32 %conv10.i453.i, %70 %sub31.i457.i = add nsw i32 %add.i456.i, %conv.i449.i %cond51.i458.i = tail call i32 @llvm.abs.i32(i32 %sub31.i457.i, i1 true) - %cmp55.i459.i = icmp ult i32 %cond24.i455.i, %cond.i452.i + %cmp55.i459.i = icmp samesign ult i32 %cond24.i455.i, %cond.i452.i %pa.0.in.i460.i = tail call i32 @llvm.umin.i32(i32 %cond24.i455.i, i32 %cond.i452.i) %a.addr.0.i461.i = select i1 %cmp55.i459.i, i8 %58, i8 %d3.0877.i - %cmp58.i462.i = icmp ult i32 %cond51.i458.i, %pa.0.in.i460.i + %cmp58.i462.i = icmp samesign ult i32 %cond51.i458.i, %pa.0.in.i460.i %cond62.i463.i = select i1 %cmp58.i462.i, i8 %b3.0878.i, i8 %a.addr.0.i461.i %add342.i = add i8 %69, %cond62.i463.i %arrayidx345.i = getelementptr inbounds i8, ptr %arrayidx7, i64 %add309.i @@ -22700,10 +22700,10 @@ for.body300.i: ; preds = %for.cond297.prehead %add.i471.i = sub nsw i32 %conv10.i468.i, %72 %sub31.i472.i = add nsw i32 %add.i471.i, %conv.i464.i %cond51.i473.i = tail call i32 @llvm.abs.i32(i32 %sub31.i472.i, i1 true) - %cmp55.i474.i = icmp ult i32 %cond24.i470.i, %cond.i467.i + %cmp55.i474.i = icmp samesign ult i32 %cond24.i470.i, %cond.i467.i %pa.0.in.i475.i = tail call i32 @llvm.umin.i32(i32 %cond24.i470.i, i32 %cond.i467.i) %a.addr.0.i476.i = select i1 %cmp55.i474.i, i8 %59, i8 %d4.0875.i - %cmp58.i477.i = icmp ult i32 %cond51.i473.i, %pa.0.in.i475.i + %cmp58.i477.i = icmp samesign ult i32 %cond51.i473.i, %pa.0.in.i475.i %cond62.i478.i = select i1 %cmp58.i477.i, i8 %b4.0876.i, i8 %a.addr.0.i476.i %add349.i = add i8 %71, %cond62.i478.i %arrayidx352.i = getelementptr inbounds i8, ptr %arrayidx7, i64 %add311.i @@ -22719,10 +22719,10 @@ for.body300.i: ; preds = %for.cond297.prehead %add.i486.i = sub nsw i32 %conv10.i483.i, %74 %sub31.i487.i = add nsw i32 %add.i486.i, %conv.i479.i %cond51.i488.i = tail call i32 @llvm.abs.i32(i32 %sub31.i487.i, i1 true) - %cmp55.i489.i = icmp ult i32 %cond24.i485.i, %cond.i482.i + %cmp55.i489.i = icmp samesign ult i32 %cond24.i485.i, %cond.i482.i %pa.0.in.i490.i = tail call i32 @llvm.umin.i32(i32 %cond24.i485.i, i32 %cond.i482.i) %a.addr.0.i491.i = select i1 %cmp55.i489.i, i8 %60, i8 %d5.0873.i - %cmp58.i492.i = icmp ult i32 %cond51.i488.i, %pa.0.in.i490.i + %cmp58.i492.i = icmp samesign ult i32 %cond51.i488.i, %pa.0.in.i490.i %cond62.i493.i = select i1 %cmp58.i492.i, i8 %b5.0874.i, i8 %a.addr.0.i491.i %add356.i = add i8 %73, %cond62.i493.i %arrayidx359.i = getelementptr inbounds i8, ptr %arrayidx7, i64 %add313.i @@ -22738,10 +22738,10 @@ for.body300.i: ; preds = %for.cond297.prehead %add.i501.i = sub nsw i32 %conv10.i498.i, %76 %sub31.i502.i = add nsw i32 %add.i501.i, %conv.i494.i %cond51.i503.i = tail call i32 @llvm.abs.i32(i32 %sub31.i502.i, i1 true) - %cmp55.i504.i = icmp ult i32 %cond24.i500.i, %cond.i497.i + %cmp55.i504.i = icmp samesign ult i32 %cond24.i500.i, %cond.i497.i %pa.0.in.i505.i = tail call i32 @llvm.umin.i32(i32 %cond24.i500.i, i32 %cond.i497.i) %a.addr.0.i506.i = select i1 %cmp55.i504.i, i8 %61, i8 %d6.0871.i - %cmp58.i507.i = icmp ult i32 %cond51.i503.i, %pa.0.in.i505.i + %cmp58.i507.i = icmp samesign ult i32 %cond51.i503.i, %pa.0.in.i505.i %cond62.i508.i = select i1 %cmp58.i507.i, i8 %b6.0872.i, i8 %a.addr.0.i506.i %add363.i = add i8 %75, %cond62.i508.i %arrayidx366.i = getelementptr inbounds i8, ptr %arrayidx7, i64 %add298886.i @@ -22757,10 +22757,10 @@ for.body300.i: ; preds = %for.cond297.prehead %add.i516.i = sub nsw i32 %conv10.i513.i, %78 %sub31.i517.i = add nsw i32 %add.i516.i, %conv.i509.i %cond51.i518.i = tail call i32 @llvm.abs.i32(i32 %sub31.i517.i, i1 true) - %cmp55.i519.i = icmp ult i32 %cond24.i515.i, %cond.i512.i + %cmp55.i519.i = icmp samesign ult i32 %cond24.i515.i, %cond.i512.i %pa.0.in.i520.i = tail call i32 @llvm.umin.i32(i32 %cond24.i515.i, i32 %cond.i512.i) %a.addr.0.i521.i = select i1 %cmp55.i519.i, i8 %62, i8 %d7.0869.i - %cmp58.i522.i = icmp ult i32 %cond51.i518.i, %pa.0.in.i520.i + %cmp58.i522.i = icmp samesign ult i32 %cond51.i518.i, %pa.0.in.i520.i %cond62.i523.i = select i1 %cmp58.i522.i, i8 %b7.0870.i, i8 %a.addr.0.i521.i %add370.i = add i8 %77, %cond62.i523.i %arrayidx373.i = getelementptr inbounds i8, ptr %arrayidx5, i64 %i.13885.i @@ -22828,10 +22828,10 @@ for.body421.i: ; preds = %for.cond418.prehead %add.i531.i = sub nsw i32 %conv10.i528.i, %86 %sub31.i532.i = add nsw i32 %add.i531.i, %conv.i524.i %cond51.i533.i = tail call i32 @llvm.abs.i32(i32 %sub31.i532.i, i1 true) - %cmp55.i534.i = icmp ult i32 %cond24.i530.i, %cond.i527.i + %cmp55.i534.i = icmp samesign ult i32 %cond24.i530.i, %cond.i527.i %pa.0.in.i535.i = tail call i32 @llvm.umin.i32(i32 %cond24.i530.i, i32 %cond.i527.i) %a.addr.0.i536.i = select i1 %cmp55.i534.i, i8 %79, i8 %d0397.0860.i - %cmp58.i537.i = icmp ult i32 %cond51.i533.i, %pa.0.in.i535.i + %cmp58.i537.i = icmp samesign ult i32 %cond51.i533.i, %pa.0.in.i535.i %cond62.i538.i = select i1 %cmp58.i537.i, i8 %b0395.0862.i, i8 %a.addr.0.i536.i %add439.i = add i8 %85, %cond62.i538.i %arrayidx442.i = getelementptr inbounds i8, ptr %arrayidx7, i64 %add424.i @@ -22847,10 +22847,10 @@ for.body421.i: ; preds = %for.cond418.prehead %add.i546.i = sub nsw i32 %conv10.i543.i, %88 %sub31.i547.i = add nsw i32 %add.i546.i, %conv.i539.i %cond51.i548.i = tail call i32 @llvm.abs.i32(i32 %sub31.i547.i, i1 true) - %cmp55.i549.i = icmp ult i32 %cond24.i545.i, %cond.i542.i + %cmp55.i549.i = icmp samesign ult i32 %cond24.i545.i, %cond.i542.i %pa.0.in.i550.i = tail call i32 @llvm.umin.i32(i32 %cond24.i545.i, i32 %cond.i542.i) %a.addr.0.i551.i = select i1 %cmp55.i549.i, i8 %80, i8 %d1401.0856.i - %cmp58.i552.i = icmp ult i32 %cond51.i548.i, %pa.0.in.i550.i + %cmp58.i552.i = icmp samesign ult i32 %cond51.i548.i, %pa.0.in.i550.i %cond62.i553.i = select i1 %cmp58.i552.i, i8 %b1399.0858.i, i8 %a.addr.0.i551.i %add446.i = add i8 %87, %cond62.i553.i %arrayidx449.i = getelementptr inbounds i8, ptr %arrayidx7, i64 %add426.i @@ -22866,10 +22866,10 @@ for.body421.i: ; preds = %for.cond418.prehead %add.i561.i = sub nsw i32 %conv10.i558.i, %90 %sub31.i562.i = add nsw i32 %add.i561.i, %conv.i554.i %cond51.i563.i = tail call i32 @llvm.abs.i32(i32 %sub31.i562.i, i1 true) - %cmp55.i564.i = icmp ult i32 %cond24.i560.i, %cond.i557.i + %cmp55.i564.i = icmp samesign ult i32 %cond24.i560.i, %cond.i557.i %pa.0.in.i565.i = tail call i32 @llvm.umin.i32(i32 %cond24.i560.i, i32 %cond.i557.i) %a.addr.0.i566.i = select i1 %cmp55.i564.i, i8 %81, i8 %d2405.0853.i - %cmp58.i567.i = icmp ult i32 %cond51.i563.i, %pa.0.in.i565.i + %cmp58.i567.i = icmp samesign ult i32 %cond51.i563.i, %pa.0.in.i565.i %cond62.i568.i = select i1 %cmp58.i567.i, i8 %b2403.0854.i, i8 %a.addr.0.i566.i %add453.i = add i8 %89, %cond62.i568.i %arrayidx456.i = getelementptr inbounds i8, ptr %arrayidx7, i64 %add428.i @@ -22885,10 +22885,10 @@ for.body421.i: ; preds = %for.cond418.prehead %add.i576.i = sub nsw i32 %conv10.i573.i, %92 %sub31.i577.i = add nsw i32 %add.i576.i, %conv.i569.i %cond51.i578.i = tail call i32 @llvm.abs.i32(i32 %sub31.i577.i, i1 true) - %cmp55.i579.i = icmp ult i32 %cond24.i575.i, %cond.i572.i + %cmp55.i579.i = icmp samesign ult i32 %cond24.i575.i, %cond.i572.i %pa.0.in.i580.i = tail call i32 @llvm.umin.i32(i32 %cond24.i575.i, i32 %cond.i572.i) %a.addr.0.i581.i = select i1 %cmp55.i579.i, i8 %82, i8 %d3409.0857.i - %cmp58.i582.i = icmp ult i32 %cond51.i578.i, %pa.0.in.i580.i + %cmp58.i582.i = icmp samesign ult i32 %cond51.i578.i, %pa.0.in.i580.i %cond62.i583.i = select i1 %cmp58.i582.i, i8 %b3407.0855.i, i8 %a.addr.0.i581.i %add460.i = add i8 %91, %cond62.i583.i %arrayidx463.i = getelementptr inbounds i8, ptr %arrayidx7, i64 %add430.i @@ -22904,10 +22904,10 @@ for.body421.i: ; preds = %for.cond418.prehead %add.i591.i = sub nsw i32 %conv10.i588.i, %94 %sub31.i592.i = add nsw i32 %add.i591.i, %conv.i584.i %cond51.i593.i = tail call i32 @llvm.abs.i32(i32 %sub31.i592.i, i1 true) - %cmp55.i594.i = icmp ult i32 %cond24.i590.i, %cond.i587.i + %cmp55.i594.i = icmp samesign ult i32 %cond24.i590.i, %cond.i587.i %pa.0.in.i595.i = tail call i32 @llvm.umin.i32(i32 %cond24.i590.i, i32 %cond.i587.i) %a.addr.0.i596.i = select i1 %cmp55.i594.i, i8 %83, i8 %d4413.0861.i - %cmp58.i597.i = icmp ult i32 %cond51.i593.i, %pa.0.in.i595.i + %cmp58.i597.i = icmp samesign ult i32 %cond51.i593.i, %pa.0.in.i595.i %cond62.i598.i = select i1 %cmp58.i597.i, i8 %b4411.0859.i, i8 %a.addr.0.i596.i %add467.i = add i8 %93, %cond62.i598.i %arrayidx470.i = getelementptr inbounds i8, ptr %arrayidx7, i64 %add419866.i @@ -22923,10 +22923,10 @@ for.body421.i: ; preds = %for.cond418.prehead %add.i606.i = sub nsw i32 %conv10.i603.i, %96 %sub31.i607.i = add nsw i32 %add.i606.i, %conv.i599.i %cond51.i608.i = tail call i32 @llvm.abs.i32(i32 %sub31.i607.i, i1 true) - %cmp55.i609.i = icmp ult i32 %cond24.i605.i, %cond.i602.i + %cmp55.i609.i = icmp samesign ult i32 %cond24.i605.i, %cond.i602.i %pa.0.in.i610.i = tail call i32 @llvm.umin.i32(i32 %cond24.i605.i, i32 %cond.i602.i) %a.addr.0.i611.i = select i1 %cmp55.i609.i, i8 %84, i8 %d5417.0864.i - %cmp58.i612.i = icmp ult i32 %cond51.i608.i, %pa.0.in.i610.i + %cmp58.i612.i = icmp samesign ult i32 %cond51.i608.i, %pa.0.in.i610.i %cond62.i613.i = select i1 %cmp58.i612.i, i8 %b5415.0863.i, i8 %a.addr.0.i611.i %add474.i = add i8 %95, %cond62.i613.i %arrayidx477.i = getelementptr inbounds i8, ptr %arrayidx5, i64 %i.15865.i @@ -22980,10 +22980,10 @@ for.body513.i: ; preds = %for.cond510.prehead %add.i621.i = sub nsw i32 %conv10.i618.i, %102 %sub31.i622.i = add nsw i32 %add.i621.i, %conv.i614.i %cond51.i623.i = tail call i32 @llvm.abs.i32(i32 %sub31.i622.i, i1 true) - %cmp55.i624.i = icmp ult i32 %cond24.i620.i, %cond.i617.i + %cmp55.i624.i = icmp samesign ult i32 %cond24.i620.i, %cond.i617.i %pa.0.in.i625.i = tail call i32 @llvm.umin.i32(i32 %cond24.i620.i, i32 %cond.i617.i) %a.addr.0.i626.i = select i1 %cmp55.i624.i, i8 %97, i8 %d0497.0842.i - %cmp58.i627.i = icmp ult i32 %cond51.i623.i, %pa.0.in.i625.i + %cmp58.i627.i = icmp samesign ult i32 %cond51.i623.i, %pa.0.in.i625.i %cond62.i628.i = select i1 %cmp58.i627.i, i8 %b0495.0841.i, i8 %a.addr.0.i626.i %add527.i = add i8 %cond62.i628.i, %101 %arrayidx530.i = getelementptr inbounds i8, ptr %arrayidx7, i64 %add516.i @@ -22999,10 +22999,10 @@ for.body513.i: ; preds = %for.cond510.prehead %add.i636.i = sub nsw i32 %conv10.i633.i, %104 %sub31.i637.i = add nsw i32 %add.i636.i, %conv.i629.i %cond51.i638.i = tail call i32 @llvm.abs.i32(i32 %sub31.i637.i, i1 true) - %cmp55.i639.i = icmp ult i32 %cond24.i635.i, %cond.i632.i + %cmp55.i639.i = icmp samesign ult i32 %cond24.i635.i, %cond.i632.i %pa.0.in.i640.i = tail call i32 @llvm.umin.i32(i32 %cond24.i635.i, i32 %cond.i632.i) %a.addr.0.i641.i = select i1 %cmp55.i639.i, i8 %98, i8 %d1501.0844.i - %cmp58.i642.i = icmp ult i32 %cond51.i638.i, %pa.0.in.i640.i + %cmp58.i642.i = icmp samesign ult i32 %cond51.i638.i, %pa.0.in.i640.i %cond62.i643.i = select i1 %cmp58.i642.i, i8 %b1499.0843.i, i8 %a.addr.0.i641.i %add534.i = add i8 %cond62.i643.i, %103 %arrayidx537.i = getelementptr inbounds i8, ptr %arrayidx7, i64 %add518.i @@ -23018,10 +23018,10 @@ for.body513.i: ; preds = %for.cond510.prehead %add.i651.i = sub nsw i32 %conv10.i648.i, %106 %sub31.i652.i = add nsw i32 %add.i651.i, %conv.i644.i %cond51.i653.i = tail call i32 @llvm.abs.i32(i32 %sub31.i652.i, i1 true) - %cmp55.i654.i = icmp ult i32 %cond24.i650.i, %cond.i647.i + %cmp55.i654.i = icmp samesign ult i32 %cond24.i650.i, %cond.i647.i %pa.0.in.i655.i = tail call i32 @llvm.umin.i32(i32 %cond24.i650.i, i32 %cond.i647.i) %a.addr.0.i656.i = select i1 %cmp55.i654.i, i8 %99, i8 %d2505.0846.i - %cmp58.i657.i = icmp ult i32 %cond51.i653.i, %pa.0.in.i655.i + %cmp58.i657.i = icmp samesign ult i32 %cond51.i653.i, %pa.0.in.i655.i %cond62.i658.i = select i1 %cmp58.i657.i, i8 %b2503.0845.i, i8 %a.addr.0.i656.i %add541.i = add i8 %cond62.i658.i, %105 %arrayidx544.i = getelementptr inbounds i8, ptr %arrayidx7, i64 %add511850.i @@ -23037,10 +23037,10 @@ for.body513.i: ; preds = %for.cond510.prehead %add.i666.i = sub nsw i32 %conv10.i663.i, %108 %sub31.i667.i = add nsw i32 %add.i666.i, %conv.i659.i %cond51.i668.i = tail call i32 @llvm.abs.i32(i32 %sub31.i667.i, i1 true) - %cmp55.i669.i = icmp ult i32 %cond24.i665.i, %cond.i662.i + %cmp55.i669.i = icmp samesign ult i32 %cond24.i665.i, %cond.i662.i %pa.0.in.i670.i = tail call i32 @llvm.umin.i32(i32 %cond24.i665.i, i32 %cond.i662.i) %a.addr.0.i671.i = select i1 %cmp55.i669.i, i8 %100, i8 %d3509.0848.i - %cmp58.i672.i = icmp ult i32 %cond51.i668.i, %pa.0.in.i670.i + %cmp58.i672.i = icmp samesign ult i32 %cond51.i668.i, %pa.0.in.i670.i %cond62.i673.i = select i1 %cmp58.i672.i, i8 %b3507.0847.i, i8 %a.addr.0.i671.i %add548.i = add i8 %cond62.i673.i, %107 %arrayidx551.i = getelementptr inbounds i8, ptr %arrayidx5, i64 %i.16849.i @@ -23085,10 +23085,10 @@ for.body579.i: ; preds = %for.cond576.prehead %add.i681.i = sub nsw i32 %conv10.i678.i, %113 %sub31.i682.i = add nsw i32 %add.i681.i, %conv.i674.i %cond51.i683.i = tail call i32 @llvm.abs.i32(i32 %sub31.i682.i, i1 true) - %cmp55.i684.i = icmp ult i32 %cond24.i680.i, %cond.i677.i + %cmp55.i684.i = icmp samesign ult i32 %cond24.i680.i, %cond.i677.i %pa.0.in.i685.i = tail call i32 @llvm.umin.i32(i32 %cond24.i680.i, i32 %cond.i677.i) %a.addr.0.i686.i = select i1 %cmp55.i684.i, i8 %109, i8 %d0567.0832.i - %cmp58.i687.i = icmp ult i32 %cond51.i683.i, %pa.0.in.i685.i + %cmp58.i687.i = icmp samesign ult i32 %cond51.i683.i, %pa.0.in.i685.i %cond62.i688.i = select i1 %cmp58.i687.i, i8 %b0565.0831.i, i8 %a.addr.0.i686.i %add591.i = add i8 %cond62.i688.i, %112 %arrayidx594.i = getelementptr inbounds i8, ptr %arrayidx7, i64 %add582.i @@ -23104,10 +23104,10 @@ for.body579.i: ; preds = %for.cond576.prehead %add.i696.i = sub nsw i32 %conv10.i693.i, %115 %sub31.i697.i = add nsw i32 %add.i696.i, %conv.i689.i %cond51.i698.i = tail call i32 @llvm.abs.i32(i32 %sub31.i697.i, i1 true) - %cmp55.i699.i = icmp ult i32 %cond24.i695.i, %cond.i692.i + %cmp55.i699.i = icmp samesign ult i32 %cond24.i695.i, %cond.i692.i %pa.0.in.i700.i = tail call i32 @llvm.umin.i32(i32 %cond24.i695.i, i32 %cond.i692.i) %a.addr.0.i701.i = select i1 %cmp55.i699.i, i8 %110, i8 %d1571.0834.i - %cmp58.i702.i = icmp ult i32 %cond51.i698.i, %pa.0.in.i700.i + %cmp58.i702.i = icmp samesign ult i32 %cond51.i698.i, %pa.0.in.i700.i %cond62.i703.i = select i1 %cmp58.i702.i, i8 %b1569.0833.i, i8 %a.addr.0.i701.i %add598.i = add i8 %cond62.i703.i, %114 %arrayidx601.i = getelementptr inbounds i8, ptr %arrayidx7, i64 %add577838.i @@ -23123,10 +23123,10 @@ for.body579.i: ; preds = %for.cond576.prehead %add.i711.i = sub nsw i32 %conv10.i708.i, %117 %sub31.i712.i = add nsw i32 %add.i711.i, %conv.i704.i %cond51.i713.i = tail call i32 @llvm.abs.i32(i32 %sub31.i712.i, i1 true) - %cmp55.i714.i = icmp ult i32 %cond24.i710.i, %cond.i707.i + %cmp55.i714.i = icmp samesign ult i32 %cond24.i710.i, %cond.i707.i %pa.0.in.i715.i = tail call i32 @llvm.umin.i32(i32 %cond24.i710.i, i32 %cond.i707.i) %a.addr.0.i716.i = select i1 %cmp55.i714.i, i8 %111, i8 %d2575.0836.i - %cmp58.i717.i = icmp ult i32 %cond51.i713.i, %pa.0.in.i715.i + %cmp58.i717.i = icmp samesign ult i32 %cond51.i713.i, %pa.0.in.i715.i %cond62.i718.i = select i1 %cmp58.i717.i, i8 %b2573.0835.i, i8 %a.addr.0.i716.i %add605.i = add i8 %cond62.i718.i, %116 %arrayidx608.i = getelementptr inbounds i8, ptr %arrayidx5, i64 %i.17837.i @@ -23164,10 +23164,10 @@ for.body630.i: ; preds = %for.cond627.prehead %add.i726.i = sub nsw i32 %conv10.i723.i, %121 %sub31.i727.i = add nsw i32 %add.i726.i, %conv.i719.i %cond51.i728.i = tail call i32 @llvm.abs.i32(i32 %sub31.i727.i, i1 true) - %cmp55.i729.i = icmp ult i32 %cond24.i725.i, %cond.i722.i + %cmp55.i729.i = icmp samesign ult i32 %cond24.i725.i, %cond.i722.i %pa.0.in.i730.i = tail call i32 @llvm.umin.i32(i32 %cond24.i725.i, i32 %cond.i722.i) %a.addr.0.i731.i = select i1 %cmp55.i729.i, i8 %118, i8 %d0622.0824.i - %cmp58.i732.i = icmp ult i32 %cond51.i728.i, %pa.0.in.i730.i + %cmp58.i732.i = icmp samesign ult i32 %cond51.i728.i, %pa.0.in.i730.i %cond62.i733.i = select i1 %cmp58.i732.i, i8 %b0620.0823.i, i8 %a.addr.0.i731.i %add640.i = add i8 %cond62.i733.i, %120 %arrayidx643.i = getelementptr inbounds i8, ptr %arrayidx7, i64 %add628828.i @@ -23183,10 +23183,10 @@ for.body630.i: ; preds = %for.cond627.prehead %add.i741.i = sub nsw i32 %conv10.i738.i, %123 %sub31.i742.i = add nsw i32 %add.i741.i, %conv.i734.i %cond51.i743.i = tail call i32 @llvm.abs.i32(i32 %sub31.i742.i, i1 true) - %cmp55.i744.i = icmp ult i32 %cond24.i740.i, %cond.i737.i + %cmp55.i744.i = icmp samesign ult i32 %cond24.i740.i, %cond.i737.i %pa.0.in.i745.i = tail call i32 @llvm.umin.i32(i32 %cond24.i740.i, i32 %cond.i737.i) %a.addr.0.i746.i = select i1 %cmp55.i744.i, i8 %119, i8 %d1626.0826.i - %cmp58.i747.i = icmp ult i32 %cond51.i743.i, %pa.0.in.i745.i + %cmp58.i747.i = icmp samesign ult i32 %cond51.i743.i, %pa.0.in.i745.i %cond62.i748.i = select i1 %cmp58.i747.i, i8 %b1624.0825.i, i8 %a.addr.0.i746.i %add647.i = add i8 %cond62.i748.i, %122 %arrayidx650.i = getelementptr inbounds i8, ptr %arrayidx5, i64 %i.18827.i @@ -23217,10 +23217,10 @@ for.body661.i: ; preds = %for.cond659.prehead %add.i756.i = sub nsw i32 %conv10.i753.i, %126 %sub31.i757.i = add nsw i32 %add.i756.i, %conv.i749.i %cond51.i758.i = tail call i32 @llvm.abs.i32(i32 %sub31.i757.i, i1 true) - %cmp55.i759.i = icmp ult i32 %cond24.i755.i, %cond.i752.i + %cmp55.i759.i = icmp samesign ult i32 %cond24.i755.i, %cond.i752.i %pa.0.in.i760.i = tail call i32 @llvm.umin.i32(i32 %cond24.i755.i, i32 %cond.i752.i) %a.addr.0.i761.i = select i1 %cmp55.i759.i, i8 %124, i8 %d.0821.i - %cmp58.i762.i = icmp ult i32 %cond51.i758.i, %pa.0.in.i760.i + %cmp58.i762.i = icmp samesign ult i32 %cond51.i758.i, %pa.0.in.i760.i %cond62.i763.i = select i1 %cmp58.i762.i, i8 %b.0820.i, i8 %a.addr.0.i761.i %add667.i = add i8 %cond62.i763.i, %125 %arrayidx669.i = getelementptr inbounds i8, ptr %arrayidx5, i64 %i.19819.i @@ -23269,10 +23269,10 @@ for.body695.i: ; preds = %if.end692.i, %for.b %133 = shl nuw nsw i32 %conv1.i765.i, 1 %sub31.i772.i = sub nsw i32 %add.i771.i, %133 %cond51.i773.i = tail call i32 @llvm.abs.i32(i32 %sub31.i772.i, i1 true) - %cmp55.i774.i = icmp ult i32 %cond24.i770.i, %cond.i767.i + %cmp55.i774.i = icmp samesign ult i32 %cond24.i770.i, %cond.i767.i %pa.0.in.i775.i = tail call i32 @llvm.umin.i32(i32 %cond24.i770.i, i32 %cond.i767.i) %a.addr.0.i776.i = select i1 %cmp55.i774.i, i8 %131, i8 %130 - %cmp58.i777.i = icmp ult i32 %cond51.i773.i, %pa.0.in.i775.i + %cmp58.i777.i = icmp samesign ult i32 %cond51.i773.i, %pa.0.in.i775.i %cond62.i778.i = select i1 %cmp58.i777.i, i8 %132, i8 %a.addr.0.i776.i %add704.i = add i8 %cond62.i778.i, %129 %arrayidx706.i = getelementptr inbounds i8, ptr %arrayidx5, i64 %i.21892.i @@ -24271,10 +24271,10 @@ for.body122: ; preds = %for.cond120.prehead %24 = shl nuw nsw i32 %conv1.i, 1 %sub31.i = sub nsw i32 %add.i, %24 %cond51.i = tail call i32 @llvm.abs.i32(i32 %sub31.i, i1 true) - %cmp55.i = icmp ult i32 %cond24.i, %cond.i + %cmp55.i = icmp samesign ult i32 %cond24.i, %cond.i %pa.0.in.i = tail call i32 @llvm.umin.i32(i32 %cond24.i, i32 %cond.i) %a.addr.0.i = select i1 %cmp55.i, i8 %22, i8 %21 - %cmp58.i = icmp ult i32 %cond51.i, %pa.0.in.i + %cmp58.i = icmp samesign ult i32 %cond51.i, %pa.0.in.i %cond62.i = select i1 %cmp58.i, i8 %23, i8 %a.addr.0.i %sub131 = sub i8 %20, %cond62.i %arrayidx133 = getelementptr inbounds i8, ptr %out, i64 %i.10132 diff --git a/bench/meilisearch-rs/optimized/4llghrvh6vzci59o.ll b/bench/meilisearch-rs/optimized/4llghrvh6vzci59o.ll index 638a1117a10..8afcf1ea120 100644 --- a/bench/meilisearch-rs/optimized/4llghrvh6vzci59o.ll +++ b/bench/meilisearch-rs/optimized/4llghrvh6vzci59o.ll @@ -16372,7 +16372,7 @@ define hidden { i64, ptr } @_ZN4time10formatting22format_number_pad_zero17h010c6 33: ; preds = %24, %._crit_edge.i %.sroa.012.1.i = phi i64 [ %29, %24 ], [ %.sroa.012.0.lcssa.i, %._crit_edge.i ] %.sroa.06.0.i = phi i64 [ %.zext30.i, %24 ], [ %7, %._crit_edge.i ] - %34 = icmp ult i64 %.sroa.06.0.i, 10 + %34 = icmp samesign ult i64 %.sroa.06.0.i, 10 br i1 %34, label %41, label %35 35: ; preds = %33 @@ -16517,7 +16517,7 @@ define hidden { i64, ptr } @_ZN4time10formatting22format_number_pad_zero17h210e5 35: ; preds = %26, %._crit_edge.i %.sroa.012.1.i = phi i64 [ %31, %26 ], [ %.sroa.012.0.lcssa.i, %._crit_edge.i ] %.sroa.06.0.i = phi i64 [ %.zext30.i, %26 ], [ %9, %._crit_edge.i ] - %36 = icmp ult i64 %.sroa.06.0.i, 10 + %36 = icmp samesign ult i64 %.sroa.06.0.i, 10 br i1 %36, label %43, label %37 37: ; preds = %35 @@ -16664,7 +16664,7 @@ define hidden { i64, ptr } @_ZN4time10formatting22format_number_pad_zero17h28567 35: ; preds = %26, %._crit_edge.i %.sroa.012.1.i = phi i64 [ %31, %26 ], [ %.sroa.012.0.lcssa.i, %._crit_edge.i ] %.sroa.06.0.i = phi i64 [ %.zext30.i, %26 ], [ %9, %._crit_edge.i ] - %36 = icmp ult i64 %.sroa.06.0.i, 10 + %36 = icmp samesign ult i64 %.sroa.06.0.i, 10 br i1 %36, label %43, label %37 37: ; preds = %35 @@ -16811,7 +16811,7 @@ define hidden { i64, ptr } @_ZN4time10formatting22format_number_pad_zero17h425c0 35: ; preds = %26, %._crit_edge.i %.sroa.012.1.i = phi i64 [ %31, %26 ], [ %.sroa.012.0.lcssa.i, %._crit_edge.i ] %.sroa.06.0.i = phi i64 [ %.zext30.i, %26 ], [ %9, %._crit_edge.i ] - %36 = icmp ult i64 %.sroa.06.0.i, 10 + %36 = icmp samesign ult i64 %.sroa.06.0.i, 10 br i1 %36, label %43, label %37 37: ; preds = %35 @@ -16958,7 +16958,7 @@ define hidden { i64, ptr } @_ZN4time10formatting22format_number_pad_zero17h46dc7 35: ; preds = %26, %._crit_edge.i %.sroa.012.1.i = phi i64 [ %31, %26 ], [ %.sroa.012.0.lcssa.i, %._crit_edge.i ] %.sroa.06.0.i = phi i64 [ %.zext30.i, %26 ], [ %9, %._crit_edge.i ] - %36 = icmp ult i64 %.sroa.06.0.i, 10 + %36 = icmp samesign ult i64 %.sroa.06.0.i, 10 br i1 %36, label %43, label %37 37: ; preds = %35 @@ -17105,7 +17105,7 @@ define hidden { i64, ptr } @_ZN4time10formatting22format_number_pad_zero17h4d8eb 35: ; preds = %26, %._crit_edge.i %.sroa.012.1.i = phi i64 [ %31, %26 ], [ %.sroa.012.0.lcssa.i, %._crit_edge.i ] %.sroa.06.0.i = phi i64 [ %.zext30.i, %26 ], [ %9, %._crit_edge.i ] - %36 = icmp ult i64 %.sroa.06.0.i, 10 + %36 = icmp samesign ult i64 %.sroa.06.0.i, 10 br i1 %36, label %43, label %37 37: ; preds = %35 @@ -17252,7 +17252,7 @@ define hidden { i64, ptr } @_ZN4time10formatting22format_number_pad_zero17ha695b 35: ; preds = %26, %._crit_edge.i %.sroa.012.1.i = phi i64 [ %31, %26 ], [ %.sroa.012.0.lcssa.i, %._crit_edge.i ] %.sroa.06.0.i = phi i64 [ %.zext30.i, %26 ], [ %9, %._crit_edge.i ] - %36 = icmp ult i64 %.sroa.06.0.i, 10 + %36 = icmp samesign ult i64 %.sroa.06.0.i, 10 br i1 %36, label %43, label %37 37: ; preds = %35 @@ -17399,7 +17399,7 @@ define hidden { i64, ptr } @_ZN4time10formatting22format_number_pad_zero17hbd69e 35: ; preds = %26, %._crit_edge.i %.sroa.012.1.i = phi i64 [ %31, %26 ], [ %.sroa.012.0.lcssa.i, %._crit_edge.i ] %.sroa.06.0.i = phi i64 [ %.zext30.i, %26 ], [ %9, %._crit_edge.i ] - %36 = icmp ult i64 %.sroa.06.0.i, 10 + %36 = icmp samesign ult i64 %.sroa.06.0.i, 10 br i1 %36, label %43, label %37 37: ; preds = %35 @@ -17883,7 +17883,7 @@ define hidden { i64, ptr } @_ZN4time10formatting22format_number_pad_zero17hee7db 35: ; preds = %26, %._crit_edge.i %.sroa.012.1.i = phi i64 [ %31, %26 ], [ %.sroa.012.0.lcssa.i, %._crit_edge.i ] %.sroa.06.0.i = phi i64 [ %.zext30.i, %26 ], [ %9, %._crit_edge.i ] - %36 = icmp ult i64 %.sroa.06.0.i, 10 + %36 = icmp samesign ult i64 %.sroa.06.0.i, 10 br i1 %36, label %43, label %37 37: ; preds = %35 @@ -53476,7 +53476,7 @@ _ZN10serde_json3ser9Formatter18begin_object_value17h9e8a2e8c5b189ecaE.exit: ; pr 59: ; preds = %50, %._crit_edge.i.i.i.i.i.i %.sroa.012.1.i.i.i.i.i.i = phi i64 [ %55, %50 ], [ %.sroa.012.0.lcssa.i.i.i.i.i.i, %._crit_edge.i.i.i.i.i.i ] %.sroa.06.0.i.i.i.i.i.i = phi i64 [ %.zext30.i.i.i.i.i.i, %50 ], [ %33, %._crit_edge.i.i.i.i.i.i ] - %60 = icmp ult i64 %.sroa.06.0.i.i.i.i.i.i, 10 + %60 = icmp samesign ult i64 %.sroa.06.0.i.i.i.i.i.i, 10 br i1 %60, label %67, label %61 61: ; preds = %59 @@ -55371,7 +55371,7 @@ _ZN10serde_json3ser9Formatter18begin_object_value17h9e8a2e8c5b189ecaE.exit: ; pr 43: ; preds = %34, %._crit_edge.i.i.i.i %.sroa.012.1.i.i.i.i = phi i64 [ %39, %34 ], [ %.sroa.012.0.lcssa.i.i.i.i, %._crit_edge.i.i.i.i ] %.sroa.06.0.i.i.i.i = phi i64 [ %.zext30.i.i.i.i, %34 ], [ %17, %._crit_edge.i.i.i.i ] - %44 = icmp ult i64 %.sroa.06.0.i.i.i.i, 10 + %44 = icmp samesign ult i64 %.sroa.06.0.i.i.i.i, 10 br i1 %44, label %51, label %45 45: ; preds = %43 @@ -57549,7 +57549,7 @@ define hidden noundef align 8 ptr @"_ZN83_$LT$serde_json..ser..Compound$LT$W$C$F 35: ; preds = %26, %._crit_edge.i.i.i.i %.sroa.012.1.i.i.i.i = phi i64 [ %31, %26 ], [ %.sroa.012.0.lcssa.i.i.i.i, %._crit_edge.i.i.i.i ] %.sroa.06.0.i.i.i.i = phi i64 [ %.zext30.i.i.i.i, %26 ], [ %9, %._crit_edge.i.i.i.i ] - %36 = icmp ult i64 %.sroa.06.0.i.i.i.i, 10 + %36 = icmp samesign ult i64 %.sroa.06.0.i.i.i.i, 10 br i1 %36, label %43, label %37 37: ; preds = %35 diff --git a/bench/miniaudio/optimized/unity.c.ll b/bench/miniaudio/optimized/unity.c.ll index d0d2f0c9f1b..72ad88feeca 100644 --- a/bench/miniaudio/optimized/unity.c.ll +++ b/bench/miniaudio/optimized/unity.c.ll @@ -79632,7 +79632,7 @@ if.end210: ; preds = %land.lhs.true198, % %tobool225.not = phi i1 [ true, %if.else209 ], [ false, %land.lhs.true198 ] %conv212 = zext i16 %67 to i32 %conv214 = and i32 %74, 65535 - %cmp215 = icmp ugt i32 %conv214, %conv212 + %cmp215 = icmp samesign ugt i32 %conv214, %conv212 br i1 %cmp215, label %if.then217, label %if.end224 if.then217: ; preds = %if.end210 @@ -103878,7 +103878,7 @@ if.end.i191.i: ; preds = %ma_dr_mp3_bs_get_bi %conv38.i = trunc nuw i32 %or13.i207.i to i16 %big_values.i = getelementptr inbounds i8, ptr %gr.addr.0.i, i64 10 store i16 %conv38.i, ptr %big_values.i, align 2 - %cmp41.i = icmp ugt i32 %or13.i207.i, 288 + %cmp41.i = icmp samesign ugt i32 %or13.i207.i, 288 br i1 %cmp41.i, label %if.then69, label %if.end44.i172 if.end44.i172: ; preds = %if.end.i191.i, %ma_dr_mp3_bs_get_bits.exit220.thread.i @@ -104733,7 +104733,7 @@ if.end.i.i.i.i: ; preds = %for.body19.i.i.i %conv.i.i.i.i258 = zext i8 %189 to i32 %shr4.i.i.i.i = lshr i32 255, %and.i.i.i.i257 %and5.i.i.i.i259 = and i32 %shr4.i.i.i.i, %conv.i.i.i.i258 - %cmp612.i.i.i.i = icmp ugt i32 %add.i.i.i.i, 8 + %cmp612.i.i.i.i = icmp samesign ugt i32 %add.i.i.i.i, 8 br i1 %cmp612.i.i.i.i, label %while.body.i.i.i.i, label %while.end.i.i.i.i while.body.i.i.i.i: ; preds = %if.end.i.i.i.i, %while.body.i.i.i.i @@ -104832,7 +104832,7 @@ for.body61.i.i: ; preds = %for.body61.i.i, %if %conv110.i.i = add i8 %207, %199 store i8 %conv110.i.i, ptr %arrayidx103.i.i, align 1 %indvars.iv.next98.i.i = add nuw nsw i64 %indvars.iv97.i.i, 3 - %cmp59.i.i = icmp ult i64 %indvars.iv.next98.i.i, %201 + %cmp59.i.i = icmp samesign ult i64 %indvars.iv.next98.i.i, %201 br i1 %cmp59.i.i, label %for.body61.i.i, label %if.end142.i.i, !llvm.loop !824 if.else120.i.i: ; preds = %ma_dr_mp3_L3_read_scalefactors.exit.i.i @@ -104923,7 +104923,7 @@ ma_dr_mp3_L3_ldexp_q2.exit76.i.i: ; preds = %do.body.i62.i.i %222 = load i8, ptr %n_short_sfb.i.i, align 2 %conv157.i.i = zext i8 %222 to i64 %add158.i.i = add nuw nsw i64 %conv157.i.i, %conv155.i.i - %cmp159.i.i = icmp ult i64 %indvars.iv.next108.i.i, %add158.i.i + %cmp159.i.i = icmp samesign ult i64 %indvars.iv.next108.i.i, %add158.i.i br i1 %cmp159.i.i, label %for.body161.i.i, label %ma_dr_mp3_L3_decode_scalefactors.exit.i, !llvm.loop !827 ma_dr_mp3_L3_decode_scalefactors.exit.i: ; preds = %ma_dr_mp3_L3_ldexp_q2.exit76.i.i, %for.cond153.preheader.i.i @@ -105624,7 +105624,7 @@ for.body7.preheader.i.i.i: ; preds = %for.cond3.preheader for.cond3.i.i.i: ; preds = %lor.lhs.false.i.i.i %indvars.iv.next.i.i79.i = add nuw nsw i64 %indvars.iv.i.i78.i, 2 - %cmp5.i.i.i194 = icmp ult i64 %indvars.iv.next.i.i79.i, %290 + %cmp5.i.i.i194 = icmp samesign ult i64 %indvars.iv.next.i.i79.i, %290 br i1 %cmp5.i.i.i194, label %for.body7.i.i.i, label %for.end.i.i.i, !llvm.loop !842 for.body7.i.i.i: ; preds = %for.cond3.i.i.i, %for.body7.preheader.i.i.i @@ -105837,7 +105837,7 @@ for.body.i30.i.i.i: ; preds = %for.body.i30.i.i.i, %sub.i.i.i.i.i = fsub <4 x float> %320, %321 store <4 x float> %sub.i.i.i.i.i, ptr %add.ptr4.i.i.i.i, align 1 %indvars.iv.next.i32.i.i.i = add nuw nsw i64 %indvars.iv.i31.i.i.i, 4 - %cmp.i.i.i98.i = icmp ult i64 %indvars.iv.next.i32.i.i.i, %319 + %cmp.i.i.i98.i = icmp samesign ult i64 %indvars.iv.next.i32.i.i.i, %319 br i1 %cmp.i.i.i98.i, label %for.body.i30.i.i.i, label %for.end.loopexit.i.i.i.i, !llvm.loop !846 for.end.loopexit.i.i.i.i: ; preds = %for.body.i30.i.i.i @@ -105846,7 +105846,7 @@ for.end.loopexit.i.i.i.i: ; preds = %for.body.i30.i.i.i for.end.i.i.i.i: ; preds = %for.end.loopexit.i.i.i.i, %if.then41.i.i.i %i.1.lcssa.i.i.i.i = phi i32 [ 0, %if.then41.i.i.i ], [ %322, %for.end.loopexit.i.i.i.i ] - %cmp1928.i.i.i.i.not = icmp ult i32 %i.1.lcssa.i.i.i.i, %conv44.i.i.i + %cmp1928.i.i.i.i.not = icmp samesign ult i32 %i.1.lcssa.i.i.i.i, %conv44.i.i.i br i1 %cmp1928.i.i.i.i.not, label %for.body21.preheader.i.i.i.i, label %if.end46.i.i.i for.body21.preheader.i.i.i.i: ; preds = %for.end.i.i.i.i @@ -106609,7 +106609,7 @@ ma_dr_mp3_bs_get_bits.exit.i326: ; preds = %while.end.i.i322, % %435 = shl nuw nsw i64 %indvars.iv.i312, 1 %arrayidx9.i = getelementptr inbounds [64 x i8], ptr %bitalloc.i, i64 0, i64 %435 store i8 %434, ptr %arrayidx9.i, align 2 - %cmp11.i329 = icmp ult i64 %indvars.iv.i312, %422 + %cmp11.i329 = icmp samesign ult i64 %indvars.iv.i312, %422 br i1 %cmp11.i329, label %if.then13.i, label %if.end17.i if.then13.i: ; preds = %ma_dr_mp3_bs_get_bits.exit.i326 @@ -106928,7 +106928,7 @@ if.end.i.i394: ; preds = %for.body16.i %conv.i.i400 = zext i8 %460 to i32 %shr4.i.i401 = lshr i32 255, %and.i.i398 %and5.i.i402 = and i32 %shr4.i.i401, %conv.i.i400 - %cmp612.i.i403 = icmp ugt i32 %add.i.i399, 8 + %cmp612.i.i403 = icmp samesign ugt i32 %add.i.i399, 8 br i1 %cmp612.i.i403, label %while.body.i.i413, label %while.end.i.i404 while.body.i.i413: ; preds = %if.end.i.i394, %while.body.i.i413 @@ -107417,7 +107417,7 @@ for.end233.i: ; preds = %for.body196.i for.inc249.i: ; preds = %for.end233.i, %for.end178.i %indvars.iv.next219.i = add nuw nsw i64 %indvars.iv218.i, 4 - %cmp.i = icmp ult i64 %indvars.iv.next219.i, %1 + %cmp.i = icmp samesign ult i64 %indvars.iv.next219.i, %1 br i1 %cmp.i, label %for.body.i, label %ma_dr_mp3d_DCT_II.exit, !llvm.loop !874 ma_dr_mp3d_DCT_II.exit: ; preds = %for.inc249.i @@ -107738,7 +107738,7 @@ for.body.i27: ; preds = %for.body.i27, %for. ma_dr_mp3d_synth.exit: ; preds = %for.body.i27 %indvars.iv.next46 = add nuw nsw i64 %indvars.iv45, 2 - %cmp2 = icmp ult i64 %indvars.iv.next46, %.pre-phi + %cmp2 = icmp samesign ult i64 %indvars.iv.next46, %.pre-phi br i1 %cmp2, label %for.body3, label %for.end14, !llvm.loop !877 for.end14: ; preds = %ma_dr_mp3d_synth.exit @@ -116502,7 +116502,7 @@ do.end.i.i: ; preds = %do.body.i.i if.end40.i.i: ; preds = %do.end.i.i %add.ptr.i74.ptr.le.i = getelementptr inbounds i8, ptr %hwid, i64 %dstEnd.0.i.add.i store i8 0, ptr %add.ptr.i74.ptr.le.i, align 1 - %cmp4239.i.i = icmp ugt i64 %dstEnd.0.i.idx.i, 3 + %cmp4239.i.i = icmp samesign ugt i64 %dstEnd.0.i.idx.i, 3 br i1 %cmp4239.i.i, label %while.body.i77.i.preheader, label %land.rhs.i80.i.preheader land.rhs.i80.i.preheader: ; preds = %while.body.i77.i, %if.end40.i.i diff --git a/bench/mold/optimized/output-chunks.cc.ARM32.cc.ll b/bench/mold/optimized/output-chunks.cc.ARM32.cc.ll index 0526e1b1f09..cc708d3f771 100644 --- a/bench/mold/optimized/output-chunks.cc.ARM32.cc.ll +++ b/bench/mold/optimized/output-chunks.cc.ARM32.cc.ll @@ -28213,7 +28213,7 @@ if.end.i.i.i: ; preds = %for.body br i1 %spec.select.i, label %if.then, label %for.cond.backedge _ZZN4mold3elf13RelDynSectionINS0_5ARM32EE4sortERNS0_7ContextIS2_EEENKUlRKNS0_6ElfRelIS2_EESA_E_clESA_SA_.exit: ; preds = %for.body - %10 = icmp ult i32 %switch.select3.i.i, %switch.select3.i8.i + %10 = icmp samesign ult i32 %switch.select3.i.i, %switch.select3.i8.i br i1 %10, label %if.then, label %for.cond.backedge for.cond.backedge: ; preds = %_ZZN4mold3elf13RelDynSectionINS0_5ARM32EE4sortERNS0_7ContextIS2_EEENKUlRKNS0_6ElfRelIS2_EESA_E_clESA_SA_.exit, %if.end.i.i.i @@ -28398,7 +28398,7 @@ if.end.i.i.i.i.i.i.i: ; preds = %while.cond.i.i.i br i1 %spec.select.i.i.i.i.i, label %while.body.i.i.i, label %_ZSt25__unguarded_linear_insertIPN4mold3elf6ElfRelINS1_5ARM32EEEN9__gnu_cxx5__ops14_Val_comp_iterIZNS1_13RelDynSectionIS3_E4sortERNS1_7ContextIS3_EEEUlRKS4_SF_E_EEEvT_T0_.exit.i.i _ZN9__gnu_cxx5__ops14_Val_comp_iterIZN4mold3elf13RelDynSectionINS3_5ARM32EE4sortERNS3_7ContextIS5_EEEUlRKNS3_6ElfRelIS5_EESD_E_EclISB_PSB_EEbRT_T0_.exit.i.i.i: ; preds = %while.cond.i.i.i - %8 = icmp ult i32 %switch.select3.i.i.i.i.i.i, %switch.select3.i8.i.i.i.i.i + %8 = icmp samesign ult i32 %switch.select3.i.i.i.i.i.i, %switch.select3.i8.i.i.i.i.i br i1 %8, label %while.body.i.i.i, label %_ZSt25__unguarded_linear_insertIPN4mold3elf6ElfRelINS1_5ARM32EEEN9__gnu_cxx5__ops14_Val_comp_iterIZNS1_13RelDynSectionIS3_E4sortERNS1_7ContextIS3_EEEUlRKS4_SF_E_EEEvT_T0_.exit.i.i while.body.i.i.i: ; preds = %_ZN9__gnu_cxx5__ops14_Val_comp_iterIZN4mold3elf13RelDynSectionINS3_5ARM32EE4sortERNS3_7ContextIS5_EEEUlRKNS3_6ElfRelIS5_EESD_E_EclISB_PSB_EEbRT_T0_.exit.i.i.i, %if.end.i.i.i.i.i.i.i @@ -28550,7 +28550,7 @@ while.cond5.i.preheader: ; preds = %_ZN9__gnu_cxx5__ops br label %while.cond5.i _ZN9__gnu_cxx5__ops15_Iter_comp_iterIZN4mold3elf13RelDynSectionINS3_5ARM32EE4sortERNS3_7ContextIS5_EEEUlRKNS3_6ElfRelIS5_EESD_E_EclIPSB_SH_EEbT_T0_.exit.i: ; preds = %while.cond2.i - %10 = icmp ult i32 %switch.select3.i.i.i.i, %switch.select3.i8.i.i.i + %10 = icmp samesign ult i32 %switch.select3.i.i.i.i, %switch.select3.i8.i.i.i br i1 %10, label %while.body3.i, label %while.cond5.i.preheader while.body3.i: ; preds = %_ZN9__gnu_cxx5__ops15_Iter_comp_iterIZN4mold3elf13RelDynSectionINS3_5ARM32EE4sortERNS3_7ContextIS5_EEEUlRKNS3_6ElfRelIS5_EESD_E_EclIPSB_SH_EEbT_T0_.exit.i, %if.end.i.i.i.i.i @@ -28593,7 +28593,7 @@ if.end.i.i.i.i23.i: ; preds = %while.cond5.i br i1 %spec.select.i.i37.i, label %while.cond5.i.backedge, label %while.end9.i _ZN9__gnu_cxx5__ops15_Iter_comp_iterIZN4mold3elf13RelDynSectionINS3_5ARM32EE4sortERNS3_7ContextIS5_EEEUlRKNS3_6ElfRelIS5_EESD_E_EclIPSB_SH_EEbT_T0_.exit38.i: ; preds = %while.cond5.i - %20 = icmp ult i32 %switch.select3.i8.i.i.i, %switch.select3.i8.i.i20.i + %20 = icmp samesign ult i32 %switch.select3.i8.i.i.i, %switch.select3.i8.i.i20.i br i1 %20, label %while.cond5.i.backedge, label %while.end9.i while.cond5.i.backedge: ; preds = %_ZN9__gnu_cxx5__ops15_Iter_comp_iterIZN4mold3elf13RelDynSectionINS3_5ARM32EE4sortERNS3_7ContextIS5_EEEUlRKNS3_6ElfRelIS5_EESD_E_EclIPSB_SH_EEbT_T0_.exit38.i, %if.end.i.i.i.i23.i @@ -28643,7 +28643,7 @@ while.body: ; preds = %entry, %_ZN9__gnu_c %switch.selectcmp2.i7.i.i = icmp eq i8 %1, 23 %switch.select3.i8.i.i = select i1 %switch.selectcmp2.i7.i.i, i32 0, i32 %switch.select.i6.i.i %cmp.i.i.i.i.i = icmp eq i32 %switch.select3.i.i.i, %switch.select3.i8.i.i - %2 = icmp ult i32 %switch.select3.i.i.i, %switch.select3.i8.i.i + %2 = icmp samesign ult i32 %switch.select3.i.i.i, %switch.select3.i8.i.i br i1 %cmp.i.i.i.i.i, label %if.end.i.i.i.i, label %_ZN9__gnu_cxx5__ops15_Iter_comp_iterIZN4mold3elf13RelDynSectionINS3_5ARM32EE4sortERNS3_7ContextIS5_EEEUlRKNS3_6ElfRelIS5_EESD_E_EclIPSB_SH_EEbT_T0_.exit if.end.i.i.i.i: ; preds = %while.body @@ -28750,7 +28750,7 @@ if.end.i.i.i.i.i: ; preds = %land.rhs.i br i1 %spec.select.i.i.i, label %while.body.i, label %_ZSt11__push_heapIPN4mold3elf6ElfRelINS1_5ARM32EEElS4_N9__gnu_cxx5__ops14_Iter_comp_valIZNS1_13RelDynSectionIS3_E4sortERNS1_7ContextIS3_EEEUlRKS4_SF_E_EEEvT_T0_SJ_T1_RT2_.exit _ZN9__gnu_cxx5__ops14_Iter_comp_valIZN4mold3elf13RelDynSectionINS3_5ARM32EE4sortERNS3_7ContextIS5_EEEUlRKNS3_6ElfRelIS5_EESD_E_EclIPSB_SB_EEbT_RT0_.exit.i: ; preds = %land.rhs.i - %19 = icmp ult i32 %switch.select3.i.i.i.i, %switch.select3.i8.i.i.i + %19 = icmp samesign ult i32 %switch.select3.i.i.i.i, %switch.select3.i8.i.i.i br i1 %19, label %while.body.i, label %_ZSt11__push_heapIPN4mold3elf6ElfRelINS1_5ARM32EEElS4_N9__gnu_cxx5__ops14_Iter_comp_valIZNS1_13RelDynSectionIS3_E4sortERNS1_7ContextIS3_EEEUlRKS4_SF_E_EEEvT_T0_SJ_T1_RT2_.exit while.body.i: ; preds = %_ZN9__gnu_cxx5__ops14_Iter_comp_valIZN4mold3elf13RelDynSectionINS3_5ARM32EE4sortERNS3_7ContextIS5_EEEUlRKNS3_6ElfRelIS5_EESD_E_EclIPSB_SB_EEbT_RT0_.exit.i, %if.end.i.i.i.i.i @@ -28811,7 +28811,7 @@ if.end.i.i.i.i: ; preds = %entry br i1 %spec.select.i.i, label %if.then, label %if.else8 _ZN9__gnu_cxx5__ops15_Iter_comp_iterIZN4mold3elf13RelDynSectionINS3_5ARM32EE4sortERNS3_7ContextIS5_EEEUlRKNS3_6ElfRelIS5_EESD_E_EclIPSB_SH_EEbT_T0_.exit: ; preds = %entry - %10 = icmp ult i32 %switch.select3.i.i.i, %switch.select3.i8.i.i + %10 = icmp samesign ult i32 %switch.select3.i.i.i, %switch.select3.i8.i.i br i1 %10, label %if.then, label %if.else8 if.then: ; preds = %if.end.i.i.i.i, %_ZN9__gnu_cxx5__ops15_Iter_comp_iterIZN4mold3elf13RelDynSectionINS3_5ARM32EE4sortERNS3_7ContextIS5_EEEUlRKNS3_6ElfRelIS5_EESD_E_EclIPSB_SH_EEbT_T0_.exit @@ -28850,7 +28850,7 @@ if.end.i.i.i.i31: ; preds = %if.then br i1 %spec.select.i.i45, label %if.end17, label %if.else _ZN9__gnu_cxx5__ops15_Iter_comp_iterIZN4mold3elf13RelDynSectionINS3_5ARM32EE4sortERNS3_7ContextIS5_EEEUlRKNS3_6ElfRelIS5_EESD_E_EclIPSB_SH_EEbT_T0_.exit46: ; preds = %if.then - %20 = icmp ult i32 %switch.select3.i8.i.i, %switch.select3.i8.i.i28 + %20 = icmp samesign ult i32 %switch.select3.i8.i.i, %switch.select3.i8.i.i28 br i1 %20, label %if.end17, label %if.else if.else: ; preds = %if.end.i.i.i.i31, %_ZN9__gnu_cxx5__ops15_Iter_comp_iterIZN4mold3elf13RelDynSectionINS3_5ARM32EE4sortERNS3_7ContextIS5_EEEUlRKNS3_6ElfRelIS5_EESD_E_EclIPSB_SH_EEbT_T0_.exit46 @@ -28883,7 +28883,7 @@ if.end.i.i.i.i59: ; preds = %if.else br i1 %spec.select.i.i73, label %if.end17, label %if.else6 _ZN9__gnu_cxx5__ops15_Iter_comp_iterIZN4mold3elf13RelDynSectionINS3_5ARM32EE4sortERNS3_7ContextIS5_EEEUlRKNS3_6ElfRelIS5_EESD_E_EclIPSB_SH_EEbT_T0_.exit74: ; preds = %if.else - %29 = icmp ult i32 %switch.select3.i.i.i, %switch.select3.i8.i.i28 + %29 = icmp samesign ult i32 %switch.select3.i.i.i, %switch.select3.i8.i.i28 br i1 %29, label %if.end17, label %if.else6 if.else6: ; preds = %if.end.i.i.i.i59, %_ZN9__gnu_cxx5__ops15_Iter_comp_iterIZN4mold3elf13RelDynSectionINS3_5ARM32EE4sortERNS3_7ContextIS5_EEEUlRKNS3_6ElfRelIS5_EESD_E_EclIPSB_SH_EEbT_T0_.exit74 @@ -28925,7 +28925,7 @@ if.end.i.i.i.i87: ; preds = %if.else8 br i1 %spec.select.i.i101, label %if.end17, label %if.else11 _ZN9__gnu_cxx5__ops15_Iter_comp_iterIZN4mold3elf13RelDynSectionINS3_5ARM32EE4sortERNS3_7ContextIS5_EEEUlRKNS3_6ElfRelIS5_EESD_E_EclIPSB_SH_EEbT_T0_.exit102: ; preds = %if.else8 - %39 = icmp ult i32 %switch.select3.i.i.i, %switch.select3.i8.i.i84 + %39 = icmp samesign ult i32 %switch.select3.i.i.i, %switch.select3.i8.i.i84 br i1 %39, label %if.end17, label %if.else11 if.else11: ; preds = %if.end.i.i.i.i87, %_ZN9__gnu_cxx5__ops15_Iter_comp_iterIZN4mold3elf13RelDynSectionINS3_5ARM32EE4sortERNS3_7ContextIS5_EEEUlRKNS3_6ElfRelIS5_EESD_E_EclIPSB_SH_EEbT_T0_.exit102 @@ -28958,7 +28958,7 @@ if.end.i.i.i.i115: ; preds = %if.else11 br i1 %spec.select.i.i129, label %if.end17, label %if.else14 _ZN9__gnu_cxx5__ops15_Iter_comp_iterIZN4mold3elf13RelDynSectionINS3_5ARM32EE4sortERNS3_7ContextIS5_EEEUlRKNS3_6ElfRelIS5_EESD_E_EclIPSB_SH_EEbT_T0_.exit130: ; preds = %if.else11 - %48 = icmp ult i32 %switch.select3.i8.i.i, %switch.select3.i8.i.i84 + %48 = icmp samesign ult i32 %switch.select3.i8.i.i, %switch.select3.i8.i.i84 br i1 %48, label %if.end17, label %if.else14 if.else14: ; preds = %if.end.i.i.i.i115, %_ZN9__gnu_cxx5__ops15_Iter_comp_iterIZN4mold3elf13RelDynSectionINS3_5ARM32EE4sortERNS3_7ContextIS5_EEEUlRKNS3_6ElfRelIS5_EESD_E_EclIPSB_SH_EEbT_T0_.exit130 @@ -29032,7 +29032,7 @@ if.end.i.i.i.i: ; preds = %for.body br i1 %spec.select.i.i, label %if.then3, label %if.else _ZN9__gnu_cxx5__ops15_Iter_comp_iterIZN4mold3elf13RelDynSectionINS3_5ARM32EE4sortERNS3_7ContextIS5_EEEUlRKNS3_6ElfRelIS5_EESD_E_EclIPSB_SH_EEbT_T0_.exit: ; preds = %for.body - %10 = icmp ult i32 %switch.select3.i.i.i, %switch.select3.i8.i.i + %10 = icmp samesign ult i32 %switch.select3.i.i.i, %switch.select3.i8.i.i br i1 %10, label %if.then3, label %if.else if.then3: ; preds = %if.end.i.i.i.i, %_ZN9__gnu_cxx5__ops15_Iter_comp_iterIZN4mold3elf13RelDynSectionINS3_5ARM32EE4sortERNS3_7ContextIS5_EEEUlRKNS3_6ElfRelIS5_EESD_E_EclIPSB_SH_EEbT_T0_.exit @@ -29089,7 +29089,7 @@ if.end.i.i.i.i.i: ; preds = %while.cond.i br i1 %spec.select.i.i.i, label %while.body.i, label %_ZSt25__unguarded_linear_insertIPN4mold3elf6ElfRelINS1_5ARM32EEEN9__gnu_cxx5__ops14_Val_comp_iterIZNS1_13RelDynSectionIS3_E4sortERNS1_7ContextIS3_EEEUlRKS4_SF_E_EEEvT_T0_.exit _ZN9__gnu_cxx5__ops14_Val_comp_iterIZN4mold3elf13RelDynSectionINS3_5ARM32EE4sortERNS3_7ContextIS5_EEEUlRKNS3_6ElfRelIS5_EESD_E_EclISB_PSB_EEbRT_T0_.exit.i: ; preds = %while.cond.i - %19 = icmp ult i32 %switch.select3.i.i.i.i, %switch.select3.i8.i.i.i + %19 = icmp samesign ult i32 %switch.select3.i.i.i.i, %switch.select3.i8.i.i.i br i1 %19, label %while.body.i, label %_ZSt25__unguarded_linear_insertIPN4mold3elf6ElfRelINS1_5ARM32EEEN9__gnu_cxx5__ops14_Val_comp_iterIZNS1_13RelDynSectionIS3_E4sortERNS1_7ContextIS3_EEEUlRKS4_SF_E_EEEvT_T0_.exit while.body.i: ; preds = %_ZN9__gnu_cxx5__ops14_Val_comp_iterIZN4mold3elf13RelDynSectionINS3_5ARM32EE4sortERNS3_7ContextIS5_EEEUlRKNS3_6ElfRelIS5_EESD_E_EclISB_PSB_EEbRT_T0_.exit.i, %if.end.i.i.i.i.i @@ -29798,7 +29798,7 @@ if.end.i.i.i: ; preds = %do.body br i1 %spec.select.i, label %do.body.backedge, label %do.body4.preheader _ZZN4mold3elf13RelDynSectionINS0_5ARM32EE4sortERNS0_7ContextIS2_EEENKUlRKNS0_6ElfRelIS2_EESA_E_clESA_SA_.exit: ; preds = %do.body - %18 = icmp ult i32 %switch.select3.i.i, %switch.select3.i8.i + %18 = icmp samesign ult i32 %switch.select3.i.i, %switch.select3.i8.i br i1 %18, label %do.body.backedge, label %do.body4.preheader do.body.backedge: ; preds = %_ZZN4mold3elf13RelDynSectionINS0_5ARM32EE4sortERNS0_7ContextIS2_EEENKUlRKNS0_6ElfRelIS2_EESA_E_clESA_SA_.exit, %if.end.i.i.i @@ -29845,7 +29845,7 @@ if.end.i.i.i33: ; preds = %if.end7 br i1 %spec.select.i47, label %do.body4.backedge, label %do.end12 _ZZN4mold3elf13RelDynSectionINS0_5ARM32EE4sortERNS0_7ContextIS2_EEENKUlRKNS0_6ElfRelIS2_EESA_E_clESA_SA_.exit48: ; preds = %if.end7 - %28 = icmp ult i32 %switch.select3.i.i25, %switch.select3.i.i + %28 = icmp samesign ult i32 %switch.select3.i.i25, %switch.select3.i.i br i1 %28, label %do.body4.backedge, label %do.end12 do.body4.backedge: ; preds = %_ZZN4mold3elf13RelDynSectionINS0_5ARM32EE4sortERNS0_7ContextIS2_EEENKUlRKNS0_6ElfRelIS2_EESA_E_clESA_SA_.exit48, %if.end.i.i.i33 @@ -29922,7 +29922,7 @@ if.end.i.i.i: ; preds = %entry br i1 %spec.select.i, label %cond.true, label %cond.false16 _ZZN4mold3elf13RelDynSectionINS0_5ARM32EE4sortERNS0_7ContextIS2_EEENKUlRKNS0_6ElfRelIS2_EESA_E_clESA_SA_.exit: ; preds = %entry - %11 = icmp ult i32 %switch.select3.i.i, %switch.select3.i8.i + %11 = icmp samesign ult i32 %switch.select3.i.i, %switch.select3.i8.i br i1 %11, label %cond.true, label %cond.false16 cond.true: ; preds = %if.end.i.i.i, %_ZZN4mold3elf13RelDynSectionINS0_5ARM32EE4sortERNS0_7ContextIS2_EEENKUlRKNS0_6ElfRelIS2_EESA_E_clESA_SA_.exit @@ -29962,12 +29962,12 @@ if.end.i.i.i35: ; preds = %cond.true br i1 %spec.select.i49, label %cond.end33, label %cond.false _ZZN4mold3elf13RelDynSectionINS0_5ARM32EE4sortERNS0_7ContextIS2_EEENKUlRKNS0_6ElfRelIS2_EESA_E_clESA_SA_.exit50: ; preds = %cond.true - %21 = icmp ult i32 %switch.select3.i8.i, %switch.select3.i8.i32 + %21 = icmp samesign ult i32 %switch.select3.i8.i, %switch.select3.i8.i32 br i1 %21, label %cond.end33, label %cond.false cond.false: ; preds = %if.end.i.i.i35, %_ZZN4mold3elf13RelDynSectionINS0_5ARM32EE4sortERNS0_7ContextIS2_EEENKUlRKNS0_6ElfRelIS2_EESA_E_clESA_SA_.exit50 %cmp.i.i.i.i61 = icmp eq i32 %switch.select3.i.i, %switch.select3.i8.i32 - %22 = icmp ult i32 %switch.select3.i.i, %switch.select3.i8.i32 + %22 = icmp samesign ult i32 %switch.select3.i.i, %switch.select3.i8.i32 br i1 %cmp.i.i.i.i61, label %if.end.i.i.i63, label %_ZZN4mold3elf13RelDynSectionINS0_5ARM32EE4sortERNS0_7ContextIS2_EEENKUlRKNS0_6ElfRelIS2_EESA_E_clESA_SA_.exit78 if.end.i.i.i63: ; preds = %cond.false @@ -30037,12 +30037,12 @@ if.end.i.i.i91: ; preds = %cond.false16 br i1 %spec.select.i105, label %cond.end33, label %cond.false22 _ZZN4mold3elf13RelDynSectionINS0_5ARM32EE4sortERNS0_7ContextIS2_EEENKUlRKNS0_6ElfRelIS2_EESA_E_clESA_SA_.exit106: ; preds = %cond.false16 - %40 = icmp ult i32 %switch.select3.i.i83, %switch.select3.i8.i + %40 = icmp samesign ult i32 %switch.select3.i.i83, %switch.select3.i8.i br i1 %40, label %cond.end33, label %cond.false22 cond.false22: ; preds = %if.end.i.i.i91, %_ZZN4mold3elf13RelDynSectionINS0_5ARM32EE4sortERNS0_7ContextIS2_EEENKUlRKNS0_6ElfRelIS2_EESA_E_clESA_SA_.exit106 %cmp.i.i.i.i117 = icmp eq i32 %switch.select3.i.i83, %switch.select3.i.i - %41 = icmp ult i32 %switch.select3.i.i83, %switch.select3.i.i + %41 = icmp samesign ult i32 %switch.select3.i.i83, %switch.select3.i.i br i1 %cmp.i.i.i.i117, label %if.end.i.i.i119, label %_ZZN4mold3elf13RelDynSectionINS0_5ARM32EE4sortERNS0_7ContextIS2_EEENKUlRKNS0_6ElfRelIS2_EESA_E_clESA_SA_.exit134 if.end.i.i.i119: ; preds = %cond.false22 @@ -30719,7 +30719,7 @@ if.end.i.i.i: ; preds = %if.end br i1 %spec.select.i, label %if.then6, label %for.inc _ZZN4mold3elf13RelDynSectionINS0_5ARM32EE4sortERNS0_7ContextIS2_EEENKUlRKNS0_6ElfRelIS2_EESA_E_clESA_SA_.exit: ; preds = %if.end - %16 = icmp ult i32 %switch.select3.i.i, %switch.select3.i8.i + %16 = icmp samesign ult i32 %switch.select3.i.i, %switch.select3.i8.i br i1 %16, label %if.then6, label %for.inc if.then6: ; preds = %if.end.i.i.i, %_ZZN4mold3elf13RelDynSectionINS0_5ARM32EE4sortERNS0_7ContextIS2_EEENKUlRKNS0_6ElfRelIS2_EESA_E_clESA_SA_.exit diff --git a/bench/nanosvg/optimized/nanosvg.ll b/bench/nanosvg/optimized/nanosvg.ll index b31daac3486..8a7cc3c15de 100644 --- a/bench/nanosvg/optimized/nanosvg.ll +++ b/bench/nanosvg/optimized/nanosvg.ll @@ -5904,9 +5904,9 @@ nsvg__flattenShapeStroke.exit: ; preds = %669 %indvars.iv157.i = phi i64 [ 0, %.lr.ph.us150.preheader.i ], [ %indvars.iv.next158.i, %._crit_edge.us151.i ] %738 = mul nsw i64 %indvars.iv157.i, %699 %739 = getelementptr inbounds i8, ptr %5, i64 %738 - %740 = icmp ugt i64 %indvars.iv157.i, 1 + %740 = icmp samesign ugt i64 %indvars.iv157.i, 1 %indvars.iv.next158.i = add nuw nsw i64 %indvars.iv157.i, 1 - %741 = icmp ult i64 %indvars.iv.next158.i, %737 + %741 = icmp samesign ult i64 %indvars.iv.next158.i, %737 br label %742 742: ; preds = %826, %.lr.ph.us150.i @@ -5922,7 +5922,7 @@ nsvg__flattenShapeStroke.exit: ; preds = %669 br label %826 746: ; preds = %742 - %747 = icmp ugt i32 %.192146.us.i, 1 + %747 = icmp samesign ugt i32 %.192146.us.i, 1 br i1 %747, label %748, label %761 748: ; preds = %746 @@ -6813,7 +6813,7 @@ nsvg__roundf.exit31.i: ; preds = %125, %122, %nsvg__r %227 = add i8 %226, 51 store i8 %227, ptr %225, align 1 %indvars.iv.next.i.i = add nuw nsw i64 %indvars.iv.i.i, 1 - %228 = icmp ult i64 %indvars.iv.next.i.i, %224 + %228 = icmp samesign ult i64 %indvars.iv.next.i.i, %224 br i1 %228, label %.lr.ph.i.i, label %nsvg__fillScanline.exit.i, !llvm.loop !61 nsvg__fillScanline.exit.i: ; preds = %.lr.ph.i.i, %221, %188, %180, %175, %171 @@ -6914,7 +6914,7 @@ nsvg__fillScanline.exit.i: ; preds = %.lr.ph.i.i, %221, % %279 = add i8 %278, 51 store i8 %279, ptr %277, align 1 %indvars.iv.next.i48.i = add nuw nsw i64 %indvars.iv.i47.i, 1 - %280 = icmp ult i64 %indvars.iv.next.i48.i, %276 + %280 = icmp samesign ult i64 %indvars.iv.next.i48.i, %276 br i1 %280, label %.lr.ph.i46.i, label %nsvg__fillScanline.exit49.i, !llvm.loop !61 nsvg__fillScanline.exit49.i: ; preds = %.lr.ph.i46.i, %273, %240, %233, %.preheader50.i @@ -11878,7 +11878,7 @@ define internal fastcc void @nsvg__addPath(ptr nocapture noundef %0, i8 noundef %61 = fadd float %.pre73, %60 store float %61, ptr %51, align 4 %indvars.iv.next = add nuw nsw i64 %indvars.iv, 1 - %62 = icmp ult i64 %indvars.iv.next, %38 + %62 = icmp samesign ult i64 %indvars.iv.next, %38 br i1 %62, label %47, label %.preheader, !llvm.loop !106 63: ; preds = %.lr.ph62, %87 diff --git a/bench/node/optimized/simdutf.ll b/bench/node/optimized/simdutf.ll index a684daff25e..25926d54460 100644 --- a/bench/node/optimized/simdutf.ll +++ b/bench/node/optimized/simdutf.ll @@ -14059,7 +14059,7 @@ if.end.i: ; preds = %while.body.i %cast.i.i864.i = zext nneg i16 %25 to i32 %26 = tail call <16 x i32> @llvm.x86.avx512.mask.compress.v16i32(<16 x i32> %21, <16 x i32> zeroinitializer, <16 x i1> %23) %add.i = add nuw nsw i32 %cast.i.i960.i, %cast.i.i864.i - %cmp33.i = icmp ult i32 %add.i, 17 + %cmp33.i = icmp samesign ult i32 %add.i, 17 br i1 %cmp33.i, label %if.then34.i, label %if.else.i if.then34.i: ; preds = %if.end.i @@ -14241,7 +14241,7 @@ if.end58.i: ; preds = %_ZN7simdutf7icelake %cast.i.i672.i = zext nneg i16 %126 to i32 %127 = tail call <16 x i32> @llvm.x86.avx512.mask.compress.v16i32(<16 x i32> %122, <16 x i32> zeroinitializer, <16 x i1> %124) %add69.i = add nuw nsw i32 %cast.i.i672.i, %cast.i.i768.i - %cmp70.i = icmp ult i32 %add69.i, 17 + %cmp70.i = icmp samesign ult i32 %add69.i, 17 br i1 %cmp70.i, label %if.then71.i, label %if.else86.i if.then71.i: ; preds = %if.end58.i @@ -14451,7 +14451,7 @@ if.else130.i: ; preds = %if.then103.i %cast.i.i.i = zext nneg i16 %236 to i32 %237 = tail call <16 x i32> @llvm.x86.avx512.mask.compress.v16i32(<16 x i32> %232, <16 x i32> zeroinitializer, <16 x i1> %234) %add150.i = add nuw nsw i32 %cast.i.i576.i, %cast.i.i.i - %cmp151.i = icmp ult i32 %add150.i, 17 + %cmp151.i = icmp samesign ult i32 %add150.i, 17 br i1 %cmp151.i, label %if.then152.i, label %if.else167.i if.then152.i: ; preds = %if.else130.i @@ -14822,7 +14822,7 @@ if.end.i: ; preds = %while.body.i %cast.i.i900.i = zext nneg i16 %29 to i32 %30 = tail call <16 x i32> @llvm.x86.avx512.mask.compress.v16i32(<16 x i32> %25, <16 x i32> zeroinitializer, <16 x i1> %27) %add.i = add nuw nsw i32 %cast.i.i996.i, %cast.i.i900.i - %cmp39.i = icmp ult i32 %add.i, 17 + %cmp39.i = icmp samesign ult i32 %add.i, 17 br i1 %cmp39.i, label %if.then40.i, label %if.else.i if.then40.i: ; preds = %if.end.i @@ -15019,7 +15019,7 @@ if.end64.i: ; preds = %_ZN7simdutf7icelake %cast.i.i708.i = zext nneg i16 %145 to i32 %146 = tail call <16 x i32> @llvm.x86.avx512.mask.compress.v16i32(<16 x i32> %141, <16 x i32> zeroinitializer, <16 x i1> %143) %add75.i = add nuw nsw i32 %cast.i.i708.i, %cast.i.i804.i - %cmp76.i = icmp ult i32 %add75.i, 17 + %cmp76.i = icmp samesign ult i32 %add75.i, 17 br i1 %cmp76.i, label %if.then77.i, label %if.else92.i if.then77.i: ; preds = %if.end64.i @@ -15248,7 +15248,7 @@ if.else142.i: ; preds = %if.then109.i %cast.i.i.i = zext nneg i16 %274 to i32 %275 = tail call <16 x i32> @llvm.x86.avx512.mask.compress.v16i32(<16 x i32> %270, <16 x i32> zeroinitializer, <16 x i1> %272) %add162.i = add nuw nsw i32 %cast.i.i612.i, %cast.i.i.i - %cmp163.i = icmp ult i32 %add162.i, 17 + %cmp163.i = icmp samesign ult i32 %add162.i, 17 br i1 %cmp163.i, label %if.then164.i, label %if.else179.i if.then164.i: ; preds = %if.else142.i @@ -15702,7 +15702,7 @@ if.end.i: ; preds = %while.body.i, %whil %cast.i.i2528.i = zext nneg i16 %60 to i32 %61 = tail call <16 x i32> @llvm.x86.avx512.mask.compress.v16i32(<16 x i32> %56, <16 x i32> zeroinitializer, <16 x i1> %58) %add.i = add nuw nsw i32 %cast.i.i2624.i, %cast.i.i2528.i - %cmp38.i = icmp ult i32 %add.i, 17 + %cmp38.i = icmp samesign ult i32 %add.i, 17 br i1 %cmp38.i, label %if.then39.i, label %if.else.i if.then39.i: ; preds = %if.end.i @@ -15790,7 +15790,7 @@ if.end59.i: ; preds = %if.else.i, %if.then %cast.i.i2336.i = zext nneg i16 %119 to i32 %120 = tail call <16 x i32> @llvm.x86.avx512.mask.compress.v16i32(<16 x i32> %115, <16 x i32> zeroinitializer, <16 x i1> %117) %add70.i = add nuw nsw i32 %cast.i.i2336.i, %cast.i.i2432.i - %cmp71.i = icmp ult i32 %add70.i, 17 + %cmp71.i = icmp samesign ult i32 %add70.i, 17 br i1 %cmp71.i, label %if.then72.i, label %if.else86.i if.then72.i: ; preds = %if.end59.i @@ -15961,7 +15961,7 @@ if.else133.i: ; preds = %if.then101.i %cast.i.i.i = zext nneg i16 %215 to i32 %216 = tail call <16 x i32> @llvm.x86.avx512.mask.compress.v16i32(<16 x i32> %211, <16 x i32> zeroinitializer, <16 x i1> %213) %add153.i = add nuw nsw i32 %cast.i.i2240.i, %cast.i.i.i - %cmp154.i = icmp ult i32 %add153.i, 17 + %cmp154.i = icmp samesign ult i32 %add153.i, 17 br i1 %cmp154.i, label %if.then155.i, label %if.else172.i if.then155.i: ; preds = %if.else133.i @@ -16310,7 +16310,7 @@ if.end28.i: ; preds = %if.end.i %cast.i.i2584.i = zext nneg i16 %63 to i32 %64 = tail call <16 x i32> @llvm.x86.avx512.mask.compress.v16i32(<16 x i32> %59, <16 x i32> zeroinitializer, <16 x i1> %61) %add.i = add nuw nsw i32 %cast.i.i2680.i, %cast.i.i2584.i - %cmp41.i = icmp ult i32 %add.i, 17 + %cmp41.i = icmp samesign ult i32 %add.i, 17 br i1 %cmp41.i, label %if.then42.i, label %if.else.i if.then42.i: ; preds = %if.end28.i @@ -16398,7 +16398,7 @@ if.end62.i: ; preds = %if.else.i, %if.then %cast.i.i2392.i = zext nneg i16 %122 to i32 %123 = tail call <16 x i32> @llvm.x86.avx512.mask.compress.v16i32(<16 x i32> %118, <16 x i32> zeroinitializer, <16 x i1> %120) %add73.i = add nuw nsw i32 %cast.i.i2392.i, %cast.i.i2488.i - %cmp74.i = icmp ult i32 %add73.i, 17 + %cmp74.i = icmp samesign ult i32 %add73.i, 17 br i1 %cmp74.i, label %if.then75.i, label %if.else89.i if.then75.i: ; preds = %if.end62.i @@ -16576,7 +16576,7 @@ if.else140.i: ; preds = %if.else136.i %cast.i.i.i = zext nneg i16 %221 to i32 %222 = tail call <16 x i32> @llvm.x86.avx512.mask.compress.v16i32(<16 x i32> %217, <16 x i32> zeroinitializer, <16 x i1> %219) %add160.i = add nuw nsw i32 %cast.i.i2296.i, %cast.i.i.i - %cmp161.i = icmp ult i32 %add160.i, 17 + %cmp161.i = icmp samesign ult i32 %add160.i, 17 br i1 %cmp161.i, label %if.then162.i, label %if.else179.i if.then162.i: ; preds = %if.else140.i @@ -16930,7 +16930,7 @@ if.end.i: ; preds = %while.body.i %cast.i.i926.i = zext nneg i16 %29 to i32 %30 = tail call <16 x i32> @llvm.x86.avx512.mask.compress.v16i32(<16 x i32> %25, <16 x i32> zeroinitializer, <16 x i1> %27) %add.i = add nuw nsw i32 %cast.i.i1022.i, %cast.i.i926.i - %cmp41.i = icmp ult i32 %add.i, 17 + %cmp41.i = icmp samesign ult i32 %add.i, 17 br i1 %cmp41.i, label %if.then42.i, label %if.else.i if.then42.i: ; preds = %if.end.i @@ -17019,7 +17019,7 @@ if.end62.i: ; preds = %if.else.i, %if.then %cast.i.i734.i = zext nneg i16 %88 to i32 %89 = tail call <16 x i32> @llvm.x86.avx512.mask.compress.v16i32(<16 x i32> %84, <16 x i32> zeroinitializer, <16 x i1> %86) %add73.i = add nuw nsw i32 %cast.i.i734.i, %cast.i.i830.i - %cmp74.i = icmp ult i32 %add73.i, 17 + %cmp74.i = icmp samesign ult i32 %add73.i, 17 br i1 %cmp74.i, label %if.then75.i, label %if.else89.i if.then75.i: ; preds = %if.end62.i @@ -17146,7 +17146,7 @@ if.else141.i: ; preds = %if.then104.i %cast.i.i.i = zext nneg i16 %160 to i32 %161 = tail call <16 x i32> @llvm.x86.avx512.mask.compress.v16i32(<16 x i32> %156, <16 x i32> zeroinitializer, <16 x i1> %158) %add161.i = add nuw nsw i32 %cast.i.i638.i, %cast.i.i.i - %cmp162.i = icmp ult i32 %add161.i, 17 + %cmp162.i = icmp samesign ult i32 %add161.i, 17 br i1 %cmp162.i, label %if.then163.i, label %if.else180.i if.then163.i: ; preds = %if.else141.i @@ -31453,7 +31453,7 @@ if.else243.i: ; preds = %if.else207.i %conv254.i = zext i16 %sub245.i to i32 %conv255.i = zext i16 %sub252.i to i32 %or256.i = or i32 %conv255.i, %conv254.i - %cmp257.i = icmp ugt i32 %or256.i, 1023 + %cmp257.i = icmp samesign ugt i32 %or256.i, 1023 br i1 %cmp257.i, label %return, label %if.end260.i if.end260.i: ; preds = %if.else243.i @@ -31783,7 +31783,7 @@ if.else248.i: ; preds = %if.else212.i %conv260.i = zext i16 %sub250.i to i32 %conv261.i = zext i16 %sub258.i to i32 %or262.i = or i32 %conv261.i, %conv260.i - %cmp263.i = icmp ugt i32 %or262.i, 1023 + %cmp263.i = icmp samesign ugt i32 %or262.i, 1023 br i1 %cmp263.i, label %return, label %if.end266.i if.end266.i: ; preds = %if.else248.i @@ -32108,7 +32108,7 @@ if.else243.i: ; preds = %if.else207.i %conv254.i = zext i16 %sub245.i to i32 %conv255.i = zext i16 %sub252.i to i32 %or256.i = or i32 %conv255.i, %conv254.i - %cmp257.i = icmp ugt i32 %or256.i, 1023 + %cmp257.i = icmp samesign ugt i32 %or256.i, 1023 br i1 %cmp257.i, label %if.then, label %if.end265.i if.end265.i: ; preds = %if.else243.i @@ -32454,7 +32454,7 @@ if.else248.i: ; preds = %if.else212.i %conv260.i = zext i16 %sub250.i to i32 %conv261.i = zext i16 %sub258.i to i32 %or262.i = or i32 %conv261.i, %conv260.i - %cmp263.i = icmp ugt i32 %or262.i, 1023 + %cmp263.i = icmp samesign ugt i32 %or262.i, 1023 br i1 %cmp263.i, label %if.then, label %if.end271.i if.end271.i: ; preds = %if.else248.i @@ -33638,7 +33638,7 @@ if.else33.i: ; preds = %for.body.i %conv44.i = zext i16 %sub35.i to i32 %conv45.i = zext i16 %sub42.i to i32 %or.i = or i32 %conv45.i, %conv44.i - %cmp46.i = icmp ugt i32 %or.i, 1023 + %cmp46.i = icmp samesign ugt i32 %or.i, 1023 br i1 %cmp46.i, label %return, label %if.end49.i if.end49.i: ; preds = %if.else33.i @@ -33822,7 +33822,7 @@ if.else38.i: ; preds = %for.body.i %conv50.i = zext i16 %sub40.i to i32 %conv51.i = zext i16 %sub48.i to i32 %or.i = or i32 %conv51.i, %conv50.i - %cmp52.i = icmp ugt i32 %or.i, 1023 + %cmp52.i = icmp samesign ugt i32 %or.i, 1023 br i1 %cmp52.i, label %return, label %if.end55.i if.end55.i: ; preds = %if.else38.i @@ -34005,7 +34005,7 @@ if.else33.i: ; preds = %for.body.i %conv44.i = zext i16 %sub35.i to i32 %conv45.i = zext i16 %sub42.i to i32 %or.i = or i32 %conv45.i, %conv44.i - %cmp46.i = icmp ugt i32 %or.i, 1023 + %cmp46.i = icmp samesign ugt i32 %or.i, 1023 br i1 %cmp46.i, label %if.then, label %if.end54.i if.end54.i: ; preds = %if.else33.i @@ -34203,7 +34203,7 @@ if.else38.i: ; preds = %for.body.i %conv50.i = zext i16 %sub40.i to i32 %conv51.i = zext i16 %sub48.i to i32 %or.i = or i32 %conv51.i, %conv50.i - %cmp52.i = icmp ugt i32 %or.i, 1023 + %cmp52.i = icmp samesign ugt i32 %or.i, 1023 br i1 %cmp52.i, label %if.then, label %if.end60.i if.end60.i: ; preds = %if.else38.i @@ -35692,7 +35692,7 @@ if.else33.i.i: ; preds = %for.body.i.i %conv44.i.i = zext i16 %sub35.i.i to i32 %conv45.i.i = zext i16 %sub42.i.i to i32 %or.i.i = or i32 %conv45.i.i, %conv44.i.i - %cmp46.i.i = icmp ugt i32 %or.i.i, 1023 + %cmp46.i.i = icmp samesign ugt i32 %or.i.i, 1023 br i1 %cmp46.i.i, label %_ZNK7simdutf7haswell14implementation24convert_utf16le_to_utf32EPKDsmPDi.exit, label %if.end49.i.i if.end49.i.i: ; preds = %if.else33.i.i @@ -35876,7 +35876,7 @@ if.else38.i.i: ; preds = %for.body.i.i %conv50.i.i = zext i16 %sub40.i.i to i32 %conv51.i.i = zext i16 %sub48.i.i to i32 %or.i.i = or i32 %conv51.i.i, %conv50.i.i - %cmp52.i.i = icmp ugt i32 %or.i.i, 1023 + %cmp52.i.i = icmp samesign ugt i32 %or.i.i, 1023 br i1 %cmp52.i.i, label %_ZNK7simdutf7haswell14implementation24convert_utf16be_to_utf32EPKDsmPDi.exit, label %if.end55.i.i if.end55.i.i: ; preds = %if.else38.i.i @@ -45540,7 +45540,7 @@ if.else148.i: ; preds = %if.else112.i %conv159.i = zext i16 %sub150.i to i32 %conv160.i = zext i16 %sub157.i to i32 %or161.i = or i32 %conv160.i, %conv159.i - %cmp162.i = icmp ugt i32 %or161.i, 1023 + %cmp162.i = icmp samesign ugt i32 %or161.i, 1023 br i1 %cmp162.i, label %return, label %if.end165.i if.end165.i: ; preds = %if.else148.i @@ -45859,7 +45859,7 @@ if.else154.i: ; preds = %if.else118.i %conv166.i = zext i16 %sub156.i to i32 %conv167.i = zext i16 %sub164.i to i32 %or168.i = or i32 %conv167.i, %conv166.i - %cmp169.i = icmp ugt i32 %or168.i, 1023 + %cmp169.i = icmp samesign ugt i32 %or168.i, 1023 br i1 %cmp169.i, label %return, label %if.end172.i if.end172.i: ; preds = %if.else154.i @@ -46172,7 +46172,7 @@ if.else148.i: ; preds = %if.else112.i %conv159.i = zext i16 %sub150.i to i32 %conv160.i = zext i16 %sub157.i to i32 %or161.i = or i32 %conv160.i, %conv159.i - %cmp162.i = icmp ugt i32 %or161.i, 1023 + %cmp162.i = icmp samesign ugt i32 %or161.i, 1023 br i1 %cmp162.i, label %if.then, label %if.end170.i if.end170.i: ; preds = %if.else148.i @@ -46509,7 +46509,7 @@ if.else154.i: ; preds = %if.else118.i %conv166.i = zext i16 %sub156.i to i32 %conv167.i = zext i16 %sub164.i to i32 %or168.i = or i32 %conv167.i, %conv166.i - %cmp169.i = icmp ugt i32 %or168.i, 1023 + %cmp169.i = icmp samesign ugt i32 %or168.i, 1023 br i1 %cmp169.i, label %if.then, label %if.end177.i if.end177.i: ; preds = %if.else154.i @@ -47828,7 +47828,7 @@ if.else28.i: ; preds = %for.body.i %conv39.i = zext i16 %sub30.i to i32 %conv40.i = zext i16 %sub37.i to i32 %or.i = or i32 %conv40.i, %conv39.i - %cmp41.i = icmp ugt i32 %or.i, 1023 + %cmp41.i = icmp samesign ugt i32 %or.i, 1023 br i1 %cmp41.i, label %return, label %if.end44.i if.end44.i: ; preds = %if.else28.i @@ -48011,7 +48011,7 @@ if.else31.i: ; preds = %for.body.i %conv43.i = zext i16 %sub33.i to i32 %conv44.i = zext i16 %sub41.i to i32 %or.i = or i32 %conv44.i, %conv43.i - %cmp45.i = icmp ugt i32 %or.i, 1023 + %cmp45.i = icmp samesign ugt i32 %or.i, 1023 br i1 %cmp45.i, label %return, label %if.end48.i if.end48.i: ; preds = %if.else31.i @@ -48193,7 +48193,7 @@ if.else28.i: ; preds = %for.body.i %conv39.i = zext i16 %sub30.i to i32 %conv40.i = zext i16 %sub37.i to i32 %or.i = or i32 %conv40.i, %conv39.i - %cmp41.i = icmp ugt i32 %or.i, 1023 + %cmp41.i = icmp samesign ugt i32 %or.i, 1023 br i1 %cmp41.i, label %if.then, label %if.end49.i if.end49.i: ; preds = %if.else28.i @@ -48390,7 +48390,7 @@ if.else31.i: ; preds = %for.body.i %conv43.i = zext i16 %sub33.i to i32 %conv44.i = zext i16 %sub41.i to i32 %or.i = or i32 %conv44.i, %conv43.i - %cmp45.i = icmp ugt i32 %or.i, 1023 + %cmp45.i = icmp samesign ugt i32 %or.i, 1023 br i1 %cmp45.i, label %if.then, label %if.end53.i if.end53.i: ; preds = %if.else31.i @@ -49896,7 +49896,7 @@ if.else28.i.i: ; preds = %for.body.i.i %conv39.i.i = zext i16 %sub30.i.i to i32 %conv40.i.i = zext i16 %sub37.i.i to i32 %or.i.i = or i32 %conv40.i.i, %conv39.i.i - %cmp41.i.i = icmp ugt i32 %or.i.i, 1023 + %cmp41.i.i = icmp samesign ugt i32 %or.i.i, 1023 br i1 %cmp41.i.i, label %_ZNK7simdutf8westmere14implementation24convert_utf16le_to_utf32EPKDsmPDi.exit, label %if.end44.i.i if.end44.i.i: ; preds = %if.else28.i.i diff --git a/bench/nuklear/optimized/unity.c.ll b/bench/nuklear/optimized/unity.c.ll index a545973bdbb..5eff8e33b9d 100644 --- a/bench/nuklear/optimized/unity.c.ll +++ b/bench/nuklear/optimized/unity.c.ll @@ -1521,14 +1521,14 @@ entry: %col.sroa.19.0.extract.shift = lshr i32 %col.coerce, 24 %and = lshr i32 %col.coerce, 4 %shr = and i32 %and, 15 - %cmp = icmp ult i32 %shr, 10 + %cmp = icmp samesign ult i32 %shr, 10 %add = or disjoint i32 %shr, 48 %add10 = add nuw nsw i32 %shr, 55 %cond = select i1 %cmp, i32 %add, i32 %add10 %conv11 = trunc nuw nsw i32 %cond to i8 store i8 %conv11, ptr %output, align 1 %and14 = and i32 %col.coerce, 15 - %cmp15 = icmp ult i32 %and14, 10 + %cmp15 = icmp samesign ult i32 %and14, 10 %add21 = or disjoint i32 %and14, 48 %add26 = add nuw nsw i32 %and14, 55 %cond28 = select i1 %cmp15, i32 %add21, i32 %add26 @@ -1537,7 +1537,7 @@ entry: store i8 %conv29, ptr %arrayidx30, align 1 %and32 = lshr i32 %col.coerce, 12 %shr33 = and i32 %and32, 15 - %cmp34 = icmp ult i32 %shr33, 10 + %cmp34 = icmp samesign ult i32 %shr33, 10 %add41 = or disjoint i32 %shr33, 48 %add47 = add nuw nsw i32 %shr33, 55 %cond49 = select i1 %cmp34, i32 %add41, i32 %add47 @@ -1545,7 +1545,7 @@ entry: %arrayidx51 = getelementptr inbounds i8, ptr %output, i64 2 store i8 %conv50, ptr %arrayidx51, align 1 %and54 = and i32 %col.sroa.7.0.extract.shift, 15 - %cmp55 = icmp ult i32 %and54, 10 + %cmp55 = icmp samesign ult i32 %and54, 10 %add61 = or disjoint i32 %and54, 48 %add66 = add nuw nsw i32 %and54, 55 %cond68 = select i1 %cmp55, i32 %add61, i32 %add66 @@ -1554,7 +1554,7 @@ entry: store i8 %conv69, ptr %arrayidx70, align 1 %and72 = lshr i32 %col.coerce, 20 %shr73 = and i32 %and72, 15 - %cmp74 = icmp ult i32 %shr73, 10 + %cmp74 = icmp samesign ult i32 %shr73, 10 %add81 = or disjoint i32 %shr73, 48 %add87 = add nuw nsw i32 %shr73, 55 %cond89 = select i1 %cmp74, i32 %add81, i32 %add87 @@ -1562,7 +1562,7 @@ entry: %arrayidx91 = getelementptr inbounds i8, ptr %output, i64 4 store i8 %conv90, ptr %arrayidx91, align 1 %and94 = and i32 %col.sroa.13.0.extract.shift, 15 - %cmp95 = icmp ult i32 %and94, 10 + %cmp95 = icmp samesign ult i32 %and94, 10 %add101 = or disjoint i32 %and94, 48 %add106 = add nuw nsw i32 %and94, 55 %cond108 = select i1 %cmp95, i32 %add101, i32 %add106 @@ -1578,7 +1578,7 @@ entry: %arrayidx131 = getelementptr inbounds i8, ptr %output, i64 6 store i8 %conv130, ptr %arrayidx131, align 1 %and134 = and i32 %col.sroa.19.0.extract.shift, 15 - %cmp135 = icmp ult i32 %and134, 10 + %cmp135 = icmp samesign ult i32 %and134, 10 %add141 = or disjoint i32 %and134, 48 %add146 = add nuw nsw i32 %and134, 55 %cond148 = select i1 %cmp135, i32 %add141, i32 %add146 @@ -1597,14 +1597,14 @@ entry: %col.sroa.13.0.extract.shift = lshr i32 %col.coerce, 16 %and = lshr i32 %col.coerce, 4 %shr = and i32 %and, 15 - %cmp = icmp ult i32 %shr, 10 + %cmp = icmp samesign ult i32 %shr, 10 %add = or disjoint i32 %shr, 48 %add10 = add nuw nsw i32 %shr, 55 %cond = select i1 %cmp, i32 %add, i32 %add10 %conv11 = trunc nuw nsw i32 %cond to i8 store i8 %conv11, ptr %output, align 1 %and14 = and i32 %col.coerce, 15 - %cmp15 = icmp ult i32 %and14, 10 + %cmp15 = icmp samesign ult i32 %and14, 10 %add21 = or disjoint i32 %and14, 48 %add26 = add nuw nsw i32 %and14, 55 %cond28 = select i1 %cmp15, i32 %add21, i32 %add26 @@ -1613,7 +1613,7 @@ entry: store i8 %conv29, ptr %arrayidx30, align 1 %and32 = lshr i32 %col.coerce, 12 %shr33 = and i32 %and32, 15 - %cmp34 = icmp ult i32 %shr33, 10 + %cmp34 = icmp samesign ult i32 %shr33, 10 %add41 = or disjoint i32 %shr33, 48 %add47 = add nuw nsw i32 %shr33, 55 %cond49 = select i1 %cmp34, i32 %add41, i32 %add47 @@ -1621,7 +1621,7 @@ entry: %arrayidx51 = getelementptr inbounds i8, ptr %output, i64 2 store i8 %conv50, ptr %arrayidx51, align 1 %and54 = and i32 %col.sroa.7.0.extract.shift, 15 - %cmp55 = icmp ult i32 %and54, 10 + %cmp55 = icmp samesign ult i32 %and54, 10 %add61 = or disjoint i32 %and54, 48 %add66 = add nuw nsw i32 %and54, 55 %cond68 = select i1 %cmp55, i32 %add61, i32 %add66 @@ -1630,7 +1630,7 @@ entry: store i8 %conv69, ptr %arrayidx70, align 1 %and72 = lshr i32 %col.coerce, 20 %shr73 = and i32 %and72, 15 - %cmp74 = icmp ult i32 %shr73, 10 + %cmp74 = icmp samesign ult i32 %shr73, 10 %add81 = or disjoint i32 %shr73, 48 %add87 = add nuw nsw i32 %shr73, 55 %cond89 = select i1 %cmp74, i32 %add81, i32 %add87 @@ -1638,7 +1638,7 @@ entry: %arrayidx91 = getelementptr inbounds i8, ptr %output, i64 4 store i8 %conv90, ptr %arrayidx91, align 1 %and94 = and i32 %col.sroa.13.0.extract.shift, 15 - %cmp95 = icmp ult i32 %and94, 10 + %cmp95 = icmp samesign ult i32 %and94, 10 %add101 = or disjoint i32 %and94, 48 %add106 = add nuw nsw i32 %and94, 55 %cond108 = select i1 %cmp95, i32 %add101, i32 %add106 @@ -4202,8 +4202,8 @@ for.cond.preheader: ; preds = %nk_utf_decode_byte. %and12.i = and i8 %0, %not.i %conv14.i = zext i8 %and12.i to i32 %cmp859 = icmp sgt i32 %clen, 1 - %cmp960 = icmp ugt i64 %indvars.iv.i, 1 - %5 = and i1 %cmp859, %cmp960 + %cmp960 = icmp samesign ugt i64 %indvars.iv.i, 1 + %5 = select i1 %cmp859, i1 %cmp960, i1 false br i1 %5, label %for.body.preheader, label %for.end for.body.preheader: ; preds = %for.cond.preheader @@ -4315,7 +4315,7 @@ for.cond.i: ; preds = %for.cond.i, %entry nk_utf_validate.exit: ; preds = %for.cond.i %2 = trunc nuw nsw i64 %indvars.iv.i to i32 %cmp = icmp slt i32 %clen, %2 - %cmp2 = icmp ugt i64 %indvars.iv.i, 4 + %cmp2 = icmp samesign ugt i64 %indvars.iv.i, 4 %or.cond1 = or i1 %cmp2, %cmp br i1 %or.cond1, label %return, label %for.cond.preheader @@ -4396,8 +4396,8 @@ nk_utf_decode_byte.exit.i: ; preds = %for.body.i.i for.cond.preheader.i: ; preds = %nk_utf_decode_byte.exit.i %cmp859.i = icmp sgt i32 %len, 1 - %cmp960.i = icmp ugt i64 %indvars.iv.i.i, 1 - %5 = and i1 %cmp859.i, %cmp960.i + %cmp960.i = icmp samesign ugt i64 %indvars.iv.i.i, 1 + %5 = select i1 %cmp859.i, i1 %cmp960.i, i1 false br i1 %5, label %for.body.preheader.i, label %for.end.i for.body.preheader.i: ; preds = %for.cond.preheader.i @@ -4500,8 +4500,8 @@ nk_utf_decode_byte.exit.i27: ; preds = %for.body.i.i15 for.cond.preheader.i29: ; preds = %nk_utf_decode_byte.exit.i27 %cmp859.i33 = icmp sgt i32 %sub, 1 - %cmp960.i34 = icmp ugt i64 %indvars.iv.i.i17, 1 - %17 = and i1 %cmp859.i33, %cmp960.i34 + %cmp960.i34 = icmp samesign ugt i64 %indvars.iv.i.i17, 1 + %17 = select i1 %cmp859.i33, i1 %cmp960.i34, i1 false br i1 %17, label %for.body.preheader.i47, label %for.end.i35 for.body.preheader.i47: ; preds = %for.cond.preheader.i29 @@ -5716,7 +5716,7 @@ nk_utf_decode_byte.exit.i: ; preds = %for.body.i.i br i1 %or.cond1.i, label %for.cond.preheader.i, label %nk_utf_decode.exit for.cond.preheader.i: ; preds = %nk_utf_decode_byte.exit.i - %cmp960.i = icmp ugt i64 %indvars.iv.i.i, 1 + %cmp960.i = icmp samesign ugt i64 %indvars.iv.i.i, 1 br i1 %cmp960.i, label %for.body.preheader.i, label %if.end18.i for.body.preheader.i: ; preds = %for.cond.preheader.i @@ -5842,7 +5842,7 @@ for.cond.preheader.i: ; preds = %nk_utf_decode_byte. %not.i.i = xor i8 %1, -1 %and12.i.i = and i8 %0, %not.i.i %conv14.i.i = zext i8 %and12.i.i to i32 - %cmp960.i = icmp ugt i64 %indvars.iv.i.i, 1 + %cmp960.i = icmp samesign ugt i64 %indvars.iv.i.i, 1 br i1 %cmp960.i, label %for.body.preheader.i, label %if.end18.i for.body.preheader.i: ; preds = %for.cond.preheader.i @@ -5964,7 +5964,7 @@ for.cond.preheader.i26: ; preds = %nk_utf_decode_byte. %not.i.i27 = xor i8 %15, -1 %and12.i.i28 = and i8 %14, %not.i.i27 %conv14.i.i29 = zext i8 %and12.i.i28 to i32 - %cmp960.i30 = icmp ugt i64 %indvars.iv.i.i14, 1 + %cmp960.i30 = icmp samesign ugt i64 %indvars.iv.i.i14, 1 br i1 %cmp960.i30, label %for.body.preheader.i43, label %if.end18.i32 for.body.preheader.i43: ; preds = %for.cond.preheader.i26 @@ -6126,7 +6126,7 @@ for.cond.i.i: ; preds = %for.cond.i.i, %for. nk_utf_validate.exit.i: ; preds = %for.cond.i.i %3 = trunc nuw nsw i64 %indvars.iv.i.i to i32 - %cmp2.i = icmp ugt i64 %indvars.iv.i.i, 4 + %cmp2.i = icmp samesign ugt i64 %indvars.iv.i.i, 4 br i1 %cmp2.i, label %return, label %for.cond.preheader.i for.cond.preheader.i: ; preds = %nk_utf_validate.exit.i @@ -6224,7 +6224,7 @@ for.cond.i.i: ; preds = %for.cond.i.i, %whil nk_utf_validate.exit.i: ; preds = %for.cond.i.i %4 = trunc nuw nsw i64 %indvars.iv.i.i to i32 - %cmp2.i = icmp ugt i64 %indvars.iv.i.i, 4 + %cmp2.i = icmp samesign ugt i64 %indvars.iv.i.i, 4 br i1 %cmp2.i, label %nk_str_append_text_char.exit, label %for.cond.preheader.i for.cond.preheader.i: ; preds = %nk_utf_validate.exit.i @@ -6642,7 +6642,7 @@ nk_utf_decode_byte.exit.i.i: ; preds = %for.body.i.i.i br i1 %or.cond1.i.i, label %for.cond.preheader.i.i, label %nk_utf_decode.exit.i for.cond.preheader.i.i: ; preds = %nk_utf_decode_byte.exit.i.i - %cmp960.i.i = icmp ugt i64 %indvars.iv.i.i.i, 1 + %cmp960.i.i = icmp samesign ugt i64 %indvars.iv.i.i.i, 1 br i1 %cmp960.i.i, label %for.body.preheader.i.i, label %if.end18.i.i for.body.preheader.i.i: ; preds = %for.cond.preheader.i.i @@ -6759,7 +6759,7 @@ nk_utf_decode_byte.exit.i: ; preds = %for.body.i.i br i1 %or.cond1.i, label %for.cond.preheader.i, label %nk_utf_decode.exit for.cond.preheader.i: ; preds = %nk_utf_decode_byte.exit.i - %cmp960.i = icmp ugt i64 %indvars.iv.i.i, 1 + %cmp960.i = icmp samesign ugt i64 %indvars.iv.i.i, 1 br i1 %cmp960.i, label %for.body.preheader.i, label %if.end18.i for.body.preheader.i: ; preds = %for.cond.preheader.i @@ -6888,7 +6888,7 @@ nk_utf_decode_byte.exit.i.i: ; preds = %for.body.i.i.i br i1 %or.cond1.i.i, label %for.cond.preheader.i.i, label %nk_utf_decode.exit.i for.cond.preheader.i.i: ; preds = %nk_utf_decode_byte.exit.i.i - %cmp960.i.i = icmp ugt i64 %indvars.iv.i.i.i, 1 + %cmp960.i.i = icmp samesign ugt i64 %indvars.iv.i.i.i, 1 br i1 %cmp960.i.i, label %for.body.preheader.i.i, label %if.end18.i.i for.body.preheader.i.i: ; preds = %for.cond.preheader.i.i @@ -6997,7 +6997,7 @@ for.cond.preheader.i: ; preds = %nk_utf_decode_byte. %not.i.i = xor i8 %1, -1 %and12.i.i = and i8 %0, %not.i.i %conv14.i.i = zext i8 %and12.i.i to i32 - %cmp960.i = icmp ugt i64 %indvars.iv.i.i, 1 + %cmp960.i = icmp samesign ugt i64 %indvars.iv.i.i, 1 br i1 %cmp960.i, label %for.body.preheader.i, label %if.end18.i for.body.preheader.i: ; preds = %for.cond.preheader.i @@ -7119,7 +7119,7 @@ for.cond.preheader.i26: ; preds = %nk_utf_decode_byte. %not.i.i27 = xor i8 %15, -1 %and12.i.i28 = and i8 %14, %not.i.i27 %conv14.i.i29 = zext i8 %and12.i.i28 to i32 - %cmp960.i30 = icmp ugt i64 %indvars.iv.i.i14, 1 + %cmp960.i30 = icmp samesign ugt i64 %indvars.iv.i.i14, 1 br i1 %cmp960.i30, label %for.body.preheader.i43, label %if.end18.i32 for.body.preheader.i43: ; preds = %for.cond.preheader.i26 @@ -7265,7 +7265,7 @@ for.cond.i.i: ; preds = %for.cond.i.i, %for. nk_utf_validate.exit.i: ; preds = %for.cond.i.i %3 = trunc nuw nsw i64 %indvars.iv.i.i to i32 - %cmp2.i = icmp ugt i64 %indvars.iv.i.i, 4 + %cmp2.i = icmp samesign ugt i64 %indvars.iv.i.i, 4 br i1 %cmp2.i, label %return, label %for.cond.preheader.i for.cond.preheader.i: ; preds = %nk_utf_validate.exit.i @@ -7349,7 +7349,7 @@ for.cond.i.i: ; preds = %for.cond.i.i, %whil nk_utf_validate.exit.i: ; preds = %for.cond.i.i %4 = trunc nuw nsw i64 %indvars.iv.i.i to i32 - %cmp2.i = icmp ugt i64 %indvars.iv.i.i, 4 + %cmp2.i = icmp samesign ugt i64 %indvars.iv.i.i, 4 br i1 %cmp2.i, label %nk_utf_encode.exit, label %for.cond.preheader.i for.cond.preheader.i: ; preds = %nk_utf_validate.exit.i @@ -13833,8 +13833,8 @@ for.cond.preheader.i: ; preds = %nk_utf_decode_byte. %and12.i.i = and i8 %7, %not.i.i %conv14.i.i = zext i8 %and12.i.i to i32 %cmp859.i = icmp sgt i32 %len, 1 - %cmp960.i = icmp ugt i64 %indvars.iv.i.i, 1 - %12 = and i1 %cmp859.i, %cmp960.i + %cmp960.i = icmp samesign ugt i64 %indvars.iv.i.i, 1 + %12 = select i1 %cmp859.i, i1 %cmp960.i, i1 false br i1 %12, label %for.body.preheader.i, label %for.end.i for.body.preheader.i: ; preds = %for.cond.preheader.i @@ -13987,8 +13987,8 @@ for.cond.preheader.i55: ; preds = %nk_utf_decode_byte. %and12.i.i57 = and i8 %22, %not.i.i56 %conv14.i.i58 = zext i8 %and12.i.i57 to i32 %cmp859.i59 = icmp sgt i32 %sub, 1 - %cmp960.i60 = icmp ugt i64 %indvars.iv.i.i43, 1 - %27 = and i1 %cmp859.i59, %cmp960.i60 + %cmp960.i60 = icmp samesign ugt i64 %indvars.iv.i.i43, 1 + %27 = select i1 %cmp859.i59, i1 %cmp960.i60, i1 false br i1 %27, label %for.body.preheader.i73, label %for.end.i61 for.body.preheader.i73: ; preds = %for.cond.preheader.i55 @@ -15113,7 +15113,7 @@ for.body268: ; preds = %for.body268.lr.ph, %indvars.iv.next542 = add nuw nsw i64 %indvars.iv541, 1 %249 = load i16, ptr %point_count, align 2 %250 = zext i16 %249 to i64 - %cmp266 = icmp ult i64 %indvars.iv.next542, %250 + %cmp266 = icmp samesign ult i64 %indvars.iv.next542, %250 br i1 %cmp266, label %for.body268, label %for.end, !llvm.loop !64 for.end: ; preds = %for.body268, %for.cond264.preheader @@ -15176,7 +15176,7 @@ for.body291: ; preds = %for.body291.lr.ph, %indvars.iv.next539 = add nuw nsw i64 %indvars.iv538, 1 %264 = load i16, ptr %point_count287, align 4 %265 = zext i16 %264 to i64 - %cmp289 = icmp ult i64 %indvars.iv.next539, %265 + %cmp289 = icmp samesign ult i64 %indvars.iv.next539, %265 br i1 %cmp289, label %for.body291, label %for.end307, !llvm.loop !65 for.end307: ; preds = %for.body291, %for.cond286.preheader @@ -15236,7 +15236,7 @@ for.body318: ; preds = %for.body318.lr.ph, %indvars.iv.next = add nuw nsw i64 %indvars.iv, 1 %278 = load i16, ptr %point_count314, align 2 %279 = zext i16 %278 to i64 - %cmp316 = icmp ult i64 %indvars.iv.next, %279 + %cmp316 = icmp samesign ult i64 %indvars.iv.next, %279 br i1 %cmp316, label %for.body318, label %for.end334, !llvm.loop !66 for.end334: ; preds = %for.body318, %for.cond313.preheader @@ -32348,7 +32348,7 @@ for.cond.preheader.i: ; preds = %nk_utf_decode_byte. %not.i.i = xor i8 %1, -1 %and12.i.i = and i8 %0, %not.i.i %conv14.i.i = zext i8 %and12.i.i to i32 - %cmp960.i = icmp ugt i64 %indvars.iv.i.i, 1 + %cmp960.i = icmp samesign ugt i64 %indvars.iv.i.i, 1 br i1 %cmp960.i, label %for.body.preheader.i, label %if.end18.i for.body.preheader.i: ; preds = %for.cond.preheader.i @@ -32464,7 +32464,7 @@ nk_utf_validate.exit.i: ; preds = %for.cond.i.i %sub = sub nsw i32 16, %13 %15 = trunc nuw nsw i64 %indvars.iv.i.i12 to i32 %cmp.i = icmp slt i32 %sub, %15 - %cmp2.i = icmp ugt i64 %indvars.iv.i.i12, 4 + %cmp2.i = icmp samesign ugt i64 %indvars.iv.i.i12, 4 %or.cond1.i15 = or i1 %cmp2.i, %cmp.i br i1 %or.cond1.i15, label %nk_utf_encode.exit, label %for.cond.preheader.i16 @@ -32556,7 +32556,7 @@ for.cond.i.i: ; preds = %for.cond.i.i, %if.e br i1 %cmp11.i.i, label %for.cond.i.i, label %nk_utf_validate.exit.i, !llvm.loop !21 nk_utf_validate.exit.i: ; preds = %for.cond.i.i - %cmp2.i = icmp ugt i64 %indvars.iv.i.i, 4 + %cmp2.i = icmp samesign ugt i64 %indvars.iv.i.i, 4 br i1 %cmp2.i, label %nk_utf_encode.exit, label %for.cond.preheader.i for.cond.preheader.i: ; preds = %nk_utf_validate.exit.i @@ -47050,7 +47050,7 @@ for.body57.us: ; preds = %for.body57.us.prehe %cond76.us = select i1 %cmp63.us, float %div, float %11 store float %cond76.us, ptr %arrayidx62.us, align 4 %indvars.iv.next69 = add nuw nsw i64 %indvars.iv68, 1 - %cmp55.us = icmp ult i64 %indvars.iv.next69, %10 + %cmp55.us = icmp samesign ult i64 %indvars.iv.next69, %10 br i1 %cmp55.us, label %for.body57.us, label %if.end80, !llvm.loop !205 for.body57: ; preds = %if.end51.thread, %cond.end75 @@ -47072,7 +47072,7 @@ cond.end75: ; preds = %cond.false66, %for. %cond76 = phi float [ %fneg71, %cond.true70 ], [ %12, %for.body57 ], [ %div50, %cond.false66 ] store float %cond76, ptr %arrayidx62, align 4 %indvars.iv.next66 = add nuw nsw i64 %indvars.iv65, 1 - %cmp55 = icmp ult i64 %indvars.iv.next66, %9 + %cmp55 = icmp samesign ult i64 %indvars.iv.next66, %9 br i1 %cmp55, label %for.body57, label %if.end80, !llvm.loop !205 if.end80: ; preds = %for.body57.us, %cond.end75, %for.cond.preheader, %if.end, %entry, %lor.lhs.false, %lor.lhs.false2, %for.end @@ -52444,8 +52444,8 @@ for.cond.preheader.i.i: ; preds = %nk_utf_decode_byte. %and12.i.i.i = and i8 %34, %not.i.i.i %conv14.i.i.i = zext i8 %and12.i.i.i to i32 %cmp859.i.i = icmp sgt i32 %sub.i111.i, 1 - %cmp960.i.i = icmp ugt i64 %indvars.iv.i.i.i, 1 - %39 = and i1 %cmp859.i.i, %cmp960.i.i + %cmp960.i.i = icmp samesign ugt i64 %indvars.iv.i.i.i, 1 + %39 = select i1 %cmp859.i.i, i1 %cmp960.i.i, i1 false br i1 %39, label %for.body.preheader.i.i, label %for.end.i124.i for.body.preheader.i.i: ; preds = %for.cond.preheader.i.i @@ -58262,8 +58262,8 @@ for.cond.preheader.i.i: ; preds = %nk_utf_decode_byte. %and12.i.i.i = and i8 %10, %not.i.i.i %conv14.i.i.i = zext i8 %and12.i.i.i to i32 %cmp859.i.i = icmp sgt i32 %sub.i.i.i, 1 - %cmp960.i.i = icmp ugt i64 %indvars.iv.i.i.i, 1 - %15 = and i1 %cmp859.i.i, %cmp960.i.i + %cmp960.i.i = icmp samesign ugt i64 %indvars.iv.i.i.i, 1 + %15 = select i1 %cmp859.i.i, i1 %cmp960.i.i, i1 false br i1 %15, label %for.body.preheader.i.i, label %for.end.i.i for.body.preheader.i.i: ; preds = %for.cond.preheader.i.i @@ -58776,7 +58776,7 @@ nk_utf_decode_byte.exit.i.i.i: ; preds = %for.body.i.i.i.i br i1 %or.cond1.i.i.i, label %for.cond.preheader.i.i.i, label %nk_utf_decode.exit.i.i for.cond.preheader.i.i.i: ; preds = %nk_utf_decode_byte.exit.i.i.i - %cmp960.i.i.i = icmp ugt i64 %indvars.iv.i.i.i.i, 1 + %cmp960.i.i.i = icmp samesign ugt i64 %indvars.iv.i.i.i.i, 1 br i1 %cmp960.i.i.i, label %for.body.preheader.i.i.i, label %if.end18.i.i.i for.body.preheader.i.i.i: ; preds = %for.cond.preheader.i.i.i @@ -58951,8 +58951,8 @@ for.cond.preheader.i: ; preds = %nk_utf_decode_byte. %and12.i.i = and i8 %1, %not.i.i %conv14.i.i = zext i8 %and12.i.i to i32 %cmp859.i = icmp sgt i32 %total_len, 1 - %cmp960.i = icmp ugt i64 %indvars.iv.i.i, 1 - %6 = and i1 %cmp859.i, %cmp960.i + %cmp960.i = icmp samesign ugt i64 %indvars.iv.i.i, 1 + %6 = select i1 %cmp859.i, i1 %cmp960.i, i1 false br i1 %6, label %for.body.preheader.i, label %for.end.i for.body.preheader.i: ; preds = %for.cond.preheader.i @@ -59211,7 +59211,7 @@ nk_utf_decode_byte.exit.i.i: ; preds = %for.body.i.i.i br i1 %or.cond1.i.i, label %for.cond.preheader.i.i, label %nk_utf_decode.exit.i for.cond.preheader.i.i: ; preds = %nk_utf_decode_byte.exit.i.i - %cmp960.i.i = icmp ugt i64 %indvars.iv.i.i.i, 1 + %cmp960.i.i = icmp samesign ugt i64 %indvars.iv.i.i.i, 1 br i1 %cmp960.i.i, label %for.body.preheader.i.i, label %if.end18.i.i for.body.preheader.i.i: ; preds = %for.cond.preheader.i.i @@ -59375,7 +59375,7 @@ nk_utf_decode_byte.exit.i.i89: ; preds = %for.body.i.i.i71 br i1 %or.cond1.i.i90, label %for.cond.preheader.i.i91, label %nk_utf_decode.exit.i82 for.cond.preheader.i.i91: ; preds = %nk_utf_decode_byte.exit.i.i89 - %cmp960.i.i92 = icmp ugt i64 %indvars.iv.i.i.i73, 1 + %cmp960.i.i92 = icmp samesign ugt i64 %indvars.iv.i.i.i73, 1 br i1 %cmp960.i.i92, label %for.body.preheader.i.i94, label %if.end18.i.i93 for.body.preheader.i.i94: ; preds = %for.cond.preheader.i.i91 @@ -59519,8 +59519,8 @@ for.cond.preheader.i157: ; preds = %nk_utf_decode_byte. %and12.i.i159 = and i8 %70, %not.i.i158 %conv14.i.i160 = zext i8 %and12.i.i159 to i32 %cmp859.i161 = icmp sgt i32 %sub, 1 - %cmp960.i162 = icmp ugt i64 %indvars.iv.i.i145, 1 - %75 = and i1 %cmp859.i161, %cmp960.i162 + %cmp960.i162 = icmp samesign ugt i64 %indvars.iv.i.i145, 1 + %75 = select i1 %cmp859.i161, i1 %cmp960.i162, i1 false br i1 %75, label %for.body.preheader.i175, label %for.end.i163 for.body.preheader.i175: ; preds = %for.cond.preheader.i157 @@ -59856,7 +59856,7 @@ for.cond.i.i.i: ; preds = %for.cond.i.i.i, %fo nk_utf_validate.exit.i.i: ; preds = %for.cond.i.i.i %22 = trunc nuw nsw i64 %indvars.iv.i.i.i to i32 - %cmp2.i.i = icmp ugt i64 %indvars.iv.i.i.i, 4 + %cmp2.i.i = icmp samesign ugt i64 %indvars.iv.i.i.i, 4 br i1 %cmp2.i.i, label %nk_str_insert_text_runes.exit, label %for.cond.preheader.i.i for.cond.preheader.i.i: ; preds = %nk_utf_validate.exit.i.i @@ -60085,7 +60085,7 @@ for.cond.i.i.i: ; preds = %for.cond.i.i.i, %fo nk_utf_validate.exit.i.i: ; preds = %for.cond.i.i.i %14 = trunc nuw nsw i64 %indvars.iv.i.i.i to i32 - %cmp2.i.i = icmp ugt i64 %indvars.iv.i.i.i, 4 + %cmp2.i.i = icmp samesign ugt i64 %indvars.iv.i.i.i, 4 br i1 %cmp2.i.i, label %nk_str_insert_text_runes.exit, label %for.cond.preheader.i.i for.cond.preheader.i.i: ; preds = %nk_utf_validate.exit.i.i @@ -61928,8 +61928,8 @@ for.cond.preheader.i: ; preds = %nk_utf_decode_byte. %and12.i.i = and i8 %95, %not.i.i %conv14.i.i = zext i8 %and12.i.i to i32 %cmp859.i = icmp sgt i32 %retval.0.i714, 1 - %cmp960.i = icmp ugt i64 %indvars.iv.i.i, 1 - %100 = and i1 %cmp859.i, %cmp960.i + %cmp960.i = icmp samesign ugt i64 %indvars.iv.i.i, 1 + %100 = select i1 %cmp859.i, i1 %cmp960.i, i1 false br i1 %100, label %for.body.preheader.i, label %for.end.i for.body.preheader.i: ; preds = %for.cond.preheader.i @@ -62180,8 +62180,8 @@ for.cond.preheader.i810: ; preds = %nk_utf_decode_byte. %and12.i.i812 = and i8 %118, %not.i.i811 %conv14.i.i813 = zext i8 %and12.i.i812 to i32 %cmp859.i814 = icmp sgt i32 %sub543, 1 - %cmp960.i815 = icmp ugt i64 %indvars.iv.i.i798, 1 - %123 = and i1 %cmp859.i814, %cmp960.i815 + %cmp960.i815 = icmp samesign ugt i64 %indvars.iv.i.i798, 1 + %123 = select i1 %cmp859.i814, i1 %cmp960.i815, i1 false br i1 %123, label %for.body.preheader.i828, label %for.end.i816 for.body.preheader.i828: ; preds = %for.cond.preheader.i810 @@ -62316,8 +62316,8 @@ for.cond.preheader.i880: ; preds = %nk_utf_decode_byte. %and12.i.i882 = and i8 %136, %not.i.i881 %conv14.i.i883 = zext i8 %and12.i.i882 to i32 %cmp859.i884 = icmp sgt i32 %sub558, 1 - %cmp960.i885 = icmp ugt i64 %indvars.iv.i.i868, 1 - %141 = and i1 %cmp859.i884, %cmp960.i885 + %cmp960.i885 = icmp samesign ugt i64 %indvars.iv.i.i868, 1 + %141 = select i1 %cmp859.i884, i1 %cmp960.i885, i1 false br i1 %141, label %for.body.preheader.i898, label %for.end.i886 for.body.preheader.i898: ; preds = %for.cond.preheader.i880 @@ -62969,7 +62969,7 @@ nk_utf_decode_byte.exit.i1146: ; preds = %for.body.i.i1134 br i1 %or.cond1.i1147, label %for.cond.preheader.i1148, label %if.else890 for.cond.preheader.i1148: ; preds = %nk_utf_decode_byte.exit.i1146 - %cmp960.i1152 = icmp ugt i64 %indvars.iv.i.i1136, 1 + %cmp960.i1152 = icmp samesign ugt i64 %indvars.iv.i.i1136, 1 br i1 %cmp960.i1152, label %for.body.preheader.i1165, label %if.end18.i1154 for.body.preheader.i1165: ; preds = %for.cond.preheader.i1148 @@ -72442,7 +72442,7 @@ for.body: ; preds = %for.body.preheader, tail call fastcc void @stbtt__csctx_rline_to(ptr noundef %c, float noundef %16, float noundef %17) %indvars.iv.next421 = add nuw nsw i64 %indvars.iv420, 2 %18 = or disjoint i64 %indvars.iv.next421, 1 - %cmp38 = icmp ult i64 %18, %14 + %cmp38 = icmp samesign ult i64 %18, %14 br i1 %cmp38, label %for.body, label %sw.epilog447, !llvm.loop !237 sw.bb46: ; preds = %stbtt__buf_get8.exit @@ -72660,7 +72660,7 @@ for.body214: ; preds = %for.body214.prehead tail call fastcc void @stbtt__csctx_rline_to(ptr noundef %c, float noundef %60, float noundef %61) %indvars.iv.next395 = add nuw nsw i64 %indvars.iv394, 2 %62 = or disjoint i64 %indvars.iv.next395, 1 - %cmp212 = icmp ult i64 %62, %58 + %cmp212 = icmp samesign ult i64 %62, %58 br i1 %cmp212, label %for.body214, label %for.end222, !llvm.loop !240 for.end222: ; preds = %for.body214 @@ -74595,7 +74595,7 @@ stbtt__cff_int.exit: ; preds = %stbtt__buf_get8.exi %arrayidx = getelementptr inbounds i32, ptr %out, i64 %indvars.iv store i32 %retval.0.i, ptr %arrayidx, align 4 %indvars.iv.next = add nuw nsw i64 %indvars.iv, 1 - %cmp = icmp ult i64 %indvars.iv.next, %16 + %cmp = icmp samesign ult i64 %indvars.iv.next, %16 %cmp1 = icmp slt i32 %operands.sroa.2.7, %sub.i %31 = select i1 %cmp, i1 %cmp1, i1 false br i1 %31, label %stbtt__buf_get8.exit.i6, label %for.end, !llvm.loop !247 @@ -75380,7 +75380,7 @@ if.then44: ; preds = %lor.lhs.false, %if. if.then62: ; preds = %if.then44 %12 = add nuw nsw i64 %indvars.iv, 1 - %cmp64 = icmp ult i64 %12, %2 + %cmp64 = icmp samesign ult i64 %12, %2 br i1 %cmp64, label %land.lhs.true66, label %if.else138 land.lhs.true66: ; preds = %if.then62 @@ -75508,7 +75508,7 @@ while.body: ; preds = %entry, %if.end165 %1 = load i8, ptr %arrayidx1, align 1 %conv2 = zext i8 %1 to i32 %add = or disjoint i32 %mul, %conv2 - %cmp = icmp ult i32 %add, 128 + %cmp = icmp samesign ult i32 %add, 128 br i1 %cmp, label %if.then, label %if.else if.then: ; preds = %while.body @@ -75730,8 +75730,8 @@ for.cond.preheader.i: ; preds = %nk_utf_decode_byte. %and12.i.i = and i8 %1, %not.i.i %conv14.i.i = zext i8 %and12.i.i to i32 %cmp859.i = icmp sgt i32 %len, 1 - %cmp960.i = icmp ugt i64 %indvars.iv.i.i, 1 - %6 = and i1 %cmp859.i, %cmp960.i + %cmp960.i = icmp samesign ugt i64 %indvars.iv.i.i, 1 + %6 = select i1 %cmp859.i, i1 %cmp960.i, i1 false br i1 %6, label %for.body.preheader.i, label %for.end.i for.body.preheader.i: ; preds = %for.cond.preheader.i @@ -75947,8 +75947,8 @@ for.cond.preheader.i43: ; preds = %nk_utf_decode_byte. %and12.i.i45 = and i8 %27, %not.i.i44 %conv14.i.i46 = zext i8 %and12.i.i45 to i32 %cmp859.i47 = icmp sgt i32 %sub, 1 - %cmp960.i48 = icmp ugt i64 %indvars.iv.i.i31, 1 - %32 = and i1 %cmp859.i47, %cmp960.i48 + %cmp960.i48 = icmp samesign ugt i64 %indvars.iv.i.i31, 1 + %32 = select i1 %cmp859.i47, i1 %cmp960.i48, i1 false br i1 %32, label %for.body.preheader.i61, label %for.end.i49 for.body.preheader.i61: ; preds = %for.cond.preheader.i43 @@ -79197,8 +79197,8 @@ for.cond.preheader.i: ; preds = %nk_utf_decode_byte. %and12.i.i = and i8 %0, %not.i.i %conv14.i.i = zext i8 %and12.i.i to i32 %cmp859.i = icmp sgt i32 %byte_len, 1 - %cmp960.i = icmp ugt i64 %indvars.iv.i.i, 1 - %5 = and i1 %cmp859.i, %cmp960.i + %cmp960.i = icmp samesign ugt i64 %indvars.iv.i.i, 1 + %5 = select i1 %cmp859.i, i1 %cmp960.i, i1 false br i1 %5, label %for.body.preheader.i, label %for.end.i for.body.preheader.i: ; preds = %for.cond.preheader.i @@ -79377,8 +79377,8 @@ for.cond.preheader.i87: ; preds = %nk_utf_decode_byte. %and12.i.i89 = and i8 %28, %not.i.i88 %conv14.i.i90 = zext i8 %and12.i.i89 to i32 %cmp859.i91 = icmp sgt i64 %26, 1 - %cmp960.i92 = icmp ugt i64 %indvars.iv.i.i75, 1 - %33 = and i1 %cmp859.i91, %cmp960.i92 + %cmp960.i92 = icmp samesign ugt i64 %indvars.iv.i.i75, 1 + %33 = select i1 %cmp859.i91, i1 %cmp960.i92, i1 false br i1 %33, label %for.body.preheader.i105, label %for.end.i93 for.body.preheader.i105: ; preds = %for.cond.preheader.i87 @@ -79517,8 +79517,8 @@ for.cond.preheader.i157: ; preds = %nk_utf_decode_byte. %and12.i.i159 = and i8 %47, %not.i.i158 %conv14.i.i160 = zext i8 %and12.i.i159 to i32 %cmp859.i161 = icmp sgt i32 %sub36, 1 - %cmp960.i162 = icmp ugt i64 %indvars.iv.i.i145, 1 - %52 = and i1 %cmp859.i161, %cmp960.i162 + %cmp960.i162 = icmp samesign ugt i64 %indvars.iv.i.i145, 1 + %52 = select i1 %cmp859.i161, i1 %cmp960.i162, i1 false br i1 %52, label %for.body.preheader.i175, label %for.end.i163 for.body.preheader.i175: ; preds = %for.cond.preheader.i157 @@ -79724,8 +79724,8 @@ for.cond.preheader.i: ; preds = %nk_utf_decode_byte. %and12.i.i = and i8 %1, %not.i.i %conv14.i.i = zext i8 %and12.i.i to i32 %cmp859.i = icmp sgt i32 %byte_len, 1 - %cmp960.i = icmp ugt i64 %indvars.iv.i.i, 1 - %6 = and i1 %cmp859.i, %cmp960.i + %cmp960.i = icmp samesign ugt i64 %indvars.iv.i.i, 1 + %6 = select i1 %cmp859.i, i1 %cmp960.i, i1 false br i1 %6, label %for.body.preheader.i, label %for.end.i for.body.preheader.i: ; preds = %for.cond.preheader.i @@ -79962,8 +79962,8 @@ for.cond.preheader.i127: ; preds = %nk_utf_decode_byte. %and12.i.i129 = and i8 %31, %not.i.i128 %conv14.i.i130 = zext i8 %and12.i.i129 to i32 %cmp859.i131 = icmp sgt i32 %sub36, 1 - %cmp960.i132 = icmp ugt i64 %indvars.iv.i.i115, 1 - %36 = and i1 %cmp859.i131, %cmp960.i132 + %cmp960.i132 = icmp samesign ugt i64 %indvars.iv.i.i115, 1 + %36 = select i1 %cmp859.i131, i1 %cmp960.i132, i1 false br i1 %36, label %for.body.preheader.i145, label %for.end.i133 for.body.preheader.i145: ; preds = %for.cond.preheader.i127 @@ -80094,8 +80094,8 @@ for.cond.preheader.i197: ; preds = %nk_utf_decode_byte. %and12.i.i199 = and i8 %49, %not.i.i198 %conv14.i.i200 = zext i8 %and12.i.i199 to i32 %cmp859.i201 = icmp sgt i64 %47, 1 - %cmp960.i202 = icmp ugt i64 %indvars.iv.i.i185, 1 - %54 = and i1 %cmp859.i201, %cmp960.i202 + %cmp960.i202 = icmp samesign ugt i64 %indvars.iv.i.i185, 1 + %54 = select i1 %cmp859.i201, i1 %cmp960.i202, i1 false br i1 %54, label %for.body.preheader.i215, label %for.end.i203 for.body.preheader.i215: ; preds = %for.cond.preheader.i197 @@ -80238,8 +80238,8 @@ for.cond.preheader.i267: ; preds = %nk_utf_decode_byte. %and12.i.i269 = and i8 %70, %not.i.i268 %conv14.i.i270 = zext i8 %and12.i.i269 to i32 %cmp859.i271 = icmp sgt i32 %sub55, 1 - %cmp960.i272 = icmp ugt i64 %indvars.iv.i.i255, 1 - %75 = and i1 %cmp859.i271, %cmp960.i272 + %cmp960.i272 = icmp samesign ugt i64 %indvars.iv.i.i255, 1 + %75 = select i1 %cmp859.i271, i1 %cmp960.i272, i1 false br i1 %75, label %for.body.preheader.i285, label %for.end.i273 for.body.preheader.i285: ; preds = %for.cond.preheader.i267 @@ -80967,8 +80967,8 @@ for.cond.preheader.i: ; preds = %nk_utf_decode_byte. %and12.i.i = and i8 %16, %not.i.i %conv14.i.i = zext i8 %and12.i.i to i32 %cmp859.i = icmp sgt i32 %sub.i.i43, 1 - %cmp960.i = icmp ugt i64 %indvars.iv.i.i, 1 - %21 = and i1 %cmp859.i, %cmp960.i + %cmp960.i = icmp samesign ugt i64 %indvars.iv.i.i, 1 + %21 = select i1 %cmp859.i, i1 %cmp960.i, i1 false br i1 %21, label %for.body.preheader.i, label %for.end.i for.body.preheader.i: ; preds = %for.cond.preheader.i diff --git a/bench/ockam-rs/optimized/1145kugil9dl94a2.ll b/bench/ockam-rs/optimized/1145kugil9dl94a2.ll index d873e0fde1d..5a20f65032d 100644 --- a/bench/ockam-rs/optimized/1145kugil9dl94a2.ll +++ b/bench/ockam-rs/optimized/1145kugil9dl94a2.ll @@ -31729,7 +31729,7 @@ define hidden noundef ptr @_ZN10serde_json3ser9Formatter9write_u3217hfc08b6d7c7e 32: ; preds = %23, %._crit_edge.i %.129.i = phi i64 [ %28, %23 ], [ %.028.lcssa.i, %._crit_edge.i ] %.027.i = phi i64 [ %.zext37.i, %23 ], [ %6, %._crit_edge.i ] - %33 = icmp ult i64 %.027.i, 10 + %33 = icmp samesign ult i64 %.027.i, 10 br i1 %33, label %40, label %34 34: ; preds = %32 @@ -64997,7 +64997,7 @@ define hidden { ptr, i64 } @"_ZN4itoa55_$LT$impl$u20$itoa..private..Sealed$u20$f 30: ; preds = %._crit_edge, %21 %.129 = phi i64 [ %26, %21 ], [ %.028.lcssa, %._crit_edge ] %.027 = phi i64 [ %.zext37, %21 ], [ %4, %._crit_edge ] - %31 = icmp ult i64 %.027, 10 + %31 = icmp samesign ult i64 %.027, 10 br i1 %31, label %38, label %32 32: ; preds = %30 @@ -65741,7 +65741,7 @@ define hidden void @_ZN4time10formatting22format_number_pad_zero17h3f5e822571814 36: ; preds = %27, %._crit_edge.i %.129.i = phi i64 [ %32, %27 ], [ %.028.lcssa.i, %._crit_edge.i ] %.027.i = phi i64 [ %.zext37.i, %27 ], [ %10, %._crit_edge.i ] - %37 = icmp ult i64 %.027.i, 10 + %37 = icmp samesign ult i64 %.027.i, 10 br i1 %37, label %44, label %38 38: ; preds = %36 @@ -65889,7 +65889,7 @@ define hidden void @_ZN4time10formatting22format_number_pad_zero17h6810cb30b0853 36: ; preds = %27, %._crit_edge.i %.129.i = phi i64 [ %32, %27 ], [ %.028.lcssa.i, %._crit_edge.i ] %.027.i = phi i64 [ %.zext37.i, %27 ], [ %10, %._crit_edge.i ] - %37 = icmp ult i64 %.027.i, 10 + %37 = icmp samesign ult i64 %.027.i, 10 br i1 %37, label %44, label %38 38: ; preds = %36 @@ -79072,7 +79072,7 @@ define hidden noundef align 8 ptr @"_ZN5serde3ser5impls55_$LT$impl$u20$serde..se 32: ; preds = %23, %._crit_edge.i.i.i %.129.i.i.i = phi i64 [ %28, %23 ], [ %.028.lcssa.i.i.i, %._crit_edge.i.i.i ] %.027.i.i.i = phi i64 [ %.zext37.i.i.i, %23 ], [ %6, %._crit_edge.i.i.i ] - %33 = icmp ult i64 %.027.i.i.i, 10 + %33 = icmp samesign ult i64 %.027.i.i.i, 10 br i1 %33, label %40, label %34 34: ; preds = %32 @@ -89496,7 +89496,7 @@ define hidden noundef align 8 ptr @"_ZN83_$LT$serde_json..ser..Compound$LT$W$C$F 41: ; preds = %32, %._crit_edge.i.i.i.i %.129.i.i.i.i = phi i64 [ %37, %32 ], [ %.028.lcssa.i.i.i.i, %._crit_edge.i.i.i.i ] %.027.i.i.i.i = phi i64 [ %.zext37.i.i.i.i, %32 ], [ %15, %._crit_edge.i.i.i.i ] - %42 = icmp ult i64 %.027.i.i.i.i, 10 + %42 = icmp samesign ult i64 %.027.i.i.i.i, 10 br i1 %42, label %49, label %43 43: ; preds = %41 @@ -94670,7 +94670,7 @@ define hidden noundef align 8 ptr @"_ZN95_$LT$$RF$mut$u20$serde_json..ser..Seria 31: ; preds = %22, %._crit_edge.i.i %.129.i.i = phi i64 [ %27, %22 ], [ %.028.lcssa.i.i, %._crit_edge.i.i ] %.027.i.i = phi i64 [ %.zext37.i.i, %22 ], [ %5, %._crit_edge.i.i ] - %32 = icmp ult i64 %.027.i.i, 10 + %32 = icmp samesign ult i64 %.027.i.i, 10 br i1 %32, label %39, label %33 33: ; preds = %31 diff --git a/bench/openjdk/optimized/classFileParser.ll b/bench/openjdk/optimized/classFileParser.ll index 228c0c763d7..7498fa0c268 100644 --- a/bench/openjdk/optimized/classFileParser.ll +++ b/bench/openjdk/optimized/classFileParser.ll @@ -4369,8 +4369,8 @@ define internal fastcc void @_ZL17parse_annotationsPK12ConstantPoolPKhiP19Annota %gep = getelementptr i8, ptr %invariant.gep, i64 %23 %.0.i.i.i.i = load i16, ptr %gep, align 1 %24 = icmp ne i16 %.0.i.i.i.i, 0 - %25 = icmp ult i32 %22, %2 - %26 = and i1 %25, %24 + %25 = icmp samesign ult i32 %22, %2 + %26 = select i1 %24, i1 %25, i1 false br i1 %26, label %.lr.ph.preheader.i, label %_ZL15skip_annotationPKhii.exit .lr.ph.preheader.i: ; preds = %21 @@ -4389,8 +4389,8 @@ define internal fastcc void @_ZL17parse_annotationsPK12ConstantPoolPKhiP19Annota %31 = add nuw nsw i32 %.01723.i, 2 %32 = tail call fastcc noundef i32 @_ZL21skip_annotation_valuePKhii(ptr noundef nonnull %1, i32 noundef %2, i32 noundef %31) %33 = icmp sgt i32 %.in.i, 1 - %34 = icmp ult i32 %32, %2 - %35 = and i1 %33, %34 + %34 = icmp samesign ult i32 %32, %2 + %35 = select i1 %33, i1 %34, i1 false br i1 %35, label %.lr.ph.i, label %_ZL15skip_annotationPKhii.exit, !llvm.loop !19 _ZL15skip_annotationPKhii.exit: ; preds = %.lr.ph.i, %29, %._ZL15skip_annotationPKhii.exit_crit_edge, %21 @@ -6169,7 +6169,7 @@ _ZNK15ClassFileParser18guarantee_propertyEbPKciS1_P10JavaThread.exit84.thread: ; %64 = add nuw nsw i32 %.07397, 1 %65 = load i16, ptr %5, align 2 %66 = zext i16 %65 to i32 - %67 = icmp ult i32 %64, %66 + %67 = icmp samesign ult i32 %64, %66 br i1 %67, label %68, label %_ZNK15ClassFileParser28verify_legal_field_signatureEPK6SymbolS2_P10JavaThread.exit.thread, !llvm.loop !30 68: ; preds = %.lr.ph, %_ZNK15ClassFileParser18guarantee_propertyEbPKciS1_P10JavaThread.exit84.thread @@ -6328,7 +6328,7 @@ _ZNK15ClassFileParser28verify_legal_field_signatureEPK6SymbolS2_P10JavaThread.ex %.0 = phi i32 [ 0, %123 ], [ %spec.select, %_ZNK15ClassFileParser28verify_legal_field_signatureEPK6SymbolS2_P10JavaThread.exit.thread117 ] %146 = zext i16 %77 to i32 %147 = add nuw nsw i32 %.0, %146 - %148 = icmp ult i32 %147, %63 + %148 = icmp samesign ult i32 %147, %63 br i1 %148, label %_ZNK15ClassFileParser18guarantee_propertyEbPKciS1_P10JavaThread.exit84.thread, label %_ZNK15ClassFileParser18guarantee_propertyEbPKciS1_P10JavaThread.exit84 _ZNK15ClassFileParser18guarantee_propertyEbPKciS1_P10JavaThread.exit84: ; preds = %145 @@ -7223,7 +7223,7 @@ _ZN21ResourceHashtableBaseI29FixedResourceHashtableStorageILj256E25LocalVariable %98 = getelementptr inbounds i8, ptr %.170, i64 12 %99 = load i16, ptr %31, align 2 %100 = zext i16 %99 to i64 - %101 = icmp ult i64 %indvars.iv.next, %100 + %101 = icmp samesign ult i64 %indvars.iv.next, %100 br i1 %101, label %.lr.ph, label %._crit_edge, !llvm.loop !37 ._crit_edge: ; preds = %97, %28 @@ -7339,7 +7339,7 @@ _ZN8LVT_Hash6equalsERK25LocalVariableTableElementS2_.exit.thread.i.i.i: ; preds %164 = phi i16 [ %.pre, %162 ], [ %107, %.loopexit ] %indvars.iv.next97 = add nuw nsw i64 %indvars.iv96, 1 %165 = zext i16 %164 to i64 - %166 = icmp ult i64 %indvars.iv.next97, %165 + %166 = icmp samesign ult i64 %indvars.iv.next97, %165 br i1 %166, label %.lr.ph79, label %._crit_edge80, !llvm.loop !39 ._crit_edge80: ; preds = %163, %102 @@ -15114,7 +15114,7 @@ define internal fastcc noundef ptr @_ZL20skip_over_field_namePKcbj(ptr noundef % %.fr71 = freeze i8 %22 %23 = sext i8 %.fr71 to i32 %24 = and i32 %23, 65535 - %25 = icmp ult i32 %24, 128 + %25 = icmp samesign ult i32 %24, 128 br i1 %25, label %26, label %36 26: ; preds = %19 @@ -15131,9 +15131,10 @@ switch.early.test: ; preds = %26 ] 30: ; preds = %switch.early.test - %31 = add nsw i32 %24, -48 - %32 = icmp ult i32 %31, 10 - %or.cond17 = and i1 %20, %32 + %31 = icmp samesign ugt i32 %24, 47 + %or.cond14 = select i1 %20, i1 %31, i1 false + %32 = icmp samesign ult i32 %24, 58 + %or.cond17 = select i1 %or.cond14, i1 %32, i1 false br i1 %or.cond17, label %48, label %33 33: ; preds = %30 @@ -19263,8 +19264,8 @@ define internal fastcc noundef range(i32 4, -2147483648) i32 @_ZL21skip_annotati %22 = getelementptr inbounds i8, ptr %21, i64 -2 %.0.i.i.i = load i16, ptr %22, align 1 %23 = icmp ne i16 %.0.i.i.i, 0 - %24 = icmp ult i32 %19, %1 - %25 = and i1 %24, %23 + %24 = icmp samesign ult i32 %19, %1 + %25 = select i1 %23, i1 %24, i1 false br i1 %25, label %.lr.ph49.preheader, label %_ZL15skip_annotationPKhii.exit .lr.ph49.preheader: ; preds = %18 @@ -19278,8 +19279,8 @@ define internal fastcc noundef range(i32 4, -2147483648) i32 @_ZL21skip_annotati %28 = add nsw i32 %.048, -1 %29 = tail call fastcc noundef i32 @_ZL21skip_annotation_valuePKhii(ptr noundef %0, i32 noundef %1, i32 noundef %.147) %30 = icmp ugt i32 %.048, 1 - %31 = icmp ult i32 %29, %1 - %32 = and i1 %31, %30 + %31 = icmp samesign ult i32 %29, %1 + %32 = select i1 %30, i1 %31, i1 false br i1 %32, label %.lr.ph49, label %_ZL15skip_annotationPKhii.exit, !llvm.loop !84 33: ; preds = %5 @@ -19295,8 +19296,8 @@ define internal fastcc noundef range(i32 4, -2147483648) i32 @_ZL21skip_annotati %.0.i.i.i.i = load i16, ptr %39, align 1 %40 = add nsw i32 %1, -2 %41 = icmp ne i16 %.0.i.i.i.i, 0 - %42 = icmp ult i32 %36, %1 - %43 = and i1 %42, %41 + %42 = icmp samesign ult i32 %36, %1 + %43 = select i1 %41, i1 %42, i1 false br i1 %43, label %.lr.ph.preheader, label %_ZL15skip_annotationPKhii.exit .lr.ph.preheader: ; preds = %35 @@ -19315,8 +19316,8 @@ define internal fastcc noundef range(i32 4, -2147483648) i32 @_ZL21skip_annotati %48 = add nuw nsw i32 %.017.i44, 2 %49 = tail call fastcc noundef i32 @_ZL21skip_annotation_valuePKhii(ptr noundef %0, i32 noundef %1, i32 noundef %48) %50 = icmp sgt i32 %.in, 1 - %51 = icmp ult i32 %49, %1 - %52 = and i1 %51, %50 + %51 = icmp samesign ult i32 %49, %1 + %52 = select i1 %50, i1 %51, i1 false br i1 %52, label %.lr.ph, label %_ZL15skip_annotationPKhii.exit, !llvm.loop !19 _ZL15skip_annotationPKhii.exit: ; preds = %46, %.lr.ph, %.lr.ph49, %35, %18, %33, %13, %10, %5, %16, %3 diff --git a/bench/openmpi/optimized/rmaps_base_map_job.ll b/bench/openmpi/optimized/rmaps_base_map_job.ll index 1f2edbb2f99..cf4a9770312 100644 --- a/bench/openmpi/optimized/rmaps_base_map_job.ll +++ b/bench/openmpi/optimized/rmaps_base_map_job.ll @@ -3370,7 +3370,7 @@ define internal fastcc i32 @map_colocate(ptr noundef %0, i1 noundef zeroext %1, %25 = load ptr, ptr %24, align 8 %26 = getelementptr inbounds i8, ptr %3, i64 8 %27 = load i64, ptr %26, align 8 - %.fr360 = freeze i64 %27 + %.fr361 = freeze i64 %27 %28 = getelementptr inbounds i8, ptr %0, i64 472 %29 = load ptr, ptr %28, align 8 br i1 %1, label %30, label %39 @@ -3422,8 +3422,8 @@ define internal fastcc i32 @map_colocate(ptr noundef %0, i1 noundef zeroext %1, br i1 %.not.i, label %pmix_obj_run_constructors.exit, label %.lr.ph.i, !llvm.loop !4 pmix_obj_run_constructors.exit: ; preds = %.lr.ph.i, %44 - %.not359 = icmp eq i64 %.fr360, 0 - br i1 %.not359, label %._crit_edge, label %.lr.ph + %.not360 = icmp eq i64 %.fr361, 0 + br i1 %.not360, label %._crit_edge, label %.lr.ph .lr.ph: ; preds = %pmix_obj_run_constructors.exit %53 = getelementptr inbounds i8, ptr %8, i64 120 @@ -3581,38 +3581,38 @@ pmix_pointer_array_get_item.exit: ; preds = %65, %100 .loopexit309: ; preds = %100, %65, %117, %127 %138 = add nuw i64 %.0225321, 1 - %exitcond.not = icmp eq i64 %138, %.fr360 + %exitcond.not = icmp eq i64 %138, %.fr361 br i1 %exitcond.not, label %._crit_edge, label %56, !llvm.loop !19 ._crit_edge: ; preds = %.loopexit309, %pmix_obj_run_constructors.exit %139 = getelementptr inbounds i8, ptr %8, i64 120 %140 = getelementptr inbounds i8, ptr %8, i64 240 %141 = load ptr, ptr %140, align 8 - %.not255350 = icmp eq ptr %141, %139 + %.not255351 = icmp eq ptr %141, %139 br i1 %2, label %142, label %266 142: ; preds = %._crit_edge - br i1 %.not255350, label %._crit_edge355, label %.lr.ph354 + br i1 %.not255351, label %._crit_edge356, label %.lr.ph355 -.lr.ph354: ; preds = %142 +.lr.ph355: ; preds = %142 %143 = getelementptr inbounds i8, ptr %29, i64 160 %144 = getelementptr inbounds i8, ptr %29, i64 152 %145 = getelementptr inbounds i8, ptr %0, i64 440 %146 = getelementptr inbounds i8, ptr %29, i64 136 %147 = getelementptr inbounds i8, ptr %0, i64 780 %148 = zext i16 %4 to i32 - %.not362 = icmp eq i16 %4, 0 + %.not363 = icmp eq i16 %4, 0 br label %149 .loopexit303: ; preds = %..loopexit_crit_edge.us, %.loopexit, %pmix_pointer_array_get_item.exit267.lr.ph.split, %154 - %.not255 = icmp eq ptr %.0352, %139 - br i1 %.not255, label %._crit_edge355, label %149, !llvm.loop !20 - -149: ; preds = %.lr.ph354, %.loopexit303 - %.0215351 = phi ptr [ %141, %.lr.ph354 ], [ %.0352, %.loopexit303 ] - %.0352.in = getelementptr inbounds i8, ptr %.0215351, i64 120 - %.0352 = load ptr, ptr %.0352.in, align 8 - %150 = call i32 @pthread_mutex_lock(ptr noundef nonnull %.0215351) #14 + %.not255 = icmp eq ptr %.0353, %139 + br i1 %.not255, label %._crit_edge356, label %149, !llvm.loop !20 + +149: ; preds = %.lr.ph355, %.loopexit303 + %.0215352 = phi ptr [ %141, %.lr.ph355 ], [ %.0353, %.loopexit303 ] + %.0353.in = getelementptr inbounds i8, ptr %.0215352, i64 120 + %.0353 = load ptr, ptr %.0353.in, align 8 + %150 = call i32 @pthread_mutex_lock(ptr noundef nonnull %.0215352) #14 %151 = icmp eq i32 %150, 35 br i1 %151, label %152, label %154 @@ -3624,13 +3624,13 @@ pmix_pointer_array_get_item.exit: ; preds = %65, %100 unreachable 154: ; preds = %149 - %155 = getelementptr inbounds i8, ptr %.0215351, i64 48 + %155 = getelementptr inbounds i8, ptr %.0215352, i64 48 %156 = load i32, ptr %155, align 8 %157 = add nsw i32 %156, 1 store i32 %157, ptr %155, align 8 - %158 = call i32 @pthread_mutex_unlock(ptr noundef nonnull %.0215351) #14 + %158 = call i32 @pthread_mutex_unlock(ptr noundef nonnull %.0215352) #14 %159 = load ptr, ptr %143, align 8 - %160 = call i32 @pmix_pointer_array_add(ptr noundef %159, ptr noundef nonnull %.0215351) #14 + %160 = call i32 @pmix_pointer_array_add(ptr noundef %159, ptr noundef nonnull %.0215352) #14 %161 = load i32, ptr %144, align 8 %162 = add nsw i32 %161, 1 store i32 %162, ptr %144, align 8 @@ -3641,15 +3641,15 @@ pmix_pointer_array_get_item.exit: ; preds = %65, %100 br i1 %166, label %pmix_pointer_array_get_item.exit267.lr.ph, label %.loopexit303 pmix_pointer_array_get_item.exit267.lr.ph: ; preds = %154 - %167 = getelementptr inbounds i8, ptr %.0215351, i64 248 - br i1 %.not362, label %pmix_pointer_array_get_item.exit267.lr.ph.split, label %pmix_pointer_array_get_item.exit267.us + %167 = getelementptr inbounds i8, ptr %.0215352, i64 248 + br i1 %.not363, label %pmix_pointer_array_get_item.exit267.lr.ph.split, label %pmix_pointer_array_get_item.exit267.us pmix_pointer_array_get_item.exit267.us: ; preds = %pmix_pointer_array_get_item.exit267.lr.ph, %..loopexit_crit_edge.us %168 = phi ptr [ %220, %..loopexit_crit_edge.us ], [ %163, %pmix_pointer_array_get_item.exit267.lr.ph ] - %indvars.iv393 = phi i64 [ %indvars.iv.next394, %..loopexit_crit_edge.us ], [ 0, %pmix_pointer_array_get_item.exit267.lr.ph ] + %indvars.iv394 = phi i64 [ %indvars.iv.next395, %..loopexit_crit_edge.us ], [ 0, %pmix_pointer_array_get_item.exit267.lr.ph ] %169 = getelementptr inbounds i8, ptr %168, i64 152 %170 = load ptr, ptr %169, align 8 - %171 = getelementptr inbounds ptr, ptr %170, i64 %indvars.iv393 + %171 = getelementptr inbounds ptr, ptr %170, i64 %indvars.iv394 %172 = load ptr, ptr %171, align 8 %173 = icmp eq ptr %172, null br i1 %173, label %..loopexit_crit_edge.us, label %174 @@ -3658,7 +3658,7 @@ pmix_pointer_array_get_item.exit267.us: ; preds = %pmix_pointer_array_ br i1 %1, label %.lr.ph340.us, label %175 175: ; preds = %174 - %176 = call zeroext i1 @prte_rmaps_base_check_avail(ptr noundef nonnull %0, ptr noundef nonnull %172, ptr noundef %.0215351, ptr noundef nonnull %8, ptr noundef null, ptr noundef nonnull %5) #14 + %176 = call zeroext i1 @prte_rmaps_base_check_avail(ptr noundef nonnull %0, ptr noundef nonnull %172, ptr noundef %.0215352, ptr noundef nonnull %8, ptr noundef null, ptr noundef nonnull %5) #14 br i1 %176, label %.lr.ph340.us, label %177 177: ; preds = %175 @@ -3684,7 +3684,7 @@ pmix_pointer_array_get_item.exit267.us: ; preds = %pmix_pointer_array_ 187: ; preds = %.lr.ph340.us, %218 %.0220338.us = phi i32 [ 0, %.lr.ph340.us ], [ %219, %218 ] %188 = load i32, ptr %185, align 8 - %189 = call ptr @prte_rmaps_base_setup_proc(ptr noundef %0, i32 noundef %188, ptr noundef %.0215351, ptr noundef null, ptr noundef nonnull %5) #14 + %189 = call ptr @prte_rmaps_base_setup_proc(ptr noundef %0, i32 noundef %188, ptr noundef %.0215352, ptr noundef null, ptr noundef nonnull %5) #14 %190 = icmp eq ptr %189, null br i1 %190, label %.loopexit302, label %191 @@ -3743,37 +3743,37 @@ pmix_obj_run_destructors.exit.us: ; preds = %.lr.ph.i269.us, %20 218: ; preds = %217, %215, %198 %219 = add nuw nsw i32 %.0220338.us, 1 - %exitcond392.not = icmp eq i32 %219, %148 - br i1 %exitcond392.not, label %..loopexit_crit_edge.us.loopexit, label %187, !llvm.loop !21 + %exitcond393.not = icmp eq i32 %219, %148 + br i1 %exitcond393.not, label %..loopexit_crit_edge.us.loopexit, label %187, !llvm.loop !21 ..loopexit_crit_edge.us.loopexit: ; preds = %218 - %.pre402 = load ptr, ptr %145, align 8 + %.pre403 = load ptr, ptr %145, align 8 br label %..loopexit_crit_edge.us ..loopexit_crit_edge.us: ; preds = %..loopexit_crit_edge.us.loopexit, %pmix_pointer_array_get_item.exit267.us - %220 = phi ptr [ %.pre402, %..loopexit_crit_edge.us.loopexit ], [ %168, %pmix_pointer_array_get_item.exit267.us ] - %indvars.iv.next394 = add nuw nsw i64 %indvars.iv393, 1 + %220 = phi ptr [ %.pre403, %..loopexit_crit_edge.us.loopexit ], [ %168, %pmix_pointer_array_get_item.exit267.us ] + %indvars.iv.next395 = add nuw nsw i64 %indvars.iv394, 1 %221 = getelementptr inbounds i8, ptr %220, i64 128 %222 = load i32, ptr %221, align 8 %223 = sext i32 %222 to i64 - %224 = icmp slt i64 %indvars.iv.next394, %223 + %224 = icmp slt i64 %indvars.iv.next395, %223 br i1 %224, label %pmix_pointer_array_get_item.exit267.us, label %.loopexit303, !llvm.loop !22 pmix_pointer_array_get_item.exit267.lr.ph.split: ; preds = %pmix_pointer_array_get_item.exit267.lr.ph br i1 %1, label %.loopexit303, label %pmix_pointer_array_get_item.exit267 pmix_pointer_array_get_item.exit267: ; preds = %pmix_pointer_array_get_item.exit267.lr.ph.split, %.loopexit - %indvars.iv396 = phi i64 [ %indvars.iv.next397, %.loopexit ], [ 0, %pmix_pointer_array_get_item.exit267.lr.ph.split ] + %indvars.iv397 = phi i64 [ %indvars.iv.next398, %.loopexit ], [ 0, %pmix_pointer_array_get_item.exit267.lr.ph.split ] %225 = phi ptr [ %260, %.loopexit ], [ %163, %pmix_pointer_array_get_item.exit267.lr.ph.split ] %226 = getelementptr inbounds i8, ptr %225, i64 152 %227 = load ptr, ptr %226, align 8 - %228 = getelementptr inbounds ptr, ptr %227, i64 %indvars.iv396 + %228 = getelementptr inbounds ptr, ptr %227, i64 %indvars.iv397 %229 = load ptr, ptr %228, align 8 %230 = icmp eq ptr %229, null br i1 %230, label %.loopexit, label %231 231: ; preds = %pmix_pointer_array_get_item.exit267 - %232 = call zeroext i1 @prte_rmaps_base_check_avail(ptr noundef nonnull %0, ptr noundef nonnull %229, ptr noundef %.0215351, ptr noundef nonnull %8, ptr noundef null, ptr noundef nonnull %5) #14 + %232 = call zeroext i1 @prte_rmaps_base_check_avail(ptr noundef nonnull %0, ptr noundef nonnull %229, ptr noundef %.0215352, ptr noundef nonnull %8, ptr noundef null, ptr noundef nonnull %5) #14 br i1 %232, label %.loopexit, label %233 233: ; preds = %231 @@ -3832,21 +3832,21 @@ pmix_pointer_array_get_item.exit267: ; preds = %pmix_pointer_array_ unreachable .loopexit: ; preds = %231, %254, %pmix_pointer_array_get_item.exit267 - %indvars.iv.next397 = add nuw nsw i64 %indvars.iv396, 1 + %indvars.iv.next398 = add nuw nsw i64 %indvars.iv397, 1 %260 = load ptr, ptr %145, align 8 %261 = getelementptr inbounds i8, ptr %260, i64 128 %262 = load i32, ptr %261, align 8 %263 = sext i32 %262 to i64 - %264 = icmp slt i64 %indvars.iv.next397, %263 + %264 = icmp slt i64 %indvars.iv.next398, %263 br i1 %264, label %pmix_pointer_array_get_item.exit267, label %.loopexit303, !llvm.loop !22 -._crit_edge355: ; preds = %.loopexit303, %142 +._crit_edge356: ; preds = %.loopexit303, %142 %265 = call i32 @prte_rmaps_base_compute_vpids(ptr noundef %0, ptr noundef nonnull %5) #14 %.not256 = icmp eq i32 %265, 0 br i1 %.not256, label %.loopexit302, label %pmix_obj_run_destructors.exit299 266: ; preds = %._crit_edge - br i1 %.not255350, label %._crit_edge337, label %.preheader308.lr.ph + br i1 %.not255351, label %._crit_edge337, label %.preheader308.lr.ph .preheader308.lr.ph: ; preds = %266 %267 = getelementptr inbounds i8, ptr %29, i64 160 @@ -3866,24 +3866,24 @@ pmix_pointer_array_get_item.exit267: ; preds = %pmix_pointer_array_ %275 = getelementptr inbounds i8, ptr %274, i64 128 %276 = load i32, ptr %275, align 8 %277 = icmp slt i32 %276, 1 - %brmerge = or i1 %277, %.not359 + %brmerge = or i1 %277, %.not360 br i1 %brmerge, label %.loopexit307, label %pmix_pointer_array_get_item.exit275.us pmix_pointer_array_get_item.exit275.us: ; preds = %.preheader308, %..loopexit306_crit_edge.us - %indvars.iv385 = phi i64 [ %indvars.iv.next386, %..loopexit306_crit_edge.us ], [ 0, %.preheader308 ] + %indvars.iv386 = phi i64 [ %indvars.iv.next387, %..loopexit306_crit_edge.us ], [ 0, %.preheader308 ] %278 = phi ptr [ %291, %..loopexit306_crit_edge.us ], [ %274, %.preheader308 ] %.0217325.us = phi i32 [ %.1218.us, %..loopexit306_crit_edge.us ], [ 0, %.preheader308 ] %279 = getelementptr inbounds i8, ptr %278, i64 152 %280 = load ptr, ptr %279, align 8 - %281 = getelementptr inbounds ptr, ptr %280, i64 %indvars.iv385 + %281 = getelementptr inbounds ptr, ptr %280, i64 %indvars.iv386 %282 = load ptr, ptr %281, align 8 %283 = icmp eq ptr %282, null br i1 %283, label %..loopexit306_crit_edge.us, label %.preheader305.us 284: ; preds = %286 %285 = add nuw i64 %.1226322.us, 1 - %exitcond384.not = icmp eq i64 %285, %.fr360 - br i1 %exitcond384.not, label %..loopexit306_crit_edge.us, label %286, !llvm.loop !23 + %exitcond385.not = icmp eq i64 %285, %.fr361 + br i1 %exitcond385.not, label %..loopexit306_crit_edge.us, label %286, !llvm.loop !23 286: ; preds = %.preheader305.us, %284 %.1226322.us = phi i64 [ 0, %.preheader305.us ], [ %285, %284 ] @@ -3897,12 +3897,12 @@ pmix_pointer_array_get_item.exit275.us: ; preds = %.preheader308, %..l ..loopexit306_crit_edge.us: ; preds = %284, %289, %pmix_pointer_array_get_item.exit275.us %.1218.us = phi i32 [ %.0217325.us, %pmix_pointer_array_get_item.exit275.us ], [ %290, %289 ], [ %.0217325.us, %284 ] - %indvars.iv.next386 = add nuw nsw i64 %indvars.iv385, 1 + %indvars.iv.next387 = add nuw nsw i64 %indvars.iv386, 1 %291 = load ptr, ptr %273, align 8 %292 = getelementptr inbounds i8, ptr %291, i64 128 %293 = load i32, ptr %292, align 8 %294 = sext i32 %293 to i64 - %295 = icmp slt i64 %indvars.iv.next386, %294 + %295 = icmp slt i64 %indvars.iv.next387, %294 br i1 %295, label %pmix_pointer_array_get_item.exit275.us, label %._crit_edge326, !llvm.loop !24 .preheader305.us: ; preds = %pmix_pointer_array_get_item.exit275.us @@ -3949,11 +3949,11 @@ pmix_pointer_array_get_item.exit278.lr.ph: ; preds = %303 br label %pmix_pointer_array_get_item.exit278 pmix_pointer_array_get_item.exit278: ; preds = %pmix_pointer_array_get_item.exit278.lr.ph, %._crit_edge330 - %indvars.iv389 = phi i64 [ 0, %pmix_pointer_array_get_item.exit278.lr.ph ], [ %indvars.iv.next390, %._crit_edge330 ] + %indvars.iv390 = phi i64 [ 0, %pmix_pointer_array_get_item.exit278.lr.ph ], [ %indvars.iv.next391, %._crit_edge330 ] %319 = phi ptr [ %313, %pmix_pointer_array_get_item.exit278.lr.ph ], [ %390, %._crit_edge330 ] %320 = getelementptr inbounds i8, ptr %319, i64 152 %321 = load ptr, ptr %320, align 8 - %322 = getelementptr inbounds ptr, ptr %321, i64 %indvars.iv389 + %322 = getelementptr inbounds ptr, ptr %321, i64 %indvars.iv390 %323 = load ptr, ptr %322, align 8 br i1 %1, label %353, label %324 @@ -4013,7 +4013,7 @@ pmix_pointer_array_get_item.exit278: ; preds = %pmix_pointer_array_ .lr.ph329: ; preds = %353 %354 = getelementptr inbounds i8, ptr %323, i64 144 - %355 = trunc nuw nsw i64 %indvars.iv389 to i32 + %355 = trunc nuw nsw i64 %indvars.iv390 to i32 br label %356 356: ; preds = %.lr.ph329, %388 @@ -4084,16 +4084,16 @@ pmix_obj_run_destructors.exit283: ; preds = %.lr.ph.i280, %374 388: ; preds = %385, %387, %368 %389 = add nuw nsw i32 %.1221327, 1 - %exitcond388.not = icmp eq i32 %389, %312 - br i1 %exitcond388.not, label %._crit_edge330, label %356, !llvm.loop !25 + %exitcond389.not = icmp eq i32 %389, %312 + br i1 %exitcond389.not, label %._crit_edge330, label %356, !llvm.loop !25 ._crit_edge330: ; preds = %388, %353 - %indvars.iv.next390 = add nuw nsw i64 %indvars.iv389, 1 + %indvars.iv.next391 = add nuw nsw i64 %indvars.iv390, 1 %390 = load ptr, ptr %270, align 8 %391 = getelementptr inbounds i8, ptr %390, i64 128 %392 = load i32, ptr %391, align 8 %393 = sext i32 %392 to i64 - %394 = icmp slt i64 %indvars.iv.next390, %393 + %394 = icmp slt i64 %indvars.iv.next391, %393 br i1 %394, label %pmix_pointer_array_get_item.exit278, label %.loopexit307, !llvm.loop !26 .loopexit307: ; preds = %._crit_edge330, %.preheader308, %303, %._crit_edge326 @@ -4105,8 +4105,8 @@ pmix_obj_run_destructors.exit283: ; preds = %.lr.ph.i280, %374 %.not252 = icmp eq i32 %395, 0 br i1 %.not252, label %.loopexit302, label %pmix_obj_run_destructors.exit299 -.loopexit302: ; preds = %356, %187, %._crit_edge337, %347, %329, %._crit_edge355, %253, %.split.us, %115, %109, %64 - %.0219 = phi i32 [ -5, %64 ], [ -5, %109 ], [ -5, %115 ], [ -43, %.split.us ], [ -43, %253 ], [ 0, %._crit_edge355 ], [ -43, %329 ], [ -43, %347 ], [ 0, %._crit_edge337 ], [ -2, %187 ], [ -2, %356 ] +.loopexit302: ; preds = %356, %187, %._crit_edge337, %347, %329, %._crit_edge356, %253, %.split.us, %115, %109, %64 + %.0219 = phi i32 [ -5, %64 ], [ -5, %109 ], [ -5, %115 ], [ -43, %.split.us ], [ -43, %253 ], [ 0, %._crit_edge356 ], [ -43, %329 ], [ -43, %347 ], [ 0, %._crit_edge337 ], [ -2, %187 ], [ -2, %356 ] %396 = getelementptr inbounds i8, ptr %29, i64 160 %397 = load ptr, ptr %396, align 8 %398 = getelementptr inbounds i8, ptr %397, i64 128 @@ -4118,18 +4118,18 @@ pmix_obj_run_destructors.exit283: ; preds = %.lr.ph.i280, %374 %401 = getelementptr inbounds i8, ptr %8, i64 264 %402 = load volatile i64, ptr %401, align 8 %403 = icmp eq i64 %402, 0 - br i1 %403, label %._crit_edge358, label %.lr.ph357 + br i1 %403, label %._crit_edge359, label %.lr.ph358 -.lr.ph357: ; preds = %.preheader +.lr.ph358: ; preds = %.preheader %404 = getelementptr inbounds i8, ptr %8, i64 240 br label %420 pmix_pointer_array_get_item.exit287: ; preds = %.loopexit302, %414 %405 = phi ptr [ %415, %414 ], [ %397, %.loopexit302 ] - %indvars.iv399 = phi i64 [ %indvars.iv.next400, %414 ], [ 0, %.loopexit302 ] + %indvars.iv400 = phi i64 [ %indvars.iv.next401, %414 ], [ 0, %.loopexit302 ] %406 = getelementptr inbounds i8, ptr %405, i64 152 %407 = load ptr, ptr %406, align 8 - %408 = getelementptr inbounds ptr, ptr %407, i64 %indvars.iv399 + %408 = getelementptr inbounds ptr, ptr %407, i64 %indvars.iv400 %409 = load ptr, ptr %408, align 8 %.not263 = icmp eq ptr %409, null br i1 %.not263, label %414, label %410 @@ -4139,19 +4139,19 @@ pmix_pointer_array_get_item.exit287: ; preds = %.loopexit302, %414 %412 = load i8, ptr %411, align 8 %413 = and i8 %412, -9 store i8 %413, ptr %411, align 8 - %.pre403 = load ptr, ptr %396, align 8 + %.pre404 = load ptr, ptr %396, align 8 br label %414 414: ; preds = %pmix_pointer_array_get_item.exit287, %410 - %415 = phi ptr [ %405, %pmix_pointer_array_get_item.exit287 ], [ %.pre403, %410 ] - %indvars.iv.next400 = add nuw nsw i64 %indvars.iv399, 1 + %415 = phi ptr [ %405, %pmix_pointer_array_get_item.exit287 ], [ %.pre404, %410 ] + %indvars.iv.next401 = add nuw nsw i64 %indvars.iv400, 1 %416 = getelementptr inbounds i8, ptr %415, i64 128 %417 = load i32, ptr %416, align 8 %418 = sext i32 %417 to i64 - %419 = icmp slt i64 %indvars.iv.next400, %418 + %419 = icmp slt i64 %indvars.iv.next401, %418 br i1 %419, label %pmix_pointer_array_get_item.exit287, label %.preheader, !llvm.loop !28 -420: ; preds = %.lr.ph357, %454 +420: ; preds = %.lr.ph358, %454 %421 = load volatile i64, ptr %401, align 8 %422 = add i64 %421, -1 store volatile i64 %422, ptr %401, align 8 @@ -4220,9 +4220,9 @@ pmix_obj_run_destructors.exit293: ; preds = %.lr.ph.i290, %440 454: ; preds = %451, %453, %434 %455 = load volatile i64, ptr %401, align 8 %456 = icmp eq i64 %455, 0 - br i1 %456, label %._crit_edge358, label %420, !llvm.loop !29 + br i1 %456, label %._crit_edge359, label %420, !llvm.loop !29 -._crit_edge358: ; preds = %454, %.preheader +._crit_edge359: ; preds = %454, %.preheader %457 = load ptr, ptr %45, align 8 %458 = getelementptr inbounds i8, ptr %457, i64 48 %459 = load ptr, ptr %458, align 8 @@ -4230,17 +4230,17 @@ pmix_obj_run_destructors.exit293: ; preds = %.lr.ph.i290, %440 %.not6.i295 = icmp eq ptr %460, null br i1 %.not6.i295, label %pmix_obj_run_destructors.exit299, label %.lr.ph.i296 -.lr.ph.i296: ; preds = %._crit_edge358, %.lr.ph.i296 - %461 = phi ptr [ %463, %.lr.ph.i296 ], [ %460, %._crit_edge358 ] - %.07.i297 = phi ptr [ %462, %.lr.ph.i296 ], [ %459, %._crit_edge358 ] +.lr.ph.i296: ; preds = %._crit_edge359, %.lr.ph.i296 + %461 = phi ptr [ %463, %.lr.ph.i296 ], [ %460, %._crit_edge359 ] + %.07.i297 = phi ptr [ %462, %.lr.ph.i296 ], [ %459, %._crit_edge359 ] call void %461(ptr noundef nonnull %8) #14 %462 = getelementptr inbounds i8, ptr %.07.i297, i64 8 %463 = load ptr, ptr %462, align 8 %.not.i298 = icmp eq ptr %463, null br i1 %.not.i298, label %pmix_obj_run_destructors.exit299, label %.lr.ph.i296, !llvm.loop !6 -pmix_obj_run_destructors.exit299: ; preds = %.lr.ph.i296, %._crit_edge358, %._crit_edge337, %._crit_edge355 - %.0224 = phi i32 [ %265, %._crit_edge355 ], [ %395, %._crit_edge337 ], [ %.0219, %._crit_edge358 ], [ %.0219, %.lr.ph.i296 ] +pmix_obj_run_destructors.exit299: ; preds = %.lr.ph.i296, %._crit_edge359, %._crit_edge337, %._crit_edge356 + %.0224 = phi i32 [ %265, %._crit_edge356 ], [ %395, %._crit_edge337 ], [ %.0219, %._crit_edge359 ], [ %.0219, %.lr.ph.i296 ] ret i32 %.0224 } diff --git a/bench/openspiel/optimized/tarok.cc.ll b/bench/openspiel/optimized/tarok.cc.ll index c5cbc01e9c7..460939f8ada 100644 --- a/bench/openspiel/optimized/tarok.cc.ll +++ b/bench/openspiel/optimized/tarok.cc.ll @@ -4758,7 +4758,7 @@ _ZSt11max_elementIN9__gnu_cxx17__normal_iteratorIPKlSt6vectorIlSaIlEEEEET_S8_S8_ br i1 %8, label %.invoke, label %_ZNKSt6vectorIlSaIlEE2atEm.exit .invoke: ; preds = %39, %62, %25 - %26 = phi i64 [ 0, %25 ], [ %indvars.iv.i30, %62 ], [ %indvars.iv.i, %39 ] + %26 = phi i64 [ 0, %25 ], [ %indvars.iv.i31, %62 ], [ %indvars.iv.i, %39 ] %27 = phi i64 [ 0, %25 ], [ %58, %62 ], [ %36, %39 ] invoke void (ptr, ...) @_ZSt24__throw_out_of_range_fmtPKcz(ptr noundef nonnull @.str.94, i64 noundef %26, i64 noundef %27) #30 to label %.cont unwind label %.loopexit.split-lp @@ -4775,7 +4775,7 @@ _ZNKSt6vectorIlSaIlEE2atEm.exit: ; preds = %25 %31 = getelementptr inbounds nuw i8, ptr %1, i64 28 %32 = load i32, ptr %31, align 4 %33 = icmp slt i32 %32, 1 - br i1 %33, label %.loopexit62, label %.lr.ph.i + br i1 %33, label %.loopexit63, label %.lr.ph.i .lr.ph.i: ; preds = %30 %34 = ptrtoint ptr %7 to i64 @@ -4802,9 +4802,9 @@ _ZNKSt6vectorIlSaIlEE2atEm.exit.i: ; preds = %39 42: ; preds = %_ZNKSt6vectorIlSaIlEE2atEm.exit.i, %37 %indvars.iv.next.i = add nuw nsw i64 %indvars.iv.i, 1 %exitcond.not.i = icmp eq i64 %indvars.iv.next.i, %wide.trip.count.i - br i1 %exitcond.not.i, label %.loopexit62, label %37, !llvm.loop !49 + br i1 %exitcond.not.i, label %.loopexit63, label %37, !llvm.loop !49 -.loopexit62: ; preds = %42, %30 +.loopexit63: ; preds = %42, %30 store i64 1, ptr %3, align 8 %43 = getelementptr inbounds i8, ptr %3, i64 8 store i64 2, ptr %43, align 8 @@ -4812,22 +4812,22 @@ _ZNKSt6vectorIlSaIlEE2atEm.exit.i: ; preds = %39 invoke void @_ZNSt6vectorIlSaIlEE15_M_range_insertIPKlEEvN9__gnu_cxx17__normal_iteratorIPlS1_EET_S9_St20forward_iterator_tag(ptr noundef nonnull align 8 dereferenceable(24) %0, ptr null, ptr noundef nonnull %3, ptr noundef nonnull %44) to label %_ZNSt6vectorIlSaIlEE9push_backEOl.exit unwind label %.loopexit.split-lp -.loopexit: ; preds = %106 +.loopexit: ; preds = %105 %lpad.loopexit = landingpad { ptr, i32 } cleanup br label %45 -.loopexit.split-lp: ; preds = %.invoke, %.loopexit62, %66, %100 +.loopexit.split-lp: ; preds = %.invoke, %.loopexit63, %66, %99 %lpad.loopexit.split-lp = landingpad { ptr, i32 } cleanup %.pre = load ptr, ptr %0, align 8 br label %45 45: ; preds = %.loopexit.split-lp, %.loopexit - %46 = phi ptr [ %95, %.loopexit ], [ %.pre, %.loopexit.split-lp ] + %46 = phi ptr [ %94, %.loopexit ], [ %.pre, %.loopexit.split-lp ] %lpad.phi = phi { ptr, i32 } [ %lpad.loopexit, %.loopexit ], [ %lpad.loopexit.split-lp, %.loopexit.split-lp ] - %.not.i.i.i27 = icmp eq ptr %46, null - br i1 %.not.i.i.i27, label %_ZNSt6vectorIlSaIlEED2Ev.exit, label %47 + %.not.i.i.i28 = icmp eq ptr %46, null + br i1 %.not.i.i.i28, label %_ZNSt6vectorIlSaIlEED2Ev.exit, label %47 47: ; preds = %45 %48 = getelementptr inbounds nuw i8, ptr %0, i64 16 @@ -4845,37 +4845,37 @@ _ZNK10open_spiel5tarok10TarokState32AllButCurrentPlayerPassedBiddingEv.exit: ; p %53 = getelementptr inbounds nuw i8, ptr %1, i64 28 %54 = load i32, ptr %53, align 4 %55 = icmp slt i32 %54, 1 - br i1 %55, label %_ZNSt6vectorIlSaIlEE9push_backEOl.exit, label %.lr.ph.i28 + br i1 %55, label %_ZNSt6vectorIlSaIlEE9push_backEOl.exit, label %.lr.ph.i29 -.lr.ph.i28: ; preds = %_ZNK10open_spiel5tarok10TarokState32AllButCurrentPlayerPassedBiddingEv.exit +.lr.ph.i29: ; preds = %_ZNK10open_spiel5tarok10TarokState32AllButCurrentPlayerPassedBiddingEv.exit %56 = ptrtoint ptr %7 to i64 %57 = sub i64 %56, %18 %58 = ashr exact i64 %57, 3 %59 = zext i32 %23 to i64 - %wide.trip.count.i29 = zext nneg i32 %54 to i64 + %wide.trip.count.i30 = zext nneg i32 %54 to i64 br label %60 -60: ; preds = %65, %.lr.ph.i28 - %indvars.iv.i30 = phi i64 [ 0, %.lr.ph.i28 ], [ %indvars.iv.next.i35, %65 ] - %61 = icmp eq i64 %indvars.iv.i30, %59 +60: ; preds = %65, %.lr.ph.i29 + %indvars.iv.i31 = phi i64 [ 0, %.lr.ph.i29 ], [ %indvars.iv.next.i36, %65 ] + %61 = icmp eq i64 %indvars.iv.i31, %59 br i1 %61, label %65, label %62 62: ; preds = %60 - %.not.i.i.i31 = icmp ugt i64 %58, %indvars.iv.i30 - br i1 %.not.i.i.i31, label %_ZNKSt6vectorIlSaIlEE2atEm.exit.i32, label %.invoke + %.not.i.i.i32 = icmp ugt i64 %58, %indvars.iv.i31 + br i1 %.not.i.i.i32, label %_ZNKSt6vectorIlSaIlEE2atEm.exit.i33, label %.invoke -_ZNKSt6vectorIlSaIlEE2atEm.exit.i32: ; preds = %62 - %63 = getelementptr inbounds i64, ptr %5, i64 %indvars.iv.i30 +_ZNKSt6vectorIlSaIlEE2atEm.exit.i33: ; preds = %62 + %63 = getelementptr inbounds i64, ptr %5, i64 %indvars.iv.i31 %64 = load i64, ptr %63, align 8 - %.not.i33 = icmp eq i64 %64, 0 - br i1 %.not.i33, label %65, label %66 + %.not.i34 = icmp eq i64 %64, 0 + br i1 %.not.i34, label %65, label %66 -65: ; preds = %_ZNKSt6vectorIlSaIlEE2atEm.exit.i32, %60 - %indvars.iv.next.i35 = add nuw nsw i64 %indvars.iv.i30, 1 - %exitcond.not.i36 = icmp eq i64 %indvars.iv.next.i35, %wide.trip.count.i29 - br i1 %exitcond.not.i36, label %_ZNSt6vectorIlSaIlEE9push_backEOl.exit, label %60, !llvm.loop !49 +65: ; preds = %_ZNKSt6vectorIlSaIlEE2atEm.exit.i33, %60 + %indvars.iv.next.i36 = add nuw nsw i64 %indvars.iv.i31, 1 + %exitcond.not.i37 = icmp eq i64 %indvars.iv.next.i36, %wide.trip.count.i30 + br i1 %exitcond.not.i37, label %_ZNSt6vectorIlSaIlEE9push_backEOl.exit, label %60, !llvm.loop !49 -66: ; preds = %_ZNKSt6vectorIlSaIlEE2atEm.exit.i32 +66: ; preds = %_ZNKSt6vectorIlSaIlEE2atEm.exit.i33 %67 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 to label %_ZNSt6vectorIlSaIlEE17_M_realloc_insertIJlEEEvN9__gnu_cxx17__normal_iteratorIPlS1_EEDpOT_.exit.i.i unwind label %.loopexit.split-lp @@ -4889,7 +4889,7 @@ _ZNSt6vectorIlSaIlEE17_M_realloc_insertIJlEEEvN9__gnu_cxx17__normal_iteratorIPlS store ptr %70, ptr %68, align 8 br label %_ZNSt6vectorIlSaIlEE9push_backEOl.exit -_ZNSt6vectorIlSaIlEE9push_backEOl.exit: ; preds = %65, %.loopexit62, %_ZNK10open_spiel5tarok10TarokState32AllButCurrentPlayerPassedBiddingEv.exit, %_ZNSt6vectorIlSaIlEE17_M_realloc_insertIJlEEEvN9__gnu_cxx17__normal_iteratorIPlS1_EEDpOT_.exit.i.i +_ZNSt6vectorIlSaIlEE9push_backEOl.exit: ; preds = %65, %.loopexit63, %_ZNK10open_spiel5tarok10TarokState32AllButCurrentPlayerPassedBiddingEv.exit, %_ZNSt6vectorIlSaIlEE17_M_realloc_insertIJlEEEvN9__gnu_cxx17__normal_iteratorIPlS1_EEDpOT_.exit.i.i %71 = getelementptr inbounds nuw i8, ptr %1, i64 28 %72 = getelementptr inbounds nuw i8, ptr %0, i64 8 %73 = getelementptr inbounds nuw i8, ptr %0, i64 16 @@ -4898,106 +4898,106 @@ _ZNSt6vectorIlSaIlEE9push_backEOl.exit: ; preds = %65, %.loopexit62, % %75 = and i64 %16, 4294967295 br label %76 -76: ; preds = %_ZNSt6vectorIlSaIlEE9push_backEOl.exit, %_ZNSt6vectorIlSaIlEE9push_backEOl.exit52 - %indvars.iv = phi i64 [ 3, %_ZNSt6vectorIlSaIlEE9push_backEOl.exit ], [ %indvars.iv.next, %_ZNSt6vectorIlSaIlEE9push_backEOl.exit52 ] +76: ; preds = %_ZNSt6vectorIlSaIlEE9push_backEOl.exit, %_ZNSt6vectorIlSaIlEE9push_backEOl.exit53 + %indvars.iv = phi i64 [ 3, %_ZNSt6vectorIlSaIlEE9push_backEOl.exit ], [ %indvars.iv.next, %_ZNSt6vectorIlSaIlEE9push_backEOl.exit53 ] %77 = load i32, ptr %71, align 4 %78 = icmp eq i32 %77, 3 - %79 = trunc i64 %indvars.iv to i32 - %80 = add i32 %79, -5 - %81 = icmp ult i32 %80, 3 - %or.cond3 = and i1 %81, %78 - %82 = icmp slt i64 %indvars.iv, %74 - %or.cond = select i1 %or.cond3, i1 true, i1 %82 - br i1 %or.cond, label %_ZNSt6vectorIlSaIlEE9push_backEOl.exit52, label %83 + %79 = icmp samesign ugt i64 %indvars.iv, 4 + %or.cond = select i1 %78, i1 %79, i1 false + %80 = icmp samesign ult i64 %indvars.iv, 8 + %or.cond3 = select i1 %or.cond, i1 %80, i1 false + %81 = icmp slt i64 %indvars.iv, %74 + %or.cond23 = select i1 %or.cond3, i1 true, i1 %81 + br i1 %or.cond23, label %_ZNSt6vectorIlSaIlEE9push_backEOl.exit53, label %82 + +82: ; preds = %76 + %83 = icmp sgt i64 %indvars.iv, %74 + br i1 %83, label %87, label %84 -83: ; preds = %76 - %84 = icmp sgt i64 %indvars.iv, %74 - br i1 %84, label %88, label %85 - -85: ; preds = %83 - %86 = icmp ne i64 %indvars.iv, %75 - %87 = load i32, ptr %22, align 8 - %.not = icmp sgt i32 %87, %21 - %or.cond23 = select i1 %86, i1 true, i1 %.not - br i1 %or.cond23, label %_ZNSt6vectorIlSaIlEE9push_backEOl.exit52, label %88 - -88: ; preds = %85, %83 - %89 = load ptr, ptr %72, align 8 - %90 = load ptr, ptr %73, align 8 - %.not.i.i42 = icmp eq ptr %89, %90 - br i1 %.not.i.i42, label %94, label %91 - -91: ; preds = %88 - store i64 %indvars.iv, ptr %89, align 8 - %92 = load ptr, ptr %72, align 8 - %93 = getelementptr inbounds i8, ptr %92, i64 8 - store ptr %93, ptr %72, align 8 - br label %_ZNSt6vectorIlSaIlEE9push_backEOl.exit52 - -94: ; preds = %88 - %95 = load ptr, ptr %0, align 8 - %96 = ptrtoint ptr %89 to i64 - %97 = ptrtoint ptr %95 to i64 - %98 = sub i64 %96, %97 - %99 = icmp eq i64 %98, 9223372036854775800 - br i1 %99, label %100, label %_ZNKSt6vectorIlSaIlEE12_M_check_lenEmPKc.exit.i.i.i43 +84: ; preds = %82 + %85 = icmp ne i64 %indvars.iv, %75 + %86 = load i32, ptr %22, align 8 + %.not = icmp sgt i32 %86, %21 + %or.cond24 = select i1 %85, i1 true, i1 %.not + br i1 %or.cond24, label %_ZNSt6vectorIlSaIlEE9push_backEOl.exit53, label %87 + +87: ; preds = %84, %82 + %88 = load ptr, ptr %72, align 8 + %89 = load ptr, ptr %73, align 8 + %.not.i.i43 = icmp eq ptr %88, %89 + br i1 %.not.i.i43, label %93, label %90 + +90: ; preds = %87 + store i64 %indvars.iv, ptr %88, align 8 + %91 = load ptr, ptr %72, align 8 + %92 = getelementptr inbounds i8, ptr %91, i64 8 + store ptr %92, ptr %72, align 8 + br label %_ZNSt6vectorIlSaIlEE9push_backEOl.exit53 + +93: ; preds = %87 + %94 = load ptr, ptr %0, align 8 + %95 = ptrtoint ptr %88 to i64 + %96 = ptrtoint ptr %94 to i64 + %97 = sub i64 %95, %96 + %98 = icmp eq i64 %97, 9223372036854775800 + br i1 %98, label %99, label %_ZNKSt6vectorIlSaIlEE12_M_check_lenEmPKc.exit.i.i.i44 -100: ; preds = %94 +99: ; preds = %93 invoke void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.85) #30 - to label %.noexc50 unwind label %.loopexit.split-lp - -.noexc50: ; preds = %100 - unreachable - -_ZNKSt6vectorIlSaIlEE12_M_check_lenEmPKc.exit.i.i.i43: ; preds = %94 - %101 = ashr exact i64 %98, 3 - %.sroa.speculated.i.i.i.i44 = call i64 @llvm.umax.i64(i64 %101, i64 1) - %102 = add nsw i64 %.sroa.speculated.i.i.i.i44, %101 - %103 = icmp ult i64 %102, %101 - %104 = call i64 @llvm.umin.i64(i64 %102, i64 1152921504606846975) - %105 = select i1 %103, i64 1152921504606846975, i64 %104 - %.not.i.i.i.i45 = icmp eq i64 %105, 0 - br i1 %.not.i.i.i.i45, label %_ZNSt12_Vector_baseIlSaIlEE11_M_allocateEm.exit.i.i.i46, label %106 - -106: ; preds = %_ZNKSt6vectorIlSaIlEE12_M_check_lenEmPKc.exit.i.i.i43 - %107 = shl nuw nsw i64 %105, 3 - %108 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %107) #32 - to label %_ZNSt12_Vector_baseIlSaIlEE11_M_allocateEm.exit.i.i.i46 unwind label %.loopexit - -_ZNSt12_Vector_baseIlSaIlEE11_M_allocateEm.exit.i.i.i46: ; preds = %106, %_ZNKSt6vectorIlSaIlEE12_M_check_lenEmPKc.exit.i.i.i43 - %109 = phi ptr [ null, %_ZNKSt6vectorIlSaIlEE12_M_check_lenEmPKc.exit.i.i.i43 ], [ %108, %106 ] - %110 = getelementptr inbounds i64, ptr %109, i64 %101 - store i64 %indvars.iv, ptr %110, align 8 - %111 = icmp sgt i64 %98, 0 - br i1 %111, label %112, label %_ZNSt6vectorIlSaIlEE11_S_relocateEPlS2_S2_RS0_.exit16.i.i.i47 - -112: ; preds = %_ZNSt12_Vector_baseIlSaIlEE11_M_allocateEm.exit.i.i.i46 - call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %109, ptr align 8 %95, i64 %98, i1 false) - br label %_ZNSt6vectorIlSaIlEE11_S_relocateEPlS2_S2_RS0_.exit16.i.i.i47 - -_ZNSt6vectorIlSaIlEE11_S_relocateEPlS2_S2_RS0_.exit16.i.i.i47: ; preds = %112, %_ZNSt12_Vector_baseIlSaIlEE11_M_allocateEm.exit.i.i.i46 - %113 = getelementptr inbounds i8, ptr %109, i64 %98 - %114 = getelementptr inbounds i8, ptr %113, i64 8 - %.not.i17.i.i.i48 = icmp eq ptr %95, null - br i1 %.not.i17.i.i.i48, label %_ZNSt6vectorIlSaIlEE17_M_realloc_insertIJlEEEvN9__gnu_cxx17__normal_iteratorIPlS1_EEDpOT_.exit.i.i49, label %115 - -115: ; preds = %_ZNSt6vectorIlSaIlEE11_S_relocateEPlS2_S2_RS0_.exit16.i.i.i47 - call void @_ZdlPvm(ptr noundef nonnull %95, i64 noundef %98) #33 - br label %_ZNSt6vectorIlSaIlEE17_M_realloc_insertIJlEEEvN9__gnu_cxx17__normal_iteratorIPlS1_EEDpOT_.exit.i.i49 - -_ZNSt6vectorIlSaIlEE17_M_realloc_insertIJlEEEvN9__gnu_cxx17__normal_iteratorIPlS1_EEDpOT_.exit.i.i49: ; preds = %115, %_ZNSt6vectorIlSaIlEE11_S_relocateEPlS2_S2_RS0_.exit16.i.i.i47 - store ptr %109, ptr %0, align 8 - store ptr %114, ptr %72, align 8 - %116 = getelementptr inbounds i64, ptr %109, i64 %105 - store ptr %116, ptr %73, align 8 - br label %_ZNSt6vectorIlSaIlEE9push_backEOl.exit52 - -_ZNSt6vectorIlSaIlEE9push_backEOl.exit52: ; preds = %_ZNSt6vectorIlSaIlEE17_M_realloc_insertIJlEEEvN9__gnu_cxx17__normal_iteratorIPlS1_EEDpOT_.exit.i.i49, %91, %85, %76 + to label %.noexc51 unwind label %.loopexit.split-lp + +.noexc51: ; preds = %99 + unreachable + +_ZNKSt6vectorIlSaIlEE12_M_check_lenEmPKc.exit.i.i.i44: ; preds = %93 + %100 = ashr exact i64 %97, 3 + %.sroa.speculated.i.i.i.i45 = call i64 @llvm.umax.i64(i64 %100, i64 1) + %101 = add nsw i64 %.sroa.speculated.i.i.i.i45, %100 + %102 = icmp ult i64 %101, %100 + %103 = call i64 @llvm.umin.i64(i64 %101, i64 1152921504606846975) + %104 = select i1 %102, i64 1152921504606846975, i64 %103 + %.not.i.i.i.i46 = icmp eq i64 %104, 0 + br i1 %.not.i.i.i.i46, label %_ZNSt12_Vector_baseIlSaIlEE11_M_allocateEm.exit.i.i.i47, label %105 + +105: ; preds = %_ZNKSt6vectorIlSaIlEE12_M_check_lenEmPKc.exit.i.i.i44 + %106 = shl nuw nsw i64 %104, 3 + %107 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %106) #32 + to label %_ZNSt12_Vector_baseIlSaIlEE11_M_allocateEm.exit.i.i.i47 unwind label %.loopexit + +_ZNSt12_Vector_baseIlSaIlEE11_M_allocateEm.exit.i.i.i47: ; preds = %105, %_ZNKSt6vectorIlSaIlEE12_M_check_lenEmPKc.exit.i.i.i44 + %108 = phi ptr [ null, %_ZNKSt6vectorIlSaIlEE12_M_check_lenEmPKc.exit.i.i.i44 ], [ %107, %105 ] + %109 = getelementptr inbounds i64, ptr %108, i64 %100 + store i64 %indvars.iv, ptr %109, align 8 + %110 = icmp sgt i64 %97, 0 + br i1 %110, label %111, label %_ZNSt6vectorIlSaIlEE11_S_relocateEPlS2_S2_RS0_.exit16.i.i.i48 + +111: ; preds = %_ZNSt12_Vector_baseIlSaIlEE11_M_allocateEm.exit.i.i.i47 + call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %108, ptr align 8 %94, i64 %97, i1 false) + br label %_ZNSt6vectorIlSaIlEE11_S_relocateEPlS2_S2_RS0_.exit16.i.i.i48 + +_ZNSt6vectorIlSaIlEE11_S_relocateEPlS2_S2_RS0_.exit16.i.i.i48: ; preds = %111, %_ZNSt12_Vector_baseIlSaIlEE11_M_allocateEm.exit.i.i.i47 + %112 = getelementptr inbounds i8, ptr %108, i64 %97 + %113 = getelementptr inbounds i8, ptr %112, i64 8 + %.not.i17.i.i.i49 = icmp eq ptr %94, null + br i1 %.not.i17.i.i.i49, label %_ZNSt6vectorIlSaIlEE17_M_realloc_insertIJlEEEvN9__gnu_cxx17__normal_iteratorIPlS1_EEDpOT_.exit.i.i50, label %114 + +114: ; preds = %_ZNSt6vectorIlSaIlEE11_S_relocateEPlS2_S2_RS0_.exit16.i.i.i48 + call void @_ZdlPvm(ptr noundef nonnull %94, i64 noundef %97) #33 + br label %_ZNSt6vectorIlSaIlEE17_M_realloc_insertIJlEEEvN9__gnu_cxx17__normal_iteratorIPlS1_EEDpOT_.exit.i.i50 + +_ZNSt6vectorIlSaIlEE17_M_realloc_insertIJlEEEvN9__gnu_cxx17__normal_iteratorIPlS1_EEDpOT_.exit.i.i50: ; preds = %114, %_ZNSt6vectorIlSaIlEE11_S_relocateEPlS2_S2_RS0_.exit16.i.i.i48 + store ptr %108, ptr %0, align 8 + store ptr %113, ptr %72, align 8 + %115 = getelementptr inbounds i64, ptr %108, i64 %104 + store ptr %115, ptr %73, align 8 + br label %_ZNSt6vectorIlSaIlEE9push_backEOl.exit53 + +_ZNSt6vectorIlSaIlEE9push_backEOl.exit53: ; preds = %_ZNSt6vectorIlSaIlEE17_M_realloc_insertIJlEEEvN9__gnu_cxx17__normal_iteratorIPlS1_EEDpOT_.exit.i.i50, %90, %84, %76 %indvars.iv.next = add nuw nsw i64 %indvars.iv, 1 %exitcond.not = icmp eq i64 %indvars.iv.next, 13 - br i1 %exitcond.not, label %117, label %76, !llvm.loop !50 + br i1 %exitcond.not, label %116, label %76, !llvm.loop !50 -117: ; preds = %_ZNSt6vectorIlSaIlEE9push_backEOl.exit52 +116: ; preds = %_ZNSt6vectorIlSaIlEE9push_backEOl.exit53 ret void } @@ -11704,7 +11704,7 @@ _ZNK10open_spiel5tarok10TarokState21CapturedMondPenaltiesEv.exit: ; preds = %40, %72 = sitofp i32 %71 to double store double %72, ptr %70, align 8 %indvars.iv.next = add nuw nsw i64 %indvars.iv, 1 - %73 = icmp ult i64 %indvars.iv.next, %60 + %73 = icmp samesign ult i64 %indvars.iv.next, %60 br i1 %73, label %61, label %._crit_edge.thread, !llvm.loop !91 74: ; preds = %_ZNK10open_spiel5tarok10TarokState21CapturedMondPenaltiesEv.exit diff --git a/bench/openvdb/optimized/Filter.cc.ll b/bench/openvdb/optimized/Filter.cc.ll index 8d9c89656a2..f3433ad9493 100644 --- a/bench/openvdb/optimized/Filter.cc.ll +++ b/bench/openvdb/optimized/Filter.cc.ll @@ -113171,7 +113171,7 @@ for.cond3.preheader.us: ; preds = %entry, %for.inc10.s for.body5.us.us: ; preds = %for.body5.us.us, %for.cond3.preheader.us %6 = phi i32 [ %add.us.us, %for.body5.us.us ], [ 0, %for.cond3.preheader.us ] %add.us.us = add nuw nsw i32 %6, 8 - %cmp4.us.us = icmp ult i32 %6, 4088 + %cmp4.us.us = icmp samesign ult i32 %6, 4088 br i1 %cmp4.us.us, label %for.body5.us.us, label %for.inc10.split.us.us, !llvm.loop !1328 for.inc10.split.us.us: ; preds = %for.body5.us.us @@ -113211,7 +113211,7 @@ for.body5.us: ; preds = %for.body5.us, %for. %18 = load i32, ptr %arrayinit.element2.i, align 4 %add.us = add nuw nsw i32 %15, 8 store i32 %add.us, ptr %arrayidx.i.i.i16, align 4 - %cmp4.us = icmp ult i32 %15, 4088 + %cmp4.us = icmp samesign ult i32 %15, 4088 br i1 %cmp4.us, label %for.body5.us, label %for.inc10.split.us, !llvm.loop !1328 for.inc10.split.us: ; preds = %for.body5.us @@ -114561,7 +114561,7 @@ for.body19.us.us: ; preds = %for.body19.us.us, % %184 = load i32, ptr %arrayinit.element2.i, align 4 %add31.us.us = add nuw nsw i32 %183, 8 store i32 %add31.us.us, ptr %arrayidx.i.i.i16, align 4 - %cmp18.us.us = icmp ult i32 %183, 4088 + %cmp18.us.us = icmp samesign ult i32 %183, 4088 br i1 %cmp18.us.us, label %for.body19.us.us, label %for.inc33.split.us.us, !llvm.loop !1332 for.inc33.split.us.us: ; preds = %for.body19.us.us @@ -114597,7 +114597,7 @@ for.body19.us: ; preds = %for.body19.us, %for %196 = load i32, ptr %arrayinit.element2.i, align 4 %add31.us = add nuw nsw i32 %193, 8 store i32 %add31.us, ptr %arrayidx.i.i.i16, align 4 - %cmp18.us = icmp ult i32 %193, 4088 + %cmp18.us = icmp samesign ult i32 %193, 4088 br i1 %cmp18.us, label %for.body19.us, label %for.inc33.split.us, !llvm.loop !1332 for.inc33.split.us: ; preds = %for.body19.us @@ -149593,7 +149593,7 @@ for.cond3.preheader.us: ; preds = %entry, %for.inc10.s for.body5.us.us: ; preds = %for.body5.us.us, %for.cond3.preheader.us %6 = phi i32 [ %add.us.us, %for.body5.us.us ], [ 0, %for.cond3.preheader.us ] %add.us.us = add nuw nsw i32 %6, 8 - %cmp4.us.us = icmp ult i32 %6, 4088 + %cmp4.us.us = icmp samesign ult i32 %6, 4088 br i1 %cmp4.us.us, label %for.body5.us.us, label %for.inc10.split.us.us, !llvm.loop !1639 for.inc10.split.us.us: ; preds = %for.body5.us.us @@ -149633,7 +149633,7 @@ for.body5.us: ; preds = %for.body5.us, %for. %18 = load i32, ptr %arrayinit.element2.i, align 4 %add.us = add nuw nsw i32 %15, 8 store i32 %add.us, ptr %arrayidx.i.i.i16, align 4 - %cmp4.us = icmp ult i32 %15, 4088 + %cmp4.us = icmp samesign ult i32 %15, 4088 br i1 %cmp4.us, label %for.body5.us, label %for.inc10.split.us, !llvm.loop !1639 for.inc10.split.us: ; preds = %for.body5.us @@ -150983,7 +150983,7 @@ for.body19.us.us: ; preds = %for.body19.us.us, % %184 = load i32, ptr %arrayinit.element2.i, align 4 %add31.us.us = add nuw nsw i32 %183, 8 store i32 %add31.us.us, ptr %arrayidx.i.i.i16, align 4 - %cmp18.us.us = icmp ult i32 %183, 4088 + %cmp18.us.us = icmp samesign ult i32 %183, 4088 br i1 %cmp18.us.us, label %for.body19.us.us, label %for.inc33.split.us.us, !llvm.loop !1643 for.inc33.split.us.us: ; preds = %for.body19.us.us @@ -151019,7 +151019,7 @@ for.body19.us: ; preds = %for.body19.us, %for %196 = load i32, ptr %arrayinit.element2.i, align 4 %add31.us = add nuw nsw i32 %193, 8 store i32 %add31.us, ptr %arrayidx.i.i.i16, align 4 - %cmp18.us = icmp ult i32 %193, 4088 + %cmp18.us = icmp samesign ult i32 %193, 4088 br i1 %cmp18.us, label %for.body19.us, label %for.inc33.split.us, !llvm.loop !1643 for.inc33.split.us: ; preds = %for.body19.us diff --git a/bench/openvdb/optimized/FindActiveValues.cc.ll b/bench/openvdb/optimized/FindActiveValues.cc.ll index c1fb96aedaf..5ae9bde9e71 100644 --- a/bench/openvdb/optimized/FindActiveValues.cc.ll +++ b/bench/openvdb/optimized/FindActiveValues.cc.ll @@ -19715,7 +19715,7 @@ invoke.cont20: ; preds = %invoke.cont %shr5.i16 = and i32 %and4.i10, 31 %and7.i12 = lshr i32 %14, 7 %shr9.i18 = and i32 %and7.i12, 31 - %cmp.i.not67 = icmp ugt i32 %shr.i, %shr.i14 + %cmp.i.not67 = icmp samesign ugt i32 %shr.i, %shr.i14 br i1 %cmp.i.not67, label %nrvo.skipdtor, label %for.body for.body: ; preds = %invoke.cont20, %_ZN7openvdb5v11_04math9CoordBBox8IteratorILb1EEppEv.exit @@ -19971,7 +19971,7 @@ invoke.cont12: ; preds = %invoke.cont %shr5.i16 = and i32 %and4.i10, 15 %and7.i12 = lshr i32 %14, 3 %shr9.i18 = and i32 %and7.i12, 15 - %cmp.i.not67 = icmp ugt i32 %shr.i, %shr.i14 + %cmp.i.not67 = icmp samesign ugt i32 %shr.i, %shr.i14 br i1 %cmp.i.not67, label %nrvo.skipdtor, label %for.body for.body: ; preds = %invoke.cont12, %_ZN7openvdb5v11_04math9CoordBBox8IteratorILb1EEppEv.exit @@ -23220,7 +23220,7 @@ invoke.cont11: ; preds = %invoke.cont %shr5.i16 = and i32 %and4.i10, 31 %and7.i12 = lshr i32 %14, 7 %shr9.i18 = and i32 %and7.i12, 31 - %cmp.i.not67 = icmp ugt i32 %shr.i, %shr.i14 + %cmp.i.not67 = icmp samesign ugt i32 %shr.i, %shr.i14 br i1 %cmp.i.not67, label %nrvo.skipdtor, label %for.body for.body: ; preds = %invoke.cont11, %_ZN7openvdb5v11_04math9CoordBBox8IteratorILb1EEppEv.exit @@ -23476,7 +23476,7 @@ invoke.cont11: ; preds = %invoke.cont %shr5.i16 = and i32 %and4.i10, 15 %and7.i12 = lshr i32 %14, 3 %shr9.i18 = and i32 %and7.i12, 15 - %cmp.i.not67 = icmp ugt i32 %shr.i, %shr.i14 + %cmp.i.not67 = icmp samesign ugt i32 %shr.i, %shr.i14 br i1 %cmp.i.not67, label %nrvo.skipdtor, label %for.body for.body: ; preds = %invoke.cont11, %_ZN7openvdb5v11_04math9CoordBBox8IteratorILb1EEppEv.exit @@ -26237,7 +26237,7 @@ invoke.cont11: ; preds = %invoke.cont %shr5.i16 = and i32 %and4.i10, 31 %and7.i12 = lshr i32 %14, 7 %shr9.i18 = and i32 %and7.i12, 31 - %cmp.i.not67 = icmp ugt i32 %shr.i, %shr.i14 + %cmp.i.not67 = icmp samesign ugt i32 %shr.i, %shr.i14 br i1 %cmp.i.not67, label %nrvo.skipdtor, label %for.body for.body: ; preds = %invoke.cont11, %_ZN7openvdb5v11_04math9CoordBBox8IteratorILb1EEppEv.exit @@ -26493,7 +26493,7 @@ invoke.cont11: ; preds = %invoke.cont %shr5.i16 = and i32 %and4.i10, 15 %and7.i12 = lshr i32 %14, 3 %shr9.i18 = and i32 %and7.i12, 15 - %cmp.i.not67 = icmp ugt i32 %shr.i, %shr.i14 + %cmp.i.not67 = icmp samesign ugt i32 %shr.i, %shr.i14 br i1 %cmp.i.not67, label %nrvo.skipdtor, label %for.body for.body: ; preds = %invoke.cont11, %_ZN7openvdb5v11_04math9CoordBBox8IteratorILb1EEppEv.exit @@ -29421,7 +29421,7 @@ invoke.cont11: ; preds = %invoke.cont %shr5.i16 = and i32 %and4.i10, 31 %and7.i12 = lshr i32 %14, 7 %shr9.i18 = and i32 %and7.i12, 31 - %cmp.i.not67 = icmp ugt i32 %shr.i, %shr.i14 + %cmp.i.not67 = icmp samesign ugt i32 %shr.i, %shr.i14 br i1 %cmp.i.not67, label %nrvo.skipdtor, label %for.body for.body: ; preds = %invoke.cont11, %_ZN7openvdb5v11_04math9CoordBBox8IteratorILb1EEppEv.exit @@ -29677,7 +29677,7 @@ invoke.cont11: ; preds = %invoke.cont %shr5.i16 = and i32 %and4.i10, 15 %and7.i12 = lshr i32 %14, 3 %shr9.i18 = and i32 %and7.i12, 15 - %cmp.i.not67 = icmp ugt i32 %shr.i, %shr.i14 + %cmp.i.not67 = icmp samesign ugt i32 %shr.i, %shr.i14 br i1 %cmp.i.not67, label %nrvo.skipdtor, label %for.body for.body: ; preds = %invoke.cont11, %_ZN7openvdb5v11_04math9CoordBBox8IteratorILb1EEppEv.exit @@ -32604,7 +32604,7 @@ invoke.cont11: ; preds = %invoke.cont %shr5.i16 = and i32 %and4.i10, 31 %and7.i12 = lshr i32 %14, 7 %shr9.i18 = and i32 %and7.i12, 31 - %cmp.i.not67 = icmp ugt i32 %shr.i, %shr.i14 + %cmp.i.not67 = icmp samesign ugt i32 %shr.i, %shr.i14 br i1 %cmp.i.not67, label %nrvo.skipdtor, label %for.body for.body: ; preds = %invoke.cont11, %_ZN7openvdb5v11_04math9CoordBBox8IteratorILb1EEppEv.exit @@ -32860,7 +32860,7 @@ invoke.cont11: ; preds = %invoke.cont %shr5.i16 = and i32 %and4.i10, 15 %and7.i12 = lshr i32 %14, 3 %shr9.i18 = and i32 %and7.i12, 15 - %cmp.i.not67 = icmp ugt i32 %shr.i, %shr.i14 + %cmp.i.not67 = icmp samesign ugt i32 %shr.i, %shr.i14 br i1 %cmp.i.not67, label %nrvo.skipdtor, label %for.body for.body: ; preds = %invoke.cont11, %_ZN7openvdb5v11_04math9CoordBBox8IteratorILb1EEppEv.exit @@ -35897,7 +35897,7 @@ invoke.cont11: ; preds = %invoke.cont %shr5.i16 = and i32 %and4.i10, 31 %and7.i12 = lshr i32 %14, 7 %shr9.i18 = and i32 %and7.i12, 31 - %cmp.i.not67 = icmp ugt i32 %shr.i, %shr.i14 + %cmp.i.not67 = icmp samesign ugt i32 %shr.i, %shr.i14 br i1 %cmp.i.not67, label %nrvo.skipdtor, label %for.body for.body: ; preds = %invoke.cont11, %_ZN7openvdb5v11_04math9CoordBBox8IteratorILb1EEppEv.exit @@ -36153,7 +36153,7 @@ invoke.cont11: ; preds = %invoke.cont %shr5.i16 = and i32 %and4.i10, 15 %and7.i12 = lshr i32 %14, 3 %shr9.i18 = and i32 %and7.i12, 15 - %cmp.i.not67 = icmp ugt i32 %shr.i, %shr.i14 + %cmp.i.not67 = icmp samesign ugt i32 %shr.i, %shr.i14 br i1 %cmp.i.not67, label %nrvo.skipdtor, label %for.body for.body: ; preds = %invoke.cont11, %_ZN7openvdb5v11_04math9CoordBBox8IteratorILb1EEppEv.exit @@ -39203,7 +39203,7 @@ invoke.cont11: ; preds = %invoke.cont %shr5.i16 = and i32 %and4.i10, 31 %and7.i12 = lshr i32 %14, 7 %shr9.i18 = and i32 %and7.i12, 31 - %cmp.i.not67 = icmp ugt i32 %shr.i, %shr.i14 + %cmp.i.not67 = icmp samesign ugt i32 %shr.i, %shr.i14 br i1 %cmp.i.not67, label %nrvo.skipdtor, label %for.body for.body: ; preds = %invoke.cont11, %_ZN7openvdb5v11_04math9CoordBBox8IteratorILb1EEppEv.exit @@ -39459,7 +39459,7 @@ invoke.cont11: ; preds = %invoke.cont %shr5.i16 = and i32 %and4.i10, 15 %and7.i12 = lshr i32 %14, 3 %shr9.i18 = and i32 %and7.i12, 15 - %cmp.i.not67 = icmp ugt i32 %shr.i, %shr.i14 + %cmp.i.not67 = icmp samesign ugt i32 %shr.i, %shr.i14 br i1 %cmp.i.not67, label %nrvo.skipdtor, label %for.body for.body: ; preds = %invoke.cont11, %_ZN7openvdb5v11_04math9CoordBBox8IteratorILb1EEppEv.exit @@ -42236,7 +42236,7 @@ invoke.cont11: ; preds = %invoke.cont %shr5.i16 = and i32 %and4.i10, 31 %and7.i12 = lshr i32 %14, 7 %shr9.i18 = and i32 %and7.i12, 31 - %cmp.i.not67 = icmp ugt i32 %shr.i, %shr.i14 + %cmp.i.not67 = icmp samesign ugt i32 %shr.i, %shr.i14 br i1 %cmp.i.not67, label %nrvo.skipdtor, label %for.body for.body: ; preds = %invoke.cont11, %_ZN7openvdb5v11_04math9CoordBBox8IteratorILb1EEppEv.exit @@ -42492,7 +42492,7 @@ invoke.cont11: ; preds = %invoke.cont %shr5.i16 = and i32 %and4.i10, 15 %and7.i12 = lshr i32 %14, 3 %shr9.i18 = and i32 %and7.i12, 15 - %cmp.i.not67 = icmp ugt i32 %shr.i, %shr.i14 + %cmp.i.not67 = icmp samesign ugt i32 %shr.i, %shr.i14 br i1 %cmp.i.not67, label %nrvo.skipdtor, label %for.body for.body: ; preds = %invoke.cont11, %_ZN7openvdb5v11_04math9CoordBBox8IteratorILb1EEppEv.exit diff --git a/bench/pbrt-v4/optimized/stbimage.cpp.ll b/bench/pbrt-v4/optimized/stbimage.cpp.ll index 32599f67185..0bd691e3ca6 100644 --- a/bench/pbrt-v4/optimized/stbimage.cpp.ll +++ b/bench/pbrt-v4/optimized/stbimage.cpp.ll @@ -2548,7 +2548,7 @@ if.end13.i.i: ; preds = %if.then4.i.i49, %if _ZL10stbi__skipP13stbi__contexti.exit.i: ; preds = %if.end13.i.i, %if.then8.i.i %call13.i = tail call fastcc noundef i32 @_ZL13stbi__get16beP13stbi__context(ptr noundef nonnull %s) - %cmp15.i = icmp ugt i32 %call13.i, 16 + %cmp15.i = icmp samesign ugt i32 %call13.i, 16 br i1 %cmp15.i, label %if.end12, label %if.end17.i if.end17.i: ; preds = %_ZL10stbi__skipP13stbi__contexti.exit.i @@ -2810,7 +2810,7 @@ if.end13.i.i: ; preds = %if.then4.i.i, %if.e _ZL10stbi__skipP13stbi__contexti.exit.i: ; preds = %if.end13.i.i, %if.then8.i.i %call5.i = tail call fastcc noundef i32 @_ZL13stbi__get16beP13stbi__context(ptr noundef nonnull %s) - %cmp7.i = icmp ugt i32 %call5.i, 16 + %cmp7.i = icmp samesign ugt i32 %call5.i, 16 br i1 %cmp7.i, label %if.end, label %if.end9.i if.end9.i: ; preds = %_ZL10stbi__skipP13stbi__contexti.exit.i @@ -4368,13 +4368,13 @@ if.end337.i: ; preds = %if.then327.i %call347.i = tail call fastcc noundef i32 @_ZL14stbi__high_bitj(i32 noundef %36) %sub348.i = add nsw i32 %call347.i, -7 %call349.i = tail call fastcc noundef i32 @_ZL14stbi__bitcountj(i32 noundef %36) - %cmp350.i = icmp ugt i32 %call340.i, 8 - %cmp352.i = icmp ugt i32 %call343.i, 8 - %or.cond8.i = or i1 %cmp350.i, %cmp352.i - %cmp354.i = icmp ugt i32 %call346.i, 8 - %or.cond9.i = or i1 %or.cond8.i, %cmp354.i - %cmp356.i = icmp ugt i32 %call349.i, 8 - %or.cond10.i = or i1 %or.cond9.i, %cmp356.i + %cmp350.i = icmp samesign ugt i32 %call340.i, 8 + %cmp352.i = icmp samesign ugt i32 %call343.i, 8 + %or.cond8.i = select i1 %cmp350.i, i1 true, i1 %cmp352.i + %cmp354.i = icmp samesign ugt i32 %call346.i, 8 + %or.cond9.i = select i1 %or.cond8.i, i1 true, i1 %cmp354.i + %cmp356.i = icmp samesign ugt i32 %call349.i, 8 + %or.cond10.i = select i1 %or.cond9.i, i1 true, i1 %cmp356.i br i1 %or.cond10.i, label %if.then357.i, label %if.end362.i if.then357.i: ; preds = %if.end337.i @@ -5118,7 +5118,7 @@ if.end13.i.i81: ; preds = %if.then4.i.i76, %if _ZL10stbi__skipP13stbi__contexti.exit.i83: ; preds = %if.end13.i.i81, %if.then8.i.i139 %call9.i = tail call fastcc noundef i32 @_ZL13stbi__get16beP13stbi__context(ptr noundef nonnull %s) - %cmp11.i = icmp ugt i32 %call9.i, 16 + %cmp11.i = icmp samesign ugt i32 %call9.i, 16 br i1 %cmp11.i, label %if.then12.i, label %if.end16.i if.then12.i: ; preds = %_ZL10stbi__skipP13stbi__contexti.exit.i83 @@ -5183,7 +5183,7 @@ if.end45.i: ; preds = %if.end38.i %call48.i = tail call fastcc noundef i32 @_ZL13stbi__get32beP13stbi__context(ptr noundef %s) tail call fastcc void @_ZL10stbi__skipP13stbi__contexti(ptr noundef nonnull %s, i32 noundef %call48.i) %call49.i = tail call fastcc noundef i32 @_ZL13stbi__get16beP13stbi__context(ptr noundef nonnull %s) - %cmp50.i84 = icmp ugt i32 %call49.i, 1 + %cmp50.i84 = icmp samesign ugt i32 %call49.i, 1 br i1 %cmp50.i84, label %if.then51.i, label %if.end55.i if.then51.i: ; preds = %if.end45.i @@ -5259,7 +5259,7 @@ if.then81.i: ; preds = %if.end78.i for.body.us.i: ; preds = %if.then81.i, %for.inc103.us.i %indvars.iv198.i = phi i64 [ %indvars.iv.next199.i, %for.inc103.us.i ], [ 0, %if.then81.i ] %add.ptr.us.i104 = getelementptr inbounds i8, ptr %out.0.i89, i64 %indvars.iv198.i - %cmp85.not.us.i = icmp ult i64 %indvars.iv198.i, %334 + %cmp85.not.us.i = icmp samesign ult i64 %indvars.iv198.i, %334 br i1 %cmp85.not.us.i, label %if.else94.us.i, label %for.cond87.preheader.us.i for.body89.us.i: ; preds = %for.cond87.preheader.us.i, %for.body89.us.i @@ -5288,7 +5288,7 @@ for.cond87.preheader.us.i: ; preds = %for.body.us.i for.body.i90: ; preds = %if.then81.i, %for.inc103.i %indvars.iv.i91 = phi i64 [ %indvars.iv.next.i92, %for.inc103.i ], [ 0, %if.then81.i ] - %cmp85.not.i = icmp ult i64 %indvars.iv.i91, %334 + %cmp85.not.i = icmp samesign ult i64 %indvars.iv.i91, %334 br i1 %cmp85.not.i, label %if.else94.i, label %for.inc103.i if.else94.i: ; preds = %for.body.i90 @@ -5310,7 +5310,7 @@ for.inc103.i: ; preds = %if.else94.i, %for.b for.body109.i: ; preds = %for.inc187.i, %for.cond107.preheader.i %indvars.iv207.i = phi i64 [ 0, %for.cond107.preheader.i ], [ %indvars.iv.next208.i, %for.inc187.i ] - %cmp110.not.i = icmp ult i64 %indvars.iv207.i, %333 + %cmp110.not.i = icmp samesign ult i64 %indvars.iv207.i, %333 br i1 %cmp110.not.i, label %if.else144.i, label %if.then111.i if.then111.i: ; preds = %for.body109.i @@ -5471,7 +5471,7 @@ for.inc187.i: ; preds = %for.body138.i, %for br i1 %exitcond210.not.i, label %if.end190.i94, label %for.body109.i, !llvm.loop !33 if.end190.i94: ; preds = %for.inc103.i, %for.inc103.us.i, %for.inc187.i - %cmp191.i95 = icmp ugt i32 %call9.i, 3 + %cmp191.i95 = icmp samesign ugt i32 %call9.i, 3 br i1 %cmp191.i95, label %if.then192.i96, label %if.end292.i if.then192.i96: ; preds = %if.end190.i94 @@ -6031,7 +6031,7 @@ if.end48.i.i.i.i: ; preds = %if.end37.i.i.i.i %and.i.i.i.i = and i32 %conv23.i.i.i.i, 15 %ha.i.i.i.i = getelementptr inbounds i8, ptr %arrayidx40.i.i.i.i, i64 20 store i32 %and.i.i.i.i, ptr %ha.i.i.i.i, align 4 - %cmp56.i.i.i.i = icmp ugt i32 %and.i.i.i.i, 3 + %cmp56.i.i.i.i = icmp samesign ugt i32 %and.i.i.i.i, 3 br i1 %cmp56.i.i.i.i, label %if.then57.i.i.i.i, label %if.end59.i.i.i.i if.then57.i.i.i.i: ; preds = %if.end48.i.i.i.i @@ -6270,8 +6270,8 @@ lor.lhs.false79.i.i.i.i: ; preds = %if.then76.i.i.i.i lor.lhs.false86.i.i.i.i: ; preds = %lor.lhs.false79.i.i.i.i %cmp88.i.i.i.i = icmp ugt i8 %retval.0.i212.i.i.i.i, -33 - %cmp91.i.i.i.i = icmp ugt i32 %and75.i.i.i.i, 13 - %or.cond51.i.i.i.i = or i1 %cmp88.i.i.i.i, %cmp91.i.i.i.i + %cmp91.i.i.i.i = icmp samesign ugt i32 %and75.i.i.i.i, 13 + %or.cond51.i.i.i.i = select i1 %cmp88.i.i.i.i, i1 true, i1 %cmp91.i.i.i.i br i1 %or.cond51.i.i.i.i, label %if.then92.i.i.i.i, label %if.end11.i.i.i if.then92.i.i.i.i: ; preds = %lor.lhs.false86.i.i.i.i, %lor.lhs.false79.i.i.i.i, %if.then76.i.i.i.i @@ -11723,7 +11723,7 @@ cond.false136: ; preds = %if.then131 cond.end138: ; preds = %cond.false136, %_ZL10stbi__get8P13stbi__context.exit454 %cond139 = phi i32 [ %conv135, %_ZL10stbi__get8P13stbi__context.exit454 ], [ %call137, %cond.false136 ] - %cmp140.not = icmp ult i32 %cond139, %call6 + %cmp140.not = icmp samesign ult i32 %cond139, %call6 %spec.store.select = select i1 %cmp140.not, i32 %cond139, i32 0 %134 = zext nneg i32 %spec.store.select to i64 %135 = mul nuw nsw i64 %108, %134 @@ -13898,7 +13898,7 @@ if.end.i8.i: ; preds = %land.lhs.true.i _ZL21stbi__mul2sizes_validii.exit14.i: ; preds = %if.end.i8.i %div.i11.i = udiv i32 2147483647, %2 - %cmp5.i12.not.i = icmp ugt i32 %mul.i, %div.i11.i + %cmp5.i12.not.i = icmp samesign ugt i32 %mul.i, %div.i11.i br i1 %cmp5.i12.not.i, label %return.sink.split, label %if.end7 if.end7: ; preds = %_ZL21stbi__mul2sizes_validii.exit14.i, %if.end.i8.i @@ -17235,7 +17235,7 @@ for.body: ; preds = %for.body.preheader, %add.ptr42 = getelementptr inbounds i8, ptr %out.addr.1113, i64 32 %indvars.iv.next = add nuw nsw i64 %indvars.iv, 8 %24 = or disjoint i64 %indvars.iv.next, 7 - %cmp7 = icmp ult i64 %24, %0 + %cmp7 = icmp samesign ult i64 %24, %0 br i1 %cmp7, label %for.body, label %if.end.loopexit, !llvm.loop !131 if.end.loopexit: ; preds = %for.body @@ -17397,7 +17397,7 @@ for.body: ; preds = %for.body.preheader, %23 = load i8, ptr %arrayidx59, align 1 %conv60 = zext i8 %23 to i32 %add61 = add nuw nsw i32 %mul56, %conv60 - %cmp13 = icmp ult i64 %indvars.iv.next, %2 + %cmp13 = icmp samesign ult i64 %indvars.iv.next, %2 br i1 %cmp13, label %for.body, label %for.end.loopexit, !llvm.loop !133 for.end.loopexit: ; preds = %for.body @@ -17688,7 +17688,7 @@ sw.bb6: ; preds = %entry %4 = load ptr, ptr %z, align 8 %call8 = tail call fastcc noundef i32 @_ZL13stbi__get16beP13stbi__context(ptr noundef %4) %sub = add nsw i32 %call8, -2 - %cmp9310 = icmp ugt i32 %call8, 2 + %cmp9310 = icmp samesign ugt i32 %call8, 2 br i1 %cmp9310, label %while.body.lr.ph, label %while.end while.body.lr.ph: ; preds = %sw.bb6 @@ -17776,7 +17776,7 @@ if.then16: ; preds = %_ZL10stbi__get8P13s br label %return if.end18: ; preds = %_ZL10stbi__get8P13stbi__context.exit - %cmp19 = icmp ugt i32 %and, 3 + %cmp19 = icmp samesign ugt i32 %and, 3 br i1 %cmp19, label %if.then20, label %for.cond.preheader for.cond.preheader: ; preds = %if.end18 @@ -17898,7 +17898,7 @@ sw.bb39: ; preds = %entry %34 = load ptr, ptr %z, align 8 %call41 = tail call fastcc noundef i32 @_ZL13stbi__get16beP13stbi__context(ptr noundef %34) %sub42 = add nsw i32 %call41, -2 - %cmp44307 = icmp ugt i32 %call41, 2 + %cmp44307 = icmp samesign ugt i32 %call41, 2 br i1 %cmp44307, label %while.body45.lr.ph, label %while.end118 while.body45.lr.ph: ; preds = %sw.bb39 @@ -18200,7 +18200,7 @@ if.then.i214: ; preds = %for.body.i land.lhs.true.i: ; preds = %if.then.i214 %add.i = add nuw nsw i32 %and8.i, %conv11.i - %cmp12.i = icmp ult i32 %add.i, 10 + %cmp12.i = icmp samesign ult i32 %add.i, 10 br i1 %cmp12.i, label %if.then13.i, label %for.inc.i if.then13.i: ; preds = %land.lhs.true.i @@ -18251,7 +18251,7 @@ sw.epilog: ; preds = %entry if.then126: ; preds = %sw.epilog %82 = load ptr, ptr %z, align 8 %call128 = tail call fastcc noundef i32 @_ZL13stbi__get16beP13stbi__context(ptr noundef %82) - %cmp129 = icmp ult i32 %call128, 2 + %cmp129 = icmp samesign ult i32 %call128, 2 br i1 %cmp129, label %if.then130, label %if.end136 if.then130: ; preds = %if.then126 @@ -18268,8 +18268,8 @@ if.else134: ; preds = %if.then130 if.end136: ; preds = %if.then126 %cmp138 = icmp eq i32 %m, 224 - %cmp140 = icmp ugt i32 %call128, 6 - %or.cond4 = and i1 %cmp138, %cmp140 + %cmp140 = icmp samesign ugt i32 %call128, 6 + %or.cond4 = select i1 %cmp138, i1 %cmp140, i1 false br i1 %or.cond4, label %for.body145, label %if.else162 for.body145: ; preds = %if.end136, %_ZL10stbi__get8P13stbi__context.exit248 @@ -18361,8 +18361,8 @@ if.then160: ; preds = %for.end157 if.else162: ; preds = %if.end136 %sub137 = add nsw i32 %call128, -2 %cmp163 = icmp eq i32 %m, 238 - %cmp165 = icmp ugt i32 %call128, 13 - %or.cond5 = and i1 %cmp163, %cmp165 + %cmp165 = icmp samesign ugt i32 %call128, 13 + %or.cond5 = select i1 %cmp163, i1 %cmp165, i1 false br i1 %or.cond5, label %for.body171, label %if.end199 for.body171: ; preds = %if.else162, %_ZL10stbi__get8P13stbi__context.exit281 @@ -18535,7 +18535,7 @@ define internal fastcc noundef range(i32 0, 2) i32 @_ZL26stbi__process_frame_hea entry: %0 = load ptr, ptr %z, align 8 %call = tail call fastcc noundef i32 @_ZL13stbi__get16beP13stbi__context(ptr noundef %0) - %cmp = icmp ult i32 %call, 11 + %cmp = icmp samesign ult i32 %call, 11 br i1 %cmp, label %if.then, label %if.end if.then: ; preds = %entry diff --git a/bench/php/optimized/pcre2_jit_compile.ll b/bench/php/optimized/pcre2_jit_compile.ll index 751dd679667..01fa64912ff 100644 --- a/bench/php/optimized/pcre2_jit_compile.ll +++ b/bench/php/optimized/pcre2_jit_compile.ll @@ -12956,7 +12956,7 @@ define internal fastcc range(i32 0, -2147483648) i32 @detect_early_fail(ptr noca %16 = icmp eq i8 %15, 120 %17 = tail call i32 @llvm.smax.i32(i32 %4, i32 1) %spec.store.select17 = select i1 %16, i32 %17, i32 %4 - %18 = icmp ugt i32 %3, 3 + %18 = icmp samesign ugt i32 %3, 3 %19 = getelementptr inbounds i8, ptr %0, i64 40 %20 = add nuw nsw i32 %3, 1 %21 = getelementptr inbounds i8, ptr %0, i64 24 @@ -13412,7 +13412,7 @@ bracketend.exit: ; preds = %167 br label %207 207: ; preds = %204, %195 - %208 = icmp ult i32 %spec.select201, 6 + %208 = icmp samesign ult i32 %spec.select201, 6 br i1 %208, label %thread-pre-split.backedge, label %.thread.loopexit292 thread-pre-split.backedge: ; preds = %207, %258, %210, %.loopexit214, %147, %.loopexit210, %62, %61, %41, %39, %37, %35, %50, %46, %43, %89, %85, %82, %104, %100, %.loopexit212, %.thread208 @@ -13981,7 +13981,7 @@ define internal fastcc i32 @sljit_emit_op2(ptr nocapture noundef %0, i32 noundef br label %emit_mul.exit 38: ; preds = %33, %31 - %39 = icmp ult i32 %2, 127 + %39 = icmp samesign ult i32 %2, 127 %40 = icmp eq i32 %6, %2 %or.cond171 = and i1 %39, %40 br i1 %or.cond171, label %41, label %47 @@ -14008,7 +14008,7 @@ define internal fastcc i32 @sljit_emit_op2(ptr nocapture noundef %0, i32 noundef br label %emit_mul.exit 51: ; preds = %10 - %52 = icmp ult i32 %2, 127 + %52 = icmp samesign ult i32 %2, 127 %53 = select i1 %52, i32 %2, i32 15 %54 = icmp eq i32 %53, %4 %55 = icmp ne i32 %6, 127 @@ -14881,7 +14881,7 @@ check_fast_forward_char_pair_simd.exit: ; preds = %._crit_edge.i 131: ; preds = %126, %122, %.lr.ph %.1155 = phi i32 [ %.0154482, %122 ], [ %.0154482, %.lr.ph ], [ %spec.select, %126 ] %.1153 = phi i32 [ %.0152483, %122 ], [ %.0152483, %.lr.ph ], [ %spec.select179, %126 ] - %132 = icmp ult i64 %indvars.iv500, %120 + %132 = icmp samesign ult i64 %indvars.iv500, %120 br i1 %132, label %133, label %138 133: ; preds = %131 @@ -14964,7 +14964,7 @@ check_fast_forward_char_pair_simd.exit: ; preds = %._crit_edge.i %169 = getelementptr inbounds i8, ptr %155, i64 %168 %170 = load i8, ptr %169, align 1 %171 = zext i8 %170 to i64 - %172 = icmp ult i64 %indvars.iv505, %171 + %172 = icmp samesign ult i64 %indvars.iv505, %171 br i1 %172, label %173, label %174 173: ; preds = %166 @@ -27749,7 +27749,7 @@ define internal fastcc noundef ptr @sljit_emit_jump(ptr nocapture noundef %0, i3 set_jump.exit: ; preds = %30, %31 store ptr %.0.i.ph, ptr %28, align 8 - %33 = icmp ugt i32 %1, 35 + %33 = icmp samesign ugt i32 %1, 35 %34 = select i1 %33, i64 13, i64 15 %35 = getelementptr inbounds i8, ptr %0, i64 128 %36 = load i64, ptr %35, align 8 @@ -34939,7 +34939,7 @@ emit_do_imm32.exit.thread.i: ; preds = %50, %44 br label %emit_cmp_binary.exit 114: ; preds = %55 - %115 = icmp ult i32 %4, 127 + %115 = icmp samesign ult i32 %4, 127 %116 = icmp ne i32 %2, 127 %or.cond9.i = and i1 %116, %115 br i1 %or.cond9.i, label %117, label %122 @@ -35355,7 +35355,7 @@ emit_do_imm32.exit160.thread.i: ; preds = %230, %224 br label %emit_cmp_binary.exit 298: ; preds = %275 - %299 = icmp ult i32 %4, 127 + %299 = icmp samesign ult i32 %4, 127 br i1 %299, label %300, label %.thread185.i 300: ; preds = %298 @@ -35513,7 +35513,7 @@ define internal fastcc void @sljit_emit_op_dst(ptr nocapture noundef %0, i32 nou br i1 %.not, label %4, label %emit_fast_enter.exit 4: ; preds = %2 - %5 = icmp ult i32 %1, 127 + %5 = icmp samesign ult i32 %1, 127 br i1 %5, label %6, label %67 6: ; preds = %4 @@ -42411,7 +42411,7 @@ sljit_emit_op_src.exit: ; preds = %emit_mov.exit183, % ; Function Attrs: nounwind uwtable define internal fastcc void @do_reset_match(ptr nocapture noundef nonnull readonly %0, i32 noundef range(i32 2, 131073) %1) unnamed_addr #0 { %3 = load ptr, ptr %0, align 8 - %4 = icmp ugt i32 %1, 2 + %4 = icmp samesign ugt i32 %1, 2 br i1 %4, label %5, label %sljit_set_label.exit94 5: ; preds = %2 @@ -42435,7 +42435,7 @@ emit_mov.exit.thread: ; preds = %7 br label %sljit_emit_op1.exit sljit_emit_op1.exit: ; preds = %7, %5, %emit_mov.exit.thread - %14 = icmp ult i32 %1, 8 + %14 = icmp samesign ult i32 %1, 8 %15 = getelementptr inbounds i8, ptr %0, i64 68 br i1 %14, label %.lr.ph, label %27 @@ -54814,10 +54814,10 @@ define internal fastcc i32 @emit_lea_binary(ptr nocapture noundef %0, i32 nounde br i1 %or.cond64, label %emit_mov.exit, label %13 13: ; preds = %10 - %14 = icmp ult i32 %1, 127 + %14 = icmp samesign ult i32 %1, 127 %15 = select i1 %14, i32 %1, i32 15 %16 = icmp slt i32 %3, 127 - %17 = icmp ult i32 %5, 127 + %17 = icmp samesign ult i32 %5, 127 br i1 %16, label %18, label %38 18: ; preds = %13 @@ -55462,7 +55462,7 @@ emit_do_imm32.exit.thread: ; preds = %47, %53 br label %297 110: ; preds = %17 - %111 = icmp ult i32 %2, 127 + %111 = icmp samesign ult i32 %2, 127 br i1 %111, label %112, label %117 112: ; preds = %110 @@ -55479,7 +55479,7 @@ emit_do_imm32.exit.thread: ; preds = %47, %53 br label %297 117: ; preds = %110 - %118 = icmp ult i32 %6, 127 + %118 = icmp samesign ult i32 %6, 127 br i1 %118, label %119, label %124 119: ; preds = %117 @@ -55661,7 +55661,7 @@ emit_do_imm32.exit285.thread: ; preds = %166, %172 br label %297 199: ; preds = %136 - %200 = icmp ult i32 %2, 127 + %200 = icmp samesign ult i32 %2, 127 br i1 %200, label %201, label %206 201: ; preds = %199 @@ -55717,7 +55717,7 @@ emit_do_imm32.exit285.thread: ; preds = %166, %172 br label %297 222: ; preds = %133 - %223 = icmp ult i32 %2, 127 + %223 = icmp samesign ult i32 %2, 127 br i1 %223, label %224, label %260 224: ; preds = %222 @@ -55917,7 +55917,7 @@ define internal fastcc i32 @emit_unary(ptr nocapture noundef %0, i8 noundef zero br label %71 17: ; preds = %6 - %18 = icmp ult i32 %2, 127 + %18 = icmp samesign ult i32 %2, 127 br i1 %18, label %19, label %31 19: ; preds = %17 @@ -56237,7 +56237,7 @@ emit_do_imm32.exit.thread: ; preds = %47, %53 br label %208 110: ; preds = %17 - %111 = icmp ult i32 %2, 127 + %111 = icmp samesign ult i32 %2, 127 br i1 %111, label %112, label %117 112: ; preds = %110 @@ -56509,7 +56509,7 @@ define internal fastcc i32 @emit_shift_with_flags(ptr nocapture noundef %0, i8 n br label %emit_cmp_binary.exit64 26: ; preds = %23 - %27 = icmp ult i32 %3, 127 + %27 = icmp samesign ult i32 %3, 127 br i1 %27, label %.thread, label %28 28: ; preds = %26 @@ -56813,7 +56813,7 @@ emit_mov.exit: ; preds = %71 br label %emit_mov.exit188 88: ; preds = %21 - %89 = icmp ult i32 %2, 127 + %89 = icmp samesign ult i32 %2, 127 br i1 %89, label %90, label %102 90: ; preds = %88 @@ -56976,7 +56976,7 @@ emit_mov.exit174: ; preds = %110 br label %emit_mov.exit188 164: ; preds = %116 - %165 = icmp ult i32 %2, 127 + %165 = icmp samesign ult i32 %2, 127 br i1 %165, label %166, label %197 166: ; preds = %164 @@ -66793,7 +66793,7 @@ define internal fastcc range(i32 0, 2) i32 @optimize_class(ptr nocapture noundef %.1125.i = phi i8 [ %.01248.i, %12 ], [ %33, %28 ], [ %.01248.i, %._crit_edge.i ] %.1.i = phi i32 [ %.010.i, %12 ], [ %31, %28 ], [ %.010.i, %._crit_edge.i ] %35 = add nuw nsw i32 %.sink.i, %.01219.i - %36 = icmp ult i32 %35, 256 + %36 = icmp samesign ult i32 %35, 256 br i1 %36, label %12, label %37 37: ; preds = %34 @@ -78636,7 +78636,7 @@ emit_mov.exit.thread: ; preds = %29 br label %sljit_emit_op1.exit sljit_emit_op1.exit: ; preds = %29, %emit_mov.exit.thread, %3 - %35 = icmp ugt i32 %12, 1 + %35 = icmp samesign ugt i32 %12, 1 br i1 %35, label %.lr.ph, label %._crit_edge .lr.ph: ; preds = %sljit_emit_op1.exit @@ -84337,7 +84337,7 @@ sljit_emit_op2.exit932thread-pre-split: ; preds = %sljit_emit_op1.exit sljit_emit_op2.exit932: ; preds = %sljit_emit_op2.exit932thread-pre-split, %emit_mov.exit1297, %sljit_emit_op1.exit928 %.pre1686 = phi i32 [ %.pre1686.pr, %sljit_emit_op2.exit932thread-pre-split ], [ %679, %emit_mov.exit1297 ], [ %.pr1734, %sljit_emit_op1.exit928 ] %683 = phi ptr [ %.ph1738, %sljit_emit_op2.exit932thread-pre-split ], [ %659, %emit_mov.exit1297 ], [ %659, %sljit_emit_op1.exit928 ] - %684 = icmp ugt i32 %614, 1 + %684 = icmp samesign ugt i32 %614, 1 br i1 %684, label %.lr.ph1661, label %._crit_edge .lr.ph1661: ; preds = %sljit_emit_op2.exit932 @@ -106550,7 +106550,7 @@ sljit_set_label.exit: ; preds = %267, %271 br label %free_stack.exit587.thread1569 282: ; preds = %sljit_emit_op1.exit584 - %283 = icmp ugt i32 %.0475, 139 + %283 = icmp samesign ugt i32 %.0475, 139 %or.cond5 = or i1 %283, %105 br i1 %or.cond5, label %284, label %320 diff --git a/bench/postgres/optimized/mbprint.ll b/bench/postgres/optimized/mbprint.ll index cf576aa1f98..68688703690 100644 --- a/bench/postgres/optimized/mbprint.ll +++ b/bench/postgres/optimized/mbprint.ll @@ -441,13 +441,13 @@ pg_get_utf8_id.exit: ; preds = %2, %5 9: ; preds = %pg_get_utf8_id.exit %10 = load i8, ptr %0, align 1 - %.not30.i = icmp eq i8 %10, 0 - br i1 %.not30.i, label %mb_utf_validate.exit, label %.lr.ph.i + %.not29.i = icmp eq i8 %10, 0 + br i1 %.not29.i, label %mb_utf_validate.exit, label %.lr.ph.i .lr.ph.i: ; preds = %9, %.loopexit.i - %11 = phi i8 [ %86, %.loopexit.i ], [ %10, %9 ] - %.01732.i = phi ptr [ %.2.i, %.loopexit.i ], [ %0, %9 ] - %.01831.i = phi ptr [ %.220.i, %.loopexit.i ], [ %0, %9 ] + %11 = phi i8 [ %94, %.loopexit.i ], [ %10, %9 ] + %.01731.i = phi ptr [ %.2.i, %.loopexit.i ], [ %0, %9 ] + %.01830.i = phi ptr [ %.220.i, %.loopexit.i ], [ %0, %9 ] %12 = zext i8 %11 to i32 %13 = icmp sgt i8 %11, -1 br i1 %13, label %utf_charcheck.exit.i, label %14 @@ -458,22 +458,22 @@ pg_get_utf8_id.exit: ; preds = %2, %5 br i1 %16, label %17, label %23 17: ; preds = %14 - %18 = getelementptr i8, ptr %.01732.i, i64 1 + %18 = getelementptr i8, ptr %.01731.i, i64 1 %19 = load i8, ptr %18, align 1 %20 = and i8 %19, -64 %21 = icmp ne i8 %20, -128 %22 = and i32 %12, 30 %.not39.i.i = icmp eq i32 %22, 0 - %or.cond.i.i = or i1 %.not39.i.i, %21 - br i1 %or.cond.i.i, label %select.unfold.i, label %utf_charcheck.exit.i + %or.cond40.i.i = or i1 %.not39.i.i, %21 + br i1 %or.cond40.i.i, label %select.unfold.i, label %utf_charcheck.exit.i 23: ; preds = %14 %24 = and i32 %12, 240 %25 = icmp eq i32 %24, 224 - br i1 %25, label %26, label %43 + br i1 %25, label %26, label %51 26: ; preds = %23 - %27 = getelementptr i8, ptr %.01732.i, i64 1 + %27 = getelementptr i8, ptr %.01731.i, i64 1 %28 = load i8, ptr %27, align 1 %29 = zext i8 %28 to i32 %30 = and i32 %29, 192 @@ -484,113 +484,131 @@ pg_get_utf8_id.exit: ; preds = %2, %5 %33 = and i32 %12, 15 %34 = and i32 %29, 32 %35 = or disjoint i32 %34, %33 - %or.cond40.i.i = icmp eq i32 %35, 0 - br i1 %or.cond40.i.i, label %select.unfold.i, label %36 + %or.cond41.i.i = icmp eq i32 %35, 0 + br i1 %or.cond41.i.i, label %select.unfold.i, label %36 36: ; preds = %32 - %37 = getelementptr i8, ptr %.01732.i, i64 2 + %37 = getelementptr i8, ptr %.01731.i, i64 2 %38 = load i8, ptr %37, align 1 %39 = and i8 %38, -64 %40 = icmp eq i8 %39, -128 br i1 %40, label %41, label %select.unfold.i 41: ; preds = %36 - %cond.i.i = icmp eq i32 %33, 13 - %42 = and i8 %28, 44 - %.old41.i.i = icmp eq i8 %42, 32 - %or.cond50.i.i = and i1 %cond.i.i, %.old41.i.i - br i1 %or.cond50.i.i, label %select.unfold.i, label %utf_charcheck.exit.i - -43: ; preds = %23 - %44 = and i32 %12, 248 - %45 = icmp eq i32 %44, 240 - br i1 %45, label %46, label %select.unfold.i - -46: ; preds = %43 - %47 = shl nuw nsw i32 %12, 2 - %48 = and i32 %47, 28 - %49 = getelementptr i8, ptr %.01732.i, i64 1 - %50 = load i8, ptr %49, align 1 - %51 = zext i8 %50 to i32 - %52 = lshr i32 %51, 4 - %53 = and i32 %52, 3 - %54 = and i32 %51, 192 - %55 = icmp eq i32 %54, 128 - %56 = add nsw i32 %48, -1 - %57 = add nsw i32 %56, %53 - %58 = icmp ult i32 %57, 16 - %or.cond7.i.i = select i1 %55, i1 %58, i1 false - br i1 %or.cond7.i.i, label %59, label %select.unfold.i - -59: ; preds = %46 - %60 = getelementptr i8, ptr %.01732.i, i64 2 - %61 = load i8, ptr %60, align 1 - %62 = zext i8 %61 to i32 - %63 = and i32 %62, 192 + switch i32 %33, label %utf_charcheck.exit.i [ + i32 15, label %42 + i32 13, label %50 + ] + +42: ; preds = %41 + %43 = shl nuw nsw i32 %29, 6 + %.masked.i.i = and i32 %43, 64 + %44 = and i32 %12, 47 + %45 = or disjoint i32 %.masked.i.i, %44 + %46 = and i32 %29, 62 + %47 = icmp eq i32 %46, 54 + %48 = icmp samesign ugt i32 %45, 47 + %or.cond.i.i = select i1 %47, i1 %48, i1 false + %49 = icmp samesign ult i32 %45, 80 + %or.cond3.i.i = select i1 %or.cond.i.i, i1 %49, i1 false + br i1 %or.cond3.i.i, label %select.unfold.i, label %utf_charcheck.exit.i + +50: ; preds = %41 + %.old.i.i = and i32 %29, 44 + %.old42.i.i = icmp eq i32 %.old.i.i, 32 + br i1 %.old42.i.i, label %select.unfold.i, label %utf_charcheck.exit.i + +51: ; preds = %23 + %52 = and i32 %12, 248 + %53 = icmp eq i32 %52, 240 + br i1 %53, label %54, label %select.unfold.i + +54: ; preds = %51 + %55 = shl nuw nsw i32 %12, 2 + %56 = and i32 %55, 28 + %57 = getelementptr i8, ptr %.01731.i, i64 1 + %58 = load i8, ptr %57, align 1 + %59 = zext i8 %58 to i32 + %60 = lshr i32 %59, 4 + %61 = and i32 %60, 3 + %62 = or disjoint i32 %61, %56 + %63 = and i32 %59, 192 %64 = icmp eq i32 %63, 128 - br i1 %64, label %65, label %select.unfold.i - -65: ; preds = %59 - %66 = getelementptr i8, ptr %.01732.i, i64 3 - %67 = load i8, ptr %66, align 1 - %68 = zext i8 %67 to i32 - %69 = and i32 %68, 192 - %70 = icmp eq i32 %69, 128 - br i1 %70, label %71, label %select.unfold.i - -71: ; preds = %65 - %72 = and i32 %51, 15 - %73 = icmp eq i32 %72, 15 - %74 = and i32 %62, 63 - %75 = icmp eq i32 %74, 63 - %or.cond45.i.i = and i1 %73, %75 - %76 = and i32 %68, 62 - %77 = icmp eq i32 %76, 62 - %or.cond48.i.i = and i1 %or.cond45.i.i, %77 - br i1 %or.cond48.i.i, label %select.unfold.i, label %utf_charcheck.exit.i - -utf_charcheck.exit.i: ; preds = %71, %41, %17, %.lr.ph.i - %.0.i.i = phi i32 [ 1, %.lr.ph.i ], [ 2, %17 ], [ 4, %71 ], [ 3, %41 ] - %.not23.i = icmp eq ptr %.01831.i, %.01732.i - br i1 %.not23.i, label %82, label %.preheader.i + %65 = icmp ne i32 %62, 0 + %or.cond5.i.i = select i1 %64, i1 %65, i1 false + %66 = icmp samesign ult i32 %62, 17 + %or.cond7.i.i = select i1 %or.cond5.i.i, i1 %66, i1 false + br i1 %or.cond7.i.i, label %67, label %select.unfold.i + +67: ; preds = %54 + %68 = getelementptr i8, ptr %.01731.i, i64 2 + %69 = load i8, ptr %68, align 1 + %70 = zext i8 %69 to i32 + %71 = and i32 %70, 192 + %72 = icmp eq i32 %71, 128 + br i1 %72, label %73, label %select.unfold.i + +73: ; preds = %67 + %74 = getelementptr i8, ptr %.01731.i, i64 3 + %75 = load i8, ptr %74, align 1 + %76 = zext i8 %75 to i32 + %77 = and i32 %76, 192 + %78 = icmp eq i32 %77, 128 + br i1 %78, label %79, label %select.unfold.i + +79: ; preds = %73 + %80 = and i32 %59, 15 + %81 = icmp eq i32 %80, 15 + %82 = and i32 %70, 63 + %83 = icmp eq i32 %82, 63 + %or.cond46.i.i = and i1 %81, %83 + %84 = and i32 %76, 62 + %85 = icmp eq i32 %84, 62 + %or.cond49.i.i = and i1 %or.cond46.i.i, %85 + br i1 %or.cond49.i.i, label %select.unfold.i, label %utf_charcheck.exit.i + +utf_charcheck.exit.i: ; preds = %79, %50, %42, %41, %17, %.lr.ph.i + %.0.i.i = phi i32 [ 1, %.lr.ph.i ], [ 2, %17 ], [ 4, %79 ], [ 3, %50 ], [ 3, %42 ], [ 3, %41 ] + %.not23.i = icmp eq ptr %.01830.i, %.01731.i + br i1 %.not23.i, label %90, label %.preheader.i .preheader.i: ; preds = %utf_charcheck.exit.i, %.preheader.i - %.029.i = phi i32 [ %81, %.preheader.i ], [ 0, %utf_charcheck.exit.i ] - %.128.i = phi ptr [ %78, %.preheader.i ], [ %.01732.i, %utf_charcheck.exit.i ] - %.11927.i = phi ptr [ %80, %.preheader.i ], [ %.01831.i, %utf_charcheck.exit.i ] - %78 = getelementptr i8, ptr %.128.i, i64 1 - %79 = load i8, ptr %.128.i, align 1 - %80 = getelementptr i8, ptr %.11927.i, i64 1 - store i8 %79, ptr %.11927.i, align 1 - %81 = add nuw nsw i32 %.029.i, 1 - %exitcond.not.i = icmp eq i32 %81, %.0.i.i + %.028.i = phi i32 [ %89, %.preheader.i ], [ 0, %utf_charcheck.exit.i ] + %.127.i = phi ptr [ %86, %.preheader.i ], [ %.01731.i, %utf_charcheck.exit.i ] + %.11926.i = phi ptr [ %88, %.preheader.i ], [ %.01830.i, %utf_charcheck.exit.i ] + %86 = getelementptr i8, ptr %.127.i, i64 1 + %87 = load i8, ptr %.127.i, align 1 + %88 = getelementptr i8, ptr %.11926.i, i64 1 + store i8 %87, ptr %.11926.i, align 1 + %89 = add nuw nsw i32 %.028.i, 1 + %exitcond.not.i = icmp eq i32 %89, %.0.i.i br i1 %exitcond.not.i, label %.loopexit.i, label %.preheader.i, !llvm.loop !10 -82: ; preds = %utf_charcheck.exit.i - %83 = zext nneg i32 %.0.i.i to i64 - %84 = getelementptr i8, ptr %.01732.i, i64 %83 +90: ; preds = %utf_charcheck.exit.i + %91 = zext nneg i32 %.0.i.i to i64 + %92 = getelementptr i8, ptr %.01731.i, i64 %91 br label %.loopexit.i -select.unfold.i: ; preds = %71, %65, %59, %46, %43, %41, %36, %32, %26, %17 - %85 = getelementptr i8, ptr %.01732.i, i64 1 +select.unfold.i: ; preds = %79, %73, %67, %54, %51, %50, %42, %36, %32, %26, %17 + %93 = getelementptr i8, ptr %.01731.i, i64 1 br label %.loopexit.i -.loopexit.i: ; preds = %.preheader.i, %select.unfold.i, %82 - %.220.i = phi ptr [ %84, %82 ], [ %.01831.i, %select.unfold.i ], [ %80, %.preheader.i ] - %.2.i = phi ptr [ %84, %82 ], [ %85, %select.unfold.i ], [ %78, %.preheader.i ] - %86 = load i8, ptr %.2.i, align 1 - %.not.i = icmp eq i8 %86, 0 +.loopexit.i: ; preds = %.preheader.i, %select.unfold.i, %90 + %.220.i = phi ptr [ %92, %90 ], [ %.01830.i, %select.unfold.i ], [ %88, %.preheader.i ] + %.2.i = phi ptr [ %92, %90 ], [ %93, %select.unfold.i ], [ %86, %.preheader.i ] + %94 = load i8, ptr %.2.i, align 1 + %.not.i = icmp eq i8 %94, 0 br i1 %.not.i, label %._crit_edge.i, label %.lr.ph.i, !llvm.loop !11 ._crit_edge.i: ; preds = %.loopexit.i %.not22.i = icmp eq ptr %.220.i, %.2.i - br i1 %.not22.i, label %mb_utf_validate.exit, label %87 + br i1 %.not22.i, label %mb_utf_validate.exit, label %95 -87: ; preds = %._crit_edge.i +95: ; preds = %._crit_edge.i store i8 0, ptr %.220.i, align 1 br label %mb_utf_validate.exit -mb_utf_validate.exit: ; preds = %87, %._crit_edge.i, %9, %pg_get_utf8_id.exit +mb_utf_validate.exit: ; preds = %95, %._crit_edge.i, %9, %pg_get_utf8_id.exit ret ptr %0 } diff --git a/bench/postgres/optimized/relcache.ll b/bench/postgres/optimized/relcache.ll index 0665a85b6d3..61cf886734f 100644 --- a/bench/postgres/optimized/relcache.ll +++ b/bench/postgres/optimized/relcache.ll @@ -2743,7 +2743,7 @@ AttrDefaultFetch.exit.i: ; preds = %382, %380 .outer.i.i.outer: ; preds = %453, %400 %.0.ph.i.i.ph = phi i32 [ %459, %453 ], [ 0, %400 ] - %.not45.i.i = icmp ult i32 %.0.ph.i.i.ph, %401 + %.not45.i.i = icmp samesign ult i32 %.0.ph.i.i.ph, %401 %411 = zext nneg i32 %.0.ph.i.i.ph to i64 %412 = getelementptr %struct.ConstrCheck, ptr %405, i64 %411 %413 = getelementptr inbounds i8, ptr %412, i64 16 @@ -2847,7 +2847,7 @@ AttrDefaultFetch.exit.i: ; preds = %382, %380 br label %467 467: ; preds = %462, %460, %.loopexit.i91.i - %468 = icmp ugt i32 %.0.ph.i.i.ph, 1 + %468 = icmp samesign ugt i32 %.0.ph.i.i.ph, 1 br i1 %468, label %469, label %CheckConstraintFetch.exit.i 469: ; preds = %467 @@ -8864,47 +8864,14 @@ define dso_local void @RelationCacheInitFilePreInvalidate() local_unnamed_addr # %10 = call zeroext i1 @LWLockAcquire(ptr noundef %9, i32 noundef 0) #12 %11 = load ptr, ptr @DatabasePath, align 8 %.not1 = icmp eq ptr %11, null - br i1 %.not1, label %unlink_initfile.exit, label %12 + br i1 %.not1, label %13, label %12 12: ; preds = %6 - %13 = call i32 @unlink(ptr noundef nonnull %1) #12 - %14 = icmp slt i32 %13, 0 - br i1 %14, label %15, label %unlink_initfile.exit - -15: ; preds = %12 - %16 = tail call ptr @__errno_location() #15 - %17 = load i32, ptr %16, align 4 - %.not.i = icmp eq i32 %17, 2 - br i1 %.not.i, label %unlink_initfile.exit, label %18 - -18: ; preds = %15 - %19 = call zeroext i1 @errstart_cold(i32 noundef 21, ptr noundef null) #13 - call void @llvm.assume(i1 %19) - %20 = call i32 @errcode_for_file_access() #12 - %21 = call i32 (ptr, ...) @errmsg(ptr noundef nonnull @.str.76, ptr noundef nonnull %1) #12 - call void @errfinish(ptr noundef nonnull @.str.1, i32 noundef 6834, ptr noundef nonnull @__func__.unlink_initfile) #12 - unreachable - -unlink_initfile.exit: ; preds = %15, %12, %6 - %22 = call i32 @unlink(ptr noundef nonnull %2) #12 - %23 = icmp slt i32 %22, 0 - br i1 %23, label %24, label %unlink_initfile.exit3 - -24: ; preds = %unlink_initfile.exit - %25 = tail call ptr @__errno_location() #15 - %26 = load i32, ptr %25, align 4 - %.not.i2 = icmp eq i32 %26, 2 - br i1 %.not.i2, label %unlink_initfile.exit3, label %27 - -27: ; preds = %24 - %28 = call zeroext i1 @errstart_cold(i32 noundef 21, ptr noundef null) #13 - call void @llvm.assume(i1 %28) - %29 = call i32 @errcode_for_file_access() #12 - %30 = call i32 (ptr, ...) @errmsg(ptr noundef nonnull @.str.76, ptr noundef nonnull %2) #12 - call void @errfinish(ptr noundef nonnull @.str.1, i32 noundef 6834, ptr noundef nonnull @__func__.unlink_initfile) #12 - unreachable + call fastcc void @unlink_initfile(ptr noundef %1, i32 noundef 21) + br label %13 -unlink_initfile.exit3: ; preds = %unlink_initfile.exit, %24 +13: ; preds = %12, %6 + call fastcc void @unlink_initfile(ptr noundef %2, i32 noundef 21) ret void } @@ -8912,6 +8879,32 @@ declare i32 @pg_snprintf(ptr noundef, i64 noundef, ptr noundef, ...) local_unnam declare zeroext i1 @LWLockAcquire(ptr noundef, i32 noundef) local_unnamed_addr #1 +; Function Attrs: nounwind uwtable +define internal fastcc void @unlink_initfile(ptr noundef nonnull %0, i32 noundef range(i32 15, 22) %1) unnamed_addr #0 { + %3 = tail call i32 @unlink(ptr noundef nonnull %0) #12 + %4 = icmp slt i32 %3, 0 + br i1 %4, label %5, label %13 + +5: ; preds = %2 + %6 = tail call ptr @__errno_location() #15 + %7 = load i32, ptr %6, align 4 + %.not = icmp eq i32 %7, 2 + br i1 %.not, label %13, label %8 + +8: ; preds = %5 + %9 = tail call zeroext i1 @errstart(i32 noundef %1, ptr noundef null) #12 + br i1 %9, label %10, label %13 + +10: ; preds = %8 + %11 = tail call i32 @errcode_for_file_access() #12 + %12 = tail call i32 (ptr, ...) @errmsg(ptr noundef nonnull @.str.76, ptr noundef nonnull %0) #12 + tail call void @errfinish(ptr noundef nonnull @.str.1, i32 noundef 6834, ptr noundef nonnull @__func__.unlink_initfile) #12 + br label %13 + +13: ; preds = %8, %10, %5, %2 + ret void +} + ; Function Attrs: nounwind uwtable define dso_local void @RelationCacheInitFilePostInvalidate() local_unnamed_addr #0 { %1 = load ptr, ptr @MainLWLockArray, align 8 @@ -8926,53 +8919,33 @@ declare void @LWLockRelease(ptr noundef) local_unnamed_addr #1 define dso_local void @RelationCacheInitFileRemove() local_unnamed_addr #0 { %1 = alloca [1050 x i8], align 16 %2 = call i32 (ptr, i64, ptr, ...) @pg_snprintf(ptr noundef nonnull %1, i64 noundef 1050, ptr noundef nonnull @.str.36, ptr noundef nonnull @.str.35) #12 - %3 = call i32 @unlink(ptr noundef nonnull %1) #12 - %4 = icmp slt i32 %3, 0 - br i1 %4, label %5, label %unlink_initfile.exit - -5: ; preds = %0 - %6 = tail call ptr @__errno_location() #15 - %7 = load i32, ptr %6, align 4 - %.not.i = icmp eq i32 %7, 2 - br i1 %.not.i, label %unlink_initfile.exit, label %8 - -8: ; preds = %5 - %9 = call zeroext i1 @errstart(i32 noundef 15, ptr noundef null) #12 - br i1 %9, label %10, label %unlink_initfile.exit - -10: ; preds = %8 - %11 = call i32 @errcode_for_file_access() #12 - %12 = call i32 (ptr, ...) @errmsg(ptr noundef nonnull @.str.76, ptr noundef nonnull %1) #12 - call void @errfinish(ptr noundef nonnull @.str.1, i32 noundef 6834, ptr noundef nonnull @__func__.unlink_initfile) #12 - br label %unlink_initfile.exit - -unlink_initfile.exit: ; preds = %8, %10, %0, %5 + call fastcc void @unlink_initfile(ptr noundef %1, i32 noundef 15) call fastcc void @RelationCacheInitFileRemoveInDir(ptr noundef nonnull @.str.38) - %13 = call ptr @AllocateDir(ptr noundef nonnull @.str.37) #12 - %14 = call ptr @ReadDirExtended(ptr noundef %13, ptr noundef nonnull @.str.37, i32 noundef 15) #12 - %.not8 = icmp eq ptr %14, null + %3 = call ptr @AllocateDir(ptr noundef nonnull @.str.37) #12 + %4 = call ptr @ReadDirExtended(ptr noundef %3, ptr noundef nonnull @.str.37, i32 noundef 15) #12 + %.not8 = icmp eq ptr %4, null br i1 %.not8, label %._crit_edge, label %.lr.ph -.lr.ph: ; preds = %unlink_initfile.exit, %22 - %15 = phi ptr [ %23, %22 ], [ %14, %unlink_initfile.exit ] - %16 = getelementptr inbounds i8, ptr %15, i64 19 - %17 = call i64 @strspn(ptr noundef nonnull %16, ptr noundef nonnull @.str.39) #14 - %18 = call i64 @strlen(ptr noundef nonnull dereferenceable(1) %16) #14 - %19 = icmp eq i64 %17, %18 - br i1 %19, label %20, label %22 +.lr.ph: ; preds = %0, %12 + %5 = phi ptr [ %13, %12 ], [ %4, %0 ] + %6 = getelementptr inbounds i8, ptr %5, i64 19 + %7 = call i64 @strspn(ptr noundef nonnull %6, ptr noundef nonnull @.str.39) #14 + %8 = call i64 @strlen(ptr noundef nonnull dereferenceable(1) %6) #14 + %9 = icmp eq i64 %7, %8 + br i1 %9, label %10, label %12 -20: ; preds = %.lr.ph - %21 = call i32 (ptr, i64, ptr, ...) @pg_snprintf(ptr noundef nonnull %1, i64 noundef 1050, ptr noundef nonnull @.str.40, ptr noundef nonnull @.str.37, ptr noundef nonnull %16, ptr noundef nonnull @.str.41) #12 +10: ; preds = %.lr.ph + %11 = call i32 (ptr, i64, ptr, ...) @pg_snprintf(ptr noundef nonnull %1, i64 noundef 1050, ptr noundef nonnull @.str.40, ptr noundef nonnull @.str.37, ptr noundef nonnull %6, ptr noundef nonnull @.str.41) #12 call fastcc void @RelationCacheInitFileRemoveInDir(ptr noundef nonnull %1) - br label %22 + br label %12 -22: ; preds = %20, %.lr.ph - %23 = call ptr @ReadDirExtended(ptr noundef %13, ptr noundef nonnull @.str.37, i32 noundef 15) #12 - %.not = icmp eq ptr %23, null +12: ; preds = %10, %.lr.ph + %13 = call ptr @ReadDirExtended(ptr noundef %3, ptr noundef nonnull @.str.37, i32 noundef 15) #12 + %.not = icmp eq ptr %13, null br i1 %.not, label %._crit_edge, label %.lr.ph, !llvm.loop !46 -._crit_edge: ; preds = %22, %unlink_initfile.exit - %24 = call i32 @FreeDir(ptr noundef %13) #12 +._crit_edge: ; preds = %12, %0 + %14 = call i32 @FreeDir(ptr noundef %3) #12 ret void } @@ -8984,43 +8957,26 @@ define internal fastcc void @RelationCacheInitFileRemoveInDir(ptr noundef %0) un %.not8 = icmp eq ptr %4, null br i1 %.not8, label %._crit_edge, label %.lr.ph -.lr.ph: ; preds = %1, %unlink_initfile.exit - %5 = phi ptr [ %22, %unlink_initfile.exit ], [ %4, %1 ] +.lr.ph: ; preds = %1, %12 + %5 = phi ptr [ %13, %12 ], [ %4, %1 ] %6 = getelementptr inbounds i8, ptr %5, i64 19 %7 = call i64 @strspn(ptr noundef nonnull %6, ptr noundef nonnull @.str.39) #14 %8 = call i64 @strlen(ptr noundef nonnull dereferenceable(1) %6) #14 %9 = icmp eq i64 %7, %8 - br i1 %9, label %10, label %unlink_initfile.exit + br i1 %9, label %10, label %12 10: ; preds = %.lr.ph %11 = call i32 (ptr, i64, ptr, ...) @pg_snprintf(ptr noundef nonnull %2, i64 noundef 2048, ptr noundef nonnull @.str.40, ptr noundef %0, ptr noundef nonnull %6, ptr noundef nonnull @.str.35) #12 - %12 = call i32 @unlink(ptr noundef nonnull %2) #12 - %13 = icmp slt i32 %12, 0 - br i1 %13, label %14, label %unlink_initfile.exit - -14: ; preds = %10 - %15 = tail call ptr @__errno_location() #15 - %16 = load i32, ptr %15, align 4 - %.not.i = icmp eq i32 %16, 2 - br i1 %.not.i, label %unlink_initfile.exit, label %17 + call fastcc void @unlink_initfile(ptr noundef %2, i32 noundef 15) + br label %12 -17: ; preds = %14 - %18 = call zeroext i1 @errstart(i32 noundef 15, ptr noundef null) #12 - br i1 %18, label %19, label %unlink_initfile.exit - -19: ; preds = %17 - %20 = call i32 @errcode_for_file_access() #12 - %21 = call i32 (ptr, ...) @errmsg(ptr noundef nonnull @.str.76, ptr noundef nonnull %2) #12 - call void @errfinish(ptr noundef nonnull @.str.1, i32 noundef 6834, ptr noundef nonnull @__func__.unlink_initfile) #12 - br label %unlink_initfile.exit - -unlink_initfile.exit: ; preds = %14, %10, %19, %17, %.lr.ph - %22 = call ptr @ReadDirExtended(ptr noundef %3, ptr noundef %0, i32 noundef 15) #12 - %.not = icmp eq ptr %22, null +12: ; preds = %10, %.lr.ph + %13 = call ptr @ReadDirExtended(ptr noundef %3, ptr noundef %0, i32 noundef 15) #12 + %.not = icmp eq ptr %13, null br i1 %.not, label %._crit_edge, label %.lr.ph, !llvm.loop !47 -._crit_edge: ; preds = %unlink_initfile.exit, %1 - %23 = call i32 @FreeDir(ptr noundef %3) #12 +._crit_edge: ; preds = %12, %1 + %14 = call i32 @FreeDir(ptr noundef %3) #12 ret void } diff --git a/bench/protobuf/optimized/command_line_interface.cc.ll b/bench/protobuf/optimized/command_line_interface.cc.ll index 2d54160d169..8c0a92dfddc 100644 --- a/bench/protobuf/optimized/command_line_interface.cc.ll +++ b/bench/protobuf/optimized/command_line_interface.cc.ll @@ -18682,7 +18682,7 @@ if.end.i: ; preds = %if.end.loopexit.i, land.lhs.true.i: ; preds = %if.end.i %conv16.i = zext i8 %add12.i to i32 %add18.i = add nuw nsw i32 %conv.i, 1 - %cmp19.i = icmp ult i32 %add18.i, %conv16.i + %cmp19.i = icmp samesign ult i32 %add18.i, %conv16.i br i1 %cmp19.i, label %for.body.lr.ph.i, label %_ZN4absl12lts_2023080218container_internal10btree_nodeINS1_10set_paramsISt4pairIiiESt4lessIS5_ESaIS5_ELi256ELb0EEEE13emplace_valueIJS5_EEEvhPS8_DpOT_.exit for.body.lr.ph.i: ; preds = %land.lhs.true.i @@ -18701,7 +18701,7 @@ for.body.i: ; preds = %for.body.i, %for.bo %add.ptr.i.i.i.i20.i = getelementptr i8, ptr %25, i64 8 store i8 %j.023.i, ptr %add.ptr.i.i.i.i20.i, align 1 %conv22.i = zext i8 %sub27.i to i32 - %cmp25.i = icmp ult i32 %add18.i, %conv22.i + %cmp25.i = icmp samesign ult i32 %add18.i, %conv22.i br i1 %cmp25.i, label %for.body.i, label %_ZN4absl12lts_2023080218container_internal10btree_nodeINS1_10set_paramsISt4pairIiiESt4lessIS5_ESaIS5_ELi256ELb0EEEE13emplace_valueIJS5_EEEvhPS8_DpOT_.exit, !llvm.loop !299 _ZN4absl12lts_2023080218container_internal10btree_nodeINS1_10set_paramsISt4pairIiiESt4lessIS5_ESaIS5_ELi256ELb0EEEE13emplace_valueIJS5_EEEvhPS8_DpOT_.exit: ; preds = %for.body.i, %if.end.i, %land.lhs.true.i @@ -18754,7 +18754,7 @@ if.then15: ; preds = %if.then7 %.sroa.speculated116 = tail call i8 @llvm.umax.i8(i8 %div69, i8 1) %conv26 = and i32 %6, 255 %conv27 = zext nneg i8 %.sroa.speculated116 to i32 - %cmp31.not = icmp uge i32 %conv26, %conv27 + %cmp31.not = icmp samesign uge i32 %conv26, %conv27 %narrow = add nuw nsw i8 %.sroa.speculated116, %5 %cmp36 = icmp ult i8 %narrow, 30 %or.cond = select i1 %cmp31.not, i1 true, i1 %cmp36 @@ -19337,7 +19337,7 @@ if.end.i: ; preds = %if.end.loopexit.i, land.lhs.true.i: ; preds = %if.end.i %conv16.i = zext i8 %add12.i to i32 %add18.i = add nuw nsw i32 %conv.i33, 1 - %cmp19.i = icmp ult i32 %add18.i, %conv16.i + %cmp19.i = icmp samesign ult i32 %add18.i, %conv16.i br i1 %cmp19.i, label %for.body.lr.ph.i, label %_ZN4absl12lts_2023080218container_internal10btree_nodeINS1_10set_paramsISt4pairIiiESt4lessIS5_ESaIS5_ELi256ELb0EEEE13emplace_valueIJPS5_EEEvhPS8_DpOT_.exit for.body.lr.ph.i: ; preds = %land.lhs.true.i @@ -19356,7 +19356,7 @@ for.body.i36: ; preds = %for.body.i36, %for. %add.ptr.i.i.i.i20.i = getelementptr i8, ptr %16, i64 8 store i8 %j.023.i, ptr %add.ptr.i.i.i.i20.i, align 1 %conv22.i = zext i8 %sub27.i to i32 - %cmp25.i = icmp ult i32 %add18.i, %conv22.i + %cmp25.i = icmp samesign ult i32 %add18.i, %conv22.i br i1 %cmp25.i, label %for.body.i36, label %_ZN4absl12lts_2023080218container_internal10btree_nodeINS1_10set_paramsISt4pairIiiESt4lessIS5_ESaIS5_ELi256ELb0EEEE13emplace_valueIJPS5_EEEvhPS8_DpOT_.exit, !llvm.loop !304 _ZN4absl12lts_2023080218container_internal10btree_nodeINS1_10set_paramsISt4pairIiiESt4lessIS5_ESaIS5_ELi256ELb0EEEE13emplace_valueIJPS5_EEEvhPS8_DpOT_.exit: ; preds = %for.body.i36, %if.end.i, %land.lhs.true.i @@ -21186,7 +21186,7 @@ if.then15: ; preds = %if.then7 %.sroa.speculated116 = tail call i8 @llvm.umax.i8(i8 %div69, i8 1) %conv26 = and i32 %6, 255 %conv27 = zext nneg i8 %.sroa.speculated116 to i32 - %cmp31.not = icmp uge i32 %conv26, %conv27 + %cmp31.not = icmp samesign uge i32 %conv26, %conv27 %narrow = add nuw nsw i8 %.sroa.speculated116, %5 %cmp36 = icmp ult i8 %narrow, 4 %or.cond = select i1 %cmp31.not, i1 true, i1 %cmp36 @@ -21416,7 +21416,7 @@ if.end: ; preds = %for.body.i, %entry land.lhs.true: ; preds = %if.end %conv16 = zext i8 %add12 to i32 %add18 = add nuw nsw i32 %conv, 1 - %cmp19 = icmp ult i32 %add18, %conv16 + %cmp19 = icmp samesign ult i32 %add18, %conv16 br i1 %cmp19, label %for.body.lr.ph, label %if.end33 for.body.lr.ph: ; preds = %land.lhs.true @@ -21435,7 +21435,7 @@ for.body: ; preds = %for.body.lr.ph, %fo %add.ptr.i.i.i.i20 = getelementptr i8, ptr %5, i64 8 store i8 %j.023, ptr %add.ptr.i.i.i.i20, align 1 %conv22 = zext i8 %sub27 to i32 - %cmp25 = icmp ult i32 %add18, %conv22 + %cmp25 = icmp samesign ult i32 %add18, %conv22 br i1 %cmp25, label %for.body, label %if.end33, !llvm.loop !326 if.end33: ; preds = %for.body, %land.lhs.true, %if.end @@ -21939,7 +21939,7 @@ if.end: ; preds = %for.body.i, %entry land.lhs.true: ; preds = %if.end %conv16 = zext i8 %add12 to i32 %add18 = add nuw nsw i32 %conv, 1 - %cmp19 = icmp ult i32 %add18, %conv16 + %cmp19 = icmp samesign ult i32 %add18, %conv16 br i1 %cmp19, label %for.body.lr.ph, label %if.end33 for.body.lr.ph: ; preds = %land.lhs.true @@ -21958,7 +21958,7 @@ for.body: ; preds = %for.body.lr.ph, %fo %add.ptr.i.i.i.i20 = getelementptr i8, ptr %6, i64 8 store i8 %j.023, ptr %add.ptr.i.i.i.i20, align 1 %conv22 = zext i8 %sub27 to i32 - %cmp25 = icmp ult i32 %add18, %conv22 + %cmp25 = icmp samesign ult i32 %add18, %conv22 br i1 %cmp25, label %for.body, label %if.end33, !llvm.loop !332 if.end33: ; preds = %for.body, %land.lhs.true, %if.end @@ -22437,7 +22437,7 @@ if.end: ; preds = %for.body.i, %entry land.lhs.true: ; preds = %if.end %conv20 = zext i8 %add16 to i32 %add22 = add nuw nsw i32 %conv, 1 - %cmp23 = icmp ult i32 %add22, %conv20 + %cmp23 = icmp samesign ult i32 %add22, %conv20 br i1 %cmp23, label %for.body.lr.ph, label %if.end37 for.body.lr.ph: ; preds = %land.lhs.true @@ -22456,7 +22456,7 @@ for.body: ; preds = %for.body.lr.ph, %fo %add.ptr.i.i.i.i20 = getelementptr i8, ptr %7, i64 8 store i8 %j.023, ptr %add.ptr.i.i.i.i20, align 1 %conv26 = zext i8 %sub31 to i32 - %cmp29 = icmp ult i32 %add22, %conv26 + %cmp29 = icmp samesign ult i32 %add22, %conv26 br i1 %cmp29, label %for.body, label %if.end37, !llvm.loop !337 if.end37: ; preds = %for.body, %land.lhs.true, %if.end @@ -22793,7 +22793,7 @@ if.then15: ; preds = %if.then7 %.sroa.speculated116 = tail call i8 @llvm.umax.i8(i8 %div69, i8 1) %conv26 = and i32 %6, 255 %conv27 = zext nneg i8 %.sroa.speculated116 to i32 - %cmp31.not = icmp uge i32 %conv26, %conv27 + %cmp31.not = icmp samesign uge i32 %conv26, %conv27 %narrow = add nuw nsw i8 %.sroa.speculated116, %5 %cmp36 = icmp ult i8 %narrow, 4 %or.cond = select i1 %cmp31.not, i1 true, i1 %cmp36 @@ -23018,7 +23018,7 @@ if.end: ; preds = %entry.if.end_crit_e land.lhs.true: ; preds = %if.end %conv20 = zext i8 %add16 to i32 %add22 = add nuw nsw i32 %conv, 1 - %cmp23 = icmp ult i32 %add22, %conv20 + %cmp23 = icmp samesign ult i32 %add22, %conv20 br i1 %cmp23, label %for.body.lr.ph, label %if.end37 for.body.lr.ph: ; preds = %land.lhs.true @@ -23037,7 +23037,7 @@ for.body: ; preds = %for.body.lr.ph, %fo %add.ptr.i.i.i.i18 = getelementptr i8, ptr %5, i64 8 store i8 %j.021, ptr %add.ptr.i.i.i.i18, align 1 %conv26 = zext i8 %sub31 to i32 - %cmp29 = icmp ult i32 %add22, %conv26 + %cmp29 = icmp samesign ult i32 %add22, %conv26 br i1 %cmp29, label %for.body, label %if.end37, !llvm.loop !342 if.end37: ; preds = %for.body, %land.lhs.true, %if.end @@ -23570,7 +23570,7 @@ if.end: ; preds = %entry.if.end_crit_e land.lhs.true: ; preds = %if.end %conv16 = zext i8 %add12 to i32 %add18 = add nuw nsw i32 %conv, 1 - %cmp19 = icmp ult i32 %add18, %conv16 + %cmp19 = icmp samesign ult i32 %add18, %conv16 br i1 %cmp19, label %for.body.lr.ph, label %if.end33 for.body.lr.ph: ; preds = %land.lhs.true @@ -23589,7 +23589,7 @@ for.body: ; preds = %for.body.lr.ph, %fo %add.ptr.i.i.i.i18 = getelementptr i8, ptr %5, i64 8 store i8 %j.021, ptr %add.ptr.i.i.i.i18, align 1 %conv22 = zext i8 %sub27 to i32 - %cmp25 = icmp ult i32 %add18, %conv22 + %cmp25 = icmp samesign ult i32 %add18, %conv22 br i1 %cmp25, label %for.body, label %if.end33, !llvm.loop !350 if.end33: ; preds = %for.body, %land.lhs.true, %if.end diff --git a/bench/protobuf/optimized/descriptor_database.cc.ll b/bench/protobuf/optimized/descriptor_database.cc.ll index e0c9cc83a1c..ed6089dc312 100644 --- a/bench/protobuf/optimized/descriptor_database.cc.ll +++ b/bench/protobuf/optimized/descriptor_database.cc.ll @@ -6546,7 +6546,7 @@ if.end.i.i43: ; preds = %if.end.loopexit.i.i land.lhs.true.i.i44: ; preds = %if.end.i.i43 %conv16.i.i = zext i8 %add12.i.i to i32 %add18.i.i = add nuw nsw i32 %conv.i.i42, 1 - %cmp19.i.i = icmp ult i32 %add18.i.i, %conv16.i.i + %cmp19.i.i = icmp samesign ult i32 %add18.i.i, %conv16.i.i br i1 %cmp19.i.i, label %for.body.lr.ph.i.i, label %call13.i.i.noexc for.body.lr.ph.i.i: ; preds = %land.lhs.true.i.i44 @@ -6565,7 +6565,7 @@ for.body.i.i: ; preds = %for.body.i.i, %for. %add.ptr.i.i.i.i20.i.i = getelementptr i8, ptr %37, i64 8 store i8 %j.023.i.i, ptr %add.ptr.i.i.i.i20.i.i, align 1 %conv22.i.i = zext i8 %sub27.i.i to i32 - %cmp25.i.i = icmp ult i32 %add18.i.i, %conv22.i.i + %cmp25.i.i = icmp samesign ult i32 %add18.i.i, %conv22.i.i br i1 %cmp25.i.i, label %for.body.i.i, label %call13.i.i.noexc, !llvm.loop !113 call13.i.i.noexc: ; preds = %for.body.i.i, %land.lhs.true.i.i44, %if.end.i.i43 @@ -8301,7 +8301,7 @@ if.end.i: ; preds = %for.body.i.i, %if.e land.lhs.true.i: ; preds = %if.end.i %conv16.i = zext i8 %add12.i to i32 %add18.i = add nuw nsw i32 %conv.i, 1 - %cmp19.i = icmp ult i32 %add18.i, %conv16.i + %cmp19.i = icmp samesign ult i32 %add18.i, %conv16.i br i1 %cmp19.i, label %for.body.lr.ph.i, label %_ZN4absl12lts_2023080218container_internal10btree_nodeINS1_10set_paramsINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4lessIS9_ESaIS9_ELi256ELb0EEEE13emplace_valueIJRKS9_EEEvhPSC_DpOT_.exit for.body.lr.ph.i: ; preds = %land.lhs.true.i @@ -8320,7 +8320,7 @@ for.body.i: ; preds = %for.body.i, %for.bo %add.ptr.i.i.i.i20.i = getelementptr i8, ptr %23, i64 8 store i8 %j.023.i, ptr %add.ptr.i.i.i.i20.i, align 1 %conv22.i = zext i8 %sub27.i to i32 - %cmp25.i = icmp ult i32 %add18.i, %conv22.i + %cmp25.i = icmp samesign ult i32 %add18.i, %conv22.i br i1 %cmp25.i, label %for.body.i, label %_ZN4absl12lts_2023080218container_internal10btree_nodeINS1_10set_paramsINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4lessIS9_ESaIS9_ELi256ELb0EEEE13emplace_valueIJRKS9_EEEvhPSC_DpOT_.exit, !llvm.loop !149 _ZN4absl12lts_2023080218container_internal10btree_nodeINS1_10set_paramsINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4lessIS9_ESaIS9_ELi256ELb0EEEE13emplace_valueIJRKS9_EEEvhPSC_DpOT_.exit: ; preds = %for.body.i, %if.end.i, %land.lhs.true.i @@ -8375,7 +8375,7 @@ if.then15: ; preds = %if.then7 %div69 = lshr i8 %sub18, %7 %.sroa.speculated116 = tail call i8 @llvm.umax.i8(i8 %div69, i8 1) %conv27 = zext nneg i8 %.sroa.speculated116 to i32 - %cmp31.not = icmp uge i32 %conv20, %conv27 + %cmp31.not = icmp samesign uge i32 %conv20, %conv27 %narrow = add nuw nsw i8 %.sroa.speculated116, %5 %cmp36 = icmp ult i8 %narrow, 7 %or.cond = select i1 %cmp31.not, i1 true, i1 %cmp36 @@ -9107,7 +9107,7 @@ if.end.i: ; preds = %for.body.i.i, %_ZN4 land.lhs.true.i: ; preds = %if.end.i %conv16.i = zext i8 %add12.i to i32 %add18.i = add nuw nsw i32 %conv.i33, 1 - %cmp19.i = icmp ult i32 %add18.i, %conv16.i + %cmp19.i = icmp samesign ult i32 %add18.i, %conv16.i br i1 %cmp19.i, label %for.body.lr.ph.i, label %_ZN4absl12lts_2023080218container_internal10btree_nodeINS1_10set_paramsINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4lessIS9_ESaIS9_ELi256ELb0EEEE13emplace_valueIJPS9_EEEvhPSC_DpOT_.exit for.body.lr.ph.i: ; preds = %land.lhs.true.i @@ -9126,7 +9126,7 @@ for.body.i36: ; preds = %for.body.i36, %for. %add.ptr.i.i.i.i20.i = getelementptr i8, ptr %13, i64 8 store i8 %j.023.i, ptr %add.ptr.i.i.i.i20.i, align 1 %conv22.i = zext i8 %sub27.i to i32 - %cmp25.i = icmp ult i32 %add18.i, %conv22.i + %cmp25.i = icmp samesign ult i32 %add18.i, %conv22.i br i1 %cmp25.i, label %for.body.i36, label %_ZN4absl12lts_2023080218container_internal10btree_nodeINS1_10set_paramsINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4lessIS9_ESaIS9_ELi256ELb0EEEE13emplace_valueIJPS9_EEEvhPSC_DpOT_.exit, !llvm.loop !159 _ZN4absl12lts_2023080218container_internal10btree_nodeINS1_10set_paramsINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4lessIS9_ESaIS9_ELi256ELb0EEEE13emplace_valueIJPS9_EEEvhPSC_DpOT_.exit: ; preds = %for.body.i36, %if.end.i, %land.lhs.true.i @@ -11140,7 +11140,7 @@ if.then15: ; preds = %if.then7 %.sroa.speculated116 = tail call i8 @llvm.umax.i8(i8 %div69, i8 1) %conv26 = and i32 %6, 255 %conv27 = zext nneg i8 %.sroa.speculated116 to i32 - %cmp31.not = icmp uge i32 %conv26, %conv27 + %cmp31.not = icmp samesign uge i32 %conv26, %conv27 %narrow = add nuw nsw i8 %.sroa.speculated116, %5 %cmp36 = icmp ult i8 %narrow, 6 %or.cond = select i1 %cmp31.not, i1 true, i1 %cmp36 @@ -11372,7 +11372,7 @@ if.end: ; preds = %for.body.i, %entry land.lhs.true: ; preds = %if.end %conv16 = zext i8 %add12 to i32 %add18 = add nuw nsw i32 %conv, 1 - %cmp19 = icmp ult i32 %add18, %conv16 + %cmp19 = icmp samesign ult i32 %add18, %conv16 br i1 %cmp19, label %for.body.lr.ph, label %if.end33 for.body.lr.ph: ; preds = %land.lhs.true @@ -11391,7 +11391,7 @@ for.body: ; preds = %for.body.lr.ph, %fo %add.ptr.i.i.i.i20 = getelementptr i8, ptr %8, i64 8 store i8 %j.023, ptr %add.ptr.i.i.i.i20, align 1 %conv22 = zext i8 %sub27 to i32 - %cmp25 = icmp ult i32 %add18, %conv22 + %cmp25 = icmp samesign ult i32 %add18, %conv22 br i1 %cmp25, label %for.body, label %if.end33, !llvm.loop !206 if.end33: ; preds = %for.body, %land.lhs.true, %if.end @@ -11843,7 +11843,7 @@ if.end.i: ; preds = %for.body.i.i, %_ZN4 land.lhs.true.i: ; preds = %if.end.i %conv16.i = zext i8 %add12.i to i32 %add18.i = add nuw nsw i32 %conv.i33, 1 - %cmp19.i = icmp ult i32 %add18.i, %conv16.i + %cmp19.i = icmp samesign ult i32 %add18.i, %conv16.i br i1 %cmp19.i, label %for.body.lr.ph.i, label %_ZN4absl12lts_2023080218container_internal10btree_nodeINS1_10map_paramsINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPKN6google8protobuf19FileDescriptorProtoESt4lessIS9_ESaISt4pairIKS9_SE_EELi256ELb0EEEE13emplace_valueIJPNS1_13map_slot_typeIS9_SE_EEEEEvhPSK_DpOT_.exit for.body.lr.ph.i: ; preds = %land.lhs.true.i @@ -11862,7 +11862,7 @@ for.body.i36: ; preds = %for.body.i36, %for. %add.ptr.i.i.i.i20.i = getelementptr i8, ptr %16, i64 8 store i8 %j.023.i, ptr %add.ptr.i.i.i.i20.i, align 1 %conv22.i = zext i8 %sub27.i to i32 - %cmp25.i = icmp ult i32 %add18.i, %conv22.i + %cmp25.i = icmp samesign ult i32 %add18.i, %conv22.i br i1 %cmp25.i, label %for.body.i36, label %_ZN4absl12lts_2023080218container_internal10btree_nodeINS1_10map_paramsINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPKN6google8protobuf19FileDescriptorProtoESt4lessIS9_ESaISt4pairIKS9_SE_EELi256ELb0EEEE13emplace_valueIJPNS1_13map_slot_typeIS9_SE_EEEEEvhPSK_DpOT_.exit, !llvm.loop !211 _ZN4absl12lts_2023080218container_internal10btree_nodeINS1_10map_paramsINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPKN6google8protobuf19FileDescriptorProtoESt4lessIS9_ESaISt4pairIKS9_SE_EELi256ELb0EEEE13emplace_valueIJPNS1_13map_slot_typeIS9_SE_EEEEEvhPSK_DpOT_.exit: ; preds = %for.body.i36, %if.end.i, %land.lhs.true.i @@ -12208,7 +12208,7 @@ if.end.i: ; preds = %for.body.i.i, %if.e land.lhs.true.i: ; preds = %if.end.i %conv20.i = zext i8 %add16.i to i32 %add22.i = add nuw nsw i32 %conv.i, 1 - %cmp23.i = icmp ult i32 %add22.i, %conv20.i + %cmp23.i = icmp samesign ult i32 %add22.i, %conv20.i br i1 %cmp23.i, label %for.body.lr.ph.i, label %_ZN4absl12lts_2023080218container_internal10btree_nodeINS1_10map_paramsINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPKN6google8protobuf19FileDescriptorProtoESt4lessIS9_ESaISt4pairIKS9_SE_EELi256ELb0EEEE13emplace_valueIJRKSt21piecewise_construct_tSt5tupleIJRSt17basic_string_viewIcS7_EEESR_IJRSE_EEEEEvhPSK_DpOT_.exit for.body.lr.ph.i: ; preds = %land.lhs.true.i @@ -12227,7 +12227,7 @@ for.body.i: ; preds = %for.body.i, %for.bo %add.ptr.i.i.i.i19.i = getelementptr i8, ptr %23, i64 8 store i8 %j.022.i, ptr %add.ptr.i.i.i.i19.i, align 1 %conv26.i = zext i8 %sub31.i to i32 - %cmp29.i = icmp ult i32 %add22.i, %conv26.i + %cmp29.i = icmp samesign ult i32 %add22.i, %conv26.i br i1 %cmp29.i, label %for.body.i, label %_ZN4absl12lts_2023080218container_internal10btree_nodeINS1_10map_paramsINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPKN6google8protobuf19FileDescriptorProtoESt4lessIS9_ESaISt4pairIKS9_SE_EELi256ELb0EEEE13emplace_valueIJRKSt21piecewise_construct_tSt5tupleIJRSt17basic_string_viewIcS7_EEESR_IJRSE_EEEEEvhPSK_DpOT_.exit, !llvm.loop !218 _ZN4absl12lts_2023080218container_internal10btree_nodeINS1_10map_paramsINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPKN6google8protobuf19FileDescriptorProtoESt4lessIS9_ESaISt4pairIKS9_SE_EELi256ELb0EEEE13emplace_valueIJRKSt21piecewise_construct_tSt5tupleIJRSt17basic_string_viewIcS7_EEESR_IJRSE_EEEEEvhPSK_DpOT_.exit: ; preds = %for.body.i, %if.end.i, %land.lhs.true.i @@ -12776,7 +12776,7 @@ if.end.i: ; preds = %for.body.i.i, %if.e land.lhs.true.i: ; preds = %if.end.i %conv16.i = zext i8 %add12.i to i32 %add18.i = add nuw nsw i32 %conv.i, 1 - %cmp19.i = icmp ult i32 %add18.i, %conv16.i + %cmp19.i = icmp samesign ult i32 %add18.i, %conv16.i br i1 %cmp19.i, label %for.body.lr.ph.i, label %_ZN4absl12lts_2023080218container_internal10btree_nodeINS1_10map_paramsINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPKN6google8protobuf19FileDescriptorProtoESt4lessIS9_ESaISt4pairIKS9_SE_EELi256ELb0EEEE13emplace_valueIJSJ_EEEvhPSK_DpOT_.exit for.body.lr.ph.i: ; preds = %land.lhs.true.i @@ -12795,7 +12795,7 @@ for.body.i: ; preds = %for.body.i, %for.bo %add.ptr.i.i.i.i20.i = getelementptr i8, ptr %24, i64 8 store i8 %j.023.i, ptr %add.ptr.i.i.i.i20.i, align 1 %conv22.i = zext i8 %sub27.i to i32 - %cmp25.i = icmp ult i32 %add18.i, %conv22.i + %cmp25.i = icmp samesign ult i32 %add18.i, %conv22.i br i1 %cmp25.i, label %for.body.i, label %_ZN4absl12lts_2023080218container_internal10btree_nodeINS1_10map_paramsINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPKN6google8protobuf19FileDescriptorProtoESt4lessIS9_ESaISt4pairIKS9_SE_EELi256ELb0EEEE13emplace_valueIJSJ_EEEvhPSK_DpOT_.exit, !llvm.loop !220 _ZN4absl12lts_2023080218container_internal10btree_nodeINS1_10map_paramsINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPKN6google8protobuf19FileDescriptorProtoESt4lessIS9_ESaISt4pairIKS9_SE_EELi256ELb0EEEE13emplace_valueIJSJ_EEEvhPSK_DpOT_.exit: ; preds = %for.body.i, %if.end.i, %land.lhs.true.i @@ -13350,7 +13350,7 @@ if.then15: ; preds = %if.then7 %div69 = lshr i8 %sub18, %7 %.sroa.speculated116 = tail call i8 @llvm.umax.i8(i8 %div69, i8 1) %conv27 = zext nneg i8 %.sroa.speculated116 to i32 - %cmp31.not = icmp uge i32 %conv20, %conv27 + %cmp31.not = icmp samesign uge i32 %conv20, %conv27 %narrow = add nuw nsw i8 %.sroa.speculated116, %5 %cmp36 = icmp ult i8 %narrow, 5 %or.cond = select i1 %cmp31.not, i1 true, i1 %cmp36 @@ -13590,7 +13590,7 @@ if.end: ; preds = %for.body.i, %entry land.lhs.true: ; preds = %if.end %conv16 = zext i8 %add12 to i32 %add18 = add nuw nsw i32 %conv, 1 - %cmp19 = icmp ult i32 %add18, %conv16 + %cmp19 = icmp samesign ult i32 %add18, %conv16 br i1 %cmp19, label %for.body.lr.ph, label %if.end33 for.body.lr.ph: ; preds = %land.lhs.true @@ -13609,7 +13609,7 @@ for.body: ; preds = %for.body.lr.ph, %fo %add.ptr.i.i.i.i20 = getelementptr i8, ptr %10, i64 8 store i8 %j.023, ptr %add.ptr.i.i.i.i20, align 1 %conv22 = zext i8 %sub27 to i32 - %cmp25 = icmp ult i32 %add18, %conv22 + %cmp25 = icmp samesign ult i32 %add18, %conv22 br i1 %cmp25, label %for.body, label %if.end33, !llvm.loop !229 if.end33: ; preds = %for.body, %land.lhs.true, %if.end @@ -14156,7 +14156,7 @@ if.end: ; preds = %for.body.i, %entry land.lhs.true: ; preds = %if.end %conv16 = zext i8 %add12 to i32 %add18 = add nuw nsw i32 %conv, 1 - %cmp19 = icmp ult i32 %add18, %conv16 + %cmp19 = icmp samesign ult i32 %add18, %conv16 br i1 %cmp19, label %for.body.lr.ph, label %if.end33 for.body.lr.ph: ; preds = %land.lhs.true @@ -14175,7 +14175,7 @@ for.body: ; preds = %for.body.lr.ph, %fo %add.ptr.i.i.i.i20 = getelementptr i8, ptr %10, i64 8 store i8 %j.023, ptr %add.ptr.i.i.i.i20, align 1 %conv22 = zext i8 %sub27 to i32 - %cmp25 = icmp ult i32 %add18, %conv22 + %cmp25 = icmp samesign ult i32 %add18, %conv22 br i1 %cmp25, label %for.body, label %if.end33, !llvm.loop !235 if.end33: ; preds = %for.body, %land.lhs.true, %if.end @@ -15215,7 +15215,7 @@ if.end.i: ; preds = %for.body.i.i, %if.e land.lhs.true.i: ; preds = %if.end.i %conv16.i = zext i8 %add12.i to i32 %add18.i = add nuw nsw i32 %conv.i, 1 - %cmp19.i = icmp ult i32 %add18.i, %conv16.i + %cmp19.i = icmp samesign ult i32 %add18.i, %conv16.i br i1 %cmp19.i, label %for.body.lr.ph.i, label %_ZN4absl12lts_2023080218container_internal10btree_nodeINS1_10set_paramsIN6google8protobuf25EncodedDescriptorDatabase15DescriptorIndex9FileEntryENS7_11FileCompareESaIS8_ELi256ELb0EEEE13emplace_valueIJS8_EEEvhPSA_DpOT_.exit for.body.lr.ph.i: ; preds = %land.lhs.true.i @@ -15234,7 +15234,7 @@ for.body.i: ; preds = %for.body.i, %for.bo %add.ptr.i.i.i.i20.i = getelementptr i8, ptr %24, i64 8 store i8 %j.023.i, ptr %add.ptr.i.i.i.i20.i, align 1 %conv22.i = zext i8 %sub27.i to i32 - %cmp25.i = icmp ult i32 %add18.i, %conv22.i + %cmp25.i = icmp samesign ult i32 %add18.i, %conv22.i br i1 %cmp25.i, label %for.body.i, label %_ZN4absl12lts_2023080218container_internal10btree_nodeINS1_10set_paramsIN6google8protobuf25EncodedDescriptorDatabase15DescriptorIndex9FileEntryENS7_11FileCompareESaIS8_ELi256ELb0EEEE13emplace_valueIJS8_EEEvhPSA_DpOT_.exit, !llvm.loop !266 _ZN4absl12lts_2023080218container_internal10btree_nodeINS1_10set_paramsIN6google8protobuf25EncodedDescriptorDatabase15DescriptorIndex9FileEntryENS7_11FileCompareESaIS8_ELi256ELb0EEEE13emplace_valueIJS8_EEEvhPSA_DpOT_.exit: ; preds = %for.body.i, %if.end.i, %land.lhs.true.i @@ -15287,7 +15287,7 @@ if.then15: ; preds = %if.then7 %.sroa.speculated115 = tail call i8 @llvm.umax.i8(i8 %div69, i8 1) %conv26 = and i32 %6, 255 %conv27 = zext nneg i8 %.sroa.speculated115 to i32 - %cmp31.not = icmp uge i32 %conv26, %conv27 + %cmp31.not = icmp samesign uge i32 %conv26, %conv27 %narrow = add nuw nsw i8 %.sroa.speculated115, %5 %cmp36 = icmp ult i8 %narrow, 6 %or.cond = select i1 %cmp31.not, i1 true, i1 %cmp36 @@ -15911,7 +15911,7 @@ if.end.i: ; preds = %for.body.i.i, %_ZN4 land.lhs.true.i: ; preds = %if.end.i %conv16.i = zext i8 %add12.i to i32 %add18.i = add nuw nsw i32 %conv.i33, 1 - %cmp19.i = icmp ult i32 %add18.i, %conv16.i + %cmp19.i = icmp samesign ult i32 %add18.i, %conv16.i br i1 %cmp19.i, label %for.body.lr.ph.i, label %_ZN4absl12lts_2023080218container_internal10btree_nodeINS1_10set_paramsIN6google8protobuf25EncodedDescriptorDatabase15DescriptorIndex9FileEntryENS7_11FileCompareESaIS8_ELi256ELb0EEEE13emplace_valueIJPS8_EEEvhPSA_DpOT_.exit for.body.lr.ph.i: ; preds = %land.lhs.true.i @@ -15930,7 +15930,7 @@ for.body.i36: ; preds = %for.body.i36, %for. %add.ptr.i.i.i.i20.i = getelementptr i8, ptr %16, i64 8 store i8 %j.023.i, ptr %add.ptr.i.i.i.i20.i, align 1 %conv22.i = zext i8 %sub27.i to i32 - %cmp25.i = icmp ult i32 %add18.i, %conv22.i + %cmp25.i = icmp samesign ult i32 %add18.i, %conv22.i br i1 %cmp25.i, label %for.body.i36, label %_ZN4absl12lts_2023080218container_internal10btree_nodeINS1_10set_paramsIN6google8protobuf25EncodedDescriptorDatabase15DescriptorIndex9FileEntryENS7_11FileCompareESaIS8_ELi256ELb0EEEE13emplace_valueIJPS8_EEEvhPSA_DpOT_.exit, !llvm.loop !271 _ZN4absl12lts_2023080218container_internal10btree_nodeINS1_10set_paramsIN6google8protobuf25EncodedDescriptorDatabase15DescriptorIndex9FileEntryENS7_11FileCompareESaIS8_ELi256ELb0EEEE13emplace_valueIJPS8_EEEvhPSA_DpOT_.exit: ; preds = %for.body.i36, %if.end.i, %land.lhs.true.i @@ -16471,7 +16471,7 @@ if.then15: ; preds = %if.then7 %div69 = lshr i8 %sub18, %7 %.sroa.speculated115 = tail call i8 @llvm.umax.i8(i8 %div69, i8 1) %conv27 = zext nneg i8 %.sroa.speculated115 to i32 - %cmp31.not = icmp uge i32 %conv20, %conv27 + %cmp31.not = icmp samesign uge i32 %conv20, %conv27 %narrow = add nuw nsw i8 %.sroa.speculated115, %5 %cmp36 = icmp ult i8 %narrow, 5 %or.cond = select i1 %cmp31.not, i1 true, i1 %cmp36 @@ -16711,7 +16711,7 @@ if.end: ; preds = %for.body.i, %entry land.lhs.true: ; preds = %if.end %conv16 = zext i8 %add12 to i32 %add18 = add nuw nsw i32 %conv, 1 - %cmp19 = icmp ult i32 %add18, %conv16 + %cmp19 = icmp samesign ult i32 %add18, %conv16 br i1 %cmp19, label %for.body.lr.ph, label %if.end33 for.body.lr.ph: ; preds = %land.lhs.true @@ -16730,7 +16730,7 @@ for.body: ; preds = %for.body.lr.ph, %fo %add.ptr.i.i.i.i20 = getelementptr i8, ptr %9, i64 8 store i8 %j.023, ptr %add.ptr.i.i.i.i20, align 1 %conv22 = zext i8 %sub27 to i32 - %cmp25 = icmp ult i32 %add18, %conv22 + %cmp25 = icmp samesign ult i32 %add18, %conv22 br i1 %cmp25, label %for.body, label %if.end33, !llvm.loop !291 if.end33: ; preds = %for.body, %land.lhs.true, %if.end @@ -17432,7 +17432,7 @@ if.end: ; preds = %for.body.i, %entry land.lhs.true: ; preds = %if.end %conv16 = zext i8 %add12 to i32 %add18 = add nuw nsw i32 %conv, 1 - %cmp19 = icmp ult i32 %add18, %conv16 + %cmp19 = icmp samesign ult i32 %add18, %conv16 br i1 %cmp19, label %for.body.lr.ph, label %if.end33 for.body.lr.ph: ; preds = %land.lhs.true @@ -17451,7 +17451,7 @@ for.body: ; preds = %for.body.lr.ph, %fo %add.ptr.i.i.i.i20 = getelementptr i8, ptr %10, i64 8 store i8 %j.023, ptr %add.ptr.i.i.i.i20, align 1 %conv22 = zext i8 %sub27 to i32 - %cmp25 = icmp ult i32 %add18, %conv22 + %cmp25 = icmp samesign ult i32 %add18, %conv22 br i1 %cmp25, label %for.body, label %if.end33, !llvm.loop !302 if.end33: ; preds = %for.body, %land.lhs.true, %if.end @@ -18182,7 +18182,7 @@ if.end.i: ; preds = %for.body.i.i, %if.e land.lhs.true.i: ; preds = %if.end.i %conv16.i = zext i8 %add12.i to i32 %add18.i = add nuw nsw i32 %conv.i, 1 - %cmp19.i = icmp ult i32 %add18.i, %conv16.i + %cmp19.i = icmp samesign ult i32 %add18.i, %conv16.i br i1 %cmp19.i, label %for.body.lr.ph.i, label %_ZN4absl12lts_2023080218container_internal10btree_nodeINS1_10set_paramsIN6google8protobuf25EncodedDescriptorDatabase15DescriptorIndex11SymbolEntryENS7_13SymbolCompareESaIS8_ELi256ELb0EEEE13emplace_valueIJRKS8_EEEvhPSA_DpOT_.exit for.body.lr.ph.i: ; preds = %land.lhs.true.i @@ -18201,7 +18201,7 @@ for.body.i: ; preds = %for.body.i, %for.bo %add.ptr.i.i.i.i20.i = getelementptr i8, ptr %24, i64 8 store i8 %j.023.i, ptr %add.ptr.i.i.i.i20.i, align 1 %conv22.i = zext i8 %sub27.i to i32 - %cmp25.i = icmp ult i32 %add18.i, %conv22.i + %cmp25.i = icmp samesign ult i32 %add18.i, %conv22.i br i1 %cmp25.i, label %for.body.i, label %_ZN4absl12lts_2023080218container_internal10btree_nodeINS1_10set_paramsIN6google8protobuf25EncodedDescriptorDatabase15DescriptorIndex11SymbolEntryENS7_13SymbolCompareESaIS8_ELi256ELb0EEEE13emplace_valueIJRKS8_EEEvhPSA_DpOT_.exit, !llvm.loop !333 _ZN4absl12lts_2023080218container_internal10btree_nodeINS1_10set_paramsIN6google8protobuf25EncodedDescriptorDatabase15DescriptorIndex11SymbolEntryENS7_13SymbolCompareESaIS8_ELi256ELb0EEEE13emplace_valueIJRKS8_EEEvhPSA_DpOT_.exit: ; preds = %for.body.i, %if.end.i, %land.lhs.true.i @@ -18369,7 +18369,7 @@ if.then15: ; preds = %if.then7 %.sroa.speculated115 = tail call i8 @llvm.umax.i8(i8 %div69, i8 1) %conv26 = and i32 %6, 255 %conv27 = zext nneg i8 %.sroa.speculated115 to i32 - %cmp31.not = icmp uge i32 %conv26, %conv27 + %cmp31.not = icmp samesign uge i32 %conv26, %conv27 %narrow = add nuw nsw i8 %.sroa.speculated115, %5 %cmp36 = icmp ult i8 %narrow, 6 %or.cond = select i1 %cmp31.not, i1 true, i1 %cmp36 @@ -18993,7 +18993,7 @@ if.end.i: ; preds = %for.body.i.i, %_ZN4 land.lhs.true.i: ; preds = %if.end.i %conv16.i = zext i8 %add12.i to i32 %add18.i = add nuw nsw i32 %conv.i33, 1 - %cmp19.i = icmp ult i32 %add18.i, %conv16.i + %cmp19.i = icmp samesign ult i32 %add18.i, %conv16.i br i1 %cmp19.i, label %for.body.lr.ph.i, label %_ZN4absl12lts_2023080218container_internal10btree_nodeINS1_10set_paramsIN6google8protobuf25EncodedDescriptorDatabase15DescriptorIndex11SymbolEntryENS7_13SymbolCompareESaIS8_ELi256ELb0EEEE13emplace_valueIJPS8_EEEvhPSA_DpOT_.exit for.body.lr.ph.i: ; preds = %land.lhs.true.i @@ -19012,7 +19012,7 @@ for.body.i36: ; preds = %for.body.i36, %for. %add.ptr.i.i.i.i20.i = getelementptr i8, ptr %16, i64 8 store i8 %j.023.i, ptr %add.ptr.i.i.i.i20.i, align 1 %conv22.i = zext i8 %sub27.i to i32 - %cmp25.i = icmp ult i32 %add18.i, %conv22.i + %cmp25.i = icmp samesign ult i32 %add18.i, %conv22.i br i1 %cmp25.i, label %for.body.i36, label %_ZN4absl12lts_2023080218container_internal10btree_nodeINS1_10set_paramsIN6google8protobuf25EncodedDescriptorDatabase15DescriptorIndex11SymbolEntryENS7_13SymbolCompareESaIS8_ELi256ELb0EEEE13emplace_valueIJPS8_EEEvhPSA_DpOT_.exit, !llvm.loop !340 _ZN4absl12lts_2023080218container_internal10btree_nodeINS1_10set_paramsIN6google8protobuf25EncodedDescriptorDatabase15DescriptorIndex11SymbolEntryENS7_13SymbolCompareESaIS8_ELi256ELb0EEEE13emplace_valueIJPS8_EEEvhPSA_DpOT_.exit: ; preds = %for.body.i36, %if.end.i, %land.lhs.true.i @@ -20287,7 +20287,7 @@ if.then15: ; preds = %if.then7 %div69 = lshr i8 %sub18, %7 %.sroa.speculated116 = tail call i8 @llvm.umax.i8(i8 %div69, i8 1) %conv27 = zext nneg i8 %.sroa.speculated116 to i32 - %cmp31.not = icmp uge i32 %conv20, %conv27 + %cmp31.not = icmp samesign uge i32 %conv20, %conv27 %narrow = add nuw nsw i8 %.sroa.speculated116, %5 %cmp36 = icmp ult i8 %narrow, 61 %or.cond = select i1 %cmp31.not, i1 true, i1 %cmp36 @@ -20870,7 +20870,7 @@ if.end.i: ; preds = %if.end.loopexit.i, land.lhs.true.i: ; preds = %if.end.i %conv16.i = zext i8 %add12.i to i32 %add18.i = add nuw nsw i32 %conv.i33, 1 - %cmp19.i = icmp ult i32 %add18.i, %conv16.i + %cmp19.i = icmp samesign ult i32 %add18.i, %conv16.i br i1 %cmp19.i, label %for.body.lr.ph.i, label %_ZN4absl12lts_2023080218container_internal10btree_nodeINS1_10set_paramsIiSt4lessIiESaIiELi256ELb0EEEE13emplace_valueIJPiEEEvhPS6_DpOT_.exit for.body.lr.ph.i: ; preds = %land.lhs.true.i @@ -20889,7 +20889,7 @@ for.body.i36: ; preds = %for.body.i36, %for. %add.ptr.i.i.i.i20.i = getelementptr i8, ptr %16, i64 8 store i8 %j.023.i, ptr %add.ptr.i.i.i.i20.i, align 1 %conv22.i = zext i8 %sub27.i to i32 - %cmp25.i = icmp ult i32 %add18.i, %conv22.i + %cmp25.i = icmp samesign ult i32 %add18.i, %conv22.i br i1 %cmp25.i, label %for.body.i36, label %_ZN4absl12lts_2023080218container_internal10btree_nodeINS1_10set_paramsIiSt4lessIiESaIiELi256ELb0EEEE13emplace_valueIJPiEEEvhPS6_DpOT_.exit, !llvm.loop !371 _ZN4absl12lts_2023080218container_internal10btree_nodeINS1_10set_paramsIiSt4lessIiESaIiELi256ELb0EEEE13emplace_valueIJPiEEEvhPS6_DpOT_.exit: ; preds = %for.body.i36, %if.end.i, %land.lhs.true.i diff --git a/bench/quickjs/optimized/quickjs.ll b/bench/quickjs/optimized/quickjs.ll index 5961997d861..49cfd6d1629 100644 --- a/bench/quickjs/optimized/quickjs.ll +++ b/bench/quickjs/optimized/quickjs.ll @@ -1549,7 +1549,7 @@ JS_ResizeAtomHash.exit.i: ; preds = %._crit_edge.i.i, %j __JS_NewAtomInit.exit.i: ; preds = %77 %83 = icmp eq i32 %.01926.i, 212 - %84 = icmp ugt i32 %.01926.i, 212 + %84 = icmp samesign ugt i32 %.01926.i, 212 %..i = select i1 %84, i32 3, i32 1 %.017.i = select i1 %83, i32 4, i32 %..i store i32 1, ptr %82, align 4 @@ -2172,7 +2172,7 @@ define internal { i64, i64 } @js_call_bound_function(ptr noundef %0, i64 %1, i64 %33 = getelementptr [0 x %struct.JSValue], ptr %28, i64 0, i64 %indvars.iv call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(16) %32, ptr noundef nonnull align 8 dereferenceable(16) %33, i64 16, i1 false) %indvars.iv.next = add nuw nsw i64 %indvars.iv, 1 - %34 = icmp ult i64 %indvars.iv.next, %29 + %34 = icmp samesign ult i64 %indvars.iv.next, %29 br i1 %34, label %31, label %.preheader, !llvm.loop !14 .lr.ph48: ; preds = %.lr.ph48.preheader, %.lr.ph48 @@ -9681,7 +9681,7 @@ define dso_local void @JS_AddIntrinsicMapSet(ptr noundef %0) local_unnamed_addr %30 = call fastcc { i64, i64 } @JS_NewCFunction3(ptr noundef %0, ptr noundef nonnull @js_map_constructor, ptr noundef nonnull %12, i32 noundef 0, i32 noundef 3, i32 noundef %29, i64 %.val.i.i, i64 %.val6.i.i) %31 = extractvalue { i64, i64 } %30, 0 %32 = extractvalue { i64, i64 } %30, 1 - %33 = icmp ult i64 %indvars.iv, 2 + %33 = icmp samesign ult i64 %indvars.iv, 2 br i1 %33, label %34, label %35 34: ; preds = %9 @@ -11918,7 +11918,7 @@ string_get.exit.i: ; preds = %13, %10 br i1 %20, label %34, label %.preheader.i .preheader.i: ; preds = %19 - %21 = icmp ugt i32 %5, 1 + %21 = icmp samesign ugt i32 %5, 1 br i1 %21, label %.lr.ph.i, label %is_num_string.exit.thread19 .lr.ph.i: ; preds = %.preheader.i @@ -12143,7 +12143,7 @@ define dso_local { i64, i64 } @JS_NewString(ptr noundef %0, ptr noundef %1) loca ; Function Attrs: nounwind uwtable define internal fastcc i32 @__JS_NewAtom(ptr noundef %0, ptr noundef %1, i32 noundef range(i32 1, 5) %2) unnamed_addr #0 { - %4 = icmp ult i32 %2, 3 + %4 = icmp samesign ult i32 %2, 3 br i1 %4, label %5, label %117 5: ; preds = %3 @@ -17898,7 +17898,7 @@ string_get.exit: ; preds = %36, %40 br i1 %47, label %.loopexit, label %48 48: ; preds = %string_get.exit - %49 = icmp ult i32 %44, 128 + %49 = icmp samesign ult i32 %44, 128 br i1 %49, label %50, label %53 50: ; preds = %48 @@ -17918,7 +17918,7 @@ string_get.exit: ; preds = %36, %40 %indvars.iv.next59 = add nuw nsw i64 %indvars.iv58, 1 %58 = load i64, ptr %17, align 4 %59 = and i64 %58, 2147483647 - %60 = icmp ult i64 %indvars.iv.next59, %59 + %60 = icmp samesign ult i64 %indvars.iv.next59, %59 br i1 %60, label %33, label %.loopexit, !llvm.loop !82 .loopexit: ; preds = %string_get.exit, %57, %29, %10 @@ -20464,7 +20464,7 @@ string_get.exit.i.i: ; preds = %84, %81 br i1 %91, label %105, label %.preheader.i.i .preheader.i.i: ; preds = %90 - %92 = icmp ugt i32 %76, 1 + %92 = icmp samesign ugt i32 %76, 1 br i1 %92, label %.lr.ph.i.i, label %118 .lr.ph.i.i: ; preds = %.preheader.i.i @@ -20989,7 +20989,7 @@ string_get.exit.i.i260: ; preds = %334, %331 br i1 %341, label %355, label %.preheader.i.i261 .preheader.i.i261: ; preds = %340 - %342 = icmp ugt i32 %326, 1 + %342 = icmp samesign ugt i32 %326, 1 br i1 %342, label %.lr.ph.i.i262, label %368 .lr.ph.i.i262: ; preds = %.preheader.i.i261 @@ -24143,7 +24143,7 @@ string_get.exit.i: ; preds = %55, %51 br i1 %62, label %.loopexit.i, label %63 63: ; preds = %string_get.exit.i - %64 = icmp ult i32 %59, 128 + %64 = icmp samesign ult i32 %59, 128 br i1 %64, label %65, label %68 65: ; preds = %63 @@ -24163,7 +24163,7 @@ string_get.exit.i: ; preds = %55, %51 %indvars.iv.next59.i = add nuw nsw i64 %indvars.iv58.i, 1 %73 = load i64, ptr %33, align 4 %74 = and i64 %73, 2147483647 - %75 = icmp ult i64 %indvars.iv.next59.i, %74 + %75 = icmp samesign ult i64 %indvars.iv.next59.i, %74 br i1 %75, label %48, label %.loopexit.i, !llvm.loop !82 .loopexit.i: ; preds = %72, %string_get.exit.i, %45, %27 @@ -24493,7 +24493,7 @@ string_get.exit.i.i: ; preds = %248, %245 br i1 %255, label %269, label %.preheader.i.i .preheader.i.i: ; preds = %254 - %256 = icmp ugt i32 %240, 1 + %256 = icmp samesign ugt i32 %240, 1 br i1 %256, label %.lr.ph.i.i, label %282 .lr.ph.i.i: ; preds = %.preheader.i.i @@ -24641,7 +24641,7 @@ string_get.exit.i.i136: ; preds = %316, %313 br i1 %323, label %337, label %.preheader.i.i137 .preheader.i.i137: ; preds = %322 - %324 = icmp ugt i32 %308, 1 + %324 = icmp samesign ugt i32 %308, 1 br i1 %324, label %.lr.ph.i.i138, label %350 .lr.ph.i.i138: ; preds = %.preheader.i.i137 @@ -26919,7 +26919,7 @@ string_get.exit.i: ; preds = %74, %70 br i1 %81, label %.loopexit.i, label %82 82: ; preds = %string_get.exit.i - %83 = icmp ult i32 %78, 128 + %83 = icmp samesign ult i32 %78, 128 br i1 %83, label %84, label %87 84: ; preds = %82 @@ -26939,7 +26939,7 @@ string_get.exit.i: ; preds = %74, %70 %indvars.iv.next59.i = add nuw nsw i64 %indvars.iv58.i, 1 %92 = load i64, ptr %52, align 4 %93 = and i64 %92, 2147483647 - %94 = icmp ult i64 %indvars.iv.next59.i, %93 + %94 = icmp samesign ult i64 %indvars.iv.next59.i, %93 br i1 %94, label %67, label %.loopexit.i, !llvm.loop !82 .loopexit.i: ; preds = %91, %string_get.exit.i, %64, %46 @@ -27436,7 +27436,7 @@ string_get.exit.i.i: ; preds = %62, %59 br i1 %69, label %83, label %.preheader.i.i .preheader.i.i: ; preds = %68 - %70 = icmp ugt i32 %54, 1 + %70 = icmp samesign ugt i32 %54, 1 br i1 %70, label %.lr.ph.i.i, label %JS_AtomIsArrayIndex.exit.thread .lr.ph.i.i: ; preds = %.preheader.i.i @@ -27561,7 +27561,7 @@ string_get.exit.i.i151: ; preds = %121, %118 br i1 %128, label %142, label %.preheader.i.i152 .preheader.i.i152: ; preds = %127 - %129 = icmp ugt i32 %113, 1 + %129 = icmp samesign ugt i32 %113, 1 br i1 %129, label %.lr.ph.i.i153, label %JS_AtomIsArrayIndex.exit171.thread .lr.ph.i.i153: ; preds = %.preheader.i.i152 @@ -31054,7 +31054,7 @@ string_get.exit.i.i: ; preds = %291, %288 br i1 %298, label %312, label %.preheader.i.i .preheader.i.i: ; preds = %297 - %299 = icmp ugt i32 %283, 1 + %299 = icmp samesign ugt i32 %283, 1 br i1 %299, label %.lr.ph.i.i, label %325 .lr.ph.i.i: ; preds = %.preheader.i.i @@ -31996,7 +31996,7 @@ JS_DupValue.exit: ; preds = %4, %8 %18 = lshr i64 %13, 52 %19 = trunc nuw nsw i64 %18 to i32 %20 = and i32 %19, 2047 - %21 = icmp ult i32 %20, 1086 + %21 = icmp samesign ult i32 %20, 1086 br i1 %21, label %22, label %24 22: ; preds = %17 @@ -32006,7 +32006,7 @@ JS_DupValue.exit: ; preds = %4, %8 br label %JS_FreeValue.exit.i 24: ; preds = %17 - %25 = icmp ult i32 %20, 1139 + %25 = icmp samesign ult i32 %20, 1139 br i1 %25, label %26, label %34 26: ; preds = %24 @@ -32216,7 +32216,7 @@ define internal fastcc range(i32 -1, 1) i32 @JS_ToInt32Free(ptr noundef %0, ptr %11 = lshr i64 %7, 52 %12 = trunc nuw nsw i64 %11 to i32 %13 = and i32 %12, 2047 - %14 = icmp ult i32 %13, 1054 + %14 = icmp samesign ult i32 %13, 1054 br i1 %14, label %15, label %17 15: ; preds = %10 @@ -32226,7 +32226,7 @@ define internal fastcc range(i32 -1, 1) i32 @JS_ToInt32Free(ptr noundef %0, ptr br label %JS_FreeValue.exit 17: ; preds = %10 - %18 = icmp ult i32 %13, 1107 + %18 = icmp samesign ult i32 %13, 1107 br i1 %18, label %19, label %29 19: ; preds = %17 @@ -33258,7 +33258,7 @@ define internal fastcc { i64, i64 } @JS_CallInternal(ptr noundef %0, i64 %1, i64 .preheader4995: ; preds = %.preheader4995.loopexit, %195 %.pre-phi5888 = phi i32 [ %.pre5887, %.preheader4995.loopexit ], [ %197, %195 ] %.03335.lcssa = phi i32 [ %..i, %.preheader4995.loopexit ], [ 0, %195 ] - %199 = icmp ult i32 %.03335.lcssa, %.pre-phi5888 + %199 = icmp samesign ult i32 %.03335.lcssa, %.pre-phi5888 br i1 %199, label %.lr.ph5352.preheader, label %._crit_edge .lr.ph5352.preheader: ; preds = %.preheader4995 @@ -33300,7 +33300,7 @@ JS_DupValue.exit: ; preds = %.lr.ph, %208 %indvars.iv.next5823 = add nuw nsw i64 %indvars.iv5822, 1 %213 = load i16, ptr %160, align 8 %214 = zext i16 %213 to i64 - %215 = icmp ult i64 %indvars.iv.next5823, %214 + %215 = icmp samesign ult i64 %indvars.iv.next5823, %214 br i1 %215, label %.lr.ph5352, label %._crit_edge.loopexit, !llvm.loop !107 ._crit_edge.loopexit: ; preds = %.lr.ph5352 @@ -33333,7 +33333,7 @@ JS_DupValue.exit: ; preds = %.lr.ph, %208 %indvars.iv.next5826 = add nuw nsw i64 %indvars.iv5825, 1 %224 = load i16, ptr %167, align 2 %225 = zext i16 %224 to i64 - %226 = icmp ult i64 %indvars.iv.next5826, %225 + %226 = icmp samesign ult i64 %indvars.iv.next5826, %225 br i1 %226, label %.lr.ph5356, label %._crit_edge5357, !llvm.loop !108 ._crit_edge5357: ; preds = %.lr.ph5356, %217 @@ -64183,7 +64183,7 @@ JS_DupAtom.exit.i: ; preds = %220, %208 %indvars.iv.next.i = add nuw nsw i64 %indvars.iv.i, 1 %230 = load i16, ptr %116, align 8 %231 = zext i16 %230 to i64 - %232 = icmp ult i64 %indvars.iv.next.i, %231 + %232 = icmp samesign ult i64 %indvars.iv.next.i, %231 br i1 %232, label %208, label %.preheader102.i, !llvm.loop !182 233: ; preds = %287, %.lr.ph109.i @@ -64266,7 +64266,7 @@ set_closure_from_var.exit97.i: ; preds = %277, %246 %288 = phi i16 [ %234, %233 ], [ %234, %244 ], [ %.pre.i, %set_closure_from_var.exit97.i ] %289 = add nuw nsw i32 %.2108.i, 1 %290 = zext i16 %288 to i32 - %291 = icmp ult i32 %289, %290 + %291 = icmp samesign ult i32 %289, %290 br i1 %291, label %233, label %.loopexit101.i, !llvm.loop !183 292: ; preds = %348, %.lr.ph111.i @@ -64361,7 +64361,7 @@ set_closure_from_var.exit98.i: ; preds = %338, %is_var_in_arg %349 = phi i16 [ %293, %292 ], [ %293, %is_var_in_arg_scope.exit.i ], [ %.pre123.i, %set_closure_from_var.exit98.i ] %350 = add nuw nsw i32 %.3110.i, 1 %351 = zext i16 %349 to i32 - %352 = icmp ult i32 %350, %351 + %352 = icmp samesign ult i32 %350, %351 br i1 %352, label %292, label %.loopexit101.i, !llvm.loop !184 .loopexit101.i: ; preds = %287, %348, %.preheader102.i, %.preheader.i @@ -72993,7 +72993,7 @@ JS_FreeValueRT.exit: ; preds = %14, %21, %26 %indvars.iv.next = add nuw nsw i64 %indvars.iv, 1 %27 = load i8, ptr %11, align 1 %28 = zext i8 %27 to i64 - %29 = icmp ult i64 %indvars.iv.next, %28 + %29 = icmp samesign ult i64 %indvars.iv.next, %28 br i1 %29, label %14, label %._crit_edge, !llvm.loop !197 ._crit_edge: ; preds = %JS_FreeValueRT.exit, %.preheader @@ -73057,7 +73057,7 @@ JS_MarkValue.exit: ; preds = %15, %21 %24 = phi i8 [ %16, %15 ], [ %.pre, %21 ] %indvars.iv.next = add nuw nsw i64 %indvars.iv, 1 %25 = zext i8 %24 to i64 - %26 = icmp ult i64 %indvars.iv.next, %25 + %26 = icmp samesign ult i64 %indvars.iv.next, %25 br i1 %26, label %15, label %JS_GetOpaque.exit.thread, !llvm.loop !198 JS_GetOpaque.exit.thread: ; preds = %JS_MarkValue.exit, %.preheader, %7, %4, %JS_GetOpaque.exit @@ -76781,7 +76781,7 @@ JS_FreeAtomRT.exit39: ; preds = %107, %112, %JS_Free %166 = load i16, ptr %96, align 2 %167 = zext i16 %166 to i64 %168 = add nuw nsw i64 %167, %165 - %169 = icmp ult i64 %indvars.iv.next, %168 + %169 = icmp samesign ult i64 %indvars.iv.next, %168 br i1 %169, label %107, label %.loopexit, !llvm.loop !223 .loopexit: ; preds = %JS_FreeAtomRT.exit39, %.preheader53, %88 @@ -78346,7 +78346,7 @@ string_get.exit.i.i: ; preds = %31, %28 br i1 %38, label %52, label %.preheader.i.i .preheader.i.i: ; preds = %37 - %39 = icmp ugt i32 %23, 1 + %39 = icmp samesign ugt i32 %23, 1 br i1 %39, label %.lr.ph.i.i, label %JS_AtomIsArrayIndex.exit .lr.ph.i.i: ; preds = %.preheader.i.i @@ -78470,7 +78470,7 @@ string_get.exit.i.i16: ; preds = %88, %85 br i1 %95, label %109, label %.preheader.i.i17 .preheader.i.i17: ; preds = %94 - %96 = icmp ugt i32 %80, 1 + %96 = icmp samesign ugt i32 %80, 1 br i1 %96, label %.lr.ph.i.i18, label %JS_AtomIsArrayIndex.exit36 .lr.ph.i.i18: ; preds = %.preheader.i.i17 @@ -79261,7 +79261,7 @@ js_string_memcmp.exit.thread: ; preds = %45, %36, %44, %35, br i1 %54, label %57, label %55 55: ; preds = %js_string_memcmp.exit.thread - %56 = icmp ult i32 %6, %10 + %56 = icmp samesign ult i32 %6, %10 %. = select i1 %56, i32 -1, i32 1 br label %57 @@ -80157,7 +80157,7 @@ thread-pre-split: ; preds = %13, %15 to_digit.exit: ; preds = %56, %62, %64 %.0.i = phi i32 [ %63, %62 ], [ %spec.select.i, %64 ], [ %59, %56 ] - %.not274 = icmp ult i32 %.0.i, %.0 + %.not274 = icmp samesign ult i32 %.0.i, %.0 br i1 %.not274, label %.thread361, label %.thread368 67: ; preds = %17, %15, %13 @@ -82609,7 +82609,7 @@ string_get.exit.i.i: ; preds = %37, %34 br i1 %44, label %58, label %.preheader.i.i .preheader.i.i: ; preds = %43 - %45 = icmp ugt i32 %29, 1 + %45 = icmp samesign ugt i32 %29, 1 br i1 %45, label %.lr.ph.i.i, label %71 .lr.ph.i.i: ; preds = %.preheader.i.i @@ -87499,7 +87499,7 @@ js_string_memcmp.exit.thread.i: ; preds = %125, %116, %js_stri br i1 %134, label %js_string_compare.exit, label %135 135: ; preds = %js_string_memcmp.exit.thread.i - %136 = icmp ult i32 %86, %90 + %136 = icmp samesign ult i32 %86, %90 %..i = select i1 %136, i32 -1, i32 1 br label %js_string_compare.exit @@ -93105,7 +93105,7 @@ js_string_memcmp.exit.thread.i: ; preds = %105, %96, %js_strin br i1 %114, label %js_string_compare.exit, label %115 115: ; preds = %js_string_memcmp.exit.thread.i - %116 = icmp ult i32 %66, %70 + %116 = icmp samesign ult i32 %66, %70 %..i = select i1 %116, i32 -1, i32 1 br label %js_string_compare.exit @@ -96880,7 +96880,7 @@ bc_put_leb128.exit: ; preds = %.lr.ph.i.i, %2 %indvars.iv.next = add nuw nsw i64 %indvars.iv, 1 %23 = load i64, ptr %4, align 4 %24 = and i64 %23, 2147483647 - %25 = icmp ult i64 %indvars.iv.next, %24 + %25 = icmp samesign ult i64 %indvars.iv.next, %24 br i1 %25, label %19, label %.loopexit, !llvm.loop !289 26: ; preds = %bc_put_leb128.exit @@ -97221,7 +97221,7 @@ bc_put_leb128.exit156: ; preds = %.lr.ph.i.i152, %bc_ %161 = load i16, ptr %47, align 2 %162 = zext i16 %161 to i64 %163 = add nuw nsw i64 %162, %160 - %164 = icmp ult i64 %indvars.iv.next, %163 + %164 = icmp samesign ult i64 %indvars.iv.next, %163 br i1 %164, label %.lr.ph, label %.loopexit269, !llvm.loop !290 165: ; preds = %bc_put_leb128.exit127 @@ -111240,7 +111240,7 @@ string_get.exit198: ; preds = %243, %247 %254 = mul nuw nsw i32 %238, 10 %255 = add nuw nsw i32 %251, %254 %256 = add nsw i32 %255, -48 - %257 = icmp ugt i32 %255, 48 + %257 = icmp samesign ugt i32 %255, 48 %258 = icmp ult i32 %256, %82 %or.cond153 = select i1 %257, i1 %258, i1 false %259 = add nuw i32 %.0.i161, 3 @@ -129309,7 +129309,7 @@ define internal { i64, i64 } @js_Date_parse(ptr noundef %0, i64 %1, i64 %2, i32 string_get.exit: ; preds = %28, %32 %36 = phi i32 [ %31, %28 ], [ %35, %32 ] - %37 = icmp ugt i32 %36, 255 + %37 = icmp samesign ugt i32 %36, 255 %38 = icmp eq i32 %36, 8722 %39 = select i1 %38, i32 45, i32 120 %.054 = select i1 %37, i32 %39, i32 %36 @@ -191994,7 +191994,7 @@ js_string_memcmp.exit.thread.i: ; preds = %113, %104, %js_stri br i1 %122, label %js_string_compare.exit.thread73, label %123 123: ; preds = %js_string_memcmp.exit.thread.i - %124 = icmp ult i32 %74, %78 + %124 = icmp samesign ult i32 %74, %78 %..i = select i1 %124, i32 -1, i32 1 br label %js_string_compare.exit.thread @@ -198755,7 +198755,7 @@ JS_DupValue.exit: ; preds = %.lr.ph, %19 %23 = tail call fastcc { i64, i64 } @JS_ConcatString(ptr noundef %0, i64 %.sroa.013.025, i64 %.sroa.5.024, i64 %14, i64 %16) %indvars.iv.next = add nuw nsw i64 %indvars.iv, 1 %.sroa.5.0 = extractvalue { i64, i64 } %23, 1 - %24 = icmp uge i64 %indvars.iv.next, %12 + %24 = icmp samesign uge i64 %indvars.iv.next, %12 %25 = and i64 %.sroa.5.0, 4294967295 %.not = icmp eq i64 %25, 6 %or.cond = select i1 %24, i1 true, i1 %.not @@ -199360,7 +199360,7 @@ JS_ToInt32Clamp.exit.thread: ; preds = %81, %78, %64 %.059 = phi i32 [ %.059175, %JS_ToInt32Clamp.exit.thread ], [ %36, %JS_ToFloat64.exit.thread ], [ %36, %59 ], [ %63, %62 ], [ %36, %35 ], [ 0, %56 ] %.062 = phi i32 [ 1, %JS_ToInt32Clamp.exit.thread ], [ -1, %JS_ToFloat64.exit.thread ], [ -1, %59 ], [ -1, %62 ], [ -1, %35 ], [ -1, %56 ] %.060 = phi i32 [ %82, %JS_ToInt32Clamp.exit.thread ], [ 0, %JS_ToFloat64.exit.thread ], [ 0, %59 ], [ 0, %62 ], [ 0, %35 ], [ 0, %56 ] - %.not69 = icmp ult i32 %29, %33 + %.not69 = icmp samesign ult i32 %29, %33 br i1 %.not69, label %.loopexit, label %84 84: ; preds = %83 @@ -203451,7 +203451,7 @@ string_buffer_puts8.exit107: ; preds = %252, %245, %236, %. %indvars.iv.next = add nuw nsw i64 %indvars.iv, 1 %254 = load i64, ptr %188, align 4 %255 = and i64 %254, 2147483647 - %256 = icmp ult i64 %indvars.iv.next, %255 + %256 = icmp samesign ult i64 %indvars.iv.next, %255 br i1 %256, label %193, label %._crit_edge, !llvm.loop !561 ._crit_edge: ; preds = %string_buffer_puts8.exit107, %187 diff --git a/bench/raylib/optimized/raudio.c.ll b/bench/raylib/optimized/raudio.c.ll index a24b0e63f46..59ab6ac15fc 100644 --- a/bench/raylib/optimized/raudio.c.ll +++ b/bench/raylib/optimized/raudio.c.ll @@ -66069,7 +66069,7 @@ setup_free.exit156: ; preds = %.lr.ph221.split, %s %129 = sext i32 %128 to i64 %130 = icmp slt i64 %indvars.iv.next243, %129 %131 = icmp ult i64 %indvars.iv242, 15 - %132 = and i1 %131, %130 + %132 = and i1 %130, %131 br i1 %132, label %.lr.ph221.split, label %.preheader.loopexit, !llvm.loop !234 .preheader.split: ; preds = %.preheader, %setup_free.exit166 @@ -68291,7 +68291,7 @@ codebook_decode_scalar_raw.exit431.i: ; preds = %.sink.split.i403.i, %indvars.iv.next628.i = add nuw nsw i64 %indvars.iv627.i, 1 %678 = load i8, ptr %75, align 4 %679 = zext i8 %678 to i64 - %680 = icmp ult i64 %indvars.iv.next628.i, %679 + %680 = icmp samesign ult i64 %indvars.iv.next628.i, %679 br i1 %680, label %121, label %._crit_edge581.i ._crit_edge581.i: ; preds = %._crit_edge.i, %ilog.exit393.i @@ -68566,7 +68566,7 @@ get_bits.exit.thread.i: ; preds = %._crit_edge581.i, % %indvars.iv.next649.i = add nuw nsw i64 %indvars.iv648.i, 1 %811 = load i8, ptr %768, align 8 %812 = zext i8 %811 to i64 - %813 = icmp ult i64 %indvars.iv.next649.i, %812 + %813 = icmp samesign ult i64 %indvars.iv.next649.i, %812 br i1 %813, label %.preheader558.i, label %._crit_edge601.loopexit.i ._crit_edge601.loopexit.i: ; preds = %._crit_edge598.i @@ -69479,7 +69479,7 @@ define internal fastcc range(i32 0, 2) i32 @start_decoder(ptr noundef nonnull %0 br label %1290 108: ; preds = %104 - %109 = icmp ugt i32 %95, %96 + %109 = icmp samesign ugt i32 %95, %96 br i1 %109, label %110, label %112 110: ; preds = %108 @@ -70320,7 +70320,7 @@ setup_temp_free.exit1085: ; preds = %464, %471 %476 = getelementptr inbounds i8, ptr %246, i64 25 store i8 %475, ptr %476, align 1 %477 = and i32 %474, 255 - %478 = icmp ugt i32 %477, 2 + %478 = icmp samesign ugt i32 %477, 2 br i1 %478, label %479, label %481 479: ; preds = %473 @@ -70741,7 +70741,7 @@ setup_temp_free.exit1095: ; preds = %658, %651, %481 %685 = getelementptr inbounds [64 x i16], ptr %679, i64 0, i64 %indvars.iv1473 store i16 %684, ptr %685, align 2 %686 = and i32 %683, 65535 - %687 = icmp ugt i32 %686, 1 + %687 = icmp samesign ugt i32 %686, 1 br i1 %687, label %688, label %690 688: ; preds = %682 @@ -70796,7 +70796,7 @@ setup_temp_free.exit1095: ; preds = %658, %651, %481 %indvars.iv.next1522 = add nuw nsw i64 %indvars.iv1521, 1 %718 = load i8, ptr %712, align 2 %719 = zext i8 %718 to i64 - %720 = icmp ult i64 %indvars.iv.next1522, %719 + %720 = icmp samesign ult i64 %indvars.iv.next1522, %719 br i1 %720, label %714, label %._crit_edge1335 ._crit_edge1335: ; preds = %714, %694 @@ -70837,7 +70837,7 @@ setup_temp_free.exit1095: ; preds = %658, %651, %481 %indvars.iv.next1446 = add nuw nsw i64 %indvars.iv1445, 1 %737 = load i8, ptr %693, align 4 %738 = zext i8 %737 to i64 - %739 = icmp ult i64 %indvars.iv.next1446, %738 + %739 = icmp samesign ult i64 %indvars.iv.next1446, %738 br i1 %739, label %732, label %.lr.ph1262 740: ; preds = %.lr.ph1262, %._crit_edge1259 @@ -70975,7 +70975,7 @@ setup_temp_free.exit1095: ; preds = %658, %651, %481 %806 = add nuw nsw i32 %.29161264, 1 %807 = load i8, ptr %795, align 1 %808 = zext i8 %807 to i32 - %809 = icmp ult i32 %806, %808 + %809 = icmp samesign ult i32 %806, %808 br i1 %809, label %.lr.ph1266, label %._crit_edge1267.loopexit ._crit_edge1267.loopexit: ; preds = %.lr.ph1266 @@ -70987,7 +70987,7 @@ setup_temp_free.exit1095: ; preds = %658, %651, %481 %811 = phi i8 [ %.pre1535, %._crit_edge1267.loopexit ], [ %791, %789 ] %indvars.iv.next1457 = add nuw nsw i64 %indvars.iv1456, 1 %812 = zext i8 %811 to i64 - %813 = icmp ult i64 %indvars.iv.next1457, %812 + %813 = icmp samesign ult i64 %indvars.iv.next1457, %812 br i1 %813, label %789, label %.preheader1125 .lr.ph1272: ; preds = %.lr.ph1272.preheader, %.lr.ph1272 @@ -71172,7 +71172,7 @@ neighbors.exit: ; preds = %862 %893 = getelementptr inbounds [64 x i16], ptr %887, i64 0, i64 %indvars.iv1492 store i16 %892, ptr %893, align 2 %894 = and i32 %891, 65535 - %895 = icmp ugt i32 %894, 2 + %895 = icmp samesign ugt i32 %894, 2 br i1 %895, label %896, label %898 896: ; preds = %888 @@ -71246,7 +71246,7 @@ neighbors.exit: ; preds = %862 %indvars.iv.next1477 = add nuw nsw i64 %indvars.iv1476, 1 %932 = load i8, ptr %913, align 4 %933 = zext i8 %932 to i64 - %934 = icmp ult i64 %indvars.iv.next1477, %933 + %934 = icmp samesign ult i64 %indvars.iv.next1477, %933 br i1 %934, label %.lr.ph1287, label %._crit_edge1288.loopexit ._crit_edge1288.loopexit: ; preds = %928 @@ -71321,7 +71321,7 @@ neighbors.exit: ; preds = %862 %indvars.iv.next1484 = add nuw nsw i64 %indvars.iv1483, 1 %967 = load i8, ptr %913, align 4 %968 = zext i8 %967 to i64 - %969 = icmp ult i64 %indvars.iv.next1484, %968 + %969 = icmp samesign ult i64 %indvars.iv.next1484, %968 br i1 %969, label %.preheader1120, label %._crit_edge1292 ._crit_edge1292: ; preds = %966, %.preheader1121 @@ -71522,7 +71522,7 @@ neighbors.exit: ; preds = %862 %indvars.iv.next1496 = add nuw nsw i64 %indvars.iv1495, 1 %1079 = load i16, ptr %1048, align 8 %1080 = zext i16 %1079 to i64 - %1081 = icmp ult i64 %indvars.iv.next1496, %1080 + %1081 = icmp samesign ult i64 %indvars.iv.next1496, %1080 br i1 %1081, label %.lr.ph1306, label %.loopexit1118 .lr.ph1306: ; preds = %.preheader1117, %1078 @@ -71659,7 +71659,7 @@ neighbors.exit: ; preds = %862 %indvars.iv.next1505 = add nuw nsw i64 %indvars.iv1504, 1 %1145 = load i8, ptr %1067, align 8 %1146 = zext i8 %1145 to i64 - %1147 = icmp ult i64 %indvars.iv.next1505, %1146 + %1147 = icmp samesign ult i64 %indvars.iv.next1505, %1146 br i1 %1147, label %1148, label %._crit_edge1314 1148: ; preds = %.lr.ph1313, %1144 @@ -72206,7 +72206,7 @@ set_file_offset.exit.i: ; preds = %65, %62, %53, %52, br label %set_file_offset.exit142.i 115: ; preds = %83 - %116 = icmp ult i32 %.0102197.i, 2 + %116 = icmp samesign ult i32 %.0102197.i, 2 br i1 %116, label %117, label %172 117: ; preds = %115 @@ -72462,7 +72462,7 @@ set_file_offset.exit166.i: ; preds = %228, %225, %216, %2 br i1 %236, label %237, label %239 237: ; preds = %234 - %238 = icmp ugt i32 %.0102197.i, 1 + %238 = icmp samesign ugt i32 %.0102197.i, 1 %or.cond5.i = or i1 %238, %87 br i1 %or.cond5.i, label %._crit_edge.i, label %243 @@ -75456,7 +75456,7 @@ define internal fastcc void @convert_samples_short(i32 noundef %0, ptr nocapture ._crit_edge.us.i.us.us: ; preds = %.lr.ph.us.i.us.us, %.lr.ph42.us.i.us.us %indvars.iv.next74.i.us.us = add nuw nsw i64 %indvars.iv73.i.us.us, 32 - %50 = icmp ult i64 %indvars.iv.next74.i.us.us, %17 + %50 = icmp samesign ult i64 %indvars.iv.next74.i.us.us, %17 br i1 %50, label %.lr.ph42.us.i.us.us, label %compute_samples.exit.loopexit.us.us compute_samples.exit.loopexit.us.us: ; preds = %._crit_edge.us.i.us.us @@ -75510,7 +75510,7 @@ compute_samples.exit.loopexit.us.us: ; preds = %._crit_edge.us.i.us ._crit_edge.i.us: ; preds = %.lr.ph.i.us, %.preheader39.i.us %indvars.iv.next58.i.us = add nuw nsw i64 %indvars.iv57.i.us, 32 - %67 = icmp ult i64 %indvars.iv.next58.i.us, %17 + %67 = icmp samesign ult i64 %indvars.iv.next58.i.us, %17 %indvars.iv.next68 = add i32 %indvars.iv67, -32 br i1 %67, label %.preheader39.i.us, label %compute_samples.exit.loopexit48.us @@ -75863,7 +75863,7 @@ define internal fastcc void @convert_channels_short_interleaved(i32 noundef %0, ._crit_edge.us.i.us.us: ; preds = %.lr.ph80.us.i.us.us, %..preheader71_crit_edge.us.i.us.us %indvars.iv.next110.i.us.us = add nuw nsw i64 %indvars.iv109.i.us.us, 16 - %76 = icmp ult i64 %indvars.iv.next110.i.us.us, %14 + %76 = icmp samesign ult i64 %indvars.iv.next110.i.us.us, %14 %indvars.iv.next99 = add i32 %indvars.iv98, -16 br i1 %76, label %.lr.ph78.us.i.us.us, label %compute_stereo_samples.exit.loopexit.us.us @@ -75922,7 +75922,7 @@ compute_stereo_samples.exit.loopexit.us.us: ; preds = %._crit_edge.us.i.us ._crit_edge.i.us: ; preds = %.lr.ph80.i.us, %.preheader71.i.us %indvars.iv.next92.i.us = add nuw nsw i64 %indvars.iv91.i.us, 16 - %95 = icmp ult i64 %indvars.iv.next92.i.us, %14 + %95 = icmp samesign ult i64 %indvars.iv.next92.i.us, %14 %indvars.iv.next91 = add i32 %indvars.iv90, -16 br i1 %95, label %.preheader71.i.us, label %compute_stereo_samples.exit.loopexit46.us @@ -77690,7 +77690,7 @@ drmp3_bs_get_bits.exit155.thread.i: ; preds = %drmp3_bs_get_bits.e %502 = trunc nuw i32 %501 to i16 %503 = getelementptr inbounds i8, ptr %.099.i, i64 10 store i16 %502, ptr %503, align 2 - %504 = icmp ugt i32 %501, 288 + %504 = icmp samesign ugt i32 %501, 288 br i1 %504, label %drmp3_L3_read_side_info.exit.thread, label %505 505: ; preds = %.lr.ph.i149.i, %drmp3_bs_get_bits.exit155.thread.i @@ -78545,7 +78545,7 @@ drmp3_L3_read_side_info.exit.thread: ; preds = %drmp3_bs_get_bits.e %988 = zext i8 %987 to i32 %989 = lshr i32 255, %985 %990 = and i32 %989, %988 - %991 = icmp ugt i32 %986, 8 + %991 = icmp samesign ugt i32 %986, 8 br i1 %991, label %.lr.ph.i.i.i.i, label %._crit_edge.i.i.i.i .lr.ph.i.i.i.i: ; preds = %981, %.lr.ph.i.i.i.i @@ -78644,7 +78644,7 @@ drmp3_L3_read_scalefactors.exit.i.i: ; preds = %.loopexit.i.i.i, %9 %1044 = add i8 %1043, %1029 store i8 %1044, ptr %1042, align 1 %indvars.iv.next114.i.i = add nuw nsw i64 %indvars.iv113.i.i, 3 - %1045 = icmp ult i64 %indvars.iv.next114.i.i, %1031 + %1045 = icmp samesign ult i64 %indvars.iv.next114.i.i, %1031 br i1 %1045, label %1032, label %.loopexit.i.i 1046: ; preds = %drmp3_L3_read_scalefactors.exit.i.i @@ -78735,7 +78735,7 @@ drmp3_L3_ldexp_q2.exit83.i.i: ; preds = %1081 %1097 = load i8, ptr %906, align 2 %1098 = zext i8 %1097 to i64 %1099 = add nuw nsw i64 %1098, %1096 - %1100 = icmp ult i64 %indvars.iv.next120.i.i, %1099 + %1100 = icmp samesign ult i64 %indvars.iv.next120.i.i, %1099 br i1 %1100, label %.lr.ph.i.i138, label %drmp3_L3_decode_scalefactors.exit.i drmp3_L3_decode_scalefactors.exit.i: ; preds = %drmp3_L3_ldexp_q2.exit83.i.i, %drmp3_L3_ldexp_q2.exit.preheader.i.i @@ -79436,7 +79436,7 @@ drmp3_L3_huffman.exit.i: ; preds = %1373, %1347, %1332 1430: ; preds = %1435 %indvars.iv.next.i.i71.i = add nuw nsw i64 %indvars.iv.i.i70.i, 2 - %1431 = icmp ult i64 %indvars.iv.next.i.i71.i, %1429 + %1431 = icmp samesign ult i64 %indvars.iv.next.i.i71.i, %1429 br i1 %1431, label %.lr.ph.i.i.i, label %.loopexit.i.i72.i .lr.ph.i.i.i: ; preds = %1430, %.lr.ph.preheader.i.i.i @@ -79649,7 +79649,7 @@ drmp3_L3_ldexp_q2.exit.i.i.i: ; preds = %1509 %1543 = fsub <4 x float> %1539, %1541 store <4 x float> %1543, ptr %1540, align 1 %indvars.iv.next.i46.i.i.i = add nuw nsw i64 %indvars.iv.i45.i.i.i, 4 - %1544 = icmp ult i64 %indvars.iv.next.i46.i.i.i, %1537 + %1544 = icmp samesign ult i64 %indvars.iv.next.i46.i.i.i, %1537 br i1 %1544, label %.lr.ph.i44.i.i.i, label %._crit_edge.loopexit.i.i.i.i ._crit_edge.loopexit.i.i.i.i: ; preds = %.lr.ph.i44.i.i.i @@ -79658,7 +79658,7 @@ drmp3_L3_ldexp_q2.exit.i.i.i: ; preds = %1509 ._crit_edge.i.i.i77.i: ; preds = %._crit_edge.loopexit.i.i.i.i, %1532 %.1.lcssa.i.i.i.i = phi i32 [ 0, %1532 ], [ %1545, %._crit_edge.loopexit.i.i.i.i ] - %.not620 = icmp ult i32 %.1.lcssa.i.i.i.i, %1533 + %.not620 = icmp samesign ult i32 %.1.lcssa.i.i.i.i, %1533 br i1 %.not620, label %.lr.ph45.preheader.i.i.i.i, label %drmp3_L3_intensity_stereo_band.exit.i.i.i .lr.ph45.preheader.i.i.i.i: ; preds = %._crit_edge.i.i.i77.i @@ -80421,7 +80421,7 @@ drmp3_bs_get_bits.exit.i152: ; preds = %._crit_edge.i.i151, %1965 = shl nuw nsw i64 %indvars.iv.i149, 1 %1966 = getelementptr inbounds [64 x i8], ptr %1913, i64 0, i64 %1965 store i8 %1964, ptr %1966, align 2 - %1967 = icmp ult i64 %indvars.iv.i149, %1914 + %1967 = icmp samesign ult i64 %indvars.iv.i149, %1914 br i1 %1967, label %1968, label %1994 1968: ; preds = %drmp3_bs_get_bits.exit.i152 @@ -80740,7 +80740,7 @@ drmp3_L12_read_scale_info.exit: ; preds = %.lr.ph105.i, %drmp3 %2111 = zext i8 %2110 to i32 %2112 = lshr i32 255, %2108 %2113 = and i32 %2112, %2111 - %2114 = icmp ugt i32 %2109, 8 + %2114 = icmp samesign ugt i32 %2109, 8 br i1 %2114, label %.lr.ph.i.i184, label %._crit_edge.i.i178 .lr.ph.i.i184: ; preds = %2104, %.lr.ph.i.i184 @@ -81228,7 +81228,7 @@ define internal fastcc void @drmp3d_synth_granule(ptr nocapture noundef %0, ptr 189: ; preds = %180, %148 %indvars.iv.next437.i = add nuw nsw i64 %indvars.iv436.i, 4 - %190 = icmp ult i64 %indvars.iv.next437.i, %18 + %190 = icmp samesign ult i64 %indvars.iv.next437.i, %18 br i1 %190, label %21, label %drmp3d_DCT_II.exit drmp3d_DCT_II.exit: ; preds = %189 @@ -81549,7 +81549,7 @@ drmp3d_DCT_II.exit: ; preds = %189 drmp3d_synth.exit: ; preds = %234 %indvars.iv.next40 = add nuw nsw i64 %indvars.iv39, 2 - %456 = icmp ult i64 %indvars.iv.next40, %.pre-phi + %456 = icmp samesign ult i64 %indvars.iv.next40, %.pre-phi br i1 %456, label %198, label %457 457: ; preds = %drmp3d_synth.exit @@ -84754,7 +84754,7 @@ qoa_lms_predict.exit._crit_edge.us.us: ; preds = %qoa_lms_update.exit %176 = load i32, ptr %175, align 4 %177 = mul nsw i32 %176, %176 %178 = add nuw nsw i32 %174, %177 - %179 = icmp ugt i32 %178, 805306367 + %179 = icmp samesign ugt i32 %178, 805306367 br i1 %179, label %180, label %.preheader 180: ; preds = %162 @@ -85211,7 +85211,7 @@ qoa_lms_update.exit.us: ; preds = %78 tail call void @llvm.memmove.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(12) %130, ptr noundef nonnull align 4 dereferenceable(12) %scevgep.i.us, i64 12, i1 false) store i32 %.0.i.us, ptr %132, align 4 %indvars.iv.next139 = add nuw nsw i64 %indvars.iv138, %54 - %87 = icmp ult i64 %indvars.iv.next139, %94 + %87 = icmp samesign ult i64 %indvars.iv.next139, %94 br i1 %87, label %59, label %._crit_edge.us .lr.ph108.us: ; preds = %._crit_edge.us, %.preheader.us @@ -85267,7 +85267,7 @@ qoa_lms_update.exit.us: ; preds = %78 br label %59 ._crit_edge112.us: ; preds = %._crit_edge.us - %133 = icmp ult i32 %56, %19 + %133 = icmp samesign ult i32 %56, %19 %indvars.iv.next135 = add nuw nsw i64 %indvars.iv134, %55 br i1 %133, label %.preheader.us, label %._crit_edge116 @@ -86671,7 +86671,7 @@ jar_xm_check_sanity_preload.exit: ; preds = %13 %79 = add i8 %.013.i, 1 %80 = zext i8 %79 to i32 %81 = zext i16 %78 to i32 - %82 = icmp ult i32 %80, %81 + %82 = icmp samesign ult i32 %80, %81 br i1 %82, label %63, label %jar_xm_check_sanity_preload.exit.thread jar_xm_free_context.exit: ; preds = %71 @@ -88945,7 +88945,7 @@ define hidden ptr @jar_xm_load_module(ptr nocapture noundef %0, ptr noundef read %indvars.iv.next1036 = add nuw nsw i64 %indvars.iv1035, 1 %1025 = load i16, ptr %424, align 8 %1026 = zext i16 %1025 to i64 - %1027 = icmp ult i64 %indvars.iv.next1036, %1026 + %1027 = icmp samesign ult i64 %indvars.iv.next1036, %1026 br i1 %1027, label %761, label %.preheader965 1028: ; preds = %.lr.ph1009, %._crit_edge1002 @@ -89262,7 +89262,7 @@ define hidden ptr @jar_xm_load_module(ptr nocapture noundef %0, ptr noundef read %indvars.iv.next1057 = add nuw nsw i64 %indvars.iv1056, 1 %1176 = load i16, ptr %424, align 8 %1177 = zext i16 %1176 to i64 - %1178 = icmp ult i64 %indvars.iv.next1057, %1177 + %1178 = icmp samesign ult i64 %indvars.iv.next1057, %1177 br i1 %1178, label %1028, label %._crit_edge1010 ._crit_edge1010: ; preds = %._crit_edge1002, %752, %.preheader965 @@ -89322,7 +89322,7 @@ define hidden range(i32 0, 2) i32 @jar_xm_check_sanity_postload(ptr nocapture no %23 = add i8 %.013, 1 %24 = zext i8 %23 to i32 %25 = zext i16 %22 to i32 - %26 = icmp ult i32 %24, %25 + %26 = icmp samesign ult i32 %24, %25 br i1 %26, label %7, label %._crit_edge ._crit_edge: ; preds = %15, %21, %1 @@ -91262,7 +91262,7 @@ jar_xm_tremolo.exit: ; preds = %703, %714, %720, %7 %.rhs.trunc = add nuw nsw i16 %958, 2 %959 = urem i16 %.lhs.trunc, %.rhs.trunc %.zext = zext nneg i16 %959 to i32 - %960 = icmp ult i32 %955, %.zext + %960 = icmp samesign ult i32 %955, %.zext %961 = getelementptr inbounds i8, ptr %156, i64 137 %962 = zext i1 %960 to i8 store i8 %962, ptr %961, align 1 @@ -91353,7 +91353,7 @@ jar_xm_tone_portamento.exit248: ; preds = %915, %913, %897, %8 %1017 = load i16, ptr %1016, align 4 %1018 = zext i16 %1017 to i32 %1019 = add nuw nsw i32 %1018, %1015 - %.not = icmp ugt i32 %1019, %1012 + %.not = icmp samesign ugt i32 %1019, %1012 br i1 %.not, label %1021, label %1020 1020: ; preds = %._crit_edge @@ -92587,7 +92587,7 @@ getnote.exit273: ; preds = %104, %.split.loop.e %109 = zext nneg i8 %108 to i32 %110 = add i32 %.06.i270, %109 %111 = and i32 %110, 65408 - %112 = icmp ugt i32 %111, 1151 + %112 = icmp samesign ugt i32 %111, 1151 %113 = and i32 %110, 65535 %narrow = select i1 %112, i32 1151, i32 %113 %114 = zext nneg i32 %narrow to i64 @@ -92600,7 +92600,7 @@ getnote.exit273: ; preds = %104, %.split.loop.e %120 = zext nneg i8 %119 to i32 %121 = add i32 %.06.i270, %120 %122 = and i32 %121, 65408 - %123 = icmp ugt i32 %122, 1151 + %123 = icmp samesign ugt i32 %122, 1151 %124 = and i32 %121, 65535 %narrow251 = select i1 %123, i32 1151, i32 %124 %125 = zext nneg i32 %narrow251 to i64 @@ -93463,7 +93463,7 @@ memcopy.exit123: ; preds = %41 %85 = load i16, ptr %70, align 1 %86 = zext i16 %85 to i32 %87 = add nuw nsw i32 %86, %84 - %88 = icmp ugt i32 %87, %80 + %88 = icmp samesign ugt i32 %87, %80 br i1 %88, label %89, label %91 89: ; preds = %77 @@ -104054,7 +104054,7 @@ ma_strncpy_s.exit63.i: ; preds = %151, %149, %ma_strn .thread.i.i: ; preds = %164 %.ptr.le.i = getelementptr inbounds i8, ptr %6, i64 %.046.i.add.i store i8 0, ptr %.ptr.le.i, align 1 - %166 = icmp ugt i64 %.046.i.idx.i, 3 + %166 = icmp samesign ugt i64 %.046.i.idx.i, 3 br i1 %166, label %.lr.ph.i66.i.preheader, label %.preheader.i67.i.preheader .preheader.i67.i.preheader: ; preds = %.lr.ph.i66.i, %.thread.i.i diff --git a/bench/raylib/optimized/rmodels.c.ll b/bench/raylib/optimized/rmodels.c.ll index 3207b462f70..5105a1a167f 100644 --- a/bench/raylib/optimized/rmodels.c.ll +++ b/bench/raylib/optimized/rmodels.c.ll @@ -13529,7 +13529,7 @@ define hidden noalias noundef ptr @_m3d_safestr(ptr noundef readonly %0, i32 nou 7: ; preds = %.preheader99.split.us %8 = icmp ne i8 %6, 10 - %9 = icmp ult i32 %.0101.us, 256 + %9 = icmp samesign ult i32 %.0101.us, 256 %or.cond.us = select i1 %8, i1 %9, i1 false br i1 %or.cond.us, label %10, label %.critedge @@ -23089,7 +23089,7 @@ par_shapes_translate.exit: ; preds = %.lr.ph.i56, %par_sh %74 = getelementptr inbounds i16, ptr %69, i64 %indvars.iv.i store i16 %73, ptr %74, align 2 %indvars.iv.next.i = add nuw nsw i64 %indvars.iv.i, 1 - %75 = icmp ult i64 %indvars.iv.next.i, %72 + %75 = icmp samesign ult i64 %indvars.iv.next.i, %72 br i1 %75, label %.lr.ph.i57, label %._crit_edge.i ._crit_edge.i: ; preds = %.lr.ph.i57, %.._crit_edge_crit_edge.i @@ -25249,7 +25249,7 @@ define hidden noundef ptr @par_shapes_create_klein_bottle(i32 noundef %0, i32 no .preheader.us: ; preds = %._crit_edge.us, %.split.us %.01826.us = phi i32 [ 0, %.split.us ], [ %14, %._crit_edge.us ] %.01925.us = phi i32 [ 0, %.split.us ], [ %.us-phi.us, %._crit_edge.us ] - %10 = icmp ult i32 %.01826.us, %7 + %10 = icmp samesign ult i32 %.01826.us, %7 br i1 %10, label %.lr.ph.split.us.us.preheader, label %par_shapes_invert.exit.us.preheader par_shapes_invert.exit.us.preheader: ; preds = %.preheader.us @@ -29167,7 +29167,7 @@ define void @DrawCylinder(<2 x float> %0, float %1, float noundef %2, float noun tail call void @rlVertex3f(float noundef %36, float noundef %4, float noundef %38) #53 %39 = udiv i32 360, %spec.store.select %40 = add nuw nsw i32 %39, %.08692 - %41 = icmp ult i32 %40, 360 + %41 = icmp samesign ult i32 %40, 360 br i1 %41, label %.preheader88, label %.preheader .preheader: ; preds = %.preheader88, %.preheader @@ -29188,7 +29188,7 @@ define void @DrawCylinder(<2 x float> %0, float %1, float noundef %2, float noun %53 = fmul float %2, %52 tail call void @rlVertex3f(float noundef %51, float noundef %4, float noundef %53) #53 %54 = add nuw nsw i32 %39, %.08593 - %55 = icmp ult i32 %54, 360 + %55 = icmp samesign ult i32 %54, 360 br i1 %55, label %.preheader, label %.loopexit.preheader .preheader89: ; preds = %7, %.preheader89 @@ -29210,7 +29210,7 @@ define void @DrawCylinder(<2 x float> %0, float %1, float noundef %2, float noun tail call void @rlVertex3f(float noundef %65, float noundef 0.000000e+00, float noundef %67) #53 %68 = udiv i32 360, %spec.store.select %69 = add nuw nsw i32 %68, %.08491 - %70 = icmp ult i32 %69, 360 + %70 = icmp samesign ult i32 %69, 360 br i1 %70, label %.preheader89, label %.loopexit.preheader .loopexit.preheader: ; preds = %.preheader89, %.preheader @@ -29235,7 +29235,7 @@ define void @DrawCylinder(<2 x float> %0, float %1, float noundef %2, float noun tail call void @rlVertex3f(float noundef %80, float noundef 0.000000e+00, float noundef %82) #53 %83 = udiv i32 360, %spec.store.select %84 = add nuw nsw i32 %83, %.094 - %85 = icmp ult i32 %84, 360 + %85 = icmp samesign ult i32 %84, 360 br i1 %85, label %.loopexit, label %86 86: ; preds = %.loopexit @@ -29451,7 +29451,7 @@ define void @DrawCylinderWires(<2 x float> %0, float %1, float noundef %2, float tail call void @rlVertex3f(float noundef %44, float noundef 0.000000e+00, float noundef %46) #53 %47 = udiv i32 360, %spec.store.select %48 = add nuw nsw i32 %47, %.051 - %49 = icmp ult i32 %48, 360 + %49 = icmp samesign ult i32 %48, 360 br i1 %49, label %10, label %50 50: ; preds = %10 @@ -31555,7 +31555,7 @@ LoadOBJ.exit: ; preds = %38, %tinyobj_shapes 696: ; preds = %.lr.ph.i.i20 %697 = zext nneg i32 %694 to i64 - %698 = icmp ult i64 %indvars.iv.i.i21, %697 + %698 = icmp samesign ult i64 %indvars.iv.i.i21, %697 br i1 %698, label %699, label %701 699: ; preds = %696 @@ -33030,7 +33030,7 @@ LoadBoneInfoGLTF.exit.i: ; preds = %1473, %1453 1497: ; preds = %.lr.ph.i621.i %1498 = zext nneg i32 %1495 to i64 - %1499 = icmp ult i64 %indvars.iv.i.i57, %1498 + %1499 = icmp samesign ult i64 %indvars.iv.i.i57, %1498 br i1 %1499, label %1500, label %1502 1500: ; preds = %1497 @@ -34951,7 +34951,7 @@ LoadVOX.exit: ; preds = %1870, %1874, %Vox_F %2570 = getelementptr inbounds %struct.m3dm_t, ptr %2569, i64 %indvars.iv544.i, i32 1 %2571 = load i8, ptr %2570, align 8 %2572 = zext i8 %2571 to i64 - %2573 = icmp ult i64 %indvars.iv.next542.i, %2572 + %2573 = icmp samesign ult i64 %indvars.iv.next542.i, %2572 br i1 %2573, label %.lr.ph516.i, label %.loopexit.i109 ._crit_edge.i106: ; preds = %.loopexit.i109, %.preheader495.i @@ -35886,7 +35886,7 @@ GetMeshBoundingBox.exit50: ; preds = %.lr.ph.i32, %33, %4 %68 = fcmp ogt float %39, %.sroa.6.0.i25 %69 = select i1 %68, float %39, float %.sroa.6.0.i25 %indvars.iv.next = add nuw nsw i64 %indvars.iv, 1 - %70 = icmp ult i64 %indvars.iv.next, %32 + %70 = icmp samesign ult i64 %indvars.iv.next, %32 br i1 %70, label %33, label %..loopexit_crit_edge ..loopexit_crit_edge: ; preds = %GetMeshBoundingBox.exit50 @@ -39435,7 +39435,7 @@ cgltf_accessor_read_float.exit.thread167.us.i: ; preds = %731 846: ; preds = %.lr.ph.i161.i %847 = zext nneg i32 %844 to i64 - %848 = icmp ult i64 %indvars.iv.i.i, %847 + %848 = icmp samesign ult i64 %indvars.iv.i.i, %847 br i1 %848, label %849, label %851 849: ; preds = %846 @@ -39975,7 +39975,7 @@ define void @GenMeshPoly(ptr dead_on_unwind noalias nocapture writable sret(%str %.sroa.340.0..sroa_idx = getelementptr inbounds i8, ptr %13, i64 32 store float %26, ptr %.sroa.340.0..sroa_idx, align 4 %indvars.iv.next = add nuw nsw i64 %indvars.iv, 3 - %27 = icmp ult i64 %indvars.iv.next, %12 + %27 = icmp samesign ult i64 %indvars.iv.next, %12 br i1 %27, label %.lr.ph, label %._crit_edge ._crit_edge: ; preds = %.lr.ph @@ -62055,7 +62055,7 @@ define internal fastcc range(i32 0, 2) i32 @_m3dstbi__zbuild_huffman(ptr nocaptu %70 = zext i16 %rev.i.i to i32 %71 = sub nuw nsw i32 16, %47 %72 = lshr i32 %70, %71 - %73 = icmp ult i32 %72, 512 + %73 = icmp samesign ult i32 %72, 512 br i1 %73, label %.lr.ph78, label %.loopexit .lr.ph78: ; preds = %69 @@ -62069,7 +62069,7 @@ define internal fastcc range(i32 0, 2) i32 @_m3dstbi__zbuild_huffman(ptr nocaptu %78 = getelementptr inbounds [512 x i16], ptr %0, i64 0, i64 %indvars.iv91 store i16 %63, ptr %78, align 2 %indvars.iv.next92 = add nuw nsw i64 %indvars.iv91, %76 - %79 = icmp ult i64 %indvars.iv.next92, 512 + %79 = icmp samesign ult i64 %indvars.iv.next92, 512 br i1 %79, label %77, label %.loopexit .loopexit: ; preds = %77, %69, %48 @@ -62225,12 +62225,12 @@ _m3dstbi__malloc_mad3.exit: ; preds = %17, %_m3dstbi__mul2 %86 = getelementptr inbounds i8, ptr %68, i64 %85 tail call void @llvm.memcpy.p0.p0.i64(ptr align 1 %83, ptr align 1 %86, i64 %31, i1 false) %indvars.iv.next = add nuw nsw i64 %indvars.iv, 1 - %87 = icmp ult i64 %indvars.iv.next, %71 + %87 = icmp samesign ult i64 %indvars.iv.next, %71 br i1 %87, label %79, label %._crit_edge.us ._crit_edge.us: ; preds = %79 %indvars.iv.next92 = add nuw nsw i64 %indvars.iv91, 1 - %88 = icmp ult i64 %indvars.iv.next92, %72 + %88 = icmp samesign ult i64 %indvars.iv.next92, %72 br i1 %88, label %.preheader.us, label %._crit_edge85 89: ; preds = %55 @@ -62942,10 +62942,10 @@ _m3dstbi__mad3sizes_valid.exit._crit_edge: ; preds = %39, %_m3dstbi__mul2 %186 = tail call i32 @llvm.abs.i32(i32 %185, i1 true) %187 = sub nsw i32 %182, %180 %188 = tail call i32 @llvm.abs.i32(i32 %187, i1 true) - %.not.i644 = icmp ugt i32 %184, %186 - %.not20.i645 = icmp ugt i32 %184, %188 + %.not.i644 = icmp samesign ugt i32 %184, %186 + %.not20.i645 = icmp samesign ugt i32 %184, %188 %or.cond.i646 = select i1 %.not.i644, i1 true, i1 %.not20.i645 - %.not21.i = icmp ugt i32 %186, %188 + %.not21.i = icmp samesign ugt i32 %186, %188 %..i = select i1 %.not21.i, i8 %179, i8 %176 %.0.i647 = select i1 %or.cond.i646, i8 %..i, i8 %173 %.narrow629 = add i8 %.0.i647, %170 @@ -63207,10 +63207,10 @@ _m3dstbi__mad3sizes_valid.exit._crit_edge: ; preds = %39, %_m3dstbi__mul2 %270 = tail call i32 @llvm.abs.i32(i32 %269, i1 true) %271 = sub nsw i32 %266, %264 %272 = tail call i32 @llvm.abs.i32(i32 %271, i1 true) - %.not.i654 = icmp ugt i32 %268, %270 - %.not20.i655 = icmp ugt i32 %268, %272 + %.not.i654 = icmp samesign ugt i32 %268, %270 + %.not20.i655 = icmp samesign ugt i32 %268, %272 %or.cond.i656 = select i1 %.not.i654, i1 true, i1 %.not20.i655 - %.not21.i657 = icmp ugt i32 %270, %272 + %.not21.i657 = icmp samesign ugt i32 %270, %272 %..i658 = select i1 %.not21.i657, i8 %263, i8 %260 %.0.i659 = select i1 %or.cond.i656, i8 %..i658, i8 %257 %.narrow613 = add i8 %.0.i659, %254 diff --git a/bench/raylib/optimized/rtextures.c.ll b/bench/raylib/optimized/rtextures.c.ll index 8d9d02ef40f..01e5e8a3116 100644 --- a/bench/raylib/optimized/rtextures.c.ll +++ b/bench/raylib/optimized/rtextures.c.ll @@ -4371,7 +4371,7 @@ define hidden noalias noundef ptr @qoi_encode(ptr noundef readonly %0, ptr nound %.1211 = phi i32 [ %90, %87 ], [ %.0210227, %83 ], [ %117, %115 ], [ %139, %131 ], [ %157, %150 ], [ %161, %158 ], [ %165, %162 ] %.1 = phi i32 [ 0, %87 ], [ %84, %83 ], [ %.2, %115 ], [ %.2, %131 ], [ %.2, %150 ], [ %.2, %158 ], [ %.2, %162 ] %indvars.iv.next = add nuw nsw i64 %indvars.iv, %65 - %167 = icmp ult i64 %indvars.iv.next, %67 + %167 = icmp samesign ult i64 %indvars.iv.next, %67 br i1 %167, label %71, label %.preheader.loopexit 168: ; preds = %25, %3, %8, %11, %15, %19, %23, %.preheader @@ -8103,10 +8103,10 @@ define internal fastcc void @stbiw__encode_png_line(ptr nocapture noundef readon %130 = tail call i32 @llvm.abs.i32(i32 %129, i1 true) %131 = sub nsw i32 %126, %124 %132 = tail call i32 @llvm.abs.i32(i32 %131, i1 true) - %.not.i138 = icmp ugt i32 %128, %130 - %.not20.i139 = icmp ugt i32 %128, %132 + %.not.i138 = icmp samesign ugt i32 %128, %130 + %.not20.i139 = icmp samesign ugt i32 %128, %132 %or.cond.i140 = select i1 %.not.i138, i1 true, i1 %.not20.i139 - %.not21.i = icmp ugt i32 %130, %132 + %.not21.i = icmp samesign ugt i32 %130, %132 %..i = select i1 %.not21.i, i8 %123, i8 %119 %.0.in.i141 = select i1 %or.cond.i140, i8 %..i, i8 %115 %133 = sub i8 %112, %.0.in.i141 @@ -16638,7 +16638,7 @@ switch.lookup159: ; preds = %GetPixelDataSize.ex GetPixelDataSize.exit88: ; preds = %110, %116, %118 %.016.i84 = phi i32 [ %113, %110 ], [ 8, %116 ], [ %spec.select.i87, %118 ] call void @ImageCopy(ptr dead_on_unwind nonnull writable sret(%struct.Image) align 8 %2, ptr noundef nonnull byval(%struct.Image) align 8 %0) - %120 = icmp ugt i32 %.058.lcssa, 1 + %120 = icmp samesign ugt i32 %.058.lcssa, 1 br i1 %120, label %.lr.ph119, label %._crit_edge120 .lr.ph119: ; preds = %GetPixelDataSize.exit88, %GetPixelDataSize.exit95 @@ -22650,7 +22650,7 @@ define void @ImageDrawLine(ptr nocapture noundef readonly %0, i32 noundef %1, i3 %8 = tail call i32 @llvm.abs.i32(i32 %7, i1 true) %9 = sub nsw i32 %4, %2 %10 = tail call i32 @llvm.abs.i32(i32 %9, i1 true) - %11 = icmp ult i32 %10, %8 + %11 = icmp samesign ult i32 %10, %8 br i1 %11, label %12, label %.thread 12: ; preds = %6 @@ -27815,7 +27815,7 @@ stbi__getn.exit.thread: ; preds = %517, %stbi__getn.ex 583: ; preds = %582 %584 = zext nneg i8 %.0200 to i32 store i32 %584, ptr %57, align 8 - %585 = icmp ugt i32 %2, 2 + %585 = icmp samesign ugt i32 %2, 2 %spec.select = select i1 %585, i32 %2, i32 %584 store i32 %spec.select, ptr %562, align 4 %586 = call fastcc i32 @stbi__expand_png_palette(ptr noundef %0, ptr noundef %4, i32 noundef %spec.select) @@ -28617,12 +28617,12 @@ stbi__malloc_mad3.exit.thread: ; preds = %stbi__mul2sizes_val %86 = getelementptr inbounds i8, ptr %68, i64 %85 tail call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 1 %83, ptr align 1 %86, i64 %31, i1 false) %indvars.iv.next = add nuw nsw i64 %indvars.iv, 1 - %87 = icmp ult i64 %indvars.iv.next, %71 + %87 = icmp samesign ult i64 %indvars.iv.next, %71 br i1 %87, label %79, label %._crit_edge.us ._crit_edge.us: ; preds = %79 %indvars.iv.next98 = add nuw nsw i64 %indvars.iv97, 1 - %88 = icmp ult i64 %indvars.iv.next98, %72 + %88 = icmp samesign ult i64 %indvars.iv.next98, %72 br i1 %88, label %.preheader.us, label %._crit_edge91 89: ; preds = %55 @@ -29442,10 +29442,10 @@ stbi__mad3sizes_valid.exit._crit_edge: ; preds = %39, %stbi__mul2size %183 = tail call i32 @llvm.abs.i32(i32 %182, i1 true) %184 = sub nsw i32 %179, %177 %185 = tail call i32 @llvm.abs.i32(i32 %184, i1 true) - %.not.i638 = icmp ugt i32 %181, %183 - %.not20.i639 = icmp ugt i32 %181, %185 + %.not.i638 = icmp samesign ugt i32 %181, %183 + %.not20.i639 = icmp samesign ugt i32 %181, %185 %or.cond.i640 = select i1 %.not.i638, i1 true, i1 %.not20.i639 - %.not21.i = icmp ugt i32 %183, %185 + %.not21.i = icmp samesign ugt i32 %183, %185 %..i = select i1 %.not21.i, i8 %176, i8 %173 %.0.i641 = select i1 %or.cond.i640, i8 %..i, i8 %170 %.narrow623 = add i8 %.0.i641, %167 @@ -29707,10 +29707,10 @@ stbi__mad3sizes_valid.exit._crit_edge: ; preds = %39, %stbi__mul2size %267 = tail call i32 @llvm.abs.i32(i32 %266, i1 true) %268 = sub nsw i32 %263, %261 %269 = tail call i32 @llvm.abs.i32(i32 %268, i1 true) - %.not.i648 = icmp ugt i32 %265, %267 - %.not20.i649 = icmp ugt i32 %265, %269 + %.not.i648 = icmp samesign ugt i32 %265, %267 + %.not20.i649 = icmp samesign ugt i32 %265, %269 %or.cond.i650 = select i1 %.not.i648, i1 true, i1 %.not20.i649 - %.not21.i651 = icmp ugt i32 %267, %269 + %.not21.i651 = icmp samesign ugt i32 %267, %269 %..i652 = select i1 %.not21.i651, i8 %260, i8 %257 %.0.i653 = select i1 %or.cond.i650, i8 %..i652, i8 %254 %.narrow607 = add i8 %.0.i653, %251 @@ -30246,7 +30246,7 @@ stbi__mul2sizes_valid.exit.thread15.i: ; preds = %9 stbi__mul2sizes_valid.exit12.i: ; preds = %14 %16 = udiv i32 2147483647, %12 - %.not.i = icmp ugt i32 %13, %16 + %.not.i = icmp samesign ugt i32 %13, %16 br i1 %.not.i, label %stbi__process_gif_raster.exit.thread.sink.split, label %stbi__mad3sizes_valid.exit stbi__mad3sizes_valid.exit: ; preds = %stbi__mul2sizes_valid.exit12.i, %14 @@ -32787,7 +32787,7 @@ define internal fastcc range(i32 0, 2) i32 @stbi__zbuild_huffman(ptr nocapture n %70 = zext i16 %rev.i.i to i32 %71 = sub nuw nsw i32 16, %47 %72 = lshr i32 %70, %71 - %73 = icmp ult i32 %72, 512 + %73 = icmp samesign ult i32 %72, 512 br i1 %73, label %.lr.ph78, label %.loopexit .lr.ph78: ; preds = %69 @@ -32801,7 +32801,7 @@ define internal fastcc range(i32 0, 2) i32 @stbi__zbuild_huffman(ptr nocapture n %78 = getelementptr inbounds [512 x i16], ptr %0, i64 0, i64 %indvars.iv91 store i16 %63, ptr %78, align 2 %indvars.iv.next92 = add nuw nsw i64 %indvars.iv91, %76 - %79 = icmp ult i64 %indvars.iv.next92, 512 + %79 = icmp samesign ult i64 %indvars.iv.next92, 512 br i1 %79, label %77, label %.loopexit .loopexit: ; preds = %77, %69, %48 @@ -33528,7 +33528,7 @@ define internal fastcc i32 @stbiw__jpg_processDU(ptr nocapture noundef nonnull r store float %66, ptr %41, align 4 store float %70, ptr %43, align 4 %indvars.iv.next.lver.orig = add nuw nsw i64 %indvars.iv.lver.orig, %34 - %85 = icmp ult i64 %indvars.iv.next.lver.orig, %35 + %85 = icmp samesign ult i64 %indvars.iv.next.lver.orig, %35 br i1 %85, label %36, label %.preheader237 .preheader237: ; preds = %36 diff --git a/bench/re2/optimized/simplify.cc.ll b/bench/re2/optimized/simplify.cc.ll index 6d8458eb8ca..b66c81b139b 100644 --- a/bench/re2/optimized/simplify.cc.ll +++ b/bench/re2/optimized/simplify.cc.ll @@ -740,7 +740,7 @@ for.body9.i: ; preds = %for.cond.i, %for.bo %indvars.iv.next25.i = add nuw nsw i64 %indvars.iv24.i, 1 %7 = load i16, ptr %nsub_.i, align 2 %8 = zext i16 %7 to i64 - %cmp8.i = icmp ult i64 %indvars.iv.next25.i, %8 + %cmp8.i = icmp samesign ult i64 %indvars.iv.next25.i, %8 br i1 %cmp8.i, label %for.body9.i, label %if.then7, !llvm.loop !8 if.then7: ; preds = %for.body9.i @@ -791,7 +791,7 @@ for.body: ; preds = %for.body.preheader, %arrayidx20 = getelementptr inbounds ptr, ptr %retval.0.i208, i64 %indvars.iv store ptr %16, ptr %arrayidx20, align 8 %indvars.iv.next = add nuw nsw i64 %indvars.iv, 1 - %cmp18 = icmp ult i64 %indvars.iv.next, %15 + %cmp18 = icmp samesign ult i64 %indvars.iv.next, %15 br i1 %cmp18, label %for.body, label %for.end, !llvm.loop !9 lpad: ; preds = %if.end9 @@ -829,7 +829,7 @@ for.body37: ; preds = %if.end, %for.inc48 %indvars.iv184 = phi i64 [ %indvars.iv.next185, %for.inc48 ], [ 0, %if.end ] %indvars.iv.next185 = add nuw nsw i64 %indvars.iv184, 1 %27 = zext i16 %26 to i64 - %cmp39 = icmp ult i64 %indvars.iv.next185, %27 + %cmp39 = icmp samesign ult i64 %indvars.iv.next185, %27 br i1 %cmp39, label %land.lhs.true, label %for.inc48 land.lhs.true: ; preds = %for.body37 @@ -848,7 +848,7 @@ for.cond81.preheader: ; preds = %land.lhs.true for.inc48: ; preds = %for.body37, %land.lhs.true %30 = phi i16 [ %26, %for.body37 ], [ %.pre199, %land.lhs.true ] %31 = zext i16 %30 to i64 - %cmp36 = icmp ult i64 %indvars.iv.next185, %31 + %cmp36 = icmp samesign ult i64 %indvars.iv.next185, %31 br i1 %cmp36, label %for.body37, label %if.then51, !llvm.loop !10 if.then51: ; preds = %for.inc48 @@ -885,7 +885,7 @@ for.body9.i110: ; preds = %for.cond.i106, %for %indvars.iv.next25.i113 = add nuw nsw i64 %indvars.iv24.i111, 1 %37 = load i16, ptr %nsub_.i, align 2 %38 = zext i16 %37 to i64 - %cmp8.i114 = icmp ult i64 %indvars.iv.next25.i113, %38 + %cmp8.i114 = icmp samesign ult i64 %indvars.iv.next25.i113, %38 br i1 %cmp8.i114, label %for.body9.i110, label %if.then53, !llvm.loop !8 if.then53: ; preds = %for.body9.i110, %if.then51 @@ -937,7 +937,7 @@ for.body71: ; preds = %for.body71.preheade %arrayidx75 = getelementptr inbounds ptr, ptr %retval.0.i129213, i64 %indvars.iv196 store ptr %47, ptr %arrayidx75, align 8 %indvars.iv.next197 = add nuw nsw i64 %indvars.iv196, 1 - %cmp70 = icmp ult i64 %indvars.iv.next197, %46 + %cmp70 = icmp samesign ult i64 %indvars.iv.next197, %46 br i1 %cmp70, label %for.body71, label %return, !llvm.loop !11 lpad58: ; preds = %if.end55 @@ -958,7 +958,7 @@ for.body84: ; preds = %for.cond81.preheade %conv.i133172.in = phi i16 [ %52, %for.inc102 ], [ %.pre199, %for.cond81.preheader ] %indvars.iv.next188 = add nuw nsw i64 %indvars.iv187, 1 %49 = zext i16 %conv.i133172.in to i64 - %cmp87 = icmp ult i64 %indvars.iv.next188, %49 + %cmp87 = icmp samesign ult i64 %indvars.iv.next188, %49 br i1 %cmp87, label %land.lhs.true88, label %for.inc102 land.lhs.true88: ; preds = %for.body84 @@ -976,7 +976,7 @@ if.then95: ; preds = %land.lhs.true88 for.inc102: ; preds = %for.body84, %land.lhs.true88, %if.then95 %52 = load i16, ptr %nsub_.i, align 2 %53 = zext i16 %52 to i64 - %cmp83 = icmp ult i64 %indvars.iv.next188, %53 + %cmp83 = icmp samesign ult i64 %indvars.iv.next188, %53 br i1 %cmp83, label %for.body84, label %for.cond106.preheader, !llvm.loop !12 for.body109: ; preds = %for.body109.preheader, %for.body109 @@ -1064,7 +1064,7 @@ for.inc149: ; preds = %if.end143, %if.then %indvars.iv.next194 = add nuw nsw i64 %indvars.iv193, 1 %66 = load i16, ptr %nsub_.i, align 2 %67 = zext i16 %66 to i64 - %cmp134 = icmp ult i64 %indvars.iv.next194, %67 + %cmp134 = icmp samesign ult i64 %indvars.iv.next194, %67 br i1 %cmp134, label %for.body135, label %return, !llvm.loop !14 return: ; preds = %for.body71, %for.inc149, %_ZN3re26Regexp8AllocSubEi.exit126, %_ZN3re26Regexp8AllocSubEi.exit149, %for.end, %if.then23, %if.then28, %if.then53, %if.then7, %if.then @@ -1669,7 +1669,7 @@ for.body9.i: ; preds = %for.cond.i, %for.bo %indvars.iv.next25.i = add nuw nsw i64 %indvars.iv24.i, 1 %7 = load i16, ptr %nsub_.i.i, align 2 %8 = zext i16 %7 to i64 - %cmp8.i = icmp ult i64 %indvars.iv.next25.i, %8 + %cmp8.i = icmp samesign ult i64 %indvars.iv.next25.i, %8 br i1 %cmp8.i, label %for.body9.i, label %if.then, !llvm.loop !8 if.then: ; preds = %for.body9.i, %sw.bb3 @@ -1721,7 +1721,7 @@ for.body: ; preds = %for.body.preheader, %arrayidx16 = getelementptr inbounds ptr, ptr %retval.0.i111, i64 %indvars.iv store ptr %16, ptr %arrayidx16, align 8 %indvars.iv.next = add nuw nsw i64 %indvars.iv, 1 - %cmp = icmp ult i64 %indvars.iv.next, %15 + %cmp = icmp samesign ult i64 %indvars.iv.next, %15 br i1 %cmp, label %for.body, label %for.end, !llvm.loop !16 lpad: ; preds = %if.end diff --git a/bench/sqlite/optimized/sqlite3.ll b/bench/sqlite/optimized/sqlite3.ll index f5a021f6303..fa552f63469 100644 --- a/bench/sqlite/optimized/sqlite3.ll +++ b/bench/sqlite/optimized/sqlite3.ll @@ -5882,13 +5882,13 @@ getIntArg.exit807.thread: ; preds = %getIntArg.exit807, 494: ; preds = %492 %495 = load i32, ptr %68, align 8 %496 = zext i32 %495 to i64 - %497 = icmp ugt i64 %.0612, %496 + %497 = icmp samesign ugt i64 %.0612, %496 br i1 %497, label %498, label %524 498: ; preds = %494 %499 = load i32, ptr %75, align 4 %500 = zext i32 %499 to i64 - %501 = icmp ugt i64 %.0612, %500 + %501 = icmp samesign ugt i64 %.0612, %500 br i1 %501, label %502, label %524 502: ; preds = %498 @@ -7157,13 +7157,13 @@ sqlite3FpDecode.exit._crit_edge: ; preds = %sqlite3FpDecode.exi 983: ; preds = %981 %984 = load i32, ptr %68, align 8 %985 = zext i32 %984 to i64 - %986 = icmp ugt i64 %.0591, %985 + %986 = icmp samesign ugt i64 %.0591, %985 br i1 %986, label %987, label %1013 987: ; preds = %983 %988 = load i32, ptr %75, align 4 %989 = zext i32 %988 to i64 - %990 = icmp ugt i64 %.0591, %989 + %990 = icmp samesign ugt i64 %.0591, %989 br i1 %990, label %991, label %1013 991: ; preds = %987 @@ -8279,13 +8279,13 @@ getTextArg.exit838: ; preds = %1445, %1448, %1463, 1507: ; preds = %1505 %1508 = load i32, ptr %68, align 8 %1509 = zext i32 %1508 to i64 - %1510 = icmp ugt i64 %1503, %1509 + %1510 = icmp samesign ugt i64 %1503, %1509 br i1 %1510, label %1511, label %1537 1511: ; preds = %1507 %1512 = load i32, ptr %75, align 4 %1513 = zext i32 %1512 to i64 - %1514 = icmp ugt i64 %1503, %1513 + %1514 = icmp samesign ugt i64 %1503, %1513 br i1 %1514, label %1515, label %1537 1515: ; preds = %1511 @@ -13530,7 +13530,7 @@ sqlite3VdbeNextOpcode.exit.i: ; preds = %._crit_edge.thread. %indvars.iv.next.i66.i = add nuw nsw i64 %indvars.iv.i65.i, 1 %371 = load i16, ptr %348, align 2 %372 = zext i16 %371 to i64 - %373 = icmp ult i64 %indvars.iv.next.i66.i, %372 + %373 = icmp samesign ult i64 %indvars.iv.next.i66.i, %372 br i1 %373, label %354, label %._crit_edge80.i.i, !llvm.loop !83 ._crit_edge80.i.i: ; preds = %359, %345 @@ -25444,7 +25444,7 @@ define dso_local void @sqlite3_result_error_code(ptr nocapture noundef %0, i32 n 12: ; preds = %9 %13 = and i32 %1, 255 - %14 = icmp ult i32 %13, 29 + %14 = icmp samesign ult i32 %13, 29 br i1 %14, label %15, label %sqlite3ErrStr.exit 15: ; preds = %12 @@ -34437,7 +34437,7 @@ sqlite3_value_text.exit.thread: ; preds = %sqlite3_value_text. 37: ; preds = %sqlite3_value_text.exit.thread %38 = and i32 %.pr, 255 - %39 = icmp ult i32 %38, 29 + %39 = icmp samesign ult i32 %38, 29 br i1 %39, label %.thread, label %sqlite3ErrStr.exit .thread: ; preds = %11, %37 @@ -37668,7 +37668,7 @@ sqlite3ParserFinalize.exit._crit_edge: ; preds = %sqlite3ParserFinali 328: ; preds = %326 %329 = and i32 %.pre204, 255 - %330 = icmp ult i32 %329, 29 + %330 = icmp samesign ult i32 %329, 29 br i1 %330, label %331, label %sqlite3ErrStr.exit 331: ; preds = %328 @@ -43756,7 +43756,7 @@ sqlite3_value_text16.exit.thread: ; preds = %25, %10, %sqlite3_v 34: ; preds = %sqlite3_value_text16.exit.thread %35 = and i32 %31, 255 - %36 = icmp ult i32 %35, 29 + %36 = icmp samesign ult i32 %35, 29 br i1 %36, label %37, label %sqlite3ErrStr.exit 37: ; preds = %34 @@ -43998,7 +43998,7 @@ define dso_local ptr @sqlite3_errstr(i32 noundef %0) #2 { 4: ; preds = %1 %5 = and i32 %0, 255 - %6 = icmp ult i32 %5, 29 + %6 = icmp samesign ult i32 %5, 29 br i1 %6, label %7, label %sqlite3ErrStr.exit 7: ; preds = %4 @@ -55264,7 +55264,7 @@ unixTempFileDir.exit: ; preds = %20 %30 = call ptr (i32, ptr, ptr, ...) @sqlite3_snprintf(i32 noundef %0, ptr noundef nonnull %1, ptr noundef nonnull @.str.79, ptr noundef nonnull %.0.i13, i64 noundef %29, i32 noundef 0) %31 = load i8, ptr %gep, align 1 %.not = icmp ne i8 %31, 0 - %32 = icmp ugt i32 %.011, 10 + %32 = icmp samesign ugt i32 %.011, 10 %or.cond = select i1 %.not, i1 true, i1 %32 br i1 %or.cond, label %.loopexit, label %33 @@ -55642,7 +55642,7 @@ sqlite3_free.exit: ; preds = %58, %56, %sqlite3_m %indvars.iv.next = add nuw nsw i64 %indvars.iv, %24 %60 = load i16, ptr %19, align 8 %61 = zext i16 %60 to i64 - %62 = icmp ult i64 %indvars.iv.next, %61 + %62 = icmp samesign ult i64 %indvars.iv.next, %61 br i1 %62, label %25, label %._crit_edge, !llvm.loop !241 ._crit_edge: ; preds = %sqlite3_free.exit, %sqlite3_mutex_free.exit @@ -59928,7 +59928,7 @@ sqlite3Strlen30.exit: ; preds = %5 %7 = tail call i64 @strlen(ptr noundef nonnull readonly dereferenceable(1) %1) #58 %8 = trunc i64 %7 to i32 %9 = and i32 %8, 1073741823 - %10 = icmp ugt i32 %9, 1 + %10 = icmp samesign ugt i32 %9, 1 br i1 %10, label %11, label %sqlite3Strlen30.exit.thread 11: ; preds = %sqlite3Strlen30.exit @@ -66155,7 +66155,7 @@ define internal fastcc i32 @pagerLockDb(ptr nocapture noundef %0, i32 noundef ra %3 = getelementptr inbounds i8, ptr %0, i64 22 %4 = load i8, ptr %3, align 2 %5 = zext i8 %4 to i32 - %6 = icmp ugt i32 %1, %5 + %6 = icmp samesign ugt i32 %1, %5 %7 = icmp eq i8 %4, 5 %or.cond14 = or i1 %7, %6 br i1 %or.cond14, label %8, label %24 @@ -71457,7 +71457,7 @@ define internal fastcc range(i32 0, 12) i32 @btreeInitPage(ptr noundef %0) unnam %indvars.iv.next.i = add nuw nsw i64 %indvars.iv.i, 1 %72 = load i16, ptr %47, align 8 %73 = zext i16 %72 to i64 - %74 = icmp ult i64 %indvars.iv.next.i, %73 + %74 = icmp samesign ult i64 %indvars.iv.next.i, %73 br i1 %74, label %75, label %btreeCellSizeCheck.exit, !llvm.loop !318 75: ; preds = %71, %.lr.ph.i @@ -71471,7 +71471,7 @@ define internal fastcc range(i32 0, 12) i32 @btreeInitPage(ptr noundef %0) unnam %81 = load i8, ptr %80, align 1 %82 = zext i8 %81 to i32 %83 = or disjoint i32 %79, %82 - %84 = icmp ult i32 %83, %63 + %84 = icmp samesign ult i32 %83, %63 %85 = icmp sgt i32 %83, %spec.select.i %or.cond.i = select i1 %84, i1 true, i1 %85 br i1 %or.cond.i, label %btreeCellSizeCheck.exit.sink.split, label %86 @@ -71504,7 +71504,7 @@ define internal fastcc range(i32 0, 12) i32 @decodeFlags(ptr nocapture noundef % %6 = load i8, ptr %5, align 1 %7 = getelementptr inbounds i8, ptr %0, i64 11 store i8 %6, ptr %7, align 1 - %8 = icmp ugt i32 %1, 9 + %8 = icmp samesign ugt i32 %1, 9 %9 = getelementptr inbounds i8, ptr %0, i64 10 %10 = getelementptr inbounds i8, ptr %0, i64 8 br i1 %8, label %11, label %39 @@ -84732,7 +84732,7 @@ sqlite3Strlen30.exit192: ; preds = %sqlite3BtreeGetFile br i1 %.not164, label %166, label %156 156: ; preds = %155 - %157 = icmp ugt i32 %.0143, 100 + %157 = icmp samesign ugt i32 %.0143, 100 br i1 %157, label %158, label %163 158: ; preds = %156 @@ -85887,7 +85887,7 @@ vdbeSortSubtaskCleanup.exit: ; preds = %sqlite3OsCloseFree. %indvars.iv.next = add nuw nsw i64 %indvars.iv, 1 %144 = load i8, ptr %39, align 1 %145 = zext i8 %144 to i64 - %146 = icmp ult i64 %indvars.iv.next, %145 + %146 = icmp samesign ult i64 %indvars.iv.next, %145 br i1 %146, label %42, label %._crit_edge, !llvm.loop !373 ._crit_edge: ; preds = %vdbeSortSubtaskCleanup.exit, %vdbeMergeEngineFree.exit @@ -89682,11 +89682,11 @@ define internal fastcc range(i32 -1, 4) i32 @sqlite3Atoi64(ptr noundef readonly .loopexit: ; preds = %.preheader, %71, %62, %59 %.091 = phi i32 [ -1, %59 ], [ %.mux, %62 ], [ 1, %.preheader ], [ 0, %71 ] %74 = mul nuw nsw i32 %.096, 19 - %75 = icmp ult i32 %.1.lcssa166, %74 + %75 = icmp samesign ult i32 %.1.lcssa166, %74 br i1 %75, label %107, label %76 76: ; preds = %.loopexit - %77 = icmp ugt i32 %.1.lcssa166, %74 + %77 = icmp samesign ugt i32 %.1.lcssa166, %74 br i1 %77, label %.thread, label %79 .thread: ; preds = %76 @@ -100854,7 +100854,7 @@ vdbeMergeEngineNew.exit.i.i.i: ; preds = %sqlite3FaultSim.exi %.1111.i.i.i = phi ptr [ %.2.i.i.i, %vdbeMergeEngineFree.exit.i.i.i ], [ %.1111.i.i.i.ph, %.lr.ph112.i.i.i.preheader ] %5643 = load i8, ptr %5625, align 1 %5644 = zext i8 %5643 to i64 - %5645 = icmp ult i64 %indvars.iv121.i.i.i, %5644 + %5645 = icmp samesign ult i64 %indvars.iv121.i.i.i, %5644 br i1 %5645, label %5648, label %vdbeSorterMergeTreeBuild.exit.thread89.i.i vdbeSorterMergeTreeBuild.exit.thread89.i.i: ; preds = %.lr.ph112.i.i.i @@ -101882,7 +101882,7 @@ select.unfold.i.i: ; preds = %sqlite3DbMallocRaw. %indvars.iv196.i.i = phi i64 [ 0, %.preheader.i.i4043 ], [ %indvars.iv.next197.i.i, %6084 ] %6081 = load i8, ptr %5625, align 1 %6082 = zext i8 %6081 to i64 - %6083 = icmp ult i64 %indvars.iv196.i.i, %6082 + %6083 = icmp samesign ult i64 %indvars.iv196.i.i, %6082 br i1 %6083, label %6084, label %.critedge.i.i 6084: ; preds = %6080 @@ -104616,7 +104616,7 @@ sqlite3MemSetArrayInt64.exit.i: ; preds = %7550, %7547, %7525 store i64 %7526, ptr %7527, align 8 store i16 4, ptr %7528, align 4 %indvars.iv.next121.i = add nuw nsw i64 %indvars.iv120.i, 1 - %7555 = icmp ult i64 %indvars.iv.next121.i, %7502 + %7555 = icmp samesign ult i64 %indvars.iv.next121.i, %7502 %7556 = load i32, ptr %313, align 4 %7557 = icmp ne i32 %7556, 0 %7558 = select i1 %7555, i1 %7557, i1 false @@ -109179,7 +109179,7 @@ sqlite3VdbeSorterRowkey.exit: ; preds = %6084, %5541, %4244, 9849: ; preds = %9846 %9850 = and i32 %.55, 255 - %9851 = icmp ult i32 %9850, 29 + %9851 = icmp samesign ult i32 %9850, 29 br i1 %9851, label %9852, label %sqlite3ErrStr.exit 9852: ; preds = %9849 @@ -111202,7 +111202,7 @@ sqlite3VdbeSerialTypeLen.exit: ; preds = %13, %16 br i1 %23, label %141, label %24 24: ; preds = %sqlite3VdbeSerialTypeLen.exit - %25 = icmp ugt i32 %.0.i, 4000 + %25 = icmp samesign ugt i32 %.0.i, 4000 br i1 %25, label %26, label %119 26: ; preds = %24 @@ -114423,7 +114423,7 @@ sqlite3VdbeFindCompare.exit: ; preds = %3, %17, %23, %26, % %105 = getelementptr inbounds i8, ptr %45, i64 14 %106 = load i16, ptr %105, align 2 %107 = zext i16 %106 to i32 - %.not25.i = icmp ugt i32 %104, %107 + %.not25.i = icmp samesign ugt i32 %104, %107 br i1 %.not25.i, label %indexCellCompare.exit.thread, label %108 108: ; preds = %100 @@ -114493,7 +114493,7 @@ indexCellCompare.exit.thread: ; preds = %98, %100, %112, %in %149 = getelementptr inbounds i8, ptr %.val163, i64 14 %150 = load i16, ptr %149, align 2 %151 = zext i16 %150 to i32 - %.not25.i170 = icmp ugt i32 %148, %151 + %.not25.i170 = icmp samesign ugt i32 %148, %151 br i1 %.not25.i170, label %indexCellCompare.exit171.thread, label %152 152: ; preds = %144 @@ -114621,7 +114621,7 @@ cursorOnLastPage.exit._crit_edge: ; preds = %cursorOnLastPage.ex %222 = or disjoint i32 %221, %219 %223 = load i16, ptr %190, align 2 %224 = zext i16 %223 to i32 - %.not155 = icmp ugt i32 %222, %224 + %.not155 = icmp samesign ugt i32 %222, %224 br i1 %.not155, label %228, label %225 225: ; preds = %218 @@ -117354,7 +117354,7 @@ fillInCell.exit: ; preds = %releasePage.exit.th %741 = load i8, ptr %740, align 1 %742 = zext i8 %741 to i32 %743 = or disjoint i32 %739, %742 - %744 = icmp ugt i32 %734, %743 + %744 = icmp samesign ugt i32 %734, %743 br i1 %744, label %745, label %754 745: ; preds = %721 @@ -117922,7 +117922,7 @@ define internal fastcc i32 @sqlite3BtreeDelete(ptr noundef %0, i8 noundef zeroex %167 = or disjoint i64 %163, %166 %168 = and i64 %167, %152 %169 = getelementptr inbounds i8, ptr %149, i64 %168 - %170 = icmp ult i64 %168, 4 + %170 = icmp samesign ult i64 %168, 4 br i1 %170, label %171, label %172 171: ; preds = %139 @@ -119093,7 +119093,7 @@ sqlite3GetVarint32.exit184: ; preds = %408, %417, %426 %441 = getelementptr inbounds i8, ptr %440, i64 8 %442 = load i16, ptr %441, align 8 %443 = zext i16 %442 to i64 - %.not155 = icmp ult i64 %indvars.iv, %443 + %.not155 = icmp samesign ult i64 %indvars.iv, %443 br i1 %.not155, label %445, label %444 444: ; preds = %439, %434 @@ -119690,7 +119690,7 @@ sqlite3BtreeTxnState.exit.thread: ; preds = %42, %sqlite3BtreeTx 50: ; preds = %sqlite3BtreeTxnState.exit.thread %51 = and i32 %47, 255 - %52 = icmp ult i32 %51, 29 + %52 = icmp samesign ult i32 %51, 29 br i1 %52, label %53, label %sqlite3DbMallocRaw.exit.i.i 53: ; preds = %50 @@ -122739,7 +122739,7 @@ define internal fastcc i32 @sqlite3VdbeMemFromBtree(ptr noundef %0, i32 noundef %11 = mul nuw nsw i64 %10, %9 %12 = add i32 %2, %1 %13 = zext i32 %12 to i64 - %14 = icmp ult i64 %11, %13 + %14 = icmp samesign ult i64 %11, %13 br i1 %14, label %15, label %16 15: ; preds = %4 @@ -126494,7 +126494,7 @@ define internal fastcc i32 @clearDatabasePage(ptr noundef %0, i32 noundef %1, i3 %indvars.iv.next = add nuw nsw i64 %indvars.iv, 1 %80 = load i16, ptr %28, align 8 %81 = zext i16 %80 to i64 - %82 = icmp ult i64 %indvars.iv.next, %81 + %82 = icmp samesign ult i64 %indvars.iv.next, %81 br i1 %82, label %37, label %._crit_edge, !llvm.loop !509 ._crit_edge: ; preds = %.thread, %25 @@ -129286,7 +129286,7 @@ balance_quick.exit: ; preds = %315, %316, %399, %4 %595 = load i16, ptr %594, align 8 %596 = zext i16 %595 to i32 %597 = add nuw nsw i32 %596, %593 - %598 = icmp ult i32 %597, 2 + %598 = icmp samesign ult i32 %597, 2 br i1 %598, label %610, label %599 599: ; preds = %590 @@ -129703,7 +129703,7 @@ balance_quick.exit: ; preds = %315, %316, %399, %4 %indvars.iv.next820.i = add nuw nsw i64 %indvars.iv819.i, 1 %869 = load i8, ptr %836, align 4 %870 = zext i8 %869 to i64 - %871 = icmp ult i64 %indvars.iv.next820.i, %870 + %871 = icmp samesign ult i64 %indvars.iv.next820.i, %870 br i1 %871, label %865, label %.loopexit650.loopexit.i, !llvm.loop !516 .loopexit650.loopexit.i: ; preds = %865 @@ -129754,7 +129754,7 @@ balance_quick.exit: ; preds = %315, %316, %399, %4 %.promoted10121016.i = phi i32 [ %.promoted10121017.i, %.loopexit650.i ], [ %895, %883 ] %897 = getelementptr inbounds [5 x i32], ptr %7, i64 0, i64 %indvars.iv827.i store i32 %.promoted10121016.i, ptr %897, align 4 - %898 = icmp uge i64 %indvars.iv827.i, %665 + %898 = icmp samesign uge i64 %indvars.iv827.i, %665 %or.cond.i = select i1 %898, i1 true, i1 %813 br i1 %or.cond.i, label %931, label %899 @@ -129909,7 +129909,7 @@ balance_quick.exit: ; preds = %315, %316, %399, %4 %indvars.iv.next833.i = add nuw nsw i64 %indvars.iv832.i, 1 %980 = load i8, ptr %967, align 4 %981 = zext i8 %980 to i64 - %982 = icmp ult i64 %indvars.iv.next833.i, %981 + %982 = icmp samesign ult i64 %indvars.iv.next833.i, %981 br i1 %982, label %971, label %._crit_edge693.i, !llvm.loop !520 ._crit_edge693.i: ; preds = %971, %962 @@ -130383,7 +130383,7 @@ cachedCellSize.exit617.i: ; preds = %1175, %cachedCellSi 1216: ; preds = %1248, %.lr.ph719.i %indvars.iv866.i = phi i64 [ 0, %.lr.ph719.i ], [ %indvars.iv.next867.i, %1248 ] %.1717.i = phi i32 [ 0, %.lr.ph719.i ], [ %.2.i, %1248 ] - %.not576.i = icmp ugt i64 %indvars.iv866.i, %665 + %.not576.i = icmp samesign ugt i64 %indvars.iv866.i, %665 br i1 %.not576.i, label %1233, label %1217 1217: ; preds = %1216 @@ -130940,7 +130940,7 @@ cachedCellSize.exit620.i: ; preds = %1414, %1410 .thread631.i: ; preds = %..thread631.i_crit_edge, %1506 %.pre956.i.pre-phi = phi i32 [ %.pre206, %..thread631.i_crit_edge ], [ %1507, %1506 ] - %.not560.i = icmp ugt i32 %1500, %.0473.i + %.not560.i = icmp samesign ugt i32 %1500, %.0473.i br i1 %.not560.i, label %1520, label %1515 1515: ; preds = %.thread631.i @@ -131579,7 +131579,7 @@ define internal fastcc range(i32 0, 12) i32 @freeSpace(ptr nocapture noundef %0, %.1114 = phi i32 [ %65, %68 ], [ %6, %47 ] %.1112 = phi i16 [ %70, %68 ], [ %2, %47 ] %79 = zext i16 %.1116 to i32 - %80 = icmp ult i32 %12, %79 + %80 = icmp samesign ult i32 %12, %79 br i1 %80, label %81, label %101 81: ; preds = %78 @@ -131593,11 +131593,11 @@ define internal fastcc range(i32 0, 12) i32 @freeSpace(ptr nocapture noundef %0, %89 = or disjoint i32 %85, %88 %90 = add nuw nsw i32 %89, %79 %91 = add nuw nsw i32 %90, 3 - %.not135 = icmp ult i32 %91, %4 + %.not135 = icmp samesign ult i32 %91, %4 br i1 %.not135, label %101, label %92 92: ; preds = %81 - %93 = icmp ugt i32 %90, %4 + %93 = icmp samesign ugt i32 %90, %4 br i1 %93, label %94, label %95 94: ; preds = %92 @@ -131661,11 +131661,11 @@ define internal fastcc range(i32 0, 12) i32 @freeSpace(ptr nocapture noundef %0, 125: ; preds = %121, %107 %126 = zext i16 %.0110 to i32 - %.not137 = icmp ult i32 %115, %126 + %.not137 = icmp samesign ult i32 %115, %126 br i1 %.not137, label %143, label %127 127: ; preds = %125 - %128 = icmp ugt i32 %115, %126 + %128 = icmp samesign ugt i32 %115, %126 br i1 %128, label %129, label %130 129: ; preds = %127 @@ -131964,7 +131964,7 @@ define internal fastcc range(i32 0, 12) i32 @defragmentPage(ptr noundef %0, i32 %76 = load i8, ptr %75, align 1 %77 = zext i8 %76 to i32 %78 = or disjoint i32 %74, %77 - %.not178 = icmp ult i32 %78, %32 + %.not178 = icmp samesign ult i32 %78, %32 br i1 %.not178, label %80, label %79 79: ; preds = %60 @@ -131976,7 +131976,7 @@ define internal fastcc range(i32 0, 12) i32 @defragmentPage(ptr noundef %0, i32 br i1 %50, label %108, label %82 82: ; preds = %80 - %83 = icmp ugt i32 %81, %46 + %83 = icmp samesign ugt i32 %81, %46 br i1 %83, label %84, label %85 84: ; preds = %82 @@ -132034,7 +132034,7 @@ define internal fastcc range(i32 0, 12) i32 @defragmentPage(ptr noundef %0, i32 %118 = sext i32 %117 to i64 tail call void @llvm.memmove.p0.p0.i64(ptr align 1 %114, ptr align 1 %116, i64 %118, i1 false) %119 = zext i16 %9 to i64 - %120 = icmp ult i64 %119, %61 + %120 = icmp samesign ult i64 %119, %61 br i1 %120, label %.lr.ph.preheader, label %.loopexit182 .lr.ph.preheader: ; preds = %111 @@ -132050,11 +132050,11 @@ define internal fastcc range(i32 0, 12) i32 @defragmentPage(ptr noundef %0, i32 %126 = load i8, ptr %125, align 1 %127 = zext i8 %126 to i32 %128 = or disjoint i32 %124, %127 - %129 = icmp ult i32 %128, %32 + %129 = icmp samesign ult i32 %128, %32 br i1 %129, label %.sink.split, label %130 130: ; preds = %.lr.ph - %131 = icmp ult i32 %128, %46 + %131 = icmp samesign ult i32 %128, %46 br i1 %131, label %.sink.split, label %136 .sink.split: ; preds = %130, %.lr.ph @@ -132537,7 +132537,7 @@ define internal fastcc i32 @insertCell(ptr noundef %0, i32 noundef %1, ptr nound %62 = load i8, ptr %61, align 1 %63 = zext i8 %62 to i32 %64 = or disjoint i32 %60, %63 - %65 = icmp ugt i32 %55, %64 + %65 = icmp samesign ugt i32 %55, %64 br i1 %65, label %66, label %75 66: ; preds = %42 @@ -132922,7 +132922,7 @@ cachedCellSize.exit._crit_edge: ; preds = %cachedCellSize.exit %.4 = phi i32 [ %103, %cachedCellSize.exit._crit_edge ], [ %.3141, %82 ] %indvars.iv.next = add nuw nsw i64 %indvars.iv, 1 %121 = zext i8 %120 to i64 - %122 = icmp ult i64 %indvars.iv.next, %121 + %122 = icmp samesign ult i64 %indvars.iv.next, %121 br i1 %122, label %82, label %._crit_edge, !llvm.loop !547 ._crit_edge: ; preds = %119, %76 @@ -135337,7 +135337,7 @@ vdbePmaReaderInit.exit: ; preds = %32 %40 = getelementptr inbounds i8, ptr %29, i64 8 %41 = load i64, ptr %40, align 8 %indvars.iv.next = add nuw nsw i64 %indvars.iv, 1 - %42 = icmp ult i64 %indvars.iv.next, %26 + %42 = icmp samesign ult i64 %indvars.iv.next, %26 %43 = icmp eq i32 %39, 0 %44 = select i1 %42, i1 %43, i1 false br i1 %44, label %27, label %._crit_edge, !llvm.loop !561 @@ -138691,7 +138691,7 @@ define internal fastcc ptr @sqlite3FindIndex(ptr nocapture noundef readonly %0, 9: ; preds = %.lr.ph, %sqlite3DbIsNamed.exit.thread %.01527 = phi i32 [ 0, %.lr.ph ], [ %93, %sqlite3DbIsNamed.exit.thread ] - %10 = icmp ult i32 %.01527, 2 + %10 = icmp samesign ult i32 %.01527, 2 %11 = zext i1 %10 to i32 %12 = xor i32 %.01527, %11 %13 = zext nneg i32 %12 to i64 @@ -139170,7 +139170,7 @@ sqlite3LogEst.exit: ; preds = %.preheader, %22, %. %indvars.iv.next = add nuw nsw i64 %indvars.iv, 1 %42 = load i8, ptr %spec.select, align 1 %43 = icmp ne i8 %42, 0 - %44 = icmp ult i64 %indvars.iv.next, %7 + %44 = icmp samesign ult i64 %indvars.iv.next, %7 %45 = select i1 %43, i1 %44, i1 false br i1 %45, label %.preheader, label %._crit_edge20, !llvm.loop !575 @@ -142448,7 +142448,7 @@ sqlite3_strnicmp.exit.thread170: ; preds = %198, %215, %211 %.not132.not = icmp eq i8 %217, 0 %220 = select i1 %.not132.not, i32 6, i32 7 %221 = add nuw nsw i32 %220, %219 - %.not133184 = icmp ugt i32 %221, %196 + %.not133184 = icmp samesign ugt i32 %221, %196 br i1 %.not133184, label %._crit_edge188, label %.lr.ph187 .lr.ph187: ; preds = %218 @@ -144271,7 +144271,7 @@ sqlite3_str_appendall.exit: %indvars.iv.next = add nuw nsw i64 %indvars.iv, 1 %22 = load i8, ptr %14, align 1 %23 = zext i8 %22 to i32 - %24 = icmp ult i32 %21, %23 + %24 = icmp samesign ult i32 %21, %23 br i1 %24, label %.lr.ph, label %._crit_edge.loopexit, !llvm.loop !611 25: ; preds = %sqlite3_str_appendall.exit @@ -148369,7 +148369,7 @@ sqlite3DbMallocRaw.exit.i.i.i127: ; preds = %191, %189 br i1 %.not.i132, label %sqlite3HexToBlob.exit, label %.preheader.i .preheader.i: ; preds = %193 - %208 = icmp ugt i32 %201, 2 + %208 = icmp samesign ugt i32 %201, 2 br i1 %208, label %.lr.ph.preheader.i, label %._crit_edge.i133 .lr.ph.preheader.i: ; preds = %.preheader.i @@ -148398,7 +148398,7 @@ sqlite3DbMallocRaw.exit.i.i.i127: ; preds = %191, %189 %225 = getelementptr inbounds i8, ptr %206, i64 %224 store i8 %223, ptr %225, align 1 %indvars.iv.next.i = add nuw nsw i64 %indvars.iv.i, 2 - %226 = icmp ult i64 %indvars.iv.next.i, %209 + %226 = icmp samesign ult i64 %indvars.iv.next.i, %209 br i1 %226, label %.lr.ph.i134, label %._crit_edge.loopexit.i, !llvm.loop !626 ._crit_edge.loopexit.i: ; preds = %.lr.ph.i134 @@ -148723,7 +148723,7 @@ define internal fastcc ptr @sqlite3HexToBlob(ptr noundef %0, ptr nocapture nound %26 = getelementptr inbounds i8, ptr %7, i64 %25 store i8 %24, ptr %26, align 1 %indvars.iv.next = add nuw nsw i64 %indvars.iv, 2 - %27 = icmp ult i64 %indvars.iv.next, %10 + %27 = icmp samesign ult i64 %indvars.iv.next, %10 br i1 %27, label %.lr.ph, label %._crit_edge.loopexit, !llvm.loop !626 ._crit_edge.loopexit: ; preds = %.lr.ph @@ -158879,7 +158879,7 @@ sqlite3ColumnColl.exit: ; preds = %.thread558, %.loope %491 = getelementptr inbounds i8, ptr %.0412668, i64 24 %492 = load i16, ptr %360, align 2 %493 = zext i16 %492 to i64 - %494 = icmp ult i64 %indvars.iv.next736, %493 + %494 = icmp samesign ult i64 %indvars.iv.next736, %493 br i1 %494, label %384, label %._crit_edge674.loopexit, !llvm.loop !656 ._crit_edge674.loopexit: ; preds = %483 @@ -158951,7 +158951,7 @@ sqlite3ColumnColl.exit: ; preds = %.thread558, %.loope %indvars.iv.next739 = add nuw nsw i64 %indvars.iv738, 1 %532 = load i16, ptr %496, align 2 %533 = zext i16 %532 to i64 - %534 = icmp ult i64 %indvars.iv.next739, %533 + %534 = icmp samesign ult i64 %indvars.iv.next739, %533 br i1 %534, label %505, label %.loopexit624, !llvm.loop !657 535: ; preds = %._crit_edge674 @@ -164580,7 +164580,7 @@ sqlite3VdbeAddOp2.exit479.i: ; preds = %1220, %1222 .critedge3.i.i: ; preds = %1253, %.lr.ph667.i %.1289.i.lcssa.i = phi i32 [ %1254, %1253 ], [ %.1289.i665.i, %.lr.ph667.i ] - %1257 = icmp ult i32 %.1289.i.lcssa.i, 4 + %1257 = icmp samesign ult i32 %.1289.i.lcssa.i, 4 br i1 %1257, label %.critedge3.i.thread.i, label %.preheader553.i .preheader553.i: ; preds = %.critedge3.i.i, %.preheader553.i @@ -164589,7 +164589,7 @@ sqlite3VdbeAddOp2.exit479.i: ; preds = %1220, %1222 %1258 = getelementptr inbounds i8, ptr %.2285.i671.i, i64 80 %1259 = load ptr, ptr %1258, align 8 %1260 = add nuw nsw i32 %.3.i672.i, 2 - %1261 = icmp ult i32 %1260, %.1289.i.lcssa.i + %1261 = icmp samesign ult i32 %1260, %.1289.i.lcssa.i br i1 %1261, label %.preheader553.i, label %.critedge3.i.thread.i, !llvm.loop !696 .critedge3.i.thread.i: ; preds = %.preheader553.i, %.critedge3.i.i, %.preheader554.i, %.thread.i1263, %.loopexit.i1260 @@ -167072,7 +167072,7 @@ sqlite3VdbeExplainPop.exit: ; preds = %2257, %sqlite3VdbeG .lr.ph75.split.i: ; preds = %.loopexit64.i, %..loopexit_crit_edge.i %indvars.iv80.i = phi i64 [ %indvars.iv.next81.i, %..loopexit_crit_edge.i ], [ 0, %.loopexit64.i ] - %2397 = icmp ult i64 %indvars.iv80.i, 63 + %2397 = icmp samesign ult i64 %indvars.iv80.i, 63 %2398 = shl nuw i64 1, %indvars.iv80.i %2399 = select i1 %2397, i64 %2398, i64 -9223372036854775808 %2400 = and i64 %2399, %.046.i @@ -173532,7 +173532,7 @@ sqlite3ExprReferencesUpdatedColumn.exit: ; preds = %sqlite3ColumnExpr.e .lr.ph214: ; preds = %.loopexit %470 = icmp ne i8 %461, 0 - %471 = icmp ugt i32 %468, 1 + %471 = icmp samesign ugt i32 %468, 1 %or.cond = select i1 %470, i1 true, i1 %471 %472 = getelementptr inbounds i8, ptr %8, i64 8 %473 = getelementptr inbounds i8, ptr %8, i64 40 @@ -173582,7 +173582,7 @@ sqlite3ExprReferencesUpdatedColumn.exit: ; preds = %sqlite3ColumnExpr.e %indvars.iv.next299 = add nuw nsw i64 %indvars.iv298, 1 %494 = load i16, ptr %486, align 2 %495 = zext i16 %494 to i64 - %496 = icmp ult i64 %indvars.iv.next299, %495 + %496 = icmp samesign ult i64 %indvars.iv.next299, %495 br i1 %496, label %.lr.ph203.split.us, label %.thread34, !llvm.loop !734 497: ; preds = %.lr.ph203.split.us @@ -173644,7 +173644,7 @@ sqlite3ExprReferencesUpdatedColumn.exit.i: ; preds = %483 %indvars.iv.next296 = add nuw nsw i64 %indvars.iv295, 1 %518 = load i16, ptr %486, align 2 %519 = zext i16 %518 to i64 - %520 = icmp ult i64 %indvars.iv.next296, %519 + %520 = icmp samesign ult i64 %indvars.iv.next296, %519 br i1 %520, label %.lr.ph203.split, label %.thread34, !llvm.loop !734 .lr.ph203.split: ; preds = %.lr.ph203, %.critedge113 @@ -174464,7 +174464,7 @@ sqlite3TableColumnToStorage.exit: ; preds = %846, %._crit_edge.i br i1 %845, label %879, label %872 872: ; preds = %sqlite3TableColumnToStorage.exit - %873 = icmp ult i64 %indvars.iv310, 32 + %873 = icmp samesign ult i64 %indvars.iv310, 32 br i1 %873, label %874, label %878 874: ; preds = %872 @@ -174606,8 +174606,8 @@ tailrecurse.i.i: ; preds = %901, %909 %944 = load i32, ptr %12, align 4 %945 = and i32 %944, 1 %946 = icmp eq i32 %945, 0 - %947 = icmp ugt i64 %indvars.iv314, 31 - %or.cond33 = or i1 %947, %946 + %947 = icmp samesign ugt i64 %indvars.iv314, 31 + %or.cond33 = select i1 %946, i1 true, i1 %947 %.pre332 = trunc nuw nsw i64 %indvars.iv314 to i32 br i1 %or.cond33, label %._crit_edge331, label %948 @@ -174777,7 +174777,7 @@ sqlite3VdbeAddOp2.exit: ; preds = %909, %911, %928, %9 br label %1018 1018: ; preds = %1016, %1015 - %1019 = icmp ugt i32 %468, 1 + %1019 = icmp samesign ugt i32 %468, 1 %or.cond39 = or i1 %1019, %1007 br i1 %or.cond39, label %1020, label %1022 @@ -181682,7 +181682,7 @@ sqlite3SchemaToIndex.exit: ; preds = %sqlite3PrimaryKeyIn %1036 = load ptr, ptr %1035, align 8 %1037 = load i16, ptr %1007, align 2 %1038 = zext i16 %1037 to i64 - %1039 = icmp ult i64 %indvars.iv2795, %1038 + %1039 = icmp samesign ult i64 %indvars.iv2795, %1038 %1040 = zext i1 %1039 to i32 call void (ptr, i32, ptr, ...) @sqlite3VdbeMultiLoad(ptr noundef %33, i32 noundef 4, ptr noundef nonnull @.str.921, i32 noundef %1033, ptr noundef %1036, i32 noundef %1040) br label %1041 @@ -183188,7 +183188,7 @@ sqlite3ExprCodeLoadIndexColumn.exit: ; preds = %sqlite3ExprDelete.e %indvars.iv.next2761 = add nuw nsw i64 %indvars.iv2760, 1 %1714 = load i16, ptr %1655, align 2 %1715 = zext i16 %1714 to i64 - %1716 = icmp ult i64 %indvars.iv.next2761, %1715 + %1716 = icmp samesign ult i64 %indvars.iv.next2761, %1715 br i1 %1716, label %1689, label %.loopexit2241, !llvm.loop !790 .loopexit2241: ; preds = %sqlite3ExprCodeLoadIndexColumn.exit, %sqlite3VdbeJumpHere.exit1872, %sqlite3VdbeTypeofColumn.exit @@ -184655,7 +184655,7 @@ sqlite3VdbeAddOp3.exit2003: ; preds = %2400, %2402, %2371 %indvars.iv.next2770 = add nuw nsw i64 %indvars.iv2769, 1 %2415 = load i16, ptr %2368, align 2 %2416 = zext i16 %2415 to i64 - %2417 = icmp ult i64 %indvars.iv.next2770, %2416 + %2417 = icmp samesign ult i64 %indvars.iv.next2770, %2416 br i1 %2417, label %2371, label %._crit_edge2473, !llvm.loop !793 ._crit_edge2473: ; preds = %sqlite3VdbeAddOp3.exit2003 @@ -184854,7 +184854,7 @@ sqlite3VdbeAddOp2.exit2025: ; preds = %2489, %2491, %2481 %indvars.iv.next2773 = add nuw nsw i64 %indvars.iv2772, 1 %2504 = load i16, ptr %2368, align 2 %2505 = zext i16 %2504 to i64 - %2506 = icmp ult i64 %indvars.iv.next2773, %2505 + %2506 = icmp samesign ult i64 %indvars.iv.next2773, %2505 br i1 %2506, label %2476, label %tailrecurse.i.i2026.preheader, !llvm.loop !794 tailrecurse.i.i2026.preheader: ; preds = %sqlite3VdbeAddOp2.exit2025, %2471 @@ -187828,7 +187828,7 @@ sqlite3ReadSchema.exit: ; preds = %39, %26 67: ; preds = %.lr.ph60, %sqlite3DbIsNamed.exit.thread %.02957 = phi i32 [ 0, %.lr.ph60 ], [ %150, %sqlite3DbIsNamed.exit.thread ] - %68 = icmp ult i32 %.02957, 2 + %68 = icmp samesign ult i32 %.02957, 2 %69 = zext i1 %68 to i32 %70 = xor i32 %.02957, %69 %.pre = zext nneg i32 %70 to i64 @@ -190813,7 +190813,7 @@ sqlite3PrimaryKeyIndex.exit: ; preds = %.lr.ph.i170 %215 = add nuw nsw i32 %.0138217, 1 %216 = load i16, ptr %209, align 2 %217 = zext i16 %216 to i32 - %218 = icmp ult i32 %215, %217 + %218 = icmp samesign ult i32 %215, %217 br i1 %218, label %212, label %.loopexit.loopexit, !llvm.loop !820 .loopexit.loopexit: ; preds = %212 @@ -196647,7 +196647,7 @@ sqlite3ExprIsConstantNotJoin.exit: ; preds = %890 %indvars.iv984 = phi i64 [ 0, %.lr.ph875 ], [ %indvars.iv.next985, %952 ] %.0501873 = phi i32 [ 0, %.lr.ph875 ], [ %.1502, %952 ] %.0504871 = phi ptr [ null, %.lr.ph875 ], [ %.1505, %952 ] - %934 = icmp ult i64 %indvars.iv984, 32 + %934 = icmp samesign ult i64 %indvars.iv984, 32 br i1 %934, label %935, label %943 935: ; preds = %933 @@ -203570,7 +203570,7 @@ exprCompareVariable.exit: ; preds = %91, %94 %120 = getelementptr inbounds i8, ptr %1, i64 16 %121 = load ptr, ptr %120, align 8 %122 = tail call fastcc i32 @sqlite3ExprCompare(ptr noundef %0, ptr noundef %121, ptr noundef nonnull %2, i32 noundef %3) - %123 = icmp ult i32 %122, 2 + %123 = icmp samesign ult i32 %122, 2 br i1 %123, label %sqlite3_stricmp.exit.thread136, label %._crit_edge ._crit_edge: ; preds = %119 @@ -203586,7 +203586,7 @@ exprCompareVariable.exit: ; preds = %91, %94 %128 = getelementptr inbounds i8, ptr %2, i64 16 %129 = load ptr, ptr %128, align 8 %130 = tail call fastcc i32 @sqlite3ExprCompare(ptr noundef %0, ptr noundef nonnull %1, ptr noundef %129, i32 noundef %3) - %131 = icmp ult i32 %130, 2 + %131 = icmp samesign ult i32 %130, 2 br i1 %131, label %sqlite3_stricmp.exit.thread136, label %132 132: ; preds = %127, %124 @@ -207028,7 +207028,7 @@ sqlite3CompareAffinity.exit: ; preds = %208, %211 %215 = icmp sgt i8 %.0.i204, 66 %narrow = select i1 %switch, i1 true, i1 %215 %indvars.iv.next333 = add nuw nsw i64 %indvars.iv332, 1 - %216 = icmp ult i64 %indvars.iv.next333, %171 + %216 = icmp samesign ult i64 %indvars.iv.next333, %171 %217 = and i1 %216, %narrow br i1 %217, label %172, label %._crit_edge, !llvm.loop !853 @@ -212700,7 +212700,7 @@ isDupColumn.exit: ; preds = %152 %.1142 = phi i32 [ %.0141262, %isDupColumn.exit ], [ %178, %.loopexit256 ] %indvars.iv.next296 = add nuw nsw i64 %indvars.iv295, 1 %182 = zext i16 %181 to i64 - %183 = icmp ult i64 %indvars.iv.next296, %182 + %183 = icmp samesign ult i64 %indvars.iv.next296, %182 br i1 %183, label %132, label %._crit_edge264.loopexit, !llvm.loop !868 ._crit_edge264.loopexit: ; preds = %180 @@ -222779,7 +222779,7 @@ cannotBeFunction.exit: ; preds = %321 %362 = trunc i64 %361 to i32 %363 = lshr i32 %362, 7 %364 = and i32 %363, 1 - %365 = icmp ult i32 %364, %360 + %365 = icmp samesign ult i32 %364, %360 br i1 %365, label %366, label %368 366: ; preds = %357 @@ -226336,7 +226336,7 @@ define internal fastcc range(i32 0, 8) i32 @sqlite3ExprDataType(ptr noundef read %18 = tail call fastcc i32 @sqlite3ExprDataType(ptr noundef %17) %19 = or i32 %18, %.01947 %indvars.iv.next = add nuw nsw i64 %indvars.iv, 2 - %20 = icmp ult i64 %indvars.iv.next, %sext + %20 = icmp samesign ult i64 %indvars.iv.next, %sext br i1 %20, label %15, label %._crit_edge, !llvm.loop !946 ._crit_edge: ; preds = %15, %9 @@ -227324,7 +227324,7 @@ sqlite3ResolveExprNames.exit.thread: ; preds = %sqlite3ExprCheckHei %48 = getelementptr inbounds [1 x %struct.ExprList_item], ptr %46, i64 0, i64 %indvars.iv %49 = load ptr, ptr %48, align 8 %50 = call fastcc i32 @sqlite3ExprCompare(ptr noundef null, ptr noundef %49, ptr noundef %1, i32 noundef -1) - %51 = icmp ult i32 %50, 2 + %51 = icmp samesign ult i32 %50, 2 br i1 %51, label %52, label %55 52: ; preds = %47 @@ -227386,7 +227386,7 @@ define internal fastcc void @identPut(ptr nocapture noundef nonnull writeonly %0 br i1 %.not41, label %19, label %.thread 19: ; preds = %._crit_edge - %20 = icmp ugt i32 %.035.lcssa, 1 + %20 = icmp samesign ugt i32 %.035.lcssa, 1 br i1 %20, label %21, label %sqlite3KeywordCode.exit.thread 21: ; preds = %19 @@ -230290,7 +230290,7 @@ sqlite3_str_appendall.exit26: ; preds = %sqlite3Strlen30.exi %indvars.iv.next = add nuw nsw i64 %indvars.iv, 1 %119 = load i16, ptr %18, align 2 %120 = zext i16 %119 to i64 - %121 = icmp ult i64 %indvars.iv.next, %120 + %121 = icmp samesign ult i64 %indvars.iv.next, %120 br i1 %121, label %24, label %.loopexit, !llvm.loop !964 .loopexit: ; preds = %sqlite3_str_appendall.exit26, %.preheader, %22 @@ -235286,7 +235286,7 @@ whereScanInit.exit.i: ; preds = %442, %433 %indvars.iv.next.i455 = add nuw nsw i64 %indvars.iv.i453, 1 %450 = load i16, ptr %400, align 2 %451 = zext i16 %450 to i64 - %452 = icmp ult i64 %indvars.iv.next.i455, %451 + %452 = icmp samesign ult i64 %indvars.iv.next.i455, %451 br i1 %452, label %412, label %.loopexit.loopexit29.i, !llvm.loop !998 .loopexit.loopexit.i: ; preds = %446 @@ -237124,7 +237124,7 @@ sqlite3VdbeAddOp2.exit734: ; preds = %1289, %1291 br i1 %.not1082.i, label %1360, label %1330 1330: ; preds = %1326 - %1331 = icmp ult i64 %indvars.iv1089, 32 + %1331 = icmp samesign ult i64 %indvars.iv1089, 32 %1332 = shl nuw i32 1, %1320 %1333 = select i1 %1331, i32 %1332, i32 0 %1334 = load i32, ptr %1317, align 8 @@ -237296,7 +237296,7 @@ sqlite3VdbeAddOp3.exit729: ; preds = %1344, %1376, %1378, %1419 = load ptr, ptr %1412, align 8 %1420 = getelementptr inbounds ptr, ptr %1419, i64 %indvars.iv1098 %1421 = load ptr, ptr %1420, align 8 - %1422 = icmp ult i64 %indvars.iv1098, 16 + %1422 = icmp samesign ult i64 %indvars.iv1098, 16 br i1 %1422, label %1423, label %1469 1423: ; preds = %1418 @@ -237382,7 +237382,7 @@ sqlite3VdbeAddOp3.exit729: ; preds = %1344, %1376, %1378, br i1 %.not1078.i, label %disableTerm.exit, label %1473 1473: ; preds = %1469 - %1474 = icmp ult i64 %indvars.iv1098, 32 + %1474 = icmp samesign ult i64 %indvars.iv1098, 32 %1475 = shl nuw i32 1, %indvars1100 %1476 = select i1 %1474, i32 %1475, i32 0 %1477 = load i32, ptr %1414, align 8 @@ -238664,7 +238664,7 @@ sqlite3TableColumnToIndex.exit: ; preds = %2108, %2095, %2105 %indvars.iv.next1104 = add nuw nsw i64 %indvars.iv1103, 1 %2112 = load i16, ptr %2088, align 2 %2113 = zext i16 %2112 to i64 - %2114 = icmp ult i64 %indvars.iv.next1104, %2113 + %2114 = icmp samesign ult i64 %indvars.iv.next1104, %2113 br i1 %2114, label %2095, label %._crit_edge955.loopexit, !llvm.loop !1010 ._crit_edge955.loopexit: ; preds = %sqlite3TableColumnToIndex.exit @@ -239387,7 +239387,7 @@ sqlite3VdbeChangeP5.exit691: ; preds = %disableTerm.exit, % .lr.ph983: ; preds = %2446 %2449 = load ptr, ptr %85, align 8 %2450 = icmp eq i32 %.0920.i, 1 - %2451 = icmp ult i32 %.0920.i, 3 + %2451 = icmp samesign ult i32 %.0920.i, 3 br label %2452 2452: ; preds = %.lr.ph983, %2534 @@ -253458,7 +253458,7 @@ translateColumnToCopy.exit: ; preds = %3653, %sqlite3Table %3766 = getelementptr inbounds i8, ptr %.02301742, i64 112 %3767 = load i8, ptr %10, align 8 %3768 = zext i8 %3767 to i64 - %3769 = icmp ult i64 %indvars.iv.next1920, %3768 + %3769 = icmp samesign ult i64 %indvars.iv.next1920, %3768 br i1 %3769, label %2641, label %._crit_edge1748, !llvm.loop !1039 ._crit_edge1748: ; preds = %translateColumnToCopy.exit, %1, %._crit_edge @@ -265874,7 +265874,7 @@ define internal range(i32 0, 3) i32 @exprNodeIsConstantOrGroupBy(ptr nocapture n %9 = getelementptr inbounds [1 x %struct.ExprList_item], ptr %7, i64 0, i64 %indvars.iv %10 = load ptr, ptr %9, align 8 %11 = tail call fastcc i32 @sqlite3ExprCompare(ptr noundef null, ptr noundef %1, ptr noundef %10, i32 noundef -1) - %12 = icmp ult i32 %11, 2 + %12 = icmp samesign ult i32 %11, 2 br i1 %12, label %13, label %23 13: ; preds = %8 @@ -266270,7 +266270,7 @@ indexColumnNotNull.exit: ; preds = %119, %128 %indvars.iv.next76 = add nuw nsw i64 %indvars.iv75, 1 %132 = load i16, ptr %46, align 2 %133 = zext i16 %132 to i64 - %134 = icmp ult i64 %indvars.iv.next76, %133 + %134 = icmp samesign ult i64 %indvars.iv.next76, %133 br i1 %134, label %51, label %findIndexCol.exit.thread.loopexit78.split.loop.exit85, !llvm.loop !1073 findIndexCol.exit.thread.loopexit78.split.loop.exit85: ; preds = %131 @@ -267812,7 +267812,7 @@ define internal fastcc void @whereCheckIfBloomFilterIsUseful(ptr nocapture nound %indvars.iv.next = add nuw nsw i64 %indvars.iv, 1 %39 = load i8, ptr %2, align 8 %40 = zext i8 %39 to i64 - %41 = icmp ult i64 %indvars.iv.next, %40 + %41 = icmp samesign ult i64 %indvars.iv.next, %40 br i1 %41, label %6, label %._crit_edge, !llvm.loop !1088 ._crit_edge: ; preds = %35, %6, %1 @@ -268078,7 +268078,7 @@ sqlite3ParserAddCleanup.exit: ; preds = %sqlite3ExprDelete.e %indvars.iv.next = add nuw nsw i64 %indvars.iv, 1 %132 = load i16, ptr %6, align 8 %133 = zext i16 %132 to i64 - %134 = icmp ult i64 %indvars.iv.next, %133 + %134 = icmp samesign ult i64 %indvars.iv.next, %133 br i1 %134, label %24, label %sqlite3DbMallocRaw.exit._crit_edge, !llvm.loop !1090 sqlite3DbMallocRaw.exit._crit_edge: ; preds = %sqlite3ParserAddCleanup.exit, %sqlite3DbMallocRaw.exit, %4 @@ -272387,7 +272387,7 @@ explainIndexColumnName.exit.i: ; preds = %127, %126, %122 br label %sqlite3_str_append.exit34.i sqlite3_str_append.exit34.i: ; preds = %149, %141, %138, %explainIndexColumnName.exit.i - %.not32.i = icmp ult i64 %indvars.iv.i, %121 + %.not32.i = icmp samesign ult i64 %indvars.iv.i, %121 %153 = select i1 %.not32.i, ptr @.str.842, ptr @.str.823 call void (ptr, ptr, ...) @sqlite3_str_appendf(ptr noundef nonnull %5, ptr noundef nonnull %153, ptr noundef %.0.i.i) %indvars.iv.next.i = add nuw nsw i64 %indvars.iv.i, 1 @@ -275546,9 +275546,10 @@ sqlite3WhereExprListUsage.exit70: ; preds = %sqlite3WhereExprUsa define internal fastcc range(i32 0, 2) i32 @exprMightBeIndexed(ptr nocapture noundef readonly %0, ptr nocapture noundef nonnull writeonly %1, ptr noundef %2, i32 noundef range(i32 0, 256) %3) unnamed_addr #0 { %5 = load i8, ptr %2, align 8 %6 = icmp eq i8 %5, -79 - %7 = add nsw i32 %3, -54 - %8 = icmp ult i32 %7, 4 - %or.cond3 = and i1 %8, %6 + %7 = icmp samesign ugt i32 %3, 53 + %or.cond = select i1 %6, i1 %7, i1 false + %8 = icmp samesign ult i32 %3, 58 + %or.cond3 = select i1 %or.cond, i1 %8, i1 false br i1 %or.cond3, label %9, label %14 9: ; preds = %4 @@ -275556,11 +275557,11 @@ define internal fastcc range(i32 0, 2) i32 @exprMightBeIndexed(ptr nocapture nou %11 = load ptr, ptr %10, align 8 %12 = getelementptr inbounds i8, ptr %11, i64 8 %13 = load ptr, ptr %12, align 8 - %.pr = load i8, ptr %13, align 8 + %.pre = load i8, ptr %13, align 8 br label %14 14: ; preds = %9, %4 - %15 = phi i8 [ %.pr, %9 ], [ %5, %4 ] + %15 = phi i8 [ %.pre, %9 ], [ %5, %4 ] %.026 = phi ptr [ %13, %9 ], [ %2, %4 ] %16 = icmp eq i8 %15, -89 br i1 %16, label %20, label %.preheader @@ -275709,7 +275710,7 @@ sqlite3ExprCompareSkip.exit.i: ; preds = %67, %.lr.ph.i3.i.i, %indvars.iv.next.i = add nuw nsw i64 %indvars.iv.i, 1 %75 = load i16, ptr %47, align 2 %76 = zext i16 %75 to i64 - %77 = icmp ult i64 %indvars.iv.next.i, %76 + %77 = icmp samesign ult i64 %indvars.iv.next.i, %76 br i1 %77, label %50, label %.loopexit.i, !llvm.loop !1111 .loopexit.i: ; preds = %74, %.preheader.i, %.lr.ph34.i @@ -275719,11 +275720,11 @@ sqlite3ExprCompareSkip.exit.i: ; preds = %67, %.lr.ph.i3.i.i, br i1 %.not.i, label %._crit_edge.split.i.loopexit, label %.lr.ph34.i, !llvm.loop !1112 ._crit_edge.split.i.loopexit: ; preds = %.loopexit.i - %.pre = load i32, ptr %0, align 8 + %.pre42 = load i32, ptr %0, align 8 br label %._crit_edge.split.i ._crit_edge.split.i: ; preds = %._crit_edge.split.i.loopexit, %.split36.i - %79 = phi i32 [ %.pre, %._crit_edge.split.i.loopexit ], [ %37, %.split36.i ] + %79 = phi i32 [ %.pre42, %._crit_edge.split.i.loopexit ], [ %37, %.split36.i ] %indvars.iv.next47.i = add nuw nsw i64 %indvars.iv46.i, 1 %80 = sext i32 %79 to i64 %81 = icmp slt i64 %indvars.iv.next47.i, %80 @@ -280370,7 +280371,7 @@ sqlite3ExprCompareSkip.exit._crit_edge.i: ; preds = %sqlite3ExprCompareS %308 = phi i16 [ %.pre.i, %sqlite3ExprCompareSkip.exit._crit_edge.i ], [ %286, %285 ] %indvars.iv.next61.i = add nuw nsw i64 %indvars.iv60.i, 1 %309 = zext i16 %308 to i64 - %310 = icmp ult i64 %indvars.iv.next61.i, %309 + %310 = icmp samesign ult i64 %indvars.iv.next61.i, %309 br i1 %310, label %285, label %sqlite3ExprSkipCollateAndLikely.exit.thread.loopexit.i, !llvm.loop !1138 sqlite3ExprSkipCollateAndLikely.exit.thread.loopexit.i: ; preds = %307 @@ -281185,7 +281186,7 @@ whereOrInsert.exit: ; preds = %199, %218, %.loopex %indvars.iv.next = add nuw nsw i64 %indvars.iv, 1 %226 = load i16, ptr %7, align 8 %227 = zext i16 %226 to i64 - %228 = icmp ult i64 %indvars.iv.next, %227 + %228 = icmp samesign ult i64 %indvars.iv.next, %227 br i1 %228, label %116, label %._crit_edge.loopexit, !llvm.loop !1145 ._crit_edge.loopexit: ; preds = %whereOrInsert.exit @@ -281197,7 +281198,7 @@ whereOrInsert.exit: ; preds = %199, %218, %.loopex %230 = phi i16 [ %226, %._crit_edge.loopexit ], [ 0, %.preheader ] %indvars.iv.next117 = add nuw nsw i64 %indvars.iv116, 1 %231 = zext i16 %229 to i64 - %232 = icmp ult i64 %indvars.iv.next117, %231 + %232 = icmp samesign ult i64 %indvars.iv.next117, %231 br i1 %232, label %.preheader, label %.loopexit, !llvm.loop !1146 .loopexit: ; preds = %._crit_edge, %107, %104, %80 @@ -281245,7 +281246,7 @@ whereOrInsert.exit: ; preds = %199, %218, %.loopex %248 = call fastcc i32 @whereLoopInsert(ptr noundef %0, ptr noundef nonnull %19) %indvars.iv.next120 = add nuw nsw i64 %indvars.iv119, 1 %249 = icmp eq i32 %248, 0 - %250 = icmp ult i64 %indvars.iv.next120, %240 + %250 = icmp samesign ult i64 %indvars.iv.next120, %240 %251 = select i1 %249, i1 %250, i1 false br i1 %251, label %.lr.ph103, label %.loopexit85, !llvm.loop !1148 @@ -281520,7 +281521,7 @@ sqlite3GetVTable.exit.i: ; preds = %.lr.ph.i.i 120: ; preds = %117 %121 = and i32 %79, 255 - %122 = icmp ult i32 %121, 29 + %122 = icmp samesign ult i32 %121, 29 br i1 %122, label %123, label %sqlite3OomFault.exit.sink.split.i 123: ; preds = %120 @@ -281763,7 +281764,7 @@ vtabBestIndex.exit: ; preds = %sqlite3VtabUsesAllS br i1 %.not150, label %257, label %238 238: ; preds = %228 - %239 = icmp ult i64 %indvars.iv, 16 + %239 = icmp samesign ult i64 %indvars.iv, 16 br i1 %239, label %240, label %250 240: ; preds = %238 @@ -281794,7 +281795,7 @@ vtabBestIndex.exit: ; preds = %sqlite3VtabUsesAllS br label %257 257: ; preds = %250, %254, %228 - %258 = icmp ult i64 %indvars.iv, 32 + %258 = icmp samesign ult i64 %indvars.iv, 32 %259 = trunc nuw nsw i64 %indvars.iv to i32 %260 = shl nuw i32 1, %259 %261 = select i1 %258, i32 %260, i32 0 @@ -283389,7 +283390,7 @@ sqlite3ProgressCheck.exit: ; preds = %63, %71, %.sink.spl %. = select i1 %or.cond3, i32 10, i32 20 store i32 %., ptr %4, align 4 %127 = zext nneg i16 %.05065 to i32 - %128 = icmp ugt i32 %., %127 + %128 = icmp samesign ugt i32 %., %127 br i1 %128, label %129, label %.thread 129: ; preds = %118 @@ -284847,7 +284848,7 @@ whereLoopResize.exit: ; preds = %constraintCompatibl %738 = getelementptr inbounds i8, ptr %2, i64 94 %739 = load i16, ptr %738, align 2 %740 = zext i16 %739 to i32 - %741 = icmp ult i32 %737, %740 + %741 = icmp samesign ult i32 %737, %740 %742 = icmp eq i16 %35, %43 %or.cond491 = select i1 %741, i1 %742, i1 false br i1 %or.cond491, label %743, label %common.ret554 @@ -285016,7 +285017,7 @@ define internal range(i32 0, 3) i32 @whereIsCoveringIndexWalkCallback(ptr nocapt %50 = phi i16 [ %.pre.i, %._crit_edge14.i ], [ %37, %36 ] %indvars.iv.next.i = add nuw nsw i64 %indvars.iv.i, 1 %51 = zext i16 %50 to i64 - %52 = icmp ult i64 %indvars.iv.next.i, %51 + %52 = icmp samesign ult i64 %indvars.iv.next.i, %51 br i1 %52, label %36, label %exprIsCoveredByIndex.exit.thread, !llvm.loop !1167 exprIsCoveredByIndex.exit: ; preds = %42 @@ -285106,7 +285107,7 @@ define internal fastcc signext i8 @wherePathSatisfiesOrderBy(ptr noundef %0, ptr 16: ; preds = %10, %7 %17 = load i32, ptr %1, align 8 %18 = and i32 %17, 65535 - %19 = icmp ugt i32 %18, 63 + %19 = icmp samesign ugt i32 %18, 63 br i1 %19, label %.loopexit, label %20 20: ; preds = %16 @@ -285170,7 +285171,7 @@ define internal fastcc signext i8 @wherePathSatisfiesOrderBy(ptr noundef %0, ptr 59: ; preds = %55, %54 %.1228 = phi i64 [ %58, %55 ], [ %.0227509, %54 ] - %60 = icmp ult i64 %indvars.iv568, %53 + %60 = icmp samesign ult i64 %indvars.iv568, %53 br i1 %60, label %61, label %65 61: ; preds = %59 @@ -285575,13 +285576,13 @@ sqlite3StrICmp.exit.thread: ; preds = %193, %139, %.crited %241 = load i16, ptr %230, align 8 %242 = zext i16 %241 to i64 %243 = zext i16 %241 to i64 - %244 = icmp ult i64 %indvars.iv552, %243 + %244 = icmp samesign ult i64 %indvars.iv552, %243 br i1 %244, label %245, label %.loopexit435 245: ; preds = %240 %246 = load i16, ptr %231, align 2 %247 = zext i16 %246 to i64 - %.not276 = icmp ult i64 %indvars.iv552, %247 + %.not276 = icmp samesign ult i64 %indvars.iv552, %247 br i1 %.not276, label %.loopexit435, label %248 248: ; preds = %245 @@ -285862,7 +285863,7 @@ sqlite3ExprSkipCollateAndLikely.exit352.thread: ; preds = %313, %361, %299, %3 %.2220 = phi i8 [ %.1219478, %296 ], [ %spec.select325, %316 ], [ %spec.select325, %319 ], [ %spec.select325, %sqlite3ExprCompareSkip.exit ], [ %spec.select325, %314 ], [ %.1219478, %299 ], [ %spec.select325, %361 ], [ %.1219478, %313 ] %indvars.iv.next560 = add nuw nsw i64 %indvars.iv559, 1 %374 = icmp eq i8 %.2220, 0 - %375 = icmp uge i64 %indvars.iv.next560, %21 + %375 = icmp samesign uge i64 %indvars.iv.next560, %21 %.not293 = select i1 %374, i1 true, i1 %375 br i1 %.not293, label %.thread397, label %296, !llvm.loop !1171 @@ -285936,7 +285937,7 @@ select.unfold: ; preds = %.select.unfold_crit .thread397: ; preds = %378, %396, %.thread387, %sqlite3ExprSkipCollateAndLikely.exit352.thread %405 = trunc nuw nsw i64 %indvars.iv552 to i32 %406 = icmp eq i64 %indvars.iv552, 0 - %407 = icmp ugt i32 %.0226587, %405 + %407 = icmp samesign ugt i32 %.0226587, %405 %or.cond331 = select i1 %406, i1 true, i1 %407 %spec.select335 = select i1 %or.cond331, i8 0, i8 %.7 br label %.loopexit440 @@ -286231,7 +286232,7 @@ define internal fastcc ptr @sqlite3IndexAffinityStr(ptr noundef %0, ptr nocaptur %indvars.iv.next.i = add nuw nsw i64 %indvars.iv.i, 1 %67 = load i16, ptr %8, align 8 %68 = zext i16 %67 to i64 - %69 = icmp ult i64 %indvars.iv.next.i, %68 + %69 = icmp samesign ult i64 %indvars.iv.next.i, %68 br i1 %69, label %46, label %._crit_edge.loopexit.i, !llvm.loop !1176 ._crit_edge.loopexit.i: ; preds = %64 @@ -286377,7 +286378,7 @@ explainIndexColumnName.exit: ; preds = %45, %51, %52 %.0.i = phi ptr [ @.str.564, %51 ], [ %59, %52 ], [ @.str.826, %45 ] %60 = load i16, ptr %38, align 2 %61 = zext i16 %60 to i64 - %62 = icmp ugt i64 %indvars.iv, %61 + %62 = icmp samesign ugt i64 %indvars.iv, %61 br i1 %62, label %63, label %sqlite3_str_append.exit 63: ; preds = %explainIndexColumnName.exit @@ -286417,7 +286418,7 @@ sqlite3_str_append.exit: ; preds = %78, %70, %67, %expl %indvars.iv.next = add nuw nsw i64 %indvars.iv, 1 %82 = load i16, ptr %40, align 8 %83 = zext i16 %82 to i64 - %84 = icmp ult i64 %indvars.iv.next, %83 + %84 = icmp samesign ult i64 %indvars.iv.next, %83 br i1 %84, label %45, label %.loopexit, !llvm.loop !1177 .loopexit: ; preds = %sqlite3_str_append.exit, %37, %30, %36 @@ -286701,7 +286702,7 @@ define internal fastcc void @explainAppendTerm(ptr noundef nonnull %0, ptr nocap br label %sqlite3_str_append.exit sqlite3_str_append.exit: ; preds = %25, %16, %13, %6 - %30 = icmp ugt i32 %2, 1 + %30 = icmp samesign ugt i32 %2, 1 br i1 %30, label %31, label %sqlite3_str_append.exit30 31: ; preds = %sqlite3_str_append.exit @@ -291258,7 +291259,7 @@ tailrecurse.i.i: ; preds = %22, %sqlite3GetTemp br label %sqlite3VdbeAddOp2.exit sqlite3VdbeAddOp2.exit: ; preds = %22, %24 - %36 = icmp ugt i32 %2, 2 + %36 = icmp samesign ugt i32 %2, 2 br i1 %36, label %37, label %112 37: ; preds = %sqlite3VdbeAddOp2.exit @@ -299734,7 +299735,7 @@ define internal fastcc i32 @codeDistinct(ptr nocapture noundef %0, i32 noundef r %25 = getelementptr inbounds [1 x %struct.ExprList_item], ptr %18, i64 0, i64 %indvars.iv %26 = load ptr, ptr %25, align 8 %27 = tail call fastcc ptr @sqlite3ExprCollSeq(ptr noundef %0, ptr noundef %26) - %28 = icmp ult i64 %indvars.iv, %23 + %28 = icmp samesign ult i64 %indvars.iv, %23 %29 = load i32, ptr %15, align 8 %30 = load i32, ptr %20, align 4 %.not.i134 = icmp sgt i32 %30, %29 @@ -303100,7 +303101,7 @@ sqlite3GetVTable.exit.i.i: ; preds = %.lr.ph.i.i.i, %7 %28 = trunc i64 %27 to i32 %29 = lshr i32 %28, 7 %30 = and i32 %29, 1 - %31 = icmp ult i32 %30, %25 + %31 = icmp samesign ult i32 %30, %25 br i1 %31, label %32, label %tabIsReadOnly.exit.thread.thread 32: ; preds = %22 @@ -304354,7 +304355,7 @@ sqlite3VdbeAddOp2.exit: ; preds = %171, %173 br label %199 193: ; preds = %191 - %194 = icmp ult i64 %indvars.iv, 32 + %194 = icmp samesign ult i64 %indvars.iv, 32 br i1 %194, label %195, label %222 195: ; preds = %193 @@ -312780,7 +312781,7 @@ sqlite3Expr.exit100: ; preds = %sqlite3Strlen30.exi %indvars.iv.next129 = add nuw nsw i64 %indvars.iv128, 1 %138 = load i16, ptr %85, align 2 %139 = zext i16 %138 to i64 - %140 = icmp ult i64 %indvars.iv.next129, %139 + %140 = icmp samesign ult i64 %indvars.iv.next129, %139 br i1 %140, label %111, label %._crit_edge119, !llvm.loop !1247 ._crit_edge119: ; preds = %sqlite3Expr.exit100, %.preheader @@ -315596,7 +315597,7 @@ exprRowColumn.exit: ; preds = %26, %40 %indvars.iv.next = add nuw nsw i64 %indvars.iv, 1 %44 = load i16, ptr %23, align 2 %45 = zext i16 %44 to i64 - %46 = icmp ult i64 %indvars.iv.next, %45 + %46 = icmp samesign ult i64 %indvars.iv.next, %45 br i1 %46, label %26, label %._crit_edge, !llvm.loop !1252 ._crit_edge: ; preds = %exprRowColumn.exit, %.preheader2 @@ -320077,7 +320078,7 @@ sqlite3VdbeAddOp2.exit840: ; preds = %1774, %1783, %sqlit %indvars.iv.next2126 = add nuw nsw i64 %indvars.iv2125, 1 %1860 = load i16, ptr %1294, align 8 %1861 = zext i16 %1860 to i64 - %1862 = icmp ult i64 %indvars.iv.next2126, %1861 + %1862 = icmp samesign ult i64 %indvars.iv.next2126, %1861 br i1 %1862, label %1298, label %._crit_edge1900.loopexit, !llvm.loop !1266 ._crit_edge1900.loopexit: ; preds = %sqlite3VdbeAddOp2.exit840 @@ -321133,7 +321134,7 @@ sqlite3VdbeAddOp3.exit899: ; preds = %2275, %2284, %sqlit %indvars.iv.next2129 = add nuw nsw i64 %indvars.iv2128, 1 %2361 = load i16, ptr %1093, align 2 %2362 = zext i16 %2361 to i64 - %2363 = icmp ult i64 %indvars.iv.next2129, %2362 + %2363 = icmp samesign ult i64 %indvars.iv.next2129, %2362 br i1 %2363, label %2200, label %.loopexit, !llvm.loop !1267 .loopexit: ; preds = %sqlite3VdbeAddOp3.exit899, %.preheader, %2197 @@ -321615,7 +321616,7 @@ sqlite3VdbeChangeP5.exit921: ; preds = %sqlite3VdbeChangeP4 %indvars.iv.next2132 = add nuw nsw i64 %indvars.iv2131, 1 %2590 = load i16, ptr %1093, align 2 %2591 = zext i16 %2590 to i64 - %2592 = icmp ult i64 %indvars.iv.next2132, %2591 + %2592 = icmp samesign ult i64 %indvars.iv.next2132, %2591 br i1 %2592, label %.lr.ph1921, label %sqlite3VdbeChangeP5.exit888, !llvm.loop !1268 sqlite3VdbeChangeP5.exit888: ; preds = %sqlite3VdbeChangeP5.exit921, %2364, %2192, %sqlite3VdbeAddOp3.exit887, %sqlite3VdbeAddOp2.exit882, %.loopexit, %sqlite3GetTempRange.exit @@ -326599,7 +326600,7 @@ sqlite3ResolveExprNames.exit: ; preds = %46 %132 = getelementptr inbounds [1 x %struct.ExprList_item], ptr %88, i64 0, i64 %indvars.iv %133 = load ptr, ptr %132, align 8 %134 = call fastcc i32 @sqlite3ExprCompare(ptr noundef null, ptr noundef %133, ptr noundef nonnull %.0, i32 noundef %69) - %135 = icmp ult i32 %134, 2 + %135 = icmp samesign ult i32 %134, 2 br i1 %135, label %136, label %130 136: ; preds = %131 @@ -326834,7 +326835,7 @@ sqlite3_stricmp.exit.thread: ; preds = %63, %sqlite3_stricm %indvars.iv.next = add nuw nsw i64 %indvars.iv, 1 %75 = load i16, ptr %5, align 2 %76 = zext i16 %75 to i64 - %77 = icmp ult i64 %indvars.iv.next, %76 + %77 = icmp samesign ult i64 %indvars.iv.next, %76 br i1 %77, label %25, label %._crit_edge, !llvm.loop !1287 ._crit_edge: ; preds = %sqlite3_stricmp.exit.thread, %.preheader @@ -330470,7 +330471,7 @@ sqlite3DbFree.exit202: ; preds = %527, %.thread224, % 537: ; preds = %534 %538 = and i32 %.1228, 255 - %539 = icmp ult i32 %538, 29 + %539 = icmp samesign ult i32 %538, 29 br i1 %539, label %540, label %sqlite3ErrStr.exit.i 540: ; preds = %537 @@ -331180,12 +331181,12 @@ sqlite3Strlen30.exit.thread: ; preds = %6 15: ; preds = %sqlite3Strlen30.exit %16 = load atomic i8, ptr getelementptr inbounds (i8, ptr @sqlite3Config, i64 6) monotonic, align 2 %17 = icmp ne i8 %16, 0 - %18 = icmp ugt i32 %11, 4 + %18 = icmp samesign ugt i32 %11, 4 %or.cond = select i1 %17, i1 %18, i1 false br i1 %or.cond, label %20, label %.thread 19: ; preds = %sqlite3Strlen30.exit - %.old1 = icmp ugt i32 %11, 4 + %.old1 = icmp samesign ugt i32 %11, 4 br i1 %.old1, label %20, label %.thread 20: ; preds = %15, %19 @@ -333041,7 +333042,7 @@ tailrecurse.i.i267: ; preds = %234, %sqlite3VdbeAd sqlite3VdbeAddOp2.exit271: ; preds = %234, %236 %.val239 = load i32, ptr %73, align 8 - %247 = icmp ugt i32 %.0220.in, 1 + %247 = icmp samesign ugt i32 %.0220.in, 1 br i1 %247, label %248, label %707 248: ; preds = %sqlite3VdbeAddOp2.exit271 @@ -348777,7 +348778,7 @@ sqlite3VdbeMemTooBig.exit.i: ; preds = %629, %625 657: ; preds = %654 %658 = and i32 %.0, 255 - %659 = icmp ult i32 %658, 29 + %659 = icmp samesign ult i32 %658, 29 br i1 %659, label %660, label %sqlite3ErrStr.exit.i 660: ; preds = %657 @@ -349878,7 +349879,7 @@ sqlite3VdbeMemTooBig.exit.i: ; preds = %440, %436 468: ; preds = %465 %469 = and i32 %.1, 255 - %470 = icmp ult i32 %469, 29 + %470 = icmp samesign ult i32 %469, 29 br i1 %470, label %471, label %sqlite3ErrStr.exit.i 471: ; preds = %468 @@ -351334,7 +351335,7 @@ sqlite3VdbeMemTooBig.exit.i: ; preds = %197, %193 217: ; preds = %214 %218 = and i32 %.03786, 255 - %219 = icmp ult i32 %218, 29 + %219 = icmp samesign ult i32 %218, 29 br i1 %219, label %220, label %sqlite3ErrStr.exit.i 220: ; preds = %217 @@ -360028,7 +360029,7 @@ sqlite3_value_bytes.exit: ; preds = %353, %.thread.i.i, br label %.preheader.i.i sqlite3_stricmp.exit.i: ; preds = %363 - %375 = icmp ugt i64 %indvars.iv, 1 + %375 = icmp samesign ugt i64 %indvars.iv, 1 br i1 %375, label %parseModifier.exit.thread, label %376 376: ; preds = %sqlite3_stricmp.exit.i @@ -360169,7 +360170,7 @@ sqlite3_stricmp.exit271.thread.i: ; preds = %408 br label %.preheader.i272.i sqlite3_stricmp.exit277.i: ; preds = %427 - %439 = icmp ugt i64 %indvars.iv, 1 + %439 = icmp samesign ugt i64 %indvars.iv, 1 br i1 %439, label %parseModifier.exit.thread, label %440 440: ; preds = %sqlite3_stricmp.exit277.i @@ -360263,7 +360264,7 @@ sqlite3_stricmp.exit289.thread.i: ; preds = %468 br label %.preheader.i290.i 482: ; preds = %sqlite3_stricmp.exit289.thread.i - %483 = icmp ugt i64 %indvars.iv, 1 + %483 = icmp samesign ugt i64 %indvars.iv, 1 br i1 %483, label %parseModifier.exit.thread, label %484 484: ; preds = %482 @@ -360443,7 +360444,7 @@ computeJD.exit.i: ; preds = %564, %551, %530, %5 %570 = sub nsw i64 %569, %514 %.not241.i = icmp ne i64 %570, 0 %571 = add nuw nsw i32 %.0211.i, 1 - %572 = icmp ult i32 %.0211.i, 3 + %572 = icmp samesign ult i32 %.0211.i, 3 %or.cond247.i = select i1 %.not241.i, i1 %572, i1 false br i1 %or.cond247.i, label %515, label %.critedge.i, !llvm.loop !1367 @@ -363526,7 +363527,7 @@ jsonStringExpandAndAppend.exit.sink.split.i102: ; preds = %jsonAppendRawNZ.exi 94: ; preds = %.critedge.loopexit.split.loop.exit.i %95 = load i8, ptr %.0.i.i, align 1 %96 = icmp eq i8 %95, 91 - %97 = icmp ugt i32 %53, 2 + %97 = icmp samesign ugt i32 %53, 2 %or.cond = select i1 %96, i1 %97, i1 false br i1 %or.cond, label %98, label %jsonAppendRawNZ.exit114.thread @@ -367637,7 +367638,7 @@ define internal fastcc range(i32 0, 10) i32 @jsonbPayloadSize(ptr nocapture noun %117 = zext nneg i32 %.0 to i64 %118 = add nuw nsw i64 %116, %117 %119 = zext i32 %5 to i64 - %120 = icmp ugt i64 %118, %119 + %120 = icmp samesign ugt i64 %118, %119 br i1 %120, label %121, label %127 121: ; preds = %114 @@ -367645,7 +367646,7 @@ define internal fastcc range(i32 0, 10) i32 @jsonbPayloadSize(ptr nocapture noun %123 = load i32, ptr %122, align 4 %124 = sub i32 %5, %123 %125 = zext i32 %124 to i64 - %126 = icmp ugt i64 %118, %125 + %126 = icmp samesign ugt i64 %118, %125 %spec.select = select i1 %126, i32 0, i32 %.064 %spec.select83 = select i1 %126, i32 0, i32 %.0 br label %127 @@ -374991,7 +374992,7 @@ define internal fastcc void @jsonInsertIntoBlob(ptr noundef %0, i32 noundef rang br i1 %11, label %jsonParseFree.exit, label %.preheader .preheader: ; preds = %4 - %12 = icmp ugt i32 %1, 2 + %12 = icmp samesign ugt i32 %1, 2 br i1 %12, label %.lr.ph, label %._crit_edge .lr.ph: ; preds = %.preheader diff --git a/bench/stb/optimized/stb_vorbis.c.ll b/bench/stb/optimized/stb_vorbis.c.ll index 74aee39d5f6..3c2790488c0 100644 --- a/bench/stb/optimized/stb_vorbis.c.ll +++ b/bench/stb/optimized/stb_vorbis.c.ll @@ -7734,7 +7734,7 @@ for.inc154: ; preds = %for.inc154.loopexit %indvars.iv.next526 = add nuw nsw i64 %indvars.iv525, 1 %90 = load i8, ptr %arrayidx17, align 4 %91 = zext i8 %90 to i64 - %cmp38 = icmp ult i64 %indvars.iv.next526, %91 + %cmp38 = icmp samesign ult i64 %indvars.iv.next526, %91 br i1 %cmp38, label %for.body40, label %for.end156, !llvm.loop !69 for.end156: ; preds = %for.inc154, %if.then19 @@ -8010,7 +8010,7 @@ for.end361: ; preds = %for.inc359, %for.co %indvars.iv.next547 = add nuw nsw i64 %indvars.iv546, 1 %128 = load i8, ptr %submaps, align 8 %129 = zext i8 %128 to i64 - %cmp325 = icmp ult i64 %indvars.iv.next547, %129 + %cmp325 = icmp samesign ult i64 %indvars.iv.next547, %129 br i1 %cmp325, label %for.cond328.preheader, label %for.end369.loopexit, !llvm.loop !75 for.end369.loopexit: ; preds = %for.end361 @@ -9004,7 +9004,7 @@ if.then142: ; preds = %if.end136 br label %return if.end144: ; preds = %if.end136 - %cmp145 = icmp ugt i32 %and127, %shr + %cmp145 = icmp samesign ugt i32 %and127, %shr br i1 %cmp145, label %if.then147, label %if.end149 if.then147: ; preds = %if.end144 @@ -9845,7 +9845,7 @@ if.end655: ; preds = %setup_temp_free.exi %lookup_type = getelementptr inbounds i8, ptr %add.ptr, i64 25 store i8 %conv657, ptr %lookup_type, align 1 %conv659 = and i32 %call656, 255 - %cmp660 = icmp ugt i32 %conv659, 2 + %cmp660 = icmp samesign ugt i32 %conv659, 2 br i1 %cmp660, label %if.then662, label %if.end664 if.then662: ; preds = %if.end655 @@ -10266,7 +10266,7 @@ for.body939: ; preds = %for.body939.lr.ph, %arrayidx943 = getelementptr inbounds [64 x i16], ptr %floor_types, i64 0, i64 %indvars.iv1336 store i16 %conv941, ptr %arrayidx943, align 2 %conv947 = and i32 %call940, 65535 - %cmp948 = icmp ugt i32 %conv947, 1 + %cmp948 = icmp samesign ugt i32 %conv947, 1 br i1 %cmp948, label %if.then950, label %if.end952 if.then950: ; preds = %for.body939 @@ -10321,7 +10321,7 @@ for.body981: ; preds = %for.body981.lr.ph, %indvars.iv.next1385 = add nuw nsw i64 %indvars.iv1384, 1 %133 = load i8, ptr %number_of_books, align 2 %134 = zext i8 %133 to i64 - %cmp979 = icmp ult i64 %indvars.iv.next1385, %134 + %cmp979 = icmp samesign ult i64 %indvars.iv.next1385, %134 br i1 %cmp979, label %for.body981, label %for.end988, !llvm.loop !101 for.end988: ; preds = %for.body981, %if.then959 @@ -10362,7 +10362,7 @@ for.body1002: ; preds = %for.body1002.lr.ph, %indvars.iv.next1309 = add nuw nsw i64 %indvars.iv1308, 1 %136 = load i8, ptr %arrayidx962, align 4 %137 = zext i8 %136 to i64 - %cmp1000 = icmp ult i64 %indvars.iv.next1309, %137 + %cmp1000 = icmp samesign ult i64 %indvars.iv.next1309, %137 br i1 %cmp1000, label %for.body1002, label %for.body1025.lr.ph, !llvm.loop !102 for.body1025: ; preds = %for.body1025.lr.ph, %for.inc1088 @@ -10500,7 +10500,7 @@ for.body1122: ; preds = %for.body1109, %for. %inc1134 = add nuw nsw i32 %k.21155, 1 %154 = load i8, ptr %arrayidx1118, align 1 %conv1119 = zext i8 %154 to i32 - %cmp1120 = icmp ult i32 %inc1134, %conv1119 + %cmp1120 = icmp samesign ult i32 %inc1134, %conv1119 br i1 %cmp1120, label %for.body1122, label %for.inc1136.loopexit, !llvm.loop !105 for.inc1136.loopexit: ; preds = %for.body1122 @@ -10512,7 +10512,7 @@ for.inc1136: ; preds = %for.inc1136.loopexi %156 = phi i8 [ %.pre1395, %for.inc1136.loopexit ], [ %148, %for.body1109 ] %indvars.iv.next1320 = add nuw nsw i64 %indvars.iv1319, 1 %157 = zext i8 %156 to i64 - %cmp1107 = icmp ult i64 %indvars.iv.next1320, %157 + %cmp1107 = icmp samesign ult i64 %indvars.iv.next1320, %157 br i1 %cmp1107, label %for.body1109, label %for.cond1139.preheader, !llvm.loop !106 for.body1143: ; preds = %for.body1143.preheader, %for.body1143 @@ -10697,7 +10697,7 @@ for.body1246: ; preds = %for.body1246.lr.ph, %arrayidx1253 = getelementptr inbounds [64 x i16], ptr %residue_types, i64 0, i64 %indvars.iv1355 store i16 %conv1251, ptr %arrayidx1253, align 2 %conv1257 = and i32 %call1250, 65535 - %cmp1258 = icmp ugt i32 %conv1257, 2 + %cmp1258 = icmp samesign ugt i32 %conv1257, 2 br i1 %cmp1258, label %if.then1260, label %if.end1262 if.then1260: ; preds = %for.body1246 @@ -10771,7 +10771,7 @@ if.end1300: ; preds = %if.then1297, %for.b %indvars.iv.next1340 = add nuw nsw i64 %indvars.iv1339, 1 %187 = load i8, ptr %classifications, align 4 %188 = zext i8 %187 to i64 - %cmp1290 = icmp ult i64 %indvars.iv.next1340, %188 + %cmp1290 = icmp samesign ult i64 %indvars.iv.next1340, %188 br i1 %cmp1290, label %for.body1292, label %for.end1310.loopexit, !llvm.loop !112 for.end1310.loopexit: ; preds = %if.end1300 @@ -10846,7 +10846,7 @@ for.inc1368: ; preds = %for.inc1365 %indvars.iv.next1347 = add nuw nsw i64 %indvars.iv1346, 1 %199 = load i8, ptr %classifications, align 4 %200 = zext i8 %199 to i64 - %cmp1325 = icmp ult i64 %indvars.iv.next1347, %200 + %cmp1325 = icmp samesign ult i64 %indvars.iv.next1347, %200 br i1 %cmp1325, label %for.cond1328.preheader, label %for.end1370, !llvm.loop !114 for.end1370: ; preds = %for.inc1368, %for.cond1322.preheader @@ -11047,7 +11047,7 @@ for.cond1520: ; preds = %if.end1563 %indvars.iv.next1359 = add nuw nsw i64 %indvars.iv1358, 1 %234 = load i16, ptr %add.ptr1471, align 8 %235 = zext i16 %234 to i64 - %cmp1523 = icmp ult i64 %indvars.iv.next1359, %235 + %cmp1523 = icmp samesign ult i64 %indvars.iv.next1359, %235 br i1 %cmp1523, label %for.body1525, label %if.end1584, !llvm.loop !118 for.body1525: ; preds = %for.cond1520.preheader, %for.cond1520 @@ -11184,7 +11184,7 @@ for.cond1634: ; preds = %if.end1658 %indvars.iv.next1368 = add nuw nsw i64 %indvars.iv1367, 1 %256 = load i8, ptr %231, align 8 %257 = zext i8 %256 to i64 - %cmp1637 = icmp ult i64 %indvars.iv.next1368, %257 + %cmp1637 = icmp samesign ult i64 %indvars.iv.next1368, %257 br i1 %cmp1637, label %for.body1639, label %for.inc1672, !llvm.loop !121 for.body1639: ; preds = %for.body1639.lr.ph, %for.cond1634 @@ -11850,7 +11850,7 @@ setup_free.exit159: ; preds = %for.body58, %setup_ %70 = sext i32 %69 to i64 %cmp56 = icmp slt i64 %indvars.iv.next275, %70 %cmp57 = icmp ult i64 %indvars.iv274, 15 - %71 = and i1 %cmp57, %cmp56 + %71 = and i1 %cmp56, %cmp57 br i1 %71, label %for.body58, label %for.cond68.preheader.loopexit, !llvm.loop !132 for.body70: ; preds = %for.cond68.preheader, %setup_free.exit179 @@ -13850,7 +13850,7 @@ if.end29.i116: ; preds = %if.end25.i111 br label %if.end104 if.else39: ; preds = %while.body31 - %cmp40 = icmp ult i32 %probe.0269, 2 + %cmp40 = icmp samesign ult i32 %probe.0269, 2 br i1 %cmp40, label %if.then41, label %if.else94 if.then41: ; preds = %if.else39 @@ -14106,7 +14106,7 @@ for.end: ; preds = %if.end108 br i1 %cmp118, label %if.then120, label %if.else127 if.then120: ; preds = %for.end - %cmp121 = icmp ugt i32 %probe.0269, 1 + %cmp121 = icmp samesign ugt i32 %probe.0269, 1 %or.cond2 = or i1 %cmp121, %cmp35 br i1 %or.cond2, label %while.end135, label %if.end134 @@ -15821,7 +15821,7 @@ for.body4.us.us.preheader: ; preds = %for.body.us for.inc47.us: ; preds = %for.body28.us, %for.body.us %indvars.iv.next70 = add nuw nsw i64 %indvars.iv69, 32 - %cmp.us = icmp ult i64 %indvars.iv.next70, %0 + %cmp.us = icmp samesign ult i64 %indvars.iv.next70, %0 br i1 %cmp.us, label %for.body.us, label %for.end49, !llvm.loop !159 for.body28.us: ; preds = %for.body28.us.preheader, %for.body28.us @@ -15907,12 +15907,12 @@ for.body28: ; preds = %for.body28.preheade %gep = getelementptr inbounds i16, ptr %invariant.gep, i64 %indvars.iv store i16 %conv40, ptr %gep, align 2 %indvars.iv.next = add nuw nsw i64 %indvars.iv, 1 - %cmp26 = icmp ult i64 %indvars.iv.next, %16 + %cmp26 = icmp samesign ult i64 %indvars.iv.next, %16 br i1 %cmp26, label %for.body28, label %for.inc47, !llvm.loop !160 for.inc47: ; preds = %for.body28, %for.body %indvars.iv.next51 = add nuw nsw i64 %indvars.iv50, 32 - %cmp = icmp ult i64 %indvars.iv.next51, %0 + %cmp = icmp samesign ult i64 %indvars.iv.next51, %0 br i1 %cmp, label %for.body, label %for.end49, !llvm.loop !159 for.end49: ; preds = %for.inc47, %for.inc47.us, %entry @@ -15954,7 +15954,7 @@ for.body.us: ; preds = %for.body.us.prehead for.inc107.us: ; preds = %for.body88.us, %for.cond2.for.cond84.preheader_crit_edge.us %indvars.iv.next100 = add nuw nsw i64 %indvars.iv99, 16 - %cmp.us = icmp ult i64 %indvars.iv.next100, %0 + %cmp.us = icmp samesign ult i64 %indvars.iv.next100, %0 br i1 %cmp.us, label %for.body.us, label %for.end109, !llvm.loop !163 for.body88.us: ; preds = %for.body88.us.preheader, %for.body88.us @@ -15969,7 +15969,7 @@ for.body88.us: ; preds = %for.body88.us.prehe %gep111 = getelementptr i16, ptr %invariant.gep110, i64 %indvars.iv95 store i16 %conv100.us, ptr %gep111, align 2 %indvars.iv.next96 = add nuw nsw i64 %indvars.iv95, 1 - %cmp86.us = icmp ult i64 %indvars.iv.next96, %31 + %cmp86.us = icmp samesign ult i64 %indvars.iv.next96, %31 br i1 %cmp86.us, label %for.body88.us, label %for.inc107.us, !llvm.loop !164 for.body4.us: ; preds = %for.body.us, %for.inc81.us @@ -16111,12 +16111,12 @@ for.body88: ; preds = %for.body88.preheade %gep = getelementptr i16, ptr %invariant.gep, i64 %indvars.iv store i16 %conv100, ptr %gep, align 2 %indvars.iv.next = add nuw nsw i64 %indvars.iv, 1 - %cmp86 = icmp ult i64 %indvars.iv.next, %36 + %cmp86 = icmp samesign ult i64 %indvars.iv.next, %36 br i1 %cmp86, label %for.body88, label %for.inc107, !llvm.loop !164 for.inc107: ; preds = %for.body88, %for.body %indvars.iv.next71 = add nuw nsw i64 %indvars.iv70, 16 - %cmp = icmp ult i64 %indvars.iv.next71, %0 + %cmp = icmp samesign ult i64 %indvars.iv.next71, %0 br i1 %cmp, label %for.body, label %for.end109, !llvm.loop !163 for.end109: ; preds = %for.inc107, %for.inc107.us, %entry @@ -16233,7 +16233,7 @@ for.body28.us.i.us.us: ; preds = %for.body28.us.i.us. for.inc47.us.i.us.us: ; preds = %for.body28.us.i.us.us, %for.body.us.i.us.us %indvars.iv.next70.i.us.us = add nuw nsw i64 %indvars.iv69.i.us.us, 32 - %cmp.us.i.us.us = icmp ult i64 %indvars.iv.next70.i.us.us, %0 + %cmp.us.i.us.us = icmp samesign ult i64 %indvars.iv.next70.i.us.us, %0 br i1 %cmp.us.i.us.us, label %for.body.us.i.us.us, label %compute_samples.exit.loopexit.us.us, !llvm.loop !159 compute_samples.exit.loopexit.us.us: ; preds = %for.inc47.us.i.us.us @@ -16287,7 +16287,7 @@ for.body28.i.us: ; preds = %for.body28.i.us, %f for.inc47.i.us: ; preds = %for.body28.i.us, %for.body.i.us %indvars.iv.next51.i.us = add nuw nsw i64 %indvars.iv50.i.us, 32 - %cmp.i.us = icmp ult i64 %indvars.iv.next51.i.us, %0 + %cmp.i.us = icmp samesign ult i64 %indvars.iv.next51.i.us, %0 %indvars.iv.next55 = add i32 %indvars.iv54, -32 br i1 %cmp.i.us, label %for.body.i.us, label %compute_samples.exit.loopexit36.us, !llvm.loop !159 diff --git a/bench/tinygltf/optimized/tiny_gltf.cc.ll b/bench/tinygltf/optimized/tiny_gltf.cc.ll index 969666952c9..3cdf662c7da 100644 --- a/bench/tinygltf/optimized/tiny_gltf.cc.ll +++ b/bench/tinygltf/optimized/tiny_gltf.cc.ll @@ -5661,7 +5661,7 @@ _ZL14stbi__png_is16P13stbi__context.exit: ; preds = %1 _ZL10stbi__skipP13stbi__contexti.exit.i: ; preds = %39, %33 %43 = tail call fastcc noundef i32 @_ZL13stbi__get16beP13stbi__context(ptr noundef nonnull %0) - %44 = icmp ugt i32 %43, 16 + %44 = icmp samesign ugt i32 %43, 16 br i1 %44, label %47, label %45 45: ; preds = %_ZL10stbi__skipP13stbi__contexti.exit.i @@ -9147,10 +9147,10 @@ define internal fastcc void @_ZL22stbiw__encode_png_linePhiiiiiiPa(ptr nocapture %129 = tail call i32 @llvm.abs.i32(i32 %128, i1 true) %130 = sub nsw i32 %125, %123 %131 = tail call i32 @llvm.abs.i32(i32 %130, i1 true) - %.not.i138 = icmp ugt i32 %127, %129 - %.not20.i139 = icmp ugt i32 %127, %131 + %.not.i138 = icmp samesign ugt i32 %127, %129 + %.not20.i139 = icmp samesign ugt i32 %127, %131 %or.cond.i140 = select i1 %.not.i138, i1 true, i1 %.not20.i139 - %.not21.i = icmp ugt i32 %129, %131 + %.not21.i = icmp samesign ugt i32 %129, %131 %..i = select i1 %.not21.i, i8 %122, i8 %118 %.0.in.i141 = select i1 %or.cond.i140, i8 %..i, i8 %114 %132 = sub i8 %111, %.0.in.i141 @@ -64445,13 +64445,13 @@ _ZL10stbi__skipP13stbi__contexti.exit418.i: ; preds = %714, %709, %697, %6 %741 = tail call fastcc noundef i32 @_ZL14stbi__high_bitj(i32 noundef %201) %742 = add nsw i32 %741, -7 %743 = tail call fastcc noundef i32 @_ZL14stbi__bitcountj(i32 noundef %201) - %744 = icmp ugt i32 %734, 8 - %745 = icmp ugt i32 %737, 8 - %or.cond17.i = or i1 %744, %745 - %746 = icmp ugt i32 %740, 8 - %or.cond19.i = or i1 %or.cond17.i, %746 - %747 = icmp ugt i32 %743, 8 - %or.cond21.i = or i1 %or.cond19.i, %747 + %744 = icmp samesign ugt i32 %734, 8 + %745 = icmp samesign ugt i32 %737, 8 + %or.cond17.i = select i1 %744, i1 true, i1 %745 + %746 = icmp samesign ugt i32 %740, 8 + %or.cond19.i = select i1 %or.cond17.i, i1 true, i1 %746 + %747 = icmp samesign ugt i32 %743, 8 + %or.cond21.i = select i1 %or.cond19.i, i1 true, i1 %747 br i1 %or.cond21.i, label %748, label %.thread18.i 748: ; preds = %731 @@ -65149,7 +65149,7 @@ _ZL14stbi__gif_loadP13stbi__contextPiS1_S1_iP17stbi__result_info.exit: ; preds = _ZL10stbi__skipP13stbi__contexti.exit.i104: ; preds = %1089, %1084 %1092 = tail call fastcc noundef i32 @_ZL13stbi__get16beP13stbi__context(ptr noundef nonnull %0) - %1093 = icmp ugt i32 %1092, 16 + %1093 = icmp samesign ugt i32 %1092, 16 br i1 %1093, label %1094, label %1095 1094: ; preds = %_ZL10stbi__skipP13stbi__contexti.exit.i104 @@ -65209,7 +65209,7 @@ _ZL10stbi__skipP13stbi__contexti.exit.i104: ; preds = %1089, %1084 %1118 = tail call fastcc noundef i32 @_ZL13stbi__get32beP13stbi__context(ptr noundef nonnull %0) tail call fastcc void @_ZL10stbi__skipP13stbi__contexti(ptr noundef nonnull %0, i32 noundef %1118) %1119 = tail call fastcc noundef i32 @_ZL13stbi__get16beP13stbi__context(ptr noundef nonnull %0) - %1120 = icmp ugt i32 %1119, 1 + %1120 = icmp samesign ugt i32 %1119, 1 br i1 %1120, label %1121, label %1122 1121: ; preds = %1115 @@ -65276,7 +65276,7 @@ _ZL10stbi__skipP13stbi__contexti.exit.i104: ; preds = %1089, %1084 .split.us.i: ; preds = %1142, %..loopexit229_crit_edge.us.i %indvars.iv267.i = phi i64 [ %indvars.iv.next268.i, %..loopexit229_crit_edge.us.i ], [ 0, %1142 ] %1147 = getelementptr inbounds i8, ptr %.0185.i, i64 %indvars.iv267.i - %.not213.us.i = icmp ult i64 %indvars.iv267.i, %1146 + %.not213.us.i = icmp samesign ult i64 %indvars.iv267.i, %1146 br i1 %.not213.us.i, label %1151, label %.preheader228.us.i 1148: ; preds = %.preheader228.us.i, %1148 @@ -65305,7 +65305,7 @@ _ZL10stbi__skipP13stbi__contexti.exit.i104: ; preds = %1089, %1084 .split.i: ; preds = %1142, %.preheader228.i %indvars.iv.i107 = phi i64 [ %indvars.iv.next.i108, %.preheader228.i ], [ 0, %1142 ] - %.not213.i = icmp ult i64 %indvars.iv.i107, %1146 + %.not213.i = icmp samesign ult i64 %indvars.iv.i107, %1146 br i1 %.not213.i, label %1155, label %.preheader228.i 1155: ; preds = %.split.i @@ -65326,7 +65326,7 @@ _ZL10stbi__skipP13stbi__contexti.exit.i104: ; preds = %1089, %1084 1158: ; preds = %.loopexit219.i, %.preheader226.i %indvars.iv276.i = phi i64 [ 0, %.preheader226.i ], [ %indvars.iv.next277.i, %.loopexit219.i ] - %.not207.i = icmp ult i64 %indvars.iv276.i, %1141 + %.not207.i = icmp samesign ult i64 %indvars.iv276.i, %1141 br i1 %.not207.i, label %1171, label %1159 1159: ; preds = %1158 @@ -65487,7 +65487,7 @@ _ZL10stbi__get8P13stbi__context.exit.i119: ; preds = %_ZL19stbi__refill_b br i1 %exitcond279.not.i, label %.loopexit227.i, label %1158, !llvm.loop !1748 .loopexit227.i: ; preds = %.preheader228.i, %..loopexit229_crit_edge.us.i, %.loopexit219.i - %1218 = icmp ugt i32 %1092, 3 + %1218 = icmp samesign ugt i32 %1092, 3 br i1 %1218, label %1219, label %.loopexit.i110 1219: ; preds = %.loopexit227.i @@ -68017,7 +68017,7 @@ _ZL10stbi__get8P13stbi__context.exit78.i.i.i: ; preds = %_ZL19stbi__refill_b %205 = and i32 %185, 15 %206 = getelementptr inbounds i8, ptr %199, i64 20 store i32 %205, ptr %206, align 4 - %207 = icmp ugt i32 %205, 3 + %207 = icmp samesign ugt i32 %205, 3 br i1 %207, label %208, label %210 208: ; preds = %204 @@ -68256,8 +68256,8 @@ _ZL10stbi__get8P13stbi__context.exit96.i.i.i: ; preds = %_ZL19stbi__refill_b 344: ; preds = %340 %345 = icmp ugt i8 %.0.i95.i.i.i, -33 - %346 = icmp ugt i32 %335, 13 - %or.cond65.i.i.i = or i1 %345, %346 + %346 = icmp samesign ugt i32 %335, 13 + %or.cond65.i.i.i = select i1 %345, i1 true, i1 %346 br i1 %or.cond65.i.i.i, label %347, label %_ZL25stbi__process_scan_headerP10stbi__jpeg.exit.i.i 347: ; preds = %344, %340, %338 @@ -73459,7 +73459,7 @@ _ZL10stbi__get8P13stbi__context.exit284: ; preds = %454, %457, %_ZL19st .loopexit27.loopexit: ; preds = %479, %_ZL10stbi__get8P13stbi__context.exit284 %481 = phi i32 [ %478, %_ZL10stbi__get8P13stbi__context.exit284 ], [ %480, %479 ] - %.not218 = icmp ult i32 %481, %120 + %.not218 = icmp samesign ult i32 %481, %120 %spec.store.select = select i1 %.not218, i32 %481, i32 0 %482 = zext nneg i32 %spec.store.select to i64 %483 = mul nuw nsw i64 %409, %482 @@ -75042,7 +75042,7 @@ _ZL10stbi__getnP13stbi__contextPhi.exit.thread: ; preds = %545, %_ZL10stbi__ge 617: ; preds = %616 %618 = zext nneg i8 %.0197 to i32 store i32 %618, ptr %58, align 8 - %619 = icmp ugt i32 %2, 2 + %619 = icmp samesign ugt i32 %2, 2 %spec.select = select i1 %619, i32 %2, i32 %618 store i32 %spec.select, ptr %591, align 4 %620 = call fastcc noundef i32 @_ZL24stbi__expand_png_paletteP9stbi__pngPhii(ptr noundef %0, ptr noundef %4, i32 noundef %spec.select) @@ -76356,12 +76356,12 @@ _ZL17stbi__malloc_mad3iiii.exit.thread: ; preds = %_ZL21stbi__mul2size %87 = getelementptr inbounds i8, ptr %69, i64 %86 tail call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 1 %84, ptr align 1 %87, i64 %31, i1 false) %indvars.iv.next = add nuw nsw i64 %indvars.iv, 1 - %88 = icmp ult i64 %indvars.iv.next, %72 + %88 = icmp samesign ult i64 %indvars.iv.next, %72 br i1 %88, label %80, label %._crit_edge.us, !llvm.loop !1860 ._crit_edge.us: ; preds = %80 %indvars.iv.next98 = add nuw nsw i64 %indvars.iv97, 1 - %89 = icmp ult i64 %indvars.iv.next98, %73 + %89 = icmp samesign ult i64 %indvars.iv.next98, %73 br i1 %89, label %.preheader.us, label %._crit_edge91, !llvm.loop !1861 90: ; preds = %56 @@ -77188,10 +77188,10 @@ _ZL21stbi__mad3sizes_validiiii.exit._crit_edge: ; preds = %39, %_ZL21stbi__mul %183 = tail call i32 @llvm.abs.i32(i32 %182, i1 true) %184 = sub nsw i32 %179, %177 %185 = tail call i32 @llvm.abs.i32(i32 %184, i1 true) - %.not.i638 = icmp ugt i32 %181, %183 - %.not20.i639 = icmp ugt i32 %181, %185 + %.not.i638 = icmp samesign ugt i32 %181, %183 + %.not20.i639 = icmp samesign ugt i32 %181, %185 %or.cond.i640 = select i1 %.not.i638, i1 true, i1 %.not20.i639 - %.not21.i = icmp ugt i32 %183, %185 + %.not21.i = icmp samesign ugt i32 %183, %185 %..i = select i1 %.not21.i, i8 %176, i8 %173 %.0.i641 = select i1 %or.cond.i640, i8 %..i, i8 %170 %.narrow623 = add i8 %.0.i641, %167 @@ -77453,10 +77453,10 @@ _ZL21stbi__mad3sizes_validiiii.exit._crit_edge: ; preds = %39, %_ZL21stbi__mul %267 = tail call i32 @llvm.abs.i32(i32 %266, i1 true) %268 = sub nsw i32 %263, %261 %269 = tail call i32 @llvm.abs.i32(i32 %268, i1 true) - %.not.i648 = icmp ugt i32 %265, %267 - %.not20.i649 = icmp ugt i32 %265, %269 + %.not.i648 = icmp samesign ugt i32 %265, %267 + %.not20.i649 = icmp samesign ugt i32 %265, %269 %or.cond.i650 = select i1 %.not.i648, i1 true, i1 %.not20.i649 - %.not21.i651 = icmp ugt i32 %267, %269 + %.not21.i651 = icmp samesign ugt i32 %267, %269 %..i652 = select i1 %.not21.i651, i8 %260, i8 %257 %.0.i653 = select i1 %or.cond.i650, i8 %..i652, i8 %254 %.narrow607 = add i8 %.0.i653, %251 @@ -78751,7 +78751,7 @@ _ZL21stbi__mul2sizes_validii.exit.thread15.i: ; preds = %9 _ZL21stbi__mul2sizes_validii.exit12.i: ; preds = %14 %16 = udiv i32 2147483647, %12 - %.not.i = icmp ugt i32 %13, %16 + %.not.i = icmp samesign ugt i32 %13, %16 br i1 %.not.i, label %_ZL24stbi__process_gif_rasterP13stbi__contextP9stbi__gif.exit.thread.sink.split, label %_ZL21stbi__mad3sizes_validiiii.exit _ZL21stbi__mad3sizes_validiiii.exit: ; preds = %_ZL21stbi__mul2sizes_validii.exit12.i, %14 @@ -81737,7 +81737,7 @@ define internal void @_ZL23stbi__YCbCr_to_RGB_simdPhPKhS1_S1_ii(ptr nocapture no %51 = getelementptr inbounds i8, ptr %.1312, i64 32 %indvars.iv.next = add nuw nsw i64 %indvars.iv, 8 %52 = or disjoint i64 %indvars.iv.next, 7 - %53 = icmp ult i64 %52, %9 + %53 = icmp samesign ult i64 %52, %9 br i1 %53, label %.lr.ph, label %.loopexit.loopexit, !llvm.loop !1918 .loopexit.loopexit: ; preds = %.lr.ph @@ -81898,7 +81898,7 @@ define internal noundef ptr @_ZL28stbi__resample_row_hv_2_simdPhS_S_ii(ptr nound %74 = load i8, ptr %73, align 1 %75 = zext i8 %74 to i32 %76 = add nuw nsw i32 %72, %75 - %77 = icmp ult i64 %indvars.iv.next, %26 + %77 = icmp samesign ult i64 %indvars.iv.next, %26 br i1 %77, label %.lr.ph, label %._crit_edge.loopexit, !llvm.loop !1920 ._crit_edge.loopexit: ; preds = %.lr.ph @@ -82187,7 +82187,7 @@ define internal fastcc noundef range(i32 0, 2) i32 @_ZL20stbi__process_markerP10 %16 = load ptr, ptr %0, align 8 %17 = tail call fastcc noundef i32 @_ZL13stbi__get16beP13stbi__context(ptr noundef %16) %18 = add nsw i32 %17, -2 - %19 = icmp ugt i32 %17, 2 + %19 = icmp samesign ugt i32 %17, 2 br i1 %19, label %.lr.ph192, label %._crit_edge193 .lr.ph192: ; preds = %15 @@ -82275,7 +82275,7 @@ _ZL10stbi__get8P13stbi__context.exit: ; preds = %28, %_ZL19stbi__ref br label %_ZL10stbi__skipP13stbi__contexti.exit _ZL10stbi__get8P13stbi__context.exit.thread: ; preds = %_ZL10stbi__get8P13stbi__context.exit - %67 = icmp ugt i32 %63, 3 + %67 = icmp samesign ugt i32 %63, 3 br i1 %67, label %77, label %.preheader175 .preheader175: ; preds = %_ZL10stbi__get8P13stbi__context.exit.thread @@ -82397,7 +82397,7 @@ _ZL10stbi__get8P13stbi__context.exit137: ; preds = %85, %88, %_ZL19stbi %127 = load ptr, ptr %0, align 8 %128 = tail call fastcc noundef i32 @_ZL13stbi__get16beP13stbi__context(ptr noundef %127) %129 = add nsw i32 %128, -2 - %130 = icmp ugt i32 %128, 2 + %130 = icmp samesign ugt i32 %128, 2 br i1 %130, label %.lr.ph187, label %._crit_edge188 .lr.ph187: ; preds = %126 @@ -82561,7 +82561,7 @@ _ZL10stbi__get8P13stbi__context.exit149: ; preds = %185, %188, %_ZL19st br i1 %exitcond.not, label %221, label %.preheader176, !llvm.loop !1925 221: ; preds = %_ZL10stbi__get8P13stbi__context.exit149 - %222 = icmp ugt i32 %220, 256 + %222 = icmp samesign ugt i32 %220, 256 br i1 %222, label %223, label %225 223: ; preds = %221 @@ -82708,7 +82708,7 @@ _ZL10stbi__get8P13stbi__context.exit155: ; preds = %245, %248, %_ZL19st 299: ; preds = %289 %300 = add nuw nsw i32 %295, %298 - %301 = icmp ult i32 %300, 10 + %301 = icmp samesign ult i32 %300, 10 br i1 %301, label %302, label %318 302: ; preds = %299 @@ -82759,7 +82759,7 @@ _ZL19stbi__build_fast_acPsP13stbi__huffman.exit: ; preds = %318, %._crit_edge 325: ; preds = %322 %326 = load ptr, ptr %0, align 8 %327 = tail call fastcc noundef i32 @_ZL13stbi__get16beP13stbi__context(ptr noundef %326) - %328 = icmp ult i32 %327, 2 + %328 = icmp samesign ult i32 %327, 2 br i1 %328, label %329, label %333 329: ; preds = %325 @@ -82776,8 +82776,8 @@ _ZL19stbi__build_fast_acPsP13stbi__huffman.exit: ; preds = %318, %._crit_edge 333: ; preds = %325 %334 = icmp eq i32 %1, 224 - %335 = icmp ugt i32 %327, 6 - %or.cond9 = and i1 %334, %335 + %335 = icmp samesign ugt i32 %327, 6 + %or.cond9 = select i1 %334, i1 %335, i1 false br i1 %or.cond9, label %.preheader, label %381 .preheader: ; preds = %333, %_ZL10stbi__get8P13stbi__context.exit162 @@ -82869,8 +82869,8 @@ _ZL10stbi__get8P13stbi__context.exit162: ; preds = %342, %345, %_ZL19st 381: ; preds = %333 %382 = add nsw i32 %327, -2 %383 = icmp eq i32 %1, 238 - %384 = icmp ugt i32 %327, 13 - %or.cond11 = and i1 %383, %384 + %384 = icmp samesign ugt i32 %327, 13 + %or.cond11 = select i1 %383, i1 %384, i1 false br i1 %or.cond11, label %.preheader174, label %440 .preheader174: ; preds = %381, %_ZL10stbi__get8P13stbi__context.exit168 @@ -83042,7 +83042,7 @@ _ZL10stbi__skipP13stbi__contexti.exit: ; preds = %232, %229, %468, %4 define internal fastcc noundef range(i32 0, 2) i32 @_ZL26stbi__process_frame_headerP10stbi__jpegi(ptr nocapture noundef nonnull %0, i32 noundef range(i32 0, 3) %1) unnamed_addr #5 { %3 = load ptr, ptr %0, align 8 %4 = tail call fastcc noundef i32 @_ZL13stbi__get16beP13stbi__context(ptr noundef %3) - %5 = icmp ult i32 %4, 11 + %5 = icmp samesign ult i32 %4, 11 br i1 %5, label %6, label %8 6: ; preds = %2 @@ -86376,7 +86376,7 @@ define internal fastcc noundef range(i32 0, 2) i32 @_ZL20stbi__zbuild_huffmanP14 %70 = zext i16 %rev.i.i to i32 %71 = sub nuw nsw i32 16, %47 %72 = lshr i32 %70, %71 - %73 = icmp ult i32 %72, 512 + %73 = icmp samesign ult i32 %72, 512 br i1 %73, label %.lr.ph78, label %.loopexit .lr.ph78: ; preds = %69 @@ -86390,7 +86390,7 @@ define internal fastcc noundef range(i32 0, 2) i32 @_ZL20stbi__zbuild_huffmanP14 %78 = getelementptr inbounds [512 x i16], ptr %0, i64 0, i64 %indvars.iv91 store i16 %63, ptr %78, align 2 %indvars.iv.next92 = add nuw nsw i64 %indvars.iv91, %76 - %79 = icmp ult i64 %indvars.iv.next92, 512 + %79 = icmp samesign ult i64 %indvars.iv.next92, 512 br i1 %79, label %77, label %.loopexit, !llvm.loop !1958 .loopexit: ; preds = %77, %69, %48 @@ -86642,7 +86642,7 @@ define internal fastcc noundef range(i32 0, 2) i32 @_ZL14stbi__psd_infoP13stbi__ _ZL10stbi__skipP13stbi__contexti.exit: ; preds = %38, %44 %48 = tail call fastcc noundef i32 @_ZL13stbi__get16beP13stbi__context(ptr noundef nonnull %0) - %49 = icmp ugt i32 %48, 16 + %49 = icmp samesign ugt i32 %48, 16 br i1 %49, label %50, label %57 50: ; preds = %_ZL10stbi__skipP13stbi__contexti.exit @@ -88629,7 +88629,7 @@ define internal fastcc noundef i32 @_ZL20stbiw__jpg_processDUP19stbi__write_cont store float %66, ptr %41, align 4 store float %70, ptr %43, align 4 %indvars.iv.next.lver.orig = add nuw nsw i64 %indvars.iv.lver.orig, %34 - %85 = icmp ult i64 %indvars.iv.next.lver.orig, %35 + %85 = icmp samesign ult i64 %indvars.iv.next.lver.orig, %35 br i1 %85, label %36, label %.preheader237, !llvm.loop !1967 .preheader237: ; preds = %36 diff --git a/bench/tinympc/optimized/codegen.cpp.ll b/bench/tinympc/optimized/codegen.cpp.ll index 8660992373a..b16df771f46 100644 --- a/bench/tinympc/optimized/codegen.cpp.ll +++ b/bench/tinympc/optimized/codegen.cpp.ll @@ -417,7 +417,7 @@ define noundef i32 @codegen_data_source(ptr nocapture noundef readonly %0, ptr n %103 = getelementptr double, ptr %102, i64 %101 %104 = load double, ptr %103, align 8 %105 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %60, ptr noundef nonnull @.str.106, double noundef %104) #13 - %106 = icmp ult i64 %indvars.iv.i, %94 + %106 = icmp samesign ult i64 %indvars.iv.i, %94 br i1 %106, label %107, label %108 107: ; preds = %95 @@ -467,7 +467,7 @@ _ZL12print_matrixP8_IO_FILEN5Eigen6MatrixIdLin1ELin1ELi0ELin1ELin1EEEi.exit: ; p %131 = getelementptr double, ptr %130, i64 %129 %132 = load double, ptr %131, align 8 %133 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %60, ptr noundef nonnull @.str.106, double noundef %132) #13 - %134 = icmp ult i64 %indvars.iv.i307, %122 + %134 = icmp samesign ult i64 %indvars.iv.i307, %122 br i1 %134, label %135, label %136 135: ; preds = %123 @@ -518,7 +518,7 @@ _ZL12print_matrixP8_IO_FILEN5Eigen6MatrixIdLin1ELin1ELi0ELin1ELin1EEEi.exit311: %163 = getelementptr double, ptr %162, i64 %161 %164 = load double, ptr %163, align 8 %165 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %60, ptr noundef nonnull @.str.106, double noundef %164) #13 - %166 = icmp ult i64 %indvars.iv.i314, %154 + %166 = icmp samesign ult i64 %indvars.iv.i314, %154 br i1 %166, label %167, label %168 167: ; preds = %155 @@ -562,7 +562,7 @@ _ZL12print_matrixP8_IO_FILEN5Eigen6MatrixIdLin1ELin1ELi0ELin1ELin1EEEi.exit318: %187 = getelementptr double, ptr %186, i64 %185 %188 = load double, ptr %187, align 8 %189 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %60, ptr noundef nonnull @.str.106, double noundef %188) #13 - %190 = icmp ult i64 %indvars.iv.i321, %178 + %190 = icmp samesign ult i64 %indvars.iv.i321, %178 br i1 %190, label %191, label %192 191: ; preds = %179 @@ -606,7 +606,7 @@ _ZL12print_matrixP8_IO_FILEN5Eigen6MatrixIdLin1ELin1ELi0ELin1ELin1EEEi.exit325: %211 = getelementptr double, ptr %210, i64 %209 %212 = load double, ptr %211, align 8 %213 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %60, ptr noundef nonnull @.str.106, double noundef %212) #13 - %214 = icmp ult i64 %indvars.iv.i328, %202 + %214 = icmp samesign ult i64 %indvars.iv.i328, %202 br i1 %214, label %215, label %216 215: ; preds = %203 @@ -648,7 +648,7 @@ _ZL12print_matrixP8_IO_FILEN5Eigen6MatrixIdLin1ELin1ELi0ELin1ELin1EEEi.exit332: %234 = getelementptr double, ptr %233, i64 %232 %235 = load double, ptr %234, align 8 %236 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %60, ptr noundef nonnull @.str.106, double noundef %235) #13 - %237 = icmp ult i64 %indvars.iv.i335, %225 + %237 = icmp samesign ult i64 %indvars.iv.i335, %225 br i1 %237, label %238, label %239 238: ; preds = %226 @@ -726,7 +726,7 @@ _ZL12print_matrixP8_IO_FILEN5Eigen6MatrixIdLin1ELin1ELi0ELin1ELin1EEEi.exit339: %290 = getelementptr double, ptr %289, i64 %288 %291 = load double, ptr %290, align 8 %292 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %60, ptr noundef nonnull @.str.106, double noundef %291) #13 - %293 = icmp ult i64 %indvars.iv.i342, %281 + %293 = icmp samesign ult i64 %indvars.iv.i342, %281 br i1 %293, label %294, label %295 294: ; preds = %282 @@ -771,7 +771,7 @@ _ZL12print_matrixP8_IO_FILEN5Eigen6MatrixIdLin1ELin1ELi0ELin1ELin1EEEi.exit346: %313 = getelementptr double, ptr %312, i64 %311 %314 = load double, ptr %313, align 8 %315 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %60, ptr noundef nonnull @.str.106, double noundef %314) #13 - %316 = icmp ult i64 %indvars.iv.i349, %304 + %316 = icmp samesign ult i64 %indvars.iv.i349, %304 br i1 %316, label %317, label %318 317: ; preds = %305 @@ -816,7 +816,7 @@ _ZL12print_matrixP8_IO_FILEN5Eigen6MatrixIdLin1ELin1ELi0ELin1ELin1EEEi.exit353: %336 = getelementptr double, ptr %335, i64 %334 %337 = load double, ptr %336, align 8 %338 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %60, ptr noundef nonnull @.str.106, double noundef %337) #13 - %339 = icmp ult i64 %indvars.iv.i356, %327 + %339 = icmp samesign ult i64 %indvars.iv.i356, %327 br i1 %339, label %340, label %341 340: ; preds = %328 @@ -861,7 +861,7 @@ _ZL12print_matrixP8_IO_FILEN5Eigen6MatrixIdLin1ELin1ELi0ELin1ELin1EEEi.exit360: %359 = getelementptr double, ptr %358, i64 %357 %360 = load double, ptr %359, align 8 %361 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %60, ptr noundef nonnull @.str.106, double noundef %360) #13 - %362 = icmp ult i64 %indvars.iv.i363, %350 + %362 = icmp samesign ult i64 %indvars.iv.i363, %350 br i1 %362, label %363, label %364 363: ; preds = %351 @@ -906,7 +906,7 @@ _ZL12print_matrixP8_IO_FILEN5Eigen6MatrixIdLin1ELin1ELi0ELin1ELin1EEEi.exit367: %382 = getelementptr double, ptr %381, i64 %380 %383 = load double, ptr %382, align 8 %384 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %60, ptr noundef nonnull @.str.106, double noundef %383) #13 - %385 = icmp ult i64 %indvars.iv.i370, %373 + %385 = icmp samesign ult i64 %indvars.iv.i370, %373 br i1 %385, label %386, label %387 386: ; preds = %374 @@ -951,7 +951,7 @@ _ZL12print_matrixP8_IO_FILEN5Eigen6MatrixIdLin1ELin1ELi0ELin1ELin1EEEi.exit374: %405 = getelementptr double, ptr %404, i64 %403 %406 = load double, ptr %405, align 8 %407 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %60, ptr noundef nonnull @.str.106, double noundef %406) #13 - %408 = icmp ult i64 %indvars.iv.i377, %396 + %408 = icmp samesign ult i64 %indvars.iv.i377, %396 br i1 %408, label %409, label %410 409: ; preds = %397 @@ -996,7 +996,7 @@ _ZL12print_matrixP8_IO_FILEN5Eigen6MatrixIdLin1ELin1ELi0ELin1ELin1EEEi.exit381: %428 = getelementptr double, ptr %427, i64 %426 %429 = load double, ptr %428, align 8 %430 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %60, ptr noundef nonnull @.str.106, double noundef %429) #13 - %431 = icmp ult i64 %indvars.iv.i384, %419 + %431 = icmp samesign ult i64 %indvars.iv.i384, %419 br i1 %431, label %432, label %433 432: ; preds = %420 @@ -1035,7 +1035,7 @@ _ZL12print_matrixP8_IO_FILEN5Eigen6MatrixIdLin1ELin1ELi0ELin1ELin1EEEi.exit388: %449 = getelementptr double, ptr %448, i64 %447 %450 = load double, ptr %449, align 8 %451 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %60, ptr noundef nonnull @.str.106, double noundef %450) #13 - %452 = icmp ult i64 %indvars.iv.i391, %419 + %452 = icmp samesign ult i64 %indvars.iv.i391, %419 br i1 %452, label %453, label %454 453: ; preds = %441 @@ -1093,7 +1093,7 @@ _ZL12print_matrixP8_IO_FILEN5Eigen6MatrixIdLin1ELin1ELi0ELin1ELin1EEEi.exit395: %477 = getelementptr double, ptr %476, i64 %475 %478 = load double, ptr %477, align 8 %479 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %60, ptr noundef nonnull @.str.106, double noundef %478) #13 - %480 = icmp ult i64 %indvars.iv.i398, %468 + %480 = icmp samesign ult i64 %indvars.iv.i398, %468 br i1 %480, label %481, label %482 481: ; preds = %469 @@ -1132,7 +1132,7 @@ _ZL12print_matrixP8_IO_FILEN5Eigen6MatrixIdLin1ELin1ELi0ELin1ELin1EEEi.exit402: %498 = getelementptr double, ptr %497, i64 %496 %499 = load double, ptr %498, align 8 %500 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %60, ptr noundef nonnull @.str.106, double noundef %499) #13 - %501 = icmp ult i64 %indvars.iv.i405, %468 + %501 = icmp samesign ult i64 %indvars.iv.i405, %468 br i1 %501, label %502, label %503 502: ; preds = %490 @@ -1190,7 +1190,7 @@ _ZL12print_matrixP8_IO_FILEN5Eigen6MatrixIdLin1ELin1ELi0ELin1ELin1EEEi.exit409: %526 = getelementptr double, ptr %525, i64 %524 %527 = load double, ptr %526, align 8 %528 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %60, ptr noundef nonnull @.str.106, double noundef %527) #13 - %529 = icmp ult i64 %indvars.iv.i412, %517 + %529 = icmp samesign ult i64 %indvars.iv.i412, %517 br i1 %529, label %530, label %531 530: ; preds = %518 @@ -1235,7 +1235,7 @@ _ZL12print_matrixP8_IO_FILEN5Eigen6MatrixIdLin1ELin1ELi0ELin1ELin1EEEi.exit416: %549 = getelementptr double, ptr %548, i64 %547 %550 = load double, ptr %549, align 8 %551 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %60, ptr noundef nonnull @.str.106, double noundef %550) #13 - %552 = icmp ult i64 %indvars.iv.i419, %540 + %552 = icmp samesign ult i64 %indvars.iv.i419, %540 br i1 %552, label %553, label %554 553: ; preds = %541 @@ -1278,7 +1278,7 @@ _ZL12print_matrixP8_IO_FILEN5Eigen6MatrixIdLin1ELin1ELi0ELin1ELin1EEEi.exit423: %573 = getelementptr double, ptr %572, i64 %571 %574 = load double, ptr %573, align 8 %575 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %60, ptr noundef nonnull @.str.106, double noundef %574) #13 - %576 = icmp ult i64 %indvars.iv.i426, %564 + %576 = icmp samesign ult i64 %indvars.iv.i426, %564 br i1 %576, label %577, label %578 577: ; preds = %565 @@ -1321,7 +1321,7 @@ _ZL12print_matrixP8_IO_FILEN5Eigen6MatrixIdLin1ELin1ELi0ELin1ELin1EEEi.exit430: %597 = getelementptr double, ptr %596, i64 %595 %598 = load double, ptr %597, align 8 %599 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %60, ptr noundef nonnull @.str.106, double noundef %598) #13 - %600 = icmp ult i64 %indvars.iv.i433, %588 + %600 = icmp samesign ult i64 %indvars.iv.i433, %588 br i1 %600, label %601, label %602 601: ; preds = %589 @@ -1363,7 +1363,7 @@ _ZL12print_matrixP8_IO_FILEN5Eigen6MatrixIdLin1ELin1ELi0ELin1ELin1EEEi.exit437: %620 = getelementptr double, ptr %619, i64 %618 %621 = load double, ptr %620, align 8 %622 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %60, ptr noundef nonnull @.str.106, double noundef %621) #13 - %623 = icmp ult i64 %indvars.iv.i440, %611 + %623 = icmp samesign ult i64 %indvars.iv.i440, %611 br i1 %623, label %624, label %625 624: ; preds = %612 @@ -1405,7 +1405,7 @@ _ZL12print_matrixP8_IO_FILEN5Eigen6MatrixIdLin1ELin1ELi0ELin1ELin1EEEi.exit444: %643 = getelementptr double, ptr %642, i64 %641 %644 = load double, ptr %643, align 8 %645 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %60, ptr noundef nonnull @.str.106, double noundef %644) #13 - %646 = icmp ult i64 %indvars.iv.i447, %634 + %646 = icmp samesign ult i64 %indvars.iv.i447, %634 br i1 %646, label %647, label %648 647: ; preds = %635 @@ -1447,7 +1447,7 @@ _ZL12print_matrixP8_IO_FILEN5Eigen6MatrixIdLin1ELin1ELi0ELin1ELin1EEEi.exit451: %666 = getelementptr double, ptr %665, i64 %664 %667 = load double, ptr %666, align 8 %668 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %60, ptr noundef nonnull @.str.106, double noundef %667) #13 - %669 = icmp ult i64 %indvars.iv.i454, %657 + %669 = icmp samesign ult i64 %indvars.iv.i454, %657 br i1 %669, label %670, label %671 670: ; preds = %658 @@ -1483,7 +1483,7 @@ _ZL12print_matrixP8_IO_FILEN5Eigen6MatrixIdLin1ELin1ELi0ELin1ELin1EEEi.exit458: %687 = getelementptr double, ptr %686, i64 %685 %688 = load double, ptr %687, align 8 %689 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %60, ptr noundef nonnull @.str.106, double noundef %688) #13 - %690 = icmp ult i64 %indvars.iv.i461, %657 + %690 = icmp samesign ult i64 %indvars.iv.i461, %657 br i1 %690, label %691, label %692 691: ; preds = %679 @@ -1535,7 +1535,7 @@ _ZL12print_matrixP8_IO_FILEN5Eigen6MatrixIdLin1ELin1ELi0ELin1ELin1EEEi.exit465: %715 = getelementptr double, ptr %714, i64 %713 %716 = load double, ptr %715, align 8 %717 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %60, ptr noundef nonnull @.str.106, double noundef %716) #13 - %718 = icmp ult i64 %indvars.iv.i468, %706 + %718 = icmp samesign ult i64 %indvars.iv.i468, %706 br i1 %718, label %719, label %720 719: ; preds = %707 @@ -1571,7 +1571,7 @@ _ZL12print_matrixP8_IO_FILEN5Eigen6MatrixIdLin1ELin1ELi0ELin1ELin1EEEi.exit472: %736 = getelementptr double, ptr %735, i64 %734 %737 = load double, ptr %736, align 8 %738 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %60, ptr noundef nonnull @.str.106, double noundef %737) #13 - %739 = icmp ult i64 %indvars.iv.i475, %706 + %739 = icmp samesign ult i64 %indvars.iv.i475, %706 br i1 %739, label %740, label %741 740: ; preds = %728 @@ -1626,7 +1626,7 @@ _ZL12print_matrixP8_IO_FILEN5Eigen6MatrixIdLin1ELin1ELi0ELin1ELin1EEEi.exit479: %764 = getelementptr double, ptr %763, i64 %762 %765 = load double, ptr %764, align 8 %766 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %60, ptr noundef nonnull @.str.106, double noundef %765) #13 - %767 = icmp ult i64 %indvars.iv.i482, %755 + %767 = icmp samesign ult i64 %indvars.iv.i482, %755 br i1 %767, label %768, label %769 768: ; preds = %756 @@ -1671,7 +1671,7 @@ _ZL12print_matrixP8_IO_FILEN5Eigen6MatrixIdLin1ELin1ELi0ELin1ELin1EEEi.exit486: %787 = getelementptr double, ptr %786, i64 %785 %788 = load double, ptr %787, align 8 %789 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %60, ptr noundef nonnull @.str.106, double noundef %788) #13 - %790 = icmp ult i64 %indvars.iv.i489, %778 + %790 = icmp samesign ult i64 %indvars.iv.i489, %778 br i1 %790, label %791, label %792 791: ; preds = %779 @@ -1716,7 +1716,7 @@ _ZL12print_matrixP8_IO_FILEN5Eigen6MatrixIdLin1ELin1ELi0ELin1ELin1EEEi.exit493: %810 = getelementptr double, ptr %809, i64 %808 %811 = load double, ptr %810, align 8 %812 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %60, ptr noundef nonnull @.str.106, double noundef %811) #13 - %813 = icmp ult i64 %indvars.iv.i496, %801 + %813 = icmp samesign ult i64 %indvars.iv.i496, %801 br i1 %813, label %814, label %815 814: ; preds = %802 diff --git a/bench/tinyobjloader/optimized/tiny_obj_loader.cc.ll b/bench/tinyobjloader/optimized/tiny_obj_loader.cc.ll index c7416c21486..7657e8b5bda 100644 --- a/bench/tinyobjloader/optimized/tiny_obj_loader.cc.ll +++ b/bench/tinyobjloader/optimized/tiny_obj_loader.cc.ll @@ -4497,7 +4497,7 @@ while.cond: ; preds = %while.cond.backedge %current_smoothing_id.0 = phi i32 [ 0, %entry ], [ %current_smoothing_id.0.be, %while.cond.backedge ] %material.0 = phi i32 [ -1, %entry ], [ %material.0.be, %while.cond.backedge ] %call = invoke noundef i32 @_ZNSi4peekEv(ptr noundef nonnull align 8 dereferenceable(16) %inStream) - to label %invoke.cont unwind label %lpad.loopexit1493 + to label %invoke.cont unwind label %lpad.loopexit1494 invoke.cont: ; preds = %while.cond %cmp.not = icmp eq i32 %call, -1 @@ -4505,7 +4505,7 @@ invoke.cont: ; preds = %while.cond while.body: ; preds = %invoke.cont %call3 = invoke fastcc noundef nonnull align 8 dereferenceable(16) ptr @_ZN7tinyobjL11safeGetlineERSiRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(16) %inStream, ptr noundef nonnull align 8 dereferenceable(32) %linebuf) - to label %invoke.cont2 unwind label %lpad.loopexit1493 + to label %invoke.cont2 unwind label %lpad.loopexit1494 invoke.cont2: ; preds = %while.body %inc = add i64 %line_num.0, 1 @@ -4517,7 +4517,7 @@ if.then: ; preds = %invoke.cont2 %call6 = call noundef i64 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(32) %linebuf) #26 %sub = add i64 %call6, -1 %call8 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %linebuf, i64 noundef %sub) - to label %invoke.cont7 unwind label %lpad.loopexit1493 + to label %invoke.cont7 unwind label %lpad.loopexit1494 invoke.cont7: ; preds = %if.then %2 = load i8, ptr %call8, align 1 @@ -4528,21 +4528,21 @@ if.then10: ; preds = %invoke.cont7 %call11 = call noundef i64 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(32) %linebuf) #26 %sub12 = add i64 %call11, -1 %call14 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5eraseEmm(ptr noundef nonnull align 8 dereferenceable(32) %linebuf, i64 noundef %sub12, i64 noundef -1) - to label %if.end15 unwind label %lpad.loopexit1493 + to label %if.end15 unwind label %lpad.loopexit1494 -lpad.loopexit1493: ; preds = %while.cond, %while.body, %if.then, %if.then10, %if.then18, %if.then25, %if.then417, %if.then572, %if.then673, %_ZN7tinyobj9PrimGroup5clearEv.exit1060, %cond.true.i.i.i, %cond.true.i.i.i167, %cond.true.i.i.i203, %cond.true.i.i.i239, %cond.true.i.i.i275, %cond.true.i.i.i311, %cond.true.i.i.i348, %cond.true.i.i.i384, %cond.true.i.i.i420, %cond.true.i.i.i463, %cond.true.i.i.i499, %if.then.i959, %if.else.i962, %if.then.i1018, %if.else.i1021 +lpad.loopexit1494: ; preds = %while.cond, %while.body, %if.then, %if.then10, %if.then18, %if.then25, %if.then417, %if.then572, %if.then673, %_ZN7tinyobj9PrimGroup5clearEv.exit1060, %cond.true.i.i.i, %cond.true.i.i.i167, %cond.true.i.i.i203, %cond.true.i.i.i239, %cond.true.i.i.i275, %cond.true.i.i.i311, %cond.true.i.i.i348, %cond.true.i.i.i384, %cond.true.i.i.i420, %cond.true.i.i.i463, %cond.true.i.i.i499, %if.then.i959, %if.else.i962, %if.then.i1018, %if.else.i1021 %vc.sroa.0.1.ph = phi ptr [ %vc.sroa.0.0, %while.cond ], [ %vc.sroa.0.0, %while.body ], [ %vc.sroa.0.0, %if.then ], [ %vc.sroa.0.0, %if.then10 ], [ %vc.sroa.0.0, %if.then18 ], [ %vc.sroa.0.0, %if.then25 ], [ %vc.sroa.0.0, %cond.true.i.i.i ], [ %vc.sroa.0.0, %cond.true.i.i.i167 ], [ %vc.sroa.0.0, %cond.true.i.i.i203 ], [ %vc.sroa.0.0, %cond.true.i.i.i239 ], [ %vc.sroa.0.5, %cond.true.i.i.i275 ], [ %vc.sroa.0.6, %cond.true.i.i.i311 ], [ %vc.sroa.0.0, %cond.true.i.i.i348 ], [ %vc.sroa.0.0, %cond.true.i.i.i384 ], [ %vc.sroa.0.0, %cond.true.i.i.i420 ], [ %vc.sroa.0.0, %cond.true.i.i.i463 ], [ %vc.sroa.0.0, %cond.true.i.i.i499 ], [ %vc.sroa.0.0, %if.then572 ], [ %vc.sroa.0.0, %if.then.i959 ], [ %vc.sroa.0.0, %if.else.i962 ], [ %vc.sroa.0.0, %if.then673 ], [ %vc.sroa.0.0, %if.then.i1018 ], [ %vc.sroa.0.0, %if.else.i1021 ], [ %vc.sroa.0.0, %_ZN7tinyobj9PrimGroup5clearEv.exit1060 ], [ %vc.sroa.0.0, %if.then417 ] %vt.sroa.0.1.ph = phi ptr [ %vt.sroa.0.0, %while.cond ], [ %vt.sroa.0.0, %while.body ], [ %vt.sroa.0.0, %if.then ], [ %vt.sroa.0.0, %if.then10 ], [ %vt.sroa.0.0, %if.then18 ], [ %vt.sroa.0.0, %if.then25 ], [ %vt.sroa.0.0, %cond.true.i.i.i ], [ %vt.sroa.0.0, %cond.true.i.i.i167 ], [ %vt.sroa.0.0, %cond.true.i.i.i203 ], [ %vt.sroa.0.0, %cond.true.i.i.i239 ], [ %vt.sroa.0.0, %cond.true.i.i.i275 ], [ %vt.sroa.0.0, %cond.true.i.i.i311 ], [ %vt.sroa.0.0, %cond.true.i.i.i348 ], [ %vt.sroa.0.0, %cond.true.i.i.i384 ], [ %vt.sroa.0.0, %cond.true.i.i.i420 ], [ %vt.sroa.0.0, %cond.true.i.i.i463 ], [ %vt.sroa.0.4, %cond.true.i.i.i499 ], [ %vt.sroa.0.0, %if.then572 ], [ %vt.sroa.0.0, %if.then.i959 ], [ %vt.sroa.0.0, %if.else.i962 ], [ %vt.sroa.0.0, %if.then673 ], [ %vt.sroa.0.0, %if.then.i1018 ], [ %vt.sroa.0.0, %if.else.i1021 ], [ %vt.sroa.0.0, %_ZN7tinyobj9PrimGroup5clearEv.exit1060 ], [ %vt.sroa.0.0, %if.then417 ] %vn.sroa.0.1.ph = phi ptr [ %vn.sroa.0.0, %while.cond ], [ %vn.sroa.0.0, %while.body ], [ %vn.sroa.0.0, %if.then ], [ %vn.sroa.0.0, %if.then10 ], [ %vn.sroa.0.0, %if.then18 ], [ %vn.sroa.0.0, %if.then25 ], [ %vn.sroa.0.0, %cond.true.i.i.i ], [ %vn.sroa.0.0, %cond.true.i.i.i167 ], [ %vn.sroa.0.0, %cond.true.i.i.i203 ], [ %vn.sroa.0.0, %cond.true.i.i.i239 ], [ %vn.sroa.0.0, %cond.true.i.i.i275 ], [ %vn.sroa.0.0, %cond.true.i.i.i311 ], [ %vn.sroa.0.0, %cond.true.i.i.i348 ], [ %vn.sroa.0.4, %cond.true.i.i.i384 ], [ %vn.sroa.0.5, %cond.true.i.i.i420 ], [ %vn.sroa.0.0, %cond.true.i.i.i463 ], [ %vn.sroa.0.0, %cond.true.i.i.i499 ], [ %vn.sroa.0.0, %if.then572 ], [ %vn.sroa.0.0, %if.then.i959 ], [ %vn.sroa.0.0, %if.else.i962 ], [ %vn.sroa.0.0, %if.then673 ], [ %vn.sroa.0.0, %if.then.i1018 ], [ %vn.sroa.0.0, %if.else.i1021 ], [ %vn.sroa.0.0, %_ZN7tinyobj9PrimGroup5clearEv.exit1060 ], [ %vn.sroa.0.0, %if.then417 ] - %lpad.loopexit1498 = landingpad { ptr, i32 } + %lpad.loopexit1499 = landingpad { ptr, i32 } cleanup br label %ehcleanup972 -lpad.loopexit.split-lp1494: ; preds = %if.then.i.i.i.invoke, %if.then875, %if.then901, %if.then927, %if.end946, %if.then963, %if.then.i.i.i289, %if.then.i.i.i325, %if.then.i.i.i398, %if.then.i.i.i434, %if.then.i.i.i513, %if.then.i1176, %if.else.i1179 - %vc.sroa.0.1.ph1495 = phi ptr [ %vc.sroa.0.6, %if.then.i.i.i325 ], [ %vc.sroa.0.5, %if.then.i.i.i289 ], [ %vc.sroa.0.0, %if.then.i.i.i434 ], [ %vc.sroa.0.0, %if.then.i.i.i398 ], [ %vc.sroa.0.0, %if.then.i.i.i513 ], [ %vc.sroa.0.0, %if.then875 ], [ %vc.sroa.0.0, %if.then901 ], [ %vc.sroa.0.0, %if.then927 ], [ %vc.sroa.0.0, %if.end946 ], [ %vc.sroa.0.0, %if.then.i1176 ], [ %vc.sroa.0.0, %if.else.i1179 ], [ %vc.sroa.0.0, %if.then963 ], [ %vc.sroa.0.0, %if.then.i.i.i.invoke ] - %vt.sroa.0.1.ph1496 = phi ptr [ %vt.sroa.0.0, %if.then.i.i.i325 ], [ %vt.sroa.0.0, %if.then.i.i.i289 ], [ %vt.sroa.0.0, %if.then.i.i.i434 ], [ %vt.sroa.0.0, %if.then.i.i.i398 ], [ %vt.sroa.0.4, %if.then.i.i.i513 ], [ %vt.sroa.0.0, %if.then875 ], [ %vt.sroa.0.0, %if.then901 ], [ %vt.sroa.0.0, %if.then927 ], [ %vt.sroa.0.0, %if.end946 ], [ %vt.sroa.0.0, %if.then.i1176 ], [ %vt.sroa.0.0, %if.else.i1179 ], [ %vt.sroa.0.0, %if.then963 ], [ %vt.sroa.0.0, %if.then.i.i.i.invoke ] - %vn.sroa.0.1.ph1497 = phi ptr [ %vn.sroa.0.0, %if.then.i.i.i325 ], [ %vn.sroa.0.0, %if.then.i.i.i289 ], [ %vn.sroa.0.5, %if.then.i.i.i434 ], [ %vn.sroa.0.4, %if.then.i.i.i398 ], [ %vn.sroa.0.0, %if.then.i.i.i513 ], [ %vn.sroa.0.0, %if.then875 ], [ %vn.sroa.0.0, %if.then901 ], [ %vn.sroa.0.0, %if.then927 ], [ %vn.sroa.0.0, %if.end946 ], [ %vn.sroa.0.0, %if.then.i1176 ], [ %vn.sroa.0.0, %if.else.i1179 ], [ %vn.sroa.0.0, %if.then963 ], [ %vn.sroa.0.0, %if.then.i.i.i.invoke ] - %lpad.loopexit.split-lp1499 = landingpad { ptr, i32 } +lpad.loopexit.split-lp1495: ; preds = %if.then.i.i.i.invoke, %if.then875, %if.then901, %if.then927, %if.end946, %if.then963, %if.then.i.i.i289, %if.then.i.i.i325, %if.then.i.i.i398, %if.then.i.i.i434, %if.then.i.i.i513, %if.then.i1176, %if.else.i1179 + %vc.sroa.0.1.ph1496 = phi ptr [ %vc.sroa.0.6, %if.then.i.i.i325 ], [ %vc.sroa.0.5, %if.then.i.i.i289 ], [ %vc.sroa.0.0, %if.then.i.i.i434 ], [ %vc.sroa.0.0, %if.then.i.i.i398 ], [ %vc.sroa.0.0, %if.then.i.i.i513 ], [ %vc.sroa.0.0, %if.then875 ], [ %vc.sroa.0.0, %if.then901 ], [ %vc.sroa.0.0, %if.then927 ], [ %vc.sroa.0.0, %if.end946 ], [ %vc.sroa.0.0, %if.then.i1176 ], [ %vc.sroa.0.0, %if.else.i1179 ], [ %vc.sroa.0.0, %if.then963 ], [ %vc.sroa.0.0, %if.then.i.i.i.invoke ] + %vt.sroa.0.1.ph1497 = phi ptr [ %vt.sroa.0.0, %if.then.i.i.i325 ], [ %vt.sroa.0.0, %if.then.i.i.i289 ], [ %vt.sroa.0.0, %if.then.i.i.i434 ], [ %vt.sroa.0.0, %if.then.i.i.i398 ], [ %vt.sroa.0.4, %if.then.i.i.i513 ], [ %vt.sroa.0.0, %if.then875 ], [ %vt.sroa.0.0, %if.then901 ], [ %vt.sroa.0.0, %if.then927 ], [ %vt.sroa.0.0, %if.end946 ], [ %vt.sroa.0.0, %if.then.i1176 ], [ %vt.sroa.0.0, %if.else.i1179 ], [ %vt.sroa.0.0, %if.then963 ], [ %vt.sroa.0.0, %if.then.i.i.i.invoke ] + %vn.sroa.0.1.ph1498 = phi ptr [ %vn.sroa.0.0, %if.then.i.i.i325 ], [ %vn.sroa.0.0, %if.then.i.i.i289 ], [ %vn.sroa.0.5, %if.then.i.i.i434 ], [ %vn.sroa.0.4, %if.then.i.i.i398 ], [ %vn.sroa.0.0, %if.then.i.i.i513 ], [ %vn.sroa.0.0, %if.then875 ], [ %vn.sroa.0.0, %if.then901 ], [ %vn.sroa.0.0, %if.then927 ], [ %vn.sroa.0.0, %if.end946 ], [ %vn.sroa.0.0, %if.then.i1176 ], [ %vn.sroa.0.0, %if.else.i1179 ], [ %vn.sroa.0.0, %if.then963 ], [ %vn.sroa.0.0, %if.then.i.i.i.invoke ] + %lpad.loopexit.split-lp1500 = landingpad { ptr, i32 } cleanup br label %ehcleanup972 @@ -4555,7 +4555,7 @@ if.then18: ; preds = %if.end15 %call19 = call noundef i64 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(32) %linebuf) #26 %sub20 = add i64 %call19, -1 %call22 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %linebuf, i64 noundef %sub20) - to label %invoke.cont21 unwind label %lpad.loopexit1493 + to label %invoke.cont21 unwind label %lpad.loopexit1494 invoke.cont21: ; preds = %if.then18 %3 = load i8, ptr %call22, align 1 @@ -4566,7 +4566,7 @@ if.then25: ; preds = %invoke.cont21 %call26 = call noundef i64 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(32) %linebuf) #26 %sub27 = add i64 %call26, -1 %call29 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5eraseEmm(ptr noundef nonnull align 8 dereferenceable(32) %linebuf, i64 noundef %sub27, i64 noundef -1) - to label %if.end31 unwind label %lpad.loopexit1493 + to label %if.end31 unwind label %lpad.loopexit1494 if.end31: ; preds = %invoke.cont21, %if.then25, %if.end15 %call32 = call noundef zeroext i1 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5emptyEv(ptr noundef nonnull align 8 dereferenceable(32) %linebuf) #26 @@ -4624,7 +4624,7 @@ if.else.i: ; preds = %if.then55 if.then.i.i.i.invoke: ; preds = %if.else.i451, %if.else.i336, %if.else.i227, %if.else.i191, %if.else.i155, %if.else.i invoke void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.84) #28 - to label %if.then.i.i.i.cont unwind label %lpad.loopexit.split-lp1494 + to label %if.then.i.i.i.cont unwind label %lpad.loopexit.split-lp1495 if.then.i.i.i.cont: ; preds = %if.then.i.i.i.invoke unreachable @@ -4642,7 +4642,7 @@ _ZNKSt6vectorIfSaIfEE12_M_check_lenEmPKc.exit.i.i: ; preds = %if.else.i cond.true.i.i.i: ; preds = %_ZNKSt6vectorIfSaIfEE12_M_check_lenEmPKc.exit.i.i %mul.i.i.i.i.i = shl nuw nsw i64 %cond.i.i.i, 2 %call5.i.i.i.i.i149 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i) #30 - to label %_ZNSt12_Vector_baseIfSaIfEE11_M_allocateEm.exit.i.i unwind label %lpad.loopexit1493 + to label %_ZNSt12_Vector_baseIfSaIfEE11_M_allocateEm.exit.i.i unwind label %lpad.loopexit1494 _ZNSt12_Vector_baseIfSaIfEE11_M_allocateEm.exit.i.i: ; preds = %cond.true.i.i.i, %_ZNKSt6vectorIfSaIfEE12_M_check_lenEmPKc.exit.i.i %cond.i10.i.i = phi ptr [ null, %_ZNKSt6vectorIfSaIfEE12_M_check_lenEmPKc.exit.i.i ], [ %call5.i.i.i.i.i149, %cond.true.i.i.i ] @@ -4707,7 +4707,7 @@ _ZNKSt6vectorIfSaIfEE12_M_check_lenEmPKc.exit.i.i160: ; preds = %if.else.i155 cond.true.i.i.i167: ; preds = %_ZNKSt6vectorIfSaIfEE12_M_check_lenEmPKc.exit.i.i160 %mul.i.i.i.i.i168 = shl nuw nsw i64 %cond.i.i.i165, 2 %call5.i.i.i.i.i184 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i168) #30 - to label %_ZNSt12_Vector_baseIfSaIfEE11_M_allocateEm.exit.i.i169 unwind label %lpad.loopexit1493 + to label %_ZNSt12_Vector_baseIfSaIfEE11_M_allocateEm.exit.i.i169 unwind label %lpad.loopexit1494 _ZNSt12_Vector_baseIfSaIfEE11_M_allocateEm.exit.i.i169: ; preds = %cond.true.i.i.i167, %_ZNKSt6vectorIfSaIfEE12_M_check_lenEmPKc.exit.i.i160 %cond.i10.i.i170 = phi ptr [ null, %_ZNKSt6vectorIfSaIfEE12_M_check_lenEmPKc.exit.i.i160 ], [ %call5.i.i.i.i.i184, %cond.true.i.i.i167 ] @@ -4772,7 +4772,7 @@ _ZNKSt6vectorIfSaIfEE12_M_check_lenEmPKc.exit.i.i196: ; preds = %if.else.i191 cond.true.i.i.i203: ; preds = %_ZNKSt6vectorIfSaIfEE12_M_check_lenEmPKc.exit.i.i196 %mul.i.i.i.i.i204 = shl nuw nsw i64 %cond.i.i.i201, 2 %call5.i.i.i.i.i220 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i204) #30 - to label %_ZNSt12_Vector_baseIfSaIfEE11_M_allocateEm.exit.i.i205 unwind label %lpad.loopexit1493 + to label %_ZNSt12_Vector_baseIfSaIfEE11_M_allocateEm.exit.i.i205 unwind label %lpad.loopexit1494 _ZNSt12_Vector_baseIfSaIfEE11_M_allocateEm.exit.i.i205: ; preds = %cond.true.i.i.i203, %_ZNKSt6vectorIfSaIfEE12_M_check_lenEmPKc.exit.i.i196 %cond.i10.i.i206 = phi ptr [ null, %_ZNKSt6vectorIfSaIfEE12_M_check_lenEmPKc.exit.i.i196 ], [ %call5.i.i.i.i.i220, %cond.true.i.i.i203 ] @@ -4836,7 +4836,7 @@ _ZNKSt6vectorIfSaIfEE12_M_check_lenEmPKc.exit.i.i232: ; preds = %if.else.i227 cond.true.i.i.i239: ; preds = %_ZNKSt6vectorIfSaIfEE12_M_check_lenEmPKc.exit.i.i232 %mul.i.i.i.i.i240 = shl nuw nsw i64 %cond.i.i.i237, 2 %call5.i.i.i.i.i256 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i240) #30 - to label %_ZNSt12_Vector_baseIfSaIfEE11_M_allocateEm.exit.i.i241 unwind label %lpad.loopexit1493 + to label %_ZNSt12_Vector_baseIfSaIfEE11_M_allocateEm.exit.i.i241 unwind label %lpad.loopexit1494 _ZNSt12_Vector_baseIfSaIfEE11_M_allocateEm.exit.i.i241: ; preds = %cond.true.i.i.i239, %_ZNKSt6vectorIfSaIfEE12_M_check_lenEmPKc.exit.i.i232 %cond.i10.i.i242 = phi ptr [ null, %_ZNKSt6vectorIfSaIfEE12_M_check_lenEmPKc.exit.i.i232 ], [ %call5.i.i.i.i.i256, %cond.true.i.i.i239 ] @@ -4886,7 +4886,7 @@ if.else.i263: ; preds = %invoke.cont70 if.then.i.i.i289: ; preds = %if.else.i263 invoke void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.84) #28 - to label %.noexc290 unwind label %lpad.loopexit.split-lp1494 + to label %.noexc290 unwind label %lpad.loopexit.split-lp1495 .noexc290: ; preds = %if.then.i.i.i289 unreachable @@ -4904,7 +4904,7 @@ _ZNKSt6vectorIfSaIfEE12_M_check_lenEmPKc.exit.i.i268: ; preds = %if.else.i263 cond.true.i.i.i275: ; preds = %_ZNKSt6vectorIfSaIfEE12_M_check_lenEmPKc.exit.i.i268 %mul.i.i.i.i.i276 = shl nuw nsw i64 %cond.i.i.i273, 2 %call5.i.i.i.i.i292 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i276) #30 - to label %_ZNSt12_Vector_baseIfSaIfEE11_M_allocateEm.exit.i.i277 unwind label %lpad.loopexit1493 + to label %_ZNSt12_Vector_baseIfSaIfEE11_M_allocateEm.exit.i.i277 unwind label %lpad.loopexit1494 _ZNSt12_Vector_baseIfSaIfEE11_M_allocateEm.exit.i.i277: ; preds = %cond.true.i.i.i275, %_ZNKSt6vectorIfSaIfEE12_M_check_lenEmPKc.exit.i.i268 %cond.i10.i.i278 = phi ptr [ null, %_ZNKSt6vectorIfSaIfEE12_M_check_lenEmPKc.exit.i.i268 ], [ %call5.i.i.i.i.i292, %cond.true.i.i.i275 ] @@ -4954,7 +4954,7 @@ if.else.i299: ; preds = %invoke.cont71 if.then.i.i.i325: ; preds = %if.else.i299 invoke void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.84) #28 - to label %.noexc326 unwind label %lpad.loopexit.split-lp1494 + to label %.noexc326 unwind label %lpad.loopexit.split-lp1495 .noexc326: ; preds = %if.then.i.i.i325 unreachable @@ -4972,7 +4972,7 @@ _ZNKSt6vectorIfSaIfEE12_M_check_lenEmPKc.exit.i.i304: ; preds = %if.else.i299 cond.true.i.i.i311: ; preds = %_ZNKSt6vectorIfSaIfEE12_M_check_lenEmPKc.exit.i.i304 %mul.i.i.i.i.i312 = shl nuw nsw i64 %cond.i.i.i309, 2 %call5.i.i.i.i.i328 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i312) #30 - to label %_ZNSt12_Vector_baseIfSaIfEE11_M_allocateEm.exit.i.i313 unwind label %lpad.loopexit1493 + to label %_ZNSt12_Vector_baseIfSaIfEE11_M_allocateEm.exit.i.i313 unwind label %lpad.loopexit1494 _ZNSt12_Vector_baseIfSaIfEE11_M_allocateEm.exit.i.i313: ; preds = %cond.true.i.i.i311, %_ZNKSt6vectorIfSaIfEE12_M_check_lenEmPKc.exit.i.i304 %cond.i10.i.i314 = phi ptr [ null, %_ZNKSt6vectorIfSaIfEE12_M_check_lenEmPKc.exit.i.i304 ], [ %call5.i.i.i.i.i328, %cond.true.i.i.i311 ] @@ -5069,7 +5069,7 @@ _ZNKSt6vectorIfSaIfEE12_M_check_lenEmPKc.exit.i.i341: ; preds = %if.else.i336 cond.true.i.i.i348: ; preds = %_ZNKSt6vectorIfSaIfEE12_M_check_lenEmPKc.exit.i.i341 %mul.i.i.i.i.i349 = shl nuw nsw i64 %cond.i.i.i346, 2 %call5.i.i.i.i.i365 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i349) #30 - to label %_ZNSt12_Vector_baseIfSaIfEE11_M_allocateEm.exit.i.i350 unwind label %lpad.loopexit1493 + to label %_ZNSt12_Vector_baseIfSaIfEE11_M_allocateEm.exit.i.i350 unwind label %lpad.loopexit1494 _ZNSt12_Vector_baseIfSaIfEE11_M_allocateEm.exit.i.i350: ; preds = %cond.true.i.i.i348, %_ZNKSt6vectorIfSaIfEE12_M_check_lenEmPKc.exit.i.i341 %cond.i10.i.i351 = phi ptr [ null, %_ZNKSt6vectorIfSaIfEE12_M_check_lenEmPKc.exit.i.i341 ], [ %call5.i.i.i.i.i365, %cond.true.i.i.i348 ] @@ -5117,7 +5117,7 @@ if.else.i372: ; preds = %invoke.cont96 if.then.i.i.i398: ; preds = %if.else.i372 invoke void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.84) #28 - to label %.noexc399 unwind label %lpad.loopexit.split-lp1494 + to label %.noexc399 unwind label %lpad.loopexit.split-lp1495 .noexc399: ; preds = %if.then.i.i.i398 unreachable @@ -5135,7 +5135,7 @@ _ZNKSt6vectorIfSaIfEE12_M_check_lenEmPKc.exit.i.i377: ; preds = %if.else.i372 cond.true.i.i.i384: ; preds = %_ZNKSt6vectorIfSaIfEE12_M_check_lenEmPKc.exit.i.i377 %mul.i.i.i.i.i385 = shl nuw nsw i64 %cond.i.i.i382, 2 %call5.i.i.i.i.i401 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i385) #30 - to label %_ZNSt12_Vector_baseIfSaIfEE11_M_allocateEm.exit.i.i386 unwind label %lpad.loopexit1493 + to label %_ZNSt12_Vector_baseIfSaIfEE11_M_allocateEm.exit.i.i386 unwind label %lpad.loopexit1494 _ZNSt12_Vector_baseIfSaIfEE11_M_allocateEm.exit.i.i386: ; preds = %cond.true.i.i.i384, %_ZNKSt6vectorIfSaIfEE12_M_check_lenEmPKc.exit.i.i377 %cond.i10.i.i387 = phi ptr [ null, %_ZNKSt6vectorIfSaIfEE12_M_check_lenEmPKc.exit.i.i377 ], [ %call5.i.i.i.i.i401, %cond.true.i.i.i384 ] @@ -5182,7 +5182,7 @@ if.else.i408: ; preds = %invoke.cont97 if.then.i.i.i434: ; preds = %if.else.i408 invoke void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.84) #28 - to label %.noexc435 unwind label %lpad.loopexit.split-lp1494 + to label %.noexc435 unwind label %lpad.loopexit.split-lp1495 .noexc435: ; preds = %if.then.i.i.i434 unreachable @@ -5200,7 +5200,7 @@ _ZNKSt6vectorIfSaIfEE12_M_check_lenEmPKc.exit.i.i413: ; preds = %if.else.i408 cond.true.i.i.i420: ; preds = %_ZNKSt6vectorIfSaIfEE12_M_check_lenEmPKc.exit.i.i413 %mul.i.i.i.i.i421 = shl nuw nsw i64 %cond.i.i.i418, 2 %call5.i.i.i.i.i437 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i421) #30 - to label %_ZNSt12_Vector_baseIfSaIfEE11_M_allocateEm.exit.i.i422 unwind label %lpad.loopexit1493 + to label %_ZNSt12_Vector_baseIfSaIfEE11_M_allocateEm.exit.i.i422 unwind label %lpad.loopexit1494 _ZNSt12_Vector_baseIfSaIfEE11_M_allocateEm.exit.i.i422: ; preds = %cond.true.i.i.i420, %_ZNKSt6vectorIfSaIfEE12_M_check_lenEmPKc.exit.i.i413 %cond.i10.i.i423 = phi ptr [ null, %_ZNKSt6vectorIfSaIfEE12_M_check_lenEmPKc.exit.i.i413 ], [ %call5.i.i.i.i.i437, %cond.true.i.i.i420 ] @@ -5291,7 +5291,7 @@ _ZNKSt6vectorIfSaIfEE12_M_check_lenEmPKc.exit.i.i456: ; preds = %if.else.i451 cond.true.i.i.i463: ; preds = %_ZNKSt6vectorIfSaIfEE12_M_check_lenEmPKc.exit.i.i456 %mul.i.i.i.i.i464 = shl nuw nsw i64 %cond.i.i.i461, 2 %call5.i.i.i.i.i480 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i464) #30 - to label %_ZNSt12_Vector_baseIfSaIfEE11_M_allocateEm.exit.i.i465 unwind label %lpad.loopexit1493 + to label %_ZNSt12_Vector_baseIfSaIfEE11_M_allocateEm.exit.i.i465 unwind label %lpad.loopexit1494 _ZNSt12_Vector_baseIfSaIfEE11_M_allocateEm.exit.i.i465: ; preds = %cond.true.i.i.i463, %_ZNKSt6vectorIfSaIfEE12_M_check_lenEmPKc.exit.i.i456 %cond.i10.i.i466 = phi ptr [ null, %_ZNKSt6vectorIfSaIfEE12_M_check_lenEmPKc.exit.i.i456 ], [ %call5.i.i.i.i.i480, %cond.true.i.i.i463 ] @@ -5339,7 +5339,7 @@ if.else.i487: ; preds = %invoke.cont120 if.then.i.i.i513: ; preds = %if.else.i487 invoke void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.84) #28 - to label %.noexc514 unwind label %lpad.loopexit.split-lp1494 + to label %.noexc514 unwind label %lpad.loopexit.split-lp1495 .noexc514: ; preds = %if.then.i.i.i513 unreachable @@ -5357,7 +5357,7 @@ _ZNKSt6vectorIfSaIfEE12_M_check_lenEmPKc.exit.i.i492: ; preds = %if.else.i487 cond.true.i.i.i499: ; preds = %_ZNKSt6vectorIfSaIfEE12_M_check_lenEmPKc.exit.i.i492 %mul.i.i.i.i.i500 = shl nuw nsw i64 %cond.i.i.i497, 2 %call5.i.i.i.i.i516 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i500) #30 - to label %_ZNSt12_Vector_baseIfSaIfEE11_M_allocateEm.exit.i.i501 unwind label %lpad.loopexit1493 + to label %_ZNSt12_Vector_baseIfSaIfEE11_M_allocateEm.exit.i.i501 unwind label %lpad.loopexit1494 _ZNSt12_Vector_baseIfSaIfEE11_M_allocateEm.exit.i.i501: ; preds = %cond.true.i.i.i499, %_ZNKSt6vectorIfSaIfEE12_M_check_lenEmPKc.exit.i.i492 %cond.i10.i.i502 = phi ptr [ null, %_ZNKSt6vectorIfSaIfEE12_M_check_lenEmPKc.exit.i.i492 ], [ %call5.i.i.i.i.i516, %cond.true.i.i.i499 ] @@ -5405,8 +5405,8 @@ if.then138: ; preds = %land.lhs.true130, % br label %while.cond142 while.cond142: ; preds = %invoke.cont176, %if.then138 - %add.ptr2.i6.i5292807 = phi ptr [ %add.ptr178, %invoke.cont176 ], [ %add.ptr3.i, %if.then138 ] - %46 = load i8, ptr %add.ptr2.i6.i5292807, align 1 + %add.ptr2.i6.i5292808 = phi ptr [ %add.ptr178, %invoke.cont176 ], [ %add.ptr3.i, %if.then138 ] + %46 = load i8, ptr %add.ptr2.i6.i5292808, align 1 switch i8 %46, label %invoke.cont155 [ i8 13, label %while.end i8 10, label %while.end @@ -5415,8 +5415,8 @@ while.cond142: ; preds = %invoke.cont176, %if invoke.cont155: ; preds = %while.cond142 call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %val.i.i519) - %call.i.i520 = call i64 @strspn(ptr noundef nonnull %add.ptr2.i6.i5292807, ptr noundef nonnull @.str) #27 - %add.ptr.i.i521 = getelementptr inbounds i8, ptr %add.ptr2.i6.i5292807, i64 %call.i.i520 + %call.i.i520 = call i64 @strspn(ptr noundef nonnull %add.ptr2.i6.i5292808, ptr noundef nonnull @.str) #27 + %add.ptr.i.i521 = getelementptr inbounds i8, ptr %add.ptr2.i6.i5292808, i64 %call.i.i520 %call1.i.i522 = call i64 @strcspn(ptr noundef nonnull %add.ptr.i.i521, ptr noundef nonnull @.str.12) #27 %add.ptr2.i.i523 = getelementptr inbounds i8, ptr %add.ptr.i.i521, i64 %call1.i.i522 store double -1.000000e+00, ptr %val.i.i519, align 8 @@ -5471,18 +5471,18 @@ invoke.cont171: ; preds = %invoke.cont169 br label %cleanup lpad154.loopexit: ; preds = %cond.true.i.i.i548 - %lpad.loopexit1490 = landingpad { ptr, i32 } + %lpad.loopexit1491 = landingpad { ptr, i32 } cleanup store ptr %add.ptr2.i6.i529, ptr %token, align 8 br label %ehcleanup180 lpad154.loopexit.split-lp.loopexit: ; preds = %if.else.i568, %_ZNSt16allocator_traitsISaIN7tinyobj18joint_and_weight_tEEE8allocateERS2_m.exit.i.i.i.i.i.i.i.i, %if.then159 - %lpad.loopexit1501 = landingpad { ptr, i32 } + %lpad.loopexit1502 = landingpad { ptr, i32 } cleanup br label %ehcleanup180 lpad154.loopexit.split-lp.loopexit.split-lp: ; preds = %if.then3.i.i.i.i.i.i.i.i.i.i, %if.then.i.i.i559 - %lpad.loopexit.split-lp1502 = landingpad { ptr, i32 } + %lpad.loopexit.split-lp1503 = landingpad { ptr, i32 } cleanup br label %ehcleanup180 @@ -5585,7 +5585,7 @@ invoke.cont176: ; preds = %_ZNSt6vectorIN7tiny br label %while.cond142, !llvm.loop !16 while.end: ; preds = %while.cond142, %while.cond142, %while.cond142 - store ptr %add.ptr2.i6.i5292807, ptr %token, align 8 + store ptr %add.ptr2.i6.i5292808, ptr %token, align 8 %56 = load ptr, ptr %_M_finish.i563, align 8 %57 = load ptr, ptr %_M_end_of_storage.i564, align 8 %cmp.not.i565 = icmp eq ptr %56, %57 @@ -5653,7 +5653,7 @@ if.else.i568: ; preds = %while.end to label %cleanup unwind label %lpad154.loopexit.split-lp.loopexit cleanup: ; preds = %_ZNSt16allocator_traitsISaIN7tinyobj13skin_weight_tEEE9constructIS1_JRKS1_EEEvRS2_PT_DpOT0_.exit.i, %if.else.i568, %if.then157, %invoke.cont171 - %64 = phi ptr [ %add.ptr2.i6.i529, %if.then157 ], [ %add.ptr2.i6.i529, %invoke.cont171 ], [ %add.ptr2.i6.i5292807, %if.else.i568 ], [ %add.ptr2.i6.i5292807, %_ZNSt16allocator_traitsISaIN7tinyobj13skin_weight_tEEE9constructIS1_JRKS1_EEEvRS2_PT_DpOT0_.exit.i ] + %64 = phi ptr [ %add.ptr2.i6.i529, %if.then157 ], [ %add.ptr2.i6.i529, %invoke.cont171 ], [ %add.ptr2.i6.i5292808, %if.else.i568 ], [ %add.ptr2.i6.i5292808, %_ZNSt16allocator_traitsISaIN7tinyobj13skin_weight_tEEE9constructIS1_JRKS1_EEEvRS2_PT_DpOT0_.exit.i ] %lnot1445 = phi i1 [ true, %if.then157 ], [ true, %invoke.cont171 ], [ false, %if.else.i568 ], [ false, %_ZNSt16allocator_traitsISaIN7tinyobj13skin_weight_tEEE9constructIS1_JRKS1_EEEvRS2_PT_DpOT0_.exit.i ] %65 = load ptr, ptr %weightValues.i, align 8 %tobool.not.i.i.i.i = icmp eq ptr %65, null @@ -5667,7 +5667,7 @@ _ZN7tinyobj13skin_weight_tD2Ev.exit: ; preds = %cleanup, %if.then.i br i1 %lnot1445, label %cleanup971, label %if.end181 ehcleanup180: ; preds = %lpad154.loopexit, %lpad154.loopexit.split-lp.loopexit.split-lp, %lpad154.loopexit.split-lp.loopexit, %ehcleanup - %.pn98.pn = phi { ptr, i32 } [ %.pn98, %ehcleanup ], [ %lpad.loopexit1490, %lpad154.loopexit ], [ %lpad.loopexit1501, %lpad154.loopexit.split-lp.loopexit ], [ %lpad.loopexit.split-lp1502, %lpad154.loopexit.split-lp.loopexit.split-lp ] + %.pn98.pn = phi { ptr, i32 } [ %.pn98, %ehcleanup ], [ %lpad.loopexit1491, %lpad154.loopexit ], [ %lpad.loopexit1502, %lpad154.loopexit.split-lp.loopexit ], [ %lpad.loopexit.split-lp1503, %lpad154.loopexit.split-lp.loopexit.split-lp ] %66 = load ptr, ptr %weightValues.i, align 8 %tobool.not.i.i.i.i574 = icmp eq ptr %66, null br i1 %tobool.not.i.i.i.i574, label %ehcleanup972, label %if.then.i.i.i.i575 @@ -5785,17 +5785,17 @@ invoke.cont235: ; preds = %invoke.cont233 br label %cleanup248 lpad211.loopexit: ; preds = %while.body210, %cond.true.i.i.i611 - %lpad.loopexit1481 = landingpad { ptr, i32 } + %lpad.loopexit1482 = landingpad { ptr, i32 } cleanup br label %ehcleanup250 lpad211.loopexit.split-lp.loopexit: ; preds = %if.else.i641, %_ZNSt16allocator_traitsISaIN7tinyobj14vertex_index_tEEE8allocateERS2_m.exit.i.i.i.i.i.i.i.i, %if.then225 - %lpad.loopexit1510 = landingpad { ptr, i32 } + %lpad.loopexit1511 = landingpad { ptr, i32 } cleanup br label %ehcleanup250 lpad211.loopexit.split-lp.loopexit.split-lp: ; preds = %if.then3.i.i.i.i.i.i.i.i.i.i640, %if.then.i.i.i618 - %lpad.loopexit.split-lp1511 = landingpad { ptr, i32 } + %lpad.loopexit.split-lp1512 = landingpad { ptr, i32 } cleanup br label %ehcleanup250 @@ -5988,7 +5988,7 @@ _ZN7tinyobj8__line_tD2Ev.exit: ; preds = %cleanup248, %if.the br i1 %lnot2091448, label %cleanup971, label %while.cond.backedge ehcleanup250: ; preds = %lpad211.loopexit, %lpad211.loopexit.split-lp.loopexit.split-lp, %lpad211.loopexit.split-lp.loopexit, %lpad.i, %ehcleanup239 - %.pn134 = phi { ptr, i32 } [ %.pn131.pn, %ehcleanup239 ], [ %75, %lpad.i ], [ %lpad.loopexit1481, %lpad211.loopexit ], [ %lpad.loopexit1510, %lpad211.loopexit.split-lp.loopexit ], [ %lpad.loopexit.split-lp1511, %lpad211.loopexit.split-lp.loopexit.split-lp ] + %.pn134 = phi { ptr, i32 } [ %.pn131.pn, %ehcleanup239 ], [ %75, %lpad.i ], [ %lpad.loopexit1482, %lpad211.loopexit ], [ %lpad.loopexit1511, %lpad211.loopexit.split-lp.loopexit ], [ %lpad.loopexit.split-lp1512, %lpad211.loopexit.split-lp.loopexit.split-lp ] %93 = load ptr, ptr %line, align 8 %tobool.not.i.i.i.i648 = icmp eq ptr %93, null br i1 %tobool.not.i.i.i.i648, label %ehcleanup972, label %if.then.i.i.i.i649 @@ -6095,17 +6095,17 @@ invoke.cont306: ; preds = %invoke.cont304 br label %cleanup320 lpad281.loopexit: ; preds = %while.body279, %cond.true.i.i.i699 - %lpad.loopexit1484 = landingpad { ptr, i32 } + %lpad.loopexit1485 = landingpad { ptr, i32 } cleanup br label %ehcleanup322 lpad281.loopexit.split-lp.loopexit: ; preds = %if.else.i751, %_ZNSt16allocator_traitsISaIN7tinyobj14vertex_index_tEEE8allocateERS2_m.exit.i.i.i.i.i.i.i.i735, %if.then296 - %lpad.loopexit1507 = landingpad { ptr, i32 } + %lpad.loopexit1508 = landingpad { ptr, i32 } cleanup br label %ehcleanup322 lpad281.loopexit.split-lp.loopexit.split-lp: ; preds = %if.then3.i.i.i.i.i.i.i.i.i.i750, %if.then.i.i.i718 - %lpad.loopexit.split-lp1508 = landingpad { ptr, i32 } + %lpad.loopexit.split-lp1509 = landingpad { ptr, i32 } cleanup br label %ehcleanup322 @@ -6298,7 +6298,7 @@ _ZN7tinyobj10__points_tD2Ev.exit: ; preds = %cleanup320, %if.the br i1 %lnot2781452, label %cleanup971, label %while.cond.backedge ehcleanup322: ; preds = %lpad281.loopexit, %lpad281.loopexit.split-lp.loopexit.split-lp, %lpad281.loopexit.split-lp.loopexit, %lpad.i671, %ehcleanup310 - %.pn128 = phi { ptr, i32 } [ %.pn125.pn, %ehcleanup310 ], [ %100, %lpad.i671 ], [ %lpad.loopexit1484, %lpad281.loopexit ], [ %lpad.loopexit1507, %lpad281.loopexit.split-lp.loopexit ], [ %lpad.loopexit.split-lp1508, %lpad281.loopexit.split-lp.loopexit.split-lp ] + %.pn128 = phi { ptr, i32 } [ %.pn125.pn, %ehcleanup310 ], [ %100, %lpad.i671 ], [ %lpad.loopexit1485, %lpad281.loopexit ], [ %lpad.loopexit1508, %lpad281.loopexit.split-lp.loopexit ], [ %lpad.loopexit.split-lp1509, %lpad281.loopexit.split-lp.loopexit.split-lp ] %118 = load ptr, ptr %pts, align 8 %tobool.not.i.i.i.i758 = icmp eq ptr %118, null br i1 %tobool.not.i.i.i.i758, label %ehcleanup972, label %if.then.i.i.i.i759 @@ -6419,17 +6419,17 @@ invoke.cont383: ; preds = %invoke.cont381 br label %cleanup411 lpad341.loopexit: ; preds = %while.body357, %cond.true.i.i.i811 - %lpad.loopexit1487 = landingpad { ptr, i32 } + %lpad.loopexit1488 = landingpad { ptr, i32 } cleanup br label %ehcleanup413 lpad341.loopexit.split-lp.loopexit: ; preds = %if.else.i863, %_ZNSt16allocator_traitsISaIN7tinyobj14vertex_index_tEEE8allocateERS2_m.exit.i.i.i.i.i.i.i.i847, %if.then373, %_ZNSt12_Vector_baseIN7tinyobj14vertex_index_tESaIS1_EE11_M_allocateEm.exit.i - %lpad.loopexit1504 = landingpad { ptr, i32 } + %lpad.loopexit1505 = landingpad { ptr, i32 } cleanup br label %ehcleanup413 lpad341.loopexit.split-lp.loopexit.split-lp: ; preds = %if.then3.i.i.i.i.i.i.i.i.i.i862, %if.then.i.i.i830 - %lpad.loopexit.split-lp1505 = landingpad { ptr, i32 } + %lpad.loopexit.split-lp1506 = landingpad { ptr, i32 } cleanup br label %ehcleanup413 @@ -6631,7 +6631,7 @@ _ZN7tinyobj6face_tD2Ev.exit: ; preds = %cleanup411, %if.the br i1 %lnot3561456, label %cleanup971, label %while.cond.backedge ehcleanup413: ; preds = %lpad341.loopexit, %lpad341.loopexit.split-lp.loopexit.split-lp, %lpad341.loopexit.split-lp.loopexit, %lpad.i783, %ehcleanup387 - %.pn122 = phi { ptr, i32 } [ %.pn119.pn, %ehcleanup387 ], [ %124, %lpad.i783 ], [ %lpad.loopexit1487, %lpad341.loopexit ], [ %lpad.loopexit1504, %lpad341.loopexit.split-lp.loopexit ], [ %lpad.loopexit.split-lp1505, %lpad341.loopexit.split-lp.loopexit.split-lp ] + %.pn122 = phi { ptr, i32 } [ %.pn119.pn, %ehcleanup387 ], [ %124, %lpad.i783 ], [ %lpad.loopexit1488, %lpad341.loopexit ], [ %lpad.loopexit1505, %lpad341.loopexit.split-lp.loopexit ], [ %lpad.loopexit.split-lp1506, %lpad341.loopexit.split-lp.loopexit.split-lp ] %146 = load ptr, ptr %vertex_indices340, align 8 %tobool.not.i.i.i.i871 = icmp eq ptr %146, null br i1 %tobool.not.i.i.i.i871, label %ehcleanup972, label %if.then.i.i.i.i872 @@ -6649,7 +6649,7 @@ if.then417: ; preds = %if.end414 %add.ptr418 = getelementptr inbounds i8, ptr %67, i64 6 store ptr %add.ptr418, ptr %token, align 8 invoke fastcc void @_ZN7tinyobjL11parseStringB5cxx11EPPKc(ptr noalias align 8 %namebuf, ptr noundef %token) - to label %invoke.cont419 unwind label %lpad.loopexit1493 + to label %invoke.cont419 unwind label %lpad.loopexit1494 invoke.cont419: ; preds = %if.then417 %147 = load ptr, ptr %_M_parent.i.i.i.i.i145, align 8 @@ -6915,9 +6915,9 @@ ehcleanup498: ; preds = %lpad494, %lpad485 for.body: ; preds = %invoke.cont474, %for.inc %168 = phi ptr [ %181, %for.inc ], [ %161, %invoke.cont474 ] - %s.02816 = phi i64 [ %inc548, %for.inc ], [ 0, %invoke.cont474 ] - %found.02815 = phi i1 [ %found.2, %for.inc ], [ false, %invoke.cont474 ] - %add.ptr.i902 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %168, i64 %s.02816 + %s.02817 = phi i64 [ %inc548, %for.inc ], [ 0, %invoke.cont474 ] + %found.02816 = phi i1 [ %found.2, %for.inc ], [ false, %invoke.cont474 ] + %add.ptr.i902 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %168, i64 %s.02817 %169 = load ptr, ptr %_M_parent.i.i.i.i.i, align 8 %cmp.not6.i.i.i904 = icmp eq ptr %169, null br i1 %cmp.not6.i.i.i904, label %if.end508, label %while.body.i.i.i905 @@ -6970,7 +6970,7 @@ if.end508: ; preds = %for.body, %_ZNKSt8_ call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(32) %warn_mtl) #26 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(32) %err_mtl) #26 %174 = load ptr, ptr %filenames, align 8 - %add.ptr.i928 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %174, i64 %s.02816 + %add.ptr.i928 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %174, i64 %s.02817 %call511 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %add.ptr.i928) #26 call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp512) #26 %call.i929937 = invoke noundef ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_M_local_dataEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp509) @@ -6992,17 +6992,17 @@ invoke.cont.i936: ; preds = %if.then.i935 unreachable lpad.i934.loopexit: ; preds = %if.end.i931 - %lpad.loopexit1478 = landingpad { ptr, i32 } + %lpad.loopexit1479 = landingpad { ptr, i32 } cleanup br label %lpad.i934 lpad.i934.loopexit.split-lp: ; preds = %if.then.i935 - %lpad.loopexit.split-lp1479 = landingpad { ptr, i32 } + %lpad.loopexit.split-lp1480 = landingpad { ptr, i32 } cleanup br label %lpad.i934 lpad.i934: ; preds = %lpad.i934.loopexit.split-lp, %lpad.i934.loopexit - %lpad.phi1480 = phi { ptr, i32 } [ %lpad.loopexit1478, %lpad.i934.loopexit ], [ %lpad.loopexit.split-lp1479, %lpad.i934.loopexit.split-lp ] + %lpad.phi1481 = phi { ptr, i32 } [ %lpad.loopexit1479, %lpad.i934.loopexit ], [ %lpad.loopexit.split-lp1480, %lpad.i934.loopexit.split-lp ] call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp509) #26 br label %ehcleanup519 @@ -7044,7 +7044,7 @@ lpad515: ; preds = %invoke.cont514 br label %ehcleanup519 ehcleanup519: ; preds = %lpad513, %lpad.i934, %lpad515 - %.pn107 = phi { ptr, i32 } [ %177, %lpad515 ], [ %176, %lpad513 ], [ %lpad.phi1480, %lpad.i934 ] + %.pn107 = phi { ptr, i32 } [ %177, %lpad515 ], [ %176, %lpad513 ], [ %lpad.phi1481, %lpad.i934 ] call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp512) #26 br label %ehcleanup543 @@ -7069,19 +7069,19 @@ if.end535: ; preds = %if.then532, %land.l if.then537: ; preds = %if.end535 %179 = load ptr, ptr %filenames, align 8 - %add.ptr.i941 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %179, i64 %s.02816 + %add.ptr.i941 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %179, i64 %s.02817 %call.i942943 = invoke { ptr, i8 } @_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_St9_IdentityIS5_ESt4lessIS5_ESaIS5_EE16_M_insert_uniqueIRKS5_EESt4pairISt17_Rb_tree_iteratorIS5_EbEOT_(ptr noundef nonnull align 8 dereferenceable(48) %material_filenames, ptr noundef nonnull align 8 dereferenceable(32) %add.ptr.i941) to label %cleanup542 unwind label %lpad525 cleanup542: ; preds = %if.then537, %if.end535 - %found.3 = phi i1 [ %found.02815, %if.end535 ], [ true, %if.then537 ] + %found.3 = phi i1 [ %found.02816, %if.end535 ], [ true, %if.then537 ] call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %err_mtl) #26 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %warn_mtl) #26 br i1 %call517, label %for.end, label %for.inc for.inc: ; preds = %cleanup542, %invoke.cont504 %found.2 = phi i1 [ %found.3, %cleanup542 ], [ true, %invoke.cont504 ] - %inc548 = add nuw i64 %s.02816, 1 + %inc548 = add nuw i64 %s.02817, 1 %180 = load ptr, ptr %_M_finish.i.i896, align 8 %181 = load ptr, ptr %filenames, align 8 %sub.ptr.lhs.cast.i898 = ptrtoint ptr %180 to i64 @@ -7155,7 +7155,7 @@ land.lhs.true564: ; preds = %if.end560 if.then572: ; preds = %land.lhs.true564, %land.lhs.true564 %call575 = invoke fastcc noundef zeroext i1 @_ZN7tinyobjL19exportGroupsToShapeEPNS_7shape_tERKNS_9PrimGroupERKSt6vectorINS_5tag_tESaIS6_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEbRKS5_IfSaIfEEPSG_(ptr noundef %shape, ptr noundef nonnull align 8 dereferenceable(72) %prim_group, ptr noundef nonnull align 8 dereferenceable(24) %tags, i32 noundef %material.0, ptr noundef nonnull align 8 dereferenceable(32) %name, i1 noundef zeroext %triangulate, ptr noundef nonnull align 8 dereferenceable(24) %v, ptr noundef %warn) - to label %invoke.cont574 unwind label %lpad.loopexit1493 + to label %invoke.cont574 unwind label %lpad.loopexit1494 invoke.cont574: ; preds = %if.then572 %186 = load ptr, ptr %_M_finish.i1000, align 8 @@ -7171,7 +7171,7 @@ if.then579: ; preds = %invoke.cont574 if.then.i959: ; preds = %if.then579 invoke void @_ZN7tinyobj7shape_tC2ERKS0_(ptr noundef nonnull align 8 dereferenceable(224) %188, ptr noundef nonnull align 8 dereferenceable(224) %shape) - to label %.noexc963 unwind label %lpad.loopexit1493 + to label %.noexc963 unwind label %lpad.loopexit1494 .noexc963: ; preds = %if.then.i959 %190 = load ptr, ptr %_M_finish.i1015, align 8 @@ -7181,7 +7181,7 @@ if.then.i959: ; preds = %if.then579 if.else.i962: ; preds = %if.then579 invoke void @_ZNSt6vectorIN7tinyobj7shape_tESaIS1_EE17_M_realloc_insertIJRKS1_EEEvN9__gnu_cxx17__normal_iteratorIPS1_S3_EEDpOT_(ptr noundef nonnull align 8 dereferenceable(24) %shapes, ptr %188, ptr noundef nonnull align 8 dereferenceable(224) %shape) - to label %if.end581 unwind label %lpad.loopexit1493 + to label %if.end581 unwind label %lpad.loopexit1494 if.end581: ; preds = %.noexc963, %if.else.i962, %invoke.cont574 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(224) %ref.tmp582, i8 0, i64 224, i1 false) @@ -7310,12 +7310,12 @@ invoke.cont603: ; preds = %.noexc974, %if.else br label %while.cond585, !llvm.loop !48 lpad600.loopexit: ; preds = %lor.rhs593 - %lpad.loopexit1472 = landingpad { ptr, i32 } + %lpad.loopexit1473 = landingpad { ptr, i32 } cleanup br label %ehcleanup660 lpad600.loopexit.split-lp: ; preds = %if.then612, %if.else633 - %lpad.loopexit.split-lp1473 = landingpad { ptr, i32 } + %lpad.loopexit.split-lp1474 = landingpad { ptr, i32 } cleanup br label %ehcleanup660 @@ -7395,25 +7395,25 @@ invoke.cont635: ; preds = %if.else633 for.cond641.preheader: ; preds = %invoke.cont635 %212 = load ptr, ptr %_M_finish.i967, align 8 %213 = load ptr, ptr %names, align 8 - %sub.ptr.lhs.cast.i9832833 = ptrtoint ptr %212 to i64 - %sub.ptr.rhs.cast.i9842834 = ptrtoint ptr %213 to i64 - %sub.ptr.sub.i9852835 = sub i64 %sub.ptr.lhs.cast.i9832833, %sub.ptr.rhs.cast.i9842834 - %cmp6432837 = icmp ugt i64 %sub.ptr.sub.i9852835, 64 - br i1 %cmp6432837, label %for.body644, label %for.end653 + %sub.ptr.lhs.cast.i9832834 = ptrtoint ptr %212 to i64 + %sub.ptr.rhs.cast.i9842835 = ptrtoint ptr %213 to i64 + %sub.ptr.sub.i9852836 = sub i64 %sub.ptr.lhs.cast.i9832834, %sub.ptr.rhs.cast.i9842835 + %cmp6432838 = icmp ugt i64 %sub.ptr.sub.i9852836, 64 + br i1 %cmp6432838, label %for.body644, label %for.end653 for.body644: ; preds = %for.cond641.preheader, %for.inc651 - %i.02838 = phi i64 [ %inc652, %for.inc651 ], [ 2, %for.cond641.preheader ] + %i.02839 = phi i64 [ %inc652, %for.inc651 ], [ 2, %for.cond641.preheader ] %call647 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %add.ptr636, ptr noundef nonnull @.str.61) to label %invoke.cont646 unwind label %lpad638.loopexit invoke.cont646: ; preds = %for.body644 %214 = load ptr, ptr %names, align 8 - %add.ptr.i987 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %214, i64 %i.02838 + %add.ptr.i987 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %214, i64 %i.02839 %call650 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %call647, ptr noundef nonnull align 8 dereferenceable(32) %add.ptr.i987) to label %for.inc651 unwind label %lpad638.loopexit for.inc651: ; preds = %invoke.cont646 - %inc652 = add nuw i64 %i.02838, 1 + %inc652 = add nuw i64 %i.02839, 1 %215 = load ptr, ptr %_M_finish.i967, align 8 %216 = load ptr, ptr %names, align 8 %sub.ptr.lhs.cast.i983 = ptrtoint ptr %215 to i64 @@ -7479,7 +7479,7 @@ if.then.i.i.i998: ; preds = %invoke.cont.i996 br label %while.cond.backedge ehcleanup660: ; preds = %lpad600.loopexit, %lpad600.loopexit.split-lp, %lpad638, %ehcleanup631, %lpad602 - %.pn103 = phi { ptr, i32 } [ %206, %lpad602 ], [ %.pn101, %ehcleanup631 ], [ %lpad.phi, %lpad638 ], [ %lpad.loopexit1472, %lpad600.loopexit ], [ %lpad.loopexit.split-lp1473, %lpad600.loopexit.split-lp ] + %.pn103 = phi { ptr, i32 } [ %206, %lpad602 ], [ %.pn101, %ehcleanup631 ], [ %lpad.phi, %lpad638 ], [ %lpad.loopexit1473, %lpad600.loopexit ], [ %lpad.loopexit.split-lp1474, %lpad600.loopexit.split-lp ] call void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %names) #26 br label %ehcleanup972 @@ -7493,7 +7493,7 @@ land.lhs.true665: ; preds = %if.end560 if.then673: ; preds = %land.lhs.true665, %land.lhs.true665 %call677 = invoke fastcc noundef zeroext i1 @_ZN7tinyobjL19exportGroupsToShapeEPNS_7shape_tERKNS_9PrimGroupERKSt6vectorINS_5tag_tESaIS6_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEbRKS5_IfSaIfEEPSG_(ptr noundef %shape, ptr noundef nonnull align 8 dereferenceable(72) %prim_group, ptr noundef nonnull align 8 dereferenceable(24) %tags, i32 noundef %material.0, ptr noundef nonnull align 8 dereferenceable(32) %name, i1 noundef zeroext %triangulate, ptr noundef nonnull align 8 dereferenceable(24) %v, ptr noundef %warn) - to label %invoke.cont676 unwind label %lpad.loopexit1493 + to label %invoke.cont676 unwind label %lpad.loopexit1494 invoke.cont676: ; preds = %if.then673 %221 = load ptr, ptr %_M_finish.i1000, align 8 @@ -7521,7 +7521,7 @@ if.then691: ; preds = %lor.lhs.false687, % if.then.i1018: ; preds = %if.then691 invoke void @_ZN7tinyobj7shape_tC2ERKS0_(ptr noundef nonnull align 8 dereferenceable(224) %227, ptr noundef nonnull align 8 dereferenceable(224) %shape) - to label %.noexc1022 unwind label %lpad.loopexit1493 + to label %.noexc1022 unwind label %lpad.loopexit1494 .noexc1022: ; preds = %if.then.i1018 %229 = load ptr, ptr %_M_finish.i1015, align 8 @@ -7531,7 +7531,7 @@ if.then.i1018: ; preds = %if.then691 if.else.i1021: ; preds = %if.then691 invoke void @_ZNSt6vectorIN7tinyobj7shape_tESaIS1_EE17_M_realloc_insertIJRKS1_EEEvN9__gnu_cxx17__normal_iteratorIPS1_S3_EEDpOT_(ptr noundef nonnull align 8 dereferenceable(24) %shapes, ptr %227, ptr noundef nonnull align 8 dereferenceable(224) %shape) - to label %if.end693 unwind label %lpad.loopexit1493 + to label %if.end693 unwind label %lpad.loopexit1494 if.end693: ; preds = %.noexc1022, %if.else.i1021, %lor.lhs.false687 %230 = load ptr, ptr %prim_group, align 8 @@ -7618,7 +7618,7 @@ _ZN7tinyobj9PrimGroup5clearEv.exit1060: ; preds = %_ZNSt6vectorIN7tiny %add.ptr697 = getelementptr inbounds i8, ptr %67, i64 2 store ptr %add.ptr697, ptr %token, align 8 invoke void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss698) - to label %invoke.cont699 unwind label %lpad.loopexit1493 + to label %invoke.cont699 unwind label %lpad.loopexit1494 invoke.cont699: ; preds = %_ZN7tinyobj9PrimGroup5clearEv.exit1060 %call703 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %add.ptr700, ptr noundef nonnull %add.ptr697) @@ -7694,7 +7694,7 @@ if.end13.i: ; preds = %if.end.i1069 br label %invoke.cont728 invoke.cont728: ; preds = %if.end13.i, %if.end.i1069, %invoke.cont725 - %token.promoted2819 = phi ptr [ %add.ptr3.i.i, %if.end13.i ], [ %add.ptr8.i, %if.end.i1069 ], [ %add.ptr3.i1066, %invoke.cont725 ] + %token.promoted2820 = phi ptr [ %add.ptr3.i.i, %if.end13.i ], [ %add.ptr8.i, %if.end.i1069 ], [ %add.ptr3.i1066, %invoke.cont725 ] %retval.sroa.5.0.i = phi i32 [ %call1.i.i1073, %if.end13.i ], [ 0, %if.end.i1069 ], [ 0, %invoke.cont725 ] %retval.sroa.3.0.i = phi i32 [ %call6.i, %if.end13.i ], [ %call6.i, %if.end.i1069 ], [ 0, %invoke.cont725 ] %spec.select = call i32 @llvm.smax.i32(i32 %call1.i1064, i32 0) @@ -7702,8 +7702,8 @@ invoke.cont728: ; preds = %if.end13.i, %if.end %ts.sroa.7.0 = call i32 @llvm.smax.i32(i32 %retval.sroa.3.0.i, i32 0) %ts.sroa.7.1 = call i32 @llvm.umin.i32(i32 %ts.sroa.7.0, i32 8192) %cmp748 = icmp slt i32 %retval.sroa.5.0.i, 0 - %spec.select1468 = call i32 @llvm.umin.i32(i32 %retval.sroa.5.0.i, i32 8192) - %spec.select5340 = select i1 %cmp748, i32 0, i32 %spec.select1468 + %spec.select1469 = call i32 @llvm.umin.i32(i32 %retval.sroa.5.0.i, i32 8192) + %spec.select5341 = select i1 %cmp748, i32 0, i32 %spec.select1469 %conv758 = zext nneg i32 %ts.sroa.0.1 to i64 %244 = load ptr, ptr %_M_finish.i.i1074, align 8 %245 = load ptr, ptr %intValues.i, align 8 @@ -7802,42 +7802,42 @@ invoke.cont.i.i1083: ; preds = %if.then5.i br label %_ZNSt6vectorIiSaIiEE6resizeEm.exit _ZNSt6vectorIiSaIiEE6resizeEm.exit: ; preds = %_ZSt27__uninitialized_default_n_aIPimiET_S1_T0_RSaIT1_E.exit.i, %_ZNSt12_Vector_baseIiSaIiEE13_M_deallocateEPim.exit33.i, %if.else.i1080, %if.then5.i, %invoke.cont.i.i1083 - %cmp7642821.not = icmp slt i32 %call1.i1064, 1 - br i1 %cmp7642821.not, label %for.end772, label %for.body765 + %cmp7642822.not = icmp slt i32 %call1.i1064, 1 + br i1 %cmp7642822.not, label %for.end772, label %for.body765 lpad724.loopexit: ; preds = %for.body797 - %lpad.loopexit1475 = landingpad { ptr, i32 } + %lpad.loopexit1476 = landingpad { ptr, i32 } cleanup br label %lpad724 lpad724.loopexit.split-lp: ; preds = %if.then721, %if.then.i1128, %if.then.i1135, %if.else.i1138, %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i, %_ZNKSt6vectorIfSaIfEE12_M_check_lenEmPKc.exit.i - %lpad.loopexit.split-lp1476 = landingpad { ptr, i32 } + %lpad.loopexit.split-lp1477 = landingpad { ptr, i32 } cleanup br label %lpad724 lpad724: ; preds = %lpad724.loopexit.split-lp, %lpad724.loopexit - %lpad.phi1477 = phi { ptr, i32 } [ %lpad.loopexit1475, %lpad724.loopexit ], [ %lpad.loopexit.split-lp1476, %lpad724.loopexit.split-lp ] + %lpad.phi1478 = phi { ptr, i32 } [ %lpad.loopexit1476, %lpad724.loopexit ], [ %lpad.loopexit.split-lp1477, %lpad724.loopexit.split-lp ] call void @_ZN7tinyobj5tag_tD2Ev(ptr noundef nonnull align 8 dereferenceable(104) %tag) #26 br label %ehcleanup972 for.body765: ; preds = %_ZNSt6vectorIiSaIiEE6resizeEm.exit, %for.body765 - %i760.02823 = phi i64 [ %inc771, %for.body765 ], [ 0, %_ZNSt6vectorIiSaIiEE6resizeEm.exit ] - %add.ptr3.i109028202822 = phi ptr [ %add.ptr3.i1090, %for.body765 ], [ %token.promoted2819, %_ZNSt6vectorIiSaIiEE6resizeEm.exit ] - %call.i1086 = call i64 @strspn(ptr noundef %add.ptr3.i109028202822, ptr noundef nonnull @.str) #27 - %add.ptr.i1087 = getelementptr inbounds i8, ptr %add.ptr3.i109028202822, i64 %call.i1086 + %i760.02824 = phi i64 [ %inc771, %for.body765 ], [ 0, %_ZNSt6vectorIiSaIiEE6resizeEm.exit ] + %add.ptr3.i109028212823 = phi ptr [ %add.ptr3.i1090, %for.body765 ], [ %token.promoted2820, %_ZNSt6vectorIiSaIiEE6resizeEm.exit ] + %call.i1086 = call i64 @strspn(ptr noundef %add.ptr3.i109028212823, ptr noundef nonnull @.str) #27 + %add.ptr.i1087 = getelementptr inbounds i8, ptr %add.ptr3.i109028212823, i64 %call.i1086 %call1.i1088 = call noundef i32 @atoi(ptr nocapture noundef %add.ptr.i1087) #27 %call2.i1089 = call i64 @strcspn(ptr noundef %add.ptr.i1087, ptr noundef nonnull @.str.12) #27 %add.ptr3.i1090 = getelementptr inbounds i8, ptr %add.ptr.i1087, i64 %call2.i1089 %251 = load ptr, ptr %intValues.i, align 8 - %add.ptr.i1091 = getelementptr inbounds i32, ptr %251, i64 %i760.02823 + %add.ptr.i1091 = getelementptr inbounds i32, ptr %251, i64 %i760.02824 store i32 %call1.i1088, ptr %add.ptr.i1091, align 4 - %inc771 = add nuw nsw i64 %i760.02823, 1 + %inc771 = add nuw nsw i64 %i760.02824, 1 %exitcond.not = icmp eq i64 %inc771, %conv758 br i1 %exitcond.not, label %for.end772, label %for.body765, !llvm.loop !50 for.end772: ; preds = %for.body765, %_ZNSt6vectorIiSaIiEE6resizeEm.exit - %token.promoted2825 = phi ptr [ %token.promoted2819, %_ZNSt6vectorIiSaIiEE6resizeEm.exit ], [ %add.ptr3.i1090, %for.body765 ] - store ptr %token.promoted2825, ptr %token, align 8 + %token.promoted2826 = phi ptr [ %token.promoted2820, %_ZNSt6vectorIiSaIiEE6resizeEm.exit ], [ %add.ptr3.i1090, %for.body765 ] + store ptr %token.promoted2826, ptr %token, align 8 %conv774 = zext nneg i32 %ts.sroa.7.1 to i64 %252 = load ptr, ptr %_M_finish.i.i1092, align 8 %253 = load ptr, ptr %floatValues, align 8 @@ -7936,15 +7936,15 @@ invoke.cont.i.i1103: ; preds = %if.then5.i1100 br label %_ZNSt6vectorIfSaIfEE6resizeEm.exit _ZNSt6vectorIfSaIfEE6resizeEm.exit: ; preds = %_ZSt27__uninitialized_default_n_aIPfmfET_S1_T0_RSaIT1_E.exit.i, %_ZNSt12_Vector_baseIfSaIfEE13_M_deallocateEPfm.exit33.i, %if.else.i1098, %if.then5.i1100, %invoke.cont.i.i1103 - %cmp7802827.not = icmp slt i32 %retval.sroa.3.0.i, 1 - br i1 %cmp7802827.not, label %for.end788, label %invoke.cont782 + %cmp7802828.not = icmp slt i32 %retval.sroa.3.0.i, 1 + br i1 %cmp7802828.not, label %for.end788, label %invoke.cont782 invoke.cont782: ; preds = %_ZNSt6vectorIfSaIfEE6resizeEm.exit, %invoke.cont782 - %i776.02829 = phi i64 [ %inc787, %invoke.cont782 ], [ 0, %_ZNSt6vectorIfSaIfEE6resizeEm.exit ] - %add.ptr2.i28262828 = phi ptr [ %add.ptr2.i, %invoke.cont782 ], [ %token.promoted2825, %_ZNSt6vectorIfSaIfEE6resizeEm.exit ] + %i776.02830 = phi i64 [ %inc787, %invoke.cont782 ], [ 0, %_ZNSt6vectorIfSaIfEE6resizeEm.exit ] + %add.ptr2.i28272829 = phi ptr [ %add.ptr2.i, %invoke.cont782 ], [ %token.promoted2826, %_ZNSt6vectorIfSaIfEE6resizeEm.exit ] call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %val.i) - %call.i1107 = call i64 @strspn(ptr noundef %add.ptr2.i28262828, ptr noundef nonnull @.str) #27 - %add.ptr.i1108 = getelementptr inbounds i8, ptr %add.ptr2.i28262828, i64 %call.i1107 + %call.i1107 = call i64 @strspn(ptr noundef %add.ptr2.i28272829, ptr noundef nonnull @.str) #27 + %add.ptr.i1108 = getelementptr inbounds i8, ptr %add.ptr2.i28272829, i64 %call.i1107 %call1.i1109 = call i64 @strcspn(ptr noundef %add.ptr.i1108, ptr noundef nonnull @.str.12) #27 %add.ptr2.i = getelementptr inbounds i8, ptr %add.ptr.i1108, i64 %call1.i1109 store double 0.000000e+00, ptr %val.i, align 8 @@ -7953,16 +7953,16 @@ invoke.cont782: ; preds = %_ZNSt6vectorIfSaIfE %conv.i1110 = fptrunc double %259 to float call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %val.i) %260 = load ptr, ptr %floatValues, align 8 - %add.ptr.i1111 = getelementptr inbounds float, ptr %260, i64 %i776.02829 + %add.ptr.i1111 = getelementptr inbounds float, ptr %260, i64 %i776.02830 store float %conv.i1110, ptr %add.ptr.i1111, align 4 - %inc787 = add nuw nsw i64 %i776.02829, 1 - %exitcond4085.not = icmp eq i64 %inc787, %conv774 - br i1 %exitcond4085.not, label %for.end788, label %invoke.cont782, !llvm.loop !51 + %inc787 = add nuw nsw i64 %i776.02830, 1 + %exitcond4086.not = icmp eq i64 %inc787, %conv774 + br i1 %exitcond4086.not, label %for.end788, label %invoke.cont782, !llvm.loop !51 for.end788: ; preds = %invoke.cont782, %_ZNSt6vectorIfSaIfEE6resizeEm.exit - %add.ptr2.i2826.lcssa = phi ptr [ %token.promoted2825, %_ZNSt6vectorIfSaIfEE6resizeEm.exit ], [ %add.ptr2.i, %invoke.cont782 ] - store ptr %add.ptr2.i2826.lcssa, ptr %token, align 8 - %conv790 = zext nneg i32 %spec.select5340 to i64 + %add.ptr2.i2827.lcssa = phi ptr [ %token.promoted2826, %_ZNSt6vectorIfSaIfEE6resizeEm.exit ], [ %add.ptr2.i, %invoke.cont782 ] + store ptr %add.ptr2.i2827.lcssa, ptr %token, align 8 + %conv790 = zext nneg i32 %spec.select5341 to i64 %261 = load ptr, ptr %_M_finish.i.i1112, align 8 %262 = load ptr, ptr %stringValues, align 8 %sub.ptr.lhs.cast.i.i1113 = ptrtoint ptr %261 to i64 @@ -7998,22 +7998,22 @@ invoke.cont.i.i1127: ; preds = %for.body.i.i.i.i.i1 br label %_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE6resizeEm.exit _ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE6resizeEm.exit: ; preds = %if.then.i1128, %if.else.i1118, %if.then5.i1120, %invoke.cont.i.i1127 - %cmp7962831.not = icmp eq i32 %spec.select5340, 0 - br i1 %cmp7962831.not, label %for.end805, label %for.body797 + %cmp7962832.not = icmp eq i32 %spec.select5341, 0 + br i1 %cmp7962832.not, label %for.end805, label %for.body797 for.body797: ; preds = %_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE6resizeEm.exit, %invoke.cont799 - %i792.02832 = phi i64 [ %inc804, %invoke.cont799 ], [ 0, %_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE6resizeEm.exit ] + %i792.02833 = phi i64 [ %inc804, %invoke.cont799 ], [ 0, %_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE6resizeEm.exit ] invoke fastcc void @_ZN7tinyobjL11parseStringB5cxx11EPPKc(ptr noalias align 8 %ref.tmp798, ptr noundef %token) to label %invoke.cont799 unwind label %lpad724.loopexit invoke.cont799: ; preds = %for.body797 %263 = load ptr, ptr %stringValues, align 8 - %add.ptr.i1131 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %263, i64 %i792.02832 + %add.ptr.i1131 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %263, i64 %i792.02833 %call802 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEOS4_(ptr noundef nonnull align 8 dereferenceable(32) %add.ptr.i1131, ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp798) #26 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp798) #26 - %inc804 = add nuw nsw i64 %i792.02832, 1 - %exitcond4086.not = icmp eq i64 %inc804, %conv790 - br i1 %exitcond4086.not, label %for.end805, label %for.body797, !llvm.loop !52 + %inc804 = add nuw nsw i64 %i792.02833, 1 + %exitcond4087.not = icmp eq i64 %inc804, %conv790 + br i1 %exitcond4087.not, label %for.end805, label %for.body797, !llvm.loop !52 for.end805: ; preds = %invoke.cont799, %_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE6resizeEm.exit %264 = load ptr, ptr %_M_finish.i1132, align 8 @@ -8166,7 +8166,7 @@ while.end863: ; preds = %invoke.cont if.then875: ; preds = %while.end863 invoke void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss876) - to label %invoke.cont877 unwind label %lpad.loopexit.split-lp1494 + to label %invoke.cont877 unwind label %lpad.loopexit.split-lp1495 invoke.cont877: ; preds = %if.then875 %add.ptr878 = getelementptr inbounds i8, ptr %ss876, i64 16 @@ -8223,7 +8223,7 @@ if.end894: ; preds = %invoke.cont889, %wh if.then901: ; preds = %if.end894 invoke void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss902) - to label %invoke.cont903 unwind label %lpad.loopexit.split-lp1494 + to label %invoke.cont903 unwind label %lpad.loopexit.split-lp1495 invoke.cont903: ; preds = %if.then901 %add.ptr904 = getelementptr inbounds i8, ptr %ss902, i64 16 @@ -8279,7 +8279,7 @@ if.end920: ; preds = %invoke.cont915, %if if.then927: ; preds = %if.end920 invoke void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss928) - to label %invoke.cont929 unwind label %lpad.loopexit.split-lp1494 + to label %invoke.cont929 unwind label %lpad.loopexit.split-lp1495 invoke.cont929: ; preds = %if.then927 %add.ptr930 = getelementptr inbounds i8, ptr %ss928, i64 16 @@ -8325,7 +8325,7 @@ ehcleanup944: ; preds = %lpad940, %lpad931 if.end946: ; preds = %invoke.cont941, %if.end920 %call950 = invoke fastcc noundef zeroext i1 @_ZN7tinyobjL19exportGroupsToShapeEPNS_7shape_tERKNS_9PrimGroupERKSt6vectorINS_5tag_tESaIS6_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEbRKS5_IfSaIfEEPSG_(ptr noundef %shape, ptr noundef nonnull align 8 dereferenceable(72) %prim_group, ptr noundef nonnull align 8 dereferenceable(24) %tags, i32 noundef %material.0, ptr noundef nonnull align 8 dereferenceable(32) %name, i1 noundef zeroext %triangulate, ptr noundef nonnull align 8 dereferenceable(24) %v, ptr noundef %warn) - to label %invoke.cont949 unwind label %lpad.loopexit.split-lp1494 + to label %invoke.cont949 unwind label %lpad.loopexit.split-lp1495 invoke.cont949: ; preds = %if.end946 br i1 %call950, label %if.then958, label %lor.lhs.false953 @@ -8344,7 +8344,7 @@ if.then958: ; preds = %lor.lhs.false953, % if.then.i1176: ; preds = %if.then958 invoke void @_ZN7tinyobj7shape_tC2ERKS0_(ptr noundef nonnull align 8 dereferenceable(224) %286, ptr noundef nonnull align 8 dereferenceable(224) %shape) - to label %.noexc1180 unwind label %lpad.loopexit.split-lp1494 + to label %.noexc1180 unwind label %lpad.loopexit.split-lp1495 .noexc1180: ; preds = %if.then.i1176 %288 = load ptr, ptr %_M_finish.i1015, align 8 @@ -8354,7 +8354,7 @@ if.then.i1176: ; preds = %if.then958 if.else.i1179: ; preds = %if.then958 invoke void @_ZNSt6vectorIN7tinyobj7shape_tESaIS1_EE17_M_realloc_insertIJRKS1_EEEvN9__gnu_cxx17__normal_iteratorIPS1_S3_EEDpOT_(ptr noundef nonnull align 8 dereferenceable(24) %shapes, ptr %286, ptr noundef nonnull align 8 dereferenceable(224) %shape) - to label %if.end960 unwind label %lpad.loopexit.split-lp1494 + to label %if.end960 unwind label %lpad.loopexit.split-lp1495 if.end960: ; preds = %.noexc1180, %if.else.i1179, %lor.lhs.false953 %289 = load ptr, ptr %prim_group, align 8 @@ -8437,7 +8437,7 @@ _ZN7tinyobj9PrimGroup5clearEv.exit1218: ; preds = %_ZNSt6vectorIN7tiny if.then963: ; preds = %_ZN7tinyobj9PrimGroup5clearEv.exit1218 invoke void @_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv(ptr nonnull sret(%"class.std::__cxx11::basic_string") align 8 %ref.tmp964, ptr noundef nonnull align 8 dereferenceable(128) %errss) - to label %invoke.cont965 unwind label %lpad.loopexit.split-lp1494 + to label %invoke.cont965 unwind label %lpad.loopexit.split-lp1495 invoke.cont965: ; preds = %if.then963 %call968 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %err, ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp964) @@ -8626,11 +8626,11 @@ _ZNSt6vectorIfSaIfEED2Ev.exit1279: ; preds = %_ZNSt6vectorIfSaIfE call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %errss) #26 ret i1 %cmp.not -ehcleanup972: ; preds = %lpad.loopexit1493, %lpad.loopexit.split-lp1494, %if.then.i.i.i.i872, %ehcleanup413, %if.then.i.i.i.i759, %ehcleanup322, %if.then.i.i.i.i649, %ehcleanup250, %if.then.i.i.i.i575, %ehcleanup180, %lpad966, %ehcleanup944, %ehcleanup918, %ehcleanup892, %lpad724, %lpad701, %ehcleanup660, %ehcleanup558, %ehcleanup453 - %vc.sroa.0.2 = phi ptr [ %vc.sroa.0.0, %lpad966 ], [ %vc.sroa.0.0, %ehcleanup944 ], [ %vc.sroa.0.0, %ehcleanup918 ], [ %vc.sroa.0.0, %ehcleanup892 ], [ %vc.sroa.0.0, %ehcleanup453 ], [ %vc.sroa.0.0, %lpad724 ], [ %vc.sroa.0.0, %lpad701 ], [ %vc.sroa.0.0, %ehcleanup660 ], [ %vc.sroa.0.0, %ehcleanup558 ], [ %vc.sroa.0.0, %ehcleanup180 ], [ %vc.sroa.0.0, %if.then.i.i.i.i575 ], [ %vc.sroa.0.0, %ehcleanup250 ], [ %vc.sroa.0.0, %if.then.i.i.i.i649 ], [ %vc.sroa.0.0, %ehcleanup322 ], [ %vc.sroa.0.0, %if.then.i.i.i.i759 ], [ %vc.sroa.0.0, %ehcleanup413 ], [ %vc.sroa.0.0, %if.then.i.i.i.i872 ], [ %vc.sroa.0.1.ph, %lpad.loopexit1493 ], [ %vc.sroa.0.1.ph1495, %lpad.loopexit.split-lp1494 ] - %vt.sroa.0.2 = phi ptr [ %vt.sroa.0.0, %lpad966 ], [ %vt.sroa.0.0, %ehcleanup944 ], [ %vt.sroa.0.0, %ehcleanup918 ], [ %vt.sroa.0.0, %ehcleanup892 ], [ %vt.sroa.0.0, %ehcleanup453 ], [ %vt.sroa.0.0, %lpad724 ], [ %vt.sroa.0.0, %lpad701 ], [ %vt.sroa.0.0, %ehcleanup660 ], [ %vt.sroa.0.0, %ehcleanup558 ], [ %vt.sroa.0.0, %ehcleanup180 ], [ %vt.sroa.0.0, %if.then.i.i.i.i575 ], [ %vt.sroa.0.0, %ehcleanup250 ], [ %vt.sroa.0.0, %if.then.i.i.i.i649 ], [ %vt.sroa.0.0, %ehcleanup322 ], [ %vt.sroa.0.0, %if.then.i.i.i.i759 ], [ %vt.sroa.0.0, %ehcleanup413 ], [ %vt.sroa.0.0, %if.then.i.i.i.i872 ], [ %vt.sroa.0.1.ph, %lpad.loopexit1493 ], [ %vt.sroa.0.1.ph1496, %lpad.loopexit.split-lp1494 ] - %vn.sroa.0.2 = phi ptr [ %vn.sroa.0.0, %lpad966 ], [ %vn.sroa.0.0, %ehcleanup944 ], [ %vn.sroa.0.0, %ehcleanup918 ], [ %vn.sroa.0.0, %ehcleanup892 ], [ %vn.sroa.0.0, %ehcleanup453 ], [ %vn.sroa.0.0, %lpad724 ], [ %vn.sroa.0.0, %lpad701 ], [ %vn.sroa.0.0, %ehcleanup660 ], [ %vn.sroa.0.0, %ehcleanup558 ], [ %vn.sroa.0.0, %ehcleanup180 ], [ %vn.sroa.0.0, %if.then.i.i.i.i575 ], [ %vn.sroa.0.0, %ehcleanup250 ], [ %vn.sroa.0.0, %if.then.i.i.i.i649 ], [ %vn.sroa.0.0, %ehcleanup322 ], [ %vn.sroa.0.0, %if.then.i.i.i.i759 ], [ %vn.sroa.0.0, %ehcleanup413 ], [ %vn.sroa.0.0, %if.then.i.i.i.i872 ], [ %vn.sroa.0.1.ph, %lpad.loopexit1493 ], [ %vn.sroa.0.1.ph1497, %lpad.loopexit.split-lp1494 ] - %.pn137 = phi { ptr, i32 } [ %298, %lpad966 ], [ %.pn96, %ehcleanup944 ], [ %.pn93, %ehcleanup918 ], [ %.pn, %ehcleanup892 ], [ %.pn116, %ehcleanup453 ], [ %lpad.phi1477, %lpad724 ], [ %239, %lpad701 ], [ %.pn103, %ehcleanup660 ], [ %.pn111.pn, %ehcleanup558 ], [ %.pn98.pn, %ehcleanup180 ], [ %.pn98.pn, %if.then.i.i.i.i575 ], [ %.pn134, %ehcleanup250 ], [ %.pn134, %if.then.i.i.i.i649 ], [ %.pn128, %ehcleanup322 ], [ %.pn128, %if.then.i.i.i.i759 ], [ %.pn122, %ehcleanup413 ], [ %.pn122, %if.then.i.i.i.i872 ], [ %lpad.loopexit1498, %lpad.loopexit1493 ], [ %lpad.loopexit.split-lp1499, %lpad.loopexit.split-lp1494 ] +ehcleanup972: ; preds = %lpad.loopexit1494, %lpad.loopexit.split-lp1495, %if.then.i.i.i.i872, %ehcleanup413, %if.then.i.i.i.i759, %ehcleanup322, %if.then.i.i.i.i649, %ehcleanup250, %if.then.i.i.i.i575, %ehcleanup180, %lpad966, %ehcleanup944, %ehcleanup918, %ehcleanup892, %lpad724, %lpad701, %ehcleanup660, %ehcleanup558, %ehcleanup453 + %vc.sroa.0.2 = phi ptr [ %vc.sroa.0.0, %lpad966 ], [ %vc.sroa.0.0, %ehcleanup944 ], [ %vc.sroa.0.0, %ehcleanup918 ], [ %vc.sroa.0.0, %ehcleanup892 ], [ %vc.sroa.0.0, %ehcleanup453 ], [ %vc.sroa.0.0, %lpad724 ], [ %vc.sroa.0.0, %lpad701 ], [ %vc.sroa.0.0, %ehcleanup660 ], [ %vc.sroa.0.0, %ehcleanup558 ], [ %vc.sroa.0.0, %ehcleanup180 ], [ %vc.sroa.0.0, %if.then.i.i.i.i575 ], [ %vc.sroa.0.0, %ehcleanup250 ], [ %vc.sroa.0.0, %if.then.i.i.i.i649 ], [ %vc.sroa.0.0, %ehcleanup322 ], [ %vc.sroa.0.0, %if.then.i.i.i.i759 ], [ %vc.sroa.0.0, %ehcleanup413 ], [ %vc.sroa.0.0, %if.then.i.i.i.i872 ], [ %vc.sroa.0.1.ph, %lpad.loopexit1494 ], [ %vc.sroa.0.1.ph1496, %lpad.loopexit.split-lp1495 ] + %vt.sroa.0.2 = phi ptr [ %vt.sroa.0.0, %lpad966 ], [ %vt.sroa.0.0, %ehcleanup944 ], [ %vt.sroa.0.0, %ehcleanup918 ], [ %vt.sroa.0.0, %ehcleanup892 ], [ %vt.sroa.0.0, %ehcleanup453 ], [ %vt.sroa.0.0, %lpad724 ], [ %vt.sroa.0.0, %lpad701 ], [ %vt.sroa.0.0, %ehcleanup660 ], [ %vt.sroa.0.0, %ehcleanup558 ], [ %vt.sroa.0.0, %ehcleanup180 ], [ %vt.sroa.0.0, %if.then.i.i.i.i575 ], [ %vt.sroa.0.0, %ehcleanup250 ], [ %vt.sroa.0.0, %if.then.i.i.i.i649 ], [ %vt.sroa.0.0, %ehcleanup322 ], [ %vt.sroa.0.0, %if.then.i.i.i.i759 ], [ %vt.sroa.0.0, %ehcleanup413 ], [ %vt.sroa.0.0, %if.then.i.i.i.i872 ], [ %vt.sroa.0.1.ph, %lpad.loopexit1494 ], [ %vt.sroa.0.1.ph1497, %lpad.loopexit.split-lp1495 ] + %vn.sroa.0.2 = phi ptr [ %vn.sroa.0.0, %lpad966 ], [ %vn.sroa.0.0, %ehcleanup944 ], [ %vn.sroa.0.0, %ehcleanup918 ], [ %vn.sroa.0.0, %ehcleanup892 ], [ %vn.sroa.0.0, %ehcleanup453 ], [ %vn.sroa.0.0, %lpad724 ], [ %vn.sroa.0.0, %lpad701 ], [ %vn.sroa.0.0, %ehcleanup660 ], [ %vn.sroa.0.0, %ehcleanup558 ], [ %vn.sroa.0.0, %ehcleanup180 ], [ %vn.sroa.0.0, %if.then.i.i.i.i575 ], [ %vn.sroa.0.0, %ehcleanup250 ], [ %vn.sroa.0.0, %if.then.i.i.i.i649 ], [ %vn.sroa.0.0, %ehcleanup322 ], [ %vn.sroa.0.0, %if.then.i.i.i.i759 ], [ %vn.sroa.0.0, %ehcleanup413 ], [ %vn.sroa.0.0, %if.then.i.i.i.i872 ], [ %vn.sroa.0.1.ph, %lpad.loopexit1494 ], [ %vn.sroa.0.1.ph1498, %lpad.loopexit.split-lp1495 ] + %.pn137 = phi { ptr, i32 } [ %298, %lpad966 ], [ %.pn96, %ehcleanup944 ], [ %.pn93, %ehcleanup918 ], [ %.pn, %ehcleanup892 ], [ %.pn116, %ehcleanup453 ], [ %lpad.phi1478, %lpad724 ], [ %239, %lpad701 ], [ %.pn103, %ehcleanup660 ], [ %.pn111.pn, %ehcleanup558 ], [ %.pn98.pn, %ehcleanup180 ], [ %.pn98.pn, %if.then.i.i.i.i575 ], [ %.pn134, %ehcleanup250 ], [ %.pn134, %if.then.i.i.i.i649 ], [ %.pn128, %ehcleanup322 ], [ %.pn128, %if.then.i.i.i.i759 ], [ %.pn122, %ehcleanup413 ], [ %.pn122, %if.then.i.i.i.i872 ], [ %lpad.loopexit1499, %lpad.loopexit1494 ], [ %lpad.loopexit.split-lp1500, %lpad.loopexit.split-lp1495 ] call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %linebuf) #26 call void @_ZN7tinyobj7shape_tD2Ev(ptr noundef nonnull align 8 dereferenceable(224) %shape) #26 call void @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiSt4lessIS5_ESaISt4pairIKS5_iEEED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %material_map) #26 @@ -14749,7 +14749,7 @@ land.rhs48: ; preds = %while.cond46.prehea while.body53: ; preds = %land.rhs48 %conv56 = uitofp nneg i32 %sub50 to double - %cmp57 = icmp ult i64 %indvars.iv, 8 + %cmp57 = icmp samesign ult i64 %indvars.iv, 8 br i1 %cmp57, label %cond.true, label %cond.false cond.true: ; preds = %while.body53 diff --git a/bench/yyjson/optimized/yyjson.c.ll b/bench/yyjson/optimized/yyjson.c.ll index 783aa01dc7a..1a0f80c11c9 100644 --- a/bench/yyjson/optimized/yyjson.c.ll +++ b/bench/yyjson/optimized/yyjson.c.ll @@ -11602,7 +11602,7 @@ if.end340.i9061: ; preds = %sw.bb325.i9054 br i1 %cmp344.i9065.not, label %if.else392.i9069, label %if.then352.i9132 if.then352.i9132: ; preds = %if.end340.i9061 - %cmp354.i9134 = icmp ugt i32 %conv342.i9063, 2047 + %cmp354.i9134 = icmp samesign ugt i32 %conv342.i9063, 2047 br i1 %cmp354.i9134, label %if.then356.i9154, label %if.else372.i9135 if.then356.i9154: ; preds = %if.then352.i9132 @@ -11625,7 +11625,7 @@ if.then356.i9154: ; preds = %if.then352.i9132 br label %copy_ascii.i8792.preheader if.else372.i9135: ; preds = %if.then352.i9132 - %cmp374.i9137 = icmp ugt i32 %conv342.i9063, 127 + %cmp374.i9137 = icmp samesign ugt i32 %conv342.i9063, 127 br i1 %cmp374.i9137, label %if.then376.i9143, label %if.else387.i9138 if.then376.i9143: ; preds = %if.else372.i9135 @@ -13597,7 +13597,7 @@ if.end340.i10433: ; preds = %sw.bb325.i10426 br i1 %cmp344.i10437.not, label %if.else392.i10441, label %if.then352.i10504 if.then352.i10504: ; preds = %if.end340.i10433 - %cmp354.i10506 = icmp ugt i32 %conv342.i10435, 2047 + %cmp354.i10506 = icmp samesign ugt i32 %conv342.i10435, 2047 br i1 %cmp354.i10506, label %if.then356.i10526, label %if.else372.i10507 if.then356.i10526: ; preds = %if.then352.i10504 @@ -13620,7 +13620,7 @@ if.then356.i10526: ; preds = %if.then352.i10504 br label %copy_ascii.i10164.preheader if.else372.i10507: ; preds = %if.then352.i10504 - %cmp374.i10509 = icmp ugt i32 %conv342.i10435, 127 + %cmp374.i10509 = icmp samesign ugt i32 %conv342.i10435, 127 br i1 %cmp374.i10509, label %if.then376.i10515, label %if.else387.i10510 if.then376.i10515: ; preds = %if.else372.i10507 @@ -14863,7 +14863,7 @@ if.end340.i9747: ; preds = %sw.bb325.i9740 br i1 %cmp344.i9751.not, label %if.else392.i9755, label %if.then352.i9818 if.then352.i9818: ; preds = %if.end340.i9747 - %cmp354.i9820 = icmp ugt i32 %conv342.i9749, 2047 + %cmp354.i9820 = icmp samesign ugt i32 %conv342.i9749, 2047 br i1 %cmp354.i9820, label %if.then356.i9840, label %if.else372.i9821 if.then356.i9840: ; preds = %if.then352.i9818 @@ -14886,7 +14886,7 @@ if.then356.i9840: ; preds = %if.then352.i9818 br label %copy_ascii.i9478.preheader if.else372.i9821: ; preds = %if.then352.i9818 - %cmp374.i9823 = icmp ugt i32 %conv342.i9749, 127 + %cmp374.i9823 = icmp samesign ugt i32 %conv342.i9749, 127 br i1 %cmp374.i9823, label %if.then376.i9829, label %if.else387.i9824 if.then376.i9829: ; preds = %if.else372.i9821 @@ -22016,7 +22016,7 @@ if.end340.i: ; preds = %sw.bb325.i br i1 %cmp344.i.not, label %if.else392.i, label %if.then352.i if.then352.i: ; preds = %if.end340.i - %cmp354.i7296 = icmp ugt i32 %conv342.i, 2047 + %cmp354.i7296 = icmp samesign ugt i32 %conv342.i, 2047 br i1 %cmp354.i7296, label %if.then356.i7300, label %if.else372.i if.then356.i7300: ; preds = %if.then352.i @@ -22039,7 +22039,7 @@ if.then356.i7300: ; preds = %if.then352.i br label %copy_ascii.i.preheader if.else372.i: ; preds = %if.then352.i - %cmp374.i = icmp ugt i32 %conv342.i, 127 + %cmp374.i = icmp samesign ugt i32 %conv342.i, 127 br i1 %cmp374.i, label %if.then376.i, label %if.else387.i7298 if.then376.i: ; preds = %if.else372.i @@ -23870,7 +23870,7 @@ if.end340.i8375: ; preds = %sw.bb325.i8368 br i1 %cmp344.i8379.not, label %if.else392.i8383, label %if.then352.i8446 if.then352.i8446: ; preds = %if.end340.i8375 - %cmp354.i8448 = icmp ugt i32 %conv342.i8377, 2047 + %cmp354.i8448 = icmp samesign ugt i32 %conv342.i8377, 2047 br i1 %cmp354.i8448, label %if.then356.i8468, label %if.else372.i8449 if.then356.i8468: ; preds = %if.then352.i8446 @@ -23893,7 +23893,7 @@ if.then356.i8468: ; preds = %if.then352.i8446 br label %copy_ascii.i8106.preheader if.else372.i8449: ; preds = %if.then352.i8446 - %cmp374.i8451 = icmp ugt i32 %conv342.i8377, 127 + %cmp374.i8451 = icmp samesign ugt i32 %conv342.i8377, 127 br i1 %cmp374.i8451, label %if.then376.i8457, label %if.else387.i8452 if.then376.i8457: ; preds = %if.else372.i8449 @@ -25207,7 +25207,7 @@ if.end340.i7689: ; preds = %sw.bb325.i7682 br i1 %cmp344.i7693.not, label %if.else392.i7697, label %if.then352.i7760 if.then352.i7760: ; preds = %if.end340.i7689 - %cmp354.i7762 = icmp ugt i32 %conv342.i7691, 2047 + %cmp354.i7762 = icmp samesign ugt i32 %conv342.i7691, 2047 br i1 %cmp354.i7762, label %if.then356.i7782, label %if.else372.i7763 if.then356.i7782: ; preds = %if.then352.i7760 @@ -25230,7 +25230,7 @@ if.then356.i7782: ; preds = %if.then352.i7760 br label %copy_ascii.i7420.preheader if.else372.i7763: ; preds = %if.then352.i7760 - %cmp374.i7765 = icmp ugt i32 %conv342.i7691, 127 + %cmp374.i7765 = icmp samesign ugt i32 %conv342.i7691, 127 br i1 %cmp374.i7765, label %if.then376.i7771, label %if.else387.i7766 if.then376.i7771: ; preds = %if.else372.i7763 @@ -32259,7 +32259,7 @@ if.end340.i.i: ; preds = %sw.bb325.i.i br i1 %cmp344.i.not.i, label %if.else392.i.i, label %if.then352.i.i if.then352.i.i: ; preds = %if.end340.i.i - %cmp354.i.i = icmp ugt i32 %conv342.i.i, 2047 + %cmp354.i.i = icmp samesign ugt i32 %conv342.i.i, 2047 br i1 %cmp354.i.i, label %if.then356.i.i, label %if.else372.i.i if.then356.i.i: ; preds = %if.then352.i.i @@ -32282,7 +32282,7 @@ if.then356.i.i: ; preds = %if.then352.i.i br label %copy_ascii.i.i.preheader if.else372.i.i: ; preds = %if.then352.i.i - %cmp374.i.i = icmp ugt i32 %conv342.i.i, 127 + %cmp374.i.i = icmp samesign ugt i32 %conv342.i.i, 127 br i1 %cmp374.i.i, label %if.then376.i.i, label %if.else387.i432.i if.then376.i.i: ; preds = %if.else372.i.i @@ -38594,11 +38594,11 @@ write_u64_len_15_to_17_trim.exit5283: ; preds = %if.else138.i5161, % %idx.ext.i5374 = zext nneg i32 %add129.i.lobit to i64 %add.ptr.i5375 = getelementptr inbounds i8, ptr %add.ptr134.i2104, i64 %idx.ext.i5374 %cond.i5379 = tail call i32 @llvm.abs.i32(i32 %add129.i, i1 true) - %cmp3.i5380 = icmp ult i32 %cond.i5379, 100 + %cmp3.i5380 = icmp samesign ult i32 %cond.i5379, 100 br i1 %cmp3.i5380, label %if.then.i5395, label %if.else.i5381 if.then.i5395: ; preds = %write_u64_len_15_to_17_trim.exit5283 - %cmp5.i5396 = icmp ult i32 %cond.i5379, 10 + %cmp5.i5396 = icmp samesign ult i32 %cond.i5379, 10 %mul.i5398 = shl nuw nsw i32 %cond.i5379, 1 %idx.ext8.i5399 = zext nneg i32 %mul.i5398 to i64 %add.ptr9.i5400 = getelementptr inbounds i8, ptr @digit_table, i64 %idx.ext8.i5399 @@ -41890,11 +41890,11 @@ write_u64_len_15_to_17_trim.exit4638: ; preds = %if.else138.i4516, % %idx.ext.i5326 = zext nneg i32 %add129.i2250.lobit to i64 %add.ptr.i5327 = getelementptr inbounds i8, ptr %add.ptr134.i2253, i64 %idx.ext.i5326 %cond.i5331 = tail call i32 @llvm.abs.i32(i32 %add129.i2250, i1 true) - %cmp3.i5332 = icmp ult i32 %cond.i5331, 100 + %cmp3.i5332 = icmp samesign ult i32 %cond.i5331, 100 br i1 %cmp3.i5332, label %if.then.i5347, label %if.else.i5333 if.then.i5347: ; preds = %write_u64_len_15_to_17_trim.exit4638 - %cmp5.i5348 = icmp ult i32 %cond.i5331, 10 + %cmp5.i5348 = icmp samesign ult i32 %cond.i5331, 10 %mul.i5350 = shl nuw nsw i32 %cond.i5331, 1 %idx.ext8.i5351 = zext nneg i32 %mul.i5350 to i64 %add.ptr9.i5352 = getelementptr inbounds i8, ptr @digit_table, i64 %idx.ext8.i5351 @@ -45549,11 +45549,11 @@ write_u64_len_15_to_17_trim.exit3993: ; preds = %if.else138.i3871, % %idx.ext.i5293 = zext nneg i32 %add129.i2461.lobit to i64 %add.ptr.i5294 = getelementptr inbounds i8, ptr %add.ptr134.i2464, i64 %idx.ext.i5293 %cond.i5298 = tail call i32 @llvm.abs.i32(i32 %add129.i2461, i1 true) - %cmp3.i5299 = icmp ult i32 %cond.i5298, 100 + %cmp3.i5299 = icmp samesign ult i32 %cond.i5298, 100 br i1 %cmp3.i5299, label %if.then.i5308, label %if.else.i5300 if.then.i5308: ; preds = %write_u64_len_15_to_17_trim.exit3993 - %cmp5.i = icmp ult i32 %cond.i5298, 10 + %cmp5.i = icmp samesign ult i32 %cond.i5298, 10 %mul.i5310 = shl nuw nsw i32 %cond.i5298, 1 %idx.ext8.i = zext nneg i32 %mul.i5310 to i64 %add.ptr9.i = getelementptr inbounds i8, ptr @digit_table, i64 %idx.ext8.i @@ -49194,11 +49194,11 @@ write_u64_len_15_to_17_trim.exit881.i: ; preds = %if.else138.i759.i, %idx.ext.i891.i = zext nneg i32 %add129.i.i.lobit to i64 %add.ptr.i892.i = getelementptr inbounds i8, ptr %add.ptr134.i165.i, i64 %idx.ext.i891.i %cond.i896.i = tail call i32 @llvm.abs.i32(i32 %add129.i.i, i1 true) - %cmp3.i897.i = icmp ult i32 %cond.i896.i, 100 + %cmp3.i897.i = icmp samesign ult i32 %cond.i896.i, 100 br i1 %cmp3.i897.i, label %if.then.i906.i, label %if.else.i898.i if.then.i906.i: ; preds = %write_u64_len_15_to_17_trim.exit881.i - %cmp5.i.i = icmp ult i32 %cond.i896.i, 10 + %cmp5.i.i = icmp samesign ult i32 %cond.i896.i, 10 %mul.i908.i = shl nuw nsw i32 %cond.i896.i, 1 %idx.ext8.i.i = zext nneg i32 %mul.i908.i to i64 %add.ptr9.i.i = getelementptr inbounds i8, ptr @digit_table, i64 %idx.ext8.i.i @@ -52500,11 +52500,11 @@ write_u64_len_15_to_17_trim.exit1972.i: ; preds = %if.else138.i1850.i, %idx.ext.i1982.i = zext nneg i32 %add129.i.i626.lobit to i64 %add.ptr.i1983.i = getelementptr inbounds i8, ptr %add.ptr134.i.i629, i64 %idx.ext.i1982.i %cond.i1987.i = tail call i32 @llvm.abs.i32(i32 %add129.i.i626, i1 true) - %cmp3.i1988.i = icmp ult i32 %cond.i1987.i, 100 + %cmp3.i1988.i = icmp samesign ult i32 %cond.i1987.i, 100 br i1 %cmp3.i1988.i, label %if.then.i1997.i, label %if.else.i1989.i if.then.i1997.i: ; preds = %write_u64_len_15_to_17_trim.exit1972.i - %cmp5.i.i637 = icmp ult i32 %cond.i1987.i, 10 + %cmp5.i.i637 = icmp samesign ult i32 %cond.i1987.i, 10 %mul.i1999.i = shl nuw nsw i32 %cond.i1987.i, 1 %idx.ext8.i.i638 = zext nneg i32 %mul.i1999.i to i64 %add.ptr9.i.i639 = getelementptr inbounds i8, ptr @digit_table, i64 %idx.ext8.i.i638 @@ -56196,11 +56196,11 @@ write_u64_len_15_to_17_trim.exit1668.i: ; preds = %if.else138.i1546.i, %idx.ext.i1678.i = zext nneg i32 %add129.i.i2099.lobit to i64 %add.ptr.i1679.i = getelementptr inbounds i8, ptr %add.ptr134.i.i2102, i64 %idx.ext.i1678.i %cond.i1683.i = tail call i32 @llvm.abs.i32(i32 %add129.i.i2099, i1 true) - %cmp3.i1684.i = icmp ult i32 %cond.i1683.i, 100 + %cmp3.i1684.i = icmp samesign ult i32 %cond.i1683.i, 100 br i1 %cmp3.i1684.i, label %if.then.i1693.i, label %if.else.i1685.i if.then.i1693.i: ; preds = %write_u64_len_15_to_17_trim.exit1668.i - %cmp5.i.i2110 = icmp ult i32 %cond.i1683.i, 10 + %cmp5.i.i2110 = icmp samesign ult i32 %cond.i1683.i, 10 %mul.i1695.i = shl nuw nsw i32 %cond.i1683.i, 1 %idx.ext8.i.i2111 = zext nneg i32 %mul.i1695.i to i64 %add.ptr9.i.i2112 = getelementptr inbounds i8, ptr @digit_table, i64 %idx.ext8.i.i2111 @@ -58160,8 +58160,8 @@ if.end105: ; preds = %if.then88 %and107 = and i32 %conv55, 248 %cmp108 = icmp eq i32 %and107, 240 %and112 = and i32 %conv55, 7 - %cmp113 = icmp ult i32 %and112, 5 - %or.cond152 = and i1 %cmp108, %cmp113 + %cmp113 = icmp samesign ult i32 %and112, 5 + %or.cond152 = select i1 %cmp108, i1 %cmp113, i1 false br label %return if.then120: ; preds = %if.then83 diff --git a/scripts/setup_pre_commit_patch.sh b/scripts/setup_pre_commit_patch.sh index 820278fb20a..9f90bcbc998 100755 --- a/scripts/setup_pre_commit_patch.sh +++ b/scripts/setup_pre_commit_patch.sh @@ -2,7 +2,7 @@ set -euo pipefail shopt -s inherit_errexit -export GITHUB_PATCH_ID="/llvm-project/commit/" +export GITHUB_PATCH_ID=llvm/llvm-project/pull/112642 # Please rebase manually # git fetch origin