From 6c8324fe62a9cad95d57af52ad113c4cc6ce0c63 Mon Sep 17 00:00:00 2001 From: dtcxzyw <15650457+dtcxzyw@users.noreply.github.com> Date: Sun, 2 Feb 2025 10:36:19 +0800 Subject: [PATCH 1/3] pre-commit: PR124933 --- scripts/setup_pre_commit_patch.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 From 82db4bd2921d520c09beeb0667c03fb42229106a Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Sun, 2 Feb 2025 02:58:03 +0000 Subject: [PATCH 2/3] pre-commit: Update --- bench/linux/optimized/rsrc.ll | 190 +++++++++--------- bench/openjdk/optimized/mathexactnode.ll | 12 +- bench/qemu/optimized/fpu_softfloat.c.ll | 18 +- .../optimized/a1jdntn5hiutu9tuect63bb1g.ll | 8 +- 4 files changed, 110 insertions(+), 118 deletions(-) diff --git a/bench/linux/optimized/rsrc.ll b/bench/linux/optimized/rsrc.ll index aa79ac66a4f..d49b0abaaae 100644 --- a/bench/linux/optimized/rsrc.ll +++ b/bench/linux/optimized/rsrc.ll @@ -549,11 +549,11 @@ define internal fastcc i32 @__io_register_rsrc_update(ptr noundef captures(none) .loopexit.loopexit: ; preds = %90, %73, %50, %42, %46 %.ph.ph = phi i32 [ -9, %90 ], [ %76, %73 ], [ -22, %50 ], [ -14, %42 ], [ -14, %46 ] - %.pre53 = trunc i64 %41 to i32 + %.pre73 = trunc i64 %41 to i32 br label %.loopexit .loopexit: ; preds = %.loopexit.loopexit, %95 - %.pre-phi = phi i32 [ %.pre53, %.loopexit.loopexit ], [ %60, %95 ] + %.pre-phi = phi i32 [ %.pre73, %.loopexit.loopexit ], [ %60, %95 ] %.ph = phi i32 [ %.ph.ph, %.loopexit.loopexit ], [ -9, %95 ] call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %11) #12 br label %.loopexit35 @@ -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 @@ -1046,19 +1046,19 @@ define dso_local i32 @io_sqe_buffers_register(ptr noundef %0, ptr noundef %1, i3 %8 = getelementptr inbounds nuw i8, ptr %0, i64 168 %9 = load ptr, ptr %8, align 8 %10 = icmp eq ptr %9, null - br i1 %10, label %11, label %95 + br i1 %10, label %11, label %97 11: ; preds = %4 %12 = add i32 %2, -16385 %13 = icmp ult i32 %12, -16384 - br i1 %13, label %95, label %14 + br i1 %13, label %97, label %14 14: ; preds = %11 store ptr null, ptr %6, align 8, !annotation !20 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %7, i8 0, i64 16, i1 false), !annotation !20 %15 = call fastcc i32 @io_rsrc_data_alloc(ptr noundef %0, i32 noundef 1, ptr noundef %3, i32 noundef %2, ptr noundef nonnull %6) #14 %16 = icmp eq i32 %15, 0 - br i1 %16, label %17, label %95 + br i1 %16, label %17, label %97 17: ; preds = %14 %18 = shl nuw nsw i32 %2, 3 @@ -1076,9 +1076,9 @@ define dso_local i32 @io_sqe_buffers_register(ptr noundef %0, ptr noundef %1, i3 %27 = getelementptr inbounds nuw i8, ptr %0, i64 164 %28 = zext nneg i32 %2 to i64 %29 = getelementptr i8, ptr %0, i64 4 - br i1 %23, label %.thread10.critedge.us, label %.split + br i1 %23, label %.critedge.us, label %.split -.thread10.critedge.us: ; preds = %22, %45 +.critedge.us: ; preds = %22, %45 %30 = phi i64 [ %46, %45 ], [ 0, %22 ] call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %7, i8 0, i64 16, i1 false) %31 = and i64 %30, 511 @@ -1092,7 +1092,7 @@ define dso_local i32 @io_sqe_buffers_register(ptr noundef %0, ptr noundef %1, i3 %39 = icmp eq i64 %38, 0 br i1 %39, label %40, label %.thread -40: ; preds = %.thread10.critedge.us +40: ; preds = %.critedge.us %41 = load ptr, ptr %8, align 8 %42 = getelementptr ptr, ptr %41, i64 %30 %43 = call fastcc i32 @io_sqe_buffer_register(ptr noundef %0, ptr noundef nonnull %7, ptr noundef %42, ptr noundef nonnull %5) @@ -1105,15 +1105,15 @@ define dso_local i32 @io_sqe_buffers_register(ptr noundef %0, ptr noundef %1, i3 %48 = add i32 %47, 1 store i32 %48, ptr %27, align 4 %49 = icmp eq i64 %46, %28 - br i1 %49, label %.thread, label %.thread10.critedge.us, !llvm.loop !35 + br i1 %49, label %.thread, label %.critedge.us, !llvm.loop !35 50: ; preds = %17 %51 = load ptr, ptr %6, align 8 tail call fastcc void @io_rsrc_data_free(ptr noundef %51) - br label %95 + br label %97 -.split: ; preds = %22, %83 - %52 = phi i64 [ %84, %83 ], [ 0, %22 ] +.split: ; preds = %22, %84 + %52 = phi i64 [ %85, %84 ], [ 0, %22 ] %53 = trunc i64 %52 to i32 %.val = load i16, ptr %29, align 4 %54 = call fastcc i32 @io_copy_iov(i16 %.val, ptr noundef nonnull %7, ptr noundef nonnull %1, i32 noundef %53) @@ -1122,81 +1122,81 @@ 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 - %70 = and i64 %52, 511 - %71 = lshr i64 %52, 9 - %72 = load ptr, ptr %26, align 8 - %73 = and i64 %71, 8388607 - %74 = getelementptr ptr, ptr %72, i64 %73 - %75 = load ptr, ptr %74, align 8 - %76 = getelementptr i64, ptr %75, i64 %70 - %77 = load i64, ptr %76, align 8 - %78 = icmp eq i64 %77, 0 - br i1 %78, label %thread-pre-split, label %.thread - -thread-pre-split: ; preds = %66, %.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) - %82 = icmp eq i32 %81, 0 - br i1 %82, label %83, label %.thread - -83: ; preds = %thread-pre-split - %84 = add nuw nsw i64 %52, 1 - %85 = load i32, ptr %27, align 4 - %86 = add i32 %85, 1 - store i32 %86, ptr %27, align 4 - %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 ] - %88 = getelementptr inbounds nuw i8, ptr %0, i64 1128 - %89 = load ptr, ptr %88, align 8 - %90 = icmp eq ptr %89, null - br i1 %90, label %92, label %91, !prof !13 - -91: ; preds = %.thread +70: ; preds = %60 + %71 = and i64 %52, 511 + %72 = lshr i64 %52, 9 + %73 = load ptr, ptr %26, align 8 + %74 = and i64 %72, 8388607 + %75 = getelementptr ptr, ptr %73, i64 %74 + %76 = load ptr, ptr %75, align 8 + %77 = getelementptr i64, ptr %76, i64 %71 + %78 = load i64, ptr %77, align 8 + %79 = icmp eq i64 %78, 0 + br i1 %79, label %thread-pre-split, label %.thread + +thread-pre-split: ; preds = %65, %70 + %80 = load ptr, ptr %8, align 8 + %81 = getelementptr ptr, ptr %80, i64 %52 + %82 = call fastcc i32 @io_sqe_buffer_register(ptr noundef %0, ptr noundef nonnull %7, ptr noundef %81, ptr noundef nonnull %5) + %83 = icmp eq i32 %82, 0 + br i1 %83, label %84, label %.thread + +84: ; preds = %thread-pre-split + %85 = add nuw nsw i64 %52, 1 + %86 = load i32, ptr %27, align 4 + %87 = add i32 %86, 1 + store i32 %87, ptr %27, align 4 + %88 = icmp eq i64 %85, %28 + br i1 %88, label %.thread, label %.split, !llvm.loop !35 + +.thread: ; preds = %.split, %70, %thread-pre-split, %84, %60, %62, %65, %.critedge.us, %40, %45 + %89 = phi i32 [ 0, %45 ], [ %43, %40 ], [ -22, %.critedge.us ], [ -14, %62 ], [ -14, %60 ], [ 0, %84 ], [ %82, %thread-pre-split ], [ -22, %70 ], [ %54, %.split ], [ -75, %65 ] + %90 = getelementptr inbounds nuw i8, ptr %0, i64 1128 + %91 = load ptr, ptr %90, align 8 + %92 = icmp eq ptr %91, null + br i1 %92, label %94, label %93, !prof !13 + +93: ; preds = %.thread call void asm sideeffect "987: nop\0A\09.pushsection .discard.instr_begin\0A\09.long 987b - .\0A\09.popsection\0A\09", "i,~{dirflag},~{fpsr},~{flags}"(i32 987) #12, !srcloc !36 call void asm sideeffect "1:\09.byte 0x0f, 0x0b\0A.pushsection __bug_table,\22aw\22\0A2:\09.long 1b - .\09# bug_entry::bug_addr\0A\09.long ${0:c} - .\09# bug_entry::file\0A\09.word ${1:c}\09# bug_entry::line\0A\09.word ${2:c}\09# bug_entry::flags\0A\09.org 2b+${3:c}\0A.popsection\0A998:\0A\09.pushsection .discard.reachable\0A\09.long 998b\0A\09.popsection\0A\09", "i,i,i,i,~{dirflag},~{fpsr},~{flags}"(ptr nonnull @.str, i32 1051, i32 2307, i64 12) #12, !srcloc !37 call void asm sideeffect "988: nop\0A\09.pushsection .discard.instr_end\0A\09.long 988b - .\0A\09.popsection\0A\09", "i,~{dirflag},~{fpsr},~{flags}"(i32 988) #12, !srcloc !38 - br label %92 + br label %94 -92: ; preds = %91, %.thread - store ptr %25, ptr %88, align 8 - %93 = icmp eq i32 %.us-phi, 0 - br i1 %93, label %95, label %94 +94: ; preds = %93, %.thread + store ptr %25, ptr %90, align 8 + %95 = icmp eq i32 %89, 0 + br i1 %95, label %97, label %96 -94: ; preds = %92 +96: ; preds = %94 call void @__io_sqe_buffers_unregister(ptr noundef %0) - br label %95 + br label %97 -95: ; preds = %94, %92, %50, %14, %11, %4 - %96 = phi i32 [ -12, %50 ], [ -16, %4 ], [ -22, %11 ], [ %15, %14 ], [ %.us-phi, %94 ], [ 0, %92 ] +97: ; preds = %96, %94, %50, %14, %11, %4 + %98 = phi i32 [ -12, %50 ], [ -16, %4 ], [ -22, %11 ], [ %15, %14 ], [ %89, %96 ], [ 0, %94 ] call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %7) #12 call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %6) #12 call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %5) #12 - ret i32 %96 + ret i32 %98 } ; Function Attrs: fn_ret_thunk_extern mustprogress nofree norecurse nounwind null_pointer_is_valid willreturn memory(argmem: readwrite, inaccessiblemem: readwrite) diff --git a/bench/openjdk/optimized/mathexactnode.ll b/bench/openjdk/optimized/mathexactnode.ll index 0e4aa950570..cf69d4b18dd 100644 --- a/bench/openjdk/optimized/mathexactnode.ll +++ b/bench/openjdk/optimized/mathexactnode.ll @@ -102,21 +102,19 @@ define hidden noundef zeroext i1 @_ZN16OverflowMulLNode11is_overflowEll(i64 noun %3 = icmp ult i64 %0, 2 %4 = icmp ult i64 %1, 2 %or.cond5 = or i1 %3, %4 - br i1 %or.cond5, label %9, label %5 + br i1 %or.cond5, label %8, label %5 5: ; preds = %2 %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 ] +8: ; 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/bench/zed-rs/optimized/a1jdntn5hiutu9tuect63bb1g.ll b/bench/zed-rs/optimized/a1jdntn5hiutu9tuect63bb1g.ll index 004da3bf9f3..9a21d60de28 100644 --- a/bench/zed-rs/optimized/a1jdntn5hiutu9tuect63bb1g.ll +++ b/bench/zed-rs/optimized/a1jdntn5hiutu9tuect63bb1g.ll @@ -1400,7 +1400,7 @@ _ZN4core3ops8function6FnOnce9call_once17h6c0943567e2e9cdbE.exit.i56.i.i.i: ; pre invoke void @"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$15try_allocate_in17h4b1ce5d8d95d4603E"(ptr noalias noundef nonnull sret([24 x i8]) align 8 captures(none) dereferenceable(24) %5, i64 noundef %.sroa.0.0.sroa.speculated.i, i1 noundef zeroext false) to label %50 unwind label %44 -43: ; preds = %.loopexit7, %12 +43: ; preds = %.loopexit8, %12 call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %9) ret void @@ -1451,7 +1451,7 @@ _ZN4core3ops8function6FnOnce9call_once17h6c0943567e2e9cdbE.exit.i56.i.i.i: ; pre .noexc5: ; preds = %55 %57 = load ptr, ptr %4, align 8, !noalias !522, !noundef !11 %58 = icmp eq ptr %57, null - br i1 %58, label %.loopexit7, label %.lr.ph.i.i + br i1 %58, label %.loopexit8, label %.lr.ph.i.i .lr.ph.i.i: ; preds = %.noexc5 %59 = getelementptr inbounds nuw i8, ptr %6, i64 168 @@ -1521,7 +1521,7 @@ _ZN4core3ops8function6FnOnce9call_once17h6c0943567e2e9cdbE.exit.i56.i.i.i.i.i: ; .noexc6: ; preds = %89 %93 = load ptr, ptr %4, align 8, !noalias !522, !noundef !11 %94 = icmp eq ptr %93, null - br i1 %94, label %.loopexit7, label %68 + br i1 %94, label %.loopexit8, label %68 95: ; preds = %"_ZN4core6option15Option$LT$T$GT$6map_or17hd19ec75ba6826803E.exit62.i.i.i.i.i" %96 = landingpad { ptr, i32 } @@ -1572,7 +1572,7 @@ _ZN4core3ops8function6FnOnce9call_once17h6c0943567e2e9cdbE.exit.i56.i.i.i.i.i: ; invoke void @"_ZN4core3ptr64drop_in_place$LT$alloc..vec..Vec$LT$project..ProjectPath$GT$$GT$17h156d696d4d6da561E"(ptr noalias noundef nonnull align 8 dereferenceable(24) %9) #35 to label %"_ZN4core3ptr41drop_in_place$LT$project..ProjectPath$GT$17h0be199d9ba38ee1bE.exit" unwind label %107 -.loopexit7: ; preds = %.noexc6, %.noexc5 +.loopexit8: ; preds = %.noexc6, %.noexc5 call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %4), !noalias !521 call void @llvm.lifetime.end.p0(i64 400, ptr nonnull %6) call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %0, ptr noundef nonnull align 8 dereferenceable(24) %9, i64 24, i1 false) From 88bf7f93e7e5f57f7cd1fc2eb91a05cfe197bdd3 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Sun, 2 Feb 2025 02:58:04 +0000 Subject: [PATCH 3/3] pre-commit: Remap --- bench/linux/optimized/rsrc.ll | 114 +++++++++--------- bench/openjdk/optimized/mathexactnode.ll | 4 +- .../optimized/a1jdntn5hiutu9tuect63bb1g.ll | 8 +- 3 files changed, 63 insertions(+), 63 deletions(-) diff --git a/bench/linux/optimized/rsrc.ll b/bench/linux/optimized/rsrc.ll index d49b0abaaae..b5c186c7d0c 100644 --- a/bench/linux/optimized/rsrc.ll +++ b/bench/linux/optimized/rsrc.ll @@ -549,11 +549,11 @@ define internal fastcc i32 @__io_register_rsrc_update(ptr noundef captures(none) .loopexit.loopexit: ; preds = %90, %73, %50, %42, %46 %.ph.ph = phi i32 [ -9, %90 ], [ %76, %73 ], [ -22, %50 ], [ -14, %42 ], [ -14, %46 ] - %.pre73 = trunc i64 %41 to i32 + %.pre53 = trunc i64 %41 to i32 br label %.loopexit .loopexit: ; preds = %.loopexit.loopexit, %95 - %.pre-phi = phi i32 [ %.pre73, %.loopexit.loopexit ], [ %60, %95 ] + %.pre-phi = phi i32 [ %.pre53, %.loopexit.loopexit ], [ %60, %95 ] %.ph = phi i32 [ %.ph.ph, %.loopexit.loopexit ], [ -9, %95 ] call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %11) #12 br label %.loopexit35 @@ -1046,19 +1046,19 @@ define dso_local i32 @io_sqe_buffers_register(ptr noundef %0, ptr noundef %1, i3 %8 = getelementptr inbounds nuw i8, ptr %0, i64 168 %9 = load ptr, ptr %8, align 8 %10 = icmp eq ptr %9, null - br i1 %10, label %11, label %97 + br i1 %10, label %11, label %95 11: ; preds = %4 %12 = add i32 %2, -16385 %13 = icmp ult i32 %12, -16384 - br i1 %13, label %97, label %14 + br i1 %13, label %95, label %14 14: ; preds = %11 store ptr null, ptr %6, align 8, !annotation !20 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %7, i8 0, i64 16, i1 false), !annotation !20 %15 = call fastcc i32 @io_rsrc_data_alloc(ptr noundef %0, i32 noundef 1, ptr noundef %3, i32 noundef %2, ptr noundef nonnull %6) #14 %16 = icmp eq i32 %15, 0 - br i1 %16, label %17, label %97 + br i1 %16, label %17, label %95 17: ; preds = %14 %18 = shl nuw nsw i32 %2, 3 @@ -1076,9 +1076,9 @@ define dso_local i32 @io_sqe_buffers_register(ptr noundef %0, ptr noundef %1, i3 %27 = getelementptr inbounds nuw i8, ptr %0, i64 164 %28 = zext nneg i32 %2 to i64 %29 = getelementptr i8, ptr %0, i64 4 - br i1 %23, label %.critedge.us, label %.split + br i1 %23, label %.thread10.critedge.us, label %.split -.critedge.us: ; preds = %22, %45 +.thread10.critedge.us: ; preds = %22, %45 %30 = phi i64 [ %46, %45 ], [ 0, %22 ] call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %7, i8 0, i64 16, i1 false) %31 = and i64 %30, 511 @@ -1092,7 +1092,7 @@ define dso_local i32 @io_sqe_buffers_register(ptr noundef %0, ptr noundef %1, i3 %39 = icmp eq i64 %38, 0 br i1 %39, label %40, label %.thread -40: ; preds = %.critedge.us +40: ; preds = %.thread10.critedge.us %41 = load ptr, ptr %8, align 8 %42 = getelementptr ptr, ptr %41, i64 %30 %43 = call fastcc i32 @io_sqe_buffer_register(ptr noundef %0, ptr noundef nonnull %7, ptr noundef %42, ptr noundef nonnull %5) @@ -1105,15 +1105,15 @@ define dso_local i32 @io_sqe_buffers_register(ptr noundef %0, ptr noundef %1, i3 %48 = add i32 %47, 1 store i32 %48, ptr %27, align 4 %49 = icmp eq i64 %46, %28 - br i1 %49, label %.thread, label %.critedge.us, !llvm.loop !35 + br i1 %49, label %.thread, label %.thread10.critedge.us, !llvm.loop !35 50: ; preds = %17 %51 = load ptr, ptr %6, align 8 tail call fastcc void @io_rsrc_data_free(ptr noundef %51) - br label %97 + br label %95 -.split: ; preds = %22, %84 - %52 = phi i64 [ %85, %84 ], [ 0, %22 ] +.split: ; preds = %22, %83 + %52 = phi i64 [ %84, %83 ], [ 0, %22 ] %53 = trunc i64 %52 to i32 %.val = load i16, ptr %29, align 4 %54 = call fastcc i32 @io_copy_iov(i16 %.val, ptr noundef nonnull %7, ptr noundef nonnull %1, i32 noundef %53) @@ -1142,61 +1142,61 @@ define dso_local i32 @io_sqe_buffers_register(ptr noundef %0, ptr noundef %1, i3 %69 = extractvalue { i64, i1 } %68, 1 br i1 %69, label %.thread, label %thread-pre-split -70: ; preds = %60 - %71 = and i64 %52, 511 - %72 = lshr i64 %52, 9 - %73 = load ptr, ptr %26, align 8 - %74 = and i64 %72, 8388607 - %75 = getelementptr ptr, ptr %73, i64 %74 - %76 = load ptr, ptr %75, align 8 - %77 = getelementptr i64, ptr %76, i64 %71 - %78 = load i64, ptr %77, align 8 - %79 = icmp eq i64 %78, 0 - br i1 %79, label %thread-pre-split, label %.thread - -thread-pre-split: ; preds = %65, %70 - %80 = load ptr, ptr %8, align 8 - %81 = getelementptr ptr, ptr %80, i64 %52 - %82 = call fastcc i32 @io_sqe_buffer_register(ptr noundef %0, ptr noundef nonnull %7, ptr noundef %81, ptr noundef nonnull %5) - %83 = icmp eq i32 %82, 0 - br i1 %83, label %84, label %.thread - -84: ; preds = %thread-pre-split - %85 = add nuw nsw i64 %52, 1 - %86 = load i32, ptr %27, align 4 - %87 = add i32 %86, 1 - store i32 %87, ptr %27, align 4 - %88 = icmp eq i64 %85, %28 - br i1 %88, label %.thread, label %.split, !llvm.loop !35 - -.thread: ; preds = %.split, %70, %thread-pre-split, %84, %60, %62, %65, %.critedge.us, %40, %45 - %89 = phi i32 [ 0, %45 ], [ %43, %40 ], [ -22, %.critedge.us ], [ -14, %62 ], [ -14, %60 ], [ 0, %84 ], [ %82, %thread-pre-split ], [ -22, %70 ], [ %54, %.split ], [ -75, %65 ] - %90 = getelementptr inbounds nuw i8, ptr %0, i64 1128 - %91 = load ptr, ptr %90, align 8 - %92 = icmp eq ptr %91, null - br i1 %92, label %94, label %93, !prof !13 - -93: ; preds = %.thread +.thread10: ; preds = %60 + %70 = and i64 %52, 511 + %71 = lshr i64 %52, 9 + %72 = load ptr, ptr %26, align 8 + %73 = and i64 %71, 8388607 + %74 = getelementptr ptr, ptr %72, i64 %73 + %75 = load ptr, ptr %74, align 8 + %76 = getelementptr i64, ptr %75, i64 %70 + %77 = load i64, ptr %76, align 8 + %78 = icmp eq i64 %77, 0 + br i1 %78, label %thread-pre-split, label %.thread + +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) + %82 = icmp eq i32 %81, 0 + br i1 %82, label %83, label %.thread + +83: ; preds = %thread-pre-split + %84 = add nuw nsw i64 %52, 1 + %85 = load i32, ptr %27, align 4 + %86 = add i32 %85, 1 + store i32 %86, ptr %27, align 4 + %87 = icmp eq i64 %84, %28 + br i1 %87, label %.thread, label %.split, !llvm.loop !35 + +.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 + br i1 %90, label %92, label %91, !prof !13 + +91: ; preds = %.thread call void asm sideeffect "987: nop\0A\09.pushsection .discard.instr_begin\0A\09.long 987b - .\0A\09.popsection\0A\09", "i,~{dirflag},~{fpsr},~{flags}"(i32 987) #12, !srcloc !36 call void asm sideeffect "1:\09.byte 0x0f, 0x0b\0A.pushsection __bug_table,\22aw\22\0A2:\09.long 1b - .\09# bug_entry::bug_addr\0A\09.long ${0:c} - .\09# bug_entry::file\0A\09.word ${1:c}\09# bug_entry::line\0A\09.word ${2:c}\09# bug_entry::flags\0A\09.org 2b+${3:c}\0A.popsection\0A998:\0A\09.pushsection .discard.reachable\0A\09.long 998b\0A\09.popsection\0A\09", "i,i,i,i,~{dirflag},~{fpsr},~{flags}"(ptr nonnull @.str, i32 1051, i32 2307, i64 12) #12, !srcloc !37 call void asm sideeffect "988: nop\0A\09.pushsection .discard.instr_end\0A\09.long 988b - .\0A\09.popsection\0A\09", "i,~{dirflag},~{fpsr},~{flags}"(i32 988) #12, !srcloc !38 - br label %94 + br label %92 -94: ; preds = %93, %.thread - store ptr %25, ptr %90, align 8 - %95 = icmp eq i32 %89, 0 - br i1 %95, label %97, label %96 +92: ; preds = %91, %.thread + store ptr %25, ptr %88, align 8 + %93 = icmp eq i32 %.us-phi, 0 + br i1 %93, label %95, label %94 -96: ; preds = %94 +94: ; preds = %92 call void @__io_sqe_buffers_unregister(ptr noundef %0) - br label %97 + br label %95 -97: ; preds = %96, %94, %50, %14, %11, %4 - %98 = phi i32 [ -12, %50 ], [ -16, %4 ], [ -22, %11 ], [ %15, %14 ], [ %89, %96 ], [ 0, %94 ] +95: ; preds = %94, %92, %50, %14, %11, %4 + %96 = phi i32 [ -12, %50 ], [ -16, %4 ], [ -22, %11 ], [ %15, %14 ], [ %.us-phi, %94 ], [ 0, %92 ] call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %7) #12 call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %6) #12 call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %5) #12 - ret i32 %98 + ret i32 %96 } ; Function Attrs: fn_ret_thunk_extern mustprogress nofree norecurse nounwind null_pointer_is_valid willreturn memory(argmem: readwrite, inaccessiblemem: readwrite) diff --git a/bench/openjdk/optimized/mathexactnode.ll b/bench/openjdk/optimized/mathexactnode.ll index cf69d4b18dd..0388d68eec6 100644 --- a/bench/openjdk/optimized/mathexactnode.ll +++ b/bench/openjdk/optimized/mathexactnode.ll @@ -102,7 +102,7 @@ define hidden noundef zeroext i1 @_ZN16OverflowMulLNode11is_overflowEll(i64 noun %3 = icmp ult i64 %0, 2 %4 = icmp ult i64 %1, 2 %or.cond5 = or i1 %3, %4 - br i1 %or.cond5, label %8, label %5 + br i1 %or.cond5, label %9, label %5 5: ; preds = %2 %6 = icmp eq i64 %0, -9223372036854775808 @@ -113,7 +113,7 @@ define hidden noundef zeroext i1 @_ZN16OverflowMulLNode11is_overflowEll(i64 noun %spec.select = or i1 %or.cond7, %mul.ov br label %8 -8: ; preds = %5, %2 +9: ; preds = %5, %2 %.0 = phi i1 [ false, %2 ], [ %spec.select, %5 ] ret i1 %.0 } diff --git a/bench/zed-rs/optimized/a1jdntn5hiutu9tuect63bb1g.ll b/bench/zed-rs/optimized/a1jdntn5hiutu9tuect63bb1g.ll index 9a21d60de28..004da3bf9f3 100644 --- a/bench/zed-rs/optimized/a1jdntn5hiutu9tuect63bb1g.ll +++ b/bench/zed-rs/optimized/a1jdntn5hiutu9tuect63bb1g.ll @@ -1400,7 +1400,7 @@ _ZN4core3ops8function6FnOnce9call_once17h6c0943567e2e9cdbE.exit.i56.i.i.i: ; pre invoke void @"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$15try_allocate_in17h4b1ce5d8d95d4603E"(ptr noalias noundef nonnull sret([24 x i8]) align 8 captures(none) dereferenceable(24) %5, i64 noundef %.sroa.0.0.sroa.speculated.i, i1 noundef zeroext false) to label %50 unwind label %44 -43: ; preds = %.loopexit8, %12 +43: ; preds = %.loopexit7, %12 call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %9) ret void @@ -1451,7 +1451,7 @@ _ZN4core3ops8function6FnOnce9call_once17h6c0943567e2e9cdbE.exit.i56.i.i.i: ; pre .noexc5: ; preds = %55 %57 = load ptr, ptr %4, align 8, !noalias !522, !noundef !11 %58 = icmp eq ptr %57, null - br i1 %58, label %.loopexit8, label %.lr.ph.i.i + br i1 %58, label %.loopexit7, label %.lr.ph.i.i .lr.ph.i.i: ; preds = %.noexc5 %59 = getelementptr inbounds nuw i8, ptr %6, i64 168 @@ -1521,7 +1521,7 @@ _ZN4core3ops8function6FnOnce9call_once17h6c0943567e2e9cdbE.exit.i56.i.i.i.i.i: ; .noexc6: ; preds = %89 %93 = load ptr, ptr %4, align 8, !noalias !522, !noundef !11 %94 = icmp eq ptr %93, null - br i1 %94, label %.loopexit8, label %68 + br i1 %94, label %.loopexit7, label %68 95: ; preds = %"_ZN4core6option15Option$LT$T$GT$6map_or17hd19ec75ba6826803E.exit62.i.i.i.i.i" %96 = landingpad { ptr, i32 } @@ -1572,7 +1572,7 @@ _ZN4core3ops8function6FnOnce9call_once17h6c0943567e2e9cdbE.exit.i56.i.i.i.i.i: ; invoke void @"_ZN4core3ptr64drop_in_place$LT$alloc..vec..Vec$LT$project..ProjectPath$GT$$GT$17h156d696d4d6da561E"(ptr noalias noundef nonnull align 8 dereferenceable(24) %9) #35 to label %"_ZN4core3ptr41drop_in_place$LT$project..ProjectPath$GT$17h0be199d9ba38ee1bE.exit" unwind label %107 -.loopexit8: ; preds = %.noexc6, %.noexc5 +.loopexit7: ; preds = %.noexc6, %.noexc5 call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %4), !noalias !521 call void @llvm.lifetime.end.p0(i64 400, ptr nonnull %6) call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %0, ptr noundef nonnull align 8 dereferenceable(24) %9, i64 24, i1 false)