diff --git a/bench/linux/optimized/rsrc.ll b/bench/linux/optimized/rsrc.ll index aa79ac66a4f..b5c186c7d0c 100644 --- a/bench/linux/optimized/rsrc.ll +++ b/bench/linux/optimized/rsrc.ll @@ -656,32 +656,32 @@ define internal fastcc i32 @__io_register_rsrc_update(ptr noundef captures(none) 173: ; preds = %169, %.thread16 %174 = load i64, ptr %146, align 8 - %175 = add i64 %174, 4095 - %176 = load ptr, ptr %6, align 8 - %177 = icmp eq ptr %176, null - br i1 %177, label %178, label %180 - -178: ; preds = %173 - %179 = icmp eq i64 %174, 0 - br i1 %179, label %187, label %.thread17 - -180: ; preds = %173 - %181 = add i64 %174, -1073741825 - %182 = icmp ult i64 %181, -1073741824 - br i1 %182, label %.thread17, label %183 - -183: ; preds = %180 - %184 = ptrtoint ptr %176 to i64 - %185 = call { i64, i1 } @llvm.uadd.with.overflow.i64(i64 %184, i64 %175) + %175 = load ptr, ptr %6, align 8 + %176 = icmp eq ptr %175, null + br i1 %176, label %177, label %179 + +177: ; preds = %173 + %178 = icmp eq i64 %174, 0 + br i1 %178, label %187, label %.thread17 + +179: ; preds = %173 + %180 = add i64 %174, -1073741825 + %181 = icmp ult i64 %180, -1073741824 + br i1 %181, label %.thread17, label %182 + +182: ; preds = %179 + %183 = ptrtoint ptr %175 to i64 + %184 = add nuw nsw i64 %174, 4095 + %185 = call { i64, i1 } @llvm.uadd.with.overflow.i64(i64 %183, i64 %184) %186 = extractvalue { i64, i1 } %185, 1 br i1 %186, label %.thread17, label %.thread24 -187: ; preds = %178 +187: ; preds = %177 %188 = load i64, ptr %9, align 8 %.not = icmp eq i64 %188, 0 br i1 %.not, label %.thread24, label %.thread17 -.thread24: ; preds = %183, %187 +.thread24: ; preds = %182, %187 %189 = call fastcc i32 @io_sqe_buffer_register(ptr noundef %0, ptr noundef nonnull %6, ptr noundef nonnull %8, ptr noundef nonnull %7) %190 = icmp eq i32 %189, 0 br i1 %190, label %191, label %.thread17 @@ -743,8 +743,8 @@ define internal fastcc i32 @__io_register_rsrc_update(ptr noundef captures(none) %230 = icmp eq i64 %229, %149 br i1 %230, label %.loopexit36, label %150, !llvm.loop !33 -.thread17: ; preds = %183, %180, %178, %164, %169, %187, %.thread24, %210, %168 - %.ph26 = phi i32 [ -14, %168 ], [ %208, %210 ], [ -75, %183 ], [ -14, %178 ], [ -14, %180 ], [ -14, %164 ], [ -14, %169 ], [ -22, %187 ], [ %189, %.thread24 ] +.thread17: ; preds = %.thread24, %187, %169, %164, %177, %179, %182, %210, %168 + %.ph26 = phi i32 [ -14, %168 ], [ %208, %210 ], [ %189, %.thread24 ], [ -22, %187 ], [ -14, %169 ], [ -14, %164 ], [ -14, %177 ], [ -14, %179 ], [ -75, %182 ] call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %9) #12 call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %8) #12 %231 = trunc i64 %151 to i32 @@ -1122,27 +1122,27 @@ define dso_local i32 @io_sqe_buffers_register(ptr noundef %0, ptr noundef %1, i3 56: ; preds = %.split %57 = load i64, ptr %24, align 8 - %58 = add i64 %57, 4095 - %59 = load ptr, ptr %7, align 8 - %60 = icmp eq ptr %59, null - br i1 %60, label %61, label %63 - -61: ; preds = %56 - %62 = icmp eq i64 %57, 0 - br i1 %62, label %.thread10, label %.thread - -63: ; preds = %56 - %64 = add i64 %57, -1073741825 - %65 = icmp ult i64 %64, -1073741824 - br i1 %65, label %.thread, label %66 - -66: ; preds = %63 - %67 = ptrtoint ptr %59 to i64 - %68 = call { i64, i1 } @llvm.uadd.with.overflow.i64(i64 %67, i64 %58) + %58 = load ptr, ptr %7, align 8 + %59 = icmp eq ptr %58, null + br i1 %59, label %60, label %62 + +60: ; preds = %56 + %61 = icmp eq i64 %57, 0 + br i1 %61, label %70, label %.thread + +62: ; preds = %56 + %63 = add i64 %57, -1073741825 + %64 = icmp ult i64 %63, -1073741824 + br i1 %64, label %.thread, label %65 + +65: ; preds = %62 + %66 = ptrtoint ptr %58 to i64 + %67 = add nuw nsw i64 %57, 4095 + %68 = call { i64, i1 } @llvm.uadd.with.overflow.i64(i64 %66, i64 %67) %69 = extractvalue { i64, i1 } %68, 1 br i1 %69, label %.thread, label %thread-pre-split -.thread10: ; preds = %61 +.thread10: ; preds = %60 %70 = and i64 %52, 511 %71 = lshr i64 %52, 9 %72 = load ptr, ptr %26, align 8 @@ -1154,7 +1154,7 @@ define dso_local i32 @io_sqe_buffers_register(ptr noundef %0, ptr noundef %1, i3 %78 = icmp eq i64 %77, 0 br i1 %78, label %thread-pre-split, label %.thread -thread-pre-split: ; preds = %66, %.thread10 +thread-pre-split: ; preds = %65, %.thread10 %79 = load ptr, ptr %8, align 8 %80 = getelementptr ptr, ptr %79, i64 %52 %81 = call fastcc i32 @io_sqe_buffer_register(ptr noundef %0, ptr noundef nonnull %7, ptr noundef %80, ptr noundef nonnull %5) @@ -1169,8 +1169,8 @@ thread-pre-split: ; preds = %66, %.thread10 %87 = icmp eq i64 %84, %28 br i1 %87, label %.thread, label %.split, !llvm.loop !35 -.thread: ; preds = %.split, %.thread10, %thread-pre-split, %83, %61, %63, %66, %.thread10.critedge.us, %40, %45 - %.us-phi = phi i32 [ 0, %45 ], [ %43, %40 ], [ -22, %.thread10.critedge.us ], [ 0, %83 ], [ %54, %.split ], [ %81, %thread-pre-split ], [ -22, %.thread10 ], [ -14, %63 ], [ -14, %61 ], [ -75, %66 ] +.thread: ; preds = %.split, %.thread10, %thread-pre-split, %83, %60, %62, %65, %.thread10.critedge.us, %40, %45 + %.us-phi = phi i32 [ 0, %45 ], [ %43, %40 ], [ -22, %.thread10.critedge.us ], [ -14, %62 ], [ -14, %60 ], [ 0, %84 ], [ %81, %thread-pre-split ], [ -22, %.thread10 ], [ %54, %.split ], [ -75, %65 ] %88 = getelementptr inbounds nuw i8, ptr %0, i64 1128 %89 = load ptr, ptr %88, align 8 %90 = icmp eq ptr %89, null diff --git a/bench/openjdk/optimized/mathexactnode.ll b/bench/openjdk/optimized/mathexactnode.ll index 0e4aa950570..0388d68eec6 100644 --- a/bench/openjdk/optimized/mathexactnode.ll +++ b/bench/openjdk/optimized/mathexactnode.ll @@ -108,15 +108,13 @@ define hidden noundef zeroext i1 @_ZN16OverflowMulLNode11is_overflowEll(i64 noun %6 = icmp eq i64 %0, -9223372036854775808 %7 = icmp eq i64 %1, -9223372036854775808 %or.cond7 = or i1 %6, %7 - br i1 %or.cond7, label %9, label %8 - -8: ; preds = %5 %mul = tail call { i64, i1 } @llvm.smul.with.overflow.i64(i64 %1, i64 %0) %mul.ov = extractvalue { i64, i1 } %mul, 1 - br label %9 + %spec.select = or i1 %or.cond7, %mul.ov + br label %8 -9: ; preds = %8, %5, %2 - %.0 = phi i1 [ false, %2 ], [ true, %5 ], [ %mul.ov, %8 ] +9: ; preds = %5, %2 + %.0 = phi i1 [ false, %2 ], [ %spec.select, %5 ] ret i1 %.0 } diff --git a/bench/qemu/optimized/fpu_softfloat.c.ll b/bench/qemu/optimized/fpu_softfloat.c.ll index cced8eb7292..60fe31c977f 100644 --- a/bench/qemu/optimized/fpu_softfloat.c.ll +++ b/bench/qemu/optimized/fpu_softfloat.c.ll @@ -33911,16 +33911,10 @@ if.else119: ; preds = %if.else114 %35 = or i1 %cmp122, %tobool120 %.phi.trans.insert = getelementptr i8, ptr %p, i64 8 %.pre = load i64, ptr %.phi.trans.insert, align 8 - br i1 %35, label %if.end131, label %if.then126 - -if.then126: ; preds = %if.else119 %36 = tail call { i64, i1 } @llvm.uadd.with.overflow.i64(i64 %.pre, i64 %inc.0) %37 = extractvalue { i64, i1 } %36, 1 %lnot128 = xor i1 %37, true - br label %if.end131 - -if.end131: ; preds = %if.else119, %if.then126 - %is_tiny.0.in = phi i1 [ %lnot128, %if.then126 ], [ true, %if.else119 ] + %spec.select131 = select i1 %35, i1 true, i1 %lnot128 %m68k_denormal = getelementptr inbounds nuw i8, ptr %fmt, i64 25 %38 = load i8, ptr %m68k_denormal, align 1 %39 = and i8 %38, 1 @@ -33931,7 +33925,7 @@ if.end131: ; preds = %if.else119, %if.the %cmp.not.i = icmp eq i32 %add35, %lnot.ext134 br i1 %cmp.not.i, label %frac64_shrjam.exit, label %if.then.i -if.then.i: ; preds = %if.end131 +if.then.i: ; preds = %if.else119 %cmp2.i = icmp slt i32 %sub135, 64 br i1 %cmp2.i, label %if.then10.i, label %if.else.i @@ -33954,8 +33948,8 @@ if.end.i: ; preds = %if.else.i, %if.then store i64 %a0.0.i, ptr %41, align 8 br label %frac64_shrjam.exit -frac64_shrjam.exit: ; preds = %if.end131, %if.end.i - %43 = phi i64 [ %.pre, %if.end131 ], [ %a0.0.i, %if.end.i ] +frac64_shrjam.exit: ; preds = %if.else119, %if.end.i + %43 = phi i64 [ %.pre, %if.else119 ], [ %a0.0.i, %if.end.i ] %and136 = and i64 %43, %2 %tobool137.not = icmp eq i64 %and136, 0 br i1 %tobool137.not, label %if.end162, label %if.then138 @@ -34002,7 +33996,7 @@ land.end: ; preds = %if.end162 store i64 %shr.i119, ptr %41, align 8 %or174 = or disjoint i16 %flags.4, 8 %spec.select = select i1 %tobool137.not, i16 %flags.4, i16 %or174 - %flags.5 = select i1 %is_tiny.0.in, i16 %spec.select, i16 %flags.4 + %flags.5 = select i1 %spec.select131, i16 %spec.select, i16 %flags.4 %49 = xor i8 %48, 1 %spec.select130 = zext nneg i8 %49 to i32 br label %if.end186 @@ -34013,7 +34007,7 @@ land.lhs.true178: ; preds = %if.end162 store i64 %shr.i119122, ptr %41, align 8 %or174123 = or disjoint i16 %flags.4, 8 %spec.select124 = select i1 %tobool137.not, i16 %flags.4, i16 %or174123 - %flags.5125 = select i1 %is_tiny.0.in, i16 %spec.select124, i16 %flags.4 + %flags.5125 = select i1 %spec.select131, i16 %spec.select124, i16 %flags.4 %50 = icmp eq i64 %shr.i119122, 0 br i1 %50, label %if.then181, label %if.end186 diff --git a/scripts/setup_pre_commit_patch.sh b/scripts/setup_pre_commit_patch.sh index c5409e09ef4..df4c1808e86 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/124933 export COMPTIME_MODE=0 # Please rebase manually