diff --git a/bench/actix-rs/optimized/1v3445utu4y7ica.ll b/bench/actix-rs/optimized/1v3445utu4y7ica.ll index f5e1bc5a84b..7757b8d3acd 100644 --- a/bench/actix-rs/optimized/1v3445utu4y7ica.ll +++ b/bench/actix-rs/optimized/1v3445utu4y7ica.ll @@ -985,9 +985,9 @@ define hidden noundef ptr @_ZN3std2io5Write9write_all17h0abf605cfe72ae64E(ptr no %19 = getelementptr inbounds nuw i8, ptr %4, i64 8 br label %20 -20: ; preds = %.lr.ph, %90 - %.sroa.0.044 = phi ptr [ %1, %.lr.ph ], [ %.sroa.0.123, %90 ] - %.sroa.4.043 = phi i64 [ %2, %.lr.ph ], [ %.sroa.4.121, %90 ] +20: ; preds = %.lr.ph, %88 + %.sroa.0.045 = phi ptr [ %1, %.lr.ph ], [ %.sroa.0.123, %88 ] + %.sroa.4.044 = phi i64 [ %2, %.lr.ph ], [ %.sroa.4.121, %88 ] call void @llvm.experimental.noalias.scope.decl(metadata !113) call void @llvm.experimental.noalias.scope.decl(metadata !116) %.pre.i.i = load i64, ptr %8, align 8, !alias.scope !119, !noalias !122 @@ -1049,12 +1049,12 @@ define hidden noundef ptr @_ZN3std2io5Write9write_all17h0abf605cfe72ae64E(ptr no "_ZN4zstd6stream3zio6writer19Writer$LT$W$C$D$GT$17write_from_offset17h57bb6ba616dc7a5fE.exit.i.i": ; preds = %44, %21 %50 = load i8, ptr %14, align 1, !range !138, !alias.scope !139, !noalias !122, !noundef !4 %51 = trunc nuw i8 %50 to i1 - br i1 %51, label %58, label %52 + br i1 %51, label %56, label %52 -52: ; preds = %61, %"_ZN4zstd6stream3zio6writer19Writer$LT$W$C$D$GT$17write_from_offset17h57bb6ba616dc7a5fE.exit.i.i" +52: ; preds = %59, %"_ZN4zstd6stream3zio6writer19Writer$LT$W$C$D$GT$17write_from_offset17h57bb6ba616dc7a5fE.exit.i.i" call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %6), !noalias !140 - store ptr %.sroa.0.044, ptr %6, align 8, !noalias !140 - store i64 %.sroa.4.043, ptr %16, align 8, !noalias !140 + store ptr %.sroa.0.045, ptr %6, align 8, !noalias !140 + store i64 %.sroa.4.044, ptr %16, align 8, !noalias !140 store i64 0, ptr %17, align 8, !noalias !140 call void @llvm.experimental.noalias.scope.decl(metadata !141) store i64 0, ptr %9, align 8, !alias.scope !144, !noalias !145 @@ -1065,122 +1065,116 @@ define hidden noundef ptr @_ZN3std2io5Write9write_all17h0abf605cfe72ae64E(ptr no %54 = extractvalue { i64, i64 } %53, 0 %55 = extractvalue { i64, i64 } %53, 1 %switch.i.i.i.i.i.i = icmp eq i64 %54, 0 - br i1 %switch.i.i.i.i.i.i, label %62, label %"_ZN4zstd6stream3zio6writer19Writer$LT$W$C$D$GT$11with_buffer17he30d34aa504fb75dE.exit.i.i" + br i1 %switch.i.i.i.i.i.i, label %60, label %"_ZN72_$LT$zstd..stream..write..Encoder$LT$W$GT$$u20$as$u20$std..io..Write$GT$5write17h096959528c147888E.exit" -"_ZN4zstd6stream3zio6writer19Writer$LT$W$C$D$GT$11with_buffer17he30d34aa504fb75dE.exit.i.i": ; preds = %52 - %56 = call noundef nonnull ptr @_ZN4zstd14map_error_code17he048d7575605fcf5E(i64 noundef %55), !noalias !154 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %5), !noalias !148 - %57 = load i64, ptr %17, align 8, !noalias !140, !noundef !4 - store i64 0, ptr %8, align 8, !alias.scope !139, !noalias !122 - %trunc.i.i = trunc nuw i64 %54 to i1 - br i1 %trunc.i.i, label %"_ZN72_$LT$zstd..stream..write..Encoder$LT$W$GT$$u20$as$u20$std..io..Write$GT$5write17h096959528c147888E.exit", label %.thread.i.i - -58: ; preds = %"_ZN4zstd6stream3zio6writer19Writer$LT$W$C$D$GT$17write_from_offset17h57bb6ba616dc7a5fE.exit.i.i" - %59 = call noundef ptr @"_ZN75_$LT$zstd..stream..raw..Encoder$u20$as$u20$zstd..stream..raw..Operation$GT$6reinit17hd3a0213d008b32bdE"(ptr noalias noundef nonnull align 8 dereferenceable(8) %15), !noalias !157 - %60 = icmp eq ptr %59, null - br i1 %60, label %61, label %"_ZN72_$LT$zstd..stream..write..Encoder$LT$W$GT$$u20$as$u20$std..io..Write$GT$5write17h096959528c147888E.exit.thread" +56: ; preds = %"_ZN4zstd6stream3zio6writer19Writer$LT$W$C$D$GT$17write_from_offset17h57bb6ba616dc7a5fE.exit.i.i" + %57 = call noundef ptr @"_ZN75_$LT$zstd..stream..raw..Encoder$u20$as$u20$zstd..stream..raw..Operation$GT$6reinit17hd3a0213d008b32bdE"(ptr noalias noundef nonnull align 8 dereferenceable(8) %15), !noalias !154 + %58 = icmp eq ptr %57, null + br i1 %58, label %59, label %"_ZN72_$LT$zstd..stream..write..Encoder$LT$W$GT$$u20$as$u20$std..io..Write$GT$5write17h096959528c147888E.exit.thread" -61: ; preds = %58 +59: ; preds = %56 store i8 0, ptr %14, align 1, !alias.scope !139, !noalias !122 br label %52 -62: ; preds = %52 +60: ; preds = %52 call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %5), !noalias !148 - %63 = load i64, ptr %17, align 8, !noalias !140, !noundef !4 + %61 = load i64, ptr %17, align 8, !noalias !140, !noundef !4 store i64 0, ptr %8, align 8, !alias.scope !139, !noalias !122 - %64 = icmp eq i64 %55, 0 - br i1 %64, label %65, label %.thread.i.i + %62 = icmp eq i64 %55, 0 + br i1 %62, label %63, label %.thread.i.i -65: ; preds = %62 +63: ; preds = %60 store i8 1, ptr %14, align 1, !alias.scope !139, !noalias !122 br label %.thread.i.i -.thread.i.i: ; preds = %65, %62, %"_ZN4zstd6stream3zio6writer19Writer$LT$W$C$D$GT$11with_buffer17he30d34aa504fb75dE.exit.i.i" - %66 = phi i64 [ %63, %65 ], [ %63, %62 ], [ %57, %"_ZN4zstd6stream3zio6writer19Writer$LT$W$C$D$GT$11with_buffer17he30d34aa504fb75dE.exit.i.i" ] - %.not.i.i = icmp eq i64 %66, 0 +.thread.i.i: ; preds = %63, %60 + %.not.i.i = icmp eq i64 %61, 0 call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %6), !noalias !140 - br i1 %.not.i.i, label %21, label %67 + br i1 %.not.i.i, label %21, label %65 -"_ZN72_$LT$zstd..stream..write..Encoder$LT$W$GT$$u20$as$u20$std..io..Write$GT$5write17h096959528c147888E.exit": ; preds = %"_ZN4zstd6stream3zio6writer19Writer$LT$W$C$D$GT$11with_buffer17he30d34aa504fb75dE.exit.i.i" +"_ZN72_$LT$zstd..stream..write..Encoder$LT$W$GT$$u20$as$u20$std..io..Write$GT$5write17h096959528c147888E.exit": ; preds = %52 + %64 = call noundef nonnull ptr @_ZN4zstd14map_error_code17he048d7575605fcf5E(i64 noundef %55), !noalias !155 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %5), !noalias !148 + store i64 0, ptr %8, align 8, !alias.scope !139, !noalias !122 call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %6), !noalias !140 br label %"_ZN72_$LT$zstd..stream..write..Encoder$LT$W$GT$$u20$as$u20$std..io..Write$GT$5write17h096959528c147888E.exit.thread" -.loopexit: ; preds = %72, %74, %78, %_ZN3std2io5error5Error14is_interrupted17haa138aed658ec797E.exit, %90, %3 - %.0 = phi ptr [ null, %3 ], [ %69, %72 ], [ %69, %74 ], [ %69, %78 ], [ %69, %_ZN3std2io5error5Error14is_interrupted17haa138aed658ec797E.exit ], [ null, %90 ] +.loopexit: ; preds = %70, %72, %76, %_ZN3std2io5error5Error14is_interrupted17haa138aed658ec797E.exit, %88, %3 + %.0 = phi ptr [ null, %3 ], [ %67, %70 ], [ %67, %72 ], [ %67, %76 ], [ %67, %_ZN3std2io5error5Error14is_interrupted17haa138aed658ec797E.exit ], [ null, %88 ] ret ptr %.0 -67: ; preds = %.thread.i.i - %68 = icmp ugt i64 %66, %.sroa.4.043 - br i1 %68, label %84, label %85 +65: ; preds = %.thread.i.i + %66 = icmp ugt i64 %61, %.sroa.4.044 + br i1 %66, label %82, label %83 -"_ZN72_$LT$zstd..stream..write..Encoder$LT$W$GT$$u20$as$u20$std..io..Write$GT$5write17h096959528c147888E.exit.thread": ; preds = %58, %"_ZN72_$LT$zstd..stream..write..Encoder$LT$W$GT$$u20$as$u20$std..io..Write$GT$5write17h096959528c147888E.exit" - %69 = phi ptr [ %56, %"_ZN72_$LT$zstd..stream..write..Encoder$LT$W$GT$$u20$as$u20$std..io..Write$GT$5write17h096959528c147888E.exit" ], [ %59, %58 ] - %70 = ptrtoint ptr %69 to i64 - %71 = and i64 %70, 3 - switch i64 %71, label %default.unreachable [ - i64 2, label %72 +"_ZN72_$LT$zstd..stream..write..Encoder$LT$W$GT$$u20$as$u20$std..io..Write$GT$5write17h096959528c147888E.exit.thread": ; preds = %56, %"_ZN72_$LT$zstd..stream..write..Encoder$LT$W$GT$$u20$as$u20$std..io..Write$GT$5write17h096959528c147888E.exit" + %67 = phi ptr [ %64, %"_ZN72_$LT$zstd..stream..write..Encoder$LT$W$GT$$u20$as$u20$std..io..Write$GT$5write17h096959528c147888E.exit" ], [ %57, %56 ] + %68 = ptrtoint ptr %67 to i64 + %69 = and i64 %68, 3 + switch i64 %69, label %default.unreachable [ + i64 2, label %70 i64 3, label %_ZN3std2io5error5Error14is_interrupted17haa138aed658ec797E.exit - i64 0, label %74 - i64 1, label %78 + i64 0, label %72 + i64 1, label %76 ] default.unreachable: ; preds = %"_ZN72_$LT$zstd..stream..write..Encoder$LT$W$GT$$u20$as$u20$std..io..Write$GT$5write17h096959528c147888E.exit.thread" unreachable +70: ; preds = %"_ZN72_$LT$zstd..stream..write..Encoder$LT$W$GT$$u20$as$u20$std..io..Write$GT$5write17h096959528c147888E.exit.thread" + %.mask.i = and i64 %68, -4294967296 + %71 = icmp eq i64 %.mask.i, 17179869184 + br i1 %71, label %.thread, label %.loopexit + 72: ; preds = %"_ZN72_$LT$zstd..stream..write..Encoder$LT$W$GT$$u20$as$u20$std..io..Write$GT$5write17h096959528c147888E.exit.thread" - %.mask.i = and i64 %70, -4294967296 - %73 = icmp eq i64 %.mask.i, 17179869184 - br i1 %73, label %.thread, label %.loopexit - -74: ; preds = %"_ZN72_$LT$zstd..stream..write..Encoder$LT$W$GT$$u20$as$u20$std..io..Write$GT$5write17h096959528c147888E.exit.thread" - %75 = getelementptr inbounds nuw i8, ptr %69, i64 16 - %76 = load i8, ptr %75, align 8, !range !158, !noundef !4 - %77 = icmp eq i8 %76, 35 - br i1 %77, label %.thread, label %.loopexit - -78: ; preds = %"_ZN72_$LT$zstd..stream..write..Encoder$LT$W$GT$$u20$as$u20$std..io..Write$GT$5write17h096959528c147888E.exit.thread" - %79 = getelementptr i8, ptr %69, i64 -1 - %80 = icmp ne ptr %79, null - call void @llvm.assume(i1 %80) - %81 = getelementptr i8, ptr %69, i64 15 - %82 = load i8, ptr %81, align 8, !range !158, !noundef !4 - %83 = icmp eq i8 %82, 35 - br i1 %83, label %.thread, label %.loopexit - -84: ; preds = %67 - call void @_ZN4core5slice5index26slice_start_index_len_fail17h6f35008186d11abeE(i64 noundef %66, i64 noundef %.sroa.4.043, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.3dfc7285fed8fa297aed43441a3d1c46.9) #27 - unreachable - -85: ; preds = %67 - %86 = sub nuw i64 %.sroa.4.043, %66 - %87 = getelementptr inbounds i8, ptr %.sroa.0.044, i64 %66 - br label %90 + %73 = getelementptr inbounds nuw i8, ptr %67, i64 16 + %74 = load i8, ptr %73, align 8, !range !158, !noundef !4 + %75 = icmp eq i8 %74, 35 + br i1 %75, label %.thread, label %.loopexit + +76: ; preds = %"_ZN72_$LT$zstd..stream..write..Encoder$LT$W$GT$$u20$as$u20$std..io..Write$GT$5write17h096959528c147888E.exit.thread" + %77 = getelementptr i8, ptr %67, i64 -1 + %78 = icmp ne ptr %77, null + call void @llvm.assume(i1 %78) + %79 = getelementptr i8, ptr %67, i64 15 + %80 = load i8, ptr %79, align 8, !range !158, !noundef !4 + %81 = icmp eq i8 %80, 35 + br i1 %81, label %.thread, label %.loopexit + +82: ; preds = %65 + call void @_ZN4core5slice5index26slice_start_index_len_fail17h6f35008186d11abeE(i64 noundef %61, i64 noundef %.sroa.4.044, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.3dfc7285fed8fa297aed43441a3d1c46.9) #27 + unreachable + +83: ; preds = %65 + %84 = sub nuw i64 %.sroa.4.044, %61 + %85 = getelementptr inbounds i8, ptr %.sroa.0.045, i64 %61 + br label %88 _ZN3std2io5error5Error14is_interrupted17haa138aed658ec797E.exit: ; preds = %"_ZN72_$LT$zstd..stream..write..Encoder$LT$W$GT$$u20$as$u20$std..io..Write$GT$5write17h096959528c147888E.exit.thread" - %.mask20.i = and i64 %70, -4294967296 + %.mask20.i = and i64 %68, -4294967296 %switch.i = icmp eq i64 %.mask20.i, 150323855360 br i1 %switch.i, label %.thread, label %.loopexit -.thread: ; preds = %_ZN3std2io5error5Error14is_interrupted17haa138aed658ec797E.exit, %78, %74, %72 +.thread: ; preds = %_ZN3std2io5error5Error14is_interrupted17haa138aed658ec797E.exit, %76, %72, %70 call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %4), !noalias !159 - call void @_ZN3std2io5error14repr_bitpacked11decode_repr17h9a1475dffe9770cdE.llvm.14998522591088738574(ptr noalias nocapture noundef nonnull sret({ i8, [15 x i8] }) align 8 dereferenceable(16) %4, ptr noundef nonnull %69), !noalias !159 - %88 = load i8, ptr %4, align 8, !range !166, !alias.scope !167, !noalias !159, !noundef !4 - %switch.not.i.i.i.i = icmp eq i8 %88, 3 - br i1 %switch.not.i.i.i.i, label %89, label %"_ZN4core3ptr42drop_in_place$LT$std..io..error..Error$GT$17h5ad080ef8b5853c3E.exit" + call void @_ZN3std2io5error14repr_bitpacked11decode_repr17h9a1475dffe9770cdE.llvm.14998522591088738574(ptr noalias nocapture noundef nonnull sret({ i8, [15 x i8] }) align 8 dereferenceable(16) %4, ptr noundef nonnull %67), !noalias !159 + %86 = load i8, ptr %4, align 8, !range !166, !alias.scope !167, !noalias !159, !noundef !4 + %switch.not.i.i.i.i = icmp eq i8 %86, 3 + br i1 %switch.not.i.i.i.i, label %87, label %"_ZN4core3ptr42drop_in_place$LT$std..io..error..Error$GT$17h5ad080ef8b5853c3E.exit" -89: ; preds = %.thread +87: ; preds = %.thread call void @"_ZN4core3ptr68drop_in_place$LT$alloc..boxed..Box$LT$std..io..error..Custom$GT$$GT$17h3b849bc110c7ebcdE.llvm.14998522591088738574"(ptr noalias noundef nonnull align 8 dereferenceable(8) %19), !noalias !159 br label %"_ZN4core3ptr42drop_in_place$LT$std..io..error..Error$GT$17h5ad080ef8b5853c3E.exit" -"_ZN4core3ptr42drop_in_place$LT$std..io..error..Error$GT$17h5ad080ef8b5853c3E.exit": ; preds = %.thread, %89 +"_ZN4core3ptr42drop_in_place$LT$std..io..error..Error$GT$17h5ad080ef8b5853c3E.exit": ; preds = %.thread, %87 call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %4), !noalias !159 - br label %90 + br label %88 -90: ; preds = %85, %"_ZN4core3ptr42drop_in_place$LT$std..io..error..Error$GT$17h5ad080ef8b5853c3E.exit" - %.sroa.0.123 = phi ptr [ %.sroa.0.044, %"_ZN4core3ptr42drop_in_place$LT$std..io..error..Error$GT$17h5ad080ef8b5853c3E.exit" ], [ %87, %85 ] - %.sroa.4.121 = phi i64 [ %.sroa.4.043, %"_ZN4core3ptr42drop_in_place$LT$std..io..error..Error$GT$17h5ad080ef8b5853c3E.exit" ], [ %86, %85 ] - %91 = icmp eq i64 %.sroa.4.121, 0 - br i1 %91, label %.loopexit, label %20 +88: ; preds = %83, %"_ZN4core3ptr42drop_in_place$LT$std..io..error..Error$GT$17h5ad080ef8b5853c3E.exit" + %.sroa.0.123 = phi ptr [ %.sroa.0.045, %"_ZN4core3ptr42drop_in_place$LT$std..io..error..Error$GT$17h5ad080ef8b5853c3E.exit" ], [ %85, %83 ] + %.sroa.4.121 = phi i64 [ %.sroa.4.044, %"_ZN4core3ptr42drop_in_place$LT$std..io..error..Error$GT$17h5ad080ef8b5853c3E.exit" ], [ %84, %83 ] + %89 = icmp eq i64 %.sroa.4.121, 0 + br i1 %89, label %.loopexit, label %20 } ; Function Attrs: nonlazybind uwtable @@ -1754,9 +1748,9 @@ define hidden noundef ptr @_ZN3std2io5Write9write_all17hef7d863c6bf20f7eE(ptr no %19 = getelementptr inbounds nuw i8, ptr %4, i64 8 br label %20 -20: ; preds = %.lr.ph, %90 - %.sroa.0.044 = phi ptr [ %1, %.lr.ph ], [ %.sroa.0.123, %90 ] - %.sroa.4.043 = phi i64 [ %2, %.lr.ph ], [ %.sroa.4.121, %90 ] +20: ; preds = %.lr.ph, %88 + %.sroa.0.045 = phi ptr [ %1, %.lr.ph ], [ %.sroa.0.123, %88 ] + %.sroa.4.044 = phi i64 [ %2, %.lr.ph ], [ %.sroa.4.121, %88 ] call void @llvm.experimental.noalias.scope.decl(metadata !277) call void @llvm.experimental.noalias.scope.decl(metadata !280) %.pre.i.i = load i64, ptr %8, align 8, !alias.scope !283, !noalias !286 @@ -1818,12 +1812,12 @@ define hidden noundef ptr @_ZN3std2io5Write9write_all17hef7d863c6bf20f7eE(ptr no "_ZN4zstd6stream3zio6writer19Writer$LT$W$C$D$GT$17write_from_offset17h9f4e4ebe50af9b4cE.llvm.10144161557925507027.exit.i.i": ; preds = %44, %21 %50 = load i8, ptr %14, align 1, !range !138, !alias.scope !302, !noalias !286, !noundef !4 %51 = trunc nuw i8 %50 to i1 - br i1 %51, label %58, label %52 + br i1 %51, label %56, label %52 -52: ; preds = %61, %"_ZN4zstd6stream3zio6writer19Writer$LT$W$C$D$GT$17write_from_offset17h9f4e4ebe50af9b4cE.llvm.10144161557925507027.exit.i.i" +52: ; preds = %59, %"_ZN4zstd6stream3zio6writer19Writer$LT$W$C$D$GT$17write_from_offset17h9f4e4ebe50af9b4cE.llvm.10144161557925507027.exit.i.i" call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %6), !noalias !303 - store ptr %.sroa.0.044, ptr %6, align 8, !noalias !303 - store i64 %.sroa.4.043, ptr %16, align 8, !noalias !303 + store ptr %.sroa.0.045, ptr %6, align 8, !noalias !303 + store i64 %.sroa.4.044, ptr %16, align 8, !noalias !303 store i64 0, ptr %17, align 8, !noalias !303 call void @llvm.experimental.noalias.scope.decl(metadata !304) store i64 0, ptr %9, align 8, !alias.scope !307, !noalias !308 @@ -1834,122 +1828,116 @@ define hidden noundef ptr @_ZN3std2io5Write9write_all17hef7d863c6bf20f7eE(ptr no %54 = extractvalue { i64, i64 } %53, 0 %55 = extractvalue { i64, i64 } %53, 1 %switch.i.i.i.i.i.i = icmp eq i64 %54, 0 - br i1 %switch.i.i.i.i.i.i, label %62, label %"_ZN4zstd6stream3zio6writer19Writer$LT$W$C$D$GT$11with_buffer17hcdc78c023d193879E.exit.i.i" - -"_ZN4zstd6stream3zio6writer19Writer$LT$W$C$D$GT$11with_buffer17hcdc78c023d193879E.exit.i.i": ; preds = %52 - %56 = call noundef nonnull ptr @_ZN4zstd14map_error_code17he048d7575605fcf5E(i64 noundef %55), !noalias !317 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %5), !noalias !311 - %57 = load i64, ptr %17, align 8, !noalias !303, !noundef !4 - store i64 0, ptr %8, align 8, !alias.scope !302, !noalias !286 - %trunc.i.i = trunc nuw i64 %54 to i1 - br i1 %trunc.i.i, label %"_ZN72_$LT$zstd..stream..write..Decoder$LT$W$GT$$u20$as$u20$std..io..Write$GT$5write17h11a12863436ee8eaE.exit", label %.thread.i.i + br i1 %switch.i.i.i.i.i.i, label %60, label %"_ZN72_$LT$zstd..stream..write..Decoder$LT$W$GT$$u20$as$u20$std..io..Write$GT$5write17h11a12863436ee8eaE.exit" -58: ; preds = %"_ZN4zstd6stream3zio6writer19Writer$LT$W$C$D$GT$17write_from_offset17h9f4e4ebe50af9b4cE.llvm.10144161557925507027.exit.i.i" - %59 = call noundef ptr @"_ZN75_$LT$zstd..stream..raw..Decoder$u20$as$u20$zstd..stream..raw..Operation$GT$6reinit17hf1cbb5def4118784E"(ptr noalias noundef nonnull align 8 dereferenceable(8) %15), !noalias !320 - %60 = icmp eq ptr %59, null - br i1 %60, label %61, label %"_ZN72_$LT$zstd..stream..write..Decoder$LT$W$GT$$u20$as$u20$std..io..Write$GT$5write17h11a12863436ee8eaE.exit.thread" +56: ; preds = %"_ZN4zstd6stream3zio6writer19Writer$LT$W$C$D$GT$17write_from_offset17h9f4e4ebe50af9b4cE.llvm.10144161557925507027.exit.i.i" + %57 = call noundef ptr @"_ZN75_$LT$zstd..stream..raw..Decoder$u20$as$u20$zstd..stream..raw..Operation$GT$6reinit17hf1cbb5def4118784E"(ptr noalias noundef nonnull align 8 dereferenceable(8) %15), !noalias !317 + %58 = icmp eq ptr %57, null + br i1 %58, label %59, label %"_ZN72_$LT$zstd..stream..write..Decoder$LT$W$GT$$u20$as$u20$std..io..Write$GT$5write17h11a12863436ee8eaE.exit.thread" -61: ; preds = %58 +59: ; preds = %56 store i8 0, ptr %14, align 1, !alias.scope !302, !noalias !286 br label %52 -62: ; preds = %52 +60: ; preds = %52 call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %5), !noalias !311 - %63 = load i64, ptr %17, align 8, !noalias !303, !noundef !4 + %61 = load i64, ptr %17, align 8, !noalias !303, !noundef !4 store i64 0, ptr %8, align 8, !alias.scope !302, !noalias !286 - %64 = icmp eq i64 %55, 0 - br i1 %64, label %65, label %.thread.i.i + %62 = icmp eq i64 %55, 0 + br i1 %62, label %63, label %.thread.i.i -65: ; preds = %62 +63: ; preds = %60 store i8 1, ptr %14, align 1, !alias.scope !302, !noalias !286 br label %.thread.i.i -.thread.i.i: ; preds = %65, %62, %"_ZN4zstd6stream3zio6writer19Writer$LT$W$C$D$GT$11with_buffer17hcdc78c023d193879E.exit.i.i" - %66 = phi i64 [ %63, %65 ], [ %63, %62 ], [ %57, %"_ZN4zstd6stream3zio6writer19Writer$LT$W$C$D$GT$11with_buffer17hcdc78c023d193879E.exit.i.i" ] - %.not.i.i = icmp eq i64 %66, 0 +.thread.i.i: ; preds = %63, %60 + %.not.i.i = icmp eq i64 %61, 0 call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %6), !noalias !303 - br i1 %.not.i.i, label %21, label %67 + br i1 %.not.i.i, label %21, label %65 -"_ZN72_$LT$zstd..stream..write..Decoder$LT$W$GT$$u20$as$u20$std..io..Write$GT$5write17h11a12863436ee8eaE.exit": ; preds = %"_ZN4zstd6stream3zio6writer19Writer$LT$W$C$D$GT$11with_buffer17hcdc78c023d193879E.exit.i.i" +"_ZN72_$LT$zstd..stream..write..Decoder$LT$W$GT$$u20$as$u20$std..io..Write$GT$5write17h11a12863436ee8eaE.exit": ; preds = %52 + %64 = call noundef nonnull ptr @_ZN4zstd14map_error_code17he048d7575605fcf5E(i64 noundef %55), !noalias !318 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %5), !noalias !311 + store i64 0, ptr %8, align 8, !alias.scope !302, !noalias !286 call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %6), !noalias !303 br label %"_ZN72_$LT$zstd..stream..write..Decoder$LT$W$GT$$u20$as$u20$std..io..Write$GT$5write17h11a12863436ee8eaE.exit.thread" -.loopexit: ; preds = %72, %74, %78, %_ZN3std2io5error5Error14is_interrupted17haa138aed658ec797E.exit, %90, %3 - %.0 = phi ptr [ null, %3 ], [ %69, %72 ], [ %69, %74 ], [ %69, %78 ], [ %69, %_ZN3std2io5error5Error14is_interrupted17haa138aed658ec797E.exit ], [ null, %90 ] +.loopexit: ; preds = %70, %72, %76, %_ZN3std2io5error5Error14is_interrupted17haa138aed658ec797E.exit, %88, %3 + %.0 = phi ptr [ null, %3 ], [ %67, %70 ], [ %67, %72 ], [ %67, %76 ], [ %67, %_ZN3std2io5error5Error14is_interrupted17haa138aed658ec797E.exit ], [ null, %88 ] ret ptr %.0 -67: ; preds = %.thread.i.i - %68 = icmp ugt i64 %66, %.sroa.4.043 - br i1 %68, label %84, label %85 +65: ; preds = %.thread.i.i + %66 = icmp ugt i64 %61, %.sroa.4.044 + br i1 %66, label %82, label %83 -"_ZN72_$LT$zstd..stream..write..Decoder$LT$W$GT$$u20$as$u20$std..io..Write$GT$5write17h11a12863436ee8eaE.exit.thread": ; preds = %58, %"_ZN72_$LT$zstd..stream..write..Decoder$LT$W$GT$$u20$as$u20$std..io..Write$GT$5write17h11a12863436ee8eaE.exit" - %69 = phi ptr [ %56, %"_ZN72_$LT$zstd..stream..write..Decoder$LT$W$GT$$u20$as$u20$std..io..Write$GT$5write17h11a12863436ee8eaE.exit" ], [ %59, %58 ] - %70 = ptrtoint ptr %69 to i64 - %71 = and i64 %70, 3 - switch i64 %71, label %default.unreachable [ - i64 2, label %72 +"_ZN72_$LT$zstd..stream..write..Decoder$LT$W$GT$$u20$as$u20$std..io..Write$GT$5write17h11a12863436ee8eaE.exit.thread": ; preds = %56, %"_ZN72_$LT$zstd..stream..write..Decoder$LT$W$GT$$u20$as$u20$std..io..Write$GT$5write17h11a12863436ee8eaE.exit" + %67 = phi ptr [ %64, %"_ZN72_$LT$zstd..stream..write..Decoder$LT$W$GT$$u20$as$u20$std..io..Write$GT$5write17h11a12863436ee8eaE.exit" ], [ %57, %56 ] + %68 = ptrtoint ptr %67 to i64 + %69 = and i64 %68, 3 + switch i64 %69, label %default.unreachable [ + i64 2, label %70 i64 3, label %_ZN3std2io5error5Error14is_interrupted17haa138aed658ec797E.exit - i64 0, label %74 - i64 1, label %78 + i64 0, label %72 + i64 1, label %76 ] default.unreachable: ; preds = %"_ZN72_$LT$zstd..stream..write..Decoder$LT$W$GT$$u20$as$u20$std..io..Write$GT$5write17h11a12863436ee8eaE.exit.thread" unreachable +70: ; preds = %"_ZN72_$LT$zstd..stream..write..Decoder$LT$W$GT$$u20$as$u20$std..io..Write$GT$5write17h11a12863436ee8eaE.exit.thread" + %.mask.i = and i64 %68, -4294967296 + %71 = icmp eq i64 %.mask.i, 17179869184 + br i1 %71, label %.thread, label %.loopexit + 72: ; preds = %"_ZN72_$LT$zstd..stream..write..Decoder$LT$W$GT$$u20$as$u20$std..io..Write$GT$5write17h11a12863436ee8eaE.exit.thread" - %.mask.i = and i64 %70, -4294967296 - %73 = icmp eq i64 %.mask.i, 17179869184 - br i1 %73, label %.thread, label %.loopexit - -74: ; preds = %"_ZN72_$LT$zstd..stream..write..Decoder$LT$W$GT$$u20$as$u20$std..io..Write$GT$5write17h11a12863436ee8eaE.exit.thread" - %75 = getelementptr inbounds nuw i8, ptr %69, i64 16 - %76 = load i8, ptr %75, align 8, !range !158, !noundef !4 - %77 = icmp eq i8 %76, 35 - br i1 %77, label %.thread, label %.loopexit - -78: ; preds = %"_ZN72_$LT$zstd..stream..write..Decoder$LT$W$GT$$u20$as$u20$std..io..Write$GT$5write17h11a12863436ee8eaE.exit.thread" - %79 = getelementptr i8, ptr %69, i64 -1 - %80 = icmp ne ptr %79, null - call void @llvm.assume(i1 %80) - %81 = getelementptr i8, ptr %69, i64 15 - %82 = load i8, ptr %81, align 8, !range !158, !noundef !4 - %83 = icmp eq i8 %82, 35 - br i1 %83, label %.thread, label %.loopexit - -84: ; preds = %67 - call void @_ZN4core5slice5index26slice_start_index_len_fail17h6f35008186d11abeE(i64 noundef %66, i64 noundef %.sroa.4.043, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.3dfc7285fed8fa297aed43441a3d1c46.9) #27 - unreachable - -85: ; preds = %67 - %86 = sub nuw i64 %.sroa.4.043, %66 - %87 = getelementptr inbounds i8, ptr %.sroa.0.044, i64 %66 - br label %90 + %73 = getelementptr inbounds nuw i8, ptr %67, i64 16 + %74 = load i8, ptr %73, align 8, !range !158, !noundef !4 + %75 = icmp eq i8 %74, 35 + br i1 %75, label %.thread, label %.loopexit + +76: ; preds = %"_ZN72_$LT$zstd..stream..write..Decoder$LT$W$GT$$u20$as$u20$std..io..Write$GT$5write17h11a12863436ee8eaE.exit.thread" + %77 = getelementptr i8, ptr %67, i64 -1 + %78 = icmp ne ptr %77, null + call void @llvm.assume(i1 %78) + %79 = getelementptr i8, ptr %67, i64 15 + %80 = load i8, ptr %79, align 8, !range !158, !noundef !4 + %81 = icmp eq i8 %80, 35 + br i1 %81, label %.thread, label %.loopexit + +82: ; preds = %65 + call void @_ZN4core5slice5index26slice_start_index_len_fail17h6f35008186d11abeE(i64 noundef %61, i64 noundef %.sroa.4.044, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.3dfc7285fed8fa297aed43441a3d1c46.9) #27 + unreachable + +83: ; preds = %65 + %84 = sub nuw i64 %.sroa.4.044, %61 + %85 = getelementptr inbounds i8, ptr %.sroa.0.045, i64 %61 + br label %88 _ZN3std2io5error5Error14is_interrupted17haa138aed658ec797E.exit: ; preds = %"_ZN72_$LT$zstd..stream..write..Decoder$LT$W$GT$$u20$as$u20$std..io..Write$GT$5write17h11a12863436ee8eaE.exit.thread" - %.mask20.i = and i64 %70, -4294967296 + %.mask20.i = and i64 %68, -4294967296 %switch.i = icmp eq i64 %.mask20.i, 150323855360 br i1 %switch.i, label %.thread, label %.loopexit -.thread: ; preds = %_ZN3std2io5error5Error14is_interrupted17haa138aed658ec797E.exit, %78, %74, %72 +.thread: ; preds = %_ZN3std2io5error5Error14is_interrupted17haa138aed658ec797E.exit, %76, %72, %70 call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %4), !noalias !321 - call void @_ZN3std2io5error14repr_bitpacked11decode_repr17h9a1475dffe9770cdE.llvm.14998522591088738574(ptr noalias nocapture noundef nonnull sret({ i8, [15 x i8] }) align 8 dereferenceable(16) %4, ptr noundef nonnull %69), !noalias !321 - %88 = load i8, ptr %4, align 8, !range !166, !alias.scope !328, !noalias !321, !noundef !4 - %switch.not.i.i.i.i = icmp eq i8 %88, 3 - br i1 %switch.not.i.i.i.i, label %89, label %"_ZN4core3ptr42drop_in_place$LT$std..io..error..Error$GT$17h5ad080ef8b5853c3E.exit" + call void @_ZN3std2io5error14repr_bitpacked11decode_repr17h9a1475dffe9770cdE.llvm.14998522591088738574(ptr noalias nocapture noundef nonnull sret({ i8, [15 x i8] }) align 8 dereferenceable(16) %4, ptr noundef nonnull %67), !noalias !321 + %86 = load i8, ptr %4, align 8, !range !166, !alias.scope !328, !noalias !321, !noundef !4 + %switch.not.i.i.i.i = icmp eq i8 %86, 3 + br i1 %switch.not.i.i.i.i, label %87, label %"_ZN4core3ptr42drop_in_place$LT$std..io..error..Error$GT$17h5ad080ef8b5853c3E.exit" -89: ; preds = %.thread +87: ; preds = %.thread call void @"_ZN4core3ptr68drop_in_place$LT$alloc..boxed..Box$LT$std..io..error..Custom$GT$$GT$17h3b849bc110c7ebcdE.llvm.14998522591088738574"(ptr noalias noundef nonnull align 8 dereferenceable(8) %19), !noalias !321 br label %"_ZN4core3ptr42drop_in_place$LT$std..io..error..Error$GT$17h5ad080ef8b5853c3E.exit" -"_ZN4core3ptr42drop_in_place$LT$std..io..error..Error$GT$17h5ad080ef8b5853c3E.exit": ; preds = %.thread, %89 +"_ZN4core3ptr42drop_in_place$LT$std..io..error..Error$GT$17h5ad080ef8b5853c3E.exit": ; preds = %.thread, %87 call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %4), !noalias !321 - br label %90 + br label %88 -90: ; preds = %85, %"_ZN4core3ptr42drop_in_place$LT$std..io..error..Error$GT$17h5ad080ef8b5853c3E.exit" - %.sroa.0.123 = phi ptr [ %.sroa.0.044, %"_ZN4core3ptr42drop_in_place$LT$std..io..error..Error$GT$17h5ad080ef8b5853c3E.exit" ], [ %87, %85 ] - %.sroa.4.121 = phi i64 [ %.sroa.4.043, %"_ZN4core3ptr42drop_in_place$LT$std..io..error..Error$GT$17h5ad080ef8b5853c3E.exit" ], [ %86, %85 ] - %91 = icmp eq i64 %.sroa.4.121, 0 - br i1 %91, label %.loopexit, label %20 +88: ; preds = %83, %"_ZN4core3ptr42drop_in_place$LT$std..io..error..Error$GT$17h5ad080ef8b5853c3E.exit" + %.sroa.0.123 = phi ptr [ %.sroa.0.045, %"_ZN4core3ptr42drop_in_place$LT$std..io..error..Error$GT$17h5ad080ef8b5853c3E.exit" ], [ %85, %83 ] + %.sroa.4.121 = phi i64 [ %.sroa.4.044, %"_ZN4core3ptr42drop_in_place$LT$std..io..error..Error$GT$17h5ad080ef8b5853c3E.exit" ], [ %84, %83 ] + %89 = icmp eq i64 %.sroa.4.121, 0 + br i1 %89, label %.loopexit, label %20 } ; Function Attrs: inlinehint mustprogress nofree norecurse nosync nounwind nonlazybind willreturn memory(argmem: read, inaccessiblemem: write) uwtable @@ -2901,44 +2889,40 @@ define hidden void @"_ZN4zstd6stream3zio6writer19Writer$LT$W$C$D$GT$11with_buffe "_ZN4core6result19Result$LT$T$C$E$GT$7map_err17h8b2efc4a62aae56aE.llvm.15740990321789950213.exit.i.i": ; preds = %2 %11 = extractvalue { i64, i64 } %9, 1 %12 = call noundef nonnull ptr @_ZN4zstd14map_error_code17he048d7575605fcf5E(i64 noundef %11), !noalias !487 - %trunc.i.i = trunc nuw i64 %10 to i1 - br i1 %trunc.i.i, label %18, label %"_ZN4core6result19Result$LT$T$C$E$GT$7map_err17h8b2efc4a62aae56aE.llvm.15740990321789950213.exit.thread.i.i" + %13 = getelementptr inbounds nuw i8, ptr %0, i64 8 + store ptr %12, ptr %13, align 8, !alias.scope !486, !noalias !490 + store i64 1, ptr %0, align 8, !alias.scope !486, !noalias !490 + call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %3), !noalias !483 + br label %"_ZN81_$LT$zstd..stream..zio..writer..Writer$LT$W$C$D$GT$$u20$as$u20$std..io..Write$GT$5flush28_$u7b$$u7b$closure$u7d$$u7d$17h42a97eb9d1f0b45fE.llvm.10144161557925507027.exit" -"_ZN4core6result19Result$LT$T$C$E$GT$7map_err17h8b2efc4a62aae56aE.llvm.15740990321789950213.exit.thread.i.i": ; preds = %"_ZN4core6result19Result$LT$T$C$E$GT$7map_err17h8b2efc4a62aae56aE.llvm.15740990321789950213.exit.i.i", %2 +"_ZN4core6result19Result$LT$T$C$E$GT$7map_err17h8b2efc4a62aae56aE.llvm.15740990321789950213.exit.thread.i.i": ; preds = %2 call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %3), !noalias !483 - call void @llvm.experimental.noalias.scope.decl(metadata !490) - %13 = load i64, ptr %6, align 8, !alias.scope !493, !noalias !494, !noundef !4 - %14 = load ptr, ptr %4, align 8, !alias.scope !493, !noalias !494, !nonnull !4, !align !331, !noundef !4 - %15 = load i64, ptr %14, align 8, !alias.scope !495, !noalias !498, !noundef !4 - %.not.i.i.i = icmp ugt i64 %13, %15 - br i1 %.not.i.i.i, label %16, label %"_ZN9zstd_safe18OutBuffer$LT$C$GT$3pos17h7979844b3e0fd101E.exit.i.i" + call void @llvm.experimental.noalias.scope.decl(metadata !491) + %14 = load i64, ptr %6, align 8, !alias.scope !494, !noalias !495, !noundef !4 + %15 = load ptr, ptr %4, align 8, !alias.scope !494, !noalias !495, !nonnull !4, !align !331, !noundef !4 + %16 = load i64, ptr %15, align 8, !alias.scope !496, !noalias !499, !noundef !4 + %.not.i.i.i = icmp ugt i64 %14, %16 + br i1 %.not.i.i.i, label %17, label %"_ZN9zstd_safe18OutBuffer$LT$C$GT$3pos17h7979844b3e0fd101E.exit.i.i" -16: ; preds = %"_ZN4core6result19Result$LT$T$C$E$GT$7map_err17h8b2efc4a62aae56aE.llvm.15740990321789950213.exit.thread.i.i" - call void @_ZN4core9panicking5panic17h44790a89027c670fE(ptr noalias noundef nonnull readonly align 1 @anon.da5671b31171a2d3975d53f4ba34dcb5.185.llvm.3706446735560306221, i64 noundef 49, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.da5671b31171a2d3975d53f4ba34dcb5.187.llvm.3706446735560306221) #27, !noalias !498 +17: ; preds = %"_ZN4core6result19Result$LT$T$C$E$GT$7map_err17h8b2efc4a62aae56aE.llvm.15740990321789950213.exit.thread.i.i" + call void @_ZN4core9panicking5panic17h44790a89027c670fE(ptr noalias noundef nonnull readonly align 1 @anon.da5671b31171a2d3975d53f4ba34dcb5.185.llvm.3706446735560306221, i64 noundef 49, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.da5671b31171a2d3975d53f4ba34dcb5.187.llvm.3706446735560306221) #27, !noalias !499 unreachable "_ZN9zstd_safe18OutBuffer$LT$C$GT$3pos17h7979844b3e0fd101E.exit.i.i": ; preds = %"_ZN4core6result19Result$LT$T$C$E$GT$7map_err17h8b2efc4a62aae56aE.llvm.15740990321789950213.exit.thread.i.i" - %17 = icmp ult i64 %13, %15 - br i1 %17, label %22, label %20 - -18: ; preds = %"_ZN4core6result19Result$LT$T$C$E$GT$7map_err17h8b2efc4a62aae56aE.llvm.15740990321789950213.exit.i.i" - %19 = getelementptr inbounds nuw i8, ptr %0, i64 8 - store ptr %12, ptr %19, align 8, !alias.scope !486, !noalias !499 - store i64 1, ptr %0, align 8, !alias.scope !486, !noalias !499 - call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %3), !noalias !483 - br label %"_ZN81_$LT$zstd..stream..zio..writer..Writer$LT$W$C$D$GT$$u20$as$u20$std..io..Write$GT$5flush28_$u7b$$u7b$closure$u7d$$u7d$17h42a97eb9d1f0b45fE.llvm.10144161557925507027.exit" + %18 = icmp ult i64 %14, %16 + br i1 %18, label %21, label %19 -20: ; preds = %"_ZN9zstd_safe18OutBuffer$LT$C$GT$3pos17h7979844b3e0fd101E.exit.i.i" - %21 = getelementptr inbounds nuw i8, ptr %0, i64 8 - store i64 1, ptr %21, align 8, !alias.scope !486, !noalias !499 - store i64 0, ptr %0, align 8, !alias.scope !486, !noalias !499 +19: ; preds = %"_ZN9zstd_safe18OutBuffer$LT$C$GT$3pos17h7979844b3e0fd101E.exit.i.i" + %20 = getelementptr inbounds nuw i8, ptr %0, i64 8 + store i64 1, ptr %20, align 8, !alias.scope !486, !noalias !490 + store i64 0, ptr %0, align 8, !alias.scope !486, !noalias !490 br label %"_ZN81_$LT$zstd..stream..zio..writer..Writer$LT$W$C$D$GT$$u20$as$u20$std..io..Write$GT$5flush28_$u7b$$u7b$closure$u7d$$u7d$17h42a97eb9d1f0b45fE.llvm.10144161557925507027.exit" -22: ; preds = %"_ZN9zstd_safe18OutBuffer$LT$C$GT$3pos17h7979844b3e0fd101E.exit.i.i" - call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %0, i8 0, i64 16, i1 false), !alias.scope !486, !noalias !499 +21: ; preds = %"_ZN9zstd_safe18OutBuffer$LT$C$GT$3pos17h7979844b3e0fd101E.exit.i.i" + call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %0, i8 0, i64 16, i1 false), !alias.scope !486, !noalias !490 br label %"_ZN81_$LT$zstd..stream..zio..writer..Writer$LT$W$C$D$GT$$u20$as$u20$std..io..Write$GT$5flush28_$u7b$$u7b$closure$u7d$$u7d$17h42a97eb9d1f0b45fE.llvm.10144161557925507027.exit" -"_ZN81_$LT$zstd..stream..zio..writer..Writer$LT$W$C$D$GT$$u20$as$u20$std..io..Write$GT$5flush28_$u7b$$u7b$closure$u7d$$u7d$17h42a97eb9d1f0b45fE.llvm.10144161557925507027.exit": ; preds = %18, %20, %22 +"_ZN81_$LT$zstd..stream..zio..writer..Writer$LT$W$C$D$GT$$u20$as$u20$std..io..Write$GT$5flush28_$u7b$$u7b$closure$u7d$$u7d$17h42a97eb9d1f0b45fE.llvm.10144161557925507027.exit": ; preds = %"_ZN4core6result19Result$LT$T$C$E$GT$7map_err17h8b2efc4a62aae56aE.llvm.15740990321789950213.exit.i.i", %19, %21 call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %4) ret void } @@ -3074,12 +3058,12 @@ define hidden noundef ptr @"_ZN4zstd6stream3zio6writer19Writer$LT$W$C$D$GT$6fini %10 = getelementptr inbounds nuw i8, ptr %2, i64 8 %11 = getelementptr inbounds nuw i8, ptr %0, i64 56 %.pre = load i64, ptr %3, align 8, !alias.scope !510 - %.pre24 = load i64, ptr %4, align 8, !alias.scope !510 + %.pre32 = load i64, ptr %4, align 8, !alias.scope !510 br label %12 -12: ; preds = %53, %1 - %13 = phi i64 [ %51, %53 ], [ %.pre24, %1 ] - %14 = phi i64 [ 0, %53 ], [ %.pre, %1 ] +12: ; preds = %51, %1 + %13 = phi i64 [ %48, %51 ], [ %.pre32, %1 ] + %14 = phi i64 [ 0, %51 ], [ %.pre, %1 ] %15 = icmp ult i64 %14, %13 br i1 %15, label %.lr.ph.i, label %"_ZN4zstd6stream3zio6writer19Writer$LT$W$C$D$GT$17write_from_offset17h57bb6ba616dc7a5fE.exit" @@ -3150,35 +3134,30 @@ define hidden noundef ptr @"_ZN4zstd6stream3zio6writer19Writer$LT$W$C$D$GT$6fini "_ZN4zstd6stream3zio6writer19Writer$LT$W$C$D$GT$11with_buffer17heba76ec0ba76e969E.exit.thread": ; preds = %43 call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %2), !noalias !528 store i64 0, ptr %3, align 8 - br label %48 + %47 = icmp ne i64 %46, 0 + %48 = load i64, ptr %4, align 8 + %49 = icmp eq i64 %48, 0 + %or.cond = select i1 %47, i1 %49, i1 false + br i1 %or.cond, label %54, label %51 "_ZN4zstd6stream3zio6writer19Writer$LT$W$C$D$GT$11with_buffer17heba76ec0ba76e969E.exit": ; preds = %43 - %47 = call noundef nonnull ptr @_ZN4zstd14map_error_code17he048d7575605fcf5E(i64 noundef %46), !noalias !534 + %50 = call noundef nonnull ptr @_ZN4zstd14map_error_code17he048d7575605fcf5E(i64 noundef %46), !noalias !534 call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %2), !noalias !528 store i64 0, ptr %3, align 8 - %trunc = trunc nuw i64 %45 to i1 - br i1 %trunc, label %.loopexit, label %48 - -48: ; preds = %"_ZN4zstd6stream3zio6writer19Writer$LT$W$C$D$GT$11with_buffer17heba76ec0ba76e969E.exit.thread", %"_ZN4zstd6stream3zio6writer19Writer$LT$W$C$D$GT$11with_buffer17heba76ec0ba76e969E.exit" - %49 = phi i64 [ %46, %"_ZN4zstd6stream3zio6writer19Writer$LT$W$C$D$GT$11with_buffer17heba76ec0ba76e969E.exit.thread" ], [ 1, %"_ZN4zstd6stream3zio6writer19Writer$LT$W$C$D$GT$11with_buffer17heba76ec0ba76e969E.exit" ] - %50 = icmp ne i64 %49, 0 - %51 = load i64, ptr %4, align 8 - %52 = icmp eq i64 %51, 0 - %or.cond = select i1 %50, i1 %52, i1 false - br i1 %or.cond, label %56, label %53 - -53: ; preds = %48 - %54 = icmp eq i64 %49, 0 - %55 = zext i1 %54 to i8 - store i8 %55, ptr %9, align 8 + br label %.loopexit + +51: ; preds = %"_ZN4zstd6stream3zio6writer19Writer$LT$W$C$D$GT$11with_buffer17heba76ec0ba76e969E.exit.thread" + %52 = icmp eq i64 %46, 0 + %53 = zext i1 %52 to i8 + store i8 %53, ptr %9, align 8 br label %12 -56: ; preds = %48 - %57 = call noundef nonnull ptr @_ZN3std2io5error5Error3new17h3ec4cf2bbe40c7d6E(i8 noundef 37, ptr noalias noundef nonnull readonly align 1 @anon.3dfc7285fed8fa297aed43441a3d1c46.32, i64 noundef 16) +54: ; preds = %"_ZN4zstd6stream3zio6writer19Writer$LT$W$C$D$GT$11with_buffer17heba76ec0ba76e969E.exit.thread" + %55 = call noundef nonnull ptr @_ZN3std2io5error5Error3new17h3ec4cf2bbe40c7d6E(i8 noundef 37, ptr noalias noundef nonnull readonly align 1 @anon.3dfc7285fed8fa297aed43441a3d1c46.32, i64 noundef 16) br label %.loopexit -.loopexit: ; preds = %"_ZN4zstd6stream3zio6writer19Writer$LT$W$C$D$GT$11with_buffer17heba76ec0ba76e969E.exit", %"_ZN4zstd6stream3zio6writer19Writer$LT$W$C$D$GT$17write_from_offset17h57bb6ba616dc7a5fE.exit", %56 - %.0 = phi ptr [ %57, %56 ], [ %47, %"_ZN4zstd6stream3zio6writer19Writer$LT$W$C$D$GT$11with_buffer17heba76ec0ba76e969E.exit" ], [ null, %"_ZN4zstd6stream3zio6writer19Writer$LT$W$C$D$GT$17write_from_offset17h57bb6ba616dc7a5fE.exit" ] +.loopexit: ; preds = %"_ZN4zstd6stream3zio6writer19Writer$LT$W$C$D$GT$17write_from_offset17h57bb6ba616dc7a5fE.exit", %"_ZN4zstd6stream3zio6writer19Writer$LT$W$C$D$GT$11with_buffer17heba76ec0ba76e969E.exit", %54 + %.0 = phi ptr [ %55, %54 ], [ %50, %"_ZN4zstd6stream3zio6writer19Writer$LT$W$C$D$GT$11with_buffer17heba76ec0ba76e969E.exit" ], [ null, %"_ZN4zstd6stream3zio6writer19Writer$LT$W$C$D$GT$17write_from_offset17h57bb6ba616dc7a5fE.exit" ] ret ptr %.0 } @@ -11988,41 +11967,37 @@ define hidden noundef ptr @"_ZN81_$LT$zstd..stream..zio..writer..Writer$LT$W$C$D %46 = call { i64, i64 } @_ZN9zstd_safe4DCtx17decompress_stream17h8d719d3ca3cedb62E(ptr noalias noundef nonnull align 8 dereferenceable(8) %14, ptr noalias noundef nonnull align 8 dereferenceable(16) %3, ptr noalias noundef nonnull align 8 dereferenceable(24) %2), !noalias !1534 %47 = extractvalue { i64, i64 } %46, 0 %switch.i.i.i.i = icmp eq i64 %47, 0 - br i1 %switch.i.i.i.i, label %"_ZN4core6result19Result$LT$T$C$E$GT$7map_err17h8b2efc4a62aae56aE.llvm.15740990321789950213.exit.thread.i.i.i", label %"_ZN4core6result19Result$LT$T$C$E$GT$7map_err17h8b2efc4a62aae56aE.llvm.15740990321789950213.exit.i.i.i" - -"_ZN4core6result19Result$LT$T$C$E$GT$7map_err17h8b2efc4a62aae56aE.llvm.15740990321789950213.exit.i.i.i": ; preds = %45 - %48 = extractvalue { i64, i64 } %46, 1 - %49 = call noundef nonnull ptr @_ZN4zstd14map_error_code17he048d7575605fcf5E(i64 noundef %48), !noalias !1535 - %trunc.i.i.i = trunc nuw i64 %47 to i1 - br i1 %trunc.i.i.i, label %54, label %"_ZN4core6result19Result$LT$T$C$E$GT$7map_err17h8b2efc4a62aae56aE.llvm.15740990321789950213.exit.thread.i.i.i" + br i1 %switch.i.i.i.i, label %"_ZN4core6result19Result$LT$T$C$E$GT$7map_err17h8b2efc4a62aae56aE.llvm.15740990321789950213.exit.thread.i.i.i", label %52 -"_ZN4core6result19Result$LT$T$C$E$GT$7map_err17h8b2efc4a62aae56aE.llvm.15740990321789950213.exit.thread.i.i.i": ; preds = %"_ZN4core6result19Result$LT$T$C$E$GT$7map_err17h8b2efc4a62aae56aE.llvm.15740990321789950213.exit.i.i.i", %45 +"_ZN4core6result19Result$LT$T$C$E$GT$7map_err17h8b2efc4a62aae56aE.llvm.15740990321789950213.exit.thread.i.i.i": ; preds = %45 call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %2), !noalias !1529 - call void @llvm.experimental.noalias.scope.decl(metadata !1538) - %50 = load i64, ptr %13, align 8, !alias.scope !1541, !noalias !1542, !noundef !4 - %51 = load ptr, ptr %3, align 8, !alias.scope !1541, !noalias !1542, !nonnull !4, !align !331, !noundef !4 - %52 = load i64, ptr %51, align 8, !alias.scope !1543, !noalias !1546, !noundef !4 - %.not.i.i.i.i = icmp ugt i64 %50, %52 - br i1 %.not.i.i.i.i, label %53, label %"_ZN9zstd_safe18OutBuffer$LT$C$GT$3pos17h7979844b3e0fd101E.exit.i.i.i" + call void @llvm.experimental.noalias.scope.decl(metadata !1535) + %48 = load i64, ptr %13, align 8, !alias.scope !1538, !noalias !1539, !noundef !4 + %49 = load ptr, ptr %3, align 8, !alias.scope !1538, !noalias !1539, !nonnull !4, !align !331, !noundef !4 + %50 = load i64, ptr %49, align 8, !alias.scope !1540, !noalias !1543, !noundef !4 + %.not.i.i.i.i = icmp ugt i64 %48, %50 + br i1 %.not.i.i.i.i, label %51, label %"_ZN9zstd_safe18OutBuffer$LT$C$GT$3pos17h7979844b3e0fd101E.exit.i.i.i" -53: ; preds = %"_ZN4core6result19Result$LT$T$C$E$GT$7map_err17h8b2efc4a62aae56aE.llvm.15740990321789950213.exit.thread.i.i.i" - call void @_ZN4core9panicking5panic17h44790a89027c670fE(ptr noalias noundef nonnull readonly align 1 @anon.da5671b31171a2d3975d53f4ba34dcb5.185.llvm.3706446735560306221, i64 noundef 49, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.da5671b31171a2d3975d53f4ba34dcb5.187.llvm.3706446735560306221) #27, !noalias !1546 +51: ; preds = %"_ZN4core6result19Result$LT$T$C$E$GT$7map_err17h8b2efc4a62aae56aE.llvm.15740990321789950213.exit.thread.i.i.i" + call void @_ZN4core9panicking5panic17h44790a89027c670fE(ptr noalias noundef nonnull readonly align 1 @anon.da5671b31171a2d3975d53f4ba34dcb5.185.llvm.3706446735560306221, i64 noundef 49, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.da5671b31171a2d3975d53f4ba34dcb5.187.llvm.3706446735560306221) #27, !noalias !1543 unreachable "_ZN9zstd_safe18OutBuffer$LT$C$GT$3pos17h7979844b3e0fd101E.exit.i.i.i": ; preds = %"_ZN4core6result19Result$LT$T$C$E$GT$7map_err17h8b2efc4a62aae56aE.llvm.15740990321789950213.exit.thread.i.i.i" - %.not = icmp ult i64 %50, %52 + %.not = icmp ult i64 %48, %50 call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %3), !noalias !1522 store i64 0, ptr %7, align 8 br label %16 -54: ; preds = %"_ZN4core6result19Result$LT$T$C$E$GT$7map_err17h8b2efc4a62aae56aE.llvm.15740990321789950213.exit.i.i.i" +52: ; preds = %45 + %53 = extractvalue { i64, i64 } %46, 1 + %54 = call noundef nonnull ptr @_ZN4zstd14map_error_code17he048d7575605fcf5E(i64 noundef %53), !noalias !1544 call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %2), !noalias !1529 call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %3), !noalias !1522 store i64 0, ptr %7, align 8 br label %.loopexit -.loopexit: ; preds = %"_ZN4zstd6stream3zio6writer19Writer$LT$W$C$D$GT$17write_from_offset17h9f4e4ebe50af9b4cE.llvm.10144161557925507027.exit", %54 - %.0 = phi ptr [ %49, %54 ], [ null, %"_ZN4zstd6stream3zio6writer19Writer$LT$W$C$D$GT$17write_from_offset17h9f4e4ebe50af9b4cE.llvm.10144161557925507027.exit" ] +.loopexit: ; preds = %"_ZN4zstd6stream3zio6writer19Writer$LT$W$C$D$GT$17write_from_offset17h9f4e4ebe50af9b4cE.llvm.10144161557925507027.exit", %52 + %.0 = phi ptr [ %54, %52 ], [ null, %"_ZN4zstd6stream3zio6writer19Writer$LT$W$C$D$GT$17write_from_offset17h9f4e4ebe50af9b4cE.llvm.10144161557925507027.exit" ] ret ptr %.0 } @@ -12043,45 +12018,41 @@ define hidden void @"_ZN81_$LT$zstd..stream..zio..writer..Writer$LT$W$C$D$GT$$u2 "_ZN4core6result19Result$LT$T$C$E$GT$7map_err17h8b2efc4a62aae56aE.llvm.15740990321789950213.exit.i": ; preds = %3 %8 = extractvalue { i64, i64 } %6, 1 %9 = call noundef nonnull ptr @_ZN4zstd14map_error_code17he048d7575605fcf5E(i64 noundef %8), !noalias !1554 - %trunc.i = trunc nuw i64 %7 to i1 - br i1 %trunc.i, label %16, label %"_ZN4core6result19Result$LT$T$C$E$GT$7map_err17h8b2efc4a62aae56aE.llvm.15740990321789950213.exit.thread.i" + %10 = getelementptr inbounds nuw i8, ptr %0, i64 8 + store ptr %9, ptr %10, align 8, !alias.scope !1547, !noalias !1557 + store i64 1, ptr %0, align 8, !alias.scope !1547, !noalias !1557 + call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %4), !noalias !1552 + br label %"_ZN75_$LT$zstd..stream..raw..Decoder$u20$as$u20$zstd..stream..raw..Operation$GT$5flush17h9c87d20386ae550fE.exit" -"_ZN4core6result19Result$LT$T$C$E$GT$7map_err17h8b2efc4a62aae56aE.llvm.15740990321789950213.exit.thread.i": ; preds = %"_ZN4core6result19Result$LT$T$C$E$GT$7map_err17h8b2efc4a62aae56aE.llvm.15740990321789950213.exit.i", %3 +"_ZN4core6result19Result$LT$T$C$E$GT$7map_err17h8b2efc4a62aae56aE.llvm.15740990321789950213.exit.thread.i": ; preds = %3 call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %4), !noalias !1552 - call void @llvm.experimental.noalias.scope.decl(metadata !1557) - %10 = getelementptr inbounds nuw i8, ptr %1, i64 8 - %11 = load i64, ptr %10, align 8, !alias.scope !1560, !noalias !1561, !noundef !4 - %12 = load ptr, ptr %1, align 8, !alias.scope !1560, !noalias !1561, !nonnull !4, !align !331, !noundef !4 - %13 = load i64, ptr %12, align 8, !alias.scope !1562, !noalias !1565, !noundef !4 - %.not.i.i = icmp ugt i64 %11, %13 - br i1 %.not.i.i, label %14, label %"_ZN9zstd_safe18OutBuffer$LT$C$GT$3pos17h7979844b3e0fd101E.exit.i" + call void @llvm.experimental.noalias.scope.decl(metadata !1558) + %11 = getelementptr inbounds nuw i8, ptr %1, i64 8 + %12 = load i64, ptr %11, align 8, !alias.scope !1561, !noalias !1562, !noundef !4 + %13 = load ptr, ptr %1, align 8, !alias.scope !1561, !noalias !1562, !nonnull !4, !align !331, !noundef !4 + %14 = load i64, ptr %13, align 8, !alias.scope !1563, !noalias !1566, !noundef !4 + %.not.i.i = icmp ugt i64 %12, %14 + br i1 %.not.i.i, label %15, label %"_ZN9zstd_safe18OutBuffer$LT$C$GT$3pos17h7979844b3e0fd101E.exit.i" -14: ; preds = %"_ZN4core6result19Result$LT$T$C$E$GT$7map_err17h8b2efc4a62aae56aE.llvm.15740990321789950213.exit.thread.i" - call void @_ZN4core9panicking5panic17h44790a89027c670fE(ptr noalias noundef nonnull readonly align 1 @anon.da5671b31171a2d3975d53f4ba34dcb5.185.llvm.3706446735560306221, i64 noundef 49, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.da5671b31171a2d3975d53f4ba34dcb5.187.llvm.3706446735560306221) #27, !noalias !1565 +15: ; preds = %"_ZN4core6result19Result$LT$T$C$E$GT$7map_err17h8b2efc4a62aae56aE.llvm.15740990321789950213.exit.thread.i" + call void @_ZN4core9panicking5panic17h44790a89027c670fE(ptr noalias noundef nonnull readonly align 1 @anon.da5671b31171a2d3975d53f4ba34dcb5.185.llvm.3706446735560306221, i64 noundef 49, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.da5671b31171a2d3975d53f4ba34dcb5.187.llvm.3706446735560306221) #27, !noalias !1566 unreachable "_ZN9zstd_safe18OutBuffer$LT$C$GT$3pos17h7979844b3e0fd101E.exit.i": ; preds = %"_ZN4core6result19Result$LT$T$C$E$GT$7map_err17h8b2efc4a62aae56aE.llvm.15740990321789950213.exit.thread.i" - %15 = icmp ult i64 %11, %13 - br i1 %15, label %20, label %18 - -16: ; preds = %"_ZN4core6result19Result$LT$T$C$E$GT$7map_err17h8b2efc4a62aae56aE.llvm.15740990321789950213.exit.i" - %17 = getelementptr inbounds nuw i8, ptr %0, i64 8 - store ptr %9, ptr %17, align 8, !alias.scope !1547, !noalias !1566 - store i64 1, ptr %0, align 8, !alias.scope !1547, !noalias !1566 - call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %4), !noalias !1552 - br label %"_ZN75_$LT$zstd..stream..raw..Decoder$u20$as$u20$zstd..stream..raw..Operation$GT$5flush17h9c87d20386ae550fE.exit" + %16 = icmp ult i64 %12, %14 + br i1 %16, label %19, label %17 -18: ; preds = %"_ZN9zstd_safe18OutBuffer$LT$C$GT$3pos17h7979844b3e0fd101E.exit.i" - %19 = getelementptr inbounds nuw i8, ptr %0, i64 8 - store i64 1, ptr %19, align 8, !alias.scope !1547, !noalias !1566 - store i64 0, ptr %0, align 8, !alias.scope !1547, !noalias !1566 +17: ; preds = %"_ZN9zstd_safe18OutBuffer$LT$C$GT$3pos17h7979844b3e0fd101E.exit.i" + %18 = getelementptr inbounds nuw i8, ptr %0, i64 8 + store i64 1, ptr %18, align 8, !alias.scope !1547, !noalias !1557 + store i64 0, ptr %0, align 8, !alias.scope !1547, !noalias !1557 br label %"_ZN75_$LT$zstd..stream..raw..Decoder$u20$as$u20$zstd..stream..raw..Operation$GT$5flush17h9c87d20386ae550fE.exit" -20: ; preds = %"_ZN9zstd_safe18OutBuffer$LT$C$GT$3pos17h7979844b3e0fd101E.exit.i" - call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %0, i8 0, i64 16, i1 false), !alias.scope !1547, !noalias !1566 +19: ; preds = %"_ZN9zstd_safe18OutBuffer$LT$C$GT$3pos17h7979844b3e0fd101E.exit.i" + call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %0, i8 0, i64 16, i1 false), !alias.scope !1547, !noalias !1557 br label %"_ZN75_$LT$zstd..stream..raw..Decoder$u20$as$u20$zstd..stream..raw..Operation$GT$5flush17h9c87d20386ae550fE.exit" -"_ZN75_$LT$zstd..stream..raw..Decoder$u20$as$u20$zstd..stream..raw..Operation$GT$5flush17h9c87d20386ae550fE.exit": ; preds = %16, %18, %20 +"_ZN75_$LT$zstd..stream..raw..Decoder$u20$as$u20$zstd..stream..raw..Operation$GT$5flush17h9c87d20386ae550fE.exit": ; preds = %"_ZN4core6result19Result$LT$T$C$E$GT$7map_err17h8b2efc4a62aae56aE.llvm.15740990321789950213.exit.i", %17, %19 ret void } @@ -13181,10 +13152,10 @@ attributes #30 = { cold } !151 = distinct !{!151, !"_ZN75_$LT$zstd..stream..raw..Encoder$u20$as$u20$zstd..stream..raw..Operation$GT$3run17hf6d3405857a02855E"} !152 = distinct !{!152, !153, !"_ZN81_$LT$zstd..stream..zio..writer..Writer$LT$W$C$D$GT$$u20$as$u20$std..io..Write$GT$5write28_$u7b$$u7b$closure$u7d$$u7d$17hb13a734b70b07b48E: argument 0"} !153 = distinct !{!153, !"_ZN81_$LT$zstd..stream..zio..writer..Writer$LT$W$C$D$GT$$u20$as$u20$std..io..Write$GT$5write28_$u7b$$u7b$closure$u7d$$u7d$17hb13a734b70b07b48E"} -!154 = !{!155, !150, !152, !146, !123, !125} -!155 = distinct !{!155, !156, !"_ZN4core6result19Result$LT$T$C$E$GT$7map_err17h8b2efc4a62aae56aE.llvm.15740990321789950213: argument 0"} -!156 = distinct !{!156, !"_ZN4core6result19Result$LT$T$C$E$GT$7map_err17h8b2efc4a62aae56aE.llvm.15740990321789950213"} -!157 = !{!123, !125} +!154 = !{!123, !125} +!155 = !{!156, !150, !152, !146, !123, !125} +!156 = distinct !{!156, !157, !"_ZN4core6result19Result$LT$T$C$E$GT$7map_err17h8b2efc4a62aae56aE.llvm.15740990321789950213: argument 0"} +!157 = distinct !{!157, !"_ZN4core6result19Result$LT$T$C$E$GT$7map_err17h8b2efc4a62aae56aE.llvm.15740990321789950213"} !158 = !{i8 0, i8 41} !159 = !{!160, !162, !164} !160 = distinct !{!160, !161, !"_ZN78_$LT$std..io..error..repr_bitpacked..Repr$u20$as$u20$core..ops..drop..Drop$GT$4drop17h72b7b095fa452c7bE.llvm.14998522591088738574: argument 0"} @@ -13344,10 +13315,10 @@ attributes #30 = { cold } !314 = distinct !{!314, !"_ZN75_$LT$zstd..stream..raw..Decoder$u20$as$u20$zstd..stream..raw..Operation$GT$3run17h19f8c97b6634aa32E"} !315 = distinct !{!315, !316, !"_ZN81_$LT$zstd..stream..zio..writer..Writer$LT$W$C$D$GT$$u20$as$u20$std..io..Write$GT$5write28_$u7b$$u7b$closure$u7d$$u7d$17hc55187a0948ffc7fE: argument 0"} !316 = distinct !{!316, !"_ZN81_$LT$zstd..stream..zio..writer..Writer$LT$W$C$D$GT$$u20$as$u20$std..io..Write$GT$5write28_$u7b$$u7b$closure$u7d$$u7d$17hc55187a0948ffc7fE"} -!317 = !{!318, !313, !315, !309, !287, !289} -!318 = distinct !{!318, !319, !"_ZN4core6result19Result$LT$T$C$E$GT$7map_err17h8b2efc4a62aae56aE.llvm.15740990321789950213: argument 0"} -!319 = distinct !{!319, !"_ZN4core6result19Result$LT$T$C$E$GT$7map_err17h8b2efc4a62aae56aE.llvm.15740990321789950213"} -!320 = !{!287, !289} +!317 = !{!287, !289} +!318 = !{!319, !313, !315, !309, !287, !289} +!319 = distinct !{!319, !320, !"_ZN4core6result19Result$LT$T$C$E$GT$7map_err17h8b2efc4a62aae56aE.llvm.15740990321789950213: argument 0"} +!320 = distinct !{!320, !"_ZN4core6result19Result$LT$T$C$E$GT$7map_err17h8b2efc4a62aae56aE.llvm.15740990321789950213"} !321 = !{!322, !324, !326} !322 = distinct !{!322, !323, !"_ZN78_$LT$std..io..error..repr_bitpacked..Repr$u20$as$u20$core..ops..drop..Drop$GT$4drop17h72b7b095fa452c7bE.llvm.14998522591088738574: argument 0"} !323 = distinct !{!323, !"_ZN78_$LT$std..io..error..repr_bitpacked..Repr$u20$as$u20$core..ops..drop..Drop$GT$4drop17h72b7b095fa452c7bE.llvm.14998522591088738574"} @@ -13517,16 +13488,16 @@ attributes #30 = { cold } !487 = !{!488, !479, !474} !488 = distinct !{!488, !489, !"_ZN4core6result19Result$LT$T$C$E$GT$7map_err17h8b2efc4a62aae56aE.llvm.15740990321789950213: argument 0"} !489 = distinct !{!489, !"_ZN4core6result19Result$LT$T$C$E$GT$7map_err17h8b2efc4a62aae56aE.llvm.15740990321789950213"} -!490 = !{!491} -!491 = distinct !{!491, !492, !"_ZN9zstd_safe18OutBuffer$LT$C$GT$3pos17h7979844b3e0fd101E: argument 0"} -!492 = distinct !{!492, !"_ZN9zstd_safe18OutBuffer$LT$C$GT$3pos17h7979844b3e0fd101E"} -!493 = !{!491, !482, !477} -!494 = !{!479, !484, !474, !485} -!495 = !{!496} -!496 = distinct !{!496, !497, !"_ZN65_$LT$alloc..vec..Vec$LT$u8$GT$$u20$as$u20$zstd_safe..WriteBuf$GT$8capacity17h73ae68817269850fE.llvm.3706446735560306221: argument 0"} -!497 = distinct !{!497, !"_ZN65_$LT$alloc..vec..Vec$LT$u8$GT$$u20$as$u20$zstd_safe..WriteBuf$GT$8capacity17h73ae68817269850fE.llvm.3706446735560306221"} -!498 = !{!491, !479, !474} -!499 = !{!484, !482, !477, !485} +!490 = !{!484, !482, !477, !485} +!491 = !{!492} +!492 = distinct !{!492, !493, !"_ZN9zstd_safe18OutBuffer$LT$C$GT$3pos17h7979844b3e0fd101E: argument 0"} +!493 = distinct !{!493, !"_ZN9zstd_safe18OutBuffer$LT$C$GT$3pos17h7979844b3e0fd101E"} +!494 = !{!492, !482, !477} +!495 = !{!479, !484, !474, !485} +!496 = !{!497} +!497 = distinct !{!497, !498, !"_ZN65_$LT$alloc..vec..Vec$LT$u8$GT$$u20$as$u20$zstd_safe..WriteBuf$GT$8capacity17h73ae68817269850fE.llvm.3706446735560306221: argument 0"} +!498 = distinct !{!498, !"_ZN65_$LT$alloc..vec..Vec$LT$u8$GT$$u20$as$u20$zstd_safe..WriteBuf$GT$8capacity17h73ae68817269850fE.llvm.3706446735560306221"} +!499 = !{!492, !479, !474} !500 = !{!501, !503} !501 = distinct !{!501, !502, !"_ZN5bytes9bytes_mut8BytesMut17extend_from_slice17hcdf0ec1d1479cf2aE.llvm.13158767072824543338: argument 0"} !502 = distinct !{!502, !"_ZN5bytes9bytes_mut8BytesMut17extend_from_slice17hcdf0ec1d1479cf2aE.llvm.13158767072824543338"} @@ -14562,18 +14533,18 @@ attributes #30 = { cold } !1532 = distinct !{!1532, !1525, !"_ZN81_$LT$zstd..stream..zio..writer..Writer$LT$W$C$D$GT$$u20$as$u20$std..io..Write$GT$5flush28_$u7b$$u7b$closure$u7d$$u7d$17h42a97eb9d1f0b45fE.llvm.10144161557925507027: argument 0"} !1533 = distinct !{!1533, !1525, !"_ZN81_$LT$zstd..stream..zio..writer..Writer$LT$W$C$D$GT$$u20$as$u20$std..io..Write$GT$5flush28_$u7b$$u7b$closure$u7d$$u7d$17h42a97eb9d1f0b45fE.llvm.10144161557925507027: argument 2"} !1534 = !{!1530, !1532, !1521} -!1535 = !{!1536, !1530, !1532, !1521} -!1536 = distinct !{!1536, !1537, !"_ZN4core6result19Result$LT$T$C$E$GT$7map_err17h8b2efc4a62aae56aE.llvm.15740990321789950213: argument 0"} -!1537 = distinct !{!1537, !"_ZN4core6result19Result$LT$T$C$E$GT$7map_err17h8b2efc4a62aae56aE.llvm.15740990321789950213"} -!1538 = !{!1539} -!1539 = distinct !{!1539, !1540, !"_ZN9zstd_safe18OutBuffer$LT$C$GT$3pos17h7979844b3e0fd101E: argument 0"} -!1540 = distinct !{!1540, !"_ZN9zstd_safe18OutBuffer$LT$C$GT$3pos17h7979844b3e0fd101E"} -!1541 = !{!1539, !1527, !1524} -!1542 = !{!1530, !1531, !1532, !1533, !1521, !1518} -!1543 = !{!1544} -!1544 = distinct !{!1544, !1545, !"_ZN65_$LT$alloc..vec..Vec$LT$u8$GT$$u20$as$u20$zstd_safe..WriteBuf$GT$8capacity17h73ae68817269850fE.llvm.3706446735560306221: argument 0"} -!1545 = distinct !{!1545, !"_ZN65_$LT$alloc..vec..Vec$LT$u8$GT$$u20$as$u20$zstd_safe..WriteBuf$GT$8capacity17h73ae68817269850fE.llvm.3706446735560306221"} -!1546 = !{!1539, !1530, !1532, !1521} +!1535 = !{!1536} +!1536 = distinct !{!1536, !1537, !"_ZN9zstd_safe18OutBuffer$LT$C$GT$3pos17h7979844b3e0fd101E: argument 0"} +!1537 = distinct !{!1537, !"_ZN9zstd_safe18OutBuffer$LT$C$GT$3pos17h7979844b3e0fd101E"} +!1538 = !{!1536, !1527, !1524} +!1539 = !{!1530, !1531, !1532, !1533, !1521, !1518} +!1540 = !{!1541} +!1541 = distinct !{!1541, !1542, !"_ZN65_$LT$alloc..vec..Vec$LT$u8$GT$$u20$as$u20$zstd_safe..WriteBuf$GT$8capacity17h73ae68817269850fE.llvm.3706446735560306221: argument 0"} +!1542 = distinct !{!1542, !"_ZN65_$LT$alloc..vec..Vec$LT$u8$GT$$u20$as$u20$zstd_safe..WriteBuf$GT$8capacity17h73ae68817269850fE.llvm.3706446735560306221"} +!1543 = !{!1536, !1530, !1532, !1521} +!1544 = !{!1545, !1530, !1532, !1521} +!1545 = distinct !{!1545, !1546, !"_ZN4core6result19Result$LT$T$C$E$GT$7map_err17h8b2efc4a62aae56aE.llvm.15740990321789950213: argument 0"} +!1546 = distinct !{!1546, !"_ZN4core6result19Result$LT$T$C$E$GT$7map_err17h8b2efc4a62aae56aE.llvm.15740990321789950213"} !1547 = !{!1548} !1548 = distinct !{!1548, !1549, !"_ZN75_$LT$zstd..stream..raw..Decoder$u20$as$u20$zstd..stream..raw..Operation$GT$5flush17h9c87d20386ae550fE: argument 0"} !1549 = distinct !{!1549, !"_ZN75_$LT$zstd..stream..raw..Decoder$u20$as$u20$zstd..stream..raw..Operation$GT$5flush17h9c87d20386ae550fE"} @@ -14584,13 +14555,13 @@ attributes #30 = { cold } !1554 = !{!1555, !1548} !1555 = distinct !{!1555, !1556, !"_ZN4core6result19Result$LT$T$C$E$GT$7map_err17h8b2efc4a62aae56aE.llvm.15740990321789950213: argument 0"} !1556 = distinct !{!1556, !"_ZN4core6result19Result$LT$T$C$E$GT$7map_err17h8b2efc4a62aae56aE.llvm.15740990321789950213"} -!1557 = !{!1558} -!1558 = distinct !{!1558, !1559, !"_ZN9zstd_safe18OutBuffer$LT$C$GT$3pos17h7979844b3e0fd101E: argument 0"} -!1559 = distinct !{!1559, !"_ZN9zstd_safe18OutBuffer$LT$C$GT$3pos17h7979844b3e0fd101E"} -!1560 = !{!1558, !1551} -!1561 = !{!1548, !1553} -!1562 = !{!1563} -!1563 = distinct !{!1563, !1564, !"_ZN65_$LT$alloc..vec..Vec$LT$u8$GT$$u20$as$u20$zstd_safe..WriteBuf$GT$8capacity17h73ae68817269850fE.llvm.3706446735560306221: argument 0"} -!1564 = distinct !{!1564, !"_ZN65_$LT$alloc..vec..Vec$LT$u8$GT$$u20$as$u20$zstd_safe..WriteBuf$GT$8capacity17h73ae68817269850fE.llvm.3706446735560306221"} -!1565 = !{!1558, !1548} -!1566 = !{!1553, !1551} +!1557 = !{!1553, !1551} +!1558 = !{!1559} +!1559 = distinct !{!1559, !1560, !"_ZN9zstd_safe18OutBuffer$LT$C$GT$3pos17h7979844b3e0fd101E: argument 0"} +!1560 = distinct !{!1560, !"_ZN9zstd_safe18OutBuffer$LT$C$GT$3pos17h7979844b3e0fd101E"} +!1561 = !{!1559, !1551} +!1562 = !{!1548, !1553} +!1563 = !{!1564} +!1564 = distinct !{!1564, !1565, !"_ZN65_$LT$alloc..vec..Vec$LT$u8$GT$$u20$as$u20$zstd_safe..WriteBuf$GT$8capacity17h73ae68817269850fE.llvm.3706446735560306221: argument 0"} +!1565 = distinct !{!1565, !"_ZN65_$LT$alloc..vec..Vec$LT$u8$GT$$u20$as$u20$zstd_safe..WriteBuf$GT$8capacity17h73ae68817269850fE.llvm.3706446735560306221"} +!1566 = !{!1559, !1548} diff --git a/bench/actix-rs/optimized/2l54a10og4z99516.ll b/bench/actix-rs/optimized/2l54a10og4z99516.ll index 356f0abc4ab..a642b6f43b4 100644 --- a/bench/actix-rs/optimized/2l54a10og4z99516.ll +++ b/bench/actix-rs/optimized/2l54a10og4z99516.ll @@ -7739,45 +7739,41 @@ define hidden void @"_ZN75_$LT$zstd..stream..raw..Decoder$u20$as$u20$zstd..strea "_ZN4core6result19Result$LT$T$C$E$GT$7map_err17h8b2efc4a62aae56aE.llvm.15740990321789950213.exit": ; preds = %3 %8 = extractvalue { i64, i64 } %6, 1 %9 = call noundef nonnull ptr @_ZN4zstd14map_error_code17he048d7575605fcf5E(i64 noundef %8), !noalias !808 - %trunc = trunc nuw i64 %7 to i1 - br i1 %trunc, label %16, label %"_ZN4core6result19Result$LT$T$C$E$GT$7map_err17h8b2efc4a62aae56aE.llvm.15740990321789950213.exit.thread" + %10 = getelementptr inbounds nuw i8, ptr %0, i64 8 + store ptr %9, ptr %10, align 8 + store i64 1, ptr %0, align 8 + call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %4) + br label %20 -"_ZN4core6result19Result$LT$T$C$E$GT$7map_err17h8b2efc4a62aae56aE.llvm.15740990321789950213.exit.thread": ; preds = %3, %"_ZN4core6result19Result$LT$T$C$E$GT$7map_err17h8b2efc4a62aae56aE.llvm.15740990321789950213.exit" +"_ZN4core6result19Result$LT$T$C$E$GT$7map_err17h8b2efc4a62aae56aE.llvm.15740990321789950213.exit.thread": ; preds = %3 call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %4) call void @llvm.experimental.noalias.scope.decl(metadata !811) - %10 = getelementptr inbounds nuw i8, ptr %2, i64 8 - %11 = load i64, ptr %10, align 8, !alias.scope !811, !noundef !4 - %12 = load ptr, ptr %2, align 8, !alias.scope !811, !nonnull !4, !align !350, !noundef !4 - %13 = load i64, ptr %12, align 8, !alias.scope !814, !noalias !811, !noundef !4 - %.not.i = icmp ugt i64 %11, %13 - br i1 %.not.i, label %14, label %"_ZN9zstd_safe18OutBuffer$LT$C$GT$3pos17h7979844b3e0fd101E.exit" - -14: ; preds = %"_ZN4core6result19Result$LT$T$C$E$GT$7map_err17h8b2efc4a62aae56aE.llvm.15740990321789950213.exit.thread" + %11 = getelementptr inbounds nuw i8, ptr %2, i64 8 + %12 = load i64, ptr %11, align 8, !alias.scope !811, !noundef !4 + %13 = load ptr, ptr %2, align 8, !alias.scope !811, !nonnull !4, !align !350, !noundef !4 + %14 = load i64, ptr %13, align 8, !alias.scope !814, !noalias !811, !noundef !4 + %.not.i = icmp ugt i64 %12, %14 + br i1 %.not.i, label %15, label %"_ZN9zstd_safe18OutBuffer$LT$C$GT$3pos17h7979844b3e0fd101E.exit" + +15: ; preds = %"_ZN4core6result19Result$LT$T$C$E$GT$7map_err17h8b2efc4a62aae56aE.llvm.15740990321789950213.exit.thread" call void @_ZN4core9panicking5panic17h44790a89027c670fE(ptr noalias noundef nonnull readonly align 1 @anon.da5671b31171a2d3975d53f4ba34dcb5.185.llvm.3706446735560306221, i64 noundef 49, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.da5671b31171a2d3975d53f4ba34dcb5.187.llvm.3706446735560306221) #36, !noalias !811 unreachable "_ZN9zstd_safe18OutBuffer$LT$C$GT$3pos17h7979844b3e0fd101E.exit": ; preds = %"_ZN4core6result19Result$LT$T$C$E$GT$7map_err17h8b2efc4a62aae56aE.llvm.15740990321789950213.exit.thread" - %15 = icmp ult i64 %11, %13 - br i1 %15, label %20, label %18 - -16: ; preds = %"_ZN4core6result19Result$LT$T$C$E$GT$7map_err17h8b2efc4a62aae56aE.llvm.15740990321789950213.exit" - %17 = getelementptr inbounds nuw i8, ptr %0, i64 8 - store ptr %9, ptr %17, align 8 - store i64 1, ptr %0, align 8 - call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %4) - br label %21 + %16 = icmp ult i64 %12, %14 + br i1 %16, label %19, label %17 -18: ; preds = %"_ZN9zstd_safe18OutBuffer$LT$C$GT$3pos17h7979844b3e0fd101E.exit" - %19 = getelementptr inbounds nuw i8, ptr %0, i64 8 - store i64 1, ptr %19, align 8 +17: ; preds = %"_ZN9zstd_safe18OutBuffer$LT$C$GT$3pos17h7979844b3e0fd101E.exit" + %18 = getelementptr inbounds nuw i8, ptr %0, i64 8 + store i64 1, ptr %18, align 8 store i64 0, ptr %0, align 8 - br label %21 + br label %20 -20: ; preds = %"_ZN9zstd_safe18OutBuffer$LT$C$GT$3pos17h7979844b3e0fd101E.exit" +19: ; preds = %"_ZN9zstd_safe18OutBuffer$LT$C$GT$3pos17h7979844b3e0fd101E.exit" call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %0, i8 0, i64 16, i1 false) - br label %21 + br label %20 -21: ; preds = %18, %20, %16 +20: ; preds = %17, %19, %"_ZN4core6result19Result$LT$T$C$E$GT$7map_err17h8b2efc4a62aae56aE.llvm.15740990321789950213.exit" ret void } diff --git a/bench/actix-rs/optimized/2pgtlhl4qd060m9c.ll b/bench/actix-rs/optimized/2pgtlhl4qd060m9c.ll index 485060b8dba..8ef3429e53a 100644 --- a/bench/actix-rs/optimized/2pgtlhl4qd060m9c.ll +++ b/bench/actix-rs/optimized/2pgtlhl4qd060m9c.ll @@ -5336,7 +5336,7 @@ _ZN14regex_automata4util4iter8Searcher7advance17h9f6a0ed8ffab89a4E.exit.i.i: ; p %173 = icmp ule i64 %168, %172 %174 = icmp eq ptr %.val.i.i, null %175 = select i1 %173, i1 true, i1 %174 - br i1 %175, label %.invoke, label %_ZN14regex_automata4util8captures14GroupInfoInner9group_len17hf44aea63cceed637E.exit.i.i + br i1 %175, label %split.invoke, label %_ZN14regex_automata4util8captures14GroupInfoInner9group_len17hf44aea63cceed637E.exit.i.i _ZN14regex_automata4util8captures14GroupInfoInner9group_len17hf44aea63cceed637E.exit.i.i: ; preds = %170 %176 = shl nuw nsw i64 %172, 1 @@ -5347,7 +5347,7 @@ _ZN14regex_automata4util8captures14GroupInfoInner9group_len17hf44aea63cceed637E. %.061.i = phi i64 [ %176, %_ZN14regex_automata4util8captures14GroupInfoInner9group_len17hf44aea63cceed637E.exit.i.i ], [ 0, %164 ] %.0.i281 = phi i64 [ %177, %_ZN14regex_automata4util8captures14GroupInfoInner9group_len17hf44aea63cceed637E.exit.i.i ], [ 1, %164 ] %179 = icmp ult i64 %.061.i, %152 - br i1 %179, label %180, label %.invoke + br i1 %179, label %180, label %split.invoke 180: ; preds = %178 %181 = getelementptr inbounds nuw i64, ptr %159, i64 %.061.i @@ -5355,13 +5355,13 @@ _ZN14regex_automata4util8captures14GroupInfoInner9group_len17hf44aea63cceed637E. %183 = icmp ne i64 %182, 0 %184 = icmp ult i64 %.0.i281, %152 %or.cond.i = select i1 %183, i1 %184, i1 false - br i1 %or.cond.i, label %185, label %.invoke + br i1 %or.cond.i, label %185, label %split.invoke 185: ; preds = %180 %186 = getelementptr inbounds nuw i64, ptr %159, i64 %.0.i281 %187 = load i64, ptr %186, align 8, !noalias !675, !noundef !4 %188 = icmp eq i64 %187, 0 - br i1 %188, label %.invoke, label %241 + br i1 %188, label %split.invoke, label %241 "_ZN4core3ptr57drop_in_place$LT$regex..regex..string..CaptureMatches$GT$17h8f8292e2f9391db2E.exit279": ; preds = %163 call void @llvm.lifetime.end.p0(i64 160, ptr nonnull %29) @@ -5502,7 +5502,7 @@ _ZN14regex_automata4util8captures14GroupInfoInner9group_len17hf44aea63cceed637E. cleanup br label %.body299 -.loopexit.split-lp665: ; preds = %.invoke1271, %.invoke1269, %.invoke, %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17hb277773516156c9aE.exit393.thread", %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17hb277773516156c9aE.exit422.thread" +.loopexit.split-lp665: ; preds = %.invoke1269, %.invoke, %split.invoke, %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17hb277773516156c9aE.exit393.thread", %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17hb277773516156c9aE.exit422.thread" %lpad.loopexit.split-lp667 = landingpad { ptr, i32 } cleanup br label %.body299 @@ -5512,12 +5512,12 @@ _ZN14regex_automata4util8captures14GroupInfoInner9group_len17hf44aea63cceed637E. invoke void @"_ZN4core3ptr61drop_in_place$LT$regex_automata..util..captures..Captures$GT$17hbd79f2c01afa2a53E"(ptr noalias noundef nonnull align 8 dereferenceable(40) %.sroa.8.0..sroa_idx) to label %.body275 unwind label %626 -.invoke: ; preds = %.thread1097, %_ZN14regex_automata4util8captures14GroupInfoInner9group_len17hf44aea63cceed637E.exit.i.i315, %371, %367, %376, %326, %_ZN14regex_automata4util8captures14GroupInfoInner9group_len17hf44aea63cceed637E.exit.i.i305, %343, %341, %348, %170, %180, %178, %185, %352 +split.invoke: ; preds = %.thread1097, %_ZN14regex_automata4util8captures14GroupInfoInner9group_len17hf44aea63cceed637E.exit.i.i315, %371, %367, %376, %326, %_ZN14regex_automata4util8captures14GroupInfoInner9group_len17hf44aea63cceed637E.exit.i.i305, %343, %341, %348, %170, %180, %178, %185, %352 %240 = phi ptr [ @anon.c8ce99f97dd1a7c2d7b2e82421dc6b83.173, %352 ], [ @anon.c8ce99f97dd1a7c2d7b2e82421dc6b83.153, %185 ], [ @anon.c8ce99f97dd1a7c2d7b2e82421dc6b83.153, %178 ], [ @anon.c8ce99f97dd1a7c2d7b2e82421dc6b83.153, %180 ], [ @anon.c8ce99f97dd1a7c2d7b2e82421dc6b83.153, %170 ], [ @anon.c8ce99f97dd1a7c2d7b2e82421dc6b83.155, %348 ], [ @anon.c8ce99f97dd1a7c2d7b2e82421dc6b83.155, %341 ], [ @anon.c8ce99f97dd1a7c2d7b2e82421dc6b83.155, %343 ], [ @anon.c8ce99f97dd1a7c2d7b2e82421dc6b83.155, %_ZN14regex_automata4util8captures14GroupInfoInner9group_len17hf44aea63cceed637E.exit.i.i305 ], [ @anon.c8ce99f97dd1a7c2d7b2e82421dc6b83.155, %326 ], [ @anon.c8ce99f97dd1a7c2d7b2e82421dc6b83.173, %376 ], [ @anon.c8ce99f97dd1a7c2d7b2e82421dc6b83.173, %367 ], [ @anon.c8ce99f97dd1a7c2d7b2e82421dc6b83.173, %371 ], [ @anon.c8ce99f97dd1a7c2d7b2e82421dc6b83.173, %_ZN14regex_automata4util8captures14GroupInfoInner9group_len17hf44aea63cceed637E.exit.i.i315 ], [ @anon.c8ce99f97dd1a7c2d7b2e82421dc6b83.173, %.thread1097 ] invoke void @_ZN4core6option13unwrap_failed17hcb3a256a9f1ca882E(ptr noalias noundef nonnull readonly align 8 dereferenceable(24) %240) #23 - to label %.cont unwind label %.loopexit.split-lp665 + to label %split.cont unwind label %.loopexit.split-lp665 -.cont: ; preds = %.invoke +split.cont: ; preds = %split.invoke unreachable 241: ; preds = %185 @@ -5531,7 +5531,7 @@ _ZN14regex_automata4util8captures14GroupInfoInner9group_len17hf44aea63cceed637E. %245 = load ptr, ptr %35, align 8, !nonnull !4, !align !529, !noundef !4 %246 = load i64, ptr %36, align 8, !noundef !4 %.not.i = icmp ugt i64 %.0244, %242 - br i1 %.not.i, label %.invoke1269, label %247 + br i1 %.not.i, label %.invoke, label %247 247: ; preds = %244 %248 = icmp eq i64 %.0244, 0 @@ -5543,13 +5543,13 @@ _ZN14regex_automata4util8captures14GroupInfoInner9group_len17hf44aea63cceed637E. 250: ; preds = %249 %251 = icmp eq i64 %.0244, %246 - br i1 %251, label %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.exit.thread.i287", label %.invoke1269 + br i1 %251, label %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.exit.thread.i287", label %.invoke "_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.exit.i288": ; preds = %249 %252 = getelementptr inbounds i8, ptr %245, i64 %.0244 %253 = load i8, ptr %252, align 1, !alias.scope !704, !noundef !4 %254 = icmp sgt i8 %253, -65 - br i1 %254, label %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.exit.thread.i287", label %.invoke1269 + br i1 %254, label %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.exit.thread.i287", label %.invoke "_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.exit.thread.i287": ; preds = %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.exit.i288", %250, %247 %255 = icmp eq i64 %242, 0 @@ -5561,13 +5561,13 @@ _ZN14regex_automata4util8captures14GroupInfoInner9group_len17hf44aea63cceed637E. 257: ; preds = %256 %258 = icmp eq i64 %242, %246 - br i1 %258, label %305, label %.invoke1269 + br i1 %258, label %305, label %.invoke "_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.exit7.i": ; preds = %256 %259 = getelementptr inbounds i8, ptr %245, i64 %242 %260 = load i8, ptr %259, align 1, !alias.scope !709, !noundef !4 %261 = icmp sgt i8 %260, -65 - br i1 %261, label %305, label %.invoke1269 + br i1 %261, label %305, label %.invoke 262: ; preds = %308, %._crit_edge.i297 %263 = phi i64 [ %.pre.i298, %._crit_edge.i297 ], [ %313, %308 ] @@ -5638,16 +5638,16 @@ _ZN14regex_automata4util8captures9GroupInfo4slot17h503607754aad47f4E.exit.thread %299 = icmp eq i64 %298, 0 br i1 %299, label %353, label %321 -.invoke1269: ; preds = %601, %596, %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.exit.i479", %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.exit7.i478", %578, %571, %563, %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.exit.i433", %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.exit7.i432", %413, %406, %402, %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.exit.i346", %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.exit7.i345", %430, %423, %419, %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.exit.i360", %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.exit7.i359", %447, %440, %436, %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.exit.i374", %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.exit7.i373", %464, %457, %453, %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.exit.i388", %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.exit7.i387", %481, %474, %470, %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.exit.i402", %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.exit7.i401", %498, %491, %487, %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.exit.i412", %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.exit7.i411", %393, %386, %380, %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.exit.i330", %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.exit7.i329", %257, %250, %244, %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.exit.i288", %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.exit7.i" +.invoke: ; preds = %601, %596, %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.exit.i479", %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.exit7.i478", %578, %571, %563, %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.exit.i433", %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.exit7.i432", %413, %406, %402, %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.exit.i346", %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.exit7.i345", %430, %423, %419, %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.exit.i360", %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.exit7.i359", %447, %440, %436, %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.exit.i374", %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.exit7.i373", %464, %457, %453, %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.exit.i388", %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.exit7.i387", %481, %474, %470, %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.exit.i402", %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.exit7.i401", %498, %491, %487, %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.exit.i412", %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.exit7.i411", %393, %386, %380, %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.exit.i330", %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.exit7.i329", %257, %250, %244, %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.exit.i288", %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.exit7.i" %300 = phi ptr [ %245, %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.exit7.i" ], [ %245, %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.exit.i288" ], [ %245, %244 ], [ %245, %250 ], [ %245, %257 ], [ %325, %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.exit7.i329" ], [ %325, %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.exit.i330" ], [ %325, %380 ], [ %325, %386 ], [ %325, %393 ], [ %325, %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.exit7.i411" ], [ %325, %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.exit.i412" ], [ %325, %487 ], [ %325, %491 ], [ %325, %498 ], [ %325, %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.exit7.i401" ], [ %325, %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.exit.i402" ], [ %325, %470 ], [ %325, %474 ], [ %325, %481 ], [ %325, %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.exit7.i387" ], [ %325, %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.exit.i388" ], [ %325, %453 ], [ %325, %457 ], [ %325, %464 ], [ %325, %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.exit7.i373" ], [ %325, %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.exit.i374" ], [ %325, %436 ], [ %325, %440 ], [ %325, %447 ], [ %325, %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.exit7.i359" ], [ %325, %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.exit.i360" ], [ %325, %419 ], [ %325, %423 ], [ %325, %430 ], [ %325, %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.exit7.i345" ], [ %325, %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.exit.i346" ], [ %325, %402 ], [ %325, %406 ], [ %325, %413 ], [ %567, %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.exit7.i432" ], [ %567, %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.exit.i433" ], [ %567, %563 ], [ %567, %571 ], [ %567, %578 ], [ %567, %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.exit7.i478" ], [ %567, %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.exit.i479" ], [ %567, %596 ], [ %567, %601 ] %301 = phi i64 [ %246, %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.exit7.i" ], [ %246, %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.exit.i288" ], [ %246, %244 ], [ %246, %250 ], [ %246, %257 ], [ %324, %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.exit7.i329" ], [ %324, %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.exit.i330" ], [ %324, %380 ], [ %324, %386 ], [ %324, %393 ], [ %324, %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.exit7.i411" ], [ %324, %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.exit.i412" ], [ %324, %487 ], [ %324, %491 ], [ %324, %498 ], [ %324, %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.exit7.i401" ], [ %324, %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.exit.i402" ], [ %324, %470 ], [ %324, %474 ], [ %324, %481 ], [ %324, %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.exit7.i387" ], [ %324, %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.exit.i388" ], [ %324, %453 ], [ %324, %457 ], [ %324, %464 ], [ %324, %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.exit7.i373" ], [ %324, %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.exit.i374" ], [ %324, %436 ], [ %324, %440 ], [ %324, %447 ], [ %324, %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.exit7.i359" ], [ %324, %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.exit.i360" ], [ %324, %419 ], [ %324, %423 ], [ %324, %430 ], [ %324, %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.exit7.i345" ], [ %324, %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.exit.i346" ], [ %324, %402 ], [ %324, %406 ], [ %324, %413 ], [ %566, %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.exit7.i432" ], [ %566, %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.exit.i433" ], [ %566, %563 ], [ %566, %571 ], [ %566, %578 ], [ %566, %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.exit7.i478" ], [ %566, %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.exit.i479" ], [ %566, %596 ], [ %566, %601 ] %302 = phi i64 [ %.0244, %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.exit7.i" ], [ %.0244, %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.exit.i288" ], [ %.0244, %244 ], [ %.0244, %250 ], [ %.0244, %257 ], [ %381, %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.exit7.i329" ], [ %381, %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.exit.i330" ], [ %381, %380 ], [ %381, %386 ], [ %381, %393 ], [ %322, %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.exit7.i411" ], [ %322, %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.exit.i412" ], [ %322, %487 ], [ %322, %491 ], [ %322, %498 ], [ %322, %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.exit7.i401" ], [ %322, %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.exit.i402" ], [ %322, %470 ], [ %322, %474 ], [ %322, %481 ], [ %322, %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.exit7.i387" ], [ %322, %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.exit.i388" ], [ %322, %453 ], [ %322, %457 ], [ %322, %464 ], [ %322, %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.exit7.i373" ], [ %322, %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.exit.i374" ], [ %322, %436 ], [ %322, %440 ], [ %322, %447 ], [ %322, %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.exit7.i359" ], [ %322, %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.exit.i360" ], [ %322, %419 ], [ %322, %423 ], [ %322, %430 ], [ %322, %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.exit7.i345" ], [ %322, %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.exit.i346" ], [ %322, %402 ], [ %322, %406 ], [ %322, %413 ], [ %564, %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.exit7.i432" ], [ %564, %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.exit.i433" ], [ %564, %563 ], [ %564, %571 ], [ %564, %578 ], [ %564, %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.exit7.i478" ], [ %564, %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.exit.i479" ], [ %564, %596 ], [ %564, %601 ] %303 = phi i64 [ %242, %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.exit7.i" ], [ %242, %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.exit.i288" ], [ %242, %244 ], [ %242, %250 ], [ %242, %257 ], [ %382, %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.exit7.i329" ], [ %382, %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.exit.i330" ], [ %382, %380 ], [ %382, %386 ], [ %382, %393 ], [ %323, %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.exit7.i411" ], [ %323, %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.exit.i412" ], [ %323, %487 ], [ %323, %491 ], [ %323, %498 ], [ %323, %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.exit7.i401" ], [ %323, %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.exit.i402" ], [ %323, %470 ], [ %323, %474 ], [ %323, %481 ], [ %323, %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.exit7.i387" ], [ %323, %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.exit.i388" ], [ %323, %453 ], [ %323, %457 ], [ %323, %464 ], [ %323, %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.exit7.i373" ], [ %323, %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.exit.i374" ], [ %323, %436 ], [ %323, %440 ], [ %323, %447 ], [ %323, %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.exit7.i359" ], [ %323, %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.exit.i360" ], [ %323, %419 ], [ %323, %423 ], [ %323, %430 ], [ %323, %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.exit7.i345" ], [ %323, %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.exit.i346" ], [ %323, %402 ], [ %323, %406 ], [ %323, %413 ], [ %565, %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.exit7.i432" ], [ %565, %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.exit.i433" ], [ %565, %563 ], [ %565, %571 ], [ %565, %578 ], [ %565, %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.exit7.i478" ], [ %565, %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.exit.i479" ], [ %565, %596 ], [ %565, %601 ] %304 = phi ptr [ @anon.c8ce99f97dd1a7c2d7b2e82421dc6b83.154, %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.exit7.i" ], [ @anon.c8ce99f97dd1a7c2d7b2e82421dc6b83.154, %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.exit.i288" ], [ @anon.c8ce99f97dd1a7c2d7b2e82421dc6b83.154, %244 ], [ @anon.c8ce99f97dd1a7c2d7b2e82421dc6b83.154, %250 ], [ @anon.c8ce99f97dd1a7c2d7b2e82421dc6b83.154, %257 ], [ @anon.c8ce99f97dd1a7c2d7b2e82421dc6b83.157, %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.exit7.i329" ], [ @anon.c8ce99f97dd1a7c2d7b2e82421dc6b83.157, %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.exit.i330" ], [ @anon.c8ce99f97dd1a7c2d7b2e82421dc6b83.157, %380 ], [ @anon.c8ce99f97dd1a7c2d7b2e82421dc6b83.157, %386 ], [ @anon.c8ce99f97dd1a7c2d7b2e82421dc6b83.157, %393 ], [ @anon.c8ce99f97dd1a7c2d7b2e82421dc6b83.157, %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.exit7.i411" ], [ @anon.c8ce99f97dd1a7c2d7b2e82421dc6b83.157, %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.exit.i412" ], [ @anon.c8ce99f97dd1a7c2d7b2e82421dc6b83.157, %487 ], [ @anon.c8ce99f97dd1a7c2d7b2e82421dc6b83.157, %491 ], [ @anon.c8ce99f97dd1a7c2d7b2e82421dc6b83.157, %498 ], [ @anon.c8ce99f97dd1a7c2d7b2e82421dc6b83.157, %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.exit7.i401" ], [ @anon.c8ce99f97dd1a7c2d7b2e82421dc6b83.157, %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.exit.i402" ], [ @anon.c8ce99f97dd1a7c2d7b2e82421dc6b83.157, %470 ], [ @anon.c8ce99f97dd1a7c2d7b2e82421dc6b83.157, %474 ], [ @anon.c8ce99f97dd1a7c2d7b2e82421dc6b83.157, %481 ], [ @anon.c8ce99f97dd1a7c2d7b2e82421dc6b83.157, %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.exit7.i387" ], [ @anon.c8ce99f97dd1a7c2d7b2e82421dc6b83.157, %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.exit.i388" ], [ @anon.c8ce99f97dd1a7c2d7b2e82421dc6b83.157, %453 ], [ @anon.c8ce99f97dd1a7c2d7b2e82421dc6b83.157, %457 ], [ @anon.c8ce99f97dd1a7c2d7b2e82421dc6b83.157, %464 ], [ @anon.c8ce99f97dd1a7c2d7b2e82421dc6b83.157, %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.exit7.i373" ], [ @anon.c8ce99f97dd1a7c2d7b2e82421dc6b83.157, %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.exit.i374" ], [ @anon.c8ce99f97dd1a7c2d7b2e82421dc6b83.157, %436 ], [ @anon.c8ce99f97dd1a7c2d7b2e82421dc6b83.157, %440 ], [ @anon.c8ce99f97dd1a7c2d7b2e82421dc6b83.157, %447 ], [ @anon.c8ce99f97dd1a7c2d7b2e82421dc6b83.157, %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.exit7.i359" ], [ @anon.c8ce99f97dd1a7c2d7b2e82421dc6b83.157, %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.exit.i360" ], [ @anon.c8ce99f97dd1a7c2d7b2e82421dc6b83.157, %419 ], [ @anon.c8ce99f97dd1a7c2d7b2e82421dc6b83.157, %423 ], [ @anon.c8ce99f97dd1a7c2d7b2e82421dc6b83.157, %430 ], [ @anon.c8ce99f97dd1a7c2d7b2e82421dc6b83.157, %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.exit7.i345" ], [ @anon.c8ce99f97dd1a7c2d7b2e82421dc6b83.157, %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.exit.i346" ], [ @anon.c8ce99f97dd1a7c2d7b2e82421dc6b83.157, %402 ], [ @anon.c8ce99f97dd1a7c2d7b2e82421dc6b83.157, %406 ], [ @anon.c8ce99f97dd1a7c2d7b2e82421dc6b83.157, %413 ], [ @anon.c8ce99f97dd1a7c2d7b2e82421dc6b83.157, %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.exit7.i432" ], [ @anon.c8ce99f97dd1a7c2d7b2e82421dc6b83.157, %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.exit.i433" ], [ @anon.c8ce99f97dd1a7c2d7b2e82421dc6b83.157, %563 ], [ @anon.c8ce99f97dd1a7c2d7b2e82421dc6b83.157, %571 ], [ @anon.c8ce99f97dd1a7c2d7b2e82421dc6b83.157, %578 ], [ @anon.c8ce99f97dd1a7c2d7b2e82421dc6b83.157, %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.exit7.i478" ], [ @anon.c8ce99f97dd1a7c2d7b2e82421dc6b83.157, %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.exit.i479" ], [ @anon.c8ce99f97dd1a7c2d7b2e82421dc6b83.157, %596 ], [ @anon.c8ce99f97dd1a7c2d7b2e82421dc6b83.157, %601 ] invoke void @_ZN4core3str16slice_error_fail17he2ff12236fb0c056E(ptr noalias noundef nonnull readonly align 1 %300, i64 noundef %301, i64 noundef %302, i64 noundef %303, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) %304) #23 - to label %.cont1270 unwind label %.loopexit.split-lp665 + to label %.cont unwind label %.loopexit.split-lp665 -.cont1270: ; preds = %.invoke1269 +.cont: ; preds = %.invoke unreachable 305: ; preds = %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.exit7.i", %257, %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.exit.thread.i287" @@ -5706,7 +5706,7 @@ _ZN14regex_automata4util8captures9GroupInfo4slot17h503607754aad47f4E.exit.thread %329 = icmp ule i64 %270, %328 %330 = icmp eq ptr %.val.i.i304, null %331 = select i1 %329, i1 true, i1 %330 - br i1 %331, label %.invoke, label %_ZN14regex_automata4util8captures14GroupInfoInner9group_len17hf44aea63cceed637E.exit.i.i305 + br i1 %331, label %split.invoke, label %_ZN14regex_automata4util8captures14GroupInfoInner9group_len17hf44aea63cceed637E.exit.i.i305 _ZN14regex_automata4util8captures14GroupInfoInner9group_len17hf44aea63cceed637E.exit.i.i305: ; preds = %326 %332 = getelementptr inbounds nuw { i32, i32 }, ptr %.val.i.i304, i64 %328 @@ -5717,7 +5717,7 @@ _ZN14regex_automata4util8captures14GroupInfoInner9group_len17hf44aea63cceed637E. %337 = zext i32 %336 to i64 %338 = sub nsw i64 %335, %337 %.not.not.i.i306 = icmp ult i64 %338, 6 - br i1 %.not.not.i.i306, label %.invoke, label %_ZN14regex_automata4util8captures9GroupInfo4slot17h503607754aad47f4E.exit.thread.i307 + br i1 %.not.not.i.i306, label %split.invoke, label %_ZN14regex_automata4util8captures9GroupInfo4slot17h503607754aad47f4E.exit.thread.i307 _ZN14regex_automata4util8captures9GroupInfo4slot17h503607754aad47f4E.exit.thread.i307: ; preds = %_ZN14regex_automata4util8captures14GroupInfoInner9group_len17hf44aea63cceed637E.exit.i.i305 %339 = add nuw nsw i64 %337, 4 @@ -5728,7 +5728,7 @@ _ZN14regex_automata4util8captures9GroupInfo4slot17h503607754aad47f4E.exit.thread %.061.i308 = phi i64 [ %339, %_ZN14regex_automata4util8captures9GroupInfo4slot17h503607754aad47f4E.exit.thread.i307 ], [ 6, %321 ] %.0.i309 = phi i64 [ %340, %_ZN14regex_automata4util8captures9GroupInfo4slot17h503607754aad47f4E.exit.thread.i307 ], [ 7, %321 ] %342 = icmp ult i64 %.061.i308, %289 - br i1 %342, label %343, label %.invoke + br i1 %342, label %343, label %split.invoke 343: ; preds = %341 %344 = getelementptr inbounds nuw i64, ptr %288, i64 %.061.i308 @@ -5736,17 +5736,17 @@ _ZN14regex_automata4util8captures9GroupInfo4slot17h503607754aad47f4E.exit.thread %346 = icmp ne i64 %345, 0 %347 = icmp ult i64 %.0.i309, %289 %or.cond.i310 = select i1 %346, i1 %347, i1 false - br i1 %or.cond.i310, label %348, label %.invoke + br i1 %or.cond.i310, label %348, label %split.invoke 348: ; preds = %343 %349 = getelementptr inbounds nuw i64, ptr %288, i64 %.0.i309 %350 = load i64, ptr %349, align 8, !noalias !723, !noundef !4 %351 = icmp eq i64 %350, 0 - br i1 %351, label %.invoke, label %380 + br i1 %351, label %split.invoke, label %380 352: ; preds = %262 call void @llvm.experimental.noalias.scope.decl(metadata !727) - br label %.invoke + br label %split.invoke 353: ; preds = %296, %287, %291 br i1 %271, label %367, label %.thread1097 @@ -5758,7 +5758,7 @@ _ZN14regex_automata4util8captures9GroupInfo4slot17h503607754aad47f4E.exit.thread %356 = icmp ule i64 %270, %355 %357 = icmp eq ptr %.val.i.i314, null %358 = select i1 %356, i1 true, i1 %357 - br i1 %358, label %.invoke, label %_ZN14regex_automata4util8captures14GroupInfoInner9group_len17hf44aea63cceed637E.exit.i.i315 + br i1 %358, label %split.invoke, label %_ZN14regex_automata4util8captures14GroupInfoInner9group_len17hf44aea63cceed637E.exit.i.i315 _ZN14regex_automata4util8captures14GroupInfoInner9group_len17hf44aea63cceed637E.exit.i.i315: ; preds = %.thread1097 %359 = getelementptr inbounds nuw { i32, i32 }, ptr %.val.i.i314, i64 %355 @@ -5769,7 +5769,7 @@ _ZN14regex_automata4util8captures14GroupInfoInner9group_len17hf44aea63cceed637E. %364 = zext i32 %363 to i64 %365 = sub nsw i64 %362, %364 %.not.not.i.i316 = icmp ult i64 %365, 2 - br i1 %.not.not.i.i316, label %.invoke, label %_ZN14regex_automata4util8captures9GroupInfo4slot17h503607754aad47f4E.exit.thread.i317 + br i1 %.not.not.i.i316, label %split.invoke, label %_ZN14regex_automata4util8captures9GroupInfo4slot17h503607754aad47f4E.exit.thread.i317 _ZN14regex_automata4util8captures9GroupInfo4slot17h503607754aad47f4E.exit.thread.i317: ; preds = %_ZN14regex_automata4util8captures14GroupInfoInner9group_len17hf44aea63cceed637E.exit.i.i315 %366 = add nuw nsw i64 %364, 1 @@ -5781,7 +5781,7 @@ _ZN14regex_automata4util8captures9GroupInfo4slot17h503607754aad47f4E.exit.thread %368 = load ptr, ptr %.sroa.9.0..sroa_idx, align 8, !alias.scope !727, !noalias !732, !nonnull !4, !noundef !4 %369 = load i64, ptr %.sroa.10.0..sroa_idx, align 8, !alias.scope !727, !noalias !732, !noundef !4 %370 = icmp ult i64 %.061.i318, %369 - br i1 %370, label %371, label %.invoke + br i1 %370, label %371, label %split.invoke 371: ; preds = %367 %372 = getelementptr inbounds nuw i64, ptr %368, i64 %.061.i318 @@ -5789,19 +5789,19 @@ _ZN14regex_automata4util8captures9GroupInfo4slot17h503607754aad47f4E.exit.thread %374 = icmp ne i64 %373, 0 %375 = icmp ult i64 %.0.i319, %369 %or.cond.i320 = select i1 %374, i1 %375, i1 false - br i1 %or.cond.i320, label %376, label %.invoke + br i1 %or.cond.i320, label %376, label %split.invoke 376: ; preds = %371 %377 = getelementptr inbounds nuw i64, ptr %368, i64 %.0.i319 %378 = load i64, ptr %377, align 8, !noalias !730, !noundef !4 %379 = icmp eq i64 %378, 0 - br i1 %379, label %.invoke, label %563 + br i1 %379, label %split.invoke, label %563 380: ; preds = %348 %381 = add i64 %345, -1 %382 = add i64 %350, -1 %.not.i322 = icmp ugt i64 %381, %382 - br i1 %.not.i322, label %.invoke1269, label %383 + br i1 %.not.i322, label %.invoke, label %383 383: ; preds = %380 %384 = icmp eq i64 %381, 0 @@ -5813,13 +5813,13 @@ _ZN14regex_automata4util8captures9GroupInfo4slot17h503607754aad47f4E.exit.thread 386: ; preds = %385 %387 = icmp eq i64 %381, %324 - br i1 %387, label %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.exit.thread.i326", label %.invoke1269 + br i1 %387, label %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.exit.thread.i326", label %.invoke "_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.exit.i330": ; preds = %385 %388 = getelementptr inbounds i8, ptr %325, i64 %381 %389 = load i8, ptr %388, align 1, !alias.scope !733, !noundef !4 %390 = icmp sgt i8 %389, -65 - br i1 %390, label %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.exit.thread.i326", label %.invoke1269 + br i1 %390, label %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.exit.thread.i326", label %.invoke "_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.exit.thread.i326": ; preds = %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.exit.i330", %386, %383 %391 = icmp eq i64 %382, 0 @@ -5831,13 +5831,13 @@ _ZN14regex_automata4util8captures9GroupInfo4slot17h503607754aad47f4E.exit.thread 393: ; preds = %392 %394 = icmp eq i64 %382, %324 - br i1 %394, label %398, label %.invoke1269 + br i1 %394, label %398, label %.invoke "_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.exit7.i329": ; preds = %392 %395 = getelementptr inbounds i8, ptr %325, i64 %382 %396 = load i8, ptr %395, align 1, !alias.scope !738, !noundef !4 %397 = icmp sgt i8 %396, -65 - br i1 %397, label %398, label %.invoke1269 + br i1 %397, label %398, label %.invoke 398: ; preds = %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.exit7.i329", %393, %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.exit.thread.i326" %399 = getelementptr inbounds i8, ptr %325, i64 %381 @@ -5854,7 +5854,7 @@ _ZN14regex_automata4util8captures9GroupInfo4slot17h503607754aad47f4E.exit.thread 402: ; preds = %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17hb277773516156c9aE.exit" %.not.i338 = icmp ugt i64 %322, %323 - br i1 %.not.i338, label %.invoke1269, label %403 + br i1 %.not.i338, label %.invoke, label %403 403: ; preds = %402 %404 = icmp eq i64 %322, 0 @@ -5866,13 +5866,13 @@ _ZN14regex_automata4util8captures9GroupInfo4slot17h503607754aad47f4E.exit.thread 406: ; preds = %405 %407 = icmp eq i64 %322, %324 - br i1 %407, label %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.exit.thread.i342", label %.invoke1269 + br i1 %407, label %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.exit.thread.i342", label %.invoke "_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.exit.i346": ; preds = %405 %408 = getelementptr inbounds i8, ptr %325, i64 %322 %409 = load i8, ptr %408, align 1, !alias.scope !741, !noundef !4 %410 = icmp sgt i8 %409, -65 - br i1 %410, label %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.exit.thread.i342", label %.invoke1269 + br i1 %410, label %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.exit.thread.i342", label %.invoke "_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.exit.thread.i342": ; preds = %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.exit.i346", %406, %403 %411 = icmp eq i64 %323, 0 @@ -5884,13 +5884,13 @@ _ZN14regex_automata4util8captures9GroupInfo4slot17h503607754aad47f4E.exit.thread 413: ; preds = %412 %414 = icmp eq i64 %323, %324 - br i1 %414, label %549, label %.invoke1269 + br i1 %414, label %549, label %.invoke "_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.exit7.i345": ; preds = %412 %415 = getelementptr inbounds i8, ptr %325, i64 %323 %416 = load i8, ptr %415, align 1, !alias.scope !746, !noundef !4 %417 = icmp sgt i8 %416, -65 - br i1 %417, label %549, label %.invoke1269 + br i1 %417, label %549, label %.invoke "_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17hb277773516156c9aE.exit337": ; preds = %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17hb277773516156c9aE.exit" %lhsc1083 = load i8, ptr %399, align 1 @@ -5900,7 +5900,7 @@ _ZN14regex_automata4util8captures9GroupInfo4slot17h503607754aad47f4E.exit.thread 419: ; preds = %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17hb277773516156c9aE.exit337" call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %24) %.not.i352 = icmp ugt i64 %322, %323 - br i1 %.not.i352, label %.invoke1269, label %420 + br i1 %.not.i352, label %.invoke, label %420 420: ; preds = %419 %421 = icmp eq i64 %322, 0 @@ -5912,13 +5912,13 @@ _ZN14regex_automata4util8captures9GroupInfo4slot17h503607754aad47f4E.exit.thread 423: ; preds = %422 %424 = icmp eq i64 %322, %324 - br i1 %424, label %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.exit.thread.i356", label %.invoke1269 + br i1 %424, label %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.exit.thread.i356", label %.invoke "_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.exit.i360": ; preds = %422 %425 = getelementptr inbounds i8, ptr %325, i64 %322 %426 = load i8, ptr %425, align 1, !alias.scope !749, !noundef !4 %427 = icmp sgt i8 %426, -65 - br i1 %427, label %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.exit.thread.i356", label %.invoke1269 + br i1 %427, label %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.exit.thread.i356", label %.invoke "_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.exit.thread.i356": ; preds = %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.exit.i360", %423, %420 %428 = icmp eq i64 %323, 0 @@ -5930,13 +5930,13 @@ _ZN14regex_automata4util8captures9GroupInfo4slot17h503607754aad47f4E.exit.thread 430: ; preds = %429 %431 = icmp eq i64 %323, %324 - br i1 %431, label %542, label %.invoke1269 + br i1 %431, label %542, label %.invoke "_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.exit7.i359": ; preds = %429 %432 = getelementptr inbounds i8, ptr %325, i64 %323 %433 = load i8, ptr %432, align 1, !alias.scope !754, !noundef !4 %434 = icmp sgt i8 %433, -65 - br i1 %434, label %542, label %.invoke1269 + br i1 %434, label %542, label %.invoke "_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17hb277773516156c9aE.exit351": ; preds = %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17hb277773516156c9aE.exit337" %lhsc1084 = load i8, ptr %399, align 1 @@ -5946,7 +5946,7 @@ _ZN14regex_automata4util8captures9GroupInfo4slot17h503607754aad47f4E.exit.thread 436: ; preds = %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17hb277773516156c9aE.exit351" call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %23) %.not.i366 = icmp ugt i64 %322, %323 - br i1 %.not.i366, label %.invoke1269, label %437 + br i1 %.not.i366, label %.invoke, label %437 437: ; preds = %436 %438 = icmp eq i64 %322, 0 @@ -5958,13 +5958,13 @@ _ZN14regex_automata4util8captures9GroupInfo4slot17h503607754aad47f4E.exit.thread 440: ; preds = %439 %441 = icmp eq i64 %322, %324 - br i1 %441, label %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.exit.thread.i370", label %.invoke1269 + br i1 %441, label %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.exit.thread.i370", label %.invoke "_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.exit.i374": ; preds = %439 %442 = getelementptr inbounds i8, ptr %325, i64 %322 %443 = load i8, ptr %442, align 1, !alias.scope !757, !noundef !4 %444 = icmp sgt i8 %443, -65 - br i1 %444, label %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.exit.thread.i370", label %.invoke1269 + br i1 %444, label %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.exit.thread.i370", label %.invoke "_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.exit.thread.i370": ; preds = %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.exit.i374", %440, %437 %445 = icmp eq i64 %323, 0 @@ -5976,13 +5976,13 @@ _ZN14regex_automata4util8captures9GroupInfo4slot17h503607754aad47f4E.exit.thread 447: ; preds = %446 %448 = icmp eq i64 %323, %324 - br i1 %448, label %536, label %.invoke1269 + br i1 %448, label %536, label %.invoke "_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.exit7.i373": ; preds = %446 %449 = getelementptr inbounds i8, ptr %325, i64 %323 %450 = load i8, ptr %449, align 1, !alias.scope !762, !noundef !4 %451 = icmp sgt i8 %450, -65 - br i1 %451, label %536, label %.invoke1269 + br i1 %451, label %536, label %.invoke "_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17hb277773516156c9aE.exit365": ; preds = %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17hb277773516156c9aE.exit351" %lhsc1085 = load i8, ptr %399, align 1 @@ -5991,7 +5991,7 @@ _ZN14regex_automata4util8captures9GroupInfo4slot17h503607754aad47f4E.exit.thread 453: ; preds = %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17hb277773516156c9aE.exit365" %.not.i380 = icmp ugt i64 %322, %323 - br i1 %.not.i380, label %.invoke1269, label %454 + br i1 %.not.i380, label %.invoke, label %454 454: ; preds = %453 %455 = icmp eq i64 %322, 0 @@ -6003,13 +6003,13 @@ _ZN14regex_automata4util8captures9GroupInfo4slot17h503607754aad47f4E.exit.thread 457: ; preds = %456 %458 = icmp eq i64 %322, %324 - br i1 %458, label %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.exit.thread.i384", label %.invoke1269 + br i1 %458, label %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.exit.thread.i384", label %.invoke "_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.exit.i388": ; preds = %456 %459 = getelementptr inbounds i8, ptr %325, i64 %322 %460 = load i8, ptr %459, align 1, !alias.scope !765, !noundef !4 %461 = icmp sgt i8 %460, -65 - br i1 %461, label %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.exit.thread.i384", label %.invoke1269 + br i1 %461, label %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.exit.thread.i384", label %.invoke "_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.exit.thread.i384": ; preds = %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.exit.i388", %457, %454 %462 = icmp eq i64 %323, 0 @@ -6021,13 +6021,13 @@ _ZN14regex_automata4util8captures9GroupInfo4slot17h503607754aad47f4E.exit.thread 464: ; preds = %463 %465 = icmp eq i64 %323, %324 - br i1 %465, label %528, label %.invoke1269 + br i1 %465, label %528, label %.invoke "_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.exit7.i387": ; preds = %463 %466 = getelementptr inbounds i8, ptr %325, i64 %323 %467 = load i8, ptr %466, align 1, !alias.scope !770, !noundef !4 %468 = icmp sgt i8 %467, -65 - br i1 %468, label %528, label %.invoke1269 + br i1 %468, label %528, label %.invoke "_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17hb277773516156c9aE.exit379": ; preds = %398 %bcmp.i378 = call i32 @bcmp(ptr noundef nonnull readonly align 1 dereferenceable(2) %399, ptr noundef nonnull dereferenceable(2) @anon.c8ce99f97dd1a7c2d7b2e82421dc6b83.162, i64 2), !alias.scope !773 @@ -6036,7 +6036,7 @@ _ZN14regex_automata4util8captures9GroupInfo4slot17h503607754aad47f4E.exit.thread 470: ; preds = %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17hb277773516156c9aE.exit379" %.not.i394 = icmp ugt i64 %322, %323 - br i1 %.not.i394, label %.invoke1269, label %471 + br i1 %.not.i394, label %.invoke, label %471 471: ; preds = %470 %472 = icmp eq i64 %322, 0 @@ -6048,13 +6048,13 @@ _ZN14regex_automata4util8captures9GroupInfo4slot17h503607754aad47f4E.exit.thread 474: ; preds = %473 %475 = icmp eq i64 %322, %324 - br i1 %475, label %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.exit.thread.i398", label %.invoke1269 + br i1 %475, label %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.exit.thread.i398", label %.invoke "_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.exit.i402": ; preds = %473 %476 = getelementptr inbounds i8, ptr %325, i64 %322 %477 = load i8, ptr %476, align 1, !alias.scope !777, !noundef !4 %478 = icmp sgt i8 %477, -65 - br i1 %478, label %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.exit.thread.i398", label %.invoke1269 + br i1 %478, label %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.exit.thread.i398", label %.invoke "_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.exit.thread.i398": ; preds = %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.exit.i402", %474, %471 %479 = icmp eq i64 %323, 0 @@ -6066,13 +6066,13 @@ _ZN14regex_automata4util8captures9GroupInfo4slot17h503607754aad47f4E.exit.thread 481: ; preds = %480 %482 = icmp eq i64 %323, %324 - br i1 %482, label %520, label %.invoke1269 + br i1 %482, label %520, label %.invoke "_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.exit7.i401": ; preds = %480 %483 = getelementptr inbounds i8, ptr %325, i64 %323 %484 = load i8, ptr %483, align 1, !alias.scope !782, !noundef !4 %485 = icmp sgt i8 %484, -65 - br i1 %485, label %520, label %.invoke1269 + br i1 %485, label %520, label %.invoke "_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17hb277773516156c9aE.exit393": ; preds = %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17hb277773516156c9aE.exit379" %bcmp.i392 = call i32 @bcmp(ptr noundef nonnull readonly align 1 dereferenceable(2) %399, ptr noundef nonnull dereferenceable(2) @anon.c8ce99f97dd1a7c2d7b2e82421dc6b83.163, i64 2), !alias.scope !785 @@ -6085,7 +6085,7 @@ _ZN14regex_automata4util8captures9GroupInfo4slot17h503607754aad47f4E.exit.thread 487: ; preds = %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17hb277773516156c9aE.exit393" %.not.i404 = icmp ugt i64 %322, %323 - br i1 %.not.i404, label %.invoke1269, label %488 + br i1 %.not.i404, label %.invoke, label %488 488: ; preds = %487 %489 = icmp eq i64 %322, 0 @@ -6097,13 +6097,13 @@ _ZN14regex_automata4util8captures9GroupInfo4slot17h503607754aad47f4E.exit.thread 491: ; preds = %490 %492 = icmp eq i64 %322, %324 - br i1 %492, label %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.exit.thread.i408", label %.invoke1269 + br i1 %492, label %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.exit.thread.i408", label %.invoke "_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.exit.i412": ; preds = %490 %493 = getelementptr inbounds i8, ptr %325, i64 %322 %494 = load i8, ptr %493, align 1, !alias.scope !789, !noundef !4 %495 = icmp sgt i8 %494, -65 - br i1 %495, label %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.exit.thread.i408", label %.invoke1269 + br i1 %495, label %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.exit.thread.i408", label %.invoke "_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.exit.thread.i408": ; preds = %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.exit.i412", %491, %488 %496 = icmp eq i64 %323, 0 @@ -6115,13 +6115,13 @@ _ZN14regex_automata4util8captures9GroupInfo4slot17h503607754aad47f4E.exit.thread 498: ; preds = %497 %499 = icmp eq i64 %323, %324 - br i1 %499, label %503, label %.invoke1269 + br i1 %499, label %503, label %.invoke "_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.exit7.i411": ; preds = %497 %500 = getelementptr inbounds i8, ptr %325, i64 %323 %501 = load i8, ptr %500, align 1, !alias.scope !794, !noundef !4 %502 = icmp sgt i8 %501, -65 - br i1 %502, label %503, label %.invoke1269 + br i1 %502, label %503, label %.invoke 503: ; preds = %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.exit7.i411", %498, %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.exit.thread.i408" %504 = sub i64 %298, %293 @@ -6214,7 +6214,7 @@ _ZN14regex_automata4util8captures9GroupInfo4slot17h503607754aad47f4E.exit.thread call void @llvm.lifetime.start.p0(i64 0, ptr nonnull %3) %540 = load i64, ptr %23, align 8, !range !9, !alias.scope !802, !noalias !805, !noundef !4 %trunc.i261 = trunc nuw i64 %540 to i1 - br i1 %trunc.i261, label %.invoke1271, label %541 + br i1 %trunc.i261, label %.invoke1269, label %541 541: ; preds = %539 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %91, ptr noundef nonnull align 8 dereferenceable(32) %92, i64 32, i1 false) @@ -6232,14 +6232,14 @@ _ZN14regex_automata4util8captures9GroupInfo4slot17h503607754aad47f4E.exit.thread call void @llvm.lifetime.start.p0(i64 0, ptr nonnull %3) %546 = load i64, ptr %24, align 8, !range !9, !alias.scope !808, !noalias !811, !noundef !4 %trunc.i = trunc nuw i64 %546 to i1 - br i1 %trunc.i, label %.invoke1271, label %548 + br i1 %trunc.i, label %.invoke1269, label %548 -.invoke1271: ; preds = %545, %539 +.invoke1269: ; preds = %545, %539 %547 = phi ptr [ @anon.c8ce99f97dd1a7c2d7b2e82421dc6b83.166, %539 ], [ @anon.c8ce99f97dd1a7c2d7b2e82421dc6b83.167, %545 ] invoke void @_ZN4core6result13unwrap_failed17ha188096f98826595E(ptr noalias noundef nonnull readonly align 1 @anon.c8ce99f97dd1a7c2d7b2e82421dc6b83.66, i64 noundef 43, ptr noundef nonnull align 1 %3, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.c8ce99f97dd1a7c2d7b2e82421dc6b83.69, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) %547) #23 - to label %.cont1272 unwind label %.loopexit.split-lp665 + to label %.cont1270 unwind label %.loopexit.split-lp665 -.cont1272: ; preds = %.invoke1271 +.cont1270: ; preds = %.invoke1269 unreachable 548: ; preds = %545 @@ -6294,7 +6294,7 @@ _ZN14regex_automata4util8captures9GroupInfo4slot17h503607754aad47f4E.exit.thread %567 = load ptr, ptr %.sroa.14.0..sroa_idx, align 8, !nonnull !4, !align !529, !noundef !4 call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %22) %.not.i425 = icmp ugt i64 %564, %565 - br i1 %.not.i425, label %.invoke1269, label %568 + br i1 %.not.i425, label %.invoke, label %568 568: ; preds = %563 %569 = icmp eq i64 %564, 0 @@ -6306,13 +6306,13 @@ _ZN14regex_automata4util8captures9GroupInfo4slot17h503607754aad47f4E.exit.thread 571: ; preds = %570 %572 = icmp eq i64 %564, %566 - br i1 %572, label %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.exit.thread.i429", label %.invoke1269 + br i1 %572, label %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.exit.thread.i429", label %.invoke "_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.exit.i433": ; preds = %570 %573 = getelementptr inbounds i8, ptr %567, i64 %564 %574 = load i8, ptr %573, align 1, !alias.scope !820, !noundef !4 %575 = icmp sgt i8 %574, -65 - br i1 %575, label %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.exit.thread.i429", label %.invoke1269 + br i1 %575, label %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.exit.thread.i429", label %.invoke "_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.exit.thread.i429": ; preds = %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.exit.i433", %571, %568 %576 = icmp eq i64 %565, 0 @@ -6324,13 +6324,13 @@ _ZN14regex_automata4util8captures9GroupInfo4slot17h503607754aad47f4E.exit.thread 578: ; preds = %577 %579 = icmp eq i64 %565, %566 - br i1 %579, label %583, label %.invoke1269 + br i1 %579, label %583, label %.invoke "_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.exit7.i432": ; preds = %577 %580 = getelementptr inbounds i8, ptr %567, i64 %565 %581 = load i8, ptr %580, align 1, !alias.scope !825, !noundef !4 %582 = icmp sgt i8 %581, -65 - br i1 %582, label %583, label %.invoke1269 + br i1 %582, label %583, label %.invoke 583: ; preds = %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.exit7.i432", %578, %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.exit.thread.i429" %584 = getelementptr inbounds i8, ptr %567, i64 %564 @@ -6392,12 +6392,12 @@ _ZN14regex_automata4util8captures9GroupInfo4slot17h503607754aad47f4E.exit.thread 596: ; preds = %595 %597 = icmp eq i64 %564, %566 - br i1 %597, label %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.exit.thread.i475", label %.invoke1269 + br i1 %597, label %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.exit.thread.i475", label %.invoke "_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.exit.i479": ; preds = %595 %598 = load i8, ptr %584, align 1, !alias.scope !828, !noundef !4 %599 = icmp sgt i8 %598, -65 - br i1 %599, label %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.exit.thread.i475", label %.invoke1269 + br i1 %599, label %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.exit.thread.i475", label %.invoke "_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.exit.thread.i475": ; preds = %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.exit.i479", %596, %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17hb277773516156c9aE.exit470.thread" br i1 %576, label %606, label %600 @@ -6408,13 +6408,13 @@ _ZN14regex_automata4util8captures9GroupInfo4slot17h503607754aad47f4E.exit.thread 601: ; preds = %600 %602 = icmp eq i64 %565, %566 - br i1 %602, label %606, label %.invoke1269 + br i1 %602, label %606, label %.invoke "_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.exit7.i478": ; preds = %600 %603 = getelementptr inbounds i8, ptr %567, i64 %565 %604 = load i8, ptr %603, align 1, !alias.scope !833, !noundef !4 %605 = icmp sgt i8 %604, -65 - br i1 %605, label %606, label %.invoke1269 + br i1 %605, label %606, label %.invoke 606: ; preds = %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.exit7.i478", %601, %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.exit.thread.i475" %607 = invoke { i64, ptr } @"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$11allocate_in17h47c9ed78f471a9edE"(i64 noundef %585, i1 noundef zeroext false) @@ -6432,8 +6432,8 @@ _ZN14regex_automata4util8captures9GroupInfo4slot17h503607754aad47f4E.exit.thread br label %612 612: ; preds = %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17hb277773516156c9aE.exit470", %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17hb277773516156c9aE.exit466", %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17hb277773516156c9aE.exit462", %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17hb277773516156c9aE.exit458", %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17hb277773516156c9aE.exit454", %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17hb277773516156c9aE.exit450", %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17hb277773516156c9aE.exit446", %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17hb277773516156c9aE.exit442", %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17hb277773516156c9aE.exit438", %608 - %.sink1273 = phi i64 [ 0, %608 ], [ 1, %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17hb277773516156c9aE.exit438" ], [ 8, %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17hb277773516156c9aE.exit442" ], [ 3, %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17hb277773516156c9aE.exit446" ], [ 2, %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17hb277773516156c9aE.exit450" ], [ 4, %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17hb277773516156c9aE.exit454" ], [ 5, %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17hb277773516156c9aE.exit458" ], [ 10, %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17hb277773516156c9aE.exit462" ], [ 6, %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17hb277773516156c9aE.exit466" ], [ 7, %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17hb277773516156c9aE.exit470" ] - store i64 %.sink1273, ptr %22, align 8 + %.sink1271 = phi i64 [ 0, %608 ], [ 1, %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17hb277773516156c9aE.exit438" ], [ 8, %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17hb277773516156c9aE.exit442" ], [ 3, %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17hb277773516156c9aE.exit446" ], [ 2, %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17hb277773516156c9aE.exit450" ], [ 4, %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17hb277773516156c9aE.exit454" ], [ 5, %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17hb277773516156c9aE.exit458" ], [ 10, %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17hb277773516156c9aE.exit462" ], [ 6, %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17hb277773516156c9aE.exit466" ], [ 7, %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17hb277773516156c9aE.exit470" ] + store i64 %.sink1271, ptr %22, align 8 %613 = load i64, ptr %51, align 8, !alias.scope !836, !noalias !839, !noundef !4 %614 = load i64, ptr %30, align 8, !alias.scope !836, !noalias !839, !noundef !4 %615 = icmp eq i64 %613, %614 diff --git a/bench/just-rs/optimized/2sblcsgax6v4zfcc.ll b/bench/just-rs/optimized/2sblcsgax6v4zfcc.ll index 6641ba90bad..9e9fd0506d2 100644 --- a/bench/just-rs/optimized/2sblcsgax6v4zfcc.ll +++ b/bench/just-rs/optimized/2sblcsgax6v4zfcc.ll @@ -10495,7 +10495,7 @@ define hidden void @"_ZN4just6recipe15Recipe$LT$D$GT$3run17h3c3402600aa794e4E"(p %switch.i = icmp samesign ugt i8 %78, 1 br i1 %switch.i, label %81, label %109 -79: ; preds = %.noexc61, %894, %831, %.noexc, %428, %81, %97, %84 +79: ; preds = %.noexc60, %894, %831, %.noexc, %428, %81, %97, %84 %80 = landingpad { ptr, i32 } cleanup br label %.body @@ -10543,15 +10543,15 @@ define hidden void @"_ZN4just6recipe15Recipe$LT$D$GT$3run17h3c3402600aa794e4E"(p switch i8 %90, label %default.unreachable [ i8 0, label %_ZN4just5color5Color6active17hcd18acd676d3d894E.llvm.11107275065492906757.exit.i.i i8 1, label %93 - i8 2, label %.thread84 + i8 2, label %.thread83 ] -.thread84: ; preds = %88 +.thread83: ; preds = %88 store i64 0, ptr %71, align 8, !alias.scope !1597, !noalias !1600 - %.sroa.5.0..sroa_idx.i88 = getelementptr inbounds nuw i8, ptr %71, i64 8 - store i8 10, ptr %.sroa.5.0..sroa_idx.i88, align 8, !alias.scope !1597, !noalias !1600 - %.sroa.65.0..sroa_idx.i90 = getelementptr inbounds nuw i8, ptr %71, i64 12 - store i8 10, ptr %.sroa.65.0..sroa_idx.i90, align 4, !alias.scope !1597, !noalias !1600 + %.sroa.5.0..sroa_idx.i87 = getelementptr inbounds nuw i8, ptr %71, i64 8 + store i8 10, ptr %.sroa.5.0..sroa_idx.i87, align 8, !alias.scope !1597, !noalias !1600 + %.sroa.65.0..sroa_idx.i89 = getelementptr inbounds nuw i8, ptr %71, i64 12 + store i8 10, ptr %.sroa.65.0..sroa_idx.i89, align 4, !alias.scope !1597, !noalias !1600 call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %70) call void @llvm.lifetime.start.p0(i64 3, ptr nonnull %.sroa.6.i10) call void @llvm.lifetime.start.p0(i64 3, ptr nonnull %.sroa.7.i11) @@ -10567,10 +10567,10 @@ _ZN4just5color5Color6active17hcd18acd676d3d894E.llvm.11107275065492906757.exit.i .thread: ; preds = %_ZN4just5color5Color6active17hcd18acd676d3d894E.llvm.11107275065492906757.exit.i.i store i64 0, ptr %71, align 8, !alias.scope !1597, !noalias !1600 - %.sroa.5.0..sroa_idx.i80 = getelementptr inbounds nuw i8, ptr %71, i64 8 - store i8 10, ptr %.sroa.5.0..sroa_idx.i80, align 8, !alias.scope !1597, !noalias !1600 - %.sroa.65.0..sroa_idx.i82 = getelementptr inbounds nuw i8, ptr %71, i64 12 - store i8 10, ptr %.sroa.65.0..sroa_idx.i82, align 4, !alias.scope !1597, !noalias !1600 + %.sroa.5.0..sroa_idx.i79 = getelementptr inbounds nuw i8, ptr %71, i64 8 + store i8 10, ptr %.sroa.5.0..sroa_idx.i79, align 8, !alias.scope !1597, !noalias !1600 + %.sroa.65.0..sroa_idx.i81 = getelementptr inbounds nuw i8, ptr %71, i64 12 + store i8 10, ptr %.sroa.65.0..sroa_idx.i81, align 4, !alias.scope !1597, !noalias !1600 call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %70) call void @llvm.lifetime.start.p0(i64 3, ptr nonnull %.sroa.6.i10) call void @llvm.lifetime.start.p0(i64 3, ptr nonnull %.sroa.7.i11) @@ -10631,10 +10631,10 @@ _ZN4just5color5Color6active17hcd18acd676d3d894E.llvm.11107275065492906757.exit.t call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(3) %.sroa.7.i11, ptr noundef nonnull readonly align 1 dereferenceable(3) %.sroa.7.0..sroa_idx8.i26, i64 3, i1 false), !alias.scope !1625, !noalias !1611 br label %97 -97: ; preds = %.thread84, %_ZN4just5color5Color6active17hcd18acd676d3d894E.llvm.11107275065492906757.exit.i.i27, %_ZN4just5color5Color6active17hcd18acd676d3d894E.llvm.11107275065492906757.exit.thread.i.i19 - %.sroa.65.0.i12 = phi i8 [ %.sroa.65.0.copyload7.i25, %_ZN4just5color5Color6active17hcd18acd676d3d894E.llvm.11107275065492906757.exit.thread.i.i19 ], [ 10, %_ZN4just5color5Color6active17hcd18acd676d3d894E.llvm.11107275065492906757.exit.i.i27 ], [ 10, %.thread84 ] - %.sroa.5.0.i13 = phi i8 [ %.sroa.5.0.copyload3.i22, %_ZN4just5color5Color6active17hcd18acd676d3d894E.llvm.11107275065492906757.exit.thread.i.i19 ], [ 10, %_ZN4just5color5Color6active17hcd18acd676d3d894E.llvm.11107275065492906757.exit.i.i27 ], [ 10, %.thread84 ] - %.sroa.0.0.i14 = phi i64 [ %.sroa.0.0.copyload1.i20, %_ZN4just5color5Color6active17hcd18acd676d3d894E.llvm.11107275065492906757.exit.thread.i.i19 ], [ 0, %_ZN4just5color5Color6active17hcd18acd676d3d894E.llvm.11107275065492906757.exit.i.i27 ], [ 0, %.thread84 ] +97: ; preds = %.thread83, %_ZN4just5color5Color6active17hcd18acd676d3d894E.llvm.11107275065492906757.exit.i.i27, %_ZN4just5color5Color6active17hcd18acd676d3d894E.llvm.11107275065492906757.exit.thread.i.i19 + %.sroa.65.0.i12 = phi i8 [ %.sroa.65.0.copyload7.i25, %_ZN4just5color5Color6active17hcd18acd676d3d894E.llvm.11107275065492906757.exit.thread.i.i19 ], [ 10, %_ZN4just5color5Color6active17hcd18acd676d3d894E.llvm.11107275065492906757.exit.i.i27 ], [ 10, %.thread83 ] + %.sroa.5.0.i13 = phi i8 [ %.sroa.5.0.copyload3.i22, %_ZN4just5color5Color6active17hcd18acd676d3d894E.llvm.11107275065492906757.exit.thread.i.i19 ], [ 10, %_ZN4just5color5Color6active17hcd18acd676d3d894E.llvm.11107275065492906757.exit.i.i27 ], [ 10, %.thread83 ] + %.sroa.0.0.i14 = phi i64 [ %.sroa.0.0.copyload1.i20, %_ZN4just5color5Color6active17hcd18acd676d3d894E.llvm.11107275065492906757.exit.thread.i.i19 ], [ 0, %_ZN4just5color5Color6active17hcd18acd676d3d894E.llvm.11107275065492906757.exit.i.i27 ], [ 0, %.thread83 ] store i64 %.sroa.0.0.i14, ptr %70, align 8, !alias.scope !1611, !noalias !1614 %.sroa.5.0..sroa_idx.i15 = getelementptr inbounds nuw i8, ptr %70, i64 8 store i8 %.sroa.5.0.i13, ptr %.sroa.5.0..sroa_idx.i15, align 8, !alias.scope !1611, !noalias !1614 @@ -10721,7 +10721,7 @@ _ZN4just5color5Color6active17hcd18acd676d3d894E.llvm.11107275065492906757.exit.t br i1 %128, label %"_ZN4core6option15Option$LT$T$GT$18get_or_insert_with17hf929b0f86a055458E.exit._crit_edge.i", label %.cont23.lr.ph.i .cont23.lr.ph.i: ; preds = %121 - %.sroa.29.2160.i = getelementptr inbounds nuw i8, ptr %123, i64 24 + %.sroa.29.2162.i = getelementptr inbounds nuw i8, ptr %123, i64 24 %129 = ptrtoint ptr %123 to i64 %130 = getelementptr inbounds nuw i8, ptr %1, i64 192 %131 = load i64, ptr %130, align 8, !alias.scope !1644, !noalias !1650, !noundef !21 @@ -10818,7 +10818,7 @@ _ZN4just5color5Color6active17hcd18acd676d3d894E.llvm.11107275065492906757.exit.t %193 = getelementptr inbounds nuw i8, ptr %53, i64 16 %194 = getelementptr inbounds nuw i8, ptr %57, i64 8 %195 = getelementptr inbounds nuw i8, ptr %57, i64 16 - %brmerge166.i = select i1 %141, i1 true, i1 %switch.i.i + %brmerge168.i = select i1 %141, i1 true, i1 %switch.i.i br label %.cont23.i 196: ; preds = %"_ZN4core3ptr42drop_in_place$LT$std..process..Command$GT$17h5af37505a8b37905E.exit.i", %.loopexit.split-lp96.i, %.loopexit95.i @@ -10861,15 +10861,15 @@ _ZN4just5color5Color6active17hcd18acd676d3d894E.llvm.11107275065492906757.exit.t br label %"_ZN4core3ptr42drop_in_place$LT$std..process..Command$GT$17h5af37505a8b37905E.exit.i" .cont23.i: ; preds = %"_ZN4core6option15Option$LT$T$GT$18get_or_insert_with17hf929b0f86a055458E.exit.backedge.i", %.cont23.lr.ph.i - %.sroa.29.2164.i = phi ptr [ %.sroa.29.2160.i, %.cont23.lr.ph.i ], [ %.sroa.29.2.i, %"_ZN4core6option15Option$LT$T$GT$18get_or_insert_with17hf929b0f86a055458E.exit.backedge.i" ] - %.sroa.15.1163.i = phi i64 [ %129, %.cont23.lr.ph.i ], [ %.sroa.15.1.i, %"_ZN4core6option15Option$LT$T$GT$18get_or_insert_with17hf929b0f86a055458E.exit.backedge.i" ] - %.0103162.i = phi i64 [ %132, %.cont23.lr.ph.i ], [ %.2.i, %"_ZN4core6option15Option$LT$T$GT$18get_or_insert_with17hf929b0f86a055458E.exit.backedge.i" ] - %.sroa.6.i.sroa.0.0161.i = phi i24 [ undef, %.cont23.lr.ph.i ], [ %.sroa.6.i.sroa.0.0.be.i, %"_ZN4core6option15Option$LT$T$GT$18get_or_insert_with17hf929b0f86a055458E.exit.backedge.i" ] + %.sroa.29.2166.i = phi ptr [ %.sroa.29.2162.i, %.cont23.lr.ph.i ], [ %.sroa.29.2.i, %"_ZN4core6option15Option$LT$T$GT$18get_or_insert_with17hf929b0f86a055458E.exit.backedge.i" ] + %.sroa.15.1165.i = phi i64 [ %129, %.cont23.lr.ph.i ], [ %.sroa.15.1.i, %"_ZN4core6option15Option$LT$T$GT$18get_or_insert_with17hf929b0f86a055458E.exit.backedge.i" ] + %.0103164.i = phi i64 [ %132, %.cont23.lr.ph.i ], [ %.2.i, %"_ZN4core6option15Option$LT$T$GT$18get_or_insert_with17hf929b0f86a055458E.exit.backedge.i" ] + %.sroa.6.i.sroa.0.0163.i = phi i24 [ undef, %.cont23.lr.ph.i ], [ %.sroa.6.i.sroa.0.0.be.i, %"_ZN4core6option15Option$LT$T$GT$18get_or_insert_with17hf929b0f86a055458E.exit.backedge.i" ] call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %68), !noalias !1656 store i64 0, ptr %68, align 8, !noalias !1656 store ptr inttoptr (i64 1 to ptr), ptr %.sroa.462.0..sroa_idx.i, align 8, !noalias !1656 store i64 0, ptr %.sroa.563.0..sroa_idx.i, align 8, !noalias !1656 - %197 = inttoptr i64 %.sroa.15.1163.i to ptr + %197 = inttoptr i64 %.sroa.15.1165.i to ptr %198 = invoke noundef zeroext i1 @_ZN4just4line4Line8is_quiet17hed00f03a417691a2E(ptr noalias noundef nonnull readonly align 8 dereferenceable(24) %197) to label %.cont21.i unwind label %.loopexit.split-lp85.loopexit.i, !noalias !1657 @@ -10884,32 +10884,32 @@ _ZN4just5color5Color6active17hcd18acd676d3d894E.llvm.11107275065492906757.exit.t "_ZN4core6option15Option$LT$T$GT$6map_or17ha85e7c06a59b9546E.exit.i": ; preds = %.cont.i, %"_ZN4core6option15Option$LT$T$GT$6map_or17hd9641815afd9dcc7E.exit.i" %.0102.i = phi i1 [ false, %"_ZN4core6option15Option$LT$T$GT$6map_or17hd9641815afd9dcc7E.exit.i" ], [ %202, %.cont.i ] - %.not106.i148 = icmp eq i64 %.sroa.15.1163.i, 0 - br i1 %.not106.i148, label %._crit_edge, label %.lr.ph + %.not106.i154.not = icmp eq i64 %.sroa.15.1165.i, 0 + br i1 %.not106.i154.not, label %.split.loop.exit, label %"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h40fdd5783492af91E.exit.thread55.i" .cont.i: ; preds = %"_ZN4core6option15Option$LT$T$GT$6map_or17hd9641815afd9dcc7E.exit.i" %202 = invoke noundef zeroext i1 @_ZN4just4line4Line10is_comment17h890f52b9797d7c9aE(ptr noalias noundef nonnull readonly align 8 dereferenceable(24) %197) to label %"_ZN4core6option15Option$LT$T$GT$6map_or17ha85e7c06a59b9546E.exit.i" unwind label %.loopexit.split-lp85.loopexit.i, !noalias !1657 -.lr.ph: ; preds = %"_ZN4core6option15Option$LT$T$GT$6map_or17ha85e7c06a59b9546E.exit.i", %_ZN5alloc6string6String3pop17h7d0b8e12802f1bb7E.exit.i - %.sroa.29.12.i152 = phi ptr [ %.sroa.29.12.i, %_ZN5alloc6string6String3pop17h7d0b8e12802f1bb7E.exit.i ], [ %.sroa.29.2164.i, %"_ZN4core6option15Option$LT$T$GT$6map_or17ha85e7c06a59b9546E.exit.i" ] - %.sroa.15.7.i151 = phi i64 [ %297, %_ZN5alloc6string6String3pop17h7d0b8e12802f1bb7E.exit.i ], [ %.sroa.15.1163.i, %"_ZN4core6option15Option$LT$T$GT$6map_or17ha85e7c06a59b9546E.exit.i" ] - %.0100.i150 = phi i1 [ true, %_ZN5alloc6string6String3pop17h7d0b8e12802f1bb7E.exit.i ], [ false, %"_ZN4core6option15Option$LT$T$GT$6map_or17ha85e7c06a59b9546E.exit.i" ] - %.1.i149 = phi i64 [ %204, %_ZN5alloc6string6String3pop17h7d0b8e12802f1bb7E.exit.i ], [ %.0103162.i, %"_ZN4core6option15Option$LT$T$GT$6map_or17ha85e7c06a59b9546E.exit.i" ] - %203 = inttoptr i64 %.sroa.15.7.i151 to ptr - %204 = add i64 %.1.i149, 1 +"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h40fdd5783492af91E.exit.thread55.i": ; preds = %"_ZN4core6option15Option$LT$T$GT$6map_or17ha85e7c06a59b9546E.exit.i", %_ZN5alloc6string6String3pop17h7d0b8e12802f1bb7E.exit.i + %.sroa.29.12.i158 = phi ptr [ %.sroa.29.12.i, %_ZN5alloc6string6String3pop17h7d0b8e12802f1bb7E.exit.i ], [ %.sroa.29.2166.i, %"_ZN4core6option15Option$LT$T$GT$6map_or17ha85e7c06a59b9546E.exit.i" ] + %.sroa.15.7.i157 = phi i64 [ %297, %_ZN5alloc6string6String3pop17h7d0b8e12802f1bb7E.exit.i ], [ %.sroa.15.1165.i, %"_ZN4core6option15Option$LT$T$GT$6map_or17ha85e7c06a59b9546E.exit.i" ] + %.0100.i156 = phi i1 [ true, %_ZN5alloc6string6String3pop17h7d0b8e12802f1bb7E.exit.i ], [ false, %"_ZN4core6option15Option$LT$T$GT$6map_or17ha85e7c06a59b9546E.exit.i" ] + %.1.i155 = phi i64 [ %204, %_ZN5alloc6string6String3pop17h7d0b8e12802f1bb7E.exit.i ], [ %.0103164.i, %"_ZN4core6option15Option$LT$T$GT$6map_or17ha85e7c06a59b9546E.exit.i" ] + %203 = inttoptr i64 %.sroa.15.7.i157 to ptr + %204 = add i64 %.1.i155, 1 br i1 %.0102.i, label %207, label %206 205: ; preds = %319 unreachable -206: ; preds = %.lr.ph +206: ; preds = %"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h40fdd5783492af91E.exit.thread55.i" call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %67), !noalias !1656 call void @llvm.lifetime.start.p0(i64 104, ptr nonnull %66), !noalias !1656 - invoke void @_ZN4just9evaluator9Evaluator13evaluate_line17hc8a7c1efe9423ec8E(ptr noalias nocapture noundef nonnull sret({ i8, [103 x i8] }) align 8 dereferenceable(104) %66, ptr noalias noundef nonnull align 8 dereferenceable(72) %69, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) %203, i1 noundef zeroext %.0100.i150) + invoke void @_ZN4just9evaluator9Evaluator13evaluate_line17hc8a7c1efe9423ec8E(ptr noalias nocapture noundef nonnull sret({ i8, [103 x i8] }) align 8 dereferenceable(104) %66, ptr noalias noundef nonnull align 8 dereferenceable(72) %69, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) %203, i1 noundef zeroext %.0100.i156) to label %209 unwind label %.loopexit84.i, !noalias !1657 -207: ; preds = %235, %.lr.ph +207: ; preds = %235, %"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h40fdd5783492af91E.exit.thread55.i" %208 = invoke noundef zeroext i1 @_ZN4just4line4Line15is_continuation17h4fc7a4a516e59a4fE(ptr noalias noundef nonnull readonly align 8 dereferenceable(24) %203) to label %247 unwind label %.loopexit84.i, !noalias !1657 @@ -11021,7 +11021,7 @@ _ZN4just5color5Color6active17hcd18acd676d3d894E.llvm.11107275065492906757.exit.t 247: ; preds = %207 %.not118.i = xor i1 %208, true %brmerge119.i = or i1 %.0102.i, %.not118.i - br i1 %brmerge119.i, label %._crit_edge, label %248 + br i1 %brmerge119.i, label %.split.loop.exit, label %248 248: ; preds = %247 call void @llvm.experimental.noalias.scope.decl(metadata !1687) @@ -11107,22 +11107,22 @@ _ZN4just5color5Color6active17hcd18acd676d3d894E.llvm.11107275065492906757.exit.t br label %_ZN5alloc6string6String3pop17h7d0b8e12802f1bb7E.exit.i _ZN5alloc6string6String3pop17h7d0b8e12802f1bb7E.exit.i: ; preds = %.thread23.i.i, %283, %248 - %296 = icmp eq ptr %.sroa.29.12.i152, %126 + %296 = icmp eq ptr %.sroa.29.12.i158, %126 %spec.select79.idx.i = select i1 %296, i64 0, i64 24 - %spec.select80.i = select i1 %296, ptr null, ptr %.sroa.29.12.i152 + %spec.select80.i = select i1 %296, ptr null, ptr %.sroa.29.12.i158 %297 = ptrtoint ptr %spec.select80.i to i64 - %.sroa.29.12.i = getelementptr inbounds nuw i8, ptr %.sroa.29.12.i152, i64 %spec.select79.idx.i + %.sroa.29.12.i = getelementptr inbounds nuw i8, ptr %.sroa.29.12.i158, i64 %spec.select79.idx.i %.not106.i = icmp eq ptr %spec.select80.i, null - br i1 %.not106.i, label %._crit_edge, label %.lr.ph + br i1 %.not106.i, label %.split.loop.exit, label %"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h40fdd5783492af91E.exit.thread55.i" -._crit_edge: ; preds = %_ZN5alloc6string6String3pop17h7d0b8e12802f1bb7E.exit.i, %247, %"_ZN4core6option15Option$LT$T$GT$6map_or17ha85e7c06a59b9546E.exit.i" - %.sroa.15.7.i.lcssa = phi i64 [ 0, %"_ZN4core6option15Option$LT$T$GT$6map_or17ha85e7c06a59b9546E.exit.i" ], [ %.sroa.15.7.i151, %247 ], [ %297, %_ZN5alloc6string6String3pop17h7d0b8e12802f1bb7E.exit.i ] - %.sroa.29.15.i = phi ptr [ %.sroa.29.2164.i, %"_ZN4core6option15Option$LT$T$GT$6map_or17ha85e7c06a59b9546E.exit.i" ], [ %.sroa.29.12.i152, %247 ], [ %.sroa.29.12.i, %_ZN5alloc6string6String3pop17h7d0b8e12802f1bb7E.exit.i ] - %298 = phi i1 [ false, %"_ZN4core6option15Option$LT$T$GT$6map_or17ha85e7c06a59b9546E.exit.i" ], [ %brmerge119.i, %247 ], [ %brmerge119.i, %_ZN5alloc6string6String3pop17h7d0b8e12802f1bb7E.exit.i ] - %.2.i = phi i64 [ %.0103162.i, %"_ZN4core6option15Option$LT$T$GT$6map_or17ha85e7c06a59b9546E.exit.i" ], [ %204, %247 ], [ %204, %_ZN5alloc6string6String3pop17h7d0b8e12802f1bb7E.exit.i ] +.split.loop.exit: ; preds = %247, %_ZN5alloc6string6String3pop17h7d0b8e12802f1bb7E.exit.i, %"_ZN4core6option15Option$LT$T$GT$6map_or17ha85e7c06a59b9546E.exit.i" + %.sroa.15.7.i.lcssa = phi i64 [ 0, %"_ZN4core6option15Option$LT$T$GT$6map_or17ha85e7c06a59b9546E.exit.i" ], [ %.sroa.15.7.i157, %247 ], [ %297, %_ZN5alloc6string6String3pop17h7d0b8e12802f1bb7E.exit.i ] + %.sroa.29.12.i.lcssa = phi ptr [ %.sroa.29.2166.i, %"_ZN4core6option15Option$LT$T$GT$6map_or17ha85e7c06a59b9546E.exit.i" ], [ %.sroa.29.12.i158, %247 ], [ %.sroa.29.12.i, %_ZN5alloc6string6String3pop17h7d0b8e12802f1bb7E.exit.i ] + %298 = phi i1 [ false, %"_ZN4core6option15Option$LT$T$GT$6map_or17ha85e7c06a59b9546E.exit.i" ], [ %brmerge119.i, %_ZN5alloc6string6String3pop17h7d0b8e12802f1bb7E.exit.i ], [ %brmerge119.i, %247 ] + %.2.i = phi i64 [ %.0103164.i, %"_ZN4core6option15Option$LT$T$GT$6map_or17ha85e7c06a59b9546E.exit.i" ], [ %204, %_ZN5alloc6string6String3pop17h7d0b8e12802f1bb7E.exit.i ], [ %204, %247 ] br i1 %.0102.i, label %.thread62.i, label %299 -299: ; preds = %._crit_edge +299: ; preds = %.split.loop.exit %300 = load ptr, ptr %.sroa.462.0..sroa_idx.i, align 8, !noalias !1656, !nonnull !21, !noundef !21 %301 = load i64, ptr %.sroa.563.0..sroa_idx.i, align 8, !noalias !1656, !noundef !21 %302 = zext i1 %199 to i64 @@ -11146,8 +11146,8 @@ _ZN5alloc6string6String3pop17h7d0b8e12802f1bb7E.exit.i: ; preds = %.thread23.i.i %312 = sub nuw i64 %301, %304 br i1 %311, label %320, label %319 -.thread62.i: ; preds = %336, %320, %307, %._crit_edge - %.sroa.6.i.sroa.0.1.i = phi i24 [ %.sroa.6.i.sroa.0.0161.i, %._crit_edge ], [ %.sroa.6.i.sroa.0.0161.i, %320 ], [ %.sroa.6.i.sroa.0.3.i, %336 ], [ %.sroa.6.i.sroa.0.0161.i, %307 ] +.thread62.i: ; preds = %336, %320, %307, %.split.loop.exit + %.sroa.6.i.sroa.0.1.i = phi i24 [ %.sroa.6.i.sroa.0.0163.i, %.split.loop.exit ], [ %.sroa.6.i.sroa.0.0163.i, %320 ], [ %.sroa.6.i.sroa.0.3.i, %336 ], [ %.sroa.6.i.sroa.0.0163.i, %307 ] call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %57), !noalias !1698 invoke void @"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$14current_memory17hb2fe6f6f3762db27E.llvm.1798434116971987782"(ptr noalias nocapture noundef nonnull sret({ [1 x i64], i64, [1 x i64] }) align 8 dereferenceable(24) %57, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) %68) to label %.noexc148.i unwind label %.loopexit95.i, !noalias !1657 @@ -11178,7 +11178,7 @@ _ZN5alloc6string6String3pop17h7d0b8e12802f1bb7E.exit.i: ; preds = %.thread23.i.i br i1 %323, label %.thread62.i, label %324 324: ; preds = %320 - br i1 %brmerge166.i, label %325, label %326 + br i1 %brmerge168.i, label %325, label %326 325: ; preds = %335, %324 br i1 %155, label %338, label %337 @@ -11268,7 +11268,7 @@ _ZN4just5color5Color6active17hcd18acd676d3d894E.llvm.11107275065492906757.exit.t to label %"_ZN4core3ptr42drop_in_place$LT$std..process..Command$GT$17h5af37505a8b37905E.exit.i" unwind label %236, !noalias !1657 343: ; preds = %_ZN4just5color5Color6active17hcd18acd676d3d894E.llvm.11107275065492906757.exit.thread.i.i.i, %_ZN4just5color5Color6active17hcd18acd676d3d894E.llvm.11107275065492906757.exit.i.i.i, %340 - %.sroa.6.i.sroa.0.3.i = phi i24 [ %.sroa.6.i.sroa.0.0161.i, %340 ], [ %.sroa.5.sroa.3.sroa.0.0.i, %_ZN4just5color5Color6active17hcd18acd676d3d894E.llvm.11107275065492906757.exit.thread.i.i.i ], [ %.sroa.6.i.sroa.0.0161.i, %_ZN4just5color5Color6active17hcd18acd676d3d894E.llvm.11107275065492906757.exit.i.i.i ] + %.sroa.6.i.sroa.0.3.i = phi i24 [ %.sroa.6.i.sroa.0.0163.i, %340 ], [ %.sroa.5.sroa.3.sroa.0.0.i, %_ZN4just5color5Color6active17hcd18acd676d3d894E.llvm.11107275065492906757.exit.thread.i.i.i ], [ %.sroa.6.i.sroa.0.0163.i, %_ZN4just5color5Color6active17hcd18acd676d3d894E.llvm.11107275065492906757.exit.i.i.i ] %.sroa.66.0.i.i = phi i8 [ 10, %340 ], [ %.sroa.839.0.i, %_ZN4just5color5Color6active17hcd18acd676d3d894E.llvm.11107275065492906757.exit.thread.i.i.i ], [ 10, %_ZN4just5color5Color6active17hcd18acd676d3d894E.llvm.11107275065492906757.exit.i.i.i ] %.sroa.5.0.i.i = phi i8 [ 10, %340 ], [ %.sroa.5.sroa.0.0.i, %_ZN4just5color5Color6active17hcd18acd676d3d894E.llvm.11107275065492906757.exit.thread.i.i.i ], [ 10, %_ZN4just5color5Color6active17hcd18acd676d3d894E.llvm.11107275065492906757.exit.i.i.i ] %.sroa.0.0.i.i = phi i64 [ 0, %340 ], [ %.sroa.238.sroa.0.0.insert.insert.i, %_ZN4just5color5Color6active17hcd18acd676d3d894E.llvm.11107275065492906757.exit.thread.i.i.i ], [ 0, %_ZN4just5color5Color6active17hcd18acd676d3d894E.llvm.11107275065492906757.exit.i.i.i ] @@ -11324,7 +11324,7 @@ _ZN4just5color5Color6active17hcd18acd676d3d894E.llvm.11107275065492906757.exit.t br label %336 .thread69.i: ; preds = %336, %335, %"_ZN5alloc11collections5btree3map25BTreeMap$LT$K$C$V$C$A$GT$3get17ha5cdde376751ca9eE.exit.thread65.i", %331, %326 - %.sroa.6.i.sroa.0.273.i = phi i24 [ %.sroa.6.i.sroa.0.3.i, %336 ], [ %.sroa.6.i.sroa.0.0161.i, %"_ZN5alloc11collections5btree3map25BTreeMap$LT$K$C$V$C$A$GT$3get17ha5cdde376751ca9eE.exit.thread65.i" ], [ %.sroa.6.i.sroa.0.0161.i, %326 ], [ %.sroa.6.i.sroa.0.0161.i, %335 ], [ %.sroa.6.i.sroa.0.0161.i, %331 ] + %.sroa.6.i.sroa.0.273.i = phi i24 [ %.sroa.6.i.sroa.0.3.i, %336 ], [ %.sroa.6.i.sroa.0.0163.i, %"_ZN5alloc11collections5btree3map25BTreeMap$LT$K$C$V$C$A$GT$3get17ha5cdde376751ca9eE.exit.thread65.i" ], [ %.sroa.6.i.sroa.0.0163.i, %326 ], [ %.sroa.6.i.sroa.0.0163.i, %335 ], [ %.sroa.6.i.sroa.0.0163.i, %331 ] call void @llvm.lifetime.start.p0(i64 208, ptr nonnull %62), !noalias !1656 invoke void @_ZN4just8settings8Settings13shell_command17hbca3d72eb0c2394fE(ptr noalias nocapture noundef nonnull sret({ { { { i64, ptr, {} }, i64 }, { { { i64, ptr, {} }, i64 } }, { { i64, ptr, {} }, i64 }, { i32, [1 x i32] }, { i32, [1 x i32] }, { i32, [1 x i32] }, { i32, [1 x i32] }, { i32, [1 x i32] }, { i32, [1 x i32] }, { { { ptr, [1 x i64] }, i64, { {} }, {} }, i8, i8, [6 x i8] }, { { { { { ptr, i64 } }, {} }, {} } }, { ptr, [1 x i64] }, { ptr, [1 x i64] }, i8, i8, i8, [5 x i8] } }) align 8 dereferenceable(208) %62, ptr noalias noundef nonnull readonly align 8 dereferenceable(224) %111, ptr noalias noundef nonnull readonly align 8 dereferenceable(336) %76) to label %354 unwind label %.loopexit.split-lp85.loopexit.i, !noalias !1657 @@ -11554,13 +11554,13 @@ _ZN3std7process7Command6stderr17h893e7beddcce65beE.exit.i: ; preds = %380 "_ZN4core6option15Option$LT$T$GT$18get_or_insert_with17hf929b0f86a055458E.exit.backedge.i": ; preds = %429, %407 %.sroa.6.i.sroa.0.0.be.i = phi i24 [ %.sroa.6.i.sroa.0.1.i, %429 ], [ %.sroa.6.i.sroa.0.273.i, %407 ] call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %68), !noalias !1656 - %408 = icmp eq ptr %.sroa.29.15.i, %126 + %408 = icmp eq ptr %.sroa.29.12.i.lcssa, %126 %spec.select.idx.i = select i1 %408, i64 0, i64 24 - %spec.select78.i = select i1 %408, ptr null, ptr %.sroa.29.15.i + %spec.select78.i = select i1 %408, ptr null, ptr %.sroa.29.12.i.lcssa %409 = ptrtoint ptr %spec.select78.i to i64 %.sroa.15.1.i = select i1 %298, i64 %409, i64 %.sroa.15.7.i.lcssa %.sroa.29.2.idx.i = select i1 %298, i64 %spec.select.idx.i, i64 0 - %.sroa.29.2.i = getelementptr inbounds nuw i8, ptr %.sroa.29.15.i, i64 %.sroa.29.2.idx.i + %.sroa.29.2.i = getelementptr inbounds nuw i8, ptr %.sroa.29.12.i.lcssa, i64 %.sroa.29.2.idx.i %.not.i = icmp eq i64 %.sroa.15.1.i, 0 br i1 %.not.i, label %"_ZN4core6option15Option$LT$T$GT$18get_or_insert_with17hf929b0f86a055458E.exit._crit_edge.i", label %.cont23.i @@ -11717,17 +11717,17 @@ _ZN4just6recipe17error_from_signal17h7f5b2bc095ba6b37E.exit.i: ; preds = %410 %.not114.i = icmp eq i8 %440, 0 %.phi.trans.insert.i = getelementptr inbounds nuw i8, ptr %76, i64 319 %.pre.i = load i8, ptr %.phi.trans.insert.i, align 1, !range !1017, !alias.scope !1796, !noalias !1804 - %.pre215 = trunc nuw i8 %.pre.i to i1 + %.pre228 = trunc nuw i8 %.pre.i to i1 br i1 %.not114.i, label %._crit_edge.i..loopexit124.i_crit_edge, label %441 ._crit_edge.i..loopexit124.i_crit_edge: ; preds = %._crit_edge.i - br i1 %.pre215, label %455, label %.loopexit124.i.thread + br i1 %.pre228, label %455, label %.loopexit124.i.thread .loopexit124.i: ; preds = %871, %446 - br i1 %.pre215, label %455, label %.loopexit124.i.thread + br i1 %.pre228, label %455, label %.loopexit124.i.thread 441: ; preds = %._crit_edge.i - br i1 %.pre215, label %446, label %442 + br i1 %.pre228, label %446, label %442 442: ; preds = %441 %443 = getelementptr inbounds nuw i8, ptr %1, i64 269 @@ -11890,8 +11890,8 @@ _ZN4just6recipe17error_from_signal17h7f5b2bc095ba6b37E.exit.i: ; preds = %410 %507 = getelementptr inbounds nuw i8, ptr %1, i64 184 %508 = load i64, ptr %507, align 8, !alias.scope !1844, !noalias !1845, !noundef !21 %509 = add i64 %508, %506 - %.not.i.i.i.i.i59 = icmp ugt i64 %506, %509 - br i1 %.not.i.i.i.i.i59, label %527, label %512 + %.not.i.i.i.i.i58 = icmp ugt i64 %506, %509 + br i1 %.not.i.i.i.i.i58, label %527, label %512 510: ; preds = %527 %511 = landingpad { ptr, i32 } @@ -12021,44 +12021,44 @@ _ZN3std4path4Path4join17hce8bfe6a33f98d11E.exit.i: ; preds = %485 554: ; preds = %552 %.not.i.i.i.i36 = icmp ult i64 %548, %546 - br i1 %.not.i.i.i.i36, label %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.llvm.3204583114324502961.exit.i.i.i58", label %555 + br i1 %.not.i.i.i.i36, label %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.llvm.3204583114324502961.exit.i.i.i57", label %555 555: ; preds = %554 %556 = icmp eq i64 %548, %546 br i1 %556, label %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.llvm.3204583114324502961.exit.thread.i.i.i37", label %567 -"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.llvm.3204583114324502961.exit.i.i.i58": ; preds = %554 +"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.llvm.3204583114324502961.exit.i.i.i57": ; preds = %554 %557 = getelementptr inbounds i8, ptr %544, i64 %548 %558 = load i8, ptr %557, align 1, !alias.scope !1860, !noalias !1865, !noundef !21 %559 = icmp sgt i8 %558, -65 br i1 %559, label %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.llvm.3204583114324502961.exit.thread.i.i.i37", label %567 -"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.llvm.3204583114324502961.exit.thread.i.i.i37": ; preds = %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.llvm.3204583114324502961.exit.i.i.i58", %555, %552 +"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.llvm.3204583114324502961.exit.thread.i.i.i37": ; preds = %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.llvm.3204583114324502961.exit.i.i.i57", %555, %552 %560 = icmp eq i64 %551, 0 br i1 %560, label %568, label %561 561: ; preds = %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.llvm.3204583114324502961.exit.thread.i.i.i37" %.not.i5.i.i.i38 = icmp ult i64 %551, %546 - br i1 %.not.i5.i.i.i38, label %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.llvm.3204583114324502961.exit7.i.i.i57", label %562 + br i1 %.not.i5.i.i.i38, label %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.llvm.3204583114324502961.exit7.i.i.i56", label %562 562: ; preds = %561 %563 = icmp eq i64 %551, %546 br i1 %563, label %568, label %567 -"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.llvm.3204583114324502961.exit7.i.i.i57": ; preds = %561 +"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.llvm.3204583114324502961.exit7.i.i.i56": ; preds = %561 %564 = getelementptr inbounds i8, ptr %544, i64 %551 %565 = load i8, ptr %564, align 1, !alias.scope !1866, !noalias !1865, !noundef !21 %566 = icmp sgt i8 %565, -65 br i1 %566, label %568, label %567 -567: ; preds = %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.llvm.3204583114324502961.exit7.i.i.i57", %562, %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.llvm.3204583114324502961.exit.i.i.i58", %555, %541 +567: ; preds = %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.llvm.3204583114324502961.exit7.i.i.i56", %562, %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.llvm.3204583114324502961.exit.i.i.i57", %555, %541 invoke void @_ZN4core3str16slice_error_fail17he2ff12236fb0c056E(ptr noalias noundef nonnull readonly align 1 %544, i64 noundef %546, i64 noundef %548, i64 noundef %551, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.7c6f7af04c557118a051d24cf1a7517f.200.llvm.3204583114324502961) #37 to label %.noexc330.i unwind label %539, !noalias !1803 .noexc330.i: ; preds = %567 unreachable -568: ; preds = %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.llvm.3204583114324502961.exit7.i.i.i57", %562, %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.llvm.3204583114324502961.exit.thread.i.i.i37" +568: ; preds = %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.llvm.3204583114324502961.exit7.i.i.i56", %562, %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.llvm.3204583114324502961.exit.thread.i.i.i37" %569 = getelementptr inbounds i8, ptr %544, i64 %548 invoke void @_ZN4just7shebang7Shebang15script_filename17hf673ac239ff6aee3E(ptr noalias nocapture noundef nonnull sret({ { { i64, ptr, {} }, i64 } }) align 8 dereferenceable(24) %36, ptr noalias noundef nonnull readonly align 8 dereferenceable(32) %43, ptr noalias noundef nonnull readonly align 1 %569, i64 noundef %550) to label %570 unwind label %539, !noalias !1803 @@ -12206,9 +12206,9 @@ _ZN3std4path4Path4join17hce8bfe6a33f98d11E.exit.i: ; preds = %485 %.sroa.5225.0..sroa_idx.i = getelementptr inbounds nuw i8, ptr %33, i64 16 store i64 0, ptr %.sroa.5225.0..sroa_idx.i, align 8, !noalias !1798 %617 = invoke { ptr, i64 } @_ZN4just7shebang7Shebang20interpreter_filename17h72de050f8d85fc4dE.llvm.16801050463324468979(ptr noalias noundef nonnull readonly align 8 dereferenceable(32) %43) - to label %.noexc75 unwind label %.loopexit.split-lp117.loopexit.split-lp.i + to label %.noexc74 unwind label %.loopexit.split-lp117.loopexit.split-lp.i -.noexc75: ; preds = %614 +.noexc74: ; preds = %614 %618 = extractvalue { ptr, i64 } %617, 0 %619 = extractvalue { ptr, i64 } %617, 1 %620 = icmp ne ptr %618, null @@ -12218,7 +12218,7 @@ _ZN3std4path4Path4join17hce8bfe6a33f98d11E.exit.i: ; preds = %485 i64 7, label %621 ] -621: ; preds = %.noexc75 +621: ; preds = %.noexc74 %bcmp.i9.i = call i32 @bcmp(ptr noundef nonnull readonly align 1 dereferenceable(7) %618, ptr noundef nonnull dereferenceable(7) @anon.caf4ea2b214629a3b5d633b8bc0e9fab.122.llvm.16801050463324468979, i64 7), !alias.scope !1921, !noalias !1803 %.not = icmp eq i32 %bcmp.i9.i, 0 br i1 %.not, label %.invoke.i, label %_ZN4just7shebang7Shebang20include_shebang_line17h5741591877a7835eE.exit.thread @@ -12255,18 +12255,18 @@ _ZN3std4path4Path4join17hce8bfe6a33f98d11E.exit.i: ; preds = %485 cleanup br label %.loopexit.split-lp117.i -_ZN4just7shebang7Shebang20include_shebang_line17h5741591877a7835eE.exit: ; preds = %.noexc75 +_ZN4just7shebang7Shebang20include_shebang_line17h5741591877a7835eE.exit: ; preds = %.noexc74 %bcmp.i.i = call i32 @bcmp(ptr noundef nonnull readonly align 1 dereferenceable(3) %618, ptr noundef nonnull dereferenceable(3) @anon.caf4ea2b214629a3b5d633b8bc0e9fab.121.llvm.16801050463324468979, i64 3), !alias.scope !1925, !noalias !1803 - %.not96 = icmp eq i32 %bcmp.i.i, 0 - br i1 %.not96, label %.invoke.i, label %_ZN4just7shebang7Shebang20include_shebang_line17h5741591877a7835eE.exit.thread + %.not95 = icmp eq i32 %bcmp.i.i, 0 + br i1 %.not95, label %.invoke.i, label %_ZN4just7shebang7Shebang20include_shebang_line17h5741591877a7835eE.exit.thread -_ZN4just7shebang7Shebang20include_shebang_line17h5741591877a7835eE.exit.thread: ; preds = %.noexc75, %621, %_ZN4just7shebang7Shebang20include_shebang_line17h5741591877a7835eE.exit +_ZN4just7shebang7Shebang20include_shebang_line17h5741591877a7835eE.exit.thread: ; preds = %.noexc74, %621, %_ZN4just7shebang7Shebang20include_shebang_line17h5741591877a7835eE.exit %623 = load i64, ptr %432, align 8, !noalias !1798, !noundef !21 %.not304.i = icmp eq i64 %623, 0 br i1 %.not304.i, label %646, label %633, !prof !1929 -624: ; preds = %.noexc71, %.invoke.i - %625 = phi i64 [ %641, %.invoke.i ], [ %.pre.i.i70, %.noexc71 ] +624: ; preds = %.noexc70, %.invoke.i + %625 = phi i64 [ %641, %.invoke.i ], [ %.pre.i.i69, %.noexc70 ] %626 = load ptr, ptr %.sroa.4224.0..sroa_idx.i, align 8, !alias.scope !1930, !noalias !1935, !nonnull !21, !noundef !21 %627 = getelementptr inbounds i8, ptr %626, i64 %625 call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 1 %627, ptr nonnull readonly align 1 %639, i64 %640, i1 false), !noalias !1803 @@ -12279,10 +12279,10 @@ _ZN4just7shebang7Shebang20include_shebang_line17h5741591877a7835eE.exit.thread: 632: ; preds = %624 invoke void @"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$7reserve21do_reserve_and_handle17h1c5047de917c247fE"(ptr noalias noundef nonnull align 8 dereferenceable(24) %33, i64 noundef %629, i64 noundef 1) - to label %.noexc73 unwind label %.loopexit.split-lp117.loopexit.split-lp.i + to label %.noexc72 unwind label %.loopexit.split-lp117.loopexit.split-lp.i -.noexc73: ; preds = %632 - %.pre.i.i72 = load i64, ptr %.sroa.5225.0..sroa_idx.i, align 8, !alias.scope !1946, !noalias !1944 +.noexc72: ; preds = %632 + %.pre.i.i71 = load i64, ptr %.sroa.5225.0..sroa_idx.i, align 8, !alias.scope !1946, !noalias !1944 br label %648 633: ; preds = %_ZN4just7shebang7Shebang20include_shebang_line17h5741591877a7835eE.exit.thread @@ -12304,10 +12304,10 @@ _ZN4just7shebang7Shebang20include_shebang_line17h5741591877a7835eE.exit.thread: 645: ; preds = %.invoke.i invoke void @"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$7reserve21do_reserve_and_handle17h1c5047de917c247fE"(ptr noalias noundef nonnull align 8 dereferenceable(24) %33, i64 noundef %641, i64 noundef %640) - to label %.noexc71 unwind label %.loopexit.split-lp117.loopexit.split-lp.i + to label %.noexc70 unwind label %.loopexit.split-lp117.loopexit.split-lp.i -.noexc71: ; preds = %645 - %.pre.i.i70 = load i64, ptr %.sroa.5225.0..sroa_idx.i, align 8, !alias.scope !1930, !noalias !1935 +.noexc70: ; preds = %645 + %.pre.i.i69 = load i64, ptr %.sroa.5225.0..sroa_idx.i, align 8, !alias.scope !1930, !noalias !1935 br label %624 646: ; preds = %_ZN4just7shebang7Shebang20include_shebang_line17h5741591877a7835eE.exit.thread @@ -12317,8 +12317,8 @@ _ZN4just7shebang7Shebang20include_shebang_line17h5741591877a7835eE.exit.thread: 647: ; preds = %675, %646 unreachable -648: ; preds = %.noexc73, %624 - %649 = phi i64 [ %629, %624 ], [ %.pre.i.i72, %.noexc73 ] +648: ; preds = %.noexc72, %624 + %649 = phi i64 [ %629, %624 ], [ %.pre.i.i71, %.noexc72 ] %650 = load ptr, ptr %.sroa.4224.0..sroa_idx.i, align 8, !alias.scope !1946, !noalias !1944, !nonnull !21, !noundef !21 %651 = getelementptr inbounds i8, ptr %650, i64 %649 store i8 10, ptr %651, align 1, !noalias !1803 @@ -12353,11 +12353,11 @@ _ZN4just7shebang7Shebang20include_shebang_line17h5741591877a7835eE.exit.thread: to label %.noexc350.i unwind label %.loopexit.split-lp117.loopexit.i, !noalias !1803 .noexc350.i: ; preds = %664 - %.pre.i.i.i56 = load i64, ptr %.sroa.5225.0..sroa_idx.i, align 8, !alias.scope !1959, !noalias !1957 + %.pre.i.i.i55 = load i64, ptr %.sroa.5225.0..sroa_idx.i, align 8, !alias.scope !1959, !noalias !1957 br label %"_ZN5alloc3vec16Vec$LT$T$C$A$GT$17extend_from_slice17hcc909c8b8797f9bbE.exit.i" "_ZN5alloc3vec16Vec$LT$T$C$A$GT$17extend_from_slice17hcc909c8b8797f9bbE.exit.i": ; preds = %.noexc350.i, %.lr.ph140.i - %665 = phi i64 [ %660, %.lr.ph140.i ], [ %.pre.i.i.i56, %.noexc350.i ] + %665 = phi i64 [ %660, %.lr.ph140.i ], [ %.pre.i.i.i55, %.noexc350.i ] %666 = load ptr, ptr %.sroa.4224.0..sroa_idx.i, align 8, !alias.scope !1959, !noalias !1957, !nonnull !21, !noundef !21 %667 = getelementptr inbounds i8, ptr %666, i64 %665 store i8 10, ptr %667, align 1, !noalias !1803 @@ -12411,7 +12411,7 @@ _ZN4just7shebang7Shebang20include_shebang_line17h5741591877a7835eE.exit.thread: br i1 %switch.i.i40, label %690, label %686 686: ; preds = %705, %._crit_edge147.i - %687 = phi i64 [ %.pre214, %705 ], [ %685, %._crit_edge147.i ] + %687 = phi i64 [ %.pre227, %705 ], [ %685, %._crit_edge147.i ] %688 = load ptr, ptr %.sroa.4224.0..sroa_idx.i, align 8, !noalias !1798, !nonnull !21, !noundef !21 %689 = invoke noundef ptr @_ZN3std2io5Write9write_all17h9d00364627b47c17E(ptr noalias noundef nonnull align 4 dereferenceable(4) %35, ptr noalias noundef nonnull readonly align 1 %688, i64 noundef %687) to label %706 unwind label %.loopexit.split-lp117.loopexit.split-lp.i, !noalias !1803 @@ -12428,19 +12428,19 @@ _ZN4just7shebang7Shebang20include_shebang_line17h5741591877a7835eE.exit.thread: 692: ; preds = %690 %693 = load ptr, ptr %.sroa.4224.0..sroa_idx.i, align 8, !noalias !1798, !nonnull !21, !noundef !21 %694 = load i64, ptr %.sroa.5225.0..sroa_idx.i, align 8, !noalias !1798, !noundef !21 - switch i8 %.sroa.431.0.copyload.i, label %default.unreachable.i.i55 [ - i8 0, label %_ZN4just5color5Color6active17hcd18acd676d3d894E.llvm.11107275065492906757.exit.i.i.i54 - i8 1, label %_ZN4just5color5Color6active17hcd18acd676d3d894E.llvm.11107275065492906757.exit.thread.i.i.i53 + switch i8 %.sroa.431.0.copyload.i, label %default.unreachable.i.i54 [ + i8 0, label %_ZN4just5color5Color6active17hcd18acd676d3d894E.llvm.11107275065492906757.exit.i.i.i53 + i8 1, label %_ZN4just5color5Color6active17hcd18acd676d3d894E.llvm.11107275065492906757.exit.thread.i.i.i52 i8 2, label %697 ] -default.unreachable.i.i55: ; preds = %692 +default.unreachable.i.i54: ; preds = %692 unreachable -_ZN4just5color5Color6active17hcd18acd676d3d894E.llvm.11107275065492906757.exit.i.i.i54: ; preds = %692 - br i1 %691, label %_ZN4just5color5Color6active17hcd18acd676d3d894E.llvm.11107275065492906757.exit.thread.i.i.i53, label %697 +_ZN4just5color5Color6active17hcd18acd676d3d894E.llvm.11107275065492906757.exit.i.i.i53: ; preds = %692 + br i1 %691, label %_ZN4just5color5Color6active17hcd18acd676d3d894E.llvm.11107275065492906757.exit.thread.i.i.i52, label %697 -_ZN4just5color5Color6active17hcd18acd676d3d894E.llvm.11107275065492906757.exit.thread.i.i.i53: ; preds = %_ZN4just5color5Color6active17hcd18acd676d3d894E.llvm.11107275065492906757.exit.i.i.i54, %692 +_ZN4just5color5Color6active17hcd18acd676d3d894E.llvm.11107275065492906757.exit.thread.i.i.i52: ; preds = %_ZN4just5color5Color6active17hcd18acd676d3d894E.llvm.11107275065492906757.exit.i.i.i53, %692 br label %697 695: ; preds = %697 @@ -12449,14 +12449,14 @@ _ZN4just5color5Color6active17hcd18acd676d3d894E.llvm.11107275065492906757.exit.t invoke void @"_ZN4core3ptr69drop_in_place$LT$ansi_term..display..ANSIGenericString$LT$str$GT$$GT$17h0a82c94ea620b5dbE"(ptr noalias noundef nonnull align 8 dereferenceable(40) %30) #39 to label %.loopexit.split-lp117.i unwind label %832, !noalias !1803 -697: ; preds = %_ZN4just5color5Color6active17hcd18acd676d3d894E.llvm.11107275065492906757.exit.thread.i.i.i53, %_ZN4just5color5Color6active17hcd18acd676d3d894E.llvm.11107275065492906757.exit.i.i.i54, %692 - %.sroa.5.0.i.i50 = phi i8 [ 4, %_ZN4just5color5Color6active17hcd18acd676d3d894E.llvm.11107275065492906757.exit.thread.i.i.i53 ], [ 10, %_ZN4just5color5Color6active17hcd18acd676d3d894E.llvm.11107275065492906757.exit.i.i.i54 ], [ 10, %692 ] +697: ; preds = %_ZN4just5color5Color6active17hcd18acd676d3d894E.llvm.11107275065492906757.exit.thread.i.i.i52, %_ZN4just5color5Color6active17hcd18acd676d3d894E.llvm.11107275065492906757.exit.i.i.i53, %692 + %.sroa.5.0.i.i49 = phi i8 [ 4, %_ZN4just5color5Color6active17hcd18acd676d3d894E.llvm.11107275065492906757.exit.thread.i.i.i52 ], [ 10, %_ZN4just5color5Color6active17hcd18acd676d3d894E.llvm.11107275065492906757.exit.i.i.i53 ], [ 10, %692 ] %698 = getelementptr inbounds nuw i8, ptr %30, i64 24 store i64 0, ptr %698, align 8, !alias.scope !1970, !noalias !1973 - %.sroa.5.0..sroa_idx2.i.i51 = getelementptr inbounds nuw i8, ptr %30, i64 32 - store i8 %.sroa.5.0.i.i50, ptr %.sroa.5.0..sroa_idx2.i.i51, align 8, !alias.scope !1970, !noalias !1973 - %.sroa.66.0..sroa_idx.i.i52 = getelementptr inbounds nuw i8, ptr %30, i64 36 - store i8 10, ptr %.sroa.66.0..sroa_idx.i.i52, align 4, !alias.scope !1970, !noalias !1973 + %.sroa.5.0..sroa_idx2.i.i50 = getelementptr inbounds nuw i8, ptr %30, i64 32 + store i8 %.sroa.5.0.i.i49, ptr %.sroa.5.0..sroa_idx2.i.i50, align 8, !alias.scope !1970, !noalias !1973 + %.sroa.66.0..sroa_idx.i.i51 = getelementptr inbounds nuw i8, ptr %30, i64 36 + store i8 10, ptr %.sroa.66.0..sroa_idx.i.i51, align 4, !alias.scope !1970, !noalias !1973 store i64 -9223372036854775808, ptr %30, align 8, !alias.scope !1970, !noalias !1973 %.sroa.4.0..sroa_idx.i358.i = getelementptr inbounds nuw i8, ptr %30, i64 8 store ptr %693, ptr %.sroa.4.0..sroa_idx.i358.i, align 8, !alias.scope !1970, !noalias !1973 @@ -12485,7 +12485,7 @@ _ZN4just5color5Color6active17hcd18acd676d3d894E.llvm.11107275065492906757.exit.t 705: ; preds = %704 call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %30), !noalias !1798 call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %31), !noalias !1798 - %.pre214 = load i64, ptr %.sroa.5225.0..sroa_idx.i, align 8, !noalias !1798 + %.pre227 = load i64, ptr %.sroa.5225.0..sroa_idx.i, align 8, !noalias !1798 br label %686 706: ; preds = %686 @@ -12504,8 +12504,8 @@ _ZN4just5color5Color6active17hcd18acd676d3d894E.llvm.11107275065492906757.exit.t br i1 %553, label %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.llvm.3204583114324502961.exit.thread.i.i.i.i", label %711 711: ; preds = %710 - %.not.i.i.i.i.i66 = icmp ult i64 %548, %546 - br i1 %.not.i.i.i.i.i66, label %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.llvm.3204583114324502961.exit.i.i.i.i", label %712 + %.not.i.i.i.i.i65 = icmp ult i64 %548, %546 + br i1 %.not.i.i.i.i.i65, label %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.llvm.3204583114324502961.exit.i.i.i.i", label %712 712: ; preds = %711 %713 = icmp eq i64 %548, %546 @@ -12668,24 +12668,24 @@ _ZN3std7process7Command4args17h64a2f3b1ebff5f30E.exit.i: ; preds = %.noexc363.i, 761: ; preds = %756 %762 = getelementptr inbounds { { { i64, ptr, {} }, i64 } }, ptr %6, i64 %7 %763 = icmp eq i64 %7, 0 - br i1 %763, label %_ZN3std7process7Command4args17h64a2f3b1ebff5f30E.exit.i, label %.lr.ph.i.i46 + br i1 %763, label %_ZN3std7process7Command4args17h64a2f3b1ebff5f30E.exit.i, label %.lr.ph.i.i45 -.lr.ph.i.i46: ; preds = %761, %.noexc363.i - %.sroa.0.05.i.i47 = phi ptr [ %768, %.noexc363.i ], [ %6, %761 ] - %764 = getelementptr inbounds nuw i8, ptr %.sroa.0.05.i.i47, i64 8 +.lr.ph.i.i45: ; preds = %761, %.noexc363.i + %.sroa.0.05.i.i46 = phi ptr [ %768, %.noexc363.i ], [ %6, %761 ] + %764 = getelementptr inbounds nuw i8, ptr %.sroa.0.05.i.i46, i64 8 %765 = load ptr, ptr %764, align 8, !alias.scope !2024, !noalias !2029, !nonnull !21, !noundef !21 - %766 = getelementptr inbounds nuw i8, ptr %.sroa.0.05.i.i47, i64 16 + %766 = getelementptr inbounds nuw i8, ptr %.sroa.0.05.i.i46, i64 16 %767 = load i64, ptr %766, align 8, !alias.scope !2024, !noalias !2029, !noundef !21 invoke void @_ZN3std3sys3pal4unix7process14process_common7Command3arg17hef9bd4ce9d387290E(ptr noalias noundef nonnull align 8 dereferenceable(208) %28, ptr noalias noundef nonnull readonly align 1 %765, i64 noundef %767) - to label %.noexc363.i unwind label %.loopexit.i48, !noalias !1803 + to label %.noexc363.i unwind label %.loopexit.i47, !noalias !1803 -.noexc363.i: ; preds = %.lr.ph.i.i46 - %768 = getelementptr inbounds nuw i8, ptr %.sroa.0.05.i.i47, i64 24 +.noexc363.i: ; preds = %.lr.ph.i.i45 + %768 = getelementptr inbounds nuw i8, ptr %.sroa.0.05.i.i46, i64 24 %769 = icmp eq ptr %768, %762 - br i1 %769, label %_ZN3std7process7Command4args17h64a2f3b1ebff5f30E.exit.i, label %.lr.ph.i.i46 + br i1 %769, label %_ZN3std7process7Command4args17h64a2f3b1ebff5f30E.exit.i, label %.lr.ph.i.i45 -.loopexit.i48: ; preds = %.lr.ph.i.i46 - %lpad.loopexit.i49 = landingpad { ptr, i32 } +.loopexit.i47: ; preds = %.lr.ph.i.i45 + %lpad.loopexit.i48 = landingpad { ptr, i32 } cleanup br label %770 @@ -12694,8 +12694,8 @@ _ZN3std7process7Command4args17h64a2f3b1ebff5f30E.exit.i: ; preds = %.noexc363.i, cleanup br label %770 -770: ; preds = %.loopexit.split-lp.i42, %.loopexit.i48 - %lpad.phi.i = phi { ptr, i32 } [ %lpad.loopexit.i49, %.loopexit.i48 ], [ %lpad.loopexit.split-lp.i43, %.loopexit.split-lp.i42 ] +770: ; preds = %.loopexit.split-lp.i42, %.loopexit.i47 + %lpad.phi.i = phi { ptr, i32 } [ %lpad.loopexit.i48, %.loopexit.i47 ], [ %lpad.loopexit.split-lp.i43, %.loopexit.split-lp.i42 ] invoke void @"_ZN4core3ptr74drop_in_place$LT$std..sys..pal..unix..process..process_common..Command$GT$17hf31603cdf925ca82E.llvm.1798434116971987782"(ptr noalias noundef nonnull align 8 dereferenceable(208) %28) to label %.body333.i unwind label %832, !noalias !1803 @@ -12706,8 +12706,8 @@ _ZN3std7process7Command4args17h64a2f3b1ebff5f30E.exit.i: ; preds = %.noexc363.i, 772: ; preds = %771 %773 = load i32, ptr %24, align 8, !range !962, !noalias !1798, !noundef !21 - %trunc.i44 = trunc nuw i32 %773 to i1 - br i1 %trunc.i44, label %788, label %774 + %trunc.i = trunc nuw i32 %773 to i1 + br i1 %trunc.i, label %788, label %774 774: ; preds = %772 %775 = getelementptr inbounds nuw i8, ptr %24, i64 4 @@ -12721,7 +12721,7 @@ _ZN3std7process7Command4args17h64a2f3b1ebff5f30E.exit.i: ; preds = %.noexc363.i, to label %784 unwind label %782, !noalias !1796 781: ; preds = %785, %782 - %.pn.pn.i = phi { ptr, i32 } [ %.pn.i45, %785 ], [ %783, %782 ] + %.pn.pn.i = phi { ptr, i32 } [ %.pn.i44, %785 ], [ %783, %782 ] invoke void @"_ZN4core3ptr74drop_in_place$LT$std..sys..pal..unix..process..process_common..Command$GT$17hf31603cdf925ca82E.llvm.1798434116971987782"(ptr noalias noundef nonnull align 8 dereferenceable(208) %28) to label %"_ZN4core3ptr42drop_in_place$LT$std..process..Command$GT$17h5af37505a8b37905E.exit366.i" unwind label %832, !noalias !1803 @@ -12735,7 +12735,7 @@ _ZN3std7process7Command4args17h64a2f3b1ebff5f30E.exit.i: ; preds = %.noexc363.i, to label %"_ZN4core3ptr42drop_in_place$LT$std..process..Command$GT$17h5af37505a8b37905E.exit368.i" unwind label %818, !noalias !1803 785: ; preds = %812, %786 - %.pn.i45 = phi { ptr, i32 } [ %813, %812 ], [ %787, %786 ] + %.pn.i44 = phi { ptr, i32 } [ %813, %812 ], [ %787, %786 ] invoke void @"_ZN4core3ptr42drop_in_place$LT$std..io..error..Error$GT$17h5addfd6be467c651E"(ptr noalias noundef nonnull align 8 dereferenceable(8) %23) #39 to label %781 unwind label %832, !noalias !1803 @@ -13094,18 +13094,18 @@ _ZN3std7process7Command4args17h64a2f3b1ebff5f30E.exit.i: ; preds = %.noexc363.i, call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %12), !noalias !2079 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %12, ptr noundef nonnull align 8 dereferenceable(24) %.sroa.4.0..sroa_idx.i, i64 24, i1 false), !noalias !2090 invoke void @"_ZN119_$LT$alloc..collections..btree..map..BTreeMap$LT$K$C$V$C$A$GT$$u20$as$u20$core..iter..traits..collect..IntoIterator$GT$9into_iter17ha210ce3422d4db24E.llvm.1798434116971987782"(ptr noalias nocapture noundef nonnull sret({ { { i64, [3 x i64] }, { i64, [3 x i64] } }, i64, {} }) align 8 dereferenceable(72) %13, ptr noalias nocapture noundef nonnull align 8 dereferenceable(24) %12) - to label %.noexc61 unwind label %79 + to label %.noexc60 unwind label %79 -.noexc61: ; preds = %894 +.noexc60: ; preds = %894 call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %12), !noalias !2079 invoke void @"_ZN99_$LT$alloc..collections..btree..map..IntoIter$LT$K$C$V$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h32e4da1222838f14E.llvm.1798434116971987782"(ptr noalias noundef nonnull align 8 dereferenceable(72) %13) - to label %.noexc62 unwind label %79 + to label %.noexc61 unwind label %79 -.noexc62: ; preds = %.noexc61 +.noexc61: ; preds = %.noexc60 call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %13), !noalias !2079 br label %"_ZN4just6recipe15Recipe$LT$D$GT$11run_shebang17h9db2b2f740955e86E.exit" -"_ZN4just6recipe15Recipe$LT$D$GT$11run_shebang17h9db2b2f740955e86E.exit": ; preds = %831, %.noexc62 +"_ZN4just6recipe15Recipe$LT$D$GT$11run_shebang17h9db2b2f740955e86E.exit": ; preds = %831, %.noexc61 call void @llvm.lifetime.end.p0(i64 103, ptr nonnull %.sroa.2280.i) call void @llvm.lifetime.end.p0(i64 7, ptr nonnull %.sroa.2266.i.sroa.0) call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %.sroa.2266.i.sroa.7) diff --git a/bench/just-rs/optimized/3022oi333lxf39jd.ll b/bench/just-rs/optimized/3022oi333lxf39jd.ll index 50970afb956..321e41bc13b 100644 --- a/bench/just-rs/optimized/3022oi333lxf39jd.ll +++ b/bench/just-rs/optimized/3022oi333lxf39jd.ll @@ -1303,15 +1303,13 @@ define hidden void @"_ZN111_$LT$alloc..vec..Vec$LT$T$GT$$u20$as$u20$alloc..vec.. to label %27 unwind label %20 27: ; preds = %22 - %trunc.i.i.i.i.i = trunc nuw i64 %.sroa.6.0.copyload5.i.i.i.i to i1 - %.2.i.i.i.i.i = select i1 %trunc.i.i.i.i.i, i64 %.sroa.8.0.copyload7.i.i.i.i, i64 undef %28 = extractvalue { i64, ptr } %26, 0 %29 = extractvalue { i64, ptr } %26, 1 %30 = icmp ne ptr %29, null tail call void @llvm.assume(i1 %30) store ptr %25, ptr %29, align 8 %31 = getelementptr inbounds nuw i8, ptr %29, i64 8 - store i64 %.2.i.i.i.i.i, ptr %31, align 8 + store i64 %.sroa.8.0.copyload7.i.i.i.i, ptr %31, align 8 store i64 %28, ptr %4, align 8 %.sroa.4.0..sroa_idx = getelementptr inbounds nuw i8, ptr %4, i64 8 store ptr %29, ptr %.sroa.4.0..sroa_idx, align 8 @@ -1367,10 +1365,8 @@ define hidden void @"_ZN111_$LT$alloc..vec..Vec$LT$T$GT$$u20$as$u20$alloc..vec.. br label %43 46: ; preds = %"_ZN109_$LT$std..collections..hash..map..IntoIter$LT$K$C$V$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h363ced04da24fd27E.exit.i.i.i.i.i.i" - %trunc.i.i.i.i.i.i.i = trunc nuw i64 %.sroa.6.0.copyload5.i.i.i.i.i.i to i1 %.sroa.8.0..sroa_idx6.i.i.i.i.i.i = getelementptr inbounds i8, ptr %39, i64 -8 %.sroa.8.0.copyload7.i.i.i.i.i.i = load i64, ptr %.sroa.8.0..sroa_idx6.i.i.i.i.i.i, align 8 - %.2.i.i.i.i.i.i.i = select i1 %trunc.i.i.i.i.i.i.i, i64 %.sroa.8.0.copyload7.i.i.i.i.i.i, i64 undef call void @llvm.experimental.noalias.scope.decl(metadata !266) call void @llvm.experimental.noalias.scope.decl(metadata !269) %47 = load ptr, ptr %34, align 8, !alias.scope !272, !noalias !273, !nonnull !16, !align !126, !noundef !16 @@ -1385,7 +1381,7 @@ define hidden void @"_ZN111_$LT$alloc..vec..Vec$LT$T$GT$$u20$as$u20$alloc..vec.. %53 = getelementptr inbounds { ptr, i64 }, ptr %52, i64 %49 store ptr %48, ptr %53, align 8 %54 = getelementptr inbounds nuw i8, ptr %53, i64 8 - store i64 %.2.i.i.i.i.i.i.i, ptr %54, align 8 + store i64 %.sroa.8.0.copyload7.i.i.i.i.i.i, ptr %54, align 8 %55 = add i64 %49, 1 store i64 %55, ptr %.sroa.63.0..sroa_idx, align 8, !alias.scope !273, !noalias !275 br label %35 @@ -4479,8 +4475,6 @@ define hidden void @"_ZN111_$LT$alloc..vec..Vec$LT$T$GT$$u20$as$u20$alloc..vec.. to label %29 unwind label %20 29: ; preds = %22 - %trunc.i.i.i.i.i = trunc nuw i64 %.sroa.6.0.copyload5.i.i.i.i to i1 - %.2.i.i.i.i.i = select i1 %trunc.i.i.i.i.i, i64 %.sroa.8.0.copyload7.i.i.i.i, i64 undef %30 = extractvalue { i64, ptr } %28, 0 %31 = extractvalue { i64, ptr } %28, 1 %32 = icmp ne ptr %31, null @@ -4489,7 +4483,7 @@ define hidden void @"_ZN111_$LT$alloc..vec..Vec$LT$T$GT$$u20$as$u20$alloc..vec.. %.sroa.413.0..sroa_idx = getelementptr inbounds nuw i8, ptr %31, i64 8 store i64 %27, ptr %.sroa.413.0..sroa_idx, align 8 %.sroa.514.0..sroa_idx = getelementptr inbounds nuw i8, ptr %31, i64 16 - store i64 %.2.i.i.i.i.i, ptr %.sroa.514.0..sroa_idx, align 8 + store i64 %.sroa.8.0.copyload7.i.i.i.i, ptr %.sroa.514.0..sroa_idx, align 8 store i64 %30, ptr %4, align 8 %.sroa.4.0..sroa_idx = getelementptr inbounds nuw i8, ptr %4, i64 8 store ptr %31, ptr %.sroa.4.0..sroa_idx, align 8 @@ -4545,10 +4539,8 @@ define hidden void @"_ZN111_$LT$alloc..vec..Vec$LT$T$GT$$u20$as$u20$alloc..vec.. br label %44 47: ; preds = %"_ZN109_$LT$std..collections..hash..map..IntoIter$LT$K$C$V$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17hce86298b47b80309E.exit.i.i.i.i.i.i" - %trunc.i.i.i.i.i.i.i = trunc nuw i64 %.sroa.6.0.copyload5.i.i.i.i.i.i to i1 %.sroa.8.0..sroa_idx6.i.i.i.i.i.i = getelementptr inbounds i8, ptr %40, i64 -8 %.sroa.8.0.copyload7.i.i.i.i.i.i = load i64, ptr %.sroa.8.0..sroa_idx6.i.i.i.i.i.i, align 8, !noalias !981 - %.2.i.i.i.i.i.i.i = select i1 %trunc.i.i.i.i.i.i.i, i64 %.sroa.8.0.copyload7.i.i.i.i.i.i, i64 undef call void @llvm.experimental.noalias.scope.decl(metadata !982) call void @llvm.experimental.noalias.scope.decl(metadata !985) %48 = load ptr, ptr %35, align 8, !alias.scope !988, !noalias !989, !nonnull !16, !align !126, !noundef !16 @@ -4567,7 +4559,7 @@ define hidden void @"_ZN111_$LT$alloc..vec..Vec$LT$T$GT$$u20$as$u20$alloc..vec.. %.sroa.410.0..sroa_idx.i.i = getelementptr inbounds nuw i8, ptr %56, i64 8 store i64 %51, ptr %.sroa.410.0..sroa_idx.i.i, align 8 %.sroa.511.0..sroa_idx.i.i = getelementptr inbounds nuw i8, ptr %56, i64 16 - store i64 %.2.i.i.i.i.i.i.i, ptr %.sroa.511.0..sroa_idx.i.i, align 8 + store i64 %.sroa.8.0.copyload7.i.i.i.i.i.i, ptr %.sroa.511.0..sroa_idx.i.i, align 8 %57 = add i64 %52, 1 store i64 %57, ptr %.sroa.6.0..sroa_idx, align 8, !alias.scope !993, !noalias !994 br label %36 diff --git a/bench/meilisearch-rs/optimized/2cgldv3iwsojn360.ll b/bench/meilisearch-rs/optimized/2cgldv3iwsojn360.ll index 3e18ed12a45..8ca0cd7b215 100644 --- a/bench/meilisearch-rs/optimized/2cgldv3iwsojn360.ll +++ b/bench/meilisearch-rs/optimized/2cgldv3iwsojn360.ll @@ -79,9 +79,9 @@ define hidden noundef ptr @_ZN3std2io5Write9write_all17h97b2911324971dc4E(ptr no %6 = getelementptr inbounds nuw i8, ptr %4, i64 8 br label %7 -7: ; preds = %.lr.ph, %36 - %.sroa.0.017 = phi ptr [ %1, %.lr.ph ], [ %.sroa.0.125, %36 ] - %.sroa.4.016 = phi i64 [ %2, %.lr.ph ], [ %.sroa.4.124, %36 ] +7: ; preds = %.lr.ph, %35 + %.sroa.0.017 = phi ptr [ %1, %.lr.ph ], [ %.sroa.0.125, %35 ] + %.sroa.4.016 = phi i64 [ %2, %.lr.ph ], [ %.sroa.4.124, %35 ] %8 = call { i64, ptr } @"_ZN69_$LT$std..sys..pal..unix..stdio..Stderr$u20$as$u20$std..io..Write$GT$5write17h609e4bed11db6468E"(ptr noalias noundef nonnull align 1 %0, ptr noalias noundef nonnull readonly align 1 %.sroa.0.017, i64 noundef %.sroa.4.016) %9 = extractvalue { i64, ptr } %8, 0 %10 = extractvalue { i64, ptr } %8, 1 @@ -89,8 +89,8 @@ define hidden noundef ptr @_ZN3std2io5Write9write_all17h97b2911324971dc4E(ptr no %11 = ptrtoint ptr %10 to i64 br i1 %switch, label %12, label %14 -.loopexit: ; preds = %12, %16, %18, %22, %_ZN3std2io5error5Error14is_interrupted17he394224dfe9e3211E.exit, %36, %3 - %.sroa.04.0 = phi ptr [ null, %3 ], [ %10, %_ZN3std2io5error5Error14is_interrupted17he394224dfe9e3211E.exit ], [ %10, %22 ], [ %10, %18 ], [ %10, %16 ], [ @anon.4e9b806ee0758ff2b0f3c055e3f79959.1, %12 ], [ null, %36 ] +.loopexit: ; preds = %12, %16, %18, %22, %_ZN3std2io5error5Error14is_interrupted17he394224dfe9e3211E.exit, %35, %3 + %.sroa.04.0 = phi ptr [ null, %3 ], [ %10, %_ZN3std2io5error5Error14is_interrupted17he394224dfe9e3211E.exit ], [ %10, %22 ], [ %10, %18 ], [ %10, %16 ], [ @anon.4e9b806ee0758ff2b0f3c055e3f79959.1, %12 ], [ null, %35 ] ret ptr %.sroa.04.0 12: ; preds = %7 @@ -140,37 +140,33 @@ default.unreachable: ; preds = %14 .thread: ; preds = %28 %30 = sub nuw i64 %.sroa.4.016, %11 %31 = getelementptr inbounds i8, ptr %.sroa.0.017, i64 %11 - br label %36 - -32: ; preds = %16, %18, %22, %_ZN3std2io5error5Error14is_interrupted17he394224dfe9e3211E.exit - %trunc = trunc nuw i64 %9 to i1 - br i1 %trunc, label %33, label %36 + br label %35 _ZN3std2io5error5Error14is_interrupted17he394224dfe9e3211E.exit: ; preds = %14 %.mask20.i = and i64 %11, -4294967296 %switch.i = icmp eq i64 %.mask20.i, 150323855360 br i1 %switch.i, label %32, label %.loopexit -33: ; preds = %32 +32: ; preds = %_ZN3std2io5error5Error14is_interrupted17he394224dfe9e3211E.exit, %22, %18, %16 call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %4), !noalias !6 call void @_ZN3std2io5error14repr_bitpacked11decode_repr17h3160755debb8c315E.llvm.7557364402226394005(ptr noalias nocapture noundef nonnull sret([16 x i8]) align 8 dereferenceable(16) %4, ptr noundef nonnull %10), !noalias !6 - %34 = load i8, ptr %4, align 8, !range !13, !alias.scope !14, !noalias !6, !noundef !5 - %switch.not.i.i.i.i = icmp eq i8 %34, 3 - br i1 %switch.not.i.i.i.i, label %35, label %"_ZN4core3ptr42drop_in_place$LT$std..io..error..Error$GT$17h04053bb5a978084fE.exit" + %33 = load i8, ptr %4, align 8, !range !13, !alias.scope !14, !noalias !6, !noundef !5 + %switch.not.i.i.i.i = icmp eq i8 %33, 3 + br i1 %switch.not.i.i.i.i, label %34, label %"_ZN4core3ptr42drop_in_place$LT$std..io..error..Error$GT$17h04053bb5a978084fE.exit" -35: ; preds = %33 +34: ; preds = %32 call void @"_ZN4core3ptr68drop_in_place$LT$alloc..boxed..Box$LT$std..io..error..Custom$GT$$GT$17hbe955385072f7a22E.llvm.7557364402226394005"(ptr noalias noundef nonnull align 8 dereferenceable(8) %6), !noalias !6 br label %"_ZN4core3ptr42drop_in_place$LT$std..io..error..Error$GT$17h04053bb5a978084fE.exit" -"_ZN4core3ptr42drop_in_place$LT$std..io..error..Error$GT$17h04053bb5a978084fE.exit": ; preds = %33, %35 +"_ZN4core3ptr42drop_in_place$LT$std..io..error..Error$GT$17h04053bb5a978084fE.exit": ; preds = %32, %34 call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %4), !noalias !6 - br label %36 + br label %35 -36: ; preds = %.thread, %32, %"_ZN4core3ptr42drop_in_place$LT$std..io..error..Error$GT$17h04053bb5a978084fE.exit" - %.sroa.0.125 = phi ptr [ %31, %.thread ], [ %.sroa.0.017, %32 ], [ %.sroa.0.017, %"_ZN4core3ptr42drop_in_place$LT$std..io..error..Error$GT$17h04053bb5a978084fE.exit" ] - %.sroa.4.124 = phi i64 [ %30, %.thread ], [ %.sroa.4.016, %32 ], [ %.sroa.4.016, %"_ZN4core3ptr42drop_in_place$LT$std..io..error..Error$GT$17h04053bb5a978084fE.exit" ] - %37 = icmp eq i64 %.sroa.4.124, 0 - br i1 %37, label %.loopexit, label %7 +35: ; preds = %.thread, %"_ZN4core3ptr42drop_in_place$LT$std..io..error..Error$GT$17h04053bb5a978084fE.exit" + %.sroa.0.125 = phi ptr [ %31, %.thread ], [ %.sroa.0.017, %"_ZN4core3ptr42drop_in_place$LT$std..io..error..Error$GT$17h04053bb5a978084fE.exit" ] + %.sroa.4.124 = phi i64 [ %30, %.thread ], [ %.sroa.4.016, %"_ZN4core3ptr42drop_in_place$LT$std..io..error..Error$GT$17h04053bb5a978084fE.exit" ] + %36 = icmp eq i64 %.sroa.4.124, 0 + br i1 %36, label %.loopexit, label %7 } ; Function Attrs: nonlazybind uwtable diff --git a/bench/meilisearch-rs/optimized/2eqafq69fd46y14a.ll b/bench/meilisearch-rs/optimized/2eqafq69fd46y14a.ll index 0d9360414ce..47ab8107067 100644 --- a/bench/meilisearch-rs/optimized/2eqafq69fd46y14a.ll +++ b/bench/meilisearch-rs/optimized/2eqafq69fd46y14a.ll @@ -10295,9 +10295,9 @@ define hidden noundef ptr @_ZN3std2io5Write9write_all17h4263f7158ece8e16E(ptr no %6 = getelementptr inbounds nuw i8, ptr %4, i64 8 br label %7 -7: ; preds = %.lr.ph, %36 - %.sroa.0.017 = phi ptr [ %1, %.lr.ph ], [ %.sroa.0.125, %36 ] - %.sroa.4.016 = phi i64 [ %2, %.lr.ph ], [ %.sroa.4.124, %36 ] +7: ; preds = %.lr.ph, %35 + %.sroa.0.017 = phi ptr [ %1, %.lr.ph ], [ %.sroa.0.125, %35 ] + %.sroa.4.016 = phi i64 [ %2, %.lr.ph ], [ %.sroa.4.124, %35 ] %8 = call { i64, ptr } @"_ZN71_$LT$meilisearch..routes..logs..LogWriter$u20$as$u20$std..io..Write$GT$5write17h848ab517da4f5f3bE"(ptr noalias noundef nonnull align 8 dereferenceable(8) %0, ptr noalias noundef nonnull readonly align 1 %.sroa.0.017, i64 noundef %.sroa.4.016) %9 = extractvalue { i64, ptr } %8, 0 %10 = extractvalue { i64, ptr } %8, 1 @@ -10305,8 +10305,8 @@ define hidden noundef ptr @_ZN3std2io5Write9write_all17h4263f7158ece8e16E(ptr no %11 = ptrtoint ptr %10 to i64 br i1 %switch, label %12, label %14 -.loopexit: ; preds = %12, %16, %18, %22, %_ZN3std2io5error5Error14is_interrupted17he394224dfe9e3211E.exit, %36, %3 - %.sroa.04.0 = phi ptr [ null, %3 ], [ %10, %_ZN3std2io5error5Error14is_interrupted17he394224dfe9e3211E.exit ], [ %10, %22 ], [ %10, %18 ], [ %10, %16 ], [ @anon.880c932b6d26fbcc815883ce24785fc3.86, %12 ], [ null, %36 ] +.loopexit: ; preds = %12, %16, %18, %22, %_ZN3std2io5error5Error14is_interrupted17he394224dfe9e3211E.exit, %35, %3 + %.sroa.04.0 = phi ptr [ null, %3 ], [ %10, %_ZN3std2io5error5Error14is_interrupted17he394224dfe9e3211E.exit ], [ %10, %22 ], [ %10, %18 ], [ %10, %16 ], [ @anon.880c932b6d26fbcc815883ce24785fc3.86, %12 ], [ null, %35 ] ret ptr %.sroa.04.0 12: ; preds = %7 @@ -10356,37 +10356,33 @@ default.unreachable: ; preds = %14 .thread: ; preds = %28 %30 = sub nuw i64 %.sroa.4.016, %11 %31 = getelementptr inbounds i8, ptr %.sroa.0.017, i64 %11 - br label %36 - -32: ; preds = %16, %18, %22, %_ZN3std2io5error5Error14is_interrupted17he394224dfe9e3211E.exit - %trunc = trunc nuw i64 %9 to i1 - br i1 %trunc, label %33, label %36 + br label %35 _ZN3std2io5error5Error14is_interrupted17he394224dfe9e3211E.exit: ; preds = %14 %.mask20.i = and i64 %11, -4294967296 %switch.i = icmp eq i64 %.mask20.i, 150323855360 br i1 %switch.i, label %32, label %.loopexit -33: ; preds = %32 +32: ; preds = %_ZN3std2io5error5Error14is_interrupted17he394224dfe9e3211E.exit, %22, %18, %16 call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %4), !noalias !1975 call void @_ZN3std2io5error14repr_bitpacked11decode_repr17h7f027c0f10aa8786E.llvm.4616129397091597767(ptr noalias nocapture noundef nonnull sret([16 x i8]) align 8 dereferenceable(16) %4, ptr noundef nonnull %10), !noalias !1975 - %34 = load i8, ptr %4, align 8, !range !548, !alias.scope !1982, !noalias !1975, !noundef !5 - %switch.not.i.i.i.i = icmp eq i8 %34, 3 - br i1 %switch.not.i.i.i.i, label %35, label %"_ZN4core3ptr42drop_in_place$LT$std..io..error..Error$GT$17hdde326e0d62cd696E.exit" + %33 = load i8, ptr %4, align 8, !range !548, !alias.scope !1982, !noalias !1975, !noundef !5 + %switch.not.i.i.i.i = icmp eq i8 %33, 3 + br i1 %switch.not.i.i.i.i, label %34, label %"_ZN4core3ptr42drop_in_place$LT$std..io..error..Error$GT$17hdde326e0d62cd696E.exit" -35: ; preds = %33 +34: ; preds = %32 call void @"_ZN4core3ptr68drop_in_place$LT$alloc..boxed..Box$LT$std..io..error..Custom$GT$$GT$17hcf054fa5cc492f3cE.llvm.4616129397091597767"(ptr noalias noundef nonnull align 8 dereferenceable(8) %6), !noalias !1975 br label %"_ZN4core3ptr42drop_in_place$LT$std..io..error..Error$GT$17hdde326e0d62cd696E.exit" -"_ZN4core3ptr42drop_in_place$LT$std..io..error..Error$GT$17hdde326e0d62cd696E.exit": ; preds = %33, %35 +"_ZN4core3ptr42drop_in_place$LT$std..io..error..Error$GT$17hdde326e0d62cd696E.exit": ; preds = %32, %34 call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %4), !noalias !1975 - br label %36 + br label %35 -36: ; preds = %.thread, %32, %"_ZN4core3ptr42drop_in_place$LT$std..io..error..Error$GT$17hdde326e0d62cd696E.exit" - %.sroa.0.125 = phi ptr [ %31, %.thread ], [ %.sroa.0.017, %32 ], [ %.sroa.0.017, %"_ZN4core3ptr42drop_in_place$LT$std..io..error..Error$GT$17hdde326e0d62cd696E.exit" ] - %.sroa.4.124 = phi i64 [ %30, %.thread ], [ %.sroa.4.016, %32 ], [ %.sroa.4.016, %"_ZN4core3ptr42drop_in_place$LT$std..io..error..Error$GT$17hdde326e0d62cd696E.exit" ] - %37 = icmp eq i64 %.sroa.4.124, 0 - br i1 %37, label %.loopexit, label %7 +35: ; preds = %.thread, %"_ZN4core3ptr42drop_in_place$LT$std..io..error..Error$GT$17hdde326e0d62cd696E.exit" + %.sroa.0.125 = phi ptr [ %31, %.thread ], [ %.sroa.0.017, %"_ZN4core3ptr42drop_in_place$LT$std..io..error..Error$GT$17hdde326e0d62cd696E.exit" ] + %.sroa.4.124 = phi i64 [ %30, %.thread ], [ %.sroa.4.016, %"_ZN4core3ptr42drop_in_place$LT$std..io..error..Error$GT$17hdde326e0d62cd696E.exit" ] + %36 = icmp eq i64 %.sroa.4.124, 0 + br i1 %36, label %.loopexit, label %7 } ; Function Attrs: nonlazybind uwtable @@ -10399,9 +10395,9 @@ define hidden noundef ptr @_ZN3std2io5Write9write_all17h8feea46d83c854b1E(ptr no %6 = getelementptr inbounds nuw i8, ptr %4, i64 8 br label %7 -7: ; preds = %.lr.ph, %36 - %.sroa.0.017 = phi ptr [ %1, %.lr.ph ], [ %.sroa.0.125, %36 ] - %.sroa.4.016 = phi i64 [ %2, %.lr.ph ], [ %.sroa.4.124, %36 ] +7: ; preds = %.lr.ph, %35 + %.sroa.0.017 = phi ptr [ %1, %.lr.ph ], [ %.sroa.0.125, %35 ] + %.sroa.4.016 = phi i64 [ %2, %.lr.ph ], [ %.sroa.4.124, %35 ] %8 = call { i64, ptr } @"_ZN48_$LT$std..fs..File$u20$as$u20$std..io..Write$GT$5write17hd48b03abc03778caE"(ptr noalias noundef nonnull align 4 dereferenceable(4) %0, ptr noalias noundef nonnull readonly align 1 %.sroa.0.017, i64 noundef %.sroa.4.016) %9 = extractvalue { i64, ptr } %8, 0 %10 = extractvalue { i64, ptr } %8, 1 @@ -10409,8 +10405,8 @@ define hidden noundef ptr @_ZN3std2io5Write9write_all17h8feea46d83c854b1E(ptr no %11 = ptrtoint ptr %10 to i64 br i1 %switch, label %12, label %14 -.loopexit: ; preds = %12, %16, %18, %22, %_ZN3std2io5error5Error14is_interrupted17he394224dfe9e3211E.exit, %36, %3 - %.sroa.04.0 = phi ptr [ null, %3 ], [ %10, %_ZN3std2io5error5Error14is_interrupted17he394224dfe9e3211E.exit ], [ %10, %22 ], [ %10, %18 ], [ %10, %16 ], [ @anon.880c932b6d26fbcc815883ce24785fc3.86, %12 ], [ null, %36 ] +.loopexit: ; preds = %12, %16, %18, %22, %_ZN3std2io5error5Error14is_interrupted17he394224dfe9e3211E.exit, %35, %3 + %.sroa.04.0 = phi ptr [ null, %3 ], [ %10, %_ZN3std2io5error5Error14is_interrupted17he394224dfe9e3211E.exit ], [ %10, %22 ], [ %10, %18 ], [ %10, %16 ], [ @anon.880c932b6d26fbcc815883ce24785fc3.86, %12 ], [ null, %35 ] ret ptr %.sroa.04.0 12: ; preds = %7 @@ -10460,37 +10456,33 @@ default.unreachable: ; preds = %14 .thread: ; preds = %28 %30 = sub nuw i64 %.sroa.4.016, %11 %31 = getelementptr inbounds i8, ptr %.sroa.0.017, i64 %11 - br label %36 - -32: ; preds = %16, %18, %22, %_ZN3std2io5error5Error14is_interrupted17he394224dfe9e3211E.exit - %trunc = trunc nuw i64 %9 to i1 - br i1 %trunc, label %33, label %36 + br label %35 _ZN3std2io5error5Error14is_interrupted17he394224dfe9e3211E.exit: ; preds = %14 %.mask20.i = and i64 %11, -4294967296 %switch.i = icmp eq i64 %.mask20.i, 150323855360 br i1 %switch.i, label %32, label %.loopexit -33: ; preds = %32 +32: ; preds = %_ZN3std2io5error5Error14is_interrupted17he394224dfe9e3211E.exit, %22, %18, %16 call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %4), !noalias !1985 call void @_ZN3std2io5error14repr_bitpacked11decode_repr17h7f027c0f10aa8786E.llvm.4616129397091597767(ptr noalias nocapture noundef nonnull sret([16 x i8]) align 8 dereferenceable(16) %4, ptr noundef nonnull %10), !noalias !1985 - %34 = load i8, ptr %4, align 8, !range !548, !alias.scope !1992, !noalias !1985, !noundef !5 - %switch.not.i.i.i.i = icmp eq i8 %34, 3 - br i1 %switch.not.i.i.i.i, label %35, label %"_ZN4core3ptr42drop_in_place$LT$std..io..error..Error$GT$17hdde326e0d62cd696E.exit" + %33 = load i8, ptr %4, align 8, !range !548, !alias.scope !1992, !noalias !1985, !noundef !5 + %switch.not.i.i.i.i = icmp eq i8 %33, 3 + br i1 %switch.not.i.i.i.i, label %34, label %"_ZN4core3ptr42drop_in_place$LT$std..io..error..Error$GT$17hdde326e0d62cd696E.exit" -35: ; preds = %33 +34: ; preds = %32 call void @"_ZN4core3ptr68drop_in_place$LT$alloc..boxed..Box$LT$std..io..error..Custom$GT$$GT$17hcf054fa5cc492f3cE.llvm.4616129397091597767"(ptr noalias noundef nonnull align 8 dereferenceable(8) %6), !noalias !1985 br label %"_ZN4core3ptr42drop_in_place$LT$std..io..error..Error$GT$17hdde326e0d62cd696E.exit" -"_ZN4core3ptr42drop_in_place$LT$std..io..error..Error$GT$17hdde326e0d62cd696E.exit": ; preds = %33, %35 +"_ZN4core3ptr42drop_in_place$LT$std..io..error..Error$GT$17hdde326e0d62cd696E.exit": ; preds = %32, %34 call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %4), !noalias !1985 - br label %36 + br label %35 -36: ; preds = %.thread, %32, %"_ZN4core3ptr42drop_in_place$LT$std..io..error..Error$GT$17hdde326e0d62cd696E.exit" - %.sroa.0.125 = phi ptr [ %31, %.thread ], [ %.sroa.0.017, %32 ], [ %.sroa.0.017, %"_ZN4core3ptr42drop_in_place$LT$std..io..error..Error$GT$17hdde326e0d62cd696E.exit" ] - %.sroa.4.124 = phi i64 [ %30, %.thread ], [ %.sroa.4.016, %32 ], [ %.sroa.4.016, %"_ZN4core3ptr42drop_in_place$LT$std..io..error..Error$GT$17hdde326e0d62cd696E.exit" ] - %37 = icmp eq i64 %.sroa.4.124, 0 - br i1 %37, label %.loopexit, label %7 +35: ; preds = %.thread, %"_ZN4core3ptr42drop_in_place$LT$std..io..error..Error$GT$17hdde326e0d62cd696E.exit" + %.sroa.0.125 = phi ptr [ %31, %.thread ], [ %.sroa.0.017, %"_ZN4core3ptr42drop_in_place$LT$std..io..error..Error$GT$17hdde326e0d62cd696E.exit" ] + %.sroa.4.124 = phi i64 [ %30, %.thread ], [ %.sroa.4.016, %"_ZN4core3ptr42drop_in_place$LT$std..io..error..Error$GT$17hdde326e0d62cd696E.exit" ] + %36 = icmp eq i64 %.sroa.4.124, 0 + br i1 %36, label %.loopexit, label %7 } ; Function Attrs: nonlazybind uwtable diff --git a/bench/meilisearch-rs/optimized/4rynht2gwvphprvy.ll b/bench/meilisearch-rs/optimized/4rynht2gwvphprvy.ll index f541a8c5c5a..498f0f240de 100644 --- a/bench/meilisearch-rs/optimized/4rynht2gwvphprvy.ll +++ b/bench/meilisearch-rs/optimized/4rynht2gwvphprvy.ll @@ -18569,9 +18569,9 @@ define hidden noundef ptr @_ZN3std2io18default_read_exact17h23f1f0c25232b27aE.ll %15 = getelementptr inbounds nuw i8, ptr %4, i64 8 br label %16 -16: ; preds = %.lr.ph, %75 - %.sroa.0.025 = phi ptr [ %1, %.lr.ph ], [ %.sroa.0.140, %75 ] - %.sroa.4.024 = phi i64 [ %2, %.lr.ph ], [ %.sroa.4.139, %75 ] +16: ; preds = %.lr.ph, %74 + %.sroa.0.025 = phi ptr [ %1, %.lr.ph ], [ %.sroa.0.140, %74 ] + %.sroa.4.024 = phi i64 [ %2, %.lr.ph ], [ %.sroa.4.139, %74 ] call void @llvm.experimental.noalias.scope.decl(metadata !4168) call void @llvm.experimental.noalias.scope.decl(metadata !4171) %17 = load i64, ptr %7, align 8, !alias.scope !4168, !noalias !4171, !noundef !12 @@ -18707,44 +18707,40 @@ default.unreachable: ; preds = %53 call void @_ZN4core5slice5index26slice_start_index_len_fail17h9fca8563b179f90fE(i64 noundef %50, i64 noundef %.sroa.4.024, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.420f2021cd97bdfb841b0d6c3d1da9cd.57) #38 unreachable -.loopexit: ; preds = %_ZN3std2io5error5Error14is_interrupted17he394224dfe9e3211E.exit, %61, %57, %55, %75, %51, %3 - %.sroa.05.0 = phi ptr [ null, %3 ], [ %49, %_ZN3std2io5error5Error14is_interrupted17he394224dfe9e3211E.exit ], [ %49, %61 ], [ %49, %57 ], [ %49, %55 ], [ null, %75 ], [ @anon.420f2021cd97bdfb841b0d6c3d1da9cd.56.llvm.3021571406010367114, %51 ] +.loopexit: ; preds = %_ZN3std2io5error5Error14is_interrupted17he394224dfe9e3211E.exit, %61, %57, %55, %74, %51, %3 + %.sroa.05.0 = phi ptr [ null, %3 ], [ %49, %_ZN3std2io5error5Error14is_interrupted17he394224dfe9e3211E.exit ], [ %49, %61 ], [ %49, %57 ], [ %49, %55 ], [ null, %74 ], [ @anon.420f2021cd97bdfb841b0d6c3d1da9cd.56.llvm.3021571406010367114, %51 ] ret ptr %.sroa.05.0 .thread: ; preds = %67 %69 = sub nuw i64 %.sroa.4.024, %50 %70 = getelementptr inbounds i8, ptr %.sroa.0.025, i64 %50 - br label %75 - -71: ; preds = %55, %57, %61, %_ZN3std2io5error5Error14is_interrupted17he394224dfe9e3211E.exit - %trunc = trunc nuw i64 %48 to i1 - br i1 %trunc, label %72, label %75 + br label %74 _ZN3std2io5error5Error14is_interrupted17he394224dfe9e3211E.exit: ; preds = %53 %.mask20.i = and i64 %50, -4294967296 %switch.i = icmp eq i64 %.mask20.i, 150323855360 br i1 %switch.i, label %71, label %.loopexit -72: ; preds = %71 +71: ; preds = %_ZN3std2io5error5Error14is_interrupted17he394224dfe9e3211E.exit, %61, %57, %55 call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %4), !noalias !4198 call void @_ZN3std2io5error14repr_bitpacked11decode_repr17h7f027c0f10aa8786E.llvm.4616129397091597767(ptr noalias nocapture noundef nonnull sret([16 x i8]) align 8 dereferenceable(16) %4, ptr noundef nonnull %49), !noalias !4198 - %73 = load i8, ptr %4, align 8, !range !741, !alias.scope !4205, !noalias !4198, !noundef !12 - %switch.not.i.i.i.i = icmp eq i8 %73, 3 - br i1 %switch.not.i.i.i.i, label %74, label %"_ZN4core3ptr42drop_in_place$LT$std..io..error..Error$GT$17hdde326e0d62cd696E.exit" + %72 = load i8, ptr %4, align 8, !range !741, !alias.scope !4205, !noalias !4198, !noundef !12 + %switch.not.i.i.i.i = icmp eq i8 %72, 3 + br i1 %switch.not.i.i.i.i, label %73, label %"_ZN4core3ptr42drop_in_place$LT$std..io..error..Error$GT$17hdde326e0d62cd696E.exit" -74: ; preds = %72 +73: ; preds = %71 call void @"_ZN4core3ptr68drop_in_place$LT$alloc..boxed..Box$LT$std..io..error..Custom$GT$$GT$17hcf054fa5cc492f3cE.llvm.4616129397091597767"(ptr noalias noundef nonnull align 8 dereferenceable(8) %15), !noalias !4198 br label %"_ZN4core3ptr42drop_in_place$LT$std..io..error..Error$GT$17hdde326e0d62cd696E.exit" -"_ZN4core3ptr42drop_in_place$LT$std..io..error..Error$GT$17hdde326e0d62cd696E.exit": ; preds = %72, %74 +"_ZN4core3ptr42drop_in_place$LT$std..io..error..Error$GT$17hdde326e0d62cd696E.exit": ; preds = %71, %73 call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %4), !noalias !4198 - br label %75 + br label %74 -75: ; preds = %.thread, %71, %"_ZN4core3ptr42drop_in_place$LT$std..io..error..Error$GT$17hdde326e0d62cd696E.exit" - %.sroa.0.140 = phi ptr [ %70, %.thread ], [ %.sroa.0.025, %71 ], [ %.sroa.0.025, %"_ZN4core3ptr42drop_in_place$LT$std..io..error..Error$GT$17hdde326e0d62cd696E.exit" ] - %.sroa.4.139 = phi i64 [ %69, %.thread ], [ %.sroa.4.024, %71 ], [ %.sroa.4.024, %"_ZN4core3ptr42drop_in_place$LT$std..io..error..Error$GT$17hdde326e0d62cd696E.exit" ] - %76 = icmp eq i64 %.sroa.4.139, 0 - br i1 %76, label %.loopexit, label %16 +74: ; preds = %.thread, %"_ZN4core3ptr42drop_in_place$LT$std..io..error..Error$GT$17hdde326e0d62cd696E.exit" + %.sroa.0.140 = phi ptr [ %70, %.thread ], [ %.sroa.0.025, %"_ZN4core3ptr42drop_in_place$LT$std..io..error..Error$GT$17hdde326e0d62cd696E.exit" ] + %.sroa.4.139 = phi i64 [ %69, %.thread ], [ %.sroa.4.024, %"_ZN4core3ptr42drop_in_place$LT$std..io..error..Error$GT$17hdde326e0d62cd696E.exit" ] + %75 = icmp eq i64 %.sroa.4.139, 0 + br i1 %75, label %.loopexit, label %16 } ; Function Attrs: nonlazybind uwtable @@ -18757,9 +18753,9 @@ define hidden noundef ptr @_ZN3std2io18default_read_exact17h4ccac41ac9ac3dddE(pt %6 = getelementptr inbounds nuw i8, ptr %4, i64 8 br label %7 -7: ; preds = %.lr.ph, %36 - %.sroa.0.025 = phi ptr [ %1, %.lr.ph ], [ %.sroa.0.140, %36 ] - %.sroa.4.024 = phi i64 [ %2, %.lr.ph ], [ %.sroa.4.139, %36 ] +7: ; preds = %.lr.ph, %35 + %.sroa.0.025 = phi ptr [ %1, %.lr.ph ], [ %.sroa.0.140, %35 ] + %.sroa.4.024 = phi i64 [ %2, %.lr.ph ], [ %.sroa.4.139, %35 ] %8 = call { i64, ptr } @"_ZN47_$LT$std..fs..File$u20$as$u20$std..io..Read$GT$4read17h1be78f62029939c2E"(ptr noalias noundef nonnull align 4 dereferenceable(4) %0, ptr noalias noundef nonnull align 1 %.sroa.0.025, i64 noundef %.sroa.4.024) %9 = extractvalue { i64, ptr } %8, 0 %10 = extractvalue { i64, ptr } %8, 1 @@ -18811,44 +18807,40 @@ default.unreachable: ; preds = %14 call void @_ZN4core5slice5index26slice_start_index_len_fail17h9fca8563b179f90fE(i64 noundef %11, i64 noundef %.sroa.4.024, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.420f2021cd97bdfb841b0d6c3d1da9cd.57) #38 unreachable -.loopexit: ; preds = %_ZN3std2io5error5Error14is_interrupted17he394224dfe9e3211E.exit, %22, %18, %16, %36, %12, %3 - %.sroa.05.0 = phi ptr [ null, %3 ], [ %10, %_ZN3std2io5error5Error14is_interrupted17he394224dfe9e3211E.exit ], [ %10, %22 ], [ %10, %18 ], [ %10, %16 ], [ null, %36 ], [ @anon.420f2021cd97bdfb841b0d6c3d1da9cd.56.llvm.3021571406010367114, %12 ] +.loopexit: ; preds = %_ZN3std2io5error5Error14is_interrupted17he394224dfe9e3211E.exit, %22, %18, %16, %35, %12, %3 + %.sroa.05.0 = phi ptr [ null, %3 ], [ %10, %_ZN3std2io5error5Error14is_interrupted17he394224dfe9e3211E.exit ], [ %10, %22 ], [ %10, %18 ], [ %10, %16 ], [ null, %35 ], [ @anon.420f2021cd97bdfb841b0d6c3d1da9cd.56.llvm.3021571406010367114, %12 ] ret ptr %.sroa.05.0 .thread: ; preds = %28 %30 = sub nuw i64 %.sroa.4.024, %11 %31 = getelementptr inbounds i8, ptr %.sroa.0.025, i64 %11 - br label %36 - -32: ; preds = %16, %18, %22, %_ZN3std2io5error5Error14is_interrupted17he394224dfe9e3211E.exit - %trunc = trunc nuw i64 %9 to i1 - br i1 %trunc, label %33, label %36 + br label %35 _ZN3std2io5error5Error14is_interrupted17he394224dfe9e3211E.exit: ; preds = %14 %.mask20.i = and i64 %11, -4294967296 %switch.i = icmp eq i64 %.mask20.i, 150323855360 br i1 %switch.i, label %32, label %.loopexit -33: ; preds = %32 +32: ; preds = %_ZN3std2io5error5Error14is_interrupted17he394224dfe9e3211E.exit, %22, %18, %16 call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %4), !noalias !4208 call void @_ZN3std2io5error14repr_bitpacked11decode_repr17h7f027c0f10aa8786E.llvm.4616129397091597767(ptr noalias nocapture noundef nonnull sret([16 x i8]) align 8 dereferenceable(16) %4, ptr noundef nonnull %10), !noalias !4208 - %34 = load i8, ptr %4, align 8, !range !741, !alias.scope !4215, !noalias !4208, !noundef !12 - %switch.not.i.i.i.i = icmp eq i8 %34, 3 - br i1 %switch.not.i.i.i.i, label %35, label %"_ZN4core3ptr42drop_in_place$LT$std..io..error..Error$GT$17hdde326e0d62cd696E.exit" + %33 = load i8, ptr %4, align 8, !range !741, !alias.scope !4215, !noalias !4208, !noundef !12 + %switch.not.i.i.i.i = icmp eq i8 %33, 3 + br i1 %switch.not.i.i.i.i, label %34, label %"_ZN4core3ptr42drop_in_place$LT$std..io..error..Error$GT$17hdde326e0d62cd696E.exit" -35: ; preds = %33 +34: ; preds = %32 call void @"_ZN4core3ptr68drop_in_place$LT$alloc..boxed..Box$LT$std..io..error..Custom$GT$$GT$17hcf054fa5cc492f3cE.llvm.4616129397091597767"(ptr noalias noundef nonnull align 8 dereferenceable(8) %6), !noalias !4208 br label %"_ZN4core3ptr42drop_in_place$LT$std..io..error..Error$GT$17hdde326e0d62cd696E.exit" -"_ZN4core3ptr42drop_in_place$LT$std..io..error..Error$GT$17hdde326e0d62cd696E.exit": ; preds = %33, %35 +"_ZN4core3ptr42drop_in_place$LT$std..io..error..Error$GT$17hdde326e0d62cd696E.exit": ; preds = %32, %34 call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %4), !noalias !4208 - br label %36 + br label %35 -36: ; preds = %.thread, %32, %"_ZN4core3ptr42drop_in_place$LT$std..io..error..Error$GT$17hdde326e0d62cd696E.exit" - %.sroa.0.140 = phi ptr [ %31, %.thread ], [ %.sroa.0.025, %32 ], [ %.sroa.0.025, %"_ZN4core3ptr42drop_in_place$LT$std..io..error..Error$GT$17hdde326e0d62cd696E.exit" ] - %.sroa.4.139 = phi i64 [ %30, %.thread ], [ %.sroa.4.024, %32 ], [ %.sroa.4.024, %"_ZN4core3ptr42drop_in_place$LT$std..io..error..Error$GT$17hdde326e0d62cd696E.exit" ] - %37 = icmp eq i64 %.sroa.4.139, 0 - br i1 %37, label %.loopexit, label %7 +35: ; preds = %.thread, %"_ZN4core3ptr42drop_in_place$LT$std..io..error..Error$GT$17hdde326e0d62cd696E.exit" + %.sroa.0.140 = phi ptr [ %31, %.thread ], [ %.sroa.0.025, %"_ZN4core3ptr42drop_in_place$LT$std..io..error..Error$GT$17hdde326e0d62cd696E.exit" ] + %.sroa.4.139 = phi i64 [ %30, %.thread ], [ %.sroa.4.024, %"_ZN4core3ptr42drop_in_place$LT$std..io..error..Error$GT$17hdde326e0d62cd696E.exit" ] + %36 = icmp eq i64 %.sroa.4.139, 0 + br i1 %36, label %.loopexit, label %7 } ; Function Attrs: nonlazybind uwtable @@ -18861,9 +18853,9 @@ define hidden noundef ptr @_ZN3std2io18default_read_exact17h4d429801b07cf2f7E(pt %6 = getelementptr inbounds nuw i8, ptr %4, i64 8 br label %7 -7: ; preds = %.lr.ph, %36 - %.sroa.0.025 = phi ptr [ %1, %.lr.ph ], [ %.sroa.0.140, %36 ] - %.sroa.4.024 = phi i64 [ %2, %.lr.ph ], [ %.sroa.4.139, %36 ] +7: ; preds = %.lr.ph, %35 + %.sroa.0.025 = phi ptr [ %1, %.lr.ph ], [ %.sroa.0.140, %35 ] + %.sroa.4.024 = phi i64 [ %2, %.lr.ph ], [ %.sroa.4.139, %35 ] %8 = call { i64, ptr } @"_ZN73_$LT$flate2..gz..bufread..GzDecoder$LT$R$GT$$u20$as$u20$std..io..Read$GT$4read17h9c8aef14cbe75a2cE"(ptr noalias noundef nonnull align 8 dereferenceable(200) %0, ptr noalias noundef nonnull align 1 %.sroa.0.025, i64 noundef %.sroa.4.024) %9 = extractvalue { i64, ptr } %8, 0 %10 = extractvalue { i64, ptr } %8, 1 @@ -18915,44 +18907,40 @@ default.unreachable: ; preds = %14 call void @_ZN4core5slice5index26slice_start_index_len_fail17h9fca8563b179f90fE(i64 noundef %11, i64 noundef %.sroa.4.024, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.420f2021cd97bdfb841b0d6c3d1da9cd.57) #38 unreachable -.loopexit: ; preds = %_ZN3std2io5error5Error14is_interrupted17he394224dfe9e3211E.exit, %22, %18, %16, %36, %12, %3 - %.sroa.05.0 = phi ptr [ null, %3 ], [ %10, %_ZN3std2io5error5Error14is_interrupted17he394224dfe9e3211E.exit ], [ %10, %22 ], [ %10, %18 ], [ %10, %16 ], [ null, %36 ], [ @anon.420f2021cd97bdfb841b0d6c3d1da9cd.56.llvm.3021571406010367114, %12 ] +.loopexit: ; preds = %_ZN3std2io5error5Error14is_interrupted17he394224dfe9e3211E.exit, %22, %18, %16, %35, %12, %3 + %.sroa.05.0 = phi ptr [ null, %3 ], [ %10, %_ZN3std2io5error5Error14is_interrupted17he394224dfe9e3211E.exit ], [ %10, %22 ], [ %10, %18 ], [ %10, %16 ], [ null, %35 ], [ @anon.420f2021cd97bdfb841b0d6c3d1da9cd.56.llvm.3021571406010367114, %12 ] ret ptr %.sroa.05.0 .thread: ; preds = %28 %30 = sub nuw i64 %.sroa.4.024, %11 %31 = getelementptr inbounds i8, ptr %.sroa.0.025, i64 %11 - br label %36 - -32: ; preds = %16, %18, %22, %_ZN3std2io5error5Error14is_interrupted17he394224dfe9e3211E.exit - %trunc = trunc nuw i64 %9 to i1 - br i1 %trunc, label %33, label %36 + br label %35 _ZN3std2io5error5Error14is_interrupted17he394224dfe9e3211E.exit: ; preds = %14 %.mask20.i = and i64 %11, -4294967296 %switch.i = icmp eq i64 %.mask20.i, 150323855360 br i1 %switch.i, label %32, label %.loopexit -33: ; preds = %32 +32: ; preds = %_ZN3std2io5error5Error14is_interrupted17he394224dfe9e3211E.exit, %22, %18, %16 call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %4), !noalias !4218 call void @_ZN3std2io5error14repr_bitpacked11decode_repr17h7f027c0f10aa8786E.llvm.4616129397091597767(ptr noalias nocapture noundef nonnull sret([16 x i8]) align 8 dereferenceable(16) %4, ptr noundef nonnull %10), !noalias !4218 - %34 = load i8, ptr %4, align 8, !range !741, !alias.scope !4225, !noalias !4218, !noundef !12 - %switch.not.i.i.i.i = icmp eq i8 %34, 3 - br i1 %switch.not.i.i.i.i, label %35, label %"_ZN4core3ptr42drop_in_place$LT$std..io..error..Error$GT$17hdde326e0d62cd696E.exit" + %33 = load i8, ptr %4, align 8, !range !741, !alias.scope !4225, !noalias !4218, !noundef !12 + %switch.not.i.i.i.i = icmp eq i8 %33, 3 + br i1 %switch.not.i.i.i.i, label %34, label %"_ZN4core3ptr42drop_in_place$LT$std..io..error..Error$GT$17hdde326e0d62cd696E.exit" -35: ; preds = %33 +34: ; preds = %32 call void @"_ZN4core3ptr68drop_in_place$LT$alloc..boxed..Box$LT$std..io..error..Custom$GT$$GT$17hcf054fa5cc492f3cE.llvm.4616129397091597767"(ptr noalias noundef nonnull align 8 dereferenceable(8) %6), !noalias !4218 br label %"_ZN4core3ptr42drop_in_place$LT$std..io..error..Error$GT$17hdde326e0d62cd696E.exit" -"_ZN4core3ptr42drop_in_place$LT$std..io..error..Error$GT$17hdde326e0d62cd696E.exit": ; preds = %33, %35 +"_ZN4core3ptr42drop_in_place$LT$std..io..error..Error$GT$17hdde326e0d62cd696E.exit": ; preds = %32, %34 call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %4), !noalias !4218 - br label %36 + br label %35 -36: ; preds = %.thread, %32, %"_ZN4core3ptr42drop_in_place$LT$std..io..error..Error$GT$17hdde326e0d62cd696E.exit" - %.sroa.0.140 = phi ptr [ %31, %.thread ], [ %.sroa.0.025, %32 ], [ %.sroa.0.025, %"_ZN4core3ptr42drop_in_place$LT$std..io..error..Error$GT$17hdde326e0d62cd696E.exit" ] - %.sroa.4.139 = phi i64 [ %30, %.thread ], [ %.sroa.4.024, %32 ], [ %.sroa.4.024, %"_ZN4core3ptr42drop_in_place$LT$std..io..error..Error$GT$17hdde326e0d62cd696E.exit" ] - %37 = icmp eq i64 %.sroa.4.139, 0 - br i1 %37, label %.loopexit, label %7 +35: ; preds = %.thread, %"_ZN4core3ptr42drop_in_place$LT$std..io..error..Error$GT$17hdde326e0d62cd696E.exit" + %.sroa.0.140 = phi ptr [ %31, %.thread ], [ %.sroa.0.025, %"_ZN4core3ptr42drop_in_place$LT$std..io..error..Error$GT$17hdde326e0d62cd696E.exit" ] + %.sroa.4.139 = phi i64 [ %30, %.thread ], [ %.sroa.4.024, %"_ZN4core3ptr42drop_in_place$LT$std..io..error..Error$GT$17hdde326e0d62cd696E.exit" ] + %36 = icmp eq i64 %.sroa.4.139, 0 + br i1 %36, label %.loopexit, label %7 } ; Function Attrs: nonlazybind uwtable @@ -18965,9 +18953,9 @@ define hidden noundef ptr @_ZN3std2io18default_read_exact17hc8347999b8660036E(pt %6 = getelementptr inbounds nuw i8, ptr %4, i64 8 br label %7 -7: ; preds = %.lr.ph, %36 - %.sroa.0.025 = phi ptr [ %1, %.lr.ph ], [ %.sroa.0.140, %36 ] - %.sroa.4.024 = phi i64 [ %2, %.lr.ph ], [ %.sroa.4.139, %36 ] +7: ; preds = %.lr.ph, %35 + %.sroa.0.025 = phi ptr [ %1, %.lr.ph ], [ %.sroa.0.140, %35 ] + %.sroa.4.024 = phi i64 [ %2, %.lr.ph ], [ %.sroa.4.139, %35 ] %8 = call { i64, ptr } @"_ZN73_$LT$flate2..gz..bufread..GzDecoder$LT$R$GT$$u20$as$u20$std..io..Read$GT$4read17h04bce524aadc0a1aE"(ptr noalias noundef nonnull align 8 dereferenceable(168) %0, ptr noalias noundef nonnull align 1 %.sroa.0.025, i64 noundef %.sroa.4.024) %9 = extractvalue { i64, ptr } %8, 0 %10 = extractvalue { i64, ptr } %8, 1 @@ -19019,44 +19007,40 @@ default.unreachable: ; preds = %14 call void @_ZN4core5slice5index26slice_start_index_len_fail17h9fca8563b179f90fE(i64 noundef %11, i64 noundef %.sroa.4.024, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.420f2021cd97bdfb841b0d6c3d1da9cd.57) #38 unreachable -.loopexit: ; preds = %_ZN3std2io5error5Error14is_interrupted17he394224dfe9e3211E.exit, %22, %18, %16, %36, %12, %3 - %.sroa.05.0 = phi ptr [ null, %3 ], [ %10, %_ZN3std2io5error5Error14is_interrupted17he394224dfe9e3211E.exit ], [ %10, %22 ], [ %10, %18 ], [ %10, %16 ], [ null, %36 ], [ @anon.420f2021cd97bdfb841b0d6c3d1da9cd.56.llvm.3021571406010367114, %12 ] +.loopexit: ; preds = %_ZN3std2io5error5Error14is_interrupted17he394224dfe9e3211E.exit, %22, %18, %16, %35, %12, %3 + %.sroa.05.0 = phi ptr [ null, %3 ], [ %10, %_ZN3std2io5error5Error14is_interrupted17he394224dfe9e3211E.exit ], [ %10, %22 ], [ %10, %18 ], [ %10, %16 ], [ null, %35 ], [ @anon.420f2021cd97bdfb841b0d6c3d1da9cd.56.llvm.3021571406010367114, %12 ] ret ptr %.sroa.05.0 .thread: ; preds = %28 %30 = sub nuw i64 %.sroa.4.024, %11 %31 = getelementptr inbounds i8, ptr %.sroa.0.025, i64 %11 - br label %36 - -32: ; preds = %16, %18, %22, %_ZN3std2io5error5Error14is_interrupted17he394224dfe9e3211E.exit - %trunc = trunc nuw i64 %9 to i1 - br i1 %trunc, label %33, label %36 + br label %35 _ZN3std2io5error5Error14is_interrupted17he394224dfe9e3211E.exit: ; preds = %14 %.mask20.i = and i64 %11, -4294967296 %switch.i = icmp eq i64 %.mask20.i, 150323855360 br i1 %switch.i, label %32, label %.loopexit -33: ; preds = %32 +32: ; preds = %_ZN3std2io5error5Error14is_interrupted17he394224dfe9e3211E.exit, %22, %18, %16 call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %4), !noalias !4228 call void @_ZN3std2io5error14repr_bitpacked11decode_repr17h7f027c0f10aa8786E.llvm.4616129397091597767(ptr noalias nocapture noundef nonnull sret([16 x i8]) align 8 dereferenceable(16) %4, ptr noundef nonnull %10), !noalias !4228 - %34 = load i8, ptr %4, align 8, !range !741, !alias.scope !4235, !noalias !4228, !noundef !12 - %switch.not.i.i.i.i = icmp eq i8 %34, 3 - br i1 %switch.not.i.i.i.i, label %35, label %"_ZN4core3ptr42drop_in_place$LT$std..io..error..Error$GT$17hdde326e0d62cd696E.exit" + %33 = load i8, ptr %4, align 8, !range !741, !alias.scope !4235, !noalias !4228, !noundef !12 + %switch.not.i.i.i.i = icmp eq i8 %33, 3 + br i1 %switch.not.i.i.i.i, label %34, label %"_ZN4core3ptr42drop_in_place$LT$std..io..error..Error$GT$17hdde326e0d62cd696E.exit" -35: ; preds = %33 +34: ; preds = %32 call void @"_ZN4core3ptr68drop_in_place$LT$alloc..boxed..Box$LT$std..io..error..Custom$GT$$GT$17hcf054fa5cc492f3cE.llvm.4616129397091597767"(ptr noalias noundef nonnull align 8 dereferenceable(8) %6), !noalias !4228 br label %"_ZN4core3ptr42drop_in_place$LT$std..io..error..Error$GT$17hdde326e0d62cd696E.exit" -"_ZN4core3ptr42drop_in_place$LT$std..io..error..Error$GT$17hdde326e0d62cd696E.exit": ; preds = %33, %35 +"_ZN4core3ptr42drop_in_place$LT$std..io..error..Error$GT$17hdde326e0d62cd696E.exit": ; preds = %32, %34 call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %4), !noalias !4228 - br label %36 + br label %35 -36: ; preds = %.thread, %32, %"_ZN4core3ptr42drop_in_place$LT$std..io..error..Error$GT$17hdde326e0d62cd696E.exit" - %.sroa.0.140 = phi ptr [ %31, %.thread ], [ %.sroa.0.025, %32 ], [ %.sroa.0.025, %"_ZN4core3ptr42drop_in_place$LT$std..io..error..Error$GT$17hdde326e0d62cd696E.exit" ] - %.sroa.4.139 = phi i64 [ %30, %.thread ], [ %.sroa.4.024, %32 ], [ %.sroa.4.024, %"_ZN4core3ptr42drop_in_place$LT$std..io..error..Error$GT$17hdde326e0d62cd696E.exit" ] - %37 = icmp eq i64 %.sroa.4.139, 0 - br i1 %37, label %.loopexit, label %7 +35: ; preds = %.thread, %"_ZN4core3ptr42drop_in_place$LT$std..io..error..Error$GT$17hdde326e0d62cd696E.exit" + %.sroa.0.140 = phi ptr [ %31, %.thread ], [ %.sroa.0.025, %"_ZN4core3ptr42drop_in_place$LT$std..io..error..Error$GT$17hdde326e0d62cd696E.exit" ] + %.sroa.4.139 = phi i64 [ %30, %.thread ], [ %.sroa.4.024, %"_ZN4core3ptr42drop_in_place$LT$std..io..error..Error$GT$17hdde326e0d62cd696E.exit" ] + %36 = icmp eq i64 %.sroa.4.139, 0 + br i1 %36, label %.loopexit, label %7 } ; Function Attrs: nonlazybind uwtable @@ -20807,8 +20791,8 @@ define hidden { i64, ptr } @_ZN3std2io19default_read_to_end17h0f4623e937472525E. %8 = getelementptr inbounds nuw i8, ptr %1, i64 16 %9 = load i64, ptr %8, align 8, !noundef !12 %10 = load i64, ptr %1, align 8, !noundef !12 - %switch = icmp eq i64 %2, 0 - br i1 %switch, label %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17hbb4a75385b98ccebE.exit.thread76.thread", label %11 + %switch = icmp ne i64 %2, 0 + br i1 %switch, label %11, label %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17hbb4a75385b98ccebE.exit.thread76.thread" 11: ; preds = %4 %12 = tail call { i64, i1 } @llvm.uadd.with.overflow.i64(i64 %3, i64 1024) @@ -20819,7 +20803,7 @@ define hidden { i64, ptr } @_ZN3std2io19default_read_to_end17h0f4623e937472525E. %15 = extractvalue { i64, i1 } %12, 0 %16 = and i64 %15, 8191 %17 = icmp eq i64 %16, 0 - br i1 %17, label %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17hbb4a75385b98ccebE.exit.thread76", label %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17hbb4a75385b98ccebE.exit" + br i1 %17, label %"_ZN70_$LT$core..option..Option$LT$T$GT$$u20$as$u20$core..cmp..PartialEq$GT$2eq17h7d3dfecd64ad7117E.llvm.3021571406010367114.exit", label %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17hbb4a75385b98ccebE.exit" "_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17hbb4a75385b98ccebE.exit": ; preds = %14 %18 = sub nuw nsw i64 8192, %16 @@ -20827,17 +20811,13 @@ define hidden { i64, ptr } @_ZN3std2io19default_read_to_end17h0f4623e937472525E. %.fr = freeze { i64, i1 } %19 %20 = extractvalue { i64, i1 } %.fr, 1 %21 = extractvalue { i64, i1 } %.fr, 0 - br i1 %20, label %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17hbb4a75385b98ccebE.exit.thread", label %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17hbb4a75385b98ccebE.exit.thread76" + br i1 %20, label %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17hbb4a75385b98ccebE.exit.thread", label %"_ZN70_$LT$core..option..Option$LT$T$GT$$u20$as$u20$core..cmp..PartialEq$GT$2eq17h7d3dfecd64ad7117E.llvm.3021571406010367114.exit" "_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17hbb4a75385b98ccebE.exit.thread": ; preds = %11, %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17hbb4a75385b98ccebE.exit" - br label %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17hbb4a75385b98ccebE.exit.thread76" + br label %"_ZN70_$LT$core..option..Option$LT$T$GT$$u20$as$u20$core..cmp..PartialEq$GT$2eq17h7d3dfecd64ad7117E.llvm.3021571406010367114.exit" -"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17hbb4a75385b98ccebE.exit.thread76": ; preds = %14, %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17hbb4a75385b98ccebE.exit.thread", %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17hbb4a75385b98ccebE.exit" +"_ZN70_$LT$core..option..Option$LT$T$GT$$u20$as$u20$core..cmp..PartialEq$GT$2eq17h7d3dfecd64ad7117E.llvm.3021571406010367114.exit": ; preds = %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17hbb4a75385b98ccebE.exit", %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17hbb4a75385b98ccebE.exit.thread", %14 %.sroa.03.0 = phi i64 [ 8192, %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17hbb4a75385b98ccebE.exit.thread" ], [ %21, %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17hbb4a75385b98ccebE.exit" ], [ %15, %14 ] - %trunc = trunc nuw i64 %2 to i1 - br i1 %trunc, label %"_ZN70_$LT$core..option..Option$LT$T$GT$$u20$as$u20$core..cmp..PartialEq$GT$2eq17h7d3dfecd64ad7117E.llvm.3021571406010367114.exit", label %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17hbb4a75385b98ccebE.exit.thread76.thread" - -"_ZN70_$LT$core..option..Option$LT$T$GT$$u20$as$u20$core..cmp..PartialEq$GT$2eq17h7d3dfecd64ad7117E.llvm.3021571406010367114.exit": ; preds = %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17hbb4a75385b98ccebE.exit.thread76" %22 = icmp eq i64 %3, 0 %23 = sub i64 %10, %9 %24 = icmp ult i64 %23, 32 @@ -20845,8 +20825,8 @@ define hidden { i64, ptr } @_ZN3std2io19default_read_to_end17h0f4623e937472525E. br i1 %or.cond85, label %35, label %25 25: ; preds = %._crit_edge178, %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17hbb4a75385b98ccebE.exit.thread76.thread", %"_ZN70_$LT$core..option..Option$LT$T$GT$$u20$as$u20$core..cmp..PartialEq$GT$2eq17h7d3dfecd64ad7117E.llvm.3021571406010367114.exit" - %trunc185 = phi i1 [ %trunc186, %._crit_edge178 ], [ false, %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17hbb4a75385b98ccebE.exit.thread76.thread" ], [ true, %"_ZN70_$LT$core..option..Option$LT$T$GT$$u20$as$u20$core..cmp..PartialEq$GT$2eq17h7d3dfecd64ad7117E.llvm.3021571406010367114.exit" ] - %.sroa.03.0182 = phi i64 [ %.sroa.03.0183, %._crit_edge178 ], [ %.sroa.03.0184, %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17hbb4a75385b98ccebE.exit.thread76.thread" ], [ %.sroa.03.0, %"_ZN70_$LT$core..option..Option$LT$T$GT$$u20$as$u20$core..cmp..PartialEq$GT$2eq17h7d3dfecd64ad7117E.llvm.3021571406010367114.exit" ] + %trunc185 = phi i1 [ %switch, %._crit_edge178 ], [ false, %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17hbb4a75385b98ccebE.exit.thread76.thread" ], [ true, %"_ZN70_$LT$core..option..Option$LT$T$GT$$u20$as$u20$core..cmp..PartialEq$GT$2eq17h7d3dfecd64ad7117E.llvm.3021571406010367114.exit" ] + %.sroa.03.0182 = phi i64 [ %.sroa.03.0183, %._crit_edge178 ], [ 8192, %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17hbb4a75385b98ccebE.exit.thread76.thread" ], [ %.sroa.03.0, %"_ZN70_$LT$core..option..Option$LT$T$GT$$u20$as$u20$core..cmp..PartialEq$GT$2eq17h7d3dfecd64ad7117E.llvm.3021571406010367114.exit" ] %.pre = phi i64 [ %.pre.pre, %._crit_edge178 ], [ %9, %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17hbb4a75385b98ccebE.exit.thread76.thread" ], [ %9, %"_ZN70_$LT$core..option..Option$LT$T$GT$$u20$as$u20$core..cmp..PartialEq$GT$2eq17h7d3dfecd64ad7117E.llvm.3021571406010367114.exit" ] %26 = getelementptr inbounds nuw i8, ptr %1, i64 8 %27 = getelementptr inbounds nuw i8, ptr %7, i64 8 @@ -20859,15 +20839,13 @@ define hidden { i64, ptr } @_ZN3std2io19default_read_to_end17h0f4623e937472525E. %34 = getelementptr inbounds nuw i8, ptr %5, i64 8 br label %43 -"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17hbb4a75385b98ccebE.exit.thread76.thread": ; preds = %4, %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17hbb4a75385b98ccebE.exit.thread76" - %.sroa.03.0184 = phi i64 [ %.sroa.03.0, %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17hbb4a75385b98ccebE.exit.thread76" ], [ 8192, %4 ] +"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17hbb4a75385b98ccebE.exit.thread76.thread": ; preds = %4 %.old = sub i64 %10, %9 %.old84 = icmp ult i64 %.old, 32 br i1 %.old84, label %35, label %25 35: ; preds = %"_ZN70_$LT$core..option..Option$LT$T$GT$$u20$as$u20$core..cmp..PartialEq$GT$2eq17h7d3dfecd64ad7117E.llvm.3021571406010367114.exit", %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17hbb4a75385b98ccebE.exit.thread76.thread" - %trunc186 = phi i1 [ true, %"_ZN70_$LT$core..option..Option$LT$T$GT$$u20$as$u20$core..cmp..PartialEq$GT$2eq17h7d3dfecd64ad7117E.llvm.3021571406010367114.exit" ], [ false, %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17hbb4a75385b98ccebE.exit.thread76.thread" ] - %.sroa.03.0183 = phi i64 [ %.sroa.03.0, %"_ZN70_$LT$core..option..Option$LT$T$GT$$u20$as$u20$core..cmp..PartialEq$GT$2eq17h7d3dfecd64ad7117E.llvm.3021571406010367114.exit" ], [ %.sroa.03.0184, %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17hbb4a75385b98ccebE.exit.thread76.thread" ] + %.sroa.03.0183 = phi i64 [ %.sroa.03.0, %"_ZN70_$LT$core..option..Option$LT$T$GT$$u20$as$u20$core..cmp..PartialEq$GT$2eq17h7d3dfecd64ad7117E.llvm.3021571406010367114.exit" ], [ 8192, %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17hbb4a75385b98ccebE.exit.thread76.thread" ] %36 = tail call fastcc { i64, ptr } @_ZN3std2io19default_read_to_end16small_probe_read17h3543133b3f1fa0f1E(ptr noalias noundef align 8 dereferenceable(16) %0, ptr noalias noundef align 8 dereferenceable(24) %1) %37 = extractvalue { i64, ptr } %36, 0 %38 = extractvalue { i64, ptr } %36, 1 @@ -21196,8 +21174,8 @@ define hidden { i64, ptr } @_ZN3std2io19default_read_to_end17h123215ac8102aa8eE. %8 = getelementptr inbounds nuw i8, ptr %1, i64 16 %9 = load i64, ptr %8, align 8, !noundef !12 %10 = load i64, ptr %1, align 8, !noundef !12 - %switch = icmp eq i64 %2, 0 - br i1 %switch, label %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17h4f7636c062ac3cabE.exit.thread76.thread", label %11 + %switch = icmp ne i64 %2, 0 + br i1 %switch, label %11, label %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17h4f7636c062ac3cabE.exit.thread76.thread" 11: ; preds = %4 %12 = tail call { i64, i1 } @llvm.uadd.with.overflow.i64(i64 %3, i64 1024) @@ -21208,7 +21186,7 @@ define hidden { i64, ptr } @_ZN3std2io19default_read_to_end17h123215ac8102aa8eE. %15 = extractvalue { i64, i1 } %12, 0 %16 = and i64 %15, 8191 %17 = icmp eq i64 %16, 0 - br i1 %17, label %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17h4f7636c062ac3cabE.exit.thread76", label %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17h4f7636c062ac3cabE.exit" + br i1 %17, label %"_ZN70_$LT$core..option..Option$LT$T$GT$$u20$as$u20$core..cmp..PartialEq$GT$2eq17h7d3dfecd64ad7117E.llvm.3021571406010367114.exit", label %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17h4f7636c062ac3cabE.exit" "_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17h4f7636c062ac3cabE.exit": ; preds = %14 %18 = sub nuw nsw i64 8192, %16 @@ -21216,17 +21194,13 @@ define hidden { i64, ptr } @_ZN3std2io19default_read_to_end17h123215ac8102aa8eE. %.fr = freeze { i64, i1 } %19 %20 = extractvalue { i64, i1 } %.fr, 1 %21 = extractvalue { i64, i1 } %.fr, 0 - br i1 %20, label %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17h4f7636c062ac3cabE.exit.thread", label %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17h4f7636c062ac3cabE.exit.thread76" + br i1 %20, label %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17h4f7636c062ac3cabE.exit.thread", label %"_ZN70_$LT$core..option..Option$LT$T$GT$$u20$as$u20$core..cmp..PartialEq$GT$2eq17h7d3dfecd64ad7117E.llvm.3021571406010367114.exit" "_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17h4f7636c062ac3cabE.exit.thread": ; preds = %11, %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17h4f7636c062ac3cabE.exit" - br label %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17h4f7636c062ac3cabE.exit.thread76" + br label %"_ZN70_$LT$core..option..Option$LT$T$GT$$u20$as$u20$core..cmp..PartialEq$GT$2eq17h7d3dfecd64ad7117E.llvm.3021571406010367114.exit" -"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17h4f7636c062ac3cabE.exit.thread76": ; preds = %14, %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17h4f7636c062ac3cabE.exit.thread", %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17h4f7636c062ac3cabE.exit" +"_ZN70_$LT$core..option..Option$LT$T$GT$$u20$as$u20$core..cmp..PartialEq$GT$2eq17h7d3dfecd64ad7117E.llvm.3021571406010367114.exit": ; preds = %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17h4f7636c062ac3cabE.exit", %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17h4f7636c062ac3cabE.exit.thread", %14 %.sroa.03.0 = phi i64 [ 8192, %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17h4f7636c062ac3cabE.exit.thread" ], [ %21, %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17h4f7636c062ac3cabE.exit" ], [ %15, %14 ] - %trunc = trunc nuw i64 %2 to i1 - br i1 %trunc, label %"_ZN70_$LT$core..option..Option$LT$T$GT$$u20$as$u20$core..cmp..PartialEq$GT$2eq17h7d3dfecd64ad7117E.llvm.3021571406010367114.exit", label %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17h4f7636c062ac3cabE.exit.thread76.thread" - -"_ZN70_$LT$core..option..Option$LT$T$GT$$u20$as$u20$core..cmp..PartialEq$GT$2eq17h7d3dfecd64ad7117E.llvm.3021571406010367114.exit": ; preds = %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17h4f7636c062ac3cabE.exit.thread76" %22 = icmp eq i64 %3, 0 %23 = sub i64 %10, %9 %24 = icmp ult i64 %23, 32 @@ -21234,8 +21208,8 @@ define hidden { i64, ptr } @_ZN3std2io19default_read_to_end17h123215ac8102aa8eE. br i1 %or.cond85, label %35, label %25 25: ; preds = %._crit_edge178, %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17h4f7636c062ac3cabE.exit.thread76.thread", %"_ZN70_$LT$core..option..Option$LT$T$GT$$u20$as$u20$core..cmp..PartialEq$GT$2eq17h7d3dfecd64ad7117E.llvm.3021571406010367114.exit" - %trunc185 = phi i1 [ %trunc186, %._crit_edge178 ], [ false, %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17h4f7636c062ac3cabE.exit.thread76.thread" ], [ true, %"_ZN70_$LT$core..option..Option$LT$T$GT$$u20$as$u20$core..cmp..PartialEq$GT$2eq17h7d3dfecd64ad7117E.llvm.3021571406010367114.exit" ] - %.sroa.03.0182 = phi i64 [ %.sroa.03.0183, %._crit_edge178 ], [ %.sroa.03.0184, %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17h4f7636c062ac3cabE.exit.thread76.thread" ], [ %.sroa.03.0, %"_ZN70_$LT$core..option..Option$LT$T$GT$$u20$as$u20$core..cmp..PartialEq$GT$2eq17h7d3dfecd64ad7117E.llvm.3021571406010367114.exit" ] + %trunc185 = phi i1 [ %switch, %._crit_edge178 ], [ false, %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17h4f7636c062ac3cabE.exit.thread76.thread" ], [ true, %"_ZN70_$LT$core..option..Option$LT$T$GT$$u20$as$u20$core..cmp..PartialEq$GT$2eq17h7d3dfecd64ad7117E.llvm.3021571406010367114.exit" ] + %.sroa.03.0182 = phi i64 [ %.sroa.03.0183, %._crit_edge178 ], [ 8192, %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17h4f7636c062ac3cabE.exit.thread76.thread" ], [ %.sroa.03.0, %"_ZN70_$LT$core..option..Option$LT$T$GT$$u20$as$u20$core..cmp..PartialEq$GT$2eq17h7d3dfecd64ad7117E.llvm.3021571406010367114.exit" ] %.pre = phi i64 [ %.pre.pre, %._crit_edge178 ], [ %9, %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17h4f7636c062ac3cabE.exit.thread76.thread" ], [ %9, %"_ZN70_$LT$core..option..Option$LT$T$GT$$u20$as$u20$core..cmp..PartialEq$GT$2eq17h7d3dfecd64ad7117E.llvm.3021571406010367114.exit" ] %26 = getelementptr inbounds nuw i8, ptr %1, i64 8 %27 = getelementptr inbounds nuw i8, ptr %7, i64 8 @@ -21248,15 +21222,13 @@ define hidden { i64, ptr } @_ZN3std2io19default_read_to_end17h123215ac8102aa8eE. %34 = getelementptr inbounds nuw i8, ptr %5, i64 8 br label %43 -"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17h4f7636c062ac3cabE.exit.thread76.thread": ; preds = %4, %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17h4f7636c062ac3cabE.exit.thread76" - %.sroa.03.0184 = phi i64 [ %.sroa.03.0, %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17h4f7636c062ac3cabE.exit.thread76" ], [ 8192, %4 ] +"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17h4f7636c062ac3cabE.exit.thread76.thread": ; preds = %4 %.old = sub i64 %10, %9 %.old84 = icmp ult i64 %.old, 32 br i1 %.old84, label %35, label %25 35: ; preds = %"_ZN70_$LT$core..option..Option$LT$T$GT$$u20$as$u20$core..cmp..PartialEq$GT$2eq17h7d3dfecd64ad7117E.llvm.3021571406010367114.exit", %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17h4f7636c062ac3cabE.exit.thread76.thread" - %trunc186 = phi i1 [ true, %"_ZN70_$LT$core..option..Option$LT$T$GT$$u20$as$u20$core..cmp..PartialEq$GT$2eq17h7d3dfecd64ad7117E.llvm.3021571406010367114.exit" ], [ false, %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17h4f7636c062ac3cabE.exit.thread76.thread" ] - %.sroa.03.0183 = phi i64 [ %.sroa.03.0, %"_ZN70_$LT$core..option..Option$LT$T$GT$$u20$as$u20$core..cmp..PartialEq$GT$2eq17h7d3dfecd64ad7117E.llvm.3021571406010367114.exit" ], [ %.sroa.03.0184, %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17h4f7636c062ac3cabE.exit.thread76.thread" ] + %.sroa.03.0183 = phi i64 [ %.sroa.03.0, %"_ZN70_$LT$core..option..Option$LT$T$GT$$u20$as$u20$core..cmp..PartialEq$GT$2eq17h7d3dfecd64ad7117E.llvm.3021571406010367114.exit" ], [ 8192, %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17h4f7636c062ac3cabE.exit.thread76.thread" ] %36 = tail call fastcc { i64, ptr } @_ZN3std2io19default_read_to_end16small_probe_read17h382d87fb8f4b743aE(ptr noalias noundef align 8 dereferenceable(16) %0, ptr noalias noundef align 8 dereferenceable(24) %1) %37 = extractvalue { i64, ptr } %36, 0 %38 = extractvalue { i64, ptr } %36, 1 @@ -21585,8 +21557,8 @@ define hidden { i64, ptr } @_ZN3std2io19default_read_to_end17h214beab3443f91ebE. %8 = getelementptr inbounds nuw i8, ptr %1, i64 16 %9 = load i64, ptr %8, align 8, !noundef !12 %10 = load i64, ptr %1, align 8, !noundef !12 - %switch = icmp eq i64 %2, 0 - br i1 %switch, label %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17hbbd0455b15159125E.exit.thread76.thread", label %11 + %switch = icmp ne i64 %2, 0 + br i1 %switch, label %11, label %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17hbbd0455b15159125E.exit.thread76.thread" 11: ; preds = %4 %12 = tail call { i64, i1 } @llvm.uadd.with.overflow.i64(i64 %3, i64 1024) @@ -21597,7 +21569,7 @@ define hidden { i64, ptr } @_ZN3std2io19default_read_to_end17h214beab3443f91ebE. %15 = extractvalue { i64, i1 } %12, 0 %16 = and i64 %15, 8191 %17 = icmp eq i64 %16, 0 - br i1 %17, label %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17hbbd0455b15159125E.exit.thread76", label %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17hbbd0455b15159125E.exit" + br i1 %17, label %"_ZN70_$LT$core..option..Option$LT$T$GT$$u20$as$u20$core..cmp..PartialEq$GT$2eq17h7d3dfecd64ad7117E.llvm.3021571406010367114.exit", label %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17hbbd0455b15159125E.exit" "_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17hbbd0455b15159125E.exit": ; preds = %14 %18 = sub nuw nsw i64 8192, %16 @@ -21605,17 +21577,13 @@ define hidden { i64, ptr } @_ZN3std2io19default_read_to_end17h214beab3443f91ebE. %.fr = freeze { i64, i1 } %19 %20 = extractvalue { i64, i1 } %.fr, 1 %21 = extractvalue { i64, i1 } %.fr, 0 - br i1 %20, label %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17hbbd0455b15159125E.exit.thread", label %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17hbbd0455b15159125E.exit.thread76" + br i1 %20, label %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17hbbd0455b15159125E.exit.thread", label %"_ZN70_$LT$core..option..Option$LT$T$GT$$u20$as$u20$core..cmp..PartialEq$GT$2eq17h7d3dfecd64ad7117E.llvm.3021571406010367114.exit" "_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17hbbd0455b15159125E.exit.thread": ; preds = %11, %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17hbbd0455b15159125E.exit" - br label %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17hbbd0455b15159125E.exit.thread76" + br label %"_ZN70_$LT$core..option..Option$LT$T$GT$$u20$as$u20$core..cmp..PartialEq$GT$2eq17h7d3dfecd64ad7117E.llvm.3021571406010367114.exit" -"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17hbbd0455b15159125E.exit.thread76": ; preds = %14, %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17hbbd0455b15159125E.exit.thread", %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17hbbd0455b15159125E.exit" +"_ZN70_$LT$core..option..Option$LT$T$GT$$u20$as$u20$core..cmp..PartialEq$GT$2eq17h7d3dfecd64ad7117E.llvm.3021571406010367114.exit": ; preds = %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17hbbd0455b15159125E.exit", %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17hbbd0455b15159125E.exit.thread", %14 %.sroa.03.0 = phi i64 [ 8192, %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17hbbd0455b15159125E.exit.thread" ], [ %21, %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17hbbd0455b15159125E.exit" ], [ %15, %14 ] - %trunc = trunc nuw i64 %2 to i1 - br i1 %trunc, label %"_ZN70_$LT$core..option..Option$LT$T$GT$$u20$as$u20$core..cmp..PartialEq$GT$2eq17h7d3dfecd64ad7117E.llvm.3021571406010367114.exit", label %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17hbbd0455b15159125E.exit.thread76.thread" - -"_ZN70_$LT$core..option..Option$LT$T$GT$$u20$as$u20$core..cmp..PartialEq$GT$2eq17h7d3dfecd64ad7117E.llvm.3021571406010367114.exit": ; preds = %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17hbbd0455b15159125E.exit.thread76" %22 = icmp eq i64 %3, 0 %23 = sub i64 %10, %9 %24 = icmp ult i64 %23, 32 @@ -21623,8 +21591,8 @@ define hidden { i64, ptr } @_ZN3std2io19default_read_to_end17h214beab3443f91ebE. br i1 %or.cond85, label %35, label %25 25: ; preds = %._crit_edge178, %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17hbbd0455b15159125E.exit.thread76.thread", %"_ZN70_$LT$core..option..Option$LT$T$GT$$u20$as$u20$core..cmp..PartialEq$GT$2eq17h7d3dfecd64ad7117E.llvm.3021571406010367114.exit" - %trunc185 = phi i1 [ %trunc186, %._crit_edge178 ], [ false, %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17hbbd0455b15159125E.exit.thread76.thread" ], [ true, %"_ZN70_$LT$core..option..Option$LT$T$GT$$u20$as$u20$core..cmp..PartialEq$GT$2eq17h7d3dfecd64ad7117E.llvm.3021571406010367114.exit" ] - %.sroa.03.0182 = phi i64 [ %.sroa.03.0183, %._crit_edge178 ], [ %.sroa.03.0184, %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17hbbd0455b15159125E.exit.thread76.thread" ], [ %.sroa.03.0, %"_ZN70_$LT$core..option..Option$LT$T$GT$$u20$as$u20$core..cmp..PartialEq$GT$2eq17h7d3dfecd64ad7117E.llvm.3021571406010367114.exit" ] + %trunc185 = phi i1 [ %switch, %._crit_edge178 ], [ false, %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17hbbd0455b15159125E.exit.thread76.thread" ], [ true, %"_ZN70_$LT$core..option..Option$LT$T$GT$$u20$as$u20$core..cmp..PartialEq$GT$2eq17h7d3dfecd64ad7117E.llvm.3021571406010367114.exit" ] + %.sroa.03.0182 = phi i64 [ %.sroa.03.0183, %._crit_edge178 ], [ 8192, %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17hbbd0455b15159125E.exit.thread76.thread" ], [ %.sroa.03.0, %"_ZN70_$LT$core..option..Option$LT$T$GT$$u20$as$u20$core..cmp..PartialEq$GT$2eq17h7d3dfecd64ad7117E.llvm.3021571406010367114.exit" ] %.pre = phi i64 [ %.pre.pre, %._crit_edge178 ], [ %9, %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17hbbd0455b15159125E.exit.thread76.thread" ], [ %9, %"_ZN70_$LT$core..option..Option$LT$T$GT$$u20$as$u20$core..cmp..PartialEq$GT$2eq17h7d3dfecd64ad7117E.llvm.3021571406010367114.exit" ] %26 = getelementptr inbounds nuw i8, ptr %1, i64 8 %27 = getelementptr inbounds nuw i8, ptr %7, i64 8 @@ -21637,15 +21605,13 @@ define hidden { i64, ptr } @_ZN3std2io19default_read_to_end17h214beab3443f91ebE. %34 = getelementptr inbounds nuw i8, ptr %5, i64 8 br label %43 -"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17hbbd0455b15159125E.exit.thread76.thread": ; preds = %4, %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17hbbd0455b15159125E.exit.thread76" - %.sroa.03.0184 = phi i64 [ %.sroa.03.0, %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17hbbd0455b15159125E.exit.thread76" ], [ 8192, %4 ] +"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17hbbd0455b15159125E.exit.thread76.thread": ; preds = %4 %.old = sub i64 %10, %9 %.old84 = icmp ult i64 %.old, 32 br i1 %.old84, label %35, label %25 35: ; preds = %"_ZN70_$LT$core..option..Option$LT$T$GT$$u20$as$u20$core..cmp..PartialEq$GT$2eq17h7d3dfecd64ad7117E.llvm.3021571406010367114.exit", %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17hbbd0455b15159125E.exit.thread76.thread" - %trunc186 = phi i1 [ true, %"_ZN70_$LT$core..option..Option$LT$T$GT$$u20$as$u20$core..cmp..PartialEq$GT$2eq17h7d3dfecd64ad7117E.llvm.3021571406010367114.exit" ], [ false, %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17hbbd0455b15159125E.exit.thread76.thread" ] - %.sroa.03.0183 = phi i64 [ %.sroa.03.0, %"_ZN70_$LT$core..option..Option$LT$T$GT$$u20$as$u20$core..cmp..PartialEq$GT$2eq17h7d3dfecd64ad7117E.llvm.3021571406010367114.exit" ], [ %.sroa.03.0184, %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17hbbd0455b15159125E.exit.thread76.thread" ] + %.sroa.03.0183 = phi i64 [ %.sroa.03.0, %"_ZN70_$LT$core..option..Option$LT$T$GT$$u20$as$u20$core..cmp..PartialEq$GT$2eq17h7d3dfecd64ad7117E.llvm.3021571406010367114.exit" ], [ 8192, %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17hbbd0455b15159125E.exit.thread76.thread" ] %36 = tail call fastcc { i64, ptr } @_ZN3std2io19default_read_to_end16small_probe_read17hd9b827521d0da44cE(ptr noalias noundef align 8 dereferenceable(16) %0, ptr noalias noundef align 8 dereferenceable(24) %1) %37 = extractvalue { i64, ptr } %36, 0 %38 = extractvalue { i64, ptr } %36, 1 @@ -21970,8 +21936,8 @@ define hidden { i64, ptr } @_ZN3std2io19default_read_to_end17h2c0982a528dc3772E. %8 = getelementptr inbounds nuw i8, ptr %1, i64 16 %9 = load i64, ptr %8, align 8, !noundef !12 %10 = load i64, ptr %1, align 8, !noundef !12 - %switch = icmp eq i64 %2, 0 - br i1 %switch, label %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17h13269ee9ea46ef82E.exit.thread76.thread", label %11 + %switch = icmp ne i64 %2, 0 + br i1 %switch, label %11, label %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17h13269ee9ea46ef82E.exit.thread76.thread" 11: ; preds = %4 %12 = tail call { i64, i1 } @llvm.uadd.with.overflow.i64(i64 %3, i64 1024) @@ -21982,7 +21948,7 @@ define hidden { i64, ptr } @_ZN3std2io19default_read_to_end17h2c0982a528dc3772E. %15 = extractvalue { i64, i1 } %12, 0 %16 = and i64 %15, 8191 %17 = icmp eq i64 %16, 0 - br i1 %17, label %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17h13269ee9ea46ef82E.exit.thread76", label %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17h13269ee9ea46ef82E.exit" + br i1 %17, label %"_ZN70_$LT$core..option..Option$LT$T$GT$$u20$as$u20$core..cmp..PartialEq$GT$2eq17h7d3dfecd64ad7117E.llvm.3021571406010367114.exit", label %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17h13269ee9ea46ef82E.exit" "_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17h13269ee9ea46ef82E.exit": ; preds = %14 %18 = sub nuw nsw i64 8192, %16 @@ -21990,17 +21956,13 @@ define hidden { i64, ptr } @_ZN3std2io19default_read_to_end17h2c0982a528dc3772E. %.fr = freeze { i64, i1 } %19 %20 = extractvalue { i64, i1 } %.fr, 1 %21 = extractvalue { i64, i1 } %.fr, 0 - br i1 %20, label %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17h13269ee9ea46ef82E.exit.thread", label %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17h13269ee9ea46ef82E.exit.thread76" + br i1 %20, label %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17h13269ee9ea46ef82E.exit.thread", label %"_ZN70_$LT$core..option..Option$LT$T$GT$$u20$as$u20$core..cmp..PartialEq$GT$2eq17h7d3dfecd64ad7117E.llvm.3021571406010367114.exit" "_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17h13269ee9ea46ef82E.exit.thread": ; preds = %11, %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17h13269ee9ea46ef82E.exit" - br label %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17h13269ee9ea46ef82E.exit.thread76" + br label %"_ZN70_$LT$core..option..Option$LT$T$GT$$u20$as$u20$core..cmp..PartialEq$GT$2eq17h7d3dfecd64ad7117E.llvm.3021571406010367114.exit" -"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17h13269ee9ea46ef82E.exit.thread76": ; preds = %14, %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17h13269ee9ea46ef82E.exit.thread", %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17h13269ee9ea46ef82E.exit" +"_ZN70_$LT$core..option..Option$LT$T$GT$$u20$as$u20$core..cmp..PartialEq$GT$2eq17h7d3dfecd64ad7117E.llvm.3021571406010367114.exit": ; preds = %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17h13269ee9ea46ef82E.exit", %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17h13269ee9ea46ef82E.exit.thread", %14 %.sroa.03.0 = phi i64 [ 8192, %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17h13269ee9ea46ef82E.exit.thread" ], [ %21, %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17h13269ee9ea46ef82E.exit" ], [ %15, %14 ] - %trunc = trunc nuw i64 %2 to i1 - br i1 %trunc, label %"_ZN70_$LT$core..option..Option$LT$T$GT$$u20$as$u20$core..cmp..PartialEq$GT$2eq17h7d3dfecd64ad7117E.llvm.3021571406010367114.exit", label %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17h13269ee9ea46ef82E.exit.thread76.thread" - -"_ZN70_$LT$core..option..Option$LT$T$GT$$u20$as$u20$core..cmp..PartialEq$GT$2eq17h7d3dfecd64ad7117E.llvm.3021571406010367114.exit": ; preds = %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17h13269ee9ea46ef82E.exit.thread76" %22 = icmp eq i64 %3, 0 %23 = sub i64 %10, %9 %24 = icmp ult i64 %23, 32 @@ -22008,8 +21970,8 @@ define hidden { i64, ptr } @_ZN3std2io19default_read_to_end17h2c0982a528dc3772E. br i1 %or.cond85, label %35, label %25 25: ; preds = %._crit_edge178, %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17h13269ee9ea46ef82E.exit.thread76.thread", %"_ZN70_$LT$core..option..Option$LT$T$GT$$u20$as$u20$core..cmp..PartialEq$GT$2eq17h7d3dfecd64ad7117E.llvm.3021571406010367114.exit" - %trunc185 = phi i1 [ %trunc186, %._crit_edge178 ], [ false, %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17h13269ee9ea46ef82E.exit.thread76.thread" ], [ true, %"_ZN70_$LT$core..option..Option$LT$T$GT$$u20$as$u20$core..cmp..PartialEq$GT$2eq17h7d3dfecd64ad7117E.llvm.3021571406010367114.exit" ] - %.sroa.03.0182 = phi i64 [ %.sroa.03.0183, %._crit_edge178 ], [ %.sroa.03.0184, %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17h13269ee9ea46ef82E.exit.thread76.thread" ], [ %.sroa.03.0, %"_ZN70_$LT$core..option..Option$LT$T$GT$$u20$as$u20$core..cmp..PartialEq$GT$2eq17h7d3dfecd64ad7117E.llvm.3021571406010367114.exit" ] + %trunc185 = phi i1 [ %switch, %._crit_edge178 ], [ false, %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17h13269ee9ea46ef82E.exit.thread76.thread" ], [ true, %"_ZN70_$LT$core..option..Option$LT$T$GT$$u20$as$u20$core..cmp..PartialEq$GT$2eq17h7d3dfecd64ad7117E.llvm.3021571406010367114.exit" ] + %.sroa.03.0182 = phi i64 [ %.sroa.03.0183, %._crit_edge178 ], [ 8192, %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17h13269ee9ea46ef82E.exit.thread76.thread" ], [ %.sroa.03.0, %"_ZN70_$LT$core..option..Option$LT$T$GT$$u20$as$u20$core..cmp..PartialEq$GT$2eq17h7d3dfecd64ad7117E.llvm.3021571406010367114.exit" ] %.pre = phi i64 [ %.pre.pre, %._crit_edge178 ], [ %9, %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17h13269ee9ea46ef82E.exit.thread76.thread" ], [ %9, %"_ZN70_$LT$core..option..Option$LT$T$GT$$u20$as$u20$core..cmp..PartialEq$GT$2eq17h7d3dfecd64ad7117E.llvm.3021571406010367114.exit" ] %26 = getelementptr inbounds nuw i8, ptr %1, i64 8 %27 = getelementptr inbounds nuw i8, ptr %7, i64 8 @@ -22022,15 +21984,13 @@ define hidden { i64, ptr } @_ZN3std2io19default_read_to_end17h2c0982a528dc3772E. %34 = getelementptr inbounds nuw i8, ptr %5, i64 8 br label %43 -"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17h13269ee9ea46ef82E.exit.thread76.thread": ; preds = %4, %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17h13269ee9ea46ef82E.exit.thread76" - %.sroa.03.0184 = phi i64 [ %.sroa.03.0, %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17h13269ee9ea46ef82E.exit.thread76" ], [ 8192, %4 ] +"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17h13269ee9ea46ef82E.exit.thread76.thread": ; preds = %4 %.old = sub i64 %10, %9 %.old84 = icmp ult i64 %.old, 32 br i1 %.old84, label %35, label %25 35: ; preds = %"_ZN70_$LT$core..option..Option$LT$T$GT$$u20$as$u20$core..cmp..PartialEq$GT$2eq17h7d3dfecd64ad7117E.llvm.3021571406010367114.exit", %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17h13269ee9ea46ef82E.exit.thread76.thread" - %trunc186 = phi i1 [ true, %"_ZN70_$LT$core..option..Option$LT$T$GT$$u20$as$u20$core..cmp..PartialEq$GT$2eq17h7d3dfecd64ad7117E.llvm.3021571406010367114.exit" ], [ false, %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17h13269ee9ea46ef82E.exit.thread76.thread" ] - %.sroa.03.0183 = phi i64 [ %.sroa.03.0, %"_ZN70_$LT$core..option..Option$LT$T$GT$$u20$as$u20$core..cmp..PartialEq$GT$2eq17h7d3dfecd64ad7117E.llvm.3021571406010367114.exit" ], [ %.sroa.03.0184, %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17h13269ee9ea46ef82E.exit.thread76.thread" ] + %.sroa.03.0183 = phi i64 [ %.sroa.03.0, %"_ZN70_$LT$core..option..Option$LT$T$GT$$u20$as$u20$core..cmp..PartialEq$GT$2eq17h7d3dfecd64ad7117E.llvm.3021571406010367114.exit" ], [ 8192, %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17h13269ee9ea46ef82E.exit.thread76.thread" ] %36 = tail call fastcc { i64, ptr } @_ZN3std2io19default_read_to_end16small_probe_read17hd55d022f32162f01E(ptr noalias noundef align 8 dereferenceable(16) %0, ptr noalias noundef align 8 dereferenceable(24) %1) %37 = extractvalue { i64, ptr } %36, 0 %38 = extractvalue { i64, ptr } %36, 1 @@ -22352,8 +22312,8 @@ define hidden { i64, ptr } @_ZN3std2io19default_read_to_end17h32852852daf0bf99E. %5 = getelementptr inbounds nuw i8, ptr %1, i64 16 %6 = load i64, ptr %5, align 8, !noundef !12 %7 = load i64, ptr %1, align 8, !noundef !12 - %switch = icmp eq i64 %2, 0 - br i1 %switch, label %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17hdb0fc86190724362E.exit.thread84.thread", label %8 + %switch = icmp ne i64 %2, 0 + br i1 %switch, label %8, label %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17hdb0fc86190724362E.exit.thread84.thread" 8: ; preds = %4 %9 = tail call { i64, i1 } @llvm.uadd.with.overflow.i64(i64 %3, i64 1024) @@ -22364,7 +22324,7 @@ define hidden { i64, ptr } @_ZN3std2io19default_read_to_end17h32852852daf0bf99E. %12 = extractvalue { i64, i1 } %9, 0 %13 = and i64 %12, 8191 %14 = icmp eq i64 %13, 0 - br i1 %14, label %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17hdb0fc86190724362E.exit.thread84", label %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17hdb0fc86190724362E.exit" + br i1 %14, label %"_ZN70_$LT$core..option..Option$LT$T$GT$$u20$as$u20$core..cmp..PartialEq$GT$2eq17h7d3dfecd64ad7117E.llvm.3021571406010367114.exit", label %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17hdb0fc86190724362E.exit" "_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17hdb0fc86190724362E.exit": ; preds = %11 %15 = sub nuw nsw i64 8192, %13 @@ -22372,17 +22332,13 @@ define hidden { i64, ptr } @_ZN3std2io19default_read_to_end17h32852852daf0bf99E. %.fr = freeze { i64, i1 } %16 %17 = extractvalue { i64, i1 } %.fr, 1 %18 = extractvalue { i64, i1 } %.fr, 0 - br i1 %17, label %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17hdb0fc86190724362E.exit.thread", label %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17hdb0fc86190724362E.exit.thread84" + br i1 %17, label %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17hdb0fc86190724362E.exit.thread", label %"_ZN70_$LT$core..option..Option$LT$T$GT$$u20$as$u20$core..cmp..PartialEq$GT$2eq17h7d3dfecd64ad7117E.llvm.3021571406010367114.exit" "_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17hdb0fc86190724362E.exit.thread": ; preds = %8, %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17hdb0fc86190724362E.exit" - br label %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17hdb0fc86190724362E.exit.thread84" + br label %"_ZN70_$LT$core..option..Option$LT$T$GT$$u20$as$u20$core..cmp..PartialEq$GT$2eq17h7d3dfecd64ad7117E.llvm.3021571406010367114.exit" -"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17hdb0fc86190724362E.exit.thread84": ; preds = %11, %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17hdb0fc86190724362E.exit.thread", %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17hdb0fc86190724362E.exit" +"_ZN70_$LT$core..option..Option$LT$T$GT$$u20$as$u20$core..cmp..PartialEq$GT$2eq17h7d3dfecd64ad7117E.llvm.3021571406010367114.exit": ; preds = %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17hdb0fc86190724362E.exit", %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17hdb0fc86190724362E.exit.thread", %11 %.sroa.03.0 = phi i64 [ 8192, %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17hdb0fc86190724362E.exit.thread" ], [ %18, %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17hdb0fc86190724362E.exit" ], [ %12, %11 ] - %trunc = trunc nuw i64 %2 to i1 - br i1 %trunc, label %"_ZN70_$LT$core..option..Option$LT$T$GT$$u20$as$u20$core..cmp..PartialEq$GT$2eq17h7d3dfecd64ad7117E.llvm.3021571406010367114.exit", label %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17hdb0fc86190724362E.exit.thread84.thread" - -"_ZN70_$LT$core..option..Option$LT$T$GT$$u20$as$u20$core..cmp..PartialEq$GT$2eq17h7d3dfecd64ad7117E.llvm.3021571406010367114.exit": ; preds = %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17hdb0fc86190724362E.exit.thread84" %19 = icmp eq i64 %3, 0 %20 = sub i64 %7, %6 %21 = icmp ult i64 %20, 32 @@ -22390,22 +22346,20 @@ define hidden { i64, ptr } @_ZN3std2io19default_read_to_end17h32852852daf0bf99E. br i1 %or.cond107, label %25, label %22 22: ; preds = %._crit_edge152, %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17hdb0fc86190724362E.exit.thread84.thread", %"_ZN70_$LT$core..option..Option$LT$T$GT$$u20$as$u20$core..cmp..PartialEq$GT$2eq17h7d3dfecd64ad7117E.llvm.3021571406010367114.exit" - %trunc159 = phi i1 [ %trunc160, %._crit_edge152 ], [ false, %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17hdb0fc86190724362E.exit.thread84.thread" ], [ true, %"_ZN70_$LT$core..option..Option$LT$T$GT$$u20$as$u20$core..cmp..PartialEq$GT$2eq17h7d3dfecd64ad7117E.llvm.3021571406010367114.exit" ] - %.sroa.03.0156 = phi i64 [ %.sroa.03.0157, %._crit_edge152 ], [ %.sroa.03.0158, %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17hdb0fc86190724362E.exit.thread84.thread" ], [ %.sroa.03.0, %"_ZN70_$LT$core..option..Option$LT$T$GT$$u20$as$u20$core..cmp..PartialEq$GT$2eq17h7d3dfecd64ad7117E.llvm.3021571406010367114.exit" ] + %trunc159 = phi i1 [ %switch, %._crit_edge152 ], [ false, %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17hdb0fc86190724362E.exit.thread84.thread" ], [ true, %"_ZN70_$LT$core..option..Option$LT$T$GT$$u20$as$u20$core..cmp..PartialEq$GT$2eq17h7d3dfecd64ad7117E.llvm.3021571406010367114.exit" ] + %.sroa.03.0156 = phi i64 [ %.sroa.03.0157, %._crit_edge152 ], [ 8192, %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17hdb0fc86190724362E.exit.thread84.thread" ], [ %.sroa.03.0, %"_ZN70_$LT$core..option..Option$LT$T$GT$$u20$as$u20$core..cmp..PartialEq$GT$2eq17h7d3dfecd64ad7117E.llvm.3021571406010367114.exit" ] %.pre = phi i64 [ %.pre.pre, %._crit_edge152 ], [ %6, %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17hdb0fc86190724362E.exit.thread84.thread" ], [ %6, %"_ZN70_$LT$core..option..Option$LT$T$GT$$u20$as$u20$core..cmp..PartialEq$GT$2eq17h7d3dfecd64ad7117E.llvm.3021571406010367114.exit" ] %23 = getelementptr inbounds nuw i8, ptr %1, i64 8 %24 = getelementptr inbounds nuw i8, ptr %0, i64 8 br label %.outer -"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17hdb0fc86190724362E.exit.thread84.thread": ; preds = %4, %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17hdb0fc86190724362E.exit.thread84" - %.sroa.03.0158 = phi i64 [ %.sroa.03.0, %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17hdb0fc86190724362E.exit.thread84" ], [ 8192, %4 ] +"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17hdb0fc86190724362E.exit.thread84.thread": ; preds = %4 %.old = sub i64 %7, %6 %.old106 = icmp ult i64 %.old, 32 br i1 %.old106, label %25, label %22 25: ; preds = %"_ZN70_$LT$core..option..Option$LT$T$GT$$u20$as$u20$core..cmp..PartialEq$GT$2eq17h7d3dfecd64ad7117E.llvm.3021571406010367114.exit", %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17hdb0fc86190724362E.exit.thread84.thread" - %trunc160 = phi i1 [ true, %"_ZN70_$LT$core..option..Option$LT$T$GT$$u20$as$u20$core..cmp..PartialEq$GT$2eq17h7d3dfecd64ad7117E.llvm.3021571406010367114.exit" ], [ false, %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17hdb0fc86190724362E.exit.thread84.thread" ] - %.sroa.03.0157 = phi i64 [ %.sroa.03.0, %"_ZN70_$LT$core..option..Option$LT$T$GT$$u20$as$u20$core..cmp..PartialEq$GT$2eq17h7d3dfecd64ad7117E.llvm.3021571406010367114.exit" ], [ %.sroa.03.0158, %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17hdb0fc86190724362E.exit.thread84.thread" ] + %.sroa.03.0157 = phi i64 [ %.sroa.03.0, %"_ZN70_$LT$core..option..Option$LT$T$GT$$u20$as$u20$core..cmp..PartialEq$GT$2eq17h7d3dfecd64ad7117E.llvm.3021571406010367114.exit" ], [ 8192, %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17hdb0fc86190724362E.exit.thread84.thread" ] %26 = tail call fastcc { i64, ptr } @_ZN3std2io19default_read_to_end16small_probe_read17h190a60eb7ce38752E(ptr noalias noundef align 8 dereferenceable(16) %0, ptr noalias noundef align 8 dereferenceable(24) %1) %27 = extractvalue { i64, ptr } %26, 0 %28 = extractvalue { i64, ptr } %26, 1 @@ -22641,8 +22595,8 @@ define hidden { i64, ptr } @_ZN3std2io19default_read_to_end17h56943551a6a633f7E. %8 = getelementptr inbounds nuw i8, ptr %1, i64 16 %9 = load i64, ptr %8, align 8, !noundef !12 %10 = load i64, ptr %1, align 8, !noundef !12 - %switch = icmp eq i64 %2, 0 - br i1 %switch, label %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17h96283fff76bf5e6cE.exit.thread76.thread", label %11 + %switch = icmp ne i64 %2, 0 + br i1 %switch, label %11, label %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17h96283fff76bf5e6cE.exit.thread76.thread" 11: ; preds = %4 %12 = tail call { i64, i1 } @llvm.uadd.with.overflow.i64(i64 %3, i64 1024) @@ -22653,7 +22607,7 @@ define hidden { i64, ptr } @_ZN3std2io19default_read_to_end17h56943551a6a633f7E. %15 = extractvalue { i64, i1 } %12, 0 %16 = and i64 %15, 8191 %17 = icmp eq i64 %16, 0 - br i1 %17, label %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17h96283fff76bf5e6cE.exit.thread76", label %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17h96283fff76bf5e6cE.exit" + br i1 %17, label %"_ZN70_$LT$core..option..Option$LT$T$GT$$u20$as$u20$core..cmp..PartialEq$GT$2eq17h7d3dfecd64ad7117E.llvm.3021571406010367114.exit", label %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17h96283fff76bf5e6cE.exit" "_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17h96283fff76bf5e6cE.exit": ; preds = %14 %18 = sub nuw nsw i64 8192, %16 @@ -22661,17 +22615,13 @@ define hidden { i64, ptr } @_ZN3std2io19default_read_to_end17h56943551a6a633f7E. %.fr = freeze { i64, i1 } %19 %20 = extractvalue { i64, i1 } %.fr, 1 %21 = extractvalue { i64, i1 } %.fr, 0 - br i1 %20, label %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17h96283fff76bf5e6cE.exit.thread", label %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17h96283fff76bf5e6cE.exit.thread76" + br i1 %20, label %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17h96283fff76bf5e6cE.exit.thread", label %"_ZN70_$LT$core..option..Option$LT$T$GT$$u20$as$u20$core..cmp..PartialEq$GT$2eq17h7d3dfecd64ad7117E.llvm.3021571406010367114.exit" "_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17h96283fff76bf5e6cE.exit.thread": ; preds = %11, %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17h96283fff76bf5e6cE.exit" - br label %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17h96283fff76bf5e6cE.exit.thread76" + br label %"_ZN70_$LT$core..option..Option$LT$T$GT$$u20$as$u20$core..cmp..PartialEq$GT$2eq17h7d3dfecd64ad7117E.llvm.3021571406010367114.exit" -"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17h96283fff76bf5e6cE.exit.thread76": ; preds = %14, %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17h96283fff76bf5e6cE.exit.thread", %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17h96283fff76bf5e6cE.exit" +"_ZN70_$LT$core..option..Option$LT$T$GT$$u20$as$u20$core..cmp..PartialEq$GT$2eq17h7d3dfecd64ad7117E.llvm.3021571406010367114.exit": ; preds = %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17h96283fff76bf5e6cE.exit", %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17h96283fff76bf5e6cE.exit.thread", %14 %.sroa.03.0 = phi i64 [ 8192, %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17h96283fff76bf5e6cE.exit.thread" ], [ %21, %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17h96283fff76bf5e6cE.exit" ], [ %15, %14 ] - %trunc = trunc nuw i64 %2 to i1 - br i1 %trunc, label %"_ZN70_$LT$core..option..Option$LT$T$GT$$u20$as$u20$core..cmp..PartialEq$GT$2eq17h7d3dfecd64ad7117E.llvm.3021571406010367114.exit", label %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17h96283fff76bf5e6cE.exit.thread76.thread" - -"_ZN70_$LT$core..option..Option$LT$T$GT$$u20$as$u20$core..cmp..PartialEq$GT$2eq17h7d3dfecd64ad7117E.llvm.3021571406010367114.exit": ; preds = %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17h96283fff76bf5e6cE.exit.thread76" %22 = icmp eq i64 %3, 0 %23 = sub i64 %10, %9 %24 = icmp ult i64 %23, 32 @@ -22679,8 +22629,8 @@ define hidden { i64, ptr } @_ZN3std2io19default_read_to_end17h56943551a6a633f7E. br i1 %or.cond85, label %35, label %25 25: ; preds = %._crit_edge178, %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17h96283fff76bf5e6cE.exit.thread76.thread", %"_ZN70_$LT$core..option..Option$LT$T$GT$$u20$as$u20$core..cmp..PartialEq$GT$2eq17h7d3dfecd64ad7117E.llvm.3021571406010367114.exit" - %trunc185 = phi i1 [ %trunc186, %._crit_edge178 ], [ false, %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17h96283fff76bf5e6cE.exit.thread76.thread" ], [ true, %"_ZN70_$LT$core..option..Option$LT$T$GT$$u20$as$u20$core..cmp..PartialEq$GT$2eq17h7d3dfecd64ad7117E.llvm.3021571406010367114.exit" ] - %.sroa.03.0182 = phi i64 [ %.sroa.03.0183, %._crit_edge178 ], [ %.sroa.03.0184, %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17h96283fff76bf5e6cE.exit.thread76.thread" ], [ %.sroa.03.0, %"_ZN70_$LT$core..option..Option$LT$T$GT$$u20$as$u20$core..cmp..PartialEq$GT$2eq17h7d3dfecd64ad7117E.llvm.3021571406010367114.exit" ] + %trunc185 = phi i1 [ %switch, %._crit_edge178 ], [ false, %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17h96283fff76bf5e6cE.exit.thread76.thread" ], [ true, %"_ZN70_$LT$core..option..Option$LT$T$GT$$u20$as$u20$core..cmp..PartialEq$GT$2eq17h7d3dfecd64ad7117E.llvm.3021571406010367114.exit" ] + %.sroa.03.0182 = phi i64 [ %.sroa.03.0183, %._crit_edge178 ], [ 8192, %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17h96283fff76bf5e6cE.exit.thread76.thread" ], [ %.sroa.03.0, %"_ZN70_$LT$core..option..Option$LT$T$GT$$u20$as$u20$core..cmp..PartialEq$GT$2eq17h7d3dfecd64ad7117E.llvm.3021571406010367114.exit" ] %.pre = phi i64 [ %.pre.pre, %._crit_edge178 ], [ %9, %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17h96283fff76bf5e6cE.exit.thread76.thread" ], [ %9, %"_ZN70_$LT$core..option..Option$LT$T$GT$$u20$as$u20$core..cmp..PartialEq$GT$2eq17h7d3dfecd64ad7117E.llvm.3021571406010367114.exit" ] %26 = getelementptr inbounds nuw i8, ptr %1, i64 8 %27 = getelementptr inbounds nuw i8, ptr %7, i64 8 @@ -22693,15 +22643,13 @@ define hidden { i64, ptr } @_ZN3std2io19default_read_to_end17h56943551a6a633f7E. %34 = getelementptr inbounds nuw i8, ptr %5, i64 8 br label %43 -"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17h96283fff76bf5e6cE.exit.thread76.thread": ; preds = %4, %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17h96283fff76bf5e6cE.exit.thread76" - %.sroa.03.0184 = phi i64 [ %.sroa.03.0, %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17h96283fff76bf5e6cE.exit.thread76" ], [ 8192, %4 ] +"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17h96283fff76bf5e6cE.exit.thread76.thread": ; preds = %4 %.old = sub i64 %10, %9 %.old84 = icmp ult i64 %.old, 32 br i1 %.old84, label %35, label %25 35: ; preds = %"_ZN70_$LT$core..option..Option$LT$T$GT$$u20$as$u20$core..cmp..PartialEq$GT$2eq17h7d3dfecd64ad7117E.llvm.3021571406010367114.exit", %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17h96283fff76bf5e6cE.exit.thread76.thread" - %trunc186 = phi i1 [ true, %"_ZN70_$LT$core..option..Option$LT$T$GT$$u20$as$u20$core..cmp..PartialEq$GT$2eq17h7d3dfecd64ad7117E.llvm.3021571406010367114.exit" ], [ false, %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17h96283fff76bf5e6cE.exit.thread76.thread" ] - %.sroa.03.0183 = phi i64 [ %.sroa.03.0, %"_ZN70_$LT$core..option..Option$LT$T$GT$$u20$as$u20$core..cmp..PartialEq$GT$2eq17h7d3dfecd64ad7117E.llvm.3021571406010367114.exit" ], [ %.sroa.03.0184, %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17h96283fff76bf5e6cE.exit.thread76.thread" ] + %.sroa.03.0183 = phi i64 [ %.sroa.03.0, %"_ZN70_$LT$core..option..Option$LT$T$GT$$u20$as$u20$core..cmp..PartialEq$GT$2eq17h7d3dfecd64ad7117E.llvm.3021571406010367114.exit" ], [ 8192, %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17h96283fff76bf5e6cE.exit.thread76.thread" ] %36 = tail call fastcc { i64, ptr } @_ZN3std2io19default_read_to_end16small_probe_read17hb3f08005854b2298E(ptr noalias noundef align 8 dereferenceable(16) %0, ptr noalias noundef align 8 dereferenceable(24) %1) %37 = extractvalue { i64, ptr } %36, 0 %38 = extractvalue { i64, ptr } %36, 1 @@ -23026,8 +22974,8 @@ define hidden { i64, ptr } @_ZN3std2io19default_read_to_end17h5bdaaa3c93e8faf6E( %6 = getelementptr inbounds nuw i8, ptr %1, i64 16 %7 = load i64, ptr %6, align 8, !noundef !12 %8 = load i64, ptr %1, align 8, !noundef !12 - %switch = icmp eq i64 %2, 0 - br i1 %switch, label %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17hd525031fb75f7264E.exit.thread86.thread", label %9 + %switch = icmp ne i64 %2, 0 + br i1 %switch, label %9, label %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17hd525031fb75f7264E.exit.thread86.thread" 9: ; preds = %4 %10 = tail call { i64, i1 } @llvm.uadd.with.overflow.i64(i64 %3, i64 1024) @@ -23038,7 +22986,7 @@ define hidden { i64, ptr } @_ZN3std2io19default_read_to_end17h5bdaaa3c93e8faf6E( %13 = extractvalue { i64, i1 } %10, 0 %14 = and i64 %13, 8191 %15 = icmp eq i64 %14, 0 - br i1 %15, label %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17hd525031fb75f7264E.exit.thread86", label %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17hd525031fb75f7264E.exit" + br i1 %15, label %"_ZN70_$LT$core..option..Option$LT$T$GT$$u20$as$u20$core..cmp..PartialEq$GT$2eq17h7d3dfecd64ad7117E.llvm.3021571406010367114.exit", label %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17hd525031fb75f7264E.exit" "_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17hd525031fb75f7264E.exit": ; preds = %12 %16 = sub nuw nsw i64 8192, %14 @@ -23046,17 +22994,13 @@ define hidden { i64, ptr } @_ZN3std2io19default_read_to_end17h5bdaaa3c93e8faf6E( %.fr = freeze { i64, i1 } %17 %18 = extractvalue { i64, i1 } %.fr, 1 %19 = extractvalue { i64, i1 } %.fr, 0 - br i1 %18, label %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17hd525031fb75f7264E.exit.thread", label %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17hd525031fb75f7264E.exit.thread86" + br i1 %18, label %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17hd525031fb75f7264E.exit.thread", label %"_ZN70_$LT$core..option..Option$LT$T$GT$$u20$as$u20$core..cmp..PartialEq$GT$2eq17h7d3dfecd64ad7117E.llvm.3021571406010367114.exit" "_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17hd525031fb75f7264E.exit.thread": ; preds = %9, %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17hd525031fb75f7264E.exit" - br label %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17hd525031fb75f7264E.exit.thread86" + br label %"_ZN70_$LT$core..option..Option$LT$T$GT$$u20$as$u20$core..cmp..PartialEq$GT$2eq17h7d3dfecd64ad7117E.llvm.3021571406010367114.exit" -"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17hd525031fb75f7264E.exit.thread86": ; preds = %12, %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17hd525031fb75f7264E.exit.thread", %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17hd525031fb75f7264E.exit" +"_ZN70_$LT$core..option..Option$LT$T$GT$$u20$as$u20$core..cmp..PartialEq$GT$2eq17h7d3dfecd64ad7117E.llvm.3021571406010367114.exit": ; preds = %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17hd525031fb75f7264E.exit", %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17hd525031fb75f7264E.exit.thread", %12 %.sroa.03.0 = phi i64 [ 8192, %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17hd525031fb75f7264E.exit.thread" ], [ %19, %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17hd525031fb75f7264E.exit" ], [ %13, %12 ] - %trunc = trunc nuw i64 %2 to i1 - br i1 %trunc, label %"_ZN70_$LT$core..option..Option$LT$T$GT$$u20$as$u20$core..cmp..PartialEq$GT$2eq17h7d3dfecd64ad7117E.llvm.3021571406010367114.exit", label %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17hd525031fb75f7264E.exit.thread86.thread" - -"_ZN70_$LT$core..option..Option$LT$T$GT$$u20$as$u20$core..cmp..PartialEq$GT$2eq17h7d3dfecd64ad7117E.llvm.3021571406010367114.exit": ; preds = %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17hd525031fb75f7264E.exit.thread86" %20 = icmp eq i64 %3, 0 %21 = sub i64 %8, %7 %22 = icmp ult i64 %21, 32 @@ -23064,22 +23008,20 @@ define hidden { i64, ptr } @_ZN3std2io19default_read_to_end17h5bdaaa3c93e8faf6E( br i1 %or.cond97, label %25, label %.split137 .split137: ; preds = %..split137_crit_edge, %"_ZN70_$LT$core..option..Option$LT$T$GT$$u20$as$u20$core..cmp..PartialEq$GT$2eq17h7d3dfecd64ad7117E.llvm.3021571406010367114.exit", %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17hd525031fb75f7264E.exit.thread86.thread" - %trunc167 = phi i1 [ %trunc168, %..split137_crit_edge ], [ true, %"_ZN70_$LT$core..option..Option$LT$T$GT$$u20$as$u20$core..cmp..PartialEq$GT$2eq17h7d3dfecd64ad7117E.llvm.3021571406010367114.exit" ], [ false, %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17hd525031fb75f7264E.exit.thread86.thread" ] - %.sroa.03.0164 = phi i64 [ %.sroa.03.0165, %..split137_crit_edge ], [ %.sroa.03.0, %"_ZN70_$LT$core..option..Option$LT$T$GT$$u20$as$u20$core..cmp..PartialEq$GT$2eq17h7d3dfecd64ad7117E.llvm.3021571406010367114.exit" ], [ %.sroa.03.0166, %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17hd525031fb75f7264E.exit.thread86.thread" ] + %trunc167 = phi i1 [ %switch, %..split137_crit_edge ], [ true, %"_ZN70_$LT$core..option..Option$LT$T$GT$$u20$as$u20$core..cmp..PartialEq$GT$2eq17h7d3dfecd64ad7117E.llvm.3021571406010367114.exit" ], [ false, %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17hd525031fb75f7264E.exit.thread86.thread" ] + %.sroa.03.0164 = phi i64 [ %.sroa.03.0165, %..split137_crit_edge ], [ %.sroa.03.0, %"_ZN70_$LT$core..option..Option$LT$T$GT$$u20$as$u20$core..cmp..PartialEq$GT$2eq17h7d3dfecd64ad7117E.llvm.3021571406010367114.exit" ], [ 8192, %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17hd525031fb75f7264E.exit.thread86.thread" ] %.pre = phi i64 [ %.pre.pre, %..split137_crit_edge ], [ %7, %"_ZN70_$LT$core..option..Option$LT$T$GT$$u20$as$u20$core..cmp..PartialEq$GT$2eq17h7d3dfecd64ad7117E.llvm.3021571406010367114.exit" ], [ %7, %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17hd525031fb75f7264E.exit.thread86.thread" ] %23 = getelementptr inbounds nuw i8, ptr %1, i64 8 %24 = getelementptr inbounds nuw i8, ptr %5, i64 8 br label %.outer -"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17hd525031fb75f7264E.exit.thread86.thread": ; preds = %4, %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17hd525031fb75f7264E.exit.thread86" - %.sroa.03.0166 = phi i64 [ %.sroa.03.0, %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17hd525031fb75f7264E.exit.thread86" ], [ 8192, %4 ] +"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17hd525031fb75f7264E.exit.thread86.thread": ; preds = %4 %.old = sub i64 %8, %7 %.old96 = icmp ult i64 %.old, 32 br i1 %.old96, label %25, label %.split137 25: ; preds = %"_ZN70_$LT$core..option..Option$LT$T$GT$$u20$as$u20$core..cmp..PartialEq$GT$2eq17h7d3dfecd64ad7117E.llvm.3021571406010367114.exit", %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17hd525031fb75f7264E.exit.thread86.thread" - %trunc168 = phi i1 [ true, %"_ZN70_$LT$core..option..Option$LT$T$GT$$u20$as$u20$core..cmp..PartialEq$GT$2eq17h7d3dfecd64ad7117E.llvm.3021571406010367114.exit" ], [ false, %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17hd525031fb75f7264E.exit.thread86.thread" ] - %.sroa.03.0165 = phi i64 [ %.sroa.03.0, %"_ZN70_$LT$core..option..Option$LT$T$GT$$u20$as$u20$core..cmp..PartialEq$GT$2eq17h7d3dfecd64ad7117E.llvm.3021571406010367114.exit" ], [ %.sroa.03.0166, %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17hd525031fb75f7264E.exit.thread86.thread" ] + %.sroa.03.0165 = phi i64 [ %.sroa.03.0, %"_ZN70_$LT$core..option..Option$LT$T$GT$$u20$as$u20$core..cmp..PartialEq$GT$2eq17h7d3dfecd64ad7117E.llvm.3021571406010367114.exit" ], [ 8192, %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17hd525031fb75f7264E.exit.thread86.thread" ] %26 = tail call fastcc { i64, ptr } @_ZN3std2io19default_read_to_end16small_probe_read17h8f09189a7693fd17E(ptr noalias noundef align 8 dereferenceable(168) %0, ptr noalias noundef align 8 dereferenceable(24) %1) %27 = extractvalue { i64, ptr } %26, 0 %28 = extractvalue { i64, ptr } %26, 1 @@ -23305,8 +23247,8 @@ define hidden { i64, ptr } @_ZN3std2io19default_read_to_end17h925a9788c0a0eec6E( %6 = getelementptr inbounds nuw i8, ptr %1, i64 16 %7 = load i64, ptr %6, align 8, !noundef !12 %8 = load i64, ptr %1, align 8, !noundef !12 - %switch = icmp eq i64 %2, 0 - br i1 %switch, label %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17h10e2a49a732f6effE.exit.thread86.thread", label %9 + %switch = icmp ne i64 %2, 0 + br i1 %switch, label %9, label %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17h10e2a49a732f6effE.exit.thread86.thread" 9: ; preds = %4 %10 = tail call { i64, i1 } @llvm.uadd.with.overflow.i64(i64 %3, i64 1024) @@ -23317,7 +23259,7 @@ define hidden { i64, ptr } @_ZN3std2io19default_read_to_end17h925a9788c0a0eec6E( %13 = extractvalue { i64, i1 } %10, 0 %14 = and i64 %13, 8191 %15 = icmp eq i64 %14, 0 - br i1 %15, label %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17h10e2a49a732f6effE.exit.thread86", label %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17h10e2a49a732f6effE.exit" + br i1 %15, label %"_ZN70_$LT$core..option..Option$LT$T$GT$$u20$as$u20$core..cmp..PartialEq$GT$2eq17h7d3dfecd64ad7117E.llvm.3021571406010367114.exit", label %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17h10e2a49a732f6effE.exit" "_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17h10e2a49a732f6effE.exit": ; preds = %12 %16 = sub nuw nsw i64 8192, %14 @@ -23325,17 +23267,13 @@ define hidden { i64, ptr } @_ZN3std2io19default_read_to_end17h925a9788c0a0eec6E( %.fr = freeze { i64, i1 } %17 %18 = extractvalue { i64, i1 } %.fr, 1 %19 = extractvalue { i64, i1 } %.fr, 0 - br i1 %18, label %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17h10e2a49a732f6effE.exit.thread", label %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17h10e2a49a732f6effE.exit.thread86" + br i1 %18, label %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17h10e2a49a732f6effE.exit.thread", label %"_ZN70_$LT$core..option..Option$LT$T$GT$$u20$as$u20$core..cmp..PartialEq$GT$2eq17h7d3dfecd64ad7117E.llvm.3021571406010367114.exit" "_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17h10e2a49a732f6effE.exit.thread": ; preds = %9, %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17h10e2a49a732f6effE.exit" - br label %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17h10e2a49a732f6effE.exit.thread86" + br label %"_ZN70_$LT$core..option..Option$LT$T$GT$$u20$as$u20$core..cmp..PartialEq$GT$2eq17h7d3dfecd64ad7117E.llvm.3021571406010367114.exit" -"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17h10e2a49a732f6effE.exit.thread86": ; preds = %12, %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17h10e2a49a732f6effE.exit.thread", %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17h10e2a49a732f6effE.exit" +"_ZN70_$LT$core..option..Option$LT$T$GT$$u20$as$u20$core..cmp..PartialEq$GT$2eq17h7d3dfecd64ad7117E.llvm.3021571406010367114.exit": ; preds = %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17h10e2a49a732f6effE.exit", %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17h10e2a49a732f6effE.exit.thread", %12 %.sroa.03.0 = phi i64 [ 8192, %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17h10e2a49a732f6effE.exit.thread" ], [ %19, %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17h10e2a49a732f6effE.exit" ], [ %13, %12 ] - %trunc = trunc nuw i64 %2 to i1 - br i1 %trunc, label %"_ZN70_$LT$core..option..Option$LT$T$GT$$u20$as$u20$core..cmp..PartialEq$GT$2eq17h7d3dfecd64ad7117E.llvm.3021571406010367114.exit", label %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17h10e2a49a732f6effE.exit.thread86.thread" - -"_ZN70_$LT$core..option..Option$LT$T$GT$$u20$as$u20$core..cmp..PartialEq$GT$2eq17h7d3dfecd64ad7117E.llvm.3021571406010367114.exit": ; preds = %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17h10e2a49a732f6effE.exit.thread86" %20 = icmp eq i64 %3, 0 %21 = sub i64 %8, %7 %22 = icmp ult i64 %21, 32 @@ -23343,22 +23281,20 @@ define hidden { i64, ptr } @_ZN3std2io19default_read_to_end17h925a9788c0a0eec6E( br i1 %or.cond97, label %25, label %.split137 .split137: ; preds = %..split137_crit_edge, %"_ZN70_$LT$core..option..Option$LT$T$GT$$u20$as$u20$core..cmp..PartialEq$GT$2eq17h7d3dfecd64ad7117E.llvm.3021571406010367114.exit", %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17h10e2a49a732f6effE.exit.thread86.thread" - %trunc167 = phi i1 [ %trunc168, %..split137_crit_edge ], [ true, %"_ZN70_$LT$core..option..Option$LT$T$GT$$u20$as$u20$core..cmp..PartialEq$GT$2eq17h7d3dfecd64ad7117E.llvm.3021571406010367114.exit" ], [ false, %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17h10e2a49a732f6effE.exit.thread86.thread" ] - %.sroa.03.0164 = phi i64 [ %.sroa.03.0165, %..split137_crit_edge ], [ %.sroa.03.0, %"_ZN70_$LT$core..option..Option$LT$T$GT$$u20$as$u20$core..cmp..PartialEq$GT$2eq17h7d3dfecd64ad7117E.llvm.3021571406010367114.exit" ], [ %.sroa.03.0166, %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17h10e2a49a732f6effE.exit.thread86.thread" ] + %trunc167 = phi i1 [ %switch, %..split137_crit_edge ], [ true, %"_ZN70_$LT$core..option..Option$LT$T$GT$$u20$as$u20$core..cmp..PartialEq$GT$2eq17h7d3dfecd64ad7117E.llvm.3021571406010367114.exit" ], [ false, %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17h10e2a49a732f6effE.exit.thread86.thread" ] + %.sroa.03.0164 = phi i64 [ %.sroa.03.0165, %..split137_crit_edge ], [ %.sroa.03.0, %"_ZN70_$LT$core..option..Option$LT$T$GT$$u20$as$u20$core..cmp..PartialEq$GT$2eq17h7d3dfecd64ad7117E.llvm.3021571406010367114.exit" ], [ 8192, %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17h10e2a49a732f6effE.exit.thread86.thread" ] %.pre = phi i64 [ %.pre.pre, %..split137_crit_edge ], [ %7, %"_ZN70_$LT$core..option..Option$LT$T$GT$$u20$as$u20$core..cmp..PartialEq$GT$2eq17h7d3dfecd64ad7117E.llvm.3021571406010367114.exit" ], [ %7, %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17h10e2a49a732f6effE.exit.thread86.thread" ] %23 = getelementptr inbounds nuw i8, ptr %1, i64 8 %24 = getelementptr inbounds nuw i8, ptr %5, i64 8 br label %.outer -"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17h10e2a49a732f6effE.exit.thread86.thread": ; preds = %4, %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17h10e2a49a732f6effE.exit.thread86" - %.sroa.03.0166 = phi i64 [ %.sroa.03.0, %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17h10e2a49a732f6effE.exit.thread86" ], [ 8192, %4 ] +"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17h10e2a49a732f6effE.exit.thread86.thread": ; preds = %4 %.old = sub i64 %8, %7 %.old96 = icmp ult i64 %.old, 32 br i1 %.old96, label %25, label %.split137 25: ; preds = %"_ZN70_$LT$core..option..Option$LT$T$GT$$u20$as$u20$core..cmp..PartialEq$GT$2eq17h7d3dfecd64ad7117E.llvm.3021571406010367114.exit", %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17h10e2a49a732f6effE.exit.thread86.thread" - %trunc168 = phi i1 [ true, %"_ZN70_$LT$core..option..Option$LT$T$GT$$u20$as$u20$core..cmp..PartialEq$GT$2eq17h7d3dfecd64ad7117E.llvm.3021571406010367114.exit" ], [ false, %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17h10e2a49a732f6effE.exit.thread86.thread" ] - %.sroa.03.0165 = phi i64 [ %.sroa.03.0, %"_ZN70_$LT$core..option..Option$LT$T$GT$$u20$as$u20$core..cmp..PartialEq$GT$2eq17h7d3dfecd64ad7117E.llvm.3021571406010367114.exit" ], [ %.sroa.03.0166, %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17h10e2a49a732f6effE.exit.thread86.thread" ] + %.sroa.03.0165 = phi i64 [ %.sroa.03.0, %"_ZN70_$LT$core..option..Option$LT$T$GT$$u20$as$u20$core..cmp..PartialEq$GT$2eq17h7d3dfecd64ad7117E.llvm.3021571406010367114.exit" ], [ 8192, %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17h10e2a49a732f6effE.exit.thread86.thread" ] %26 = tail call fastcc { i64, ptr } @_ZN3std2io19default_read_to_end16small_probe_read17h3baf2ed7532d91ebE(ptr noalias noundef align 8 dereferenceable(200) %0, ptr noalias noundef align 8 dereferenceable(24) %1) %27 = extractvalue { i64, ptr } %26, 0 %28 = extractvalue { i64, ptr } %26, 1 @@ -23583,8 +23519,8 @@ define hidden { i64, ptr } @_ZN3std2io19default_read_to_end17h97580df8a44b4189E. %5 = getelementptr inbounds nuw i8, ptr %1, i64 16 %6 = load i64, ptr %5, align 8, !noundef !12 %7 = load i64, ptr %1, align 8, !noundef !12 - %switch = icmp eq i64 %2, 0 - br i1 %switch, label %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17h952405d737619a48E.exit.thread84.thread", label %8 + %switch = icmp ne i64 %2, 0 + br i1 %switch, label %8, label %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17h952405d737619a48E.exit.thread84.thread" 8: ; preds = %4 %9 = tail call { i64, i1 } @llvm.uadd.with.overflow.i64(i64 %3, i64 1024) @@ -23595,7 +23531,7 @@ define hidden { i64, ptr } @_ZN3std2io19default_read_to_end17h97580df8a44b4189E. %12 = extractvalue { i64, i1 } %9, 0 %13 = and i64 %12, 8191 %14 = icmp eq i64 %13, 0 - br i1 %14, label %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17h952405d737619a48E.exit.thread84", label %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17h952405d737619a48E.exit" + br i1 %14, label %"_ZN70_$LT$core..option..Option$LT$T$GT$$u20$as$u20$core..cmp..PartialEq$GT$2eq17h7d3dfecd64ad7117E.llvm.3021571406010367114.exit", label %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17h952405d737619a48E.exit" "_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17h952405d737619a48E.exit": ; preds = %11 %15 = sub nuw nsw i64 8192, %13 @@ -23603,17 +23539,13 @@ define hidden { i64, ptr } @_ZN3std2io19default_read_to_end17h97580df8a44b4189E. %.fr = freeze { i64, i1 } %16 %17 = extractvalue { i64, i1 } %.fr, 1 %18 = extractvalue { i64, i1 } %.fr, 0 - br i1 %17, label %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17h952405d737619a48E.exit.thread", label %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17h952405d737619a48E.exit.thread84" + br i1 %17, label %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17h952405d737619a48E.exit.thread", label %"_ZN70_$LT$core..option..Option$LT$T$GT$$u20$as$u20$core..cmp..PartialEq$GT$2eq17h7d3dfecd64ad7117E.llvm.3021571406010367114.exit" "_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17h952405d737619a48E.exit.thread": ; preds = %8, %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17h952405d737619a48E.exit" - br label %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17h952405d737619a48E.exit.thread84" + br label %"_ZN70_$LT$core..option..Option$LT$T$GT$$u20$as$u20$core..cmp..PartialEq$GT$2eq17h7d3dfecd64ad7117E.llvm.3021571406010367114.exit" -"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17h952405d737619a48E.exit.thread84": ; preds = %11, %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17h952405d737619a48E.exit.thread", %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17h952405d737619a48E.exit" +"_ZN70_$LT$core..option..Option$LT$T$GT$$u20$as$u20$core..cmp..PartialEq$GT$2eq17h7d3dfecd64ad7117E.llvm.3021571406010367114.exit": ; preds = %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17h952405d737619a48E.exit", %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17h952405d737619a48E.exit.thread", %11 %.sroa.03.0 = phi i64 [ 8192, %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17h952405d737619a48E.exit.thread" ], [ %18, %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17h952405d737619a48E.exit" ], [ %12, %11 ] - %trunc = trunc nuw i64 %2 to i1 - br i1 %trunc, label %"_ZN70_$LT$core..option..Option$LT$T$GT$$u20$as$u20$core..cmp..PartialEq$GT$2eq17h7d3dfecd64ad7117E.llvm.3021571406010367114.exit", label %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17h952405d737619a48E.exit.thread84.thread" - -"_ZN70_$LT$core..option..Option$LT$T$GT$$u20$as$u20$core..cmp..PartialEq$GT$2eq17h7d3dfecd64ad7117E.llvm.3021571406010367114.exit": ; preds = %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17h952405d737619a48E.exit.thread84" %19 = icmp eq i64 %3, 0 %20 = sub i64 %7, %6 %21 = icmp ult i64 %20, 32 @@ -23621,22 +23553,20 @@ define hidden { i64, ptr } @_ZN3std2io19default_read_to_end17h97580df8a44b4189E. br i1 %or.cond107, label %25, label %22 22: ; preds = %._crit_edge152, %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17h952405d737619a48E.exit.thread84.thread", %"_ZN70_$LT$core..option..Option$LT$T$GT$$u20$as$u20$core..cmp..PartialEq$GT$2eq17h7d3dfecd64ad7117E.llvm.3021571406010367114.exit" - %trunc159 = phi i1 [ %trunc160, %._crit_edge152 ], [ false, %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17h952405d737619a48E.exit.thread84.thread" ], [ true, %"_ZN70_$LT$core..option..Option$LT$T$GT$$u20$as$u20$core..cmp..PartialEq$GT$2eq17h7d3dfecd64ad7117E.llvm.3021571406010367114.exit" ] - %.sroa.03.0156 = phi i64 [ %.sroa.03.0157, %._crit_edge152 ], [ %.sroa.03.0158, %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17h952405d737619a48E.exit.thread84.thread" ], [ %.sroa.03.0, %"_ZN70_$LT$core..option..Option$LT$T$GT$$u20$as$u20$core..cmp..PartialEq$GT$2eq17h7d3dfecd64ad7117E.llvm.3021571406010367114.exit" ] + %trunc159 = phi i1 [ %switch, %._crit_edge152 ], [ false, %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17h952405d737619a48E.exit.thread84.thread" ], [ true, %"_ZN70_$LT$core..option..Option$LT$T$GT$$u20$as$u20$core..cmp..PartialEq$GT$2eq17h7d3dfecd64ad7117E.llvm.3021571406010367114.exit" ] + %.sroa.03.0156 = phi i64 [ %.sroa.03.0157, %._crit_edge152 ], [ 8192, %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17h952405d737619a48E.exit.thread84.thread" ], [ %.sroa.03.0, %"_ZN70_$LT$core..option..Option$LT$T$GT$$u20$as$u20$core..cmp..PartialEq$GT$2eq17h7d3dfecd64ad7117E.llvm.3021571406010367114.exit" ] %.pre = phi i64 [ %.pre.pre, %._crit_edge152 ], [ %6, %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17h952405d737619a48E.exit.thread84.thread" ], [ %6, %"_ZN70_$LT$core..option..Option$LT$T$GT$$u20$as$u20$core..cmp..PartialEq$GT$2eq17h7d3dfecd64ad7117E.llvm.3021571406010367114.exit" ] %23 = getelementptr inbounds nuw i8, ptr %1, i64 8 %24 = getelementptr inbounds nuw i8, ptr %0, i64 8 br label %.outer -"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17h952405d737619a48E.exit.thread84.thread": ; preds = %4, %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17h952405d737619a48E.exit.thread84" - %.sroa.03.0158 = phi i64 [ %.sroa.03.0, %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17h952405d737619a48E.exit.thread84" ], [ 8192, %4 ] +"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17h952405d737619a48E.exit.thread84.thread": ; preds = %4 %.old = sub i64 %7, %6 %.old106 = icmp ult i64 %.old, 32 br i1 %.old106, label %25, label %22 25: ; preds = %"_ZN70_$LT$core..option..Option$LT$T$GT$$u20$as$u20$core..cmp..PartialEq$GT$2eq17h7d3dfecd64ad7117E.llvm.3021571406010367114.exit", %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17h952405d737619a48E.exit.thread84.thread" - %trunc160 = phi i1 [ true, %"_ZN70_$LT$core..option..Option$LT$T$GT$$u20$as$u20$core..cmp..PartialEq$GT$2eq17h7d3dfecd64ad7117E.llvm.3021571406010367114.exit" ], [ false, %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17h952405d737619a48E.exit.thread84.thread" ] - %.sroa.03.0157 = phi i64 [ %.sroa.03.0, %"_ZN70_$LT$core..option..Option$LT$T$GT$$u20$as$u20$core..cmp..PartialEq$GT$2eq17h7d3dfecd64ad7117E.llvm.3021571406010367114.exit" ], [ %.sroa.03.0158, %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17h952405d737619a48E.exit.thread84.thread" ] + %.sroa.03.0157 = phi i64 [ %.sroa.03.0, %"_ZN70_$LT$core..option..Option$LT$T$GT$$u20$as$u20$core..cmp..PartialEq$GT$2eq17h7d3dfecd64ad7117E.llvm.3021571406010367114.exit" ], [ 8192, %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17h952405d737619a48E.exit.thread84.thread" ] %26 = tail call fastcc { i64, ptr } @_ZN3std2io19default_read_to_end16small_probe_read17h5b27827ed3a397b7E(ptr noalias noundef align 8 dereferenceable(16) %0, ptr noalias noundef align 8 dereferenceable(24) %1) %27 = extractvalue { i64, ptr } %26, 0 %28 = extractvalue { i64, ptr } %26, 1 @@ -23865,8 +23795,8 @@ define hidden { i64, ptr } @_ZN3std2io19default_read_to_end17hbaee1dfc2e851864E. %5 = getelementptr inbounds nuw i8, ptr %1, i64 16 %6 = load i64, ptr %5, align 8, !noundef !12 %7 = load i64, ptr %1, align 8, !noundef !12 - %switch = icmp eq i64 %2, 0 - br i1 %switch, label %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17h7b31b0fea1d96811E.exit.thread84.thread", label %8 + %switch = icmp ne i64 %2, 0 + br i1 %switch, label %8, label %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17h7b31b0fea1d96811E.exit.thread84.thread" 8: ; preds = %4 %9 = tail call { i64, i1 } @llvm.uadd.with.overflow.i64(i64 %3, i64 1024) @@ -23877,7 +23807,7 @@ define hidden { i64, ptr } @_ZN3std2io19default_read_to_end17hbaee1dfc2e851864E. %12 = extractvalue { i64, i1 } %9, 0 %13 = and i64 %12, 8191 %14 = icmp eq i64 %13, 0 - br i1 %14, label %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17h7b31b0fea1d96811E.exit.thread84", label %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17h7b31b0fea1d96811E.exit" + br i1 %14, label %"_ZN70_$LT$core..option..Option$LT$T$GT$$u20$as$u20$core..cmp..PartialEq$GT$2eq17h7d3dfecd64ad7117E.llvm.3021571406010367114.exit", label %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17h7b31b0fea1d96811E.exit" "_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17h7b31b0fea1d96811E.exit": ; preds = %11 %15 = sub nuw nsw i64 8192, %13 @@ -23885,17 +23815,13 @@ define hidden { i64, ptr } @_ZN3std2io19default_read_to_end17hbaee1dfc2e851864E. %.fr = freeze { i64, i1 } %16 %17 = extractvalue { i64, i1 } %.fr, 1 %18 = extractvalue { i64, i1 } %.fr, 0 - br i1 %17, label %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17h7b31b0fea1d96811E.exit.thread", label %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17h7b31b0fea1d96811E.exit.thread84" + br i1 %17, label %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17h7b31b0fea1d96811E.exit.thread", label %"_ZN70_$LT$core..option..Option$LT$T$GT$$u20$as$u20$core..cmp..PartialEq$GT$2eq17h7d3dfecd64ad7117E.llvm.3021571406010367114.exit" "_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17h7b31b0fea1d96811E.exit.thread": ; preds = %8, %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17h7b31b0fea1d96811E.exit" - br label %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17h7b31b0fea1d96811E.exit.thread84" + br label %"_ZN70_$LT$core..option..Option$LT$T$GT$$u20$as$u20$core..cmp..PartialEq$GT$2eq17h7d3dfecd64ad7117E.llvm.3021571406010367114.exit" -"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17h7b31b0fea1d96811E.exit.thread84": ; preds = %11, %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17h7b31b0fea1d96811E.exit.thread", %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17h7b31b0fea1d96811E.exit" +"_ZN70_$LT$core..option..Option$LT$T$GT$$u20$as$u20$core..cmp..PartialEq$GT$2eq17h7d3dfecd64ad7117E.llvm.3021571406010367114.exit": ; preds = %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17h7b31b0fea1d96811E.exit", %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17h7b31b0fea1d96811E.exit.thread", %11 %.sroa.03.0 = phi i64 [ 8192, %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17h7b31b0fea1d96811E.exit.thread" ], [ %18, %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17h7b31b0fea1d96811E.exit" ], [ %12, %11 ] - %trunc = trunc nuw i64 %2 to i1 - br i1 %trunc, label %"_ZN70_$LT$core..option..Option$LT$T$GT$$u20$as$u20$core..cmp..PartialEq$GT$2eq17h7d3dfecd64ad7117E.llvm.3021571406010367114.exit", label %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17h7b31b0fea1d96811E.exit.thread84.thread" - -"_ZN70_$LT$core..option..Option$LT$T$GT$$u20$as$u20$core..cmp..PartialEq$GT$2eq17h7d3dfecd64ad7117E.llvm.3021571406010367114.exit": ; preds = %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17h7b31b0fea1d96811E.exit.thread84" %19 = icmp eq i64 %3, 0 %20 = sub i64 %7, %6 %21 = icmp ult i64 %20, 32 @@ -23903,22 +23829,20 @@ define hidden { i64, ptr } @_ZN3std2io19default_read_to_end17hbaee1dfc2e851864E. br i1 %or.cond107, label %25, label %22 22: ; preds = %._crit_edge152, %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17h7b31b0fea1d96811E.exit.thread84.thread", %"_ZN70_$LT$core..option..Option$LT$T$GT$$u20$as$u20$core..cmp..PartialEq$GT$2eq17h7d3dfecd64ad7117E.llvm.3021571406010367114.exit" - %trunc159 = phi i1 [ %trunc160, %._crit_edge152 ], [ false, %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17h7b31b0fea1d96811E.exit.thread84.thread" ], [ true, %"_ZN70_$LT$core..option..Option$LT$T$GT$$u20$as$u20$core..cmp..PartialEq$GT$2eq17h7d3dfecd64ad7117E.llvm.3021571406010367114.exit" ] - %.sroa.03.0156 = phi i64 [ %.sroa.03.0157, %._crit_edge152 ], [ %.sroa.03.0158, %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17h7b31b0fea1d96811E.exit.thread84.thread" ], [ %.sroa.03.0, %"_ZN70_$LT$core..option..Option$LT$T$GT$$u20$as$u20$core..cmp..PartialEq$GT$2eq17h7d3dfecd64ad7117E.llvm.3021571406010367114.exit" ] + %trunc159 = phi i1 [ %switch, %._crit_edge152 ], [ false, %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17h7b31b0fea1d96811E.exit.thread84.thread" ], [ true, %"_ZN70_$LT$core..option..Option$LT$T$GT$$u20$as$u20$core..cmp..PartialEq$GT$2eq17h7d3dfecd64ad7117E.llvm.3021571406010367114.exit" ] + %.sroa.03.0156 = phi i64 [ %.sroa.03.0157, %._crit_edge152 ], [ 8192, %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17h7b31b0fea1d96811E.exit.thread84.thread" ], [ %.sroa.03.0, %"_ZN70_$LT$core..option..Option$LT$T$GT$$u20$as$u20$core..cmp..PartialEq$GT$2eq17h7d3dfecd64ad7117E.llvm.3021571406010367114.exit" ] %.pre = phi i64 [ %.pre.pre, %._crit_edge152 ], [ %6, %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17h7b31b0fea1d96811E.exit.thread84.thread" ], [ %6, %"_ZN70_$LT$core..option..Option$LT$T$GT$$u20$as$u20$core..cmp..PartialEq$GT$2eq17h7d3dfecd64ad7117E.llvm.3021571406010367114.exit" ] %23 = getelementptr inbounds nuw i8, ptr %1, i64 8 %24 = getelementptr inbounds nuw i8, ptr %0, i64 8 br label %.outer -"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17h7b31b0fea1d96811E.exit.thread84.thread": ; preds = %4, %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17h7b31b0fea1d96811E.exit.thread84" - %.sroa.03.0158 = phi i64 [ %.sroa.03.0, %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17h7b31b0fea1d96811E.exit.thread84" ], [ 8192, %4 ] +"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17h7b31b0fea1d96811E.exit.thread84.thread": ; preds = %4 %.old = sub i64 %7, %6 %.old106 = icmp ult i64 %.old, 32 br i1 %.old106, label %25, label %22 25: ; preds = %"_ZN70_$LT$core..option..Option$LT$T$GT$$u20$as$u20$core..cmp..PartialEq$GT$2eq17h7d3dfecd64ad7117E.llvm.3021571406010367114.exit", %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17h7b31b0fea1d96811E.exit.thread84.thread" - %trunc160 = phi i1 [ true, %"_ZN70_$LT$core..option..Option$LT$T$GT$$u20$as$u20$core..cmp..PartialEq$GT$2eq17h7d3dfecd64ad7117E.llvm.3021571406010367114.exit" ], [ false, %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17h7b31b0fea1d96811E.exit.thread84.thread" ] - %.sroa.03.0157 = phi i64 [ %.sroa.03.0, %"_ZN70_$LT$core..option..Option$LT$T$GT$$u20$as$u20$core..cmp..PartialEq$GT$2eq17h7d3dfecd64ad7117E.llvm.3021571406010367114.exit" ], [ %.sroa.03.0158, %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17h7b31b0fea1d96811E.exit.thread84.thread" ] + %.sroa.03.0157 = phi i64 [ %.sroa.03.0, %"_ZN70_$LT$core..option..Option$LT$T$GT$$u20$as$u20$core..cmp..PartialEq$GT$2eq17h7d3dfecd64ad7117E.llvm.3021571406010367114.exit" ], [ 8192, %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17h7b31b0fea1d96811E.exit.thread84.thread" ] %26 = tail call fastcc { i64, ptr } @_ZN3std2io19default_read_to_end16small_probe_read17h867b7091feabec86E(ptr noalias noundef align 8 dereferenceable(16) %0, ptr noalias noundef align 8 dereferenceable(24) %1) %27 = extractvalue { i64, ptr } %26, 0 %28 = extractvalue { i64, ptr } %26, 1 @@ -24152,8 +24076,8 @@ define hidden { i64, ptr } @_ZN3std2io19default_read_to_end17hda0b93b365242d18E. %8 = getelementptr inbounds nuw i8, ptr %1, i64 16 %9 = load i64, ptr %8, align 8, !noundef !12 %10 = load i64, ptr %1, align 8, !noundef !12 - %switch = icmp eq i64 %2, 0 - br i1 %switch, label %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17hca615a03b7e94d10E.exit.thread76.thread", label %11 + %switch = icmp ne i64 %2, 0 + br i1 %switch, label %11, label %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17hca615a03b7e94d10E.exit.thread76.thread" 11: ; preds = %4 %12 = tail call { i64, i1 } @llvm.uadd.with.overflow.i64(i64 %3, i64 1024) @@ -24164,7 +24088,7 @@ define hidden { i64, ptr } @_ZN3std2io19default_read_to_end17hda0b93b365242d18E. %15 = extractvalue { i64, i1 } %12, 0 %16 = and i64 %15, 8191 %17 = icmp eq i64 %16, 0 - br i1 %17, label %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17hca615a03b7e94d10E.exit.thread76", label %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17hca615a03b7e94d10E.exit" + br i1 %17, label %"_ZN70_$LT$core..option..Option$LT$T$GT$$u20$as$u20$core..cmp..PartialEq$GT$2eq17h7d3dfecd64ad7117E.llvm.3021571406010367114.exit", label %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17hca615a03b7e94d10E.exit" "_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17hca615a03b7e94d10E.exit": ; preds = %14 %18 = sub nuw nsw i64 8192, %16 @@ -24172,17 +24096,13 @@ define hidden { i64, ptr } @_ZN3std2io19default_read_to_end17hda0b93b365242d18E. %.fr = freeze { i64, i1 } %19 %20 = extractvalue { i64, i1 } %.fr, 1 %21 = extractvalue { i64, i1 } %.fr, 0 - br i1 %20, label %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17hca615a03b7e94d10E.exit.thread", label %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17hca615a03b7e94d10E.exit.thread76" + br i1 %20, label %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17hca615a03b7e94d10E.exit.thread", label %"_ZN70_$LT$core..option..Option$LT$T$GT$$u20$as$u20$core..cmp..PartialEq$GT$2eq17h7d3dfecd64ad7117E.llvm.3021571406010367114.exit" "_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17hca615a03b7e94d10E.exit.thread": ; preds = %11, %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17hca615a03b7e94d10E.exit" - br label %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17hca615a03b7e94d10E.exit.thread76" + br label %"_ZN70_$LT$core..option..Option$LT$T$GT$$u20$as$u20$core..cmp..PartialEq$GT$2eq17h7d3dfecd64ad7117E.llvm.3021571406010367114.exit" -"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17hca615a03b7e94d10E.exit.thread76": ; preds = %14, %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17hca615a03b7e94d10E.exit.thread", %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17hca615a03b7e94d10E.exit" +"_ZN70_$LT$core..option..Option$LT$T$GT$$u20$as$u20$core..cmp..PartialEq$GT$2eq17h7d3dfecd64ad7117E.llvm.3021571406010367114.exit": ; preds = %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17hca615a03b7e94d10E.exit", %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17hca615a03b7e94d10E.exit.thread", %14 %.sroa.03.0 = phi i64 [ 8192, %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17hca615a03b7e94d10E.exit.thread" ], [ %21, %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17hca615a03b7e94d10E.exit" ], [ %15, %14 ] - %trunc = trunc nuw i64 %2 to i1 - br i1 %trunc, label %"_ZN70_$LT$core..option..Option$LT$T$GT$$u20$as$u20$core..cmp..PartialEq$GT$2eq17h7d3dfecd64ad7117E.llvm.3021571406010367114.exit", label %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17hca615a03b7e94d10E.exit.thread76.thread" - -"_ZN70_$LT$core..option..Option$LT$T$GT$$u20$as$u20$core..cmp..PartialEq$GT$2eq17h7d3dfecd64ad7117E.llvm.3021571406010367114.exit": ; preds = %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17hca615a03b7e94d10E.exit.thread76" %22 = icmp eq i64 %3, 0 %23 = sub i64 %10, %9 %24 = icmp ult i64 %23, 32 @@ -24190,8 +24110,8 @@ define hidden { i64, ptr } @_ZN3std2io19default_read_to_end17hda0b93b365242d18E. br i1 %or.cond85, label %35, label %25 25: ; preds = %._crit_edge178, %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17hca615a03b7e94d10E.exit.thread76.thread", %"_ZN70_$LT$core..option..Option$LT$T$GT$$u20$as$u20$core..cmp..PartialEq$GT$2eq17h7d3dfecd64ad7117E.llvm.3021571406010367114.exit" - %trunc185 = phi i1 [ %trunc186, %._crit_edge178 ], [ false, %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17hca615a03b7e94d10E.exit.thread76.thread" ], [ true, %"_ZN70_$LT$core..option..Option$LT$T$GT$$u20$as$u20$core..cmp..PartialEq$GT$2eq17h7d3dfecd64ad7117E.llvm.3021571406010367114.exit" ] - %.sroa.03.0182 = phi i64 [ %.sroa.03.0183, %._crit_edge178 ], [ %.sroa.03.0184, %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17hca615a03b7e94d10E.exit.thread76.thread" ], [ %.sroa.03.0, %"_ZN70_$LT$core..option..Option$LT$T$GT$$u20$as$u20$core..cmp..PartialEq$GT$2eq17h7d3dfecd64ad7117E.llvm.3021571406010367114.exit" ] + %trunc185 = phi i1 [ %switch, %._crit_edge178 ], [ false, %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17hca615a03b7e94d10E.exit.thread76.thread" ], [ true, %"_ZN70_$LT$core..option..Option$LT$T$GT$$u20$as$u20$core..cmp..PartialEq$GT$2eq17h7d3dfecd64ad7117E.llvm.3021571406010367114.exit" ] + %.sroa.03.0182 = phi i64 [ %.sroa.03.0183, %._crit_edge178 ], [ 8192, %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17hca615a03b7e94d10E.exit.thread76.thread" ], [ %.sroa.03.0, %"_ZN70_$LT$core..option..Option$LT$T$GT$$u20$as$u20$core..cmp..PartialEq$GT$2eq17h7d3dfecd64ad7117E.llvm.3021571406010367114.exit" ] %.pre = phi i64 [ %.pre.pre, %._crit_edge178 ], [ %9, %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17hca615a03b7e94d10E.exit.thread76.thread" ], [ %9, %"_ZN70_$LT$core..option..Option$LT$T$GT$$u20$as$u20$core..cmp..PartialEq$GT$2eq17h7d3dfecd64ad7117E.llvm.3021571406010367114.exit" ] %26 = getelementptr inbounds nuw i8, ptr %1, i64 8 %27 = getelementptr inbounds nuw i8, ptr %7, i64 8 @@ -24204,15 +24124,13 @@ define hidden { i64, ptr } @_ZN3std2io19default_read_to_end17hda0b93b365242d18E. %34 = getelementptr inbounds nuw i8, ptr %5, i64 8 br label %43 -"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17hca615a03b7e94d10E.exit.thread76.thread": ; preds = %4, %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17hca615a03b7e94d10E.exit.thread76" - %.sroa.03.0184 = phi i64 [ %.sroa.03.0, %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17hca615a03b7e94d10E.exit.thread76" ], [ 8192, %4 ] +"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17hca615a03b7e94d10E.exit.thread76.thread": ; preds = %4 %.old = sub i64 %10, %9 %.old84 = icmp ult i64 %.old, 32 br i1 %.old84, label %35, label %25 35: ; preds = %"_ZN70_$LT$core..option..Option$LT$T$GT$$u20$as$u20$core..cmp..PartialEq$GT$2eq17h7d3dfecd64ad7117E.llvm.3021571406010367114.exit", %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17hca615a03b7e94d10E.exit.thread76.thread" - %trunc186 = phi i1 [ true, %"_ZN70_$LT$core..option..Option$LT$T$GT$$u20$as$u20$core..cmp..PartialEq$GT$2eq17h7d3dfecd64ad7117E.llvm.3021571406010367114.exit" ], [ false, %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17hca615a03b7e94d10E.exit.thread76.thread" ] - %.sroa.03.0183 = phi i64 [ %.sroa.03.0, %"_ZN70_$LT$core..option..Option$LT$T$GT$$u20$as$u20$core..cmp..PartialEq$GT$2eq17h7d3dfecd64ad7117E.llvm.3021571406010367114.exit" ], [ %.sroa.03.0184, %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17hca615a03b7e94d10E.exit.thread76.thread" ] + %.sroa.03.0183 = phi i64 [ %.sroa.03.0, %"_ZN70_$LT$core..option..Option$LT$T$GT$$u20$as$u20$core..cmp..PartialEq$GT$2eq17h7d3dfecd64ad7117E.llvm.3021571406010367114.exit" ], [ 8192, %"_ZN3std2io19default_read_to_end28_$u7b$$u7b$closure$u7d$$u7d$17hca615a03b7e94d10E.exit.thread76.thread" ] %36 = tail call fastcc { i64, ptr } @_ZN3std2io19default_read_to_end16small_probe_read17hcd8f5b5f046c0c89E(ptr noalias noundef align 8 dereferenceable(16) %0, ptr noalias noundef align 8 dereferenceable(24) %1) %37 = extractvalue { i64, ptr } %36, 0 %38 = extractvalue { i64, ptr } %36, 1 diff --git a/bench/mini-lsm-rs/optimized/1pvec8aj5zmr89ee.ll b/bench/mini-lsm-rs/optimized/1pvec8aj5zmr89ee.ll index 782c4ef2557..c740a8113f8 100644 --- a/bench/mini-lsm-rs/optimized/1pvec8aj5zmr89ee.ll +++ b/bench/mini-lsm-rs/optimized/1pvec8aj5zmr89ee.ll @@ -7859,16 +7859,16 @@ define internal fastcc noundef nonnull align 8 ptr @"_ZN4moka3cht3map16bucket_ar tail call void @llvm.assume(i1 %4) br label %5 -5: ; preds = %22, %0 - %.sroa.7.0 = phi i64 [ undef, %0 ], [ %.013, %22 ] - %6 = phi i1 [ true, %0 ], [ false, %22 ] +5: ; preds = %.noexc, %0 + %.sroa.7.0 = phi i64 [ undef, %0 ], [ %.013, %.noexc ] + %6 = phi i1 [ true, %0 ], [ false, %.noexc ] %7 = invoke noundef i64 @_ZN4core4sync6atomic11atomic_load17h31bf14352078a3c9E.llvm.8540189446595550310(ptr noundef nonnull align 8 %.0.val, i8 noundef 2) - to label %8 unwind label %32 + to label %8 unwind label %30 8: ; preds = %5 %9 = and i64 %7, -8 %.not.not = icmp eq i64 %9, 0 - br i1 %.not.not, label %10, label %27 + br i1 %.not.not, label %10, label %25 10: ; preds = %8 br i1 %6, label %11, label %.noexc @@ -7923,70 +7923,61 @@ define internal fastcc noundef nonnull align 8 ptr @"_ZN4moka3cht3map16bucket_ar %20 = tail call { i64, i64 } @_ZN4core4sync6atomic28atomic_compare_exchange_weak17hea9d2275a25bb5e5E.llvm.8540189446595550310(ptr noundef nonnull align 8 %.0.val, i64 noundef 0, i64 noundef %.013, i8 noundef 3, i8 noundef 0) %21 = extractvalue { i64, i64 } %20, 0 %switch.i2.i = icmp eq i64 %21, 0 - br i1 %switch.i2.i, label %.thread16, label %22 + br i1 %switch.i2.i, label %.thread16, label %5 -22: ; preds = %.noexc - %trunc14 = trunc nuw i64 %21 to i1 - br i1 %trunc14, label %5, label %.thread16.split.loop.exit34 - -.thread16.split.loop.exit34: ; preds = %22 - %23 = extractvalue { i64, i64 } %20, 1 - br label %.thread16 - -.thread16: ; preds = %.noexc, %.thread16.split.loop.exit34 - %spec.select.i.i21 = phi i64 [ %23, %.thread16.split.loop.exit34 ], [ %.013, %.noexc ] - %24 = and i64 %spec.select.i.i21, -8 - %25 = icmp eq i64 %24, 0 - br i1 %25, label %26, label %.thread +.thread16: ; preds = %.noexc + %22 = and i64 %.013, -8 + %23 = icmp eq i64 %22, 0 + br i1 %23, label %24, label %.thread -26: ; preds = %.thread16 +24: ; preds = %.thread16 tail call void @_ZN4core9panicking5panic17hb837a5ebbbe5b188E(ptr noalias noundef nonnull readonly align 1 @anon.e64089b94c7010abbaca571653ee6b27.7, i64 noundef 43, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.e64089b94c7010abbaca571653ee6b27.50) #38 unreachable -.thread: ; preds = %28, %27, %.thread16 - %.015.in = phi i64 [ %24, %.thread16 ], [ %9, %27 ], [ %9, %28 ] +.thread: ; preds = %26, %25, %.thread16 + %.015.in = phi i64 [ %22, %.thread16 ], [ %9, %25 ], [ %9, %26 ] %.015 = inttoptr i64 %.015.in to ptr ret ptr %.015 -27: ; preds = %8 - br i1 %6, label %.thread, label %28 +25: ; preds = %8 + br i1 %6, label %.thread, label %26 -28: ; preds = %27 - %29 = and i64 %.sroa.7.0, -8 +26: ; preds = %25 + %27 = and i64 %.sroa.7.0, -8 call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %2), !noalias !1118 - %30 = inttoptr i64 %29 to ptr - %31 = icmp ne i64 %29, 0 - tail call void @llvm.assume(i1 %31) - store ptr %30, ptr %2, align 8, !noalias !1118 + %28 = inttoptr i64 %27 to ptr + %29 = icmp ne i64 %27, 0 + tail call void @llvm.assume(i1 %29) + store ptr %28, ptr %2, align 8, !noalias !1118 call void @"_ZN4core3ptr282drop_in_place$LT$alloc..boxed..Box$LT$moka..cht..map..bucket..BucketArray$LT$alloc..sync..Arc$LT$$LP$usize$C$usize$RP$$GT$$C$triomphe..arc..Arc$LT$moka..common..concurrent..ValueEntry$LT$$LP$usize$C$usize$RP$$C$alloc..sync..Arc$LT$mini_lsm_mvcc..block..Block$GT$$GT$$GT$$GT$$GT$$GT$17h336dc4ced00df6d4E.llvm.4598255899691141044"(ptr noalias noundef nonnull align 8 dereferenceable(8) %2), !noalias !1118 call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %2), !noalias !1118 br label %.thread -.body.thread: ; preds = %.noexc19, %32, %15 - %eh.lpad-body10 = phi { ptr, i32 } [ %lpad.phi, %15 ], [ %lpad.thr_comm.split-lp, %32 ], [ %lpad.thr_comm.split-lp, %.noexc19 ] +.body.thread: ; preds = %.noexc19, %30, %15 + %eh.lpad-body10 = phi { ptr, i32 } [ %lpad.phi, %15 ], [ %lpad.thr_comm.split-lp, %30 ], [ %lpad.thr_comm.split-lp, %.noexc19 ] resume { ptr, i32 } %eh.lpad-body10 -32: ; preds = %5 +30: ; preds = %5 %lpad.thr_comm.split-lp = landingpad { ptr, i32 } cleanup - br i1 %6, label %.body.thread, label %33 + br i1 %6, label %.body.thread, label %31 -33: ; preds = %32 - %34 = and i64 %.sroa.7.0, -8 +31: ; preds = %30 + %32 = and i64 %.sroa.7.0, -8 call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %1), !noalias !1123 - %35 = inttoptr i64 %34 to ptr - %36 = icmp ne i64 %34, 0 - tail call void @llvm.assume(i1 %36) - store ptr %35, ptr %1, align 8, !noalias !1123 + %33 = inttoptr i64 %32 to ptr + %34 = icmp ne i64 %32, 0 + tail call void @llvm.assume(i1 %34) + store ptr %33, ptr %1, align 8, !noalias !1123 invoke void @"_ZN4core3ptr282drop_in_place$LT$alloc..boxed..Box$LT$moka..cht..map..bucket..BucketArray$LT$alloc..sync..Arc$LT$$LP$usize$C$usize$RP$$GT$$C$triomphe..arc..Arc$LT$moka..common..concurrent..ValueEntry$LT$$LP$usize$C$usize$RP$$C$alloc..sync..Arc$LT$mini_lsm_mvcc..block..Block$GT$$GT$$GT$$GT$$GT$$GT$17h336dc4ced00df6d4E.llvm.4598255899691141044"(ptr noalias noundef nonnull align 8 dereferenceable(8) %1) - to label %.noexc19 unwind label %37 + to label %.noexc19 unwind label %35 -.noexc19: ; preds = %33 +.noexc19: ; preds = %31 call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %1), !noalias !1123 br label %.body.thread -37: ; preds = %33 - %38 = landingpad { ptr, i32 } +35: ; preds = %31 + %36 = landingpad { ptr, i32 } filter [0 x ptr] zeroinitializer call void @_ZN4core9panicking16panic_in_cleanup17h55eb1d85cadde1a1E() #37 unreachable @@ -8001,16 +7992,16 @@ define internal fastcc noundef nonnull align 8 ptr @"_ZN4moka3cht3map16bucket_ar tail call void @llvm.assume(i1 %4) br label %5 -5: ; preds = %22, %0 - %.sroa.7.0 = phi i64 [ undef, %0 ], [ %.013, %22 ] - %6 = phi i1 [ true, %0 ], [ false, %22 ] +5: ; preds = %.noexc, %0 + %.sroa.7.0 = phi i64 [ undef, %0 ], [ %.013, %.noexc ] + %6 = phi i1 [ true, %0 ], [ false, %.noexc ] %7 = invoke noundef i64 @_ZN4core4sync6atomic11atomic_load17h31bf14352078a3c9E.llvm.8540189446595550310(ptr noundef nonnull align 8 %.0.val, i8 noundef 2) - to label %8 unwind label %32 + to label %8 unwind label %30 8: ; preds = %5 %9 = and i64 %7, -8 %.not.not = icmp eq i64 %9, 0 - br i1 %.not.not, label %10, label %27 + br i1 %.not.not, label %10, label %25 10: ; preds = %8 br i1 %6, label %11, label %.noexc @@ -8065,70 +8056,61 @@ define internal fastcc noundef nonnull align 8 ptr @"_ZN4moka3cht3map16bucket_ar %20 = tail call { i64, i64 } @_ZN4core4sync6atomic28atomic_compare_exchange_weak17hea9d2275a25bb5e5E.llvm.8540189446595550310(ptr noundef nonnull align 8 %.0.val, i64 noundef 0, i64 noundef %.013, i8 noundef 3, i8 noundef 0) %21 = extractvalue { i64, i64 } %20, 0 %switch.i2.i = icmp eq i64 %21, 0 - br i1 %switch.i2.i, label %.thread16, label %22 - -22: ; preds = %.noexc - %trunc14 = trunc nuw i64 %21 to i1 - br i1 %trunc14, label %5, label %.thread16.split.loop.exit34 - -.thread16.split.loop.exit34: ; preds = %22 - %23 = extractvalue { i64, i64 } %20, 1 - br label %.thread16 + br i1 %switch.i2.i, label %.thread16, label %5 -.thread16: ; preds = %.noexc, %.thread16.split.loop.exit34 - %spec.select.i.i21 = phi i64 [ %23, %.thread16.split.loop.exit34 ], [ %.013, %.noexc ] - %24 = and i64 %spec.select.i.i21, -8 - %25 = icmp eq i64 %24, 0 - br i1 %25, label %26, label %.thread +.thread16: ; preds = %.noexc + %22 = and i64 %.013, -8 + %23 = icmp eq i64 %22, 0 + br i1 %23, label %24, label %.thread -26: ; preds = %.thread16 +24: ; preds = %.thread16 tail call void @_ZN4core9panicking5panic17hb837a5ebbbe5b188E(ptr noalias noundef nonnull readonly align 1 @anon.e64089b94c7010abbaca571653ee6b27.7, i64 noundef 43, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.e64089b94c7010abbaca571653ee6b27.50) #38 unreachable -.thread: ; preds = %28, %27, %.thread16 - %.015.in = phi i64 [ %24, %.thread16 ], [ %9, %27 ], [ %9, %28 ] +.thread: ; preds = %26, %25, %.thread16 + %.015.in = phi i64 [ %22, %.thread16 ], [ %9, %25 ], [ %9, %26 ] %.015 = inttoptr i64 %.015.in to ptr ret ptr %.015 -27: ; preds = %8 - br i1 %6, label %.thread, label %28 +25: ; preds = %8 + br i1 %6, label %.thread, label %26 -28: ; preds = %27 - %29 = and i64 %.sroa.7.0, -8 +26: ; preds = %25 + %27 = and i64 %.sroa.7.0, -8 call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %2), !noalias !1131 - %30 = inttoptr i64 %29 to ptr - %31 = icmp ne i64 %29, 0 - tail call void @llvm.assume(i1 %31) - store ptr %30, ptr %2, align 8, !noalias !1131 + %28 = inttoptr i64 %27 to ptr + %29 = icmp ne i64 %27, 0 + tail call void @llvm.assume(i1 %29) + store ptr %28, ptr %2, align 8, !noalias !1131 call void @"_ZN4core3ptr236drop_in_place$LT$alloc..boxed..Box$LT$moka..cht..map..bucket..BucketArray$LT$alloc..sync..Arc$LT$$LP$usize$C$usize$RP$$GT$$C$triomphe..arc..Arc$LT$lock_api..mutex..Mutex$LT$parking_lot..raw_mutex..RawMutex$C$$LP$$RP$$GT$$GT$$GT$$GT$$GT$17h5068e2d62ed349b9E.llvm.4598255899691141044"(ptr noalias noundef nonnull align 8 dereferenceable(8) %2), !noalias !1131 call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %2), !noalias !1131 br label %.thread -.body.thread: ; preds = %.noexc19, %32, %15 - %eh.lpad-body10 = phi { ptr, i32 } [ %lpad.phi, %15 ], [ %lpad.thr_comm.split-lp, %32 ], [ %lpad.thr_comm.split-lp, %.noexc19 ] +.body.thread: ; preds = %.noexc19, %30, %15 + %eh.lpad-body10 = phi { ptr, i32 } [ %lpad.phi, %15 ], [ %lpad.thr_comm.split-lp, %30 ], [ %lpad.thr_comm.split-lp, %.noexc19 ] resume { ptr, i32 } %eh.lpad-body10 -32: ; preds = %5 +30: ; preds = %5 %lpad.thr_comm.split-lp = landingpad { ptr, i32 } cleanup - br i1 %6, label %.body.thread, label %33 + br i1 %6, label %.body.thread, label %31 -33: ; preds = %32 - %34 = and i64 %.sroa.7.0, -8 +31: ; preds = %30 + %32 = and i64 %.sroa.7.0, -8 call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %1), !noalias !1136 - %35 = inttoptr i64 %34 to ptr - %36 = icmp ne i64 %34, 0 - tail call void @llvm.assume(i1 %36) - store ptr %35, ptr %1, align 8, !noalias !1136 + %33 = inttoptr i64 %32 to ptr + %34 = icmp ne i64 %32, 0 + tail call void @llvm.assume(i1 %34) + store ptr %33, ptr %1, align 8, !noalias !1136 invoke void @"_ZN4core3ptr236drop_in_place$LT$alloc..boxed..Box$LT$moka..cht..map..bucket..BucketArray$LT$alloc..sync..Arc$LT$$LP$usize$C$usize$RP$$GT$$C$triomphe..arc..Arc$LT$lock_api..mutex..Mutex$LT$parking_lot..raw_mutex..RawMutex$C$$LP$$RP$$GT$$GT$$GT$$GT$$GT$17h5068e2d62ed349b9E.llvm.4598255899691141044"(ptr noalias noundef nonnull align 8 dereferenceable(8) %1) - to label %.noexc19 unwind label %37 + to label %.noexc19 unwind label %35 -.noexc19: ; preds = %33 +.noexc19: ; preds = %31 call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %1), !noalias !1136 br label %.body.thread -37: ; preds = %33 - %38 = landingpad { ptr, i32 } +35: ; preds = %31 + %36 = landingpad { ptr, i32 } filter [0 x ptr] zeroinitializer call void @_ZN4core9panicking16panic_in_cleanup17h55eb1d85cadde1a1E() #37 unreachable @@ -8143,16 +8125,16 @@ define internal fastcc noundef nonnull align 8 ptr @"_ZN4moka3cht3map16bucket_ar tail call void @llvm.assume(i1 %4) br label %5 -5: ; preds = %22, %0 - %.sroa.7.0 = phi i64 [ undef, %0 ], [ %.013, %22 ] - %6 = phi i1 [ true, %0 ], [ false, %22 ] +5: ; preds = %.noexc, %0 + %.sroa.7.0 = phi i64 [ undef, %0 ], [ %.013, %.noexc ] + %6 = phi i1 [ true, %0 ], [ false, %.noexc ] %7 = invoke noundef i64 @_ZN4core4sync6atomic11atomic_load17h31bf14352078a3c9E.llvm.8540189446595550310(ptr noundef nonnull align 8 %.0.val, i8 noundef 2) - to label %8 unwind label %32 + to label %8 unwind label %30 8: ; preds = %5 %9 = and i64 %7, -8 %.not.not = icmp eq i64 %9, 0 - br i1 %.not.not, label %10, label %27 + br i1 %.not.not, label %10, label %25 10: ; preds = %8 br i1 %6, label %11, label %.noexc @@ -8207,70 +8189,61 @@ define internal fastcc noundef nonnull align 8 ptr @"_ZN4moka3cht3map16bucket_ar %20 = tail call { i64, i64 } @_ZN4core4sync6atomic28atomic_compare_exchange_weak17hea9d2275a25bb5e5E.llvm.8540189446595550310(ptr noundef nonnull align 8 %.0.val, i64 noundef 0, i64 noundef %.013, i8 noundef 3, i8 noundef 0) %21 = extractvalue { i64, i64 } %20, 0 %switch.i2.i = icmp eq i64 %21, 0 - br i1 %switch.i2.i, label %.thread16, label %22 + br i1 %switch.i2.i, label %.thread16, label %5 -22: ; preds = %.noexc - %trunc14 = trunc nuw i64 %21 to i1 - br i1 %trunc14, label %5, label %.thread16.split.loop.exit34 - -.thread16.split.loop.exit34: ; preds = %22 - %23 = extractvalue { i64, i64 } %20, 1 - br label %.thread16 - -.thread16: ; preds = %.noexc, %.thread16.split.loop.exit34 - %spec.select.i.i21 = phi i64 [ %23, %.thread16.split.loop.exit34 ], [ %.013, %.noexc ] - %24 = and i64 %spec.select.i.i21, -8 - %25 = icmp eq i64 %24, 0 - br i1 %25, label %26, label %.thread +.thread16: ; preds = %.noexc + %22 = and i64 %.013, -8 + %23 = icmp eq i64 %22, 0 + br i1 %23, label %24, label %.thread -26: ; preds = %.thread16 +24: ; preds = %.thread16 tail call void @_ZN4core9panicking5panic17hb837a5ebbbe5b188E(ptr noalias noundef nonnull readonly align 1 @anon.e64089b94c7010abbaca571653ee6b27.7, i64 noundef 43, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.e64089b94c7010abbaca571653ee6b27.50) #38 unreachable -.thread: ; preds = %28, %27, %.thread16 - %.015.in = phi i64 [ %24, %.thread16 ], [ %9, %27 ], [ %9, %28 ] +.thread: ; preds = %26, %25, %.thread16 + %.015.in = phi i64 [ %22, %.thread16 ], [ %9, %25 ], [ %9, %26 ] %.015 = inttoptr i64 %.015.in to ptr ret ptr %.015 -27: ; preds = %8 - br i1 %6, label %.thread, label %28 +25: ; preds = %8 + br i1 %6, label %.thread, label %26 -28: ; preds = %27 - %29 = and i64 %.sroa.7.0, -8 +26: ; preds = %25 + %27 = and i64 %.sroa.7.0, -8 call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %2), !noalias !1144 - %30 = inttoptr i64 %29 to ptr - %31 = icmp ne i64 %29, 0 - tail call void @llvm.assume(i1 %31) - store ptr %30, ptr %2, align 8, !noalias !1144 + %28 = inttoptr i64 %27 to ptr + %29 = icmp ne i64 %27, 0 + tail call void @llvm.assume(i1 %29) + store ptr %28, ptr %2, align 8, !noalias !1144 call void @"_ZN4core3ptr462drop_in_place$LT$alloc..boxed..Box$LT$moka..cht..map..bucket..BucketArray$LT$$LP$alloc..sync..Arc$LT$$LP$usize$C$usize$RP$$GT$$C$core..any..TypeId$RP$$C$triomphe..arc..Arc$LT$lock_api..rwlock..RwLock$LT$parking_lot..raw_rwlock..RawRwLock$C$core..option..Option$LT$core..result..Result$LT$alloc..sync..Arc$LT$mini_lsm_mvcc..block..Block$GT$$C$alloc..sync..Arc$LT$dyn$u20$core..any..Any$u2b$core..marker..Send$u2b$core..marker..Sync$GT$$GT$$GT$$GT$$GT$$GT$$GT$$GT$17ha7bce1765a04d8a0E.llvm.4598255899691141044"(ptr noalias noundef nonnull align 8 dereferenceable(8) %2), !noalias !1144 call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %2), !noalias !1144 br label %.thread -.body.thread: ; preds = %.noexc19, %32, %15 - %eh.lpad-body10 = phi { ptr, i32 } [ %lpad.phi, %15 ], [ %lpad.thr_comm.split-lp, %32 ], [ %lpad.thr_comm.split-lp, %.noexc19 ] +.body.thread: ; preds = %.noexc19, %30, %15 + %eh.lpad-body10 = phi { ptr, i32 } [ %lpad.phi, %15 ], [ %lpad.thr_comm.split-lp, %30 ], [ %lpad.thr_comm.split-lp, %.noexc19 ] resume { ptr, i32 } %eh.lpad-body10 -32: ; preds = %5 +30: ; preds = %5 %lpad.thr_comm.split-lp = landingpad { ptr, i32 } cleanup - br i1 %6, label %.body.thread, label %33 + br i1 %6, label %.body.thread, label %31 -33: ; preds = %32 - %34 = and i64 %.sroa.7.0, -8 +31: ; preds = %30 + %32 = and i64 %.sroa.7.0, -8 call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %1), !noalias !1149 - %35 = inttoptr i64 %34 to ptr - %36 = icmp ne i64 %34, 0 - tail call void @llvm.assume(i1 %36) - store ptr %35, ptr %1, align 8, !noalias !1149 + %33 = inttoptr i64 %32 to ptr + %34 = icmp ne i64 %32, 0 + tail call void @llvm.assume(i1 %34) + store ptr %33, ptr %1, align 8, !noalias !1149 invoke void @"_ZN4core3ptr462drop_in_place$LT$alloc..boxed..Box$LT$moka..cht..map..bucket..BucketArray$LT$$LP$alloc..sync..Arc$LT$$LP$usize$C$usize$RP$$GT$$C$core..any..TypeId$RP$$C$triomphe..arc..Arc$LT$lock_api..rwlock..RwLock$LT$parking_lot..raw_rwlock..RawRwLock$C$core..option..Option$LT$core..result..Result$LT$alloc..sync..Arc$LT$mini_lsm_mvcc..block..Block$GT$$C$alloc..sync..Arc$LT$dyn$u20$core..any..Any$u2b$core..marker..Send$u2b$core..marker..Sync$GT$$GT$$GT$$GT$$GT$$GT$$GT$$GT$17ha7bce1765a04d8a0E.llvm.4598255899691141044"(ptr noalias noundef nonnull align 8 dereferenceable(8) %1) - to label %.noexc19 unwind label %37 + to label %.noexc19 unwind label %35 -.noexc19: ; preds = %33 +.noexc19: ; preds = %31 call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %1), !noalias !1149 br label %.body.thread -37: ; preds = %33 - %38 = landingpad { ptr, i32 } +35: ; preds = %31 + %36 = landingpad { ptr, i32 } filter [0 x ptr] zeroinitializer call void @_ZN4core9panicking16panic_in_cleanup17h55eb1d85cadde1a1E() #37 unreachable diff --git a/bench/mini-lsm-rs/optimized/4ewvyiut5id4i5es.ll b/bench/mini-lsm-rs/optimized/4ewvyiut5id4i5es.ll index 893ebf5fbec..e84e4249ee7 100644 --- a/bench/mini-lsm-rs/optimized/4ewvyiut5id4i5es.ll +++ b/bench/mini-lsm-rs/optimized/4ewvyiut5id4i5es.ll @@ -195,66 +195,56 @@ define hidden void @"_ZN15crossbeam_epoch4sync5queue14Queue$LT$T$GT$7try_pop17h8 %12 = tail call { i64, i64 } @_ZN4core4sync6atomic23atomic_compare_exchange17h80d032db150e0d8dE.llvm.18092150996463083177(ptr noundef nonnull align 8 %1, i64 noundef %5, i64 noundef %9, i8 noundef 1, i8 noundef 0), !noalias !65 %13 = extractvalue { i64, i64 } %12, 0 %switch.i2.i71 = icmp eq i64 %13, 0 - br i1 %switch.i2.i71, label %"_ZN15crossbeam_epoch6atomic15Atomic$LT$T$GT$16compare_exchange17h2399e4e99222d6d2E.exit.thread", label %"_ZN15crossbeam_epoch6atomic15Atomic$LT$T$GT$16compare_exchange17h2399e4e99222d6d2E.exit" + br i1 %switch.i2.i71, label %"_ZN15crossbeam_epoch6atomic15Atomic$LT$T$GT$16compare_exchange17h2399e4e99222d6d2E.exit.thread", label %"_ZN4core3ptr124drop_in_place$LT$core..result..Result$LT$core..option..Option$LT$crossbeam_epoch..internal..SealedBag$GT$$C$$LP$$RP$$GT$$GT$17h3752858d39f2de4fE.llvm.12023550525612096193.exit" .lr.ph: ; preds = %"_ZN4core3ptr124drop_in_place$LT$core..result..Result$LT$core..option..Option$LT$crossbeam_epoch..internal..SealedBag$GT$$C$$LP$$RP$$GT$$GT$17h3752858d39f2de4fE.llvm.12023550525612096193.exit" - %14 = tail call { i64, i64 } @_ZN4core4sync6atomic23atomic_compare_exchange17h80d032db150e0d8dE.llvm.18092150996463083177(ptr noundef nonnull align 8 %1, i64 noundef %34, i64 noundef %38, i8 noundef 1, i8 noundef 0), !noalias !65 + %14 = tail call { i64, i64 } @_ZN4core4sync6atomic23atomic_compare_exchange17h80d032db150e0d8dE.llvm.18092150996463083177(ptr noundef nonnull align 8 %1, i64 noundef %28, i64 noundef %32, i8 noundef 1, i8 noundef 0), !noalias !65 %15 = extractvalue { i64, i64 } %14, 0 %switch.i2.i = icmp eq i64 %15, 0 - br i1 %switch.i2.i, label %"_ZN15crossbeam_epoch6atomic15Atomic$LT$T$GT$16compare_exchange17h2399e4e99222d6d2E.exit.thread", label %"_ZN15crossbeam_epoch6atomic15Atomic$LT$T$GT$16compare_exchange17h2399e4e99222d6d2E.exit" - -"_ZN15crossbeam_epoch6atomic15Atomic$LT$T$GT$16compare_exchange17h2399e4e99222d6d2E.exit": ; preds = %.lr.ph.preheader, %.lr.ph - %16 = phi i64 [ %15, %.lr.ph ], [ %13, %.lr.ph.preheader ] - %17 = phi i64 [ %34, %.lr.ph ], [ %5, %.lr.ph.preheader ] - %18 = phi i64 [ %35, %.lr.ph ], [ %6, %.lr.ph.preheader ] - %19 = phi ptr [ %36, %.lr.ph ], [ %7, %.lr.ph.preheader ] - %20 = phi i64 [ %38, %.lr.ph ], [ %9, %.lr.ph.preheader ] - %21 = phi i64 [ %39, %.lr.ph ], [ %10, %.lr.ph.preheader ] - %trunc.i = trunc nuw i64 %16 to i1 - br i1 %trunc.i, label %"_ZN4core3ptr124drop_in_place$LT$core..result..Result$LT$core..option..Option$LT$crossbeam_epoch..internal..SealedBag$GT$$C$$LP$$RP$$GT$$GT$17h3752858d39f2de4fE.llvm.12023550525612096193.exit", label %"_ZN15crossbeam_epoch6atomic15Atomic$LT$T$GT$16compare_exchange17h2399e4e99222d6d2E.exit.thread" - -"_ZN15crossbeam_epoch6atomic15Atomic$LT$T$GT$16compare_exchange17h2399e4e99222d6d2E.exit.thread": ; preds = %"_ZN15crossbeam_epoch6atomic15Atomic$LT$T$GT$16compare_exchange17h2399e4e99222d6d2E.exit", %.lr.ph, %.lr.ph.preheader - %.lcssa69 = phi i64 [ %10, %.lr.ph.preheader ], [ %21, %"_ZN15crossbeam_epoch6atomic15Atomic$LT$T$GT$16compare_exchange17h2399e4e99222d6d2E.exit" ], [ %39, %.lr.ph ] - %.lcssa67 = phi i64 [ %9, %.lr.ph.preheader ], [ %20, %"_ZN15crossbeam_epoch6atomic15Atomic$LT$T$GT$16compare_exchange17h2399e4e99222d6d2E.exit" ], [ %38, %.lr.ph ] - %.lcssa65 = phi ptr [ %7, %.lr.ph.preheader ], [ %19, %"_ZN15crossbeam_epoch6atomic15Atomic$LT$T$GT$16compare_exchange17h2399e4e99222d6d2E.exit" ], [ %36, %.lr.ph ] - %.lcssa63 = phi i64 [ %6, %.lr.ph.preheader ], [ %18, %"_ZN15crossbeam_epoch6atomic15Atomic$LT$T$GT$16compare_exchange17h2399e4e99222d6d2E.exit" ], [ %35, %.lr.ph ] - %.lcssa = phi i64 [ %5, %.lr.ph.preheader ], [ %17, %"_ZN15crossbeam_epoch6atomic15Atomic$LT$T$GT$16compare_exchange17h2399e4e99222d6d2E.exit" ], [ %34, %.lr.ph ] - %22 = inttoptr i64 %.lcssa69 to ptr - %23 = getelementptr inbounds nuw i8, ptr %1, i64 128 - %24 = tail call noundef i64 @_ZN4core4sync6atomic11atomic_load17h5ee0336b73f9ab5bE.llvm.18092150996463083177(ptr noundef nonnull align 8 %23, i8 noundef 0), !noalias !69 - %25 = icmp eq i64 %.lcssa, %24 - br i1 %25, label %"_ZN15crossbeam_epoch6atomic15Atomic$LT$T$GT$16compare_exchange17h2399e4e99222d6d2E.exit.i.i", label %27 + br i1 %switch.i2.i, label %"_ZN15crossbeam_epoch6atomic15Atomic$LT$T$GT$16compare_exchange17h2399e4e99222d6d2E.exit.thread", label %"_ZN4core3ptr124drop_in_place$LT$core..result..Result$LT$core..option..Option$LT$crossbeam_epoch..internal..SealedBag$GT$$C$$LP$$RP$$GT$$GT$17h3752858d39f2de4fE.llvm.12023550525612096193.exit" + +"_ZN15crossbeam_epoch6atomic15Atomic$LT$T$GT$16compare_exchange17h2399e4e99222d6d2E.exit.thread": ; preds = %.lr.ph, %.lr.ph.preheader + %.lcssa69 = phi i64 [ %10, %.lr.ph.preheader ], [ %33, %.lr.ph ] + %.lcssa67 = phi i64 [ %9, %.lr.ph.preheader ], [ %32, %.lr.ph ] + %.lcssa65 = phi ptr [ %7, %.lr.ph.preheader ], [ %30, %.lr.ph ] + %.lcssa63 = phi i64 [ %6, %.lr.ph.preheader ], [ %29, %.lr.ph ] + %.lcssa = phi i64 [ %5, %.lr.ph.preheader ], [ %28, %.lr.ph ] + %16 = inttoptr i64 %.lcssa69 to ptr + %17 = getelementptr inbounds nuw i8, ptr %1, i64 128 + %18 = tail call noundef i64 @_ZN4core4sync6atomic11atomic_load17h5ee0336b73f9ab5bE.llvm.18092150996463083177(ptr noundef nonnull align 8 %17, i8 noundef 0), !noalias !69 + %19 = icmp eq i64 %.lcssa, %18 + br i1 %19, label %"_ZN15crossbeam_epoch6atomic15Atomic$LT$T$GT$16compare_exchange17h2399e4e99222d6d2E.exit.i.i", label %21 "_ZN15crossbeam_epoch6atomic15Atomic$LT$T$GT$16compare_exchange17h2399e4e99222d6d2E.exit.i.i": ; preds = %"_ZN15crossbeam_epoch6atomic15Atomic$LT$T$GT$16compare_exchange17h2399e4e99222d6d2E.exit.thread" - %26 = tail call { i64, i64 } @_ZN4core4sync6atomic23atomic_compare_exchange17h80d032db150e0d8dE.llvm.18092150996463083177(ptr noundef nonnull align 8 %23, i64 noundef %.lcssa, i64 noundef %.lcssa67, i8 noundef 1, i8 noundef 0), !noalias !77 - br label %27 + %20 = tail call { i64, i64 } @_ZN4core4sync6atomic23atomic_compare_exchange17h80d032db150e0d8dE.llvm.18092150996463083177(ptr noundef nonnull align 8 %17, i64 noundef %.lcssa, i64 noundef %.lcssa67, i8 noundef 1, i8 noundef 0), !noalias !77 + br label %21 -27: ; preds = %"_ZN15crossbeam_epoch6atomic15Atomic$LT$T$GT$16compare_exchange17h2399e4e99222d6d2E.exit.i.i", %"_ZN15crossbeam_epoch6atomic15Atomic$LT$T$GT$16compare_exchange17h2399e4e99222d6d2E.exit.thread" +21: ; preds = %"_ZN15crossbeam_epoch6atomic15Atomic$LT$T$GT$16compare_exchange17h2399e4e99222d6d2E.exit.i.i", %"_ZN15crossbeam_epoch6atomic15Atomic$LT$T$GT$16compare_exchange17h2399e4e99222d6d2E.exit.thread" tail call void @llvm.experimental.noalias.scope.decl(metadata !80), !noalias !83 - %28 = load ptr, ptr %2, align 8, !alias.scope !80, !noalias !69, !noundef !21 - %29 = icmp eq ptr %28, null - br i1 %29, label %32, label %30 + %22 = load ptr, ptr %2, align 8, !alias.scope !80, !noalias !69, !noundef !21 + %23 = icmp eq ptr %22, null + br i1 %23, label %26, label %24 -30: ; preds = %27 +24: ; preds = %21 call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %4), !noalias !84 store ptr @_ZN15crossbeam_epoch8deferred8Deferred3new4call17ha994ee6b9a8d7fc2E.llvm.12023550525612096193, ptr %4, align 8, !alias.scope !85, !noalias !84 - %31 = getelementptr inbounds nuw i8, ptr %4, i64 8 - store i64 %.lcssa, ptr %31, align 8, !alias.scope !85, !noalias !84 - call void @_ZN15crossbeam_epoch8internal5Local5defer17h63f66b08c2fc0a6aE(ptr noundef nonnull align 8 %28, ptr noalias nocapture noundef nonnull align 8 dereferenceable(32) %4, ptr noalias noundef nonnull readonly align 8 dereferenceable(8) %2), !noalias !69 + %25 = getelementptr inbounds nuw i8, ptr %4, i64 8 + store i64 %.lcssa, ptr %25, align 8, !alias.scope !85, !noalias !84 + call void @_ZN15crossbeam_epoch8internal5Local5defer17h63f66b08c2fc0a6aE(ptr noundef nonnull align 8 %22, ptr noalias nocapture noundef nonnull align 8 dereferenceable(32) %4, ptr noalias noundef nonnull readonly align 8 dereferenceable(8) %2), !noalias !69 call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %4), !noalias !84 br label %"_ZN15crossbeam_epoch4sync5queue14Queue$LT$T$GT$12pop_internal17h6fa0680ebe44589fE.llvm.12023550525612096193.exit.thread31" -32: ; preds = %27 - %33 = icmp ne i64 %.lcssa63, 0 - tail call void @llvm.assume(i1 %33), !noalias !83 +26: ; preds = %21 + %27 = icmp ne i64 %.lcssa63, 0 + tail call void @llvm.assume(i1 %27), !noalias !83 tail call void @__rust_dealloc(ptr noundef nonnull %.lcssa65, i64 noundef 2072, i64 noundef 8) #24, !noalias !88 br label %"_ZN15crossbeam_epoch4sync5queue14Queue$LT$T$GT$12pop_internal17h6fa0680ebe44589fE.llvm.12023550525612096193.exit.thread31" -"_ZN15crossbeam_epoch4sync5queue14Queue$LT$T$GT$12pop_internal17h6fa0680ebe44589fE.llvm.12023550525612096193.exit.thread31": ; preds = %30, %32 - %.sroa.4.8.copyload = load i64, ptr %22, align 8, !noalias !97 - %.sroa.7.8..sroa_idx = getelementptr inbounds nuw i8, ptr %22, i64 8 +"_ZN15crossbeam_epoch4sync5queue14Queue$LT$T$GT$12pop_internal17h6fa0680ebe44589fE.llvm.12023550525612096193.exit.thread31": ; preds = %24, %26 + %.sroa.4.8.copyload = load i64, ptr %16, align 8, !noalias !97 + %.sroa.7.8..sroa_idx = getelementptr inbounds nuw i8, ptr %16, i64 8 %.sroa.7.8.copyload = load i64, ptr %.sroa.7.8..sroa_idx, align 8, !noalias !97 - %.sroa.8.8..sroa_idx = getelementptr inbounds nuw i8, ptr %22, i64 16 + %.sroa.8.8..sroa_idx = getelementptr inbounds nuw i8, ptr %16, i64 16 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(2048) %.sroa.12, ptr noundef nonnull align 8 dereferenceable(2048) %.sroa.8.8..sroa_idx, i64 2048, i1 false) br label %"_ZN15crossbeam_epoch4sync5queue14Queue$LT$T$GT$12pop_internal17h6fa0680ebe44589fE.llvm.12023550525612096193.exit.thread" @@ -269,17 +259,17 @@ define hidden void @"_ZN15crossbeam_epoch4sync5queue14Queue$LT$T$GT$7try_pop17h8 call void @llvm.lifetime.end.p0(i64 2048, ptr nonnull %.sroa.12) ret void -"_ZN4core3ptr124drop_in_place$LT$core..result..Result$LT$core..option..Option$LT$crossbeam_epoch..internal..SealedBag$GT$$C$$LP$$RP$$GT$$GT$17h3752858d39f2de4fE.llvm.12023550525612096193.exit": ; preds = %"_ZN15crossbeam_epoch6atomic15Atomic$LT$T$GT$16compare_exchange17h2399e4e99222d6d2E.exit" +"_ZN4core3ptr124drop_in_place$LT$core..result..Result$LT$core..option..Option$LT$crossbeam_epoch..internal..SealedBag$GT$$C$$LP$$RP$$GT$$GT$17h3752858d39f2de4fE.llvm.12023550525612096193.exit": ; preds = %.lr.ph.preheader, %.lr.ph call void @llvm.lifetime.end.p0(i64 2048, ptr nonnull %.sroa.12) call void @llvm.lifetime.start.p0(i64 2048, ptr nonnull %.sroa.12) - %34 = tail call noundef i64 @_ZN4core4sync6atomic11atomic_load17h5ee0336b73f9ab5bE.llvm.18092150996463083177(ptr noundef nonnull align 128 %1, i8 noundef 2), !noalias !98 - %35 = and i64 %34, -8 - %36 = inttoptr i64 %35 to ptr - %37 = getelementptr inbounds nuw i8, ptr %36, i64 2064 - %38 = tail call noundef i64 @_ZN4core4sync6atomic11atomic_load17h5ee0336b73f9ab5bE.llvm.18092150996463083177(ptr noundef nonnull align 8 %37, i8 noundef 2), !noalias !98 - %39 = and i64 %38, -8 - %40 = icmp eq i64 %39, 0 - br i1 %40, label %"_ZN15crossbeam_epoch4sync5queue14Queue$LT$T$GT$12pop_internal17h6fa0680ebe44589fE.llvm.12023550525612096193.exit.thread", label %.lr.ph + %28 = tail call noundef i64 @_ZN4core4sync6atomic11atomic_load17h5ee0336b73f9ab5bE.llvm.18092150996463083177(ptr noundef nonnull align 128 %1, i8 noundef 2), !noalias !98 + %29 = and i64 %28, -8 + %30 = inttoptr i64 %29 to ptr + %31 = getelementptr inbounds nuw i8, ptr %30, i64 2064 + %32 = tail call noundef i64 @_ZN4core4sync6atomic11atomic_load17h5ee0336b73f9ab5bE.llvm.18092150996463083177(ptr noundef nonnull align 8 %31, i8 noundef 2), !noalias !98 + %33 = and i64 %32, -8 + %34 = icmp eq i64 %33, 0 + br i1 %34, label %"_ZN15crossbeam_epoch4sync5queue14Queue$LT$T$GT$12pop_internal17h6fa0680ebe44589fE.llvm.12023550525612096193.exit.thread", label %.lr.ph } ; Function Attrs: mustprogress nofree norecurse nosync nounwind nonlazybind willreturn memory(argmem: write) uwtable diff --git a/bench/ockam-rs/optimized/1411u8drt798uxi8.ll b/bench/ockam-rs/optimized/1411u8drt798uxi8.ll index d3d3a3acfcd..a8b0130ad99 100644 --- a/bench/ockam-rs/optimized/1411u8drt798uxi8.ll +++ b/bench/ockam-rs/optimized/1411u8drt798uxi8.ll @@ -77731,7 +77731,7 @@ define hidden void @"_ZN80_$LT$zstd..stream..zio..reader..Reader$LT$R$C$D$GT$$u2 switch i8 %.pre, label %.outer.split.us.unreachabledefault [ i8 0, label %.thread i8 1, label %.split.us - i8 2, label %.split75.us + i8 2, label %.split77.us ] .outer.split.us.unreachabledefault: ; preds = %.outer.split.us @@ -77745,7 +77745,7 @@ default.unreachable: ; preds = %.outer.split switch i8 %19, label %default.unreachable [ i8 0, label %20 i8 1, label %.split.us - i8 2, label %.split75.us + i8 2, label %.split77.us ] 20: ; preds = %.outer.split @@ -77778,7 +77778,7 @@ default.unreachable: ; preds = %.outer.split %31 = load volatile i8, ptr @__rust_no_alloc_shim_is_unstable, align 1, !noalias !10653 %32 = call noundef align 8 dereferenceable_or_null(24) ptr @__rust_alloc(i64 noundef 24, i64 noundef 8) #47, !noalias !10653 %33 = icmp eq ptr %32, null - br i1 %33, label %34, label %76 + br i1 %33, label %34, label %75 34: ; preds = %26 invoke void @_ZN5alloc5alloc18handle_alloc_error17h047bf044e422c00fE(i64 noundef 8, i64 noundef 24) #46 @@ -77802,7 +77802,7 @@ default.unreachable: ; preds = %.outer.split 39: ; preds = %35 resume { ptr, i32 } %36 -.split75.us: ; preds = %.outer.split.us, %.outer.split +.split77.us: ; preds = %.outer.split.us, %.outer.split call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %0, i8 0, i64 16, i1 false) br label %44 @@ -77814,18 +77814,18 @@ default.unreachable: ; preds = %.outer.split 42: ; preds = %20 %43 = icmp eq ptr %22, null - br i1 %43, label %47, label %.thread.split.loop.exit69 + br i1 %43, label %47, label %.thread.split.loop.exit71 -44: ; preds = %81, %74, %72, %40, %.split75.us +44: ; preds = %80, %.loopexit, %72, %40, %.split77.us ret void -.thread.split.loop.exit69: ; preds = %42 +.thread.split.loop.exit71: ; preds = %42 %.cast.sink.i.le = ptrtoint ptr %22 to i64 br label %.thread -.thread: ; preds = %.outer.split.us, %.thread.split.loop.exit69 - %.sroa.09.055 = phi ptr [ %21, %.thread.split.loop.exit69 ], [ @anon.18447cd967edbb62a84b1bcc4d80419e.49.llvm.18141648412879468590, %.outer.split.us ] - %.sroa.3.054 = phi i64 [ %.cast.sink.i.le, %.thread.split.loop.exit69 ], [ 0, %.outer.split.us ] +.thread: ; preds = %.outer.split.us, %.thread.split.loop.exit71 + %.sroa.09.055 = phi ptr [ %21, %.thread.split.loop.exit71 ], [ @anon.18447cd967edbb62a84b1bcc4d80419e.49.llvm.18141648412879468590, %.outer.split.us ] + %.sroa.3.054 = phi i64 [ %.cast.sink.i.le, %.thread.split.loop.exit71 ], [ 0, %.outer.split.us ] call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %8) call void @_ZN9zstd_safe8InBuffer6around17hc7745988e97a9141E(ptr noalias nocapture noundef nonnull sret({ { ptr, i64 }, i64 }) align 8 dereferenceable(24) %8, ptr noalias noundef nonnull readonly align 1 %.sroa.09.055, i64 noundef %.sroa.3.054) call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %7) @@ -77850,13 +77850,12 @@ default.unreachable: ; preds = %.outer.split "_ZN75_$LT$zstd..stream..raw..Decoder$u20$as$u20$zstd..stream..raw..Operation$GT$3run17h4c8c0de8c50bf828E.exit": ; preds = %48 %52 = call noundef nonnull ptr @_ZN4zstd14map_error_code17h933ce1131995fab9E(i64 noundef %51), !noalias !10659 - %trunc29 = trunc nuw i64 %50 to i1 - br i1 %trunc29, label %74, label %.thread59 + br label %.loopexit 53: ; preds = %.thread %54 = call noundef ptr @"_ZN75_$LT$zstd..stream..raw..Decoder$u20$as$u20$zstd..stream..raw..Operation$GT$6reinit17h439ac4f3a5b333bfE"(ptr noalias noundef nonnull align 8 dereferenceable(8) %15) %55 = icmp eq ptr %54, null - br i1 %55, label %56, label %74 + br i1 %55, label %56, label %.loopexit 56: ; preds = %53 store i8 0, ptr %14, align 2 @@ -77872,7 +77871,7 @@ default.unreachable: ; preds = %.outer.split %61 = trunc nuw i8 %60 to i1 br i1 %61, label %71, label %.thread59 -.thread59: ; preds = %"_ZN75_$LT$zstd..stream..raw..Decoder$u20$as$u20$zstd..stream..raw..Operation$GT$3run17h4c8c0de8c50bf828E.exit", %59, %71, %57 +.thread59: ; preds = %59, %71, %57 %62 = call noundef i64 @_ZN9zstd_safe8InBuffer3pos17hd0aec88b97521623E(ptr noalias noundef nonnull readonly align 8 dereferenceable(24) %8) call void @llvm.experimental.noalias.scope.decl(metadata !10662) %63 = load i64, ptr %13, align 8, !alias.scope !10662, !noundef !10 @@ -77907,32 +77906,32 @@ default.unreachable: ; preds = %.outer.split store i64 0, ptr %0, align 8 br label %44 -74: ; preds = %"_ZN75_$LT$zstd..stream..raw..Decoder$u20$as$u20$zstd..stream..raw..Operation$GT$3run17h4c8c0de8c50bf828E.exit", %53 - %.lcssa95.sink = phi ptr [ %54, %53 ], [ %52, %"_ZN75_$LT$zstd..stream..raw..Decoder$u20$as$u20$zstd..stream..raw..Operation$GT$3run17h4c8c0de8c50bf828E.exit" ] - %75 = getelementptr inbounds nuw i8, ptr %0, i64 8 - store ptr %.lcssa95.sink, ptr %75, align 8 +.loopexit: ; preds = %53, %"_ZN75_$LT$zstd..stream..raw..Decoder$u20$as$u20$zstd..stream..raw..Operation$GT$3run17h4c8c0de8c50bf828E.exit" + %.sink = phi ptr [ %52, %"_ZN75_$LT$zstd..stream..raw..Decoder$u20$as$u20$zstd..stream..raw..Operation$GT$3run17h4c8c0de8c50bf828E.exit" ], [ %54, %53 ] + %74 = getelementptr inbounds nuw i8, ptr %0, i64 8 + store ptr %.sink, ptr %74, align 8 store i64 1, ptr %0, align 8 call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %7) call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %8) br label %44 -76: ; preds = %26 +75: ; preds = %26 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %32, ptr noundef nonnull align 8 dereferenceable(24) %6, i64 24, i1 false), !noalias !10652 call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %6), !noalias !10652 - %77 = call noundef nonnull ptr @_ZN3std2io5error5Error4_new17hcc0690775488aea3E(i8 noundef 37, ptr noundef nonnull align 1 %32, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.18447cd967edbb62a84b1bcc4d80419e.195.llvm.18141648412879468590), !noalias !10668 - %78 = getelementptr inbounds nuw i8, ptr %0, i64 8 - store ptr %77, ptr %78, align 8 - br label %81 + %76 = call noundef nonnull ptr @_ZN3std2io5error5Error4_new17hcc0690775488aea3E(i8 noundef 37, ptr noundef nonnull align 1 %32, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.18447cd967edbb62a84b1bcc4d80419e.195.llvm.18141648412879468590), !noalias !10668 + %77 = getelementptr inbounds nuw i8, ptr %0, i64 8 + store ptr %76, ptr %77, align 8 + br label %80 "_ZN9zstd_safe18OutBuffer$LT$C$GT$3pos17h92007b9477071957E.exit38": ; preds = %.split.us store i8 2, ptr %9, align 8 - %79 = call noundef i64 @"_ZN52_$LT$$u5b$u8$u5d$$u20$as$u20$zstd_safe..WriteBuf$GT$8capacity17h401e2821fb0909a5E"(ptr noalias noundef nonnull readonly align 1 %2, i64 noundef %3), !noalias !10669 - %80 = getelementptr inbounds nuw i8, ptr %0, i64 8 - store i64 0, ptr %80, align 8 - br label %81 + %78 = call noundef i64 @"_ZN52_$LT$$u5b$u8$u5d$$u20$as$u20$zstd_safe..WriteBuf$GT$8capacity17h401e2821fb0909a5E"(ptr noalias noundef nonnull readonly align 1 %2, i64 noundef %3), !noalias !10669 + %79 = getelementptr inbounds nuw i8, ptr %0, i64 8 + store i64 0, ptr %79, align 8 + br label %80 -81: ; preds = %"_ZN9zstd_safe18OutBuffer$LT$C$GT$3pos17h92007b9477071957E.exit38", %76 - %storemerge = phi i64 [ 1, %76 ], [ 0, %"_ZN9zstd_safe18OutBuffer$LT$C$GT$3pos17h92007b9477071957E.exit38" ] +80: ; preds = %"_ZN9zstd_safe18OutBuffer$LT$C$GT$3pos17h92007b9477071957E.exit38", %75 + %storemerge = phi i64 [ 1, %75 ], [ 0, %"_ZN9zstd_safe18OutBuffer$LT$C$GT$3pos17h92007b9477071957E.exit38" ] store i64 %storemerge, ptr %0, align 8 br label %44 } diff --git a/bench/ockam-rs/optimized/48m1civl6b0v2j4c.ll b/bench/ockam-rs/optimized/48m1civl6b0v2j4c.ll index f7030cb2ee7..c5552954c95 100644 --- a/bench/ockam-rs/optimized/48m1civl6b0v2j4c.ll +++ b/bench/ockam-rs/optimized/48m1civl6b0v2j4c.ll @@ -5612,9 +5612,9 @@ default.unreachable38: ; preds = %31, %3 invoke fastcc void @"_ZN4core3ptr154drop_in_place$LT$core..option..Option$LT$core..result..Result$LT$ockam_vault..types..secrets..X25519SecretKeyHandle$C$ockam_core..error..Error$GT$$GT$$GT$17h1d325e7a8f78e32dE"(ptr noalias noundef align 8 dereferenceable(32) %9) to label %15 unwind label %13 -common.ret: ; preds = %125, %129 - %storemerge10 = phi i64 [ 0, %129 ], [ 1, %125 ] - %storemerge = phi i8 [ 1, %129 ], [ 3, %125 ] +common.ret: ; preds = %125, %128 + %storemerge10 = phi i64 [ 0, %128 ], [ 1, %125 ] + %storemerge = phi i8 [ 1, %128 ], [ 3, %125 ] store i64 %storemerge10, ptr %0, align 8 store i8 %storemerge, ptr %10, align 8 ret void @@ -5665,8 +5665,8 @@ common.ret: ; preds = %125, %129 invoke void @"_ZN76_$LT$x25519_dalek..x25519..StaticSecret$u20$as$u20$core..ops..drop..Drop$GT$4drop17hf4039142127d73beE"(ptr noalias noundef nonnull align 1 dereferenceable(32) %8) to label %.thread39 unwind label %24 -.body: ; preds = %127, %.body18, %24, %18, %13 - %.pn11.pn = phi { ptr, i32 } [ %14, %13 ], [ %25, %24 ], [ %19, %18 ], [ %128, %127 ], [ %.pn, %.body18 ] +.body: ; preds = %126, %.body18, %24, %18, %13 + %.pn11.pn = phi { ptr, i32 } [ %14, %13 ], [ %25, %24 ], [ %19, %18 ], [ %127, %126 ], [ %.pn, %.body18 ] store i8 2, ptr %10, align 8 resume { ptr, i32 } %.pn11.pn @@ -5881,7 +5881,8 @@ common.ret: ; preds = %125, %129 %105 = getelementptr inbounds nuw i8, ptr %1, i64 152 store i8 0, ptr %105, align 8, !noalias !900 store i8 1, ptr %80, align 1, !noalias !900 - br label %126 + invoke fastcc void @"_ZN4core3ptr186drop_in_place$LT$ockam_vault..software..vault_for_secure_channels..vault_for_secure_channels..SoftwareVaultForSecureChannels..import_static_x25519_secret..$u7b$$u7b$closure$u7d$$u7d$$GT$17h534026c7a29d31d7E"(ptr noundef nonnull align 8 %81) + to label %128 unwind label %126 106: ; preds = %101 call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %4), !noalias !922 @@ -5937,38 +5938,30 @@ common.ret: ; preds = %125, %129 125: ; preds = %"_ZN72_$LT$core..pin..Pin$LT$P$GT$$u20$as$u20$core..future..future..Future$GT$4poll17hf1ebb26df81678baE.exit.i" store i8 3, ptr %80, align 1, !noalias !900 - %trunc = trunc nuw i64 %.fca.0.extract.i to i1 - br i1 %trunc, label %common.ret, label %126 - -126: ; preds = %.thread, %125 - %.sroa.927.037 = phi i64 [ %.sroa.4.0.i, %.thread ], [ undef, %125 ] - %.sroa.826.036 = phi ptr [ %.sroa.3.0.i, %.thread ], [ undef, %125 ] - %.sroa.625.035 = phi ptr [ %.sroa.0.0.i, %.thread ], [ undef, %125 ] - invoke fastcc void @"_ZN4core3ptr186drop_in_place$LT$ockam_vault..software..vault_for_secure_channels..vault_for_secure_channels..SoftwareVaultForSecureChannels..import_static_x25519_secret..$u7b$$u7b$closure$u7d$$u7d$$GT$17h534026c7a29d31d7E"(ptr noundef nonnull align 8 %81) - to label %129 unwind label %127 + br label %common.ret -127: ; preds = %126 - %128 = landingpad { ptr, i32 } +126: ; preds = %.thread + %127 = landingpad { ptr, i32 } cleanup br label %.body -129: ; preds = %126 - %130 = getelementptr inbounds nuw i8, ptr %0, i64 8 - store ptr %.sroa.625.035, ptr %130, align 8 +128: ; preds = %.thread + %129 = getelementptr inbounds nuw i8, ptr %0, i64 8 + store ptr %.sroa.0.0.i, ptr %129, align 8 %.sroa.2.0..sroa_idx = getelementptr inbounds nuw i8, ptr %0, i64 16 - store ptr %.sroa.826.036, ptr %.sroa.2.0..sroa_idx, align 8 + store ptr %.sroa.3.0.i, ptr %.sroa.2.0..sroa_idx, align 8 %.sroa.3.0..sroa_idx = getelementptr inbounds nuw i8, ptr %0, i64 24 - store i64 %.sroa.927.037, ptr %.sroa.3.0..sroa_idx, align 8 + store i64 %.sroa.4.0.i, ptr %.sroa.3.0..sroa_idx, align 8 br label %common.ret .body18: ; preds = %123, %120 - %131 = phi ptr [ %32, %123 ], [ %72, %120 ] + %130 = phi ptr [ %32, %123 ], [ %72, %120 ] %.pn = phi { ptr, i32 } [ %124, %123 ], [ %.pn36.i, %120 ] - invoke fastcc void @"_ZN4core3ptr186drop_in_place$LT$ockam_vault..software..vault_for_secure_channels..vault_for_secure_channels..SoftwareVaultForSecureChannels..import_static_x25519_secret..$u7b$$u7b$closure$u7d$$u7d$$GT$17h534026c7a29d31d7E"(ptr noundef nonnull align 8 %131) #18 - to label %.body unwind label %132 + invoke fastcc void @"_ZN4core3ptr186drop_in_place$LT$ockam_vault..software..vault_for_secure_channels..vault_for_secure_channels..SoftwareVaultForSecureChannels..import_static_x25519_secret..$u7b$$u7b$closure$u7d$$u7d$$GT$17h534026c7a29d31d7E"(ptr noundef nonnull align 8 %130) #18 + to label %.body unwind label %131 -132: ; preds = %.body18 - %133 = landingpad { ptr, i32 } +131: ; preds = %.body18 + %132 = landingpad { ptr, i32 } filter [0 x ptr] zeroinitializer call void @_ZN4core9panicking16panic_in_cleanup17hceade526831b1e89E() #20 unreachable diff --git a/bench/regex-rs/optimized/32jw1oy2yofrhudk.ll b/bench/regex-rs/optimized/32jw1oy2yofrhudk.ll index 90bb195ec3e..6a6b58b3618 100644 --- a/bench/regex-rs/optimized/32jw1oy2yofrhudk.ll +++ b/bench/regex-rs/optimized/32jw1oy2yofrhudk.ll @@ -3470,7 +3470,7 @@ define hidden void @"_ZN105_$LT$regex_automata..meta..strategy..Pre$LT$P$GT$$u20 %9 = getelementptr inbounds nuw i8, ptr %3, i64 32 %10 = load i64, ptr %9, align 8, !noundef !4 %11 = icmp ugt i64 %8, %10 - br i1 %11, label %42, label %12 + br i1 %11, label %41, label %12 12: ; preds = %4 %13 = load i32, ptr %3, align 8, !range !466, !noundef !4 @@ -3480,7 +3480,7 @@ define hidden void @"_ZN105_$LT$regex_automata..meta..strategy..Pre$LT$P$GT$$u20 %15 = load ptr, ptr %14, align 8, !nonnull !4, !align !467, !noundef !4 %16 = getelementptr inbounds nuw i8, ptr %3, i64 16 %17 = load i64, ptr %16, align 8, !noundef !4 - br i1 %switch, label %27, label %18 + br i1 %switch, label %26, label %18 18: ; preds = %12 call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %6), !noalias !528 @@ -3504,72 +3504,68 @@ define hidden void @"_ZN105_$LT$regex_automata..meta..strategy..Pre$LT$P$GT$$u20 "_ZN113_$LT$regex_automata..util..prefilter..byteset..ByteSet$u20$as$u20$regex_automata..util..prefilter..PrefilterI$GT$4find17hda9d299ba5e11ccbE.exit.thread": ; preds = %"_ZN106_$LT$core..ops..range..Range$LT$usize$GT$$u20$as$u20$core..slice..index..SliceIndex$LT$$u5b$T$u5d$$GT$$GT$5index17h364e2176bd393ad4E.llvm.15183607879373971598.exit.i" call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %6), !noalias !528 - br label %42 + br label %41 "_ZN113_$LT$regex_automata..util..prefilter..byteset..ByteSet$u20$as$u20$regex_automata..util..prefilter..PrefilterI$GT$4find17hda9d299ba5e11ccbE.exit": ; preds = %"_ZN106_$LT$core..ops..range..Range$LT$usize$GT$$u20$as$u20$core..slice..index..SliceIndex$LT$$u5b$T$u5d$$GT$$GT$5index17h364e2176bd393ad4E.llvm.15183607879373971598.exit.i" %.fca.1.extract.i = extractvalue { i64, i64 } %24, 1 %25 = add i64 %.fca.1.extract.i, %8 - %26 = add i64 %25, 1 call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %6), !noalias !528 - %trunc = trunc nuw i64 %.fca.0.extract.i to i1 - br i1 %trunc, label %35, label %42 + %.not.i5 = icmp eq i64 %25, -1 + br i1 %.not.i5, label %34, label %_ZN14regex_automata4util6search5Match3new17hf74dc18bc550bf59E.exit -27: ; preds = %12 +26: ; preds = %12 tail call void @llvm.experimental.noalias.scope.decl(metadata !537) tail call void @llvm.experimental.noalias.scope.decl(metadata !540) %.not.i = icmp ult i64 %8, %17 - br i1 %.not.i, label %28, label %42 + br i1 %.not.i, label %27, label %41 -28: ; preds = %27 - %29 = getelementptr inbounds i8, ptr %15, i64 %8 - %30 = load i8, ptr %29, align 1, !alias.scope !540, !noalias !542, !noundef !4 - %31 = zext i8 %30 to i64 - %32 = getelementptr inbounds nuw [256 x i8], ptr %1, i64 0, i64 %31 - %33 = load i8, ptr %32, align 1, !range !544, !alias.scope !537, !noalias !545, !noundef !4 - %34 = trunc nuw i8 %33 to i1 - br i1 %34, label %_ZN14regex_automata4util6search5Match3new17hf74dc18bc550bf59E.exit7, label %42 - -35: ; preds = %"_ZN113_$LT$regex_automata..util..prefilter..byteset..ByteSet$u20$as$u20$regex_automata..util..prefilter..PrefilterI$GT$4find17hda9d299ba5e11ccbE.exit" - %.not.i5 = icmp eq i64 %25, -1 - br i1 %.not.i5, label %36, label %_ZN14regex_automata4util6search5Match3new17hf74dc18bc550bf59E.exit +27: ; preds = %26 + %28 = getelementptr inbounds i8, ptr %15, i64 %8 + %29 = load i8, ptr %28, align 1, !alias.scope !540, !noalias !542, !noundef !4 + %30 = zext i8 %29 to i64 + %31 = getelementptr inbounds nuw [256 x i8], ptr %1, i64 0, i64 %30 + %32 = load i8, ptr %31, align 1, !range !544, !alias.scope !537, !noalias !545, !noundef !4 + %33 = trunc nuw i8 %32 to i1 + br i1 %33, label %_ZN14regex_automata4util6search5Match3new17hf74dc18bc550bf59E.exit7, label %41 -36: ; preds = %35 +34: ; preds = %"_ZN113_$LT$regex_automata..util..prefilter..byteset..ByteSet$u20$as$u20$regex_automata..util..prefilter..PrefilterI$GT$4find17hda9d299ba5e11ccbE.exit" call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %5), !noalias !546 store ptr @anon.15285cd795f513bdaa4bdcfb2bbacd31.133, ptr %5, align 8, !noalias !546 - %37 = getelementptr inbounds nuw i8, ptr %5, i64 8 - store i64 1, ptr %37, align 8, !noalias !546 - %38 = getelementptr inbounds nuw i8, ptr %5, i64 32 - store ptr null, ptr %38, align 8, !noalias !546 - %39 = getelementptr inbounds nuw i8, ptr %5, i64 16 - store ptr @anon.15285cd795f513bdaa4bdcfb2bbacd31.8, ptr %39, align 8, !noalias !546 - %40 = getelementptr inbounds nuw i8, ptr %5, i64 24 - store i64 0, ptr %40, align 8, !noalias !546 + %35 = getelementptr inbounds nuw i8, ptr %5, i64 8 + store i64 1, ptr %35, align 8, !noalias !546 + %36 = getelementptr inbounds nuw i8, ptr %5, i64 32 + store ptr null, ptr %36, align 8, !noalias !546 + %37 = getelementptr inbounds nuw i8, ptr %5, i64 16 + store ptr @anon.15285cd795f513bdaa4bdcfb2bbacd31.8, ptr %37, align 8, !noalias !546 + %38 = getelementptr inbounds nuw i8, ptr %5, i64 24 + store i64 0, ptr %38, align 8, !noalias !546 call void @_ZN4core9panicking9panic_fmt17h784f20a50eaab275E(ptr noalias nocapture noundef nonnull align 8 dereferenceable(48) %5, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.15285cd795f513bdaa4bdcfb2bbacd31.135) #24, !noalias !546 unreachable -_ZN14regex_automata4util6search5Match3new17hf74dc18bc550bf59E.exit: ; preds = %35 - %41 = getelementptr inbounds nuw i8, ptr %0, i64 8 - store i64 %25, ptr %41, align 8 +_ZN14regex_automata4util6search5Match3new17hf74dc18bc550bf59E.exit: ; preds = %"_ZN113_$LT$regex_automata..util..prefilter..byteset..ByteSet$u20$as$u20$regex_automata..util..prefilter..PrefilterI$GT$4find17hda9d299ba5e11ccbE.exit" + %39 = add nuw i64 %25, 1 + %40 = getelementptr inbounds nuw i8, ptr %0, i64 8 + store i64 %25, ptr %40, align 8 %.sroa.415.0..sroa_idx = getelementptr inbounds nuw i8, ptr %0, i64 16 - store i64 %26, ptr %.sroa.415.0..sroa_idx, align 8 + store i64 %39, ptr %.sroa.415.0..sroa_idx, align 8 %.sroa.516.0..sroa_idx = getelementptr inbounds nuw i8, ptr %0, i64 24 store i32 0, ptr %.sroa.516.0..sroa_idx, align 8 - br label %42 + br label %41 -42: ; preds = %"_ZN113_$LT$regex_automata..util..prefilter..byteset..ByteSet$u20$as$u20$regex_automata..util..prefilter..PrefilterI$GT$4find17hda9d299ba5e11ccbE.exit", %"_ZN113_$LT$regex_automata..util..prefilter..byteset..ByteSet$u20$as$u20$regex_automata..util..prefilter..PrefilterI$GT$4find17hda9d299ba5e11ccbE.exit.thread", %4, %28, %27, %_ZN14regex_automata4util6search5Match3new17hf74dc18bc550bf59E.exit7, %_ZN14regex_automata4util6search5Match3new17hf74dc18bc550bf59E.exit - %.sink = phi i64 [ 1, %_ZN14regex_automata4util6search5Match3new17hf74dc18bc550bf59E.exit7 ], [ 1, %_ZN14regex_automata4util6search5Match3new17hf74dc18bc550bf59E.exit ], [ 0, %27 ], [ 0, %28 ], [ 0, %4 ], [ 0, %"_ZN113_$LT$regex_automata..util..prefilter..byteset..ByteSet$u20$as$u20$regex_automata..util..prefilter..PrefilterI$GT$4find17hda9d299ba5e11ccbE.exit.thread" ], [ 0, %"_ZN113_$LT$regex_automata..util..prefilter..byteset..ByteSet$u20$as$u20$regex_automata..util..prefilter..PrefilterI$GT$4find17hda9d299ba5e11ccbE.exit" ] +41: ; preds = %4, %27, %26, %_ZN14regex_automata4util6search5Match3new17hf74dc18bc550bf59E.exit7, %"_ZN113_$LT$regex_automata..util..prefilter..byteset..ByteSet$u20$as$u20$regex_automata..util..prefilter..PrefilterI$GT$4find17hda9d299ba5e11ccbE.exit.thread", %_ZN14regex_automata4util6search5Match3new17hf74dc18bc550bf59E.exit + %.sink = phi i64 [ 1, %_ZN14regex_automata4util6search5Match3new17hf74dc18bc550bf59E.exit7 ], [ 0, %"_ZN113_$LT$regex_automata..util..prefilter..byteset..ByteSet$u20$as$u20$regex_automata..util..prefilter..PrefilterI$GT$4find17hda9d299ba5e11ccbE.exit.thread" ], [ 1, %_ZN14regex_automata4util6search5Match3new17hf74dc18bc550bf59E.exit ], [ 0, %26 ], [ 0, %27 ], [ 0, %4 ] store i64 %.sink, ptr %0, align 8 ret void -_ZN14regex_automata4util6search5Match3new17hf74dc18bc550bf59E.exit7: ; preds = %28 - %43 = add nuw i64 %8, 1 - %44 = getelementptr inbounds nuw i8, ptr %0, i64 8 - store i64 %8, ptr %44, align 8 +_ZN14regex_automata4util6search5Match3new17hf74dc18bc550bf59E.exit7: ; preds = %27 + %42 = add nuw i64 %8, 1 + %43 = getelementptr inbounds nuw i8, ptr %0, i64 8 + store i64 %8, ptr %43, align 8 %.sroa.412.0..sroa_idx = getelementptr inbounds nuw i8, ptr %0, i64 16 - store i64 %43, ptr %.sroa.412.0..sroa_idx, align 8 + store i64 %42, ptr %.sroa.412.0..sroa_idx, align 8 %.sroa.5.0..sroa_idx = getelementptr inbounds nuw i8, ptr %0, i64 24 store i32 0, ptr %.sroa.5.0..sroa_idx, align 8 - br label %42 + br label %41 } ; Function Attrs: alwaysinline nonlazybind uwtable @@ -3757,8 +3753,8 @@ _ZN6memchr6memmem6Finder4find17hbb320fa699992287E.llvm.17849184579231348327.exit %.fca.1.extract.i.i = extractvalue { i64, i64 } %28, 1 %29 = add i64 %.fca.1.extract.i.i, %9 %30 = add i64 %29, %.sroa.32.0.i.i - %trunc = trunc nuw i64 %.fca.0.extract.i.i to i1 - br i1 %trunc, label %37, label %"_ZN111_$LT$regex_automata..util..prefilter..memmem..Memmem$u20$as$u20$regex_automata..util..prefilter..PrefilterI$GT$4find17hdbb72a71a1b00f43E.exit.thread" + %.not.i = icmp ugt i64 %29, %30 + br i1 %.not.i, label %37, label %_ZN14regex_automata4util6search5Match3new17hf74dc18bc550bf59E.exit 31: ; preds = %13 tail call void @llvm.experimental.noalias.scope.decl(metadata !571) @@ -3782,64 +3778,60 @@ _ZN6memchr6memmem6Finder4find17hbb320fa699992287E.llvm.17849184579231348327.exit %35 = getelementptr inbounds i8, ptr %16, i64 %9 %bcmp.i.i.i = tail call i32 @bcmp(ptr nonnull readonly align 1 %.sroa.03.0.i, ptr nonnull readonly align 1 %35, i64 %.sroa.3.0.i), !alias.scope !580, !noalias !587 %36 = icmp eq i32 %bcmp.i.i.i, 0 - br i1 %36, label %44, label %"_ZN111_$LT$regex_automata..util..prefilter..memmem..Memmem$u20$as$u20$regex_automata..util..prefilter..PrefilterI$GT$4find17hdbb72a71a1b00f43E.exit.thread" + br i1 %36, label %43, label %"_ZN111_$LT$regex_automata..util..prefilter..memmem..Memmem$u20$as$u20$regex_automata..util..prefilter..PrefilterI$GT$4find17hdbb72a71a1b00f43E.exit.thread" 37: ; preds = %"_ZN111_$LT$regex_automata..util..prefilter..memmem..Memmem$u20$as$u20$regex_automata..util..prefilter..PrefilterI$GT$4find17hdbb72a71a1b00f43E.exit" - %.not.i = icmp ugt i64 %29, %30 - br i1 %.not.i, label %38, label %_ZN14regex_automata4util6search5Match3new17hf74dc18bc550bf59E.exit - -38: ; preds = %37 call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %6), !noalias !588 store ptr @anon.15285cd795f513bdaa4bdcfb2bbacd31.133, ptr %6, align 8, !noalias !588 - %39 = getelementptr inbounds nuw i8, ptr %6, i64 8 - store i64 1, ptr %39, align 8, !noalias !588 - %40 = getelementptr inbounds nuw i8, ptr %6, i64 32 - store ptr null, ptr %40, align 8, !noalias !588 - %41 = getelementptr inbounds nuw i8, ptr %6, i64 16 - store ptr @anon.15285cd795f513bdaa4bdcfb2bbacd31.8, ptr %41, align 8, !noalias !588 - %42 = getelementptr inbounds nuw i8, ptr %6, i64 24 - store i64 0, ptr %42, align 8, !noalias !588 + %38 = getelementptr inbounds nuw i8, ptr %6, i64 8 + store i64 1, ptr %38, align 8, !noalias !588 + %39 = getelementptr inbounds nuw i8, ptr %6, i64 32 + store ptr null, ptr %39, align 8, !noalias !588 + %40 = getelementptr inbounds nuw i8, ptr %6, i64 16 + store ptr @anon.15285cd795f513bdaa4bdcfb2bbacd31.8, ptr %40, align 8, !noalias !588 + %41 = getelementptr inbounds nuw i8, ptr %6, i64 24 + store i64 0, ptr %41, align 8, !noalias !588 call void @_ZN4core9panicking9panic_fmt17h784f20a50eaab275E(ptr noalias nocapture noundef nonnull align 8 dereferenceable(48) %6, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.15285cd795f513bdaa4bdcfb2bbacd31.135) #24, !noalias !588 unreachable -_ZN14regex_automata4util6search5Match3new17hf74dc18bc550bf59E.exit: ; preds = %37 - %43 = getelementptr inbounds nuw i8, ptr %0, i64 8 - store i64 %29, ptr %43, align 8 +_ZN14regex_automata4util6search5Match3new17hf74dc18bc550bf59E.exit: ; preds = %"_ZN111_$LT$regex_automata..util..prefilter..memmem..Memmem$u20$as$u20$regex_automata..util..prefilter..PrefilterI$GT$4find17hdbb72a71a1b00f43E.exit" + %42 = getelementptr inbounds nuw i8, ptr %0, i64 8 + store i64 %29, ptr %42, align 8 %.sroa.415.0..sroa_idx = getelementptr inbounds nuw i8, ptr %0, i64 16 store i64 %30, ptr %.sroa.415.0..sroa_idx, align 8 %.sroa.516.0..sroa_idx = getelementptr inbounds nuw i8, ptr %0, i64 24 store i32 0, ptr %.sroa.516.0..sroa_idx, align 8 br label %"_ZN111_$LT$regex_automata..util..prefilter..memmem..Memmem$u20$as$u20$regex_automata..util..prefilter..PrefilterI$GT$4find17hdbb72a71a1b00f43E.exit.thread" -"_ZN111_$LT$regex_automata..util..prefilter..memmem..Memmem$u20$as$u20$regex_automata..util..prefilter..PrefilterI$GT$4find17hdbb72a71a1b00f43E.exit.thread": ; preds = %"_ZN111_$LT$regex_automata..util..prefilter..memmem..Memmem$u20$as$u20$regex_automata..util..prefilter..PrefilterI$GT$4find17hdbb72a71a1b00f43E.exit", %_ZN6memchr6memmem6Finder4find17hbb320fa699992287E.llvm.17849184579231348327.exit.thread.i, %_ZN6memchr6memmem6Finder4find17hbb320fa699992287E.llvm.17849184579231348327.exit.i, %4, %"_ZN106_$LT$core..ops..range..Range$LT$usize$GT$$u20$as$u20$core..slice..index..SliceIndex$LT$$u5b$T$u5d$$GT$$GT$5index17h364e2176bd393ad4E.llvm.17849184579231348327.exit.i5", %"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$11starts_with17haceeb8303f13283dE.exit.i", %_ZN14regex_automata4util6search5Match3new17hf74dc18bc550bf59E.exit7, %_ZN14regex_automata4util6search5Match3new17hf74dc18bc550bf59E.exit - %.sink = phi i64 [ 1, %_ZN14regex_automata4util6search5Match3new17hf74dc18bc550bf59E.exit7 ], [ 1, %_ZN14regex_automata4util6search5Match3new17hf74dc18bc550bf59E.exit ], [ 0, %"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$11starts_with17haceeb8303f13283dE.exit.i" ], [ 0, %"_ZN106_$LT$core..ops..range..Range$LT$usize$GT$$u20$as$u20$core..slice..index..SliceIndex$LT$$u5b$T$u5d$$GT$$GT$5index17h364e2176bd393ad4E.llvm.17849184579231348327.exit.i5" ], [ 0, %4 ], [ 0, %_ZN6memchr6memmem6Finder4find17hbb320fa699992287E.llvm.17849184579231348327.exit.i ], [ 0, %_ZN6memchr6memmem6Finder4find17hbb320fa699992287E.llvm.17849184579231348327.exit.thread.i ], [ 0, %"_ZN111_$LT$regex_automata..util..prefilter..memmem..Memmem$u20$as$u20$regex_automata..util..prefilter..PrefilterI$GT$4find17hdbb72a71a1b00f43E.exit" ] +"_ZN111_$LT$regex_automata..util..prefilter..memmem..Memmem$u20$as$u20$regex_automata..util..prefilter..PrefilterI$GT$4find17hdbb72a71a1b00f43E.exit.thread": ; preds = %_ZN6memchr6memmem6Finder4find17hbb320fa699992287E.llvm.17849184579231348327.exit.thread.i, %_ZN6memchr6memmem6Finder4find17hbb320fa699992287E.llvm.17849184579231348327.exit.i, %4, %"_ZN106_$LT$core..ops..range..Range$LT$usize$GT$$u20$as$u20$core..slice..index..SliceIndex$LT$$u5b$T$u5d$$GT$$GT$5index17h364e2176bd393ad4E.llvm.17849184579231348327.exit.i5", %"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$11starts_with17haceeb8303f13283dE.exit.i", %_ZN14regex_automata4util6search5Match3new17hf74dc18bc550bf59E.exit7, %_ZN14regex_automata4util6search5Match3new17hf74dc18bc550bf59E.exit + %.sink = phi i64 [ 1, %_ZN14regex_automata4util6search5Match3new17hf74dc18bc550bf59E.exit7 ], [ 1, %_ZN14regex_automata4util6search5Match3new17hf74dc18bc550bf59E.exit ], [ 0, %"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$11starts_with17haceeb8303f13283dE.exit.i" ], [ 0, %"_ZN106_$LT$core..ops..range..Range$LT$usize$GT$$u20$as$u20$core..slice..index..SliceIndex$LT$$u5b$T$u5d$$GT$$GT$5index17h364e2176bd393ad4E.llvm.17849184579231348327.exit.i5" ], [ 0, %4 ], [ 0, %_ZN6memchr6memmem6Finder4find17hbb320fa699992287E.llvm.17849184579231348327.exit.i ], [ 0, %_ZN6memchr6memmem6Finder4find17hbb320fa699992287E.llvm.17849184579231348327.exit.thread.i ] store i64 %.sink, ptr %0, align 8 ret void -44: ; preds = %"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$11starts_with17haceeb8303f13283dE.exit.i" - %45 = add i64 %.sroa.3.0.i, %9 - %.not.i6 = icmp ugt i64 %9, %45 - br i1 %.not.i6, label %46, label %_ZN14regex_automata4util6search5Match3new17hf74dc18bc550bf59E.exit7 +43: ; preds = %"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$11starts_with17haceeb8303f13283dE.exit.i" + %44 = add i64 %.sroa.3.0.i, %9 + %.not.i6 = icmp ugt i64 %9, %44 + br i1 %.not.i6, label %45, label %_ZN14regex_automata4util6search5Match3new17hf74dc18bc550bf59E.exit7 -46: ; preds = %44 +45: ; preds = %43 call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %5), !noalias !591 store ptr @anon.15285cd795f513bdaa4bdcfb2bbacd31.133, ptr %5, align 8, !noalias !591 - %47 = getelementptr inbounds nuw i8, ptr %5, i64 8 - store i64 1, ptr %47, align 8, !noalias !591 - %48 = getelementptr inbounds nuw i8, ptr %5, i64 32 - store ptr null, ptr %48, align 8, !noalias !591 - %49 = getelementptr inbounds nuw i8, ptr %5, i64 16 - store ptr @anon.15285cd795f513bdaa4bdcfb2bbacd31.8, ptr %49, align 8, !noalias !591 - %50 = getelementptr inbounds nuw i8, ptr %5, i64 24 - store i64 0, ptr %50, align 8, !noalias !591 + %46 = getelementptr inbounds nuw i8, ptr %5, i64 8 + store i64 1, ptr %46, align 8, !noalias !591 + %47 = getelementptr inbounds nuw i8, ptr %5, i64 32 + store ptr null, ptr %47, align 8, !noalias !591 + %48 = getelementptr inbounds nuw i8, ptr %5, i64 16 + store ptr @anon.15285cd795f513bdaa4bdcfb2bbacd31.8, ptr %48, align 8, !noalias !591 + %49 = getelementptr inbounds nuw i8, ptr %5, i64 24 + store i64 0, ptr %49, align 8, !noalias !591 call void @_ZN4core9panicking9panic_fmt17h784f20a50eaab275E(ptr noalias nocapture noundef nonnull align 8 dereferenceable(48) %5, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.15285cd795f513bdaa4bdcfb2bbacd31.135) #24, !noalias !591 unreachable -_ZN14regex_automata4util6search5Match3new17hf74dc18bc550bf59E.exit7: ; preds = %44 - %51 = getelementptr inbounds nuw i8, ptr %0, i64 8 - store i64 %9, ptr %51, align 8 +_ZN14regex_automata4util6search5Match3new17hf74dc18bc550bf59E.exit7: ; preds = %43 + %50 = getelementptr inbounds nuw i8, ptr %0, i64 8 + store i64 %9, ptr %50, align 8 %.sroa.412.0..sroa_idx = getelementptr inbounds nuw i8, ptr %0, i64 16 - store i64 %45, ptr %.sroa.412.0..sroa_idx, align 8 + store i64 %44, ptr %.sroa.412.0..sroa_idx, align 8 %.sroa.5.0..sroa_idx = getelementptr inbounds nuw i8, ptr %0, i64 24 store i32 0, ptr %.sroa.5.0..sroa_idx, align 8 br label %"_ZN111_$LT$regex_automata..util..prefilter..memmem..Memmem$u20$as$u20$regex_automata..util..prefilter..PrefilterI$GT$4find17hdbb72a71a1b00f43E.exit.thread" @@ -4336,10 +4328,6 @@ _ZN6memchr6memmem6Finder4find17hbb320fa699992287E.llvm.17849184579231348327.exit %switch.i6 = icmp eq i64 %.fca.0.extract.i.i, 0 br i1 %switch.i6, label %"_ZN105_$LT$regex_automata..meta..strategy..Pre$LT$P$GT$$u20$as$u20$regex_automata..meta..strategy..Strategy$GT$6search17ha67692877d1c7e63E.llvm.9705991524997079221.exit.thread", label %"_ZN111_$LT$regex_automata..util..prefilter..memmem..Memmem$u20$as$u20$regex_automata..util..prefilter..PrefilterI$GT$4find17hdbb72a71a1b00f43E.exit" -"_ZN111_$LT$regex_automata..util..prefilter..memmem..Memmem$u20$as$u20$regex_automata..util..prefilter..PrefilterI$GT$4find17hdbb72a71a1b00f43E.exit": ; preds = %_ZN6memchr6memmem6Finder4find17hbb320fa699992287E.llvm.17849184579231348327.exit.i - %trunc.i = trunc nuw i64 %.fca.0.extract.i.i to i1 - br i1 %trunc.i, label %35, label %"_ZN105_$LT$regex_automata..meta..strategy..Pre$LT$P$GT$$u20$as$u20$regex_automata..meta..strategy..Strategy$GT$6search17ha67692877d1c7e63E.llvm.9705991524997079221.exit.thread" - 29: ; preds = %13 tail call void @llvm.experimental.noalias.scope.decl(metadata !706) %.sroa.3.0.in.i = getelementptr inbounds nuw i8, ptr %1, i64 272 @@ -4362,58 +4350,58 @@ _ZN6memchr6memmem6Finder4find17hbb320fa699992287E.llvm.17849184579231348327.exit %33 = getelementptr inbounds i8, ptr %16, i64 %9 %bcmp.i.i.i = tail call i32 @bcmp(ptr nonnull readonly align 1 %.sroa.03.0.i, ptr nonnull readonly align 1 %33, i64 %.sroa.3.0.i), !alias.scope !715, !noalias !722 %34 = icmp eq i32 %bcmp.i.i.i, 0 - br i1 %34, label %43, label %"_ZN105_$LT$regex_automata..meta..strategy..Pre$LT$P$GT$$u20$as$u20$regex_automata..meta..strategy..Strategy$GT$6search17ha67692877d1c7e63E.llvm.9705991524997079221.exit.thread" + br i1 %34, label %42, label %"_ZN105_$LT$regex_automata..meta..strategy..Pre$LT$P$GT$$u20$as$u20$regex_automata..meta..strategy..Strategy$GT$6search17ha67692877d1c7e63E.llvm.9705991524997079221.exit.thread" -35: ; preds = %"_ZN111_$LT$regex_automata..util..prefilter..memmem..Memmem$u20$as$u20$regex_automata..util..prefilter..PrefilterI$GT$4find17hdbb72a71a1b00f43E.exit" +"_ZN111_$LT$regex_automata..util..prefilter..memmem..Memmem$u20$as$u20$regex_automata..util..prefilter..PrefilterI$GT$4find17hdbb72a71a1b00f43E.exit": ; preds = %_ZN6memchr6memmem6Finder4find17hbb320fa699992287E.llvm.17849184579231348327.exit.i %.fca.1.extract.i.i = extractvalue { i64, i64 } %28, 1 - %36 = add i64 %.fca.1.extract.i.i, %9 - %37 = add i64 %36, %.sroa.32.0.i.i - %.not.i = icmp ugt i64 %36, %37 - br i1 %.not.i, label %38, label %50 + %35 = add i64 %.fca.1.extract.i.i, %9 + %36 = add i64 %35, %.sroa.32.0.i.i + %.not.i = icmp ugt i64 %35, %36 + br i1 %.not.i, label %37, label %49 -38: ; preds = %35 +37: ; preds = %"_ZN111_$LT$regex_automata..util..prefilter..memmem..Memmem$u20$as$u20$regex_automata..util..prefilter..PrefilterI$GT$4find17hdbb72a71a1b00f43E.exit" call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %6), !noalias !723 store ptr @anon.15285cd795f513bdaa4bdcfb2bbacd31.133, ptr %6, align 8, !noalias !723 - %39 = getelementptr inbounds nuw i8, ptr %6, i64 8 - store i64 1, ptr %39, align 8, !noalias !723 - %40 = getelementptr inbounds nuw i8, ptr %6, i64 32 - store ptr null, ptr %40, align 8, !noalias !723 - %41 = getelementptr inbounds nuw i8, ptr %6, i64 16 - store ptr @anon.15285cd795f513bdaa4bdcfb2bbacd31.8, ptr %41, align 8, !noalias !723 - %42 = getelementptr inbounds nuw i8, ptr %6, i64 24 - store i64 0, ptr %42, align 8, !noalias !723 + %38 = getelementptr inbounds nuw i8, ptr %6, i64 8 + store i64 1, ptr %38, align 8, !noalias !723 + %39 = getelementptr inbounds nuw i8, ptr %6, i64 32 + store ptr null, ptr %39, align 8, !noalias !723 + %40 = getelementptr inbounds nuw i8, ptr %6, i64 16 + store ptr @anon.15285cd795f513bdaa4bdcfb2bbacd31.8, ptr %40, align 8, !noalias !723 + %41 = getelementptr inbounds nuw i8, ptr %6, i64 24 + store i64 0, ptr %41, align 8, !noalias !723 call void @_ZN4core9panicking9panic_fmt17h784f20a50eaab275E(ptr noalias nocapture noundef nonnull align 8 dereferenceable(48) %6, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.15285cd795f513bdaa4bdcfb2bbacd31.135) #24, !noalias !723 unreachable -43: ; preds = %"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$11starts_with17haceeb8303f13283dE.exit.i" - %44 = add i64 %.sroa.3.0.i, %9 - %.not.i8 = icmp ugt i64 %9, %44 - br i1 %.not.i8, label %45, label %50 +42: ; preds = %"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$11starts_with17haceeb8303f13283dE.exit.i" + %43 = add i64 %.sroa.3.0.i, %9 + %.not.i8 = icmp ugt i64 %9, %43 + br i1 %.not.i8, label %44, label %49 -45: ; preds = %43 +44: ; preds = %42 call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %5), !noalias !726 store ptr @anon.15285cd795f513bdaa4bdcfb2bbacd31.133, ptr %5, align 8, !noalias !726 - %46 = getelementptr inbounds nuw i8, ptr %5, i64 8 - store i64 1, ptr %46, align 8, !noalias !726 - %47 = getelementptr inbounds nuw i8, ptr %5, i64 32 - store ptr null, ptr %47, align 8, !noalias !726 - %48 = getelementptr inbounds nuw i8, ptr %5, i64 16 - store ptr @anon.15285cd795f513bdaa4bdcfb2bbacd31.8, ptr %48, align 8, !noalias !726 - %49 = getelementptr inbounds nuw i8, ptr %5, i64 24 - store i64 0, ptr %49, align 8, !noalias !726 + %45 = getelementptr inbounds nuw i8, ptr %5, i64 8 + store i64 1, ptr %45, align 8, !noalias !726 + %46 = getelementptr inbounds nuw i8, ptr %5, i64 32 + store ptr null, ptr %46, align 8, !noalias !726 + %47 = getelementptr inbounds nuw i8, ptr %5, i64 16 + store ptr @anon.15285cd795f513bdaa4bdcfb2bbacd31.8, ptr %47, align 8, !noalias !726 + %48 = getelementptr inbounds nuw i8, ptr %5, i64 24 + store i64 0, ptr %48, align 8, !noalias !726 call void @_ZN4core9panicking9panic_fmt17h784f20a50eaab275E(ptr noalias nocapture noundef nonnull align 8 dereferenceable(48) %5, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.15285cd795f513bdaa4bdcfb2bbacd31.135) #24, !noalias !726 unreachable -50: ; preds = %35, %43 - %.sroa.10.2 = phi i64 [ %37, %35 ], [ %44, %43 ] - %51 = getelementptr inbounds nuw i8, ptr %0, i64 8 - store i64 %.sroa.10.2, ptr %51, align 8 - %52 = getelementptr inbounds nuw i8, ptr %0, i64 16 - store i32 0, ptr %52, align 8 +49: ; preds = %"_ZN111_$LT$regex_automata..util..prefilter..memmem..Memmem$u20$as$u20$regex_automata..util..prefilter..PrefilterI$GT$4find17hdbb72a71a1b00f43E.exit", %42 + %.sroa.10.2 = phi i64 [ %36, %"_ZN111_$LT$regex_automata..util..prefilter..memmem..Memmem$u20$as$u20$regex_automata..util..prefilter..PrefilterI$GT$4find17hdbb72a71a1b00f43E.exit" ], [ %43, %42 ] + %50 = getelementptr inbounds nuw i8, ptr %0, i64 8 + store i64 %.sroa.10.2, ptr %50, align 8 + %51 = getelementptr inbounds nuw i8, ptr %0, i64 16 + store i32 0, ptr %51, align 8 br label %"_ZN105_$LT$regex_automata..meta..strategy..Pre$LT$P$GT$$u20$as$u20$regex_automata..meta..strategy..Strategy$GT$6search17ha67692877d1c7e63E.llvm.9705991524997079221.exit.thread" -"_ZN105_$LT$regex_automata..meta..strategy..Pre$LT$P$GT$$u20$as$u20$regex_automata..meta..strategy..Strategy$GT$6search17ha67692877d1c7e63E.llvm.9705991524997079221.exit.thread": ; preds = %_ZN6memchr6memmem6Finder4find17hbb320fa699992287E.llvm.17849184579231348327.exit.i, %_ZN6memchr6memmem6Finder4find17hbb320fa699992287E.llvm.17849184579231348327.exit.thread.i, %"_ZN106_$LT$core..ops..range..Range$LT$usize$GT$$u20$as$u20$core..slice..index..SliceIndex$LT$$u5b$T$u5d$$GT$$GT$5index17h364e2176bd393ad4E.llvm.17849184579231348327.exit.i7", %"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$11starts_with17haceeb8303f13283dE.exit.i", %"_ZN111_$LT$regex_automata..util..prefilter..memmem..Memmem$u20$as$u20$regex_automata..util..prefilter..PrefilterI$GT$4find17hdbb72a71a1b00f43E.exit", %4, %50 - %storemerge = phi i64 [ 1, %50 ], [ 0, %4 ], [ 0, %"_ZN111_$LT$regex_automata..util..prefilter..memmem..Memmem$u20$as$u20$regex_automata..util..prefilter..PrefilterI$GT$4find17hdbb72a71a1b00f43E.exit" ], [ 0, %"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$11starts_with17haceeb8303f13283dE.exit.i" ], [ 0, %"_ZN106_$LT$core..ops..range..Range$LT$usize$GT$$u20$as$u20$core..slice..index..SliceIndex$LT$$u5b$T$u5d$$GT$$GT$5index17h364e2176bd393ad4E.llvm.17849184579231348327.exit.i7" ], [ 0, %_ZN6memchr6memmem6Finder4find17hbb320fa699992287E.llvm.17849184579231348327.exit.thread.i ], [ 0, %_ZN6memchr6memmem6Finder4find17hbb320fa699992287E.llvm.17849184579231348327.exit.i ] +"_ZN105_$LT$regex_automata..meta..strategy..Pre$LT$P$GT$$u20$as$u20$regex_automata..meta..strategy..Strategy$GT$6search17ha67692877d1c7e63E.llvm.9705991524997079221.exit.thread": ; preds = %_ZN6memchr6memmem6Finder4find17hbb320fa699992287E.llvm.17849184579231348327.exit.i, %_ZN6memchr6memmem6Finder4find17hbb320fa699992287E.llvm.17849184579231348327.exit.thread.i, %"_ZN106_$LT$core..ops..range..Range$LT$usize$GT$$u20$as$u20$core..slice..index..SliceIndex$LT$$u5b$T$u5d$$GT$$GT$5index17h364e2176bd393ad4E.llvm.17849184579231348327.exit.i7", %"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$11starts_with17haceeb8303f13283dE.exit.i", %4, %49 + %storemerge = phi i64 [ 1, %49 ], [ 0, %4 ], [ 0, %"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$11starts_with17haceeb8303f13283dE.exit.i" ], [ 0, %"_ZN106_$LT$core..ops..range..Range$LT$usize$GT$$u20$as$u20$core..slice..index..SliceIndex$LT$$u5b$T$u5d$$GT$$GT$5index17h364e2176bd393ad4E.llvm.17849184579231348327.exit.i7" ], [ 0, %_ZN6memchr6memmem6Finder4find17hbb320fa699992287E.llvm.17849184579231348327.exit.thread.i ], [ 0, %_ZN6memchr6memmem6Finder4find17hbb320fa699992287E.llvm.17849184579231348327.exit.i ] store i64 %storemerge, ptr %0, align 8 ret void } @@ -4438,7 +4426,7 @@ define hidden void @"_ZN105_$LT$regex_automata..meta..strategy..Pre$LT$P$GT$$u20 %15 = load ptr, ptr %14, align 8, !alias.scope !729, !noalias !732, !nonnull !4, !align !467, !noundef !4 %16 = getelementptr inbounds nuw i8, ptr %3, i64 16 %17 = load i64, ptr %16, align 8, !alias.scope !729, !noalias !732, !noundef !4 - br i1 %switch.i, label %25, label %18 + br i1 %switch.i, label %26, label %18 18: ; preds = %12 call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %6), !noalias !735 @@ -4462,55 +4450,51 @@ define hidden void @"_ZN105_$LT$regex_automata..meta..strategy..Pre$LT$P$GT$$u20 br i1 %switch.i6, label %"_ZN105_$LT$regex_automata..meta..strategy..Pre$LT$P$GT$$u20$as$u20$regex_automata..meta..strategy..Strategy$GT$6search17h55c43b39b8a4a6efE.llvm.9705991524997079221.exit.thread", label %"_ZN113_$LT$regex_automata..util..prefilter..byteset..ByteSet$u20$as$u20$regex_automata..util..prefilter..PrefilterI$GT$4find17hda9d299ba5e11ccbE.exit" "_ZN113_$LT$regex_automata..util..prefilter..byteset..ByteSet$u20$as$u20$regex_automata..util..prefilter..PrefilterI$GT$4find17hda9d299ba5e11ccbE.exit": ; preds = %"_ZN106_$LT$core..ops..range..Range$LT$usize$GT$$u20$as$u20$core..slice..index..SliceIndex$LT$$u5b$T$u5d$$GT$$GT$5index17h364e2176bd393ad4E.llvm.15183607879373971598.exit.i" - %trunc.i = trunc nuw i64 %.fca.0.extract.i to i1 - br i1 %trunc.i, label %33, label %"_ZN105_$LT$regex_automata..meta..strategy..Pre$LT$P$GT$$u20$as$u20$regex_automata..meta..strategy..Strategy$GT$6search17h55c43b39b8a4a6efE.llvm.9705991524997079221.exit.thread" + %.fca.1.extract.i = extractvalue { i64, i64 } %24, 1 + %25 = add i64 %.fca.1.extract.i, %8 + %.not.i7 = icmp eq i64 %25, -1 + br i1 %.not.i7, label %34, label %_ZN14regex_automata4util6search5Match3new17hf74dc18bc550bf59E.exit9 -25: ; preds = %12 +26: ; preds = %12 tail call void @llvm.experimental.noalias.scope.decl(metadata !744) tail call void @llvm.experimental.noalias.scope.decl(metadata !747) %.not.i = icmp ult i64 %8, %17 - br i1 %.not.i, label %26, label %"_ZN105_$LT$regex_automata..meta..strategy..Pre$LT$P$GT$$u20$as$u20$regex_automata..meta..strategy..Strategy$GT$6search17h55c43b39b8a4a6efE.llvm.9705991524997079221.exit.thread" - -26: ; preds = %25 - %27 = getelementptr inbounds i8, ptr %15, i64 %8 - %28 = load i8, ptr %27, align 1, !alias.scope !747, !noalias !749, !noundef !4 - %29 = zext i8 %28 to i64 - %30 = getelementptr inbounds nuw [256 x i8], ptr %1, i64 0, i64 %29 - %31 = load i8, ptr %30, align 1, !range !544, !alias.scope !744, !noalias !751, !noundef !4 - %32 = trunc nuw i8 %31 to i1 - br i1 %32, label %_ZN14regex_automata4util6search5Match3new17hf74dc18bc550bf59E.exit9, label %"_ZN105_$LT$regex_automata..meta..strategy..Pre$LT$P$GT$$u20$as$u20$regex_automata..meta..strategy..Strategy$GT$6search17h55c43b39b8a4a6efE.llvm.9705991524997079221.exit.thread" + br i1 %.not.i, label %27, label %"_ZN105_$LT$regex_automata..meta..strategy..Pre$LT$P$GT$$u20$as$u20$regex_automata..meta..strategy..Strategy$GT$6search17h55c43b39b8a4a6efE.llvm.9705991524997079221.exit.thread" -33: ; preds = %"_ZN113_$LT$regex_automata..util..prefilter..byteset..ByteSet$u20$as$u20$regex_automata..util..prefilter..PrefilterI$GT$4find17hda9d299ba5e11ccbE.exit" - %.fca.1.extract.i = extractvalue { i64, i64 } %24, 1 - %34 = add i64 %.fca.1.extract.i, %8 - %.not.i7 = icmp eq i64 %34, -1 - br i1 %.not.i7, label %35, label %_ZN14regex_automata4util6search5Match3new17hf74dc18bc550bf59E.exit9 +27: ; preds = %26 + %28 = getelementptr inbounds i8, ptr %15, i64 %8 + %29 = load i8, ptr %28, align 1, !alias.scope !747, !noalias !749, !noundef !4 + %30 = zext i8 %29 to i64 + %31 = getelementptr inbounds nuw [256 x i8], ptr %1, i64 0, i64 %30 + %32 = load i8, ptr %31, align 1, !range !544, !alias.scope !744, !noalias !751, !noundef !4 + %33 = trunc nuw i8 %32 to i1 + br i1 %33, label %_ZN14regex_automata4util6search5Match3new17hf74dc18bc550bf59E.exit9, label %"_ZN105_$LT$regex_automata..meta..strategy..Pre$LT$P$GT$$u20$as$u20$regex_automata..meta..strategy..Strategy$GT$6search17h55c43b39b8a4a6efE.llvm.9705991524997079221.exit.thread" -35: ; preds = %33 +34: ; preds = %"_ZN113_$LT$regex_automata..util..prefilter..byteset..ByteSet$u20$as$u20$regex_automata..util..prefilter..PrefilterI$GT$4find17hda9d299ba5e11ccbE.exit" call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %5), !noalias !752 store ptr @anon.15285cd795f513bdaa4bdcfb2bbacd31.133, ptr %5, align 8, !noalias !752 - %36 = getelementptr inbounds nuw i8, ptr %5, i64 8 - store i64 1, ptr %36, align 8, !noalias !752 - %37 = getelementptr inbounds nuw i8, ptr %5, i64 32 - store ptr null, ptr %37, align 8, !noalias !752 - %38 = getelementptr inbounds nuw i8, ptr %5, i64 16 - store ptr @anon.15285cd795f513bdaa4bdcfb2bbacd31.8, ptr %38, align 8, !noalias !752 - %39 = getelementptr inbounds nuw i8, ptr %5, i64 24 - store i64 0, ptr %39, align 8, !noalias !752 + %35 = getelementptr inbounds nuw i8, ptr %5, i64 8 + store i64 1, ptr %35, align 8, !noalias !752 + %36 = getelementptr inbounds nuw i8, ptr %5, i64 32 + store ptr null, ptr %36, align 8, !noalias !752 + %37 = getelementptr inbounds nuw i8, ptr %5, i64 16 + store ptr @anon.15285cd795f513bdaa4bdcfb2bbacd31.8, ptr %37, align 8, !noalias !752 + %38 = getelementptr inbounds nuw i8, ptr %5, i64 24 + store i64 0, ptr %38, align 8, !noalias !752 call void @_ZN4core9panicking9panic_fmt17h784f20a50eaab275E(ptr noalias nocapture noundef nonnull align 8 dereferenceable(48) %5, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.15285cd795f513bdaa4bdcfb2bbacd31.135) #24, !noalias !752 unreachable -_ZN14regex_automata4util6search5Match3new17hf74dc18bc550bf59E.exit9: ; preds = %26, %33 - %.sroa.10.2.in = phi i64 [ %34, %33 ], [ %8, %26 ] +_ZN14regex_automata4util6search5Match3new17hf74dc18bc550bf59E.exit9: ; preds = %27, %"_ZN113_$LT$regex_automata..util..prefilter..byteset..ByteSet$u20$as$u20$regex_automata..util..prefilter..PrefilterI$GT$4find17hda9d299ba5e11ccbE.exit" + %.sroa.10.2.in = phi i64 [ %25, %"_ZN113_$LT$regex_automata..util..prefilter..byteset..ByteSet$u20$as$u20$regex_automata..util..prefilter..PrefilterI$GT$4find17hda9d299ba5e11ccbE.exit" ], [ %8, %27 ] %.sroa.10.2 = add nuw i64 %.sroa.10.2.in, 1 - %40 = getelementptr inbounds nuw i8, ptr %0, i64 8 - store i64 %.sroa.10.2, ptr %40, align 8 - %41 = getelementptr inbounds nuw i8, ptr %0, i64 16 - store i32 0, ptr %41, align 8 + %39 = getelementptr inbounds nuw i8, ptr %0, i64 8 + store i64 %.sroa.10.2, ptr %39, align 8 + %40 = getelementptr inbounds nuw i8, ptr %0, i64 16 + store i32 0, ptr %40, align 8 br label %"_ZN105_$LT$regex_automata..meta..strategy..Pre$LT$P$GT$$u20$as$u20$regex_automata..meta..strategy..Strategy$GT$6search17h55c43b39b8a4a6efE.llvm.9705991524997079221.exit.thread" -"_ZN105_$LT$regex_automata..meta..strategy..Pre$LT$P$GT$$u20$as$u20$regex_automata..meta..strategy..Strategy$GT$6search17h55c43b39b8a4a6efE.llvm.9705991524997079221.exit.thread": ; preds = %"_ZN106_$LT$core..ops..range..Range$LT$usize$GT$$u20$as$u20$core..slice..index..SliceIndex$LT$$u5b$T$u5d$$GT$$GT$5index17h364e2176bd393ad4E.llvm.15183607879373971598.exit.i", %26, %25, %"_ZN113_$LT$regex_automata..util..prefilter..byteset..ByteSet$u20$as$u20$regex_automata..util..prefilter..PrefilterI$GT$4find17hda9d299ba5e11ccbE.exit", %4, %_ZN14regex_automata4util6search5Match3new17hf74dc18bc550bf59E.exit9 - %storemerge = phi i64 [ 1, %_ZN14regex_automata4util6search5Match3new17hf74dc18bc550bf59E.exit9 ], [ 0, %4 ], [ 0, %"_ZN113_$LT$regex_automata..util..prefilter..byteset..ByteSet$u20$as$u20$regex_automata..util..prefilter..PrefilterI$GT$4find17hda9d299ba5e11ccbE.exit" ], [ 0, %25 ], [ 0, %26 ], [ 0, %"_ZN106_$LT$core..ops..range..Range$LT$usize$GT$$u20$as$u20$core..slice..index..SliceIndex$LT$$u5b$T$u5d$$GT$$GT$5index17h364e2176bd393ad4E.llvm.15183607879373971598.exit.i" ] +"_ZN105_$LT$regex_automata..meta..strategy..Pre$LT$P$GT$$u20$as$u20$regex_automata..meta..strategy..Strategy$GT$6search17h55c43b39b8a4a6efE.llvm.9705991524997079221.exit.thread": ; preds = %"_ZN106_$LT$core..ops..range..Range$LT$usize$GT$$u20$as$u20$core..slice..index..SliceIndex$LT$$u5b$T$u5d$$GT$$GT$5index17h364e2176bd393ad4E.llvm.15183607879373971598.exit.i", %27, %26, %4, %_ZN14regex_automata4util6search5Match3new17hf74dc18bc550bf59E.exit9 + %storemerge = phi i64 [ 1, %_ZN14regex_automata4util6search5Match3new17hf74dc18bc550bf59E.exit9 ], [ 0, %4 ], [ 0, %26 ], [ 0, %27 ], [ 0, %"_ZN106_$LT$core..ops..range..Range$LT$usize$GT$$u20$as$u20$core..slice..index..SliceIndex$LT$$u5b$T$u5d$$GT$$GT$5index17h364e2176bd393ad4E.llvm.15183607879373971598.exit.i" ] store i64 %storemerge, ptr %0, align 8 ret void } @@ -4972,10 +4956,6 @@ _ZN6memchr6memmem6Finder4find17hbb320fa699992287E.llvm.17849184579231348327.exit %switch.i1 = icmp eq i64 %.fca.0.extract.i.i, 0 br i1 %switch.i1, label %"_ZN105_$LT$regex_automata..meta..strategy..Pre$LT$P$GT$$u20$as$u20$regex_automata..meta..strategy..Strategy$GT$6search17ha67692877d1c7e63E.llvm.9705991524997079221.exit", label %"_ZN111_$LT$regex_automata..util..prefilter..memmem..Memmem$u20$as$u20$regex_automata..util..prefilter..PrefilterI$GT$4find17hdbb72a71a1b00f43E.exit" -"_ZN111_$LT$regex_automata..util..prefilter..memmem..Memmem$u20$as$u20$regex_automata..util..prefilter..PrefilterI$GT$4find17hdbb72a71a1b00f43E.exit": ; preds = %_ZN6memchr6memmem6Finder4find17hbb320fa699992287E.llvm.17849184579231348327.exit.i - %trunc.i = trunc nuw i64 %.fca.0.extract.i.i to i1 - br i1 %trunc.i, label %34, label %"_ZN105_$LT$regex_automata..meta..strategy..Pre$LT$P$GT$$u20$as$u20$regex_automata..meta..strategy..Strategy$GT$6search17ha67692877d1c7e63E.llvm.9705991524997079221.exit" - 28: ; preds = %12 tail call void @llvm.experimental.noalias.scope.decl(metadata !874) %.sroa.3.0.in.i = getelementptr inbounds nuw i8, ptr %0, i64 272 @@ -4998,51 +4978,51 @@ _ZN6memchr6memmem6Finder4find17hbb320fa699992287E.llvm.17849184579231348327.exit %32 = getelementptr inbounds i8, ptr %15, i64 %8 %bcmp.i.i.i = tail call i32 @bcmp(ptr nonnull readonly align 1 %.sroa.03.0.i, ptr nonnull readonly align 1 %32, i64 %.sroa.3.0.i), !alias.scope !883, !noalias !890 %33 = icmp eq i32 %bcmp.i.i.i, 0 - br i1 %33, label %42, label %"_ZN105_$LT$regex_automata..meta..strategy..Pre$LT$P$GT$$u20$as$u20$regex_automata..meta..strategy..Strategy$GT$6search17ha67692877d1c7e63E.llvm.9705991524997079221.exit" + br i1 %33, label %41, label %"_ZN105_$LT$regex_automata..meta..strategy..Pre$LT$P$GT$$u20$as$u20$regex_automata..meta..strategy..Strategy$GT$6search17ha67692877d1c7e63E.llvm.9705991524997079221.exit" -34: ; preds = %"_ZN111_$LT$regex_automata..util..prefilter..memmem..Memmem$u20$as$u20$regex_automata..util..prefilter..PrefilterI$GT$4find17hdbb72a71a1b00f43E.exit" +"_ZN111_$LT$regex_automata..util..prefilter..memmem..Memmem$u20$as$u20$regex_automata..util..prefilter..PrefilterI$GT$4find17hdbb72a71a1b00f43E.exit": ; preds = %_ZN6memchr6memmem6Finder4find17hbb320fa699992287E.llvm.17849184579231348327.exit.i %.fca.1.extract.i.i = extractvalue { i64, i64 } %27, 1 - %35 = add i64 %.fca.1.extract.i.i, %8 - %36 = xor i64 %35, -1 - %.not.i = icmp ugt i64 %.sroa.32.0.i.i, %36 - br i1 %.not.i, label %37, label %"_ZN105_$LT$regex_automata..meta..strategy..Pre$LT$P$GT$$u20$as$u20$regex_automata..meta..strategy..Strategy$GT$6search17ha67692877d1c7e63E.llvm.9705991524997079221.exit" + %34 = add i64 %.fca.1.extract.i.i, %8 + %35 = xor i64 %34, -1 + %.not.i = icmp ugt i64 %.sroa.32.0.i.i, %35 + br i1 %.not.i, label %36, label %"_ZN105_$LT$regex_automata..meta..strategy..Pre$LT$P$GT$$u20$as$u20$regex_automata..meta..strategy..Strategy$GT$6search17ha67692877d1c7e63E.llvm.9705991524997079221.exit" -37: ; preds = %34 +36: ; preds = %"_ZN111_$LT$regex_automata..util..prefilter..memmem..Memmem$u20$as$u20$regex_automata..util..prefilter..PrefilterI$GT$4find17hdbb72a71a1b00f43E.exit" call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %5), !noalias !891 store ptr @anon.15285cd795f513bdaa4bdcfb2bbacd31.133, ptr %5, align 8, !noalias !891 - %38 = getelementptr inbounds nuw i8, ptr %5, i64 8 - store i64 1, ptr %38, align 8, !noalias !891 - %39 = getelementptr inbounds nuw i8, ptr %5, i64 32 - store ptr null, ptr %39, align 8, !noalias !891 - %40 = getelementptr inbounds nuw i8, ptr %5, i64 16 - store ptr @anon.15285cd795f513bdaa4bdcfb2bbacd31.8, ptr %40, align 8, !noalias !891 - %41 = getelementptr inbounds nuw i8, ptr %5, i64 24 - store i64 0, ptr %41, align 8, !noalias !891 + %37 = getelementptr inbounds nuw i8, ptr %5, i64 8 + store i64 1, ptr %37, align 8, !noalias !891 + %38 = getelementptr inbounds nuw i8, ptr %5, i64 32 + store ptr null, ptr %38, align 8, !noalias !891 + %39 = getelementptr inbounds nuw i8, ptr %5, i64 16 + store ptr @anon.15285cd795f513bdaa4bdcfb2bbacd31.8, ptr %39, align 8, !noalias !891 + %40 = getelementptr inbounds nuw i8, ptr %5, i64 24 + store i64 0, ptr %40, align 8, !noalias !891 call void @_ZN4core9panicking9panic_fmt17h784f20a50eaab275E(ptr noalias nocapture noundef nonnull align 8 dereferenceable(48) %5, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.15285cd795f513bdaa4bdcfb2bbacd31.135) #24, !noalias !891 unreachable -42: ; preds = %"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$11starts_with17haceeb8303f13283dE.exit.i" - %43 = xor i64 %8, -1 - %.not.i3 = icmp ugt i64 %.sroa.3.0.i, %43 - br i1 %.not.i3, label %44, label %"_ZN105_$LT$regex_automata..meta..strategy..Pre$LT$P$GT$$u20$as$u20$regex_automata..meta..strategy..Strategy$GT$6search17ha67692877d1c7e63E.llvm.9705991524997079221.exit" +41: ; preds = %"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$11starts_with17haceeb8303f13283dE.exit.i" + %42 = xor i64 %8, -1 + %.not.i3 = icmp ugt i64 %.sroa.3.0.i, %42 + br i1 %.not.i3, label %43, label %"_ZN105_$LT$regex_automata..meta..strategy..Pre$LT$P$GT$$u20$as$u20$regex_automata..meta..strategy..Strategy$GT$6search17ha67692877d1c7e63E.llvm.9705991524997079221.exit" -44: ; preds = %42 +43: ; preds = %41 call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %4), !noalias !894 store ptr @anon.15285cd795f513bdaa4bdcfb2bbacd31.133, ptr %4, align 8, !noalias !894 - %45 = getelementptr inbounds nuw i8, ptr %4, i64 8 - store i64 1, ptr %45, align 8, !noalias !894 - %46 = getelementptr inbounds nuw i8, ptr %4, i64 32 - store ptr null, ptr %46, align 8, !noalias !894 - %47 = getelementptr inbounds nuw i8, ptr %4, i64 16 - store ptr @anon.15285cd795f513bdaa4bdcfb2bbacd31.8, ptr %47, align 8, !noalias !894 - %48 = getelementptr inbounds nuw i8, ptr %4, i64 24 - store i64 0, ptr %48, align 8, !noalias !894 + %44 = getelementptr inbounds nuw i8, ptr %4, i64 8 + store i64 1, ptr %44, align 8, !noalias !894 + %45 = getelementptr inbounds nuw i8, ptr %4, i64 32 + store ptr null, ptr %45, align 8, !noalias !894 + %46 = getelementptr inbounds nuw i8, ptr %4, i64 16 + store ptr @anon.15285cd795f513bdaa4bdcfb2bbacd31.8, ptr %46, align 8, !noalias !894 + %47 = getelementptr inbounds nuw i8, ptr %4, i64 24 + store i64 0, ptr %47, align 8, !noalias !894 call void @_ZN4core9panicking9panic_fmt17h784f20a50eaab275E(ptr noalias nocapture noundef nonnull align 8 dereferenceable(48) %4, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.15285cd795f513bdaa4bdcfb2bbacd31.135) #24, !noalias !894 unreachable -"_ZN105_$LT$regex_automata..meta..strategy..Pre$LT$P$GT$$u20$as$u20$regex_automata..meta..strategy..Strategy$GT$6search17ha67692877d1c7e63E.llvm.9705991524997079221.exit": ; preds = %_ZN6memchr6memmem6Finder4find17hbb320fa699992287E.llvm.17849184579231348327.exit.i, %_ZN6memchr6memmem6Finder4find17hbb320fa699992287E.llvm.17849184579231348327.exit.thread.i, %"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$11starts_with17haceeb8303f13283dE.exit.i", %"_ZN106_$LT$core..ops..range..Range$LT$usize$GT$$u20$as$u20$core..slice..index..SliceIndex$LT$$u5b$T$u5d$$GT$$GT$5index17h364e2176bd393ad4E.llvm.17849184579231348327.exit.i2", %42, %"_ZN111_$LT$regex_automata..util..prefilter..memmem..Memmem$u20$as$u20$regex_automata..util..prefilter..PrefilterI$GT$4find17hdbb72a71a1b00f43E.exit", %34, %3 - %49 = phi i1 [ false, %3 ], [ false, %"_ZN111_$LT$regex_automata..util..prefilter..memmem..Memmem$u20$as$u20$regex_automata..util..prefilter..PrefilterI$GT$4find17hdbb72a71a1b00f43E.exit" ], [ true, %34 ], [ false, %"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$11starts_with17haceeb8303f13283dE.exit.i" ], [ false, %"_ZN106_$LT$core..ops..range..Range$LT$usize$GT$$u20$as$u20$core..slice..index..SliceIndex$LT$$u5b$T$u5d$$GT$$GT$5index17h364e2176bd393ad4E.llvm.17849184579231348327.exit.i2" ], [ true, %42 ], [ false, %_ZN6memchr6memmem6Finder4find17hbb320fa699992287E.llvm.17849184579231348327.exit.thread.i ], [ false, %_ZN6memchr6memmem6Finder4find17hbb320fa699992287E.llvm.17849184579231348327.exit.i ] - ret i1 %49 +"_ZN105_$LT$regex_automata..meta..strategy..Pre$LT$P$GT$$u20$as$u20$regex_automata..meta..strategy..Strategy$GT$6search17ha67692877d1c7e63E.llvm.9705991524997079221.exit": ; preds = %_ZN6memchr6memmem6Finder4find17hbb320fa699992287E.llvm.17849184579231348327.exit.i, %_ZN6memchr6memmem6Finder4find17hbb320fa699992287E.llvm.17849184579231348327.exit.thread.i, %"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$11starts_with17haceeb8303f13283dE.exit.i", %"_ZN106_$LT$core..ops..range..Range$LT$usize$GT$$u20$as$u20$core..slice..index..SliceIndex$LT$$u5b$T$u5d$$GT$$GT$5index17h364e2176bd393ad4E.llvm.17849184579231348327.exit.i2", %41, %"_ZN111_$LT$regex_automata..util..prefilter..memmem..Memmem$u20$as$u20$regex_automata..util..prefilter..PrefilterI$GT$4find17hdbb72a71a1b00f43E.exit", %3 + %48 = phi i1 [ false, %3 ], [ true, %"_ZN111_$LT$regex_automata..util..prefilter..memmem..Memmem$u20$as$u20$regex_automata..util..prefilter..PrefilterI$GT$4find17hdbb72a71a1b00f43E.exit" ], [ false, %"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$11starts_with17haceeb8303f13283dE.exit.i" ], [ false, %"_ZN106_$LT$core..ops..range..Range$LT$usize$GT$$u20$as$u20$core..slice..index..SliceIndex$LT$$u5b$T$u5d$$GT$$GT$5index17h364e2176bd393ad4E.llvm.17849184579231348327.exit.i2" ], [ true, %41 ], [ false, %_ZN6memchr6memmem6Finder4find17hbb320fa699992287E.llvm.17849184579231348327.exit.thread.i ], [ false, %_ZN6memchr6memmem6Finder4find17hbb320fa699992287E.llvm.17849184579231348327.exit.i ] + ret i1 %48 } ; Function Attrs: alwaysinline nonlazybind uwtable @@ -5338,7 +5318,7 @@ define hidden noundef zeroext i1 @"_ZN105_$LT$regex_automata..meta..strategy..Pr %14 = load ptr, ptr %13, align 8, !alias.scope !990, !noalias !993, !nonnull !4, !align !467, !noundef !4 %15 = getelementptr inbounds nuw i8, ptr %2, i64 16 %16 = load i64, ptr %15, align 8, !alias.scope !990, !noalias !993, !noundef !4 - br i1 %switch.i, label %24, label %17 + br i1 %switch.i, label %25, label %17 17: ; preds = %11 call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %5), !noalias !996 @@ -5362,47 +5342,43 @@ define hidden noundef zeroext i1 @"_ZN105_$LT$regex_automata..meta..strategy..Pr br i1 %switch.i1, label %"_ZN105_$LT$regex_automata..meta..strategy..Pre$LT$P$GT$$u20$as$u20$regex_automata..meta..strategy..Strategy$GT$6search17h55c43b39b8a4a6efE.llvm.9705991524997079221.exit", label %"_ZN113_$LT$regex_automata..util..prefilter..byteset..ByteSet$u20$as$u20$regex_automata..util..prefilter..PrefilterI$GT$4find17hda9d299ba5e11ccbE.exit" "_ZN113_$LT$regex_automata..util..prefilter..byteset..ByteSet$u20$as$u20$regex_automata..util..prefilter..PrefilterI$GT$4find17hda9d299ba5e11ccbE.exit": ; preds = %"_ZN106_$LT$core..ops..range..Range$LT$usize$GT$$u20$as$u20$core..slice..index..SliceIndex$LT$$u5b$T$u5d$$GT$$GT$5index17h364e2176bd393ad4E.llvm.15183607879373971598.exit.i" - %trunc.i = trunc nuw i64 %.fca.0.extract.i to i1 - br i1 %trunc.i, label %32, label %"_ZN105_$LT$regex_automata..meta..strategy..Pre$LT$P$GT$$u20$as$u20$regex_automata..meta..strategy..Strategy$GT$6search17h55c43b39b8a4a6efE.llvm.9705991524997079221.exit" + %.fca.1.extract.i = extractvalue { i64, i64 } %23, 1 + %24 = add i64 %.fca.1.extract.i, %7 + %.not.i2 = icmp eq i64 %24, -1 + br i1 %.not.i2, label %33, label %"_ZN105_$LT$regex_automata..meta..strategy..Pre$LT$P$GT$$u20$as$u20$regex_automata..meta..strategy..Strategy$GT$6search17h55c43b39b8a4a6efE.llvm.9705991524997079221.exit" -24: ; preds = %11 +25: ; preds = %11 tail call void @llvm.experimental.noalias.scope.decl(metadata !1005) tail call void @llvm.experimental.noalias.scope.decl(metadata !1008) %.not.i = icmp ult i64 %7, %16 - br i1 %.not.i, label %25, label %"_ZN105_$LT$regex_automata..meta..strategy..Pre$LT$P$GT$$u20$as$u20$regex_automata..meta..strategy..Strategy$GT$6search17h55c43b39b8a4a6efE.llvm.9705991524997079221.exit" + br i1 %.not.i, label %26, label %"_ZN105_$LT$regex_automata..meta..strategy..Pre$LT$P$GT$$u20$as$u20$regex_automata..meta..strategy..Strategy$GT$6search17h55c43b39b8a4a6efE.llvm.9705991524997079221.exit" -25: ; preds = %24 - %26 = getelementptr inbounds i8, ptr %14, i64 %7 - %27 = load i8, ptr %26, align 1, !alias.scope !1008, !noalias !1010, !noundef !4 - %28 = zext i8 %27 to i64 - %29 = getelementptr inbounds nuw [256 x i8], ptr %0, i64 0, i64 %28 - %30 = load i8, ptr %29, align 1, !range !544, !alias.scope !1005, !noalias !1012, !noundef !4 - %31 = trunc nuw i8 %30 to i1 +26: ; preds = %25 + %27 = getelementptr inbounds i8, ptr %14, i64 %7 + %28 = load i8, ptr %27, align 1, !alias.scope !1008, !noalias !1010, !noundef !4 + %29 = zext i8 %28 to i64 + %30 = getelementptr inbounds nuw [256 x i8], ptr %0, i64 0, i64 %29 + %31 = load i8, ptr %30, align 1, !range !544, !alias.scope !1005, !noalias !1012, !noundef !4 + %32 = trunc nuw i8 %31 to i1 br label %"_ZN105_$LT$regex_automata..meta..strategy..Pre$LT$P$GT$$u20$as$u20$regex_automata..meta..strategy..Strategy$GT$6search17h55c43b39b8a4a6efE.llvm.9705991524997079221.exit" -32: ; preds = %"_ZN113_$LT$regex_automata..util..prefilter..byteset..ByteSet$u20$as$u20$regex_automata..util..prefilter..PrefilterI$GT$4find17hda9d299ba5e11ccbE.exit" - %.fca.1.extract.i = extractvalue { i64, i64 } %23, 1 - %33 = add i64 %.fca.1.extract.i, %7 - %.not.i2 = icmp eq i64 %33, -1 - br i1 %.not.i2, label %34, label %"_ZN105_$LT$regex_automata..meta..strategy..Pre$LT$P$GT$$u20$as$u20$regex_automata..meta..strategy..Strategy$GT$6search17h55c43b39b8a4a6efE.llvm.9705991524997079221.exit" - -34: ; preds = %32 +33: ; preds = %"_ZN113_$LT$regex_automata..util..prefilter..byteset..ByteSet$u20$as$u20$regex_automata..util..prefilter..PrefilterI$GT$4find17hda9d299ba5e11ccbE.exit" call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %4), !noalias !1013 store ptr @anon.15285cd795f513bdaa4bdcfb2bbacd31.133, ptr %4, align 8, !noalias !1013 - %35 = getelementptr inbounds nuw i8, ptr %4, i64 8 - store i64 1, ptr %35, align 8, !noalias !1013 - %36 = getelementptr inbounds nuw i8, ptr %4, i64 32 - store ptr null, ptr %36, align 8, !noalias !1013 - %37 = getelementptr inbounds nuw i8, ptr %4, i64 16 - store ptr @anon.15285cd795f513bdaa4bdcfb2bbacd31.8, ptr %37, align 8, !noalias !1013 - %38 = getelementptr inbounds nuw i8, ptr %4, i64 24 - store i64 0, ptr %38, align 8, !noalias !1013 + %34 = getelementptr inbounds nuw i8, ptr %4, i64 8 + store i64 1, ptr %34, align 8, !noalias !1013 + %35 = getelementptr inbounds nuw i8, ptr %4, i64 32 + store ptr null, ptr %35, align 8, !noalias !1013 + %36 = getelementptr inbounds nuw i8, ptr %4, i64 16 + store ptr @anon.15285cd795f513bdaa4bdcfb2bbacd31.8, ptr %36, align 8, !noalias !1013 + %37 = getelementptr inbounds nuw i8, ptr %4, i64 24 + store i64 0, ptr %37, align 8, !noalias !1013 call void @_ZN4core9panicking9panic_fmt17h784f20a50eaab275E(ptr noalias nocapture noundef nonnull align 8 dereferenceable(48) %4, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.15285cd795f513bdaa4bdcfb2bbacd31.135) #24, !noalias !1013 unreachable -"_ZN105_$LT$regex_automata..meta..strategy..Pre$LT$P$GT$$u20$as$u20$regex_automata..meta..strategy..Strategy$GT$6search17h55c43b39b8a4a6efE.llvm.9705991524997079221.exit": ; preds = %"_ZN106_$LT$core..ops..range..Range$LT$usize$GT$$u20$as$u20$core..slice..index..SliceIndex$LT$$u5b$T$u5d$$GT$$GT$5index17h364e2176bd393ad4E.llvm.15183607879373971598.exit.i", %25, %24, %"_ZN113_$LT$regex_automata..util..prefilter..byteset..ByteSet$u20$as$u20$regex_automata..util..prefilter..PrefilterI$GT$4find17hda9d299ba5e11ccbE.exit", %32, %3 - %39 = phi i1 [ false, %3 ], [ false, %"_ZN113_$LT$regex_automata..util..prefilter..byteset..ByteSet$u20$as$u20$regex_automata..util..prefilter..PrefilterI$GT$4find17hda9d299ba5e11ccbE.exit" ], [ true, %32 ], [ false, %24 ], [ %31, %25 ], [ false, %"_ZN106_$LT$core..ops..range..Range$LT$usize$GT$$u20$as$u20$core..slice..index..SliceIndex$LT$$u5b$T$u5d$$GT$$GT$5index17h364e2176bd393ad4E.llvm.15183607879373971598.exit.i" ] - ret i1 %39 +"_ZN105_$LT$regex_automata..meta..strategy..Pre$LT$P$GT$$u20$as$u20$regex_automata..meta..strategy..Strategy$GT$6search17h55c43b39b8a4a6efE.llvm.9705991524997079221.exit": ; preds = %"_ZN106_$LT$core..ops..range..Range$LT$usize$GT$$u20$as$u20$core..slice..index..SliceIndex$LT$$u5b$T$u5d$$GT$$GT$5index17h364e2176bd393ad4E.llvm.15183607879373971598.exit.i", %26, %25, %"_ZN113_$LT$regex_automata..util..prefilter..byteset..ByteSet$u20$as$u20$regex_automata..util..prefilter..PrefilterI$GT$4find17hda9d299ba5e11ccbE.exit", %3 + %38 = phi i1 [ false, %3 ], [ true, %"_ZN113_$LT$regex_automata..util..prefilter..byteset..ByteSet$u20$as$u20$regex_automata..util..prefilter..PrefilterI$GT$4find17hda9d299ba5e11ccbE.exit" ], [ false, %25 ], [ %32, %26 ], [ false, %"_ZN106_$LT$core..ops..range..Range$LT$usize$GT$$u20$as$u20$core..slice..index..SliceIndex$LT$$u5b$T$u5d$$GT$$GT$5index17h364e2176bd393ad4E.llvm.15183607879373971598.exit.i" ] + ret i1 %38 } ; Function Attrs: alwaysinline nonlazybind uwtable @@ -5575,10 +5551,6 @@ _ZN6memchr6memmem6Finder4find17hbb320fa699992287E.llvm.17849184579231348327.exit %switch.i19 = icmp eq i64 %.fca.0.extract.i.i, 0 br i1 %switch.i19, label %"_ZN105_$LT$regex_automata..meta..strategy..Pre$LT$P$GT$$u20$as$u20$regex_automata..meta..strategy..Strategy$GT$6search17ha67692877d1c7e63E.llvm.9705991524997079221.exit.thread", label %"_ZN111_$LT$regex_automata..util..prefilter..memmem..Memmem$u20$as$u20$regex_automata..util..prefilter..PrefilterI$GT$4find17hdbb72a71a1b00f43E.exit" -"_ZN111_$LT$regex_automata..util..prefilter..memmem..Memmem$u20$as$u20$regex_automata..util..prefilter..PrefilterI$GT$4find17hdbb72a71a1b00f43E.exit": ; preds = %_ZN6memchr6memmem6Finder4find17hbb320fa699992287E.llvm.17849184579231348327.exit.i - %trunc.i = trunc nuw i64 %.fca.0.extract.i.i to i1 - br i1 %trunc.i, label %36, label %"_ZN105_$LT$regex_automata..meta..strategy..Pre$LT$P$GT$$u20$as$u20$regex_automata..meta..strategy..Strategy$GT$6search17ha67692877d1c7e63E.llvm.9705991524997079221.exit.thread" - 30: ; preds = %14 tail call void @llvm.experimental.noalias.scope.decl(metadata !1070) %.sroa.3.0.in.i = getelementptr inbounds nuw i8, ptr %0, i64 272 @@ -5601,71 +5573,71 @@ _ZN6memchr6memmem6Finder4find17hbb320fa699992287E.llvm.17849184579231348327.exit %34 = getelementptr inbounds i8, ptr %17, i64 %10 %bcmp.i.i.i = tail call i32 @bcmp(ptr nonnull readonly align 1 %.sroa.03.0.i, ptr nonnull readonly align 1 %34, i64 %.sroa.3.0.i), !alias.scope !1079, !noalias !1086 %35 = icmp eq i32 %bcmp.i.i.i, 0 - br i1 %35, label %44, label %"_ZN105_$LT$regex_automata..meta..strategy..Pre$LT$P$GT$$u20$as$u20$regex_automata..meta..strategy..Strategy$GT$6search17ha67692877d1c7e63E.llvm.9705991524997079221.exit.thread" + br i1 %35, label %43, label %"_ZN105_$LT$regex_automata..meta..strategy..Pre$LT$P$GT$$u20$as$u20$regex_automata..meta..strategy..Strategy$GT$6search17ha67692877d1c7e63E.llvm.9705991524997079221.exit.thread" -36: ; preds = %"_ZN111_$LT$regex_automata..util..prefilter..memmem..Memmem$u20$as$u20$regex_automata..util..prefilter..PrefilterI$GT$4find17hdbb72a71a1b00f43E.exit" +"_ZN111_$LT$regex_automata..util..prefilter..memmem..Memmem$u20$as$u20$regex_automata..util..prefilter..PrefilterI$GT$4find17hdbb72a71a1b00f43E.exit": ; preds = %_ZN6memchr6memmem6Finder4find17hbb320fa699992287E.llvm.17849184579231348327.exit.i %.fca.1.extract.i.i = extractvalue { i64, i64 } %29, 1 - %37 = add i64 %.fca.1.extract.i.i, %10 - %38 = add i64 %37, %.sroa.32.0.i.i - %.not.i = icmp ugt i64 %37, %38 - br i1 %.not.i, label %39, label %51 + %36 = add i64 %.fca.1.extract.i.i, %10 + %37 = add i64 %36, %.sroa.32.0.i.i + %.not.i = icmp ugt i64 %36, %37 + br i1 %.not.i, label %38, label %50 -39: ; preds = %36 +38: ; preds = %"_ZN111_$LT$regex_automata..util..prefilter..memmem..Memmem$u20$as$u20$regex_automata..util..prefilter..PrefilterI$GT$4find17hdbb72a71a1b00f43E.exit" call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %7), !noalias !1087 store ptr @anon.15285cd795f513bdaa4bdcfb2bbacd31.133, ptr %7, align 8, !noalias !1087 - %40 = getelementptr inbounds nuw i8, ptr %7, i64 8 - store i64 1, ptr %40, align 8, !noalias !1087 - %41 = getelementptr inbounds nuw i8, ptr %7, i64 32 - store ptr null, ptr %41, align 8, !noalias !1087 - %42 = getelementptr inbounds nuw i8, ptr %7, i64 16 - store ptr @anon.15285cd795f513bdaa4bdcfb2bbacd31.8, ptr %42, align 8, !noalias !1087 - %43 = getelementptr inbounds nuw i8, ptr %7, i64 24 - store i64 0, ptr %43, align 8, !noalias !1087 + %39 = getelementptr inbounds nuw i8, ptr %7, i64 8 + store i64 1, ptr %39, align 8, !noalias !1087 + %40 = getelementptr inbounds nuw i8, ptr %7, i64 32 + store ptr null, ptr %40, align 8, !noalias !1087 + %41 = getelementptr inbounds nuw i8, ptr %7, i64 16 + store ptr @anon.15285cd795f513bdaa4bdcfb2bbacd31.8, ptr %41, align 8, !noalias !1087 + %42 = getelementptr inbounds nuw i8, ptr %7, i64 24 + store i64 0, ptr %42, align 8, !noalias !1087 call void @_ZN4core9panicking9panic_fmt17h784f20a50eaab275E(ptr noalias nocapture noundef nonnull align 8 dereferenceable(48) %7, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.15285cd795f513bdaa4bdcfb2bbacd31.135) #24, !noalias !1087 unreachable -44: ; preds = %"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$11starts_with17haceeb8303f13283dE.exit.i" - %45 = add i64 %.sroa.3.0.i, %10 - %.not.i21 = icmp ugt i64 %10, %45 - br i1 %.not.i21, label %46, label %51 +43: ; preds = %"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$11starts_with17haceeb8303f13283dE.exit.i" + %44 = add i64 %.sroa.3.0.i, %10 + %.not.i21 = icmp ugt i64 %10, %44 + br i1 %.not.i21, label %45, label %50 -46: ; preds = %44 +45: ; preds = %43 call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %6), !noalias !1090 store ptr @anon.15285cd795f513bdaa4bdcfb2bbacd31.133, ptr %6, align 8, !noalias !1090 - %47 = getelementptr inbounds nuw i8, ptr %6, i64 8 - store i64 1, ptr %47, align 8, !noalias !1090 - %48 = getelementptr inbounds nuw i8, ptr %6, i64 32 - store ptr null, ptr %48, align 8, !noalias !1090 - %49 = getelementptr inbounds nuw i8, ptr %6, i64 16 - store ptr @anon.15285cd795f513bdaa4bdcfb2bbacd31.8, ptr %49, align 8, !noalias !1090 - %50 = getelementptr inbounds nuw i8, ptr %6, i64 24 - store i64 0, ptr %50, align 8, !noalias !1090 + %46 = getelementptr inbounds nuw i8, ptr %6, i64 8 + store i64 1, ptr %46, align 8, !noalias !1090 + %47 = getelementptr inbounds nuw i8, ptr %6, i64 32 + store ptr null, ptr %47, align 8, !noalias !1090 + %48 = getelementptr inbounds nuw i8, ptr %6, i64 16 + store ptr @anon.15285cd795f513bdaa4bdcfb2bbacd31.8, ptr %48, align 8, !noalias !1090 + %49 = getelementptr inbounds nuw i8, ptr %6, i64 24 + store i64 0, ptr %49, align 8, !noalias !1090 call void @_ZN4core9panicking9panic_fmt17h784f20a50eaab275E(ptr noalias nocapture noundef nonnull align 8 dereferenceable(48) %6, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.15285cd795f513bdaa4bdcfb2bbacd31.135) #24, !noalias !1090 unreachable -51: ; preds = %36, %44 - %.sroa.11.2 = phi i64 [ %38, %36 ], [ %45, %44 ] - %.sroa.8.2 = phi i64 [ %37, %36 ], [ %10, %44 ] +50: ; preds = %"_ZN111_$LT$regex_automata..util..prefilter..memmem..Memmem$u20$as$u20$regex_automata..util..prefilter..PrefilterI$GT$4find17hdbb72a71a1b00f43E.exit", %43 + %.sroa.11.2 = phi i64 [ %37, %"_ZN111_$LT$regex_automata..util..prefilter..memmem..Memmem$u20$as$u20$regex_automata..util..prefilter..PrefilterI$GT$4find17hdbb72a71a1b00f43E.exit" ], [ %44, %43 ] + %.sroa.8.2 = phi i64 [ %36, %"_ZN111_$LT$regex_automata..util..prefilter..memmem..Memmem$u20$as$u20$regex_automata..util..prefilter..PrefilterI$GT$4find17hdbb72a71a1b00f43E.exit" ], [ %10, %43 ] %.not = icmp eq i64 %4, 0 - br i1 %.not, label %"_ZN105_$LT$regex_automata..meta..strategy..Pre$LT$P$GT$$u20$as$u20$regex_automata..meta..strategy..Strategy$GT$6search17ha67692877d1c7e63E.llvm.9705991524997079221.exit.thread", label %52 - -52: ; preds = %51 - %53 = add i64 %.sroa.8.2, 1 - store i64 %53, ptr %3, align 8 - %54 = icmp eq i64 %4, 1 - br i1 %54, label %"_ZN105_$LT$regex_automata..meta..strategy..Pre$LT$P$GT$$u20$as$u20$regex_automata..meta..strategy..Strategy$GT$6search17ha67692877d1c7e63E.llvm.9705991524997079221.exit.thread", label %55 - -55: ; preds = %52 - %56 = getelementptr inbounds nuw i8, ptr %3, i64 8 - %57 = add i64 %.sroa.11.2, 1 - store i64 %57, ptr %56, align 8 + br i1 %.not, label %"_ZN105_$LT$regex_automata..meta..strategy..Pre$LT$P$GT$$u20$as$u20$regex_automata..meta..strategy..Strategy$GT$6search17ha67692877d1c7e63E.llvm.9705991524997079221.exit.thread", label %51 + +51: ; preds = %50 + %52 = add i64 %.sroa.8.2, 1 + store i64 %52, ptr %3, align 8 + %53 = icmp eq i64 %4, 1 + br i1 %53, label %"_ZN105_$LT$regex_automata..meta..strategy..Pre$LT$P$GT$$u20$as$u20$regex_automata..meta..strategy..Strategy$GT$6search17ha67692877d1c7e63E.llvm.9705991524997079221.exit.thread", label %54 + +54: ; preds = %51 + %55 = getelementptr inbounds nuw i8, ptr %3, i64 8 + %56 = add i64 %.sroa.11.2, 1 + store i64 %56, ptr %55, align 8 br label %"_ZN105_$LT$regex_automata..meta..strategy..Pre$LT$P$GT$$u20$as$u20$regex_automata..meta..strategy..Strategy$GT$6search17ha67692877d1c7e63E.llvm.9705991524997079221.exit.thread" -"_ZN105_$LT$regex_automata..meta..strategy..Pre$LT$P$GT$$u20$as$u20$regex_automata..meta..strategy..Strategy$GT$6search17ha67692877d1c7e63E.llvm.9705991524997079221.exit.thread": ; preds = %51, %_ZN6memchr6memmem6Finder4find17hbb320fa699992287E.llvm.17849184579231348327.exit.i, %_ZN6memchr6memmem6Finder4find17hbb320fa699992287E.llvm.17849184579231348327.exit.thread.i, %"_ZN106_$LT$core..ops..range..Range$LT$usize$GT$$u20$as$u20$core..slice..index..SliceIndex$LT$$u5b$T$u5d$$GT$$GT$5index17h364e2176bd393ad4E.llvm.17849184579231348327.exit.i20", %"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$11starts_with17haceeb8303f13283dE.exit.i", %"_ZN111_$LT$regex_automata..util..prefilter..memmem..Memmem$u20$as$u20$regex_automata..util..prefilter..PrefilterI$GT$4find17hdbb72a71a1b00f43E.exit", %5, %52, %55 - %.sroa.0.0 = phi i32 [ 1, %55 ], [ 1, %52 ], [ 0, %5 ], [ 0, %"_ZN111_$LT$regex_automata..util..prefilter..memmem..Memmem$u20$as$u20$regex_automata..util..prefilter..PrefilterI$GT$4find17hdbb72a71a1b00f43E.exit" ], [ 0, %"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$11starts_with17haceeb8303f13283dE.exit.i" ], [ 0, %"_ZN106_$LT$core..ops..range..Range$LT$usize$GT$$u20$as$u20$core..slice..index..SliceIndex$LT$$u5b$T$u5d$$GT$$GT$5index17h364e2176bd393ad4E.llvm.17849184579231348327.exit.i20" ], [ 0, %_ZN6memchr6memmem6Finder4find17hbb320fa699992287E.llvm.17849184579231348327.exit.thread.i ], [ 0, %_ZN6memchr6memmem6Finder4find17hbb320fa699992287E.llvm.17849184579231348327.exit.i ], [ 1, %51 ] - %58 = insertvalue { i32, i32 } poison, i32 %.sroa.0.0, 0 - %59 = insertvalue { i32, i32 } %58, i32 0, 1 - ret { i32, i32 } %59 +"_ZN105_$LT$regex_automata..meta..strategy..Pre$LT$P$GT$$u20$as$u20$regex_automata..meta..strategy..Strategy$GT$6search17ha67692877d1c7e63E.llvm.9705991524997079221.exit.thread": ; preds = %50, %_ZN6memchr6memmem6Finder4find17hbb320fa699992287E.llvm.17849184579231348327.exit.i, %_ZN6memchr6memmem6Finder4find17hbb320fa699992287E.llvm.17849184579231348327.exit.thread.i, %"_ZN106_$LT$core..ops..range..Range$LT$usize$GT$$u20$as$u20$core..slice..index..SliceIndex$LT$$u5b$T$u5d$$GT$$GT$5index17h364e2176bd393ad4E.llvm.17849184579231348327.exit.i20", %"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$11starts_with17haceeb8303f13283dE.exit.i", %5, %51, %54 + %.sroa.0.0 = phi i32 [ 1, %54 ], [ 1, %51 ], [ 0, %5 ], [ 0, %"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$11starts_with17haceeb8303f13283dE.exit.i" ], [ 0, %"_ZN106_$LT$core..ops..range..Range$LT$usize$GT$$u20$as$u20$core..slice..index..SliceIndex$LT$$u5b$T$u5d$$GT$$GT$5index17h364e2176bd393ad4E.llvm.17849184579231348327.exit.i20" ], [ 0, %_ZN6memchr6memmem6Finder4find17hbb320fa699992287E.llvm.17849184579231348327.exit.thread.i ], [ 0, %_ZN6memchr6memmem6Finder4find17hbb320fa699992287E.llvm.17849184579231348327.exit.i ], [ 1, %50 ] + %57 = insertvalue { i32, i32 } poison, i32 %.sroa.0.0, 0 + %58 = insertvalue { i32, i32 } %57, i32 0, 1 + ret { i32, i32 } %58 } ; Function Attrs: alwaysinline nonlazybind uwtable @@ -5688,7 +5660,7 @@ define hidden { i32, i32 } @"_ZN105_$LT$regex_automata..meta..strategy..Pre$LT$P %16 = load ptr, ptr %15, align 8, !alias.scope !1093, !noalias !1096, !nonnull !4, !align !467, !noundef !4 %17 = getelementptr inbounds nuw i8, ptr %2, i64 16 %18 = load i64, ptr %17, align 8, !alias.scope !1093, !noalias !1096, !noundef !4 - br i1 %switch.i, label %26, label %19 + br i1 %switch.i, label %27, label %19 19: ; preds = %13 call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %7), !noalias !1099 @@ -5712,66 +5684,62 @@ define hidden { i32, i32 } @"_ZN105_$LT$regex_automata..meta..strategy..Pre$LT$P br i1 %switch.i19, label %"_ZN105_$LT$regex_automata..meta..strategy..Pre$LT$P$GT$$u20$as$u20$regex_automata..meta..strategy..Strategy$GT$6search17h55c43b39b8a4a6efE.llvm.9705991524997079221.exit.thread", label %"_ZN113_$LT$regex_automata..util..prefilter..byteset..ByteSet$u20$as$u20$regex_automata..util..prefilter..PrefilterI$GT$4find17hda9d299ba5e11ccbE.exit" "_ZN113_$LT$regex_automata..util..prefilter..byteset..ByteSet$u20$as$u20$regex_automata..util..prefilter..PrefilterI$GT$4find17hda9d299ba5e11ccbE.exit": ; preds = %"_ZN106_$LT$core..ops..range..Range$LT$usize$GT$$u20$as$u20$core..slice..index..SliceIndex$LT$$u5b$T$u5d$$GT$$GT$5index17h364e2176bd393ad4E.llvm.15183607879373971598.exit.i" - %trunc.i = trunc nuw i64 %.fca.0.extract.i to i1 - br i1 %trunc.i, label %34, label %"_ZN105_$LT$regex_automata..meta..strategy..Pre$LT$P$GT$$u20$as$u20$regex_automata..meta..strategy..Strategy$GT$6search17h55c43b39b8a4a6efE.llvm.9705991524997079221.exit.thread" + %.fca.1.extract.i = extractvalue { i64, i64 } %25, 1 + %26 = add i64 %.fca.1.extract.i, %9 + %.not.i20 = icmp eq i64 %26, -1 + br i1 %.not.i20, label %35, label %_ZN14regex_automata4util6search5Match3new17hf74dc18bc550bf59E.exit22 -26: ; preds = %13 +27: ; preds = %13 tail call void @llvm.experimental.noalias.scope.decl(metadata !1108) tail call void @llvm.experimental.noalias.scope.decl(metadata !1111) %.not.i = icmp ult i64 %9, %18 - br i1 %.not.i, label %27, label %"_ZN105_$LT$regex_automata..meta..strategy..Pre$LT$P$GT$$u20$as$u20$regex_automata..meta..strategy..Strategy$GT$6search17h55c43b39b8a4a6efE.llvm.9705991524997079221.exit.thread" - -27: ; preds = %26 - %28 = getelementptr inbounds i8, ptr %16, i64 %9 - %29 = load i8, ptr %28, align 1, !alias.scope !1111, !noalias !1113, !noundef !4 - %30 = zext i8 %29 to i64 - %31 = getelementptr inbounds nuw [256 x i8], ptr %0, i64 0, i64 %30 - %32 = load i8, ptr %31, align 1, !range !544, !alias.scope !1108, !noalias !1115, !noundef !4 - %33 = trunc nuw i8 %32 to i1 - br i1 %33, label %_ZN14regex_automata4util6search5Match3new17hf74dc18bc550bf59E.exit22, label %"_ZN105_$LT$regex_automata..meta..strategy..Pre$LT$P$GT$$u20$as$u20$regex_automata..meta..strategy..Strategy$GT$6search17h55c43b39b8a4a6efE.llvm.9705991524997079221.exit.thread" + br i1 %.not.i, label %28, label %"_ZN105_$LT$regex_automata..meta..strategy..Pre$LT$P$GT$$u20$as$u20$regex_automata..meta..strategy..Strategy$GT$6search17h55c43b39b8a4a6efE.llvm.9705991524997079221.exit.thread" -34: ; preds = %"_ZN113_$LT$regex_automata..util..prefilter..byteset..ByteSet$u20$as$u20$regex_automata..util..prefilter..PrefilterI$GT$4find17hda9d299ba5e11ccbE.exit" - %.fca.1.extract.i = extractvalue { i64, i64 } %25, 1 - %35 = add i64 %.fca.1.extract.i, %9 - %.not.i20 = icmp eq i64 %35, -1 - br i1 %.not.i20, label %36, label %_ZN14regex_automata4util6search5Match3new17hf74dc18bc550bf59E.exit22 +28: ; preds = %27 + %29 = getelementptr inbounds i8, ptr %16, i64 %9 + %30 = load i8, ptr %29, align 1, !alias.scope !1111, !noalias !1113, !noundef !4 + %31 = zext i8 %30 to i64 + %32 = getelementptr inbounds nuw [256 x i8], ptr %0, i64 0, i64 %31 + %33 = load i8, ptr %32, align 1, !range !544, !alias.scope !1108, !noalias !1115, !noundef !4 + %34 = trunc nuw i8 %33 to i1 + br i1 %34, label %_ZN14regex_automata4util6search5Match3new17hf74dc18bc550bf59E.exit22, label %"_ZN105_$LT$regex_automata..meta..strategy..Pre$LT$P$GT$$u20$as$u20$regex_automata..meta..strategy..Strategy$GT$6search17h55c43b39b8a4a6efE.llvm.9705991524997079221.exit.thread" -36: ; preds = %34 +35: ; preds = %"_ZN113_$LT$regex_automata..util..prefilter..byteset..ByteSet$u20$as$u20$regex_automata..util..prefilter..PrefilterI$GT$4find17hda9d299ba5e11ccbE.exit" call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %6), !noalias !1116 store ptr @anon.15285cd795f513bdaa4bdcfb2bbacd31.133, ptr %6, align 8, !noalias !1116 - %37 = getelementptr inbounds nuw i8, ptr %6, i64 8 - store i64 1, ptr %37, align 8, !noalias !1116 - %38 = getelementptr inbounds nuw i8, ptr %6, i64 32 - store ptr null, ptr %38, align 8, !noalias !1116 - %39 = getelementptr inbounds nuw i8, ptr %6, i64 16 - store ptr @anon.15285cd795f513bdaa4bdcfb2bbacd31.8, ptr %39, align 8, !noalias !1116 - %40 = getelementptr inbounds nuw i8, ptr %6, i64 24 - store i64 0, ptr %40, align 8, !noalias !1116 + %36 = getelementptr inbounds nuw i8, ptr %6, i64 8 + store i64 1, ptr %36, align 8, !noalias !1116 + %37 = getelementptr inbounds nuw i8, ptr %6, i64 32 + store ptr null, ptr %37, align 8, !noalias !1116 + %38 = getelementptr inbounds nuw i8, ptr %6, i64 16 + store ptr @anon.15285cd795f513bdaa4bdcfb2bbacd31.8, ptr %38, align 8, !noalias !1116 + %39 = getelementptr inbounds nuw i8, ptr %6, i64 24 + store i64 0, ptr %39, align 8, !noalias !1116 call void @_ZN4core9panicking9panic_fmt17h784f20a50eaab275E(ptr noalias nocapture noundef nonnull align 8 dereferenceable(48) %6, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.15285cd795f513bdaa4bdcfb2bbacd31.135) #24, !noalias !1116 unreachable -_ZN14regex_automata4util6search5Match3new17hf74dc18bc550bf59E.exit22: ; preds = %27, %34 - %.sroa.8.2 = phi i64 [ %35, %34 ], [ %9, %27 ] +_ZN14regex_automata4util6search5Match3new17hf74dc18bc550bf59E.exit22: ; preds = %28, %"_ZN113_$LT$regex_automata..util..prefilter..byteset..ByteSet$u20$as$u20$regex_automata..util..prefilter..PrefilterI$GT$4find17hda9d299ba5e11ccbE.exit" + %.sroa.8.2 = phi i64 [ %26, %"_ZN113_$LT$regex_automata..util..prefilter..byteset..ByteSet$u20$as$u20$regex_automata..util..prefilter..PrefilterI$GT$4find17hda9d299ba5e11ccbE.exit" ], [ %9, %28 ] %.not = icmp eq i64 %4, 0 - br i1 %.not, label %"_ZN105_$LT$regex_automata..meta..strategy..Pre$LT$P$GT$$u20$as$u20$regex_automata..meta..strategy..Strategy$GT$6search17h55c43b39b8a4a6efE.llvm.9705991524997079221.exit.thread", label %41 - -41: ; preds = %_ZN14regex_automata4util6search5Match3new17hf74dc18bc550bf59E.exit22 - %42 = add nuw i64 %.sroa.8.2, 1 - store i64 %42, ptr %3, align 8 - %43 = icmp eq i64 %4, 1 - br i1 %43, label %"_ZN105_$LT$regex_automata..meta..strategy..Pre$LT$P$GT$$u20$as$u20$regex_automata..meta..strategy..Strategy$GT$6search17h55c43b39b8a4a6efE.llvm.9705991524997079221.exit.thread", label %44 - -44: ; preds = %41 - %45 = getelementptr inbounds nuw i8, ptr %3, i64 8 - %46 = add i64 %.sroa.8.2, 2 - store i64 %46, ptr %45, align 8 + br i1 %.not, label %"_ZN105_$LT$regex_automata..meta..strategy..Pre$LT$P$GT$$u20$as$u20$regex_automata..meta..strategy..Strategy$GT$6search17h55c43b39b8a4a6efE.llvm.9705991524997079221.exit.thread", label %40 + +40: ; preds = %_ZN14regex_automata4util6search5Match3new17hf74dc18bc550bf59E.exit22 + %41 = add nuw i64 %.sroa.8.2, 1 + store i64 %41, ptr %3, align 8 + %42 = icmp eq i64 %4, 1 + br i1 %42, label %"_ZN105_$LT$regex_automata..meta..strategy..Pre$LT$P$GT$$u20$as$u20$regex_automata..meta..strategy..Strategy$GT$6search17h55c43b39b8a4a6efE.llvm.9705991524997079221.exit.thread", label %43 + +43: ; preds = %40 + %44 = getelementptr inbounds nuw i8, ptr %3, i64 8 + %45 = add i64 %.sroa.8.2, 2 + store i64 %45, ptr %44, align 8 br label %"_ZN105_$LT$regex_automata..meta..strategy..Pre$LT$P$GT$$u20$as$u20$regex_automata..meta..strategy..Strategy$GT$6search17h55c43b39b8a4a6efE.llvm.9705991524997079221.exit.thread" -"_ZN105_$LT$regex_automata..meta..strategy..Pre$LT$P$GT$$u20$as$u20$regex_automata..meta..strategy..Strategy$GT$6search17h55c43b39b8a4a6efE.llvm.9705991524997079221.exit.thread": ; preds = %"_ZN106_$LT$core..ops..range..Range$LT$usize$GT$$u20$as$u20$core..slice..index..SliceIndex$LT$$u5b$T$u5d$$GT$$GT$5index17h364e2176bd393ad4E.llvm.15183607879373971598.exit.i", %_ZN14regex_automata4util6search5Match3new17hf74dc18bc550bf59E.exit22, %27, %26, %"_ZN113_$LT$regex_automata..util..prefilter..byteset..ByteSet$u20$as$u20$regex_automata..util..prefilter..PrefilterI$GT$4find17hda9d299ba5e11ccbE.exit", %5, %41, %44 - %.sroa.0.0 = phi i32 [ 1, %44 ], [ 1, %41 ], [ 0, %5 ], [ 0, %"_ZN113_$LT$regex_automata..util..prefilter..byteset..ByteSet$u20$as$u20$regex_automata..util..prefilter..PrefilterI$GT$4find17hda9d299ba5e11ccbE.exit" ], [ 0, %26 ], [ 0, %27 ], [ 1, %_ZN14regex_automata4util6search5Match3new17hf74dc18bc550bf59E.exit22 ], [ 0, %"_ZN106_$LT$core..ops..range..Range$LT$usize$GT$$u20$as$u20$core..slice..index..SliceIndex$LT$$u5b$T$u5d$$GT$$GT$5index17h364e2176bd393ad4E.llvm.15183607879373971598.exit.i" ] - %47 = insertvalue { i32, i32 } poison, i32 %.sroa.0.0, 0 - %48 = insertvalue { i32, i32 } %47, i32 0, 1 - ret { i32, i32 } %48 +"_ZN105_$LT$regex_automata..meta..strategy..Pre$LT$P$GT$$u20$as$u20$regex_automata..meta..strategy..Strategy$GT$6search17h55c43b39b8a4a6efE.llvm.9705991524997079221.exit.thread": ; preds = %"_ZN106_$LT$core..ops..range..Range$LT$usize$GT$$u20$as$u20$core..slice..index..SliceIndex$LT$$u5b$T$u5d$$GT$$GT$5index17h364e2176bd393ad4E.llvm.15183607879373971598.exit.i", %_ZN14regex_automata4util6search5Match3new17hf74dc18bc550bf59E.exit22, %28, %27, %5, %40, %43 + %.sroa.0.0 = phi i32 [ 1, %43 ], [ 1, %40 ], [ 0, %5 ], [ 0, %27 ], [ 0, %28 ], [ 1, %_ZN14regex_automata4util6search5Match3new17hf74dc18bc550bf59E.exit22 ], [ 0, %"_ZN106_$LT$core..ops..range..Range$LT$usize$GT$$u20$as$u20$core..slice..index..SliceIndex$LT$$u5b$T$u5d$$GT$$GT$5index17h364e2176bd393ad4E.llvm.15183607879373971598.exit.i" ] + %46 = insertvalue { i32, i32 } poison, i32 %.sroa.0.0, 0 + %47 = insertvalue { i32, i32 } %46, i32 0, 1 + ret { i32, i32 } %47 } ; Function Attrs: alwaysinline nonlazybind uwtable @@ -6622,7 +6590,7 @@ define hidden void @"_ZN105_$LT$regex_automata..meta..strategy..Pre$LT$P$GT$$u20 %17 = load ptr, ptr %16, align 8, !alias.scope !1321, !noalias !1324, !nonnull !4, !align !467, !noundef !4 %18 = getelementptr inbounds nuw i8, ptr %2, i64 16 %19 = load i64, ptr %18, align 8, !alias.scope !1321, !noalias !1324, !noundef !4 - br i1 %switch.i, label %27, label %20 + br i1 %switch.i, label %28, label %20 20: ; preds = %14 call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %8), !noalias !1327 @@ -6646,61 +6614,57 @@ define hidden void @"_ZN105_$LT$regex_automata..meta..strategy..Pre$LT$P$GT$$u20 br i1 %switch.i1, label %"_ZN113_$LT$regex_automata..util..prefilter..byteset..ByteSet$u20$as$u20$regex_automata..util..prefilter..PrefilterI$GT$4find17hda9d299ba5e11ccbE.exit.thread", label %"_ZN113_$LT$regex_automata..util..prefilter..byteset..ByteSet$u20$as$u20$regex_automata..util..prefilter..PrefilterI$GT$4find17hda9d299ba5e11ccbE.exit" "_ZN113_$LT$regex_automata..util..prefilter..byteset..ByteSet$u20$as$u20$regex_automata..util..prefilter..PrefilterI$GT$4find17hda9d299ba5e11ccbE.exit": ; preds = %"_ZN106_$LT$core..ops..range..Range$LT$usize$GT$$u20$as$u20$core..slice..index..SliceIndex$LT$$u5b$T$u5d$$GT$$GT$5index17h364e2176bd393ad4E.llvm.15183607879373971598.exit.i" - %trunc.i = trunc nuw i64 %.fca.0.extract.i to i1 - br i1 %trunc.i, label %35, label %"_ZN113_$LT$regex_automata..util..prefilter..byteset..ByteSet$u20$as$u20$regex_automata..util..prefilter..PrefilterI$GT$4find17hda9d299ba5e11ccbE.exit.thread" + %.fca.1.extract.i = extractvalue { i64, i64 } %26, 1 + %27 = add i64 %.fca.1.extract.i, %10 + %.not.i2 = icmp eq i64 %27, -1 + br i1 %.not.i2, label %36, label %"_ZN105_$LT$regex_automata..meta..strategy..Pre$LT$P$GT$$u20$as$u20$regex_automata..meta..strategy..Strategy$GT$6search17h55c43b39b8a4a6efE.llvm.9705991524997079221.exit" -27: ; preds = %14 +28: ; preds = %14 tail call void @llvm.experimental.noalias.scope.decl(metadata !1336) tail call void @llvm.experimental.noalias.scope.decl(metadata !1339) %.not.i = icmp ult i64 %10, %19 - br i1 %.not.i, label %28, label %"_ZN113_$LT$regex_automata..util..prefilter..byteset..ByteSet$u20$as$u20$regex_automata..util..prefilter..PrefilterI$GT$4find17hda9d299ba5e11ccbE.exit.thread" + br i1 %.not.i, label %29, label %"_ZN113_$LT$regex_automata..util..prefilter..byteset..ByteSet$u20$as$u20$regex_automata..util..prefilter..PrefilterI$GT$4find17hda9d299ba5e11ccbE.exit.thread" -28: ; preds = %27 - %29 = getelementptr inbounds i8, ptr %17, i64 %10 - %30 = load i8, ptr %29, align 1, !alias.scope !1339, !noalias !1341, !noundef !4 - %31 = zext i8 %30 to i64 - %32 = getelementptr inbounds nuw [256 x i8], ptr %0, i64 0, i64 %31 - %33 = load i8, ptr %32, align 1, !range !544, !alias.scope !1336, !noalias !1343, !noundef !4 - %34 = trunc nuw i8 %33 to i1 - br i1 %34, label %"_ZN105_$LT$regex_automata..meta..strategy..Pre$LT$P$GT$$u20$as$u20$regex_automata..meta..strategy..Strategy$GT$6search17h55c43b39b8a4a6efE.llvm.9705991524997079221.exit", label %"_ZN113_$LT$regex_automata..util..prefilter..byteset..ByteSet$u20$as$u20$regex_automata..util..prefilter..PrefilterI$GT$4find17hda9d299ba5e11ccbE.exit.thread" - -35: ; preds = %"_ZN113_$LT$regex_automata..util..prefilter..byteset..ByteSet$u20$as$u20$regex_automata..util..prefilter..PrefilterI$GT$4find17hda9d299ba5e11ccbE.exit" - %.fca.1.extract.i = extractvalue { i64, i64 } %26, 1 - %36 = add i64 %.fca.1.extract.i, %10 - %.not.i2 = icmp eq i64 %36, -1 - br i1 %.not.i2, label %37, label %"_ZN105_$LT$regex_automata..meta..strategy..Pre$LT$P$GT$$u20$as$u20$regex_automata..meta..strategy..Strategy$GT$6search17h55c43b39b8a4a6efE.llvm.9705991524997079221.exit" - -37: ; preds = %35 +29: ; preds = %28 + %30 = getelementptr inbounds i8, ptr %17, i64 %10 + %31 = load i8, ptr %30, align 1, !alias.scope !1339, !noalias !1341, !noundef !4 + %32 = zext i8 %31 to i64 + %33 = getelementptr inbounds nuw [256 x i8], ptr %0, i64 0, i64 %32 + %34 = load i8, ptr %33, align 1, !range !544, !alias.scope !1336, !noalias !1343, !noundef !4 + %35 = trunc nuw i8 %34 to i1 + br i1 %35, label %"_ZN105_$LT$regex_automata..meta..strategy..Pre$LT$P$GT$$u20$as$u20$regex_automata..meta..strategy..Strategy$GT$6search17h55c43b39b8a4a6efE.llvm.9705991524997079221.exit", label %"_ZN113_$LT$regex_automata..util..prefilter..byteset..ByteSet$u20$as$u20$regex_automata..util..prefilter..PrefilterI$GT$4find17hda9d299ba5e11ccbE.exit.thread" + +36: ; preds = %"_ZN113_$LT$regex_automata..util..prefilter..byteset..ByteSet$u20$as$u20$regex_automata..util..prefilter..PrefilterI$GT$4find17hda9d299ba5e11ccbE.exit" call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %7), !noalias !1344 store ptr @anon.15285cd795f513bdaa4bdcfb2bbacd31.133, ptr %7, align 8, !noalias !1344 - %38 = getelementptr inbounds nuw i8, ptr %7, i64 8 - store i64 1, ptr %38, align 8, !noalias !1344 - %39 = getelementptr inbounds nuw i8, ptr %7, i64 32 - store ptr null, ptr %39, align 8, !noalias !1344 - %40 = getelementptr inbounds nuw i8, ptr %7, i64 16 - store ptr @anon.15285cd795f513bdaa4bdcfb2bbacd31.8, ptr %40, align 8, !noalias !1344 - %41 = getelementptr inbounds nuw i8, ptr %7, i64 24 - store i64 0, ptr %41, align 8, !noalias !1344 + %37 = getelementptr inbounds nuw i8, ptr %7, i64 8 + store i64 1, ptr %37, align 8, !noalias !1344 + %38 = getelementptr inbounds nuw i8, ptr %7, i64 32 + store ptr null, ptr %38, align 8, !noalias !1344 + %39 = getelementptr inbounds nuw i8, ptr %7, i64 16 + store ptr @anon.15285cd795f513bdaa4bdcfb2bbacd31.8, ptr %39, align 8, !noalias !1344 + %40 = getelementptr inbounds nuw i8, ptr %7, i64 24 + store i64 0, ptr %40, align 8, !noalias !1344 call void @_ZN4core9panicking9panic_fmt17h784f20a50eaab275E(ptr noalias nocapture noundef nonnull align 8 dereferenceable(48) %7, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.15285cd795f513bdaa4bdcfb2bbacd31.135) #24, !noalias !1344 unreachable -"_ZN105_$LT$regex_automata..meta..strategy..Pre$LT$P$GT$$u20$as$u20$regex_automata..meta..strategy..Strategy$GT$6search17h55c43b39b8a4a6efE.llvm.9705991524997079221.exit": ; preds = %28, %35 +"_ZN105_$LT$regex_automata..meta..strategy..Pre$LT$P$GT$$u20$as$u20$regex_automata..meta..strategy..Strategy$GT$6search17h55c43b39b8a4a6efE.llvm.9705991524997079221.exit": ; preds = %29, %"_ZN113_$LT$regex_automata..util..prefilter..byteset..ByteSet$u20$as$u20$regex_automata..util..prefilter..PrefilterI$GT$4find17hda9d299ba5e11ccbE.exit" call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %6), !noalias !1347 call void @_ZN14regex_automata4util6search10PatternSet10try_insert17h07b16fcdbf8c8494E(ptr noalias nocapture noundef nonnull sret({ i8, [23 x i8] }) align 8 dereferenceable(24) %6, ptr noalias noundef nonnull align 8 dereferenceable(24) %3, i32 noundef 0) call void @llvm.experimental.noalias.scope.decl(metadata !1350) - %42 = load i8, ptr %6, align 8, !range !544, !alias.scope !1350, !noalias !1353, !noundef !4 - %trunc.i.i = trunc nuw i8 %42 to i1 - br i1 %trunc.i.i, label %43, label %_ZN14regex_automata4util6search10PatternSet6insert17h1bd05f438df4ff41E.exit + %41 = load i8, ptr %6, align 8, !range !544, !alias.scope !1350, !noalias !1353, !noundef !4 + %trunc.i.i = trunc nuw i8 %41 to i1 + br i1 %trunc.i.i, label %42, label %_ZN14regex_automata4util6search10PatternSet6insert17h1bd05f438df4ff41E.exit -43: ; preds = %"_ZN105_$LT$regex_automata..meta..strategy..Pre$LT$P$GT$$u20$as$u20$regex_automata..meta..strategy..Strategy$GT$6search17h55c43b39b8a4a6efE.llvm.9705991524997079221.exit" +42: ; preds = %"_ZN105_$LT$regex_automata..meta..strategy..Pre$LT$P$GT$$u20$as$u20$regex_automata..meta..strategy..Strategy$GT$6search17h55c43b39b8a4a6efE.llvm.9705991524997079221.exit" call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %5), !noalias !1356 - %44 = getelementptr inbounds nuw i8, ptr %6, i64 8 - %45 = load i64, ptr %44, align 8, !alias.scope !1350, !noalias !1353, !noundef !4 - %46 = getelementptr inbounds nuw i8, ptr %6, i64 16 - %47 = load i32, ptr %46, align 8, !alias.scope !1350, !noalias !1353, !noundef !4 - store i64 %45, ptr %5, align 8, !noalias !1356 - %48 = getelementptr inbounds nuw i8, ptr %5, i64 8 - store i32 %47, ptr %48, align 8, !noalias !1356 + %43 = getelementptr inbounds nuw i8, ptr %6, i64 8 + %44 = load i64, ptr %43, align 8, !alias.scope !1350, !noalias !1353, !noundef !4 + %45 = getelementptr inbounds nuw i8, ptr %6, i64 16 + %46 = load i32, ptr %45, align 8, !alias.scope !1350, !noalias !1353, !noundef !4 + store i64 %44, ptr %5, align 8, !noalias !1356 + %47 = getelementptr inbounds nuw i8, ptr %5, i64 8 + store i32 %46, ptr %47, align 8, !noalias !1356 call void @_ZN4core6result13unwrap_failed17h03d8a5018196e1cdE(ptr noalias noundef nonnull readonly align 1 @anon.8a1b429415f23bfa071ebb028a9ce5fa.183.llvm.4452766663292099101, i64 noundef 42, ptr noundef nonnull align 1 %5, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.8a1b429415f23bfa071ebb028a9ce5fa.20.llvm.4452766663292099101, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.8a1b429415f23bfa071ebb028a9ce5fa.184.llvm.4452766663292099101) #24, !noalias !1350 unreachable @@ -6708,7 +6672,7 @@ _ZN14regex_automata4util6search10PatternSet6insert17h1bd05f438df4ff41E.exit: ; p call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %6), !noalias !1347 br label %"_ZN113_$LT$regex_automata..util..prefilter..byteset..ByteSet$u20$as$u20$regex_automata..util..prefilter..PrefilterI$GT$4find17hda9d299ba5e11ccbE.exit.thread" -"_ZN113_$LT$regex_automata..util..prefilter..byteset..ByteSet$u20$as$u20$regex_automata..util..prefilter..PrefilterI$GT$4find17hda9d299ba5e11ccbE.exit.thread": ; preds = %"_ZN106_$LT$core..ops..range..Range$LT$usize$GT$$u20$as$u20$core..slice..index..SliceIndex$LT$$u5b$T$u5d$$GT$$GT$5index17h364e2176bd393ad4E.llvm.15183607879373971598.exit.i", %28, %27, %"_ZN113_$LT$regex_automata..util..prefilter..byteset..ByteSet$u20$as$u20$regex_automata..util..prefilter..PrefilterI$GT$4find17hda9d299ba5e11ccbE.exit", %4, %_ZN14regex_automata4util6search10PatternSet6insert17h1bd05f438df4ff41E.exit +"_ZN113_$LT$regex_automata..util..prefilter..byteset..ByteSet$u20$as$u20$regex_automata..util..prefilter..PrefilterI$GT$4find17hda9d299ba5e11ccbE.exit.thread": ; preds = %"_ZN106_$LT$core..ops..range..Range$LT$usize$GT$$u20$as$u20$core..slice..index..SliceIndex$LT$$u5b$T$u5d$$GT$$GT$5index17h364e2176bd393ad4E.llvm.15183607879373971598.exit.i", %29, %28, %4, %_ZN14regex_automata4util6search10PatternSet6insert17h1bd05f438df4ff41E.exit ret void } @@ -6774,10 +6738,6 @@ _ZN6memchr6memmem6Finder4find17hbb320fa699992287E.llvm.17849184579231348327.exit %switch.i1 = icmp eq i64 %.fca.0.extract.i.i, 0 br i1 %switch.i1, label %"_ZN111_$LT$regex_automata..util..prefilter..memmem..Memmem$u20$as$u20$regex_automata..util..prefilter..PrefilterI$GT$4find17hdbb72a71a1b00f43E.exit.thread", label %"_ZN111_$LT$regex_automata..util..prefilter..memmem..Memmem$u20$as$u20$regex_automata..util..prefilter..PrefilterI$GT$4find17hdbb72a71a1b00f43E.exit" -"_ZN111_$LT$regex_automata..util..prefilter..memmem..Memmem$u20$as$u20$regex_automata..util..prefilter..PrefilterI$GT$4find17hdbb72a71a1b00f43E.exit": ; preds = %_ZN6memchr6memmem6Finder4find17hbb320fa699992287E.llvm.17849184579231348327.exit.i - %trunc.i = trunc nuw i64 %.fca.0.extract.i.i to i1 - br i1 %trunc.i, label %37, label %"_ZN111_$LT$regex_automata..util..prefilter..memmem..Memmem$u20$as$u20$regex_automata..util..prefilter..PrefilterI$GT$4find17hdbb72a71a1b00f43E.exit.thread" - 31: ; preds = %15 tail call void @llvm.experimental.noalias.scope.decl(metadata !1380) %.sroa.3.0.in.i = getelementptr inbounds nuw i8, ptr %0, i64 272 @@ -6800,65 +6760,65 @@ _ZN6memchr6memmem6Finder4find17hbb320fa699992287E.llvm.17849184579231348327.exit %35 = getelementptr inbounds i8, ptr %18, i64 %11 %bcmp.i.i.i = tail call i32 @bcmp(ptr nonnull readonly align 1 %.sroa.03.0.i, ptr nonnull readonly align 1 %35, i64 %.sroa.3.0.i), !alias.scope !1389, !noalias !1396 %36 = icmp eq i32 %bcmp.i.i.i, 0 - br i1 %36, label %45, label %"_ZN111_$LT$regex_automata..util..prefilter..memmem..Memmem$u20$as$u20$regex_automata..util..prefilter..PrefilterI$GT$4find17hdbb72a71a1b00f43E.exit.thread" + br i1 %36, label %44, label %"_ZN111_$LT$regex_automata..util..prefilter..memmem..Memmem$u20$as$u20$regex_automata..util..prefilter..PrefilterI$GT$4find17hdbb72a71a1b00f43E.exit.thread" -37: ; preds = %"_ZN111_$LT$regex_automata..util..prefilter..memmem..Memmem$u20$as$u20$regex_automata..util..prefilter..PrefilterI$GT$4find17hdbb72a71a1b00f43E.exit" +"_ZN111_$LT$regex_automata..util..prefilter..memmem..Memmem$u20$as$u20$regex_automata..util..prefilter..PrefilterI$GT$4find17hdbb72a71a1b00f43E.exit": ; preds = %_ZN6memchr6memmem6Finder4find17hbb320fa699992287E.llvm.17849184579231348327.exit.i %.fca.1.extract.i.i = extractvalue { i64, i64 } %30, 1 - %38 = add i64 %.fca.1.extract.i.i, %11 - %39 = xor i64 %38, -1 - %.not.i = icmp ugt i64 %.sroa.32.0.i.i, %39 - br i1 %.not.i, label %40, label %"_ZN105_$LT$regex_automata..meta..strategy..Pre$LT$P$GT$$u20$as$u20$regex_automata..meta..strategy..Strategy$GT$6search17ha67692877d1c7e63E.llvm.9705991524997079221.exit" + %37 = add i64 %.fca.1.extract.i.i, %11 + %38 = xor i64 %37, -1 + %.not.i = icmp ugt i64 %.sroa.32.0.i.i, %38 + br i1 %.not.i, label %39, label %"_ZN105_$LT$regex_automata..meta..strategy..Pre$LT$P$GT$$u20$as$u20$regex_automata..meta..strategy..Strategy$GT$6search17ha67692877d1c7e63E.llvm.9705991524997079221.exit" -40: ; preds = %37 +39: ; preds = %"_ZN111_$LT$regex_automata..util..prefilter..memmem..Memmem$u20$as$u20$regex_automata..util..prefilter..PrefilterI$GT$4find17hdbb72a71a1b00f43E.exit" call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %8), !noalias !1397 store ptr @anon.15285cd795f513bdaa4bdcfb2bbacd31.133, ptr %8, align 8, !noalias !1397 - %41 = getelementptr inbounds nuw i8, ptr %8, i64 8 - store i64 1, ptr %41, align 8, !noalias !1397 - %42 = getelementptr inbounds nuw i8, ptr %8, i64 32 - store ptr null, ptr %42, align 8, !noalias !1397 - %43 = getelementptr inbounds nuw i8, ptr %8, i64 16 - store ptr @anon.15285cd795f513bdaa4bdcfb2bbacd31.8, ptr %43, align 8, !noalias !1397 - %44 = getelementptr inbounds nuw i8, ptr %8, i64 24 - store i64 0, ptr %44, align 8, !noalias !1397 + %40 = getelementptr inbounds nuw i8, ptr %8, i64 8 + store i64 1, ptr %40, align 8, !noalias !1397 + %41 = getelementptr inbounds nuw i8, ptr %8, i64 32 + store ptr null, ptr %41, align 8, !noalias !1397 + %42 = getelementptr inbounds nuw i8, ptr %8, i64 16 + store ptr @anon.15285cd795f513bdaa4bdcfb2bbacd31.8, ptr %42, align 8, !noalias !1397 + %43 = getelementptr inbounds nuw i8, ptr %8, i64 24 + store i64 0, ptr %43, align 8, !noalias !1397 call void @_ZN4core9panicking9panic_fmt17h784f20a50eaab275E(ptr noalias nocapture noundef nonnull align 8 dereferenceable(48) %8, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.15285cd795f513bdaa4bdcfb2bbacd31.135) #24, !noalias !1397 unreachable -45: ; preds = %"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$11starts_with17haceeb8303f13283dE.exit.i" - %46 = xor i64 %11, -1 - %.not.i3 = icmp ugt i64 %.sroa.3.0.i, %46 - br i1 %.not.i3, label %47, label %"_ZN105_$LT$regex_automata..meta..strategy..Pre$LT$P$GT$$u20$as$u20$regex_automata..meta..strategy..Strategy$GT$6search17ha67692877d1c7e63E.llvm.9705991524997079221.exit" +44: ; preds = %"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$11starts_with17haceeb8303f13283dE.exit.i" + %45 = xor i64 %11, -1 + %.not.i3 = icmp ugt i64 %.sroa.3.0.i, %45 + br i1 %.not.i3, label %46, label %"_ZN105_$LT$regex_automata..meta..strategy..Pre$LT$P$GT$$u20$as$u20$regex_automata..meta..strategy..Strategy$GT$6search17ha67692877d1c7e63E.llvm.9705991524997079221.exit" -47: ; preds = %45 +46: ; preds = %44 call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %7), !noalias !1400 store ptr @anon.15285cd795f513bdaa4bdcfb2bbacd31.133, ptr %7, align 8, !noalias !1400 - %48 = getelementptr inbounds nuw i8, ptr %7, i64 8 - store i64 1, ptr %48, align 8, !noalias !1400 - %49 = getelementptr inbounds nuw i8, ptr %7, i64 32 - store ptr null, ptr %49, align 8, !noalias !1400 - %50 = getelementptr inbounds nuw i8, ptr %7, i64 16 - store ptr @anon.15285cd795f513bdaa4bdcfb2bbacd31.8, ptr %50, align 8, !noalias !1400 - %51 = getelementptr inbounds nuw i8, ptr %7, i64 24 - store i64 0, ptr %51, align 8, !noalias !1400 + %47 = getelementptr inbounds nuw i8, ptr %7, i64 8 + store i64 1, ptr %47, align 8, !noalias !1400 + %48 = getelementptr inbounds nuw i8, ptr %7, i64 32 + store ptr null, ptr %48, align 8, !noalias !1400 + %49 = getelementptr inbounds nuw i8, ptr %7, i64 16 + store ptr @anon.15285cd795f513bdaa4bdcfb2bbacd31.8, ptr %49, align 8, !noalias !1400 + %50 = getelementptr inbounds nuw i8, ptr %7, i64 24 + store i64 0, ptr %50, align 8, !noalias !1400 call void @_ZN4core9panicking9panic_fmt17h784f20a50eaab275E(ptr noalias nocapture noundef nonnull align 8 dereferenceable(48) %7, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.15285cd795f513bdaa4bdcfb2bbacd31.135) #24, !noalias !1400 unreachable -"_ZN105_$LT$regex_automata..meta..strategy..Pre$LT$P$GT$$u20$as$u20$regex_automata..meta..strategy..Strategy$GT$6search17ha67692877d1c7e63E.llvm.9705991524997079221.exit": ; preds = %37, %45 +"_ZN105_$LT$regex_automata..meta..strategy..Pre$LT$P$GT$$u20$as$u20$regex_automata..meta..strategy..Strategy$GT$6search17ha67692877d1c7e63E.llvm.9705991524997079221.exit": ; preds = %"_ZN111_$LT$regex_automata..util..prefilter..memmem..Memmem$u20$as$u20$regex_automata..util..prefilter..PrefilterI$GT$4find17hdbb72a71a1b00f43E.exit", %44 call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %6), !noalias !1403 call void @_ZN14regex_automata4util6search10PatternSet10try_insert17h07b16fcdbf8c8494E(ptr noalias nocapture noundef nonnull sret({ i8, [23 x i8] }) align 8 dereferenceable(24) %6, ptr noalias noundef nonnull align 8 dereferenceable(24) %3, i32 noundef 0) call void @llvm.experimental.noalias.scope.decl(metadata !1406) - %52 = load i8, ptr %6, align 8, !range !544, !alias.scope !1406, !noalias !1409, !noundef !4 - %trunc.i.i = trunc nuw i8 %52 to i1 - br i1 %trunc.i.i, label %53, label %_ZN14regex_automata4util6search10PatternSet6insert17h1bd05f438df4ff41E.exit + %51 = load i8, ptr %6, align 8, !range !544, !alias.scope !1406, !noalias !1409, !noundef !4 + %trunc.i.i = trunc nuw i8 %51 to i1 + br i1 %trunc.i.i, label %52, label %_ZN14regex_automata4util6search10PatternSet6insert17h1bd05f438df4ff41E.exit -53: ; preds = %"_ZN105_$LT$regex_automata..meta..strategy..Pre$LT$P$GT$$u20$as$u20$regex_automata..meta..strategy..Strategy$GT$6search17ha67692877d1c7e63E.llvm.9705991524997079221.exit" +52: ; preds = %"_ZN105_$LT$regex_automata..meta..strategy..Pre$LT$P$GT$$u20$as$u20$regex_automata..meta..strategy..Strategy$GT$6search17ha67692877d1c7e63E.llvm.9705991524997079221.exit" call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %5), !noalias !1412 - %54 = getelementptr inbounds nuw i8, ptr %6, i64 8 - %55 = load i64, ptr %54, align 8, !alias.scope !1406, !noalias !1409, !noundef !4 - %56 = getelementptr inbounds nuw i8, ptr %6, i64 16 - %57 = load i32, ptr %56, align 8, !alias.scope !1406, !noalias !1409, !noundef !4 - store i64 %55, ptr %5, align 8, !noalias !1412 - %58 = getelementptr inbounds nuw i8, ptr %5, i64 8 - store i32 %57, ptr %58, align 8, !noalias !1412 + %53 = getelementptr inbounds nuw i8, ptr %6, i64 8 + %54 = load i64, ptr %53, align 8, !alias.scope !1406, !noalias !1409, !noundef !4 + %55 = getelementptr inbounds nuw i8, ptr %6, i64 16 + %56 = load i32, ptr %55, align 8, !alias.scope !1406, !noalias !1409, !noundef !4 + store i64 %54, ptr %5, align 8, !noalias !1412 + %57 = getelementptr inbounds nuw i8, ptr %5, i64 8 + store i32 %56, ptr %57, align 8, !noalias !1412 call void @_ZN4core6result13unwrap_failed17h03d8a5018196e1cdE(ptr noalias noundef nonnull readonly align 1 @anon.8a1b429415f23bfa071ebb028a9ce5fa.183.llvm.4452766663292099101, i64 noundef 42, ptr noundef nonnull align 1 %5, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.8a1b429415f23bfa071ebb028a9ce5fa.20.llvm.4452766663292099101, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.8a1b429415f23bfa071ebb028a9ce5fa.184.llvm.4452766663292099101) #24, !noalias !1406 unreachable @@ -6866,7 +6826,7 @@ _ZN14regex_automata4util6search10PatternSet6insert17h1bd05f438df4ff41E.exit: ; p call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %6), !noalias !1403 br label %"_ZN111_$LT$regex_automata..util..prefilter..memmem..Memmem$u20$as$u20$regex_automata..util..prefilter..PrefilterI$GT$4find17hdbb72a71a1b00f43E.exit.thread" -"_ZN111_$LT$regex_automata..util..prefilter..memmem..Memmem$u20$as$u20$regex_automata..util..prefilter..PrefilterI$GT$4find17hdbb72a71a1b00f43E.exit.thread": ; preds = %_ZN6memchr6memmem6Finder4find17hbb320fa699992287E.llvm.17849184579231348327.exit.i, %_ZN6memchr6memmem6Finder4find17hbb320fa699992287E.llvm.17849184579231348327.exit.thread.i, %"_ZN106_$LT$core..ops..range..Range$LT$usize$GT$$u20$as$u20$core..slice..index..SliceIndex$LT$$u5b$T$u5d$$GT$$GT$5index17h364e2176bd393ad4E.llvm.17849184579231348327.exit.i2", %"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$11starts_with17haceeb8303f13283dE.exit.i", %"_ZN111_$LT$regex_automata..util..prefilter..memmem..Memmem$u20$as$u20$regex_automata..util..prefilter..PrefilterI$GT$4find17hdbb72a71a1b00f43E.exit", %4, %_ZN14regex_automata4util6search10PatternSet6insert17h1bd05f438df4ff41E.exit +"_ZN111_$LT$regex_automata..util..prefilter..memmem..Memmem$u20$as$u20$regex_automata..util..prefilter..PrefilterI$GT$4find17hdbb72a71a1b00f43E.exit.thread": ; preds = %_ZN6memchr6memmem6Finder4find17hbb320fa699992287E.llvm.17849184579231348327.exit.i, %_ZN6memchr6memmem6Finder4find17hbb320fa699992287E.llvm.17849184579231348327.exit.thread.i, %"_ZN106_$LT$core..ops..range..Range$LT$usize$GT$$u20$as$u20$core..slice..index..SliceIndex$LT$$u5b$T$u5d$$GT$$GT$5index17h364e2176bd393ad4E.llvm.17849184579231348327.exit.i2", %"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$11starts_with17haceeb8303f13283dE.exit.i", %4, %_ZN14regex_automata4util6search10PatternSet6insert17h1bd05f438df4ff41E.exit ret void } diff --git a/bench/rust-analyzer-rs/optimized/1rhf3pjhhflazor1.ll b/bench/rust-analyzer-rs/optimized/1rhf3pjhhflazor1.ll index 8694d7ec699..98c3680935d 100644 --- a/bench/rust-analyzer-rs/optimized/1rhf3pjhhflazor1.ll +++ b/bench/rust-analyzer-rs/optimized/1rhf3pjhhflazor1.ll @@ -3224,15 +3224,13 @@ define hidden void @"_ZN111_$LT$alloc..vec..Vec$LT$T$GT$$u20$as$u20$alloc..vec.. br label %48 21: ; preds = %13 - %trunc.i.i.i.i.i = trunc nuw i32 %17 to i1 %22 = extractvalue { i32, i32 } %15, 1 - %.2.i.i.i.i.i = select i1 %trunc.i.i.i.i.i, i32 %22, i32 undef %23 = tail call { i64, ptr } @"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$11allocate_in17h320ad52a1747cebbE"(i64 noundef 4, i1 noundef zeroext false) %24 = extractvalue { i64, ptr } %23, 0 %25 = extractvalue { i64, ptr } %23, 1 %26 = icmp ne ptr %25, null tail call void @llvm.assume(i1 %26) - store i32 %.2.i.i.i.i.i, ptr %25, align 4 + store i32 %22, ptr %25, align 4 store i64 %24, ptr %4, align 8 %.sroa.4.0..sroa_idx = getelementptr inbounds nuw i8, ptr %4, i64 8 store ptr %25, ptr %.sroa.4.0..sroa_idx, align 8 @@ -3277,9 +3275,7 @@ define hidden void @"_ZN111_$LT$alloc..vec..Vec$LT$T$GT$$u20$as$u20$alloc..vec.. br i1 %switch.i.i.i.i.i.i, label %32, label %40 40: ; preds = %.noexc - %trunc.i.i.i.i.i.i.i = trunc nuw i32 %39 to i1 %41 = extractvalue { i32, i32 } %37, 1 - %.2.i.i.i.i.i.i.i = select i1 %trunc.i.i.i.i.i.i.i, i32 %41, i32 undef %42 = load i64, ptr %.sroa.6.0..sroa_idx, align 8, !alias.scope !1113, !noalias !1114, !noundef !15 %43 = load i64, ptr %4, align 8, !alias.scope !1113, !noalias !1114, !noundef !15 %44 = icmp eq i64 %42, %43 @@ -3292,7 +3288,7 @@ define hidden void @"_ZN111_$LT$alloc..vec..Vec$LT$T$GT$$u20$as$u20$alloc..vec.. .noexc5: ; preds = %"_ZN5alloc3vec16Vec$LT$T$C$A$GT$7reserve17hedff0e5851a3bbf3E.llvm.14212318151792154407.exit.i.i", %40 %45 = load ptr, ptr %.sroa.4.0..sroa_idx, align 8, !alias.scope !1113, !noalias !1114, !nonnull !15, !noundef !15 %46 = getelementptr inbounds i32, ptr %45, i64 %42 - store i32 %.2.i.i.i.i.i.i.i, ptr %46, align 4 + store i32 %41, ptr %46, align 4 %47 = add i64 %42, 1 store i64 %47, ptr %.sroa.6.0..sroa_idx, align 8, !alias.scope !1113, !noalias !1114 br label %30 @@ -6169,14 +6165,12 @@ define hidden void @"_ZN111_$LT$alloc..vec..Vec$LT$T$GT$$u20$as$u20$alloc..vec.. to label %32 unwind label %28 32: ; preds = %30 - %trunc.i.i.i.i = trunc nuw i32 %14 to i1 %33 = extractvalue { i32, i32 } %13, 1 - %.2.i.i.i.i = select i1 %trunc.i.i.i.i, i32 %33, i32 undef %34 = extractvalue { i64, ptr } %31, 0 %35 = extractvalue { i64, ptr } %31, 1 %36 = icmp ne ptr %35, null call void @llvm.assume(i1 %36) - store i32 %.2.i.i.i.i, ptr %35, align 4 + store i32 %33, ptr %35, align 4 store i64 %34, ptr %5, align 8 %.sroa.4.0..sroa_idx = getelementptr inbounds nuw i8, ptr %5, i64 8 store ptr %35, ptr %.sroa.4.0..sroa_idx, align 8 @@ -6244,9 +6238,7 @@ define hidden void @"_ZN111_$LT$alloc..vec..Vec$LT$T$GT$$u20$as$u20$alloc..vec.. br label %48 59: ; preds = %.noexc4.i.i - %trunc.i.i.i.i.i.i = trunc nuw i32 %47 to i1 %60 = extractvalue { i32, i32 } %46, 1 - %.2.i.i.i.i.i.i = select i1 %trunc.i.i.i.i.i.i, i32 %60, i32 undef %61 = load i64, ptr %.sroa.6.0..sroa_idx, align 8, !alias.scope !2199, !noalias !2200, !noundef !15 %62 = load i64, ptr %5, align 8, !alias.scope !2199, !noalias !2200, !noundef !15 %63 = icmp eq i64 %61, %62 @@ -6255,7 +6247,7 @@ define hidden void @"_ZN111_$LT$alloc..vec..Vec$LT$T$GT$$u20$as$u20$alloc..vec.. "_ZN5alloc3vec16Vec$LT$T$C$A$GT$7reserve17hedff0e5851a3bbf3E.llvm.14212318151792154407.exit.i.i": ; preds = %69, %59 %64 = load ptr, ptr %.sroa.4.0..sroa_idx, align 8, !alias.scope !2199, !noalias !2200, !nonnull !15, !noundef !15 %65 = getelementptr inbounds i32, ptr %64, i64 %61 - store i32 %.2.i.i.i.i.i.i, ptr %65, align 4 + store i32 %60, ptr %65, align 4 %66 = add i64 %61, 1 store i64 %66, ptr %.sroa.6.0..sroa_idx, align 8, !alias.scope !2199, !noalias !2200 %.val.i.pre.i.i = load ptr, ptr %4, align 8, !alias.scope !2201, !noalias !2206 @@ -11981,14 +11973,12 @@ define hidden void @"_ZN111_$LT$alloc..vec..Vec$LT$T$GT$$u20$as$u20$alloc..vec.. to label %32 unwind label %28 32: ; preds = %30 - %trunc.i.i.i.i = trunc nuw i32 %14 to i1 %33 = extractvalue { i32, i32 } %13, 1 - %.2.i.i.i.i = select i1 %trunc.i.i.i.i, i32 %33, i32 undef %34 = extractvalue { i64, ptr } %31, 0 %35 = extractvalue { i64, ptr } %31, 1 %36 = icmp ne ptr %35, null call void @llvm.assume(i1 %36) - store i32 %.2.i.i.i.i, ptr %35, align 4 + store i32 %33, ptr %35, align 4 store i64 %34, ptr %5, align 8 %.sroa.4.0..sroa_idx = getelementptr inbounds nuw i8, ptr %5, i64 8 store ptr %35, ptr %.sroa.4.0..sroa_idx, align 8 @@ -12056,9 +12046,7 @@ define hidden void @"_ZN111_$LT$alloc..vec..Vec$LT$T$GT$$u20$as$u20$alloc..vec.. br label %48 59: ; preds = %.noexc4.i.i - %trunc.i.i.i.i.i.i = trunc nuw i32 %47 to i1 %60 = extractvalue { i32, i32 } %46, 1 - %.2.i.i.i.i.i.i = select i1 %trunc.i.i.i.i.i.i, i32 %60, i32 undef %61 = load i64, ptr %.sroa.6.0..sroa_idx, align 8, !alias.scope !4315, !noalias !4316, !noundef !15 %62 = load i64, ptr %5, align 8, !alias.scope !4315, !noalias !4316, !noundef !15 %63 = icmp eq i64 %61, %62 @@ -12067,7 +12055,7 @@ define hidden void @"_ZN111_$LT$alloc..vec..Vec$LT$T$GT$$u20$as$u20$alloc..vec.. "_ZN5alloc3vec16Vec$LT$T$C$A$GT$7reserve17hedff0e5851a3bbf3E.llvm.14212318151792154407.exit.i.i": ; preds = %69, %59 %64 = load ptr, ptr %.sroa.4.0..sroa_idx, align 8, !alias.scope !4315, !noalias !4316, !nonnull !15, !noundef !15 %65 = getelementptr inbounds i32, ptr %64, i64 %61 - store i32 %.2.i.i.i.i.i.i, ptr %65, align 4 + store i32 %60, ptr %65, align 4 %66 = add i64 %61, 1 store i64 %66, ptr %.sroa.6.0..sroa_idx, align 8, !alias.scope !4315, !noalias !4316 %.val.i.pre.i.i = load ptr, ptr %4, align 8, !alias.scope !4317, !noalias !4322 diff --git a/bench/rust-analyzer-rs/optimized/39qzrxn3p3f1jz7v.ll b/bench/rust-analyzer-rs/optimized/39qzrxn3p3f1jz7v.ll index 9dbd51c81ac..95361f926d8 100644 --- a/bench/rust-analyzer-rs/optimized/39qzrxn3p3f1jz7v.ll +++ b/bench/rust-analyzer-rs/optimized/39qzrxn3p3f1jz7v.ll @@ -13801,13 +13801,11 @@ common.resume: ; preds = %40, %"_ZN4core3ptr6 br i1 %58, label %"_ZN4core3ptr74drop_in_place$LT$core..option..Option$LT$rowan..cursor..SyntaxNode$GT$$GT$17h623242364afb6dabE.llvm.836043833466553463.exit", label %12 59: ; preds = %"_ZN4core4iter8adapters3map12map_try_fold28_$u7b$$u7b$closure$u7d$$u7d$17ha50a3f3f1c991c2dE.exit" - %trunc.i = trunc nuw i32 %56 to i1 %60 = extractvalue { i32, i32 } %55, 1 - %.2.i = select i1 %trunc.i, i32 %60, i32 undef br label %"_ZN4core3ptr74drop_in_place$LT$core..option..Option$LT$rowan..cursor..SyntaxNode$GT$$GT$17h623242364afb6dabE.llvm.836043833466553463.exit" "_ZN4core3ptr74drop_in_place$LT$core..option..Option$LT$rowan..cursor..SyntaxNode$GT$$GT$17h623242364afb6dabE.llvm.836043833466553463.exit": ; preds = %"_ZN4core4iter8adapters3map12map_try_fold28_$u7b$$u7b$closure$u7d$$u7d$17ha50a3f3f1c991c2dE.exit.thread", %2, %59 - %.sroa.3.0 = phi i32 [ %.2.i, %59 ], [ undef, %2 ], [ undef, %"_ZN4core4iter8adapters3map12map_try_fold28_$u7b$$u7b$closure$u7d$$u7d$17ha50a3f3f1c991c2dE.exit.thread" ] + %.sroa.3.0 = phi i32 [ %60, %59 ], [ undef, %2 ], [ undef, %"_ZN4core4iter8adapters3map12map_try_fold28_$u7b$$u7b$closure$u7d$$u7d$17ha50a3f3f1c991c2dE.exit.thread" ] %.sroa.0.0 = phi i32 [ 1, %59 ], [ 0, %2 ], [ 0, %"_ZN4core4iter8adapters3map12map_try_fold28_$u7b$$u7b$closure$u7d$$u7d$17ha50a3f3f1c991c2dE.exit.thread" ] %61 = insertvalue { i32, i32 } poison, i32 %.sroa.0.0, 0 %62 = insertvalue { i32, i32 } %61, i32 %.sroa.3.0, 1 diff --git a/bench/rust-analyzer-rs/optimized/kcxpblerbqo90m6.ll b/bench/rust-analyzer-rs/optimized/kcxpblerbqo90m6.ll index eed7fbf74cf..c4256ed1b28 100644 --- a/bench/rust-analyzer-rs/optimized/kcxpblerbqo90m6.ll +++ b/bench/rust-analyzer-rs/optimized/kcxpblerbqo90m6.ll @@ -30633,7 +30633,7 @@ define hidden void @_ZN3ide19syntax_highlighting6inject11doc_comment17h62ac5942d ret void 71: ; preds = %.body202, %152, %76 - %.pn494 = phi { ptr, i32 } [ %77, %76 ], [ %.pn162, %.body202 ], [ %.pn, %152 ] + %.pn493 = phi { ptr, i32 } [ %77, %76 ], [ %.pn162, %.body202 ], [ %.pn, %152 ] %72 = getelementptr inbounds nuw i8, ptr %62, i64 16 %73 = load ptr, ptr %72, align 8, !alias.scope !5457, !noundef !9 %74 = icmp eq ptr %73, null @@ -30867,7 +30867,7 @@ define hidden void @_ZN3ide19syntax_highlighting6inject11doc_comment17h62ac5942d i8 11, label %141 i8 12, label %"_ZN4core4iter6traits8iterator8Iterator8for_each4call28_$u7b$$u7b$closure$u7d$$u7d$17h1582fbffba28d98aE.exit.i.i" i8 13, label %142 - i8 14, label %switch.lookup1276 + i8 14, label %switch.lookup1275 i8 15, label %143 i8 16, label %144 i8 17, label %145 @@ -30932,13 +30932,13 @@ switch.lookup: ; preds = %132 %switch.load = load i64, ptr %switch.gep, align 8 br label %"_ZN4core4iter6traits8iterator8Iterator8for_each4call28_$u7b$$u7b$closure$u7d$$u7d$17h1582fbffba28d98aE.exit.i.i" -switch.lookup1276: ; preds = %132 - %switch.gep1277 = getelementptr inbounds [3 x i64], ptr @switch.table._ZN3ide19syntax_highlighting6inject11doc_comment17h62ac5942dcd3de7cE.165, i64 0, i64 %.sroa.8.sroa.4.0.i.i - %switch.load1278 = load i64, ptr %switch.gep1277, align 8 +switch.lookup1275: ; preds = %132 + %switch.gep1276 = getelementptr inbounds [3 x i64], ptr @switch.table._ZN3ide19syntax_highlighting6inject11doc_comment17h62ac5942dcd3de7cE.165, i64 0, i64 %.sroa.8.sroa.4.0.i.i + %switch.load1277 = load i64, ptr %switch.gep1276, align 8 br label %"_ZN4core4iter6traits8iterator8Iterator8for_each4call28_$u7b$$u7b$closure$u7d$$u7d$17h1582fbffba28d98aE.exit.i.i" -"_ZN4core4iter6traits8iterator8Iterator8for_each4call28_$u7b$$u7b$closure$u7d$$u7d$17h1582fbffba28d98aE.exit.i.i": ; preds = %switch.lookup1276, %switch.lookup, %148, %147, %146, %145, %144, %143, %142, %141, %140, %139, %138, %137, %136, %135, %134, %133, %132 - %.sroa.2.0.insert.insert.i.i.i.i.i.i = phi i64 [ 12884909056, %132 ], [ 23089744190464, %147 ], [ 1099511634944, %146 ], [ 5497558146048, %145 ], [ 12094627912704, %144 ], [ 14293651168256, %143 ], [ 10995116284928, %142 ], [ 26388279073792, %141 ], [ 25288767446016, %140 ], [ 24189255818240, %139 ], [ 20890720934912, %138 ], [ 2199023262720, %137 ], [ 30786325584896, %136 ], [ 8796093029376, %135 ], [ 17592186051584, %134 ], [ 7696581401600, %133 ], [ 15393162796032, %148 ], [ %switch.load, %switch.lookup ], [ %switch.load1278, %switch.lookup1276 ] +"_ZN4core4iter6traits8iterator8Iterator8for_each4call28_$u7b$$u7b$closure$u7d$$u7d$17h1582fbffba28d98aE.exit.i.i": ; preds = %switch.lookup1275, %switch.lookup, %148, %147, %146, %145, %144, %143, %142, %141, %140, %139, %138, %137, %136, %135, %134, %133, %132 + %.sroa.2.0.insert.insert.i.i.i.i.i.i = phi i64 [ 12884909056, %132 ], [ 23089744190464, %147 ], [ 1099511634944, %146 ], [ 5497558146048, %145 ], [ 12094627912704, %144 ], [ 14293651168256, %143 ], [ 10995116284928, %142 ], [ 26388279073792, %141 ], [ 25288767446016, %140 ], [ 24189255818240, %139 ], [ 20890720934912, %138 ], [ 2199023262720, %137 ], [ 30786325584896, %136 ], [ 8796093029376, %135 ], [ 17592186051584, %134 ], [ 7696581401600, %133 ], [ 15393162796032, %148 ], [ %switch.load, %switch.lookup ], [ %switch.load1277, %switch.lookup1275 ] store i32 %.sroa.0.0.i.i, ptr %102, align 8, !noalias !5529 store i32 %.sroa.4.0.i.i, ptr %103, align 4, !noalias !5529 store i64 %.sroa.2.0.insert.insert.i.i.i.i.i.i, ptr %104, align 8, !noalias !5529 @@ -30956,8 +30956,8 @@ switch.lookup1276: ; preds = %132 br i1 %149, label %.loopexit.i.loopexit, label %"_ZN103_$LT$alloc..vec..into_iter..IntoIter$LT$T$C$A$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h05316da7f0fbc734E.exit.i" .loopexit.i.loopexit: ; preds = %"_ZN103_$LT$alloc..vec..into_iter..IntoIter$LT$T$C$A$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h05316da7f0fbc734E.exit.i", %"_ZN4core4iter8adapters10filter_map15filter_map_fold28_$u7b$$u7b$closure$u7d$$u7d$17h308894f677093e7dE.exit.i" - %.lcssa873 = phi ptr [ %108, %"_ZN103_$LT$alloc..vec..into_iter..IntoIter$LT$T$C$A$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h05316da7f0fbc734E.exit.i" ], [ %91, %"_ZN4core4iter8adapters10filter_map15filter_map_fold28_$u7b$$u7b$closure$u7d$$u7d$17h308894f677093e7dE.exit.i" ] - store ptr %.lcssa873, ptr %93, align 8, !alias.scope !5485, !noalias !5488 + %.lcssa872 = phi ptr [ %108, %"_ZN103_$LT$alloc..vec..into_iter..IntoIter$LT$T$C$A$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h05316da7f0fbc734E.exit.i" ], [ %91, %"_ZN4core4iter8adapters10filter_map15filter_map_fold28_$u7b$$u7b$closure$u7d$$u7d$17h308894f677093e7dE.exit.i" ] + store ptr %.lcssa872, ptr %93, align 8, !alias.scope !5485, !noalias !5488 br label %.loopexit.i .loopexit.i: ; preds = %.loopexit.i.loopexit, %90 @@ -31054,59 +31054,59 @@ _ZN3ide19syntax_highlighting8injector8Injector12add_unmapped17hf33a392297098406E call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %52) call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %50) %172 = invoke noundef align 8 dereferenceable(8) ptr @"_ZN73_$LT$hir_def..attr..AttrsWithOwner$u20$as$u20$core..ops..deref..Deref$GT$5deref17hca5e7b2ba734592cE"(ptr noalias noundef nonnull readonly align 8 dereferenceable(24) %62) - to label %174 unwind label %.loopexit.split-lp509.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp + to label %174 unwind label %.loopexit.split-lp508.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp -.body261: ; preds = %.loopexit503, %.loopexit.split-lp504.loopexit.split-lp, %.loopexit.split-lp504.loopexit, %.loopexit.split-lp509.loopexit.split-lp.loopexit, %.loopexit.split-lp509.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp, %.loopexit.split-lp509.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.loopexit.split-lp, %.loopexit.split-lp509.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.loopexit, %.loopexit.split-lp509.loopexit.split-lp.loopexit.split-lp.loopexit, %.loopexit.split-lp509.loopexit, %400, %406, %413, %.body213 - %.1126 = phi i8 [ %.2127.ph, %.body213 ], [ %.2127.ph, %413 ], [ %.2127.ph, %406 ], [ %.2127.ph, %400 ], [ %.3128, %.loopexit.split-lp509.loopexit ], [ %.3128, %.loopexit.split-lp509.loopexit.split-lp.loopexit ], [ %.2127.ph, %.loopexit.split-lp509.loopexit.split-lp.loopexit.split-lp.loopexit ], [ %.0125.ph.ph.ph.ph.ph528, %.loopexit.split-lp509.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp ], [ %.2127.ph, %.loopexit.split-lp509.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.loopexit ], [ %.0125.ph.ph.ph.ph.ph.ph, %.loopexit.split-lp509.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.loopexit.split-lp ], [ %.3128, %.loopexit503 ], [ %.3128, %.loopexit.split-lp504.loopexit ], [ %.3128, %.loopexit.split-lp504.loopexit.split-lp ] - %.1120 = phi i1 [ %.5, %.body213 ], [ true, %413 ], [ true, %406 ], [ true, %400 ], [ true, %.loopexit.split-lp509.loopexit ], [ true, %.loopexit.split-lp509.loopexit.split-lp.loopexit ], [ true, %.loopexit.split-lp509.loopexit.split-lp.loopexit.split-lp.loopexit ], [ %.0119.ph.ph.ph.ph.ph, %.loopexit.split-lp509.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp ], [ true, %.loopexit.split-lp509.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.loopexit ], [ true, %.loopexit.split-lp509.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.loopexit.split-lp ], [ true, %.loopexit503 ], [ true, %.loopexit.split-lp504.loopexit ], [ true, %.loopexit.split-lp504.loopexit.split-lp ] - %.pn155.pn = phi { ptr, i32 } [ %.pn155, %.body213 ], [ %407, %413 ], [ %407, %406 ], [ %401, %400 ], [ %lpad.loopexit513, %.loopexit.split-lp509.loopexit ], [ %lpad.loopexit521, %.loopexit.split-lp509.loopexit.split-lp.loopexit ], [ %lpad.loopexit525, %.loopexit.split-lp509.loopexit.split-lp.loopexit.split-lp.loopexit ], [ %lpad.loopexit.split-lp530, %.loopexit.split-lp509.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp ], [ %lpad.loopexit532, %.loopexit.split-lp509.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.loopexit ], [ %lpad.loopexit.split-lp533, %.loopexit.split-lp509.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.loopexit.split-lp ], [ %lpad.loopexit505, %.loopexit503 ], [ %lpad.loopexit518, %.loopexit.split-lp504.loopexit ], [ %lpad.loopexit.split-lp519, %.loopexit.split-lp504.loopexit.split-lp ] +.body261: ; preds = %.loopexit502, %.loopexit.split-lp503.loopexit.split-lp, %.loopexit.split-lp503.loopexit, %.loopexit.split-lp508.loopexit.split-lp.loopexit, %.loopexit.split-lp508.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp, %.loopexit.split-lp508.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.loopexit.split-lp, %.loopexit.split-lp508.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.loopexit, %.loopexit.split-lp508.loopexit.split-lp.loopexit.split-lp.loopexit, %.loopexit.split-lp508.loopexit, %400, %406, %413, %.body213 + %.1126 = phi i8 [ %.2127.ph, %.body213 ], [ %.2127.ph, %413 ], [ %.2127.ph, %406 ], [ %.2127.ph, %400 ], [ %.3128, %.loopexit.split-lp508.loopexit ], [ %.3128, %.loopexit.split-lp508.loopexit.split-lp.loopexit ], [ %.2127.ph, %.loopexit.split-lp508.loopexit.split-lp.loopexit.split-lp.loopexit ], [ %.0125.ph.ph.ph.ph.ph527, %.loopexit.split-lp508.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp ], [ %.2127.ph, %.loopexit.split-lp508.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.loopexit ], [ %.0125.ph.ph.ph.ph.ph.ph, %.loopexit.split-lp508.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.loopexit.split-lp ], [ %.3128, %.loopexit502 ], [ %.3128, %.loopexit.split-lp503.loopexit ], [ %.3128, %.loopexit.split-lp503.loopexit.split-lp ] + %.1120 = phi i1 [ %.5, %.body213 ], [ true, %413 ], [ true, %406 ], [ true, %400 ], [ true, %.loopexit.split-lp508.loopexit ], [ true, %.loopexit.split-lp508.loopexit.split-lp.loopexit ], [ true, %.loopexit.split-lp508.loopexit.split-lp.loopexit.split-lp.loopexit ], [ %.0119.ph.ph.ph.ph.ph, %.loopexit.split-lp508.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp ], [ true, %.loopexit.split-lp508.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.loopexit ], [ true, %.loopexit.split-lp508.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.loopexit.split-lp ], [ true, %.loopexit502 ], [ true, %.loopexit.split-lp503.loopexit ], [ true, %.loopexit.split-lp503.loopexit.split-lp ] + %.pn155.pn = phi { ptr, i32 } [ %.pn155, %.body213 ], [ %407, %413 ], [ %407, %406 ], [ %401, %400 ], [ %lpad.loopexit512, %.loopexit.split-lp508.loopexit ], [ %lpad.loopexit520, %.loopexit.split-lp508.loopexit.split-lp.loopexit ], [ %lpad.loopexit524, %.loopexit.split-lp508.loopexit.split-lp.loopexit.split-lp.loopexit ], [ %lpad.loopexit.split-lp529, %.loopexit.split-lp508.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp ], [ %lpad.loopexit531, %.loopexit.split-lp508.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.loopexit ], [ %lpad.loopexit.split-lp532, %.loopexit.split-lp508.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.loopexit.split-lp ], [ %lpad.loopexit504, %.loopexit502 ], [ %lpad.loopexit517, %.loopexit.split-lp503.loopexit ], [ %lpad.loopexit.split-lp518, %.loopexit.split-lp503.loopexit.split-lp ] %173 = trunc nuw i8 %.1126 to i1 - br i1 %173, label %.body261._crit_edge, label %"_ZN4core3ptr59drop_in_place$LT$syntax..ast..generated..tokens..String$GT$17ha3047d0179cfd9d3E.exit335" + br i1 %173, label %.body261._crit_edge, label %"_ZN4core3ptr59drop_in_place$LT$syntax..ast..generated..tokens..String$GT$17ha3047d0179cfd9d3E.exit334" .body261._crit_edge: ; preds = %.body261 - %.pre892 = load ptr, ptr %52, align 8, !alias.scope !5534 + %.pre891 = load ptr, ptr %52, align 8, !alias.scope !5534 br label %777 -.loopexit.split-lp509.loopexit: ; preds = %606 - %lpad.loopexit513 = landingpad { ptr, i32 } +.loopexit.split-lp508.loopexit: ; preds = %606 + %lpad.loopexit512 = landingpad { ptr, i32 } cleanup br label %.body261 -.loopexit.split-lp509.loopexit.split-lp.loopexit: ; preds = %734, %770, %771 - %lpad.loopexit521 = landingpad { ptr, i32 } +.loopexit.split-lp508.loopexit.split-lp.loopexit: ; preds = %734, %770, %771 + %lpad.loopexit520 = landingpad { ptr, i32 } cleanup br label %.body261 -.loopexit.split-lp509.loopexit.split-lp.loopexit.split-lp.loopexit: ; preds = %.noexc194, %192 - %lpad.loopexit525 = landingpad { ptr, i32 } +.loopexit.split-lp508.loopexit.split-lp.loopexit.split-lp.loopexit: ; preds = %.noexc194, %192 + %lpad.loopexit524 = landingpad { ptr, i32 } cleanup br label %.body261 -.loopexit.split-lp509.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.loopexit: ; preds = %"_ZN4core3ptr61drop_in_place$LT$syntax..ast..generated..nodes..YieldExpr$GT$17h76c170ce43ff7a74E.exit.sink.split.i30.i", %459, %.thread40.i, %_ZN5rowan6cursor8NodeData6inc_rc17h79dd31861126988eE.llvm.2274688034147933536.exit.i.i, %389, %385, %381, %"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4find17h3c382688e7ed2c34E.exit" - %lpad.loopexit532 = landingpad { ptr, i32 } +.loopexit.split-lp508.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.loopexit: ; preds = %"_ZN4core3ptr61drop_in_place$LT$syntax..ast..generated..nodes..YieldExpr$GT$17h76c170ce43ff7a74E.exit.sink.split.i30.i", %459, %.thread40.i, %_ZN5rowan6cursor8NodeData6inc_rc17h79dd31861126988eE.llvm.2274688034147933536.exit.i.i, %389, %385, %381, %"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4find17h3c382688e7ed2c34E.exit" + %lpad.loopexit531 = landingpad { ptr, i32 } cleanup br label %.body261 -.loopexit.split-lp509.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.loopexit.split-lp: ; preds = %560, %555, %502, %497, %567, %544, %511, %487, %"_ZN4core3ptr59drop_in_place$LT$syntax..ast..generated..tokens..String$GT$17ha3047d0179cfd9d3E.exit265", %466 +.loopexit.split-lp508.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.loopexit.split-lp: ; preds = %560, %555, %502, %497, %567, %544, %511, %487, %"_ZN4core3ptr59drop_in_place$LT$syntax..ast..generated..tokens..String$GT$17ha3047d0179cfd9d3E.exit265", %466 %.0125.ph.ph.ph.ph.ph.ph = phi i8 [ %.2127.ph, %567 ], [ %.2127.ph, %544 ], [ %.2127.ph, %466 ], [ 1, %511 ], [ 1, %487 ], [ 1, %"_ZN4core3ptr59drop_in_place$LT$syntax..ast..generated..tokens..String$GT$17ha3047d0179cfd9d3E.exit265" ], [ 1, %497 ], [ 1, %502 ], [ %.2127.ph, %555 ], [ %.2127.ph, %560 ] - %lpad.loopexit.split-lp533 = landingpad { ptr, i32 } + %lpad.loopexit.split-lp532 = landingpad { ptr, i32 } cleanup br label %.body261 -.loopexit.split-lp509.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp: ; preds = %.invoke1281, %.invoke1279, %.thread475.invoke, %.invoke, %169, %174, %175, %250, %518, %585, %761, %204, %334, %.noexc.i253, %507, %510, %539, %764, %769 - %.0125.ph.ph.ph.ph.ph528 = phi i8 [ %.3128, %769 ], [ %.3128, %764 ], [ 1, %539 ], [ 1, %510 ], [ 1, %507 ], [ %.2127.ph, %.noexc.i253 ], [ %.2127.ph, %334 ], [ %.2127.ph, %204 ], [ 0, %169 ], [ 0, %174 ], [ 0, %175 ], [ 1, %518 ], [ %.3128, %761 ], [ %.2127.ph, %585 ], [ %.2127.ph, %250 ], [ %.2127.ph, %.invoke ], [ %.3128, %.thread475.invoke ], [ %.3128, %.invoke1279 ], [ %.2127.ph, %.invoke1281 ] - %.0119.ph.ph.ph.ph.ph = phi i1 [ true, %769 ], [ true, %764 ], [ true, %539 ], [ true, %510 ], [ true, %507 ], [ true, %.noexc.i253 ], [ false, %334 ], [ true, %204 ], [ true, %169 ], [ true, %174 ], [ true, %175 ], [ true, %518 ], [ true, %761 ], [ true, %585 ], [ true, %250 ], [ true, %.invoke ], [ true, %.thread475.invoke ], [ true, %.invoke1279 ], [ true, %.invoke1281 ] - %lpad.loopexit.split-lp530 = landingpad { ptr, i32 } +.loopexit.split-lp508.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp: ; preds = %.invoke1280, %.invoke1278, %.thread474.invoke, %.invoke, %169, %174, %175, %250, %518, %585, %761, %204, %334, %.noexc.i253, %507, %510, %539, %764, %769 + %.0125.ph.ph.ph.ph.ph527 = phi i8 [ %.3128, %769 ], [ %.3128, %764 ], [ 1, %539 ], [ 1, %510 ], [ 1, %507 ], [ %.2127.ph, %.noexc.i253 ], [ %.2127.ph, %334 ], [ %.2127.ph, %204 ], [ 0, %169 ], [ 0, %174 ], [ 0, %175 ], [ 1, %518 ], [ %.3128, %761 ], [ %.2127.ph, %585 ], [ %.2127.ph, %250 ], [ %.2127.ph, %.invoke ], [ %.3128, %.thread474.invoke ], [ %.3128, %.invoke1278 ], [ %.2127.ph, %.invoke1280 ] + %.0119.ph.ph.ph.ph.ph = phi i1 [ true, %769 ], [ true, %764 ], [ true, %539 ], [ true, %510 ], [ true, %507 ], [ true, %.noexc.i253 ], [ false, %334 ], [ true, %204 ], [ true, %169 ], [ true, %174 ], [ true, %175 ], [ true, %518 ], [ true, %761 ], [ true, %585 ], [ true, %250 ], [ true, %.invoke ], [ true, %.thread474.invoke ], [ true, %.invoke1278 ], [ true, %.invoke1280 ] + %lpad.loopexit.split-lp529 = landingpad { ptr, i32 } cleanup br label %.body261 174: ; preds = %169 invoke void @_ZN7hir_def4attr5Attrs6by_key17h22accb8a4caf9a1cE(ptr noalias nocapture noundef nonnull sret({ ptr, { ptr, i64 } }) align 8 dereferenceable(24) %50, ptr noalias noundef nonnull readonly align 8 dereferenceable(8) %172, ptr noalias noundef nonnull readonly align 1 @anon.51bed9337ee0b8104f33ac59a1bbbf07.251, i64 noundef 3) - to label %175 unwind label %.loopexit.split-lp509.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp + to label %175 unwind label %.loopexit.split-lp508.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp 175: ; preds = %174 invoke void @_ZN7hir_def4attr9AttrQuery5attrs17hf03bc5d9de18ada3E(ptr noalias nocapture noundef nonnull sret({ { ptr, ptr, {} }, { { ptr, i64 } } }) align 8 dereferenceable(32) %51, ptr noalias nocapture noundef nonnull align 8 dereferenceable(24) %50) - to label %176 unwind label %.loopexit.split-lp509.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp + to label %176 unwind label %.loopexit.split-lp508.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp 176: ; preds = %175 call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %50) @@ -31128,10 +31128,10 @@ _ZN3ide19syntax_highlighting8injector8Injector12add_unmapped17hf33a392297098406E %187 = getelementptr inbounds nuw i8, ptr %11, i64 8 br label %.outer -.outer: ; preds = %_ZN3ide19syntax_highlighting8injector8Injector12add_unmapped17hf33a392297098406E.exit333, %176 - %.0131.ph = phi i1 [ false, %176 ], [ %.1132.ph, %_ZN3ide19syntax_highlighting8injector8Injector12add_unmapped17hf33a392297098406E.exit333 ] - %.2127.ph = phi i8 [ 0, %176 ], [ %.3128, %_ZN3ide19syntax_highlighting8injector8Injector12add_unmapped17hf33a392297098406E.exit333 ] - %.0.ph = phi i1 [ false, %176 ], [ %.1.ph, %_ZN3ide19syntax_highlighting8injector8Injector12add_unmapped17hf33a392297098406E.exit333 ] +.outer: ; preds = %_ZN3ide19syntax_highlighting8injector8Injector12add_unmapped17hf33a392297098406E.exit332, %176 + %.0131.ph = phi i1 [ false, %176 ], [ %.1132.ph, %_ZN3ide19syntax_highlighting8injector8Injector12add_unmapped17hf33a392297098406E.exit332 ] + %.2127.ph = phi i8 [ 0, %176 ], [ %.3128, %_ZN3ide19syntax_highlighting8injector8Injector12add_unmapped17hf33a392297098406E.exit332 ] + %.0.ph = phi i1 [ false, %176 ], [ %.1.ph, %_ZN3ide19syntax_highlighting8injector8Injector12add_unmapped17hf33a392297098406E.exit332 ] br label %_ZN3ide19syntax_highlighting6inject23find_doc_string_in_attr17h8e3674f25ed2ea6dE.exit.thread _ZN3ide19syntax_highlighting6inject23find_doc_string_in_attr17h8e3674f25ed2ea6dE.exit.thread: ; preds = %_ZN3ide19syntax_highlighting6inject23find_doc_string_in_attr17h8e3674f25ed2ea6dE.exit.thread.backedge, %.outer @@ -31151,11 +31151,11 @@ _ZN3ide19syntax_highlighting6inject23find_doc_string_in_attr17h8e3674f25ed2ea6dE %194 = load ptr, ptr %190, align 8, !noalias !5551, !nonnull !9, !noundef !9 %195 = getelementptr inbounds nuw i8, ptr %194, i64 8 %196 = invoke noundef align 8 dereferenceable_or_null(24) ptr @_ZN10hir_expand8mod_path7ModPath8as_ident17h5a7bb0bd97c1fe7bE(ptr noalias noundef nonnull readonly align 8 dereferenceable(40) %195) - to label %.noexc194 unwind label %.loopexit.split-lp509.loopexit.split-lp.loopexit.split-lp.loopexit + to label %.noexc194 unwind label %.loopexit.split-lp508.loopexit.split-lp.loopexit.split-lp.loopexit .noexc194: ; preds = %192 %197 = invoke noundef zeroext i1 @"_ZN4core6option15Option$LT$T$GT$6map_or17h976f0504a22b7e62E.llvm.14766145776867520687"(ptr noalias noundef readonly align 8 dereferenceable_or_null(24) %196, i1 noundef zeroext false, ptr noalias noundef nonnull readonly align 8 dereferenceable(16) %177) - to label %.noexc195 unwind label %.loopexit.split-lp509.loopexit.split-lp.loopexit.split-lp.loopexit + to label %.noexc195 unwind label %.loopexit.split-lp508.loopexit.split-lp.loopexit.split-lp.loopexit .noexc195: ; preds = %.noexc194 br i1 %197, label %"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4find17h3c382688e7ed2c34E.exit", label %189 @@ -31168,7 +31168,7 @@ _ZN3ide19syntax_highlighting6inject23find_doc_string_in_attr17h8e3674f25ed2ea6dE "_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4find17h3c382688e7ed2c34E.exit": ; preds = %.noexc195 %201 = invoke { ptr, i32 } @_ZN7hir_def4attr13AttrSourceMap9source_of17h6b1e0309527fafa0E(ptr noalias noundef nonnull readonly align 8 dereferenceable(56) %54, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) %190) - to label %375 unwind label %.loopexit.split-lp509.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.loopexit + to label %375 unwind label %.loopexit.split-lp508.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.loopexit 202: ; preds = %198 %203 = trunc nuw i8 %.2127.ph to i1 @@ -31176,7 +31176,7 @@ _ZN3ide19syntax_highlighting6inject23find_doc_string_in_attr17h8e3674f25ed2ea6dE 204: ; preds = %198 invoke fastcc void @_ZN3ide19syntax_highlighting8injector8Injector8add_impl17h22f2faa1bc2cb848E(ptr noalias noundef nonnull align 8 dereferenceable(48) %55, ptr noalias noundef nonnull readonly align 1 @anon.51bed9337ee0b8104f33ac59a1bbbf07.252, i64 noundef 2, i32 noundef 0, i32 undef) - to label %250 unwind label %.loopexit.split-lp509.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp + to label %250 unwind label %.loopexit.split-lp508.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp "_ZN4core3ptr59drop_in_place$LT$syntax..ast..generated..tokens..String$GT$17ha3047d0179cfd9d3E.exit": ; preds = %213, %219, %202 call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %52) @@ -31216,16 +31216,16 @@ _ZN3ide19syntax_highlighting6inject23find_doc_string_in_attr17h8e3674f25ed2ea6dE 219: ; preds = %213 invoke void @_ZN5rowan6cursor4free17ha2e1b2c8c83f79d6E(ptr noundef nonnull %214) - to label %"_ZN4core3ptr59drop_in_place$LT$syntax..ast..generated..tokens..String$GT$17ha3047d0179cfd9d3E.exit" unwind label %.thread900 + to label %"_ZN4core3ptr59drop_in_place$LT$syntax..ast..generated..tokens..String$GT$17ha3047d0179cfd9d3E.exit" unwind label %.thread899 -.thread900: ; preds = %219 +.thread899: ; preds = %219 %220 = landingpad { ptr, i32 } cleanup br label %784 -"_ZN4core3ptr59drop_in_place$LT$syntax..ast..generated..tokens..String$GT$17ha3047d0179cfd9d3E.exit335": ; preds = %777, %783, %.body261 - %.2121 = phi i1 [ %.1120, %.body261 ], [ %.1120396, %783 ], [ %.1120396, %777 ] - %.pn158 = phi { ptr, i32 } [ %.pn155.pn, %.body261 ], [ %.pn155.pn397, %783 ], [ %.pn155.pn397, %777 ] +"_ZN4core3ptr59drop_in_place$LT$syntax..ast..generated..tokens..String$GT$17ha3047d0179cfd9d3E.exit334": ; preds = %777, %783, %.body261 + %.2121 = phi i1 [ %.1120, %.body261 ], [ %.1120395, %783 ], [ %.1120395, %777 ] + %.pn158 = phi { ptr, i32 } [ %.pn155.pn, %.body261 ], [ %.pn155.pn396, %783 ], [ %.pn155.pn396, %777 ] br i1 %.2121, label %784, label %223 221: ; preds = %359 @@ -31233,8 +31233,8 @@ _ZN3ide19syntax_highlighting6inject23find_doc_string_in_attr17h8e3674f25ed2ea6dE cleanup br label %223 -223: ; preds = %221, %784, %224, %"_ZN4core3ptr59drop_in_place$LT$syntax..ast..generated..tokens..String$GT$17ha3047d0179cfd9d3E.exit335" - %.pn160 = phi { ptr, i32 } [ %225, %224 ], [ %.pn158899, %784 ], [ %.pn158, %"_ZN4core3ptr59drop_in_place$LT$syntax..ast..generated..tokens..String$GT$17ha3047d0179cfd9d3E.exit335" ], [ %222, %221 ] +223: ; preds = %221, %784, %224, %"_ZN4core3ptr59drop_in_place$LT$syntax..ast..generated..tokens..String$GT$17ha3047d0179cfd9d3E.exit334" + %.pn160 = phi { ptr, i32 } [ %225, %224 ], [ %.pn158898, %784 ], [ %.pn158, %"_ZN4core3ptr59drop_in_place$LT$syntax..ast..generated..tokens..String$GT$17ha3047d0179cfd9d3E.exit334" ], [ %222, %221 ] invoke void @"_ZN4core3ptr49drop_in_place$LT$hir_def..attr..AttrSourceMap$GT$17h43906501af9bbec0E"(ptr noalias noundef nonnull align 8 dereferenceable(56) %54) #49 to label %.body202 unwind label %164 @@ -31321,7 +31321,7 @@ _ZN3ide19syntax_highlighting6inject23find_doc_string_in_attr17h8e3674f25ed2ea6dE store ptr inttoptr (i64 1 to ptr), ptr %.sroa.092.sroa.4.0..sroa_idx, align 8, !alias.scope !5607, !noalias !5602 store i64 0, ptr %.sroa.092.sroa.5.0..sroa_idx, align 8, !alias.scope !5607, !noalias !5602 invoke void @_ZN3ide8Analysis16from_single_file17h4eed3024fd316a23E(ptr noalias nocapture noundef nonnull sret({ { { { { { ptr, { ptr, ptr, { { i64, { { i64, [2 x i64] } } } }, i32, [1 x i32] } } } } } }, i32, [1 x i32] }) align 8 dereferenceable(72) %44, ptr noalias nocapture noundef nonnull align 8 dereferenceable(24) %43) - to label %251 unwind label %.loopexit.split-lp509.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp + to label %251 unwind label %.loopexit.split-lp508.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp 251: ; preds = %250 call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %43) @@ -31338,16 +31338,16 @@ _ZN3ide19syntax_highlighting6inject23find_doc_string_in_attr17h8e3674f25ed2ea6dE %257 = getelementptr inbounds nuw i8, ptr %63, i64 6 call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %25), !noalias !5608 store ptr %254, ptr %25, align 8, !noalias !5615 - %.sroa.4381.0..sroa_idx = getelementptr inbounds nuw i8, ptr %25, i64 8 - store ptr %255, ptr %.sroa.4381.0..sroa_idx, align 8, !noalias !5615 - %.sroa.5382.0..sroa_idx = getelementptr inbounds nuw i8, ptr %25, i64 16 - store ptr %256, ptr %.sroa.5382.0..sroa_idx, align 8, !noalias !5615 - %.sroa.6383.0..sroa_idx = getelementptr inbounds nuw i8, ptr %25, i64 24 - store ptr %257, ptr %.sroa.6383.0..sroa_idx, align 8, !noalias !5615 - %.sroa.7384.0..sroa_idx = getelementptr inbounds nuw i8, ptr %25, i64 32 - store ptr %45, ptr %.sroa.7384.0..sroa_idx, align 8, !noalias !5615 - %.sroa.8385.0..sroa_idx = getelementptr inbounds nuw i8, ptr %25, i64 40 - store ptr %46, ptr %.sroa.8385.0..sroa_idx, align 8, !noalias !5615 + %.sroa.4380.0..sroa_idx = getelementptr inbounds nuw i8, ptr %25, i64 8 + store ptr %255, ptr %.sroa.4380.0..sroa_idx, align 8, !noalias !5615 + %.sroa.5381.0..sroa_idx = getelementptr inbounds nuw i8, ptr %25, i64 16 + store ptr %256, ptr %.sroa.5381.0..sroa_idx, align 8, !noalias !5615 + %.sroa.6382.0..sroa_idx = getelementptr inbounds nuw i8, ptr %25, i64 24 + store ptr %257, ptr %.sroa.6382.0..sroa_idx, align 8, !noalias !5615 + %.sroa.7383.0..sroa_idx = getelementptr inbounds nuw i8, ptr %25, i64 32 + store ptr %45, ptr %.sroa.7383.0..sroa_idx, align 8, !noalias !5615 + %.sroa.8384.0..sroa_idx = getelementptr inbounds nuw i8, ptr %25, i64 40 + store ptr %46, ptr %.sroa.8384.0..sroa_idx, align 8, !noalias !5615 invoke void @_ZN3std9panicking3try7do_call17h844c1fb6bccfc7e6E.llvm.5605154820796467450(ptr nonnull %25) to label %_ZN3std9panicking3try17h0b150cef05fb2545E.exit.i unwind label %_ZN3std9panicking3try17h0b150cef05fb2545E.exit.thread.i, !noalias !5608 @@ -31358,14 +31358,14 @@ _ZN3std9panicking3try17h0b150cef05fb2545E.exit.thread.i: ; preds = %251 %259 = extractvalue { ptr, i32 } %258, 0 call void @_ZN3std9panicking3try8do_catch17h10e7837e8b3b2e9cE.llvm.5605154820796467450(ptr nonnull %25, ptr %259) %260 = load ptr, ptr %25, align 8, !noalias !5608, !nonnull !9, !align !448, !noundef !9 - %261 = load ptr, ptr %.sroa.4381.0..sroa_idx, align 8, !noalias !5608, !nonnull !9, !align !290, !noundef !9 + %261 = load ptr, ptr %.sroa.4380.0..sroa_idx, align 8, !noalias !5608, !nonnull !9, !align !290, !noundef !9 call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %25), !noalias !5608 br label %263 _ZN3std9panicking3try17h0b150cef05fb2545E.exit.i: ; preds = %251 %.sroa.0.0.copyload1.i = load i64, ptr %25, align 8, !noalias !5616 - %.sroa.6.0.copyload3.i = load ptr, ptr %.sroa.4381.0..sroa_idx, align 8, !noalias !5616 - %.sroa.8.0.copyload5.i = load ptr, ptr %.sroa.5382.0..sroa_idx, align 8, !noalias !5616 + %.sroa.6.0.copyload3.i = load ptr, ptr %.sroa.4380.0..sroa_idx, align 8, !noalias !5616 + %.sroa.8.0.copyload5.i = load ptr, ptr %.sroa.5381.0..sroa_idx, align 8, !noalias !5616 call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %25), !noalias !5608 %262 = icmp eq i64 %.sroa.0.0.copyload1.i, -9223372036854775808 br i1 %262, label %263, label %_ZN5salsa9Cancelled5catch17hc8dfa9fcfb09b1c7E.exit.thread @@ -31419,8 +31419,8 @@ _ZN5salsa9Cancelled5catch17hc8dfa9fcfb09b1c7E.exit.thread: ; preds = %_ZN3std9pa store ptr %.sroa.6.0.copyload3.i, ptr %42, align 8 %.sroa.4.0..sroa_idx = getelementptr inbounds nuw i8, ptr %42, i64 8 store ptr %.sroa.6.0.copyload3.i, ptr %.sroa.4.0..sroa_idx, align 8 - %.sroa.5.0..sroa_idx351 = getelementptr inbounds nuw i8, ptr %42, i64 16 - store i64 %.sroa.0.0.copyload1.i, ptr %.sroa.5.0..sroa_idx351, align 8 + %.sroa.5.0..sroa_idx350 = getelementptr inbounds nuw i8, ptr %42, i64 16 + store i64 %.sroa.0.0.copyload1.i, ptr %.sroa.5.0..sroa_idx350, align 8 %.sroa.6.0..sroa_idx = getelementptr inbounds nuw i8, ptr %42, i64 24 store ptr %274, ptr %.sroa.6.0..sroa_idx, align 8 %275 = icmp eq ptr %.sroa.8.0.copyload5.i, null @@ -31428,10 +31428,10 @@ _ZN5salsa9Cancelled5catch17hc8dfa9fcfb09b1c7E.exit.thread: ; preds = %_ZN3std9pa "_ZN103_$LT$alloc..vec..into_iter..IntoIter$LT$T$C$A$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h819a307a34e86c0bE.exit.lr.ph": ; preds = %_ZN5salsa9Cancelled5catch17hc8dfa9fcfb09b1c7E.exit.thread %276 = getelementptr inbounds nuw i8, ptr %23, i64 4 - %.sroa.2356.0..sroa_idx = getelementptr inbounds nuw i8, ptr %41, i64 8 - %.sroa.3357.0..sroa_idx = getelementptr inbounds nuw i8, ptr %41, i64 12 - %.sroa.4358.0..sroa_idx = getelementptr inbounds nuw i8, ptr %41, i64 16 - %.sroa.5359.0..sroa_idx = getelementptr inbounds nuw i8, ptr %41, i64 24 + %.sroa.2355.0..sroa_idx = getelementptr inbounds nuw i8, ptr %41, i64 8 + %.sroa.3356.0..sroa_idx = getelementptr inbounds nuw i8, ptr %41, i64 12 + %.sroa.4357.0..sroa_idx = getelementptr inbounds nuw i8, ptr %41, i64 16 + %.sroa.5358.0..sroa_idx = getelementptr inbounds nuw i8, ptr %41, i64 24 %277 = getelementptr inbounds nuw i8, ptr %19, i64 4 %278 = getelementptr inbounds nuw i8, ptr %19, i64 8 %279 = getelementptr inbounds nuw i8, ptr %40, i64 24 @@ -31446,12 +31446,12 @@ _ZN5salsa9Cancelled5catch17hc8dfa9fcfb09b1c7E.exit.thread: ; preds = %_ZN3std9pa br label %.loopexit.split-lp .loopexit.split-lp.loopexit: ; preds = %316 - %lpad.loopexit498 = landingpad { ptr, i32 } + %lpad.loopexit497 = landingpad { ptr, i32 } cleanup br label %.loopexit.split-lp .loopexit.split-lp.loopexit.split-lp.loopexit: ; preds = %291, %_ZN4stdx14equal_range_by17hae8626414b6d2287E.exit.i - %lpad.loopexit501 = landingpad { ptr, i32 } + %lpad.loopexit500 = landingpad { ptr, i32 } cleanup br label %.loopexit.split-lp @@ -31461,24 +31461,24 @@ _ZN5salsa9Cancelled5catch17hc8dfa9fcfb09b1c7E.exit.thread: ; preds = %_ZN3std9pa br label %.loopexit.split-lp .loopexit.split-lp: ; preds = %.loopexit.split-lp.loopexit, %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp, %.loopexit.split-lp.loopexit.split-lp.loopexit, %.loopexit - %lpad.phi = phi { ptr, i32 } [ %lpad.loopexit, %.loopexit ], [ %lpad.loopexit498, %.loopexit.split-lp.loopexit ], [ %lpad.loopexit501, %.loopexit.split-lp.loopexit.split-lp.loopexit ], [ %lpad.loopexit.split-lp, %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp ] + %lpad.phi = phi { ptr, i32 } [ %lpad.loopexit, %.loopexit ], [ %lpad.loopexit497, %.loopexit.split-lp.loopexit ], [ %lpad.loopexit500, %.loopexit.split-lp.loopexit.split-lp.loopexit ], [ %lpad.loopexit.split-lp, %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp ] invoke void @"_ZN4core3ptr93drop_in_place$LT$alloc..vec..into_iter..IntoIter$LT$ide..syntax_highlighting..HlRange$GT$$GT$17h3f5943ccd738dffcE"(ptr noalias noundef nonnull align 8 dereferenceable(32) %42) #49 to label %.body213 unwind label %164 -"_ZN103_$LT$alloc..vec..into_iter..IntoIter$LT$T$C$A$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h819a307a34e86c0bE.exit": ; preds = %"_ZN103_$LT$alloc..vec..into_iter..IntoIter$LT$T$C$A$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h819a307a34e86c0bE.exit.lr.ph", %.loopexit496 - %283 = phi ptr [ %.sroa.6.0.copyload3.i, %"_ZN103_$LT$alloc..vec..into_iter..IntoIter$LT$T$C$A$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h819a307a34e86c0bE.exit.lr.ph" ], [ %314, %.loopexit496 ] +"_ZN103_$LT$alloc..vec..into_iter..IntoIter$LT$T$C$A$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h819a307a34e86c0bE.exit": ; preds = %"_ZN103_$LT$alloc..vec..into_iter..IntoIter$LT$T$C$A$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h819a307a34e86c0bE.exit.lr.ph", %.loopexit495 + %283 = phi ptr [ %.sroa.6.0.copyload3.i, %"_ZN103_$LT$alloc..vec..into_iter..IntoIter$LT$T$C$A$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h819a307a34e86c0bE.exit.lr.ph" ], [ %314, %.loopexit495 ] call void @llvm.experimental.noalias.scope.decl(metadata !5623) %284 = getelementptr inbounds nuw i8, ptr %283, i64 32 store ptr %284, ptr %.sroa.4.0..sroa_idx, align 8, !alias.scope !5623, !noalias !5626 - %.sroa.0352.0.copyload = load i64, ptr %283, align 8, !noalias !5623 - %.sroa.6353.0..sroa_idx = getelementptr inbounds nuw i8, ptr %283, i64 8 - %.sroa.6353.0.copyload = load i64, ptr %.sroa.6353.0..sroa_idx, align 8, !noalias !5623 + %.sroa.0351.0.copyload = load i64, ptr %283, align 8, !noalias !5623 + %.sroa.6352.0..sroa_idx = getelementptr inbounds nuw i8, ptr %283, i64 8 + %.sroa.6352.0.copyload = load i64, ptr %.sroa.6352.0..sroa_idx, align 8, !noalias !5623 %.sroa.7.0..sroa_idx = getelementptr inbounds nuw i8, ptr %283, i64 16 %.sroa.7.0.copyload = load i64, ptr %.sroa.7.0..sroa_idx, align 8, !noalias !5623 - %285 = icmp eq i64 %.sroa.0352.0.copyload, 2 + %285 = icmp eq i64 %.sroa.0351.0.copyload, 2 br i1 %285, label %"_ZN103_$LT$alloc..vec..into_iter..IntoIter$LT$T$C$A$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h819a307a34e86c0bE.exit.thread", label %291 -"_ZN103_$LT$alloc..vec..into_iter..IntoIter$LT$T$C$A$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h819a307a34e86c0bE.exit.thread": ; preds = %"_ZN103_$LT$alloc..vec..into_iter..IntoIter$LT$T$C$A$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h819a307a34e86c0bE.exit", %.loopexit496, %_ZN5salsa9Cancelled5catch17hc8dfa9fcfb09b1c7E.exit.thread +"_ZN103_$LT$alloc..vec..into_iter..IntoIter$LT$T$C$A$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h819a307a34e86c0bE.exit.thread": ; preds = %"_ZN103_$LT$alloc..vec..into_iter..IntoIter$LT$T$C$A$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h819a307a34e86c0bE.exit", %.loopexit495, %_ZN5salsa9Cancelled5catch17hc8dfa9fcfb09b1c7E.exit.thread call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %24), !noalias !5628 store ptr %42, ptr %24, align 8, !noalias !5628 %286 = invoke noundef i64 @_ZN4core4iter6traits10exact_size17ExactSizeIterator3len17hc34236fdf8f88584E.llvm.17934416572435023626(ptr noalias noundef nonnull readonly align 8 dereferenceable(32) %42) @@ -31503,11 +31503,11 @@ _ZN5salsa9Cancelled5catch17hc8dfa9fcfb09b1c7E.exit.thread: ; preds = %_ZN3std9pa 291: ; preds = %"_ZN103_$LT$alloc..vec..into_iter..IntoIter$LT$T$C$A$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h819a307a34e86c0bE.exit" %.sroa.9.0..sroa_idx = getelementptr inbounds nuw i8, ptr %283, i64 28 %.sroa.9.0.copyload = load i32, ptr %.sroa.9.0..sroa_idx, align 4, !noalias !5623 - %.sroa.8354.0..sroa_idx = getelementptr inbounds nuw i8, ptr %283, i64 24 - %.sroa.8354.0.copyload = load i32, ptr %.sroa.8354.0..sroa_idx, align 8, !noalias !5623 + %.sroa.8353.0..sroa_idx = getelementptr inbounds nuw i8, ptr %283, i64 24 + %.sroa.8353.0.copyload = load i32, ptr %.sroa.8353.0..sroa_idx, align 8, !noalias !5623 call void @llvm.experimental.noalias.scope.decl(metadata !5633) call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %23) - store i32 %.sroa.8354.0.copyload, ptr %23, align 4, !noalias !5636 + store i32 %.sroa.8353.0.copyload, ptr %23, align 4, !noalias !5636 store i32 %.sroa.9.0.copyload, ptr %276, align 4, !noalias !5636 %292 = load ptr, ptr %.sroa.494.0..sroa_idx, align 8, !alias.scope !5633, !noalias !5638, !nonnull !9, !noundef !9 %293 = load i64, ptr %.sroa.595.0..sroa_idx, align 8, !alias.scope !5633, !noalias !5638, !noundef !9 @@ -31554,26 +31554,26 @@ _ZN4stdx14equal_range_by17hae8626414b6d2287E.exit.i: ; preds = %.noexc218 call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %23) call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %41) store ptr %55, ptr %41, align 8 - store i32 %305, ptr %.sroa.2356.0..sroa_idx, align 8 - store i32 %306, ptr %.sroa.3357.0..sroa_idx, align 4 - store i64 %304, ptr %.sroa.5359.0..sroa_idx, align 8 + store i32 %305, ptr %.sroa.2355.0..sroa_idx, align 8 + store i32 %306, ptr %.sroa.3356.0..sroa_idx, align 4 + store i64 %304, ptr %.sroa.5358.0..sroa_idx, align 8 %307 = icmp ult i64 %295, %304 - br i1 %307, label %.lr.ph.i.preheader.lr.ph, label %.loopexit496 + br i1 %307, label %.lr.ph.i.preheader.lr.ph, label %.loopexit495 .lr.ph.i.preheader.lr.ph: ; preds = %302 %.sroa.0.0.insert.insert.i = or i64 %.sroa.7.0.copyload, 2048 br label %.lr.ph.i.preheader .lr.ph.i.preheader: ; preds = %.lr.ph.i.preheader.lr.ph, %_ZN3ide19syntax_highlighting10highlights10Highlights3add17hdae969174e675f6eE.exit - %.promoted.i221703 = phi i64 [ %295, %.lr.ph.i.preheader.lr.ph ], [ %.promoted.i221, %_ZN3ide19syntax_highlighting10highlights10Highlights3add17hdae969174e675f6eE.exit ] + %.promoted.i221702 = phi i64 [ %295, %.lr.ph.i.preheader.lr.ph ], [ %.promoted.i221, %_ZN3ide19syntax_highlighting10highlights10Highlights3add17hdae969174e675f6eE.exit ] %308 = phi i64 [ %304, %.lr.ph.i.preheader.lr.ph ], [ %319, %_ZN3ide19syntax_highlighting10highlights10Highlights3add17hdae969174e675f6eE.exit ] call void @llvm.experimental.noalias.scope.decl(metadata !5651) br label %.lr.ph.i .lr.ph.i: ; preds = %.lr.ph.i.preheader, %312 - %309 = phi i64 [ %310, %312 ], [ %.promoted.i221703, %.lr.ph.i.preheader ] + %309 = phi i64 [ %310, %312 ], [ %.promoted.i221702, %.lr.ph.i.preheader ] %310 = add i64 %309, 1 - store i64 %310, ptr %.sroa.4358.0..sroa_idx, align 8, !alias.scope !5654, !noalias !5659 + store i64 %310, ptr %.sroa.4357.0..sroa_idx, align 8, !alias.scope !5654, !noalias !5659 call void @llvm.lifetime.start.p0(i64 12, ptr nonnull %19), !noalias !5662 invoke void @"_ZN3ide19syntax_highlighting8injector8Injector12map_range_up28_$u7b$$u7b$closure$u7d$$u7d$17h61c123fb2f9b986fE.llvm.10712026466629435290"(ptr noalias nocapture noundef nonnull sret({ i32, [2 x i32] }) align 4 dereferenceable(12) %19, ptr noalias noundef nonnull align 8 dereferenceable(16) %41, i64 noundef %309) to label %.noexc223 unwind label %.loopexit @@ -31586,9 +31586,9 @@ _ZN4stdx14equal_range_by17hae8626414b6d2287E.exit.i: ; preds = %.noexc218 312: ; preds = %.noexc223 call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %19), !noalias !5662 %exitcond.not.i = icmp eq i64 %310, %308 - br i1 %exitcond.not.i, label %.loopexit496, label %.lr.ph.i + br i1 %exitcond.not.i, label %.loopexit495, label %.lr.ph.i -.loopexit496: ; preds = %_ZN3ide19syntax_highlighting10highlights10Highlights3add17hdae969174e675f6eE.exit, %312, %302 +.loopexit495: ; preds = %_ZN3ide19syntax_highlighting10highlights10Highlights3add17hdae969174e675f6eE.exit, %312, %302 call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %41) %313 = load ptr, ptr %.sroa.6.0..sroa_idx, align 8, !alias.scope !5665, !noalias !5626, !nonnull !9, !noundef !9 %314 = load ptr, ptr %.sroa.4.0..sroa_idx, align 8, !alias.scope !5665, !noalias !5626, !nonnull !9, !noundef !9 @@ -31603,32 +31603,32 @@ _ZN4stdx14equal_range_by17hae8626414b6d2287E.exit.i: ; preds = %.noexc218 store i32 %317, ptr %279, align 8 store i32 %318, ptr %280, align 4 store i64 %.sroa.0.0.insert.insert.i, ptr %281, align 8 - store i64 %.sroa.0352.0.copyload, ptr %40, align 8 - store i64 %.sroa.6353.0.copyload, ptr %282, align 8 + store i64 %.sroa.0351.0.copyload, ptr %40, align 8 + store i64 %.sroa.6352.0.copyload, ptr %282, align 8 invoke void @_ZN3ide19syntax_highlighting10highlights4Node3add17h6220fecff6fee62cE.llvm.15544646111798989001(ptr noalias noundef nonnull align 8 dereferenceable(56) %0, ptr noalias nocapture noundef nonnull align 8 dereferenceable(32) %40) to label %_ZN3ide19syntax_highlighting10highlights10Highlights3add17hdae969174e675f6eE.exit unwind label %.loopexit.split-lp.loopexit _ZN3ide19syntax_highlighting10highlights10Highlights3add17hdae969174e675f6eE.exit: ; preds = %316 call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %40) - %319 = load i64, ptr %.sroa.5359.0..sroa_idx, align 8, !alias.scope !5667, !noalias !5671, !noundef !9 - %.promoted.i221 = load i64, ptr %.sroa.4358.0..sroa_idx, align 8, !alias.scope !5673, !noalias !5659 + %319 = load i64, ptr %.sroa.5358.0..sroa_idx, align 8, !alias.scope !5667, !noalias !5671, !noundef !9 + %.promoted.i221 = load i64, ptr %.sroa.4357.0..sroa_idx, align 8, !alias.scope !5673, !noalias !5659 %320 = icmp ult i64 %.promoted.i221, %319 - br i1 %320, label %.lr.ph.i.preheader, label %.loopexit496 + br i1 %320, label %.lr.ph.i.preheader, label %.loopexit495 321: ; preds = %_ZN5salsa9Cancelled5catch17hc8dfa9fcfb09b1c7E.exit, %301 - %.sroa.0364.0.copyload = load i64, ptr %53, align 8 - %.sroa.4365.0.copyload = load ptr, ptr %170, align 8, !nonnull !9, !noundef !9 - %.sroa.5366.0.copyload = load i64, ptr %171, align 8 - %322 = getelementptr inbounds { i32, i32 }, ptr %.sroa.4365.0.copyload, i64 %.sroa.5366.0.copyload + %.sroa.0363.0.copyload = load i64, ptr %53, align 8 + %.sroa.4364.0.copyload = load ptr, ptr %170, align 8, !nonnull !9, !noundef !9 + %.sroa.5365.0.copyload = load i64, ptr %171, align 8 + %322 = getelementptr inbounds { i32, i32 }, ptr %.sroa.4364.0.copyload, i64 %.sroa.5365.0.copyload call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %39) - store ptr %.sroa.4365.0.copyload, ptr %39, align 8 - %.sroa.4361.0..sroa_idx = getelementptr inbounds nuw i8, ptr %39, i64 8 - store ptr %.sroa.4365.0.copyload, ptr %.sroa.4361.0..sroa_idx, align 8 - %.sroa.5362.0..sroa_idx = getelementptr inbounds nuw i8, ptr %39, i64 16 - store i64 %.sroa.0364.0.copyload, ptr %.sroa.5362.0..sroa_idx, align 8 - %.sroa.6363.0..sroa_idx = getelementptr inbounds nuw i8, ptr %39, i64 24 - store ptr %322, ptr %.sroa.6363.0..sroa_idx, align 8 - %323 = icmp eq i64 %.sroa.5366.0.copyload, 0 + store ptr %.sroa.4364.0.copyload, ptr %39, align 8 + %.sroa.4360.0..sroa_idx = getelementptr inbounds nuw i8, ptr %39, i64 8 + store ptr %.sroa.4364.0.copyload, ptr %.sroa.4360.0..sroa_idx, align 8 + %.sroa.5361.0..sroa_idx = getelementptr inbounds nuw i8, ptr %39, i64 16 + store i64 %.sroa.0363.0.copyload, ptr %.sroa.5361.0..sroa_idx, align 8 + %.sroa.6362.0..sroa_idx = getelementptr inbounds nuw i8, ptr %39, i64 24 + store ptr %322, ptr %.sroa.6362.0..sroa_idx, align 8 + %323 = icmp eq i64 %.sroa.5365.0.copyload, 0 br i1 %323, label %._crit_edge, label %.lr.ph .lr.ph: ; preds = %321 @@ -31670,7 +31670,7 @@ _ZN3ide19syntax_highlighting10highlights10Highlights3add17hdae969174e675f6eE.exi call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %39) call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %45) invoke void @"_ZN62_$LT$ide_db..RootDatabase$u20$as$u20$core..ops..drop..Drop$GT$4drop17h7fb8b711582e23deE"(ptr noalias noundef nonnull align 8 dereferenceable(64) %46) - to label %"_ZN4core3ptr34drop_in_place$LT$ide..Analysis$GT$17h99fdc8610587e166E.exit238" unwind label %.loopexit.split-lp509.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp + to label %"_ZN4core3ptr34drop_in_place$LT$ide..Analysis$GT$17h99fdc8610587e166E.exit238" unwind label %.loopexit.split-lp508.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp "_ZN4core3ptr34drop_in_place$LT$ide..Analysis$GT$17h99fdc8610587e166E.exit238": ; preds = %334 call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %46) @@ -31764,10 +31764,10 @@ _ZN3ide19syntax_highlighting10highlights10Highlights3add17hdae969174e675f6eE.exi br label %70 366: ; preds = %.lr.ph, %_ZN3ide19syntax_highlighting10highlights10Highlights3add17hdae969174e675f6eE.exit249 - %367 = phi ptr [ %.sroa.4365.0.copyload, %.lr.ph ], [ %373, %_ZN3ide19syntax_highlighting10highlights10Highlights3add17hdae969174e675f6eE.exit249 ] + %367 = phi ptr [ %.sroa.4364.0.copyload, %.lr.ph ], [ %373, %_ZN3ide19syntax_highlighting10highlights10Highlights3add17hdae969174e675f6eE.exit249 ] call void @llvm.experimental.noalias.scope.decl(metadata !5716) %368 = getelementptr inbounds nuw i8, ptr %367, i64 8 - store ptr %368, ptr %.sroa.4361.0..sroa_idx, align 8, !alias.scope !5716, !noalias !5719 + store ptr %368, ptr %.sroa.4360.0..sroa_idx, align 8, !alias.scope !5716, !noalias !5719 %369 = load i32, ptr %367, align 4, !noalias !5721, !noundef !9 %370 = getelementptr inbounds nuw i8, ptr %367, i64 4 %371 = load i32, ptr %370, align 4, !noalias !5721, !noundef !9 @@ -31781,8 +31781,8 @@ _ZN3ide19syntax_highlighting10highlights10Highlights3add17hdae969174e675f6eE.exi _ZN3ide19syntax_highlighting10highlights10Highlights3add17hdae969174e675f6eE.exit249: ; preds = %366 call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %38) - %372 = load ptr, ptr %.sroa.6363.0..sroa_idx, align 8, !alias.scope !5722, !noalias !5719, !nonnull !9, !noundef !9 - %373 = load ptr, ptr %.sroa.4361.0..sroa_idx, align 8, !alias.scope !5722, !noalias !5719, !nonnull !9, !noundef !9 + %372 = load ptr, ptr %.sroa.6362.0..sroa_idx, align 8, !alias.scope !5722, !noalias !5719, !nonnull !9, !noundef !9 + %373 = load ptr, ptr %.sroa.4360.0..sroa_idx, align 8, !alias.scope !5722, !noalias !5719, !nonnull !9, !noundef !9 %374 = icmp eq ptr %373, %372 br i1 %374, label %._crit_edge, label %366 @@ -31800,7 +31800,7 @@ _ZN3ide19syntax_highlighting10highlights10Highlights3add17hdae969174e675f6eE.exi 381: ; preds = %377 %382 = invoke { i64, ptr } @"_ZN6syntax3ast8node_ext53_$LT$impl$u20$syntax..ast..generated..nodes..Attr$GT$4expr17hfac437bd12c2b238E"(ptr noalias noundef nonnull readonly align 8 dereferenceable(8) %380) - to label %.noexc254 unwind label %.loopexit.split-lp509.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.loopexit + to label %.noexc254 unwind label %.loopexit.split-lp508.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.loopexit .noexc254: ; preds = %381 %383 = extractvalue { i64, ptr } %382, 0 @@ -31813,7 +31813,7 @@ _ZN3ide19syntax_highlighting10highlights10Highlights3add17hdae969174e675f6eE.exi 385: ; preds = %.noexc254 call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %14), !noalias !5724 %386 = invoke { ptr, i64 } @_ZN10hir_expand5attrs4Attr12string_value17haffdae9a5963fa0aE(ptr noalias noundef nonnull readonly align 8 dereferenceable(24) %190) - to label %.noexc255 unwind label %.loopexit.split-lp509.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.loopexit + to label %.noexc255 unwind label %.loopexit.split-lp508.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.loopexit .noexc255: ; preds = %385 %387 = extractvalue { ptr, i64 } %386, 0 @@ -31826,7 +31826,7 @@ _ZN3ide19syntax_highlighting10highlights10Highlights3add17hdae969174e675f6eE.exi store i64 %390, ptr %180, align 8, !noalias !5724 call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %13), !noalias !5724 %391 = invoke noundef align 8 dereferenceable(8) ptr @"_ZN76_$LT$syntax..ast..generated..nodes..Attr$u20$as$u20$syntax..ast..AstNode$GT$6syntax17h62130ed8911d7f58E"(ptr noalias noundef nonnull readonly align 8 dereferenceable(8) %380) - to label %.noexc256 unwind label %.loopexit.split-lp509.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.loopexit + to label %.noexc256 unwind label %.loopexit.split-lp508.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.loopexit .noexc256: ; preds = %389 call void @llvm.experimental.noalias.scope.decl(metadata !5728) @@ -31843,7 +31843,7 @@ _ZN3ide19syntax_highlighting10highlights10Highlights3add17hdae969174e675f6eE.exi .noexc.i253: ; preds = %.noexc256 invoke void @_ZN3std7process5abort17h1cffb1827d7e6c16E() #51 - to label %.noexc257 unwind label %.loopexit.split-lp509.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp + to label %.noexc257 unwind label %.loopexit.split-lp508.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp .noexc257: ; preds = %.noexc.i253 unreachable @@ -31852,7 +31852,7 @@ _ZN5rowan6cursor8NodeData6inc_rc17h79dd31861126988eE.llvm.2274688034147933536.ex %398 = extractvalue { i32, i1 } %395, 0 store i32 %398, ptr %393, align 4, !noalias !5733 invoke void @_ZN5rowan6cursor18PreorderWithTokens3new17hedeb814abcbe4bd5E(ptr noalias nocapture noundef nonnull sret({ { i64, [1 x i64] }, { i64, [2 x i64] }, i8, [7 x i8] }) align 8 dereferenceable(48) %13, ptr noundef nonnull %392) - to label %.noexc258 unwind label %.loopexit.split-lp509.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.loopexit + to label %.noexc258 unwind label %.loopexit.split-lp508.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.loopexit .noexc258: ; preds = %_ZN5rowan6cursor8NodeData6inc_rc17h79dd31861126988eE.llvm.2274688034147933536.exit.i.i call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %12), !noalias !5734 @@ -31874,7 +31874,7 @@ _ZN5rowan6cursor8NodeData6inc_rc17h79dd31861126988eE.llvm.2274688034147933536.ex call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %12), !noalias !5734 call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %14), !noalias !5724 invoke void @"_ZN4core3ptr54drop_in_place$LT$rowan..cursor..PreorderWithTokens$GT$17h5966b4bde002119bE.llvm.273501356006530532"(ptr noalias noundef nonnull align 8 dereferenceable(48) %13) - to label %.noexc259 unwind label %.loopexit.split-lp509.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.loopexit + to label %.noexc259 unwind label %.loopexit.split-lp508.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.loopexit .noexc259: ; preds = %.thread40.i call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %13), !noalias !5724 @@ -32019,7 +32019,7 @@ default.unreachable.i.i: ; preds = %417 459: ; preds = %"_ZN4core3ptr55drop_in_place$LT$syntax..ast..expr_ext..LiteralKind$GT$17h28d76f8251af00a5E.exit.i" invoke void @_ZN5rowan6cursor4free17ha2e1b2c8c83f79d6E(ptr noundef nonnull %454) - to label %.noexc260 unwind label %.loopexit.split-lp509.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.loopexit + to label %.noexc260 unwind label %.loopexit.split-lp508.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.loopexit .noexc260: ; preds = %459, %"_ZN4core3ptr55drop_in_place$LT$syntax..ast..expr_ext..LiteralKind$GT$17h28d76f8251af00a5E.exit.i" call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %16), !noalias !5724 @@ -32037,14 +32037,14 @@ default.unreachable.i.i: ; preds = %417 "_ZN4core3ptr61drop_in_place$LT$syntax..ast..generated..nodes..YieldExpr$GT$17h76c170ce43ff7a74E.exit.sink.split.i30.i": ; preds = %460 invoke void @_ZN5rowan6cursor4free17ha2e1b2c8c83f79d6E(ptr noundef nonnull %384) - to label %_ZN3ide19syntax_highlighting6inject23find_doc_string_in_attr17h8e3674f25ed2ea6dE.exit.thread.backedge unwind label %.loopexit.split-lp509.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.loopexit + to label %_ZN3ide19syntax_highlighting6inject23find_doc_string_in_attr17h8e3674f25ed2ea6dE.exit.thread.backedge unwind label %.loopexit.split-lp508.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.loopexit _ZN3ide19syntax_highlighting6inject23find_doc_string_in_attr17h8e3674f25ed2ea6dE.exit.thread.backedge: ; preds = %"_ZN4core3ptr61drop_in_place$LT$syntax..ast..generated..nodes..YieldExpr$GT$17h76c170ce43ff7a74E.exit.sink.split.i30.i", %460, %397, %_ZN3ide19syntax_highlighting6inject23find_doc_string_in_attr17h8e3674f25ed2ea6dE.exit, %375 br label %_ZN3ide19syntax_highlighting6inject23find_doc_string_in_attr17h8e3674f25ed2ea6dE.exit.thread 466: ; preds = %377 %467 = invoke { ptr, i64 } @"_ZN6syntax3ast9token_ext57_$LT$impl$u20$syntax..ast..generated..tokens..Comment$GT$6prefix17h2c35c5aa94dd5898E"(ptr noalias noundef nonnull readonly align 8 dereferenceable(8) %380) - to label %544 unwind label %.loopexit.split-lp509.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.loopexit.split-lp + to label %544 unwind label %.loopexit.split-lp508.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.loopexit.split-lp _ZN3ide19syntax_highlighting6inject23find_doc_string_in_attr17h8e3674f25ed2ea6dE.exit: ; preds = %.noexc260, %.noexc259 %.0.i251 = phi ptr [ %399, %.noexc259 ], [ %.2.i, %.noexc260 ] @@ -32058,7 +32058,7 @@ _ZN3ide19syntax_highlighting6inject23find_doc_string_in_attr17h8e3674f25ed2ea6dE "_ZN4core3ptr59drop_in_place$LT$syntax..ast..generated..tokens..String$GT$17ha3047d0179cfd9d3E.exit265": ; preds = %472, %478, %469 store ptr %.0.i251, ptr %52, align 8 %471 = invoke noundef align 8 dereferenceable(8) ptr @"_ZN80_$LT$syntax..ast..generated..tokens..String$u20$as$u20$syntax..ast..AstToken$GT$6syntax17h94e683782c84fef6E"(ptr noalias noundef nonnull readonly align 8 dereferenceable(8) %52) - to label %480 unwind label %.loopexit.split-lp509.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.loopexit.split-lp + to label %480 unwind label %.loopexit.split-lp508.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.loopexit.split-lp 472: ; preds = %469 call void @llvm.experimental.noalias.scope.decl(metadata !5836) @@ -32102,7 +32102,7 @@ _ZN3ide19syntax_highlighting6inject23find_doc_string_in_attr17h8e3674f25ed2ea6dE %.sroa.3.0.i = phi i64 [ %485, %483 ], [ 0, %480 ] %.sroa.0.0.i = phi ptr [ %486, %483 ], [ @anon.51bed9337ee0b8104f33ac59a1bbbf07.18.llvm.1684962189325099908, %480 ] %488 = invoke noundef align 8 dereferenceable(8) ptr @"_ZN80_$LT$syntax..ast..generated..tokens..String$u20$as$u20$syntax..ast..AstToken$GT$6syntax17h94e683782c84fef6E"(ptr noalias noundef nonnull readonly align 8 dereferenceable(8) %52) - to label %489 unwind label %.loopexit.split-lp509.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.loopexit.split-lp + to label %489 unwind label %.loopexit.split-lp508.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.loopexit.split-lp 489: ; preds = %487 call void @llvm.experimental.noalias.scope.decl(metadata !5852) @@ -32119,7 +32119,7 @@ _ZN3ide19syntax_highlighting6inject23find_doc_string_in_attr17h8e3674f25ed2ea6dE 497: ; preds = %489 %498 = invoke noundef i32 @_ZN5rowan6cursor8NodeData10offset_mut17h4d35d478d3a0a51cE(ptr noundef nonnull align 8 %490) - to label %.noexc266 unwind label %.loopexit.split-lp509.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.loopexit.split-lp + to label %.noexc266 unwind label %.loopexit.split-lp508.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.loopexit.split-lp .noexc266: ; preds = %497, %494 %.0.i.i = phi i32 [ %496, %494 ], [ %498, %497 ] @@ -32137,7 +32137,7 @@ _ZN3ide19syntax_highlighting6inject23find_doc_string_in_attr17h8e3674f25ed2ea6dE %503 = getelementptr inbounds nuw i8, ptr %.sroa.3.0.i.i.i, i64 8 %504 = load i64, ptr %503, align 8, !noalias !5852, !noundef !9 %505 = invoke { i32, i32 } @"_ZN81_$LT$text_size..size..TextSize$u20$as$u20$core..convert..TryFrom$LT$usize$GT$$GT$8try_from17ha1c8b6c82649711cE.llvm.2274688034147933536"(i64 noundef %504) - to label %.noexc267 unwind label %.loopexit.split-lp509.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.loopexit.split-lp + to label %.noexc267 unwind label %.loopexit.split-lp508.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.loopexit.split-lp .noexc267: ; preds = %502 %506 = extractvalue { i32, i32 } %505, 0 @@ -32147,7 +32147,7 @@ _ZN3ide19syntax_highlighting6inject23find_doc_string_in_attr17h8e3674f25ed2ea6dE 507: ; preds = %.noexc267 invoke void @_ZN4core6result13unwrap_failed17ha188096f98826595E(ptr noalias noundef nonnull readonly align 1 @anon.4e853ac6e2b93aa48c41f9391496f769.68.llvm.2274688034147933536, i64 noundef 43, ptr noundef nonnull align 1 %6, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.4e853ac6e2b93aa48c41f9391496f769.69.llvm.2274688034147933536, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.4e853ac6e2b93aa48c41f9391496f769.106.llvm.2274688034147933536) #51 - to label %.noexc268 unwind label %.loopexit.split-lp509.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp + to label %.noexc268 unwind label %.loopexit.split-lp508.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp .noexc268: ; preds = %507 unreachable @@ -32165,7 +32165,7 @@ _ZN3ide19syntax_highlighting6inject23find_doc_string_in_attr17h8e3674f25ed2ea6dE 510: ; preds = %"_ZN5rowan5green7element138_$LT$impl$u20$rowan..utility_types..NodeOrToken$LT$$RF$rowan..green..node..GreenNodeData$C$$RF$rowan..green..token..GreenTokenData$GT$$GT$8text_len17h99fb7657d751ae4dE.llvm.2274688034147933536.exit.i.i" invoke void @_ZN4core9panicking5panic17h44790a89027c670fE(ptr noalias noundef nonnull readonly align 1 @anon.4e853ac6e2b93aa48c41f9391496f769.107.llvm.2274688034147933536, i64 noundef 38, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.4e853ac6e2b93aa48c41f9391496f769.109.llvm.2274688034147933536) #51 - to label %.noexc269 unwind label %.loopexit.split-lp509.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp + to label %.noexc269 unwind label %.loopexit.split-lp508.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp .noexc269: ; preds = %510 unreachable @@ -32173,7 +32173,7 @@ _ZN3ide19syntax_highlighting6inject23find_doc_string_in_attr17h8e3674f25ed2ea6dE 511: ; preds = %"_ZN5rowan5green7element138_$LT$impl$u20$rowan..utility_types..NodeOrToken$LT$$RF$rowan..green..node..GreenNodeData$C$$RF$rowan..green..token..GreenTokenData$GT$$GT$8text_len17h99fb7657d751ae4dE.llvm.2274688034147933536.exit.i.i" call void @llvm.lifetime.start.p0(i64 28, ptr nonnull %48) invoke void @_ZN6syntax3ast9token_ext8IsString13quote_offsets17h747ac4b55d86ba5fE.llvm.1684962189325099908(ptr noalias nocapture noundef nonnull sret({ i32, [6 x i32] }) align 4 dereferenceable(28) %48, ptr noalias noundef nonnull readonly align 8 dereferenceable(8) %52) - to label %512 unwind label %.loopexit.split-lp509.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.loopexit.split-lp + to label %512 unwind label %.loopexit.split-lp508.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.loopexit.split-lp 512: ; preds = %511 %513 = load i32, ptr %48, align 4, !range !1370, !noundef !9 @@ -32197,7 +32197,7 @@ _ZN3ide19syntax_highlighting6inject23find_doc_string_in_attr17h8e3674f25ed2ea6dE 518: ; preds = %514 invoke void @_ZN4core6option13expect_failed17hea24986454718b4fE(ptr noalias noundef nonnull readonly align 1 @anon.51bed9337ee0b8104f33ac59a1bbbf07.79.llvm.1684962189325099908, i64 noundef 28, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.51bed9337ee0b8104f33ac59a1bbbf07.81.llvm.1684962189325099908) #51 - to label %540 unwind label %.loopexit.split-lp509.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp + to label %540 unwind label %.loopexit.split-lp508.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp 519: ; preds = %514 %520 = sub nuw i32 %515, %.0.i.i @@ -32245,12 +32245,12 @@ _ZN3ide19syntax_highlighting6inject23find_doc_string_in_attr17h8e3674f25ed2ea6dE 539: ; preds = %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.llvm.1684962189325099908.exit7.i.i", %534, %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.llvm.1684962189325099908.exit.i.i", %527, %519 invoke void @_ZN4core3str16slice_error_fail17he2ff12236fb0c056E(ptr noalias noundef nonnull readonly align 1 %.sroa.0.0.i, i64 noundef %.sroa.3.0.i, i64 noundef %522, i64 noundef %523, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.51bed9337ee0b8104f33ac59a1bbbf07.254) #51 - to label %.noexc273 unwind label %.loopexit.split-lp509.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp + to label %.noexc273 unwind label %.loopexit.split-lp508.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp .noexc273: ; preds = %539 unreachable -540: ; preds = %.thread489, %761, %585, %518 +540: ; preds = %.thread488, %761, %585, %518 unreachable 541: ; preds = %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.llvm.1684962189325099908.exit7.i.i", %534, %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.llvm.1684962189325099908.exit.thread.i.i" @@ -32261,7 +32261,7 @@ _ZN3ide19syntax_highlighting6inject23find_doc_string_in_attr17h8e3674f25ed2ea6dE 544: ; preds = %466 %545 = extractvalue { ptr, i64 } %467, 1 %546 = invoke noundef align 8 dereferenceable(8) ptr @"_ZN81_$LT$syntax..ast..generated..tokens..Comment$u20$as$u20$syntax..ast..AstToken$GT$6syntax17ha81f65a6aab7e07dE"(ptr noalias noundef nonnull readonly align 8 dereferenceable(8) %380) - to label %547 unwind label %.loopexit.split-lp509.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.loopexit.split-lp + to label %547 unwind label %.loopexit.split-lp508.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.loopexit.split-lp 547: ; preds = %544 call void @llvm.experimental.noalias.scope.decl(metadata !5867) @@ -32278,7 +32278,7 @@ _ZN3ide19syntax_highlighting6inject23find_doc_string_in_attr17h8e3674f25ed2ea6dE 555: ; preds = %547 %556 = invoke noundef i32 @_ZN5rowan6cursor8NodeData10offset_mut17h4d35d478d3a0a51cE(ptr noundef nonnull align 8 %548) - to label %.noexc283 unwind label %.loopexit.split-lp509.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.loopexit.split-lp + to label %.noexc283 unwind label %.loopexit.split-lp508.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.loopexit.split-lp .noexc283: ; preds = %555, %552 %.0.i.i274 = phi i32 [ %554, %552 ], [ %556, %555 ] @@ -32296,13 +32296,13 @@ _ZN3ide19syntax_highlighting6inject23find_doc_string_in_attr17h8e3674f25ed2ea6dE %561 = getelementptr inbounds nuw i8, ptr %.sroa.3.0.i.i.i276, i64 8 %562 = load i64, ptr %561, align 8, !noalias !5867, !noundef !9 %563 = invoke { i32, i32 } @"_ZN81_$LT$text_size..size..TextSize$u20$as$u20$core..convert..TryFrom$LT$usize$GT$$GT$8try_from17ha1c8b6c82649711cE.llvm.2274688034147933536"(i64 noundef %562) - to label %.noexc284 unwind label %.loopexit.split-lp509.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.loopexit.split-lp + to label %.noexc284 unwind label %.loopexit.split-lp508.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.loopexit.split-lp .noexc284: ; preds = %560 %564 = extractvalue { i32, i32 } %563, 0 call void @llvm.lifetime.start.p0(i64 0, ptr nonnull %6), !noalias !5867 %switch.i.i.i.i278 = icmp eq i32 %564, 0 - br i1 %switch.i.i.i.i278, label %"_ZN4core6result19Result$LT$T$C$E$GT$6unwrap17h806f63d2dea10a43E.llvm.2274688034147933536.exit.i.i.i279", label %.invoke1281 + br i1 %switch.i.i.i.i278, label %"_ZN4core6result19Result$LT$T$C$E$GT$6unwrap17h806f63d2dea10a43E.llvm.2274688034147933536.exit.i.i.i279", label %.invoke1280 "_ZN4core6result19Result$LT$T$C$E$GT$6unwrap17h806f63d2dea10a43E.llvm.2274688034147933536.exit.i.i.i279": ; preds = %.noexc284 %565 = extractvalue { i32, i32 } %563, 1 @@ -32317,7 +32317,7 @@ _ZN3ide19syntax_highlighting6inject23find_doc_string_in_attr17h8e3674f25ed2ea6dE 567: ; preds = %"_ZN5rowan5green7element138_$LT$impl$u20$rowan..utility_types..NodeOrToken$LT$$RF$rowan..green..node..GreenNodeData$C$$RF$rowan..green..token..GreenTokenData$GT$$GT$8text_len17h99fb7657d751ae4dE.llvm.2274688034147933536.exit.i.i280" %568 = invoke noundef align 8 dereferenceable(8) ptr @"_ZN81_$LT$syntax..ast..generated..tokens..Comment$u20$as$u20$syntax..ast..AstToken$GT$6syntax17ha81f65a6aab7e07dE"(ptr noalias noundef nonnull readonly align 8 dereferenceable(8) %380) - to label %569 unwind label %.loopexit.split-lp509.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.loopexit.split-lp + to label %569 unwind label %.loopexit.split-lp508.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.loopexit.split-lp 569: ; preds = %567 call void @llvm.experimental.noalias.scope.decl(metadata !5870) @@ -32338,9 +32338,9 @@ _ZN3ide19syntax_highlighting6inject23find_doc_string_in_attr17h8e3674f25ed2ea6dE %.sroa.3.0.i291 = phi i64 [ %574, %572 ], [ 0, %569 ] %.sroa.0.0.i292 = phi ptr [ %575, %572 ], [ @anon.51bed9337ee0b8104f33ac59a1bbbf07.18.llvm.1684962189325099908, %569 ] %577 = icmp eq i64 %545, 0 - br i1 %577, label %.thread901, label %578 + br i1 %577, label %.thread900, label %578 -.thread901: ; preds = %576 +.thread900: ; preds = %576 call void @llvm.lifetime.start.p0(i64 0, ptr nonnull %6) br label %592 @@ -32361,26 +32361,26 @@ _ZN3ide19syntax_highlighting6inject23find_doc_string_in_attr17h8e3674f25ed2ea6dE 585: ; preds = %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.llvm.1684962189325099908.exit.i", %579 invoke void @_ZN4core3str16slice_error_fail17he2ff12236fb0c056E(ptr noalias noundef nonnull readonly align 1 %.sroa.0.0.i292, i64 noundef %.sroa.3.0.i291, i64 noundef %545, i64 noundef %.sroa.3.0.i291, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.51bed9337ee0b8104f33ac59a1bbbf07.255) #51 - to label %540 unwind label %.loopexit.split-lp509.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp + to label %540 unwind label %.loopexit.split-lp508.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp 586: ; preds = %579, %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.llvm.1684962189325099908.exit.i" %587 = phi i64 [ %584, %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.llvm.1684962189325099908.exit.i" ], [ 0, %579 ] %588 = icmp ult i64 %545, 4294967296 call void @llvm.lifetime.start.p0(i64 0, ptr nonnull %6) - br i1 %588, label %592, label %.invoke1281 + br i1 %588, label %592, label %.invoke1280 -.invoke1281: ; preds = %586, %.noexc284 +.invoke1280: ; preds = %586, %.noexc284 %589 = phi ptr [ @anon.4e853ac6e2b93aa48c41f9391496f769.68.llvm.2274688034147933536, %.noexc284 ], [ @anon.51bed9337ee0b8104f33ac59a1bbbf07.63, %586 ] %590 = phi ptr [ @anon.4e853ac6e2b93aa48c41f9391496f769.69.llvm.2274688034147933536, %.noexc284 ], [ @anon.51bed9337ee0b8104f33ac59a1bbbf07.65, %586 ] %591 = phi ptr [ @anon.4e853ac6e2b93aa48c41f9391496f769.106.llvm.2274688034147933536, %.noexc284 ], [ @anon.51bed9337ee0b8104f33ac59a1bbbf07.256, %586 ] invoke void @_ZN4core6result13unwrap_failed17ha188096f98826595E(ptr noalias noundef nonnull readonly align 1 %589, i64 noundef 43, ptr noundef nonnull align 1 %6, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) %590, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) %591) #51 - to label %.cont1282 unwind label %.loopexit.split-lp509.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp + to label %.cont1281 unwind label %.loopexit.split-lp508.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp -.cont1282: ; preds = %.invoke1281 +.cont1281: ; preds = %.invoke1280 unreachable -592: ; preds = %.thread901, %586 - %593 = phi i64 [ %.sroa.3.0.i291, %.thread901 ], [ %587, %586 ] +592: ; preds = %.thread900, %586 + %593 = phi i64 [ %.sroa.3.0.i291, %.thread900 ], [ %587, %586 ] %594 = trunc nuw i64 %545 to i32 %595 = getelementptr inbounds nuw i8, ptr %.sroa.0.0.i292, i64 %545 call void @llvm.lifetime.end.p0(i64 0, ptr nonnull %6) @@ -32392,7 +32392,7 @@ _ZN3ide19syntax_highlighting6inject23find_doc_string_in_attr17h8e3674f25ed2ea6dE %597 = phi ptr [ @anon.4e853ac6e2b93aa48c41f9391496f769.107.llvm.2274688034147933536, %"_ZN5rowan5green7element138_$LT$impl$u20$rowan..utility_types..NodeOrToken$LT$$RF$rowan..green..node..GreenNodeData$C$$RF$rowan..green..token..GreenTokenData$GT$$GT$8text_len17h99fb7657d751ae4dE.llvm.2274688034147933536.exit.i.i280" ], [ @anon.51bed9337ee0b8104f33ac59a1bbbf07.88, %592 ] %598 = phi ptr [ @anon.4e853ac6e2b93aa48c41f9391496f769.109.llvm.2274688034147933536, %"_ZN5rowan5green7element138_$LT$impl$u20$rowan..utility_types..NodeOrToken$LT$$RF$rowan..green..node..GreenNodeData$C$$RF$rowan..green..token..GreenTokenData$GT$$GT$8text_len17h99fb7657d751ae4dE.llvm.2274688034147933536.exit.i.i280" ], [ @anon.51bed9337ee0b8104f33ac59a1bbbf07.89, %592 ] invoke void @_ZN4core9panicking5panic17h44790a89027c670fE(ptr noalias noundef nonnull readonly align 1 %597, i64 noundef 38, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) %598) #51 - to label %.cont unwind label %.loopexit.split-lp509.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp + to label %.cont unwind label %.loopexit.split-lp508.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp .cont: ; preds = %.invoke unreachable @@ -32402,33 +32402,33 @@ _ZN3ide19syntax_highlighting6inject23find_doc_string_in_attr17h8e3674f25ed2ea6dE %.sroa.0101.1 = phi ptr [ %595, %592 ], [ %.sroa.0101.0, %517 ] %.sroa.5103.1 = phi i64 [ %593, %592 ], [ %.sroa.5103.0, %517 ] %.1116 = phi i32 [ %596, %592 ], [ %.0115, %517 ] - br label %_ZN3ide19syntax_highlighting8injector8Injector12add_unmapped17hf33a392297098406E.exit333.outer - -_ZN3ide19syntax_highlighting8injector8Injector12add_unmapped17hf33a392297098406E.exit333.outer: ; preds = %.loopexit524, %599 - %.promoted.i336888 = phi i64 [ %.promoted.i336885, %.loopexit524 ], [ 0, %599 ] - %.promoted = phi i64 [ %.promoted882, %.loopexit524 ], [ 0, %599 ] - %.sroa.0.sroa.5.0..sroa_idx.promoted = phi i8 [ %.sroa.0.sroa.5.0..sroa_idx.promoted879, %.loopexit524 ], [ 0, %599 ] - %.1132.ph = phi i1 [ %.2133, %.loopexit524 ], [ %.0131.ph, %599 ] - %.0117.ph = phi i32 [ %629, %.loopexit524 ], [ %.1116, %599 ] - %.1.ph = phi i1 [ %.2, %.loopexit524 ], [ %.0.ph, %599 ] - br label %_ZN3ide19syntax_highlighting8injector8Injector12add_unmapped17hf33a392297098406E.exit333 - -_ZN3ide19syntax_highlighting8injector8Injector12add_unmapped17hf33a392297098406E.exit333: ; preds = %_ZN3ide19syntax_highlighting8injector8Injector12add_unmapped17hf33a392297098406E.exit333.outer, %771 - %.promoted.i336 = phi i64 [ %.promoted.i336885, %771 ], [ %.promoted.i336888, %_ZN3ide19syntax_highlighting8injector8Injector12add_unmapped17hf33a392297098406E.exit333.outer ] - %.promoted883 = phi i64 [ %.promoted882, %771 ], [ %.promoted, %_ZN3ide19syntax_highlighting8injector8Injector12add_unmapped17hf33a392297098406E.exit333.outer ] - %.sroa.0.sroa.5.0..sroa_idx.promoted880 = phi i8 [ %.sroa.0.sroa.5.0..sroa_idx.promoted879, %771 ], [ %.sroa.0.sroa.5.0..sroa_idx.promoted, %_ZN3ide19syntax_highlighting8injector8Injector12add_unmapped17hf33a392297098406E.exit333.outer ] - %.lcssa553701 = phi i64 [ %.lcssa553700, %771 ], [ %.promoted, %_ZN3ide19syntax_highlighting8injector8Injector12add_unmapped17hf33a392297098406E.exit333.outer ] - %600 = phi i8 [ %626, %771 ], [ %.sroa.0.sroa.5.0..sroa_idx.promoted, %_ZN3ide19syntax_highlighting8injector8Injector12add_unmapped17hf33a392297098406E.exit333.outer ] - %.0117 = phi i32 [ %629, %771 ], [ %.0117.ph, %_ZN3ide19syntax_highlighting8injector8Injector12add_unmapped17hf33a392297098406E.exit333.outer ] + br label %_ZN3ide19syntax_highlighting8injector8Injector12add_unmapped17hf33a392297098406E.exit332.outer + +_ZN3ide19syntax_highlighting8injector8Injector12add_unmapped17hf33a392297098406E.exit332.outer: ; preds = %.loopexit523, %599 + %.promoted.i335887 = phi i64 [ %.promoted.i335884, %.loopexit523 ], [ 0, %599 ] + %.promoted = phi i64 [ %.promoted881, %.loopexit523 ], [ 0, %599 ] + %.sroa.0.sroa.5.0..sroa_idx.promoted = phi i8 [ %.sroa.0.sroa.5.0..sroa_idx.promoted878, %.loopexit523 ], [ 0, %599 ] + %.1132.ph = phi i1 [ %.2133, %.loopexit523 ], [ %.0131.ph, %599 ] + %.0117.ph = phi i32 [ %629, %.loopexit523 ], [ %.1116, %599 ] + %.1.ph = phi i1 [ %.2, %.loopexit523 ], [ %.0.ph, %599 ] + br label %_ZN3ide19syntax_highlighting8injector8Injector12add_unmapped17hf33a392297098406E.exit332 + +_ZN3ide19syntax_highlighting8injector8Injector12add_unmapped17hf33a392297098406E.exit332: ; preds = %_ZN3ide19syntax_highlighting8injector8Injector12add_unmapped17hf33a392297098406E.exit332.outer, %771 + %.promoted.i335 = phi i64 [ %.promoted.i335884, %771 ], [ %.promoted.i335887, %_ZN3ide19syntax_highlighting8injector8Injector12add_unmapped17hf33a392297098406E.exit332.outer ] + %.promoted882 = phi i64 [ %.promoted881, %771 ], [ %.promoted, %_ZN3ide19syntax_highlighting8injector8Injector12add_unmapped17hf33a392297098406E.exit332.outer ] + %.sroa.0.sroa.5.0..sroa_idx.promoted879 = phi i8 [ %.sroa.0.sroa.5.0..sroa_idx.promoted878, %771 ], [ %.sroa.0.sroa.5.0..sroa_idx.promoted, %_ZN3ide19syntax_highlighting8injector8Injector12add_unmapped17hf33a392297098406E.exit332.outer ] + %.lcssa552700 = phi i64 [ %.lcssa552699, %771 ], [ %.promoted, %_ZN3ide19syntax_highlighting8injector8Injector12add_unmapped17hf33a392297098406E.exit332.outer ] + %600 = phi i8 [ %626, %771 ], [ %.sroa.0.sroa.5.0..sroa_idx.promoted, %_ZN3ide19syntax_highlighting8injector8Injector12add_unmapped17hf33a392297098406E.exit332.outer ] + %.0117 = phi i32 [ %629, %771 ], [ %.0117.ph, %_ZN3ide19syntax_highlighting8injector8Injector12add_unmapped17hf33a392297098406E.exit332.outer ] %601 = trunc nuw i8 %600 to i1 br i1 %601, label %.outer, label %602 -602: ; preds = %_ZN3ide19syntax_highlighting8injector8Injector12add_unmapped17hf33a392297098406E.exit333 - %603 = icmp ugt i64 %.promoted.i336, %.sroa.5103.1 +602: ; preds = %_ZN3ide19syntax_highlighting8injector8Injector12add_unmapped17hf33a392297098406E.exit332 + %603 = icmp ugt i64 %.promoted.i335, %.sroa.5103.1 br i1 %603, label %._crit_edge.i.i, label %.lr.ph.split.split.i .lr.ph.split.split.i: ; preds = %602, %622 - %604 = phi i64 [ %619, %622 ], [ %.promoted.i336, %602 ] + %604 = phi i64 [ %619, %622 ], [ %.promoted.i335, %602 ] %.sroa.7.049.i = sub nuw i64 %.sroa.5103.1, %604 %.sroa.0.050.i = getelementptr inbounds i8, ptr %.sroa.0101.1, i64 %604 %605 = icmp ult i64 %.sroa.7.049.i, 16 @@ -32436,11 +32436,11 @@ _ZN3ide19syntax_highlighting8injector8Injector12add_unmapped17hf33a392297098406E 606: ; preds = %.lr.ph.split.split.i %607 = invoke { i64, i64 } @_ZN4core5slice6memchr14memchr_aligned17h70c951369894823fE(i8 noundef 10, ptr noalias noundef nonnull readonly align 1 %.sroa.0.050.i, i64 noundef %.sroa.7.049.i) - to label %.noexc345 unwind label %.loopexit.split-lp509.loopexit + to label %.noexc344 unwind label %.loopexit.split-lp508.loopexit 608: ; preds = %.lr.ph.split.split.i - %.not.i.i343 = icmp eq i64 %.sroa.7.049.i, 0 - br i1 %.not.i.i343, label %_ZN4core5slice6memchr12memchr_naive17hc161699a4e4d4b77E.llvm.1684962189325099908.exit.i, label %.lr.ph.i.i + %.not.i.i342 = icmp eq i64 %.sroa.7.049.i, 0 + br i1 %.not.i.i342, label %_ZN4core5slice6memchr12memchr_naive17hc161699a4e4d4b77E.llvm.1684962189325099908.exit.i, label %.lr.ph.i.i .lr.ph.i.i: ; preds = %608, %612 %.05.i.i = phi i64 [ %613, %612 ], [ 0, %608 ] @@ -32459,42 +32459,42 @@ _ZN4core5slice6memchr12memchr_naive17hc161699a4e4d4b77E.llvm.1684962189325099908 %.sroa.0.0.i24.i = phi i64 [ 0, %608 ], [ 1, %.lr.ph.i.i ], [ 0, %612 ] %614 = insertvalue { i64, i64 } poison, i64 %.sroa.0.0.i24.i, 0 %615 = insertvalue { i64, i64 } %614, i64 %.0.lcssa.i.i, 1 - br label %.noexc345 + br label %.noexc344 -.noexc345: ; preds = %606, %_ZN4core5slice6memchr12memchr_naive17hc161699a4e4d4b77E.llvm.1684962189325099908.exit.i +.noexc344: ; preds = %606, %_ZN4core5slice6memchr12memchr_naive17hc161699a4e4d4b77E.llvm.1684962189325099908.exit.i %.pn.i = phi { i64, i64 } [ %615, %_ZN4core5slice6memchr12memchr_naive17hc161699a4e4d4b77E.llvm.1684962189325099908.exit.i ], [ %607, %606 ] %.sroa.05.0.i = extractvalue { i64, i64 } %.pn.i, 0 %616 = icmp eq i64 %.sroa.05.0.i, 1 br i1 %616, label %617, label %._crit_edge.i.i -617: ; preds = %.noexc345 +617: ; preds = %.noexc344 %.sroa.6.0.i = extractvalue { i64, i64 } %.pn.i, 1 %618 = add i64 %604, 1 %619 = add i64 %618, %.sroa.6.0.i %620 = icmp ugt i64 %619, %.sroa.5103.1 %621 = add i64 %604, %.sroa.6.0.i - %or.cond.i340.not = icmp ult i64 %621, %.sroa.5103.1 - br i1 %or.cond.i340.not, label %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h203dd5ff83fa97b2E.exit.i341", label %622 + %or.cond.i339.not = icmp ult i64 %621, %.sroa.5103.1 + br i1 %or.cond.i339.not, label %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h203dd5ff83fa97b2E.exit.i340", label %622 -622: ; preds = %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h203dd5ff83fa97b2E.exit.i341", %617 +622: ; preds = %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h203dd5ff83fa97b2E.exit.i340", %617 br i1 %620, label %._crit_edge.i.i, label %.lr.ph.split.split.i -"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h203dd5ff83fa97b2E.exit.i341": ; preds = %617 +"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h203dd5ff83fa97b2E.exit.i340": ; preds = %617 %623 = add i64 %604, %.sroa.6.0.i %624 = getelementptr inbounds i8, ptr %.sroa.0101.1, i64 %623 %lhsc = load i8, ptr %624, align 1 %625 = icmp eq i8 %lhsc, 10 br i1 %625, label %._crit_edge.i.i, label %622 -._crit_edge.i.i: ; preds = %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h203dd5ff83fa97b2E.exit.i341", %.noexc345, %622, %602 - %.promoted.i336885 = phi i64 [ %.promoted.i336, %602 ], [ %619, %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h203dd5ff83fa97b2E.exit.i341" ], [ %619, %622 ], [ %.sroa.5103.1, %.noexc345 ] - %.promoted882 = phi i64 [ %.promoted883, %602 ], [ %619, %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h203dd5ff83fa97b2E.exit.i341" ], [ %.promoted883, %622 ], [ %.promoted883, %.noexc345 ] - %.sroa.0.sroa.5.0..sroa_idx.promoted879 = phi i8 [ 1, %602 ], [ %.sroa.0.sroa.5.0..sroa_idx.promoted880, %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h203dd5ff83fa97b2E.exit.i341" ], [ 1, %622 ], [ 1, %.noexc345 ] - %.lcssa553700 = phi i64 [ %.lcssa553701, %602 ], [ %619, %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h203dd5ff83fa97b2E.exit.i341" ], [ %.lcssa553701, %622 ], [ %.lcssa553701, %.noexc345 ] - %626 = phi i8 [ 1, %602 ], [ %600, %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h203dd5ff83fa97b2E.exit.i341" ], [ 1, %622 ], [ 1, %.noexc345 ] - %.pn704 = phi i64 [ %.sroa.5103.1, %602 ], [ %623, %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h203dd5ff83fa97b2E.exit.i341" ], [ %.sroa.5103.1, %622 ], [ %.sroa.5103.1, %.noexc345 ] - %.sroa.4.0.i = sub i64 %.pn704, %.lcssa553701 - %.sroa.0.0.i297 = getelementptr inbounds i8, ptr %.sroa.0101.1, i64 %.lcssa553701 +._crit_edge.i.i: ; preds = %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h203dd5ff83fa97b2E.exit.i340", %.noexc344, %622, %602 + %.promoted.i335884 = phi i64 [ %.promoted.i335, %602 ], [ %619, %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h203dd5ff83fa97b2E.exit.i340" ], [ %619, %622 ], [ %.sroa.5103.1, %.noexc344 ] + %.promoted881 = phi i64 [ %.promoted882, %602 ], [ %619, %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h203dd5ff83fa97b2E.exit.i340" ], [ %.promoted882, %622 ], [ %.promoted882, %.noexc344 ] + %.sroa.0.sroa.5.0..sroa_idx.promoted878 = phi i8 [ 1, %602 ], [ %.sroa.0.sroa.5.0..sroa_idx.promoted879, %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h203dd5ff83fa97b2E.exit.i340" ], [ 1, %622 ], [ 1, %.noexc344 ] + %.lcssa552699 = phi i64 [ %.lcssa552700, %602 ], [ %619, %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h203dd5ff83fa97b2E.exit.i340" ], [ %.lcssa552700, %622 ], [ %.lcssa552700, %.noexc344 ] + %626 = phi i8 [ 1, %602 ], [ %600, %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h203dd5ff83fa97b2E.exit.i340" ], [ 1, %622 ], [ 1, %.noexc344 ] + %.pn703 = phi i64 [ %.sroa.5103.1, %602 ], [ %623, %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h203dd5ff83fa97b2E.exit.i340" ], [ %.sroa.5103.1, %622 ], [ %.sroa.5103.1, %.noexc344 ] + %.sroa.4.0.i = sub i64 %.pn703, %.lcssa552700 + %.sroa.0.0.i297 = getelementptr inbounds i8, ptr %.sroa.0101.1, i64 %.lcssa552700 %627 = trunc i64 %.sroa.4.0.i to i32 %628 = add i32 %.0117, 1 %629 = add i32 %628, %627 @@ -32504,8 +32504,8 @@ _ZN4core5slice6memchr12memchr_naive17hc161699a4e4d4b77E.llvm.1684962189325099908 call void @llvm.experimental.noalias.scope.decl(metadata !5885) br label %630 -630: ; preds = %.noexc306, %._crit_edge.i.i - %631 = phi i64 [ %633, %.noexc306 ], [ 0, %._crit_edge.i.i ] +630: ; preds = %.noexc305, %._crit_edge.i.i + %631 = phi i64 [ %633, %.noexc305 ], [ 0, %._crit_edge.i.i ] %.not.not.i.i = icmp eq i64 %631, 2 br i1 %.not.not.i.i, label %640, label %632 @@ -32519,13 +32519,13 @@ _ZN4core5slice6memchr12memchr_naive17hc161699a4e4d4b77E.llvm.1684962189325099908 call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %11), !noalias !5893 call void @llvm.lifetime.start.p0(i64 104, ptr nonnull %10), !noalias !5893 invoke void @_ZN4core3str7pattern11StrSearcher3new17heb1c26811addaa28E(ptr noalias nocapture noundef nonnull sret({ { i64, [8 x i64] }, { ptr, i64 }, { ptr, i64 } }) align 8 dereferenceable(104) %10, ptr noalias noundef nonnull readonly align 1 %.sroa.0.0.i297, i64 noundef %.sroa.4.0.i, ptr noalias noundef nonnull readonly align 1 %635, i64 noundef %637) - to label %.noexc305 unwind label %.loopexit503 + to label %.noexc304 unwind label %.loopexit502 -.noexc305: ; preds = %632 +.noexc304: ; preds = %632 invoke fastcc void @"_ZN80_$LT$core..str..pattern..StrSearcher$u20$as$u20$core..str..pattern..Searcher$GT$10next_match17h81357aafb99f3895E"(ptr noalias nocapture noundef align 8 dereferenceable(24) %11, ptr noalias noundef align 8 dereferenceable(104) %10) - to label %.noexc306 unwind label %.loopexit503 + to label %.noexc305 unwind label %.loopexit502 -.noexc306: ; preds = %.noexc305 +.noexc305: ; preds = %.noexc304 %638 = load i64, ptr %11, align 8, !range !444, !noalias !5893, !noundef !9 %639 = load i64, ptr %187, align 8, !noalias !5893 call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %11), !noalias !5893 @@ -32533,44 +32533,44 @@ _ZN4core5slice6memchr12memchr_naive17hc161699a4e4d4b77E.llvm.1684962189325099908 %switch.not.not.i301 = icmp eq i64 %638, 0 br i1 %switch.not.not.i301, label %630, label %641 -.loopexit503: ; preds = %632, %.noexc305 - %lpad.loopexit505 = landingpad { ptr, i32 } +.loopexit502: ; preds = %632, %.noexc304 + %lpad.loopexit504 = landingpad { ptr, i32 } cleanup br label %.body261 -.loopexit.split-lp504.loopexit: ; preds = %772 - %lpad.loopexit518 = landingpad { ptr, i32 } +.loopexit.split-lp503.loopexit: ; preds = %772 + %lpad.loopexit517 = landingpad { ptr, i32 } cleanup br label %.body261 -.loopexit.split-lp504.loopexit.split-lp: ; preds = %.thread489 - %lpad.loopexit.split-lp519 = landingpad { ptr, i32 } +.loopexit.split-lp503.loopexit.split-lp: ; preds = %.thread488 + %lpad.loopexit.split-lp518 = landingpad { ptr, i32 } cleanup br label %.body261 640: ; preds = %630 - br i1 %.1132.ph, label %652, label %.loopexit524 + br i1 %.1132.ph, label %652, label %.loopexit523 -641: ; preds = %.noexc306 +641: ; preds = %.noexc305 %642 = add i64 %639, 3 %643 = xor i1 %.1.ph, true %644 = icmp eq i64 %642, 0 br i1 %644, label %772, label %645 645: ; preds = %641 - %.not.i.i307 = icmp ult i64 %642, %.sroa.4.0.i - br i1 %.not.i.i307, label %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.llvm.1684962189325099908.exit.i309", label %646 + %.not.i.i306 = icmp ult i64 %642, %.sroa.4.0.i + br i1 %.not.i.i306, label %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.llvm.1684962189325099908.exit.i308", label %646 646: ; preds = %645 %647 = icmp eq i64 %642, %.sroa.4.0.i - br i1 %647, label %772, label %.thread489 + br i1 %647, label %772, label %.thread488 -"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.llvm.1684962189325099908.exit.i309": ; preds = %645 +"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.llvm.1684962189325099908.exit.i308": ; preds = %645 %648 = getelementptr inbounds i8, ptr %.sroa.0.0.i297, i64 %642 %649 = load i8, ptr %648, align 1, !alias.scope !5901, !noundef !9 %650 = icmp sgt i8 %649, -65 %651 = sub nuw i64 %.sroa.4.0.i, %642 - br i1 %650, label %772, label %.thread489 + br i1 %650, label %772, label %.thread488 652: ; preds = %640 call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %47) @@ -32629,23 +32629,23 @@ _ZN4core5slice6memchr12memchr_naive17hc161699a4e4d4b77E.llvm.1684962189325099908 br label %689 689: ; preds = %667, %"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17hc3ce73c84d5059bbE.exit17.i", %"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17hc3ce73c84d5059bbE.exit15.i", %"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17hc3ce73c84d5059bbE.exit13.i" - %.sroa.4.0.i312.ph = phi i32 [ %665, %"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17hc3ce73c84d5059bbE.exit13.i" ], [ %677, %"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17hc3ce73c84d5059bbE.exit15.i" ], [ %688, %"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17hc3ce73c84d5059bbE.exit17.i" ], [ %668, %667 ] - switch i32 %.sroa.4.0.i312.ph, label %690 [ + %.sroa.4.0.i311.ph = phi i32 [ %665, %"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17hc3ce73c84d5059bbE.exit13.i" ], [ %677, %"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17hc3ce73c84d5059bbE.exit15.i" ], [ %688, %"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17hc3ce73c84d5059bbE.exit17.i" ], [ %668, %667 ] + switch i32 %.sroa.4.0.i311.ph, label %690 [ i32 1114112, label %"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$11starts_with17h39564f5417398afdE.exit" - i32 32, label %.thread471 - i32 13, label %.thread471 - i32 12, label %.thread471 - i32 11, label %.thread471 - i32 10, label %.thread471 - i32 9, label %.thread471 + i32 32, label %.thread470 + i32 13, label %.thread470 + i32 12, label %.thread470 + i32 11, label %.thread470 + i32 10, label %.thread470 + i32 9, label %.thread470 ] 690: ; preds = %689 - %691 = icmp samesign ugt i32 %.sroa.4.0.i312.ph, 127 + %691 = icmp samesign ugt i32 %.sroa.4.0.i311.ph, 127 br i1 %691, label %692, label %"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$11starts_with17h39564f5417398afdE.exit" 692: ; preds = %690 - %693 = lshr i32 %.sroa.4.0.i312.ph, 8 + %693 = lshr i32 %.sroa.4.0.i311.ph, 8 switch i32 %693, label %"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$11starts_with17h39564f5417398afdE.exit" [ i32 0, label %700 i32 22, label %694 @@ -32654,24 +32654,24 @@ _ZN4core5slice6memchr12memchr_naive17hc161699a4e4d4b77E.llvm.1684962189325099908 ] 694: ; preds = %692 - %695 = icmp eq i32 %.sroa.4.0.i312.ph, 5760 + %695 = icmp eq i32 %.sroa.4.0.i311.ph, 5760 %696 = zext i1 %695 to i8 br label %"_ZN3ide19syntax_highlighting6inject11doc_comment28_$u7b$$u7b$closure$u7d$$u7d$17h12b90ffd0e88e05fE.exit.i" 697: ; preds = %692 - %698 = icmp eq i32 %.sroa.4.0.i312.ph, 12288 + %698 = icmp eq i32 %.sroa.4.0.i311.ph, 12288 %699 = zext i1 %698 to i8 br label %"_ZN3ide19syntax_highlighting6inject11doc_comment28_$u7b$$u7b$closure$u7d$$u7d$17h12b90ffd0e88e05fE.exit.i" 700: ; preds = %692 - %701 = and i32 %.sroa.4.0.i312.ph, 255 + %701 = and i32 %.sroa.4.0.i311.ph, 255 %702 = zext nneg i32 %701 to i64 %703 = getelementptr inbounds nuw [256 x i8], ptr @_ZN4core7unicode12unicode_data11white_space14WHITESPACE_MAP17h6b90392c31973ed5E, i64 0, i64 %702 %704 = load i8, ptr %703, align 1, !noundef !9 br label %"_ZN3ide19syntax_highlighting6inject11doc_comment28_$u7b$$u7b$closure$u7d$$u7d$17h12b90ffd0e88e05fE.exit.i" 705: ; preds = %692 - %706 = and i32 %.sroa.4.0.i312.ph, 255 + %706 = and i32 %.sroa.4.0.i311.ph, 255 %707 = zext nneg i32 %706 to i64 %708 = getelementptr inbounds nuw [256 x i8], ptr @_ZN4core7unicode12unicode_data11white_space14WHITESPACE_MAP17h6b90392c31973ed5E, i64 0, i64 %707 %709 = load i8, ptr %708, align 1, !noundef !9 @@ -32679,72 +32679,72 @@ _ZN4core5slice6memchr12memchr_naive17hc161699a4e4d4b77E.llvm.1684962189325099908 br label %"_ZN3ide19syntax_highlighting6inject11doc_comment28_$u7b$$u7b$closure$u7d$$u7d$17h12b90ffd0e88e05fE.exit.i" "_ZN3ide19syntax_highlighting6inject11doc_comment28_$u7b$$u7b$closure$u7d$$u7d$17h12b90ffd0e88e05fE.exit.i": ; preds = %705, %700, %697, %694 - %.0.i.i.i315 = phi i8 [ %699, %697 ], [ %710, %705 ], [ %696, %694 ], [ %704, %700 ] - %711 = trunc i8 %.0.i.i.i315 to i1 - %.not146 = icmp ne i32 %.sroa.4.0.i312.ph, 1114112 + %.0.i.i.i314 = phi i8 [ %699, %697 ], [ %710, %705 ], [ %696, %694 ], [ %704, %700 ] + %711 = trunc i8 %.0.i.i.i314 to i1 + %.not146 = icmp ne i32 %.sroa.4.0.i311.ph, 1114112 %or.cond.not = and i1 %.not146, %711 br i1 %or.cond.not, label %720, label %"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$11starts_with17h39564f5417398afdE.exit" 712: ; preds = %720 - %713 = icmp samesign ult i32 %.sroa.4.0.i312.ph, 65536 + %713 = icmp samesign ult i32 %.sroa.4.0.i311.ph, 65536 %. = select i1 %713, i32 3, i32 4 - br label %.thread471 + br label %.thread470 -.thread471: ; preds = %689, %689, %689, %689, %689, %689, %720, %712 - %.0123473 = phi i32 [ %., %712 ], [ 2, %720 ], [ 1, %689 ], [ 1, %689 ], [ 1, %689 ], [ 1, %689 ], [ 1, %689 ], [ 1, %689 ] - %714 = zext nneg i32 %.0123473 to i64 - %.not.i.i316 = icmp ugt i64 %.sroa.4.0.i, %714 - br i1 %.not.i.i316, label %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.llvm.1684962189325099908.exit.i318", label %715 +.thread470: ; preds = %689, %689, %689, %689, %689, %689, %720, %712 + %.0123472 = phi i32 [ %., %712 ], [ 2, %720 ], [ 1, %689 ], [ 1, %689 ], [ 1, %689 ], [ 1, %689 ], [ 1, %689 ], [ 1, %689 ] + %714 = zext nneg i32 %.0123472 to i64 + %.not.i.i315 = icmp ugt i64 %.sroa.4.0.i, %714 + br i1 %.not.i.i315, label %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.llvm.1684962189325099908.exit.i317", label %715 -715: ; preds = %.thread471 +715: ; preds = %.thread470 %716 = icmp eq i64 %.sroa.4.0.i, %714 - br i1 %716, label %"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$11starts_with17h39564f5417398afdE.exit.thread", label %.thread475.invoke + br i1 %716, label %"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$11starts_with17h39564f5417398afdE.exit.thread", label %.thread474.invoke -"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.llvm.1684962189325099908.exit.i318": ; preds = %.thread471 +"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.llvm.1684962189325099908.exit.i317": ; preds = %.thread470 %717 = getelementptr inbounds nuw i8, ptr %.sroa.0.0.i297, i64 %714 %718 = load i8, ptr %717, align 1, !alias.scope !5909, !noundef !9 %719 = icmp sgt i8 %718, -65 - br i1 %719, label %.thread466, label %.thread475.invoke + br i1 %719, label %.thread465, label %.thread474.invoke 720: ; preds = %"_ZN3ide19syntax_highlighting6inject11doc_comment28_$u7b$$u7b$closure$u7d$$u7d$17h12b90ffd0e88e05fE.exit.i" - %721 = icmp samesign ult i32 %.sroa.4.0.i312.ph, 2048 - br i1 %721, label %.thread471, label %712 + %721 = icmp samesign ult i32 %.sroa.4.0.i311.ph, 2048 + br i1 %721, label %.thread470, label %712 -.thread466: ; preds = %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.llvm.1684962189325099908.exit.i318" - %.not.i320 = icmp eq i64 %.sroa.4.0.i, %714 - br i1 %.not.i320, label %"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$11starts_with17h39564f5417398afdE.exit.thread", label %"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$11starts_with17h39564f5417398afdE.exit" +.thread465: ; preds = %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.llvm.1684962189325099908.exit.i317" + %.not.i319 = icmp eq i64 %.sroa.4.0.i, %714 + br i1 %.not.i319, label %"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$11starts_with17h39564f5417398afdE.exit.thread", label %"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$11starts_with17h39564f5417398afdE.exit" -.thread475.invoke: ; preds = %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.llvm.1684962189325099908.exit.i326", %745, %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.llvm.1684962189325099908.exit.i318", %715 - %722 = phi i64 [ %714, %715 ], [ %714, %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.llvm.1684962189325099908.exit.i318" ], [ %742, %745 ], [ %742, %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.llvm.1684962189325099908.exit.i326" ] - %723 = phi ptr [ @anon.51bed9337ee0b8104f33ac59a1bbbf07.261, %715 ], [ @anon.51bed9337ee0b8104f33ac59a1bbbf07.261, %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.llvm.1684962189325099908.exit.i318" ], [ @anon.51bed9337ee0b8104f33ac59a1bbbf07.262, %745 ], [ @anon.51bed9337ee0b8104f33ac59a1bbbf07.262, %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.llvm.1684962189325099908.exit.i326" ] +.thread474.invoke: ; preds = %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.llvm.1684962189325099908.exit.i325", %745, %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.llvm.1684962189325099908.exit.i317", %715 + %722 = phi i64 [ %714, %715 ], [ %714, %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.llvm.1684962189325099908.exit.i317" ], [ %742, %745 ], [ %742, %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.llvm.1684962189325099908.exit.i325" ] + %723 = phi ptr [ @anon.51bed9337ee0b8104f33ac59a1bbbf07.261, %715 ], [ @anon.51bed9337ee0b8104f33ac59a1bbbf07.261, %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.llvm.1684962189325099908.exit.i317" ], [ @anon.51bed9337ee0b8104f33ac59a1bbbf07.262, %745 ], [ @anon.51bed9337ee0b8104f33ac59a1bbbf07.262, %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.llvm.1684962189325099908.exit.i325" ] invoke void @_ZN4core3str16slice_error_fail17he2ff12236fb0c056E(ptr noalias noundef nonnull readonly align 1 %.sroa.0.0.i297, i64 noundef %.sroa.4.0.i, i64 noundef %722, i64 noundef %.sroa.4.0.i, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) %723) #51 - to label %.thread475.cont unwind label %.loopexit.split-lp509.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp + to label %.thread474.cont unwind label %.loopexit.split-lp508.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp -.thread475.cont: ; preds = %.thread475.invoke +.thread474.cont: ; preds = %.thread474.invoke unreachable -"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$11starts_with17h39564f5417398afdE.exit": ; preds = %692, %690, %"_ZN3ide19syntax_highlighting6inject11doc_comment28_$u7b$$u7b$closure$u7d$$u7d$17h12b90ffd0e88e05fE.exit.i", %689, %.thread466 - %.0123469904 = phi i32 [ %.0123473, %.thread466 ], [ 0, %689 ], [ 0, %"_ZN3ide19syntax_highlighting6inject11doc_comment28_$u7b$$u7b$closure$u7d$$u7d$17h12b90ffd0e88e05fE.exit.i" ], [ 0, %690 ], [ 0, %692 ] - %724 = phi i64 [ %714, %.thread466 ], [ 0, %689 ], [ 0, %"_ZN3ide19syntax_highlighting6inject11doc_comment28_$u7b$$u7b$closure$u7d$$u7d$17h12b90ffd0e88e05fE.exit.i" ], [ 0, %690 ], [ 0, %692 ] +"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$11starts_with17h39564f5417398afdE.exit": ; preds = %692, %690, %"_ZN3ide19syntax_highlighting6inject11doc_comment28_$u7b$$u7b$closure$u7d$$u7d$17h12b90ffd0e88e05fE.exit.i", %689, %.thread465 + %.0123468903 = phi i32 [ %.0123472, %.thread465 ], [ 0, %689 ], [ 0, %"_ZN3ide19syntax_highlighting6inject11doc_comment28_$u7b$$u7b$closure$u7d$$u7d$17h12b90ffd0e88e05fE.exit.i" ], [ 0, %690 ], [ 0, %692 ] + %724 = phi i64 [ %714, %.thread465 ], [ 0, %689 ], [ 0, %"_ZN3ide19syntax_highlighting6inject11doc_comment28_$u7b$$u7b$closure$u7d$$u7d$17h12b90ffd0e88e05fE.exit.i" ], [ 0, %690 ], [ 0, %692 ] %725 = getelementptr inbounds nuw i8, ptr %.sroa.0.0.i297, i64 %724 %rhsc = load i8, ptr %725, align 1 %rhsc.fr = freeze i8 %rhsc %726 = icmp eq i8 %rhsc.fr, 35 %727 = zext i1 %726 to i32 - %spec.select = add nuw nsw i32 %.0123469904, %727 + %spec.select = add nuw nsw i32 %.0123468903, %727 br label %"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$11starts_with17h39564f5417398afdE.exit.thread" -"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$11starts_with17h39564f5417398afdE.exit.thread": ; preds = %652, %715, %.thread466, %"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$11starts_with17h39564f5417398afdE.exit" - %728 = phi i32 [ %spec.select, %"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$11starts_with17h39564f5417398afdE.exit" ], [ %.0123473, %.thread466 ], [ 0, %652 ], [ %.0123473, %715 ] +"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$11starts_with17h39564f5417398afdE.exit.thread": ; preds = %652, %715, %.thread465, %"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$11starts_with17h39564f5417398afdE.exit" + %728 = phi i32 [ %spec.select, %"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$11starts_with17h39564f5417398afdE.exit" ], [ %.0123472, %.thread465 ], [ 0, %652 ], [ %.0123472, %715 ] %729 = add i32 %728, %.0117 %.not147 = icmp ugt i32 %.0117, %729 - br i1 %.not147, label %.invoke1279, label %730 + br i1 %.not147, label %.invoke1278, label %730 -.invoke1279: ; preds = %751, %"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$11starts_with17h39564f5417398afdE.exit.thread" +.invoke1278: ; preds = %751, %"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$11starts_with17h39564f5417398afdE.exit.thread" invoke void @_ZN4core9panicking5panic17h44790a89027c670fE(ptr noalias noundef nonnull readonly align 1 @anon.51bed9337ee0b8104f33ac59a1bbbf07.88, i64 noundef 38, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.51bed9337ee0b8104f33ac59a1bbbf07.89) #51 - to label %.cont1280 unwind label %.loopexit.split-lp509.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp + to label %.cont1279 unwind label %.loopexit.split-lp508.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp -.cont1280: ; preds = %.invoke1279 +.cont1279: ; preds = %.invoke1278 unreachable 730: ; preds = %"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$11starts_with17h39564f5417398afdE.exit.thread" @@ -32755,14 +32755,14 @@ _ZN4core5slice6memchr12memchr_naive17hc161699a4e4d4b77E.llvm.1684962189325099908 734: ; preds = %730 invoke void @"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$16reserve_for_push17ha68fc871ce92fbaeE"(ptr noalias noundef nonnull align 8 dereferenceable(24) %53, i64 noundef %731) - to label %.noexc323 unwind label %.loopexit.split-lp509.loopexit.split-lp.loopexit + to label %.noexc322 unwind label %.loopexit.split-lp508.loopexit.split-lp.loopexit -.noexc323: ; preds = %734 - %.pre.i322 = load i64, ptr %171, align 8, !alias.scope !5914 +.noexc322: ; preds = %734 + %.pre.i321 = load i64, ptr %171, align 8, !alias.scope !5914 br label %735 -735: ; preds = %.noexc323, %730 - %736 = phi i64 [ %.pre.i322, %.noexc323 ], [ %731, %730 ] +735: ; preds = %.noexc322, %730 + %736 = phi i64 [ %.pre.i321, %.noexc322 ], [ %731, %730 ] %737 = load ptr, ptr %170, align 8, !alias.scope !5914, !nonnull !9, !noundef !9 %738 = getelementptr inbounds { i32, i32 }, ptr %737, i64 %736 store i32 %.0117, ptr %738, align 4 @@ -32776,25 +32776,25 @@ _ZN4core5slice6memchr12memchr_naive17hc161699a4e4d4b77E.llvm.1684962189325099908 br i1 %743, label %751, label %744 744: ; preds = %735 - %.not.i.i324 = icmp ugt i64 %.sroa.4.0.i, %742 - br i1 %.not.i.i324, label %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.llvm.1684962189325099908.exit.i326", label %745 + %.not.i.i323 = icmp ugt i64 %.sroa.4.0.i, %742 + br i1 %.not.i.i323, label %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.llvm.1684962189325099908.exit.i325", label %745 745: ; preds = %744 %746 = icmp eq i64 %.sroa.4.0.i, %742 - br i1 %746, label %751, label %.thread475.invoke + br i1 %746, label %751, label %.thread474.invoke -"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.llvm.1684962189325099908.exit.i326": ; preds = %744 +"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.llvm.1684962189325099908.exit.i325": ; preds = %744 %747 = getelementptr inbounds nuw i8, ptr %.sroa.0.0.i297, i64 %742 %748 = load i8, ptr %747, align 1, !alias.scope !5917, !noundef !9 %749 = icmp sgt i8 %748, -65 %750 = sub nuw i64 %.sroa.4.0.i, %742 - br i1 %749, label %751, label %.thread475.invoke + br i1 %749, label %751, label %.thread474.invoke -751: ; preds = %735, %745, %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.llvm.1684962189325099908.exit.i326" - %752 = phi i64 [ %750, %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.llvm.1684962189325099908.exit.i326" ], [ 0, %745 ], [ %.sroa.4.0.i, %735 ] +751: ; preds = %735, %745, %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.llvm.1684962189325099908.exit.i325" + %752 = phi i64 [ %750, %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.llvm.1684962189325099908.exit.i325" ], [ 0, %745 ], [ %.sroa.4.0.i, %735 ] %753 = getelementptr inbounds nuw i8, ptr %.sroa.0.0.i297, i64 %742 %.not148 = icmp ugt i32 %728, %627 - br i1 %.not148, label %.invoke1279, label %754 + br i1 %.not148, label %.invoke1278, label %754 754: ; preds = %751 %755 = call { i32, i1 } @llvm.uadd.with.overflow.i32(i32 %728, i32 %.0117) @@ -32809,7 +32809,7 @@ _ZN4core5slice6memchr12memchr_naive17hc161699a4e4d4b77E.llvm.1684962189325099908 761: ; preds = %758, %754 invoke void @_ZN4core6option13expect_failed17hea24986454718b4fE(ptr noalias noundef nonnull readonly align 1 @anon.51bed9337ee0b8104f33ac59a1bbbf07.110, i64 noundef 28, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.51bed9337ee0b8104f33ac59a1bbbf07.111) #51 - to label %540 unwind label %.loopexit.split-lp509.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp + to label %540 unwind label %.loopexit.split-lp508.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp 762: ; preds = %758 call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %9), !noalias !5922 @@ -32819,9 +32819,9 @@ _ZN4core5slice6memchr12memchr_naive17hc161699a4e4d4b77E.llvm.1684962189325099908 764: ; preds = %762 invoke void @_ZN4core6result13unwrap_failed17ha188096f98826595E(ptr noalias noundef nonnull readonly align 1 @anon.51bed9337ee0b8104f33ac59a1bbbf07.63, i64 noundef 43, ptr noundef nonnull align 1 %6, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.51bed9337ee0b8104f33ac59a1bbbf07.65, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.51bed9337ee0b8104f33ac59a1bbbf07.92) #51 - to label %.noexc329 unwind label %.loopexit.split-lp509.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp + to label %.noexc328 unwind label %.loopexit.split-lp508.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp -.noexc329: ; preds = %764 +.noexc328: ; preds = %764 unreachable "_ZN4core6result19Result$LT$T$C$E$GT$6unwrap17h806f63d2dea10a43E.exit.i": ; preds = %762 @@ -32839,45 +32839,45 @@ _ZN4core5slice6memchr12memchr_naive17hc161699a4e4d4b77E.llvm.1684962189325099908 call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %7), !noalias !5922 store ptr null, ptr %7, align 8, !noalias !5922 invoke void @_ZN4core9panicking13assert_failed17h408c633576b24b06E(i8 noundef 0, ptr noalias noundef nonnull readonly align 4 dereferenceable(4) %9, ptr noalias noundef nonnull readonly align 4 dereferenceable(4) %8, ptr noalias nocapture noundef nonnull align 8 dereferenceable(48) %7, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.51bed9337ee0b8104f33ac59a1bbbf07.233) #51 - to label %.noexc330 unwind label %.loopexit.split-lp509.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp + to label %.noexc329 unwind label %.loopexit.split-lp508.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp -.noexc330: ; preds = %769 +.noexc329: ; preds = %769 unreachable 770: ; preds = %"_ZN4core6result19Result$LT$T$C$E$GT$6unwrap17h806f63d2dea10a43E.exit.i" call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %8), !noalias !5922 invoke fastcc void @_ZN3ide19syntax_highlighting8injector8Injector8add_impl17h22f2faa1bc2cb848E(ptr noalias noundef nonnull align 8 dereferenceable(48) %55, ptr noalias noundef nonnull readonly align 1 %753, i64 noundef %752, i32 noundef 1, i32 %757) - to label %771 unwind label %.loopexit.split-lp509.loopexit.split-lp.loopexit + to label %771 unwind label %.loopexit.split-lp508.loopexit.split-lp.loopexit 771: ; preds = %770 call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %9), !noalias !5922 invoke fastcc void @_ZN3ide19syntax_highlighting8injector8Injector8add_impl17h22f2faa1bc2cb848E(ptr noalias noundef nonnull align 8 dereferenceable(48) %55, ptr noalias noundef nonnull readonly align 1 @anon.51bed9337ee0b8104f33ac59a1bbbf07.263, i64 noundef 1, i32 noundef 0, i32 undef) - to label %_ZN3ide19syntax_highlighting8injector8Injector12add_unmapped17hf33a392297098406E.exit333 unwind label %.loopexit.split-lp509.loopexit.split-lp.loopexit + to label %_ZN3ide19syntax_highlighting8injector8Injector12add_unmapped17hf33a392297098406E.exit332 unwind label %.loopexit.split-lp508.loopexit.split-lp.loopexit -.thread489: ; preds = %646, %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.llvm.1684962189325099908.exit.i309" +.thread488: ; preds = %646, %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.llvm.1684962189325099908.exit.i308" invoke void @_ZN4core3str16slice_error_fail17he2ff12236fb0c056E(ptr noalias noundef nonnull readonly align 1 %.sroa.0.0.i297, i64 noundef %.sroa.4.0.i, i64 noundef %642, i64 noundef %.sroa.4.0.i, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.51bed9337ee0b8104f33ac59a1bbbf07.264) #51 - to label %540 unwind label %.loopexit.split-lp504.loopexit.split-lp + to label %540 unwind label %.loopexit.split-lp503.loopexit.split-lp -772: ; preds = %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.llvm.1684962189325099908.exit.i309", %646, %641 - %773 = phi i64 [ %651, %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.llvm.1684962189325099908.exit.i309" ], [ 0, %646 ], [ %.sroa.4.0.i, %641 ] +772: ; preds = %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.llvm.1684962189325099908.exit.i308", %646, %641 + %773 = phi i64 [ %651, %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17ha03ab45daa8167cbE.llvm.1684962189325099908.exit.i308" ], [ 0, %646 ], [ %.sroa.4.0.i, %641 ] %774 = getelementptr inbounds i8, ptr %.sroa.0.0.i297, i64 %642 %775 = invoke noundef zeroext i1 @_ZN6ide_db8rust_doc13is_rust_fence17h175098477c79790dE(ptr noalias noundef nonnull readonly align 1 %774, i64 noundef %773) - to label %776 unwind label %.loopexit.split-lp504.loopexit + to label %776 unwind label %.loopexit.split-lp503.loopexit 776: ; preds = %772 %narrow = and i1 %775, %643 - br label %.loopexit524 + br label %.loopexit523 -.loopexit524: ; preds = %640, %776 +.loopexit523: ; preds = %640, %776 %.2133 = phi i1 [ %narrow, %776 ], [ false, %640 ] %.2 = phi i1 [ %643, %776 ], [ %.1.ph, %640 ] call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %47) - br label %_ZN3ide19syntax_highlighting8injector8Injector12add_unmapped17hf33a392297098406E.exit333.outer + br label %_ZN3ide19syntax_highlighting8injector8Injector12add_unmapped17hf33a392297098406E.exit332.outer 777: ; preds = %.body261._crit_edge, %.thread - %778 = phi ptr [ %.0.i251, %.thread ], [ %.pre892, %.body261._crit_edge ] - %.pn155.pn397 = phi { ptr, i32 } [ %479, %.thread ], [ %.pn155.pn, %.body261._crit_edge ] - %.1120396 = phi i1 [ true, %.thread ], [ %.1120, %.body261._crit_edge ] + %778 = phi ptr [ %.0.i251, %.thread ], [ %.pre891, %.body261._crit_edge ] + %.pn155.pn396 = phi { ptr, i32 } [ %479, %.thread ], [ %.pn155.pn, %.body261._crit_edge ] + %.1120395 = phi i1 [ true, %.thread ], [ %.1120, %.body261._crit_edge ] call void @llvm.experimental.noalias.scope.decl(metadata !5926) call void @llvm.experimental.noalias.scope.decl(metadata !5927) call void @llvm.experimental.noalias.scope.decl(metadata !5928) @@ -32887,19 +32887,19 @@ _ZN4core5slice6memchr12memchr_naive17hc161699a4e4d4b77E.llvm.1684962189325099908 %781 = add i32 %780, -1 store i32 %781, ptr %779, align 4, !noalias !5534 %782 = icmp eq i32 %781, 0 - br i1 %782, label %783, label %"_ZN4core3ptr59drop_in_place$LT$syntax..ast..generated..tokens..String$GT$17ha3047d0179cfd9d3E.exit335" + br i1 %782, label %783, label %"_ZN4core3ptr59drop_in_place$LT$syntax..ast..generated..tokens..String$GT$17ha3047d0179cfd9d3E.exit334" 783: ; preds = %777 invoke void @_ZN5rowan6cursor4free17ha2e1b2c8c83f79d6E(ptr noundef nonnull %778) - to label %"_ZN4core3ptr59drop_in_place$LT$syntax..ast..generated..tokens..String$GT$17ha3047d0179cfd9d3E.exit335" unwind label %164 + to label %"_ZN4core3ptr59drop_in_place$LT$syntax..ast..generated..tokens..String$GT$17ha3047d0179cfd9d3E.exit334" unwind label %164 -784: ; preds = %.thread900, %"_ZN4core3ptr59drop_in_place$LT$syntax..ast..generated..tokens..String$GT$17ha3047d0179cfd9d3E.exit335" - %.pn158899 = phi { ptr, i32 } [ %.pn158, %"_ZN4core3ptr59drop_in_place$LT$syntax..ast..generated..tokens..String$GT$17ha3047d0179cfd9d3E.exit335" ], [ %220, %.thread900 ] +784: ; preds = %.thread899, %"_ZN4core3ptr59drop_in_place$LT$syntax..ast..generated..tokens..String$GT$17ha3047d0179cfd9d3E.exit334" + %.pn158898 = phi { ptr, i32 } [ %.pn158, %"_ZN4core3ptr59drop_in_place$LT$syntax..ast..generated..tokens..String$GT$17ha3047d0179cfd9d3E.exit334" ], [ %220, %.thread899 ] invoke void @"_ZN4core3ptr71drop_in_place$LT$alloc..vec..Vec$LT$text_size..range..TextRange$GT$$GT$17h75a6f931ab57333fE"(ptr noalias noundef nonnull align 8 dereferenceable(24) %53) #49 to label %223 unwind label %164 "_ZN4core3ptr50drop_in_place$LT$hir_def..attr..AttrsWithOwner$GT$17h67314020fe49eb97E.exit": ; preds = %71, %75 - resume { ptr, i32 } %.pn494 + resume { ptr, i32 } %.pn493 } ; Function Attrs: nonlazybind uwtable diff --git a/bench/rust-analyzer-rs/optimized/xh6m92l5tmfbxs4.ll b/bench/rust-analyzer-rs/optimized/xh6m92l5tmfbxs4.ll index c120fa9d837..4408ee4f9d1 100644 --- a/bench/rust-analyzer-rs/optimized/xh6m92l5tmfbxs4.ll +++ b/bench/rust-analyzer-rs/optimized/xh6m92l5tmfbxs4.ll @@ -378,18 +378,18 @@ define hidden void @_ZN3std2io16append_to_string17hbf06cdc5394ca82dE(ptr noalias tail call void @llvm.experimental.noalias.scope.decl(metadata !70) %13 = load i64, ptr %1, align 8, !alias.scope !73, !noalias !74, !noundef !4 %trunc.i.i = trunc nuw i64 %.val22 to i1 - br i1 %trunc.i.i, label %14, label %26 + br i1 %trunc.i.i, label %14, label %.thread.i.i 14: ; preds = %4 %15 = tail call { i64, i1 } @llvm.uadd.with.overflow.i64(i64 %.val23, i64 1024) %16 = extractvalue { i64, i1 } %15, 0 %17 = extractvalue { i64, i1 } %15, 1 - br i1 %17, label %.thread99.i.i, label %18 + br i1 %17, label %.thread.i.i, label %18 18: ; preds = %14 %19 = and i64 %16, 8191 %20 = icmp eq i64 %19, 0 - br i1 %20, label %.thread93.i.i, label %21 + br i1 %20, label %.thread87.i.i, label %21 21: ; preds = %18 %22 = sub nuw nsw i64 8192, %19 @@ -397,352 +397,344 @@ define hidden void @_ZN3std2io16append_to_string17hbf06cdc5394ca82dE(ptr noalias %.fr.i.i = freeze { i64, i1 } %23 %24 = extractvalue { i64, i1 } %.fr.i.i, 1 %25 = extractvalue { i64, i1 } %.fr.i.i, 0 - br i1 %24, label %.thread99.i.i, label %.thread93.i.i + br i1 %24, label %.thread.i.i, label %.thread87.i.i -.thread99.i.i: ; preds = %21, %14 - br label %.thread93.i.i +.thread.i.i: ; preds = %21, %14, %4 + br label %.thread87.i.i -26: ; preds = %4 +.thread87.i.i: ; preds = %.thread.i.i, %21, %18 + %26 = phi i64 [ 8192, %.thread.i.i ], [ %25, %21 ], [ %16, %18 ] %.not.i.i = icmp eq i64 %.val22, 0 - br i1 %.not.i.i, label %29, label %.thread101.i.i - -.thread93.i.i: ; preds = %.thread99.i.i, %21, %18 - %27 = phi i64 [ 8192, %.thread99.i.i ], [ %25, %21 ], [ %16, %18 ] - %28 = icmp eq i64 %.val23, 0 - br i1 %28, label %29, label %.thread101.i.i - -29: ; preds = %.thread93.i.i, %26 - %30 = phi i64 [ 8192, %26 ], [ %27, %.thread93.i.i ] - %.not96.i.i = xor i1 %trunc.i.i, true - %31 = sub i64 %13, %11 - %32 = icmp ult i64 %31, 32 - br i1 %32, label %40, label %.thread101.i.i - -.thread101.i.i: ; preds = %..thread101_crit_edge.i.i, %29, %.thread93.i.i, %26 - %.pre.i.i = phi i64 [ %.pre.pre.i.i, %..thread101_crit_edge.i.i ], [ %11, %29 ], [ %11, %.thread93.i.i ], [ %11, %26 ] - %.not95.i.i = phi i1 [ %.not96.i.i, %..thread101_crit_edge.i.i ], [ %.not96.i.i, %29 ], [ false, %.thread93.i.i ], [ false, %26 ] - %33 = phi i64 [ %30, %..thread101_crit_edge.i.i ], [ %30, %29 ], [ %27, %.thread93.i.i ], [ 8192, %26 ] - %34 = getelementptr inbounds nuw i8, ptr %7, i64 8 - %35 = getelementptr inbounds nuw i8, ptr %1, i64 8 - %36 = getelementptr inbounds nuw i8, ptr %6, i64 8 - %37 = getelementptr inbounds nuw i8, ptr %6, i64 16 - %38 = getelementptr inbounds nuw i8, ptr %6, i64 24 - %39 = getelementptr inbounds nuw i8, ptr %5, i64 8 - br label %48 - -40: ; preds = %29 + %27 = icmp eq i64 %.val23, 0 + %or.cond69.i.i = select i1 %.not.i.i, i1 true, i1 %27 + %28 = sub i64 %13, %11 + %29 = icmp ult i64 %28, 32 + %or.cond96.i.i = and i1 %or.cond69.i.i, %29 + br i1 %or.cond96.i.i, label %37, label %30 + +30: ; preds = %._crit_edge125.i.i, %.thread87.i.i + %.pre.i.i = phi i64 [ %.pre.pre.i.i, %._crit_edge125.i.i ], [ %11, %.thread87.i.i ] + %31 = getelementptr inbounds nuw i8, ptr %7, i64 8 + %32 = getelementptr inbounds nuw i8, ptr %1, i64 8 + %33 = getelementptr inbounds nuw i8, ptr %6, i64 8 + %34 = getelementptr inbounds nuw i8, ptr %6, i64 16 + %35 = getelementptr inbounds nuw i8, ptr %6, i64 24 + %36 = getelementptr inbounds nuw i8, ptr %5, i64 8 + br label %45 + +37: ; preds = %.thread87.i.i call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %8), !noalias !79 invoke fastcc void @_ZN3std2io19default_read_to_end16small_probe_read17h6c6362940cac52e7E(ptr noalias nocapture noundef align 8 dereferenceable(16) %8, ptr noalias noundef nonnull align 4 dereferenceable(4) %2, ptr noalias noundef nonnull align 8 dereferenceable(24) %1) to label %.noexc unwind label %.loopexit.split-lp.loopexit.split-lp -.noexc: ; preds = %40 - %41 = load i64, ptr %8, align 8, !range !66, !noalias !79, !noundef !4 - %trunc58.i.i = trunc nuw i64 %41 to i1 - %42 = getelementptr inbounds nuw i8, ptr %8, i64 8 - %43 = load ptr, ptr %42, align 8, !noalias !79 +.noexc: ; preds = %37 + %38 = load i64, ptr %8, align 8, !range !66, !noalias !79, !noundef !4 + %trunc58.i.i = trunc nuw i64 %38 to i1 + %39 = getelementptr inbounds nuw i8, ptr %8, i64 8 + %40 = load ptr, ptr %39, align 8, !noalias !79 call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %8), !noalias !79 - br i1 %trunc58.i.i, label %46, label %44 + br i1 %trunc58.i.i, label %43, label %41 -44: ; preds = %.noexc - %45 = icmp eq ptr %43, null - br i1 %45, label %"_ZN3std2io22default_read_to_string28_$u7b$$u7b$closure$u7d$$u7d$17h0e49199312f85efeE.exit", label %..thread101_crit_edge.i.i +41: ; preds = %.noexc + %42 = icmp eq ptr %40, null + br i1 %42, label %"_ZN3std2io22default_read_to_string28_$u7b$$u7b$closure$u7d$$u7d$17h0e49199312f85efeE.exit", label %._crit_edge125.i.i -..thread101_crit_edge.i.i: ; preds = %44 +._crit_edge125.i.i: ; preds = %41 %.pre.pre.i.i = load i64, ptr %10, align 8, !alias.scope !73, !noalias !74 - br label %.thread101.i.i + br label %30 -46: ; preds = %.noexc - %47 = ptrtoint ptr %43 to i64 +43: ; preds = %.noexc + %44 = ptrtoint ptr %40 to i64 br label %"_ZN3std2io22default_read_to_string28_$u7b$$u7b$closure$u7d$$u7d$17h0e49199312f85efeE.exit" -48: ; preds = %113, %.thread101.i.i - %49 = phi i64 [ %.pre.i.i, %.thread101.i.i ], [ %109, %113 ] - %.052.i.i = phi i64 [ 0, %.thread101.i.i ], [ %87, %113 ] - %.1.i.i = phi i64 [ %33, %.thread101.i.i ], [ %.2.i.i, %113 ] - %50 = load i64, ptr %1, align 8, !alias.scope !73, !noalias !74, !noundef !4 - %51 = icmp eq i64 %49, %50 - %52 = icmp eq i64 %50, %13 - %or.cond2.i.i = and i1 %51, %52 - br i1 %or.cond2.i.i, label %57, label %53 - -53: ; preds = %._crit_edge132.i.i, %48 - %54 = phi i64 [ %.pre133.i.i, %._crit_edge132.i.i ], [ %50, %48 ] - %55 = phi i64 [ %.pre131.i.i, %._crit_edge132.i.i ], [ %49, %48 ] - %56 = icmp eq i64 %55, %54 - br i1 %56, label %66, label %71 - -57: ; preds = %48 +45: ; preds = %110, %30 + %46 = phi i64 [ %.pre.i.i, %30 ], [ %106, %110 ] + %.052.i.i = phi i64 [ 0, %30 ], [ %84, %110 ] + %.1.i.i = phi i64 [ %26, %30 ], [ %.2.i.i, %110 ] + %47 = load i64, ptr %1, align 8, !alias.scope !73, !noalias !74, !noundef !4 + %48 = icmp eq i64 %46, %47 + %49 = icmp eq i64 %47, %13 + %or.cond2.i.i = and i1 %48, %49 + br i1 %or.cond2.i.i, label %54, label %50 + +50: ; preds = %._crit_edge122.i.i, %45 + %51 = phi i64 [ %.pre123.i.i, %._crit_edge122.i.i ], [ %47, %45 ] + %52 = phi i64 [ %.pre121.i.i, %._crit_edge122.i.i ], [ %46, %45 ] + %53 = icmp eq i64 %52, %51 + br i1 %53, label %63, label %68 + +54: ; preds = %45 call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %7), !noalias !79 invoke fastcc void @_ZN3std2io19default_read_to_end16small_probe_read17h6c6362940cac52e7E(ptr noalias nocapture noundef align 8 dereferenceable(16) %7, ptr noalias noundef nonnull align 4 dereferenceable(4) %2, ptr noalias noundef nonnull align 8 dereferenceable(24) %1) to label %.noexc24 unwind label %.loopexit.split-lp.loopexit -.noexc24: ; preds = %57 - %58 = load i64, ptr %7, align 8, !range !66, !noalias !79, !noundef !4 - %trunc60.i.i = trunc nuw i64 %58 to i1 - %59 = load ptr, ptr %34, align 8, !noalias !79 +.noexc24: ; preds = %54 + %55 = load i64, ptr %7, align 8, !range !66, !noalias !79, !noundef !4 + %trunc60.i.i = trunc nuw i64 %55 to i1 + %56 = load ptr, ptr %31, align 8, !noalias !79 call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %7), !noalias !79 - br i1 %trunc60.i.i, label %62, label %60 + br i1 %trunc60.i.i, label %59, label %57 -60: ; preds = %.noexc24 - %61 = icmp eq ptr %59, null - %.pre131.i.i = load i64, ptr %10, align 8, !alias.scope !73, !noalias !74 - br i1 %61, label %64, label %._crit_edge132.i.i +57: ; preds = %.noexc24 + %58 = icmp eq ptr %56, null + %.pre121.i.i = load i64, ptr %10, align 8, !alias.scope !73, !noalias !74 + br i1 %58, label %61, label %._crit_edge122.i.i -._crit_edge132.i.i: ; preds = %60 - %.pre133.i.i = load i64, ptr %1, align 8, !alias.scope !73, !noalias !74 - br label %53 +._crit_edge122.i.i: ; preds = %57 + %.pre123.i.i = load i64, ptr %1, align 8, !alias.scope !73, !noalias !74 + br label %50 -62: ; preds = %.noexc24 - %63 = ptrtoint ptr %59 to i64 +59: ; preds = %.noexc24 + %60 = ptrtoint ptr %56 to i64 br label %"_ZN3std2io22default_read_to_string28_$u7b$$u7b$closure$u7d$$u7d$17h0e49199312f85efeE.exit" -64: ; preds = %60 - %65 = sub i64 %.pre131.i.i, %11 +61: ; preds = %57 + %62 = sub i64 %.pre121.i.i, %11 br label %"_ZN3std2io22default_read_to_string28_$u7b$$u7b$closure$u7d$$u7d$17h0e49199312f85efeE.exit" -66: ; preds = %53 - %67 = invoke { i64, i64 } @"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$14grow_amortized17hdf86ab8c8f3492c5E.llvm.6171212519519096039"(ptr noalias noundef nonnull align 8 dereferenceable(24) %1, i64 noundef %54, i64 noundef 32) +63: ; preds = %50 + %64 = invoke { i64, i64 } @"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$14grow_amortized17hdf86ab8c8f3492c5E.llvm.6171212519519096039"(ptr noalias noundef nonnull align 8 dereferenceable(24) %1, i64 noundef %51, i64 noundef 32) to label %.noexc25 unwind label %.loopexit.split-lp.loopexit -.noexc25: ; preds = %66 - %68 = extractvalue { i64, i64 } %67, 0 - %69 = icmp eq i64 %68, -9223372036854775807 - br i1 %69, label %"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$11try_reserve17hb02227ac31a25724E.exit.thread.i.i", label %"_ZN3std2io22default_read_to_string28_$u7b$$u7b$closure$u7d$$u7d$17h0e49199312f85efeE.exit" +.noexc25: ; preds = %63 + %65 = extractvalue { i64, i64 } %64, 0 + %66 = icmp eq i64 %65, -9223372036854775807 + br i1 %66, label %"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$11try_reserve17hb02227ac31a25724E.exit.thread.i.i", label %"_ZN3std2io22default_read_to_string28_$u7b$$u7b$closure$u7d$$u7d$17h0e49199312f85efeE.exit" "_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$11try_reserve17hb02227ac31a25724E.exit.thread.i.i": ; preds = %.noexc25 %.pre.i.i.i = load i64, ptr %1, align 8, !alias.scope !80, !noalias !74 - %.pre9.i.i.i = sub i64 %.pre.i.i.i, %54 - %70 = icmp ugt i64 %.pre9.i.i.i, 31 - call void @llvm.assume(i1 %70) - %.pre134.i.i = load i64, ptr %10, align 8, !alias.scope !83, !noalias !74 - br label %71 - -71: ; preds = %"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$11try_reserve17hb02227ac31a25724E.exit.thread.i.i", %53 - %72 = phi i64 [ %.pre.i.i.i, %"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$11try_reserve17hb02227ac31a25724E.exit.thread.i.i" ], [ %54, %53 ] - %73 = phi i64 [ %.pre134.i.i, %"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$11try_reserve17hb02227ac31a25724E.exit.thread.i.i" ], [ %55, %53 ] - %74 = load ptr, ptr %35, align 8, !alias.scope !83, !noalias !74, !nonnull !4, !noundef !4 - %75 = getelementptr inbounds i8, ptr %74, i64 %73 - %76 = sub i64 %72, %73 - %.0.sroa.speculated.i.i.i = call noundef i64 @llvm.umin.i64(i64 %76, i64 %.1.i.i) + %.pre9.i.i.i = sub i64 %.pre.i.i.i, %51 + %67 = icmp ugt i64 %.pre9.i.i.i, 31 + call void @llvm.assume(i1 %67) + %.pre124.i.i = load i64, ptr %10, align 8, !alias.scope !83, !noalias !74 + br label %68 + +68: ; preds = %"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$11try_reserve17hb02227ac31a25724E.exit.thread.i.i", %50 + %69 = phi i64 [ %.pre.i.i.i, %"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$11try_reserve17hb02227ac31a25724E.exit.thread.i.i" ], [ %51, %50 ] + %70 = phi i64 [ %.pre124.i.i, %"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$11try_reserve17hb02227ac31a25724E.exit.thread.i.i" ], [ %52, %50 ] + %71 = load ptr, ptr %32, align 8, !alias.scope !83, !noalias !74, !nonnull !4, !noundef !4 + %72 = getelementptr inbounds i8, ptr %71, i64 %70 + %73 = sub i64 %69, %70 + %.0.sroa.speculated.i.i.i = call noundef i64 @llvm.umin.i64(i64 %73, i64 %.1.i.i) call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %6), !noalias !79 - store ptr %75, ptr %6, align 8, !noalias !79 - store i64 %.0.sroa.speculated.i.i.i, ptr %36, align 8, !noalias !79 - store i64 0, ptr %37, align 8, !noalias !79 - store i64 %.052.i.i, ptr %38, align 8, !noalias !79 - %77 = invoke noundef ptr @"_ZN59_$LT$std..process..ChildStderr$u20$as$u20$std..io..Read$GT$8read_buf17h6bedbcc4546f00ddE"(ptr noalias noundef nonnull align 4 dereferenceable(4) %2, ptr noalias noundef nonnull align 8 dereferenceable(32) %6, i64 noundef 0) + store ptr %72, ptr %6, align 8, !noalias !79 + store i64 %.0.sroa.speculated.i.i.i, ptr %33, align 8, !noalias !79 + store i64 0, ptr %34, align 8, !noalias !79 + store i64 %.052.i.i, ptr %35, align 8, !noalias !79 + %74 = invoke noundef ptr @"_ZN59_$LT$std..process..ChildStderr$u20$as$u20$std..io..Read$GT$8read_buf17h6bedbcc4546f00ddE"(ptr noalias noundef nonnull align 4 dereferenceable(4) %2, ptr noalias noundef nonnull align 8 dereferenceable(32) %6, i64 noundef 0) to label %.noexc26 unwind label %.loopexit.split-lp.loopexit -.noexc26: ; preds = %71 - %78 = icmp eq ptr %77, null - br i1 %78, label %._crit_edge.i.i, label %.lr.ph.i.i +.noexc26: ; preds = %68 + %75 = icmp eq ptr %74, null + br i1 %75, label %._crit_edge.i.i, label %.lr.ph.i.i ._crit_edge.i.i: ; preds = %.noexc31, %.noexc26 - %79 = load i64, ptr %37, align 8, !noalias !79, !noundef !4 - %80 = load i64, ptr %38, align 8, !noalias !79, !noundef !4 - %81 = icmp ugt i64 %79, %80 - br i1 %81, label %85, label %82 + %76 = load i64, ptr %34, align 8, !noalias !79, !noundef !4 + %77 = load i64, ptr %35, align 8, !noalias !79, !noundef !4 + %78 = icmp ugt i64 %76, %77 + br i1 %78, label %82, label %79 -82: ; preds = %._crit_edge.i.i - %83 = load i64, ptr %36, align 8, !noalias !79, !noundef !4 - %84 = icmp ugt i64 %80, %83 - br i1 %84, label %86, label %"_ZN106_$LT$core..ops..range..Range$LT$usize$GT$$u20$as$u20$core..slice..index..SliceIndex$LT$$u5b$T$u5d$$GT$$GT$5index17hab41af422d983028E.exit.i.i" +79: ; preds = %._crit_edge.i.i + %80 = load i64, ptr %33, align 8, !noalias !79, !noundef !4 + %81 = icmp ugt i64 %77, %80 + br i1 %81, label %83, label %"_ZN106_$LT$core..ops..range..Range$LT$usize$GT$$u20$as$u20$core..slice..index..SliceIndex$LT$$u5b$T$u5d$$GT$$GT$5index17hab41af422d983028E.exit.i.i" -85: ; preds = %._crit_edge.i.i - invoke void @_ZN4core5slice5index22slice_index_order_fail17h2e9882225a126cdcE(i64 noundef %79, i64 noundef %80, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.8116ce5b6f07845c538d26bdcae5af43.14) #22 +82: ; preds = %._crit_edge.i.i + invoke void @_ZN4core5slice5index22slice_index_order_fail17h2e9882225a126cdcE(i64 noundef %76, i64 noundef %77, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.8116ce5b6f07845c538d26bdcae5af43.14) #22 to label %.noexc27 unwind label %.loopexit.split-lp.loopexit.split-lp -.noexc27: ; preds = %85 +.noexc27: ; preds = %82 unreachable -86: ; preds = %82 - invoke void @_ZN4core5slice5index24slice_end_index_len_fail17h334e37603831ab29E(i64 noundef %80, i64 noundef %83, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.8116ce5b6f07845c538d26bdcae5af43.14) #22 +83: ; preds = %79 + invoke void @_ZN4core5slice5index24slice_end_index_len_fail17h334e37603831ab29E(i64 noundef %77, i64 noundef %80, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.8116ce5b6f07845c538d26bdcae5af43.14) #22 to label %.noexc28 unwind label %.loopexit.split-lp.loopexit.split-lp -.noexc28: ; preds = %86 +.noexc28: ; preds = %83 unreachable -"_ZN106_$LT$core..ops..range..Range$LT$usize$GT$$u20$as$u20$core..slice..index..SliceIndex$LT$$u5b$T$u5d$$GT$$GT$5index17hab41af422d983028E.exit.i.i": ; preds = %82 - %87 = sub nuw i64 %80, %79 - %88 = icmp eq i64 %80, %.0.sroa.speculated.i.i.i - %89 = icmp eq i64 %79, 0 - %90 = load i64, ptr %10, align 8, !alias.scope !73, !noalias !74, !noundef !4 - br i1 %89, label %106, label %108 +"_ZN106_$LT$core..ops..range..Range$LT$usize$GT$$u20$as$u20$core..slice..index..SliceIndex$LT$$u5b$T$u5d$$GT$$GT$5index17hab41af422d983028E.exit.i.i": ; preds = %79 + %84 = sub nuw i64 %77, %76 + %85 = icmp eq i64 %77, %.0.sroa.speculated.i.i.i + %86 = icmp eq i64 %76, 0 + %87 = load i64, ptr %10, align 8, !alias.scope !73, !noalias !74, !noundef !4 + br i1 %86, label %103, label %105 .lr.ph.i.i: ; preds = %.noexc26, %.noexc31 - %91 = phi ptr [ %118, %.noexc31 ], [ %77, %.noexc26 ] - %92 = ptrtoint ptr %91 to i64 - %93 = and i64 %92, 3 - switch i64 %93, label %default.unreachable [ - i64 2, label %94 + %88 = phi ptr [ %115, %.noexc31 ], [ %74, %.noexc26 ] + %89 = ptrtoint ptr %88 to i64 + %90 = and i64 %89, 3 + switch i64 %90, label %default.unreachable [ + i64 2, label %91 i64 3, label %_ZN3std2io5error5Error14is_interrupted17haa138aed658ec797E.exit.i.i - i64 0, label %96 - i64 1, label %100 + i64 0, label %93 + i64 1, label %97 ] default.unreachable: ; preds = %.lr.ph.i.i unreachable -94: ; preds = %.lr.ph.i.i - %.mask.i.i.i = and i64 %92, -4294967296 - %95 = icmp eq i64 %.mask.i.i.i, 17179869184 - br i1 %95, label %.noexc.i.i, label %.loopexit - -96: ; preds = %.lr.ph.i.i - %97 = getelementptr inbounds nuw i8, ptr %91, i64 16 - %98 = load i8, ptr %97, align 8, !range !29, !noalias !86, !noundef !4 - %99 = icmp eq i8 %98, 35 - br i1 %99, label %.noexc.i.i, label %.loopexit - -100: ; preds = %.lr.ph.i.i - %101 = getelementptr i8, ptr %91, i64 -1 - %102 = icmp ne ptr %101, null - call void @llvm.assume(i1 %102) - %103 = getelementptr i8, ptr %91, i64 15 - %104 = load i8, ptr %103, align 8, !range !29, !noalias !86, !noundef !4 - %105 = icmp eq i8 %104, 35 - br i1 %105, label %.noexc.i.i, label %.loopexit - -106: ; preds = %"_ZN106_$LT$core..ops..range..Range$LT$usize$GT$$u20$as$u20$core..slice..index..SliceIndex$LT$$u5b$T$u5d$$GT$$GT$5index17hab41af422d983028E.exit.i.i" - %107 = sub i64 %90, %11 +91: ; preds = %.lr.ph.i.i + %.mask.i.i.i = and i64 %89, -4294967296 + %92 = icmp eq i64 %.mask.i.i.i, 17179869184 + br i1 %92, label %.noexc.i.i, label %.loopexit + +93: ; preds = %.lr.ph.i.i + %94 = getelementptr inbounds nuw i8, ptr %88, i64 16 + %95 = load i8, ptr %94, align 8, !range !29, !noalias !86, !noundef !4 + %96 = icmp eq i8 %95, 35 + br i1 %96, label %.noexc.i.i, label %.loopexit + +97: ; preds = %.lr.ph.i.i + %98 = getelementptr i8, ptr %88, i64 -1 + %99 = icmp ne ptr %98, null + call void @llvm.assume(i1 %99) + %100 = getelementptr i8, ptr %88, i64 15 + %101 = load i8, ptr %100, align 8, !range !29, !noalias !86, !noundef !4 + %102 = icmp eq i8 %101, 35 + br i1 %102, label %.noexc.i.i, label %.loopexit + +103: ; preds = %"_ZN106_$LT$core..ops..range..Range$LT$usize$GT$$u20$as$u20$core..slice..index..SliceIndex$LT$$u5b$T$u5d$$GT$$GT$5index17hab41af422d983028E.exit.i.i" + %104 = sub i64 %87, %11 br label %.loopexit -108: ; preds = %"_ZN106_$LT$core..ops..range..Range$LT$usize$GT$$u20$as$u20$core..slice..index..SliceIndex$LT$$u5b$T$u5d$$GT$$GT$5index17hab41af422d983028E.exit.i.i" - %109 = add i64 %90, %79 - store i64 %109, ptr %10, align 8, !alias.scope !73, !noalias !74 - br i1 %.not95.i.i, label %110, label %113 +105: ; preds = %"_ZN106_$LT$core..ops..range..Range$LT$usize$GT$$u20$as$u20$core..slice..index..SliceIndex$LT$$u5b$T$u5d$$GT$$GT$5index17hab41af422d983028E.exit.i.i" + %106 = add i64 %87, %76 + store i64 %106, ptr %10, align 8, !alias.scope !73, !noalias !74 + br i1 %.not.i.i, label %107, label %110 -.loopexit: ; preds = %94, %96, %100, %_ZN3std2io5error5Error14is_interrupted17haa138aed658ec797E.exit.i.i, %106 - %.sroa.10.0 = phi i64 [ %107, %106 ], [ %92, %_ZN3std2io5error5Error14is_interrupted17haa138aed658ec797E.exit.i.i ], [ %92, %100 ], [ %92, %96 ], [ %92, %94 ] - %storemerge107.i.i = phi i64 [ 0, %106 ], [ 1, %_ZN3std2io5error5Error14is_interrupted17haa138aed658ec797E.exit.i.i ], [ 1, %100 ], [ 1, %96 ], [ 1, %94 ] +.loopexit: ; preds = %91, %93, %97, %_ZN3std2io5error5Error14is_interrupted17haa138aed658ec797E.exit.i.i, %103 + %.sroa.10.0 = phi i64 [ %104, %103 ], [ %89, %_ZN3std2io5error5Error14is_interrupted17haa138aed658ec797E.exit.i.i ], [ %89, %97 ], [ %89, %93 ], [ %89, %91 ] + %storemerge97.i.i = phi i64 [ 0, %103 ], [ 1, %_ZN3std2io5error5Error14is_interrupted17haa138aed658ec797E.exit.i.i ], [ 1, %97 ], [ 1, %93 ], [ 1, %91 ] call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %6), !noalias !79 br label %"_ZN3std2io22default_read_to_string28_$u7b$$u7b$closure$u7d$$u7d$17h0e49199312f85efeE.exit" -110: ; preds = %108 - %spec.select.i.i = select i1 %88, i64 %.1.i.i, i64 -1 - %111 = icmp uge i64 %.0.sroa.speculated.i.i.i, %spec.select.i.i - %112 = icmp eq i64 %79, %.0.sroa.speculated.i.i.i - %or.cond.i.i = and i1 %112, %111 - br i1 %or.cond.i.i, label %114, label %113 - -113: ; preds = %114, %110, %108 - %.2.i.i = phi i64 [ %spec.select.i77.i.i, %114 ], [ %spec.select.i.i, %110 ], [ %.1.i.i, %108 ] +107: ; preds = %105 + %spec.select.i.i = select i1 %85, i64 %.1.i.i, i64 -1 + %108 = icmp uge i64 %.0.sroa.speculated.i.i.i, %spec.select.i.i + %109 = icmp eq i64 %76, %.0.sroa.speculated.i.i.i + %or.cond.i.i = and i1 %109, %108 + br i1 %or.cond.i.i, label %111, label %110 + +110: ; preds = %111, %107, %105 + %.2.i.i = phi i64 [ %spec.select.i76.i.i, %111 ], [ %spec.select.i.i, %107 ], [ %.1.i.i, %105 ] call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %6), !noalias !79 - br label %48 + br label %45 -114: ; preds = %110 - %115 = shl nuw i64 %spec.select.i.i, 1 +111: ; preds = %107 + %112 = shl nuw i64 %spec.select.i.i, 1 %.inv.i.i.i = icmp sgt i64 %spec.select.i.i, -1 - %spec.select.i77.i.i = select i1 %.inv.i.i.i, i64 %115, i64 -1 - br label %113 + %spec.select.i76.i.i = select i1 %.inv.i.i.i, i64 %112, i64 -1 + br label %110 _ZN3std2io5error5Error14is_interrupted17haa138aed658ec797E.exit.i.i: ; preds = %.lr.ph.i.i - %.mask20.i.i.i = and i64 %92, -4294967296 + %.mask20.i.i.i = and i64 %89, -4294967296 %switch.i.i.i = icmp eq i64 %.mask20.i.i.i, 150323855360 br i1 %switch.i.i.i, label %.noexc.i.i, label %.loopexit -.noexc.i.i: ; preds = %_ZN3std2io5error5Error14is_interrupted17haa138aed658ec797E.exit.i.i, %100, %96, %94 +.noexc.i.i: ; preds = %_ZN3std2io5error5Error14is_interrupted17haa138aed658ec797E.exit.i.i, %97, %93, %91 call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %5), !noalias !87 - invoke void @_ZN3std2io5error14repr_bitpacked11decode_repr17h7ea78b8b1e821ed3E.llvm.5062853439722839227(ptr noalias nocapture noundef nonnull sret({ i8, [15 x i8] }) align 8 dereferenceable(16) %5, ptr noundef nonnull %91) + invoke void @_ZN3std2io5error14repr_bitpacked11decode_repr17h7ea78b8b1e821ed3E.llvm.5062853439722839227(ptr noalias nocapture noundef nonnull sret({ i8, [15 x i8] }) align 8 dereferenceable(16) %5, ptr noundef nonnull %88) to label %.noexc29 unwind label %.loopexit36 .noexc29: ; preds = %.noexc.i.i - %116 = load i8, ptr %5, align 8, !range !62, !alias.scope !94, !noalias !87, !noundef !4 - %switch.not.i.i.i.i.i.i = icmp eq i8 %116, 3 - br i1 %switch.not.i.i.i.i.i.i, label %117, label %.noexc30 + %113 = load i8, ptr %5, align 8, !range !62, !alias.scope !94, !noalias !87, !noundef !4 + %switch.not.i.i.i.i.i.i = icmp eq i8 %113, 3 + br i1 %switch.not.i.i.i.i.i.i, label %114, label %.noexc30 -117: ; preds = %.noexc29 - invoke void @"_ZN4core3ptr68drop_in_place$LT$alloc..boxed..Box$LT$std..io..error..Custom$GT$$GT$17h99504f18808a2589E.llvm.5062853439722839227"(ptr noalias noundef nonnull align 8 dereferenceable(8) %39) +114: ; preds = %.noexc29 + invoke void @"_ZN4core3ptr68drop_in_place$LT$alloc..boxed..Box$LT$std..io..error..Custom$GT$$GT$17h99504f18808a2589E.llvm.5062853439722839227"(ptr noalias noundef nonnull align 8 dereferenceable(8) %36) to label %.noexc30 unwind label %.loopexit36 -.noexc30: ; preds = %117, %.noexc29 +.noexc30: ; preds = %114, %.noexc29 call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %5), !noalias !87 - %118 = invoke noundef ptr @"_ZN59_$LT$std..process..ChildStderr$u20$as$u20$std..io..Read$GT$8read_buf17h6bedbcc4546f00ddE"(ptr noalias noundef nonnull align 4 dereferenceable(4) %2, ptr noalias noundef nonnull align 8 dereferenceable(32) %6, i64 noundef 0) + %115 = invoke noundef ptr @"_ZN59_$LT$std..process..ChildStderr$u20$as$u20$std..io..Read$GT$8read_buf17h6bedbcc4546f00ddE"(ptr noalias noundef nonnull align 4 dereferenceable(4) %2, ptr noalias noundef nonnull align 8 dereferenceable(32) %6, i64 noundef 0) to label %.noexc31 unwind label %.loopexit36 .noexc31: ; preds = %.noexc30 - %119 = icmp eq ptr %118, null - br i1 %119, label %._crit_edge.i.i, label %.lr.ph.i.i + %116 = icmp eq ptr %115, null + br i1 %116, label %._crit_edge.i.i, label %.lr.ph.i.i -.loopexit36: ; preds = %.noexc.i.i, %117, %.noexc30 +.loopexit36: ; preds = %.noexc.i.i, %114, %.noexc30 %lpad.loopexit = landingpad { ptr, i32 } cleanup br label %.loopexit.split-lp -.loopexit.split-lp.loopexit: ; preds = %71, %66, %57 +.loopexit.split-lp.loopexit: ; preds = %68, %63, %54 %lpad.loopexit37 = landingpad { ptr, i32 } cleanup br label %.loopexit.split-lp -.loopexit.split-lp.loopexit.split-lp: ; preds = %86, %85, %40 +.loopexit.split-lp.loopexit.split-lp: ; preds = %83, %82, %37 %lpad.loopexit.split-lp38 = landingpad { ptr, i32 } cleanup br label %.loopexit.split-lp -"_ZN3std2io22default_read_to_string28_$u7b$$u7b$closure$u7d$$u7d$17h0e49199312f85efeE.exit": ; preds = %.noexc25, %.loopexit, %64, %62, %44, %46 - %.sroa.035.0 = phi i64 [ 1, %62 ], [ 0, %64 ], [ %storemerge107.i.i, %.loopexit ], [ 1, %46 ], [ 0, %44 ], [ 1, %.noexc25 ] - %.sroa.10.2 = phi i64 [ %63, %62 ], [ %65, %64 ], [ %.sroa.10.0, %.loopexit ], [ %47, %46 ], [ 0, %44 ], [ 163208757251, %.noexc25 ] +"_ZN3std2io22default_read_to_string28_$u7b$$u7b$closure$u7d$$u7d$17h0e49199312f85efeE.exit": ; preds = %.noexc25, %.loopexit, %61, %59, %41, %43 + %.sroa.035.0 = phi i64 [ 1, %59 ], [ 0, %61 ], [ %storemerge97.i.i, %.loopexit ], [ 1, %43 ], [ 0, %41 ], [ 1, %.noexc25 ] + %.sroa.10.2 = phi i64 [ %60, %59 ], [ %62, %61 ], [ %.sroa.10.0, %.loopexit ], [ %44, %43 ], [ 0, %41 ], [ 163208757251, %.noexc25 ] call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %9) - %120 = load i64, ptr %10, align 8, !noundef !4 - %121 = icmp ugt i64 %11, %120 - br i1 %121, label %127, label %122 - -122: ; preds = %"_ZN3std2io22default_read_to_string28_$u7b$$u7b$closure$u7d$$u7d$17h0e49199312f85efeE.exit" - %123 = getelementptr inbounds nuw i8, ptr %1, i64 8 - %124 = load ptr, ptr %123, align 8, !nonnull !4, !noundef !4 - %125 = sub nuw i64 %120, %11 - %126 = getelementptr inbounds i8, ptr %124, i64 %11 - invoke void @_ZN4core3str8converts9from_utf817hca39c4a07e0467cbE(ptr noalias nocapture noundef nonnull sret({ i64, [2 x i64] }) align 8 dereferenceable(24) %9, ptr noalias noundef nonnull readonly align 1 %126, i64 noundef %125) - to label %131 unwind label %128 - -127: ; preds = %"_ZN3std2io22default_read_to_string28_$u7b$$u7b$closure$u7d$$u7d$17h0e49199312f85efeE.exit" - invoke void @_ZN4core5slice5index26slice_start_index_len_fail17h6f35008186d11abeE(i64 noundef %11, i64 noundef %120, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.8116ce5b6f07845c538d26bdcae5af43.4) #22 - to label %139 unwind label %128 - -128: ; preds = %127, %122 - %129 = landingpad { ptr, i32 } + %117 = load i64, ptr %10, align 8, !noundef !4 + %118 = icmp ugt i64 %11, %117 + br i1 %118, label %124, label %119 + +119: ; preds = %"_ZN3std2io22default_read_to_string28_$u7b$$u7b$closure$u7d$$u7d$17h0e49199312f85efeE.exit" + %120 = getelementptr inbounds nuw i8, ptr %1, i64 8 + %121 = load ptr, ptr %120, align 8, !nonnull !4, !noundef !4 + %122 = sub nuw i64 %117, %11 + %123 = getelementptr inbounds i8, ptr %121, i64 %11 + invoke void @_ZN4core3str8converts9from_utf817hca39c4a07e0467cbE(ptr noalias nocapture noundef nonnull sret({ i64, [2 x i64] }) align 8 dereferenceable(24) %9, ptr noalias noundef nonnull readonly align 1 %123, i64 noundef %122) + to label %128 unwind label %125 + +124: ; preds = %"_ZN3std2io22default_read_to_string28_$u7b$$u7b$closure$u7d$$u7d$17h0e49199312f85efeE.exit" + invoke void @_ZN4core5slice5index26slice_start_index_len_fail17h6f35008186d11abeE(i64 noundef %11, i64 noundef %117, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.8116ce5b6f07845c538d26bdcae5af43.4) #22 + to label %136 unwind label %125 + +125: ; preds = %124, %119 + %126 = landingpad { ptr, i32 } cleanup - %130 = inttoptr i64 %.sroa.10.2 to ptr - invoke fastcc void @"_ZN4core3ptr78drop_in_place$LT$core..result..Result$LT$usize$C$std..io..error..Error$GT$$GT$17h82a9b183182030eeE"(i64 %.sroa.035.0, ptr %130) #23 - to label %.loopexit.split-lp unwind label %140 + %127 = inttoptr i64 %.sroa.10.2 to ptr + invoke fastcc void @"_ZN4core3ptr78drop_in_place$LT$core..result..Result$LT$usize$C$std..io..error..Error$GT$$GT$17h82a9b183182030eeE"(i64 %.sroa.035.0, ptr %127) #23 + to label %.loopexit.split-lp unwind label %137 -131: ; preds = %122 - %132 = load i64, ptr %9, align 8, !range !66, !noundef !4 - %.not = icmp eq i64 %132, 0 +128: ; preds = %119 + %129 = load i64, ptr %9, align 8, !range !66, !noundef !4 + %.not = icmp eq i64 %129, 0 call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %9) - br i1 %.not, label %133, label %135 + br i1 %.not, label %130, label %132 -133: ; preds = %131 - %134 = load i64, ptr %10, align 8, !noundef !4 +130: ; preds = %128 + %131 = load i64, ptr %10, align 8, !noundef !4 store i64 %.sroa.035.0, ptr %0, align 8 %.sroa.10.0..sroa_idx = getelementptr inbounds nuw i8, ptr %0, i64 8 store i64 %.sroa.10.2, ptr %.sroa.10.0..sroa_idx, align 8 - br label %138 + br label %135 -135: ; preds = %131 +132: ; preds = %128 %switch = icmp eq i64 %.sroa.035.0, 0 - %136 = inttoptr i64 %.sroa.10.2 to ptr - %spec.select = select i1 %switch, ptr @anon.8116ce5b6f07845c538d26bdcae5af43.3, ptr %136 - %137 = getelementptr inbounds nuw i8, ptr %0, i64 8 - store ptr %spec.select, ptr %137, align 8 + %133 = inttoptr i64 %.sroa.10.2 to ptr + %spec.select = select i1 %switch, ptr @anon.8116ce5b6f07845c538d26bdcae5af43.3, ptr %133 + %134 = getelementptr inbounds nuw i8, ptr %0, i64 8 + store ptr %spec.select, ptr %134, align 8 store i64 1, ptr %0, align 8 - br label %138 + br label %135 -138: ; preds = %135, %133 - %.sroa.7.0 = phi i64 [ %134, %133 ], [ %11, %135 ] +135: ; preds = %132, %130 + %.sroa.7.0 = phi i64 [ %131, %130 ], [ %11, %132 ] store i64 %.sroa.7.0, ptr %10, align 8 ret void -139: ; preds = %127 +136: ; preds = %124 unreachable -140: ; preds = %128 - %141 = landingpad { ptr, i32 } +137: ; preds = %125 + %138 = landingpad { ptr, i32 } filter [0 x ptr] zeroinitializer call void @_ZN4core9panicking16panic_in_cleanup17hbacfddf1bcf21a1eE() #24 unreachable -.loopexit.split-lp: ; preds = %.loopexit36, %.loopexit.split-lp.loopexit.split-lp, %.loopexit.split-lp.loopexit, %128 - %.pn = phi { ptr, i32 } [ %129, %128 ], [ %lpad.loopexit, %.loopexit36 ], [ %lpad.loopexit37, %.loopexit.split-lp.loopexit ], [ %lpad.loopexit.split-lp38, %.loopexit.split-lp.loopexit.split-lp ] +.loopexit.split-lp: ; preds = %.loopexit36, %.loopexit.split-lp.loopexit.split-lp, %.loopexit.split-lp.loopexit, %125 + %.pn = phi { ptr, i32 } [ %126, %125 ], [ %lpad.loopexit, %.loopexit36 ], [ %lpad.loopexit37, %.loopexit.split-lp.loopexit ], [ %lpad.loopexit.split-lp38, %.loopexit.split-lp.loopexit.split-lp ] store i64 %11, ptr %10, align 8 resume { ptr, i32 } %.pn } diff --git a/bench/rustfmt-rs/optimized/3xcdaapyewyrfogi.ll b/bench/rustfmt-rs/optimized/3xcdaapyewyrfogi.ll index ac1373a1488..b11fb5edb9a 100644 --- a/bench/rustfmt-rs/optimized/3xcdaapyewyrfogi.ll +++ b/bench/rustfmt-rs/optimized/3xcdaapyewyrfogi.ll @@ -314,7 +314,6 @@ target triple = "x86_64-unknown-linux-gnu" @_ZN15rustfmt_nightly4expr13rewrite_tuple8CALLSITE17hf194bf280f54846fE = hidden global <{ ptr, [10 x i8], [6 x i8] }> <{ ptr @_ZN15rustfmt_nightly4expr13rewrite_tuple8CALLSITE4META17h3b1d9b69be5d3a90E, [10 x i8] c"\00\00\00\00\00\00\00\00\FF\00", [6 x i8] undef }>, align 8 @anon.baa956cfa16a1a4d76c0816b6b0648a8.380.llvm.7442130522521287225 = external hidden unnamed_addr constant <{ [43 x i8] }>, align 1 @anon.baa956cfa16a1a4d76c0816b6b0648a8.396.llvm.7442130522521287225 = external hidden unnamed_addr constant <{ [1 x i8] }>, align 1 -@anon.baa956cfa16a1a4d76c0816b6b0648a8.419.llvm.7442130522521287225 = external hidden unnamed_addr constant <{ ptr, [16 x i8] }>, align 8 @anon.baa956cfa16a1a4d76c0816b6b0648a8.453.llvm.7442130522521287225 = external hidden unnamed_addr constant <{ ptr, [8 x i8], ptr, [8 x i8], ptr, [8 x i8] }>, align 8 @anon.baa956cfa16a1a4d76c0816b6b0648a8.455.llvm.7442130522521287225 = external hidden unnamed_addr constant <{ ptr, [16 x i8] }>, align 8 @anon.baa956cfa16a1a4d76c0816b6b0648a8.456.llvm.7442130522521287225 = external hidden unnamed_addr constant <{ ptr, [16 x i8] }>, align 8 @@ -14389,12 +14388,12 @@ define hidden noundef i64 @_ZN15rustfmt_nightly5utils12extra_offset17h0ec178fcab br i1 %switch.not.not, label %23, label %15 15: ; preds = %3 - %16 = add i64 %14, 1 - %17 = load i64, ptr %2, align 8, !alias.scope !2409, !noundef !10 - %18 = getelementptr inbounds nuw i8, ptr %2, i64 24 - %19 = load i64, ptr %18, align 8, !alias.scope !2409, !noundef !10 - %20 = add i64 %17, %16 - %21 = add i64 %20, %19 + %16 = load i64, ptr %2, align 8, !alias.scope !2409, !noundef !10 + %17 = getelementptr inbounds nuw i8, ptr %2, i64 24 + %18 = load i64, ptr %17, align 8, !alias.scope !2409, !noundef !10 + %19 = add i64 %14, 1 + %20 = add i64 %19, %16 + %21 = add i64 %20, %18 %22 = tail call i64 @llvm.usub.sat.i64(i64 %1, i64 %21) br label %23 @@ -16422,12 +16421,12 @@ define hidden void @_ZN15rustfmt_nightly5utils25trim_left_preserve_layout17h5da5 store i8 0, ptr %36, align 8, !alias.scope !2731, !noalias !2734 call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %31) invoke void @"_ZN96_$LT$rustfmt_nightly..comment..LineClasses$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17hf50c52572b7985a8E"(ptr noalias nocapture noundef nonnull sret({ [1 x i64], i64, [2 x i64] }) align 8 dereferenceable(32) %30, ptr noalias noundef nonnull align 8 dereferenceable(80) %32) - to label %37 unwind label %.thread148 + to label %37 unwind label %.thread146 .body: ; preds = %221 br i1 %.496, label %.body.thread, label %common.resume -.thread148: ; preds = %6, %72, %78 +.thread146: ; preds = %6, %72, %78 %lpad.thr_comm = landingpad { ptr, i32 } cleanup br label %.body.thread @@ -16549,7 +16548,7 @@ define hidden void @_ZN15rustfmt_nightly5utils25trim_left_preserve_layout17h5da5 call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 1 %74, ptr nonnull readonly align 1 %44, i64 %70, i1 false) call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %18), !noalias !2761 invoke void @"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$14current_memory17h8f466af1321eaceaE.llvm.17249484671449717553"(ptr noalias nocapture noundef nonnull sret({ [1 x i64], i64, [1 x i64] }) align 8 dereferenceable(24) %18, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) %20) - to label %.noexc unwind label %.thread148 + to label %.noexc unwind label %.thread146 .noexc: ; preds = %72 %76 = getelementptr inbounds nuw i8, ptr %18, i64 8 @@ -16562,7 +16561,7 @@ define hidden void @_ZN15rustfmt_nightly5utils25trim_left_preserve_layout17h5da5 %80 = getelementptr inbounds nuw i8, ptr %18, i64 16 %81 = load i64, ptr %80, align 8, !noalias !2761, !noundef !10 invoke void @"_ZN63_$LT$alloc..alloc..Global$u20$as$u20$core..alloc..Allocator$GT$10deallocate17ha49f72b365eb0ed2E.llvm.17249484671449717553"(ptr noalias noundef nonnull readonly align 1 %45, ptr noundef nonnull %79, i64 noundef %77, i64 noundef %81) - to label %84 unwind label %.thread148 + to label %84 unwind label %.thread146 82: ; preds = %69 %83 = landingpad { ptr, i32 } @@ -16622,7 +16621,7 @@ define hidden void @_ZN15rustfmt_nightly5utils25trim_left_preserve_layout17h5da5 %95 = getelementptr inbounds nuw i8, ptr %15, i64 8 %96 = load i64, ptr %95, align 8, !range !329, !noalias !2781, !noundef !10 %.not9.i.i.i.i.i = icmp eq i64 %96, -9223372036854775808 - br i1 %.not9.i.i.i.i.i, label %.loopexit26.i.i, label %.lr.ph.i.i.i.i.i + br i1 %.not9.i.i.i.i.i, label %.loopexit24.i.i, label %.lr.ph.i.i.i.i.i .lr.ph.i.i.i.i.i: ; preds = %.noexc.i.i, %.noexc7.i.i %97 = invoke fastcc { i64, i64 } @"_ZN15rustfmt_nightly5utils25trim_left_preserve_layout28_$u7b$$u7b$closure$u7d$$u7d$17h5ba6ed45f6e36d7cE"(ptr noalias noundef nonnull readonly align 8 dereferenceable(24) %.sroa.475.0..sroa_idx, ptr noalias nocapture noundef nonnull readonly align 8 dereferenceable(32) %15) @@ -16640,12 +16639,10 @@ define hidden void @_ZN15rustfmt_nightly5utils25trim_left_preserve_layout17h5da5 .noexc7.i.i: ; preds = %98 %99 = load i64, ptr %95, align 8, !range !329, !noalias !2781, !noundef !10 %.not.i.i.i.i.i50 = icmp eq i64 %99, -9223372036854775808 - br i1 %.not.i.i.i.i.i50, label %.loopexit26.i.i, label %.lr.ph.i.i.i.i.i + br i1 %.not.i.i.i.i.i50, label %.loopexit24.i.i, label %.lr.ph.i.i.i.i.i 100: ; preds = %.noexc6.i.i - %trunc.i.i.i.i.i.i = trunc nuw i64 %.fca.0.extract5.i.i.i.i.i to i1 %.fca.1.extract.i.i.i.i.i.i = extractvalue { i64, i64 } %97, 1 - %.2.i.i.i.i.i.i = select i1 %trunc.i.i.i.i.i.i, i64 %.fca.1.extract.i.i.i.i.i.i, i64 undef call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %15), !noalias !2773 call void @llvm.lifetime.start.p0(i64 104, ptr nonnull %16), !noalias !2785 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(104) %16, ptr noundef nonnull align 8 dereferenceable(104) %17, i64 104, i1 false), !noalias !2770 @@ -16657,7 +16654,7 @@ define hidden void @_ZN15rustfmt_nightly5utils25trim_left_preserve_layout17h5da5 br label %104 104: ; preds = %111, %100 - %.0.i.i.i.i = phi i64 [ %.2.i.i.i.i.i.i, %100 ], [ %.0.i.i.i.i.i, %111 ] + %.0.i.i.i.i = phi i64 [ %.fca.1.extract.i.i.i.i.i.i, %100 ], [ %.0.i.i.i.i.i, %111 ] call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %13), !noalias !2789 invoke void @"_ZN96_$LT$rustfmt_nightly..comment..LineClasses$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17hf50c52572b7985a8E"(ptr noalias nocapture noundef nonnull sret({ [1 x i64], i64, [2 x i64] }) align 8 dereferenceable(32) %13, ptr noalias noundef nonnull align 8 dereferenceable(80) %14) to label %107 unwind label %105, !noalias !2793 @@ -16732,18 +16729,18 @@ define hidden void @_ZN15rustfmt_nightly5utils25trim_left_preserve_layout17h5da5 call void @_ZN4core9panicking16panic_in_cleanup17h7bbd4fcd6f160435E() #53, !noalias !2793 unreachable -.loopexit26.i.i: ; preds = %.noexc7.i.i, %.noexc.i.i +.loopexit24.i.i: ; preds = %.noexc7.i.i, %.noexc.i.i call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %15), !noalias !2773 invoke void @"_ZN94_$LT$alloc..collections..vec_deque..VecDeque$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h6e18df9b4b98bebeE.llvm.17249484671449717553"(ptr noalias noundef nonnull align 8 dereferenceable(104) %17) to label %128 unwind label %126, !noalias !2770 -126: ; preds = %.loopexit26.i.i +126: ; preds = %.loopexit24.i.i %127 = landingpad { ptr, i32 } cleanup invoke void @"_ZN4core3ptr55drop_in_place$LT$alloc..raw_vec..RawVec$LT$char$GT$$GT$17hd32f5eba5e9dc404E.llvm.17249484671449717553"(ptr noalias noundef nonnull align 8 dereferenceable(104) %17) #52 to label %.body55 unwind label %136, !noalias !2770 -128: ; preds = %.loopexit26.i.i +128: ; preds = %.loopexit24.i.i call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %10), !noalias !2809 invoke void @"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$14current_memory17hf5aea0c15f52e2bcE.llvm.17249484671449717553"(ptr noalias nocapture noundef nonnull sret({ [1 x i64], i64, [1 x i64] }) align 8 dereferenceable(24) %10, ptr noalias noundef nonnull readonly align 8 dereferenceable(104) %17) to label %.noexc53 unwind label %141 @@ -17085,8 +17082,8 @@ common.resume: ; preds = %88, %223, %.body, % call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %7), !noalias !2880 br label %222 -.body.thread: ; preds = %.thread148, %69, %.body - %.pn41106 = phi { ptr, i32 } [ %.pn3997, %.body ], [ %lpad.phi.i, %69 ], [ %lpad.thr_comm, %.thread148 ] +.body.thread: ; preds = %.thread146, %69, %.body + %.pn41106 = phi { ptr, i32 } [ %.pn3997, %.body ], [ %lpad.phi.i, %69 ], [ %lpad.thr_comm, %.thread146 ] invoke void @"_ZN4core3ptr58drop_in_place$LT$rustfmt_nightly..comment..LineClasses$GT$17hae629beaa09c273bE"(ptr noalias noundef nonnull align 8 dereferenceable(80) %32) #52 to label %common.resume unwind label %211 } @@ -32881,7 +32878,7 @@ define internal fastcc void @_ZN15rustfmt_nightly4expr18rewrite_struct_lit17hda4 %62 = icmp eq i64 %61, 5 br i1 %62, label %.critedge132, label %63 -default.unreachable307: ; preds = %_ZN15rustfmt_nightly4expr25struct_lit_can_be_aligned17h51c6185757cba255E.exit.thread, %100 +default.unreachable308: ; preds = %_ZN15rustfmt_nightly4expr25struct_lit_can_be_aligned17h51c6185757cba255E.exit.thread, %100 unreachable 63: ; preds = %11 @@ -33000,7 +32997,7 @@ _ZN12tracing_core8callsite15DefaultCallsite8interest17h0d13743fe14fa6bfE.exit.th 99: ; preds = %.critedge132 store i64 -9223372036854775808, ptr %0, align 8 - br label %367 + br label %365 100: ; preds = %90 %.sroa.492.0..sroa_idx = getelementptr inbounds nuw i8, ptr %53, i64 8 @@ -33009,7 +33006,7 @@ _ZN12tracing_core8callsite15DefaultCallsite8interest17h0d13743fe14fa6bfE.exit.th call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %53) store i64 %97, ptr %54, align 8 %101 = load i32, ptr %6, align 8, !range !5529, !noundef !10 - switch i32 %101, label %default.unreachable307 [ + switch i32 %101, label %default.unreachable308 [ i32 0, label %120 i32 1, label %103 i32 2, label %105 @@ -33018,7 +33015,7 @@ _ZN12tracing_core8callsite15DefaultCallsite8interest17h0d13743fe14fa6bfE.exit.th 102: ; preds = %90 call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %53) store i64 -9223372036854775808, ptr %0, align 8 - br label %369 + br label %367 103: ; preds = %100 %104 = icmp eq i64 %5, 0 @@ -33028,12 +33025,12 @@ _ZN12tracing_core8callsite15DefaultCallsite8interest17h0d13743fe14fa6bfE.exit.th %106 = icmp eq i64 %5, 0 br i1 %106, label %124, label %120 -107: ; preds = %327, %244, %108 - %.pn129 = phi { ptr, i32 } [ %109, %108 ], [ %.pn, %327 ], [ %245, %244 ] +107: ; preds = %325, %244, %108 + %.pn129 = phi { ptr, i32 } [ %109, %108 ], [ %.pn, %325 ], [ %245, %244 ] invoke void @"_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17h65321bb4306ac23aE"(ptr noalias noundef nonnull align 8 dereferenceable(24) %54) #52 - to label %370 unwind label %311 + to label %368 unwind label %309 -108: ; preds = %.invoke308, %.invoke, %356, %353, %336, %333, %313, %210, %206, %"_ZN10scoped_tls18ScopedKey$LT$T$GT$4with17h75cb3c8bc5486157E.exit.i163", %190, %"_ZN10scoped_tls18ScopedKey$LT$T$GT$4with17h75cb3c8bc5486157E.exit.i", %167, %139, %138, %135, %130, %124, %110, %321, %"_ZN97_$LT$rustc_data_structures..atomic_ref..AtomicRef$LT$T$GT$$u20$as$u20$core..ops..deref..Deref$GT$5deref17hb766b2ce54f5f072E.exit181", %316, %303, %302, %"_ZN97_$LT$rustc_data_structures..atomic_ref..AtomicRef$LT$T$GT$$u20$as$u20$core..ops..deref..Deref$GT$5deref17hb766b2ce54f5f072E.exit", %120 +108: ; preds = %.invoke309, %.invoke, %354, %351, %334, %331, %311, %210, %206, %"_ZN10scoped_tls18ScopedKey$LT$T$GT$4with17h75cb3c8bc5486157E.exit.i163", %190, %"_ZN10scoped_tls18ScopedKey$LT$T$GT$4with17h75cb3c8bc5486157E.exit.i", %167, %139, %138, %135, %130, %124, %110, %319, %"_ZN97_$LT$rustc_data_structures..atomic_ref..AtomicRef$LT$T$GT$$u20$as$u20$core..ops..deref..Deref$GT$5deref17hb766b2ce54f5f072E.exit181", %314, %301, %300, %"_ZN97_$LT$rustc_data_structures..atomic_ref..AtomicRef$LT$T$GT$$u20$as$u20$core..ops..deref..Deref$GT$5deref17hb766b2ce54f5f072E.exit", %120 %109 = landingpad { ptr, i32 } cleanup br label %107 @@ -33062,7 +33059,7 @@ _ZN5alloc3fmt6format17h35125637d547cb53E.exit: ; preds = %110 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %0, ptr noundef nonnull align 8 dereferenceable(24) %50, i64 24, i1 false) br label %112 -112: ; preds = %368, %129, %_ZN5alloc3fmt6format17h35125637d547cb53E.exit143, %_ZN5alloc3fmt6format17h35125637d547cb53E.exit +112: ; preds = %366, %129, %_ZN5alloc3fmt6format17h35125637d547cb53E.exit143, %_ZN5alloc3fmt6format17h35125637d547cb53E.exit call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %25), !noalias !5542 call void @"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$14current_memory17h8f466af1321eaceaE.llvm.17249484671449717553"(ptr noalias nocapture noundef nonnull sret({ [1 x i64], i64, [1 x i64] }) align 8 dereferenceable(24) %25, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) %54) %113 = getelementptr inbounds nuw i8, ptr %25, i64 8 @@ -33080,7 +33077,7 @@ _ZN5alloc3fmt6format17h35125637d547cb53E.exit: ; preds = %110 "_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17h65321bb4306ac23aE.exit": ; preds = %112, %115 call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %25), !noalias !5542 - br label %369 + br label %367 120: ; preds = %105, %100, %103 %.0116 = phi i1 [ true, %103 ], [ true, %100 ], [ false, %105 ] @@ -33231,7 +33228,7 @@ _ZN5alloc3fmt6format17h35125637d547cb53E.exit143: ; preds = %124 _ZN15rustfmt_nightly4expr25struct_lit_can_be_aligned17h51c6185757cba255E.exit.thread: ; preds = %155, %148, %160 %159 = getelementptr inbounds { { i32, i16, i16 }, { ptr, {} }, ptr, { i32, { i32, i16, i16 } }, i32, i8, i8, [6 x i8] }, ptr %4, i64 %5 - switch i32 %101, label %default.unreachable307 [ + switch i32 %101, label %default.unreachable308 [ i32 0, label %182 i32 1, label %185 i32 2, label %188 @@ -33275,7 +33272,7 @@ _ZN15rustfmt_nightly4expr25struct_lit_can_be_aligned17h51c6185757cba255E.exit.th %171 = extractvalue { i64, ptr } %169, 1 call void @llvm.lifetime.start.p0(i64 0, ptr nonnull %12), !noalias !5592 %switch.i.i.i = icmp eq i64 %170, 0 - br i1 %switch.i.i.i, label %"_ZN4core6result19Result$LT$T$C$E$GT$6expect17hd33dd31eca47a831E.llvm.17476841346288807550.exit.i.i", label %.invoke308 + br i1 %switch.i.i.i, label %"_ZN4core6result19Result$LT$T$C$E$GT$6expect17hd33dd31eca47a831E.llvm.17476841346288807550.exit.i.i", label %.invoke309 "_ZN4core6result19Result$LT$T$C$E$GT$6expect17hd33dd31eca47a831E.llvm.17476841346288807550.exit.i.i": ; preds = %.noexc151 call void @llvm.lifetime.end.p0(i64 0, ptr nonnull %12), !noalias !5592 @@ -33296,14 +33293,14 @@ _RNvMNtCsdF516cSs19B_10rustc_span13span_encodingNtB2_4Span14data_untracked.llvm. %177 = and i32 %176, 32767 %178 = add i32 %177, %.sroa.09.0.extract.trunc.i store i32 %178, ptr %175, align 4, !alias.scope !5583 - br label %316 + br label %314 _RNvMNtCsdF516cSs19B_10rustc_span13span_encodingNtB2_4Span14data_untracked.llvm.15131964271339581801.exit.thread300: ; preds = %173 %179 = and i16 %.sroa.4.0.extract.trunc.i, 32767 %180 = zext nneg i16 %179 to i32 %181 = add i32 %180, %.sroa.09.0.extract.trunc.i store i32 %181, ptr %175, align 4, !alias.scope !5583 - br label %313 + br label %311 182: ; preds = %_ZN15rustfmt_nightly4expr25struct_lit_can_be_aligned17h51c6185757cba255E.exit.thread %183 = getelementptr inbounds nuw i8, ptr %6, i64 8 @@ -33348,13 +33345,13 @@ _RNvMNtCsdF516cSs19B_10rustc_span13span_encodingNtB2_4Span14data_untracked.llvm. %194 = extractvalue { i64, ptr } %192, 1 call void @llvm.lifetime.start.p0(i64 0, ptr nonnull %12), !noalias !5602 %switch.i.i.i161 = icmp eq i64 %193, 0 - br i1 %switch.i.i.i161, label %"_ZN4core6result19Result$LT$T$C$E$GT$6expect17hd33dd31eca47a831E.llvm.17476841346288807550.exit.i.i162", label %.invoke308 + br i1 %switch.i.i.i161, label %"_ZN4core6result19Result$LT$T$C$E$GT$6expect17hd33dd31eca47a831E.llvm.17476841346288807550.exit.i.i162", label %.invoke309 -.invoke308: ; preds = %.noexc164, %.noexc151 +.invoke309: ; preds = %.noexc164, %.noexc151 invoke void @_ZN4core6result13unwrap_failed17hede68b820f4ed9a9E(ptr noalias noundef nonnull readonly align 1 @anon.ac9b56db96481140084a14b3a62254c9.27.llvm.17476841346288807550, i64 noundef 70, ptr noundef nonnull align 1 %12, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.ac9b56db96481140084a14b3a62254c9.102.llvm.17476841346288807550, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.ac9b56db96481140084a14b3a62254c9.29.llvm.17476841346288807550) #51 - to label %.cont309 unwind label %108 + to label %.cont310 unwind label %108 -.cont309: ; preds = %.invoke308 +.cont310: ; preds = %.invoke309 unreachable "_ZN4core6result19Result$LT$T$C$E$GT$6expect17hd33dd31eca47a831E.llvm.17476841346288807550.exit.i.i162": ; preds = %.noexc164 @@ -33472,7 +33469,7 @@ _RNvMNtCsdF516cSs19B_10rustc_span13span_encodingNtB2_4Span14data_untracked.llvm. .thread287: ; preds = %"_ZN98_$LT$alloc..vec..Vec$LT$T$GT$$u20$as$u20$alloc..vec..spec_from_iter..SpecFromIter$LT$T$C$I$GT$$GT$9from_iter17h0313ea89fd6d2093E.exit" call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %39) call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %39, ptr noundef nonnull align 8 dereferenceable(32) %48, i64 32, i1 false) - br label %250 + br label %248 228: ; preds = %"_ZN98_$LT$alloc..vec..Vec$LT$T$GT$$u20$as$u20$alloc..vec..spec_from_iter..SpecFromIter$LT$T$C$I$GT$$GT$9from_iter17h0313ea89fd6d2093E.exit" %229 = getelementptr inbounds nuw i8, ptr %1, i64 40 @@ -33501,11 +33498,11 @@ _RNvMNtCsdF516cSs19B_10rustc_span13span_encodingNtB2_4Span14data_untracked.llvm. %243 = invoke { i64, i64 } @_ZN15rustfmt_nightly5lists17definitive_tactic17hc5da77967eebd926E(ptr noalias noundef nonnull readonly align 8 %225, i64 noundef %227, i64 noundef %.sroa.01.0.i, i64 undef, i1 noundef zeroext false, i64 noundef %.sroa.4251.0.copyload) to label %246 unwind label %244 -244: ; preds = %249, %242, %.thread292, %250 +244: ; preds = %242, %.thread292, %248 %245 = landingpad { ptr, i32 } cleanup invoke void @"_ZN4core3ptr76drop_in_place$LT$alloc..vec..Vec$LT$rustfmt_nightly..lists..ListItem$GT$$GT$17h92ebb0b284ce5c48E"(ptr noalias noundef nonnull align 8 dereferenceable(24) %41) #52 - to label %107 unwind label %311 + to label %107 unwind label %309 246: ; preds = %242 %.fca.0.extract.i173 = extractvalue { i64, i64 } %243, 0 @@ -33513,162 +33510,152 @@ _RNvMNtCsdF516cSs19B_10rustc_span13span_encodingNtB2_4Span14data_untracked.llvm. call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %39) call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %39, ptr noundef nonnull align 8 dereferenceable(32) %48, i64 32, i1 false) %247 = icmp eq i64 %.fca.0.extract.i173, 1 - br i1 %247, label %248, label %250 - -248: ; preds = %246 - %trunc.i176 = trunc nuw i64 %.sroa.0249.0.copyload to i1 - br i1 %trunc.i176, label %250, label %249 - -249: ; preds = %248 - invoke void @_ZN4core9panicking5panic17hbd449742545cb8d5E(ptr noalias noundef nonnull readonly align 1 @anon.baa956cfa16a1a4d76c0816b6b0648a8.380.llvm.7442130522521287225, i64 noundef 43, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.baa956cfa16a1a4d76c0816b6b0648a8.419.llvm.7442130522521287225) #51 - to label %.noexc177 unwind label %244 - -.noexc177: ; preds = %249 - unreachable + %spec.select307 = select i1 %247, ptr %.sroa.722.0..sroa_idx23, ptr %39 + br label %248 -250: ; preds = %246, %.thread287, %248 - %.sroa.0.0.i291 = phi i64 [ %.fca.0.extract.i173, %246 ], [ 0, %.thread287 ], [ 1, %248 ] - %.sroa.3.0.i290 = phi i64 [ %.fca.1.extract.i, %246 ], [ undef, %.thread287 ], [ %.fca.1.extract.i, %248 ] - %.sink.i175 = phi ptr [ %39, %246 ], [ %39, %.thread287 ], [ %.sroa.722.0..sroa_idx23, %248 ] +248: ; preds = %246, %.thread287 + %.sroa.0.0.i291 = phi i64 [ 0, %.thread287 ], [ %.fca.0.extract.i173, %246 ] + %.sroa.3.0.i290 = phi i64 [ undef, %.thread287 ], [ %.fca.1.extract.i, %246 ] + %.sink.i175 = phi ptr [ %39, %.thread287 ], [ %spec.select307, %246 ] call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %40, ptr noundef nonnull align 8 dereferenceable(32) %.sink.i175, i64 32, i1 false), !alias.scope !5623 call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %39) %.sroa.056.0.copyload = load i64, ptr %60, align 8 - %251 = invoke noundef zeroext i1 @_ZN15rustfmt_nightly4expr20span_ends_with_comma17he8d3b33fa9a5dd18E(ptr noundef nonnull align 8 %1, i64 %.sroa.056.0.copyload) - to label %252 unwind label %244 - -252: ; preds = %250 - %253 = getelementptr inbounds nuw i8, ptr %1, i64 48 - %254 = load ptr, ptr %253, align 8, !nonnull !10, !noundef !10 - %255 = getelementptr inbounds nuw i8, ptr %254, i64 16 - %256 = load i8, ptr %255, align 1, !range !40, !noundef !10 - %257 = trunc nuw i8 %256 to i1 - %258 = xor i1 %251, true - %.0117 = and i1 %258, %257 + %249 = invoke noundef zeroext i1 @_ZN15rustfmt_nightly4expr20span_ends_with_comma17he8d3b33fa9a5dd18E(ptr noundef nonnull align 8 %1, i64 %.sroa.056.0.copyload) + to label %250 unwind label %244 + +250: ; preds = %248 + %251 = getelementptr inbounds nuw i8, ptr %1, i64 48 + %252 = load ptr, ptr %251, align 8, !nonnull !10, !noundef !10 + %253 = getelementptr inbounds nuw i8, ptr %252, i64 16 + %254 = load i8, ptr %253, align 1, !range !40, !noundef !10 + %255 = trunc nuw i8 %254 to i1 + %256 = xor i1 %249, true + %.0117 = and i1 %256, %255 call void @llvm.lifetime.start.p0(i64 80, ptr nonnull %38) %brmerge = or i1 %.0116, %.0117 - %259 = getelementptr inbounds nuw i8, ptr %1, i64 40 - %260 = load ptr, ptr %259, align 8, !nonnull !10, !align !11, !noundef !10 - %261 = getelementptr inbounds nuw i8, ptr %260, i64 610 - store i8 1, ptr %261, align 2 - %262 = getelementptr inbounds nuw i8, ptr %260, i64 609 - %263 = load i8, ptr %262, align 1, !range !40, !noundef !10 - br i1 %brmerge, label %.thread292, label %264 - -264: ; preds = %252 - %265 = trunc nuw i8 %263 to i1 - br i1 %265, label %.thread294, label %270 - -.thread294: ; preds = %264 - %266 = load ptr, ptr %259, align 8, !noalias !5628, !nonnull !10, !align !11, !noundef !10 - %267 = getelementptr inbounds nuw i8, ptr %266, i64 610 - store i8 1, ptr %267, align 2, !noalias !5628 - %268 = getelementptr inbounds nuw i8, ptr %266, i64 609 - %269 = load i8, ptr %268, align 1, !range !40, !noalias !5628, !noundef !10 - br label %278 + %257 = getelementptr inbounds nuw i8, ptr %1, i64 40 + %258 = load ptr, ptr %257, align 8, !nonnull !10, !align !11, !noundef !10 + %259 = getelementptr inbounds nuw i8, ptr %258, i64 610 + store i8 1, ptr %259, align 2 + %260 = getelementptr inbounds nuw i8, ptr %258, i64 609 + %261 = load i8, ptr %260, align 1, !range !40, !noundef !10 + br i1 %brmerge, label %.thread292, label %262 + +262: ; preds = %250 + %263 = trunc nuw i8 %261 to i1 + br i1 %263, label %.thread294, label %268 + +.thread294: ; preds = %262 + %264 = load ptr, ptr %257, align 8, !noalias !5628, !nonnull !10, !align !11, !noundef !10 + %265 = getelementptr inbounds nuw i8, ptr %264, i64 610 + store i8 1, ptr %265, align 2, !noalias !5628 + %266 = getelementptr inbounds nuw i8, ptr %264, i64 609 + %267 = load i8, ptr %266, align 1, !range !40, !noalias !5628, !noundef !10 + br label %276 -270: ; preds = %264 - %271 = getelementptr inbounds nuw i8, ptr %1, i64 169 - %272 = load i8, ptr %271, align 1, !range !40, !noundef !10 - %273 = trunc nuw i8 %272 to i1 +268: ; preds = %262 + %269 = getelementptr inbounds nuw i8, ptr %1, i64 169 + %270 = load i8, ptr %269, align 1, !range !40, !noundef !10 + %271 = trunc nuw i8 %270 to i1 call void @llvm.experimental.noalias.scope.decl(metadata !5632) call void @llvm.experimental.noalias.scope.decl(metadata !5634) - %274 = load ptr, ptr %259, align 8, !noalias !5636, !nonnull !10, !align !11, !noundef !10 - %275 = getelementptr inbounds nuw i8, ptr %274, i64 610 - store i8 1, ptr %275, align 2, !noalias !5636 - %276 = getelementptr inbounds nuw i8, ptr %274, i64 609 - %277 = load i8, ptr %276, align 1, !range !40, !noalias !5636, !noundef !10 - br i1 %273, label %278, label %.thread292 - -278: ; preds = %.thread294, %270 - %279 = phi i8 [ %269, %.thread294 ], [ %277, %270 ] - %280 = load ptr, ptr %259, align 8, !noalias !5636, !nonnull !10, !align !11, !noundef !10 - %281 = getelementptr inbounds nuw i8, ptr %280, i64 758 - store i8 1, ptr %281, align 2, !noalias !5636 - %282 = getelementptr inbounds nuw i8, ptr %280, i64 757 - %283 = load i8, ptr %282, align 1, !range !305, !noalias !5636, !noundef !10 + %272 = load ptr, ptr %257, align 8, !noalias !5636, !nonnull !10, !align !11, !noundef !10 + %273 = getelementptr inbounds nuw i8, ptr %272, i64 610 + store i8 1, ptr %273, align 2, !noalias !5636 + %274 = getelementptr inbounds nuw i8, ptr %272, i64 609 + %275 = load i8, ptr %274, align 1, !range !40, !noalias !5636, !noundef !10 + br i1 %271, label %276, label %.thread292 + +276: ; preds = %.thread294, %268 + %277 = phi i8 [ %267, %.thread294 ], [ %275, %268 ] + %278 = load ptr, ptr %257, align 8, !noalias !5636, !nonnull !10, !align !11, !noundef !10 + %279 = getelementptr inbounds nuw i8, ptr %278, i64 758 + store i8 1, ptr %279, align 2, !noalias !5636 + %280 = getelementptr inbounds nuw i8, ptr %278, i64 757 + %281 = load i8, ptr %280, align 1, !range !305, !noalias !5636, !noundef !10 br label %.thread292 -.thread292: ; preds = %252, %278, %270 - %284 = phi i8 [ %279, %278 ], [ %277, %270 ], [ %263, %252 ] - %.04.i = phi i8 [ %283, %278 ], [ 1, %270 ], [ 1, %252 ] - %285 = trunc nuw i8 %284 to i1 - %286 = icmp eq i64 %.sroa.0.0.i291, 0 - %narrow.i = and i1 %286, %285 +.thread292: ; preds = %250, %276, %268 + %282 = phi i8 [ %277, %276 ], [ %275, %268 ], [ %261, %250 ] + %.04.i = phi i8 [ %281, %276 ], [ 1, %268 ], [ 1, %250 ] + %283 = trunc nuw i8 %282 to i1 + %284 = icmp eq i64 %.sroa.0.0.i291, 0 + %narrow.i = and i1 %284, %283 %.0.i179 = zext i1 %narrow.i to i8 - %287 = load ptr, ptr %259, align 8, !noalias !5636, !nonnull !10, !align !11, !noundef !10 + %285 = load ptr, ptr %257, align 8, !noalias !5636, !nonnull !10, !align !11, !noundef !10 store i64 %.sroa.0.0.i291, ptr %38, align 8, !alias.scope !5632, !noalias !5634 - %288 = getelementptr inbounds nuw i8, ptr %38, i64 8 - store i64 %.sroa.3.0.i290, ptr %288, align 8, !alias.scope !5632, !noalias !5634 - %289 = getelementptr inbounds nuw i8, ptr %38, i64 16 - store ptr @anon.baa956cfa16a1a4d76c0816b6b0648a8.396.llvm.7442130522521287225, ptr %289, align 8, !alias.scope !5632, !noalias !5634 - %290 = getelementptr inbounds nuw i8, ptr %38, i64 24 - store i64 1, ptr %290, align 8, !alias.scope !5632, !noalias !5634 - %291 = getelementptr inbounds nuw i8, ptr %38, i64 77 - store i8 %.04.i, ptr %291, align 1, !alias.scope !5632, !noalias !5634 - %292 = getelementptr inbounds nuw i8, ptr %38, i64 72 - store i8 1, ptr %292, align 8, !alias.scope !5632, !noalias !5634 - %293 = getelementptr inbounds nuw i8, ptr %38, i64 40 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %293, ptr noundef nonnull align 8 dereferenceable(32) %40, i64 32, i1 false), !alias.scope !5636 - %294 = getelementptr inbounds nuw i8, ptr %38, i64 73 - store i8 %.0.i179, ptr %294, align 1, !alias.scope !5632, !noalias !5634 - %295 = getelementptr inbounds nuw i8, ptr %38, i64 74 - store i8 1, ptr %295, align 2, !alias.scope !5632, !noalias !5634 - %296 = getelementptr inbounds nuw i8, ptr %38, i64 75 - store i8 0, ptr %296, align 1, !alias.scope !5632, !noalias !5634 - %297 = getelementptr inbounds nuw i8, ptr %38, i64 76 - store i8 1, ptr %297, align 4, !alias.scope !5632, !noalias !5634 - %298 = getelementptr inbounds nuw i8, ptr %38, i64 32 - store ptr %287, ptr %298, align 8, !alias.scope !5632, !noalias !5634 + %286 = getelementptr inbounds nuw i8, ptr %38, i64 8 + store i64 %.sroa.3.0.i290, ptr %286, align 8, !alias.scope !5632, !noalias !5634 + %287 = getelementptr inbounds nuw i8, ptr %38, i64 16 + store ptr @anon.baa956cfa16a1a4d76c0816b6b0648a8.396.llvm.7442130522521287225, ptr %287, align 8, !alias.scope !5632, !noalias !5634 + %288 = getelementptr inbounds nuw i8, ptr %38, i64 24 + store i64 1, ptr %288, align 8, !alias.scope !5632, !noalias !5634 + %289 = getelementptr inbounds nuw i8, ptr %38, i64 77 + store i8 %.04.i, ptr %289, align 1, !alias.scope !5632, !noalias !5634 + %290 = getelementptr inbounds nuw i8, ptr %38, i64 72 + store i8 1, ptr %290, align 8, !alias.scope !5632, !noalias !5634 + %291 = getelementptr inbounds nuw i8, ptr %38, i64 40 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %291, ptr noundef nonnull align 8 dereferenceable(32) %40, i64 32, i1 false), !alias.scope !5636 + %292 = getelementptr inbounds nuw i8, ptr %38, i64 73 + store i8 %.0.i179, ptr %292, align 1, !alias.scope !5632, !noalias !5634 + %293 = getelementptr inbounds nuw i8, ptr %38, i64 74 + store i8 1, ptr %293, align 2, !alias.scope !5632, !noalias !5634 + %294 = getelementptr inbounds nuw i8, ptr %38, i64 75 + store i8 0, ptr %294, align 1, !alias.scope !5632, !noalias !5634 + %295 = getelementptr inbounds nuw i8, ptr %38, i64 76 + store i8 1, ptr %295, align 4, !alias.scope !5632, !noalias !5634 + %296 = getelementptr inbounds nuw i8, ptr %38, i64 32 + store ptr %285, ptr %296, align 8, !alias.scope !5632, !noalias !5634 call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %37) invoke void @_ZN15rustfmt_nightly5lists10write_list17h2fd0f4337baa9c78E(ptr noalias nocapture noundef nonnull sret({ i64, [2 x i64] }) align 8 dereferenceable(24) %37, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) %41, ptr noalias noundef nonnull readonly align 8 dereferenceable(80) %38) - to label %299 unwind label %244 + to label %297 unwind label %244 -299: ; preds = %.thread292 - %300 = load i64, ptr %37, align 8, !range !329, !noundef !10 - %301 = icmp eq i64 %300, -9223372036854775808 - br i1 %301, label %303, label %302 +297: ; preds = %.thread292 + %298 = load i64, ptr %37, align 8, !range !329, !noundef !10 + %299 = icmp eq i64 %298, -9223372036854775808 + br i1 %299, label %301, label %300 -302: ; preds = %299 +300: ; preds = %297 %.sroa.4105.0..sroa_idx = getelementptr inbounds nuw i8, ptr %37, i64 8 %.sroa.466.0..sroa_idx = getelementptr inbounds nuw i8, ptr %45, i64 8 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %.sroa.466.0..sroa_idx, ptr noundef nonnull align 8 dereferenceable(16) %.sroa.4105.0..sroa_idx, i64 16, i1 false) call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %37) - store i64 %300, ptr %45, align 8 + store i64 %298, ptr %45, align 8 call void @llvm.lifetime.end.p0(i64 80, ptr nonnull %38) invoke void @"_ZN4core3ptr76drop_in_place$LT$alloc..vec..Vec$LT$rustfmt_nightly..lists..ListItem$GT$$GT$17h92ebb0b284ce5c48E"(ptr noalias noundef nonnull align 8 dereferenceable(24) %41) - to label %304 unwind label %108 + to label %302 unwind label %108 -303: ; preds = %299 +301: ; preds = %297 call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %37) store i64 -9223372036854775808, ptr %0, align 8 call void @llvm.lifetime.end.p0(i64 80, ptr nonnull %38) invoke void @"_ZN4core3ptr76drop_in_place$LT$alloc..vec..Vec$LT$rustfmt_nightly..lists..ListItem$GT$$GT$17h92ebb0b284ce5c48E"(ptr noalias noundef nonnull align 8 dereferenceable(24) %41) - to label %310 unwind label %108 + to label %308 unwind label %108 -304: ; preds = %302 +302: ; preds = %300 call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %41) - br label %305 + br label %303 -305: ; preds = %325, %304 +303: ; preds = %323, %302 call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %36) call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %35) - %306 = getelementptr inbounds nuw i8, ptr %45, i64 8 - %307 = load ptr, ptr %306, align 8, !nonnull !10, !noundef !10 - %308 = getelementptr inbounds nuw i8, ptr %45, i64 16 - %309 = load i64, ptr %308, align 8, !noundef !10 + %304 = getelementptr inbounds nuw i8, ptr %45, i64 8 + %305 = load ptr, ptr %304, align 8, !nonnull !10, !noundef !10 + %306 = getelementptr inbounds nuw i8, ptr %45, i64 16 + %307 = load i64, ptr %306, align 8, !noundef !10 call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %34) call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %34, ptr noundef nonnull align 8 dereferenceable(32) %10, i64 32, i1 false) call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %33) call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %33, ptr noundef nonnull align 8 dereferenceable(32) %48, i64 32, i1 false) - invoke void @_ZN15rustfmt_nightly4expr17wrap_struct_field17h851ca2d7d7dc66b8E(ptr noalias nocapture noundef nonnull sret({ i64, [2 x i64] }) align 8 dereferenceable(24) %35, ptr noundef nonnull align 8 %1, ptr noalias noundef nonnull readonly align 8 %7, i64 noundef %8, ptr noalias noundef nonnull readonly align 1 %307, i64 noundef %309, ptr noalias nocapture noundef nonnull align 8 dereferenceable(32) %34, ptr noalias nocapture noundef nonnull align 8 dereferenceable(32) %33, i64 noundef %.0.i144) - to label %330 unwind label %328 + invoke void @_ZN15rustfmt_nightly4expr17wrap_struct_field17h851ca2d7d7dc66b8E(ptr noalias nocapture noundef nonnull sret({ i64, [2 x i64] }) align 8 dereferenceable(24) %35, ptr noundef nonnull align 8 %1, ptr noalias noundef nonnull readonly align 8 %7, i64 noundef %8, ptr noalias noundef nonnull readonly align 1 %305, i64 noundef %307, ptr noalias nocapture noundef nonnull align 8 dereferenceable(32) %34, ptr noalias nocapture noundef nonnull align 8 dereferenceable(32) %33, i64 noundef %.0.i144) + to label %328 unwind label %326 -310: ; preds = %303 +308: ; preds = %301 call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %41) - br label %368 + br label %366 -311: ; preds = %340, %327, %244, %107 - %312 = landingpad { ptr, i32 } +309: ; preds = %338, %325, %244, %107 + %310 = landingpad { ptr, i32 } filter [0 x ptr] zeroinitializer call void @_ZN4core9panicking16panic_in_cleanup17h7bbd4fcd6f160435E() #53 unreachable @@ -33677,66 +33664,66 @@ _RNvMNtCsdF516cSs19B_10rustc_span13span_encodingNtB2_4Span14data_untracked.llvm. call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %19), !noalias !5583 %.pr298 = load i32, ptr %29, align 4 %.not127 = icmp eq i32 %.pr298, -255 - br i1 %.not127, label %316, label %313 + br i1 %.not127, label %314, label %311 -313: ; preds = %_RNvMNtCsdF516cSs19B_10rustc_span13span_encodingNtB2_4Span14data_untracked.llvm.15131964271339581801.exit.thread300, %_RNvMNtCsdF516cSs19B_10rustc_span13span_encodingNtB2_4Span14data_untracked.llvm.15131964271339581801.exit - %314 = phi i32 [ %.sroa.5.0.extract.trunc.i, %_RNvMNtCsdF516cSs19B_10rustc_span13span_encodingNtB2_4Span14data_untracked.llvm.15131964271339581801.exit.thread300 ], [ %.pr298, %_RNvMNtCsdF516cSs19B_10rustc_span13span_encodingNtB2_4Span14data_untracked.llvm.15131964271339581801.exit ] - %315 = invoke noundef align 8 dereferenceable(8) ptr @_ZN4core4sync6atomic11atomic_load17h733a54ca80041d2bE.llvm.7442130522521287225(ptr noundef nonnull @_RNvCsdF516cSs19B_10rustc_span10SPAN_TRACK, i8 noundef 4) +311: ; preds = %_RNvMNtCsdF516cSs19B_10rustc_span13span_encodingNtB2_4Span14data_untracked.llvm.15131964271339581801.exit.thread300, %_RNvMNtCsdF516cSs19B_10rustc_span13span_encodingNtB2_4Span14data_untracked.llvm.15131964271339581801.exit + %312 = phi i32 [ %.sroa.5.0.extract.trunc.i, %_RNvMNtCsdF516cSs19B_10rustc_span13span_encodingNtB2_4Span14data_untracked.llvm.15131964271339581801.exit.thread300 ], [ %.pr298, %_RNvMNtCsdF516cSs19B_10rustc_span13span_encodingNtB2_4Span14data_untracked.llvm.15131964271339581801.exit ] + %313 = invoke noundef align 8 dereferenceable(8) ptr @_ZN4core4sync6atomic11atomic_load17h733a54ca80041d2bE.llvm.7442130522521287225(ptr noundef nonnull @_RNvCsdF516cSs19B_10rustc_span10SPAN_TRACK, i8 noundef 4) to label %"_ZN97_$LT$rustc_data_structures..atomic_ref..AtomicRef$LT$T$GT$$u20$as$u20$core..ops..deref..Deref$GT$5deref17hb766b2ce54f5f072E.exit181" unwind label %108 -316: ; preds = %_RNvMNtCsdF516cSs19B_10rustc_span13span_encodingNtB2_4Span14data_untracked.llvm.15131964271339581801.exit.thread, %"_ZN97_$LT$rustc_data_structures..atomic_ref..AtomicRef$LT$T$GT$$u20$as$u20$core..ops..deref..Deref$GT$5deref17hb766b2ce54f5f072E.exit181", %_RNvMNtCsdF516cSs19B_10rustc_span13span_encodingNtB2_4Span14data_untracked.llvm.15131964271339581801.exit - %317 = getelementptr inbounds nuw i8, ptr %29, i64 8 - %318 = load i32, ptr %317, align 4, !noundef !10 +314: ; preds = %_RNvMNtCsdF516cSs19B_10rustc_span13span_encodingNtB2_4Span14data_untracked.llvm.15131964271339581801.exit.thread, %"_ZN97_$LT$rustc_data_structures..atomic_ref..AtomicRef$LT$T$GT$$u20$as$u20$core..ops..deref..Deref$GT$5deref17hb766b2ce54f5f072E.exit181", %_RNvMNtCsdF516cSs19B_10rustc_span13span_encodingNtB2_4Span14data_untracked.llvm.15131964271339581801.exit + %315 = getelementptr inbounds nuw i8, ptr %29, i64 8 + %316 = load i32, ptr %315, align 4, !noundef !10 call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %29) - %319 = invoke i64 @_ZN15rustfmt_nightly5utils5mk_sp17h98cfa70ea005048dE(i32 noundef %149, i32 noundef %318) - to label %321 unwind label %108 + %317 = invoke i64 @_ZN15rustfmt_nightly5utils5mk_sp17h98cfa70ea005048dE(i32 noundef %149, i32 noundef %316) + to label %319 unwind label %108 -"_ZN97_$LT$rustc_data_structures..atomic_ref..AtomicRef$LT$T$GT$$u20$as$u20$core..ops..deref..Deref$GT$5deref17hb766b2ce54f5f072E.exit181": ; preds = %313 - %320 = load ptr, ptr %315, align 8, !nonnull !10, !noundef !10 - invoke void %320(i32 noundef %314) - to label %316 unwind label %108 +"_ZN97_$LT$rustc_data_structures..atomic_ref..AtomicRef$LT$T$GT$$u20$as$u20$core..ops..deref..Deref$GT$5deref17hb766b2ce54f5f072E.exit181": ; preds = %311 + %318 = load ptr, ptr %313, align 8, !nonnull !10, !noundef !10 + invoke void %318(i32 noundef %312) + to label %314 unwind label %108 -321: ; preds = %316 - invoke void @_ZN15rustfmt_nightly8vertical22rewrite_with_alignment17h23345e0cf98e9b55E(ptr noalias nocapture noundef nonnull sret({ i64, [2 x i64] }) align 8 dereferenceable(24) %44, ptr noalias noundef nonnull readonly align 8 %4, i64 noundef %5, ptr noundef nonnull align 8 %1, ptr noalias nocapture noundef nonnull align 8 dereferenceable(32) %43, i64 %319, i64 noundef %.0.i144) - to label %322 unwind label %108 +319: ; preds = %314 + invoke void @_ZN15rustfmt_nightly8vertical22rewrite_with_alignment17h23345e0cf98e9b55E(ptr noalias nocapture noundef nonnull sret({ i64, [2 x i64] }) align 8 dereferenceable(24) %44, ptr noalias noundef nonnull readonly align 8 %4, i64 noundef %5, ptr noundef nonnull align 8 %1, ptr noalias nocapture noundef nonnull align 8 dereferenceable(32) %43, i64 %317, i64 noundef %.0.i144) + to label %320 unwind label %108 -322: ; preds = %321 +320: ; preds = %319 call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %43) - %323 = load i64, ptr %44, align 8, !range !329, !noundef !10 - %324 = icmp eq i64 %323, -9223372036854775808 - br i1 %324, label %326, label %325 + %321 = load i64, ptr %44, align 8, !range !329, !noundef !10 + %322 = icmp eq i64 %321, -9223372036854775808 + br i1 %322, label %324, label %323 -325: ; preds = %322 +323: ; preds = %320 %.sroa.496.0..sroa_idx = getelementptr inbounds nuw i8, ptr %44, i64 8 %.sroa.432.0..sroa_idx = getelementptr inbounds nuw i8, ptr %45, i64 8 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %.sroa.432.0..sroa_idx, ptr noundef nonnull align 8 dereferenceable(16) %.sroa.496.0..sroa_idx, i64 16, i1 false) call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %44) - store i64 %323, ptr %45, align 8 - br label %305 + store i64 %321, ptr %45, align 8 + br label %303 -326: ; preds = %322 +324: ; preds = %320 call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %44) store i64 -9223372036854775808, ptr %0, align 8 - br label %368 + br label %366 -327: ; preds = %340, %328 - %.pn = phi { ptr, i32 } [ %329, %328 ], [ %341, %340 ] +325: ; preds = %338, %326 + %.pn = phi { ptr, i32 } [ %327, %326 ], [ %339, %338 ] invoke void @"_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17h65321bb4306ac23aE"(ptr noalias noundef nonnull align 8 dereferenceable(24) %45) #52 - to label %107 unwind label %311 + to label %107 unwind label %309 -328: ; preds = %348, %_ZN5alloc3fmt6format17h35125637d547cb53E.exit192, %305 - %329 = landingpad { ptr, i32 } +326: ; preds = %346, %_ZN5alloc3fmt6format17h35125637d547cb53E.exit192, %303 + %327 = landingpad { ptr, i32 } cleanup - br label %327 + br label %325 -330: ; preds = %305 +328: ; preds = %303 call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %33) call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %34) - %331 = load i64, ptr %35, align 8, !range !329, !noundef !10 - %332 = icmp eq i64 %331, -9223372036854775808 - br i1 %332, label %333, label %342 + %329 = load i64, ptr %35, align 8, !range !329, !noundef !10 + %330 = icmp eq i64 %329, -9223372036854775808 + br i1 %330, label %331, label %340 -333: ; preds = %330 +331: ; preds = %328 call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %35) store i64 -9223372036854775808, ptr %0, align 8 call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %36) @@ -33744,43 +33731,43 @@ _RNvMNtCsdF516cSs19B_10rustc_span13span_encodingNtB2_4Span14data_untracked.llvm. invoke void @"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$14current_memory17h8f466af1321eaceaE.llvm.17249484671449717553"(ptr noalias nocapture noundef nonnull sret({ [1 x i64], i64, [1 x i64] }) align 8 dereferenceable(24) %17, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) %45) to label %.noexc183 unwind label %108 -.noexc183: ; preds = %333 - %334 = getelementptr inbounds nuw i8, ptr %17, i64 8 - %335 = load i64, ptr %334, align 8, !range !329, !noalias !5637, !noundef !10 - %.not.i.i.i.i182 = icmp eq i64 %335, 0 - br i1 %.not.i.i.i.i182, label %"_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17h65321bb4306ac23aE.exit185", label %336 - -336: ; preds = %.noexc183 - %337 = load ptr, ptr %17, align 8, !noalias !5637, !nonnull !10, !noundef !10 - %338 = getelementptr inbounds nuw i8, ptr %17, i64 16 - %339 = load i64, ptr %338, align 8, !noalias !5637, !noundef !10 - invoke void @"_ZN63_$LT$alloc..alloc..Global$u20$as$u20$core..alloc..Allocator$GT$10deallocate17ha49f72b365eb0ed2E.llvm.17249484671449717553"(ptr noalias noundef nonnull readonly align 1 %308, ptr noundef nonnull %337, i64 noundef %335, i64 noundef %339) +.noexc183: ; preds = %331 + %332 = getelementptr inbounds nuw i8, ptr %17, i64 8 + %333 = load i64, ptr %332, align 8, !range !329, !noalias !5637, !noundef !10 + %.not.i.i.i.i182 = icmp eq i64 %333, 0 + br i1 %.not.i.i.i.i182, label %"_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17h65321bb4306ac23aE.exit185", label %334 + +334: ; preds = %.noexc183 + %335 = load ptr, ptr %17, align 8, !noalias !5637, !nonnull !10, !noundef !10 + %336 = getelementptr inbounds nuw i8, ptr %17, i64 16 + %337 = load i64, ptr %336, align 8, !noalias !5637, !noundef !10 + invoke void @"_ZN63_$LT$alloc..alloc..Global$u20$as$u20$core..alloc..Allocator$GT$10deallocate17ha49f72b365eb0ed2E.llvm.17249484671449717553"(ptr noalias noundef nonnull readonly align 1 %306, ptr noundef nonnull %335, i64 noundef %333, i64 noundef %337) to label %"_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17h65321bb4306ac23aE.exit185" unwind label %108 -"_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17h65321bb4306ac23aE.exit185": ; preds = %336, %.noexc183 +"_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17h65321bb4306ac23aE.exit185": ; preds = %334, %.noexc183 call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %17), !noalias !5637 - br label %368 + br label %366 -340: ; preds = %342 - %341 = landingpad { ptr, i32 } +338: ; preds = %340 + %339 = landingpad { ptr, i32 } cleanup invoke void @"_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17h65321bb4306ac23aE"(ptr noalias noundef nonnull align 8 dereferenceable(24) %36) #52 - to label %327 unwind label %311 + to label %325 unwind label %309 -342: ; preds = %330 +340: ; preds = %328 %.sroa.4111.0..sroa_idx = getelementptr inbounds nuw i8, ptr %35, i64 8 %.sroa.472.0..sroa_idx = getelementptr inbounds nuw i8, ptr %36, i64 8 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %.sroa.472.0..sroa_idx, ptr noundef nonnull align 8 dereferenceable(16) %.sroa.4111.0..sroa_idx, i64 16, i1 false) call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %35) - store i64 %331, ptr %36, align 8 + store i64 %329, ptr %36, align 8 call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %31) store ptr %54, ptr %31, align 8 - %343 = getelementptr inbounds nuw i8, ptr %31, i64 8 + %341 = getelementptr inbounds nuw i8, ptr %31, i64 8 + store ptr @"_ZN60_$LT$alloc..string..String$u20$as$u20$core..fmt..Display$GT$3fmt17h775e4f780e5b2789E", ptr %341, align 8 + %342 = getelementptr inbounds nuw i8, ptr %31, i64 16 + store ptr %36, ptr %342, align 8 + %343 = getelementptr inbounds nuw i8, ptr %31, i64 24 store ptr @"_ZN60_$LT$alloc..string..String$u20$as$u20$core..fmt..Display$GT$3fmt17h775e4f780e5b2789E", ptr %343, align 8 - %344 = getelementptr inbounds nuw i8, ptr %31, i64 16 - store ptr %36, ptr %344, align 8 - %345 = getelementptr inbounds nuw i8, ptr %31, i64 24 - store ptr @"_ZN60_$LT$alloc..string..String$u20$as$u20$core..fmt..Display$GT$3fmt17h775e4f780e5b2789E", ptr %345, align 8 call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %16), !noalias !5646 store ptr @anon.87cf9f699931e7f72e5feaf785e04e8d.241, ptr %16, align 8, !noalias !5657 %.sroa.5236.0..sroa_idx = getelementptr inbounds nuw i8, ptr %16, i64 8 @@ -33792,86 +33779,86 @@ _RNvMNtCsdF516cSs19B_10rustc_span13span_encodingNtB2_4Span14data_untracked.llvm. %.sroa.10239.0..sroa_idx = getelementptr inbounds nuw i8, ptr %16, i64 32 store ptr null, ptr %.sroa.10239.0..sroa_idx, align 8, !noalias !5657 invoke void @_ZN5alloc3fmt6format12format_inner17h0c82a82a0e3e6691E(ptr noalias nocapture noundef nonnull sret({ { { i64, ptr }, i64 } }) align 8 dereferenceable(24) %32, ptr noalias nocapture noundef nonnull align 8 dereferenceable(48) %16) - to label %_ZN5alloc3fmt6format17h35125637d547cb53E.exit192 unwind label %340 + to label %_ZN5alloc3fmt6format17h35125637d547cb53E.exit192 unwind label %338 -_ZN5alloc3fmt6format17h35125637d547cb53E.exit192: ; preds = %342 +_ZN5alloc3fmt6format17h35125637d547cb53E.exit192: ; preds = %340 call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %16), !noalias !5646 call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %31) call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %0, ptr noundef nonnull align 8 dereferenceable(24) %32, i64 24, i1 false) call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %15), !noalias !5658 invoke void @"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$14current_memory17h8f466af1321eaceaE.llvm.17249484671449717553"(ptr noalias nocapture noundef nonnull sret({ [1 x i64], i64, [1 x i64] }) align 8 dereferenceable(24) %15, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) %36) - to label %.noexc194 unwind label %328 + to label %.noexc194 unwind label %326 .noexc194: ; preds = %_ZN5alloc3fmt6format17h35125637d547cb53E.exit192 - %346 = getelementptr inbounds nuw i8, ptr %15, i64 8 - %347 = load i64, ptr %346, align 8, !range !329, !noalias !5658, !noundef !10 - %.not.i.i.i.i193 = icmp eq i64 %347, 0 - br i1 %.not.i.i.i.i193, label %353, label %348 - -348: ; preds = %.noexc194 - %349 = load ptr, ptr %15, align 8, !noalias !5658, !nonnull !10, !noundef !10 - %350 = getelementptr inbounds nuw i8, ptr %15, i64 16 - %351 = load i64, ptr %350, align 8, !noalias !5658, !noundef !10 - %352 = getelementptr inbounds nuw i8, ptr %36, i64 16 - invoke void @"_ZN63_$LT$alloc..alloc..Global$u20$as$u20$core..alloc..Allocator$GT$10deallocate17ha49f72b365eb0ed2E.llvm.17249484671449717553"(ptr noalias noundef nonnull readonly align 1 %352, ptr noundef nonnull %349, i64 noundef %347, i64 noundef %351) - to label %353 unwind label %328 - -353: ; preds = %.noexc194, %348 + %344 = getelementptr inbounds nuw i8, ptr %15, i64 8 + %345 = load i64, ptr %344, align 8, !range !329, !noalias !5658, !noundef !10 + %.not.i.i.i.i193 = icmp eq i64 %345, 0 + br i1 %.not.i.i.i.i193, label %351, label %346 + +346: ; preds = %.noexc194 + %347 = load ptr, ptr %15, align 8, !noalias !5658, !nonnull !10, !noundef !10 + %348 = getelementptr inbounds nuw i8, ptr %15, i64 16 + %349 = load i64, ptr %348, align 8, !noalias !5658, !noundef !10 + %350 = getelementptr inbounds nuw i8, ptr %36, i64 16 + invoke void @"_ZN63_$LT$alloc..alloc..Global$u20$as$u20$core..alloc..Allocator$GT$10deallocate17ha49f72b365eb0ed2E.llvm.17249484671449717553"(ptr noalias noundef nonnull readonly align 1 %350, ptr noundef nonnull %347, i64 noundef %345, i64 noundef %349) + to label %351 unwind label %326 + +351: ; preds = %.noexc194, %346 call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %15), !noalias !5658 call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %36) call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %14), !noalias !5667 invoke void @"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$14current_memory17h8f466af1321eaceaE.llvm.17249484671449717553"(ptr noalias nocapture noundef nonnull sret({ [1 x i64], i64, [1 x i64] }) align 8 dereferenceable(24) %14, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) %45) to label %.noexc198 unwind label %108 -.noexc198: ; preds = %353 - %354 = getelementptr inbounds nuw i8, ptr %14, i64 8 - %355 = load i64, ptr %354, align 8, !range !329, !noalias !5667, !noundef !10 - %.not.i.i.i.i197 = icmp eq i64 %355, 0 - br i1 %.not.i.i.i.i197, label %360, label %356 +.noexc198: ; preds = %351 + %352 = getelementptr inbounds nuw i8, ptr %14, i64 8 + %353 = load i64, ptr %352, align 8, !range !329, !noalias !5667, !noundef !10 + %.not.i.i.i.i197 = icmp eq i64 %353, 0 + br i1 %.not.i.i.i.i197, label %358, label %354 -356: ; preds = %.noexc198 - %357 = load ptr, ptr %14, align 8, !noalias !5667, !nonnull !10, !noundef !10 - %358 = getelementptr inbounds nuw i8, ptr %14, i64 16 - %359 = load i64, ptr %358, align 8, !noalias !5667, !noundef !10 - invoke void @"_ZN63_$LT$alloc..alloc..Global$u20$as$u20$core..alloc..Allocator$GT$10deallocate17ha49f72b365eb0ed2E.llvm.17249484671449717553"(ptr noalias noundef nonnull readonly align 1 %308, ptr noundef nonnull %357, i64 noundef %355, i64 noundef %359) - to label %360 unwind label %108 +354: ; preds = %.noexc198 + %355 = load ptr, ptr %14, align 8, !noalias !5667, !nonnull !10, !noundef !10 + %356 = getelementptr inbounds nuw i8, ptr %14, i64 16 + %357 = load i64, ptr %356, align 8, !noalias !5667, !noundef !10 + invoke void @"_ZN63_$LT$alloc..alloc..Global$u20$as$u20$core..alloc..Allocator$GT$10deallocate17ha49f72b365eb0ed2E.llvm.17249484671449717553"(ptr noalias noundef nonnull readonly align 1 %306, ptr noundef nonnull %355, i64 noundef %353, i64 noundef %357) + to label %358 unwind label %108 -360: ; preds = %.noexc198, %356 +358: ; preds = %.noexc198, %354 call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %14), !noalias !5667 call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %45) call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %48) call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %13), !noalias !5676 call void @"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$14current_memory17h8f466af1321eaceaE.llvm.17249484671449717553"(ptr noalias nocapture noundef nonnull sret({ [1 x i64], i64, [1 x i64] }) align 8 dereferenceable(24) %13, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) %54) - %361 = getelementptr inbounds nuw i8, ptr %13, i64 8 - %362 = load i64, ptr %361, align 8, !range !329, !noalias !5676, !noundef !10 - %.not.i.i.i.i201 = icmp eq i64 %362, 0 - br i1 %.not.i.i.i.i201, label %"_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17h65321bb4306ac23aE.exit202", label %363 - -363: ; preds = %360 - %364 = load ptr, ptr %13, align 8, !noalias !5676, !nonnull !10, !noundef !10 - %365 = getelementptr inbounds nuw i8, ptr %13, i64 16 - %366 = load i64, ptr %365, align 8, !noalias !5676, !noundef !10 - call void @"_ZN63_$LT$alloc..alloc..Global$u20$as$u20$core..alloc..Allocator$GT$10deallocate17ha49f72b365eb0ed2E.llvm.17249484671449717553"(ptr noalias noundef nonnull readonly align 1 %121, ptr noundef nonnull %364, i64 noundef %362, i64 noundef %366) + %359 = getelementptr inbounds nuw i8, ptr %13, i64 8 + %360 = load i64, ptr %359, align 8, !range !329, !noalias !5676, !noundef !10 + %.not.i.i.i.i201 = icmp eq i64 %360, 0 + br i1 %.not.i.i.i.i201, label %"_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17h65321bb4306ac23aE.exit202", label %361 + +361: ; preds = %358 + %362 = load ptr, ptr %13, align 8, !noalias !5676, !nonnull !10, !noundef !10 + %363 = getelementptr inbounds nuw i8, ptr %13, i64 16 + %364 = load i64, ptr %363, align 8, !noalias !5676, !noundef !10 + call void @"_ZN63_$LT$alloc..alloc..Global$u20$as$u20$core..alloc..Allocator$GT$10deallocate17ha49f72b365eb0ed2E.llvm.17249484671449717553"(ptr noalias noundef nonnull readonly align 1 %121, ptr noundef nonnull %362, i64 noundef %360, i64 noundef %364) br label %"_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17h65321bb4306ac23aE.exit202" -"_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17h65321bb4306ac23aE.exit202": ; preds = %360, %363 +"_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17h65321bb4306ac23aE.exit202": ; preds = %358, %361 call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %13), !noalias !5676 call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %54) - br label %367 + br label %365 -367: ; preds = %369, %"_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17h65321bb4306ac23aE.exit202", %99 +365: ; preds = %367, %"_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17h65321bb4306ac23aE.exit202", %99 ret void -368: ; preds = %"_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17h65321bb4306ac23aE.exit185", %310, %326 +366: ; preds = %"_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17h65321bb4306ac23aE.exit185", %308, %324 call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %45) call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %48) br label %112 -369: ; preds = %"_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17h65321bb4306ac23aE.exit", %102 +367: ; preds = %"_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17h65321bb4306ac23aE.exit", %102 call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %54) - br label %367 + br label %365 -370: ; preds = %107 +368: ; preds = %107 resume { ptr, i32 } %.pn129 } diff --git a/bench/tokenizers-rs/optimized/4vpw5vpiz5qnu5om.ll b/bench/tokenizers-rs/optimized/4vpw5vpiz5qnu5om.ll index ce9a786a7ae..ec58fd9d0dd 100644 --- a/bench/tokenizers-rs/optimized/4vpw5vpiz5qnu5om.ll +++ b/bench/tokenizers-rs/optimized/4vpw5vpiz5qnu5om.ll @@ -8012,15 +8012,13 @@ define hidden void @"_ZN111_$LT$alloc..vec..Vec$LT$T$GT$$u20$as$u20$alloc..vec.. unreachable _ZN5alloc7raw_vec14handle_reserve17hb34c9fd5df13d306E.exit: ; preds = %56 - %trunc.i.i.i.i = trunc nuw i64 %52 to i1 %66 = extractvalue { i64, i64 } %51, 1 - %.2.i.i.i.i = select i1 %trunc.i.i.i.i, i64 %66, i64 undef %67 = getelementptr inbounds nuw i8, ptr %3, i64 16 %68 = load ptr, ptr %67, align 8, !alias.scope !2158, !nonnull !13, !noundef !13 %69 = getelementptr inbounds nuw i8, ptr %3, i64 8 %70 = load i64, ptr %69, align 8, !range !148, !alias.scope !2158, !noundef !13 call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %3) - store i64 %.2.i.i.i.i, ptr %68, align 8 + store i64 %66, ptr %68, align 8 store i64 %70, ptr %5, align 8 %.sroa.4.0..sroa_idx = getelementptr inbounds nuw i8, ptr %5, i64 8 store ptr %68, ptr %.sroa.4.0..sroa_idx, align 8 @@ -8119,9 +8117,7 @@ _ZN5alloc7raw_vec14handle_reserve17hb34c9fd5df13d306E.exit: ; preds = %56 br i1 %switch.i.i.i.i.i, label %75, label %119 119: ; preds = %.noexc - %trunc.i.i.i.i.i.i = trunc nuw i64 %118 to i1 %120 = extractvalue { i64, i64 } %117, 1 - %.2.i.i.i.i.i.i = select i1 %trunc.i.i.i.i.i.i, i64 %120, i64 undef %121 = load i64, ptr %.sroa.6.0..sroa_idx, align 8, !alias.scope !2202, !noalias !2203, !noundef !13 %122 = load i64, ptr %5, align 8, !alias.scope !2202, !noalias !2203, !noundef !13 %123 = icmp eq i64 %121, %122 @@ -8134,7 +8130,7 @@ _ZN5alloc7raw_vec14handle_reserve17hb34c9fd5df13d306E.exit: ; preds = %56 .noexc5: ; preds = %"_ZN5alloc3vec16Vec$LT$T$C$A$GT$7reserve17h92e49a89e82e5bb2E.llvm.4432219087322099438.exit.i.i", %119 %124 = load ptr, ptr %.sroa.4.0..sroa_idx, align 8, !alias.scope !2202, !noalias !2203, !nonnull !13, !noundef !13 %125 = getelementptr inbounds i64, ptr %124, i64 %121 - store i64 %.2.i.i.i.i.i.i, ptr %125, align 8 + store i64 %120, ptr %125, align 8 %126 = add i64 %121, 1 store i64 %126, ptr %.sroa.6.0..sroa_idx, align 8, !alias.scope !2202, !noalias !2203 br label %73 diff --git a/bench/tree-sitter-rs/optimized/2fq1z2kxn3lpndsy.ll b/bench/tree-sitter-rs/optimized/2fq1z2kxn3lpndsy.ll index 366a7293be7..e95c73ef5ee 100644 --- a/bench/tree-sitter-rs/optimized/2fq1z2kxn3lpndsy.ll +++ b/bench/tree-sitter-rs/optimized/2fq1z2kxn3lpndsy.ll @@ -12664,18 +12664,18 @@ define internal fastcc void @_ZN3std2io19default_read_to_end17hd188545e25612039E %9 = load i64, ptr %8, align 8, !noundef !4 %10 = load i64, ptr %2, align 8, !noundef !4 %trunc = trunc nuw i64 %3 to i1 - br i1 %trunc, label %11, label %23 + br i1 %trunc, label %11, label %.thread 11: ; preds = %5 %12 = tail call { i64, i1 } @llvm.uadd.with.overflow.i64(i64 %4, i64 1024) %13 = extractvalue { i64, i1 } %12, 0 %14 = extractvalue { i64, i1 } %12, 1 - br i1 %14, label %.thread105, label %15 + br i1 %14, label %.thread, label %15 15: ; preds = %11 %16 = and i64 %13, 8191 %17 = icmp eq i64 %16, 0 - br i1 %17, label %.thread99, label %18 + br i1 %17, label %.thread93, label %18 18: ; preds = %15 %19 = sub nuw nsw i64 8192, %16 @@ -12683,240 +12683,234 @@ define internal fastcc void @_ZN3std2io19default_read_to_end17hd188545e25612039E %.fr = freeze { i64, i1 } %20 %21 = extractvalue { i64, i1 } %.fr, 1 %22 = extractvalue { i64, i1 } %.fr, 0 - br i1 %21, label %.thread105, label %.thread99 + br i1 %21, label %.thread, label %.thread93 -.thread105: ; preds = %18, %11 - br label %.thread99 +.thread: ; preds = %11, %5, %18 + br label %.thread93 -23: ; preds = %5 +.thread93: ; preds = %15, %18, %.thread + %23 = phi i64 [ 8192, %.thread ], [ %22, %18 ], [ %13, %15 ] %.not = icmp eq i64 %3, 0 - br i1 %.not, label %26, label %.thread107 - -.thread99: ; preds = %15, %18, %.thread105 - %24 = phi i64 [ 8192, %.thread105 ], [ %22, %18 ], [ %13, %15 ] - %25 = icmp eq i64 %4, 0 - br i1 %25, label %26, label %.thread107 - -26: ; preds = %23, %.thread99 - %27 = phi i64 [ 8192, %23 ], [ %24, %.thread99 ] - %.not102 = xor i1 %trunc, true - %28 = sub i64 %10, %9 - %29 = icmp ult i64 %28, 32 - br i1 %29, label %36, label %.thread107 - -.thread107: ; preds = %23, %26, %.thread99, %49 - %30 = phi i64 [ %9, %26 ], [ %9, %.thread99 ], [ %55, %49 ], [ %9, %23 ] - %.not101 = phi i1 [ %.not102, %26 ], [ false, %.thread99 ], [ %.not102, %49 ], [ false, %23 ] - %31 = phi i64 [ %27, %26 ], [ %24, %.thread99 ], [ %27, %49 ], [ 8192, %23 ] - %32 = getelementptr inbounds nuw i8, ptr %1, i64 24 - %33 = getelementptr inbounds nuw i8, ptr %1, i64 8 - %.val.i.i.i64 = load ptr, ptr %33, align 8, !nonnull !4 - %34 = getelementptr inbounds nuw i8, ptr %1, i64 16 - %.val6.i.i.i65 = load i64, ptr %34, align 8 - %35 = getelementptr inbounds nuw i8, ptr %2, i64 8 - %.promoted = load i64, ptr %32, align 8 + %24 = icmp eq i64 %4, 0 + %or.cond55 = select i1 %.not, i1 true, i1 %24 + br i1 %or.cond55, label %25, label %28 + +25: ; preds = %.thread93 + %26 = sub i64 %10, %9 + %27 = icmp ult i64 %26, 32 + br i1 %27, label %34, label %28 + +28: ; preds = %.thread93, %25, %47 + %29 = phi i64 [ %9, %.thread93 ], [ %9, %25 ], [ %53, %47 ] + %30 = getelementptr inbounds nuw i8, ptr %1, i64 24 + %31 = getelementptr inbounds nuw i8, ptr %1, i64 8 + %.val.i.i.i63 = load ptr, ptr %31, align 8, !nonnull !4 + %32 = getelementptr inbounds nuw i8, ptr %1, i64 16 + %.val6.i.i.i64 = load i64, ptr %32, align 8 + %33 = getelementptr inbounds nuw i8, ptr %2, i64 8 + %.promoted = load i64, ptr %30, align 8 br label %.outer -36: ; preds = %26 +34: ; preds = %25 tail call void @llvm.experimental.noalias.scope.decl(metadata !3236) tail call void @llvm.experimental.noalias.scope.decl(metadata !3239) call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %7) call void @llvm.memset.p0.i64(ptr noundef nonnull align 1 dereferenceable(32) %7, i8 0, i64 32, i1 false), !noalias !3241 tail call void @llvm.experimental.noalias.scope.decl(metadata !3243) tail call void @llvm.experimental.noalias.scope.decl(metadata !3246) - %37 = getelementptr inbounds nuw i8, ptr %1, i64 24 - %38 = load i64, ptr %37, align 8, !alias.scope !3248, !noalias !3251, !noundef !4 - %39 = getelementptr inbounds nuw i8, ptr %1, i64 8 - %.val.i.i.i = load ptr, ptr %39, align 8, !alias.scope !3248, !noalias !3251, !nonnull !4, !noundef !4 - %40 = getelementptr inbounds nuw i8, ptr %1, i64 16 - %.val6.i.i.i = load i64, ptr %40, align 8, !alias.scope !3248, !noalias !3251, !noundef !4 - %.0.sroa.speculated.i.i.i.i = tail call noundef i64 @llvm.umin.i64(i64 %38, i64 %.val6.i.i.i) - %41 = sub nuw i64 %.val6.i.i.i, %.0.sroa.speculated.i.i.i.i - %42 = getelementptr inbounds i8, ptr %.val.i.i.i, i64 %.0.sroa.speculated.i.i.i.i + %35 = getelementptr inbounds nuw i8, ptr %1, i64 24 + %36 = load i64, ptr %35, align 8, !alias.scope !3248, !noalias !3251, !noundef !4 + %37 = getelementptr inbounds nuw i8, ptr %1, i64 8 + %.val.i.i.i = load ptr, ptr %37, align 8, !alias.scope !3248, !noalias !3251, !nonnull !4, !noundef !4 + %38 = getelementptr inbounds nuw i8, ptr %1, i64 16 + %.val6.i.i.i = load i64, ptr %38, align 8, !alias.scope !3248, !noalias !3251, !noundef !4 + %.0.sroa.speculated.i.i.i.i = tail call noundef i64 @llvm.umin.i64(i64 %36, i64 %.val6.i.i.i) + %39 = sub nuw i64 %.val6.i.i.i, %.0.sroa.speculated.i.i.i.i + %40 = getelementptr inbounds i8, ptr %.val.i.i.i, i64 %.0.sroa.speculated.i.i.i.i tail call void @llvm.experimental.noalias.scope.decl(metadata !3253) - %.0.sroa.speculated.i.i4.i.i = tail call noundef i64 @llvm.umin.i64(i64 %41, i64 32) - %43 = icmp eq i64 %41, 1 - br i1 %43, label %44, label %"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$15copy_from_slice17ha150367579730f78E.exit.i.i.i" + %.0.sroa.speculated.i.i4.i.i = tail call noundef i64 @llvm.umin.i64(i64 %39, i64 32) + %41 = icmp eq i64 %39, 1 + br i1 %41, label %42, label %"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$15copy_from_slice17ha150367579730f78E.exit.i.i.i" -"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$15copy_from_slice17ha150367579730f78E.exit.i.i.i": ; preds = %36 - call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 1 %7, ptr nonnull readonly align 1 %42, i64 %.0.sroa.speculated.i.i4.i.i, i1 false), !alias.scope !3256, !noalias !3260 - br label %46 +"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$15copy_from_slice17ha150367579730f78E.exit.i.i.i": ; preds = %34 + call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 1 %7, ptr nonnull readonly align 1 %40, i64 %.0.sroa.speculated.i.i4.i.i, i1 false), !alias.scope !3256, !noalias !3260 + br label %44 -44: ; preds = %36 - %45 = load i8, ptr %42, align 1, !noalias !3264, !noundef !4 - store i8 %45, ptr %7, align 1, !alias.scope !3265, !noalias !3266 - br label %46 +42: ; preds = %34 + %43 = load i8, ptr %40, align 1, !noalias !3264, !noundef !4 + store i8 %43, ptr %7, align 1, !alias.scope !3265, !noalias !3266 + br label %44 -46: ; preds = %44, %"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$15copy_from_slice17ha150367579730f78E.exit.i.i.i" - %47 = add i64 %.0.sroa.speculated.i.i4.i.i, %38 - store i64 %47, ptr %37, align 8, !alias.scope !3267, !noalias !3251 - %48 = icmp samesign ugt i64 %.0.sroa.speculated.i.i4.i.i, %28 - br i1 %48, label %.noexc5.i, label %49 +44: ; preds = %42, %"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$15copy_from_slice17ha150367579730f78E.exit.i.i.i" + %45 = add i64 %.0.sroa.speculated.i.i4.i.i, %36 + store i64 %45, ptr %35, align 8, !alias.scope !3267, !noalias !3251 + %46 = icmp samesign ugt i64 %.0.sroa.speculated.i.i4.i.i, %26 + br i1 %46, label %.noexc5.i, label %47 -.noexc5.i: ; preds = %46 +.noexc5.i: ; preds = %44 tail call void @"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$7reserve21do_reserve_and_handle17h7db9d4a28247896eE"(ptr noalias noundef nonnull align 8 dereferenceable(24) %2, i64 noundef %9, i64 noundef %.0.sroa.speculated.i.i4.i.i), !noalias !3268 %.pre.i.i.i = load i64, ptr %8, align 8, !alias.scope !3269, !noalias !3274 - br label %49 + br label %47 -49: ; preds = %.noexc5.i, %46 - %50 = phi i64 [ %9, %46 ], [ %.pre.i.i.i, %.noexc5.i ] - %51 = getelementptr inbounds nuw i8, ptr %2, i64 8 - %52 = load ptr, ptr %51, align 8, !alias.scope !3269, !noalias !3274, !nonnull !4, !noundef !4 - %53 = getelementptr inbounds i8, ptr %52, i64 %50 - call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 1 %53, ptr nonnull readonly align 1 %7, i64 %.0.sroa.speculated.i.i4.i.i, i1 false), !noalias !3268 - %54 = load i64, ptr %8, align 8, !alias.scope !3269, !noalias !3274, !noundef !4 - %55 = add i64 %54, %.0.sroa.speculated.i.i4.i.i - store i64 %55, ptr %8, align 8, !alias.scope !3269, !noalias !3274 +47: ; preds = %.noexc5.i, %44 + %48 = phi i64 [ %9, %44 ], [ %.pre.i.i.i, %.noexc5.i ] + %49 = getelementptr inbounds nuw i8, ptr %2, i64 8 + %50 = load ptr, ptr %49, align 8, !alias.scope !3269, !noalias !3274, !nonnull !4, !noundef !4 + %51 = getelementptr inbounds i8, ptr %50, i64 %48 + call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 1 %51, ptr nonnull readonly align 1 %7, i64 %.0.sroa.speculated.i.i4.i.i, i1 false), !noalias !3268 + %52 = load i64, ptr %8, align 8, !alias.scope !3269, !noalias !3274, !noundef !4 + %53 = add i64 %52, %.0.sroa.speculated.i.i4.i.i + store i64 %53, ptr %8, align 8, !alias.scope !3269, !noalias !3274 call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %7) - %.not110 = icmp ugt i64 %.val6.i.i.i, %38 - br i1 %.not110, label %.thread107, label %56 + %.not98 = icmp ugt i64 %.val6.i.i.i, %36 + br i1 %.not98, label %28, label %54 -56: ; preds = %49 +54: ; preds = %47 tail call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %0, i8 0, i64 16, i1 false) - br label %108 + br label %106 -57: ; preds = %.outer, %101 - %58 = phi i64 [ %103, %101 ], [ %.ph, %.outer ] - %59 = phi i64 [ %93, %101 ], [ %.ph124, %.outer ] - %.044 = phi i64 [ %102, %101 ], [ %.044.ph, %.outer ] - %60 = load i64, ptr %2, align 8, !noundef !4 - %61 = icmp eq i64 %58, %60 - %62 = icmp eq i64 %60, %10 - %or.cond2 = and i1 %61, %62 - br i1 %or.cond2, label %68, label %63 - -63: ; preds = %._crit_edge, %57 - %64 = phi i64 [ %60, %57 ], [ %.pre, %._crit_edge ] - %65 = phi i64 [ %58, %57 ], [ %81, %._crit_edge ] - %66 = phi i64 [ %59, %57 ], [ %75, %._crit_edge ] - %67 = icmp eq i64 %65, %64 - br i1 %67, label %"_ZN5alloc3vec16Vec$LT$T$C$A$GT$7reserve17h44e3af6f0c18641bE.exit", label %85 - -68: ; preds = %57 +55: ; preds = %.outer, %99 + %56 = phi i64 [ %101, %99 ], [ %.ph, %.outer ] + %57 = phi i64 [ %91, %99 ], [ %.ph112, %.outer ] + %.044 = phi i64 [ %100, %99 ], [ %.044.ph, %.outer ] + %58 = load i64, ptr %2, align 8, !noundef !4 + %59 = icmp eq i64 %56, %58 + %60 = icmp eq i64 %58, %10 + %or.cond2 = and i1 %59, %60 + br i1 %or.cond2, label %66, label %61 + +61: ; preds = %._crit_edge, %55 + %62 = phi i64 [ %58, %55 ], [ %.pre, %._crit_edge ] + %63 = phi i64 [ %56, %55 ], [ %79, %._crit_edge ] + %64 = phi i64 [ %57, %55 ], [ %73, %._crit_edge ] + %65 = icmp eq i64 %63, %62 + br i1 %65, label %"_ZN5alloc3vec16Vec$LT$T$C$A$GT$7reserve17h44e3af6f0c18641bE.exit", label %83 + +66: ; preds = %55 tail call void @llvm.experimental.noalias.scope.decl(metadata !3276) tail call void @llvm.experimental.noalias.scope.decl(metadata !3279) call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %6) call void @llvm.memset.p0.i64(ptr noundef nonnull align 1 dereferenceable(32) %6, i8 0, i64 32, i1 false), !noalias !3281 tail call void @llvm.experimental.noalias.scope.decl(metadata !3283) tail call void @llvm.experimental.noalias.scope.decl(metadata !3286) - %.0.sroa.speculated.i.i.i.i66 = tail call noundef i64 @llvm.umin.i64(i64 %59, i64 %.val6.i.i.i65) - %69 = sub nuw i64 %.val6.i.i.i65, %.0.sroa.speculated.i.i.i.i66 - %70 = getelementptr inbounds i8, ptr %.val.i.i.i64, i64 %.0.sroa.speculated.i.i.i.i66 + %.0.sroa.speculated.i.i.i.i65 = tail call noundef i64 @llvm.umin.i64(i64 %57, i64 %.val6.i.i.i64) + %67 = sub nuw i64 %.val6.i.i.i64, %.0.sroa.speculated.i.i.i.i65 + %68 = getelementptr inbounds i8, ptr %.val.i.i.i63, i64 %.0.sroa.speculated.i.i.i.i65 tail call void @llvm.experimental.noalias.scope.decl(metadata !3288) - %.0.sroa.speculated.i.i4.i.i67 = tail call noundef i64 @llvm.umin.i64(i64 %69, i64 32) - %71 = icmp eq i64 %69, 1 - br i1 %71, label %72, label %"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$15copy_from_slice17ha150367579730f78E.exit.i.i.i68" + %.0.sroa.speculated.i.i4.i.i66 = tail call noundef i64 @llvm.umin.i64(i64 %67, i64 32) + %69 = icmp eq i64 %67, 1 + br i1 %69, label %70, label %"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$15copy_from_slice17ha150367579730f78E.exit.i.i.i67" -"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$15copy_from_slice17ha150367579730f78E.exit.i.i.i68": ; preds = %68 - call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 1 %6, ptr nonnull readonly align 1 %70, i64 %.0.sroa.speculated.i.i4.i.i67, i1 false), !alias.scope !3291, !noalias !3295 - br label %74 +"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$15copy_from_slice17ha150367579730f78E.exit.i.i.i67": ; preds = %66 + call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 1 %6, ptr nonnull readonly align 1 %68, i64 %.0.sroa.speculated.i.i4.i.i66, i1 false), !alias.scope !3291, !noalias !3295 + br label %72 + +70: ; preds = %66 + %71 = load i8, ptr %68, align 1, !noalias !3300, !noundef !4 + store i8 %71, ptr %6, align 1, !alias.scope !3301, !noalias !3302 + br label %72 -72: ; preds = %68 - %73 = load i8, ptr %70, align 1, !noalias !3300, !noundef !4 - store i8 %73, ptr %6, align 1, !alias.scope !3301, !noalias !3302 +72: ; preds = %70, %"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$15copy_from_slice17ha150367579730f78E.exit.i.i.i67" + %73 = add i64 %.0.sroa.speculated.i.i4.i.i66, %57 + store i64 %73, ptr %30, align 8, !alias.scope !3303, !noalias !3304 + %.not106.not = icmp ugt i64 %.val6.i.i.i64, %57 + br i1 %.not106.not, label %.noexc5.i68, label %74 + +.noexc5.i68: ; preds = %72 + tail call void @"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$7reserve21do_reserve_and_handle17h7db9d4a28247896eE"(ptr noalias noundef nonnull align 8 dereferenceable(24) %2, i64 noundef %10, i64 noundef %.0.sroa.speculated.i.i4.i.i66), !noalias !3305 + %.pre.i.i.i69 = load i64, ptr %8, align 8, !alias.scope !3306, !noalias !3311 br label %74 -74: ; preds = %72, %"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$15copy_from_slice17ha150367579730f78E.exit.i.i.i68" - %75 = add i64 %.0.sroa.speculated.i.i4.i.i67, %59 - store i64 %75, ptr %32, align 8, !alias.scope !3303, !noalias !3304 - %.not118.not = icmp ugt i64 %.val6.i.i.i65, %59 - br i1 %.not118.not, label %.noexc5.i69, label %76 - -.noexc5.i69: ; preds = %74 - tail call void @"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$7reserve21do_reserve_and_handle17h7db9d4a28247896eE"(ptr noalias noundef nonnull align 8 dereferenceable(24) %2, i64 noundef %10, i64 noundef %.0.sroa.speculated.i.i4.i.i67), !noalias !3305 - %.pre.i.i.i70 = load i64, ptr %8, align 8, !alias.scope !3306, !noalias !3311 - br label %76 - -76: ; preds = %.noexc5.i69, %74 - %77 = phi i64 [ %10, %74 ], [ %.pre.i.i.i70, %.noexc5.i69 ] - %78 = load ptr, ptr %35, align 8, !alias.scope !3306, !noalias !3311, !nonnull !4, !noundef !4 - %79 = getelementptr inbounds i8, ptr %78, i64 %77 - call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 1 %79, ptr nonnull readonly align 1 %6, i64 %.0.sroa.speculated.i.i4.i.i67, i1 false), !noalias !3305 - %80 = load i64, ptr %8, align 8, !alias.scope !3306, !noalias !3311, !noundef !4 - %81 = add i64 %80, %.0.sroa.speculated.i.i4.i.i67 - store i64 %81, ptr %8, align 8, !alias.scope !3306, !noalias !3311 +74: ; preds = %.noexc5.i68, %72 + %75 = phi i64 [ %10, %72 ], [ %.pre.i.i.i69, %.noexc5.i68 ] + %76 = load ptr, ptr %33, align 8, !alias.scope !3306, !noalias !3311, !nonnull !4, !noundef !4 + %77 = getelementptr inbounds i8, ptr %76, i64 %75 + call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 1 %77, ptr nonnull readonly align 1 %6, i64 %.0.sroa.speculated.i.i4.i.i66, i1 false), !noalias !3305 + %78 = load i64, ptr %8, align 8, !alias.scope !3306, !noalias !3311, !noundef !4 + %79 = add i64 %78, %.0.sroa.speculated.i.i4.i.i66 + store i64 %79, ptr %8, align 8, !alias.scope !3306, !noalias !3311 call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %6) - %.not111 = icmp ugt i64 %.val6.i.i.i65, %59 - br i1 %.not111, label %._crit_edge, label %82 + %.not99 = icmp ugt i64 %.val6.i.i.i64, %57 + br i1 %.not99, label %._crit_edge, label %80 -._crit_edge: ; preds = %76 +._crit_edge: ; preds = %74 %.pre = load i64, ptr %2, align 8 - br label %63 + br label %61 -82: ; preds = %76 - %83 = sub i64 %81, %9 - %84 = getelementptr inbounds nuw i8, ptr %0, i64 8 - store i64 %83, ptr %84, align 8 +80: ; preds = %74 + %81 = sub i64 %79, %9 + %82 = getelementptr inbounds nuw i8, ptr %0, i64 8 + store i64 %81, ptr %82, align 8 store i64 0, ptr %0, align 8 - br label %108 + br label %106 -"_ZN5alloc3vec16Vec$LT$T$C$A$GT$7reserve17h44e3af6f0c18641bE.exit": ; preds = %63 - tail call void @"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$7reserve21do_reserve_and_handle17h7db9d4a28247896eE"(ptr noalias noundef nonnull align 8 dereferenceable(24) %2, i64 noundef %64, i64 noundef 32) - %.pre116 = load i64, ptr %8, align 8, !alias.scope !3313 - %.pre117 = load i64, ptr %2, align 8, !alias.scope !3313 - br label %85 +"_ZN5alloc3vec16Vec$LT$T$C$A$GT$7reserve17h44e3af6f0c18641bE.exit": ; preds = %61 + tail call void @"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$7reserve21do_reserve_and_handle17h7db9d4a28247896eE"(ptr noalias noundef nonnull align 8 dereferenceable(24) %2, i64 noundef %62, i64 noundef 32) + %.pre104 = load i64, ptr %8, align 8, !alias.scope !3313 + %.pre105 = load i64, ptr %2, align 8, !alias.scope !3313 + br label %83 -85: ; preds = %"_ZN5alloc3vec16Vec$LT$T$C$A$GT$7reserve17h44e3af6f0c18641bE.exit", %63 - %86 = phi i64 [ %.pre117, %"_ZN5alloc3vec16Vec$LT$T$C$A$GT$7reserve17h44e3af6f0c18641bE.exit" ], [ %64, %63 ] - %87 = phi i64 [ %.pre116, %"_ZN5alloc3vec16Vec$LT$T$C$A$GT$7reserve17h44e3af6f0c18641bE.exit" ], [ %65, %63 ] - %88 = load ptr, ptr %35, align 8, !alias.scope !3313, !nonnull !4, !noundef !4 - %89 = sub i64 %86, %87 - %.0.sroa.speculated.i = tail call noundef i64 @llvm.umin.i64(i64 %89, i64 %.1.ph) +83: ; preds = %"_ZN5alloc3vec16Vec$LT$T$C$A$GT$7reserve17h44e3af6f0c18641bE.exit", %61 + %84 = phi i64 [ %.pre105, %"_ZN5alloc3vec16Vec$LT$T$C$A$GT$7reserve17h44e3af6f0c18641bE.exit" ], [ %62, %61 ] + %85 = phi i64 [ %.pre104, %"_ZN5alloc3vec16Vec$LT$T$C$A$GT$7reserve17h44e3af6f0c18641bE.exit" ], [ %63, %61 ] + %86 = load ptr, ptr %33, align 8, !alias.scope !3313, !nonnull !4, !noundef !4 + %87 = sub i64 %84, %85 + %.0.sroa.speculated.i = tail call noundef i64 @llvm.umin.i64(i64 %87, i64 %.1.ph) tail call void @llvm.experimental.noalias.scope.decl(metadata !3316) - %90 = getelementptr inbounds i8, ptr %88, i64 %87 - %.0.sroa.speculated.i.i.i = tail call noundef i64 @llvm.umin.i64(i64 %66, i64 %.val6.i.i.i65) - %91 = getelementptr inbounds i8, ptr %.val.i.i.i64, i64 %.0.sroa.speculated.i.i.i - %92 = sub nuw i64 %.val6.i.i.i65, %.0.sroa.speculated.i.i.i - %.0.sroa.speculated.i.i20.i = tail call noundef i64 @llvm.umin.i64(i64 %.0.sroa.speculated.i, i64 %92) - tail call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 1 %90, ptr nonnull readonly align 1 %91, i64 %.0.sroa.speculated.i.i20.i, i1 false), !alias.scope !3319, !noalias !3323 - %.0.sroa.speculated.i.i.i.i73 = tail call noundef i64 @llvm.umax.i64(i64 %.044, i64 %.0.sroa.speculated.i.i20.i) - %93 = add i64 %.0.sroa.speculated.i.i20.i, %66 - store i64 %93, ptr %32, align 8, !alias.scope !3316, !noalias !3329 - %94 = icmp ugt i64 %.044, %.0.sroa.speculated.i - br i1 %94, label %95, label %"_ZN106_$LT$core..ops..range..Range$LT$usize$GT$$u20$as$u20$core..slice..index..SliceIndex$LT$$u5b$T$u5d$$GT$$GT$5index17h0b252631ad11952eE.exit" - -95: ; preds = %85 - tail call void @_ZN4core5slice5index24slice_end_index_len_fail17h9163fa4abd3ca1acE(i64 noundef %.0.sroa.speculated.i.i.i.i73, i64 noundef %.0.sroa.speculated.i, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.a1c908188362716657f0a41b2015bf97.56) #54, !noalias !3330 - unreachable - -"_ZN106_$LT$core..ops..range..Range$LT$usize$GT$$u20$as$u20$core..slice..index..SliceIndex$LT$$u5b$T$u5d$$GT$$GT$5index17h0b252631ad11952eE.exit": ; preds = %85 - %96 = icmp eq i64 %.0.sroa.speculated.i.i20.i, 0 - %97 = load i64, ptr %8, align 8, !noundef !4 - br i1 %96, label %98, label %101 - -98: ; preds = %"_ZN106_$LT$core..ops..range..Range$LT$usize$GT$$u20$as$u20$core..slice..index..SliceIndex$LT$$u5b$T$u5d$$GT$$GT$5index17h0b252631ad11952eE.exit" - %99 = sub i64 %97, %9 - %100 = getelementptr inbounds nuw i8, ptr %0, i64 8 - store i64 %99, ptr %100, align 8 + %88 = getelementptr inbounds i8, ptr %86, i64 %85 + %.0.sroa.speculated.i.i.i = tail call noundef i64 @llvm.umin.i64(i64 %64, i64 %.val6.i.i.i64) + %89 = getelementptr inbounds i8, ptr %.val.i.i.i63, i64 %.0.sroa.speculated.i.i.i + %90 = sub nuw i64 %.val6.i.i.i64, %.0.sroa.speculated.i.i.i + %.0.sroa.speculated.i.i20.i = tail call noundef i64 @llvm.umin.i64(i64 %.0.sroa.speculated.i, i64 %90) + tail call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 1 %88, ptr nonnull readonly align 1 %89, i64 %.0.sroa.speculated.i.i20.i, i1 false), !alias.scope !3319, !noalias !3323 + %.0.sroa.speculated.i.i.i.i72 = tail call noundef i64 @llvm.umax.i64(i64 %.044, i64 %.0.sroa.speculated.i.i20.i) + %91 = add i64 %.0.sroa.speculated.i.i20.i, %64 + store i64 %91, ptr %30, align 8, !alias.scope !3316, !noalias !3329 + %92 = icmp ugt i64 %.044, %.0.sroa.speculated.i + br i1 %92, label %93, label %"_ZN106_$LT$core..ops..range..Range$LT$usize$GT$$u20$as$u20$core..slice..index..SliceIndex$LT$$u5b$T$u5d$$GT$$GT$5index17h0b252631ad11952eE.exit" + +93: ; preds = %83 + tail call void @_ZN4core5slice5index24slice_end_index_len_fail17h9163fa4abd3ca1acE(i64 noundef %.0.sroa.speculated.i.i.i.i72, i64 noundef %.0.sroa.speculated.i, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.a1c908188362716657f0a41b2015bf97.56) #54, !noalias !3330 + unreachable + +"_ZN106_$LT$core..ops..range..Range$LT$usize$GT$$u20$as$u20$core..slice..index..SliceIndex$LT$$u5b$T$u5d$$GT$$GT$5index17h0b252631ad11952eE.exit": ; preds = %83 + %94 = icmp eq i64 %.0.sroa.speculated.i.i20.i, 0 + %95 = load i64, ptr %8, align 8, !noundef !4 + br i1 %94, label %96, label %99 + +96: ; preds = %"_ZN106_$LT$core..ops..range..Range$LT$usize$GT$$u20$as$u20$core..slice..index..SliceIndex$LT$$u5b$T$u5d$$GT$$GT$5index17h0b252631ad11952eE.exit" + %97 = sub i64 %95, %9 + %98 = getelementptr inbounds nuw i8, ptr %0, i64 8 + store i64 %97, ptr %98, align 8 store i64 0, ptr %0, align 8 - br label %108 + br label %106 -101: ; preds = %"_ZN106_$LT$core..ops..range..Range$LT$usize$GT$$u20$as$u20$core..slice..index..SliceIndex$LT$$u5b$T$u5d$$GT$$GT$5index17h0b252631ad11952eE.exit" - %102 = sub nuw i64 %.0.sroa.speculated.i.i.i.i73, %.0.sroa.speculated.i.i20.i - %103 = add i64 %97, %.0.sroa.speculated.i.i20.i - store i64 %103, ptr %8, align 8 - br i1 %.not101, label %.outer.backedge, label %57 - -.outer.backedge: ; preds = %101 - %104 = icmp eq i64 %.0.sroa.speculated.i.i.i.i73, %.0.sroa.speculated.i - %spec.select = select i1 %104, i64 %.1.ph, i64 -1 - %105 = icmp uge i64 %.0.sroa.speculated.i, %spec.select - %106 = icmp ule i64 %.0.sroa.speculated.i, %92 - %or.cond = and i1 %106, %105 - %107 = shl nuw i64 %spec.select, 1 +99: ; preds = %"_ZN106_$LT$core..ops..range..Range$LT$usize$GT$$u20$as$u20$core..slice..index..SliceIndex$LT$$u5b$T$u5d$$GT$$GT$5index17h0b252631ad11952eE.exit" + %100 = sub nuw i64 %.0.sroa.speculated.i.i.i.i72, %.0.sroa.speculated.i.i20.i + %101 = add i64 %95, %.0.sroa.speculated.i.i20.i + store i64 %101, ptr %8, align 8 + br i1 %.not, label %.outer.backedge, label %55 + +.outer.backedge: ; preds = %99 + %102 = icmp eq i64 %.0.sroa.speculated.i.i.i.i72, %.0.sroa.speculated.i + %spec.select = select i1 %102, i64 %.1.ph, i64 -1 + %103 = icmp uge i64 %.0.sroa.speculated.i, %spec.select + %104 = icmp ule i64 %.0.sroa.speculated.i, %90 + %or.cond = and i1 %104, %103 + %105 = shl nuw i64 %spec.select, 1 %.inv.i = icmp sgt i64 %spec.select, -1 - %spec.select.i = select i1 %.inv.i, i64 %107, i64 -1 + %spec.select.i = select i1 %.inv.i, i64 %105, i64 -1 %.1.ph.be = select i1 %or.cond, i64 %spec.select.i, i64 %spec.select br label %.outer -.outer: ; preds = %.outer.backedge, %.thread107 - %.ph = phi i64 [ %30, %.thread107 ], [ %103, %.outer.backedge ] - %.ph124 = phi i64 [ %.promoted, %.thread107 ], [ %93, %.outer.backedge ] - %.044.ph = phi i64 [ 0, %.thread107 ], [ %102, %.outer.backedge ] - %.1.ph = phi i64 [ %31, %.thread107 ], [ %.1.ph.be, %.outer.backedge ] - br label %57 +.outer: ; preds = %.outer.backedge, %28 + %.ph = phi i64 [ %29, %28 ], [ %101, %.outer.backedge ] + %.ph112 = phi i64 [ %.promoted, %28 ], [ %91, %.outer.backedge ] + %.044.ph = phi i64 [ 0, %28 ], [ %100, %.outer.backedge ] + %.1.ph = phi i64 [ %23, %28 ], [ %.1.ph.be, %.outer.backedge ] + br label %55 -108: ; preds = %98, %82, %56 +106: ; preds = %96, %80, %54 ret void } diff --git a/bench/turborepo-rs/optimized/b1v9cwehov8lq62y4x0jjbf7v.ll b/bench/turborepo-rs/optimized/b1v9cwehov8lq62y4x0jjbf7v.ll index 955f26cf219..ad7069aaacd 100644 --- a/bench/turborepo-rs/optimized/b1v9cwehov8lq62y4x0jjbf7v.ll +++ b/bench/turborepo-rs/optimized/b1v9cwehov8lq62y4x0jjbf7v.ll @@ -128,9 +128,9 @@ define noundef ptr @_RNvYNtNtCsapf13pIxsjn_3std2fs4FileNtNtB6_2io5Write9write_al %6 = getelementptr inbounds nuw i8, ptr %4, i64 8 br label %7 -7: ; preds = %.lr.ph, %38 - %.sroa.0.051 = phi ptr [ %1, %.lr.ph ], [ %.sroa.0.160, %38 ] - %.sroa.4.050 = phi i64 [ %2, %.lr.ph ], [ %.sroa.4.159, %38 ] +7: ; preds = %.lr.ph, %37 + %.sroa.0.051 = phi ptr [ %1, %.lr.ph ], [ %.sroa.0.160, %37 ] + %.sroa.4.050 = phi i64 [ %2, %.lr.ph ], [ %.sroa.4.159, %37 ] %8 = call { i64, ptr } @"_ZN48_$LT$std..fs..File$u20$as$u20$std..io..Write$GT$5write17h45c60b1f6960a0cdE"(ptr noalias noundef nonnull align 4 dereferenceable(4) %0, ptr noalias noundef nonnull readonly align 1 %.sroa.0.051, i64 noundef %.sroa.4.050) %9 = extractvalue { i64, ptr } %8, 0 %10 = extractvalue { i64, ptr } %8, 1 @@ -138,8 +138,8 @@ define noundef ptr @_RNvYNtNtCsapf13pIxsjn_3std2fs4FileNtNtB6_2io5Write9write_al %11 = ptrtoint ptr %10 to i64 br i1 %switch, label %12, label %14 -.loopexit: ; preds = %12, %22, %27, %33, %16, %38, %3 - %.sroa.04.0 = phi ptr [ null, %3 ], [ %10, %16 ], [ %10, %33 ], [ %10, %27 ], [ %10, %22 ], [ @anon.db3579a736f9be73a0da082ad35180d7.4, %12 ], [ null, %38 ] +.loopexit: ; preds = %12, %21, %26, %32, %16, %37, %3 + %.sroa.04.0 = phi ptr [ null, %3 ], [ %10, %16 ], [ %10, %32 ], [ %10, %26 ], [ %10, %21 ], [ @anon.db3579a736f9be73a0da082ad35180d7.4, %12 ], [ null, %37 ] ret ptr %.sroa.04.0 12: ; preds = %7 @@ -149,10 +149,10 @@ define noundef ptr @_RNvYNtNtCsapf13pIxsjn_3std2fs4FileNtNtB6_2io5Write9write_al 14: ; preds = %7 %15 = and i64 %11, 3 switch i64 %15, label %default.unreachable [ - i64 2, label %33 + i64 2, label %32 i64 3, label %16 - i64 0, label %22 - i64 1, label %27 + i64 0, label %21 + i64 1, label %26 ] default.unreachable: ; preds = %14 @@ -161,7 +161,7 @@ default.unreachable: ; preds = %14 16: ; preds = %14 %.mask = and i64 %11, -4294967296 %switch42 = icmp eq i64 %.mask, 150323855360 - br i1 %switch42, label %21, label %.loopexit + br i1 %switch42, label %34, label %.loopexit 17: ; preds = %12 %18 = icmp ult i64 %.sroa.4.050, %11 @@ -174,54 +174,50 @@ default.unreachable: ; preds = %14 .thread55: ; preds = %17 %19 = sub nuw i64 %.sroa.4.050, %11 %20 = getelementptr inbounds i8, ptr %.sroa.0.051, i64 %11 - br label %38 - -21: ; preds = %16, %22, %27, %33 - %trunc = trunc nuw i64 %9 to i1 - br i1 %trunc, label %35, label %38 - -22: ; preds = %14 - %23 = icmp ne ptr %10, null - call void @llvm.assume(i1 %23) - %24 = getelementptr inbounds nuw i8, ptr %10, i64 16 - %25 = load i8, ptr %24, align 8, !range !30, !noundef !9 - %26 = icmp eq i8 %25, 35 - br i1 %26, label %21, label %.loopexit - -27: ; preds = %14 - %28 = getelementptr i8, ptr %10, i64 -1 - %29 = icmp ne ptr %28, null - call void @llvm.assume(i1 %29) - %30 = getelementptr i8, ptr %10, i64 15 - %31 = load i8, ptr %30, align 8, !range !30, !noundef !9 - %32 = icmp eq i8 %31, 35 - br i1 %32, label %21, label %.loopexit - -33: ; preds = %14 + br label %37 + +21: ; preds = %14 + %22 = icmp ne ptr %10, null + call void @llvm.assume(i1 %22) + %23 = getelementptr inbounds nuw i8, ptr %10, i64 16 + %24 = load i8, ptr %23, align 8, !range !30, !noundef !9 + %25 = icmp eq i8 %24, 35 + br i1 %25, label %34, label %.loopexit + +26: ; preds = %14 + %27 = getelementptr i8, ptr %10, i64 -1 + %28 = icmp ne ptr %27, null + call void @llvm.assume(i1 %28) + %29 = getelementptr i8, ptr %10, i64 15 + %30 = load i8, ptr %29, align 8, !range !30, !noundef !9 + %31 = icmp eq i8 %30, 35 + br i1 %31, label %34, label %.loopexit + +32: ; preds = %14 %.mask43 = and i64 %11, -4294967296 - %34 = icmp eq i64 %.mask43, 17179869184 - br i1 %34, label %21, label %.loopexit + %33 = icmp eq i64 %.mask43, 17179869184 + br i1 %33, label %34, label %.loopexit -35: ; preds = %21 +34: ; preds = %32, %26, %21, %16 call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %4), !noalias !31 call void @_RINvNtNtNtCsapf13pIxsjn_3std2io5error14repr_bitpacked11decode_reprINtNtCs68wO5nsWeTG_5alloc5boxed3BoxNtB4_6CustomENCNvXs1_B2_NtB2_4ReprNtNtNtCs1LoaDTb72WA_4core3ops4drop4Drop4drop0ECslOtZNRIhnDi_7pidlock.llvm.10760115039776594612(ptr noalias nocapture noundef nonnull sret([16 x i8]) align 8 dereferenceable(16) %4, ptr noundef nonnull %10), !noalias !31 - %36 = load i8, ptr %4, align 8, !range !38, !alias.scope !39, !noalias !31, !noundef !9 - %switch.not.i.i.i.i = icmp eq i8 %36, 3 - br i1 %switch.not.i.i.i.i, label %37, label %_RINvNtCs1LoaDTb72WA_4core3ptr13drop_in_placeNtNtNtCsapf13pIxsjn_3std2io5error5ErrorECslOtZNRIhnDi_7pidlock.exit + %35 = load i8, ptr %4, align 8, !range !38, !alias.scope !39, !noalias !31, !noundef !9 + %switch.not.i.i.i.i = icmp eq i8 %35, 3 + br i1 %switch.not.i.i.i.i, label %36, label %_RINvNtCs1LoaDTb72WA_4core3ptr13drop_in_placeNtNtNtCsapf13pIxsjn_3std2io5error5ErrorECslOtZNRIhnDi_7pidlock.exit -37: ; preds = %35 +36: ; preds = %34 call void @_RINvNtCs1LoaDTb72WA_4core3ptr13drop_in_placeINtNtCs68wO5nsWeTG_5alloc5boxed3BoxNtNtNtCsapf13pIxsjn_3std2io5error6CustomEECslOtZNRIhnDi_7pidlock.llvm.10760115039776594612(ptr noalias noundef nonnull align 8 dereferenceable(8) %6), !noalias !31 br label %_RINvNtCs1LoaDTb72WA_4core3ptr13drop_in_placeNtNtNtCsapf13pIxsjn_3std2io5error5ErrorECslOtZNRIhnDi_7pidlock.exit -_RINvNtCs1LoaDTb72WA_4core3ptr13drop_in_placeNtNtNtCsapf13pIxsjn_3std2io5error5ErrorECslOtZNRIhnDi_7pidlock.exit: ; preds = %35, %37 +_RINvNtCs1LoaDTb72WA_4core3ptr13drop_in_placeNtNtNtCsapf13pIxsjn_3std2io5error5ErrorECslOtZNRIhnDi_7pidlock.exit: ; preds = %34, %36 call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %4), !noalias !31 - br label %38 + br label %37 -38: ; preds = %.thread55, %21, %_RINvNtCs1LoaDTb72WA_4core3ptr13drop_in_placeNtNtNtCsapf13pIxsjn_3std2io5error5ErrorECslOtZNRIhnDi_7pidlock.exit - %.sroa.0.160 = phi ptr [ %20, %.thread55 ], [ %.sroa.0.051, %21 ], [ %.sroa.0.051, %_RINvNtCs1LoaDTb72WA_4core3ptr13drop_in_placeNtNtNtCsapf13pIxsjn_3std2io5error5ErrorECslOtZNRIhnDi_7pidlock.exit ] - %.sroa.4.159 = phi i64 [ %19, %.thread55 ], [ %.sroa.4.050, %21 ], [ %.sroa.4.050, %_RINvNtCs1LoaDTb72WA_4core3ptr13drop_in_placeNtNtNtCsapf13pIxsjn_3std2io5error5ErrorECslOtZNRIhnDi_7pidlock.exit ] - %39 = icmp eq i64 %.sroa.4.159, 0 - br i1 %39, label %.loopexit, label %7 +37: ; preds = %.thread55, %_RINvNtCs1LoaDTb72WA_4core3ptr13drop_in_placeNtNtNtCsapf13pIxsjn_3std2io5error5ErrorECslOtZNRIhnDi_7pidlock.exit + %.sroa.0.160 = phi ptr [ %20, %.thread55 ], [ %.sroa.0.051, %_RINvNtCs1LoaDTb72WA_4core3ptr13drop_in_placeNtNtNtCsapf13pIxsjn_3std2io5error5ErrorECslOtZNRIhnDi_7pidlock.exit ] + %.sroa.4.159 = phi i64 [ %19, %.thread55 ], [ %.sroa.4.050, %_RINvNtCs1LoaDTb72WA_4core3ptr13drop_in_placeNtNtNtCsapf13pIxsjn_3std2io5error5ErrorECslOtZNRIhnDi_7pidlock.exit ] + %38 = icmp eq i64 %.sroa.4.159, 0 + br i1 %38, label %.loopexit, label %7 } ; Function Attrs: inlinehint mustprogress nofree norecurse nosync nounwind nonlazybind willreturn memory(argmem: read) uwtable diff --git a/bench/typst-rs/optimized/d6l9ieo9tcw33dn.ll b/bench/typst-rs/optimized/d6l9ieo9tcw33dn.ll index 327fb465df4..cd7c9e53889 100644 --- a/bench/typst-rs/optimized/d6l9ieo9tcw33dn.ll +++ b/bench/typst-rs/optimized/d6l9ieo9tcw33dn.ll @@ -186240,10 +186240,10 @@ define void @_ZN5typst11foundations3str3Str7replace17h8d325319f78ae863E(ptr noal %44 = icmp ult i64 %.sroa.3.0.i.i.i, 16 br i1 %44, label %55, label %47 -.body: ; preds = %.body76, %350, %49, %45 - %.pn61.pn = phi { ptr, i32 } [ %46, %45 ], [ %50, %49 ], [ %.pn61, %350 ], [ %.pn61, %.body76 ] +.body: ; preds = %.body76, %349, %49, %45 + %.pn61.pn = phi { ptr, i32 } [ %46, %45 ], [ %50, %49 ], [ %.pn61, %349 ], [ %.pn61, %.body76 ] invoke fastcc void @"_ZN4core3ptr57drop_in_place$LT$typst..foundations..str..Replacement$GT$17h497d66d7aef6d968E"(ptr noalias noundef align 8 dereferenceable(24) %5) #52 - to label %265 unwind label %346 + to label %265 unwind label %345 45: ; preds = %102 %46 = landingpad { ptr, i32 } @@ -186313,7 +186313,7 @@ define void @_ZN5typst11foundations3str3Str7replace17h8d325319f78ae863E(ptr noal cleanup br label %.body76 -.loopexit.split-lp: ; preds = %63, %237, %238, %_ZN14regex_automata4util4pool5inner9THREAD_ID7__getit17hab308c2dc74f3324E.exit.i.i.i, %109, %113, %._crit_edge, %300 +.loopexit.split-lp: ; preds = %63, %237, %238, %_ZN14regex_automata4util4pool5inner9THREAD_ID7__getit17hab308c2dc74f3324E.exit.i.i.i, %109, %113, %._crit_edge, %299 %lpad.loopexit.split-lp = landingpad { ptr, i32 } cleanup br label %.body76 @@ -186553,8 +186553,8 @@ _ZN14regex_automata4util4pool5inner9THREAD_ID7__getit17hab308c2dc74f3324E.exit.i %.sroa.17.0..sroa_idx = getelementptr inbounds nuw i8, ptr %29, i64 64 br label %133 -133: ; preds = %.lr.ph, %298 - %134 = phi i64 [ %., %.lr.ph ], [ %.pr155, %298 ] +133: ; preds = %.lr.ph, %297 + %134 = phi i64 [ %., %.lr.ph ], [ %.pr155, %297 ] %135 = add i64 %134, -1 store i64 %135, ptr %.sroa.214.0..sroa_idx, align 8 call void @llvm.experimental.noalias.scope.decl(metadata !39015) @@ -186777,10 +186777,10 @@ _ZN14regex_automata4util4iter8Searcher7advance17he682d14bc60f8bdeE.exit.i.i: ; p %202 = icmp eq i64 %198, -9223372036854775808 br i1 %202, label %._crit_edge, label %203 -.body85: ; preds = %.loopexit156, %.loopexit.split-lp157, %345, %.thread145, %194, %182 - %.pn = phi { ptr, i32 } [ %183, %182 ], [ %195, %194 ], [ %lpad.thr_comm, %.thread145 ], [ %lpad.thr_comm.split-lp, %345 ], [ %lpad.loopexit158, %.loopexit156 ], [ %lpad.loopexit.split-lp159, %.loopexit.split-lp157 ] +.body85: ; preds = %.loopexit156, %.loopexit.split-lp157, %344, %.thread145, %194, %182 + %.pn = phi { ptr, i32 } [ %183, %182 ], [ %195, %194 ], [ %lpad.thr_comm, %.thread145 ], [ %lpad.thr_comm.split-lp, %344 ], [ %lpad.loopexit158, %.loopexit156 ], [ %lpad.loopexit.split-lp159, %.loopexit.split-lp157 ] invoke void @"_ZN4core3ptr65drop_in_place$LT$regex_automata..meta..regex..CapturesMatches$GT$17hbd44c6cfadc59550E.llvm.16845035774076767816"(ptr noalias noundef nonnull align 8 dereferenceable(168) %30) - to label %.body76 unwind label %346 + to label %.body76 unwind label %345 .loopexit156: ; preds = %_ZN14regex_automata4meta5regex5Regex19static_captures_len17hfd539ce72035cfa3E.exit.i, %169 %lpad.loopexit158 = landingpad { ptr, i32 } @@ -186792,7 +186792,7 @@ _ZN14regex_automata4util4iter8Searcher7advance17he682d14bc60f8bdeE.exit.i.i: ; p cleanup br label %.body85 -._crit_edge: ; preds = %_ZN14regex_automata4util4iter8Searcher7advance17he682d14bc60f8bdeE.exit.i.i, %"_ZN103_$LT$regex_automata..meta..regex..CapturesMatches$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17hf754734a5beb481bE.exit.i", %298, %121 +._crit_edge: ; preds = %_ZN14regex_automata4util4iter8Searcher7advance17he682d14bc60f8bdeE.exit.i.i, %"_ZN103_$LT$regex_automata..meta..regex..CapturesMatches$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17hf754734a5beb481bE.exit.i", %297, %121 invoke void @"_ZN4core3ptr65drop_in_place$LT$regex_automata..meta..regex..CapturesMatches$GT$17hbd44c6cfadc59550E.llvm.16845035774076767816"(ptr noalias noundef nonnull align 8 dereferenceable(168) %30) to label %"_ZN4core3ptr97drop_in_place$LT$core..iter..adapters..take..Take$LT$regex..regex..string..CaptureMatches$GT$$GT$17hfcb42dba41a9a3efE.exit89" unwind label %.loopexit.split-lp @@ -186824,13 +186824,13 @@ _ZN14regex_automata4util4iter8Searcher7advance17he682d14bc60f8bdeE.exit.i.i: ; p %.not2.i.not.not.i = select i1 %212, i1 %213, i1 false %214 = shl nuw nsw i64 %211, 1 %215 = or disjoint i64 %214, 1 - br i1 %.not2.i.not.not.i, label %216, label %288 + br i1 %.not2.i.not.not.i, label %216, label %split 216: ; preds = %209, %203 %.061.i = phi i64 [ 0, %203 ], [ %214, %209 ] %.0.i = phi i64 [ 1, %203 ], [ %215, %209 ] %217 = icmp ult i64 %.061.i, %192 - br i1 %217, label %218, label %288 + br i1 %217, label %218, label %split 218: ; preds = %216 %219 = getelementptr inbounds nuw i64, ptr %199, i64 %.061.i @@ -186838,13 +186838,13 @@ _ZN14regex_automata4util4iter8Searcher7advance17he682d14bc60f8bdeE.exit.i.i: ; p %221 = icmp ne i64 %220, 0 %222 = icmp ult i64 %.0.i, %192 %or.cond.i = select i1 %221, i1 %222, i1 false - br i1 %or.cond.i, label %223, label %288 + br i1 %or.cond.i, label %223, label %split 223: ; preds = %218 %224 = getelementptr inbounds nuw i64, ptr %199, i64 %.0.i %225 = load i64, ptr %224, align 8, !noalias !39084, !noundef !4 %226 = icmp eq i64 %225, 0 - br i1 %226, label %288, label %289 + br i1 %226, label %split, label %288 "_ZN4core3ptr97drop_in_place$LT$core..iter..adapters..take..Take$LT$regex..regex..string..CaptureMatches$GT$$GT$17hfcb42dba41a9a3efE.exit89": ; preds = %._crit_edge call void @llvm.lifetime.end.p0(i64 168, ptr nonnull %30) @@ -186880,7 +186880,7 @@ _ZN14regex_automata4util4iter8Searcher7advance17he682d14bc60f8bdeE.exit.i.i: ; p invoke void @_ZN4ecow6string9EcoString8push_str17h2542dc826b62bb60E(ptr noalias noundef nonnull align 8 dereferenceable(16) %35, ptr noalias noundef nonnull readonly align 1 %240, i64 noundef %239) to label %242 unwind label %.loopexit.split-lp -241: ; preds = %288, %237 +241: ; preds = %split, %237 unreachable 242: ; preds = %238 @@ -186956,9 +186956,9 @@ default.unreachable.i.i: ; preds = %252 265: ; preds = %266, %.body %.pn61.pn.pn = phi { ptr, i32 } [ %.pn61.pn, %.body ], [ %267, %266 ] invoke fastcc void @"_ZN4core3ptr56drop_in_place$LT$typst..foundations..str..StrPattern$GT$17he5dfd81bb8fe3f15E"(ptr noalias noundef align 8 dereferenceable(32) %4) #52 - to label %common.resume unwind label %346 + to label %common.resume unwind label %345 -266: ; preds = %.noexc104, %324, %.noexc102, %318, %310, %.noexc96, %264, %.noexc94, %258, %250 +266: ; preds = %.noexc104, %323, %.noexc102, %317, %309, %.noexc96, %264, %.noexc94, %258, %250 %267 = landingpad { ptr, i32 } cleanup br label %265 @@ -187010,194 +187010,194 @@ default.unreachable.i.i: ; preds = %252 call void @_ZN4core9panicking16panic_in_cleanup17h76c6e1c84248d3ffE() #53 unreachable -common.resume: ; preds = %265, %334, %277 - %common.resume.op = phi { ptr, i32 } [ %278, %277 ], [ %335, %334 ], [ %.pn61.pn.pn, %265 ] +common.resume: ; preds = %265, %333, %277 + %common.resume.op = phi { ptr, i32 } [ %278, %277 ], [ %334, %333 ], [ %.pn61.pn.pn, %265 ] resume { ptr, i32 } %common.resume.op -"_ZN4core3ptr56drop_in_place$LT$typst..foundations..str..StrPattern$GT$17he5dfd81bb8fe3f15E.exit": ; preds = %342, %337, %331, %327, %285, %280, %274, %270 +"_ZN4core3ptr56drop_in_place$LT$typst..foundations..str..StrPattern$GT$17he5dfd81bb8fe3f15E.exit": ; preds = %341, %336, %330, %326, %285, %280, %274, %270 ret void -.thread145: ; preds = %291, %289 +.thread145: ; preds = %290, %288 %lpad.thr_comm = landingpad { ptr, i32 } cleanup br label %.body85 -288: ; preds = %223, %216, %218, %209 +split: ; preds = %223, %216, %218, %209 invoke void @_ZN4core6option13unwrap_failed17hac39b9b7507453f8E(ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.a2b023d1a4e2834952d16152dce23780.1138) #50 - to label %241 unwind label %345 + to label %241 unwind label %344 -289: ; preds = %223 +288: ; preds = %223 call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %28) call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(72) %28, ptr noundef nonnull align 8 dereferenceable(72) %29, i64 72, i1 false) - %290 = invoke noundef nonnull ptr @_ZN5typst11foundations3str16captures_to_dict17h2b805d9532c57819E(ptr noalias nocapture noundef nonnull align 8 dereferenceable(72) %28) - to label %291 unwind label %.thread145 + %289 = invoke noundef nonnull ptr @_ZN5typst11foundations3str16captures_to_dict17h2b805d9532c57819E(ptr noalias nocapture noundef nonnull align 8 dereferenceable(72) %28) + to label %290 unwind label %.thread145 -291: ; preds = %289 - %292 = add i64 %225, -1 - %293 = add i64 %220, -1 +290: ; preds = %288 + %291 = add i64 %225, -1 + %292 = add i64 %220, -1 call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %28) - %294 = invoke fastcc { ptr, i64 } @"_ZN5typst11foundations3str3Str7replace28_$u7b$$u7b$closure$u7d$$u7d$17h6995ed9f7dae9a2eE"(ptr noalias noundef align 8 dereferenceable(48) %33, i64 noundef %293, i64 noundef %292, ptr noundef nonnull %290) - to label %295 unwind label %.thread145 + %293 = invoke fastcc { ptr, i64 } @"_ZN5typst11foundations3str3Str7replace28_$u7b$$u7b$closure$u7d$$u7d$17h6995ed9f7dae9a2eE"(ptr noalias noundef align 8 dereferenceable(48) %33, i64 noundef %292, i64 noundef %291, ptr noundef nonnull %289) + to label %294 unwind label %.thread145 -295: ; preds = %291 - %296 = extractvalue { ptr, i64 } %294, 0 - %297 = icmp eq ptr %296, null - br i1 %297, label %298, label %300 +294: ; preds = %290 + %295 = extractvalue { ptr, i64 } %293, 0 + %296 = icmp eq ptr %295, null + br i1 %296, label %297, label %299 -298: ; preds = %295 +297: ; preds = %294 call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %29) %.pr155 = load i64, ptr %.sroa.214.0..sroa_idx, align 8 - %299 = icmp eq i64 %.pr155, 0 - br i1 %299, label %._crit_edge, label %133 - -300: ; preds = %295 - %301 = extractvalue { ptr, i64 } %294, 1 - %302 = getelementptr inbounds nuw i8, ptr %0, i64 8 - store ptr %296, ptr %302, align 8 - %303 = getelementptr inbounds nuw i8, ptr %0, i64 16 - store i64 %301, ptr %303, align 8 + %298 = icmp eq i64 %.pr155, 0 + br i1 %298, label %._crit_edge, label %133 + +299: ; preds = %294 + %300 = extractvalue { ptr, i64 } %293, 1 + %301 = getelementptr inbounds nuw i8, ptr %0, i64 8 + store ptr %295, ptr %301, align 8 + %302 = getelementptr inbounds nuw i8, ptr %0, i64 16 + store i64 %300, ptr %302, align 8 store i64 1, ptr %0, align 8 call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %29) invoke void @"_ZN4core3ptr65drop_in_place$LT$regex_automata..meta..regex..CapturesMatches$GT$17hbd44c6cfadc59550E.llvm.16845035774076767816"(ptr noalias noundef nonnull align 8 dereferenceable(168) %30) to label %"_ZN4core3ptr97drop_in_place$LT$core..iter..adapters..take..Take$LT$regex..regex..string..CaptureMatches$GT$$GT$17hfcb42dba41a9a3efE.exit99" unwind label %.loopexit.split-lp -"_ZN4core3ptr97drop_in_place$LT$core..iter..adapters..take..Take$LT$regex..regex..string..CaptureMatches$GT$$GT$17hfcb42dba41a9a3efE.exit99": ; preds = %300 +"_ZN4core3ptr97drop_in_place$LT$core..iter..adapters..take..Take$LT$regex..regex..string..CaptureMatches$GT$$GT$17hfcb42dba41a9a3efE.exit99": ; preds = %299 call void @llvm.lifetime.end.p0(i64 168, ptr nonnull %30) br label %99 "_ZN4core3ptr44drop_in_place$LT$ecow..string..EcoString$GT$17h2cca40327d577ef0E.exit": ; preds = %99, %102 call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %35) call void @llvm.experimental.noalias.scope.decl(metadata !39149) - %304 = load i64, ptr %5, align 8, !range !2376, !alias.scope !39149, !noundef !4 - %305 = icmp eq i64 %304, 4 - br i1 %305, label %306, label %312 - -306: ; preds = %"_ZN4core3ptr44drop_in_place$LT$ecow..string..EcoString$GT$17h2cca40327d577ef0E.exit" - %307 = getelementptr inbounds nuw i8, ptr %5, i64 23 - %308 = load i8, ptr %307, align 1, !alias.scope !39152, !noundef !4 - %309 = icmp sgt i8 %308, -1 - br i1 %309, label %310, label %"_ZN4core3ptr57drop_in_place$LT$typst..foundations..str..Replacement$GT$17h497d66d7aef6d968E.exit106" - -310: ; preds = %306 - %311 = getelementptr inbounds nuw i8, ptr %5, i64 8 - invoke void @"_ZN68_$LT$ecow..vec..EcoVec$LT$T$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h3d104556f500dee7E"(ptr noalias noundef nonnull align 8 dereferenceable(16) %311) + %303 = load i64, ptr %5, align 8, !range !2376, !alias.scope !39149, !noundef !4 + %304 = icmp eq i64 %303, 4 + br i1 %304, label %305, label %311 + +305: ; preds = %"_ZN4core3ptr44drop_in_place$LT$ecow..string..EcoString$GT$17h2cca40327d577ef0E.exit" + %306 = getelementptr inbounds nuw i8, ptr %5, i64 23 + %307 = load i8, ptr %306, align 1, !alias.scope !39152, !noundef !4 + %308 = icmp sgt i8 %307, -1 + br i1 %308, label %309, label %"_ZN4core3ptr57drop_in_place$LT$typst..foundations..str..Replacement$GT$17h497d66d7aef6d968E.exit106" + +309: ; preds = %305 + %310 = getelementptr inbounds nuw i8, ptr %5, i64 8 + invoke void @"_ZN68_$LT$ecow..vec..EcoVec$LT$T$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h3d104556f500dee7E"(ptr noalias noundef nonnull align 8 dereferenceable(16) %310) to label %"_ZN4core3ptr57drop_in_place$LT$typst..foundations..str..Replacement$GT$17h497d66d7aef6d968E.exit106" unwind label %266 -312: ; preds = %"_ZN4core3ptr44drop_in_place$LT$ecow..string..EcoString$GT$17h2cca40327d577ef0E.exit" +311: ; preds = %"_ZN4core3ptr44drop_in_place$LT$ecow..string..EcoString$GT$17h2cca40327d577ef0E.exit" call void @llvm.experimental.noalias.scope.decl(metadata !39161) call void @llvm.experimental.noalias.scope.decl(metadata !39164) - switch i64 %304, label %default.unreachable.i.i100 [ + switch i64 %303, label %default.unreachable.i.i100 [ i64 0, label %"_ZN4core3ptr57drop_in_place$LT$typst..foundations..str..Replacement$GT$17h497d66d7aef6d968E.exit106" i64 1, label %"_ZN4core3ptr57drop_in_place$LT$typst..foundations..str..Replacement$GT$17h497d66d7aef6d968E.exit106" - i64 2, label %319 - i64 3, label %313 + i64 2, label %318 + i64 3, label %312 ] -default.unreachable.i.i100: ; preds = %312 +default.unreachable.i.i100: ; preds = %311 unreachable -313: ; preds = %312 - %314 = getelementptr inbounds nuw i8, ptr %5, i64 8 +312: ; preds = %311 + %313 = getelementptr inbounds nuw i8, ptr %5, i64 8 call void @llvm.experimental.noalias.scope.decl(metadata !39167) call void @llvm.experimental.noalias.scope.decl(metadata !39170) - %315 = load ptr, ptr %314, align 8, !alias.scope !39173, !nonnull !4, !noundef !4 - %316 = atomicrmw sub ptr %315, i64 1 release, align 8, !noalias !39173 - %317 = icmp eq i64 %316, 1 - br i1 %317, label %318, label %"_ZN4core3ptr57drop_in_place$LT$typst..foundations..str..Replacement$GT$17h497d66d7aef6d968E.exit106" + %314 = load ptr, ptr %313, align 8, !alias.scope !39173, !nonnull !4, !noundef !4 + %315 = atomicrmw sub ptr %314, i64 1 release, align 8, !noalias !39173 + %316 = icmp eq i64 %315, 1 + br i1 %316, label %317, label %"_ZN4core3ptr57drop_in_place$LT$typst..foundations..str..Replacement$GT$17h497d66d7aef6d968E.exit106" -318: ; preds = %313 +317: ; preds = %312 invoke void @_ZN4core4sync6atomic5fence17h683d388ef8afd54bE.llvm.16845035774076767816(i8 noundef 2) to label %.noexc102 unwind label %266 -.noexc102: ; preds = %318 - invoke void @"_ZN5alloc4sync16Arc$LT$T$C$A$GT$9drop_slow17hc62e0b215a85e266E"(ptr noalias noundef nonnull align 8 dereferenceable(8) %314) +.noexc102: ; preds = %317 + invoke void @"_ZN5alloc4sync16Arc$LT$T$C$A$GT$9drop_slow17hc62e0b215a85e266E"(ptr noalias noundef nonnull align 8 dereferenceable(8) %313) to label %"_ZN4core3ptr57drop_in_place$LT$typst..foundations..str..Replacement$GT$17h497d66d7aef6d968E.exit106" unwind label %266 -319: ; preds = %312 - %320 = getelementptr inbounds nuw i8, ptr %5, i64 8 +318: ; preds = %311 + %319 = getelementptr inbounds nuw i8, ptr %5, i64 8 call void @llvm.experimental.noalias.scope.decl(metadata !39174) call void @llvm.experimental.noalias.scope.decl(metadata !39177) - %321 = load ptr, ptr %320, align 8, !alias.scope !39180, !nonnull !4, !noundef !4 - %322 = atomicrmw sub ptr %321, i64 1 release, align 8, !noalias !39180 - %323 = icmp eq i64 %322, 1 - br i1 %323, label %324, label %"_ZN4core3ptr57drop_in_place$LT$typst..foundations..str..Replacement$GT$17h497d66d7aef6d968E.exit106" + %320 = load ptr, ptr %319, align 8, !alias.scope !39180, !nonnull !4, !noundef !4 + %321 = atomicrmw sub ptr %320, i64 1 release, align 8, !noalias !39180 + %322 = icmp eq i64 %321, 1 + br i1 %322, label %323, label %"_ZN4core3ptr57drop_in_place$LT$typst..foundations..str..Replacement$GT$17h497d66d7aef6d968E.exit106" -324: ; preds = %319 +323: ; preds = %318 invoke void @_ZN4core4sync6atomic5fence17h683d388ef8afd54bE.llvm.16845035774076767816(i8 noundef 2) to label %.noexc104 unwind label %266 -.noexc104: ; preds = %324 - invoke void @"_ZN5alloc4sync16Arc$LT$T$C$A$GT$9drop_slow17h5e6fc6f6ee46223bE"(ptr noalias noundef nonnull align 8 dereferenceable(8) %320) +.noexc104: ; preds = %323 + invoke void @"_ZN5alloc4sync16Arc$LT$T$C$A$GT$9drop_slow17h5e6fc6f6ee46223bE"(ptr noalias noundef nonnull align 8 dereferenceable(8) %319) to label %"_ZN4core3ptr57drop_in_place$LT$typst..foundations..str..Replacement$GT$17h497d66d7aef6d968E.exit106" unwind label %266 -"_ZN4core3ptr57drop_in_place$LT$typst..foundations..str..Replacement$GT$17h497d66d7aef6d968E.exit106": ; preds = %319, %313, %312, %312, %306, %310, %.noexc102, %.noexc104 - %325 = load ptr, ptr %4, align 8, !alias.scope !39181, !noundef !4 - %326 = icmp eq ptr %325, null - br i1 %326, label %327, label %333 +"_ZN4core3ptr57drop_in_place$LT$typst..foundations..str..Replacement$GT$17h497d66d7aef6d968E.exit106": ; preds = %318, %312, %311, %311, %305, %309, %.noexc102, %.noexc104 + %324 = load ptr, ptr %4, align 8, !alias.scope !39181, !noundef !4 + %325 = icmp eq ptr %324, null + br i1 %325, label %326, label %332 -327: ; preds = %"_ZN4core3ptr57drop_in_place$LT$typst..foundations..str..Replacement$GT$17h497d66d7aef6d968E.exit106" - %328 = getelementptr inbounds nuw i8, ptr %4, i64 23 - %329 = load i8, ptr %328, align 1, !alias.scope !39184, !noundef !4 - %330 = icmp sgt i8 %329, -1 - br i1 %330, label %331, label %"_ZN4core3ptr56drop_in_place$LT$typst..foundations..str..StrPattern$GT$17he5dfd81bb8fe3f15E.exit" +326: ; preds = %"_ZN4core3ptr57drop_in_place$LT$typst..foundations..str..Replacement$GT$17h497d66d7aef6d968E.exit106" + %327 = getelementptr inbounds nuw i8, ptr %4, i64 23 + %328 = load i8, ptr %327, align 1, !alias.scope !39184, !noundef !4 + %329 = icmp sgt i8 %328, -1 + br i1 %329, label %330, label %"_ZN4core3ptr56drop_in_place$LT$typst..foundations..str..StrPattern$GT$17he5dfd81bb8fe3f15E.exit" -331: ; preds = %327 - %332 = getelementptr inbounds nuw i8, ptr %4, i64 8 - call void @"_ZN68_$LT$ecow..vec..EcoVec$LT$T$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h3d104556f500dee7E"(ptr noalias noundef nonnull align 8 dereferenceable(16) %332) +330: ; preds = %326 + %331 = getelementptr inbounds nuw i8, ptr %4, i64 8 + call void @"_ZN68_$LT$ecow..vec..EcoVec$LT$T$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h3d104556f500dee7E"(ptr noalias noundef nonnull align 8 dereferenceable(16) %331) br label %"_ZN4core3ptr56drop_in_place$LT$typst..foundations..str..StrPattern$GT$17he5dfd81bb8fe3f15E.exit" -333: ; preds = %"_ZN4core3ptr57drop_in_place$LT$typst..foundations..str..Replacement$GT$17h497d66d7aef6d968E.exit106" +332: ; preds = %"_ZN4core3ptr57drop_in_place$LT$typst..foundations..str..Replacement$GT$17h497d66d7aef6d968E.exit106" invoke void @"_ZN4core3ptr55drop_in_place$LT$regex_automata..meta..regex..Regex$GT$17h900d3b33dbc10e3bE"(ptr noalias noundef nonnull align 8 dereferenceable(32) %4) - to label %337 unwind label %334 + to label %336 unwind label %333 -334: ; preds = %333 - %335 = landingpad { ptr, i32 } +333: ; preds = %332 + %334 = landingpad { ptr, i32 } cleanup - %336 = getelementptr inbounds nuw i8, ptr %4, i64 16 - invoke void @"_ZN4core3ptr48drop_in_place$LT$alloc..sync..Arc$LT$str$GT$$GT$17h4455ef549ceb7becE.llvm.16845035774076767816"(ptr noalias noundef nonnull align 8 dereferenceable(16) %336) #52 - to label %common.resume unwind label %343 + %335 = getelementptr inbounds nuw i8, ptr %4, i64 16 + invoke void @"_ZN4core3ptr48drop_in_place$LT$alloc..sync..Arc$LT$str$GT$$GT$17h4455ef549ceb7becE.llvm.16845035774076767816"(ptr noalias noundef nonnull align 8 dereferenceable(16) %335) #52 + to label %common.resume unwind label %342 -337: ; preds = %333 - %338 = getelementptr inbounds nuw i8, ptr %4, i64 16 +336: ; preds = %332 + %337 = getelementptr inbounds nuw i8, ptr %4, i64 16 call void @llvm.experimental.noalias.scope.decl(metadata !39193) call void @llvm.experimental.noalias.scope.decl(metadata !39196) - %339 = load ptr, ptr %338, align 8, !alias.scope !39199, !nonnull !4, !noundef !4 - %340 = atomicrmw sub ptr %339, i64 1 release, align 8, !noalias !39204 - %341 = icmp eq i64 %340, 1 - br i1 %341, label %342, label %"_ZN4core3ptr56drop_in_place$LT$typst..foundations..str..StrPattern$GT$17he5dfd81bb8fe3f15E.exit" + %338 = load ptr, ptr %337, align 8, !alias.scope !39199, !nonnull !4, !noundef !4 + %339 = atomicrmw sub ptr %338, i64 1 release, align 8, !noalias !39204 + %340 = icmp eq i64 %339, 1 + br i1 %340, label %341, label %"_ZN4core3ptr56drop_in_place$LT$typst..foundations..str..StrPattern$GT$17he5dfd81bb8fe3f15E.exit" -342: ; preds = %337 +341: ; preds = %336 call void @_ZN4core4sync6atomic5fence17h683d388ef8afd54bE.llvm.16845035774076767816(i8 noundef 2), !noalias !39204 - call void @"_ZN5alloc4sync16Arc$LT$T$C$A$GT$9drop_slow17h31b6cdaeba11701aE"(ptr noalias noundef nonnull align 8 dereferenceable(16) %338) + call void @"_ZN5alloc4sync16Arc$LT$T$C$A$GT$9drop_slow17h31b6cdaeba11701aE"(ptr noalias noundef nonnull align 8 dereferenceable(16) %337) br label %"_ZN4core3ptr56drop_in_place$LT$typst..foundations..str..StrPattern$GT$17he5dfd81bb8fe3f15E.exit" -343: ; preds = %334 - %344 = landingpad { ptr, i32 } +342: ; preds = %333 + %343 = landingpad { ptr, i32 } filter [0 x ptr] zeroinitializer call void @_ZN4core9panicking16panic_in_cleanup17h76c6e1c84248d3ffE() #53 unreachable -345: ; preds = %288 +344: ; preds = %split %lpad.thr_comm.split-lp = landingpad { ptr, i32 } cleanup invoke void @"_ZN4core3ptr61drop_in_place$LT$regex_automata..util..captures..Captures$GT$17h81bbbab43f8bb134E"(ptr noalias noundef nonnull align 8 dereferenceable(40) %.sroa.10.0..sroa_idx) - to label %.body85 unwind label %346 + to label %.body85 unwind label %345 -346: ; preds = %350, %345, %.body85, %265, %.body - %347 = landingpad { ptr, i32 } +345: ; preds = %349, %344, %.body85, %265, %.body + %346 = landingpad { ptr, i32 } filter [0 x ptr] zeroinitializer call void @_ZN4core9panicking16panic_in_cleanup17h76c6e1c84248d3ffE() #53 unreachable .body76: ; preds = %.loopexit, %.loopexit.split-lp, %.body85, %117 %.pn61 = phi { ptr, i32 } [ %118, %117 ], [ %.pn, %.body85 ], [ %lpad.loopexit, %.loopexit ], [ %lpad.loopexit.split-lp, %.loopexit.split-lp ] - %348 = load i8, ptr %.sroa.0.sroa.5.0..sroa_idx4.i, align 1, !alias.scope !39205, !noundef !4 - %349 = icmp sgt i8 %348, -1 - br i1 %349, label %350, label %.body + %347 = load i8, ptr %.sroa.0.sroa.5.0..sroa_idx4.i, align 1, !alias.scope !39205, !noundef !4 + %348 = icmp sgt i8 %347, -1 + br i1 %348, label %349, label %.body -350: ; preds = %.body76 +349: ; preds = %.body76 invoke void @"_ZN68_$LT$ecow..vec..EcoVec$LT$T$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h3d104556f500dee7E"(ptr noalias noundef nonnull align 8 dereferenceable(16) %35) - to label %.body unwind label %346 + to label %.body unwind label %345 } ; Function Attrs: inlinehint nonlazybind uwtable diff --git a/bench/wasmtime-rs/optimized/1f5p54q9915bq6gz.ll b/bench/wasmtime-rs/optimized/1f5p54q9915bq6gz.ll index 36c04323810..e061201ea15 100644 --- a/bench/wasmtime-rs/optimized/1f5p54q9915bq6gz.ll +++ b/bench/wasmtime-rs/optimized/1f5p54q9915bq6gz.ll @@ -4926,8 +4926,6 @@ define hidden noundef nonnull align 8 dereferenceable(56) ptr @"_ZN4core6option1 ret ptr %.0610 4: ; preds = %2 - %trunc = trunc nuw i64 %3 to i1 - tail call void @llvm.assume(i1 %trunc) tail call void @llvm.experimental.noalias.scope.decl(metadata !779) %5 = load ptr, ptr %1, align 8, !alias.scope !779, !noundef !4 %.not.i = icmp eq ptr %5, null @@ -4980,8 +4978,6 @@ define hidden noundef nonnull align 8 dereferenceable(32) ptr @"_ZN4core6option1 ret ptr %.0610 4: ; preds = %2 - %trunc = trunc nuw i64 %3 to i1 - tail call void @llvm.assume(i1 %trunc) %5 = load ptr, ptr %1, align 8, !alias.scope !799, !noundef !4 %.not.i = icmp eq ptr %5, null br i1 %.not.i, label %"_ZN4core3ptr184drop_in_place$LT$core..result..Result$LT$addr2line..function..Functions$LT$gimli..read..endian_slice..EndianSlice$LT$gimli..endianity..LittleEndian$GT$$GT$$C$gimli..read..Error$GT$$GT$17h033e13ae7af47e13E.llvm.5281577753466666573.exit", label %6 @@ -5087,8 +5083,6 @@ define hidden noundef nonnull align 8 dereferenceable(32) ptr @"_ZN4core6option1 ret ptr %.0610 4: ; preds = %2 - %trunc = trunc nuw i64 %3 to i1 - tail call void @llvm.assume(i1 %trunc) %5 = load ptr, ptr %1, align 8, !alias.scope !830, !noundef !4 %.not.i = icmp eq ptr %5, null br i1 %.not.i, label %"_ZN4core3ptr86drop_in_place$LT$core..result..Result$LT$addr2line..Lines$C$gimli..read..Error$GT$$GT$17h745544080936d9f8E.llvm.5281577753466666573.exit", label %6 @@ -23719,8 +23713,6 @@ define hidden noundef nonnull align 8 dereferenceable(56) ptr @"_ZN9addr2line4la br label %"_ZN4core6option15Option$LT$T$GT$13get_or_insert17h1206b8bed40624e2E.llvm.5281577753466666573.exit" 12: ; preds = %5 - %trunc.i = trunc nuw i64 %11 to i1 - tail call void @llvm.assume(i1 %trunc.i) tail call void @llvm.experimental.noalias.scope.decl(metadata !5277) %13 = load ptr, ptr %3, align 8, !alias.scope !5280, !noalias !5271, !noundef !4 %.not.i.i = icmp eq ptr %13, null @@ -23786,8 +23778,6 @@ define hidden noundef nonnull align 8 dereferenceable(32) ptr @"_ZN9addr2line4la br label %"_ZN4core6option15Option$LT$T$GT$13get_or_insert17h86a776a3b899bea1E.llvm.5281577753466666573.exit" 10: ; preds = %6 - %trunc.i = trunc nuw i64 %9 to i1 - tail call void @llvm.assume(i1 %trunc.i) %11 = load ptr, ptr %4, align 8, !alias.scope !5315, !noalias !5309, !noundef !4 %.not.i.i = icmp eq ptr %11, null br i1 %.not.i.i, label %"_ZN4core6option15Option$LT$T$GT$13get_or_insert17h86a776a3b899bea1E.llvm.5281577753466666573.exit", label %12 @@ -23871,8 +23861,6 @@ define hidden noundef nonnull align 8 dereferenceable(32) ptr @"_ZN9addr2line4la br label %"_ZN4core6option15Option$LT$T$GT$13get_or_insert17hddda54a6aaedd509E.llvm.5281577753466666573.exit" 11: ; preds = %6 - %trunc.i = trunc nuw i64 %10 to i1 - tail call void @llvm.assume(i1 %trunc.i) %12 = load ptr, ptr %4, align 8, !alias.scope !5347, !noalias !5341, !noundef !4 %.not.i.i = icmp eq ptr %12, null br i1 %.not.i.i, label %"_ZN4core6option15Option$LT$T$GT$13get_or_insert17hddda54a6aaedd509E.llvm.5281577753466666573.exit", label %13 @@ -23922,8 +23910,6 @@ define hidden noundef nonnull align 8 dereferenceable(32) ptr @"_ZN9addr2line4la br label %"_ZN4core6option15Option$LT$T$GT$13get_or_insert17hddda54a6aaedd509E.llvm.5281577753466666573.exit" 12: ; preds = %6 - %trunc.i = trunc nuw i64 %11 to i1 - tail call void @llvm.assume(i1 %trunc.i) %13 = load ptr, ptr %4, align 8, !alias.scope !5361, !noalias !5355, !noundef !4 %.not.i.i = icmp eq ptr %13, null br i1 %.not.i.i, label %"_ZN4core6option15Option$LT$T$GT$13get_or_insert17hddda54a6aaedd509E.llvm.5281577753466666573.exit", label %14 diff --git a/bench/wasmtime-rs/optimized/2b53gxk7phibxp54.ll b/bench/wasmtime-rs/optimized/2b53gxk7phibxp54.ll index 1a2d07882ec..7e03c6a9a89 100644 --- a/bench/wasmtime-rs/optimized/2b53gxk7phibxp54.ll +++ b/bench/wasmtime-rs/optimized/2b53gxk7phibxp54.ll @@ -3743,9 +3743,9 @@ _ZN5alloc3fmt6format17h7ead8f60e83381d7E.exit.i73: ; preds = %325 call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %14) %334 = load i32, ptr %.sroa.5.sroa.13.0..sroa.5.0..sroa_idx.sroa_idx, align 8, !range !700, !alias.scope !713, !noundef !5 %.not.i82 = icmp eq i32 %334, 0 - br i1 %.not.i82, label %.thread207, label %335 + br i1 %.not.i82, label %.thread205, label %335 -.thread207: ; preds = %332 +.thread205: ; preds = %332 store i32 1, ptr %.sroa.5.sroa.13.0..sroa.5.0..sroa_idx.sroa_idx, align 8, !alias.scope !713 store i32 20, ptr %.sroa.5.sroa.14.0..sroa.5.0..sroa_idx.sroa_idx, align 4, !alias.scope !713 call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %16), !noalias !713 @@ -3817,8 +3817,8 @@ _ZN5alloc3fmt6format17h7ead8f60e83381d7E.exit.i83: ; preds = %335 call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %13), !noalias !713 br label %344 -341: ; preds = %.thread207, %335 - %342 = phi i32 [ 20, %.thread207 ], [ %.pre203, %335 ] +341: ; preds = %.thread205, %335 + %342 = phi i32 [ 20, %.thread205 ], [ %.pre203, %335 ] %343 = icmp samesign ult i32 %342, %333 br i1 %343, label %_ZN5alloc3fmt6format17h7ead8f60e83381d7E.exit31.i, label %350 @@ -3937,9 +3937,9 @@ _ZN14wasmtime_cache6config11CacheConfig47validate_files_total_size_soft_limit_or call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %6) %367 = load i8, ptr %.sroa.5.sroa.22.0..sroa.5.0..sroa_idx.sroa_idx, align 8, !range !393, !alias.scope !759, !noundef !5 %368 = trunc nuw i8 %367 to i1 - br i1 %368, label %369, label %.thread208 + br i1 %368, label %369, label %.thread206 -.thread208: ; preds = %_ZN14wasmtime_cache6config11CacheConfig47validate_files_total_size_soft_limit_or_default17hda597a149de62795E.exit +.thread206: ; preds = %_ZN14wasmtime_cache6config11CacheConfig47validate_files_total_size_soft_limit_or_default17hda597a149de62795E.exit store i8 1, ptr %.sroa.5.sroa.22.0..sroa.5.0..sroa_idx.sroa_idx, align 8, !alias.scope !759 store i8 70, ptr %.sroa.5.sroa.23.0..sroa.5.0..sroa_idx.sroa_idx, align 1, !alias.scope !759 call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %7), !noalias !759 @@ -3976,7 +3976,7 @@ _ZN5alloc3fmt6format17h7ead8f60e83381d7E.exit.i107: ; preds = %369 %372 = invoke noundef nonnull ptr @"_ZN6anyhow5error31_$LT$impl$u20$anyhow..Error$GT$3msg17h67f8f0764d99116cE"(ptr noalias nocapture noundef nonnull align 8 dereferenceable(24) %6) to label %375 unwind label %308 -373: ; preds = %.thread208, %369 +373: ; preds = %.thread206, %369 call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %7), !noalias !759 call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %6) %374 = invoke fastcc noundef ptr @_ZN14wasmtime_cache6config11CacheConfig62validate_files_total_size_limit_percent_if_deleting_or_default17ha68c1d95f80ea6b4E(ptr noalias noundef align 8 dereferenceable(184) %78) diff --git a/bench/wasmtime-rs/optimized/37pex3k1sj15o95m.ll b/bench/wasmtime-rs/optimized/37pex3k1sj15o95m.ll index d75e619ca3e..85fe9fa74f6 100644 --- a/bench/wasmtime-rs/optimized/37pex3k1sj15o95m.ll +++ b/bench/wasmtime-rs/optimized/37pex3k1sj15o95m.ll @@ -189,7 +189,6 @@ target triple = "x86_64-unknown-linux-gnu" @anon.ff4fb00eed5659504e0ec1f2ac65c1d3.239 = private unnamed_addr constant <{ ptr, [8 x i8], ptr, [8 x i8], ptr, [8 x i8] }> <{ ptr @anon.ff4fb00eed5659504e0ec1f2ac65c1d3.236, [8 x i8] c"\16\00\00\00\00\00\00\00", ptr @anon.ff4fb00eed5659504e0ec1f2ac65c1d3.237, [8 x i8] c"\09\00\00\00\00\00\00\00", ptr @anon.ff4fb00eed5659504e0ec1f2ac65c1d3.238, [8 x i8] c"\0C\00\00\00\00\00\00\00" }>, align 8 @anon.ff4fb00eed5659504e0ec1f2ac65c1d3.241 = private unnamed_addr constant <{ ptr, [8 x i8], ptr, [8 x i8], ptr, [12 x i8], [4 x i8] }> <{ ptr @anon.ff4fb00eed5659504e0ec1f2ac65c1d3.75, [8 x i8] c"\22\00\00\00\00\00\00\00", ptr @anon.ff4fb00eed5659504e0ec1f2ac65c1d3.75, [8 x i8] c"\22\00\00\00\00\00\00\00", ptr @anon.ff4fb00eed5659504e0ec1f2ac65c1d3.69.llvm.15230283897121687862, [12 x i8] c"'\00\00\00\00\00\00\00\19\05\00\00", [4 x i8] undef }>, align 8 @anon.ff4fb00eed5659504e0ec1f2ac65c1d3.243 = private unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @anon.ff4fb00eed5659504e0ec1f2ac65c1d3.69.llvm.15230283897121687862, [16 x i8] c"'\00\00\00\00\00\00\00%\05\00\00\1E\00\00\00" }>, align 8 -@anon.ff4fb00eed5659504e0ec1f2ac65c1d3.244 = private unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @anon.ff4fb00eed5659504e0ec1f2ac65c1d3.69.llvm.15230283897121687862, [16 x i8] c"'\00\00\00\00\00\00\00(\05\00\00:\00\00\00" }>, align 8 @anon.ff4fb00eed5659504e0ec1f2ac65c1d3.245.llvm.15230283897121687862 = hidden unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @anon.ff4fb00eed5659504e0ec1f2ac65c1d3.69.llvm.15230283897121687862, [16 x i8] c"'\00\00\00\00\00\00\00>\05\00\00\13\00\00\00" }>, align 8 @anon.ff4fb00eed5659504e0ec1f2ac65c1d3.246 = private unnamed_addr constant <{ [23 x i8] }> <{ [23 x i8] c"put_value_in_regs: val " }>, align 1 @anon.ff4fb00eed5659504e0ec1f2ac65c1d3.247 = private unnamed_addr constant <{ ptr, [8 x i8] }> <{ ptr @anon.ff4fb00eed5659504e0ec1f2ac65c1d3.246, [8 x i8] c"\17\00\00\00\00\00\00\00" }>, align 8 @@ -207,7 +206,6 @@ target triple = "x86_64-unknown-linux-gnu" @anon.ff4fb00eed5659504e0ec1f2ac65c1d3.261 = private unnamed_addr constant <{ [59 x i8] }> <{ [59 x i8] c"assertion failed: has_lowering_side_effect(self.f, ir_inst)" }>, align 1 @anon.ff4fb00eed5659504e0ec1f2ac65c1d3.262 = private unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @anon.ff4fb00eed5659504e0ec1f2ac65c1d3.69.llvm.15230283897121687862, [16 x i8] c"'\00\00\00\00\00\00\00i\05\00\00\09\00\00\00" }>, align 8 @anon.ff4fb00eed5659504e0ec1f2ac65c1d3.263 = private unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @anon.ff4fb00eed5659504e0ec1f2ac65c1d3.69.llvm.15230283897121687862, [16 x i8] c"'\00\00\00\00\00\00\00t\05\00\00\0E\00\00\00" }>, align 8 -@anon.ff4fb00eed5659504e0ec1f2ac65c1d3.264 = private unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @anon.ff4fb00eed5659504e0ec1f2ac65c1d3.69.llvm.15230283897121687862, [16 x i8] c"'\00\00\00\00\00\00\00v\05\00\00C\00\00\00" }>, align 8 @anon.ff4fb00eed5659504e0ec1f2ac65c1d3.265 = private unnamed_addr constant <{ [76 x i8] }> <{ [76 x i8] c"assertion failed: sunk_inst_exit_color == self.cur_scan_entry_color.unwrap()" }>, align 1 @anon.ff4fb00eed5659504e0ec1f2ac65c1d3.266 = private unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @anon.ff4fb00eed5659504e0ec1f2ac65c1d3.69.llvm.15230283897121687862, [16 x i8] c"'\00\00\00\00\00\00\00v\05\00\00\09\00\00\00" }>, align 8 @anon.ff4fb00eed5659504e0ec1f2ac65c1d3.268 = private unnamed_addr constant <{ [55 x i8] }> <{ [55 x i8] c"assertion failed: self.value_lowered_uses[*result] == 0" }>, align 1 @@ -12464,7 +12462,7 @@ define hidden void @"_ZN17cranelift_codegen8machinst5lower14Lower$LT$I$GT$28get_ %76 = icmp ne i8 %75, 1 %77 = load i32, ptr %11, align 4, !noundef !4 %. = zext i1 %76 to i32 - br label %180 + br label %178 78: ; preds = %57 %79 = load atomic i64, ptr @_ZN3log20MAX_LOG_LEVEL_FILTER17h410246c97b67d9dfE monotonic, align 8 @@ -12643,120 +12641,112 @@ select.unfold: ; preds = %155, %139 unreachable 170: ; preds = %158 - %trunc = trunc nuw i32 %84 to i1 - br i1 %trunc, label %172, label %171 - -171: ; preds = %170 - call void @_ZN4core6option13unwrap_failed17hcb3a256a9f1ca882E(ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.ff4fb00eed5659504e0ec1f2ac65c1d3.244) #32 - unreachable - -172: ; preds = %170 - %173 = getelementptr inbounds { i32, i32 }, ptr %.val.i, i64 %165 - %174 = getelementptr inbounds i8, ptr %173, i64 -4 - %175 = load i32, ptr %174, align 4, !noundef !4 - %176 = getelementptr inbounds nuw i8, ptr %1, i64 1796 - %177 = load i32, ptr %176, align 4 - %178 = add i32 %175, 1 - %179 = icmp eq i32 %178, %177 - br i1 %179, label %180, label %"_ZN17cranelift_codegen8machinst5lower14Lower$LT$I$GT$11num_outputs17h4ce124bcf1e471e8E.exit.thread" - -"_ZN17cranelift_codegen8machinst5lower14Lower$LT$I$GT$11num_outputs17h4ce124bcf1e471e8E.exit.thread": ; preds = %114, %82, %103, %"_ZN17cranelift_codegen8machinst5lower14Lower$LT$I$GT$11num_outputs17h4ce124bcf1e471e8E.exit", %172 + %171 = getelementptr inbounds { i32, i32 }, ptr %.val.i, i64 %165 + %172 = getelementptr inbounds i8, ptr %171, i64 -4 + %173 = load i32, ptr %172, align 4, !noundef !4 + %174 = getelementptr inbounds nuw i8, ptr %1, i64 1796 + %175 = load i32, ptr %174, align 4 + %176 = add i32 %173, 1 + %177 = icmp eq i32 %176, %175 + br i1 %177, label %178, label %"_ZN17cranelift_codegen8machinst5lower14Lower$LT$I$GT$11num_outputs17h4ce124bcf1e471e8E.exit.thread" + +"_ZN17cranelift_codegen8machinst5lower14Lower$LT$I$GT$11num_outputs17h4ce124bcf1e471e8E.exit.thread": ; preds = %114, %82, %103, %"_ZN17cranelift_codegen8machinst5lower14Lower$LT$I$GT$11num_outputs17h4ce124bcf1e471e8E.exit", %170 call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %10) call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %11) call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %12) br label %_ZN17cranelift_codegen8machinst5lower15InputSourceInst7as_inst17hf2bbb149a5d0e6bbE.exit.thread -180: ; preds = %66, %172 - %.sroa.13.1.ph = phi i64 [ 0, %172 ], [ %41, %66 ] - %.sroa.9.1.ph = phi i32 [ %.val, %172 ], [ %77, %66 ] - %.sroa.0.1.ph = phi i32 [ 0, %172 ], [ %., %66 ] +178: ; preds = %66, %170 + %.sroa.13.1.ph = phi i64 [ 0, %170 ], [ %41, %66 ] + %.sroa.9.1.ph = phi i32 [ %.val, %170 ], [ %77, %66 ] + %.sroa.0.1.ph = phi i32 [ 0, %170 ], [ %., %66 ] call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %10) call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %11) call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %12) call void @llvm.experimental.noalias.scope.decl(metadata !2294) call void @llvm.experimental.noalias.scope.decl(metadata !2297) - %181 = getelementptr inbounds nuw i8, ptr %1, i64 1880 - %182 = load i64, ptr %181, align 8, !alias.scope !2300, !noalias !2301, !noundef !4 - %183 = icmp eq i64 %182, 0 - br i1 %183, label %_ZN17cranelift_codegen8machinst5lower15InputSourceInst7as_inst17hf2bbb149a5d0e6bbE.exit.thread, label %184 - -184: ; preds = %180 - %185 = getelementptr inbounds nuw i8, ptr %1, i64 1856 - %186 = zext i32 %.sroa.9.1.ph to i64 - %187 = mul i64 %186, 5871781006564002453 + %179 = getelementptr inbounds nuw i8, ptr %1, i64 1880 + %180 = load i64, ptr %179, align 8, !alias.scope !2300, !noalias !2301, !noundef !4 + %181 = icmp eq i64 %180, 0 + br i1 %181, label %_ZN17cranelift_codegen8machinst5lower15InputSourceInst7as_inst17hf2bbb149a5d0e6bbE.exit.thread, label %182 + +182: ; preds = %178 + %183 = getelementptr inbounds nuw i8, ptr %1, i64 1856 + %184 = zext i32 %.sroa.9.1.ph to i64 + %185 = mul i64 %184, 5871781006564002453 call void @llvm.experimental.noalias.scope.decl(metadata !2303) call void @llvm.experimental.noalias.scope.decl(metadata !2306) call void @llvm.experimental.noalias.scope.decl(metadata !2309) - %188 = lshr i64 %187, 57 - %189 = trunc nuw nsw i64 %188 to i8 - %190 = getelementptr inbounds nuw i8, ptr %1, i64 1864 - %191 = load i64, ptr %190, align 8, !alias.scope !2312, !noalias !2313, !noundef !4 - %192 = load ptr, ptr %185, align 8, !alias.scope !2312, !noalias !2313, !nonnull !4, !noundef !4 - %.0.vec.insert.i.i.i.i.i = insertelement <16 x i8> poison, i8 %189, i64 0 + %186 = lshr i64 %185, 57 + %187 = trunc nuw nsw i64 %186 to i8 + %188 = getelementptr inbounds nuw i8, ptr %1, i64 1864 + %189 = load i64, ptr %188, align 8, !alias.scope !2312, !noalias !2313, !noundef !4 + %190 = load ptr, ptr %183, align 8, !alias.scope !2312, !noalias !2313, !nonnull !4, !noundef !4 + %.0.vec.insert.i.i.i.i.i = insertelement <16 x i8> poison, i8 %187, i64 0 %.15.vec.insert.i.i.i.i.i = shufflevector <16 x i8> %.0.vec.insert.i.i.i.i.i, <16 x i8> poison, <16 x i32> zeroinitializer - %invariant.gep.i.i.i.i = getelementptr i8, ptr %192, i64 -16 - br label %193 - -193: ; preds = %210, %184 - %.sroa.9.0.i.i.i.i.i = phi i64 [ 0, %184 ], [ %211, %210 ] - %.pn.i.i.i.i.i = phi i64 [ %187, %184 ], [ %212, %210 ] - %.sroa.01.0.i.i.i.i.i = and i64 %.pn.i.i.i.i.i, %191 - %194 = getelementptr inbounds i8, ptr %192, i64 %.sroa.01.0.i.i.i.i.i - %.0.copyload.i33.i.i.i.i = load <16 x i8>, ptr %194, align 1, !noalias !2317 - %195 = icmp eq <16 x i8> %.0.copyload.i33.i.i.i.i, %.15.vec.insert.i.i.i.i.i - %196 = bitcast <16 x i1> %195 to i16 - br label %197 - -197: ; preds = %201, %193 - %.023.i.i.i.i = phi i16 [ %196, %193 ], [ %205, %201 ] + %invariant.gep.i.i.i.i = getelementptr i8, ptr %190, i64 -16 + br label %191 + +191: ; preds = %208, %182 + %.sroa.9.0.i.i.i.i.i = phi i64 [ 0, %182 ], [ %209, %208 ] + %.pn.i.i.i.i.i = phi i64 [ %185, %182 ], [ %210, %208 ] + %.sroa.01.0.i.i.i.i.i = and i64 %.pn.i.i.i.i.i, %189 + %192 = getelementptr inbounds i8, ptr %190, i64 %.sroa.01.0.i.i.i.i.i + %.0.copyload.i33.i.i.i.i = load <16 x i8>, ptr %192, align 1, !noalias !2317 + %193 = icmp eq <16 x i8> %.0.copyload.i33.i.i.i.i, %.15.vec.insert.i.i.i.i.i + %194 = bitcast <16 x i1> %193 to i16 + br label %195 + +195: ; preds = %199, %191 + %.023.i.i.i.i = phi i16 [ %194, %191 ], [ %203, %199 ] %.not.i4.i.i.i.i = icmp eq i16 %.023.i.i.i.i, 0 - br i1 %.not.i4.i.i.i.i, label %198, label %201 - -198: ; preds = %197 - %199 = icmp eq <16 x i8> %.0.copyload.i33.i.i.i.i, splat (i8 -1) - %200 = bitcast <16 x i1> %199 to i16 - %.not.i.i.i.i.i = icmp eq i16 %200, 0 - br i1 %.not.i.i.i.i.i, label %210, label %_ZN17cranelift_codegen8machinst5lower15InputSourceInst7as_inst17hf2bbb149a5d0e6bbE.exit.thread - -201: ; preds = %197 - %202 = call range(i16 0, 17) i16 @llvm.cttz.i16(i16 %.023.i.i.i.i, i1 true) - %203 = zext nneg i16 %202 to i64 - %204 = add i16 %.023.i.i.i.i, -1 - %205 = and i16 %204, %.023.i.i.i.i - %206 = add i64 %.sroa.01.0.i.i.i.i.i, %203 - %207 = and i64 %206, %191 - %208 = sub nsw i64 0, %207 - %gep.i.i.i.i = getelementptr { i32, [1 x i32], i64 }, ptr %invariant.gep.i.i.i.i, i64 %208 + br i1 %.not.i4.i.i.i.i, label %196, label %199 + +196: ; preds = %195 + %197 = icmp eq <16 x i8> %.0.copyload.i33.i.i.i.i, splat (i8 -1) + %198 = bitcast <16 x i1> %197 to i16 + %.not.i.i.i.i.i = icmp eq i16 %198, 0 + br i1 %.not.i.i.i.i.i, label %208, label %_ZN17cranelift_codegen8machinst5lower15InputSourceInst7as_inst17hf2bbb149a5d0e6bbE.exit.thread + +199: ; preds = %195 + %200 = call range(i16 0, 17) i16 @llvm.cttz.i16(i16 %.023.i.i.i.i, i1 true) + %201 = zext nneg i16 %200 to i64 + %202 = add i16 %.023.i.i.i.i, -1 + %203 = and i16 %202, %.023.i.i.i.i + %204 = add i64 %.sroa.01.0.i.i.i.i.i, %201 + %205 = and i64 %204, %189 + %206 = sub nsw i64 0, %205 + %gep.i.i.i.i = getelementptr { i32, [1 x i32], i64 }, ptr %invariant.gep.i.i.i.i, i64 %206 %.val4.i.i.i.i.i = load i32, ptr %gep.i.i.i.i, align 4, !alias.scope !2320, !noalias !2325, !noundef !4 - %209 = icmp eq i32 %.sroa.9.1.ph, %.val4.i.i.i.i.i - br i1 %209, label %213, label %197 - -210: ; preds = %198 - %211 = add i64 %.sroa.9.0.i.i.i.i.i, 16 - %212 = add i64 %.sroa.01.0.i.i.i.i.i, %211 - br label %193 - -213: ; preds = %201 - %214 = getelementptr inbounds { i32, [1 x i32], i64 }, ptr %192, i64 %208 - %215 = getelementptr inbounds i8, ptr %214, i64 -8 - %216 = load i64, ptr %215, align 8, !noalias !2294, !noundef !4 + %207 = icmp eq i32 %.sroa.9.1.ph, %.val4.i.i.i.i.i + br i1 %207, label %211, label %195 + +208: ; preds = %196 + %209 = add i64 %.sroa.9.0.i.i.i.i.i, 16 + %210 = add i64 %.sroa.01.0.i.i.i.i.i, %209 + br label %191 + +211: ; preds = %199 + %212 = getelementptr inbounds { i32, [1 x i32], i64 }, ptr %190, i64 %206 + %213 = getelementptr inbounds i8, ptr %212, i64 -8 + %214 = load i64, ptr %213, align 8, !noalias !2294, !noundef !4 br label %_ZN17cranelift_codegen8machinst5lower15InputSourceInst7as_inst17hf2bbb149a5d0e6bbE.exit.thread -_ZN17cranelift_codegen8machinst5lower15InputSourceInst7as_inst17hf2bbb149a5d0e6bbE.exit.thread: ; preds = %198, %213, %180, %.thread, %"_ZN17cranelift_codegen8machinst5lower14Lower$LT$I$GT$11num_outputs17h4ce124bcf1e471e8E.exit.thread" - %.sroa.13.06887 = phi i64 [ undef, %"_ZN17cranelift_codegen8machinst5lower14Lower$LT$I$GT$11num_outputs17h4ce124bcf1e471e8E.exit.thread" ], [ undef, %.thread ], [ %.sroa.13.1.ph, %180 ], [ %.sroa.13.1.ph, %213 ], [ %.sroa.13.1.ph, %198 ] - %.sroa.9.06986 = phi i32 [ undef, %"_ZN17cranelift_codegen8machinst5lower14Lower$LT$I$GT$11num_outputs17h4ce124bcf1e471e8E.exit.thread" ], [ undef, %.thread ], [ %.sroa.9.1.ph, %180 ], [ %.sroa.9.1.ph, %213 ], [ %.sroa.9.1.ph, %198 ] - %.sroa.0.07085 = phi i32 [ 2, %"_ZN17cranelift_codegen8machinst5lower14Lower$LT$I$GT$11num_outputs17h4ce124bcf1e471e8E.exit.thread" ], [ 2, %.thread ], [ %.sroa.0.1.ph, %180 ], [ %.sroa.0.1.ph, %213 ], [ %.sroa.0.1.ph, %198 ] - %.sroa.033.0 = phi i64 [ 0, %"_ZN17cranelift_codegen8machinst5lower14Lower$LT$I$GT$11num_outputs17h4ce124bcf1e471e8E.exit.thread" ], [ 0, %.thread ], [ 0, %180 ], [ 1, %213 ], [ 0, %198 ] - %.sroa.3.0 = phi i64 [ undef, %"_ZN17cranelift_codegen8machinst5lower14Lower$LT$I$GT$11num_outputs17h4ce124bcf1e471e8E.exit.thread" ], [ undef, %.thread ], [ undef, %180 ], [ %216, %213 ], [ undef, %198 ] - %217 = getelementptr inbounds nuw i8, ptr %0, i64 16 - store i32 %.sroa.0.07085, ptr %217, align 8 +_ZN17cranelift_codegen8machinst5lower15InputSourceInst7as_inst17hf2bbb149a5d0e6bbE.exit.thread: ; preds = %196, %211, %178, %.thread, %"_ZN17cranelift_codegen8machinst5lower14Lower$LT$I$GT$11num_outputs17h4ce124bcf1e471e8E.exit.thread" + %.sroa.13.06887 = phi i64 [ undef, %"_ZN17cranelift_codegen8machinst5lower14Lower$LT$I$GT$11num_outputs17h4ce124bcf1e471e8E.exit.thread" ], [ undef, %.thread ], [ %.sroa.13.1.ph, %178 ], [ %.sroa.13.1.ph, %211 ], [ %.sroa.13.1.ph, %196 ] + %.sroa.9.06986 = phi i32 [ undef, %"_ZN17cranelift_codegen8machinst5lower14Lower$LT$I$GT$11num_outputs17h4ce124bcf1e471e8E.exit.thread" ], [ undef, %.thread ], [ %.sroa.9.1.ph, %178 ], [ %.sroa.9.1.ph, %211 ], [ %.sroa.9.1.ph, %196 ] + %.sroa.0.07085 = phi i32 [ 2, %"_ZN17cranelift_codegen8machinst5lower14Lower$LT$I$GT$11num_outputs17h4ce124bcf1e471e8E.exit.thread" ], [ 2, %.thread ], [ %.sroa.0.1.ph, %178 ], [ %.sroa.0.1.ph, %211 ], [ %.sroa.0.1.ph, %196 ] + %.sroa.033.0 = phi i64 [ 0, %"_ZN17cranelift_codegen8machinst5lower14Lower$LT$I$GT$11num_outputs17h4ce124bcf1e471e8E.exit.thread" ], [ 0, %.thread ], [ 0, %178 ], [ 1, %211 ], [ 0, %196 ] + %.sroa.3.0 = phi i64 [ undef, %"_ZN17cranelift_codegen8machinst5lower14Lower$LT$I$GT$11num_outputs17h4ce124bcf1e471e8E.exit.thread" ], [ undef, %.thread ], [ undef, %178 ], [ %214, %211 ], [ undef, %196 ] + %215 = getelementptr inbounds nuw i8, ptr %0, i64 16 + store i32 %.sroa.0.07085, ptr %215, align 8 %.sroa.460.0..sroa_idx = getelementptr inbounds nuw i8, ptr %0, i64 20 store i32 %.sroa.9.06986, ptr %.sroa.460.0..sroa_idx, align 4 %.sroa.5.0..sroa_idx = getelementptr inbounds nuw i8, ptr %0, i64 24 store i64 %.sroa.13.06887, ptr %.sroa.5.0..sroa_idx, align 8 store i64 %.sroa.033.0, ptr %0, align 8 - %218 = getelementptr inbounds nuw i8, ptr %0, i64 8 - store i64 %.sroa.3.0, ptr %218, align 8 + %216 = getelementptr inbounds nuw i8, ptr %0, i64 8 + store i64 %.sroa.3.0, ptr %216, align 8 ret void } @@ -13270,7 +13260,7 @@ _ZN17cranelift_codegen2ir3dfg13DataFlowGraph12inst_results17h8abf8bfc17f44328E.e %.0.i = select i1 %.not26, ptr %80, ptr %44 %81 = load i32, ptr %.0.i, align 4, !noundef !4 %82 = icmp eq i32 %81, 0 - br i1 %82, label %46, label %104 + br i1 %82, label %46, label %102 select.unfold: ; preds = %62, %"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17he2ee47f3fde85f27E.exit.thread" tail call void @_ZN4core6option13unwrap_failed17hcb3a256a9f1ca882E(ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.ff4fb00eed5659504e0ec1f2ac65c1d3.263) #32 @@ -13281,55 +13271,47 @@ select.unfold: ; preds = %62, %"_ZN91_$LT$cor %85 = getelementptr inbounds i8, ptr %84, i64 -4 %86 = load i32, ptr %85, align 4, !alias.scope !2444, !noundef !4 %87 = getelementptr inbounds nuw i8, ptr %0, i64 1796 - %trunc = trunc nuw i32 %12 to i1 - br i1 %trunc, label %89, label %88 - -88: ; preds = %83 - tail call void @_ZN4core6option13unwrap_failed17hcb3a256a9f1ca882E(ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.ff4fb00eed5659504e0ec1f2ac65c1d3.264) #32 - unreachable - -89: ; preds = %83 - %90 = add i32 %86, 1 - %91 = load i32, ptr %87, align 4 - %92 = icmp eq i32 %90, %91 - br i1 %92, label %94, label %93 + %88 = add i32 %86, 1 + %89 = load i32, ptr %87, align 4 + %90 = icmp eq i32 %88, %89 + br i1 %90, label %92, label %91 -93: ; preds = %89 +91: ; preds = %83 tail call void @_ZN4core9panicking5panic17h44790a89027c670fE(ptr noalias noundef nonnull readonly align 1 @anon.ff4fb00eed5659504e0ec1f2ac65c1d3.265, i64 noundef 76, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.ff4fb00eed5659504e0ec1f2ac65c1d3.266) #32 unreachable -94: ; preds = %89 +92: ; preds = %83 store i32 1, ptr %11, align 8 store i32 %86, ptr %87, align 4 - %95 = getelementptr inbounds nuw i8, ptr %0, i64 1888 + %93 = getelementptr inbounds nuw i8, ptr %0, i64 1888 call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %5) store i32 %1, ptr %5, align 4, !noalias !2449 - %96 = getelementptr inbounds nuw i8, ptr %0, i64 1920 + %94 = getelementptr inbounds nuw i8, ptr %0, i64 1920 call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %4), !noalias !2449 store ptr %5, ptr %4, align 8, !noalias !2452 - call void @"_ZN9hashbrown3raw21RawTable$LT$T$C$A$GT$7reserve17hef723d983c396a20E"(ptr noalias noundef nonnull align 8 dereferenceable(32) %95, i64 noundef 1, ptr noalias noundef nonnull readonly align 1 %96), !noalias !2458 + call void @"_ZN9hashbrown3raw21RawTable$LT$T$C$A$GT$7reserve17hef723d983c396a20E"(ptr noalias noundef nonnull align 8 dereferenceable(32) %93, i64 noundef 1, ptr noalias noundef nonnull readonly align 1 %94), !noalias !2458 call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %3), !noalias !2452 store ptr %4, ptr %3, align 8, !noalias !2452 - %97 = getelementptr inbounds nuw i8, ptr %3, i64 8 - store ptr %95, ptr %97, align 8, !noalias !2452 - %98 = call { i64, i64 } @_ZN9hashbrown3raw13RawTableInner30find_or_find_insert_slot_inner17h17668f6fcb9c54fbE.llvm.17595789031839490487(ptr noalias noundef nonnull readonly align 8 dereferenceable(32) %95, i64 noundef %53, ptr noundef nonnull align 1 %3, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.b5a8f862ed486d2c5aaf296739ee8a16.71.llvm.17595789031839490487), !noalias !2458 - %99 = extractvalue { i64, i64 } %98, 0 + %95 = getelementptr inbounds nuw i8, ptr %3, i64 8 + store ptr %93, ptr %95, align 8, !noalias !2452 + %96 = call { i64, i64 } @_ZN9hashbrown3raw13RawTableInner30find_or_find_insert_slot_inner17h17668f6fcb9c54fbE.llvm.17595789031839490487(ptr noalias noundef nonnull readonly align 8 dereferenceable(32) %93, i64 noundef %53, ptr noundef nonnull align 1 %3, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.b5a8f862ed486d2c5aaf296739ee8a16.71.llvm.17595789031839490487), !noalias !2458 + %97 = extractvalue { i64, i64 } %96, 0 call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %3), !noalias !2452 call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %4), !noalias !2449 - %trunc.i = trunc nuw i64 %99 to i1 - br i1 %trunc.i, label %100, label %"_ZN9hashbrown3map28HashMap$LT$K$C$V$C$S$C$A$GT$6insert17h8a01877c3c948b6bE.exit" + %trunc.i = trunc nuw i64 %97 to i1 + br i1 %trunc.i, label %98, label %"_ZN9hashbrown3map28HashMap$LT$K$C$V$C$S$C$A$GT$6insert17h8a01877c3c948b6bE.exit" -100: ; preds = %94 - %101 = extractvalue { i64, i64 } %98, 1 - %102 = load i32, ptr %5, align 4, !noalias !2449, !noundef !4 - %103 = call noundef nonnull ptr @"_ZN9hashbrown3raw21RawTable$LT$T$C$A$GT$14insert_in_slot17h68616b17e8c34499E.llvm.17595789031839490487"(ptr noalias noundef nonnull align 8 dereferenceable(32) %95, i64 noundef %53, i64 noundef %101, i32 noundef %102) +98: ; preds = %92 + %99 = extractvalue { i64, i64 } %96, 1 + %100 = load i32, ptr %5, align 4, !noalias !2449, !noundef !4 + %101 = call noundef nonnull ptr @"_ZN9hashbrown3raw21RawTable$LT$T$C$A$GT$14insert_in_slot17h68616b17e8c34499E.llvm.17595789031839490487"(ptr noalias noundef nonnull align 8 dereferenceable(32) %93, i64 noundef %53, i64 noundef %99, i32 noundef %100) br label %"_ZN9hashbrown3map28HashMap$LT$K$C$V$C$S$C$A$GT$6insert17h8a01877c3c948b6bE.exit" -"_ZN9hashbrown3map28HashMap$LT$K$C$V$C$S$C$A$GT$6insert17h8a01877c3c948b6bE.exit": ; preds = %94, %100 +"_ZN9hashbrown3map28HashMap$LT$K$C$V$C$S$C$A$GT$6insert17h8a01877c3c948b6bE.exit": ; preds = %92, %98 call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %5) ret void -104: ; preds = %"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17he2ee47f3fde85f27E.exit" +102: ; preds = %"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17he2ee47f3fde85f27E.exit" tail call void @_ZN4core9panicking5panic17h44790a89027c670fE(ptr noalias noundef nonnull readonly align 1 @anon.ff4fb00eed5659504e0ec1f2ac65c1d3.268, i64 noundef 55, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.ff4fb00eed5659504e0ec1f2ac65c1d3.269) #32 unreachable } diff --git a/bench/wasmtime-rs/optimized/3yirtpiqdnll1kue.ll b/bench/wasmtime-rs/optimized/3yirtpiqdnll1kue.ll index a958e90bb2f..6f8bb3ece29 100644 --- a/bench/wasmtime-rs/optimized/3yirtpiqdnll1kue.ll +++ b/bench/wasmtime-rs/optimized/3yirtpiqdnll1kue.ll @@ -2067,9 +2067,9 @@ define hidden noundef ptr @"_ZN4zstd6stream3zio6writer19Writer$LT$W$C$D$GT$6fini %.promoted.i.pre = load i64, ptr %3, align 8, !alias.scope !227 br label %10 -10: ; preds = %43, %1 - %.promoted.i = phi i64 [ 0, %43 ], [ %.promoted.i.pre, %1 ] - %11 = phi i64 [ %41, %43 ], [ %.pre, %1 ] +10: ; preds = %41, %1 + %.promoted.i = phi i64 [ 0, %41 ], [ %.promoted.i.pre, %1 ] + %11 = phi i64 [ %38, %41 ], [ %.pre, %1 ] call void @llvm.experimental.noalias.scope.decl(metadata !227) %12 = icmp ult i64 %.promoted.i, %11 br i1 %12, label %.lr.ph.split.i, label %"_ZN4zstd6stream3zio6writer19Writer$LT$W$C$D$GT$17write_from_offset17h7917d66ace78135fE.exit" @@ -2126,35 +2126,30 @@ define hidden noundef ptr @"_ZN4zstd6stream3zio6writer19Writer$LT$W$C$D$GT$6fini "_ZN4zstd6stream3zio6writer19Writer$LT$W$C$D$GT$11with_buffer17h4318c3144c205e37E.exit.thread": ; preds = %33 call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %2), !noalias !253 store i64 0, ptr %3, align 8 - br label %38 + %37 = icmp ne i64 %36, 0 + %38 = load i64, ptr %4, align 8 + %39 = icmp eq i64 %38, 0 + %or.cond = select i1 %37, i1 %39, i1 false + br i1 %or.cond, label %44, label %41 "_ZN4zstd6stream3zio6writer19Writer$LT$W$C$D$GT$11with_buffer17h4318c3144c205e37E.exit": ; preds = %33 - %37 = call noundef nonnull ptr @_ZN4zstd14map_error_code17h1822e5a5804cc4ebE(i64 noundef %36), !noalias !259 + %40 = call noundef nonnull ptr @_ZN4zstd14map_error_code17h1822e5a5804cc4ebE(i64 noundef %36), !noalias !259 call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %2), !noalias !253 store i64 0, ptr %3, align 8 - %trunc = trunc nuw i64 %35 to i1 - br i1 %trunc, label %.loopexit, label %38 - -38: ; preds = %"_ZN4zstd6stream3zio6writer19Writer$LT$W$C$D$GT$11with_buffer17h4318c3144c205e37E.exit.thread", %"_ZN4zstd6stream3zio6writer19Writer$LT$W$C$D$GT$11with_buffer17h4318c3144c205e37E.exit" - %39 = phi i64 [ %36, %"_ZN4zstd6stream3zio6writer19Writer$LT$W$C$D$GT$11with_buffer17h4318c3144c205e37E.exit.thread" ], [ 1, %"_ZN4zstd6stream3zio6writer19Writer$LT$W$C$D$GT$11with_buffer17h4318c3144c205e37E.exit" ] - %40 = icmp ne i64 %39, 0 - %41 = load i64, ptr %4, align 8 - %42 = icmp eq i64 %41, 0 - %or.cond = select i1 %40, i1 %42, i1 false - br i1 %or.cond, label %46, label %43 - -43: ; preds = %38 - %44 = icmp eq i64 %39, 0 - %45 = zext i1 %44 to i8 - store i8 %45, ptr %7, align 8 + br label %.loopexit + +41: ; preds = %"_ZN4zstd6stream3zio6writer19Writer$LT$W$C$D$GT$11with_buffer17h4318c3144c205e37E.exit.thread" + %42 = icmp eq i64 %36, 0 + %43 = zext i1 %42 to i8 + store i8 %43, ptr %7, align 8 br label %10 -46: ; preds = %38 - %47 = call noundef nonnull ptr @_ZN3std2io5error5Error3new17hc2501dfb4899ad77E(i8 noundef 37, ptr noalias noundef nonnull readonly align 1 @anon.6859812ae8af509fc674db13d99e9201.66, i64 noundef 16) +44: ; preds = %"_ZN4zstd6stream3zio6writer19Writer$LT$W$C$D$GT$11with_buffer17h4318c3144c205e37E.exit.thread" + %45 = call noundef nonnull ptr @_ZN3std2io5error5Error3new17hc2501dfb4899ad77E(i8 noundef 37, ptr noalias noundef nonnull readonly align 1 @anon.6859812ae8af509fc674db13d99e9201.66, i64 noundef 16) br label %.loopexit -.loopexit: ; preds = %"_ZN4zstd6stream3zio6writer19Writer$LT$W$C$D$GT$11with_buffer17h4318c3144c205e37E.exit", %"_ZN4zstd6stream3zio6writer19Writer$LT$W$C$D$GT$17write_from_offset17h7917d66ace78135fE.exit", %46 - %.0 = phi ptr [ %47, %46 ], [ %37, %"_ZN4zstd6stream3zio6writer19Writer$LT$W$C$D$GT$11with_buffer17h4318c3144c205e37E.exit" ], [ null, %"_ZN4zstd6stream3zio6writer19Writer$LT$W$C$D$GT$17write_from_offset17h7917d66ace78135fE.exit" ] +.loopexit: ; preds = %"_ZN4zstd6stream3zio6writer19Writer$LT$W$C$D$GT$17write_from_offset17h7917d66ace78135fE.exit", %"_ZN4zstd6stream3zio6writer19Writer$LT$W$C$D$GT$11with_buffer17h4318c3144c205e37E.exit", %44 + %.0 = phi ptr [ %45, %44 ], [ %40, %"_ZN4zstd6stream3zio6writer19Writer$LT$W$C$D$GT$11with_buffer17h4318c3144c205e37E.exit" ], [ null, %"_ZN4zstd6stream3zio6writer19Writer$LT$W$C$D$GT$17write_from_offset17h7917d66ace78135fE.exit" ] ret ptr %.0 } @@ -2267,8 +2262,8 @@ define hidden void @"_ZN81_$LT$zstd..stream..zio..writer..Writer$LT$W$C$D$GT$$u2 %.promoted.i.pre = load i64, ptr %7, align 8, !alias.scope !272 br label %17 -17: ; preds = %62, %4 - %.promoted.i = phi i64 [ 0, %62 ], [ %.promoted.i.pre, %4 ] +17: ; preds = %59, %4 + %.promoted.i = phi i64 [ 0, %59 ], [ %.promoted.i.pre, %4 ] call void @llvm.experimental.noalias.scope.decl(metadata !272) %18 = load i64, ptr %8, align 8, !alias.scope !272, !noundef !4 %19 = icmp ult i64 %.promoted.i, %18 @@ -2330,10 +2325,10 @@ define hidden void @"_ZN81_$LT$zstd..stream..zio..writer..Writer$LT$W$C$D$GT$$u2 "_ZN4zstd6stream3zio6writer19Writer$LT$W$C$D$GT$11with_buffer17h4773ced245f784b3E.exit": ; preds = %40 %44 = call noundef nonnull ptr @_ZN4zstd14map_error_code17h1822e5a5804cc4ebE(i64 noundef %43), !noalias !305 call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %5), !noalias !299 - %45 = load i64, ptr %14, align 8, !noundef !4 store i64 0, ptr %7, align 8 - %trunc = trunc nuw i64 %42 to i1 - br i1 %trunc, label %55, label %.thread + %45 = getelementptr inbounds nuw i8, ptr %0, i64 8 + store ptr %44, ptr %45, align 8 + br label %60 46: ; preds = %"_ZN4zstd6stream3zio6writer19Writer$LT$W$C$D$GT$17write_from_offset17h7917d66ace78135fE.exit" %47 = call noundef ptr @"_ZN75_$LT$zstd..stream..raw..Encoder$u20$as$u20$zstd..stream..raw..Operation$GT$6reinit17h501aeddcefbb3b76E"(ptr noalias noundef nonnull align 8 dereferenceable(8) %12) @@ -2348,46 +2343,40 @@ define hidden void @"_ZN81_$LT$zstd..stream..zio..writer..Writer$LT$W$C$D$GT$$u2 %51 = getelementptr inbounds nuw i8, ptr %0, i64 8 store ptr %47, ptr %51, align 8 store i64 1, ptr %0, align 8 - br label %64 + br label %61 52: ; preds = %40 call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %5), !noalias !299 %53 = load i64, ptr %14, align 8, !noundef !4 store i64 0, ptr %7, align 8 %54 = icmp eq i64 %43, 0 - br i1 %54, label %57, label %.thread + br i1 %54, label %55, label %.thread -55: ; preds = %"_ZN4zstd6stream3zio6writer19Writer$LT$W$C$D$GT$11with_buffer17h4773ced245f784b3E.exit" - %56 = getelementptr inbounds nuw i8, ptr %0, i64 8 - store ptr %44, ptr %56, align 8 - br label %63 - -57: ; preds = %52 +55: ; preds = %52 store i8 1, ptr %11, align 1 br label %.thread -.thread: ; preds = %"_ZN4zstd6stream3zio6writer19Writer$LT$W$C$D$GT$11with_buffer17h4773ced245f784b3E.exit", %57, %52 - %58 = phi i64 [ %53, %57 ], [ %53, %52 ], [ %45, %"_ZN4zstd6stream3zio6writer19Writer$LT$W$C$D$GT$11with_buffer17h4773ced245f784b3E.exit" ] - %59 = icmp ne i64 %58, 0 - %or.cond = or i1 %16, %59 - br i1 %or.cond, label %60, label %62 +.thread: ; preds = %55, %52 + %56 = icmp ne i64 %53, 0 + %or.cond = or i1 %16, %56 + br i1 %or.cond, label %57, label %59 -60: ; preds = %.thread - %61 = getelementptr inbounds nuw i8, ptr %0, i64 8 - store i64 %58, ptr %61, align 8 - br label %63 +57: ; preds = %.thread + %58 = getelementptr inbounds nuw i8, ptr %0, i64 8 + store i64 %53, ptr %58, align 8 + br label %60 -62: ; preds = %.thread +59: ; preds = %.thread call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %6) br label %17 -63: ; preds = %60, %55 - %storemerge = phi i64 [ 1, %55 ], [ 0, %60 ] +60: ; preds = %57, %"_ZN4zstd6stream3zio6writer19Writer$LT$W$C$D$GT$11with_buffer17h4773ced245f784b3E.exit" + %storemerge = phi i64 [ 1, %"_ZN4zstd6stream3zio6writer19Writer$LT$W$C$D$GT$11with_buffer17h4773ced245f784b3E.exit" ], [ 0, %57 ] store i64 %storemerge, ptr %0, align 8 call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %6) - br label %64 + br label %61 -64: ; preds = %63, %50 +61: ; preds = %60, %50 ret void } diff --git a/bench/wasmtime-rs/optimized/44oyxmdjsi7rdwcj.ll b/bench/wasmtime-rs/optimized/44oyxmdjsi7rdwcj.ll index c69916f8641..1af38fc92c8 100644 --- a/bench/wasmtime-rs/optimized/44oyxmdjsi7rdwcj.ll +++ b/bench/wasmtime-rs/optimized/44oyxmdjsi7rdwcj.ll @@ -2245,7 +2245,7 @@ define hidden void @"_ZN80_$LT$zstd..stream..zio..reader..Reader$LT$R$C$D$GT$$u2 switch i8 %.pre, label %.outer.split.us.unreachabledefault [ i8 0, label %.thread i8 1, label %.split.us - i8 2, label %.split73.us + i8 2, label %.split75.us ] .outer.split.us.unreachabledefault: ; preds = %.outer.split.us @@ -2259,7 +2259,7 @@ default.unreachable: ; preds = %.outer.split switch i8 %20, label %default.unreachable [ i8 0, label %21 i8 1, label %.split.us - i8 2, label %.split73.us + i8 2, label %.split75.us ] 21: ; preds = %.outer.split @@ -2274,9 +2274,9 @@ default.unreachable: ; preds = %.outer.split .split.us: ; preds = %.outer.split.us, %.outer.split %25 = load i8, ptr %15, align 2, !range !138, !noundef !4 %26 = trunc nuw i8 %25 to i1 - br i1 %26, label %"_ZN9zstd_safe18OutBuffer$LT$C$GT$3pos17hba72828fc1443d09E.exit38", label %61 + br i1 %26, label %"_ZN9zstd_safe18OutBuffer$LT$C$GT$3pos17hba72828fc1443d09E.exit38", label %60 -.split73.us: ; preds = %.outer.split.us, %.outer.split +.split75.us: ; preds = %.outer.split.us, %.outer.split call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %0, i8 0, i64 16, i1 false) br label %31 @@ -2288,18 +2288,18 @@ default.unreachable: ; preds = %.outer.split 29: ; preds = %21 %30 = icmp eq ptr %23, null - br i1 %30, label %34, label %.thread.split.loop.exit67 + br i1 %30, label %34, label %.thread.split.loop.exit69 -31: ; preds = %63, %59, %57, %27, %.split73.us +31: ; preds = %62, %.loopexit, %57, %27, %.split75.us ret void -.thread.split.loop.exit67: ; preds = %29 +.thread.split.loop.exit69: ; preds = %29 %.cast.sink.i.le = ptrtoint ptr %23 to i64 br label %.thread -.thread: ; preds = %.outer.split.us, %.thread.split.loop.exit67 - %.sroa.09.053 = phi ptr [ %22, %.thread.split.loop.exit67 ], [ @anon.9103e26e1b04f09e76cd4c8ee2d36832.6, %.outer.split.us ] - %.sroa.3.052 = phi i64 [ %.cast.sink.i.le, %.thread.split.loop.exit67 ], [ 0, %.outer.split.us ] +.thread: ; preds = %.outer.split.us, %.thread.split.loop.exit69 + %.sroa.09.053 = phi ptr [ %22, %.thread.split.loop.exit69 ], [ @anon.9103e26e1b04f09e76cd4c8ee2d36832.6, %.outer.split.us ] + %.sroa.3.052 = phi i64 [ %.cast.sink.i.le, %.thread.split.loop.exit69 ], [ 0, %.outer.split.us ] call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %7) store ptr %.sroa.09.053, ptr %7, align 8 store i64 %.sroa.3.052, ptr %11, align 8 @@ -2326,13 +2326,12 @@ default.unreachable: ; preds = %.outer.split "_ZN75_$LT$zstd..stream..raw..Decoder$u20$as$u20$zstd..stream..raw..Operation$GT$3run17hf2ad75e0bb1f0283E.exit": ; preds = %35 %39 = call noundef nonnull ptr @_ZN4zstd14map_error_code17h1822e5a5804cc4ebE(i64 noundef %38), !noalias !142 - %trunc29 = trunc nuw i64 %37 to i1 - br i1 %trunc29, label %59, label %.thread57 + br label %.loopexit 40: ; preds = %.thread %41 = call noundef ptr @"_ZN75_$LT$zstd..stream..raw..Decoder$u20$as$u20$zstd..stream..raw..Operation$GT$6reinit17h96f5665297fa02c2E"(ptr noalias noundef nonnull align 8 dereferenceable(8) %16) %42 = icmp eq ptr %41, null - br i1 %42, label %43, label %59 + br i1 %42, label %43, label %.loopexit 43: ; preds = %40 store i8 0, ptr %15, align 2 @@ -2348,7 +2347,7 @@ default.unreachable: ; preds = %.outer.split %48 = trunc nuw i8 %47 to i1 br i1 %48, label %56, label %.thread57 -.thread57: ; preds = %"_ZN75_$LT$zstd..stream..raw..Decoder$u20$as$u20$zstd..stream..raw..Operation$GT$3run17hf2ad75e0bb1f0283E.exit", %46, %56, %44 +.thread57: ; preds = %46, %56, %44 %49 = load i64, ptr %12, align 8, !noundef !4 call void @llvm.experimental.noalias.scope.decl(metadata !145) %50 = load i64, ptr %14, align 8, !alias.scope !145, !noundef !4 @@ -2381,28 +2380,28 @@ default.unreachable: ; preds = %.outer.split store i64 0, ptr %0, align 8 br label %31 -59: ; preds = %"_ZN75_$LT$zstd..stream..raw..Decoder$u20$as$u20$zstd..stream..raw..Operation$GT$3run17hf2ad75e0bb1f0283E.exit", %40 - %.lcssa93.sink = phi ptr [ %41, %40 ], [ %39, %"_ZN75_$LT$zstd..stream..raw..Decoder$u20$as$u20$zstd..stream..raw..Operation$GT$3run17hf2ad75e0bb1f0283E.exit" ] - %60 = getelementptr inbounds nuw i8, ptr %0, i64 8 - store ptr %.lcssa93.sink, ptr %60, align 8 +.loopexit: ; preds = %40, %"_ZN75_$LT$zstd..stream..raw..Decoder$u20$as$u20$zstd..stream..raw..Operation$GT$3run17hf2ad75e0bb1f0283E.exit" + %.sink102 = phi ptr [ %39, %"_ZN75_$LT$zstd..stream..raw..Decoder$u20$as$u20$zstd..stream..raw..Operation$GT$3run17hf2ad75e0bb1f0283E.exit" ], [ %41, %40 ] + %59 = getelementptr inbounds nuw i8, ptr %0, i64 8 + store ptr %.sink102, ptr %59, align 8 store i64 1, ptr %0, align 8 call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %6) call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %7) br label %31 -61: ; preds = %.split.us - %62 = call noundef nonnull ptr @_ZN3std2io5error5Error3new17hc2501dfb4899ad77E(i8 noundef 37, ptr noalias noundef nonnull readonly align 1 @anon.a872f09cf86ac5e4bfe6646d80b52641.15.llvm.2246350891560240904, i64 noundef 16), !noalias !151 - br label %63 +60: ; preds = %.split.us + %61 = call noundef nonnull ptr @_ZN3std2io5error5Error3new17hc2501dfb4899ad77E(i8 noundef 37, ptr noalias noundef nonnull readonly align 1 @anon.a872f09cf86ac5e4bfe6646d80b52641.15.llvm.2246350891560240904, i64 noundef 16), !noalias !151 + br label %62 "_ZN9zstd_safe18OutBuffer$LT$C$GT$3pos17hba72828fc1443d09E.exit38": ; preds = %.split.us store i8 2, ptr %8, align 8 - br label %63 + br label %62 -63: ; preds = %"_ZN9zstd_safe18OutBuffer$LT$C$GT$3pos17hba72828fc1443d09E.exit38", %61 - %.sink = phi ptr [ null, %"_ZN9zstd_safe18OutBuffer$LT$C$GT$3pos17hba72828fc1443d09E.exit38" ], [ %62, %61 ] - %storemerge = phi i64 [ 0, %"_ZN9zstd_safe18OutBuffer$LT$C$GT$3pos17hba72828fc1443d09E.exit38" ], [ 1, %61 ] - %64 = getelementptr inbounds nuw i8, ptr %0, i64 8 - store ptr %.sink, ptr %64, align 8 +62: ; preds = %"_ZN9zstd_safe18OutBuffer$LT$C$GT$3pos17hba72828fc1443d09E.exit38", %60 + %.sink = phi ptr [ null, %"_ZN9zstd_safe18OutBuffer$LT$C$GT$3pos17hba72828fc1443d09E.exit38" ], [ %61, %60 ] + %storemerge = phi i64 [ 0, %"_ZN9zstd_safe18OutBuffer$LT$C$GT$3pos17hba72828fc1443d09E.exit38" ], [ 1, %60 ] + %63 = getelementptr inbounds nuw i8, ptr %0, i64 8 + store ptr %.sink, ptr %63, align 8 store i64 %storemerge, ptr %0, align 8 br label %31 } diff --git a/bench/wasmtime-rs/optimized/4u85yh8sn1llpfha.ll b/bench/wasmtime-rs/optimized/4u85yh8sn1llpfha.ll index 16f0bccf04c..fa918506661 100644 --- a/bench/wasmtime-rs/optimized/4u85yh8sn1llpfha.ll +++ b/bench/wasmtime-rs/optimized/4u85yh8sn1llpfha.ll @@ -4995,107 +4995,102 @@ define hidden void @_ZN16wasmtime_runtime6memory6Memory9limit_new17hc4986e435f6c 15: ; preds = %4 %16 = load i64, ptr %1, align 8, !range !461, !noundef !4 - %.not40.not = icmp eq i64 %16, 0 - br i1 %.not40.not, label %.thread, label %17 - -17: ; preds = %15 - %18 = getelementptr inbounds nuw i8, ptr %1, i64 8 - %19 = load i64, ptr %18, align 8 - %.not41 = icmp ugt i64 %19, %. - br i1 %.not41, label %20, label %21 + %.not40 = icmp ne i64 %16, 0 + %17 = getelementptr inbounds nuw i8, ptr %1, i64 8 + %18 = load i64, ptr %17, align 8 + %.not41 = icmp ugt i64 %18, %. + %or.cond = select i1 %.not40, i1 %.not41, i1 false + br i1 %or.cond, label %19, label %20 -20: ; preds = %17 +19: ; preds = %15 tail call void @_ZN4core9panicking5panic17h44790a89027c670fE(ptr noalias noundef nonnull readonly align 1 @anon.ec0cd622983d658554797d545ae27a8b.104, i64 noundef 95, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.ec0cd622983d658554797d545ae27a8b.105) #36 unreachable -21: ; preds = %17 - %22 = tail call i64 @llvm.umin.i64(i64 %19, i64 281474976710655) - %spec.select.i = shl nuw i64 %22, 16 - br label %.thread - -.thread: ; preds = %15, %21 - %spec.select = phi i64 [ %spec.select.i, %21 ], [ 4294967296, %15 ] - %.sroa.9.0 = phi i64 [ %spec.select.i, %21 ], [ undef, %15 ] - %.sroa.06.0 = phi i64 [ 1, %21 ], [ 0, %15 ] - %23 = shl i64 %13, 16 - %24 = icmp samesign ugt i64 %13, 281474976710655 +20: ; preds = %15 + %21 = shl i64 %13, 16 + %22 = icmp samesign ugt i64 %13, 281474976710655 + %trunc = trunc nuw i64 %16 to i1 + %23 = tail call i64 @llvm.umin.i64(i64 %18, i64 281474976710655) + %spec.select.i = shl nuw i64 %23, 16 + %.sroa.9.0 = select i1 %trunc, i64 %spec.select.i, i64 undef + %spec.select = select i1 %trunc, i64 %spec.select.i, i64 4294967296 %.sroa.9.1 = select i1 %11, i64 %.sroa.9.0, i64 %spec.select - %.sroa.06.1 = select i1 %11, i64 %.sroa.06.0, i64 1 - %.not44 = icmp eq ptr %2, null - br i1 %.not44, label %30, label %25 + %.sroa.06.1 = select i1 %11, i64 %16, i64 1 + %.not42 = icmp eq ptr %2, null + br i1 %.not42, label %29, label %24 -25: ; preds = %.thread - %26 = icmp ne ptr %3, null - tail call void @llvm.assume(i1 %26) - %27 = getelementptr inbounds nuw i8, ptr %1, i64 24 - %28 = load i8, ptr %27, align 8, !range !608, !noundef !4 - %29 = trunc nuw i8 %28 to i1 - br i1 %29, label %30, label %31 +24: ; preds = %20 + %25 = icmp ne ptr %3, null + tail call void @llvm.assume(i1 %25) + %26 = getelementptr inbounds nuw i8, ptr %1, i64 24 + %27 = load i8, ptr %26, align 8, !range !608, !noundef !4 + %28 = trunc nuw i8 %27 to i1 + br i1 %28, label %29, label %30 -30: ; preds = %39, %25, %.thread - br i1 %24, label %50, label %49 +29: ; preds = %38, %24, %20 + br i1 %22, label %49, label %48 -31: ; preds = %25 +30: ; preds = %24 call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %8) - %spec.select58 = select i1 %24, i64 -65536, i64 %23 - %32 = getelementptr inbounds nuw i8, ptr %3, i64 56 - %33 = load ptr, ptr %32, align 8, !invariant.load !4, !nonnull !4 - call void %33(ptr noalias nocapture noundef nonnull sret({ i8, [15 x i8] }) align 8 dereferenceable(16) %8, ptr noundef nonnull align 1 %2, i64 noundef 0, i64 noundef %spec.select58, i64 noundef %.sroa.06.1, i64 %.sroa.9.1) - %34 = load i8, ptr %8, align 8, !range !608, !noundef !4 - %trunc46 = trunc nuw i8 %34 to i1 - %35 = getelementptr inbounds nuw i8, ptr %8, i64 8 - %36 = load ptr, ptr %35, align 8, !nonnull !4 - %37 = getelementptr inbounds nuw i8, ptr %8, i64 1 - %38 = load i8, ptr %37, align 1, !range !608 + %spec.select55 = select i1 %22, i64 -65536, i64 %21 + %31 = getelementptr inbounds nuw i8, ptr %3, i64 56 + %32 = load ptr, ptr %31, align 8, !invariant.load !4, !nonnull !4 + call void %32(ptr noalias nocapture noundef nonnull sret({ i8, [15 x i8] }) align 8 dereferenceable(16) %8, ptr noundef nonnull align 1 %2, i64 noundef 0, i64 noundef %spec.select55, i64 noundef %.sroa.06.1, i64 %.sroa.9.1) + %33 = load i8, ptr %8, align 8, !range !608, !noundef !4 + %trunc44 = trunc nuw i8 %33 to i1 + %34 = getelementptr inbounds nuw i8, ptr %8, i64 8 + %35 = load ptr, ptr %34, align 8, !nonnull !4 + %36 = getelementptr inbounds nuw i8, ptr %8, i64 1 + %37 = load i8, ptr %36, align 1, !range !608 call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %8) - br i1 %trunc46, label %41, label %39 + br i1 %trunc44, label %40, label %38 -39: ; preds = %31 - %40 = trunc nuw i8 %38 to i1 - br i1 %40, label %30, label %42 +38: ; preds = %30 + %39 = trunc nuw i8 %37 to i1 + br i1 %39, label %29, label %41 -41: ; preds = %31 - store ptr %36, ptr %0, align 8 - br label %52 +40: ; preds = %30 + store ptr %35, ptr %0, align 8 + br label %51 -42: ; preds = %39 +41: ; preds = %38 call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %6) call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %5) store ptr %12, ptr %5, align 8 - %43 = getelementptr inbounds nuw i8, ptr %5, i64 8 - store ptr @"_ZN4core3fmt3num3imp52_$LT$impl$u20$core..fmt..Display$u20$for$u20$u64$GT$3fmt17hc815b5032ccf5d36E", ptr %43, align 8 + %42 = getelementptr inbounds nuw i8, ptr %5, i64 8 + store ptr @"_ZN4core3fmt3num3imp52_$LT$impl$u20$core..fmt..Display$u20$for$u20$u64$GT$3fmt17hc815b5032ccf5d36E", ptr %42, align 8 store ptr @anon.ec0cd622983d658554797d545ae27a8b.109, ptr %6, align 8, !alias.scope !636, !noalias !639 - %44 = getelementptr inbounds nuw i8, ptr %6, i64 8 - store i64 2, ptr %44, align 8, !alias.scope !636, !noalias !639 - %45 = getelementptr inbounds nuw i8, ptr %6, i64 32 - store ptr null, ptr %45, align 8, !alias.scope !636, !noalias !639 - %46 = getelementptr inbounds nuw i8, ptr %6, i64 16 - store ptr %5, ptr %46, align 8, !alias.scope !636, !noalias !639 - %47 = getelementptr inbounds nuw i8, ptr %6, i64 24 - store i64 1, ptr %47, align 8, !alias.scope !636, !noalias !639 + %43 = getelementptr inbounds nuw i8, ptr %6, i64 8 + store i64 2, ptr %43, align 8, !alias.scope !636, !noalias !639 + %44 = getelementptr inbounds nuw i8, ptr %6, i64 32 + store ptr null, ptr %44, align 8, !alias.scope !636, !noalias !639 + %45 = getelementptr inbounds nuw i8, ptr %6, i64 16 + store ptr %5, ptr %45, align 8, !alias.scope !636, !noalias !639 + %46 = getelementptr inbounds nuw i8, ptr %6, i64 24 + store i64 1, ptr %46, align 8, !alias.scope !636, !noalias !639 call void @_ZN5alloc3fmt6format17h7ead8f60e83381d7E.llvm.16389591707760502172(ptr noalias nocapture noundef nonnull sret({ { { i64, ptr, {} }, i64 } }) align 8 dereferenceable(24) %7, ptr noalias nocapture noundef nonnull align 8 dereferenceable(48) %6) call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %6) call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %5) - %48 = call noundef nonnull ptr @"_ZN6anyhow5error31_$LT$impl$u20$anyhow..Error$GT$3msg17he21d583fd4e270a6E"(ptr noalias nocapture noundef nonnull align 8 dereferenceable(24) %7) - store ptr %48, ptr %0, align 8 - br label %52 + %47 = call noundef nonnull ptr @"_ZN6anyhow5error31_$LT$impl$u20$anyhow..Error$GT$3msg17he21d583fd4e270a6E"(ptr noalias nocapture noundef nonnull align 8 dereferenceable(24) %7) + store ptr %47, ptr %0, align 8 + br label %51 -49: ; preds = %30 - store i64 %23, ptr %0, align 8 +48: ; preds = %29 + store i64 %21, ptr %0, align 8 %.sroa.429.0..sroa_idx = getelementptr inbounds nuw i8, ptr %0, i64 8 store i64 %.sroa.06.1, ptr %.sroa.429.0..sroa_idx, align 8 - br label %52 - -50: ; preds = %30 - %51 = tail call fastcc noundef nonnull ptr @"_ZN16wasmtime_runtime6memory6Memory9limit_new28_$u7b$$u7b$closure$u7d$$u7d$17hec63ff070398f3edE"(ptr noalias noundef readonly align 8 dereferenceable(64) %1) - store ptr %51, ptr %0, align 8 - br label %52 - -52: ; preds = %50, %42, %41, %49 - %.sink74 = phi i64 [ 8, %50 ], [ 8, %42 ], [ 8, %41 ], [ 16, %49 ] - %.sink = phi i64 [ 2, %50 ], [ 2, %42 ], [ 2, %41 ], [ %.sroa.9.1, %49 ] - %53 = getelementptr inbounds nuw i8, ptr %0, i64 %.sink74 - store i64 %.sink, ptr %53, align 8 + br label %51 + +49: ; preds = %29 + %50 = tail call fastcc noundef nonnull ptr @"_ZN16wasmtime_runtime6memory6Memory9limit_new28_$u7b$$u7b$closure$u7d$$u7d$17hec63ff070398f3edE"(ptr noalias noundef readonly align 8 dereferenceable(64) %1) + store ptr %50, ptr %0, align 8 + br label %51 + +51: ; preds = %49, %41, %40, %48 + %.sink67 = phi i64 [ 8, %49 ], [ 8, %41 ], [ 8, %40 ], [ 16, %48 ] + %.sink = phi i64 [ 2, %49 ], [ 2, %41 ], [ 2, %40 ], [ %.sroa.9.1, %48 ] + %52 = getelementptr inbounds nuw i8, ptr %0, i64 %.sink67 + store i64 %.sink, ptr %52, align 8 ret void } diff --git a/bench/wasmtime-rs/optimized/enal6epyb0tyurl.ll b/bench/wasmtime-rs/optimized/enal6epyb0tyurl.ll index 409a15cbbaa..c15da42838e 100644 --- a/bench/wasmtime-rs/optimized/enal6epyb0tyurl.ll +++ b/bench/wasmtime-rs/optimized/enal6epyb0tyurl.ll @@ -33950,8 +33950,6 @@ define hidden void @"_ZN9addr2line16ResUnit$LT$R$GT$25find_function_or_location2 br label %"_ZN9addr2line4lazy17LazyCell$LT$T$GT$11borrow_with17h78bec2899422a831E.exit.i" 24: ; preds = %22 - %trunc.i.i.i = trunc nuw i64 %23 to i1 - tail call void @llvm.assume(i1 %trunc.i.i.i) %25 = load ptr, ptr %10, align 8, !alias.scope !6430, !noalias !6433, !noundef !4 %.not.i.i.i.i = icmp eq ptr %25, null br i1 %.not.i.i.i.i, label %"_ZN9addr2line4lazy17LazyCell$LT$T$GT$11borrow_with17h78bec2899422a831E.exit.i", label %26 diff --git a/bench/zed-rs/optimized/12x3d7yxch19r9kog7sr8geci.ll b/bench/zed-rs/optimized/12x3d7yxch19r9kog7sr8geci.ll index e5a69af5607..a81546ff3bb 100644 --- a/bench/zed-rs/optimized/12x3d7yxch19r9kog7sr8geci.ll +++ b/bench/zed-rs/optimized/12x3d7yxch19r9kog7sr8geci.ll @@ -1853,9 +1853,9 @@ define hidden noundef ptr @_ZN3std2io5Write9write_all17h36cead13da58308fE(ptr no %6 = getelementptr inbounds nuw i8, ptr %4, i64 8 br label %7 -7: ; preds = %.lr.ph, %38 - %.sroa.0.051 = phi ptr [ %1, %.lr.ph ], [ %.sroa.0.160, %38 ] - %.sroa.4.050 = phi i64 [ %2, %.lr.ph ], [ %.sroa.4.159, %38 ] +7: ; preds = %.lr.ph, %37 + %.sroa.0.051 = phi ptr [ %1, %.lr.ph ], [ %.sroa.0.160, %37 ] + %.sroa.4.050 = phi i64 [ %2, %.lr.ph ], [ %.sroa.4.159, %37 ] %8 = call { i64, ptr } @"_ZN69_$LT$std..sys..pal..unix..stdio..Stderr$u20$as$u20$std..io..Write$GT$5write17h76708309fa42c308E"(ptr noalias noundef nonnull align 1 %0, ptr noalias noundef nonnull readonly align 1 %.sroa.0.051, i64 noundef %.sroa.4.050) %9 = extractvalue { i64, ptr } %8, 0 %10 = extractvalue { i64, ptr } %8, 1 @@ -1863,8 +1863,8 @@ define hidden noundef ptr @_ZN3std2io5Write9write_all17h36cead13da58308fE(ptr no %11 = ptrtoint ptr %10 to i64 br i1 %switch, label %12, label %14 -.loopexit: ; preds = %12, %22, %27, %33, %16, %38, %3 - %.sroa.04.0 = phi ptr [ null, %3 ], [ %10, %16 ], [ %10, %33 ], [ %10, %27 ], [ %10, %22 ], [ @anon.a418b928032bac1fce5a85baf8cbb58d.24, %12 ], [ null, %38 ] +.loopexit: ; preds = %12, %21, %26, %32, %16, %37, %3 + %.sroa.04.0 = phi ptr [ null, %3 ], [ %10, %16 ], [ %10, %32 ], [ %10, %26 ], [ %10, %21 ], [ @anon.a418b928032bac1fce5a85baf8cbb58d.24, %12 ], [ null, %37 ] ret ptr %.sroa.04.0 12: ; preds = %7 @@ -1874,10 +1874,10 @@ define hidden noundef ptr @_ZN3std2io5Write9write_all17h36cead13da58308fE(ptr no 14: ; preds = %7 %15 = and i64 %11, 3 switch i64 %15, label %default.unreachable [ - i64 2, label %33 + i64 2, label %32 i64 3, label %16 - i64 0, label %22 - i64 1, label %27 + i64 0, label %21 + i64 1, label %26 ] default.unreachable: ; preds = %14 @@ -1886,7 +1886,7 @@ default.unreachable: ; preds = %14 16: ; preds = %14 %.mask = and i64 %11, -4294967296 %switch42 = icmp eq i64 %.mask, 150323855360 - br i1 %switch42, label %21, label %.loopexit + br i1 %switch42, label %34, label %.loopexit 17: ; preds = %12 %18 = icmp ult i64 %.sroa.4.050, %11 @@ -1899,54 +1899,50 @@ default.unreachable: ; preds = %14 .thread55: ; preds = %17 %19 = sub nuw i64 %.sroa.4.050, %11 %20 = getelementptr inbounds i8, ptr %.sroa.0.051, i64 %11 - br label %38 - -21: ; preds = %16, %22, %27, %33 - %trunc = trunc nuw i64 %9 to i1 - br i1 %trunc, label %35, label %38 + br label %37 + +21: ; preds = %14 + %22 = icmp ne ptr %10, null + call void @llvm.assume(i1 %22) + %23 = getelementptr inbounds nuw i8, ptr %10, i64 16 + %24 = load i8, ptr %23, align 8, !range !245, !noundef !7 + %25 = icmp eq i8 %24, 35 + br i1 %25, label %34, label %.loopexit + +26: ; preds = %14 + %27 = getelementptr i8, ptr %10, i64 -1 + %28 = icmp ne ptr %27, null + call void @llvm.assume(i1 %28) + %29 = getelementptr i8, ptr %10, i64 15 + %30 = load i8, ptr %29, align 8, !range !245, !noundef !7 + %31 = icmp eq i8 %30, 35 + br i1 %31, label %34, label %.loopexit -22: ; preds = %14 - %23 = icmp ne ptr %10, null - call void @llvm.assume(i1 %23) - %24 = getelementptr inbounds nuw i8, ptr %10, i64 16 - %25 = load i8, ptr %24, align 8, !range !245, !noundef !7 - %26 = icmp eq i8 %25, 35 - br i1 %26, label %21, label %.loopexit - -27: ; preds = %14 - %28 = getelementptr i8, ptr %10, i64 -1 - %29 = icmp ne ptr %28, null - call void @llvm.assume(i1 %29) - %30 = getelementptr i8, ptr %10, i64 15 - %31 = load i8, ptr %30, align 8, !range !245, !noundef !7 - %32 = icmp eq i8 %31, 35 - br i1 %32, label %21, label %.loopexit - -33: ; preds = %14 +32: ; preds = %14 %.mask43 = and i64 %11, -4294967296 - %34 = icmp eq i64 %.mask43, 17179869184 - br i1 %34, label %21, label %.loopexit + %33 = icmp eq i64 %.mask43, 17179869184 + br i1 %33, label %34, label %.loopexit -35: ; preds = %21 +34: ; preds = %32, %26, %21, %16 call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %4), !noalias !246 call void @_ZN3std2io5error14repr_bitpacked11decode_repr17he5568f6b152cc528E.llvm.11611006770570263672(ptr noalias nocapture noundef nonnull sret([16 x i8]) align 8 dereferenceable(16) %4, ptr noundef nonnull %10), !noalias !246 - %36 = load i8, ptr %4, align 8, !range !253, !alias.scope !254, !noalias !246, !noundef !7 - %switch.not.i.i.i.i = icmp eq i8 %36, 3 - br i1 %switch.not.i.i.i.i, label %37, label %"_ZN4core3ptr42drop_in_place$LT$std..io..error..Error$GT$17h48aaf4209cbe5b05E.exit" + %35 = load i8, ptr %4, align 8, !range !253, !alias.scope !254, !noalias !246, !noundef !7 + %switch.not.i.i.i.i = icmp eq i8 %35, 3 + br i1 %switch.not.i.i.i.i, label %36, label %"_ZN4core3ptr42drop_in_place$LT$std..io..error..Error$GT$17h48aaf4209cbe5b05E.exit" -37: ; preds = %35 +36: ; preds = %34 call void @"_ZN4core3ptr68drop_in_place$LT$alloc..boxed..Box$LT$std..io..error..Custom$GT$$GT$17hc0eafcd82103739cE.llvm.11611006770570263672"(ptr noalias noundef nonnull align 8 dereferenceable(8) %6), !noalias !246 br label %"_ZN4core3ptr42drop_in_place$LT$std..io..error..Error$GT$17h48aaf4209cbe5b05E.exit" -"_ZN4core3ptr42drop_in_place$LT$std..io..error..Error$GT$17h48aaf4209cbe5b05E.exit": ; preds = %35, %37 +"_ZN4core3ptr42drop_in_place$LT$std..io..error..Error$GT$17h48aaf4209cbe5b05E.exit": ; preds = %34, %36 call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %4), !noalias !246 - br label %38 + br label %37 -38: ; preds = %.thread55, %21, %"_ZN4core3ptr42drop_in_place$LT$std..io..error..Error$GT$17h48aaf4209cbe5b05E.exit" - %.sroa.0.160 = phi ptr [ %20, %.thread55 ], [ %.sroa.0.051, %21 ], [ %.sroa.0.051, %"_ZN4core3ptr42drop_in_place$LT$std..io..error..Error$GT$17h48aaf4209cbe5b05E.exit" ] - %.sroa.4.159 = phi i64 [ %19, %.thread55 ], [ %.sroa.4.050, %21 ], [ %.sroa.4.050, %"_ZN4core3ptr42drop_in_place$LT$std..io..error..Error$GT$17h48aaf4209cbe5b05E.exit" ] - %39 = icmp eq i64 %.sroa.4.159, 0 - br i1 %39, label %.loopexit, label %7 +37: ; preds = %.thread55, %"_ZN4core3ptr42drop_in_place$LT$std..io..error..Error$GT$17h48aaf4209cbe5b05E.exit" + %.sroa.0.160 = phi ptr [ %20, %.thread55 ], [ %.sroa.0.051, %"_ZN4core3ptr42drop_in_place$LT$std..io..error..Error$GT$17h48aaf4209cbe5b05E.exit" ] + %.sroa.4.159 = phi i64 [ %19, %.thread55 ], [ %.sroa.4.050, %"_ZN4core3ptr42drop_in_place$LT$std..io..error..Error$GT$17h48aaf4209cbe5b05E.exit" ] + %38 = icmp eq i64 %.sroa.4.159, 0 + br i1 %38, label %.loopexit, label %7 } ; Function Attrs: nonlazybind uwtable diff --git a/bench/zed-rs/optimized/59wnsznecs6we2kopjyje48jo.ll b/bench/zed-rs/optimized/59wnsznecs6we2kopjyje48jo.ll index 6e75abc082d..2bc7d6311ca 100644 --- a/bench/zed-rs/optimized/59wnsznecs6we2kopjyje48jo.ll +++ b/bench/zed-rs/optimized/59wnsznecs6we2kopjyje48jo.ll @@ -5193,9 +5193,9 @@ define hidden noundef ptr @_ZN3std2io5Write9write_all17hb5e58355baae3724E(ptr no %6 = getelementptr inbounds nuw i8, ptr %4, i64 8 br label %7 -7: ; preds = %.lr.ph, %38 - %.sroa.0.051 = phi ptr [ %1, %.lr.ph ], [ %.sroa.0.160, %38 ] - %.sroa.4.050 = phi i64 [ %2, %.lr.ph ], [ %.sroa.4.159, %38 ] +7: ; preds = %.lr.ph, %37 + %.sroa.0.051 = phi ptr [ %1, %.lr.ph ], [ %.sroa.0.160, %37 ] + %.sroa.4.050 = phi i64 [ %2, %.lr.ph ], [ %.sroa.4.159, %37 ] %8 = call { i64, ptr } @"_ZN69_$LT$std..sys..pal..unix..stdio..Stderr$u20$as$u20$std..io..Write$GT$5write17h76708309fa42c308E"(ptr noalias noundef nonnull align 1 %0, ptr noalias noundef nonnull readonly align 1 %.sroa.0.051, i64 noundef %.sroa.4.050) %9 = extractvalue { i64, ptr } %8, 0 %10 = extractvalue { i64, ptr } %8, 1 @@ -5203,8 +5203,8 @@ define hidden noundef ptr @_ZN3std2io5Write9write_all17hb5e58355baae3724E(ptr no %11 = ptrtoint ptr %10 to i64 br i1 %switch, label %12, label %14 -.loopexit: ; preds = %12, %22, %27, %33, %16, %38, %3 - %.sroa.04.0 = phi ptr [ null, %3 ], [ %10, %16 ], [ %10, %33 ], [ %10, %27 ], [ %10, %22 ], [ @anon.ddff9895e551175a9d0e06e84e6a1095.45, %12 ], [ null, %38 ] +.loopexit: ; preds = %12, %21, %26, %32, %16, %37, %3 + %.sroa.04.0 = phi ptr [ null, %3 ], [ %10, %16 ], [ %10, %32 ], [ %10, %26 ], [ %10, %21 ], [ @anon.ddff9895e551175a9d0e06e84e6a1095.45, %12 ], [ null, %37 ] ret ptr %.sroa.04.0 12: ; preds = %7 @@ -5214,10 +5214,10 @@ define hidden noundef ptr @_ZN3std2io5Write9write_all17hb5e58355baae3724E(ptr no 14: ; preds = %7 %15 = and i64 %11, 3 switch i64 %15, label %default.unreachable [ - i64 2, label %33 + i64 2, label %32 i64 3, label %16 - i64 0, label %22 - i64 1, label %27 + i64 0, label %21 + i64 1, label %26 ] default.unreachable: ; preds = %14 @@ -5226,7 +5226,7 @@ default.unreachable: ; preds = %14 16: ; preds = %14 %.mask = and i64 %11, -4294967296 %switch42 = icmp eq i64 %.mask, 150323855360 - br i1 %switch42, label %21, label %.loopexit + br i1 %switch42, label %34, label %.loopexit 17: ; preds = %12 %18 = icmp ult i64 %.sroa.4.050, %11 @@ -5239,54 +5239,50 @@ default.unreachable: ; preds = %14 .thread55: ; preds = %17 %19 = sub nuw i64 %.sroa.4.050, %11 %20 = getelementptr inbounds i8, ptr %.sroa.0.051, i64 %11 - br label %38 + br label %37 -21: ; preds = %16, %22, %27, %33 - %trunc = trunc nuw i64 %9 to i1 - br i1 %trunc, label %35, label %38 +21: ; preds = %14 + %22 = icmp ne ptr %10, null + call void @llvm.assume(i1 %22) + %23 = getelementptr inbounds nuw i8, ptr %10, i64 16 + %24 = load i8, ptr %23, align 8, !range !1020, !noundef !4 + %25 = icmp eq i8 %24, 35 + br i1 %25, label %34, label %.loopexit -22: ; preds = %14 - %23 = icmp ne ptr %10, null - call void @llvm.assume(i1 %23) - %24 = getelementptr inbounds nuw i8, ptr %10, i64 16 - %25 = load i8, ptr %24, align 8, !range !1020, !noundef !4 - %26 = icmp eq i8 %25, 35 - br i1 %26, label %21, label %.loopexit - -27: ; preds = %14 - %28 = getelementptr i8, ptr %10, i64 -1 - %29 = icmp ne ptr %28, null - call void @llvm.assume(i1 %29) - %30 = getelementptr i8, ptr %10, i64 15 - %31 = load i8, ptr %30, align 8, !range !1020, !noundef !4 - %32 = icmp eq i8 %31, 35 - br i1 %32, label %21, label %.loopexit - -33: ; preds = %14 +26: ; preds = %14 + %27 = getelementptr i8, ptr %10, i64 -1 + %28 = icmp ne ptr %27, null + call void @llvm.assume(i1 %28) + %29 = getelementptr i8, ptr %10, i64 15 + %30 = load i8, ptr %29, align 8, !range !1020, !noundef !4 + %31 = icmp eq i8 %30, 35 + br i1 %31, label %34, label %.loopexit + +32: ; preds = %14 %.mask43 = and i64 %11, -4294967296 - %34 = icmp eq i64 %.mask43, 17179869184 - br i1 %34, label %21, label %.loopexit + %33 = icmp eq i64 %.mask43, 17179869184 + br i1 %33, label %34, label %.loopexit -35: ; preds = %21 +34: ; preds = %32, %26, %21, %16 call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %4), !noalias !1021 call void @_ZN3std2io5error14repr_bitpacked11decode_repr17h60aeadd6a8a95142E.llvm.6844594870300039520(ptr noalias nocapture noundef nonnull sret([16 x i8]) align 8 dereferenceable(16) %4, ptr noundef nonnull %10), !noalias !1021 - %36 = load i8, ptr %4, align 8, !range !702, !alias.scope !1028, !noalias !1021, !noundef !4 - %switch.not.i.i.i.i = icmp eq i8 %36, 3 - br i1 %switch.not.i.i.i.i, label %37, label %"_ZN4core3ptr42drop_in_place$LT$std..io..error..Error$GT$17hcdb66cdce7a5d75cE.exit" + %35 = load i8, ptr %4, align 8, !range !702, !alias.scope !1028, !noalias !1021, !noundef !4 + %switch.not.i.i.i.i = icmp eq i8 %35, 3 + br i1 %switch.not.i.i.i.i, label %36, label %"_ZN4core3ptr42drop_in_place$LT$std..io..error..Error$GT$17hcdb66cdce7a5d75cE.exit" -37: ; preds = %35 +36: ; preds = %34 call void @"_ZN4core3ptr68drop_in_place$LT$alloc..boxed..Box$LT$std..io..error..Custom$GT$$GT$17hb6a90228026e6318E.llvm.6844594870300039520"(ptr noalias noundef nonnull align 8 dereferenceable(8) %6), !noalias !1021 br label %"_ZN4core3ptr42drop_in_place$LT$std..io..error..Error$GT$17hcdb66cdce7a5d75cE.exit" -"_ZN4core3ptr42drop_in_place$LT$std..io..error..Error$GT$17hcdb66cdce7a5d75cE.exit": ; preds = %35, %37 +"_ZN4core3ptr42drop_in_place$LT$std..io..error..Error$GT$17hcdb66cdce7a5d75cE.exit": ; preds = %34, %36 call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %4), !noalias !1021 - br label %38 + br label %37 -38: ; preds = %.thread55, %21, %"_ZN4core3ptr42drop_in_place$LT$std..io..error..Error$GT$17hcdb66cdce7a5d75cE.exit" - %.sroa.0.160 = phi ptr [ %20, %.thread55 ], [ %.sroa.0.051, %21 ], [ %.sroa.0.051, %"_ZN4core3ptr42drop_in_place$LT$std..io..error..Error$GT$17hcdb66cdce7a5d75cE.exit" ] - %.sroa.4.159 = phi i64 [ %19, %.thread55 ], [ %.sroa.4.050, %21 ], [ %.sroa.4.050, %"_ZN4core3ptr42drop_in_place$LT$std..io..error..Error$GT$17hcdb66cdce7a5d75cE.exit" ] - %39 = icmp eq i64 %.sroa.4.159, 0 - br i1 %39, label %.loopexit, label %7 +37: ; preds = %.thread55, %"_ZN4core3ptr42drop_in_place$LT$std..io..error..Error$GT$17hcdb66cdce7a5d75cE.exit" + %.sroa.0.160 = phi ptr [ %20, %.thread55 ], [ %.sroa.0.051, %"_ZN4core3ptr42drop_in_place$LT$std..io..error..Error$GT$17hcdb66cdce7a5d75cE.exit" ] + %.sroa.4.159 = phi i64 [ %19, %.thread55 ], [ %.sroa.4.050, %"_ZN4core3ptr42drop_in_place$LT$std..io..error..Error$GT$17hcdb66cdce7a5d75cE.exit" ] + %38 = icmp eq i64 %.sroa.4.159, 0 + br i1 %38, label %.loopexit, label %7 } ; Function Attrs: nonlazybind uwtable diff --git a/bench/zed-rs/optimized/7ud3epkhjcjfe38h6hlh4jrau.ll b/bench/zed-rs/optimized/7ud3epkhjcjfe38h6hlh4jrau.ll index 2beab9bf417..9cafe2101e9 100644 --- a/bench/zed-rs/optimized/7ud3epkhjcjfe38h6hlh4jrau.ll +++ b/bench/zed-rs/optimized/7ud3epkhjcjfe38h6hlh4jrau.ll @@ -155054,7 +155054,7 @@ define hidden void @"_ZN4gpui8platform5linux7wayland9clipboard9Clipboard13send_i %26 = tail call fastcc noundef i8 @_ZN3std2io5error5Error4kind17h71bf7cbc1da3e59bE(ptr %20) %27 = icmp eq i8 %26, 13 %28 = getelementptr inbounds nuw i8, ptr %0, i64 1 - br i1 %27, label %.noexc, label %41 + br i1 %27, label %.noexc, label %39 29: ; preds = %21 store i64 %23, ptr %8, align 8 @@ -155066,50 +155066,46 @@ define hidden void @"_ZN4gpui8platform5linux7wayland9clipboard9Clipboard13send_i %32 = getelementptr inbounds nuw i8, ptr %0, i64 1 store i8 3, ptr %32, align 1 store i8 0, ptr %0, align 8 - br label %37 - -33: ; preds = %41 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %7), !noalias !32703 - call void @_ZN3std2io5error14repr_bitpacked11decode_repr17h5bcd15459b57602cE.llvm.10989238744551635161(ptr noalias nocapture noundef nonnull sret([16 x i8]) align 8 dereferenceable(16) %7, ptr noundef nonnull %20), !noalias !32703 - %34 = load i8, ptr %7, align 8, !range !628, !alias.scope !32710, !noalias !32703, !noundef !22 - %switch.not.i.i.i.i = icmp eq i8 %34, 3 - br i1 %switch.not.i.i.i.i, label %35, label %"_ZN4core3ptr42drop_in_place$LT$std..io..error..Error$GT$17ha49dccb7210f296eE.exit" + br label %35 -35: ; preds = %33 - %36 = getelementptr inbounds nuw i8, ptr %7, i64 8 - call void @"_ZN4core3ptr68drop_in_place$LT$alloc..boxed..Box$LT$std..io..error..Custom$GT$$GT$17h20b30a4bee78c2faE.llvm.10989238744551635161"(ptr noalias noundef nonnull align 8 dereferenceable(8) %36), !noalias !32703 +33: ; preds = %39 + %34 = getelementptr inbounds nuw i8, ptr %7, i64 8 + call void @"_ZN4core3ptr68drop_in_place$LT$alloc..boxed..Box$LT$std..io..error..Custom$GT$$GT$17h20b30a4bee78c2faE.llvm.10989238744551635161"(ptr noalias noundef nonnull align 8 dereferenceable(8) %34), !noalias !32703 br label %"_ZN4core3ptr42drop_in_place$LT$std..io..error..Error$GT$17ha49dccb7210f296eE.exit" -"_ZN4core3ptr42drop_in_place$LT$std..io..error..Error$GT$17ha49dccb7210f296eE.exit": ; preds = %33, %35 +"_ZN4core3ptr42drop_in_place$LT$std..io..error..Error$GT$17ha49dccb7210f296eE.exit": ; preds = %39, %33 call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %7), !noalias !32703 - br label %37 + br label %35 -37: ; preds = %31, %41, %42, %"_ZN4core3ptr42drop_in_place$LT$std..io..error..Error$GT$17ha49dccb7210f296eE.exit" +35: ; preds = %31, %41, %"_ZN4core3ptr42drop_in_place$LT$std..io..error..Error$GT$17ha49dccb7210f296eE.exit" ret void .noexc: ; preds = %25 store i8 0, ptr %28, align 1 store i8 0, ptr %0, align 8 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %6), !noalias !32713 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %6), !noalias !32710 call void @_ZN3std2io5error14repr_bitpacked11decode_repr17h5bcd15459b57602cE.llvm.10989238744551635161(ptr noalias nocapture noundef nonnull sret([16 x i8]) align 8 dereferenceable(16) %6, ptr noundef nonnull %20) - %38 = load i8, ptr %6, align 8, !range !628, !alias.scope !32720, !noalias !32713, !noundef !22 - %switch.not.i.i.i.i17 = icmp eq i8 %38, 3 - br i1 %switch.not.i.i.i.i17, label %39, label %42 + %36 = load i8, ptr %6, align 8, !range !628, !alias.scope !32717, !noalias !32710, !noundef !22 + %switch.not.i.i.i.i17 = icmp eq i8 %36, 3 + br i1 %switch.not.i.i.i.i17, label %37, label %41 -39: ; preds = %.noexc - %40 = getelementptr inbounds nuw i8, ptr %6, i64 8 - call void @"_ZN4core3ptr68drop_in_place$LT$alloc..boxed..Box$LT$std..io..error..Custom$GT$$GT$17h20b30a4bee78c2faE.llvm.10989238744551635161"(ptr noalias noundef nonnull align 8 dereferenceable(8) %40) - br label %42 +37: ; preds = %.noexc + %38 = getelementptr inbounds nuw i8, ptr %6, i64 8 + call void @"_ZN4core3ptr68drop_in_place$LT$alloc..boxed..Box$LT$std..io..error..Custom$GT$$GT$17h20b30a4bee78c2faE.llvm.10989238744551635161"(ptr noalias noundef nonnull align 8 dereferenceable(8) %38) + br label %41 -41: ; preds = %25 +39: ; preds = %25 store i8 3, ptr %28, align 1 store i8 0, ptr %0, align 8 - %trunc = trunc nuw i64 %19 to i1 - br i1 %trunc, label %33, label %37 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %7), !noalias !32703 + call void @_ZN3std2io5error14repr_bitpacked11decode_repr17h5bcd15459b57602cE.llvm.10989238744551635161(ptr noalias nocapture noundef nonnull sret([16 x i8]) align 8 dereferenceable(16) %7, ptr noundef nonnull %20), !noalias !32703 + %40 = load i8, ptr %7, align 8, !range !628, !alias.scope !32720, !noalias !32703, !noundef !22 + %switch.not.i.i.i.i = icmp eq i8 %40, 3 + br i1 %switch.not.i.i.i.i, label %33, label %"_ZN4core3ptr42drop_in_place$LT$std..io..error..Error$GT$17ha49dccb7210f296eE.exit" -42: ; preds = %39, %.noexc - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %6), !noalias !32713 - br label %37 +41: ; preds = %37, %.noexc + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %6), !noalias !32710 + br label %35 } ; Function Attrs: inlinehint nonlazybind uwtable @@ -192892,16 +192888,16 @@ attributes #55 = { noreturn nounwind } !32707 = distinct !{!32707, !"_ZN4core3ptr57drop_in_place$LT$std..io..error..repr_bitpacked..Repr$GT$17he1b36cf3e0272558E.llvm.10989238744551635161"} !32708 = distinct !{!32708, !32709, !"_ZN4core3ptr42drop_in_place$LT$std..io..error..Error$GT$17ha49dccb7210f296eE: argument 0"} !32709 = distinct !{!32709, !"_ZN4core3ptr42drop_in_place$LT$std..io..error..Error$GT$17ha49dccb7210f296eE"} -!32710 = !{!32711} -!32711 = distinct !{!32711, !32712, !"_ZN4core3ptr101drop_in_place$LT$std..io..error..ErrorData$LT$alloc..boxed..Box$LT$std..io..error..Custom$GT$$GT$$GT$17h54af230f9ba3cc34E.llvm.10989238744551635161: argument 0"} -!32712 = distinct !{!32712, !"_ZN4core3ptr101drop_in_place$LT$std..io..error..ErrorData$LT$alloc..boxed..Box$LT$std..io..error..Custom$GT$$GT$$GT$17h54af230f9ba3cc34E.llvm.10989238744551635161"} -!32713 = !{!32714, !32716, !32718} -!32714 = distinct !{!32714, !32715, !"_ZN78_$LT$std..io..error..repr_bitpacked..Repr$u20$as$u20$core..ops..drop..Drop$GT$4drop17h7986a8c9312f7d1cE.llvm.10989238744551635161: argument 0"} -!32715 = distinct !{!32715, !"_ZN78_$LT$std..io..error..repr_bitpacked..Repr$u20$as$u20$core..ops..drop..Drop$GT$4drop17h7986a8c9312f7d1cE.llvm.10989238744551635161"} -!32716 = distinct !{!32716, !32717, !"_ZN4core3ptr57drop_in_place$LT$std..io..error..repr_bitpacked..Repr$GT$17he1b36cf3e0272558E.llvm.10989238744551635161: argument 0"} -!32717 = distinct !{!32717, !"_ZN4core3ptr57drop_in_place$LT$std..io..error..repr_bitpacked..Repr$GT$17he1b36cf3e0272558E.llvm.10989238744551635161"} -!32718 = distinct !{!32718, !32719, !"_ZN4core3ptr42drop_in_place$LT$std..io..error..Error$GT$17ha49dccb7210f296eE: argument 0"} -!32719 = distinct !{!32719, !"_ZN4core3ptr42drop_in_place$LT$std..io..error..Error$GT$17ha49dccb7210f296eE"} +!32710 = !{!32711, !32713, !32715} +!32711 = distinct !{!32711, !32712, !"_ZN78_$LT$std..io..error..repr_bitpacked..Repr$u20$as$u20$core..ops..drop..Drop$GT$4drop17h7986a8c9312f7d1cE.llvm.10989238744551635161: argument 0"} +!32712 = distinct !{!32712, !"_ZN78_$LT$std..io..error..repr_bitpacked..Repr$u20$as$u20$core..ops..drop..Drop$GT$4drop17h7986a8c9312f7d1cE.llvm.10989238744551635161"} +!32713 = distinct !{!32713, !32714, !"_ZN4core3ptr57drop_in_place$LT$std..io..error..repr_bitpacked..Repr$GT$17he1b36cf3e0272558E.llvm.10989238744551635161: argument 0"} +!32714 = distinct !{!32714, !"_ZN4core3ptr57drop_in_place$LT$std..io..error..repr_bitpacked..Repr$GT$17he1b36cf3e0272558E.llvm.10989238744551635161"} +!32715 = distinct !{!32715, !32716, !"_ZN4core3ptr42drop_in_place$LT$std..io..error..Error$GT$17ha49dccb7210f296eE: argument 0"} +!32716 = distinct !{!32716, !"_ZN4core3ptr42drop_in_place$LT$std..io..error..Error$GT$17ha49dccb7210f296eE"} +!32717 = !{!32718} +!32718 = distinct !{!32718, !32719, !"_ZN4core3ptr101drop_in_place$LT$std..io..error..ErrorData$LT$alloc..boxed..Box$LT$std..io..error..Custom$GT$$GT$$GT$17h54af230f9ba3cc34E.llvm.10989238744551635161: argument 0"} +!32719 = distinct !{!32719, !"_ZN4core3ptr101drop_in_place$LT$std..io..error..ErrorData$LT$alloc..boxed..Box$LT$std..io..error..Custom$GT$$GT$$GT$17h54af230f9ba3cc34E.llvm.10989238744551635161"} !32720 = !{!32721} !32721 = distinct !{!32721, !32722, !"_ZN4core3ptr101drop_in_place$LT$std..io..error..ErrorData$LT$alloc..boxed..Box$LT$std..io..error..Custom$GT$$GT$$GT$17h54af230f9ba3cc34E.llvm.10989238744551635161: argument 0"} !32722 = distinct !{!32722, !"_ZN4core3ptr101drop_in_place$LT$std..io..error..ErrorData$LT$alloc..boxed..Box$LT$std..io..error..Custom$GT$$GT$$GT$17h54af230f9ba3cc34E.llvm.10989238744551635161"} diff --git a/bench/zed-rs/optimized/8uq0kpgi8jqekwanrrlvbr0h1.ll b/bench/zed-rs/optimized/8uq0kpgi8jqekwanrrlvbr0h1.ll index 427740566f5..d68ca5dd7aa 100644 --- a/bench/zed-rs/optimized/8uq0kpgi8jqekwanrrlvbr0h1.ll +++ b/bench/zed-rs/optimized/8uq0kpgi8jqekwanrrlvbr0h1.ll @@ -18367,10 +18367,8 @@ _ZN5sqlez9statement9Statement3map17hb2dcdb6c631ae435E.exit: ; preds = %10 br label %18 16: ; preds = %3 - %trunc.i = trunc nuw i32 %7 to i1 - %.sroa.3.0.i = select i1 %trunc.i, ptr %9, ptr %1 %17 = getelementptr inbounds nuw i8, ptr %0, i64 8 - store ptr %.sroa.3.0.i, ptr %17, align 8 + store ptr %9, ptr %17, align 8 store i64 -9223372036854775808, ptr %0, align 8 br label %18 @@ -52579,6 +52577,10 @@ define hidden void @_ZN9workspace11persistence11WorkspaceDb14get_pane_group17hc1 %switch.not.not.i = icmp eq i32 %27, 0 br i1 %switch.not.not.i, label %30, label %"_ZN5sqlez16typed_statements47_$LT$impl$u20$sqlez..connection..Connection$GT$12select_bound28_$u7b$$u7b$closure$u7d$$u7d$17he3500bc032bf5241E.exit.thread" +"_ZN5sqlez16typed_statements47_$LT$impl$u20$sqlez..connection..Connection$GT$12select_bound28_$u7b$$u7b$closure$u7d$$u7d$17he3500bc032bf5241E.exit.thread": ; preds = %.noexc + call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %14) + br label %41 + 30: ; preds = %.noexc call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %11), !noalias !10299 invoke void @_ZN5sqlez9statement9Statement3map5logic17hda7062157bfc932eE.llvm.4784060810856971783(ptr noalias nocapture noundef nonnull sret([24 x i8]) align 8 dereferenceable(24) %11, ptr noalias noundef nonnull align 8 dereferenceable(40) %15) @@ -52600,10 +52602,6 @@ define hidden void @_ZN9workspace11persistence11WorkspaceDb14get_pane_group17hc1 call void @_ZN4core9panicking16panic_in_cleanup17hfa05ef7d5107e16aE() #52, !noalias !10303 unreachable -"_ZN5sqlez16typed_statements47_$LT$impl$u20$sqlez..connection..Connection$GT$12select_bound28_$u7b$$u7b$closure$u7d$$u7d$17he3500bc032bf5241E.exit.thread": ; preds = %.noexc - call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %14) - br label %41 - 35: ; preds = %5 call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %13), !noalias !10286 %36 = icmp ne ptr %25, null @@ -53078,9 +53076,9 @@ common.resume: ; preds = %421, %.body, %360, %133 = icmp eq i64 %132, -9223372036854775808 %134 = getelementptr inbounds nuw i8, ptr %37, i64 8 %135 = load ptr, ptr %134, align 8, !noalias !10405 - br i1 %133, label %.thread103.i, label %137 + br i1 %133, label %.thread101.i, label %137 -.thread103.i: ; preds = %"_ZN4core3ptr198drop_in_place$LT$sqlez..typed_statements..$LT$impl$u20$sqlez..connection..Connection$GT$..select_row_bound$LT$$LP$workspace..WorkspaceId$C$bool$C$usize$RP$$C$i64$GT$..$u7b$$u7b$closure$u7d$$u7d$$GT$17h69837eb8aa00f8ccE.exit.i" +.thread101.i: ; preds = %"_ZN4core3ptr198drop_in_place$LT$sqlez..typed_statements..$LT$impl$u20$sqlez..connection..Connection$GT$..select_row_bound$LT$$LP$workspace..WorkspaceId$C$bool$C$usize$RP$$C$i64$GT$..$u7b$$u7b$closure$u7d$$u7d$$GT$17h69837eb8aa00f8ccE.exit.i" call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %37), !noalias !10405 %136 = icmp ne ptr %135, null call void @llvm.assume(i1 %136) @@ -53109,9 +53107,9 @@ common.resume: ; preds = %421, %.body, %360, store i64 %.sroa.366.0.i, ptr %.sroa.733.0..sroa_idx.i, align 8, !noalias !10353 call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %36), !noalias !10410 invoke void @"_ZN62_$LT$$LP$T1$C$T2$C$T3$RP$$u20$as$u20$sqlez..bindable..Bind$GT$4bind17h882b5d2dc48ca8b8E"(ptr noalias nocapture noundef nonnull sret([16 x i8]) align 8 dereferenceable(16) %36, ptr noalias noundef nonnull readonly align 8 dereferenceable(40) %47, ptr noalias noundef nonnull readonly align 8 dereferenceable(40) %48, i32 noundef 1) - to label %.noexc89.i unwind label %143, !noalias !10353 + to label %.noexc87.i unwind label %143, !noalias !10353 -.noexc89.i: ; preds = %137 +.noexc87.i: ; preds = %137 %138 = load i32, ptr %36, align 8, !range !3368, !noalias !10410, !noundef !25 %139 = getelementptr inbounds nuw i8, ptr %36, i64 8 %140 = load ptr, ptr %139, align 8, !noalias !10410, !nonnull !25 @@ -53119,11 +53117,11 @@ common.resume: ; preds = %421, %.body, %360, %switch.not.not.i.i = icmp eq i32 %138, 0 br i1 %switch.not.not.i.i, label %141, label %"_ZN5sqlez16typed_statements47_$LT$impl$u20$sqlez..connection..Connection$GT$10exec_bound28_$u7b$$u7b$closure$u7d$$u7d$17hef6b4fd0352903c4E.exit.thread.i" -"_ZN5sqlez16typed_statements47_$LT$impl$u20$sqlez..connection..Connection$GT$10exec_bound28_$u7b$$u7b$closure$u7d$$u7d$17hef6b4fd0352903c4E.exit.thread.i": ; preds = %.noexc89.i +"_ZN5sqlez16typed_statements47_$LT$impl$u20$sqlez..connection..Connection$GT$10exec_bound28_$u7b$$u7b$closure$u7d$$u7d$17hef6b4fd0352903c4E.exit.thread.i": ; preds = %.noexc87.i call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %47), !noalias !10353 br label %220 -141: ; preds = %.noexc89.i +141: ; preds = %.noexc87.i %142 = invoke noundef ptr @_ZN5sqlez9statement9Statement4exec17h0690f07a8ad76ad0E(ptr noalias noundef nonnull align 8 dereferenceable(40) %48) to label %"_ZN5sqlez16typed_statements47_$LT$impl$u20$sqlez..connection..Connection$GT$10exec_bound28_$u7b$$u7b$closure$u7d$$u7d$17hef6b4fd0352903c4E.exit.i" unwind label %143, !noalias !10353 @@ -53199,7 +53197,7 @@ common.resume: ; preds = %421, %.body, %360, store ptr %168, ptr %.sroa.421.0..sroa_idx.i.i, align 8, !noalias !10428 %170 = getelementptr inbounds { { { { ptr, i64 } }, {}, {} }, i64, i8, i8, [6 x i8] }, ptr %162, i64 %164 %.sroa.4.0..sroa_idx.i.i = getelementptr inbounds nuw i8, ptr %33, i64 8 - %.sroa.5.0..sroa_idx.i91.i = getelementptr inbounds nuw i8, ptr %33, i64 16 + %.sroa.5.0..sroa_idx.i89.i = getelementptr inbounds nuw i8, ptr %33, i64 16 %.sroa.615.0..sroa_idx.i.i = getelementptr inbounds nuw i8, ptr %33, i64 24 %171 = getelementptr inbounds nuw i8, ptr %28, i64 8 br label %177 @@ -53274,7 +53272,7 @@ common.resume: ; preds = %421, %.body, %360, call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %33), !noalias !10428 store i64 %1, ptr %33, align 8, !noalias !10428 store i64 %.sroa.5.0.copyload.i.i, ptr %.sroa.4.0..sroa_idx.i.i, align 8, !noalias !10428 - store i64 %.sroa.839.0.i.i, ptr %.sroa.5.0..sroa_idx.i91.i, align 8, !noalias !10428 + store i64 %.sroa.839.0.i.i, ptr %.sroa.5.0..sroa_idx.i89.i, align 8, !noalias !10428 store ptr %.sroa.037.0.i.i, ptr %.sroa.615.0..sroa_idx.i.i, align 8, !noalias !10428 call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %28), !noalias !10458 invoke void @"_ZN67_$LT$$LP$T1$C$T2$C$T3$C$T4$RP$$u20$as$u20$sqlez..bindable..Bind$GT$4bind17haba43a209fb1f5bcE"(ptr noalias nocapture noundef nonnull sret([16 x i8]) align 8 dereferenceable(16) %28, ptr noalias noundef nonnull readonly align 8 dereferenceable(32) %33, ptr noalias noundef nonnull readonly align 8 dereferenceable(40) %34, i32 noundef 1) @@ -53352,7 +53350,7 @@ _ZN9workspace11persistence11WorkspaceDb9save_pane17hc2eb349a3406361aE.exit.threa br label %_ZN9workspace11persistence11WorkspaceDb9save_pane17hc2eb349a3406361aE.exit.thread 220: ; preds = %"_ZN5sqlez16typed_statements47_$LT$impl$u20$sqlez..connection..Connection$GT$10exec_bound28_$u7b$$u7b$closure$u7d$$u7d$17hef6b4fd0352903c4E.exit.i", %"_ZN5sqlez16typed_statements47_$LT$impl$u20$sqlez..connection..Connection$GT$10exec_bound28_$u7b$$u7b$closure$u7d$$u7d$17hef6b4fd0352903c4E.exit.thread.i" - %.sroa.0.0.i106.i = phi ptr [ %140, %"_ZN5sqlez16typed_statements47_$LT$impl$u20$sqlez..connection..Connection$GT$10exec_bound28_$u7b$$u7b$closure$u7d$$u7d$17hef6b4fd0352903c4E.exit.thread.i" ], [ %142, %"_ZN5sqlez16typed_statements47_$LT$impl$u20$sqlez..connection..Connection$GT$10exec_bound28_$u7b$$u7b$closure$u7d$$u7d$17hef6b4fd0352903c4E.exit.i" ] + %.sroa.0.0.i104.i = phi ptr [ %140, %"_ZN5sqlez16typed_statements47_$LT$impl$u20$sqlez..connection..Connection$GT$10exec_bound28_$u7b$$u7b$closure$u7d$$u7d$17hef6b4fd0352903c4E.exit.thread.i" ], [ %142, %"_ZN5sqlez16typed_statements47_$LT$impl$u20$sqlez..connection..Connection$GT$10exec_bound28_$u7b$$u7b$closure$u7d$$u7d$17hef6b4fd0352903c4E.exit.i" ] invoke void @"_ZN69_$LT$sqlez..statement..Statement$u20$as$u20$core..ops..drop..Drop$GT$4drop17hc237b8f5b3e083cdE"(ptr noalias noundef nonnull align 8 dereferenceable(40) %48) to label %223 unwind label %221, !noalias !10353 @@ -53368,18 +53366,18 @@ _ZN9workspace11persistence11WorkspaceDb9save_pane17hc2eb349a3406361aE.exit.threa %224 = getelementptr inbounds nuw i8, ptr %24, i64 8 %225 = load i64, ptr %224, align 8, !range !719, !noalias !10476, !noundef !25 %226 = icmp eq i64 %225, 0 - br i1 %226, label %"_ZN4core3ptr222drop_in_place$LT$sqlez..typed_statements..$LT$impl$u20$sqlez..connection..Connection$GT$..exec_bound$LT$$LP$i64$C$core..option..Option$LT$i64$GT$$C$core..option..Option$LT$usize$GT$$RP$$GT$..$u7b$$u7b$closure$u7d$$u7d$$GT$17haa9929bc7ee05371E.exit92.i", label %227 + br i1 %226, label %"_ZN4core3ptr222drop_in_place$LT$sqlez..typed_statements..$LT$impl$u20$sqlez..connection..Connection$GT$..exec_bound$LT$$LP$i64$C$core..option..Option$LT$i64$GT$$C$core..option..Option$LT$usize$GT$$RP$$GT$..$u7b$$u7b$closure$u7d$$u7d$$GT$17haa9929bc7ee05371E.exit90.i", label %227 227: ; preds = %223 %228 = getelementptr inbounds nuw i8, ptr %24, i64 16 %229 = load i64, ptr %228, align 8, !noalias !10476, !noundef !25 %230 = icmp eq i64 %229, 0 - br i1 %230, label %"_ZN4core3ptr222drop_in_place$LT$sqlez..typed_statements..$LT$impl$u20$sqlez..connection..Connection$GT$..exec_bound$LT$$LP$i64$C$core..option..Option$LT$i64$GT$$C$core..option..Option$LT$usize$GT$$RP$$GT$..$u7b$$u7b$closure$u7d$$u7d$$GT$17haa9929bc7ee05371E.exit92.i", label %231 + br i1 %230, label %"_ZN4core3ptr222drop_in_place$LT$sqlez..typed_statements..$LT$impl$u20$sqlez..connection..Connection$GT$..exec_bound$LT$$LP$i64$C$core..option..Option$LT$i64$GT$$C$core..option..Option$LT$usize$GT$$RP$$GT$..$u7b$$u7b$closure$u7d$$u7d$$GT$17haa9929bc7ee05371E.exit90.i", label %231 231: ; preds = %227 %232 = load ptr, ptr %24, align 8, !noalias !10476, !nonnull !25, !noundef !25 call void @__rust_dealloc(ptr noundef nonnull %232, i64 noundef %229, i64 noundef %225) #53, !noalias !10353 - br label %"_ZN4core3ptr222drop_in_place$LT$sqlez..typed_statements..$LT$impl$u20$sqlez..connection..Connection$GT$..exec_bound$LT$$LP$i64$C$core..option..Option$LT$i64$GT$$C$core..option..Option$LT$usize$GT$$RP$$GT$..$u7b$$u7b$closure$u7d$$u7d$$GT$17haa9929bc7ee05371E.exit92.i" + br label %"_ZN4core3ptr222drop_in_place$LT$sqlez..typed_statements..$LT$impl$u20$sqlez..connection..Connection$GT$..exec_bound$LT$$LP$i64$C$core..option..Option$LT$i64$GT$$C$core..option..Option$LT$usize$GT$$RP$$GT$..$u7b$$u7b$closure$u7d$$u7d$$GT$17haa9929bc7ee05371E.exit90.i" 233: ; preds = %221 %234 = landingpad { ptr, i32 } @@ -53387,12 +53385,12 @@ _ZN9workspace11persistence11WorkspaceDb9save_pane17hc2eb349a3406361aE.exit.threa call void @_ZN4core9panicking16panic_in_cleanup17hfa05ef7d5107e16aE() #52, !noalias !10353 unreachable -"_ZN4core3ptr222drop_in_place$LT$sqlez..typed_statements..$LT$impl$u20$sqlez..connection..Connection$GT$..exec_bound$LT$$LP$i64$C$core..option..Option$LT$i64$GT$$C$core..option..Option$LT$usize$GT$$RP$$GT$..$u7b$$u7b$closure$u7d$$u7d$$GT$17haa9929bc7ee05371E.exit92.i": ; preds = %231, %227, %223 +"_ZN4core3ptr222drop_in_place$LT$sqlez..typed_statements..$LT$impl$u20$sqlez..connection..Connection$GT$..exec_bound$LT$$LP$i64$C$core..option..Option$LT$i64$GT$$C$core..option..Option$LT$usize$GT$$RP$$GT$..$u7b$$u7b$closure$u7d$$u7d$$GT$17haa9929bc7ee05371E.exit90.i": ; preds = %231, %227, %223 call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %24), !noalias !10476 br label %235 -235: ; preds = %"_ZN4core3ptr222drop_in_place$LT$sqlez..typed_statements..$LT$impl$u20$sqlez..connection..Connection$GT$..exec_bound$LT$$LP$i64$C$core..option..Option$LT$i64$GT$$C$core..option..Option$LT$usize$GT$$RP$$GT$..$u7b$$u7b$closure$u7d$$u7d$$GT$17haa9929bc7ee05371E.exit92.i", %.thread103.i - %.sroa.8.2.in.i = phi ptr [ %.sroa.0.0.i106.i, %"_ZN4core3ptr222drop_in_place$LT$sqlez..typed_statements..$LT$impl$u20$sqlez..connection..Connection$GT$..exec_bound$LT$$LP$i64$C$core..option..Option$LT$i64$GT$$C$core..option..Option$LT$usize$GT$$RP$$GT$..$u7b$$u7b$closure$u7d$$u7d$$GT$17haa9929bc7ee05371E.exit92.i" ], [ %135, %.thread103.i ] +235: ; preds = %"_ZN4core3ptr222drop_in_place$LT$sqlez..typed_statements..$LT$impl$u20$sqlez..connection..Connection$GT$..exec_bound$LT$$LP$i64$C$core..option..Option$LT$i64$GT$$C$core..option..Option$LT$usize$GT$$RP$$GT$..$u7b$$u7b$closure$u7d$$u7d$$GT$17haa9929bc7ee05371E.exit90.i", %.thread101.i + %.sroa.8.2.in.i = phi ptr [ %.sroa.0.0.i104.i, %"_ZN4core3ptr222drop_in_place$LT$sqlez..typed_statements..$LT$impl$u20$sqlez..connection..Connection$GT$..exec_bound$LT$$LP$i64$C$core..option..Option$LT$i64$GT$$C$core..option..Option$LT$usize$GT$$RP$$GT$..$u7b$$u7b$closure$u7d$$u7d$$GT$17haa9929bc7ee05371E.exit90.i" ], [ %135, %.thread101.i ] call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %48), !noalias !10353 br label %_ZN9workspace11persistence11WorkspaceDb9save_pane17hc2eb349a3406361aE.exit.thread @@ -53419,18 +53417,18 @@ _ZN9workspace11persistence11WorkspaceDb9save_pane17hc2eb349a3406361aE.exit.threa %242 = getelementptr inbounds nuw i8, ptr %23, i64 8 %243 = load i64, ptr %242, align 8, !range !719, !noalias !10487, !noundef !25 %244 = icmp eq i64 %243, 0 - br i1 %244, label %"_ZN4core3ptr198drop_in_place$LT$sqlez..typed_statements..$LT$impl$u20$sqlez..connection..Connection$GT$..select_row_bound$LT$$LP$workspace..WorkspaceId$C$bool$C$usize$RP$$C$i64$GT$..$u7b$$u7b$closure$u7d$$u7d$$GT$17h69837eb8aa00f8ccE.exit93.i", label %245 + br i1 %244, label %"_ZN4core3ptr198drop_in_place$LT$sqlez..typed_statements..$LT$impl$u20$sqlez..connection..Connection$GT$..select_row_bound$LT$$LP$workspace..WorkspaceId$C$bool$C$usize$RP$$C$i64$GT$..$u7b$$u7b$closure$u7d$$u7d$$GT$17h69837eb8aa00f8ccE.exit91.i", label %245 245: ; preds = %241 %246 = getelementptr inbounds nuw i8, ptr %23, i64 16 %247 = load i64, ptr %246, align 8, !noalias !10487, !noundef !25 %248 = icmp eq i64 %247, 0 - br i1 %248, label %"_ZN4core3ptr198drop_in_place$LT$sqlez..typed_statements..$LT$impl$u20$sqlez..connection..Connection$GT$..select_row_bound$LT$$LP$workspace..WorkspaceId$C$bool$C$usize$RP$$C$i64$GT$..$u7b$$u7b$closure$u7d$$u7d$$GT$17h69837eb8aa00f8ccE.exit93.i", label %249 + br i1 %248, label %"_ZN4core3ptr198drop_in_place$LT$sqlez..typed_statements..$LT$impl$u20$sqlez..connection..Connection$GT$..select_row_bound$LT$$LP$workspace..WorkspaceId$C$bool$C$usize$RP$$C$i64$GT$..$u7b$$u7b$closure$u7d$$u7d$$GT$17h69837eb8aa00f8ccE.exit91.i", label %249 249: ; preds = %245 %250 = load ptr, ptr %23, align 8, !noalias !10487, !nonnull !25, !noundef !25 call void @__rust_dealloc(ptr noundef nonnull %250, i64 noundef %247, i64 noundef %243) #53, !noalias !10353 - br label %"_ZN4core3ptr198drop_in_place$LT$sqlez..typed_statements..$LT$impl$u20$sqlez..connection..Connection$GT$..select_row_bound$LT$$LP$workspace..WorkspaceId$C$bool$C$usize$RP$$C$i64$GT$..$u7b$$u7b$closure$u7d$$u7d$$GT$17h69837eb8aa00f8ccE.exit93.i" + br label %"_ZN4core3ptr198drop_in_place$LT$sqlez..typed_statements..$LT$impl$u20$sqlez..connection..Connection$GT$..select_row_bound$LT$$LP$workspace..WorkspaceId$C$bool$C$usize$RP$$C$i64$GT$..$u7b$$u7b$closure$u7d$$u7d$$GT$17h69837eb8aa00f8ccE.exit91.i" 251: ; preds = %239 %252 = landingpad { ptr, i32 } @@ -53438,12 +53436,12 @@ _ZN9workspace11persistence11WorkspaceDb9save_pane17hc2eb349a3406361aE.exit.threa call void @_ZN4core9panicking16panic_in_cleanup17hfa05ef7d5107e16aE() #52, !noalias !10353 unreachable -"_ZN4core3ptr198drop_in_place$LT$sqlez..typed_statements..$LT$impl$u20$sqlez..connection..Connection$GT$..select_row_bound$LT$$LP$workspace..WorkspaceId$C$bool$C$usize$RP$$C$i64$GT$..$u7b$$u7b$closure$u7d$$u7d$$GT$17h69837eb8aa00f8ccE.exit93.i": ; preds = %249, %245, %241 +"_ZN4core3ptr198drop_in_place$LT$sqlez..typed_statements..$LT$impl$u20$sqlez..connection..Connection$GT$..select_row_bound$LT$$LP$workspace..WorkspaceId$C$bool$C$usize$RP$$C$i64$GT$..$u7b$$u7b$closure$u7d$$u7d$$GT$17h69837eb8aa00f8ccE.exit91.i": ; preds = %249, %245, %241 call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %23), !noalias !10487 br label %253 -253: ; preds = %"_ZN4core3ptr198drop_in_place$LT$sqlez..typed_statements..$LT$impl$u20$sqlez..connection..Connection$GT$..select_row_bound$LT$$LP$workspace..WorkspaceId$C$bool$C$usize$RP$$C$i64$GT$..$u7b$$u7b$closure$u7d$$u7d$$GT$17h69837eb8aa00f8ccE.exit93.i", %99 - %.sroa.8.0.in.i = phi ptr [ %72, %99 ], [ %.sroa.8.1.in.i, %"_ZN4core3ptr198drop_in_place$LT$sqlez..typed_statements..$LT$impl$u20$sqlez..connection..Connection$GT$..select_row_bound$LT$$LP$workspace..WorkspaceId$C$bool$C$usize$RP$$C$i64$GT$..$u7b$$u7b$closure$u7d$$u7d$$GT$17h69837eb8aa00f8ccE.exit93.i" ] +253: ; preds = %"_ZN4core3ptr198drop_in_place$LT$sqlez..typed_statements..$LT$impl$u20$sqlez..connection..Connection$GT$..select_row_bound$LT$$LP$workspace..WorkspaceId$C$bool$C$usize$RP$$C$i64$GT$..$u7b$$u7b$closure$u7d$$u7d$$GT$17h69837eb8aa00f8ccE.exit91.i", %99 + %.sroa.8.0.in.i = phi ptr [ %72, %99 ], [ %.sroa.8.1.in.i, %"_ZN4core3ptr198drop_in_place$LT$sqlez..typed_statements..$LT$impl$u20$sqlez..connection..Connection$GT$..select_row_bound$LT$$LP$workspace..WorkspaceId$C$bool$C$usize$RP$$C$i64$GT$..$u7b$$u7b$closure$u7d$$u7d$$GT$17h69837eb8aa00f8ccE.exit91.i" ] call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %50), !noalias !10353 br label %_ZN9workspace11persistence11WorkspaceDb9save_pane17hc2eb349a3406361aE.exit.thread diff --git a/bench/zed-rs/optimized/coobscod1tjvofpoi7fi6r7gk.ll b/bench/zed-rs/optimized/coobscod1tjvofpoi7fi6r7gk.ll index 3db5eb94a01..fc15d842dcb 100644 --- a/bench/zed-rs/optimized/coobscod1tjvofpoi7fi6r7gk.ll +++ b/bench/zed-rs/optimized/coobscod1tjvofpoi7fi6r7gk.ll @@ -3743,9 +3743,9 @@ define hidden noundef ptr @_ZN3std2io5Write9write_all17h209434d15c746ad3E(ptr no %6 = getelementptr inbounds nuw i8, ptr %4, i64 8 br label %7 -7: ; preds = %.lr.ph, %38 - %.sroa.0.051 = phi ptr [ %1, %.lr.ph ], [ %.sroa.0.160, %38 ] - %.sroa.4.050 = phi i64 [ %2, %.lr.ph ], [ %.sroa.4.159, %38 ] +7: ; preds = %.lr.ph, %37 + %.sroa.0.051 = phi ptr [ %1, %.lr.ph ], [ %.sroa.0.160, %37 ] + %.sroa.4.050 = phi i64 [ %2, %.lr.ph ], [ %.sroa.4.159, %37 ] %8 = call { i64, ptr } @"_ZN69_$LT$std..sys..pal..unix..stdio..Stderr$u20$as$u20$std..io..Write$GT$5write17h76708309fa42c308E"(ptr noalias noundef nonnull align 1 %0, ptr noalias noundef nonnull readonly align 1 %.sroa.0.051, i64 noundef %.sroa.4.050) %9 = extractvalue { i64, ptr } %8, 0 %10 = extractvalue { i64, ptr } %8, 1 @@ -3753,8 +3753,8 @@ define hidden noundef ptr @_ZN3std2io5Write9write_all17h209434d15c746ad3E(ptr no %11 = ptrtoint ptr %10 to i64 br i1 %switch, label %12, label %14 -.loopexit: ; preds = %12, %22, %27, %33, %16, %38, %3 - %.sroa.04.0 = phi ptr [ null, %3 ], [ %10, %16 ], [ %10, %33 ], [ %10, %27 ], [ %10, %22 ], [ @anon.96b83cf3f3f270e6703f77988f482208.51, %12 ], [ null, %38 ] +.loopexit: ; preds = %12, %21, %26, %32, %16, %37, %3 + %.sroa.04.0 = phi ptr [ null, %3 ], [ %10, %16 ], [ %10, %32 ], [ %10, %26 ], [ %10, %21 ], [ @anon.96b83cf3f3f270e6703f77988f482208.51, %12 ], [ null, %37 ] ret ptr %.sroa.04.0 12: ; preds = %7 @@ -3764,10 +3764,10 @@ define hidden noundef ptr @_ZN3std2io5Write9write_all17h209434d15c746ad3E(ptr no 14: ; preds = %7 %15 = and i64 %11, 3 switch i64 %15, label %default.unreachable [ - i64 2, label %33 + i64 2, label %32 i64 3, label %16 - i64 0, label %22 - i64 1, label %27 + i64 0, label %21 + i64 1, label %26 ] default.unreachable: ; preds = %14 @@ -3776,7 +3776,7 @@ default.unreachable: ; preds = %14 16: ; preds = %14 %.mask = and i64 %11, -4294967296 %switch42 = icmp eq i64 %.mask, 150323855360 - br i1 %switch42, label %21, label %.loopexit + br i1 %switch42, label %34, label %.loopexit 17: ; preds = %12 %18 = icmp ult i64 %.sroa.4.050, %11 @@ -3789,54 +3789,50 @@ default.unreachable: ; preds = %14 .thread55: ; preds = %17 %19 = sub nuw i64 %.sroa.4.050, %11 %20 = getelementptr inbounds i8, ptr %.sroa.0.051, i64 %11 - br label %38 + br label %37 -21: ; preds = %16, %22, %27, %33 - %trunc = trunc nuw i64 %9 to i1 - br i1 %trunc, label %35, label %38 +21: ; preds = %14 + %22 = icmp ne ptr %10, null + call void @llvm.assume(i1 %22) + %23 = getelementptr inbounds nuw i8, ptr %10, i64 16 + %24 = load i8, ptr %23, align 8, !range !662, !noundef !4 + %25 = icmp eq i8 %24, 35 + br i1 %25, label %34, label %.loopexit -22: ; preds = %14 - %23 = icmp ne ptr %10, null - call void @llvm.assume(i1 %23) - %24 = getelementptr inbounds nuw i8, ptr %10, i64 16 - %25 = load i8, ptr %24, align 8, !range !662, !noundef !4 - %26 = icmp eq i8 %25, 35 - br i1 %26, label %21, label %.loopexit +26: ; preds = %14 + %27 = getelementptr i8, ptr %10, i64 -1 + %28 = icmp ne ptr %27, null + call void @llvm.assume(i1 %28) + %29 = getelementptr i8, ptr %10, i64 15 + %30 = load i8, ptr %29, align 8, !range !662, !noundef !4 + %31 = icmp eq i8 %30, 35 + br i1 %31, label %34, label %.loopexit -27: ; preds = %14 - %28 = getelementptr i8, ptr %10, i64 -1 - %29 = icmp ne ptr %28, null - call void @llvm.assume(i1 %29) - %30 = getelementptr i8, ptr %10, i64 15 - %31 = load i8, ptr %30, align 8, !range !662, !noundef !4 - %32 = icmp eq i8 %31, 35 - br i1 %32, label %21, label %.loopexit - -33: ; preds = %14 +32: ; preds = %14 %.mask43 = and i64 %11, -4294967296 - %34 = icmp eq i64 %.mask43, 17179869184 - br i1 %34, label %21, label %.loopexit + %33 = icmp eq i64 %.mask43, 17179869184 + br i1 %33, label %34, label %.loopexit -35: ; preds = %21 +34: ; preds = %32, %26, %21, %16 call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %4), !noalias !663 call void @_ZN3std2io5error14repr_bitpacked11decode_repr17h795a572df5f10efbE.llvm.10229727489265554012(ptr noalias nocapture noundef nonnull sret([16 x i8]) align 8 dereferenceable(16) %4, ptr noundef nonnull %10), !noalias !663 - %36 = load i8, ptr %4, align 8, !range !517, !alias.scope !670, !noalias !663, !noundef !4 - %switch.not.i.i.i.i = icmp eq i8 %36, 3 - br i1 %switch.not.i.i.i.i, label %37, label %"_ZN4core3ptr42drop_in_place$LT$std..io..error..Error$GT$17h5921ff586d7fe84cE.exit" + %35 = load i8, ptr %4, align 8, !range !517, !alias.scope !670, !noalias !663, !noundef !4 + %switch.not.i.i.i.i = icmp eq i8 %35, 3 + br i1 %switch.not.i.i.i.i, label %36, label %"_ZN4core3ptr42drop_in_place$LT$std..io..error..Error$GT$17h5921ff586d7fe84cE.exit" -37: ; preds = %35 +36: ; preds = %34 call void @"_ZN4core3ptr68drop_in_place$LT$alloc..boxed..Box$LT$std..io..error..Custom$GT$$GT$17h7a2372a00f6c887cE.llvm.10229727489265554012"(ptr noalias noundef nonnull align 8 dereferenceable(8) %6), !noalias !663 br label %"_ZN4core3ptr42drop_in_place$LT$std..io..error..Error$GT$17h5921ff586d7fe84cE.exit" -"_ZN4core3ptr42drop_in_place$LT$std..io..error..Error$GT$17h5921ff586d7fe84cE.exit": ; preds = %35, %37 +"_ZN4core3ptr42drop_in_place$LT$std..io..error..Error$GT$17h5921ff586d7fe84cE.exit": ; preds = %34, %36 call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %4), !noalias !663 - br label %38 + br label %37 -38: ; preds = %.thread55, %21, %"_ZN4core3ptr42drop_in_place$LT$std..io..error..Error$GT$17h5921ff586d7fe84cE.exit" - %.sroa.0.160 = phi ptr [ %20, %.thread55 ], [ %.sroa.0.051, %21 ], [ %.sroa.0.051, %"_ZN4core3ptr42drop_in_place$LT$std..io..error..Error$GT$17h5921ff586d7fe84cE.exit" ] - %.sroa.4.159 = phi i64 [ %19, %.thread55 ], [ %.sroa.4.050, %21 ], [ %.sroa.4.050, %"_ZN4core3ptr42drop_in_place$LT$std..io..error..Error$GT$17h5921ff586d7fe84cE.exit" ] - %39 = icmp eq i64 %.sroa.4.159, 0 - br i1 %39, label %.loopexit, label %7 +37: ; preds = %.thread55, %"_ZN4core3ptr42drop_in_place$LT$std..io..error..Error$GT$17h5921ff586d7fe84cE.exit" + %.sroa.0.160 = phi ptr [ %20, %.thread55 ], [ %.sroa.0.051, %"_ZN4core3ptr42drop_in_place$LT$std..io..error..Error$GT$17h5921ff586d7fe84cE.exit" ] + %.sroa.4.159 = phi i64 [ %19, %.thread55 ], [ %.sroa.4.050, %"_ZN4core3ptr42drop_in_place$LT$std..io..error..Error$GT$17h5921ff586d7fe84cE.exit" ] + %38 = icmp eq i64 %.sroa.4.159, 0 + br i1 %38, label %.loopexit, label %7 } ; Function Attrs: nonlazybind uwtable diff --git a/scripts/setup_pre_commit_patch.sh b/scripts/setup_pre_commit_patch.sh index c5409e09ef4..26f7b3c37ac 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/119131 export COMPTIME_MODE=0 # Please rebase manually