diff --git a/bench/pola-rs/optimized/91ojamjedp83lpe0pc0cw0okj.ll b/bench/pola-rs/optimized/91ojamjedp83lpe0pc0cw0okj.ll index 2c355f136d6..f8eba6dec95 100644 --- a/bench/pola-rs/optimized/91ojamjedp83lpe0pc0cw0okj.ll +++ b/bench/pola-rs/optimized/91ojamjedp83lpe0pc0cw0okj.ll @@ -224127,8 +224127,8 @@ define hidden void @"_ZN77_$LT$pyo3..marker..Python$u20$as$u20$polars_python..ut call void @_ZN4core9panicking16panic_in_cleanup17h6c71d900efd8fbf6E() #36, !noalias !43175 unreachable -common.resume: ; preds = %39, %19, %13 - %common.resume.op = phi { ptr, i32 } [ %14, %13 ], [ %lpad.thr_comm.split-lp, %19 ], [ %lpad.thr_comm.split-lp, %39 ] +common.resume: ; preds = %39, %19, %19, %13 + %common.resume.op = phi { ptr, i32 } [ %14, %13 ], [ %lpad.thr_comm.split-lp, %switch.early.test ], [ %lpad.thr_comm, %switch.early.test ], [ %lpad.thr_comm.split-lp, %37 ] resume { ptr, i32 } %common.resume.op _ZN4pyo36marker6Python13allow_threads17ha4eadf5e18767995E.exit: ; preds = %3 @@ -224137,15 +224137,16 @@ _ZN4pyo36marker6Python13allow_threads17ha4eadf5e18767995E.exit: ; preds = %3 %17 = extractvalue { i64, i64 } %8, 1 %18 = extractvalue { i64, i64 } %8, 0 invoke void @_ZN13polars_python7timeout21cancel_polars_timeout17hcaff76b77bc1047bE(i64 noundef %18, i64 %17) - to label %22 unwind label %19 + to label %20 unwind label %19 -19: ; preds = %28, %_ZN4pyo36marker6Python13allow_threads17ha4eadf5e18767995E.exit +19: ; preds = %_ZN4pyo36marker6Python13allow_threads17ha4eadf5e18767995E.exit, %26 %lpad.thr_comm.split-lp = landingpad { ptr, i32 } cleanup %20 = load i8, ptr %7, align 8, !range !114, !noundef !4 - %21 = and i8 %20, 1 - %or.cond30.not = icmp eq i8 %21, 0 - br i1 %or.cond30.not, label %common.resume, label %39 + switch i8 %20, label %37 [ + i8 2, label %common.resume + i8 0, label %common.resume + ] 22: ; preds = %_ZN4pyo36marker6Python13allow_threads17ha4eadf5e18767995E.exit %23 = load i8, ptr %7, align 8, !range !114, !noundef !4 @@ -224201,7 +224202,7 @@ _ZN4pyo36marker6Python13allow_threads17ha4eadf5e18767995E.exit: ; preds = %3 br label %38 38: ; preds = %31, %"_ZN50_$LT$T$u20$as$u20$core..convert..Into$LT$U$GT$$GT$4into17h08956d6c372522cfE.exit", %35 - %.sink = phi i8 [ 0, %31 ], [ 1, %"_ZN50_$LT$T$u20$as$u20$core..convert..Into$LT$U$GT$$GT$4into17h08956d6c372522cfE.exit" ], [ 1, %35 ] + %.sink = phi i8 [ 0, %29 ], [ 1, %"_ZN50_$LT$T$u20$as$u20$core..convert..Into$LT$U$GT$$GT$4into17h08956d6c372522cfE.exit" ], [ 1, %33 ] store i8 %.sink, ptr %0, align 8 call void @llvm.lifetime.end.p0(ptr nonnull %7) ret void @@ -230038,8 +230039,8 @@ define hidden void @"_ZN77_$LT$pyo3..marker..Python$u20$as$u20$polars_python..ut call void @_ZN4core9panicking16panic_in_cleanup17h6c71d900efd8fbf6E() #36, !noalias !43448 unreachable -common.resume: ; preds = %39, %19, %13 - %common.resume.op = phi { ptr, i32 } [ %14, %13 ], [ %lpad.thr_comm.split-lp, %19 ], [ %lpad.thr_comm.split-lp, %39 ] +common.resume: ; preds = %39, %19, %19, %13 + %common.resume.op = phi { ptr, i32 } [ %14, %13 ], [ %lpad.thr_comm.split-lp, %switch.early.test ], [ %lpad.thr_comm, %switch.early.test ], [ %lpad.thr_comm.split-lp, %37 ] resume { ptr, i32 } %common.resume.op _ZN4pyo36marker6Python13allow_threads17h75729dd57d958d30E.exit: ; preds = %3 @@ -230048,15 +230049,16 @@ _ZN4pyo36marker6Python13allow_threads17h75729dd57d958d30E.exit: ; preds = %3 %17 = extractvalue { i64, i64 } %8, 1 %18 = extractvalue { i64, i64 } %8, 0 invoke void @_ZN13polars_python7timeout21cancel_polars_timeout17hcaff76b77bc1047bE(i64 noundef %18, i64 %17) - to label %22 unwind label %19 + to label %20 unwind label %19 -19: ; preds = %28, %_ZN4pyo36marker6Python13allow_threads17h75729dd57d958d30E.exit +19: ; preds = %_ZN4pyo36marker6Python13allow_threads17h75729dd57d958d30E.exit, %26 %lpad.thr_comm.split-lp = landingpad { ptr, i32 } cleanup %20 = load i8, ptr %7, align 8, !range !114, !noundef !4 - %21 = and i8 %20, 1 - %or.cond30.not = icmp eq i8 %21, 0 - br i1 %or.cond30.not, label %common.resume, label %39 + switch i8 %20, label %37 [ + i8 2, label %common.resume + i8 0, label %common.resume + ] 22: ; preds = %_ZN4pyo36marker6Python13allow_threads17h75729dd57d958d30E.exit %23 = load i8, ptr %7, align 8, !range !114, !noundef !4 @@ -230112,7 +230114,7 @@ _ZN4pyo36marker6Python13allow_threads17h75729dd57d958d30E.exit: ; preds = %3 br label %38 38: ; preds = %31, %"_ZN50_$LT$T$u20$as$u20$core..convert..Into$LT$U$GT$$GT$4into17h08956d6c372522cfE.exit", %35 - %.sink = phi i8 [ 0, %31 ], [ 1, %"_ZN50_$LT$T$u20$as$u20$core..convert..Into$LT$U$GT$$GT$4into17h08956d6c372522cfE.exit" ], [ 1, %35 ] + %.sink = phi i8 [ 0, %29 ], [ 1, %"_ZN50_$LT$T$u20$as$u20$core..convert..Into$LT$U$GT$$GT$4into17h08956d6c372522cfE.exit" ], [ 1, %33 ] store i8 %.sink, ptr %0, align 8 call void @llvm.lifetime.end.p0(ptr nonnull %7) ret void @@ -254693,8 +254695,8 @@ define hidden void @"_ZN77_$LT$pyo3..marker..Python$u20$as$u20$polars_python..ut call void @_ZN4core9panicking16panic_in_cleanup17h6c71d900efd8fbf6E() #36, !noalias !44563 unreachable -common.resume: ; preds = %39, %19, %13 - %common.resume.op = phi { ptr, i32 } [ %14, %13 ], [ %lpad.thr_comm.split-lp, %19 ], [ %lpad.thr_comm.split-lp, %39 ] +common.resume: ; preds = %39, %19, %19, %13 + %common.resume.op = phi { ptr, i32 } [ %14, %13 ], [ %lpad.thr_comm.split-lp, %switch.early.test ], [ %lpad.thr_comm, %switch.early.test ], [ %lpad.thr_comm.split-lp, %37 ] resume { ptr, i32 } %common.resume.op _ZN4pyo36marker6Python13allow_threads17h7394c46fa6918883E.exit: ; preds = %3 @@ -254703,15 +254705,16 @@ _ZN4pyo36marker6Python13allow_threads17h7394c46fa6918883E.exit: ; preds = %3 %17 = extractvalue { i64, i64 } %8, 1 %18 = extractvalue { i64, i64 } %8, 0 invoke void @_ZN13polars_python7timeout21cancel_polars_timeout17hcaff76b77bc1047bE(i64 noundef %18, i64 %17) - to label %22 unwind label %19 + to label %20 unwind label %19 -19: ; preds = %28, %_ZN4pyo36marker6Python13allow_threads17h7394c46fa6918883E.exit +19: ; preds = %_ZN4pyo36marker6Python13allow_threads17h7394c46fa6918883E.exit, %26 %lpad.thr_comm.split-lp = landingpad { ptr, i32 } cleanup %20 = load i8, ptr %7, align 8, !range !114, !noundef !4 - %21 = and i8 %20, 1 - %or.cond30.not = icmp eq i8 %21, 0 - br i1 %or.cond30.not, label %common.resume, label %39 + switch i8 %20, label %37 [ + i8 2, label %common.resume + i8 0, label %common.resume + ] 22: ; preds = %_ZN4pyo36marker6Python13allow_threads17h7394c46fa6918883E.exit %23 = load i8, ptr %7, align 8, !range !114, !noundef !4 @@ -254767,7 +254770,7 @@ _ZN4pyo36marker6Python13allow_threads17h7394c46fa6918883E.exit: ; preds = %3 br label %38 38: ; preds = %31, %"_ZN50_$LT$T$u20$as$u20$core..convert..Into$LT$U$GT$$GT$4into17h08956d6c372522cfE.exit", %35 - %.sink = phi i8 [ 0, %31 ], [ 1, %"_ZN50_$LT$T$u20$as$u20$core..convert..Into$LT$U$GT$$GT$4into17h08956d6c372522cfE.exit" ], [ 1, %35 ] + %.sink = phi i8 [ 0, %29 ], [ 1, %"_ZN50_$LT$T$u20$as$u20$core..convert..Into$LT$U$GT$$GT$4into17h08956d6c372522cfE.exit" ], [ 1, %33 ] store i8 %.sink, ptr %0, align 8 call void @llvm.lifetime.end.p0(ptr nonnull %7) ret void @@ -271092,8 +271095,8 @@ define hidden void @"_ZN77_$LT$pyo3..marker..Python$u20$as$u20$polars_python..ut call void @_ZN4core9panicking16panic_in_cleanup17h6c71d900efd8fbf6E() #36, !noalias !45343 unreachable -common.resume: ; preds = %39, %19, %13 - %common.resume.op = phi { ptr, i32 } [ %14, %13 ], [ %lpad.thr_comm.split-lp, %19 ], [ %lpad.thr_comm.split-lp, %39 ] +common.resume: ; preds = %39, %19, %19, %13 + %common.resume.op = phi { ptr, i32 } [ %14, %13 ], [ %lpad.thr_comm.split-lp, %switch.early.test ], [ %lpad.thr_comm, %switch.early.test ], [ %lpad.thr_comm.split-lp, %37 ] resume { ptr, i32 } %common.resume.op _ZN4pyo36marker6Python13allow_threads17h88a1554b2211763dE.exit: ; preds = %3 @@ -271102,15 +271105,16 @@ _ZN4pyo36marker6Python13allow_threads17h88a1554b2211763dE.exit: ; preds = %3 %17 = extractvalue { i64, i64 } %8, 1 %18 = extractvalue { i64, i64 } %8, 0 invoke void @_ZN13polars_python7timeout21cancel_polars_timeout17hcaff76b77bc1047bE(i64 noundef %18, i64 %17) - to label %22 unwind label %19 + to label %20 unwind label %19 -19: ; preds = %28, %_ZN4pyo36marker6Python13allow_threads17h88a1554b2211763dE.exit +19: ; preds = %_ZN4pyo36marker6Python13allow_threads17h88a1554b2211763dE.exit, %26 %lpad.thr_comm.split-lp = landingpad { ptr, i32 } cleanup %20 = load i8, ptr %7, align 8, !range !114, !noundef !4 - %21 = and i8 %20, 1 - %or.cond30.not = icmp eq i8 %21, 0 - br i1 %or.cond30.not, label %common.resume, label %39 + switch i8 %20, label %37 [ + i8 2, label %common.resume + i8 0, label %common.resume + ] 22: ; preds = %_ZN4pyo36marker6Python13allow_threads17h88a1554b2211763dE.exit %23 = load i8, ptr %7, align 8, !range !114, !noundef !4 @@ -271166,7 +271170,7 @@ _ZN4pyo36marker6Python13allow_threads17h88a1554b2211763dE.exit: ; preds = %3 br label %38 38: ; preds = %31, %"_ZN50_$LT$T$u20$as$u20$core..convert..Into$LT$U$GT$$GT$4into17h08956d6c372522cfE.exit", %35 - %.sink = phi i8 [ 0, %31 ], [ 1, %"_ZN50_$LT$T$u20$as$u20$core..convert..Into$LT$U$GT$$GT$4into17h08956d6c372522cfE.exit" ], [ 1, %35 ] + %.sink = phi i8 [ 0, %29 ], [ 1, %"_ZN50_$LT$T$u20$as$u20$core..convert..Into$LT$U$GT$$GT$4into17h08956d6c372522cfE.exit" ], [ 1, %33 ] store i8 %.sink, ptr %0, align 8 call void @llvm.lifetime.end.p0(ptr nonnull %7) ret void diff --git a/bench/quinn-rs/optimized/aa0f6okxl6jzwxndw38ja55fd.ll b/bench/quinn-rs/optimized/aa0f6okxl6jzwxndw38ja55fd.ll index 906d451de0f..20d76c66cd5 100644 --- a/bench/quinn-rs/optimized/aa0f6okxl6jzwxndw38ja55fd.ll +++ b/bench/quinn-rs/optimized/aa0f6okxl6jzwxndw38ja55fd.ll @@ -5194,31 +5194,35 @@ define hidden noundef zeroext i1 @_ZN11quinn_proto10connection4mtud12MtuDiscover br i1 %.not89, label %.thread, label %21 21: ; preds = %18 - %22 = add nsw i64 %20, -2 - %23 = icmp ugt i64 %22, 2 - %24 = icmp ne i64 %22, 1 - tail call void @llvm.assume(i1 %24) - %25 = trunc nuw i64 %20 to i1 - %or.cond.i = select i1 %23, i1 %25, i1 false - %26 = getelementptr inbounds nuw i8, ptr %0, i64 72 - %27 = load i64, ptr %26, align 8, !alias.scope !298 - %28 = icmp eq i64 %27, %2 - %or.cond8.i = select i1 %or.cond.i, i1 %28, i1 false - br i1 %or.cond8.i, label %29, label %.thread - -29: ; preds = %21 - store i64 0, ptr %19, align 8, !alias.scope !298 - %30 = getelementptr inbounds nuw i8, ptr %0, i64 80 - store i64 0, ptr %30, align 8, !alias.scope !298 - %31 = getelementptr inbounds nuw i8, ptr %0, i64 94 - %32 = load i16, ptr %31, align 2, !alias.scope !298, !noundef !3 - %33 = getelementptr inbounds nuw i8, ptr %0, i64 144 - store i16 %32, ptr %33, align 8 - %34 = load atomic i64, ptr @_ZN12tracing_core8metadata9MAX_LEVEL17h9e420ea5df983dc6E monotonic, align 8 - %.not91 = icmp eq i64 %34, 5 - br i1 %.not91, label %.critedge, label %40 + %22 = icmp ne i64 %20, 3 + tail call void @llvm.assume(i1 %22) + %23 = getelementptr inbounds nuw i8, ptr %0, i64 72 + %24 = load i64, ptr %23, align 8, !alias.scope !298 + %.fr.i = freeze i64 %24 + %25 = icmp eq i64 %.fr.i, %2 + br i1 %25, label %switch.early.test.i, label %.thread + +switch.early.test.i:; preds = %21 + switch i64 %20, label %26 [ + i64 4, label %.thread + i64 3, label %.thread + i64 2, label %.thread + i64 0, label %.thread + ] -.thread: ; preds = %21, %18 +.thread: ; preds = %switch.early.test.i + store i64 0, ptr %19, align 8, !alias.scope !298 + %27 = getelementptr inbounds nuw i8, ptr %0, i64 80 + store i64 0, ptr %27, align 8, !alias.scope !298 + %28 = getelementptr inbounds nuw i8, ptr %0, i64 94 + %29 = load i16, ptr %28, align 2, !alias.scope !298, !noundef !3 + %30 = getelementptr inbounds nuw i8, ptr %0, i64 144 + store i16 %29, ptr %30, align 8 + %31 = load atomic i64, ptr @_ZN12tracing_core8metadata9MAX_LEVEL17h9e420ea5df983dc6E monotonic, align 8 + %.not91 = icmp eq i64 %31, 5 + br i1 %.not91, label %.critedge, label %37 + +.thread: ; preds = %21, %switch.early.test.i, %switch.early.test.i, %switch.early.test.i, %switch.early.test.i, %18 tail call void @llvm.experimental.noalias.scope.decl(metadata !301) call void @llvm.lifetime.start.p0(ptr nonnull %5) store i16 %3, ptr %5, align 2, !noalias !301 @@ -5239,15 +5243,15 @@ _ZN11quinn_proto10connection4mtud17BlackHoleDetector18on_non_probe_acked17habead call void @llvm.lifetime.end.p0(ptr nonnull %5) br label %112 -40: ; preds = %29 - %41 = icmp ult i64 %34, 5 +40: ; preds = %26 + %41 = icmp ult i64 %31, 5 tail call void @llvm.assume(i1 %41) - %42 = icmp eq i64 %34, 0 + %42 = icmp eq i64 %31, 0 br i1 %42, label %43, label %.critedge 43: ; preds = %40 %44 = load atomic i8, ptr getelementptr inbounds nuw (i8, ptr @_ZN11quinn_proto10connection4mtud12MtuDiscovery8on_acked10__CALLSITE17h76f194ef15129698E, i64 16) monotonic, align 8 - switch i8 %44, label %45 [ + switch i8 %44, label %42 [ i8 0, label %.critedge i8 1, label %.thread107 i8 2, label %.thread107 @@ -5259,7 +5263,7 @@ _ZN11quinn_proto10connection4mtud17BlackHoleDetector18on_non_probe_acked17habead br i1 %47, label %.critedge, label %.thread107 .thread107: ; preds = %43, %43, %45 - %.sroa.06.0109 = phi i8 [ %46, %45 ], [ %44, %43 ], [ %44, %43 ] + %.sroa.06.0109 = phi i8 [ %46, %42 ], [ %44, %40 ], [ %44, %40 ] %48 = load ptr, ptr @_ZN11quinn_proto10connection4mtud12MtuDiscovery8on_acked10__CALLSITE17h76f194ef15129698E, align 8, !nonnull !3, !align !4, !noundef !3 %49 = tail call noundef zeroext i1 @_ZN7tracing15__macro_support12__is_enabled17h79c82975f1d755d5E(ptr noalias noundef nonnull readonly align 8 dereferenceable(120) %48, i8 noundef %.sroa.06.0109) br i1 %49, label %50, label %.critedge @@ -5280,7 +5284,7 @@ _ZN11quinn_proto10connection4mtud17BlackHoleDetector18on_non_probe_acked17habead %.not92 = icmp eq i64 %55, 0 br i1 %.not92, label %108, label %103 -.critedge: ; preds = %43, %29, %45, %.thread107, %40 +.critedge: ; preds = %43, %26, %45, %.thread107, %40 %60 = load atomic i8, ptr @_ZN12tracing_core10dispatcher6EXISTS17h4bd33b52b8179ae2E monotonic, align 1 %61 = icmp eq i8 %60, 0 br i1 %61, label %62, label %99 @@ -5308,7 +5312,7 @@ _ZN11quinn_proto10connection4mtud17BlackHoleDetector18on_non_probe_acked17habead %74 = extractvalue { ptr, ptr } %72, 1 %75 = getelementptr inbounds nuw i8, ptr %74, i64 24 %76 = load ptr, ptr %75, align 8, !invariant.load !3, !nonnull !3 - %77 = call noundef zeroext i1 %76(ptr noundef align 1 %73, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) %12) + %77 = call noundef zeroext i1 %73(ptr noundef align 1 %73, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) %12) br i1 %77, label %78, label %99 78: ; preds = %66 @@ -5369,7 +5373,7 @@ _ZN11quinn_proto10connection4mtud17BlackHoleDetector18on_non_probe_acked17habead %95 = getelementptr inbounds nuw i8, ptr %10, i64 24 store ptr %7, ptr %95, align 8 %.sroa.446.0..sroa_idx = getelementptr inbounds nuw i8, ptr %10, i64 32 - store ptr %33, ptr %.sroa.446.0..sroa_idx, align 8 + store ptr %30, ptr %.sroa.446.0..sroa_idx, align 8 %.sroa.547.0..sroa_idx = getelementptr inbounds nuw i8, ptr %10, i64 40 store ptr @anon.42c61ef3774b54ef40e69522abedb007.109, ptr %.sroa.547.0..sroa_idx, align 8 store ptr %10, ptr %11, align 8 @@ -5443,7 +5447,7 @@ _ZN11quinn_proto10connection4mtud17BlackHoleDetector18on_non_probe_acked17habead %110 = getelementptr inbounds nuw i8, ptr %16, i64 24 store ptr %13, ptr %110, align 8 %.sroa.420.0..sroa_idx = getelementptr inbounds nuw i8, ptr %16, i64 32 - store ptr %33, ptr %.sroa.420.0..sroa_idx, align 8 + store ptr %30, ptr %.sroa.420.0..sroa_idx, align 8 %.sroa.521.0..sroa_idx = getelementptr inbounds nuw i8, ptr %16, i64 40 store ptr @anon.42c61ef3774b54ef40e69522abedb007.109, ptr %.sroa.521.0..sroa_idx, align 8 store ptr %16, ptr %17, align 8 @@ -5464,7 +5468,7 @@ _ZN11quinn_proto10connection4mtud17BlackHoleDetector18on_non_probe_acked17habead unreachable 112: ; preds = %_ZN11quinn_proto10connection4mtud17BlackHoleDetector18on_non_probe_acked17habeadba1cd5eaaaeE.exit, %99, %4 - %.sroa.0.0 = phi i1 [ false, %4 ], [ true, %99 ], [ false, %_ZN11quinn_proto10connection4mtud17BlackHoleDetector18on_non_probe_acked17habeadba1cd5eaaaeE.exit ] + %.sroa.0.0 = phi i1 [ false, %4 ], [ true, %96 ], [ false, %_ZN11quinn_proto10connection4mtud17BlackHoleDetector18on_non_probe_acked17habeadba1cd5eaaaeE.exit ] ret i1 %.sroa.0.0 } diff --git a/bench/typst-rs/optimized/2i78fvbm4wocuesi.ll b/bench/typst-rs/optimized/2i78fvbm4wocuesi.ll index 8a33008bf3d..8535e8f7e78 100644 --- a/bench/typst-rs/optimized/2i78fvbm4wocuesi.ll +++ b/bench/typst-rs/optimized/2i78fvbm4wocuesi.ll @@ -70665,7 +70665,7 @@ define internal fastcc noundef zeroext i1 @"_ZN93_$LT$citationberg..LayoutRender %10 = load i64, ptr %0, align 8, !range !2537, !noundef !4 %11 = xor i64 %10, -9223372036854775808 %12 = tail call i64 @llvm.umin.i64(i64 %11, i64 6) - switch i64 %12, label %default.unreachable100 [ + switch i64 %12, label %default.unreachable115 [ i64 0, label %13 i64 1, label %51 i64 2, label %68 @@ -70940,9 +70940,9 @@ default.unreachable100: ; preds = %_ZN4core4iter8adapt br label %128 128: ; preds = %158, %124 - %.sroa.026.0 = phi i64 [ %.sroa.026.0.copyload, %124 ], [ %.sroa.026.145.ph, %158 ] - %.sroa.6.0 = phi ptr [ %.sroa.6.0.copyload, %124 ], [ %.sroa.6.147.ph, %158 ] - %.sroa.8.0 = phi ptr [ %.sroa.8.0.copyload, %124 ], [ %.sroa.8.1.ph, %158 ] + %.sroa.026.0 = phi i64 [ %.sroa.026.0.copyload, %124 ], [ %.sroa.026.145.ph, %.loopexit66 ] + %.sroa.6.0 = phi ptr [ %.sroa.6.0.copyload, %124 ], [ %.sroa.6.147.ph, %.loopexit66 ] + %.sroa.8.0 = phi ptr [ %.sroa.8.0.copyload, %124 ], [ %.sroa.8.1.ph, %.loopexit66 ] %trunc.i.i = trunc nuw i64 %.sroa.026.0 to i1 br i1 %trunc.i.i, label %129, label %130 @@ -70965,7 +70965,7 @@ default.unreachable100: ; preds = %_ZN4core4iter8adapt %135 = getelementptr inbounds nuw i8, ptr %0, i64 200 %136 = load i64, ptr %135, align 8, !range !567, !alias.scope !14614, !noalias !14621, !noundef !4 %137 = icmp eq i64 %136, -9223372036854775808 - br i1 %137, label %_ZN9hayagriva3csl9rendering15choose_children17hf313e3490243ad7aE.exit, label %148 + br i1 %137, label %_ZN9hayagriva3csl9rendering15choose_children17hf313e3490243ad7aE.exit, label %147 _ZN4core4iter8adapters5chain17and_then_or_clear17he10a7a45ec45b435E.exit.i: ; preds = %129, %133 %.sroa.6.147.ph = phi ptr [ %.sroa.6.1.ph, %133 ], [ null, %129 ] @@ -70979,64 +70979,61 @@ _ZN4core4iter8adapters5chain17and_then_or_clear17he10a7a45ec45b435E.exit.i: ; pr store ptr %1, ptr %125, align 8, !noalias !14619 store i8 0, ptr %126, align 8, !noalias !14619 store i64 0, ptr %127, align 8, !noalias !14619 - switch i8 %139, label %default.unreachable100 [ + switch i8 %139, label %default.unreachable115 [ i8 0, label %.preheader.i.i - i8 1, label %.preheader3.i.i - i8 2, label %.preheader4.i.i + i8 1, label %.preheader2.i.i + i8 2, label %.preheader3.i.i ] .preheader.i.i: ; preds = %_ZN4core4iter8adapters5chain17and_then_or_clear17he10a7a45ec45b435E.exit.i, %.preheader.i.i %140 = call fastcc noundef i8 @"_ZN114_$LT$hayagriva..csl..rendering..BranchConditionIter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h6b79d208f4780402E"(ptr noalias noundef nonnull align 8 dereferenceable(32) %6), !range !566 - %141 = and i8 %140, 1 - %or.cond.not.i.i.i.i = icmp eq i8 %141, 0 - br i1 %or.cond.not.i.i.i.i, label %_ZN4core4iter6traits8iterator8Iterator3all17h00084081b9178dd7E.exit.i.i, label %.preheader.i.i + switch i8 %140, label %.preheader.i.i [ + i8 2, label %63 + i8 0, label %.loopexit66 + ] -_ZN4core4iter6traits8iterator8Iterator3all17h00084081b9178dd7E.exit.i.i: ; preds = %.preheader.i.i - %.not.i.not.i.i.i = icmp eq i8 %140, 2 - br i1 %.not.i.not.i.i.i, label %159, label %158 +_ZN4core4iter6traits8iterator8Iterator3all17h00084081b9178dd7E.exit.i.i: ; preds = %_ZN4core4iter8adapters5chain17and_then_or_clear17he10a7a45ec45b435E.exit.i, %.preheader2.i.i + %141 = call fastcc noundef i8 @"_ZN114_$LT$hayagriva..csl..rendering..BranchConditionIter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h6b79d208f4780402E"(ptr noalias noundef nonnull align 8 dereferenceable(32) %6), !range !566 + %.not.i.i.i.i = icmp ne i8 %141, 2 + %142 = trunc nuw i8 %141 to i1 + %not..not.i.i.i.i = xor i1 %.not.i.i.i.i, true + %143 = select i1 %not..not.i.i.i.i, i1 true, i1 %142 + br i1 %143, label %_ZN12citationberg11ChooseMatch4test17h29f377b03a59eba4E.exit.i, label %.preheader2.i.i .preheader3.i.i: ; preds = %_ZN4core4iter8adapters5chain17and_then_or_clear17he10a7a45ec45b435E.exit.i, %.preheader3.i.i %142 = call fastcc noundef i8 @"_ZN114_$LT$hayagriva..csl..rendering..BranchConditionIter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h6b79d208f4780402E"(ptr noalias noundef nonnull align 8 dereferenceable(32) %6), !range !566 - %.not.i.i.i.i = icmp ne i8 %142, 2 + %.not.i.i.i.i = icmp eq i8 %142, 2 %143 = trunc nuw i8 %142 to i1 - %not..not.i.i.i.i = xor i1 %.not.i.i.i.i, true - %144 = select i1 %not..not.i.i.i.i, i1 true, i1 %143 - br i1 %144, label %_ZN12citationberg11ChooseMatch4test17h29f377b03a59eba4E.exit.i, label %.preheader3.i.i - -.preheader4.i.i: ; preds = %_ZN4core4iter8adapters5chain17and_then_or_clear17he10a7a45ec45b435E.exit.i, %.preheader4.i.i - %145 = call fastcc noundef i8 @"_ZN114_$LT$hayagriva..csl..rendering..BranchConditionIter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h6b79d208f4780402E"(ptr noalias noundef nonnull align 8 dereferenceable(32) %6), !range !566 - %.not.i.not.i2.i.i = icmp eq i8 %145, 2 - %146 = trunc nuw i8 %145 to i1 - %147 = select i1 %.not.i.not.i2.i.i, i1 true, i1 %146 - br i1 %147, label %_ZN12citationberg11ChooseMatch4test17h29f377b03a59eba4E.exit.i, label %.preheader4.i.i - -_ZN12citationberg11ChooseMatch4test17h29f377b03a59eba4E.exit.i: ; preds = %.preheader4.i.i, %.preheader3.i.i - %.0.in.i.i = phi i1 [ %.not.i.i.i.i, %.preheader3.i.i ], [ %.not.i.not.i2.i.i, %.preheader4.i.i ] - br i1 %.0.in.i.i, label %159, label %158 - -148: ; preds = %"_ZN4core6option15Option$LT$T$GT$7or_else17h0ba928997dbf6865E.exit.i" - %149 = getelementptr inbounds nuw i8, ptr %0, i64 208 - %150 = load ptr, ptr %149, align 8, !alias.scope !14614, !noalias !14621, !nonnull !4, !noundef !4 - %151 = getelementptr inbounds nuw i8, ptr %0, i64 216 - %152 = load i64, ptr %151, align 8, !alias.scope !14614, !noalias !14621, !noundef !4 - %153 = getelementptr inbounds { i64, [30 x i64] }, ptr %150, i64 %152 - br label %154 - -154: ; preds = %155, %148 - %.sroa.027.0 = phi ptr [ %150, %148 ], [ %156, %155 ] - %.not70.not.not.not = icmp ne ptr %.sroa.027.0, %153 - br i1 %.not70.not.not.not, label %155, label %_ZN9hayagriva3csl9rendering15choose_children17hf313e3490243ad7aE.exit + %146 = select i1 %.not.i.i.i.i, i1 true, i1 %145 + br i1 %146, label %_ZN12citationberg11ChooseMatch4test17h29f377b03a59eba4E.exit.i, label %.preheader3.i.i + +_ZN12citationberg11ChooseMatch4test17h29f377b03a59eba4E.exit.i: ; preds = %.preheader3.i.i, %.preheader2.i.i + %.0.in.i.i = phi i1 [ %.not.i.i.i.i, %.preheader2.i.i ], [ %.not.i.i.i.i, %.preheader3.i.i ] + br i1 %.0.in.i.i, label %63, label %158 + +147:; preds = %"_ZN4core6option15Option$LT$T$GT$7or_else17h0ba928997dbf6865E.exit.i" + %148 = getelementptr inbounds nuw i8, ptr %0, i64 208 + %149 = load ptr, ptr %148, align 8, !alias.scope !14614, !noalias !14621, !nonnull !4, !noundef !4 + %150 = getelementptr inbounds nuw i8, ptr %0, i64 216 + %151 = load i64, ptr %150, align 8, !alias.scope !14614, !noalias !14621, !noundef !4 + %152 = getelementptr inbounds { i64, [30 x i64] }, ptr %149, i64 %151 + br label %155 -155: ; preds = %154 - %156 = getelementptr inbounds nuw i8, ptr %.sroa.027.0, i64 248 - %157 = tail call fastcc noundef zeroext i1 @"_ZN93_$LT$citationberg..LayoutRenderingElement$u20$as$u20$hayagriva..csl..rendering..RenderCsl$GT$11will_render17hf2a25f7273234951E"(ptr noalias noundef nonnull readonly align 8 dereferenceable(248) %.sroa.027.0, ptr noalias noundef align 8 dereferenceable(664) %1, i8 noundef %2, i8 noundef %3), !noalias !14622 - br i1 %157, label %_ZN9hayagriva3csl9rendering15choose_children17hf313e3490243ad7aE.exit, label %154 +155: ; preds = %154, %147 + %.sroa.027.0 = phi ptr [ %149, %147 ], [ %155, %154 ] + %.not73.not.not.not = icmp ne ptr %.sroa.027.0, %152 + br i1 %.not73.not.not.not, label %154, label %_ZN9hayagriva3csl9rendering15choose_children17hf313e3490243ad7aE.exit + +154: ; preds = %153 + %155 = getelementptr inbounds nuw i8, ptr %.sroa.027.0, i64 248 + %156 = tail call fastcc noundef zeroext i1 @"_ZN93_$LT$citationberg..LayoutRenderingElement$u20$as$u20$hayagriva..csl..rendering..RenderCsl$GT$11will_render17hf2a25f7273234951E"(ptr noalias noundef nonnull readonly align 8 dereferenceable(248) %.sroa.027.0, ptr noalias noundef align 8 dereferenceable(664) %1, i8 noundef %2, i8 noundef %3), !noalias !14622 + br i1 %156, label %_ZN9hayagriva3csl9rendering15choose_children17hf313e3490243ad7aE.exit, label %153 -158: ; preds = %_ZN4core4iter6traits8iterator8Iterator3all17h00084081b9178dd7E.exit.i.i, %_ZN12citationberg11ChooseMatch4test17h29f377b03a59eba4E.exit.i +158: ; preds = %.preheader.i.i, %_ZN12citationberg11ChooseMatch4test17h29f377b03a59eba4E.exit.i call void @llvm.lifetime.end.p0(ptr nonnull %6), !noalias !14619 br label %128 -159: ; preds = %_ZN4core4iter6traits8iterator8Iterator3all17h00084081b9178dd7E.exit.i.i, %_ZN12citationberg11ChooseMatch4test17h29f377b03a59eba4E.exit.i +159: ; preds = %_ZN12citationberg11ChooseMatch4test17h29f377b03a59eba4E.exit.i, %.preheader.i.i call void @llvm.lifetime.end.p0(ptr nonnull %6), !noalias !14619 %160 = getelementptr inbounds nuw i8, ptr %.0.i20.i.ph, i64 8 %161 = load ptr, ptr %160, align 8, !nonnull !4, !noundef !4 @@ -71046,7 +71043,7 @@ _ZN12citationberg11ChooseMatch4test17h29f377b03a59eba4E.exit.i: ; preds = %.preh br label %165 165: ; preds = %166, %159 - %.sroa.029.0 = phi ptr [ %161, %159 ], [ %167, %166 ] + %.sroa.029.0 = phi ptr [ %161, %.loopexit ], [ %167, %163 ] %.not.not.not.not = icmp ne ptr %.sroa.029.0, %164 br i1 %.not.not.not.not, label %166, label %_ZN9hayagriva3csl9rendering15choose_children17hf313e3490243ad7aE.exit @@ -71055,8 +71052,8 @@ _ZN12citationberg11ChooseMatch4test17h29f377b03a59eba4E.exit.i: ; preds = %.preh %168 = tail call fastcc noundef zeroext i1 @"_ZN93_$LT$citationberg..LayoutRenderingElement$u20$as$u20$hayagriva..csl..rendering..RenderCsl$GT$11will_render17hf2a25f7273234951E"(ptr noalias noundef nonnull readonly align 8 dereferenceable(248) %.sroa.029.0, ptr noalias noundef align 8 dereferenceable(664) %1, i8 noundef %2, i8 noundef %3), !noalias !14629 br i1 %168, label %_ZN9hayagriva3csl9rendering15choose_children17hf313e3490243ad7aE.exit, label %165 -_ZN9hayagriva3csl9rendering15choose_children17hf313e3490243ad7aE.exit: ; preds = %166, %165, %155, %154, %"_ZN4core6option15Option$LT$T$GT$7or_else17h0ba928997dbf6865E.exit.i" - %.1.i12 = phi i1 [ false, %"_ZN4core6option15Option$LT$T$GT$7or_else17h0ba928997dbf6865E.exit.i" ], [ %.not70.not.not.not, %154 ], [ %.not70.not.not.not, %155 ], [ %.not.not.not.not, %165 ], [ %.not.not.not.not, %166 ] +_ZN9hayagriva3csl9rendering15choose_children17hf313e3490243ad7aE.exit: ; preds = %166, %165, %154, %153, %"_ZN4core6option15Option$LT$T$GT$7or_else17h0ba928997dbf6865E.exit.i" + %.1.i12 = phi i1 [ false, %"_ZN4core6option15Option$LT$T$GT$7or_else17h0ba928997dbf6865E.exit.i" ], [ %.not73.not.not.not, %153 ], [ %.not73.not.not.not, %154 ], [ %.not.not.not.not, %162 ], [ %.not.not.not.not, %163 ] call void @llvm.lifetime.end.p0(ptr nonnull %7) br label %"_ZN75_$LT$citationberg..Date$u20$as$u20$hayagriva..csl..rendering..RenderCsl$GT$11will_render17hbb1d81b452613e35E.exit" @@ -89241,9 +89238,9 @@ define internal fastcc void @_ZN9hayagriva3csl9rendering15choose_children17h04c8 br label %9 9: ; preds = %40, %3 - %.sroa.6.0 = phi ptr [ %.sroa.6.0.copyload, %3 ], [ %.sroa.6.129.ph, %40 ] - %.sroa.0.0 = phi i64 [ %.sroa.0.0.copyload, %3 ], [ %.sroa.0.131.ph, %40 ] - %.sroa.8.0 = phi ptr [ %.sroa.8.0.copyload, %3 ], [ %.sroa.8.1.ph, %40 ] + %.sroa.6.0 = phi ptr [ %.sroa.6.0.copyload, %3 ], [ %.sroa.6.129.ph, %.loopexit41 ] + %.sroa.0.0 = phi i64 [ %.sroa.0.0.copyload, %3 ], [ %.sroa.0.131.ph, %.loopexit41 ] + %.sroa.8.0 = phi ptr [ %.sroa.8.0.copyload, %3 ], [ %.sroa.8.1.ph, %.loopexit41 ] %trunc.i = trunc nuw i64 %.sroa.0.0 to i1 br i1 %trunc.i, label %10, label %11 @@ -89291,13 +89288,10 @@ default.unreachable: ; preds = %_ZN4core4iter8adapt .preheader.i: ; preds = %_ZN4core4iter8adapters5chain17and_then_or_clear17he10a7a45ec45b435E.exit, %.preheader.i %21 = call fastcc noundef i8 @"_ZN114_$LT$hayagriva..csl..rendering..BranchConditionIter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h6b79d208f4780402E"(ptr noalias noundef nonnull align 8 dereferenceable(32) %4), !range !566 - %22 = and i8 %21, 1 - %or.cond.not.i.i.i = icmp eq i8 %22, 0 - br i1 %or.cond.not.i.i.i, label %_ZN4core4iter6traits8iterator8Iterator3all17h00084081b9178dd7E.exit.i, label %.preheader.i - -_ZN4core4iter6traits8iterator8Iterator3all17h00084081b9178dd7E.exit.i: ; preds = %.preheader.i - %.not.i.not.i.i = icmp eq i8 %21, 2 - br i1 %.not.i.not.i.i, label %41, label %40 + switch i8 %21, label %.preheader.i [ + i8 2, label %63 + i8 0, label %.loopexit41 + ] .preheader3.i: ; preds = %_ZN4core4iter8adapters5chain17and_then_or_clear17he10a7a45ec45b435E.exit, %.preheader3.i %23 = call fastcc noundef i8 @"_ZN114_$LT$hayagriva..csl..rendering..BranchConditionIter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h6b79d208f4780402E"(ptr noalias noundef nonnull align 8 dereferenceable(32) %4), !range !566 @@ -89315,7 +89309,7 @@ _ZN4core4iter6traits8iterator8Iterator3all17h00084081b9178dd7E.exit.i: ; preds = br i1 %28, label %_ZN12citationberg11ChooseMatch4test17h29f377b03a59eba4E.exit, label %.preheader4.i _ZN12citationberg11ChooseMatch4test17h29f377b03a59eba4E.exit: ; preds = %.preheader4.i, %.preheader3.i - %.0.in.i = phi i1 [ %.not.i.i.i, %.preheader3.i ], [ %.not.i.not.i2.i, %.preheader4.i ] + %.0.in.i = phi i1 [ %.not.i.i.i, %.preheader2.i ], [ %.not.i.not.i2.i, %.preheader3.i ] br i1 %.0.in.i, label %41, label %40 29: ; preds = %"_ZN4core6option15Option$LT$T$GT$7or_else17h0ba928997dbf6865E.exit" @@ -89338,11 +89332,11 @@ _ZN12citationberg11ChooseMatch4test17h29f377b03a59eba4E.exit: ; preds = %.prehea 39: ; preds = %29, %"_ZN4core6option15Option$LT$T$GT$7or_else17h0ba928997dbf6865E.exit", %41 ret void -40: ; preds = %_ZN4core4iter6traits8iterator8Iterator3all17h00084081b9178dd7E.exit.i, %_ZN12citationberg11ChooseMatch4test17h29f377b03a59eba4E.exit +40: ; preds = %.preheader.i, %_ZN12citationberg11ChooseMatch4test17h29f377b03a59eba4E.exit call void @llvm.lifetime.end.p0(ptr nonnull %4) br label %9 -41: ; preds = %_ZN4core4iter6traits8iterator8Iterator3all17h00084081b9178dd7E.exit.i, %_ZN12citationberg11ChooseMatch4test17h29f377b03a59eba4E.exit +41: ; preds = %_ZN12citationberg11ChooseMatch4test17h29f377b03a59eba4E.exit, %.preheader.i call void @llvm.lifetime.end.p0(ptr nonnull %4) %42 = getelementptr inbounds nuw i8, ptr %.0.i20.ph, i64 8 %43 = load ptr, ptr %42, align 8, !nonnull !4, !noundef !4 @@ -89379,9 +89373,9 @@ define hidden range(i40 0, -252) i40 @_ZN9hayagriva3csl9rendering15choose_childr br label %8 8: ; preds = %62, %2 - %.sroa.8.0 = phi ptr [ %.sroa.8.0.copyload, %2 ], [ %.sroa.8.1.ph, %62 ] - %.sroa.6.0 = phi ptr [ %.sroa.6.0.copyload, %2 ], [ %.sroa.6.197.ph, %62 ] - %.sroa.0.0 = phi i64 [ %.sroa.0.0.copyload, %2 ], [ %.sroa.0.19399.ph, %62 ] + %.sroa.8.0 = phi ptr [ %.sroa.8.0.copyload, %2 ], [ %.sroa.8.1.ph, %.loopexit114 ] + %.sroa.6.0 = phi ptr [ %.sroa.6.0.copyload, %2 ], [ %.sroa.6.197.ph, %.loopexit114 ] + %.sroa.0.0 = phi i64 [ %.sroa.0.0.copyload, %2 ], [ %.sroa.0.19399.ph, %.loopexit114 ] %trunc.i = trunc nuw i64 %.sroa.0.0 to i1 br i1 %trunc.i, label %9, label %10 @@ -89418,7 +89412,7 @@ _ZN4core4iter8adapters5chain17and_then_or_clear17he10a7a45ec45b435E.exit: ; pred store ptr %1, ptr %5, align 8 store i8 0, ptr %6, align 8 store i64 0, ptr %7, align 8 - switch i8 %19, label %default.unreachable155 [ + switch i8 %19, label %default.unreachable167 [ i8 0, label %.preheader.i i8 1, label %.preheader3.i i8 2, label %.preheader4.i @@ -89429,13 +89423,10 @@ default.unreachable155: ; preds = %_ZN4core4iter8adapt .preheader.i: ; preds = %_ZN4core4iter8adapters5chain17and_then_or_clear17he10a7a45ec45b435E.exit, %.preheader.i %20 = call fastcc noundef i8 @"_ZN114_$LT$hayagriva..csl..rendering..BranchConditionIter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h6b79d208f4780402E"(ptr noalias noundef nonnull align 8 dereferenceable(32) %3), !range !566 - %21 = and i8 %20, 1 - %or.cond.not.i.i.i = icmp eq i8 %21, 0 - br i1 %or.cond.not.i.i.i, label %_ZN4core4iter6traits8iterator8Iterator3all17h00084081b9178dd7E.exit.i, label %.preheader.i - -_ZN4core4iter6traits8iterator8Iterator3all17h00084081b9178dd7E.exit.i: ; preds = %.preheader.i - %.not.i.not.i.i = icmp eq i8 %20, 2 - br i1 %.not.i.not.i.i, label %63, label %62 + switch i8 %20, label %.preheader.i [ + i8 2, label %63 + i8 0, label %.loopexit114 + ] .preheader3.i: ; preds = %_ZN4core4iter8adapters5chain17and_then_or_clear17he10a7a45ec45b435E.exit, %.preheader3.i %22 = call fastcc noundef i8 @"_ZN114_$LT$hayagriva..csl..rendering..BranchConditionIter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h6b79d208f4780402E"(ptr noalias noundef nonnull align 8 dereferenceable(32) %3), !range !566 @@ -89453,7 +89444,7 @@ _ZN4core4iter6traits8iterator8Iterator3all17h00084081b9178dd7E.exit.i: ; preds = br i1 %27, label %_ZN12citationberg11ChooseMatch4test17h29f377b03a59eba4E.exit, label %.preheader4.i _ZN12citationberg11ChooseMatch4test17h29f377b03a59eba4E.exit: ; preds = %.preheader4.i, %.preheader3.i - %.0.in.i = phi i1 [ %.not.i.i.i, %.preheader3.i ], [ %.not.i.not.i2.i, %.preheader4.i ] + %.0.in.i = phi i1 [ %.not.i.i.i, %.preheader2.i ], [ %.not.i.not.i2.i, %.preheader3.i ] br i1 %.0.in.i, label %63, label %62 28: ; preds = %"_ZN4core6option15Option$LT$T$GT$7or_else17h0ba928997dbf6865E.exit" @@ -89467,12 +89458,12 @@ _ZN12citationberg11ChooseMatch4test17h29f377b03a59eba4E.exit: ; preds = %.prehea br i1 %34, label %"_ZN77_$LT$citationberg..Choose$u20$as$u20$hayagriva..csl..rendering..RenderCsl$GT$14will_have_info28_$u7b$$u7b$closure$u7d$$u7d$17hf28056b8e66b9830E.exit", label %.lr.ph132 .lr.ph132: ; preds = %28, %.lr.ph132 - %.sroa.6.0.i131 = phi i8 [ %.sroa.631.0.extract.trunc.i, %.lr.ph132 ], [ 0, %28 ] - %.sroa.5.0.i130 = phi i8 [ %.sroa.530.0.extract.trunc.i, %.lr.ph132 ], [ 0, %28 ] - %.sroa.412.0.i129 = phi i8 [ %.sroa.429.0.extract.trunc.i, %.lr.ph132 ], [ 0, %28 ] - %.sroa.08.0.i128 = phi i8 [ %.sroa.028.0.extract.trunc.i, %.lr.ph132 ], [ 0, %28 ] - %.0.i35127 = phi i1 [ %38, %.lr.ph132 ], [ false, %28 ] - %.sroa.090.0126 = phi ptr [ %35, %.lr.ph132 ], [ %30, %28 ] + %.sroa.6.0.i131 = phi i8 [ %.sroa.631.0.extract.trunc.i, %.lr.ph136 ], [ 0, %28 ] + %.sroa.5.0.i130 = phi i8 [ %.sroa.530.0.extract.trunc.i, %.lr.ph136 ], [ 0, %28 ] + %.sroa.412.0.i129 = phi i8 [ %.sroa.429.0.extract.trunc.i, %.lr.ph136 ], [ 0, %28 ] + %.sroa.08.0.i128 = phi i8 [ %.sroa.028.0.extract.trunc.i, %.lr.ph136 ], [ 0, %28 ] + %.0.i35127 = phi i1 [ %38, %.lr.ph136 ], [ false, %28 ] + %.sroa.090.0126 = phi ptr [ %35, %.lr.ph136 ], [ %30, %28 ] %35 = getelementptr inbounds nuw i8, ptr %.sroa.090.0126, i64 248 %36 = tail call i40 @"_ZN93_$LT$citationberg..LayoutRenderingElement$u20$as$u20$hayagriva..csl..rendering..RenderCsl$GT$14will_have_info17h184a256c22d46976E"(ptr noalias noundef nonnull readonly align 8 dereferenceable(248) %.sroa.090.0126, ptr noalias noundef nonnull align 8 dereferenceable(664) %1) %.1.extract.shift.i = lshr i40 %36, 8 @@ -89515,19 +89506,19 @@ _ZN12citationberg11ChooseMatch4test17h29f377b03a59eba4E.exit: ; preds = %.prehea br label %"_ZN77_$LT$citationberg..Choose$u20$as$u20$hayagriva..csl..rendering..RenderCsl$GT$14will_have_info28_$u7b$$u7b$closure$u7d$$u7d$17hf28056b8e66b9830E.exit" "_ZN77_$LT$citationberg..Choose$u20$as$u20$hayagriva..csl..rendering..RenderCsl$GT$14will_have_info28_$u7b$$u7b$closure$u7d$$u7d$17hf28056b8e66b9830E.exit": ; preds = %63, %"_ZN77_$LT$citationberg..Choose$u20$as$u20$hayagriva..csl..rendering..RenderCsl$GT$14will_have_info28_$u7b$$u7b$closure$u7d$$u7d$17hf28056b8e66b9830E.exit74.loopexit", %28, %"_ZN77_$LT$citationberg..Choose$u20$as$u20$hayagriva..csl..rendering..RenderCsl$GT$14will_have_info28_$u7b$$u7b$closure$u7d$$u7d$17hf28056b8e66b9830E.exit.loopexit", %"_ZN4core6option15Option$LT$T$GT$7or_else17h0ba928997dbf6865E.exit" - %.sroa.4.1 = phi i32 [ undef, %"_ZN4core6option15Option$LT$T$GT$7or_else17h0ba928997dbf6865E.exit" ], [ 0, %28 ], [ %60, %"_ZN77_$LT$citationberg..Choose$u20$as$u20$hayagriva..csl..rendering..RenderCsl$GT$14will_have_info28_$u7b$$u7b$closure$u7d$$u7d$17hf28056b8e66b9830E.exit.loopexit" ], [ 0, %63 ], [ %95, %"_ZN77_$LT$citationberg..Choose$u20$as$u20$hayagriva..csl..rendering..RenderCsl$GT$14will_have_info28_$u7b$$u7b$closure$u7d$$u7d$17hf28056b8e66b9830E.exit74.loopexit" ] - %.sroa.0.1 = phi i8 [ 2, %"_ZN4core6option15Option$LT$T$GT$7or_else17h0ba928997dbf6865E.exit" ], [ 0, %28 ], [ %61, %"_ZN77_$LT$citationberg..Choose$u20$as$u20$hayagriva..csl..rendering..RenderCsl$GT$14will_have_info28_$u7b$$u7b$closure$u7d$$u7d$17hf28056b8e66b9830E.exit.loopexit" ], [ 0, %63 ], [ %96, %"_ZN77_$LT$citationberg..Choose$u20$as$u20$hayagriva..csl..rendering..RenderCsl$GT$14will_have_info28_$u7b$$u7b$closure$u7d$$u7d$17hf28056b8e66b9830E.exit74.loopexit" ] + %.sroa.4.1 = phi i32 [ undef, %"_ZN4core6option15Option$LT$T$GT$7or_else17h0ba928997dbf6865E.exit" ], [ 0, %28 ], [ %60, %"_ZN77_$LT$citationberg..Choose$u20$as$u20$hayagriva..csl..rendering..RenderCsl$GT$14will_have_info28_$u7b$$u7b$closure$u7d$$u7d$17hf28056b8e66b9830E.exit.loopexit" ], [ 0, %.loopexit ], [ %92, %"_ZN77_$LT$citationberg..Choose$u20$as$u20$hayagriva..csl..rendering..RenderCsl$GT$14will_have_info28_$u7b$$u7b$closure$u7d$$u7d$17hf28056b8e66b9830E.exit74.loopexit" ] + %.sroa.0.1 = phi i8 [ 2, %"_ZN4core6option15Option$LT$T$GT$7or_else17h0ba928997dbf6865E.exit" ], [ 0, %28 ], [ %61, %"_ZN77_$LT$citationberg..Choose$u20$as$u20$hayagriva..csl..rendering..RenderCsl$GT$14will_have_info28_$u7b$$u7b$closure$u7d$$u7d$17hf28056b8e66b9830E.exit.loopexit" ], [ 0, %.loopexit ], [ %93, %"_ZN77_$LT$citationberg..Choose$u20$as$u20$hayagriva..csl..rendering..RenderCsl$GT$14will_have_info28_$u7b$$u7b$closure$u7d$$u7d$17hf28056b8e66b9830E.exit74.loopexit" ] %.sroa.4.0.insert.ext = zext i32 %.sroa.4.1 to i40 %.sroa.4.0.insert.shift = shl nuw i40 %.sroa.4.0.insert.ext, 8 %.sroa.0.0.insert.ext = zext nneg i8 %.sroa.0.1 to i40 %.sroa.0.0.insert.insert = or disjoint i40 %.sroa.4.0.insert.shift, %.sroa.0.0.insert.ext ret i40 %.sroa.0.0.insert.insert -62: ; preds = %_ZN4core4iter6traits8iterator8Iterator3all17h00084081b9178dd7E.exit.i, %_ZN12citationberg11ChooseMatch4test17h29f377b03a59eba4E.exit +62: ; preds = %.preheader.i, %_ZN12citationberg11ChooseMatch4test17h29f377b03a59eba4E.exit call void @llvm.lifetime.end.p0(ptr nonnull %3) br label %8 -63: ; preds = %_ZN4core4iter6traits8iterator8Iterator3all17h00084081b9178dd7E.exit.i, %_ZN12citationberg11ChooseMatch4test17h29f377b03a59eba4E.exit +63: ; preds = %_ZN12citationberg11ChooseMatch4test17h29f377b03a59eba4E.exit, %.preheader.i call void @llvm.lifetime.end.p0(ptr nonnull %3) %64 = getelementptr inbounds nuw i8, ptr %.0.i34.ph, i64 8 %65 = load ptr, ptr %64, align 8, !nonnull !4, !noundef !4 @@ -89539,12 +89530,12 @@ _ZN12citationberg11ChooseMatch4test17h29f377b03a59eba4E.exit: ; preds = %.prehea br i1 %69, label %"_ZN77_$LT$citationberg..Choose$u20$as$u20$hayagriva..csl..rendering..RenderCsl$GT$14will_have_info28_$u7b$$u7b$closure$u7d$$u7d$17hf28056b8e66b9830E.exit", label %.lr.ph .lr.ph: ; preds = %63, %.lr.ph - %.sroa.6.0.i40121 = phi i8 [ %.sroa.631.0.extract.trunc.i59, %.lr.ph ], [ 0, %63 ] - %.sroa.5.0.i39120 = phi i8 [ %.sroa.530.0.extract.trunc.i57, %.lr.ph ], [ 0, %63 ] - %.sroa.412.0.i38119 = phi i8 [ %.sroa.429.0.extract.trunc.i55, %.lr.ph ], [ 0, %63 ] - %.sroa.08.0.i37118 = phi i8 [ %.sroa.028.0.extract.trunc.i53, %.lr.ph ], [ 0, %63 ] - %.0.i36117 = phi i1 [ %73, %.lr.ph ], [ false, %63 ] - %.sroa.091.0116 = phi ptr [ %70, %.lr.ph ], [ %65, %63 ] + %.sroa.6.0.i40121 = phi i8 [ %.sroa.631.0.extract.trunc.i59, %.lr.ph ], [ 0, %.loopexit ] + %.sroa.5.0.i39120 = phi i8 [ %.sroa.530.0.extract.trunc.i57, %.lr.ph ], [ 0, %.loopexit ] + %.sroa.412.0.i38119 = phi i8 [ %.sroa.429.0.extract.trunc.i55, %.lr.ph ], [ 0, %.loopexit ] + %.sroa.08.0.i37118 = phi i8 [ %.sroa.028.0.extract.trunc.i53, %.lr.ph ], [ 0, %.loopexit ] + %.0.i36117 = phi i1 [ %73, %.lr.ph ], [ false, %.loopexit ] + %.sroa.091.0116 = phi ptr [ %70, %.lr.ph ], [ %65, %.loopexit ] %70 = getelementptr inbounds nuw i8, ptr %.sroa.091.0116, i64 248 %71 = tail call i40 @"_ZN93_$LT$citationberg..LayoutRenderingElement$u20$as$u20$hayagriva..csl..rendering..RenderCsl$GT$14will_have_info17h184a256c22d46976E"(ptr noalias noundef nonnull readonly align 8 dereferenceable(248) %.sroa.091.0116, ptr noalias noundef nonnull align 8 dereferenceable(664) %1) %.1.extract.shift.i41 = lshr i40 %71, 8 @@ -89555,35 +89546,35 @@ _ZN12citationberg11ChooseMatch4test17h29f377b03a59eba4E.exit: ; preds = %.prehea %.not21.i81 = icmp eq i8 %.sroa.5.0.i39120, 0 %.not22.i83 = icmp eq i8 %.sroa.6.0.i40121, 0 %75 = trunc i40 %.1.extract.shift.i41 to i8 + %73 = and i8 %72, 1 + %.sroa.028.0.extract.trunc.i53 = select i1 %71, i8 1, i8 %73 + %74 = lshr i40 %68, 16 + %75 = trunc i40 %74 to i8 %76 = and i8 %75, 1 - %.sroa.028.0.extract.trunc.i53 = select i1 %74, i8 1, i8 %76 - %77 = lshr i40 %71, 16 + %.sroa.028.0.extract.trunc.i53 = select i1 %.not.i79, i8 %76, i8 1 + %77 = lshr i40 %71, 24 %78 = trunc i40 %77 to i8 %79 = and i8 %78, 1 - %.sroa.429.0.extract.trunc.i55 = select i1 %.not.i79, i8 %79, i8 1 - %80 = lshr i40 %71, 24 - %81 = trunc i40 %80 to i8 + %.sroa.429.0.extract.trunc.i55 = select i1 %.not21.i81, i8 %79, i8 1 + %80 = lshr i40 %71, 32 + %81 = trunc nuw i40 %80 to i8 %82 = and i8 %81, 1 - %.sroa.530.0.extract.trunc.i57 = select i1 %.not21.i81, i8 %82, i8 1 - %sum.shift = lshr i40 %71, 32 - %83 = trunc nuw i40 %sum.shift to i8 - %84 = and i8 %83, 1 - %.sroa.631.0.extract.trunc.i59 = select i1 %.not22.i83, i8 %84, i8 1 - %85 = icmp eq ptr %70, %68 - br i1 %85, label %"_ZN77_$LT$citationberg..Choose$u20$as$u20$hayagriva..csl..rendering..RenderCsl$GT$14will_have_info28_$u7b$$u7b$closure$u7d$$u7d$17hf28056b8e66b9830E.exit74.loopexit", label %.lr.ph + %.sroa.530.0.extract.trunc.i57 = select i1 %.not22.i83, i8 %82, i8 1 + %82 = icmp eq ptr %67, %65 + br i1 %82, label %"_ZN77_$LT$citationberg..Choose$u20$as$u20$hayagriva..csl..rendering..RenderCsl$GT$14will_have_info28_$u7b$$u7b$closure$u7d$$u7d$17hf28056b8e66b9830E.exit74.loopexit", label %.lr.ph "_ZN77_$LT$citationberg..Choose$u20$as$u20$hayagriva..csl..rendering..RenderCsl$GT$14will_have_info28_$u7b$$u7b$closure$u7d$$u7d$17hf28056b8e66b9830E.exit74.loopexit": ; preds = %.lr.ph %86 = zext nneg i8 %.sroa.631.0.extract.trunc.i59 to i32 %87 = shl nuw nsw i32 %86, 24 %88 = zext nneg i8 %.sroa.530.0.extract.trunc.i57 to i32 %89 = shl nuw nsw i32 %88, 16 + %87 = or disjoint i32 %84, %86 + %88 = zext nneg i8 %.sroa.429.0.extract.trunc.i55 to i32 + %89 = shl nuw nsw i32 %88, 8 %90 = or disjoint i32 %87, %89 - %91 = zext nneg i8 %.sroa.429.0.extract.trunc.i55 to i32 - %92 = shl nuw nsw i32 %91, 8 - %93 = or disjoint i32 %90, %92 - %94 = zext nneg i8 %.sroa.028.0.extract.trunc.i53 to i32 - %95 = or disjoint i32 %93, %94 - %96 = zext i1 %73 to i8 + %91 = zext nneg i8 %.sroa.028.0.extract.trunc.i53 to i32 + %92 = or disjoint i32 %90, %91 + %93 = zext i1 %70 to i8 br label %"_ZN77_$LT$citationberg..Choose$u20$as$u20$hayagriva..csl..rendering..RenderCsl$GT$14will_have_info28_$u7b$$u7b$closure$u7d$$u7d$17hf28056b8e66b9830E.exit" } diff --git a/scripts/setup_pre_commit_patch.sh b/scripts/setup_pre_commit_patch.sh index c5409e09ef4..0cbc7fa5b17 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/155087 export COMPTIME_MODE=0 # Please rebase manually