diff --git a/bench/clap-rs/optimized/421wxj3t0b5xgmkw.ll b/bench/clap-rs/optimized/421wxj3t0b5xgmkw.ll index 9040445db4f..25207a436ba 100644 --- a/bench/clap-rs/optimized/421wxj3t0b5xgmkw.ll +++ b/bench/clap-rs/optimized/421wxj3t0b5xgmkw.ll @@ -4815,10 +4815,7 @@ define hidden noundef zeroext i1 @"_ZN12clap_builder4util8flat_map20FlatMap$LT$K ; Function Attrs: nonlazybind uwtable define hidden void @"_ZN12clap_builder4util8flat_map20FlatMap$LT$K$C$V$GT$6remove17h7ec09015a2cc740fE"(ptr noalias nocapture noundef writeonly sret({ i64, [12 x i64] }) align 8 dereferenceable(104) %0, ptr noalias nocapture noundef align 8 dereferenceable(48) %1, ptr noalias nocapture noundef readonly align 8 dereferenceable(16) %2) unnamed_addr #3 { - %.sroa.02 = alloca [120 x i8], align 8 - %.sroa.01 = alloca [104 x i8], align 8 %4 = alloca { [2 x i64], i64, [12 x i64] }, align 8 - call void @llvm.lifetime.start.p0(i64 120, ptr nonnull %4) call void @"_ZN12clap_builder4util8flat_map20FlatMap$LT$K$C$V$GT$12remove_entry17h7463ba68e919c492E.llvm.7008872586094235178"(ptr noalias nocapture noundef nonnull sret({ [2 x i64], i64, [12 x i64] }) align 8 dereferenceable(120) %4, ptr noalias noundef nonnull align 8 dereferenceable(48) %1, ptr noalias noundef nonnull readonly align 8 dereferenceable(16) %2) %5 = getelementptr inbounds i8, ptr %4, i64 16 %6 = load i64, ptr %5, align 8, !range !438, !noundef !18 @@ -4827,21 +4824,14 @@ define hidden void @"_ZN12clap_builder4util8flat_map20FlatMap$LT$K$C$V$GT$6remov 8: ; preds = %3 store i64 2, ptr %0, align 8 - br label %10 + br label %11 9: ; preds = %3 - call void @llvm.lifetime.start.p0(i64 120, ptr nonnull %.sroa.02) - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(120) %.sroa.02, ptr noundef nonnull align 8 dereferenceable(120) %4, i64 120, i1 false) - call void @llvm.lifetime.start.p0(i64 104, ptr nonnull %.sroa.01) - %.sroa.02.16..sroa_idx = getelementptr inbounds i8, ptr %.sroa.02, i64 16 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(104) %.sroa.01, ptr noundef nonnull align 8 dereferenceable(104) %.sroa.02.16..sroa_idx, i64 104, i1 false) - call void @llvm.lifetime.end.p0(i64 120, ptr nonnull %.sroa.02) - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(104) %0, ptr noundef nonnull align 8 dereferenceable(104) %.sroa.01, i64 104, i1 false) - call void @llvm.lifetime.end.p0(i64 104, ptr nonnull %.sroa.01) - br label %10 + %10 = getelementptr inbounds i8, ptr %4, i64 16 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(104) %0, ptr noundef nonnull align 8 dereferenceable(104) %10, i64 104, i1 false) + br label %11 -10: ; preds = %9, %8 - call void @llvm.lifetime.end.p0(i64 120, ptr nonnull %4) +11: ; preds = %9, %8 ret void } diff --git a/bench/clap-rs/optimized/4bajo035z6e1d4qz.ll b/bench/clap-rs/optimized/4bajo035z6e1d4qz.ll index 1ae14da5982..ee68f16c12c 100644 --- a/bench/clap-rs/optimized/4bajo035z6e1d4qz.ll +++ b/bench/clap-rs/optimized/4bajo035z6e1d4qz.ll @@ -9107,30 +9107,25 @@ define hidden noundef align 8 dereferenceable_or_null(104) ptr @_ZN12clap_builde ; Function Attrs: nonlazybind uwtable define hidden noundef zeroext i1 @_ZN12clap_builder6parser11arg_matcher10ArgMatcher6remove17h28a41f819a99b3b4E(ptr noalias noundef align 8 dereferenceable(120) %0, ptr noalias noundef readonly align 8 dereferenceable(16) %1) unnamed_addr #0 { - %.sroa.02.i = alloca [120 x i8], align 8 %3 = alloca { [2 x i64], i64, [12 x i64] }, align 8 %4 = alloca { i64, [12 x i64] }, align 8 call void @llvm.lifetime.start.p0(i64 104, ptr nonnull %4) %5 = getelementptr inbounds i8, ptr %0, i64 64 - call void @llvm.lifetime.start.p0(i64 120, ptr nonnull %3), !noalias !1896 - call void @"_ZN12clap_builder4util8flat_map20FlatMap$LT$K$C$V$GT$12remove_entry17h7463ba68e919c492E.llvm.7008872586094235178"(ptr noalias nocapture noundef nonnull sret({ [2 x i64], i64, [12 x i64] }) align 8 dereferenceable(120) %3, ptr noalias noundef nonnull align 8 dereferenceable(48) %5, ptr noalias noundef nonnull readonly align 8 dereferenceable(16) %1), !noalias !1901 + call void @llvm.lifetime.start.p0(i64 120, ptr nonnull %3) + call void @"_ZN12clap_builder4util8flat_map20FlatMap$LT$K$C$V$GT$12remove_entry17h7463ba68e919c492E.llvm.7008872586094235178"(ptr noalias nocapture noundef nonnull sret({ [2 x i64], i64, [12 x i64] }) align 8 dereferenceable(120) %3, ptr noalias noundef nonnull align 8 dereferenceable(48) %5, ptr noalias noundef nonnull readonly align 8 dereferenceable(16) %1), !noalias !1896 %6 = getelementptr inbounds i8, ptr %3, i64 16 - %7 = load i64, ptr %6, align 8, !range !349, !noalias !1896, !noundef !5 + %7 = load i64, ptr %6, align 8, !range !349, !noalias !1899, !noundef !5 %8 = icmp eq i64 %7, 2 br i1 %8, label %"_ZN12clap_builder4util8flat_map20FlatMap$LT$K$C$V$GT$6remove17h7ec09015a2cc740fE.exit.thread", label %"_ZN12clap_builder4util8flat_map20FlatMap$LT$K$C$V$GT$6remove17h7ec09015a2cc740fE.exit" "_ZN12clap_builder4util8flat_map20FlatMap$LT$K$C$V$GT$6remove17h7ec09015a2cc740fE.exit.thread": ; preds = %2 - call void @llvm.lifetime.end.p0(i64 120, ptr nonnull %3), !noalias !1896 + call void @llvm.lifetime.end.p0(i64 120, ptr nonnull %3) br label %"_ZN4core3ptr103drop_in_place$LT$core..option..Option$LT$clap_builder..parser..matches..matched_arg..MatchedArg$GT$$GT$17h53f4198f97a06b19E.llvm.1283588139133547551.exit" "_ZN12clap_builder4util8flat_map20FlatMap$LT$K$C$V$GT$6remove17h7ec09015a2cc740fE.exit": ; preds = %2 - call void @llvm.lifetime.start.p0(i64 120, ptr nonnull %.sroa.02.i) - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(120) %.sroa.02.i, ptr noundef nonnull align 8 dereferenceable(120) %3, i64 120, i1 false), !noalias !1896 - %.sroa.02.16..sroa_idx.i = getelementptr inbounds i8, ptr %.sroa.02.i, i64 16 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(104) %4, ptr noundef nonnull align 8 dereferenceable(104) %.sroa.02.16..sroa_idx.i, i64 104, i1 false), !noalias !1902 - call void @llvm.lifetime.end.p0(i64 120, ptr nonnull %.sroa.02.i) + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(104) %4, ptr noundef nonnull align 8 dereferenceable(104) %6, i64 104, i1 false), !noalias !1902 %.pr = load i64, ptr %4, align 8 - call void @llvm.lifetime.end.p0(i64 120, ptr nonnull %3), !noalias !1896 + call void @llvm.lifetime.end.p0(i64 120, ptr nonnull %3) %9 = icmp ne i64 %.pr, 2 %10 = icmp eq i64 %.pr, 2 br i1 %10, label %"_ZN4core3ptr103drop_in_place$LT$core..option..Option$LT$clap_builder..parser..matches..matched_arg..MatchedArg$GT$$GT$17h53f4198f97a06b19E.llvm.1283588139133547551.exit", label %11 @@ -12474,13 +12469,13 @@ attributes #41 = { nounwind } !1893 = !{!1894} !1894 = distinct !{!1894, !1895, !"_ZN4core3ptr103drop_in_place$LT$core..option..Option$LT$clap_builder..parser..matches..matched_arg..MatchedArg$GT$$GT$17h53f4198f97a06b19E.llvm.1283588139133547551: argument 0"} !1895 = distinct !{!1895, !"_ZN4core3ptr103drop_in_place$LT$core..option..Option$LT$clap_builder..parser..matches..matched_arg..MatchedArg$GT$$GT$17h53f4198f97a06b19E.llvm.1283588139133547551"} -!1896 = !{!1897, !1899, !1900} +!1896 = !{!1897} !1897 = distinct !{!1897, !1898, !"_ZN12clap_builder4util8flat_map20FlatMap$LT$K$C$V$GT$6remove17h7ec09015a2cc740fE: argument 0"} !1898 = distinct !{!1898, !"_ZN12clap_builder4util8flat_map20FlatMap$LT$K$C$V$GT$6remove17h7ec09015a2cc740fE"} -!1899 = distinct !{!1899, !1898, !"_ZN12clap_builder4util8flat_map20FlatMap$LT$K$C$V$GT$6remove17h7ec09015a2cc740fE: argument 1"} -!1900 = distinct !{!1900, !1898, !"_ZN12clap_builder4util8flat_map20FlatMap$LT$K$C$V$GT$6remove17h7ec09015a2cc740fE: argument 2"} -!1901 = !{!1897} -!1902 = !{!1899, !1900} +!1899 = !{!1897, !1900, !1901} +!1900 = distinct !{!1900, !1898, !"_ZN12clap_builder4util8flat_map20FlatMap$LT$K$C$V$GT$6remove17h7ec09015a2cc740fE: argument 1"} +!1901 = distinct !{!1901, !1898, !"_ZN12clap_builder4util8flat_map20FlatMap$LT$K$C$V$GT$6remove17h7ec09015a2cc740fE: argument 2"} +!1902 = !{!1900, !1901} !1903 = !{!1904} !1904 = distinct !{!1904, !1905, !"_ZN12clap_builder4util8flat_map20FlatMap$LT$K$C$V$GT$12contains_key17h85a14fbd23d1d557E: argument 0"} !1905 = distinct !{!1905, !"_ZN12clap_builder4util8flat_map20FlatMap$LT$K$C$V$GT$12contains_key17h85a14fbd23d1d557E"} diff --git a/bench/cpython/optimized/Hacl_Hash_SHA3.ll b/bench/cpython/optimized/Hacl_Hash_SHA3.ll index 4f9df546a39..ac5db58e8de 100644 --- a/bench/cpython/optimized/Hacl_Hash_SHA3.ll +++ b/bench/cpython/optimized/Hacl_Hash_SHA3.ll @@ -1409,22 +1409,23 @@ if.end149: ; preds = %switch.lookup870, % store ptr %s1130.sroa.2.0.copyload700, ptr %s.sroa.3.0..sroa_idx, align 8 store i64 %add157, ptr %s.sroa.384.0..sroa_idx, align 8 %s10.sroa.0.0.copyload = load i8, ptr %p, align 8 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(7) %block_state1162.sroa.4, ptr noundef nonnull align 1 dereferenceable(7) %s.sroa.2.0..sroa_idx, i64 7, i1 false) + %56 = getelementptr inbounds i8, ptr %block_state10, i64 1 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(7) %block_state1162.sroa.4, ptr noundef nonnull align 1 dereferenceable(7) %56, i64 7, i1 false) %s10.sroa.3.0..sroa_idx = getelementptr inbounds i8, ptr %p, i64 8 %s10.sroa.3.0.copyload = load ptr, ptr %s10.sroa.3.0..sroa_idx, align 8 %switch.tableidx879 = add nsw i8 %s.sroa.0.0.copyload, -8 - %56 = icmp ult i8 %switch.tableidx879, 6 - br i1 %56, label %switch.lookup878, label %sw.default.i348 + %57 = icmp ult i8 %switch.tableidx879, 6 + br i1 %57, label %switch.lookup878, label %sw.default.i348 sw.default.i348: ; preds = %if.end149 - %57 = load ptr, ptr @stderr, align 8 - %call.i349 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %57, ptr noundef nonnull @.str.2, ptr noundef nonnull @.str.1, i32 noundef 58) #14 + %58 = load ptr, ptr @stderr, align 8 + %call.i349 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %58, ptr noundef nonnull @.str.2, ptr noundef nonnull @.str.1, i32 noundef 58) #14 tail call void @exit(i32 noundef 253) #15 unreachable switch.lookup878: ; preds = %if.end149 - %58 = zext nneg i8 %switch.tableidx879 to i64 - %switch.gep880 = getelementptr inbounds [6 x i64], ptr @switch.table.finish_, i64 0, i64 %58 + %59 = zext nneg i8 %switch.tableidx879 to i64 + %switch.gep880 = getelementptr inbounds [6 x i64], ptr @switch.table.finish_, i64 0, i64 %59 %switch.load881 = load i64, ptr %switch.gep880, align 8 %rem171 = urem i64 %add157, %switch.load881 %cmp172 = icmp eq i64 %rem171, 0 @@ -1434,37 +1435,37 @@ switch.lookup878: ; preds = %if.end149 if.else179: ; preds = %switch.lookup878 %switch.tableidx883 = add nsw i8 %s.sroa.0.0.copyload, -8 - %59 = icmp ult i8 %switch.tableidx883, 6 - br i1 %59, label %switch.lookup882, label %sw.default.i366 + %60 = icmp ult i8 %switch.tableidx883, 6 + br i1 %60, label %switch.lookup882, label %sw.default.i366 sw.default.i366: ; preds = %if.else179 - %60 = load ptr, ptr @stderr, align 8 - %call.i367 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %60, ptr noundef nonnull @.str.2, ptr noundef nonnull @.str.1, i32 noundef 58) #14 + %61 = load ptr, ptr @stderr, align 8 + %call.i367 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %61, ptr noundef nonnull @.str.2, ptr noundef nonnull @.str.1, i32 noundef 58) #14 tail call void @exit(i32 noundef 253) #15 unreachable switch.lookup882: ; preds = %if.else179 - %61 = zext nneg i8 %switch.tableidx883 to i64 - %switch.gep884 = getelementptr inbounds [6 x i64], ptr @switch.table.finish_, i64 0, i64 %61 + %62 = zext nneg i8 %switch.tableidx883 to i64 + %switch.gep884 = getelementptr inbounds [6 x i64], ptr @switch.table.finish_, i64 0, i64 %62 %switch.load885 = load i64, ptr %switch.gep884, align 8 %rem182 = urem i64 %add157, %switch.load885 - %62 = icmp eq i64 %rem182, 0 - br i1 %62, label %if.end195, label %if.then187 + %63 = icmp eq i64 %rem182, 0 + br i1 %63, label %if.end195, label %if.then187 if.then187: ; preds = %switch.lookup878, %switch.lookup882 %switch.tableidx887 = add nsw i8 %s.sroa.0.0.copyload, -8 - %63 = icmp ult i8 %switch.tableidx887, 6 - br i1 %63, label %switch.lookup886, label %sw.default.i375 + %64 = icmp ult i8 %switch.tableidx887, 6 + br i1 %64, label %switch.lookup886, label %sw.default.i375 sw.default.i375: ; preds = %if.then187 - %64 = load ptr, ptr @stderr, align 8 - %call.i376 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %64, ptr noundef nonnull @.str.2, ptr noundef nonnull @.str.1, i32 noundef 58) #14 + %65 = load ptr, ptr @stderr, align 8 + %call.i376 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %65, ptr noundef nonnull @.str.2, ptr noundef nonnull @.str.1, i32 noundef 58) #14 tail call void @exit(i32 noundef 253) #15 unreachable switch.lookup886: ; preds = %if.then187 - %65 = shl nuw nsw i8 %switch.tableidx887, 3 - %switch.shiftamt = zext nneg i8 %65 to i48 + %66 = shl nuw nsw i8 %switch.tableidx887, 3 + %switch.shiftamt = zext nneg i8 %66 to i48 %switch.downshift = lshr i48 -131218626015096, %switch.shiftamt %switch.masked = trunc i48 %switch.downshift to i8 switch i8 %s10.sroa.0.0.copyload, label %sw.default.i384 [ @@ -1497,8 +1498,8 @@ sw.bb5.i378: ; preds = %switch.lookup886 br label %block_len.exit386 sw.default.i384: ; preds = %switch.lookup886 - %66 = load ptr, ptr @stderr, align 8 - %call.i385 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %66, ptr noundef nonnull @.str.2, ptr noundef nonnull @.str.1, i32 noundef 58) #14 + %67 = load ptr, ptr @stderr, align 8 + %call.i385 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %67, ptr noundef nonnull @.str.2, ptr noundef nonnull @.str.1, i32 noundef 58) #14 tail call void @exit(i32 noundef 253) #15 unreachable @@ -1556,19 +1557,19 @@ block_len.exit12.i404: ; preds = %sw.bb5.i4.i425, %sw %idx.ext15.i409 = and i64 %mul14.i408, %.sink.i406 %add.ptr16.i410 = getelementptr i8, ptr %s1130.sroa.2.0.copyload700, i64 %idx.ext15.i409 call void @llvm.lifetime.start.p0(i64 200, ptr nonnull %block.i.i.i387) - %67 = sub nuw nsw i64 200, %.sink50.i405 - call void @llvm.memset.p0.i64(ptr nonnull align 8 %retval.0.i5.sroa.phi.i407, i8 0, i64 %67, i1 false) + %68 = sub nuw nsw i64 200, %.sink50.i405 + call void @llvm.memset.p0.i64(ptr nonnull align 8 %retval.0.i5.sroa.phi.i407, i8 0, i64 %68, i1 false) call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(1) %block.i.i.i387, ptr noundef nonnull align 1 dereferenceable(1) %add.ptr16.i410, i64 %.sink50.i405, i1 false) br label %for.body.i.i.i411 for.body.i.i.i411: ; preds = %for.body.i.i.i411, %block_len.exit12.i404 %indvars.iv.i.i.i412 = phi i64 [ 0, %block_len.exit12.i404 ], [ %indvars.iv.next.i.i.i417, %for.body.i.i.i411 ] - %68 = shl nuw nsw i64 %indvars.iv.i.i.i412, 3 - %add.ptr.i.i.i413 = getelementptr i8, ptr %block.i.i.i387, i64 %68 + %69 = shl nuw nsw i64 %indvars.iv.i.i.i412, 3 + %add.ptr.i.i.i413 = getelementptr i8, ptr %block.i.i.i387, i64 %69 %add.ptr.val.i.i.i414 = load i64, ptr %add.ptr.i.i.i413, align 8 %arrayidx.i.i.i415 = getelementptr i64, ptr %s10.sroa.3.0.copyload, i64 %indvars.iv.i.i.i412 - %69 = load i64, ptr %arrayidx.i.i.i415, align 8 - %xor.i.i.i416 = xor i64 %69, %add.ptr.val.i.i.i414 + %70 = load i64, ptr %arrayidx.i.i.i415, align 8 + %xor.i.i.i416 = xor i64 %70, %add.ptr.val.i.i.i414 store i64 %xor.i.i.i416, ptr %arrayidx.i.i.i415, align 8 %indvars.iv.next.i.i.i417 = add nuw nsw i64 %indvars.iv.i.i.i412, 1 %exitcond.not.i.i.i418 = icmp eq i64 %indvars.iv.next.i.i.i417, 25 @@ -1585,21 +1586,21 @@ if.end195: ; preds = %Hacl_Impl_SHA3_abso %sub197 = sub i32 %len, %idx.ext128698.sink.in %conv198 = zext i32 %sub197 to i64 %switch.tableidx889 = add nsw i8 %s.sroa.0.0.copyload, -8 - %70 = icmp ult i8 %switch.tableidx889, 6 - br i1 %70, label %switch.lookup888, label %sw.default.i433 + %71 = icmp ult i8 %switch.tableidx889, 6 + br i1 %71, label %switch.lookup888, label %sw.default.i433 sw.default.i433: ; preds = %if.end195 - %71 = load ptr, ptr @stderr, align 8 - %call.i434 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %71, ptr noundef nonnull @.str.2, ptr noundef nonnull @.str.1, i32 noundef 58) #14 + %72 = load ptr, ptr @stderr, align 8 + %call.i434 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %72, ptr noundef nonnull @.str.2, ptr noundef nonnull @.str.1, i32 noundef 58) #14 tail call void @exit(i32 noundef 253) #15 unreachable switch.lookup888: ; preds = %if.end195 - %72 = zext nneg i8 %switch.tableidx889 to i64 - %switch.gep890 = getelementptr inbounds [6 x i32], ptr @switch.table.Hacl_Streaming_Keccak_block_len, i64 0, i64 %72 + %73 = zext nneg i8 %switch.tableidx889 to i64 + %switch.gep890 = getelementptr inbounds [6 x i32], ptr @switch.table.Hacl_Streaming_Keccak_block_len, i64 0, i64 %73 %switch.load891 = load i32, ptr %switch.gep890, align 4 - %73 = urem i32 %sub197, %switch.load891 - %cmp202 = icmp ne i32 %73, 0 + %74 = urem i32 %sub197, %switch.load891 + %cmp202 = icmp ne i32 %74, 0 %cmp207.not = icmp eq i32 %idx.ext128698.sink.in, %len %or.cond112 = select i1 %cmp202, i1 true, i1 %cmp207.not br i1 %or.cond112, label %if.else211, label %if.then209 @@ -1639,8 +1640,8 @@ if.end218.thread764: ; preds = %if.then209 br label %sw.bb5.i463 sw.default.i442: ; preds = %if.then209 - %74 = load ptr, ptr @stderr, align 8 - %call.i443 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %74, ptr noundef nonnull @.str.2, ptr noundef nonnull @.str.1, i32 noundef 58) #14 + %75 = load ptr, ptr @stderr, align 8 + %call.i443 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %75, ptr noundef nonnull @.str.2, ptr noundef nonnull @.str.1, i32 noundef 58) #14 tail call void @exit(i32 noundef 253) #15 unreachable @@ -1655,39 +1656,39 @@ if.else211: ; preds = %switch.lookup888 ] if.end218.thread768: ; preds = %if.else211 - %75 = urem i32 %sub197, 144 - %sub221770 = sub i32 %sub197, %75 + %76 = urem i32 %sub197, 144 + %sub221770 = sub i32 %sub197, %76 br label %block_len.exit462.thread if.end218.thread771: ; preds = %if.else211 - %76 = urem i32 %sub197, 136 - %sub221773 = sub i32 %sub197, %76 + %77 = urem i32 %sub197, 136 + %sub221773 = sub i32 %sub197, %77 br label %sw.bb1.i468 if.end218.thread774: ; preds = %if.else211 - %77 = urem i32 %sub197, 104 - %sub221776 = sub i32 %sub197, %77 + %78 = urem i32 %sub197, 104 + %sub221776 = sub i32 %sub197, %78 br label %sw.bb2.i467 if.end218.thread777: ; preds = %if.else211 - %78 = urem i32 %sub197, 72 - %sub221779 = sub i32 %sub197, %78 + %79 = urem i32 %sub197, 72 + %sub221779 = sub i32 %sub197, %79 br label %sw.bb3.i466 if.end218.thread780: ; preds = %if.else211 - %79 = urem i32 %sub197, 168 - %sub221782 = sub i32 %sub197, %79 + %80 = urem i32 %sub197, 168 + %sub221782 = sub i32 %sub197, %80 br label %sw.bb4.i465 sw.default.i451: ; preds = %if.else211 - %80 = load ptr, ptr @stderr, align 8 - %call.i452 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %80, ptr noundef nonnull @.str.2, ptr noundef nonnull @.str.1, i32 noundef 58) #14 + %81 = load ptr, ptr @stderr, align 8 + %call.i452 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %81, ptr noundef nonnull @.str.2, ptr noundef nonnull @.str.1, i32 noundef 58) #14 tail call void @exit(i32 noundef 253) #15 unreachable if.end218: ; preds = %if.else211 - %81 = urem i32 %sub197, 136 - %sub221 = sub i32 %sub197, %81 + %82 = urem i32 %sub197, 136 + %sub221 = sub i32 %sub197, %82 br label %sw.bb5.i463 block_len.exit462.thread: ; preds = %if.end218.thread768, %if.end218.thread @@ -1728,18 +1729,18 @@ block_len.exit471: ; preds = %block_len.exit462.t %idx.ext230 = zext i32 %mul226 to i64 %add.ptr231 = getelementptr i8, ptr %add.ptr129699, i64 %idx.ext230 %switch.tableidx893 = add i8 %s10.sroa.0.0.copyload, -8 - %82 = icmp ult i8 %switch.tableidx893, 6 - br i1 %82, label %switch.lookup892, label %sw.default.i478 + %83 = icmp ult i8 %switch.tableidx893, 6 + br i1 %83, label %switch.lookup892, label %sw.default.i478 sw.default.i478: ; preds = %block_len.exit471 - %83 = load ptr, ptr @stderr, align 8 - %call.i479 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %83, ptr noundef nonnull @.str.2, ptr noundef nonnull @.str.1, i32 noundef 58) #14 + %84 = load ptr, ptr @stderr, align 8 + %call.i479 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %84, ptr noundef nonnull @.str.2, ptr noundef nonnull @.str.1, i32 noundef 58) #14 tail call void @exit(i32 noundef 253) #15 unreachable switch.lookup892: ; preds = %block_len.exit471 - %84 = zext nneg i8 %switch.tableidx893 to i64 - %switch.gep894 = getelementptr inbounds [6 x i32], ptr @switch.table.Hacl_Streaming_Keccak_block_len, i64 0, i64 %84 + %85 = zext nneg i8 %switch.tableidx893 to i64 + %switch.gep894 = getelementptr inbounds [6 x i32], ptr @switch.table.Hacl_Streaming_Keccak_block_len, i64 0, i64 %85 %switch.load895 = load i32, ptr %switch.gep894, align 4 %cmp42.not.i482 = icmp ugt i32 %switch.load895, %mul226 %retval.0.i5.sroa.gep.i483 = getelementptr inbounds i8, ptr %block.i.i.i481, i64 136 @@ -1787,19 +1788,19 @@ block_len.exit12.i498: ; preds = %sw.bb5.i4.i519, %sw %idx.ext15.i503 = and i64 %mul14.i502, %.sink.i500 %add.ptr16.i504 = getelementptr i8, ptr %add.ptr129699, i64 %idx.ext15.i503 call void @llvm.lifetime.start.p0(i64 200, ptr nonnull %block.i.i.i481) - %85 = sub nuw nsw i64 200, %.sink50.i499 - call void @llvm.memset.p0.i64(ptr nonnull align 8 %retval.0.i5.sroa.phi.i501, i8 0, i64 %85, i1 false) + %86 = sub nuw nsw i64 200, %.sink50.i499 + call void @llvm.memset.p0.i64(ptr nonnull align 8 %retval.0.i5.sroa.phi.i501, i8 0, i64 %86, i1 false) call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(1) %block.i.i.i481, ptr noundef nonnull align 1 dereferenceable(1) %add.ptr16.i504, i64 %.sink50.i499, i1 false) br label %for.body.i.i.i505 for.body.i.i.i505: ; preds = %for.body.i.i.i505, %block_len.exit12.i498 %indvars.iv.i.i.i506 = phi i64 [ 0, %block_len.exit12.i498 ], [ %indvars.iv.next.i.i.i511, %for.body.i.i.i505 ] - %86 = shl nuw nsw i64 %indvars.iv.i.i.i506, 3 - %add.ptr.i.i.i507 = getelementptr i8, ptr %block.i.i.i481, i64 %86 + %87 = shl nuw nsw i64 %indvars.iv.i.i.i506, 3 + %add.ptr.i.i.i507 = getelementptr i8, ptr %block.i.i.i481, i64 %87 %add.ptr.val.i.i.i508 = load i64, ptr %add.ptr.i.i.i507, align 8 %arrayidx.i.i.i509 = getelementptr i64, ptr %s10.sroa.3.0.copyload, i64 %indvars.iv.i.i.i506 - %87 = load i64, ptr %arrayidx.i.i.i509, align 8 - %xor.i.i.i510 = xor i64 %87, %add.ptr.val.i.i.i508 + %88 = load i64, ptr %arrayidx.i.i.i509, align 8 + %xor.i.i.i510 = xor i64 %88, %add.ptr.val.i.i.i508 store i64 %xor.i.i.i510, ptr %arrayidx.i.i.i509, align 8 %indvars.iv.next.i.i.i511 = add nuw nsw i64 %indvars.iv.i.i.i506, 1 %exitcond.not.i.i.i512 = icmp eq i64 %indvars.iv.next.i.i.i511, 25 diff --git a/bench/diesel-rs/optimized/173kfv9vgwy610wq.ll b/bench/diesel-rs/optimized/173kfv9vgwy610wq.ll index 14c23c44d20..867bdb7890b 100644 --- a/bench/diesel-rs/optimized/173kfv9vgwy610wq.ll +++ b/bench/diesel-rs/optimized/173kfv9vgwy610wq.ll @@ -526,8 +526,8 @@ define hidden void @"_ZN6diesel10connection15statement_cache36StatementCache$LT$ call void @_ZN4core9panicking16panic_in_cleanup17h55eb1d85cadde1a1E() #12, !noalias !98 unreachable -common.resume: ; preds = %.thread247, %179, %240, %.thread290, %255, %.body.i - %common.resume.op = phi { ptr, i32 } [ %eh.lpad-body.i, %.body.i ], [ %256, %255 ], [ %.pn80250, %.thread247 ], [ %180, %179 ], [ %241, %240 ], [ %.pn294, %.thread290 ] +common.resume: ; preds = %.thread247, %179, %241, %.thread290, %256, %.body.i + %common.resume.op = phi { ptr, i32 } [ %eh.lpad-body.i, %.body.i ], [ %257, %256 ], [ %.pn80250, %.thread247 ], [ %180, %179 ], [ %242, %241 ], [ %.pn294, %.thread290 ] resume { ptr, i32 } %common.resume.op 112: ; preds = %13, %.loopexit.i @@ -596,7 +596,7 @@ common.resume: ; preds = %.thread247, %179, % %.sroa.348.0..sroa_idx = getelementptr inbounds i8, ptr %0, i64 17 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(23) %.sroa.348.0..sroa_idx, ptr noundef nonnull align 1 dereferenceable(23) %.sroa.348, i64 23, i1 false) store i64 -9223372036854775807, ptr %0, align 8 - br label %245 + br label %246 126: ; preds = %122 call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %35) @@ -727,7 +727,7 @@ common.resume: ; preds = %.thread247, %179, % "_ZN4core3ptr50drop_in_place$LT$alloc..borrow..Cow$LT$str$GT$$GT$17h846ccf256aa61d6bE.exit": ; preds = %"_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17h1ac76d9ea1a74da3E.exit.i", %"_ZN4core6result19Result$LT$T$C$E$GT$3map17h689a5c9792f1cf8aE.exit", %141 call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %35) - br label %245 + br label %246 164: ; preds = %.thread247, %.thread290, %201, %143 %165 = landingpad { ptr, i32 } @@ -813,7 +813,7 @@ common.resume: ; preds = %.thread247, %179, % %.sroa.11158.8..sroa_idx160 = getelementptr inbounds i8, ptr %18, i64 24 %.sroa.11158.8.copyload161 = load i64, ptr %.sroa.11158.8..sroa_idx160, align 8, !alias.scope !170, !noalias !169 call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %18), !noalias !163 - br i1 %193, label %"_ZN6diesel10connection15statement_cache27StatementCacheKey$LT$DB$GT$3sql17h6f1697d10140c0bcE.exit95.thread312", label %228 + br i1 %193, label %"_ZN6diesel10connection15statement_cache27StatementCacheKey$LT$DB$GT$3sql17h6f1697d10140c0bcE.exit95.thread312", label %229 "_ZN6diesel10connection15statement_cache27StatementCacheKey$LT$DB$GT$3sql17h6f1697d10140c0bcE.exit95.thread": ; preds = %184 %195 = getelementptr inbounds i8, ptr %32, i64 24 @@ -827,14 +827,14 @@ common.resume: ; preds = %.thread247, %179, % br label %200 200: ; preds = %223, %199 - %.pn = phi ptr [ %225, %223 ], [ %167, %199 ] + %.pn = phi ptr [ %226, %223 ], [ %167, %199 ] %.071 = getelementptr inbounds i8, ptr %.pn, i64 -40 call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %.sroa.617) store i64 -9223372036854775808, ptr %0, align 8 %.sroa.435.0..sroa_idx = getelementptr inbounds i8, ptr %0, i64 8 store ptr %.071, ptr %.sroa.435.0..sroa_idx, align 8 call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %37) - br label %227 + br label %228 .thread299: ; preds = %189, %213, %216 %lpad.thr_comm297 = landingpad { ptr, i32 } @@ -918,35 +918,35 @@ common.resume: ; preds = %.thread247, %179, % %.sroa.0205.0.copyload = load i64, ptr %28, align 8 %.sroa.4206.0..sroa_idx = getelementptr inbounds i8, ptr %28, i64 8 %.sroa.4206.0.copyload = load ptr, ptr %.sroa.4206.0..sroa_idx, align 8, !nonnull !5, !noundef !5 - %.sroa.5207.0..sroa_idx = getelementptr inbounds i8, ptr %28, i64 16 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(48) %16, ptr noundef nonnull align 8 dereferenceable(48) %.sroa.5207.0..sroa_idx, i64 48, i1 false) - %224 = getelementptr inbounds i8, ptr %16, i64 48 - store i64 %220, ptr %224, align 8, !noalias !187 - %225 = call noundef nonnull ptr @"_ZN9hashbrown3raw21RawTable$LT$T$C$A$GT$14insert_no_grow17h78ffb3c419127ee2E"(ptr noalias noundef nonnull align 8 dereferenceable(32) %.sroa.4206.0.copyload, i64 noundef %.sroa.0205.0.copyload, ptr noalias nocapture noundef nonnull align 8 dereferenceable(88) %16) + %224 = getelementptr inbounds i8, ptr %32, i64 16 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(48) %16, ptr noundef nonnull align 8 dereferenceable(48) %224, i64 48, i1 false) + %225 = getelementptr inbounds i8, ptr %16, i64 48 + store i64 %220, ptr %225, align 8, !noalias !187 + %226 = call noundef nonnull ptr @"_ZN9hashbrown3raw21RawTable$LT$T$C$A$GT$14insert_no_grow17h78ffb3c419127ee2E"(ptr noalias noundef nonnull align 8 dereferenceable(32) %.sroa.4206.0.copyload, i64 noundef %.sroa.0205.0.copyload, ptr noalias nocapture noundef nonnull align 8 dereferenceable(88) %16) call void @llvm.lifetime.end.p0(i64 88, ptr nonnull %16), !noalias !183 call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %28) call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %32) br label %200 .thread331: ; preds = %"_ZN4core3ptr50drop_in_place$LT$alloc..borrow..Cow$LT$str$GT$$GT$17h846ccf256aa61d6bE.exit108" - %226 = getelementptr inbounds i8, ptr %0, i64 8 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %226, ptr noundef nonnull align 8 dereferenceable(32) %222, i64 32, i1 false) + %227 = getelementptr inbounds i8, ptr %0, i64 8 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %227, ptr noundef nonnull align 8 dereferenceable(32) %222, i64 32, i1 false) store i64 -9223372036854775807, ptr %0, align 8 call void @"_ZN4core3ptr196drop_in_place$LT$std..collections..hash..map..VacantEntry$LT$diesel..connection..statement_cache..StatementCacheKey$LT$diesel..pg..backend..Pg$GT$$C$diesel..pg..connection..stmt..Statement$GT$$GT$17h43209f008a340513E"(ptr noalias noundef nonnull align 8 dereferenceable(64) %28) call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %28) br label %.critedge -227: ; preds = %"_ZN4core3ptr106drop_in_place$LT$diesel..connection..statement_cache..StatementCacheKey$LT$diesel..pg..backend..Pg$GT$$GT$17h78be3a10ff18fd1aE.exit", %200 +228: ; preds = %"_ZN4core3ptr106drop_in_place$LT$diesel..connection..statement_cache..StatementCacheKey$LT$diesel..pg..backend..Pg$GT$$GT$17h78be3a10ff18fd1aE.exit", %200 ret void -.critedge: ; preds = %242, %228, %.thread331 +.critedge: ; preds = %243, %229, %.thread331 call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %32) call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %.sroa.617) br label %"_ZN4core3ptr106drop_in_place$LT$diesel..connection..statement_cache..StatementCacheKey$LT$diesel..pg..backend..Pg$GT$$GT$17h78be3a10ff18fd1aE.exit" -228: ; preds = %.noexc94 - %229 = getelementptr inbounds i8, ptr %0, i64 8 - store i64 %192, ptr %229, align 8 +229: ; preds = %.noexc94 + %230 = getelementptr inbounds i8, ptr %0, i64 8 + store i64 %192, ptr %230, align 8 %.sroa.260.0..sroa_idx = getelementptr inbounds i8, ptr %0, i64 16 store i64 %.sroa.6151.8.copyload153, ptr %.sroa.260.0..sroa_idx, align 8 %.sroa.260.sroa.2.0..sroa.260.0..sroa_idx.sroa_idx = getelementptr inbounds i8, ptr %0, i64 24 @@ -958,42 +958,42 @@ common.resume: ; preds = %.thread247, %179, % tail call void @llvm.experimental.noalias.scope.decl(metadata !188) tail call void @llvm.experimental.noalias.scope.decl(metadata !191) tail call void @llvm.experimental.noalias.scope.decl(metadata !194) - %230 = load i64, ptr %186, align 8, !range !4, !alias.scope !197, !noundef !5 - %231 = icmp eq i64 %230, -9223372036854775808 - br i1 %231, label %.critedge, label %232 + %231 = load i64, ptr %186, align 8, !range !4, !alias.scope !197, !noundef !5 + %232 = icmp eq i64 %231, -9223372036854775808 + br i1 %232, label %.critedge, label %233 -232: ; preds = %228 +233: ; preds = %229 call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %15), !noalias !198 invoke void @"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$14current_memory17hb7fe87f7ea40ebd0E.llvm.8259769641146142029"(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(16) %185) - to label %.noexc.i.i.i unwind label %240 - -.noexc.i.i.i: ; preds = %232 - %233 = getelementptr inbounds i8, ptr %15, i64 8 - %234 = load i64, ptr %233, align 8, !range !4, !noalias !198, !noundef !5 - %.not.i.i.i.i.i.i.i = icmp eq i64 %234, 0 - br i1 %.not.i.i.i.i.i.i.i, label %242, label %235 - -235: ; preds = %.noexc.i.i.i - %236 = load ptr, ptr %15, align 8, !noalias !198, !nonnull !5, !noundef !5 - %237 = getelementptr inbounds i8, ptr %15, i64 16 - %238 = load i64, ptr %237, align 8, !noalias !198, !noundef !5 - %239 = getelementptr inbounds i8, ptr %32, i64 32 - invoke void @"_ZN63_$LT$alloc..alloc..Global$u20$as$u20$core..alloc..Allocator$GT$10deallocate17hae8e459b587c5295E.llvm.8259769641146142029"(ptr noalias noundef nonnull readonly align 1 %239, ptr noundef nonnull %236, i64 noundef %234, i64 noundef %238) - to label %242 unwind label %240 - -240: ; preds = %235, %232 - %241 = landingpad { ptr, i32 } + to label %.noexc.i.i.i unwind label %241 + +.noexc.i.i.i: ; preds = %233 + %234 = getelementptr inbounds i8, ptr %15, i64 8 + %235 = load i64, ptr %234, align 8, !range !4, !noalias !198, !noundef !5 + %.not.i.i.i.i.i.i.i = icmp eq i64 %235, 0 + br i1 %.not.i.i.i.i.i.i.i, label %243, label %236 + +236: ; preds = %.noexc.i.i.i + %237 = load ptr, ptr %15, align 8, !noalias !198, !nonnull !5, !noundef !5 + %238 = getelementptr inbounds i8, ptr %15, i64 16 + %239 = load i64, ptr %238, align 8, !noalias !198, !noundef !5 + %240 = getelementptr inbounds i8, ptr %32, i64 32 + invoke void @"_ZN63_$LT$alloc..alloc..Global$u20$as$u20$core..alloc..Allocator$GT$10deallocate17hae8e459b587c5295E.llvm.8259769641146142029"(ptr noalias noundef nonnull readonly align 1 %240, ptr noundef nonnull %237, i64 noundef %235, i64 noundef %239) + to label %243 unwind label %241 + +241: ; preds = %236, %233 + %242 = landingpad { ptr, i32 } cleanup invoke void @"_ZN4core3ptr79drop_in_place$LT$alloc..vec..Vec$LT$diesel..pg..backend..PgTypeMetadata$GT$$GT$17h78de19543a2a5efeE"(ptr noalias noundef nonnull align 8 dereferenceable(24) %186) #11 - to label %common.resume unwind label %243 + to label %common.resume unwind label %244 -242: ; preds = %235, %.noexc.i.i.i +243: ; preds = %236, %.noexc.i.i.i call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %15), !noalias !198 call void @"_ZN4core3ptr79drop_in_place$LT$alloc..vec..Vec$LT$diesel..pg..backend..PgTypeMetadata$GT$$GT$17h78de19543a2a5efeE"(ptr noalias noundef nonnull align 8 dereferenceable(24) %186) br label %.critedge -243: ; preds = %240 - %244 = landingpad { ptr, i32 } +244: ; preds = %241 + %245 = landingpad { ptr, i32 } filter [0 x ptr] zeroinitializer call void @_ZN4core9panicking16panic_in_cleanup17h55eb1d85cadde1a1E() #12 unreachable @@ -1003,47 +1003,47 @@ common.resume: ; preds = %.thread247, %179, % invoke void @"_ZN4core3ptr196drop_in_place$LT$std..collections..hash..map..VacantEntry$LT$diesel..connection..statement_cache..StatementCacheKey$LT$diesel..pg..backend..Pg$GT$$C$diesel..pg..connection..stmt..Statement$GT$$GT$17h43209f008a340513E"(ptr noalias noundef nonnull align 8 dereferenceable(64) %32) #11 to label %common.resume unwind label %164 -"_ZN4core3ptr106drop_in_place$LT$diesel..connection..statement_cache..StatementCacheKey$LT$diesel..pg..backend..Pg$GT$$GT$17h78be3a10ff18fd1aE.exit": ; preds = %257, %245, %.critedge, %115 +"_ZN4core3ptr106drop_in_place$LT$diesel..connection..statement_cache..StatementCacheKey$LT$diesel..pg..backend..Pg$GT$$GT$17h78be3a10ff18fd1aE.exit": ; preds = %258, %246, %.critedge, %115 call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %37) - br label %227 + br label %228 -245: ; preds = %124, %"_ZN4core3ptr50drop_in_place$LT$alloc..borrow..Cow$LT$str$GT$$GT$17h846ccf256aa61d6bE.exit" +246: ; preds = %124, %"_ZN4core3ptr50drop_in_place$LT$alloc..borrow..Cow$LT$str$GT$$GT$17h846ccf256aa61d6bE.exit" call void @llvm.experimental.noalias.scope.decl(metadata !207) - %246 = load i64, ptr %.sroa.5174.0..sroa_idx, align 8, !range !4, !alias.scope !207, !noundef !5 - %247 = icmp eq i64 %246, -9223372036854775808 - br i1 %247, label %"_ZN4core3ptr106drop_in_place$LT$diesel..connection..statement_cache..StatementCacheKey$LT$diesel..pg..backend..Pg$GT$$GT$17h78be3a10ff18fd1aE.exit", label %248 + %247 = load i64, ptr %.sroa.5174.0..sroa_idx, align 8, !range !4, !alias.scope !207, !noundef !5 + %248 = icmp eq i64 %247, -9223372036854775808 + br i1 %248, label %"_ZN4core3ptr106drop_in_place$LT$diesel..connection..statement_cache..StatementCacheKey$LT$diesel..pg..backend..Pg$GT$$GT$17h78be3a10ff18fd1aE.exit", label %249 -248: ; preds = %245 +249: ; preds = %246 call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %14), !noalias !210 invoke void @"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$14current_memory17hb7fe87f7ea40ebd0E.llvm.8259769641146142029"(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(16) %37) - to label %.noexc.i114 unwind label %255 - -.noexc.i114: ; preds = %248 - %249 = getelementptr inbounds i8, ptr %14, i64 8 - %250 = load i64, ptr %249, align 8, !range !4, !noalias !210, !noundef !5 - %.not.i.i.i.i.i115 = icmp eq i64 %250, 0 - br i1 %.not.i.i.i.i.i115, label %257, label %251 - -251: ; preds = %.noexc.i114 - %252 = load ptr, ptr %14, align 8, !noalias !210, !nonnull !5, !noundef !5 - %253 = getelementptr inbounds i8, ptr %14, i64 16 - %254 = load i64, ptr %253, align 8, !noalias !210, !noundef !5 - invoke void @"_ZN63_$LT$alloc..alloc..Global$u20$as$u20$core..alloc..Allocator$GT$10deallocate17hae8e459b587c5295E.llvm.8259769641146142029"(ptr noalias noundef nonnull readonly align 1 %.sroa.4173.0..sroa_idx, ptr noundef nonnull %252, i64 noundef %250, i64 noundef %254) - to label %257 unwind label %255 - -255: ; preds = %251, %248 - %256 = landingpad { ptr, i32 } + to label %.noexc.i114 unwind label %256 + +.noexc.i114: ; preds = %249 + %250 = getelementptr inbounds i8, ptr %14, i64 8 + %251 = load i64, ptr %250, align 8, !range !4, !noalias !210, !noundef !5 + %.not.i.i.i.i.i115 = icmp eq i64 %251, 0 + br i1 %.not.i.i.i.i.i115, label %258, label %252 + +252: ; preds = %.noexc.i114 + %253 = load ptr, ptr %14, align 8, !noalias !210, !nonnull !5, !noundef !5 + %254 = getelementptr inbounds i8, ptr %14, i64 16 + %255 = load i64, ptr %254, align 8, !noalias !210, !noundef !5 + invoke void @"_ZN63_$LT$alloc..alloc..Global$u20$as$u20$core..alloc..Allocator$GT$10deallocate17hae8e459b587c5295E.llvm.8259769641146142029"(ptr noalias noundef nonnull readonly align 1 %.sroa.4173.0..sroa_idx, ptr noundef nonnull %253, i64 noundef %251, i64 noundef %255) + to label %258 unwind label %256 + +256: ; preds = %252, %249 + %257 = landingpad { ptr, i32 } cleanup invoke void @"_ZN4core3ptr79drop_in_place$LT$alloc..vec..Vec$LT$diesel..pg..backend..PgTypeMetadata$GT$$GT$17h78de19543a2a5efeE"(ptr noalias noundef nonnull align 8 dereferenceable(24) %.sroa.5174.0..sroa_idx) #11 - to label %common.resume unwind label %258 + to label %common.resume unwind label %259 -257: ; preds = %251, %.noexc.i114 +258: ; preds = %252, %.noexc.i114 call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %14), !noalias !210 call void @"_ZN4core3ptr79drop_in_place$LT$alloc..vec..Vec$LT$diesel..pg..backend..PgTypeMetadata$GT$$GT$17h78de19543a2a5efeE"(ptr noalias noundef nonnull align 8 dereferenceable(24) %.sroa.5174.0..sroa_idx) br label %"_ZN4core3ptr106drop_in_place$LT$diesel..connection..statement_cache..StatementCacheKey$LT$diesel..pg..backend..Pg$GT$$GT$17h78be3a10ff18fd1aE.exit" -258: ; preds = %255 - %259 = landingpad { ptr, i32 } +259: ; preds = %256 + %260 = landingpad { ptr, i32 } filter [0 x ptr] zeroinitializer call void @_ZN4core9panicking16panic_in_cleanup17h55eb1d85cadde1a1E() #12 unreachable diff --git a/bench/diesel-rs/optimized/1du97ujnwx7r1m9g.ll b/bench/diesel-rs/optimized/1du97ujnwx7r1m9g.ll index eb7013d8225..4d8c275a67e 100644 --- a/bench/diesel-rs/optimized/1du97ujnwx7r1m9g.ll +++ b/bench/diesel-rs/optimized/1du97ujnwx7r1m9g.ll @@ -492,7 +492,7 @@ common.resume: ; preds = %.thread265, %95, %. %.sroa.3178.0..sroa_idx = getelementptr inbounds i8, ptr %0, i64 32 store i64 %.sroa.7.i.sroa.7.0.copyload230, ptr %.sroa.3178.0..sroa_idx, align 8 store i64 1, ptr %0, align 8 - br label %234 + br label %235 .thread273: ; preds = %51, %68, %173, %176 %lpad.thr_comm = landingpad { ptr, i32 } @@ -522,7 +522,7 @@ common.resume: ; preds = %.thread265, %95, %. %.sroa.346.0..sroa_idx = getelementptr inbounds i8, ptr %0, i64 17 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(23) %.sroa.346.0..sroa_idx, ptr noundef nonnull align 1 dereferenceable(23) %.sroa.346, i64 23, i1 false) store i64 1, ptr %0, align 8 - br label %235 + br label %236 65: ; preds = %61 call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %32) @@ -839,7 +839,7 @@ common.resume: ; preds = %.thread265, %95, %. "_ZN4core3ptr50drop_in_place$LT$alloc..borrow..Cow$LT$str$GT$$GT$17h5bb727039fdcf383E.exit": ; preds = %"_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17hb68f202d9af3d4ccE.exit.i", %168, %160 call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %32) - br label %235 + br label %236 180: ; preds = %.thread316, %.thread265, %205, %162 %181 = landingpad { ptr, i32 } @@ -900,7 +900,7 @@ common.resume: ; preds = %.thread265, %95, %. %.sroa.11156.8..sroa_idx158 = getelementptr inbounds i8, ptr %16, i64 24 %.sroa.11156.8.copyload159 = load i64, ptr %.sroa.11156.8..sroa_idx158, align 8, !alias.scope !226, !noalias !225 call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %16), !noalias !219 - br i1 %196, label %"_ZN6diesel10connection15statement_cache27StatementCacheKey$LT$DB$GT$3sql17h781f9179c8e487d9E.exit98.thread338", label %232 + br i1 %196, label %"_ZN6diesel10connection15statement_cache27StatementCacheKey$LT$DB$GT$3sql17h781f9179c8e487d9E.exit98.thread338", label %233 "_ZN6diesel10connection15statement_cache27StatementCacheKey$LT$DB$GT$3sql17h781f9179c8e487d9E.exit98.thread": ; preds = %188 %198 = getelementptr inbounds i8, ptr %29, i64 24 @@ -914,7 +914,7 @@ common.resume: ; preds = %.thread265, %95, %. br label %203 203: ; preds = %226, %202 - %.pn = phi ptr [ %228, %226 ], [ %129, %202 ] + %.pn = phi ptr [ %229, %226 ], [ %129, %202 ] %.067 = getelementptr inbounds i8, ptr %.pn, i64 -32 call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %.sroa.617.sroa.8) %204 = getelementptr inbounds i8, ptr %0, i64 8 @@ -923,7 +923,7 @@ common.resume: ; preds = %.thread265, %95, %. store ptr %.067, ptr %.sroa.433.0..sroa_idx, align 8 store i64 0, ptr %0, align 8 call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %34) - br label %231 + br label %232 .thread325: ; preds = %192, %217, %220 %lpad.thr_comm323 = landingpad { ptr, i32 } @@ -1007,34 +1007,34 @@ common.resume: ; preds = %.thread265, %95, %. %.sroa.0203.0.copyload = load i64, ptr %25, align 8 %.sroa.4204.0..sroa_idx = getelementptr inbounds i8, ptr %25, i64 8 %.sroa.4204.0.copyload = load ptr, ptr %.sroa.4204.0..sroa_idx, align 8, !nonnull !5, !noundef !5 - %.sroa.5205.0..sroa_idx = getelementptr inbounds i8, ptr %25, i64 16 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(48) %14, ptr noundef nonnull align 8 dereferenceable(48) %.sroa.5205.0..sroa_idx, i64 48, i1 false) - %228 = call noundef nonnull ptr @"_ZN9hashbrown3raw21RawTable$LT$T$C$A$GT$14insert_no_grow17hf8b390ff017fd1b5E"(ptr noalias noundef nonnull align 8 dereferenceable(32) %.sroa.4204.0.copyload, i64 noundef %.sroa.0203.0.copyload, ptr noalias nocapture noundef nonnull align 8 dereferenceable(80) %14) + %228 = getelementptr inbounds i8, ptr %29, i64 16 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(48) %14, ptr noundef nonnull align 8 dereferenceable(48) %228, i64 48, i1 false) + %229 = call noundef nonnull ptr @"_ZN9hashbrown3raw21RawTable$LT$T$C$A$GT$14insert_no_grow17hf8b390ff017fd1b5E"(ptr noalias noundef nonnull align 8 dereferenceable(32) %.sroa.4204.0.copyload, i64 noundef %.sroa.0203.0.copyload, ptr noalias nocapture noundef nonnull align 8 dereferenceable(80) %14) call void @llvm.lifetime.end.p0(i64 80, ptr nonnull %14), !noalias !239 call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %25) call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %29) br label %203 .thread356: ; preds = %"_ZN4core3ptr50drop_in_place$LT$alloc..borrow..Cow$LT$str$GT$$GT$17h5bb727039fdcf383E.exit111" - %229 = getelementptr inbounds i8, ptr %0, i64 8 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %229, ptr noundef nonnull align 8 dereferenceable(32) %225, i64 32, i1 false) + %230 = getelementptr inbounds i8, ptr %0, i64 8 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %230, ptr noundef nonnull align 8 dereferenceable(32) %225, i64 32, i1 false) store i64 1, ptr %0, align 8 - %230 = getelementptr inbounds i8, ptr %25, i64 16 - call void @"_ZN4core3ptr112drop_in_place$LT$diesel..connection..statement_cache..StatementCacheKey$LT$diesel..mysql..backend..Mysql$GT$$GT$17h4e4ce47c386659e7E.llvm.7178534242157706814"(ptr noalias noundef nonnull align 8 dereferenceable(48) %230) + %231 = getelementptr inbounds i8, ptr %25, i64 16 + call void @"_ZN4core3ptr112drop_in_place$LT$diesel..connection..statement_cache..StatementCacheKey$LT$diesel..mysql..backend..Mysql$GT$$GT$17h4e4ce47c386659e7E.llvm.7178534242157706814"(ptr noalias noundef nonnull align 8 dereferenceable(48) %231) call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %25) br label %.critedge -231: ; preds = %234, %203 +232: ; preds = %235, %203 ret void -.critedge: ; preds = %232, %.thread356 +.critedge: ; preds = %233, %.thread356 call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %29) call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %.sroa.617.sroa.8) - br label %234 + br label %235 -232: ; preds = %.noexc97 - %233 = getelementptr inbounds i8, ptr %0, i64 8 - store i64 %195, ptr %233, align 8 +233: ; preds = %.noexc97 + %234 = getelementptr inbounds i8, ptr %0, i64 8 + store i64 %195, ptr %234, align 8 %.sroa.258.0..sroa_idx = getelementptr inbounds i8, ptr %0, i64 16 store i64 %.sroa.6149.8.copyload151, ptr %.sroa.258.0..sroa_idx, align 8 %.sroa.258.sroa.2.0..sroa.258.0..sroa_idx.sroa_idx = getelementptr inbounds i8, ptr %0, i64 24 @@ -1051,13 +1051,13 @@ common.resume: ; preds = %.thread265, %95, %. invoke void @"_ZN4core3ptr112drop_in_place$LT$diesel..connection..statement_cache..StatementCacheKey$LT$diesel..mysql..backend..Mysql$GT$$GT$17h4e4ce47c386659e7E.llvm.7178534242157706814"(ptr noalias noundef nonnull align 8 dereferenceable(48) %.sroa.617.sroa.8.0..sroa_idx) to label %common.resume unwind label %180 -234: ; preds = %.critedge, %235, %54 +235: ; preds = %.critedge, %236, %54 call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %34) - br label %231 + br label %232 -235: ; preds = %63, %"_ZN4core3ptr50drop_in_place$LT$alloc..borrow..Cow$LT$str$GT$$GT$17h5bb727039fdcf383E.exit" +236: ; preds = %63, %"_ZN4core3ptr50drop_in_place$LT$alloc..borrow..Cow$LT$str$GT$$GT$17h5bb727039fdcf383E.exit" call fastcc void @"_ZN4core3ptr112drop_in_place$LT$diesel..connection..statement_cache..StatementCacheKey$LT$diesel..mysql..backend..Mysql$GT$$GT$17h4e4ce47c386659e7E"(ptr noalias noundef nonnull align 8 dereferenceable(48) %34) - br label %234 + br label %235 .thread265: ; preds = %162, %.thread273 %.pn77268 = phi { ptr, i32 } [ %lpad.thr_comm, %.thread273 ], [ %163, %162 ] diff --git a/bench/diesel-rs/optimized/1zq2bw66vbowdxik.ll b/bench/diesel-rs/optimized/1zq2bw66vbowdxik.ll index 4037258e3ad..6b2bed8a229 100644 --- a/bench/diesel-rs/optimized/1zq2bw66vbowdxik.ll +++ b/bench/diesel-rs/optimized/1zq2bw66vbowdxik.ll @@ -34,125 +34,123 @@ define void @_ZN13dsl_auto_type9auto_type25expression_type_inference21infer_expr %6 = alloca { { { i64, ptr }, i64 } }, align 8 %7 = alloca { i64, [28 x i64] }, align 8 %8 = alloca { i64, [2 x i64] }, align 8 - %9 = alloca { ptr, { i64, { { { i64, ptr }, i64 } } } }, align 8 - %10 = alloca { { i64, ptr }, i64 }, align 8 - %11 = alloca { ptr, i64, ptr, ptr, {}, { {} } }, align 8 - %12 = alloca { { ptr, i64, ptr, ptr, {}, { {} } }, {} }, align 8 - %13 = alloca { { i64, ptr }, i64 }, align 8 - %14 = alloca { i64, [28 x i64] }, align 8 - %15 = alloca { ptr, { i64, { { { i64, ptr }, i64 } } } }, align 8 - %16 = alloca { ptr, { { { { ptr, i64, i64, i64 }, {}, {} }, { i64, i64 } } } }, align 8 + %9 = alloca { { i64, ptr }, i64 }, align 8 + %10 = alloca { ptr, i64, ptr, ptr, {}, { {} } }, align 8 + %11 = alloca { { ptr, i64, ptr, ptr, {}, { {} } }, {} }, align 8 + %12 = alloca { { i64, ptr }, i64 }, align 8 + %13 = alloca { i64, [28 x i64] }, align 8 + %14 = alloca { ptr, { i64, { { { i64, ptr }, i64 } } } }, align 8 + %15 = alloca { ptr, { { { { ptr, i64, i64, i64 }, {}, {} }, { i64, i64 } } } }, align 8 call void @"_ZN3std6thread5local17LocalKey$LT$T$GT$8try_with17h0180d3786f5fdcd7E"(ptr nonnull sret({ i64, [2 x i64] }) align 8 %8, ptr nonnull align 8 @anon.19fac61c77b15ff8d2d74d1eb9669630.0) - %17 = call { i64, i64 } @"_ZN4core6result19Result$LT$T$C$E$GT$6expect17h60cd69a3992e783aE"(ptr nonnull align 8 %8, ptr nonnull align 1 @anon.19fac61c77b15ff8d2d74d1eb9669630.1, i64 70, ptr nonnull align 8 @anon.19fac61c77b15ff8d2d74d1eb9669630.3) - %18 = extractvalue { i64, i64 } %17, 0 - %19 = extractvalue { i64, i64 } %17, 1 - store ptr %3, ptr %16, align 8 - %20 = getelementptr inbounds i8, ptr %16, i64 8 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %20, ptr noundef nonnull align 8 dereferenceable(32) @anon.19fac61c77b15ff8d2d74d1eb9669630.5, i64 32, i1 false) - %.sroa.0.sroa.2.0..sroa_idx = getelementptr inbounds i8, ptr %16, i64 40 - store i64 %18, ptr %.sroa.0.sroa.2.0..sroa_idx, align 8 - %.sroa.0.sroa.3.0..sroa_idx = getelementptr inbounds i8, ptr %16, i64 48 - store i64 %19, ptr %.sroa.0.sroa.3.0..sroa_idx, align 8 - invoke void @"_ZN13dsl_auto_type9auto_type25expression_type_inference82_$LT$impl$u20$dsl_auto_type..auto_type..local_variables_map..LocalVariablesMap$GT$8inferrer17h94283985a7df7b37E"(ptr nonnull sret({ ptr, { i64, { { { i64, ptr }, i64 } } } }) align 8 %15, ptr nonnull align 8 %16) - to label %24 unwind label %22 - -21: ; preds = %37, %.thread, %22 - %.pn.pn = phi { ptr, i32 } [ %eh.lpad-body, %.thread ], [ %23, %22 ], [ %38, %37 ] - invoke void @"_ZN4core3ptr85drop_in_place$LT$dsl_auto_type..auto_type..local_variables_map..LocalVariablesMap$GT$17h7907afca92dbef78E"(ptr nonnull align 8 %16) #9 - to label %46 unwind label %44 - -22: ; preds = %4 - %23 = landingpad { ptr, i32 } + %16 = call { i64, i64 } @"_ZN4core6result19Result$LT$T$C$E$GT$6expect17h60cd69a3992e783aE"(ptr nonnull align 8 %8, ptr nonnull align 1 @anon.19fac61c77b15ff8d2d74d1eb9669630.1, i64 70, ptr nonnull align 8 @anon.19fac61c77b15ff8d2d74d1eb9669630.3) + %17 = extractvalue { i64, i64 } %16, 0 + %18 = extractvalue { i64, i64 } %16, 1 + store ptr %3, ptr %15, align 8 + %19 = getelementptr inbounds i8, ptr %15, i64 8 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %19, ptr noundef nonnull align 8 dereferenceable(32) @anon.19fac61c77b15ff8d2d74d1eb9669630.5, i64 32, i1 false) + %.sroa.0.sroa.2.0..sroa_idx = getelementptr inbounds i8, ptr %15, i64 40 + store i64 %17, ptr %.sroa.0.sroa.2.0..sroa_idx, align 8 + %.sroa.0.sroa.3.0..sroa_idx = getelementptr inbounds i8, ptr %15, i64 48 + store i64 %18, ptr %.sroa.0.sroa.3.0..sroa_idx, align 8 + invoke void @"_ZN13dsl_auto_type9auto_type25expression_type_inference82_$LT$impl$u20$dsl_auto_type..auto_type..local_variables_map..LocalVariablesMap$GT$8inferrer17h94283985a7df7b37E"(ptr nonnull sret({ ptr, { i64, { { { i64, ptr }, i64 } } } }) align 8 %14, ptr nonnull align 8 %15) + to label %23 unwind label %21 + +20: ; preds = %36, %.thread, %21 + %.pn.pn = phi { ptr, i32 } [ %eh.lpad-body, %.thread ], [ %22, %21 ], [ %37, %36 ] + invoke void @"_ZN4core3ptr85drop_in_place$LT$dsl_auto_type..auto_type..local_variables_map..LocalVariablesMap$GT$17h7907afca92dbef78E"(ptr nonnull align 8 %15) #9 + to label %45 unwind label %43 + +21: ; preds = %4 + %22 = landingpad { ptr, i32 } cleanup - br label %21 + br label %20 -24: ; preds = %4 +23: ; preds = %4 call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %5) call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %6) call void @llvm.lifetime.start.p0(i64 232, ptr nonnull %7) - invoke fastcc void @_ZN13dsl_auto_type9auto_type25expression_type_inference12TypeInferrer25try_infer_expression_type17h65e42f83cbb26053E(ptr noalias nonnull align 8 %7, ptr nonnull align 8 %15, ptr align 8 %1, ptr align 8 %2) #10 - to label %.noexc unwind label %35 + invoke fastcc void @_ZN13dsl_auto_type9auto_type25expression_type_inference12TypeInferrer25try_infer_expression_type17h65e42f83cbb26053E(ptr noalias nonnull align 8 %7, ptr nonnull align 8 %14, ptr align 8 %1, ptr align 8 %2) #10 + to label %.noexc unwind label %34 -.noexc: ; preds = %24 - %25 = load i64, ptr %7, align 8, !range !3, !noundef !4 - %.not.i = icmp eq i64 %25, 17 - br i1 %.not.i, label %27, label %26 +.noexc: ; preds = %23 + %24 = load i64, ptr %7, align 8, !range !3, !noundef !4 + %.not.i = icmp eq i64 %24, 17 + br i1 %.not.i, label %26, label %25 -26: ; preds = %.noexc - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(232) %14, ptr noundef nonnull align 8 dereferenceable(232) %7, i64 232, i1 false) - br label %39 +25: ; preds = %.noexc + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(232) %13, ptr noundef nonnull align 8 dereferenceable(232) %7, i64 232, i1 false) + br label %38 -27: ; preds = %.noexc - %28 = getelementptr inbounds i8, ptr %7, i64 8 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %6, ptr noundef nonnull align 8 dereferenceable(24) %28, i64 24, i1 false) +26: ; preds = %.noexc + %27 = getelementptr inbounds i8, ptr %7, i64 8 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %6, ptr noundef nonnull align 8 dereferenceable(24) %27, i64 24, i1 false) invoke void @_ZN5quote9to_tokens8ToTokens17into_token_stream17hdd0f5fb90e5ca17cE(ptr nonnull sret({ { i64, [3 x i64] }, { {} } }) align 8 %5, ptr align 8 %1) - to label %29 unwind label %32 + to label %28 unwind label %31 -29: ; preds = %27 - %30 = invoke i32 @_ZN5quote7spanned10join_spans17hb3248c53475767b1E(ptr nonnull align 8 %5) - to label %31 unwind label %32 +28: ; preds = %26 + %29 = invoke i32 @_ZN5quote7spanned10join_spans17hb3248c53475767b1E(ptr nonnull align 8 %5) + to label %30 unwind label %31 -31: ; preds = %29 - invoke void @_ZN13dsl_auto_type9auto_type25expression_type_inference12TypeInferrer14register_error17hc8d4db963ff7b04dE(ptr nonnull sret({ i64, [28 x i64] }) align 8 %14, ptr nonnull align 8 %15, ptr nonnull align 8 %6, i32 %30) - to label %39 unwind label %35 +30: ; preds = %28 + invoke void @_ZN13dsl_auto_type9auto_type25expression_type_inference12TypeInferrer14register_error17hc8d4db963ff7b04dE(ptr nonnull sret({ i64, [28 x i64] }) align 8 %13, ptr nonnull align 8 %14, ptr nonnull align 8 %6, i32 %29) + to label %38 unwind label %34 -32: ; preds = %29, %27 +31: ; preds = %28, %26 %lpad.thr_comm.i = landingpad { ptr, i32 } cleanup invoke void @"_ZN4core3ptr38drop_in_place$LT$syn..error..Error$GT$17hab1abc2346f673abE"(ptr nonnull align 8 %6) #9 - to label %.thread unwind label %33 + to label %.thread unwind label %32 -33: ; preds = %32 - %34 = landingpad { ptr, i32 } +32: ; preds = %31 + %33 = landingpad { ptr, i32 } filter [0 x ptr] zeroinitializer call void @_ZN4core9panicking16panic_in_cleanup17h55eb1d85cadde1a1E() #11 unreachable -35: ; preds = %31, %24 - %36 = landingpad { ptr, i32 } +34: ; preds = %30, %23 + %35 = landingpad { ptr, i32 } cleanup br label %.thread -37: ; preds = %41, %39 - %38 = landingpad { ptr, i32 } +36: ; preds = %40, %38 + %37 = landingpad { ptr, i32 } cleanup - invoke void @"_ZN4core3ptr34drop_in_place$LT$syn..ty..Type$GT$17hbaa7b74a29f0e1f7E"(ptr nonnull align 8 %14) #9 - to label %21 unwind label %44 + invoke void @"_ZN4core3ptr34drop_in_place$LT$syn..ty..Type$GT$17hbaa7b74a29f0e1f7E"(ptr nonnull align 8 %13) #9 + to label %20 unwind label %43 -39: ; preds = %31, %26 +38: ; preds = %30, %25 call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %5) call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %6) call void @llvm.lifetime.end.p0(i64 232, ptr nonnull %7) - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %9, ptr noundef nonnull align 8 dereferenceable(40) %15, i64 40, i1 false) - %40 = getelementptr inbounds i8, ptr %9, i64 16 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %10, ptr noundef nonnull align 8 dereferenceable(24) %40, i64 24, i1 false) - invoke void @"_ZN90_$LT$alloc..vec..Vec$LT$T$C$A$GT$$u20$as$u20$core..iter..traits..collect..IntoIterator$GT$9into_iter17hf7ac3418a3ace438E"(ptr nonnull sret({ ptr, i64, ptr, ptr, {}, { {} } }) align 8 %11, ptr nonnull align 8 %10) - to label %41 unwind label %37 - -41: ; preds = %39 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %12, ptr noundef nonnull align 8 dereferenceable(32) %11, i64 32, i1 false) - invoke void @"_ZN5alloc3vec16in_place_collect108_$LT$impl$u20$alloc..vec..spec_from_iter..SpecFromIter$LT$T$C$I$GT$$u20$for$u20$alloc..vec..Vec$LT$T$GT$$GT$9from_iter17h7b13590c4673df78E"(ptr nonnull sret({ { i64, ptr }, i64 }) align 8 %13, ptr nonnull align 8 %12) - to label %42 unwind label %37 - -42: ; preds = %41 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(232) %0, ptr noundef nonnull align 8 dereferenceable(232) %14, i64 232, i1 false) - %43 = getelementptr inbounds i8, ptr %0, i64 232 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %43, ptr noundef nonnull align 8 dereferenceable(24) %13, i64 24, i1 false) - call void @"_ZN4core3ptr85drop_in_place$LT$dsl_auto_type..auto_type..local_variables_map..LocalVariablesMap$GT$17h7907afca92dbef78E"(ptr nonnull align 8 %16) + %39 = getelementptr inbounds i8, ptr %14, i64 16 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %9, ptr noundef nonnull align 8 dereferenceable(24) %39, i64 24, i1 false) + invoke void @"_ZN90_$LT$alloc..vec..Vec$LT$T$C$A$GT$$u20$as$u20$core..iter..traits..collect..IntoIterator$GT$9into_iter17hf7ac3418a3ace438E"(ptr nonnull sret({ ptr, i64, ptr, ptr, {}, { {} } }) align 8 %10, ptr nonnull align 8 %9) + to label %40 unwind label %36 + +40: ; preds = %38 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %11, ptr noundef nonnull align 8 dereferenceable(32) %10, i64 32, i1 false) + invoke void @"_ZN5alloc3vec16in_place_collect108_$LT$impl$u20$alloc..vec..spec_from_iter..SpecFromIter$LT$T$C$I$GT$$u20$for$u20$alloc..vec..Vec$LT$T$GT$$GT$9from_iter17h7b13590c4673df78E"(ptr nonnull sret({ { i64, ptr }, i64 }) align 8 %12, ptr nonnull align 8 %11) + to label %41 unwind label %36 + +41: ; preds = %40 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(232) %0, ptr noundef nonnull align 8 dereferenceable(232) %13, i64 232, i1 false) + %42 = getelementptr inbounds i8, ptr %0, i64 232 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %42, ptr noundef nonnull align 8 dereferenceable(24) %12, i64 24, i1 false) + call void @"_ZN4core3ptr85drop_in_place$LT$dsl_auto_type..auto_type..local_variables_map..LocalVariablesMap$GT$17h7907afca92dbef78E"(ptr nonnull align 8 %15) ret void -44: ; preds = %.thread, %37, %21 - %45 = landingpad { ptr, i32 } +43: ; preds = %.thread, %36, %20 + %44 = landingpad { ptr, i32 } filter [0 x ptr] zeroinitializer call void @_ZN4core9panicking16panic_in_cleanup17h55eb1d85cadde1a1E() #11 unreachable -.thread: ; preds = %32, %35 - %eh.lpad-body = phi { ptr, i32 } [ %36, %35 ], [ %lpad.thr_comm.i, %32 ] - invoke void @"_ZN4core3ptr86drop_in_place$LT$dsl_auto_type..auto_type..expression_type_inference..TypeInferrer$GT$17hb1d990003e3b3defE"(ptr nonnull align 8 %15) #9 - to label %21 unwind label %44 +.thread: ; preds = %31, %34 + %eh.lpad-body = phi { ptr, i32 } [ %35, %34 ], [ %lpad.thr_comm.i, %31 ] + invoke void @"_ZN4core3ptr86drop_in_place$LT$dsl_auto_type..auto_type..expression_type_inference..TypeInferrer$GT$17hb1d990003e3b3defE"(ptr nonnull align 8 %14) #9 + to label %20 unwind label %43 -46: ; preds = %21 +45: ; preds = %20 resume { ptr, i32 } %.pn.pn } diff --git a/bench/diesel-rs/optimized/2aaaymiv4007exkf.ll b/bench/diesel-rs/optimized/2aaaymiv4007exkf.ll index a6df41e425f..5b243f70f36 100644 --- a/bench/diesel-rs/optimized/2aaaymiv4007exkf.ll +++ b/bench/diesel-rs/optimized/2aaaymiv4007exkf.ll @@ -701,7 +701,7 @@ common.resume: ; preds = %.thread252, %.threa store i64 %.sroa.7.i.sroa.6.0.copyload214, ptr %.sroa.2.0..sroa_idx, align 8 %.sroa.3183.0..sroa_idx = getelementptr inbounds i8, ptr %0, i64 24 store i64 %.sroa.7.i.sroa.7.0.copyload218, ptr %.sroa.3183.0..sroa_idx, align 8 - br label %157 + br label %158 .thread257: ; preds = %49, %64, %93, %96 %lpad.thr_comm = landingpad { ptr, i32 } @@ -729,7 +729,7 @@ common.resume: ; preds = %.thread252, %.threa store i8 %57, ptr %.sroa.250.0..sroa_idx, align 8 %.sroa.351.0..sroa_idx = getelementptr inbounds i8, ptr %0, i64 9 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(23) %.sroa.351.0..sroa_idx, ptr noundef nonnull align 1 dereferenceable(23) %.sroa.351, i64 23, i1 false) - br label %158 + br label %159 61: ; preds = %58 call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %30) @@ -861,7 +861,7 @@ common.resume: ; preds = %.thread252, %.threa "_ZN4core3ptr50drop_in_place$LT$alloc..borrow..Cow$LT$str$GT$$GT$17h8ba56ae15e844b34E.exit": ; preds = %"_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17h745f72f504a84dbbE.exit.i", %"_ZN4core6result19Result$LT$T$C$E$GT$3map17h2f630c8104545ec0E.exit", %76 call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %30) - br label %158 + br label %159 100: ; preds = %.thread289, %.thread252, %128, %77 %101 = landingpad { ptr, i32 } @@ -912,7 +912,7 @@ common.resume: ; preds = %.thread252, %.threa %.sroa.11161.8..sroa_idx163 = getelementptr inbounds i8, ptr %16, i64 24 %.sroa.11161.8.copyload164 = load i64, ptr %.sroa.11161.8..sroa_idx163, align 8, !alias.scope !128, !noalias !127 call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %16), !noalias !121 - br i1 %118, label %"_ZN6diesel10connection15statement_cache27StatementCacheKey$LT$DB$GT$3sql17h92acd22e70544d2dE.exit103.thread311", label %156 + br i1 %118, label %"_ZN6diesel10connection15statement_cache27StatementCacheKey$LT$DB$GT$3sql17h92acd22e70544d2dE.exit103.thread311", label %157 "_ZN6diesel10connection15statement_cache27StatementCacheKey$LT$DB$GT$3sql17h92acd22e70544d2dE.exit103.thread": ; preds = %109 %120 = getelementptr inbounds i8, ptr %27, i64 24 @@ -926,7 +926,7 @@ common.resume: ; preds = %.thread252, %.threa br label %125 125: ; preds = %151, %124 - %.pn = phi ptr [ %153, %151 ], [ %103, %124 ] + %.pn = phi ptr [ %154, %151 ], [ %103, %124 ] %.080 = getelementptr inbounds i8, ptr %.pn, i64 -8 call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %.sroa.617) %126 = getelementptr inbounds i8, ptr %0, i64 8 @@ -935,7 +935,7 @@ common.resume: ; preds = %.thread252, %.threa store ptr %.080, ptr %127, align 8 store i64 -9223372036854775798, ptr %0, align 8 call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %32) - br label %155 + br label %156 .thread298: ; preds = %114, %140, %143 %lpad.thr_comm296 = landingpad { ptr, i32 } @@ -1017,12 +1017,12 @@ common.resume: ; preds = %.thread252, %.threa %.sroa.0208.0.copyload = load i64, ptr %23, align 8 %.sroa.4209.0..sroa_idx = getelementptr inbounds i8, ptr %23, i64 8 %.sroa.4209.0.copyload = load ptr, ptr %.sroa.4209.0..sroa_idx, align 8, !nonnull !4, !noundef !4 - %.sroa.5210.0..sroa_idx = getelementptr inbounds i8, ptr %23, i64 16 + %152 = getelementptr inbounds i8, ptr %27, i64 16 call void @llvm.lifetime.start.p0(i64 56, ptr nonnull %14), !noalias !141 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(48) %14, ptr noundef nonnull align 8 dereferenceable(48) %.sroa.5210.0..sroa_idx, i64 48, i1 false) - %152 = getelementptr inbounds i8, ptr %14, i64 48 - store ptr %150, ptr %152, align 8, !noalias !141 - %153 = call noundef nonnull ptr @"_ZN9hashbrown3raw21RawTable$LT$T$C$A$GT$14insert_no_grow17h583c91e1d6030d22E"(ptr noalias noundef nonnull align 8 dereferenceable(32) %.sroa.4209.0.copyload, i64 noundef %.sroa.0208.0.copyload, ptr noalias nocapture noundef nonnull align 8 dereferenceable(56) %14) + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(48) %14, ptr noundef nonnull align 8 dereferenceable(48) %152, i64 48, i1 false) + %153 = getelementptr inbounds i8, ptr %14, i64 48 + store ptr %150, ptr %153, align 8, !noalias !141 + %154 = call noundef nonnull ptr @"_ZN9hashbrown3raw21RawTable$LT$T$C$A$GT$14insert_no_grow17h583c91e1d6030d22E"(ptr noalias noundef nonnull align 8 dereferenceable(32) %.sroa.4209.0.copyload, i64 noundef %.sroa.0208.0.copyload, ptr noalias nocapture noundef nonnull align 8 dereferenceable(56) %14) call void @llvm.lifetime.end.p0(i64 56, ptr nonnull %14), !noalias !141 call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %23) call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %27) @@ -1035,20 +1035,20 @@ common.resume: ; preds = %.thread252, %.threa store ptr %150, ptr %.sroa.271.0..sroa_idx, align 8 %.sroa.372.0..sroa_idx = getelementptr inbounds i8, ptr %0, i64 16 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %.sroa.372.0..sroa_idx, ptr noundef nonnull align 8 dereferenceable(16) %.sroa.569.0..sroa_idx, i64 16, i1 false) - %154 = getelementptr inbounds i8, ptr %23, i64 16 - call void @"_ZN4core3ptr114drop_in_place$LT$diesel..connection..statement_cache..StatementCacheKey$LT$diesel..sqlite..backend..Sqlite$GT$$GT$17h85c101e77dbaa239E.llvm.15067062799476971826"(ptr noalias noundef nonnull align 8 dereferenceable(48) %154) + %155 = getelementptr inbounds i8, ptr %23, i64 16 + call void @"_ZN4core3ptr114drop_in_place$LT$diesel..connection..statement_cache..StatementCacheKey$LT$diesel..sqlite..backend..Sqlite$GT$$GT$17h85c101e77dbaa239E.llvm.15067062799476971826"(ptr noalias noundef nonnull align 8 dereferenceable(48) %155) call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %23) br label %.critedge -155: ; preds = %157, %125 +156: ; preds = %158, %125 ret void -.critedge: ; preds = %156, %.thread332 +.critedge: ; preds = %157, %.thread332 call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %27) call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %.sroa.617) - br label %157 + br label %158 -156: ; preds = %.noexc102 +157: ; preds = %.noexc102 store i64 %117, ptr %0, align 8 %.sroa.263.0..sroa_idx = getelementptr inbounds i8, ptr %0, i64 8 store i64 %.sroa.6154.8.copyload156, ptr %.sroa.263.0..sroa_idx, align 8 @@ -1065,13 +1065,13 @@ common.resume: ; preds = %.thread252, %.threa invoke void @"_ZN4core3ptr114drop_in_place$LT$diesel..connection..statement_cache..StatementCacheKey$LT$diesel..sqlite..backend..Sqlite$GT$$GT$17h85c101e77dbaa239E.llvm.15067062799476971826"(ptr noalias noundef nonnull align 8 dereferenceable(48) %110) to label %common.resume unwind label %100 -157: ; preds = %.critedge, %158, %52 +158: ; preds = %.critedge, %159, %52 call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %32) - br label %155 + br label %156 -158: ; preds = %60, %"_ZN4core3ptr50drop_in_place$LT$alloc..borrow..Cow$LT$str$GT$$GT$17h8ba56ae15e844b34E.exit" +159: ; preds = %60, %"_ZN4core3ptr50drop_in_place$LT$alloc..borrow..Cow$LT$str$GT$$GT$17h8ba56ae15e844b34E.exit" call fastcc void @"_ZN4core3ptr114drop_in_place$LT$diesel..connection..statement_cache..StatementCacheKey$LT$diesel..sqlite..backend..Sqlite$GT$$GT$17h85c101e77dbaa239E"(ptr noalias noundef nonnull align 8 dereferenceable(48) %32) - br label %157 + br label %158 .thread252: ; preds = %77, %.thread257 %.pn.pn255 = phi { ptr, i32 } [ %lpad.thr_comm, %.thread257 ], [ %78, %77 ] diff --git a/bench/diesel-rs/optimized/2gwia6lwj254vbd7.ll b/bench/diesel-rs/optimized/2gwia6lwj254vbd7.ll index f22c7dc569a..f04c513013f 100644 --- a/bench/diesel-rs/optimized/2gwia6lwj254vbd7.ll +++ b/bench/diesel-rs/optimized/2gwia6lwj254vbd7.ll @@ -1611,8 +1611,8 @@ define hidden void @"_ZN6diesel10connection15statement_cache36StatementCache$LT$ call void @_ZN4core9panicking16panic_in_cleanup17h55eb1d85cadde1a1E() #31, !noalias !238 unreachable -common.resume: ; preds = %.thread247, %140, %201, %.thread290, %216, %.body.i - %common.resume.op = phi { ptr, i32 } [ %eh.lpad-body.i, %.body.i ], [ %217, %216 ], [ %.pn80250, %.thread247 ], [ %141, %140 ], [ %202, %201 ], [ %.pn294, %.thread290 ] +common.resume: ; preds = %.thread247, %140, %202, %.thread290, %217, %.body.i + %common.resume.op = phi { ptr, i32 } [ %eh.lpad-body.i, %.body.i ], [ %218, %217 ], [ %.pn80250, %.thread247 ], [ %141, %140 ], [ %203, %202 ], [ %.pn294, %.thread290 ] resume { ptr, i32 } %common.resume.op 73: ; preds = %13, %.loopexit.i @@ -1681,7 +1681,7 @@ common.resume: ; preds = %.thread247, %140, % %.sroa.348.0..sroa_idx = getelementptr inbounds i8, ptr %0, i64 17 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(23) %.sroa.348.0..sroa_idx, ptr noundef nonnull align 1 dereferenceable(23) %.sroa.348, i64 23, i1 false) store i64 -9223372036854775807, ptr %0, align 8 - br label %206 + br label %207 87: ; preds = %83 call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %34) @@ -1812,7 +1812,7 @@ common.resume: ; preds = %.thread247, %140, % "_ZN4core3ptr50drop_in_place$LT$alloc..borrow..Cow$LT$str$GT$$GT$17h95e2ed430b2543a7E.exit": ; preds = %"_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17hb50398bb251d6c3eE.exit.i", %"_ZN4core6result19Result$LT$T$C$E$GT$3map17h931ddcbb8fe44be0E.exit", %102 call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %34) - br label %206 + br label %207 125: ; preds = %.thread247, %.thread290, %162, %104 %126 = landingpad { ptr, i32 } @@ -1898,7 +1898,7 @@ common.resume: ; preds = %.thread247, %140, % %.sroa.11158.8..sroa_idx160 = getelementptr inbounds i8, ptr %18, i64 24 %.sroa.11158.8.copyload161 = load i64, ptr %.sroa.11158.8..sroa_idx160, align 8, !alias.scope !309, !noalias !308 call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %18), !noalias !302 - br i1 %154, label %"_ZN6diesel10connection15statement_cache27StatementCacheKey$LT$DB$GT$3sql17h61f34af3be97ba02E.exit95.thread312", label %189 + br i1 %154, label %"_ZN6diesel10connection15statement_cache27StatementCacheKey$LT$DB$GT$3sql17h61f34af3be97ba02E.exit95.thread312", label %190 "_ZN6diesel10connection15statement_cache27StatementCacheKey$LT$DB$GT$3sql17h61f34af3be97ba02E.exit95.thread": ; preds = %145 %156 = getelementptr inbounds i8, ptr %31, i64 24 @@ -1912,14 +1912,14 @@ common.resume: ; preds = %.thread247, %140, % br label %161 161: ; preds = %184, %160 - %.pn = phi ptr [ %186, %184 ], [ %128, %160 ] + %.pn = phi ptr [ %187, %184 ], [ %128, %160 ] %.071 = getelementptr inbounds i8, ptr %.pn, i64 -40 call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %.sroa.617) store i64 -9223372036854775808, ptr %0, align 8 %.sroa.435.0..sroa_idx = getelementptr inbounds i8, ptr %0, i64 8 store ptr %.071, ptr %.sroa.435.0..sroa_idx, align 8 call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %36) - br label %188 + br label %189 .thread299: ; preds = %150, %174, %177 %lpad.thr_comm297 = landingpad { ptr, i32 } @@ -2003,35 +2003,35 @@ common.resume: ; preds = %.thread247, %140, % %.sroa.0205.0.copyload = load i64, ptr %27, align 8 %.sroa.4206.0..sroa_idx = getelementptr inbounds i8, ptr %27, i64 8 %.sroa.4206.0.copyload = load ptr, ptr %.sroa.4206.0..sroa_idx, align 8, !nonnull !4, !noundef !4 - %.sroa.5207.0..sroa_idx = getelementptr inbounds i8, ptr %27, i64 16 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(48) %16, ptr noundef nonnull align 8 dereferenceable(48) %.sroa.5207.0..sroa_idx, i64 48, i1 false) - %185 = getelementptr inbounds i8, ptr %16, i64 48 - store i64 %181, ptr %185, align 8, !noalias !326 - %186 = call noundef nonnull ptr @"_ZN9hashbrown3raw21RawTable$LT$T$C$A$GT$14insert_no_grow17h4852ee1c0a5fddebE"(ptr noalias noundef nonnull align 8 dereferenceable(32) %.sroa.4206.0.copyload, i64 noundef %.sroa.0205.0.copyload, ptr noalias nocapture noundef nonnull align 8 dereferenceable(88) %16) + %185 = getelementptr inbounds i8, ptr %31, i64 16 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(48) %16, ptr noundef nonnull align 8 dereferenceable(48) %185, i64 48, i1 false) + %186 = getelementptr inbounds i8, ptr %16, i64 48 + store i64 %181, ptr %186, align 8, !noalias !326 + %187 = call noundef nonnull ptr @"_ZN9hashbrown3raw21RawTable$LT$T$C$A$GT$14insert_no_grow17h4852ee1c0a5fddebE"(ptr noalias noundef nonnull align 8 dereferenceable(32) %.sroa.4206.0.copyload, i64 noundef %.sroa.0205.0.copyload, ptr noalias nocapture noundef nonnull align 8 dereferenceable(88) %16) call void @llvm.lifetime.end.p0(i64 88, ptr nonnull %16), !noalias !322 call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %27) call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %31) br label %161 .thread331: ; preds = %"_ZN4core3ptr50drop_in_place$LT$alloc..borrow..Cow$LT$str$GT$$GT$17h95e2ed430b2543a7E.exit108" - %187 = getelementptr inbounds i8, ptr %0, i64 8 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %187, ptr noundef nonnull align 8 dereferenceable(32) %183, i64 32, i1 false) + %188 = getelementptr inbounds i8, ptr %0, i64 8 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %188, ptr noundef nonnull align 8 dereferenceable(32) %183, i64 32, i1 false) store i64 -9223372036854775807, ptr %0, align 8 call void @"_ZN4core3ptr196drop_in_place$LT$std..collections..hash..map..VacantEntry$LT$diesel..connection..statement_cache..StatementCacheKey$LT$diesel..pg..backend..Pg$GT$$C$diesel..pg..connection..stmt..Statement$GT$$GT$17h206853e7ea637ffcE"(ptr noalias noundef nonnull align 8 dereferenceable(64) %27) call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %27) br label %.critedge -188: ; preds = %"_ZN4core3ptr106drop_in_place$LT$diesel..connection..statement_cache..StatementCacheKey$LT$diesel..pg..backend..Pg$GT$$GT$17h6335f7e81e95f6faE.exit", %161 +189: ; preds = %"_ZN4core3ptr106drop_in_place$LT$diesel..connection..statement_cache..StatementCacheKey$LT$diesel..pg..backend..Pg$GT$$GT$17h6335f7e81e95f6faE.exit", %161 ret void -.critedge: ; preds = %203, %189, %.thread331 +.critedge: ; preds = %204, %190, %.thread331 call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %31) call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %.sroa.617) br label %"_ZN4core3ptr106drop_in_place$LT$diesel..connection..statement_cache..StatementCacheKey$LT$diesel..pg..backend..Pg$GT$$GT$17h6335f7e81e95f6faE.exit" -189: ; preds = %.noexc94 - %190 = getelementptr inbounds i8, ptr %0, i64 8 - store i64 %153, ptr %190, align 8 +190: ; preds = %.noexc94 + %191 = getelementptr inbounds i8, ptr %0, i64 8 + store i64 %153, ptr %191, align 8 %.sroa.260.0..sroa_idx = getelementptr inbounds i8, ptr %0, i64 16 store i64 %.sroa.6151.8.copyload153, ptr %.sroa.260.0..sroa_idx, align 8 %.sroa.260.sroa.2.0..sroa.260.0..sroa_idx.sroa_idx = getelementptr inbounds i8, ptr %0, i64 24 @@ -2043,42 +2043,42 @@ common.resume: ; preds = %.thread247, %140, % tail call void @llvm.experimental.noalias.scope.decl(metadata !327) tail call void @llvm.experimental.noalias.scope.decl(metadata !330) tail call void @llvm.experimental.noalias.scope.decl(metadata !333) - %191 = load i64, ptr %147, align 8, !range !26, !alias.scope !336, !noundef !4 - %192 = icmp eq i64 %191, -9223372036854775808 - br i1 %192, label %.critedge, label %193 + %192 = load i64, ptr %147, align 8, !range !26, !alias.scope !336, !noundef !4 + %193 = icmp eq i64 %192, -9223372036854775808 + br i1 %193, label %.critedge, label %194 -193: ; preds = %189 +194: ; preds = %190 call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %15), !noalias !337 invoke void @"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$14current_memory17h93be30890cadd9e8E.llvm.2909037117879540835"(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(16) %146) - to label %.noexc.i.i.i unwind label %201 - -.noexc.i.i.i: ; preds = %193 - %194 = getelementptr inbounds i8, ptr %15, i64 8 - %195 = load i64, ptr %194, align 8, !range !26, !noalias !337, !noundef !4 - %.not.i.i.i.i.i.i.i = icmp eq i64 %195, 0 - br i1 %.not.i.i.i.i.i.i.i, label %203, label %196 - -196: ; preds = %.noexc.i.i.i - %197 = load ptr, ptr %15, align 8, !noalias !337, !nonnull !4, !noundef !4 - %198 = getelementptr inbounds i8, ptr %15, i64 16 - %199 = load i64, ptr %198, align 8, !noalias !337, !noundef !4 - %200 = getelementptr inbounds i8, ptr %31, i64 32 - invoke void @"_ZN63_$LT$alloc..alloc..Global$u20$as$u20$core..alloc..Allocator$GT$10deallocate17hae8e459b587c5295E.llvm.2909037117879540835"(ptr noalias noundef nonnull readonly align 1 %200, ptr noundef nonnull %197, i64 noundef %195, i64 noundef %199) - to label %203 unwind label %201 - -201: ; preds = %196, %193 - %202 = landingpad { ptr, i32 } + to label %.noexc.i.i.i unwind label %202 + +.noexc.i.i.i: ; preds = %194 + %195 = getelementptr inbounds i8, ptr %15, i64 8 + %196 = load i64, ptr %195, align 8, !range !26, !noalias !337, !noundef !4 + %.not.i.i.i.i.i.i.i = icmp eq i64 %196, 0 + br i1 %.not.i.i.i.i.i.i.i, label %204, label %197 + +197: ; preds = %.noexc.i.i.i + %198 = load ptr, ptr %15, align 8, !noalias !337, !nonnull !4, !noundef !4 + %199 = getelementptr inbounds i8, ptr %15, i64 16 + %200 = load i64, ptr %199, align 8, !noalias !337, !noundef !4 + %201 = getelementptr inbounds i8, ptr %31, i64 32 + invoke void @"_ZN63_$LT$alloc..alloc..Global$u20$as$u20$core..alloc..Allocator$GT$10deallocate17hae8e459b587c5295E.llvm.2909037117879540835"(ptr noalias noundef nonnull readonly align 1 %201, ptr noundef nonnull %198, i64 noundef %196, i64 noundef %200) + to label %204 unwind label %202 + +202: ; preds = %197, %194 + %203 = landingpad { ptr, i32 } cleanup invoke void @"_ZN4core3ptr79drop_in_place$LT$alloc..vec..Vec$LT$diesel..pg..backend..PgTypeMetadata$GT$$GT$17hdf1e64787cfa794eE"(ptr noalias noundef nonnull align 8 dereferenceable(24) %147) #30 - to label %common.resume unwind label %204 + to label %common.resume unwind label %205 -203: ; preds = %196, %.noexc.i.i.i +204: ; preds = %197, %.noexc.i.i.i call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %15), !noalias !337 call void @"_ZN4core3ptr79drop_in_place$LT$alloc..vec..Vec$LT$diesel..pg..backend..PgTypeMetadata$GT$$GT$17hdf1e64787cfa794eE"(ptr noalias noundef nonnull align 8 dereferenceable(24) %147) br label %.critedge -204: ; preds = %201 - %205 = landingpad { ptr, i32 } +205: ; preds = %202 + %206 = landingpad { ptr, i32 } filter [0 x ptr] zeroinitializer call void @_ZN4core9panicking16panic_in_cleanup17h55eb1d85cadde1a1E() #31 unreachable @@ -2088,47 +2088,47 @@ common.resume: ; preds = %.thread247, %140, % invoke void @"_ZN4core3ptr196drop_in_place$LT$std..collections..hash..map..VacantEntry$LT$diesel..connection..statement_cache..StatementCacheKey$LT$diesel..pg..backend..Pg$GT$$C$diesel..pg..connection..stmt..Statement$GT$$GT$17h206853e7ea637ffcE"(ptr noalias noundef nonnull align 8 dereferenceable(64) %31) #30 to label %common.resume unwind label %125 -"_ZN4core3ptr106drop_in_place$LT$diesel..connection..statement_cache..StatementCacheKey$LT$diesel..pg..backend..Pg$GT$$GT$17h6335f7e81e95f6faE.exit": ; preds = %218, %206, %.critedge, %76 +"_ZN4core3ptr106drop_in_place$LT$diesel..connection..statement_cache..StatementCacheKey$LT$diesel..pg..backend..Pg$GT$$GT$17h6335f7e81e95f6faE.exit": ; preds = %219, %207, %.critedge, %76 call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %36) - br label %188 + br label %189 -206: ; preds = %85, %"_ZN4core3ptr50drop_in_place$LT$alloc..borrow..Cow$LT$str$GT$$GT$17h95e2ed430b2543a7E.exit" +207: ; preds = %85, %"_ZN4core3ptr50drop_in_place$LT$alloc..borrow..Cow$LT$str$GT$$GT$17h95e2ed430b2543a7E.exit" call void @llvm.experimental.noalias.scope.decl(metadata !346) - %207 = load i64, ptr %.sroa.5174.0..sroa_idx, align 8, !range !26, !alias.scope !346, !noundef !4 - %208 = icmp eq i64 %207, -9223372036854775808 - br i1 %208, label %"_ZN4core3ptr106drop_in_place$LT$diesel..connection..statement_cache..StatementCacheKey$LT$diesel..pg..backend..Pg$GT$$GT$17h6335f7e81e95f6faE.exit", label %209 + %208 = load i64, ptr %.sroa.5174.0..sroa_idx, align 8, !range !26, !alias.scope !346, !noundef !4 + %209 = icmp eq i64 %208, -9223372036854775808 + br i1 %209, label %"_ZN4core3ptr106drop_in_place$LT$diesel..connection..statement_cache..StatementCacheKey$LT$diesel..pg..backend..Pg$GT$$GT$17h6335f7e81e95f6faE.exit", label %210 -209: ; preds = %206 +210: ; preds = %207 call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %14), !noalias !349 invoke void @"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$14current_memory17h93be30890cadd9e8E.llvm.2909037117879540835"(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(16) %36) - to label %.noexc.i114 unwind label %216 - -.noexc.i114: ; preds = %209 - %210 = getelementptr inbounds i8, ptr %14, i64 8 - %211 = load i64, ptr %210, align 8, !range !26, !noalias !349, !noundef !4 - %.not.i.i.i.i.i115 = icmp eq i64 %211, 0 - br i1 %.not.i.i.i.i.i115, label %218, label %212 - -212: ; preds = %.noexc.i114 - %213 = load ptr, ptr %14, align 8, !noalias !349, !nonnull !4, !noundef !4 - %214 = getelementptr inbounds i8, ptr %14, i64 16 - %215 = load i64, ptr %214, align 8, !noalias !349, !noundef !4 - invoke void @"_ZN63_$LT$alloc..alloc..Global$u20$as$u20$core..alloc..Allocator$GT$10deallocate17hae8e459b587c5295E.llvm.2909037117879540835"(ptr noalias noundef nonnull readonly align 1 %.sroa.4173.0..sroa_idx, ptr noundef nonnull %213, i64 noundef %211, i64 noundef %215) - to label %218 unwind label %216 - -216: ; preds = %212, %209 - %217 = landingpad { ptr, i32 } + to label %.noexc.i114 unwind label %217 + +.noexc.i114: ; preds = %210 + %211 = getelementptr inbounds i8, ptr %14, i64 8 + %212 = load i64, ptr %211, align 8, !range !26, !noalias !349, !noundef !4 + %.not.i.i.i.i.i115 = icmp eq i64 %212, 0 + br i1 %.not.i.i.i.i.i115, label %219, label %213 + +213: ; preds = %.noexc.i114 + %214 = load ptr, ptr %14, align 8, !noalias !349, !nonnull !4, !noundef !4 + %215 = getelementptr inbounds i8, ptr %14, i64 16 + %216 = load i64, ptr %215, align 8, !noalias !349, !noundef !4 + invoke void @"_ZN63_$LT$alloc..alloc..Global$u20$as$u20$core..alloc..Allocator$GT$10deallocate17hae8e459b587c5295E.llvm.2909037117879540835"(ptr noalias noundef nonnull readonly align 1 %.sroa.4173.0..sroa_idx, ptr noundef nonnull %214, i64 noundef %212, i64 noundef %216) + to label %219 unwind label %217 + +217: ; preds = %213, %210 + %218 = landingpad { ptr, i32 } cleanup invoke void @"_ZN4core3ptr79drop_in_place$LT$alloc..vec..Vec$LT$diesel..pg..backend..PgTypeMetadata$GT$$GT$17hdf1e64787cfa794eE"(ptr noalias noundef nonnull align 8 dereferenceable(24) %.sroa.5174.0..sroa_idx) #30 - to label %common.resume unwind label %219 + to label %common.resume unwind label %220 -218: ; preds = %212, %.noexc.i114 +219: ; preds = %213, %.noexc.i114 call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %14), !noalias !349 call void @"_ZN4core3ptr79drop_in_place$LT$alloc..vec..Vec$LT$diesel..pg..backend..PgTypeMetadata$GT$$GT$17hdf1e64787cfa794eE"(ptr noalias noundef nonnull align 8 dereferenceable(24) %.sroa.5174.0..sroa_idx) br label %"_ZN4core3ptr106drop_in_place$LT$diesel..connection..statement_cache..StatementCacheKey$LT$diesel..pg..backend..Pg$GT$$GT$17h6335f7e81e95f6faE.exit" -219: ; preds = %216 - %220 = landingpad { ptr, i32 } +220: ; preds = %217 + %221 = landingpad { ptr, i32 } filter [0 x ptr] zeroinitializer call void @_ZN4core9panicking16panic_in_cleanup17h55eb1d85cadde1a1E() #31 unreachable @@ -2260,7 +2260,7 @@ common.resume: ; preds = %.thread252, %.threa store i64 %.sroa.7.i.sroa.6.0.copyload214, ptr %.sroa.2.0..sroa_idx, align 8 %.sroa.3183.0..sroa_idx = getelementptr inbounds i8, ptr %0, i64 24 store i64 %.sroa.7.i.sroa.7.0.copyload218, ptr %.sroa.3183.0..sroa_idx, align 8 - br label %157 + br label %158 .thread257: ; preds = %49, %64, %93, %96 %lpad.thr_comm = landingpad { ptr, i32 } @@ -2288,7 +2288,7 @@ common.resume: ; preds = %.thread252, %.threa store i8 %57, ptr %.sroa.250.0..sroa_idx, align 8 %.sroa.351.0..sroa_idx = getelementptr inbounds i8, ptr %0, i64 9 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(23) %.sroa.351.0..sroa_idx, ptr noundef nonnull align 1 dereferenceable(23) %.sroa.351, i64 23, i1 false) - br label %158 + br label %159 61: ; preds = %58 call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %30) @@ -2420,7 +2420,7 @@ common.resume: ; preds = %.thread252, %.threa "_ZN4core3ptr50drop_in_place$LT$alloc..borrow..Cow$LT$str$GT$$GT$17h95e2ed430b2543a7E.exit": ; preds = %"_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17hb50398bb251d6c3eE.exit.i", %"_ZN4core6result19Result$LT$T$C$E$GT$3map17hb6651dc3128e7545E.exit", %76 call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %30) - br label %158 + br label %159 100: ; preds = %.thread289, %.thread252, %128, %77 %101 = landingpad { ptr, i32 } @@ -2471,7 +2471,7 @@ common.resume: ; preds = %.thread252, %.threa %.sroa.11161.8..sroa_idx163 = getelementptr inbounds i8, ptr %16, i64 24 %.sroa.11161.8.copyload164 = load i64, ptr %.sroa.11161.8..sroa_idx163, align 8, !alias.scope !423, !noalias !422 call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %16), !noalias !416 - br i1 %118, label %"_ZN6diesel10connection15statement_cache27StatementCacheKey$LT$DB$GT$3sql17h173933a714d41277E.exit103.thread311", label %156 + br i1 %118, label %"_ZN6diesel10connection15statement_cache27StatementCacheKey$LT$DB$GT$3sql17h173933a714d41277E.exit103.thread311", label %157 "_ZN6diesel10connection15statement_cache27StatementCacheKey$LT$DB$GT$3sql17h173933a714d41277E.exit103.thread": ; preds = %109 %120 = getelementptr inbounds i8, ptr %27, i64 24 @@ -2485,7 +2485,7 @@ common.resume: ; preds = %.thread252, %.threa br label %125 125: ; preds = %151, %124 - %.pn = phi ptr [ %153, %151 ], [ %103, %124 ] + %.pn = phi ptr [ %154, %151 ], [ %103, %124 ] %.080 = getelementptr inbounds i8, ptr %.pn, i64 -8 call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %.sroa.617) %126 = getelementptr inbounds i8, ptr %0, i64 8 @@ -2494,7 +2494,7 @@ common.resume: ; preds = %.thread252, %.threa store ptr %.080, ptr %127, align 8 store i64 -9223372036854775798, ptr %0, align 8 call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %32) - br label %155 + br label %156 .thread298: ; preds = %114, %140, %143 %lpad.thr_comm296 = landingpad { ptr, i32 } @@ -2576,12 +2576,12 @@ common.resume: ; preds = %.thread252, %.threa %.sroa.0208.0.copyload = load i64, ptr %23, align 8 %.sroa.4209.0..sroa_idx = getelementptr inbounds i8, ptr %23, i64 8 %.sroa.4209.0.copyload = load ptr, ptr %.sroa.4209.0..sroa_idx, align 8, !nonnull !4, !noundef !4 - %.sroa.5210.0..sroa_idx = getelementptr inbounds i8, ptr %23, i64 16 + %152 = getelementptr inbounds i8, ptr %27, i64 16 call void @llvm.lifetime.start.p0(i64 56, ptr nonnull %14), !noalias !436 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(48) %14, ptr noundef nonnull align 8 dereferenceable(48) %.sroa.5210.0..sroa_idx, i64 48, i1 false) - %152 = getelementptr inbounds i8, ptr %14, i64 48 - store ptr %150, ptr %152, align 8, !noalias !436 - %153 = call noundef nonnull ptr @"_ZN9hashbrown3raw21RawTable$LT$T$C$A$GT$14insert_no_grow17hdcabdd9e154ac242E"(ptr noalias noundef nonnull align 8 dereferenceable(32) %.sroa.4209.0.copyload, i64 noundef %.sroa.0208.0.copyload, ptr noalias nocapture noundef nonnull align 8 dereferenceable(56) %14) + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(48) %14, ptr noundef nonnull align 8 dereferenceable(48) %152, i64 48, i1 false) + %153 = getelementptr inbounds i8, ptr %14, i64 48 + store ptr %150, ptr %153, align 8, !noalias !436 + %154 = call noundef nonnull ptr @"_ZN9hashbrown3raw21RawTable$LT$T$C$A$GT$14insert_no_grow17hdcabdd9e154ac242E"(ptr noalias noundef nonnull align 8 dereferenceable(32) %.sroa.4209.0.copyload, i64 noundef %.sroa.0208.0.copyload, ptr noalias nocapture noundef nonnull align 8 dereferenceable(56) %14) call void @llvm.lifetime.end.p0(i64 56, ptr nonnull %14), !noalias !436 call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %23) call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %27) @@ -2594,20 +2594,20 @@ common.resume: ; preds = %.thread252, %.threa store ptr %150, ptr %.sroa.271.0..sroa_idx, align 8 %.sroa.372.0..sroa_idx = getelementptr inbounds i8, ptr %0, i64 16 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %.sroa.372.0..sroa_idx, ptr noundef nonnull align 8 dereferenceable(16) %.sroa.569.0..sroa_idx, i64 16, i1 false) - %154 = getelementptr inbounds i8, ptr %23, i64 16 - call void @"_ZN4core3ptr114drop_in_place$LT$diesel..connection..statement_cache..StatementCacheKey$LT$diesel..sqlite..backend..Sqlite$GT$$GT$17hd8550c6be5ead6a4E.llvm.2909037117879540835"(ptr noalias noundef nonnull align 8 dereferenceable(48) %154) + %155 = getelementptr inbounds i8, ptr %23, i64 16 + call void @"_ZN4core3ptr114drop_in_place$LT$diesel..connection..statement_cache..StatementCacheKey$LT$diesel..sqlite..backend..Sqlite$GT$$GT$17hd8550c6be5ead6a4E.llvm.2909037117879540835"(ptr noalias noundef nonnull align 8 dereferenceable(48) %155) call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %23) br label %.critedge -155: ; preds = %157, %125 +156: ; preds = %158, %125 ret void -.critedge: ; preds = %156, %.thread332 +.critedge: ; preds = %157, %.thread332 call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %27) call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %.sroa.617) - br label %157 + br label %158 -156: ; preds = %.noexc102 +157: ; preds = %.noexc102 store i64 %117, ptr %0, align 8 %.sroa.263.0..sroa_idx = getelementptr inbounds i8, ptr %0, i64 8 store i64 %.sroa.6154.8.copyload156, ptr %.sroa.263.0..sroa_idx, align 8 @@ -2624,13 +2624,13 @@ common.resume: ; preds = %.thread252, %.threa invoke void @"_ZN4core3ptr114drop_in_place$LT$diesel..connection..statement_cache..StatementCacheKey$LT$diesel..sqlite..backend..Sqlite$GT$$GT$17hd8550c6be5ead6a4E.llvm.2909037117879540835"(ptr noalias noundef nonnull align 8 dereferenceable(48) %110) to label %common.resume unwind label %100 -157: ; preds = %.critedge, %158, %52 +158: ; preds = %.critedge, %159, %52 call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %32) - br label %155 + br label %156 -158: ; preds = %60, %"_ZN4core3ptr50drop_in_place$LT$alloc..borrow..Cow$LT$str$GT$$GT$17h95e2ed430b2543a7E.exit" +159: ; preds = %60, %"_ZN4core3ptr50drop_in_place$LT$alloc..borrow..Cow$LT$str$GT$$GT$17h95e2ed430b2543a7E.exit" call fastcc void @"_ZN4core3ptr114drop_in_place$LT$diesel..connection..statement_cache..StatementCacheKey$LT$diesel..sqlite..backend..Sqlite$GT$$GT$17hd8550c6be5ead6a4E"(ptr noalias noundef nonnull align 8 dereferenceable(48) %32) - br label %157 + br label %158 .thread252: ; preds = %77, %.thread257 %.pn.pn255 = phi { ptr, i32 } [ %lpad.thr_comm, %.thread257 ], [ %78, %77 ] @@ -2761,7 +2761,7 @@ common.resume: ; preds = %.thread245, %.threa %.sroa.3176.0..sroa_idx = getelementptr inbounds i8, ptr %0, i64 32 store i64 %.sroa.7.i.sroa.7.0.copyload211, ptr %.sroa.3176.0..sroa_idx, align 8 store i64 1, ptr %0, align 8 - br label %154 + br label %155 .thread250: ; preds = %49, %66, %91, %94 %lpad.thr_comm = landingpad { ptr, i32 } @@ -2791,7 +2791,7 @@ common.resume: ; preds = %.thread245, %.threa %.sroa.346.0..sroa_idx = getelementptr inbounds i8, ptr %0, i64 17 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(23) %.sroa.346.0..sroa_idx, ptr noundef nonnull align 1 dereferenceable(23) %.sroa.346, i64 23, i1 false) store i64 1, ptr %0, align 8 - br label %155 + br label %156 63: ; preds = %59 call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %30) @@ -2911,7 +2911,7 @@ common.resume: ; preds = %.thread245, %.threa "_ZN4core3ptr50drop_in_place$LT$alloc..borrow..Cow$LT$str$GT$$GT$17h95e2ed430b2543a7E.exit": ; preds = %"_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17hb50398bb251d6c3eE.exit.i", %86, %78 call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %30) - br label %155 + br label %156 98: ; preds = %.thread282, %.thread245, %125, %80 %99 = landingpad { ptr, i32 } @@ -2962,7 +2962,7 @@ common.resume: ; preds = %.thread245, %.threa %.sroa.11154.8..sroa_idx156 = getelementptr inbounds i8, ptr %16, i64 24 %.sroa.11154.8.copyload157 = load i64, ptr %.sroa.11154.8..sroa_idx156, align 8, !alias.scope !504, !noalias !503 call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %16), !noalias !497 - br i1 %116, label %"_ZN6diesel10connection15statement_cache27StatementCacheKey$LT$DB$GT$3sql17h0af28145ac48d98fE.exit96.thread304", label %152 + br i1 %116, label %"_ZN6diesel10connection15statement_cache27StatementCacheKey$LT$DB$GT$3sql17h0af28145ac48d98fE.exit96.thread304", label %153 "_ZN6diesel10connection15statement_cache27StatementCacheKey$LT$DB$GT$3sql17h0af28145ac48d98fE.exit96.thread": ; preds = %107 %118 = getelementptr inbounds i8, ptr %27, i64 24 @@ -2976,7 +2976,7 @@ common.resume: ; preds = %.thread245, %.threa br label %123 123: ; preds = %146, %122 - %.pn = phi ptr [ %148, %146 ], [ %101, %122 ] + %.pn = phi ptr [ %149, %146 ], [ %101, %122 ] %.067 = getelementptr inbounds i8, ptr %.pn, i64 -32 call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %.sroa.617) %124 = getelementptr inbounds i8, ptr %0, i64 8 @@ -2985,7 +2985,7 @@ common.resume: ; preds = %.thread245, %.threa store ptr %.067, ptr %.sroa.433.0..sroa_idx, align 8 store i64 0, ptr %0, align 8 call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %32) - br label %151 + br label %152 .thread291: ; preds = %112, %137, %140 %lpad.thr_comm289 = landingpad { ptr, i32 } @@ -3069,34 +3069,34 @@ common.resume: ; preds = %.thread245, %.threa %.sroa.0201.0.copyload = load i64, ptr %23, align 8 %.sroa.4202.0..sroa_idx = getelementptr inbounds i8, ptr %23, i64 8 %.sroa.4202.0.copyload = load ptr, ptr %.sroa.4202.0..sroa_idx, align 8, !nonnull !4, !noundef !4 - %.sroa.5203.0..sroa_idx = getelementptr inbounds i8, ptr %23, i64 16 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(48) %14, ptr noundef nonnull align 8 dereferenceable(48) %.sroa.5203.0..sroa_idx, i64 48, i1 false) - %148 = call noundef nonnull ptr @"_ZN9hashbrown3raw21RawTable$LT$T$C$A$GT$14insert_no_grow17h15930df0f0c3b672E"(ptr noalias noundef nonnull align 8 dereferenceable(32) %.sroa.4202.0.copyload, i64 noundef %.sroa.0201.0.copyload, ptr noalias nocapture noundef nonnull align 8 dereferenceable(80) %14) + %148 = getelementptr inbounds i8, ptr %27, i64 16 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(48) %14, ptr noundef nonnull align 8 dereferenceable(48) %148, i64 48, i1 false) + %149 = call noundef nonnull ptr @"_ZN9hashbrown3raw21RawTable$LT$T$C$A$GT$14insert_no_grow17h15930df0f0c3b672E"(ptr noalias noundef nonnull align 8 dereferenceable(32) %.sroa.4202.0.copyload, i64 noundef %.sroa.0201.0.copyload, ptr noalias nocapture noundef nonnull align 8 dereferenceable(80) %14) call void @llvm.lifetime.end.p0(i64 80, ptr nonnull %14), !noalias !517 call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %23) call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %27) br label %123 .thread322: ; preds = %"_ZN4core3ptr50drop_in_place$LT$alloc..borrow..Cow$LT$str$GT$$GT$17h95e2ed430b2543a7E.exit109" - %149 = getelementptr inbounds i8, ptr %0, i64 8 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %149, ptr noundef nonnull align 8 dereferenceable(32) %145, i64 32, i1 false) + %150 = getelementptr inbounds i8, ptr %0, i64 8 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %150, ptr noundef nonnull align 8 dereferenceable(32) %145, i64 32, i1 false) store i64 1, ptr %0, align 8 - %150 = getelementptr inbounds i8, ptr %23, i64 16 - call void @"_ZN4core3ptr112drop_in_place$LT$diesel..connection..statement_cache..StatementCacheKey$LT$diesel..mysql..backend..Mysql$GT$$GT$17h8fe8affb29747f9bE.llvm.2909037117879540835"(ptr noalias noundef nonnull align 8 dereferenceable(48) %150) + %151 = getelementptr inbounds i8, ptr %23, i64 16 + call void @"_ZN4core3ptr112drop_in_place$LT$diesel..connection..statement_cache..StatementCacheKey$LT$diesel..mysql..backend..Mysql$GT$$GT$17h8fe8affb29747f9bE.llvm.2909037117879540835"(ptr noalias noundef nonnull align 8 dereferenceable(48) %151) call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %23) br label %.critedge -151: ; preds = %154, %123 +152: ; preds = %155, %123 ret void -.critedge: ; preds = %152, %.thread322 +.critedge: ; preds = %153, %.thread322 call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %27) call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %.sroa.617) - br label %154 + br label %155 -152: ; preds = %.noexc95 - %153 = getelementptr inbounds i8, ptr %0, i64 8 - store i64 %115, ptr %153, align 8 +153: ; preds = %.noexc95 + %154 = getelementptr inbounds i8, ptr %0, i64 8 + store i64 %115, ptr %154, align 8 %.sroa.258.0..sroa_idx = getelementptr inbounds i8, ptr %0, i64 16 store i64 %.sroa.6147.8.copyload149, ptr %.sroa.258.0..sroa_idx, align 8 %.sroa.258.sroa.2.0..sroa.258.0..sroa_idx.sroa_idx = getelementptr inbounds i8, ptr %0, i64 24 @@ -3113,13 +3113,13 @@ common.resume: ; preds = %.thread245, %.threa invoke void @"_ZN4core3ptr112drop_in_place$LT$diesel..connection..statement_cache..StatementCacheKey$LT$diesel..mysql..backend..Mysql$GT$$GT$17h8fe8affb29747f9bE.llvm.2909037117879540835"(ptr noalias noundef nonnull align 8 dereferenceable(48) %108) to label %common.resume unwind label %98 -154: ; preds = %.critedge, %155, %52 +155: ; preds = %.critedge, %156, %52 call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %32) - br label %151 + br label %152 -155: ; preds = %61, %"_ZN4core3ptr50drop_in_place$LT$alloc..borrow..Cow$LT$str$GT$$GT$17h95e2ed430b2543a7E.exit" +156: ; preds = %61, %"_ZN4core3ptr50drop_in_place$LT$alloc..borrow..Cow$LT$str$GT$$GT$17h95e2ed430b2543a7E.exit" call fastcc void @"_ZN4core3ptr112drop_in_place$LT$diesel..connection..statement_cache..StatementCacheKey$LT$diesel..mysql..backend..Mysql$GT$$GT$17h8fe8affb29747f9bE"(ptr noalias noundef nonnull align 8 dereferenceable(48) %32) - br label %154 + br label %155 .thread245: ; preds = %80, %.thread250 %.pn77248 = phi { ptr, i32 } [ %lpad.thr_comm, %.thread250 ], [ %81, %80 ] diff --git a/bench/diesel-rs/optimized/2nqojkvzec127ieh.ll b/bench/diesel-rs/optimized/2nqojkvzec127ieh.ll index 7bb8cce2a4a..510e232df5e 100644 --- a/bench/diesel-rs/optimized/2nqojkvzec127ieh.ll +++ b/bench/diesel-rs/optimized/2nqojkvzec127ieh.ll @@ -159,7 +159,6 @@ define hidden void @"_ZN121_$LT$hashbrown..map..HashMap$LT$K$C$V$C$S$C$A$GT$$u20 %9 = alloca { i64, [2 x i64] }, align 8 %10 = alloca { { { i64, ptr }, i64 } }, align 8 %11 = alloca { { { i64, ptr }, i64 } }, align 8 - %.sroa.0.i.i = alloca { { { { i64, ptr }, i64 } }, { { { i64, ptr }, i64 } } }, align 8 %12 = alloca { i64, [5 x i64] }, align 8 %13 = alloca { ptr, i64 }, align 8 %14 = getelementptr inbounds i8, ptr %0, i64 24 @@ -167,18 +166,17 @@ define hidden void @"_ZN121_$LT$hashbrown..map..HashMap$LT$K$C$V$C$S$C$A$GT$$u20 %16 = getelementptr inbounds i8, ptr %0, i64 16 tail call void @llvm.experimental.noalias.scope.decl(metadata !4) tail call void @llvm.experimental.noalias.scope.decl(metadata !7) + call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %12), !noalias !10 call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %13), !noalias !10 store ptr %1, ptr %13, align 8, !noalias !12 %17 = getelementptr inbounds i8, ptr %13, i64 8 store i64 %2, ptr %17, align 8, !noalias !12 - call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %12), !noalias !12 call void @"_ZN90_$LT$form_urlencoded..ParseIntoOwned$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h243129031e86395fE"(ptr noalias nocapture noundef nonnull sret({ i64, [5 x i64] }) align 8 dereferenceable(48) %12, ptr noalias noundef nonnull align 8 dereferenceable(16) %13), !noalias !14 %18 = load i64, ptr %12, align 8, !range !15, !noalias !12, !noundef !16 %.not3.i.i = icmp eq i64 %18, -9223372036854775808 br i1 %.not3.i.i, label %_ZN4core4iter6traits8iterator8Iterator8for_each17hcb5c1c0b0a19beb5E.exit, label %.lr.ph.i.i .lr.ph.i.i: ; preds = %"_ZN9hashbrown3raw21RawTable$LT$T$C$A$GT$7reserve17hfe7b3b82737bf463E.exit" - %.sroa.0.24..sroa_idx.i.i = getelementptr inbounds i8, ptr %.sroa.0.i.i, i64 24 %.sroa.0.sroa.5.0..sroa_idx.i.i.i.i.i.i.i = getelementptr inbounds i8, ptr %7, i64 16 %.sroa.0.sroa.7.0..sroa_idx.i.i.i.i.i.i.i = getelementptr inbounds i8, ptr %7, i64 32 %.sroa.0.sroa.9.0..sroa_idx.i.i.i.i.i.i.i = getelementptr inbounds i8, ptr %7, i64 48 @@ -195,15 +193,14 @@ define hidden void @"_ZN121_$LT$hashbrown..map..HashMap$LT$K$C$V$C$S$C$A$GT$$u20 %29 = getelementptr inbounds i8, ptr %3, i64 16 %30 = getelementptr inbounds i8, ptr %9, i64 16 %31 = getelementptr inbounds i8, ptr %8, i64 24 - br label %32 + %32 = getelementptr inbounds i8, ptr %12, i64 24 + br label %33 -32: ; preds = %"_ZN4core4iter6traits8iterator8Iterator8for_each4call28_$u7b$$u7b$closure$u7d$$u7d$17h1fca1c9af36f5103E.exit.i.i", %.lr.ph.i.i - call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %.sroa.0.i.i) - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(48) %.sroa.0.i.i, ptr noundef nonnull align 8 dereferenceable(48) %12, i64 48, i1 false), !noalias !12 +33: ; preds = %"_ZN4core4iter6traits8iterator8Iterator8for_each4call28_$u7b$$u7b$closure$u7d$$u7d$17h1fca1c9af36f5103E.exit.i.i", %.lr.ph.i.i call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %10), !noalias !17 call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %11), !noalias !17 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %11, ptr noundef nonnull align 8 dereferenceable(24) %12, i64 24, i1 false), !noalias !12 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %10, ptr noundef nonnull align 8 dereferenceable(24) %.sroa.0.24..sroa_idx.i.i, i64 24, i1 false), !noalias !12 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %10, ptr noundef nonnull align 8 dereferenceable(24) %32, i64 24, i1 false), !noalias !12 call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %9), !noalias !20 call void @llvm.experimental.noalias.scope.decl(metadata !23) call void @llvm.experimental.noalias.scope.decl(metadata !26) @@ -211,25 +208,25 @@ define hidden void @"_ZN121_$LT$hashbrown..map..HashMap$LT$K$C$V$C$S$C$A$GT$$u20 call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %7), !noalias !31 call void @llvm.experimental.noalias.scope.decl(metadata !35) call void @llvm.experimental.noalias.scope.decl(metadata !38) - %33 = load <2 x i64>, ptr %15, align 8, !alias.scope !40, !noalias !41 - %34 = shufflevector <2 x i64> %33, <2 x i64> poison, <2 x i32> zeroinitializer - %35 = xor <2 x i64> %34, - store <2 x i64> %35, ptr %7, align 16, !alias.scope !35, !noalias !42 - %36 = shufflevector <2 x i64> %33, <2 x i64> poison, <2 x i32> - %37 = xor <2 x i64> %36, - store <2 x i64> %37, ptr %.sroa.0.sroa.5.0..sroa_idx.i.i.i.i.i.i.i, align 16, !alias.scope !35, !noalias !42 - store <2 x i64> %33, ptr %.sroa.0.sroa.7.0..sroa_idx.i.i.i.i.i.i.i, align 16, !alias.scope !35, !noalias !42 + %34 = load <2 x i64>, ptr %15, align 8, !alias.scope !40, !noalias !41 + %35 = shufflevector <2 x i64> %34, <2 x i64> poison, <2 x i32> zeroinitializer + %36 = xor <2 x i64> %35, + store <2 x i64> %36, ptr %7, align 16, !alias.scope !35, !noalias !42 + %37 = shufflevector <2 x i64> %34, <2 x i64> poison, <2 x i32> + %38 = xor <2 x i64> %37, + store <2 x i64> %38, ptr %.sroa.0.sroa.5.0..sroa_idx.i.i.i.i.i.i.i, align 16, !alias.scope !35, !noalias !42 + store <2 x i64> %34, ptr %.sroa.0.sroa.7.0..sroa_idx.i.i.i.i.i.i.i, align 16, !alias.scope !35, !noalias !42 call void @llvm.memset.p0.i64(ptr noundef nonnull align 16 dereferenceable(24) %.sroa.0.sroa.9.0..sroa_idx.i.i.i.i.i.i.i, i8 0, i64 24, i1 false), !alias.scope !35, !noalias !42 - %38 = load ptr, ptr %19, align 8, !alias.scope !26, !noalias !43, !nonnull !16, !noundef !16 - %39 = load i64, ptr %20, align 8, !alias.scope !26, !noalias !43, !noundef !16 - invoke void @"_ZN71_$LT$core..hash..sip..Hasher$LT$S$GT$$u20$as$u20$core..hash..Hasher$GT$5write17h956e5347e45cbd61E.llvm.11731155751478127742"(ptr noalias noundef nonnull align 8 dereferenceable(72) %7, ptr noalias noundef nonnull readonly align 1 %38, i64 noundef %39) - to label %.noexc.i.i.i.i.i unwind label %126, !noalias !44 + %39 = load ptr, ptr %19, align 8, !alias.scope !26, !noalias !43, !nonnull !16, !noundef !16 + %40 = load i64, ptr %20, align 8, !alias.scope !26, !noalias !43, !noundef !16 + invoke void @"_ZN71_$LT$core..hash..sip..Hasher$LT$S$GT$$u20$as$u20$core..hash..Hasher$GT$5write17h956e5347e45cbd61E.llvm.11731155751478127742"(ptr noalias noundef nonnull align 8 dereferenceable(72) %7, ptr noalias noundef nonnull readonly align 1 %39, i64 noundef %40) + to label %.noexc.i.i.i.i.i unwind label %127, !noalias !44 -.noexc.i.i.i.i.i: ; preds = %32 +.noexc.i.i.i.i.i: ; preds = %33 call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %6), !noalias !45 store i8 -1, ptr %6, align 1, !noalias !45 invoke void @"_ZN71_$LT$core..hash..sip..Hasher$LT$S$GT$$u20$as$u20$core..hash..Hasher$GT$5write17h956e5347e45cbd61E.llvm.11731155751478127742"(ptr noalias noundef nonnull align 8 dereferenceable(72) %7, ptr noalias noundef nonnull readonly align 1 %6, i64 noundef 1) - to label %.noexc11.i.i.i.i.i unwind label %126, !noalias !44 + to label %.noexc11.i.i.i.i.i unwind label %127, !noalias !44 .noexc11.i.i.i.i.i: ; preds = %.noexc.i.i.i.i.i call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %6), !noalias !45 @@ -237,234 +234,234 @@ define hidden void @"_ZN121_$LT$hashbrown..map..HashMap$LT$K$C$V$C$S$C$A$GT$$u20 call void @llvm.experimental.noalias.scope.decl(metadata !58) call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %5), !noalias !61 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(32) %5, ptr noundef nonnull align 16 dereferenceable(32) %7, i64 32, i1 false), !noalias !31 - %40 = load i64, ptr %.sroa.0.sroa.9.0..sroa_idx.i.i.i.i.i.i.i, align 16, !alias.scope !62, !noalias !31, !noundef !16 - %41 = shl i64 %40, 56 - %42 = load i64, ptr %21, align 8, !alias.scope !62, !noalias !31, !noundef !16 - %43 = or i64 %41, %42 - %44 = load i64, ptr %22, align 8, !noalias !61, !noundef !16 - %45 = xor i64 %44, %43 - store i64 %45, ptr %22, align 8, !noalias !61 + %41 = load i64, ptr %.sroa.0.sroa.9.0..sroa_idx.i.i.i.i.i.i.i, align 16, !alias.scope !62, !noalias !31, !noundef !16 + %42 = shl i64 %41, 56 + %43 = load i64, ptr %21, align 8, !alias.scope !62, !noalias !31, !noundef !16 + %44 = or i64 %42, %43 + %45 = load i64, ptr %22, align 8, !noalias !61, !noundef !16 + %46 = xor i64 %45, %44 + store i64 %46, ptr %22, align 8, !noalias !61 invoke void @"_ZN69_$LT$core..hash..sip..Sip13Rounds$u20$as$u20$core..hash..sip..Sip$GT$8c_rounds17hee01b87a181defc8E.llvm.11731155751478127742"(ptr noalias noundef nonnull align 8 dereferenceable(32) %5) - to label %.noexc12.i.i.i.i.i unwind label %126, !noalias !44 + to label %.noexc12.i.i.i.i.i unwind label %127, !noalias !44 .noexc12.i.i.i.i.i: ; preds = %.noexc11.i.i.i.i.i - %46 = load <2 x i64>, ptr %5, align 16, !noalias !61 - %47 = insertelement <2 x i64> , i64 %43, i64 0 - %48 = xor <2 x i64> %46, %47 - store <2 x i64> %48, ptr %5, align 16, !noalias !61 + %47 = load <2 x i64>, ptr %5, align 16, !noalias !61 + %48 = insertelement <2 x i64> , i64 %44, i64 0 + %49 = xor <2 x i64> %47, %48 + store <2 x i64> %49, ptr %5, align 16, !noalias !61 invoke void @"_ZN69_$LT$core..hash..sip..Sip13Rounds$u20$as$u20$core..hash..sip..Sip$GT$8d_rounds17hb5fb2225867f012bE.llvm.11731155751478127742"(ptr noalias noundef nonnull align 8 dereferenceable(32) %5) - to label %49 unwind label %126, !noalias !44 - -49: ; preds = %.noexc12.i.i.i.i.i - %50 = load i64, ptr %5, align 16, !noalias !61, !noundef !16 - %51 = load i64, ptr %24, align 16, !noalias !61, !noundef !16 - %52 = xor i64 %51, %50 - %53 = load i64, ptr %23, align 8, !noalias !61, !noundef !16 - %54 = xor i64 %52, %53 - %55 = load i64, ptr %22, align 8, !noalias !61, !noundef !16 - %56 = xor i64 %54, %55 + to label %50 unwind label %127, !noalias !44 + +50: ; preds = %.noexc12.i.i.i.i.i + %51 = load i64, ptr %5, align 16, !noalias !61, !noundef !16 + %52 = load i64, ptr %24, align 16, !noalias !61, !noundef !16 + %53 = xor i64 %52, %51 + %54 = load i64, ptr %23, align 8, !noalias !61, !noundef !16 + %55 = xor i64 %53, %54 + %56 = load i64, ptr %22, align 8, !noalias !61, !noundef !16 + %57 = xor i64 %55, %56 call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %5), !noalias !61 call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %7), !noalias !31 - %57 = load i64, ptr %16, align 8, !alias.scope !63, !noalias !68, !noundef !16 - %58 = icmp eq i64 %57, 0 - br i1 %58, label %59, label %"_ZN9hashbrown3raw21RawTable$LT$T$C$A$GT$7reserve17hfe7b3b82737bf463E.exit.i.i.i.i.i.i" - -59: ; preds = %49 - %60 = invoke { i64, i64 } @"_ZN9hashbrown3raw21RawTable$LT$T$C$A$GT$14reserve_rehash17hdabdf109e70304eaE.llvm.11693277841074805610"(ptr noalias noundef nonnull align 8 dereferenceable(32) %0, i64 noundef 1, ptr noalias noundef nonnull readonly align 8 dereferenceable(16) %15, i1 noundef zeroext true) - to label %.noexc14.i.i.i.i.i unwind label %126, !noalias !73 - -.noexc14.i.i.i.i.i: ; preds = %59 - %.fca.0.extract.i.i.i.i.i.i.i = extractvalue { i64, i64 } %60, 0 - %61 = icmp eq i64 %.fca.0.extract.i.i.i.i.i.i.i, -9223372036854775807 - call void @llvm.assume(i1 %61) + %58 = load i64, ptr %16, align 8, !alias.scope !63, !noalias !68, !noundef !16 + %59 = icmp eq i64 %58, 0 + br i1 %59, label %60, label %"_ZN9hashbrown3raw21RawTable$LT$T$C$A$GT$7reserve17hfe7b3b82737bf463E.exit.i.i.i.i.i.i" + +60: ; preds = %50 + %61 = invoke { i64, i64 } @"_ZN9hashbrown3raw21RawTable$LT$T$C$A$GT$14reserve_rehash17hdabdf109e70304eaE.llvm.11693277841074805610"(ptr noalias noundef nonnull align 8 dereferenceable(32) %0, i64 noundef 1, ptr noalias noundef nonnull readonly align 8 dereferenceable(16) %15, i1 noundef zeroext true) + to label %.noexc14.i.i.i.i.i unwind label %127, !noalias !73 + +.noexc14.i.i.i.i.i: ; preds = %60 + %.fca.0.extract.i.i.i.i.i.i.i = extractvalue { i64, i64 } %61, 0 + %62 = icmp eq i64 %.fca.0.extract.i.i.i.i.i.i.i, -9223372036854775807 + call void @llvm.assume(i1 %62) br label %"_ZN9hashbrown3raw21RawTable$LT$T$C$A$GT$7reserve17hfe7b3b82737bf463E.exit.i.i.i.i.i.i" -"_ZN9hashbrown3raw21RawTable$LT$T$C$A$GT$7reserve17hfe7b3b82737bf463E.exit.i.i.i.i.i.i": ; preds = %.noexc14.i.i.i.i.i, %49 +"_ZN9hashbrown3raw21RawTable$LT$T$C$A$GT$7reserve17hfe7b3b82737bf463E.exit.i.i.i.i.i.i": ; preds = %.noexc14.i.i.i.i.i, %50 %.val.i.i.i.i.i.i = load ptr, ptr %0, align 8, !alias.scope !74, !noalias !75, !nonnull !16, !noundef !16 %.val4.i.i.i.i.i.i = load i64, ptr %25, align 8, !alias.scope !74, !noalias !75, !noundef !16 - %62 = lshr i64 %56, 57 - %63 = trunc i64 %62 to i8 - %.0.vec.insert.i.i.i.i.i.i.i.i = insertelement <16 x i8> poison, i8 %63, i64 0 + %63 = lshr i64 %57, 57 + %64 = trunc i64 %63 to i8 + %.0.vec.insert.i.i.i.i.i.i.i.i = insertelement <16 x i8> poison, i8 %64, i64 0 %.15.vec.insert.i.i.i.i.i.i.i.i = shufflevector <16 x i8> %.0.vec.insert.i.i.i.i.i.i.i.i, <16 x i8> poison, <16 x i32> zeroinitializer - br label %64 + br label %65 -64: ; preds = %91, %"_ZN9hashbrown3raw21RawTable$LT$T$C$A$GT$7reserve17hfe7b3b82737bf463E.exit.i.i.i.i.i.i" - %.sroa.8.0.i.i.i.i.i.i.i = phi i64 [ 0, %"_ZN9hashbrown3raw21RawTable$LT$T$C$A$GT$7reserve17hfe7b3b82737bf463E.exit.i.i.i.i.i.i" ], [ %92, %91 ] - %.pn.i.i.i.i.i.i.i = phi i64 [ %56, %"_ZN9hashbrown3raw21RawTable$LT$T$C$A$GT$7reserve17hfe7b3b82737bf463E.exit.i.i.i.i.i.i" ], [ %93, %91 ] - %.sroa.6.0.i.i.i.i.i.i.i = phi i64 [ undef, %"_ZN9hashbrown3raw21RawTable$LT$T$C$A$GT$7reserve17hfe7b3b82737bf463E.exit.i.i.i.i.i.i" ], [ %.sroa.6.1.i.i.i.i.i.i.i, %91 ] - %.sroa.01.0.i.i.i.i.i.i.i = phi i64 [ 0, %"_ZN9hashbrown3raw21RawTable$LT$T$C$A$GT$7reserve17hfe7b3b82737bf463E.exit.i.i.i.i.i.i" ], [ %.sroa.01.1.i.i.i.i.i.i.i, %91 ] +65: ; preds = %92, %"_ZN9hashbrown3raw21RawTable$LT$T$C$A$GT$7reserve17hfe7b3b82737bf463E.exit.i.i.i.i.i.i" + %.sroa.8.0.i.i.i.i.i.i.i = phi i64 [ 0, %"_ZN9hashbrown3raw21RawTable$LT$T$C$A$GT$7reserve17hfe7b3b82737bf463E.exit.i.i.i.i.i.i" ], [ %93, %92 ] + %.pn.i.i.i.i.i.i.i = phi i64 [ %57, %"_ZN9hashbrown3raw21RawTable$LT$T$C$A$GT$7reserve17hfe7b3b82737bf463E.exit.i.i.i.i.i.i" ], [ %94, %92 ] + %.sroa.6.0.i.i.i.i.i.i.i = phi i64 [ undef, %"_ZN9hashbrown3raw21RawTable$LT$T$C$A$GT$7reserve17hfe7b3b82737bf463E.exit.i.i.i.i.i.i" ], [ %.sroa.6.1.i.i.i.i.i.i.i, %92 ] + %.sroa.01.0.i.i.i.i.i.i.i = phi i64 [ 0, %"_ZN9hashbrown3raw21RawTable$LT$T$C$A$GT$7reserve17hfe7b3b82737bf463E.exit.i.i.i.i.i.i" ], [ %.sroa.01.1.i.i.i.i.i.i.i, %92 ] %.sroa.0.021.i.i.i.i.i.i.i = and i64 %.pn.i.i.i.i.i.i.i, %.val4.i.i.i.i.i.i - %65 = getelementptr inbounds i8, ptr %.val.i.i.i.i.i.i, i64 %.sroa.0.021.i.i.i.i.i.i.i - %.0.copyload.i28.i.i.i.i.i.i.i = load <16 x i8>, ptr %65, align 1, !noalias !76 - %66 = icmp eq <16 x i8> %.0.copyload.i28.i.i.i.i.i.i.i, %.15.vec.insert.i.i.i.i.i.i.i.i - %67 = bitcast <16 x i1> %66 to i16 - %.not.not.i.i11.i.i.i.i.i.i = icmp eq i16 %67, 0 + %66 = getelementptr inbounds i8, ptr %.val.i.i.i.i.i.i, i64 %.sroa.0.021.i.i.i.i.i.i.i + %.0.copyload.i28.i.i.i.i.i.i.i = load <16 x i8>, ptr %66, align 1, !noalias !76 + %67 = icmp eq <16 x i8> %.0.copyload.i28.i.i.i.i.i.i.i, %.15.vec.insert.i.i.i.i.i.i.i.i + %68 = bitcast <16 x i1> %67 to i16 + %.not.not.i.i11.i.i.i.i.i.i = icmp eq i16 %68, 0 br i1 %.not.not.i.i11.i.i.i.i.i.i, label %"_ZN9hashbrown3raw21RawTable$LT$T$C$A$GT$24find_or_find_insert_slot28_$u7b$$u7b$closure$u7d$$u7d$17hc3d3cb8fc186ae71E.exit._crit_edge.i.i.i.i.i.i", label %.lr.ph.i.i.i.i.i.i -"_ZN9hashbrown3raw21RawTable$LT$T$C$A$GT$24find_or_find_insert_slot28_$u7b$$u7b$closure$u7d$$u7d$17hc3d3cb8fc186ae71E.exit._crit_edge.i.i.i.i.i.i": ; preds = %"_ZN9hashbrown3raw21RawTable$LT$T$C$A$GT$24find_or_find_insert_slot28_$u7b$$u7b$closure$u7d$$u7d$17hc3d3cb8fc186ae71E.exit.backedge.i.i.i.i.i.i", %64 +"_ZN9hashbrown3raw21RawTable$LT$T$C$A$GT$24find_or_find_insert_slot28_$u7b$$u7b$closure$u7d$$u7d$17hc3d3cb8fc186ae71E.exit._crit_edge.i.i.i.i.i.i": ; preds = %"_ZN9hashbrown3raw21RawTable$LT$T$C$A$GT$24find_or_find_insert_slot28_$u7b$$u7b$closure$u7d$$u7d$17hc3d3cb8fc186ae71E.exit.backedge.i.i.i.i.i.i", %65 %.not.i.i.i.i.i.i.i = icmp eq i64 %.sroa.01.0.i.i.i.i.i.i.i, 1 - br i1 %.not.i.i.i.i.i.i.i, label %88, label %80 - -.lr.ph.i.i.i.i.i.i: ; preds = %64, %"_ZN9hashbrown3raw21RawTable$LT$T$C$A$GT$24find_or_find_insert_slot28_$u7b$$u7b$closure$u7d$$u7d$17hc3d3cb8fc186ae71E.exit.backedge.i.i.i.i.i.i" - %.022.i12.i.i.i.i.i.i = phi i16 [ %69, %"_ZN9hashbrown3raw21RawTable$LT$T$C$A$GT$24find_or_find_insert_slot28_$u7b$$u7b$closure$u7d$$u7d$17hc3d3cb8fc186ae71E.exit.backedge.i.i.i.i.i.i" ], [ %67, %64 ] - %68 = add i16 %.022.i12.i.i.i.i.i.i, -1 - %69 = and i16 %68, %.022.i12.i.i.i.i.i.i - %70 = call i16 @llvm.cttz.i16(i16 %.022.i12.i.i.i.i.i.i, i1 true), !range !79 - %71 = zext nneg i16 %70 to i64 - %72 = add i64 %.sroa.0.021.i.i.i.i.i.i.i, %71 - %73 = and i64 %72, %.val4.i.i.i.i.i.i - %74 = sub nsw i64 0, %73 - %75 = getelementptr inbounds { { { { i64, ptr }, i64 } }, { { { i64, ptr }, i64 } } }, ptr %.val.i.i.i.i.i.i, i64 %74 - %76 = getelementptr i8, ptr %75, i64 -32 - %.val5.i.i.i.i.i.i.i = load i64, ptr %76, align 8, !noalias !80, !noundef !16 - %.not.i.i.i.i.i.i.i.i.i.i.i = icmp eq i64 %39, %.val5.i.i.i.i.i.i.i - br i1 %.not.i.i.i.i.i.i.i.i.i.i.i, label %77, label %"_ZN9hashbrown3raw21RawTable$LT$T$C$A$GT$24find_or_find_insert_slot28_$u7b$$u7b$closure$u7d$$u7d$17hc3d3cb8fc186ae71E.exit.backedge.i.i.i.i.i.i" - -77: ; preds = %.lr.ph.i.i.i.i.i.i - %78 = getelementptr i8, ptr %75, i64 -40 - %.val4.i.i.i.i.i.i.i = load ptr, ptr %78, align 8, !noalias !80, !nonnull !16, !noundef !16 - %bcmp.i.i.i.i.i.i.i.i.i.i.i = call i32 @bcmp(ptr nonnull %38, ptr nonnull %.val4.i.i.i.i.i.i.i, i64 %39), !alias.scope !83, !noalias !80 - %79 = icmp eq i32 %bcmp.i.i.i.i.i.i.i.i.i.i.i, 0 - br i1 %79, label %120, label %"_ZN9hashbrown3raw21RawTable$LT$T$C$A$GT$24find_or_find_insert_slot28_$u7b$$u7b$closure$u7d$$u7d$17hc3d3cb8fc186ae71E.exit.backedge.i.i.i.i.i.i" - -"_ZN9hashbrown3raw21RawTable$LT$T$C$A$GT$24find_or_find_insert_slot28_$u7b$$u7b$closure$u7d$$u7d$17hc3d3cb8fc186ae71E.exit.backedge.i.i.i.i.i.i": ; preds = %77, %.lr.ph.i.i.i.i.i.i - %.not.not.i.i.i.i.i.i.i.i = icmp eq i16 %69, 0 + br i1 %.not.i.i.i.i.i.i.i, label %89, label %81 + +.lr.ph.i.i.i.i.i.i: ; preds = %65, %"_ZN9hashbrown3raw21RawTable$LT$T$C$A$GT$24find_or_find_insert_slot28_$u7b$$u7b$closure$u7d$$u7d$17hc3d3cb8fc186ae71E.exit.backedge.i.i.i.i.i.i" + %.022.i12.i.i.i.i.i.i = phi i16 [ %70, %"_ZN9hashbrown3raw21RawTable$LT$T$C$A$GT$24find_or_find_insert_slot28_$u7b$$u7b$closure$u7d$$u7d$17hc3d3cb8fc186ae71E.exit.backedge.i.i.i.i.i.i" ], [ %68, %65 ] + %69 = add i16 %.022.i12.i.i.i.i.i.i, -1 + %70 = and i16 %69, %.022.i12.i.i.i.i.i.i + %71 = call i16 @llvm.cttz.i16(i16 %.022.i12.i.i.i.i.i.i, i1 true), !range !79 + %72 = zext nneg i16 %71 to i64 + %73 = add i64 %.sroa.0.021.i.i.i.i.i.i.i, %72 + %74 = and i64 %73, %.val4.i.i.i.i.i.i + %75 = sub nsw i64 0, %74 + %76 = getelementptr inbounds { { { { i64, ptr }, i64 } }, { { { i64, ptr }, i64 } } }, ptr %.val.i.i.i.i.i.i, i64 %75 + %77 = getelementptr i8, ptr %76, i64 -32 + %.val5.i.i.i.i.i.i.i = load i64, ptr %77, align 8, !noalias !80, !noundef !16 + %.not.i.i.i.i.i.i.i.i.i.i.i = icmp eq i64 %40, %.val5.i.i.i.i.i.i.i + br i1 %.not.i.i.i.i.i.i.i.i.i.i.i, label %78, label %"_ZN9hashbrown3raw21RawTable$LT$T$C$A$GT$24find_or_find_insert_slot28_$u7b$$u7b$closure$u7d$$u7d$17hc3d3cb8fc186ae71E.exit.backedge.i.i.i.i.i.i" + +78: ; preds = %.lr.ph.i.i.i.i.i.i + %79 = getelementptr i8, ptr %76, i64 -40 + %.val4.i.i.i.i.i.i.i = load ptr, ptr %79, align 8, !noalias !80, !nonnull !16, !noundef !16 + %bcmp.i.i.i.i.i.i.i.i.i.i.i = call i32 @bcmp(ptr nonnull %39, ptr nonnull %.val4.i.i.i.i.i.i.i, i64 %40), !alias.scope !83, !noalias !80 + %80 = icmp eq i32 %bcmp.i.i.i.i.i.i.i.i.i.i.i, 0 + br i1 %80, label %121, label %"_ZN9hashbrown3raw21RawTable$LT$T$C$A$GT$24find_or_find_insert_slot28_$u7b$$u7b$closure$u7d$$u7d$17hc3d3cb8fc186ae71E.exit.backedge.i.i.i.i.i.i" + +"_ZN9hashbrown3raw21RawTable$LT$T$C$A$GT$24find_or_find_insert_slot28_$u7b$$u7b$closure$u7d$$u7d$17hc3d3cb8fc186ae71E.exit.backedge.i.i.i.i.i.i": ; preds = %78, %.lr.ph.i.i.i.i.i.i + %.not.not.i.i.i.i.i.i.i.i = icmp eq i16 %70, 0 br i1 %.not.not.i.i.i.i.i.i.i.i, label %"_ZN9hashbrown3raw21RawTable$LT$T$C$A$GT$24find_or_find_insert_slot28_$u7b$$u7b$closure$u7d$$u7d$17hc3d3cb8fc186ae71E.exit._crit_edge.i.i.i.i.i.i", label %.lr.ph.i.i.i.i.i.i -80: ; preds = %"_ZN9hashbrown3raw21RawTable$LT$T$C$A$GT$24find_or_find_insert_slot28_$u7b$$u7b$closure$u7d$$u7d$17hc3d3cb8fc186ae71E.exit._crit_edge.i.i.i.i.i.i" - %81 = icmp slt <16 x i8> %.0.copyload.i28.i.i.i.i.i.i.i, zeroinitializer - %82 = bitcast <16 x i1> %81 to i16 - %83 = icmp ne i16 %82, 0 - %84 = call i16 @llvm.cttz.i16(i16 %82, i1 true), !range !79 - %85 = zext nneg i16 %84 to i64 - %.sroa.6.0.i.i.i.i.i.i.i.i = select i1 %83, i64 %85, i64 undef - %86 = add i64 %.sroa.6.0.i.i.i.i.i.i.i.i, %.sroa.0.021.i.i.i.i.i.i.i - %87 = and i64 %86, %.val4.i.i.i.i.i.i - %.sroa.3.0.i.i.i.i.i.i.i.i = select i1 %83, i64 %87, i64 undef - %.sroa.0.0.i15.i.i.i.i.i.i.i = zext i1 %83 to i64 - br label %88 - -88: ; preds = %80, %"_ZN9hashbrown3raw21RawTable$LT$T$C$A$GT$24find_or_find_insert_slot28_$u7b$$u7b$closure$u7d$$u7d$17hc3d3cb8fc186ae71E.exit._crit_edge.i.i.i.i.i.i" - %.sroa.6.1.i.i.i.i.i.i.i = phi i64 [ %.sroa.3.0.i.i.i.i.i.i.i.i, %80 ], [ %.sroa.6.0.i.i.i.i.i.i.i, %"_ZN9hashbrown3raw21RawTable$LT$T$C$A$GT$24find_or_find_insert_slot28_$u7b$$u7b$closure$u7d$$u7d$17hc3d3cb8fc186ae71E.exit._crit_edge.i.i.i.i.i.i" ] - %.sroa.01.1.i.i.i.i.i.i.i = phi i64 [ %.sroa.0.0.i15.i.i.i.i.i.i.i, %80 ], [ 1, %"_ZN9hashbrown3raw21RawTable$LT$T$C$A$GT$24find_or_find_insert_slot28_$u7b$$u7b$closure$u7d$$u7d$17hc3d3cb8fc186ae71E.exit._crit_edge.i.i.i.i.i.i" ] - %89 = icmp eq <16 x i8> %.0.copyload.i28.i.i.i.i.i.i.i, - %90 = bitcast <16 x i1> %89 to i16 - %.not11.i.i.i.i.i.i.i = icmp eq i16 %90, 0 - br i1 %.not11.i.i.i.i.i.i.i, label %91, label %94 - -91: ; preds = %88 - %92 = add i64 %.sroa.8.0.i.i.i.i.i.i.i, 16 - %93 = add i64 %.sroa.0.021.i.i.i.i.i.i.i, %92 - br label %64 - -94: ; preds = %88 - %95 = icmp ne i64 %.sroa.01.1.i.i.i.i.i.i.i, 0 - call void @llvm.assume(i1 %95) - %96 = getelementptr inbounds i8, ptr %.val.i.i.i.i.i.i, i64 %.sroa.6.1.i.i.i.i.i.i.i - %97 = load i8, ptr %96, align 1, !noalias !73, !noundef !16 - %98 = icmp sgt i8 %97, -1 - br i1 %98, label %99, label %"_ZN9hashbrown3map28HashMap$LT$K$C$V$C$S$C$A$GT$6insert17hac95d2606dd3e157E.exit.thread.i.i.i.i" - -99: ; preds = %94 - %100 = load <16 x i8>, ptr %.val.i.i.i.i.i.i, align 16, !noalias !87 - %101 = icmp slt <16 x i8> %100, zeroinitializer - %102 = bitcast <16 x i1> %101 to i16 - %.not.i.i.i.i.i.i.i.i = icmp ne i16 %102, 0 - %103 = call i16 @llvm.cttz.i16(i16 %102, i1 true), !range !79 - %104 = zext nneg i16 %103 to i64 +81: ; preds = %"_ZN9hashbrown3raw21RawTable$LT$T$C$A$GT$24find_or_find_insert_slot28_$u7b$$u7b$closure$u7d$$u7d$17hc3d3cb8fc186ae71E.exit._crit_edge.i.i.i.i.i.i" + %82 = icmp slt <16 x i8> %.0.copyload.i28.i.i.i.i.i.i.i, zeroinitializer + %83 = bitcast <16 x i1> %82 to i16 + %84 = icmp ne i16 %83, 0 + %85 = call i16 @llvm.cttz.i16(i16 %83, i1 true), !range !79 + %86 = zext nneg i16 %85 to i64 + %.sroa.6.0.i.i.i.i.i.i.i.i = select i1 %84, i64 %86, i64 undef + %87 = add i64 %.sroa.6.0.i.i.i.i.i.i.i.i, %.sroa.0.021.i.i.i.i.i.i.i + %88 = and i64 %87, %.val4.i.i.i.i.i.i + %.sroa.3.0.i.i.i.i.i.i.i.i = select i1 %84, i64 %88, i64 undef + %.sroa.0.0.i15.i.i.i.i.i.i.i = zext i1 %84 to i64 + br label %89 + +89: ; preds = %81, %"_ZN9hashbrown3raw21RawTable$LT$T$C$A$GT$24find_or_find_insert_slot28_$u7b$$u7b$closure$u7d$$u7d$17hc3d3cb8fc186ae71E.exit._crit_edge.i.i.i.i.i.i" + %.sroa.6.1.i.i.i.i.i.i.i = phi i64 [ %.sroa.3.0.i.i.i.i.i.i.i.i, %81 ], [ %.sroa.6.0.i.i.i.i.i.i.i, %"_ZN9hashbrown3raw21RawTable$LT$T$C$A$GT$24find_or_find_insert_slot28_$u7b$$u7b$closure$u7d$$u7d$17hc3d3cb8fc186ae71E.exit._crit_edge.i.i.i.i.i.i" ] + %.sroa.01.1.i.i.i.i.i.i.i = phi i64 [ %.sroa.0.0.i15.i.i.i.i.i.i.i, %81 ], [ 1, %"_ZN9hashbrown3raw21RawTable$LT$T$C$A$GT$24find_or_find_insert_slot28_$u7b$$u7b$closure$u7d$$u7d$17hc3d3cb8fc186ae71E.exit._crit_edge.i.i.i.i.i.i" ] + %90 = icmp eq <16 x i8> %.0.copyload.i28.i.i.i.i.i.i.i, + %91 = bitcast <16 x i1> %90 to i16 + %.not11.i.i.i.i.i.i.i = icmp eq i16 %91, 0 + br i1 %.not11.i.i.i.i.i.i.i, label %92, label %95 + +92: ; preds = %89 + %93 = add i64 %.sroa.8.0.i.i.i.i.i.i.i, 16 + %94 = add i64 %.sroa.0.021.i.i.i.i.i.i.i, %93 + br label %65 + +95: ; preds = %89 + %96 = icmp ne i64 %.sroa.01.1.i.i.i.i.i.i.i, 0 + call void @llvm.assume(i1 %96) + %97 = getelementptr inbounds i8, ptr %.val.i.i.i.i.i.i, i64 %.sroa.6.1.i.i.i.i.i.i.i + %98 = load i8, ptr %97, align 1, !noalias !73, !noundef !16 + %99 = icmp sgt i8 %98, -1 + br i1 %99, label %100, label %"_ZN9hashbrown3map28HashMap$LT$K$C$V$C$S$C$A$GT$6insert17hac95d2606dd3e157E.exit.thread.i.i.i.i" + +100: ; preds = %95 + %101 = load <16 x i8>, ptr %.val.i.i.i.i.i.i, align 16, !noalias !87 + %102 = icmp slt <16 x i8> %101, zeroinitializer + %103 = bitcast <16 x i1> %102 to i16 + %.not.i.i.i.i.i.i.i.i = icmp ne i16 %103, 0 + %104 = call i16 @llvm.cttz.i16(i16 %103, i1 true), !range !79 + %105 = zext nneg i16 %104 to i64 call void @llvm.assume(i1 %.not.i.i.i.i.i.i.i.i) - %.phi.trans.insert.i.i.i.i.i = getelementptr inbounds i8, ptr %.val.i.i.i.i.i.i, i64 %104 + %.phi.trans.insert.i.i.i.i.i = getelementptr inbounds i8, ptr %.val.i.i.i.i.i.i, i64 %105 %.pre.i.i.i.i.i = load i8, ptr %.phi.trans.insert.i.i.i.i.i, align 1, !noalias !90 br label %"_ZN9hashbrown3map28HashMap$LT$K$C$V$C$S$C$A$GT$6insert17hac95d2606dd3e157E.exit.thread.i.i.i.i" -"_ZN9hashbrown3map28HashMap$LT$K$C$V$C$S$C$A$GT$6insert17hac95d2606dd3e157E.exit.thread.i.i.i.i": ; preds = %99, %94 - %105 = phi i8 [ %.pre.i.i.i.i.i, %99 ], [ %97, %94 ] - %.sroa.4.0.ph.i.i.i.i.i = phi i64 [ %104, %99 ], [ %.sroa.6.1.i.i.i.i.i.i.i, %94 ] +"_ZN9hashbrown3map28HashMap$LT$K$C$V$C$S$C$A$GT$6insert17hac95d2606dd3e157E.exit.thread.i.i.i.i": ; preds = %100, %95 + %106 = phi i8 [ %.pre.i.i.i.i.i, %100 ], [ %98, %95 ] + %.sroa.4.0.ph.i.i.i.i.i = phi i64 [ %105, %100 ], [ %.sroa.6.1.i.i.i.i.i.i.i, %95 ] call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %8) call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %8, ptr noundef nonnull align 8 dereferenceable(24) %11, i64 24, i1 false), !noalias !43 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %31, ptr noundef nonnull align 8 dereferenceable(24) %10, i64 24, i1 false), !noalias !94 call void @llvm.experimental.noalias.scope.decl(metadata !95) - %106 = getelementptr inbounds i8, ptr %.val.i.i.i.i.i.i, i64 %.sroa.4.0.ph.i.i.i.i.i - %107 = and i8 %105, 1 - %108 = zext nneg i8 %107 to i64 - %109 = load i64, ptr %16, align 8, !alias.scope !96, !noalias !97, !noundef !16 - %110 = sub i64 %109, %108 - store i64 %110, ptr %16, align 8, !alias.scope !96, !noalias !97 - %111 = add i64 %.sroa.4.0.ph.i.i.i.i.i, -16 - %112 = and i64 %111, %.val4.i.i.i.i.i.i - store i8 %63, ptr %106, align 1, !noalias !90 - %113 = getelementptr i8, ptr %.val.i.i.i.i.i.i, i64 %112 - %114 = getelementptr i8, ptr %113, i64 16 - store i8 %63, ptr %114, align 1, !noalias !90 - %115 = load i64, ptr %14, align 8, !alias.scope !96, !noalias !97, !noundef !16 - %116 = add i64 %115, 1 - store i64 %116, ptr %14, align 8, !alias.scope !96, !noalias !97 - %117 = sub nsw i64 0, %.sroa.4.0.ph.i.i.i.i.i - %118 = getelementptr inbounds { { { { i64, ptr }, i64 } }, { { { i64, ptr }, i64 } } }, ptr %.val.i.i.i.i.i.i, i64 %117 - %119 = getelementptr inbounds i8, ptr %118, i64 -48 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(48) %119, ptr noundef nonnull align 8 dereferenceable(48) %8, i64 48, i1 false), !noalias !98 + %107 = getelementptr inbounds i8, ptr %.val.i.i.i.i.i.i, i64 %.sroa.4.0.ph.i.i.i.i.i + %108 = and i8 %106, 1 + %109 = zext nneg i8 %108 to i64 + %110 = load i64, ptr %16, align 8, !alias.scope !96, !noalias !97, !noundef !16 + %111 = sub i64 %110, %109 + store i64 %111, ptr %16, align 8, !alias.scope !96, !noalias !97 + %112 = add i64 %.sroa.4.0.ph.i.i.i.i.i, -16 + %113 = and i64 %112, %.val4.i.i.i.i.i.i + store i8 %64, ptr %107, align 1, !noalias !90 + %114 = getelementptr i8, ptr %.val.i.i.i.i.i.i, i64 %113 + %115 = getelementptr i8, ptr %114, i64 16 + store i8 %64, ptr %115, align 1, !noalias !90 + %116 = load i64, ptr %14, align 8, !alias.scope !96, !noalias !97, !noundef !16 + %117 = add i64 %116, 1 + store i64 %117, ptr %14, align 8, !alias.scope !96, !noalias !97 + %118 = sub nsw i64 0, %.sroa.4.0.ph.i.i.i.i.i + %119 = getelementptr inbounds { { { { i64, ptr }, i64 } }, { { { i64, ptr }, i64 } } }, ptr %.val.i.i.i.i.i.i, i64 %118 + %120 = getelementptr inbounds i8, ptr %119, i64 -48 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(48) %120, ptr noundef nonnull align 8 dereferenceable(48) %8, i64 48, i1 false), !noalias !98 call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %8) br label %"_ZN4core4iter6traits8iterator8Iterator8for_each4call28_$u7b$$u7b$closure$u7d$$u7d$17h1fca1c9af36f5103E.exit.i.i" -120: ; preds = %77 +121: ; preds = %78 call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %.sroa.0.i.i.i.i.i) - %121 = getelementptr inbounds i8, ptr %75, i64 -24 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %.sroa.0.i.i.i.i.i, ptr noundef nonnull align 8 dereferenceable(24) %121, i64 24, i1 false), !noalias !73 - call void @llvm.memmove.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %121, ptr noundef nonnull align 8 dereferenceable(24) %10, i64 24, i1 false), !noalias !99 + %122 = getelementptr inbounds i8, ptr %76, i64 -24 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %.sroa.0.i.i.i.i.i, ptr noundef nonnull align 8 dereferenceable(24) %122, i64 24, i1 false), !noalias !73 + call void @llvm.memmove.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %122, ptr noundef nonnull align 8 dereferenceable(24) %10, i64 24, i1 false), !noalias !99 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %9, ptr noundef nonnull align 8 dereferenceable(24) %.sroa.0.i.i.i.i.i, i64 24, i1 false), !noalias !100 call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %.sroa.0.i.i.i.i.i) call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %4), !noalias !101 call void @"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$14current_memory17h93be30890cadd9e8E.llvm.2909037117879540835"(ptr noalias nocapture noundef nonnull sret({ [1 x i64], i64, [1 x i64] }) align 8 dereferenceable(24) %4, ptr noalias noundef nonnull readonly align 8 dereferenceable(16) %11), !noalias !110 - %122 = load i64, ptr %26, align 8, !range !15, !noalias !101, !noundef !16 - %.not.i.i.i.i.i.i.i.i.i = icmp eq i64 %122, 0 - br i1 %.not.i.i.i.i.i.i.i.i.i, label %"_ZN9hashbrown3map28HashMap$LT$K$C$V$C$S$C$A$GT$6insert17hac95d2606dd3e157E.exit.i.i.i.i", label %123 - -123: ; preds = %120 - %124 = load ptr, ptr %4, align 8, !noalias !101, !nonnull !16, !noundef !16 - %125 = load i64, ptr %27, align 8, !noalias !101, !noundef !16 - call void @"_ZN63_$LT$alloc..alloc..Global$u20$as$u20$core..alloc..Allocator$GT$10deallocate17hae8e459b587c5295E.llvm.2909037117879540835"(ptr noalias noundef nonnull readonly align 1 %20, ptr noundef nonnull %124, i64 noundef %122, i64 noundef %125), !noalias !110 + %123 = load i64, ptr %26, align 8, !range !15, !noalias !101, !noundef !16 + %.not.i.i.i.i.i.i.i.i.i = icmp eq i64 %123, 0 + br i1 %.not.i.i.i.i.i.i.i.i.i, label %"_ZN9hashbrown3map28HashMap$LT$K$C$V$C$S$C$A$GT$6insert17hac95d2606dd3e157E.exit.i.i.i.i", label %124 + +124: ; preds = %121 + %125 = load ptr, ptr %4, align 8, !noalias !101, !nonnull !16, !noundef !16 + %126 = load i64, ptr %27, align 8, !noalias !101, !noundef !16 + call void @"_ZN63_$LT$alloc..alloc..Global$u20$as$u20$core..alloc..Allocator$GT$10deallocate17hae8e459b587c5295E.llvm.2909037117879540835"(ptr noalias noundef nonnull readonly align 1 %20, ptr noundef nonnull %125, i64 noundef %123, i64 noundef %126), !noalias !110 br label %"_ZN9hashbrown3map28HashMap$LT$K$C$V$C$S$C$A$GT$6insert17hac95d2606dd3e157E.exit.i.i.i.i" -126: ; preds = %59, %.noexc12.i.i.i.i.i, %.noexc11.i.i.i.i.i, %.noexc.i.i.i.i.i, %32 - %127 = landingpad { ptr, i32 } +127: ; preds = %60, %.noexc12.i.i.i.i.i, %.noexc11.i.i.i.i.i, %.noexc.i.i.i.i.i, %33 + %128 = landingpad { ptr, i32 } cleanup invoke void @"_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17hb50398bb251d6c3eE"(ptr noalias noundef nonnull align 8 dereferenceable(24) %10) #33 - to label %130 unwind label %128, !noalias !99 + to label %131 unwind label %129, !noalias !99 -128: ; preds = %130, %126 - %129 = landingpad { ptr, i32 } +129: ; preds = %131, %127 + %130 = landingpad { ptr, i32 } filter [0 x ptr] zeroinitializer call void @_ZN4core9panicking16panic_in_cleanup17h55eb1d85cadde1a1E() #34, !noalias !111 unreachable -.critedge.i.i.i.i.i: ; preds = %130 - resume { ptr, i32 } %127 +.critedge.i.i.i.i.i: ; preds = %131 + resume { ptr, i32 } %128 -130: ; preds = %126 +131: ; preds = %127 invoke void @"_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17hb50398bb251d6c3eE"(ptr noalias noundef nonnull align 8 dereferenceable(24) %11) #33 - to label %.critedge.i.i.i.i.i unwind label %128, !noalias !111 + to label %.critedge.i.i.i.i.i unwind label %129, !noalias !111 -"_ZN9hashbrown3map28HashMap$LT$K$C$V$C$S$C$A$GT$6insert17hac95d2606dd3e157E.exit.i.i.i.i": ; preds = %123, %120 +"_ZN9hashbrown3map28HashMap$LT$K$C$V$C$S$C$A$GT$6insert17hac95d2606dd3e157E.exit.i.i.i.i": ; preds = %124, %121 call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %4), !noalias !101 %.pr.i.i.i.i = load i64, ptr %9, align 8, !alias.scope !112, !noalias !20 call void @llvm.experimental.noalias.scope.decl(metadata !112) - %131 = icmp eq i64 %.pr.i.i.i.i, -9223372036854775808 - br i1 %131, label %"_ZN4core4iter6traits8iterator8Iterator8for_each4call28_$u7b$$u7b$closure$u7d$$u7d$17h1fca1c9af36f5103E.exit.i.i", label %132 + %132 = icmp eq i64 %.pr.i.i.i.i, -9223372036854775808 + br i1 %132, label %"_ZN4core4iter6traits8iterator8Iterator8for_each4call28_$u7b$$u7b$closure$u7d$$u7d$17h1fca1c9af36f5103E.exit.i.i", label %133 -132: ; preds = %"_ZN9hashbrown3map28HashMap$LT$K$C$V$C$S$C$A$GT$6insert17hac95d2606dd3e157E.exit.i.i.i.i" +133: ; preds = %"_ZN9hashbrown3map28HashMap$LT$K$C$V$C$S$C$A$GT$6insert17hac95d2606dd3e157E.exit.i.i.i.i" call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %3), !noalias !115 call void @"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$14current_memory17h93be30890cadd9e8E.llvm.2909037117879540835"(ptr noalias nocapture noundef nonnull sret({ [1 x i64], i64, [1 x i64] }) align 8 dereferenceable(24) %3, ptr noalias noundef nonnull readonly align 8 dereferenceable(16) %9), !noalias !124 - %133 = load i64, ptr %28, align 8, !range !15, !noalias !115, !noundef !16 - %.not.i.i.i.i.i1.i.i.i.i = icmp eq i64 %133, 0 - br i1 %.not.i.i.i.i.i1.i.i.i.i, label %"_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17hb50398bb251d6c3eE.exit.i2.i.i.i.i", label %134 - -134: ; preds = %132 - %135 = load ptr, ptr %3, align 8, !noalias !115, !nonnull !16, !noundef !16 - %136 = load i64, ptr %29, align 8, !noalias !115, !noundef !16 - call void @"_ZN63_$LT$alloc..alloc..Global$u20$as$u20$core..alloc..Allocator$GT$10deallocate17hae8e459b587c5295E.llvm.2909037117879540835"(ptr noalias noundef nonnull readonly align 1 %30, ptr noundef nonnull %135, i64 noundef %133, i64 noundef %136), !noalias !124 + %134 = load i64, ptr %28, align 8, !range !15, !noalias !115, !noundef !16 + %.not.i.i.i.i.i1.i.i.i.i = icmp eq i64 %134, 0 + br i1 %.not.i.i.i.i.i1.i.i.i.i, label %"_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17hb50398bb251d6c3eE.exit.i2.i.i.i.i", label %135 + +135: ; preds = %133 + %136 = load ptr, ptr %3, align 8, !noalias !115, !nonnull !16, !noundef !16 + %137 = load i64, ptr %29, align 8, !noalias !115, !noundef !16 + call void @"_ZN63_$LT$alloc..alloc..Global$u20$as$u20$core..alloc..Allocator$GT$10deallocate17hae8e459b587c5295E.llvm.2909037117879540835"(ptr noalias noundef nonnull readonly align 1 %30, ptr noundef nonnull %136, i64 noundef %134, i64 noundef %137), !noalias !124 br label %"_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17hb50398bb251d6c3eE.exit.i2.i.i.i.i" -"_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17hb50398bb251d6c3eE.exit.i2.i.i.i.i": ; preds = %134, %132 +"_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17hb50398bb251d6c3eE.exit.i2.i.i.i.i": ; preds = %135, %133 call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %3), !noalias !115 br label %"_ZN4core4iter6traits8iterator8Iterator8for_each4call28_$u7b$$u7b$closure$u7d$$u7d$17h1fca1c9af36f5103E.exit.i.i" @@ -472,16 +469,13 @@ define hidden void @"_ZN121_$LT$hashbrown..map..HashMap$LT$K$C$V$C$S$C$A$GT$$u20 call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %9), !noalias !20 call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %10), !noalias !17 call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %11), !noalias !17 - call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %.sroa.0.i.i) - call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %12), !noalias !12 - call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %12), !noalias !12 call void @"_ZN90_$LT$form_urlencoded..ParseIntoOwned$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h243129031e86395fE"(ptr noalias nocapture noundef nonnull sret({ i64, [5 x i64] }) align 8 dereferenceable(48) %12, ptr noalias noundef nonnull align 8 dereferenceable(16) %13) - %137 = load i64, ptr %12, align 8, !range !15, !noalias !12, !noundef !16 - %.not.i.i = icmp eq i64 %137, -9223372036854775808 - br i1 %.not.i.i, label %_ZN4core4iter6traits8iterator8Iterator8for_each17hcb5c1c0b0a19beb5E.exit, label %32 + %138 = load i64, ptr %12, align 8, !range !15, !noalias !12, !noundef !16 + %.not.i.i = icmp eq i64 %138, -9223372036854775808 + br i1 %.not.i.i, label %_ZN4core4iter6traits8iterator8Iterator8for_each17hcb5c1c0b0a19beb5E.exit, label %33 _ZN4core4iter6traits8iterator8Iterator8for_each17hcb5c1c0b0a19beb5E.exit: ; preds = %"_ZN4core4iter6traits8iterator8Iterator8for_each4call28_$u7b$$u7b$closure$u7d$$u7d$17h1fca1c9af36f5103E.exit.i.i", %"_ZN9hashbrown3raw21RawTable$LT$T$C$A$GT$7reserve17hfe7b3b82737bf463E.exit" - call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %12), !noalias !12 + call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %12), !noalias !10 call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %13), !noalias !10 ret void } diff --git a/bench/diesel-rs/optimized/2y9fttqnynbldowv.ll b/bench/diesel-rs/optimized/2y9fttqnynbldowv.ll index 3b783a70f92..57d06d6bd95 100644 --- a/bench/diesel-rs/optimized/2y9fttqnynbldowv.ll +++ b/bench/diesel-rs/optimized/2y9fttqnynbldowv.ll @@ -670,8 +670,8 @@ define hidden void @"_ZN6diesel10connection15statement_cache36StatementCache$LT$ call void @_ZN4core9panicking16panic_in_cleanup17h55eb1d85cadde1a1E() #12, !noalias !98 unreachable -common.resume: ; preds = %.thread247, %179, %240, %.thread290, %255, %.body.i - %common.resume.op = phi { ptr, i32 } [ %eh.lpad-body.i, %.body.i ], [ %256, %255 ], [ %.pn80250, %.thread247 ], [ %180, %179 ], [ %241, %240 ], [ %.pn294, %.thread290 ] +common.resume: ; preds = %.thread247, %179, %241, %.thread290, %256, %.body.i + %common.resume.op = phi { ptr, i32 } [ %eh.lpad-body.i, %.body.i ], [ %257, %256 ], [ %.pn80250, %.thread247 ], [ %180, %179 ], [ %242, %241 ], [ %.pn294, %.thread290 ] resume { ptr, i32 } %common.resume.op 112: ; preds = %13, %.loopexit.i @@ -740,7 +740,7 @@ common.resume: ; preds = %.thread247, %179, % %.sroa.348.0..sroa_idx = getelementptr inbounds i8, ptr %0, i64 17 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(23) %.sroa.348.0..sroa_idx, ptr noundef nonnull align 1 dereferenceable(23) %.sroa.348, i64 23, i1 false) store i64 -9223372036854775807, ptr %0, align 8 - br label %245 + br label %246 126: ; preds = %122 call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %35) @@ -871,7 +871,7 @@ common.resume: ; preds = %.thread247, %179, % "_ZN4core3ptr50drop_in_place$LT$alloc..borrow..Cow$LT$str$GT$$GT$17h3c717dc5ff6d8eeeE.exit": ; preds = %"_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17h394090b88be10351E.exit.i", %"_ZN4core6result19Result$LT$T$C$E$GT$3map17hb048e146360dd3d3E.exit", %141 call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %35) - br label %245 + br label %246 164: ; preds = %.thread247, %.thread290, %201, %143 %165 = landingpad { ptr, i32 } @@ -957,7 +957,7 @@ common.resume: ; preds = %.thread247, %179, % %.sroa.11158.8..sroa_idx160 = getelementptr inbounds i8, ptr %18, i64 24 %.sroa.11158.8.copyload161 = load i64, ptr %.sroa.11158.8..sroa_idx160, align 8, !alias.scope !170, !noalias !169 call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %18), !noalias !163 - br i1 %193, label %"_ZN6diesel10connection15statement_cache27StatementCacheKey$LT$DB$GT$3sql17h4903606ef8b0e3aaE.exit95.thread312", label %228 + br i1 %193, label %"_ZN6diesel10connection15statement_cache27StatementCacheKey$LT$DB$GT$3sql17h4903606ef8b0e3aaE.exit95.thread312", label %229 "_ZN6diesel10connection15statement_cache27StatementCacheKey$LT$DB$GT$3sql17h4903606ef8b0e3aaE.exit95.thread": ; preds = %184 %195 = getelementptr inbounds i8, ptr %32, i64 24 @@ -971,14 +971,14 @@ common.resume: ; preds = %.thread247, %179, % br label %200 200: ; preds = %223, %199 - %.pn = phi ptr [ %225, %223 ], [ %167, %199 ] + %.pn = phi ptr [ %226, %223 ], [ %167, %199 ] %.071 = getelementptr inbounds i8, ptr %.pn, i64 -40 call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %.sroa.617) store i64 -9223372036854775808, ptr %0, align 8 %.sroa.435.0..sroa_idx = getelementptr inbounds i8, ptr %0, i64 8 store ptr %.071, ptr %.sroa.435.0..sroa_idx, align 8 call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %37) - br label %227 + br label %228 .thread299: ; preds = %189, %213, %216 %lpad.thr_comm297 = landingpad { ptr, i32 } @@ -1062,35 +1062,35 @@ common.resume: ; preds = %.thread247, %179, % %.sroa.0205.0.copyload = load i64, ptr %28, align 8 %.sroa.4206.0..sroa_idx = getelementptr inbounds i8, ptr %28, i64 8 %.sroa.4206.0.copyload = load ptr, ptr %.sroa.4206.0..sroa_idx, align 8, !nonnull !5, !noundef !5 - %.sroa.5207.0..sroa_idx = getelementptr inbounds i8, ptr %28, i64 16 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(48) %16, ptr noundef nonnull align 8 dereferenceable(48) %.sroa.5207.0..sroa_idx, i64 48, i1 false) - %224 = getelementptr inbounds i8, ptr %16, i64 48 - store i64 %220, ptr %224, align 8, !noalias !187 - %225 = call noundef nonnull ptr @"_ZN9hashbrown3raw21RawTable$LT$T$C$A$GT$14insert_no_grow17h96016358b12f3100E"(ptr noalias noundef nonnull align 8 dereferenceable(32) %.sroa.4206.0.copyload, i64 noundef %.sroa.0205.0.copyload, ptr noalias nocapture noundef nonnull align 8 dereferenceable(88) %16) + %224 = getelementptr inbounds i8, ptr %32, i64 16 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(48) %16, ptr noundef nonnull align 8 dereferenceable(48) %224, i64 48, i1 false) + %225 = getelementptr inbounds i8, ptr %16, i64 48 + store i64 %220, ptr %225, align 8, !noalias !187 + %226 = call noundef nonnull ptr @"_ZN9hashbrown3raw21RawTable$LT$T$C$A$GT$14insert_no_grow17h96016358b12f3100E"(ptr noalias noundef nonnull align 8 dereferenceable(32) %.sroa.4206.0.copyload, i64 noundef %.sroa.0205.0.copyload, ptr noalias nocapture noundef nonnull align 8 dereferenceable(88) %16) call void @llvm.lifetime.end.p0(i64 88, ptr nonnull %16), !noalias !183 call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %28) call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %32) br label %200 .thread331: ; preds = %"_ZN4core3ptr50drop_in_place$LT$alloc..borrow..Cow$LT$str$GT$$GT$17h3c717dc5ff6d8eeeE.exit108" - %226 = getelementptr inbounds i8, ptr %0, i64 8 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %226, ptr noundef nonnull align 8 dereferenceable(32) %222, i64 32, i1 false) + %227 = getelementptr inbounds i8, ptr %0, i64 8 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %227, ptr noundef nonnull align 8 dereferenceable(32) %222, i64 32, i1 false) store i64 -9223372036854775807, ptr %0, align 8 call void @"_ZN4core3ptr196drop_in_place$LT$std..collections..hash..map..VacantEntry$LT$diesel..connection..statement_cache..StatementCacheKey$LT$diesel..pg..backend..Pg$GT$$C$diesel..pg..connection..stmt..Statement$GT$$GT$17he6ad6c9e5fc1284eE"(ptr noalias noundef nonnull align 8 dereferenceable(64) %28) call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %28) br label %.critedge -227: ; preds = %"_ZN4core3ptr106drop_in_place$LT$diesel..connection..statement_cache..StatementCacheKey$LT$diesel..pg..backend..Pg$GT$$GT$17ha702667c6fc4f073E.exit", %200 +228: ; preds = %"_ZN4core3ptr106drop_in_place$LT$diesel..connection..statement_cache..StatementCacheKey$LT$diesel..pg..backend..Pg$GT$$GT$17ha702667c6fc4f073E.exit", %200 ret void -.critedge: ; preds = %242, %228, %.thread331 +.critedge: ; preds = %243, %229, %.thread331 call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %32) call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %.sroa.617) br label %"_ZN4core3ptr106drop_in_place$LT$diesel..connection..statement_cache..StatementCacheKey$LT$diesel..pg..backend..Pg$GT$$GT$17ha702667c6fc4f073E.exit" -228: ; preds = %.noexc94 - %229 = getelementptr inbounds i8, ptr %0, i64 8 - store i64 %192, ptr %229, align 8 +229: ; preds = %.noexc94 + %230 = getelementptr inbounds i8, ptr %0, i64 8 + store i64 %192, ptr %230, align 8 %.sroa.260.0..sroa_idx = getelementptr inbounds i8, ptr %0, i64 16 store i64 %.sroa.6151.8.copyload153, ptr %.sroa.260.0..sroa_idx, align 8 %.sroa.260.sroa.2.0..sroa.260.0..sroa_idx.sroa_idx = getelementptr inbounds i8, ptr %0, i64 24 @@ -1102,42 +1102,42 @@ common.resume: ; preds = %.thread247, %179, % tail call void @llvm.experimental.noalias.scope.decl(metadata !188) tail call void @llvm.experimental.noalias.scope.decl(metadata !191) tail call void @llvm.experimental.noalias.scope.decl(metadata !194) - %230 = load i64, ptr %186, align 8, !range !4, !alias.scope !197, !noundef !5 - %231 = icmp eq i64 %230, -9223372036854775808 - br i1 %231, label %.critedge, label %232 + %231 = load i64, ptr %186, align 8, !range !4, !alias.scope !197, !noundef !5 + %232 = icmp eq i64 %231, -9223372036854775808 + br i1 %232, label %.critedge, label %233 -232: ; preds = %228 +233: ; preds = %229 call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %15), !noalias !198 invoke void @"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$14current_memory17hfef4e42bcf133fa3E.llvm.8035010821628579948"(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(16) %185) - to label %.noexc.i.i.i unwind label %240 - -.noexc.i.i.i: ; preds = %232 - %233 = getelementptr inbounds i8, ptr %15, i64 8 - %234 = load i64, ptr %233, align 8, !range !4, !noalias !198, !noundef !5 - %.not.i.i.i.i.i.i.i = icmp eq i64 %234, 0 - br i1 %.not.i.i.i.i.i.i.i, label %242, label %235 - -235: ; preds = %.noexc.i.i.i - %236 = load ptr, ptr %15, align 8, !noalias !198, !nonnull !5, !noundef !5 - %237 = getelementptr inbounds i8, ptr %15, i64 16 - %238 = load i64, ptr %237, align 8, !noalias !198, !noundef !5 - %239 = getelementptr inbounds i8, ptr %32, i64 32 - invoke void @"_ZN63_$LT$alloc..alloc..Global$u20$as$u20$core..alloc..Allocator$GT$10deallocate17hae8e459b587c5295E.llvm.8035010821628579948"(ptr noalias noundef nonnull readonly align 1 %239, ptr noundef nonnull %236, i64 noundef %234, i64 noundef %238) - to label %242 unwind label %240 - -240: ; preds = %235, %232 - %241 = landingpad { ptr, i32 } + to label %.noexc.i.i.i unwind label %241 + +.noexc.i.i.i: ; preds = %233 + %234 = getelementptr inbounds i8, ptr %15, i64 8 + %235 = load i64, ptr %234, align 8, !range !4, !noalias !198, !noundef !5 + %.not.i.i.i.i.i.i.i = icmp eq i64 %235, 0 + br i1 %.not.i.i.i.i.i.i.i, label %243, label %236 + +236: ; preds = %.noexc.i.i.i + %237 = load ptr, ptr %15, align 8, !noalias !198, !nonnull !5, !noundef !5 + %238 = getelementptr inbounds i8, ptr %15, i64 16 + %239 = load i64, ptr %238, align 8, !noalias !198, !noundef !5 + %240 = getelementptr inbounds i8, ptr %32, i64 32 + invoke void @"_ZN63_$LT$alloc..alloc..Global$u20$as$u20$core..alloc..Allocator$GT$10deallocate17hae8e459b587c5295E.llvm.8035010821628579948"(ptr noalias noundef nonnull readonly align 1 %240, ptr noundef nonnull %237, i64 noundef %235, i64 noundef %239) + to label %243 unwind label %241 + +241: ; preds = %236, %233 + %242 = landingpad { ptr, i32 } cleanup invoke void @"_ZN4core3ptr79drop_in_place$LT$alloc..vec..Vec$LT$diesel..pg..backend..PgTypeMetadata$GT$$GT$17h4115eca98a73b787E"(ptr noalias noundef nonnull align 8 dereferenceable(24) %186) #11 - to label %common.resume unwind label %243 + to label %common.resume unwind label %244 -242: ; preds = %235, %.noexc.i.i.i +243: ; preds = %236, %.noexc.i.i.i call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %15), !noalias !198 call void @"_ZN4core3ptr79drop_in_place$LT$alloc..vec..Vec$LT$diesel..pg..backend..PgTypeMetadata$GT$$GT$17h4115eca98a73b787E"(ptr noalias noundef nonnull align 8 dereferenceable(24) %186) br label %.critedge -243: ; preds = %240 - %244 = landingpad { ptr, i32 } +244: ; preds = %241 + %245 = landingpad { ptr, i32 } filter [0 x ptr] zeroinitializer call void @_ZN4core9panicking16panic_in_cleanup17h55eb1d85cadde1a1E() #12 unreachable @@ -1147,47 +1147,47 @@ common.resume: ; preds = %.thread247, %179, % invoke void @"_ZN4core3ptr196drop_in_place$LT$std..collections..hash..map..VacantEntry$LT$diesel..connection..statement_cache..StatementCacheKey$LT$diesel..pg..backend..Pg$GT$$C$diesel..pg..connection..stmt..Statement$GT$$GT$17he6ad6c9e5fc1284eE"(ptr noalias noundef nonnull align 8 dereferenceable(64) %32) #11 to label %common.resume unwind label %164 -"_ZN4core3ptr106drop_in_place$LT$diesel..connection..statement_cache..StatementCacheKey$LT$diesel..pg..backend..Pg$GT$$GT$17ha702667c6fc4f073E.exit": ; preds = %257, %245, %.critedge, %115 +"_ZN4core3ptr106drop_in_place$LT$diesel..connection..statement_cache..StatementCacheKey$LT$diesel..pg..backend..Pg$GT$$GT$17ha702667c6fc4f073E.exit": ; preds = %258, %246, %.critedge, %115 call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %37) - br label %227 + br label %228 -245: ; preds = %124, %"_ZN4core3ptr50drop_in_place$LT$alloc..borrow..Cow$LT$str$GT$$GT$17h3c717dc5ff6d8eeeE.exit" +246: ; preds = %124, %"_ZN4core3ptr50drop_in_place$LT$alloc..borrow..Cow$LT$str$GT$$GT$17h3c717dc5ff6d8eeeE.exit" call void @llvm.experimental.noalias.scope.decl(metadata !207) - %246 = load i64, ptr %.sroa.5174.0..sroa_idx, align 8, !range !4, !alias.scope !207, !noundef !5 - %247 = icmp eq i64 %246, -9223372036854775808 - br i1 %247, label %"_ZN4core3ptr106drop_in_place$LT$diesel..connection..statement_cache..StatementCacheKey$LT$diesel..pg..backend..Pg$GT$$GT$17ha702667c6fc4f073E.exit", label %248 + %247 = load i64, ptr %.sroa.5174.0..sroa_idx, align 8, !range !4, !alias.scope !207, !noundef !5 + %248 = icmp eq i64 %247, -9223372036854775808 + br i1 %248, label %"_ZN4core3ptr106drop_in_place$LT$diesel..connection..statement_cache..StatementCacheKey$LT$diesel..pg..backend..Pg$GT$$GT$17ha702667c6fc4f073E.exit", label %249 -248: ; preds = %245 +249: ; preds = %246 call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %14), !noalias !210 invoke void @"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$14current_memory17hfef4e42bcf133fa3E.llvm.8035010821628579948"(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(16) %37) - to label %.noexc.i114 unwind label %255 - -.noexc.i114: ; preds = %248 - %249 = getelementptr inbounds i8, ptr %14, i64 8 - %250 = load i64, ptr %249, align 8, !range !4, !noalias !210, !noundef !5 - %.not.i.i.i.i.i115 = icmp eq i64 %250, 0 - br i1 %.not.i.i.i.i.i115, label %257, label %251 - -251: ; preds = %.noexc.i114 - %252 = load ptr, ptr %14, align 8, !noalias !210, !nonnull !5, !noundef !5 - %253 = getelementptr inbounds i8, ptr %14, i64 16 - %254 = load i64, ptr %253, align 8, !noalias !210, !noundef !5 - invoke void @"_ZN63_$LT$alloc..alloc..Global$u20$as$u20$core..alloc..Allocator$GT$10deallocate17hae8e459b587c5295E.llvm.8035010821628579948"(ptr noalias noundef nonnull readonly align 1 %.sroa.4173.0..sroa_idx, ptr noundef nonnull %252, i64 noundef %250, i64 noundef %254) - to label %257 unwind label %255 - -255: ; preds = %251, %248 - %256 = landingpad { ptr, i32 } + to label %.noexc.i114 unwind label %256 + +.noexc.i114: ; preds = %249 + %250 = getelementptr inbounds i8, ptr %14, i64 8 + %251 = load i64, ptr %250, align 8, !range !4, !noalias !210, !noundef !5 + %.not.i.i.i.i.i115 = icmp eq i64 %251, 0 + br i1 %.not.i.i.i.i.i115, label %258, label %252 + +252: ; preds = %.noexc.i114 + %253 = load ptr, ptr %14, align 8, !noalias !210, !nonnull !5, !noundef !5 + %254 = getelementptr inbounds i8, ptr %14, i64 16 + %255 = load i64, ptr %254, align 8, !noalias !210, !noundef !5 + invoke void @"_ZN63_$LT$alloc..alloc..Global$u20$as$u20$core..alloc..Allocator$GT$10deallocate17hae8e459b587c5295E.llvm.8035010821628579948"(ptr noalias noundef nonnull readonly align 1 %.sroa.4173.0..sroa_idx, ptr noundef nonnull %253, i64 noundef %251, i64 noundef %255) + to label %258 unwind label %256 + +256: ; preds = %252, %249 + %257 = landingpad { ptr, i32 } cleanup invoke void @"_ZN4core3ptr79drop_in_place$LT$alloc..vec..Vec$LT$diesel..pg..backend..PgTypeMetadata$GT$$GT$17h4115eca98a73b787E"(ptr noalias noundef nonnull align 8 dereferenceable(24) %.sroa.5174.0..sroa_idx) #11 - to label %common.resume unwind label %258 + to label %common.resume unwind label %259 -257: ; preds = %251, %.noexc.i114 +258: ; preds = %252, %.noexc.i114 call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %14), !noalias !210 call void @"_ZN4core3ptr79drop_in_place$LT$alloc..vec..Vec$LT$diesel..pg..backend..PgTypeMetadata$GT$$GT$17h4115eca98a73b787E"(ptr noalias noundef nonnull align 8 dereferenceable(24) %.sroa.5174.0..sroa_idx) br label %"_ZN4core3ptr106drop_in_place$LT$diesel..connection..statement_cache..StatementCacheKey$LT$diesel..pg..backend..Pg$GT$$GT$17ha702667c6fc4f073E.exit" -258: ; preds = %255 - %259 = landingpad { ptr, i32 } +259: ; preds = %256 + %260 = landingpad { ptr, i32 } filter [0 x ptr] zeroinitializer call void @_ZN4core9panicking16panic_in_cleanup17h55eb1d85cadde1a1E() #12 unreachable diff --git a/bench/diesel-rs/optimized/2zzouj7cxojfsmtn.ll b/bench/diesel-rs/optimized/2zzouj7cxojfsmtn.ll index 93674830d33..8d554db7c10 100644 --- a/bench/diesel-rs/optimized/2zzouj7cxojfsmtn.ll +++ b/bench/diesel-rs/optimized/2zzouj7cxojfsmtn.ll @@ -7,8 +7,6 @@ target triple = "x86_64-unknown-linux-gnu" ; Function Attrs: mustprogress nofree norecurse nosync nounwind nonlazybind willreturn uwtable define hidden void @"_ZN101_$LT$indexmap..map..iter..IntoIter$LT$K$C$V$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17hdc62751290e0534fE"(ptr noalias nocapture noundef writeonly sret({ [3 x i64], i64, [39 x i64] }) align 8 dereferenceable(344) %0, ptr noalias nocapture noundef align 8 dereferenceable(32) %1) unnamed_addr #0 { - %.sroa.45 = alloca [344 x i8], align 8 - %.sroa.06 = alloca { { i64, ptr }, i64 }, align 8 tail call void @llvm.experimental.noalias.scope.decl(metadata !4) %3 = getelementptr inbounds i8, ptr %1, i64 16 %4 = load ptr, ptr %3, align 8, !alias.scope !4, !noalias !7, !noundef !9 @@ -27,25 +25,19 @@ define hidden void @"_ZN101_$LT$indexmap..map..iter..IntoIter$LT$K$C$V$GT$$u20$a "_ZN103_$LT$alloc..vec..into_iter..IntoIter$LT$T$C$A$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17hca5eb021d65c51e2E.llvm.12706041108347739931.exit.thread": ; preds = %2, %"_ZN103_$LT$alloc..vec..into_iter..IntoIter$LT$T$C$A$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17hca5eb021d65c51e2E.llvm.12706041108347739931.exit" %10 = getelementptr inbounds i8, ptr %0, i64 24 store i64 12, ptr %10, align 8 - br label %12 + br label %13 11: ; preds = %"_ZN103_$LT$alloc..vec..into_iter..IntoIter$LT$T$C$A$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17hca5eb021d65c51e2E.llvm.12706041108347739931.exit" %.sroa.6.0..sroa_idx2 = getelementptr inbounds i8, ptr %4, i64 8 - call void @llvm.lifetime.start.p0(i64 344, ptr nonnull %.sroa.45) - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(344) %.sroa.45, ptr noundef nonnull align 8 dereferenceable(344) %.sroa.6.0..sroa_idx2, i64 344, i1 false) - call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %.sroa.06) - %.sroa.45.320..sroa_idx = getelementptr inbounds i8, ptr %.sroa.45, i64 312 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %.sroa.06, ptr noundef nonnull align 8 dereferenceable(24) %.sroa.45.320..sroa_idx, i64 24, i1 false), !alias.scope !10 - call void @llvm.lifetime.end.p0(i64 344, ptr nonnull %.sroa.45) - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %0, ptr noundef nonnull align 8 dereferenceable(24) %.sroa.06, i64 24, i1 false) + %12 = getelementptr inbounds i8, ptr %4, i64 320 + tail call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %0, ptr noundef nonnull align 8 dereferenceable(24) %12, i64 24, i1 false) %.sroa.47.0..sroa_idx = getelementptr inbounds i8, ptr %0, i64 24 store i64 %.sroa.0.0.copyload1, ptr %.sroa.47.0..sroa_idx, align 8 %.sroa.5.0..sroa_idx = getelementptr inbounds i8, ptr %0, i64 32 tail call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(312) %.sroa.5.0..sroa_idx, ptr noundef nonnull align 8 dereferenceable(312) %.sroa.6.0..sroa_idx2, i64 312, i1 false) - call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %.sroa.06) - br label %12 + br label %13 -12: ; preds = %11, %"_ZN103_$LT$alloc..vec..into_iter..IntoIter$LT$T$C$A$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17hca5eb021d65c51e2E.llvm.12706041108347739931.exit.thread" +13: ; preds = %11, %"_ZN103_$LT$alloc..vec..into_iter..IntoIter$LT$T$C$A$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17hca5eb021d65c51e2E.llvm.12706041108347739931.exit.thread" ret void } @@ -105,9 +97,9 @@ define hidden void @"_ZN111_$LT$core..iter..adapters..zip..Zip$LT$A$C$B$GT$$u20$ ; Function Attrs: nonlazybind uwtable define hidden noundef zeroext i1 @"_ZN44_$LT$$RF$T$u20$as$u20$core..fmt..Display$GT$3fmt17hf6f29b3fa4e6d799E"(ptr noalias nocapture noundef readonly align 8 dereferenceable(16) %0, ptr noalias noundef align 8 dereferenceable(64) %1) unnamed_addr #3 { - %3 = load ptr, ptr %0, align 8, !nonnull !9, !align !17, !noundef !9 + %3 = load ptr, ptr %0, align 8, !nonnull !9, !align !10, !noundef !9 %4 = getelementptr inbounds i8, ptr %0, i64 8 - %5 = load ptr, ptr %4, align 8, !nonnull !9, !align !18, !noundef !9 + %5 = load ptr, ptr %4, align 8, !nonnull !9, !align !11, !noundef !9 %6 = tail call noundef zeroext i1 @"_ZN66_$LT$dyn$u20$serde..de..Expected$u20$as$u20$core..fmt..Display$GT$3fmt17hee81195554d5df71E"(ptr noundef nonnull align 1 %3, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) %5, ptr noalias noundef nonnull align 8 dereferenceable(64) %1) ret i1 %6 } @@ -132,18 +124,18 @@ define hidden noundef i64 @_ZN4core3cmp6min_by17h6e478000164f26a3E.llvm.12706041 ; Function Attrs: inlinehint mustprogress nofree norecurse nosync nounwind nonlazybind willreturn memory(argmem: readwrite) uwtable define hidden void @_ZN4core3ops8function6FnOnce9call_once17h3fc5469ae29126edE.llvm.12706041108347739931(ptr noalias nocapture noundef writeonly sret({ { { { { i64, ptr }, i64 } } }, { { i64, [21 x i64] }, { { { { { i64, ptr }, i64 } } }, { i64, [2 x i64] }, { { i64, [2 x i64] }, { i64, [2 x i64] } }, { { i64, [2 x i64] }, { i64, [2 x i64] } } } } }) align 8 dereferenceable(344) %0, ptr noalias nocapture noundef readonly align 8 dereferenceable(352) %1) unnamed_addr #6 { %.sroa.0.320..sroa_idx = getelementptr inbounds i8, ptr %1, i64 320 - tail call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %0, ptr noundef nonnull align 8 dereferenceable(24) %.sroa.0.320..sroa_idx, i64 24, i1 false), !alias.scope !19 + tail call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %0, ptr noundef nonnull align 8 dereferenceable(24) %.sroa.0.320..sroa_idx, i64 24, i1 false), !alias.scope !12 %3 = getelementptr inbounds i8, ptr %0, i64 24 - tail call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(320) %3, ptr noundef nonnull align 8 dereferenceable(320) %1, i64 320, i1 false), !alias.scope !19 + tail call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(320) %3, ptr noundef nonnull align 8 dereferenceable(320) %1, i64 320, i1 false), !alias.scope !12 ret void } ; Function Attrs: inlinehint mustprogress nofree norecurse nosync nounwind nonlazybind willreturn memory(argmem: read, inaccessiblemem: read) uwtable define hidden noundef i8 @_ZN4core3ops8function6FnOnce9call_once17h63a70ddc8b5ea29dE.llvm.12706041108347739931(ptr noalias nocapture noundef readonly align 8 dereferenceable(8) %0, ptr noalias nocapture noundef readonly align 8 dereferenceable(8) %1) unnamed_addr #7 { - tail call void @llvm.experimental.noalias.scope.decl(metadata !23) - tail call void @llvm.experimental.noalias.scope.decl(metadata !26) - %3 = load i64, ptr %0, align 8, !alias.scope !23, !noalias !26, !noundef !9 - %4 = load i64, ptr %1, align 8, !alias.scope !26, !noalias !23, !noundef !9 + tail call void @llvm.experimental.noalias.scope.decl(metadata !16) + tail call void @llvm.experimental.noalias.scope.decl(metadata !19) + %3 = load i64, ptr %0, align 8, !alias.scope !16, !noalias !19, !noundef !9 + %4 = load i64, ptr %1, align 8, !alias.scope !19, !noalias !16, !noundef !9 %5 = icmp ult i64 %3, %4 %6 = icmp ne i64 %3, %4 %..i = zext i1 %6 to i8 @@ -155,58 +147,58 @@ define hidden noundef i8 @_ZN4core3ops8function6FnOnce9call_once17h63a70ddc8b5ea define hidden void @_ZN5serde2de9SeqAccess12next_element17hc7a231401a9dfbd7E.llvm.12706041108347739931(ptr noalias nocapture noundef writeonly sret({ i64, [11 x i64] }) align 8 dereferenceable(96) %0, ptr noalias nocapture noundef align 8 dereferenceable(32) %1) unnamed_addr #8 personality ptr @rust_eh_personality { %3 = alloca { { i64, [21 x i64] }, i8, [7 x i8] }, align 8 %4 = alloca { i64, [11 x i64] }, align 8 - tail call void @llvm.experimental.noalias.scope.decl(metadata !28) - tail call void @llvm.experimental.noalias.scope.decl(metadata !31) - tail call void @llvm.experimental.noalias.scope.decl(metadata !33) + tail call void @llvm.experimental.noalias.scope.decl(metadata !21) + tail call void @llvm.experimental.noalias.scope.decl(metadata !24) + tail call void @llvm.experimental.noalias.scope.decl(metadata !26) %5 = getelementptr inbounds i8, ptr %1, i64 16 - %6 = load ptr, ptr %5, align 8, !alias.scope !36, !noalias !37, !noundef !9 + %6 = load ptr, ptr %5, align 8, !alias.scope !29, !noalias !30, !noundef !9 %7 = getelementptr inbounds i8, ptr %1, i64 24 - %8 = load ptr, ptr %7, align 8, !alias.scope !36, !noalias !37, !noundef !9 + %8 = load ptr, ptr %7, align 8, !alias.scope !29, !noalias !30, !noundef !9 %9 = icmp eq ptr %6, %8 br i1 %9, label %"_ZN103_$LT$alloc..vec..into_iter..IntoIter$LT$T$C$A$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h66d29f6dd39fa1a1E.exit.thread.i", label %"_ZN103_$LT$alloc..vec..into_iter..IntoIter$LT$T$C$A$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h66d29f6dd39fa1a1E.exit.i" "_ZN103_$LT$alloc..vec..into_iter..IntoIter$LT$T$C$A$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h66d29f6dd39fa1a1E.exit.i": ; preds = %2 %10 = getelementptr inbounds i8, ptr %6, i64 176 - store ptr %10, ptr %5, align 8, !alias.scope !36, !noalias !37 - %.sroa.0.0.copyload1.i = load i64, ptr %6, align 8, !noalias !39 + store ptr %10, ptr %5, align 8, !alias.scope !29, !noalias !30 + %.sroa.0.0.copyload1.i = load i64, ptr %6, align 8, !noalias !32 %11 = icmp eq i64 %.sroa.0.0.copyload1.i, 12 br i1 %11, label %"_ZN103_$LT$alloc..vec..into_iter..IntoIter$LT$T$C$A$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h66d29f6dd39fa1a1E.exit.thread.i", label %13 "_ZN103_$LT$alloc..vec..into_iter..IntoIter$LT$T$C$A$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h66d29f6dd39fa1a1E.exit.thread.i": ; preds = %"_ZN103_$LT$alloc..vec..into_iter..IntoIter$LT$T$C$A$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h66d29f6dd39fa1a1E.exit.i", %2 %12 = getelementptr inbounds i8, ptr %0, i64 8 - store i8 0, ptr %12, align 8, !alias.scope !28, !noalias !31 - store i64 2, ptr %0, align 8, !alias.scope !28, !noalias !31 + store i8 0, ptr %12, align 8, !alias.scope !21, !noalias !24 + store i64 2, ptr %0, align 8, !alias.scope !21, !noalias !24 br label %"_ZN77_$LT$toml_edit..de..array..ArraySeqAccess$u20$as$u20$serde..de..SeqAccess$GT$17next_element_seed17h61555f6953fe1438E.llvm.12706041108347739931.exit" 13: ; preds = %"_ZN103_$LT$alloc..vec..into_iter..IntoIter$LT$T$C$A$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h66d29f6dd39fa1a1E.exit.i" %.sroa.6.0..sroa_idx2.i = getelementptr inbounds i8, ptr %6, i64 8 %.sroa.2.0..sroa_idx.i = getelementptr inbounds i8, ptr %3, i64 8 - call void @llvm.lifetime.start.p0(i64 184, ptr nonnull %3), !noalias !40 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(168) %.sroa.2.0..sroa_idx.i, ptr noundef nonnull align 8 dereferenceable(168) %.sroa.6.0..sroa_idx2.i, i64 168, i1 false), !noalias !40 - call void @llvm.lifetime.start.p0(i64 96, ptr nonnull %4), !noalias !40 - store i64 %.sroa.0.0.copyload1.i, ptr %3, align 8, !noalias !40 + call void @llvm.lifetime.start.p0(i64 184, ptr nonnull %3), !noalias !33 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(168) %.sroa.2.0..sroa_idx.i, ptr noundef nonnull align 8 dereferenceable(168) %.sroa.6.0..sroa_idx2.i, i64 168, i1 false), !noalias !33 + call void @llvm.lifetime.start.p0(i64 96, ptr nonnull %4), !noalias !33 + store i64 %.sroa.0.0.copyload1.i, ptr %3, align 8, !noalias !33 %14 = getelementptr inbounds i8, ptr %3, i64 176 - store i8 0, ptr %14, align 8, !noalias !40 - call void @"_ZN83_$LT$toml_edit..de..value..ValueDeserializer$u20$as$u20$serde..de..Deserializer$GT$15deserialize_any17hcb9f587e82489b45E"(ptr noalias nocapture noundef nonnull sret({ i64, [11 x i64] }) align 8 dereferenceable(96) %4, ptr noalias nocapture noundef nonnull align 8 dereferenceable(184) %3), !noalias !40 - call void @llvm.lifetime.end.p0(i64 184, ptr nonnull %3), !noalias !40 - tail call void @llvm.experimental.noalias.scope.decl(metadata !41) - tail call void @llvm.experimental.noalias.scope.decl(metadata !44) - %15 = load i64, ptr %4, align 8, !range !46, !alias.scope !44, !noalias !47, !noundef !9 + store i8 0, ptr %14, align 8, !noalias !33 + call void @"_ZN83_$LT$toml_edit..de..value..ValueDeserializer$u20$as$u20$serde..de..Deserializer$GT$15deserialize_any17hcb9f587e82489b45E"(ptr noalias nocapture noundef nonnull sret({ i64, [11 x i64] }) align 8 dereferenceable(96) %4, ptr noalias nocapture noundef nonnull align 8 dereferenceable(184) %3), !noalias !33 + call void @llvm.lifetime.end.p0(i64 184, ptr nonnull %3), !noalias !33 + tail call void @llvm.experimental.noalias.scope.decl(metadata !34) + tail call void @llvm.experimental.noalias.scope.decl(metadata !37) + %15 = load i64, ptr %4, align 8, !range !39, !alias.scope !37, !noalias !40, !noundef !9 %16 = icmp eq i64 %15, 2 br i1 %16, label %17, label %19 17: ; preds = %13 %18 = getelementptr inbounds i8, ptr %0, i64 8 - store i8 1, ptr %18, align 8, !alias.scope !48, !noalias !49 - store i64 2, ptr %0, align 8, !alias.scope !48, !noalias !49 + store i8 1, ptr %18, align 8, !alias.scope !41, !noalias !42 + store i64 2, ptr %0, align 8, !alias.scope !41, !noalias !42 br label %"_ZN4core6result19Result$LT$T$C$E$GT$3map17hfd6e805b96629d0cE.exit.i" 19: ; preds = %13 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(96) %0, ptr noundef nonnull align 8 dereferenceable(96) %4, i64 96, i1 false), !alias.scope !50, !noalias !31 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(96) %0, ptr noundef nonnull align 8 dereferenceable(96) %4, i64 96, i1 false), !alias.scope !43, !noalias !24 br label %"_ZN4core6result19Result$LT$T$C$E$GT$3map17hfd6e805b96629d0cE.exit.i" "_ZN4core6result19Result$LT$T$C$E$GT$3map17hfd6e805b96629d0cE.exit.i": ; preds = %19, %17 - call void @llvm.lifetime.end.p0(i64 96, ptr nonnull %4), !noalias !40 + call void @llvm.lifetime.end.p0(i64 96, ptr nonnull %4), !noalias !33 br label %"_ZN77_$LT$toml_edit..de..array..ArraySeqAccess$u20$as$u20$serde..de..SeqAccess$GT$17next_element_seed17h61555f6953fe1438E.llvm.12706041108347739931.exit" "_ZN77_$LT$toml_edit..de..array..ArraySeqAccess$u20$as$u20$serde..de..SeqAccess$GT$17next_element_seed17h61555f6953fe1438E.llvm.12706041108347739931.exit": ; preds = %"_ZN103_$LT$alloc..vec..into_iter..IntoIter$LT$T$C$A$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h66d29f6dd39fa1a1E.exit.thread.i", %"_ZN4core6result19Result$LT$T$C$E$GT$3map17hfd6e805b96629d0cE.exit.i" @@ -216,25 +208,25 @@ define hidden void @_ZN5serde2de9SeqAccess12next_element17hc7a231401a9dfbd7E.llv ; Function Attrs: nonlazybind uwtable define hidden noundef zeroext i1 @"_ZN73_$LT$T$u20$as$u20$core..array..equality..SpecArrayEq$LT$Other$C$_$GT$$GT$7spec_eq17h9ab9ae00f65ee8dbE"(ptr noalias noundef readonly align 8 dereferenceable(16) %0, ptr noalias noundef readonly align 8 dereferenceable(16) %1) unnamed_addr #3 personality ptr @rust_eh_personality { %3 = alloca { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, align 8 - call void @llvm.lifetime.start.p0(i64 56, ptr nonnull %3), !noalias !51 + call void @llvm.lifetime.start.p0(i64 56, ptr nonnull %3), !noalias !44 %4 = getelementptr inbounds i8, ptr %0, i64 16 %5 = getelementptr inbounds i8, ptr %1, i64 16 - store ptr %0, ptr %3, align 8, !alias.scope !55, !noalias !51 + store ptr %0, ptr %3, align 8, !alias.scope !48, !noalias !44 %6 = getelementptr inbounds i8, ptr %3, i64 8 - store ptr %4, ptr %6, align 8, !alias.scope !55, !noalias !51 + store ptr %4, ptr %6, align 8, !alias.scope !48, !noalias !44 %7 = getelementptr inbounds i8, ptr %3, i64 16 - store ptr %1, ptr %7, align 8, !alias.scope !55, !noalias !51 + store ptr %1, ptr %7, align 8, !alias.scope !48, !noalias !44 %8 = getelementptr inbounds i8, ptr %3, i64 24 - store ptr %5, ptr %8, align 8, !alias.scope !55, !noalias !51 + store ptr %5, ptr %8, align 8, !alias.scope !48, !noalias !44 %9 = getelementptr inbounds i8, ptr %3, i64 32 - store i64 0, ptr %9, align 8, !alias.scope !55, !noalias !51 + store i64 0, ptr %9, align 8, !alias.scope !48, !noalias !44 %10 = getelementptr inbounds i8, ptr %3, i64 40 - store i64 1, ptr %10, align 8, !alias.scope !55, !noalias !51 + store i64 1, ptr %10, align 8, !alias.scope !48, !noalias !44 %11 = getelementptr inbounds i8, ptr %3, i64 48 - store i64 1, ptr %11, align 8, !alias.scope !55, !noalias !51 + store i64 1, ptr %11, align 8, !alias.scope !48, !noalias !44 %12 = call noundef zeroext i1 @_ZN4core4iter6traits8iterator8Iterator8try_fold17h435bbafb74354231E.llvm.6229933791239335933(ptr noalias noundef nonnull align 8 dereferenceable(56) %3) %13 = xor i1 %12, true - call void @llvm.lifetime.end.p0(i64 56, ptr nonnull %3), !noalias !51 + call void @llvm.lifetime.end.p0(i64 56, ptr nonnull %3), !noalias !44 ret i1 %13 } @@ -248,9 +240,9 @@ define hidden void @"_ZN73_$LT$serde..de..ignored_any..IgnoredAny$u20$as$u20$ser %7 = getelementptr inbounds i8, ptr %1, i64 16 %8 = getelementptr inbounds i8, ptr %1, i64 24 %9 = load ptr, ptr %7, align 8, !noundef !9 - %10 = load ptr, ptr %8, align 8, !alias.scope !60, !noalias !67, !noundef !9 + %10 = load ptr, ptr %8, align 8, !alias.scope !53, !noalias !60, !noundef !9 %11 = icmp eq ptr %9, %10 - br i1 %11, label %"_ZN103_$LT$alloc..vec..into_iter..IntoIter$LT$T$C$A$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h66d29f6dd39fa1a1E.exit.i.i._crit_edge", label %"_ZN103_$LT$alloc..vec..into_iter..IntoIter$LT$T$C$A$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h66d29f6dd39fa1a1E.exit.i.i.lr.ph" + br i1 %11, label %._crit_edge, label %"_ZN103_$LT$alloc..vec..into_iter..IntoIter$LT$T$C$A$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h66d29f6dd39fa1a1E.exit.i.i.lr.ph" "_ZN103_$LT$alloc..vec..into_iter..IntoIter$LT$T$C$A$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h66d29f6dd39fa1a1E.exit.i.i.lr.ph": ; preds = %2 %.sroa.2.0..sroa_idx.i.i = getelementptr inbounds i8, ptr %5, i64 8 @@ -259,28 +251,28 @@ define hidden void @"_ZN73_$LT$serde..de..ignored_any..IgnoredAny$u20$as$u20$ser "_ZN103_$LT$alloc..vec..into_iter..IntoIter$LT$T$C$A$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h66d29f6dd39fa1a1E.exit.i.i": ; preds = %"_ZN103_$LT$alloc..vec..into_iter..IntoIter$LT$T$C$A$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h66d29f6dd39fa1a1E.exit.i.i.lr.ph", %29 %13 = phi ptr [ %9, %"_ZN103_$LT$alloc..vec..into_iter..IntoIter$LT$T$C$A$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h66d29f6dd39fa1a1E.exit.i.i.lr.ph" ], [ %30, %29 ] - tail call void @llvm.experimental.noalias.scope.decl(metadata !71) - tail call void @llvm.experimental.noalias.scope.decl(metadata !73) - tail call void @llvm.experimental.noalias.scope.decl(metadata !75) + tail call void @llvm.experimental.noalias.scope.decl(metadata !64) + tail call void @llvm.experimental.noalias.scope.decl(metadata !66) + tail call void @llvm.experimental.noalias.scope.decl(metadata !68) %14 = getelementptr inbounds i8, ptr %13, i64 176 - store ptr %14, ptr %7, align 8, !alias.scope !77, !noalias !67 - %.sroa.0.0.copyload1.i.i = load i64, ptr %13, align 8, !noalias !78 + store ptr %14, ptr %7, align 8, !alias.scope !70, !noalias !60 + %.sroa.0.0.copyload1.i.i = load i64, ptr %13, align 8, !noalias !71 %15 = icmp eq i64 %.sroa.0.0.copyload1.i.i, 12 - br i1 %15, label %"_ZN103_$LT$alloc..vec..into_iter..IntoIter$LT$T$C$A$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h66d29f6dd39fa1a1E.exit.i.i._crit_edge.loopexit.split.loop.exit", label %16 + br i1 %15, label %._crit_edge.loopexit.split.loop.exit18, label %16 16: ; preds = %"_ZN103_$LT$alloc..vec..into_iter..IntoIter$LT$T$C$A$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h66d29f6dd39fa1a1E.exit.i.i" %.sroa.6.0..sroa_idx2.i.i = getelementptr inbounds i8, ptr %13, i64 8 - call void @llvm.lifetime.start.p0(i64 184, ptr nonnull %5), !noalias !79 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(168) %.sroa.2.0..sroa_idx.i.i, ptr noundef nonnull align 8 dereferenceable(168) %.sroa.6.0..sroa_idx2.i.i, i64 168, i1 false), !noalias !79 - call void @llvm.lifetime.start.p0(i64 96, ptr nonnull %6), !noalias !79 - store i64 %.sroa.0.0.copyload1.i.i, ptr %5, align 8, !noalias !79 - store i8 0, ptr %12, align 8, !noalias !79 + call void @llvm.lifetime.start.p0(i64 184, ptr nonnull %5), !noalias !72 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(168) %.sroa.2.0..sroa_idx.i.i, ptr noundef nonnull align 8 dereferenceable(168) %.sroa.6.0..sroa_idx2.i.i, i64 168, i1 false), !noalias !72 + call void @llvm.lifetime.start.p0(i64 96, ptr nonnull %6), !noalias !72 + store i64 %.sroa.0.0.copyload1.i.i, ptr %5, align 8, !noalias !72 + store i8 0, ptr %12, align 8, !noalias !72 invoke void @"_ZN83_$LT$toml_edit..de..value..ValueDeserializer$u20$as$u20$serde..de..Deserializer$GT$15deserialize_any17hcb9f587e82489b45E"(ptr noalias nocapture noundef nonnull sret({ i64, [11 x i64] }) align 8 dereferenceable(96) %6, ptr noalias nocapture noundef nonnull align 8 dereferenceable(184) %5) to label %.noexc unwind label %19 .noexc: ; preds = %16 - call void @llvm.lifetime.end.p0(i64 184, ptr nonnull %5), !noalias !79 - %17 = load i64, ptr %6, align 8, !range !46, !alias.scope !80, !noalias !84, !noundef !9 + call void @llvm.lifetime.end.p0(i64 184, ptr nonnull %5), !noalias !72 + %17 = load i64, ptr %6, align 8, !range !39, !alias.scope !73, !noalias !77, !noundef !9 %18 = icmp eq i64 %17, 2 br i1 %18, label %29, label %21 @@ -292,21 +284,21 @@ define hidden void @"_ZN73_$LT$serde..de..ignored_any..IgnoredAny$u20$as$u20$ser 21: ; preds = %.noexc %.sroa.9.0..sroa_idx = getelementptr inbounds i8, ptr %6, i64 8 - %.sroa.9.0.copyload6 = load i8, ptr %.sroa.9.0..sroa_idx, align 8, !alias.scope !85, !noalias !84 + %.sroa.9.0.copyload6 = load i8, ptr %.sroa.9.0..sroa_idx, align 8, !alias.scope !78, !noalias !77 %.sroa.12.0..sroa_idx = getelementptr inbounds i8, ptr %6, i64 9 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(87) %.sroa.0.sroa.3, ptr noundef nonnull align 1 dereferenceable(87) %.sroa.12.0..sroa_idx, i64 87, i1 false) - call void @llvm.lifetime.end.p0(i64 96, ptr nonnull %6), !noalias !79 + call void @llvm.lifetime.end.p0(i64 96, ptr nonnull %6), !noalias !72 store i64 %17, ptr %0, align 8 %.sroa.0.sroa.2.0..sroa_idx = getelementptr inbounds i8, ptr %0, i64 8 store i8 %.sroa.9.0.copyload6, ptr %.sroa.0.sroa.2.0..sroa_idx, align 8 %.sroa.0.sroa.3.0..sroa_idx = getelementptr inbounds i8, ptr %0, i64 9 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(87) %.sroa.0.sroa.3.0..sroa_idx, ptr noundef nonnull align 1 dereferenceable(87) %.sroa.0.sroa.3, i64 87, i1 false) - tail call void @llvm.experimental.noalias.scope.decl(metadata !86) - tail call void @llvm.experimental.noalias.scope.decl(metadata !89) - tail call void @llvm.experimental.noalias.scope.decl(metadata !92) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %4), !noalias !95 - store ptr %1, ptr %4, align 8, !noalias !95 - %22 = load ptr, ptr %7, align 8, !alias.scope !96, !noundef !9 + tail call void @llvm.experimental.noalias.scope.decl(metadata !79) + tail call void @llvm.experimental.noalias.scope.decl(metadata !82) + tail call void @llvm.experimental.noalias.scope.decl(metadata !85) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %4), !noalias !88 + store ptr %1, ptr %4, align 8, !noalias !88 + %22 = load ptr, ptr %7, align 8, !alias.scope !89, !noundef !9 %23 = invoke noundef i64 @_ZN4core4iter6traits10exact_size17ExactSizeIterator3len17h7078042f7c542587E.llvm.2441783015916668304(ptr noalias noundef nonnull readonly align 8 dereferenceable(32) %1) to label %26 unwind label %24 @@ -332,35 +324,35 @@ common.resume: ; preds = %19, %36, %24 "_ZN4core3ptr57drop_in_place$LT$toml_edit..de..array..ArraySeqAccess$GT$17hc540cf75f33ab1a7E.exit": ; preds = %26 call void @"_ZN157_$LT$$LT$alloc..vec..into_iter..IntoIter$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$..drop..DropGuard$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17he4723f5cf2b6a689E.llvm.10063921922768059169"(ptr noalias noundef nonnull align 8 dereferenceable(8) %4) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %4), !noalias !95 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %4), !noalias !88 br label %41 29: ; preds = %.noexc - call void @llvm.lifetime.end.p0(i64 96, ptr nonnull %6), !noalias !79 + call void @llvm.lifetime.end.p0(i64 96, ptr nonnull %6), !noalias !72 %30 = load ptr, ptr %7, align 8, !noundef !9 - %31 = load ptr, ptr %8, align 8, !alias.scope !99, !noalias !67, !noundef !9 + %31 = load ptr, ptr %8, align 8, !alias.scope !92, !noalias !60, !noundef !9 %32 = icmp eq ptr %30, %31 - br i1 %32, label %"_ZN103_$LT$alloc..vec..into_iter..IntoIter$LT$T$C$A$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h66d29f6dd39fa1a1E.exit.i.i._crit_edge", label %"_ZN103_$LT$alloc..vec..into_iter..IntoIter$LT$T$C$A$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h66d29f6dd39fa1a1E.exit.i.i" + br i1 %32, label %._crit_edge, label %"_ZN103_$LT$alloc..vec..into_iter..IntoIter$LT$T$C$A$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h66d29f6dd39fa1a1E.exit.i.i" -"_ZN103_$LT$alloc..vec..into_iter..IntoIter$LT$T$C$A$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h66d29f6dd39fa1a1E.exit.i.i._crit_edge.loopexit.split.loop.exit": ; preds = %"_ZN103_$LT$alloc..vec..into_iter..IntoIter$LT$T$C$A$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h66d29f6dd39fa1a1E.exit.i.i" +._crit_edge.loopexit.split.loop.exit18: ; preds = %"_ZN103_$LT$alloc..vec..into_iter..IntoIter$LT$T$C$A$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h66d29f6dd39fa1a1E.exit.i.i" %33 = getelementptr inbounds i8, ptr %13, i64 176 - br label %"_ZN103_$LT$alloc..vec..into_iter..IntoIter$LT$T$C$A$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h66d29f6dd39fa1a1E.exit.i.i._crit_edge" + br label %._crit_edge -"_ZN103_$LT$alloc..vec..into_iter..IntoIter$LT$T$C$A$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h66d29f6dd39fa1a1E.exit.i.i._crit_edge": ; preds = %29, %"_ZN103_$LT$alloc..vec..into_iter..IntoIter$LT$T$C$A$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h66d29f6dd39fa1a1E.exit.i.i._crit_edge.loopexit.split.loop.exit", %2 - %34 = phi ptr [ %9, %2 ], [ %33, %"_ZN103_$LT$alloc..vec..into_iter..IntoIter$LT$T$C$A$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h66d29f6dd39fa1a1E.exit.i.i._crit_edge.loopexit.split.loop.exit" ], [ %30, %29 ] +._crit_edge: ; preds = %29, %._crit_edge.loopexit.split.loop.exit18, %2 + %34 = phi ptr [ %9, %2 ], [ %33, %._crit_edge.loopexit.split.loop.exit18 ], [ %30, %29 ] store i64 2, ptr %0, align 8 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %3), !noalias !103 - store ptr %1, ptr %3, align 8, !noalias !103 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %3), !noalias !96 + store ptr %1, ptr %3, align 8, !noalias !96 %35 = invoke noundef i64 @_ZN4core4iter6traits10exact_size17ExactSizeIterator3len17h7078042f7c542587E.llvm.2441783015916668304(ptr noalias noundef nonnull readonly align 8 dereferenceable(32) %1) to label %38 unwind label %36 -36: ; preds = %38, %"_ZN103_$LT$alloc..vec..into_iter..IntoIter$LT$T$C$A$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h66d29f6dd39fa1a1E.exit.i.i._crit_edge" +36: ; preds = %38, %._crit_edge %37 = landingpad { ptr, i32 } cleanup invoke void @"_ZN157_$LT$$LT$alloc..vec..into_iter..IntoIter$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$..drop..DropGuard$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17he4723f5cf2b6a689E.llvm.10063921922768059169"(ptr noalias noundef nonnull align 8 dereferenceable(8) %3) to label %common.resume unwind label %39 -38: ; preds = %"_ZN103_$LT$alloc..vec..into_iter..IntoIter$LT$T$C$A$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h66d29f6dd39fa1a1E.exit.i.i._crit_edge" +38: ; preds = %._crit_edge invoke void @"_ZN4core3ptr52drop_in_place$LT$$u5b$toml_edit..item..Item$u5d$$GT$17h7f188156fe108674E.llvm.10063921922768059169"(ptr noalias noundef nonnull align 8 %34, i64 noundef %35) to label %"_ZN4core3ptr57drop_in_place$LT$toml_edit..de..array..ArraySeqAccess$GT$17hc540cf75f33ab1a7E.exit3" unwind label %36 @@ -372,7 +364,7 @@ common.resume: ; preds = %19, %36, %24 "_ZN4core3ptr57drop_in_place$LT$toml_edit..de..array..ArraySeqAccess$GT$17hc540cf75f33ab1a7E.exit3": ; preds = %38 call void @"_ZN157_$LT$$LT$alloc..vec..into_iter..IntoIter$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$..drop..DropGuard$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17he4723f5cf2b6a689E.llvm.10063921922768059169"(ptr noalias noundef nonnull align 8 dereferenceable(8) %3) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %3), !noalias !103 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %3), !noalias !96 br label %41 41: ; preds = %"_ZN4core3ptr57drop_in_place$LT$toml_edit..de..array..ArraySeqAccess$GT$17hc540cf75f33ab1a7E.exit3", %"_ZN4core3ptr57drop_in_place$LT$toml_edit..de..array..ArraySeqAccess$GT$17hc540cf75f33ab1a7E.exit" @@ -389,18 +381,18 @@ common.resume: ; preds = %19, %36, %24 define hidden void @"_ZN77_$LT$toml_edit..de..array..ArraySeqAccess$u20$as$u20$serde..de..SeqAccess$GT$17next_element_seed17h61555f6953fe1438E.llvm.12706041108347739931"(ptr noalias nocapture noundef writeonly sret({ i64, [11 x i64] }) align 8 dereferenceable(96) %0, ptr noalias nocapture noundef align 8 dereferenceable(32) %1) unnamed_addr #3 personality ptr @rust_eh_personality { %3 = alloca { { i64, [21 x i64] }, i8, [7 x i8] }, align 8 %4 = alloca { i64, [11 x i64] }, align 8 - tail call void @llvm.experimental.noalias.scope.decl(metadata !110) + tail call void @llvm.experimental.noalias.scope.decl(metadata !103) %5 = getelementptr inbounds i8, ptr %1, i64 16 - %6 = load ptr, ptr %5, align 8, !alias.scope !110, !noalias !113, !noundef !9 + %6 = load ptr, ptr %5, align 8, !alias.scope !103, !noalias !106, !noundef !9 %7 = getelementptr inbounds i8, ptr %1, i64 24 - %8 = load ptr, ptr %7, align 8, !alias.scope !110, !noalias !113, !noundef !9 + %8 = load ptr, ptr %7, align 8, !alias.scope !103, !noalias !106, !noundef !9 %9 = icmp eq ptr %6, %8 br i1 %9, label %"_ZN103_$LT$alloc..vec..into_iter..IntoIter$LT$T$C$A$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h66d29f6dd39fa1a1E.exit.thread", label %"_ZN103_$LT$alloc..vec..into_iter..IntoIter$LT$T$C$A$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h66d29f6dd39fa1a1E.exit" "_ZN103_$LT$alloc..vec..into_iter..IntoIter$LT$T$C$A$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h66d29f6dd39fa1a1E.exit": ; preds = %2 %10 = getelementptr inbounds i8, ptr %6, i64 176 - store ptr %10, ptr %5, align 8, !alias.scope !110, !noalias !113 - %.sroa.0.0.copyload1 = load i64, ptr %6, align 8, !noalias !110 + store ptr %10, ptr %5, align 8, !alias.scope !103, !noalias !106 + %.sroa.0.0.copyload1 = load i64, ptr %6, align 8, !noalias !103 %11 = icmp eq i64 %.sroa.0.0.copyload1, 12 br i1 %11, label %"_ZN103_$LT$alloc..vec..into_iter..IntoIter$LT$T$C$A$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h66d29f6dd39fa1a1E.exit.thread", label %13 @@ -421,20 +413,20 @@ define hidden void @"_ZN77_$LT$toml_edit..de..array..ArraySeqAccess$u20$as$u20$s store i8 0, ptr %14, align 8 call void @"_ZN83_$LT$toml_edit..de..value..ValueDeserializer$u20$as$u20$serde..de..Deserializer$GT$15deserialize_any17hcb9f587e82489b45E"(ptr noalias nocapture noundef nonnull sret({ i64, [11 x i64] }) align 8 dereferenceable(96) %4, ptr noalias nocapture noundef nonnull align 8 dereferenceable(184) %3) call void @llvm.lifetime.end.p0(i64 184, ptr nonnull %3) - tail call void @llvm.experimental.noalias.scope.decl(metadata !115) - tail call void @llvm.experimental.noalias.scope.decl(metadata !118) - %15 = load i64, ptr %4, align 8, !range !46, !alias.scope !118, !noalias !115, !noundef !9 + tail call void @llvm.experimental.noalias.scope.decl(metadata !108) + tail call void @llvm.experimental.noalias.scope.decl(metadata !111) + %15 = load i64, ptr %4, align 8, !range !39, !alias.scope !111, !noalias !108, !noundef !9 %16 = icmp eq i64 %15, 2 br i1 %16, label %17, label %19 17: ; preds = %13 %18 = getelementptr inbounds i8, ptr %0, i64 8 - store i8 1, ptr %18, align 8, !alias.scope !115, !noalias !118 - store i64 2, ptr %0, align 8, !alias.scope !115, !noalias !118 + store i8 1, ptr %18, align 8, !alias.scope !108, !noalias !111 + store i64 2, ptr %0, align 8, !alias.scope !108, !noalias !111 br label %"_ZN4core6result19Result$LT$T$C$E$GT$3map17hfd6e805b96629d0cE.exit" 19: ; preds = %13 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(96) %0, ptr noundef nonnull align 8 dereferenceable(96) %4, i64 96, i1 false), !alias.scope !120 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(96) %0, ptr noundef nonnull align 8 dereferenceable(96) %4, i64 96, i1 false), !alias.scope !113 br label %"_ZN4core6result19Result$LT$T$C$E$GT$3map17hfd6e805b96629d0cE.exit" "_ZN4core6result19Result$LT$T$C$E$GT$3map17hfd6e805b96629d0cE.exit": ; preds = %17, %19 @@ -506,46 +498,46 @@ define hidden void @"_ZN174_$LT$migrations_internals.._..$LT$impl$u20$serde..de. %5 = alloca { { i64, [21 x i64] }, i8, [7 x i8] }, align 8 %6 = alloca { i64, [11 x i64] }, align 8 %.sroa.313 = alloca [87 x i8], align 1 - tail call void @llvm.experimental.noalias.scope.decl(metadata !121) - tail call void @llvm.experimental.noalias.scope.decl(metadata !124) - tail call void @llvm.experimental.noalias.scope.decl(metadata !127) + tail call void @llvm.experimental.noalias.scope.decl(metadata !114) + tail call void @llvm.experimental.noalias.scope.decl(metadata !117) + tail call void @llvm.experimental.noalias.scope.decl(metadata !120) %7 = getelementptr inbounds i8, ptr %1, i64 16 %8 = load ptr, ptr %7, align 8, !noundef !9 %9 = getelementptr inbounds i8, ptr %1, i64 24 - %10 = load ptr, ptr %9, align 8, !alias.scope !130, !noalias !131, !noundef !9 + %10 = load ptr, ptr %9, align 8, !alias.scope !123, !noalias !124, !noundef !9 %11 = icmp eq ptr %8, %10 br i1 %11, label %_ZN5serde2de9SeqAccess12next_element17h8c0294c810352590E.exit.thread, label %"_ZN103_$LT$alloc..vec..into_iter..IntoIter$LT$T$C$A$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h66d29f6dd39fa1a1E.exit.i.i" "_ZN103_$LT$alloc..vec..into_iter..IntoIter$LT$T$C$A$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h66d29f6dd39fa1a1E.exit.i.i": ; preds = %2 %12 = getelementptr inbounds i8, ptr %8, i64 176 - store ptr %12, ptr %7, align 8, !alias.scope !130, !noalias !131 - %.sroa.0.0.copyload1.i.i = load i64, ptr %8, align 8, !noalias !135 + store ptr %12, ptr %7, align 8, !alias.scope !123, !noalias !124 + %.sroa.0.0.copyload1.i.i = load i64, ptr %8, align 8, !noalias !128 %13 = icmp eq i64 %.sroa.0.0.copyload1.i.i, 12 br i1 %13, label %_ZN5serde2de9SeqAccess12next_element17h8c0294c810352590E.exit.thread, label %14 14: ; preds = %"_ZN103_$LT$alloc..vec..into_iter..IntoIter$LT$T$C$A$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h66d29f6dd39fa1a1E.exit.i.i" %.sroa.6.0..sroa_idx2.i.i = getelementptr inbounds i8, ptr %8, i64 8 %.sroa.2.0..sroa_idx.i.i = getelementptr inbounds i8, ptr %5, i64 8 - call void @llvm.lifetime.start.p0(i64 184, ptr nonnull %5), !noalias !136 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(168) %.sroa.2.0..sroa_idx.i.i, ptr noundef nonnull align 8 dereferenceable(168) %.sroa.6.0..sroa_idx2.i.i, i64 168, i1 false), !noalias !136 - call void @llvm.lifetime.start.p0(i64 96, ptr nonnull %6), !noalias !136 - store i64 %.sroa.0.0.copyload1.i.i, ptr %5, align 8, !noalias !136 + call void @llvm.lifetime.start.p0(i64 184, ptr nonnull %5), !noalias !129 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(168) %.sroa.2.0..sroa_idx.i.i, ptr noundef nonnull align 8 dereferenceable(168) %.sroa.6.0..sroa_idx2.i.i, i64 168, i1 false), !noalias !129 + call void @llvm.lifetime.start.p0(i64 96, ptr nonnull %6), !noalias !129 + store i64 %.sroa.0.0.copyload1.i.i, ptr %5, align 8, !noalias !129 %15 = getelementptr inbounds i8, ptr %5, i64 176 - store i8 0, ptr %15, align 8, !noalias !136 + store i8 0, ptr %15, align 8, !noalias !129 invoke void @"_ZN83_$LT$toml_edit..de..value..ValueDeserializer$u20$as$u20$serde..de..Deserializer$GT$15deserialize_any17h37bba676cf5c6819E"(ptr noalias nocapture noundef nonnull sret({ i64, [11 x i64] }) align 8 dereferenceable(96) %6, ptr noalias nocapture noundef nonnull align 8 dereferenceable(184) %5) to label %.noexc unwind label %20 .noexc: ; preds = %14 - call void @llvm.lifetime.end.p0(i64 184, ptr nonnull %5), !noalias !136 - %16 = load i64, ptr %6, align 8, !range !46, !alias.scope !137, !noalias !141, !noundef !9 + call void @llvm.lifetime.end.p0(i64 184, ptr nonnull %5), !noalias !129 + %16 = load i64, ptr %6, align 8, !range !39, !alias.scope !130, !noalias !134, !noundef !9 %17 = icmp eq i64 %16, 2 %18 = getelementptr inbounds i8, ptr %6, i64 8 - %19 = load i8, ptr %18, align 8, !alias.scope !137, !noalias !141 + %19 = load i8, ptr %18, align 8, !alias.scope !130, !noalias !134 br i1 %17, label %_ZN5serde2de9SeqAccess12next_element17h8c0294c810352590E.exit.thread24, label %30 _ZN5serde2de9SeqAccess12next_element17h8c0294c810352590E.exit.thread24: ; preds = %.noexc - call void @llvm.lifetime.end.p0(i64 96, ptr nonnull %6), !noalias !136 - %.pre = load ptr, ptr %7, align 8, !alias.scope !142 + call void @llvm.lifetime.end.p0(i64 96, ptr nonnull %6), !noalias !129 + %.pre = load ptr, ptr %7, align 8, !alias.scope !135 br label %_ZN5serde2de9SeqAccess12next_element17h8c0294c810352590E.exit.thread 20: ; preds = %14 @@ -560,11 +552,11 @@ _ZN5serde2de9SeqAccess12next_element17h8c0294c810352590E.exit.thread: ; preds = %23 = getelementptr inbounds i8, ptr %0, i64 8 store i8 %.sroa.6.122.ph, ptr %23, align 8 store i64 2, ptr %0, align 8 - tail call void @llvm.experimental.noalias.scope.decl(metadata !151) - tail call void @llvm.experimental.noalias.scope.decl(metadata !152) - tail call void @llvm.experimental.noalias.scope.decl(metadata !153) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %4), !noalias !154 - store ptr %1, ptr %4, align 8, !noalias !154 + tail call void @llvm.experimental.noalias.scope.decl(metadata !144) + tail call void @llvm.experimental.noalias.scope.decl(metadata !145) + tail call void @llvm.experimental.noalias.scope.decl(metadata !146) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %4), !noalias !147 + store ptr %1, ptr %4, align 8, !noalias !147 %24 = invoke noundef i64 @_ZN4core4iter6traits10exact_size17ExactSizeIterator3len17h7078042f7c542587E.llvm.2441783015916668304(ptr noalias noundef nonnull readonly align 8 dereferenceable(32) %1) to label %27 unwind label %25 @@ -590,24 +582,24 @@ common.resume: ; preds = %20, %33, %25 "_ZN4core3ptr57drop_in_place$LT$toml_edit..de..array..ArraySeqAccess$GT$17hc540cf75f33ab1a7E.exit": ; preds = %27 call void @"_ZN157_$LT$$LT$alloc..vec..into_iter..IntoIter$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$..drop..DropGuard$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17he4723f5cf2b6a689E.llvm.10063921922768059169"(ptr noalias noundef nonnull align 8 dereferenceable(8) %4) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %4), !noalias !154 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %4), !noalias !147 br label %38 30: ; preds = %.noexc %.sroa.10.0..sroa_idx = getelementptr inbounds i8, ptr %6, i64 9 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(87) %.sroa.313, ptr noundef nonnull align 1 dereferenceable(87) %.sroa.10.0..sroa_idx, i64 87, i1 false) - call void @llvm.lifetime.end.p0(i64 96, ptr nonnull %6), !noalias !136 + call void @llvm.lifetime.end.p0(i64 96, ptr nonnull %6), !noalias !129 store i64 %16, ptr %0, align 8 %.sroa.212.0..sroa_idx = getelementptr inbounds i8, ptr %0, i64 8 store i8 %19, ptr %.sroa.212.0..sroa_idx, align 8 %.sroa.313.0..sroa_idx = getelementptr inbounds i8, ptr %0, i64 9 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(87) %.sroa.313.0..sroa_idx, ptr noundef nonnull align 1 dereferenceable(87) %.sroa.313, i64 87, i1 false) - tail call void @llvm.experimental.noalias.scope.decl(metadata !155) - tail call void @llvm.experimental.noalias.scope.decl(metadata !158) - tail call void @llvm.experimental.noalias.scope.decl(metadata !161) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %3), !noalias !164 - store ptr %1, ptr %3, align 8, !noalias !164 - %31 = load ptr, ptr %7, align 8, !alias.scope !165, !noundef !9 + tail call void @llvm.experimental.noalias.scope.decl(metadata !148) + tail call void @llvm.experimental.noalias.scope.decl(metadata !151) + tail call void @llvm.experimental.noalias.scope.decl(metadata !154) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %3), !noalias !157 + store ptr %1, ptr %3, align 8, !noalias !157 + %31 = load ptr, ptr %7, align 8, !alias.scope !158, !noundef !9 %32 = invoke noundef i64 @_ZN4core4iter6traits10exact_size17ExactSizeIterator3len17h7078042f7c542587E.llvm.2441783015916668304(ptr noalias noundef nonnull readonly align 8 dereferenceable(32) %1) to label %35 unwind label %33 @@ -629,7 +621,7 @@ common.resume: ; preds = %20, %33, %25 "_ZN4core3ptr57drop_in_place$LT$toml_edit..de..array..ArraySeqAccess$GT$17hc540cf75f33ab1a7E.exit18": ; preds = %35 call void @"_ZN157_$LT$$LT$alloc..vec..into_iter..IntoIter$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$..drop..DropGuard$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17he4723f5cf2b6a689E.llvm.10063921922768059169"(ptr noalias noundef nonnull align 8 dereferenceable(8) %3) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %3), !noalias !164 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %3), !noalias !157 br label %38 38: ; preds = %"_ZN4core3ptr57drop_in_place$LT$toml_edit..de..array..ArraySeqAccess$GT$17hc540cf75f33ab1a7E.exit", %"_ZN4core3ptr57drop_in_place$LT$toml_edit..de..array..ArraySeqAccess$GT$17hc540cf75f33ab1a7E.exit18" @@ -728,161 +720,154 @@ attributes #17 = { cold noreturn nounwind } !7 = !{!8} !8 = distinct !{!8, !6, !"_ZN103_$LT$alloc..vec..into_iter..IntoIter$LT$T$C$A$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17hca5eb021d65c51e2E.llvm.12706041108347739931: argument 0"} !9 = !{} -!10 = !{!11, !13, !14, !16} -!11 = distinct !{!11, !12, !"_ZN8indexmap19Bucket$LT$K$C$V$GT$9key_value17hed973b0df178a5c8E.llvm.12706041108347739931: argument 0"} -!12 = distinct !{!12, !"_ZN8indexmap19Bucket$LT$K$C$V$GT$9key_value17hed973b0df178a5c8E.llvm.12706041108347739931"} -!13 = distinct !{!13, !12, !"_ZN8indexmap19Bucket$LT$K$C$V$GT$9key_value17hed973b0df178a5c8E.llvm.12706041108347739931: argument 1"} -!14 = distinct !{!14, !15, !"_ZN4core3ops8function6FnOnce9call_once17h3fc5469ae29126edE.llvm.12706041108347739931: argument 0"} -!15 = distinct !{!15, !"_ZN4core3ops8function6FnOnce9call_once17h3fc5469ae29126edE.llvm.12706041108347739931"} -!16 = distinct !{!16, !15, !"_ZN4core3ops8function6FnOnce9call_once17h3fc5469ae29126edE.llvm.12706041108347739931: argument 1"} -!17 = !{i64 1} -!18 = !{i64 8} -!19 = !{!20, !22} -!20 = distinct !{!20, !21, !"_ZN8indexmap19Bucket$LT$K$C$V$GT$9key_value17hed973b0df178a5c8E.llvm.12706041108347739931: argument 0"} -!21 = distinct !{!21, !"_ZN8indexmap19Bucket$LT$K$C$V$GT$9key_value17hed973b0df178a5c8E.llvm.12706041108347739931"} -!22 = distinct !{!22, !21, !"_ZN8indexmap19Bucket$LT$K$C$V$GT$9key_value17hed973b0df178a5c8E.llvm.12706041108347739931: argument 1"} -!23 = !{!24} -!24 = distinct !{!24, !25, !"_ZN4core3cmp5impls50_$LT$impl$u20$core..cmp..Ord$u20$for$u20$usize$GT$3cmp17h8f8f25612be95722E.llvm.12706041108347739931: argument 0"} -!25 = distinct !{!25, !"_ZN4core3cmp5impls50_$LT$impl$u20$core..cmp..Ord$u20$for$u20$usize$GT$3cmp17h8f8f25612be95722E.llvm.12706041108347739931"} +!10 = !{i64 1} +!11 = !{i64 8} +!12 = !{!13, !15} +!13 = distinct !{!13, !14, !"_ZN8indexmap19Bucket$LT$K$C$V$GT$9key_value17hed973b0df178a5c8E.llvm.12706041108347739931: argument 0"} +!14 = distinct !{!14, !"_ZN8indexmap19Bucket$LT$K$C$V$GT$9key_value17hed973b0df178a5c8E.llvm.12706041108347739931"} +!15 = distinct !{!15, !14, !"_ZN8indexmap19Bucket$LT$K$C$V$GT$9key_value17hed973b0df178a5c8E.llvm.12706041108347739931: argument 1"} +!16 = !{!17} +!17 = distinct !{!17, !18, !"_ZN4core3cmp5impls50_$LT$impl$u20$core..cmp..Ord$u20$for$u20$usize$GT$3cmp17h8f8f25612be95722E.llvm.12706041108347739931: argument 0"} +!18 = distinct !{!18, !"_ZN4core3cmp5impls50_$LT$impl$u20$core..cmp..Ord$u20$for$u20$usize$GT$3cmp17h8f8f25612be95722E.llvm.12706041108347739931"} +!19 = !{!20} +!20 = distinct !{!20, !18, !"_ZN4core3cmp5impls50_$LT$impl$u20$core..cmp..Ord$u20$for$u20$usize$GT$3cmp17h8f8f25612be95722E.llvm.12706041108347739931: argument 1"} +!21 = !{!22} +!22 = distinct !{!22, !23, !"_ZN77_$LT$toml_edit..de..array..ArraySeqAccess$u20$as$u20$serde..de..SeqAccess$GT$17next_element_seed17h61555f6953fe1438E.llvm.12706041108347739931: argument 0"} +!23 = distinct !{!23, !"_ZN77_$LT$toml_edit..de..array..ArraySeqAccess$u20$as$u20$serde..de..SeqAccess$GT$17next_element_seed17h61555f6953fe1438E.llvm.12706041108347739931"} +!24 = !{!25} +!25 = distinct !{!25, !23, !"_ZN77_$LT$toml_edit..de..array..ArraySeqAccess$u20$as$u20$serde..de..SeqAccess$GT$17next_element_seed17h61555f6953fe1438E.llvm.12706041108347739931: argument 1"} !26 = !{!27} -!27 = distinct !{!27, !25, !"_ZN4core3cmp5impls50_$LT$impl$u20$core..cmp..Ord$u20$for$u20$usize$GT$3cmp17h8f8f25612be95722E.llvm.12706041108347739931: argument 1"} -!28 = !{!29} -!29 = distinct !{!29, !30, !"_ZN77_$LT$toml_edit..de..array..ArraySeqAccess$u20$as$u20$serde..de..SeqAccess$GT$17next_element_seed17h61555f6953fe1438E.llvm.12706041108347739931: argument 0"} -!30 = distinct !{!30, !"_ZN77_$LT$toml_edit..de..array..ArraySeqAccess$u20$as$u20$serde..de..SeqAccess$GT$17next_element_seed17h61555f6953fe1438E.llvm.12706041108347739931"} -!31 = !{!32} -!32 = distinct !{!32, !30, !"_ZN77_$LT$toml_edit..de..array..ArraySeqAccess$u20$as$u20$serde..de..SeqAccess$GT$17next_element_seed17h61555f6953fe1438E.llvm.12706041108347739931: argument 1"} -!33 = !{!34} -!34 = distinct !{!34, !35, !"_ZN103_$LT$alloc..vec..into_iter..IntoIter$LT$T$C$A$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h66d29f6dd39fa1a1E: argument 1"} -!35 = distinct !{!35, !"_ZN103_$LT$alloc..vec..into_iter..IntoIter$LT$T$C$A$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h66d29f6dd39fa1a1E"} -!36 = !{!34, !32} -!37 = !{!38, !29} -!38 = distinct !{!38, !35, !"_ZN103_$LT$alloc..vec..into_iter..IntoIter$LT$T$C$A$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h66d29f6dd39fa1a1E: argument 0"} -!39 = !{!34, !29, !32} -!40 = !{!29, !32} -!41 = !{!42} -!42 = distinct !{!42, !43, !"_ZN4core6result19Result$LT$T$C$E$GT$3map17hfd6e805b96629d0cE: argument 0"} -!43 = distinct !{!43, !"_ZN4core6result19Result$LT$T$C$E$GT$3map17hfd6e805b96629d0cE"} -!44 = !{!45} -!45 = distinct !{!45, !43, !"_ZN4core6result19Result$LT$T$C$E$GT$3map17hfd6e805b96629d0cE: argument 1"} -!46 = !{i64 0, i64 3} -!47 = !{!42, !29, !32} -!48 = !{!42, !29} -!49 = !{!45, !32} -!50 = !{!42, !45} -!51 = !{!52, !54} -!52 = distinct !{!52, !53, !"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17hcd68c6a06a523c69E: argument 0"} -!53 = distinct !{!53, !"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17hcd68c6a06a523c69E"} -!54 = distinct !{!54, !53, !"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17hcd68c6a06a523c69E: argument 1"} -!55 = !{!56, !58} -!56 = distinct !{!56, !57, !"_ZN111_$LT$core..iter..adapters..zip..Zip$LT$A$C$B$GT$$u20$as$u20$core..iter..adapters..zip..ZipImpl$LT$A$C$B$GT$$GT$3new17h2fc9700854a0329eE: argument 0"} -!57 = distinct !{!57, !"_ZN111_$LT$core..iter..adapters..zip..Zip$LT$A$C$B$GT$$u20$as$u20$core..iter..adapters..zip..ZipImpl$LT$A$C$B$GT$$GT$3new17h2fc9700854a0329eE"} -!58 = distinct !{!58, !59, !"_ZN4core4iter6traits8iterator8Iterator3zip17h266e1c1c28395e4eE.llvm.6229933791239335933: argument 0"} -!59 = distinct !{!59, !"_ZN4core4iter6traits8iterator8Iterator3zip17h266e1c1c28395e4eE.llvm.6229933791239335933"} -!60 = !{!61, !63, !65} -!61 = distinct !{!61, !62, !"_ZN103_$LT$alloc..vec..into_iter..IntoIter$LT$T$C$A$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h66d29f6dd39fa1a1E: argument 1:pre.rot"} -!62 = distinct !{!62, !"_ZN103_$LT$alloc..vec..into_iter..IntoIter$LT$T$C$A$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h66d29f6dd39fa1a1E"} -!63 = distinct !{!63, !64, !"_ZN77_$LT$toml_edit..de..array..ArraySeqAccess$u20$as$u20$serde..de..SeqAccess$GT$17next_element_seed17h61555f6953fe1438E.llvm.12706041108347739931: argument 1:pre.rot"} -!64 = distinct !{!64, !"_ZN77_$LT$toml_edit..de..array..ArraySeqAccess$u20$as$u20$serde..de..SeqAccess$GT$17next_element_seed17h61555f6953fe1438E.llvm.12706041108347739931"} -!65 = distinct !{!65, !66, !"_ZN5serde2de9SeqAccess12next_element17hc7a231401a9dfbd7E.llvm.12706041108347739931: argument 1:pre.rot"} -!66 = distinct !{!66, !"_ZN5serde2de9SeqAccess12next_element17hc7a231401a9dfbd7E.llvm.12706041108347739931"} -!67 = !{!68, !69, !70} -!68 = distinct !{!68, !62, !"_ZN103_$LT$alloc..vec..into_iter..IntoIter$LT$T$C$A$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h66d29f6dd39fa1a1E: argument 0"} -!69 = distinct !{!69, !64, !"_ZN77_$LT$toml_edit..de..array..ArraySeqAccess$u20$as$u20$serde..de..SeqAccess$GT$17next_element_seed17h61555f6953fe1438E.llvm.12706041108347739931: argument 0"} -!70 = distinct !{!70, !66, !"_ZN5serde2de9SeqAccess12next_element17hc7a231401a9dfbd7E.llvm.12706041108347739931: argument 0"} -!71 = !{!72} -!72 = distinct !{!72, !66, !"_ZN5serde2de9SeqAccess12next_element17hc7a231401a9dfbd7E.llvm.12706041108347739931: argument 1"} -!73 = !{!74} -!74 = distinct !{!74, !64, !"_ZN77_$LT$toml_edit..de..array..ArraySeqAccess$u20$as$u20$serde..de..SeqAccess$GT$17next_element_seed17h61555f6953fe1438E.llvm.12706041108347739931: argument 1"} -!75 = !{!76} -!76 = distinct !{!76, !62, !"_ZN103_$LT$alloc..vec..into_iter..IntoIter$LT$T$C$A$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h66d29f6dd39fa1a1E: argument 1"} -!77 = !{!76, !74, !72} -!78 = !{!76, !69, !74, !70, !72} -!79 = !{!69, !74, !70, !72} -!80 = !{!81, !83} -!81 = distinct !{!81, !82, !"_ZN4core6result19Result$LT$T$C$E$GT$3map17hfd6e805b96629d0cE: argument 1"} -!82 = distinct !{!82, !"_ZN4core6result19Result$LT$T$C$E$GT$3map17hfd6e805b96629d0cE"} -!83 = distinct !{!83, !82, !"_ZN4core6result19Result$LT$T$C$E$GT$3map17hfd6e805b96629d0cE: argument 0"} -!84 = !{!74, !72} -!85 = !{!83, !81} -!86 = !{!87} -!87 = distinct !{!87, !88, !"_ZN4core3ptr57drop_in_place$LT$toml_edit..de..array..ArraySeqAccess$GT$17hc540cf75f33ab1a7E: argument 0"} -!88 = distinct !{!88, !"_ZN4core3ptr57drop_in_place$LT$toml_edit..de..array..ArraySeqAccess$GT$17hc540cf75f33ab1a7E"} -!89 = !{!90} -!90 = distinct !{!90, !91, !"_ZN4core3ptr81drop_in_place$LT$alloc..vec..into_iter..IntoIter$LT$toml_edit..item..Item$GT$$GT$17h5e009773f0cbf6deE.llvm.10063921922768059169: argument 0"} -!91 = distinct !{!91, !"_ZN4core3ptr81drop_in_place$LT$alloc..vec..into_iter..IntoIter$LT$toml_edit..item..Item$GT$$GT$17h5e009773f0cbf6deE.llvm.10063921922768059169"} -!92 = !{!93} -!93 = distinct !{!93, !94, !"_ZN86_$LT$alloc..vec..into_iter..IntoIter$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17hbb3934a7e1437a9fE.llvm.10063921922768059169: argument 0"} -!94 = distinct !{!94, !"_ZN86_$LT$alloc..vec..into_iter..IntoIter$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17hbb3934a7e1437a9fE.llvm.10063921922768059169"} -!95 = !{!93, !90, !87} -!96 = !{!97, !93, !90, !87} -!97 = distinct !{!97, !98, !"_ZN5alloc3vec9into_iter21IntoIter$LT$T$C$A$GT$16as_raw_mut_slice17hc3176257168f1188E: argument 0"} -!98 = distinct !{!98, !"_ZN5alloc3vec9into_iter21IntoIter$LT$T$C$A$GT$16as_raw_mut_slice17hc3176257168f1188E"} -!99 = !{!100, !101, !102} -!100 = distinct !{!100, !62, !"_ZN103_$LT$alloc..vec..into_iter..IntoIter$LT$T$C$A$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h66d29f6dd39fa1a1E: argument 1:h.rot"} -!101 = distinct !{!101, !64, !"_ZN77_$LT$toml_edit..de..array..ArraySeqAccess$u20$as$u20$serde..de..SeqAccess$GT$17next_element_seed17h61555f6953fe1438E.llvm.12706041108347739931: argument 1:h.rot"} -!102 = distinct !{!102, !66, !"_ZN5serde2de9SeqAccess12next_element17hc7a231401a9dfbd7E.llvm.12706041108347739931: argument 1:h.rot"} -!103 = !{!104, !106, !108} -!104 = distinct !{!104, !105, !"_ZN86_$LT$alloc..vec..into_iter..IntoIter$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17hbb3934a7e1437a9fE.llvm.10063921922768059169: argument 0"} -!105 = distinct !{!105, !"_ZN86_$LT$alloc..vec..into_iter..IntoIter$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17hbb3934a7e1437a9fE.llvm.10063921922768059169"} -!106 = distinct !{!106, !107, !"_ZN4core3ptr81drop_in_place$LT$alloc..vec..into_iter..IntoIter$LT$toml_edit..item..Item$GT$$GT$17h5e009773f0cbf6deE.llvm.10063921922768059169: argument 0"} -!107 = distinct !{!107, !"_ZN4core3ptr81drop_in_place$LT$alloc..vec..into_iter..IntoIter$LT$toml_edit..item..Item$GT$$GT$17h5e009773f0cbf6deE.llvm.10063921922768059169"} -!108 = distinct !{!108, !109, !"_ZN4core3ptr57drop_in_place$LT$toml_edit..de..array..ArraySeqAccess$GT$17hc540cf75f33ab1a7E: argument 0"} -!109 = distinct !{!109, !"_ZN4core3ptr57drop_in_place$LT$toml_edit..de..array..ArraySeqAccess$GT$17hc540cf75f33ab1a7E"} -!110 = !{!111} -!111 = distinct !{!111, !112, !"_ZN103_$LT$alloc..vec..into_iter..IntoIter$LT$T$C$A$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h66d29f6dd39fa1a1E: argument 1"} -!112 = distinct !{!112, !"_ZN103_$LT$alloc..vec..into_iter..IntoIter$LT$T$C$A$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h66d29f6dd39fa1a1E"} -!113 = !{!114} -!114 = distinct !{!114, !112, !"_ZN103_$LT$alloc..vec..into_iter..IntoIter$LT$T$C$A$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h66d29f6dd39fa1a1E: argument 0"} -!115 = !{!116} -!116 = distinct !{!116, !117, !"_ZN4core6result19Result$LT$T$C$E$GT$3map17hfd6e805b96629d0cE: argument 0"} -!117 = distinct !{!117, !"_ZN4core6result19Result$LT$T$C$E$GT$3map17hfd6e805b96629d0cE"} -!118 = !{!119} -!119 = distinct !{!119, !117, !"_ZN4core6result19Result$LT$T$C$E$GT$3map17hfd6e805b96629d0cE: argument 1"} -!120 = !{!116, !119} -!121 = !{!122} -!122 = distinct !{!122, !123, !"_ZN5serde2de9SeqAccess12next_element17h8c0294c810352590E: argument 1"} -!123 = distinct !{!123, !"_ZN5serde2de9SeqAccess12next_element17h8c0294c810352590E"} -!124 = !{!125} -!125 = distinct !{!125, !126, !"_ZN77_$LT$toml_edit..de..array..ArraySeqAccess$u20$as$u20$serde..de..SeqAccess$GT$17next_element_seed17h453cb3ccc2d0abf6E: argument 1"} -!126 = distinct !{!126, !"_ZN77_$LT$toml_edit..de..array..ArraySeqAccess$u20$as$u20$serde..de..SeqAccess$GT$17next_element_seed17h453cb3ccc2d0abf6E"} -!127 = !{!128} -!128 = distinct !{!128, !129, !"_ZN103_$LT$alloc..vec..into_iter..IntoIter$LT$T$C$A$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h66d29f6dd39fa1a1E: argument 1"} -!129 = distinct !{!129, !"_ZN103_$LT$alloc..vec..into_iter..IntoIter$LT$T$C$A$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h66d29f6dd39fa1a1E"} -!130 = !{!128, !125, !122} -!131 = !{!132, !133, !134} -!132 = distinct !{!132, !129, !"_ZN103_$LT$alloc..vec..into_iter..IntoIter$LT$T$C$A$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h66d29f6dd39fa1a1E: argument 0"} -!133 = distinct !{!133, !126, !"_ZN77_$LT$toml_edit..de..array..ArraySeqAccess$u20$as$u20$serde..de..SeqAccess$GT$17next_element_seed17h453cb3ccc2d0abf6E: argument 0"} -!134 = distinct !{!134, !123, !"_ZN5serde2de9SeqAccess12next_element17h8c0294c810352590E: argument 0"} -!135 = !{!128, !133, !125, !134, !122} -!136 = !{!133, !125, !134, !122} -!137 = !{!138, !140} -!138 = distinct !{!138, !139, !"_ZN4core6result19Result$LT$T$C$E$GT$3map17he378811761cfbce1E: argument 1"} -!139 = distinct !{!139, !"_ZN4core6result19Result$LT$T$C$E$GT$3map17he378811761cfbce1E"} -!140 = distinct !{!140, !139, !"_ZN4core6result19Result$LT$T$C$E$GT$3map17he378811761cfbce1E: argument 0"} -!141 = !{!125, !122} -!142 = !{!143, !145, !147, !149} -!143 = distinct !{!143, !144, !"_ZN5alloc3vec9into_iter21IntoIter$LT$T$C$A$GT$16as_raw_mut_slice17hc3176257168f1188E: argument 0"} -!144 = distinct !{!144, !"_ZN5alloc3vec9into_iter21IntoIter$LT$T$C$A$GT$16as_raw_mut_slice17hc3176257168f1188E"} -!145 = distinct !{!145, !146, !"_ZN86_$LT$alloc..vec..into_iter..IntoIter$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17hbb3934a7e1437a9fE.llvm.10063921922768059169: argument 0"} -!146 = distinct !{!146, !"_ZN86_$LT$alloc..vec..into_iter..IntoIter$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17hbb3934a7e1437a9fE.llvm.10063921922768059169"} -!147 = distinct !{!147, !148, !"_ZN4core3ptr81drop_in_place$LT$alloc..vec..into_iter..IntoIter$LT$toml_edit..item..Item$GT$$GT$17h5e009773f0cbf6deE.llvm.10063921922768059169: argument 0"} -!148 = distinct !{!148, !"_ZN4core3ptr81drop_in_place$LT$alloc..vec..into_iter..IntoIter$LT$toml_edit..item..Item$GT$$GT$17h5e009773f0cbf6deE.llvm.10063921922768059169"} +!27 = distinct !{!27, !28, !"_ZN103_$LT$alloc..vec..into_iter..IntoIter$LT$T$C$A$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h66d29f6dd39fa1a1E: argument 1"} +!28 = distinct !{!28, !"_ZN103_$LT$alloc..vec..into_iter..IntoIter$LT$T$C$A$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h66d29f6dd39fa1a1E"} +!29 = !{!27, !25} +!30 = !{!31, !22} +!31 = distinct !{!31, !28, !"_ZN103_$LT$alloc..vec..into_iter..IntoIter$LT$T$C$A$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h66d29f6dd39fa1a1E: argument 0"} +!32 = !{!27, !22, !25} +!33 = !{!22, !25} +!34 = !{!35} +!35 = distinct !{!35, !36, !"_ZN4core6result19Result$LT$T$C$E$GT$3map17hfd6e805b96629d0cE: argument 0"} +!36 = distinct !{!36, !"_ZN4core6result19Result$LT$T$C$E$GT$3map17hfd6e805b96629d0cE"} +!37 = !{!38} +!38 = distinct !{!38, !36, !"_ZN4core6result19Result$LT$T$C$E$GT$3map17hfd6e805b96629d0cE: argument 1"} +!39 = !{i64 0, i64 3} +!40 = !{!35, !22, !25} +!41 = !{!35, !22} +!42 = !{!38, !25} +!43 = !{!35, !38} +!44 = !{!45, !47} +!45 = distinct !{!45, !46, !"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17hcd68c6a06a523c69E: argument 0"} +!46 = distinct !{!46, !"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17hcd68c6a06a523c69E"} +!47 = distinct !{!47, !46, !"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17hcd68c6a06a523c69E: argument 1"} +!48 = !{!49, !51} +!49 = distinct !{!49, !50, !"_ZN111_$LT$core..iter..adapters..zip..Zip$LT$A$C$B$GT$$u20$as$u20$core..iter..adapters..zip..ZipImpl$LT$A$C$B$GT$$GT$3new17h2fc9700854a0329eE: argument 0"} +!50 = distinct !{!50, !"_ZN111_$LT$core..iter..adapters..zip..Zip$LT$A$C$B$GT$$u20$as$u20$core..iter..adapters..zip..ZipImpl$LT$A$C$B$GT$$GT$3new17h2fc9700854a0329eE"} +!51 = distinct !{!51, !52, !"_ZN4core4iter6traits8iterator8Iterator3zip17h266e1c1c28395e4eE.llvm.6229933791239335933: argument 0"} +!52 = distinct !{!52, !"_ZN4core4iter6traits8iterator8Iterator3zip17h266e1c1c28395e4eE.llvm.6229933791239335933"} +!53 = !{!54, !56, !58} +!54 = distinct !{!54, !55, !"_ZN103_$LT$alloc..vec..into_iter..IntoIter$LT$T$C$A$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h66d29f6dd39fa1a1E: argument 1:pre.rot"} +!55 = distinct !{!55, !"_ZN103_$LT$alloc..vec..into_iter..IntoIter$LT$T$C$A$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h66d29f6dd39fa1a1E"} +!56 = distinct !{!56, !57, !"_ZN77_$LT$toml_edit..de..array..ArraySeqAccess$u20$as$u20$serde..de..SeqAccess$GT$17next_element_seed17h61555f6953fe1438E.llvm.12706041108347739931: argument 1:pre.rot"} +!57 = distinct !{!57, !"_ZN77_$LT$toml_edit..de..array..ArraySeqAccess$u20$as$u20$serde..de..SeqAccess$GT$17next_element_seed17h61555f6953fe1438E.llvm.12706041108347739931"} +!58 = distinct !{!58, !59, !"_ZN5serde2de9SeqAccess12next_element17hc7a231401a9dfbd7E.llvm.12706041108347739931: argument 1:pre.rot"} +!59 = distinct !{!59, !"_ZN5serde2de9SeqAccess12next_element17hc7a231401a9dfbd7E.llvm.12706041108347739931"} +!60 = !{!61, !62, !63} +!61 = distinct !{!61, !55, !"_ZN103_$LT$alloc..vec..into_iter..IntoIter$LT$T$C$A$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h66d29f6dd39fa1a1E: argument 0"} +!62 = distinct !{!62, !57, !"_ZN77_$LT$toml_edit..de..array..ArraySeqAccess$u20$as$u20$serde..de..SeqAccess$GT$17next_element_seed17h61555f6953fe1438E.llvm.12706041108347739931: argument 0"} +!63 = distinct !{!63, !59, !"_ZN5serde2de9SeqAccess12next_element17hc7a231401a9dfbd7E.llvm.12706041108347739931: argument 0"} +!64 = !{!65} +!65 = distinct !{!65, !59, !"_ZN5serde2de9SeqAccess12next_element17hc7a231401a9dfbd7E.llvm.12706041108347739931: argument 1"} +!66 = !{!67} +!67 = distinct !{!67, !57, !"_ZN77_$LT$toml_edit..de..array..ArraySeqAccess$u20$as$u20$serde..de..SeqAccess$GT$17next_element_seed17h61555f6953fe1438E.llvm.12706041108347739931: argument 1"} +!68 = !{!69} +!69 = distinct !{!69, !55, !"_ZN103_$LT$alloc..vec..into_iter..IntoIter$LT$T$C$A$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h66d29f6dd39fa1a1E: argument 1"} +!70 = !{!69, !67, !65} +!71 = !{!69, !62, !67, !63, !65} +!72 = !{!62, !67, !63, !65} +!73 = !{!74, !76} +!74 = distinct !{!74, !75, !"_ZN4core6result19Result$LT$T$C$E$GT$3map17hfd6e805b96629d0cE: argument 1"} +!75 = distinct !{!75, !"_ZN4core6result19Result$LT$T$C$E$GT$3map17hfd6e805b96629d0cE"} +!76 = distinct !{!76, !75, !"_ZN4core6result19Result$LT$T$C$E$GT$3map17hfd6e805b96629d0cE: argument 0"} +!77 = !{!67, !65} +!78 = !{!76, !74} +!79 = !{!80} +!80 = distinct !{!80, !81, !"_ZN4core3ptr57drop_in_place$LT$toml_edit..de..array..ArraySeqAccess$GT$17hc540cf75f33ab1a7E: argument 0"} +!81 = distinct !{!81, !"_ZN4core3ptr57drop_in_place$LT$toml_edit..de..array..ArraySeqAccess$GT$17hc540cf75f33ab1a7E"} +!82 = !{!83} +!83 = distinct !{!83, !84, !"_ZN4core3ptr81drop_in_place$LT$alloc..vec..into_iter..IntoIter$LT$toml_edit..item..Item$GT$$GT$17h5e009773f0cbf6deE.llvm.10063921922768059169: argument 0"} +!84 = distinct !{!84, !"_ZN4core3ptr81drop_in_place$LT$alloc..vec..into_iter..IntoIter$LT$toml_edit..item..Item$GT$$GT$17h5e009773f0cbf6deE.llvm.10063921922768059169"} +!85 = !{!86} +!86 = distinct !{!86, !87, !"_ZN86_$LT$alloc..vec..into_iter..IntoIter$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17hbb3934a7e1437a9fE.llvm.10063921922768059169: argument 0"} +!87 = distinct !{!87, !"_ZN86_$LT$alloc..vec..into_iter..IntoIter$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17hbb3934a7e1437a9fE.llvm.10063921922768059169"} +!88 = !{!86, !83, !80} +!89 = !{!90, !86, !83, !80} +!90 = distinct !{!90, !91, !"_ZN5alloc3vec9into_iter21IntoIter$LT$T$C$A$GT$16as_raw_mut_slice17hc3176257168f1188E: argument 0"} +!91 = distinct !{!91, !"_ZN5alloc3vec9into_iter21IntoIter$LT$T$C$A$GT$16as_raw_mut_slice17hc3176257168f1188E"} +!92 = !{!93, !94, !95} +!93 = distinct !{!93, !55, !"_ZN103_$LT$alloc..vec..into_iter..IntoIter$LT$T$C$A$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h66d29f6dd39fa1a1E: argument 1:h.rot"} +!94 = distinct !{!94, !57, !"_ZN77_$LT$toml_edit..de..array..ArraySeqAccess$u20$as$u20$serde..de..SeqAccess$GT$17next_element_seed17h61555f6953fe1438E.llvm.12706041108347739931: argument 1:h.rot"} +!95 = distinct !{!95, !59, !"_ZN5serde2de9SeqAccess12next_element17hc7a231401a9dfbd7E.llvm.12706041108347739931: argument 1:h.rot"} +!96 = !{!97, !99, !101} +!97 = distinct !{!97, !98, !"_ZN86_$LT$alloc..vec..into_iter..IntoIter$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17hbb3934a7e1437a9fE.llvm.10063921922768059169: argument 0"} +!98 = distinct !{!98, !"_ZN86_$LT$alloc..vec..into_iter..IntoIter$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17hbb3934a7e1437a9fE.llvm.10063921922768059169"} +!99 = distinct !{!99, !100, !"_ZN4core3ptr81drop_in_place$LT$alloc..vec..into_iter..IntoIter$LT$toml_edit..item..Item$GT$$GT$17h5e009773f0cbf6deE.llvm.10063921922768059169: argument 0"} +!100 = distinct !{!100, !"_ZN4core3ptr81drop_in_place$LT$alloc..vec..into_iter..IntoIter$LT$toml_edit..item..Item$GT$$GT$17h5e009773f0cbf6deE.llvm.10063921922768059169"} +!101 = distinct !{!101, !102, !"_ZN4core3ptr57drop_in_place$LT$toml_edit..de..array..ArraySeqAccess$GT$17hc540cf75f33ab1a7E: argument 0"} +!102 = distinct !{!102, !"_ZN4core3ptr57drop_in_place$LT$toml_edit..de..array..ArraySeqAccess$GT$17hc540cf75f33ab1a7E"} +!103 = !{!104} +!104 = distinct !{!104, !105, !"_ZN103_$LT$alloc..vec..into_iter..IntoIter$LT$T$C$A$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h66d29f6dd39fa1a1E: argument 1"} +!105 = distinct !{!105, !"_ZN103_$LT$alloc..vec..into_iter..IntoIter$LT$T$C$A$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h66d29f6dd39fa1a1E"} +!106 = !{!107} +!107 = distinct !{!107, !105, !"_ZN103_$LT$alloc..vec..into_iter..IntoIter$LT$T$C$A$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h66d29f6dd39fa1a1E: argument 0"} +!108 = !{!109} +!109 = distinct !{!109, !110, !"_ZN4core6result19Result$LT$T$C$E$GT$3map17hfd6e805b96629d0cE: argument 0"} +!110 = distinct !{!110, !"_ZN4core6result19Result$LT$T$C$E$GT$3map17hfd6e805b96629d0cE"} +!111 = !{!112} +!112 = distinct !{!112, !110, !"_ZN4core6result19Result$LT$T$C$E$GT$3map17hfd6e805b96629d0cE: argument 1"} +!113 = !{!109, !112} +!114 = !{!115} +!115 = distinct !{!115, !116, !"_ZN5serde2de9SeqAccess12next_element17h8c0294c810352590E: argument 1"} +!116 = distinct !{!116, !"_ZN5serde2de9SeqAccess12next_element17h8c0294c810352590E"} +!117 = !{!118} +!118 = distinct !{!118, !119, !"_ZN77_$LT$toml_edit..de..array..ArraySeqAccess$u20$as$u20$serde..de..SeqAccess$GT$17next_element_seed17h453cb3ccc2d0abf6E: argument 1"} +!119 = distinct !{!119, !"_ZN77_$LT$toml_edit..de..array..ArraySeqAccess$u20$as$u20$serde..de..SeqAccess$GT$17next_element_seed17h453cb3ccc2d0abf6E"} +!120 = !{!121} +!121 = distinct !{!121, !122, !"_ZN103_$LT$alloc..vec..into_iter..IntoIter$LT$T$C$A$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h66d29f6dd39fa1a1E: argument 1"} +!122 = distinct !{!122, !"_ZN103_$LT$alloc..vec..into_iter..IntoIter$LT$T$C$A$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h66d29f6dd39fa1a1E"} +!123 = !{!121, !118, !115} +!124 = !{!125, !126, !127} +!125 = distinct !{!125, !122, !"_ZN103_$LT$alloc..vec..into_iter..IntoIter$LT$T$C$A$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h66d29f6dd39fa1a1E: argument 0"} +!126 = distinct !{!126, !119, !"_ZN77_$LT$toml_edit..de..array..ArraySeqAccess$u20$as$u20$serde..de..SeqAccess$GT$17next_element_seed17h453cb3ccc2d0abf6E: argument 0"} +!127 = distinct !{!127, !116, !"_ZN5serde2de9SeqAccess12next_element17h8c0294c810352590E: argument 0"} +!128 = !{!121, !126, !118, !127, !115} +!129 = !{!126, !118, !127, !115} +!130 = !{!131, !133} +!131 = distinct !{!131, !132, !"_ZN4core6result19Result$LT$T$C$E$GT$3map17he378811761cfbce1E: argument 1"} +!132 = distinct !{!132, !"_ZN4core6result19Result$LT$T$C$E$GT$3map17he378811761cfbce1E"} +!133 = distinct !{!133, !132, !"_ZN4core6result19Result$LT$T$C$E$GT$3map17he378811761cfbce1E: argument 0"} +!134 = !{!118, !115} +!135 = !{!136, !138, !140, !142} +!136 = distinct !{!136, !137, !"_ZN5alloc3vec9into_iter21IntoIter$LT$T$C$A$GT$16as_raw_mut_slice17hc3176257168f1188E: argument 0"} +!137 = distinct !{!137, !"_ZN5alloc3vec9into_iter21IntoIter$LT$T$C$A$GT$16as_raw_mut_slice17hc3176257168f1188E"} +!138 = distinct !{!138, !139, !"_ZN86_$LT$alloc..vec..into_iter..IntoIter$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17hbb3934a7e1437a9fE.llvm.10063921922768059169: argument 0"} +!139 = distinct !{!139, !"_ZN86_$LT$alloc..vec..into_iter..IntoIter$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17hbb3934a7e1437a9fE.llvm.10063921922768059169"} +!140 = distinct !{!140, !141, !"_ZN4core3ptr81drop_in_place$LT$alloc..vec..into_iter..IntoIter$LT$toml_edit..item..Item$GT$$GT$17h5e009773f0cbf6deE.llvm.10063921922768059169: argument 0"} +!141 = distinct !{!141, !"_ZN4core3ptr81drop_in_place$LT$alloc..vec..into_iter..IntoIter$LT$toml_edit..item..Item$GT$$GT$17h5e009773f0cbf6deE.llvm.10063921922768059169"} +!142 = distinct !{!142, !143, !"_ZN4core3ptr57drop_in_place$LT$toml_edit..de..array..ArraySeqAccess$GT$17hc540cf75f33ab1a7E: argument 0"} +!143 = distinct !{!143, !"_ZN4core3ptr57drop_in_place$LT$toml_edit..de..array..ArraySeqAccess$GT$17hc540cf75f33ab1a7E"} +!144 = !{!142} +!145 = !{!140} +!146 = !{!138} +!147 = !{!138, !140, !142} +!148 = !{!149} !149 = distinct !{!149, !150, !"_ZN4core3ptr57drop_in_place$LT$toml_edit..de..array..ArraySeqAccess$GT$17hc540cf75f33ab1a7E: argument 0"} !150 = distinct !{!150, !"_ZN4core3ptr57drop_in_place$LT$toml_edit..de..array..ArraySeqAccess$GT$17hc540cf75f33ab1a7E"} -!151 = !{!149} -!152 = !{!147} -!153 = !{!145} -!154 = !{!145, !147, !149} -!155 = !{!156} -!156 = distinct !{!156, !157, !"_ZN4core3ptr57drop_in_place$LT$toml_edit..de..array..ArraySeqAccess$GT$17hc540cf75f33ab1a7E: argument 0"} -!157 = distinct !{!157, !"_ZN4core3ptr57drop_in_place$LT$toml_edit..de..array..ArraySeqAccess$GT$17hc540cf75f33ab1a7E"} -!158 = !{!159} -!159 = distinct !{!159, !160, !"_ZN4core3ptr81drop_in_place$LT$alloc..vec..into_iter..IntoIter$LT$toml_edit..item..Item$GT$$GT$17h5e009773f0cbf6deE.llvm.10063921922768059169: argument 0"} -!160 = distinct !{!160, !"_ZN4core3ptr81drop_in_place$LT$alloc..vec..into_iter..IntoIter$LT$toml_edit..item..Item$GT$$GT$17h5e009773f0cbf6deE.llvm.10063921922768059169"} -!161 = !{!162} -!162 = distinct !{!162, !163, !"_ZN86_$LT$alloc..vec..into_iter..IntoIter$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17hbb3934a7e1437a9fE.llvm.10063921922768059169: argument 0"} -!163 = distinct !{!163, !"_ZN86_$LT$alloc..vec..into_iter..IntoIter$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17hbb3934a7e1437a9fE.llvm.10063921922768059169"} -!164 = !{!162, !159, !156} -!165 = !{!166, !162, !159, !156} -!166 = distinct !{!166, !167, !"_ZN5alloc3vec9into_iter21IntoIter$LT$T$C$A$GT$16as_raw_mut_slice17hc3176257168f1188E: argument 0"} -!167 = distinct !{!167, !"_ZN5alloc3vec9into_iter21IntoIter$LT$T$C$A$GT$16as_raw_mut_slice17hc3176257168f1188E"} +!151 = !{!152} +!152 = distinct !{!152, !153, !"_ZN4core3ptr81drop_in_place$LT$alloc..vec..into_iter..IntoIter$LT$toml_edit..item..Item$GT$$GT$17h5e009773f0cbf6deE.llvm.10063921922768059169: argument 0"} +!153 = distinct !{!153, !"_ZN4core3ptr81drop_in_place$LT$alloc..vec..into_iter..IntoIter$LT$toml_edit..item..Item$GT$$GT$17h5e009773f0cbf6deE.llvm.10063921922768059169"} +!154 = !{!155} +!155 = distinct !{!155, !156, !"_ZN86_$LT$alloc..vec..into_iter..IntoIter$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17hbb3934a7e1437a9fE.llvm.10063921922768059169: argument 0"} +!156 = distinct !{!156, !"_ZN86_$LT$alloc..vec..into_iter..IntoIter$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17hbb3934a7e1437a9fE.llvm.10063921922768059169"} +!157 = !{!155, !152, !149} +!158 = !{!159, !155, !152, !149} +!159 = distinct !{!159, !160, !"_ZN5alloc3vec9into_iter21IntoIter$LT$T$C$A$GT$16as_raw_mut_slice17hc3176257168f1188E: argument 0"} +!160 = distinct !{!160, !"_ZN5alloc3vec9into_iter21IntoIter$LT$T$C$A$GT$16as_raw_mut_slice17hc3176257168f1188E"} diff --git a/bench/diesel-rs/optimized/4xbiy8n8enfikqa5.ll b/bench/diesel-rs/optimized/4xbiy8n8enfikqa5.ll index 5aa213cb71f..085437f0a52 100644 --- a/bench/diesel-rs/optimized/4xbiy8n8enfikqa5.ll +++ b/bench/diesel-rs/optimized/4xbiy8n8enfikqa5.ll @@ -742,8 +742,8 @@ define hidden void @"_ZN6diesel10connection15statement_cache36StatementCache$LT$ call void @_ZN4core9panicking16panic_in_cleanup17h55eb1d85cadde1a1E() #12, !noalias !98 unreachable -common.resume: ; preds = %.thread247, %179, %240, %.thread290, %255, %.body.i - %common.resume.op = phi { ptr, i32 } [ %eh.lpad-body.i, %.body.i ], [ %256, %255 ], [ %.pn80250, %.thread247 ], [ %180, %179 ], [ %241, %240 ], [ %.pn294, %.thread290 ] +common.resume: ; preds = %.thread247, %179, %241, %.thread290, %256, %.body.i + %common.resume.op = phi { ptr, i32 } [ %eh.lpad-body.i, %.body.i ], [ %257, %256 ], [ %.pn80250, %.thread247 ], [ %180, %179 ], [ %242, %241 ], [ %.pn294, %.thread290 ] resume { ptr, i32 } %common.resume.op 112: ; preds = %13, %.loopexit.i @@ -812,7 +812,7 @@ common.resume: ; preds = %.thread247, %179, % %.sroa.348.0..sroa_idx = getelementptr inbounds i8, ptr %0, i64 17 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(23) %.sroa.348.0..sroa_idx, ptr noundef nonnull align 1 dereferenceable(23) %.sroa.348, i64 23, i1 false) store i64 -9223372036854775807, ptr %0, align 8 - br label %245 + br label %246 126: ; preds = %122 call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %35) @@ -943,7 +943,7 @@ common.resume: ; preds = %.thread247, %179, % "_ZN4core3ptr50drop_in_place$LT$alloc..borrow..Cow$LT$str$GT$$GT$17hd435b746c8bca22cE.exit": ; preds = %"_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17ha35275530ecb299dE.exit.i", %"_ZN4core6result19Result$LT$T$C$E$GT$3map17h9790a3b81b905776E.exit", %141 call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %35) - br label %245 + br label %246 164: ; preds = %.thread247, %.thread290, %201, %143 %165 = landingpad { ptr, i32 } @@ -1029,7 +1029,7 @@ common.resume: ; preds = %.thread247, %179, % %.sroa.11158.8..sroa_idx160 = getelementptr inbounds i8, ptr %18, i64 24 %.sroa.11158.8.copyload161 = load i64, ptr %.sroa.11158.8..sroa_idx160, align 8, !alias.scope !170, !noalias !169 call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %18), !noalias !163 - br i1 %193, label %"_ZN6diesel10connection15statement_cache27StatementCacheKey$LT$DB$GT$3sql17hcd3b74d14dba7555E.exit95.thread312", label %228 + br i1 %193, label %"_ZN6diesel10connection15statement_cache27StatementCacheKey$LT$DB$GT$3sql17hcd3b74d14dba7555E.exit95.thread312", label %229 "_ZN6diesel10connection15statement_cache27StatementCacheKey$LT$DB$GT$3sql17hcd3b74d14dba7555E.exit95.thread": ; preds = %184 %195 = getelementptr inbounds i8, ptr %32, i64 24 @@ -1043,14 +1043,14 @@ common.resume: ; preds = %.thread247, %179, % br label %200 200: ; preds = %223, %199 - %.pn = phi ptr [ %225, %223 ], [ %167, %199 ] + %.pn = phi ptr [ %226, %223 ], [ %167, %199 ] %.071 = getelementptr inbounds i8, ptr %.pn, i64 -40 call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %.sroa.617) store i64 -9223372036854775808, ptr %0, align 8 %.sroa.435.0..sroa_idx = getelementptr inbounds i8, ptr %0, i64 8 store ptr %.071, ptr %.sroa.435.0..sroa_idx, align 8 call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %37) - br label %227 + br label %228 .thread299: ; preds = %189, %213, %216 %lpad.thr_comm297 = landingpad { ptr, i32 } @@ -1134,35 +1134,35 @@ common.resume: ; preds = %.thread247, %179, % %.sroa.0205.0.copyload = load i64, ptr %28, align 8 %.sroa.4206.0..sroa_idx = getelementptr inbounds i8, ptr %28, i64 8 %.sroa.4206.0.copyload = load ptr, ptr %.sroa.4206.0..sroa_idx, align 8, !nonnull !5, !noundef !5 - %.sroa.5207.0..sroa_idx = getelementptr inbounds i8, ptr %28, i64 16 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(48) %16, ptr noundef nonnull align 8 dereferenceable(48) %.sroa.5207.0..sroa_idx, i64 48, i1 false) - %224 = getelementptr inbounds i8, ptr %16, i64 48 - store i64 %220, ptr %224, align 8, !noalias !187 - %225 = call noundef nonnull ptr @"_ZN9hashbrown3raw21RawTable$LT$T$C$A$GT$14insert_no_grow17hce03df91eafa5c3cE"(ptr noalias noundef nonnull align 8 dereferenceable(32) %.sroa.4206.0.copyload, i64 noundef %.sroa.0205.0.copyload, ptr noalias nocapture noundef nonnull align 8 dereferenceable(88) %16) + %224 = getelementptr inbounds i8, ptr %32, i64 16 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(48) %16, ptr noundef nonnull align 8 dereferenceable(48) %224, i64 48, i1 false) + %225 = getelementptr inbounds i8, ptr %16, i64 48 + store i64 %220, ptr %225, align 8, !noalias !187 + %226 = call noundef nonnull ptr @"_ZN9hashbrown3raw21RawTable$LT$T$C$A$GT$14insert_no_grow17hce03df91eafa5c3cE"(ptr noalias noundef nonnull align 8 dereferenceable(32) %.sroa.4206.0.copyload, i64 noundef %.sroa.0205.0.copyload, ptr noalias nocapture noundef nonnull align 8 dereferenceable(88) %16) call void @llvm.lifetime.end.p0(i64 88, ptr nonnull %16), !noalias !183 call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %28) call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %32) br label %200 .thread331: ; preds = %"_ZN4core3ptr50drop_in_place$LT$alloc..borrow..Cow$LT$str$GT$$GT$17hd435b746c8bca22cE.exit108" - %226 = getelementptr inbounds i8, ptr %0, i64 8 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %226, ptr noundef nonnull align 8 dereferenceable(32) %222, i64 32, i1 false) + %227 = getelementptr inbounds i8, ptr %0, i64 8 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %227, ptr noundef nonnull align 8 dereferenceable(32) %222, i64 32, i1 false) store i64 -9223372036854775807, ptr %0, align 8 call void @"_ZN4core3ptr196drop_in_place$LT$std..collections..hash..map..VacantEntry$LT$diesel..connection..statement_cache..StatementCacheKey$LT$diesel..pg..backend..Pg$GT$$C$diesel..pg..connection..stmt..Statement$GT$$GT$17h821cbf15fc05dfd5E"(ptr noalias noundef nonnull align 8 dereferenceable(64) %28) call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %28) br label %.critedge -227: ; preds = %"_ZN4core3ptr106drop_in_place$LT$diesel..connection..statement_cache..StatementCacheKey$LT$diesel..pg..backend..Pg$GT$$GT$17hb589cbd8e2e68c39E.exit", %200 +228: ; preds = %"_ZN4core3ptr106drop_in_place$LT$diesel..connection..statement_cache..StatementCacheKey$LT$diesel..pg..backend..Pg$GT$$GT$17hb589cbd8e2e68c39E.exit", %200 ret void -.critedge: ; preds = %242, %228, %.thread331 +.critedge: ; preds = %243, %229, %.thread331 call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %32) call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %.sroa.617) br label %"_ZN4core3ptr106drop_in_place$LT$diesel..connection..statement_cache..StatementCacheKey$LT$diesel..pg..backend..Pg$GT$$GT$17hb589cbd8e2e68c39E.exit" -228: ; preds = %.noexc94 - %229 = getelementptr inbounds i8, ptr %0, i64 8 - store i64 %192, ptr %229, align 8 +229: ; preds = %.noexc94 + %230 = getelementptr inbounds i8, ptr %0, i64 8 + store i64 %192, ptr %230, align 8 %.sroa.260.0..sroa_idx = getelementptr inbounds i8, ptr %0, i64 16 store i64 %.sroa.6151.8.copyload153, ptr %.sroa.260.0..sroa_idx, align 8 %.sroa.260.sroa.2.0..sroa.260.0..sroa_idx.sroa_idx = getelementptr inbounds i8, ptr %0, i64 24 @@ -1174,42 +1174,42 @@ common.resume: ; preds = %.thread247, %179, % tail call void @llvm.experimental.noalias.scope.decl(metadata !188) tail call void @llvm.experimental.noalias.scope.decl(metadata !191) tail call void @llvm.experimental.noalias.scope.decl(metadata !194) - %230 = load i64, ptr %186, align 8, !range !4, !alias.scope !197, !noundef !5 - %231 = icmp eq i64 %230, -9223372036854775808 - br i1 %231, label %.critedge, label %232 + %231 = load i64, ptr %186, align 8, !range !4, !alias.scope !197, !noundef !5 + %232 = icmp eq i64 %231, -9223372036854775808 + br i1 %232, label %.critedge, label %233 -232: ; preds = %228 +233: ; preds = %229 call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %15), !noalias !198 invoke void @"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$14current_memory17hf2efacf639a2cd70E.llvm.14992767593304109899"(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(16) %185) - to label %.noexc.i.i.i unwind label %240 - -.noexc.i.i.i: ; preds = %232 - %233 = getelementptr inbounds i8, ptr %15, i64 8 - %234 = load i64, ptr %233, align 8, !range !4, !noalias !198, !noundef !5 - %.not.i.i.i.i.i.i.i = icmp eq i64 %234, 0 - br i1 %.not.i.i.i.i.i.i.i, label %242, label %235 - -235: ; preds = %.noexc.i.i.i - %236 = load ptr, ptr %15, align 8, !noalias !198, !nonnull !5, !noundef !5 - %237 = getelementptr inbounds i8, ptr %15, i64 16 - %238 = load i64, ptr %237, align 8, !noalias !198, !noundef !5 - %239 = getelementptr inbounds i8, ptr %32, i64 32 - invoke void @"_ZN63_$LT$alloc..alloc..Global$u20$as$u20$core..alloc..Allocator$GT$10deallocate17hae8e459b587c5295E.llvm.14992767593304109899"(ptr noalias noundef nonnull readonly align 1 %239, ptr noundef nonnull %236, i64 noundef %234, i64 noundef %238) - to label %242 unwind label %240 - -240: ; preds = %235, %232 - %241 = landingpad { ptr, i32 } + to label %.noexc.i.i.i unwind label %241 + +.noexc.i.i.i: ; preds = %233 + %234 = getelementptr inbounds i8, ptr %15, i64 8 + %235 = load i64, ptr %234, align 8, !range !4, !noalias !198, !noundef !5 + %.not.i.i.i.i.i.i.i = icmp eq i64 %235, 0 + br i1 %.not.i.i.i.i.i.i.i, label %243, label %236 + +236: ; preds = %.noexc.i.i.i + %237 = load ptr, ptr %15, align 8, !noalias !198, !nonnull !5, !noundef !5 + %238 = getelementptr inbounds i8, ptr %15, i64 16 + %239 = load i64, ptr %238, align 8, !noalias !198, !noundef !5 + %240 = getelementptr inbounds i8, ptr %32, i64 32 + invoke void @"_ZN63_$LT$alloc..alloc..Global$u20$as$u20$core..alloc..Allocator$GT$10deallocate17hae8e459b587c5295E.llvm.14992767593304109899"(ptr noalias noundef nonnull readonly align 1 %240, ptr noundef nonnull %237, i64 noundef %235, i64 noundef %239) + to label %243 unwind label %241 + +241: ; preds = %236, %233 + %242 = landingpad { ptr, i32 } cleanup invoke void @"_ZN4core3ptr79drop_in_place$LT$alloc..vec..Vec$LT$diesel..pg..backend..PgTypeMetadata$GT$$GT$17h5a0709c5e3ec698eE"(ptr noalias noundef nonnull align 8 dereferenceable(24) %186) #11 - to label %common.resume unwind label %243 + to label %common.resume unwind label %244 -242: ; preds = %235, %.noexc.i.i.i +243: ; preds = %236, %.noexc.i.i.i call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %15), !noalias !198 call void @"_ZN4core3ptr79drop_in_place$LT$alloc..vec..Vec$LT$diesel..pg..backend..PgTypeMetadata$GT$$GT$17h5a0709c5e3ec698eE"(ptr noalias noundef nonnull align 8 dereferenceable(24) %186) br label %.critedge -243: ; preds = %240 - %244 = landingpad { ptr, i32 } +244: ; preds = %241 + %245 = landingpad { ptr, i32 } filter [0 x ptr] zeroinitializer call void @_ZN4core9panicking16panic_in_cleanup17h55eb1d85cadde1a1E() #12 unreachable @@ -1219,47 +1219,47 @@ common.resume: ; preds = %.thread247, %179, % invoke void @"_ZN4core3ptr196drop_in_place$LT$std..collections..hash..map..VacantEntry$LT$diesel..connection..statement_cache..StatementCacheKey$LT$diesel..pg..backend..Pg$GT$$C$diesel..pg..connection..stmt..Statement$GT$$GT$17h821cbf15fc05dfd5E"(ptr noalias noundef nonnull align 8 dereferenceable(64) %32) #11 to label %common.resume unwind label %164 -"_ZN4core3ptr106drop_in_place$LT$diesel..connection..statement_cache..StatementCacheKey$LT$diesel..pg..backend..Pg$GT$$GT$17hb589cbd8e2e68c39E.exit": ; preds = %257, %245, %.critedge, %115 +"_ZN4core3ptr106drop_in_place$LT$diesel..connection..statement_cache..StatementCacheKey$LT$diesel..pg..backend..Pg$GT$$GT$17hb589cbd8e2e68c39E.exit": ; preds = %258, %246, %.critedge, %115 call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %37) - br label %227 + br label %228 -245: ; preds = %124, %"_ZN4core3ptr50drop_in_place$LT$alloc..borrow..Cow$LT$str$GT$$GT$17hd435b746c8bca22cE.exit" +246: ; preds = %124, %"_ZN4core3ptr50drop_in_place$LT$alloc..borrow..Cow$LT$str$GT$$GT$17hd435b746c8bca22cE.exit" call void @llvm.experimental.noalias.scope.decl(metadata !207) - %246 = load i64, ptr %.sroa.5174.0..sroa_idx, align 8, !range !4, !alias.scope !207, !noundef !5 - %247 = icmp eq i64 %246, -9223372036854775808 - br i1 %247, label %"_ZN4core3ptr106drop_in_place$LT$diesel..connection..statement_cache..StatementCacheKey$LT$diesel..pg..backend..Pg$GT$$GT$17hb589cbd8e2e68c39E.exit", label %248 + %247 = load i64, ptr %.sroa.5174.0..sroa_idx, align 8, !range !4, !alias.scope !207, !noundef !5 + %248 = icmp eq i64 %247, -9223372036854775808 + br i1 %248, label %"_ZN4core3ptr106drop_in_place$LT$diesel..connection..statement_cache..StatementCacheKey$LT$diesel..pg..backend..Pg$GT$$GT$17hb589cbd8e2e68c39E.exit", label %249 -248: ; preds = %245 +249: ; preds = %246 call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %14), !noalias !210 invoke void @"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$14current_memory17hf2efacf639a2cd70E.llvm.14992767593304109899"(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(16) %37) - to label %.noexc.i114 unwind label %255 - -.noexc.i114: ; preds = %248 - %249 = getelementptr inbounds i8, ptr %14, i64 8 - %250 = load i64, ptr %249, align 8, !range !4, !noalias !210, !noundef !5 - %.not.i.i.i.i.i115 = icmp eq i64 %250, 0 - br i1 %.not.i.i.i.i.i115, label %257, label %251 - -251: ; preds = %.noexc.i114 - %252 = load ptr, ptr %14, align 8, !noalias !210, !nonnull !5, !noundef !5 - %253 = getelementptr inbounds i8, ptr %14, i64 16 - %254 = load i64, ptr %253, align 8, !noalias !210, !noundef !5 - invoke void @"_ZN63_$LT$alloc..alloc..Global$u20$as$u20$core..alloc..Allocator$GT$10deallocate17hae8e459b587c5295E.llvm.14992767593304109899"(ptr noalias noundef nonnull readonly align 1 %.sroa.4173.0..sroa_idx, ptr noundef nonnull %252, i64 noundef %250, i64 noundef %254) - to label %257 unwind label %255 - -255: ; preds = %251, %248 - %256 = landingpad { ptr, i32 } + to label %.noexc.i114 unwind label %256 + +.noexc.i114: ; preds = %249 + %250 = getelementptr inbounds i8, ptr %14, i64 8 + %251 = load i64, ptr %250, align 8, !range !4, !noalias !210, !noundef !5 + %.not.i.i.i.i.i115 = icmp eq i64 %251, 0 + br i1 %.not.i.i.i.i.i115, label %258, label %252 + +252: ; preds = %.noexc.i114 + %253 = load ptr, ptr %14, align 8, !noalias !210, !nonnull !5, !noundef !5 + %254 = getelementptr inbounds i8, ptr %14, i64 16 + %255 = load i64, ptr %254, align 8, !noalias !210, !noundef !5 + invoke void @"_ZN63_$LT$alloc..alloc..Global$u20$as$u20$core..alloc..Allocator$GT$10deallocate17hae8e459b587c5295E.llvm.14992767593304109899"(ptr noalias noundef nonnull readonly align 1 %.sroa.4173.0..sroa_idx, ptr noundef nonnull %253, i64 noundef %251, i64 noundef %255) + to label %258 unwind label %256 + +256: ; preds = %252, %249 + %257 = landingpad { ptr, i32 } cleanup invoke void @"_ZN4core3ptr79drop_in_place$LT$alloc..vec..Vec$LT$diesel..pg..backend..PgTypeMetadata$GT$$GT$17h5a0709c5e3ec698eE"(ptr noalias noundef nonnull align 8 dereferenceable(24) %.sroa.5174.0..sroa_idx) #11 - to label %common.resume unwind label %258 + to label %common.resume unwind label %259 -257: ; preds = %251, %.noexc.i114 +258: ; preds = %252, %.noexc.i114 call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %14), !noalias !210 call void @"_ZN4core3ptr79drop_in_place$LT$alloc..vec..Vec$LT$diesel..pg..backend..PgTypeMetadata$GT$$GT$17h5a0709c5e3ec698eE"(ptr noalias noundef nonnull align 8 dereferenceable(24) %.sroa.5174.0..sroa_idx) br label %"_ZN4core3ptr106drop_in_place$LT$diesel..connection..statement_cache..StatementCacheKey$LT$diesel..pg..backend..Pg$GT$$GT$17hb589cbd8e2e68c39E.exit" -258: ; preds = %255 - %259 = landingpad { ptr, i32 } +259: ; preds = %256 + %260 = landingpad { ptr, i32 } filter [0 x ptr] zeroinitializer call void @_ZN4core9panicking16panic_in_cleanup17h55eb1d85cadde1a1E() #12 unreachable diff --git a/bench/diesel-rs/optimized/50mhz8mo1hxs6qut.ll b/bench/diesel-rs/optimized/50mhz8mo1hxs6qut.ll index 49165304510..42fecb72aa2 100644 --- a/bench/diesel-rs/optimized/50mhz8mo1hxs6qut.ll +++ b/bench/diesel-rs/optimized/50mhz8mo1hxs6qut.ll @@ -526,8 +526,8 @@ define hidden void @"_ZN6diesel10connection15statement_cache36StatementCache$LT$ call void @_ZN4core9panicking16panic_in_cleanup17h55eb1d85cadde1a1E() #12, !noalias !98 unreachable -common.resume: ; preds = %.thread247, %179, %240, %.thread290, %255, %.body.i - %common.resume.op = phi { ptr, i32 } [ %eh.lpad-body.i, %.body.i ], [ %256, %255 ], [ %.pn80250, %.thread247 ], [ %180, %179 ], [ %241, %240 ], [ %.pn294, %.thread290 ] +common.resume: ; preds = %.thread247, %179, %241, %.thread290, %256, %.body.i + %common.resume.op = phi { ptr, i32 } [ %eh.lpad-body.i, %.body.i ], [ %257, %256 ], [ %.pn80250, %.thread247 ], [ %180, %179 ], [ %242, %241 ], [ %.pn294, %.thread290 ] resume { ptr, i32 } %common.resume.op 112: ; preds = %13, %.loopexit.i @@ -596,7 +596,7 @@ common.resume: ; preds = %.thread247, %179, % %.sroa.348.0..sroa_idx = getelementptr inbounds i8, ptr %0, i64 17 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(23) %.sroa.348.0..sroa_idx, ptr noundef nonnull align 1 dereferenceable(23) %.sroa.348, i64 23, i1 false) store i64 -9223372036854775807, ptr %0, align 8 - br label %245 + br label %246 126: ; preds = %122 call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %35) @@ -727,7 +727,7 @@ common.resume: ; preds = %.thread247, %179, % "_ZN4core3ptr50drop_in_place$LT$alloc..borrow..Cow$LT$str$GT$$GT$17h318c98bf762b5982E.exit": ; preds = %"_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17h2d0f9b0b4d346967E.exit.i", %"_ZN4core6result19Result$LT$T$C$E$GT$3map17hc6cc55ff86f0eba2E.exit", %141 call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %35) - br label %245 + br label %246 164: ; preds = %.thread247, %.thread290, %201, %143 %165 = landingpad { ptr, i32 } @@ -813,7 +813,7 @@ common.resume: ; preds = %.thread247, %179, % %.sroa.11158.8..sroa_idx160 = getelementptr inbounds i8, ptr %18, i64 24 %.sroa.11158.8.copyload161 = load i64, ptr %.sroa.11158.8..sroa_idx160, align 8, !alias.scope !170, !noalias !169 call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %18), !noalias !163 - br i1 %193, label %"_ZN6diesel10connection15statement_cache27StatementCacheKey$LT$DB$GT$3sql17h873d913874de3e67E.exit95.thread312", label %228 + br i1 %193, label %"_ZN6diesel10connection15statement_cache27StatementCacheKey$LT$DB$GT$3sql17h873d913874de3e67E.exit95.thread312", label %229 "_ZN6diesel10connection15statement_cache27StatementCacheKey$LT$DB$GT$3sql17h873d913874de3e67E.exit95.thread": ; preds = %184 %195 = getelementptr inbounds i8, ptr %32, i64 24 @@ -827,14 +827,14 @@ common.resume: ; preds = %.thread247, %179, % br label %200 200: ; preds = %223, %199 - %.pn = phi ptr [ %225, %223 ], [ %167, %199 ] + %.pn = phi ptr [ %226, %223 ], [ %167, %199 ] %.071 = getelementptr inbounds i8, ptr %.pn, i64 -40 call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %.sroa.617) store i64 -9223372036854775808, ptr %0, align 8 %.sroa.435.0..sroa_idx = getelementptr inbounds i8, ptr %0, i64 8 store ptr %.071, ptr %.sroa.435.0..sroa_idx, align 8 call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %37) - br label %227 + br label %228 .thread299: ; preds = %189, %213, %216 %lpad.thr_comm297 = landingpad { ptr, i32 } @@ -918,35 +918,35 @@ common.resume: ; preds = %.thread247, %179, % %.sroa.0205.0.copyload = load i64, ptr %28, align 8 %.sroa.4206.0..sroa_idx = getelementptr inbounds i8, ptr %28, i64 8 %.sroa.4206.0.copyload = load ptr, ptr %.sroa.4206.0..sroa_idx, align 8, !nonnull !5, !noundef !5 - %.sroa.5207.0..sroa_idx = getelementptr inbounds i8, ptr %28, i64 16 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(48) %16, ptr noundef nonnull align 8 dereferenceable(48) %.sroa.5207.0..sroa_idx, i64 48, i1 false) - %224 = getelementptr inbounds i8, ptr %16, i64 48 - store i64 %220, ptr %224, align 8, !noalias !187 - %225 = call noundef nonnull ptr @"_ZN9hashbrown3raw21RawTable$LT$T$C$A$GT$14insert_no_grow17h90d47bccc29d6e63E"(ptr noalias noundef nonnull align 8 dereferenceable(32) %.sroa.4206.0.copyload, i64 noundef %.sroa.0205.0.copyload, ptr noalias nocapture noundef nonnull align 8 dereferenceable(88) %16) + %224 = getelementptr inbounds i8, ptr %32, i64 16 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(48) %16, ptr noundef nonnull align 8 dereferenceable(48) %224, i64 48, i1 false) + %225 = getelementptr inbounds i8, ptr %16, i64 48 + store i64 %220, ptr %225, align 8, !noalias !187 + %226 = call noundef nonnull ptr @"_ZN9hashbrown3raw21RawTable$LT$T$C$A$GT$14insert_no_grow17h90d47bccc29d6e63E"(ptr noalias noundef nonnull align 8 dereferenceable(32) %.sroa.4206.0.copyload, i64 noundef %.sroa.0205.0.copyload, ptr noalias nocapture noundef nonnull align 8 dereferenceable(88) %16) call void @llvm.lifetime.end.p0(i64 88, ptr nonnull %16), !noalias !183 call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %28) call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %32) br label %200 .thread331: ; preds = %"_ZN4core3ptr50drop_in_place$LT$alloc..borrow..Cow$LT$str$GT$$GT$17h318c98bf762b5982E.exit108" - %226 = getelementptr inbounds i8, ptr %0, i64 8 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %226, ptr noundef nonnull align 8 dereferenceable(32) %222, i64 32, i1 false) + %227 = getelementptr inbounds i8, ptr %0, i64 8 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %227, ptr noundef nonnull align 8 dereferenceable(32) %222, i64 32, i1 false) store i64 -9223372036854775807, ptr %0, align 8 call void @"_ZN4core3ptr196drop_in_place$LT$std..collections..hash..map..VacantEntry$LT$diesel..connection..statement_cache..StatementCacheKey$LT$diesel..pg..backend..Pg$GT$$C$diesel..pg..connection..stmt..Statement$GT$$GT$17ha2732f27b69c5ea8E"(ptr noalias noundef nonnull align 8 dereferenceable(64) %28) call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %28) br label %.critedge -227: ; preds = %"_ZN4core3ptr106drop_in_place$LT$diesel..connection..statement_cache..StatementCacheKey$LT$diesel..pg..backend..Pg$GT$$GT$17h5ba7fbafb10b375aE.exit", %200 +228: ; preds = %"_ZN4core3ptr106drop_in_place$LT$diesel..connection..statement_cache..StatementCacheKey$LT$diesel..pg..backend..Pg$GT$$GT$17h5ba7fbafb10b375aE.exit", %200 ret void -.critedge: ; preds = %242, %228, %.thread331 +.critedge: ; preds = %243, %229, %.thread331 call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %32) call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %.sroa.617) br label %"_ZN4core3ptr106drop_in_place$LT$diesel..connection..statement_cache..StatementCacheKey$LT$diesel..pg..backend..Pg$GT$$GT$17h5ba7fbafb10b375aE.exit" -228: ; preds = %.noexc94 - %229 = getelementptr inbounds i8, ptr %0, i64 8 - store i64 %192, ptr %229, align 8 +229: ; preds = %.noexc94 + %230 = getelementptr inbounds i8, ptr %0, i64 8 + store i64 %192, ptr %230, align 8 %.sroa.260.0..sroa_idx = getelementptr inbounds i8, ptr %0, i64 16 store i64 %.sroa.6151.8.copyload153, ptr %.sroa.260.0..sroa_idx, align 8 %.sroa.260.sroa.2.0..sroa.260.0..sroa_idx.sroa_idx = getelementptr inbounds i8, ptr %0, i64 24 @@ -958,42 +958,42 @@ common.resume: ; preds = %.thread247, %179, % tail call void @llvm.experimental.noalias.scope.decl(metadata !188) tail call void @llvm.experimental.noalias.scope.decl(metadata !191) tail call void @llvm.experimental.noalias.scope.decl(metadata !194) - %230 = load i64, ptr %186, align 8, !range !4, !alias.scope !197, !noundef !5 - %231 = icmp eq i64 %230, -9223372036854775808 - br i1 %231, label %.critedge, label %232 + %231 = load i64, ptr %186, align 8, !range !4, !alias.scope !197, !noundef !5 + %232 = icmp eq i64 %231, -9223372036854775808 + br i1 %232, label %.critedge, label %233 -232: ; preds = %228 +233: ; preds = %229 call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %15), !noalias !198 invoke void @"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$14current_memory17h7a374a80eb15db80E.llvm.12685190674109232616"(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(16) %185) - to label %.noexc.i.i.i unwind label %240 - -.noexc.i.i.i: ; preds = %232 - %233 = getelementptr inbounds i8, ptr %15, i64 8 - %234 = load i64, ptr %233, align 8, !range !4, !noalias !198, !noundef !5 - %.not.i.i.i.i.i.i.i = icmp eq i64 %234, 0 - br i1 %.not.i.i.i.i.i.i.i, label %242, label %235 - -235: ; preds = %.noexc.i.i.i - %236 = load ptr, ptr %15, align 8, !noalias !198, !nonnull !5, !noundef !5 - %237 = getelementptr inbounds i8, ptr %15, i64 16 - %238 = load i64, ptr %237, align 8, !noalias !198, !noundef !5 - %239 = getelementptr inbounds i8, ptr %32, i64 32 - invoke void @"_ZN63_$LT$alloc..alloc..Global$u20$as$u20$core..alloc..Allocator$GT$10deallocate17hae8e459b587c5295E.llvm.12685190674109232616"(ptr noalias noundef nonnull readonly align 1 %239, ptr noundef nonnull %236, i64 noundef %234, i64 noundef %238) - to label %242 unwind label %240 - -240: ; preds = %235, %232 - %241 = landingpad { ptr, i32 } + to label %.noexc.i.i.i unwind label %241 + +.noexc.i.i.i: ; preds = %233 + %234 = getelementptr inbounds i8, ptr %15, i64 8 + %235 = load i64, ptr %234, align 8, !range !4, !noalias !198, !noundef !5 + %.not.i.i.i.i.i.i.i = icmp eq i64 %235, 0 + br i1 %.not.i.i.i.i.i.i.i, label %243, label %236 + +236: ; preds = %.noexc.i.i.i + %237 = load ptr, ptr %15, align 8, !noalias !198, !nonnull !5, !noundef !5 + %238 = getelementptr inbounds i8, ptr %15, i64 16 + %239 = load i64, ptr %238, align 8, !noalias !198, !noundef !5 + %240 = getelementptr inbounds i8, ptr %32, i64 32 + invoke void @"_ZN63_$LT$alloc..alloc..Global$u20$as$u20$core..alloc..Allocator$GT$10deallocate17hae8e459b587c5295E.llvm.12685190674109232616"(ptr noalias noundef nonnull readonly align 1 %240, ptr noundef nonnull %237, i64 noundef %235, i64 noundef %239) + to label %243 unwind label %241 + +241: ; preds = %236, %233 + %242 = landingpad { ptr, i32 } cleanup invoke void @"_ZN4core3ptr79drop_in_place$LT$alloc..vec..Vec$LT$diesel..pg..backend..PgTypeMetadata$GT$$GT$17h4c3dcf4c5809f10fE"(ptr noalias noundef nonnull align 8 dereferenceable(24) %186) #11 - to label %common.resume unwind label %243 + to label %common.resume unwind label %244 -242: ; preds = %235, %.noexc.i.i.i +243: ; preds = %236, %.noexc.i.i.i call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %15), !noalias !198 call void @"_ZN4core3ptr79drop_in_place$LT$alloc..vec..Vec$LT$diesel..pg..backend..PgTypeMetadata$GT$$GT$17h4c3dcf4c5809f10fE"(ptr noalias noundef nonnull align 8 dereferenceable(24) %186) br label %.critedge -243: ; preds = %240 - %244 = landingpad { ptr, i32 } +244: ; preds = %241 + %245 = landingpad { ptr, i32 } filter [0 x ptr] zeroinitializer call void @_ZN4core9panicking16panic_in_cleanup17h55eb1d85cadde1a1E() #12 unreachable @@ -1003,47 +1003,47 @@ common.resume: ; preds = %.thread247, %179, % invoke void @"_ZN4core3ptr196drop_in_place$LT$std..collections..hash..map..VacantEntry$LT$diesel..connection..statement_cache..StatementCacheKey$LT$diesel..pg..backend..Pg$GT$$C$diesel..pg..connection..stmt..Statement$GT$$GT$17ha2732f27b69c5ea8E"(ptr noalias noundef nonnull align 8 dereferenceable(64) %32) #11 to label %common.resume unwind label %164 -"_ZN4core3ptr106drop_in_place$LT$diesel..connection..statement_cache..StatementCacheKey$LT$diesel..pg..backend..Pg$GT$$GT$17h5ba7fbafb10b375aE.exit": ; preds = %257, %245, %.critedge, %115 +"_ZN4core3ptr106drop_in_place$LT$diesel..connection..statement_cache..StatementCacheKey$LT$diesel..pg..backend..Pg$GT$$GT$17h5ba7fbafb10b375aE.exit": ; preds = %258, %246, %.critedge, %115 call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %37) - br label %227 + br label %228 -245: ; preds = %124, %"_ZN4core3ptr50drop_in_place$LT$alloc..borrow..Cow$LT$str$GT$$GT$17h318c98bf762b5982E.exit" +246: ; preds = %124, %"_ZN4core3ptr50drop_in_place$LT$alloc..borrow..Cow$LT$str$GT$$GT$17h318c98bf762b5982E.exit" call void @llvm.experimental.noalias.scope.decl(metadata !207) - %246 = load i64, ptr %.sroa.5174.0..sroa_idx, align 8, !range !4, !alias.scope !207, !noundef !5 - %247 = icmp eq i64 %246, -9223372036854775808 - br i1 %247, label %"_ZN4core3ptr106drop_in_place$LT$diesel..connection..statement_cache..StatementCacheKey$LT$diesel..pg..backend..Pg$GT$$GT$17h5ba7fbafb10b375aE.exit", label %248 + %247 = load i64, ptr %.sroa.5174.0..sroa_idx, align 8, !range !4, !alias.scope !207, !noundef !5 + %248 = icmp eq i64 %247, -9223372036854775808 + br i1 %248, label %"_ZN4core3ptr106drop_in_place$LT$diesel..connection..statement_cache..StatementCacheKey$LT$diesel..pg..backend..Pg$GT$$GT$17h5ba7fbafb10b375aE.exit", label %249 -248: ; preds = %245 +249: ; preds = %246 call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %14), !noalias !210 invoke void @"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$14current_memory17h7a374a80eb15db80E.llvm.12685190674109232616"(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(16) %37) - to label %.noexc.i114 unwind label %255 - -.noexc.i114: ; preds = %248 - %249 = getelementptr inbounds i8, ptr %14, i64 8 - %250 = load i64, ptr %249, align 8, !range !4, !noalias !210, !noundef !5 - %.not.i.i.i.i.i115 = icmp eq i64 %250, 0 - br i1 %.not.i.i.i.i.i115, label %257, label %251 - -251: ; preds = %.noexc.i114 - %252 = load ptr, ptr %14, align 8, !noalias !210, !nonnull !5, !noundef !5 - %253 = getelementptr inbounds i8, ptr %14, i64 16 - %254 = load i64, ptr %253, align 8, !noalias !210, !noundef !5 - invoke void @"_ZN63_$LT$alloc..alloc..Global$u20$as$u20$core..alloc..Allocator$GT$10deallocate17hae8e459b587c5295E.llvm.12685190674109232616"(ptr noalias noundef nonnull readonly align 1 %.sroa.4173.0..sroa_idx, ptr noundef nonnull %252, i64 noundef %250, i64 noundef %254) - to label %257 unwind label %255 - -255: ; preds = %251, %248 - %256 = landingpad { ptr, i32 } + to label %.noexc.i114 unwind label %256 + +.noexc.i114: ; preds = %249 + %250 = getelementptr inbounds i8, ptr %14, i64 8 + %251 = load i64, ptr %250, align 8, !range !4, !noalias !210, !noundef !5 + %.not.i.i.i.i.i115 = icmp eq i64 %251, 0 + br i1 %.not.i.i.i.i.i115, label %258, label %252 + +252: ; preds = %.noexc.i114 + %253 = load ptr, ptr %14, align 8, !noalias !210, !nonnull !5, !noundef !5 + %254 = getelementptr inbounds i8, ptr %14, i64 16 + %255 = load i64, ptr %254, align 8, !noalias !210, !noundef !5 + invoke void @"_ZN63_$LT$alloc..alloc..Global$u20$as$u20$core..alloc..Allocator$GT$10deallocate17hae8e459b587c5295E.llvm.12685190674109232616"(ptr noalias noundef nonnull readonly align 1 %.sroa.4173.0..sroa_idx, ptr noundef nonnull %253, i64 noundef %251, i64 noundef %255) + to label %258 unwind label %256 + +256: ; preds = %252, %249 + %257 = landingpad { ptr, i32 } cleanup invoke void @"_ZN4core3ptr79drop_in_place$LT$alloc..vec..Vec$LT$diesel..pg..backend..PgTypeMetadata$GT$$GT$17h4c3dcf4c5809f10fE"(ptr noalias noundef nonnull align 8 dereferenceable(24) %.sroa.5174.0..sroa_idx) #11 - to label %common.resume unwind label %258 + to label %common.resume unwind label %259 -257: ; preds = %251, %.noexc.i114 +258: ; preds = %252, %.noexc.i114 call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %14), !noalias !210 call void @"_ZN4core3ptr79drop_in_place$LT$alloc..vec..Vec$LT$diesel..pg..backend..PgTypeMetadata$GT$$GT$17h4c3dcf4c5809f10fE"(ptr noalias noundef nonnull align 8 dereferenceable(24) %.sroa.5174.0..sroa_idx) br label %"_ZN4core3ptr106drop_in_place$LT$diesel..connection..statement_cache..StatementCacheKey$LT$diesel..pg..backend..Pg$GT$$GT$17h5ba7fbafb10b375aE.exit" -258: ; preds = %255 - %259 = landingpad { ptr, i32 } +259: ; preds = %256 + %260 = landingpad { ptr, i32 } filter [0 x ptr] zeroinitializer call void @_ZN4core9panicking16panic_in_cleanup17h55eb1d85cadde1a1E() #12 unreachable diff --git a/bench/diesel-rs/optimized/5fkixlzdmcnhldqw.ll b/bench/diesel-rs/optimized/5fkixlzdmcnhldqw.ll index be37165b025..22053359189 100644 --- a/bench/diesel-rs/optimized/5fkixlzdmcnhldqw.ll +++ b/bench/diesel-rs/optimized/5fkixlzdmcnhldqw.ll @@ -485,7 +485,7 @@ common.resume: ; preds = %.thread265, %95, %. %.sroa.3178.0..sroa_idx = getelementptr inbounds i8, ptr %0, i64 32 store i64 %.sroa.7.i.sroa.7.0.copyload230, ptr %.sroa.3178.0..sroa_idx, align 8 store i64 1, ptr %0, align 8 - br label %234 + br label %235 .thread273: ; preds = %51, %68, %173, %176 %lpad.thr_comm = landingpad { ptr, i32 } @@ -515,7 +515,7 @@ common.resume: ; preds = %.thread265, %95, %. %.sroa.346.0..sroa_idx = getelementptr inbounds i8, ptr %0, i64 17 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(23) %.sroa.346.0..sroa_idx, ptr noundef nonnull align 1 dereferenceable(23) %.sroa.346, i64 23, i1 false) store i64 1, ptr %0, align 8 - br label %235 + br label %236 65: ; preds = %61 call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %32) @@ -832,7 +832,7 @@ common.resume: ; preds = %.thread265, %95, %. "_ZN4core3ptr50drop_in_place$LT$alloc..borrow..Cow$LT$str$GT$$GT$17hb85dc17b6aaf5a3dE.exit": ; preds = %"_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17h72e49c483af021c4E.exit.i", %168, %160 call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %32) - br label %235 + br label %236 180: ; preds = %.thread316, %.thread265, %205, %162 %181 = landingpad { ptr, i32 } @@ -893,7 +893,7 @@ common.resume: ; preds = %.thread265, %95, %. %.sroa.11156.8..sroa_idx158 = getelementptr inbounds i8, ptr %16, i64 24 %.sroa.11156.8.copyload159 = load i64, ptr %.sroa.11156.8..sroa_idx158, align 8, !alias.scope !234, !noalias !233 call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %16), !noalias !227 - br i1 %196, label %"_ZN6diesel10connection15statement_cache27StatementCacheKey$LT$DB$GT$3sql17h5b890bf4531f3c65E.exit98.thread338", label %232 + br i1 %196, label %"_ZN6diesel10connection15statement_cache27StatementCacheKey$LT$DB$GT$3sql17h5b890bf4531f3c65E.exit98.thread338", label %233 "_ZN6diesel10connection15statement_cache27StatementCacheKey$LT$DB$GT$3sql17h5b890bf4531f3c65E.exit98.thread": ; preds = %188 %198 = getelementptr inbounds i8, ptr %29, i64 24 @@ -907,7 +907,7 @@ common.resume: ; preds = %.thread265, %95, %. br label %203 203: ; preds = %226, %202 - %.pn = phi ptr [ %228, %226 ], [ %129, %202 ] + %.pn = phi ptr [ %229, %226 ], [ %129, %202 ] %.067 = getelementptr inbounds i8, ptr %.pn, i64 -32 call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %.sroa.617.sroa.8) %204 = getelementptr inbounds i8, ptr %0, i64 8 @@ -916,7 +916,7 @@ common.resume: ; preds = %.thread265, %95, %. store ptr %.067, ptr %.sroa.433.0..sroa_idx, align 8 store i64 0, ptr %0, align 8 call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %34) - br label %231 + br label %232 .thread325: ; preds = %192, %217, %220 %lpad.thr_comm323 = landingpad { ptr, i32 } @@ -1000,34 +1000,34 @@ common.resume: ; preds = %.thread265, %95, %. %.sroa.0203.0.copyload = load i64, ptr %25, align 8 %.sroa.4204.0..sroa_idx = getelementptr inbounds i8, ptr %25, i64 8 %.sroa.4204.0.copyload = load ptr, ptr %.sroa.4204.0..sroa_idx, align 8, !nonnull !5, !noundef !5 - %.sroa.5205.0..sroa_idx = getelementptr inbounds i8, ptr %25, i64 16 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(48) %14, ptr noundef nonnull align 8 dereferenceable(48) %.sroa.5205.0..sroa_idx, i64 48, i1 false) - %228 = call noundef nonnull ptr @"_ZN9hashbrown3raw21RawTable$LT$T$C$A$GT$14insert_no_grow17hd598cc4213abaef2E"(ptr noalias noundef nonnull align 8 dereferenceable(32) %.sroa.4204.0.copyload, i64 noundef %.sroa.0203.0.copyload, ptr noalias nocapture noundef nonnull align 8 dereferenceable(80) %14) + %228 = getelementptr inbounds i8, ptr %29, i64 16 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(48) %14, ptr noundef nonnull align 8 dereferenceable(48) %228, i64 48, i1 false) + %229 = call noundef nonnull ptr @"_ZN9hashbrown3raw21RawTable$LT$T$C$A$GT$14insert_no_grow17hd598cc4213abaef2E"(ptr noalias noundef nonnull align 8 dereferenceable(32) %.sroa.4204.0.copyload, i64 noundef %.sroa.0203.0.copyload, ptr noalias nocapture noundef nonnull align 8 dereferenceable(80) %14) call void @llvm.lifetime.end.p0(i64 80, ptr nonnull %14), !noalias !247 call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %25) call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %29) br label %203 .thread356: ; preds = %"_ZN4core3ptr50drop_in_place$LT$alloc..borrow..Cow$LT$str$GT$$GT$17hb85dc17b6aaf5a3dE.exit111" - %229 = getelementptr inbounds i8, ptr %0, i64 8 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %229, ptr noundef nonnull align 8 dereferenceable(32) %225, i64 32, i1 false) + %230 = getelementptr inbounds i8, ptr %0, i64 8 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %230, ptr noundef nonnull align 8 dereferenceable(32) %225, i64 32, i1 false) store i64 1, ptr %0, align 8 - %230 = getelementptr inbounds i8, ptr %25, i64 16 - call void @"_ZN4core3ptr112drop_in_place$LT$diesel..connection..statement_cache..StatementCacheKey$LT$diesel..mysql..backend..Mysql$GT$$GT$17hab14890a09655eceE.llvm.8475916056208462138"(ptr noalias noundef nonnull align 8 dereferenceable(48) %230) + %231 = getelementptr inbounds i8, ptr %25, i64 16 + call void @"_ZN4core3ptr112drop_in_place$LT$diesel..connection..statement_cache..StatementCacheKey$LT$diesel..mysql..backend..Mysql$GT$$GT$17hab14890a09655eceE.llvm.8475916056208462138"(ptr noalias noundef nonnull align 8 dereferenceable(48) %231) call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %25) br label %.critedge -231: ; preds = %234, %203 +232: ; preds = %235, %203 ret void -.critedge: ; preds = %232, %.thread356 +.critedge: ; preds = %233, %.thread356 call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %29) call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %.sroa.617.sroa.8) - br label %234 + br label %235 -232: ; preds = %.noexc97 - %233 = getelementptr inbounds i8, ptr %0, i64 8 - store i64 %195, ptr %233, align 8 +233: ; preds = %.noexc97 + %234 = getelementptr inbounds i8, ptr %0, i64 8 + store i64 %195, ptr %234, align 8 %.sroa.258.0..sroa_idx = getelementptr inbounds i8, ptr %0, i64 16 store i64 %.sroa.6149.8.copyload151, ptr %.sroa.258.0..sroa_idx, align 8 %.sroa.258.sroa.2.0..sroa.258.0..sroa_idx.sroa_idx = getelementptr inbounds i8, ptr %0, i64 24 @@ -1044,13 +1044,13 @@ common.resume: ; preds = %.thread265, %95, %. invoke void @"_ZN4core3ptr112drop_in_place$LT$diesel..connection..statement_cache..StatementCacheKey$LT$diesel..mysql..backend..Mysql$GT$$GT$17hab14890a09655eceE.llvm.8475916056208462138"(ptr noalias noundef nonnull align 8 dereferenceable(48) %.sroa.617.sroa.8.0..sroa_idx) to label %common.resume unwind label %180 -234: ; preds = %.critedge, %235, %54 +235: ; preds = %.critedge, %236, %54 call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %34) - br label %231 + br label %232 -235: ; preds = %63, %"_ZN4core3ptr50drop_in_place$LT$alloc..borrow..Cow$LT$str$GT$$GT$17hb85dc17b6aaf5a3dE.exit" +236: ; preds = %63, %"_ZN4core3ptr50drop_in_place$LT$alloc..borrow..Cow$LT$str$GT$$GT$17hb85dc17b6aaf5a3dE.exit" call fastcc void @"_ZN4core3ptr112drop_in_place$LT$diesel..connection..statement_cache..StatementCacheKey$LT$diesel..mysql..backend..Mysql$GT$$GT$17hab14890a09655eceE"(ptr noalias noundef nonnull align 8 dereferenceable(48) %34) - br label %234 + br label %235 .thread265: ; preds = %162, %.thread273 %.pn77268 = phi { ptr, i32 } [ %lpad.thr_comm, %.thread273 ], [ %163, %162 ] diff --git a/bench/diesel-rs/optimized/wrwp7s2zqowyndr.ll b/bench/diesel-rs/optimized/wrwp7s2zqowyndr.ll index a2198ce7c52..b29f31b421c 100644 --- a/bench/diesel-rs/optimized/wrwp7s2zqowyndr.ll +++ b/bench/diesel-rs/optimized/wrwp7s2zqowyndr.ll @@ -701,7 +701,7 @@ common.resume: ; preds = %.thread252, %.threa store i64 %.sroa.7.i.sroa.6.0.copyload214, ptr %.sroa.2.0..sroa_idx, align 8 %.sroa.3183.0..sroa_idx = getelementptr inbounds i8, ptr %0, i64 24 store i64 %.sroa.7.i.sroa.7.0.copyload218, ptr %.sroa.3183.0..sroa_idx, align 8 - br label %157 + br label %158 .thread257: ; preds = %49, %64, %93, %96 %lpad.thr_comm = landingpad { ptr, i32 } @@ -729,7 +729,7 @@ common.resume: ; preds = %.thread252, %.threa store i8 %57, ptr %.sroa.250.0..sroa_idx, align 8 %.sroa.351.0..sroa_idx = getelementptr inbounds i8, ptr %0, i64 9 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(23) %.sroa.351.0..sroa_idx, ptr noundef nonnull align 1 dereferenceable(23) %.sroa.351, i64 23, i1 false) - br label %158 + br label %159 61: ; preds = %58 call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %30) @@ -861,7 +861,7 @@ common.resume: ; preds = %.thread252, %.threa "_ZN4core3ptr50drop_in_place$LT$alloc..borrow..Cow$LT$str$GT$$GT$17h7b0bdd8017425135E.exit": ; preds = %"_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17h4e34a91b1deecf21E.exit.i", %"_ZN4core6result19Result$LT$T$C$E$GT$3map17hacb65fa40cf4f496E.exit", %76 call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %30) - br label %158 + br label %159 100: ; preds = %.thread289, %.thread252, %128, %77 %101 = landingpad { ptr, i32 } @@ -912,7 +912,7 @@ common.resume: ; preds = %.thread252, %.threa %.sroa.11161.8..sroa_idx163 = getelementptr inbounds i8, ptr %16, i64 24 %.sroa.11161.8.copyload164 = load i64, ptr %.sroa.11161.8..sroa_idx163, align 8, !alias.scope !128, !noalias !127 call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %16), !noalias !121 - br i1 %118, label %"_ZN6diesel10connection15statement_cache27StatementCacheKey$LT$DB$GT$3sql17hd6d612537d38f6f0E.exit103.thread311", label %156 + br i1 %118, label %"_ZN6diesel10connection15statement_cache27StatementCacheKey$LT$DB$GT$3sql17hd6d612537d38f6f0E.exit103.thread311", label %157 "_ZN6diesel10connection15statement_cache27StatementCacheKey$LT$DB$GT$3sql17hd6d612537d38f6f0E.exit103.thread": ; preds = %109 %120 = getelementptr inbounds i8, ptr %27, i64 24 @@ -926,7 +926,7 @@ common.resume: ; preds = %.thread252, %.threa br label %125 125: ; preds = %151, %124 - %.pn = phi ptr [ %153, %151 ], [ %103, %124 ] + %.pn = phi ptr [ %154, %151 ], [ %103, %124 ] %.080 = getelementptr inbounds i8, ptr %.pn, i64 -8 call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %.sroa.617) %126 = getelementptr inbounds i8, ptr %0, i64 8 @@ -935,7 +935,7 @@ common.resume: ; preds = %.thread252, %.threa store ptr %.080, ptr %127, align 8 store i64 -9223372036854775798, ptr %0, align 8 call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %32) - br label %155 + br label %156 .thread298: ; preds = %114, %140, %143 %lpad.thr_comm296 = landingpad { ptr, i32 } @@ -1017,12 +1017,12 @@ common.resume: ; preds = %.thread252, %.threa %.sroa.0208.0.copyload = load i64, ptr %23, align 8 %.sroa.4209.0..sroa_idx = getelementptr inbounds i8, ptr %23, i64 8 %.sroa.4209.0.copyload = load ptr, ptr %.sroa.4209.0..sroa_idx, align 8, !nonnull !4, !noundef !4 - %.sroa.5210.0..sroa_idx = getelementptr inbounds i8, ptr %23, i64 16 + %152 = getelementptr inbounds i8, ptr %27, i64 16 call void @llvm.lifetime.start.p0(i64 56, ptr nonnull %14), !noalias !141 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(48) %14, ptr noundef nonnull align 8 dereferenceable(48) %.sroa.5210.0..sroa_idx, i64 48, i1 false) - %152 = getelementptr inbounds i8, ptr %14, i64 48 - store ptr %150, ptr %152, align 8, !noalias !141 - %153 = call noundef nonnull ptr @"_ZN9hashbrown3raw21RawTable$LT$T$C$A$GT$14insert_no_grow17h369479665c60ce6dE"(ptr noalias noundef nonnull align 8 dereferenceable(32) %.sroa.4209.0.copyload, i64 noundef %.sroa.0208.0.copyload, ptr noalias nocapture noundef nonnull align 8 dereferenceable(56) %14) + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(48) %14, ptr noundef nonnull align 8 dereferenceable(48) %152, i64 48, i1 false) + %153 = getelementptr inbounds i8, ptr %14, i64 48 + store ptr %150, ptr %153, align 8, !noalias !141 + %154 = call noundef nonnull ptr @"_ZN9hashbrown3raw21RawTable$LT$T$C$A$GT$14insert_no_grow17h369479665c60ce6dE"(ptr noalias noundef nonnull align 8 dereferenceable(32) %.sroa.4209.0.copyload, i64 noundef %.sroa.0208.0.copyload, ptr noalias nocapture noundef nonnull align 8 dereferenceable(56) %14) call void @llvm.lifetime.end.p0(i64 56, ptr nonnull %14), !noalias !141 call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %23) call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %27) @@ -1035,20 +1035,20 @@ common.resume: ; preds = %.thread252, %.threa store ptr %150, ptr %.sroa.271.0..sroa_idx, align 8 %.sroa.372.0..sroa_idx = getelementptr inbounds i8, ptr %0, i64 16 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %.sroa.372.0..sroa_idx, ptr noundef nonnull align 8 dereferenceable(16) %.sroa.569.0..sroa_idx, i64 16, i1 false) - %154 = getelementptr inbounds i8, ptr %23, i64 16 - call void @"_ZN4core3ptr114drop_in_place$LT$diesel..connection..statement_cache..StatementCacheKey$LT$diesel..sqlite..backend..Sqlite$GT$$GT$17h157a5dbd1b1f1e3aE.llvm.12167227474035961171"(ptr noalias noundef nonnull align 8 dereferenceable(48) %154) + %155 = getelementptr inbounds i8, ptr %23, i64 16 + call void @"_ZN4core3ptr114drop_in_place$LT$diesel..connection..statement_cache..StatementCacheKey$LT$diesel..sqlite..backend..Sqlite$GT$$GT$17h157a5dbd1b1f1e3aE.llvm.12167227474035961171"(ptr noalias noundef nonnull align 8 dereferenceable(48) %155) call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %23) br label %.critedge -155: ; preds = %157, %125 +156: ; preds = %158, %125 ret void -.critedge: ; preds = %156, %.thread332 +.critedge: ; preds = %157, %.thread332 call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %27) call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %.sroa.617) - br label %157 + br label %158 -156: ; preds = %.noexc102 +157: ; preds = %.noexc102 store i64 %117, ptr %0, align 8 %.sroa.263.0..sroa_idx = getelementptr inbounds i8, ptr %0, i64 8 store i64 %.sroa.6154.8.copyload156, ptr %.sroa.263.0..sroa_idx, align 8 @@ -1065,13 +1065,13 @@ common.resume: ; preds = %.thread252, %.threa invoke void @"_ZN4core3ptr114drop_in_place$LT$diesel..connection..statement_cache..StatementCacheKey$LT$diesel..sqlite..backend..Sqlite$GT$$GT$17h157a5dbd1b1f1e3aE.llvm.12167227474035961171"(ptr noalias noundef nonnull align 8 dereferenceable(48) %110) to label %common.resume unwind label %100 -157: ; preds = %.critedge, %158, %52 +158: ; preds = %.critedge, %159, %52 call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %32) - br label %155 + br label %156 -158: ; preds = %60, %"_ZN4core3ptr50drop_in_place$LT$alloc..borrow..Cow$LT$str$GT$$GT$17h7b0bdd8017425135E.exit" +159: ; preds = %60, %"_ZN4core3ptr50drop_in_place$LT$alloc..borrow..Cow$LT$str$GT$$GT$17h7b0bdd8017425135E.exit" call fastcc void @"_ZN4core3ptr114drop_in_place$LT$diesel..connection..statement_cache..StatementCacheKey$LT$diesel..sqlite..backend..Sqlite$GT$$GT$17h157a5dbd1b1f1e3aE"(ptr noalias noundef nonnull align 8 dereferenceable(48) %32) - br label %157 + br label %158 .thread252: ; preds = %77, %.thread257 %.pn.pn255 = phi { ptr, i32 } [ %lpad.thr_comm, %.thread257 ], [ %78, %77 ] diff --git a/bench/eastl/optimized/TestString.cpp.ll b/bench/eastl/optimized/TestString.cpp.ll index 98876ad0513..6d6effa072f 100644 --- a/bench/eastl/optimized/TestString.cpp.ll +++ b/bench/eastl/optimized/TestString.cpp.ll @@ -302107,8 +302107,7 @@ invoke.cont2878: ; preds = %invoke.cont2872, %i call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(26) %call.i.i.i12835, ptr noundef nonnull align 1 dereferenceable(26) @.str.57, i64 26, i1 false) %add.ptr.i.i.i.i.i12820 = getelementptr inbounds i8, ptr %call.i.i.i12835, i64 26 store i8 0, ptr %add.ptr.i.i.i.i.i12820, align 1 - %.sroa.gep22087 = getelementptr inbounds i8, ptr %call.i.i.i12835, i64 10 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(10) %buf, ptr noundef nonnull align 1 dereferenceable(10) %.sroa.gep22087, i64 10, i1 false) + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(10) %buf, ptr noundef nonnull align 1 dereferenceable(10) getelementptr inbounds ([27 x i8], ptr @.str.57, i64 0, i64 10), i64 10, i1 false) %call2885 = invoke noundef i32 @_ZN2EA4StdC6MemcmpEPKvS2_m(ptr noundef nonnull %buf, ptr noundef nonnull @.str.258, i64 noundef 10) to label %invoke.cont2884 unwind label %lpad2880 @@ -330076,8 +330075,7 @@ invoke.cont2820: ; preds = %invoke.cont2814, %i call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(104) %call.i.i.i12749, ptr noundef nonnull align 4 dereferenceable(104) @.str.385, i64 104, i1 false) %add.ptr.i.i.i.i.i12734 = getelementptr inbounds i8, ptr %call.i.i.i12749, i64 104 store i32 0, ptr %add.ptr.i.i.i.i.i12734, align 4 - %.sroa.gep23021 = getelementptr inbounds i8, ptr %call.i.i.i12749, i64 40 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(40) %buf, ptr noundef nonnull align 4 dereferenceable(40) %.sroa.gep23021, i64 40, i1 false) + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(40) %buf, ptr noundef nonnull align 4 dereferenceable(40) getelementptr inbounds ([27 x i32], ptr @.str.385, i64 0, i64 10), i64 40, i1 false) %call2827 = invoke noundef i32 @_ZN2EA4StdC6MemcmpEPKvS2_m(ptr noundef nonnull %buf, ptr noundef nonnull @.str.432, i64 noundef 10) to label %invoke.cont2826 unwind label %lpad2822 @@ -359258,8 +359256,7 @@ invoke.cont2874: ; preds = %invoke.cont2868, %i call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(26) %call.i.i.i12836, ptr noundef nonnull align 1 dereferenceable(26) @.str.57, i64 26, i1 false) %add.ptr.i.i.i.i.i12821 = getelementptr inbounds i8, ptr %call.i.i.i12836, i64 26 store i8 0, ptr %add.ptr.i.i.i.i.i12821, align 1 - %.sroa.gep22116 = getelementptr inbounds i8, ptr %call.i.i.i12836, i64 10 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(10) %buf, ptr noundef nonnull align 1 dereferenceable(10) %.sroa.gep22116, i64 10, i1 false) + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(10) %buf, ptr noundef nonnull align 1 dereferenceable(10) getelementptr inbounds ([27 x i8], ptr @.str.57, i64 0, i64 10), i64 10, i1 false) %call2881 = invoke noundef i32 @_ZN2EA4StdC6MemcmpEPKvS2_m(ptr noundef nonnull %buf, ptr noundef nonnull @.str.258, i64 noundef 10) to label %invoke.cont2880 unwind label %lpad2876 @@ -387165,8 +387162,7 @@ invoke.cont2874: ; preds = %invoke.cont2868, %i call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 2 dereferenceable(52) %call.i.i.i12720, ptr noundef nonnull align 2 dereferenceable(52) @.str.475, i64 52, i1 false) %add.ptr.i.i.i.i.i12705 = getelementptr inbounds i8, ptr %call.i.i.i12720, i64 52 store i16 0, ptr %add.ptr.i.i.i.i.i12705, align 2 - %.sroa.gep23091 = getelementptr inbounds i8, ptr %call.i.i.i12720, i64 20 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(20) %buf, ptr noundef nonnull align 2 dereferenceable(20) %.sroa.gep23091, i64 20, i1 false) + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(20) %buf, ptr noundef nonnull align 2 dereferenceable(20) getelementptr inbounds ([27 x i16], ptr @.str.475, i64 0, i64 10), i64 20, i1 false) %call2881 = invoke noundef i32 @_ZN2EA4StdC6MemcmpEPKvS2_m(ptr noundef nonnull %buf, ptr noundef nonnull @.str.521, i64 noundef 10) to label %invoke.cont2880 unwind label %lpad2876 @@ -415082,8 +415078,7 @@ invoke.cont2820: ; preds = %invoke.cont2814, %i call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(104) %call.i.i.i12741, ptr noundef nonnull align 4 dereferenceable(104) @.str.385, i64 104, i1 false) %add.ptr.i.i.i.i.i12726 = getelementptr inbounds i8, ptr %call.i.i.i12741, i64 104 store i32 0, ptr %add.ptr.i.i.i.i.i12726, align 4 - %.sroa.gep23013 = getelementptr inbounds i8, ptr %call.i.i.i12741, i64 40 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(40) %buf, ptr noundef nonnull align 4 dereferenceable(40) %.sroa.gep23013, i64 40, i1 false) + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(40) %buf, ptr noundef nonnull align 4 dereferenceable(40) getelementptr inbounds ([27 x i32], ptr @.str.385, i64 0, i64 10), i64 40, i1 false) %call2827 = invoke noundef i32 @_ZN2EA4StdC6MemcmpEPKvS2_m(ptr noundef nonnull %buf, ptr noundef nonnull @.str.432, i64 noundef 10) to label %invoke.cont2826 unwind label %lpad2822 @@ -424837,15 +424832,12 @@ cond.true.i: ; preds = %_ZN5eastl10CharStrl br label %_ZN5eastl12basic_stringIcNS_9allocatorEE6Layout7SetSizeEm.exit _ZN5eastl12basic_stringIcNS_9allocatorEE6Layout7SetSizeEm.exit: ; preds = %_ZN5eastl10CharStrlenIcEEmPKT_.exit, %cond.true.i - call void @llvm.va_start(ptr nonnull %arguments) + call void @llvm.va_start.p0(ptr nonnull %arguments) %call4 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZN5eastl12basic_stringIcNS_9allocatorEE22append_sprintf_va_listEPKcP13__va_list_tag(ptr noundef nonnull align 8 dereferenceable(24) %this, ptr noundef %pFormat, ptr noundef nonnull %arguments) - call void @llvm.va_end(ptr nonnull %arguments) + call void @llvm.va_end.p0(ptr nonnull %arguments) ret void } -; Function Attrs: mustprogress nocallback nofree nosync nounwind willreturn -declare void @llvm.va_start(ptr) #2 - ; Function Attrs: mustprogress uwtable define linkonce_odr dso_local noundef nonnull align 8 dereferenceable(24) ptr @_ZN5eastl12basic_stringIcNS_9allocatorEE22append_sprintf_va_listEPKcP13__va_list_tag(ptr noundef nonnull align 8 dereferenceable(24) %this, ptr noundef %pFormat, ptr noundef %arguments) local_unnamed_addr #0 comdat align 2 personality ptr @__gxx_personality_v0 { entry: @@ -424870,7 +424862,7 @@ entry: %sub.ptr.lhs.cast.i = ptrtoint ptr %cond.i.i to i64 %sub.ptr.rhs.cast.i = ptrtoint ptr %cond.i4.i to i64 %sub.ptr.sub.i = sub i64 %sub.ptr.lhs.cast.i, %sub.ptr.rhs.cast.i - call void @llvm.va_copy(ptr nonnull %argumentsSaved, ptr %arguments) + call void @llvm.va_copy.p0(ptr nonnull %argumentsSaved, ptr %arguments) %4 = load i8, ptr %mRemainingSizeField.i.i, align 1 %tobool.i.i33 = icmp slt i8 %4, 0 %5 = load ptr, ptr %this, align 8 @@ -424887,8 +424879,8 @@ entry: br i1 %cmp.not, label %if.else, label %if.then if.then: ; preds = %entry - call void @llvm.va_end(ptr %arguments) - call void @llvm.va_copy(ptr %arguments, ptr nonnull %argumentsSaved) + call void @llvm.va_end.p0(ptr %arguments) + call void @llvm.va_copy.p0(ptr %arguments, ptr nonnull %argumentsSaved) %conv10 = sext i32 %call.i to i64 %add11 = add i64 %cond.i, %conv10 call void @_ZN5eastl12basic_stringIcNS_9allocatorEE6resizeEm(ptr noundef nonnull align 8 dereferenceable(24) %this, i64 noundef %add11) @@ -424917,8 +424909,8 @@ for.body.preheader: ; preds = %if.then18 for.body: ; preds = %for.body.preheader, %for.inc %n.056 = phi i64 [ %mul36, %for.inc ], [ %cond.i39, %for.body.preheader ] - call void @llvm.va_end(ptr %arguments) - call void @llvm.va_copy(ptr %arguments, ptr nonnull %argumentsSaved) + call void @llvm.va_end.p0(ptr %arguments) + call void @llvm.va_copy.p0(ptr %arguments, ptr nonnull %argumentsSaved) call void @_ZN5eastl12basic_stringIcNS_9allocatorEE6resizeEm(ptr noundef nonnull align 8 dereferenceable(24) %this, i64 noundef %n.056) %sub = sub i64 %n.056, %cond.i %9 = load i8, ptr %mRemainingSizeField.i.i, align 1 @@ -424977,15 +424969,12 @@ cond.false.i: ; preds = %if.then40 br label %if.end44 if.end44: ; preds = %if.then18, %cond.false.i, %cond.true.i, %if.end38 - call void @llvm.va_end(ptr nonnull %argumentsSaved) + call void @llvm.va_end.p0(ptr nonnull %argumentsSaved) ret ptr %this } -; Function Attrs: mustprogress nocallback nofree nosync nounwind willreturn -declare void @llvm.va_end(ptr) #2 - ; Function Attrs: noreturn nounwind uwtable -define linkonce_odr hidden void @__clang_call_terminate(ptr noundef %0) local_unnamed_addr #3 comdat { +define linkonce_odr hidden void @__clang_call_terminate(ptr noundef %0) local_unnamed_addr #2 comdat { %2 = tail call ptr @__cxa_begin_catch(ptr %0) #16 tail call void @_ZSt9terminatev() #15 unreachable @@ -424997,9 +424986,6 @@ declare void @_ZSt9terminatev() local_unnamed_addr declare noundef ptr @_ZnamPKcijS0_i(i64 noundef, ptr noundef, i32 noundef, i32 noundef, ptr noundef, i32 noundef) local_unnamed_addr #1 -; Function Attrs: mustprogress nocallback nofree nosync nounwind willreturn -declare void @llvm.va_copy(ptr, ptr) #2 - ; Function Attrs: mustprogress uwtable define linkonce_odr dso_local void @_ZN5eastl12basic_stringIcNS_9allocatorEE6resizeEm(ptr noundef nonnull align 8 dereferenceable(24) %this, i64 noundef %n) local_unnamed_addr #0 comdat align 2 personality ptr @__gxx_personality_v0 { entry: @@ -425106,7 +425092,7 @@ if.end11: ; preds = %cond.false.i.i26, % declare noundef i32 @_ZN2EA4StdC9VsnprintfEPcmPKcP13__va_list_tag(ptr noundef, i64 noundef, ptr noundef, ptr noundef) local_unnamed_addr #1 ; Function Attrs: mustprogress nocallback nofree nounwind willreturn memory(argmem: readwrite) -declare void @llvm.memmove.p0.p0.i64(ptr nocapture writeonly, ptr nocapture readonly, i64, i1 immarg) #4 +declare void @llvm.memmove.p0.p0.i64(ptr nocapture writeonly, ptr nocapture readonly, i64, i1 immarg) #3 ; Function Attrs: mustprogress uwtable define linkonce_odr dso_local void @_ZN5eastl12basic_stringIcNS_9allocatorEE12set_capacityEm(ptr noundef nonnull align 8 dereferenceable(24) %this, i64 noundef %n) local_unnamed_addr #0 comdat align 2 personality ptr @__gxx_personality_v0 { @@ -425255,10 +425241,10 @@ if.end47: ; preds = %_ZN5eastl9allocator } ; Function Attrs: nobuiltin nounwind -declare void @_ZdaPv(ptr noundef) local_unnamed_addr #5 +declare void @_ZdaPv(ptr noundef) local_unnamed_addr #4 ; Function Attrs: mustprogress nocallback nofree nounwind willreturn memory(argmem: write) -declare void @llvm.memset.p0.i64(ptr nocapture writeonly, i8, i64, i1 immarg) #6 +declare void @llvm.memset.p0.i64(ptr nocapture writeonly, i8, i64, i1 immarg) #5 ; Function Attrs: mustprogress uwtable define linkonce_odr dso_local void @_ZN5eastl12basic_stringIwNS_9allocatorEEC2ENS2_11CtorSprintfEPKwz(ptr noundef nonnull align 8 dereferenceable(24) %this, ptr noundef %pFormat, ...) unnamed_addr #0 comdat align 2 personality ptr @__gxx_personality_v0 { @@ -425296,9 +425282,9 @@ cond.true.i: ; preds = %_ZN5eastl10CharStrl br label %_ZN5eastl12basic_stringIwNS_9allocatorEE6Layout7SetSizeEm.exit _ZN5eastl12basic_stringIwNS_9allocatorEE6Layout7SetSizeEm.exit: ; preds = %_ZN5eastl10CharStrlenIwEEmPKT_.exit, %cond.true.i - call void @llvm.va_start(ptr nonnull %arguments) + call void @llvm.va_start.p0(ptr nonnull %arguments) %call4 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZN5eastl12basic_stringIwNS_9allocatorEE22append_sprintf_va_listEPKwP13__va_list_tag(ptr noundef nonnull align 8 dereferenceable(24) %this, ptr noundef %pFormat, ptr noundef nonnull %arguments) - call void @llvm.va_end(ptr nonnull %arguments) + call void @llvm.va_end.p0(ptr nonnull %arguments) ret void } @@ -425328,7 +425314,7 @@ entry: %sub.ptr.rhs.cast.i = ptrtoint ptr %cond.i5.i to i64 %sub.ptr.sub.i = sub i64 %sub.ptr.lhs.cast.i, %sub.ptr.rhs.cast.i %sub.ptr.div.i = ashr exact i64 %sub.ptr.sub.i, 2 - call void @llvm.va_copy(ptr nonnull %argumentsSaved, ptr %arguments) + call void @llvm.va_copy.p0(ptr nonnull %argumentsSaved, ptr %arguments) %4 = load i8, ptr %mnRemainingSize.i.i, align 1 %tobool.i.i33 = icmp slt i8 %4, 0 %5 = load ptr, ptr %this, align 8 @@ -425345,8 +425331,8 @@ entry: br i1 %cmp.not, label %if.else, label %if.then if.then: ; preds = %entry - call void @llvm.va_end(ptr %arguments) - call void @llvm.va_copy(ptr %arguments, ptr nonnull %argumentsSaved) + call void @llvm.va_end.p0(ptr %arguments) + call void @llvm.va_copy.p0(ptr %arguments, ptr nonnull %argumentsSaved) %conv10 = sext i32 %call.i to i64 %add11 = add i64 %cond.i, %conv10 call void @_ZN5eastl12basic_stringIwNS_9allocatorEE6resizeEm(ptr noundef nonnull align 8 dereferenceable(24) %this, i64 noundef %add11) @@ -425375,8 +425361,8 @@ for.body.preheader: ; preds = %if.then18 for.body: ; preds = %for.body.preheader, %for.inc %n.056 = phi i64 [ %mul36, %for.inc ], [ %cond.i39, %for.body.preheader ] - call void @llvm.va_end(ptr %arguments) - call void @llvm.va_copy(ptr %arguments, ptr nonnull %argumentsSaved) + call void @llvm.va_end.p0(ptr %arguments) + call void @llvm.va_copy.p0(ptr %arguments, ptr nonnull %argumentsSaved) call void @_ZN5eastl12basic_stringIwNS_9allocatorEE6resizeEm(ptr noundef nonnull align 8 dereferenceable(24) %this, i64 noundef %n.056) %sub = sub i64 %n.056, %cond.i %9 = load i8, ptr %mnRemainingSize.i.i, align 1 @@ -425435,7 +425421,7 @@ cond.false.i: ; preds = %if.then40 br label %if.end44 if.end44: ; preds = %if.then18, %cond.false.i, %cond.true.i, %if.end38 - call void @llvm.va_end(ptr nonnull %argumentsSaved) + call void @llvm.va_end.p0(ptr nonnull %argumentsSaved) ret ptr %this } @@ -425714,7 +425700,7 @@ if.end47: ; preds = %_ZN5eastl9allocator declare noundef i64 @_ZN2EA4StdC6StrlenEPKc(ptr noundef) local_unnamed_addr #1 ; Function Attrs: mustprogress nounwind uwtable -define linkonce_odr dso_local void @_ZN5eastl12basic_stringIc20StompDetectAllocatorED2Ev(ptr noundef nonnull align 8 dereferenceable(56) %this) unnamed_addr #7 comdat align 2 personality ptr @__gxx_personality_v0 { +define linkonce_odr dso_local void @_ZN5eastl12basic_stringIc20StompDetectAllocatorED2Ev(ptr noundef nonnull align 8 dereferenceable(56) %this) unnamed_addr #6 comdat align 2 personality ptr @__gxx_personality_v0 { entry: %mRemainingSizeField.i.i = getelementptr inbounds i8, ptr %this, i64 23 %0 = load i8, ptr %mRemainingSizeField.i.i, align 1 @@ -425749,7 +425735,7 @@ terminate.lpad: ; preds = %if.then.i.i declare noundef i32 @_ZN2EA4StdC6MemcmpEPKvS2_m(ptr noundef, ptr noundef, i64 noundef) local_unnamed_addr #1 ; Function Attrs: mustprogress nounwind uwtable -define linkonce_odr dso_local void @_ZN5eastl12basic_stringIDu20StompDetectAllocatorED2Ev(ptr noundef nonnull align 8 dereferenceable(56) %this) unnamed_addr #7 comdat align 2 personality ptr @__gxx_personality_v0 { +define linkonce_odr dso_local void @_ZN5eastl12basic_stringIDu20StompDetectAllocatorED2Ev(ptr noundef nonnull align 8 dereferenceable(56) %this) unnamed_addr #6 comdat align 2 personality ptr @__gxx_personality_v0 { entry: %mRemainingSizeField.i.i = getelementptr inbounds i8, ptr %this, i64 23 %0 = load i8, ptr %mRemainingSizeField.i.i, align 1 @@ -425782,7 +425768,7 @@ terminate.lpad: ; preds = %if.then.i.i } ; Function Attrs: mustprogress nounwind uwtable -define linkonce_odr dso_local void @_ZN5eastl12basic_stringIDs20StompDetectAllocatorED2Ev(ptr noundef nonnull align 8 dereferenceable(56) %this) unnamed_addr #7 comdat align 2 personality ptr @__gxx_personality_v0 { +define linkonce_odr dso_local void @_ZN5eastl12basic_stringIDs20StompDetectAllocatorED2Ev(ptr noundef nonnull align 8 dereferenceable(56) %this) unnamed_addr #6 comdat align 2 personality ptr @__gxx_personality_v0 { entry: %mnRemainingSize.i.i = getelementptr inbounds i8, ptr %this, i64 23 %0 = load i8, ptr %mnRemainingSize.i.i, align 1 @@ -425815,7 +425801,7 @@ terminate.lpad: ; preds = %if.then.i.i } ; Function Attrs: mustprogress nounwind uwtable -define linkonce_odr dso_local void @_ZN5eastl12basic_stringIDi20StompDetectAllocatorED2Ev(ptr noundef nonnull align 8 dereferenceable(56) %this) unnamed_addr #7 comdat align 2 personality ptr @__gxx_personality_v0 { +define linkonce_odr dso_local void @_ZN5eastl12basic_stringIDi20StompDetectAllocatorED2Ev(ptr noundef nonnull align 8 dereferenceable(56) %this) unnamed_addr #6 comdat align 2 personality ptr @__gxx_personality_v0 { entry: %mnRemainingSize.i.i = getelementptr inbounds i8, ptr %this, i64 23 %0 = load i8, ptr %mnRemainingSize.i.i, align 1 @@ -425848,7 +425834,7 @@ terminate.lpad: ; preds = %if.then.i.i } ; Function Attrs: mustprogress nounwind uwtable -define linkonce_odr dso_local void @_ZN5eastl12basic_stringIw20StompDetectAllocatorED2Ev(ptr noundef nonnull align 8 dereferenceable(56) %this) unnamed_addr #7 comdat align 2 personality ptr @__gxx_personality_v0 { +define linkonce_odr dso_local void @_ZN5eastl12basic_stringIw20StompDetectAllocatorED2Ev(ptr noundef nonnull align 8 dereferenceable(56) %this) unnamed_addr #6 comdat align 2 personality ptr @__gxx_personality_v0 { entry: %mnRemainingSize.i.i = getelementptr inbounds i8, ptr %this, i64 23 %0 = load i8, ptr %mnRemainingSize.i.i, align 1 @@ -426582,7 +426568,7 @@ if.end47: ; preds = %if.then.i, %if.then } ; Function Attrs: mustprogress nounwind uwtable -define linkonce_odr dso_local void @_ZZ15TestBasicStringIN5eastl12basic_stringIc20StompDetectAllocatorEEEivEN13SSOStringTypeD2Ev(ptr noundef nonnull align 8 dereferenceable(56) %this) unnamed_addr #7 comdat align 2 personality ptr @__gxx_personality_v0 { +define linkonce_odr dso_local void @_ZZ15TestBasicStringIN5eastl12basic_stringIc20StompDetectAllocatorEEEivEN13SSOStringTypeD2Ev(ptr noundef nonnull align 8 dereferenceable(56) %this) unnamed_addr #6 comdat align 2 personality ptr @__gxx_personality_v0 { entry: %mRemainingSizeField.i.i.i = getelementptr inbounds i8, ptr %this, i64 23 %0 = load i8, ptr %mRemainingSizeField.i.i.i, align 1 @@ -427364,7 +427350,7 @@ return: ; preds = %_ZN5eastl12basic_st } ; Function Attrs: mustprogress nocallback nofree nounwind willreturn memory(argmem: readwrite) -declare void @llvm.memcpy.p0.p0.i64(ptr noalias nocapture writeonly, ptr noalias nocapture readonly, i64, i1 immarg) #4 +declare void @llvm.memcpy.p0.p0.i64(ptr noalias nocapture writeonly, ptr noalias nocapture readonly, i64, i1 immarg) #3 ; Function Attrs: mustprogress uwtable define linkonce_odr dso_local noundef i64 @_ZN5eastl8erase_ifIc20StompDetectAllocatorZ15TestBasicStringINS_12basic_stringIcS1_EEEivEUlT_E_EENS3_IS5_T0_E9size_typeERS8_T1_(ptr noundef nonnull align 8 dereferenceable(56) %c) local_unnamed_addr #0 comdat personality ptr @__gxx_personality_v0 { @@ -427581,7 +427567,7 @@ _ZN5eastl12basic_stringIcNS_9allocatorEED2Ev.exit: ; preds = %_ZNK5eastl4hashINS } ; Function Attrs: mustprogress nofree nounwind willreturn memory(argmem: read) -declare i32 @memcmp(ptr nocapture noundef, ptr nocapture noundef, i64 noundef) local_unnamed_addr #8 +declare i32 @memcmp(ptr nocapture noundef, ptr nocapture noundef, i64 noundef) local_unnamed_addr #7 declare noundef ptr @_ZN15MallocAllocator8allocateEmi(ptr noundef nonnull align 8 dereferenceable(16), i64 noundef, i32 noundef) local_unnamed_addr #1 @@ -428401,10 +428387,10 @@ if.end57: ; preds = %cond.false.i.i, %co } ; Function Attrs: mustprogress nofree nounwind willreturn memory(read) -declare i32 @tolower(i32 noundef) local_unnamed_addr #9 +declare i32 @tolower(i32 noundef) local_unnamed_addr #8 ; Function Attrs: mustprogress nofree nounwind willreturn memory(read) -declare i32 @toupper(i32 noundef) local_unnamed_addr #9 +declare i32 @toupper(i32 noundef) local_unnamed_addr #8 ; Function Attrs: mustprogress uwtable define linkonce_odr dso_local noundef nonnull align 8 dereferenceable(24) ptr @_ZN5eastl12basic_stringIcNS_9allocatorEEaSERKS2_(ptr noundef nonnull align 8 dereferenceable(24) %this, ptr noundef nonnull align 8 dereferenceable(24) %x) local_unnamed_addr #0 comdat align 2 personality ptr @__gxx_personality_v0 { @@ -431415,7 +431401,7 @@ if.end11: ; preds = %cond.false.i.i25, % } ; Function Attrs: mustprogress nounwind uwtable -define linkonce_odr dso_local void @_ZZ16TestBasicStringWIN5eastl12basic_stringIw20StompDetectAllocatorEEEivEN13SSOStringTypeD2Ev(ptr noundef nonnull align 8 dereferenceable(56) %this) unnamed_addr #7 comdat align 2 personality ptr @__gxx_personality_v0 { +define linkonce_odr dso_local void @_ZZ16TestBasicStringWIN5eastl12basic_stringIw20StompDetectAllocatorEEEivEN13SSOStringTypeD2Ev(ptr noundef nonnull align 8 dereferenceable(56) %this) unnamed_addr #6 comdat align 2 personality ptr @__gxx_personality_v0 { entry: %mnRemainingSize.i.i.i = getelementptr inbounds i8, ptr %this, i64 23 %0 = load i8, ptr %mnRemainingSize.i.i.i, align 1 @@ -436654,7 +436640,7 @@ if.end11: ; preds = %cond.false.i.i26, % } ; Function Attrs: mustprogress nounwind uwtable -define linkonce_odr dso_local void @_ZZ16TestBasicString8IN5eastl12basic_stringIDu20StompDetectAllocatorEEEivEN13SSOStringTypeD2Ev(ptr noundef nonnull align 8 dereferenceable(56) %this) unnamed_addr #7 comdat align 2 personality ptr @__gxx_personality_v0 { +define linkonce_odr dso_local void @_ZZ16TestBasicString8IN5eastl12basic_stringIDu20StompDetectAllocatorEEEivEN13SSOStringTypeD2Ev(ptr noundef nonnull align 8 dereferenceable(56) %this) unnamed_addr #6 comdat align 2 personality ptr @__gxx_personality_v0 { entry: %mRemainingSizeField.i.i.i = getelementptr inbounds i8, ptr %this, i64 23 %0 = load i8, ptr %mRemainingSizeField.i.i.i, align 1 @@ -441927,7 +441913,7 @@ if.end11: ; preds = %cond.false.i.i25, % } ; Function Attrs: mustprogress nounwind uwtable -define linkonce_odr dso_local void @_ZZ17TestBasicString16IN5eastl12basic_stringIDs20StompDetectAllocatorEEEivEN13SSOStringTypeD2Ev(ptr noundef nonnull align 8 dereferenceable(56) %this) unnamed_addr #7 comdat align 2 personality ptr @__gxx_personality_v0 { +define linkonce_odr dso_local void @_ZZ17TestBasicString16IN5eastl12basic_stringIDs20StompDetectAllocatorEEEivEN13SSOStringTypeD2Ev(ptr noundef nonnull align 8 dereferenceable(56) %this) unnamed_addr #6 comdat align 2 personality ptr @__gxx_personality_v0 { entry: %mnRemainingSize.i.i.i = getelementptr inbounds i8, ptr %this, i64 23 %0 = load i8, ptr %mnRemainingSize.i.i.i, align 1 @@ -447457,7 +447443,7 @@ if.end11: ; preds = %cond.false.i.i25, % } ; Function Attrs: mustprogress nounwind uwtable -define linkonce_odr dso_local void @_ZZ17TestBasicString32IN5eastl12basic_stringIDi20StompDetectAllocatorEEEivEN13SSOStringTypeD2Ev(ptr noundef nonnull align 8 dereferenceable(56) %this) unnamed_addr #7 comdat align 2 personality ptr @__gxx_personality_v0 { +define linkonce_odr dso_local void @_ZZ17TestBasicString32IN5eastl12basic_stringIDi20StompDetectAllocatorEEEivEN13SSOStringTypeD2Ev(ptr noundef nonnull align 8 dereferenceable(56) %this) unnamed_addr #6 comdat align 2 personality ptr @__gxx_personality_v0 { entry: %mnRemainingSize.i.i.i = getelementptr inbounds i8, ptr %this, i64 23 %0 = load i8, ptr %mnRemainingSize.i.i.i, align 1 @@ -452106,7 +452092,7 @@ if.end62: ; preds = %cond.false.i.i, %co } ; Function Attrs: mustprogress nounwind uwtable -define linkonce_odr dso_local void @_ZN5eastl12basic_stringIc17CountingAllocatorED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %this) unnamed_addr #7 comdat align 2 personality ptr @__gxx_personality_v0 { +define linkonce_odr dso_local void @_ZN5eastl12basic_stringIc17CountingAllocatorED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %this) unnamed_addr #6 comdat align 2 personality ptr @__gxx_personality_v0 { entry: %mRemainingSizeField.i.i = getelementptr inbounds i8, ptr %this, i64 23 %0 = load i8, ptr %mRemainingSizeField.i.i, align 1 @@ -452140,7 +452126,7 @@ invoke.cont: ; preds = %_ZN17CountingAlloca } ; Function Attrs: mustprogress nounwind uwtable -define linkonce_odr dso_local void @_ZN17CountingAllocatorD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %this) unnamed_addr #7 comdat align 2 { +define linkonce_odr dso_local void @_ZN17CountingAllocatorD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %this) unnamed_addr #6 comdat align 2 { entry: ret void } @@ -452224,7 +452210,7 @@ invoke.cont: ; preds = %if.else.i.i, %if.th } ; Function Attrs: mustprogress nounwind uwtable -define linkonce_odr dso_local void @_ZN5eastl12basic_stringIDu17CountingAllocatorED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %this) unnamed_addr #7 comdat align 2 personality ptr @__gxx_personality_v0 { +define linkonce_odr dso_local void @_ZN5eastl12basic_stringIDu17CountingAllocatorED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %this) unnamed_addr #6 comdat align 2 personality ptr @__gxx_personality_v0 { entry: %mRemainingSizeField.i.i = getelementptr inbounds i8, ptr %this, i64 23 %0 = load i8, ptr %mRemainingSizeField.i.i, align 1 @@ -452258,7 +452244,7 @@ invoke.cont: ; preds = %_ZN17CountingAlloca } ; Function Attrs: mustprogress nounwind uwtable -define linkonce_odr dso_local void @_ZN5eastl12basic_stringIDs17CountingAllocatorED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %this) unnamed_addr #7 comdat align 2 personality ptr @__gxx_personality_v0 { +define linkonce_odr dso_local void @_ZN5eastl12basic_stringIDs17CountingAllocatorED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %this) unnamed_addr #6 comdat align 2 personality ptr @__gxx_personality_v0 { entry: %mnRemainingSize.i.i = getelementptr inbounds i8, ptr %this, i64 23 %0 = load i8, ptr %mnRemainingSize.i.i, align 1 @@ -452292,7 +452278,7 @@ invoke.cont: ; preds = %_ZN17CountingAlloca } ; Function Attrs: mustprogress nounwind uwtable -define linkonce_odr dso_local void @_ZN5eastl12basic_stringIDi17CountingAllocatorED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %this) unnamed_addr #7 comdat align 2 personality ptr @__gxx_personality_v0 { +define linkonce_odr dso_local void @_ZN5eastl12basic_stringIDi17CountingAllocatorED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %this) unnamed_addr #6 comdat align 2 personality ptr @__gxx_personality_v0 { entry: %mnRemainingSize.i.i = getelementptr inbounds i8, ptr %this, i64 23 %0 = load i8, ptr %mnRemainingSize.i.i, align 1 @@ -452326,7 +452312,7 @@ invoke.cont: ; preds = %_ZN17CountingAlloca } ; Function Attrs: mustprogress nounwind uwtable -define linkonce_odr dso_local void @_ZN5eastl12basic_stringIw17CountingAllocatorED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %this) unnamed_addr #7 comdat align 2 personality ptr @__gxx_personality_v0 { +define linkonce_odr dso_local void @_ZN5eastl12basic_stringIw17CountingAllocatorED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %this) unnamed_addr #6 comdat align 2 personality ptr @__gxx_personality_v0 { entry: %mnRemainingSize.i.i = getelementptr inbounds i8, ptr %this, i64 23 %0 = load i8, ptr %mnRemainingSize.i.i, align 1 @@ -453088,7 +453074,7 @@ if.end47: ; preds = %_ZN17CountingAlloca } ; Function Attrs: mustprogress nounwind uwtable -define linkonce_odr dso_local void @_ZZ15TestBasicStringIN5eastl12basic_stringIc17CountingAllocatorEEEivEN13SSOStringTypeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %this) unnamed_addr #7 comdat align 2 personality ptr @__gxx_personality_v0 { +define linkonce_odr dso_local void @_ZZ15TestBasicStringIN5eastl12basic_stringIc17CountingAllocatorEEEivEN13SSOStringTypeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %this) unnamed_addr #6 comdat align 2 personality ptr @__gxx_personality_v0 { entry: %mRemainingSizeField.i.i.i = getelementptr inbounds i8, ptr %this, i64 23 %0 = load i8, ptr %mRemainingSizeField.i.i.i, align 1 @@ -454164,7 +454150,7 @@ entry: } ; Function Attrs: mustprogress nounwind uwtable -define linkonce_odr dso_local void @_ZN17CountingAllocatorD0Ev(ptr noundef nonnull align 8 dereferenceable(8) %this) unnamed_addr #7 comdat align 2 { +define linkonce_odr dso_local void @_ZN17CountingAllocatorD0Ev(ptr noundef nonnull align 8 dereferenceable(8) %this) unnamed_addr #6 comdat align 2 { entry: tail call void @_ZdlPv(ptr noundef nonnull %this) #14 ret void @@ -454173,7 +454159,7 @@ entry: declare noundef ptr @_ZnammmPKcijS0_i(i64 noundef, i64 noundef, i64 noundef, ptr noundef, i32 noundef, i32 noundef, ptr noundef, i32 noundef) local_unnamed_addr #1 ; Function Attrs: nobuiltin nounwind -declare void @_ZdlPv(ptr noundef) local_unnamed_addr #5 +declare void @_ZdlPv(ptr noundef) local_unnamed_addr #4 ; Function Attrs: mustprogress uwtable define linkonce_odr dso_local noundef ptr @_ZN5eastl12basic_stringIc17CountingAllocatorE6insertEPKcmc(ptr noundef nonnull align 8 dereferenceable(32) %this, ptr noundef %p, i64 noundef %n, i8 noundef signext %c) local_unnamed_addr #0 comdat align 2 personality ptr @__gxx_personality_v0 { @@ -456294,7 +456280,7 @@ if.end11: ; preds = %cond.false.i.i25, % } ; Function Attrs: mustprogress nounwind uwtable -define linkonce_odr dso_local void @_ZZ16TestBasicStringWIN5eastl12basic_stringIw17CountingAllocatorEEEivEN13SSOStringTypeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %this) unnamed_addr #7 comdat align 2 personality ptr @__gxx_personality_v0 { +define linkonce_odr dso_local void @_ZZ16TestBasicStringWIN5eastl12basic_stringIw17CountingAllocatorEEEivEN13SSOStringTypeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %this) unnamed_addr #6 comdat align 2 personality ptr @__gxx_personality_v0 { entry: %mnRemainingSize.i.i.i = getelementptr inbounds i8, ptr %this, i64 23 %0 = load i8, ptr %mnRemainingSize.i.i.i, align 1 @@ -459153,7 +459139,7 @@ if.end11: ; preds = %cond.false.i.i26, % } ; Function Attrs: mustprogress nounwind uwtable -define linkonce_odr dso_local void @_ZZ16TestBasicString8IN5eastl12basic_stringIDu17CountingAllocatorEEEivEN13SSOStringTypeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %this) unnamed_addr #7 comdat align 2 personality ptr @__gxx_personality_v0 { +define linkonce_odr dso_local void @_ZZ16TestBasicString8IN5eastl12basic_stringIDu17CountingAllocatorEEEivEN13SSOStringTypeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %this) unnamed_addr #6 comdat align 2 personality ptr @__gxx_personality_v0 { entry: %mRemainingSizeField.i.i.i = getelementptr inbounds i8, ptr %this, i64 23 %0 = load i8, ptr %mRemainingSizeField.i.i.i, align 1 @@ -462341,7 +462327,7 @@ if.end11: ; preds = %cond.false.i.i25, % } ; Function Attrs: mustprogress nounwind uwtable -define linkonce_odr dso_local void @_ZZ17TestBasicString16IN5eastl12basic_stringIDs17CountingAllocatorEEEivEN13SSOStringTypeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %this) unnamed_addr #7 comdat align 2 personality ptr @__gxx_personality_v0 { +define linkonce_odr dso_local void @_ZZ17TestBasicString16IN5eastl12basic_stringIDs17CountingAllocatorEEEivEN13SSOStringTypeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %this) unnamed_addr #6 comdat align 2 personality ptr @__gxx_personality_v0 { entry: %mnRemainingSize.i.i.i = getelementptr inbounds i8, ptr %this, i64 23 %0 = load i8, ptr %mnRemainingSize.i.i.i, align 1 @@ -465417,7 +465403,7 @@ if.end11: ; preds = %cond.false.i.i25, % } ; Function Attrs: mustprogress nounwind uwtable -define linkonce_odr dso_local void @_ZZ17TestBasicString32IN5eastl12basic_stringIDi17CountingAllocatorEEEivEN13SSOStringTypeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %this) unnamed_addr #7 comdat align 2 personality ptr @__gxx_personality_v0 { +define linkonce_odr dso_local void @_ZZ17TestBasicString32IN5eastl12basic_stringIDi17CountingAllocatorEEEivEN13SSOStringTypeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %this) unnamed_addr #6 comdat align 2 personality ptr @__gxx_personality_v0 { entry: %mnRemainingSize.i.i.i = getelementptr inbounds i8, ptr %this, i64 23 %0 = load i8, ptr %mnRemainingSize.i.i.i, align 1 @@ -467320,6 +467306,15 @@ invoke.cont: ; preds = %if.else.i.i, %if.th ret void } +; Function Attrs: mustprogress nocallback nofree nosync nounwind willreturn +declare void @llvm.va_start.p0(ptr) #9 + +; Function Attrs: mustprogress nocallback nofree nosync nounwind willreturn +declare void @llvm.va_end.p0(ptr) #9 + +; Function Attrs: mustprogress nocallback nofree nosync nounwind willreturn +declare void @llvm.va_copy.p0(ptr, ptr) #9 + ; Function Attrs: nofree nounwind willreturn memory(argmem: read) declare i32 @bcmp(ptr nocapture, ptr nocapture, i64) local_unnamed_addr #10 @@ -467343,14 +467338,14 @@ declare void @llvm.experimental.noalias.scope.decl(metadata) #13 attributes #0 = { mustprogress uwtable "frame-pointer"="all" "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" } attributes #1 = { "frame-pointer"="all" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" } -attributes #2 = { mustprogress nocallback nofree nosync nounwind willreturn } -attributes #3 = { noreturn nounwind uwtable "frame-pointer"="all" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" } -attributes #4 = { mustprogress nocallback nofree nounwind willreturn memory(argmem: readwrite) } -attributes #5 = { nobuiltin nounwind "frame-pointer"="all" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" } -attributes #6 = { mustprogress nocallback nofree nounwind willreturn memory(argmem: write) } -attributes #7 = { mustprogress nounwind uwtable "frame-pointer"="all" "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" } -attributes #8 = { mustprogress nofree nounwind willreturn memory(argmem: read) "frame-pointer"="all" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" } -attributes #9 = { mustprogress nofree nounwind willreturn memory(read) "frame-pointer"="all" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" } +attributes #2 = { noreturn nounwind uwtable "frame-pointer"="all" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" } +attributes #3 = { mustprogress nocallback nofree nounwind willreturn memory(argmem: readwrite) } +attributes #4 = { nobuiltin nounwind "frame-pointer"="all" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" } +attributes #5 = { mustprogress nocallback nofree nounwind willreturn memory(argmem: write) } +attributes #6 = { mustprogress nounwind uwtable "frame-pointer"="all" "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" } +attributes #7 = { mustprogress nofree nounwind willreturn memory(argmem: read) "frame-pointer"="all" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" } +attributes #8 = { mustprogress nofree nounwind willreturn memory(read) "frame-pointer"="all" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" } +attributes #9 = { mustprogress nocallback nofree nosync nounwind willreturn } attributes #10 = { nofree nounwind willreturn memory(argmem: read) } attributes #11 = { nocallback nofree nosync nounwind speculatable willreturn memory(none) } attributes #12 = { nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) } diff --git a/bench/fmt/optimized/color-test.cc.ll b/bench/fmt/optimized/color-test.cc.ll index 88832e53803..7a802213a67 100644 --- a/bench/fmt/optimized/color-test.cc.ll +++ b/bench/fmt/optimized/color-test.cc.ll @@ -7626,8 +7626,8 @@ if.end40: ; preds = %_ZNSt20back_insert_ if.then.i: ; preds = %if.end40 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(64) %specs.i, ptr noundef nonnull align 8 dereferenceable(64) %this, i64 64, i1 false) - %width_ref6.i = getelementptr inbounds i8, ptr %specs.i, i64 16 - call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %specs.i, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %width_ref6.i, ptr noundef nonnull align 8 dereferenceable(32) %ctx) + %28 = getelementptr inbounds i8, ptr %this, i64 16 + call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %specs.i, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %28, ptr noundef nonnull align 8 dereferenceable(32) %ctx) %precision.i = getelementptr inbounds i8, ptr %specs.i, i64 4 %precision_ref8.i = getelementptr inbounds i8, ptr %specs.i, i64 40 call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_17precision_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %precision.i, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %precision_ref8.i, ptr noundef nonnull align 8 dereferenceable(32) %ctx) @@ -7648,28 +7648,28 @@ for.body.lr.ph.i.i.i.i.i85: ; preds = %_ZNK3fmt3v109format for.body.i.i.i.i.i89: ; preds = %_ZNSt20back_insert_iteratorIN3fmt3v106detail6bufferIcEEEaSERKc.exit.i.i.i.i.i94, %for.body.lr.ph.i.i.i.i.i85 %__first.addr.05.i.i.i.i.i91.idx = phi i64 [ 0, %for.body.lr.ph.i.i.i.i.i85 ], [ %__first.addr.05.i.i.i.i.i91.add, %_ZNSt20back_insert_iteratorIN3fmt3v106detail6bufferIcEEEaSERKc.exit.i.i.i.i.i94 ] %__first.addr.05.i.i.i.i.i91.ptr = getelementptr inbounds i8, ptr @.str.119, i64 %__first.addr.05.i.i.i.i.i91.idx - %28 = load i64, ptr %size_.i.i.i.i.i.i.i86, align 8 - %add.i.i.i.i.i.i.i92 = add i64 %28, 1 - %29 = load i64, ptr %capacity_.i.i.i.i.i.i.i.i87, align 8 - %cmp.i.i.i.i.i.i.i.i93 = icmp ult i64 %29, %add.i.i.i.i.i.i.i92 + %29 = load i64, ptr %size_.i.i.i.i.i.i.i86, align 8 + %add.i.i.i.i.i.i.i92 = add i64 %29, 1 + %30 = load i64, ptr %capacity_.i.i.i.i.i.i.i.i87, align 8 + %cmp.i.i.i.i.i.i.i.i93 = icmp ult i64 %30, %add.i.i.i.i.i.i.i92 br i1 %cmp.i.i.i.i.i.i.i.i93, label %if.then.i.i.i.i.i.i.i.i100, label %_ZNSt20back_insert_iteratorIN3fmt3v106detail6bufferIcEEEaSERKc.exit.i.i.i.i.i94 if.then.i.i.i.i.i.i.i.i100: ; preds = %for.body.i.i.i.i.i89 %vtable.i.i.i.i.i.i.i.i101 = load ptr, ptr %call.i78, align 8 - %30 = load ptr, ptr %vtable.i.i.i.i.i.i.i.i101, align 8 - call void %30(ptr noundef nonnull align 8 dereferenceable(32) %call.i78, i64 noundef %add.i.i.i.i.i.i.i92) + %31 = load ptr, ptr %vtable.i.i.i.i.i.i.i.i101, align 8 + call void %31(ptr noundef nonnull align 8 dereferenceable(32) %call.i78, i64 noundef %add.i.i.i.i.i.i.i92) %.pre.i.i.i.i.i.i.i102 = load i64, ptr %size_.i.i.i.i.i.i.i86, align 8 %.pre1.i.i.i.i.i.i.i103 = add i64 %.pre.i.i.i.i.i.i.i102, 1 br label %_ZNSt20back_insert_iteratorIN3fmt3v106detail6bufferIcEEEaSERKc.exit.i.i.i.i.i94 _ZNSt20back_insert_iteratorIN3fmt3v106detail6bufferIcEEEaSERKc.exit.i.i.i.i.i94: ; preds = %if.then.i.i.i.i.i.i.i.i100, %for.body.i.i.i.i.i89 %inc.pre-phi.i.i.i.i.i.i.i95 = phi i64 [ %add.i.i.i.i.i.i.i92, %for.body.i.i.i.i.i89 ], [ %.pre1.i.i.i.i.i.i.i103, %if.then.i.i.i.i.i.i.i.i100 ] - %31 = phi i64 [ %28, %for.body.i.i.i.i.i89 ], [ %.pre.i.i.i.i.i.i.i102, %if.then.i.i.i.i.i.i.i.i100 ] - %32 = load i8, ptr %__first.addr.05.i.i.i.i.i91.ptr, align 1 - %33 = load ptr, ptr %ptr_.i.i.i.i.i.i.i88, align 8 + %32 = phi i64 [ %29, %for.body.i.i.i.i.i89 ], [ %.pre.i.i.i.i.i.i.i102, %if.then.i.i.i.i.i.i.i.i100 ] + %33 = load i8, ptr %__first.addr.05.i.i.i.i.i91.ptr, align 1 + %34 = load ptr, ptr %ptr_.i.i.i.i.i.i.i88, align 8 store i64 %inc.pre-phi.i.i.i.i.i.i.i95, ptr %size_.i.i.i.i.i.i.i86, align 8 - %arrayidx.i.i.i.i.i.i.i96 = getelementptr inbounds i8, ptr %33, i64 %31 - store i8 %32, ptr %arrayidx.i.i.i.i.i.i.i96, align 1 + %arrayidx.i.i.i.i.i.i.i96 = getelementptr inbounds i8, ptr %34, i64 %32 + store i8 %33, ptr %arrayidx.i.i.i.i.i.i.i96, align 1 %__first.addr.05.i.i.i.i.i91.add = add nuw nsw i64 %__first.addr.05.i.i.i.i.i91.idx, 1 %exitcond110.not = icmp eq i64 %__first.addr.05.i.i.i.i.i91.idx, 3 br i1 %exitcond110.not, label %if.end56, label %for.body.i.i.i.i.i89, !llvm.loop !528 @@ -10914,8 +10914,8 @@ if.end40: ; preds = %_ZNSt20back_insert_ if.then.i: ; preds = %if.end40 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(64) %specs.i, ptr noundef nonnull align 8 dereferenceable(64) %this, i64 64, i1 false) - %width_ref6.i = getelementptr inbounds i8, ptr %specs.i, i64 16 - call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %specs.i, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %width_ref6.i, ptr noundef nonnull align 8 dereferenceable(32) %ctx) + %28 = getelementptr inbounds i8, ptr %this, i64 16 + call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %specs.i, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %28, ptr noundef nonnull align 8 dereferenceable(32) %ctx) %precision.i = getelementptr inbounds i8, ptr %specs.i, i64 4 %precision_ref8.i = getelementptr inbounds i8, ptr %specs.i, i64 40 call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_17precision_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %precision.i, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %precision_ref8.i, ptr noundef nonnull align 8 dereferenceable(32) %ctx) @@ -10936,28 +10936,28 @@ for.body.lr.ph.i.i.i.i.i85: ; preds = %_ZNK3fmt3v109format for.body.i.i.i.i.i89: ; preds = %_ZNSt20back_insert_iteratorIN3fmt3v106detail6bufferIcEEEaSERKc.exit.i.i.i.i.i94, %for.body.lr.ph.i.i.i.i.i85 %__first.addr.05.i.i.i.i.i91.idx = phi i64 [ 0, %for.body.lr.ph.i.i.i.i.i85 ], [ %__first.addr.05.i.i.i.i.i91.add, %_ZNSt20back_insert_iteratorIN3fmt3v106detail6bufferIcEEEaSERKc.exit.i.i.i.i.i94 ] %__first.addr.05.i.i.i.i.i91.ptr = getelementptr inbounds i8, ptr @.str.119, i64 %__first.addr.05.i.i.i.i.i91.idx - %28 = load i64, ptr %size_.i.i.i.i.i.i.i86, align 8 - %add.i.i.i.i.i.i.i92 = add i64 %28, 1 - %29 = load i64, ptr %capacity_.i.i.i.i.i.i.i.i87, align 8 - %cmp.i.i.i.i.i.i.i.i93 = icmp ult i64 %29, %add.i.i.i.i.i.i.i92 + %29 = load i64, ptr %size_.i.i.i.i.i.i.i86, align 8 + %add.i.i.i.i.i.i.i92 = add i64 %29, 1 + %30 = load i64, ptr %capacity_.i.i.i.i.i.i.i.i87, align 8 + %cmp.i.i.i.i.i.i.i.i93 = icmp ult i64 %30, %add.i.i.i.i.i.i.i92 br i1 %cmp.i.i.i.i.i.i.i.i93, label %if.then.i.i.i.i.i.i.i.i100, label %_ZNSt20back_insert_iteratorIN3fmt3v106detail6bufferIcEEEaSERKc.exit.i.i.i.i.i94 if.then.i.i.i.i.i.i.i.i100: ; preds = %for.body.i.i.i.i.i89 %vtable.i.i.i.i.i.i.i.i101 = load ptr, ptr %call.i78, align 8 - %30 = load ptr, ptr %vtable.i.i.i.i.i.i.i.i101, align 8 - call void %30(ptr noundef nonnull align 8 dereferenceable(32) %call.i78, i64 noundef %add.i.i.i.i.i.i.i92) + %31 = load ptr, ptr %vtable.i.i.i.i.i.i.i.i101, align 8 + call void %31(ptr noundef nonnull align 8 dereferenceable(32) %call.i78, i64 noundef %add.i.i.i.i.i.i.i92) %.pre.i.i.i.i.i.i.i102 = load i64, ptr %size_.i.i.i.i.i.i.i86, align 8 %.pre1.i.i.i.i.i.i.i103 = add i64 %.pre.i.i.i.i.i.i.i102, 1 br label %_ZNSt20back_insert_iteratorIN3fmt3v106detail6bufferIcEEEaSERKc.exit.i.i.i.i.i94 _ZNSt20back_insert_iteratorIN3fmt3v106detail6bufferIcEEEaSERKc.exit.i.i.i.i.i94: ; preds = %if.then.i.i.i.i.i.i.i.i100, %for.body.i.i.i.i.i89 %inc.pre-phi.i.i.i.i.i.i.i95 = phi i64 [ %add.i.i.i.i.i.i.i92, %for.body.i.i.i.i.i89 ], [ %.pre1.i.i.i.i.i.i.i103, %if.then.i.i.i.i.i.i.i.i100 ] - %31 = phi i64 [ %28, %for.body.i.i.i.i.i89 ], [ %.pre.i.i.i.i.i.i.i102, %if.then.i.i.i.i.i.i.i.i100 ] - %32 = load i8, ptr %__first.addr.05.i.i.i.i.i91.ptr, align 1 - %33 = load ptr, ptr %ptr_.i.i.i.i.i.i.i88, align 8 + %32 = phi i64 [ %29, %for.body.i.i.i.i.i89 ], [ %.pre.i.i.i.i.i.i.i102, %if.then.i.i.i.i.i.i.i.i100 ] + %33 = load i8, ptr %__first.addr.05.i.i.i.i.i91.ptr, align 1 + %34 = load ptr, ptr %ptr_.i.i.i.i.i.i.i88, align 8 store i64 %inc.pre-phi.i.i.i.i.i.i.i95, ptr %size_.i.i.i.i.i.i.i86, align 8 - %arrayidx.i.i.i.i.i.i.i96 = getelementptr inbounds i8, ptr %33, i64 %31 - store i8 %32, ptr %arrayidx.i.i.i.i.i.i.i96, align 1 + %arrayidx.i.i.i.i.i.i.i96 = getelementptr inbounds i8, ptr %34, i64 %32 + store i8 %33, ptr %arrayidx.i.i.i.i.i.i.i96, align 1 %__first.addr.05.i.i.i.i.i91.add = add nuw nsw i64 %__first.addr.05.i.i.i.i.i91.idx, 1 %exitcond110.not = icmp eq i64 %__first.addr.05.i.i.i.i.i91.idx, 3 br i1 %exitcond110.not, label %if.end56, label %for.body.i.i.i.i.i89, !llvm.loop !528 diff --git a/bench/fmt/optimized/enforce-checks-test.cc.ll b/bench/fmt/optimized/enforce-checks-test.cc.ll index 7b00c5959bd..846827ede76 100644 --- a/bench/fmt/optimized/enforce-checks-test.cc.ll +++ b/bench/fmt/optimized/enforce-checks-test.cc.ll @@ -45863,10 +45863,10 @@ for.body.lr.ph: ; preds = %_ZN3fmt3v106detail8 %size_.i.i11 = getelementptr inbounds i8, ptr %this, i64 72 %width_ref.i = getelementptr inbounds i8, ptr %this, i64 16 %precision_ref.i = getelementptr inbounds i8, ptr %this, i64 40 - %width_ref6.i = getelementptr inbounds i8, ptr %specs.i, i64 16 %precision.i = getelementptr inbounds i8, ptr %specs.i, i64 4 %precision_ref8.i = getelementptr inbounds i8, ptr %specs.i, i64 40 %loc_.i = getelementptr inbounds i8, ptr %ctx, i64 24 + %11 = getelementptr inbounds i8, ptr %this, i64 16 br label %for.body for.body: ; preds = %for.body.lr.ph, %_ZNK3fmt3v109formatterIccvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEERKcRT_.exit @@ -45877,10 +45877,10 @@ for.body: ; preds = %for.body.lr.ph, %_Z br i1 %cmp.not, label %if.end, label %if.then if.then: ; preds = %for.body - %11 = load ptr, ptr %separator_, align 8 - %12 = load i64, ptr %size_.i.i11, align 8 - %add.ptr.i.i12 = getelementptr inbounds i8, ptr %11, i64 %12 - %cmp.not10.i.i.i13 = icmp eq i64 %12, 0 + %12 = load ptr, ptr %separator_, align 8 + %13 = load i64, ptr %size_.i.i11, align 8 + %add.ptr.i.i12 = getelementptr inbounds i8, ptr %12, i64 %13 + %cmp.not10.i.i.i13 = icmp eq i64 %13, 0 br i1 %cmp.not10.i.i.i13, label %if.end, label %while.body.lr.ph.i.i.i14 while.body.lr.ph.i.i.i14: ; preds = %if.then @@ -45892,41 +45892,41 @@ while.body.lr.ph.i.i.i14: ; preds = %if.then br label %while.body.i.i.i20 while.body.i.i.i20: ; preds = %_ZSt20uninitialized_copy_nIPKcmPcET1_T_T0_S3_.exit.i.i.i33, %while.body.lr.ph.i.i.i14 - %13 = phi i64 [ %.pre.i.i.i19, %while.body.lr.ph.i.i.i14 ], [ %add7.i.i.i34, %_ZSt20uninitialized_copy_nIPKcmPcET1_T_T0_S3_.exit.i.i.i33 ] - %begin.addr.011.i.i.i21 = phi ptr [ %11, %while.body.lr.ph.i.i.i14 ], [ %add.ptr8.i.i.i35, %_ZSt20uninitialized_copy_nIPKcmPcET1_T_T0_S3_.exit.i.i.i33 ] + %14 = phi i64 [ %.pre.i.i.i19, %while.body.lr.ph.i.i.i14 ], [ %add7.i.i.i34, %_ZSt20uninitialized_copy_nIPKcmPcET1_T_T0_S3_.exit.i.i.i33 ] + %begin.addr.011.i.i.i21 = phi ptr [ %12, %while.body.lr.ph.i.i.i14 ], [ %add.ptr8.i.i.i35, %_ZSt20uninitialized_copy_nIPKcmPcET1_T_T0_S3_.exit.i.i.i33 ] %sub.ptr.rhs.cast.i.i.i22 = ptrtoint ptr %begin.addr.011.i.i.i21 to i64 %sub.ptr.sub.i.i.i23 = sub i64 %sub.ptr.lhs.cast.i.i.i15, %sub.ptr.rhs.cast.i.i.i22 - %add.i.i.i24 = add i64 %sub.ptr.sub.i.i.i23, %13 - %14 = load i64, ptr %capacity_.i.i.i.i17, align 8 - %cmp.i.i.i.i25 = icmp ult i64 %14, %add.i.i.i24 + %add.i.i.i24 = add i64 %sub.ptr.sub.i.i.i23, %14 + %15 = load i64, ptr %capacity_.i.i.i.i17, align 8 + %cmp.i.i.i.i25 = icmp ult i64 %15, %add.i.i.i24 br i1 %cmp.i.i.i.i25, label %if.then.i.i.i.i37, label %_ZN3fmt3v106detail6bufferIcE11try_reserveEm.exit.i.i.i26 if.then.i.i.i.i37: ; preds = %while.body.i.i.i20 %vtable.i.i.i.i38 = load ptr, ptr %retval.sroa.0.084, align 8 - %15 = load ptr, ptr %vtable.i.i.i.i38, align 8 - call void %15(ptr noundef nonnull align 8 dereferenceable(32) %retval.sroa.0.084, i64 noundef %add.i.i.i24) + %16 = load ptr, ptr %vtable.i.i.i.i38, align 8 + call void %16(ptr noundef nonnull align 8 dereferenceable(32) %retval.sroa.0.084, i64 noundef %add.i.i.i24) %.pre12.i.i.i39 = load i64, ptr %capacity_.i.i.i.i17, align 8 %.pre13.i.i.i40 = load i64, ptr %size_.i.i.i16, align 8 br label %_ZN3fmt3v106detail6bufferIcE11try_reserveEm.exit.i.i.i26 _ZN3fmt3v106detail6bufferIcE11try_reserveEm.exit.i.i.i26: ; preds = %if.then.i.i.i.i37, %while.body.i.i.i20 - %16 = phi i64 [ %13, %while.body.i.i.i20 ], [ %.pre13.i.i.i40, %if.then.i.i.i.i37 ] - %17 = phi i64 [ %14, %while.body.i.i.i20 ], [ %.pre12.i.i.i39, %if.then.i.i.i.i37 ] - %sub.i.i.i27 = sub i64 %17, %16 + %17 = phi i64 [ %14, %while.body.i.i.i20 ], [ %.pre13.i.i.i40, %if.then.i.i.i.i37 ] + %18 = phi i64 [ %15, %while.body.i.i.i20 ], [ %.pre12.i.i.i39, %if.then.i.i.i.i37 ] + %sub.i.i.i27 = sub i64 %18, %17 %spec.select.i.i.i28 = call i64 @llvm.umin.i64(i64 %sub.i.i.i27, i64 %sub.ptr.sub.i.i.i23) %tobool.not.i.i.i.i.i.i.i.i.i.i.i.i29 = icmp eq i64 %spec.select.i.i.i28, 0 br i1 %tobool.not.i.i.i.i.i.i.i.i.i.i.i.i29, label %_ZSt20uninitialized_copy_nIPKcmPcET1_T_T0_S3_.exit.i.i.i33, label %if.then.i.i.i.i.i.i.i.i.i.i.i.i30 if.then.i.i.i.i.i.i.i.i.i.i.i.i30: ; preds = %_ZN3fmt3v106detail6bufferIcE11try_reserveEm.exit.i.i.i26 - %18 = load ptr, ptr %ptr_.i.i.i18, align 8 - %add.ptr.i.i.i31 = getelementptr inbounds i8, ptr %18, i64 %16 + %19 = load ptr, ptr %ptr_.i.i.i18, align 8 + %add.ptr.i.i.i31 = getelementptr inbounds i8, ptr %19, i64 %17 call void @llvm.memmove.p0.p0.i64(ptr align 1 %add.ptr.i.i.i31, ptr align 1 %begin.addr.011.i.i.i21, i64 %spec.select.i.i.i28, i1 false) %.pre14.i.i.i32 = load i64, ptr %size_.i.i.i16, align 8 br label %_ZSt20uninitialized_copy_nIPKcmPcET1_T_T0_S3_.exit.i.i.i33 _ZSt20uninitialized_copy_nIPKcmPcET1_T_T0_S3_.exit.i.i.i33: ; preds = %if.then.i.i.i.i.i.i.i.i.i.i.i.i30, %_ZN3fmt3v106detail6bufferIcE11try_reserveEm.exit.i.i.i26 - %19 = phi i64 [ %16, %_ZN3fmt3v106detail6bufferIcE11try_reserveEm.exit.i.i.i26 ], [ %.pre14.i.i.i32, %if.then.i.i.i.i.i.i.i.i.i.i.i.i30 ] - %add7.i.i.i34 = add i64 %19, %spec.select.i.i.i28 + %20 = phi i64 [ %17, %_ZN3fmt3v106detail6bufferIcE11try_reserveEm.exit.i.i.i26 ], [ %.pre14.i.i.i32, %if.then.i.i.i.i.i.i.i.i.i.i.i.i30 ] + %add7.i.i.i34 = add i64 %20, %spec.select.i.i.i28 store i64 %add7.i.i.i34, ptr %size_.i.i.i16, align 8 %add.ptr8.i.i.i35 = getelementptr inbounds i8, ptr %begin.addr.011.i.i.i21, i64 %spec.select.i.i.i28 %cmp.not.i.i.i36 = icmp eq ptr %add.ptr8.i.i.i35, %add.ptr.i.i12 @@ -45934,27 +45934,27 @@ _ZSt20uninitialized_copy_nIPKcmPcET1_T_T0_S3_.exit.i.i.i33: ; preds = %if.then.i if.end: ; preds = %_ZSt20uninitialized_copy_nIPKcmPcET1_T_T0_S3_.exit.i.i.i33, %if.then, %for.body store ptr %retval.sroa.0.084, ptr %ctx, align 8 - %20 = load i32, ptr %width_ref.i, align 8 - %cmp.i.not = icmp eq i32 %20, 0 - %21 = load i32, ptr %precision_ref.i, align 8 - %cmp4.i.not = icmp eq i32 %21, 0 + %21 = load i32, ptr %width_ref.i, align 8 + %cmp.i.not = icmp eq i32 %21, 0 + %22 = load i32, ptr %precision_ref.i, align 8 + %cmp4.i.not = icmp eq i32 %22, 0 %or.cond = select i1 %cmp.i.not, i1 %cmp4.i.not, i1 false br i1 %or.cond, label %if.end.i, label %if.then.i if.then.i: ; preds = %if.end call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(64) %specs.i, ptr noundef nonnull align 8 dereferenceable(64) %this, i64 64, i1 false) - call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %specs.i, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref.177") align 8 %width_ref6.i, ptr noundef nonnull align 8 dereferenceable(32) %ctx) + call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %specs.i, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref.177") align 8 %11, ptr noundef nonnull align 8 dereferenceable(32) %ctx) call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_17precision_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %precision.i, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref.177") align 8 %precision_ref8.i, ptr noundef nonnull align 8 dereferenceable(32) %ctx) %retval.sroa.0.0.copyload.i42 = load ptr, ptr %ctx, align 8 - %22 = load i8, ptr %it.sroa.0.082, align 1 + %23 = load i8, ptr %it.sroa.0.082, align 1 %retval.sroa.0.0.copyload.i43 = load ptr, ptr %loc_.i, align 8 - %call17.i = call ptr @_ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_T_RKNS0_12format_specsIS5_EENS1_10locale_refE(ptr %retval.sroa.0.0.copyload.i42, i8 noundef signext %22, ptr noundef nonnull align 4 dereferenceable(16) %specs.i, ptr %retval.sroa.0.0.copyload.i43) + %call17.i = call ptr @_ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_T_RKNS0_12format_specsIS5_EENS1_10locale_refE(ptr %retval.sroa.0.0.copyload.i42, i8 noundef signext %23, ptr noundef nonnull align 4 dereferenceable(16) %specs.i, ptr %retval.sroa.0.0.copyload.i43) br label %_ZNK3fmt3v109formatterIccvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEERKcRT_.exit if.end.i: ; preds = %if.end - %23 = load i8, ptr %it.sroa.0.082, align 1 + %24 = load i8, ptr %it.sroa.0.082, align 1 %retval.sroa.0.0.copyload.i46 = load ptr, ptr %loc_.i, align 8 - %call31.i = call ptr @_ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_T_RKNS0_12format_specsIS5_EENS1_10locale_refE(ptr %retval.sroa.0.084, i8 noundef signext %23, ptr noundef nonnull align 4 dereferenceable(16) %this, ptr %retval.sroa.0.0.copyload.i46) + %call31.i = call ptr @_ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_T_RKNS0_12format_specsIS5_EENS1_10locale_refE(ptr %retval.sroa.0.084, i8 noundef signext %24, ptr noundef nonnull align 4 dereferenceable(16) %this, ptr %retval.sroa.0.0.copyload.i46) br label %_ZNK3fmt3v109formatterIccvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEERKcRT_.exit _ZNK3fmt3v109formatterIccvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEERKcRT_.exit: ; preds = %if.end.i, %if.then.i @@ -45967,11 +45967,11 @@ _ZNK3fmt3v109formatterIccvE6formatINS0_20basic_format_contextINS0_8appenderEcEEE for.end: ; preds = %_ZNK3fmt3v109formatterIccvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEERKcRT_.exit, %_ZN3fmt3v106detail8copy_strIcRKNS0_17basic_string_viewIcEENS0_8appenderEEET1_OT0_S8_.exit %retval.sroa.0.0.lcssa = phi ptr [ %retval.sroa.0.0.copyload.i, %_ZN3fmt3v106detail8copy_strIcRKNS0_17basic_string_viewIcEENS0_8appenderEEET1_OT0_S8_.exit ], [ %retval.i.sroa.0.0, %_ZNK3fmt3v109formatterIccvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEERKcRT_.exit ] %closing_bracket_ = getelementptr inbounds i8, ptr %this, i64 96 - %24 = load ptr, ptr %closing_bracket_, align 8 + %25 = load ptr, ptr %closing_bracket_, align 8 %size_.i.i47 = getelementptr inbounds i8, ptr %this, i64 104 - %25 = load i64, ptr %size_.i.i47, align 8 - %add.ptr.i.i48 = getelementptr inbounds i8, ptr %24, i64 %25 - %cmp.not10.i.i.i49 = icmp eq i64 %25, 0 + %26 = load i64, ptr %size_.i.i47, align 8 + %add.ptr.i.i48 = getelementptr inbounds i8, ptr %25, i64 %26 + %cmp.not10.i.i.i49 = icmp eq i64 %26, 0 br i1 %cmp.not10.i.i.i49, label %_ZN3fmt3v106detail8copy_strIcRKNS0_17basic_string_viewIcEENS0_8appenderEEET1_OT0_S8_.exit77, label %while.body.lr.ph.i.i.i50 while.body.lr.ph.i.i.i50: ; preds = %for.end @@ -45983,41 +45983,41 @@ while.body.lr.ph.i.i.i50: ; preds = %for.end br label %while.body.i.i.i56 while.body.i.i.i56: ; preds = %_ZSt20uninitialized_copy_nIPKcmPcET1_T_T0_S3_.exit.i.i.i69, %while.body.lr.ph.i.i.i50 - %26 = phi i64 [ %.pre.i.i.i55, %while.body.lr.ph.i.i.i50 ], [ %add7.i.i.i70, %_ZSt20uninitialized_copy_nIPKcmPcET1_T_T0_S3_.exit.i.i.i69 ] - %begin.addr.011.i.i.i57 = phi ptr [ %24, %while.body.lr.ph.i.i.i50 ], [ %add.ptr8.i.i.i71, %_ZSt20uninitialized_copy_nIPKcmPcET1_T_T0_S3_.exit.i.i.i69 ] + %27 = phi i64 [ %.pre.i.i.i55, %while.body.lr.ph.i.i.i50 ], [ %add7.i.i.i70, %_ZSt20uninitialized_copy_nIPKcmPcET1_T_T0_S3_.exit.i.i.i69 ] + %begin.addr.011.i.i.i57 = phi ptr [ %25, %while.body.lr.ph.i.i.i50 ], [ %add.ptr8.i.i.i71, %_ZSt20uninitialized_copy_nIPKcmPcET1_T_T0_S3_.exit.i.i.i69 ] %sub.ptr.rhs.cast.i.i.i58 = ptrtoint ptr %begin.addr.011.i.i.i57 to i64 %sub.ptr.sub.i.i.i59 = sub i64 %sub.ptr.lhs.cast.i.i.i51, %sub.ptr.rhs.cast.i.i.i58 - %add.i.i.i60 = add i64 %sub.ptr.sub.i.i.i59, %26 - %27 = load i64, ptr %capacity_.i.i.i.i53, align 8 - %cmp.i.i.i.i61 = icmp ult i64 %27, %add.i.i.i60 + %add.i.i.i60 = add i64 %sub.ptr.sub.i.i.i59, %27 + %28 = load i64, ptr %capacity_.i.i.i.i53, align 8 + %cmp.i.i.i.i61 = icmp ult i64 %28, %add.i.i.i60 br i1 %cmp.i.i.i.i61, label %if.then.i.i.i.i73, label %_ZN3fmt3v106detail6bufferIcE11try_reserveEm.exit.i.i.i62 if.then.i.i.i.i73: ; preds = %while.body.i.i.i56 %vtable.i.i.i.i74 = load ptr, ptr %retval.sroa.0.0.lcssa, align 8 - %28 = load ptr, ptr %vtable.i.i.i.i74, align 8 - call void %28(ptr noundef nonnull align 8 dereferenceable(32) %retval.sroa.0.0.lcssa, i64 noundef %add.i.i.i60) + %29 = load ptr, ptr %vtable.i.i.i.i74, align 8 + call void %29(ptr noundef nonnull align 8 dereferenceable(32) %retval.sroa.0.0.lcssa, i64 noundef %add.i.i.i60) %.pre12.i.i.i75 = load i64, ptr %capacity_.i.i.i.i53, align 8 %.pre13.i.i.i76 = load i64, ptr %size_.i.i.i52, align 8 br label %_ZN3fmt3v106detail6bufferIcE11try_reserveEm.exit.i.i.i62 _ZN3fmt3v106detail6bufferIcE11try_reserveEm.exit.i.i.i62: ; preds = %if.then.i.i.i.i73, %while.body.i.i.i56 - %29 = phi i64 [ %26, %while.body.i.i.i56 ], [ %.pre13.i.i.i76, %if.then.i.i.i.i73 ] - %30 = phi i64 [ %27, %while.body.i.i.i56 ], [ %.pre12.i.i.i75, %if.then.i.i.i.i73 ] - %sub.i.i.i63 = sub i64 %30, %29 + %30 = phi i64 [ %27, %while.body.i.i.i56 ], [ %.pre13.i.i.i76, %if.then.i.i.i.i73 ] + %31 = phi i64 [ %28, %while.body.i.i.i56 ], [ %.pre12.i.i.i75, %if.then.i.i.i.i73 ] + %sub.i.i.i63 = sub i64 %31, %30 %spec.select.i.i.i64 = call i64 @llvm.umin.i64(i64 %sub.i.i.i63, i64 %sub.ptr.sub.i.i.i59) %tobool.not.i.i.i.i.i.i.i.i.i.i.i.i65 = icmp eq i64 %spec.select.i.i.i64, 0 br i1 %tobool.not.i.i.i.i.i.i.i.i.i.i.i.i65, label %_ZSt20uninitialized_copy_nIPKcmPcET1_T_T0_S3_.exit.i.i.i69, label %if.then.i.i.i.i.i.i.i.i.i.i.i.i66 if.then.i.i.i.i.i.i.i.i.i.i.i.i66: ; preds = %_ZN3fmt3v106detail6bufferIcE11try_reserveEm.exit.i.i.i62 - %31 = load ptr, ptr %ptr_.i.i.i54, align 8 - %add.ptr.i.i.i67 = getelementptr inbounds i8, ptr %31, i64 %29 + %32 = load ptr, ptr %ptr_.i.i.i54, align 8 + %add.ptr.i.i.i67 = getelementptr inbounds i8, ptr %32, i64 %30 call void @llvm.memmove.p0.p0.i64(ptr align 1 %add.ptr.i.i.i67, ptr align 1 %begin.addr.011.i.i.i57, i64 %spec.select.i.i.i64, i1 false) %.pre14.i.i.i68 = load i64, ptr %size_.i.i.i52, align 8 br label %_ZSt20uninitialized_copy_nIPKcmPcET1_T_T0_S3_.exit.i.i.i69 _ZSt20uninitialized_copy_nIPKcmPcET1_T_T0_S3_.exit.i.i.i69: ; preds = %if.then.i.i.i.i.i.i.i.i.i.i.i.i66, %_ZN3fmt3v106detail6bufferIcE11try_reserveEm.exit.i.i.i62 - %32 = phi i64 [ %29, %_ZN3fmt3v106detail6bufferIcE11try_reserveEm.exit.i.i.i62 ], [ %.pre14.i.i.i68, %if.then.i.i.i.i.i.i.i.i.i.i.i.i66 ] - %add7.i.i.i70 = add i64 %32, %spec.select.i.i.i64 + %33 = phi i64 [ %30, %_ZN3fmt3v106detail6bufferIcE11try_reserveEm.exit.i.i.i62 ], [ %.pre14.i.i.i68, %if.then.i.i.i.i.i.i.i.i.i.i.i.i66 ] + %add7.i.i.i70 = add i64 %33, %spec.select.i.i.i64 store i64 %add7.i.i.i70, ptr %size_.i.i.i52, align 8 %add.ptr8.i.i.i71 = getelementptr inbounds i8, ptr %begin.addr.011.i.i.i57, i64 %spec.select.i.i.i64 %cmp.not.i.i.i72 = icmp eq ptr %add.ptr8.i.i.i71, %add.ptr.i.i48 diff --git a/bench/fmt/optimized/format-test.cc.ll b/bench/fmt/optimized/format-test.cc.ll index 0695e325abb..ce759411e7d 100644 --- a/bench/fmt/optimized/format-test.cc.ll +++ b/bench/fmt/optimized/format-test.cc.ll @@ -170394,8 +170394,7 @@ entry: if.then.i.i: ; preds = %entry call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(64) %specs.i.i, ptr noundef nonnull align 8 dereferenceable(64) %f, i64 64, i1 false) - %width_ref6.i.i = getelementptr inbounds i8, ptr %specs.i.i, i64 16 - call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %specs.i.i, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %width_ref6.i.i, ptr noundef nonnull align 8 dereferenceable(32) %ctx) + call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %specs.i.i, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %width_ref.i.i.i.i, ptr noundef nonnull align 8 dereferenceable(32) %ctx) %precision.i.i = getelementptr inbounds i8, ptr %specs.i.i, i64 4 %precision_ref8.i.i = getelementptr inbounds i8, ptr %specs.i.i, i64 40 call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_17precision_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %precision.i.i, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %precision_ref8.i.i, ptr noundef nonnull align 8 dereferenceable(32) %ctx) @@ -174069,8 +174068,8 @@ entry: if.then.i: ; preds = %entry call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(64) %specs.i, ptr noundef nonnull align 8 dereferenceable(64) %this, i64 64, i1 false) - %width_ref6.i = getelementptr inbounds i8, ptr %specs.i, i64 16 - call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %specs.i, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %width_ref6.i, ptr noundef nonnull align 8 dereferenceable(32) %ctx) + %2 = getelementptr inbounds i8, ptr %this, i64 16 + call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %specs.i, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %2, ptr noundef nonnull align 8 dereferenceable(32) %ctx) %precision.i = getelementptr inbounds i8, ptr %specs.i, i64 4 %precision_ref8.i = getelementptr inbounds i8, ptr %specs.i, i64 40 call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_17precision_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %precision.i, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %precision_ref8.i, ptr noundef nonnull align 8 dereferenceable(32) %ctx) @@ -174079,8 +174078,8 @@ if.then.i: ; preds = %entry %retval.sroa.0.0.copyload.i16 = load ptr, ptr %loc_.i, align 8 %localized.i = getelementptr inbounds i8, ptr %specs.i, i64 9 %bf.load.i = load i16, ptr %localized.i, align 1 - %2 = and i16 %bf.load.i, 256 - %bf.cast.i.not = icmp eq i16 %2, 0 + %3 = and i16 %bf.load.i, 256 + %bf.cast.i.not = icmp eq i16 %3, 0 br i1 %bf.cast.i.not, label %if.end.i8, label %land.lhs.true.i land.lhs.true.i: ; preds = %if.then.i @@ -174096,14 +174095,14 @@ land.lhs.true.i.if.end.i8_crit_edge: ; preds = %land.lhs.true.i if.end.i8: ; preds = %land.lhs.true.i.if.end.i8_crit_edge, %if.then.i %bf.load10.i = phi i16 [ %bf.load10.i.pre, %land.lhs.true.i.if.end.i8_crit_edge ], [ %bf.load.i, %if.then.i ] - %3 = lshr i16 %bf.load10.i, 4 - %4 = and i16 %3, 7 - %bf.cast13.i = zext nneg i16 %4 to i64 + %4 = lshr i16 %bf.load10.i, 4 + %5 = and i16 %4, 7 + %bf.cast13.i = zext nneg i16 %5 to i64 %arrayidx.i = getelementptr inbounds [4 x i32], ptr @__const._ZN3fmt3v106detail18make_write_int_argIjEENS1_13write_int_argINSt11conditionalIXaalecl8num_bitsIT_EELi32EntLi0EEjNS4_IXlecl8num_bitsIS5_EELi64EEmoE4typeEE4typeEEES5_NS0_4sign4typeE.prefixes, i64 0, i64 %bf.cast13.i - %5 = load i32, ptr %arrayidx.i, align 4 - %6 = zext i32 %5 to i64 - %7 = shl nuw i64 %6, 32 - %retval.sroa.0.0.insert.insert.i = or disjoint i64 %7, 42 + %6 = load i32, ptr %arrayidx.i, align 4 + %7 = zext i32 %6 to i64 + %8 = shl nuw i64 %7, 32 + %retval.sroa.0.0.insert.insert.i = or disjoint i64 %8, 42 %call19.i = call ptr @_ZN3fmt3v106detail18write_int_noinlineIcNS0_8appenderEjEET0_S4_NS1_13write_int_argIT1_EERKNS0_12format_specsIT_EENS1_10locale_refE(ptr %retval.sroa.0.0.copyload.i, i64 %retval.sroa.0.0.insert.insert.i, ptr noundef nonnull align 4 dereferenceable(16) %specs.i, ptr %retval.sroa.0.0.copyload.i16) br label %_ZNK3fmt3v109formatterIicvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEERKiRT_.exit @@ -174113,8 +174112,8 @@ if.end.i: ; preds = %entry %retval.sroa.0.0.copyload.i20 = load ptr, ptr %loc_.i19, align 8 %localized.i22 = getelementptr inbounds i8, ptr %this, i64 9 %bf.load.i23 = load i16, ptr %localized.i22, align 1 - %8 = and i16 %bf.load.i23, 256 - %bf.cast.i26.not = icmp eq i16 %8, 0 + %9 = and i16 %bf.load.i23, 256 + %bf.cast.i26.not = icmp eq i16 %9, 0 br i1 %bf.cast.i26.not, label %if.end.i27, label %land.lhs.true.i35 land.lhs.true.i35: ; preds = %if.end.i @@ -174130,14 +174129,14 @@ land.lhs.true.i35.if.end.i27_crit_edge: ; preds = %land.lhs.true.i35 if.end.i27: ; preds = %land.lhs.true.i35.if.end.i27_crit_edge, %if.end.i %bf.load10.i29 = phi i16 [ %bf.load10.i29.pre, %land.lhs.true.i35.if.end.i27_crit_edge ], [ %bf.load.i23, %if.end.i ] - %9 = lshr i16 %bf.load10.i29, 4 - %10 = and i16 %9, 7 - %bf.cast13.i32 = zext nneg i16 %10 to i64 + %10 = lshr i16 %bf.load10.i29, 4 + %11 = and i16 %10, 7 + %bf.cast13.i32 = zext nneg i16 %11 to i64 %arrayidx.i23 = getelementptr inbounds [4 x i32], ptr @__const._ZN3fmt3v106detail18make_write_int_argIjEENS1_13write_int_argINSt11conditionalIXaalecl8num_bitsIT_EELi32EntLi0EEjNS4_IXlecl8num_bitsIS5_EELi64EEmoE4typeEE4typeEEES5_NS0_4sign4typeE.prefixes, i64 0, i64 %bf.cast13.i32 - %11 = load i32, ptr %arrayidx.i23, align 4 - %12 = zext i32 %11 to i64 - %13 = shl nuw i64 %12, 32 - %retval.sroa.0.0.insert.insert.i25 = or disjoint i64 %13, 42 + %12 = load i32, ptr %arrayidx.i23, align 4 + %13 = zext i32 %12 to i64 + %14 = shl nuw i64 %13, 32 + %retval.sroa.0.0.insert.insert.i25 = or disjoint i64 %14, 42 %call19.i34 = tail call ptr @_ZN3fmt3v106detail18write_int_noinlineIcNS0_8appenderEjEET0_S4_NS1_13write_int_argIT1_EERKNS0_12format_specsIT_EENS1_10locale_refE(ptr %retval.sroa.0.0.copyload.i18, i64 %retval.sroa.0.0.insert.insert.i25, ptr noundef nonnull align 4 dereferenceable(16) %this, ptr %retval.sroa.0.0.copyload.i20) br label %_ZNK3fmt3v109formatterIicvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEERKiRT_.exit @@ -180809,13 +180808,13 @@ lor.lhs.false.i: ; preds = %entry if.then.i: ; preds = %lor.lhs.false.i, %entry call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(64) %specs.i, ptr noundef nonnull align 8 dereferenceable(64) %view.coerce0, i64 64, i1 false) - %width_ref6.i = getelementptr inbounds i8, ptr %specs.i, i64 16 - call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %specs.i, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %width_ref6.i, ptr noundef nonnull align 8 dereferenceable(32) %ctx) + %2 = getelementptr inbounds i8, ptr %view.coerce0, i64 16 + call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %specs.i, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %2, ptr noundef nonnull align 8 dereferenceable(32) %ctx) %precision.i = getelementptr inbounds i8, ptr %specs.i, i64 4 %precision_ref8.i = getelementptr inbounds i8, ptr %specs.i, i64 40 call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_17precision_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %precision.i, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %precision_ref8.i, ptr noundef nonnull align 8 dereferenceable(32) %ctx) %retval.sroa.0.0.copyload.i = load ptr, ptr %ctx, align 8 - %2 = load double, ptr %view.coerce1, align 8 + %3 = load double, ptr %view.coerce1, align 8 %agg.tmp11.i.sroa.0.0.copyload = load i64, ptr %specs.i, align 8 %agg.tmp11.i.sroa.2.0.specs.i.sroa_idx = getelementptr inbounds i8, ptr %specs.i, i64 8 %agg.tmp11.i.sroa.2.0.copyload = load i64, ptr %agg.tmp11.i.sroa.2.0.specs.i.sroa_idx, align 8 @@ -180824,28 +180823,28 @@ if.then.i: ; preds = %lor.lhs.false.i, %e call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %specs.i9) call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp4.i) store i64 %agg.tmp11.i.sroa.0.0.copyload, ptr %specs.i9, align 8 - %3 = getelementptr inbounds i8, ptr %specs.i9, i64 8 - store i64 %agg.tmp11.i.sroa.2.0.copyload, ptr %3, align 8 - %4 = and i64 %agg.tmp11.i.sroa.2.0.copyload, 65536 - %bf.cast.not.i = icmp eq i64 %4, 0 + %4 = getelementptr inbounds i8, ptr %specs.i9, i64 8 + store i64 %agg.tmp11.i.sroa.2.0.copyload, ptr %4, align 8 + %5 = and i64 %agg.tmp11.i.sroa.2.0.copyload, 65536 + %bf.cast.not.i = icmp eq i64 %5, 0 br i1 %bf.cast.not.i, label %cond.false.i, label %land.lhs.true.i land.lhs.true.i: ; preds = %if.then.i %type_.i.i.i.i = getelementptr inbounds i8, ptr %agg.tmp4.i, i64 16 store i32 10, ptr %type_.i.i.i.i, align 16, !alias.scope !6496 - store double %2, ptr %agg.tmp4.i, align 16, !alias.scope !6496 + store double %3, ptr %agg.tmp4.i, align 16, !alias.scope !6496 %call9.i = call noundef zeroext i1 @_ZN3fmt3v106detail9write_locENS0_8appenderENS0_9loc_valueERKNS0_12format_specsIcEENS1_10locale_refE(ptr %retval.sroa.0.0.copyload.i, ptr noundef nonnull byval(%"class.fmt::v10::loc_value") align 16 %agg.tmp4.i, ptr noundef nonnull align 4 dereferenceable(16) %specs.i9, ptr %retval.sroa.0.0.copyload.i7) br i1 %call9.i, label %_ZN3fmt3v106detail5writeIcNS0_8appenderEdTnNSt9enable_ifIXsr17is_floating_pointIT1_EE5valueEiE4typeELi0EEET0_S8_S5_NS0_12format_specsIT_EENS1_10locale_refE.exit, label %land.lhs.true.cond.false_crit_edge.i land.lhs.true.cond.false_crit_edge.i: ; preds = %land.lhs.true.i %agg.tmp11.sroa.0.0.copyload.pre.i = load i64, ptr %specs.i9, align 8 - %agg.tmp11.sroa.2.0.copyload.pre.i = load i64, ptr %3, align 8 + %agg.tmp11.sroa.2.0.copyload.pre.i = load i64, ptr %4, align 8 br label %cond.false.i cond.false.i: ; preds = %land.lhs.true.cond.false_crit_edge.i, %if.then.i %agg.tmp11.sroa.2.0.copyload.i = phi i64 [ %agg.tmp11.sroa.2.0.copyload.pre.i, %land.lhs.true.cond.false_crit_edge.i ], [ %agg.tmp11.i.sroa.2.0.copyload, %if.then.i ] %agg.tmp11.sroa.0.0.copyload.i = phi i64 [ %agg.tmp11.sroa.0.0.copyload.pre.i, %land.lhs.true.cond.false_crit_edge.i ], [ %agg.tmp11.i.sroa.0.0.copyload, %if.then.i ] - %call16.i = call ptr @_ZN3fmt3v106detail11write_floatIcNS0_8appenderEdEET0_S4_T1_NS0_12format_specsIT_EENS1_10locale_refE(ptr %retval.sroa.0.0.copyload.i, double noundef %2, i64 %agg.tmp11.sroa.0.0.copyload.i, i64 %agg.tmp11.sroa.2.0.copyload.i, ptr %retval.sroa.0.0.copyload.i7) + %call16.i = call ptr @_ZN3fmt3v106detail11write_floatIcNS0_8appenderEdEET0_S4_T1_NS0_12format_specsIT_EENS1_10locale_refE(ptr %retval.sroa.0.0.copyload.i, double noundef %3, i64 %agg.tmp11.sroa.0.0.copyload.i, i64 %agg.tmp11.sroa.2.0.copyload.i, ptr %retval.sroa.0.0.copyload.i7) br label %_ZN3fmt3v106detail5writeIcNS0_8appenderEdTnNSt9enable_ifIXsr17is_floating_pointIT1_EE5valueEiE4typeELi0EEET0_S8_S5_NS0_12format_specsIT_EENS1_10locale_refE.exit _ZN3fmt3v106detail5writeIcNS0_8appenderEdTnNSt9enable_ifIXsr17is_floating_pointIT1_EE5valueEiE4typeELi0EEET0_S8_S5_NS0_12format_specsIT_EENS1_10locale_refE.exit: ; preds = %land.lhs.true.i, %cond.false.i @@ -180856,7 +180855,7 @@ _ZN3fmt3v106detail5writeIcNS0_8appenderEdTnNSt9enable_ifIXsr17is_floating_pointI if.end.i: ; preds = %lor.lhs.false.i %retval.sroa.0.0.copyload.i10 = load ptr, ptr %ctx, align 8 - %5 = load double, ptr %view.coerce1, align 8 + %6 = load double, ptr %view.coerce1, align 8 %agg.tmp25.i.sroa.0.0.copyload = load i64, ptr %view.coerce0, align 8 %agg.tmp25.i.sroa.2.0.this1.i.sroa_idx = getelementptr inbounds i8, ptr %view.coerce0, i64 8 %agg.tmp25.i.sroa.2.0.copyload = load i64, ptr %agg.tmp25.i.sroa.2.0.this1.i.sroa_idx, align 8 @@ -180865,28 +180864,28 @@ if.end.i: ; preds = %lor.lhs.false.i call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %specs.i14) call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp4.i15) store i64 %agg.tmp25.i.sroa.0.0.copyload, ptr %specs.i14, align 8 - %6 = getelementptr inbounds i8, ptr %specs.i14, i64 8 - store i64 %agg.tmp25.i.sroa.2.0.copyload, ptr %6, align 8 - %7 = and i64 %agg.tmp25.i.sroa.2.0.copyload, 65536 - %bf.cast.not.i16 = icmp eq i64 %7, 0 + %7 = getelementptr inbounds i8, ptr %specs.i14, i64 8 + store i64 %agg.tmp25.i.sroa.2.0.copyload, ptr %7, align 8 + %8 = and i64 %agg.tmp25.i.sroa.2.0.copyload, 65536 + %bf.cast.not.i16 = icmp eq i64 %8, 0 br i1 %bf.cast.not.i16, label %cond.false.i23, label %land.lhs.true.i17 land.lhs.true.i17: ; preds = %if.end.i %type_.i.i.i.i18 = getelementptr inbounds i8, ptr %agg.tmp4.i15, i64 16 store i32 10, ptr %type_.i.i.i.i18, align 16, !alias.scope !6499 - store double %5, ptr %agg.tmp4.i15, align 16, !alias.scope !6499 + store double %6, ptr %agg.tmp4.i15, align 16, !alias.scope !6499 %call9.i19 = call noundef zeroext i1 @_ZN3fmt3v106detail9write_locENS0_8appenderENS0_9loc_valueERKNS0_12format_specsIcEENS1_10locale_refE(ptr %retval.sroa.0.0.copyload.i10, ptr noundef nonnull byval(%"class.fmt::v10::loc_value") align 16 %agg.tmp4.i15, ptr noundef nonnull align 4 dereferenceable(16) %specs.i14, ptr %retval.sroa.0.0.copyload.i12) br i1 %call9.i19, label %_ZN3fmt3v106detail5writeIcNS0_8appenderEdTnNSt9enable_ifIXsr17is_floating_pointIT1_EE5valueEiE4typeELi0EEET0_S8_S5_NS0_12format_specsIT_EENS1_10locale_refE.exit28, label %land.lhs.true.cond.false_crit_edge.i20 land.lhs.true.cond.false_crit_edge.i20: ; preds = %land.lhs.true.i17 %agg.tmp11.sroa.0.0.copyload.pre.i21 = load i64, ptr %specs.i14, align 8 - %agg.tmp11.sroa.2.0.copyload.pre.i22 = load i64, ptr %6, align 8 + %agg.tmp11.sroa.2.0.copyload.pre.i22 = load i64, ptr %7, align 8 br label %cond.false.i23 cond.false.i23: ; preds = %land.lhs.true.cond.false_crit_edge.i20, %if.end.i %agg.tmp11.sroa.2.0.copyload.i24 = phi i64 [ %agg.tmp11.sroa.2.0.copyload.pre.i22, %land.lhs.true.cond.false_crit_edge.i20 ], [ %agg.tmp25.i.sroa.2.0.copyload, %if.end.i ] %agg.tmp11.sroa.0.0.copyload.i25 = phi i64 [ %agg.tmp11.sroa.0.0.copyload.pre.i21, %land.lhs.true.cond.false_crit_edge.i20 ], [ %agg.tmp25.i.sroa.0.0.copyload, %if.end.i ] - %call16.i26 = call ptr @_ZN3fmt3v106detail11write_floatIcNS0_8appenderEdEET0_S4_T1_NS0_12format_specsIT_EENS1_10locale_refE(ptr %retval.sroa.0.0.copyload.i10, double noundef %5, i64 %agg.tmp11.sroa.0.0.copyload.i25, i64 %agg.tmp11.sroa.2.0.copyload.i24, ptr %retval.sroa.0.0.copyload.i12) + %call16.i26 = call ptr @_ZN3fmt3v106detail11write_floatIcNS0_8appenderEdEET0_S4_T1_NS0_12format_specsIT_EENS1_10locale_refE(ptr %retval.sroa.0.0.copyload.i10, double noundef %6, i64 %agg.tmp11.sroa.0.0.copyload.i25, i64 %agg.tmp11.sroa.2.0.copyload.i24, ptr %retval.sroa.0.0.copyload.i12) br label %_ZN3fmt3v106detail5writeIcNS0_8appenderEdTnNSt9enable_ifIXsr17is_floating_pointIT1_EE5valueEiE4typeELi0EEET0_S8_S5_NS0_12format_specsIT_EENS1_10locale_refE.exit28 _ZN3fmt3v106detail5writeIcNS0_8appenderEdTnNSt9enable_ifIXsr17is_floating_pointIT1_EE5valueEiE4typeELi0EEET0_S8_S5_NS0_12format_specsIT_EENS1_10locale_refE.exit28: ; preds = %land.lhs.true.i17, %cond.false.i23 @@ -189251,96 +189250,96 @@ if.then: ; preds = %entry if.then.i49: ; preds = %if.then call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(64) %specs.i32, ptr noundef nonnull align 8 dereferenceable(64) %this, i64 64, i1 false) - %width_ref6.i50 = getelementptr inbounds i8, ptr %specs.i32, i64 16 - call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %specs.i32, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %width_ref6.i50, ptr noundef nonnull align 8 dereferenceable(32) %ctx) + %4 = getelementptr inbounds i8, ptr %this, i64 16 + call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %specs.i32, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %4, ptr noundef nonnull align 8 dereferenceable(32) %ctx) %precision.i51 = getelementptr inbounds i8, ptr %specs.i32, i64 4 %precision_ref8.i52 = getelementptr inbounds i8, ptr %specs.i32, i64 40 call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_17precision_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %precision.i51, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %precision_ref8.i52, ptr noundef nonnull align 8 dereferenceable(32) %ctx) %retval.sroa.0.0.copyload.i42 = load ptr, ptr %ctx, align 8 - %4 = load i32, ptr %0, align 4 + %5 = load i32, ptr %0, align 4 %loc_.i = getelementptr inbounds i8, ptr %ctx, i64 24 %retval.sroa.0.0.copyload.i43 = load ptr, ptr %loc_.i, align 8 %localized.i = getelementptr inbounds i8, ptr %specs.i32, i64 9 %bf.load.i = load i16, ptr %localized.i, align 1 - %5 = and i16 %bf.load.i, 256 - %bf.cast.i.not = icmp eq i16 %5, 0 + %6 = and i16 %bf.load.i, 256 + %bf.cast.i.not = icmp eq i16 %6, 0 br i1 %bf.cast.i.not, label %if.end.i60, label %land.lhs.true.i land.lhs.true.i: ; preds = %if.then.i49 %type_.i.i.i = getelementptr inbounds i8, ptr %agg.tmp3.i, i64 16 store i32 1, ptr %type_.i.i.i, align 16, !alias.scope !6535 - %retval.i.sroa.0.0.insert.ext.i.i = zext i32 %4 to i64 + %retval.i.sroa.0.0.insert.ext.i.i = zext i32 %5 to i64 store i64 %retval.i.sroa.0.0.insert.ext.i.i, ptr %agg.tmp3.i, align 16, !alias.scope !6535 %call.i61 = call noundef zeroext i1 @_ZN3fmt3v106detail9write_locENS0_8appenderENS0_9loc_valueERKNS0_12format_specsIcEENS1_10locale_refE(ptr %retval.sroa.0.0.copyload.i42, ptr noundef nonnull byval(%"class.fmt::v10::loc_value") align 16 %agg.tmp3.i, ptr noundef nonnull align 4 dereferenceable(16) %specs.i32, ptr %retval.sroa.0.0.copyload.i43) br i1 %call.i61, label %_ZNK3fmt3v109formatterIicvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEERKiRT_.exit56, label %if.end.i60 if.end.i60: ; preds = %land.lhs.true.i, %if.then.i49 - %cmp.i.i = icmp slt i32 %4, 0 + %cmp.i.i = icmp slt i32 %5, 0 br i1 %cmp.i.i, label %if.then.i45, label %if.else.i if.then.i45: ; preds = %if.end.i60 - %sub.i = sub i32 0, %4 + %sub.i = sub i32 0, %5 br label %_ZN3fmt3v106detail18make_write_int_argIiEENS1_13write_int_argINSt11conditionalIXaalecl8num_bitsIT_EELi32EntLi0EEjNS4_IXlecl8num_bitsIS5_EELi64EEmoE4typeEE4typeEEES5_NS0_4sign4typeE.exit if.else.i: ; preds = %if.end.i60 %bf.load10.i = load i16, ptr %localized.i, align 1 - %6 = lshr i16 %bf.load10.i, 4 - %7 = and i16 %6, 7 - %bf.cast13.i = zext nneg i16 %7 to i64 + %7 = lshr i16 %bf.load10.i, 4 + %8 = and i16 %7, 7 + %bf.cast13.i = zext nneg i16 %8 to i64 %arrayidx.i = getelementptr inbounds [4 x i32], ptr @__const._ZN3fmt3v106detail18make_write_int_argIjEENS1_13write_int_argINSt11conditionalIXaalecl8num_bitsIT_EELi32EntLi0EEjNS4_IXlecl8num_bitsIS5_EELi64EEmoE4typeEE4typeEEES5_NS0_4sign4typeE.prefixes, i64 0, i64 %bf.cast13.i - %8 = load i32, ptr %arrayidx.i, align 4 - %9 = zext i32 %8 to i64 - %10 = shl nuw i64 %9, 32 + %9 = load i32, ptr %arrayidx.i, align 4 + %10 = zext i32 %9 to i64 + %11 = shl nuw i64 %10, 32 br label %_ZN3fmt3v106detail18make_write_int_argIiEENS1_13write_int_argINSt11conditionalIXaalecl8num_bitsIT_EELi32EntLi0EEjNS4_IXlecl8num_bitsIS5_EELi64EEmoE4typeEE4typeEEES5_NS0_4sign4typeE.exit _ZN3fmt3v106detail18make_write_int_argIiEENS1_13write_int_argINSt11conditionalIXaalecl8num_bitsIT_EELi32EntLi0EEjNS4_IXlecl8num_bitsIS5_EELi64EEmoE4typeEE4typeEEES5_NS0_4sign4typeE.exit: ; preds = %if.then.i45, %if.else.i - %prefix.0.i = phi i64 [ 72057787311456256, %if.then.i45 ], [ %10, %if.else.i ] - %abs_value.0.i = phi i32 [ %sub.i, %if.then.i45 ], [ %4, %if.else.i ] + %prefix.0.i = phi i64 [ 72057787311456256, %if.then.i45 ], [ %11, %if.else.i ] + %abs_value.0.i = phi i32 [ %sub.i, %if.then.i45 ], [ %5, %if.else.i ] %retval.sroa.0.0.insert.ext.i = zext i32 %abs_value.0.i to i64 %retval.sroa.0.0.insert.insert.i = or disjoint i64 %prefix.0.i, %retval.sroa.0.0.insert.ext.i %call19.i = call ptr @_ZN3fmt3v106detail18write_int_noinlineIcNS0_8appenderEjEET0_S4_NS1_13write_int_argIT1_EERKNS0_12format_specsIT_EENS1_10locale_refE(ptr %retval.sroa.0.0.copyload.i42, i64 %retval.sroa.0.0.insert.insert.i, ptr noundef nonnull align 4 dereferenceable(16) %specs.i32, ptr %retval.sroa.0.0.copyload.i43) br label %_ZNK3fmt3v109formatterIicvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEERKiRT_.exit56 if.end.i45: ; preds = %if.then - %11 = load i32, ptr %0, align 4 + %12 = load i32, ptr %0, align 4 %loc_.i47 = getelementptr inbounds i8, ptr %ctx, i64 24 %retval.sroa.0.0.copyload.i48 = load ptr, ptr %loc_.i47, align 8 %localized.i74 = getelementptr inbounds i8, ptr %this, i64 9 %bf.load.i75 = load i16, ptr %localized.i74, align 1 - %12 = and i16 %bf.load.i75, 256 - %bf.cast.i78.not = icmp eq i16 %12, 0 + %13 = and i16 %bf.load.i75, 256 + %bf.cast.i78.not = icmp eq i16 %13, 0 br i1 %bf.cast.i78.not, label %if.end.i79, label %land.lhs.true.i87 land.lhs.true.i87: ; preds = %if.end.i45 %type_.i.i.i49 = getelementptr inbounds i8, ptr %agg.tmp3.i69, i64 16 store i32 1, ptr %type_.i.i.i49, align 16, !alias.scope !6538 - %retval.i.sroa.0.0.insert.ext.i.i50 = zext i32 %11 to i64 + %retval.i.sroa.0.0.insert.ext.i.i50 = zext i32 %12 to i64 store i64 %retval.i.sroa.0.0.insert.ext.i.i50, ptr %agg.tmp3.i69, align 16, !alias.scope !6538 %call.i88 = tail call noundef zeroext i1 @_ZN3fmt3v106detail9write_locENS0_8appenderENS0_9loc_valueERKNS0_12format_specsIcEENS1_10locale_refE(ptr %retval.sroa.0.0.copyload.i, ptr noundef nonnull byval(%"class.fmt::v10::loc_value") align 16 %agg.tmp3.i69, ptr noundef nonnull align 4 dereferenceable(16) %this, ptr %retval.sroa.0.0.copyload.i48) br i1 %call.i88, label %_ZNK3fmt3v109formatterIicvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEERKiRT_.exit56, label %if.end.i79 if.end.i79: ; preds = %land.lhs.true.i87, %if.end.i45 - %cmp.i.i51 = icmp slt i32 %11, 0 + %cmp.i.i51 = icmp slt i32 %12, 0 br i1 %cmp.i.i51, label %if.then.i60, label %if.else.i52 if.then.i60: ; preds = %if.end.i79 - %sub.i61 = sub i32 0, %11 + %sub.i61 = sub i32 0, %12 br label %_ZN3fmt3v106detail18make_write_int_argIiEENS1_13write_int_argINSt11conditionalIXaalecl8num_bitsIT_EELi32EntLi0EEjNS4_IXlecl8num_bitsIS5_EELi64EEmoE4typeEE4typeEEES5_NS0_4sign4typeE.exit62 if.else.i52: ; preds = %if.end.i79 %bf.load10.i81 = load i16, ptr %localized.i74, align 1 - %13 = lshr i16 %bf.load10.i81, 4 - %14 = and i16 %13, 7 - %bf.cast13.i84 = zext nneg i16 %14 to i64 + %14 = lshr i16 %bf.load10.i81, 4 + %15 = and i16 %14, 7 + %bf.cast13.i84 = zext nneg i16 %15 to i64 %arrayidx.i54 = getelementptr inbounds [4 x i32], ptr @__const._ZN3fmt3v106detail18make_write_int_argIjEENS1_13write_int_argINSt11conditionalIXaalecl8num_bitsIT_EELi32EntLi0EEjNS4_IXlecl8num_bitsIS5_EELi64EEmoE4typeEE4typeEEES5_NS0_4sign4typeE.prefixes, i64 0, i64 %bf.cast13.i84 - %15 = load i32, ptr %arrayidx.i54, align 4 - %16 = zext i32 %15 to i64 - %17 = shl nuw i64 %16, 32 + %16 = load i32, ptr %arrayidx.i54, align 4 + %17 = zext i32 %16 to i64 + %18 = shl nuw i64 %17, 32 br label %_ZN3fmt3v106detail18make_write_int_argIiEENS1_13write_int_argINSt11conditionalIXaalecl8num_bitsIT_EELi32EntLi0EEjNS4_IXlecl8num_bitsIS5_EELi64EEmoE4typeEE4typeEEES5_NS0_4sign4typeE.exit62 _ZN3fmt3v106detail18make_write_int_argIiEENS1_13write_int_argINSt11conditionalIXaalecl8num_bitsIT_EELi32EntLi0EEjNS4_IXlecl8num_bitsIS5_EELi64EEmoE4typeEE4typeEEES5_NS0_4sign4typeE.exit62: ; preds = %if.then.i60, %if.else.i52 - %prefix.0.i56 = phi i64 [ 72057787311456256, %if.then.i60 ], [ %17, %if.else.i52 ] - %abs_value.0.i57 = phi i32 [ %sub.i61, %if.then.i60 ], [ %11, %if.else.i52 ] + %prefix.0.i56 = phi i64 [ 72057787311456256, %if.then.i60 ], [ %18, %if.else.i52 ] + %abs_value.0.i57 = phi i32 [ %sub.i61, %if.then.i60 ], [ %12, %if.else.i52 ] %retval.sroa.0.0.insert.ext.i58 = zext i32 %abs_value.0.i57 to i64 %retval.sroa.0.0.insert.insert.i59 = or disjoint i64 %prefix.0.i56, %retval.sroa.0.0.insert.ext.i58 %call19.i86 = tail call ptr @_ZN3fmt3v106detail18write_int_noinlineIcNS0_8appenderEjEET0_S4_NS1_13write_int_argIT1_EERKNS0_12format_specsIT_EENS1_10locale_refE(ptr %retval.sroa.0.0.copyload.i, i64 %retval.sroa.0.0.insert.insert.i59, ptr noundef nonnull align 4 dereferenceable(16) %this, ptr %retval.sroa.0.0.copyload.i48) @@ -189349,14 +189348,13 @@ _ZN3fmt3v106detail18make_write_int_argIiEENS1_13write_int_argINSt11conditionalIX _ZNK3fmt3v109formatterIicvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEERKiRT_.exit56: ; preds = %_ZN3fmt3v106detail18make_write_int_argIiEENS1_13write_int_argINSt11conditionalIXaalecl8num_bitsIT_EELi32EntLi0EEjNS4_IXlecl8num_bitsIS5_EELi64EEmoE4typeEE4typeEEES5_NS0_4sign4typeE.exit62, %land.lhs.true.i87, %_ZN3fmt3v106detail18make_write_int_argIiEENS1_13write_int_argINSt11conditionalIXaalecl8num_bitsIT_EELi32EntLi0EEjNS4_IXlecl8num_bitsIS5_EELi64EEmoE4typeEE4typeEEES5_NS0_4sign4typeE.exit, %land.lhs.true.i %retval.i28.sroa.0.0 = phi ptr [ %call19.i, %_ZN3fmt3v106detail18make_write_int_argIiEENS1_13write_int_argINSt11conditionalIXaalecl8num_bitsIT_EELi32EntLi0EEjNS4_IXlecl8num_bitsIS5_EELi64EEmoE4typeEE4typeEEES5_NS0_4sign4typeE.exit ], [ %retval.sroa.0.0.copyload.i42, %land.lhs.true.i ], [ %call19.i86, %_ZN3fmt3v106detail18make_write_int_argIiEENS1_13write_int_argINSt11conditionalIXaalecl8num_bitsIT_EELi32EntLi0EEjNS4_IXlecl8num_bitsIS5_EELi64EEmoE4typeEE4typeEEES5_NS0_4sign4typeE.exit62 ], [ %retval.sroa.0.0.copyload.i, %land.lhs.true.i87 ] %it.097 = getelementptr inbounds i8, ptr %0, i64 4 - %18 = load ptr, ptr %end, align 8 - %cmp7.not98 = icmp eq ptr %it.097, %18 + %19 = load ptr, ptr %end, align 8 + %cmp7.not98 = icmp eq ptr %it.097, %19 br i1 %cmp7.not98, label %if.end, label %while.body.lr.ph while.body.lr.ph: ; preds = %_ZNK3fmt3v109formatterIicvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEERKiRT_.exit56 %sep = getelementptr inbounds i8, ptr %value, i64 16 %size_.i = getelementptr inbounds i8, ptr %value, i64 24 - %width_ref6.i = getelementptr inbounds i8, ptr %specs.i, i64 16 %precision.i = getelementptr inbounds i8, ptr %specs.i, i64 4 %precision_ref8.i = getelementptr inbounds i8, ptr %specs.i, i64 40 %loc_.i64 = getelementptr inbounds i8, ptr %ctx, i64 24 @@ -189364,15 +189362,16 @@ while.body.lr.ph: ; preds = %_ZNK3fmt3v109format %type_.i.i.i66 = getelementptr inbounds i8, ptr %agg.tmp3.i97, i64 16 %localized.i130 = getelementptr inbounds i8, ptr %this, i64 9 %type_.i.i.i83 = getelementptr inbounds i8, ptr %agg.tmp3.i125, i64 16 + %20 = getelementptr inbounds i8, ptr %this, i64 16 br label %while.body while.body: ; preds = %while.body.lr.ph, %_ZNK3fmt3v109formatterIicvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEERKiRT_.exit %it.0100 = phi ptr [ %it.097, %while.body.lr.ph ], [ %it.0, %_ZNK3fmt3v109formatterIicvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEERKiRT_.exit ] %retval.sroa.0.099 = phi ptr [ %retval.i28.sroa.0.0, %while.body.lr.ph ], [ %retval.i.sroa.0.0, %_ZNK3fmt3v109formatterIicvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEERKiRT_.exit ] - %19 = load ptr, ptr %sep, align 8 - %20 = load i64, ptr %size_.i, align 8 - %add.ptr.i = getelementptr inbounds i8, ptr %19, i64 %20 - %cmp.not10.i.i = icmp eq i64 %20, 0 + %21 = load ptr, ptr %sep, align 8 + %22 = load i64, ptr %size_.i, align 8 + %add.ptr.i = getelementptr inbounds i8, ptr %21, i64 %22 + %cmp.not10.i.i = icmp eq i64 %22, 0 br i1 %cmp.not10.i.i, label %_ZN3fmt3v106detail8copy_strIcPKcEENS0_8appenderET0_S6_S5_.exit, label %while.body.lr.ph.i.i while.body.lr.ph.i.i: ; preds = %while.body @@ -189384,41 +189383,41 @@ while.body.lr.ph.i.i: ; preds = %while.body br label %while.body.i.i while.body.i.i: ; preds = %_ZSt20uninitialized_copy_nIPKcmPcET1_T_T0_S3_.exit.i.i, %while.body.lr.ph.i.i - %21 = phi i64 [ %.pre.i.i, %while.body.lr.ph.i.i ], [ %add7.i.i, %_ZSt20uninitialized_copy_nIPKcmPcET1_T_T0_S3_.exit.i.i ] - %begin.addr.011.i.i = phi ptr [ %19, %while.body.lr.ph.i.i ], [ %add.ptr8.i.i, %_ZSt20uninitialized_copy_nIPKcmPcET1_T_T0_S3_.exit.i.i ] + %23 = phi i64 [ %.pre.i.i, %while.body.lr.ph.i.i ], [ %add7.i.i, %_ZSt20uninitialized_copy_nIPKcmPcET1_T_T0_S3_.exit.i.i ] + %begin.addr.011.i.i = phi ptr [ %21, %while.body.lr.ph.i.i ], [ %add.ptr8.i.i, %_ZSt20uninitialized_copy_nIPKcmPcET1_T_T0_S3_.exit.i.i ] %sub.ptr.rhs.cast.i.i = ptrtoint ptr %begin.addr.011.i.i to i64 %sub.ptr.sub.i.i = sub i64 %sub.ptr.lhs.cast.i.i, %sub.ptr.rhs.cast.i.i - %add.i.i = add i64 %sub.ptr.sub.i.i, %21 - %22 = load i64, ptr %capacity_.i.i.i, align 8 - %cmp.i.i.i = icmp ult i64 %22, %add.i.i + %add.i.i = add i64 %sub.ptr.sub.i.i, %23 + %24 = load i64, ptr %capacity_.i.i.i, align 8 + %cmp.i.i.i = icmp ult i64 %24, %add.i.i br i1 %cmp.i.i.i, label %if.then.i.i.i, label %_ZN3fmt3v106detail6bufferIcE11try_reserveEm.exit.i.i if.then.i.i.i: ; preds = %while.body.i.i %vtable.i.i.i = load ptr, ptr %retval.sroa.0.099, align 8 - %23 = load ptr, ptr %vtable.i.i.i, align 8 - call void %23(ptr noundef nonnull align 8 dereferenceable(32) %retval.sroa.0.099, i64 noundef %add.i.i) + %25 = load ptr, ptr %vtable.i.i.i, align 8 + call void %25(ptr noundef nonnull align 8 dereferenceable(32) %retval.sroa.0.099, i64 noundef %add.i.i) %.pre12.i.i = load i64, ptr %capacity_.i.i.i, align 8 %.pre13.i.i = load i64, ptr %size_.i.i, align 8 br label %_ZN3fmt3v106detail6bufferIcE11try_reserveEm.exit.i.i _ZN3fmt3v106detail6bufferIcE11try_reserveEm.exit.i.i: ; preds = %if.then.i.i.i, %while.body.i.i - %24 = phi i64 [ %21, %while.body.i.i ], [ %.pre13.i.i, %if.then.i.i.i ] - %25 = phi i64 [ %22, %while.body.i.i ], [ %.pre12.i.i, %if.then.i.i.i ] - %sub.i.i = sub i64 %25, %24 + %26 = phi i64 [ %23, %while.body.i.i ], [ %.pre13.i.i, %if.then.i.i.i ] + %27 = phi i64 [ %24, %while.body.i.i ], [ %.pre12.i.i, %if.then.i.i.i ] + %sub.i.i = sub i64 %27, %26 %spec.select.i.i = call i64 @llvm.umin.i64(i64 %sub.i.i, i64 %sub.ptr.sub.i.i) %tobool.not.i.i.i.i.i.i.i.i.i.i.i = icmp eq i64 %spec.select.i.i, 0 br i1 %tobool.not.i.i.i.i.i.i.i.i.i.i.i, label %_ZSt20uninitialized_copy_nIPKcmPcET1_T_T0_S3_.exit.i.i, label %if.then.i.i.i.i.i.i.i.i.i.i.i if.then.i.i.i.i.i.i.i.i.i.i.i: ; preds = %_ZN3fmt3v106detail6bufferIcE11try_reserveEm.exit.i.i - %26 = load ptr, ptr %ptr_.i.i, align 8 - %add.ptr.i.i = getelementptr inbounds i8, ptr %26, i64 %24 + %28 = load ptr, ptr %ptr_.i.i, align 8 + %add.ptr.i.i = getelementptr inbounds i8, ptr %28, i64 %26 call void @llvm.memmove.p0.p0.i64(ptr align 1 %add.ptr.i.i, ptr align 1 %begin.addr.011.i.i, i64 %spec.select.i.i, i1 false) %.pre14.i.i = load i64, ptr %size_.i.i, align 8 br label %_ZSt20uninitialized_copy_nIPKcmPcET1_T_T0_S3_.exit.i.i _ZSt20uninitialized_copy_nIPKcmPcET1_T_T0_S3_.exit.i.i: ; preds = %if.then.i.i.i.i.i.i.i.i.i.i.i, %_ZN3fmt3v106detail6bufferIcE11try_reserveEm.exit.i.i - %27 = phi i64 [ %24, %_ZN3fmt3v106detail6bufferIcE11try_reserveEm.exit.i.i ], [ %.pre14.i.i, %if.then.i.i.i.i.i.i.i.i.i.i.i ] - %add7.i.i = add i64 %27, %spec.select.i.i + %29 = phi i64 [ %26, %_ZN3fmt3v106detail6bufferIcE11try_reserveEm.exit.i.i ], [ %.pre14.i.i, %if.then.i.i.i.i.i.i.i.i.i.i.i ] + %add7.i.i = add i64 %29, %spec.select.i.i store i64 %add7.i.i, ptr %size_.i.i, align 8 %add.ptr8.i.i = getelementptr inbounds i8, ptr %begin.addr.011.i.i, i64 %spec.select.i.i %cmp.not.i.i = icmp eq ptr %add.ptr8.i.i, %add.ptr.i @@ -189426,96 +189425,96 @@ _ZSt20uninitialized_copy_nIPKcmPcET1_T_T0_S3_.exit.i.i: ; preds = %if.then.i.i.i _ZN3fmt3v106detail8copy_strIcPKcEENS0_8appenderET0_S6_S5_.exit: ; preds = %_ZSt20uninitialized_copy_nIPKcmPcET1_T_T0_S3_.exit.i.i, %while.body store ptr %retval.sroa.0.099, ptr %ctx, align 8 - %28 = load i32, ptr %width_ref.i40, align 8 - %cmp.i.not = icmp eq i32 %28, 0 - %29 = load i32, ptr %precision_ref.i43, align 8 - %cmp4.i.not = icmp eq i32 %29, 0 + %30 = load i32, ptr %width_ref.i40, align 8 + %cmp.i.not = icmp eq i32 %30, 0 + %31 = load i32, ptr %precision_ref.i43, align 8 + %cmp4.i.not = icmp eq i32 %31, 0 %or.cond41 = select i1 %cmp.i.not, i1 %cmp4.i.not, i1 false br i1 %or.cond41, label %if.end.i, label %if.then.i if.then.i: ; preds = %_ZN3fmt3v106detail8copy_strIcPKcEENS0_8appenderET0_S6_S5_.exit call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(64) %specs.i, ptr noundef nonnull align 8 dereferenceable(64) %this, i64 64, i1 false) - call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %specs.i, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %width_ref6.i, ptr noundef nonnull align 8 dereferenceable(32) %ctx) + call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %specs.i, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %20, ptr noundef nonnull align 8 dereferenceable(32) %ctx) call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_17precision_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %precision.i, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %precision_ref8.i, ptr noundef nonnull align 8 dereferenceable(32) %ctx) %retval.sroa.0.0.copyload.i63 = load ptr, ptr %ctx, align 8 - %30 = load i32, ptr %it.0100, align 4 + %32 = load i32, ptr %it.0100, align 4 %retval.sroa.0.0.copyload.i65 = load ptr, ptr %loc_.i64, align 8 %bf.load.i103 = load i16, ptr %localized.i102, align 1 - %31 = and i16 %bf.load.i103, 256 - %bf.cast.i106.not = icmp eq i16 %31, 0 + %33 = and i16 %bf.load.i103, 256 + %bf.cast.i106.not = icmp eq i16 %33, 0 br i1 %bf.cast.i106.not, label %if.end.i107, label %land.lhs.true.i115 land.lhs.true.i115: ; preds = %if.then.i store i32 1, ptr %type_.i.i.i66, align 16, !alias.scope !6541 - %retval.i.sroa.0.0.insert.ext.i.i67 = zext i32 %30 to i64 + %retval.i.sroa.0.0.insert.ext.i.i67 = zext i32 %32 to i64 store i64 %retval.i.sroa.0.0.insert.ext.i.i67, ptr %agg.tmp3.i97, align 16, !alias.scope !6541 %call.i116 = call noundef zeroext i1 @_ZN3fmt3v106detail9write_locENS0_8appenderENS0_9loc_valueERKNS0_12format_specsIcEENS1_10locale_refE(ptr %retval.sroa.0.0.copyload.i63, ptr noundef nonnull byval(%"class.fmt::v10::loc_value") align 16 %agg.tmp3.i97, ptr noundef nonnull align 4 dereferenceable(16) %specs.i, ptr %retval.sroa.0.0.copyload.i65) br i1 %call.i116, label %_ZNK3fmt3v109formatterIicvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEERKiRT_.exit, label %if.end.i107 if.end.i107: ; preds = %land.lhs.true.i115, %if.then.i - %cmp.i.i68 = icmp slt i32 %30, 0 + %cmp.i.i68 = icmp slt i32 %32, 0 br i1 %cmp.i.i68, label %if.then.i77, label %if.else.i69 if.then.i77: ; preds = %if.end.i107 - %sub.i78 = sub i32 0, %30 + %sub.i78 = sub i32 0, %32 br label %_ZN3fmt3v106detail18make_write_int_argIiEENS1_13write_int_argINSt11conditionalIXaalecl8num_bitsIT_EELi32EntLi0EEjNS4_IXlecl8num_bitsIS5_EELi64EEmoE4typeEE4typeEEES5_NS0_4sign4typeE.exit79 if.else.i69: ; preds = %if.end.i107 %bf.load10.i109 = load i16, ptr %localized.i102, align 1 - %32 = lshr i16 %bf.load10.i109, 4 - %33 = and i16 %32, 7 - %bf.cast13.i112 = zext nneg i16 %33 to i64 + %34 = lshr i16 %bf.load10.i109, 4 + %35 = and i16 %34, 7 + %bf.cast13.i112 = zext nneg i16 %35 to i64 %arrayidx.i71 = getelementptr inbounds [4 x i32], ptr @__const._ZN3fmt3v106detail18make_write_int_argIjEENS1_13write_int_argINSt11conditionalIXaalecl8num_bitsIT_EELi32EntLi0EEjNS4_IXlecl8num_bitsIS5_EELi64EEmoE4typeEE4typeEEES5_NS0_4sign4typeE.prefixes, i64 0, i64 %bf.cast13.i112 - %34 = load i32, ptr %arrayidx.i71, align 4 - %35 = zext i32 %34 to i64 - %36 = shl nuw i64 %35, 32 + %36 = load i32, ptr %arrayidx.i71, align 4 + %37 = zext i32 %36 to i64 + %38 = shl nuw i64 %37, 32 br label %_ZN3fmt3v106detail18make_write_int_argIiEENS1_13write_int_argINSt11conditionalIXaalecl8num_bitsIT_EELi32EntLi0EEjNS4_IXlecl8num_bitsIS5_EELi64EEmoE4typeEE4typeEEES5_NS0_4sign4typeE.exit79 _ZN3fmt3v106detail18make_write_int_argIiEENS1_13write_int_argINSt11conditionalIXaalecl8num_bitsIT_EELi32EntLi0EEjNS4_IXlecl8num_bitsIS5_EELi64EEmoE4typeEE4typeEEES5_NS0_4sign4typeE.exit79: ; preds = %if.then.i77, %if.else.i69 - %prefix.0.i73 = phi i64 [ 72057787311456256, %if.then.i77 ], [ %36, %if.else.i69 ] - %abs_value.0.i74 = phi i32 [ %sub.i78, %if.then.i77 ], [ %30, %if.else.i69 ] + %prefix.0.i73 = phi i64 [ 72057787311456256, %if.then.i77 ], [ %38, %if.else.i69 ] + %abs_value.0.i74 = phi i32 [ %sub.i78, %if.then.i77 ], [ %32, %if.else.i69 ] %retval.sroa.0.0.insert.ext.i75 = zext i32 %abs_value.0.i74 to i64 %retval.sroa.0.0.insert.insert.i76 = or disjoint i64 %prefix.0.i73, %retval.sroa.0.0.insert.ext.i75 %call19.i114 = call ptr @_ZN3fmt3v106detail18write_int_noinlineIcNS0_8appenderEjEET0_S4_NS1_13write_int_argIT1_EERKNS0_12format_specsIT_EENS1_10locale_refE(ptr %retval.sroa.0.0.copyload.i63, i64 %retval.sroa.0.0.insert.insert.i76, ptr noundef nonnull align 4 dereferenceable(16) %specs.i, ptr %retval.sroa.0.0.copyload.i65) br label %_ZNK3fmt3v109formatterIicvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEERKiRT_.exit if.end.i: ; preds = %_ZN3fmt3v106detail8copy_strIcPKcEENS0_8appenderET0_S6_S5_.exit - %37 = load i32, ptr %it.0100, align 4 + %39 = load i32, ptr %it.0100, align 4 %retval.sroa.0.0.copyload.i82 = load ptr, ptr %loc_.i64, align 8 %bf.load.i131 = load i16, ptr %localized.i130, align 1 - %38 = and i16 %bf.load.i131, 256 - %bf.cast.i134.not = icmp eq i16 %38, 0 + %40 = and i16 %bf.load.i131, 256 + %bf.cast.i134.not = icmp eq i16 %40, 0 br i1 %bf.cast.i134.not, label %if.end.i135, label %land.lhs.true.i143 land.lhs.true.i143: ; preds = %if.end.i store i32 1, ptr %type_.i.i.i83, align 16, !alias.scope !6544 - %retval.i.sroa.0.0.insert.ext.i.i84 = zext i32 %37 to i64 + %retval.i.sroa.0.0.insert.ext.i.i84 = zext i32 %39 to i64 store i64 %retval.i.sroa.0.0.insert.ext.i.i84, ptr %agg.tmp3.i125, align 16, !alias.scope !6544 %call.i144 = call noundef zeroext i1 @_ZN3fmt3v106detail9write_locENS0_8appenderENS0_9loc_valueERKNS0_12format_specsIcEENS1_10locale_refE(ptr %retval.sroa.0.099, ptr noundef nonnull byval(%"class.fmt::v10::loc_value") align 16 %agg.tmp3.i125, ptr noundef nonnull align 4 dereferenceable(16) %this, ptr %retval.sroa.0.0.copyload.i82) br i1 %call.i144, label %_ZNK3fmt3v109formatterIicvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEERKiRT_.exit, label %if.end.i135 if.end.i135: ; preds = %land.lhs.true.i143, %if.end.i - %cmp.i.i85 = icmp slt i32 %37, 0 + %cmp.i.i85 = icmp slt i32 %39, 0 br i1 %cmp.i.i85, label %if.then.i94, label %if.else.i86 if.then.i94: ; preds = %if.end.i135 - %sub.i95 = sub i32 0, %37 + %sub.i95 = sub i32 0, %39 br label %_ZN3fmt3v106detail18make_write_int_argIiEENS1_13write_int_argINSt11conditionalIXaalecl8num_bitsIT_EELi32EntLi0EEjNS4_IXlecl8num_bitsIS5_EELi64EEmoE4typeEE4typeEEES5_NS0_4sign4typeE.exit96 if.else.i86: ; preds = %if.end.i135 %bf.load10.i137 = load i16, ptr %localized.i130, align 1 - %39 = lshr i16 %bf.load10.i137, 4 - %40 = and i16 %39, 7 - %bf.cast13.i140 = zext nneg i16 %40 to i64 + %41 = lshr i16 %bf.load10.i137, 4 + %42 = and i16 %41, 7 + %bf.cast13.i140 = zext nneg i16 %42 to i64 %arrayidx.i88 = getelementptr inbounds [4 x i32], ptr @__const._ZN3fmt3v106detail18make_write_int_argIjEENS1_13write_int_argINSt11conditionalIXaalecl8num_bitsIT_EELi32EntLi0EEjNS4_IXlecl8num_bitsIS5_EELi64EEmoE4typeEE4typeEEES5_NS0_4sign4typeE.prefixes, i64 0, i64 %bf.cast13.i140 - %41 = load i32, ptr %arrayidx.i88, align 4 - %42 = zext i32 %41 to i64 - %43 = shl nuw i64 %42, 32 + %43 = load i32, ptr %arrayidx.i88, align 4 + %44 = zext i32 %43 to i64 + %45 = shl nuw i64 %44, 32 br label %_ZN3fmt3v106detail18make_write_int_argIiEENS1_13write_int_argINSt11conditionalIXaalecl8num_bitsIT_EELi32EntLi0EEjNS4_IXlecl8num_bitsIS5_EELi64EEmoE4typeEE4typeEEES5_NS0_4sign4typeE.exit96 _ZN3fmt3v106detail18make_write_int_argIiEENS1_13write_int_argINSt11conditionalIXaalecl8num_bitsIT_EELi32EntLi0EEjNS4_IXlecl8num_bitsIS5_EELi64EEmoE4typeEE4typeEEES5_NS0_4sign4typeE.exit96: ; preds = %if.then.i94, %if.else.i86 - %prefix.0.i90 = phi i64 [ 72057787311456256, %if.then.i94 ], [ %43, %if.else.i86 ] - %abs_value.0.i91 = phi i32 [ %sub.i95, %if.then.i94 ], [ %37, %if.else.i86 ] + %prefix.0.i90 = phi i64 [ 72057787311456256, %if.then.i94 ], [ %45, %if.else.i86 ] + %abs_value.0.i91 = phi i32 [ %sub.i95, %if.then.i94 ], [ %39, %if.else.i86 ] %retval.sroa.0.0.insert.ext.i92 = zext i32 %abs_value.0.i91 to i64 %retval.sroa.0.0.insert.insert.i93 = or disjoint i64 %prefix.0.i90, %retval.sroa.0.0.insert.ext.i92 %call19.i142 = call ptr @_ZN3fmt3v106detail18write_int_noinlineIcNS0_8appenderEjEET0_S4_NS1_13write_int_argIT1_EERKNS0_12format_specsIT_EENS1_10locale_refE(ptr %retval.sroa.0.099, i64 %retval.sroa.0.0.insert.insert.i93, ptr noundef nonnull align 4 dereferenceable(16) %this, ptr %retval.sroa.0.0.copyload.i82) @@ -189524,8 +189523,8 @@ _ZN3fmt3v106detail18make_write_int_argIiEENS1_13write_int_argINSt11conditionalIX _ZNK3fmt3v109formatterIicvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEERKiRT_.exit: ; preds = %_ZN3fmt3v106detail18make_write_int_argIiEENS1_13write_int_argINSt11conditionalIXaalecl8num_bitsIT_EELi32EntLi0EEjNS4_IXlecl8num_bitsIS5_EELi64EEmoE4typeEE4typeEEES5_NS0_4sign4typeE.exit96, %land.lhs.true.i143, %_ZN3fmt3v106detail18make_write_int_argIiEENS1_13write_int_argINSt11conditionalIXaalecl8num_bitsIT_EELi32EntLi0EEjNS4_IXlecl8num_bitsIS5_EELi64EEmoE4typeEE4typeEEES5_NS0_4sign4typeE.exit79, %land.lhs.true.i115 %retval.i.sroa.0.0 = phi ptr [ %call19.i114, %_ZN3fmt3v106detail18make_write_int_argIiEENS1_13write_int_argINSt11conditionalIXaalecl8num_bitsIT_EELi32EntLi0EEjNS4_IXlecl8num_bitsIS5_EELi64EEmoE4typeEE4typeEEES5_NS0_4sign4typeE.exit79 ], [ %retval.sroa.0.0.copyload.i63, %land.lhs.true.i115 ], [ %call19.i142, %_ZN3fmt3v106detail18make_write_int_argIiEENS1_13write_int_argINSt11conditionalIXaalecl8num_bitsIT_EELi32EntLi0EEjNS4_IXlecl8num_bitsIS5_EELi64EEmoE4typeEE4typeEEES5_NS0_4sign4typeE.exit96 ], [ %retval.sroa.0.099, %land.lhs.true.i143 ] %it.0 = getelementptr inbounds i8, ptr %it.0100, i64 4 - %44 = load ptr, ptr %end, align 8 - %cmp7.not = icmp eq ptr %it.0, %44 + %46 = load ptr, ptr %end, align 8 + %cmp7.not = icmp eq ptr %it.0, %46 br i1 %cmp7.not, label %if.end, label %while.body, !llvm.loop !6547 if.end: ; preds = %_ZNK3fmt3v109formatterIicvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEERKiRT_.exit, %_ZNK3fmt3v109formatterIicvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEERKiRT_.exit56, %entry @@ -189601,13 +189600,13 @@ if.then: ; preds = %entry if.then.i55: ; preds = %if.then call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(64) %specs.i36, ptr noundef nonnull align 8 dereferenceable(64) %this, i64 64, i1 false) - %width_ref6.i56 = getelementptr inbounds i8, ptr %specs.i36, i64 16 - call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %specs.i36, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %width_ref6.i56, ptr noundef nonnull align 8 dereferenceable(32) %ctx) + %5 = getelementptr inbounds i8, ptr %this, i64 16 + call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %specs.i36, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %5, ptr noundef nonnull align 8 dereferenceable(32) %ctx) %precision.i57 = getelementptr inbounds i8, ptr %specs.i36, i64 4 %precision_ref8.i58 = getelementptr inbounds i8, ptr %specs.i36, i64 40 call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_17precision_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %precision.i57, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %precision_ref8.i58, ptr noundef nonnull align 8 dereferenceable(32) %ctx) %retval.sroa.0.0.copyload.i21 = load ptr, ptr %ctx, align 8 - %5 = load float, ptr %1, align 4 + %6 = load float, ptr %1, align 4 %agg.tmp11.i40.sroa.0.0.copyload = load i64, ptr %specs.i36, align 8 %agg.tmp11.i40.sroa.2.0.specs.i36.sroa_idx = getelementptr inbounds i8, ptr %specs.i36, i64 8 %agg.tmp11.i40.sroa.2.0.copyload = load i64, ptr %agg.tmp11.i40.sroa.2.0.specs.i36.sroa_idx, align 8 @@ -189616,30 +189615,30 @@ if.then.i55: ; preds = %if.then call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %specs.i24) call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp4.i) store i64 %agg.tmp11.i40.sroa.0.0.copyload, ptr %specs.i24, align 8 - %6 = getelementptr inbounds i8, ptr %specs.i24, i64 8 - store i64 %agg.tmp11.i40.sroa.2.0.copyload, ptr %6, align 8 - %7 = and i64 %agg.tmp11.i40.sroa.2.0.copyload, 65536 - %bf.cast.not.i = icmp eq i64 %7, 0 + %7 = getelementptr inbounds i8, ptr %specs.i24, i64 8 + store i64 %agg.tmp11.i40.sroa.2.0.copyload, ptr %7, align 8 + %8 = and i64 %agg.tmp11.i40.sroa.2.0.copyload, 65536 + %bf.cast.not.i = icmp eq i64 %8, 0 br i1 %bf.cast.not.i, label %cond.false.i, label %land.lhs.true.i land.lhs.true.i: ; preds = %if.then.i55 %type_.i.i.i.i = getelementptr inbounds i8, ptr %agg.tmp4.i, i64 16 store i32 9, ptr %type_.i.i.i.i, align 16, !alias.scope !6548 - %8 = bitcast float %5 to i32 - %retval.i.sroa.0.0.insert.ext.i.i.i = zext i32 %8 to i64 + %9 = bitcast float %6 to i32 + %retval.i.sroa.0.0.insert.ext.i.i.i = zext i32 %9 to i64 store i64 %retval.i.sroa.0.0.insert.ext.i.i.i, ptr %agg.tmp4.i, align 16, !alias.scope !6548 %call9.i = call noundef zeroext i1 @_ZN3fmt3v106detail9write_locENS0_8appenderENS0_9loc_valueERKNS0_12format_specsIcEENS1_10locale_refE(ptr %retval.sroa.0.0.copyload.i21, ptr noundef nonnull byval(%"class.fmt::v10::loc_value") align 16 %agg.tmp4.i, ptr noundef nonnull align 4 dereferenceable(16) %specs.i24, ptr %retval.sroa.0.0.copyload.i22) br i1 %call9.i, label %_ZN3fmt3v106detail5writeIcNS0_8appenderEfTnNSt9enable_ifIXsr17is_floating_pointIT1_EE5valueEiE4typeELi0EEET0_S8_S5_NS0_12format_specsIT_EENS1_10locale_refE.exit, label %land.lhs.true.cond.false_crit_edge.i land.lhs.true.cond.false_crit_edge.i: ; preds = %land.lhs.true.i %agg.tmp11.sroa.0.0.copyload.pre.i = load i64, ptr %specs.i24, align 8 - %agg.tmp11.sroa.2.0.copyload.pre.i = load i64, ptr %6, align 8 + %agg.tmp11.sroa.2.0.copyload.pre.i = load i64, ptr %7, align 8 br label %cond.false.i cond.false.i: ; preds = %land.lhs.true.cond.false_crit_edge.i, %if.then.i55 %agg.tmp11.sroa.2.0.copyload.i = phi i64 [ %agg.tmp11.sroa.2.0.copyload.pre.i, %land.lhs.true.cond.false_crit_edge.i ], [ %agg.tmp11.i40.sroa.2.0.copyload, %if.then.i55 ] %agg.tmp11.sroa.0.0.copyload.i = phi i64 [ %agg.tmp11.sroa.0.0.copyload.pre.i, %land.lhs.true.cond.false_crit_edge.i ], [ %agg.tmp11.i40.sroa.0.0.copyload, %if.then.i55 ] - %call16.i = call ptr @_ZN3fmt3v106detail11write_floatIcNS0_8appenderEfEET0_S4_T1_NS0_12format_specsIT_EENS1_10locale_refE(ptr %retval.sroa.0.0.copyload.i21, float noundef %5, i64 %agg.tmp11.sroa.0.0.copyload.i, i64 %agg.tmp11.sroa.2.0.copyload.i, ptr %retval.sroa.0.0.copyload.i22) + %call16.i = call ptr @_ZN3fmt3v106detail11write_floatIcNS0_8appenderEfEET0_S4_T1_NS0_12format_specsIT_EENS1_10locale_refE(ptr %retval.sroa.0.0.copyload.i21, float noundef %6, i64 %agg.tmp11.sroa.0.0.copyload.i, i64 %agg.tmp11.sroa.2.0.copyload.i, ptr %retval.sroa.0.0.copyload.i22) br label %_ZN3fmt3v106detail5writeIcNS0_8appenderEfTnNSt9enable_ifIXsr17is_floating_pointIT1_EE5valueEiE4typeELi0EEET0_S8_S5_NS0_12format_specsIT_EENS1_10locale_refE.exit _ZN3fmt3v106detail5writeIcNS0_8appenderEfTnNSt9enable_ifIXsr17is_floating_pointIT1_EE5valueEiE4typeELi0EEET0_S8_S5_NS0_12format_specsIT_EENS1_10locale_refE.exit: ; preds = %land.lhs.true.i, %cond.false.i @@ -189649,7 +189648,7 @@ _ZN3fmt3v106detail5writeIcNS0_8appenderEfTnNSt9enable_ifIXsr17is_floating_pointI br label %_ZNK3fmt3v109formatterIfcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEERKfRT_.exit62 if.end.i51: ; preds = %if.then - %9 = load float, ptr %1, align 4 + %10 = load float, ptr %1, align 4 %agg.tmp25.i43.sroa.0.0.copyload = load i64, ptr %this, align 8 %agg.tmp25.i43.sroa.2.0.this1.i45.sroa_idx = getelementptr inbounds i8, ptr %this, i64 8 %agg.tmp25.i43.sroa.2.0.copyload = load i64, ptr %agg.tmp25.i43.sroa.2.0.this1.i45.sroa_idx, align 8 @@ -189658,30 +189657,30 @@ if.end.i51: ; preds = %if.then call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %specs.i29) call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp4.i30) store i64 %agg.tmp25.i43.sroa.0.0.copyload, ptr %specs.i29, align 8 - %10 = getelementptr inbounds i8, ptr %specs.i29, i64 8 - store i64 %agg.tmp25.i43.sroa.2.0.copyload, ptr %10, align 8 - %11 = and i64 %agg.tmp25.i43.sroa.2.0.copyload, 65536 - %bf.cast.not.i31 = icmp eq i64 %11, 0 + %11 = getelementptr inbounds i8, ptr %specs.i29, i64 8 + store i64 %agg.tmp25.i43.sroa.2.0.copyload, ptr %11, align 8 + %12 = and i64 %agg.tmp25.i43.sroa.2.0.copyload, 65536 + %bf.cast.not.i31 = icmp eq i64 %12, 0 br i1 %bf.cast.not.i31, label %cond.false.i39, label %land.lhs.true.i32 land.lhs.true.i32: ; preds = %if.end.i51 %type_.i.i.i.i33 = getelementptr inbounds i8, ptr %agg.tmp4.i30, i64 16 store i32 9, ptr %type_.i.i.i.i33, align 16, !alias.scope !6551 - %12 = bitcast float %9 to i32 - %retval.i.sroa.0.0.insert.ext.i.i.i34 = zext i32 %12 to i64 + %13 = bitcast float %10 to i32 + %retval.i.sroa.0.0.insert.ext.i.i.i34 = zext i32 %13 to i64 store i64 %retval.i.sroa.0.0.insert.ext.i.i.i34, ptr %agg.tmp4.i30, align 16, !alias.scope !6551 %call9.i35 = call noundef zeroext i1 @_ZN3fmt3v106detail9write_locENS0_8appenderENS0_9loc_valueERKNS0_12format_specsIcEENS1_10locale_refE(ptr %retval.sroa.0.0.copyload.i, ptr noundef nonnull byval(%"class.fmt::v10::loc_value") align 16 %agg.tmp4.i30, ptr noundef nonnull align 4 dereferenceable(16) %specs.i29, ptr %retval.sroa.0.0.copyload.i27) br i1 %call9.i35, label %_ZN3fmt3v106detail5writeIcNS0_8appenderEfTnNSt9enable_ifIXsr17is_floating_pointIT1_EE5valueEiE4typeELi0EEET0_S8_S5_NS0_12format_specsIT_EENS1_10locale_refE.exit44, label %land.lhs.true.cond.false_crit_edge.i36 land.lhs.true.cond.false_crit_edge.i36: ; preds = %land.lhs.true.i32 %agg.tmp11.sroa.0.0.copyload.pre.i37 = load i64, ptr %specs.i29, align 8 - %agg.tmp11.sroa.2.0.copyload.pre.i38 = load i64, ptr %10, align 8 + %agg.tmp11.sroa.2.0.copyload.pre.i38 = load i64, ptr %11, align 8 br label %cond.false.i39 cond.false.i39: ; preds = %land.lhs.true.cond.false_crit_edge.i36, %if.end.i51 %agg.tmp11.sroa.2.0.copyload.i40 = phi i64 [ %agg.tmp11.sroa.2.0.copyload.pre.i38, %land.lhs.true.cond.false_crit_edge.i36 ], [ %agg.tmp25.i43.sroa.2.0.copyload, %if.end.i51 ] %agg.tmp11.sroa.0.0.copyload.i41 = phi i64 [ %agg.tmp11.sroa.0.0.copyload.pre.i37, %land.lhs.true.cond.false_crit_edge.i36 ], [ %agg.tmp25.i43.sroa.0.0.copyload, %if.end.i51 ] - %call16.i42 = call ptr @_ZN3fmt3v106detail11write_floatIcNS0_8appenderEfEET0_S4_T1_NS0_12format_specsIT_EENS1_10locale_refE(ptr %retval.sroa.0.0.copyload.i, float noundef %9, i64 %agg.tmp11.sroa.0.0.copyload.i41, i64 %agg.tmp11.sroa.2.0.copyload.i40, ptr %retval.sroa.0.0.copyload.i27) + %call16.i42 = call ptr @_ZN3fmt3v106detail11write_floatIcNS0_8appenderEfEET0_S4_T1_NS0_12format_specsIT_EENS1_10locale_refE(ptr %retval.sroa.0.0.copyload.i, float noundef %10, i64 %agg.tmp11.sroa.0.0.copyload.i41, i64 %agg.tmp11.sroa.2.0.copyload.i40, ptr %retval.sroa.0.0.copyload.i27) br label %_ZN3fmt3v106detail5writeIcNS0_8appenderEfTnNSt9enable_ifIXsr17is_floating_pointIT1_EE5valueEiE4typeELi0EEET0_S8_S5_NS0_12format_specsIT_EENS1_10locale_refE.exit44 _ZN3fmt3v106detail5writeIcNS0_8appenderEfTnNSt9enable_ifIXsr17is_floating_pointIT1_EE5valueEiE4typeELi0EEET0_S8_S5_NS0_12format_specsIT_EENS1_10locale_refE.exit44: ; preds = %land.lhs.true.i32, %cond.false.i39 @@ -189693,32 +189692,32 @@ _ZN3fmt3v106detail5writeIcNS0_8appenderEfTnNSt9enable_ifIXsr17is_floating_pointI _ZNK3fmt3v109formatterIfcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEERKfRT_.exit62: ; preds = %_ZN3fmt3v106detail5writeIcNS0_8appenderEfTnNSt9enable_ifIXsr17is_floating_pointIT1_EE5valueEiE4typeELi0EEET0_S8_S5_NS0_12format_specsIT_EENS1_10locale_refE.exit44, %_ZN3fmt3v106detail5writeIcNS0_8appenderEfTnNSt9enable_ifIXsr17is_floating_pointIT1_EE5valueEiE4typeELi0EEET0_S8_S5_NS0_12format_specsIT_EENS1_10locale_refE.exit %retval.i32.sroa.0.0 = phi ptr [ %retval.sroa.0.0.i, %_ZN3fmt3v106detail5writeIcNS0_8appenderEfTnNSt9enable_ifIXsr17is_floating_pointIT1_EE5valueEiE4typeELi0EEET0_S8_S5_NS0_12format_specsIT_EENS1_10locale_refE.exit ], [ %retval.sroa.0.0.i43, %_ZN3fmt3v106detail5writeIcNS0_8appenderEfTnNSt9enable_ifIXsr17is_floating_pointIT1_EE5valueEiE4typeELi0EEET0_S8_S5_NS0_12format_specsIT_EENS1_10locale_refE.exit44 ] %it.sroa.0.093 = getelementptr inbounds i8, ptr %1, i64 4 - %13 = load ptr, ptr %end, align 8 - %cmp.i45.not94 = icmp eq ptr %it.sroa.0.093, %13 + %14 = load ptr, ptr %end, align 8 + %cmp.i45.not94 = icmp eq ptr %it.sroa.0.093, %14 br i1 %cmp.i45.not94, label %if.end, label %while.body.lr.ph while.body.lr.ph: ; preds = %_ZNK3fmt3v109formatterIfcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEERKfRT_.exit62 %sep = getelementptr inbounds i8, ptr %value, i64 16 %size_.i = getelementptr inbounds i8, ptr %value, i64 24 - %width_ref6.i = getelementptr inbounds i8, ptr %specs.i, i64 16 %precision.i = getelementptr inbounds i8, ptr %specs.i, i64 4 %precision_ref8.i = getelementptr inbounds i8, ptr %specs.i, i64 40 %agg.tmp11.i.sroa.2.0.specs.i.sroa_idx = getelementptr inbounds i8, ptr %specs.i, i64 8 %loc_.i47 = getelementptr inbounds i8, ptr %ctx, i64 24 - %14 = getelementptr inbounds i8, ptr %specs.i50, i64 8 + %15 = getelementptr inbounds i8, ptr %specs.i50, i64 8 %type_.i.i.i.i54 = getelementptr inbounds i8, ptr %agg.tmp4.i51, i64 16 %agg.tmp25.i.sroa.2.0.this1.i.sroa_idx = getelementptr inbounds i8, ptr %this, i64 8 - %15 = getelementptr inbounds i8, ptr %specs.i70, i64 8 + %16 = getelementptr inbounds i8, ptr %specs.i70, i64 8 %type_.i.i.i.i74 = getelementptr inbounds i8, ptr %agg.tmp4.i71, i64 16 + %17 = getelementptr inbounds i8, ptr %this, i64 16 br label %while.body while.body: ; preds = %while.body.lr.ph, %_ZNK3fmt3v109formatterIfcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEERKfRT_.exit %it.sroa.0.096 = phi ptr [ %it.sroa.0.093, %while.body.lr.ph ], [ %it.sroa.0.0, %_ZNK3fmt3v109formatterIfcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEERKfRT_.exit ] %retval.sroa.0.095 = phi ptr [ %retval.i32.sroa.0.0, %while.body.lr.ph ], [ %retval.i.sroa.0.0, %_ZNK3fmt3v109formatterIfcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEERKfRT_.exit ] - %16 = load ptr, ptr %sep, align 8 - %17 = load i64, ptr %size_.i, align 8 - %add.ptr.i = getelementptr inbounds i8, ptr %16, i64 %17 - %cmp.not10.i.i = icmp eq i64 %17, 0 + %18 = load ptr, ptr %sep, align 8 + %19 = load i64, ptr %size_.i, align 8 + %add.ptr.i = getelementptr inbounds i8, ptr %18, i64 %19 + %cmp.not10.i.i = icmp eq i64 %19, 0 br i1 %cmp.not10.i.i, label %_ZN3fmt3v106detail8copy_strIcPKcEENS0_8appenderET0_S6_S5_.exit, label %while.body.lr.ph.i.i while.body.lr.ph.i.i: ; preds = %while.body @@ -189730,41 +189729,41 @@ while.body.lr.ph.i.i: ; preds = %while.body br label %while.body.i.i while.body.i.i: ; preds = %_ZSt20uninitialized_copy_nIPKcmPcET1_T_T0_S3_.exit.i.i, %while.body.lr.ph.i.i - %18 = phi i64 [ %.pre.i.i, %while.body.lr.ph.i.i ], [ %add7.i.i, %_ZSt20uninitialized_copy_nIPKcmPcET1_T_T0_S3_.exit.i.i ] - %begin.addr.011.i.i = phi ptr [ %16, %while.body.lr.ph.i.i ], [ %add.ptr8.i.i, %_ZSt20uninitialized_copy_nIPKcmPcET1_T_T0_S3_.exit.i.i ] + %20 = phi i64 [ %.pre.i.i, %while.body.lr.ph.i.i ], [ %add7.i.i, %_ZSt20uninitialized_copy_nIPKcmPcET1_T_T0_S3_.exit.i.i ] + %begin.addr.011.i.i = phi ptr [ %18, %while.body.lr.ph.i.i ], [ %add.ptr8.i.i, %_ZSt20uninitialized_copy_nIPKcmPcET1_T_T0_S3_.exit.i.i ] %sub.ptr.rhs.cast.i.i = ptrtoint ptr %begin.addr.011.i.i to i64 %sub.ptr.sub.i.i = sub i64 %sub.ptr.lhs.cast.i.i, %sub.ptr.rhs.cast.i.i - %add.i.i = add i64 %sub.ptr.sub.i.i, %18 - %19 = load i64, ptr %capacity_.i.i.i, align 8 - %cmp.i.i.i = icmp ult i64 %19, %add.i.i + %add.i.i = add i64 %sub.ptr.sub.i.i, %20 + %21 = load i64, ptr %capacity_.i.i.i, align 8 + %cmp.i.i.i = icmp ult i64 %21, %add.i.i br i1 %cmp.i.i.i, label %if.then.i.i.i, label %_ZN3fmt3v106detail6bufferIcE11try_reserveEm.exit.i.i if.then.i.i.i: ; preds = %while.body.i.i %vtable.i.i.i = load ptr, ptr %retval.sroa.0.095, align 8 - %20 = load ptr, ptr %vtable.i.i.i, align 8 - call void %20(ptr noundef nonnull align 8 dereferenceable(32) %retval.sroa.0.095, i64 noundef %add.i.i) + %22 = load ptr, ptr %vtable.i.i.i, align 8 + call void %22(ptr noundef nonnull align 8 dereferenceable(32) %retval.sroa.0.095, i64 noundef %add.i.i) %.pre12.i.i = load i64, ptr %capacity_.i.i.i, align 8 %.pre13.i.i = load i64, ptr %size_.i.i, align 8 br label %_ZN3fmt3v106detail6bufferIcE11try_reserveEm.exit.i.i _ZN3fmt3v106detail6bufferIcE11try_reserveEm.exit.i.i: ; preds = %if.then.i.i.i, %while.body.i.i - %21 = phi i64 [ %18, %while.body.i.i ], [ %.pre13.i.i, %if.then.i.i.i ] - %22 = phi i64 [ %19, %while.body.i.i ], [ %.pre12.i.i, %if.then.i.i.i ] - %sub.i.i = sub i64 %22, %21 + %23 = phi i64 [ %20, %while.body.i.i ], [ %.pre13.i.i, %if.then.i.i.i ] + %24 = phi i64 [ %21, %while.body.i.i ], [ %.pre12.i.i, %if.then.i.i.i ] + %sub.i.i = sub i64 %24, %23 %spec.select.i.i = call i64 @llvm.umin.i64(i64 %sub.i.i, i64 %sub.ptr.sub.i.i) %tobool.not.i.i.i.i.i.i.i.i.i.i.i = icmp eq i64 %spec.select.i.i, 0 br i1 %tobool.not.i.i.i.i.i.i.i.i.i.i.i, label %_ZSt20uninitialized_copy_nIPKcmPcET1_T_T0_S3_.exit.i.i, label %if.then.i.i.i.i.i.i.i.i.i.i.i if.then.i.i.i.i.i.i.i.i.i.i.i: ; preds = %_ZN3fmt3v106detail6bufferIcE11try_reserveEm.exit.i.i - %23 = load ptr, ptr %ptr_.i.i, align 8 - %add.ptr.i.i = getelementptr inbounds i8, ptr %23, i64 %21 + %25 = load ptr, ptr %ptr_.i.i, align 8 + %add.ptr.i.i = getelementptr inbounds i8, ptr %25, i64 %23 call void @llvm.memmove.p0.p0.i64(ptr align 1 %add.ptr.i.i, ptr align 1 %begin.addr.011.i.i, i64 %spec.select.i.i, i1 false) %.pre14.i.i = load i64, ptr %size_.i.i, align 8 br label %_ZSt20uninitialized_copy_nIPKcmPcET1_T_T0_S3_.exit.i.i _ZSt20uninitialized_copy_nIPKcmPcET1_T_T0_S3_.exit.i.i: ; preds = %if.then.i.i.i.i.i.i.i.i.i.i.i, %_ZN3fmt3v106detail6bufferIcE11try_reserveEm.exit.i.i - %24 = phi i64 [ %21, %_ZN3fmt3v106detail6bufferIcE11try_reserveEm.exit.i.i ], [ %.pre14.i.i, %if.then.i.i.i.i.i.i.i.i.i.i.i ] - %add7.i.i = add i64 %24, %spec.select.i.i + %26 = phi i64 [ %23, %_ZN3fmt3v106detail6bufferIcE11try_reserveEm.exit.i.i ], [ %.pre14.i.i, %if.then.i.i.i.i.i.i.i.i.i.i.i ] + %add7.i.i = add i64 %26, %spec.select.i.i store i64 %add7.i.i, ptr %size_.i.i, align 8 %add.ptr8.i.i = getelementptr inbounds i8, ptr %begin.addr.011.i.i, i64 %spec.select.i.i %cmp.not.i.i = icmp eq ptr %add.ptr8.i.i, %add.ptr.i @@ -189772,47 +189771,47 @@ _ZSt20uninitialized_copy_nIPKcmPcET1_T_T0_S3_.exit.i.i: ; preds = %if.then.i.i.i _ZN3fmt3v106detail8copy_strIcPKcEENS0_8appenderET0_S6_S5_.exit: ; preds = %_ZSt20uninitialized_copy_nIPKcmPcET1_T_T0_S3_.exit.i.i, %while.body store ptr %retval.sroa.0.095, ptr %ctx, align 8 - %25 = load i32, ptr %width_ref.i46, align 8 - %cmp.i.not = icmp eq i32 %25, 0 - %26 = load i32, ptr %precision_ref.i49, align 8 - %cmp4.i.not = icmp eq i32 %26, 0 + %27 = load i32, ptr %width_ref.i46, align 8 + %cmp.i.not = icmp eq i32 %27, 0 + %28 = load i32, ptr %precision_ref.i49, align 8 + %cmp4.i.not = icmp eq i32 %28, 0 %or.cond20 = select i1 %cmp.i.not, i1 %cmp4.i.not, i1 false br i1 %or.cond20, label %if.end.i, label %if.then.i if.then.i: ; preds = %_ZN3fmt3v106detail8copy_strIcPKcEENS0_8appenderET0_S6_S5_.exit call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(64) %specs.i, ptr noundef nonnull align 8 dereferenceable(64) %this, i64 64, i1 false) - call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %specs.i, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %width_ref6.i, ptr noundef nonnull align 8 dereferenceable(32) %ctx) + call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %specs.i, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %17, ptr noundef nonnull align 8 dereferenceable(32) %ctx) call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_17precision_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %precision.i, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %precision_ref8.i, ptr noundef nonnull align 8 dereferenceable(32) %ctx) %retval.sroa.0.0.copyload.i46 = load ptr, ptr %ctx, align 8 - %27 = load float, ptr %it.sroa.0.096, align 4 + %29 = load float, ptr %it.sroa.0.096, align 4 %agg.tmp11.i.sroa.0.0.copyload = load i64, ptr %specs.i, align 8 %agg.tmp11.i.sroa.2.0.copyload = load i64, ptr %agg.tmp11.i.sroa.2.0.specs.i.sroa_idx, align 8 %retval.sroa.0.0.copyload.i48 = load ptr, ptr %loc_.i47, align 8 call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %specs.i50) call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp4.i51) store i64 %agg.tmp11.i.sroa.0.0.copyload, ptr %specs.i50, align 8 - store i64 %agg.tmp11.i.sroa.2.0.copyload, ptr %14, align 8 - %28 = and i64 %agg.tmp11.i.sroa.2.0.copyload, 65536 - %bf.cast.not.i52 = icmp eq i64 %28, 0 + store i64 %agg.tmp11.i.sroa.2.0.copyload, ptr %15, align 8 + %30 = and i64 %agg.tmp11.i.sroa.2.0.copyload, 65536 + %bf.cast.not.i52 = icmp eq i64 %30, 0 br i1 %bf.cast.not.i52, label %cond.false.i60, label %land.lhs.true.i53 land.lhs.true.i53: ; preds = %if.then.i store i32 9, ptr %type_.i.i.i.i54, align 16, !alias.scope !6554 - %29 = bitcast float %27 to i32 - %retval.i.sroa.0.0.insert.ext.i.i.i55 = zext i32 %29 to i64 + %31 = bitcast float %29 to i32 + %retval.i.sroa.0.0.insert.ext.i.i.i55 = zext i32 %31 to i64 store i64 %retval.i.sroa.0.0.insert.ext.i.i.i55, ptr %agg.tmp4.i51, align 16, !alias.scope !6554 %call9.i56 = call noundef zeroext i1 @_ZN3fmt3v106detail9write_locENS0_8appenderENS0_9loc_valueERKNS0_12format_specsIcEENS1_10locale_refE(ptr %retval.sroa.0.0.copyload.i46, ptr noundef nonnull byval(%"class.fmt::v10::loc_value") align 16 %agg.tmp4.i51, ptr noundef nonnull align 4 dereferenceable(16) %specs.i50, ptr %retval.sroa.0.0.copyload.i48) br i1 %call9.i56, label %_ZN3fmt3v106detail5writeIcNS0_8appenderEfTnNSt9enable_ifIXsr17is_floating_pointIT1_EE5valueEiE4typeELi0EEET0_S8_S5_NS0_12format_specsIT_EENS1_10locale_refE.exit65, label %land.lhs.true.cond.false_crit_edge.i57 land.lhs.true.cond.false_crit_edge.i57: ; preds = %land.lhs.true.i53 %agg.tmp11.sroa.0.0.copyload.pre.i58 = load i64, ptr %specs.i50, align 8 - %agg.tmp11.sroa.2.0.copyload.pre.i59 = load i64, ptr %14, align 8 + %agg.tmp11.sroa.2.0.copyload.pre.i59 = load i64, ptr %15, align 8 br label %cond.false.i60 cond.false.i60: ; preds = %land.lhs.true.cond.false_crit_edge.i57, %if.then.i %agg.tmp11.sroa.2.0.copyload.i61 = phi i64 [ %agg.tmp11.sroa.2.0.copyload.pre.i59, %land.lhs.true.cond.false_crit_edge.i57 ], [ %agg.tmp11.i.sroa.2.0.copyload, %if.then.i ] %agg.tmp11.sroa.0.0.copyload.i62 = phi i64 [ %agg.tmp11.sroa.0.0.copyload.pre.i58, %land.lhs.true.cond.false_crit_edge.i57 ], [ %agg.tmp11.i.sroa.0.0.copyload, %if.then.i ] - %call16.i63 = call ptr @_ZN3fmt3v106detail11write_floatIcNS0_8appenderEfEET0_S4_T1_NS0_12format_specsIT_EENS1_10locale_refE(ptr %retval.sroa.0.0.copyload.i46, float noundef %27, i64 %agg.tmp11.sroa.0.0.copyload.i62, i64 %agg.tmp11.sroa.2.0.copyload.i61, ptr %retval.sroa.0.0.copyload.i48) + %call16.i63 = call ptr @_ZN3fmt3v106detail11write_floatIcNS0_8appenderEfEET0_S4_T1_NS0_12format_specsIT_EENS1_10locale_refE(ptr %retval.sroa.0.0.copyload.i46, float noundef %29, i64 %agg.tmp11.sroa.0.0.copyload.i62, i64 %agg.tmp11.sroa.2.0.copyload.i61, ptr %retval.sroa.0.0.copyload.i48) br label %_ZN3fmt3v106detail5writeIcNS0_8appenderEfTnNSt9enable_ifIXsr17is_floating_pointIT1_EE5valueEiE4typeELi0EEET0_S8_S5_NS0_12format_specsIT_EENS1_10locale_refE.exit65 _ZN3fmt3v106detail5writeIcNS0_8appenderEfTnNSt9enable_ifIXsr17is_floating_pointIT1_EE5valueEiE4typeELi0EEET0_S8_S5_NS0_12format_specsIT_EENS1_10locale_refE.exit65: ; preds = %land.lhs.true.i53, %cond.false.i60 @@ -189822,35 +189821,35 @@ _ZN3fmt3v106detail5writeIcNS0_8appenderEfTnNSt9enable_ifIXsr17is_floating_pointI br label %_ZNK3fmt3v109formatterIfcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEERKfRT_.exit if.end.i: ; preds = %_ZN3fmt3v106detail8copy_strIcPKcEENS0_8appenderET0_S6_S5_.exit - %30 = load float, ptr %it.sroa.0.096, align 4 + %32 = load float, ptr %it.sroa.0.096, align 4 %agg.tmp25.i.sroa.0.0.copyload = load i64, ptr %this, align 8 %agg.tmp25.i.sroa.2.0.copyload = load i64, ptr %agg.tmp25.i.sroa.2.0.this1.i.sroa_idx, align 8 %retval.sroa.0.0.copyload.i68 = load ptr, ptr %loc_.i47, align 8 call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %specs.i70) call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp4.i71) store i64 %agg.tmp25.i.sroa.0.0.copyload, ptr %specs.i70, align 8 - store i64 %agg.tmp25.i.sroa.2.0.copyload, ptr %15, align 8 - %31 = and i64 %agg.tmp25.i.sroa.2.0.copyload, 65536 - %bf.cast.not.i72 = icmp eq i64 %31, 0 + store i64 %agg.tmp25.i.sroa.2.0.copyload, ptr %16, align 8 + %33 = and i64 %agg.tmp25.i.sroa.2.0.copyload, 65536 + %bf.cast.not.i72 = icmp eq i64 %33, 0 br i1 %bf.cast.not.i72, label %cond.false.i80, label %land.lhs.true.i73 land.lhs.true.i73: ; preds = %if.end.i store i32 9, ptr %type_.i.i.i.i74, align 16, !alias.scope !6557 - %32 = bitcast float %30 to i32 - %retval.i.sroa.0.0.insert.ext.i.i.i75 = zext i32 %32 to i64 + %34 = bitcast float %32 to i32 + %retval.i.sroa.0.0.insert.ext.i.i.i75 = zext i32 %34 to i64 store i64 %retval.i.sroa.0.0.insert.ext.i.i.i75, ptr %agg.tmp4.i71, align 16, !alias.scope !6557 %call9.i76 = call noundef zeroext i1 @_ZN3fmt3v106detail9write_locENS0_8appenderENS0_9loc_valueERKNS0_12format_specsIcEENS1_10locale_refE(ptr %retval.sroa.0.095, ptr noundef nonnull byval(%"class.fmt::v10::loc_value") align 16 %agg.tmp4.i71, ptr noundef nonnull align 4 dereferenceable(16) %specs.i70, ptr %retval.sroa.0.0.copyload.i68) br i1 %call9.i76, label %_ZN3fmt3v106detail5writeIcNS0_8appenderEfTnNSt9enable_ifIXsr17is_floating_pointIT1_EE5valueEiE4typeELi0EEET0_S8_S5_NS0_12format_specsIT_EENS1_10locale_refE.exit85, label %land.lhs.true.cond.false_crit_edge.i77 land.lhs.true.cond.false_crit_edge.i77: ; preds = %land.lhs.true.i73 %agg.tmp11.sroa.0.0.copyload.pre.i78 = load i64, ptr %specs.i70, align 8 - %agg.tmp11.sroa.2.0.copyload.pre.i79 = load i64, ptr %15, align 8 + %agg.tmp11.sroa.2.0.copyload.pre.i79 = load i64, ptr %16, align 8 br label %cond.false.i80 cond.false.i80: ; preds = %land.lhs.true.cond.false_crit_edge.i77, %if.end.i %agg.tmp11.sroa.2.0.copyload.i81 = phi i64 [ %agg.tmp11.sroa.2.0.copyload.pre.i79, %land.lhs.true.cond.false_crit_edge.i77 ], [ %agg.tmp25.i.sroa.2.0.copyload, %if.end.i ] %agg.tmp11.sroa.0.0.copyload.i82 = phi i64 [ %agg.tmp11.sroa.0.0.copyload.pre.i78, %land.lhs.true.cond.false_crit_edge.i77 ], [ %agg.tmp25.i.sroa.0.0.copyload, %if.end.i ] - %call16.i83 = call ptr @_ZN3fmt3v106detail11write_floatIcNS0_8appenderEfEET0_S4_T1_NS0_12format_specsIT_EENS1_10locale_refE(ptr %retval.sroa.0.095, float noundef %30, i64 %agg.tmp11.sroa.0.0.copyload.i82, i64 %agg.tmp11.sroa.2.0.copyload.i81, ptr %retval.sroa.0.0.copyload.i68) + %call16.i83 = call ptr @_ZN3fmt3v106detail11write_floatIcNS0_8appenderEfEET0_S4_T1_NS0_12format_specsIT_EENS1_10locale_refE(ptr %retval.sroa.0.095, float noundef %32, i64 %agg.tmp11.sroa.0.0.copyload.i82, i64 %agg.tmp11.sroa.2.0.copyload.i81, ptr %retval.sroa.0.0.copyload.i68) br label %_ZN3fmt3v106detail5writeIcNS0_8appenderEfTnNSt9enable_ifIXsr17is_floating_pointIT1_EE5valueEiE4typeELi0EEET0_S8_S5_NS0_12format_specsIT_EENS1_10locale_refE.exit85 _ZN3fmt3v106detail5writeIcNS0_8appenderEfTnNSt9enable_ifIXsr17is_floating_pointIT1_EE5valueEiE4typeELi0EEET0_S8_S5_NS0_12format_specsIT_EENS1_10locale_refE.exit85: ; preds = %land.lhs.true.i73, %cond.false.i80 @@ -189862,8 +189861,8 @@ _ZN3fmt3v106detail5writeIcNS0_8appenderEfTnNSt9enable_ifIXsr17is_floating_pointI _ZNK3fmt3v109formatterIfcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEERKfRT_.exit: ; preds = %_ZN3fmt3v106detail5writeIcNS0_8appenderEfTnNSt9enable_ifIXsr17is_floating_pointIT1_EE5valueEiE4typeELi0EEET0_S8_S5_NS0_12format_specsIT_EENS1_10locale_refE.exit85, %_ZN3fmt3v106detail5writeIcNS0_8appenderEfTnNSt9enable_ifIXsr17is_floating_pointIT1_EE5valueEiE4typeELi0EEET0_S8_S5_NS0_12format_specsIT_EENS1_10locale_refE.exit65 %retval.i.sroa.0.0 = phi ptr [ %retval.sroa.0.0.i64, %_ZN3fmt3v106detail5writeIcNS0_8appenderEfTnNSt9enable_ifIXsr17is_floating_pointIT1_EE5valueEiE4typeELi0EEET0_S8_S5_NS0_12format_specsIT_EENS1_10locale_refE.exit65 ], [ %retval.sroa.0.0.i84, %_ZN3fmt3v106detail5writeIcNS0_8appenderEfTnNSt9enable_ifIXsr17is_floating_pointIT1_EE5valueEiE4typeELi0EEET0_S8_S5_NS0_12format_specsIT_EENS1_10locale_refE.exit85 ] %it.sroa.0.0 = getelementptr inbounds i8, ptr %it.sroa.0.096, i64 4 - %33 = load ptr, ptr %end, align 8 - %cmp.i45.not = icmp eq ptr %it.sroa.0.0, %33 + %35 = load ptr, ptr %end, align 8 + %cmp.i45.not = icmp eq ptr %it.sroa.0.0, %35 br i1 %cmp.i45.not, label %if.end, label %while.body, !llvm.loop !6560 if.end: ; preds = %_ZNK3fmt3v109formatterIfcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEERKfRT_.exit, %_ZNK3fmt3v109formatterIfcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEERKfRT_.exit62, %entry @@ -190625,19 +190624,19 @@ if.then: ; preds = %entry if.then.i49: ; preds = %if.then call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(64) %specs.i32, ptr noundef nonnull align 8 dereferenceable(64) %this, i64 64, i1 false) - %width_ref6.i50 = getelementptr inbounds i8, ptr %specs.i32, i64 16 - call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %specs.i32, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %width_ref6.i50, ptr noundef nonnull align 8 dereferenceable(32) %ctx) + %4 = getelementptr inbounds i8, ptr %this, i64 16 + call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %specs.i32, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %4, ptr noundef nonnull align 8 dereferenceable(32) %ctx) %precision.i51 = getelementptr inbounds i8, ptr %specs.i32, i64 4 %precision_ref8.i52 = getelementptr inbounds i8, ptr %specs.i32, i64 40 call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_17precision_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %precision.i51, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %precision_ref8.i52, ptr noundef nonnull align 8 dereferenceable(32) %ctx) %retval.sroa.0.0.copyload.i26 = load ptr, ptr %ctx, align 8 - %4 = load ptr, ptr %0, align 8 - %5 = ptrtoint ptr %4 to i64 + %5 = load ptr, ptr %0, align 8 + %6 = ptrtoint ptr %5 to i64 call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %write.i.i) br label %do.body.i.i.i.i do.body.i.i.i.i: ; preds = %do.body.i.i.i.i, %if.then.i49 - %m.addr.0.i.i.i.i = phi i64 [ %5, %if.then.i49 ], [ %shr.i.i.i.i, %do.body.i.i.i.i ] + %m.addr.0.i.i.i.i = phi i64 [ %6, %if.then.i49 ], [ %shr.i.i.i.i, %do.body.i.i.i.i ] %num_digits.0.i.i.i.i = phi i32 [ 0, %if.then.i49 ], [ %inc.i.i.i.i, %do.body.i.i.i.i ] %inc.i.i.i.i = add nuw nsw i32 %num_digits.0.i.i.i.i, 1 %shr.i.i.i.i = lshr i64 %m.addr.0.i.i.i.i, 4 @@ -190645,9 +190644,9 @@ do.body.i.i.i.i: ; preds = %do.body.i.i.i.i, %i br i1 %cmp.not.i.i.i.i, label %_ZN3fmt3v106detail5writeIcNS0_8appenderEvTnNSt9enable_ifIXsr3std7is_sameIT1_vEE5valueEiE4typeELi0EEET0_S8_PKS5_RKNS0_12format_specsIT_EENS1_10locale_refE.exit, label %do.body.i.i.i.i, !llvm.loop !4642 _ZN3fmt3v106detail5writeIcNS0_8appenderEvTnNSt9enable_ifIXsr3std7is_sameIT1_vEE5valueEiE4typeELi0EEET0_S8_PKS5_RKNS0_12format_specsIT_EENS1_10locale_refE.exit: ; preds = %do.body.i.i.i.i - store i64 %5, ptr %write.i.i, align 8 - %6 = getelementptr inbounds i8, ptr %write.i.i, i64 8 - store i32 %inc.i.i.i.i, ptr %6, align 8 + store i64 %6, ptr %write.i.i, align 8 + %7 = getelementptr inbounds i8, ptr %write.i.i, i64 8 + store i32 %inc.i.i.i.i, ptr %7, align 8 %narrow.i.i = add nuw i32 %num_digits.0.i.i.i.i, 3 %add.i.i = zext i32 %narrow.i.i to i64 %call.i.i.i = call ptr @_ZN3fmt3v106detail12write_paddedILNS0_5align4typeE2ENS0_8appenderEcRZNS1_9write_ptrIcS5_mEET0_S7_T1_PKNS0_12format_specsIT_EEEUlS5_E_EES7_S7_RKNS9_IS8_EEmmOT2_(ptr %retval.sroa.0.0.copyload.i26, ptr noundef nonnull align 4 dereferenceable(16) %specs.i32, i64 noundef %add.i.i, i64 noundef %add.i.i, ptr noundef nonnull align 8 dereferenceable(12) %write.i.i) @@ -190655,13 +190654,13 @@ _ZN3fmt3v106detail5writeIcNS0_8appenderEvTnNSt9enable_ifIXsr3std7is_sameIT1_vEE5 br label %_ZNK3fmt3v109formatterIPKvcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEERKS3_RT_.exit56 if.end.i45: ; preds = %if.then - %7 = load ptr, ptr %0, align 8 - %8 = ptrtoint ptr %7 to i64 + %8 = load ptr, ptr %0, align 8 + %9 = ptrtoint ptr %8 to i64 call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %write.i.i31) br label %do.body.i.i.i.i32 do.body.i.i.i.i32: ; preds = %do.body.i.i.i.i32, %if.end.i45 - %m.addr.0.i.i.i.i33 = phi i64 [ %8, %if.end.i45 ], [ %shr.i.i.i.i36, %do.body.i.i.i.i32 ] + %m.addr.0.i.i.i.i33 = phi i64 [ %9, %if.end.i45 ], [ %shr.i.i.i.i36, %do.body.i.i.i.i32 ] %num_digits.0.i.i.i.i34 = phi i32 [ 0, %if.end.i45 ], [ %inc.i.i.i.i35, %do.body.i.i.i.i32 ] %inc.i.i.i.i35 = add nuw nsw i32 %num_digits.0.i.i.i.i34, 1 %shr.i.i.i.i36 = lshr i64 %m.addr.0.i.i.i.i33, 4 @@ -190669,9 +190668,9 @@ do.body.i.i.i.i32: ; preds = %do.body.i.i.i.i32, br i1 %cmp.not.i.i.i.i37, label %_ZN3fmt3v106detail5writeIcNS0_8appenderEvTnNSt9enable_ifIXsr3std7is_sameIT1_vEE5valueEiE4typeELi0EEET0_S8_PKS5_RKNS0_12format_specsIT_EENS1_10locale_refE.exit41, label %do.body.i.i.i.i32, !llvm.loop !4642 _ZN3fmt3v106detail5writeIcNS0_8appenderEvTnNSt9enable_ifIXsr3std7is_sameIT1_vEE5valueEiE4typeELi0EEET0_S8_PKS5_RKNS0_12format_specsIT_EENS1_10locale_refE.exit41: ; preds = %do.body.i.i.i.i32 - store i64 %8, ptr %write.i.i31, align 8 - %9 = getelementptr inbounds i8, ptr %write.i.i31, i64 8 - store i32 %inc.i.i.i.i35, ptr %9, align 8 + store i64 %9, ptr %write.i.i31, align 8 + %10 = getelementptr inbounds i8, ptr %write.i.i31, i64 8 + store i32 %inc.i.i.i.i35, ptr %10, align 8 %narrow.i.i38 = add nuw i32 %num_digits.0.i.i.i.i34, 3 %add.i.i39 = zext i32 %narrow.i.i38 to i64 %call.i.i.i40 = call ptr @_ZN3fmt3v106detail12write_paddedILNS0_5align4typeE2ENS0_8appenderEcRZNS1_9write_ptrIcS5_mEET0_S7_T1_PKNS0_12format_specsIT_EEEUlS5_E_EES7_S7_RKNS9_IS8_EEmmOT2_(ptr %retval.sroa.0.0.copyload.i, ptr noundef nonnull align 4 dereferenceable(16) %this, i64 noundef %add.i.i39, i64 noundef %add.i.i39, ptr noundef nonnull align 8 dereferenceable(12) %write.i.i31) @@ -190681,27 +190680,27 @@ _ZN3fmt3v106detail5writeIcNS0_8appenderEvTnNSt9enable_ifIXsr3std7is_sameIT1_vEE5 _ZNK3fmt3v109formatterIPKvcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEERKS3_RT_.exit56: ; preds = %_ZN3fmt3v106detail5writeIcNS0_8appenderEvTnNSt9enable_ifIXsr3std7is_sameIT1_vEE5valueEiE4typeELi0EEET0_S8_PKS5_RKNS0_12format_specsIT_EENS1_10locale_refE.exit41, %_ZN3fmt3v106detail5writeIcNS0_8appenderEvTnNSt9enable_ifIXsr3std7is_sameIT1_vEE5valueEiE4typeELi0EEET0_S8_PKS5_RKNS0_12format_specsIT_EENS1_10locale_refE.exit %retval.i28.sroa.0.0 = phi ptr [ %call.i.i.i, %_ZN3fmt3v106detail5writeIcNS0_8appenderEvTnNSt9enable_ifIXsr3std7is_sameIT1_vEE5valueEiE4typeELi0EEET0_S8_PKS5_RKNS0_12format_specsIT_EENS1_10locale_refE.exit ], [ %call.i.i.i40, %_ZN3fmt3v106detail5writeIcNS0_8appenderEvTnNSt9enable_ifIXsr3std7is_sameIT1_vEE5valueEiE4typeELi0EEET0_S8_PKS5_RKNS0_12format_specsIT_EENS1_10locale_refE.exit41 ] %it.071 = getelementptr inbounds i8, ptr %0, i64 8 - %10 = load ptr, ptr %end, align 8 - %cmp7.not72 = icmp eq ptr %it.071, %10 + %11 = load ptr, ptr %end, align 8 + %cmp7.not72 = icmp eq ptr %it.071, %11 br i1 %cmp7.not72, label %if.end, label %while.body.lr.ph while.body.lr.ph: ; preds = %_ZNK3fmt3v109formatterIPKvcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEERKS3_RT_.exit56 %sep = getelementptr inbounds i8, ptr %value, i64 16 %size_.i = getelementptr inbounds i8, ptr %value, i64 24 - %width_ref6.i = getelementptr inbounds i8, ptr %specs.i, i64 16 %precision.i = getelementptr inbounds i8, ptr %specs.i, i64 4 %precision_ref8.i = getelementptr inbounds i8, ptr %specs.i, i64 40 - %11 = getelementptr inbounds i8, ptr %write.i.i46, i64 8 - %12 = getelementptr inbounds i8, ptr %write.i.i60, i64 8 + %12 = getelementptr inbounds i8, ptr %write.i.i46, i64 8 + %13 = getelementptr inbounds i8, ptr %write.i.i60, i64 8 + %14 = getelementptr inbounds i8, ptr %this, i64 16 br label %while.body while.body: ; preds = %while.body.lr.ph, %_ZNK3fmt3v109formatterIPKvcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEERKS3_RT_.exit %it.074 = phi ptr [ %it.071, %while.body.lr.ph ], [ %it.0, %_ZNK3fmt3v109formatterIPKvcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEERKS3_RT_.exit ] %retval.sroa.0.073 = phi ptr [ %retval.i28.sroa.0.0, %while.body.lr.ph ], [ %retval.i.sroa.0.0, %_ZNK3fmt3v109formatterIPKvcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEERKS3_RT_.exit ] - %13 = load ptr, ptr %sep, align 8 - %14 = load i64, ptr %size_.i, align 8 - %add.ptr.i = getelementptr inbounds i8, ptr %13, i64 %14 - %cmp.not10.i.i = icmp eq i64 %14, 0 + %15 = load ptr, ptr %sep, align 8 + %16 = load i64, ptr %size_.i, align 8 + %add.ptr.i = getelementptr inbounds i8, ptr %15, i64 %16 + %cmp.not10.i.i = icmp eq i64 %16, 0 br i1 %cmp.not10.i.i, label %_ZN3fmt3v106detail8copy_strIcPKcEENS0_8appenderET0_S6_S5_.exit, label %while.body.lr.ph.i.i while.body.lr.ph.i.i: ; preds = %while.body @@ -190713,41 +190712,41 @@ while.body.lr.ph.i.i: ; preds = %while.body br label %while.body.i.i while.body.i.i: ; preds = %_ZSt20uninitialized_copy_nIPKcmPcET1_T_T0_S3_.exit.i.i, %while.body.lr.ph.i.i - %15 = phi i64 [ %.pre.i.i, %while.body.lr.ph.i.i ], [ %add7.i.i, %_ZSt20uninitialized_copy_nIPKcmPcET1_T_T0_S3_.exit.i.i ] - %begin.addr.011.i.i = phi ptr [ %13, %while.body.lr.ph.i.i ], [ %add.ptr8.i.i, %_ZSt20uninitialized_copy_nIPKcmPcET1_T_T0_S3_.exit.i.i ] + %17 = phi i64 [ %.pre.i.i, %while.body.lr.ph.i.i ], [ %add7.i.i, %_ZSt20uninitialized_copy_nIPKcmPcET1_T_T0_S3_.exit.i.i ] + %begin.addr.011.i.i = phi ptr [ %15, %while.body.lr.ph.i.i ], [ %add.ptr8.i.i, %_ZSt20uninitialized_copy_nIPKcmPcET1_T_T0_S3_.exit.i.i ] %sub.ptr.rhs.cast.i.i = ptrtoint ptr %begin.addr.011.i.i to i64 %sub.ptr.sub.i.i = sub i64 %sub.ptr.lhs.cast.i.i, %sub.ptr.rhs.cast.i.i - %add.i.i42 = add i64 %sub.ptr.sub.i.i, %15 - %16 = load i64, ptr %capacity_.i.i.i, align 8 - %cmp.i.i.i = icmp ult i64 %16, %add.i.i42 + %add.i.i42 = add i64 %sub.ptr.sub.i.i, %17 + %18 = load i64, ptr %capacity_.i.i.i, align 8 + %cmp.i.i.i = icmp ult i64 %18, %add.i.i42 br i1 %cmp.i.i.i, label %if.then.i.i.i, label %_ZN3fmt3v106detail6bufferIcE11try_reserveEm.exit.i.i if.then.i.i.i: ; preds = %while.body.i.i %vtable.i.i.i = load ptr, ptr %retval.sroa.0.073, align 8 - %17 = load ptr, ptr %vtable.i.i.i, align 8 - call void %17(ptr noundef nonnull align 8 dereferenceable(32) %retval.sroa.0.073, i64 noundef %add.i.i42) + %19 = load ptr, ptr %vtable.i.i.i, align 8 + call void %19(ptr noundef nonnull align 8 dereferenceable(32) %retval.sroa.0.073, i64 noundef %add.i.i42) %.pre12.i.i = load i64, ptr %capacity_.i.i.i, align 8 %.pre13.i.i = load i64, ptr %size_.i.i, align 8 br label %_ZN3fmt3v106detail6bufferIcE11try_reserveEm.exit.i.i _ZN3fmt3v106detail6bufferIcE11try_reserveEm.exit.i.i: ; preds = %if.then.i.i.i, %while.body.i.i - %18 = phi i64 [ %15, %while.body.i.i ], [ %.pre13.i.i, %if.then.i.i.i ] - %19 = phi i64 [ %16, %while.body.i.i ], [ %.pre12.i.i, %if.then.i.i.i ] - %sub.i.i = sub i64 %19, %18 + %20 = phi i64 [ %17, %while.body.i.i ], [ %.pre13.i.i, %if.then.i.i.i ] + %21 = phi i64 [ %18, %while.body.i.i ], [ %.pre12.i.i, %if.then.i.i.i ] + %sub.i.i = sub i64 %21, %20 %spec.select.i.i = call i64 @llvm.umin.i64(i64 %sub.i.i, i64 %sub.ptr.sub.i.i) %tobool.not.i.i.i.i.i.i.i.i.i.i.i = icmp eq i64 %spec.select.i.i, 0 br i1 %tobool.not.i.i.i.i.i.i.i.i.i.i.i, label %_ZSt20uninitialized_copy_nIPKcmPcET1_T_T0_S3_.exit.i.i, label %if.then.i.i.i.i.i.i.i.i.i.i.i if.then.i.i.i.i.i.i.i.i.i.i.i: ; preds = %_ZN3fmt3v106detail6bufferIcE11try_reserveEm.exit.i.i - %20 = load ptr, ptr %ptr_.i.i, align 8 - %add.ptr.i.i = getelementptr inbounds i8, ptr %20, i64 %18 + %22 = load ptr, ptr %ptr_.i.i, align 8 + %add.ptr.i.i = getelementptr inbounds i8, ptr %22, i64 %20 call void @llvm.memmove.p0.p0.i64(ptr align 1 %add.ptr.i.i, ptr align 1 %begin.addr.011.i.i, i64 %spec.select.i.i, i1 false) %.pre14.i.i = load i64, ptr %size_.i.i, align 8 br label %_ZSt20uninitialized_copy_nIPKcmPcET1_T_T0_S3_.exit.i.i _ZSt20uninitialized_copy_nIPKcmPcET1_T_T0_S3_.exit.i.i: ; preds = %if.then.i.i.i.i.i.i.i.i.i.i.i, %_ZN3fmt3v106detail6bufferIcE11try_reserveEm.exit.i.i - %21 = phi i64 [ %18, %_ZN3fmt3v106detail6bufferIcE11try_reserveEm.exit.i.i ], [ %.pre14.i.i, %if.then.i.i.i.i.i.i.i.i.i.i.i ] - %add7.i.i = add i64 %21, %spec.select.i.i + %23 = phi i64 [ %20, %_ZN3fmt3v106detail6bufferIcE11try_reserveEm.exit.i.i ], [ %.pre14.i.i, %if.then.i.i.i.i.i.i.i.i.i.i.i ] + %add7.i.i = add i64 %23, %spec.select.i.i store i64 %add7.i.i, ptr %size_.i.i, align 8 %add.ptr8.i.i = getelementptr inbounds i8, ptr %begin.addr.011.i.i, i64 %spec.select.i.i %cmp.not.i.i = icmp eq ptr %add.ptr8.i.i, %add.ptr.i @@ -190755,25 +190754,25 @@ _ZSt20uninitialized_copy_nIPKcmPcET1_T_T0_S3_.exit.i.i: ; preds = %if.then.i.i.i _ZN3fmt3v106detail8copy_strIcPKcEENS0_8appenderET0_S6_S5_.exit: ; preds = %_ZSt20uninitialized_copy_nIPKcmPcET1_T_T0_S3_.exit.i.i, %while.body store ptr %retval.sroa.0.073, ptr %ctx, align 8 - %22 = load i32, ptr %width_ref.i40, align 8 - %cmp.i.not = icmp eq i32 %22, 0 - %23 = load i32, ptr %precision_ref.i43, align 8 - %cmp4.i.not = icmp eq i32 %23, 0 + %24 = load i32, ptr %width_ref.i40, align 8 + %cmp.i.not = icmp eq i32 %24, 0 + %25 = load i32, ptr %precision_ref.i43, align 8 + %cmp4.i.not = icmp eq i32 %25, 0 %or.cond25 = select i1 %cmp.i.not, i1 %cmp4.i.not, i1 false br i1 %or.cond25, label %if.end.i, label %if.then.i if.then.i: ; preds = %_ZN3fmt3v106detail8copy_strIcPKcEENS0_8appenderET0_S6_S5_.exit call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(64) %specs.i, ptr noundef nonnull align 8 dereferenceable(64) %this, i64 64, i1 false) - call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %specs.i, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %width_ref6.i, ptr noundef nonnull align 8 dereferenceable(32) %ctx) + call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %specs.i, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %14, ptr noundef nonnull align 8 dereferenceable(32) %ctx) call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_17precision_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %precision.i, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %precision_ref8.i, ptr noundef nonnull align 8 dereferenceable(32) %ctx) %retval.sroa.0.0.copyload.i43 = load ptr, ptr %ctx, align 8 - %24 = load ptr, ptr %it.074, align 8 - %25 = ptrtoint ptr %24 to i64 + %26 = load ptr, ptr %it.074, align 8 + %27 = ptrtoint ptr %26 to i64 call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %write.i.i46) br label %do.body.i.i.i.i47 do.body.i.i.i.i47: ; preds = %do.body.i.i.i.i47, %if.then.i - %m.addr.0.i.i.i.i48 = phi i64 [ %25, %if.then.i ], [ %shr.i.i.i.i51, %do.body.i.i.i.i47 ] + %m.addr.0.i.i.i.i48 = phi i64 [ %27, %if.then.i ], [ %shr.i.i.i.i51, %do.body.i.i.i.i47 ] %num_digits.0.i.i.i.i49 = phi i32 [ 0, %if.then.i ], [ %inc.i.i.i.i50, %do.body.i.i.i.i47 ] %inc.i.i.i.i50 = add nuw nsw i32 %num_digits.0.i.i.i.i49, 1 %shr.i.i.i.i51 = lshr i64 %m.addr.0.i.i.i.i48, 4 @@ -190781,8 +190780,8 @@ do.body.i.i.i.i47: ; preds = %do.body.i.i.i.i47, br i1 %cmp.not.i.i.i.i52, label %_ZN3fmt3v106detail5writeIcNS0_8appenderEvTnNSt9enable_ifIXsr3std7is_sameIT1_vEE5valueEiE4typeELi0EEET0_S8_PKS5_RKNS0_12format_specsIT_EENS1_10locale_refE.exit56, label %do.body.i.i.i.i47, !llvm.loop !4642 _ZN3fmt3v106detail5writeIcNS0_8appenderEvTnNSt9enable_ifIXsr3std7is_sameIT1_vEE5valueEiE4typeELi0EEET0_S8_PKS5_RKNS0_12format_specsIT_EENS1_10locale_refE.exit56: ; preds = %do.body.i.i.i.i47 - store i64 %25, ptr %write.i.i46, align 8 - store i32 %inc.i.i.i.i50, ptr %11, align 8 + store i64 %27, ptr %write.i.i46, align 8 + store i32 %inc.i.i.i.i50, ptr %12, align 8 %narrow.i.i53 = add nuw i32 %num_digits.0.i.i.i.i49, 3 %add.i.i54 = zext i32 %narrow.i.i53 to i64 %call.i.i.i55 = call ptr @_ZN3fmt3v106detail12write_paddedILNS0_5align4typeE2ENS0_8appenderEcRZNS1_9write_ptrIcS5_mEET0_S7_T1_PKNS0_12format_specsIT_EEEUlS5_E_EES7_S7_RKNS9_IS8_EEmmOT2_(ptr %retval.sroa.0.0.copyload.i43, ptr noundef nonnull align 4 dereferenceable(16) %specs.i, i64 noundef %add.i.i54, i64 noundef %add.i.i54, ptr noundef nonnull align 8 dereferenceable(12) %write.i.i46) @@ -190790,13 +190789,13 @@ _ZN3fmt3v106detail5writeIcNS0_8appenderEvTnNSt9enable_ifIXsr3std7is_sameIT1_vEE5 br label %_ZNK3fmt3v109formatterIPKvcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEERKS3_RT_.exit if.end.i: ; preds = %_ZN3fmt3v106detail8copy_strIcPKcEENS0_8appenderET0_S6_S5_.exit - %26 = load ptr, ptr %it.074, align 8 - %27 = ptrtoint ptr %26 to i64 + %28 = load ptr, ptr %it.074, align 8 + %29 = ptrtoint ptr %28 to i64 call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %write.i.i60) br label %do.body.i.i.i.i61 do.body.i.i.i.i61: ; preds = %do.body.i.i.i.i61, %if.end.i - %m.addr.0.i.i.i.i62 = phi i64 [ %27, %if.end.i ], [ %shr.i.i.i.i65, %do.body.i.i.i.i61 ] + %m.addr.0.i.i.i.i62 = phi i64 [ %29, %if.end.i ], [ %shr.i.i.i.i65, %do.body.i.i.i.i61 ] %num_digits.0.i.i.i.i63 = phi i32 [ 0, %if.end.i ], [ %inc.i.i.i.i64, %do.body.i.i.i.i61 ] %inc.i.i.i.i64 = add nuw nsw i32 %num_digits.0.i.i.i.i63, 1 %shr.i.i.i.i65 = lshr i64 %m.addr.0.i.i.i.i62, 4 @@ -190804,8 +190803,8 @@ do.body.i.i.i.i61: ; preds = %do.body.i.i.i.i61, br i1 %cmp.not.i.i.i.i66, label %_ZN3fmt3v106detail5writeIcNS0_8appenderEvTnNSt9enable_ifIXsr3std7is_sameIT1_vEE5valueEiE4typeELi0EEET0_S8_PKS5_RKNS0_12format_specsIT_EENS1_10locale_refE.exit70, label %do.body.i.i.i.i61, !llvm.loop !4642 _ZN3fmt3v106detail5writeIcNS0_8appenderEvTnNSt9enable_ifIXsr3std7is_sameIT1_vEE5valueEiE4typeELi0EEET0_S8_PKS5_RKNS0_12format_specsIT_EENS1_10locale_refE.exit70: ; preds = %do.body.i.i.i.i61 - store i64 %27, ptr %write.i.i60, align 8 - store i32 %inc.i.i.i.i64, ptr %12, align 8 + store i64 %29, ptr %write.i.i60, align 8 + store i32 %inc.i.i.i.i64, ptr %13, align 8 %narrow.i.i67 = add nuw i32 %num_digits.0.i.i.i.i63, 3 %add.i.i68 = zext i32 %narrow.i.i67 to i64 %call.i.i.i69 = call ptr @_ZN3fmt3v106detail12write_paddedILNS0_5align4typeE2ENS0_8appenderEcRZNS1_9write_ptrIcS5_mEET0_S7_T1_PKNS0_12format_specsIT_EEEUlS5_E_EES7_S7_RKNS9_IS8_EEmmOT2_(ptr %retval.sroa.0.073, ptr noundef nonnull align 4 dereferenceable(16) %this, i64 noundef %add.i.i68, i64 noundef %add.i.i68, ptr noundef nonnull align 8 dereferenceable(12) %write.i.i60) @@ -190815,8 +190814,8 @@ _ZN3fmt3v106detail5writeIcNS0_8appenderEvTnNSt9enable_ifIXsr3std7is_sameIT1_vEE5 _ZNK3fmt3v109formatterIPKvcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEERKS3_RT_.exit: ; preds = %_ZN3fmt3v106detail5writeIcNS0_8appenderEvTnNSt9enable_ifIXsr3std7is_sameIT1_vEE5valueEiE4typeELi0EEET0_S8_PKS5_RKNS0_12format_specsIT_EENS1_10locale_refE.exit70, %_ZN3fmt3v106detail5writeIcNS0_8appenderEvTnNSt9enable_ifIXsr3std7is_sameIT1_vEE5valueEiE4typeELi0EEET0_S8_PKS5_RKNS0_12format_specsIT_EENS1_10locale_refE.exit56 %retval.i.sroa.0.0 = phi ptr [ %call.i.i.i55, %_ZN3fmt3v106detail5writeIcNS0_8appenderEvTnNSt9enable_ifIXsr3std7is_sameIT1_vEE5valueEiE4typeELi0EEET0_S8_PKS5_RKNS0_12format_specsIT_EENS1_10locale_refE.exit56 ], [ %call.i.i.i69, %_ZN3fmt3v106detail5writeIcNS0_8appenderEvTnNSt9enable_ifIXsr3std7is_sameIT1_vEE5valueEiE4typeELi0EEET0_S8_PKS5_RKNS0_12format_specsIT_EENS1_10locale_refE.exit70 ] %it.0 = getelementptr inbounds i8, ptr %it.074, i64 8 - %28 = load ptr, ptr %end, align 8 - %cmp7.not = icmp eq ptr %it.0, %28 + %30 = load ptr, ptr %end, align 8 + %cmp7.not = icmp eq ptr %it.0, %30 br i1 %cmp7.not, label %if.end, label %while.body, !llvm.loop !6561 if.end: ; preds = %_ZNK3fmt3v109formatterIPKvcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEERKS3_RT_.exit, %_ZNK3fmt3v109formatterIPKvcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEERKS3_RT_.exit56, %entry @@ -191676,8 +191675,8 @@ entry: if.then.i: ; preds = %entry call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(64) %specs.i, ptr noundef nonnull align 8 dereferenceable(64) %this, i64 64, i1 false) - %width_ref6.i = getelementptr inbounds i8, ptr %specs.i, i64 16 - call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %specs.i, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %width_ref6.i, ptr noundef nonnull align 8 dereferenceable(32) %ctx) + %3 = getelementptr inbounds i8, ptr %this, i64 16 + call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %specs.i, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %3, ptr noundef nonnull align 8 dereferenceable(32) %ctx) %precision.i = getelementptr inbounds i8, ptr %specs.i, i64 4 %precision_ref8.i = getelementptr inbounds i8, ptr %specs.i, i64 40 call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_17precision_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %precision.i, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %precision_ref8.i, ptr noundef nonnull align 8 dereferenceable(32) %ctx) @@ -191686,8 +191685,8 @@ if.then.i: ; preds = %entry %retval.sroa.0.0.copyload.i16 = load ptr, ptr %loc_.i, align 8 %localized.i = getelementptr inbounds i8, ptr %specs.i, i64 9 %bf.load.i = load i16, ptr %localized.i, align 1 - %3 = and i16 %bf.load.i, 256 - %bf.cast.i.not = icmp eq i16 %3, 0 + %4 = and i16 %bf.load.i, 256 + %bf.cast.i.not = icmp eq i16 %4, 0 br i1 %bf.cast.i.not, label %if.end.i9, label %land.lhs.true.i land.lhs.true.i: ; preds = %if.then.i @@ -191708,17 +191707,17 @@ if.then.i18: ; preds = %if.end.i9 if.else.i: ; preds = %if.end.i9 %bf.load10.i = load i16, ptr %localized.i, align 1 - %4 = lshr i16 %bf.load10.i, 4 - %5 = and i16 %4, 7 - %bf.cast13.i = zext nneg i16 %5 to i64 + %5 = lshr i16 %bf.load10.i, 4 + %6 = and i16 %5, 7 + %bf.cast13.i = zext nneg i16 %6 to i64 %arrayidx.i = getelementptr inbounds [4 x i32], ptr @__const._ZN3fmt3v106detail18make_write_int_argIjEENS1_13write_int_argINSt11conditionalIXaalecl8num_bitsIT_EELi32EntLi0EEjNS4_IXlecl8num_bitsIS5_EELi64EEmoE4typeEE4typeEEES5_NS0_4sign4typeE.prefixes, i64 0, i64 %bf.cast13.i - %6 = load i32, ptr %arrayidx.i, align 4 - %7 = zext i32 %6 to i64 - %8 = shl nuw i64 %7, 32 + %7 = load i32, ptr %arrayidx.i, align 4 + %8 = zext i32 %7 to i64 + %9 = shl nuw i64 %8, 32 br label %_ZN3fmt3v106detail18make_write_int_argIiEENS1_13write_int_argINSt11conditionalIXaalecl8num_bitsIT_EELi32EntLi0EEjNS4_IXlecl8num_bitsIS5_EELi64EEmoE4typeEE4typeEEES5_NS0_4sign4typeE.exit _ZN3fmt3v106detail18make_write_int_argIiEENS1_13write_int_argINSt11conditionalIXaalecl8num_bitsIT_EELi32EntLi0EEjNS4_IXlecl8num_bitsIS5_EELi64EEmoE4typeEE4typeEEES5_NS0_4sign4typeE.exit: ; preds = %if.then.i18, %if.else.i - %prefix.0.i = phi i64 [ 72057787311456256, %if.then.i18 ], [ %8, %if.else.i ] + %prefix.0.i = phi i64 [ 72057787311456256, %if.then.i18 ], [ %9, %if.else.i ] %abs_value.0.i = phi i32 [ %sub.i, %if.then.i18 ], [ %0, %if.else.i ] %retval.sroa.0.0.insert.ext.i = zext i32 %abs_value.0.i to i64 %retval.sroa.0.0.insert.insert.i = or disjoint i64 %prefix.0.i, %retval.sroa.0.0.insert.ext.i @@ -191731,8 +191730,8 @@ if.end.i: ; preds = %entry %retval.sroa.0.0.copyload.i21 = load ptr, ptr %loc_.i20, align 8 %localized.i23 = getelementptr inbounds i8, ptr %this, i64 9 %bf.load.i24 = load i16, ptr %localized.i23, align 1 - %9 = and i16 %bf.load.i24, 256 - %bf.cast.i27.not = icmp eq i16 %9, 0 + %10 = and i16 %bf.load.i24, 256 + %bf.cast.i27.not = icmp eq i16 %10, 0 br i1 %bf.cast.i27.not, label %if.end.i28, label %land.lhs.true.i36 land.lhs.true.i36: ; preds = %if.end.i @@ -191753,17 +191752,17 @@ if.then.i34: ; preds = %if.end.i28 if.else.i25: ; preds = %if.end.i28 %bf.load10.i30 = load i16, ptr %localized.i23, align 1 - %10 = lshr i16 %bf.load10.i30, 4 - %11 = and i16 %10, 7 - %bf.cast13.i33 = zext nneg i16 %11 to i64 + %11 = lshr i16 %bf.load10.i30, 4 + %12 = and i16 %11, 7 + %bf.cast13.i33 = zext nneg i16 %12 to i64 %arrayidx.i27 = getelementptr inbounds [4 x i32], ptr @__const._ZN3fmt3v106detail18make_write_int_argIjEENS1_13write_int_argINSt11conditionalIXaalecl8num_bitsIT_EELi32EntLi0EEjNS4_IXlecl8num_bitsIS5_EELi64EEmoE4typeEE4typeEEES5_NS0_4sign4typeE.prefixes, i64 0, i64 %bf.cast13.i33 - %12 = load i32, ptr %arrayidx.i27, align 4 - %13 = zext i32 %12 to i64 - %14 = shl nuw i64 %13, 32 + %13 = load i32, ptr %arrayidx.i27, align 4 + %14 = zext i32 %13 to i64 + %15 = shl nuw i64 %14, 32 br label %_ZN3fmt3v106detail18make_write_int_argIiEENS1_13write_int_argINSt11conditionalIXaalecl8num_bitsIT_EELi32EntLi0EEjNS4_IXlecl8num_bitsIS5_EELi64EEmoE4typeEE4typeEEES5_NS0_4sign4typeE.exit36 _ZN3fmt3v106detail18make_write_int_argIiEENS1_13write_int_argINSt11conditionalIXaalecl8num_bitsIT_EELi32EntLi0EEjNS4_IXlecl8num_bitsIS5_EELi64EEmoE4typeEE4typeEEES5_NS0_4sign4typeE.exit36: ; preds = %if.then.i34, %if.else.i25 - %prefix.0.i30 = phi i64 [ 72057787311456256, %if.then.i34 ], [ %14, %if.else.i25 ] + %prefix.0.i30 = phi i64 [ 72057787311456256, %if.then.i34 ], [ %15, %if.else.i25 ] %abs_value.0.i31 = phi i32 [ %sub.i35, %if.then.i34 ], [ %0, %if.else.i25 ] %retval.sroa.0.0.insert.ext.i32 = zext i32 %abs_value.0.i31 to i64 %retval.sroa.0.0.insert.insert.i33 = or disjoint i64 %prefix.0.i30, %retval.sroa.0.0.insert.ext.i32 @@ -192261,8 +192260,8 @@ entry: if.then.i: ; preds = %entry call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(64) %specs.i, ptr noundef nonnull align 8 dereferenceable(64) %this, i64 64, i1 false) - %width_ref6.i = getelementptr inbounds i8, ptr %specs.i, i64 16 - call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %specs.i, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %width_ref6.i, ptr noundef nonnull align 8 dereferenceable(32) %ctx) + %3 = getelementptr inbounds i8, ptr %this, i64 16 + call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %specs.i, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %3, ptr noundef nonnull align 8 dereferenceable(32) %ctx) %precision.i = getelementptr inbounds i8, ptr %specs.i, i64 4 %precision_ref8.i = getelementptr inbounds i8, ptr %specs.i, i64 40 call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_17precision_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %precision.i, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %precision_ref8.i, ptr noundef nonnull align 8 dereferenceable(32) %ctx) @@ -192271,8 +192270,8 @@ if.then.i: ; preds = %entry %retval.sroa.0.0.copyload.i16 = load ptr, ptr %loc_.i, align 8 %localized.i = getelementptr inbounds i8, ptr %specs.i, i64 9 %bf.load.i = load i16, ptr %localized.i, align 1 - %3 = and i16 %bf.load.i, 256 - %bf.cast.i.not = icmp eq i16 %3, 0 + %4 = and i16 %bf.load.i, 256 + %bf.cast.i.not = icmp eq i16 %4, 0 br i1 %bf.cast.i.not, label %if.then.i.if.end.i9_crit_edge, label %land.lhs.true.i if.then.i.if.end.i9_crit_edge: ; preds = %if.then.i @@ -192294,14 +192293,14 @@ land.lhs.true.i.if.end.i9_crit_edge: ; preds = %land.lhs.true.i if.end.i9: ; preds = %if.then.i.if.end.i9_crit_edge, %land.lhs.true.i.if.end.i9_crit_edge %retval.sroa.0.0.insert.ext.i.pre-phi = phi i64 [ %.pre30, %if.then.i.if.end.i9_crit_edge ], [ %retval.i.sroa.0.0.insert.ext.i.i, %land.lhs.true.i.if.end.i9_crit_edge ] %bf.load10.i = phi i16 [ %bf.load.i, %if.then.i.if.end.i9_crit_edge ], [ %bf.load10.i.pre, %land.lhs.true.i.if.end.i9_crit_edge ] - %4 = lshr i16 %bf.load10.i, 4 - %5 = and i16 %4, 7 - %bf.cast13.i = zext nneg i16 %5 to i64 + %5 = lshr i16 %bf.load10.i, 4 + %6 = and i16 %5, 7 + %bf.cast13.i = zext nneg i16 %6 to i64 %arrayidx.i = getelementptr inbounds [4 x i32], ptr @__const._ZN3fmt3v106detail18make_write_int_argIjEENS1_13write_int_argINSt11conditionalIXaalecl8num_bitsIT_EELi32EntLi0EEjNS4_IXlecl8num_bitsIS5_EELi64EEmoE4typeEE4typeEEES5_NS0_4sign4typeE.prefixes, i64 0, i64 %bf.cast13.i - %6 = load i32, ptr %arrayidx.i, align 4 - %7 = zext i32 %6 to i64 - %8 = shl nuw i64 %7, 32 - %retval.sroa.0.0.insert.insert.i = or disjoint i64 %8, %retval.sroa.0.0.insert.ext.i.pre-phi + %7 = load i32, ptr %arrayidx.i, align 4 + %8 = zext i32 %7 to i64 + %9 = shl nuw i64 %8, 32 + %retval.sroa.0.0.insert.insert.i = or disjoint i64 %9, %retval.sroa.0.0.insert.ext.i.pre-phi %call19.i = call ptr @_ZN3fmt3v106detail18write_int_noinlineIcNS0_8appenderEjEET0_S4_NS1_13write_int_argIT1_EERKNS0_12format_specsIT_EENS1_10locale_refE(ptr %retval.sroa.0.0.copyload.i, i64 %retval.sroa.0.0.insert.insert.i, ptr noundef nonnull align 4 dereferenceable(16) %specs.i, ptr %retval.sroa.0.0.copyload.i16) br label %_ZNK3fmt3v109formatterIjcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEERKjRT_.exit @@ -192311,8 +192310,8 @@ if.end.i: ; preds = %entry %retval.sroa.0.0.copyload.i20 = load ptr, ptr %loc_.i19, align 8 %localized.i23 = getelementptr inbounds i8, ptr %this, i64 9 %bf.load.i24 = load i16, ptr %localized.i23, align 1 - %9 = and i16 %bf.load.i24, 256 - %bf.cast.i27.not = icmp eq i16 %9, 0 + %10 = and i16 %bf.load.i24, 256 + %bf.cast.i27.not = icmp eq i16 %10, 0 br i1 %bf.cast.i27.not, label %if.end.i.if.end.i28_crit_edge, label %land.lhs.true.i36 if.end.i.if.end.i28_crit_edge: ; preds = %if.end.i @@ -192334,14 +192333,14 @@ land.lhs.true.i36.if.end.i28_crit_edge: ; preds = %land.lhs.true.i36 if.end.i28: ; preds = %if.end.i.if.end.i28_crit_edge, %land.lhs.true.i36.if.end.i28_crit_edge %retval.sroa.0.0.insert.ext.i26.pre-phi = phi i64 [ %.pre, %if.end.i.if.end.i28_crit_edge ], [ %retval.i.sroa.0.0.insert.ext.i.i22, %land.lhs.true.i36.if.end.i28_crit_edge ] %bf.load10.i30 = phi i16 [ %bf.load.i24, %if.end.i.if.end.i28_crit_edge ], [ %bf.load10.i30.pre, %land.lhs.true.i36.if.end.i28_crit_edge ] - %10 = lshr i16 %bf.load10.i30, 4 - %11 = and i16 %10, 7 - %bf.cast13.i33 = zext nneg i16 %11 to i64 + %11 = lshr i16 %bf.load10.i30, 4 + %12 = and i16 %11, 7 + %bf.cast13.i33 = zext nneg i16 %12 to i64 %arrayidx.i25 = getelementptr inbounds [4 x i32], ptr @__const._ZN3fmt3v106detail18make_write_int_argIjEENS1_13write_int_argINSt11conditionalIXaalecl8num_bitsIT_EELi32EntLi0EEjNS4_IXlecl8num_bitsIS5_EELi64EEmoE4typeEE4typeEEES5_NS0_4sign4typeE.prefixes, i64 0, i64 %bf.cast13.i33 - %12 = load i32, ptr %arrayidx.i25, align 4 - %13 = zext i32 %12 to i64 - %14 = shl nuw i64 %13, 32 - %retval.sroa.0.0.insert.insert.i27 = or disjoint i64 %14, %retval.sroa.0.0.insert.ext.i26.pre-phi + %13 = load i32, ptr %arrayidx.i25, align 4 + %14 = zext i32 %13 to i64 + %15 = shl nuw i64 %14, 32 + %retval.sroa.0.0.insert.insert.i27 = or disjoint i64 %15, %retval.sroa.0.0.insert.ext.i26.pre-phi %call19.i35 = tail call ptr @_ZN3fmt3v106detail18write_int_noinlineIcNS0_8appenderEjEET0_S4_NS1_13write_int_argIT1_EERKNS0_12format_specsIT_EENS1_10locale_refE(ptr %retval.sroa.0.0.copyload.i18, i64 %retval.sroa.0.0.insert.insert.i27, ptr noundef nonnull align 4 dereferenceable(16) %this, ptr %retval.sroa.0.0.copyload.i20) br label %_ZNK3fmt3v109formatterIjcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEERKjRT_.exit @@ -192583,8 +192582,7 @@ entry: if.then.i.i: ; preds = %entry call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(64) %specs.i.i, ptr noundef nonnull align 8 dereferenceable(64) %formatter, i64 64, i1 false) - %width_ref6.i.i = getelementptr inbounds i8, ptr %specs.i.i, i64 16 - call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %specs.i.i, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %width_ref6.i.i, ptr noundef nonnull align 8 dereferenceable(32) %ctx) + call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %specs.i.i, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %width_ref.i.i.i.i, ptr noundef nonnull align 8 dereferenceable(32) %ctx) %precision.i.i = getelementptr inbounds i8, ptr %specs.i.i, i64 4 %precision_ref8.i.i = getelementptr inbounds i8, ptr %specs.i.i, i64 40 call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_17precision_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %precision.i.i, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %precision_ref8.i.i, ptr noundef nonnull align 8 dereferenceable(32) %ctx) @@ -194000,8 +193998,7 @@ entry: if.then.i.i: ; preds = %entry call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(64) %specs.i.i, ptr noundef nonnull align 8 dereferenceable(64) %f, i64 64, i1 false) - %width_ref6.i.i = getelementptr inbounds i8, ptr %specs.i.i, i64 16 - call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %specs.i.i, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %width_ref6.i.i, ptr noundef nonnull align 8 dereferenceable(32) %ctx) + call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %specs.i.i, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %width_ref.i.i.i, ptr noundef nonnull align 8 dereferenceable(32) %ctx) %precision.i.i = getelementptr inbounds i8, ptr %specs.i.i, i64 4 %precision_ref8.i.i = getelementptr inbounds i8, ptr %specs.i.i, i64 40 call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_17precision_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %precision.i.i, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %precision_ref8.i.i, ptr noundef nonnull align 8 dereferenceable(32) %ctx) @@ -194103,7 +194100,7 @@ lpad.i: ; preds = %call.i.noexc.i, %en br label %lpad.body.i common.resume: ; preds = %lpad, %lpad.body.i - %common.resume.op = phi { ptr, i32 } [ %eh.lpad-body.i, %lpad.body.i ], [ %8, %lpad ] + %common.resume.op = phi { ptr, i32 } [ %eh.lpad-body.i, %lpad.body.i ], [ %9, %lpad ] resume { ptr, i32 } %common.resume.op lpad.body.i: ; preds = %lpad.i, %lpad.i16 @@ -194128,8 +194125,8 @@ _ZN4test9format_asB5cxx11ENS_21scoped_enum_as_stringE.exit: ; preds = %invoke.co if.then.i: ; preds = %_ZN4test9format_asB5cxx11ENS_21scoped_enum_as_stringE.exit call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(64) %specs.i, ptr noundef nonnull align 8 dereferenceable(64) %this, i64 64, i1 false) - %width_ref6.i = getelementptr inbounds i8, ptr %specs.i, i64 16 - invoke void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %specs.i, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %width_ref6.i, ptr noundef nonnull align 8 dereferenceable(32) %ctx) + %6 = getelementptr inbounds i8, ptr %this, i64 16 + invoke void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %specs.i, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %6, ptr noundef nonnull align 8 dereferenceable(32) %ctx) to label %.noexc unwind label %lpad .noexc: ; preds = %if.then.i @@ -194139,17 +194136,17 @@ if.then.i: ; preds = %_ZN4test9format_asB to label %if.end.i.invoke unwind label %lpad if.end.i.invoke: ; preds = %_ZN4test9format_asB5cxx11ENS_21scoped_enum_as_stringE.exit, %.noexc - %6 = phi ptr [ %specs.i, %.noexc ], [ %this, %_ZN4test9format_asB5cxx11ENS_21scoped_enum_as_stringE.exit ] + %7 = phi ptr [ %specs.i, %.noexc ], [ %this, %_ZN4test9format_asB5cxx11ENS_21scoped_enum_as_stringE.exit ] %retval.sroa.0.0.copyload.i = load ptr, ptr %ctx, align 8 - %7 = invoke ptr @_ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_NS0_17basic_string_viewIT_EERKNS0_12format_specsIS6_EE(ptr %retval.sroa.0.0.copyload.i, ptr %call.i7, i64 %call2.i, ptr noundef nonnull align 4 dereferenceable(16) %6) + %8 = invoke ptr @_ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_NS0_17basic_string_viewIT_EERKNS0_12format_specsIS6_EE(ptr %retval.sroa.0.0.copyload.i, ptr %call.i7, i64 %call2.i, ptr noundef nonnull align 4 dereferenceable(16) %7) to label %_ZNK3fmt3v109formatterINS0_17basic_string_viewIcEEcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEERKS3_RT_.exit unwind label %lpad _ZNK3fmt3v109formatterINS0_17basic_string_viewIcEEcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEERKS3_RT_.exit: ; preds = %if.end.i.invoke call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp2) #29 - ret ptr %7 + ret ptr %8 lpad: ; preds = %if.end.i.invoke, %.noexc, %if.then.i - %8 = landingpad { ptr, i32 } + %9 = landingpad { ptr, i32 } cleanup call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp2) #29 br label %common.resume @@ -194207,8 +194204,8 @@ entry: if.then.i: ; preds = %entry call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(64) %specs.i, ptr noundef nonnull align 8 dereferenceable(64) %this, i64 64, i1 false) - %width_ref6.i = getelementptr inbounds i8, ptr %specs.i, i64 16 - call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %specs.i, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %width_ref6.i, ptr noundef nonnull align 8 dereferenceable(32) %ctx) + %2 = getelementptr inbounds i8, ptr %this, i64 16 + call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %specs.i, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %2, ptr noundef nonnull align 8 dereferenceable(32) %ctx) %precision.i = getelementptr inbounds i8, ptr %specs.i, i64 4 %precision_ref8.i = getelementptr inbounds i8, ptr %specs.i, i64 40 call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_17precision_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %precision.i, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %precision_ref8.i, ptr noundef nonnull align 8 dereferenceable(32) %ctx) @@ -194760,15 +194757,15 @@ entry: if.then.i: ; preds = %entry call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(64) %specs.i, ptr noundef nonnull align 8 dereferenceable(64) %f, i64 64, i1 false) - %width_ref6.i = getelementptr inbounds i8, ptr %specs.i, i64 16 - call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %specs.i, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %width_ref6.i, ptr noundef nonnull align 8 dereferenceable(32) %ctx) + %4 = getelementptr inbounds i8, ptr %f, i64 16 + call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %specs.i, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %4, ptr noundef nonnull align 8 dereferenceable(32) %ctx) %precision.i = getelementptr inbounds i8, ptr %specs.i, i64 4 %precision_ref8.i = getelementptr inbounds i8, ptr %specs.i, i64 40 call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_17precision_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %precision.i, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %precision_ref8.i, ptr noundef nonnull align 8 dereferenceable(32) %ctx) %retval.sroa.0.0.copyload.i = load ptr, ptr %ctx, align 8 %type.i = getelementptr inbounds i8, ptr %specs.i, i64 8 - %4 = load i8, ptr %type.i, align 8 - %cmp.i = icmp eq i8 %4, 17 + %5 = load i8, ptr %type.i, align 8 + %cmp.i = icmp eq i8 %5, 17 br i1 %cmp.i, label %if.then.i12, label %if.end.i11 if.then.i12: ; preds = %if.then.i @@ -194785,8 +194782,8 @@ do.body.i.i.i.i: ; preds = %do.body.i.i.i.i, %i _ZN3fmt3v106detail9write_ptrIcNS0_8appenderEmEET0_S4_T1_PKNS0_12format_specsIT_EE.exit.i: ; preds = %do.body.i.i.i.i store i64 ptrtoint (ptr @_ZZNK31convertible_to_nonconst_cstringcvPcEvE1c to i64), ptr %write.i.i, align 8 - %5 = getelementptr inbounds i8, ptr %write.i.i, i64 8 - store i32 %inc.i.i.i.i, ptr %5, align 8 + %6 = getelementptr inbounds i8, ptr %write.i.i, i64 8 + store i32 %inc.i.i.i.i, ptr %6, align 8 %narrow.i.i = add nuw i32 %num_digits.0.i.i.i.i, 3 %add.i.i = zext i32 %narrow.i.i to i64 %call.i.i.i = call ptr @_ZN3fmt3v106detail12write_paddedILNS0_5align4typeE2ENS0_8appenderEcRZNS1_9write_ptrIcS5_mEET0_S7_T1_PKNS0_12format_specsIT_EEEUlS5_E_EES7_S7_RKNS9_IS8_EEmmOT2_(ptr %retval.sroa.0.0.copyload.i, ptr noundef nonnull align 4 dereferenceable(16) %specs.i, i64 noundef %add.i.i, i64 noundef %add.i.i, ptr noundef nonnull align 8 dereferenceable(12) %write.i.i) @@ -194801,8 +194798,8 @@ if.end.i11: ; preds = %if.then.i if.end.i: ; preds = %entry %type.i.i.i.i.i = getelementptr inbounds i8, ptr %f, i64 8 %retval.sroa.0.0.copyload.i13 = load ptr, ptr %ctx, align 8 - %6 = load i8, ptr %type.i.i.i.i.i, align 8 - %cmp.i18 = icmp eq i8 %6, 17 + %7 = load i8, ptr %type.i.i.i.i.i, align 8 + %cmp.i18 = icmp eq i8 %7, 17 br i1 %cmp.i18, label %if.then.i23, label %if.end.i19 if.then.i23: ; preds = %if.end.i @@ -194819,8 +194816,8 @@ do.body.i.i.i.i24: ; preds = %do.body.i.i.i.i24, _ZN3fmt3v106detail9write_ptrIcNS0_8appenderEmEET0_S4_T1_PKNS0_12format_specsIT_EE.exit.i30: ; preds = %do.body.i.i.i.i24 store i64 ptrtoint (ptr @_ZZNK31convertible_to_nonconst_cstringcvPcEvE1c to i64), ptr %write.i.i16, align 8 - %7 = getelementptr inbounds i8, ptr %write.i.i16, i64 8 - store i32 %inc.i.i.i.i27, ptr %7, align 8 + %8 = getelementptr inbounds i8, ptr %write.i.i16, i64 8 + store i32 %inc.i.i.i.i27, ptr %8, align 8 %narrow.i.i31 = add nuw i32 %num_digits.0.i.i.i.i26, 3 %add.i.i32 = zext i32 %narrow.i.i31 to i64 %call.i.i.i33 = call ptr @_ZN3fmt3v106detail12write_paddedILNS0_5align4typeE2ENS0_8appenderEcRZNS1_9write_ptrIcS5_mEET0_S7_T1_PKNS0_12format_specsIT_EEEUlS5_E_EES7_S7_RKNS9_IS8_EEmmOT2_(ptr %retval.sroa.0.0.copyload.i13, ptr noundef nonnull align 4 dereferenceable(16) %f, i64 noundef %add.i.i32, i64 noundef %add.i.i32, ptr noundef nonnull align 8 dereferenceable(12) %write.i.i16) diff --git a/bench/fmt/optimized/os-test.cc.ll b/bench/fmt/optimized/os-test.cc.ll index 129cb14fe9e..13928b69398 100644 --- a/bench/fmt/optimized/os-test.cc.ll +++ b/bench/fmt/optimized/os-test.cc.ll @@ -16062,96 +16062,96 @@ if.then: ; preds = %entry if.then.i49: ; preds = %if.then call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(64) %specs.i32, ptr noundef nonnull align 8 dereferenceable(64) %this, i64 64, i1 false) - %width_ref6.i50 = getelementptr inbounds i8, ptr %specs.i32, i64 16 - call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %specs.i32, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %width_ref6.i50, ptr noundef nonnull align 8 dereferenceable(32) %ctx) + %4 = getelementptr inbounds i8, ptr %this, i64 16 + call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %specs.i32, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %4, ptr noundef nonnull align 8 dereferenceable(32) %ctx) %precision.i51 = getelementptr inbounds i8, ptr %specs.i32, i64 4 %precision_ref8.i52 = getelementptr inbounds i8, ptr %specs.i32, i64 40 call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_17precision_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %precision.i51, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %precision_ref8.i52, ptr noundef nonnull align 8 dereferenceable(32) %ctx) %retval.sroa.0.0.copyload.i42 = load ptr, ptr %ctx, align 8 - %4 = load i32, ptr %0, align 4 + %5 = load i32, ptr %0, align 4 %loc_.i = getelementptr inbounds i8, ptr %ctx, i64 24 %retval.sroa.0.0.copyload.i43 = load ptr, ptr %loc_.i, align 8 %localized.i = getelementptr inbounds i8, ptr %specs.i32, i64 9 %bf.load.i = load i16, ptr %localized.i, align 1 - %5 = and i16 %bf.load.i, 256 - %bf.cast.i.not = icmp eq i16 %5, 0 + %6 = and i16 %bf.load.i, 256 + %bf.cast.i.not = icmp eq i16 %6, 0 br i1 %bf.cast.i.not, label %if.end.i60, label %land.lhs.true.i land.lhs.true.i: ; preds = %if.then.i49 %type_.i.i.i = getelementptr inbounds i8, ptr %agg.tmp3.i, i64 16 store i32 1, ptr %type_.i.i.i, align 16, !alias.scope !189 - %retval.i.sroa.0.0.insert.ext.i.i = zext i32 %4 to i64 + %retval.i.sroa.0.0.insert.ext.i.i = zext i32 %5 to i64 store i64 %retval.i.sroa.0.0.insert.ext.i.i, ptr %agg.tmp3.i, align 16, !alias.scope !189 %call.i61 = call noundef zeroext i1 @_ZN3fmt3v106detail9write_locENS0_8appenderENS0_9loc_valueERKNS0_12format_specsIcEENS1_10locale_refE(ptr %retval.sroa.0.0.copyload.i42, ptr noundef nonnull byval(%"class.fmt::v10::loc_value") align 16 %agg.tmp3.i, ptr noundef nonnull align 4 dereferenceable(16) %specs.i32, ptr %retval.sroa.0.0.copyload.i43) br i1 %call.i61, label %_ZNK3fmt3v109formatterIicvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEERKiRT_.exit56, label %if.end.i60 if.end.i60: ; preds = %land.lhs.true.i, %if.then.i49 - %cmp.i.i = icmp slt i32 %4, 0 + %cmp.i.i = icmp slt i32 %5, 0 br i1 %cmp.i.i, label %if.then.i45, label %if.else.i if.then.i45: ; preds = %if.end.i60 - %sub.i = sub i32 0, %4 + %sub.i = sub i32 0, %5 br label %_ZN3fmt3v106detail18make_write_int_argIiEENS1_13write_int_argINSt11conditionalIXaalecl8num_bitsIT_EELi32EntLi0EEjNS4_IXlecl8num_bitsIS5_EELi64EEmoE4typeEE4typeEEES5_NS0_4sign4typeE.exit if.else.i: ; preds = %if.end.i60 %bf.load10.i = load i16, ptr %localized.i, align 1 - %6 = lshr i16 %bf.load10.i, 4 - %7 = and i16 %6, 7 - %bf.cast13.i = zext nneg i16 %7 to i64 + %7 = lshr i16 %bf.load10.i, 4 + %8 = and i16 %7, 7 + %bf.cast13.i = zext nneg i16 %8 to i64 %arrayidx.i = getelementptr inbounds [4 x i32], ptr @__const._ZN3fmt3v106detail18make_write_int_argIiEENS1_13write_int_argINSt11conditionalIXaalecl8num_bitsIT_EELi32EntLi0EEjNS4_IXlecl8num_bitsIS5_EELi64EEmoE4typeEE4typeEEES5_NS0_4sign4typeE.prefixes, i64 0, i64 %bf.cast13.i - %8 = load i32, ptr %arrayidx.i, align 4 - %9 = zext i32 %8 to i64 - %10 = shl nuw i64 %9, 32 + %9 = load i32, ptr %arrayidx.i, align 4 + %10 = zext i32 %9 to i64 + %11 = shl nuw i64 %10, 32 br label %_ZN3fmt3v106detail18make_write_int_argIiEENS1_13write_int_argINSt11conditionalIXaalecl8num_bitsIT_EELi32EntLi0EEjNS4_IXlecl8num_bitsIS5_EELi64EEmoE4typeEE4typeEEES5_NS0_4sign4typeE.exit _ZN3fmt3v106detail18make_write_int_argIiEENS1_13write_int_argINSt11conditionalIXaalecl8num_bitsIT_EELi32EntLi0EEjNS4_IXlecl8num_bitsIS5_EELi64EEmoE4typeEE4typeEEES5_NS0_4sign4typeE.exit: ; preds = %if.then.i45, %if.else.i - %prefix.0.i = phi i64 [ 72057787311456256, %if.then.i45 ], [ %10, %if.else.i ] - %abs_value.0.i = phi i32 [ %sub.i, %if.then.i45 ], [ %4, %if.else.i ] + %prefix.0.i = phi i64 [ 72057787311456256, %if.then.i45 ], [ %11, %if.else.i ] + %abs_value.0.i = phi i32 [ %sub.i, %if.then.i45 ], [ %5, %if.else.i ] %retval.sroa.0.0.insert.ext.i = zext i32 %abs_value.0.i to i64 %retval.sroa.0.0.insert.insert.i = or disjoint i64 %prefix.0.i, %retval.sroa.0.0.insert.ext.i %call19.i = call ptr @_ZN3fmt3v106detail18write_int_noinlineIcNS0_8appenderEjEET0_S4_NS1_13write_int_argIT1_EERKNS0_12format_specsIT_EENS1_10locale_refE(ptr %retval.sroa.0.0.copyload.i42, i64 %retval.sroa.0.0.insert.insert.i, ptr noundef nonnull align 4 dereferenceable(16) %specs.i32, ptr %retval.sroa.0.0.copyload.i43) br label %_ZNK3fmt3v109formatterIicvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEERKiRT_.exit56 if.end.i45: ; preds = %if.then - %11 = load i32, ptr %0, align 4 + %12 = load i32, ptr %0, align 4 %loc_.i47 = getelementptr inbounds i8, ptr %ctx, i64 24 %retval.sroa.0.0.copyload.i48 = load ptr, ptr %loc_.i47, align 8 %localized.i74 = getelementptr inbounds i8, ptr %this, i64 9 %bf.load.i75 = load i16, ptr %localized.i74, align 1 - %12 = and i16 %bf.load.i75, 256 - %bf.cast.i78.not = icmp eq i16 %12, 0 + %13 = and i16 %bf.load.i75, 256 + %bf.cast.i78.not = icmp eq i16 %13, 0 br i1 %bf.cast.i78.not, label %if.end.i79, label %land.lhs.true.i87 land.lhs.true.i87: ; preds = %if.end.i45 %type_.i.i.i49 = getelementptr inbounds i8, ptr %agg.tmp3.i69, i64 16 store i32 1, ptr %type_.i.i.i49, align 16, !alias.scope !192 - %retval.i.sroa.0.0.insert.ext.i.i50 = zext i32 %11 to i64 + %retval.i.sroa.0.0.insert.ext.i.i50 = zext i32 %12 to i64 store i64 %retval.i.sroa.0.0.insert.ext.i.i50, ptr %agg.tmp3.i69, align 16, !alias.scope !192 %call.i88 = tail call noundef zeroext i1 @_ZN3fmt3v106detail9write_locENS0_8appenderENS0_9loc_valueERKNS0_12format_specsIcEENS1_10locale_refE(ptr %retval.sroa.0.0.copyload.i, ptr noundef nonnull byval(%"class.fmt::v10::loc_value") align 16 %agg.tmp3.i69, ptr noundef nonnull align 4 dereferenceable(16) %this, ptr %retval.sroa.0.0.copyload.i48) br i1 %call.i88, label %_ZNK3fmt3v109formatterIicvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEERKiRT_.exit56, label %if.end.i79 if.end.i79: ; preds = %land.lhs.true.i87, %if.end.i45 - %cmp.i.i51 = icmp slt i32 %11, 0 + %cmp.i.i51 = icmp slt i32 %12, 0 br i1 %cmp.i.i51, label %if.then.i60, label %if.else.i52 if.then.i60: ; preds = %if.end.i79 - %sub.i61 = sub i32 0, %11 + %sub.i61 = sub i32 0, %12 br label %_ZN3fmt3v106detail18make_write_int_argIiEENS1_13write_int_argINSt11conditionalIXaalecl8num_bitsIT_EELi32EntLi0EEjNS4_IXlecl8num_bitsIS5_EELi64EEmoE4typeEE4typeEEES5_NS0_4sign4typeE.exit62 if.else.i52: ; preds = %if.end.i79 %bf.load10.i81 = load i16, ptr %localized.i74, align 1 - %13 = lshr i16 %bf.load10.i81, 4 - %14 = and i16 %13, 7 - %bf.cast13.i84 = zext nneg i16 %14 to i64 + %14 = lshr i16 %bf.load10.i81, 4 + %15 = and i16 %14, 7 + %bf.cast13.i84 = zext nneg i16 %15 to i64 %arrayidx.i54 = getelementptr inbounds [4 x i32], ptr @__const._ZN3fmt3v106detail18make_write_int_argIiEENS1_13write_int_argINSt11conditionalIXaalecl8num_bitsIT_EELi32EntLi0EEjNS4_IXlecl8num_bitsIS5_EELi64EEmoE4typeEE4typeEEES5_NS0_4sign4typeE.prefixes, i64 0, i64 %bf.cast13.i84 - %15 = load i32, ptr %arrayidx.i54, align 4 - %16 = zext i32 %15 to i64 - %17 = shl nuw i64 %16, 32 + %16 = load i32, ptr %arrayidx.i54, align 4 + %17 = zext i32 %16 to i64 + %18 = shl nuw i64 %17, 32 br label %_ZN3fmt3v106detail18make_write_int_argIiEENS1_13write_int_argINSt11conditionalIXaalecl8num_bitsIT_EELi32EntLi0EEjNS4_IXlecl8num_bitsIS5_EELi64EEmoE4typeEE4typeEEES5_NS0_4sign4typeE.exit62 _ZN3fmt3v106detail18make_write_int_argIiEENS1_13write_int_argINSt11conditionalIXaalecl8num_bitsIT_EELi32EntLi0EEjNS4_IXlecl8num_bitsIS5_EELi64EEmoE4typeEE4typeEEES5_NS0_4sign4typeE.exit62: ; preds = %if.then.i60, %if.else.i52 - %prefix.0.i56 = phi i64 [ 72057787311456256, %if.then.i60 ], [ %17, %if.else.i52 ] - %abs_value.0.i57 = phi i32 [ %sub.i61, %if.then.i60 ], [ %11, %if.else.i52 ] + %prefix.0.i56 = phi i64 [ 72057787311456256, %if.then.i60 ], [ %18, %if.else.i52 ] + %abs_value.0.i57 = phi i32 [ %sub.i61, %if.then.i60 ], [ %12, %if.else.i52 ] %retval.sroa.0.0.insert.ext.i58 = zext i32 %abs_value.0.i57 to i64 %retval.sroa.0.0.insert.insert.i59 = or disjoint i64 %prefix.0.i56, %retval.sroa.0.0.insert.ext.i58 %call19.i86 = tail call ptr @_ZN3fmt3v106detail18write_int_noinlineIcNS0_8appenderEjEET0_S4_NS1_13write_int_argIT1_EERKNS0_12format_specsIT_EENS1_10locale_refE(ptr %retval.sroa.0.0.copyload.i, i64 %retval.sroa.0.0.insert.insert.i59, ptr noundef nonnull align 4 dereferenceable(16) %this, ptr %retval.sroa.0.0.copyload.i48) @@ -16160,14 +16160,13 @@ _ZN3fmt3v106detail18make_write_int_argIiEENS1_13write_int_argINSt11conditionalIX _ZNK3fmt3v109formatterIicvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEERKiRT_.exit56: ; preds = %_ZN3fmt3v106detail18make_write_int_argIiEENS1_13write_int_argINSt11conditionalIXaalecl8num_bitsIT_EELi32EntLi0EEjNS4_IXlecl8num_bitsIS5_EELi64EEmoE4typeEE4typeEEES5_NS0_4sign4typeE.exit62, %land.lhs.true.i87, %_ZN3fmt3v106detail18make_write_int_argIiEENS1_13write_int_argINSt11conditionalIXaalecl8num_bitsIT_EELi32EntLi0EEjNS4_IXlecl8num_bitsIS5_EELi64EEmoE4typeEE4typeEEES5_NS0_4sign4typeE.exit, %land.lhs.true.i %retval.i28.sroa.0.0 = phi ptr [ %call19.i, %_ZN3fmt3v106detail18make_write_int_argIiEENS1_13write_int_argINSt11conditionalIXaalecl8num_bitsIT_EELi32EntLi0EEjNS4_IXlecl8num_bitsIS5_EELi64EEmoE4typeEE4typeEEES5_NS0_4sign4typeE.exit ], [ %retval.sroa.0.0.copyload.i42, %land.lhs.true.i ], [ %call19.i86, %_ZN3fmt3v106detail18make_write_int_argIiEENS1_13write_int_argINSt11conditionalIXaalecl8num_bitsIT_EELi32EntLi0EEjNS4_IXlecl8num_bitsIS5_EELi64EEmoE4typeEE4typeEEES5_NS0_4sign4typeE.exit62 ], [ %retval.sroa.0.0.copyload.i, %land.lhs.true.i87 ] %it.097 = getelementptr inbounds i8, ptr %0, i64 4 - %18 = load ptr, ptr %end, align 8 - %cmp7.not98 = icmp eq ptr %it.097, %18 + %19 = load ptr, ptr %end, align 8 + %cmp7.not98 = icmp eq ptr %it.097, %19 br i1 %cmp7.not98, label %if.end, label %while.body.lr.ph while.body.lr.ph: ; preds = %_ZNK3fmt3v109formatterIicvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEERKiRT_.exit56 %sep = getelementptr inbounds i8, ptr %value, i64 16 %size_.i = getelementptr inbounds i8, ptr %value, i64 24 - %width_ref6.i = getelementptr inbounds i8, ptr %specs.i, i64 16 %precision.i = getelementptr inbounds i8, ptr %specs.i, i64 4 %precision_ref8.i = getelementptr inbounds i8, ptr %specs.i, i64 40 %loc_.i64 = getelementptr inbounds i8, ptr %ctx, i64 24 @@ -16175,15 +16174,16 @@ while.body.lr.ph: ; preds = %_ZNK3fmt3v109format %type_.i.i.i66 = getelementptr inbounds i8, ptr %agg.tmp3.i97, i64 16 %localized.i130 = getelementptr inbounds i8, ptr %this, i64 9 %type_.i.i.i83 = getelementptr inbounds i8, ptr %agg.tmp3.i125, i64 16 + %20 = getelementptr inbounds i8, ptr %this, i64 16 br label %while.body while.body: ; preds = %while.body.lr.ph, %_ZNK3fmt3v109formatterIicvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEERKiRT_.exit %it.0100 = phi ptr [ %it.097, %while.body.lr.ph ], [ %it.0, %_ZNK3fmt3v109formatterIicvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEERKiRT_.exit ] %retval.sroa.0.099 = phi ptr [ %retval.i28.sroa.0.0, %while.body.lr.ph ], [ %retval.i.sroa.0.0, %_ZNK3fmt3v109formatterIicvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEERKiRT_.exit ] - %19 = load ptr, ptr %sep, align 8 - %20 = load i64, ptr %size_.i, align 8 - %add.ptr.i = getelementptr inbounds i8, ptr %19, i64 %20 - %cmp.not10.i.i = icmp eq i64 %20, 0 + %21 = load ptr, ptr %sep, align 8 + %22 = load i64, ptr %size_.i, align 8 + %add.ptr.i = getelementptr inbounds i8, ptr %21, i64 %22 + %cmp.not10.i.i = icmp eq i64 %22, 0 br i1 %cmp.not10.i.i, label %_ZN3fmt3v106detail8copy_strIcPKcEENS0_8appenderET0_S6_S5_.exit, label %while.body.lr.ph.i.i while.body.lr.ph.i.i: ; preds = %while.body @@ -16195,41 +16195,41 @@ while.body.lr.ph.i.i: ; preds = %while.body br label %while.body.i.i while.body.i.i: ; preds = %_ZSt20uninitialized_copy_nIPKcmPcET1_T_T0_S3_.exit.i.i, %while.body.lr.ph.i.i - %21 = phi i64 [ %.pre.i.i, %while.body.lr.ph.i.i ], [ %add7.i.i, %_ZSt20uninitialized_copy_nIPKcmPcET1_T_T0_S3_.exit.i.i ] - %begin.addr.011.i.i = phi ptr [ %19, %while.body.lr.ph.i.i ], [ %add.ptr8.i.i, %_ZSt20uninitialized_copy_nIPKcmPcET1_T_T0_S3_.exit.i.i ] + %23 = phi i64 [ %.pre.i.i, %while.body.lr.ph.i.i ], [ %add7.i.i, %_ZSt20uninitialized_copy_nIPKcmPcET1_T_T0_S3_.exit.i.i ] + %begin.addr.011.i.i = phi ptr [ %21, %while.body.lr.ph.i.i ], [ %add.ptr8.i.i, %_ZSt20uninitialized_copy_nIPKcmPcET1_T_T0_S3_.exit.i.i ] %sub.ptr.rhs.cast.i.i = ptrtoint ptr %begin.addr.011.i.i to i64 %sub.ptr.sub.i.i = sub i64 %sub.ptr.lhs.cast.i.i, %sub.ptr.rhs.cast.i.i - %add.i.i = add i64 %sub.ptr.sub.i.i, %21 - %22 = load i64, ptr %capacity_.i.i.i, align 8 - %cmp.i.i.i = icmp ult i64 %22, %add.i.i + %add.i.i = add i64 %sub.ptr.sub.i.i, %23 + %24 = load i64, ptr %capacity_.i.i.i, align 8 + %cmp.i.i.i = icmp ult i64 %24, %add.i.i br i1 %cmp.i.i.i, label %if.then.i.i.i, label %_ZN3fmt3v106detail6bufferIcE11try_reserveEm.exit.i.i if.then.i.i.i: ; preds = %while.body.i.i %vtable.i.i.i = load ptr, ptr %retval.sroa.0.099, align 8 - %23 = load ptr, ptr %vtable.i.i.i, align 8 - call void %23(ptr noundef nonnull align 8 dereferenceable(32) %retval.sroa.0.099, i64 noundef %add.i.i) + %25 = load ptr, ptr %vtable.i.i.i, align 8 + call void %25(ptr noundef nonnull align 8 dereferenceable(32) %retval.sroa.0.099, i64 noundef %add.i.i) %.pre12.i.i = load i64, ptr %capacity_.i.i.i, align 8 %.pre13.i.i = load i64, ptr %size_.i.i, align 8 br label %_ZN3fmt3v106detail6bufferIcE11try_reserveEm.exit.i.i _ZN3fmt3v106detail6bufferIcE11try_reserveEm.exit.i.i: ; preds = %if.then.i.i.i, %while.body.i.i - %24 = phi i64 [ %21, %while.body.i.i ], [ %.pre13.i.i, %if.then.i.i.i ] - %25 = phi i64 [ %22, %while.body.i.i ], [ %.pre12.i.i, %if.then.i.i.i ] - %sub.i.i = sub i64 %25, %24 + %26 = phi i64 [ %23, %while.body.i.i ], [ %.pre13.i.i, %if.then.i.i.i ] + %27 = phi i64 [ %24, %while.body.i.i ], [ %.pre12.i.i, %if.then.i.i.i ] + %sub.i.i = sub i64 %27, %26 %spec.select.i.i = call i64 @llvm.umin.i64(i64 %sub.i.i, i64 %sub.ptr.sub.i.i) %tobool.not.i.i.i.i.i.i.i.i.i.i.i = icmp eq i64 %spec.select.i.i, 0 br i1 %tobool.not.i.i.i.i.i.i.i.i.i.i.i, label %_ZSt20uninitialized_copy_nIPKcmPcET1_T_T0_S3_.exit.i.i, label %if.then.i.i.i.i.i.i.i.i.i.i.i if.then.i.i.i.i.i.i.i.i.i.i.i: ; preds = %_ZN3fmt3v106detail6bufferIcE11try_reserveEm.exit.i.i - %26 = load ptr, ptr %ptr_.i.i, align 8 - %add.ptr.i.i = getelementptr inbounds i8, ptr %26, i64 %24 + %28 = load ptr, ptr %ptr_.i.i, align 8 + %add.ptr.i.i = getelementptr inbounds i8, ptr %28, i64 %26 call void @llvm.memmove.p0.p0.i64(ptr align 1 %add.ptr.i.i, ptr align 1 %begin.addr.011.i.i, i64 %spec.select.i.i, i1 false) %.pre14.i.i = load i64, ptr %size_.i.i, align 8 br label %_ZSt20uninitialized_copy_nIPKcmPcET1_T_T0_S3_.exit.i.i _ZSt20uninitialized_copy_nIPKcmPcET1_T_T0_S3_.exit.i.i: ; preds = %if.then.i.i.i.i.i.i.i.i.i.i.i, %_ZN3fmt3v106detail6bufferIcE11try_reserveEm.exit.i.i - %27 = phi i64 [ %24, %_ZN3fmt3v106detail6bufferIcE11try_reserveEm.exit.i.i ], [ %.pre14.i.i, %if.then.i.i.i.i.i.i.i.i.i.i.i ] - %add7.i.i = add i64 %27, %spec.select.i.i + %29 = phi i64 [ %26, %_ZN3fmt3v106detail6bufferIcE11try_reserveEm.exit.i.i ], [ %.pre14.i.i, %if.then.i.i.i.i.i.i.i.i.i.i.i ] + %add7.i.i = add i64 %29, %spec.select.i.i store i64 %add7.i.i, ptr %size_.i.i, align 8 %add.ptr8.i.i = getelementptr inbounds i8, ptr %begin.addr.011.i.i, i64 %spec.select.i.i %cmp.not.i.i = icmp eq ptr %add.ptr8.i.i, %add.ptr.i @@ -16237,96 +16237,96 @@ _ZSt20uninitialized_copy_nIPKcmPcET1_T_T0_S3_.exit.i.i: ; preds = %if.then.i.i.i _ZN3fmt3v106detail8copy_strIcPKcEENS0_8appenderET0_S6_S5_.exit: ; preds = %_ZSt20uninitialized_copy_nIPKcmPcET1_T_T0_S3_.exit.i.i, %while.body store ptr %retval.sroa.0.099, ptr %ctx, align 8 - %28 = load i32, ptr %width_ref.i40, align 8 - %cmp.i.not = icmp eq i32 %28, 0 - %29 = load i32, ptr %precision_ref.i43, align 8 - %cmp4.i.not = icmp eq i32 %29, 0 + %30 = load i32, ptr %width_ref.i40, align 8 + %cmp.i.not = icmp eq i32 %30, 0 + %31 = load i32, ptr %precision_ref.i43, align 8 + %cmp4.i.not = icmp eq i32 %31, 0 %or.cond41 = select i1 %cmp.i.not, i1 %cmp4.i.not, i1 false br i1 %or.cond41, label %if.end.i, label %if.then.i if.then.i: ; preds = %_ZN3fmt3v106detail8copy_strIcPKcEENS0_8appenderET0_S6_S5_.exit call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(64) %specs.i, ptr noundef nonnull align 8 dereferenceable(64) %this, i64 64, i1 false) - call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %specs.i, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %width_ref6.i, ptr noundef nonnull align 8 dereferenceable(32) %ctx) + call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %specs.i, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %20, ptr noundef nonnull align 8 dereferenceable(32) %ctx) call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_17precision_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %precision.i, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %precision_ref8.i, ptr noundef nonnull align 8 dereferenceable(32) %ctx) %retval.sroa.0.0.copyload.i63 = load ptr, ptr %ctx, align 8 - %30 = load i32, ptr %it.0100, align 4 + %32 = load i32, ptr %it.0100, align 4 %retval.sroa.0.0.copyload.i65 = load ptr, ptr %loc_.i64, align 8 %bf.load.i103 = load i16, ptr %localized.i102, align 1 - %31 = and i16 %bf.load.i103, 256 - %bf.cast.i106.not = icmp eq i16 %31, 0 + %33 = and i16 %bf.load.i103, 256 + %bf.cast.i106.not = icmp eq i16 %33, 0 br i1 %bf.cast.i106.not, label %if.end.i107, label %land.lhs.true.i115 land.lhs.true.i115: ; preds = %if.then.i store i32 1, ptr %type_.i.i.i66, align 16, !alias.scope !196 - %retval.i.sroa.0.0.insert.ext.i.i67 = zext i32 %30 to i64 + %retval.i.sroa.0.0.insert.ext.i.i67 = zext i32 %32 to i64 store i64 %retval.i.sroa.0.0.insert.ext.i.i67, ptr %agg.tmp3.i97, align 16, !alias.scope !196 %call.i116 = call noundef zeroext i1 @_ZN3fmt3v106detail9write_locENS0_8appenderENS0_9loc_valueERKNS0_12format_specsIcEENS1_10locale_refE(ptr %retval.sroa.0.0.copyload.i63, ptr noundef nonnull byval(%"class.fmt::v10::loc_value") align 16 %agg.tmp3.i97, ptr noundef nonnull align 4 dereferenceable(16) %specs.i, ptr %retval.sroa.0.0.copyload.i65) br i1 %call.i116, label %_ZNK3fmt3v109formatterIicvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEERKiRT_.exit, label %if.end.i107 if.end.i107: ; preds = %land.lhs.true.i115, %if.then.i - %cmp.i.i68 = icmp slt i32 %30, 0 + %cmp.i.i68 = icmp slt i32 %32, 0 br i1 %cmp.i.i68, label %if.then.i77, label %if.else.i69 if.then.i77: ; preds = %if.end.i107 - %sub.i78 = sub i32 0, %30 + %sub.i78 = sub i32 0, %32 br label %_ZN3fmt3v106detail18make_write_int_argIiEENS1_13write_int_argINSt11conditionalIXaalecl8num_bitsIT_EELi32EntLi0EEjNS4_IXlecl8num_bitsIS5_EELi64EEmoE4typeEE4typeEEES5_NS0_4sign4typeE.exit79 if.else.i69: ; preds = %if.end.i107 %bf.load10.i109 = load i16, ptr %localized.i102, align 1 - %32 = lshr i16 %bf.load10.i109, 4 - %33 = and i16 %32, 7 - %bf.cast13.i112 = zext nneg i16 %33 to i64 + %34 = lshr i16 %bf.load10.i109, 4 + %35 = and i16 %34, 7 + %bf.cast13.i112 = zext nneg i16 %35 to i64 %arrayidx.i71 = getelementptr inbounds [4 x i32], ptr @__const._ZN3fmt3v106detail18make_write_int_argIiEENS1_13write_int_argINSt11conditionalIXaalecl8num_bitsIT_EELi32EntLi0EEjNS4_IXlecl8num_bitsIS5_EELi64EEmoE4typeEE4typeEEES5_NS0_4sign4typeE.prefixes, i64 0, i64 %bf.cast13.i112 - %34 = load i32, ptr %arrayidx.i71, align 4 - %35 = zext i32 %34 to i64 - %36 = shl nuw i64 %35, 32 + %36 = load i32, ptr %arrayidx.i71, align 4 + %37 = zext i32 %36 to i64 + %38 = shl nuw i64 %37, 32 br label %_ZN3fmt3v106detail18make_write_int_argIiEENS1_13write_int_argINSt11conditionalIXaalecl8num_bitsIT_EELi32EntLi0EEjNS4_IXlecl8num_bitsIS5_EELi64EEmoE4typeEE4typeEEES5_NS0_4sign4typeE.exit79 _ZN3fmt3v106detail18make_write_int_argIiEENS1_13write_int_argINSt11conditionalIXaalecl8num_bitsIT_EELi32EntLi0EEjNS4_IXlecl8num_bitsIS5_EELi64EEmoE4typeEE4typeEEES5_NS0_4sign4typeE.exit79: ; preds = %if.then.i77, %if.else.i69 - %prefix.0.i73 = phi i64 [ 72057787311456256, %if.then.i77 ], [ %36, %if.else.i69 ] - %abs_value.0.i74 = phi i32 [ %sub.i78, %if.then.i77 ], [ %30, %if.else.i69 ] + %prefix.0.i73 = phi i64 [ 72057787311456256, %if.then.i77 ], [ %38, %if.else.i69 ] + %abs_value.0.i74 = phi i32 [ %sub.i78, %if.then.i77 ], [ %32, %if.else.i69 ] %retval.sroa.0.0.insert.ext.i75 = zext i32 %abs_value.0.i74 to i64 %retval.sroa.0.0.insert.insert.i76 = or disjoint i64 %prefix.0.i73, %retval.sroa.0.0.insert.ext.i75 %call19.i114 = call ptr @_ZN3fmt3v106detail18write_int_noinlineIcNS0_8appenderEjEET0_S4_NS1_13write_int_argIT1_EERKNS0_12format_specsIT_EENS1_10locale_refE(ptr %retval.sroa.0.0.copyload.i63, i64 %retval.sroa.0.0.insert.insert.i76, ptr noundef nonnull align 4 dereferenceable(16) %specs.i, ptr %retval.sroa.0.0.copyload.i65) br label %_ZNK3fmt3v109formatterIicvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEERKiRT_.exit if.end.i: ; preds = %_ZN3fmt3v106detail8copy_strIcPKcEENS0_8appenderET0_S6_S5_.exit - %37 = load i32, ptr %it.0100, align 4 + %39 = load i32, ptr %it.0100, align 4 %retval.sroa.0.0.copyload.i82 = load ptr, ptr %loc_.i64, align 8 %bf.load.i131 = load i16, ptr %localized.i130, align 1 - %38 = and i16 %bf.load.i131, 256 - %bf.cast.i134.not = icmp eq i16 %38, 0 + %40 = and i16 %bf.load.i131, 256 + %bf.cast.i134.not = icmp eq i16 %40, 0 br i1 %bf.cast.i134.not, label %if.end.i135, label %land.lhs.true.i143 land.lhs.true.i143: ; preds = %if.end.i store i32 1, ptr %type_.i.i.i83, align 16, !alias.scope !199 - %retval.i.sroa.0.0.insert.ext.i.i84 = zext i32 %37 to i64 + %retval.i.sroa.0.0.insert.ext.i.i84 = zext i32 %39 to i64 store i64 %retval.i.sroa.0.0.insert.ext.i.i84, ptr %agg.tmp3.i125, align 16, !alias.scope !199 %call.i144 = call noundef zeroext i1 @_ZN3fmt3v106detail9write_locENS0_8appenderENS0_9loc_valueERKNS0_12format_specsIcEENS1_10locale_refE(ptr %retval.sroa.0.099, ptr noundef nonnull byval(%"class.fmt::v10::loc_value") align 16 %agg.tmp3.i125, ptr noundef nonnull align 4 dereferenceable(16) %this, ptr %retval.sroa.0.0.copyload.i82) br i1 %call.i144, label %_ZNK3fmt3v109formatterIicvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEERKiRT_.exit, label %if.end.i135 if.end.i135: ; preds = %land.lhs.true.i143, %if.end.i - %cmp.i.i85 = icmp slt i32 %37, 0 + %cmp.i.i85 = icmp slt i32 %39, 0 br i1 %cmp.i.i85, label %if.then.i94, label %if.else.i86 if.then.i94: ; preds = %if.end.i135 - %sub.i95 = sub i32 0, %37 + %sub.i95 = sub i32 0, %39 br label %_ZN3fmt3v106detail18make_write_int_argIiEENS1_13write_int_argINSt11conditionalIXaalecl8num_bitsIT_EELi32EntLi0EEjNS4_IXlecl8num_bitsIS5_EELi64EEmoE4typeEE4typeEEES5_NS0_4sign4typeE.exit96 if.else.i86: ; preds = %if.end.i135 %bf.load10.i137 = load i16, ptr %localized.i130, align 1 - %39 = lshr i16 %bf.load10.i137, 4 - %40 = and i16 %39, 7 - %bf.cast13.i140 = zext nneg i16 %40 to i64 + %41 = lshr i16 %bf.load10.i137, 4 + %42 = and i16 %41, 7 + %bf.cast13.i140 = zext nneg i16 %42 to i64 %arrayidx.i88 = getelementptr inbounds [4 x i32], ptr @__const._ZN3fmt3v106detail18make_write_int_argIiEENS1_13write_int_argINSt11conditionalIXaalecl8num_bitsIT_EELi32EntLi0EEjNS4_IXlecl8num_bitsIS5_EELi64EEmoE4typeEE4typeEEES5_NS0_4sign4typeE.prefixes, i64 0, i64 %bf.cast13.i140 - %41 = load i32, ptr %arrayidx.i88, align 4 - %42 = zext i32 %41 to i64 - %43 = shl nuw i64 %42, 32 + %43 = load i32, ptr %arrayidx.i88, align 4 + %44 = zext i32 %43 to i64 + %45 = shl nuw i64 %44, 32 br label %_ZN3fmt3v106detail18make_write_int_argIiEENS1_13write_int_argINSt11conditionalIXaalecl8num_bitsIT_EELi32EntLi0EEjNS4_IXlecl8num_bitsIS5_EELi64EEmoE4typeEE4typeEEES5_NS0_4sign4typeE.exit96 _ZN3fmt3v106detail18make_write_int_argIiEENS1_13write_int_argINSt11conditionalIXaalecl8num_bitsIT_EELi32EntLi0EEjNS4_IXlecl8num_bitsIS5_EELi64EEmoE4typeEE4typeEEES5_NS0_4sign4typeE.exit96: ; preds = %if.then.i94, %if.else.i86 - %prefix.0.i90 = phi i64 [ 72057787311456256, %if.then.i94 ], [ %43, %if.else.i86 ] - %abs_value.0.i91 = phi i32 [ %sub.i95, %if.then.i94 ], [ %37, %if.else.i86 ] + %prefix.0.i90 = phi i64 [ 72057787311456256, %if.then.i94 ], [ %45, %if.else.i86 ] + %abs_value.0.i91 = phi i32 [ %sub.i95, %if.then.i94 ], [ %39, %if.else.i86 ] %retval.sroa.0.0.insert.ext.i92 = zext i32 %abs_value.0.i91 to i64 %retval.sroa.0.0.insert.insert.i93 = or disjoint i64 %prefix.0.i90, %retval.sroa.0.0.insert.ext.i92 %call19.i142 = call ptr @_ZN3fmt3v106detail18write_int_noinlineIcNS0_8appenderEjEET0_S4_NS1_13write_int_argIT1_EERKNS0_12format_specsIT_EENS1_10locale_refE(ptr %retval.sroa.0.099, i64 %retval.sroa.0.0.insert.insert.i93, ptr noundef nonnull align 4 dereferenceable(16) %this, ptr %retval.sroa.0.0.copyload.i82) @@ -16335,8 +16335,8 @@ _ZN3fmt3v106detail18make_write_int_argIiEENS1_13write_int_argINSt11conditionalIX _ZNK3fmt3v109formatterIicvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEERKiRT_.exit: ; preds = %_ZN3fmt3v106detail18make_write_int_argIiEENS1_13write_int_argINSt11conditionalIXaalecl8num_bitsIT_EELi32EntLi0EEjNS4_IXlecl8num_bitsIS5_EELi64EEmoE4typeEE4typeEEES5_NS0_4sign4typeE.exit96, %land.lhs.true.i143, %_ZN3fmt3v106detail18make_write_int_argIiEENS1_13write_int_argINSt11conditionalIXaalecl8num_bitsIT_EELi32EntLi0EEjNS4_IXlecl8num_bitsIS5_EELi64EEmoE4typeEE4typeEEES5_NS0_4sign4typeE.exit79, %land.lhs.true.i115 %retval.i.sroa.0.0 = phi ptr [ %call19.i114, %_ZN3fmt3v106detail18make_write_int_argIiEENS1_13write_int_argINSt11conditionalIXaalecl8num_bitsIT_EELi32EntLi0EEjNS4_IXlecl8num_bitsIS5_EELi64EEmoE4typeEE4typeEEES5_NS0_4sign4typeE.exit79 ], [ %retval.sroa.0.0.copyload.i63, %land.lhs.true.i115 ], [ %call19.i142, %_ZN3fmt3v106detail18make_write_int_argIiEENS1_13write_int_argINSt11conditionalIXaalecl8num_bitsIT_EELi32EntLi0EEjNS4_IXlecl8num_bitsIS5_EELi64EEmoE4typeEE4typeEEES5_NS0_4sign4typeE.exit96 ], [ %retval.sroa.0.099, %land.lhs.true.i143 ] %it.0 = getelementptr inbounds i8, ptr %it.0100, i64 4 - %44 = load ptr, ptr %end, align 8 - %cmp7.not = icmp eq ptr %it.0, %44 + %46 = load ptr, ptr %end, align 8 + %cmp7.not = icmp eq ptr %it.0, %46 br i1 %cmp7.not, label %if.end, label %while.body, !llvm.loop !202 if.end: ; preds = %_ZNK3fmt3v109formatterIicvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEERKiRT_.exit, %_ZNK3fmt3v109formatterIicvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEERKiRT_.exit56, %entry diff --git a/bench/fmt/optimized/ostream-test.cc.ll b/bench/fmt/optimized/ostream-test.cc.ll index 40cef06b05d..db0326609c1 100644 --- a/bench/fmt/optimized/ostream-test.cc.ll +++ b/bench/fmt/optimized/ostream-test.cc.ll @@ -14852,8 +14852,8 @@ invoke.cont3: ; preds = %entry if.then.i: ; preds = %invoke.cont3 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(64) %specs.i, ptr noundef nonnull align 8 dereferenceable(64) %this, i64 64, i1 false) - %width_ref6.i = getelementptr inbounds i8, ptr %specs.i, i64 16 - invoke void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %specs.i, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %width_ref6.i, ptr noundef nonnull align 8 dereferenceable(32) %ctx) + %4 = getelementptr inbounds i8, ptr %this, i64 16 + invoke void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %specs.i, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %4, ptr noundef nonnull align 8 dereferenceable(32) %ctx) to label %.noexc unwind label %lpad2 .noexc: ; preds = %if.then.i @@ -14863,29 +14863,29 @@ if.then.i: ; preds = %invoke.cont3 to label %if.end.i.invoke unwind label %lpad2 if.end.i.invoke: ; preds = %invoke.cont3, %.noexc - %4 = phi ptr [ %specs.i, %.noexc ], [ %this, %invoke.cont3 ] + %5 = phi ptr [ %specs.i, %.noexc ], [ %this, %invoke.cont3 ] %retval.sroa.0.0.copyload.i = load ptr, ptr %ctx, align 8 - %5 = invoke ptr @_ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_NS0_17basic_string_viewIT_EERKNS0_12format_specsIS6_EE(ptr %retval.sroa.0.0.copyload.i, ptr %0, i64 %1, ptr noundef nonnull align 4 dereferenceable(16) %4) + %6 = invoke ptr @_ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_NS0_17basic_string_viewIT_EERKNS0_12format_specsIS6_EE(ptr %retval.sroa.0.0.copyload.i, ptr %0, i64 %1, ptr noundef nonnull align 4 dereferenceable(16) %5) to label %_ZNK3fmt3v109formatterINS0_17basic_string_viewIcEEcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEERKS3_RT_.exit unwind label %lpad2 _ZNK3fmt3v109formatterINS0_17basic_string_viewIcEEcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEERKS3_RT_.exit: ; preds = %if.end.i.invoke - %6 = load ptr, ptr %ptr_.i.i, align 8 - %cmp.not.i.i = icmp eq ptr %6, %store_.i + %7 = load ptr, ptr %ptr_.i.i, align 8 + %cmp.not.i.i = icmp eq ptr %7, %store_.i br i1 %cmp.not.i.i, label %_ZN3fmt3v1019basic_memory_bufferIcLm500ESaIcEED2Ev.exit, label %if.then.i.i if.then.i.i: ; preds = %_ZNK3fmt3v109formatterINS0_17basic_string_viewIcEEcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEERKS3_RT_.exit - call void @_ZdlPv(ptr noundef %6) #26 + call void @_ZdlPv(ptr noundef %7) #26 br label %_ZN3fmt3v1019basic_memory_bufferIcLm500ESaIcEED2Ev.exit _ZN3fmt3v1019basic_memory_bufferIcLm500ESaIcEED2Ev.exit: ; preds = %_ZNK3fmt3v109formatterINS0_17basic_string_viewIcEEcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEERKS3_RT_.exit, %if.then.i.i call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %alloc_.i) #25 - ret ptr %5 + ret ptr %6 lpad2: ; preds = %if.end.i.invoke, %.noexc, %if.then.i, %entry - %7 = landingpad { ptr, i32 } + %8 = landingpad { ptr, i32 } cleanup call void @_ZN3fmt3v1019basic_memory_bufferIcLm500ESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(536) %buffer) #25 - resume { ptr, i32 } %7 + resume { ptr, i32 } %8 } ; Function Attrs: noreturn @@ -18269,8 +18269,8 @@ invoke.cont3: ; preds = %entry if.then.i: ; preds = %invoke.cont3 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(64) %specs.i, ptr noundef nonnull align 8 dereferenceable(64) %this, i64 64, i1 false) - %width_ref6.i = getelementptr inbounds i8, ptr %specs.i, i64 16 - invoke void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %specs.i, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %width_ref6.i, ptr noundef nonnull align 8 dereferenceable(32) %ctx) + %4 = getelementptr inbounds i8, ptr %this, i64 16 + invoke void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %specs.i, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %4, ptr noundef nonnull align 8 dereferenceable(32) %ctx) to label %.noexc unwind label %lpad2 .noexc: ; preds = %if.then.i @@ -18280,29 +18280,29 @@ if.then.i: ; preds = %invoke.cont3 to label %if.end.i.invoke unwind label %lpad2 if.end.i.invoke: ; preds = %invoke.cont3, %.noexc - %4 = phi ptr [ %specs.i, %.noexc ], [ %this, %invoke.cont3 ] + %5 = phi ptr [ %specs.i, %.noexc ], [ %this, %invoke.cont3 ] %retval.sroa.0.0.copyload.i = load ptr, ptr %ctx, align 8 - %5 = invoke ptr @_ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_NS0_17basic_string_viewIT_EERKNS0_12format_specsIS6_EE(ptr %retval.sroa.0.0.copyload.i, ptr %0, i64 %1, ptr noundef nonnull align 4 dereferenceable(16) %4) + %6 = invoke ptr @_ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_NS0_17basic_string_viewIT_EERKNS0_12format_specsIS6_EE(ptr %retval.sroa.0.0.copyload.i, ptr %0, i64 %1, ptr noundef nonnull align 4 dereferenceable(16) %5) to label %_ZNK3fmt3v109formatterINS0_17basic_string_viewIcEEcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEERKS3_RT_.exit unwind label %lpad2 _ZNK3fmt3v109formatterINS0_17basic_string_viewIcEEcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEERKS3_RT_.exit: ; preds = %if.end.i.invoke - %6 = load ptr, ptr %ptr_.i.i, align 8 - %cmp.not.i.i = icmp eq ptr %6, %store_.i + %7 = load ptr, ptr %ptr_.i.i, align 8 + %cmp.not.i.i = icmp eq ptr %7, %store_.i br i1 %cmp.not.i.i, label %_ZN3fmt3v1019basic_memory_bufferIcLm500ESaIcEED2Ev.exit, label %if.then.i.i if.then.i.i: ; preds = %_ZNK3fmt3v109formatterINS0_17basic_string_viewIcEEcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEERKS3_RT_.exit - call void @_ZdlPv(ptr noundef %6) #26 + call void @_ZdlPv(ptr noundef %7) #26 br label %_ZN3fmt3v1019basic_memory_bufferIcLm500ESaIcEED2Ev.exit _ZN3fmt3v1019basic_memory_bufferIcLm500ESaIcEED2Ev.exit: ; preds = %_ZNK3fmt3v109formatterINS0_17basic_string_viewIcEEcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEERKS3_RT_.exit, %if.then.i.i call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %alloc_.i) #25 - ret ptr %5 + ret ptr %6 lpad2: ; preds = %if.end.i.invoke, %.noexc, %if.then.i, %entry - %7 = landingpad { ptr, i32 } + %8 = landingpad { ptr, i32 } cleanup call void @_ZN3fmt3v1019basic_memory_bufferIcLm500ESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(536) %buffer) #25 - resume { ptr, i32 } %7 + resume { ptr, i32 } %8 } ; Function Attrs: mustprogress uwtable @@ -18512,8 +18512,8 @@ invoke.cont3: ; preds = %entry if.then.i: ; preds = %invoke.cont3 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(64) %specs.i, ptr noundef nonnull align 8 dereferenceable(64) %this, i64 64, i1 false) - %width_ref6.i = getelementptr inbounds i8, ptr %specs.i, i64 16 - invoke void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %specs.i, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %width_ref6.i, ptr noundef nonnull align 8 dereferenceable(32) %ctx) + %4 = getelementptr inbounds i8, ptr %this, i64 16 + invoke void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %specs.i, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %4, ptr noundef nonnull align 8 dereferenceable(32) %ctx) to label %.noexc unwind label %lpad2 .noexc: ; preds = %if.then.i @@ -18523,29 +18523,29 @@ if.then.i: ; preds = %invoke.cont3 to label %if.end.i.invoke unwind label %lpad2 if.end.i.invoke: ; preds = %invoke.cont3, %.noexc - %4 = phi ptr [ %specs.i, %.noexc ], [ %this, %invoke.cont3 ] + %5 = phi ptr [ %specs.i, %.noexc ], [ %this, %invoke.cont3 ] %retval.sroa.0.0.copyload.i = load ptr, ptr %ctx, align 8 - %5 = invoke ptr @_ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_NS0_17basic_string_viewIT_EERKNS0_12format_specsIS6_EE(ptr %retval.sroa.0.0.copyload.i, ptr %0, i64 %1, ptr noundef nonnull align 4 dereferenceable(16) %4) + %6 = invoke ptr @_ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_NS0_17basic_string_viewIT_EERKNS0_12format_specsIS6_EE(ptr %retval.sroa.0.0.copyload.i, ptr %0, i64 %1, ptr noundef nonnull align 4 dereferenceable(16) %5) to label %_ZNK3fmt3v109formatterINS0_17basic_string_viewIcEEcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEERKS3_RT_.exit unwind label %lpad2 _ZNK3fmt3v109formatterINS0_17basic_string_viewIcEEcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEERKS3_RT_.exit: ; preds = %if.end.i.invoke - %6 = load ptr, ptr %ptr_.i.i, align 8 - %cmp.not.i.i = icmp eq ptr %6, %store_.i + %7 = load ptr, ptr %ptr_.i.i, align 8 + %cmp.not.i.i = icmp eq ptr %7, %store_.i br i1 %cmp.not.i.i, label %_ZN3fmt3v1019basic_memory_bufferIcLm500ESaIcEED2Ev.exit, label %if.then.i.i if.then.i.i: ; preds = %_ZNK3fmt3v109formatterINS0_17basic_string_viewIcEEcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEERKS3_RT_.exit - call void @_ZdlPv(ptr noundef %6) #26 + call void @_ZdlPv(ptr noundef %7) #26 br label %_ZN3fmt3v1019basic_memory_bufferIcLm500ESaIcEED2Ev.exit _ZN3fmt3v1019basic_memory_bufferIcLm500ESaIcEED2Ev.exit: ; preds = %_ZNK3fmt3v109formatterINS0_17basic_string_viewIcEEcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEERKS3_RT_.exit, %if.then.i.i call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %alloc_.i) #25 - ret ptr %5 + ret ptr %6 lpad2: ; preds = %if.end.i.invoke, %.noexc, %if.then.i, %entry - %7 = landingpad { ptr, i32 } + %8 = landingpad { ptr, i32 } cleanup call void @_ZN3fmt3v1019basic_memory_bufferIcLm500ESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(536) %buffer) #25 - resume { ptr, i32 } %7 + resume { ptr, i32 } %8 } ; Function Attrs: mustprogress uwtable @@ -19053,8 +19053,8 @@ invoke.cont3: ; preds = %entry if.then.i: ; preds = %invoke.cont3 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(64) %specs.i, ptr noundef nonnull align 8 dereferenceable(64) %this, i64 64, i1 false) - %width_ref6.i = getelementptr inbounds i8, ptr %specs.i, i64 16 - invoke void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %specs.i, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %width_ref6.i, ptr noundef nonnull align 8 dereferenceable(32) %ctx) + %4 = getelementptr inbounds i8, ptr %this, i64 16 + invoke void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %specs.i, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %4, ptr noundef nonnull align 8 dereferenceable(32) %ctx) to label %.noexc unwind label %lpad2 .noexc: ; preds = %if.then.i @@ -19064,29 +19064,29 @@ if.then.i: ; preds = %invoke.cont3 to label %if.end.i.invoke unwind label %lpad2 if.end.i.invoke: ; preds = %invoke.cont3, %.noexc - %4 = phi ptr [ %specs.i, %.noexc ], [ %this, %invoke.cont3 ] + %5 = phi ptr [ %specs.i, %.noexc ], [ %this, %invoke.cont3 ] %retval.sroa.0.0.copyload.i = load ptr, ptr %ctx, align 8 - %5 = invoke ptr @_ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_NS0_17basic_string_viewIT_EERKNS0_12format_specsIS6_EE(ptr %retval.sroa.0.0.copyload.i, ptr %0, i64 %1, ptr noundef nonnull align 4 dereferenceable(16) %4) + %6 = invoke ptr @_ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_NS0_17basic_string_viewIT_EERKNS0_12format_specsIS6_EE(ptr %retval.sroa.0.0.copyload.i, ptr %0, i64 %1, ptr noundef nonnull align 4 dereferenceable(16) %5) to label %_ZNK3fmt3v109formatterINS0_17basic_string_viewIcEEcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEERKS3_RT_.exit unwind label %lpad2 _ZNK3fmt3v109formatterINS0_17basic_string_viewIcEEcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEERKS3_RT_.exit: ; preds = %if.end.i.invoke - %6 = load ptr, ptr %ptr_.i.i, align 8 - %cmp.not.i.i = icmp eq ptr %6, %store_.i + %7 = load ptr, ptr %ptr_.i.i, align 8 + %cmp.not.i.i = icmp eq ptr %7, %store_.i br i1 %cmp.not.i.i, label %_ZN3fmt3v1019basic_memory_bufferIcLm500ESaIcEED2Ev.exit, label %if.then.i.i if.then.i.i: ; preds = %_ZNK3fmt3v109formatterINS0_17basic_string_viewIcEEcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEERKS3_RT_.exit - call void @_ZdlPv(ptr noundef %6) #26 + call void @_ZdlPv(ptr noundef %7) #26 br label %_ZN3fmt3v1019basic_memory_bufferIcLm500ESaIcEED2Ev.exit _ZN3fmt3v1019basic_memory_bufferIcLm500ESaIcEED2Ev.exit: ; preds = %_ZNK3fmt3v109formatterINS0_17basic_string_viewIcEEcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEERKS3_RT_.exit, %if.then.i.i call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %alloc_.i) #25 - ret ptr %5 + ret ptr %6 lpad2: ; preds = %if.end.i.invoke, %.noexc, %if.then.i, %entry - %7 = landingpad { ptr, i32 } + %8 = landingpad { ptr, i32 } cleanup call void @_ZN3fmt3v1019basic_memory_bufferIcLm500ESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(536) %buffer) #25 - resume { ptr, i32 } %7 + resume { ptr, i32 } %8 } ; Function Attrs: mustprogress uwtable @@ -21033,96 +21033,96 @@ if.then: ; preds = %entry if.then.i49: ; preds = %if.then call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(64) %specs.i32, ptr noundef nonnull align 8 dereferenceable(64) %this, i64 64, i1 false) - %width_ref6.i50 = getelementptr inbounds i8, ptr %specs.i32, i64 16 - call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %specs.i32, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %width_ref6.i50, ptr noundef nonnull align 8 dereferenceable(32) %ctx) + %4 = getelementptr inbounds i8, ptr %this, i64 16 + call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %specs.i32, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %4, ptr noundef nonnull align 8 dereferenceable(32) %ctx) %precision.i51 = getelementptr inbounds i8, ptr %specs.i32, i64 4 %precision_ref8.i52 = getelementptr inbounds i8, ptr %specs.i32, i64 40 call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_17precision_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %precision.i51, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %precision_ref8.i52, ptr noundef nonnull align 8 dereferenceable(32) %ctx) %retval.sroa.0.0.copyload.i42 = load ptr, ptr %ctx, align 8 - %4 = load i32, ptr %0, align 4 + %5 = load i32, ptr %0, align 4 %loc_.i = getelementptr inbounds i8, ptr %ctx, i64 24 %retval.sroa.0.0.copyload.i43 = load ptr, ptr %loc_.i, align 8 %localized.i = getelementptr inbounds i8, ptr %specs.i32, i64 9 %bf.load.i = load i16, ptr %localized.i, align 1 - %5 = and i16 %bf.load.i, 256 - %bf.cast.i.not = icmp eq i16 %5, 0 + %6 = and i16 %bf.load.i, 256 + %bf.cast.i.not = icmp eq i16 %6, 0 br i1 %bf.cast.i.not, label %if.end.i60, label %land.lhs.true.i land.lhs.true.i: ; preds = %if.then.i49 %type_.i.i.i = getelementptr inbounds i8, ptr %agg.tmp3.i, i64 16 store i32 1, ptr %type_.i.i.i, align 16, !alias.scope !536 - %retval.i.sroa.0.0.insert.ext.i.i = zext i32 %4 to i64 + %retval.i.sroa.0.0.insert.ext.i.i = zext i32 %5 to i64 store i64 %retval.i.sroa.0.0.insert.ext.i.i, ptr %agg.tmp3.i, align 16, !alias.scope !536 %call.i61 = call noundef zeroext i1 @_ZN3fmt3v106detail9write_locENS0_8appenderENS0_9loc_valueERKNS0_12format_specsIcEENS1_10locale_refE(ptr %retval.sroa.0.0.copyload.i42, ptr noundef nonnull byval(%"class.fmt::v10::loc_value") align 16 %agg.tmp3.i, ptr noundef nonnull align 4 dereferenceable(16) %specs.i32, ptr %retval.sroa.0.0.copyload.i43) br i1 %call.i61, label %_ZNK3fmt3v109formatterIicvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEERKiRT_.exit56, label %if.end.i60 if.end.i60: ; preds = %land.lhs.true.i, %if.then.i49 - %cmp.i.i = icmp slt i32 %4, 0 + %cmp.i.i = icmp slt i32 %5, 0 br i1 %cmp.i.i, label %if.then.i45, label %if.else.i if.then.i45: ; preds = %if.end.i60 - %sub.i = sub i32 0, %4 + %sub.i = sub i32 0, %5 br label %_ZN3fmt3v106detail18make_write_int_argIiEENS1_13write_int_argINSt11conditionalIXaalecl8num_bitsIT_EELi32EntLi0EEjNS4_IXlecl8num_bitsIS5_EELi64EEmoE4typeEE4typeEEES5_NS0_4sign4typeE.exit if.else.i: ; preds = %if.end.i60 %bf.load10.i = load i16, ptr %localized.i, align 1 - %6 = lshr i16 %bf.load10.i, 4 - %7 = and i16 %6, 7 - %bf.cast13.i = zext nneg i16 %7 to i64 + %7 = lshr i16 %bf.load10.i, 4 + %8 = and i16 %7, 7 + %bf.cast13.i = zext nneg i16 %8 to i64 %arrayidx.i = getelementptr inbounds [4 x i32], ptr @__const._ZN3fmt3v106detail18make_write_int_argIiEENS1_13write_int_argINSt11conditionalIXaalecl8num_bitsIT_EELi32EntLi0EEjNS4_IXlecl8num_bitsIS5_EELi64EEmoE4typeEE4typeEEES5_NS0_4sign4typeE.prefixes, i64 0, i64 %bf.cast13.i - %8 = load i32, ptr %arrayidx.i, align 4 - %9 = zext i32 %8 to i64 - %10 = shl nuw i64 %9, 32 + %9 = load i32, ptr %arrayidx.i, align 4 + %10 = zext i32 %9 to i64 + %11 = shl nuw i64 %10, 32 br label %_ZN3fmt3v106detail18make_write_int_argIiEENS1_13write_int_argINSt11conditionalIXaalecl8num_bitsIT_EELi32EntLi0EEjNS4_IXlecl8num_bitsIS5_EELi64EEmoE4typeEE4typeEEES5_NS0_4sign4typeE.exit _ZN3fmt3v106detail18make_write_int_argIiEENS1_13write_int_argINSt11conditionalIXaalecl8num_bitsIT_EELi32EntLi0EEjNS4_IXlecl8num_bitsIS5_EELi64EEmoE4typeEE4typeEEES5_NS0_4sign4typeE.exit: ; preds = %if.then.i45, %if.else.i - %prefix.0.i = phi i64 [ 72057787311456256, %if.then.i45 ], [ %10, %if.else.i ] - %abs_value.0.i = phi i32 [ %sub.i, %if.then.i45 ], [ %4, %if.else.i ] + %prefix.0.i = phi i64 [ 72057787311456256, %if.then.i45 ], [ %11, %if.else.i ] + %abs_value.0.i = phi i32 [ %sub.i, %if.then.i45 ], [ %5, %if.else.i ] %retval.sroa.0.0.insert.ext.i = zext i32 %abs_value.0.i to i64 %retval.sroa.0.0.insert.insert.i = or disjoint i64 %prefix.0.i, %retval.sroa.0.0.insert.ext.i %call19.i = call ptr @_ZN3fmt3v106detail18write_int_noinlineIcNS0_8appenderEjEET0_S4_NS1_13write_int_argIT1_EERKNS0_12format_specsIT_EENS1_10locale_refE(ptr %retval.sroa.0.0.copyload.i42, i64 %retval.sroa.0.0.insert.insert.i, ptr noundef nonnull align 4 dereferenceable(16) %specs.i32, ptr %retval.sroa.0.0.copyload.i43) br label %_ZNK3fmt3v109formatterIicvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEERKiRT_.exit56 if.end.i45: ; preds = %if.then - %11 = load i32, ptr %0, align 4 + %12 = load i32, ptr %0, align 4 %loc_.i47 = getelementptr inbounds i8, ptr %ctx, i64 24 %retval.sroa.0.0.copyload.i48 = load ptr, ptr %loc_.i47, align 8 %localized.i74 = getelementptr inbounds i8, ptr %this, i64 9 %bf.load.i75 = load i16, ptr %localized.i74, align 1 - %12 = and i16 %bf.load.i75, 256 - %bf.cast.i78.not = icmp eq i16 %12, 0 + %13 = and i16 %bf.load.i75, 256 + %bf.cast.i78.not = icmp eq i16 %13, 0 br i1 %bf.cast.i78.not, label %if.end.i79, label %land.lhs.true.i87 land.lhs.true.i87: ; preds = %if.end.i45 %type_.i.i.i49 = getelementptr inbounds i8, ptr %agg.tmp3.i69, i64 16 store i32 1, ptr %type_.i.i.i49, align 16, !alias.scope !539 - %retval.i.sroa.0.0.insert.ext.i.i50 = zext i32 %11 to i64 + %retval.i.sroa.0.0.insert.ext.i.i50 = zext i32 %12 to i64 store i64 %retval.i.sroa.0.0.insert.ext.i.i50, ptr %agg.tmp3.i69, align 16, !alias.scope !539 %call.i88 = tail call noundef zeroext i1 @_ZN3fmt3v106detail9write_locENS0_8appenderENS0_9loc_valueERKNS0_12format_specsIcEENS1_10locale_refE(ptr %retval.sroa.0.0.copyload.i, ptr noundef nonnull byval(%"class.fmt::v10::loc_value") align 16 %agg.tmp3.i69, ptr noundef nonnull align 4 dereferenceable(16) %this, ptr %retval.sroa.0.0.copyload.i48) br i1 %call.i88, label %_ZNK3fmt3v109formatterIicvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEERKiRT_.exit56, label %if.end.i79 if.end.i79: ; preds = %land.lhs.true.i87, %if.end.i45 - %cmp.i.i51 = icmp slt i32 %11, 0 + %cmp.i.i51 = icmp slt i32 %12, 0 br i1 %cmp.i.i51, label %if.then.i60, label %if.else.i52 if.then.i60: ; preds = %if.end.i79 - %sub.i61 = sub i32 0, %11 + %sub.i61 = sub i32 0, %12 br label %_ZN3fmt3v106detail18make_write_int_argIiEENS1_13write_int_argINSt11conditionalIXaalecl8num_bitsIT_EELi32EntLi0EEjNS4_IXlecl8num_bitsIS5_EELi64EEmoE4typeEE4typeEEES5_NS0_4sign4typeE.exit62 if.else.i52: ; preds = %if.end.i79 %bf.load10.i81 = load i16, ptr %localized.i74, align 1 - %13 = lshr i16 %bf.load10.i81, 4 - %14 = and i16 %13, 7 - %bf.cast13.i84 = zext nneg i16 %14 to i64 + %14 = lshr i16 %bf.load10.i81, 4 + %15 = and i16 %14, 7 + %bf.cast13.i84 = zext nneg i16 %15 to i64 %arrayidx.i54 = getelementptr inbounds [4 x i32], ptr @__const._ZN3fmt3v106detail18make_write_int_argIiEENS1_13write_int_argINSt11conditionalIXaalecl8num_bitsIT_EELi32EntLi0EEjNS4_IXlecl8num_bitsIS5_EELi64EEmoE4typeEE4typeEEES5_NS0_4sign4typeE.prefixes, i64 0, i64 %bf.cast13.i84 - %15 = load i32, ptr %arrayidx.i54, align 4 - %16 = zext i32 %15 to i64 - %17 = shl nuw i64 %16, 32 + %16 = load i32, ptr %arrayidx.i54, align 4 + %17 = zext i32 %16 to i64 + %18 = shl nuw i64 %17, 32 br label %_ZN3fmt3v106detail18make_write_int_argIiEENS1_13write_int_argINSt11conditionalIXaalecl8num_bitsIT_EELi32EntLi0EEjNS4_IXlecl8num_bitsIS5_EELi64EEmoE4typeEE4typeEEES5_NS0_4sign4typeE.exit62 _ZN3fmt3v106detail18make_write_int_argIiEENS1_13write_int_argINSt11conditionalIXaalecl8num_bitsIT_EELi32EntLi0EEjNS4_IXlecl8num_bitsIS5_EELi64EEmoE4typeEE4typeEEES5_NS0_4sign4typeE.exit62: ; preds = %if.then.i60, %if.else.i52 - %prefix.0.i56 = phi i64 [ 72057787311456256, %if.then.i60 ], [ %17, %if.else.i52 ] - %abs_value.0.i57 = phi i32 [ %sub.i61, %if.then.i60 ], [ %11, %if.else.i52 ] + %prefix.0.i56 = phi i64 [ 72057787311456256, %if.then.i60 ], [ %18, %if.else.i52 ] + %abs_value.0.i57 = phi i32 [ %sub.i61, %if.then.i60 ], [ %12, %if.else.i52 ] %retval.sroa.0.0.insert.ext.i58 = zext i32 %abs_value.0.i57 to i64 %retval.sroa.0.0.insert.insert.i59 = or disjoint i64 %prefix.0.i56, %retval.sroa.0.0.insert.ext.i58 %call19.i86 = tail call ptr @_ZN3fmt3v106detail18write_int_noinlineIcNS0_8appenderEjEET0_S4_NS1_13write_int_argIT1_EERKNS0_12format_specsIT_EENS1_10locale_refE(ptr %retval.sroa.0.0.copyload.i, i64 %retval.sroa.0.0.insert.insert.i59, ptr noundef nonnull align 4 dereferenceable(16) %this, ptr %retval.sroa.0.0.copyload.i48) @@ -21131,14 +21131,13 @@ _ZN3fmt3v106detail18make_write_int_argIiEENS1_13write_int_argINSt11conditionalIX _ZNK3fmt3v109formatterIicvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEERKiRT_.exit56: ; preds = %_ZN3fmt3v106detail18make_write_int_argIiEENS1_13write_int_argINSt11conditionalIXaalecl8num_bitsIT_EELi32EntLi0EEjNS4_IXlecl8num_bitsIS5_EELi64EEmoE4typeEE4typeEEES5_NS0_4sign4typeE.exit62, %land.lhs.true.i87, %_ZN3fmt3v106detail18make_write_int_argIiEENS1_13write_int_argINSt11conditionalIXaalecl8num_bitsIT_EELi32EntLi0EEjNS4_IXlecl8num_bitsIS5_EELi64EEmoE4typeEE4typeEEES5_NS0_4sign4typeE.exit, %land.lhs.true.i %retval.i28.sroa.0.0 = phi ptr [ %call19.i, %_ZN3fmt3v106detail18make_write_int_argIiEENS1_13write_int_argINSt11conditionalIXaalecl8num_bitsIT_EELi32EntLi0EEjNS4_IXlecl8num_bitsIS5_EELi64EEmoE4typeEE4typeEEES5_NS0_4sign4typeE.exit ], [ %retval.sroa.0.0.copyload.i42, %land.lhs.true.i ], [ %call19.i86, %_ZN3fmt3v106detail18make_write_int_argIiEENS1_13write_int_argINSt11conditionalIXaalecl8num_bitsIT_EELi32EntLi0EEjNS4_IXlecl8num_bitsIS5_EELi64EEmoE4typeEE4typeEEES5_NS0_4sign4typeE.exit62 ], [ %retval.sroa.0.0.copyload.i, %land.lhs.true.i87 ] %it.097 = getelementptr inbounds i8, ptr %0, i64 4 - %18 = load ptr, ptr %end, align 8 - %cmp7.not98 = icmp eq ptr %it.097, %18 + %19 = load ptr, ptr %end, align 8 + %cmp7.not98 = icmp eq ptr %it.097, %19 br i1 %cmp7.not98, label %if.end, label %while.body.lr.ph while.body.lr.ph: ; preds = %_ZNK3fmt3v109formatterIicvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEERKiRT_.exit56 %sep = getelementptr inbounds i8, ptr %value, i64 16 %size_.i = getelementptr inbounds i8, ptr %value, i64 24 - %width_ref6.i = getelementptr inbounds i8, ptr %specs.i, i64 16 %precision.i = getelementptr inbounds i8, ptr %specs.i, i64 4 %precision_ref8.i = getelementptr inbounds i8, ptr %specs.i, i64 40 %loc_.i64 = getelementptr inbounds i8, ptr %ctx, i64 24 @@ -21146,15 +21145,16 @@ while.body.lr.ph: ; preds = %_ZNK3fmt3v109format %type_.i.i.i66 = getelementptr inbounds i8, ptr %agg.tmp3.i97, i64 16 %localized.i130 = getelementptr inbounds i8, ptr %this, i64 9 %type_.i.i.i83 = getelementptr inbounds i8, ptr %agg.tmp3.i125, i64 16 + %20 = getelementptr inbounds i8, ptr %this, i64 16 br label %while.body while.body: ; preds = %while.body.lr.ph, %_ZNK3fmt3v109formatterIicvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEERKiRT_.exit %it.0100 = phi ptr [ %it.097, %while.body.lr.ph ], [ %it.0, %_ZNK3fmt3v109formatterIicvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEERKiRT_.exit ] %retval.sroa.0.099 = phi ptr [ %retval.i28.sroa.0.0, %while.body.lr.ph ], [ %retval.i.sroa.0.0, %_ZNK3fmt3v109formatterIicvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEERKiRT_.exit ] - %19 = load ptr, ptr %sep, align 8 - %20 = load i64, ptr %size_.i, align 8 - %add.ptr.i = getelementptr inbounds i8, ptr %19, i64 %20 - %cmp.not10.i.i = icmp eq i64 %20, 0 + %21 = load ptr, ptr %sep, align 8 + %22 = load i64, ptr %size_.i, align 8 + %add.ptr.i = getelementptr inbounds i8, ptr %21, i64 %22 + %cmp.not10.i.i = icmp eq i64 %22, 0 br i1 %cmp.not10.i.i, label %_ZN3fmt3v106detail8copy_strIcPKcEENS0_8appenderET0_S6_S5_.exit, label %while.body.lr.ph.i.i while.body.lr.ph.i.i: ; preds = %while.body @@ -21166,41 +21166,41 @@ while.body.lr.ph.i.i: ; preds = %while.body br label %while.body.i.i while.body.i.i: ; preds = %_ZSt20uninitialized_copy_nIPKcmPcET1_T_T0_S3_.exit.i.i, %while.body.lr.ph.i.i - %21 = phi i64 [ %.pre.i.i, %while.body.lr.ph.i.i ], [ %add7.i.i, %_ZSt20uninitialized_copy_nIPKcmPcET1_T_T0_S3_.exit.i.i ] - %begin.addr.011.i.i = phi ptr [ %19, %while.body.lr.ph.i.i ], [ %add.ptr8.i.i, %_ZSt20uninitialized_copy_nIPKcmPcET1_T_T0_S3_.exit.i.i ] + %23 = phi i64 [ %.pre.i.i, %while.body.lr.ph.i.i ], [ %add7.i.i, %_ZSt20uninitialized_copy_nIPKcmPcET1_T_T0_S3_.exit.i.i ] + %begin.addr.011.i.i = phi ptr [ %21, %while.body.lr.ph.i.i ], [ %add.ptr8.i.i, %_ZSt20uninitialized_copy_nIPKcmPcET1_T_T0_S3_.exit.i.i ] %sub.ptr.rhs.cast.i.i = ptrtoint ptr %begin.addr.011.i.i to i64 %sub.ptr.sub.i.i = sub i64 %sub.ptr.lhs.cast.i.i, %sub.ptr.rhs.cast.i.i - %add.i.i = add i64 %sub.ptr.sub.i.i, %21 - %22 = load i64, ptr %capacity_.i.i.i, align 8 - %cmp.i.i.i = icmp ult i64 %22, %add.i.i + %add.i.i = add i64 %sub.ptr.sub.i.i, %23 + %24 = load i64, ptr %capacity_.i.i.i, align 8 + %cmp.i.i.i = icmp ult i64 %24, %add.i.i br i1 %cmp.i.i.i, label %if.then.i.i.i, label %_ZN3fmt3v106detail6bufferIcE11try_reserveEm.exit.i.i if.then.i.i.i: ; preds = %while.body.i.i %vtable.i.i.i = load ptr, ptr %retval.sroa.0.099, align 8 - %23 = load ptr, ptr %vtable.i.i.i, align 8 - call void %23(ptr noundef nonnull align 8 dereferenceable(32) %retval.sroa.0.099, i64 noundef %add.i.i) + %25 = load ptr, ptr %vtable.i.i.i, align 8 + call void %25(ptr noundef nonnull align 8 dereferenceable(32) %retval.sroa.0.099, i64 noundef %add.i.i) %.pre12.i.i = load i64, ptr %capacity_.i.i.i, align 8 %.pre13.i.i = load i64, ptr %size_.i.i, align 8 br label %_ZN3fmt3v106detail6bufferIcE11try_reserveEm.exit.i.i _ZN3fmt3v106detail6bufferIcE11try_reserveEm.exit.i.i: ; preds = %if.then.i.i.i, %while.body.i.i - %24 = phi i64 [ %21, %while.body.i.i ], [ %.pre13.i.i, %if.then.i.i.i ] - %25 = phi i64 [ %22, %while.body.i.i ], [ %.pre12.i.i, %if.then.i.i.i ] - %sub.i.i = sub i64 %25, %24 + %26 = phi i64 [ %23, %while.body.i.i ], [ %.pre13.i.i, %if.then.i.i.i ] + %27 = phi i64 [ %24, %while.body.i.i ], [ %.pre12.i.i, %if.then.i.i.i ] + %sub.i.i = sub i64 %27, %26 %spec.select.i.i = call i64 @llvm.umin.i64(i64 %sub.i.i, i64 %sub.ptr.sub.i.i) %tobool.not.i.i.i.i.i.i.i.i.i.i.i = icmp eq i64 %spec.select.i.i, 0 br i1 %tobool.not.i.i.i.i.i.i.i.i.i.i.i, label %_ZSt20uninitialized_copy_nIPKcmPcET1_T_T0_S3_.exit.i.i, label %if.then.i.i.i.i.i.i.i.i.i.i.i if.then.i.i.i.i.i.i.i.i.i.i.i: ; preds = %_ZN3fmt3v106detail6bufferIcE11try_reserveEm.exit.i.i - %26 = load ptr, ptr %ptr_.i.i, align 8 - %add.ptr.i.i = getelementptr inbounds i8, ptr %26, i64 %24 + %28 = load ptr, ptr %ptr_.i.i, align 8 + %add.ptr.i.i = getelementptr inbounds i8, ptr %28, i64 %26 call void @llvm.memmove.p0.p0.i64(ptr align 1 %add.ptr.i.i, ptr align 1 %begin.addr.011.i.i, i64 %spec.select.i.i, i1 false) %.pre14.i.i = load i64, ptr %size_.i.i, align 8 br label %_ZSt20uninitialized_copy_nIPKcmPcET1_T_T0_S3_.exit.i.i _ZSt20uninitialized_copy_nIPKcmPcET1_T_T0_S3_.exit.i.i: ; preds = %if.then.i.i.i.i.i.i.i.i.i.i.i, %_ZN3fmt3v106detail6bufferIcE11try_reserveEm.exit.i.i - %27 = phi i64 [ %24, %_ZN3fmt3v106detail6bufferIcE11try_reserveEm.exit.i.i ], [ %.pre14.i.i, %if.then.i.i.i.i.i.i.i.i.i.i.i ] - %add7.i.i = add i64 %27, %spec.select.i.i + %29 = phi i64 [ %26, %_ZN3fmt3v106detail6bufferIcE11try_reserveEm.exit.i.i ], [ %.pre14.i.i, %if.then.i.i.i.i.i.i.i.i.i.i.i ] + %add7.i.i = add i64 %29, %spec.select.i.i store i64 %add7.i.i, ptr %size_.i.i, align 8 %add.ptr8.i.i = getelementptr inbounds i8, ptr %begin.addr.011.i.i, i64 %spec.select.i.i %cmp.not.i.i = icmp eq ptr %add.ptr8.i.i, %add.ptr.i @@ -21208,96 +21208,96 @@ _ZSt20uninitialized_copy_nIPKcmPcET1_T_T0_S3_.exit.i.i: ; preds = %if.then.i.i.i _ZN3fmt3v106detail8copy_strIcPKcEENS0_8appenderET0_S6_S5_.exit: ; preds = %_ZSt20uninitialized_copy_nIPKcmPcET1_T_T0_S3_.exit.i.i, %while.body store ptr %retval.sroa.0.099, ptr %ctx, align 8 - %28 = load i32, ptr %width_ref.i40, align 8 - %cmp.i.not = icmp eq i32 %28, 0 - %29 = load i32, ptr %precision_ref.i43, align 8 - %cmp4.i.not = icmp eq i32 %29, 0 + %30 = load i32, ptr %width_ref.i40, align 8 + %cmp.i.not = icmp eq i32 %30, 0 + %31 = load i32, ptr %precision_ref.i43, align 8 + %cmp4.i.not = icmp eq i32 %31, 0 %or.cond41 = select i1 %cmp.i.not, i1 %cmp4.i.not, i1 false br i1 %or.cond41, label %if.end.i, label %if.then.i if.then.i: ; preds = %_ZN3fmt3v106detail8copy_strIcPKcEENS0_8appenderET0_S6_S5_.exit call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(64) %specs.i, ptr noundef nonnull align 8 dereferenceable(64) %this, i64 64, i1 false) - call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %specs.i, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %width_ref6.i, ptr noundef nonnull align 8 dereferenceable(32) %ctx) + call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %specs.i, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %20, ptr noundef nonnull align 8 dereferenceable(32) %ctx) call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_17precision_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %precision.i, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %precision_ref8.i, ptr noundef nonnull align 8 dereferenceable(32) %ctx) %retval.sroa.0.0.copyload.i63 = load ptr, ptr %ctx, align 8 - %30 = load i32, ptr %it.0100, align 4 + %32 = load i32, ptr %it.0100, align 4 %retval.sroa.0.0.copyload.i65 = load ptr, ptr %loc_.i64, align 8 %bf.load.i103 = load i16, ptr %localized.i102, align 1 - %31 = and i16 %bf.load.i103, 256 - %bf.cast.i106.not = icmp eq i16 %31, 0 + %33 = and i16 %bf.load.i103, 256 + %bf.cast.i106.not = icmp eq i16 %33, 0 br i1 %bf.cast.i106.not, label %if.end.i107, label %land.lhs.true.i115 land.lhs.true.i115: ; preds = %if.then.i store i32 1, ptr %type_.i.i.i66, align 16, !alias.scope !542 - %retval.i.sroa.0.0.insert.ext.i.i67 = zext i32 %30 to i64 + %retval.i.sroa.0.0.insert.ext.i.i67 = zext i32 %32 to i64 store i64 %retval.i.sroa.0.0.insert.ext.i.i67, ptr %agg.tmp3.i97, align 16, !alias.scope !542 %call.i116 = call noundef zeroext i1 @_ZN3fmt3v106detail9write_locENS0_8appenderENS0_9loc_valueERKNS0_12format_specsIcEENS1_10locale_refE(ptr %retval.sroa.0.0.copyload.i63, ptr noundef nonnull byval(%"class.fmt::v10::loc_value") align 16 %agg.tmp3.i97, ptr noundef nonnull align 4 dereferenceable(16) %specs.i, ptr %retval.sroa.0.0.copyload.i65) br i1 %call.i116, label %_ZNK3fmt3v109formatterIicvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEERKiRT_.exit, label %if.end.i107 if.end.i107: ; preds = %land.lhs.true.i115, %if.then.i - %cmp.i.i68 = icmp slt i32 %30, 0 + %cmp.i.i68 = icmp slt i32 %32, 0 br i1 %cmp.i.i68, label %if.then.i77, label %if.else.i69 if.then.i77: ; preds = %if.end.i107 - %sub.i78 = sub i32 0, %30 + %sub.i78 = sub i32 0, %32 br label %_ZN3fmt3v106detail18make_write_int_argIiEENS1_13write_int_argINSt11conditionalIXaalecl8num_bitsIT_EELi32EntLi0EEjNS4_IXlecl8num_bitsIS5_EELi64EEmoE4typeEE4typeEEES5_NS0_4sign4typeE.exit79 if.else.i69: ; preds = %if.end.i107 %bf.load10.i109 = load i16, ptr %localized.i102, align 1 - %32 = lshr i16 %bf.load10.i109, 4 - %33 = and i16 %32, 7 - %bf.cast13.i112 = zext nneg i16 %33 to i64 + %34 = lshr i16 %bf.load10.i109, 4 + %35 = and i16 %34, 7 + %bf.cast13.i112 = zext nneg i16 %35 to i64 %arrayidx.i71 = getelementptr inbounds [4 x i32], ptr @__const._ZN3fmt3v106detail18make_write_int_argIiEENS1_13write_int_argINSt11conditionalIXaalecl8num_bitsIT_EELi32EntLi0EEjNS4_IXlecl8num_bitsIS5_EELi64EEmoE4typeEE4typeEEES5_NS0_4sign4typeE.prefixes, i64 0, i64 %bf.cast13.i112 - %34 = load i32, ptr %arrayidx.i71, align 4 - %35 = zext i32 %34 to i64 - %36 = shl nuw i64 %35, 32 + %36 = load i32, ptr %arrayidx.i71, align 4 + %37 = zext i32 %36 to i64 + %38 = shl nuw i64 %37, 32 br label %_ZN3fmt3v106detail18make_write_int_argIiEENS1_13write_int_argINSt11conditionalIXaalecl8num_bitsIT_EELi32EntLi0EEjNS4_IXlecl8num_bitsIS5_EELi64EEmoE4typeEE4typeEEES5_NS0_4sign4typeE.exit79 _ZN3fmt3v106detail18make_write_int_argIiEENS1_13write_int_argINSt11conditionalIXaalecl8num_bitsIT_EELi32EntLi0EEjNS4_IXlecl8num_bitsIS5_EELi64EEmoE4typeEE4typeEEES5_NS0_4sign4typeE.exit79: ; preds = %if.then.i77, %if.else.i69 - %prefix.0.i73 = phi i64 [ 72057787311456256, %if.then.i77 ], [ %36, %if.else.i69 ] - %abs_value.0.i74 = phi i32 [ %sub.i78, %if.then.i77 ], [ %30, %if.else.i69 ] + %prefix.0.i73 = phi i64 [ 72057787311456256, %if.then.i77 ], [ %38, %if.else.i69 ] + %abs_value.0.i74 = phi i32 [ %sub.i78, %if.then.i77 ], [ %32, %if.else.i69 ] %retval.sroa.0.0.insert.ext.i75 = zext i32 %abs_value.0.i74 to i64 %retval.sroa.0.0.insert.insert.i76 = or disjoint i64 %prefix.0.i73, %retval.sroa.0.0.insert.ext.i75 %call19.i114 = call ptr @_ZN3fmt3v106detail18write_int_noinlineIcNS0_8appenderEjEET0_S4_NS1_13write_int_argIT1_EERKNS0_12format_specsIT_EENS1_10locale_refE(ptr %retval.sroa.0.0.copyload.i63, i64 %retval.sroa.0.0.insert.insert.i76, ptr noundef nonnull align 4 dereferenceable(16) %specs.i, ptr %retval.sroa.0.0.copyload.i65) br label %_ZNK3fmt3v109formatterIicvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEERKiRT_.exit if.end.i: ; preds = %_ZN3fmt3v106detail8copy_strIcPKcEENS0_8appenderET0_S6_S5_.exit - %37 = load i32, ptr %it.0100, align 4 + %39 = load i32, ptr %it.0100, align 4 %retval.sroa.0.0.copyload.i82 = load ptr, ptr %loc_.i64, align 8 %bf.load.i131 = load i16, ptr %localized.i130, align 1 - %38 = and i16 %bf.load.i131, 256 - %bf.cast.i134.not = icmp eq i16 %38, 0 + %40 = and i16 %bf.load.i131, 256 + %bf.cast.i134.not = icmp eq i16 %40, 0 br i1 %bf.cast.i134.not, label %if.end.i135, label %land.lhs.true.i143 land.lhs.true.i143: ; preds = %if.end.i store i32 1, ptr %type_.i.i.i83, align 16, !alias.scope !545 - %retval.i.sroa.0.0.insert.ext.i.i84 = zext i32 %37 to i64 + %retval.i.sroa.0.0.insert.ext.i.i84 = zext i32 %39 to i64 store i64 %retval.i.sroa.0.0.insert.ext.i.i84, ptr %agg.tmp3.i125, align 16, !alias.scope !545 %call.i144 = call noundef zeroext i1 @_ZN3fmt3v106detail9write_locENS0_8appenderENS0_9loc_valueERKNS0_12format_specsIcEENS1_10locale_refE(ptr %retval.sroa.0.099, ptr noundef nonnull byval(%"class.fmt::v10::loc_value") align 16 %agg.tmp3.i125, ptr noundef nonnull align 4 dereferenceable(16) %this, ptr %retval.sroa.0.0.copyload.i82) br i1 %call.i144, label %_ZNK3fmt3v109formatterIicvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEERKiRT_.exit, label %if.end.i135 if.end.i135: ; preds = %land.lhs.true.i143, %if.end.i - %cmp.i.i85 = icmp slt i32 %37, 0 + %cmp.i.i85 = icmp slt i32 %39, 0 br i1 %cmp.i.i85, label %if.then.i94, label %if.else.i86 if.then.i94: ; preds = %if.end.i135 - %sub.i95 = sub i32 0, %37 + %sub.i95 = sub i32 0, %39 br label %_ZN3fmt3v106detail18make_write_int_argIiEENS1_13write_int_argINSt11conditionalIXaalecl8num_bitsIT_EELi32EntLi0EEjNS4_IXlecl8num_bitsIS5_EELi64EEmoE4typeEE4typeEEES5_NS0_4sign4typeE.exit96 if.else.i86: ; preds = %if.end.i135 %bf.load10.i137 = load i16, ptr %localized.i130, align 1 - %39 = lshr i16 %bf.load10.i137, 4 - %40 = and i16 %39, 7 - %bf.cast13.i140 = zext nneg i16 %40 to i64 + %41 = lshr i16 %bf.load10.i137, 4 + %42 = and i16 %41, 7 + %bf.cast13.i140 = zext nneg i16 %42 to i64 %arrayidx.i88 = getelementptr inbounds [4 x i32], ptr @__const._ZN3fmt3v106detail18make_write_int_argIiEENS1_13write_int_argINSt11conditionalIXaalecl8num_bitsIT_EELi32EntLi0EEjNS4_IXlecl8num_bitsIS5_EELi64EEmoE4typeEE4typeEEES5_NS0_4sign4typeE.prefixes, i64 0, i64 %bf.cast13.i140 - %41 = load i32, ptr %arrayidx.i88, align 4 - %42 = zext i32 %41 to i64 - %43 = shl nuw i64 %42, 32 + %43 = load i32, ptr %arrayidx.i88, align 4 + %44 = zext i32 %43 to i64 + %45 = shl nuw i64 %44, 32 br label %_ZN3fmt3v106detail18make_write_int_argIiEENS1_13write_int_argINSt11conditionalIXaalecl8num_bitsIT_EELi32EntLi0EEjNS4_IXlecl8num_bitsIS5_EELi64EEmoE4typeEE4typeEEES5_NS0_4sign4typeE.exit96 _ZN3fmt3v106detail18make_write_int_argIiEENS1_13write_int_argINSt11conditionalIXaalecl8num_bitsIT_EELi32EntLi0EEjNS4_IXlecl8num_bitsIS5_EELi64EEmoE4typeEE4typeEEES5_NS0_4sign4typeE.exit96: ; preds = %if.then.i94, %if.else.i86 - %prefix.0.i90 = phi i64 [ 72057787311456256, %if.then.i94 ], [ %43, %if.else.i86 ] - %abs_value.0.i91 = phi i32 [ %sub.i95, %if.then.i94 ], [ %37, %if.else.i86 ] + %prefix.0.i90 = phi i64 [ 72057787311456256, %if.then.i94 ], [ %45, %if.else.i86 ] + %abs_value.0.i91 = phi i32 [ %sub.i95, %if.then.i94 ], [ %39, %if.else.i86 ] %retval.sroa.0.0.insert.ext.i92 = zext i32 %abs_value.0.i91 to i64 %retval.sroa.0.0.insert.insert.i93 = or disjoint i64 %prefix.0.i90, %retval.sroa.0.0.insert.ext.i92 %call19.i142 = call ptr @_ZN3fmt3v106detail18write_int_noinlineIcNS0_8appenderEjEET0_S4_NS1_13write_int_argIT1_EERKNS0_12format_specsIT_EENS1_10locale_refE(ptr %retval.sroa.0.099, i64 %retval.sroa.0.0.insert.insert.i93, ptr noundef nonnull align 4 dereferenceable(16) %this, ptr %retval.sroa.0.0.copyload.i82) @@ -21306,8 +21306,8 @@ _ZN3fmt3v106detail18make_write_int_argIiEENS1_13write_int_argINSt11conditionalIX _ZNK3fmt3v109formatterIicvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEERKiRT_.exit: ; preds = %_ZN3fmt3v106detail18make_write_int_argIiEENS1_13write_int_argINSt11conditionalIXaalecl8num_bitsIT_EELi32EntLi0EEjNS4_IXlecl8num_bitsIS5_EELi64EEmoE4typeEE4typeEEES5_NS0_4sign4typeE.exit96, %land.lhs.true.i143, %_ZN3fmt3v106detail18make_write_int_argIiEENS1_13write_int_argINSt11conditionalIXaalecl8num_bitsIT_EELi32EntLi0EEjNS4_IXlecl8num_bitsIS5_EELi64EEmoE4typeEE4typeEEES5_NS0_4sign4typeE.exit79, %land.lhs.true.i115 %retval.i.sroa.0.0 = phi ptr [ %call19.i114, %_ZN3fmt3v106detail18make_write_int_argIiEENS1_13write_int_argINSt11conditionalIXaalecl8num_bitsIT_EELi32EntLi0EEjNS4_IXlecl8num_bitsIS5_EELi64EEmoE4typeEE4typeEEES5_NS0_4sign4typeE.exit79 ], [ %retval.sroa.0.0.copyload.i63, %land.lhs.true.i115 ], [ %call19.i142, %_ZN3fmt3v106detail18make_write_int_argIiEENS1_13write_int_argINSt11conditionalIXaalecl8num_bitsIT_EELi32EntLi0EEjNS4_IXlecl8num_bitsIS5_EELi64EEmoE4typeEE4typeEEES5_NS0_4sign4typeE.exit96 ], [ %retval.sroa.0.099, %land.lhs.true.i143 ] %it.0 = getelementptr inbounds i8, ptr %it.0100, i64 4 - %44 = load ptr, ptr %end, align 8 - %cmp7.not = icmp eq ptr %it.0, %44 + %46 = load ptr, ptr %end, align 8 + %cmp7.not = icmp eq ptr %it.0, %46 br i1 %cmp7.not, label %if.end, label %while.body, !llvm.loop !548 if.end: ; preds = %_ZNK3fmt3v109formatterIicvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEERKiRT_.exit, %_ZNK3fmt3v109formatterIicvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEERKiRT_.exit56, %entry @@ -25005,8 +25005,8 @@ entry: if.then.i: ; preds = %entry call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(64) %specs.i, ptr noundef nonnull align 8 dereferenceable(64) %this, i64 64, i1 false) - %width_ref6.i = getelementptr inbounds i8, ptr %specs.i, i64 16 - call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %specs.i, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %width_ref6.i, ptr noundef nonnull align 8 dereferenceable(32) %ctx) + %2 = getelementptr inbounds i8, ptr %this, i64 16 + call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %specs.i, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %2, ptr noundef nonnull align 8 dereferenceable(32) %ctx) %precision.i = getelementptr inbounds i8, ptr %specs.i, i64 4 %precision_ref8.i = getelementptr inbounds i8, ptr %specs.i, i64 40 call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_17precision_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %precision.i, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %precision_ref8.i, ptr noundef nonnull align 8 dereferenceable(32) %ctx) @@ -25015,8 +25015,8 @@ if.then.i: ; preds = %entry %retval.sroa.0.0.copyload.i16 = load ptr, ptr %loc_.i, align 8 %localized.i = getelementptr inbounds i8, ptr %specs.i, i64 9 %bf.load.i = load i16, ptr %localized.i, align 1 - %2 = and i16 %bf.load.i, 256 - %bf.cast.i.not = icmp eq i16 %2, 0 + %3 = and i16 %bf.load.i, 256 + %bf.cast.i.not = icmp eq i16 %3, 0 br i1 %bf.cast.i.not, label %if.end.i8, label %land.lhs.true.i land.lhs.true.i: ; preds = %if.then.i @@ -25032,14 +25032,14 @@ land.lhs.true.i.if.end.i8_crit_edge: ; preds = %land.lhs.true.i if.end.i8: ; preds = %land.lhs.true.i.if.end.i8_crit_edge, %if.then.i %bf.load10.i = phi i16 [ %bf.load10.i.pre, %land.lhs.true.i.if.end.i8_crit_edge ], [ %bf.load.i, %if.then.i ] - %3 = lshr i16 %bf.load10.i, 4 - %4 = and i16 %3, 7 - %bf.cast13.i = zext nneg i16 %4 to i64 + %4 = lshr i16 %bf.load10.i, 4 + %5 = and i16 %4, 7 + %bf.cast13.i = zext nneg i16 %5 to i64 %arrayidx.i = getelementptr inbounds [4 x i32], ptr @__const._ZN3fmt3v106detail18make_write_int_argIiEENS1_13write_int_argINSt11conditionalIXaalecl8num_bitsIT_EELi32EntLi0EEjNS4_IXlecl8num_bitsIS5_EELi64EEmoE4typeEE4typeEEES5_NS0_4sign4typeE.prefixes, i64 0, i64 %bf.cast13.i - %5 = load i32, ptr %arrayidx.i, align 4 - %6 = zext i32 %5 to i64 - %7 = shl nuw i64 %6, 32 - %retval.sroa.0.0.insert.insert.i = or disjoint i64 %7, 2 + %6 = load i32, ptr %arrayidx.i, align 4 + %7 = zext i32 %6 to i64 + %8 = shl nuw i64 %7, 32 + %retval.sroa.0.0.insert.insert.i = or disjoint i64 %8, 2 %call19.i = call ptr @_ZN3fmt3v106detail18write_int_noinlineIcNS0_8appenderEjEET0_S4_NS1_13write_int_argIT1_EERKNS0_12format_specsIT_EENS1_10locale_refE(ptr %retval.sroa.0.0.copyload.i, i64 %retval.sroa.0.0.insert.insert.i, ptr noundef nonnull align 4 dereferenceable(16) %specs.i, ptr %retval.sroa.0.0.copyload.i16) br label %_ZNK3fmt3v109formatterIicvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEERKiRT_.exit @@ -25049,8 +25049,8 @@ if.end.i: ; preds = %entry %retval.sroa.0.0.copyload.i20 = load ptr, ptr %loc_.i19, align 8 %localized.i22 = getelementptr inbounds i8, ptr %this, i64 9 %bf.load.i23 = load i16, ptr %localized.i22, align 1 - %8 = and i16 %bf.load.i23, 256 - %bf.cast.i26.not = icmp eq i16 %8, 0 + %9 = and i16 %bf.load.i23, 256 + %bf.cast.i26.not = icmp eq i16 %9, 0 br i1 %bf.cast.i26.not, label %if.end.i27, label %land.lhs.true.i35 land.lhs.true.i35: ; preds = %if.end.i @@ -25066,14 +25066,14 @@ land.lhs.true.i35.if.end.i27_crit_edge: ; preds = %land.lhs.true.i35 if.end.i27: ; preds = %land.lhs.true.i35.if.end.i27_crit_edge, %if.end.i %bf.load10.i29 = phi i16 [ %bf.load10.i29.pre, %land.lhs.true.i35.if.end.i27_crit_edge ], [ %bf.load.i23, %if.end.i ] - %9 = lshr i16 %bf.load10.i29, 4 - %10 = and i16 %9, 7 - %bf.cast13.i32 = zext nneg i16 %10 to i64 + %10 = lshr i16 %bf.load10.i29, 4 + %11 = and i16 %10, 7 + %bf.cast13.i32 = zext nneg i16 %11 to i64 %arrayidx.i23 = getelementptr inbounds [4 x i32], ptr @__const._ZN3fmt3v106detail18make_write_int_argIiEENS1_13write_int_argINSt11conditionalIXaalecl8num_bitsIT_EELi32EntLi0EEjNS4_IXlecl8num_bitsIS5_EELi64EEmoE4typeEE4typeEEES5_NS0_4sign4typeE.prefixes, i64 0, i64 %bf.cast13.i32 - %11 = load i32, ptr %arrayidx.i23, align 4 - %12 = zext i32 %11 to i64 - %13 = shl nuw i64 %12, 32 - %retval.sroa.0.0.insert.insert.i25 = or disjoint i64 %13, 2 + %12 = load i32, ptr %arrayidx.i23, align 4 + %13 = zext i32 %12 to i64 + %14 = shl nuw i64 %13, 32 + %retval.sroa.0.0.insert.insert.i25 = or disjoint i64 %14, 2 %call19.i34 = tail call ptr @_ZN3fmt3v106detail18write_int_noinlineIcNS0_8appenderEjEET0_S4_NS1_13write_int_argIT1_EERKNS0_12format_specsIT_EENS1_10locale_refE(ptr %retval.sroa.0.0.copyload.i18, i64 %retval.sroa.0.0.insert.insert.i25, ptr noundef nonnull align 4 dereferenceable(16) %this, ptr %retval.sroa.0.0.copyload.i20) br label %_ZNK3fmt3v109formatterIicvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEERKiRT_.exit @@ -25194,8 +25194,8 @@ invoke.cont3: ; preds = %entry if.then.i: ; preds = %invoke.cont3 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(64) %specs.i, ptr noundef nonnull align 8 dereferenceable(64) %this, i64 64, i1 false) - %width_ref6.i = getelementptr inbounds i8, ptr %specs.i, i64 16 - invoke void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %specs.i, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %width_ref6.i, ptr noundef nonnull align 8 dereferenceable(32) %ctx) + %4 = getelementptr inbounds i8, ptr %this, i64 16 + invoke void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %specs.i, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %4, ptr noundef nonnull align 8 dereferenceable(32) %ctx) to label %.noexc unwind label %lpad2 .noexc: ; preds = %if.then.i @@ -25205,29 +25205,29 @@ if.then.i: ; preds = %invoke.cont3 to label %if.end.i.invoke unwind label %lpad2 if.end.i.invoke: ; preds = %invoke.cont3, %.noexc - %4 = phi ptr [ %specs.i, %.noexc ], [ %this, %invoke.cont3 ] + %5 = phi ptr [ %specs.i, %.noexc ], [ %this, %invoke.cont3 ] %retval.sroa.0.0.copyload.i = load ptr, ptr %ctx, align 8 - %5 = invoke ptr @_ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_NS0_17basic_string_viewIT_EERKNS0_12format_specsIS6_EE(ptr %retval.sroa.0.0.copyload.i, ptr %0, i64 %1, ptr noundef nonnull align 4 dereferenceable(16) %4) + %6 = invoke ptr @_ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_NS0_17basic_string_viewIT_EERKNS0_12format_specsIS6_EE(ptr %retval.sroa.0.0.copyload.i, ptr %0, i64 %1, ptr noundef nonnull align 4 dereferenceable(16) %5) to label %_ZNK3fmt3v109formatterINS0_17basic_string_viewIcEEcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEERKS3_RT_.exit unwind label %lpad2 _ZNK3fmt3v109formatterINS0_17basic_string_viewIcEEcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEERKS3_RT_.exit: ; preds = %if.end.i.invoke - %6 = load ptr, ptr %ptr_.i.i, align 8 - %cmp.not.i.i = icmp eq ptr %6, %store_.i + %7 = load ptr, ptr %ptr_.i.i, align 8 + %cmp.not.i.i = icmp eq ptr %7, %store_.i br i1 %cmp.not.i.i, label %_ZN3fmt3v1019basic_memory_bufferIcLm500ESaIcEED2Ev.exit, label %if.then.i.i if.then.i.i: ; preds = %_ZNK3fmt3v109formatterINS0_17basic_string_viewIcEEcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEERKS3_RT_.exit - call void @_ZdlPv(ptr noundef %6) #26 + call void @_ZdlPv(ptr noundef %7) #26 br label %_ZN3fmt3v1019basic_memory_bufferIcLm500ESaIcEED2Ev.exit _ZN3fmt3v1019basic_memory_bufferIcLm500ESaIcEED2Ev.exit: ; preds = %_ZNK3fmt3v109formatterINS0_17basic_string_viewIcEEcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEERKS3_RT_.exit, %if.then.i.i call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %alloc_.i) #25 - ret ptr %5 + ret ptr %6 lpad2: ; preds = %if.end.i.invoke, %.noexc, %if.then.i, %entry - %7 = landingpad { ptr, i32 } + %8 = landingpad { ptr, i32 } cleanup call void @_ZN3fmt3v1019basic_memory_bufferIcLm500ESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(536) %buffer) #25 - resume { ptr, i32 } %7 + resume { ptr, i32 } %8 } ; Function Attrs: mustprogress uwtable @@ -25615,8 +25615,8 @@ invoke.cont3: ; preds = %entry if.then.i: ; preds = %invoke.cont3 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(64) %specs.i, ptr noundef nonnull align 8 dereferenceable(64) %this, i64 64, i1 false) - %width_ref6.i = getelementptr inbounds i8, ptr %specs.i, i64 16 - invoke void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %specs.i, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %width_ref6.i, ptr noundef nonnull align 8 dereferenceable(32) %ctx) + %4 = getelementptr inbounds i8, ptr %this, i64 16 + invoke void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %specs.i, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %4, ptr noundef nonnull align 8 dereferenceable(32) %ctx) to label %.noexc unwind label %lpad2 .noexc: ; preds = %if.then.i @@ -25626,29 +25626,29 @@ if.then.i: ; preds = %invoke.cont3 to label %if.end.i.invoke unwind label %lpad2 if.end.i.invoke: ; preds = %invoke.cont3, %.noexc - %4 = phi ptr [ %specs.i, %.noexc ], [ %this, %invoke.cont3 ] + %5 = phi ptr [ %specs.i, %.noexc ], [ %this, %invoke.cont3 ] %retval.sroa.0.0.copyload.i = load ptr, ptr %ctx, align 8 - %5 = invoke ptr @_ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_NS0_17basic_string_viewIT_EERKNS0_12format_specsIS6_EE(ptr %retval.sroa.0.0.copyload.i, ptr %0, i64 %1, ptr noundef nonnull align 4 dereferenceable(16) %4) + %6 = invoke ptr @_ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_NS0_17basic_string_viewIT_EERKNS0_12format_specsIS6_EE(ptr %retval.sroa.0.0.copyload.i, ptr %0, i64 %1, ptr noundef nonnull align 4 dereferenceable(16) %5) to label %_ZNK3fmt3v109formatterINS0_17basic_string_viewIcEEcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEERKS3_RT_.exit unwind label %lpad2 _ZNK3fmt3v109formatterINS0_17basic_string_viewIcEEcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEERKS3_RT_.exit: ; preds = %if.end.i.invoke - %6 = load ptr, ptr %ptr_.i.i, align 8 - %cmp.not.i.i = icmp eq ptr %6, %store_.i + %7 = load ptr, ptr %ptr_.i.i, align 8 + %cmp.not.i.i = icmp eq ptr %7, %store_.i br i1 %cmp.not.i.i, label %_ZN3fmt3v1019basic_memory_bufferIcLm500ESaIcEED2Ev.exit, label %if.then.i.i if.then.i.i: ; preds = %_ZNK3fmt3v109formatterINS0_17basic_string_viewIcEEcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEERKS3_RT_.exit - call void @_ZdlPv(ptr noundef %6) #26 + call void @_ZdlPv(ptr noundef %7) #26 br label %_ZN3fmt3v1019basic_memory_bufferIcLm500ESaIcEED2Ev.exit _ZN3fmt3v1019basic_memory_bufferIcLm500ESaIcEED2Ev.exit: ; preds = %_ZNK3fmt3v109formatterINS0_17basic_string_viewIcEEcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEERKS3_RT_.exit, %if.then.i.i call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %alloc_.i) #25 - ret ptr %5 + ret ptr %6 lpad2: ; preds = %if.end.i.invoke, %.noexc, %if.then.i, %entry - %7 = landingpad { ptr, i32 } + %8 = landingpad { ptr, i32 } cleanup call void @_ZN3fmt3v1019basic_memory_bufferIcLm500ESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(536) %buffer) #25 - resume { ptr, i32 } %7 + resume { ptr, i32 } %8 } ; Function Attrs: mustprogress uwtable @@ -26288,8 +26288,8 @@ invoke.cont3: ; preds = %entry if.then.i: ; preds = %invoke.cont3 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(64) %specs.i, ptr noundef nonnull align 8 dereferenceable(64) %this, i64 64, i1 false) - %width_ref6.i = getelementptr inbounds i8, ptr %specs.i, i64 16 - invoke void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %specs.i, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %width_ref6.i, ptr noundef nonnull align 8 dereferenceable(32) %ctx) + %4 = getelementptr inbounds i8, ptr %this, i64 16 + invoke void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %specs.i, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %4, ptr noundef nonnull align 8 dereferenceable(32) %ctx) to label %.noexc unwind label %lpad2 .noexc: ; preds = %if.then.i @@ -26299,29 +26299,29 @@ if.then.i: ; preds = %invoke.cont3 to label %if.end.i.invoke unwind label %lpad2 if.end.i.invoke: ; preds = %invoke.cont3, %.noexc - %4 = phi ptr [ %specs.i, %.noexc ], [ %this, %invoke.cont3 ] + %5 = phi ptr [ %specs.i, %.noexc ], [ %this, %invoke.cont3 ] %retval.sroa.0.0.copyload.i = load ptr, ptr %ctx, align 8 - %5 = invoke ptr @_ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_NS0_17basic_string_viewIT_EERKNS0_12format_specsIS6_EE(ptr %retval.sroa.0.0.copyload.i, ptr %0, i64 %1, ptr noundef nonnull align 4 dereferenceable(16) %4) + %6 = invoke ptr @_ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_NS0_17basic_string_viewIT_EERKNS0_12format_specsIS6_EE(ptr %retval.sroa.0.0.copyload.i, ptr %0, i64 %1, ptr noundef nonnull align 4 dereferenceable(16) %5) to label %_ZNK3fmt3v109formatterINS0_17basic_string_viewIcEEcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEERKS3_RT_.exit unwind label %lpad2 _ZNK3fmt3v109formatterINS0_17basic_string_viewIcEEcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEERKS3_RT_.exit: ; preds = %if.end.i.invoke - %6 = load ptr, ptr %ptr_.i.i, align 8 - %cmp.not.i.i = icmp eq ptr %6, %store_.i + %7 = load ptr, ptr %ptr_.i.i, align 8 + %cmp.not.i.i = icmp eq ptr %7, %store_.i br i1 %cmp.not.i.i, label %_ZN3fmt3v1019basic_memory_bufferIcLm500ESaIcEED2Ev.exit, label %if.then.i.i if.then.i.i: ; preds = %_ZNK3fmt3v109formatterINS0_17basic_string_viewIcEEcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEERKS3_RT_.exit - call void @_ZdlPv(ptr noundef %6) #26 + call void @_ZdlPv(ptr noundef %7) #26 br label %_ZN3fmt3v1019basic_memory_bufferIcLm500ESaIcEED2Ev.exit _ZN3fmt3v1019basic_memory_bufferIcLm500ESaIcEED2Ev.exit: ; preds = %_ZNK3fmt3v109formatterINS0_17basic_string_viewIcEEcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEERKS3_RT_.exit, %if.then.i.i call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %alloc_.i) #25 - ret ptr %5 + ret ptr %6 lpad2: ; preds = %if.end.i.invoke, %.noexc, %if.then.i, %entry - %7 = landingpad { ptr, i32 } + %8 = landingpad { ptr, i32 } cleanup call void @_ZN3fmt3v1019basic_memory_bufferIcLm500ESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(536) %buffer) #25 - resume { ptr, i32 } %7 + resume { ptr, i32 } %8 } ; Function Attrs: mustprogress uwtable @@ -26451,8 +26451,8 @@ invoke.cont3: ; preds = %entry if.then.i: ; preds = %invoke.cont3 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(64) %specs.i, ptr noundef nonnull align 8 dereferenceable(64) %this, i64 64, i1 false) - %width_ref6.i = getelementptr inbounds i8, ptr %specs.i, i64 16 - invoke void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %specs.i, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %width_ref6.i, ptr noundef nonnull align 8 dereferenceable(32) %ctx) + %4 = getelementptr inbounds i8, ptr %this, i64 16 + invoke void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %specs.i, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %4, ptr noundef nonnull align 8 dereferenceable(32) %ctx) to label %.noexc unwind label %lpad2 .noexc: ; preds = %if.then.i @@ -26462,29 +26462,29 @@ if.then.i: ; preds = %invoke.cont3 to label %if.end.i.invoke unwind label %lpad2 if.end.i.invoke: ; preds = %invoke.cont3, %.noexc - %4 = phi ptr [ %specs.i, %.noexc ], [ %this, %invoke.cont3 ] + %5 = phi ptr [ %specs.i, %.noexc ], [ %this, %invoke.cont3 ] %retval.sroa.0.0.copyload.i = load ptr, ptr %ctx, align 8 - %5 = invoke ptr @_ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_NS0_17basic_string_viewIT_EERKNS0_12format_specsIS6_EE(ptr %retval.sroa.0.0.copyload.i, ptr %0, i64 %1, ptr noundef nonnull align 4 dereferenceable(16) %4) + %6 = invoke ptr @_ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_NS0_17basic_string_viewIT_EERKNS0_12format_specsIS6_EE(ptr %retval.sroa.0.0.copyload.i, ptr %0, i64 %1, ptr noundef nonnull align 4 dereferenceable(16) %5) to label %_ZNK3fmt3v109formatterINS0_17basic_string_viewIcEEcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEERKS3_RT_.exit unwind label %lpad2 _ZNK3fmt3v109formatterINS0_17basic_string_viewIcEEcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEERKS3_RT_.exit: ; preds = %if.end.i.invoke - %6 = load ptr, ptr %ptr_.i.i, align 8 - %cmp.not.i.i = icmp eq ptr %6, %store_.i + %7 = load ptr, ptr %ptr_.i.i, align 8 + %cmp.not.i.i = icmp eq ptr %7, %store_.i br i1 %cmp.not.i.i, label %_ZN3fmt3v1019basic_memory_bufferIcLm500ESaIcEED2Ev.exit, label %if.then.i.i if.then.i.i: ; preds = %_ZNK3fmt3v109formatterINS0_17basic_string_viewIcEEcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEERKS3_RT_.exit - call void @_ZdlPv(ptr noundef %6) #26 + call void @_ZdlPv(ptr noundef %7) #26 br label %_ZN3fmt3v1019basic_memory_bufferIcLm500ESaIcEED2Ev.exit _ZN3fmt3v1019basic_memory_bufferIcLm500ESaIcEED2Ev.exit: ; preds = %_ZNK3fmt3v109formatterINS0_17basic_string_viewIcEEcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEERKS3_RT_.exit, %if.then.i.i call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %alloc_.i) #25 - ret ptr %5 + ret ptr %6 lpad2: ; preds = %if.end.i.invoke, %.noexc, %if.then.i, %entry - %7 = landingpad { ptr, i32 } + %8 = landingpad { ptr, i32 } cleanup call void @_ZN3fmt3v1019basic_memory_bufferIcLm500ESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(536) %buffer) #25 - resume { ptr, i32 } %7 + resume { ptr, i32 } %8 } ; Function Attrs: mustprogress uwtable @@ -26761,8 +26761,8 @@ invoke.cont3: ; preds = %entry if.then.i: ; preds = %invoke.cont3 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(64) %specs.i, ptr noundef nonnull align 8 dereferenceable(64) %this, i64 64, i1 false) - %width_ref6.i = getelementptr inbounds i8, ptr %specs.i, i64 16 - invoke void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %specs.i, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %width_ref6.i, ptr noundef nonnull align 8 dereferenceable(32) %ctx) + %4 = getelementptr inbounds i8, ptr %this, i64 16 + invoke void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %specs.i, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %4, ptr noundef nonnull align 8 dereferenceable(32) %ctx) to label %.noexc unwind label %lpad2 .noexc: ; preds = %if.then.i @@ -26772,29 +26772,29 @@ if.then.i: ; preds = %invoke.cont3 to label %if.end.i.invoke unwind label %lpad2 if.end.i.invoke: ; preds = %invoke.cont3, %.noexc - %4 = phi ptr [ %specs.i, %.noexc ], [ %this, %invoke.cont3 ] + %5 = phi ptr [ %specs.i, %.noexc ], [ %this, %invoke.cont3 ] %retval.sroa.0.0.copyload.i = load ptr, ptr %ctx, align 8 - %5 = invoke ptr @_ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_NS0_17basic_string_viewIT_EERKNS0_12format_specsIS6_EE(ptr %retval.sroa.0.0.copyload.i, ptr %0, i64 %1, ptr noundef nonnull align 4 dereferenceable(16) %4) + %6 = invoke ptr @_ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_NS0_17basic_string_viewIT_EERKNS0_12format_specsIS6_EE(ptr %retval.sroa.0.0.copyload.i, ptr %0, i64 %1, ptr noundef nonnull align 4 dereferenceable(16) %5) to label %_ZNK3fmt3v109formatterINS0_17basic_string_viewIcEEcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEERKS3_RT_.exit unwind label %lpad2 _ZNK3fmt3v109formatterINS0_17basic_string_viewIcEEcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEERKS3_RT_.exit: ; preds = %if.end.i.invoke - %6 = load ptr, ptr %ptr_.i.i, align 8 - %cmp.not.i.i = icmp eq ptr %6, %store_.i + %7 = load ptr, ptr %ptr_.i.i, align 8 + %cmp.not.i.i = icmp eq ptr %7, %store_.i br i1 %cmp.not.i.i, label %_ZN3fmt3v1019basic_memory_bufferIcLm500ESaIcEED2Ev.exit, label %if.then.i.i if.then.i.i: ; preds = %_ZNK3fmt3v109formatterINS0_17basic_string_viewIcEEcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEERKS3_RT_.exit - call void @_ZdlPv(ptr noundef %6) #26 + call void @_ZdlPv(ptr noundef %7) #26 br label %_ZN3fmt3v1019basic_memory_bufferIcLm500ESaIcEED2Ev.exit _ZN3fmt3v1019basic_memory_bufferIcLm500ESaIcEED2Ev.exit: ; preds = %_ZNK3fmt3v109formatterINS0_17basic_string_viewIcEEcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEERKS3_RT_.exit, %if.then.i.i call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %alloc_.i) #25 - ret ptr %5 + ret ptr %6 lpad2: ; preds = %if.end.i.invoke, %.noexc, %if.then.i, %entry - %7 = landingpad { ptr, i32 } + %8 = landingpad { ptr, i32 } cleanup call void @_ZN3fmt3v1019basic_memory_bufferIcLm500ESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(536) %buffer) #25 - resume { ptr, i32 } %7 + resume { ptr, i32 } %8 } ; Function Attrs: mustprogress uwtable diff --git a/bench/fmt/optimized/ranges-odr-test.cc.ll b/bench/fmt/optimized/ranges-odr-test.cc.ll index 4d494b35a59..0e4d7d457da 100644 --- a/bench/fmt/optimized/ranges-odr-test.cc.ll +++ b/bench/fmt/optimized/ranges-odr-test.cc.ll @@ -1641,7 +1641,6 @@ for.body.lr.ph: ; preds = %_ZN3fmt3v106detail8 %size_.i.i19 = getelementptr inbounds i8, ptr %this, i64 72 %width_ref.i = getelementptr inbounds i8, ptr %this, i64 16 %precision_ref.i = getelementptr inbounds i8, ptr %this, i64 40 - %width_ref6.i = getelementptr inbounds i8, ptr %specs.i, i64 16 %precision.i = getelementptr inbounds i8, ptr %specs.i, i64 4 %precision_ref8.i = getelementptr inbounds i8, ptr %specs.i, i64 40 %loc_.i = getelementptr inbounds i8, ptr %ctx, i64 24 @@ -1649,6 +1648,7 @@ for.body.lr.ph: ; preds = %_ZN3fmt3v106detail8 %type_.i.i.i = getelementptr inbounds i8, ptr %agg.tmp3.i, i64 16 %localized.i56 = getelementptr inbounds i8, ptr %this, i64 9 %type_.i.i.i57 = getelementptr inbounds i8, ptr %agg.tmp3.i51, i64 16 + %11 = getelementptr inbounds i8, ptr %this, i64 16 br label %for.body for.body: ; preds = %for.body.lr.ph, %_ZNK3fmt3v109formatterIicvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEERKiRT_.exit @@ -1659,10 +1659,10 @@ for.body: ; preds = %for.body.lr.ph, %_Z br i1 %cmp.not, label %if.end, label %if.then if.then: ; preds = %for.body - %11 = load ptr, ptr %separator_, align 8 - %12 = load i64, ptr %size_.i.i19, align 8 - %add.ptr.i.i20 = getelementptr inbounds i8, ptr %11, i64 %12 - %cmp.not10.i.i.i21 = icmp eq i64 %12, 0 + %12 = load ptr, ptr %separator_, align 8 + %13 = load i64, ptr %size_.i.i19, align 8 + %add.ptr.i.i20 = getelementptr inbounds i8, ptr %12, i64 %13 + %cmp.not10.i.i.i21 = icmp eq i64 %13, 0 br i1 %cmp.not10.i.i.i21, label %if.end, label %while.body.lr.ph.i.i.i22 while.body.lr.ph.i.i.i22: ; preds = %if.then @@ -1674,41 +1674,41 @@ while.body.lr.ph.i.i.i22: ; preds = %if.then br label %while.body.i.i.i28 while.body.i.i.i28: ; preds = %_ZSt20uninitialized_copy_nIPKcmPcET1_T_T0_S3_.exit.i.i.i41, %while.body.lr.ph.i.i.i22 - %13 = phi i64 [ %.pre.i.i.i27, %while.body.lr.ph.i.i.i22 ], [ %add7.i.i.i42, %_ZSt20uninitialized_copy_nIPKcmPcET1_T_T0_S3_.exit.i.i.i41 ] - %begin.addr.011.i.i.i29 = phi ptr [ %11, %while.body.lr.ph.i.i.i22 ], [ %add.ptr8.i.i.i43, %_ZSt20uninitialized_copy_nIPKcmPcET1_T_T0_S3_.exit.i.i.i41 ] + %14 = phi i64 [ %.pre.i.i.i27, %while.body.lr.ph.i.i.i22 ], [ %add7.i.i.i42, %_ZSt20uninitialized_copy_nIPKcmPcET1_T_T0_S3_.exit.i.i.i41 ] + %begin.addr.011.i.i.i29 = phi ptr [ %12, %while.body.lr.ph.i.i.i22 ], [ %add.ptr8.i.i.i43, %_ZSt20uninitialized_copy_nIPKcmPcET1_T_T0_S3_.exit.i.i.i41 ] %sub.ptr.rhs.cast.i.i.i30 = ptrtoint ptr %begin.addr.011.i.i.i29 to i64 %sub.ptr.sub.i.i.i31 = sub i64 %sub.ptr.lhs.cast.i.i.i23, %sub.ptr.rhs.cast.i.i.i30 - %add.i.i.i32 = add i64 %sub.ptr.sub.i.i.i31, %13 - %14 = load i64, ptr %capacity_.i.i.i.i25, align 8 - %cmp.i.i.i.i33 = icmp ult i64 %14, %add.i.i.i32 + %add.i.i.i32 = add i64 %sub.ptr.sub.i.i.i31, %14 + %15 = load i64, ptr %capacity_.i.i.i.i25, align 8 + %cmp.i.i.i.i33 = icmp ult i64 %15, %add.i.i.i32 br i1 %cmp.i.i.i.i33, label %if.then.i.i.i.i45, label %_ZN3fmt3v106detail6bufferIcE11try_reserveEm.exit.i.i.i34 if.then.i.i.i.i45: ; preds = %while.body.i.i.i28 %vtable.i.i.i.i46 = load ptr, ptr %retval.sroa.0.0108, align 8 - %15 = load ptr, ptr %vtable.i.i.i.i46, align 8 - call void %15(ptr noundef nonnull align 8 dereferenceable(32) %retval.sroa.0.0108, i64 noundef %add.i.i.i32) + %16 = load ptr, ptr %vtable.i.i.i.i46, align 8 + call void %16(ptr noundef nonnull align 8 dereferenceable(32) %retval.sroa.0.0108, i64 noundef %add.i.i.i32) %.pre12.i.i.i47 = load i64, ptr %capacity_.i.i.i.i25, align 8 %.pre13.i.i.i48 = load i64, ptr %size_.i.i.i24, align 8 br label %_ZN3fmt3v106detail6bufferIcE11try_reserveEm.exit.i.i.i34 _ZN3fmt3v106detail6bufferIcE11try_reserveEm.exit.i.i.i34: ; preds = %if.then.i.i.i.i45, %while.body.i.i.i28 - %16 = phi i64 [ %13, %while.body.i.i.i28 ], [ %.pre13.i.i.i48, %if.then.i.i.i.i45 ] - %17 = phi i64 [ %14, %while.body.i.i.i28 ], [ %.pre12.i.i.i47, %if.then.i.i.i.i45 ] - %sub.i.i.i35 = sub i64 %17, %16 + %17 = phi i64 [ %14, %while.body.i.i.i28 ], [ %.pre13.i.i.i48, %if.then.i.i.i.i45 ] + %18 = phi i64 [ %15, %while.body.i.i.i28 ], [ %.pre12.i.i.i47, %if.then.i.i.i.i45 ] + %sub.i.i.i35 = sub i64 %18, %17 %spec.select.i.i.i36 = call i64 @llvm.umin.i64(i64 %sub.i.i.i35, i64 %sub.ptr.sub.i.i.i31) %tobool.not.i.i.i.i.i.i.i.i.i.i.i.i37 = icmp eq i64 %spec.select.i.i.i36, 0 br i1 %tobool.not.i.i.i.i.i.i.i.i.i.i.i.i37, label %_ZSt20uninitialized_copy_nIPKcmPcET1_T_T0_S3_.exit.i.i.i41, label %if.then.i.i.i.i.i.i.i.i.i.i.i.i38 if.then.i.i.i.i.i.i.i.i.i.i.i.i38: ; preds = %_ZN3fmt3v106detail6bufferIcE11try_reserveEm.exit.i.i.i34 - %18 = load ptr, ptr %ptr_.i.i.i26, align 8 - %add.ptr.i.i.i39 = getelementptr inbounds i8, ptr %18, i64 %16 + %19 = load ptr, ptr %ptr_.i.i.i26, align 8 + %add.ptr.i.i.i39 = getelementptr inbounds i8, ptr %19, i64 %17 call void @llvm.memmove.p0.p0.i64(ptr align 1 %add.ptr.i.i.i39, ptr align 1 %begin.addr.011.i.i.i29, i64 %spec.select.i.i.i36, i1 false) %.pre14.i.i.i40 = load i64, ptr %size_.i.i.i24, align 8 br label %_ZSt20uninitialized_copy_nIPKcmPcET1_T_T0_S3_.exit.i.i.i41 _ZSt20uninitialized_copy_nIPKcmPcET1_T_T0_S3_.exit.i.i.i41: ; preds = %if.then.i.i.i.i.i.i.i.i.i.i.i.i38, %_ZN3fmt3v106detail6bufferIcE11try_reserveEm.exit.i.i.i34 - %19 = phi i64 [ %16, %_ZN3fmt3v106detail6bufferIcE11try_reserveEm.exit.i.i.i34 ], [ %.pre14.i.i.i40, %if.then.i.i.i.i.i.i.i.i.i.i.i.i38 ] - %add7.i.i.i42 = add i64 %19, %spec.select.i.i.i36 + %20 = phi i64 [ %17, %_ZN3fmt3v106detail6bufferIcE11try_reserveEm.exit.i.i.i34 ], [ %.pre14.i.i.i40, %if.then.i.i.i.i.i.i.i.i.i.i.i.i38 ] + %add7.i.i.i42 = add i64 %20, %spec.select.i.i.i36 store i64 %add7.i.i.i42, ptr %size_.i.i.i24, align 8 %add.ptr8.i.i.i43 = getelementptr inbounds i8, ptr %begin.addr.011.i.i.i29, i64 %spec.select.i.i.i36 %cmp.not.i.i.i44 = icmp eq ptr %add.ptr8.i.i.i43, %add.ptr.i.i20 @@ -1716,96 +1716,96 @@ _ZSt20uninitialized_copy_nIPKcmPcET1_T_T0_S3_.exit.i.i.i41: ; preds = %if.then.i if.end: ; preds = %_ZSt20uninitialized_copy_nIPKcmPcET1_T_T0_S3_.exit.i.i.i41, %if.then, %for.body store ptr %retval.sroa.0.0108, ptr %ctx, align 8 - %20 = load i32, ptr %width_ref.i, align 8 - %cmp.i.not = icmp eq i32 %20, 0 - %21 = load i32, ptr %precision_ref.i, align 8 - %cmp4.i.not = icmp eq i32 %21, 0 + %21 = load i32, ptr %width_ref.i, align 8 + %cmp.i.not = icmp eq i32 %21, 0 + %22 = load i32, ptr %precision_ref.i, align 8 + %cmp4.i.not = icmp eq i32 %22, 0 %or.cond = select i1 %cmp.i.not, i1 %cmp4.i.not, i1 false br i1 %or.cond, label %if.end.i, label %if.then.i if.then.i: ; preds = %if.end call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(64) %specs.i, ptr noundef nonnull align 8 dereferenceable(64) %this, i64 64, i1 false) - call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %specs.i, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %width_ref6.i, ptr noundef nonnull align 8 dereferenceable(32) %ctx) + call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %specs.i, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %11, ptr noundef nonnull align 8 dereferenceable(32) %ctx) call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_17precision_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %precision.i, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %precision_ref8.i, ptr noundef nonnull align 8 dereferenceable(32) %ctx) %retval.sroa.0.0.copyload.i50 = load ptr, ptr %ctx, align 8 - %22 = load i32, ptr %it.sroa.0.0106, align 4 + %23 = load i32, ptr %it.sroa.0.0106, align 4 %retval.sroa.0.0.copyload.i51 = load ptr, ptr %loc_.i, align 8 %bf.load.i = load i16, ptr %localized.i, align 1 - %23 = and i16 %bf.load.i, 256 - %bf.cast.i.not = icmp eq i16 %23, 0 + %24 = and i16 %bf.load.i, 256 + %bf.cast.i.not = icmp eq i16 %24, 0 br i1 %bf.cast.i.not, label %if.end.i42, label %land.lhs.true.i land.lhs.true.i: ; preds = %if.then.i store i32 1, ptr %type_.i.i.i, align 16, !alias.scope !19 - %retval.i.sroa.0.0.insert.ext.i.i = zext i32 %22 to i64 + %retval.i.sroa.0.0.insert.ext.i.i = zext i32 %23 to i64 store i64 %retval.i.sroa.0.0.insert.ext.i.i, ptr %agg.tmp3.i, align 16, !alias.scope !19 %call.i43 = call noundef zeroext i1 @_ZN3fmt3v106detail9write_locENS0_8appenderENS0_9loc_valueERKNS0_12format_specsIcEENS1_10locale_refE(ptr %retval.sroa.0.0.copyload.i50, ptr noundef nonnull byval(%"class.fmt::v10::loc_value") align 16 %agg.tmp3.i, ptr noundef nonnull align 4 dereferenceable(16) %specs.i, ptr %retval.sroa.0.0.copyload.i51) br i1 %call.i43, label %_ZNK3fmt3v109formatterIicvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEERKiRT_.exit, label %if.end.i42 if.end.i42: ; preds = %land.lhs.true.i, %if.then.i - %cmp.i.i = icmp slt i32 %22, 0 + %cmp.i.i = icmp slt i32 %23, 0 br i1 %cmp.i.i, label %if.then.i53, label %if.else.i if.then.i53: ; preds = %if.end.i42 - %sub.i = sub i32 0, %22 + %sub.i = sub i32 0, %23 br label %_ZN3fmt3v106detail18make_write_int_argIiEENS1_13write_int_argINSt11conditionalIXaalecl8num_bitsIT_EELi32EntLi0EEjNS4_IXlecl8num_bitsIS5_EELi64EEmoE4typeEE4typeEEES5_NS0_4sign4typeE.exit if.else.i: ; preds = %if.end.i42 %bf.load10.i = load i16, ptr %localized.i, align 1 - %24 = lshr i16 %bf.load10.i, 4 - %25 = and i16 %24, 7 - %bf.cast13.i = zext nneg i16 %25 to i64 + %25 = lshr i16 %bf.load10.i, 4 + %26 = and i16 %25, 7 + %bf.cast13.i = zext nneg i16 %26 to i64 %arrayidx.i = getelementptr inbounds [4 x i32], ptr @__const._ZN3fmt3v106detail18make_write_int_argIiEENS1_13write_int_argINSt11conditionalIXaalecl8num_bitsIT_EELi32EntLi0EEjNS4_IXlecl8num_bitsIS5_EELi64EEmoE4typeEE4typeEEES5_NS0_4sign4typeE.prefixes, i64 0, i64 %bf.cast13.i - %26 = load i32, ptr %arrayidx.i, align 4 - %27 = zext i32 %26 to i64 - %28 = shl nuw i64 %27, 32 + %27 = load i32, ptr %arrayidx.i, align 4 + %28 = zext i32 %27 to i64 + %29 = shl nuw i64 %28, 32 br label %_ZN3fmt3v106detail18make_write_int_argIiEENS1_13write_int_argINSt11conditionalIXaalecl8num_bitsIT_EELi32EntLi0EEjNS4_IXlecl8num_bitsIS5_EELi64EEmoE4typeEE4typeEEES5_NS0_4sign4typeE.exit _ZN3fmt3v106detail18make_write_int_argIiEENS1_13write_int_argINSt11conditionalIXaalecl8num_bitsIT_EELi32EntLi0EEjNS4_IXlecl8num_bitsIS5_EELi64EEmoE4typeEE4typeEEES5_NS0_4sign4typeE.exit: ; preds = %if.then.i53, %if.else.i - %prefix.0.i = phi i64 [ 72057787311456256, %if.then.i53 ], [ %28, %if.else.i ] - %abs_value.0.i = phi i32 [ %sub.i, %if.then.i53 ], [ %22, %if.else.i ] + %prefix.0.i = phi i64 [ 72057787311456256, %if.then.i53 ], [ %29, %if.else.i ] + %abs_value.0.i = phi i32 [ %sub.i, %if.then.i53 ], [ %23, %if.else.i ] %retval.sroa.0.0.insert.ext.i = zext i32 %abs_value.0.i to i64 %retval.sroa.0.0.insert.insert.i = or disjoint i64 %prefix.0.i, %retval.sroa.0.0.insert.ext.i %call19.i = call ptr @_ZN3fmt3v106detail18write_int_noinlineIcNS0_8appenderEjEET0_S4_NS1_13write_int_argIT1_EERKNS0_12format_specsIT_EENS1_10locale_refE(ptr %retval.sroa.0.0.copyload.i50, i64 %retval.sroa.0.0.insert.insert.i, ptr noundef nonnull align 4 dereferenceable(16) %specs.i, ptr %retval.sroa.0.0.copyload.i51) br label %_ZNK3fmt3v109formatterIicvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEERKiRT_.exit if.end.i: ; preds = %if.end - %29 = load i32, ptr %it.sroa.0.0106, align 4 + %30 = load i32, ptr %it.sroa.0.0106, align 4 %retval.sroa.0.0.copyload.i56 = load ptr, ptr %loc_.i, align 8 %bf.load.i57 = load i16, ptr %localized.i56, align 1 - %30 = and i16 %bf.load.i57, 256 - %bf.cast.i60.not = icmp eq i16 %30, 0 + %31 = and i16 %bf.load.i57, 256 + %bf.cast.i60.not = icmp eq i16 %31, 0 br i1 %bf.cast.i60.not, label %if.end.i61, label %land.lhs.true.i69 land.lhs.true.i69: ; preds = %if.end.i store i32 1, ptr %type_.i.i.i57, align 16, !alias.scope !22 - %retval.i.sroa.0.0.insert.ext.i.i58 = zext i32 %29 to i64 + %retval.i.sroa.0.0.insert.ext.i.i58 = zext i32 %30 to i64 store i64 %retval.i.sroa.0.0.insert.ext.i.i58, ptr %agg.tmp3.i51, align 16, !alias.scope !22 %call.i70 = call noundef zeroext i1 @_ZN3fmt3v106detail9write_locENS0_8appenderENS0_9loc_valueERKNS0_12format_specsIcEENS1_10locale_refE(ptr %retval.sroa.0.0108, ptr noundef nonnull byval(%"class.fmt::v10::loc_value") align 16 %agg.tmp3.i51, ptr noundef nonnull align 4 dereferenceable(16) %this, ptr %retval.sroa.0.0.copyload.i56) br i1 %call.i70, label %_ZNK3fmt3v109formatterIicvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEERKiRT_.exit, label %if.end.i61 if.end.i61: ; preds = %land.lhs.true.i69, %if.end.i - %cmp.i.i59 = icmp slt i32 %29, 0 + %cmp.i.i59 = icmp slt i32 %30, 0 br i1 %cmp.i.i59, label %if.then.i68, label %if.else.i60 if.then.i68: ; preds = %if.end.i61 - %sub.i69 = sub i32 0, %29 + %sub.i69 = sub i32 0, %30 br label %_ZN3fmt3v106detail18make_write_int_argIiEENS1_13write_int_argINSt11conditionalIXaalecl8num_bitsIT_EELi32EntLi0EEjNS4_IXlecl8num_bitsIS5_EELi64EEmoE4typeEE4typeEEES5_NS0_4sign4typeE.exit70 if.else.i60: ; preds = %if.end.i61 %bf.load10.i63 = load i16, ptr %localized.i56, align 1 - %31 = lshr i16 %bf.load10.i63, 4 - %32 = and i16 %31, 7 - %bf.cast13.i66 = zext nneg i16 %32 to i64 + %32 = lshr i16 %bf.load10.i63, 4 + %33 = and i16 %32, 7 + %bf.cast13.i66 = zext nneg i16 %33 to i64 %arrayidx.i62 = getelementptr inbounds [4 x i32], ptr @__const._ZN3fmt3v106detail18make_write_int_argIiEENS1_13write_int_argINSt11conditionalIXaalecl8num_bitsIT_EELi32EntLi0EEjNS4_IXlecl8num_bitsIS5_EELi64EEmoE4typeEE4typeEEES5_NS0_4sign4typeE.prefixes, i64 0, i64 %bf.cast13.i66 - %33 = load i32, ptr %arrayidx.i62, align 4 - %34 = zext i32 %33 to i64 - %35 = shl nuw i64 %34, 32 + %34 = load i32, ptr %arrayidx.i62, align 4 + %35 = zext i32 %34 to i64 + %36 = shl nuw i64 %35, 32 br label %_ZN3fmt3v106detail18make_write_int_argIiEENS1_13write_int_argINSt11conditionalIXaalecl8num_bitsIT_EELi32EntLi0EEjNS4_IXlecl8num_bitsIS5_EELi64EEmoE4typeEE4typeEEES5_NS0_4sign4typeE.exit70 _ZN3fmt3v106detail18make_write_int_argIiEENS1_13write_int_argINSt11conditionalIXaalecl8num_bitsIT_EELi32EntLi0EEjNS4_IXlecl8num_bitsIS5_EELi64EEmoE4typeEE4typeEEES5_NS0_4sign4typeE.exit70: ; preds = %if.then.i68, %if.else.i60 - %prefix.0.i64 = phi i64 [ 72057787311456256, %if.then.i68 ], [ %35, %if.else.i60 ] - %abs_value.0.i65 = phi i32 [ %sub.i69, %if.then.i68 ], [ %29, %if.else.i60 ] + %prefix.0.i64 = phi i64 [ 72057787311456256, %if.then.i68 ], [ %36, %if.else.i60 ] + %abs_value.0.i65 = phi i32 [ %sub.i69, %if.then.i68 ], [ %30, %if.else.i60 ] %retval.sroa.0.0.insert.ext.i66 = zext i32 %abs_value.0.i65 to i64 %retval.sroa.0.0.insert.insert.i67 = or disjoint i64 %prefix.0.i64, %retval.sroa.0.0.insert.ext.i66 %call19.i68 = call ptr @_ZN3fmt3v106detail18write_int_noinlineIcNS0_8appenderEjEET0_S4_NS1_13write_int_argIT1_EERKNS0_12format_specsIT_EENS1_10locale_refE(ptr %retval.sroa.0.0108, i64 %retval.sroa.0.0.insert.insert.i67, ptr noundef nonnull align 4 dereferenceable(16) %this, ptr %retval.sroa.0.0.copyload.i56) @@ -1821,11 +1821,11 @@ _ZNK3fmt3v109formatterIicvE6formatINS0_20basic_format_contextINS0_8appenderEcEEE for.end: ; preds = %_ZNK3fmt3v109formatterIicvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEERKiRT_.exit, %_ZN3fmt3v106detail8copy_strIcRKNS0_17basic_string_viewIcEENS0_8appenderEEET1_OT0_S8_.exit %retval.sroa.0.0.lcssa = phi ptr [ %retval.sroa.0.0.copyload.i, %_ZN3fmt3v106detail8copy_strIcRKNS0_17basic_string_viewIcEENS0_8appenderEEET1_OT0_S8_.exit ], [ %retval.i.sroa.0.0, %_ZNK3fmt3v109formatterIicvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEERKiRT_.exit ] %closing_bracket_ = getelementptr inbounds i8, ptr %this, i64 96 - %36 = load ptr, ptr %closing_bracket_, align 8 + %37 = load ptr, ptr %closing_bracket_, align 8 %size_.i.i71 = getelementptr inbounds i8, ptr %this, i64 104 - %37 = load i64, ptr %size_.i.i71, align 8 - %add.ptr.i.i72 = getelementptr inbounds i8, ptr %36, i64 %37 - %cmp.not10.i.i.i73 = icmp eq i64 %37, 0 + %38 = load i64, ptr %size_.i.i71, align 8 + %add.ptr.i.i72 = getelementptr inbounds i8, ptr %37, i64 %38 + %cmp.not10.i.i.i73 = icmp eq i64 %38, 0 br i1 %cmp.not10.i.i.i73, label %_ZN3fmt3v106detail8copy_strIcRKNS0_17basic_string_viewIcEENS0_8appenderEEET1_OT0_S8_.exit101, label %while.body.lr.ph.i.i.i74 while.body.lr.ph.i.i.i74: ; preds = %for.end @@ -1837,41 +1837,41 @@ while.body.lr.ph.i.i.i74: ; preds = %for.end br label %while.body.i.i.i80 while.body.i.i.i80: ; preds = %_ZSt20uninitialized_copy_nIPKcmPcET1_T_T0_S3_.exit.i.i.i93, %while.body.lr.ph.i.i.i74 - %38 = phi i64 [ %.pre.i.i.i79, %while.body.lr.ph.i.i.i74 ], [ %add7.i.i.i94, %_ZSt20uninitialized_copy_nIPKcmPcET1_T_T0_S3_.exit.i.i.i93 ] - %begin.addr.011.i.i.i81 = phi ptr [ %36, %while.body.lr.ph.i.i.i74 ], [ %add.ptr8.i.i.i95, %_ZSt20uninitialized_copy_nIPKcmPcET1_T_T0_S3_.exit.i.i.i93 ] + %39 = phi i64 [ %.pre.i.i.i79, %while.body.lr.ph.i.i.i74 ], [ %add7.i.i.i94, %_ZSt20uninitialized_copy_nIPKcmPcET1_T_T0_S3_.exit.i.i.i93 ] + %begin.addr.011.i.i.i81 = phi ptr [ %37, %while.body.lr.ph.i.i.i74 ], [ %add.ptr8.i.i.i95, %_ZSt20uninitialized_copy_nIPKcmPcET1_T_T0_S3_.exit.i.i.i93 ] %sub.ptr.rhs.cast.i.i.i82 = ptrtoint ptr %begin.addr.011.i.i.i81 to i64 %sub.ptr.sub.i.i.i83 = sub i64 %sub.ptr.lhs.cast.i.i.i75, %sub.ptr.rhs.cast.i.i.i82 - %add.i.i.i84 = add i64 %sub.ptr.sub.i.i.i83, %38 - %39 = load i64, ptr %capacity_.i.i.i.i77, align 8 - %cmp.i.i.i.i85 = icmp ult i64 %39, %add.i.i.i84 + %add.i.i.i84 = add i64 %sub.ptr.sub.i.i.i83, %39 + %40 = load i64, ptr %capacity_.i.i.i.i77, align 8 + %cmp.i.i.i.i85 = icmp ult i64 %40, %add.i.i.i84 br i1 %cmp.i.i.i.i85, label %if.then.i.i.i.i97, label %_ZN3fmt3v106detail6bufferIcE11try_reserveEm.exit.i.i.i86 if.then.i.i.i.i97: ; preds = %while.body.i.i.i80 %vtable.i.i.i.i98 = load ptr, ptr %retval.sroa.0.0.lcssa, align 8 - %40 = load ptr, ptr %vtable.i.i.i.i98, align 8 - call void %40(ptr noundef nonnull align 8 dereferenceable(32) %retval.sroa.0.0.lcssa, i64 noundef %add.i.i.i84) + %41 = load ptr, ptr %vtable.i.i.i.i98, align 8 + call void %41(ptr noundef nonnull align 8 dereferenceable(32) %retval.sroa.0.0.lcssa, i64 noundef %add.i.i.i84) %.pre12.i.i.i99 = load i64, ptr %capacity_.i.i.i.i77, align 8 %.pre13.i.i.i100 = load i64, ptr %size_.i.i.i76, align 8 br label %_ZN3fmt3v106detail6bufferIcE11try_reserveEm.exit.i.i.i86 _ZN3fmt3v106detail6bufferIcE11try_reserveEm.exit.i.i.i86: ; preds = %if.then.i.i.i.i97, %while.body.i.i.i80 - %41 = phi i64 [ %38, %while.body.i.i.i80 ], [ %.pre13.i.i.i100, %if.then.i.i.i.i97 ] - %42 = phi i64 [ %39, %while.body.i.i.i80 ], [ %.pre12.i.i.i99, %if.then.i.i.i.i97 ] - %sub.i.i.i87 = sub i64 %42, %41 + %42 = phi i64 [ %39, %while.body.i.i.i80 ], [ %.pre13.i.i.i100, %if.then.i.i.i.i97 ] + %43 = phi i64 [ %40, %while.body.i.i.i80 ], [ %.pre12.i.i.i99, %if.then.i.i.i.i97 ] + %sub.i.i.i87 = sub i64 %43, %42 %spec.select.i.i.i88 = call i64 @llvm.umin.i64(i64 %sub.i.i.i87, i64 %sub.ptr.sub.i.i.i83) %tobool.not.i.i.i.i.i.i.i.i.i.i.i.i89 = icmp eq i64 %spec.select.i.i.i88, 0 br i1 %tobool.not.i.i.i.i.i.i.i.i.i.i.i.i89, label %_ZSt20uninitialized_copy_nIPKcmPcET1_T_T0_S3_.exit.i.i.i93, label %if.then.i.i.i.i.i.i.i.i.i.i.i.i90 if.then.i.i.i.i.i.i.i.i.i.i.i.i90: ; preds = %_ZN3fmt3v106detail6bufferIcE11try_reserveEm.exit.i.i.i86 - %43 = load ptr, ptr %ptr_.i.i.i78, align 8 - %add.ptr.i.i.i91 = getelementptr inbounds i8, ptr %43, i64 %41 + %44 = load ptr, ptr %ptr_.i.i.i78, align 8 + %add.ptr.i.i.i91 = getelementptr inbounds i8, ptr %44, i64 %42 call void @llvm.memmove.p0.p0.i64(ptr align 1 %add.ptr.i.i.i91, ptr align 1 %begin.addr.011.i.i.i81, i64 %spec.select.i.i.i88, i1 false) %.pre14.i.i.i92 = load i64, ptr %size_.i.i.i76, align 8 br label %_ZSt20uninitialized_copy_nIPKcmPcET1_T_T0_S3_.exit.i.i.i93 _ZSt20uninitialized_copy_nIPKcmPcET1_T_T0_S3_.exit.i.i.i93: ; preds = %if.then.i.i.i.i.i.i.i.i.i.i.i.i90, %_ZN3fmt3v106detail6bufferIcE11try_reserveEm.exit.i.i.i86 - %44 = phi i64 [ %41, %_ZN3fmt3v106detail6bufferIcE11try_reserveEm.exit.i.i.i86 ], [ %.pre14.i.i.i92, %if.then.i.i.i.i.i.i.i.i.i.i.i.i90 ] - %add7.i.i.i94 = add i64 %44, %spec.select.i.i.i88 + %45 = phi i64 [ %42, %_ZN3fmt3v106detail6bufferIcE11try_reserveEm.exit.i.i.i86 ], [ %.pre14.i.i.i92, %if.then.i.i.i.i.i.i.i.i.i.i.i.i90 ] + %add7.i.i.i94 = add i64 %45, %spec.select.i.i.i88 store i64 %add7.i.i.i94, ptr %size_.i.i.i76, align 8 %add.ptr8.i.i.i95 = getelementptr inbounds i8, ptr %begin.addr.011.i.i.i81, i64 %spec.select.i.i.i88 %cmp.not.i.i.i96 = icmp eq ptr %add.ptr8.i.i.i95, %add.ptr.i.i72 diff --git a/bench/fmt/optimized/std-test.cc.ll b/bench/fmt/optimized/std-test.cc.ll index 344bc1fd132..7167fea0875 100644 --- a/bench/fmt/optimized/std-test.cc.ll +++ b/bench/fmt/optimized/std-test.cc.ll @@ -17463,9 +17463,9 @@ for.body.lr.ph: ; preds = %_ZN3fmt3v106detail8 %size_.i.i11 = getelementptr inbounds i8, ptr %this, i64 72 %width_ref.i = getelementptr inbounds i8, ptr %this, i64 16 %precision_ref.i = getelementptr inbounds i8, ptr %this, i64 40 - %width_ref6.i = getelementptr inbounds i8, ptr %specs.i, i64 16 %precision.i = getelementptr inbounds i8, ptr %specs.i, i64 4 %precision_ref8.i = getelementptr inbounds i8, ptr %specs.i, i64 40 + %11 = getelementptr inbounds i8, ptr %this, i64 16 br label %for.body for.body: ; preds = %for.body.lr.ph, %_ZNK3fmt3v109formatterINS0_17basic_string_viewIcEEcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEERKS3_RT_.exit @@ -17476,10 +17476,10 @@ for.body: ; preds = %for.body.lr.ph, %_Z br i1 %cmp.not, label %if.end, label %if.then if.then: ; preds = %for.body - %11 = load ptr, ptr %separator_, align 8 - %12 = load i64, ptr %size_.i.i11, align 8 - %add.ptr.i.i12 = getelementptr inbounds i8, ptr %11, i64 %12 - %cmp.not10.i.i.i13 = icmp eq i64 %12, 0 + %12 = load ptr, ptr %separator_, align 8 + %13 = load i64, ptr %size_.i.i11, align 8 + %add.ptr.i.i12 = getelementptr inbounds i8, ptr %12, i64 %13 + %cmp.not10.i.i.i13 = icmp eq i64 %13, 0 br i1 %cmp.not10.i.i.i13, label %if.end, label %while.body.lr.ph.i.i.i14 while.body.lr.ph.i.i.i14: ; preds = %if.then @@ -17491,41 +17491,41 @@ while.body.lr.ph.i.i.i14: ; preds = %if.then br label %while.body.i.i.i20 while.body.i.i.i20: ; preds = %_ZSt20uninitialized_copy_nIPKcmPcET1_T_T0_S3_.exit.i.i.i33, %while.body.lr.ph.i.i.i14 - %13 = phi i64 [ %.pre.i.i.i19, %while.body.lr.ph.i.i.i14 ], [ %add7.i.i.i34, %_ZSt20uninitialized_copy_nIPKcmPcET1_T_T0_S3_.exit.i.i.i33 ] - %begin.addr.011.i.i.i21 = phi ptr [ %11, %while.body.lr.ph.i.i.i14 ], [ %add.ptr8.i.i.i35, %_ZSt20uninitialized_copy_nIPKcmPcET1_T_T0_S3_.exit.i.i.i33 ] + %14 = phi i64 [ %.pre.i.i.i19, %while.body.lr.ph.i.i.i14 ], [ %add7.i.i.i34, %_ZSt20uninitialized_copy_nIPKcmPcET1_T_T0_S3_.exit.i.i.i33 ] + %begin.addr.011.i.i.i21 = phi ptr [ %12, %while.body.lr.ph.i.i.i14 ], [ %add.ptr8.i.i.i35, %_ZSt20uninitialized_copy_nIPKcmPcET1_T_T0_S3_.exit.i.i.i33 ] %sub.ptr.rhs.cast.i.i.i22 = ptrtoint ptr %begin.addr.011.i.i.i21 to i64 %sub.ptr.sub.i.i.i23 = sub i64 %sub.ptr.lhs.cast.i.i.i15, %sub.ptr.rhs.cast.i.i.i22 - %add.i.i.i24 = add i64 %sub.ptr.sub.i.i.i23, %13 - %14 = load i64, ptr %capacity_.i.i.i.i17, align 8 - %cmp.i.i.i.i25 = icmp ult i64 %14, %add.i.i.i24 + %add.i.i.i24 = add i64 %sub.ptr.sub.i.i.i23, %14 + %15 = load i64, ptr %capacity_.i.i.i.i17, align 8 + %cmp.i.i.i.i25 = icmp ult i64 %15, %add.i.i.i24 br i1 %cmp.i.i.i.i25, label %if.then.i.i.i.i37, label %_ZN3fmt3v106detail6bufferIcE11try_reserveEm.exit.i.i.i26 if.then.i.i.i.i37: ; preds = %while.body.i.i.i20 %vtable.i.i.i.i38 = load ptr, ptr %retval.sroa.0.087, align 8 - %15 = load ptr, ptr %vtable.i.i.i.i38, align 8 - call void %15(ptr noundef nonnull align 8 dereferenceable(32) %retval.sroa.0.087, i64 noundef %add.i.i.i24) + %16 = load ptr, ptr %vtable.i.i.i.i38, align 8 + call void %16(ptr noundef nonnull align 8 dereferenceable(32) %retval.sroa.0.087, i64 noundef %add.i.i.i24) %.pre12.i.i.i39 = load i64, ptr %capacity_.i.i.i.i17, align 8 %.pre13.i.i.i40 = load i64, ptr %size_.i.i.i16, align 8 br label %_ZN3fmt3v106detail6bufferIcE11try_reserveEm.exit.i.i.i26 _ZN3fmt3v106detail6bufferIcE11try_reserveEm.exit.i.i.i26: ; preds = %if.then.i.i.i.i37, %while.body.i.i.i20 - %16 = phi i64 [ %13, %while.body.i.i.i20 ], [ %.pre13.i.i.i40, %if.then.i.i.i.i37 ] - %17 = phi i64 [ %14, %while.body.i.i.i20 ], [ %.pre12.i.i.i39, %if.then.i.i.i.i37 ] - %sub.i.i.i27 = sub i64 %17, %16 + %17 = phi i64 [ %14, %while.body.i.i.i20 ], [ %.pre13.i.i.i40, %if.then.i.i.i.i37 ] + %18 = phi i64 [ %15, %while.body.i.i.i20 ], [ %.pre12.i.i.i39, %if.then.i.i.i.i37 ] + %sub.i.i.i27 = sub i64 %18, %17 %spec.select.i.i.i28 = call i64 @llvm.umin.i64(i64 %sub.i.i.i27, i64 %sub.ptr.sub.i.i.i23) %tobool.not.i.i.i.i.i.i.i.i.i.i.i.i29 = icmp eq i64 %spec.select.i.i.i28, 0 br i1 %tobool.not.i.i.i.i.i.i.i.i.i.i.i.i29, label %_ZSt20uninitialized_copy_nIPKcmPcET1_T_T0_S3_.exit.i.i.i33, label %if.then.i.i.i.i.i.i.i.i.i.i.i.i30 if.then.i.i.i.i.i.i.i.i.i.i.i.i30: ; preds = %_ZN3fmt3v106detail6bufferIcE11try_reserveEm.exit.i.i.i26 - %18 = load ptr, ptr %ptr_.i.i.i18, align 8 - %add.ptr.i.i.i31 = getelementptr inbounds i8, ptr %18, i64 %16 + %19 = load ptr, ptr %ptr_.i.i.i18, align 8 + %add.ptr.i.i.i31 = getelementptr inbounds i8, ptr %19, i64 %17 call void @llvm.memmove.p0.p0.i64(ptr align 1 %add.ptr.i.i.i31, ptr align 1 %begin.addr.011.i.i.i21, i64 %spec.select.i.i.i28, i1 false) %.pre14.i.i.i32 = load i64, ptr %size_.i.i.i16, align 8 br label %_ZSt20uninitialized_copy_nIPKcmPcET1_T_T0_S3_.exit.i.i.i33 _ZSt20uninitialized_copy_nIPKcmPcET1_T_T0_S3_.exit.i.i.i33: ; preds = %if.then.i.i.i.i.i.i.i.i.i.i.i.i30, %_ZN3fmt3v106detail6bufferIcE11try_reserveEm.exit.i.i.i26 - %19 = phi i64 [ %16, %_ZN3fmt3v106detail6bufferIcE11try_reserveEm.exit.i.i.i26 ], [ %.pre14.i.i.i32, %if.then.i.i.i.i.i.i.i.i.i.i.i.i30 ] - %add7.i.i.i34 = add i64 %19, %spec.select.i.i.i28 + %20 = phi i64 [ %17, %_ZN3fmt3v106detail6bufferIcE11try_reserveEm.exit.i.i.i26 ], [ %.pre14.i.i.i32, %if.then.i.i.i.i.i.i.i.i.i.i.i.i30 ] + %add7.i.i.i34 = add i64 %20, %spec.select.i.i.i28 store i64 %add7.i.i.i34, ptr %size_.i.i.i16, align 8 %add.ptr8.i.i.i35 = getelementptr inbounds i8, ptr %begin.addr.011.i.i.i21, i64 %spec.select.i.i.i28 %cmp.not.i.i.i36 = icmp eq ptr %add.ptr8.i.i.i35, %add.ptr.i.i12 @@ -17535,16 +17535,16 @@ if.end: ; preds = %_ZSt20uninitialized store ptr %retval.sroa.0.087, ptr %ctx, align 8 %call.i42 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4dataEv(ptr noundef nonnull align 8 dereferenceable(32) %it.sroa.0.085) #25 %call2.i = call noundef i64 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(32) %it.sroa.0.085) #25 - %20 = load i32, ptr %width_ref.i, align 8 - %cmp.i.not = icmp eq i32 %20, 0 - %21 = load i32, ptr %precision_ref.i, align 8 - %cmp4.i.not = icmp eq i32 %21, 0 + %21 = load i32, ptr %width_ref.i, align 8 + %cmp.i.not = icmp eq i32 %21, 0 + %22 = load i32, ptr %precision_ref.i, align 8 + %cmp4.i.not = icmp eq i32 %22, 0 %or.cond = select i1 %cmp.i.not, i1 %cmp4.i.not, i1 false br i1 %or.cond, label %_ZNK3fmt3v109formatterINS0_17basic_string_viewIcEEcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEERKS3_RT_.exit, label %if.then.i if.then.i: ; preds = %if.end call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(64) %specs.i, ptr noundef nonnull align 8 dereferenceable(64) %this, i64 64, i1 false) - call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %specs.i, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %width_ref6.i, ptr noundef nonnull align 8 dereferenceable(32) %ctx) + call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %specs.i, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %11, ptr noundef nonnull align 8 dereferenceable(32) %ctx) call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_17precision_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %precision.i, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %precision_ref8.i, ptr noundef nonnull align 8 dereferenceable(32) %ctx) br label %_ZNK3fmt3v109formatterINS0_17basic_string_viewIcEEcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEERKS3_RT_.exit @@ -17560,11 +17560,11 @@ _ZNK3fmt3v109formatterINS0_17basic_string_viewIcEEcvE6formatINS0_20basic_format_ for.end: ; preds = %_ZNK3fmt3v109formatterINS0_17basic_string_viewIcEEcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEERKS3_RT_.exit, %_ZN3fmt3v106detail8copy_strIcRKNS0_17basic_string_viewIcEENS0_8appenderEEET1_OT0_S8_.exit %retval.sroa.0.0.lcssa = phi ptr [ %retval.sroa.0.0.copyload.i, %_ZN3fmt3v106detail8copy_strIcRKNS0_17basic_string_viewIcEENS0_8appenderEEET1_OT0_S8_.exit ], [ %call.i48, %_ZNK3fmt3v109formatterINS0_17basic_string_viewIcEEcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEERKS3_RT_.exit ] %closing_bracket_ = getelementptr inbounds i8, ptr %this, i64 96 - %22 = load ptr, ptr %closing_bracket_, align 8 + %23 = load ptr, ptr %closing_bracket_, align 8 %size_.i.i49 = getelementptr inbounds i8, ptr %this, i64 104 - %23 = load i64, ptr %size_.i.i49, align 8 - %add.ptr.i.i50 = getelementptr inbounds i8, ptr %22, i64 %23 - %cmp.not10.i.i.i51 = icmp eq i64 %23, 0 + %24 = load i64, ptr %size_.i.i49, align 8 + %add.ptr.i.i50 = getelementptr inbounds i8, ptr %23, i64 %24 + %cmp.not10.i.i.i51 = icmp eq i64 %24, 0 br i1 %cmp.not10.i.i.i51, label %_ZN3fmt3v106detail8copy_strIcRKNS0_17basic_string_viewIcEENS0_8appenderEEET1_OT0_S8_.exit79, label %while.body.lr.ph.i.i.i52 while.body.lr.ph.i.i.i52: ; preds = %for.end @@ -17576,41 +17576,41 @@ while.body.lr.ph.i.i.i52: ; preds = %for.end br label %while.body.i.i.i58 while.body.i.i.i58: ; preds = %_ZSt20uninitialized_copy_nIPKcmPcET1_T_T0_S3_.exit.i.i.i71, %while.body.lr.ph.i.i.i52 - %24 = phi i64 [ %.pre.i.i.i57, %while.body.lr.ph.i.i.i52 ], [ %add7.i.i.i72, %_ZSt20uninitialized_copy_nIPKcmPcET1_T_T0_S3_.exit.i.i.i71 ] - %begin.addr.011.i.i.i59 = phi ptr [ %22, %while.body.lr.ph.i.i.i52 ], [ %add.ptr8.i.i.i73, %_ZSt20uninitialized_copy_nIPKcmPcET1_T_T0_S3_.exit.i.i.i71 ] + %25 = phi i64 [ %.pre.i.i.i57, %while.body.lr.ph.i.i.i52 ], [ %add7.i.i.i72, %_ZSt20uninitialized_copy_nIPKcmPcET1_T_T0_S3_.exit.i.i.i71 ] + %begin.addr.011.i.i.i59 = phi ptr [ %23, %while.body.lr.ph.i.i.i52 ], [ %add.ptr8.i.i.i73, %_ZSt20uninitialized_copy_nIPKcmPcET1_T_T0_S3_.exit.i.i.i71 ] %sub.ptr.rhs.cast.i.i.i60 = ptrtoint ptr %begin.addr.011.i.i.i59 to i64 %sub.ptr.sub.i.i.i61 = sub i64 %sub.ptr.lhs.cast.i.i.i53, %sub.ptr.rhs.cast.i.i.i60 - %add.i.i.i62 = add i64 %sub.ptr.sub.i.i.i61, %24 - %25 = load i64, ptr %capacity_.i.i.i.i55, align 8 - %cmp.i.i.i.i63 = icmp ult i64 %25, %add.i.i.i62 + %add.i.i.i62 = add i64 %sub.ptr.sub.i.i.i61, %25 + %26 = load i64, ptr %capacity_.i.i.i.i55, align 8 + %cmp.i.i.i.i63 = icmp ult i64 %26, %add.i.i.i62 br i1 %cmp.i.i.i.i63, label %if.then.i.i.i.i75, label %_ZN3fmt3v106detail6bufferIcE11try_reserveEm.exit.i.i.i64 if.then.i.i.i.i75: ; preds = %while.body.i.i.i58 %vtable.i.i.i.i76 = load ptr, ptr %retval.sroa.0.0.lcssa, align 8 - %26 = load ptr, ptr %vtable.i.i.i.i76, align 8 - call void %26(ptr noundef nonnull align 8 dereferenceable(32) %retval.sroa.0.0.lcssa, i64 noundef %add.i.i.i62) + %27 = load ptr, ptr %vtable.i.i.i.i76, align 8 + call void %27(ptr noundef nonnull align 8 dereferenceable(32) %retval.sroa.0.0.lcssa, i64 noundef %add.i.i.i62) %.pre12.i.i.i77 = load i64, ptr %capacity_.i.i.i.i55, align 8 %.pre13.i.i.i78 = load i64, ptr %size_.i.i.i54, align 8 br label %_ZN3fmt3v106detail6bufferIcE11try_reserveEm.exit.i.i.i64 _ZN3fmt3v106detail6bufferIcE11try_reserveEm.exit.i.i.i64: ; preds = %if.then.i.i.i.i75, %while.body.i.i.i58 - %27 = phi i64 [ %24, %while.body.i.i.i58 ], [ %.pre13.i.i.i78, %if.then.i.i.i.i75 ] - %28 = phi i64 [ %25, %while.body.i.i.i58 ], [ %.pre12.i.i.i77, %if.then.i.i.i.i75 ] - %sub.i.i.i65 = sub i64 %28, %27 + %28 = phi i64 [ %25, %while.body.i.i.i58 ], [ %.pre13.i.i.i78, %if.then.i.i.i.i75 ] + %29 = phi i64 [ %26, %while.body.i.i.i58 ], [ %.pre12.i.i.i77, %if.then.i.i.i.i75 ] + %sub.i.i.i65 = sub i64 %29, %28 %spec.select.i.i.i66 = call i64 @llvm.umin.i64(i64 %sub.i.i.i65, i64 %sub.ptr.sub.i.i.i61) %tobool.not.i.i.i.i.i.i.i.i.i.i.i.i67 = icmp eq i64 %spec.select.i.i.i66, 0 br i1 %tobool.not.i.i.i.i.i.i.i.i.i.i.i.i67, label %_ZSt20uninitialized_copy_nIPKcmPcET1_T_T0_S3_.exit.i.i.i71, label %if.then.i.i.i.i.i.i.i.i.i.i.i.i68 if.then.i.i.i.i.i.i.i.i.i.i.i.i68: ; preds = %_ZN3fmt3v106detail6bufferIcE11try_reserveEm.exit.i.i.i64 - %29 = load ptr, ptr %ptr_.i.i.i56, align 8 - %add.ptr.i.i.i69 = getelementptr inbounds i8, ptr %29, i64 %27 + %30 = load ptr, ptr %ptr_.i.i.i56, align 8 + %add.ptr.i.i.i69 = getelementptr inbounds i8, ptr %30, i64 %28 call void @llvm.memmove.p0.p0.i64(ptr align 1 %add.ptr.i.i.i69, ptr align 1 %begin.addr.011.i.i.i59, i64 %spec.select.i.i.i66, i1 false) %.pre14.i.i.i70 = load i64, ptr %size_.i.i.i54, align 8 br label %_ZSt20uninitialized_copy_nIPKcmPcET1_T_T0_S3_.exit.i.i.i71 _ZSt20uninitialized_copy_nIPKcmPcET1_T_T0_S3_.exit.i.i.i71: ; preds = %if.then.i.i.i.i.i.i.i.i.i.i.i.i68, %_ZN3fmt3v106detail6bufferIcE11try_reserveEm.exit.i.i.i64 - %30 = phi i64 [ %27, %_ZN3fmt3v106detail6bufferIcE11try_reserveEm.exit.i.i.i64 ], [ %.pre14.i.i.i70, %if.then.i.i.i.i.i.i.i.i.i.i.i.i68 ] - %add7.i.i.i72 = add i64 %30, %spec.select.i.i.i66 + %31 = phi i64 [ %28, %_ZN3fmt3v106detail6bufferIcE11try_reserveEm.exit.i.i.i64 ], [ %.pre14.i.i.i70, %if.then.i.i.i.i.i.i.i.i.i.i.i.i68 ] + %add7.i.i.i72 = add i64 %31, %spec.select.i.i.i66 store i64 %add7.i.i.i72, ptr %size_.i.i.i54, align 8 %add.ptr8.i.i.i73 = getelementptr inbounds i8, ptr %begin.addr.011.i.i.i59, i64 %spec.select.i.i.i66 %cmp.not.i.i.i74 = icmp eq ptr %add.ptr8.i.i.i73, %add.ptr.i.i50 @@ -18657,8 +18657,8 @@ invoke.cont3: ; preds = %entry if.then.i: ; preds = %invoke.cont3 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(64) %specs.i, ptr noundef nonnull align 8 dereferenceable(64) %this, i64 64, i1 false) - %width_ref6.i = getelementptr inbounds i8, ptr %specs.i, i64 16 - invoke void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %specs.i, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %width_ref6.i, ptr noundef nonnull align 8 dereferenceable(32) %ctx) + %4 = getelementptr inbounds i8, ptr %this, i64 16 + invoke void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %specs.i, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %4, ptr noundef nonnull align 8 dereferenceable(32) %ctx) to label %.noexc unwind label %lpad2 .noexc: ; preds = %if.then.i @@ -18668,29 +18668,29 @@ if.then.i: ; preds = %invoke.cont3 to label %if.end.i.invoke unwind label %lpad2 if.end.i.invoke: ; preds = %invoke.cont3, %.noexc - %4 = phi ptr [ %specs.i, %.noexc ], [ %this, %invoke.cont3 ] + %5 = phi ptr [ %specs.i, %.noexc ], [ %this, %invoke.cont3 ] %retval.sroa.0.0.copyload.i = load ptr, ptr %ctx, align 8 - %5 = invoke ptr @_ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_NS0_17basic_string_viewIT_EERKNS0_12format_specsIS6_EE(ptr %retval.sroa.0.0.copyload.i, ptr %0, i64 %1, ptr noundef nonnull align 4 dereferenceable(16) %4) + %6 = invoke ptr @_ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_NS0_17basic_string_viewIT_EERKNS0_12format_specsIS6_EE(ptr %retval.sroa.0.0.copyload.i, ptr %0, i64 %1, ptr noundef nonnull align 4 dereferenceable(16) %5) to label %_ZNK3fmt3v109formatterINS0_17basic_string_viewIcEEcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEERKS3_RT_.exit unwind label %lpad2 _ZNK3fmt3v109formatterINS0_17basic_string_viewIcEEcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEERKS3_RT_.exit: ; preds = %if.end.i.invoke - %6 = load ptr, ptr %ptr_.i.i, align 8 - %cmp.not.i.i = icmp eq ptr %6, %store_.i + %7 = load ptr, ptr %ptr_.i.i, align 8 + %cmp.not.i.i = icmp eq ptr %7, %store_.i br i1 %cmp.not.i.i, label %_ZN3fmt3v1019basic_memory_bufferIcLm500ESaIcEED2Ev.exit, label %if.then.i.i if.then.i.i: ; preds = %_ZNK3fmt3v109formatterINS0_17basic_string_viewIcEEcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEERKS3_RT_.exit - call void @_ZdlPv(ptr noundef %6) #26 + call void @_ZdlPv(ptr noundef %7) #26 br label %_ZN3fmt3v1019basic_memory_bufferIcLm500ESaIcEED2Ev.exit _ZN3fmt3v1019basic_memory_bufferIcLm500ESaIcEED2Ev.exit: ; preds = %_ZNK3fmt3v109formatterINS0_17basic_string_viewIcEEcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEERKS3_RT_.exit, %if.then.i.i call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %alloc_.i) #25 - ret ptr %5 + ret ptr %6 lpad2: ; preds = %if.end.i.invoke, %.noexc, %if.then.i, %entry - %7 = landingpad { ptr, i32 } + %8 = landingpad { ptr, i32 } cleanup call void @_ZN3fmt3v1019basic_memory_bufferIcLm500ESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(536) %buffer) #25 - resume { ptr, i32 } %7 + resume { ptr, i32 } %8 } ; Function Attrs: mustprogress uwtable @@ -19066,96 +19066,96 @@ _ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_NS0_17basic_string_viewIT_EE.exi if.then.i: ; preds = %_ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_NS0_17basic_string_viewIT_EE.exit45 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(64) %specs.i, ptr noundef nonnull align 8 dereferenceable(64) %this, i64 64, i1 false) - %width_ref6.i = getelementptr inbounds i8, ptr %specs.i, i64 16 - call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %specs.i, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %width_ref6.i, ptr noundef nonnull align 8 dereferenceable(32) %ctx) + %17 = getelementptr inbounds i8, ptr %this, i64 16 + call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %specs.i, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %17, ptr noundef nonnull align 8 dereferenceable(32) %ctx) %precision.i = getelementptr inbounds i8, ptr %specs.i, i64 4 %precision_ref8.i = getelementptr inbounds i8, ptr %specs.i, i64 40 call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_17precision_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %precision.i, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %precision_ref8.i, ptr noundef nonnull align 8 dereferenceable(32) %ctx) %retval.sroa.0.0.copyload.i46 = load ptr, ptr %ctx, align 8 - %17 = load i32, ptr %opt, align 4 + %18 = load i32, ptr %opt, align 4 %loc_.i = getelementptr inbounds i8, ptr %ctx, i64 24 %retval.sroa.0.0.copyload.i47 = load ptr, ptr %loc_.i, align 8 %localized.i = getelementptr inbounds i8, ptr %specs.i, i64 9 %bf.load.i = load i16, ptr %localized.i, align 1 - %18 = and i16 %bf.load.i, 256 - %bf.cast.i.not = icmp eq i16 %18, 0 + %19 = and i16 %bf.load.i, 256 + %bf.cast.i.not = icmp eq i16 %19, 0 br i1 %bf.cast.i.not, label %if.end.i39, label %land.lhs.true.i land.lhs.true.i: ; preds = %if.then.i %type_.i.i.i = getelementptr inbounds i8, ptr %agg.tmp3.i, i64 16 store i32 1, ptr %type_.i.i.i, align 16, !alias.scope !615 - %retval.i.sroa.0.0.insert.ext.i.i = zext i32 %17 to i64 + %retval.i.sroa.0.0.insert.ext.i.i = zext i32 %18 to i64 store i64 %retval.i.sroa.0.0.insert.ext.i.i, ptr %agg.tmp3.i, align 16, !alias.scope !615 %call.i40 = call noundef zeroext i1 @_ZN3fmt3v106detail9write_locENS0_8appenderENS0_9loc_valueERKNS0_12format_specsIcEENS1_10locale_refE(ptr %retval.sroa.0.0.copyload.i46, ptr noundef nonnull byval(%"class.fmt::v10::loc_value") align 16 %agg.tmp3.i, ptr noundef nonnull align 4 dereferenceable(16) %specs.i, ptr %retval.sroa.0.0.copyload.i47) br i1 %call.i40, label %_ZNK3fmt3v109formatterIicvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEERKiRT_.exit, label %if.end.i39 if.end.i39: ; preds = %land.lhs.true.i, %if.then.i - %cmp.i.i = icmp slt i32 %17, 0 + %cmp.i.i = icmp slt i32 %18, 0 br i1 %cmp.i.i, label %if.then.i49, label %if.else.i if.then.i49: ; preds = %if.end.i39 - %sub.i = sub i32 0, %17 + %sub.i = sub i32 0, %18 br label %_ZN3fmt3v106detail18make_write_int_argIiEENS1_13write_int_argINSt11conditionalIXaalecl8num_bitsIT_EELi32EntLi0EEjNS4_IXlecl8num_bitsIS5_EELi64EEmoE4typeEE4typeEEES5_NS0_4sign4typeE.exit if.else.i: ; preds = %if.end.i39 %bf.load10.i = load i16, ptr %localized.i, align 1 - %19 = lshr i16 %bf.load10.i, 4 - %20 = and i16 %19, 7 - %bf.cast13.i = zext nneg i16 %20 to i64 + %20 = lshr i16 %bf.load10.i, 4 + %21 = and i16 %20, 7 + %bf.cast13.i = zext nneg i16 %21 to i64 %arrayidx.i = getelementptr inbounds [4 x i32], ptr @__const._ZN3fmt3v106detail18make_write_int_argIhEENS1_13write_int_argINSt11conditionalIXaalecl8num_bitsIT_EELi32EntLi0EEjNS4_IXlecl8num_bitsIS5_EELi64EEmoE4typeEE4typeEEES5_NS0_4sign4typeE.prefixes, i64 0, i64 %bf.cast13.i - %21 = load i32, ptr %arrayidx.i, align 4 - %22 = zext i32 %21 to i64 - %23 = shl nuw i64 %22, 32 + %22 = load i32, ptr %arrayidx.i, align 4 + %23 = zext i32 %22 to i64 + %24 = shl nuw i64 %23, 32 br label %_ZN3fmt3v106detail18make_write_int_argIiEENS1_13write_int_argINSt11conditionalIXaalecl8num_bitsIT_EELi32EntLi0EEjNS4_IXlecl8num_bitsIS5_EELi64EEmoE4typeEE4typeEEES5_NS0_4sign4typeE.exit _ZN3fmt3v106detail18make_write_int_argIiEENS1_13write_int_argINSt11conditionalIXaalecl8num_bitsIT_EELi32EntLi0EEjNS4_IXlecl8num_bitsIS5_EELi64EEmoE4typeEE4typeEEES5_NS0_4sign4typeE.exit: ; preds = %if.then.i49, %if.else.i - %prefix.0.i = phi i64 [ 72057787311456256, %if.then.i49 ], [ %23, %if.else.i ] - %abs_value.0.i = phi i32 [ %sub.i, %if.then.i49 ], [ %17, %if.else.i ] + %prefix.0.i = phi i64 [ 72057787311456256, %if.then.i49 ], [ %24, %if.else.i ] + %abs_value.0.i = phi i32 [ %sub.i, %if.then.i49 ], [ %18, %if.else.i ] %retval.sroa.0.0.insert.ext.i = zext i32 %abs_value.0.i to i64 %retval.sroa.0.0.insert.insert.i = or disjoint i64 %prefix.0.i, %retval.sroa.0.0.insert.ext.i %call19.i = call ptr @_ZN3fmt3v106detail18write_int_noinlineIcNS0_8appenderEjEET0_S4_NS1_13write_int_argIT1_EERKNS0_12format_specsIT_EENS1_10locale_refE(ptr %retval.sroa.0.0.copyload.i46, i64 %retval.sroa.0.0.insert.insert.i, ptr noundef nonnull align 4 dereferenceable(16) %specs.i, ptr %retval.sroa.0.0.copyload.i47) br label %_ZNK3fmt3v109formatterIicvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEERKiRT_.exit if.end.i: ; preds = %_ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_NS0_17basic_string_viewIT_EE.exit45 - %24 = load i32, ptr %opt, align 4 + %25 = load i32, ptr %opt, align 4 %loc_.i51 = getelementptr inbounds i8, ptr %ctx, i64 24 %retval.sroa.0.0.copyload.i52 = load ptr, ptr %loc_.i51, align 8 %localized.i53 = getelementptr inbounds i8, ptr %this, i64 9 %bf.load.i54 = load i16, ptr %localized.i53, align 1 - %25 = and i16 %bf.load.i54, 256 - %bf.cast.i57.not = icmp eq i16 %25, 0 + %26 = and i16 %bf.load.i54, 256 + %bf.cast.i57.not = icmp eq i16 %26, 0 br i1 %bf.cast.i57.not, label %if.end.i58, label %land.lhs.true.i66 land.lhs.true.i66: ; preds = %if.end.i %type_.i.i.i53 = getelementptr inbounds i8, ptr %agg.tmp3.i48, i64 16 store i32 1, ptr %type_.i.i.i53, align 16, !alias.scope !618 - %retval.i.sroa.0.0.insert.ext.i.i54 = zext i32 %24 to i64 + %retval.i.sroa.0.0.insert.ext.i.i54 = zext i32 %25 to i64 store i64 %retval.i.sroa.0.0.insert.ext.i.i54, ptr %agg.tmp3.i48, align 16, !alias.scope !618 %call.i67 = tail call noundef zeroext i1 @_ZN3fmt3v106detail9write_locENS0_8appenderENS0_9loc_valueERKNS0_12format_specsIcEENS1_10locale_refE(ptr nonnull %retval.sroa.0.0.copyload.i19, ptr noundef nonnull byval(%"class.fmt::v10::loc_value") align 16 %agg.tmp3.i48, ptr noundef nonnull align 4 dereferenceable(16) %this, ptr %retval.sroa.0.0.copyload.i52) br i1 %call.i67, label %_ZNK3fmt3v109formatterIicvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEERKiRT_.exit, label %if.end.i58 if.end.i58: ; preds = %land.lhs.true.i66, %if.end.i - %cmp.i.i55 = icmp slt i32 %24, 0 + %cmp.i.i55 = icmp slt i32 %25, 0 br i1 %cmp.i.i55, label %if.then.i64, label %if.else.i56 if.then.i64: ; preds = %if.end.i58 - %sub.i65 = sub i32 0, %24 + %sub.i65 = sub i32 0, %25 br label %_ZN3fmt3v106detail18make_write_int_argIiEENS1_13write_int_argINSt11conditionalIXaalecl8num_bitsIT_EELi32EntLi0EEjNS4_IXlecl8num_bitsIS5_EELi64EEmoE4typeEE4typeEEES5_NS0_4sign4typeE.exit66 if.else.i56: ; preds = %if.end.i58 %bf.load10.i60 = load i16, ptr %localized.i53, align 1 - %26 = lshr i16 %bf.load10.i60, 4 - %27 = and i16 %26, 7 - %bf.cast13.i63 = zext nneg i16 %27 to i64 + %27 = lshr i16 %bf.load10.i60, 4 + %28 = and i16 %27, 7 + %bf.cast13.i63 = zext nneg i16 %28 to i64 %arrayidx.i58 = getelementptr inbounds [4 x i32], ptr @__const._ZN3fmt3v106detail18make_write_int_argIhEENS1_13write_int_argINSt11conditionalIXaalecl8num_bitsIT_EELi32EntLi0EEjNS4_IXlecl8num_bitsIS5_EELi64EEmoE4typeEE4typeEEES5_NS0_4sign4typeE.prefixes, i64 0, i64 %bf.cast13.i63 - %28 = load i32, ptr %arrayidx.i58, align 4 - %29 = zext i32 %28 to i64 - %30 = shl nuw i64 %29, 32 + %29 = load i32, ptr %arrayidx.i58, align 4 + %30 = zext i32 %29 to i64 + %31 = shl nuw i64 %30, 32 br label %_ZN3fmt3v106detail18make_write_int_argIiEENS1_13write_int_argINSt11conditionalIXaalecl8num_bitsIT_EELi32EntLi0EEjNS4_IXlecl8num_bitsIS5_EELi64EEmoE4typeEE4typeEEES5_NS0_4sign4typeE.exit66 _ZN3fmt3v106detail18make_write_int_argIiEENS1_13write_int_argINSt11conditionalIXaalecl8num_bitsIT_EELi32EntLi0EEjNS4_IXlecl8num_bitsIS5_EELi64EEmoE4typeEE4typeEEES5_NS0_4sign4typeE.exit66: ; preds = %if.then.i64, %if.else.i56 - %prefix.0.i60 = phi i64 [ 72057787311456256, %if.then.i64 ], [ %30, %if.else.i56 ] - %abs_value.0.i61 = phi i32 [ %sub.i65, %if.then.i64 ], [ %24, %if.else.i56 ] + %prefix.0.i60 = phi i64 [ 72057787311456256, %if.then.i64 ], [ %31, %if.else.i56 ] + %abs_value.0.i61 = phi i32 [ %sub.i65, %if.then.i64 ], [ %25, %if.else.i56 ] %retval.sroa.0.0.insert.ext.i62 = zext i32 %abs_value.0.i61 to i64 %retval.sroa.0.0.insert.insert.i63 = or disjoint i64 %prefix.0.i60, %retval.sroa.0.0.insert.ext.i62 %call19.i65 = tail call ptr @_ZN3fmt3v106detail18write_int_noinlineIcNS0_8appenderEjEET0_S4_NS1_13write_int_argIT1_EERKNS0_12format_specsIT_EENS1_10locale_refE(ptr nonnull %retval.sroa.0.0.copyload.i19, i64 %retval.sroa.0.0.insert.insert.i63, ptr noundef nonnull align 4 dereferenceable(16) %this, ptr %retval.sroa.0.0.copyload.i52) @@ -19164,28 +19164,28 @@ _ZN3fmt3v106detail18make_write_int_argIiEENS1_13write_int_argINSt11conditionalIX _ZNK3fmt3v109formatterIicvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEERKiRT_.exit: ; preds = %_ZN3fmt3v106detail18make_write_int_argIiEENS1_13write_int_argINSt11conditionalIXaalecl8num_bitsIT_EELi32EntLi0EEjNS4_IXlecl8num_bitsIS5_EELi64EEmoE4typeEE4typeEEES5_NS0_4sign4typeE.exit66, %land.lhs.true.i66, %_ZN3fmt3v106detail18make_write_int_argIiEENS1_13write_int_argINSt11conditionalIXaalecl8num_bitsIT_EELi32EntLi0EEjNS4_IXlecl8num_bitsIS5_EELi64EEmoE4typeEE4typeEEES5_NS0_4sign4typeE.exit, %land.lhs.true.i %retval.i.sroa.0.0 = phi ptr [ %call19.i, %_ZN3fmt3v106detail18make_write_int_argIiEENS1_13write_int_argINSt11conditionalIXaalecl8num_bitsIT_EELi32EntLi0EEjNS4_IXlecl8num_bitsIS5_EELi64EEmoE4typeEE4typeEEES5_NS0_4sign4typeE.exit ], [ %retval.sroa.0.0.copyload.i46, %land.lhs.true.i ], [ %call19.i65, %_ZN3fmt3v106detail18make_write_int_argIiEENS1_13write_int_argINSt11conditionalIXaalecl8num_bitsIT_EELi32EntLi0EEjNS4_IXlecl8num_bitsIS5_EELi64EEmoE4typeEE4typeEEES5_NS0_4sign4typeE.exit66 ], [ %retval.sroa.0.0.copyload.i19, %land.lhs.true.i66 ] %size_.i.i.i = getelementptr inbounds i8, ptr %retval.i.sroa.0.0, i64 16 - %31 = load i64, ptr %size_.i.i.i, align 8 - %add.i.i.i = add i64 %31, 1 + %32 = load i64, ptr %size_.i.i.i, align 8 + %add.i.i.i = add i64 %32, 1 %capacity_.i.i.i.i = getelementptr inbounds i8, ptr %retval.i.sroa.0.0, i64 24 - %32 = load i64, ptr %capacity_.i.i.i.i, align 8 - %cmp.i.i.i.i = icmp ult i64 %32, %add.i.i.i + %33 = load i64, ptr %capacity_.i.i.i.i, align 8 + %cmp.i.i.i.i = icmp ult i64 %33, %add.i.i.i br i1 %cmp.i.i.i.i, label %if.then.i.i.i.i, label %_ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_T_.exit if.then.i.i.i.i: ; preds = %_ZNK3fmt3v109formatterIicvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEERKiRT_.exit %vtable.i.i.i.i = load ptr, ptr %retval.i.sroa.0.0, align 8 - %33 = load ptr, ptr %vtable.i.i.i.i, align 8 - call void %33(ptr noundef nonnull align 8 dereferenceable(32) %retval.i.sroa.0.0, i64 noundef %add.i.i.i) + %34 = load ptr, ptr %vtable.i.i.i.i, align 8 + call void %34(ptr noundef nonnull align 8 dereferenceable(32) %retval.i.sroa.0.0, i64 noundef %add.i.i.i) %.pre.i.i.i = load i64, ptr %size_.i.i.i, align 8 %.pre1.i.i.i = add i64 %.pre.i.i.i, 1 br label %_ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_T_.exit _ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_T_.exit: ; preds = %_ZNK3fmt3v109formatterIicvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEERKiRT_.exit, %if.then.i.i.i.i %inc.pre-phi.i.i.i = phi i64 [ %add.i.i.i, %_ZNK3fmt3v109formatterIicvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEERKiRT_.exit ], [ %.pre1.i.i.i, %if.then.i.i.i.i ] - %34 = phi i64 [ %31, %_ZNK3fmt3v109formatterIicvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEERKiRT_.exit ], [ %.pre.i.i.i, %if.then.i.i.i.i ] + %35 = phi i64 [ %32, %_ZNK3fmt3v109formatterIicvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEERKiRT_.exit ], [ %.pre.i.i.i, %if.then.i.i.i.i ] %ptr_.i.i.i = getelementptr inbounds i8, ptr %retval.i.sroa.0.0, i64 8 - %35 = load ptr, ptr %ptr_.i.i.i, align 8 + %36 = load ptr, ptr %ptr_.i.i.i, align 8 store i64 %inc.pre-phi.i.i.i, ptr %size_.i.i.i, align 8 - %arrayidx.i.i.i = getelementptr inbounds i8, ptr %35, i64 %34 + %arrayidx.i.i.i = getelementptr inbounds i8, ptr %36, i64 %35 store i8 41, ptr %arrayidx.i.i.i, align 1 br label %return @@ -23351,51 +23351,51 @@ if.end: ; preds = %_ZN3fmt3v106detail8 if.then.i: ; preds = %if.end call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(64) %specs.i, ptr noundef nonnull align 8 dereferenceable(64) %f, i64 64, i1 false) - %width_ref6.i = getelementptr inbounds i8, ptr %specs.i, i64 16 - call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %specs.i, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %width_ref6.i, ptr noundef nonnull align 8 dereferenceable(32) %11) + %14 = getelementptr inbounds i8, ptr %f, i64 16 + call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %specs.i, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %14, ptr noundef nonnull align 8 dereferenceable(32) %11) %precision.i = getelementptr inbounds i8, ptr %specs.i, i64 4 %precision_ref8.i = getelementptr inbounds i8, ptr %specs.i, i64 40 call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_17precision_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %precision.i, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %precision_ref8.i, ptr noundef nonnull align 8 dereferenceable(32) %11) %retval.sroa.0.0.copyload.i15 = load ptr, ptr %11, align 8 - %14 = load i32, ptr %v, align 4 + %15 = load i32, ptr %v, align 4 %loc_.i = getelementptr inbounds i8, ptr %11, i64 24 %retval.sroa.0.0.copyload.i16 = load ptr, ptr %loc_.i, align 8 %localized.i = getelementptr inbounds i8, ptr %specs.i, i64 9 %bf.load.i = load i16, ptr %localized.i, align 1 - %15 = and i16 %bf.load.i, 256 - %bf.cast.i.not = icmp eq i16 %15, 0 + %16 = and i16 %bf.load.i, 256 + %bf.cast.i.not = icmp eq i16 %16, 0 br i1 %bf.cast.i.not, label %if.end.i24, label %land.lhs.true.i land.lhs.true.i: ; preds = %if.then.i %type_.i.i.i = getelementptr inbounds i8, ptr %agg.tmp3.i, i64 16 store i32 1, ptr %type_.i.i.i, align 16, !alias.scope !651 - %retval.i.sroa.0.0.insert.ext.i.i = zext i32 %14 to i64 + %retval.i.sroa.0.0.insert.ext.i.i = zext i32 %15 to i64 store i64 %retval.i.sroa.0.0.insert.ext.i.i, ptr %agg.tmp3.i, align 16, !alias.scope !651 %call.i25 = call noundef zeroext i1 @_ZN3fmt3v106detail9write_locENS0_8appenderENS0_9loc_valueERKNS0_12format_specsIcEENS1_10locale_refE(ptr %retval.sroa.0.0.copyload.i15, ptr noundef nonnull byval(%"class.fmt::v10::loc_value") align 16 %agg.tmp3.i, ptr noundef nonnull align 4 dereferenceable(16) %specs.i, ptr %retval.sroa.0.0.copyload.i16) br i1 %call.i25, label %_ZNK3fmt3v109formatterIicvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEERKiRT_.exit, label %if.end.i24 if.end.i24: ; preds = %land.lhs.true.i, %if.then.i - %cmp.i.i = icmp slt i32 %14, 0 + %cmp.i.i = icmp slt i32 %15, 0 br i1 %cmp.i.i, label %if.then.i18, label %if.else.i if.then.i18: ; preds = %if.end.i24 - %sub.i = sub i32 0, %14 + %sub.i = sub i32 0, %15 br label %_ZN3fmt3v106detail18make_write_int_argIiEENS1_13write_int_argINSt11conditionalIXaalecl8num_bitsIT_EELi32EntLi0EEjNS4_IXlecl8num_bitsIS5_EELi64EEmoE4typeEE4typeEEES5_NS0_4sign4typeE.exit if.else.i: ; preds = %if.end.i24 %bf.load10.i = load i16, ptr %localized.i, align 1 - %16 = lshr i16 %bf.load10.i, 4 - %17 = and i16 %16, 7 - %bf.cast13.i = zext nneg i16 %17 to i64 + %17 = lshr i16 %bf.load10.i, 4 + %18 = and i16 %17, 7 + %bf.cast13.i = zext nneg i16 %18 to i64 %arrayidx.i = getelementptr inbounds [4 x i32], ptr @__const._ZN3fmt3v106detail18make_write_int_argIhEENS1_13write_int_argINSt11conditionalIXaalecl8num_bitsIT_EELi32EntLi0EEjNS4_IXlecl8num_bitsIS5_EELi64EEmoE4typeEE4typeEEES5_NS0_4sign4typeE.prefixes, i64 0, i64 %bf.cast13.i - %18 = load i32, ptr %arrayidx.i, align 4 - %19 = zext i32 %18 to i64 - %20 = shl nuw i64 %19, 32 + %19 = load i32, ptr %arrayidx.i, align 4 + %20 = zext i32 %19 to i64 + %21 = shl nuw i64 %20, 32 br label %_ZN3fmt3v106detail18make_write_int_argIiEENS1_13write_int_argINSt11conditionalIXaalecl8num_bitsIT_EELi32EntLi0EEjNS4_IXlecl8num_bitsIS5_EELi64EEmoE4typeEE4typeEEES5_NS0_4sign4typeE.exit _ZN3fmt3v106detail18make_write_int_argIiEENS1_13write_int_argINSt11conditionalIXaalecl8num_bitsIT_EELi32EntLi0EEjNS4_IXlecl8num_bitsIS5_EELi64EEmoE4typeEE4typeEEES5_NS0_4sign4typeE.exit: ; preds = %if.then.i18, %if.else.i - %prefix.0.i = phi i64 [ 72057787311456256, %if.then.i18 ], [ %20, %if.else.i ] - %abs_value.0.i = phi i32 [ %sub.i, %if.then.i18 ], [ %14, %if.else.i ] + %prefix.0.i = phi i64 [ 72057787311456256, %if.then.i18 ], [ %21, %if.else.i ] + %abs_value.0.i = phi i32 [ %sub.i, %if.then.i18 ], [ %15, %if.else.i ] %retval.sroa.0.0.insert.ext.i = zext i32 %abs_value.0.i to i64 %retval.sroa.0.0.insert.insert.i = or disjoint i64 %prefix.0.i, %retval.sroa.0.0.insert.ext.i %call19.i = call ptr @_ZN3fmt3v106detail18write_int_noinlineIcNS0_8appenderEjEET0_S4_NS1_13write_int_argIT1_EERKNS0_12format_specsIT_EENS1_10locale_refE(ptr %retval.sroa.0.0.copyload.i15, i64 %retval.sroa.0.0.insert.insert.i, ptr noundef nonnull align 4 dereferenceable(16) %specs.i, ptr %retval.sroa.0.0.copyload.i16) @@ -23403,45 +23403,45 @@ _ZN3fmt3v106detail18make_write_int_argIiEENS1_13write_int_argINSt11conditionalIX if.end.i: ; preds = %if.end %retval.sroa.0.0.copyload.i19 = load ptr, ptr %11, align 8 - %21 = load i32, ptr %v, align 4 + %22 = load i32, ptr %v, align 4 %loc_.i20 = getelementptr inbounds i8, ptr %11, i64 24 %retval.sroa.0.0.copyload.i21 = load ptr, ptr %loc_.i20, align 8 %localized.i38 = getelementptr inbounds i8, ptr %f, i64 9 %bf.load.i39 = load i16, ptr %localized.i38, align 1 - %22 = and i16 %bf.load.i39, 256 - %bf.cast.i42.not = icmp eq i16 %22, 0 + %23 = and i16 %bf.load.i39, 256 + %bf.cast.i42.not = icmp eq i16 %23, 0 br i1 %bf.cast.i42.not, label %if.end.i43, label %land.lhs.true.i51 land.lhs.true.i51: ; preds = %if.end.i %type_.i.i.i22 = getelementptr inbounds i8, ptr %agg.tmp3.i33, i64 16 store i32 1, ptr %type_.i.i.i22, align 16, !alias.scope !654 - %retval.i.sroa.0.0.insert.ext.i.i23 = zext i32 %21 to i64 + %retval.i.sroa.0.0.insert.ext.i.i23 = zext i32 %22 to i64 store i64 %retval.i.sroa.0.0.insert.ext.i.i23, ptr %agg.tmp3.i33, align 16, !alias.scope !654 %call.i52 = tail call noundef zeroext i1 @_ZN3fmt3v106detail9write_locENS0_8appenderENS0_9loc_valueERKNS0_12format_specsIcEENS1_10locale_refE(ptr %retval.sroa.0.0.copyload.i19, ptr noundef nonnull byval(%"class.fmt::v10::loc_value") align 16 %agg.tmp3.i33, ptr noundef nonnull align 4 dereferenceable(16) %f, ptr %retval.sroa.0.0.copyload.i21) br i1 %call.i52, label %_ZNK3fmt3v109formatterIicvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEERKiRT_.exit, label %if.end.i43 if.end.i43: ; preds = %land.lhs.true.i51, %if.end.i - %cmp.i.i24 = icmp slt i32 %21, 0 + %cmp.i.i24 = icmp slt i32 %22, 0 br i1 %cmp.i.i24, label %if.then.i33, label %if.else.i25 if.then.i33: ; preds = %if.end.i43 - %sub.i34 = sub i32 0, %21 + %sub.i34 = sub i32 0, %22 br label %_ZN3fmt3v106detail18make_write_int_argIiEENS1_13write_int_argINSt11conditionalIXaalecl8num_bitsIT_EELi32EntLi0EEjNS4_IXlecl8num_bitsIS5_EELi64EEmoE4typeEE4typeEEES5_NS0_4sign4typeE.exit35 if.else.i25: ; preds = %if.end.i43 %bf.load10.i45 = load i16, ptr %localized.i38, align 1 - %23 = lshr i16 %bf.load10.i45, 4 - %24 = and i16 %23, 7 - %bf.cast13.i48 = zext nneg i16 %24 to i64 + %24 = lshr i16 %bf.load10.i45, 4 + %25 = and i16 %24, 7 + %bf.cast13.i48 = zext nneg i16 %25 to i64 %arrayidx.i27 = getelementptr inbounds [4 x i32], ptr @__const._ZN3fmt3v106detail18make_write_int_argIhEENS1_13write_int_argINSt11conditionalIXaalecl8num_bitsIT_EELi32EntLi0EEjNS4_IXlecl8num_bitsIS5_EELi64EEmoE4typeEE4typeEEES5_NS0_4sign4typeE.prefixes, i64 0, i64 %bf.cast13.i48 - %25 = load i32, ptr %arrayidx.i27, align 4 - %26 = zext i32 %25 to i64 - %27 = shl nuw i64 %26, 32 + %26 = load i32, ptr %arrayidx.i27, align 4 + %27 = zext i32 %26 to i64 + %28 = shl nuw i64 %27, 32 br label %_ZN3fmt3v106detail18make_write_int_argIiEENS1_13write_int_argINSt11conditionalIXaalecl8num_bitsIT_EELi32EntLi0EEjNS4_IXlecl8num_bitsIS5_EELi64EEmoE4typeEE4typeEEES5_NS0_4sign4typeE.exit35 _ZN3fmt3v106detail18make_write_int_argIiEENS1_13write_int_argINSt11conditionalIXaalecl8num_bitsIT_EELi32EntLi0EEjNS4_IXlecl8num_bitsIS5_EELi64EEmoE4typeEE4typeEEES5_NS0_4sign4typeE.exit35: ; preds = %if.then.i33, %if.else.i25 - %prefix.0.i29 = phi i64 [ 72057787311456256, %if.then.i33 ], [ %27, %if.else.i25 ] - %abs_value.0.i30 = phi i32 [ %sub.i34, %if.then.i33 ], [ %21, %if.else.i25 ] + %prefix.0.i29 = phi i64 [ 72057787311456256, %if.then.i33 ], [ %28, %if.else.i25 ] + %abs_value.0.i30 = phi i32 [ %sub.i34, %if.then.i33 ], [ %22, %if.else.i25 ] %retval.sroa.0.0.insert.ext.i31 = zext i32 %abs_value.0.i30 to i64 %retval.sroa.0.0.insert.insert.i32 = or disjoint i64 %prefix.0.i29, %retval.sroa.0.0.insert.ext.i31 %call19.i50 = tail call ptr @_ZN3fmt3v106detail18write_int_noinlineIcNS0_8appenderEjEET0_S4_NS1_13write_int_argIT1_EERKNS0_12format_specsIT_EENS1_10locale_refE(ptr %retval.sroa.0.0.copyload.i19, i64 %retval.sroa.0.0.insert.insert.i32, ptr noundef nonnull align 4 dereferenceable(16) %f, ptr %retval.sroa.0.0.copyload.i21) @@ -23450,8 +23450,8 @@ _ZN3fmt3v106detail18make_write_int_argIiEENS1_13write_int_argINSt11conditionalIX _ZNK3fmt3v109formatterIicvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEERKiRT_.exit: ; preds = %_ZN3fmt3v106detail18make_write_int_argIiEENS1_13write_int_argINSt11conditionalIXaalecl8num_bitsIT_EELi32EntLi0EEjNS4_IXlecl8num_bitsIS5_EELi64EEmoE4typeEE4typeEEES5_NS0_4sign4typeE.exit35, %land.lhs.true.i51, %_ZN3fmt3v106detail18make_write_int_argIiEENS1_13write_int_argINSt11conditionalIXaalecl8num_bitsIT_EELi32EntLi0EEjNS4_IXlecl8num_bitsIS5_EELi64EEmoE4typeEE4typeEEES5_NS0_4sign4typeE.exit, %land.lhs.true.i %retval.i.sroa.0.0 = phi ptr [ %call19.i, %_ZN3fmt3v106detail18make_write_int_argIiEENS1_13write_int_argINSt11conditionalIXaalecl8num_bitsIT_EELi32EntLi0EEjNS4_IXlecl8num_bitsIS5_EELi64EEmoE4typeEE4typeEEES5_NS0_4sign4typeE.exit ], [ %retval.sroa.0.0.copyload.i15, %land.lhs.true.i ], [ %call19.i50, %_ZN3fmt3v106detail18make_write_int_argIiEENS1_13write_int_argINSt11conditionalIXaalecl8num_bitsIT_EELi32EntLi0EEjNS4_IXlecl8num_bitsIS5_EELi64EEmoE4typeEE4typeEEES5_NS0_4sign4typeE.exit35 ], [ %retval.sroa.0.0.copyload.i19, %land.lhs.true.i51 ] store ptr %retval.i.sroa.0.0, ptr %11, align 8 - %28 = load i32, ptr %this, align 8 - %inc = add nsw i32 %28, 1 + %29 = load i32, ptr %this, align 8 + %inc = add nsw i32 %29, 1 store i32 %inc, ptr %this, align 8 ret void } @@ -23545,25 +23545,25 @@ if.end: ; preds = %_ZN3fmt3v106detail8 if.then.i: ; preds = %if.end call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(64) %specs.i, ptr noundef nonnull align 8 dereferenceable(64) %f, i64 64, i1 false) - %width_ref6.i = getelementptr inbounds i8, ptr %specs.i, i64 16 - call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %specs.i, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %width_ref6.i, ptr noundef nonnull align 8 dereferenceable(32) %11) + %14 = getelementptr inbounds i8, ptr %f, i64 16 + call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %specs.i, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %14, ptr noundef nonnull align 8 dereferenceable(32) %11) %precision.i = getelementptr inbounds i8, ptr %specs.i, i64 4 %precision_ref8.i = getelementptr inbounds i8, ptr %specs.i, i64 40 call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_17precision_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %precision.i, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %precision_ref8.i, ptr noundef nonnull align 8 dereferenceable(32) %11) %retval.sroa.0.0.copyload.i7 = load ptr, ptr %11, align 8 - %14 = load ptr, ptr %v, align 8 + %15 = load ptr, ptr %v, align 8 %type.i = getelementptr inbounds i8, ptr %specs.i, i64 8 - %15 = load i8, ptr %type.i, align 8 - %cmp.i = icmp eq i8 %15, 17 + %16 = load i8, ptr %type.i, align 8 + %cmp.i = icmp eq i8 %16, 17 br i1 %cmp.i, label %if.then.i10, label %if.end.i9 if.then.i10: ; preds = %if.then.i - %16 = ptrtoint ptr %14 to i64 + %17 = ptrtoint ptr %15 to i64 call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %write.i.i) br label %do.body.i.i.i.i do.body.i.i.i.i: ; preds = %do.body.i.i.i.i, %if.then.i10 - %m.addr.0.i.i.i.i = phi i64 [ %16, %if.then.i10 ], [ %shr.i.i.i.i, %do.body.i.i.i.i ] + %m.addr.0.i.i.i.i = phi i64 [ %17, %if.then.i10 ], [ %shr.i.i.i.i, %do.body.i.i.i.i ] %num_digits.0.i.i.i.i = phi i32 [ 0, %if.then.i10 ], [ %inc.i.i.i.i, %do.body.i.i.i.i ] %inc.i.i.i.i = add nuw nsw i32 %num_digits.0.i.i.i.i, 1 %shr.i.i.i.i = lshr i64 %m.addr.0.i.i.i.i, 4 @@ -23571,9 +23571,9 @@ do.body.i.i.i.i: ; preds = %do.body.i.i.i.i, %i br i1 %cmp.not.i.i.i.i, label %_ZN3fmt3v106detail9write_ptrIcNS0_8appenderEmEET0_S4_T1_PKNS0_12format_specsIT_EE.exit.i, label %do.body.i.i.i.i, !llvm.loop !657 _ZN3fmt3v106detail9write_ptrIcNS0_8appenderEmEET0_S4_T1_PKNS0_12format_specsIT_EE.exit.i: ; preds = %do.body.i.i.i.i - store i64 %16, ptr %write.i.i, align 8 - %17 = getelementptr inbounds i8, ptr %write.i.i, i64 8 - store i32 %inc.i.i.i.i, ptr %17, align 8 + store i64 %17, ptr %write.i.i, align 8 + %18 = getelementptr inbounds i8, ptr %write.i.i, i64 8 + store i32 %inc.i.i.i.i, ptr %18, align 8 %narrow.i.i = add nuw i32 %num_digits.0.i.i.i.i, 3 %add.i.i = zext i32 %narrow.i.i to i64 %call.i.i.i = call ptr @_ZN3fmt3v106detail12write_paddedILNS0_5align4typeE2ENS0_8appenderEcRZNS1_9write_ptrIcS5_mEET0_S7_T1_PKNS0_12format_specsIT_EEEUlS5_E_EES7_S7_RKNS9_IS8_EEmmOT2_(ptr %retval.sroa.0.0.copyload.i7, ptr noundef nonnull align 4 dereferenceable(16) %specs.i, i64 noundef %add.i.i, i64 noundef %add.i.i, ptr noundef nonnull align 8 dereferenceable(12) %write.i.i) @@ -23581,7 +23581,7 @@ _ZN3fmt3v106detail9write_ptrIcNS0_8appenderEmEET0_S4_T1_PKNS0_12format_specsIT_E br label %_ZNK3fmt3v109formatterIPKccvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEERKS3_RT_.exit if.end.i9: ; preds = %if.then.i - %tobool.not.i = icmp eq ptr %14, null + %tobool.not.i = icmp eq ptr %15, null br i1 %tobool.not.i, label %if.then8.i, label %if.end9.i if.then8.i: ; preds = %if.end.i9 @@ -23589,25 +23589,25 @@ if.then8.i: ; preds = %if.end.i9 unreachable if.end9.i: ; preds = %if.end.i9 - %call.i4.i = call noundef i64 @strlen(ptr noundef nonnull dereferenceable(1) %14) #25 - %call.i.i = call ptr @_ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_NS0_17basic_string_viewIT_EERKNS0_12format_specsIS6_EE(ptr %retval.sroa.0.0.copyload.i7, ptr nonnull %14, i64 %call.i4.i, ptr noundef nonnull align 4 dereferenceable(16) %specs.i) + %call.i4.i = call noundef i64 @strlen(ptr noundef nonnull dereferenceable(1) %15) #25 + %call.i.i = call ptr @_ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_NS0_17basic_string_viewIT_EERKNS0_12format_specsIS6_EE(ptr %retval.sroa.0.0.copyload.i7, ptr nonnull %15, i64 %call.i4.i, ptr noundef nonnull align 4 dereferenceable(16) %specs.i) br label %_ZNK3fmt3v109formatterIPKccvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEERKS3_RT_.exit if.end.i: ; preds = %if.end %retval.sroa.0.0.copyload.i11 = load ptr, ptr %11, align 8 - %18 = load ptr, ptr %v, align 8 + %19 = load ptr, ptr %v, align 8 %type.i15 = getelementptr inbounds i8, ptr %f, i64 8 - %19 = load i8, ptr %type.i15, align 8 - %cmp.i16 = icmp eq i8 %19, 17 + %20 = load i8, ptr %type.i15, align 8 + %cmp.i16 = icmp eq i8 %20, 17 br i1 %cmp.i16, label %if.then.i24, label %if.end.i17 if.then.i24: ; preds = %if.end.i - %20 = ptrtoint ptr %18 to i64 + %21 = ptrtoint ptr %19 to i64 call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %write.i.i14) br label %do.body.i.i.i.i25 do.body.i.i.i.i25: ; preds = %do.body.i.i.i.i25, %if.then.i24 - %m.addr.0.i.i.i.i26 = phi i64 [ %20, %if.then.i24 ], [ %shr.i.i.i.i29, %do.body.i.i.i.i25 ] + %m.addr.0.i.i.i.i26 = phi i64 [ %21, %if.then.i24 ], [ %shr.i.i.i.i29, %do.body.i.i.i.i25 ] %num_digits.0.i.i.i.i27 = phi i32 [ 0, %if.then.i24 ], [ %inc.i.i.i.i28, %do.body.i.i.i.i25 ] %inc.i.i.i.i28 = add nuw nsw i32 %num_digits.0.i.i.i.i27, 1 %shr.i.i.i.i29 = lshr i64 %m.addr.0.i.i.i.i26, 4 @@ -23615,9 +23615,9 @@ do.body.i.i.i.i25: ; preds = %do.body.i.i.i.i25, br i1 %cmp.not.i.i.i.i30, label %_ZN3fmt3v106detail9write_ptrIcNS0_8appenderEmEET0_S4_T1_PKNS0_12format_specsIT_EE.exit.i31, label %do.body.i.i.i.i25, !llvm.loop !657 _ZN3fmt3v106detail9write_ptrIcNS0_8appenderEmEET0_S4_T1_PKNS0_12format_specsIT_EE.exit.i31: ; preds = %do.body.i.i.i.i25 - store i64 %20, ptr %write.i.i14, align 8 - %21 = getelementptr inbounds i8, ptr %write.i.i14, i64 8 - store i32 %inc.i.i.i.i28, ptr %21, align 8 + store i64 %21, ptr %write.i.i14, align 8 + %22 = getelementptr inbounds i8, ptr %write.i.i14, i64 8 + store i32 %inc.i.i.i.i28, ptr %22, align 8 %narrow.i.i32 = add nuw i32 %num_digits.0.i.i.i.i27, 3 %add.i.i33 = zext i32 %narrow.i.i32 to i64 %call.i.i.i34 = call ptr @_ZN3fmt3v106detail12write_paddedILNS0_5align4typeE2ENS0_8appenderEcRZNS1_9write_ptrIcS5_mEET0_S7_T1_PKNS0_12format_specsIT_EEEUlS5_E_EES7_S7_RKNS9_IS8_EEmmOT2_(ptr %retval.sroa.0.0.copyload.i11, ptr noundef nonnull align 4 dereferenceable(16) %f, i64 noundef %add.i.i33, i64 noundef %add.i.i33, ptr noundef nonnull align 8 dereferenceable(12) %write.i.i14) @@ -23625,7 +23625,7 @@ _ZN3fmt3v106detail9write_ptrIcNS0_8appenderEmEET0_S4_T1_PKNS0_12format_specsIT_E br label %_ZNK3fmt3v109formatterIPKccvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEERKS3_RT_.exit if.end.i17: ; preds = %if.end.i - %tobool.not.i18 = icmp eq ptr %18, null + %tobool.not.i18 = icmp eq ptr %19, null br i1 %tobool.not.i18, label %if.then8.i23, label %if.end9.i19 if.then8.i23: ; preds = %if.end.i17 @@ -23633,15 +23633,15 @@ if.then8.i23: ; preds = %if.end.i17 unreachable if.end9.i19: ; preds = %if.end.i17 - %call.i4.i20 = tail call noundef i64 @strlen(ptr noundef nonnull dereferenceable(1) %18) #25 - %call.i.i21 = tail call ptr @_ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_NS0_17basic_string_viewIT_EERKNS0_12format_specsIS6_EE(ptr %retval.sroa.0.0.copyload.i11, ptr nonnull %18, i64 %call.i4.i20, ptr noundef nonnull align 4 dereferenceable(16) %f) + %call.i4.i20 = tail call noundef i64 @strlen(ptr noundef nonnull dereferenceable(1) %19) #25 + %call.i.i21 = tail call ptr @_ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_NS0_17basic_string_viewIT_EERKNS0_12format_specsIS6_EE(ptr %retval.sroa.0.0.copyload.i11, ptr nonnull %19, i64 %call.i4.i20, ptr noundef nonnull align 4 dereferenceable(16) %f) br label %_ZNK3fmt3v109formatterIPKccvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEERKS3_RT_.exit _ZNK3fmt3v109formatterIPKccvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEERKS3_RT_.exit: ; preds = %if.end9.i19, %_ZN3fmt3v106detail9write_ptrIcNS0_8appenderEmEET0_S4_T1_PKNS0_12format_specsIT_EE.exit.i31, %if.end9.i, %_ZN3fmt3v106detail9write_ptrIcNS0_8appenderEmEET0_S4_T1_PKNS0_12format_specsIT_EE.exit.i %retval.i.sroa.0.0 = phi ptr [ %call.i.i.i, %_ZN3fmt3v106detail9write_ptrIcNS0_8appenderEmEET0_S4_T1_PKNS0_12format_specsIT_EE.exit.i ], [ %call.i.i, %if.end9.i ], [ %call.i.i.i34, %_ZN3fmt3v106detail9write_ptrIcNS0_8appenderEmEET0_S4_T1_PKNS0_12format_specsIT_EE.exit.i31 ], [ %call.i.i21, %if.end9.i19 ] store ptr %retval.i.sroa.0.0, ptr %11, align 8 - %22 = load i32, ptr %this, align 8 - %inc = add nsw i32 %22, 1 + %23 = load i32, ptr %this, align 8 + %inc = add nsw i32 %23, 1 store i32 %inc, ptr %this, align 8 ret void } @@ -24793,25 +24793,25 @@ _ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_NS0_17basic_string_viewIT_EE.exi if.then.i: ; preds = %_ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_NS0_17basic_string_viewIT_EE.exit37 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(64) %specs.i, ptr noundef nonnull align 8 dereferenceable(64) %this, i64 64, i1 false) - %width_ref6.i = getelementptr inbounds i8, ptr %specs.i, i64 16 - call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %specs.i, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %width_ref6.i, ptr noundef nonnull align 8 dereferenceable(32) %ctx) + %17 = getelementptr inbounds i8, ptr %this, i64 16 + call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %specs.i, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %17, ptr noundef nonnull align 8 dereferenceable(32) %ctx) %precision.i = getelementptr inbounds i8, ptr %specs.i, i64 4 %precision_ref8.i = getelementptr inbounds i8, ptr %specs.i, i64 40 call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_17precision_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %precision.i, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %precision_ref8.i, ptr noundef nonnull align 8 dereferenceable(32) %ctx) %retval.sroa.0.0.copyload.i38 = load ptr, ptr %ctx, align 8 - %17 = load ptr, ptr %opt, align 8 + %18 = load ptr, ptr %opt, align 8 %type.i = getelementptr inbounds i8, ptr %specs.i, i64 8 - %18 = load i8, ptr %type.i, align 8 - %cmp.i = icmp eq i8 %18, 17 + %19 = load i8, ptr %type.i, align 8 + %cmp.i = icmp eq i8 %19, 17 br i1 %cmp.i, label %if.then.i41, label %if.end.i40 if.then.i41: ; preds = %if.then.i - %19 = ptrtoint ptr %17 to i64 + %20 = ptrtoint ptr %18 to i64 call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %write.i.i) br label %do.body.i.i.i.i do.body.i.i.i.i: ; preds = %do.body.i.i.i.i, %if.then.i41 - %m.addr.0.i.i.i.i = phi i64 [ %19, %if.then.i41 ], [ %shr.i.i.i.i, %do.body.i.i.i.i ] + %m.addr.0.i.i.i.i = phi i64 [ %20, %if.then.i41 ], [ %shr.i.i.i.i, %do.body.i.i.i.i ] %num_digits.0.i.i.i.i = phi i32 [ 0, %if.then.i41 ], [ %inc.i.i.i.i, %do.body.i.i.i.i ] %inc.i.i.i.i = add nuw nsw i32 %num_digits.0.i.i.i.i, 1 %shr.i.i.i.i = lshr i64 %m.addr.0.i.i.i.i, 4 @@ -24819,9 +24819,9 @@ do.body.i.i.i.i: ; preds = %do.body.i.i.i.i, %i br i1 %cmp.not.i.i.i.i42, label %_ZN3fmt3v106detail9write_ptrIcNS0_8appenderEmEET0_S4_T1_PKNS0_12format_specsIT_EE.exit.i, label %do.body.i.i.i.i, !llvm.loop !657 _ZN3fmt3v106detail9write_ptrIcNS0_8appenderEmEET0_S4_T1_PKNS0_12format_specsIT_EE.exit.i: ; preds = %do.body.i.i.i.i - store i64 %19, ptr %write.i.i, align 8 - %20 = getelementptr inbounds i8, ptr %write.i.i, i64 8 - store i32 %inc.i.i.i.i, ptr %20, align 8 + store i64 %20, ptr %write.i.i, align 8 + %21 = getelementptr inbounds i8, ptr %write.i.i, i64 8 + store i32 %inc.i.i.i.i, ptr %21, align 8 %narrow.i.i = add nuw i32 %num_digits.0.i.i.i.i, 3 %add.i.i = zext i32 %narrow.i.i to i64 %call.i.i.i = call ptr @_ZN3fmt3v106detail12write_paddedILNS0_5align4typeE2ENS0_8appenderEcRZNS1_9write_ptrIcS5_mEET0_S7_T1_PKNS0_12format_specsIT_EEEUlS5_E_EES7_S7_RKNS9_IS8_EEmmOT2_(ptr %retval.sroa.0.0.copyload.i38, ptr noundef nonnull align 4 dereferenceable(16) %specs.i, i64 noundef %add.i.i, i64 noundef %add.i.i, ptr noundef nonnull align 8 dereferenceable(12) %write.i.i) @@ -24829,7 +24829,7 @@ _ZN3fmt3v106detail9write_ptrIcNS0_8appenderEmEET0_S4_T1_PKNS0_12format_specsIT_E br label %_ZNK3fmt3v109formatterIPKccvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEERKS3_RT_.exit if.end.i40: ; preds = %if.then.i - %tobool.not.i = icmp eq ptr %17, null + %tobool.not.i = icmp eq ptr %18, null br i1 %tobool.not.i, label %if.then8.i, label %if.end9.i if.then8.i: ; preds = %if.end.i40 @@ -24837,24 +24837,24 @@ if.then8.i: ; preds = %if.end.i40 unreachable if.end9.i: ; preds = %if.end.i40 - %call.i4.i = call noundef i64 @strlen(ptr noundef nonnull dereferenceable(1) %17) #25 - %call.i.i = call ptr @_ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_NS0_17basic_string_viewIT_EERKNS0_12format_specsIS6_EE(ptr %retval.sroa.0.0.copyload.i38, ptr nonnull %17, i64 %call.i4.i, ptr noundef nonnull align 4 dereferenceable(16) %specs.i) + %call.i4.i = call noundef i64 @strlen(ptr noundef nonnull dereferenceable(1) %18) #25 + %call.i.i = call ptr @_ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_NS0_17basic_string_viewIT_EERKNS0_12format_specsIS6_EE(ptr %retval.sroa.0.0.copyload.i38, ptr nonnull %18, i64 %call.i4.i, ptr noundef nonnull align 4 dereferenceable(16) %specs.i) br label %_ZNK3fmt3v109formatterIPKccvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEERKS3_RT_.exit if.end.i: ; preds = %_ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_NS0_17basic_string_viewIT_EE.exit37 - %21 = load ptr, ptr %opt, align 8 + %22 = load ptr, ptr %opt, align 8 %type.i47 = getelementptr inbounds i8, ptr %this, i64 8 - %22 = load i8, ptr %type.i47, align 8 - %cmp.i48 = icmp eq i8 %22, 17 + %23 = load i8, ptr %type.i47, align 8 + %cmp.i48 = icmp eq i8 %23, 17 br i1 %cmp.i48, label %if.then.i56, label %if.end.i49 if.then.i56: ; preds = %if.end.i - %23 = ptrtoint ptr %21 to i64 + %24 = ptrtoint ptr %22 to i64 call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %write.i.i46) br label %do.body.i.i.i.i57 do.body.i.i.i.i57: ; preds = %do.body.i.i.i.i57, %if.then.i56 - %m.addr.0.i.i.i.i58 = phi i64 [ %23, %if.then.i56 ], [ %shr.i.i.i.i61, %do.body.i.i.i.i57 ] + %m.addr.0.i.i.i.i58 = phi i64 [ %24, %if.then.i56 ], [ %shr.i.i.i.i61, %do.body.i.i.i.i57 ] %num_digits.0.i.i.i.i59 = phi i32 [ 0, %if.then.i56 ], [ %inc.i.i.i.i60, %do.body.i.i.i.i57 ] %inc.i.i.i.i60 = add nuw nsw i32 %num_digits.0.i.i.i.i59, 1 %shr.i.i.i.i61 = lshr i64 %m.addr.0.i.i.i.i58, 4 @@ -24862,9 +24862,9 @@ do.body.i.i.i.i57: ; preds = %do.body.i.i.i.i57, br i1 %cmp.not.i.i.i.i62, label %_ZN3fmt3v106detail9write_ptrIcNS0_8appenderEmEET0_S4_T1_PKNS0_12format_specsIT_EE.exit.i63, label %do.body.i.i.i.i57, !llvm.loop !657 _ZN3fmt3v106detail9write_ptrIcNS0_8appenderEmEET0_S4_T1_PKNS0_12format_specsIT_EE.exit.i63: ; preds = %do.body.i.i.i.i57 - store i64 %23, ptr %write.i.i46, align 8 - %24 = getelementptr inbounds i8, ptr %write.i.i46, i64 8 - store i32 %inc.i.i.i.i60, ptr %24, align 8 + store i64 %24, ptr %write.i.i46, align 8 + %25 = getelementptr inbounds i8, ptr %write.i.i46, i64 8 + store i32 %inc.i.i.i.i60, ptr %25, align 8 %narrow.i.i64 = add nuw i32 %num_digits.0.i.i.i.i59, 3 %add.i.i65 = zext i32 %narrow.i.i64 to i64 %call.i.i.i66 = call ptr @_ZN3fmt3v106detail12write_paddedILNS0_5align4typeE2ENS0_8appenderEcRZNS1_9write_ptrIcS5_mEET0_S7_T1_PKNS0_12format_specsIT_EEEUlS5_E_EES7_S7_RKNS9_IS8_EEmmOT2_(ptr %retval.sroa.0.0.copyload.i11, ptr noundef nonnull align 4 dereferenceable(16) %this, i64 noundef %add.i.i65, i64 noundef %add.i.i65, ptr noundef nonnull align 8 dereferenceable(12) %write.i.i46) @@ -24872,7 +24872,7 @@ _ZN3fmt3v106detail9write_ptrIcNS0_8appenderEmEET0_S4_T1_PKNS0_12format_specsIT_E br label %_ZNK3fmt3v109formatterIPKccvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEERKS3_RT_.exit if.end.i49: ; preds = %if.end.i - %tobool.not.i50 = icmp eq ptr %21, null + %tobool.not.i50 = icmp eq ptr %22, null br i1 %tobool.not.i50, label %if.then8.i55, label %if.end9.i51 if.then8.i55: ; preds = %if.end.i49 @@ -24880,35 +24880,35 @@ if.then8.i55: ; preds = %if.end.i49 unreachable if.end9.i51: ; preds = %if.end.i49 - %call.i4.i52 = tail call noundef i64 @strlen(ptr noundef nonnull dereferenceable(1) %21) #25 - %call.i.i53 = tail call ptr @_ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_NS0_17basic_string_viewIT_EERKNS0_12format_specsIS6_EE(ptr nonnull %retval.sroa.0.0.copyload.i11, ptr nonnull %21, i64 %call.i4.i52, ptr noundef nonnull align 4 dereferenceable(16) %this) + %call.i4.i52 = tail call noundef i64 @strlen(ptr noundef nonnull dereferenceable(1) %22) #25 + %call.i.i53 = tail call ptr @_ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_NS0_17basic_string_viewIT_EERKNS0_12format_specsIS6_EE(ptr nonnull %retval.sroa.0.0.copyload.i11, ptr nonnull %22, i64 %call.i4.i52, ptr noundef nonnull align 4 dereferenceable(16) %this) br label %_ZNK3fmt3v109formatterIPKccvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEERKS3_RT_.exit _ZNK3fmt3v109formatterIPKccvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEERKS3_RT_.exit: ; preds = %if.end9.i51, %_ZN3fmt3v106detail9write_ptrIcNS0_8appenderEmEET0_S4_T1_PKNS0_12format_specsIT_EE.exit.i63, %if.end9.i, %_ZN3fmt3v106detail9write_ptrIcNS0_8appenderEmEET0_S4_T1_PKNS0_12format_specsIT_EE.exit.i %retval.i.sroa.0.0 = phi ptr [ %call.i.i.i, %_ZN3fmt3v106detail9write_ptrIcNS0_8appenderEmEET0_S4_T1_PKNS0_12format_specsIT_EE.exit.i ], [ %call.i.i, %if.end9.i ], [ %call.i.i.i66, %_ZN3fmt3v106detail9write_ptrIcNS0_8appenderEmEET0_S4_T1_PKNS0_12format_specsIT_EE.exit.i63 ], [ %call.i.i53, %if.end9.i51 ] %size_.i.i.i = getelementptr inbounds i8, ptr %retval.i.sroa.0.0, i64 16 - %25 = load i64, ptr %size_.i.i.i, align 8 - %add.i.i.i = add i64 %25, 1 + %26 = load i64, ptr %size_.i.i.i, align 8 + %add.i.i.i = add i64 %26, 1 %capacity_.i.i.i.i = getelementptr inbounds i8, ptr %retval.i.sroa.0.0, i64 24 - %26 = load i64, ptr %capacity_.i.i.i.i, align 8 - %cmp.i.i.i.i = icmp ult i64 %26, %add.i.i.i + %27 = load i64, ptr %capacity_.i.i.i.i, align 8 + %cmp.i.i.i.i = icmp ult i64 %27, %add.i.i.i br i1 %cmp.i.i.i.i, label %if.then.i.i.i.i, label %_ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_T_.exit if.then.i.i.i.i: ; preds = %_ZNK3fmt3v109formatterIPKccvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEERKS3_RT_.exit %vtable.i.i.i.i = load ptr, ptr %retval.i.sroa.0.0, align 8 - %27 = load ptr, ptr %vtable.i.i.i.i, align 8 - call void %27(ptr noundef nonnull align 8 dereferenceable(32) %retval.i.sroa.0.0, i64 noundef %add.i.i.i) + %28 = load ptr, ptr %vtable.i.i.i.i, align 8 + call void %28(ptr noundef nonnull align 8 dereferenceable(32) %retval.i.sroa.0.0, i64 noundef %add.i.i.i) %.pre.i.i.i = load i64, ptr %size_.i.i.i, align 8 %.pre1.i.i.i = add i64 %.pre.i.i.i, 1 br label %_ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_T_.exit _ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_T_.exit: ; preds = %_ZNK3fmt3v109formatterIPKccvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEERKS3_RT_.exit, %if.then.i.i.i.i %inc.pre-phi.i.i.i = phi i64 [ %add.i.i.i, %_ZNK3fmt3v109formatterIPKccvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEERKS3_RT_.exit ], [ %.pre1.i.i.i, %if.then.i.i.i.i ] - %28 = phi i64 [ %25, %_ZNK3fmt3v109formatterIPKccvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEERKS3_RT_.exit ], [ %.pre.i.i.i, %if.then.i.i.i.i ] + %29 = phi i64 [ %26, %_ZNK3fmt3v109formatterIPKccvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEERKS3_RT_.exit ], [ %.pre.i.i.i, %if.then.i.i.i.i ] %ptr_.i.i.i = getelementptr inbounds i8, ptr %retval.i.sroa.0.0, i64 8 - %29 = load ptr, ptr %ptr_.i.i.i, align 8 + %30 = load ptr, ptr %ptr_.i.i.i, align 8 store i64 %inc.pre-phi.i.i.i, ptr %size_.i.i.i, align 8 - %arrayidx.i.i.i = getelementptr inbounds i8, ptr %29, i64 %28 + %arrayidx.i.i.i = getelementptr inbounds i8, ptr %30, i64 %29 store i8 41, ptr %arrayidx.i.i.i, align 1 br label %return @@ -25142,8 +25142,8 @@ _ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_NS0_17basic_string_viewIT_EE.exi if.then.i: ; preds = %_ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_NS0_17basic_string_viewIT_EE.exit37 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(64) %specs.i, ptr noundef nonnull align 8 dereferenceable(64) %this, i64 64, i1 false) - %width_ref6.i = getelementptr inbounds i8, ptr %specs.i, i64 16 - call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %specs.i, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %width_ref6.i, ptr noundef nonnull align 8 dereferenceable(32) %ctx) + %17 = getelementptr inbounds i8, ptr %this, i64 16 + call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %specs.i, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %17, ptr noundef nonnull align 8 dereferenceable(32) %ctx) %precision.i = getelementptr inbounds i8, ptr %specs.i, i64 4 %precision_ref8.i = getelementptr inbounds i8, ptr %specs.i, i64 40 call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_17precision_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %precision.i, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %precision_ref8.i, ptr noundef nonnull align 8 dereferenceable(32) %ctx) @@ -25159,28 +25159,28 @@ if.end.i: ; preds = %_ZN3fmt3v106detail5 _ZNK3fmt3v109formatterINS0_17basic_string_viewIcEEcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEERKS3_RT_.exit: ; preds = %if.end.i, %if.then.i %retval.i.sroa.0.0 = phi ptr [ %call.i, %if.then.i ], [ %call.i44, %if.end.i ] %size_.i.i.i = getelementptr inbounds i8, ptr %retval.i.sroa.0.0, i64 16 - %17 = load i64, ptr %size_.i.i.i, align 8 - %add.i.i.i = add i64 %17, 1 + %18 = load i64, ptr %size_.i.i.i, align 8 + %add.i.i.i = add i64 %18, 1 %capacity_.i.i.i.i = getelementptr inbounds i8, ptr %retval.i.sroa.0.0, i64 24 - %18 = load i64, ptr %capacity_.i.i.i.i, align 8 - %cmp.i.i.i.i = icmp ult i64 %18, %add.i.i.i + %19 = load i64, ptr %capacity_.i.i.i.i, align 8 + %cmp.i.i.i.i = icmp ult i64 %19, %add.i.i.i br i1 %cmp.i.i.i.i, label %if.then.i.i.i.i, label %_ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_T_.exit if.then.i.i.i.i: ; preds = %_ZNK3fmt3v109formatterINS0_17basic_string_viewIcEEcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEERKS3_RT_.exit %vtable.i.i.i.i = load ptr, ptr %retval.i.sroa.0.0, align 8 - %19 = load ptr, ptr %vtable.i.i.i.i, align 8 - call void %19(ptr noundef nonnull align 8 dereferenceable(32) %retval.i.sroa.0.0, i64 noundef %add.i.i.i) + %20 = load ptr, ptr %vtable.i.i.i.i, align 8 + call void %20(ptr noundef nonnull align 8 dereferenceable(32) %retval.i.sroa.0.0, i64 noundef %add.i.i.i) %.pre.i.i.i = load i64, ptr %size_.i.i.i, align 8 %.pre1.i.i.i = add i64 %.pre.i.i.i, 1 br label %_ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_T_.exit _ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_T_.exit: ; preds = %_ZNK3fmt3v109formatterINS0_17basic_string_viewIcEEcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEERKS3_RT_.exit, %if.then.i.i.i.i %inc.pre-phi.i.i.i = phi i64 [ %add.i.i.i, %_ZNK3fmt3v109formatterINS0_17basic_string_viewIcEEcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEERKS3_RT_.exit ], [ %.pre1.i.i.i, %if.then.i.i.i.i ] - %20 = phi i64 [ %17, %_ZNK3fmt3v109formatterINS0_17basic_string_viewIcEEcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEERKS3_RT_.exit ], [ %.pre.i.i.i, %if.then.i.i.i.i ] + %21 = phi i64 [ %18, %_ZNK3fmt3v109formatterINS0_17basic_string_viewIcEEcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEERKS3_RT_.exit ], [ %.pre.i.i.i, %if.then.i.i.i.i ] %ptr_.i.i.i = getelementptr inbounds i8, ptr %retval.i.sroa.0.0, i64 8 - %21 = load ptr, ptr %ptr_.i.i.i, align 8 + %22 = load ptr, ptr %ptr_.i.i.i, align 8 store i64 %inc.pre-phi.i.i.i, ptr %size_.i.i.i, align 8 - %arrayidx.i.i.i = getelementptr inbounds i8, ptr %21, i64 %20 + %arrayidx.i.i.i = getelementptr inbounds i8, ptr %22, i64 %21 store i8 41, ptr %arrayidx.i.i.i, align 1 br label %return @@ -25956,10 +25956,10 @@ for.body.lr.ph: ; preds = %_ZN3fmt3v106detail8 %size_.i.i11 = getelementptr inbounds i8, ptr %this, i64 72 %width_ref.i = getelementptr inbounds i8, ptr %this, i64 16 %precision_ref.i = getelementptr inbounds i8, ptr %this, i64 40 - %width_ref6.i = getelementptr inbounds i8, ptr %specs.i, i64 16 %precision.i = getelementptr inbounds i8, ptr %specs.i, i64 4 %precision_ref8.i = getelementptr inbounds i8, ptr %specs.i, i64 40 %loc_.i = getelementptr inbounds i8, ptr %ctx, i64 24 + %11 = getelementptr inbounds i8, ptr %this, i64 16 br label %for.body for.body: ; preds = %for.body.lr.ph, %_ZNK3fmt3v109formatterIccvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEERKcRT_.exit @@ -25970,10 +25970,10 @@ for.body: ; preds = %for.body.lr.ph, %_Z br i1 %cmp.not, label %if.end, label %if.then if.then: ; preds = %for.body - %11 = load ptr, ptr %separator_, align 8 - %12 = load i64, ptr %size_.i.i11, align 8 - %add.ptr.i.i12 = getelementptr inbounds i8, ptr %11, i64 %12 - %cmp.not10.i.i.i13 = icmp eq i64 %12, 0 + %12 = load ptr, ptr %separator_, align 8 + %13 = load i64, ptr %size_.i.i11, align 8 + %add.ptr.i.i12 = getelementptr inbounds i8, ptr %12, i64 %13 + %cmp.not10.i.i.i13 = icmp eq i64 %13, 0 br i1 %cmp.not10.i.i.i13, label %if.end, label %while.body.lr.ph.i.i.i14 while.body.lr.ph.i.i.i14: ; preds = %if.then @@ -25985,41 +25985,41 @@ while.body.lr.ph.i.i.i14: ; preds = %if.then br label %while.body.i.i.i20 while.body.i.i.i20: ; preds = %_ZSt20uninitialized_copy_nIPKcmPcET1_T_T0_S3_.exit.i.i.i33, %while.body.lr.ph.i.i.i14 - %13 = phi i64 [ %.pre.i.i.i19, %while.body.lr.ph.i.i.i14 ], [ %add7.i.i.i34, %_ZSt20uninitialized_copy_nIPKcmPcET1_T_T0_S3_.exit.i.i.i33 ] - %begin.addr.011.i.i.i21 = phi ptr [ %11, %while.body.lr.ph.i.i.i14 ], [ %add.ptr8.i.i.i35, %_ZSt20uninitialized_copy_nIPKcmPcET1_T_T0_S3_.exit.i.i.i33 ] + %14 = phi i64 [ %.pre.i.i.i19, %while.body.lr.ph.i.i.i14 ], [ %add7.i.i.i34, %_ZSt20uninitialized_copy_nIPKcmPcET1_T_T0_S3_.exit.i.i.i33 ] + %begin.addr.011.i.i.i21 = phi ptr [ %12, %while.body.lr.ph.i.i.i14 ], [ %add.ptr8.i.i.i35, %_ZSt20uninitialized_copy_nIPKcmPcET1_T_T0_S3_.exit.i.i.i33 ] %sub.ptr.rhs.cast.i.i.i22 = ptrtoint ptr %begin.addr.011.i.i.i21 to i64 %sub.ptr.sub.i.i.i23 = sub i64 %sub.ptr.lhs.cast.i.i.i15, %sub.ptr.rhs.cast.i.i.i22 - %add.i.i.i24 = add i64 %sub.ptr.sub.i.i.i23, %13 - %14 = load i64, ptr %capacity_.i.i.i.i17, align 8 - %cmp.i.i.i.i25 = icmp ult i64 %14, %add.i.i.i24 + %add.i.i.i24 = add i64 %sub.ptr.sub.i.i.i23, %14 + %15 = load i64, ptr %capacity_.i.i.i.i17, align 8 + %cmp.i.i.i.i25 = icmp ult i64 %15, %add.i.i.i24 br i1 %cmp.i.i.i.i25, label %if.then.i.i.i.i37, label %_ZN3fmt3v106detail6bufferIcE11try_reserveEm.exit.i.i.i26 if.then.i.i.i.i37: ; preds = %while.body.i.i.i20 %vtable.i.i.i.i38 = load ptr, ptr %retval.sroa.0.084, align 8 - %15 = load ptr, ptr %vtable.i.i.i.i38, align 8 - call void %15(ptr noundef nonnull align 8 dereferenceable(32) %retval.sroa.0.084, i64 noundef %add.i.i.i24) + %16 = load ptr, ptr %vtable.i.i.i.i38, align 8 + call void %16(ptr noundef nonnull align 8 dereferenceable(32) %retval.sroa.0.084, i64 noundef %add.i.i.i24) %.pre12.i.i.i39 = load i64, ptr %capacity_.i.i.i.i17, align 8 %.pre13.i.i.i40 = load i64, ptr %size_.i.i.i16, align 8 br label %_ZN3fmt3v106detail6bufferIcE11try_reserveEm.exit.i.i.i26 _ZN3fmt3v106detail6bufferIcE11try_reserveEm.exit.i.i.i26: ; preds = %if.then.i.i.i.i37, %while.body.i.i.i20 - %16 = phi i64 [ %13, %while.body.i.i.i20 ], [ %.pre13.i.i.i40, %if.then.i.i.i.i37 ] - %17 = phi i64 [ %14, %while.body.i.i.i20 ], [ %.pre12.i.i.i39, %if.then.i.i.i.i37 ] - %sub.i.i.i27 = sub i64 %17, %16 + %17 = phi i64 [ %14, %while.body.i.i.i20 ], [ %.pre13.i.i.i40, %if.then.i.i.i.i37 ] + %18 = phi i64 [ %15, %while.body.i.i.i20 ], [ %.pre12.i.i.i39, %if.then.i.i.i.i37 ] + %sub.i.i.i27 = sub i64 %18, %17 %spec.select.i.i.i28 = call i64 @llvm.umin.i64(i64 %sub.i.i.i27, i64 %sub.ptr.sub.i.i.i23) %tobool.not.i.i.i.i.i.i.i.i.i.i.i.i29 = icmp eq i64 %spec.select.i.i.i28, 0 br i1 %tobool.not.i.i.i.i.i.i.i.i.i.i.i.i29, label %_ZSt20uninitialized_copy_nIPKcmPcET1_T_T0_S3_.exit.i.i.i33, label %if.then.i.i.i.i.i.i.i.i.i.i.i.i30 if.then.i.i.i.i.i.i.i.i.i.i.i.i30: ; preds = %_ZN3fmt3v106detail6bufferIcE11try_reserveEm.exit.i.i.i26 - %18 = load ptr, ptr %ptr_.i.i.i18, align 8 - %add.ptr.i.i.i31 = getelementptr inbounds i8, ptr %18, i64 %16 + %19 = load ptr, ptr %ptr_.i.i.i18, align 8 + %add.ptr.i.i.i31 = getelementptr inbounds i8, ptr %19, i64 %17 call void @llvm.memmove.p0.p0.i64(ptr align 1 %add.ptr.i.i.i31, ptr align 1 %begin.addr.011.i.i.i21, i64 %spec.select.i.i.i28, i1 false) %.pre14.i.i.i32 = load i64, ptr %size_.i.i.i16, align 8 br label %_ZSt20uninitialized_copy_nIPKcmPcET1_T_T0_S3_.exit.i.i.i33 _ZSt20uninitialized_copy_nIPKcmPcET1_T_T0_S3_.exit.i.i.i33: ; preds = %if.then.i.i.i.i.i.i.i.i.i.i.i.i30, %_ZN3fmt3v106detail6bufferIcE11try_reserveEm.exit.i.i.i26 - %19 = phi i64 [ %16, %_ZN3fmt3v106detail6bufferIcE11try_reserveEm.exit.i.i.i26 ], [ %.pre14.i.i.i32, %if.then.i.i.i.i.i.i.i.i.i.i.i.i30 ] - %add7.i.i.i34 = add i64 %19, %spec.select.i.i.i28 + %20 = phi i64 [ %17, %_ZN3fmt3v106detail6bufferIcE11try_reserveEm.exit.i.i.i26 ], [ %.pre14.i.i.i32, %if.then.i.i.i.i.i.i.i.i.i.i.i.i30 ] + %add7.i.i.i34 = add i64 %20, %spec.select.i.i.i28 store i64 %add7.i.i.i34, ptr %size_.i.i.i16, align 8 %add.ptr8.i.i.i35 = getelementptr inbounds i8, ptr %begin.addr.011.i.i.i21, i64 %spec.select.i.i.i28 %cmp.not.i.i.i36 = icmp eq ptr %add.ptr8.i.i.i35, %add.ptr.i.i12 @@ -26027,27 +26027,27 @@ _ZSt20uninitialized_copy_nIPKcmPcET1_T_T0_S3_.exit.i.i.i33: ; preds = %if.then.i if.end: ; preds = %_ZSt20uninitialized_copy_nIPKcmPcET1_T_T0_S3_.exit.i.i.i33, %if.then, %for.body store ptr %retval.sroa.0.084, ptr %ctx, align 8 - %20 = load i32, ptr %width_ref.i, align 8 - %cmp.i.not = icmp eq i32 %20, 0 - %21 = load i32, ptr %precision_ref.i, align 8 - %cmp4.i.not = icmp eq i32 %21, 0 + %21 = load i32, ptr %width_ref.i, align 8 + %cmp.i.not = icmp eq i32 %21, 0 + %22 = load i32, ptr %precision_ref.i, align 8 + %cmp4.i.not = icmp eq i32 %22, 0 %or.cond = select i1 %cmp.i.not, i1 %cmp4.i.not, i1 false br i1 %or.cond, label %if.end.i, label %if.then.i if.then.i: ; preds = %if.end call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(64) %specs.i, ptr noundef nonnull align 8 dereferenceable(64) %this, i64 64, i1 false) - call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %specs.i, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %width_ref6.i, ptr noundef nonnull align 8 dereferenceable(32) %ctx) + call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %specs.i, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %11, ptr noundef nonnull align 8 dereferenceable(32) %ctx) call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_17precision_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %precision.i, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %precision_ref8.i, ptr noundef nonnull align 8 dereferenceable(32) %ctx) %retval.sroa.0.0.copyload.i42 = load ptr, ptr %ctx, align 8 - %22 = load i8, ptr %it.sroa.0.082, align 1 + %23 = load i8, ptr %it.sroa.0.082, align 1 %retval.sroa.0.0.copyload.i43 = load ptr, ptr %loc_.i, align 8 - %call17.i = call ptr @_ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_T_RKNS0_12format_specsIS5_EENS1_10locale_refE(ptr %retval.sroa.0.0.copyload.i42, i8 noundef signext %22, ptr noundef nonnull align 4 dereferenceable(16) %specs.i, ptr %retval.sroa.0.0.copyload.i43) + %call17.i = call ptr @_ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_T_RKNS0_12format_specsIS5_EENS1_10locale_refE(ptr %retval.sroa.0.0.copyload.i42, i8 noundef signext %23, ptr noundef nonnull align 4 dereferenceable(16) %specs.i, ptr %retval.sroa.0.0.copyload.i43) br label %_ZNK3fmt3v109formatterIccvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEERKcRT_.exit if.end.i: ; preds = %if.end - %23 = load i8, ptr %it.sroa.0.082, align 1 + %24 = load i8, ptr %it.sroa.0.082, align 1 %retval.sroa.0.0.copyload.i46 = load ptr, ptr %loc_.i, align 8 - %call31.i = call ptr @_ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_T_RKNS0_12format_specsIS5_EENS1_10locale_refE(ptr %retval.sroa.0.084, i8 noundef signext %23, ptr noundef nonnull align 4 dereferenceable(16) %this, ptr %retval.sroa.0.0.copyload.i46) + %call31.i = call ptr @_ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_T_RKNS0_12format_specsIS5_EENS1_10locale_refE(ptr %retval.sroa.0.084, i8 noundef signext %24, ptr noundef nonnull align 4 dereferenceable(16) %this, ptr %retval.sroa.0.0.copyload.i46) br label %_ZNK3fmt3v109formatterIccvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEERKcRT_.exit _ZNK3fmt3v109formatterIccvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEERKcRT_.exit: ; preds = %if.end.i, %if.then.i @@ -26060,11 +26060,11 @@ _ZNK3fmt3v109formatterIccvE6formatINS0_20basic_format_contextINS0_8appenderEcEEE for.end: ; preds = %_ZNK3fmt3v109formatterIccvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEERKcRT_.exit, %_ZN3fmt3v106detail8copy_strIcRKNS0_17basic_string_viewIcEENS0_8appenderEEET1_OT0_S8_.exit %retval.sroa.0.0.lcssa = phi ptr [ %retval.sroa.0.0.copyload.i, %_ZN3fmt3v106detail8copy_strIcRKNS0_17basic_string_viewIcEENS0_8appenderEEET1_OT0_S8_.exit ], [ %retval.i.sroa.0.0, %_ZNK3fmt3v109formatterIccvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEERKcRT_.exit ] %closing_bracket_ = getelementptr inbounds i8, ptr %this, i64 96 - %24 = load ptr, ptr %closing_bracket_, align 8 + %25 = load ptr, ptr %closing_bracket_, align 8 %size_.i.i47 = getelementptr inbounds i8, ptr %this, i64 104 - %25 = load i64, ptr %size_.i.i47, align 8 - %add.ptr.i.i48 = getelementptr inbounds i8, ptr %24, i64 %25 - %cmp.not10.i.i.i49 = icmp eq i64 %25, 0 + %26 = load i64, ptr %size_.i.i47, align 8 + %add.ptr.i.i48 = getelementptr inbounds i8, ptr %25, i64 %26 + %cmp.not10.i.i.i49 = icmp eq i64 %26, 0 br i1 %cmp.not10.i.i.i49, label %_ZN3fmt3v106detail8copy_strIcRKNS0_17basic_string_viewIcEENS0_8appenderEEET1_OT0_S8_.exit77, label %while.body.lr.ph.i.i.i50 while.body.lr.ph.i.i.i50: ; preds = %for.end @@ -26076,41 +26076,41 @@ while.body.lr.ph.i.i.i50: ; preds = %for.end br label %while.body.i.i.i56 while.body.i.i.i56: ; preds = %_ZSt20uninitialized_copy_nIPKcmPcET1_T_T0_S3_.exit.i.i.i69, %while.body.lr.ph.i.i.i50 - %26 = phi i64 [ %.pre.i.i.i55, %while.body.lr.ph.i.i.i50 ], [ %add7.i.i.i70, %_ZSt20uninitialized_copy_nIPKcmPcET1_T_T0_S3_.exit.i.i.i69 ] - %begin.addr.011.i.i.i57 = phi ptr [ %24, %while.body.lr.ph.i.i.i50 ], [ %add.ptr8.i.i.i71, %_ZSt20uninitialized_copy_nIPKcmPcET1_T_T0_S3_.exit.i.i.i69 ] + %27 = phi i64 [ %.pre.i.i.i55, %while.body.lr.ph.i.i.i50 ], [ %add7.i.i.i70, %_ZSt20uninitialized_copy_nIPKcmPcET1_T_T0_S3_.exit.i.i.i69 ] + %begin.addr.011.i.i.i57 = phi ptr [ %25, %while.body.lr.ph.i.i.i50 ], [ %add.ptr8.i.i.i71, %_ZSt20uninitialized_copy_nIPKcmPcET1_T_T0_S3_.exit.i.i.i69 ] %sub.ptr.rhs.cast.i.i.i58 = ptrtoint ptr %begin.addr.011.i.i.i57 to i64 %sub.ptr.sub.i.i.i59 = sub i64 %sub.ptr.lhs.cast.i.i.i51, %sub.ptr.rhs.cast.i.i.i58 - %add.i.i.i60 = add i64 %sub.ptr.sub.i.i.i59, %26 - %27 = load i64, ptr %capacity_.i.i.i.i53, align 8 - %cmp.i.i.i.i61 = icmp ult i64 %27, %add.i.i.i60 + %add.i.i.i60 = add i64 %sub.ptr.sub.i.i.i59, %27 + %28 = load i64, ptr %capacity_.i.i.i.i53, align 8 + %cmp.i.i.i.i61 = icmp ult i64 %28, %add.i.i.i60 br i1 %cmp.i.i.i.i61, label %if.then.i.i.i.i73, label %_ZN3fmt3v106detail6bufferIcE11try_reserveEm.exit.i.i.i62 if.then.i.i.i.i73: ; preds = %while.body.i.i.i56 %vtable.i.i.i.i74 = load ptr, ptr %retval.sroa.0.0.lcssa, align 8 - %28 = load ptr, ptr %vtable.i.i.i.i74, align 8 - call void %28(ptr noundef nonnull align 8 dereferenceable(32) %retval.sroa.0.0.lcssa, i64 noundef %add.i.i.i60) + %29 = load ptr, ptr %vtable.i.i.i.i74, align 8 + call void %29(ptr noundef nonnull align 8 dereferenceable(32) %retval.sroa.0.0.lcssa, i64 noundef %add.i.i.i60) %.pre12.i.i.i75 = load i64, ptr %capacity_.i.i.i.i53, align 8 %.pre13.i.i.i76 = load i64, ptr %size_.i.i.i52, align 8 br label %_ZN3fmt3v106detail6bufferIcE11try_reserveEm.exit.i.i.i62 _ZN3fmt3v106detail6bufferIcE11try_reserveEm.exit.i.i.i62: ; preds = %if.then.i.i.i.i73, %while.body.i.i.i56 - %29 = phi i64 [ %26, %while.body.i.i.i56 ], [ %.pre13.i.i.i76, %if.then.i.i.i.i73 ] - %30 = phi i64 [ %27, %while.body.i.i.i56 ], [ %.pre12.i.i.i75, %if.then.i.i.i.i73 ] - %sub.i.i.i63 = sub i64 %30, %29 + %30 = phi i64 [ %27, %while.body.i.i.i56 ], [ %.pre13.i.i.i76, %if.then.i.i.i.i73 ] + %31 = phi i64 [ %28, %while.body.i.i.i56 ], [ %.pre12.i.i.i75, %if.then.i.i.i.i73 ] + %sub.i.i.i63 = sub i64 %31, %30 %spec.select.i.i.i64 = call i64 @llvm.umin.i64(i64 %sub.i.i.i63, i64 %sub.ptr.sub.i.i.i59) %tobool.not.i.i.i.i.i.i.i.i.i.i.i.i65 = icmp eq i64 %spec.select.i.i.i64, 0 br i1 %tobool.not.i.i.i.i.i.i.i.i.i.i.i.i65, label %_ZSt20uninitialized_copy_nIPKcmPcET1_T_T0_S3_.exit.i.i.i69, label %if.then.i.i.i.i.i.i.i.i.i.i.i.i66 if.then.i.i.i.i.i.i.i.i.i.i.i.i66: ; preds = %_ZN3fmt3v106detail6bufferIcE11try_reserveEm.exit.i.i.i62 - %31 = load ptr, ptr %ptr_.i.i.i54, align 8 - %add.ptr.i.i.i67 = getelementptr inbounds i8, ptr %31, i64 %29 + %32 = load ptr, ptr %ptr_.i.i.i54, align 8 + %add.ptr.i.i.i67 = getelementptr inbounds i8, ptr %32, i64 %30 call void @llvm.memmove.p0.p0.i64(ptr align 1 %add.ptr.i.i.i67, ptr align 1 %begin.addr.011.i.i.i57, i64 %spec.select.i.i.i64, i1 false) %.pre14.i.i.i68 = load i64, ptr %size_.i.i.i52, align 8 br label %_ZSt20uninitialized_copy_nIPKcmPcET1_T_T0_S3_.exit.i.i.i69 _ZSt20uninitialized_copy_nIPKcmPcET1_T_T0_S3_.exit.i.i.i69: ; preds = %if.then.i.i.i.i.i.i.i.i.i.i.i.i66, %_ZN3fmt3v106detail6bufferIcE11try_reserveEm.exit.i.i.i62 - %32 = phi i64 [ %29, %_ZN3fmt3v106detail6bufferIcE11try_reserveEm.exit.i.i.i62 ], [ %.pre14.i.i.i68, %if.then.i.i.i.i.i.i.i.i.i.i.i.i66 ] - %add7.i.i.i70 = add i64 %32, %spec.select.i.i.i64 + %33 = phi i64 [ %30, %_ZN3fmt3v106detail6bufferIcE11try_reserveEm.exit.i.i.i62 ], [ %.pre14.i.i.i68, %if.then.i.i.i.i.i.i.i.i.i.i.i.i66 ] + %add7.i.i.i70 = add i64 %33, %spec.select.i.i.i64 store i64 %add7.i.i.i70, ptr %size_.i.i.i52, align 8 %add.ptr8.i.i.i71 = getelementptr inbounds i8, ptr %begin.addr.011.i.i.i57, i64 %spec.select.i.i.i64 %cmp.not.i.i.i72 = icmp eq ptr %add.ptr8.i.i.i71, %add.ptr.i.i48 @@ -26500,50 +26500,50 @@ _ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_NS0_17basic_string_viewIT_EE.exi if.then.i: ; preds = %_ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_NS0_17basic_string_viewIT_EE.exit37 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(64) %specs.i, ptr noundef nonnull align 8 dereferenceable(64) %this, i64 64, i1 false) - %width_ref6.i = getelementptr inbounds i8, ptr %specs.i, i64 16 - call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %specs.i, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %width_ref6.i, ptr noundef nonnull align 8 dereferenceable(32) %ctx) + %17 = getelementptr inbounds i8, ptr %this, i64 16 + call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %specs.i, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %17, ptr noundef nonnull align 8 dereferenceable(32) %ctx) %precision.i = getelementptr inbounds i8, ptr %specs.i, i64 4 %precision_ref8.i = getelementptr inbounds i8, ptr %specs.i, i64 40 call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_17precision_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %precision.i, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %precision_ref8.i, ptr noundef nonnull align 8 dereferenceable(32) %ctx) %retval.sroa.0.0.copyload.i38 = load ptr, ptr %ctx, align 8 - %17 = load i8, ptr %opt, align 1 + %18 = load i8, ptr %opt, align 1 %loc_.i = getelementptr inbounds i8, ptr %ctx, i64 24 %retval.sroa.0.0.copyload.i39 = load ptr, ptr %loc_.i, align 8 - %call17.i = call ptr @_ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_T_RKNS0_12format_specsIS5_EENS1_10locale_refE(ptr %retval.sroa.0.0.copyload.i38, i8 noundef signext %17, ptr noundef nonnull align 4 dereferenceable(16) %specs.i, ptr %retval.sroa.0.0.copyload.i39) + %call17.i = call ptr @_ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_T_RKNS0_12format_specsIS5_EENS1_10locale_refE(ptr %retval.sroa.0.0.copyload.i38, i8 noundef signext %18, ptr noundef nonnull align 4 dereferenceable(16) %specs.i, ptr %retval.sroa.0.0.copyload.i39) br label %_ZNK3fmt3v109formatterIccvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEERKcRT_.exit if.end.i: ; preds = %_ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_NS0_17basic_string_viewIT_EE.exit37 - %18 = load i8, ptr %opt, align 1 + %19 = load i8, ptr %opt, align 1 %loc_.i41 = getelementptr inbounds i8, ptr %ctx, i64 24 %retval.sroa.0.0.copyload.i42 = load ptr, ptr %loc_.i41, align 8 - %call31.i = tail call ptr @_ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_T_RKNS0_12format_specsIS5_EENS1_10locale_refE(ptr nonnull %retval.sroa.0.0.copyload.i11, i8 noundef signext %18, ptr noundef nonnull align 4 dereferenceable(16) %this, ptr %retval.sroa.0.0.copyload.i42) + %call31.i = tail call ptr @_ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_T_RKNS0_12format_specsIS5_EENS1_10locale_refE(ptr nonnull %retval.sroa.0.0.copyload.i11, i8 noundef signext %19, ptr noundef nonnull align 4 dereferenceable(16) %this, ptr %retval.sroa.0.0.copyload.i42) br label %_ZNK3fmt3v109formatterIccvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEERKcRT_.exit _ZNK3fmt3v109formatterIccvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEERKcRT_.exit: ; preds = %if.end.i, %if.then.i %retval.i.sroa.0.0 = phi ptr [ %call17.i, %if.then.i ], [ %call31.i, %if.end.i ] %size_.i.i.i = getelementptr inbounds i8, ptr %retval.i.sroa.0.0, i64 16 - %19 = load i64, ptr %size_.i.i.i, align 8 - %add.i.i.i = add i64 %19, 1 + %20 = load i64, ptr %size_.i.i.i, align 8 + %add.i.i.i = add i64 %20, 1 %capacity_.i.i.i.i = getelementptr inbounds i8, ptr %retval.i.sroa.0.0, i64 24 - %20 = load i64, ptr %capacity_.i.i.i.i, align 8 - %cmp.i.i.i.i = icmp ult i64 %20, %add.i.i.i + %21 = load i64, ptr %capacity_.i.i.i.i, align 8 + %cmp.i.i.i.i = icmp ult i64 %21, %add.i.i.i br i1 %cmp.i.i.i.i, label %if.then.i.i.i.i, label %_ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_T_.exit if.then.i.i.i.i: ; preds = %_ZNK3fmt3v109formatterIccvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEERKcRT_.exit %vtable.i.i.i.i = load ptr, ptr %retval.i.sroa.0.0, align 8 - %21 = load ptr, ptr %vtable.i.i.i.i, align 8 - call void %21(ptr noundef nonnull align 8 dereferenceable(32) %retval.i.sroa.0.0, i64 noundef %add.i.i.i) + %22 = load ptr, ptr %vtable.i.i.i.i, align 8 + call void %22(ptr noundef nonnull align 8 dereferenceable(32) %retval.i.sroa.0.0, i64 noundef %add.i.i.i) %.pre.i.i.i = load i64, ptr %size_.i.i.i, align 8 %.pre1.i.i.i = add i64 %.pre.i.i.i, 1 br label %_ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_T_.exit _ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_T_.exit: ; preds = %_ZNK3fmt3v109formatterIccvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEERKcRT_.exit, %if.then.i.i.i.i %inc.pre-phi.i.i.i = phi i64 [ %add.i.i.i, %_ZNK3fmt3v109formatterIccvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEERKcRT_.exit ], [ %.pre1.i.i.i, %if.then.i.i.i.i ] - %22 = phi i64 [ %19, %_ZNK3fmt3v109formatterIccvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEERKcRT_.exit ], [ %.pre.i.i.i, %if.then.i.i.i.i ] + %23 = phi i64 [ %20, %_ZNK3fmt3v109formatterIccvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEERKcRT_.exit ], [ %.pre.i.i.i, %if.then.i.i.i.i ] %ptr_.i.i.i = getelementptr inbounds i8, ptr %retval.i.sroa.0.0, i64 8 - %23 = load ptr, ptr %ptr_.i.i.i, align 8 + %24 = load ptr, ptr %ptr_.i.i.i, align 8 store i64 %inc.pre-phi.i.i.i, ptr %size_.i.i.i, align 8 - %arrayidx.i.i.i = getelementptr inbounds i8, ptr %23, i64 %22 + %arrayidx.i.i.i = getelementptr inbounds i8, ptr %24, i64 %23 store i8 41, ptr %arrayidx.i.i.i, align 1 br label %return @@ -26700,13 +26700,13 @@ _ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_NS0_17basic_string_viewIT_EE.exi if.then.i: ; preds = %_ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_NS0_17basic_string_viewIT_EE.exit37 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(64) %specs.i, ptr noundef nonnull align 8 dereferenceable(64) %this, i64 64, i1 false) - %width_ref6.i = getelementptr inbounds i8, ptr %specs.i, i64 16 - call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %specs.i, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %width_ref6.i, ptr noundef nonnull align 8 dereferenceable(32) %ctx) + %17 = getelementptr inbounds i8, ptr %this, i64 16 + call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %specs.i, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %17, ptr noundef nonnull align 8 dereferenceable(32) %ctx) %precision.i = getelementptr inbounds i8, ptr %specs.i, i64 4 %precision_ref8.i = getelementptr inbounds i8, ptr %specs.i, i64 40 call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_17precision_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %precision.i, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %precision_ref8.i, ptr noundef nonnull align 8 dereferenceable(32) %ctx) %retval.sroa.0.0.copyload.i38 = load ptr, ptr %ctx, align 8 - %17 = load double, ptr %opt, align 8 + %18 = load double, ptr %opt, align 8 %agg.tmp11.i.sroa.0.0.copyload = load i64, ptr %specs.i, align 8 %agg.tmp11.i.sroa.2.0.specs.i.sroa_idx = getelementptr inbounds i8, ptr %specs.i, i64 8 %agg.tmp11.i.sroa.2.0.copyload = load i64, ptr %agg.tmp11.i.sroa.2.0.specs.i.sroa_idx, align 8 @@ -26715,28 +26715,28 @@ if.then.i: ; preds = %_ZN3fmt3v106detail5 call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %specs.i41) call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp4.i) store i64 %agg.tmp11.i.sroa.0.0.copyload, ptr %specs.i41, align 8 - %18 = getelementptr inbounds i8, ptr %specs.i41, i64 8 - store i64 %agg.tmp11.i.sroa.2.0.copyload, ptr %18, align 8 - %19 = and i64 %agg.tmp11.i.sroa.2.0.copyload, 65536 - %bf.cast.not.i = icmp eq i64 %19, 0 + %19 = getelementptr inbounds i8, ptr %specs.i41, i64 8 + store i64 %agg.tmp11.i.sroa.2.0.copyload, ptr %19, align 8 + %20 = and i64 %agg.tmp11.i.sroa.2.0.copyload, 65536 + %bf.cast.not.i = icmp eq i64 %20, 0 br i1 %bf.cast.not.i, label %cond.false.i, label %land.lhs.true.i land.lhs.true.i: ; preds = %if.then.i %type_.i.i.i.i = getelementptr inbounds i8, ptr %agg.tmp4.i, i64 16 store i32 10, ptr %type_.i.i.i.i, align 16, !alias.scope !772 - store double %17, ptr %agg.tmp4.i, align 16, !alias.scope !772 + store double %18, ptr %agg.tmp4.i, align 16, !alias.scope !772 %call9.i = call noundef zeroext i1 @_ZN3fmt3v106detail9write_locENS0_8appenderENS0_9loc_valueERKNS0_12format_specsIcEENS1_10locale_refE(ptr %retval.sroa.0.0.copyload.i38, ptr noundef nonnull byval(%"class.fmt::v10::loc_value") align 16 %agg.tmp4.i, ptr noundef nonnull align 4 dereferenceable(16) %specs.i41, ptr %retval.sroa.0.0.copyload.i39) br i1 %call9.i, label %_ZN3fmt3v106detail5writeIcNS0_8appenderEdTnNSt9enable_ifIXsr17is_floating_pointIT1_EE5valueEiE4typeELi0EEET0_S8_S5_NS0_12format_specsIT_EENS1_10locale_refE.exit, label %land.lhs.true.cond.false_crit_edge.i land.lhs.true.cond.false_crit_edge.i: ; preds = %land.lhs.true.i %agg.tmp11.sroa.0.0.copyload.pre.i = load i64, ptr %specs.i41, align 8 - %agg.tmp11.sroa.2.0.copyload.pre.i = load i64, ptr %18, align 8 + %agg.tmp11.sroa.2.0.copyload.pre.i = load i64, ptr %19, align 8 br label %cond.false.i cond.false.i: ; preds = %land.lhs.true.cond.false_crit_edge.i, %if.then.i %agg.tmp11.sroa.2.0.copyload.i = phi i64 [ %agg.tmp11.sroa.2.0.copyload.pre.i, %land.lhs.true.cond.false_crit_edge.i ], [ %agg.tmp11.i.sroa.2.0.copyload, %if.then.i ] %agg.tmp11.sroa.0.0.copyload.i = phi i64 [ %agg.tmp11.sroa.0.0.copyload.pre.i, %land.lhs.true.cond.false_crit_edge.i ], [ %agg.tmp11.i.sroa.0.0.copyload, %if.then.i ] - %call16.i = call ptr @_ZN3fmt3v106detail11write_floatIcNS0_8appenderEdEET0_S4_T1_NS0_12format_specsIT_EENS1_10locale_refE(ptr %retval.sroa.0.0.copyload.i38, double noundef %17, i64 %agg.tmp11.sroa.0.0.copyload.i, i64 %agg.tmp11.sroa.2.0.copyload.i, ptr %retval.sroa.0.0.copyload.i39) + %call16.i = call ptr @_ZN3fmt3v106detail11write_floatIcNS0_8appenderEdEET0_S4_T1_NS0_12format_specsIT_EENS1_10locale_refE(ptr %retval.sroa.0.0.copyload.i38, double noundef %18, i64 %agg.tmp11.sroa.0.0.copyload.i, i64 %agg.tmp11.sroa.2.0.copyload.i, ptr %retval.sroa.0.0.copyload.i39) br label %_ZN3fmt3v106detail5writeIcNS0_8appenderEdTnNSt9enable_ifIXsr17is_floating_pointIT1_EE5valueEiE4typeELi0EEET0_S8_S5_NS0_12format_specsIT_EENS1_10locale_refE.exit _ZN3fmt3v106detail5writeIcNS0_8appenderEdTnNSt9enable_ifIXsr17is_floating_pointIT1_EE5valueEiE4typeELi0EEET0_S8_S5_NS0_12format_specsIT_EENS1_10locale_refE.exit: ; preds = %land.lhs.true.i, %cond.false.i @@ -26746,7 +26746,7 @@ _ZN3fmt3v106detail5writeIcNS0_8appenderEdTnNSt9enable_ifIXsr17is_floating_pointI br label %_ZNK3fmt3v109formatterIdcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEERKdRT_.exit if.end.i: ; preds = %_ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_NS0_17basic_string_viewIT_EE.exit37 - %20 = load double, ptr %opt, align 8 + %21 = load double, ptr %opt, align 8 %agg.tmp25.i.sroa.0.0.copyload = load i64, ptr %this, align 8 %agg.tmp25.i.sroa.2.0.this1.i.sroa_idx = getelementptr inbounds i8, ptr %this, i64 8 %agg.tmp25.i.sroa.2.0.copyload = load i64, ptr %agg.tmp25.i.sroa.2.0.this1.i.sroa_idx, align 8 @@ -26755,28 +26755,28 @@ if.end.i: ; preds = %_ZN3fmt3v106detail5 call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %specs.i46) call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp4.i47) store i64 %agg.tmp25.i.sroa.0.0.copyload, ptr %specs.i46, align 8 - %21 = getelementptr inbounds i8, ptr %specs.i46, i64 8 - store i64 %agg.tmp25.i.sroa.2.0.copyload, ptr %21, align 8 - %22 = and i64 %agg.tmp25.i.sroa.2.0.copyload, 65536 - %bf.cast.not.i48 = icmp eq i64 %22, 0 + %22 = getelementptr inbounds i8, ptr %specs.i46, i64 8 + store i64 %agg.tmp25.i.sroa.2.0.copyload, ptr %22, align 8 + %23 = and i64 %agg.tmp25.i.sroa.2.0.copyload, 65536 + %bf.cast.not.i48 = icmp eq i64 %23, 0 br i1 %bf.cast.not.i48, label %cond.false.i55, label %land.lhs.true.i49 land.lhs.true.i49: ; preds = %if.end.i %type_.i.i.i.i50 = getelementptr inbounds i8, ptr %agg.tmp4.i47, i64 16 store i32 10, ptr %type_.i.i.i.i50, align 16, !alias.scope !775 - store double %20, ptr %agg.tmp4.i47, align 16, !alias.scope !775 + store double %21, ptr %agg.tmp4.i47, align 16, !alias.scope !775 %call9.i51 = call noundef zeroext i1 @_ZN3fmt3v106detail9write_locENS0_8appenderENS0_9loc_valueERKNS0_12format_specsIcEENS1_10locale_refE(ptr nonnull %retval.sroa.0.0.copyload.i11, ptr noundef nonnull byval(%"class.fmt::v10::loc_value") align 16 %agg.tmp4.i47, ptr noundef nonnull align 4 dereferenceable(16) %specs.i46, ptr %retval.sroa.0.0.copyload.i44) br i1 %call9.i51, label %_ZN3fmt3v106detail5writeIcNS0_8appenderEdTnNSt9enable_ifIXsr17is_floating_pointIT1_EE5valueEiE4typeELi0EEET0_S8_S5_NS0_12format_specsIT_EENS1_10locale_refE.exit60, label %land.lhs.true.cond.false_crit_edge.i52 land.lhs.true.cond.false_crit_edge.i52: ; preds = %land.lhs.true.i49 %agg.tmp11.sroa.0.0.copyload.pre.i53 = load i64, ptr %specs.i46, align 8 - %agg.tmp11.sroa.2.0.copyload.pre.i54 = load i64, ptr %21, align 8 + %agg.tmp11.sroa.2.0.copyload.pre.i54 = load i64, ptr %22, align 8 br label %cond.false.i55 cond.false.i55: ; preds = %land.lhs.true.cond.false_crit_edge.i52, %if.end.i %agg.tmp11.sroa.2.0.copyload.i56 = phi i64 [ %agg.tmp11.sroa.2.0.copyload.pre.i54, %land.lhs.true.cond.false_crit_edge.i52 ], [ %agg.tmp25.i.sroa.2.0.copyload, %if.end.i ] %agg.tmp11.sroa.0.0.copyload.i57 = phi i64 [ %agg.tmp11.sroa.0.0.copyload.pre.i53, %land.lhs.true.cond.false_crit_edge.i52 ], [ %agg.tmp25.i.sroa.0.0.copyload, %if.end.i ] - %call16.i58 = call ptr @_ZN3fmt3v106detail11write_floatIcNS0_8appenderEdEET0_S4_T1_NS0_12format_specsIT_EENS1_10locale_refE(ptr nonnull %retval.sroa.0.0.copyload.i11, double noundef %20, i64 %agg.tmp11.sroa.0.0.copyload.i57, i64 %agg.tmp11.sroa.2.0.copyload.i56, ptr %retval.sroa.0.0.copyload.i44) + %call16.i58 = call ptr @_ZN3fmt3v106detail11write_floatIcNS0_8appenderEdEET0_S4_T1_NS0_12format_specsIT_EENS1_10locale_refE(ptr nonnull %retval.sroa.0.0.copyload.i11, double noundef %21, i64 %agg.tmp11.sroa.0.0.copyload.i57, i64 %agg.tmp11.sroa.2.0.copyload.i56, ptr %retval.sroa.0.0.copyload.i44) br label %_ZN3fmt3v106detail5writeIcNS0_8appenderEdTnNSt9enable_ifIXsr17is_floating_pointIT1_EE5valueEiE4typeELi0EEET0_S8_S5_NS0_12format_specsIT_EENS1_10locale_refE.exit60 _ZN3fmt3v106detail5writeIcNS0_8appenderEdTnNSt9enable_ifIXsr17is_floating_pointIT1_EE5valueEiE4typeELi0EEET0_S8_S5_NS0_12format_specsIT_EENS1_10locale_refE.exit60: ; preds = %land.lhs.true.i49, %cond.false.i55 @@ -26788,28 +26788,28 @@ _ZN3fmt3v106detail5writeIcNS0_8appenderEdTnNSt9enable_ifIXsr17is_floating_pointI _ZNK3fmt3v109formatterIdcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEERKdRT_.exit: ; preds = %_ZN3fmt3v106detail5writeIcNS0_8appenderEdTnNSt9enable_ifIXsr17is_floating_pointIT1_EE5valueEiE4typeELi0EEET0_S8_S5_NS0_12format_specsIT_EENS1_10locale_refE.exit60, %_ZN3fmt3v106detail5writeIcNS0_8appenderEdTnNSt9enable_ifIXsr17is_floating_pointIT1_EE5valueEiE4typeELi0EEET0_S8_S5_NS0_12format_specsIT_EENS1_10locale_refE.exit %retval.i.sroa.0.0 = phi ptr [ %retval.sroa.0.0.i, %_ZN3fmt3v106detail5writeIcNS0_8appenderEdTnNSt9enable_ifIXsr17is_floating_pointIT1_EE5valueEiE4typeELi0EEET0_S8_S5_NS0_12format_specsIT_EENS1_10locale_refE.exit ], [ %retval.sroa.0.0.i59, %_ZN3fmt3v106detail5writeIcNS0_8appenderEdTnNSt9enable_ifIXsr17is_floating_pointIT1_EE5valueEiE4typeELi0EEET0_S8_S5_NS0_12format_specsIT_EENS1_10locale_refE.exit60 ] %size_.i.i.i = getelementptr inbounds i8, ptr %retval.i.sroa.0.0, i64 16 - %23 = load i64, ptr %size_.i.i.i, align 8 - %add.i.i.i = add i64 %23, 1 + %24 = load i64, ptr %size_.i.i.i, align 8 + %add.i.i.i = add i64 %24, 1 %capacity_.i.i.i.i = getelementptr inbounds i8, ptr %retval.i.sroa.0.0, i64 24 - %24 = load i64, ptr %capacity_.i.i.i.i, align 8 - %cmp.i.i.i.i = icmp ult i64 %24, %add.i.i.i + %25 = load i64, ptr %capacity_.i.i.i.i, align 8 + %cmp.i.i.i.i = icmp ult i64 %25, %add.i.i.i br i1 %cmp.i.i.i.i, label %if.then.i.i.i.i, label %_ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_T_.exit if.then.i.i.i.i: ; preds = %_ZNK3fmt3v109formatterIdcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEERKdRT_.exit %vtable.i.i.i.i = load ptr, ptr %retval.i.sroa.0.0, align 8 - %25 = load ptr, ptr %vtable.i.i.i.i, align 8 - call void %25(ptr noundef nonnull align 8 dereferenceable(32) %retval.i.sroa.0.0, i64 noundef %add.i.i.i) + %26 = load ptr, ptr %vtable.i.i.i.i, align 8 + call void %26(ptr noundef nonnull align 8 dereferenceable(32) %retval.i.sroa.0.0, i64 noundef %add.i.i.i) %.pre.i.i.i = load i64, ptr %size_.i.i.i, align 8 %.pre1.i.i.i = add i64 %.pre.i.i.i, 1 br label %_ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_T_.exit _ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_T_.exit: ; preds = %_ZNK3fmt3v109formatterIdcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEERKdRT_.exit, %if.then.i.i.i.i %inc.pre-phi.i.i.i = phi i64 [ %add.i.i.i, %_ZNK3fmt3v109formatterIdcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEERKdRT_.exit ], [ %.pre1.i.i.i, %if.then.i.i.i.i ] - %26 = phi i64 [ %23, %_ZNK3fmt3v109formatterIdcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEERKdRT_.exit ], [ %.pre.i.i.i, %if.then.i.i.i.i ] + %27 = phi i64 [ %24, %_ZNK3fmt3v109formatterIdcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEERKdRT_.exit ], [ %.pre.i.i.i, %if.then.i.i.i.i ] %ptr_.i.i.i = getelementptr inbounds i8, ptr %retval.i.sroa.0.0, i64 8 - %27 = load ptr, ptr %ptr_.i.i.i, align 8 + %28 = load ptr, ptr %ptr_.i.i.i, align 8 store i64 %inc.pre-phi.i.i.i, ptr %size_.i.i.i, align 8 - %arrayidx.i.i.i = getelementptr inbounds i8, ptr %27, i64 %26 + %arrayidx.i.i.i = getelementptr inbounds i8, ptr %28, i64 %27 store i8 41, ptr %arrayidx.i.i.i, align 1 br label %return @@ -35948,8 +35948,7 @@ _ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_NS0_17basic_string_viewIT_EE.exi if.then.i.i: ; preds = %_ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_NS0_17basic_string_viewIT_EE.exit31 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(64) %specs.i.i, ptr noundef nonnull align 8 dereferenceable(64) %this, i64 64, i1 false) - %width_ref6.i.i = getelementptr inbounds i8, ptr %specs.i.i, i64 16 - call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %specs.i.i, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %width_ref6.i.i, ptr noundef nonnull align 8 dereferenceable(32) %ctx) + call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %specs.i.i, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %width_ref.i.i, ptr noundef nonnull align 8 dereferenceable(32) %ctx) %precision.i.i = getelementptr inbounds i8, ptr %specs.i.i, i64 4 %precision_ref8.i.i = getelementptr inbounds i8, ptr %specs.i.i, i64 40 call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_17precision_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %precision.i.i, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %precision_ref8.i.i, ptr noundef nonnull align 8 dereferenceable(32) %ctx) @@ -36258,8 +36257,8 @@ entry: if.then.i: ; preds = %entry call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(64) %specs.i, ptr noundef nonnull align 8 dereferenceable(64) %this, i64 64, i1 false) - %width_ref6.i = getelementptr inbounds i8, ptr %specs.i, i64 16 - invoke void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %specs.i, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %width_ref6.i, ptr noundef nonnull align 8 dereferenceable(32) %ctx) + %3 = getelementptr inbounds i8, ptr %this, i64 16 + invoke void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %specs.i, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %3, ptr noundef nonnull align 8 dereferenceable(32) %ctx) to label %.noexc unwind label %lpad .noexc: ; preds = %if.then.i @@ -36269,20 +36268,20 @@ if.then.i: ; preds = %entry to label %if.end.i.invoke unwind label %lpad if.end.i.invoke: ; preds = %entry, %.noexc - %3 = phi ptr [ %specs.i, %.noexc ], [ %this, %entry ] + %4 = phi ptr [ %specs.i, %.noexc ], [ %this, %entry ] %retval.sroa.0.0.copyload.i = load ptr, ptr %ctx, align 8 - %4 = invoke ptr @_ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_NS0_17basic_string_viewIT_EERKNS0_12format_specsIS6_EE(ptr %retval.sroa.0.0.copyload.i, ptr %call.i7, i64 %call2.i, ptr noundef nonnull align 4 dereferenceable(16) %3) + %5 = invoke ptr @_ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_NS0_17basic_string_viewIT_EERKNS0_12format_specsIS6_EE(ptr %retval.sroa.0.0.copyload.i, ptr %call.i7, i64 %call2.i, ptr noundef nonnull align 4 dereferenceable(16) %4) to label %_ZNK3fmt3v109formatterINS0_17basic_string_viewIcEEcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEERKS3_RT_.exit unwind label %lpad _ZNK3fmt3v109formatterINS0_17basic_string_viewIcEEcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEERKS3_RT_.exit: ; preds = %if.end.i.invoke call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp2) #25 - ret ptr %4 + ret ptr %5 lpad: ; preds = %if.end.i.invoke, %.noexc, %if.then.i - %5 = landingpad { ptr, i32 } + %6 = landingpad { ptr, i32 } cleanup call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp2) #25 - resume { ptr, i32 } %5 + resume { ptr, i32 } %6 } ; Function Attrs: mustprogress uwtable @@ -40597,8 +40596,7 @@ entry: if.then.i.i: ; preds = %entry call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(64) %specs.i.i, ptr noundef nonnull align 8 dereferenceable(64) %formatter, i64 64, i1 false) - %width_ref6.i.i = getelementptr inbounds i8, ptr %specs.i.i, i64 16 - call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %specs.i.i, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %width_ref6.i.i, ptr noundef nonnull align 8 dereferenceable(32) %ctx) + call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %specs.i.i, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %width_ref.i.i.i, ptr noundef nonnull align 8 dereferenceable(32) %ctx) %precision.i.i = getelementptr inbounds i8, ptr %specs.i.i, i64 4 %precision_ref8.i.i = getelementptr inbounds i8, ptr %specs.i.i, i64 40 call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_17precision_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %precision.i.i, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %precision_ref8.i.i, ptr noundef nonnull align 8 dereferenceable(32) %ctx) @@ -43358,8 +43356,7 @@ entry: if.then.i.i: ; preds = %entry call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(64) %specs.i.i, ptr noundef nonnull align 8 dereferenceable(64) %f, i64 64, i1 false) - %width_ref6.i.i = getelementptr inbounds i8, ptr %specs.i.i, i64 16 - call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %specs.i.i, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %width_ref6.i.i, ptr noundef nonnull align 8 dereferenceable(32) %ctx) + call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %specs.i.i, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %width_ref.i.i.i, ptr noundef nonnull align 8 dereferenceable(32) %ctx) %precision.i.i = getelementptr inbounds i8, ptr %specs.i.i, i64 4 %precision_ref8.i.i = getelementptr inbounds i8, ptr %specs.i.i, i64 40 call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_17precision_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %precision.i.i, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %precision_ref8.i.i, ptr noundef nonnull align 8 dereferenceable(32) %ctx) @@ -43838,8 +43835,7 @@ entry: if.then.i.i: ; preds = %entry call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(64) %specs.i.i, ptr noundef nonnull align 8 dereferenceable(64) %f, i64 64, i1 false) - %width_ref6.i.i = getelementptr inbounds i8, ptr %specs.i.i, i64 16 - call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %specs.i.i, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %width_ref6.i.i, ptr noundef nonnull align 8 dereferenceable(32) %ctx) + call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %specs.i.i, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %width_ref.i.i.i, ptr noundef nonnull align 8 dereferenceable(32) %ctx) %precision.i.i = getelementptr inbounds i8, ptr %specs.i.i, i64 4 %precision_ref8.i.i = getelementptr inbounds i8, ptr %specs.i.i, i64 40 call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_17precision_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %precision.i.i, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %precision_ref8.i.i, ptr noundef nonnull align 8 dereferenceable(32) %ctx) @@ -44428,8 +44424,7 @@ entry: if.then.i.i: ; preds = %entry call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(64) %specs.i.i, ptr noundef nonnull align 8 dereferenceable(64) %f, i64 64, i1 false) - %width_ref6.i.i = getelementptr inbounds i8, ptr %specs.i.i, i64 16 - call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %specs.i.i, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %width_ref6.i.i, ptr noundef nonnull align 8 dereferenceable(32) %ctx) + call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %specs.i.i, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %width_ref.i.i.i, ptr noundef nonnull align 8 dereferenceable(32) %ctx) %precision.i.i = getelementptr inbounds i8, ptr %specs.i.i, i64 4 %precision_ref8.i.i = getelementptr inbounds i8, ptr %specs.i.i, i64 40 call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_17precision_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %precision.i.i, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %precision_ref8.i.i, ptr noundef nonnull align 8 dereferenceable(32) %ctx) diff --git a/bench/fmt/optimized/xchar-test.cc.ll b/bench/fmt/optimized/xchar-test.cc.ll index 4b90c317558..83ebc556a30 100644 --- a/bench/fmt/optimized/xchar-test.cc.ll +++ b/bench/fmt/optimized/xchar-test.cc.ll @@ -20122,8 +20122,8 @@ invoke.cont21: ; preds = %invoke.cont17 if.then.i: ; preds = %invoke.cont21 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(64) %specs.i, ptr noundef nonnull align 8 dereferenceable(64) %f, i64 64, i1 false) - %width_ref6.i = getelementptr inbounds i8, ptr %specs.i, i64 16 - invoke void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %specs.i, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %width_ref6.i, ptr noundef nonnull align 8 dereferenceable(32) %format_ctx) + %3 = getelementptr inbounds i8, ptr %f, i64 16 + invoke void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %specs.i, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %3, ptr noundef nonnull align 8 dereferenceable(32) %format_ctx) to label %.noexc unwind label %lpad16 .noexc: ; preds = %if.then.i @@ -20137,8 +20137,8 @@ if.then.i: ; preds = %invoke.cont21 %retval.sroa.0.0.copyload.i27 = load ptr, ptr %loc_.i, align 8 %localized.i79 = getelementptr inbounds i8, ptr %specs.i, i64 9 %bf.load.i80 = load i16, ptr %localized.i79, align 1 - %3 = and i16 %bf.load.i80, 256 - %bf.cast.i83.not = icmp eq i16 %3, 0 + %4 = and i16 %bf.load.i80, 256 + %bf.cast.i83.not = icmp eq i16 %4, 0 br i1 %bf.cast.i83.not, label %if.end.i84, label %.noexc94 .noexc94: ; preds = %.noexc56 @@ -20157,21 +20157,21 @@ call.i92.noexc.if.end.i84_crit_edge: ; preds = %call.i92.noexc if.end.i84: ; preds = %call.i92.noexc.if.end.i84_crit_edge, %.noexc56 %bf.load10.i86 = phi i16 [ %bf.load10.i86.pre, %call.i92.noexc.if.end.i84_crit_edge ], [ %bf.load.i80, %.noexc56 ] - %4 = lshr i16 %bf.load10.i86, 4 - %5 = and i16 %4, 7 - %bf.cast13.i89 = zext nneg i16 %5 to i64 + %5 = lshr i16 %bf.load10.i86, 4 + %6 = and i16 %5, 7 + %bf.cast13.i89 = zext nneg i16 %6 to i64 %arrayidx.i = getelementptr inbounds [4 x i32], ptr @__const._ZN3fmt3v106detail18make_write_int_argIoEENS1_13write_int_argINSt11conditionalIXaalecl8num_bitsIT_EELi32EntLi0EEjNS4_IXlecl8num_bitsIS5_EELi64EEmoE4typeEE4typeEEES5_NS0_4sign4typeE.prefixes, i64 0, i64 %bf.cast13.i89 - %6 = load i32, ptr %arrayidx.i, align 4 - %7 = zext i32 %6 to i64 - %8 = shl nuw i64 %7, 32 - %retval.sroa.0.0.insert.insert.i = or disjoint i64 %8, 12345 + %7 = load i32, ptr %arrayidx.i, align 4 + %8 = zext i32 %7 to i64 + %9 = shl nuw i64 %8, 32 + %retval.sroa.0.0.insert.insert.i = or disjoint i64 %9, 12345 %call19.i97 = invoke ptr @_ZN3fmt3v106detail18write_int_noinlineIcNS0_8appenderEjEET0_S4_NS1_13write_int_argIT1_EERKNS0_12format_specsIT_EENS1_10locale_refE(ptr %retval.sroa.0.0.copyload.i, i64 %retval.sroa.0.0.insert.insert.i, ptr noundef nonnull align 4 dereferenceable(16) %specs.i, ptr %retval.sroa.0.0.copyload.i27) to label %_ZNK3fmt3v109formatterIicvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEERKiRT_.exit unwind label %lpad16 if.end.i: ; preds = %invoke.cont21 %bf.load.i = load i16, ptr %align.i.i.i, align 1 - %9 = and i16 %bf.load.i, 256 - %bf.cast.i.not = icmp eq i16 %9, 0 + %10 = and i16 %bf.load.i, 256 + %bf.cast.i.not = icmp eq i16 %10, 0 br i1 %bf.cast.i.not, label %if.end.i62, label %.noexc65 .noexc65: ; preds = %if.end.i @@ -20190,14 +20190,14 @@ call.i63.noexc.if.end.i62_crit_edge: ; preds = %call.i63.noexc if.end.i62: ; preds = %call.i63.noexc.if.end.i62_crit_edge, %if.end.i %bf.load10.i = phi i16 [ %bf.load10.i.pre, %call.i63.noexc.if.end.i62_crit_edge ], [ %bf.load.i, %if.end.i ] - %10 = lshr i16 %bf.load10.i, 4 - %11 = and i16 %10, 7 - %bf.cast13.i = zext nneg i16 %11 to i64 + %11 = lshr i16 %bf.load10.i, 4 + %12 = and i16 %11, 7 + %bf.cast13.i = zext nneg i16 %12 to i64 %arrayidx.i34 = getelementptr inbounds [4 x i32], ptr @__const._ZN3fmt3v106detail18make_write_int_argIoEENS1_13write_int_argINSt11conditionalIXaalecl8num_bitsIT_EELi32EntLi0EEjNS4_IXlecl8num_bitsIS5_EELi64EEmoE4typeEE4typeEEES5_NS0_4sign4typeE.prefixes, i64 0, i64 %bf.cast13.i - %12 = load i32, ptr %arrayidx.i34, align 4 - %13 = zext i32 %12 to i64 - %14 = shl nuw i64 %13, 32 - %retval.sroa.0.0.insert.insert.i36 = or disjoint i64 %14, 12345 + %13 = load i32, ptr %arrayidx.i34, align 4 + %14 = zext i32 %13 to i64 + %15 = shl nuw i64 %14, 32 + %retval.sroa.0.0.insert.insert.i36 = or disjoint i64 %15, 12345 %call19.i67 = invoke ptr @_ZN3fmt3v106detail18write_int_noinlineIcNS0_8appenderEjEET0_S4_NS1_13write_int_argIT1_EERKNS0_12format_specsIT_EENS1_10locale_refE(ptr nonnull %buf, i64 %retval.sroa.0.0.insert.insert.i36, ptr noundef nonnull align 4 dereferenceable(16) %f, ptr %0) to label %_ZNK3fmt3v109formatterIicvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEERKiRT_.exit unwind label %lpad16 @@ -20205,19 +20205,19 @@ _ZNK3fmt3v109formatterIicvE6formatINS0_20basic_format_contextINS0_8appenderEcEEE call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp.i) call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp3.i) %size_.i.i = getelementptr inbounds i8, ptr %buf, i64 16 - %15 = load i64, ptr %size_.i.i, align 8, !noalias !618 + %16 = load i64, ptr %size_.i.i, align 8, !noalias !618 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i) #26, !noalias !618 %call1.i = call noundef i64 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE8max_sizeEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i) #26, !noalias !618 - %cmp.i = icmp ult i64 %15, %call1.i + %cmp.i = icmp ult i64 %16, %call1.i call void @llvm.assume(i1 %cmp.i) call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i) #26, !noalias !618 - %16 = load ptr, ptr %ptr_.i.i, align 8, !noalias !618 + %17 = load ptr, ptr %ptr_.i.i, align 8, !noalias !618 call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp3.i) #26, !noalias !618 - invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EPKcmRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp30, ptr noundef %16, i64 noundef %15, ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp3.i) + invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EPKcmRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp30, ptr noundef %17, i64 noundef %16, ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp3.i) to label %invoke.cont31 unwind label %lpad.i lpad.i: ; preds = %_ZNK3fmt3v109formatterIicvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEERKiRT_.exit - %17 = landingpad { ptr, i32 } + %18 = landingpad { ptr, i32 } cleanup call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp3.i) #26 br label %ehcleanup50 @@ -20240,39 +20240,39 @@ if.end.i.i: ; preds = %invoke.cont31 invoke.cont33: ; preds = %if.then.i.i, %if.end.i.i call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp30) #26 - %18 = load i8, ptr %gtest_ar, align 8 - %tobool.i = trunc i8 %18 to i1 + %19 = load i8, ptr %gtest_ar, align 8 + %tobool.i = trunc i8 %19 to i1 br i1 %tobool.i, label %if.end, label %if.else lpad: ; preds = %invoke.cont3, %entry - %19 = landingpad { ptr, i32 } + %20 = landingpad { ptr, i32 } cleanup br label %eh.resume lpad2: ; preds = %invoke.cont - %20 = landingpad { ptr, i32 } + %21 = landingpad { ptr, i32 } cleanup call void @_ZdlPv(ptr noundef nonnull %call) #30 br label %eh.resume lpad5: ; preds = %invoke.cont6 - %21 = landingpad { ptr, i32 } + %22 = landingpad { ptr, i32 } cleanup br label %eh.resume lpad16: ; preds = %if.end.i62, %.noexc65, %if.end.i84, %.noexc94, %.noexc, %if.then.i, %invoke.cont17 - %22 = landingpad { ptr, i32 } + %23 = landingpad { ptr, i32 } cleanup br label %ehcleanup50 lpad32: ; preds = %if.end.i.i, %if.then.i.i - %23 = landingpad { ptr, i32 } + %24 = landingpad { ptr, i32 } cleanup call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp30) #26 br label %ehcleanup50 lpad35: ; preds = %if.else - %24 = landingpad { ptr, i32 } + %25 = landingpad { ptr, i32 } cleanup br label %ehcleanup49 @@ -20282,12 +20282,12 @@ if.else: ; preds = %invoke.cont33 invoke.cont39: ; preds = %if.else %message_.i.i = getelementptr inbounds i8, ptr %gtest_ar, i64 8 - %25 = load ptr, ptr %message_.i.i, align 8 - %cmp.not.i.i = icmp eq ptr %25, null + %26 = load ptr, ptr %message_.i.i, align 8 + %cmp.not.i.i = icmp eq ptr %26, null br i1 %cmp.not.i.i, label %invoke.cont42, label %cond.true.i.i cond.true.i.i: ; preds = %invoke.cont39 - %call4.i.i = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %25) #26 + %call4.i.i = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %26) #26 br label %invoke.cont42 invoke.cont42: ; preds = %cond.true.i.i, %invoke.cont39 @@ -20301,15 +20301,15 @@ invoke.cont44: ; preds = %invoke.cont42 invoke.cont46: ; preds = %invoke.cont44 call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp40) #26 - %26 = load ptr, ptr %ref.tmp38, align 8 - %cmp.not.i.i40 = icmp eq ptr %26, null + %27 = load ptr, ptr %ref.tmp38, align 8 + %cmp.not.i.i40 = icmp eq ptr %27, null br i1 %cmp.not.i.i40, label %_ZN7testing7MessageD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i: ; preds = %invoke.cont46 - %vtable.i.i.i = load ptr, ptr %26, align 8 + %vtable.i.i.i = load ptr, ptr %27, align 8 %vfn.i.i.i = getelementptr inbounds i8, ptr %vtable.i.i.i, i64 8 - %27 = load ptr, ptr %vfn.i.i.i, align 8 - call void %27(ptr noundef nonnull align 8 dereferenceable(128) %26) #26 + %28 = load ptr, ptr %vfn.i.i.i, align 8 + call void %28(ptr noundef nonnull align 8 dereferenceable(128) %27) #26 br label %_ZN7testing7MessageD2Ev.exit _ZN7testing7MessageD2Ev.exit: ; preds = %invoke.cont46, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -20317,27 +20317,27 @@ _ZN7testing7MessageD2Ev.exit: ; preds = %invoke.cont46, %_ZN br label %if.end lpad41: ; preds = %invoke.cont42 - %28 = landingpad { ptr, i32 } + %29 = landingpad { ptr, i32 } cleanup br label %ehcleanup48 lpad45: ; preds = %invoke.cont44 - %29 = landingpad { ptr, i32 } + %30 = landingpad { ptr, i32 } cleanup call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp40) #26 br label %ehcleanup48 ehcleanup48: ; preds = %lpad45, %lpad41 - %.pn18 = phi { ptr, i32 } [ %29, %lpad45 ], [ %28, %lpad41 ] - %30 = load ptr, ptr %ref.tmp38, align 8 - %cmp.not.i.i41 = icmp eq ptr %30, null + %.pn18 = phi { ptr, i32 } [ %30, %lpad45 ], [ %29, %lpad41 ] + %31 = load ptr, ptr %ref.tmp38, align 8 + %cmp.not.i.i41 = icmp eq ptr %31, null br i1 %cmp.not.i.i41, label %_ZN7testing7MessageD2Ev.exit45, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i42 _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i42: ; preds = %ehcleanup48 - %vtable.i.i.i43 = load ptr, ptr %30, align 8 + %vtable.i.i.i43 = load ptr, ptr %31, align 8 %vfn.i.i.i44 = getelementptr inbounds i8, ptr %vtable.i.i.i43, i64 8 - %31 = load ptr, ptr %vfn.i.i.i44, align 8 - call void %31(ptr noundef nonnull align 8 dereferenceable(128) %30) #26 + %32 = load ptr, ptr %vfn.i.i.i44, align 8 + call void %32(ptr noundef nonnull align 8 dereferenceable(128) %31) #26 br label %_ZN7testing7MessageD2Ev.exit45 _ZN7testing7MessageD2Ev.exit45: ; preds = %ehcleanup48, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i42 @@ -20346,23 +20346,23 @@ _ZN7testing7MessageD2Ev.exit45: ; preds = %ehcleanup48, %_ZNKS if.end: ; preds = %invoke.cont33, %_ZN7testing7MessageD2Ev.exit %message_.i = getelementptr inbounds i8, ptr %gtest_ar, i64 8 - %32 = load ptr, ptr %message_.i, align 8 - %cmp.not.i.i46 = icmp eq ptr %32, null + %33 = load ptr, ptr %message_.i, align 8 + %cmp.not.i.i46 = icmp eq ptr %33, null br i1 %cmp.not.i.i46, label %_ZN7testing15AssertionResultD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i: ; preds = %if.end - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %32) #26 - call void @_ZdlPv(ptr noundef nonnull %32) #30 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %33) #26 + call void @_ZdlPv(ptr noundef nonnull %33) #30 br label %_ZN7testing15AssertionResultD2Ev.exit _ZN7testing15AssertionResultD2Ev.exit: ; preds = %if.end, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i store ptr null, ptr %message_.i, align 8 - %33 = load ptr, ptr %ptr_.i.i, align 8 - %cmp.not.i.i47 = icmp eq ptr %33, %store_.i + %34 = load ptr, ptr %ptr_.i.i, align 8 + %cmp.not.i.i47 = icmp eq ptr %34, %store_.i br i1 %cmp.not.i.i47, label %_ZN3fmt3v1019basic_memory_bufferIcLm500ESaIcEED2Ev.exit, label %if.then.i.i48 if.then.i.i48: ; preds = %_ZN7testing15AssertionResultD2Ev.exit - call void @_ZdlPv(ptr noundef %33) #30 + call void @_ZdlPv(ptr noundef %34) #30 br label %_ZN3fmt3v1019basic_memory_bufferIcLm500ESaIcEED2Ev.exit _ZN3fmt3v1019basic_memory_bufferIcLm500ESaIcEED2Ev.exit: ; preds = %_ZN7testing15AssertionResultD2Ev.exit, %if.then.i.i48 @@ -20371,18 +20371,18 @@ _ZN3fmt3v1019basic_memory_bufferIcLm500ESaIcEED2Ev.exit: ; preds = %_ZN7testing1 ret void ehcleanup49: ; preds = %_ZN7testing7MessageD2Ev.exit45, %lpad35 - %.pn18.pn = phi { ptr, i32 } [ %.pn18, %_ZN7testing7MessageD2Ev.exit45 ], [ %24, %lpad35 ] + %.pn18.pn = phi { ptr, i32 } [ %.pn18, %_ZN7testing7MessageD2Ev.exit45 ], [ %25, %lpad35 ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar) #26 br label %ehcleanup50 ehcleanup50: ; preds = %lpad16, %lpad.i, %ehcleanup49, %lpad32 - %.pn18.pn.pn = phi { ptr, i32 } [ %.pn18.pn, %ehcleanup49 ], [ %23, %lpad32 ], [ %22, %lpad16 ], [ %17, %lpad.i ] + %.pn18.pn.pn = phi { ptr, i32 } [ %.pn18.pn, %ehcleanup49 ], [ %24, %lpad32 ], [ %23, %lpad16 ], [ %18, %lpad.i ] call void @_ZN3fmt3v1019basic_memory_bufferIcLm500ESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(536) %buf) #26 br label %eh.resume eh.resume: ; preds = %lpad5, %ehcleanup50, %lpad, %lpad2 %loc.sink = phi ptr [ %ref.tmp, %lpad2 ], [ %ref.tmp, %lpad ], [ %loc, %ehcleanup50 ], [ %loc, %lpad5 ] - %.pn18.pn.pn.pn.pn = phi { ptr, i32 } [ %20, %lpad2 ], [ %19, %lpad ], [ %.pn18.pn.pn, %ehcleanup50 ], [ %21, %lpad5 ] + %.pn18.pn.pn.pn.pn = phi { ptr, i32 } [ %21, %lpad2 ], [ %20, %lpad ], [ %.pn18.pn.pn, %ehcleanup50 ], [ %22, %lpad5 ] call void @_ZNSt6localeD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %loc.sink) #26 resume { ptr, i32 } %.pn18.pn.pn.pn.pn } @@ -88641,8 +88641,7 @@ entry: if.then.i.i: ; preds = %entry call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(80) %specs.i.i, ptr noundef nonnull align 8 dereferenceable(80) %f, i64 80, i1 false) - %width_ref6.i.i = getelementptr inbounds i8, ptr %specs.i.i, i64 32 - call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextISt20back_insert_iteratorINS1_6bufferIwEEEwEEEEvRiNS1_7arg_refINT0_9char_typeEEERSC_(ptr noundef nonnull align 4 dereferenceable(4) %specs.i.i, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref.274") align 8 %width_ref6.i.i, ptr noundef nonnull align 8 dereferenceable(32) %ctx) + call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextISt20back_insert_iteratorINS1_6bufferIwEEEwEEEEvRiNS1_7arg_refINT0_9char_typeEEERSC_(ptr noundef nonnull align 4 dereferenceable(4) %specs.i.i, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref.274") align 8 %width_ref.i.i.i, ptr noundef nonnull align 8 dereferenceable(32) %ctx) %precision.i.i = getelementptr inbounds i8, ptr %specs.i.i, i64 4 %precision_ref8.i.i = getelementptr inbounds i8, ptr %specs.i.i, i64 56 call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_17precision_checkerENS0_20basic_format_contextISt20back_insert_iteratorINS1_6bufferIwEEEwEEEEvRiNS1_7arg_refINT0_9char_typeEEERSC_(ptr noundef nonnull align 4 dereferenceable(4) %precision.i.i, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref.274") align 8 %precision_ref8.i.i, ptr noundef nonnull align 8 dereferenceable(32) %ctx) @@ -89537,96 +89536,96 @@ if.then: ; preds = %entry if.then.i80: ; preds = %if.then call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(80) %specs.i47, ptr noundef nonnull align 8 dereferenceable(80) %this, i64 80, i1 false) - %width_ref6.i81 = getelementptr inbounds i8, ptr %specs.i47, i64 32 - call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextISt20back_insert_iteratorINS1_6bufferIwEEEwEEEEvRiNS1_7arg_refINT0_9char_typeEEERSC_(ptr noundef nonnull align 4 dereferenceable(4) %specs.i47, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref.274") align 8 %width_ref6.i81, ptr noundef nonnull align 8 dereferenceable(32) %ctx) + %4 = getelementptr inbounds i8, ptr %this, i64 32 + call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextISt20back_insert_iteratorINS1_6bufferIwEEEwEEEEvRiNS1_7arg_refINT0_9char_typeEEERSC_(ptr noundef nonnull align 4 dereferenceable(4) %specs.i47, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref.274") align 8 %4, ptr noundef nonnull align 8 dereferenceable(32) %ctx) %precision.i82 = getelementptr inbounds i8, ptr %specs.i47, i64 4 %precision_ref8.i83 = getelementptr inbounds i8, ptr %specs.i47, i64 56 call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_17precision_checkerENS0_20basic_format_contextISt20back_insert_iteratorINS1_6bufferIwEEEwEEEEvRiNS1_7arg_refINT0_9char_typeEEERSC_(ptr noundef nonnull align 4 dereferenceable(4) %precision.i82, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref.274") align 8 %precision_ref8.i83, ptr noundef nonnull align 8 dereferenceable(32) %ctx) %retval.sroa.0.0.copyload.i42 = load ptr, ptr %ctx, align 8 - %4 = load i32, ptr %0, align 4 + %5 = load i32, ptr %0, align 4 %loc_.i = getelementptr inbounds i8, ptr %ctx, i64 24 %retval.sroa.0.0.copyload.i43 = load ptr, ptr %loc_.i, align 8 %localized.i40.i86 = getelementptr inbounds i8, ptr %specs.i47, i64 9 %bf.load.i41.i87 = load i16, ptr %localized.i40.i86, align 1 - %5 = and i16 %bf.load.i41.i87, 256 - %bf.cast.i44.i90.not = icmp eq i16 %5, 0 + %6 = and i16 %bf.load.i41.i87, 256 + %bf.cast.i44.i90.not = icmp eq i16 %6, 0 br i1 %bf.cast.i44.i90.not, label %if.end.i45.i91, label %land.lhs.true.i53.i100 land.lhs.true.i53.i100: ; preds = %if.then.i80 %type_.i.i.i = getelementptr inbounds i8, ptr %agg.tmp2.i35.i27, i64 16 store i32 1, ptr %type_.i.i.i, align 16, !alias.scope !1353 - %retval.i.sroa.0.0.insert.ext.i.i = zext i32 %4 to i64 + %retval.i.sroa.0.0.insert.ext.i.i = zext i32 %5 to i64 store i64 %retval.i.sroa.0.0.insert.ext.i.i, ptr %agg.tmp2.i35.i27, align 16, !alias.scope !1353 %call.i54.i101 = call noundef zeroext i1 @_ZN3fmt3v106detail9write_locESt20back_insert_iteratorINS1_6bufferIwEEENS0_9loc_valueERKNS0_12format_specsIwEENS1_10locale_refE(ptr %retval.sroa.0.0.copyload.i42, ptr noundef nonnull byval(%"class.fmt::v10::loc_value") align 16 %agg.tmp2.i35.i27, ptr noundef nonnull align 4 dereferenceable(32) %specs.i47, ptr %retval.sroa.0.0.copyload.i43) br i1 %call.i54.i101, label %_ZNK3fmt3v109formatterIiwvE6formatINS0_20basic_format_contextISt20back_insert_iteratorINS0_6detail6bufferIwEEEwEEEEDTcldtfp0_3outEERKiRT_.exit103, label %if.end.i45.i91 if.end.i45.i91: ; preds = %land.lhs.true.i53.i100, %if.then.i80 - %cmp.i.i = icmp slt i32 %4, 0 + %cmp.i.i = icmp slt i32 %5, 0 br i1 %cmp.i.i, label %if.then.i45, label %if.else.i if.then.i45: ; preds = %if.end.i45.i91 - %sub.i = sub i32 0, %4 + %sub.i = sub i32 0, %5 br label %_ZN3fmt3v106detail18make_write_int_argIiEENS1_13write_int_argINSt11conditionalIXaalecl8num_bitsIT_EELi32EntLi0EEjNS4_IXlecl8num_bitsIS5_EELi64EEmoE4typeEE4typeEEES5_NS0_4sign4typeE.exit if.else.i: ; preds = %if.end.i45.i91 %bf.load8.i47.i93 = load i16, ptr %localized.i40.i86, align 1 - %6 = lshr i16 %bf.load8.i47.i93, 4 - %7 = and i16 %6, 7 - %bf.cast11.i50.i96 = zext nneg i16 %7 to i64 + %7 = lshr i16 %bf.load8.i47.i93, 4 + %8 = and i16 %7, 7 + %bf.cast11.i50.i96 = zext nneg i16 %8 to i64 %arrayidx.i = getelementptr inbounds [4 x i32], ptr @__const._ZN3fmt3v106detail18make_write_int_argIoEENS1_13write_int_argINSt11conditionalIXaalecl8num_bitsIT_EELi32EntLi0EEjNS4_IXlecl8num_bitsIS5_EELi64EEmoE4typeEE4typeEEES5_NS0_4sign4typeE.prefixes, i64 0, i64 %bf.cast11.i50.i96 - %8 = load i32, ptr %arrayidx.i, align 4 - %9 = zext i32 %8 to i64 - %10 = shl nuw i64 %9, 32 + %9 = load i32, ptr %arrayidx.i, align 4 + %10 = zext i32 %9 to i64 + %11 = shl nuw i64 %10, 32 br label %_ZN3fmt3v106detail18make_write_int_argIiEENS1_13write_int_argINSt11conditionalIXaalecl8num_bitsIT_EELi32EntLi0EEjNS4_IXlecl8num_bitsIS5_EELi64EEmoE4typeEE4typeEEES5_NS0_4sign4typeE.exit _ZN3fmt3v106detail18make_write_int_argIiEENS1_13write_int_argINSt11conditionalIXaalecl8num_bitsIT_EELi32EntLi0EEjNS4_IXlecl8num_bitsIS5_EELi64EEmoE4typeEE4typeEEES5_NS0_4sign4typeE.exit: ; preds = %if.then.i45, %if.else.i - %prefix.0.i = phi i64 [ 72057787311456256, %if.then.i45 ], [ %10, %if.else.i ] - %abs_value.0.i = phi i32 [ %sub.i, %if.then.i45 ], [ %4, %if.else.i ] + %prefix.0.i = phi i64 [ 72057787311456256, %if.then.i45 ], [ %11, %if.else.i ] + %abs_value.0.i = phi i32 [ %sub.i, %if.then.i45 ], [ %5, %if.else.i ] %retval.sroa.0.0.insert.ext.i = zext i32 %abs_value.0.i to i64 %retval.sroa.0.0.insert.insert.i = or disjoint i64 %prefix.0.i, %retval.sroa.0.0.insert.ext.i %call16.i52.i98 = call ptr @_ZN3fmt3v106detail18write_int_noinlineIwSt20back_insert_iteratorINS1_6bufferIwEEEjEET0_S7_NS1_13write_int_argIT1_EERKNS0_12format_specsIT_EENS1_10locale_refE(ptr %retval.sroa.0.0.copyload.i42, i64 %retval.sroa.0.0.insert.insert.i, ptr noundef nonnull align 4 dereferenceable(32) %specs.i47, ptr %retval.sroa.0.0.copyload.i43) br label %_ZNK3fmt3v109formatterIiwvE6formatINS0_20basic_format_contextISt20back_insert_iteratorINS0_6detail6bufferIwEEEwEEEEDTcldtfp0_3outEERKiRT_.exit103 if.end.i60: ; preds = %if.then - %11 = load i32, ptr %0, align 4 + %12 = load i32, ptr %0, align 4 %loc_.i47 = getelementptr inbounds i8, ptr %ctx, i64 24 %retval.sroa.0.0.copyload.i48 = load ptr, ptr %loc_.i47, align 8 %localized.i.i63 = getelementptr inbounds i8, ptr %this, i64 9 %bf.load.i.i64 = load i16, ptr %localized.i.i63, align 1 - %12 = and i16 %bf.load.i.i64, 256 - %bf.cast.i.i67.not = icmp eq i16 %12, 0 + %13 = and i16 %bf.load.i.i64, 256 + %bf.cast.i.i67.not = icmp eq i16 %13, 0 br i1 %bf.cast.i.i67.not, label %if.end.i.i68, label %land.lhs.true.i.i77 land.lhs.true.i.i77: ; preds = %if.end.i60 %type_.i.i.i49 = getelementptr inbounds i8, ptr %agg.tmp2.i.i38, i64 16 store i32 1, ptr %type_.i.i.i49, align 16, !alias.scope !1356 - %retval.i.sroa.0.0.insert.ext.i.i50 = zext i32 %11 to i64 + %retval.i.sroa.0.0.insert.ext.i.i50 = zext i32 %12 to i64 store i64 %retval.i.sroa.0.0.insert.ext.i.i50, ptr %agg.tmp2.i.i38, align 16, !alias.scope !1356 %call.i.i78 = tail call noundef zeroext i1 @_ZN3fmt3v106detail9write_locESt20back_insert_iteratorINS1_6bufferIwEEENS0_9loc_valueERKNS0_12format_specsIwEENS1_10locale_refE(ptr %retval.sroa.0.0.copyload.i, ptr noundef nonnull byval(%"class.fmt::v10::loc_value") align 16 %agg.tmp2.i.i38, ptr noundef nonnull align 4 dereferenceable(32) %this, ptr %retval.sroa.0.0.copyload.i48) br i1 %call.i.i78, label %_ZNK3fmt3v109formatterIiwvE6formatINS0_20basic_format_contextISt20back_insert_iteratorINS0_6detail6bufferIwEEEwEEEEDTcldtfp0_3outEERKiRT_.exit103, label %if.end.i.i68 if.end.i.i68: ; preds = %land.lhs.true.i.i77, %if.end.i60 - %cmp.i.i51 = icmp slt i32 %11, 0 + %cmp.i.i51 = icmp slt i32 %12, 0 br i1 %cmp.i.i51, label %if.then.i60, label %if.else.i52 if.then.i60: ; preds = %if.end.i.i68 - %sub.i61 = sub i32 0, %11 + %sub.i61 = sub i32 0, %12 br label %_ZN3fmt3v106detail18make_write_int_argIiEENS1_13write_int_argINSt11conditionalIXaalecl8num_bitsIT_EELi32EntLi0EEjNS4_IXlecl8num_bitsIS5_EELi64EEmoE4typeEE4typeEEES5_NS0_4sign4typeE.exit62 if.else.i52: ; preds = %if.end.i.i68 %bf.load8.i.i70 = load i16, ptr %localized.i.i63, align 1 - %13 = lshr i16 %bf.load8.i.i70, 4 - %14 = and i16 %13, 7 - %bf.cast11.i.i73 = zext nneg i16 %14 to i64 + %14 = lshr i16 %bf.load8.i.i70, 4 + %15 = and i16 %14, 7 + %bf.cast11.i.i73 = zext nneg i16 %15 to i64 %arrayidx.i54 = getelementptr inbounds [4 x i32], ptr @__const._ZN3fmt3v106detail18make_write_int_argIoEENS1_13write_int_argINSt11conditionalIXaalecl8num_bitsIT_EELi32EntLi0EEjNS4_IXlecl8num_bitsIS5_EELi64EEmoE4typeEE4typeEEES5_NS0_4sign4typeE.prefixes, i64 0, i64 %bf.cast11.i.i73 - %15 = load i32, ptr %arrayidx.i54, align 4 - %16 = zext i32 %15 to i64 - %17 = shl nuw i64 %16, 32 + %16 = load i32, ptr %arrayidx.i54, align 4 + %17 = zext i32 %16 to i64 + %18 = shl nuw i64 %17, 32 br label %_ZN3fmt3v106detail18make_write_int_argIiEENS1_13write_int_argINSt11conditionalIXaalecl8num_bitsIT_EELi32EntLi0EEjNS4_IXlecl8num_bitsIS5_EELi64EEmoE4typeEE4typeEEES5_NS0_4sign4typeE.exit62 _ZN3fmt3v106detail18make_write_int_argIiEENS1_13write_int_argINSt11conditionalIXaalecl8num_bitsIT_EELi32EntLi0EEjNS4_IXlecl8num_bitsIS5_EELi64EEmoE4typeEE4typeEEES5_NS0_4sign4typeE.exit62: ; preds = %if.then.i60, %if.else.i52 - %prefix.0.i56 = phi i64 [ 72057787311456256, %if.then.i60 ], [ %17, %if.else.i52 ] - %abs_value.0.i57 = phi i32 [ %sub.i61, %if.then.i60 ], [ %11, %if.else.i52 ] + %prefix.0.i56 = phi i64 [ 72057787311456256, %if.then.i60 ], [ %18, %if.else.i52 ] + %abs_value.0.i57 = phi i32 [ %sub.i61, %if.then.i60 ], [ %12, %if.else.i52 ] %retval.sroa.0.0.insert.ext.i58 = zext i32 %abs_value.0.i57 to i64 %retval.sroa.0.0.insert.insert.i59 = or disjoint i64 %prefix.0.i56, %retval.sroa.0.0.insert.ext.i58 %call16.i.i75 = tail call ptr @_ZN3fmt3v106detail18write_int_noinlineIwSt20back_insert_iteratorINS1_6bufferIwEEEjEET0_S7_NS1_13write_int_argIT1_EERKNS0_12format_specsIT_EENS1_10locale_refE(ptr %retval.sroa.0.0.copyload.i, i64 %retval.sroa.0.0.insert.insert.i59, ptr noundef nonnull align 4 dereferenceable(32) %this, ptr %retval.sroa.0.0.copyload.i48) @@ -89635,14 +89634,13 @@ _ZN3fmt3v106detail18make_write_int_argIiEENS1_13write_int_argINSt11conditionalIX _ZNK3fmt3v109formatterIiwvE6formatINS0_20basic_format_contextISt20back_insert_iteratorINS0_6detail6bufferIwEEEwEEEEDTcldtfp0_3outEERKiRT_.exit103: ; preds = %_ZN3fmt3v106detail18make_write_int_argIiEENS1_13write_int_argINSt11conditionalIXaalecl8num_bitsIT_EELi32EntLi0EEjNS4_IXlecl8num_bitsIS5_EELi64EEmoE4typeEE4typeEEES5_NS0_4sign4typeE.exit62, %land.lhs.true.i.i77, %_ZN3fmt3v106detail18make_write_int_argIiEENS1_13write_int_argINSt11conditionalIXaalecl8num_bitsIT_EELi32EntLi0EEjNS4_IXlecl8num_bitsIS5_EELi64EEmoE4typeEE4typeEEES5_NS0_4sign4typeE.exit, %land.lhs.true.i53.i100 %retval.i43.sroa.0.0 = phi ptr [ %call16.i52.i98, %_ZN3fmt3v106detail18make_write_int_argIiEENS1_13write_int_argINSt11conditionalIXaalecl8num_bitsIT_EELi32EntLi0EEjNS4_IXlecl8num_bitsIS5_EELi64EEmoE4typeEE4typeEEES5_NS0_4sign4typeE.exit ], [ %retval.sroa.0.0.copyload.i42, %land.lhs.true.i53.i100 ], [ %call16.i.i75, %_ZN3fmt3v106detail18make_write_int_argIiEENS1_13write_int_argINSt11conditionalIXaalecl8num_bitsIT_EELi32EntLi0EEjNS4_IXlecl8num_bitsIS5_EELi64EEmoE4typeEE4typeEEES5_NS0_4sign4typeE.exit62 ], [ %retval.sroa.0.0.copyload.i, %land.lhs.true.i.i77 ] %it.097 = getelementptr inbounds i8, ptr %0, i64 4 - %18 = load ptr, ptr %end, align 8 - %cmp5.not98 = icmp eq ptr %it.097, %18 + %19 = load ptr, ptr %end, align 8 + %cmp5.not98 = icmp eq ptr %it.097, %19 br i1 %cmp5.not98, label %if.end, label %while.body.lr.ph while.body.lr.ph: ; preds = %_ZNK3fmt3v109formatterIiwvE6formatINS0_20basic_format_contextISt20back_insert_iteratorINS0_6detail6bufferIwEEEwEEEEDTcldtfp0_3outEERKiRT_.exit103 %sep = getelementptr inbounds i8, ptr %value, i64 16 %size_.i = getelementptr inbounds i8, ptr %value, i64 24 - %width_ref6.i = getelementptr inbounds i8, ptr %specs.i, i64 32 %precision.i = getelementptr inbounds i8, ptr %specs.i, i64 4 %precision_ref8.i = getelementptr inbounds i8, ptr %specs.i, i64 56 %loc_.i64 = getelementptr inbounds i8, ptr %ctx, i64 24 @@ -89650,15 +89648,16 @@ while.body.lr.ph: ; preds = %_ZNK3fmt3v109format %type_.i.i.i66 = getelementptr inbounds i8, ptr %agg.tmp2.i35.i, i64 16 %localized.i.i = getelementptr inbounds i8, ptr %this, i64 9 %type_.i.i.i83 = getelementptr inbounds i8, ptr %agg.tmp2.i.i, i64 16 + %20 = getelementptr inbounds i8, ptr %this, i64 32 br label %while.body while.body: ; preds = %while.body.lr.ph, %_ZNK3fmt3v109formatterIiwvE6formatINS0_20basic_format_contextISt20back_insert_iteratorINS0_6detail6bufferIwEEEwEEEEDTcldtfp0_3outEERKiRT_.exit %it.0100 = phi ptr [ %it.097, %while.body.lr.ph ], [ %it.0, %_ZNK3fmt3v109formatterIiwvE6formatINS0_20basic_format_contextISt20back_insert_iteratorINS0_6detail6bufferIwEEEwEEEEDTcldtfp0_3outEERKiRT_.exit ] %retval.sroa.0.099 = phi ptr [ %retval.i43.sroa.0.0, %while.body.lr.ph ], [ %retval.i.sroa.0.0, %_ZNK3fmt3v109formatterIiwvE6formatINS0_20basic_format_contextISt20back_insert_iteratorINS0_6detail6bufferIwEEEwEEEEDTcldtfp0_3outEERKiRT_.exit ] - %19 = load ptr, ptr %sep, align 8 - %20 = load i64, ptr %size_.i, align 8 - %add.ptr.i = getelementptr inbounds i32, ptr %19, i64 %20 - %cmp.not2.i = icmp eq i64 %20, 0 + %21 = load ptr, ptr %sep, align 8 + %22 = load i64, ptr %size_.i, align 8 + %add.ptr.i = getelementptr inbounds i32, ptr %21, i64 %22 + %cmp.not2.i = icmp eq i64 %22, 0 br i1 %cmp.not2.i, label %_ZN3fmt3v106detail8copy_strIwPKwSt20back_insert_iteratorINS1_6bufferIwEEEEET1_T0_SA_S9_.exit, label %while.body.lr.ph.i while.body.lr.ph.i: ; preds = %while.body @@ -89668,82 +89667,82 @@ while.body.lr.ph.i: ; preds = %while.body br label %while.body.i while.body.i: ; preds = %_ZNSt20back_insert_iteratorIN3fmt3v106detail6bufferIwEEEaSEOw.exit.i, %while.body.lr.ph.i - %begin.addr.03.i = phi ptr [ %19, %while.body.lr.ph.i ], [ %incdec.ptr.i, %_ZNSt20back_insert_iteratorIN3fmt3v106detail6bufferIwEEEaSEOw.exit.i ] + %begin.addr.03.i = phi ptr [ %21, %while.body.lr.ph.i ], [ %incdec.ptr.i, %_ZNSt20back_insert_iteratorIN3fmt3v106detail6bufferIwEEEaSEOw.exit.i ] %incdec.ptr.i = getelementptr inbounds i8, ptr %begin.addr.03.i, i64 4 - %21 = load i32, ptr %begin.addr.03.i, align 4 - %22 = load i64, ptr %size_.i.i.i, align 8 - %add.i.i.i = add i64 %22, 1 - %23 = load i64, ptr %capacity_.i.i.i.i, align 8 - %cmp.i.i.i.i = icmp ult i64 %23, %add.i.i.i + %23 = load i32, ptr %begin.addr.03.i, align 4 + %24 = load i64, ptr %size_.i.i.i, align 8 + %add.i.i.i = add i64 %24, 1 + %25 = load i64, ptr %capacity_.i.i.i.i, align 8 + %cmp.i.i.i.i = icmp ult i64 %25, %add.i.i.i br i1 %cmp.i.i.i.i, label %if.then.i.i.i.i, label %_ZNSt20back_insert_iteratorIN3fmt3v106detail6bufferIwEEEaSEOw.exit.i if.then.i.i.i.i: ; preds = %while.body.i %vtable.i.i.i.i = load ptr, ptr %retval.sroa.0.099, align 8 - %24 = load ptr, ptr %vtable.i.i.i.i, align 8 - call void %24(ptr noundef nonnull align 8 dereferenceable(32) %retval.sroa.0.099, i64 noundef %add.i.i.i) + %26 = load ptr, ptr %vtable.i.i.i.i, align 8 + call void %26(ptr noundef nonnull align 8 dereferenceable(32) %retval.sroa.0.099, i64 noundef %add.i.i.i) %.pre.i.i.i = load i64, ptr %size_.i.i.i, align 8 %.pre1.i.i.i = add i64 %.pre.i.i.i, 1 br label %_ZNSt20back_insert_iteratorIN3fmt3v106detail6bufferIwEEEaSEOw.exit.i _ZNSt20back_insert_iteratorIN3fmt3v106detail6bufferIwEEEaSEOw.exit.i: ; preds = %if.then.i.i.i.i, %while.body.i %inc.pre-phi.i.i.i = phi i64 [ %add.i.i.i, %while.body.i ], [ %.pre1.i.i.i, %if.then.i.i.i.i ] - %25 = phi i64 [ %22, %while.body.i ], [ %.pre.i.i.i, %if.then.i.i.i.i ] - %26 = load ptr, ptr %ptr_.i.i.i, align 8 + %27 = phi i64 [ %24, %while.body.i ], [ %.pre.i.i.i, %if.then.i.i.i.i ] + %28 = load ptr, ptr %ptr_.i.i.i, align 8 store i64 %inc.pre-phi.i.i.i, ptr %size_.i.i.i, align 8 - %arrayidx.i.i.i = getelementptr inbounds i32, ptr %26, i64 %25 - store i32 %21, ptr %arrayidx.i.i.i, align 4 + %arrayidx.i.i.i = getelementptr inbounds i32, ptr %28, i64 %27 + store i32 %23, ptr %arrayidx.i.i.i, align 4 %cmp.not.i = icmp eq ptr %incdec.ptr.i, %add.ptr.i br i1 %cmp.not.i, label %_ZN3fmt3v106detail8copy_strIwPKwSt20back_insert_iteratorINS1_6bufferIwEEEEET1_T0_SA_S9_.exit, label %while.body.i, !llvm.loop !773 _ZN3fmt3v106detail8copy_strIwPKwSt20back_insert_iteratorINS1_6bufferIwEEEEET1_T0_SA_S9_.exit: ; preds = %_ZNSt20back_insert_iteratorIN3fmt3v106detail6bufferIwEEEaSEOw.exit.i, %while.body - %27 = load i32, ptr %width_ref.i55, align 8 - %cmp.i.not = icmp eq i32 %27, 0 - %28 = load i32, ptr %precision_ref.i58, align 8 - %cmp4.i.not = icmp eq i32 %28, 0 + %29 = load i32, ptr %width_ref.i55, align 8 + %cmp.i.not = icmp eq i32 %29, 0 + %30 = load i32, ptr %precision_ref.i58, align 8 + %cmp4.i.not = icmp eq i32 %30, 0 %or.cond41 = select i1 %cmp.i.not, i1 %cmp4.i.not, i1 false br i1 %or.cond41, label %if.end.i, label %if.then.i if.then.i: ; preds = %_ZN3fmt3v106detail8copy_strIwPKwSt20back_insert_iteratorINS1_6bufferIwEEEEET1_T0_SA_S9_.exit call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(80) %specs.i, ptr noundef nonnull align 8 dereferenceable(80) %this, i64 80, i1 false) - call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextISt20back_insert_iteratorINS1_6bufferIwEEEwEEEEvRiNS1_7arg_refINT0_9char_typeEEERSC_(ptr noundef nonnull align 4 dereferenceable(4) %specs.i, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref.274") align 8 %width_ref6.i, ptr noundef nonnull align 8 dereferenceable(32) %ctx) + call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextISt20back_insert_iteratorINS1_6bufferIwEEEwEEEEvRiNS1_7arg_refINT0_9char_typeEEERSC_(ptr noundef nonnull align 4 dereferenceable(4) %specs.i, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref.274") align 8 %20, ptr noundef nonnull align 8 dereferenceable(32) %ctx) call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_17precision_checkerENS0_20basic_format_contextISt20back_insert_iteratorINS1_6bufferIwEEEwEEEEvRiNS1_7arg_refINT0_9char_typeEEERSC_(ptr noundef nonnull align 4 dereferenceable(4) %precision.i, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref.274") align 8 %precision_ref8.i, ptr noundef nonnull align 8 dereferenceable(32) %ctx) %retval.sroa.0.0.copyload.i63 = load ptr, ptr %ctx, align 8 - %29 = load i32, ptr %it.0100, align 4 + %31 = load i32, ptr %it.0100, align 4 %retval.sroa.0.0.copyload.i65 = load ptr, ptr %loc_.i64, align 8 %bf.load.i41.i = load i16, ptr %localized.i40.i, align 1 - %30 = and i16 %bf.load.i41.i, 256 - %bf.cast.i44.i.not = icmp eq i16 %30, 0 + %32 = and i16 %bf.load.i41.i, 256 + %bf.cast.i44.i.not = icmp eq i16 %32, 0 br i1 %bf.cast.i44.i.not, label %if.end.i45.i, label %land.lhs.true.i53.i land.lhs.true.i53.i: ; preds = %if.then.i store i32 1, ptr %type_.i.i.i66, align 16, !alias.scope !1359 - %retval.i.sroa.0.0.insert.ext.i.i67 = zext i32 %29 to i64 + %retval.i.sroa.0.0.insert.ext.i.i67 = zext i32 %31 to i64 store i64 %retval.i.sroa.0.0.insert.ext.i.i67, ptr %agg.tmp2.i35.i, align 16, !alias.scope !1359 %call.i54.i = call noundef zeroext i1 @_ZN3fmt3v106detail9write_locESt20back_insert_iteratorINS1_6bufferIwEEENS0_9loc_valueERKNS0_12format_specsIwEENS1_10locale_refE(ptr %retval.sroa.0.0.copyload.i63, ptr noundef nonnull byval(%"class.fmt::v10::loc_value") align 16 %agg.tmp2.i35.i, ptr noundef nonnull align 4 dereferenceable(32) %specs.i, ptr %retval.sroa.0.0.copyload.i65) br i1 %call.i54.i, label %_ZNK3fmt3v109formatterIiwvE6formatINS0_20basic_format_contextISt20back_insert_iteratorINS0_6detail6bufferIwEEEwEEEEDTcldtfp0_3outEERKiRT_.exit, label %if.end.i45.i if.end.i45.i: ; preds = %land.lhs.true.i53.i, %if.then.i - %cmp.i.i68 = icmp slt i32 %29, 0 + %cmp.i.i68 = icmp slt i32 %31, 0 br i1 %cmp.i.i68, label %if.then.i77, label %if.else.i69 if.then.i77: ; preds = %if.end.i45.i - %sub.i78 = sub i32 0, %29 + %sub.i78 = sub i32 0, %31 br label %_ZN3fmt3v106detail18make_write_int_argIiEENS1_13write_int_argINSt11conditionalIXaalecl8num_bitsIT_EELi32EntLi0EEjNS4_IXlecl8num_bitsIS5_EELi64EEmoE4typeEE4typeEEES5_NS0_4sign4typeE.exit79 if.else.i69: ; preds = %if.end.i45.i %bf.load8.i47.i = load i16, ptr %localized.i40.i, align 1 - %31 = lshr i16 %bf.load8.i47.i, 4 - %32 = and i16 %31, 7 - %bf.cast11.i50.i = zext nneg i16 %32 to i64 + %33 = lshr i16 %bf.load8.i47.i, 4 + %34 = and i16 %33, 7 + %bf.cast11.i50.i = zext nneg i16 %34 to i64 %arrayidx.i71 = getelementptr inbounds [4 x i32], ptr @__const._ZN3fmt3v106detail18make_write_int_argIoEENS1_13write_int_argINSt11conditionalIXaalecl8num_bitsIT_EELi32EntLi0EEjNS4_IXlecl8num_bitsIS5_EELi64EEmoE4typeEE4typeEEES5_NS0_4sign4typeE.prefixes, i64 0, i64 %bf.cast11.i50.i - %33 = load i32, ptr %arrayidx.i71, align 4 - %34 = zext i32 %33 to i64 - %35 = shl nuw i64 %34, 32 + %35 = load i32, ptr %arrayidx.i71, align 4 + %36 = zext i32 %35 to i64 + %37 = shl nuw i64 %36, 32 br label %_ZN3fmt3v106detail18make_write_int_argIiEENS1_13write_int_argINSt11conditionalIXaalecl8num_bitsIT_EELi32EntLi0EEjNS4_IXlecl8num_bitsIS5_EELi64EEmoE4typeEE4typeEEES5_NS0_4sign4typeE.exit79 _ZN3fmt3v106detail18make_write_int_argIiEENS1_13write_int_argINSt11conditionalIXaalecl8num_bitsIT_EELi32EntLi0EEjNS4_IXlecl8num_bitsIS5_EELi64EEmoE4typeEE4typeEEES5_NS0_4sign4typeE.exit79: ; preds = %if.then.i77, %if.else.i69 - %prefix.0.i73 = phi i64 [ 72057787311456256, %if.then.i77 ], [ %35, %if.else.i69 ] - %abs_value.0.i74 = phi i32 [ %sub.i78, %if.then.i77 ], [ %29, %if.else.i69 ] + %prefix.0.i73 = phi i64 [ 72057787311456256, %if.then.i77 ], [ %37, %if.else.i69 ] + %abs_value.0.i74 = phi i32 [ %sub.i78, %if.then.i77 ], [ %31, %if.else.i69 ] %retval.sroa.0.0.insert.ext.i75 = zext i32 %abs_value.0.i74 to i64 %retval.sroa.0.0.insert.insert.i76 = or disjoint i64 %prefix.0.i73, %retval.sroa.0.0.insert.ext.i75 %call16.i52.i = call ptr @_ZN3fmt3v106detail18write_int_noinlineIwSt20back_insert_iteratorINS1_6bufferIwEEEjEET0_S7_NS1_13write_int_argIT1_EERKNS0_12format_specsIT_EENS1_10locale_refE(ptr %retval.sroa.0.0.copyload.i63, i64 %retval.sroa.0.0.insert.insert.i76, ptr noundef nonnull align 4 dereferenceable(32) %specs.i, ptr %retval.sroa.0.0.copyload.i65) @@ -89751,42 +89750,42 @@ _ZN3fmt3v106detail18make_write_int_argIiEENS1_13write_int_argINSt11conditionalIX if.end.i: ; preds = %_ZN3fmt3v106detail8copy_strIwPKwSt20back_insert_iteratorINS1_6bufferIwEEEEET1_T0_SA_S9_.exit %retval.sroa.0.0.copyload.i80 = load ptr, ptr %ctx, align 8 - %36 = load i32, ptr %it.0100, align 4 + %38 = load i32, ptr %it.0100, align 4 %retval.sroa.0.0.copyload.i82 = load ptr, ptr %loc_.i64, align 8 %bf.load.i.i = load i16, ptr %localized.i.i, align 1 - %37 = and i16 %bf.load.i.i, 256 - %bf.cast.i.i.not = icmp eq i16 %37, 0 + %39 = and i16 %bf.load.i.i, 256 + %bf.cast.i.i.not = icmp eq i16 %39, 0 br i1 %bf.cast.i.i.not, label %if.end.i.i, label %land.lhs.true.i.i land.lhs.true.i.i: ; preds = %if.end.i store i32 1, ptr %type_.i.i.i83, align 16, !alias.scope !1362 - %retval.i.sroa.0.0.insert.ext.i.i84 = zext i32 %36 to i64 + %retval.i.sroa.0.0.insert.ext.i.i84 = zext i32 %38 to i64 store i64 %retval.i.sroa.0.0.insert.ext.i.i84, ptr %agg.tmp2.i.i, align 16, !alias.scope !1362 %call.i.i = call noundef zeroext i1 @_ZN3fmt3v106detail9write_locESt20back_insert_iteratorINS1_6bufferIwEEENS0_9loc_valueERKNS0_12format_specsIwEENS1_10locale_refE(ptr %retval.sroa.0.0.copyload.i80, ptr noundef nonnull byval(%"class.fmt::v10::loc_value") align 16 %agg.tmp2.i.i, ptr noundef nonnull align 4 dereferenceable(32) %this, ptr %retval.sroa.0.0.copyload.i82) br i1 %call.i.i, label %_ZNK3fmt3v109formatterIiwvE6formatINS0_20basic_format_contextISt20back_insert_iteratorINS0_6detail6bufferIwEEEwEEEEDTcldtfp0_3outEERKiRT_.exit, label %if.end.i.i if.end.i.i: ; preds = %land.lhs.true.i.i, %if.end.i - %cmp.i.i85 = icmp slt i32 %36, 0 + %cmp.i.i85 = icmp slt i32 %38, 0 br i1 %cmp.i.i85, label %if.then.i94, label %if.else.i86 if.then.i94: ; preds = %if.end.i.i - %sub.i95 = sub i32 0, %36 + %sub.i95 = sub i32 0, %38 br label %_ZN3fmt3v106detail18make_write_int_argIiEENS1_13write_int_argINSt11conditionalIXaalecl8num_bitsIT_EELi32EntLi0EEjNS4_IXlecl8num_bitsIS5_EELi64EEmoE4typeEE4typeEEES5_NS0_4sign4typeE.exit96 if.else.i86: ; preds = %if.end.i.i %bf.load8.i.i = load i16, ptr %localized.i.i, align 1 - %38 = lshr i16 %bf.load8.i.i, 4 - %39 = and i16 %38, 7 - %bf.cast11.i.i = zext nneg i16 %39 to i64 + %40 = lshr i16 %bf.load8.i.i, 4 + %41 = and i16 %40, 7 + %bf.cast11.i.i = zext nneg i16 %41 to i64 %arrayidx.i88 = getelementptr inbounds [4 x i32], ptr @__const._ZN3fmt3v106detail18make_write_int_argIoEENS1_13write_int_argINSt11conditionalIXaalecl8num_bitsIT_EELi32EntLi0EEjNS4_IXlecl8num_bitsIS5_EELi64EEmoE4typeEE4typeEEES5_NS0_4sign4typeE.prefixes, i64 0, i64 %bf.cast11.i.i - %40 = load i32, ptr %arrayidx.i88, align 4 - %41 = zext i32 %40 to i64 - %42 = shl nuw i64 %41, 32 + %42 = load i32, ptr %arrayidx.i88, align 4 + %43 = zext i32 %42 to i64 + %44 = shl nuw i64 %43, 32 br label %_ZN3fmt3v106detail18make_write_int_argIiEENS1_13write_int_argINSt11conditionalIXaalecl8num_bitsIT_EELi32EntLi0EEjNS4_IXlecl8num_bitsIS5_EELi64EEmoE4typeEE4typeEEES5_NS0_4sign4typeE.exit96 _ZN3fmt3v106detail18make_write_int_argIiEENS1_13write_int_argINSt11conditionalIXaalecl8num_bitsIT_EELi32EntLi0EEjNS4_IXlecl8num_bitsIS5_EELi64EEmoE4typeEE4typeEEES5_NS0_4sign4typeE.exit96: ; preds = %if.then.i94, %if.else.i86 - %prefix.0.i90 = phi i64 [ 72057787311456256, %if.then.i94 ], [ %42, %if.else.i86 ] - %abs_value.0.i91 = phi i32 [ %sub.i95, %if.then.i94 ], [ %36, %if.else.i86 ] + %prefix.0.i90 = phi i64 [ 72057787311456256, %if.then.i94 ], [ %44, %if.else.i86 ] + %abs_value.0.i91 = phi i32 [ %sub.i95, %if.then.i94 ], [ %38, %if.else.i86 ] %retval.sroa.0.0.insert.ext.i92 = zext i32 %abs_value.0.i91 to i64 %retval.sroa.0.0.insert.insert.i93 = or disjoint i64 %prefix.0.i90, %retval.sroa.0.0.insert.ext.i92 %call16.i.i = call ptr @_ZN3fmt3v106detail18write_int_noinlineIwSt20back_insert_iteratorINS1_6bufferIwEEEjEET0_S7_NS1_13write_int_argIT1_EERKNS0_12format_specsIT_EENS1_10locale_refE(ptr %retval.sroa.0.0.copyload.i80, i64 %retval.sroa.0.0.insert.insert.i93, ptr noundef nonnull align 4 dereferenceable(32) %this, ptr %retval.sroa.0.0.copyload.i82) @@ -89795,8 +89794,8 @@ _ZN3fmt3v106detail18make_write_int_argIiEENS1_13write_int_argINSt11conditionalIX _ZNK3fmt3v109formatterIiwvE6formatINS0_20basic_format_contextISt20back_insert_iteratorINS0_6detail6bufferIwEEEwEEEEDTcldtfp0_3outEERKiRT_.exit: ; preds = %_ZN3fmt3v106detail18make_write_int_argIiEENS1_13write_int_argINSt11conditionalIXaalecl8num_bitsIT_EELi32EntLi0EEjNS4_IXlecl8num_bitsIS5_EELi64EEmoE4typeEE4typeEEES5_NS0_4sign4typeE.exit96, %land.lhs.true.i.i, %_ZN3fmt3v106detail18make_write_int_argIiEENS1_13write_int_argINSt11conditionalIXaalecl8num_bitsIT_EELi32EntLi0EEjNS4_IXlecl8num_bitsIS5_EELi64EEmoE4typeEE4typeEEES5_NS0_4sign4typeE.exit79, %land.lhs.true.i53.i %retval.i.sroa.0.0 = phi ptr [ %call16.i52.i, %_ZN3fmt3v106detail18make_write_int_argIiEENS1_13write_int_argINSt11conditionalIXaalecl8num_bitsIT_EELi32EntLi0EEjNS4_IXlecl8num_bitsIS5_EELi64EEmoE4typeEE4typeEEES5_NS0_4sign4typeE.exit79 ], [ %retval.sroa.0.0.copyload.i63, %land.lhs.true.i53.i ], [ %call16.i.i, %_ZN3fmt3v106detail18make_write_int_argIiEENS1_13write_int_argINSt11conditionalIXaalecl8num_bitsIT_EELi32EntLi0EEjNS4_IXlecl8num_bitsIS5_EELi64EEmoE4typeEE4typeEEES5_NS0_4sign4typeE.exit96 ], [ %retval.sroa.0.0.copyload.i80, %land.lhs.true.i.i ] %it.0 = getelementptr inbounds i8, ptr %it.0100, i64 4 - %43 = load ptr, ptr %end, align 8 - %cmp5.not = icmp eq ptr %it.0, %43 + %45 = load ptr, ptr %end, align 8 + %cmp5.not = icmp eq ptr %it.0, %45 br i1 %cmp5.not, label %if.end, label %while.body, !llvm.loop !1365 if.end: ; preds = %_ZNK3fmt3v109formatterIiwvE6formatINS0_20basic_format_contextISt20back_insert_iteratorINS0_6detail6bufferIwEEEwEEEEDTcldtfp0_3outEERKiRT_.exit, %_ZNK3fmt3v109formatterIiwvE6formatINS0_20basic_format_contextISt20back_insert_iteratorINS0_6detail6bufferIwEEEwEEEEDTcldtfp0_3outEERKiRT_.exit103, %entry @@ -90297,66 +90296,66 @@ entry: if.then.i: ; preds = %entry call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(80) %specs.i, ptr noundef nonnull align 8 dereferenceable(80) %add.ptr.i.i.i, i64 80, i1 false) - %width_ref6.i = getelementptr inbounds i8, ptr %specs.i, i64 32 - call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextISt20back_insert_iteratorINS1_6bufferIwEEEwEEEEvRiNS1_7arg_refINT0_9char_typeEEERSC_(ptr noundef nonnull align 4 dereferenceable(4) %specs.i, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref.274") align 8 %width_ref6.i, ptr noundef nonnull align 8 dereferenceable(32) %ctx) + %3 = getelementptr inbounds i8, ptr %this, i64 192 + call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextISt20back_insert_iteratorINS1_6bufferIwEEEwEEEEvRiNS1_7arg_refINT0_9char_typeEEERSC_(ptr noundef nonnull align 4 dereferenceable(4) %specs.i, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref.274") align 8 %3, ptr noundef nonnull align 8 dereferenceable(32) %ctx) %precision.i = getelementptr inbounds i8, ptr %specs.i, i64 4 %precision_ref8.i = getelementptr inbounds i8, ptr %specs.i, i64 56 call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_17precision_checkerENS0_20basic_format_contextISt20back_insert_iteratorINS1_6bufferIwEEEwEEEEvRiNS1_7arg_refINT0_9char_typeEEERSC_(ptr noundef nonnull align 4 dereferenceable(4) %precision.i, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref.274") align 8 %precision_ref8.i, ptr noundef nonnull align 8 dereferenceable(32) %ctx) %retval.sroa.0.0.copyload.i = load ptr, ptr %ctx, align 8 - %3 = load i32, ptr %add.ptr.i.i.i12, align 4 + %4 = load i32, ptr %add.ptr.i.i.i12, align 4 %loc_.i = getelementptr inbounds i8, ptr %ctx, i64 24 %retval.sroa.0.0.copyload.i13 = load ptr, ptr %loc_.i, align 8 - %call15.i = call ptr @_ZN3fmt3v106detail5writeIwSt20back_insert_iteratorINS1_6bufferIwEEEEET0_S7_T_RKNS0_12format_specsIS8_EENS1_10locale_refE(ptr %retval.sroa.0.0.copyload.i, i32 noundef signext %3, ptr noundef nonnull align 4 dereferenceable(32) %specs.i, ptr %retval.sroa.0.0.copyload.i13) + %call15.i = call ptr @_ZN3fmt3v106detail5writeIwSt20back_insert_iteratorINS1_6bufferIwEEEEET0_S7_T_RKNS0_12format_specsIS8_EENS1_10locale_refE(ptr %retval.sroa.0.0.copyload.i, i32 noundef signext %4, ptr noundef nonnull align 4 dereferenceable(32) %specs.i, ptr %retval.sroa.0.0.copyload.i13) br label %_ZNK3fmt3v109formatterIwwvE6formatINS0_20basic_format_contextISt20back_insert_iteratorINS0_6detail6bufferIwEEEwEEEEDTcldtfp0_3outEERKwRT_.exit if.end.i: ; preds = %entry %retval.sroa.0.0.copyload.i14 = load ptr, ptr %ctx, align 8 - %4 = load i32, ptr %add.ptr.i.i.i12, align 4 + %5 = load i32, ptr %add.ptr.i.i.i12, align 4 %loc_.i15 = getelementptr inbounds i8, ptr %ctx, i64 24 %retval.sroa.0.0.copyload.i16 = load ptr, ptr %loc_.i15, align 8 - %call26.i = tail call ptr @_ZN3fmt3v106detail5writeIwSt20back_insert_iteratorINS1_6bufferIwEEEEET0_S7_T_RKNS0_12format_specsIS8_EENS1_10locale_refE(ptr %retval.sroa.0.0.copyload.i14, i32 noundef signext %4, ptr noundef nonnull align 4 dereferenceable(32) %add.ptr.i.i.i, ptr %retval.sroa.0.0.copyload.i16) + %call26.i = tail call ptr @_ZN3fmt3v106detail5writeIwSt20back_insert_iteratorINS1_6bufferIwEEEEET0_S7_T_RKNS0_12format_specsIS8_EENS1_10locale_refE(ptr %retval.sroa.0.0.copyload.i14, i32 noundef signext %5, ptr noundef nonnull align 4 dereferenceable(32) %add.ptr.i.i.i, ptr %retval.sroa.0.0.copyload.i16) br label %_ZNK3fmt3v109formatterIwwvE6formatINS0_20basic_format_contextISt20back_insert_iteratorINS0_6detail6bufferIwEEEwEEEEDTcldtfp0_3outEERKwRT_.exit _ZNK3fmt3v109formatterIwwvE6formatINS0_20basic_format_contextISt20back_insert_iteratorINS0_6detail6bufferIwEEEwEEEEDTcldtfp0_3outEERKwRT_.exit: ; preds = %if.end.i, %if.then.i %retval.i.sroa.0.0 = phi ptr [ %call15.i, %if.then.i ], [ %call26.i, %if.end.i ] %size_.i = getelementptr inbounds i8, ptr %value, i64 16 - %5 = load i64, ptr %size_.i, align 8 - %cmp4.i.i.i.i.i = icmp sgt i64 %5, 0 + %6 = load i64, ptr %size_.i, align 8 + %cmp4.i.i.i.i.i = icmp sgt i64 %6, 0 br i1 %cmp4.i.i.i.i.i, label %for.body.lr.ph.i.i.i.i.i, label %_ZSt4copyIPKwSt20back_insert_iteratorIN3fmt3v106detail6bufferIwEEEET0_T_SA_S9_.exit for.body.lr.ph.i.i.i.i.i: ; preds = %_ZNK3fmt3v109formatterIwwvE6formatINS0_20basic_format_contextISt20back_insert_iteratorINS0_6detail6bufferIwEEEwEEEEDTcldtfp0_3outEERKwRT_.exit %sep = getelementptr inbounds i8, ptr %value, i64 8 - %6 = load ptr, ptr %sep, align 8 + %7 = load ptr, ptr %sep, align 8 %size_.i.i.i.i.i.i.i = getelementptr inbounds i8, ptr %retval.i.sroa.0.0, i64 16 %capacity_.i.i.i.i.i.i.i.i = getelementptr inbounds i8, ptr %retval.i.sroa.0.0, i64 24 %ptr_.i.i.i.i.i.i.i = getelementptr inbounds i8, ptr %retval.i.sroa.0.0, i64 8 br label %for.body.i.i.i.i.i for.body.i.i.i.i.i: ; preds = %_ZNSt20back_insert_iteratorIN3fmt3v106detail6bufferIwEEEaSERKw.exit.i.i.i.i.i, %for.body.lr.ph.i.i.i.i.i - %__n.06.i.i.i.i.i = phi i64 [ %5, %for.body.lr.ph.i.i.i.i.i ], [ %dec.i.i.i.i.i, %_ZNSt20back_insert_iteratorIN3fmt3v106detail6bufferIwEEEaSERKw.exit.i.i.i.i.i ] - %__first.addr.05.i.i.i.i.i = phi ptr [ %6, %for.body.lr.ph.i.i.i.i.i ], [ %incdec.ptr.i.i.i.i.i, %_ZNSt20back_insert_iteratorIN3fmt3v106detail6bufferIwEEEaSERKw.exit.i.i.i.i.i ] - %7 = load i64, ptr %size_.i.i.i.i.i.i.i, align 8 - %add.i.i.i.i.i.i.i = add i64 %7, 1 - %8 = load i64, ptr %capacity_.i.i.i.i.i.i.i.i, align 8 - %cmp.i.i.i.i.i.i.i.i = icmp ult i64 %8, %add.i.i.i.i.i.i.i + %__n.06.i.i.i.i.i = phi i64 [ %6, %for.body.lr.ph.i.i.i.i.i ], [ %dec.i.i.i.i.i, %_ZNSt20back_insert_iteratorIN3fmt3v106detail6bufferIwEEEaSERKw.exit.i.i.i.i.i ] + %__first.addr.05.i.i.i.i.i = phi ptr [ %7, %for.body.lr.ph.i.i.i.i.i ], [ %incdec.ptr.i.i.i.i.i, %_ZNSt20back_insert_iteratorIN3fmt3v106detail6bufferIwEEEaSERKw.exit.i.i.i.i.i ] + %8 = load i64, ptr %size_.i.i.i.i.i.i.i, align 8 + %add.i.i.i.i.i.i.i = add i64 %8, 1 + %9 = load i64, ptr %capacity_.i.i.i.i.i.i.i.i, align 8 + %cmp.i.i.i.i.i.i.i.i = icmp ult i64 %9, %add.i.i.i.i.i.i.i br i1 %cmp.i.i.i.i.i.i.i.i, label %if.then.i.i.i.i.i.i.i.i, label %_ZNSt20back_insert_iteratorIN3fmt3v106detail6bufferIwEEEaSERKw.exit.i.i.i.i.i if.then.i.i.i.i.i.i.i.i: ; preds = %for.body.i.i.i.i.i %vtable.i.i.i.i.i.i.i.i = load ptr, ptr %retval.i.sroa.0.0, align 8 - %9 = load ptr, ptr %vtable.i.i.i.i.i.i.i.i, align 8 - call void %9(ptr noundef nonnull align 8 dereferenceable(32) %retval.i.sroa.0.0, i64 noundef %add.i.i.i.i.i.i.i) + %10 = load ptr, ptr %vtable.i.i.i.i.i.i.i.i, align 8 + call void %10(ptr noundef nonnull align 8 dereferenceable(32) %retval.i.sroa.0.0, i64 noundef %add.i.i.i.i.i.i.i) %.pre.i.i.i.i.i.i.i = load i64, ptr %size_.i.i.i.i.i.i.i, align 8 %.pre1.i.i.i.i.i.i.i = add i64 %.pre.i.i.i.i.i.i.i, 1 br label %_ZNSt20back_insert_iteratorIN3fmt3v106detail6bufferIwEEEaSERKw.exit.i.i.i.i.i _ZNSt20back_insert_iteratorIN3fmt3v106detail6bufferIwEEEaSERKw.exit.i.i.i.i.i: ; preds = %if.then.i.i.i.i.i.i.i.i, %for.body.i.i.i.i.i %inc.pre-phi.i.i.i.i.i.i.i = phi i64 [ %add.i.i.i.i.i.i.i, %for.body.i.i.i.i.i ], [ %.pre1.i.i.i.i.i.i.i, %if.then.i.i.i.i.i.i.i.i ] - %10 = phi i64 [ %7, %for.body.i.i.i.i.i ], [ %.pre.i.i.i.i.i.i.i, %if.then.i.i.i.i.i.i.i.i ] - %11 = load i32, ptr %__first.addr.05.i.i.i.i.i, align 4 - %12 = load ptr, ptr %ptr_.i.i.i.i.i.i.i, align 8 + %11 = phi i64 [ %8, %for.body.i.i.i.i.i ], [ %.pre.i.i.i.i.i.i.i, %if.then.i.i.i.i.i.i.i.i ] + %12 = load i32, ptr %__first.addr.05.i.i.i.i.i, align 4 + %13 = load ptr, ptr %ptr_.i.i.i.i.i.i.i, align 8 store i64 %inc.pre-phi.i.i.i.i.i.i.i, ptr %size_.i.i.i.i.i.i.i, align 8 - %arrayidx.i.i.i.i.i.i.i = getelementptr inbounds i32, ptr %12, i64 %10 - store i32 %11, ptr %arrayidx.i.i.i.i.i.i.i, align 4 + %arrayidx.i.i.i.i.i.i.i = getelementptr inbounds i32, ptr %13, i64 %11 + store i32 %12, ptr %arrayidx.i.i.i.i.i.i.i, align 4 %incdec.ptr.i.i.i.i.i = getelementptr inbounds i8, ptr %__first.addr.05.i.i.i.i.i, i64 4 %dec.i.i.i.i.i = add nsw i64 %__n.06.i.i.i.i.i, -1 %cmp.i.i.i.i.i = icmp sgt i64 %__n.06.i.i.i.i.i, 1 @@ -90387,51 +90386,51 @@ entry: if.then.i: ; preds = %entry call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(80) %specs.i, ptr noundef nonnull align 8 dereferenceable(80) %add.ptr.i.i.i, i64 80, i1 false) - %width_ref6.i = getelementptr inbounds i8, ptr %specs.i, i64 32 - call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextISt20back_insert_iteratorINS1_6bufferIwEEEwEEEEvRiNS1_7arg_refINT0_9char_typeEEERSC_(ptr noundef nonnull align 4 dereferenceable(4) %specs.i, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref.274") align 8 %width_ref6.i, ptr noundef nonnull align 8 dereferenceable(32) %ctx) + %3 = getelementptr inbounds i8, ptr %this, i64 112 + call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextISt20back_insert_iteratorINS1_6bufferIwEEEwEEEEvRiNS1_7arg_refINT0_9char_typeEEERSC_(ptr noundef nonnull align 4 dereferenceable(4) %specs.i, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref.274") align 8 %3, ptr noundef nonnull align 8 dereferenceable(32) %ctx) %precision.i = getelementptr inbounds i8, ptr %specs.i, i64 4 %precision_ref8.i = getelementptr inbounds i8, ptr %specs.i, i64 56 call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_17precision_checkerENS0_20basic_format_contextISt20back_insert_iteratorINS1_6bufferIwEEEwEEEEvRiNS1_7arg_refINT0_9char_typeEEERSC_(ptr noundef nonnull align 4 dereferenceable(4) %precision.i, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref.274") align 8 %precision_ref8.i, ptr noundef nonnull align 8 dereferenceable(32) %ctx) %retval.sroa.0.0.copyload.i = load ptr, ptr %ctx, align 8 - %3 = load i32, ptr %add.ptr.i.i.i20, align 4 + %4 = load i32, ptr %add.ptr.i.i.i20, align 4 %loc_.i = getelementptr inbounds i8, ptr %ctx, i64 24 %retval.sroa.0.0.copyload.i21 = load ptr, ptr %loc_.i, align 8 %localized.i40.i = getelementptr inbounds i8, ptr %specs.i, i64 9 %bf.load.i41.i = load i16, ptr %localized.i40.i, align 1 - %4 = and i16 %bf.load.i41.i, 256 - %bf.cast.i44.i.not = icmp eq i16 %4, 0 + %5 = and i16 %bf.load.i41.i, 256 + %bf.cast.i44.i.not = icmp eq i16 %5, 0 br i1 %bf.cast.i44.i.not, label %if.end.i45.i, label %land.lhs.true.i53.i land.lhs.true.i53.i: ; preds = %if.then.i %type_.i.i.i = getelementptr inbounds i8, ptr %agg.tmp2.i35.i, i64 16 store i32 1, ptr %type_.i.i.i, align 16, !alias.scope !1385 - %retval.i.sroa.0.0.insert.ext.i.i = zext i32 %3 to i64 + %retval.i.sroa.0.0.insert.ext.i.i = zext i32 %4 to i64 store i64 %retval.i.sroa.0.0.insert.ext.i.i, ptr %agg.tmp2.i35.i, align 16, !alias.scope !1385 %call.i54.i = call noundef zeroext i1 @_ZN3fmt3v106detail9write_locESt20back_insert_iteratorINS1_6bufferIwEEENS0_9loc_valueERKNS0_12format_specsIwEENS1_10locale_refE(ptr %retval.sroa.0.0.copyload.i, ptr noundef nonnull byval(%"class.fmt::v10::loc_value") align 16 %agg.tmp2.i35.i, ptr noundef nonnull align 4 dereferenceable(32) %specs.i, ptr %retval.sroa.0.0.copyload.i21) br i1 %call.i54.i, label %_ZNK3fmt3v109formatterIiwvE6formatINS0_20basic_format_contextISt20back_insert_iteratorINS0_6detail6bufferIwEEEwEEEEDTcldtfp0_3outEERKiRT_.exit, label %if.end.i45.i if.end.i45.i: ; preds = %land.lhs.true.i53.i, %if.then.i - %cmp.i.i = icmp slt i32 %3, 0 + %cmp.i.i = icmp slt i32 %4, 0 br i1 %cmp.i.i, label %if.then.i23, label %if.else.i if.then.i23: ; preds = %if.end.i45.i - %sub.i = sub i32 0, %3 + %sub.i = sub i32 0, %4 br label %_ZN3fmt3v106detail18make_write_int_argIiEENS1_13write_int_argINSt11conditionalIXaalecl8num_bitsIT_EELi32EntLi0EEjNS4_IXlecl8num_bitsIS5_EELi64EEmoE4typeEE4typeEEES5_NS0_4sign4typeE.exit if.else.i: ; preds = %if.end.i45.i %bf.load8.i47.i = load i16, ptr %localized.i40.i, align 1 - %5 = lshr i16 %bf.load8.i47.i, 4 - %6 = and i16 %5, 7 - %bf.cast11.i50.i = zext nneg i16 %6 to i64 + %6 = lshr i16 %bf.load8.i47.i, 4 + %7 = and i16 %6, 7 + %bf.cast11.i50.i = zext nneg i16 %7 to i64 %arrayidx.i = getelementptr inbounds [4 x i32], ptr @__const._ZN3fmt3v106detail18make_write_int_argIoEENS1_13write_int_argINSt11conditionalIXaalecl8num_bitsIT_EELi32EntLi0EEjNS4_IXlecl8num_bitsIS5_EELi64EEmoE4typeEE4typeEEES5_NS0_4sign4typeE.prefixes, i64 0, i64 %bf.cast11.i50.i - %7 = load i32, ptr %arrayidx.i, align 4 - %8 = zext i32 %7 to i64 - %9 = shl nuw i64 %8, 32 + %8 = load i32, ptr %arrayidx.i, align 4 + %9 = zext i32 %8 to i64 + %10 = shl nuw i64 %9, 32 br label %_ZN3fmt3v106detail18make_write_int_argIiEENS1_13write_int_argINSt11conditionalIXaalecl8num_bitsIT_EELi32EntLi0EEjNS4_IXlecl8num_bitsIS5_EELi64EEmoE4typeEE4typeEEES5_NS0_4sign4typeE.exit _ZN3fmt3v106detail18make_write_int_argIiEENS1_13write_int_argINSt11conditionalIXaalecl8num_bitsIT_EELi32EntLi0EEjNS4_IXlecl8num_bitsIS5_EELi64EEmoE4typeEE4typeEEES5_NS0_4sign4typeE.exit: ; preds = %if.then.i23, %if.else.i - %prefix.0.i = phi i64 [ 72057787311456256, %if.then.i23 ], [ %9, %if.else.i ] - %abs_value.0.i = phi i32 [ %sub.i, %if.then.i23 ], [ %3, %if.else.i ] + %prefix.0.i = phi i64 [ 72057787311456256, %if.then.i23 ], [ %10, %if.else.i ] + %abs_value.0.i = phi i32 [ %sub.i, %if.then.i23 ], [ %4, %if.else.i ] %retval.sroa.0.0.insert.ext.i = zext i32 %abs_value.0.i to i64 %retval.sroa.0.0.insert.insert.i = or disjoint i64 %prefix.0.i, %retval.sroa.0.0.insert.ext.i %call16.i52.i = call ptr @_ZN3fmt3v106detail18write_int_noinlineIwSt20back_insert_iteratorINS1_6bufferIwEEEjEET0_S7_NS1_13write_int_argIT1_EERKNS0_12format_specsIT_EENS1_10locale_refE(ptr %retval.sroa.0.0.copyload.i, i64 %retval.sroa.0.0.insert.insert.i, ptr noundef nonnull align 4 dereferenceable(32) %specs.i, ptr %retval.sroa.0.0.copyload.i21) @@ -90439,45 +90438,45 @@ _ZN3fmt3v106detail18make_write_int_argIiEENS1_13write_int_argINSt11conditionalIX if.end.i: ; preds = %entry %retval.sroa.0.0.copyload.i24 = load ptr, ptr %ctx, align 8 - %10 = load i32, ptr %add.ptr.i.i.i20, align 4 + %11 = load i32, ptr %add.ptr.i.i.i20, align 4 %loc_.i25 = getelementptr inbounds i8, ptr %ctx, i64 24 %retval.sroa.0.0.copyload.i26 = load ptr, ptr %loc_.i25, align 8 %localized.i.i = getelementptr inbounds i8, ptr %this, i64 89 %bf.load.i.i = load i16, ptr %localized.i.i, align 1 - %11 = and i16 %bf.load.i.i, 256 - %bf.cast.i.i.not = icmp eq i16 %11, 0 + %12 = and i16 %bf.load.i.i, 256 + %bf.cast.i.i.not = icmp eq i16 %12, 0 br i1 %bf.cast.i.i.not, label %if.end.i.i, label %land.lhs.true.i.i land.lhs.true.i.i: ; preds = %if.end.i %type_.i.i.i27 = getelementptr inbounds i8, ptr %agg.tmp2.i.i, i64 16 store i32 1, ptr %type_.i.i.i27, align 16, !alias.scope !1388 - %retval.i.sroa.0.0.insert.ext.i.i28 = zext i32 %10 to i64 + %retval.i.sroa.0.0.insert.ext.i.i28 = zext i32 %11 to i64 store i64 %retval.i.sroa.0.0.insert.ext.i.i28, ptr %agg.tmp2.i.i, align 16, !alias.scope !1388 %call.i.i = tail call noundef zeroext i1 @_ZN3fmt3v106detail9write_locESt20back_insert_iteratorINS1_6bufferIwEEENS0_9loc_valueERKNS0_12format_specsIwEENS1_10locale_refE(ptr %retval.sroa.0.0.copyload.i24, ptr noundef nonnull byval(%"class.fmt::v10::loc_value") align 16 %agg.tmp2.i.i, ptr noundef nonnull align 4 dereferenceable(32) %add.ptr.i.i.i, ptr %retval.sroa.0.0.copyload.i26) br i1 %call.i.i, label %_ZNK3fmt3v109formatterIiwvE6formatINS0_20basic_format_contextISt20back_insert_iteratorINS0_6detail6bufferIwEEEwEEEEDTcldtfp0_3outEERKiRT_.exit, label %if.end.i.i if.end.i.i: ; preds = %land.lhs.true.i.i, %if.end.i - %cmp.i.i29 = icmp slt i32 %10, 0 + %cmp.i.i29 = icmp slt i32 %11, 0 br i1 %cmp.i.i29, label %if.then.i38, label %if.else.i30 if.then.i38: ; preds = %if.end.i.i - %sub.i39 = sub i32 0, %10 + %sub.i39 = sub i32 0, %11 br label %_ZN3fmt3v106detail18make_write_int_argIiEENS1_13write_int_argINSt11conditionalIXaalecl8num_bitsIT_EELi32EntLi0EEjNS4_IXlecl8num_bitsIS5_EELi64EEmoE4typeEE4typeEEES5_NS0_4sign4typeE.exit40 if.else.i30: ; preds = %if.end.i.i %bf.load8.i.i = load i16, ptr %localized.i.i, align 1 - %12 = lshr i16 %bf.load8.i.i, 4 - %13 = and i16 %12, 7 - %bf.cast11.i.i = zext nneg i16 %13 to i64 + %13 = lshr i16 %bf.load8.i.i, 4 + %14 = and i16 %13, 7 + %bf.cast11.i.i = zext nneg i16 %14 to i64 %arrayidx.i32 = getelementptr inbounds [4 x i32], ptr @__const._ZN3fmt3v106detail18make_write_int_argIoEENS1_13write_int_argINSt11conditionalIXaalecl8num_bitsIT_EELi32EntLi0EEjNS4_IXlecl8num_bitsIS5_EELi64EEmoE4typeEE4typeEEES5_NS0_4sign4typeE.prefixes, i64 0, i64 %bf.cast11.i.i - %14 = load i32, ptr %arrayidx.i32, align 4 - %15 = zext i32 %14 to i64 - %16 = shl nuw i64 %15, 32 + %15 = load i32, ptr %arrayidx.i32, align 4 + %16 = zext i32 %15 to i64 + %17 = shl nuw i64 %16, 32 br label %_ZN3fmt3v106detail18make_write_int_argIiEENS1_13write_int_argINSt11conditionalIXaalecl8num_bitsIT_EELi32EntLi0EEjNS4_IXlecl8num_bitsIS5_EELi64EEmoE4typeEE4typeEEES5_NS0_4sign4typeE.exit40 _ZN3fmt3v106detail18make_write_int_argIiEENS1_13write_int_argINSt11conditionalIXaalecl8num_bitsIT_EELi32EntLi0EEjNS4_IXlecl8num_bitsIS5_EELi64EEmoE4typeEE4typeEEES5_NS0_4sign4typeE.exit40: ; preds = %if.then.i38, %if.else.i30 - %prefix.0.i34 = phi i64 [ 72057787311456256, %if.then.i38 ], [ %16, %if.else.i30 ] - %abs_value.0.i35 = phi i32 [ %sub.i39, %if.then.i38 ], [ %10, %if.else.i30 ] + %prefix.0.i34 = phi i64 [ 72057787311456256, %if.then.i38 ], [ %17, %if.else.i30 ] + %abs_value.0.i35 = phi i32 [ %sub.i39, %if.then.i38 ], [ %11, %if.else.i30 ] %retval.sroa.0.0.insert.ext.i36 = zext i32 %abs_value.0.i35 to i64 %retval.sroa.0.0.insert.insert.i37 = or disjoint i64 %prefix.0.i34, %retval.sroa.0.0.insert.ext.i36 %call16.i.i = tail call ptr @_ZN3fmt3v106detail18write_int_noinlineIwSt20back_insert_iteratorINS1_6bufferIwEEEjEET0_S7_NS1_13write_int_argIT1_EERKNS0_12format_specsIT_EENS1_10locale_refE(ptr %retval.sroa.0.0.copyload.i24, i64 %retval.sroa.0.0.insert.insert.i37, ptr noundef nonnull align 4 dereferenceable(32) %add.ptr.i.i.i, ptr %retval.sroa.0.0.copyload.i26) @@ -90486,43 +90485,43 @@ _ZN3fmt3v106detail18make_write_int_argIiEENS1_13write_int_argINSt11conditionalIX _ZNK3fmt3v109formatterIiwvE6formatINS0_20basic_format_contextISt20back_insert_iteratorINS0_6detail6bufferIwEEEwEEEEDTcldtfp0_3outEERKiRT_.exit: ; preds = %_ZN3fmt3v106detail18make_write_int_argIiEENS1_13write_int_argINSt11conditionalIXaalecl8num_bitsIT_EELi32EntLi0EEjNS4_IXlecl8num_bitsIS5_EELi64EEmoE4typeEE4typeEEES5_NS0_4sign4typeE.exit40, %land.lhs.true.i.i, %_ZN3fmt3v106detail18make_write_int_argIiEENS1_13write_int_argINSt11conditionalIXaalecl8num_bitsIT_EELi32EntLi0EEjNS4_IXlecl8num_bitsIS5_EELi64EEmoE4typeEE4typeEEES5_NS0_4sign4typeE.exit, %land.lhs.true.i53.i %retval.i.sroa.0.0 = phi ptr [ %call16.i52.i, %_ZN3fmt3v106detail18make_write_int_argIiEENS1_13write_int_argINSt11conditionalIXaalecl8num_bitsIT_EELi32EntLi0EEjNS4_IXlecl8num_bitsIS5_EELi64EEmoE4typeEE4typeEEES5_NS0_4sign4typeE.exit ], [ %retval.sroa.0.0.copyload.i, %land.lhs.true.i53.i ], [ %call16.i.i, %_ZN3fmt3v106detail18make_write_int_argIiEENS1_13write_int_argINSt11conditionalIXaalecl8num_bitsIT_EELi32EntLi0EEjNS4_IXlecl8num_bitsIS5_EELi64EEmoE4typeEE4typeEEES5_NS0_4sign4typeE.exit40 ], [ %retval.sroa.0.0.copyload.i24, %land.lhs.true.i.i ] %size_.i = getelementptr inbounds i8, ptr %value, i64 16 - %17 = load i64, ptr %size_.i, align 8 - %cmp4.i.i.i.i.i = icmp sgt i64 %17, 0 + %18 = load i64, ptr %size_.i, align 8 + %cmp4.i.i.i.i.i = icmp sgt i64 %18, 0 br i1 %cmp4.i.i.i.i.i, label %for.body.lr.ph.i.i.i.i.i, label %_ZSt4copyIPKwSt20back_insert_iteratorIN3fmt3v106detail6bufferIwEEEET0_T_SA_S9_.exit for.body.lr.ph.i.i.i.i.i: ; preds = %_ZNK3fmt3v109formatterIiwvE6formatINS0_20basic_format_contextISt20back_insert_iteratorINS0_6detail6bufferIwEEEwEEEEDTcldtfp0_3outEERKiRT_.exit %sep = getelementptr inbounds i8, ptr %value, i64 8 - %18 = load ptr, ptr %sep, align 8 + %19 = load ptr, ptr %sep, align 8 %size_.i.i.i.i.i.i.i = getelementptr inbounds i8, ptr %retval.i.sroa.0.0, i64 16 %capacity_.i.i.i.i.i.i.i.i = getelementptr inbounds i8, ptr %retval.i.sroa.0.0, i64 24 %ptr_.i.i.i.i.i.i.i = getelementptr inbounds i8, ptr %retval.i.sroa.0.0, i64 8 br label %for.body.i.i.i.i.i for.body.i.i.i.i.i: ; preds = %_ZNSt20back_insert_iteratorIN3fmt3v106detail6bufferIwEEEaSERKw.exit.i.i.i.i.i, %for.body.lr.ph.i.i.i.i.i - %__n.06.i.i.i.i.i = phi i64 [ %17, %for.body.lr.ph.i.i.i.i.i ], [ %dec.i.i.i.i.i, %_ZNSt20back_insert_iteratorIN3fmt3v106detail6bufferIwEEEaSERKw.exit.i.i.i.i.i ] - %__first.addr.05.i.i.i.i.i = phi ptr [ %18, %for.body.lr.ph.i.i.i.i.i ], [ %incdec.ptr.i.i.i.i.i, %_ZNSt20back_insert_iteratorIN3fmt3v106detail6bufferIwEEEaSERKw.exit.i.i.i.i.i ] - %19 = load i64, ptr %size_.i.i.i.i.i.i.i, align 8 - %add.i.i.i.i.i.i.i = add i64 %19, 1 - %20 = load i64, ptr %capacity_.i.i.i.i.i.i.i.i, align 8 - %cmp.i.i.i.i.i.i.i.i = icmp ult i64 %20, %add.i.i.i.i.i.i.i + %__n.06.i.i.i.i.i = phi i64 [ %18, %for.body.lr.ph.i.i.i.i.i ], [ %dec.i.i.i.i.i, %_ZNSt20back_insert_iteratorIN3fmt3v106detail6bufferIwEEEaSERKw.exit.i.i.i.i.i ] + %__first.addr.05.i.i.i.i.i = phi ptr [ %19, %for.body.lr.ph.i.i.i.i.i ], [ %incdec.ptr.i.i.i.i.i, %_ZNSt20back_insert_iteratorIN3fmt3v106detail6bufferIwEEEaSERKw.exit.i.i.i.i.i ] + %20 = load i64, ptr %size_.i.i.i.i.i.i.i, align 8 + %add.i.i.i.i.i.i.i = add i64 %20, 1 + %21 = load i64, ptr %capacity_.i.i.i.i.i.i.i.i, align 8 + %cmp.i.i.i.i.i.i.i.i = icmp ult i64 %21, %add.i.i.i.i.i.i.i br i1 %cmp.i.i.i.i.i.i.i.i, label %if.then.i.i.i.i.i.i.i.i, label %_ZNSt20back_insert_iteratorIN3fmt3v106detail6bufferIwEEEaSERKw.exit.i.i.i.i.i if.then.i.i.i.i.i.i.i.i: ; preds = %for.body.i.i.i.i.i %vtable.i.i.i.i.i.i.i.i = load ptr, ptr %retval.i.sroa.0.0, align 8 - %21 = load ptr, ptr %vtable.i.i.i.i.i.i.i.i, align 8 - call void %21(ptr noundef nonnull align 8 dereferenceable(32) %retval.i.sroa.0.0, i64 noundef %add.i.i.i.i.i.i.i) + %22 = load ptr, ptr %vtable.i.i.i.i.i.i.i.i, align 8 + call void %22(ptr noundef nonnull align 8 dereferenceable(32) %retval.i.sroa.0.0, i64 noundef %add.i.i.i.i.i.i.i) %.pre.i.i.i.i.i.i.i = load i64, ptr %size_.i.i.i.i.i.i.i, align 8 %.pre1.i.i.i.i.i.i.i = add i64 %.pre.i.i.i.i.i.i.i, 1 br label %_ZNSt20back_insert_iteratorIN3fmt3v106detail6bufferIwEEEaSERKw.exit.i.i.i.i.i _ZNSt20back_insert_iteratorIN3fmt3v106detail6bufferIwEEEaSERKw.exit.i.i.i.i.i: ; preds = %if.then.i.i.i.i.i.i.i.i, %for.body.i.i.i.i.i %inc.pre-phi.i.i.i.i.i.i.i = phi i64 [ %add.i.i.i.i.i.i.i, %for.body.i.i.i.i.i ], [ %.pre1.i.i.i.i.i.i.i, %if.then.i.i.i.i.i.i.i.i ] - %22 = phi i64 [ %19, %for.body.i.i.i.i.i ], [ %.pre.i.i.i.i.i.i.i, %if.then.i.i.i.i.i.i.i.i ] - %23 = load i32, ptr %__first.addr.05.i.i.i.i.i, align 4 - %24 = load ptr, ptr %ptr_.i.i.i.i.i.i.i, align 8 + %23 = phi i64 [ %20, %for.body.i.i.i.i.i ], [ %.pre.i.i.i.i.i.i.i, %if.then.i.i.i.i.i.i.i.i ] + %24 = load i32, ptr %__first.addr.05.i.i.i.i.i, align 4 + %25 = load ptr, ptr %ptr_.i.i.i.i.i.i.i, align 8 store i64 %inc.pre-phi.i.i.i.i.i.i.i, ptr %size_.i.i.i.i.i.i.i, align 8 - %arrayidx.i.i.i.i.i.i.i = getelementptr inbounds i32, ptr %24, i64 %22 - store i32 %23, ptr %arrayidx.i.i.i.i.i.i.i, align 4 + %arrayidx.i.i.i.i.i.i.i = getelementptr inbounds i32, ptr %25, i64 %23 + store i32 %24, ptr %arrayidx.i.i.i.i.i.i.i, align 4 %incdec.ptr.i.i.i.i.i = getelementptr inbounds i8, ptr %__first.addr.05.i.i.i.i.i, i64 4 %dec.i.i.i.i.i = add nsw i64 %__n.06.i.i.i.i.i, -1 %cmp.i.i.i.i.i = icmp sgt i64 %__n.06.i.i.i.i.i, 1 @@ -90553,13 +90552,13 @@ entry: if.then.i: ; preds = %entry call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(80) %specs.i, ptr noundef nonnull align 8 dereferenceable(80) %this, i64 80, i1 false) - %width_ref6.i = getelementptr inbounds i8, ptr %specs.i, i64 32 - call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextISt20back_insert_iteratorINS1_6bufferIwEEEwEEEEvRiNS1_7arg_refINT0_9char_typeEEERSC_(ptr noundef nonnull align 4 dereferenceable(4) %specs.i, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref.274") align 8 %width_ref6.i, ptr noundef nonnull align 8 dereferenceable(32) %ctx) + %3 = getelementptr inbounds i8, ptr %this, i64 32 + call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextISt20back_insert_iteratorINS1_6bufferIwEEEwEEEEvRiNS1_7arg_refINT0_9char_typeEEERSC_(ptr noundef nonnull align 4 dereferenceable(4) %specs.i, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref.274") align 8 %3, ptr noundef nonnull align 8 dereferenceable(32) %ctx) %precision.i = getelementptr inbounds i8, ptr %specs.i, i64 4 %precision_ref8.i = getelementptr inbounds i8, ptr %specs.i, i64 56 call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_17precision_checkerENS0_20basic_format_contextISt20back_insert_iteratorINS1_6bufferIwEEEwEEEEvRiNS1_7arg_refINT0_9char_typeEEERSC_(ptr noundef nonnull align 4 dereferenceable(4) %precision.i, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref.274") align 8 %precision_ref8.i, ptr noundef nonnull align 8 dereferenceable(32) %ctx) %retval.sroa.0.0.copyload.i = load ptr, ptr %ctx, align 8 - %3 = load float, ptr %0, align 4 + %4 = load float, ptr %0, align 4 call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp10.i8) call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp10.i8, ptr noundef nonnull align 8 dereferenceable(32) %specs.i, i64 32, i1 false) %loc_.i = getelementptr inbounds i8, ptr %ctx, i64 24 @@ -90567,21 +90566,21 @@ if.then.i: ; preds = %entry call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp3.i) %localized.i = getelementptr inbounds i8, ptr %agg.tmp10.i8, i64 9 %bf.load.i = load i16, ptr %localized.i, align 1 - %4 = and i16 %bf.load.i, 256 - %bf.cast.not.i = icmp eq i16 %4, 0 + %5 = and i16 %bf.load.i, 256 + %bf.cast.not.i = icmp eq i16 %5, 0 br i1 %bf.cast.not.i, label %cond.false.i, label %land.lhs.true.i land.lhs.true.i: ; preds = %if.then.i %type_.i.i.i.i = getelementptr inbounds i8, ptr %agg.tmp3.i, i64 16 store i32 9, ptr %type_.i.i.i.i, align 16, !alias.scope !1391 - %5 = bitcast float %3 to i32 - %retval.i.sroa.0.0.insert.ext.i.i.i = zext i32 %5 to i64 + %6 = bitcast float %4 to i32 + %retval.i.sroa.0.0.insert.ext.i.i.i = zext i32 %6 to i64 store i64 %retval.i.sroa.0.0.insert.ext.i.i.i, ptr %agg.tmp3.i, align 16, !alias.scope !1391 %call7.i = call noundef zeroext i1 @_ZN3fmt3v106detail9write_locESt20back_insert_iteratorINS1_6bufferIwEEENS0_9loc_valueERKNS0_12format_specsIwEENS1_10locale_refE(ptr %retval.sroa.0.0.copyload.i, ptr noundef nonnull byval(%"class.fmt::v10::loc_value") align 16 %agg.tmp3.i, ptr noundef nonnull align 4 dereferenceable(32) %agg.tmp10.i8, ptr %retval.sroa.0.0.copyload.i7) br i1 %call7.i, label %_ZN3fmt3v106detail5writeIwSt20back_insert_iteratorINS1_6bufferIwEEEfTnNSt9enable_ifIXsr17is_floating_pointIT1_EE5valueEiE4typeELi0EEET0_SB_S8_NS0_12format_specsIT_EENS1_10locale_refE.exit, label %cond.false.i cond.false.i: ; preds = %land.lhs.true.i, %if.then.i - %call13.i = call ptr @_ZN3fmt3v106detail11write_floatIwSt20back_insert_iteratorINS1_6bufferIwEEEfEET0_S7_T1_NS0_12format_specsIT_EENS1_10locale_refE(ptr %retval.sroa.0.0.copyload.i, float noundef %3, ptr noundef nonnull byval(%"struct.fmt::v10::format_specs.201") align 8 %agg.tmp10.i8, ptr %retval.sroa.0.0.copyload.i7) + %call13.i = call ptr @_ZN3fmt3v106detail11write_floatIwSt20back_insert_iteratorINS1_6bufferIwEEEfEET0_S7_T1_NS0_12format_specsIT_EENS1_10locale_refE(ptr %retval.sroa.0.0.copyload.i, float noundef %4, ptr noundef nonnull byval(%"struct.fmt::v10::format_specs.201") align 8 %agg.tmp10.i8, ptr %retval.sroa.0.0.copyload.i7) br label %_ZN3fmt3v106detail5writeIwSt20back_insert_iteratorINS1_6bufferIwEEEfTnNSt9enable_ifIXsr17is_floating_pointIT1_EE5valueEiE4typeELi0EEET0_SB_S8_NS0_12format_specsIT_EENS1_10locale_refE.exit _ZN3fmt3v106detail5writeIwSt20back_insert_iteratorINS1_6bufferIwEEEfTnNSt9enable_ifIXsr17is_floating_pointIT1_EE5valueEiE4typeELi0EEET0_SB_S8_NS0_12format_specsIT_EENS1_10locale_refE.exit: ; preds = %land.lhs.true.i, %cond.false.i @@ -90592,7 +90591,7 @@ _ZN3fmt3v106detail5writeIwSt20back_insert_iteratorINS1_6bufferIwEEEfTnNSt9enable if.end.i: ; preds = %entry %retval.sroa.0.0.copyload.i10 = load ptr, ptr %ctx, align 8 - %6 = load float, ptr %0, align 4 + %7 = load float, ptr %0, align 4 call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp21.i13) call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp21.i13, ptr noundef nonnull align 8 dereferenceable(32) %this, i64 32, i1 false) %loc_.i11 = getelementptr inbounds i8, ptr %ctx, i64 24 @@ -90600,21 +90599,21 @@ if.end.i: ; preds = %entry call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp3.i15) %localized.i16 = getelementptr inbounds i8, ptr %agg.tmp21.i13, i64 9 %bf.load.i17 = load i16, ptr %localized.i16, align 1 - %7 = and i16 %bf.load.i17, 256 - %bf.cast.not.i18 = icmp eq i16 %7, 0 + %8 = and i16 %bf.load.i17, 256 + %bf.cast.not.i18 = icmp eq i16 %8, 0 br i1 %bf.cast.not.i18, label %cond.false.i23, label %land.lhs.true.i19 land.lhs.true.i19: ; preds = %if.end.i %type_.i.i.i.i20 = getelementptr inbounds i8, ptr %agg.tmp3.i15, i64 16 store i32 9, ptr %type_.i.i.i.i20, align 16, !alias.scope !1394 - %8 = bitcast float %6 to i32 - %retval.i.sroa.0.0.insert.ext.i.i.i21 = zext i32 %8 to i64 + %9 = bitcast float %7 to i32 + %retval.i.sroa.0.0.insert.ext.i.i.i21 = zext i32 %9 to i64 store i64 %retval.i.sroa.0.0.insert.ext.i.i.i21, ptr %agg.tmp3.i15, align 16, !alias.scope !1394 %call7.i22 = call noundef zeroext i1 @_ZN3fmt3v106detail9write_locESt20back_insert_iteratorINS1_6bufferIwEEENS0_9loc_valueERKNS0_12format_specsIwEENS1_10locale_refE(ptr %retval.sroa.0.0.copyload.i10, ptr noundef nonnull byval(%"class.fmt::v10::loc_value") align 16 %agg.tmp3.i15, ptr noundef nonnull align 4 dereferenceable(32) %agg.tmp21.i13, ptr %retval.sroa.0.0.copyload.i12) br i1 %call7.i22, label %_ZN3fmt3v106detail5writeIwSt20back_insert_iteratorINS1_6bufferIwEEEfTnNSt9enable_ifIXsr17is_floating_pointIT1_EE5valueEiE4typeELi0EEET0_SB_S8_NS0_12format_specsIT_EENS1_10locale_refE.exit26, label %cond.false.i23 cond.false.i23: ; preds = %land.lhs.true.i19, %if.end.i - %call13.i24 = call ptr @_ZN3fmt3v106detail11write_floatIwSt20back_insert_iteratorINS1_6bufferIwEEEfEET0_S7_T1_NS0_12format_specsIT_EENS1_10locale_refE(ptr %retval.sroa.0.0.copyload.i10, float noundef %6, ptr noundef nonnull byval(%"struct.fmt::v10::format_specs.201") align 8 %agg.tmp21.i13, ptr %retval.sroa.0.0.copyload.i12) + %call13.i24 = call ptr @_ZN3fmt3v106detail11write_floatIwSt20back_insert_iteratorINS1_6bufferIwEEEfEET0_S7_T1_NS0_12format_specsIT_EENS1_10locale_refE(ptr %retval.sroa.0.0.copyload.i10, float noundef %7, ptr noundef nonnull byval(%"struct.fmt::v10::format_specs.201") align 8 %agg.tmp21.i13, ptr %retval.sroa.0.0.copyload.i12) br label %_ZN3fmt3v106detail5writeIwSt20back_insert_iteratorINS1_6bufferIwEEEfTnNSt9enable_ifIXsr17is_floating_pointIT1_EE5valueEiE4typeELi0EEET0_SB_S8_NS0_12format_specsIT_EENS1_10locale_refE.exit26 _ZN3fmt3v106detail5writeIwSt20back_insert_iteratorINS1_6bufferIwEEEfTnNSt9enable_ifIXsr17is_floating_pointIT1_EE5valueEiE4typeELi0EEET0_SB_S8_NS0_12format_specsIT_EENS1_10locale_refE.exit26: ; preds = %land.lhs.true.i19, %cond.false.i23 @@ -90698,8 +90697,8 @@ invoke.cont3: ; preds = %entry if.then.i: ; preds = %invoke.cont3 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(80) %specs.i, ptr noundef nonnull align 8 dereferenceable(80) %this, i64 80, i1 false) - %width_ref6.i = getelementptr inbounds i8, ptr %specs.i, i64 32 - invoke void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextISt20back_insert_iteratorINS1_6bufferIwEEEwEEEEvRiNS1_7arg_refINT0_9char_typeEEERSC_(ptr noundef nonnull align 4 dereferenceable(4) %specs.i, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref.274") align 8 %width_ref6.i, ptr noundef nonnull align 8 dereferenceable(32) %ctx) + %4 = getelementptr inbounds i8, ptr %this, i64 32 + invoke void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextISt20back_insert_iteratorINS1_6bufferIwEEEwEEEEvRiNS1_7arg_refINT0_9char_typeEEERSC_(ptr noundef nonnull align 4 dereferenceable(4) %specs.i, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref.274") align 8 %4, ptr noundef nonnull align 8 dereferenceable(32) %ctx) to label %.noexc unwind label %lpad2 .noexc: ; preds = %if.then.i @@ -90709,29 +90708,29 @@ if.then.i: ; preds = %invoke.cont3 to label %if.end.i.invoke unwind label %lpad2 if.end.i.invoke: ; preds = %invoke.cont3, %.noexc - %4 = phi ptr [ %specs.i, %.noexc ], [ %this, %invoke.cont3 ] + %5 = phi ptr [ %specs.i, %.noexc ], [ %this, %invoke.cont3 ] %retval.sroa.0.0.copyload.i = load ptr, ptr %ctx, align 8 - %5 = invoke ptr @_ZN3fmt3v106detail5writeIwSt20back_insert_iteratorINS1_6bufferIwEEEEET0_S7_NS0_17basic_string_viewIT_EERKNS0_12format_specsIS9_EE(ptr %retval.sroa.0.0.copyload.i, ptr %0, i64 %1, ptr noundef nonnull align 4 dereferenceable(32) %4) + %6 = invoke ptr @_ZN3fmt3v106detail5writeIwSt20back_insert_iteratorINS1_6bufferIwEEEEET0_S7_NS0_17basic_string_viewIT_EERKNS0_12format_specsIS9_EE(ptr %retval.sroa.0.0.copyload.i, ptr %0, i64 %1, ptr noundef nonnull align 4 dereferenceable(32) %5) to label %_ZNK3fmt3v109formatterINS0_17basic_string_viewIwEEwvE6formatINS0_20basic_format_contextISt20back_insert_iteratorINS0_6detail6bufferIwEEEwEEEEDTcldtfp0_3outEERKS3_RT_.exit unwind label %lpad2 _ZNK3fmt3v109formatterINS0_17basic_string_viewIwEEwvE6formatINS0_20basic_format_contextISt20back_insert_iteratorINS0_6detail6bufferIwEEEwEEEEDTcldtfp0_3outEERKS3_RT_.exit: ; preds = %if.end.i.invoke - %6 = load ptr, ptr %ptr_.i.i, align 8 - %cmp.not.i.i = icmp eq ptr %6, %store_.i + %7 = load ptr, ptr %ptr_.i.i, align 8 + %cmp.not.i.i = icmp eq ptr %7, %store_.i br i1 %cmp.not.i.i, label %_ZN3fmt3v1019basic_memory_bufferIwLm500ESaIwEED2Ev.exit, label %if.then.i.i if.then.i.i: ; preds = %_ZNK3fmt3v109formatterINS0_17basic_string_viewIwEEwvE6formatINS0_20basic_format_contextISt20back_insert_iteratorINS0_6detail6bufferIwEEEwEEEEDTcldtfp0_3outEERKS3_RT_.exit - call void @_ZdlPv(ptr noundef %6) #30 + call void @_ZdlPv(ptr noundef %7) #30 br label %_ZN3fmt3v1019basic_memory_bufferIwLm500ESaIwEED2Ev.exit _ZN3fmt3v1019basic_memory_bufferIwLm500ESaIwEED2Ev.exit: ; preds = %_ZNK3fmt3v109formatterINS0_17basic_string_viewIwEEwvE6formatINS0_20basic_format_contextISt20back_insert_iteratorINS0_6detail6bufferIwEEEwEEEEDTcldtfp0_3outEERKS3_RT_.exit, %if.then.i.i call void @_ZNSaIwED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %alloc_.i) #26 - ret ptr %5 + ret ptr %6 lpad2: ; preds = %if.end.i.invoke, %.noexc, %if.then.i, %entry - %7 = landingpad { ptr, i32 } + %8 = landingpad { ptr, i32 } cleanup call void @_ZN3fmt3v1019basic_memory_bufferIwLm500ESaIwEED2Ev(ptr noundef nonnull align 8 dereferenceable(2040) %buffer) #26 - resume { ptr, i32 } %7 + resume { ptr, i32 } %8 } ; Function Attrs: mustprogress uwtable @@ -91092,8 +91091,8 @@ invoke.cont3: ; preds = %entry if.then.i: ; preds = %invoke.cont3 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(80) %specs.i, ptr noundef nonnull align 8 dereferenceable(80) %this, i64 80, i1 false) - %width_ref6.i = getelementptr inbounds i8, ptr %specs.i, i64 32 - invoke void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextISt20back_insert_iteratorINS1_6bufferIwEEEwEEEEvRiNS1_7arg_refINT0_9char_typeEEERSC_(ptr noundef nonnull align 4 dereferenceable(4) %specs.i, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref.274") align 8 %width_ref6.i, ptr noundef nonnull align 8 dereferenceable(32) %ctx) + %4 = getelementptr inbounds i8, ptr %this, i64 32 + invoke void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextISt20back_insert_iteratorINS1_6bufferIwEEEwEEEEvRiNS1_7arg_refINT0_9char_typeEEERSC_(ptr noundef nonnull align 4 dereferenceable(4) %specs.i, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref.274") align 8 %4, ptr noundef nonnull align 8 dereferenceable(32) %ctx) to label %.noexc unwind label %lpad2 .noexc: ; preds = %if.then.i @@ -91103,29 +91102,29 @@ if.then.i: ; preds = %invoke.cont3 to label %if.end.i.invoke unwind label %lpad2 if.end.i.invoke: ; preds = %invoke.cont3, %.noexc - %4 = phi ptr [ %specs.i, %.noexc ], [ %this, %invoke.cont3 ] + %5 = phi ptr [ %specs.i, %.noexc ], [ %this, %invoke.cont3 ] %retval.sroa.0.0.copyload.i = load ptr, ptr %ctx, align 8 - %5 = invoke ptr @_ZN3fmt3v106detail5writeIwSt20back_insert_iteratorINS1_6bufferIwEEEEET0_S7_NS0_17basic_string_viewIT_EERKNS0_12format_specsIS9_EE(ptr %retval.sroa.0.0.copyload.i, ptr %0, i64 %1, ptr noundef nonnull align 4 dereferenceable(32) %4) + %6 = invoke ptr @_ZN3fmt3v106detail5writeIwSt20back_insert_iteratorINS1_6bufferIwEEEEET0_S7_NS0_17basic_string_viewIT_EERKNS0_12format_specsIS9_EE(ptr %retval.sroa.0.0.copyload.i, ptr %0, i64 %1, ptr noundef nonnull align 4 dereferenceable(32) %5) to label %_ZNK3fmt3v109formatterINS0_17basic_string_viewIwEEwvE6formatINS0_20basic_format_contextISt20back_insert_iteratorINS0_6detail6bufferIwEEEwEEEEDTcldtfp0_3outEERKS3_RT_.exit unwind label %lpad2 _ZNK3fmt3v109formatterINS0_17basic_string_viewIwEEwvE6formatINS0_20basic_format_contextISt20back_insert_iteratorINS0_6detail6bufferIwEEEwEEEEDTcldtfp0_3outEERKS3_RT_.exit: ; preds = %if.end.i.invoke - %6 = load ptr, ptr %ptr_.i.i, align 8 - %cmp.not.i.i = icmp eq ptr %6, %store_.i + %7 = load ptr, ptr %ptr_.i.i, align 8 + %cmp.not.i.i = icmp eq ptr %7, %store_.i br i1 %cmp.not.i.i, label %_ZN3fmt3v1019basic_memory_bufferIwLm500ESaIwEED2Ev.exit, label %if.then.i.i if.then.i.i: ; preds = %_ZNK3fmt3v109formatterINS0_17basic_string_viewIwEEwvE6formatINS0_20basic_format_contextISt20back_insert_iteratorINS0_6detail6bufferIwEEEwEEEEDTcldtfp0_3outEERKS3_RT_.exit - call void @_ZdlPv(ptr noundef %6) #30 + call void @_ZdlPv(ptr noundef %7) #30 br label %_ZN3fmt3v1019basic_memory_bufferIwLm500ESaIwEED2Ev.exit _ZN3fmt3v1019basic_memory_bufferIwLm500ESaIwEED2Ev.exit: ; preds = %_ZNK3fmt3v109formatterINS0_17basic_string_viewIwEEwvE6formatINS0_20basic_format_contextISt20back_insert_iteratorINS0_6detail6bufferIwEEEwEEEEDTcldtfp0_3outEERKS3_RT_.exit, %if.then.i.i call void @_ZNSaIwED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %alloc_.i) #26 - ret ptr %5 + ret ptr %6 lpad2: ; preds = %if.end.i.invoke, %.noexc, %if.then.i, %entry - %7 = landingpad { ptr, i32 } + %8 = landingpad { ptr, i32 } cleanup call void @_ZN3fmt3v1019basic_memory_bufferIwLm500ESaIwEED2Ev(ptr noundef nonnull align 8 dereferenceable(2040) %buffer) #26 - resume { ptr, i32 } %7 + resume { ptr, i32 } %8 } ; Function Attrs: mustprogress uwtable @@ -112488,8 +112487,8 @@ if.end: ; preds = %_ZNSt20back_insert_ if.then.i: ; preds = %if.end call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(80) %specs.i, ptr noundef nonnull align 8 dereferenceable(80) %f, i64 80, i1 false) - %width_ref6.i = getelementptr inbounds i8, ptr %specs.i, i64 32 - call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextISt20back_insert_iteratorINS1_6bufferIwEEEwEEEEvRiNS1_7arg_refINT0_9char_typeEEERSC_(ptr noundef nonnull align 4 dereferenceable(4) %specs.i, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref.274") align 8 %width_ref6.i, ptr noundef nonnull align 8 dereferenceable(32) %10) + %13 = getelementptr inbounds i8, ptr %f, i64 32 + call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextISt20back_insert_iteratorINS1_6bufferIwEEEwEEEEvRiNS1_7arg_refINT0_9char_typeEEERSC_(ptr noundef nonnull align 4 dereferenceable(4) %specs.i, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref.274") align 8 %13, ptr noundef nonnull align 8 dereferenceable(32) %10) %precision.i = getelementptr inbounds i8, ptr %specs.i, i64 4 %precision_ref8.i = getelementptr inbounds i8, ptr %specs.i, i64 56 call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_17precision_checkerENS0_20basic_format_contextISt20back_insert_iteratorINS1_6bufferIwEEEwEEEEvRiNS1_7arg_refINT0_9char_typeEEERSC_(ptr noundef nonnull align 4 dereferenceable(4) %precision.i, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref.274") align 8 %precision_ref8.i, ptr noundef nonnull align 8 dereferenceable(32) %10) @@ -112503,8 +112502,8 @@ if.end.i: ; preds = %if.end br label %_ZNK3fmt3v109formatterINS0_17basic_string_viewIwEEwvE6formatINS0_20basic_format_contextISt20back_insert_iteratorINS0_6detail6bufferIwEEEwEEEEDTcldtfp0_3outEERKS3_RT_.exit _ZNK3fmt3v109formatterINS0_17basic_string_viewIwEEwvE6formatINS0_20basic_format_contextISt20back_insert_iteratorINS0_6detail6bufferIwEEEwEEEEDTcldtfp0_3outEERKS3_RT_.exit: ; preds = %if.end.i, %if.then.i - %13 = load i32, ptr %this, align 8 - %inc = add nsw i32 %13, 1 + %14 = load i32, ptr %this, align 8 + %inc = add nsw i32 %14, 1 store i32 %inc, ptr %this, align 8 ret void } @@ -112579,51 +112578,51 @@ if.end: ; preds = %_ZNSt20back_insert_ if.then.i: ; preds = %if.end call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(80) %specs.i, ptr noundef nonnull align 8 dereferenceable(80) %f, i64 80, i1 false) - %width_ref6.i = getelementptr inbounds i8, ptr %specs.i, i64 32 - call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextISt20back_insert_iteratorINS1_6bufferIwEEEwEEEEvRiNS1_7arg_refINT0_9char_typeEEERSC_(ptr noundef nonnull align 4 dereferenceable(4) %specs.i, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref.274") align 8 %width_ref6.i, ptr noundef nonnull align 8 dereferenceable(32) %10) + %13 = getelementptr inbounds i8, ptr %f, i64 32 + call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextISt20back_insert_iteratorINS1_6bufferIwEEEwEEEEvRiNS1_7arg_refINT0_9char_typeEEERSC_(ptr noundef nonnull align 4 dereferenceable(4) %specs.i, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref.274") align 8 %13, ptr noundef nonnull align 8 dereferenceable(32) %10) %precision.i = getelementptr inbounds i8, ptr %specs.i, i64 4 %precision_ref8.i = getelementptr inbounds i8, ptr %specs.i, i64 56 call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_17precision_checkerENS0_20basic_format_contextISt20back_insert_iteratorINS1_6bufferIwEEEwEEEEvRiNS1_7arg_refINT0_9char_typeEEERSC_(ptr noundef nonnull align 4 dereferenceable(4) %precision.i, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref.274") align 8 %precision_ref8.i, ptr noundef nonnull align 8 dereferenceable(32) %10) %retval.sroa.0.0.copyload.i15 = load ptr, ptr %10, align 8 - %13 = load i32, ptr %v, align 4 + %14 = load i32, ptr %v, align 4 %loc_.i = getelementptr inbounds i8, ptr %10, i64 24 %retval.sroa.0.0.copyload.i16 = load ptr, ptr %loc_.i, align 8 %localized.i40.i = getelementptr inbounds i8, ptr %specs.i, i64 9 %bf.load.i41.i = load i16, ptr %localized.i40.i, align 1 - %14 = and i16 %bf.load.i41.i, 256 - %bf.cast.i44.i.not = icmp eq i16 %14, 0 + %15 = and i16 %bf.load.i41.i, 256 + %bf.cast.i44.i.not = icmp eq i16 %15, 0 br i1 %bf.cast.i44.i.not, label %if.end.i45.i, label %land.lhs.true.i53.i land.lhs.true.i53.i: ; preds = %if.then.i %type_.i.i.i = getelementptr inbounds i8, ptr %agg.tmp2.i35.i, i64 16 store i32 1, ptr %type_.i.i.i, align 16, !alias.scope !1706 - %retval.i.sroa.0.0.insert.ext.i.i = zext i32 %13 to i64 + %retval.i.sroa.0.0.insert.ext.i.i = zext i32 %14 to i64 store i64 %retval.i.sroa.0.0.insert.ext.i.i, ptr %agg.tmp2.i35.i, align 16, !alias.scope !1706 %call.i54.i = call noundef zeroext i1 @_ZN3fmt3v106detail9write_locESt20back_insert_iteratorINS1_6bufferIwEEENS0_9loc_valueERKNS0_12format_specsIwEENS1_10locale_refE(ptr %retval.sroa.0.0.copyload.i15, ptr noundef nonnull byval(%"class.fmt::v10::loc_value") align 16 %agg.tmp2.i35.i, ptr noundef nonnull align 4 dereferenceable(32) %specs.i, ptr %retval.sroa.0.0.copyload.i16) br i1 %call.i54.i, label %_ZNK3fmt3v109formatterIiwvE6formatINS0_20basic_format_contextISt20back_insert_iteratorINS0_6detail6bufferIwEEEwEEEEDTcldtfp0_3outEERKiRT_.exit, label %if.end.i45.i if.end.i45.i: ; preds = %land.lhs.true.i53.i, %if.then.i - %cmp.i.i = icmp slt i32 %13, 0 + %cmp.i.i = icmp slt i32 %14, 0 br i1 %cmp.i.i, label %if.then.i18, label %if.else.i if.then.i18: ; preds = %if.end.i45.i - %sub.i = sub i32 0, %13 + %sub.i = sub i32 0, %14 br label %_ZN3fmt3v106detail18make_write_int_argIiEENS1_13write_int_argINSt11conditionalIXaalecl8num_bitsIT_EELi32EntLi0EEjNS4_IXlecl8num_bitsIS5_EELi64EEmoE4typeEE4typeEEES5_NS0_4sign4typeE.exit if.else.i: ; preds = %if.end.i45.i %bf.load8.i47.i = load i16, ptr %localized.i40.i, align 1 - %15 = lshr i16 %bf.load8.i47.i, 4 - %16 = and i16 %15, 7 - %bf.cast11.i50.i = zext nneg i16 %16 to i64 + %16 = lshr i16 %bf.load8.i47.i, 4 + %17 = and i16 %16, 7 + %bf.cast11.i50.i = zext nneg i16 %17 to i64 %arrayidx.i = getelementptr inbounds [4 x i32], ptr @__const._ZN3fmt3v106detail18make_write_int_argIoEENS1_13write_int_argINSt11conditionalIXaalecl8num_bitsIT_EELi32EntLi0EEjNS4_IXlecl8num_bitsIS5_EELi64EEmoE4typeEE4typeEEES5_NS0_4sign4typeE.prefixes, i64 0, i64 %bf.cast11.i50.i - %17 = load i32, ptr %arrayidx.i, align 4 - %18 = zext i32 %17 to i64 - %19 = shl nuw i64 %18, 32 + %18 = load i32, ptr %arrayidx.i, align 4 + %19 = zext i32 %18 to i64 + %20 = shl nuw i64 %19, 32 br label %_ZN3fmt3v106detail18make_write_int_argIiEENS1_13write_int_argINSt11conditionalIXaalecl8num_bitsIT_EELi32EntLi0EEjNS4_IXlecl8num_bitsIS5_EELi64EEmoE4typeEE4typeEEES5_NS0_4sign4typeE.exit _ZN3fmt3v106detail18make_write_int_argIiEENS1_13write_int_argINSt11conditionalIXaalecl8num_bitsIT_EELi32EntLi0EEjNS4_IXlecl8num_bitsIS5_EELi64EEmoE4typeEE4typeEEES5_NS0_4sign4typeE.exit: ; preds = %if.then.i18, %if.else.i - %prefix.0.i = phi i64 [ 72057787311456256, %if.then.i18 ], [ %19, %if.else.i ] - %abs_value.0.i = phi i32 [ %sub.i, %if.then.i18 ], [ %13, %if.else.i ] + %prefix.0.i = phi i64 [ 72057787311456256, %if.then.i18 ], [ %20, %if.else.i ] + %abs_value.0.i = phi i32 [ %sub.i, %if.then.i18 ], [ %14, %if.else.i ] %retval.sroa.0.0.insert.ext.i = zext i32 %abs_value.0.i to i64 %retval.sroa.0.0.insert.insert.i = or disjoint i64 %prefix.0.i, %retval.sroa.0.0.insert.ext.i %call16.i52.i = call ptr @_ZN3fmt3v106detail18write_int_noinlineIwSt20back_insert_iteratorINS1_6bufferIwEEEjEET0_S7_NS1_13write_int_argIT1_EERKNS0_12format_specsIT_EENS1_10locale_refE(ptr %retval.sroa.0.0.copyload.i15, i64 %retval.sroa.0.0.insert.insert.i, ptr noundef nonnull align 4 dereferenceable(32) %specs.i, ptr %retval.sroa.0.0.copyload.i16) @@ -112631,53 +112630,53 @@ _ZN3fmt3v106detail18make_write_int_argIiEENS1_13write_int_argINSt11conditionalIX if.end.i: ; preds = %if.end %retval.sroa.0.0.copyload.i19 = load ptr, ptr %10, align 8 - %20 = load i32, ptr %v, align 4 + %21 = load i32, ptr %v, align 4 %loc_.i20 = getelementptr inbounds i8, ptr %10, i64 24 %retval.sroa.0.0.copyload.i21 = load ptr, ptr %loc_.i20, align 8 %localized.i.i = getelementptr inbounds i8, ptr %f, i64 9 %bf.load.i.i = load i16, ptr %localized.i.i, align 1 - %21 = and i16 %bf.load.i.i, 256 - %bf.cast.i.i.not = icmp eq i16 %21, 0 + %22 = and i16 %bf.load.i.i, 256 + %bf.cast.i.i.not = icmp eq i16 %22, 0 br i1 %bf.cast.i.i.not, label %if.end.i.i, label %land.lhs.true.i.i land.lhs.true.i.i: ; preds = %if.end.i %type_.i.i.i22 = getelementptr inbounds i8, ptr %agg.tmp2.i.i, i64 16 store i32 1, ptr %type_.i.i.i22, align 16, !alias.scope !1709 - %retval.i.sroa.0.0.insert.ext.i.i23 = zext i32 %20 to i64 + %retval.i.sroa.0.0.insert.ext.i.i23 = zext i32 %21 to i64 store i64 %retval.i.sroa.0.0.insert.ext.i.i23, ptr %agg.tmp2.i.i, align 16, !alias.scope !1709 %call.i.i = tail call noundef zeroext i1 @_ZN3fmt3v106detail9write_locESt20back_insert_iteratorINS1_6bufferIwEEENS0_9loc_valueERKNS0_12format_specsIwEENS1_10locale_refE(ptr %retval.sroa.0.0.copyload.i19, ptr noundef nonnull byval(%"class.fmt::v10::loc_value") align 16 %agg.tmp2.i.i, ptr noundef nonnull align 4 dereferenceable(32) %f, ptr %retval.sroa.0.0.copyload.i21) br i1 %call.i.i, label %_ZNK3fmt3v109formatterIiwvE6formatINS0_20basic_format_contextISt20back_insert_iteratorINS0_6detail6bufferIwEEEwEEEEDTcldtfp0_3outEERKiRT_.exit, label %if.end.i.i if.end.i.i: ; preds = %land.lhs.true.i.i, %if.end.i - %cmp.i.i24 = icmp slt i32 %20, 0 + %cmp.i.i24 = icmp slt i32 %21, 0 br i1 %cmp.i.i24, label %if.then.i33, label %if.else.i25 if.then.i33: ; preds = %if.end.i.i - %sub.i34 = sub i32 0, %20 + %sub.i34 = sub i32 0, %21 br label %_ZN3fmt3v106detail18make_write_int_argIiEENS1_13write_int_argINSt11conditionalIXaalecl8num_bitsIT_EELi32EntLi0EEjNS4_IXlecl8num_bitsIS5_EELi64EEmoE4typeEE4typeEEES5_NS0_4sign4typeE.exit35 if.else.i25: ; preds = %if.end.i.i %bf.load8.i.i = load i16, ptr %localized.i.i, align 1 - %22 = lshr i16 %bf.load8.i.i, 4 - %23 = and i16 %22, 7 - %bf.cast11.i.i = zext nneg i16 %23 to i64 + %23 = lshr i16 %bf.load8.i.i, 4 + %24 = and i16 %23, 7 + %bf.cast11.i.i = zext nneg i16 %24 to i64 %arrayidx.i27 = getelementptr inbounds [4 x i32], ptr @__const._ZN3fmt3v106detail18make_write_int_argIoEENS1_13write_int_argINSt11conditionalIXaalecl8num_bitsIT_EELi32EntLi0EEjNS4_IXlecl8num_bitsIS5_EELi64EEmoE4typeEE4typeEEES5_NS0_4sign4typeE.prefixes, i64 0, i64 %bf.cast11.i.i - %24 = load i32, ptr %arrayidx.i27, align 4 - %25 = zext i32 %24 to i64 - %26 = shl nuw i64 %25, 32 + %25 = load i32, ptr %arrayidx.i27, align 4 + %26 = zext i32 %25 to i64 + %27 = shl nuw i64 %26, 32 br label %_ZN3fmt3v106detail18make_write_int_argIiEENS1_13write_int_argINSt11conditionalIXaalecl8num_bitsIT_EELi32EntLi0EEjNS4_IXlecl8num_bitsIS5_EELi64EEmoE4typeEE4typeEEES5_NS0_4sign4typeE.exit35 _ZN3fmt3v106detail18make_write_int_argIiEENS1_13write_int_argINSt11conditionalIXaalecl8num_bitsIT_EELi32EntLi0EEjNS4_IXlecl8num_bitsIS5_EELi64EEmoE4typeEE4typeEEES5_NS0_4sign4typeE.exit35: ; preds = %if.then.i33, %if.else.i25 - %prefix.0.i29 = phi i64 [ 72057787311456256, %if.then.i33 ], [ %26, %if.else.i25 ] - %abs_value.0.i30 = phi i32 [ %sub.i34, %if.then.i33 ], [ %20, %if.else.i25 ] + %prefix.0.i29 = phi i64 [ 72057787311456256, %if.then.i33 ], [ %27, %if.else.i25 ] + %abs_value.0.i30 = phi i32 [ %sub.i34, %if.then.i33 ], [ %21, %if.else.i25 ] %retval.sroa.0.0.insert.ext.i31 = zext i32 %abs_value.0.i30 to i64 %retval.sroa.0.0.insert.insert.i32 = or disjoint i64 %prefix.0.i29, %retval.sroa.0.0.insert.ext.i31 %call16.i.i = tail call ptr @_ZN3fmt3v106detail18write_int_noinlineIwSt20back_insert_iteratorINS1_6bufferIwEEEjEET0_S7_NS1_13write_int_argIT1_EERKNS0_12format_specsIT_EENS1_10locale_refE(ptr %retval.sroa.0.0.copyload.i19, i64 %retval.sroa.0.0.insert.insert.i32, ptr noundef nonnull align 4 dereferenceable(32) %f, ptr %retval.sroa.0.0.copyload.i21) br label %_ZNK3fmt3v109formatterIiwvE6formatINS0_20basic_format_contextISt20back_insert_iteratorINS0_6detail6bufferIwEEEwEEEEDTcldtfp0_3outEERKiRT_.exit _ZNK3fmt3v109formatterIiwvE6formatINS0_20basic_format_contextISt20back_insert_iteratorINS0_6detail6bufferIwEEEwEEEEDTcldtfp0_3outEERKiRT_.exit: ; preds = %_ZN3fmt3v106detail18make_write_int_argIiEENS1_13write_int_argINSt11conditionalIXaalecl8num_bitsIT_EELi32EntLi0EEjNS4_IXlecl8num_bitsIS5_EELi64EEmoE4typeEE4typeEEES5_NS0_4sign4typeE.exit35, %land.lhs.true.i.i, %_ZN3fmt3v106detail18make_write_int_argIiEENS1_13write_int_argINSt11conditionalIXaalecl8num_bitsIT_EELi32EntLi0EEjNS4_IXlecl8num_bitsIS5_EELi64EEmoE4typeEE4typeEEES5_NS0_4sign4typeE.exit, %land.lhs.true.i53.i - %27 = load i32, ptr %this, align 8 - %inc = add nsw i32 %27, 1 + %28 = load i32, ptr %this, align 8 + %inc = add nsw i32 %28, 1 store i32 %inc, ptr %this, align 8 ret void } @@ -112941,9 +112940,9 @@ for.body.lr.ph: ; preds = %_ZN3fmt3v106detail8 %size_.i.i11 = getelementptr inbounds i8, ptr %this, i64 88 %width_ref.i = getelementptr inbounds i8, ptr %this, i64 32 %precision_ref.i = getelementptr inbounds i8, ptr %this, i64 56 - %width_ref6.i = getelementptr inbounds i8, ptr %specs.i, i64 32 %precision.i = getelementptr inbounds i8, ptr %specs.i, i64 4 %precision_ref8.i = getelementptr inbounds i8, ptr %specs.i, i64 56 + %10 = getelementptr inbounds i8, ptr %this, i64 32 br label %for.body for.body: ; preds = %for.body.lr.ph, %_ZNK3fmt3v109formatterINS0_17basic_string_viewIwEEwvE6formatINS0_20basic_format_contextISt20back_insert_iteratorINS0_6detail6bufferIwEEEwEEEEDTcldtfp0_3outEERKS3_RT_.exit @@ -112954,10 +112953,10 @@ for.body: ; preds = %for.body.lr.ph, %_Z br i1 %cmp.not, label %if.end, label %if.then if.then: ; preds = %for.body - %10 = load ptr, ptr %separator_, align 8 - %11 = load i64, ptr %size_.i.i11, align 8 - %add.ptr.i.i12 = getelementptr inbounds i32, ptr %10, i64 %11 - %cmp.not2.i.i13 = icmp eq i64 %11, 0 + %11 = load ptr, ptr %separator_, align 8 + %12 = load i64, ptr %size_.i.i11, align 8 + %add.ptr.i.i12 = getelementptr inbounds i32, ptr %11, i64 %12 + %cmp.not2.i.i13 = icmp eq i64 %12, 0 br i1 %cmp.not2.i.i13, label %if.end, label %while.body.lr.ph.i.i14 while.body.lr.ph.i.i14: ; preds = %if.then @@ -112967,46 +112966,46 @@ while.body.lr.ph.i.i14: ; preds = %if.then br label %while.body.i.i18 while.body.i.i18: ; preds = %_ZNSt20back_insert_iteratorIN3fmt3v106detail6bufferIwEEEaSEOw.exit.i.i23, %while.body.lr.ph.i.i14 - %begin.addr.03.i.i19 = phi ptr [ %10, %while.body.lr.ph.i.i14 ], [ %incdec.ptr.i.i20, %_ZNSt20back_insert_iteratorIN3fmt3v106detail6bufferIwEEEaSEOw.exit.i.i23 ] + %begin.addr.03.i.i19 = phi ptr [ %11, %while.body.lr.ph.i.i14 ], [ %incdec.ptr.i.i20, %_ZNSt20back_insert_iteratorIN3fmt3v106detail6bufferIwEEEaSEOw.exit.i.i23 ] %incdec.ptr.i.i20 = getelementptr inbounds i8, ptr %begin.addr.03.i.i19, i64 4 - %12 = load i32, ptr %begin.addr.03.i.i19, align 4 - %13 = load i64, ptr %size_.i.i.i.i15, align 8 - %add.i.i.i.i21 = add i64 %13, 1 - %14 = load i64, ptr %capacity_.i.i.i.i.i16, align 8 - %cmp.i.i.i.i.i22 = icmp ult i64 %14, %add.i.i.i.i21 + %13 = load i32, ptr %begin.addr.03.i.i19, align 4 + %14 = load i64, ptr %size_.i.i.i.i15, align 8 + %add.i.i.i.i21 = add i64 %14, 1 + %15 = load i64, ptr %capacity_.i.i.i.i.i16, align 8 + %cmp.i.i.i.i.i22 = icmp ult i64 %15, %add.i.i.i.i21 br i1 %cmp.i.i.i.i.i22, label %if.then.i.i.i.i.i27, label %_ZNSt20back_insert_iteratorIN3fmt3v106detail6bufferIwEEEaSEOw.exit.i.i23 if.then.i.i.i.i.i27: ; preds = %while.body.i.i18 %vtable.i.i.i.i.i28 = load ptr, ptr %retval.sroa.0.067, align 8 - %15 = load ptr, ptr %vtable.i.i.i.i.i28, align 8 - call void %15(ptr noundef nonnull align 8 dereferenceable(32) %retval.sroa.0.067, i64 noundef %add.i.i.i.i21) + %16 = load ptr, ptr %vtable.i.i.i.i.i28, align 8 + call void %16(ptr noundef nonnull align 8 dereferenceable(32) %retval.sroa.0.067, i64 noundef %add.i.i.i.i21) %.pre.i.i.i.i29 = load i64, ptr %size_.i.i.i.i15, align 8 %.pre1.i.i.i.i30 = add i64 %.pre.i.i.i.i29, 1 br label %_ZNSt20back_insert_iteratorIN3fmt3v106detail6bufferIwEEEaSEOw.exit.i.i23 _ZNSt20back_insert_iteratorIN3fmt3v106detail6bufferIwEEEaSEOw.exit.i.i23: ; preds = %if.then.i.i.i.i.i27, %while.body.i.i18 %inc.pre-phi.i.i.i.i24 = phi i64 [ %add.i.i.i.i21, %while.body.i.i18 ], [ %.pre1.i.i.i.i30, %if.then.i.i.i.i.i27 ] - %16 = phi i64 [ %13, %while.body.i.i18 ], [ %.pre.i.i.i.i29, %if.then.i.i.i.i.i27 ] - %17 = load ptr, ptr %ptr_.i.i.i.i17, align 8 + %17 = phi i64 [ %14, %while.body.i.i18 ], [ %.pre.i.i.i.i29, %if.then.i.i.i.i.i27 ] + %18 = load ptr, ptr %ptr_.i.i.i.i17, align 8 store i64 %inc.pre-phi.i.i.i.i24, ptr %size_.i.i.i.i15, align 8 - %arrayidx.i.i.i.i25 = getelementptr inbounds i32, ptr %17, i64 %16 - store i32 %12, ptr %arrayidx.i.i.i.i25, align 4 + %arrayidx.i.i.i.i25 = getelementptr inbounds i32, ptr %18, i64 %17 + store i32 %13, ptr %arrayidx.i.i.i.i25, align 4 %cmp.not.i.i26 = icmp eq ptr %incdec.ptr.i.i20, %add.ptr.i.i12 br i1 %cmp.not.i.i26, label %if.end, label %while.body.i.i18, !llvm.loop !773 if.end: ; preds = %_ZNSt20back_insert_iteratorIN3fmt3v106detail6bufferIwEEEaSEOw.exit.i.i23, %if.then, %for.body %call.i32 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE4dataEv(ptr noundef nonnull align 8 dereferenceable(32) %it.sroa.0.065) #26 %call2.i = call noundef i64 @_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(32) %it.sroa.0.065) #26 - %18 = load i32, ptr %width_ref.i, align 8 - %cmp.i.not = icmp eq i32 %18, 0 - %19 = load i32, ptr %precision_ref.i, align 8 - %cmp4.i.not = icmp eq i32 %19, 0 + %19 = load i32, ptr %width_ref.i, align 8 + %cmp.i.not = icmp eq i32 %19, 0 + %20 = load i32, ptr %precision_ref.i, align 8 + %cmp4.i.not = icmp eq i32 %20, 0 %or.cond = select i1 %cmp.i.not, i1 %cmp4.i.not, i1 false br i1 %or.cond, label %_ZNK3fmt3v109formatterINS0_17basic_string_viewIwEEwvE6formatINS0_20basic_format_contextISt20back_insert_iteratorINS0_6detail6bufferIwEEEwEEEEDTcldtfp0_3outEERKS3_RT_.exit, label %if.then.i if.then.i: ; preds = %if.end call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(80) %specs.i, ptr noundef nonnull align 8 dereferenceable(80) %this, i64 80, i1 false) - call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextISt20back_insert_iteratorINS1_6bufferIwEEEwEEEEvRiNS1_7arg_refINT0_9char_typeEEERSC_(ptr noundef nonnull align 4 dereferenceable(4) %specs.i, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref.274") align 8 %width_ref6.i, ptr noundef nonnull align 8 dereferenceable(32) %ctx) + call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextISt20back_insert_iteratorINS1_6bufferIwEEEwEEEEvRiNS1_7arg_refINT0_9char_typeEEERSC_(ptr noundef nonnull align 4 dereferenceable(4) %specs.i, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref.274") align 8 %10, ptr noundef nonnull align 8 dereferenceable(32) %ctx) call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_17precision_checkerENS0_20basic_format_contextISt20back_insert_iteratorINS1_6bufferIwEEEwEEEEvRiNS1_7arg_refINT0_9char_typeEEERSC_(ptr noundef nonnull align 4 dereferenceable(4) %precision.i, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref.274") align 8 %precision_ref8.i, ptr noundef nonnull align 8 dereferenceable(32) %ctx) br label %_ZNK3fmt3v109formatterINS0_17basic_string_viewIwEEwvE6formatINS0_20basic_format_contextISt20back_insert_iteratorINS0_6detail6bufferIwEEEwEEEEDTcldtfp0_3outEERKS3_RT_.exit @@ -113022,11 +113021,11 @@ _ZNK3fmt3v109formatterINS0_17basic_string_viewIwEEwvE6formatINS0_20basic_format_ for.end: ; preds = %_ZNK3fmt3v109formatterINS0_17basic_string_viewIwEEwvE6formatINS0_20basic_format_contextISt20back_insert_iteratorINS0_6detail6bufferIwEEEwEEEEDTcldtfp0_3outEERKS3_RT_.exit, %_ZN3fmt3v106detail8copy_strIwRKNS0_17basic_string_viewIwEESt20back_insert_iteratorINS1_6bufferIwEEEEET1_OT0_SB_.exit %retval.sroa.0.0.lcssa = phi ptr [ %retval.sroa.0.0.copyload.i, %_ZN3fmt3v106detail8copy_strIwRKNS0_17basic_string_viewIwEESt20back_insert_iteratorINS1_6bufferIwEEEEET1_OT0_SB_.exit ], [ %call.i38, %_ZNK3fmt3v109formatterINS0_17basic_string_viewIwEEwvE6formatINS0_20basic_format_contextISt20back_insert_iteratorINS0_6detail6bufferIwEEEwEEEEDTcldtfp0_3outEERKS3_RT_.exit ] %closing_bracket_ = getelementptr inbounds i8, ptr %this, i64 112 - %20 = load ptr, ptr %closing_bracket_, align 8 + %21 = load ptr, ptr %closing_bracket_, align 8 %size_.i.i39 = getelementptr inbounds i8, ptr %this, i64 120 - %21 = load i64, ptr %size_.i.i39, align 8 - %add.ptr.i.i40 = getelementptr inbounds i32, ptr %20, i64 %21 - %cmp.not2.i.i41 = icmp eq i64 %21, 0 + %22 = load i64, ptr %size_.i.i39, align 8 + %add.ptr.i.i40 = getelementptr inbounds i32, ptr %21, i64 %22 + %cmp.not2.i.i41 = icmp eq i64 %22, 0 br i1 %cmp.not2.i.i41, label %_ZN3fmt3v106detail8copy_strIwRKNS0_17basic_string_viewIwEESt20back_insert_iteratorINS1_6bufferIwEEEEET1_OT0_SB_.exit59, label %while.body.lr.ph.i.i42 while.body.lr.ph.i.i42: ; preds = %for.end @@ -113036,30 +113035,30 @@ while.body.lr.ph.i.i42: ; preds = %for.end br label %while.body.i.i46 while.body.i.i46: ; preds = %_ZNSt20back_insert_iteratorIN3fmt3v106detail6bufferIwEEEaSEOw.exit.i.i51, %while.body.lr.ph.i.i42 - %begin.addr.03.i.i47 = phi ptr [ %20, %while.body.lr.ph.i.i42 ], [ %incdec.ptr.i.i48, %_ZNSt20back_insert_iteratorIN3fmt3v106detail6bufferIwEEEaSEOw.exit.i.i51 ] + %begin.addr.03.i.i47 = phi ptr [ %21, %while.body.lr.ph.i.i42 ], [ %incdec.ptr.i.i48, %_ZNSt20back_insert_iteratorIN3fmt3v106detail6bufferIwEEEaSEOw.exit.i.i51 ] %incdec.ptr.i.i48 = getelementptr inbounds i8, ptr %begin.addr.03.i.i47, i64 4 - %22 = load i32, ptr %begin.addr.03.i.i47, align 4 - %23 = load i64, ptr %size_.i.i.i.i43, align 8 - %add.i.i.i.i49 = add i64 %23, 1 - %24 = load i64, ptr %capacity_.i.i.i.i.i44, align 8 - %cmp.i.i.i.i.i50 = icmp ult i64 %24, %add.i.i.i.i49 + %23 = load i32, ptr %begin.addr.03.i.i47, align 4 + %24 = load i64, ptr %size_.i.i.i.i43, align 8 + %add.i.i.i.i49 = add i64 %24, 1 + %25 = load i64, ptr %capacity_.i.i.i.i.i44, align 8 + %cmp.i.i.i.i.i50 = icmp ult i64 %25, %add.i.i.i.i49 br i1 %cmp.i.i.i.i.i50, label %if.then.i.i.i.i.i55, label %_ZNSt20back_insert_iteratorIN3fmt3v106detail6bufferIwEEEaSEOw.exit.i.i51 if.then.i.i.i.i.i55: ; preds = %while.body.i.i46 %vtable.i.i.i.i.i56 = load ptr, ptr %retval.sroa.0.0.lcssa, align 8 - %25 = load ptr, ptr %vtable.i.i.i.i.i56, align 8 - call void %25(ptr noundef nonnull align 8 dereferenceable(32) %retval.sroa.0.0.lcssa, i64 noundef %add.i.i.i.i49) + %26 = load ptr, ptr %vtable.i.i.i.i.i56, align 8 + call void %26(ptr noundef nonnull align 8 dereferenceable(32) %retval.sroa.0.0.lcssa, i64 noundef %add.i.i.i.i49) %.pre.i.i.i.i57 = load i64, ptr %size_.i.i.i.i43, align 8 %.pre1.i.i.i.i58 = add i64 %.pre.i.i.i.i57, 1 br label %_ZNSt20back_insert_iteratorIN3fmt3v106detail6bufferIwEEEaSEOw.exit.i.i51 _ZNSt20back_insert_iteratorIN3fmt3v106detail6bufferIwEEEaSEOw.exit.i.i51: ; preds = %if.then.i.i.i.i.i55, %while.body.i.i46 %inc.pre-phi.i.i.i.i52 = phi i64 [ %add.i.i.i.i49, %while.body.i.i46 ], [ %.pre1.i.i.i.i58, %if.then.i.i.i.i.i55 ] - %26 = phi i64 [ %23, %while.body.i.i46 ], [ %.pre.i.i.i.i57, %if.then.i.i.i.i.i55 ] - %27 = load ptr, ptr %ptr_.i.i.i.i45, align 8 + %27 = phi i64 [ %24, %while.body.i.i46 ], [ %.pre.i.i.i.i57, %if.then.i.i.i.i.i55 ] + %28 = load ptr, ptr %ptr_.i.i.i.i45, align 8 store i64 %inc.pre-phi.i.i.i.i52, ptr %size_.i.i.i.i43, align 8 - %arrayidx.i.i.i.i53 = getelementptr inbounds i32, ptr %27, i64 %26 - store i32 %22, ptr %arrayidx.i.i.i.i53, align 4 + %arrayidx.i.i.i.i53 = getelementptr inbounds i32, ptr %28, i64 %27 + store i32 %23, ptr %arrayidx.i.i.i.i53, align 4 %cmp.not.i.i54 = icmp eq ptr %incdec.ptr.i.i48, %add.ptr.i.i40 br i1 %cmp.not.i.i54, label %_ZN3fmt3v106detail8copy_strIwRKNS0_17basic_string_viewIwEESt20back_insert_iteratorINS1_6bufferIwEEEEET1_OT0_SB_.exit59, label %while.body.i.i46, !llvm.loop !773 @@ -116541,51 +116540,51 @@ _ZN3fmt3v106detail5writeIwSt20back_insert_iteratorINS1_6bufferIwEEEEET0_S7_NS0_1 if.then.i: ; preds = %_ZN3fmt3v106detail5writeIwSt20back_insert_iteratorINS1_6bufferIwEEEEET0_S7_NS0_17basic_string_viewIT_EE.exit28 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(80) %specs.i, ptr noundef nonnull align 8 dereferenceable(80) %this, i64 80, i1 false) - %width_ref6.i = getelementptr inbounds i8, ptr %specs.i, i64 32 - call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextISt20back_insert_iteratorINS1_6bufferIwEEEwEEEEvRiNS1_7arg_refINT0_9char_typeEEERSC_(ptr noundef nonnull align 4 dereferenceable(4) %specs.i, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref.274") align 8 %width_ref6.i, ptr noundef nonnull align 8 dereferenceable(32) %ctx) + %15 = getelementptr inbounds i8, ptr %this, i64 32 + call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextISt20back_insert_iteratorINS1_6bufferIwEEEwEEEEvRiNS1_7arg_refINT0_9char_typeEEERSC_(ptr noundef nonnull align 4 dereferenceable(4) %specs.i, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref.274") align 8 %15, ptr noundef nonnull align 8 dereferenceable(32) %ctx) %precision.i = getelementptr inbounds i8, ptr %specs.i, i64 4 %precision_ref8.i = getelementptr inbounds i8, ptr %specs.i, i64 56 call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_17precision_checkerENS0_20basic_format_contextISt20back_insert_iteratorINS1_6bufferIwEEEwEEEEvRiNS1_7arg_refINT0_9char_typeEEERSC_(ptr noundef nonnull align 4 dereferenceable(4) %precision.i, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref.274") align 8 %precision_ref8.i, ptr noundef nonnull align 8 dereferenceable(32) %ctx) %retval.sroa.0.0.copyload.i29 = load ptr, ptr %ctx, align 8 - %15 = load i32, ptr %opt, align 4 + %16 = load i32, ptr %opt, align 4 %loc_.i = getelementptr inbounds i8, ptr %ctx, i64 24 %retval.sroa.0.0.copyload.i30 = load ptr, ptr %loc_.i, align 8 - %call15.i = call ptr @_ZN3fmt3v106detail5writeIwSt20back_insert_iteratorINS1_6bufferIwEEEEET0_S7_T_RKNS0_12format_specsIS8_EENS1_10locale_refE(ptr %retval.sroa.0.0.copyload.i29, i32 noundef signext %15, ptr noundef nonnull align 4 dereferenceable(32) %specs.i, ptr %retval.sroa.0.0.copyload.i30) + %call15.i = call ptr @_ZN3fmt3v106detail5writeIwSt20back_insert_iteratorINS1_6bufferIwEEEEET0_S7_T_RKNS0_12format_specsIS8_EENS1_10locale_refE(ptr %retval.sroa.0.0.copyload.i29, i32 noundef signext %16, ptr noundef nonnull align 4 dereferenceable(32) %specs.i, ptr %retval.sroa.0.0.copyload.i30) br label %_ZNK3fmt3v109formatterIwwvE6formatINS0_20basic_format_contextISt20back_insert_iteratorINS0_6detail6bufferIwEEEwEEEEDTcldtfp0_3outEERKwRT_.exit if.end.i: ; preds = %_ZN3fmt3v106detail5writeIwSt20back_insert_iteratorINS1_6bufferIwEEEEET0_S7_NS0_17basic_string_viewIT_EE.exit28 %retval.sroa.0.0.copyload.i31 = load ptr, ptr %ctx, align 8 - %16 = load i32, ptr %opt, align 4 + %17 = load i32, ptr %opt, align 4 %loc_.i32 = getelementptr inbounds i8, ptr %ctx, i64 24 %retval.sroa.0.0.copyload.i33 = load ptr, ptr %loc_.i32, align 8 - %call26.i = tail call ptr @_ZN3fmt3v106detail5writeIwSt20back_insert_iteratorINS1_6bufferIwEEEEET0_S7_T_RKNS0_12format_specsIS8_EENS1_10locale_refE(ptr %retval.sroa.0.0.copyload.i31, i32 noundef signext %16, ptr noundef nonnull align 4 dereferenceable(32) %this, ptr %retval.sroa.0.0.copyload.i33) + %call26.i = tail call ptr @_ZN3fmt3v106detail5writeIwSt20back_insert_iteratorINS1_6bufferIwEEEEET0_S7_T_RKNS0_12format_specsIS8_EENS1_10locale_refE(ptr %retval.sroa.0.0.copyload.i31, i32 noundef signext %17, ptr noundef nonnull align 4 dereferenceable(32) %this, ptr %retval.sroa.0.0.copyload.i33) br label %_ZNK3fmt3v109formatterIwwvE6formatINS0_20basic_format_contextISt20back_insert_iteratorINS0_6detail6bufferIwEEEwEEEEDTcldtfp0_3outEERKwRT_.exit _ZNK3fmt3v109formatterIwwvE6formatINS0_20basic_format_contextISt20back_insert_iteratorINS0_6detail6bufferIwEEEwEEEEDTcldtfp0_3outEERKwRT_.exit: ; preds = %if.end.i, %if.then.i %retval.i.sroa.0.0 = phi ptr [ %call15.i, %if.then.i ], [ %call26.i, %if.end.i ] %size_.i.i.i = getelementptr inbounds i8, ptr %retval.i.sroa.0.0, i64 16 - %17 = load i64, ptr %size_.i.i.i, align 8 - %add.i.i.i = add i64 %17, 1 + %18 = load i64, ptr %size_.i.i.i, align 8 + %add.i.i.i = add i64 %18, 1 %capacity_.i.i.i.i = getelementptr inbounds i8, ptr %retval.i.sroa.0.0, i64 24 - %18 = load i64, ptr %capacity_.i.i.i.i, align 8 - %cmp.i.i.i.i = icmp ult i64 %18, %add.i.i.i + %19 = load i64, ptr %capacity_.i.i.i.i, align 8 + %cmp.i.i.i.i = icmp ult i64 %19, %add.i.i.i br i1 %cmp.i.i.i.i, label %if.then.i.i.i.i, label %_ZN3fmt3v106detail5writeIcSt20back_insert_iteratorINS1_6bufferIwEEEEET0_S7_T_.exit if.then.i.i.i.i: ; preds = %_ZNK3fmt3v109formatterIwwvE6formatINS0_20basic_format_contextISt20back_insert_iteratorINS0_6detail6bufferIwEEEwEEEEDTcldtfp0_3outEERKwRT_.exit %vtable.i.i.i.i = load ptr, ptr %retval.i.sroa.0.0, align 8 - %19 = load ptr, ptr %vtable.i.i.i.i, align 8 - call void %19(ptr noundef nonnull align 8 dereferenceable(32) %retval.i.sroa.0.0, i64 noundef %add.i.i.i) + %20 = load ptr, ptr %vtable.i.i.i.i, align 8 + call void %20(ptr noundef nonnull align 8 dereferenceable(32) %retval.i.sroa.0.0, i64 noundef %add.i.i.i) %.pre.i.i.i = load i64, ptr %size_.i.i.i, align 8 %.pre1.i.i.i = add i64 %.pre.i.i.i, 1 br label %_ZN3fmt3v106detail5writeIcSt20back_insert_iteratorINS1_6bufferIwEEEEET0_S7_T_.exit _ZN3fmt3v106detail5writeIcSt20back_insert_iteratorINS1_6bufferIwEEEEET0_S7_T_.exit: ; preds = %_ZNK3fmt3v109formatterIwwvE6formatINS0_20basic_format_contextISt20back_insert_iteratorINS0_6detail6bufferIwEEEwEEEEDTcldtfp0_3outEERKwRT_.exit, %if.then.i.i.i.i %inc.pre-phi.i.i.i = phi i64 [ %add.i.i.i, %_ZNK3fmt3v109formatterIwwvE6formatINS0_20basic_format_contextISt20back_insert_iteratorINS0_6detail6bufferIwEEEwEEEEDTcldtfp0_3outEERKwRT_.exit ], [ %.pre1.i.i.i, %if.then.i.i.i.i ] - %20 = phi i64 [ %17, %_ZNK3fmt3v109formatterIwwvE6formatINS0_20basic_format_contextISt20back_insert_iteratorINS0_6detail6bufferIwEEEwEEEEDTcldtfp0_3outEERKwRT_.exit ], [ %.pre.i.i.i, %if.then.i.i.i.i ] + %21 = phi i64 [ %18, %_ZNK3fmt3v109formatterIwwvE6formatINS0_20basic_format_contextISt20back_insert_iteratorINS0_6detail6bufferIwEEEwEEEEDTcldtfp0_3outEERKwRT_.exit ], [ %.pre.i.i.i, %if.then.i.i.i.i ] %ptr_.i.i.i = getelementptr inbounds i8, ptr %retval.i.sroa.0.0, i64 8 - %21 = load ptr, ptr %ptr_.i.i.i, align 8 + %22 = load ptr, ptr %ptr_.i.i.i, align 8 store i64 %inc.pre-phi.i.i.i, ptr %size_.i.i.i, align 8 - %arrayidx.i.i.i = getelementptr inbounds i32, ptr %21, i64 %20 + %arrayidx.i.i.i = getelementptr inbounds i32, ptr %22, i64 %21 store i32 41, ptr %arrayidx.i.i.i, align 4 br label %return @@ -117076,8 +117075,8 @@ _ZN3fmt3v106detail5writeIwSt20back_insert_iteratorINS1_6bufferIwEEEEET0_S7_NS0_1 if.then.i: ; preds = %_ZN3fmt3v106detail5writeIwSt20back_insert_iteratorINS1_6bufferIwEEEEET0_S7_NS0_17basic_string_viewIT_EE.exit28 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(80) %specs.i, ptr noundef nonnull align 8 dereferenceable(80) %this, i64 80, i1 false) - %width_ref6.i = getelementptr inbounds i8, ptr %specs.i, i64 32 - call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextISt20back_insert_iteratorINS1_6bufferIwEEEwEEEEvRiNS1_7arg_refINT0_9char_typeEEERSC_(ptr noundef nonnull align 4 dereferenceable(4) %specs.i, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref.274") align 8 %width_ref6.i, ptr noundef nonnull align 8 dereferenceable(32) %ctx) + %15 = getelementptr inbounds i8, ptr %this, i64 32 + call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextISt20back_insert_iteratorINS1_6bufferIwEEEwEEEEvRiNS1_7arg_refINT0_9char_typeEEERSC_(ptr noundef nonnull align 4 dereferenceable(4) %specs.i, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref.274") align 8 %15, ptr noundef nonnull align 8 dereferenceable(32) %ctx) %precision.i = getelementptr inbounds i8, ptr %specs.i, i64 4 %precision_ref8.i = getelementptr inbounds i8, ptr %specs.i, i64 56 call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_17precision_checkerENS0_20basic_format_contextISt20back_insert_iteratorINS1_6bufferIwEEEwEEEEvRiNS1_7arg_refINT0_9char_typeEEERSC_(ptr noundef nonnull align 4 dereferenceable(4) %precision.i, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref.274") align 8 %precision_ref8.i, ptr noundef nonnull align 8 dereferenceable(32) %ctx) @@ -117093,28 +117092,28 @@ if.end.i: ; preds = %_ZN3fmt3v106detail5 _ZNK3fmt3v109formatterINS0_17basic_string_viewIwEEwvE6formatINS0_20basic_format_contextISt20back_insert_iteratorINS0_6detail6bufferIwEEEwEEEEDTcldtfp0_3outEERKS3_RT_.exit: ; preds = %if.end.i, %if.then.i %retval.i.sroa.0.0 = phi ptr [ %call.i, %if.then.i ], [ %call.i35, %if.end.i ] %size_.i.i.i = getelementptr inbounds i8, ptr %retval.i.sroa.0.0, i64 16 - %15 = load i64, ptr %size_.i.i.i, align 8 - %add.i.i.i = add i64 %15, 1 + %16 = load i64, ptr %size_.i.i.i, align 8 + %add.i.i.i = add i64 %16, 1 %capacity_.i.i.i.i = getelementptr inbounds i8, ptr %retval.i.sroa.0.0, i64 24 - %16 = load i64, ptr %capacity_.i.i.i.i, align 8 - %cmp.i.i.i.i = icmp ult i64 %16, %add.i.i.i + %17 = load i64, ptr %capacity_.i.i.i.i, align 8 + %cmp.i.i.i.i = icmp ult i64 %17, %add.i.i.i br i1 %cmp.i.i.i.i, label %if.then.i.i.i.i, label %_ZN3fmt3v106detail5writeIcSt20back_insert_iteratorINS1_6bufferIwEEEEET0_S7_T_.exit if.then.i.i.i.i: ; preds = %_ZNK3fmt3v109formatterINS0_17basic_string_viewIwEEwvE6formatINS0_20basic_format_contextISt20back_insert_iteratorINS0_6detail6bufferIwEEEwEEEEDTcldtfp0_3outEERKS3_RT_.exit %vtable.i.i.i.i = load ptr, ptr %retval.i.sroa.0.0, align 8 - %17 = load ptr, ptr %vtable.i.i.i.i, align 8 - call void %17(ptr noundef nonnull align 8 dereferenceable(32) %retval.i.sroa.0.0, i64 noundef %add.i.i.i) + %18 = load ptr, ptr %vtable.i.i.i.i, align 8 + call void %18(ptr noundef nonnull align 8 dereferenceable(32) %retval.i.sroa.0.0, i64 noundef %add.i.i.i) %.pre.i.i.i = load i64, ptr %size_.i.i.i, align 8 %.pre1.i.i.i = add i64 %.pre.i.i.i, 1 br label %_ZN3fmt3v106detail5writeIcSt20back_insert_iteratorINS1_6bufferIwEEEEET0_S7_T_.exit _ZN3fmt3v106detail5writeIcSt20back_insert_iteratorINS1_6bufferIwEEEEET0_S7_T_.exit: ; preds = %_ZNK3fmt3v109formatterINS0_17basic_string_viewIwEEwvE6formatINS0_20basic_format_contextISt20back_insert_iteratorINS0_6detail6bufferIwEEEwEEEEDTcldtfp0_3outEERKS3_RT_.exit, %if.then.i.i.i.i %inc.pre-phi.i.i.i = phi i64 [ %add.i.i.i, %_ZNK3fmt3v109formatterINS0_17basic_string_viewIwEEwvE6formatINS0_20basic_format_contextISt20back_insert_iteratorINS0_6detail6bufferIwEEEwEEEEDTcldtfp0_3outEERKS3_RT_.exit ], [ %.pre1.i.i.i, %if.then.i.i.i.i ] - %18 = phi i64 [ %15, %_ZNK3fmt3v109formatterINS0_17basic_string_viewIwEEwvE6formatINS0_20basic_format_contextISt20back_insert_iteratorINS0_6detail6bufferIwEEEwEEEEDTcldtfp0_3outEERKS3_RT_.exit ], [ %.pre.i.i.i, %if.then.i.i.i.i ] + %19 = phi i64 [ %16, %_ZNK3fmt3v109formatterINS0_17basic_string_viewIwEEwvE6formatINS0_20basic_format_contextISt20back_insert_iteratorINS0_6detail6bufferIwEEEwEEEEDTcldtfp0_3outEERKS3_RT_.exit ], [ %.pre.i.i.i, %if.then.i.i.i.i ] %ptr_.i.i.i = getelementptr inbounds i8, ptr %retval.i.sroa.0.0, i64 8 - %19 = load ptr, ptr %ptr_.i.i.i, align 8 + %20 = load ptr, ptr %ptr_.i.i.i, align 8 store i64 %inc.pre-phi.i.i.i, ptr %size_.i.i.i, align 8 - %arrayidx.i.i.i = getelementptr inbounds i32, ptr %19, i64 %18 + %arrayidx.i.i.i = getelementptr inbounds i32, ptr %20, i64 %19 store i32 41, ptr %arrayidx.i.i.i, align 4 br label %return diff --git a/bench/grpc/optimized/call.cc.ll b/bench/grpc/optimized/call.cc.ll index 865e38c12df..dcdf3ae1297 100644 --- a/bench/grpc/optimized/call.cc.ll +++ b/bench/grpc/optimized/call.cc.ll @@ -14342,9 +14342,6 @@ invoke.cont41: ; preds = %invoke.cont35 invoke.cont.i: ; preds = %invoke.cont41 %agg.tmp6.sroa.0.0.copyload.i.i.i = load ptr, ptr %agg.tmp2.i, align 16 - %agg.tmp6.sroa.3.0.args1.sroa_idx.i.i.i = getelementptr inbounds i8, ptr %agg.tmp2.i, i64 8 - %agg.tmp.sroa.4.0.p.sroa_idx.i.i.i.i.i = getelementptr inbounds i8, ptr %call.i.i2.i, i64 40 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %agg.tmp.sroa.4.0.p.sroa_idx.i.i.i.i.i, ptr noundef nonnull align 8 dereferenceable(24) %agg.tmp6.sroa.3.0.args1.sroa_idx.i.i.i, i64 24, i1 false) store ptr @_ZN9grpc_core20arena_promise_detail4NullISt10unique_ptrI19grpc_metadata_batchNS_5Arena13PooledDeleterEEE6vtableE, ptr %agg.tmp2.i, align 16 %handle_.i.i.i.i.i = getelementptr inbounds i8, ptr %call.i.i2.i, i64 8 store ptr null, ptr %handle_.i.i.i.i.i, align 8 @@ -14358,6 +14355,9 @@ invoke.cont.i: ; preds = %invoke.cont41 %started_.i.i.i.i = getelementptr inbounds i8, ptr %call.i.i2.i, i64 72 store i8 0, ptr %started_.i.i.i.i, align 8 %51 = getelementptr inbounds i8, ptr %call.i.i2.i, i64 32 + %agg.tmp.sroa.4.0.p.sroa_idx.i.i.i.i.i = getelementptr inbounds i8, ptr %call.i.i2.i, i64 40 + %52 = getelementptr inbounds i8, ptr %agg.tmp31, i64 8 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %agg.tmp.sroa.4.0.p.sroa_idx.i.i.i.i.i, ptr noundef nonnull align 8 dereferenceable(24) %52, i64 24, i1 false) store ptr %agg.tmp6.sroa.0.0.copyload.i.i.i, ptr %51, align 16 %participants_.i.i = getelementptr inbounds i8, ptr %ref.tmp.i, i64 16 store i64 1, ptr %num_participants_.i.i, align 8 @@ -14366,127 +14366,127 @@ invoke.cont.i: ; preds = %invoke.cont41 to label %invoke.cont44 unwind label %terminate.lpad.i5.i terminate.lpad.i5.i: ; preds = %invoke.cont.i - %52 = landingpad { ptr, i32 } + %53 = landingpad { ptr, i32 } catch ptr null - %53 = extractvalue { ptr, i32 } %52, 0 - call void @__clang_call_terminate(ptr %53) #30 + %54 = extractvalue { ptr, i32 } %53, 0 + call void @__clang_call_terminate(ptr %54) #30 unreachable lpad.i29: ; preds = %invoke.cont41 - %54 = landingpad { ptr, i32 } + %55 = landingpad { ptr, i32 } cleanup - %55 = load ptr, ptr %agg.tmp2.i, align 16 - %destroy.i6.i = getelementptr inbounds i8, ptr %55, i64 8 - %56 = load ptr, ptr %destroy.i6.i, align 8 + %56 = load ptr, ptr %agg.tmp2.i, align 16 + %destroy.i6.i = getelementptr inbounds i8, ptr %56, i64 8 + %57 = load ptr, ptr %destroy.i6.i, align 8 %arg.i7.i = getelementptr inbounds i8, ptr %agg.tmp2.i, i64 16 - invoke void %56(ptr noundef nonnull %arg.i7.i) + invoke void %57(ptr noundef nonnull %arg.i7.i) to label %_ZN9grpc_core12ArenaPromiseISt10unique_ptrI19grpc_metadata_batchNS_5Arena13PooledDeleterEEED2Ev.exit9.i unwind label %terminate.lpad.i8.i terminate.lpad.i8.i: ; preds = %lpad.i29 - %57 = landingpad { ptr, i32 } + %58 = landingpad { ptr, i32 } catch ptr null - %58 = extractvalue { ptr, i32 } %57, 0 - call void @__clang_call_terminate(ptr %58) #30 + %59 = extractvalue { ptr, i32 } %58, 0 + call void @__clang_call_terminate(ptr %59) #30 unreachable _ZN9grpc_core12ArenaPromiseISt10unique_ptrI19grpc_metadata_batchNS_5Arena13PooledDeleterEEED2Ev.exit9.i: ; preds = %lpad.i29 call void @_ZN9grpc_core5Party11BulkSpawnerD2Ev(ptr noundef nonnull align 8 dereferenceable(144) %ref.tmp.i) #28 - %59 = load ptr, ptr %agg.tmp31, align 16 - %destroy.i36 = getelementptr inbounds i8, ptr %59, i64 8 - %60 = load ptr, ptr %destroy.i36, align 8 + %60 = load ptr, ptr %agg.tmp31, align 16 + %destroy.i36 = getelementptr inbounds i8, ptr %60, i64 8 + %61 = load ptr, ptr %destroy.i36, align 8 %arg.i37 = getelementptr inbounds i8, ptr %agg.tmp31, i64 16 - invoke void %60(ptr noundef nonnull %arg.i37) + invoke void %61(ptr noundef nonnull %arg.i37) to label %ehcleanup unwind label %terminate.lpad.i38 invoke.cont44: ; preds = %invoke.cont.i call void @llvm.lifetime.end.p0(i64 144, ptr nonnull %ref.tmp.i) call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp2.i) - %61 = load ptr, ptr %agg.tmp31, align 16 - %destroy.i = getelementptr inbounds i8, ptr %61, i64 8 - %62 = load ptr, ptr %destroy.i, align 8 + %62 = load ptr, ptr %agg.tmp31, align 16 + %destroy.i = getelementptr inbounds i8, ptr %62, i64 8 + %63 = load ptr, ptr %destroy.i, align 8 %arg.i = getelementptr inbounds i8, ptr %agg.tmp31, i64 16 - invoke void %62(ptr noundef nonnull %arg.i) + invoke void %63(ptr noundef nonnull %arg.i) to label %_ZN9grpc_core12ArenaPromiseISt10unique_ptrI19grpc_metadata_batchNS_5Arena13PooledDeleterEEED2Ev.exit unwind label %terminate.lpad.i terminate.lpad.i: ; preds = %invoke.cont44 - %63 = landingpad { ptr, i32 } + %64 = landingpad { ptr, i32 } catch ptr null - %64 = extractvalue { ptr, i32 } %63, 0 - call void @__clang_call_terminate(ptr %64) #30 + %65 = extractvalue { ptr, i32 } %64, 0 + call void @__clang_call_terminate(ptr %65) #30 unreachable _ZN9grpc_core12ArenaPromiseISt10unique_ptrI19grpc_metadata_batchNS_5Arena13PooledDeleterEEED2Ev.exit: ; preds = %invoke.cont44 - %65 = load ptr, ptr %client_initial_metadata_outstanding, align 8 - %cmp.not.i.i = icmp eq ptr %65, null + %66 = load ptr, ptr %client_initial_metadata_outstanding, align 8 + %cmp.not.i.i = icmp eq ptr %66, null br i1 %cmp.not.i.i, label %_ZN9grpc_core37ClientInitialMetadataOutstandingTokenD2Ev.exit.i, label %if.then.i.i if.then.i.i: ; preds = %_ZN9grpc_core12ArenaPromiseISt10unique_ptrI19grpc_metadata_batchNS_5Arena13PooledDeleterEEED2Ev.exit - store i8 0, ptr %65, align 2 - %has_value_.i.i.i = getelementptr inbounds i8, ptr %65, i64 1 + store i8 0, ptr %66, align 2 + %has_value_.i.i.i = getelementptr inbounds i8, ptr %66, i64 1 store i8 1, ptr %has_value_.i.i.i, align 1 - %waiter_.i.i.i = getelementptr inbounds i8, ptr %65, i64 2 - %66 = load i16, ptr %waiter_.i.i.i, align 2 - %cmp.i.i.i.i = icmp eq i16 %66, 0 + %waiter_.i.i.i = getelementptr inbounds i8, ptr %66, i64 2 + %67 = load i16, ptr %waiter_.i.i.i, align 2 + %cmp.i.i.i.i = icmp eq i16 %67, 0 br i1 %cmp.i.i.i.i, label %_ZN9grpc_core37ClientInitialMetadataOutstandingTokenD2Ev.exit.i, label %if.end.i.i.i.i if.end.i.i.i.i: ; preds = %if.then.i.i - br i1 icmp ne (ptr @_ZTHN9grpc_core8Activity19g_current_activity_E, ptr null), label %67, label %_ZN9grpc_core8Activity7currentEv.exit.i.i.i.i + br i1 icmp ne (ptr @_ZTHN9grpc_core8Activity19g_current_activity_E, ptr null), label %68, label %_ZN9grpc_core8Activity7currentEv.exit.i.i.i.i -67: ; preds = %if.end.i.i.i.i +68: ; preds = %if.end.i.i.i.i invoke void @_ZTHN9grpc_core8Activity19g_current_activity_E() to label %.noexc.i.i unwind label %terminate.lpad.i.i -.noexc.i.i: ; preds = %67 +.noexc.i.i: ; preds = %68 %.pre.i.i.i.i = load i16, ptr %waiter_.i.i.i, align 2 br label %_ZN9grpc_core8Activity7currentEv.exit.i.i.i.i _ZN9grpc_core8Activity7currentEv.exit.i.i.i.i: ; preds = %.noexc.i.i, %if.end.i.i.i.i - %68 = phi i16 [ %66, %if.end.i.i.i.i ], [ %.pre.i.i.i.i, %.noexc.i.i ] - %69 = load ptr, ptr %25, align 8 + %69 = phi i16 [ %67, %if.end.i.i.i.i ], [ %.pre.i.i.i.i, %.noexc.i.i ] + %70 = load ptr, ptr %25, align 8 store i16 0, ptr %waiter_.i.i.i, align 2 - %vtable.i.i.i.i = load ptr, ptr %69, align 8 + %vtable.i.i.i.i = load ptr, ptr %70, align 8 %vfn.i.i.i.i = getelementptr inbounds i8, ptr %vtable.i.i.i.i, i64 24 - %70 = load ptr, ptr %vfn.i.i.i.i, align 8 - invoke void %70(ptr noundef nonnull align 8 dereferenceable(8) %69, i16 noundef zeroext %68) + %71 = load ptr, ptr %vfn.i.i.i.i, align 8 + invoke void %71(ptr noundef nonnull align 8 dereferenceable(8) %70, i16 noundef zeroext %69) to label %_ZN9grpc_core37ClientInitialMetadataOutstandingTokenD2Ev.exit.i unwind label %terminate.lpad.i.i -terminate.lpad.i.i: ; preds = %_ZN9grpc_core8Activity7currentEv.exit.i.i.i.i, %67 - %71 = landingpad { ptr, i32 } +terminate.lpad.i.i: ; preds = %_ZN9grpc_core8Activity7currentEv.exit.i.i.i.i, %68 + %72 = landingpad { ptr, i32 } catch ptr null - %72 = extractvalue { ptr, i32 } %71, 0 - call void @__clang_call_terminate(ptr %72) #30 + %73 = extractvalue { ptr, i32 } %72, 0 + call void @__clang_call_terminate(ptr %73) #30 unreachable _ZN9grpc_core37ClientInitialMetadataOutstandingTokenD2Ev.exit.i: ; preds = %_ZN9grpc_core8Activity7currentEv.exit.i.i.i.i, %if.then.i.i, %_ZN9grpc_core12ArenaPromiseISt10unique_ptrI19grpc_metadata_batchNS_5Arena13PooledDeleterEEED2Ev.exit - %73 = load ptr, ptr %50, align 8 - %cmp.not.i1.i = icmp eq ptr %73, null + %74 = load ptr, ptr %50, align 8 + %cmp.not.i1.i = icmp eq ptr %74, null br i1 %cmp.not.i1.i, label %_ZN9grpc_core8CallArgsD2Ev.exit, label %if.then.i2.i if.then.i2.i: ; preds = %_ZN9grpc_core37ClientInitialMetadataOutstandingTokenD2Ev.exit.i - %74 = load i8, ptr %agg.tmp37, align 8 - %tobool.i.i.i = trunc i8 %74 to i1 + %75 = load i8, ptr %agg.tmp37, align 8 + %tobool.i.i.i = trunc i8 %75 to i1 br i1 %tobool.i.i.i, label %delete.notnull.i.i.i, label %_ZN9grpc_core8CallArgsD2Ev.exit delete.notnull.i.i.i: ; preds = %if.then.i2.i - call void @_ZN9grpc_core11MetadataMapI19grpc_metadata_batchJNS_16HttpPathMetadataENS_21HttpAuthorityMetadataENS_18HttpMethodMetadataENS_18HttpStatusMetadataENS_18HttpSchemeMetadataENS_19ContentTypeMetadataENS_10TeMetadataENS_20GrpcEncodingMetadataENS_27GrpcInternalEncodingRequestENS_26GrpcAcceptEncodingMetadataENS_18GrpcStatusMetadataENS_19GrpcTimeoutMetadataENS_31GrpcPreviousRpcAttemptsMetadataENS_27GrpcRetryPushbackMsMetadataENS_17UserAgentMetadataENS_19GrpcMessageMetadataENS_12HostMetadataENS_30EndpointLoadMetricsBinMetadataENS_26GrpcServerStatsBinMetadataENS_20GrpcTraceBinMetadataENS_19GrpcTagsBinMetadataENS_25GrpcLbClientStatsMetadataENS_17LbCostBinMetadataENS_15LbTokenMetadataENS_18XEnvoyPeerMetadataENS_22GrpcStreamNetworkStateENS_10PeerStringENS_17GrpcStatusContextENS_18GrpcStatusFromWireENS_20GrpcCallWasCancelledENS_12WaitForReadyENS_16GrpcTrailersOnlyENS_10GrpcTarPitENS_20GrpcRegisteredMethodEEED2Ev(ptr noundef nonnull align 8 dereferenceable(568) %73) #28 - call void @_ZdlPv(ptr noundef nonnull %73) #31 + call void @_ZN9grpc_core11MetadataMapI19grpc_metadata_batchJNS_16HttpPathMetadataENS_21HttpAuthorityMetadataENS_18HttpMethodMetadataENS_18HttpStatusMetadataENS_18HttpSchemeMetadataENS_19ContentTypeMetadataENS_10TeMetadataENS_20GrpcEncodingMetadataENS_27GrpcInternalEncodingRequestENS_26GrpcAcceptEncodingMetadataENS_18GrpcStatusMetadataENS_19GrpcTimeoutMetadataENS_31GrpcPreviousRpcAttemptsMetadataENS_27GrpcRetryPushbackMsMetadataENS_17UserAgentMetadataENS_19GrpcMessageMetadataENS_12HostMetadataENS_30EndpointLoadMetricsBinMetadataENS_26GrpcServerStatsBinMetadataENS_20GrpcTraceBinMetadataENS_19GrpcTagsBinMetadataENS_25GrpcLbClientStatsMetadataENS_17LbCostBinMetadataENS_15LbTokenMetadataENS_18XEnvoyPeerMetadataENS_22GrpcStreamNetworkStateENS_10PeerStringENS_17GrpcStatusContextENS_18GrpcStatusFromWireENS_20GrpcCallWasCancelledENS_12WaitForReadyENS_16GrpcTrailersOnlyENS_10GrpcTarPitENS_20GrpcRegisteredMethodEEED2Ev(ptr noundef nonnull align 8 dereferenceable(568) %74) #28 + call void @_ZdlPv(ptr noundef nonnull %74) #31 br label %_ZN9grpc_core8CallArgsD2Ev.exit _ZN9grpc_core8CallArgsD2Ev.exit: ; preds = %_ZN9grpc_core37ClientInitialMetadataOutstandingTokenD2Ev.exit.i, %if.then.i2.i, %delete.notnull.i.i.i store ptr null, ptr %50, align 8 - %75 = load ptr, ptr %45, align 8 - store ptr %75, ptr %46, align 8 - %76 = load ptr, ptr %42, align 8 - store ptr %76, ptr %43, align 8 - %77 = load ptr, ptr %39, align 8 - store ptr %77, ptr %40, align 8 - %78 = load ptr, ptr %35, align 8 - store ptr %78, ptr %37, align 8 - %79 = load ptr, ptr %32, align 8 - store ptr %79, ptr %33, align 8 + %76 = load ptr, ptr %45, align 8 + store ptr %76, ptr %46, align 8 + %77 = load ptr, ptr %42, align 8 + store ptr %77, ptr %43, align 8 + %78 = load ptr, ptr %39, align 8 + store ptr %78, ptr %40, align 8 + %79 = load ptr, ptr %35, align 8 + store ptr %79, ptr %37, align 8 + %80 = load ptr, ptr %32, align 8 + store ptr %80, ptr %33, align 8 %batch_.i.i = getelementptr inbounds i8, ptr %activity_context, i64 48 - %80 = load ptr, ptr %batch_.i.i, align 8 - %cmp.not.i.i32 = icmp eq ptr %80, null + %81 = load ptr, ptr %batch_.i.i, align 8 + %cmp.not.i.i32 = icmp eq ptr %81, null br i1 %cmp.not.i.i32, label %_ZN9grpc_core12BatchBuilderD2Ev.exit.i, label %if.then.i.i33 if.then.i.i33: ; preds = %_ZN9grpc_core8CallArgsD2Ev.exit @@ -14494,38 +14494,38 @@ if.then.i.i33: ; preds = %_ZN9grpc_core8CallA to label %_ZN9grpc_core12BatchBuilderD2Ev.exit.i unwind label %terminate.lpad.i.i34 terminate.lpad.i.i34: ; preds = %if.then.i.i33 - %81 = landingpad { ptr, i32 } + %82 = landingpad { ptr, i32 } catch ptr null - %82 = extractvalue { ptr, i32 } %81, 0 - call void @__clang_call_terminate(ptr %82) #30 + %83 = extractvalue { ptr, i32 } %82, 0 + call void @__clang_call_terminate(ptr %83) #30 unreachable _ZN9grpc_core12BatchBuilderD2Ev.exit.i: ; preds = %if.then.i.i33, %_ZN9grpc_core8CallArgsD2Ev.exit - %83 = load ptr, ptr %activity_context, align 8 - br i1 icmp ne (ptr @_ZTHN9grpc_core8Activity19g_current_activity_E, ptr null), label %84, label %_ZN9grpc_core16PromiseBasedCall13ScopedContextD2Ev.exit + %84 = load ptr, ptr %activity_context, align 8 + br i1 icmp ne (ptr @_ZTHN9grpc_core8Activity19g_current_activity_E, ptr null), label %85, label %_ZN9grpc_core16PromiseBasedCall13ScopedContextD2Ev.exit -84: ; preds = %_ZN9grpc_core12BatchBuilderD2Ev.exit.i +85: ; preds = %_ZN9grpc_core12BatchBuilderD2Ev.exit.i call void @_ZTHN9grpc_core8Activity19g_current_activity_E() #28 br label %_ZN9grpc_core16PromiseBasedCall13ScopedContextD2Ev.exit -_ZN9grpc_core16PromiseBasedCall13ScopedContextD2Ev.exit: ; preds = %_ZN9grpc_core12BatchBuilderD2Ev.exit.i, %84 - store ptr %83, ptr %25, align 8 +_ZN9grpc_core16PromiseBasedCall13ScopedContextD2Ev.exit: ; preds = %_ZN9grpc_core12BatchBuilderD2Ev.exit.i, %85 + store ptr %84, ptr %25, align 8 ret void lpad40: ; preds = %invoke.cont35 - %85 = landingpad { ptr, i32 } + %86 = landingpad { ptr, i32 } cleanup br label %ehcleanup terminate.lpad.i38: ; preds = %_ZN9grpc_core12ArenaPromiseISt10unique_ptrI19grpc_metadata_batchNS_5Arena13PooledDeleterEEED2Ev.exit9.i - %86 = landingpad { ptr, i32 } + %87 = landingpad { ptr, i32 } catch ptr null - %87 = extractvalue { ptr, i32 } %86, 0 - call void @__clang_call_terminate(ptr %87) #30 + %88 = extractvalue { ptr, i32 } %87, 0 + call void @__clang_call_terminate(ptr %88) #30 unreachable ehcleanup: ; preds = %_ZN9grpc_core12ArenaPromiseISt10unique_ptrI19grpc_metadata_batchNS_5Arena13PooledDeleterEEED2Ev.exit9.i, %lpad40 - %.pn = phi { ptr, i32 } [ %85, %lpad40 ], [ %54, %_ZN9grpc_core12ArenaPromiseISt10unique_ptrI19grpc_metadata_batchNS_5Arena13PooledDeleterEEED2Ev.exit9.i ] + %.pn = phi { ptr, i32 } [ %86, %lpad40 ], [ %55, %_ZN9grpc_core12ArenaPromiseISt10unique_ptrI19grpc_metadata_batchNS_5Arena13PooledDeleterEEED2Ev.exit9.i ] call void @_ZN9grpc_core8CallArgsD2Ev(ptr noundef nonnull align 8 dereferenceable(56) %agg.tmp37) #28 call void @_ZN9grpc_core16PromiseBasedCall13ScopedContextD2Ev(ptr noundef nonnull align 8 dereferenceable(96) %activity_context) #28 br label %ehcleanup46 diff --git a/bench/grpc/optimized/compression_filter.cc.ll b/bench/grpc/optimized/compression_filter.cc.ll index 8af9d7a0398..cb6d79de247 100644 --- a/bench/grpc/optimized/compression_filter.cc.ll +++ b/bench/grpc/optimized/compression_filter.cc.ll @@ -3088,20 +3088,20 @@ invoke.cont: store ptr @_ZN9grpc_core20arena_promise_detail4NullISt10unique_ptrI19grpc_metadata_batchNS_5Arena13PooledDeleterEEE6vtableE, ptr %x, align 16 tail call void @llvm.experimental.noalias.scope.decl(metadata !10) %agg.tmp2.sroa.0.0.copyload.i = load ptr, ptr %agg.tmp1, align 16, !noalias !10 - %agg.tmp2.sroa.3.0.promises1.sroa_idx.i = getelementptr inbounds i8, ptr %agg.tmp1, i64 8 store ptr @_ZN9grpc_core20arena_promise_detail4NullISt10unique_ptrI19grpc_metadata_batchNS_5Arena13PooledDeleterEEE6vtableE, ptr %agg.tmp1, align 16, !noalias !10 store ptr %latch, ptr %ref.tmp, align 16, !alias.scope !10 %next_.i.i = getelementptr inbounds i8, ptr %ref.tmp, i64 16 store ptr %agg.tmp2.sroa.0.0.copyload.i, ptr %next_.i.i, align 16, !alias.scope !10 %agg.tmp.sroa.4.0.next_.sroa_idx.i.i = getelementptr inbounds i8, ptr %ref.tmp, i64 24 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %agg.tmp.sroa.4.0.next_.sroa_idx.i.i, ptr noundef nonnull align 8 dereferenceable(24) %agg.tmp2.sroa.3.0.promises1.sroa_idx.i, i64 24, i1 false) + %0 = getelementptr inbounds i8, ptr %x, i64 8 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %agg.tmp.sroa.4.0.next_.sroa_idx.i.i, ptr noundef nonnull align 8 dereferenceable(24) %0, i64 24, i1 false) %arg.i = getelementptr inbounds i8, ptr %agg.result, i64 16 store i64 0, ptr %arg.i, align 16 store ptr @_ZN9grpc_core20arena_promise_detail17AllocatedCallableISt10unique_ptrI19grpc_metadata_batchNS_5Arena13PooledDeleterEENS_14promise_detail4RaceIJZNS_5LatchIS6_E4WaitEvEUlvE_NS_12ArenaPromiseIS6_EEEEEE6vtableE, ptr %agg.result, align 16 - %0 = tail call align 8 ptr @llvm.threadlocal.address.p0(ptr align 8 @_ZN9grpc_core14promise_detail7ContextINS_5ArenaEE8current_E) - %1 = load ptr, ptr %0, align 8 - %cmp.not.i.i.i.i = icmp eq ptr %1, null - %2 = ptrtoint ptr %latch to i64 + %1 = tail call align 8 ptr @llvm.threadlocal.address.p0(ptr align 8 @_ZN9grpc_core14promise_detail7ContextINS_5ArenaEE8current_E) + %2 = load ptr, ptr %1, align 8 + %cmp.not.i.i.i.i = icmp eq ptr %2, null + %3 = ptrtoint ptr %latch to i64 br i1 %cmp.not.i.i.i.i, label %if.then.i.i.i.i, label %_ZN9grpc_core10GetContextINS_5ArenaEEEPT_v.exit.i.i.i if.then.i.i.i.i: ; preds = %invoke.cont @@ -3112,79 +3112,79 @@ if.then.i.i.i.i: ; preds = %invoke.cont unreachable _ZN9grpc_core10GetContextINS_5ArenaEEEPT_v.exit.i.i.i: ; preds = %invoke.cont - %3 = atomicrmw add ptr %1, i64 48 monotonic, align 8 - %add2.i.i.i.i.i = add i64 %3, 48 - %initial_zone_size_.i.i.i.i.i = getelementptr inbounds i8, ptr %1, i64 16 - %4 = load i64, ptr %initial_zone_size_.i.i.i.i.i, align 8 - %cmp.not.i.i.i.i.i = icmp ugt i64 %add2.i.i.i.i.i, %4 + %4 = atomicrmw add ptr %2, i64 48 monotonic, align 8 + %add2.i.i.i.i.i = add i64 %4, 48 + %initial_zone_size_.i.i.i.i.i = getelementptr inbounds i8, ptr %2, i64 16 + %5 = load i64, ptr %initial_zone_size_.i.i.i.i.i, align 8 + %cmp.not.i.i.i.i.i = icmp ugt i64 %add2.i.i.i.i.i, %5 br i1 %cmp.not.i.i.i.i.i, label %if.else.i.i.i.i.i, label %if.then.i.i.i.i.i if.then.i.i.i.i.i: ; preds = %_ZN9grpc_core10GetContextINS_5ArenaEEEPT_v.exit.i.i.i - %add.ptr.i.i.i.i.i = getelementptr inbounds i8, ptr %1, i64 48 - %add.ptr3.i.i.i.i.i = getelementptr inbounds i8, ptr %add.ptr.i.i.i.i.i, i64 %3 + %add.ptr.i.i.i.i.i = getelementptr inbounds i8, ptr %2, i64 48 + %add.ptr3.i.i.i.i.i = getelementptr inbounds i8, ptr %add.ptr.i.i.i.i.i, i64 %4 br label %invoke.cont4 if.else.i.i.i.i.i: ; preds = %_ZN9grpc_core10GetContextINS_5ArenaEEEPT_v.exit.i.i.i - %call4.i.i.i.i.i2 = invoke noundef ptr @_ZN9grpc_core5Arena9AllocZoneEm(ptr noundef nonnull align 8 dereferenceable(48) %1, i64 noundef 48) + %call4.i.i.i.i.i2 = invoke noundef ptr @_ZN9grpc_core5Arena9AllocZoneEm(ptr noundef nonnull align 8 dereferenceable(48) %2, i64 noundef 48) to label %invoke.cont4 unwind label %lpad3 invoke.cont4: ; preds = %if.else.i.i.i.i.i, %if.then.i.i.i.i.i %retval.0.i.i.i.i.i = phi ptr [ %add.ptr3.i.i.i.i.i, %if.then.i.i.i.i.i ], [ %call4.i.i.i.i.i2, %if.else.i.i.i.i.i ] - store i64 %2, ptr %retval.0.i.i.i.i.i, align 16 + store i64 %3, ptr %retval.0.i.i.i.i.i, align 16 %next_.i.i.i.i.i.i = getelementptr inbounds i8, ptr %retval.0.i.i.i.i.i, i64 16 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(32) %next_.i.i.i.i.i.i, ptr noundef nonnull align 16 dereferenceable(32) %next_.i.i, i64 32, i1 false) store ptr @_ZN9grpc_core20arena_promise_detail4NullISt10unique_ptrI19grpc_metadata_batchNS_5Arena13PooledDeleterEEE6vtableE, ptr %next_.i.i, align 16 store ptr %retval.0.i.i.i.i.i, ptr %arg.i, align 16 - %5 = load ptr, ptr %agg.tmp1, align 16 - %destroy.i = getelementptr inbounds i8, ptr %5, i64 8 - %6 = load ptr, ptr %destroy.i, align 8 + %6 = load ptr, ptr %agg.tmp1, align 16 + %destroy.i = getelementptr inbounds i8, ptr %6, i64 8 + %7 = load ptr, ptr %destroy.i, align 8 %arg.i3 = getelementptr inbounds i8, ptr %agg.tmp1, i64 16 - invoke void %6(ptr noundef nonnull %arg.i3) + invoke void %7(ptr noundef nonnull %arg.i3) to label %_ZN9grpc_core12ArenaPromiseISt10unique_ptrI19grpc_metadata_batchNS_5Arena13PooledDeleterEEED2Ev.exit unwind label %terminate.lpad.i terminate.lpad.i: ; preds = %invoke.cont4 - %7 = landingpad { ptr, i32 } + %8 = landingpad { ptr, i32 } catch ptr null - %8 = extractvalue { ptr, i32 } %7, 0 - call void @__clang_call_terminate(ptr %8) #24 + %9 = extractvalue { ptr, i32 } %8, 0 + call void @__clang_call_terminate(ptr %9) #24 unreachable _ZN9grpc_core12ArenaPromiseISt10unique_ptrI19grpc_metadata_batchNS_5Arena13PooledDeleterEEED2Ev.exit: ; preds = %invoke.cont4 ret void lpad3: ; preds = %if.else.i.i.i.i.i, %if.then.i.i.i.i - %9 = landingpad { ptr, i32 } + %10 = landingpad { ptr, i32 } cleanup %destroy.i.i.i5 = getelementptr inbounds i8, ptr %agg.tmp2.sroa.0.0.copyload.i, i64 8 - %10 = load ptr, ptr %destroy.i.i.i5, align 8 + %11 = load ptr, ptr %destroy.i.i.i5, align 8 %arg.i.i.i6 = getelementptr inbounds i8, ptr %ref.tmp, i64 32 - invoke void %10(ptr noundef nonnull %arg.i.i.i6) + invoke void %11(ptr noundef nonnull %arg.i.i.i6) to label %ehcleanup unwind label %terminate.lpad.i.i.i7 terminate.lpad.i.i.i7: ; preds = %lpad3 - %11 = landingpad { ptr, i32 } + %12 = landingpad { ptr, i32 } catch ptr null - %12 = extractvalue { ptr, i32 } %11, 0 - call void @__clang_call_terminate(ptr %12) #24 + %13 = extractvalue { ptr, i32 } %12, 0 + call void @__clang_call_terminate(ptr %13) #24 unreachable ehcleanup: ; preds = %lpad3 - %13 = load ptr, ptr %agg.tmp1, align 16 - %destroy.i9 = getelementptr inbounds i8, ptr %13, i64 8 - %14 = load ptr, ptr %destroy.i9, align 8 + %14 = load ptr, ptr %agg.tmp1, align 16 + %destroy.i9 = getelementptr inbounds i8, ptr %14, i64 8 + %15 = load ptr, ptr %destroy.i9, align 8 %arg.i10 = getelementptr inbounds i8, ptr %agg.tmp1, i64 16 - invoke void %14(ptr noundef nonnull %arg.i10) + invoke void %15(ptr noundef nonnull %arg.i10) to label %_ZN9grpc_core12ArenaPromiseISt10unique_ptrI19grpc_metadata_batchNS_5Arena13PooledDeleterEEED2Ev.exit12 unwind label %terminate.lpad.i11 terminate.lpad.i11: ; preds = %ehcleanup - %15 = landingpad { ptr, i32 } + %16 = landingpad { ptr, i32 } catch ptr null - %16 = extractvalue { ptr, i32 } %15, 0 - call void @__clang_call_terminate(ptr %16) #24 + %17 = extractvalue { ptr, i32 } %16, 0 + call void @__clang_call_terminate(ptr %17) #24 unreachable _ZN9grpc_core12ArenaPromiseISt10unique_ptrI19grpc_metadata_batchNS_5Arena13PooledDeleterEEED2Ev.exit12: ; preds = %ehcleanup - resume { ptr, i32 } %9 + resume { ptr, i32 } %10 } ; Function Attrs: uwtable diff --git a/bench/grpc/optimized/connected_channel.cc.ll b/bench/grpc/optimized/connected_channel.cc.ll index c42fb99fb89..97b75374ca8 100644 --- a/bench/grpc/optimized/connected_channel.cc.ll +++ b/bench/grpc/optimized/connected_channel.cc.ll @@ -3367,9 +3367,9 @@ invoke.cont63.i.i: ; preds = %invoke.cont58.i.i "_ZN9grpc_core14promise_detail6TrySeqIZNS_12BatchBuilder5Batch8RefUntilINS0_3MapIZNS_5LatchIN4absl12lts_202308026StatusEE4WaitEvEUlvE_ZNS2_22ReceiveInitialMetadataENS2_6TargetEEUlS9_E_EEEEDaT_EUlvE_JZNS_12_GLOBAL__N_121MakeClientCallPromiseEPNS_9TransportENS_8CallArgsESt8functionIFNS_12ArenaPromiseISt10unique_ptrI19grpc_metadata_batchNS_5Arena13PooledDeleterEEEESK_EEE3$_0EED2Ev.exit.i.i.i": ; preds = %"_ZN9grpc_core14promise_detail6TrySeqIZNS_12BatchBuilder5Batch8RefUntilINS0_3MapIZNS_5LatchIN4absl12lts_202308026StatusEE4WaitEvEUlvE_ZNS2_22ReceiveInitialMetadataENS2_6TargetEEUlS9_E_EEEEDaT_EUlvE_JZNS_12_GLOBAL__N_121MakeClientCallPromiseEPNS_9TransportENS_8CallArgsESt8functionIFNS_12ArenaPromiseISt10unique_ptrI19grpc_metadata_batchNS_5Arena13PooledDeleterEEEESK_EEE3$_0EEC2EOSW_.exit.i.i.i" store ptr null, ptr %agg.tmp2.i116.i.i, align 8, !noalias !21 %agg.tmp6.sroa.10.8.copyload.i.i.i.i.i = load i8, ptr %153, align 8, !noalias !21 - %agg.tmp6.sroa.15.8..sroa_idx.i.i.i.i.i = getelementptr inbounds i8, ptr %agg.tmp2.i116.i.i, i64 9 %agg.tmp.sroa.15.8..sroa_idx10.i.i.i.i.i.i.i = getelementptr inbounds i8, ptr %call.i.i2.i121.i.i, i64 41 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(7) %agg.tmp.sroa.15.8..sroa_idx10.i.i.i.i.i.i.i, ptr noundef nonnull align 1 dereferenceable(7) %agg.tmp6.sroa.15.8..sroa_idx.i.i.i.i.i, i64 7, i1 false), !noalias !21 + %155 = getelementptr inbounds i8, ptr %agg.tmp61.i.i, i64 9 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(7) %agg.tmp.sroa.15.8..sroa_idx10.i.i.i.i.i.i.i, ptr noundef nonnull align 1 dereferenceable(7) %155, i64 7, i1 false), !noalias !21 %agg.tmp6.sroa.16.8..sroa_idx.i.i.i.i.i = getelementptr inbounds i8, ptr %agg.tmp2.i116.i.i, i64 16 %agg.tmp6.sroa.16.8.copyload.i.i.i.i.i = load ptr, ptr %agg.tmp6.sroa.16.8..sroa_idx.i.i.i.i.i, align 8, !noalias !21 %handle_.i.i9.i.i.i128.i.i = getelementptr inbounds i8, ptr %call.i.i2.i121.i.i, i64 8 @@ -3381,12 +3381,12 @@ invoke.cont63.i.i: ; preds = %invoke.cont58.i.i store ptr getelementptr inbounds ({ [4 x ptr] }, ptr @"_ZTVN9grpc_core5Party15ParticipantImplINS_14promise_detail6TrySeqIZNS_12BatchBuilder5Batch8RefUntilINS2_3MapIZNS_5LatchIN4absl12lts_202308026StatusEE4WaitEvEUlvE_ZNS4_22ReceiveInitialMetadataENS4_6TargetEEUlSB_E_EEEEDaT_EUlvE_JZNS_12_GLOBAL__N_121MakeClientCallPromiseEPNS_9TransportENS_8CallArgsESt8functionIFNS_12ArenaPromiseISt10unique_ptrI19grpc_metadata_batchNS_5Arena13PooledDeleterEEEESM_EEE3$_0EEEZNSJ_21MakeClientCallPromiseESL_SM_SW_E3$_5EE", i64 0, i32 0, i64 2), ptr %call.i.i2.i121.i.i, align 8, !noalias !21 %started_.i12.i.i.i131.i.i = getelementptr inbounds i8, ptr %call.i.i2.i121.i.i, i64 80 store i8 0, ptr %started_.i12.i.i.i131.i.i, align 8, !noalias !21 - %155 = getelementptr inbounds i8, ptr %call.i.i2.i121.i.i, i64 32 + %156 = getelementptr inbounds i8, ptr %call.i.i2.i121.i.i, i64 32 %state.i.i.i38.i.i.i.i.i.i.i = getelementptr inbounds i8, ptr %call.i.i2.i121.i.i, i64 72 store i8 0, ptr %state.i.i.i38.i.i.i.i.i.i.i, align 8, !noalias !21 - store ptr %150, ptr %155, align 8, !noalias !21 - %156 = getelementptr inbounds i8, ptr %call.i.i2.i121.i.i, i64 40 - store i8 %agg.tmp6.sroa.10.8.copyload.i.i.i.i.i, ptr %156, align 8, !noalias !21 + store ptr %150, ptr %156, align 8, !noalias !21 + %157 = getelementptr inbounds i8, ptr %call.i.i2.i121.i.i, i64 40 + store i8 %agg.tmp6.sroa.10.8.copyload.i.i.i.i.i, ptr %157, align 8, !noalias !21 %agg.tmp.sroa.1511.8..sroa_idx12.i.i.i.i.i.i.i = getelementptr inbounds i8, ptr %call.i.i2.i121.i.i, i64 48 store ptr %agg.tmp6.sroa.16.8.copyload.i.i.i.i.i, ptr %agg.tmp.sroa.1511.8..sroa_idx12.i.i.i.i.i.i.i, align 8, !noalias !21 %next_factory.i.i.i62.i.i.i.i.i.i.i = getelementptr inbounds i8, ptr %call.i.i2.i121.i.i, i64 56 @@ -3398,14 +3398,14 @@ invoke.cont63.i.i: ; preds = %invoke.cont58.i.i to label %"_ZN9grpc_core14promise_detail6TrySeqIZNS_12BatchBuilder5Batch8RefUntilINS0_3MapIZNS_5LatchIN4absl12lts_202308026StatusEE4WaitEvEUlvE_ZNS2_22ReceiveInitialMetadataENS2_6TargetEEUlS9_E_EEEEDaT_EUlvE_JZNS_12_GLOBAL__N_121MakeClientCallPromiseEPNS_9TransportENS_8CallArgsESt8functionIFNS_12ArenaPromiseISt10unique_ptrI19grpc_metadata_batchNS_5Arena13PooledDeleterEEEESK_EEE3$_0EED2Ev.exit.i.i" unwind label %terminate.lpad.i.i125.i.i, !noalias !21 terminate.lpad.i.i125.i.i: ; preds = %"_ZN9grpc_core14promise_detail6TrySeqIZNS_12BatchBuilder5Batch8RefUntilINS0_3MapIZNS_5LatchIN4absl12lts_202308026StatusEE4WaitEvEUlvE_ZNS2_22ReceiveInitialMetadataENS2_6TargetEEUlS9_E_EEEEDaT_EUlvE_JZNS_12_GLOBAL__N_121MakeClientCallPromiseEPNS_9TransportENS_8CallArgsESt8functionIFNS_12ArenaPromiseISt10unique_ptrI19grpc_metadata_batchNS_5Arena13PooledDeleterEEEESK_EEE3$_0EED2Ev.exit.i.i.i" - %157 = landingpad { ptr, i32 } + %158 = landingpad { ptr, i32 } catch ptr null - %158 = extractvalue { ptr, i32 } %157, 0 - call void @__clang_call_terminate(ptr %158) #25 + %159 = extractvalue { ptr, i32 } %158, 0 + call void @__clang_call_terminate(ptr %159) #25 unreachable lpad.i122.i.i: ; preds = %"_ZN9grpc_core14promise_detail6TrySeqIZNS_12BatchBuilder5Batch8RefUntilINS0_3MapIZNS_5LatchIN4absl12lts_202308026StatusEE4WaitEvEUlvE_ZNS2_22ReceiveInitialMetadataENS2_6TargetEEUlS9_E_EEEEDaT_EUlvE_JZNS_12_GLOBAL__N_121MakeClientCallPromiseEPNS_9TransportENS_8CallArgsESt8functionIFNS_12ArenaPromiseISt10unique_ptrI19grpc_metadata_batchNS_5Arena13PooledDeleterEEEESK_EEE3$_0EEC2EOSW_.exit.i.i.i" - %159 = landingpad { ptr, i32 } + %160 = landingpad { ptr, i32 } cleanup call fastcc void @"_ZN9grpc_core14promise_detail6TrySeqIZNS_12BatchBuilder5Batch8RefUntilINS0_3MapIZNS_5LatchIN4absl12lts_202308026StatusEE4WaitEvEUlvE_ZNS2_22ReceiveInitialMetadataENS2_6TargetEEUlS9_E_EEEEDaT_EUlvE_JZNS_12_GLOBAL__N_121MakeClientCallPromiseEPNS_9TransportENS_8CallArgsESt8functionIFNS_12ArenaPromiseISt10unique_ptrI19grpc_metadata_batchNS_5Arena13PooledDeleterEEEESK_EEE3$_0EED2Ev"(ptr noundef nonnull align 8 dereferenceable(48) %agg.tmp2.i116.i.i) #24, !noalias !21 call void @_ZN9grpc_core5Party11BulkSpawnerD2Ev(ptr noundef nonnull align 8 dereferenceable(144) %ref.tmp.i115.i.i) #24, !noalias !21 @@ -3416,26 +3416,26 @@ lpad.i122.i.i: ; preds = %"_ZN9grpc_core14pro "_ZN9grpc_core14promise_detail6TrySeqIZNS_12BatchBuilder5Batch8RefUntilINS0_3MapIZNS_5LatchIN4absl12lts_202308026StatusEE4WaitEvEUlvE_ZNS2_22ReceiveInitialMetadataENS2_6TargetEEUlS9_E_EEEEDaT_EUlvE_JZNS_12_GLOBAL__N_121MakeClientCallPromiseEPNS_9TransportENS_8CallArgsESt8functionIFNS_12ArenaPromiseISt10unique_ptrI19grpc_metadata_batchNS_5Arena13PooledDeleterEEEESK_EEE3$_0EED2Ev.exit.i.i": ; preds = %"_ZN9grpc_core14promise_detail6TrySeqIZNS_12BatchBuilder5Batch8RefUntilINS0_3MapIZNS_5LatchIN4absl12lts_202308026StatusEE4WaitEvEUlvE_ZNS2_22ReceiveInitialMetadataENS2_6TargetEEUlS9_E_EEEEDaT_EUlvE_JZNS_12_GLOBAL__N_121MakeClientCallPromiseEPNS_9TransportENS_8CallArgsESt8functionIFNS_12ArenaPromiseISt10unique_ptrI19grpc_metadata_batchNS_5Arena13PooledDeleterEEEESK_EEE3$_0EED2Ev.exit.i.i.i" call void @llvm.lifetime.end.p0(i64 144, ptr nonnull %ref.tmp.i115.i.i), !noalias !21 call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %agg.tmp2.i116.i.i), !noalias !21 - %160 = load ptr, ptr %agg.tmp61.i.i, align 8, !noalias !21 - %cmp.not.i.i144.i.i = icmp eq ptr %160, null + %161 = load ptr, ptr %agg.tmp61.i.i, align 8, !noalias !21 + %cmp.not.i.i144.i.i = icmp eq ptr %161, null br i1 %cmp.not.i.i144.i.i, label %_ZZN9grpc_core12BatchBuilder5Batch8RefUntilINS_14promise_detail3MapIZNS_5LatchIN4absl12lts_202308026StatusEE4WaitEvEUlvE_ZNS0_22ReceiveInitialMetadataENS0_6TargetEEUlS8_E_EEEEDaT_ENUlvE_D2Ev.exit.i.i, label %if.then.i.i145.i.i if.then.i.i145.i.i: ; preds = %"_ZN9grpc_core14promise_detail6TrySeqIZNS_12BatchBuilder5Batch8RefUntilINS0_3MapIZNS_5LatchIN4absl12lts_202308026StatusEE4WaitEvEUlvE_ZNS2_22ReceiveInitialMetadataENS2_6TargetEEUlS9_E_EEEEDaT_EUlvE_JZNS_12_GLOBAL__N_121MakeClientCallPromiseEPNS_9TransportENS_8CallArgsESt8functionIFNS_12ArenaPromiseISt10unique_ptrI19grpc_metadata_batchNS_5Arena13PooledDeleterEEEESK_EEE3$_0EED2Ev.exit.i.i" - %refs.i.i.i.i.i = getelementptr inbounds i8, ptr %160, i64 112 - %161 = load i8, ptr %refs.i.i.i.i.i, align 8, !noalias !21 - %dec.i.i.i.i.i = add i8 %161, -1 + %refs.i.i.i.i.i = getelementptr inbounds i8, ptr %161, i64 112 + %162 = load i8, ptr %refs.i.i.i.i.i, align 8, !noalias !21 + %dec.i.i.i.i.i = add i8 %162, -1 store i8 %dec.i.i.i.i.i, ptr %refs.i.i.i.i.i, align 8, !noalias !21 %cmp.i.i.i.i.i = icmp eq i8 %dec.i.i.i.i.i, 0 br i1 %cmp.i.i.i.i.i, label %if.then.i.i.i.i.i, label %_ZZN9grpc_core12BatchBuilder5Batch8RefUntilINS_14promise_detail3MapIZNS_5LatchIN4absl12lts_202308026StatusEE4WaitEvEUlvE_ZNS0_22ReceiveInitialMetadataENS0_6TargetEEUlS8_E_EEEEDaT_ENUlvE_D2Ev.exit.i.i if.then.i.i.i.i.i: ; preds = %if.then.i.i145.i.i - call void @_ZN9grpc_core12BatchBuilder5BatchD1Ev(ptr noundef nonnull align 8 dereferenceable(120) %160) #24, !noalias !21 - call void @_ZdlPv(ptr noundef nonnull %160) #27, !noalias !21 + call void @_ZN9grpc_core12BatchBuilder5BatchD1Ev(ptr noundef nonnull align 8 dereferenceable(120) %161) #24, !noalias !21 + call void @_ZdlPv(ptr noundef nonnull %161) #27, !noalias !21 br label %_ZZN9grpc_core12BatchBuilder5Batch8RefUntilINS_14promise_detail3MapIZNS_5LatchIN4absl12lts_202308026StatusEE4WaitEvEUlvE_ZNS0_22ReceiveInitialMetadataENS0_6TargetEEUlS8_E_EEEEDaT_ENUlvE_D2Ev.exit.i.i _ZZN9grpc_core12BatchBuilder5Batch8RefUntilINS_14promise_detail3MapIZNS_5LatchIN4absl12lts_202308026StatusEE4WaitEvEUlvE_ZNS0_22ReceiveInitialMetadataENS0_6TargetEEUlS8_E_EEEEDaT_ENUlvE_D2Ev.exit.i.i: ; preds = %if.then.i.i.i.i.i, %if.then.i.i145.i.i, %"_ZN9grpc_core14promise_detail6TrySeqIZNS_12BatchBuilder5Batch8RefUntilINS0_3MapIZNS_5LatchIN4absl12lts_202308026StatusEE4WaitEvEUlvE_ZNS2_22ReceiveInitialMetadataENS2_6TargetEEUlS9_E_EEEEDaT_EUlvE_JZNS_12_GLOBAL__N_121MakeClientCallPromiseEPNS_9TransportENS_8CallArgsESt8functionIFNS_12ArenaPromiseISt10unique_ptrI19grpc_metadata_batchNS_5Arena13PooledDeleterEEEESK_EEE3$_0EED2Ev.exit.i.i" - %162 = load ptr, ptr %146, align 8, !noalias !21 - %cmp.not.i146.i.i = icmp eq ptr %162, null + %163 = load ptr, ptr %146, align 8, !noalias !21 + %cmp.not.i146.i.i = icmp eq ptr %163, null br i1 %cmp.not.i146.i.i, label %if.then.i147.invoke.i.i, label %invoke.cont80.i.i if.then.i147.invoke.i.i: ; preds = %_ZZN9grpc_core12BatchBuilder5Batch8RefUntilINS_14promise_detail3MapIZNS_5LatchIN4absl12lts_202308026StatusEE4WaitEvEUlvE_ZNS0_22ReceiveInitialMetadataENS0_6TargetEEUlS8_E_EEEEDaT_ENUlvE_D2Ev.exit.i.i, %invoke.cont58.i.i @@ -3446,42 +3446,42 @@ if.then.i147.cont.i.i: ; preds = %if.then.i147.invoke unreachable invoke.cont80.i.i: ; preds = %_ZZN9grpc_core12BatchBuilder5Batch8RefUntilINS_14promise_detail3MapIZNS_5LatchIN4absl12lts_202308026StatusEE4WaitEvEUlvE_ZNS0_22ReceiveInitialMetadataENS0_6TargetEEUlS8_E_EEEEDaT_ENUlvE_D2Ev.exit.i.i - %163 = load ptr, ptr %transport_.i.i.i, align 8, !noalias !62 + %164 = load ptr, ptr %transport_.i.i.i, align 8, !noalias !62 %stream_.val.i152.i.i = load ptr, ptr %add.ptr.i.i.i.i.i.i.i.i.i, align 8, !noalias !62 store i8 %1, ptr %agg.tmp85.i.i, align 8, !noalias !21 - %164 = getelementptr inbounds i8, ptr %agg.tmp85.i.i, i64 8 + %165 = getelementptr inbounds i8, ptr %agg.tmp85.i.i, i64 8 store ptr null, ptr %2, align 8, !noalias !21 call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %agg.tmp82155.i.i), !noalias !21 call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp2.i156.i.i), !noalias !21 - store ptr %163, ptr %agg.tmp82155.i.i, align 8, !noalias !21 + store ptr %164, ptr %agg.tmp82155.i.i, align 8, !noalias !21 %agg.tmp82.sroa.2.0.agg.tmp82155.sroa_idx.i.i = getelementptr inbounds i8, ptr %agg.tmp82155.i.i, i64 8 store ptr %stream_.val.i152.i.i, ptr %agg.tmp82.sroa.2.0.agg.tmp82155.sroa_idx.i.i, align 8, !noalias !21 %agg.tmp82.sroa.3.0.agg.tmp82155.sroa_idx.i.i = getelementptr inbounds i8, ptr %agg.tmp82155.i.i, i64 16 store ptr %stream_refcount_.i.i.i, ptr %agg.tmp82.sroa.3.0.agg.tmp82155.sroa_idx.i.i, align 8, !noalias !21 store i8 %1, ptr %agg.tmp2.i156.i.i, align 8, !noalias !65 - %165 = getelementptr inbounds i8, ptr %agg.tmp2.i156.i.i, i64 8 - store i64 %3, ptr %165, align 8, !noalias !65 - store ptr null, ptr %164, align 8, !noalias !65 - invoke void @_ZN9grpc_core12BatchBuilder19SendInitialMetadataENS0_6TargetESt10unique_ptrI19grpc_metadata_batchNS_5Arena13PooledDeleterEE(ptr nonnull sret(%class.anon.233) align 8 %agg.tmp79.i.i, ptr noundef nonnull align 8 dereferenceable(48) %162, ptr noundef nonnull byval(%"struct.grpc_core::BatchBuilder::Target") align 8 %agg.tmp82155.i.i, ptr noundef nonnull %agg.tmp2.i156.i.i) + %166 = getelementptr inbounds i8, ptr %agg.tmp2.i156.i.i, i64 8 + store i64 %3, ptr %166, align 8, !noalias !65 + store ptr null, ptr %165, align 8, !noalias !65 + invoke void @_ZN9grpc_core12BatchBuilder19SendInitialMetadataENS0_6TargetESt10unique_ptrI19grpc_metadata_batchNS_5Arena13PooledDeleterEE(ptr nonnull sret(%class.anon.233) align 8 %agg.tmp79.i.i, ptr noundef nonnull align 8 dereferenceable(48) %163, ptr noundef nonnull byval(%"struct.grpc_core::BatchBuilder::Target") align 8 %agg.tmp82155.i.i, ptr noundef nonnull %agg.tmp2.i156.i.i) to label %invoke.cont.i158.i.i unwind label %lpad.i157.i.i, !noalias !21 invoke.cont.i158.i.i: ; preds = %invoke.cont80.i.i - %166 = load ptr, ptr %165, align 8, !noalias !65 - %cmp.not.i.i159.i.i = icmp eq ptr %166, null + %167 = load ptr, ptr %166, align 8, !noalias !65 + %cmp.not.i.i159.i.i = icmp eq ptr %167, null br i1 %cmp.not.i.i159.i.i, label %_ZNSt10unique_ptrI19grpc_metadata_batchN9grpc_core5Arena13PooledDeleterEED2Ev.exit.i.i, label %if.then.i.i160.i.i if.then.i.i160.i.i: ; preds = %invoke.cont.i158.i.i - %167 = load i8, ptr %agg.tmp2.i156.i.i, align 8, !noalias !65 - %tobool.i.i.i.i.i = trunc i8 %167 to i1 + %168 = load i8, ptr %agg.tmp2.i156.i.i, align 8, !noalias !65 + %tobool.i.i.i.i.i = trunc i8 %168 to i1 br i1 %tobool.i.i.i.i.i, label %delete.notnull.i.i.i.i.i, label %_ZNSt10unique_ptrI19grpc_metadata_batchN9grpc_core5Arena13PooledDeleterEED2Ev.exit.i.i delete.notnull.i.i.i.i.i: ; preds = %if.then.i.i160.i.i - call void @_ZN9grpc_core11MetadataMapI19grpc_metadata_batchJNS_16HttpPathMetadataENS_21HttpAuthorityMetadataENS_18HttpMethodMetadataENS_18HttpStatusMetadataENS_18HttpSchemeMetadataENS_19ContentTypeMetadataENS_10TeMetadataENS_20GrpcEncodingMetadataENS_27GrpcInternalEncodingRequestENS_26GrpcAcceptEncodingMetadataENS_18GrpcStatusMetadataENS_19GrpcTimeoutMetadataENS_31GrpcPreviousRpcAttemptsMetadataENS_27GrpcRetryPushbackMsMetadataENS_17UserAgentMetadataENS_19GrpcMessageMetadataENS_12HostMetadataENS_30EndpointLoadMetricsBinMetadataENS_26GrpcServerStatsBinMetadataENS_20GrpcTraceBinMetadataENS_19GrpcTagsBinMetadataENS_25GrpcLbClientStatsMetadataENS_17LbCostBinMetadataENS_15LbTokenMetadataENS_18XEnvoyPeerMetadataENS_22GrpcStreamNetworkStateENS_10PeerStringENS_17GrpcStatusContextENS_18GrpcStatusFromWireENS_20GrpcCallWasCancelledENS_12WaitForReadyENS_16GrpcTrailersOnlyENS_10GrpcTarPitENS_20GrpcRegisteredMethodEEED2Ev(ptr noundef nonnull align 8 dereferenceable(568) %166) #24, !noalias !21 - call void @_ZdlPv(ptr noundef nonnull %166) #27, !noalias !21 + call void @_ZN9grpc_core11MetadataMapI19grpc_metadata_batchJNS_16HttpPathMetadataENS_21HttpAuthorityMetadataENS_18HttpMethodMetadataENS_18HttpStatusMetadataENS_18HttpSchemeMetadataENS_19ContentTypeMetadataENS_10TeMetadataENS_20GrpcEncodingMetadataENS_27GrpcInternalEncodingRequestENS_26GrpcAcceptEncodingMetadataENS_18GrpcStatusMetadataENS_19GrpcTimeoutMetadataENS_31GrpcPreviousRpcAttemptsMetadataENS_27GrpcRetryPushbackMsMetadataENS_17UserAgentMetadataENS_19GrpcMessageMetadataENS_12HostMetadataENS_30EndpointLoadMetricsBinMetadataENS_26GrpcServerStatsBinMetadataENS_20GrpcTraceBinMetadataENS_19GrpcTagsBinMetadataENS_25GrpcLbClientStatsMetadataENS_17LbCostBinMetadataENS_15LbTokenMetadataENS_18XEnvoyPeerMetadataENS_22GrpcStreamNetworkStateENS_10PeerStringENS_17GrpcStatusContextENS_18GrpcStatusFromWireENS_20GrpcCallWasCancelledENS_12WaitForReadyENS_16GrpcTrailersOnlyENS_10GrpcTarPitENS_20GrpcRegisteredMethodEEED2Ev(ptr noundef nonnull align 8 dereferenceable(568) %167) #24, !noalias !21 + call void @_ZdlPv(ptr noundef nonnull %167) #27, !noalias !21 br label %_ZNSt10unique_ptrI19grpc_metadata_batchN9grpc_core5Arena13PooledDeleterEED2Ev.exit.i.i lpad.i157.i.i: ; preds = %invoke.cont80.i.i - %168 = landingpad { ptr, i32 } + %169 = landingpad { ptr, i32 } cleanup call void @_ZNSt10unique_ptrI19grpc_metadata_batchN9grpc_core5Arena13PooledDeleterEED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %agg.tmp2.i156.i.i) #24, !noalias !21 call void @_ZNSt10unique_ptrI19grpc_metadata_batchN9grpc_core5Arena13PooledDeleterEED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %agg.tmp85.i.i) #24, !noalias !21 @@ -3494,18 +3494,18 @@ _ZNSt10unique_ptrI19grpc_metadata_batchN9grpc_core5Arena13PooledDeleterEED2Ev.ex call void @llvm.experimental.noalias.scope.decl(metadata !68) %state.i.i.i162.i.i = getelementptr inbounds i8, ptr %send_initial_metadata.i.i, i64 24 store i8 0, ptr %state.i.i.i162.i.i, align 8, !alias.scope !68, !noalias !21 - %169 = load ptr, ptr %agg.tmp79.i.i, align 8, !noalias !71 - store ptr %169, ptr %send_initial_metadata.i.i, align 8, !alias.scope !68, !noalias !21 + %170 = load ptr, ptr %agg.tmp79.i.i, align 8, !noalias !71 + store ptr %170, ptr %send_initial_metadata.i.i, align 8, !alias.scope !68, !noalias !21 store ptr null, ptr %agg.tmp79.i.i, align 8, !noalias !71 - %170 = getelementptr inbounds i8, ptr %send_initial_metadata.i.i, i64 8 - %171 = getelementptr inbounds i8, ptr %agg.tmp79.i.i, i64 8 - %172 = load i64, ptr %171, align 8, !noalias !71 - store i64 %172, ptr %170, align 8, !alias.scope !68, !noalias !21 + %171 = getelementptr inbounds i8, ptr %send_initial_metadata.i.i, i64 8 + %172 = getelementptr inbounds i8, ptr %agg.tmp79.i.i, i64 8 + %173 = load i64, ptr %172, align 8, !noalias !71 + store i64 %173, ptr %171, align 8, !alias.scope !68, !noalias !21 %next_factory.i.i.i163.i.i = getelementptr inbounds i8, ptr %send_initial_metadata.i.i, i64 16 store ptr %4, ptr %next_factory.i.i.i163.i.i, align 8, !alias.scope !68, !noalias !21 - store ptr null, ptr %164, align 8, !noalias !21 - %173 = load ptr, ptr %7, align 8, !noalias !21 - %cmp.not.i179.i.i = icmp eq ptr %173, null + store ptr null, ptr %165, align 8, !noalias !21 + %174 = load ptr, ptr %7, align 8, !noalias !21 + %cmp.not.i179.i.i = icmp eq ptr %174, null br i1 %cmp.not.i179.i.i, label %if.then.i180.i.i, label %invoke.cont98.i.i if.then.i180.i.i: ; preds = %_ZNSt10unique_ptrI19grpc_metadata_batchN9grpc_core5Arena13PooledDeleterEED2Ev.exit.i.i @@ -3523,14 +3523,14 @@ invoke.cont98.i.i: ; preds = %_ZNSt10unique_ptrI1 invoke.cont100.i.i: ; preds = %invoke.cont98.i.i call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(6) %call.i190.i.i, i8 0, i64 6, i1 false), !noalias !75 %unknown_.i.i.i188.i.i = getelementptr inbounds i8, ptr %call.i190.i.i, i64 544 - store ptr %173, ptr %unknown_.i.i.i188.i.i, align 8, !noalias !75 + store ptr %174, ptr %unknown_.i.i.i188.i.i, align 8, !noalias !75 %first_.i.i.i.i.i189.i.i = getelementptr inbounds i8, ptr %call.i190.i.i, i64 552 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %first_.i.i.i.i.i189.i.i, i8 0, i64 16, i1 false), !noalias !75 store i8 1, ptr %server_trailing_metadata.i.i, align 8, !alias.scope !72, !noalias !21 - %174 = getelementptr inbounds i8, ptr %server_trailing_metadata.i.i, i64 8 - store ptr %call.i190.i.i, ptr %174, align 8, !alias.scope !72, !noalias !21 - %175 = load ptr, ptr %146, align 8, !noalias !21 - %cmp.not.i192.i.i = icmp eq ptr %175, null + %175 = getelementptr inbounds i8, ptr %server_trailing_metadata.i.i, i64 8 + store ptr %call.i190.i.i, ptr %175, align 8, !alias.scope !72, !noalias !21 + %176 = load ptr, ptr %146, align 8, !noalias !21 + %cmp.not.i192.i.i = icmp eq ptr %176, null br i1 %cmp.not.i192.i.i, label %if.then.i193.i.i, label %invoke.cont103.i.i if.then.i193.i.i: ; preds = %invoke.cont100.i.i @@ -3541,126 +3541,126 @@ if.then.i193.i.i: ; preds = %invoke.cont100.i.i unreachable invoke.cont103.i.i: ; preds = %invoke.cont100.i.i - %176 = load ptr, ptr %transport_.i.i.i, align 8, !noalias !76 + %177 = load ptr, ptr %transport_.i.i.i, align 8, !noalias !76 %stream_.val.i198.i.i = load ptr, ptr %add.ptr.i.i.i.i.i.i.i.i.i, align 8, !noalias !76 call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %agg.tmp105201.i.i), !noalias !21 - store ptr %176, ptr %agg.tmp105201.i.i, align 8, !noalias !21 + store ptr %177, ptr %agg.tmp105201.i.i, align 8, !noalias !21 %agg.tmp105.sroa.2.0.agg.tmp105201.sroa_idx.i.i = getelementptr inbounds i8, ptr %agg.tmp105201.i.i, i64 8 store ptr %stream_.val.i198.i.i, ptr %agg.tmp105.sroa.2.0.agg.tmp105201.sroa_idx.i.i, align 8, !noalias !21 %agg.tmp105.sroa.3.0.agg.tmp105201.sroa_idx.i.i = getelementptr inbounds i8, ptr %agg.tmp105201.i.i, i64 16 store ptr %stream_refcount_.i.i.i, ptr %agg.tmp105.sroa.3.0.agg.tmp105201.sroa_idx.i.i, align 8, !noalias !21 - invoke void @_ZN9grpc_core12BatchBuilder23ReceiveTrailingMetadataENS0_6TargetE(ptr nonnull sret(%class.anon.283) align 8 %agg.tmp101.i.i, ptr noundef nonnull align 8 dereferenceable(48) %175, ptr noundef nonnull byval(%"struct.grpc_core::BatchBuilder::Target") align 8 %agg.tmp105201.i.i) + invoke void @_ZN9grpc_core12BatchBuilder23ReceiveTrailingMetadataENS0_6TargetE(ptr nonnull sret(%class.anon.283) align 8 %agg.tmp101.i.i, ptr noundef nonnull align 8 dereferenceable(48) %176, ptr noundef nonnull byval(%"struct.grpc_core::BatchBuilder::Target") align 8 %agg.tmp105201.i.i) to label %_ZZN9grpc_core12BatchBuilder5Batch8RefUntilINS_14promise_detail3MapIZNS_5LatchIN4absl12lts_202308026StatusEE4WaitEvEUlvE_ZNS0_23ReceiveTrailingMetadataENS0_6TargetEEUlS8_E_EEEEDaT_ENUlvE_D2Ev.exit.i.i unwind label %lpad102.i.i, !noalias !21 _ZZN9grpc_core12BatchBuilder5Batch8RefUntilINS_14promise_detail3MapIZNS_5LatchIN4absl12lts_202308026StatusEE4WaitEvEUlvE_ZNS0_23ReceiveTrailingMetadataENS0_6TargetEEUlS8_E_EEEEDaT_ENUlvE_D2Ev.exit.i.i: ; preds = %invoke.cont103.i.i call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %agg.tmp105201.i.i), !noalias !21 - %177 = load ptr, ptr %agg.tmp101.i.i, align 8, !noalias !79 + %178 = load ptr, ptr %agg.tmp101.i.i, align 8, !noalias !79 store ptr null, ptr %agg.tmp101.i.i, align 8, !noalias !79 - %178 = getelementptr inbounds i8, ptr %agg.tmp101.i.i, i64 8 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %recv_trailing_metadata.sroa.5.i.i, ptr noundef nonnull align 8 dereferenceable(16) %178, i64 16, i1 false), !noalias !21 + %179 = getelementptr inbounds i8, ptr %agg.tmp101.i.i, i64 8 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %recv_trailing_metadata.sroa.5.i.i, ptr noundef nonnull align 8 dereferenceable(16) %179, i64 16, i1 false), !noalias !21 %server_to_client_messages.i.i = getelementptr inbounds i8, ptr %agg.tmp.i, i64 48 - %179 = load ptr, ptr %server_to_client_messages.i.i, align 8, !noalias !21 - call fastcc void @_ZN9grpc_core12_GLOBAL__N_122ConnectedChannelStream12RecvMessagesEPNS_10PipeSenderISt10unique_ptrINS_7MessageENS_5Arena13PooledDeleterEEEEb(ptr noalias nonnull align 8 %recv_messages.i.i, ptr noundef nonnull align 8 dereferenceable(132) %call1.i4.i, ptr noundef %179, i1 noundef zeroext false), !noalias !21 + %180 = load ptr, ptr %server_to_client_messages.i.i, align 8, !noalias !21 + call fastcc void @_ZN9grpc_core12_GLOBAL__N_122ConnectedChannelStream12RecvMessagesEPNS_10PipeSenderISt10unique_ptrINS_7MessageENS_5Arena13PooledDeleterEEEEb(ptr noalias nonnull align 8 %recv_messages.i.i, ptr noundef nonnull align 8 dereferenceable(132) %call1.i4.i, ptr noundef %180, i1 noundef zeroext false), !noalias !21 %state.i.i209.i.i = getelementptr inbounds i8, ptr %agg.tmp117.i.i, i64 24 store i8 0, ptr %state.i.i209.i.i, align 8, !noalias !21 store ptr null, ptr %send_initial_metadata.i.i, align 8, !noalias !21 - %180 = getelementptr inbounds i8, ptr %agg.tmp117.i.i, i64 8 - store i64 %172, ptr %180, align 8, !noalias !21 + %181 = getelementptr inbounds i8, ptr %agg.tmp117.i.i, i64 8 + store i64 %173, ptr %181, align 8, !noalias !21 %next_factory.i.i.i.i = getelementptr inbounds i8, ptr %agg.tmp117.i.i, i64 16 store ptr null, ptr %next_factory.i.i.i163.i.i, align 8, !noalias !21 - %181 = getelementptr inbounds i8, ptr %agg.tmp117.i.i, i64 32 - %182 = load ptr, ptr %recv_messages.i.i, align 8, !noalias !21 + %182 = getelementptr inbounds i8, ptr %agg.tmp117.i.i, i64 32 + %183 = load ptr, ptr %recv_messages.i.i, align 8, !noalias !21 store ptr null, ptr %recv_messages.i.i, align 8, !noalias !21 - %183 = getelementptr inbounds i8, ptr %agg.tmp117.i.i, i64 40 - %184 = getelementptr inbounds i8, ptr %recv_messages.i.i, i64 8 - %185 = load i8, ptr %184, align 8, !noalias !21 - %frombool.i.i.i.i.i = and i8 %185, 1 - store i8 %frombool.i.i.i.i.i, ptr %183, align 8, !noalias !21 - %186 = getelementptr inbounds i8, ptr %agg.tmp117.i.i, i64 48 - %187 = getelementptr inbounds i8, ptr %recv_messages.i.i, i64 16 - %188 = load ptr, ptr %187, align 8, !noalias !21 - store ptr null, ptr %187, align 8, !noalias !21 + %184 = getelementptr inbounds i8, ptr %agg.tmp117.i.i, i64 40 + %185 = getelementptr inbounds i8, ptr %recv_messages.i.i, i64 8 + %186 = load i8, ptr %185, align 8, !noalias !21 + %frombool.i.i.i.i.i = and i8 %186, 1 + store i8 %frombool.i.i.i.i.i, ptr %184, align 8, !noalias !21 + %187 = getelementptr inbounds i8, ptr %agg.tmp117.i.i, i64 48 + %188 = getelementptr inbounds i8, ptr %recv_messages.i.i, i64 16 + %189 = load ptr, ptr %188, align 8, !noalias !21 + store ptr null, ptr %188, align 8, !noalias !21 %started_.i.i.i = getelementptr inbounds i8, ptr %agg.tmp117.i.i, i64 112 %started_3.i.i.i = getelementptr inbounds i8, ptr %recv_messages.i.i, i64 80 - %189 = load i8, ptr %started_3.i.i.i, align 8, !noalias !21 - %tobool.i.i.i = trunc i8 %189 to i1 - %frombool.i.i.i = and i8 %189, 1 + %190 = load i8, ptr %started_3.i.i.i, align 8, !noalias !21 + %tobool.i.i.i = trunc i8 %190 to i1 + %frombool.i.i.i = and i8 %190, 1 store i8 %frombool.i.i.i, ptr %started_.i.i.i, align 8, !noalias !21 br i1 %tobool.i.i.i, label %if.then.i211.i.i, label %"_ZZN9grpc_core12_GLOBAL__N_121MakeClientCallPromiseEPNS_9TransportENS_8CallArgsESt8functionIFNS_12ArenaPromiseISt10unique_ptrI19grpc_metadata_batchNS_5Arena13PooledDeleterEEEES3_EEEN3$_7C2EOSE_.exit.i.i.i" if.then.i211.i.i: ; preds = %_ZZN9grpc_core12BatchBuilder5Batch8RefUntilINS_14promise_detail3MapIZNS_5LatchIN4absl12lts_202308026StatusEE4WaitEvEUlvE_ZNS0_23ReceiveTrailingMetadataENS0_6TargetEEUlS8_E_EEEEDaT_ENUlvE_D2Ev.exit.i.i - %190 = getelementptr inbounds i8, ptr %agg.tmp117.i.i, i64 56 - %191 = getelementptr inbounds i8, ptr %recv_messages.i.i, i64 24 + %191 = getelementptr inbounds i8, ptr %agg.tmp117.i.i, i64 56 + %192 = getelementptr inbounds i8, ptr %recv_messages.i.i, i64 24 %state.i.i.i.i.i212.i.i = getelementptr inbounds i8, ptr %agg.tmp117.i.i, i64 104 %state2.i.i.i.i.i.i.i = getelementptr inbounds i8, ptr %recv_messages.i.i, i64 72 - %192 = load i8, ptr %state2.i.i.i.i.i.i.i, align 8, !noalias !21 - store i8 %192, ptr %state.i.i.i.i.i212.i.i, align 8, !noalias !21 - switch i8 %192, label %tail0.i.i.i.i.i.i.i [ + %193 = load i8, ptr %state2.i.i.i.i.i.i.i, align 8, !noalias !21 + store i8 %193, ptr %state.i.i.i.i.i212.i.i, align 8, !noalias !21 + switch i8 %193, label %tail0.i.i.i.i.i.i.i [ i8 0, label %sw.bb.i.i.i.i.i217.i.i i8 1, label %sw.bb5.i.i.i.i.i213.i.i ] sw.bb.i.i.i.i.i217.i.i: ; preds = %if.then.i211.i.i - %193 = load ptr, ptr %191, align 8, !noalias !21 - store ptr %193, ptr %190, align 8, !noalias !21 - store ptr null, ptr %191, align 8, !noalias !21 - %194 = getelementptr inbounds i8, ptr %agg.tmp117.i.i, i64 64 - %195 = getelementptr inbounds i8, ptr %recv_messages.i.i, i64 32 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %194, ptr noundef nonnull align 8 dereferenceable(16) %195, i64 16, i1 false), !noalias !21 + %194 = load ptr, ptr %192, align 8, !noalias !21 + store ptr %194, ptr %191, align 8, !noalias !21 + store ptr null, ptr %192, align 8, !noalias !21 + %195 = getelementptr inbounds i8, ptr %agg.tmp117.i.i, i64 64 + %196 = getelementptr inbounds i8, ptr %recv_messages.i.i, i64 32 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %195, ptr noundef nonnull align 8 dereferenceable(16) %196, i64 16, i1 false), !noalias !21 br label %tail0.i.i.i.i.i.i.i sw.bb5.i.i.i.i.i213.i.i: ; preds = %if.then.i211.i.i - %196 = load i8, ptr %191, align 8, !noalias !21 - %tobool.i.i.i.i.i.i.i.i.i.i = trunc i8 %196 to i1 - %frombool.i.i.i.i.i.i.i.i.i.i = and i8 %196, 1 - store i8 %frombool.i.i.i.i.i.i.i.i.i.i, ptr %190, align 8, !noalias !21 + %197 = load i8, ptr %192, align 8, !noalias !21 + %tobool.i.i.i.i.i.i.i.i.i.i = trunc i8 %197 to i1 + %frombool.i.i.i.i.i.i.i.i.i.i = and i8 %197, 1 + store i8 %frombool.i.i.i.i.i.i.i.i.i.i, ptr %191, align 8, !noalias !21 br i1 %tobool.i.i.i.i.i.i.i.i.i.i, label %if.then.i.i.i.i.i.i.i.i.i.i, label %if.else.i.i.i.i.i.i.i.i.i.i if.then.i.i.i.i.i.i.i.i.i.i: ; preds = %sw.bb5.i.i.i.i.i213.i.i - %197 = getelementptr inbounds i8, ptr %agg.tmp117.i.i, i64 64 - %198 = getelementptr inbounds i8, ptr %recv_messages.i.i, i64 32 - %199 = load ptr, ptr %198, align 8, !noalias !21 - store ptr %199, ptr %197, align 8, !noalias !21 - store ptr null, ptr %198, align 8, !noalias !21 + %198 = getelementptr inbounds i8, ptr %agg.tmp117.i.i, i64 64 + %199 = getelementptr inbounds i8, ptr %recv_messages.i.i, i64 32 + %200 = load ptr, ptr %199, align 8, !noalias !21 + store ptr %200, ptr %198, align 8, !noalias !21 + store ptr null, ptr %199, align 8, !noalias !21 %_M_index.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i = getelementptr inbounds i8, ptr %agg.tmp117.i.i, i64 88 %_M_index.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i = getelementptr inbounds i8, ptr %recv_messages.i.i, i64 56 - %200 = load i8, ptr %_M_index.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i, align 8, !noalias !21 - %switch.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i = icmp eq i8 %200, 0 + %201 = load i8, ptr %_M_index.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i, align 8, !noalias !21 + %switch.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i = icmp eq i8 %201, 0 br i1 %switch.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i, label %sw.bb.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i, label %"_ZN9grpc_core9ConstructINS_14promise_detail11PromiseLikeINS1_3MapINS_11pipe_detail4PushISt10unique_ptrINS_7MessageENS_5Arena13PooledDeleterEEEEZZZZNS_12_GLOBAL__N_122ConnectedChannelStream12RecvMessagesEPNS_10PipeSenderISA_EEbEN3$_0clEvENUlN4absl12lts_202308028StatusOrISt8optionalISA_EEEE_clESN_ENKUlvE_clEvEUlbE_EEvEEJSS_EEEvPT_DpOT0_.exit.i.i.i.i.i.i.i.i.i.i" sw.bb.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i: ; preds = %if.then.i.i.i.i.i.i.i.i.i.i %state_3.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i = getelementptr inbounds i8, ptr %recv_messages.i.i, i64 40 %state_.i.i.i.i.i.i.i.i.i.i.i.i.i215.i.i = getelementptr inbounds i8, ptr %agg.tmp117.i.i, i64 72 - %201 = load i8, ptr %state_3.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i, align 8, !noalias !21 - store i8 %201, ptr %state_.i.i.i.i.i.i.i.i.i.i.i.i.i215.i.i, align 8, !noalias !21 - %202 = getelementptr inbounds i8, ptr %agg.tmp117.i.i, i64 80 + %202 = load i8, ptr %state_3.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i, align 8, !noalias !21 + store i8 %202, ptr %state_.i.i.i.i.i.i.i.i.i.i.i.i.i215.i.i, align 8, !noalias !21 + %203 = getelementptr inbounds i8, ptr %agg.tmp117.i.i, i64 80 %add.ptr.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i216.i.i = getelementptr inbounds i8, ptr %recv_messages.i.i, i64 48 - %203 = load i64, ptr %add.ptr.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i216.i.i, align 8, !noalias !21 - store i64 %203, ptr %202, align 8, !noalias !21 + %204 = load i64, ptr %add.ptr.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i216.i.i, align 8, !noalias !21 + store i64 %204, ptr %203, align 8, !noalias !21 store ptr null, ptr %add.ptr.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i216.i.i, align 8, !noalias !21 br label %"_ZN9grpc_core9ConstructINS_14promise_detail11PromiseLikeINS1_3MapINS_11pipe_detail4PushISt10unique_ptrINS_7MessageENS_5Arena13PooledDeleterEEEEZZZZNS_12_GLOBAL__N_122ConnectedChannelStream12RecvMessagesEPNS_10PipeSenderISA_EEbEN3$_0clEvENUlN4absl12lts_202308028StatusOrISt8optionalISA_EEEE_clESN_ENKUlvE_clEvEUlbE_EEvEEJSS_EEEvPT_DpOT0_.exit.i.i.i.i.i.i.i.i.i.i" "_ZN9grpc_core9ConstructINS_14promise_detail11PromiseLikeINS1_3MapINS_11pipe_detail4PushISt10unique_ptrINS_7MessageENS_5Arena13PooledDeleterEEEEZZZZNS_12_GLOBAL__N_122ConnectedChannelStream12RecvMessagesEPNS_10PipeSenderISA_EEbEN3$_0clEvENUlN4absl12lts_202308028StatusOrISt8optionalISA_EEEE_clESN_ENKUlvE_clEvEUlbE_EEvEEJSS_EEEvPT_DpOT0_.exit.i.i.i.i.i.i.i.i.i.i": ; preds = %sw.bb.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i, %if.then.i.i.i.i.i.i.i.i.i.i - store i8 %200, ptr %_M_index.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i, align 8, !noalias !21 + store i8 %201, ptr %_M_index.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i, align 8, !noalias !21 br label %"_ZZN9grpc_core12_GLOBAL__N_121MakeClientCallPromiseEPNS_9TransportENS_8CallArgsESt8functionIFNS_12ArenaPromiseISt10unique_ptrI19grpc_metadata_batchNS_5Arena13PooledDeleterEEEES3_EEEN3$_7C2EOSE_.exit.i.i.i" if.else.i.i.i.i.i.i.i.i.i.i: ; preds = %sw.bb5.i.i.i.i.i213.i.i %_M_index.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i214.i.i = getelementptr inbounds i8, ptr %agg.tmp117.i.i, i64 72 %_M_index.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i = getelementptr inbounds i8, ptr %recv_messages.i.i, i64 40 - %204 = load i8, ptr %_M_index.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i, align 8, !noalias !21 - %switch.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i = icmp eq i8 %204, 1 + %205 = load i8, ptr %_M_index.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i, align 8, !noalias !21 + %switch.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i = icmp eq i8 %205, 1 br i1 %switch.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i, label %sw.bb2.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i, label %_ZN9grpc_core9ConstructINS_14promise_detail11PromiseLikeINS1_9ImmediateISt7variantIJNS_8ContinueEN4absl12lts_202308026StatusEEEEEvEEJSB_EEEvPT_DpOT0_.exit.i.i.i.i.i.i.i.i.i.i sw.bb2.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i: ; preds = %if.else.i.i.i.i.i.i.i.i.i.i - %205 = getelementptr inbounds i8, ptr %recv_messages.i.i, i64 32 - %206 = getelementptr inbounds i8, ptr %agg.tmp117.i.i, i64 64 - %207 = load i64, ptr %205, align 8, !noalias !21 - store i64 %207, ptr %206, align 8, !noalias !21 - store i64 54, ptr %205, align 8, !noalias !21 + %206 = getelementptr inbounds i8, ptr %recv_messages.i.i, i64 32 + %207 = getelementptr inbounds i8, ptr %agg.tmp117.i.i, i64 64 + %208 = load i64, ptr %206, align 8, !noalias !21 + store i64 %208, ptr %207, align 8, !noalias !21 + store i64 54, ptr %206, align 8, !noalias !21 br label %_ZN9grpc_core9ConstructINS_14promise_detail11PromiseLikeINS1_9ImmediateISt7variantIJNS_8ContinueEN4absl12lts_202308026StatusEEEEEvEEJSB_EEEvPT_DpOT0_.exit.i.i.i.i.i.i.i.i.i.i _ZN9grpc_core9ConstructINS_14promise_detail11PromiseLikeINS1_9ImmediateISt7variantIJNS_8ContinueEN4absl12lts_202308026StatusEEEEEvEEJSB_EEEvPT_DpOT0_.exit.i.i.i.i.i.i.i.i.i.i: ; preds = %sw.bb2.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i, %if.else.i.i.i.i.i.i.i.i.i.i - store i8 %204, ptr %_M_index.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i214.i.i, align 8, !noalias !21 + store i8 %205, ptr %_M_index.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i214.i.i, align 8, !noalias !21 br label %"_ZZN9grpc_core12_GLOBAL__N_121MakeClientCallPromiseEPNS_9TransportENS_8CallArgsESt8functionIFNS_12ArenaPromiseISt10unique_ptrI19grpc_metadata_batchNS_5Arena13PooledDeleterEEEES3_EEEN3$_7C2EOSE_.exit.i.i.i" tail0.i.i.i.i.i.i.i: ; preds = %sw.bb.i.i.i.i.i217.i.i, %if.then.i211.i.i @@ -3670,220 +3670,220 @@ tail0.i.i.i.i.i.i.i: ; preds = %sw.bb.i.i.i.i.i217. br label %"_ZZN9grpc_core12_GLOBAL__N_121MakeClientCallPromiseEPNS_9TransportENS_8CallArgsESt8functionIFNS_12ArenaPromiseISt10unique_ptrI19grpc_metadata_batchNS_5Arena13PooledDeleterEEEES3_EEEN3$_7C2EOSE_.exit.i.i.i" "_ZZN9grpc_core12_GLOBAL__N_121MakeClientCallPromiseEPNS_9TransportENS_8CallArgsESt8functionIFNS_12ArenaPromiseISt10unique_ptrI19grpc_metadata_batchNS_5Arena13PooledDeleterEEEES3_EEEN3$_7C2EOSE_.exit.i.i.i": ; preds = %tail0.i.i.i.i.i.i.i, %_ZN9grpc_core9ConstructINS_14promise_detail11PromiseLikeINS1_9ImmediateISt7variantIJNS_8ContinueEN4absl12lts_202308026StatusEEEEEvEEJSB_EEEvPT_DpOT0_.exit.i.i.i.i.i.i.i.i.i.i, %"_ZN9grpc_core9ConstructINS_14promise_detail11PromiseLikeINS1_3MapINS_11pipe_detail4PushISt10unique_ptrINS_7MessageENS_5Arena13PooledDeleterEEEEZZZZNS_12_GLOBAL__N_122ConnectedChannelStream12RecvMessagesEPNS_10PipeSenderISA_EEbEN3$_0clEvENUlN4absl12lts_202308028StatusOrISt8optionalISA_EEEE_clESN_ENKUlvE_clEvEUlbE_EEvEEJSS_EEEvPT_DpOT0_.exit.i.i.i.i.i.i.i.i.i.i", %_ZZN9grpc_core12BatchBuilder5Batch8RefUntilINS_14promise_detail3MapIZNS_5LatchIN4absl12lts_202308026StatusEE4WaitEvEUlvE_ZNS0_23ReceiveTrailingMetadataENS0_6TargetEEUlS8_E_EEEEDaT_ENUlvE_D2Ev.exit.i.i - %208 = getelementptr inbounds i8, ptr %agg.tmp117.i.i, i64 120 - %209 = getelementptr inbounds i8, ptr %agg.tmp117.i.i, i64 128 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %209, ptr noundef nonnull align 8 dereferenceable(16) %recv_trailing_metadata.sroa.5.i.i, i64 16, i1 false), !noalias !21 - %210 = getelementptr inbounds i8, ptr %agg.tmp117.i.i, i64 152 - store i8 0, ptr %210, align 8, !noalias !21 - %211 = getelementptr inbounds i8, ptr %agg.tmp117.i.i, i64 153 - store i8 0, ptr %211, align 1, !noalias !21 - %212 = getelementptr inbounds i8, ptr %agg.tmp117.i.i, i64 154 - store i8 0, ptr %212, align 2, !noalias !21 + %209 = getelementptr inbounds i8, ptr %agg.tmp117.i.i, i64 120 + %210 = getelementptr inbounds i8, ptr %agg.tmp117.i.i, i64 128 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %210, ptr noundef nonnull align 8 dereferenceable(16) %recv_trailing_metadata.sroa.5.i.i, i64 16, i1 false), !noalias !21 + %211 = getelementptr inbounds i8, ptr %agg.tmp117.i.i, i64 152 + store i8 0, ptr %211, align 8, !noalias !21 + %212 = getelementptr inbounds i8, ptr %agg.tmp117.i.i, i64 153 + store i8 0, ptr %212, align 1, !noalias !21 + %213 = getelementptr inbounds i8, ptr %agg.tmp117.i.i, i64 154 + store i8 0, ptr %213, align 2, !noalias !21 store ptr null, ptr %stream.i.i, align 8, !noalias !21 call void @llvm.experimental.noalias.scope.decl(metadata !82) call void @llvm.lifetime.start.p0(i64 160, ptr nonnull %agg.tmp.i219.i.i), !noalias !21 %state.i.i.i.i.i.i = getelementptr inbounds i8, ptr %agg.tmp.i219.i.i, i64 24 store i8 0, ptr %state.i.i.i.i.i.i, align 8, !noalias !85 store ptr null, ptr %agg.tmp117.i.i, align 8, !noalias !85 - %213 = getelementptr inbounds i8, ptr %agg.tmp.i219.i.i, i64 8 - store i64 %172, ptr %213, align 8, !noalias !85 + %214 = getelementptr inbounds i8, ptr %agg.tmp.i219.i.i, i64 8 + store i64 %173, ptr %214, align 8, !noalias !85 store ptr null, ptr %next_factory.i.i.i.i, align 8, !noalias !85 - %214 = getelementptr inbounds i8, ptr %agg.tmp.i219.i.i, i64 32 - store ptr null, ptr %181, align 8, !noalias !85 - %215 = getelementptr inbounds i8, ptr %agg.tmp.i219.i.i, i64 40 - store i8 %frombool.i.i.i.i.i, ptr %215, align 8, !noalias !85 - %216 = getelementptr inbounds i8, ptr %agg.tmp.i219.i.i, i64 48 - store ptr null, ptr %186, align 8, !noalias !85 + %215 = getelementptr inbounds i8, ptr %agg.tmp.i219.i.i, i64 32 + store ptr null, ptr %182, align 8, !noalias !85 + %216 = getelementptr inbounds i8, ptr %agg.tmp.i219.i.i, i64 40 + store i8 %frombool.i.i.i.i.i, ptr %216, align 8, !noalias !85 + %217 = getelementptr inbounds i8, ptr %agg.tmp.i219.i.i, i64 48 + store ptr null, ptr %187, align 8, !noalias !85 %started_.i.i.i.i = getelementptr inbounds i8, ptr %agg.tmp.i219.i.i, i64 112 store i8 %frombool.i.i.i, ptr %started_.i.i.i.i, align 8, !noalias !85 br i1 %tobool.i.i.i, label %if.then.i.i223.i.i, label %"_ZN9grpc_core14promise_detail3MapIZNS_12_GLOBAL__N_121MakeClientCallPromiseEPNS_9TransportENS_8CallArgsESt8functionIFNS_12ArenaPromiseISt10unique_ptrI19grpc_metadata_batchNS_5Arena13PooledDeleterEEEES5_EEE3$_7ZNS2_21MakeClientCallPromiseES4_S5_SF_E3$_8EC2ESG_SH_.exit.i.i.i" if.then.i.i223.i.i: ; preds = %"_ZZN9grpc_core12_GLOBAL__N_121MakeClientCallPromiseEPNS_9TransportENS_8CallArgsESt8functionIFNS_12ArenaPromiseISt10unique_ptrI19grpc_metadata_batchNS_5Arena13PooledDeleterEEEES3_EEEN3$_7C2EOSE_.exit.i.i.i" - %217 = getelementptr inbounds i8, ptr %agg.tmp.i219.i.i, i64 56 - %218 = getelementptr inbounds i8, ptr %agg.tmp117.i.i, i64 56 + %218 = getelementptr inbounds i8, ptr %agg.tmp.i219.i.i, i64 56 + %219 = getelementptr inbounds i8, ptr %agg.tmp117.i.i, i64 56 %state.i.i.i.i.i1.i.i.i = getelementptr inbounds i8, ptr %agg.tmp.i219.i.i, i64 104 %state2.i.i.i.i.i2.i.i.i = getelementptr inbounds i8, ptr %agg.tmp117.i.i, i64 104 - %219 = load i8, ptr %state2.i.i.i.i.i2.i.i.i, align 8, !noalias !85 - store i8 %219, ptr %state.i.i.i.i.i1.i.i.i, align 8, !noalias !85 - switch i8 %219, label %tail0.i.i.i.i.i5.i.i.i [ + %220 = load i8, ptr %state2.i.i.i.i.i2.i.i.i, align 8, !noalias !85 + store i8 %220, ptr %state.i.i.i.i.i1.i.i.i, align 8, !noalias !85 + switch i8 %220, label %tail0.i.i.i.i.i5.i.i.i [ i8 0, label %sw.bb.i.i.i.i.i4.i.i.i i8 1, label %sw.bb5.i.i.i.i.i3.i.i.i ] sw.bb.i.i.i.i.i4.i.i.i: ; preds = %if.then.i.i223.i.i - %220 = load ptr, ptr %218, align 8, !noalias !85 - store ptr %220, ptr %217, align 8, !noalias !85 - store ptr null, ptr %218, align 8, !noalias !85 - %221 = getelementptr inbounds i8, ptr %agg.tmp.i219.i.i, i64 64 - %222 = getelementptr inbounds i8, ptr %agg.tmp117.i.i, i64 64 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %221, ptr noundef nonnull align 8 dereferenceable(16) %222, i64 16, i1 false), !noalias !85 - %223 = ptrtoint ptr %220 to i64 - %224 = trunc i64 %223 to i8 + %221 = load ptr, ptr %219, align 8, !noalias !85 + store ptr %221, ptr %218, align 8, !noalias !85 + store ptr null, ptr %219, align 8, !noalias !85 + %222 = getelementptr inbounds i8, ptr %agg.tmp.i219.i.i, i64 64 + %223 = getelementptr inbounds i8, ptr %agg.tmp117.i.i, i64 64 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %222, ptr noundef nonnull align 8 dereferenceable(16) %223, i64 16, i1 false), !noalias !85 + %224 = ptrtoint ptr %221 to i64 + %225 = trunc i64 %224 to i8 br label %tail0.i.i.i.i.i5.i.i.i sw.bb5.i.i.i.i.i3.i.i.i: ; preds = %if.then.i.i223.i.i - %225 = load i8, ptr %218, align 8, !noalias !85 - %tobool.i.i.i.i.i.i.i.i.i.i.i = trunc i8 %225 to i1 - %frombool.i.i.i.i.i.i.i.i.i.i.i = and i8 %225, 1 - store i8 %frombool.i.i.i.i.i.i.i.i.i.i.i, ptr %217, align 8, !noalias !85 + %226 = load i8, ptr %219, align 8, !noalias !85 + %tobool.i.i.i.i.i.i.i.i.i.i.i = trunc i8 %226 to i1 + %frombool.i.i.i.i.i.i.i.i.i.i.i = and i8 %226, 1 + store i8 %frombool.i.i.i.i.i.i.i.i.i.i.i, ptr %218, align 8, !noalias !85 br i1 %tobool.i.i.i.i.i.i.i.i.i.i.i, label %if.then.i.i.i.i.i.i.i.i.i.i.i, label %if.else.i.i.i.i.i.i.i.i.i.i.i if.then.i.i.i.i.i.i.i.i.i.i.i: ; preds = %sw.bb5.i.i.i.i.i3.i.i.i - %226 = getelementptr inbounds i8, ptr %agg.tmp.i219.i.i, i64 64 - %227 = getelementptr inbounds i8, ptr %agg.tmp117.i.i, i64 64 - %228 = load ptr, ptr %227, align 8, !noalias !85 - store ptr %228, ptr %226, align 8, !noalias !85 - store ptr null, ptr %227, align 8, !noalias !85 + %227 = getelementptr inbounds i8, ptr %agg.tmp.i219.i.i, i64 64 + %228 = getelementptr inbounds i8, ptr %agg.tmp117.i.i, i64 64 + %229 = load ptr, ptr %228, align 8, !noalias !85 + store ptr %229, ptr %227, align 8, !noalias !85 + store ptr null, ptr %228, align 8, !noalias !85 %_M_index.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i226.i.i = getelementptr inbounds i8, ptr %agg.tmp.i219.i.i, i64 88 %_M_index.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i = getelementptr inbounds i8, ptr %agg.tmp117.i.i, i64 88 - %229 = load i8, ptr %_M_index.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i, align 8, !noalias !85 - %switch.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i = icmp eq i8 %229, 0 + %230 = load i8, ptr %_M_index.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i, align 8, !noalias !85 + %switch.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i = icmp eq i8 %230, 0 br i1 %switch.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i, label %sw.bb.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i, label %"_ZN9grpc_core9ConstructINS_14promise_detail11PromiseLikeINS1_3MapINS_11pipe_detail4PushISt10unique_ptrINS_7MessageENS_5Arena13PooledDeleterEEEEZZZZNS_12_GLOBAL__N_122ConnectedChannelStream12RecvMessagesEPNS_10PipeSenderISA_EEbEN3$_0clEvENUlN4absl12lts_202308028StatusOrISt8optionalISA_EEEE_clESN_ENKUlvE_clEvEUlbE_EEvEEJSS_EEEvPT_DpOT0_.exit.i.i.i.i.i.i.i.i.i.i.i" sw.bb.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i: ; preds = %if.then.i.i.i.i.i.i.i.i.i.i.i %state_3.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i = getelementptr inbounds i8, ptr %agg.tmp117.i.i, i64 72 %state_.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i = getelementptr inbounds i8, ptr %agg.tmp.i219.i.i, i64 72 - %230 = load i8, ptr %state_3.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i, align 8, !noalias !85 - store i8 %230, ptr %state_.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i, align 8, !noalias !85 - %231 = getelementptr inbounds i8, ptr %agg.tmp.i219.i.i, i64 80 + %231 = load i8, ptr %state_3.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i, align 8, !noalias !85 + store i8 %231, ptr %state_.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i, align 8, !noalias !85 + %232 = getelementptr inbounds i8, ptr %agg.tmp.i219.i.i, i64 80 %add.ptr.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i = getelementptr inbounds i8, ptr %agg.tmp117.i.i, i64 80 - %232 = load i64, ptr %add.ptr.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i, align 8, !noalias !85 - store i64 %232, ptr %231, align 8, !noalias !85 + %233 = load i64, ptr %add.ptr.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i, align 8, !noalias !85 + store i64 %233, ptr %232, align 8, !noalias !85 store ptr null, ptr %add.ptr.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i, align 8, !noalias !85 br label %"_ZN9grpc_core9ConstructINS_14promise_detail11PromiseLikeINS1_3MapINS_11pipe_detail4PushISt10unique_ptrINS_7MessageENS_5Arena13PooledDeleterEEEEZZZZNS_12_GLOBAL__N_122ConnectedChannelStream12RecvMessagesEPNS_10PipeSenderISA_EEbEN3$_0clEvENUlN4absl12lts_202308028StatusOrISt8optionalISA_EEEE_clESN_ENKUlvE_clEvEUlbE_EEvEEJSS_EEEvPT_DpOT0_.exit.i.i.i.i.i.i.i.i.i.i.i" "_ZN9grpc_core9ConstructINS_14promise_detail11PromiseLikeINS1_3MapINS_11pipe_detail4PushISt10unique_ptrINS_7MessageENS_5Arena13PooledDeleterEEEEZZZZNS_12_GLOBAL__N_122ConnectedChannelStream12RecvMessagesEPNS_10PipeSenderISA_EEbEN3$_0clEvENUlN4absl12lts_202308028StatusOrISt8optionalISA_EEEE_clESN_ENKUlvE_clEvEUlbE_EEvEEJSS_EEEvPT_DpOT0_.exit.i.i.i.i.i.i.i.i.i.i.i": ; preds = %sw.bb.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i, %if.then.i.i.i.i.i.i.i.i.i.i.i - store i8 %229, ptr %_M_index.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i226.i.i, align 8, !noalias !85 + store i8 %230, ptr %_M_index.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i226.i.i, align 8, !noalias !85 br label %"_ZN9grpc_core14promise_detail3MapIZNS_12_GLOBAL__N_121MakeClientCallPromiseEPNS_9TransportENS_8CallArgsESt8functionIFNS_12ArenaPromiseISt10unique_ptrI19grpc_metadata_batchNS_5Arena13PooledDeleterEEEES5_EEE3$_7ZNS2_21MakeClientCallPromiseES4_S5_SF_E3$_8EC2ESG_SH_.exit.i.i.i" if.else.i.i.i.i.i.i.i.i.i.i.i: ; preds = %sw.bb5.i.i.i.i.i3.i.i.i %_M_index.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i224.i.i = getelementptr inbounds i8, ptr %agg.tmp.i219.i.i, i64 72 %_M_index.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i225.i.i = getelementptr inbounds i8, ptr %agg.tmp117.i.i, i64 72 - %233 = load i8, ptr %_M_index.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i225.i.i, align 8, !noalias !85 - %switch.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i = icmp eq i8 %233, 1 + %234 = load i8, ptr %_M_index.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i225.i.i, align 8, !noalias !85 + %switch.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i = icmp eq i8 %234, 1 br i1 %switch.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i, label %sw.bb2.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i, label %_ZN9grpc_core9ConstructINS_14promise_detail11PromiseLikeINS1_9ImmediateISt7variantIJNS_8ContinueEN4absl12lts_202308026StatusEEEEEvEEJSB_EEEvPT_DpOT0_.exit.i.i.i.i.i.i.i.i.i.i.i sw.bb2.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i: ; preds = %if.else.i.i.i.i.i.i.i.i.i.i.i - %234 = getelementptr inbounds i8, ptr %agg.tmp117.i.i, i64 64 - %235 = getelementptr inbounds i8, ptr %agg.tmp.i219.i.i, i64 64 - %236 = load i64, ptr %234, align 8, !noalias !85 - store i64 %236, ptr %235, align 8, !noalias !85 - store i64 54, ptr %234, align 8, !noalias !85 + %235 = getelementptr inbounds i8, ptr %agg.tmp117.i.i, i64 64 + %236 = getelementptr inbounds i8, ptr %agg.tmp.i219.i.i, i64 64 + %237 = load i64, ptr %235, align 8, !noalias !85 + store i64 %237, ptr %236, align 8, !noalias !85 + store i64 54, ptr %235, align 8, !noalias !85 br label %_ZN9grpc_core9ConstructINS_14promise_detail11PromiseLikeINS1_9ImmediateISt7variantIJNS_8ContinueEN4absl12lts_202308026StatusEEEEEvEEJSB_EEEvPT_DpOT0_.exit.i.i.i.i.i.i.i.i.i.i.i _ZN9grpc_core9ConstructINS_14promise_detail11PromiseLikeINS1_9ImmediateISt7variantIJNS_8ContinueEN4absl12lts_202308026StatusEEEEEvEEJSB_EEEvPT_DpOT0_.exit.i.i.i.i.i.i.i.i.i.i.i: ; preds = %sw.bb2.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i, %if.else.i.i.i.i.i.i.i.i.i.i.i - store i8 %233, ptr %_M_index.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i224.i.i, align 8, !noalias !85 + store i8 %234, ptr %_M_index.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i224.i.i, align 8, !noalias !85 br label %"_ZN9grpc_core14promise_detail3MapIZNS_12_GLOBAL__N_121MakeClientCallPromiseEPNS_9TransportENS_8CallArgsESt8functionIFNS_12ArenaPromiseISt10unique_ptrI19grpc_metadata_batchNS_5Arena13PooledDeleterEEEES5_EEE3$_7ZNS2_21MakeClientCallPromiseES4_S5_SF_E3$_8EC2ESG_SH_.exit.i.i.i" tail0.i.i.i.i.i5.i.i.i: ; preds = %sw.bb.i.i.i.i.i4.i.i.i, %if.then.i.i223.i.i - %237 = phi i8 [ %224, %sw.bb.i.i.i.i.i4.i.i.i ], [ undef, %if.then.i.i223.i.i ] + %238 = phi i8 [ %225, %sw.bb.i.i.i.i.i4.i.i.i ], [ undef, %if.then.i.i223.i.i ] %next_factory.i.i.i.i.i6.i.i.i = getelementptr inbounds i8, ptr %agg.tmp.i219.i.i, i64 80 %next_factory7.i.i.i.i.i.i.i.i = getelementptr inbounds i8, ptr %agg.tmp117.i.i, i64 80 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %next_factory.i.i.i.i.i6.i.i.i, ptr noundef nonnull align 8 dereferenceable(16) %next_factory7.i.i.i.i.i.i.i.i, i64 16, i1 false), !noalias !85 br label %"_ZN9grpc_core14promise_detail3MapIZNS_12_GLOBAL__N_121MakeClientCallPromiseEPNS_9TransportENS_8CallArgsESt8functionIFNS_12ArenaPromiseISt10unique_ptrI19grpc_metadata_batchNS_5Arena13PooledDeleterEEEES5_EEE3$_7ZNS2_21MakeClientCallPromiseES4_S5_SF_E3$_8EC2ESG_SH_.exit.i.i.i" "_ZN9grpc_core14promise_detail3MapIZNS_12_GLOBAL__N_121MakeClientCallPromiseEPNS_9TransportENS_8CallArgsESt8functionIFNS_12ArenaPromiseISt10unique_ptrI19grpc_metadata_batchNS_5Arena13PooledDeleterEEEES5_EEE3$_7ZNS2_21MakeClientCallPromiseES4_S5_SF_E3$_8EC2ESG_SH_.exit.i.i.i": ; preds = %tail0.i.i.i.i.i5.i.i.i, %_ZN9grpc_core9ConstructINS_14promise_detail11PromiseLikeINS1_9ImmediateISt7variantIJNS_8ContinueEN4absl12lts_202308026StatusEEEEEvEEJSB_EEEvPT_DpOT0_.exit.i.i.i.i.i.i.i.i.i.i.i, %"_ZN9grpc_core9ConstructINS_14promise_detail11PromiseLikeINS1_3MapINS_11pipe_detail4PushISt10unique_ptrINS_7MessageENS_5Arena13PooledDeleterEEEEZZZZNS_12_GLOBAL__N_122ConnectedChannelStream12RecvMessagesEPNS_10PipeSenderISA_EEbEN3$_0clEvENUlN4absl12lts_202308028StatusOrISt8optionalISA_EEEE_clESN_ENKUlvE_clEvEUlbE_EEvEEJSS_EEEvPT_DpOT0_.exit.i.i.i.i.i.i.i.i.i.i.i", %"_ZZN9grpc_core12_GLOBAL__N_121MakeClientCallPromiseEPNS_9TransportENS_8CallArgsESt8functionIFNS_12ArenaPromiseISt10unique_ptrI19grpc_metadata_batchNS_5Arena13PooledDeleterEEEES3_EEEN3$_7C2EOSE_.exit.i.i.i" - %238 = phi i8 [ undef, %"_ZZN9grpc_core12_GLOBAL__N_121MakeClientCallPromiseEPNS_9TransportENS_8CallArgsESt8functionIFNS_12ArenaPromiseISt10unique_ptrI19grpc_metadata_batchNS_5Arena13PooledDeleterEEEES3_EEEN3$_7C2EOSE_.exit.i.i.i" ], [ %frombool.i.i.i.i.i.i.i.i.i.i.i, %"_ZN9grpc_core9ConstructINS_14promise_detail11PromiseLikeINS1_3MapINS_11pipe_detail4PushISt10unique_ptrINS_7MessageENS_5Arena13PooledDeleterEEEEZZZZNS_12_GLOBAL__N_122ConnectedChannelStream12RecvMessagesEPNS_10PipeSenderISA_EEbEN3$_0clEvENUlN4absl12lts_202308028StatusOrISt8optionalISA_EEEE_clESN_ENKUlvE_clEvEUlbE_EEvEEJSS_EEEvPT_DpOT0_.exit.i.i.i.i.i.i.i.i.i.i.i" ], [ %frombool.i.i.i.i.i.i.i.i.i.i.i, %_ZN9grpc_core9ConstructINS_14promise_detail11PromiseLikeINS1_9ImmediateISt7variantIJNS_8ContinueEN4absl12lts_202308026StatusEEEEEvEEJSB_EEEvPT_DpOT0_.exit.i.i.i.i.i.i.i.i.i.i.i ], [ %237, %tail0.i.i.i.i.i5.i.i.i ] - %239 = phi i8 [ undef, %"_ZZN9grpc_core12_GLOBAL__N_121MakeClientCallPromiseEPNS_9TransportENS_8CallArgsESt8functionIFNS_12ArenaPromiseISt10unique_ptrI19grpc_metadata_batchNS_5Arena13PooledDeleterEEEES3_EEEN3$_7C2EOSE_.exit.i.i.i" ], [ 1, %"_ZN9grpc_core9ConstructINS_14promise_detail11PromiseLikeINS1_3MapINS_11pipe_detail4PushISt10unique_ptrINS_7MessageENS_5Arena13PooledDeleterEEEEZZZZNS_12_GLOBAL__N_122ConnectedChannelStream12RecvMessagesEPNS_10PipeSenderISA_EEbEN3$_0clEvENUlN4absl12lts_202308028StatusOrISt8optionalISA_EEEE_clESN_ENKUlvE_clEvEUlbE_EEvEEJSS_EEEvPT_DpOT0_.exit.i.i.i.i.i.i.i.i.i.i.i" ], [ 1, %_ZN9grpc_core9ConstructINS_14promise_detail11PromiseLikeINS1_9ImmediateISt7variantIJNS_8ContinueEN4absl12lts_202308026StatusEEEEEvEEJSB_EEEvPT_DpOT0_.exit.i.i.i.i.i.i.i.i.i.i.i ], [ %219, %tail0.i.i.i.i.i5.i.i.i ] - %240 = getelementptr inbounds i8, ptr %agg.tmp.i219.i.i, i64 120 - store ptr null, ptr %208, align 8, !noalias !85 - %241 = getelementptr inbounds i8, ptr %agg.tmp.i219.i.i, i64 128 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %241, ptr noundef nonnull align 8 dereferenceable(16) %209, i64 16, i1 false), !noalias !85 - %242 = getelementptr inbounds i8, ptr %agg.tmp.i219.i.i, i64 152 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(3) %242, ptr noundef nonnull align 8 dereferenceable(3) %210, i64 3, i1 false), !noalias !85 + %239 = phi i8 [ undef, %"_ZZN9grpc_core12_GLOBAL__N_121MakeClientCallPromiseEPNS_9TransportENS_8CallArgsESt8functionIFNS_12ArenaPromiseISt10unique_ptrI19grpc_metadata_batchNS_5Arena13PooledDeleterEEEES3_EEEN3$_7C2EOSE_.exit.i.i.i" ], [ %frombool.i.i.i.i.i.i.i.i.i.i.i, %"_ZN9grpc_core9ConstructINS_14promise_detail11PromiseLikeINS1_3MapINS_11pipe_detail4PushISt10unique_ptrINS_7MessageENS_5Arena13PooledDeleterEEEEZZZZNS_12_GLOBAL__N_122ConnectedChannelStream12RecvMessagesEPNS_10PipeSenderISA_EEbEN3$_0clEvENUlN4absl12lts_202308028StatusOrISt8optionalISA_EEEE_clESN_ENKUlvE_clEvEUlbE_EEvEEJSS_EEEvPT_DpOT0_.exit.i.i.i.i.i.i.i.i.i.i.i" ], [ %frombool.i.i.i.i.i.i.i.i.i.i.i, %_ZN9grpc_core9ConstructINS_14promise_detail11PromiseLikeINS1_9ImmediateISt7variantIJNS_8ContinueEN4absl12lts_202308026StatusEEEEEvEEJSB_EEEvPT_DpOT0_.exit.i.i.i.i.i.i.i.i.i.i.i ], [ %238, %tail0.i.i.i.i.i5.i.i.i ] + %240 = phi i8 [ undef, %"_ZZN9grpc_core12_GLOBAL__N_121MakeClientCallPromiseEPNS_9TransportENS_8CallArgsESt8functionIFNS_12ArenaPromiseISt10unique_ptrI19grpc_metadata_batchNS_5Arena13PooledDeleterEEEES3_EEEN3$_7C2EOSE_.exit.i.i.i" ], [ 1, %"_ZN9grpc_core9ConstructINS_14promise_detail11PromiseLikeINS1_3MapINS_11pipe_detail4PushISt10unique_ptrINS_7MessageENS_5Arena13PooledDeleterEEEEZZZZNS_12_GLOBAL__N_122ConnectedChannelStream12RecvMessagesEPNS_10PipeSenderISA_EEbEN3$_0clEvENUlN4absl12lts_202308028StatusOrISt8optionalISA_EEEE_clESN_ENKUlvE_clEvEUlbE_EEvEEJSS_EEEvPT_DpOT0_.exit.i.i.i.i.i.i.i.i.i.i.i" ], [ 1, %_ZN9grpc_core9ConstructINS_14promise_detail11PromiseLikeINS1_9ImmediateISt7variantIJNS_8ContinueEN4absl12lts_202308026StatusEEEEEvEEJSB_EEEvPT_DpOT0_.exit.i.i.i.i.i.i.i.i.i.i.i ], [ %220, %tail0.i.i.i.i.i5.i.i.i ] + %241 = getelementptr inbounds i8, ptr %agg.tmp.i219.i.i, i64 120 + store ptr null, ptr %209, align 8, !noalias !85 + %242 = getelementptr inbounds i8, ptr %agg.tmp.i219.i.i, i64 128 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %242, ptr noundef nonnull align 8 dereferenceable(16) %210, i64 16, i1 false), !noalias !85 + %243 = getelementptr inbounds i8, ptr %agg.tmp.i219.i.i, i64 152 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(3) %243, ptr noundef nonnull align 8 dereferenceable(3) %211, i64 3, i1 false), !noalias !85 store ptr null, ptr %agg.tmp118.i.i, align 8, !noalias !85 %state.i.i.i.i.i.i221.i.i = getelementptr inbounds i8, ptr %ref.tmp116.i.i, i64 24 store i8 0, ptr %state.i.i.i.i.i.i221.i.i, align 8, !alias.scope !82, !noalias !21 - store ptr %169, ptr %ref.tmp116.i.i, align 8, !alias.scope !82, !noalias !21 + store ptr %170, ptr %ref.tmp116.i.i, align 8, !alias.scope !82, !noalias !21 store ptr null, ptr %agg.tmp.i219.i.i, align 8, !noalias !85 - %243 = getelementptr inbounds i8, ptr %ref.tmp116.i.i, i64 8 - store i64 %172, ptr %243, align 8, !alias.scope !82, !noalias !21 + %244 = getelementptr inbounds i8, ptr %ref.tmp116.i.i, i64 8 + store i64 %173, ptr %244, align 8, !alias.scope !82, !noalias !21 %next_factory.i.i.i.i.i.i222.i.i = getelementptr inbounds i8, ptr %ref.tmp116.i.i, i64 16 %next_factory6.i.i.i.i.i.i.i.i = getelementptr inbounds i8, ptr %agg.tmp.i219.i.i, i64 16 store ptr null, ptr %next_factory6.i.i.i.i.i.i.i.i, align 8, !noalias !85 store ptr %4, ptr %next_factory.i.i.i.i.i.i222.i.i, align 8, !alias.scope !82, !noalias !21 - %244 = getelementptr inbounds i8, ptr %ref.tmp116.i.i, i64 32 - store ptr %182, ptr %244, align 8, !alias.scope !82, !noalias !21 - store ptr null, ptr %214, align 8, !noalias !85 - %245 = getelementptr inbounds i8, ptr %ref.tmp116.i.i, i64 40 - store i8 %frombool.i.i.i.i.i, ptr %245, align 8, !alias.scope !82, !noalias !21 - %246 = getelementptr inbounds i8, ptr %ref.tmp116.i.i, i64 48 - store ptr %188, ptr %246, align 8, !alias.scope !82, !noalias !21 - store ptr null, ptr %216, align 8, !noalias !85 + %245 = getelementptr inbounds i8, ptr %ref.tmp116.i.i, i64 32 + store ptr %183, ptr %245, align 8, !alias.scope !82, !noalias !21 + store ptr null, ptr %215, align 8, !noalias !85 + %246 = getelementptr inbounds i8, ptr %ref.tmp116.i.i, i64 40 + store i8 %frombool.i.i.i.i.i, ptr %246, align 8, !alias.scope !82, !noalias !21 + %247 = getelementptr inbounds i8, ptr %ref.tmp116.i.i, i64 48 + store ptr %189, ptr %247, align 8, !alias.scope !82, !noalias !21 + store ptr null, ptr %217, align 8, !noalias !85 %started_.i8.i.i.i = getelementptr inbounds i8, ptr %ref.tmp116.i.i, i64 112 store i8 %frombool.i.i.i, ptr %started_.i8.i.i.i, align 8, !alias.scope !82, !noalias !21 br i1 %tobool.i.i.i, label %if.then.i12.i.i.i, label %invoke.cont120.i.i if.then.i12.i.i.i: ; preds = %"_ZN9grpc_core14promise_detail3MapIZNS_12_GLOBAL__N_121MakeClientCallPromiseEPNS_9TransportENS_8CallArgsESt8functionIFNS_12ArenaPromiseISt10unique_ptrI19grpc_metadata_batchNS_5Arena13PooledDeleterEEEES5_EEE3$_7ZNS2_21MakeClientCallPromiseES4_S5_SF_E3$_8EC2ESG_SH_.exit.i.i.i" - %247 = getelementptr inbounds i8, ptr %ref.tmp116.i.i, i64 56 + %248 = getelementptr inbounds i8, ptr %ref.tmp116.i.i, i64 56 %state.i.i.i.i.i13.i.i.i = getelementptr inbounds i8, ptr %ref.tmp116.i.i, i64 104 - store i8 %239, ptr %state.i.i.i.i.i13.i.i.i, align 8, !alias.scope !82, !noalias !21 - switch i8 %239, label %tail0.i.i.i.i.i36.i.i.i [ + store i8 %240, ptr %state.i.i.i.i.i13.i.i.i, align 8, !alias.scope !82, !noalias !21 + switch i8 %240, label %tail0.i.i.i.i.i36.i.i.i [ i8 0, label %sw.bb.i.i.i.i.i35.i.i.i i8 1, label %sw.bb5.i.i.i.i.i15.i.i.i ] sw.bb.i.i.i.i.i35.i.i.i: ; preds = %if.then.i12.i.i.i - %248 = getelementptr inbounds i8, ptr %agg.tmp.i219.i.i, i64 56 - %249 = load ptr, ptr %248, align 8, !noalias !85 - store ptr %249, ptr %247, align 8, !alias.scope !82, !noalias !21 - store ptr null, ptr %248, align 8, !noalias !85 - %250 = getelementptr inbounds i8, ptr %ref.tmp116.i.i, i64 64 - %251 = getelementptr inbounds i8, ptr %agg.tmp.i219.i.i, i64 64 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %250, ptr noundef nonnull align 8 dereferenceable(16) %251, i64 16, i1 false), !noalias !21 + %249 = getelementptr inbounds i8, ptr %agg.tmp.i219.i.i, i64 56 + %250 = load ptr, ptr %249, align 8, !noalias !85 + store ptr %250, ptr %248, align 8, !alias.scope !82, !noalias !21 + store ptr null, ptr %249, align 8, !noalias !85 + %251 = getelementptr inbounds i8, ptr %ref.tmp116.i.i, i64 64 + %252 = getelementptr inbounds i8, ptr %agg.tmp.i219.i.i, i64 64 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %251, ptr noundef nonnull align 8 dereferenceable(16) %252, i64 16, i1 false), !noalias !21 br label %tail0.i.i.i.i.i36.i.i.i sw.bb5.i.i.i.i.i15.i.i.i: ; preds = %if.then.i12.i.i.i - %tobool.i.i.i.i.i.i.i.i16.i.i.i = trunc i8 %238 to i1 - %frombool.i.i.i.i.i.i.i.i17.i.i.i = and i8 %238, 1 - store i8 %frombool.i.i.i.i.i.i.i.i17.i.i.i, ptr %247, align 8, !alias.scope !82, !noalias !21 + %tobool.i.i.i.i.i.i.i.i16.i.i.i = trunc i8 %239 to i1 + %frombool.i.i.i.i.i.i.i.i17.i.i.i = and i8 %239, 1 + store i8 %frombool.i.i.i.i.i.i.i.i17.i.i.i, ptr %248, align 8, !alias.scope !82, !noalias !21 br i1 %tobool.i.i.i.i.i.i.i.i16.i.i.i, label %if.then.i.i.i.i.i.i.i.i25.i.i.i, label %if.else.i.i.i.i.i.i.i.i18.i.i.i if.then.i.i.i.i.i.i.i.i25.i.i.i: ; preds = %sw.bb5.i.i.i.i.i15.i.i.i - %252 = getelementptr inbounds i8, ptr %ref.tmp116.i.i, i64 64 - %253 = getelementptr inbounds i8, ptr %agg.tmp.i219.i.i, i64 64 - %254 = load ptr, ptr %253, align 8, !noalias !85 - store ptr %254, ptr %252, align 8, !alias.scope !82, !noalias !21 - store ptr null, ptr %253, align 8, !noalias !85 + %253 = getelementptr inbounds i8, ptr %ref.tmp116.i.i, i64 64 + %254 = getelementptr inbounds i8, ptr %agg.tmp.i219.i.i, i64 64 + %255 = load ptr, ptr %254, align 8, !noalias !85 + store ptr %255, ptr %253, align 8, !alias.scope !82, !noalias !21 + store ptr null, ptr %254, align 8, !noalias !85 %_M_index.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i26.i.i.i = getelementptr inbounds i8, ptr %ref.tmp116.i.i, i64 88 %_M_index.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i27.i.i.i = getelementptr inbounds i8, ptr %agg.tmp.i219.i.i, i64 88 - %255 = load i8, ptr %_M_index.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i27.i.i.i, align 8, !noalias !85 - %switch.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i28.i.i.i = icmp eq i8 %255, 0 + %256 = load i8, ptr %_M_index.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i27.i.i.i, align 8, !noalias !85 + %switch.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i28.i.i.i = icmp eq i8 %256, 0 br i1 %switch.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i28.i.i.i, label %sw.bb.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i30.i.i.i, label %"_ZN9grpc_core9ConstructINS_14promise_detail11PromiseLikeINS1_3MapINS_11pipe_detail4PushISt10unique_ptrINS_7MessageENS_5Arena13PooledDeleterEEEEZZZZNS_12_GLOBAL__N_122ConnectedChannelStream12RecvMessagesEPNS_10PipeSenderISA_EEbEN3$_0clEvENUlN4absl12lts_202308028StatusOrISt8optionalISA_EEEE_clESN_ENKUlvE_clEvEUlbE_EEvEEJSS_EEEvPT_DpOT0_.exit.i.i.i.i.i.i.i.i29.i.i.i" sw.bb.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i30.i.i.i: ; preds = %if.then.i.i.i.i.i.i.i.i25.i.i.i %state_3.i.i.i.i.i.i.i.i.i.i.i.i.i31.i.i.i = getelementptr inbounds i8, ptr %agg.tmp.i219.i.i, i64 72 %state_.i.i.i.i.i.i.i.i.i.i.i.i.i32.i.i.i = getelementptr inbounds i8, ptr %ref.tmp116.i.i, i64 72 - %256 = load i8, ptr %state_3.i.i.i.i.i.i.i.i.i.i.i.i.i31.i.i.i, align 8, !noalias !85 - store i8 %256, ptr %state_.i.i.i.i.i.i.i.i.i.i.i.i.i32.i.i.i, align 8, !alias.scope !82, !noalias !21 - %257 = getelementptr inbounds i8, ptr %ref.tmp116.i.i, i64 80 + %257 = load i8, ptr %state_3.i.i.i.i.i.i.i.i.i.i.i.i.i31.i.i.i, align 8, !noalias !85 + store i8 %257, ptr %state_.i.i.i.i.i.i.i.i.i.i.i.i.i32.i.i.i, align 8, !alias.scope !82, !noalias !21 + %258 = getelementptr inbounds i8, ptr %ref.tmp116.i.i, i64 80 %add.ptr.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i33.i.i.i = getelementptr inbounds i8, ptr %agg.tmp.i219.i.i, i64 80 - %258 = load i64, ptr %add.ptr.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i33.i.i.i, align 8, !noalias !85 - store i64 %258, ptr %257, align 8, !alias.scope !82, !noalias !21 + %259 = load i64, ptr %add.ptr.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i33.i.i.i, align 8, !noalias !85 + store i64 %259, ptr %258, align 8, !alias.scope !82, !noalias !21 store ptr null, ptr %add.ptr.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i33.i.i.i, align 8, !noalias !85 br label %"_ZN9grpc_core9ConstructINS_14promise_detail11PromiseLikeINS1_3MapINS_11pipe_detail4PushISt10unique_ptrINS_7MessageENS_5Arena13PooledDeleterEEEEZZZZNS_12_GLOBAL__N_122ConnectedChannelStream12RecvMessagesEPNS_10PipeSenderISA_EEbEN3$_0clEvENUlN4absl12lts_202308028StatusOrISt8optionalISA_EEEE_clESN_ENKUlvE_clEvEUlbE_EEvEEJSS_EEEvPT_DpOT0_.exit.i.i.i.i.i.i.i.i29.i.i.i" "_ZN9grpc_core9ConstructINS_14promise_detail11PromiseLikeINS1_3MapINS_11pipe_detail4PushISt10unique_ptrINS_7MessageENS_5Arena13PooledDeleterEEEEZZZZNS_12_GLOBAL__N_122ConnectedChannelStream12RecvMessagesEPNS_10PipeSenderISA_EEbEN3$_0clEvENUlN4absl12lts_202308028StatusOrISt8optionalISA_EEEE_clESN_ENKUlvE_clEvEUlbE_EEvEEJSS_EEEvPT_DpOT0_.exit.i.i.i.i.i.i.i.i29.i.i.i": ; preds = %sw.bb.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i30.i.i.i, %if.then.i.i.i.i.i.i.i.i25.i.i.i - store i8 %255, ptr %_M_index.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i26.i.i.i, align 8, !alias.scope !82, !noalias !21 + store i8 %256, ptr %_M_index.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i26.i.i.i, align 8, !alias.scope !82, !noalias !21 br label %invoke.cont120.i.i if.else.i.i.i.i.i.i.i.i18.i.i.i: ; preds = %sw.bb5.i.i.i.i.i15.i.i.i %_M_index.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i19.i.i.i = getelementptr inbounds i8, ptr %ref.tmp116.i.i, i64 72 %_M_index.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i20.i.i.i = getelementptr inbounds i8, ptr %agg.tmp.i219.i.i, i64 72 - %259 = load i8, ptr %_M_index.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i20.i.i.i, align 8, !noalias !85 - %switch.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i21.i.i.i = icmp eq i8 %259, 1 + %260 = load i8, ptr %_M_index.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i20.i.i.i, align 8, !noalias !85 + %switch.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i21.i.i.i = icmp eq i8 %260, 1 br i1 %switch.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i21.i.i.i, label %sw.bb2.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i23.i.i.i, label %_ZN9grpc_core9ConstructINS_14promise_detail11PromiseLikeINS1_9ImmediateISt7variantIJNS_8ContinueEN4absl12lts_202308026StatusEEEEEvEEJSB_EEEvPT_DpOT0_.exit.i.i.i.i.i.i.i.i22.i.i.i sw.bb2.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i23.i.i.i: ; preds = %if.else.i.i.i.i.i.i.i.i18.i.i.i - %260 = getelementptr inbounds i8, ptr %agg.tmp.i219.i.i, i64 64 - %261 = getelementptr inbounds i8, ptr %ref.tmp116.i.i, i64 64 - %262 = load i64, ptr %260, align 8, !noalias !85 - store i64 %262, ptr %261, align 8, !alias.scope !82, !noalias !21 - store i64 54, ptr %260, align 8, !noalias !85 + %261 = getelementptr inbounds i8, ptr %agg.tmp.i219.i.i, i64 64 + %262 = getelementptr inbounds i8, ptr %ref.tmp116.i.i, i64 64 + %263 = load i64, ptr %261, align 8, !noalias !85 + store i64 %263, ptr %262, align 8, !alias.scope !82, !noalias !21 + store i64 54, ptr %261, align 8, !noalias !85 br label %_ZN9grpc_core9ConstructINS_14promise_detail11PromiseLikeINS1_9ImmediateISt7variantIJNS_8ContinueEN4absl12lts_202308026StatusEEEEEvEEJSB_EEEvPT_DpOT0_.exit.i.i.i.i.i.i.i.i22.i.i.i _ZN9grpc_core9ConstructINS_14promise_detail11PromiseLikeINS1_9ImmediateISt7variantIJNS_8ContinueEN4absl12lts_202308026StatusEEEEEvEEJSB_EEEvPT_DpOT0_.exit.i.i.i.i.i.i.i.i22.i.i.i: ; preds = %sw.bb2.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i23.i.i.i, %if.else.i.i.i.i.i.i.i.i18.i.i.i - store i8 %259, ptr %_M_index.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i19.i.i.i, align 8, !alias.scope !82, !noalias !21 + store i8 %260, ptr %_M_index.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i19.i.i.i, align 8, !alias.scope !82, !noalias !21 br label %invoke.cont120.i.i tail0.i.i.i.i.i36.i.i.i: ; preds = %sw.bb.i.i.i.i.i35.i.i.i, %if.then.i12.i.i.i @@ -3893,13 +3893,13 @@ tail0.i.i.i.i.i36.i.i.i: ; preds = %sw.bb.i.i.i.i.i35.i br label %invoke.cont120.i.i invoke.cont120.i.i: ; preds = %tail0.i.i.i.i.i36.i.i.i, %_ZN9grpc_core9ConstructINS_14promise_detail11PromiseLikeINS1_9ImmediateISt7variantIJNS_8ContinueEN4absl12lts_202308026StatusEEEEEvEEJSB_EEEvPT_DpOT0_.exit.i.i.i.i.i.i.i.i22.i.i.i, %"_ZN9grpc_core9ConstructINS_14promise_detail11PromiseLikeINS1_3MapINS_11pipe_detail4PushISt10unique_ptrINS_7MessageENS_5Arena13PooledDeleterEEEEZZZZNS_12_GLOBAL__N_122ConnectedChannelStream12RecvMessagesEPNS_10PipeSenderISA_EEbEN3$_0clEvENUlN4absl12lts_202308028StatusOrISt8optionalISA_EEEE_clESN_ENKUlvE_clEvEUlbE_EEvEEJSS_EEEvPT_DpOT0_.exit.i.i.i.i.i.i.i.i29.i.i.i", %"_ZN9grpc_core14promise_detail3MapIZNS_12_GLOBAL__N_121MakeClientCallPromiseEPNS_9TransportENS_8CallArgsESt8functionIFNS_12ArenaPromiseISt10unique_ptrI19grpc_metadata_batchNS_5Arena13PooledDeleterEEEES5_EEE3$_7ZNS2_21MakeClientCallPromiseES4_S5_SF_E3$_8EC2ESG_SH_.exit.i.i.i" - %263 = getelementptr inbounds i8, ptr %ref.tmp116.i.i, i64 120 - store ptr %177, ptr %263, align 8, !alias.scope !82, !noalias !21 - store ptr null, ptr %240, align 8, !noalias !85 - %264 = getelementptr inbounds i8, ptr %ref.tmp116.i.i, i64 128 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %264, ptr noundef nonnull align 8 dereferenceable(16) %241, i64 16, i1 false), !noalias !21 - %265 = getelementptr inbounds i8, ptr %ref.tmp116.i.i, i64 152 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(3) %265, ptr noundef nonnull align 8 dereferenceable(3) %242, i64 3, i1 false), !noalias !21 + %264 = getelementptr inbounds i8, ptr %ref.tmp116.i.i, i64 120 + store ptr %178, ptr %264, align 8, !alias.scope !82, !noalias !21 + store ptr null, ptr %241, align 8, !noalias !85 + %265 = getelementptr inbounds i8, ptr %ref.tmp116.i.i, i64 128 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %265, ptr noundef nonnull align 8 dereferenceable(16) %242, i64 16, i1 false), !noalias !21 + %266 = getelementptr inbounds i8, ptr %ref.tmp116.i.i, i64 152 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(3) %266, ptr noundef nonnull align 8 dereferenceable(3) %243, i64 3, i1 false), !noalias !21 %fn_.i.i.i.i = getelementptr inbounds i8, ptr %ref.tmp116.i.i, i64 160 store i64 %10, ptr %fn_.i.i.i.i, align 8, !alias.scope !82, !noalias !21 call fastcc void @"_ZZN9grpc_core12_GLOBAL__N_121MakeClientCallPromiseEPNS_9TransportENS_8CallArgsESt8functionIFNS_12ArenaPromiseISt10unique_ptrI19grpc_metadata_batchNS_5Arena13PooledDeleterEEEES3_EEEN3$_7D2Ev"(ptr noundef nonnull align 8 dereferenceable(155) %agg.tmp.i219.i.i) #24, !noalias !85 @@ -3907,8 +3907,8 @@ invoke.cont120.i.i: ; preds = %tail0.i.i.i.i.i36.i %arg.i.i.i = getelementptr inbounds i8, ptr %agg.result, i64 16 store i64 0, ptr %arg.i.i.i, align 16, !alias.scope !21 store ptr @"_ZN9grpc_core20arena_promise_detail17AllocatedCallableISt10unique_ptrI19grpc_metadata_batchNS_5Arena13PooledDeleterEENS_14promise_detail3MapIZNS_12_GLOBAL__N_121MakeClientCallPromiseEPNS_9TransportENS_8CallArgsESt8functionIFNS_12ArenaPromiseIS6_EESC_EEE3$_7ZNS9_21MakeClientCallPromiseESB_SC_SH_E3$_8EEE6vtableE", ptr %agg.result, align 16, !alias.scope !21 - %266 = load ptr, ptr %7, align 8, !noalias !21 - %cmp.not.i.i.i.i.i.i = icmp eq ptr %266, null + %267 = load ptr, ptr %7, align 8, !noalias !21 + %cmp.not.i.i.i.i.i.i = icmp eq ptr %267, null br i1 %cmp.not.i.i.i.i.i.i, label %if.then.i.i.i.i228.i.i, label %_ZN9grpc_core10GetContextINS_5ArenaEEEPT_v.exit.i.i.i.i.i if.then.i.i.i.i228.i.i: ; preds = %invoke.cont120.i.i @@ -3919,162 +3919,162 @@ if.then.i.i.i.i228.i.i: ; preds = %invoke.cont120.i.i unreachable _ZN9grpc_core10GetContextINS_5ArenaEEEPT_v.exit.i.i.i.i.i: ; preds = %invoke.cont120.i.i - %267 = atomicrmw add ptr %266, i64 176 monotonic, align 8, !noalias !21 - %add2.i.i.i.i.i.i.i = add i64 %267, 176 - %initial_zone_size_.i.i.i.i.i.i.i = getelementptr inbounds i8, ptr %266, i64 16 - %268 = load i64, ptr %initial_zone_size_.i.i.i.i.i.i.i, align 8, !noalias !21 - %cmp.not.i.i.i.i.i.i.i = icmp ugt i64 %add2.i.i.i.i.i.i.i, %268 + %268 = atomicrmw add ptr %267, i64 176 monotonic, align 8, !noalias !21 + %add2.i.i.i.i.i.i.i = add i64 %268, 176 + %initial_zone_size_.i.i.i.i.i.i.i = getelementptr inbounds i8, ptr %267, i64 16 + %269 = load i64, ptr %initial_zone_size_.i.i.i.i.i.i.i, align 8, !noalias !21 + %cmp.not.i.i.i.i.i.i.i = icmp ugt i64 %add2.i.i.i.i.i.i.i, %269 br i1 %cmp.not.i.i.i.i.i.i.i, label %if.else.i.i.i.i.i.i.i, label %if.then.i.i.i.i.i.i.i if.then.i.i.i.i.i.i.i: ; preds = %_ZN9grpc_core10GetContextINS_5ArenaEEEPT_v.exit.i.i.i.i.i - %add.ptr.i.i.i.i.i227.i.i = getelementptr inbounds i8, ptr %266, i64 48 - %add.ptr3.i.i.i.i.i.i.i = getelementptr inbounds i8, ptr %add.ptr.i.i.i.i.i227.i.i, i64 %267 + %add.ptr.i.i.i.i.i227.i.i = getelementptr inbounds i8, ptr %267, i64 48 + %add.ptr3.i.i.i.i.i.i.i = getelementptr inbounds i8, ptr %add.ptr.i.i.i.i.i227.i.i, i64 %268 br label %_ZN9grpc_core5Arena5AllocEm.exit.i.i.i.i.i.i if.else.i.i.i.i.i.i.i: ; preds = %_ZN9grpc_core10GetContextINS_5ArenaEEEPT_v.exit.i.i.i.i.i - %call4.i.i.i.i.i230.i.i = invoke noundef ptr @_ZN9grpc_core5Arena9AllocZoneEm(ptr noundef nonnull align 8 dereferenceable(48) %266, i64 noundef 176) + %call4.i.i.i.i.i230.i.i = invoke noundef ptr @_ZN9grpc_core5Arena9AllocZoneEm(ptr noundef nonnull align 8 dereferenceable(48) %267, i64 noundef 176) to label %_ZN9grpc_core5Arena5AllocEm.exit.i.i.i.i.i.i unwind label %lpad121.i.i, !noalias !21 _ZN9grpc_core5Arena5AllocEm.exit.i.i.i.i.i.i: ; preds = %if.else.i.i.i.i.i.i.i, %if.then.i.i.i.i.i.i.i %retval.0.i.i.i.i.i.i.i = phi ptr [ %add.ptr3.i.i.i.i.i.i.i, %if.then.i.i.i.i.i.i.i ], [ %call4.i.i.i.i.i230.i.i, %if.else.i.i.i.i.i.i.i ] %state.i.i.i.i.i.i.i.i.i.i.i.i = getelementptr inbounds i8, ptr %retval.0.i.i.i.i.i.i.i, i64 24 - %269 = load i8, ptr %state.i.i.i.i.i.i221.i.i, align 8, !noalias !21 - store i8 %269, ptr %state.i.i.i.i.i.i.i.i.i.i.i.i, align 8, !noalias !21 - switch i8 %269, label %tail0.i.i.i.i.i.i.i.i.i.i.i.i [ + %270 = load i8, ptr %state.i.i.i.i.i.i221.i.i, align 8, !noalias !21 + store i8 %270, ptr %state.i.i.i.i.i.i.i.i.i.i.i.i, align 8, !noalias !21 + switch i8 %270, label %tail0.i.i.i.i.i.i.i.i.i.i.i.i [ i8 0, label %sw.bb.i.i.i.i.i.i.i.i.i.i.i.i i8 1, label %sw.bb5.i.i.i.i.i.i.i.i.i.i.i.i ] sw.bb.i.i.i.i.i.i.i.i.i.i.i.i: ; preds = %_ZN9grpc_core5Arena5AllocEm.exit.i.i.i.i.i.i store ptr null, ptr %retval.0.i.i.i.i.i.i.i, align 8, !noalias !21 - %270 = load ptr, ptr %ref.tmp116.i.i, align 8, !noalias !21 - store ptr %270, ptr %retval.0.i.i.i.i.i.i.i, align 8, !noalias !21 + %271 = load ptr, ptr %ref.tmp116.i.i, align 8, !noalias !21 + store ptr %271, ptr %retval.0.i.i.i.i.i.i.i, align 8, !noalias !21 store ptr null, ptr %ref.tmp116.i.i, align 8, !noalias !21 - %271 = getelementptr inbounds i8, ptr %retval.0.i.i.i.i.i.i.i, i64 8 - %272 = load i64, ptr %243, align 8, !noalias !21 - store i64 %272, ptr %271, align 8, !noalias !21 + %272 = getelementptr inbounds i8, ptr %retval.0.i.i.i.i.i.i.i, i64 8 + %273 = load i64, ptr %244, align 8, !noalias !21 + store i64 %273, ptr %272, align 8, !noalias !21 br label %tail0.i.i.i.i.i.i.i.i.i.i.i.i sw.bb5.i.i.i.i.i.i.i.i.i.i.i.i: ; preds = %_ZN9grpc_core5Arena5AllocEm.exit.i.i.i.i.i.i - %273 = load ptr, ptr %ref.tmp116.i.i, align 8, !noalias !21 + %274 = load ptr, ptr %ref.tmp116.i.i, align 8, !noalias !21 store ptr null, ptr %ref.tmp116.i.i, align 8, !noalias !21 - store ptr %273, ptr %retval.0.i.i.i.i.i.i.i, align 8, !noalias !21 + store ptr %274, ptr %retval.0.i.i.i.i.i.i.i, align 8, !noalias !21 %arg_.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i = getelementptr inbounds i8, ptr %retval.0.i.i.i.i.i.i.i, i64 8 - %274 = load i64, ptr %243, align 8, !noalias !21 - store i64 %274, ptr %arg_.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i, align 8, !noalias !21 - store i64 54, ptr %243, align 8, !noalias !21 + %275 = load i64, ptr %244, align 8, !noalias !21 + store i64 %275, ptr %arg_.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i, align 8, !noalias !21 + store i64 54, ptr %244, align 8, !noalias !21 br label %"_ZN9grpc_core12ArenaPromiseISt10unique_ptrI19grpc_metadata_batchNS_5Arena13PooledDeleterEEEC2INS_14promise_detail3MapIZNS_12_GLOBAL__N_121MakeClientCallPromiseEPNS_9TransportENS_8CallArgsESt8functionIFS6_SD_EEE3$_7ZNSA_21MakeClientCallPromiseESC_SD_SG_E3$_8EEvEEOT_.exit.i.i" tail0.i.i.i.i.i.i.i.i.i.i.i.i: ; preds = %sw.bb.i.i.i.i.i.i.i.i.i.i.i.i, %_ZN9grpc_core5Arena5AllocEm.exit.i.i.i.i.i.i %next_factory.i.i.i.i.i.i.i.i.i.i.i.i = getelementptr inbounds i8, ptr %retval.0.i.i.i.i.i.i.i, i64 16 - %275 = load ptr, ptr %next_factory.i.i.i.i.i.i222.i.i, align 8, !noalias !21 + %276 = load ptr, ptr %next_factory.i.i.i.i.i.i222.i.i, align 8, !noalias !21 store ptr null, ptr %next_factory.i.i.i.i.i.i222.i.i, align 8, !noalias !21 - store ptr %275, ptr %next_factory.i.i.i.i.i.i.i.i.i.i.i.i, align 8, !noalias !21 + store ptr %276, ptr %next_factory.i.i.i.i.i.i.i.i.i.i.i.i, align 8, !noalias !21 br label %"_ZN9grpc_core12ArenaPromiseISt10unique_ptrI19grpc_metadata_batchNS_5Arena13PooledDeleterEEEC2INS_14promise_detail3MapIZNS_12_GLOBAL__N_121MakeClientCallPromiseEPNS_9TransportENS_8CallArgsESt8functionIFS6_SD_EEE3$_7ZNSA_21MakeClientCallPromiseESC_SD_SG_E3$_8EEvEEOT_.exit.i.i" "_ZN9grpc_core12ArenaPromiseISt10unique_ptrI19grpc_metadata_batchNS_5Arena13PooledDeleterEEEC2INS_14promise_detail3MapIZNS_12_GLOBAL__N_121MakeClientCallPromiseEPNS_9TransportENS_8CallArgsESt8functionIFS6_SD_EEE3$_7ZNSA_21MakeClientCallPromiseESC_SD_SG_E3$_8EEvEEOT_.exit.i.i": ; preds = %tail0.i.i.i.i.i.i.i.i.i.i.i.i, %sw.bb5.i.i.i.i.i.i.i.i.i.i.i.i - %276 = getelementptr inbounds i8, ptr %retval.0.i.i.i.i.i.i.i, i64 32 - store ptr null, ptr %276, align 8, !noalias !21 - %277 = load ptr, ptr %244, align 8, !noalias !21 - store ptr %277, ptr %276, align 8, !noalias !21 - store ptr null, ptr %244, align 8, !noalias !21 - %278 = getelementptr inbounds i8, ptr %retval.0.i.i.i.i.i.i.i, i64 40 - %279 = load i8, ptr %245, align 8, !noalias !21 - %frombool.i.i.i275.i.i = and i8 %279, 1 - store i8 %frombool.i.i.i275.i.i, ptr %278, align 8, !noalias !21 - %280 = getelementptr inbounds i8, ptr %retval.0.i.i.i.i.i.i.i, i64 48 - store ptr null, ptr %280, align 8, !noalias !21 - %281 = load ptr, ptr %246, align 8, !noalias !21 - store ptr %281, ptr %280, align 8, !noalias !21 - store ptr null, ptr %246, align 8, !noalias !21 + %277 = getelementptr inbounds i8, ptr %retval.0.i.i.i.i.i.i.i, i64 32 + store ptr null, ptr %277, align 8, !noalias !21 + %278 = load ptr, ptr %245, align 8, !noalias !21 + store ptr %278, ptr %277, align 8, !noalias !21 + store ptr null, ptr %245, align 8, !noalias !21 + %279 = getelementptr inbounds i8, ptr %retval.0.i.i.i.i.i.i.i, i64 40 + %280 = load i8, ptr %246, align 8, !noalias !21 + %frombool.i.i.i275.i.i = and i8 %280, 1 + store i8 %frombool.i.i.i275.i.i, ptr %279, align 8, !noalias !21 + %281 = getelementptr inbounds i8, ptr %retval.0.i.i.i.i.i.i.i, i64 48 + store ptr null, ptr %281, align 8, !noalias !21 + %282 = load ptr, ptr %247, align 8, !noalias !21 + store ptr %282, ptr %281, align 8, !noalias !21 + store ptr null, ptr %247, align 8, !noalias !21 %started_.i276.i.i = getelementptr inbounds i8, ptr %retval.0.i.i.i.i.i.i.i, i64 112 - %282 = load i8, ptr %started_.i8.i.i.i, align 8, !noalias !21 - %tobool.i278.i.i = trunc i8 %282 to i1 - %frombool.i279.i.i = and i8 %282, 1 + %283 = load i8, ptr %started_.i8.i.i.i, align 8, !noalias !21 + %tobool.i278.i.i = trunc i8 %283 to i1 + %frombool.i279.i.i = and i8 %283, 1 store i8 %frombool.i279.i.i, ptr %started_.i276.i.i, align 8, !noalias !21 br i1 %tobool.i278.i.i, label %if.then.i281.i.i, label %"_ZZN9grpc_core12_GLOBAL__N_121MakeClientCallPromiseEPNS_9TransportENS_8CallArgsESt8functionIFNS_12ArenaPromiseISt10unique_ptrI19grpc_metadata_batchNS_5Arena13PooledDeleterEEEES3_EEEN3$_8D2Ev.exit.i.i" if.then.i281.i.i: ; preds = %"_ZN9grpc_core12ArenaPromiseISt10unique_ptrI19grpc_metadata_batchNS_5Arena13PooledDeleterEEEC2INS_14promise_detail3MapIZNS_12_GLOBAL__N_121MakeClientCallPromiseEPNS_9TransportENS_8CallArgsESt8functionIFS6_SD_EEE3$_7ZNSA_21MakeClientCallPromiseESC_SD_SG_E3$_8EEvEEOT_.exit.i.i" - %283 = getelementptr inbounds i8, ptr %retval.0.i.i.i.i.i.i.i, i64 56 - %284 = getelementptr inbounds i8, ptr %ref.tmp116.i.i, i64 56 + %284 = getelementptr inbounds i8, ptr %retval.0.i.i.i.i.i.i.i, i64 56 + %285 = getelementptr inbounds i8, ptr %ref.tmp116.i.i, i64 56 %state.i.i.i.i.i282.i.i = getelementptr inbounds i8, ptr %retval.0.i.i.i.i.i.i.i, i64 104 %state2.i.i.i.i.i283.i.i = getelementptr inbounds i8, ptr %ref.tmp116.i.i, i64 104 - %285 = load i8, ptr %state2.i.i.i.i.i283.i.i, align 8, !noalias !21 - store i8 %285, ptr %state.i.i.i.i.i282.i.i, align 8, !noalias !21 - switch i8 %285, label %tail0.i.i.i.i.i305.i.i [ + %286 = load i8, ptr %state2.i.i.i.i.i283.i.i, align 8, !noalias !21 + store i8 %286, ptr %state.i.i.i.i.i282.i.i, align 8, !noalias !21 + switch i8 %286, label %tail0.i.i.i.i.i305.i.i [ i8 0, label %sw.bb.i.i.i.i.i304.i.i i8 1, label %sw.bb5.i.i.i.i.i284.i.i ] sw.bb.i.i.i.i.i304.i.i: ; preds = %if.then.i281.i.i - store ptr null, ptr %283, align 8, !noalias !21 - %286 = load ptr, ptr %284, align 8, !noalias !21 - store ptr %286, ptr %283, align 8, !noalias !21 store ptr null, ptr %284, align 8, !noalias !21 - %287 = getelementptr inbounds i8, ptr %retval.0.i.i.i.i.i.i.i, i64 64 - %288 = getelementptr inbounds i8, ptr %ref.tmp116.i.i, i64 64 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %287, ptr noundef nonnull align 8 dereferenceable(16) %288, i64 16, i1 false), !noalias !21 + %287 = load ptr, ptr %285, align 8, !noalias !21 + store ptr %287, ptr %284, align 8, !noalias !21 + store ptr null, ptr %285, align 8, !noalias !21 + %288 = getelementptr inbounds i8, ptr %retval.0.i.i.i.i.i.i.i, i64 64 + %289 = getelementptr inbounds i8, ptr %ref.tmp116.i.i, i64 64 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %288, ptr noundef nonnull align 8 dereferenceable(16) %289, i64 16, i1 false), !noalias !21 br label %tail0.i.i.i.i.i305.i.i sw.bb5.i.i.i.i.i284.i.i: ; preds = %if.then.i281.i.i - %289 = load i8, ptr %284, align 8, !noalias !21 - %tobool.i.i.i.i.i.i.i.i285.i.i = trunc i8 %289 to i1 - %frombool.i.i.i.i.i.i.i.i286.i.i = and i8 %289, 1 - store i8 %frombool.i.i.i.i.i.i.i.i286.i.i, ptr %283, align 8, !noalias !21 + %290 = load i8, ptr %285, align 8, !noalias !21 + %tobool.i.i.i.i.i.i.i.i285.i.i = trunc i8 %290 to i1 + %frombool.i.i.i.i.i.i.i.i286.i.i = and i8 %290, 1 + store i8 %frombool.i.i.i.i.i.i.i.i286.i.i, ptr %284, align 8, !noalias !21 br i1 %tobool.i.i.i.i.i.i.i.i285.i.i, label %if.then.i.i.i.i.i.i.i.i294.i.i, label %if.else.i.i.i.i.i.i.i.i287.i.i if.then.i.i.i.i.i.i.i.i294.i.i: ; preds = %sw.bb5.i.i.i.i.i284.i.i - %290 = getelementptr inbounds i8, ptr %retval.0.i.i.i.i.i.i.i, i64 64 - %291 = getelementptr inbounds i8, ptr %ref.tmp116.i.i, i64 64 - store ptr null, ptr %290, align 8, !noalias !21 - %292 = load ptr, ptr %291, align 8, !noalias !21 - store ptr %292, ptr %290, align 8, !noalias !21 + %291 = getelementptr inbounds i8, ptr %retval.0.i.i.i.i.i.i.i, i64 64 + %292 = getelementptr inbounds i8, ptr %ref.tmp116.i.i, i64 64 store ptr null, ptr %291, align 8, !noalias !21 + %293 = load ptr, ptr %292, align 8, !noalias !21 + store ptr %293, ptr %291, align 8, !noalias !21 + store ptr null, ptr %292, align 8, !noalias !21 %_M_index.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i295.i.i = getelementptr inbounds i8, ptr %retval.0.i.i.i.i.i.i.i, i64 88 store i8 -1, ptr %_M_index.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i295.i.i, align 8, !noalias !21 %_M_index.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i296.i.i = getelementptr inbounds i8, ptr %ref.tmp116.i.i, i64 88 - %293 = load i8, ptr %_M_index.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i296.i.i, align 8, !noalias !21 - %switch.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i297.i.i = icmp eq i8 %293, 0 + %294 = load i8, ptr %_M_index.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i296.i.i, align 8, !noalias !21 + %switch.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i297.i.i = icmp eq i8 %294, 0 br i1 %switch.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i297.i.i, label %sw.bb.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i299.i.i, label %"_ZN9grpc_core9ConstructINS_14promise_detail11PromiseLikeINS1_3MapINS_11pipe_detail4PushISt10unique_ptrINS_7MessageENS_5Arena13PooledDeleterEEEEZZZZNS_12_GLOBAL__N_122ConnectedChannelStream12RecvMessagesEPNS_10PipeSenderISA_EEbEN3$_0clEvENUlN4absl12lts_202308028StatusOrISt8optionalISA_EEEE_clESN_ENKUlvE_clEvEUlbE_EEvEEJSS_EEEvPT_DpOT0_.exit.i.i.i.i.i.i.i.i298.i.i" sw.bb.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i299.i.i: ; preds = %if.then.i.i.i.i.i.i.i.i294.i.i %state_3.i.i.i.i.i.i.i.i.i.i.i.i.i300.i.i = getelementptr inbounds i8, ptr %ref.tmp116.i.i, i64 72 %state_.i.i.i.i.i.i.i.i.i.i.i.i.i301.i.i = getelementptr inbounds i8, ptr %retval.0.i.i.i.i.i.i.i, i64 72 - %294 = load i8, ptr %state_3.i.i.i.i.i.i.i.i.i.i.i.i.i300.i.i, align 8, !noalias !21 - store i8 %294, ptr %state_.i.i.i.i.i.i.i.i.i.i.i.i.i301.i.i, align 1, !noalias !21 - %295 = getelementptr inbounds i8, ptr %retval.0.i.i.i.i.i.i.i, i64 80 + %295 = load i8, ptr %state_3.i.i.i.i.i.i.i.i.i.i.i.i.i300.i.i, align 8, !noalias !21 + store i8 %295, ptr %state_.i.i.i.i.i.i.i.i.i.i.i.i.i301.i.i, align 1, !noalias !21 + %296 = getelementptr inbounds i8, ptr %retval.0.i.i.i.i.i.i.i, i64 80 %add.ptr.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i302.i.i = getelementptr inbounds i8, ptr %ref.tmp116.i.i, i64 80 - %296 = load i64, ptr %add.ptr.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i302.i.i, align 8, !noalias !21 - store i64 %296, ptr %295, align 8, !noalias !21 + %297 = load i64, ptr %add.ptr.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i302.i.i, align 8, !noalias !21 + store i64 %297, ptr %296, align 8, !noalias !21 store ptr null, ptr %add.ptr.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i302.i.i, align 8, !noalias !21 %.pre.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i303.i.i = load i8, ptr %_M_index.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i296.i.i, align 8, !noalias !21 br label %"_ZN9grpc_core9ConstructINS_14promise_detail11PromiseLikeINS1_3MapINS_11pipe_detail4PushISt10unique_ptrINS_7MessageENS_5Arena13PooledDeleterEEEEZZZZNS_12_GLOBAL__N_122ConnectedChannelStream12RecvMessagesEPNS_10PipeSenderISA_EEbEN3$_0clEvENUlN4absl12lts_202308028StatusOrISt8optionalISA_EEEE_clESN_ENKUlvE_clEvEUlbE_EEvEEJSS_EEEvPT_DpOT0_.exit.i.i.i.i.i.i.i.i298.i.i" "_ZN9grpc_core9ConstructINS_14promise_detail11PromiseLikeINS1_3MapINS_11pipe_detail4PushISt10unique_ptrINS_7MessageENS_5Arena13PooledDeleterEEEEZZZZNS_12_GLOBAL__N_122ConnectedChannelStream12RecvMessagesEPNS_10PipeSenderISA_EEbEN3$_0clEvENUlN4absl12lts_202308028StatusOrISt8optionalISA_EEEE_clESN_ENKUlvE_clEvEUlbE_EEvEEJSS_EEEvPT_DpOT0_.exit.i.i.i.i.i.i.i.i298.i.i": ; preds = %sw.bb.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i299.i.i, %if.then.i.i.i.i.i.i.i.i294.i.i - %297 = phi i8 [ %.pre.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i303.i.i, %sw.bb.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i299.i.i ], [ %293, %if.then.i.i.i.i.i.i.i.i294.i.i ] - store i8 %297, ptr %_M_index.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i295.i.i, align 8, !noalias !21 + %298 = phi i8 [ %.pre.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i303.i.i, %sw.bb.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i299.i.i ], [ %294, %if.then.i.i.i.i.i.i.i.i294.i.i ] + store i8 %298, ptr %_M_index.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i295.i.i, align 8, !noalias !21 br label %"_ZZN9grpc_core12_GLOBAL__N_121MakeClientCallPromiseEPNS_9TransportENS_8CallArgsESt8functionIFNS_12ArenaPromiseISt10unique_ptrI19grpc_metadata_batchNS_5Arena13PooledDeleterEEEES3_EEEN3$_8D2Ev.exit.i.i" if.else.i.i.i.i.i.i.i.i287.i.i: ; preds = %sw.bb5.i.i.i.i.i284.i.i %_M_index.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i288.i.i = getelementptr inbounds i8, ptr %retval.0.i.i.i.i.i.i.i, i64 72 store i8 -1, ptr %_M_index.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i288.i.i, align 8, !noalias !21 %_M_index.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i289.i.i = getelementptr inbounds i8, ptr %ref.tmp116.i.i, i64 72 - %298 = load i8, ptr %_M_index.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i289.i.i, align 8, !noalias !21 - %switch.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i290.i.i = icmp eq i8 %298, 1 + %299 = load i8, ptr %_M_index.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i289.i.i, align 8, !noalias !21 + %switch.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i290.i.i = icmp eq i8 %299, 1 br i1 %switch.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i290.i.i, label %sw.bb2.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i292.i.i, label %_ZN9grpc_core9ConstructINS_14promise_detail11PromiseLikeINS1_9ImmediateISt7variantIJNS_8ContinueEN4absl12lts_202308026StatusEEEEEvEEJSB_EEEvPT_DpOT0_.exit.i.i.i.i.i.i.i.i291.i.i sw.bb2.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i292.i.i: ; preds = %if.else.i.i.i.i.i.i.i.i287.i.i - %299 = getelementptr inbounds i8, ptr %ref.tmp116.i.i, i64 64 - %300 = getelementptr inbounds i8, ptr %retval.0.i.i.i.i.i.i.i, i64 64 - %301 = load i64, ptr %299, align 8, !noalias !21 - store i64 %301, ptr %300, align 8, !noalias !21 - store i64 54, ptr %299, align 8, !noalias !21 + %300 = getelementptr inbounds i8, ptr %ref.tmp116.i.i, i64 64 + %301 = getelementptr inbounds i8, ptr %retval.0.i.i.i.i.i.i.i, i64 64 + %302 = load i64, ptr %300, align 8, !noalias !21 + store i64 %302, ptr %301, align 8, !noalias !21 + store i64 54, ptr %300, align 8, !noalias !21 %.pre.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i293.i.i = load i8, ptr %_M_index.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i289.i.i, align 8, !noalias !21 br label %_ZN9grpc_core9ConstructINS_14promise_detail11PromiseLikeINS1_9ImmediateISt7variantIJNS_8ContinueEN4absl12lts_202308026StatusEEEEEvEEJSB_EEEvPT_DpOT0_.exit.i.i.i.i.i.i.i.i291.i.i _ZN9grpc_core9ConstructINS_14promise_detail11PromiseLikeINS1_9ImmediateISt7variantIJNS_8ContinueEN4absl12lts_202308026StatusEEEEEvEEJSB_EEEvPT_DpOT0_.exit.i.i.i.i.i.i.i.i291.i.i: ; preds = %sw.bb2.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i292.i.i, %if.else.i.i.i.i.i.i.i.i287.i.i - %302 = phi i8 [ %.pre.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i293.i.i, %sw.bb2.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i292.i.i ], [ %298, %if.else.i.i.i.i.i.i.i.i287.i.i ] - store i8 %302, ptr %_M_index.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i288.i.i, align 8, !noalias !21 + %303 = phi i8 [ %.pre.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i293.i.i, %sw.bb2.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i292.i.i ], [ %299, %if.else.i.i.i.i.i.i.i.i287.i.i ] + store i8 %303, ptr %_M_index.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i288.i.i, align 8, !noalias !21 br label %"_ZZN9grpc_core12_GLOBAL__N_121MakeClientCallPromiseEPNS_9TransportENS_8CallArgsESt8functionIFNS_12ArenaPromiseISt10unique_ptrI19grpc_metadata_batchNS_5Arena13PooledDeleterEEEES3_EEEN3$_8D2Ev.exit.i.i" tail0.i.i.i.i.i305.i.i: ; preds = %sw.bb.i.i.i.i.i304.i.i, %if.then.i281.i.i @@ -4084,15 +4084,15 @@ tail0.i.i.i.i.i305.i.i: ; preds = %sw.bb.i.i.i.i.i304. br label %"_ZZN9grpc_core12_GLOBAL__N_121MakeClientCallPromiseEPNS_9TransportENS_8CallArgsESt8functionIFNS_12ArenaPromiseISt10unique_ptrI19grpc_metadata_batchNS_5Arena13PooledDeleterEEEES3_EEEN3$_8D2Ev.exit.i.i" "_ZZN9grpc_core12_GLOBAL__N_121MakeClientCallPromiseEPNS_9TransportENS_8CallArgsESt8functionIFNS_12ArenaPromiseISt10unique_ptrI19grpc_metadata_batchNS_5Arena13PooledDeleterEEEES3_EEEN3$_8D2Ev.exit.i.i": ; preds = %tail0.i.i.i.i.i305.i.i, %_ZN9grpc_core9ConstructINS_14promise_detail11PromiseLikeINS1_9ImmediateISt7variantIJNS_8ContinueEN4absl12lts_202308026StatusEEEEEvEEJSB_EEEvPT_DpOT0_.exit.i.i.i.i.i.i.i.i291.i.i, %"_ZN9grpc_core9ConstructINS_14promise_detail11PromiseLikeINS1_3MapINS_11pipe_detail4PushISt10unique_ptrINS_7MessageENS_5Arena13PooledDeleterEEEEZZZZNS_12_GLOBAL__N_122ConnectedChannelStream12RecvMessagesEPNS_10PipeSenderISA_EEbEN3$_0clEvENUlN4absl12lts_202308028StatusOrISt8optionalISA_EEEE_clESN_ENKUlvE_clEvEUlbE_EEvEEJSS_EEEvPT_DpOT0_.exit.i.i.i.i.i.i.i.i298.i.i", %"_ZN9grpc_core12ArenaPromiseISt10unique_ptrI19grpc_metadata_batchNS_5Arena13PooledDeleterEEEC2INS_14promise_detail3MapIZNS_12_GLOBAL__N_121MakeClientCallPromiseEPNS_9TransportENS_8CallArgsESt8functionIFS6_SD_EEE3$_7ZNSA_21MakeClientCallPromiseESC_SD_SG_E3$_8EEvEEOT_.exit.i.i" - %303 = getelementptr inbounds i8, ptr %retval.0.i.i.i.i.i.i.i, i64 120 - store ptr null, ptr %303, align 8, !noalias !21 - %304 = load ptr, ptr %263, align 8, !noalias !21 - store ptr %304, ptr %303, align 8, !noalias !21 - store ptr null, ptr %263, align 8, !noalias !21 - %305 = getelementptr inbounds i8, ptr %retval.0.i.i.i.i.i.i.i, i64 128 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %305, ptr noundef nonnull align 8 dereferenceable(16) %264, i64 16, i1 false), !noalias !21 - %306 = getelementptr inbounds i8, ptr %retval.0.i.i.i.i.i.i.i, i64 152 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(3) %306, ptr noundef nonnull align 8 dereferenceable(3) %265, i64 3, i1 false), !noalias !21 + %304 = getelementptr inbounds i8, ptr %retval.0.i.i.i.i.i.i.i, i64 120 + store ptr null, ptr %304, align 8, !noalias !21 + %305 = load ptr, ptr %264, align 8, !noalias !21 + store ptr %305, ptr %304, align 8, !noalias !21 + store ptr null, ptr %264, align 8, !noalias !21 + %306 = getelementptr inbounds i8, ptr %retval.0.i.i.i.i.i.i.i, i64 128 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %306, ptr noundef nonnull align 8 dereferenceable(16) %265, i64 16, i1 false), !noalias !21 + %307 = getelementptr inbounds i8, ptr %retval.0.i.i.i.i.i.i.i, i64 152 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(3) %307, ptr noundef nonnull align 8 dereferenceable(3) %266, i64 3, i1 false), !noalias !21 %fn_.i.i.i.i.i.i.i.i = getelementptr inbounds i8, ptr %retval.0.i.i.i.i.i.i.i, i64 160 %__u.val.i.i.i.i.i.i.i.i.i.i.i.i = load i64, ptr %fn_.i.i.i.i, align 8, !noalias !21 store i64 %__u.val.i.i.i.i.i.i.i.i.i.i.i.i, ptr %fn_.i.i.i.i.i.i.i.i, align 8, !noalias !21 @@ -4101,25 +4101,25 @@ tail0.i.i.i.i.i305.i.i: ; preds = %sw.bb.i.i.i.i.i304. call fastcc void @"_ZZN9grpc_core12_GLOBAL__N_121MakeClientCallPromiseEPNS_9TransportENS_8CallArgsESt8functionIFNS_12ArenaPromiseISt10unique_ptrI19grpc_metadata_batchNS_5Arena13PooledDeleterEEEES3_EEEN3$_7D2Ev"(ptr noundef nonnull align 8 dereferenceable(155) %ref.tmp116.i.i) #24, !noalias !21 store ptr null, ptr %agg.tmp118.i.i, align 8, !noalias !21 call fastcc void @"_ZZN9grpc_core12_GLOBAL__N_121MakeClientCallPromiseEPNS_9TransportENS_8CallArgsESt8functionIFNS_12ArenaPromiseISt10unique_ptrI19grpc_metadata_batchNS_5Arena13PooledDeleterEEEES3_EEEN3$_7D2Ev"(ptr noundef nonnull align 8 dereferenceable(155) %agg.tmp117.i.i) #24, !noalias !21 - %307 = load i8, ptr %started_3.i.i.i, align 8, !noalias !21 - %tobool.i237.i.i = trunc i8 %307 to i1 + %308 = load i8, ptr %started_3.i.i.i, align 8, !noalias !21 + %tobool.i237.i.i = trunc i8 %308 to i1 br i1 %tobool.i237.i.i, label %if.then.i242.i.i, label %if.end.i.i.i if.then.i242.i.i: ; preds = %"_ZZN9grpc_core12_GLOBAL__N_121MakeClientCallPromiseEPNS_9TransportENS_8CallArgsESt8functionIFNS_12ArenaPromiseISt10unique_ptrI19grpc_metadata_batchNS_5Arena13PooledDeleterEEEES3_EEEN3$_8D2Ev.exit.i.i" - %308 = getelementptr inbounds i8, ptr %recv_messages.i.i, i64 24 - call fastcc void @"_ZN9grpc_core14promise_detail3SeqIZNS_12BatchBuilder5Batch8RefUntilINS0_3MapIZNS_5LatchIN4absl12lts_202308026StatusEE4WaitEvEUlvE_ZNS2_14ReceiveMessageENS2_6TargetEEUlS9_E_EEEEDaT_EUlvE_JZZNS_12_GLOBAL__N_122ConnectedChannelStream12RecvMessagesEPNS_10PipeSenderISt10unique_ptrINS_7MessageENS_5Arena13PooledDeleterEEEEbEN3$_0clEvEUlNS8_8StatusOrISt8optionalISO_EEEE_EED2Ev"(ptr noundef nonnull align 8 dereferenceable(56) %308) #24, !noalias !21 + %309 = getelementptr inbounds i8, ptr %recv_messages.i.i, i64 24 + call fastcc void @"_ZN9grpc_core14promise_detail3SeqIZNS_12BatchBuilder5Batch8RefUntilINS0_3MapIZNS_5LatchIN4absl12lts_202308026StatusEE4WaitEvEUlvE_ZNS2_14ReceiveMessageENS2_6TargetEEUlS9_E_EEEEDaT_EUlvE_JZZNS_12_GLOBAL__N_122ConnectedChannelStream12RecvMessagesEPNS_10PipeSenderISt10unique_ptrINS_7MessageENS_5Arena13PooledDeleterEEEEbEN3$_0clEvEUlNS8_8StatusOrISt8optionalISO_EEEE_EED2Ev"(ptr noundef nonnull align 8 dereferenceable(56) %309) #24, !noalias !21 br label %if.end.i.i.i if.end.i.i.i: ; preds = %if.then.i242.i.i, %"_ZZN9grpc_core12_GLOBAL__N_121MakeClientCallPromiseEPNS_9TransportENS_8CallArgsESt8functionIFNS_12ArenaPromiseISt10unique_ptrI19grpc_metadata_batchNS_5Arena13PooledDeleterEEEES3_EEEN3$_8D2Ev.exit.i.i" - call void @_ZN9grpc_core10PipeSenderISt10unique_ptrINS_7MessageENS_5Arena13PooledDeleterEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %187) #24, !noalias !21 + call void @_ZN9grpc_core10PipeSenderISt10unique_ptrINS_7MessageENS_5Arena13PooledDeleterEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %188) #24, !noalias !21 %this.val.i.i.i.i.i = load ptr, ptr %recv_messages.i.i, align 8, !noalias !21 %cmp.not.i.i.i.i238.i.i = icmp eq ptr %this.val.i.i.i.i.i, null br i1 %cmp.not.i.i.i.i238.i.i, label %"_ZN9grpc_core14promise_detail3MapIZNS_12BatchBuilder5Batch8RefUntilINS1_IZNS_5LatchIN4absl12lts_202308026StatusEE4WaitEvEUlvE_ZNS2_23ReceiveTrailingMetadataENS2_6TargetEEUlS8_E_EEEEDaT_EUlvE_ZNS_12_GLOBAL__N_121MakeClientCallPromiseEPNS_9TransportENS_8CallArgsESt8functionIFNS_12ArenaPromiseISt10unique_ptrI19grpc_metadata_batchNS_5Arena13PooledDeleterEEEESJ_EEE3$_6ED2Ev.exit.i.i", label %if.then.i.i.i.i239.i.i if.then.i.i.i.i239.i.i: ; preds = %if.end.i.i.i %stream_refcount_.i.i.i.i.i.i.i = getelementptr inbounds i8, ptr %this.val.i.i.i.i.i, i64 56 - %309 = atomicrmw sub ptr %stream_refcount_.i.i.i.i.i.i.i, i64 1 acq_rel, align 8, !noalias !21 - %cmp.i.i.i.i.i.i.i240.i.i = icmp eq i64 %309, 1 + %310 = atomicrmw sub ptr %stream_refcount_.i.i.i.i.i.i.i, i64 1 acq_rel, align 8, !noalias !21 + %cmp.i.i.i.i.i.i.i240.i.i = icmp eq i64 %310, 1 br i1 %cmp.i.i.i.i.i.i.i240.i.i, label %if.then.i.i.i.i.i.i241.i.i, label %"_ZN9grpc_core14promise_detail3MapIZNS_12BatchBuilder5Batch8RefUntilINS1_IZNS_5LatchIN4absl12lts_202308026StatusEE4WaitEvEUlvE_ZNS2_23ReceiveTrailingMetadataENS2_6TargetEEUlS8_E_EEEEDaT_EUlvE_ZNS_12_GLOBAL__N_121MakeClientCallPromiseEPNS_9TransportENS_8CallArgsESt8functionIFNS_12ArenaPromiseISt10unique_ptrI19grpc_metadata_batchNS_5Arena13PooledDeleterEEEESJ_EEE3$_6ED2Ev.exit.i.i" if.then.i.i.i.i.i.i241.i.i: ; preds = %if.then.i.i.i.i239.i.i @@ -4127,83 +4127,83 @@ if.then.i.i.i.i.i.i241.i.i: ; preds = %if.then.i.i.i.i239. to label %"_ZN9grpc_core14promise_detail3MapIZNS_12BatchBuilder5Batch8RefUntilINS1_IZNS_5LatchIN4absl12lts_202308026StatusEE4WaitEvEUlvE_ZNS2_23ReceiveTrailingMetadataENS2_6TargetEEUlS8_E_EEEEDaT_EUlvE_ZNS_12_GLOBAL__N_121MakeClientCallPromiseEPNS_9TransportENS_8CallArgsESt8functionIFNS_12ArenaPromiseISt10unique_ptrI19grpc_metadata_batchNS_5Arena13PooledDeleterEEEESJ_EEE3$_6ED2Ev.exit.i.i" unwind label %terminate.lpad.i.i.i.i.i.i, !noalias !21 terminate.lpad.i.i.i.i.i.i: ; preds = %if.then.i.i.i.i.i.i241.i.i - %310 = landingpad { ptr, i32 } + %311 = landingpad { ptr, i32 } catch ptr null - %311 = extractvalue { ptr, i32 } %310, 0 - call void @__clang_call_terminate(ptr %311) #25 + %312 = extractvalue { ptr, i32 } %311, 0 + call void @__clang_call_terminate(ptr %312) #25 unreachable "_ZN9grpc_core14promise_detail3MapIZNS_12BatchBuilder5Batch8RefUntilINS1_IZNS_5LatchIN4absl12lts_202308026StatusEE4WaitEvEUlvE_ZNS2_23ReceiveTrailingMetadataENS2_6TargetEEUlS8_E_EEEEDaT_EUlvE_ZNS_12_GLOBAL__N_121MakeClientCallPromiseEPNS_9TransportENS_8CallArgsESt8functionIFNS_12ArenaPromiseISt10unique_ptrI19grpc_metadata_batchNS_5Arena13PooledDeleterEEEESJ_EEE3$_6ED2Ev.exit.i.i": ; preds = %if.then.i.i.i.i.i.i241.i.i, %if.then.i.i.i.i239.i.i, %if.end.i.i.i - %312 = load ptr, ptr %174, align 8, !noalias !21 - %cmp.not.i248.i.i = icmp eq ptr %312, null + %313 = load ptr, ptr %175, align 8, !noalias !21 + %cmp.not.i248.i.i = icmp eq ptr %313, null br i1 %cmp.not.i248.i.i, label %_ZNSt10unique_ptrI19grpc_metadata_batchN9grpc_core5Arena13PooledDeleterEED2Ev.exit253.i.i, label %if.then.i249.i.i if.then.i249.i.i: ; preds = %"_ZN9grpc_core14promise_detail3MapIZNS_12BatchBuilder5Batch8RefUntilINS1_IZNS_5LatchIN4absl12lts_202308026StatusEE4WaitEvEUlvE_ZNS2_23ReceiveTrailingMetadataENS2_6TargetEEUlS8_E_EEEEDaT_EUlvE_ZNS_12_GLOBAL__N_121MakeClientCallPromiseEPNS_9TransportENS_8CallArgsESt8functionIFNS_12ArenaPromiseISt10unique_ptrI19grpc_metadata_batchNS_5Arena13PooledDeleterEEEESJ_EEE3$_6ED2Ev.exit.i.i" - %313 = load i8, ptr %server_trailing_metadata.i.i, align 8, !noalias !21 - %tobool.i.i250.i.i = trunc i8 %313 to i1 + %314 = load i8, ptr %server_trailing_metadata.i.i, align 8, !noalias !21 + %tobool.i.i250.i.i = trunc i8 %314 to i1 br i1 %tobool.i.i250.i.i, label %delete.notnull.i.i252.i.i, label %_ZNSt10unique_ptrI19grpc_metadata_batchN9grpc_core5Arena13PooledDeleterEED2Ev.exit253.i.i delete.notnull.i.i252.i.i: ; preds = %if.then.i249.i.i - call void @_ZN9grpc_core11MetadataMapI19grpc_metadata_batchJNS_16HttpPathMetadataENS_21HttpAuthorityMetadataENS_18HttpMethodMetadataENS_18HttpStatusMetadataENS_18HttpSchemeMetadataENS_19ContentTypeMetadataENS_10TeMetadataENS_20GrpcEncodingMetadataENS_27GrpcInternalEncodingRequestENS_26GrpcAcceptEncodingMetadataENS_18GrpcStatusMetadataENS_19GrpcTimeoutMetadataENS_31GrpcPreviousRpcAttemptsMetadataENS_27GrpcRetryPushbackMsMetadataENS_17UserAgentMetadataENS_19GrpcMessageMetadataENS_12HostMetadataENS_30EndpointLoadMetricsBinMetadataENS_26GrpcServerStatsBinMetadataENS_20GrpcTraceBinMetadataENS_19GrpcTagsBinMetadataENS_25GrpcLbClientStatsMetadataENS_17LbCostBinMetadataENS_15LbTokenMetadataENS_18XEnvoyPeerMetadataENS_22GrpcStreamNetworkStateENS_10PeerStringENS_17GrpcStatusContextENS_18GrpcStatusFromWireENS_20GrpcCallWasCancelledENS_12WaitForReadyENS_16GrpcTrailersOnlyENS_10GrpcTarPitENS_20GrpcRegisteredMethodEEED2Ev(ptr noundef nonnull align 8 dereferenceable(568) %312) #24, !noalias !21 - call void @_ZdlPv(ptr noundef nonnull %312) #27, !noalias !21 + call void @_ZN9grpc_core11MetadataMapI19grpc_metadata_batchJNS_16HttpPathMetadataENS_21HttpAuthorityMetadataENS_18HttpMethodMetadataENS_18HttpStatusMetadataENS_18HttpSchemeMetadataENS_19ContentTypeMetadataENS_10TeMetadataENS_20GrpcEncodingMetadataENS_27GrpcInternalEncodingRequestENS_26GrpcAcceptEncodingMetadataENS_18GrpcStatusMetadataENS_19GrpcTimeoutMetadataENS_31GrpcPreviousRpcAttemptsMetadataENS_27GrpcRetryPushbackMsMetadataENS_17UserAgentMetadataENS_19GrpcMessageMetadataENS_12HostMetadataENS_30EndpointLoadMetricsBinMetadataENS_26GrpcServerStatsBinMetadataENS_20GrpcTraceBinMetadataENS_19GrpcTagsBinMetadataENS_25GrpcLbClientStatsMetadataENS_17LbCostBinMetadataENS_15LbTokenMetadataENS_18XEnvoyPeerMetadataENS_22GrpcStreamNetworkStateENS_10PeerStringENS_17GrpcStatusContextENS_18GrpcStatusFromWireENS_20GrpcCallWasCancelledENS_12WaitForReadyENS_16GrpcTrailersOnlyENS_10GrpcTarPitENS_20GrpcRegisteredMethodEEED2Ev(ptr noundef nonnull align 8 dereferenceable(568) %313) #24, !noalias !21 + call void @_ZdlPv(ptr noundef nonnull %313) #27, !noalias !21 br label %_ZNSt10unique_ptrI19grpc_metadata_batchN9grpc_core5Arena13PooledDeleterEED2Ev.exit253.i.i _ZNSt10unique_ptrI19grpc_metadata_batchN9grpc_core5Arena13PooledDeleterEED2Ev.exit253.i.i: ; preds = %delete.notnull.i.i252.i.i, %if.then.i249.i.i, %"_ZN9grpc_core14promise_detail3MapIZNS_12BatchBuilder5Batch8RefUntilINS1_IZNS_5LatchIN4absl12lts_202308026StatusEE4WaitEvEUlvE_ZNS2_23ReceiveTrailingMetadataENS2_6TargetEEUlS8_E_EEEEDaT_EUlvE_ZNS_12_GLOBAL__N_121MakeClientCallPromiseEPNS_9TransportENS_8CallArgsESt8functionIFNS_12ArenaPromiseISt10unique_ptrI19grpc_metadata_batchNS_5Arena13PooledDeleterEEEESJ_EEE3$_6ED2Ev.exit.i.i" - store ptr null, ptr %174, align 8, !noalias !21 + store ptr null, ptr %175, align 8, !noalias !21 call fastcc void @"_ZN9grpc_core14promise_detail3SeqIZNS_12BatchBuilder5Batch8RefUntilIZNS_5LatchIN4absl12lts_202308026StatusEE11WaitAndCopyEvEUlvE_EEDaT_EUlvE_JZNS_12_GLOBAL__N_121MakeClientCallPromiseEPNS_9TransportENS_8CallArgsESt8functionIFNS_12ArenaPromiseISt10unique_ptrI19grpc_metadata_batchNS_5Arena13PooledDeleterEEEESG_EEE3$_1EED2Ev"(ptr noundef nonnull align 8 dereferenceable(32) %send_initial_metadata.i.i) #24, !noalias !21 - %314 = load ptr, ptr %145, align 8, !noalias !21 - %cmp.not.i255.i.i = icmp eq ptr %314, null + %315 = load ptr, ptr %145, align 8, !noalias !21 + %cmp.not.i255.i.i = icmp eq ptr %315, null br i1 %cmp.not.i255.i.i, label %_ZNSt10unique_ptrI19grpc_metadata_batchN9grpc_core5Arena13PooledDeleterEED2Ev.exit260.i.i, label %if.then.i256.i.i if.then.i256.i.i: ; preds = %_ZNSt10unique_ptrI19grpc_metadata_batchN9grpc_core5Arena13PooledDeleterEED2Ev.exit253.i.i - %315 = load i8, ptr %server_initial_metadata.i.i, align 8, !noalias !21 - %tobool.i.i257.i.i = trunc i8 %315 to i1 + %316 = load i8, ptr %server_initial_metadata.i.i, align 8, !noalias !21 + %tobool.i.i257.i.i = trunc i8 %316 to i1 br i1 %tobool.i.i257.i.i, label %delete.notnull.i.i259.i.i, label %_ZNSt10unique_ptrI19grpc_metadata_batchN9grpc_core5Arena13PooledDeleterEED2Ev.exit260.i.i delete.notnull.i.i259.i.i: ; preds = %if.then.i256.i.i - call void @_ZN9grpc_core11MetadataMapI19grpc_metadata_batchJNS_16HttpPathMetadataENS_21HttpAuthorityMetadataENS_18HttpMethodMetadataENS_18HttpStatusMetadataENS_18HttpSchemeMetadataENS_19ContentTypeMetadataENS_10TeMetadataENS_20GrpcEncodingMetadataENS_27GrpcInternalEncodingRequestENS_26GrpcAcceptEncodingMetadataENS_18GrpcStatusMetadataENS_19GrpcTimeoutMetadataENS_31GrpcPreviousRpcAttemptsMetadataENS_27GrpcRetryPushbackMsMetadataENS_17UserAgentMetadataENS_19GrpcMessageMetadataENS_12HostMetadataENS_30EndpointLoadMetricsBinMetadataENS_26GrpcServerStatsBinMetadataENS_20GrpcTraceBinMetadataENS_19GrpcTagsBinMetadataENS_25GrpcLbClientStatsMetadataENS_17LbCostBinMetadataENS_15LbTokenMetadataENS_18XEnvoyPeerMetadataENS_22GrpcStreamNetworkStateENS_10PeerStringENS_17GrpcStatusContextENS_18GrpcStatusFromWireENS_20GrpcCallWasCancelledENS_12WaitForReadyENS_16GrpcTrailersOnlyENS_10GrpcTarPitENS_20GrpcRegisteredMethodEEED2Ev(ptr noundef nonnull align 8 dereferenceable(568) %314) #24, !noalias !21 - call void @_ZdlPv(ptr noundef nonnull %314) #27, !noalias !21 + call void @_ZN9grpc_core11MetadataMapI19grpc_metadata_batchJNS_16HttpPathMetadataENS_21HttpAuthorityMetadataENS_18HttpMethodMetadataENS_18HttpStatusMetadataENS_18HttpSchemeMetadataENS_19ContentTypeMetadataENS_10TeMetadataENS_20GrpcEncodingMetadataENS_27GrpcInternalEncodingRequestENS_26GrpcAcceptEncodingMetadataENS_18GrpcStatusMetadataENS_19GrpcTimeoutMetadataENS_31GrpcPreviousRpcAttemptsMetadataENS_27GrpcRetryPushbackMsMetadataENS_17UserAgentMetadataENS_19GrpcMessageMetadataENS_12HostMetadataENS_30EndpointLoadMetricsBinMetadataENS_26GrpcServerStatsBinMetadataENS_20GrpcTraceBinMetadataENS_19GrpcTagsBinMetadataENS_25GrpcLbClientStatsMetadataENS_17LbCostBinMetadataENS_15LbTokenMetadataENS_18XEnvoyPeerMetadataENS_22GrpcStreamNetworkStateENS_10PeerStringENS_17GrpcStatusContextENS_18GrpcStatusFromWireENS_20GrpcCallWasCancelledENS_12WaitForReadyENS_16GrpcTrailersOnlyENS_10GrpcTarPitENS_20GrpcRegisteredMethodEEED2Ev(ptr noundef nonnull align 8 dereferenceable(568) %315) #24, !noalias !21 + call void @_ZdlPv(ptr noundef nonnull %315) #27, !noalias !21 br label %_ZNSt10unique_ptrI19grpc_metadata_batchN9grpc_core5Arena13PooledDeleterEED2Ev.exit260.i.i _ZNSt10unique_ptrI19grpc_metadata_batchN9grpc_core5Arena13PooledDeleterEED2Ev.exit260.i.i: ; preds = %delete.notnull.i.i259.i.i, %if.then.i256.i.i, %_ZNSt10unique_ptrI19grpc_metadata_batchN9grpc_core5Arena13PooledDeleterEED2Ev.exit253.i.i store ptr null, ptr %145, align 8, !noalias !21 - %316 = load ptr, ptr %stream.i.i, align 8, !noalias !21 - %cmp.not.i261.i.i = icmp eq ptr %316, null + %317 = load ptr, ptr %stream.i.i, align 8, !noalias !21 + %cmp.not.i261.i.i = icmp eq ptr %317, null br i1 %cmp.not.i261.i.i, label %invoke.cont.i, label %if.then.i262.i.i if.then.i262.i.i: ; preds = %_ZNSt10unique_ptrI19grpc_metadata_batchN9grpc_core5Arena13PooledDeleterEED2Ev.exit260.i.i - invoke void @_ZN9grpc_core12_GLOBAL__N_122ConnectedChannelStream6OrphanEv(ptr noundef nonnull align 8 dereferenceable(132) %316) + invoke void @_ZN9grpc_core12_GLOBAL__N_122ConnectedChannelStream6OrphanEv(ptr noundef nonnull align 8 dereferenceable(132) %317) to label %invoke.cont.i unwind label %terminate.lpad.i.i.i, !noalias !21 terminate.lpad.i.i.i: ; preds = %if.then.i262.i.i - %317 = landingpad { ptr, i32 } + %318 = landingpad { ptr, i32 } catch ptr null - %318 = extractvalue { ptr, i32 } %317, 0 - call void @__clang_call_terminate(ptr %318) #25 + %319 = extractvalue { ptr, i32 } %318, 0 + call void @__clang_call_terminate(ptr %319) #25 unreachable lpad.i.i: ; preds = %invoke.cont56.i.i, %if.then.i96.invoke.i.i, %26, %invoke.cont23.i.i, %_ZN9grpc_core12_GLOBAL__N_122ConnectedChannelStream9SetStreamEP11grpc_stream.exit.i.i, %if.else.i.i.i, %invoke.cont4.i.i, %invoke.cont.i.i - %319 = landingpad { ptr, i32 } + %320 = landingpad { ptr, i32 } cleanup br label %ehcleanup131.i.i lpad62.i.i: ; preds = %if.then.i147.invoke.i.i, %invoke.cont63.i.i - %320 = landingpad { ptr, i32 } + %321 = landingpad { ptr, i32 } cleanup br label %ehcleanup130.i.i lpad94.i.i: ; preds = %invoke.cont98.i.i, %if.then.i180.i.i - %321 = landingpad { ptr, i32 } + %322 = landingpad { ptr, i32 } cleanup br label %ehcleanup129.i.i lpad102.i.i: ; preds = %invoke.cont103.i.i, %if.then.i193.i.i - %322 = landingpad { ptr, i32 } + %323 = landingpad { ptr, i32 } cleanup br label %ehcleanup128.i.i lpad121.i.i: ; preds = %if.else.i.i.i.i.i.i.i, %if.then.i.i.i.i228.i.i - %323 = landingpad { ptr, i32 } + %324 = landingpad { ptr, i32 } cleanup call fastcc void @"_ZN9grpc_core14promise_detail3MapIZNS_12_GLOBAL__N_121MakeClientCallPromiseEPNS_9TransportENS_8CallArgsESt8functionIFNS_12ArenaPromiseISt10unique_ptrI19grpc_metadata_batchNS_5Arena13PooledDeleterEEEES5_EEE3$_7ZNS2_21MakeClientCallPromiseES4_S5_SF_E3$_8ED2Ev"(ptr noundef nonnull align 8 dereferenceable(168) %ref.tmp116.i.i) #24, !noalias !21 call fastcc void @"_ZZN9grpc_core12_GLOBAL__N_121MakeClientCallPromiseEPNS_9TransportENS_8CallArgsESt8functionIFNS_12ArenaPromiseISt10unique_ptrI19grpc_metadata_batchNS_5Arena13PooledDeleterEEEES3_EEEN3$_8D2Ev"(ptr noundef nonnull align 8 dereferenceable(8) %agg.tmp118.i.i) #24, !noalias !21 @@ -4212,22 +4212,22 @@ lpad121.i.i: ; preds = %if.else.i.i.i.i.i.i br label %ehcleanup128.i.i ehcleanup128.i.i: ; preds = %lpad121.i.i, %lpad102.i.i - %.pn9.pn.pn.i.i = phi { ptr, i32 } [ %323, %lpad121.i.i ], [ %322, %lpad102.i.i ] + %.pn9.pn.pn.i.i = phi { ptr, i32 } [ %324, %lpad121.i.i ], [ %323, %lpad102.i.i ] call void @_ZNSt10unique_ptrI19grpc_metadata_batchN9grpc_core5Arena13PooledDeleterEED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %server_trailing_metadata.i.i) #24, !noalias !21 br label %ehcleanup129.i.i ehcleanup129.i.i: ; preds = %ehcleanup128.i.i, %lpad94.i.i - %.pn9.pn.pn.pn.i.i = phi { ptr, i32 } [ %.pn9.pn.pn.i.i, %ehcleanup128.i.i ], [ %321, %lpad94.i.i ] + %.pn9.pn.pn.pn.i.i = phi { ptr, i32 } [ %.pn9.pn.pn.i.i, %ehcleanup128.i.i ], [ %322, %lpad94.i.i ] call fastcc void @"_ZN9grpc_core14promise_detail3SeqIZNS_12BatchBuilder5Batch8RefUntilIZNS_5LatchIN4absl12lts_202308026StatusEE11WaitAndCopyEvEUlvE_EEDaT_EUlvE_JZNS_12_GLOBAL__N_121MakeClientCallPromiseEPNS_9TransportENS_8CallArgsESt8functionIFNS_12ArenaPromiseISt10unique_ptrI19grpc_metadata_batchNS_5Arena13PooledDeleterEEEESG_EEE3$_1EED2Ev"(ptr noundef nonnull align 8 dereferenceable(32) %send_initial_metadata.i.i) #24, !noalias !21 br label %ehcleanup130.i.i ehcleanup130.i.i: ; preds = %ehcleanup129.i.i, %lpad62.i.i, %lpad.i157.i.i, %lpad.i122.i.i - %.pn9.pn.pn.pn.pn.i.i = phi { ptr, i32 } [ %.pn9.pn.pn.pn.i.i, %ehcleanup129.i.i ], [ %168, %lpad.i157.i.i ], [ %320, %lpad62.i.i ], [ %159, %lpad.i122.i.i ] + %.pn9.pn.pn.pn.pn.i.i = phi { ptr, i32 } [ %.pn9.pn.pn.pn.i.i, %ehcleanup129.i.i ], [ %169, %lpad.i157.i.i ], [ %321, %lpad62.i.i ], [ %160, %lpad.i122.i.i ] call void @_ZNSt10unique_ptrI19grpc_metadata_batchN9grpc_core5Arena13PooledDeleterEED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %server_initial_metadata.i.i) #24, !noalias !21 br label %ehcleanup131.i.i ehcleanup131.i.i: ; preds = %ehcleanup130.i.i, %lpad.i.i, %lpad.i48.i.i, %lpad.i.i.i - %.pn9.pn.pn.pn.pn.pn.i.i = phi { ptr, i32 } [ %.pn9.pn.pn.pn.pn.i.i, %ehcleanup130.i.i ], [ %319, %lpad.i.i ], [ %143, %lpad.i48.i.i ], [ %35, %lpad.i.i.i ] + %.pn9.pn.pn.pn.pn.pn.i.i = phi { ptr, i32 } [ %.pn9.pn.pn.pn.pn.i.i, %ehcleanup130.i.i ], [ %320, %lpad.i.i ], [ %143, %lpad.i48.i.i ], [ %35, %lpad.i.i.i ] call fastcc void @_ZNSt10unique_ptrIN9grpc_core12_GLOBAL__N_122ConnectedChannelStreamENS0_16OrphanableDeleteEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %stream.i.i) #24, !noalias !21 br label %lpad.body.i @@ -4250,99 +4250,99 @@ invoke.cont.i: ; preds = %if.then.i262.i.i, % call void @llvm.lifetime.end.p0(i64 160, ptr nonnull %agg.tmp117.i.i), !noalias !15 call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp118.i.i), !noalias !15 %_M_manager.i.i5.i = getelementptr inbounds i8, ptr %agg.tmp3.i, i64 16 - %324 = load ptr, ptr %_M_manager.i.i5.i, align 8, !noalias !15 - %tobool.not.i.i.i = icmp eq ptr %324, null + %325 = load ptr, ptr %_M_manager.i.i5.i, align 8, !noalias !15 + %tobool.not.i.i.i = icmp eq ptr %325, null br i1 %tobool.not.i.i.i, label %_ZNSt8functionIFN9grpc_core12ArenaPromiseISt10unique_ptrI19grpc_metadata_batchNS0_5Arena13PooledDeleterEEEENS0_8CallArgsEEED2Ev.exit.i, label %if.then.i.i6.i if.then.i.i6.i: ; preds = %invoke.cont.i - %call.i.i.i = invoke noundef zeroext i1 %324(ptr noundef nonnull align 8 dereferenceable(16) %agg.tmp3.i, ptr noundef nonnull align 8 dereferenceable(16) %agg.tmp3.i, i32 noundef 3) + %call.i.i.i = invoke noundef zeroext i1 %325(ptr noundef nonnull align 8 dereferenceable(16) %agg.tmp3.i, ptr noundef nonnull align 8 dereferenceable(16) %agg.tmp3.i, i32 noundef 3) to label %_ZNSt8functionIFN9grpc_core12ArenaPromiseISt10unique_ptrI19grpc_metadata_batchNS0_5Arena13PooledDeleterEEEENS0_8CallArgsEEED2Ev.exit.i unwind label %terminate.lpad.i.i7.i, !noalias !15 terminate.lpad.i.i7.i: ; preds = %if.then.i.i6.i - %325 = landingpad { ptr, i32 } + %326 = landingpad { ptr, i32 } catch ptr null - %326 = extractvalue { ptr, i32 } %325, 0 - call void @__clang_call_terminate(ptr %326) #25 + %327 = extractvalue { ptr, i32 } %326, 0 + call void @__clang_call_terminate(ptr %327) #25 unreachable _ZNSt8functionIFN9grpc_core12ArenaPromiseISt10unique_ptrI19grpc_metadata_batchNS0_5Arena13PooledDeleterEEEENS0_8CallArgsEEED2Ev.exit.i: ; preds = %if.then.i.i6.i, %invoke.cont.i - %327 = load ptr, ptr %client_initial_metadata_outstanding.i.i, align 8, !noalias !15 - %cmp.not.i.i9.i = icmp eq ptr %327, null + %328 = load ptr, ptr %client_initial_metadata_outstanding.i.i, align 8, !noalias !15 + %cmp.not.i.i9.i = icmp eq ptr %328, null br i1 %cmp.not.i.i9.i, label %_ZN9grpc_core37ClientInitialMetadataOutstandingTokenD2Ev.exit.i.i, label %if.then.i.i10.i if.then.i.i10.i: ; preds = %_ZNSt8functionIFN9grpc_core12ArenaPromiseISt10unique_ptrI19grpc_metadata_batchNS0_5Arena13PooledDeleterEEEENS0_8CallArgsEEED2Ev.exit.i - store i8 0, ptr %327, align 2, !noalias !15 - %has_value_.i.i.i.i = getelementptr inbounds i8, ptr %327, i64 1 + store i8 0, ptr %328, align 2, !noalias !15 + %has_value_.i.i.i.i = getelementptr inbounds i8, ptr %328, i64 1 store i8 1, ptr %has_value_.i.i.i.i, align 1, !noalias !15 - %waiter_.i.i.i.i = getelementptr inbounds i8, ptr %327, i64 2 - %328 = load i16, ptr %waiter_.i.i.i.i, align 2, !noalias !15 - %cmp.i.i.i.i11.i = icmp eq i16 %328, 0 + %waiter_.i.i.i.i = getelementptr inbounds i8, ptr %328, i64 2 + %329 = load i16, ptr %waiter_.i.i.i.i, align 2, !noalias !15 + %cmp.i.i.i.i11.i = icmp eq i16 %329, 0 br i1 %cmp.i.i.i.i11.i, label %_ZN9grpc_core37ClientInitialMetadataOutstandingTokenD2Ev.exit.i.i, label %if.end.i.i.i.i.i if.end.i.i.i.i.i: ; preds = %if.then.i.i10.i - br i1 icmp ne (ptr @_ZTHN9grpc_core8Activity19g_current_activity_E, ptr null), label %329, label %_ZN9grpc_core8Activity7currentEv.exit.i.i.i.i.i + br i1 icmp ne (ptr @_ZTHN9grpc_core8Activity19g_current_activity_E, ptr null), label %330, label %_ZN9grpc_core8Activity7currentEv.exit.i.i.i.i.i -329: ; preds = %if.end.i.i.i.i.i +330: ; preds = %if.end.i.i.i.i.i invoke void @_ZTHN9grpc_core8Activity19g_current_activity_E() to label %.noexc.i.i.i unwind label %terminate.lpad.i.i12.i, !noalias !15 -.noexc.i.i.i: ; preds = %329 +.noexc.i.i.i: ; preds = %330 %.pre.i.i.i.i.i = load i16, ptr %waiter_.i.i.i.i, align 2, !noalias !15 br label %_ZN9grpc_core8Activity7currentEv.exit.i.i.i.i.i _ZN9grpc_core8Activity7currentEv.exit.i.i.i.i.i: ; preds = %.noexc.i.i.i, %if.end.i.i.i.i.i - %330 = phi i16 [ %328, %if.end.i.i.i.i.i ], [ %.pre.i.i.i.i.i, %.noexc.i.i.i ] - %331 = load ptr, ptr %27, align 8, !noalias !15 + %331 = phi i16 [ %329, %if.end.i.i.i.i.i ], [ %.pre.i.i.i.i.i, %.noexc.i.i.i ] + %332 = load ptr, ptr %27, align 8, !noalias !15 store i16 0, ptr %waiter_.i.i.i.i, align 2, !noalias !15 - %vtable.i.i.i.i.i = load ptr, ptr %331, align 8, !noalias !15 + %vtable.i.i.i.i.i = load ptr, ptr %332, align 8, !noalias !15 %vfn.i.i.i.i.i = getelementptr inbounds i8, ptr %vtable.i.i.i.i.i, i64 24 - %332 = load ptr, ptr %vfn.i.i.i.i.i, align 8, !noalias !15 - invoke void %332(ptr noundef nonnull align 8 dereferenceable(8) %331, i16 noundef zeroext %330) + %333 = load ptr, ptr %vfn.i.i.i.i.i, align 8, !noalias !15 + invoke void %333(ptr noundef nonnull align 8 dereferenceable(8) %332, i16 noundef zeroext %331) to label %_ZN9grpc_core37ClientInitialMetadataOutstandingTokenD2Ev.exit.i.i unwind label %terminate.lpad.i.i12.i, !noalias !15 -terminate.lpad.i.i12.i: ; preds = %_ZN9grpc_core8Activity7currentEv.exit.i.i.i.i.i, %329 - %333 = landingpad { ptr, i32 } +terminate.lpad.i.i12.i: ; preds = %_ZN9grpc_core8Activity7currentEv.exit.i.i.i.i.i, %330 + %334 = landingpad { ptr, i32 } catch ptr null - %334 = extractvalue { ptr, i32 } %333, 0 - call void @__clang_call_terminate(ptr %334) #25 + %335 = extractvalue { ptr, i32 } %334, 0 + call void @__clang_call_terminate(ptr %335) #25 unreachable _ZN9grpc_core37ClientInitialMetadataOutstandingTokenD2Ev.exit.i.i: ; preds = %_ZN9grpc_core8Activity7currentEv.exit.i.i.i.i.i, %if.then.i.i10.i, %_ZNSt8functionIFN9grpc_core12ArenaPromiseISt10unique_ptrI19grpc_metadata_batchNS0_5Arena13PooledDeleterEEEENS0_8CallArgsEEED2Ev.exit.i - %335 = load ptr, ptr %2, align 8, !noalias !15 - %cmp.not.i1.i.i = icmp eq ptr %335, null + %336 = load ptr, ptr %2, align 8, !noalias !15 + %cmp.not.i1.i.i = icmp eq ptr %336, null br i1 %cmp.not.i1.i.i, label %_ZZN9grpc_core12_GLOBAL__N_119MakeConnectedFilterIXadL_ZNS0_21MakeClientCallPromiseEPNS_9TransportENS_8CallArgsESt8functionIFNS_12ArenaPromiseISt10unique_ptrI19grpc_metadata_batchNS_5Arena13PooledDeleterEEEES4_EEEEEE19grpc_channel_filtervENKUlP20grpc_channel_elementS4_SE_E_clESH_S4_SE_.exit, label %if.then.i2.i.i if.then.i2.i.i: ; preds = %_ZN9grpc_core37ClientInitialMetadataOutstandingTokenD2Ev.exit.i.i - %336 = load i8, ptr %agg.tmp.i, align 8, !noalias !15 - %tobool.i.i.i.i = trunc i8 %336 to i1 + %337 = load i8, ptr %agg.tmp.i, align 8, !noalias !15 + %tobool.i.i.i.i = trunc i8 %337 to i1 br i1 %tobool.i.i.i.i, label %delete.notnull.i.i.i.i, label %_ZZN9grpc_core12_GLOBAL__N_119MakeConnectedFilterIXadL_ZNS0_21MakeClientCallPromiseEPNS_9TransportENS_8CallArgsESt8functionIFNS_12ArenaPromiseISt10unique_ptrI19grpc_metadata_batchNS_5Arena13PooledDeleterEEEES4_EEEEEE19grpc_channel_filtervENKUlP20grpc_channel_elementS4_SE_E_clESH_S4_SE_.exit delete.notnull.i.i.i.i: ; preds = %if.then.i2.i.i - call void @_ZN9grpc_core11MetadataMapI19grpc_metadata_batchJNS_16HttpPathMetadataENS_21HttpAuthorityMetadataENS_18HttpMethodMetadataENS_18HttpStatusMetadataENS_18HttpSchemeMetadataENS_19ContentTypeMetadataENS_10TeMetadataENS_20GrpcEncodingMetadataENS_27GrpcInternalEncodingRequestENS_26GrpcAcceptEncodingMetadataENS_18GrpcStatusMetadataENS_19GrpcTimeoutMetadataENS_31GrpcPreviousRpcAttemptsMetadataENS_27GrpcRetryPushbackMsMetadataENS_17UserAgentMetadataENS_19GrpcMessageMetadataENS_12HostMetadataENS_30EndpointLoadMetricsBinMetadataENS_26GrpcServerStatsBinMetadataENS_20GrpcTraceBinMetadataENS_19GrpcTagsBinMetadataENS_25GrpcLbClientStatsMetadataENS_17LbCostBinMetadataENS_15LbTokenMetadataENS_18XEnvoyPeerMetadataENS_22GrpcStreamNetworkStateENS_10PeerStringENS_17GrpcStatusContextENS_18GrpcStatusFromWireENS_20GrpcCallWasCancelledENS_12WaitForReadyENS_16GrpcTrailersOnlyENS_10GrpcTarPitENS_20GrpcRegisteredMethodEEED2Ev(ptr noundef nonnull align 8 dereferenceable(568) %335) #24, !noalias !15 - call void @_ZdlPv(ptr noundef nonnull %335) #27, !noalias !15 + call void @_ZN9grpc_core11MetadataMapI19grpc_metadata_batchJNS_16HttpPathMetadataENS_21HttpAuthorityMetadataENS_18HttpMethodMetadataENS_18HttpStatusMetadataENS_18HttpSchemeMetadataENS_19ContentTypeMetadataENS_10TeMetadataENS_20GrpcEncodingMetadataENS_27GrpcInternalEncodingRequestENS_26GrpcAcceptEncodingMetadataENS_18GrpcStatusMetadataENS_19GrpcTimeoutMetadataENS_31GrpcPreviousRpcAttemptsMetadataENS_27GrpcRetryPushbackMsMetadataENS_17UserAgentMetadataENS_19GrpcMessageMetadataENS_12HostMetadataENS_30EndpointLoadMetricsBinMetadataENS_26GrpcServerStatsBinMetadataENS_20GrpcTraceBinMetadataENS_19GrpcTagsBinMetadataENS_25GrpcLbClientStatsMetadataENS_17LbCostBinMetadataENS_15LbTokenMetadataENS_18XEnvoyPeerMetadataENS_22GrpcStreamNetworkStateENS_10PeerStringENS_17GrpcStatusContextENS_18GrpcStatusFromWireENS_20GrpcCallWasCancelledENS_12WaitForReadyENS_16GrpcTrailersOnlyENS_10GrpcTarPitENS_20GrpcRegisteredMethodEEED2Ev(ptr noundef nonnull align 8 dereferenceable(568) %336) #24, !noalias !15 + call void @_ZdlPv(ptr noundef nonnull %336) #27, !noalias !15 br label %_ZZN9grpc_core12_GLOBAL__N_119MakeConnectedFilterIXadL_ZNS0_21MakeClientCallPromiseEPNS_9TransportENS_8CallArgsESt8functionIFNS_12ArenaPromiseISt10unique_ptrI19grpc_metadata_batchNS_5Arena13PooledDeleterEEEES4_EEEEEE19grpc_channel_filtervENKUlP20grpc_channel_elementS4_SE_E_clESH_S4_SE_.exit lpad.i: ; preds = %_ZN9grpc_core10GetContextINS_5ArenaEEEPT_v.exit.i.i, %if.then.i.i.i - %337 = landingpad { ptr, i32 } + %338 = landingpad { ptr, i32 } cleanup br label %lpad.body.i lpad.body.i: ; preds = %lpad.i, %ehcleanup131.i.i - %eh.lpad-body.i = phi { ptr, i32 } [ %337, %lpad.i ], [ %.pn9.pn.pn.pn.pn.pn.i.i, %ehcleanup131.i.i ] + %eh.lpad-body.i = phi { ptr, i32 } [ %338, %lpad.i ], [ %.pn9.pn.pn.pn.pn.pn.i.i, %ehcleanup131.i.i ] %_M_manager.i.i15.i = getelementptr inbounds i8, ptr %agg.tmp3.i, i64 16 - %338 = load ptr, ptr %_M_manager.i.i15.i, align 8, !noalias !15 - %tobool.not.i.i16.i = icmp eq ptr %338, null + %339 = load ptr, ptr %_M_manager.i.i15.i, align 8, !noalias !15 + %tobool.not.i.i16.i = icmp eq ptr %339, null br i1 %tobool.not.i.i16.i, label %_ZNSt8functionIFN9grpc_core12ArenaPromiseISt10unique_ptrI19grpc_metadata_batchNS0_5Arena13PooledDeleterEEEENS0_8CallArgsEEED2Ev.exit20.i, label %if.then.i.i17.i if.then.i.i17.i: ; preds = %lpad.body.i - %call.i.i18.i = invoke noundef zeroext i1 %338(ptr noundef nonnull align 8 dereferenceable(16) %agg.tmp3.i, ptr noundef nonnull align 8 dereferenceable(16) %agg.tmp3.i, i32 noundef 3) + %call.i.i18.i = invoke noundef zeroext i1 %339(ptr noundef nonnull align 8 dereferenceable(16) %agg.tmp3.i, ptr noundef nonnull align 8 dereferenceable(16) %agg.tmp3.i, i32 noundef 3) to label %_ZNSt8functionIFN9grpc_core12ArenaPromiseISt10unique_ptrI19grpc_metadata_batchNS0_5Arena13PooledDeleterEEEENS0_8CallArgsEEED2Ev.exit20.i unwind label %terminate.lpad.i.i19.i, !noalias !15 terminate.lpad.i.i19.i: ; preds = %if.then.i.i17.i - %339 = landingpad { ptr, i32 } + %340 = landingpad { ptr, i32 } catch ptr null - %340 = extractvalue { ptr, i32 } %339, 0 - call void @__clang_call_terminate(ptr %340) #25 + %341 = extractvalue { ptr, i32 } %340, 0 + call void @__clang_call_terminate(ptr %341) #25 unreachable _ZNSt8functionIFN9grpc_core12ArenaPromiseISt10unique_ptrI19grpc_metadata_batchNS0_5Arena13PooledDeleterEEEENS0_8CallArgsEEED2Ev.exit20.i: ; preds = %if.then.i.i17.i, %lpad.body.i diff --git a/bench/grpc/optimized/hpack_encoder.cc.ll b/bench/grpc/optimized/hpack_encoder.cc.ll index e52e09af85e..7462166584c 100644 --- a/bench/grpc/optimized/hpack_encoder.cc.ll +++ b/bench/grpc/optimized/hpack_encoder.cc.ll @@ -2412,17 +2412,17 @@ _ZNK9grpc_core5Slice3RefEv.exit80: ; preds = %_ZN9grpc_core5Slice invoke.cont73.thread: ; preds = %_ZNK9grpc_core5Slice3RefEv.exit80 %ref.tmp.i.sroa.0.0.copyload.i.i.i = load ptr, ptr %ref.tmp71, align 8 - %ref.tmp.i.sroa.4.0.__args.sroa_idx.i.i.i = getelementptr inbounds i8, ptr %ref.tmp71, i64 8 call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %ref.tmp.i.i.sroa.4.i.i.i) - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp.i.i.sroa.4.i.i.i, ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp.i.sroa.4.0.__args.sroa_idx.i.i.i, i64 24, i1 false) + %73 = getelementptr inbounds i8, ptr %value, i64 8 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp.i.i.sroa.4.i.i.i, ptr noundef nonnull align 8 dereferenceable(24) %73, i64 24, i1 false) store ptr %ref.tmp.i.sroa.0.0.copyload.i.i.i, ptr %71, align 8 %ref.tmp.i.i.sroa.4.0.__p.sroa_idx.i.i.i = getelementptr inbounds i8, ptr %71, i64 8 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp.i.i.sroa.4.0.__p.sroa_idx.i.i.i, ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp.i.i.sroa.4.i.i.i, i64 24, i1 false) call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %ref.tmp.i.i.sroa.4.i.i.i) %index3.i.i.i.i = getelementptr inbounds i8, ptr %71, i64 32 store i32 %call67, ptr %index3.i.i.i.i, align 8 - %73 = load ptr, ptr %_M_finish.i, align 8 - %incdec.ptr.i82 = getelementptr inbounds i8, ptr %73, i64 40 + %74 = load ptr, ptr %_M_finish.i, align 8 + %incdec.ptr.i82 = getelementptr inbounds i8, ptr %74, i64 40 store ptr %incdec.ptr.i82, ptr %_M_finish.i, align 8 br label %return @@ -2436,40 +2436,40 @@ invoke.cont73: ; preds = %if.else.i br i1 %cmp.i.i83, label %if.then.i.i84, label %return if.then.i.i84: ; preds = %invoke.cont73 - %74 = atomicrmw sub ptr %.pre109, i64 1 acq_rel, align 8 - %cmp.i.i.i85 = icmp eq i64 %74, 1 + %75 = atomicrmw sub ptr %.pre109, i64 1 acq_rel, align 8 + %cmp.i.i.i85 = icmp eq i64 %75, 1 br i1 %cmp.i.i.i85, label %if.then.i.i.i86, label %return if.then.i.i.i86: ; preds = %if.then.i.i84 %destroyer_fn_.i.i.i87 = getelementptr inbounds i8, ptr %.pre109, i64 8 - %75 = load ptr, ptr %destroyer_fn_.i.i.i87, align 8 - invoke void %75(ptr noundef nonnull %.pre109) + %76 = load ptr, ptr %destroyer_fn_.i.i.i87, align 8 + invoke void %76(ptr noundef nonnull %.pre109) to label %return unwind label %terminate.lpad.i88 terminate.lpad.i88: ; preds = %if.then.i.i.i86 - %76 = landingpad { ptr, i32 } + %77 = landingpad { ptr, i32 } catch ptr null - %77 = extractvalue { ptr, i32 } %76, 0 - call void @__clang_call_terminate(ptr %77) #22 + %78 = extractvalue { ptr, i32 } %77, 0 + call void @__clang_call_terminate(ptr %78) #22 unreachable return: ; preds = %_ZNSt6vectorIN9grpc_core20hpack_encoder_detail10SliceIndex10ValueIndexESaIS3_EE8pop_backEv.exit, %land.rhs, %invoke.cont73.thread, %if.end49, %if.then.i.i.i86, %if.then.i.i84, %invoke.cont73, %if.then.i.i.i23, %if.then.i.i21, %_ZN9grpc_core5SliceD2Ev.exit ret void lpad65: ; preds = %invoke.cont64 - %78 = landingpad { ptr, i32 } + %79 = landingpad { ptr, i32 } cleanup call void @_ZN9grpc_core5SliceD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp62) #21 br label %eh.resume lpad72: ; preds = %if.else.i - %79 = landingpad { ptr, i32 } + %80 = landingpad { ptr, i32 } cleanup br label %eh.resume eh.resume: ; preds = %lpad72, %lpad65, %lpad33, %lpad9 %ref.tmp71.sink = phi ptr [ %ref.tmp71, %lpad72 ], [ %agg.tmp60, %lpad65 ], [ %agg.tmp28, %lpad33 ], [ %agg.tmp, %lpad9 ] - %.pn15.pn = phi { ptr, i32 } [ %79, %lpad72 ], [ %78, %lpad65 ], [ %36, %lpad33 ], [ %15, %lpad9 ] + %.pn15.pn = phi { ptr, i32 } [ %80, %lpad72 ], [ %79, %lpad65 ], [ %36, %lpad33 ], [ %15, %lpad9 ] call void @_ZN9grpc_core5SliceD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp71.sink) #21 resume { ptr, i32 } %.pn15.pn } diff --git a/bench/grpc/optimized/http_client_filter.cc.ll b/bench/grpc/optimized/http_client_filter.cc.ll index 41a01dff92c..cdaf6c1d983 100644 --- a/bench/grpc/optimized/http_client_filter.cc.ll +++ b/bench/grpc/optimized/http_client_filter.cc.ll @@ -4717,20 +4717,20 @@ invoke.cont: store ptr @_ZN9grpc_core20arena_promise_detail4NullISt10unique_ptrI19grpc_metadata_batchNS_5Arena13PooledDeleterEEE6vtableE, ptr %x, align 16 tail call void @llvm.experimental.noalias.scope.decl(metadata !132) %agg.tmp2.sroa.0.0.copyload.i = load ptr, ptr %agg.tmp1, align 16, !noalias !132 - %agg.tmp2.sroa.3.0.promises1.sroa_idx.i = getelementptr inbounds i8, ptr %agg.tmp1, i64 8 store ptr @_ZN9grpc_core20arena_promise_detail4NullISt10unique_ptrI19grpc_metadata_batchNS_5Arena13PooledDeleterEEE6vtableE, ptr %agg.tmp1, align 16, !noalias !132 store ptr %latch, ptr %ref.tmp, align 16, !alias.scope !132 %next_.i.i = getelementptr inbounds i8, ptr %ref.tmp, i64 16 store ptr %agg.tmp2.sroa.0.0.copyload.i, ptr %next_.i.i, align 16, !alias.scope !132 %agg.tmp.sroa.4.0.next_.sroa_idx.i.i = getelementptr inbounds i8, ptr %ref.tmp, i64 24 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %agg.tmp.sroa.4.0.next_.sroa_idx.i.i, ptr noundef nonnull align 8 dereferenceable(24) %agg.tmp2.sroa.3.0.promises1.sroa_idx.i, i64 24, i1 false) + %0 = getelementptr inbounds i8, ptr %x, i64 8 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %agg.tmp.sroa.4.0.next_.sroa_idx.i.i, ptr noundef nonnull align 8 dereferenceable(24) %0, i64 24, i1 false) %arg.i = getelementptr inbounds i8, ptr %agg.result, i64 16 store i64 0, ptr %arg.i, align 16 store ptr @_ZN9grpc_core20arena_promise_detail17AllocatedCallableISt10unique_ptrI19grpc_metadata_batchNS_5Arena13PooledDeleterEENS_14promise_detail4RaceIJZNS_5LatchIS6_E4WaitEvEUlvE_NS_12ArenaPromiseIS6_EEEEEE6vtableE, ptr %agg.result, align 16 - %0 = tail call align 8 ptr @llvm.threadlocal.address.p0(ptr align 8 @_ZN9grpc_core14promise_detail7ContextINS_5ArenaEE8current_E) - %1 = load ptr, ptr %0, align 8 - %cmp.not.i.i.i.i = icmp eq ptr %1, null - %2 = ptrtoint ptr %latch to i64 + %1 = tail call align 8 ptr @llvm.threadlocal.address.p0(ptr align 8 @_ZN9grpc_core14promise_detail7ContextINS_5ArenaEE8current_E) + %2 = load ptr, ptr %1, align 8 + %cmp.not.i.i.i.i = icmp eq ptr %2, null + %3 = ptrtoint ptr %latch to i64 br i1 %cmp.not.i.i.i.i, label %if.then.i.i.i.i, label %_ZN9grpc_core10GetContextINS_5ArenaEEEPT_v.exit.i.i.i if.then.i.i.i.i: ; preds = %invoke.cont @@ -4741,79 +4741,79 @@ if.then.i.i.i.i: ; preds = %invoke.cont unreachable _ZN9grpc_core10GetContextINS_5ArenaEEEPT_v.exit.i.i.i: ; preds = %invoke.cont - %3 = atomicrmw add ptr %1, i64 48 monotonic, align 8 - %add2.i.i.i.i.i = add i64 %3, 48 - %initial_zone_size_.i.i.i.i.i = getelementptr inbounds i8, ptr %1, i64 16 - %4 = load i64, ptr %initial_zone_size_.i.i.i.i.i, align 8 - %cmp.not.i.i.i.i.i = icmp ugt i64 %add2.i.i.i.i.i, %4 + %4 = atomicrmw add ptr %2, i64 48 monotonic, align 8 + %add2.i.i.i.i.i = add i64 %4, 48 + %initial_zone_size_.i.i.i.i.i = getelementptr inbounds i8, ptr %2, i64 16 + %5 = load i64, ptr %initial_zone_size_.i.i.i.i.i, align 8 + %cmp.not.i.i.i.i.i = icmp ugt i64 %add2.i.i.i.i.i, %5 br i1 %cmp.not.i.i.i.i.i, label %if.else.i.i.i.i.i, label %if.then.i.i.i.i.i if.then.i.i.i.i.i: ; preds = %_ZN9grpc_core10GetContextINS_5ArenaEEEPT_v.exit.i.i.i - %add.ptr.i.i.i.i.i = getelementptr inbounds i8, ptr %1, i64 48 - %add.ptr3.i.i.i.i.i = getelementptr inbounds i8, ptr %add.ptr.i.i.i.i.i, i64 %3 + %add.ptr.i.i.i.i.i = getelementptr inbounds i8, ptr %2, i64 48 + %add.ptr3.i.i.i.i.i = getelementptr inbounds i8, ptr %add.ptr.i.i.i.i.i, i64 %4 br label %invoke.cont4 if.else.i.i.i.i.i: ; preds = %_ZN9grpc_core10GetContextINS_5ArenaEEEPT_v.exit.i.i.i - %call4.i.i.i.i.i2 = invoke noundef ptr @_ZN9grpc_core5Arena9AllocZoneEm(ptr noundef nonnull align 8 dereferenceable(48) %1, i64 noundef 48) + %call4.i.i.i.i.i2 = invoke noundef ptr @_ZN9grpc_core5Arena9AllocZoneEm(ptr noundef nonnull align 8 dereferenceable(48) %2, i64 noundef 48) to label %invoke.cont4 unwind label %lpad3 invoke.cont4: ; preds = %if.else.i.i.i.i.i, %if.then.i.i.i.i.i %retval.0.i.i.i.i.i = phi ptr [ %add.ptr3.i.i.i.i.i, %if.then.i.i.i.i.i ], [ %call4.i.i.i.i.i2, %if.else.i.i.i.i.i ] - store i64 %2, ptr %retval.0.i.i.i.i.i, align 16 + store i64 %3, ptr %retval.0.i.i.i.i.i, align 16 %next_.i.i.i.i.i.i = getelementptr inbounds i8, ptr %retval.0.i.i.i.i.i, i64 16 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(32) %next_.i.i.i.i.i.i, ptr noundef nonnull align 16 dereferenceable(32) %next_.i.i, i64 32, i1 false) store ptr @_ZN9grpc_core20arena_promise_detail4NullISt10unique_ptrI19grpc_metadata_batchNS_5Arena13PooledDeleterEEE6vtableE, ptr %next_.i.i, align 16 store ptr %retval.0.i.i.i.i.i, ptr %arg.i, align 16 - %5 = load ptr, ptr %agg.tmp1, align 16 - %destroy.i = getelementptr inbounds i8, ptr %5, i64 8 - %6 = load ptr, ptr %destroy.i, align 8 + %6 = load ptr, ptr %agg.tmp1, align 16 + %destroy.i = getelementptr inbounds i8, ptr %6, i64 8 + %7 = load ptr, ptr %destroy.i, align 8 %arg.i3 = getelementptr inbounds i8, ptr %agg.tmp1, i64 16 - invoke void %6(ptr noundef nonnull %arg.i3) + invoke void %7(ptr noundef nonnull %arg.i3) to label %_ZN9grpc_core12ArenaPromiseISt10unique_ptrI19grpc_metadata_batchNS_5Arena13PooledDeleterEEED2Ev.exit unwind label %terminate.lpad.i terminate.lpad.i: ; preds = %invoke.cont4 - %7 = landingpad { ptr, i32 } + %8 = landingpad { ptr, i32 } catch ptr null - %8 = extractvalue { ptr, i32 } %7, 0 - call void @__clang_call_terminate(ptr %8) #22 + %9 = extractvalue { ptr, i32 } %8, 0 + call void @__clang_call_terminate(ptr %9) #22 unreachable _ZN9grpc_core12ArenaPromiseISt10unique_ptrI19grpc_metadata_batchNS_5Arena13PooledDeleterEEED2Ev.exit: ; preds = %invoke.cont4 ret void lpad3: ; preds = %if.else.i.i.i.i.i, %if.then.i.i.i.i - %9 = landingpad { ptr, i32 } + %10 = landingpad { ptr, i32 } cleanup %destroy.i.i.i5 = getelementptr inbounds i8, ptr %agg.tmp2.sroa.0.0.copyload.i, i64 8 - %10 = load ptr, ptr %destroy.i.i.i5, align 8 + %11 = load ptr, ptr %destroy.i.i.i5, align 8 %arg.i.i.i6 = getelementptr inbounds i8, ptr %ref.tmp, i64 32 - invoke void %10(ptr noundef nonnull %arg.i.i.i6) + invoke void %11(ptr noundef nonnull %arg.i.i.i6) to label %ehcleanup unwind label %terminate.lpad.i.i.i7 terminate.lpad.i.i.i7: ; preds = %lpad3 - %11 = landingpad { ptr, i32 } + %12 = landingpad { ptr, i32 } catch ptr null - %12 = extractvalue { ptr, i32 } %11, 0 - call void @__clang_call_terminate(ptr %12) #22 + %13 = extractvalue { ptr, i32 } %12, 0 + call void @__clang_call_terminate(ptr %13) #22 unreachable ehcleanup: ; preds = %lpad3 - %13 = load ptr, ptr %agg.tmp1, align 16 - %destroy.i9 = getelementptr inbounds i8, ptr %13, i64 8 - %14 = load ptr, ptr %destroy.i9, align 8 + %14 = load ptr, ptr %agg.tmp1, align 16 + %destroy.i9 = getelementptr inbounds i8, ptr %14, i64 8 + %15 = load ptr, ptr %destroy.i9, align 8 %arg.i10 = getelementptr inbounds i8, ptr %agg.tmp1, i64 16 - invoke void %14(ptr noundef nonnull %arg.i10) + invoke void %15(ptr noundef nonnull %arg.i10) to label %_ZN9grpc_core12ArenaPromiseISt10unique_ptrI19grpc_metadata_batchNS_5Arena13PooledDeleterEEED2Ev.exit12 unwind label %terminate.lpad.i11 terminate.lpad.i11: ; preds = %ehcleanup - %15 = landingpad { ptr, i32 } + %16 = landingpad { ptr, i32 } catch ptr null - %16 = extractvalue { ptr, i32 } %15, 0 - call void @__clang_call_terminate(ptr %16) #22 + %17 = extractvalue { ptr, i32 } %16, 0 + call void @__clang_call_terminate(ptr %17) #22 unreachable _ZN9grpc_core12ArenaPromiseISt10unique_ptrI19grpc_metadata_batchNS_5Arena13PooledDeleterEEED2Ev.exit12: ; preds = %ehcleanup - resume { ptr, i32 } %9 + resume { ptr, i32 } %10 } ; Function Attrs: uwtable diff --git a/bench/grpc/optimized/http_server_filter.cc.ll b/bench/grpc/optimized/http_server_filter.cc.ll index d630b96e78f..84d2e382518 100644 --- a/bench/grpc/optimized/http_server_filter.cc.ll +++ b/bench/grpc/optimized/http_server_filter.cc.ll @@ -2100,19 +2100,19 @@ invoke.cont11: ; preds = %_ZNSt8functionIFN9g store ptr @_ZN9grpc_core20arena_promise_detail4NullISt10unique_ptrI19grpc_metadata_batchNS_5Arena13PooledDeleterEEE6vtableE, ptr %agg.tmp3, align 16, !noalias !69 call void @llvm.experimental.noalias.scope.decl(metadata !72) %agg.tmp.sroa.0.0.copyload.i = load ptr, ptr %agg.tmp, align 16, !noalias !72 - %agg.tmp.sroa.3.0.x.sroa_idx.i = getelementptr inbounds i8, ptr %agg.tmp, i64 8 store ptr @_ZN9grpc_core20arena_promise_detail4NullISt10unique_ptrI19grpc_metadata_batchNS_5Arena13PooledDeleterEEE6vtableE, ptr %agg.tmp, align 16, !noalias !72 store ptr %agg.tmp.sroa.0.0.copyload.i, ptr %ref.tmp, align 16, !alias.scope !75 %agg.tmp.sroa.3.0.agg.result.sroa_idx.i.i = getelementptr inbounds i8, ptr %ref.tmp, i64 8 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %agg.tmp.sroa.3.0.agg.result.sroa_idx.i.i, ptr noundef nonnull align 8 dereferenceable(24) %agg.tmp.sroa.3.0.x.sroa_idx.i, i64 24, i1 false) + %17 = getelementptr inbounds i8, ptr %agg.tmp3, i64 8 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %agg.tmp.sroa.3.0.agg.result.sroa_idx.i.i, ptr noundef nonnull align 8 dereferenceable(24) %17, i64 24, i1 false) %fn_.i.i.i = getelementptr inbounds i8, ptr %ref.tmp, i64 32 store ptr %t.i.i.i.i.i, ptr %fn_.i.i.i, align 16, !alias.scope !75 %arg.i = getelementptr inbounds i8, ptr %agg.result, i64 16 store i64 0, ptr %arg.i, align 16 store ptr @_ZN9grpc_core20arena_promise_detail17AllocatedCallableISt10unique_ptrI19grpc_metadata_batchNS_5Arena13PooledDeleterEENS_14promise_detail3MapINS_12ArenaPromiseIS6_EEZNS_21promise_filter_detail9MapResultISA_NS_16HttpServerFilterEEEDaMNT0_4CallEFvRS3_ET_PNSB_14FilterCallDataISE_EEEUlS6_E_EEE6vtableE, ptr %agg.result, align 16 - %17 = load ptr, ptr %0, align 8 - %cmp.not.i.i.i.i10 = icmp eq ptr %17, null - %18 = ptrtoint ptr %t.i.i.i.i.i to i64 + %18 = load ptr, ptr %0, align 8 + %cmp.not.i.i.i.i10 = icmp eq ptr %18, null + %19 = ptrtoint ptr %t.i.i.i.i.i to i64 br i1 %cmp.not.i.i.i.i10, label %if.then.i.i.i.i13, label %_ZN9grpc_core10GetContextINS_5ArenaEEEPT_v.exit.i.i.i if.then.i.i.i.i13: ; preds = %invoke.cont11 @@ -2123,20 +2123,20 @@ if.then.i.i.i.i13: ; preds = %invoke.cont11 unreachable _ZN9grpc_core10GetContextINS_5ArenaEEEPT_v.exit.i.i.i: ; preds = %invoke.cont11 - %19 = atomicrmw add ptr %17, i64 48 monotonic, align 8 - %add2.i.i.i.i.i = add i64 %19, 48 - %initial_zone_size_.i.i.i.i.i = getelementptr inbounds i8, ptr %17, i64 16 - %20 = load i64, ptr %initial_zone_size_.i.i.i.i.i, align 8 - %cmp.not.i.i.i.i.i11 = icmp ugt i64 %add2.i.i.i.i.i, %20 + %20 = atomicrmw add ptr %18, i64 48 monotonic, align 8 + %add2.i.i.i.i.i = add i64 %20, 48 + %initial_zone_size_.i.i.i.i.i = getelementptr inbounds i8, ptr %18, i64 16 + %21 = load i64, ptr %initial_zone_size_.i.i.i.i.i, align 8 + %cmp.not.i.i.i.i.i11 = icmp ugt i64 %add2.i.i.i.i.i, %21 br i1 %cmp.not.i.i.i.i.i11, label %if.else.i.i.i.i.i, label %if.then.i.i.i.i.i12 if.then.i.i.i.i.i12: ; preds = %_ZN9grpc_core10GetContextINS_5ArenaEEEPT_v.exit.i.i.i - %add.ptr.i.i.i.i.i = getelementptr inbounds i8, ptr %17, i64 48 - %add.ptr3.i.i.i.i.i = getelementptr inbounds i8, ptr %add.ptr.i.i.i.i.i, i64 %19 + %add.ptr.i.i.i.i.i = getelementptr inbounds i8, ptr %18, i64 48 + %add.ptr3.i.i.i.i.i = getelementptr inbounds i8, ptr %add.ptr.i.i.i.i.i, i64 %20 br label %invoke.cont13 if.else.i.i.i.i.i: ; preds = %_ZN9grpc_core10GetContextINS_5ArenaEEEPT_v.exit.i.i.i - %call4.i.i.i.i.i14 = invoke noundef ptr @_ZN9grpc_core5Arena9AllocZoneEm(ptr noundef nonnull align 8 dereferenceable(48) %17, i64 noundef 48) + %call4.i.i.i.i.i14 = invoke noundef ptr @_ZN9grpc_core5Arena9AllocZoneEm(ptr noundef nonnull align 8 dereferenceable(48) %18, i64 noundef 48) to label %invoke.cont13 unwind label %lpad12 invoke.cont13: ; preds = %if.then.i.i.i.i.i12, %if.else.i.i.i.i.i @@ -2144,182 +2144,182 @@ invoke.cont13: ; preds = %if.then.i.i.i.i.i12 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(32) %retval.0.i.i.i.i.i, ptr noundef nonnull align 16 dereferenceable(32) %ref.tmp, i64 32, i1 false) store ptr @_ZN9grpc_core20arena_promise_detail4NullISt10unique_ptrI19grpc_metadata_batchNS_5Arena13PooledDeleterEEE6vtableE, ptr %ref.tmp, align 16 %fn_.i.i.i.i.i.i = getelementptr inbounds i8, ptr %retval.0.i.i.i.i.i, i64 32 - store i64 %18, ptr %fn_.i.i.i.i.i.i, align 16 + store i64 %19, ptr %fn_.i.i.i.i.i.i, align 16 store ptr %retval.0.i.i.i.i.i, ptr %arg.i, align 16 - %21 = load ptr, ptr %agg.tmp, align 16 - %destroy.i = getelementptr inbounds i8, ptr %21, i64 8 - %22 = load ptr, ptr %destroy.i, align 8 + %22 = load ptr, ptr %agg.tmp, align 16 + %destroy.i = getelementptr inbounds i8, ptr %22, i64 8 + %23 = load ptr, ptr %destroy.i, align 8 %arg.i15 = getelementptr inbounds i8, ptr %agg.tmp, i64 16 - invoke void %22(ptr noundef nonnull %arg.i15) + invoke void %23(ptr noundef nonnull %arg.i15) to label %_ZN9grpc_core12ArenaPromiseISt10unique_ptrI19grpc_metadata_batchNS_5Arena13PooledDeleterEEED2Ev.exit unwind label %terminate.lpad.i terminate.lpad.i: ; preds = %invoke.cont13 - %23 = landingpad { ptr, i32 } + %24 = landingpad { ptr, i32 } catch ptr null - %24 = extractvalue { ptr, i32 } %23, 0 - call void @__clang_call_terminate(ptr %24) #24 + %25 = extractvalue { ptr, i32 } %24, 0 + call void @__clang_call_terminate(ptr %25) #24 unreachable _ZN9grpc_core12ArenaPromiseISt10unique_ptrI19grpc_metadata_batchNS_5Arena13PooledDeleterEEED2Ev.exit: ; preds = %invoke.cont13 - %25 = load ptr, ptr %agg.tmp3, align 16 - %destroy.i16 = getelementptr inbounds i8, ptr %25, i64 8 - %26 = load ptr, ptr %destroy.i16, align 8 + %26 = load ptr, ptr %agg.tmp3, align 16 + %destroy.i16 = getelementptr inbounds i8, ptr %26, i64 8 + %27 = load ptr, ptr %destroy.i16, align 8 %arg.i17 = getelementptr inbounds i8, ptr %agg.tmp3, i64 16 - invoke void %26(ptr noundef nonnull %arg.i17) + invoke void %27(ptr noundef nonnull %arg.i17) to label %_ZN9grpc_core12ArenaPromiseISt10unique_ptrI19grpc_metadata_batchNS_5Arena13PooledDeleterEEED2Ev.exit19 unwind label %terminate.lpad.i18 terminate.lpad.i18: ; preds = %_ZN9grpc_core12ArenaPromiseISt10unique_ptrI19grpc_metadata_batchNS_5Arena13PooledDeleterEEED2Ev.exit - %27 = landingpad { ptr, i32 } + %28 = landingpad { ptr, i32 } catch ptr null - %28 = extractvalue { ptr, i32 } %27, 0 - call void @__clang_call_terminate(ptr %28) #24 + %29 = extractvalue { ptr, i32 } %28, 0 + call void @__clang_call_terminate(ptr %29) #24 unreachable _ZN9grpc_core12ArenaPromiseISt10unique_ptrI19grpc_metadata_batchNS_5Arena13PooledDeleterEEED2Ev.exit19: ; preds = %_ZN9grpc_core12ArenaPromiseISt10unique_ptrI19grpc_metadata_batchNS_5Arena13PooledDeleterEEED2Ev.exit %_M_manager.i.i20 = getelementptr inbounds i8, ptr %agg.tmp5, i64 16 - %29 = load ptr, ptr %_M_manager.i.i20, align 8 - %tobool.not.i.i = icmp eq ptr %29, null + %30 = load ptr, ptr %_M_manager.i.i20, align 8 + %tobool.not.i.i = icmp eq ptr %30, null br i1 %tobool.not.i.i, label %_ZNSt8functionIFN9grpc_core12ArenaPromiseISt10unique_ptrI19grpc_metadata_batchNS0_5Arena13PooledDeleterEEEENS0_8CallArgsEEED2Ev.exit, label %if.then.i.i21 if.then.i.i21: ; preds = %_ZN9grpc_core12ArenaPromiseISt10unique_ptrI19grpc_metadata_batchNS_5Arena13PooledDeleterEEED2Ev.exit19 - %call.i.i = invoke noundef zeroext i1 %29(ptr noundef nonnull align 8 dereferenceable(16) %agg.tmp5, ptr noundef nonnull align 8 dereferenceable(16) %agg.tmp5, i32 noundef 3) + %call.i.i = invoke noundef zeroext i1 %30(ptr noundef nonnull align 8 dereferenceable(16) %agg.tmp5, ptr noundef nonnull align 8 dereferenceable(16) %agg.tmp5, i32 noundef 3) to label %_ZNSt8functionIFN9grpc_core12ArenaPromiseISt10unique_ptrI19grpc_metadata_batchNS0_5Arena13PooledDeleterEEEENS0_8CallArgsEEED2Ev.exit unwind label %terminate.lpad.i.i terminate.lpad.i.i: ; preds = %if.then.i.i21 - %30 = landingpad { ptr, i32 } + %31 = landingpad { ptr, i32 } catch ptr null - %31 = extractvalue { ptr, i32 } %30, 0 - call void @__clang_call_terminate(ptr %31) #24 + %32 = extractvalue { ptr, i32 } %31, 0 + call void @__clang_call_terminate(ptr %32) #24 unreachable _ZNSt8functionIFN9grpc_core12ArenaPromiseISt10unique_ptrI19grpc_metadata_batchNS0_5Arena13PooledDeleterEEEENS0_8CallArgsEEED2Ev.exit: ; preds = %_ZN9grpc_core12ArenaPromiseISt10unique_ptrI19grpc_metadata_batchNS_5Arena13PooledDeleterEEED2Ev.exit19, %if.then.i.i21 - %32 = load ptr, ptr %client_initial_metadata_outstanding.i, align 8 - %cmp.not.i.i23 = icmp eq ptr %32, null + %33 = load ptr, ptr %client_initial_metadata_outstanding.i, align 8 + %cmp.not.i.i23 = icmp eq ptr %33, null br i1 %cmp.not.i.i23, label %_ZN9grpc_core37ClientInitialMetadataOutstandingTokenD2Ev.exit.i, label %if.then.i.i24 if.then.i.i24: ; preds = %_ZNSt8functionIFN9grpc_core12ArenaPromiseISt10unique_ptrI19grpc_metadata_batchNS0_5Arena13PooledDeleterEEEENS0_8CallArgsEEED2Ev.exit - store i8 0, ptr %32, align 2 - %has_value_.i.i.i = getelementptr inbounds i8, ptr %32, i64 1 + store i8 0, ptr %33, align 2 + %has_value_.i.i.i = getelementptr inbounds i8, ptr %33, i64 1 store i8 1, ptr %has_value_.i.i.i, align 1 - %waiter_.i.i.i = getelementptr inbounds i8, ptr %32, i64 2 - %33 = load i16, ptr %waiter_.i.i.i, align 2 - %cmp.i.i.i.i25 = icmp eq i16 %33, 0 + %waiter_.i.i.i = getelementptr inbounds i8, ptr %33, i64 2 + %34 = load i16, ptr %waiter_.i.i.i, align 2 + %cmp.i.i.i.i25 = icmp eq i16 %34, 0 br i1 %cmp.i.i.i.i25, label %_ZN9grpc_core37ClientInitialMetadataOutstandingTokenD2Ev.exit.i, label %if.end.i.i.i.i if.end.i.i.i.i: ; preds = %if.then.i.i24 - br i1 icmp ne (ptr @_ZTHN9grpc_core8Activity19g_current_activity_E, ptr null), label %34, label %_ZN9grpc_core8Activity7currentEv.exit.i.i.i.i + br i1 icmp ne (ptr @_ZTHN9grpc_core8Activity19g_current_activity_E, ptr null), label %35, label %_ZN9grpc_core8Activity7currentEv.exit.i.i.i.i -34: ; preds = %if.end.i.i.i.i +35: ; preds = %if.end.i.i.i.i invoke void @_ZTHN9grpc_core8Activity19g_current_activity_E() to label %.noexc.i.i unwind label %terminate.lpad.i.i26 -.noexc.i.i: ; preds = %34 +.noexc.i.i: ; preds = %35 %.pre.i.i.i.i = load i16, ptr %waiter_.i.i.i, align 2 br label %_ZN9grpc_core8Activity7currentEv.exit.i.i.i.i _ZN9grpc_core8Activity7currentEv.exit.i.i.i.i: ; preds = %.noexc.i.i, %if.end.i.i.i.i - %35 = phi i16 [ %33, %if.end.i.i.i.i ], [ %.pre.i.i.i.i, %.noexc.i.i ] - %36 = call noundef align 8 ptr @llvm.threadlocal.address.p0(ptr align 8 @_ZN9grpc_core8Activity19g_current_activity_E) - %37 = load ptr, ptr %36, align 8 + %36 = phi i16 [ %34, %if.end.i.i.i.i ], [ %.pre.i.i.i.i, %.noexc.i.i ] + %37 = call noundef align 8 ptr @llvm.threadlocal.address.p0(ptr align 8 @_ZN9grpc_core8Activity19g_current_activity_E) + %38 = load ptr, ptr %37, align 8 store i16 0, ptr %waiter_.i.i.i, align 2 - %vtable.i.i.i.i = load ptr, ptr %37, align 8 + %vtable.i.i.i.i = load ptr, ptr %38, align 8 %vfn.i.i.i.i = getelementptr inbounds i8, ptr %vtable.i.i.i.i, i64 24 - %38 = load ptr, ptr %vfn.i.i.i.i, align 8 - invoke void %38(ptr noundef nonnull align 8 dereferenceable(8) %37, i16 noundef zeroext %35) + %39 = load ptr, ptr %vfn.i.i.i.i, align 8 + invoke void %39(ptr noundef nonnull align 8 dereferenceable(8) %38, i16 noundef zeroext %36) to label %_ZN9grpc_core37ClientInitialMetadataOutstandingTokenD2Ev.exit.i unwind label %terminate.lpad.i.i26 -terminate.lpad.i.i26: ; preds = %_ZN9grpc_core8Activity7currentEv.exit.i.i.i.i, %34 - %39 = landingpad { ptr, i32 } +terminate.lpad.i.i26: ; preds = %_ZN9grpc_core8Activity7currentEv.exit.i.i.i.i, %35 + %40 = landingpad { ptr, i32 } catch ptr null - %40 = extractvalue { ptr, i32 } %39, 0 - call void @__clang_call_terminate(ptr %40) #24 + %41 = extractvalue { ptr, i32 } %40, 0 + call void @__clang_call_terminate(ptr %41) #24 unreachable _ZN9grpc_core37ClientInitialMetadataOutstandingTokenD2Ev.exit.i: ; preds = %_ZN9grpc_core8Activity7currentEv.exit.i.i.i.i, %if.then.i.i24, %_ZNSt8functionIFN9grpc_core12ArenaPromiseISt10unique_ptrI19grpc_metadata_batchNS0_5Arena13PooledDeleterEEEENS0_8CallArgsEEED2Ev.exit - %41 = load ptr, ptr %12, align 8 - %cmp.not.i1.i = icmp eq ptr %41, null + %42 = load ptr, ptr %12, align 8 + %cmp.not.i1.i = icmp eq ptr %42, null br i1 %cmp.not.i1.i, label %_ZN9grpc_core8CallArgsD2Ev.exit, label %if.then.i2.i if.then.i2.i: ; preds = %_ZN9grpc_core37ClientInitialMetadataOutstandingTokenD2Ev.exit.i - %42 = load i8, ptr %agg.tmp4, align 8 - %tobool.i.i.i = trunc i8 %42 to i1 + %43 = load i8, ptr %agg.tmp4, align 8 + %tobool.i.i.i = trunc i8 %43 to i1 br i1 %tobool.i.i.i, label %delete.notnull.i.i.i, label %_ZN9grpc_core8CallArgsD2Ev.exit delete.notnull.i.i.i: ; preds = %if.then.i2.i - call void @_ZN9grpc_core11MetadataMapI19grpc_metadata_batchJNS_16HttpPathMetadataENS_21HttpAuthorityMetadataENS_18HttpMethodMetadataENS_18HttpStatusMetadataENS_18HttpSchemeMetadataENS_19ContentTypeMetadataENS_10TeMetadataENS_20GrpcEncodingMetadataENS_27GrpcInternalEncodingRequestENS_26GrpcAcceptEncodingMetadataENS_18GrpcStatusMetadataENS_19GrpcTimeoutMetadataENS_31GrpcPreviousRpcAttemptsMetadataENS_27GrpcRetryPushbackMsMetadataENS_17UserAgentMetadataENS_19GrpcMessageMetadataENS_12HostMetadataENS_30EndpointLoadMetricsBinMetadataENS_26GrpcServerStatsBinMetadataENS_20GrpcTraceBinMetadataENS_19GrpcTagsBinMetadataENS_25GrpcLbClientStatsMetadataENS_17LbCostBinMetadataENS_15LbTokenMetadataENS_18XEnvoyPeerMetadataENS_22GrpcStreamNetworkStateENS_10PeerStringENS_17GrpcStatusContextENS_18GrpcStatusFromWireENS_20GrpcCallWasCancelledENS_12WaitForReadyENS_16GrpcTrailersOnlyENS_10GrpcTarPitENS_20GrpcRegisteredMethodEEED2Ev(ptr noundef nonnull align 8 dereferenceable(568) %41) #23 - call void @_ZdlPv(ptr noundef nonnull %41) #25 + call void @_ZN9grpc_core11MetadataMapI19grpc_metadata_batchJNS_16HttpPathMetadataENS_21HttpAuthorityMetadataENS_18HttpMethodMetadataENS_18HttpStatusMetadataENS_18HttpSchemeMetadataENS_19ContentTypeMetadataENS_10TeMetadataENS_20GrpcEncodingMetadataENS_27GrpcInternalEncodingRequestENS_26GrpcAcceptEncodingMetadataENS_18GrpcStatusMetadataENS_19GrpcTimeoutMetadataENS_31GrpcPreviousRpcAttemptsMetadataENS_27GrpcRetryPushbackMsMetadataENS_17UserAgentMetadataENS_19GrpcMessageMetadataENS_12HostMetadataENS_30EndpointLoadMetricsBinMetadataENS_26GrpcServerStatsBinMetadataENS_20GrpcTraceBinMetadataENS_19GrpcTagsBinMetadataENS_25GrpcLbClientStatsMetadataENS_17LbCostBinMetadataENS_15LbTokenMetadataENS_18XEnvoyPeerMetadataENS_22GrpcStreamNetworkStateENS_10PeerStringENS_17GrpcStatusContextENS_18GrpcStatusFromWireENS_20GrpcCallWasCancelledENS_12WaitForReadyENS_16GrpcTrailersOnlyENS_10GrpcTarPitENS_20GrpcRegisteredMethodEEED2Ev(ptr noundef nonnull align 8 dereferenceable(568) %42) #23 + call void @_ZdlPv(ptr noundef nonnull %42) #25 br label %_ZN9grpc_core8CallArgsD2Ev.exit _ZN9grpc_core8CallArgsD2Ev.exit: ; preds = %_ZN9grpc_core37ClientInitialMetadataOutstandingTokenD2Ev.exit.i, %if.then.i2.i, %delete.notnull.i.i.i ret void lpad: ; preds = %_ZNSt8functionIFN9grpc_core12ArenaPromiseISt10unique_ptrI19grpc_metadata_batchNS0_5Arena13PooledDeleterEEEENS0_8CallArgsEEEC2EOSA_.exit - %43 = landingpad { ptr, i32 } + %44 = landingpad { ptr, i32 } cleanup br label %ehcleanup15 lpad12: ; preds = %if.else.i.i.i.i.i, %if.then.i.i.i.i13 - %44 = landingpad { ptr, i32 } + %45 = landingpad { ptr, i32 } cleanup %destroy.i.i.i28 = getelementptr inbounds i8, ptr %agg.tmp.sroa.0.0.copyload.i, i64 8 - %45 = load ptr, ptr %destroy.i.i.i28, align 8 + %46 = load ptr, ptr %destroy.i.i.i28, align 8 %arg.i.i.i29 = getelementptr inbounds i8, ptr %ref.tmp, i64 16 - invoke void %45(ptr noundef nonnull %arg.i.i.i29) + invoke void %46(ptr noundef nonnull %arg.i.i.i29) to label %ehcleanup unwind label %terminate.lpad.i.i.i30 terminate.lpad.i.i.i30: ; preds = %lpad12 - %46 = landingpad { ptr, i32 } + %47 = landingpad { ptr, i32 } catch ptr null - %47 = extractvalue { ptr, i32 } %46, 0 - call void @__clang_call_terminate(ptr %47) #24 + %48 = extractvalue { ptr, i32 } %47, 0 + call void @__clang_call_terminate(ptr %48) #24 unreachable ehcleanup: ; preds = %lpad12 - %48 = load ptr, ptr %agg.tmp, align 16 - %destroy.i32 = getelementptr inbounds i8, ptr %48, i64 8 - %49 = load ptr, ptr %destroy.i32, align 8 + %49 = load ptr, ptr %agg.tmp, align 16 + %destroy.i32 = getelementptr inbounds i8, ptr %49, i64 8 + %50 = load ptr, ptr %destroy.i32, align 8 %arg.i33 = getelementptr inbounds i8, ptr %agg.tmp, i64 16 - invoke void %49(ptr noundef nonnull %arg.i33) + invoke void %50(ptr noundef nonnull %arg.i33) to label %_ZN9grpc_core12ArenaPromiseISt10unique_ptrI19grpc_metadata_batchNS_5Arena13PooledDeleterEEED2Ev.exit35 unwind label %terminate.lpad.i34 terminate.lpad.i34: ; preds = %ehcleanup - %50 = landingpad { ptr, i32 } + %51 = landingpad { ptr, i32 } catch ptr null - %51 = extractvalue { ptr, i32 } %50, 0 - call void @__clang_call_terminate(ptr %51) #24 + %52 = extractvalue { ptr, i32 } %51, 0 + call void @__clang_call_terminate(ptr %52) #24 unreachable _ZN9grpc_core12ArenaPromiseISt10unique_ptrI19grpc_metadata_batchNS_5Arena13PooledDeleterEEED2Ev.exit35: ; preds = %ehcleanup - %52 = load ptr, ptr %agg.tmp3, align 16 - %destroy.i36 = getelementptr inbounds i8, ptr %52, i64 8 - %53 = load ptr, ptr %destroy.i36, align 8 + %53 = load ptr, ptr %agg.tmp3, align 16 + %destroy.i36 = getelementptr inbounds i8, ptr %53, i64 8 + %54 = load ptr, ptr %destroy.i36, align 8 %arg.i37 = getelementptr inbounds i8, ptr %agg.tmp3, i64 16 - invoke void %53(ptr noundef nonnull %arg.i37) + invoke void %54(ptr noundef nonnull %arg.i37) to label %ehcleanup15 unwind label %terminate.lpad.i38 terminate.lpad.i38: ; preds = %_ZN9grpc_core12ArenaPromiseISt10unique_ptrI19grpc_metadata_batchNS_5Arena13PooledDeleterEEED2Ev.exit35 - %54 = landingpad { ptr, i32 } + %55 = landingpad { ptr, i32 } catch ptr null - %55 = extractvalue { ptr, i32 } %54, 0 - call void @__clang_call_terminate(ptr %55) #24 + %56 = extractvalue { ptr, i32 } %55, 0 + call void @__clang_call_terminate(ptr %56) #24 unreachable ehcleanup15: ; preds = %_ZN9grpc_core12ArenaPromiseISt10unique_ptrI19grpc_metadata_batchNS_5Arena13PooledDeleterEEED2Ev.exit35, %lpad - %.pn.pn = phi { ptr, i32 } [ %43, %lpad ], [ %44, %_ZN9grpc_core12ArenaPromiseISt10unique_ptrI19grpc_metadata_batchNS_5Arena13PooledDeleterEEED2Ev.exit35 ] + %.pn.pn = phi { ptr, i32 } [ %44, %lpad ], [ %45, %_ZN9grpc_core12ArenaPromiseISt10unique_ptrI19grpc_metadata_batchNS_5Arena13PooledDeleterEEED2Ev.exit35 ] %_M_manager.i.i40 = getelementptr inbounds i8, ptr %agg.tmp5, i64 16 - %56 = load ptr, ptr %_M_manager.i.i40, align 8 - %tobool.not.i.i41 = icmp eq ptr %56, null + %57 = load ptr, ptr %_M_manager.i.i40, align 8 + %tobool.not.i.i41 = icmp eq ptr %57, null br i1 %tobool.not.i.i41, label %_ZNSt8functionIFN9grpc_core12ArenaPromiseISt10unique_ptrI19grpc_metadata_batchNS0_5Arena13PooledDeleterEEEENS0_8CallArgsEEED2Ev.exit45, label %if.then.i.i42 if.then.i.i42: ; preds = %ehcleanup15 - %call.i.i43 = invoke noundef zeroext i1 %56(ptr noundef nonnull align 8 dereferenceable(16) %agg.tmp5, ptr noundef nonnull align 8 dereferenceable(16) %agg.tmp5, i32 noundef 3) + %call.i.i43 = invoke noundef zeroext i1 %57(ptr noundef nonnull align 8 dereferenceable(16) %agg.tmp5, ptr noundef nonnull align 8 dereferenceable(16) %agg.tmp5, i32 noundef 3) to label %_ZNSt8functionIFN9grpc_core12ArenaPromiseISt10unique_ptrI19grpc_metadata_batchNS0_5Arena13PooledDeleterEEEENS0_8CallArgsEEED2Ev.exit45 unwind label %terminate.lpad.i.i44 terminate.lpad.i.i44: ; preds = %if.then.i.i42 - %57 = landingpad { ptr, i32 } + %58 = landingpad { ptr, i32 } catch ptr null - %58 = extractvalue { ptr, i32 } %57, 0 - call void @__clang_call_terminate(ptr %58) #24 + %59 = extractvalue { ptr, i32 } %58, 0 + call void @__clang_call_terminate(ptr %59) #24 unreachable _ZNSt8functionIFN9grpc_core12ArenaPromiseISt10unique_ptrI19grpc_metadata_batchNS0_5Arena13PooledDeleterEEEENS0_8CallArgsEEED2Ev.exit45: ; preds = %ehcleanup15, %if.then.i.i42 diff --git a/bench/grpc/optimized/message_size_filter.cc.ll b/bench/grpc/optimized/message_size_filter.cc.ll index 2d594a087db..6485cddec9c 100644 --- a/bench/grpc/optimized/message_size_filter.cc.ll +++ b/bench/grpc/optimized/message_size_filter.cc.ll @@ -2899,20 +2899,20 @@ invoke.cont: store ptr @_ZN9grpc_core20arena_promise_detail4NullISt10unique_ptrI19grpc_metadata_batchNS_5Arena13PooledDeleterEEE6vtableE, ptr %x, align 16 tail call void @llvm.experimental.noalias.scope.decl(metadata !38) %agg.tmp2.sroa.0.0.copyload.i = load ptr, ptr %agg.tmp1, align 16, !noalias !38 - %agg.tmp2.sroa.3.0.promises1.sroa_idx.i = getelementptr inbounds i8, ptr %agg.tmp1, i64 8 store ptr @_ZN9grpc_core20arena_promise_detail4NullISt10unique_ptrI19grpc_metadata_batchNS_5Arena13PooledDeleterEEE6vtableE, ptr %agg.tmp1, align 16, !noalias !38 store ptr %latch, ptr %ref.tmp, align 16, !alias.scope !38 %next_.i.i = getelementptr inbounds i8, ptr %ref.tmp, i64 16 store ptr %agg.tmp2.sroa.0.0.copyload.i, ptr %next_.i.i, align 16, !alias.scope !38 %agg.tmp.sroa.4.0.next_.sroa_idx.i.i = getelementptr inbounds i8, ptr %ref.tmp, i64 24 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %agg.tmp.sroa.4.0.next_.sroa_idx.i.i, ptr noundef nonnull align 8 dereferenceable(24) %agg.tmp2.sroa.3.0.promises1.sroa_idx.i, i64 24, i1 false) + %0 = getelementptr inbounds i8, ptr %x, i64 8 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %agg.tmp.sroa.4.0.next_.sroa_idx.i.i, ptr noundef nonnull align 8 dereferenceable(24) %0, i64 24, i1 false) %arg.i = getelementptr inbounds i8, ptr %agg.result, i64 16 store i64 0, ptr %arg.i, align 16 store ptr @_ZN9grpc_core20arena_promise_detail17AllocatedCallableISt10unique_ptrI19grpc_metadata_batchNS_5Arena13PooledDeleterEENS_14promise_detail4RaceIJZNS_5LatchIS6_E4WaitEvEUlvE_NS_12ArenaPromiseIS6_EEEEEE6vtableE, ptr %agg.result, align 16 - %0 = tail call align 8 ptr @llvm.threadlocal.address.p0(ptr align 8 @_ZN9grpc_core14promise_detail7ContextINS_5ArenaEE8current_E) - %1 = load ptr, ptr %0, align 8 - %cmp.not.i.i.i.i = icmp eq ptr %1, null - %2 = ptrtoint ptr %latch to i64 + %1 = tail call align 8 ptr @llvm.threadlocal.address.p0(ptr align 8 @_ZN9grpc_core14promise_detail7ContextINS_5ArenaEE8current_E) + %2 = load ptr, ptr %1, align 8 + %cmp.not.i.i.i.i = icmp eq ptr %2, null + %3 = ptrtoint ptr %latch to i64 br i1 %cmp.not.i.i.i.i, label %if.then.i.i.i.i, label %_ZN9grpc_core10GetContextINS_5ArenaEEEPT_v.exit.i.i.i if.then.i.i.i.i: ; preds = %invoke.cont @@ -2923,79 +2923,79 @@ if.then.i.i.i.i: ; preds = %invoke.cont unreachable _ZN9grpc_core10GetContextINS_5ArenaEEEPT_v.exit.i.i.i: ; preds = %invoke.cont - %3 = atomicrmw add ptr %1, i64 48 monotonic, align 8 - %add2.i.i.i.i.i = add i64 %3, 48 - %initial_zone_size_.i.i.i.i.i = getelementptr inbounds i8, ptr %1, i64 16 - %4 = load i64, ptr %initial_zone_size_.i.i.i.i.i, align 8 - %cmp.not.i.i.i.i.i = icmp ugt i64 %add2.i.i.i.i.i, %4 + %4 = atomicrmw add ptr %2, i64 48 monotonic, align 8 + %add2.i.i.i.i.i = add i64 %4, 48 + %initial_zone_size_.i.i.i.i.i = getelementptr inbounds i8, ptr %2, i64 16 + %5 = load i64, ptr %initial_zone_size_.i.i.i.i.i, align 8 + %cmp.not.i.i.i.i.i = icmp ugt i64 %add2.i.i.i.i.i, %5 br i1 %cmp.not.i.i.i.i.i, label %if.else.i.i.i.i.i, label %if.then.i.i.i.i.i if.then.i.i.i.i.i: ; preds = %_ZN9grpc_core10GetContextINS_5ArenaEEEPT_v.exit.i.i.i - %add.ptr.i.i.i.i.i = getelementptr inbounds i8, ptr %1, i64 48 - %add.ptr3.i.i.i.i.i = getelementptr inbounds i8, ptr %add.ptr.i.i.i.i.i, i64 %3 + %add.ptr.i.i.i.i.i = getelementptr inbounds i8, ptr %2, i64 48 + %add.ptr3.i.i.i.i.i = getelementptr inbounds i8, ptr %add.ptr.i.i.i.i.i, i64 %4 br label %invoke.cont4 if.else.i.i.i.i.i: ; preds = %_ZN9grpc_core10GetContextINS_5ArenaEEEPT_v.exit.i.i.i - %call4.i.i.i.i.i2 = invoke noundef ptr @_ZN9grpc_core5Arena9AllocZoneEm(ptr noundef nonnull align 8 dereferenceable(48) %1, i64 noundef 48) + %call4.i.i.i.i.i2 = invoke noundef ptr @_ZN9grpc_core5Arena9AllocZoneEm(ptr noundef nonnull align 8 dereferenceable(48) %2, i64 noundef 48) to label %invoke.cont4 unwind label %lpad3 invoke.cont4: ; preds = %if.else.i.i.i.i.i, %if.then.i.i.i.i.i %retval.0.i.i.i.i.i = phi ptr [ %add.ptr3.i.i.i.i.i, %if.then.i.i.i.i.i ], [ %call4.i.i.i.i.i2, %if.else.i.i.i.i.i ] - store i64 %2, ptr %retval.0.i.i.i.i.i, align 16 + store i64 %3, ptr %retval.0.i.i.i.i.i, align 16 %next_.i.i.i.i.i.i = getelementptr inbounds i8, ptr %retval.0.i.i.i.i.i, i64 16 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(32) %next_.i.i.i.i.i.i, ptr noundef nonnull align 16 dereferenceable(32) %next_.i.i, i64 32, i1 false) store ptr @_ZN9grpc_core20arena_promise_detail4NullISt10unique_ptrI19grpc_metadata_batchNS_5Arena13PooledDeleterEEE6vtableE, ptr %next_.i.i, align 16 store ptr %retval.0.i.i.i.i.i, ptr %arg.i, align 16 - %5 = load ptr, ptr %agg.tmp1, align 16 - %destroy.i = getelementptr inbounds i8, ptr %5, i64 8 - %6 = load ptr, ptr %destroy.i, align 8 + %6 = load ptr, ptr %agg.tmp1, align 16 + %destroy.i = getelementptr inbounds i8, ptr %6, i64 8 + %7 = load ptr, ptr %destroy.i, align 8 %arg.i3 = getelementptr inbounds i8, ptr %agg.tmp1, i64 16 - invoke void %6(ptr noundef nonnull %arg.i3) + invoke void %7(ptr noundef nonnull %arg.i3) to label %_ZN9grpc_core12ArenaPromiseISt10unique_ptrI19grpc_metadata_batchNS_5Arena13PooledDeleterEEED2Ev.exit unwind label %terminate.lpad.i terminate.lpad.i: ; preds = %invoke.cont4 - %7 = landingpad { ptr, i32 } + %8 = landingpad { ptr, i32 } catch ptr null - %8 = extractvalue { ptr, i32 } %7, 0 - call void @__clang_call_terminate(ptr %8) #25 + %9 = extractvalue { ptr, i32 } %8, 0 + call void @__clang_call_terminate(ptr %9) #25 unreachable _ZN9grpc_core12ArenaPromiseISt10unique_ptrI19grpc_metadata_batchNS_5Arena13PooledDeleterEEED2Ev.exit: ; preds = %invoke.cont4 ret void lpad3: ; preds = %if.else.i.i.i.i.i, %if.then.i.i.i.i - %9 = landingpad { ptr, i32 } + %10 = landingpad { ptr, i32 } cleanup %destroy.i.i.i5 = getelementptr inbounds i8, ptr %agg.tmp2.sroa.0.0.copyload.i, i64 8 - %10 = load ptr, ptr %destroy.i.i.i5, align 8 + %11 = load ptr, ptr %destroy.i.i.i5, align 8 %arg.i.i.i6 = getelementptr inbounds i8, ptr %ref.tmp, i64 32 - invoke void %10(ptr noundef nonnull %arg.i.i.i6) + invoke void %11(ptr noundef nonnull %arg.i.i.i6) to label %ehcleanup unwind label %terminate.lpad.i.i.i7 terminate.lpad.i.i.i7: ; preds = %lpad3 - %11 = landingpad { ptr, i32 } + %12 = landingpad { ptr, i32 } catch ptr null - %12 = extractvalue { ptr, i32 } %11, 0 - call void @__clang_call_terminate(ptr %12) #25 + %13 = extractvalue { ptr, i32 } %12, 0 + call void @__clang_call_terminate(ptr %13) #25 unreachable ehcleanup: ; preds = %lpad3 - %13 = load ptr, ptr %agg.tmp1, align 16 - %destroy.i9 = getelementptr inbounds i8, ptr %13, i64 8 - %14 = load ptr, ptr %destroy.i9, align 8 + %14 = load ptr, ptr %agg.tmp1, align 16 + %destroy.i9 = getelementptr inbounds i8, ptr %14, i64 8 + %15 = load ptr, ptr %destroy.i9, align 8 %arg.i10 = getelementptr inbounds i8, ptr %agg.tmp1, i64 16 - invoke void %14(ptr noundef nonnull %arg.i10) + invoke void %15(ptr noundef nonnull %arg.i10) to label %_ZN9grpc_core12ArenaPromiseISt10unique_ptrI19grpc_metadata_batchNS_5Arena13PooledDeleterEEED2Ev.exit12 unwind label %terminate.lpad.i11 terminate.lpad.i11: ; preds = %ehcleanup - %15 = landingpad { ptr, i32 } + %16 = landingpad { ptr, i32 } catch ptr null - %16 = extractvalue { ptr, i32 } %15, 0 - call void @__clang_call_terminate(ptr %16) #25 + %17 = extractvalue { ptr, i32 } %16, 0 + call void @__clang_call_terminate(ptr %17) #25 unreachable _ZN9grpc_core12ArenaPromiseISt10unique_ptrI19grpc_metadata_batchNS_5Arena13PooledDeleterEEED2Ev.exit12: ; preds = %ehcleanup - resume { ptr, i32 } %9 + resume { ptr, i32 } %10 } ; Function Attrs: uwtable diff --git a/bench/grpc/optimized/server_call_tracer_filter.cc.ll b/bench/grpc/optimized/server_call_tracer_filter.cc.ll index c324bb6630e..bba765816fe 100644 --- a/bench/grpc/optimized/server_call_tracer_filter.cc.ll +++ b/bench/grpc/optimized/server_call_tracer_filter.cc.ll @@ -2960,18 +2960,18 @@ invoke.cont12: ; preds = %invoke.cont.i16, %i store ptr @_ZN9grpc_core20arena_promise_detail4NullISt10unique_ptrI19grpc_metadata_batchNS_5Arena13PooledDeleterEEE6vtableE, ptr %agg.tmp4, align 16, !noalias !94 call void @llvm.experimental.noalias.scope.decl(metadata !97) %agg.tmp.sroa.0.0.copyload.i = load ptr, ptr %agg.tmp, align 16, !noalias !97 - %agg.tmp.sroa.3.0.x.sroa_idx.i = getelementptr inbounds i8, ptr %agg.tmp, i64 8 store ptr @_ZN9grpc_core20arena_promise_detail4NullISt10unique_ptrI19grpc_metadata_batchNS_5Arena13PooledDeleterEEE6vtableE, ptr %agg.tmp, align 16, !noalias !97 store ptr %agg.tmp.sroa.0.0.copyload.i, ptr %ref.tmp, align 16, !alias.scope !100 %agg.tmp.sroa.3.0.agg.result.sroa_idx.i.i = getelementptr inbounds i8, ptr %ref.tmp, i64 8 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %agg.tmp.sroa.3.0.agg.result.sroa_idx.i.i, ptr noundef nonnull align 8 dereferenceable(24) %agg.tmp.sroa.3.0.x.sroa_idx.i, i64 24, i1 false) + %48 = getelementptr inbounds i8, ptr %agg.tmp4, i64 8 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %agg.tmp.sroa.3.0.agg.result.sroa_idx.i.i, ptr noundef nonnull align 8 dereferenceable(24) %48, i64 24, i1 false) %fn_.i.i.i = getelementptr inbounds i8, ptr %ref.tmp, i64 32 store ptr @_ZZN9grpc_core21promise_filter_detail14MakeFilterCallINS_12_GLOBAL__N_122ServerCallTracerFilterEEENSt9enable_ifIXsr3std8is_emptyINS0_14FilterCallDataIT_EEEE5valueEPS7_E4typeEPS6_E4call, ptr %fn_.i.i.i, align 16, !alias.scope !100 %arg.i = getelementptr inbounds i8, ptr %agg.result, i64 16 store i64 0, ptr %arg.i, align 16 store ptr @_ZN9grpc_core20arena_promise_detail17AllocatedCallableISt10unique_ptrI19grpc_metadata_batchNS_5Arena13PooledDeleterEENS_14promise_detail3MapINS_12ArenaPromiseIS6_EEZNS_21promise_filter_detail9MapResultISA_NS_12_GLOBAL__N_122ServerCallTracerFilterEEEDaMNT0_4CallEFvRS3_ET_PNSB_14FilterCallDataISF_EEEUlS6_E_EEE6vtableE, ptr %agg.result, align 16 - %48 = load ptr, ptr %4, align 8 - %cmp.not.i.i.i.i20 = icmp eq ptr %48, null + %49 = load ptr, ptr %4, align 8 + %cmp.not.i.i.i.i20 = icmp eq ptr %49, null br i1 %cmp.not.i.i.i.i20, label %if.then.i.i.i.i23, label %_ZN9grpc_core10GetContextINS_5ArenaEEEPT_v.exit.i.i.i if.then.i.i.i.i23: ; preds = %invoke.cont12 @@ -2982,20 +2982,20 @@ if.then.i.i.i.i23: ; preds = %invoke.cont12 unreachable _ZN9grpc_core10GetContextINS_5ArenaEEEPT_v.exit.i.i.i: ; preds = %invoke.cont12 - %49 = atomicrmw add ptr %48, i64 48 monotonic, align 8 - %add2.i.i.i.i.i = add i64 %49, 48 - %initial_zone_size_.i.i.i.i.i = getelementptr inbounds i8, ptr %48, i64 16 - %50 = load i64, ptr %initial_zone_size_.i.i.i.i.i, align 8 - %cmp.not.i.i.i.i.i21 = icmp ugt i64 %add2.i.i.i.i.i, %50 + %50 = atomicrmw add ptr %49, i64 48 monotonic, align 8 + %add2.i.i.i.i.i = add i64 %50, 48 + %initial_zone_size_.i.i.i.i.i = getelementptr inbounds i8, ptr %49, i64 16 + %51 = load i64, ptr %initial_zone_size_.i.i.i.i.i, align 8 + %cmp.not.i.i.i.i.i21 = icmp ugt i64 %add2.i.i.i.i.i, %51 br i1 %cmp.not.i.i.i.i.i21, label %if.else.i.i.i.i.i, label %if.then.i.i.i.i.i22 if.then.i.i.i.i.i22: ; preds = %_ZN9grpc_core10GetContextINS_5ArenaEEEPT_v.exit.i.i.i - %add.ptr.i.i.i.i.i = getelementptr inbounds i8, ptr %48, i64 48 - %add.ptr3.i.i.i.i.i = getelementptr inbounds i8, ptr %add.ptr.i.i.i.i.i, i64 %49 + %add.ptr.i.i.i.i.i = getelementptr inbounds i8, ptr %49, i64 48 + %add.ptr3.i.i.i.i.i = getelementptr inbounds i8, ptr %add.ptr.i.i.i.i.i, i64 %50 br label %invoke.cont14 if.else.i.i.i.i.i: ; preds = %_ZN9grpc_core10GetContextINS_5ArenaEEEPT_v.exit.i.i.i - %call4.i.i.i.i.i24 = invoke noundef ptr @_ZN9grpc_core5Arena9AllocZoneEm(ptr noundef nonnull align 8 dereferenceable(48) %48, i64 noundef 48) + %call4.i.i.i.i.i24 = invoke noundef ptr @_ZN9grpc_core5Arena9AllocZoneEm(ptr noundef nonnull align 8 dereferenceable(48) %49, i64 noundef 48) to label %invoke.cont14 unwind label %lpad13 invoke.cont14: ; preds = %if.then.i.i.i.i.i22, %if.else.i.i.i.i.i @@ -3005,115 +3005,115 @@ invoke.cont14: ; preds = %if.then.i.i.i.i.i22 %fn_.i.i.i.i.i.i = getelementptr inbounds i8, ptr %retval.0.i.i.i.i.i, i64 32 store i64 ptrtoint (ptr @_ZZN9grpc_core21promise_filter_detail14MakeFilterCallINS_12_GLOBAL__N_122ServerCallTracerFilterEEENSt9enable_ifIXsr3std8is_emptyINS0_14FilterCallDataIT_EEEE5valueEPS7_E4typeEPS6_E4call to i64), ptr %fn_.i.i.i.i.i.i, align 16 store ptr %retval.0.i.i.i.i.i, ptr %arg.i, align 16 - %51 = load ptr, ptr %agg.tmp, align 16 - %destroy.i = getelementptr inbounds i8, ptr %51, i64 8 - %52 = load ptr, ptr %destroy.i, align 8 + %52 = load ptr, ptr %agg.tmp, align 16 + %destroy.i = getelementptr inbounds i8, ptr %52, i64 8 + %53 = load ptr, ptr %destroy.i, align 8 %arg.i26 = getelementptr inbounds i8, ptr %agg.tmp, i64 16 - invoke void %52(ptr noundef nonnull %arg.i26) + invoke void %53(ptr noundef nonnull %arg.i26) to label %_ZN9grpc_core12ArenaPromiseISt10unique_ptrI19grpc_metadata_batchNS_5Arena13PooledDeleterEEED2Ev.exit unwind label %terminate.lpad.i terminate.lpad.i: ; preds = %invoke.cont14 - %53 = landingpad { ptr, i32 } + %54 = landingpad { ptr, i32 } catch ptr null - %54 = extractvalue { ptr, i32 } %53, 0 - call void @__clang_call_terminate(ptr %54) #22 + %55 = extractvalue { ptr, i32 } %54, 0 + call void @__clang_call_terminate(ptr %55) #22 unreachable _ZN9grpc_core12ArenaPromiseISt10unique_ptrI19grpc_metadata_batchNS_5Arena13PooledDeleterEEED2Ev.exit: ; preds = %invoke.cont14 - %55 = load ptr, ptr %agg.tmp4, align 16 - %destroy.i28 = getelementptr inbounds i8, ptr %55, i64 8 - %56 = load ptr, ptr %destroy.i28, align 8 + %56 = load ptr, ptr %agg.tmp4, align 16 + %destroy.i28 = getelementptr inbounds i8, ptr %56, i64 8 + %57 = load ptr, ptr %destroy.i28, align 8 %arg.i29 = getelementptr inbounds i8, ptr %agg.tmp4, i64 16 - invoke void %56(ptr noundef nonnull %arg.i29) + invoke void %57(ptr noundef nonnull %arg.i29) to label %_ZN9grpc_core12ArenaPromiseISt10unique_ptrI19grpc_metadata_batchNS_5Arena13PooledDeleterEEED2Ev.exit32 unwind label %terminate.lpad.i30 terminate.lpad.i30: ; preds = %_ZN9grpc_core12ArenaPromiseISt10unique_ptrI19grpc_metadata_batchNS_5Arena13PooledDeleterEEED2Ev.exit - %57 = landingpad { ptr, i32 } + %58 = landingpad { ptr, i32 } catch ptr null - %58 = extractvalue { ptr, i32 } %57, 0 - call void @__clang_call_terminate(ptr %58) #22 + %59 = extractvalue { ptr, i32 } %58, 0 + call void @__clang_call_terminate(ptr %59) #22 unreachable _ZN9grpc_core12ArenaPromiseISt10unique_ptrI19grpc_metadata_batchNS_5Arena13PooledDeleterEEED2Ev.exit32: ; preds = %_ZN9grpc_core12ArenaPromiseISt10unique_ptrI19grpc_metadata_batchNS_5Arena13PooledDeleterEEED2Ev.exit - %59 = load ptr, ptr %_M_manager.i.i.i.i, align 8 - %tobool.not.i.i = icmp eq ptr %59, null + %60 = load ptr, ptr %_M_manager.i.i.i.i, align 8 + %tobool.not.i.i = icmp eq ptr %60, null br i1 %tobool.not.i.i, label %_ZN9grpc_core8CallArgsD2Ev.exit, label %if.then.i.i34 if.then.i.i34: ; preds = %_ZN9grpc_core12ArenaPromiseISt10unique_ptrI19grpc_metadata_batchNS_5Arena13PooledDeleterEEED2Ev.exit32 - %call.i.i = invoke noundef zeroext i1 %59(ptr noundef nonnull align 8 dereferenceable(16) %agg.tmp6, ptr noundef nonnull align 8 dereferenceable(16) %agg.tmp6, i32 noundef 3) + %call.i.i = invoke noundef zeroext i1 %60(ptr noundef nonnull align 8 dereferenceable(16) %agg.tmp6, ptr noundef nonnull align 8 dereferenceable(16) %agg.tmp6, i32 noundef 3) to label %_ZN9grpc_core8CallArgsD2Ev.exit unwind label %terminate.lpad.i.i terminate.lpad.i.i: ; preds = %if.then.i.i34 - %60 = landingpad { ptr, i32 } + %61 = landingpad { ptr, i32 } catch ptr null - %61 = extractvalue { ptr, i32 } %60, 0 - call void @__clang_call_terminate(ptr %61) #22 + %62 = extractvalue { ptr, i32 } %61, 0 + call void @__clang_call_terminate(ptr %62) #22 unreachable _ZN9grpc_core8CallArgsD2Ev.exit: ; preds = %_ZN9grpc_core12ArenaPromiseISt10unique_ptrI19grpc_metadata_batchNS_5Arena13PooledDeleterEEED2Ev.exit32, %if.then.i.i34 ret void lpad13: ; preds = %if.else.i.i.i.i.i, %if.then.i.i.i.i23 - %62 = landingpad { ptr, i32 } + %63 = landingpad { ptr, i32 } cleanup %destroy.i.i.i42 = getelementptr inbounds i8, ptr %agg.tmp.sroa.0.0.copyload.i, i64 8 - %63 = load ptr, ptr %destroy.i.i.i42, align 8 + %64 = load ptr, ptr %destroy.i.i.i42, align 8 %arg.i.i.i43 = getelementptr inbounds i8, ptr %ref.tmp, i64 16 - invoke void %63(ptr noundef nonnull %arg.i.i.i43) + invoke void %64(ptr noundef nonnull %arg.i.i.i43) to label %ehcleanup unwind label %terminate.lpad.i.i.i44 terminate.lpad.i.i.i44: ; preds = %lpad13 - %64 = landingpad { ptr, i32 } + %65 = landingpad { ptr, i32 } catch ptr null - %65 = extractvalue { ptr, i32 } %64, 0 - call void @__clang_call_terminate(ptr %65) #22 + %66 = extractvalue { ptr, i32 } %65, 0 + call void @__clang_call_terminate(ptr %66) #22 unreachable ehcleanup: ; preds = %lpad13 - %66 = load ptr, ptr %agg.tmp, align 16 - %destroy.i46 = getelementptr inbounds i8, ptr %66, i64 8 - %67 = load ptr, ptr %destroy.i46, align 8 + %67 = load ptr, ptr %agg.tmp, align 16 + %destroy.i46 = getelementptr inbounds i8, ptr %67, i64 8 + %68 = load ptr, ptr %destroy.i46, align 8 %arg.i47 = getelementptr inbounds i8, ptr %agg.tmp, i64 16 - invoke void %67(ptr noundef nonnull %arg.i47) + invoke void %68(ptr noundef nonnull %arg.i47) to label %_ZN9grpc_core12ArenaPromiseISt10unique_ptrI19grpc_metadata_batchNS_5Arena13PooledDeleterEEED2Ev.exit50 unwind label %terminate.lpad.i48 terminate.lpad.i48: ; preds = %ehcleanup - %68 = landingpad { ptr, i32 } + %69 = landingpad { ptr, i32 } catch ptr null - %69 = extractvalue { ptr, i32 } %68, 0 - call void @__clang_call_terminate(ptr %69) #22 + %70 = extractvalue { ptr, i32 } %69, 0 + call void @__clang_call_terminate(ptr %70) #22 unreachable _ZN9grpc_core12ArenaPromiseISt10unique_ptrI19grpc_metadata_batchNS_5Arena13PooledDeleterEEED2Ev.exit50: ; preds = %ehcleanup - %70 = load ptr, ptr %agg.tmp4, align 16 - %destroy.i51 = getelementptr inbounds i8, ptr %70, i64 8 - %71 = load ptr, ptr %destroy.i51, align 8 + %71 = load ptr, ptr %agg.tmp4, align 16 + %destroy.i51 = getelementptr inbounds i8, ptr %71, i64 8 + %72 = load ptr, ptr %destroy.i51, align 8 %arg.i52 = getelementptr inbounds i8, ptr %agg.tmp4, i64 16 - invoke void %71(ptr noundef nonnull %arg.i52) + invoke void %72(ptr noundef nonnull %arg.i52) to label %ehcleanup16 unwind label %terminate.lpad.i53 terminate.lpad.i53: ; preds = %_ZN9grpc_core12ArenaPromiseISt10unique_ptrI19grpc_metadata_batchNS_5Arena13PooledDeleterEEED2Ev.exit50 - %72 = landingpad { ptr, i32 } + %73 = landingpad { ptr, i32 } catch ptr null - %73 = extractvalue { ptr, i32 } %72, 0 - call void @__clang_call_terminate(ptr %73) #22 + %74 = extractvalue { ptr, i32 } %73, 0 + call void @__clang_call_terminate(ptr %74) #22 unreachable ehcleanup16: ; preds = %_ZN9grpc_core12ArenaPromiseISt10unique_ptrI19grpc_metadata_batchNS_5Arena13PooledDeleterEEED2Ev.exit50, %_ZNSt8functionIFN9grpc_core12ArenaPromiseISt10unique_ptrI19grpc_metadata_batchNS0_5Arena13PooledDeleterEEEENS0_8CallArgsEEED2Ev.exit14.i - %.pn.pn = phi { ptr, i32 } [ %eh.lpad-body.i, %_ZNSt8functionIFN9grpc_core12ArenaPromiseISt10unique_ptrI19grpc_metadata_batchNS0_5Arena13PooledDeleterEEEENS0_8CallArgsEEED2Ev.exit14.i ], [ %62, %_ZN9grpc_core12ArenaPromiseISt10unique_ptrI19grpc_metadata_batchNS_5Arena13PooledDeleterEEED2Ev.exit50 ] - %74 = load ptr, ptr %_M_manager.i.i.i.i, align 8 - %tobool.not.i.i57 = icmp eq ptr %74, null + %.pn.pn = phi { ptr, i32 } [ %eh.lpad-body.i, %_ZNSt8functionIFN9grpc_core12ArenaPromiseISt10unique_ptrI19grpc_metadata_batchNS0_5Arena13PooledDeleterEEEENS0_8CallArgsEEED2Ev.exit14.i ], [ %63, %_ZN9grpc_core12ArenaPromiseISt10unique_ptrI19grpc_metadata_batchNS_5Arena13PooledDeleterEEED2Ev.exit50 ] + %75 = load ptr, ptr %_M_manager.i.i.i.i, align 8 + %tobool.not.i.i57 = icmp eq ptr %75, null br i1 %tobool.not.i.i57, label %_ZNSt8functionIFN9grpc_core12ArenaPromiseISt10unique_ptrI19grpc_metadata_batchNS0_5Arena13PooledDeleterEEEENS0_8CallArgsEEED2Ev.exit61, label %if.then.i.i58 if.then.i.i58: ; preds = %ehcleanup16 - %call.i.i59 = invoke noundef zeroext i1 %74(ptr noundef nonnull align 8 dereferenceable(16) %agg.tmp6, ptr noundef nonnull align 8 dereferenceable(16) %agg.tmp6, i32 noundef 3) + %call.i.i59 = invoke noundef zeroext i1 %75(ptr noundef nonnull align 8 dereferenceable(16) %agg.tmp6, ptr noundef nonnull align 8 dereferenceable(16) %agg.tmp6, i32 noundef 3) to label %_ZNSt8functionIFN9grpc_core12ArenaPromiseISt10unique_ptrI19grpc_metadata_batchNS0_5Arena13PooledDeleterEEEENS0_8CallArgsEEED2Ev.exit61 unwind label %terminate.lpad.i.i60 terminate.lpad.i.i60: ; preds = %if.then.i.i58 - %75 = landingpad { ptr, i32 } + %76 = landingpad { ptr, i32 } catch ptr null - %76 = extractvalue { ptr, i32 } %75, 0 - call void @__clang_call_terminate(ptr %76) #22 + %77 = extractvalue { ptr, i32 } %76, 0 + call void @__clang_call_terminate(ptr %77) #22 unreachable _ZNSt8functionIFN9grpc_core12ArenaPromiseISt10unique_ptrI19grpc_metadata_batchNS0_5Arena13PooledDeleterEEEENS0_8CallArgsEEED2Ev.exit61: ; preds = %ehcleanup16, %if.then.i.i58 diff --git a/bench/harfbuzz/optimized/harfbuzz.cc.ll b/bench/harfbuzz/optimized/harfbuzz.cc.ll index 634551088ba..8d3ab13bfa5 100644 --- a/bench/harfbuzz/optimized/harfbuzz.cc.ll +++ b/bench/harfbuzz/optimized/harfbuzz.cc.ll @@ -114900,7 +114900,7 @@ _ZN3CFF12interp_env_tINS_8number_tEE8eval_argEj.exit76: ; preds = %if.then.i.i69 for.end: ; preds = %_ZN3CFF12interp_env_tINS_8number_tEE8eval_argEj.exit76 %.pre110 = load i32, ptr %count.i, align 4 %pt.i80 = getelementptr inbounds i8, ptr %env, i64 4448 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(16) %pt115, ptr noundef nonnull align 8 dereferenceable(16) %pt.i80, i64 16, i1 false) + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(16) %pt115, ptr noundef nonnull align 16 dereferenceable(16) %pt3, i64 16, i1 false) %cmp.not.i.i82 = icmp ugt i32 %.pre110, %add107 br i1 %cmp.not.i.i82, label %if.end.i.i86, label %if.then.i.i83 @@ -115020,7 +115020,7 @@ _ZN3CFF12interp_env_tINS_8number_tEE8eval_argEj.exit33: ; preds = %if.then.i.i26 for.end: ; preds = %_ZN3CFF12interp_env_tINS_8number_tEE8eval_argEj.exit33 %.pre110 = load i32, ptr %count.i, align 4 %pt.i34 = getelementptr inbounds i8, ptr %env, i64 4448 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(16) %pt17, ptr noundef nonnull align 8 dereferenceable(16) %pt.i34, i64 16, i1 false) + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(16) %pt17, ptr noundef nonnull align 16 dereferenceable(16) %pt1, i64 16, i1 false) %cmp.not.i.i36 = icmp ugt i32 %.pre110, %add107 br i1 %cmp.not.i.i36, label %if.end.i.i40, label %if.then.i.i37 @@ -277850,7 +277850,7 @@ _ZN3CFF20cff2_cs_interp_env_tINS_8number_tEE8eval_argEj.exit76: ; preds = %if.th for.end: ; preds = %_ZN3CFF20cff2_cs_interp_env_tINS_8number_tEE8eval_argEj.exit76 %.pre110 = load i32, ptr %count.i, align 4 %pt.i80 = getelementptr inbounds i8, ptr %env, i64 4448 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(16) %pt115, ptr noundef nonnull align 8 dereferenceable(16) %pt.i80, i64 16, i1 false) + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(16) %pt115, ptr noundef nonnull align 16 dereferenceable(16) %pt3, i64 16, i1 false) %cmp.not.i.i82 = icmp ugt i32 %.pre110, %add107 br i1 %cmp.not.i.i82, label %if.end.i.i86, label %if.then.i.i83 @@ -277970,7 +277970,7 @@ _ZN3CFF20cff2_cs_interp_env_tINS_8number_tEE8eval_argEj.exit33: ; preds = %if.th for.end: ; preds = %_ZN3CFF20cff2_cs_interp_env_tINS_8number_tEE8eval_argEj.exit33 %.pre110 = load i32, ptr %count.i, align 4 %pt.i34 = getelementptr inbounds i8, ptr %env, i64 4448 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(16) %pt17, ptr noundef nonnull align 8 dereferenceable(16) %pt.i34, i64 16, i1 false) + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(16) %pt17, ptr noundef nonnull align 16 dereferenceable(16) %pt1, i64 16, i1 false) %cmp.not.i.i36 = icmp ugt i32 %.pre110, %add107 br i1 %cmp.not.i.i36, label %if.end.i.i40, label %if.then.i.i37 diff --git a/bench/harfbuzz/optimized/hb-ot-cff1-table.cc.ll b/bench/harfbuzz/optimized/hb-ot-cff1-table.cc.ll index a978dc3b8cf..ff7db5e47d9 100644 --- a/bench/harfbuzz/optimized/hb-ot-cff1-table.cc.ll +++ b/bench/harfbuzz/optimized/hb-ot-cff1-table.cc.ll @@ -9118,7 +9118,7 @@ _ZN3CFF12interp_env_tINS_8number_tEE8eval_argEj.exit76: ; preds = %if.then.i.i69 for.end: ; preds = %_ZN3CFF12interp_env_tINS_8number_tEE8eval_argEj.exit76 %.pre110 = load i32, ptr %count.i, align 4 %pt.i80 = getelementptr inbounds i8, ptr %env, i64 4448 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(16) %pt115, ptr noundef nonnull align 8 dereferenceable(16) %pt.i80, i64 16, i1 false) + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(16) %pt115, ptr noundef nonnull align 16 dereferenceable(16) %pt3, i64 16, i1 false) %cmp.not.i.i82 = icmp ugt i32 %.pre110, %add107 br i1 %cmp.not.i.i82, label %if.end.i.i86, label %if.then.i.i83 @@ -9243,7 +9243,7 @@ _ZN3CFF12interp_env_tINS_8number_tEE8eval_argEj.exit33: ; preds = %if.then.i.i26 for.end: ; preds = %_ZN3CFF12interp_env_tINS_8number_tEE8eval_argEj.exit33 %.pre110 = load i32, ptr %count.i, align 4 %pt.i34 = getelementptr inbounds i8, ptr %env, i64 4448 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(16) %pt17, ptr noundef nonnull align 8 dereferenceable(16) %pt.i34, i64 16, i1 false) + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(16) %pt17, ptr noundef nonnull align 16 dereferenceable(16) %pt1, i64 16, i1 false) %cmp.not.i.i36 = icmp ugt i32 %.pre110, %add107 br i1 %cmp.not.i.i36, label %if.end.i.i40, label %if.then.i.i37 diff --git a/bench/harfbuzz/optimized/hb-ot-cff2-table.cc.ll b/bench/harfbuzz/optimized/hb-ot-cff2-table.cc.ll index 81a8bd8f388..8fbf612aa04 100644 --- a/bench/harfbuzz/optimized/hb-ot-cff2-table.cc.ll +++ b/bench/harfbuzz/optimized/hb-ot-cff2-table.cc.ll @@ -7888,7 +7888,7 @@ _ZN3CFF20cff2_cs_interp_env_tINS_8number_tEE8eval_argEj.exit76: ; preds = %if.th for.end: ; preds = %_ZN3CFF20cff2_cs_interp_env_tINS_8number_tEE8eval_argEj.exit76 %.pre110 = load i32, ptr %count.i, align 4 %pt.i80 = getelementptr inbounds i8, ptr %env, i64 4448 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(16) %pt115, ptr noundef nonnull align 8 dereferenceable(16) %pt.i80, i64 16, i1 false) + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(16) %pt115, ptr noundef nonnull align 16 dereferenceable(16) %pt3, i64 16, i1 false) %cmp.not.i.i82 = icmp ugt i32 %.pre110, %add107 br i1 %cmp.not.i.i82, label %if.end.i.i86, label %if.then.i.i83 @@ -8013,7 +8013,7 @@ _ZN3CFF20cff2_cs_interp_env_tINS_8number_tEE8eval_argEj.exit33: ; preds = %if.th for.end: ; preds = %_ZN3CFF20cff2_cs_interp_env_tINS_8number_tEE8eval_argEj.exit33 %.pre110 = load i32, ptr %count.i, align 4 %pt.i34 = getelementptr inbounds i8, ptr %env, i64 4448 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(16) %pt17, ptr noundef nonnull align 8 dereferenceable(16) %pt.i34, i64 16, i1 false) + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(16) %pt17, ptr noundef nonnull align 16 dereferenceable(16) %pt1, i64 16, i1 false) %cmp.not.i.i36 = icmp ugt i32 %.pre110, %add107 br i1 %cmp.not.i.i36, label %if.end.i.i40, label %if.then.i.i37 diff --git a/bench/image-rs/optimized/2s4mh02dvph60euq.ll b/bench/image-rs/optimized/2s4mh02dvph60euq.ll index a677e055fb7..702145f58e7 100644 --- a/bench/image-rs/optimized/2s4mh02dvph60euq.ll +++ b/bench/image-rs/optimized/2s4mh02dvph60euq.ll @@ -18626,8 +18626,8 @@ define hidden void @"_ZN5image6codecs3hdr7decoder19HdrAdapter$LT$R$GT$3new17h315 br i1 %trunc5.i, label %20, label %22 20: ; preds = %9 - %21 = getelementptr inbounds i8, ptr %5, i64 36 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(12) %.sroa.52.i, ptr noundef nonnull align 4 dereferenceable(12) %21, i64 12, i1 false), !noalias !2845 + %21 = getelementptr inbounds i8, ptr %.sroa.7, i64 28 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(12) %.sroa.52.i, ptr noundef nonnull align 4 dereferenceable(12) %21, i64 12, i1 false) br label %22 22: ; preds = %20, %9 @@ -18747,8 +18747,8 @@ define hidden void @"_ZN5image6codecs3hdr7decoder19HdrAdapter$LT$R$GT$3new17he8f br i1 %trunc5.i, label %20, label %22 20: ; preds = %9 - %21 = getelementptr inbounds i8, ptr %5, i64 36 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(12) %.sroa.52.i, ptr noundef nonnull align 4 dereferenceable(12) %21, i64 12, i1 false), !noalias !2856 + %21 = getelementptr inbounds i8, ptr %.sroa.7, i64 28 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(12) %.sroa.52.i, ptr noundef nonnull align 4 dereferenceable(12) %21, i64 12, i1 false) br label %22 22: ; preds = %20, %9 diff --git a/bench/image-rs/optimized/4srzh4wujeew249y.ll b/bench/image-rs/optimized/4srzh4wujeew249y.ll index dd891a6aeb3..ecf459595d3 100644 --- a/bench/image-rs/optimized/4srzh4wujeew249y.ll +++ b/bench/image-rs/optimized/4srzh4wujeew249y.ll @@ -10362,7 +10362,6 @@ define hidden void @"_ZN12jpeg_decoder7decoder16Decoder$LT$R$GT$15decode_interna %71 = alloca { { { i64, ptr }, i64 }, i8, i8, [6 x i8] }, align 8 %72 = alloca { i64, [3 x i64] }, align 8 %.sroa.7211.sroa.3 = alloca [23 x i8], align 1 - %.sroa.5 = alloca [23 x i8], align 1 %73 = alloca { i64, [3 x i64] }, align 8 %.sroa.6207 = alloca [3 x i64], align 8 %74 = alloca { { i64, ptr }, i64 }, align 8 @@ -10431,7 +10430,7 @@ define hidden void @"_ZN12jpeg_decoder7decoder16Decoder$LT$R$GT$15decode_interna store i64 0, ptr %0, align 8 br label %119 -119: ; preds = %139, %.critedge, %152, %1220, %481, %117 +119: ; preds = %139, %.critedge, %152, %1218, %481, %117 ret void 120: ; preds = %116 @@ -10466,7 +10465,7 @@ define hidden void @"_ZN12jpeg_decoder7decoder16Decoder$LT$R$GT$15decode_interna %134 = invoke { i64, ptr } @"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$11allocate_in17hf053198fa2235dffE"(i64 noundef %.0.i, i1 noundef zeroext false) to label %161 unwind label %170, !noalias !906 -135: ; preds = %1180 +135: ; preds = %1178 unreachable 136: ; preds = %120 @@ -10696,9 +10695,9 @@ define hidden void @"_ZN12jpeg_decoder7decoder16Decoder$LT$R$GT$15decode_interna %.sroa.0151.sroa.2.0..sroa_idx = getelementptr inbounds i8, ptr %89, i64 32 %.sroa.4.0..sroa_idx.i.i.i.i = getelementptr inbounds i8, ptr %13, i64 8 %225 = getelementptr inbounds i8, ptr %13, i64 24 - %.sroa.5.0..sroa_idx5.i.i.i.i = getelementptr inbounds i8, ptr %13, i64 16 %226 = getelementptr inbounds i8, ptr %12, i64 8 %227 = getelementptr inbounds i8, ptr %12, i64 16 + %.sroa.09.sroa.5.0..sroa.4.0..sroa_idx.i.sroa_idx.i.i.i = getelementptr inbounds i8, ptr %13, i64 16 %.sroa.8835.8..sroa_idx = getelementptr inbounds i8, ptr %88, i64 8 %228 = getelementptr inbounds i8, ptr %10, i64 8 %229 = getelementptr inbounds i8, ptr %10, i64 16 @@ -10739,9 +10738,9 @@ define hidden void @"_ZN12jpeg_decoder7decoder16Decoder$LT$R$GT$15decode_interna %.sroa.0119.sroa.2.0..sroa_idx = getelementptr inbounds i8, ptr %95, i64 32 %.sroa.4.0..sroa_idx.i.i.i.i643 = getelementptr inbounds i8, ptr %9, i64 8 %260 = getelementptr inbounds i8, ptr %9, i64 24 - %.sroa.5.0..sroa_idx5.i.i.i.i644 = getelementptr inbounds i8, ptr %9, i64 16 %261 = getelementptr inbounds i8, ptr %8, i64 8 %262 = getelementptr inbounds i8, ptr %8, i64 16 + %.sroa.09.sroa.5.0..sroa.4.0..sroa_idx.i.sroa_idx.i.i.i644 = getelementptr inbounds i8, ptr %9, i64 16 %.sroa.4814.0..sroa_idx = getelementptr inbounds i8, ptr %94, i64 8 %263 = getelementptr inbounds i8, ptr %111, i64 16 %264 = getelementptr inbounds i8, ptr %111, i64 8 @@ -10914,12 +10913,12 @@ _ZN12jpeg_decoder7read_u817hd469f45e710aaef4E.exit44.i: ; preds = %.noexc550 cleanup br label %.thread -.thread937.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit: ; preds = %343, %1187, %342, %339, %335, %323, %346, %312, %497, %1087, %1089, %1202, %1204 +.thread937.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit: ; preds = %343, %1185, %342, %339, %335, %323, %346, %312, %497, %1087, %1089, %1200, %1202 %lpad.loopexit1130 = landingpad { ptr, i32 } cleanup br label %.thread -.thread937.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp: ; preds = %.invoke, %1210, %1157, %1107, %.critedge500, %445, %"_ZN69_$LT$jpeg_decoder..marker..Marker$u20$as$u20$core..cmp..PartialEq$GT$2eq17hd6f55482fac48aecE.exit", %479, %495, %1136, %1160 +.thread937.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp: ; preds = %.invoke, %1208, %1157, %1107, %.critedge500, %445, %"_ZN69_$LT$jpeg_decoder..marker..Marker$u20$as$u20$core..cmp..PartialEq$GT$2eq17hd6f55482fac48aecE.exit", %479, %495, %1136, %1160 %lpad.loopexit.split-lp1131 = landingpad { ptr, i32 } cleanup br label %.thread @@ -10952,7 +10951,7 @@ _ZN12jpeg_decoder7read_u817hd469f45e710aaef4E.exit44.i: ; preds = %.noexc550 %storemerge = phi i8 [ %.fca.1.extract.i, %315 ], [ %.sroa.8.0, %290 ] store i8 %storemerge2231, ptr %109, align 1 store i8 %storemerge, ptr %189, align 1 - switch i8 %storemerge2231, label %1210 [ + switch i8 %storemerge2231, label %1208 [ i8 0, label %321 i8 2, label %323 i8 3, label %327 @@ -10968,7 +10967,7 @@ _ZN12jpeg_decoder7read_u817hd469f45e710aaef4E.exit44.i: ; preds = %.noexc550 i8 15, label %343 ] -320: ; preds = %1216, %1207, %1178, %1172, %1162, %1158, %1118, %1109, %1108, %474, %452, %442, %344, %340, %327, %316 +320: ; preds = %1214, %1205, %1176, %1172, %1162, %1158, %1118, %1109, %1108, %474, %452, %442, %344, %340, %327, %316 call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %109) br label %494 @@ -11036,7 +11035,6 @@ _ZN12jpeg_decoder7read_u817hd469f45e710aaef4E.exit44.i: ; preds = %.noexc550 br label %320 342: ; preds = %319 - call void @llvm.lifetime.start.p0(i64 23, ptr nonnull %.sroa.5) call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %72) invoke void @_ZN12jpeg_decoder6parser9parse_app17h41e1587b331c0387E(ptr noalias nocapture noundef nonnull sret({ i64, [3 x i64] }) align 8 dereferenceable(32) %72, ptr noalias noundef nonnull align 8 dereferenceable(16) %190, i8 noundef 13, i8 %storemerge) to label %1174 unwind label %.thread937.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit @@ -11045,7 +11043,7 @@ _ZN12jpeg_decoder7read_u817hd469f45e710aaef4E.exit44.i: ; preds = %.noexc550 call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %74) call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %73) invoke void @_ZN12jpeg_decoder6parser9parse_com17hb592c360cb0ad724E(ptr noalias nocapture noundef nonnull sret({ i64, [3 x i64] }) align 8 dereferenceable(32) %73, ptr noalias noundef nonnull align 8 dereferenceable(16) %190) - to label %1200 unwind label %.thread937.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit + to label %1198 unwind label %.thread937.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit 344: ; preds = %321 %345 = getelementptr inbounds i8, ptr %0, i64 8 @@ -11387,10 +11385,10 @@ _ZN4core3ops5range11RangeBounds8contains17h6aa3edaf5343fa2fE.exit.thread: ; pred call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %108) br label %"_ZN69_$LT$jpeg_decoder..marker..Marker$u20$as$u20$core..cmp..PartialEq$GT$2eq17hd6f55482fac48aecE.exit.thread" -"_ZN69_$LT$jpeg_decoder..marker..Marker$u20$as$u20$core..cmp..PartialEq$GT$2eq17hd6f55482fac48aecE.exit.thread": ; preds = %329, %1209, %.thread1079, %1171, %1121, %1092, %471, %437 - %.1427 = phi i32 [ %.0426, %1209 ], [ %.0426, %.thread1079 ], [ %.0426, %1171 ], [ %.0426, %1121 ], [ %1056, %1092 ], [ %.0426, %471 ], [ %.0426, %437 ], [ %.0426, %329 ] - %.sroa.8.1 = phi i8 [ undef, %1209 ], [ undef, %.thread1079 ], [ undef, %1171 ], [ undef, %1121 ], [ %.sroa.8.2, %1092 ], [ undef, %471 ], [ undef, %437 ], [ undef, %329 ] - %.sroa.014.1 = phi i8 [ 18, %1209 ], [ 18, %.thread1079 ], [ 18, %1171 ], [ 18, %1121 ], [ %.sroa.014.2, %1092 ], [ 18, %471 ], [ 18, %437 ], [ 18, %329 ] +"_ZN69_$LT$jpeg_decoder..marker..Marker$u20$as$u20$core..cmp..PartialEq$GT$2eq17hd6f55482fac48aecE.exit.thread": ; preds = %1182, %1183, %1184, %1191, %1194, %1197, %1185, %1174, %329, %1207, %1171, %1121, %1092, %471, %437 + %.1427 = phi i32 [ %.0426, %1207 ], [ %.0426, %1171 ], [ %.0426, %1121 ], [ %1056, %1092 ], [ %.0426, %471 ], [ %.0426, %437 ], [ %.0426, %329 ], [ %.0426, %1174 ], [ %.0426, %1185 ], [ %.0426, %1197 ], [ %.0426, %1194 ], [ %.0426, %1191 ], [ %.0426, %1184 ], [ %.0426, %1183 ], [ %.0426, %1182 ] + %.sroa.8.1 = phi i8 [ undef, %1207 ], [ undef, %1171 ], [ undef, %1121 ], [ %.sroa.8.2, %1092 ], [ undef, %471 ], [ undef, %437 ], [ undef, %329 ], [ undef, %1174 ], [ undef, %1185 ], [ undef, %1197 ], [ undef, %1194 ], [ undef, %1191 ], [ undef, %1184 ], [ undef, %1183 ], [ undef, %1182 ] + %.sroa.014.1 = phi i8 [ 18, %1207 ], [ 18, %1171 ], [ 18, %1121 ], [ %.sroa.014.2, %1092 ], [ 18, %471 ], [ 18, %437 ], [ 18, %329 ], [ 18, %1174 ], [ 18, %1185 ], [ 18, %1197 ], [ 18, %1194 ], [ 18, %1191 ], [ 18, %1184 ], [ 18, %1183 ], [ 18, %1182 ] %438 = load i8, ptr %109, align 1, !range !562, !noundef !9 %439 = load i8, ptr %189, align 1 call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %109) @@ -11607,7 +11605,7 @@ _ZN4core3ops5range11RangeBounds8contains17h6aa3edaf5343fa2fE.exit.thread: ; pred 494: ; preds = %489, %320 invoke void @"_ZN4core3ptr70drop_in_place$LT$alloc..vec..Vec$LT$alloc..vec..Vec$LT$u16$GT$$GT$$GT$17h694d9b2528e63298E"(ptr noalias noundef nonnull align 8 dereferenceable(24) %111) - to label %1220 unwind label %1218 + to label %1218 unwind label %1216 495: ; preds = %333 %496 = invoke { i64, ptr } @"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$11allocate_in17h0685f8b8d660cb99E"(i64 noundef 29, i1 noundef zeroext false) @@ -12512,7 +12510,7 @@ default.unreachable: ; preds = %763 %811 = zext nneg i8 %810 to i16 %812 = icmp ugt i16 %534, 1 %813 = icmp ult i16 %536, 2 - %brmerge2715 = or i1 %.not.i603, %813 + %brmerge2719 = or i1 %.not.i603, %813 br label %817 .thread421.i: ; preds = %..loopexit523_crit_edge.us.i, %.loopexit521.i, %._crit_edge.thread.i, %798, %._crit_edge.thread1199.i @@ -12739,7 +12737,7 @@ _ZN12jpeg_decoder7read_u817hd469f45e710aaef4E.exit44.i.i: ; preds = %.noexc339.i br i1 %812, label %.lr.ph.i, label %.preheader520.i .preheader520.i: ; preds = %914, %"_ZN84_$LT$alloc..vec..Vec$LT$T$C$A$GT$$u20$as$u20$core..ops..index..IndexMut$LT$I$GT$$GT$9index_mut17he174df0a79271239E.exit348.i" - br i1 %brmerge2715, label %.loopexit521.i, label %.preheader.us.i + br i1 %brmerge2719, label %.loopexit521.i, label %.preheader.us.i .preheader.us.i: ; preds = %.preheader520.i, %..loopexit519_crit_edge.us.i %spec.select508885.us.i = phi i64 [ %spec.select884.us.i, %..loopexit519_crit_edge.us.i ], [ 0, %.preheader520.i ] @@ -13230,7 +13228,7 @@ _ZN12jpeg_decoder7read_u817hd469f45e710aaef4E.exit44.i.i: ; preds = %.noexc339.i call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %13), !noalias !1171 store i64 %1013, ptr %13, align 8, !noalias !1171 store i64 %.sroa.0.0.copyload19.i.i.i, ptr %.sroa.4.0..sroa_idx.i.i.i.i, align 8, !noalias !1172 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %.sroa.5.0..sroa_idx5.i.i.i.i, ptr noundef nonnull align 8 dereferenceable(16) %.sroa.09.sroa.5.i.i.i, i64 16, i1 false), !noalias !1172 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %.sroa.09.sroa.5.0..sroa.4.0..sroa_idx.i.sroa_idx.i.i.i, ptr noundef nonnull align 8 dereferenceable(16) %.sroa.09.sroa.5.i.i.i, i64 16, i1 false), !noalias !1172 call void @llvm.experimental.noalias.scope.decl(metadata !1173) %.val.i.i.i.i.i = load i64, ptr %225, align 8, !alias.scope !1173, !noalias !1176, !noundef !9 %.not.i.i.i.i.i619 = icmp eq i64 %.val.i.i.i.i.i, 0 @@ -13477,7 +13475,7 @@ _ZN12jpeg_decoder7read_u817hd469f45e710aaef4E.exit44.i.i: ; preds = %.noexc339.i call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %9), !noalias !1234 store i64 %1070, ptr %9, align 8, !noalias !1234 store i64 %.sroa.0.0.copyload19.i.i.i645, ptr %.sroa.4.0..sroa_idx.i.i.i.i643, align 8, !noalias !1235 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %.sroa.5.0..sroa_idx5.i.i.i.i644, ptr noundef nonnull align 8 dereferenceable(16) %.sroa.09.sroa.5.i.i.i639, i64 16, i1 false), !noalias !1235 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %.sroa.09.sroa.5.0..sroa.4.0..sroa_idx.i.sroa_idx.i.i.i644, ptr noundef nonnull align 8 dereferenceable(16) %.sroa.09.sroa.5.i.i.i639, i64 16, i1 false), !noalias !1235 call void @llvm.experimental.noalias.scope.decl(metadata !1236) %.val.i.i.i.i.i648 = load i64, ptr %260, align 8, !alias.scope !1236, !noalias !1239, !noundef !9 %.not.i.i.i.i.i649 = icmp eq i64 %.val.i.i.i.i.i648, 0 @@ -13814,186 +13812,178 @@ _ZN12jpeg_decoder7read_u817hd469f45e710aaef4E.exit44.i.i: ; preds = %.noexc339.i 1174: ; preds = %342 %1175 = load i64, ptr %72, align 8, !range !1288, !noundef !9 - %1176 = icmp eq i64 %1175, -9223372036854775800 %.sroa.7211.sroa.0.0.copyload = load i8, ptr %.sroa.4391.0..sroa_idx, align 8 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(23) %.sroa.7211.sroa.3, ptr noundef nonnull align 1 dereferenceable(23) %.sroa.7211.sroa.3.0..sroa.4391.0..sroa_idx.sroa_idx, i64 23, i1 false) call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %72) - br i1 %1176, label %1178, label %1177 - -1177: ; preds = %1174 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(23) %.sroa.5, ptr noundef nonnull align 1 dereferenceable(23) %.sroa.7211.sroa.3, i64 23, i1 false) - %.not451.not = icmp eq i64 %1175, -9223372036854775801 - br i1 %.not451.not, label %.thread1079, label %1180 + switch i64 %1175, label %1178 [ + i64 -9223372036854775800, label %1176 + i64 -9223372036854775801, label %"_ZN69_$LT$jpeg_decoder..marker..Marker$u20$as$u20$core..cmp..PartialEq$GT$2eq17hd6f55482fac48aecE.exit.thread" + ] -1178: ; preds = %1174 - %1179 = getelementptr inbounds i8, ptr %0, i64 8 - store i8 %.sroa.7211.sroa.0.0.copyload, ptr %1179, align 8 +1176: ; preds = %1174 + %1177 = getelementptr inbounds i8, ptr %0, i64 8 + store i8 %.sroa.7211.sroa.0.0.copyload, ptr %1177, align 8 %.sroa.7211.sroa.3.0..sroa_idx = getelementptr inbounds i8, ptr %0, i64 9 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(23) %.sroa.7211.sroa.3.0..sroa_idx, ptr noundef nonnull align 1 dereferenceable(23) %.sroa.7211.sroa.3, i64 23, i1 false) store i64 1, ptr %0, align 8 - call void @llvm.lifetime.end.p0(i64 23, ptr nonnull %.sroa.5) br label %320 -1180: ; preds = %1177 - %1181 = xor i64 %1175, -9223372036854775808 - %1182 = icmp ult i64 %1181, 7 - %1183 = select i1 %1182, i64 %1181, i64 3 - switch i64 %1183, label %135 [ - i64 0, label %1184 - i64 1, label %1185 - i64 2, label %1186 - i64 3, label %1187 - i64 4, label %1188 - i64 5, label %1189 - i64 6, label %1190 +1178: ; preds = %1174 + %1179 = xor i64 %1175, -9223372036854775808 + %1180 = icmp ult i64 %1179, 7 + %1181 = select i1 %1180, i64 %1179, i64 3 + switch i64 %1181, label %135 [ + i64 0, label %1182 + i64 1, label %1183 + i64 2, label %1184 + i64 3, label %1185 + i64 4, label %1186 + i64 5, label %1187 + i64 6, label %1188 ] -1184: ; preds = %1180 +1182: ; preds = %1178 store i8 %.sroa.7211.sroa.0.0.copyload, ptr %202, align 4 - br label %.thread1079 + br label %"_ZN69_$LT$jpeg_decoder..marker..Marker$u20$as$u20$core..cmp..PartialEq$GT$2eq17hd6f55482fac48aecE.exit.thread" -1185: ; preds = %1180 +1183: ; preds = %1178 store i8 1, ptr %201, align 2 - br label %.thread1079 + br label %"_ZN69_$LT$jpeg_decoder..marker..Marker$u20$as$u20$core..cmp..PartialEq$GT$2eq17hd6f55482fac48aecE.exit.thread" -1186: ; preds = %1180 +1184: ; preds = %1178 store i8 1, ptr %200, align 1 - br label %.thread1079 + br label %"_ZN69_$LT$jpeg_decoder..marker..Marker$u20$as$u20$core..cmp..PartialEq$GT$2eq17hd6f55482fac48aecE.exit.thread" -1187: ; preds = %1180 +1185: ; preds = %1178 store i64 %1175, ptr %71, align 8 store i8 %.sroa.7211.sroa.0.0.copyload, ptr %.sroa.5218.0..sroa_idx219, align 8 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(23) %.sroa.9223.0..sroa_idx224, ptr noundef nonnull align 1 dereferenceable(23) %.sroa.5, i64 23, i1 false) + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(23) %.sroa.9223.0..sroa_idx224, ptr noundef nonnull align 1 dereferenceable(23) %.sroa.7211.sroa.3, i64 23, i1 false) invoke fastcc void @"_ZN5alloc3vec16Vec$LT$T$C$A$GT$4push17hecd7c47cbf97bbbfE"(ptr noalias noundef nonnull align 8 dereferenceable(24) %199, ptr noalias nocapture noundef nonnull align 8 dereferenceable(32) %71) - to label %.thread1079 unwind label %.thread937.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit + to label %"_ZN69_$LT$jpeg_decoder..marker..Marker$u20$as$u20$core..cmp..PartialEq$GT$2eq17hd6f55482fac48aecE.exit.thread" unwind label %.thread937.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit -1188: ; preds = %1180 +1186: ; preds = %1178 invoke fastcc void @"_ZN4core3ptr74drop_in_place$LT$core..option..Option$LT$alloc..vec..Vec$LT$u8$GT$$GT$$GT$17hc83dd61601bede16E"(ptr noalias noundef nonnull align 8 dereferenceable(24) %198) - to label %1193 unwind label %1191 + to label %1191 unwind label %1189 -1189: ; preds = %1180 +1187: ; preds = %1178 invoke fastcc void @"_ZN4core3ptr74drop_in_place$LT$core..option..Option$LT$alloc..vec..Vec$LT$u8$GT$$GT$$GT$17hc83dd61601bede16E"(ptr noalias noundef nonnull align 8 dereferenceable(24) %197) - to label %1196 unwind label %1194 + to label %1194 unwind label %1192 -1190: ; preds = %1180 +1188: ; preds = %1178 invoke fastcc void @"_ZN4core3ptr74drop_in_place$LT$core..option..Option$LT$alloc..vec..Vec$LT$u8$GT$$GT$$GT$17hc83dd61601bede16E"(ptr noalias noundef nonnull align 8 dereferenceable(24) %196) - to label %1199 unwind label %1197 + to label %1197 unwind label %1195 -1191: ; preds = %1188 - %1192 = landingpad { ptr, i32 } +1189: ; preds = %1186 + %1190 = landingpad { ptr, i32 } cleanup store i8 %.sroa.7211.sroa.0.0.copyload, ptr %198, align 8 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(23) %.sroa.5232.0..sroa_idx233, ptr noundef nonnull align 1 dereferenceable(23) %.sroa.5, i64 23, i1 false) + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(23) %.sroa.5232.0..sroa_idx233, ptr noundef nonnull align 1 dereferenceable(23) %.sroa.7211.sroa.3, i64 23, i1 false) br label %.thread -1193: ; preds = %1188 +1191: ; preds = %1186 store i8 %.sroa.7211.sroa.0.0.copyload, ptr %198, align 8 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(23) %.sroa.5232.0..sroa_idx233, ptr noundef nonnull align 1 dereferenceable(23) %.sroa.5, i64 23, i1 false) - br label %.thread1079 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(23) %.sroa.5232.0..sroa_idx233, ptr noundef nonnull align 1 dereferenceable(23) %.sroa.7211.sroa.3, i64 23, i1 false) + br label %"_ZN69_$LT$jpeg_decoder..marker..Marker$u20$as$u20$core..cmp..PartialEq$GT$2eq17hd6f55482fac48aecE.exit.thread" -1194: ; preds = %1189 - %1195 = landingpad { ptr, i32 } +1192: ; preds = %1187 + %1193 = landingpad { ptr, i32 } cleanup store i8 %.sroa.7211.sroa.0.0.copyload, ptr %197, align 8 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(23) %.sroa.5238.0..sroa_idx239, ptr noundef nonnull align 1 dereferenceable(23) %.sroa.5, i64 23, i1 false) + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(23) %.sroa.5238.0..sroa_idx239, ptr noundef nonnull align 1 dereferenceable(23) %.sroa.7211.sroa.3, i64 23, i1 false) br label %.thread -1196: ; preds = %1189 +1194: ; preds = %1187 store i8 %.sroa.7211.sroa.0.0.copyload, ptr %197, align 8 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(23) %.sroa.5238.0..sroa_idx239, ptr noundef nonnull align 1 dereferenceable(23) %.sroa.5, i64 23, i1 false) - br label %.thread1079 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(23) %.sroa.5238.0..sroa_idx239, ptr noundef nonnull align 1 dereferenceable(23) %.sroa.7211.sroa.3, i64 23, i1 false) + br label %"_ZN69_$LT$jpeg_decoder..marker..Marker$u20$as$u20$core..cmp..PartialEq$GT$2eq17hd6f55482fac48aecE.exit.thread" -1197: ; preds = %1190 - %1198 = landingpad { ptr, i32 } +1195: ; preds = %1188 + %1196 = landingpad { ptr, i32 } cleanup store i8 %.sroa.7211.sroa.0.0.copyload, ptr %196, align 8 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(23) %.sroa.5244.0..sroa_idx245, ptr noundef nonnull align 1 dereferenceable(23) %.sroa.5, i64 23, i1 false) + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(23) %.sroa.5244.0..sroa_idx245, ptr noundef nonnull align 1 dereferenceable(23) %.sroa.7211.sroa.3, i64 23, i1 false) br label %.thread -1199: ; preds = %1190 +1197: ; preds = %1188 store i8 %.sroa.7211.sroa.0.0.copyload, ptr %196, align 8 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(23) %.sroa.5244.0..sroa_idx245, ptr noundef nonnull align 1 dereferenceable(23) %.sroa.5, i64 23, i1 false) - br label %.thread1079 - -.thread1079: ; preds = %1187, %1199, %1196, %1193, %1186, %1185, %1184, %1177 - call void @llvm.lifetime.end.p0(i64 23, ptr nonnull %.sroa.5) + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(23) %.sroa.5244.0..sroa_idx245, ptr noundef nonnull align 1 dereferenceable(23) %.sroa.7211.sroa.3, i64 23, i1 false) br label %"_ZN69_$LT$jpeg_decoder..marker..Marker$u20$as$u20$core..cmp..PartialEq$GT$2eq17hd6f55482fac48aecE.exit.thread" -1200: ; preds = %343 - %1201 = load i64, ptr %73, align 8, !range !341, !noundef !9 - %trunc449 = trunc i64 %1201 to i1 +1198: ; preds = %343 + %1199 = load i64, ptr %73, align 8, !range !341, !noundef !9 + %trunc449 = trunc i64 %1199 to i1 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %.sroa.6207, ptr noundef nonnull align 8 dereferenceable(24) %192, i64 24, i1 false) call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %73) - br i1 %trunc449, label %1207, label %1202 + br i1 %trunc449, label %1205, label %1200 -1202: ; preds = %1200 +1200: ; preds = %1198 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %74, ptr noundef nonnull align 8 dereferenceable(24) %.sroa.6207, i64 24, i1 false) call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %5), !noalias !1289 invoke void @"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$14current_memory17hf92e389c95c4703bE.llvm.9832446184049035033"(ptr noalias nocapture noundef nonnull sret({ [1 x i64], i64, [1 x i64] }) align 8 dereferenceable(24) %5, ptr noalias noundef nonnull readonly align 8 dereferenceable(16) %74) to label %.noexc678 unwind label %.thread937.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit -.noexc678: ; preds = %1202 - %1203 = load i64, ptr %193, align 8, !range !127, !noalias !1289, !noundef !9 - %.not.i.i.i677 = icmp eq i64 %1203, 0 - br i1 %.not.i.i.i677, label %1209, label %1204 +.noexc678: ; preds = %1200 + %1201 = load i64, ptr %193, align 8, !range !127, !noalias !1289, !noundef !9 + %.not.i.i.i677 = icmp eq i64 %1201, 0 + br i1 %.not.i.i.i677, label %1207, label %1202 -1204: ; preds = %.noexc678 - %1205 = load ptr, ptr %5, align 8, !noalias !1289, !nonnull !9, !noundef !9 - %1206 = load i64, ptr %194, align 8, !noalias !1289, !noundef !9 - invoke void @"_ZN63_$LT$alloc..alloc..Global$u20$as$u20$core..alloc..Allocator$GT$10deallocate17hae8e459b587c5295E.llvm.9832446184049035033"(ptr noalias noundef nonnull readonly align 1 %195, ptr noundef nonnull %1205, i64 noundef %1203, i64 noundef %1206) - to label %1209 unwind label %.thread937.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit +1202: ; preds = %.noexc678 + %1203 = load ptr, ptr %5, align 8, !noalias !1289, !nonnull !9, !noundef !9 + %1204 = load i64, ptr %194, align 8, !noalias !1289, !noundef !9 + invoke void @"_ZN63_$LT$alloc..alloc..Global$u20$as$u20$core..alloc..Allocator$GT$10deallocate17hae8e459b587c5295E.llvm.9832446184049035033"(ptr noalias noundef nonnull readonly align 1 %195, ptr noundef nonnull %1203, i64 noundef %1201, i64 noundef %1204) + to label %1207 unwind label %.thread937.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit -1207: ; preds = %1200 - %1208 = getelementptr inbounds i8, ptr %0, i64 8 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %1208, ptr noundef nonnull align 8 dereferenceable(24) %.sroa.6207, i64 24, i1 false) +1205: ; preds = %1198 + %1206 = getelementptr inbounds i8, ptr %0, i64 8 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %1206, ptr noundef nonnull align 8 dereferenceable(24) %.sroa.6207, i64 24, i1 false) store i64 1, ptr %0, align 8 call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %74) br label %320 -1209: ; preds = %.noexc678, %1204 +1207: ; preds = %.noexc678, %1202 call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %5), !noalias !1289 call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %74) br label %"_ZN69_$LT$jpeg_decoder..marker..Marker$u20$as$u20$core..cmp..PartialEq$GT$2eq17hd6f55482fac48aecE.exit.thread" -1210: ; preds = %319 +1208: ; preds = %319 call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %69) call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %68) store ptr %109, ptr %68, align 8 - %1211 = getelementptr inbounds i8, ptr %68, i64 8 - store ptr @"_ZN65_$LT$jpeg_decoder..marker..Marker$u20$as$u20$core..fmt..Debug$GT$3fmt17hdc293fe91d6b90a6E", ptr %1211, align 8 + %1209 = getelementptr inbounds i8, ptr %68, i64 8 + store ptr @"_ZN65_$LT$jpeg_decoder..marker..Marker$u20$as$u20$core..fmt..Debug$GT$3fmt17hdc293fe91d6b90a6E", ptr %1209, align 8 store ptr @anon.60689fdbfa59ae5f463a599edb886518.103, ptr %69, align 8, !alias.scope !1296, !noalias !1299 - %1212 = getelementptr inbounds i8, ptr %69, i64 8 - store i64 2, ptr %1212, align 8, !alias.scope !1296, !noalias !1299 - %1213 = getelementptr inbounds i8, ptr %69, i64 32 - store ptr null, ptr %1213, align 8, !alias.scope !1296, !noalias !1299 - %1214 = getelementptr inbounds i8, ptr %69, i64 16 - store ptr %68, ptr %1214, align 8, !alias.scope !1296, !noalias !1299 - %1215 = getelementptr inbounds i8, ptr %69, i64 24 - store i64 1, ptr %1215, align 8, !alias.scope !1296, !noalias !1299 + %1210 = getelementptr inbounds i8, ptr %69, i64 8 + store i64 2, ptr %1210, align 8, !alias.scope !1296, !noalias !1299 + %1211 = getelementptr inbounds i8, ptr %69, i64 32 + store ptr null, ptr %1211, align 8, !alias.scope !1296, !noalias !1299 + %1212 = getelementptr inbounds i8, ptr %69, i64 16 + store ptr %68, ptr %1212, align 8, !alias.scope !1296, !noalias !1299 + %1213 = getelementptr inbounds i8, ptr %69, i64 24 + store i64 1, ptr %1213, align 8, !alias.scope !1296, !noalias !1299 invoke fastcc void @_ZN5alloc3fmt6format17h55b1a8bf61a7c713E(ptr noalias nocapture noundef nonnull align 8 dereferenceable(24) %70, ptr noalias nocapture noundef nonnull align 8 dereferenceable(48) %69) - to label %1216 unwind label %.thread937.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp + to label %1214 unwind label %.thread937.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp -1216: ; preds = %1210 +1214: ; preds = %1208 call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %69) call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %68) - %1217 = getelementptr inbounds i8, ptr %0, i64 8 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %1217, ptr noundef nonnull align 8 dereferenceable(24) %70, i64 24, i1 false) + %1215 = getelementptr inbounds i8, ptr %0, i64 8 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %1215, ptr noundef nonnull align 8 dereferenceable(24) %70, i64 24, i1 false) store i64 1, ptr %0, align 8 br label %320 -1218: ; preds = %494 - %1219 = landingpad { ptr, i32 } +1216: ; preds = %494 + %1217 = landingpad { ptr, i32 } cleanup br label %.body545 -1220: ; preds = %494 +1218: ; preds = %494 call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %111) call void @"_ZN4core3ptr69drop_in_place$LT$alloc..vec..Vec$LT$alloc..vec..Vec$LT$u8$GT$$GT$$GT$17h5ea087b400879ab1E"(ptr noalias noundef nonnull align 8 dereferenceable(24) %113) call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %113) br label %119 -.thread: ; preds = %.thread937.loopexit, %.thread937.loopexit.split-lp.loopexit.split-lp.loopexit, %.thread937.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp, %.thread937.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit, %.thread937.loopexit.split-lp.loopexit, %469, %463, %405, %421, %435, %1145, %416, %412, %432, %428, %.thread961, %472, %508, %1191, %1194, %1197 - %.pn486935 = phi { ptr, i32 } [ %eh.lpad-body556964, %.thread961 ], [ %.pn479.pn.ph, %472 ], [ %.pn476, %508 ], [ %1146, %1145 ], [ %1192, %1191 ], [ %1195, %1194 ], [ %1198, %1197 ], [ %433, %432 ], [ %429, %428 ], [ %417, %416 ], [ %413, %412 ], [ %406, %405 ], [ %422, %421 ], [ %436, %435 ], [ %470, %469 ], [ %464, %463 ], [ %lpad.loopexit1112, %.thread937.loopexit ], [ %lpad.loopexit1115, %.thread937.loopexit.split-lp.loopexit ], [ %lpad.loopexit1127, %.thread937.loopexit.split-lp.loopexit.split-lp.loopexit ], [ %lpad.loopexit1130, %.thread937.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit ], [ %lpad.loopexit.split-lp1131, %.thread937.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp ] +.thread: ; preds = %.thread937.loopexit, %.thread937.loopexit.split-lp.loopexit.split-lp.loopexit, %.thread937.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp, %.thread937.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit, %.thread937.loopexit.split-lp.loopexit, %469, %463, %405, %421, %435, %1145, %416, %412, %432, %428, %.thread961, %472, %508, %1189, %1192, %1195 + %.pn486935 = phi { ptr, i32 } [ %eh.lpad-body556964, %.thread961 ], [ %.pn479.pn.ph, %472 ], [ %.pn476, %508 ], [ %1146, %1145 ], [ %1190, %1189 ], [ %1193, %1192 ], [ %1196, %1195 ], [ %433, %432 ], [ %429, %428 ], [ %417, %416 ], [ %413, %412 ], [ %406, %405 ], [ %422, %421 ], [ %436, %435 ], [ %470, %469 ], [ %464, %463 ], [ %lpad.loopexit1112, %.thread937.loopexit ], [ %lpad.loopexit1115, %.thread937.loopexit.split-lp.loopexit ], [ %lpad.loopexit1127, %.thread937.loopexit.split-lp.loopexit.split-lp.loopexit ], [ %lpad.loopexit1130, %.thread937.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit ], [ %lpad.loopexit.split-lp1131, %.thread937.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp ] invoke void @"_ZN4core3ptr70drop_in_place$LT$alloc..vec..Vec$LT$alloc..vec..Vec$LT$u16$GT$$GT$$GT$17h694d9b2528e63298E"(ptr noalias noundef nonnull align 8 dereferenceable(24) %111) #24 to label %.body545 unwind label %440 @@ -14001,8 +13991,8 @@ _ZN12jpeg_decoder7read_u817hd469f45e710aaef4E.exit44.i.i: ; preds = %.noexc339.i %.pn488.pn = phi { ptr, i32 } [ %.pn488.ph, %.body545 ], [ %171, %170 ], [ %167, %166 ] resume { ptr, i32 } %.pn488.pn -.body545: ; preds = %186, %182, %1218, %.thread - %.pn488.ph = phi { ptr, i32 } [ %.pn486935, %.thread ], [ %1219, %1218 ], [ %187, %186 ], [ %183, %182 ] +.body545: ; preds = %186, %182, %1216, %.thread + %.pn488.ph = phi { ptr, i32 } [ %.pn486935, %.thread ], [ %1217, %1216 ], [ %187, %186 ], [ %183, %182 ] invoke void @"_ZN4core3ptr69drop_in_place$LT$alloc..vec..Vec$LT$alloc..vec..Vec$LT$u8$GT$$GT$$GT$17h5ea087b400879ab1E"(ptr noalias noundef nonnull align 8 dereferenceable(24) %113) #24 to label %.body unwind label %440 } @@ -14078,7 +14068,6 @@ define hidden void @"_ZN12jpeg_decoder7decoder16Decoder$LT$R$GT$15decode_interna %67 = alloca { { { i64, ptr }, i64 }, i8, i8, [6 x i8] }, align 8 %68 = alloca { i64, [3 x i64] }, align 8 %.sroa.7211.sroa.3 = alloca [23 x i8], align 1 - %.sroa.5 = alloca [23 x i8], align 1 %69 = alloca { i64, [3 x i64] }, align 8 %.sroa.6207 = alloca [3 x i64], align 8 %70 = alloca { { i64, ptr }, i64 }, align 8 @@ -14148,7 +14137,7 @@ define hidden void @"_ZN12jpeg_decoder7decoder16Decoder$LT$R$GT$15decode_interna store i64 0, ptr %0, align 8 br label %116 -116: ; preds = %142, %.critedge, %159, %1195, %473, %114 +116: ; preds = %142, %.critedge, %159, %1193, %473, %114 ret void 117: ; preds = %113 @@ -14200,7 +14189,7 @@ define hidden void @"_ZN12jpeg_decoder7decoder16Decoder$LT$R$GT$15decode_interna %136 = invoke { i64, ptr } @"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$11allocate_in17hf053198fa2235dffE"(i64 noundef %.0.i, i1 noundef zeroext false) to label %168 unwind label %177, !noalias !1320 -137: ; preds = %1155 +137: ; preds = %1153 unreachable 138: ; preds = %"_ZN3std2io6cursor15Cursor$LT$T$GT$15remaining_slice17h261919fa0e8332fbE.llvm.98706352026558795.exit.i.i" @@ -14450,9 +14439,9 @@ define hidden void @"_ZN12jpeg_decoder7decoder16Decoder$LT$R$GT$15decode_interna %.sroa.0151.sroa.2.0..sroa_idx = getelementptr inbounds i8, ptr %85, i64 32 %.sroa.4.0..sroa_idx.i.i.i.i = getelementptr inbounds i8, ptr %13, i64 8 %233 = getelementptr inbounds i8, ptr %13, i64 24 - %.sroa.5.0..sroa_idx5.i.i.i.i = getelementptr inbounds i8, ptr %13, i64 16 %234 = getelementptr inbounds i8, ptr %12, i64 8 %235 = getelementptr inbounds i8, ptr %12, i64 16 + %.sroa.09.sroa.5.0..sroa.4.0..sroa_idx.i.sroa_idx.i.i.i = getelementptr inbounds i8, ptr %13, i64 16 %.sroa.8820.8..sroa_idx = getelementptr inbounds i8, ptr %84, i64 8 %236 = getelementptr inbounds i8, ptr %10, i64 8 %237 = getelementptr inbounds i8, ptr %10, i64 16 @@ -14494,9 +14483,9 @@ define hidden void @"_ZN12jpeg_decoder7decoder16Decoder$LT$R$GT$15decode_interna %.sroa.0119.sroa.2.0..sroa_idx = getelementptr inbounds i8, ptr %91, i64 32 %.sroa.4.0..sroa_idx.i.i.i.i637 = getelementptr inbounds i8, ptr %9, i64 8 %270 = getelementptr inbounds i8, ptr %9, i64 24 - %.sroa.5.0..sroa_idx5.i.i.i.i638 = getelementptr inbounds i8, ptr %9, i64 16 %271 = getelementptr inbounds i8, ptr %8, i64 8 %272 = getelementptr inbounds i8, ptr %8, i64 16 + %.sroa.09.sroa.5.0..sroa.4.0..sroa_idx.i.sroa_idx.i.i.i638 = getelementptr inbounds i8, ptr %9, i64 16 %.sroa.4799.0..sroa_idx = getelementptr inbounds i8, ptr %90, i64 8 %273 = getelementptr inbounds i8, ptr %108, i64 16 %274 = getelementptr inbounds i8, ptr %108, i64 8 @@ -14575,12 +14564,12 @@ define hidden void @"_ZN12jpeg_decoder7decoder16Decoder$LT$R$GT$15decode_interna invoke fastcc void @"_ZN12jpeg_decoder7decoder16Decoder$LT$R$GT$11read_marker17h2d24801a25685052E"(ptr noalias nocapture noundef nonnull align 8 dereferenceable(24) %105, ptr noalias noundef nonnull align 8 dereferenceable(320) %1) to label %303 unwind label %.thread922.loopexit -.thread922.loopexit: ; preds = %1179, %1177, %1064, %1062, %489, %302, %338, %315, %327, %331, %334, %1162, %335 +.thread922.loopexit: ; preds = %1177, %1175, %1064, %1062, %489, %302, %338, %315, %327, %331, %334, %1160, %335 %lpad.loopexit1096 = landingpad { ptr, i32 } cleanup br label %.thread -.thread922.loopexit.split-lp: ; preds = %1135, %1111, %487, %471, %"_ZN69_$LT$jpeg_decoder..marker..Marker$u20$as$u20$core..cmp..PartialEq$GT$2eq17hd6f55482fac48aecE.exit", %437, %.critedge500, %1082, %498, %1132, %1185 +.thread922.loopexit.split-lp: ; preds = %1135, %1111, %487, %471, %"_ZN69_$LT$jpeg_decoder..marker..Marker$u20$as$u20$core..cmp..PartialEq$GT$2eq17hd6f55482fac48aecE.exit", %437, %.critedge500, %1082, %498, %1132, %1183 %lpad.loopexit.split-lp1097 = landingpad { ptr, i32 } cleanup br label %.thread @@ -14616,7 +14605,7 @@ define hidden void @"_ZN12jpeg_decoder7decoder16Decoder$LT$R$GT$15decode_interna %.sink = phi i8 [ %307, %308 ], [ %.sroa.8.0, %300 ] store i8 %storemerge, ptr %106, align 1 store i8 %.sink, ptr %196, align 1 - switch i8 %storemerge, label %1185 [ + switch i8 %storemerge, label %1183 [ i8 0, label %313 i8 2, label %315 i8 3, label %319 @@ -14632,7 +14621,7 @@ define hidden void @"_ZN12jpeg_decoder7decoder16Decoder$LT$R$GT$15decode_interna i8 15, label %335 ] -312: ; preds = %1191, %1182, %1153, %1147, %1137, %1133, %1093, %1084, %1083, %466, %444, %434, %336, %332, %319, %309 +312: ; preds = %1189, %1180, %1151, %1147, %1137, %1133, %1093, %1084, %1083, %466, %444, %434, %336, %332, %319, %309 call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %106) br label %486 @@ -14700,7 +14689,6 @@ define hidden void @"_ZN12jpeg_decoder7decoder16Decoder$LT$R$GT$15decode_interna br label %312 334: ; preds = %311 - call void @llvm.lifetime.start.p0(i64 23, ptr nonnull %.sroa.5) call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %68) invoke void @_ZN12jpeg_decoder6parser9parse_app17h5fcf93c3af460f62E(ptr noalias nocapture noundef nonnull sret({ i64, [3 x i64] }) align 8 dereferenceable(32) %68, ptr noalias noundef nonnull align 8 dereferenceable(24) %199, i8 noundef 13, i8 %.sink) to label %1149 unwind label %.thread922.loopexit @@ -14709,7 +14697,7 @@ define hidden void @"_ZN12jpeg_decoder7decoder16Decoder$LT$R$GT$15decode_interna call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %70) call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %69) invoke void @_ZN12jpeg_decoder6parser9parse_com17h68793af0eac5d72fE(ptr noalias nocapture noundef nonnull sret({ i64, [3 x i64] }) align 8 dereferenceable(32) %69, ptr noalias noundef nonnull align 8 dereferenceable(24) %199) - to label %1175 unwind label %.thread922.loopexit + to label %1173 unwind label %.thread922.loopexit 336: ; preds = %313 %337 = getelementptr inbounds i8, ptr %0, i64 8 @@ -15051,10 +15039,10 @@ _ZN4core3ops5range11RangeBounds8contains17h6aa3edaf5343fa2fE.exit.thread: ; pred call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %104) br label %"_ZN69_$LT$jpeg_decoder..marker..Marker$u20$as$u20$core..cmp..PartialEq$GT$2eq17hd6f55482fac48aecE.exit.thread" -"_ZN69_$LT$jpeg_decoder..marker..Marker$u20$as$u20$core..cmp..PartialEq$GT$2eq17hd6f55482fac48aecE.exit.thread": ; preds = %321, %1184, %.thread1055, %1146, %1096, %1067, %463, %429 - %.1427 = phi i32 [ %.0426, %1184 ], [ %.0426, %.thread1055 ], [ %.0426, %1146 ], [ %.0426, %1096 ], [ %1031, %1067 ], [ %.0426, %463 ], [ %.0426, %429 ], [ %.0426, %321 ] - %.sroa.8.1 = phi i8 [ undef, %1184 ], [ undef, %.thread1055 ], [ undef, %1146 ], [ undef, %1096 ], [ %.sroa.8.2, %1067 ], [ undef, %463 ], [ undef, %429 ], [ undef, %321 ] - %.sroa.014.1 = phi i8 [ 18, %1184 ], [ 18, %.thread1055 ], [ 18, %1146 ], [ 18, %1096 ], [ %.sroa.014.2, %1067 ], [ 18, %463 ], [ 18, %429 ], [ 18, %321 ] +"_ZN69_$LT$jpeg_decoder..marker..Marker$u20$as$u20$core..cmp..PartialEq$GT$2eq17hd6f55482fac48aecE.exit.thread": ; preds = %1157, %1158, %1159, %1166, %1169, %1172, %1160, %1149, %321, %1182, %1146, %1096, %1067, %463, %429 + %.1427 = phi i32 [ %.0426, %1182 ], [ %.0426, %1146 ], [ %.0426, %1096 ], [ %1031, %1067 ], [ %.0426, %463 ], [ %.0426, %429 ], [ %.0426, %321 ], [ %.0426, %1149 ], [ %.0426, %1160 ], [ %.0426, %1172 ], [ %.0426, %1169 ], [ %.0426, %1166 ], [ %.0426, %1159 ], [ %.0426, %1158 ], [ %.0426, %1157 ] + %.sroa.8.1 = phi i8 [ undef, %1182 ], [ undef, %1146 ], [ undef, %1096 ], [ %.sroa.8.2, %1067 ], [ undef, %463 ], [ undef, %429 ], [ undef, %321 ], [ undef, %1149 ], [ undef, %1160 ], [ undef, %1172 ], [ undef, %1169 ], [ undef, %1166 ], [ undef, %1159 ], [ undef, %1158 ], [ undef, %1157 ] + %.sroa.014.1 = phi i8 [ 18, %1182 ], [ 18, %1146 ], [ 18, %1096 ], [ %.sroa.014.2, %1067 ], [ 18, %463 ], [ 18, %429 ], [ 18, %321 ], [ 18, %1149 ], [ 18, %1160 ], [ 18, %1172 ], [ 18, %1169 ], [ 18, %1166 ], [ 18, %1159 ], [ 18, %1158 ], [ 18, %1157 ] %430 = load i8, ptr %106, align 1, !range !562, !noundef !9 %431 = load i8, ptr %196, align 1 call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %106) @@ -15271,7 +15259,7 @@ _ZN4core3ops5range11RangeBounds8contains17h6aa3edaf5343fa2fE.exit.thread: ; pred 486: ; preds = %481, %312 invoke void @"_ZN4core3ptr70drop_in_place$LT$alloc..vec..Vec$LT$alloc..vec..Vec$LT$u16$GT$$GT$$GT$17h694d9b2528e63298E"(ptr noalias noundef nonnull align 8 dereferenceable(24) %108) - to label %1195 unwind label %1193 + to label %1193 unwind label %1191 487: ; preds = %325 %488 = invoke { i64, ptr } @"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$11allocate_in17h0685f8b8d660cb99E"(i64 noundef 29, i1 noundef zeroext false) @@ -16152,7 +16140,7 @@ default.unreachable: ; preds = %755 %803 = zext nneg i8 %802 to i16 %804 = icmp ugt i16 %526, 1 %805 = icmp ult i16 %528, 2 - %brmerge2457 = or i1 %.not.i597, %805 + %brmerge2461 = or i1 %.not.i597, %805 br label %813 .thread412.i: ; preds = %..loopexit500_crit_edge.us.i, %.loopexit498.i, %._crit_edge.thread.i, %790, %._crit_edge.thread1148.i @@ -16302,7 +16290,7 @@ default.unreachable: ; preds = %755 br i1 %804, label %.lr.ph.i, label %.preheader497.i .preheader497.i: ; preds = %892, %"_ZN84_$LT$alloc..vec..Vec$LT$T$C$A$GT$$u20$as$u20$core..ops..index..IndexMut$LT$I$GT$$GT$9index_mut17he174df0a79271239E.exit339.i" - br i1 %brmerge2457, label %.loopexit498.i, label %.preheader.us.i + br i1 %brmerge2461, label %.loopexit498.i, label %.preheader.us.i .preheader.us.i: ; preds = %.preheader497.i, %..loopexit496_crit_edge.us.i %spec.select493844.us.i = phi i64 [ %spec.select843.us.i, %..loopexit496_crit_edge.us.i ], [ 0, %.preheader497.i ] @@ -16787,7 +16775,7 @@ default.unreachable: ; preds = %755 call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %13), !noalias !1556 store i64 %988, ptr %13, align 8, !noalias !1556 store i64 %.sroa.0.0.copyload19.i.i.i, ptr %.sroa.4.0..sroa_idx.i.i.i.i, align 8, !noalias !1557 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %.sroa.5.0..sroa_idx5.i.i.i.i, ptr noundef nonnull align 8 dereferenceable(16) %.sroa.09.sroa.5.i.i.i, i64 16, i1 false), !noalias !1557 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %.sroa.09.sroa.5.0..sroa.4.0..sroa_idx.i.sroa_idx.i.i.i, ptr noundef nonnull align 8 dereferenceable(16) %.sroa.09.sroa.5.i.i.i, i64 16, i1 false), !noalias !1557 call void @llvm.experimental.noalias.scope.decl(metadata !1558) %.val.i.i.i.i.i = load i64, ptr %233, align 8, !alias.scope !1558, !noalias !1561, !noundef !9 %.not.i.i.i.i.i613 = icmp eq i64 %.val.i.i.i.i.i, 0 @@ -17034,7 +17022,7 @@ default.unreachable: ; preds = %755 call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %9), !noalias !1619 store i64 %1045, ptr %9, align 8, !noalias !1619 store i64 %.sroa.0.0.copyload19.i.i.i639, ptr %.sroa.4.0..sroa_idx.i.i.i.i637, align 8, !noalias !1620 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %.sroa.5.0..sroa_idx5.i.i.i.i638, ptr noundef nonnull align 8 dereferenceable(16) %.sroa.09.sroa.5.i.i.i633, i64 16, i1 false), !noalias !1620 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %.sroa.09.sroa.5.0..sroa.4.0..sroa_idx.i.sroa_idx.i.i.i638, ptr noundef nonnull align 8 dereferenceable(16) %.sroa.09.sroa.5.i.i.i633, i64 16, i1 false), !noalias !1620 call void @llvm.experimental.noalias.scope.decl(metadata !1621) %.val.i.i.i.i.i642 = load i64, ptr %270, align 8, !alias.scope !1621, !noalias !1624, !noundef !9 %.not.i.i.i.i.i643 = icmp eq i64 %.val.i.i.i.i.i642, 0 @@ -17371,186 +17359,178 @@ default.unreachable: ; preds = %755 1149: ; preds = %334 %1150 = load i64, ptr %68, align 8, !range !1288, !noundef !9 - %1151 = icmp eq i64 %1150, -9223372036854775800 %.sroa.7211.sroa.0.0.copyload = load i8, ptr %.sroa.4391.0..sroa_idx, align 8 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(23) %.sroa.7211.sroa.3, ptr noundef nonnull align 1 dereferenceable(23) %.sroa.7211.sroa.3.0..sroa.4391.0..sroa_idx.sroa_idx, i64 23, i1 false) call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %68) - br i1 %1151, label %1153, label %1152 - -1152: ; preds = %1149 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(23) %.sroa.5, ptr noundef nonnull align 1 dereferenceable(23) %.sroa.7211.sroa.3, i64 23, i1 false) - %.not451.not = icmp eq i64 %1150, -9223372036854775801 - br i1 %.not451.not, label %.thread1055, label %1155 + switch i64 %1150, label %1153 [ + i64 -9223372036854775800, label %1151 + i64 -9223372036854775801, label %"_ZN69_$LT$jpeg_decoder..marker..Marker$u20$as$u20$core..cmp..PartialEq$GT$2eq17hd6f55482fac48aecE.exit.thread" + ] -1153: ; preds = %1149 - %1154 = getelementptr inbounds i8, ptr %0, i64 8 - store i8 %.sroa.7211.sroa.0.0.copyload, ptr %1154, align 8 +1151: ; preds = %1149 + %1152 = getelementptr inbounds i8, ptr %0, i64 8 + store i8 %.sroa.7211.sroa.0.0.copyload, ptr %1152, align 8 %.sroa.7211.sroa.3.0..sroa_idx = getelementptr inbounds i8, ptr %0, i64 9 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(23) %.sroa.7211.sroa.3.0..sroa_idx, ptr noundef nonnull align 1 dereferenceable(23) %.sroa.7211.sroa.3, i64 23, i1 false) store i64 1, ptr %0, align 8 - call void @llvm.lifetime.end.p0(i64 23, ptr nonnull %.sroa.5) br label %312 -1155: ; preds = %1152 - %1156 = xor i64 %1150, -9223372036854775808 - %1157 = icmp ult i64 %1156, 7 - %1158 = select i1 %1157, i64 %1156, i64 3 - switch i64 %1158, label %137 [ - i64 0, label %1159 - i64 1, label %1160 - i64 2, label %1161 - i64 3, label %1162 - i64 4, label %1163 - i64 5, label %1164 - i64 6, label %1165 +1153: ; preds = %1149 + %1154 = xor i64 %1150, -9223372036854775808 + %1155 = icmp ult i64 %1154, 7 + %1156 = select i1 %1155, i64 %1154, i64 3 + switch i64 %1156, label %137 [ + i64 0, label %1157 + i64 1, label %1158 + i64 2, label %1159 + i64 3, label %1160 + i64 4, label %1161 + i64 5, label %1162 + i64 6, label %1163 ] -1159: ; preds = %1155 +1157: ; preds = %1153 store i8 %.sroa.7211.sroa.0.0.copyload, ptr %210, align 4 - br label %.thread1055 + br label %"_ZN69_$LT$jpeg_decoder..marker..Marker$u20$as$u20$core..cmp..PartialEq$GT$2eq17hd6f55482fac48aecE.exit.thread" -1160: ; preds = %1155 +1158: ; preds = %1153 store i8 1, ptr %209, align 2 - br label %.thread1055 + br label %"_ZN69_$LT$jpeg_decoder..marker..Marker$u20$as$u20$core..cmp..PartialEq$GT$2eq17hd6f55482fac48aecE.exit.thread" -1161: ; preds = %1155 +1159: ; preds = %1153 store i8 1, ptr %208, align 1 - br label %.thread1055 + br label %"_ZN69_$LT$jpeg_decoder..marker..Marker$u20$as$u20$core..cmp..PartialEq$GT$2eq17hd6f55482fac48aecE.exit.thread" -1162: ; preds = %1155 +1160: ; preds = %1153 store i64 %1150, ptr %67, align 8 store i8 %.sroa.7211.sroa.0.0.copyload, ptr %.sroa.5218.0..sroa_idx219, align 8 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(23) %.sroa.9223.0..sroa_idx224, ptr noundef nonnull align 1 dereferenceable(23) %.sroa.5, i64 23, i1 false) + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(23) %.sroa.9223.0..sroa_idx224, ptr noundef nonnull align 1 dereferenceable(23) %.sroa.7211.sroa.3, i64 23, i1 false) invoke fastcc void @"_ZN5alloc3vec16Vec$LT$T$C$A$GT$4push17hecd7c47cbf97bbbfE"(ptr noalias noundef nonnull align 8 dereferenceable(24) %207, ptr noalias nocapture noundef nonnull align 8 dereferenceable(32) %67) - to label %.thread1055 unwind label %.thread922.loopexit + to label %"_ZN69_$LT$jpeg_decoder..marker..Marker$u20$as$u20$core..cmp..PartialEq$GT$2eq17hd6f55482fac48aecE.exit.thread" unwind label %.thread922.loopexit -1163: ; preds = %1155 +1161: ; preds = %1153 invoke fastcc void @"_ZN4core3ptr74drop_in_place$LT$core..option..Option$LT$alloc..vec..Vec$LT$u8$GT$$GT$$GT$17hc83dd61601bede16E"(ptr noalias noundef nonnull align 8 dereferenceable(24) %206) - to label %1168 unwind label %1166 + to label %1166 unwind label %1164 -1164: ; preds = %1155 +1162: ; preds = %1153 invoke fastcc void @"_ZN4core3ptr74drop_in_place$LT$core..option..Option$LT$alloc..vec..Vec$LT$u8$GT$$GT$$GT$17hc83dd61601bede16E"(ptr noalias noundef nonnull align 8 dereferenceable(24) %205) - to label %1171 unwind label %1169 + to label %1169 unwind label %1167 -1165: ; preds = %1155 +1163: ; preds = %1153 invoke fastcc void @"_ZN4core3ptr74drop_in_place$LT$core..option..Option$LT$alloc..vec..Vec$LT$u8$GT$$GT$$GT$17hc83dd61601bede16E"(ptr noalias noundef nonnull align 8 dereferenceable(24) %204) - to label %1174 unwind label %1172 + to label %1172 unwind label %1170 -1166: ; preds = %1163 - %1167 = landingpad { ptr, i32 } +1164: ; preds = %1161 + %1165 = landingpad { ptr, i32 } cleanup store i8 %.sroa.7211.sroa.0.0.copyload, ptr %206, align 8 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(23) %.sroa.5232.0..sroa_idx233, ptr noundef nonnull align 1 dereferenceable(23) %.sroa.5, i64 23, i1 false) + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(23) %.sroa.5232.0..sroa_idx233, ptr noundef nonnull align 1 dereferenceable(23) %.sroa.7211.sroa.3, i64 23, i1 false) br label %.thread -1168: ; preds = %1163 +1166: ; preds = %1161 store i8 %.sroa.7211.sroa.0.0.copyload, ptr %206, align 8 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(23) %.sroa.5232.0..sroa_idx233, ptr noundef nonnull align 1 dereferenceable(23) %.sroa.5, i64 23, i1 false) - br label %.thread1055 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(23) %.sroa.5232.0..sroa_idx233, ptr noundef nonnull align 1 dereferenceable(23) %.sroa.7211.sroa.3, i64 23, i1 false) + br label %"_ZN69_$LT$jpeg_decoder..marker..Marker$u20$as$u20$core..cmp..PartialEq$GT$2eq17hd6f55482fac48aecE.exit.thread" -1169: ; preds = %1164 - %1170 = landingpad { ptr, i32 } +1167: ; preds = %1162 + %1168 = landingpad { ptr, i32 } cleanup store i8 %.sroa.7211.sroa.0.0.copyload, ptr %205, align 8 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(23) %.sroa.5238.0..sroa_idx239, ptr noundef nonnull align 1 dereferenceable(23) %.sroa.5, i64 23, i1 false) + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(23) %.sroa.5238.0..sroa_idx239, ptr noundef nonnull align 1 dereferenceable(23) %.sroa.7211.sroa.3, i64 23, i1 false) br label %.thread -1171: ; preds = %1164 +1169: ; preds = %1162 store i8 %.sroa.7211.sroa.0.0.copyload, ptr %205, align 8 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(23) %.sroa.5238.0..sroa_idx239, ptr noundef nonnull align 1 dereferenceable(23) %.sroa.5, i64 23, i1 false) - br label %.thread1055 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(23) %.sroa.5238.0..sroa_idx239, ptr noundef nonnull align 1 dereferenceable(23) %.sroa.7211.sroa.3, i64 23, i1 false) + br label %"_ZN69_$LT$jpeg_decoder..marker..Marker$u20$as$u20$core..cmp..PartialEq$GT$2eq17hd6f55482fac48aecE.exit.thread" -1172: ; preds = %1165 - %1173 = landingpad { ptr, i32 } +1170: ; preds = %1163 + %1171 = landingpad { ptr, i32 } cleanup store i8 %.sroa.7211.sroa.0.0.copyload, ptr %204, align 8 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(23) %.sroa.5244.0..sroa_idx245, ptr noundef nonnull align 1 dereferenceable(23) %.sroa.5, i64 23, i1 false) + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(23) %.sroa.5244.0..sroa_idx245, ptr noundef nonnull align 1 dereferenceable(23) %.sroa.7211.sroa.3, i64 23, i1 false) br label %.thread -1174: ; preds = %1165 +1172: ; preds = %1163 store i8 %.sroa.7211.sroa.0.0.copyload, ptr %204, align 8 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(23) %.sroa.5244.0..sroa_idx245, ptr noundef nonnull align 1 dereferenceable(23) %.sroa.5, i64 23, i1 false) - br label %.thread1055 - -.thread1055: ; preds = %1162, %1174, %1171, %1168, %1161, %1160, %1159, %1152 - call void @llvm.lifetime.end.p0(i64 23, ptr nonnull %.sroa.5) + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(23) %.sroa.5244.0..sroa_idx245, ptr noundef nonnull align 1 dereferenceable(23) %.sroa.7211.sroa.3, i64 23, i1 false) br label %"_ZN69_$LT$jpeg_decoder..marker..Marker$u20$as$u20$core..cmp..PartialEq$GT$2eq17hd6f55482fac48aecE.exit.thread" -1175: ; preds = %335 - %1176 = load i64, ptr %69, align 8, !range !341, !noundef !9 - %trunc449 = trunc i64 %1176 to i1 +1173: ; preds = %335 + %1174 = load i64, ptr %69, align 8, !range !341, !noundef !9 + %trunc449 = trunc i64 %1174 to i1 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %.sroa.6207, ptr noundef nonnull align 8 dereferenceable(24) %200, i64 24, i1 false) call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %69) - br i1 %trunc449, label %1182, label %1177 + br i1 %trunc449, label %1180, label %1175 -1177: ; preds = %1175 +1175: ; preds = %1173 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %70, ptr noundef nonnull align 8 dereferenceable(24) %.sroa.6207, i64 24, i1 false) call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %5), !noalias !1671 invoke void @"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$14current_memory17hf92e389c95c4703bE.llvm.9832446184049035033"(ptr noalias nocapture noundef nonnull sret({ [1 x i64], i64, [1 x i64] }) align 8 dereferenceable(24) %5, ptr noalias noundef nonnull readonly align 8 dereferenceable(16) %70) to label %.noexc672 unwind label %.thread922.loopexit -.noexc672: ; preds = %1177 - %1178 = load i64, ptr %201, align 8, !range !127, !noalias !1671, !noundef !9 - %.not.i.i.i671 = icmp eq i64 %1178, 0 - br i1 %.not.i.i.i671, label %1184, label %1179 +.noexc672: ; preds = %1175 + %1176 = load i64, ptr %201, align 8, !range !127, !noalias !1671, !noundef !9 + %.not.i.i.i671 = icmp eq i64 %1176, 0 + br i1 %.not.i.i.i671, label %1182, label %1177 -1179: ; preds = %.noexc672 - %1180 = load ptr, ptr %5, align 8, !noalias !1671, !nonnull !9, !noundef !9 - %1181 = load i64, ptr %202, align 8, !noalias !1671, !noundef !9 - invoke void @"_ZN63_$LT$alloc..alloc..Global$u20$as$u20$core..alloc..Allocator$GT$10deallocate17hae8e459b587c5295E.llvm.9832446184049035033"(ptr noalias noundef nonnull readonly align 1 %203, ptr noundef nonnull %1180, i64 noundef %1178, i64 noundef %1181) - to label %1184 unwind label %.thread922.loopexit +1177: ; preds = %.noexc672 + %1178 = load ptr, ptr %5, align 8, !noalias !1671, !nonnull !9, !noundef !9 + %1179 = load i64, ptr %202, align 8, !noalias !1671, !noundef !9 + invoke void @"_ZN63_$LT$alloc..alloc..Global$u20$as$u20$core..alloc..Allocator$GT$10deallocate17hae8e459b587c5295E.llvm.9832446184049035033"(ptr noalias noundef nonnull readonly align 1 %203, ptr noundef nonnull %1178, i64 noundef %1176, i64 noundef %1179) + to label %1182 unwind label %.thread922.loopexit -1182: ; preds = %1175 - %1183 = getelementptr inbounds i8, ptr %0, i64 8 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %1183, ptr noundef nonnull align 8 dereferenceable(24) %.sroa.6207, i64 24, i1 false) +1180: ; preds = %1173 + %1181 = getelementptr inbounds i8, ptr %0, i64 8 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %1181, ptr noundef nonnull align 8 dereferenceable(24) %.sroa.6207, i64 24, i1 false) store i64 1, ptr %0, align 8 call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %70) br label %312 -1184: ; preds = %.noexc672, %1179 +1182: ; preds = %.noexc672, %1177 call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %5), !noalias !1671 call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %70) br label %"_ZN69_$LT$jpeg_decoder..marker..Marker$u20$as$u20$core..cmp..PartialEq$GT$2eq17hd6f55482fac48aecE.exit.thread" -1185: ; preds = %311 +1183: ; preds = %311 call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %65) call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %64) store ptr %106, ptr %64, align 8 - %1186 = getelementptr inbounds i8, ptr %64, i64 8 - store ptr @"_ZN65_$LT$jpeg_decoder..marker..Marker$u20$as$u20$core..fmt..Debug$GT$3fmt17hdc293fe91d6b90a6E", ptr %1186, align 8 + %1184 = getelementptr inbounds i8, ptr %64, i64 8 + store ptr @"_ZN65_$LT$jpeg_decoder..marker..Marker$u20$as$u20$core..fmt..Debug$GT$3fmt17hdc293fe91d6b90a6E", ptr %1184, align 8 store ptr @anon.60689fdbfa59ae5f463a599edb886518.103, ptr %65, align 8, !alias.scope !1678, !noalias !1681 - %1187 = getelementptr inbounds i8, ptr %65, i64 8 - store i64 2, ptr %1187, align 8, !alias.scope !1678, !noalias !1681 - %1188 = getelementptr inbounds i8, ptr %65, i64 32 - store ptr null, ptr %1188, align 8, !alias.scope !1678, !noalias !1681 - %1189 = getelementptr inbounds i8, ptr %65, i64 16 - store ptr %64, ptr %1189, align 8, !alias.scope !1678, !noalias !1681 - %1190 = getelementptr inbounds i8, ptr %65, i64 24 - store i64 1, ptr %1190, align 8, !alias.scope !1678, !noalias !1681 + %1185 = getelementptr inbounds i8, ptr %65, i64 8 + store i64 2, ptr %1185, align 8, !alias.scope !1678, !noalias !1681 + %1186 = getelementptr inbounds i8, ptr %65, i64 32 + store ptr null, ptr %1186, align 8, !alias.scope !1678, !noalias !1681 + %1187 = getelementptr inbounds i8, ptr %65, i64 16 + store ptr %64, ptr %1187, align 8, !alias.scope !1678, !noalias !1681 + %1188 = getelementptr inbounds i8, ptr %65, i64 24 + store i64 1, ptr %1188, align 8, !alias.scope !1678, !noalias !1681 invoke fastcc void @_ZN5alloc3fmt6format17h55b1a8bf61a7c713E(ptr noalias nocapture noundef nonnull align 8 dereferenceable(24) %66, ptr noalias nocapture noundef nonnull align 8 dereferenceable(48) %65) - to label %1191 unwind label %.thread922.loopexit.split-lp + to label %1189 unwind label %.thread922.loopexit.split-lp -1191: ; preds = %1185 +1189: ; preds = %1183 call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %65) call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %64) - %1192 = getelementptr inbounds i8, ptr %0, i64 8 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %1192, ptr noundef nonnull align 8 dereferenceable(24) %66, i64 24, i1 false) + %1190 = getelementptr inbounds i8, ptr %0, i64 8 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %1190, ptr noundef nonnull align 8 dereferenceable(24) %66, i64 24, i1 false) store i64 1, ptr %0, align 8 br label %312 -1193: ; preds = %486 - %1194 = landingpad { ptr, i32 } +1191: ; preds = %486 + %1192 = landingpad { ptr, i32 } cleanup br label %.body546 -1195: ; preds = %486 +1193: ; preds = %486 call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %108) call void @"_ZN4core3ptr69drop_in_place$LT$alloc..vec..Vec$LT$alloc..vec..Vec$LT$u8$GT$$GT$$GT$17h5ea087b400879ab1E"(ptr noalias noundef nonnull align 8 dereferenceable(24) %110) call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %110) br label %116 -.thread: ; preds = %.thread922.loopexit, %.thread922.loopexit.split-lp, %461, %455, %397, %413, %427, %1120, %408, %404, %424, %420, %.thread937, %464, %500, %1166, %1169, %1172 - %.pn486920 = phi { ptr, i32 } [ %eh.lpad-body550940, %.thread937 ], [ %.pn479.pn.ph, %464 ], [ %.pn476, %500 ], [ %1121, %1120 ], [ %1167, %1166 ], [ %1170, %1169 ], [ %1173, %1172 ], [ %425, %424 ], [ %421, %420 ], [ %409, %408 ], [ %405, %404 ], [ %398, %397 ], [ %414, %413 ], [ %428, %427 ], [ %462, %461 ], [ %456, %455 ], [ %lpad.loopexit1096, %.thread922.loopexit ], [ %lpad.loopexit.split-lp1097, %.thread922.loopexit.split-lp ] +.thread: ; preds = %.thread922.loopexit, %.thread922.loopexit.split-lp, %461, %455, %397, %413, %427, %1120, %408, %404, %424, %420, %.thread937, %464, %500, %1164, %1167, %1170 + %.pn486920 = phi { ptr, i32 } [ %eh.lpad-body550940, %.thread937 ], [ %.pn479.pn.ph, %464 ], [ %.pn476, %500 ], [ %1121, %1120 ], [ %1165, %1164 ], [ %1168, %1167 ], [ %1171, %1170 ], [ %425, %424 ], [ %421, %420 ], [ %409, %408 ], [ %405, %404 ], [ %398, %397 ], [ %414, %413 ], [ %428, %427 ], [ %462, %461 ], [ %456, %455 ], [ %lpad.loopexit1096, %.thread922.loopexit ], [ %lpad.loopexit.split-lp1097, %.thread922.loopexit.split-lp ] invoke void @"_ZN4core3ptr70drop_in_place$LT$alloc..vec..Vec$LT$alloc..vec..Vec$LT$u16$GT$$GT$$GT$17h694d9b2528e63298E"(ptr noalias noundef nonnull align 8 dereferenceable(24) %108) #24 to label %.body546 unwind label %432 @@ -17558,8 +17538,8 @@ default.unreachable: ; preds = %755 %.pn488.pn = phi { ptr, i32 } [ %.pn488.ph, %.body546 ], [ %178, %177 ], [ %174, %173 ] resume { ptr, i32 } %.pn488.pn -.body546: ; preds = %193, %189, %1193, %.thread - %.pn488.ph = phi { ptr, i32 } [ %.pn486920, %.thread ], [ %1194, %1193 ], [ %194, %193 ], [ %190, %189 ] +.body546: ; preds = %193, %189, %1191, %.thread + %.pn488.ph = phi { ptr, i32 } [ %.pn486920, %.thread ], [ %1192, %1191 ], [ %194, %193 ], [ %190, %189 ] invoke void @"_ZN4core3ptr69drop_in_place$LT$alloc..vec..Vec$LT$alloc..vec..Vec$LT$u8$GT$$GT$$GT$17h5ea087b400879ab1E"(ptr noalias noundef nonnull align 8 dereferenceable(24) %110) #24 to label %.body unwind label %432 } @@ -17633,7 +17613,6 @@ define hidden void @"_ZN12jpeg_decoder7decoder16Decoder$LT$R$GT$15decode_interna %65 = alloca { { { i64, ptr }, i64 }, i8, i8, [6 x i8] }, align 8 %66 = alloca { i64, [3 x i64] }, align 8 %.sroa.7211.sroa.3 = alloca [23 x i8], align 1 - %.sroa.5 = alloca [23 x i8], align 1 %67 = alloca { i64, [3 x i64] }, align 8 %.sroa.6207 = alloca [3 x i64], align 8 %68 = alloca { { i64, ptr }, i64 }, align 8 @@ -17703,7 +17682,7 @@ define hidden void @"_ZN12jpeg_decoder7decoder16Decoder$LT$R$GT$15decode_interna store i64 0, ptr %0, align 8 br label %114 -114: ; preds = %130, %.critedge, %140, %1176, %454, %112 +114: ; preds = %130, %.critedge, %140, %1174, %454, %112 ret void 115: ; preds = %111 @@ -17735,7 +17714,7 @@ define hidden void @"_ZN12jpeg_decoder7decoder16Decoder$LT$R$GT$15decode_interna %125 = invoke { i64, ptr } @"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$11allocate_in17hf053198fa2235dffE"(i64 noundef %.0.i, i1 noundef zeroext false) to label %149 unwind label %158, !noalias !1689 -126: ; preds = %1136 +126: ; preds = %1134 unreachable 127: ; preds = %115, %"_ZN82_$LT$std..io..buffered..bufreader..BufReader$LT$R$GT$$u20$as$u20$std..io..Read$GT$10read_exact17h618c1d1c9bbd9fd5E.exit.i" @@ -17964,9 +17943,9 @@ define hidden void @"_ZN12jpeg_decoder7decoder16Decoder$LT$R$GT$15decode_interna %.sroa.0151.sroa.2.0..sroa_idx = getelementptr inbounds i8, ptr %83, i64 32 %.sroa.4.0..sroa_idx.i.i.i.i = getelementptr inbounds i8, ptr %13, i64 8 %214 = getelementptr inbounds i8, ptr %13, i64 24 - %.sroa.5.0..sroa_idx5.i.i.i.i = getelementptr inbounds i8, ptr %13, i64 16 %215 = getelementptr inbounds i8, ptr %12, i64 8 %216 = getelementptr inbounds i8, ptr %12, i64 16 + %.sroa.09.sroa.5.0..sroa.4.0..sroa_idx.i.sroa_idx.i.i.i = getelementptr inbounds i8, ptr %13, i64 16 %.sroa.8828.8..sroa_idx = getelementptr inbounds i8, ptr %82, i64 8 %217 = getelementptr inbounds i8, ptr %10, i64 8 %218 = getelementptr inbounds i8, ptr %10, i64 16 @@ -18008,9 +17987,9 @@ define hidden void @"_ZN12jpeg_decoder7decoder16Decoder$LT$R$GT$15decode_interna %.sroa.0119.sroa.2.0..sroa_idx = getelementptr inbounds i8, ptr %89, i64 32 %.sroa.4.0..sroa_idx.i.i.i.i635 = getelementptr inbounds i8, ptr %9, i64 8 %251 = getelementptr inbounds i8, ptr %9, i64 24 - %.sroa.5.0..sroa_idx5.i.i.i.i636 = getelementptr inbounds i8, ptr %9, i64 16 %252 = getelementptr inbounds i8, ptr %8, i64 8 %253 = getelementptr inbounds i8, ptr %8, i64 16 + %.sroa.09.sroa.5.0..sroa.4.0..sroa_idx.i.sroa_idx.i.i.i636 = getelementptr inbounds i8, ptr %9, i64 16 %.sroa.4807.0..sroa_idx = getelementptr inbounds i8, ptr %88, i64 8 %254 = getelementptr inbounds i8, ptr %106, i64 16 %255 = getelementptr inbounds i8, ptr %106, i64 8 @@ -18089,12 +18068,12 @@ define hidden void @"_ZN12jpeg_decoder7decoder16Decoder$LT$R$GT$15decode_interna invoke fastcc void @"_ZN12jpeg_decoder7decoder16Decoder$LT$R$GT$11read_marker17h5e88096e71009dbfE"(ptr noalias nocapture noundef nonnull align 8 dereferenceable(24) %103, ptr noalias noundef nonnull align 8 dereferenceable(344) %1) to label %284 unwind label %.thread931.loopexit -.thread931.loopexit: ; preds = %1160, %1158, %1045, %1043, %470, %283, %319, %296, %308, %312, %315, %1143, %316 +.thread931.loopexit: ; preds = %1158, %1156, %1045, %1043, %470, %283, %319, %296, %308, %312, %315, %1141, %316 %lpad.loopexit1105 = landingpad { ptr, i32 } cleanup br label %.thread -.thread931.loopexit.split-lp: ; preds = %1116, %1092, %468, %452, %"_ZN69_$LT$jpeg_decoder..marker..Marker$u20$as$u20$core..cmp..PartialEq$GT$2eq17hd6f55482fac48aecE.exit", %418, %.critedge500, %1063, %479, %1113, %1166 +.thread931.loopexit.split-lp: ; preds = %1116, %1092, %468, %452, %"_ZN69_$LT$jpeg_decoder..marker..Marker$u20$as$u20$core..cmp..PartialEq$GT$2eq17hd6f55482fac48aecE.exit", %418, %.critedge500, %1063, %479, %1113, %1164 %lpad.loopexit.split-lp1106 = landingpad { ptr, i32 } cleanup br label %.thread @@ -18130,7 +18109,7 @@ define hidden void @"_ZN12jpeg_decoder7decoder16Decoder$LT$R$GT$15decode_interna %.sink = phi i8 [ %288, %289 ], [ %.sroa.8.0, %281 ] store i8 %storemerge, ptr %104, align 1 store i8 %.sink, ptr %177, align 1 - switch i8 %storemerge, label %1166 [ + switch i8 %storemerge, label %1164 [ i8 0, label %294 i8 2, label %296 i8 3, label %300 @@ -18146,7 +18125,7 @@ define hidden void @"_ZN12jpeg_decoder7decoder16Decoder$LT$R$GT$15decode_interna i8 15, label %316 ] -293: ; preds = %1172, %1163, %1134, %1128, %1118, %1114, %1074, %1065, %1064, %447, %425, %415, %317, %313, %300, %290 +293: ; preds = %1170, %1161, %1132, %1128, %1118, %1114, %1074, %1065, %1064, %447, %425, %415, %317, %313, %300, %290 call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %104) br label %467 @@ -18214,7 +18193,6 @@ define hidden void @"_ZN12jpeg_decoder7decoder16Decoder$LT$R$GT$15decode_interna br label %293 315: ; preds = %292 - call void @llvm.lifetime.start.p0(i64 23, ptr nonnull %.sroa.5) call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %66) invoke void @_ZN12jpeg_decoder6parser9parse_app17h75637b12f35caa17E(ptr noalias nocapture noundef nonnull sret({ i64, [3 x i64] }) align 8 dereferenceable(32) %66, ptr noalias noundef nonnull align 8 dereferenceable(48) %180, i8 noundef 13, i8 %.sink) to label %1130 unwind label %.thread931.loopexit @@ -18223,7 +18201,7 @@ define hidden void @"_ZN12jpeg_decoder7decoder16Decoder$LT$R$GT$15decode_interna call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %68) call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %67) invoke void @_ZN12jpeg_decoder6parser9parse_com17h7e068e4234cc1293E(ptr noalias nocapture noundef nonnull sret({ i64, [3 x i64] }) align 8 dereferenceable(32) %67, ptr noalias noundef nonnull align 8 dereferenceable(48) %180) - to label %1156 unwind label %.thread931.loopexit + to label %1154 unwind label %.thread931.loopexit 317: ; preds = %294 %318 = getelementptr inbounds i8, ptr %0, i64 8 @@ -18565,10 +18543,10 @@ _ZN4core3ops5range11RangeBounds8contains17h6aa3edaf5343fa2fE.exit.thread: ; pred call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %102) br label %"_ZN69_$LT$jpeg_decoder..marker..Marker$u20$as$u20$core..cmp..PartialEq$GT$2eq17hd6f55482fac48aecE.exit.thread" -"_ZN69_$LT$jpeg_decoder..marker..Marker$u20$as$u20$core..cmp..PartialEq$GT$2eq17hd6f55482fac48aecE.exit.thread": ; preds = %302, %1165, %"_ZN4core3ptr50drop_in_place$LT$jpeg_decoder..parser..AppData$GT$17hb91fa24fb11e84e6E.exit", %1127, %1077, %1048, %444, %410 - %.1427 = phi i32 [ %.0426, %1165 ], [ %.0426, %"_ZN4core3ptr50drop_in_place$LT$jpeg_decoder..parser..AppData$GT$17hb91fa24fb11e84e6E.exit" ], [ %.0426, %1127 ], [ %.0426, %1077 ], [ %1012, %1048 ], [ %.0426, %444 ], [ %.0426, %410 ], [ %.0426, %302 ] - %.sroa.8.1 = phi i8 [ undef, %1165 ], [ undef, %"_ZN4core3ptr50drop_in_place$LT$jpeg_decoder..parser..AppData$GT$17hb91fa24fb11e84e6E.exit" ], [ undef, %1127 ], [ undef, %1077 ], [ %.sroa.8.2, %1048 ], [ undef, %444 ], [ undef, %410 ], [ undef, %302 ] - %.sroa.014.1 = phi i8 [ 18, %1165 ], [ 18, %"_ZN4core3ptr50drop_in_place$LT$jpeg_decoder..parser..AppData$GT$17hb91fa24fb11e84e6E.exit" ], [ 18, %1127 ], [ 18, %1077 ], [ %.sroa.014.2, %1048 ], [ 18, %444 ], [ 18, %410 ], [ 18, %302 ] +"_ZN69_$LT$jpeg_decoder..marker..Marker$u20$as$u20$core..cmp..PartialEq$GT$2eq17hd6f55482fac48aecE.exit.thread": ; preds = %1138, %1139, %1140, %1147, %1150, %1153, %1141, %1130, %302, %1163, %1127, %1077, %1048, %444, %410 + %.1427 = phi i32 [ %.0426, %1163 ], [ %.0426, %1127 ], [ %.0426, %1077 ], [ %1012, %1048 ], [ %.0426, %444 ], [ %.0426, %410 ], [ %.0426, %302 ], [ %.0426, %1130 ], [ %.0426, %1141 ], [ %.0426, %1153 ], [ %.0426, %1150 ], [ %.0426, %1147 ], [ %.0426, %1140 ], [ %.0426, %1139 ], [ %.0426, %1138 ] + %.sroa.8.1 = phi i8 [ undef, %1163 ], [ undef, %1127 ], [ undef, %1077 ], [ %.sroa.8.2, %1048 ], [ undef, %444 ], [ undef, %410 ], [ undef, %302 ], [ undef, %1130 ], [ undef, %1141 ], [ undef, %1153 ], [ undef, %1150 ], [ undef, %1147 ], [ undef, %1140 ], [ undef, %1139 ], [ undef, %1138 ] + %.sroa.014.1 = phi i8 [ 18, %1163 ], [ 18, %1127 ], [ 18, %1077 ], [ %.sroa.014.2, %1048 ], [ 18, %444 ], [ 18, %410 ], [ 18, %302 ], [ 18, %1130 ], [ 18, %1141 ], [ 18, %1153 ], [ 18, %1150 ], [ 18, %1147 ], [ 18, %1140 ], [ 18, %1139 ], [ 18, %1138 ] %411 = load i8, ptr %104, align 1, !range !562, !noundef !9 %412 = load i8, ptr %177, align 1 call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %104) @@ -18785,7 +18763,7 @@ _ZN4core3ops5range11RangeBounds8contains17h6aa3edaf5343fa2fE.exit.thread: ; pred 467: ; preds = %462, %293 invoke void @"_ZN4core3ptr70drop_in_place$LT$alloc..vec..Vec$LT$alloc..vec..Vec$LT$u16$GT$$GT$$GT$17h694d9b2528e63298E"(ptr noalias noundef nonnull align 8 dereferenceable(24) %106) - to label %1176 unwind label %1174 + to label %1174 unwind label %1172 468: ; preds = %306 %469 = invoke { i64, ptr } @"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$11allocate_in17h0685f8b8d660cb99E"(i64 noundef 29, i1 noundef zeroext false) @@ -19666,7 +19644,7 @@ default.unreachable: ; preds = %736 %784 = zext nneg i8 %783 to i16 %785 = icmp ugt i16 %507, 1 %786 = icmp ult i16 %509, 2 - %brmerge2467 = or i1 %.not.i595, %786 + %brmerge2471 = or i1 %.not.i595, %786 br label %794 .thread412.i: ; preds = %..loopexit500_crit_edge.us.i, %.loopexit498.i, %._crit_edge.thread.i, %771, %._crit_edge.thread1148.i @@ -19816,7 +19794,7 @@ default.unreachable: ; preds = %736 br i1 %785, label %.lr.ph.i, label %.preheader497.i .preheader497.i: ; preds = %873, %"_ZN84_$LT$alloc..vec..Vec$LT$T$C$A$GT$$u20$as$u20$core..ops..index..IndexMut$LT$I$GT$$GT$9index_mut17he174df0a79271239E.exit339.i" - br i1 %brmerge2467, label %.loopexit498.i, label %.preheader.us.i + br i1 %brmerge2471, label %.loopexit498.i, label %.preheader.us.i .preheader.us.i: ; preds = %.preheader497.i, %..loopexit496_crit_edge.us.i %spec.select493844.us.i = phi i64 [ %spec.select843.us.i, %..loopexit496_crit_edge.us.i ], [ 0, %.preheader497.i ] @@ -20301,7 +20279,7 @@ default.unreachable: ; preds = %736 call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %13), !noalias !1912 store i64 %969, ptr %13, align 8, !noalias !1912 store i64 %.sroa.0.0.copyload19.i.i.i, ptr %.sroa.4.0..sroa_idx.i.i.i.i, align 8, !noalias !1913 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %.sroa.5.0..sroa_idx5.i.i.i.i, ptr noundef nonnull align 8 dereferenceable(16) %.sroa.09.sroa.5.i.i.i, i64 16, i1 false), !noalias !1913 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %.sroa.09.sroa.5.0..sroa.4.0..sroa_idx.i.sroa_idx.i.i.i, ptr noundef nonnull align 8 dereferenceable(16) %.sroa.09.sroa.5.i.i.i, i64 16, i1 false), !noalias !1913 call void @llvm.experimental.noalias.scope.decl(metadata !1914) %.val.i.i.i.i.i = load i64, ptr %214, align 8, !alias.scope !1914, !noalias !1917, !noundef !9 %.not.i.i.i.i.i611 = icmp eq i64 %.val.i.i.i.i.i, 0 @@ -20548,7 +20526,7 @@ default.unreachable: ; preds = %736 call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %9), !noalias !1975 store i64 %1026, ptr %9, align 8, !noalias !1975 store i64 %.sroa.0.0.copyload19.i.i.i637, ptr %.sroa.4.0..sroa_idx.i.i.i.i635, align 8, !noalias !1976 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %.sroa.5.0..sroa_idx5.i.i.i.i636, ptr noundef nonnull align 8 dereferenceable(16) %.sroa.09.sroa.5.i.i.i631, i64 16, i1 false), !noalias !1976 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %.sroa.09.sroa.5.0..sroa.4.0..sroa_idx.i.sroa_idx.i.i.i636, ptr noundef nonnull align 8 dereferenceable(16) %.sroa.09.sroa.5.i.i.i631, i64 16, i1 false), !noalias !1976 call void @llvm.experimental.noalias.scope.decl(metadata !1977) %.val.i.i.i.i.i640 = load i64, ptr %251, align 8, !alias.scope !1977, !noalias !1980, !noundef !9 %.not.i.i.i.i.i641 = icmp eq i64 %.val.i.i.i.i.i640, 0 @@ -20885,186 +20863,178 @@ default.unreachable: ; preds = %736 1130: ; preds = %315 %1131 = load i64, ptr %66, align 8, !range !1288, !noundef !9 - %1132 = icmp eq i64 %1131, -9223372036854775800 %.sroa.7211.sroa.0.0.copyload = load i8, ptr %.sroa.4391.0..sroa_idx, align 8 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(23) %.sroa.7211.sroa.3, ptr noundef nonnull align 1 dereferenceable(23) %.sroa.7211.sroa.3.0..sroa.4391.0..sroa_idx.sroa_idx, i64 23, i1 false) call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %66) - br i1 %1132, label %1134, label %1133 - -1133: ; preds = %1130 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(23) %.sroa.5, ptr noundef nonnull align 1 dereferenceable(23) %.sroa.7211.sroa.3, i64 23, i1 false) - %.not451.not = icmp eq i64 %1131, -9223372036854775801 - br i1 %.not451.not, label %"_ZN4core3ptr50drop_in_place$LT$jpeg_decoder..parser..AppData$GT$17hb91fa24fb11e84e6E.exit", label %1136 + switch i64 %1131, label %1134 [ + i64 -9223372036854775800, label %1132 + i64 -9223372036854775801, label %"_ZN69_$LT$jpeg_decoder..marker..Marker$u20$as$u20$core..cmp..PartialEq$GT$2eq17hd6f55482fac48aecE.exit.thread" + ] -1134: ; preds = %1130 - %1135 = getelementptr inbounds i8, ptr %0, i64 8 - store i8 %.sroa.7211.sroa.0.0.copyload, ptr %1135, align 8 +1132: ; preds = %1130 + %1133 = getelementptr inbounds i8, ptr %0, i64 8 + store i8 %.sroa.7211.sroa.0.0.copyload, ptr %1133, align 8 %.sroa.7211.sroa.3.0..sroa_idx = getelementptr inbounds i8, ptr %0, i64 9 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(23) %.sroa.7211.sroa.3.0..sroa_idx, ptr noundef nonnull align 1 dereferenceable(23) %.sroa.7211.sroa.3, i64 23, i1 false) store i64 1, ptr %0, align 8 - call void @llvm.lifetime.end.p0(i64 23, ptr nonnull %.sroa.5) br label %293 -1136: ; preds = %1133 - %1137 = xor i64 %1131, -9223372036854775808 - %1138 = icmp ult i64 %1137, 7 - %1139 = select i1 %1138, i64 %1137, i64 3 - switch i64 %1139, label %126 [ - i64 0, label %1140 - i64 1, label %1141 - i64 2, label %1142 - i64 3, label %1143 - i64 4, label %1144 - i64 5, label %1145 - i64 6, label %1146 +1134: ; preds = %1130 + %1135 = xor i64 %1131, -9223372036854775808 + %1136 = icmp ult i64 %1135, 7 + %1137 = select i1 %1136, i64 %1135, i64 3 + switch i64 %1137, label %126 [ + i64 0, label %1138 + i64 1, label %1139 + i64 2, label %1140 + i64 3, label %1141 + i64 4, label %1142 + i64 5, label %1143 + i64 6, label %1144 ] -1140: ; preds = %1136 +1138: ; preds = %1134 store i8 %.sroa.7211.sroa.0.0.copyload, ptr %191, align 4 - br label %"_ZN4core3ptr50drop_in_place$LT$jpeg_decoder..parser..AppData$GT$17hb91fa24fb11e84e6E.exit" + br label %"_ZN69_$LT$jpeg_decoder..marker..Marker$u20$as$u20$core..cmp..PartialEq$GT$2eq17hd6f55482fac48aecE.exit.thread" -1141: ; preds = %1136 +1139: ; preds = %1134 store i8 1, ptr %190, align 2 - br label %"_ZN4core3ptr50drop_in_place$LT$jpeg_decoder..parser..AppData$GT$17hb91fa24fb11e84e6E.exit" + br label %"_ZN69_$LT$jpeg_decoder..marker..Marker$u20$as$u20$core..cmp..PartialEq$GT$2eq17hd6f55482fac48aecE.exit.thread" -1142: ; preds = %1136 +1140: ; preds = %1134 store i8 1, ptr %189, align 1 - br label %"_ZN4core3ptr50drop_in_place$LT$jpeg_decoder..parser..AppData$GT$17hb91fa24fb11e84e6E.exit" + br label %"_ZN69_$LT$jpeg_decoder..marker..Marker$u20$as$u20$core..cmp..PartialEq$GT$2eq17hd6f55482fac48aecE.exit.thread" -1143: ; preds = %1136 +1141: ; preds = %1134 store i64 %1131, ptr %65, align 8 store i8 %.sroa.7211.sroa.0.0.copyload, ptr %.sroa.5218.0..sroa_idx219, align 8 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(23) %.sroa.9223.0..sroa_idx224, ptr noundef nonnull align 1 dereferenceable(23) %.sroa.5, i64 23, i1 false) + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(23) %.sroa.9223.0..sroa_idx224, ptr noundef nonnull align 1 dereferenceable(23) %.sroa.7211.sroa.3, i64 23, i1 false) invoke fastcc void @"_ZN5alloc3vec16Vec$LT$T$C$A$GT$4push17hecd7c47cbf97bbbfE"(ptr noalias noundef nonnull align 8 dereferenceable(24) %188, ptr noalias nocapture noundef nonnull align 8 dereferenceable(32) %65) - to label %"_ZN4core3ptr50drop_in_place$LT$jpeg_decoder..parser..AppData$GT$17hb91fa24fb11e84e6E.exit" unwind label %.thread931.loopexit + to label %"_ZN69_$LT$jpeg_decoder..marker..Marker$u20$as$u20$core..cmp..PartialEq$GT$2eq17hd6f55482fac48aecE.exit.thread" unwind label %.thread931.loopexit -1144: ; preds = %1136 +1142: ; preds = %1134 invoke fastcc void @"_ZN4core3ptr74drop_in_place$LT$core..option..Option$LT$alloc..vec..Vec$LT$u8$GT$$GT$$GT$17hc83dd61601bede16E"(ptr noalias noundef nonnull align 8 dereferenceable(24) %187) - to label %1149 unwind label %1147 + to label %1147 unwind label %1145 -1145: ; preds = %1136 +1143: ; preds = %1134 invoke fastcc void @"_ZN4core3ptr74drop_in_place$LT$core..option..Option$LT$alloc..vec..Vec$LT$u8$GT$$GT$$GT$17hc83dd61601bede16E"(ptr noalias noundef nonnull align 8 dereferenceable(24) %186) - to label %1152 unwind label %1150 + to label %1150 unwind label %1148 -1146: ; preds = %1136 +1144: ; preds = %1134 invoke fastcc void @"_ZN4core3ptr74drop_in_place$LT$core..option..Option$LT$alloc..vec..Vec$LT$u8$GT$$GT$$GT$17hc83dd61601bede16E"(ptr noalias noundef nonnull align 8 dereferenceable(24) %185) - to label %1155 unwind label %1153 + to label %1153 unwind label %1151 -1147: ; preds = %1144 - %1148 = landingpad { ptr, i32 } +1145: ; preds = %1142 + %1146 = landingpad { ptr, i32 } cleanup store i8 %.sroa.7211.sroa.0.0.copyload, ptr %187, align 8 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(23) %.sroa.5232.0..sroa_idx233, ptr noundef nonnull align 1 dereferenceable(23) %.sroa.5, i64 23, i1 false) + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(23) %.sroa.5232.0..sroa_idx233, ptr noundef nonnull align 1 dereferenceable(23) %.sroa.7211.sroa.3, i64 23, i1 false) br label %.thread -1149: ; preds = %1144 +1147: ; preds = %1142 store i8 %.sroa.7211.sroa.0.0.copyload, ptr %187, align 8 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(23) %.sroa.5232.0..sroa_idx233, ptr noundef nonnull align 1 dereferenceable(23) %.sroa.5, i64 23, i1 false) - br label %"_ZN4core3ptr50drop_in_place$LT$jpeg_decoder..parser..AppData$GT$17hb91fa24fb11e84e6E.exit" + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(23) %.sroa.5232.0..sroa_idx233, ptr noundef nonnull align 1 dereferenceable(23) %.sroa.7211.sroa.3, i64 23, i1 false) + br label %"_ZN69_$LT$jpeg_decoder..marker..Marker$u20$as$u20$core..cmp..PartialEq$GT$2eq17hd6f55482fac48aecE.exit.thread" -1150: ; preds = %1145 - %1151 = landingpad { ptr, i32 } +1148: ; preds = %1143 + %1149 = landingpad { ptr, i32 } cleanup store i8 %.sroa.7211.sroa.0.0.copyload, ptr %186, align 8 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(23) %.sroa.5238.0..sroa_idx239, ptr noundef nonnull align 1 dereferenceable(23) %.sroa.5, i64 23, i1 false) + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(23) %.sroa.5238.0..sroa_idx239, ptr noundef nonnull align 1 dereferenceable(23) %.sroa.7211.sroa.3, i64 23, i1 false) br label %.thread -1152: ; preds = %1145 +1150: ; preds = %1143 store i8 %.sroa.7211.sroa.0.0.copyload, ptr %186, align 8 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(23) %.sroa.5238.0..sroa_idx239, ptr noundef nonnull align 1 dereferenceable(23) %.sroa.5, i64 23, i1 false) - br label %"_ZN4core3ptr50drop_in_place$LT$jpeg_decoder..parser..AppData$GT$17hb91fa24fb11e84e6E.exit" + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(23) %.sroa.5238.0..sroa_idx239, ptr noundef nonnull align 1 dereferenceable(23) %.sroa.7211.sroa.3, i64 23, i1 false) + br label %"_ZN69_$LT$jpeg_decoder..marker..Marker$u20$as$u20$core..cmp..PartialEq$GT$2eq17hd6f55482fac48aecE.exit.thread" -1153: ; preds = %1146 - %1154 = landingpad { ptr, i32 } +1151: ; preds = %1144 + %1152 = landingpad { ptr, i32 } cleanup store i8 %.sroa.7211.sroa.0.0.copyload, ptr %185, align 8 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(23) %.sroa.5244.0..sroa_idx245, ptr noundef nonnull align 1 dereferenceable(23) %.sroa.5, i64 23, i1 false) + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(23) %.sroa.5244.0..sroa_idx245, ptr noundef nonnull align 1 dereferenceable(23) %.sroa.7211.sroa.3, i64 23, i1 false) br label %.thread -1155: ; preds = %1146 +1153: ; preds = %1144 store i8 %.sroa.7211.sroa.0.0.copyload, ptr %185, align 8 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(23) %.sroa.5244.0..sroa_idx245, ptr noundef nonnull align 1 dereferenceable(23) %.sroa.5, i64 23, i1 false) - br label %"_ZN4core3ptr50drop_in_place$LT$jpeg_decoder..parser..AppData$GT$17hb91fa24fb11e84e6E.exit" - -"_ZN4core3ptr50drop_in_place$LT$jpeg_decoder..parser..AppData$GT$17hb91fa24fb11e84e6E.exit": ; preds = %1143, %1155, %1152, %1149, %1142, %1141, %1140, %1133 - call void @llvm.lifetime.end.p0(i64 23, ptr nonnull %.sroa.5) + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(23) %.sroa.5244.0..sroa_idx245, ptr noundef nonnull align 1 dereferenceable(23) %.sroa.7211.sroa.3, i64 23, i1 false) br label %"_ZN69_$LT$jpeg_decoder..marker..Marker$u20$as$u20$core..cmp..PartialEq$GT$2eq17hd6f55482fac48aecE.exit.thread" -1156: ; preds = %316 - %1157 = load i64, ptr %67, align 8, !range !341, !noundef !9 - %trunc449 = trunc i64 %1157 to i1 +1154: ; preds = %316 + %1155 = load i64, ptr %67, align 8, !range !341, !noundef !9 + %trunc449 = trunc i64 %1155 to i1 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %.sroa.6207, ptr noundef nonnull align 8 dereferenceable(24) %181, i64 24, i1 false) call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %67) - br i1 %trunc449, label %1163, label %1158 + br i1 %trunc449, label %1161, label %1156 -1158: ; preds = %1156 +1156: ; preds = %1154 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %68, ptr noundef nonnull align 8 dereferenceable(24) %.sroa.6207, i64 24, i1 false) call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %5), !noalias !2027 invoke void @"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$14current_memory17hf92e389c95c4703bE.llvm.9832446184049035033"(ptr noalias nocapture noundef nonnull sret({ [1 x i64], i64, [1 x i64] }) align 8 dereferenceable(24) %5, ptr noalias noundef nonnull readonly align 8 dereferenceable(16) %68) to label %.noexc680 unwind label %.thread931.loopexit -.noexc680: ; preds = %1158 - %1159 = load i64, ptr %182, align 8, !range !127, !noalias !2027, !noundef !9 - %.not.i.i.i679 = icmp eq i64 %1159, 0 - br i1 %.not.i.i.i679, label %1165, label %1160 +.noexc680: ; preds = %1156 + %1157 = load i64, ptr %182, align 8, !range !127, !noalias !2027, !noundef !9 + %.not.i.i.i679 = icmp eq i64 %1157, 0 + br i1 %.not.i.i.i679, label %1163, label %1158 -1160: ; preds = %.noexc680 - %1161 = load ptr, ptr %5, align 8, !noalias !2027, !nonnull !9, !noundef !9 - %1162 = load i64, ptr %183, align 8, !noalias !2027, !noundef !9 - invoke void @"_ZN63_$LT$alloc..alloc..Global$u20$as$u20$core..alloc..Allocator$GT$10deallocate17hae8e459b587c5295E.llvm.9832446184049035033"(ptr noalias noundef nonnull readonly align 1 %184, ptr noundef nonnull %1161, i64 noundef %1159, i64 noundef %1162) - to label %1165 unwind label %.thread931.loopexit +1158: ; preds = %.noexc680 + %1159 = load ptr, ptr %5, align 8, !noalias !2027, !nonnull !9, !noundef !9 + %1160 = load i64, ptr %183, align 8, !noalias !2027, !noundef !9 + invoke void @"_ZN63_$LT$alloc..alloc..Global$u20$as$u20$core..alloc..Allocator$GT$10deallocate17hae8e459b587c5295E.llvm.9832446184049035033"(ptr noalias noundef nonnull readonly align 1 %184, ptr noundef nonnull %1159, i64 noundef %1157, i64 noundef %1160) + to label %1163 unwind label %.thread931.loopexit -1163: ; preds = %1156 - %1164 = getelementptr inbounds i8, ptr %0, i64 8 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %1164, ptr noundef nonnull align 8 dereferenceable(24) %.sroa.6207, i64 24, i1 false) +1161: ; preds = %1154 + %1162 = getelementptr inbounds i8, ptr %0, i64 8 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %1162, ptr noundef nonnull align 8 dereferenceable(24) %.sroa.6207, i64 24, i1 false) store i64 1, ptr %0, align 8 call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %68) br label %293 -1165: ; preds = %.noexc680, %1160 +1163: ; preds = %.noexc680, %1158 call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %5), !noalias !2027 call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %68) br label %"_ZN69_$LT$jpeg_decoder..marker..Marker$u20$as$u20$core..cmp..PartialEq$GT$2eq17hd6f55482fac48aecE.exit.thread" -1166: ; preds = %292 +1164: ; preds = %292 call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %63) call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %62) store ptr %104, ptr %62, align 8 - %1167 = getelementptr inbounds i8, ptr %62, i64 8 - store ptr @"_ZN65_$LT$jpeg_decoder..marker..Marker$u20$as$u20$core..fmt..Debug$GT$3fmt17hdc293fe91d6b90a6E", ptr %1167, align 8 + %1165 = getelementptr inbounds i8, ptr %62, i64 8 + store ptr @"_ZN65_$LT$jpeg_decoder..marker..Marker$u20$as$u20$core..fmt..Debug$GT$3fmt17hdc293fe91d6b90a6E", ptr %1165, align 8 store ptr @anon.60689fdbfa59ae5f463a599edb886518.103, ptr %63, align 8, !alias.scope !2034, !noalias !2037 - %1168 = getelementptr inbounds i8, ptr %63, i64 8 - store i64 2, ptr %1168, align 8, !alias.scope !2034, !noalias !2037 - %1169 = getelementptr inbounds i8, ptr %63, i64 32 - store ptr null, ptr %1169, align 8, !alias.scope !2034, !noalias !2037 - %1170 = getelementptr inbounds i8, ptr %63, i64 16 - store ptr %62, ptr %1170, align 8, !alias.scope !2034, !noalias !2037 - %1171 = getelementptr inbounds i8, ptr %63, i64 24 - store i64 1, ptr %1171, align 8, !alias.scope !2034, !noalias !2037 + %1166 = getelementptr inbounds i8, ptr %63, i64 8 + store i64 2, ptr %1166, align 8, !alias.scope !2034, !noalias !2037 + %1167 = getelementptr inbounds i8, ptr %63, i64 32 + store ptr null, ptr %1167, align 8, !alias.scope !2034, !noalias !2037 + %1168 = getelementptr inbounds i8, ptr %63, i64 16 + store ptr %62, ptr %1168, align 8, !alias.scope !2034, !noalias !2037 + %1169 = getelementptr inbounds i8, ptr %63, i64 24 + store i64 1, ptr %1169, align 8, !alias.scope !2034, !noalias !2037 invoke fastcc void @_ZN5alloc3fmt6format17h55b1a8bf61a7c713E(ptr noalias nocapture noundef nonnull align 8 dereferenceable(24) %64, ptr noalias nocapture noundef nonnull align 8 dereferenceable(48) %63) - to label %1172 unwind label %.thread931.loopexit.split-lp + to label %1170 unwind label %.thread931.loopexit.split-lp -1172: ; preds = %1166 +1170: ; preds = %1164 call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %63) call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %62) - %1173 = getelementptr inbounds i8, ptr %0, i64 8 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %1173, ptr noundef nonnull align 8 dereferenceable(24) %64, i64 24, i1 false) + %1171 = getelementptr inbounds i8, ptr %0, i64 8 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %1171, ptr noundef nonnull align 8 dereferenceable(24) %64, i64 24, i1 false) store i64 1, ptr %0, align 8 br label %293 -1174: ; preds = %467 - %1175 = landingpad { ptr, i32 } +1172: ; preds = %467 + %1173 = landingpad { ptr, i32 } cleanup br label %.body544 -1176: ; preds = %467 +1174: ; preds = %467 call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %106) call void @"_ZN4core3ptr69drop_in_place$LT$alloc..vec..Vec$LT$alloc..vec..Vec$LT$u8$GT$$GT$$GT$17h5ea087b400879ab1E"(ptr noalias noundef nonnull align 8 dereferenceable(24) %108) call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %108) br label %114 -.thread: ; preds = %.thread931.loopexit, %.thread931.loopexit.split-lp, %442, %436, %378, %394, %408, %1101, %389, %385, %405, %401, %.thread946, %445, %481, %1147, %1150, %1153 - %.pn486929 = phi { ptr, i32 } [ %eh.lpad-body548949, %.thread946 ], [ %.pn479.pn.ph, %445 ], [ %.pn476, %481 ], [ %1102, %1101 ], [ %1148, %1147 ], [ %1151, %1150 ], [ %1154, %1153 ], [ %406, %405 ], [ %402, %401 ], [ %390, %389 ], [ %386, %385 ], [ %379, %378 ], [ %395, %394 ], [ %409, %408 ], [ %443, %442 ], [ %437, %436 ], [ %lpad.loopexit1105, %.thread931.loopexit ], [ %lpad.loopexit.split-lp1106, %.thread931.loopexit.split-lp ] +.thread: ; preds = %.thread931.loopexit, %.thread931.loopexit.split-lp, %442, %436, %378, %394, %408, %1101, %389, %385, %405, %401, %.thread946, %445, %481, %1145, %1148, %1151 + %.pn486929 = phi { ptr, i32 } [ %eh.lpad-body548949, %.thread946 ], [ %.pn479.pn.ph, %445 ], [ %.pn476, %481 ], [ %1102, %1101 ], [ %1146, %1145 ], [ %1149, %1148 ], [ %1152, %1151 ], [ %406, %405 ], [ %402, %401 ], [ %390, %389 ], [ %386, %385 ], [ %379, %378 ], [ %395, %394 ], [ %409, %408 ], [ %443, %442 ], [ %437, %436 ], [ %lpad.loopexit1105, %.thread931.loopexit ], [ %lpad.loopexit.split-lp1106, %.thread931.loopexit.split-lp ] invoke void @"_ZN4core3ptr70drop_in_place$LT$alloc..vec..Vec$LT$alloc..vec..Vec$LT$u16$GT$$GT$$GT$17h694d9b2528e63298E"(ptr noalias noundef nonnull align 8 dereferenceable(24) %106) #24 to label %.body544 unwind label %413 @@ -21072,8 +21042,8 @@ default.unreachable: ; preds = %736 %.pn488.pn = phi { ptr, i32 } [ %.pn488.ph, %.body544 ], [ %159, %158 ], [ %155, %154 ] resume { ptr, i32 } %.pn488.pn -.body544: ; preds = %174, %170, %1174, %.thread - %.pn488.ph = phi { ptr, i32 } [ %.pn486929, %.thread ], [ %1175, %1174 ], [ %175, %174 ], [ %171, %170 ] +.body544: ; preds = %174, %170, %1172, %.thread + %.pn488.ph = phi { ptr, i32 } [ %.pn486929, %.thread ], [ %1173, %1172 ], [ %175, %174 ], [ %171, %170 ] invoke void @"_ZN4core3ptr69drop_in_place$LT$alloc..vec..Vec$LT$alloc..vec..Vec$LT$u8$GT$$GT$$GT$17h5ea087b400879ab1E"(ptr noalias noundef nonnull align 8 dereferenceable(24) %108) #24 to label %.body unwind label %413 } diff --git a/bench/image-rs/optimized/fyek6fuqg0ocunt.ll b/bench/image-rs/optimized/fyek6fuqg0ocunt.ll index e10d2774d36..070b43ad715 100644 --- a/bench/image-rs/optimized/fyek6fuqg0ocunt.ll +++ b/bench/image-rs/optimized/fyek6fuqg0ocunt.ll @@ -4027,7 +4027,6 @@ switch.lookup: %.sroa.8 = alloca [24 x i8], align 8 %.sroa.7.sroa.0 = alloca [7 x i8], align 1 %.sroa.7.sroa.4 = alloca [24 x i8], align 1 - %.sroa.5 = alloca [3 x i64], align 8 %31 = alloca { ptr, [5 x i64] }, align 8 %32 = alloca { i64, i64 }, align 8 %33 = alloca { i64, i64 }, align 8 @@ -4070,7 +4069,6 @@ default.unreachable208: ; preds = %64 51: ; preds = %switch.lookup call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %32) call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %33) - call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %.sroa.5) call void @llvm.lifetime.start.p0(i64 7, ptr nonnull %.sroa.5144.sroa.0) call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %.sroa.5144.sroa.8) call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %.sroa.8) @@ -4149,7 +4147,6 @@ default.unreachable208: ; preds = %64 call void @llvm.lifetime.end.p0(i64 7, ptr nonnull %.sroa.5144.sroa.0) call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %.sroa.5144.sroa.8) call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %.sroa.8) - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %.sroa.5, ptr noundef nonnull align 1 dereferenceable(24) %.sroa.7.sroa.4, i64 24, i1 false) switch i64 %.sroa.5144.sroa.5.0, label %default.unreachable208 [ i64 0, label %66 i64 1, label %116 @@ -4189,7 +4186,7 @@ default.unreachable208: ; preds = %64 .critedge: ; preds = %66 call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %25) - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %25, ptr noundef nonnull align 8 dereferenceable(24) %.sroa.5, i64 24, i1 false) + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %25, ptr noundef nonnull align 1 dereferenceable(24) %.sroa.7.sroa.4, i64 24, i1 false) %70 = getelementptr inbounds i8, ptr %25, i64 16 %71 = load i64, ptr %70, align 8, !noundef !4 %.not.i = icmp eq i64 %71, %3 @@ -4242,7 +4239,6 @@ default.unreachable208: ; preds = %64 87: ; preds = %265, %248, %231, %214, %198, %181, %164, %147, %130, %104, %86 call void @"_ZN4core3ptr111drop_in_place$LT$tiff..decoder..Decoder$LT$std..io..buffered..bufreader..BufReader$LT$std..fs..File$GT$$GT$$GT$17hf0cc9cd5e99a9f95E"(ptr noalias noundef nonnull align 8 dereferenceable(376) %29) call void @llvm.lifetime.end.p0(i64 376, ptr nonnull %29) - call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %.sroa.5) store i8 10, ptr %0, align 8 br label %266 @@ -4260,7 +4256,7 @@ default.unreachable208: ; preds = %64 92: ; preds = %66 call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %28) - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %28, ptr noundef nonnull align 8 dereferenceable(24) %.sroa.5, i64 24, i1 false) + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %28, ptr noundef nonnull align 1 dereferenceable(24) %.sroa.7.sroa.4, i64 24, i1 false) call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %27) store ptr %2, ptr %27, align 8 %93 = getelementptr inbounds i8, ptr %27, i64 8 @@ -4326,7 +4322,6 @@ default.unreachable208: ; preds = %64 113: ; preds = %112, %65 call void @"_ZN4core3ptr111drop_in_place$LT$tiff..decoder..Decoder$LT$std..io..buffered..bufreader..BufReader$LT$std..fs..File$GT$$GT$$GT$17hf0cc9cd5e99a9f95E"(ptr noalias noundef nonnull align 8 dereferenceable(376) %29) call void @llvm.lifetime.end.p0(i64 376, ptr nonnull %29) - call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %.sroa.5) br label %266 114: ; preds = %120 @@ -4337,7 +4332,7 @@ default.unreachable208: ; preds = %64 116: ; preds = %64 call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %24) - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %24, ptr noundef nonnull align 8 dereferenceable(24) %.sroa.5, i64 24, i1 false) + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %24, ptr noundef nonnull align 1 dereferenceable(24) %.sroa.7.sroa.4, i64 24, i1 false) %117 = getelementptr inbounds i8, ptr %24, i64 16 %118 = load i64, ptr %117, align 8, !noundef !4 %119 = shl nsw i64 %118, 1 @@ -4385,7 +4380,7 @@ default.unreachable208: ; preds = %64 133: ; preds = %64 call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %23) - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %23, ptr noundef nonnull align 8 dereferenceable(24) %.sroa.5, i64 24, i1 false) + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %23, ptr noundef nonnull align 1 dereferenceable(24) %.sroa.7.sroa.4, i64 24, i1 false) %134 = getelementptr inbounds i8, ptr %23, i64 16 %135 = load i64, ptr %134, align 8, !noundef !4 %136 = shl nsw i64 %135, 2 @@ -4433,7 +4428,7 @@ default.unreachable208: ; preds = %64 150: ; preds = %64 call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %22) - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %22, ptr noundef nonnull align 8 dereferenceable(24) %.sroa.5, i64 24, i1 false) + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %22, ptr noundef nonnull align 1 dereferenceable(24) %.sroa.7.sroa.4, i64 24, i1 false) %151 = getelementptr inbounds i8, ptr %22, i64 16 %152 = load i64, ptr %151, align 8, !noundef !4 %153 = shl nsw i64 %152, 3 @@ -4481,7 +4476,7 @@ default.unreachable208: ; preds = %64 167: ; preds = %64 call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %17) - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %17, ptr noundef nonnull align 8 dereferenceable(24) %.sroa.5, i64 24, i1 false) + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %17, ptr noundef nonnull align 1 dereferenceable(24) %.sroa.7.sroa.4, i64 24, i1 false) %168 = getelementptr inbounds i8, ptr %17, i64 16 %169 = load i64, ptr %168, align 8, !noundef !4 %170 = shl nsw i64 %169, 2 @@ -4529,7 +4524,7 @@ default.unreachable208: ; preds = %64 184: ; preds = %64 call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %16) - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %16, ptr noundef nonnull align 8 dereferenceable(24) %.sroa.5, i64 24, i1 false) + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %16, ptr noundef nonnull align 1 dereferenceable(24) %.sroa.7.sroa.4, i64 24, i1 false) %185 = getelementptr inbounds i8, ptr %16, i64 16 %186 = load i64, ptr %185, align 8, !noundef !4 %187 = shl nsw i64 %186, 3 @@ -4577,7 +4572,7 @@ default.unreachable208: ; preds = %64 201: ; preds = %64 call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %21) - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %21, ptr noundef nonnull align 8 dereferenceable(24) %.sroa.5, i64 24, i1 false) + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %21, ptr noundef nonnull align 1 dereferenceable(24) %.sroa.7.sroa.4, i64 24, i1 false) %202 = getelementptr inbounds i8, ptr %21, i64 16 %203 = load i64, ptr %202, align 8, !noundef !4 %.not.i119 = icmp eq i64 %203, %3 @@ -4624,7 +4619,7 @@ default.unreachable208: ; preds = %64 217: ; preds = %64 call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %20) - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %20, ptr noundef nonnull align 8 dereferenceable(24) %.sroa.5, i64 24, i1 false) + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %20, ptr noundef nonnull align 1 dereferenceable(24) %.sroa.7.sroa.4, i64 24, i1 false) %218 = getelementptr inbounds i8, ptr %20, i64 16 %219 = load i64, ptr %218, align 8, !noundef !4 %220 = shl nsw i64 %219, 1 @@ -4672,7 +4667,7 @@ default.unreachable208: ; preds = %64 234: ; preds = %64 call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %19) - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %19, ptr noundef nonnull align 8 dereferenceable(24) %.sroa.5, i64 24, i1 false) + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %19, ptr noundef nonnull align 1 dereferenceable(24) %.sroa.7.sroa.4, i64 24, i1 false) %235 = getelementptr inbounds i8, ptr %19, i64 16 %236 = load i64, ptr %235, align 8, !noundef !4 %237 = shl nsw i64 %236, 2 @@ -4720,7 +4715,7 @@ default.unreachable208: ; preds = %64 251: ; preds = %64 call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %18) - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %18, ptr noundef nonnull align 8 dereferenceable(24) %.sroa.5, i64 24, i1 false) + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %18, ptr noundef nonnull align 1 dereferenceable(24) %.sroa.7.sroa.4, i64 24, i1 false) %252 = getelementptr inbounds i8, ptr %18, i64 16 %253 = load i64, ptr %252, align 8, !noundef !4 %254 = shl nsw i64 %253, 3 @@ -4815,7 +4810,6 @@ switch.lookup: %.sroa.8 = alloca [24 x i8], align 8 %.sroa.7.sroa.0 = alloca [7 x i8], align 1 %.sroa.7.sroa.4 = alloca [24 x i8], align 1 - %.sroa.5 = alloca [3 x i64], align 8 %31 = alloca { ptr, [5 x i64] }, align 8 %32 = alloca { i64, i64 }, align 8 %33 = alloca { i64, i64 }, align 8 @@ -4858,7 +4852,6 @@ default.unreachable208: ; preds = %64 51: ; preds = %switch.lookup call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %32) call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %33) - call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %.sroa.5) call void @llvm.lifetime.start.p0(i64 7, ptr nonnull %.sroa.5144.sroa.0) call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %.sroa.5144.sroa.8) call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %.sroa.8) @@ -4937,7 +4930,6 @@ default.unreachable208: ; preds = %64 call void @llvm.lifetime.end.p0(i64 7, ptr nonnull %.sroa.5144.sroa.0) call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %.sroa.5144.sroa.8) call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %.sroa.8) - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %.sroa.5, ptr noundef nonnull align 1 dereferenceable(24) %.sroa.7.sroa.4, i64 24, i1 false) switch i64 %.sroa.5144.sroa.5.0, label %default.unreachable208 [ i64 0, label %66 i64 1, label %116 @@ -4977,7 +4969,7 @@ default.unreachable208: ; preds = %64 .critedge: ; preds = %66 call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %25) - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %25, ptr noundef nonnull align 8 dereferenceable(24) %.sroa.5, i64 24, i1 false) + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %25, ptr noundef nonnull align 1 dereferenceable(24) %.sroa.7.sroa.4, i64 24, i1 false) %70 = getelementptr inbounds i8, ptr %25, i64 16 %71 = load i64, ptr %70, align 8, !noundef !4 %.not.i = icmp eq i64 %71, %3 @@ -5030,7 +5022,6 @@ default.unreachable208: ; preds = %64 87: ; preds = %265, %248, %231, %214, %198, %181, %164, %147, %130, %104, %86 call void @"_ZN4core3ptr98drop_in_place$LT$tiff..decoder..Decoder$LT$std..io..cursor..Cursor$LT$$RF$$u5b$u8$u5d$$GT$$GT$$GT$17hce659f685e3eeebeE"(ptr noalias noundef nonnull align 8 dereferenceable(352) %29) call void @llvm.lifetime.end.p0(i64 352, ptr nonnull %29) - call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %.sroa.5) store i8 10, ptr %0, align 8 br label %266 @@ -5048,7 +5039,7 @@ default.unreachable208: ; preds = %64 92: ; preds = %66 call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %28) - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %28, ptr noundef nonnull align 8 dereferenceable(24) %.sroa.5, i64 24, i1 false) + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %28, ptr noundef nonnull align 1 dereferenceable(24) %.sroa.7.sroa.4, i64 24, i1 false) call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %27) store ptr %2, ptr %27, align 8 %93 = getelementptr inbounds i8, ptr %27, i64 8 @@ -5114,7 +5105,6 @@ default.unreachable208: ; preds = %64 113: ; preds = %112, %65 call void @"_ZN4core3ptr98drop_in_place$LT$tiff..decoder..Decoder$LT$std..io..cursor..Cursor$LT$$RF$$u5b$u8$u5d$$GT$$GT$$GT$17hce659f685e3eeebeE"(ptr noalias noundef nonnull align 8 dereferenceable(352) %29) call void @llvm.lifetime.end.p0(i64 352, ptr nonnull %29) - call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %.sroa.5) br label %266 114: ; preds = %120 @@ -5125,7 +5115,7 @@ default.unreachable208: ; preds = %64 116: ; preds = %64 call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %24) - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %24, ptr noundef nonnull align 8 dereferenceable(24) %.sroa.5, i64 24, i1 false) + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %24, ptr noundef nonnull align 1 dereferenceable(24) %.sroa.7.sroa.4, i64 24, i1 false) %117 = getelementptr inbounds i8, ptr %24, i64 16 %118 = load i64, ptr %117, align 8, !noundef !4 %119 = shl nsw i64 %118, 1 @@ -5173,7 +5163,7 @@ default.unreachable208: ; preds = %64 133: ; preds = %64 call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %23) - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %23, ptr noundef nonnull align 8 dereferenceable(24) %.sroa.5, i64 24, i1 false) + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %23, ptr noundef nonnull align 1 dereferenceable(24) %.sroa.7.sroa.4, i64 24, i1 false) %134 = getelementptr inbounds i8, ptr %23, i64 16 %135 = load i64, ptr %134, align 8, !noundef !4 %136 = shl nsw i64 %135, 2 @@ -5221,7 +5211,7 @@ default.unreachable208: ; preds = %64 150: ; preds = %64 call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %22) - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %22, ptr noundef nonnull align 8 dereferenceable(24) %.sroa.5, i64 24, i1 false) + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %22, ptr noundef nonnull align 1 dereferenceable(24) %.sroa.7.sroa.4, i64 24, i1 false) %151 = getelementptr inbounds i8, ptr %22, i64 16 %152 = load i64, ptr %151, align 8, !noundef !4 %153 = shl nsw i64 %152, 3 @@ -5269,7 +5259,7 @@ default.unreachable208: ; preds = %64 167: ; preds = %64 call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %17) - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %17, ptr noundef nonnull align 8 dereferenceable(24) %.sroa.5, i64 24, i1 false) + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %17, ptr noundef nonnull align 1 dereferenceable(24) %.sroa.7.sroa.4, i64 24, i1 false) %168 = getelementptr inbounds i8, ptr %17, i64 16 %169 = load i64, ptr %168, align 8, !noundef !4 %170 = shl nsw i64 %169, 2 @@ -5317,7 +5307,7 @@ default.unreachable208: ; preds = %64 184: ; preds = %64 call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %16) - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %16, ptr noundef nonnull align 8 dereferenceable(24) %.sroa.5, i64 24, i1 false) + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %16, ptr noundef nonnull align 1 dereferenceable(24) %.sroa.7.sroa.4, i64 24, i1 false) %185 = getelementptr inbounds i8, ptr %16, i64 16 %186 = load i64, ptr %185, align 8, !noundef !4 %187 = shl nsw i64 %186, 3 @@ -5365,7 +5355,7 @@ default.unreachable208: ; preds = %64 201: ; preds = %64 call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %21) - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %21, ptr noundef nonnull align 8 dereferenceable(24) %.sroa.5, i64 24, i1 false) + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %21, ptr noundef nonnull align 1 dereferenceable(24) %.sroa.7.sroa.4, i64 24, i1 false) %202 = getelementptr inbounds i8, ptr %21, i64 16 %203 = load i64, ptr %202, align 8, !noundef !4 %.not.i119 = icmp eq i64 %203, %3 @@ -5412,7 +5402,7 @@ default.unreachable208: ; preds = %64 217: ; preds = %64 call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %20) - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %20, ptr noundef nonnull align 8 dereferenceable(24) %.sroa.5, i64 24, i1 false) + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %20, ptr noundef nonnull align 1 dereferenceable(24) %.sroa.7.sroa.4, i64 24, i1 false) %218 = getelementptr inbounds i8, ptr %20, i64 16 %219 = load i64, ptr %218, align 8, !noundef !4 %220 = shl nsw i64 %219, 1 @@ -5460,7 +5450,7 @@ default.unreachable208: ; preds = %64 234: ; preds = %64 call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %19) - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %19, ptr noundef nonnull align 8 dereferenceable(24) %.sroa.5, i64 24, i1 false) + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %19, ptr noundef nonnull align 1 dereferenceable(24) %.sroa.7.sroa.4, i64 24, i1 false) %235 = getelementptr inbounds i8, ptr %19, i64 16 %236 = load i64, ptr %235, align 8, !noundef !4 %237 = shl nsw i64 %236, 2 @@ -5508,7 +5498,7 @@ default.unreachable208: ; preds = %64 251: ; preds = %64 call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %18) - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %18, ptr noundef nonnull align 8 dereferenceable(24) %.sroa.5, i64 24, i1 false) + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %18, ptr noundef nonnull align 1 dereferenceable(24) %.sroa.7.sroa.4, i64 24, i1 false) %252 = getelementptr inbounds i8, ptr %18, i64 16 %253 = load i64, ptr %252, align 8, !noundef !4 %254 = shl nsw i64 %253, 3 @@ -34864,12 +34854,6 @@ define void @_ZN5image8dynimage12DynamicImage10into_bytes17h79945752eeac4080E(pt %6 = alloca { [1 x i64], i64, [1 x i64] }, align 8 %7 = alloca { [1 x i64], i64, [1 x i64] }, align 8 %8 = alloca { [1 x i64], i64, [1 x i64] }, align 8 - %.sroa.4.i92.sroa.0 = alloca [24 x i8], align 1 - %.sroa.4.i89.sroa.0 = alloca [24 x i8], align 1 - %.sroa.4.i86.sroa.0 = alloca [24 x i8], align 1 - %.sroa.4.i83.sroa.0 = alloca [24 x i8], align 1 - %.sroa.4.i80.sroa.0 = alloca [24 x i8], align 1 - %.sroa.4.i.sroa.0 = alloca [24 x i8], align 1 %9 = alloca { { i64, ptr }, i64 }, align 8 %10 = alloca { { i64, ptr }, i64 }, align 8 %11 = alloca { { i64, ptr }, i64 }, align 8 @@ -34971,9 +34955,8 @@ default.unreachable212: ; preds = %2 to label %21 unwind label %19 28: ; preds = %2 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(24) %.sroa.4.i.sroa.0, ptr noundef nonnull align 8 dereferenceable(24) %16, i64 24, i1 false) call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %14) - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %14, ptr noundef nonnull align 1 dereferenceable(24) %.sroa.4.i.sroa.0, i64 24, i1 false) + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %14, ptr noundef nonnull align 8 dereferenceable(24) %16, i64 24, i1 false) %29 = getelementptr inbounds i8, ptr %14, i64 8 %30 = load ptr, ptr %29, align 8, !nonnull !4, !noundef !4 %31 = getelementptr inbounds i8, ptr %14, i64 16 @@ -35019,9 +35002,8 @@ default.unreachable212: ; preds = %2 to label %21 unwind label %19 48: ; preds = %2 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(24) %.sroa.4.i80.sroa.0, ptr noundef nonnull align 8 dereferenceable(24) %16, i64 24, i1 false) call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %13) - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %13, ptr noundef nonnull align 1 dereferenceable(24) %.sroa.4.i80.sroa.0, i64 24, i1 false) + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %13, ptr noundef nonnull align 8 dereferenceable(24) %16, i64 24, i1 false) %49 = getelementptr inbounds i8, ptr %13, i64 8 %50 = load ptr, ptr %49, align 8, !nonnull !4, !noundef !4 %51 = getelementptr inbounds i8, ptr %13, i64 16 @@ -35067,9 +35049,8 @@ default.unreachable212: ; preds = %2 to label %21 unwind label %19 68: ; preds = %2 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(24) %.sroa.4.i83.sroa.0, ptr noundef nonnull align 8 dereferenceable(24) %16, i64 24, i1 false) call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %12) - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %12, ptr noundef nonnull align 1 dereferenceable(24) %.sroa.4.i83.sroa.0, i64 24, i1 false) + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %12, ptr noundef nonnull align 8 dereferenceable(24) %16, i64 24, i1 false) %69 = getelementptr inbounds i8, ptr %12, i64 8 %70 = load ptr, ptr %69, align 8, !nonnull !4, !noundef !4 %71 = getelementptr inbounds i8, ptr %12, i64 16 @@ -35115,9 +35096,8 @@ default.unreachable212: ; preds = %2 to label %21 unwind label %19 88: ; preds = %2 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(24) %.sroa.4.i86.sroa.0, ptr noundef nonnull align 8 dereferenceable(24) %16, i64 24, i1 false) call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %11) - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %11, ptr noundef nonnull align 1 dereferenceable(24) %.sroa.4.i86.sroa.0, i64 24, i1 false) + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %11, ptr noundef nonnull align 8 dereferenceable(24) %16, i64 24, i1 false) %89 = getelementptr inbounds i8, ptr %11, i64 8 %90 = load ptr, ptr %89, align 8, !nonnull !4, !noundef !4 %91 = getelementptr inbounds i8, ptr %11, i64 16 @@ -35163,9 +35143,8 @@ default.unreachable212: ; preds = %2 to label %21 unwind label %19 108: ; preds = %2 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(24) %.sroa.4.i89.sroa.0, ptr noundef nonnull align 8 dereferenceable(24) %16, i64 24, i1 false) call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %10) - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %10, ptr noundef nonnull align 1 dereferenceable(24) %.sroa.4.i89.sroa.0, i64 24, i1 false) + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %10, ptr noundef nonnull align 8 dereferenceable(24) %16, i64 24, i1 false) %109 = getelementptr inbounds i8, ptr %10, i64 8 %110 = load ptr, ptr %109, align 8, !nonnull !4, !noundef !4 %111 = getelementptr inbounds i8, ptr %10, i64 16 @@ -35211,9 +35190,8 @@ default.unreachable212: ; preds = %2 to label %21 unwind label %19 128: ; preds = %2 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(24) %.sroa.4.i92.sroa.0, ptr noundef nonnull align 8 dereferenceable(24) %16, i64 24, i1 false) call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %9) - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %9, ptr noundef nonnull align 1 dereferenceable(24) %.sroa.4.i92.sroa.0, i64 24, i1 false) + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %9, ptr noundef nonnull align 8 dereferenceable(24) %16, i64 24, i1 false) %129 = getelementptr inbounds i8, ptr %9, i64 8 %130 = load ptr, ptr %129, align 8, !nonnull !4, !noundef !4 %131 = getelementptr inbounds i8, ptr %9, i64 16 diff --git a/bench/image-rs/optimized/ptscn4jakoj4p9m.ll b/bench/image-rs/optimized/ptscn4jakoj4p9m.ll index b019cec42db..126bed62aeb 100644 --- a/bench/image-rs/optimized/ptscn4jakoj4p9m.ll +++ b/bench/image-rs/optimized/ptscn4jakoj4p9m.ll @@ -12124,34 +12124,24 @@ define hidden void @"_ZN5alloc11collections5btree3map25BTreeMap$LT$K$C$V$C$A$GT$ ; Function Attrs: nonlazybind uwtable define hidden void @"_ZN5alloc11collections5btree3map25BTreeMap$LT$K$C$V$C$A$GT$6remove17he0fc065363d09b55E"(ptr noalias nocapture noundef writeonly sret({ [1 x i64], i64, [11 x i64] }) align 8 dereferenceable(104) %0, ptr noalias noundef align 8 dereferenceable(24) %1, ptr noalias noundef readonly align 8 dereferenceable(8) %2) unnamed_addr #1 { - %4 = alloca { i64, { i64, { { i64, [10 x i64] }, i64 } } }, align 8 - %5 = alloca { i64, { { i64, [10 x i64] }, i64 } }, align 8 - %6 = alloca { [2 x i64], i64, [11 x i64] }, align 8 - call void @llvm.lifetime.start.p0(i64 112, ptr nonnull %6) - call void @"_ZN5alloc11collections5btree3map25BTreeMap$LT$K$C$V$C$A$GT$12remove_entry17h76857d022e34c7f7E.llvm.17224713629878502917"(ptr noalias nocapture noundef nonnull sret({ [2 x i64], i64, [11 x i64] }) align 8 dereferenceable(112) %6, ptr noalias noundef nonnull align 8 dereferenceable(24) %1, ptr noalias noundef nonnull readonly align 8 dereferenceable(8) %2) - %7 = getelementptr inbounds i8, ptr %6, i64 16 - %8 = load i64, ptr %7, align 8, !range !2181, !noundef !24 - %9 = icmp eq i64 %8, -9223372036854775805 - br i1 %9, label %10, label %12 + %4 = alloca { [2 x i64], i64, [11 x i64] }, align 8 + call void @"_ZN5alloc11collections5btree3map25BTreeMap$LT$K$C$V$C$A$GT$12remove_entry17h76857d022e34c7f7E.llvm.17224713629878502917"(ptr noalias nocapture noundef nonnull sret({ [2 x i64], i64, [11 x i64] }) align 8 dereferenceable(112) %4, ptr noalias noundef nonnull align 8 dereferenceable(24) %1, ptr noalias noundef nonnull readonly align 8 dereferenceable(8) %2) + %5 = getelementptr inbounds i8, ptr %4, i64 16 + %6 = load i64, ptr %5, align 8, !range !2181, !noundef !24 + %7 = icmp eq i64 %6, -9223372036854775805 + br i1 %7, label %8, label %10 -10: ; preds = %3 - %11 = getelementptr inbounds i8, ptr %0, i64 8 - store i64 -9223372036854775805, ptr %11, align 8 - br label %14 +8: ; preds = %3 + %9 = getelementptr inbounds i8, ptr %0, i64 8 + store i64 -9223372036854775805, ptr %9, align 8 + br label %12 -12: ; preds = %3 - call void @llvm.lifetime.start.p0(i64 112, ptr nonnull %4) - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(112) %4, ptr noundef nonnull align 8 dereferenceable(112) %6, i64 112, i1 false) - call void @llvm.lifetime.start.p0(i64 104, ptr nonnull %5) - %13 = getelementptr inbounds i8, ptr %4, i64 8 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(104) %5, ptr noundef nonnull align 8 dereferenceable(104) %13, i64 104, i1 false) - call void @llvm.lifetime.end.p0(i64 112, ptr nonnull %4) - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(104) %0, ptr noundef nonnull align 8 dereferenceable(104) %5, i64 104, i1 false) - call void @llvm.lifetime.end.p0(i64 104, ptr nonnull %5) - br label %14 +10: ; preds = %3 + %11 = getelementptr inbounds i8, ptr %4, i64 8 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(104) %0, ptr noundef nonnull align 8 dereferenceable(104) %11, i64 104, i1 false) + br label %12 -14: ; preds = %12, %10 - call void @llvm.lifetime.end.p0(i64 112, ptr nonnull %6) +12: ; preds = %10, %8 ret void } diff --git a/bench/influxdb-rs/optimized/2mngqwiliqwwu7cd.ll b/bench/influxdb-rs/optimized/2mngqwiliqwwu7cd.ll index 7ec48aad3f8..65f201c78c4 100644 --- a/bench/influxdb-rs/optimized/2mngqwiliqwwu7cd.ll +++ b/bench/influxdb-rs/optimized/2mngqwiliqwwu7cd.ll @@ -969,14 +969,16 @@ define hidden void @_ZN4core4iter6traits8iterator8Iterator8try_fold17h6bc101fc17 %.sroa.6.0..sroa_idx14.i = getelementptr inbounds i8, ptr %8, i64 8 %.sroa.7.0..sroa_idx16.i = getelementptr inbounds i8, ptr %8, i64 16 %14 = getelementptr inbounds i8, ptr %8, i64 32 + %.sroa.7.48..sroa_idx = getelementptr inbounds i8, ptr %.sroa.7, i64 16 %15 = getelementptr inbounds i8, ptr %8, i64 56 %16 = getelementptr inbounds i8, ptr %7, i64 24 + %.sroa.7.72..sroa_idx = getelementptr inbounds i8, ptr %.sroa.7, i64 40 %.sroa.8.40..sroa_idx.i = getelementptr inbounds i8, ptr %.sroa.8.i, i64 24 br label %"_ZN103_$LT$alloc..vec..into_iter..IntoIter$LT$T$C$A$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h16dd7cfa330c1488E.llvm.4252288418090814410.exit" -"_ZN103_$LT$alloc..vec..into_iter..IntoIter$LT$T$C$A$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h16dd7cfa330c1488E.llvm.4252288418090814410.exit": ; preds = %"_ZN103_$LT$alloc..vec..into_iter..IntoIter$LT$T$C$A$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h16dd7cfa330c1488E.llvm.4252288418090814410.exit.lr.ph", %67 - %.sroa.8.036 = phi ptr [ %3, %"_ZN103_$LT$alloc..vec..into_iter..IntoIter$LT$T$C$A$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h16dd7cfa330c1488E.llvm.4252288418090814410.exit.lr.ph" ], [ %68, %67 ] - %17 = phi ptr [ %.promoted, %"_ZN103_$LT$alloc..vec..into_iter..IntoIter$LT$T$C$A$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h16dd7cfa330c1488E.llvm.4252288418090814410.exit.lr.ph" ], [ %18, %67 ] +"_ZN103_$LT$alloc..vec..into_iter..IntoIter$LT$T$C$A$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h16dd7cfa330c1488E.llvm.4252288418090814410.exit": ; preds = %"_ZN103_$LT$alloc..vec..into_iter..IntoIter$LT$T$C$A$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h16dd7cfa330c1488E.llvm.4252288418090814410.exit.lr.ph", %68 + %.sroa.8.036 = phi ptr [ %3, %"_ZN103_$LT$alloc..vec..into_iter..IntoIter$LT$T$C$A$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h16dd7cfa330c1488E.llvm.4252288418090814410.exit.lr.ph" ], [ %69, %68 ] + %17 = phi ptr [ %.promoted, %"_ZN103_$LT$alloc..vec..into_iter..IntoIter$LT$T$C$A$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h16dd7cfa330c1488E.llvm.4252288418090814410.exit.lr.ph" ], [ %18, %68 ] tail call void @llvm.experimental.noalias.scope.decl(metadata !199) %18 = getelementptr inbounds i8, ptr %17, i64 80 store ptr %18, ptr %9, align 8, !alias.scope !199, !noalias !202 @@ -1003,133 +1005,134 @@ define hidden void @_ZN4core4iter6traits8iterator8Iterator8try_fold17h6bc101fc17 store ptr %.sroa.8.0.copyload, ptr %.sroa.6.0..sroa_idx14.i, align 8, !noalias !213 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(64) %.sroa.7.0..sroa_idx16.i, ptr noundef nonnull align 8 dereferenceable(64) %.sroa.7, i64 64, i1 false), !noalias !214 call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %7), !noalias !207 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %7, ptr noundef nonnull align 8 dereferenceable(24) %14, i64 24, i1 false), !noalias !207 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %7, ptr noundef nonnull align 8 dereferenceable(24) %.sroa.7.48..sroa_idx, i64 24, i1 false), !noalias !214 store ptr null, ptr %14, align 8, !noalias !207 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %16, ptr noundef nonnull align 8 dereferenceable(24) %15, i64 24, i1 false), !noalias !207 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %16, ptr noundef nonnull align 8 dereferenceable(24) %.sroa.7.72..sroa_idx, i64 24, i1 false), !noalias !214 store ptr null, ptr %15, align 8, !noalias !207 %21 = load ptr, ptr %.val1, align 8, !alias.scope !204, !noalias !215, !nonnull !15, !align !39, !noundef !15 %22 = invoke noundef zeroext i1 @"_ZN9hashbrown3map28HashMap$LT$K$C$V$C$S$C$A$GT$6insert17h44036447f9805b9fE"(ptr noalias noundef nonnull align 8 dereferenceable(48) %21, ptr noalias nocapture noundef nonnull align 8 dereferenceable(48) %7) - to label %25 unwind label %23, !noalias !207 + to label %26 unwind label %24, !noalias !207 "_ZN143_$LT$iox_query_influxql_rewrite..RewrittenStatement$u20$as$u20$core..convert..TryFrom$LT$influxdb_influxql_parser..statement..Statement$GT$$GT$8try_from28_$u7b$$u7b$closure$u7d$$u7d$17h52d910b473aaa763E.llvm.4252288418090814410.exit.thread26.i": ; preds = %19 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(64) %.sroa.8.i, ptr noundef nonnull align 8 dereferenceable(64) %.sroa.9.0..sroa_idx, i64 64, i1 false) - br label %67 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %.sroa.6.sroa.6.i, ptr noundef nonnull align 8 dereferenceable(24) %.sroa.9.0..sroa_idx, i64 24, i1 false) + %23 = getelementptr inbounds i8, ptr %17, i64 40 + br label %68 -23: ; preds = %20 - %24 = landingpad { ptr, i32 } +24: ; preds = %20 + %25 = landingpad { ptr, i32 } cleanup invoke void @"_ZN4core3ptr79drop_in_place$LT$influxdb_influxql_parser..common..QualifiedMeasurementName$GT$17h13807e989a8c99b0E"(ptr noalias noundef nonnull align 8 dereferenceable(80) %8) #12 - to label %60 unwind label %32, !noalias !207 + to label %61 unwind label %33, !noalias !207 -25: ; preds = %20 +26: ; preds = %20 call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %7), !noalias !207 - br i1 %22, label %"_ZN143_$LT$iox_query_influxql_rewrite..RewrittenStatement$u20$as$u20$core..convert..TryFrom$LT$influxdb_influxql_parser..statement..Statement$GT$$GT$8try_from28_$u7b$$u7b$closure$u7d$$u7d$17h52d910b473aaa763E.llvm.4252288418090814410.exit.i", label %26 + br i1 %22, label %"_ZN143_$LT$iox_query_influxql_rewrite..RewrittenStatement$u20$as$u20$core..convert..TryFrom$LT$influxdb_influxql_parser..statement..Statement$GT$$GT$8try_from28_$u7b$$u7b$closure$u7d$$u7d$17h52d910b473aaa763E.llvm.4252288418090814410.exit.i", label %27 -26: ; preds = %25 - %27 = getelementptr inbounds i8, ptr %21, i64 24 - %28 = load i64, ptr %27, align 8, !noalias !207, !noundef !15 - %29 = icmp ugt i64 %28, 1 - br i1 %29, label %30, label %"_ZN143_$LT$iox_query_influxql_rewrite..RewrittenStatement$u20$as$u20$core..convert..TryFrom$LT$influxdb_influxql_parser..statement..Statement$GT$$GT$8try_from28_$u7b$$u7b$closure$u7d$$u7d$17h52d910b473aaa763E.llvm.4252288418090814410.exit.i" +27: ; preds = %26 + %28 = getelementptr inbounds i8, ptr %21, i64 24 + %29 = load i64, ptr %28, align 8, !noalias !207, !noundef !15 + %30 = icmp ugt i64 %29, 1 + br i1 %30, label %31, label %"_ZN143_$LT$iox_query_influxql_rewrite..RewrittenStatement$u20$as$u20$core..convert..TryFrom$LT$influxdb_influxql_parser..statement..Statement$GT$$GT$8try_from28_$u7b$$u7b$closure$u7d$$u7d$17h52d910b473aaa763E.llvm.4252288418090814410.exit.i" -30: ; preds = %26 - %31 = getelementptr inbounds i8, ptr %4, i64 8 - %.val.le = load ptr, ptr %31, align 8 +31: ; preds = %27 + %32 = getelementptr inbounds i8, ptr %4, i64 8 + %.val.le = load ptr, ptr %32, align 8 invoke void @"_ZN4core3ptr79drop_in_place$LT$influxdb_influxql_parser..common..QualifiedMeasurementName$GT$17h13807e989a8c99b0E"(ptr noalias noundef nonnull align 8 dereferenceable(80) %8) - to label %36 unwind label %34, !noalias !216 + to label %37 unwind label %35, !noalias !216 -32: ; preds = %23 - %33 = landingpad { ptr, i32 } +33: ; preds = %24 + %34 = landingpad { ptr, i32 } filter [0 x ptr] zeroinitializer call void @_ZN4core9panicking16panic_in_cleanup17hd44bb2114362504eE() #13, !noalias !207 unreachable -34: ; preds = %30 - %35 = landingpad { ptr, i32 } +35: ; preds = %31 + %36 = landingpad { ptr, i32 } cleanup - br label %60 + br label %61 -"_ZN143_$LT$iox_query_influxql_rewrite..RewrittenStatement$u20$as$u20$core..convert..TryFrom$LT$influxdb_influxql_parser..statement..Statement$GT$$GT$8try_from28_$u7b$$u7b$closure$u7d$$u7d$17h52d910b473aaa763E.llvm.4252288418090814410.exit.i": ; preds = %26, %25 +"_ZN143_$LT$iox_query_influxql_rewrite..RewrittenStatement$u20$as$u20$core..convert..TryFrom$LT$influxdb_influxql_parser..statement..Statement$GT$$GT$8try_from28_$u7b$$u7b$closure$u7d$$u7d$17h52d910b473aaa763E.llvm.4252288418090814410.exit.i": ; preds = %27, %26 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(64) %.sroa.8.i, ptr noundef nonnull align 8 dereferenceable(64) %.sroa.7.0..sroa_idx16.i, i64 64, i1 false), !noalias !217 call void @llvm.lifetime.end.p0(i64 80, ptr nonnull %8), !noalias !207 - br label %67 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %.sroa.6.sroa.6.i, ptr noundef nonnull align 8 dereferenceable(24) %.sroa.8.i, i64 24, i1 false), !noalias !216 + br label %68 -36: ; preds = %30 +37: ; preds = %31 call void @llvm.lifetime.end.p0(i64 80, ptr nonnull %8), !noalias !207 - %37 = icmp ne ptr %.val.le, null - call void @llvm.assume(i1 %37) + %38 = icmp ne ptr %.val.le, null + call void @llvm.assume(i1 %38) call void @llvm.experimental.noalias.scope.decl(metadata !218) - %38 = load i64, ptr %.val.le, align 8, !range !43, !alias.scope !218, !noalias !221, !noundef !15 - %39 = icmp eq i64 %38, 0 - br i1 %39, label %70, label %40 + %39 = load i64, ptr %.val.le, align 8, !range !43, !alias.scope !218, !noalias !221, !noundef !15 + %40 = icmp eq i64 %39, 0 + br i1 %40, label %71, label %41 -40: ; preds = %36 - %41 = getelementptr inbounds i8, ptr %.val.le, i64 8 +41: ; preds = %37 + %42 = getelementptr inbounds i8, ptr %.val.le, i64 8 call void @llvm.experimental.noalias.scope.decl(metadata !225) call void @llvm.experimental.noalias.scope.decl(metadata !228) - %42 = load ptr, ptr %41, align 8, !alias.scope !231, !noalias !221, !noundef !15 - %43 = icmp eq ptr %42, null - br i1 %43, label %70, label %44 + %43 = load ptr, ptr %42, align 8, !alias.scope !231, !noalias !221, !noundef !15 + %44 = icmp eq ptr %43, null + br i1 %44, label %71, label %45 -44: ; preds = %40 +45: ; preds = %41 call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %6), !noalias !232 - invoke void @"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$14current_memory17he9c57c5c74bbdb48E.llvm.11290379560268722015"(ptr noalias nocapture noundef nonnull sret({ [1 x i64], i64, [1 x i64] }) align 8 dereferenceable(24) %6, ptr noalias noundef nonnull readonly align 8 dereferenceable(16) %41) - to label %.noexc.i.i unwind label %52, !noalias !221 - -.noexc.i.i: ; preds = %44 - %45 = getelementptr inbounds i8, ptr %6, i64 8 - %46 = load i64, ptr %45, align 8, !range !62, !noalias !232, !noundef !15 - %.not.i.i.i.i.i.i.i.i.i.i = icmp eq i64 %46, 0 - br i1 %.not.i.i.i.i.i.i.i.i.i.i, label %"_ZN4core3ptr65drop_in_place$LT$influxdb_influxql_parser..common..ParseError$GT$17h765dbafbec55adafE.exit.i.i.i.i.i", label %47 - -47: ; preds = %.noexc.i.i - %48 = load ptr, ptr %6, align 8, !noalias !232, !nonnull !15, !noundef !15 - %49 = getelementptr inbounds i8, ptr %6, i64 16 - %50 = load i64, ptr %49, align 8, !noalias !232, !noundef !15 - %51 = getelementptr inbounds i8, ptr %.val.le, i64 24 - invoke void @"_ZN63_$LT$alloc..alloc..Global$u20$as$u20$core..alloc..Allocator$GT$10deallocate17h2e41f254f515f243E.llvm.11290379560268722015"(ptr noalias noundef nonnull readonly align 1 %51, ptr noundef nonnull %48, i64 noundef %46, i64 noundef %50) - to label %"_ZN4core3ptr65drop_in_place$LT$influxdb_influxql_parser..common..ParseError$GT$17h765dbafbec55adafE.exit.i.i.i.i.i" unwind label %52, !noalias !221 - -"_ZN4core3ptr65drop_in_place$LT$influxdb_influxql_parser..common..ParseError$GT$17h765dbafbec55adafE.exit.i.i.i.i.i": ; preds = %47, %.noexc.i.i + invoke void @"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$14current_memory17he9c57c5c74bbdb48E.llvm.11290379560268722015"(ptr noalias nocapture noundef nonnull sret({ [1 x i64], i64, [1 x i64] }) align 8 dereferenceable(24) %6, ptr noalias noundef nonnull readonly align 8 dereferenceable(16) %42) + to label %.noexc.i.i unwind label %53, !noalias !221 + +.noexc.i.i: ; preds = %45 + %46 = getelementptr inbounds i8, ptr %6, i64 8 + %47 = load i64, ptr %46, align 8, !range !62, !noalias !232, !noundef !15 + %.not.i.i.i.i.i.i.i.i.i.i = icmp eq i64 %47, 0 + br i1 %.not.i.i.i.i.i.i.i.i.i.i, label %"_ZN4core3ptr65drop_in_place$LT$influxdb_influxql_parser..common..ParseError$GT$17h765dbafbec55adafE.exit.i.i.i.i.i", label %48 + +48: ; preds = %.noexc.i.i + %49 = load ptr, ptr %6, align 8, !noalias !232, !nonnull !15, !noundef !15 + %50 = getelementptr inbounds i8, ptr %6, i64 16 + %51 = load i64, ptr %50, align 8, !noalias !232, !noundef !15 + %52 = getelementptr inbounds i8, ptr %.val.le, i64 24 + invoke void @"_ZN63_$LT$alloc..alloc..Global$u20$as$u20$core..alloc..Allocator$GT$10deallocate17h2e41f254f515f243E.llvm.11290379560268722015"(ptr noalias noundef nonnull readonly align 1 %52, ptr noundef nonnull %49, i64 noundef %47, i64 noundef %51) + to label %"_ZN4core3ptr65drop_in_place$LT$influxdb_influxql_parser..common..ParseError$GT$17h765dbafbec55adafE.exit.i.i.i.i.i" unwind label %53, !noalias !221 + +"_ZN4core3ptr65drop_in_place$LT$influxdb_influxql_parser..common..ParseError$GT$17h765dbafbec55adafE.exit.i.i.i.i.i": ; preds = %48, %.noexc.i.i call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %6), !noalias !232 - br label %70 + br label %71 -52: ; preds = %47, %44 - %53 = landingpad { ptr, i32 } +53: ; preds = %48, %45 + %54 = landingpad { ptr, i32 } cleanup store i64 1, ptr %.val.le, align 8, !noalias !221 - store ptr null, ptr %41, align 8, !noalias !243 - %54 = ptrtoint ptr %.sroa.8.036 to i64 - %55 = ptrtoint ptr %2 to i64 - %56 = sub nuw i64 %54, %55 - %57 = udiv exact i64 %56, 80 - invoke void @"_ZN4core3ptr85drop_in_place$LT$$u5b$influxdb_influxql_parser..select..MeasurementSelection$u5d$$GT$17h4f77cef3895d8c57E.llvm.4252288418090814410"(ptr noalias noundef nonnull align 8 %2, i64 noundef %57) - to label %.body unwind label %58, !noalias !221 - -58: ; preds = %52 - %59 = landingpad { ptr, i32 } + store ptr null, ptr %42, align 8, !noalias !243 + %55 = ptrtoint ptr %.sroa.8.036 to i64 + %56 = ptrtoint ptr %2 to i64 + %57 = sub nuw i64 %55, %56 + %58 = udiv exact i64 %57, 80 + invoke void @"_ZN4core3ptr85drop_in_place$LT$$u5b$influxdb_influxql_parser..select..MeasurementSelection$u5d$$GT$17h4f77cef3895d8c57E.llvm.4252288418090814410"(ptr noalias noundef nonnull align 8 %2, i64 noundef %58) + to label %.body unwind label %59, !noalias !221 + +59: ; preds = %53 + %60 = landingpad { ptr, i32 } filter [0 x ptr] zeroinitializer call void @_ZN4core9panicking16panic_in_cleanup17hd44bb2114362504eE() #13, !noalias !221 unreachable -60: ; preds = %34, %23 - %eh.lpad-body.ph.i = phi { ptr, i32 } [ %35, %34 ], [ %24, %23 ] - %61 = ptrtoint ptr %.sroa.8.036 to i64 - %62 = ptrtoint ptr %2 to i64 - %63 = sub nuw i64 %61, %62 - %64 = udiv exact i64 %63, 80 - invoke void @"_ZN4core3ptr85drop_in_place$LT$$u5b$influxdb_influxql_parser..select..MeasurementSelection$u5d$$GT$17h4f77cef3895d8c57E.llvm.4252288418090814410"(ptr noalias noundef nonnull align 8 %2, i64 noundef %64) - to label %.body unwind label %65, !noalias !216 - -65: ; preds = %60 - %66 = landingpad { ptr, i32 } +61: ; preds = %35, %24 + %eh.lpad-body.ph.i = phi { ptr, i32 } [ %36, %35 ], [ %25, %24 ] + %62 = ptrtoint ptr %.sroa.8.036 to i64 + %63 = ptrtoint ptr %2 to i64 + %64 = sub nuw i64 %62, %63 + %65 = udiv exact i64 %64, 80 + invoke void @"_ZN4core3ptr85drop_in_place$LT$$u5b$influxdb_influxql_parser..select..MeasurementSelection$u5d$$GT$17h4f77cef3895d8c57E.llvm.4252288418090814410"(ptr noalias noundef nonnull align 8 %2, i64 noundef %65) + to label %.body unwind label %66, !noalias !216 + +66: ; preds = %61 + %67 = landingpad { ptr, i32 } filter [0 x ptr] zeroinitializer call void @_ZN4core9panicking16panic_in_cleanup17hd44bb2114362504eE() #13, !noalias !216 unreachable -67: ; preds = %"_ZN143_$LT$iox_query_influxql_rewrite..RewrittenStatement$u20$as$u20$core..convert..TryFrom$LT$influxdb_influxql_parser..statement..Statement$GT$$GT$8try_from28_$u7b$$u7b$closure$u7d$$u7d$17h52d910b473aaa763E.llvm.4252288418090814410.exit.thread26.i", %"_ZN143_$LT$iox_query_influxql_rewrite..RewrittenStatement$u20$as$u20$core..convert..TryFrom$LT$influxdb_influxql_parser..statement..Statement$GT$$GT$8try_from28_$u7b$$u7b$closure$u7d$$u7d$17h52d910b473aaa763E.llvm.4252288418090814410.exit.i" - %.sroa.9.0..sroa_idx.sink = phi ptr [ %.sroa.9.0..sroa_idx, %"_ZN143_$LT$iox_query_influxql_rewrite..RewrittenStatement$u20$as$u20$core..convert..TryFrom$LT$influxdb_influxql_parser..statement..Statement$GT$$GT$8try_from28_$u7b$$u7b$closure$u7d$$u7d$17h52d910b473aaa763E.llvm.4252288418090814410.exit.thread26.i" ], [ %.sroa.8.i, %"_ZN143_$LT$iox_query_influxql_rewrite..RewrittenStatement$u20$as$u20$core..convert..TryFrom$LT$influxdb_influxql_parser..statement..Statement$GT$$GT$8try_from28_$u7b$$u7b$closure$u7d$$u7d$17h52d910b473aaa763E.llvm.4252288418090814410.exit.i" ] - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %.sroa.6.sroa.6.i, ptr noundef nonnull align 8 dereferenceable(24) %.sroa.9.0..sroa_idx.sink, i64 24, i1 false) - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %.sroa.9.i, ptr noundef nonnull align 8 dereferenceable(40) %.sroa.8.40..sroa_idx.i, i64 40, i1 false), !noalias !216 +68: ; preds = %"_ZN143_$LT$iox_query_influxql_rewrite..RewrittenStatement$u20$as$u20$core..convert..TryFrom$LT$influxdb_influxql_parser..statement..Statement$GT$$GT$8try_from28_$u7b$$u7b$closure$u7d$$u7d$17h52d910b473aaa763E.llvm.4252288418090814410.exit.thread26.i", %"_ZN143_$LT$iox_query_influxql_rewrite..RewrittenStatement$u20$as$u20$core..convert..TryFrom$LT$influxdb_influxql_parser..statement..Statement$GT$$GT$8try_from28_$u7b$$u7b$closure$u7d$$u7d$17h52d910b473aaa763E.llvm.4252288418090814410.exit.i" + %.sink = phi ptr [ %23, %"_ZN143_$LT$iox_query_influxql_rewrite..RewrittenStatement$u20$as$u20$core..convert..TryFrom$LT$influxdb_influxql_parser..statement..Statement$GT$$GT$8try_from28_$u7b$$u7b$closure$u7d$$u7d$17h52d910b473aaa763E.llvm.4252288418090814410.exit.thread26.i" ], [ %.sroa.8.40..sroa_idx.i, %"_ZN143_$LT$iox_query_influxql_rewrite..RewrittenStatement$u20$as$u20$core..convert..TryFrom$LT$influxdb_influxql_parser..statement..Statement$GT$$GT$8try_from28_$u7b$$u7b$closure$u7d$$u7d$17h52d910b473aaa763E.llvm.4252288418090814410.exit.i" ] + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %.sroa.9.i, ptr noundef nonnull align 8 dereferenceable(40) %.sink, i64 40, i1 false) store i64 %.sroa.0.0.copyload, ptr %.sroa.8.036, align 8, !noalias !221 %.sroa.614.16..sroa.4.8..sroa_idx.i.i = getelementptr inbounds i8, ptr %.sroa.8.036, i64 8 store ptr %.sroa.8.0.copyload, ptr %.sroa.614.16..sroa.4.8..sroa_idx.i.i, align 8, !noalias !243 @@ -1137,15 +1140,15 @@ define hidden void @_ZN4core4iter6traits8iterator8Iterator8try_fold17h6bc101fc17 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %.sroa.6.sroa.6.0..sroa.614.16..sroa.4.8..sroa_idx.i.sroa_idx.i, ptr noundef nonnull align 8 dereferenceable(24) %.sroa.6.sroa.6.i, i64 24, i1 false), !noalias !243 %.sroa.7.16..sroa.4.8..sroa_idx.i.i = getelementptr inbounds i8, ptr %.sroa.8.036, i64 40 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %.sroa.7.16..sroa.4.8..sroa_idx.i.i, ptr noundef nonnull align 8 dereferenceable(40) %.sroa.9.i, i64 40, i1 false), !noalias !243 - %68 = getelementptr inbounds i8, ptr %.sroa.8.036, i64 80 + %69 = getelementptr inbounds i8, ptr %.sroa.8.036, i64 80 call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %.sroa.8.i) call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %.sroa.6.sroa.6.i) call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %.sroa.9.i) call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %.sroa.7) - %69 = icmp eq ptr %18, %11 - br i1 %69, label %.loopexit, label %"_ZN103_$LT$alloc..vec..into_iter..IntoIter$LT$T$C$A$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h16dd7cfa330c1488E.llvm.4252288418090814410.exit" + %70 = icmp eq ptr %18, %11 + br i1 %70, label %.loopexit, label %"_ZN103_$LT$alloc..vec..into_iter..IntoIter$LT$T$C$A$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h16dd7cfa330c1488E.llvm.4252288418090814410.exit" -70: ; preds = %36, %40, %"_ZN4core3ptr65drop_in_place$LT$influxdb_influxql_parser..common..ParseError$GT$17h765dbafbec55adafE.exit.i.i.i.i.i" +71: ; preds = %37, %41, %"_ZN4core3ptr65drop_in_place$LT$influxdb_influxql_parser..common..ParseError$GT$17h765dbafbec55adafE.exit.i.i.i.i.i" store i64 1, ptr %.val.le, align 8, !noalias !221 %.sroa.5.0..sroa_idx3.i.i = getelementptr inbounds i8, ptr %.val.le, i64 8 store ptr null, ptr %.sroa.5.0..sroa_idx3.i.i, align 8, !noalias !243 @@ -1155,18 +1158,18 @@ define hidden void @_ZN4core4iter6traits8iterator8Iterator8try_fold17h6bc101fc17 call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %.sroa.7) br label %.loopexit -.loopexit: ; preds = %67, %"_ZN103_$LT$alloc..vec..into_iter..IntoIter$LT$T$C$A$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h16dd7cfa330c1488E.llvm.4252288418090814410.exit", %5, %70 - %.sroa.8.034.sink = phi ptr [ %.sroa.8.036, %70 ], [ %3, %5 ], [ %.sroa.8.036, %"_ZN103_$LT$alloc..vec..into_iter..IntoIter$LT$T$C$A$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h16dd7cfa330c1488E.llvm.4252288418090814410.exit" ], [ %68, %67 ] - %storemerge = phi i64 [ 1, %70 ], [ 0, %5 ], [ 0, %"_ZN103_$LT$alloc..vec..into_iter..IntoIter$LT$T$C$A$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h16dd7cfa330c1488E.llvm.4252288418090814410.exit" ], [ 0, %67 ] - %71 = getelementptr inbounds i8, ptr %0, i64 8 - store ptr %2, ptr %71, align 8 - %72 = getelementptr inbounds i8, ptr %0, i64 16 - store ptr %.sroa.8.034.sink, ptr %72, align 8 +.loopexit: ; preds = %68, %"_ZN103_$LT$alloc..vec..into_iter..IntoIter$LT$T$C$A$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h16dd7cfa330c1488E.llvm.4252288418090814410.exit", %5, %71 + %.sroa.8.034.sink = phi ptr [ %.sroa.8.036, %71 ], [ %3, %5 ], [ %.sroa.8.036, %"_ZN103_$LT$alloc..vec..into_iter..IntoIter$LT$T$C$A$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h16dd7cfa330c1488E.llvm.4252288418090814410.exit" ], [ %69, %68 ] + %storemerge = phi i64 [ 1, %71 ], [ 0, %5 ], [ 0, %"_ZN103_$LT$alloc..vec..into_iter..IntoIter$LT$T$C$A$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h16dd7cfa330c1488E.llvm.4252288418090814410.exit" ], [ 0, %68 ] + %72 = getelementptr inbounds i8, ptr %0, i64 8 + store ptr %2, ptr %72, align 8 + %73 = getelementptr inbounds i8, ptr %0, i64 16 + store ptr %.sroa.8.034.sink, ptr %73, align 8 store i64 %storemerge, ptr %0, align 8 ret void -.body: ; preds = %60, %52 - %eh.lpad-body22 = phi { ptr, i32 } [ %53, %52 ], [ %eh.lpad-body.ph.i, %60 ] +.body: ; preds = %61, %53 + %eh.lpad-body22 = phi { ptr, i32 } [ %54, %53 ], [ %eh.lpad-body.ph.i, %61 ] resume { ptr, i32 } %eh.lpad-body22 } @@ -1368,55 +1371,56 @@ define hidden void @"_ZN4core4iter8adapters3map12map_try_fold28_$u7b$$u7b$closur call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(64) %.sroa.713.0..sroa_idx14, ptr noundef nonnull align 8 dereferenceable(64) %.sroa.713.0..sroa_idx, i64 64, i1 false) %10 = getelementptr inbounds i8, ptr %6, i64 32 call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %5), !noalias !301 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %5, ptr noundef nonnull align 8 dereferenceable(24) %10, i64 24, i1 false), !noalias !301 + %11 = getelementptr inbounds i8, ptr %2, i64 32 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %5, ptr noundef nonnull align 8 dereferenceable(24) %11, i64 24, i1 false) store ptr null, ptr %10, align 8, !noalias !301 - %11 = getelementptr inbounds i8, ptr %6, i64 56 - %12 = getelementptr inbounds i8, ptr %5, i64 24 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %12, ptr noundef nonnull align 8 dereferenceable(24) %11, i64 24, i1 false), !noalias !301 - store ptr null, ptr %11, align 8, !noalias !301 - %13 = load ptr, ptr %8, align 8, !alias.scope !298, !noalias !305, !nonnull !15, !align !39, !noundef !15 - %14 = invoke noundef zeroext i1 @"_ZN9hashbrown3map28HashMap$LT$K$C$V$C$S$C$A$GT$6insert17h44036447f9805b9fE"(ptr noalias noundef nonnull align 8 dereferenceable(48) %13, ptr noalias nocapture noundef nonnull align 8 dereferenceable(48) %5) - to label %17 unwind label %15, !noalias !301 + %12 = getelementptr inbounds i8, ptr %6, i64 56 + %13 = getelementptr inbounds i8, ptr %5, i64 24 + %14 = getelementptr inbounds i8, ptr %2, i64 56 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %13, ptr noundef nonnull align 8 dereferenceable(24) %14, i64 24, i1 false) + store ptr null, ptr %12, align 8, !noalias !301 + %15 = load ptr, ptr %8, align 8, !alias.scope !298, !noalias !305, !nonnull !15, !align !39, !noundef !15 + %16 = invoke noundef zeroext i1 @"_ZN9hashbrown3map28HashMap$LT$K$C$V$C$S$C$A$GT$6insert17h44036447f9805b9fE"(ptr noalias noundef nonnull align 8 dereferenceable(48) %15, ptr noalias nocapture noundef nonnull align 8 dereferenceable(48) %5) + to label %20 unwind label %18, !noalias !301 "_ZN143_$LT$iox_query_influxql_rewrite..RewrittenStatement$u20$as$u20$core..convert..TryFrom$LT$influxdb_influxql_parser..statement..Statement$GT$$GT$8try_from28_$u7b$$u7b$closure$u7d$$u7d$17h52d910b473aaa763E.llvm.4252288418090814410.exit.thread20": ; preds = %3 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(64) %.sroa.8, ptr noundef nonnull align 8 dereferenceable(64) %.sroa.713.0..sroa_idx, i64 64, i1 false) call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %.sroa.4.sroa.6, ptr noundef nonnull align 8 dereferenceable(24) %.sroa.713.0..sroa_idx, i64 24, i1 false) - %.sroa.8.40..sroa_idx23 = getelementptr inbounds i8, ptr %.sroa.8, i64 24 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %.sroa.7, ptr noundef nonnull align 8 dereferenceable(40) %.sroa.8.40..sroa_idx23, i64 40, i1 false) - br label %42 + %17 = getelementptr inbounds i8, ptr %2, i64 40 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %.sroa.7, ptr noundef nonnull align 8 dereferenceable(40) %17, i64 40, i1 false) + br label %45 -15: ; preds = %9 - %16 = landingpad { ptr, i32 } +18: ; preds = %9 + %19 = landingpad { ptr, i32 } cleanup invoke void @"_ZN4core3ptr79drop_in_place$LT$influxdb_influxql_parser..common..QualifiedMeasurementName$GT$17h13807e989a8c99b0E"(ptr noalias noundef nonnull align 8 dereferenceable(80) %6) #12 - to label %common.resume unwind label %22, !noalias !301 + to label %common.resume unwind label %25, !noalias !301 -17: ; preds = %9 +20: ; preds = %9 call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %5), !noalias !301 - br i1 %14, label %"_ZN143_$LT$iox_query_influxql_rewrite..RewrittenStatement$u20$as$u20$core..convert..TryFrom$LT$influxdb_influxql_parser..statement..Statement$GT$$GT$8try_from28_$u7b$$u7b$closure$u7d$$u7d$17h52d910b473aaa763E.llvm.4252288418090814410.exit", label %18 + br i1 %16, label %"_ZN143_$LT$iox_query_influxql_rewrite..RewrittenStatement$u20$as$u20$core..convert..TryFrom$LT$influxdb_influxql_parser..statement..Statement$GT$$GT$8try_from28_$u7b$$u7b$closure$u7d$$u7d$17h52d910b473aaa763E.llvm.4252288418090814410.exit", label %21 -18: ; preds = %17 - %19 = getelementptr inbounds i8, ptr %13, i64 24 - %20 = load i64, ptr %19, align 8, !noalias !301, !noundef !15 - %21 = icmp ugt i64 %20, 1 - br i1 %21, label %"_ZN143_$LT$iox_query_influxql_rewrite..RewrittenStatement$u20$as$u20$core..convert..TryFrom$LT$influxdb_influxql_parser..statement..Statement$GT$$GT$8try_from28_$u7b$$u7b$closure$u7d$$u7d$17h52d910b473aaa763E.llvm.4252288418090814410.exit.thread", label %"_ZN143_$LT$iox_query_influxql_rewrite..RewrittenStatement$u20$as$u20$core..convert..TryFrom$LT$influxdb_influxql_parser..statement..Statement$GT$$GT$8try_from28_$u7b$$u7b$closure$u7d$$u7d$17h52d910b473aaa763E.llvm.4252288418090814410.exit" +21: ; preds = %20 + %22 = getelementptr inbounds i8, ptr %15, i64 24 + %23 = load i64, ptr %22, align 8, !noalias !301, !noundef !15 + %24 = icmp ugt i64 %23, 1 + br i1 %24, label %"_ZN143_$LT$iox_query_influxql_rewrite..RewrittenStatement$u20$as$u20$core..convert..TryFrom$LT$influxdb_influxql_parser..statement..Statement$GT$$GT$8try_from28_$u7b$$u7b$closure$u7d$$u7d$17h52d910b473aaa763E.llvm.4252288418090814410.exit.thread", label %"_ZN143_$LT$iox_query_influxql_rewrite..RewrittenStatement$u20$as$u20$core..convert..TryFrom$LT$influxdb_influxql_parser..statement..Statement$GT$$GT$8try_from28_$u7b$$u7b$closure$u7d$$u7d$17h52d910b473aaa763E.llvm.4252288418090814410.exit" -"_ZN143_$LT$iox_query_influxql_rewrite..RewrittenStatement$u20$as$u20$core..convert..TryFrom$LT$influxdb_influxql_parser..statement..Statement$GT$$GT$8try_from28_$u7b$$u7b$closure$u7d$$u7d$17h52d910b473aaa763E.llvm.4252288418090814410.exit.thread": ; preds = %18 +"_ZN143_$LT$iox_query_influxql_rewrite..RewrittenStatement$u20$as$u20$core..convert..TryFrom$LT$influxdb_influxql_parser..statement..Statement$GT$$GT$8try_from28_$u7b$$u7b$closure$u7d$$u7d$17h52d910b473aaa763E.llvm.4252288418090814410.exit.thread": ; preds = %21 call void @"_ZN4core3ptr79drop_in_place$LT$influxdb_influxql_parser..common..QualifiedMeasurementName$GT$17h13807e989a8c99b0E"(ptr noalias noundef nonnull align 8 dereferenceable(80) %6), !noalias !301 call void @llvm.lifetime.end.p0(i64 80, ptr nonnull %6), !noalias !301 - br label %25 + br label %28 -common.resume: ; preds = %15, %43 - %common.resume.op = phi { ptr, i32 } [ %44, %43 ], [ %16, %15 ] +common.resume: ; preds = %18, %46 + %common.resume.op = phi { ptr, i32 } [ %47, %46 ], [ %19, %18 ] resume { ptr, i32 } %common.resume.op -22: ; preds = %15 - %23 = landingpad { ptr, i32 } +25: ; preds = %18 + %26 = landingpad { ptr, i32 } filter [0 x ptr] zeroinitializer call void @_ZN4core9panicking16panic_in_cleanup17hd44bb2114362504eE() #13, !noalias !301 unreachable -"_ZN143_$LT$iox_query_influxql_rewrite..RewrittenStatement$u20$as$u20$core..convert..TryFrom$LT$influxdb_influxql_parser..statement..Statement$GT$$GT$8try_from28_$u7b$$u7b$closure$u7d$$u7d$17h52d910b473aaa763E.llvm.4252288418090814410.exit": ; preds = %17, %18 +"_ZN143_$LT$iox_query_influxql_rewrite..RewrittenStatement$u20$as$u20$core..convert..TryFrom$LT$influxdb_influxql_parser..statement..Statement$GT$$GT$8try_from28_$u7b$$u7b$closure$u7d$$u7d$17h52d910b473aaa763E.llvm.4252288418090814410.exit": ; preds = %20, %21 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(64) %.sroa.8, ptr noundef nonnull align 8 dereferenceable(64) %.sroa.713.0..sroa_idx14, i64 64, i1 false), !noalias !306 call void @llvm.lifetime.end.p0(i64 80, ptr nonnull %6), !noalias !301 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %.sroa.4.sroa.6, ptr noundef nonnull align 8 dereferenceable(24) %.sroa.8, i64 24, i1 false) @@ -1424,50 +1428,50 @@ common.resume: ; preds = %15, %43 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %.sroa.7, ptr noundef nonnull align 8 dereferenceable(40) %.sroa.8.40..sroa_idx, i64 40, i1 false) tail call void @llvm.experimental.noalias.scope.decl(metadata !307) tail call void @llvm.experimental.noalias.scope.decl(metadata !310) - %24 = icmp eq i64 %.sroa.08.0.copyload, 3 - br i1 %24, label %25, label %42 + %27 = icmp eq i64 %.sroa.08.0.copyload, 3 + br i1 %27, label %28, label %45 -25: ; preds = %"_ZN143_$LT$iox_query_influxql_rewrite..RewrittenStatement$u20$as$u20$core..convert..TryFrom$LT$influxdb_influxql_parser..statement..Statement$GT$$GT$8try_from28_$u7b$$u7b$closure$u7d$$u7d$17h52d910b473aaa763E.llvm.4252288418090814410.exit.thread", %"_ZN143_$LT$iox_query_influxql_rewrite..RewrittenStatement$u20$as$u20$core..convert..TryFrom$LT$influxdb_influxql_parser..statement..Statement$GT$$GT$8try_from28_$u7b$$u7b$closure$u7d$$u7d$17h52d910b473aaa763E.llvm.4252288418090814410.exit" +28: ; preds = %"_ZN143_$LT$iox_query_influxql_rewrite..RewrittenStatement$u20$as$u20$core..convert..TryFrom$LT$influxdb_influxql_parser..statement..Statement$GT$$GT$8try_from28_$u7b$$u7b$closure$u7d$$u7d$17h52d910b473aaa763E.llvm.4252288418090814410.exit.thread", %"_ZN143_$LT$iox_query_influxql_rewrite..RewrittenStatement$u20$as$u20$core..convert..TryFrom$LT$influxdb_influxql_parser..statement..Statement$GT$$GT$8try_from28_$u7b$$u7b$closure$u7d$$u7d$17h52d910b473aaa763E.llvm.4252288418090814410.exit" %.sroa.6.018 = phi ptr [ null, %"_ZN143_$LT$iox_query_influxql_rewrite..RewrittenStatement$u20$as$u20$core..convert..TryFrom$LT$influxdb_influxql_parser..statement..Statement$GT$$GT$8try_from28_$u7b$$u7b$closure$u7d$$u7d$17h52d910b473aaa763E.llvm.4252288418090814410.exit.thread" ], [ %.sroa.610.0.copyload, %"_ZN143_$LT$iox_query_influxql_rewrite..RewrittenStatement$u20$as$u20$core..convert..TryFrom$LT$influxdb_influxql_parser..statement..Statement$GT$$GT$8try_from28_$u7b$$u7b$closure$u7d$$u7d$17h52d910b473aaa763E.llvm.4252288418090814410.exit" ] - %26 = getelementptr inbounds i8, ptr %1, i64 8 - %27 = load ptr, ptr %26, align 8, !alias.scope !310, !noalias !312, !nonnull !15, !align !39, !noundef !15 + %29 = getelementptr inbounds i8, ptr %1, i64 8 + %30 = load ptr, ptr %29, align 8, !alias.scope !310, !noalias !312, !nonnull !15, !align !39, !noundef !15 call void @llvm.experimental.noalias.scope.decl(metadata !314) - %28 = load i64, ptr %27, align 8, !range !43, !alias.scope !314, !noalias !317, !noundef !15 - %29 = icmp eq i64 %28, 0 - br i1 %29, label %"_ZN4core3ptr138drop_in_place$LT$core..option..Option$LT$core..result..Result$LT$core..convert..Infallible$C$iox_query_influxql_rewrite..Error$GT$$GT$$GT$17h20c076de8dc6c0e2E.exit.i", label %30 + %31 = load i64, ptr %30, align 8, !range !43, !alias.scope !314, !noalias !317, !noundef !15 + %32 = icmp eq i64 %31, 0 + br i1 %32, label %"_ZN4core3ptr138drop_in_place$LT$core..option..Option$LT$core..result..Result$LT$core..convert..Infallible$C$iox_query_influxql_rewrite..Error$GT$$GT$$GT$17h20c076de8dc6c0e2E.exit.i", label %33 -30: ; preds = %25 - %31 = getelementptr inbounds i8, ptr %27, i64 8 +33: ; preds = %28 + %34 = getelementptr inbounds i8, ptr %30, i64 8 call void @llvm.experimental.noalias.scope.decl(metadata !318) call void @llvm.experimental.noalias.scope.decl(metadata !321) - %32 = load ptr, ptr %31, align 8, !alias.scope !324, !noalias !317, !noundef !15 - %33 = icmp eq ptr %32, null - br i1 %33, label %"_ZN4core3ptr138drop_in_place$LT$core..option..Option$LT$core..result..Result$LT$core..convert..Infallible$C$iox_query_influxql_rewrite..Error$GT$$GT$$GT$17h20c076de8dc6c0e2E.exit.i", label %34 + %35 = load ptr, ptr %34, align 8, !alias.scope !324, !noalias !317, !noundef !15 + %36 = icmp eq ptr %35, null + br i1 %36, label %"_ZN4core3ptr138drop_in_place$LT$core..option..Option$LT$core..result..Result$LT$core..convert..Infallible$C$iox_query_influxql_rewrite..Error$GT$$GT$$GT$17h20c076de8dc6c0e2E.exit.i", label %37 -34: ; preds = %30 +37: ; preds = %33 call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %4), !noalias !325 - invoke void @"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$14current_memory17he9c57c5c74bbdb48E.llvm.11290379560268722015"(ptr noalias nocapture noundef nonnull sret({ [1 x i64], i64, [1 x i64] }) align 8 dereferenceable(24) %4, ptr noalias noundef nonnull readonly align 8 dereferenceable(16) %31) - to label %.noexc.i unwind label %43, !noalias !317 - -.noexc.i: ; preds = %34 - %35 = getelementptr inbounds i8, ptr %4, i64 8 - %36 = load i64, ptr %35, align 8, !range !62, !noalias !325, !noundef !15 - %.not.i.i.i.i.i.i.i.i.i = icmp eq i64 %36, 0 - br i1 %.not.i.i.i.i.i.i.i.i.i, label %"_ZN4core3ptr65drop_in_place$LT$influxdb_influxql_parser..common..ParseError$GT$17h765dbafbec55adafE.exit.i.i.i.i", label %37 - -37: ; preds = %.noexc.i - %38 = load ptr, ptr %4, align 8, !noalias !325, !nonnull !15, !noundef !15 - %39 = getelementptr inbounds i8, ptr %4, i64 16 - %40 = load i64, ptr %39, align 8, !noalias !325, !noundef !15 - %41 = getelementptr inbounds i8, ptr %27, i64 24 - invoke void @"_ZN63_$LT$alloc..alloc..Global$u20$as$u20$core..alloc..Allocator$GT$10deallocate17h2e41f254f515f243E.llvm.11290379560268722015"(ptr noalias noundef nonnull readonly align 1 %41, ptr noundef nonnull %38, i64 noundef %36, i64 noundef %40) - to label %"_ZN4core3ptr65drop_in_place$LT$influxdb_influxql_parser..common..ParseError$GT$17h765dbafbec55adafE.exit.i.i.i.i" unwind label %43, !noalias !317 - -"_ZN4core3ptr65drop_in_place$LT$influxdb_influxql_parser..common..ParseError$GT$17h765dbafbec55adafE.exit.i.i.i.i": ; preds = %37, %.noexc.i + invoke void @"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$14current_memory17he9c57c5c74bbdb48E.llvm.11290379560268722015"(ptr noalias nocapture noundef nonnull sret({ [1 x i64], i64, [1 x i64] }) align 8 dereferenceable(24) %4, ptr noalias noundef nonnull readonly align 8 dereferenceable(16) %34) + to label %.noexc.i unwind label %46, !noalias !317 + +.noexc.i: ; preds = %37 + %38 = getelementptr inbounds i8, ptr %4, i64 8 + %39 = load i64, ptr %38, align 8, !range !62, !noalias !325, !noundef !15 + %.not.i.i.i.i.i.i.i.i.i = icmp eq i64 %39, 0 + br i1 %.not.i.i.i.i.i.i.i.i.i, label %"_ZN4core3ptr65drop_in_place$LT$influxdb_influxql_parser..common..ParseError$GT$17h765dbafbec55adafE.exit.i.i.i.i", label %40 + +40: ; preds = %.noexc.i + %41 = load ptr, ptr %4, align 8, !noalias !325, !nonnull !15, !noundef !15 + %42 = getelementptr inbounds i8, ptr %4, i64 16 + %43 = load i64, ptr %42, align 8, !noalias !325, !noundef !15 + %44 = getelementptr inbounds i8, ptr %30, i64 24 + invoke void @"_ZN63_$LT$alloc..alloc..Global$u20$as$u20$core..alloc..Allocator$GT$10deallocate17h2e41f254f515f243E.llvm.11290379560268722015"(ptr noalias noundef nonnull readonly align 1 %44, ptr noundef nonnull %41, i64 noundef %39, i64 noundef %43) + to label %"_ZN4core3ptr65drop_in_place$LT$influxdb_influxql_parser..common..ParseError$GT$17h765dbafbec55adafE.exit.i.i.i.i" unwind label %46, !noalias !317 + +"_ZN4core3ptr65drop_in_place$LT$influxdb_influxql_parser..common..ParseError$GT$17h765dbafbec55adafE.exit.i.i.i.i": ; preds = %40, %.noexc.i call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %4), !noalias !325 br label %"_ZN4core3ptr138drop_in_place$LT$core..option..Option$LT$core..result..Result$LT$core..convert..Infallible$C$iox_query_influxql_rewrite..Error$GT$$GT$$GT$17h20c076de8dc6c0e2E.exit.i" -42: ; preds = %"_ZN143_$LT$iox_query_influxql_rewrite..RewrittenStatement$u20$as$u20$core..convert..TryFrom$LT$influxdb_influxql_parser..statement..Statement$GT$$GT$8try_from28_$u7b$$u7b$closure$u7d$$u7d$17h52d910b473aaa763E.llvm.4252288418090814410.exit.thread20", %"_ZN143_$LT$iox_query_influxql_rewrite..RewrittenStatement$u20$as$u20$core..convert..TryFrom$LT$influxdb_influxql_parser..statement..Statement$GT$$GT$8try_from28_$u7b$$u7b$closure$u7d$$u7d$17h52d910b473aaa763E.llvm.4252288418090814410.exit" +45: ; preds = %"_ZN143_$LT$iox_query_influxql_rewrite..RewrittenStatement$u20$as$u20$core..convert..TryFrom$LT$influxdb_influxql_parser..statement..Statement$GT$$GT$8try_from28_$u7b$$u7b$closure$u7d$$u7d$17h52d910b473aaa763E.llvm.4252288418090814410.exit.thread20", %"_ZN143_$LT$iox_query_influxql_rewrite..RewrittenStatement$u20$as$u20$core..convert..TryFrom$LT$influxdb_influxql_parser..statement..Statement$GT$$GT$8try_from28_$u7b$$u7b$closure$u7d$$u7d$17h52d910b473aaa763E.llvm.4252288418090814410.exit" store i64 %.sroa.08.0.copyload, ptr %0, align 8, !alias.scope !307, !noalias !336 %.sroa.424.0..sroa_idx.i = getelementptr inbounds i8, ptr %0, i64 8 store ptr %.sroa.610.0.copyload, ptr %.sroa.424.0..sroa_idx.i, align 8, !noalias !336 @@ -1477,25 +1481,25 @@ common.resume: ; preds = %15, %43 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %.sroa.4.i.sroa.5.0..sroa.424.0..sroa_idx.i.sroa_idx, ptr noundef nonnull align 8 dereferenceable(40) %.sroa.7, i64 40, i1 false) br label %"_ZN106_$LT$core..iter..adapters..GenericShunt$LT$I$C$R$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$8try_fold28_$u7b$$u7b$closure$u7d$$u7d$17hcd3b6f484b00f8bcE.llvm.4252288418090814410.exit" -43: ; preds = %37, %34 - %44 = landingpad { ptr, i32 } +46: ; preds = %40, %37 + %47 = landingpad { ptr, i32 } cleanup - store i64 1, ptr %27, align 8, !noalias !317 - store ptr %.sroa.6.018, ptr %31, align 8, !noalias !337 - %.sroa.4.sroa.6.0..sroa_idx = getelementptr inbounds i8, ptr %27, i64 16 + store i64 1, ptr %30, align 8, !noalias !317 + store ptr %.sroa.6.018, ptr %34, align 8, !noalias !337 + %.sroa.4.sroa.6.0..sroa_idx = getelementptr inbounds i8, ptr %30, i64 16 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %.sroa.4.sroa.6.0..sroa_idx, ptr noundef nonnull align 8 dereferenceable(24) %.sroa.4.sroa.6, i64 24, i1 false) br label %common.resume -"_ZN4core3ptr138drop_in_place$LT$core..option..Option$LT$core..result..Result$LT$core..convert..Infallible$C$iox_query_influxql_rewrite..Error$GT$$GT$$GT$17h20c076de8dc6c0e2E.exit.i": ; preds = %"_ZN4core3ptr65drop_in_place$LT$influxdb_influxql_parser..common..ParseError$GT$17h765dbafbec55adafE.exit.i.i.i.i", %30, %25 - store i64 1, ptr %27, align 8, !noalias !317 - %.sroa.5.0..sroa_idx3.i = getelementptr inbounds i8, ptr %27, i64 8 +"_ZN4core3ptr138drop_in_place$LT$core..option..Option$LT$core..result..Result$LT$core..convert..Infallible$C$iox_query_influxql_rewrite..Error$GT$$GT$$GT$17h20c076de8dc6c0e2E.exit.i": ; preds = %"_ZN4core3ptr65drop_in_place$LT$influxdb_influxql_parser..common..ParseError$GT$17h765dbafbec55adafE.exit.i.i.i.i", %33, %28 + store i64 1, ptr %30, align 8, !noalias !317 + %.sroa.5.0..sroa_idx3.i = getelementptr inbounds i8, ptr %30, i64 8 store ptr %.sroa.6.018, ptr %.sroa.5.0..sroa_idx3.i, align 8, !noalias !337 - %.sroa.4.sroa.6.0..sroa.5.0..sroa_idx3.i.sroa_idx = getelementptr inbounds i8, ptr %27, i64 16 + %.sroa.4.sroa.6.0..sroa.5.0..sroa_idx3.i.sroa_idx = getelementptr inbounds i8, ptr %30, i64 16 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %.sroa.4.sroa.6.0..sroa.5.0..sroa_idx3.i.sroa_idx, ptr noundef nonnull align 8 dereferenceable(24) %.sroa.4.sroa.6, i64 24, i1 false) store i64 3, ptr %0, align 8, !alias.scope !307, !noalias !336 br label %"_ZN106_$LT$core..iter..adapters..GenericShunt$LT$I$C$R$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$8try_fold28_$u7b$$u7b$closure$u7d$$u7d$17hcd3b6f484b00f8bcE.llvm.4252288418090814410.exit" -"_ZN106_$LT$core..iter..adapters..GenericShunt$LT$I$C$R$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$8try_fold28_$u7b$$u7b$closure$u7d$$u7d$17hcd3b6f484b00f8bcE.llvm.4252288418090814410.exit": ; preds = %42, %"_ZN4core3ptr138drop_in_place$LT$core..option..Option$LT$core..result..Result$LT$core..convert..Infallible$C$iox_query_influxql_rewrite..Error$GT$$GT$$GT$17h20c076de8dc6c0e2E.exit.i" +"_ZN106_$LT$core..iter..adapters..GenericShunt$LT$I$C$R$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$8try_fold28_$u7b$$u7b$closure$u7d$$u7d$17hcd3b6f484b00f8bcE.llvm.4252288418090814410.exit": ; preds = %45, %"_ZN4core3ptr138drop_in_place$LT$core..option..Option$LT$core..result..Result$LT$core..convert..Infallible$C$iox_query_influxql_rewrite..Error$GT$$GT$$GT$17h20c076de8dc6c0e2E.exit.i" call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %.sroa.8) ret void } @@ -1600,58 +1604,60 @@ define hidden void @"_ZN143_$LT$iox_query_influxql_rewrite..RewrittenStatement$u call void @llvm.lifetime.start.p0(i64 80, ptr nonnull %5) call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(80) %5, ptr noundef nonnull align 8 dereferenceable(80) %2, i64 80, i1 false) %8 = getelementptr inbounds i8, ptr %5, i64 32 + %9 = getelementptr inbounds i8, ptr %2, i64 32 call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %4) - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %4, ptr noundef nonnull align 8 dereferenceable(24) %8, i64 24, i1 false) + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %4, ptr noundef nonnull align 8 dereferenceable(24) %9, i64 24, i1 false) store ptr null, ptr %8, align 8 - %9 = getelementptr inbounds i8, ptr %5, i64 56 - %10 = getelementptr inbounds i8, ptr %4, i64 24 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %10, ptr noundef nonnull align 8 dereferenceable(24) %9, i64 24, i1 false) - store ptr null, ptr %9, align 8 - %11 = load ptr, ptr %1, align 8, !nonnull !15, !align !39, !noundef !15 - %12 = invoke noundef zeroext i1 @"_ZN9hashbrown3map28HashMap$LT$K$C$V$C$S$C$A$GT$6insert17h44036447f9805b9fE"(ptr noalias noundef nonnull align 8 dereferenceable(48) %11, ptr noalias nocapture noundef nonnull align 8 dereferenceable(48) %4) - to label %15 unwind label %13 + %10 = getelementptr inbounds i8, ptr %5, i64 56 + %11 = getelementptr inbounds i8, ptr %2, i64 56 + %12 = getelementptr inbounds i8, ptr %4, i64 24 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %12, ptr noundef nonnull align 8 dereferenceable(24) %11, i64 24, i1 false) + store ptr null, ptr %10, align 8 + %13 = load ptr, ptr %1, align 8, !nonnull !15, !align !39, !noundef !15 + %14 = invoke noundef zeroext i1 @"_ZN9hashbrown3map28HashMap$LT$K$C$V$C$S$C$A$GT$6insert17h44036447f9805b9fE"(ptr noalias noundef nonnull align 8 dereferenceable(48) %13, ptr noalias nocapture noundef nonnull align 8 dereferenceable(48) %4) + to label %17 unwind label %15 .thread: ; preds = %3 tail call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(80) %0, ptr noundef nonnull align 8 dereferenceable(80) %2, i64 80, i1 false) - br label %23 + br label %25 -13: ; preds = %7 - %14 = landingpad { ptr, i32 } +15: ; preds = %7 + %16 = landingpad { ptr, i32 } cleanup invoke void @"_ZN4core3ptr79drop_in_place$LT$influxdb_influxql_parser..common..QualifiedMeasurementName$GT$17h13807e989a8c99b0E"(ptr noalias noundef nonnull align 8 dereferenceable(80) %5) #12 - to label %common.resume unwind label %24 + to label %common.resume unwind label %26 -15: ; preds = %7 +17: ; preds = %7 call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %4) - br i1 %12, label %22, label %16 + br i1 %14, label %24, label %18 -16: ; preds = %15 - %17 = getelementptr inbounds i8, ptr %11, i64 24 - %18 = load i64, ptr %17, align 8, !noundef !15 - %19 = icmp ugt i64 %18, 1 - br i1 %19, label %20, label %22 +18: ; preds = %17 + %19 = getelementptr inbounds i8, ptr %13, i64 24 + %20 = load i64, ptr %19, align 8, !noundef !15 + %21 = icmp ugt i64 %20, 1 + br i1 %21, label %22, label %24 -20: ; preds = %16 - %21 = getelementptr inbounds i8, ptr %0, i64 8 - store ptr null, ptr %21, align 8 +22: ; preds = %18 + %23 = getelementptr inbounds i8, ptr %0, i64 8 + store ptr null, ptr %23, align 8 store i64 3, ptr %0, align 8 call void @"_ZN4core3ptr79drop_in_place$LT$influxdb_influxql_parser..common..QualifiedMeasurementName$GT$17h13807e989a8c99b0E"(ptr noalias noundef nonnull align 8 dereferenceable(80) %5) call void @llvm.lifetime.end.p0(i64 80, ptr nonnull %5) - br label %23 + br label %25 -22: ; preds = %15, %16 +24: ; preds = %17, %18 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(80) %0, ptr noundef nonnull align 8 dereferenceable(80) %5, i64 80, i1 false) call void @llvm.lifetime.end.p0(i64 80, ptr nonnull %5) - br label %23 + br label %25 -23: ; preds = %20, %22, %.thread +25: ; preds = %22, %24, %.thread ret void -common.resume: ; preds = %13 - resume { ptr, i32 } %14 +common.resume: ; preds = %15 + resume { ptr, i32 } %16 -24: ; preds = %13 - %25 = landingpad { ptr, i32 } +26: ; preds = %15 + %27 = landingpad { ptr, i32 } filter [0 x ptr] zeroinitializer call void @_ZN4core9panicking16panic_in_cleanup17hd44bb2114362504eE() #13 unreachable diff --git a/bench/influxdb-rs/optimized/4kb3gpg2ia525kiq.ll b/bench/influxdb-rs/optimized/4kb3gpg2ia525kiq.ll index a85d93b1ca2..3bac144eeb8 100644 --- a/bench/influxdb-rs/optimized/4kb3gpg2ia525kiq.ll +++ b/bench/influxdb-rs/optimized/4kb3gpg2ia525kiq.ll @@ -559,9 +559,7 @@ define void @"_ZN143_$LT$iox_query_influxql_rewrite..RewrittenStatement$u20$as$u %.sroa.5369 = alloca [2 x i64], align 8 %.sroa.5353 = alloca [2 x i64], align 8 %.sroa.4 = alloca [2 x i64], align 8 - %.sroa.6428 = alloca [2 x i64], align 8 - %.sroa.6423 = alloca [2 x i64], align 8 - %.sroa.9 = alloca [2 x i64], align 8 + %.sroa.6430 = alloca [2 x i64], align 8 switch i64 %1, label %default.unreachable [ i64 0, label %147 i64 1, label %147 @@ -579,7 +577,7 @@ define void @"_ZN143_$LT$iox_query_influxql_rewrite..RewrittenStatement$u20$as$u default.unreachable: ; preds = %3 unreachable -23: ; preds = %28 +23: ; preds = %148 unreachable 24: ; preds = %3 @@ -606,26 +604,15 @@ default.unreachable: ; preds = %3 28: ; preds = %3 %29 = icmp ne ptr %2, null tail call void @llvm.assume(i1 %29) - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %.sroa.6423) - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %.sroa.9) %30 = getelementptr inbounds i8, ptr %2, i64 120 %.sroa.0.0.copyload = load i64, ptr %30, align 8 %.sroa.5.0..sroa_idx422 = getelementptr inbounds i8, ptr %2, i64 128 %.sroa.5.0.copyload = load ptr, ptr %.sroa.5.0..sroa_idx422, align 8 - %.sroa.6423.0..sroa_idx = getelementptr inbounds i8, ptr %2, i64 136 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %.sroa.6423, ptr noundef nonnull align 8 dereferenceable(16) %.sroa.6423.0..sroa_idx, i64 16, i1 false) - %.sroa.8.0..sroa_idx = getelementptr inbounds i8, ptr %2, i64 152 - %.sroa.8.0.copyload = load ptr, ptr %.sroa.8.0..sroa_idx, align 8 - %.sroa.9.0..sroa_idx = getelementptr inbounds i8, ptr %2, i64 160 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %.sroa.9, ptr noundef nonnull align 8 dereferenceable(16) %.sroa.9.0..sroa_idx, i64 16, i1 false) + %.sroa.6424.0..sroa_idx = getelementptr inbounds i8, ptr %2, i64 152 + %.sroa.6424.0.copyload = load ptr, ptr %.sroa.6424.0..sroa_idx, align 8 store i64 4, ptr %30, align 8 - switch i64 %.sroa.0.0.copyload, label %23 [ - i64 4, label %154 - i64 0, label %148 - i64 1, label %149 - i64 2, label %150 - i64 3, label %150 - ] + %.not.not = icmp eq i64 %.sroa.0.0.copyload, 4 + br i1 %.not.not, label %157, label %148 31: ; preds = %3 %32 = icmp ne ptr %2, null @@ -633,7 +620,7 @@ default.unreachable: ; preds = %3 %.sroa.09.0.copyload = load ptr, ptr %2, align 8 store ptr null, ptr %2, align 8 %33 = icmp eq ptr %.sroa.09.0.copyload, null - br i1 %33, label %158, label %157 + br i1 %33, label %160, label %159 34: ; preds = %3 %35 = icmp ne ptr %2, null @@ -642,7 +629,7 @@ default.unreachable: ; preds = %3 %.sroa.015.0.copyload = load ptr, ptr %36, align 8 store ptr null, ptr %36, align 8 %37 = icmp eq ptr %.sroa.015.0.copyload, null - br i1 %37, label %160, label %159 + br i1 %37, label %162, label %161 38: ; preds = %3 %39 = icmp ne ptr %2, null @@ -651,7 +638,7 @@ default.unreachable: ; preds = %3 %.sroa.021.0.copyload = load ptr, ptr %40, align 8 store ptr null, ptr %40, align 8 %41 = icmp eq ptr %.sroa.021.0.copyload, null - br i1 %41, label %162, label %161 + br i1 %41, label %164, label %163 42: ; preds = %3 %43 = icmp ne ptr %2, null @@ -660,7 +647,7 @@ default.unreachable: ; preds = %3 %.sroa.027.0.copyload = load ptr, ptr %44, align 8 store ptr null, ptr %44, align 8 %45 = icmp eq ptr %.sroa.027.0.copyload, null - br i1 %45, label %164, label %163 + br i1 %45, label %166, label %165 .thread: ; preds = %24, %27, %71, %.noexc158 %46 = landingpad { ptr, i32 } @@ -1055,47 +1042,55 @@ default.unreachable: ; preds = %3 br label %.critedge139 148: ; preds = %28 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %.sroa.3420, ptr noundef nonnull align 8 dereferenceable(16) %.sroa.6423, i64 16, i1 false) + %149 = getelementptr inbounds i8, ptr %2, i64 136 + switch i64 %.sroa.0.0.copyload, label %23 [ + i64 0, label %150 + i64 1, label %151 + i64 2, label %153 + i64 3, label %153 + ] + +150: ; preds = %148 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %.sroa.3420, ptr noundef nonnull align 8 dereferenceable(16) %149, i64 16, i1 false) br label %.thread312 -149: ; preds = %28 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %.sroa.3420, ptr noundef nonnull align 8 dereferenceable(16) %.sroa.6423, i64 16, i1 false) - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %.sroa.3, ptr noundef nonnull align 8 dereferenceable(16) %.sroa.9, i64 16, i1 false) +151: ; preds = %148 + %152 = getelementptr inbounds i8, ptr %2, i64 160 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %.sroa.3420, ptr noundef nonnull align 8 dereferenceable(16) %149, i64 16, i1 false) + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %.sroa.3, ptr noundef nonnull align 8 dereferenceable(16) %152, i64 16, i1 false) br label %.thread312 -150: ; preds = %28, %28 - %151 = getelementptr inbounds i8, ptr %0, i64 8 - store ptr null, ptr %151, align 8 +153: ; preds = %148, %148 + %154 = getelementptr inbounds i8, ptr %0, i64 8 + store ptr null, ptr %154, align 8 store i64 11, ptr %0, align 8 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %.sroa.6423) - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %.sroa.9) invoke void @"_ZN4core3ptr91drop_in_place$LT$influxdb_influxql_parser..show_measurements..ShowMeasurementsStatement$GT$17h5b3c474a804d8196E"(ptr noalias noundef nonnull align 8 dereferenceable(200) %2) - to label %155 unwind label %152 + to label %158 unwind label %155 -152: ; preds = %150 - %153 = landingpad { ptr, i32 } +155: ; preds = %153 + %156 = landingpad { ptr, i32 } cleanup tail call void @__rust_dealloc(ptr noundef nonnull %2, i64 noundef 200, i64 noundef 8) #15 br label %.body176.thread -.thread312: ; preds = %149, %148 - %.sroa.084.0 = phi ptr [ %.sroa.8.0.copyload, %149 ], [ null, %148 ] +.thread312: ; preds = %151, %150 + %.sroa.084.0 = phi ptr [ %.sroa.6424.0.copyload, %151 ], [ null, %150 ] call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %.sroa.4, ptr noundef nonnull align 8 dereferenceable(16) %.sroa.3420, i64 16, i1 false), !alias.scope !247 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %.sroa.6428, ptr noundef nonnull align 8 dereferenceable(16) %.sroa.3, i64 16, i1 false), !alias.scope !251 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %.sroa.6430, ptr noundef nonnull align 8 dereferenceable(16) %.sroa.3, i64 16, i1 false), !alias.scope !251 store i64 6, ptr %0, align 8 - %.sroa.2.0..sroa_idx425 = getelementptr inbounds i8, ptr %0, i64 8 - store ptr %2, ptr %.sroa.2.0..sroa_idx425, align 8 - %.sroa.3426.0..sroa_idx = getelementptr inbounds i8, ptr %0, i64 16 - store ptr %.sroa.5.0.copyload, ptr %.sroa.3426.0..sroa_idx, align 8 + %.sroa.2.0..sroa_idx427 = getelementptr inbounds i8, ptr %0, i64 8 + store ptr %2, ptr %.sroa.2.0..sroa_idx427, align 8 + %.sroa.3428.0..sroa_idx = getelementptr inbounds i8, ptr %0, i64 16 + store ptr %.sroa.5.0.copyload, ptr %.sroa.3428.0..sroa_idx, align 8 %.sroa.4.0..sroa_idx = getelementptr inbounds i8, ptr %0, i64 24 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %.sroa.4.0..sroa_idx, ptr noundef nonnull align 8 dereferenceable(16) %.sroa.4, i64 16, i1 false) - %.sroa.5427.0..sroa_idx = getelementptr inbounds i8, ptr %0, i64 40 - store ptr %.sroa.084.0, ptr %.sroa.5427.0..sroa_idx, align 8 - %.sroa.6428.0..sroa_idx = getelementptr inbounds i8, ptr %0, i64 48 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %.sroa.6428.0..sroa_idx, ptr noundef nonnull align 8 dereferenceable(16) %.sroa.6428, i64 16, i1 false) - br label %156 + %.sroa.5429.0..sroa_idx = getelementptr inbounds i8, ptr %0, i64 40 + store ptr %.sroa.084.0, ptr %.sroa.5429.0..sroa_idx, align 8 + %.sroa.6430.0..sroa_idx = getelementptr inbounds i8, ptr %0, i64 48 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %.sroa.6430.0..sroa_idx, ptr noundef nonnull align 8 dereferenceable(16) %.sroa.6430, i64 16, i1 false) + br label %.critedge139 -154: ; preds = %28 +157: ; preds = %28 store i64 6, ptr %0, align 8 %.sroa.4230.0..sroa_idx = getelementptr inbounds i8, ptr %0, i64 8 store ptr %2, ptr %.sroa.4230.0..sroa_idx, align 8 @@ -1103,26 +1098,21 @@ default.unreachable: ; preds = %3 store ptr null, ptr %.sroa.5231.0..sroa_idx, align 8 %.sroa.6233.0..sroa_idx = getelementptr inbounds i8, ptr %0, i64 40 store ptr null, ptr %.sroa.6233.0..sroa_idx, align 8 - br label %156 + br label %.critedge139 -155: ; preds = %150 +158: ; preds = %153 tail call void @__rust_dealloc(ptr noundef nonnull %2, i64 noundef 200, i64 noundef 8) #15 br label %.critedge139 -.critedge139: ; preds = %"_ZN4core3ptr229drop_in_place$LT$std..collections..hash..set..IntoIter$LT$$LP$core..option..Option$LT$influxdb_influxql_parser..identifier..Identifier$GT$$C$core..option..Option$LT$influxdb_influxql_parser..identifier..Identifier$GT$$RP$$GT$$GT$17h3c8951a311726a25E.exit", %156, %158, %160, %162, %164, %144, %155, %147 +.critedge139: ; preds = %.thread312, %157, %"_ZN4core3ptr229drop_in_place$LT$std..collections..hash..set..IntoIter$LT$$LP$core..option..Option$LT$influxdb_influxql_parser..identifier..Identifier$GT$$C$core..option..Option$LT$influxdb_influxql_parser..identifier..Identifier$GT$$RP$$GT$$GT$17h3c8951a311726a25E.exit", %160, %162, %164, %166, %144, %158, %147 ret void -156: ; preds = %154, %.thread312 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %.sroa.6423) - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %.sroa.9) - br label %.critedge139 - -157: ; preds = %31 +159: ; preds = %31 %.sroa.511.0..sroa_idx = getelementptr inbounds i8, ptr %2, i64 8 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %.sroa.5353, ptr noundef nonnull align 8 dereferenceable(16) %.sroa.511.0..sroa_idx, i64 16, i1 false) - br label %158 + br label %160 -158: ; preds = %31, %157 +160: ; preds = %31, %159 store i64 7, ptr %0, align 8 %.sroa.4361.0..sroa_idx = getelementptr inbounds i8, ptr %0, i64 8 store ptr %2, ptr %.sroa.4361.0..sroa_idx, align 8 @@ -1134,12 +1124,12 @@ default.unreachable: ; preds = %3 store ptr null, ptr %.sroa.7364.0..sroa_idx, align 8 br label %.critedge139 -159: ; preds = %34 +161: ; preds = %34 %.sroa.517.0..sroa_idx = getelementptr inbounds i8, ptr %2, i64 64 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %.sroa.5369, ptr noundef nonnull align 8 dereferenceable(16) %.sroa.517.0..sroa_idx, i64 16, i1 false) - br label %160 + br label %162 -160: ; preds = %34, %159 +162: ; preds = %34, %161 store i64 8, ptr %0, align 8 %.sroa.4377.0..sroa_idx = getelementptr inbounds i8, ptr %0, i64 8 store ptr %2, ptr %.sroa.4377.0..sroa_idx, align 8 @@ -1151,12 +1141,12 @@ default.unreachable: ; preds = %3 store ptr null, ptr %.sroa.7380.0..sroa_idx, align 8 br label %.critedge139 -161: ; preds = %38 +163: ; preds = %38 %.sroa.523.0..sroa_idx = getelementptr inbounds i8, ptr %2, i64 96 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %.sroa.5385, ptr noundef nonnull align 8 dereferenceable(16) %.sroa.523.0..sroa_idx, i64 16, i1 false) - br label %162 + br label %164 -162: ; preds = %38, %161 +164: ; preds = %38, %163 store i64 9, ptr %0, align 8 %.sroa.4393.0..sroa_idx = getelementptr inbounds i8, ptr %0, i64 8 store ptr %2, ptr %.sroa.4393.0..sroa_idx, align 8 @@ -1168,12 +1158,12 @@ default.unreachable: ; preds = %3 store ptr null, ptr %.sroa.7396.0..sroa_idx, align 8 br label %.critedge139 -163: ; preds = %42 +165: ; preds = %42 %.sroa.529.0..sroa_idx = getelementptr inbounds i8, ptr %2, i64 40 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %.sroa.5401, ptr noundef nonnull align 8 dereferenceable(16) %.sroa.529.0..sroa_idx, i64 16, i1 false) - br label %164 + br label %166 -164: ; preds = %42, %163 +166: ; preds = %42, %165 store i64 10, ptr %0, align 8 %.sroa.4409.0..sroa_idx = getelementptr inbounds i8, ptr %0, i64 8 store ptr %2, ptr %.sroa.4409.0..sroa_idx, align 8 @@ -1185,8 +1175,8 @@ default.unreachable: ; preds = %3 store ptr null, ptr %.sroa.7412.0..sroa_idx, align 8 br label %.critedge139 -.body176.thread: ; preds = %88, %.thread292, %146, %152, %142 - %.pn.pn333 = phi { ptr, i32 } [ %153, %152 ], [ %143, %142 ], [ %.pn133277, %146 ], [ %.pn128, %88 ], [ %.pn130295, %.thread292 ] +.body176.thread: ; preds = %88, %.thread292, %146, %155, %142 + %.pn.pn333 = phi { ptr, i32 } [ %156, %155 ], [ %143, %142 ], [ %.pn133277, %146 ], [ %.pn128, %88 ], [ %.pn130295, %.thread292 ] resume { ptr, i32 } %.pn.pn333 } diff --git a/bench/influxdb-rs/optimized/xf9idvr5og46ibq.ll b/bench/influxdb-rs/optimized/xf9idvr5og46ibq.ll index a60bbaea782..9e47025d481 100644 --- a/bench/influxdb-rs/optimized/xf9idvr5og46ibq.ll +++ b/bench/influxdb-rs/optimized/xf9idvr5og46ibq.ll @@ -14663,7 +14663,7 @@ _ZN12tracing_core8callsite15DefaultCallsite8interest17he62257500e7c8da9E.exit230 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(176) %114, ptr noundef nonnull align 8 dereferenceable(176) %115, i64 176, i1 false), !noalias !2393 %780 = getelementptr inbounds i8, ptr %0, i64 192 call void @llvm.lifetime.start.p0(i64 56, ptr nonnull %113), !noalias !2393 - %781 = getelementptr inbounds i8, ptr %114, i64 48 + %781 = getelementptr inbounds i8, ptr %115, i64 48 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(56) %113, ptr noundef nonnull align 8 dereferenceable(56) %781, i64 56, i1 false), !noalias !2393 %782 = getelementptr inbounds i8, ptr %0, i64 208 %783 = load i64, ptr %782, align 8, !alias.scope !2693, !noalias !2696, !noundef !4 diff --git a/bench/lief/optimized/ssl_tls.c.ll b/bench/lief/optimized/ssl_tls.c.ll index 982733f7098..972ae393cc4 100644 --- a/bench/lief/optimized/ssl_tls.c.ll +++ b/bench/lief/optimized/ssl_tls.c.ll @@ -5263,8 +5263,8 @@ define hidden i32 @mbedtls_ssl_derive_keys(ptr noundef %0) local_unnamed_addr #0 %43 = load ptr, ptr %5, align 8 %44 = getelementptr inbounds i8, ptr %43, i64 1496 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(64) %4, ptr noundef nonnull align 8 dereferenceable(64) %44, i64 64, i1 false) - %45 = getelementptr inbounds i8, ptr %4, i64 32 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %44, ptr noundef nonnull align 16 dereferenceable(32) %45, i64 32, i1 false) + %45 = getelementptr inbounds i8, ptr %43, i64 1528 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %44, ptr noundef nonnull align 8 dereferenceable(32) %45, i64 32, i1 false) %46 = load ptr, ptr %5, align 8 %47 = getelementptr inbounds i8, ptr %46, i64 1528 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(32) %47, ptr noundef nonnull align 16 dereferenceable(32) %4, i64 32, i1 false) diff --git a/bench/meshlab/optimized/parameters.cpp.ll b/bench/meshlab/optimized/parameters.cpp.ll index 98342f37bf3..536a45c50ab 100644 --- a/bench/meshlab/optimized/parameters.cpp.ll +++ b/bench/meshlab/optimized/parameters.cpp.ll @@ -1258,300 +1258,301 @@ define void @_ZN10Parameters6toShotEb(ptr dead_on_unwind noalias nocapture writa %storemerge = phi float [ %76, %71 ], [ %70, %3 ], [ 1.000000e+00, %.sink.split ] store float %storemerge, ptr %0, align 4 %79 = getelementptr inbounds i8, ptr %0, i64 56 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(64) %6, ptr noundef nonnull align 4 dereferenceable(64) %79, i64 64, i1 false) + %80 = getelementptr inbounds i8, ptr %1, i64 172 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(64) %6, ptr noundef nonnull align 4 dereferenceable(64) %80, i64 64, i1 false) call void @_ZN3vcg7InverseIfEENS_8Matrix44IT_EERKS3_(ptr dead_on_unwind nonnull writable sret(%"class.vcg::Matrix44") align 4 %7, ptr noundef nonnull align 4 dereferenceable(64) %6) - %80 = getelementptr inbounds i8, ptr %0, i64 120 - %.sroa.01.0.copyload.i = load <2 x float>, ptr %80, align 4 + %81 = getelementptr inbounds i8, ptr %0, i64 120 + %.sroa.01.0.copyload.i = load <2 x float>, ptr %81, align 4 %.sroa.22.0..sroa_idx.i = getelementptr inbounds i8, ptr %0, i64 128 %.sroa.22.0.copyload.i = load float, ptr %.sroa.22.0..sroa_idx.i, align 4 call void @llvm.experimental.noalias.scope.decl(metadata !18) br label %.preheader19.i -.preheader19.i: ; preds = %94, %78 - %indvars.iv29.i = phi i64 [ 0, %78 ], [ %indvars.iv.next30.i, %94 ] - %81 = shl nuw nsw i64 %indvars.iv29.i, 2 +.preheader19.i: ; preds = %95, %78 + %indvars.iv29.i = phi i64 [ 0, %78 ], [ %indvars.iv.next30.i, %95 ] + %82 = shl nuw nsw i64 %indvars.iv29.i, 2 br label %.preheader.i -.preheader.i: ; preds = %91, %.preheader19.i - %indvars.iv25.i = phi i64 [ 0, %.preheader19.i ], [ %indvars.iv.next26.i, %91 ] - br label %82 - -82: ; preds = %82, %.preheader.i - %indvars.iv.i = phi i64 [ 0, %.preheader.i ], [ %indvars.iv.next.i, %82 ] - %.01620.i = phi float [ 0.000000e+00, %.preheader.i ], [ %90, %82 ] - %83 = add nuw nsw i64 %indvars.iv.i, %81 - %84 = getelementptr inbounds [16 x float], ptr %7, i64 0, i64 %83 - %85 = load float, ptr %84, align 4, !noalias !18 - %86 = shl nuw nsw i64 %indvars.iv.i, 2 - %87 = add nuw nsw i64 %86, %indvars.iv25.i - %88 = getelementptr inbounds [16 x float], ptr %5, i64 0, i64 %87 - %89 = load float, ptr %88, align 4, !noalias !18 - %90 = call float @llvm.fmuladd.f32(float %85, float %89, float %.01620.i) +.preheader.i: ; preds = %92, %.preheader19.i + %indvars.iv25.i = phi i64 [ 0, %.preheader19.i ], [ %indvars.iv.next26.i, %92 ] + br label %83 + +83: ; preds = %83, %.preheader.i + %indvars.iv.i = phi i64 [ 0, %.preheader.i ], [ %indvars.iv.next.i, %83 ] + %.01620.i = phi float [ 0.000000e+00, %.preheader.i ], [ %91, %83 ] + %84 = add nuw nsw i64 %indvars.iv.i, %82 + %85 = getelementptr inbounds [16 x float], ptr %7, i64 0, i64 %84 + %86 = load float, ptr %85, align 4, !noalias !18 + %87 = shl nuw nsw i64 %indvars.iv.i, 2 + %88 = add nuw nsw i64 %87, %indvars.iv25.i + %89 = getelementptr inbounds [16 x float], ptr %5, i64 0, i64 %88 + %90 = load float, ptr %89, align 4, !noalias !18 + %91 = call float @llvm.fmuladd.f32(float %86, float %90, float %.01620.i) %indvars.iv.next.i = add nuw nsw i64 %indvars.iv.i, 1 %exitcond.not.i = icmp eq i64 %indvars.iv.next.i, 4 - br i1 %exitcond.not.i, label %91, label %82, !llvm.loop !21 + br i1 %exitcond.not.i, label %92, label %83, !llvm.loop !21 -91: ; preds = %82 - %92 = add nuw nsw i64 %indvars.iv25.i, %81 - %93 = getelementptr inbounds [16 x float], ptr %9, i64 0, i64 %92 - store float %90, ptr %93, align 4, !alias.scope !18 +92: ; preds = %83 + %93 = add nuw nsw i64 %indvars.iv25.i, %82 + %94 = getelementptr inbounds [16 x float], ptr %9, i64 0, i64 %93 + store float %91, ptr %94, align 4, !alias.scope !18 %indvars.iv.next26.i = add nuw nsw i64 %indvars.iv25.i, 1 %exitcond28.not.i = icmp eq i64 %indvars.iv.next26.i, 4 - br i1 %exitcond28.not.i, label %94, label %.preheader.i, !llvm.loop !22 + br i1 %exitcond28.not.i, label %95, label %.preheader.i, !llvm.loop !22 -94: ; preds = %91 +95: ; preds = %92 %indvars.iv.next30.i = add nuw nsw i64 %indvars.iv29.i, 1 %exitcond32.not.i = icmp eq i64 %indvars.iv.next30.i, 4 br i1 %exitcond32.not.i, label %_ZNK3vcg8Matrix44IfEmlERKS1_.exit, label %.preheader19.i, !llvm.loop !23 -_ZNK3vcg8Matrix44IfEmlERKS1_.exit: ; preds = %94 +_ZNK3vcg8Matrix44IfEmlERKS1_.exit: ; preds = %95 call void @llvm.experimental.noalias.scope.decl(metadata !24) br label %.preheader19.i36 -.preheader19.i36: ; preds = %108, %_ZNK3vcg8Matrix44IfEmlERKS1_.exit - %indvars.iv29.i37 = phi i64 [ 0, %_ZNK3vcg8Matrix44IfEmlERKS1_.exit ], [ %indvars.iv.next30.i46, %108 ] - %95 = shl nuw nsw i64 %indvars.iv29.i37, 2 +.preheader19.i36: ; preds = %109, %_ZNK3vcg8Matrix44IfEmlERKS1_.exit + %indvars.iv29.i37 = phi i64 [ 0, %_ZNK3vcg8Matrix44IfEmlERKS1_.exit ], [ %indvars.iv.next30.i46, %109 ] + %96 = shl nuw nsw i64 %indvars.iv29.i37, 2 br label %.preheader.i38 -.preheader.i38: ; preds = %105, %.preheader19.i36 - %indvars.iv25.i39 = phi i64 [ 0, %.preheader19.i36 ], [ %indvars.iv.next26.i44, %105 ] - br label %96 - -96: ; preds = %96, %.preheader.i38 - %indvars.iv.i40 = phi i64 [ 0, %.preheader.i38 ], [ %indvars.iv.next.i42, %96 ] - %.01620.i41 = phi float [ 0.000000e+00, %.preheader.i38 ], [ %104, %96 ] - %97 = add nuw nsw i64 %indvars.iv.i40, %95 - %98 = getelementptr inbounds [16 x float], ptr %9, i64 0, i64 %97 - %99 = load float, ptr %98, align 4, !noalias !24 - %100 = shl nuw nsw i64 %indvars.iv.i40, 2 - %101 = add nuw nsw i64 %100, %indvars.iv25.i39 - %102 = getelementptr inbounds [16 x float], ptr %6, i64 0, i64 %101 - %103 = load float, ptr %102, align 4, !noalias !24 - %104 = call float @llvm.fmuladd.f32(float %99, float %103, float %.01620.i41) +.preheader.i38: ; preds = %106, %.preheader19.i36 + %indvars.iv25.i39 = phi i64 [ 0, %.preheader19.i36 ], [ %indvars.iv.next26.i44, %106 ] + br label %97 + +97: ; preds = %97, %.preheader.i38 + %indvars.iv.i40 = phi i64 [ 0, %.preheader.i38 ], [ %indvars.iv.next.i42, %97 ] + %.01620.i41 = phi float [ 0.000000e+00, %.preheader.i38 ], [ %105, %97 ] + %98 = add nuw nsw i64 %indvars.iv.i40, %96 + %99 = getelementptr inbounds [16 x float], ptr %9, i64 0, i64 %98 + %100 = load float, ptr %99, align 4, !noalias !24 + %101 = shl nuw nsw i64 %indvars.iv.i40, 2 + %102 = add nuw nsw i64 %101, %indvars.iv25.i39 + %103 = getelementptr inbounds [16 x float], ptr %6, i64 0, i64 %102 + %104 = load float, ptr %103, align 4, !noalias !24 + %105 = call float @llvm.fmuladd.f32(float %100, float %104, float %.01620.i41) %indvars.iv.next.i42 = add nuw nsw i64 %indvars.iv.i40, 1 %exitcond.not.i43 = icmp eq i64 %indvars.iv.next.i42, 4 - br i1 %exitcond.not.i43, label %105, label %96, !llvm.loop !21 + br i1 %exitcond.not.i43, label %106, label %97, !llvm.loop !21 -105: ; preds = %96 - %106 = add nuw nsw i64 %indvars.iv25.i39, %95 - %107 = getelementptr inbounds [16 x float], ptr %8, i64 0, i64 %106 - store float %104, ptr %107, align 4, !alias.scope !24 +106: ; preds = %97 + %107 = add nuw nsw i64 %indvars.iv25.i39, %96 + %108 = getelementptr inbounds [16 x float], ptr %8, i64 0, i64 %107 + store float %105, ptr %108, align 4, !alias.scope !24 %indvars.iv.next26.i44 = add nuw nsw i64 %indvars.iv25.i39, 1 %exitcond28.not.i45 = icmp eq i64 %indvars.iv.next26.i44, 4 - br i1 %exitcond28.not.i45, label %108, label %.preheader.i38, !llvm.loop !22 + br i1 %exitcond28.not.i45, label %109, label %.preheader.i38, !llvm.loop !22 -108: ; preds = %105 +109: ; preds = %106 %indvars.iv.next30.i46 = add nuw nsw i64 %indvars.iv29.i37, 1 %exitcond32.not.i47 = icmp eq i64 %indvars.iv.next30.i46, 4 br i1 %exitcond32.not.i47, label %_ZNK3vcg8Matrix44IfEmlERKS1_.exit48, label %.preheader19.i36, !llvm.loop !23 -_ZNK3vcg8Matrix44IfEmlERKS1_.exit48: ; preds = %108 +_ZNK3vcg8Matrix44IfEmlERKS1_.exit48: ; preds = %109 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(64) %5, ptr noundef nonnull align 4 dereferenceable(64) %8, i64 64, i1 false) call void @_ZN3vcg7InverseIfEENS_8Matrix44IT_EERKS3_(ptr dead_on_unwind nonnull writable sret(%"class.vcg::Matrix44") align 4 %10, ptr noundef nonnull align 4 dereferenceable(64) %5) - %109 = getelementptr inbounds i8, ptr %1, i64 248 - %110 = getelementptr inbounds i8, ptr %1, i64 260 - %111 = load float, ptr %109, align 8 - %112 = load float, ptr %110, align 4 - %113 = getelementptr inbounds i8, ptr %1, i64 252 - %114 = load float, ptr %113, align 4 - %115 = getelementptr inbounds i8, ptr %1, i64 264 - %116 = load float, ptr %115, align 8 - %117 = fadd float %114, %116 - %118 = getelementptr inbounds i8, ptr %1, i64 256 - %119 = load float, ptr %118, align 8 - %120 = getelementptr inbounds i8, ptr %1, i64 268 - %121 = load float, ptr %120, align 4 - %122 = fadd float %119, %121 - %123 = fmul float %117, 5.000000e-01 + %110 = getelementptr inbounds i8, ptr %1, i64 248 + %111 = getelementptr inbounds i8, ptr %1, i64 260 + %112 = load float, ptr %110, align 8 + %113 = load float, ptr %111, align 4 + %114 = getelementptr inbounds i8, ptr %1, i64 252 + %115 = load float, ptr %114, align 4 + %116 = getelementptr inbounds i8, ptr %1, i64 264 + %117 = load float, ptr %116, align 8 + %118 = fadd float %115, %117 + %119 = getelementptr inbounds i8, ptr %1, i64 256 + %120 = load float, ptr %119, align 8 + %121 = getelementptr inbounds i8, ptr %1, i64 268 + %122 = load float, ptr %121, align 4 + %123 = fadd float %120, %122 + %124 = fmul float %118, 5.000000e-01 call void @llvm.experimental.noalias.scope.decl(metadata !27) br label %.preheader19.i49 -.preheader19.i49: ; preds = %137, %_ZNK3vcg8Matrix44IfEmlERKS1_.exit48 - %indvars.iv29.i50 = phi i64 [ 0, %_ZNK3vcg8Matrix44IfEmlERKS1_.exit48 ], [ %indvars.iv.next30.i59, %137 ] - %124 = shl nuw nsw i64 %indvars.iv29.i50, 2 +.preheader19.i49: ; preds = %138, %_ZNK3vcg8Matrix44IfEmlERKS1_.exit48 + %indvars.iv29.i50 = phi i64 [ 0, %_ZNK3vcg8Matrix44IfEmlERKS1_.exit48 ], [ %indvars.iv.next30.i59, %138 ] + %125 = shl nuw nsw i64 %indvars.iv29.i50, 2 br label %.preheader.i51 -.preheader.i51: ; preds = %134, %.preheader19.i49 - %indvars.iv25.i52 = phi i64 [ 0, %.preheader19.i49 ], [ %indvars.iv.next26.i57, %134 ] - br label %125 - -125: ; preds = %125, %.preheader.i51 - %indvars.iv.i53 = phi i64 [ 0, %.preheader.i51 ], [ %indvars.iv.next.i55, %125 ] - %.01620.i54 = phi float [ 0.000000e+00, %.preheader.i51 ], [ %133, %125 ] - %126 = add nuw nsw i64 %indvars.iv.i53, %124 - %127 = getelementptr inbounds [16 x float], ptr %6, i64 0, i64 %126 - %128 = load float, ptr %127, align 4, !noalias !27 - %129 = shl nuw nsw i64 %indvars.iv.i53, 2 - %130 = add nuw nsw i64 %129, %indvars.iv25.i52 - %131 = getelementptr inbounds [16 x float], ptr %5, i64 0, i64 %130 - %132 = load float, ptr %131, align 4, !noalias !27 - %133 = call float @llvm.fmuladd.f32(float %128, float %132, float %.01620.i54) +.preheader.i51: ; preds = %135, %.preheader19.i49 + %indvars.iv25.i52 = phi i64 [ 0, %.preheader19.i49 ], [ %indvars.iv.next26.i57, %135 ] + br label %126 + +126: ; preds = %126, %.preheader.i51 + %indvars.iv.i53 = phi i64 [ 0, %.preheader.i51 ], [ %indvars.iv.next.i55, %126 ] + %.01620.i54 = phi float [ 0.000000e+00, %.preheader.i51 ], [ %134, %126 ] + %127 = add nuw nsw i64 %indvars.iv.i53, %125 + %128 = getelementptr inbounds [16 x float], ptr %6, i64 0, i64 %127 + %129 = load float, ptr %128, align 4, !noalias !27 + %130 = shl nuw nsw i64 %indvars.iv.i53, 2 + %131 = add nuw nsw i64 %130, %indvars.iv25.i52 + %132 = getelementptr inbounds [16 x float], ptr %5, i64 0, i64 %131 + %133 = load float, ptr %132, align 4, !noalias !27 + %134 = call float @llvm.fmuladd.f32(float %129, float %133, float %.01620.i54) %indvars.iv.next.i55 = add nuw nsw i64 %indvars.iv.i53, 1 %exitcond.not.i56 = icmp eq i64 %indvars.iv.next.i55, 4 - br i1 %exitcond.not.i56, label %134, label %125, !llvm.loop !21 + br i1 %exitcond.not.i56, label %135, label %126, !llvm.loop !21 -134: ; preds = %125 - %135 = add nuw nsw i64 %indvars.iv25.i52, %124 - %136 = getelementptr inbounds [16 x float], ptr %11, i64 0, i64 %135 - store float %133, ptr %136, align 4, !alias.scope !27 +135: ; preds = %126 + %136 = add nuw nsw i64 %indvars.iv25.i52, %125 + %137 = getelementptr inbounds [16 x float], ptr %11, i64 0, i64 %136 + store float %134, ptr %137, align 4, !alias.scope !27 %indvars.iv.next26.i57 = add nuw nsw i64 %indvars.iv25.i52, 1 %exitcond28.not.i58 = icmp eq i64 %indvars.iv.next26.i57, 4 - br i1 %exitcond28.not.i58, label %137, label %.preheader.i51, !llvm.loop !22 + br i1 %exitcond28.not.i58, label %138, label %.preheader.i51, !llvm.loop !22 -137: ; preds = %134 +138: ; preds = %135 %indvars.iv.next30.i59 = add nuw nsw i64 %indvars.iv29.i50, 1 %exitcond32.not.i60 = icmp eq i64 %indvars.iv.next30.i59, 4 br i1 %exitcond32.not.i60, label %_ZNK3vcg8Matrix44IfEmlERKS1_.exit61, label %.preheader19.i49, !llvm.loop !23 -_ZNK3vcg8Matrix44IfEmlERKS1_.exit61: ; preds = %137 - %138 = fadd float %111, %112 - %139 = fmul float %138, 5.000000e-01 - %140 = fmul float %122, 5.000000e-01 +_ZNK3vcg8Matrix44IfEmlERKS1_.exit61: ; preds = %138 + %139 = fadd float %112, %113 + %140 = fmul float %139, 5.000000e-01 + %141 = fmul float %123, 5.000000e-01 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(64) %79, ptr noundef nonnull align 4 dereferenceable(64) %11, i64 64, i1 false) - %141 = load <4 x float>, ptr %7, align 16 - %142 = shufflevector <4 x float> %141, <4 x float> poison, <2 x i32> - %143 = load float, ptr %14, align 8 - %144 = getelementptr inbounds i8, ptr %7, i64 4 - %145 = load <4 x float>, ptr %144, align 4 - %146 = shufflevector <4 x float> %145, <4 x float> poison, <2 x i32> - %147 = load float, ptr %.sroa.2.0..sroa_idx.i, align 4 - %148 = getelementptr inbounds i8, ptr %7, i64 8 - %149 = load <4 x float>, ptr %148, align 8 - %150 = shufflevector <4 x float> %149, <4 x float> poison, <2 x i32> - %151 = load float, ptr %.sroa.3.0..sroa_idx.i, align 8 - %152 = getelementptr inbounds i8, ptr %7, i64 12 - %153 = load <4 x float>, ptr %152, align 4 - %154 = shufflevector <4 x float> %153, <4 x float> poison, <2 x i32> - %155 = getelementptr inbounds i8, ptr %7, i64 16 - %156 = load float, ptr %155, align 16 - %157 = getelementptr inbounds i8, ptr %7, i64 20 - %158 = load float, ptr %157, align 4 - %159 = getelementptr inbounds i8, ptr %7, i64 24 - %160 = load float, ptr %159, align 8 - %161 = getelementptr inbounds i8, ptr %7, i64 28 - %162 = load float, ptr %161, align 4 - %163 = insertelement <2 x float> poison, float %147, i64 0 - %164 = shufflevector <2 x float> %163, <2 x float> poison, <2 x i32> zeroinitializer - %165 = insertelement <2 x float> %146, float %158, i64 1 - %166 = fmul <2 x float> %164, %165 - %167 = insertelement <2 x float> %142, float %156, i64 1 - %168 = insertelement <2 x float> poison, float %143, i64 0 - %169 = shufflevector <2 x float> %168, <2 x float> poison, <2 x i32> zeroinitializer - %170 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %167, <2 x float> %169, <2 x float> %166) - %171 = insertelement <2 x float> %150, float %160, i64 1 - %172 = insertelement <2 x float> poison, float %151, i64 0 - %173 = shufflevector <2 x float> %172, <2 x float> poison, <2 x i32> zeroinitializer - %174 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %171, <2 x float> %173, <2 x float> %170) - %175 = insertelement <2 x float> %154, float %162, i64 1 - %176 = fadd <2 x float> %174, %175 - %177 = getelementptr inbounds i8, ptr %7, i64 32 - %178 = load float, ptr %177, align 16 - %179 = getelementptr inbounds i8, ptr %7, i64 36 - %180 = load float, ptr %179, align 4 - %181 = fmul float %147, %180 - %182 = call float @llvm.fmuladd.f32(float %178, float %143, float %181) - %183 = getelementptr inbounds i8, ptr %7, i64 40 - %184 = load float, ptr %183, align 8 - %185 = call float @llvm.fmuladd.f32(float %184, float %151, float %182) - %186 = getelementptr inbounds i8, ptr %7, i64 44 - %187 = load float, ptr %186, align 4 - %188 = fadd float %187, %185 - %189 = getelementptr inbounds i8, ptr %7, i64 48 - %190 = load float, ptr %189, align 16 - %191 = getelementptr inbounds i8, ptr %7, i64 52 - %192 = load float, ptr %191, align 4 - %193 = fmul float %147, %192 - %194 = call float @llvm.fmuladd.f32(float %190, float %143, float %193) - %195 = getelementptr inbounds i8, ptr %7, i64 56 - %196 = load float, ptr %195, align 8 - %197 = call float @llvm.fmuladd.f32(float %196, float %151, float %194) - %198 = getelementptr inbounds i8, ptr %7, i64 60 - %199 = load float, ptr %198, align 4 - %200 = fadd float %199, %197 - %201 = fcmp une float %200, 0.000000e+00 - %202 = insertelement <2 x float> poison, float %200, i64 0 - %203 = shufflevector <2 x float> %202, <2 x float> poison, <2 x i32> zeroinitializer - %204 = fdiv <2 x float> %176, %203 - %205 = fdiv float %188, %200 - %.sroa.7.0.i = select i1 %201, float %205, float %188 - %.sroa.0.0.i = select i1 %201, <2 x float> %204, <2 x float> %176 + %142 = load <4 x float>, ptr %7, align 16 + %143 = shufflevector <4 x float> %142, <4 x float> poison, <2 x i32> + %144 = load float, ptr %14, align 8 + %145 = getelementptr inbounds i8, ptr %7, i64 4 + %146 = load <4 x float>, ptr %145, align 4 + %147 = shufflevector <4 x float> %146, <4 x float> poison, <2 x i32> + %148 = load float, ptr %.sroa.2.0..sroa_idx.i, align 4 + %149 = getelementptr inbounds i8, ptr %7, i64 8 + %150 = load <4 x float>, ptr %149, align 8 + %151 = shufflevector <4 x float> %150, <4 x float> poison, <2 x i32> + %152 = load float, ptr %.sroa.3.0..sroa_idx.i, align 8 + %153 = getelementptr inbounds i8, ptr %7, i64 12 + %154 = load <4 x float>, ptr %153, align 4 + %155 = shufflevector <4 x float> %154, <4 x float> poison, <2 x i32> + %156 = getelementptr inbounds i8, ptr %7, i64 16 + %157 = load float, ptr %156, align 16 + %158 = getelementptr inbounds i8, ptr %7, i64 20 + %159 = load float, ptr %158, align 4 + %160 = getelementptr inbounds i8, ptr %7, i64 24 + %161 = load float, ptr %160, align 8 + %162 = getelementptr inbounds i8, ptr %7, i64 28 + %163 = load float, ptr %162, align 4 + %164 = insertelement <2 x float> poison, float %148, i64 0 + %165 = shufflevector <2 x float> %164, <2 x float> poison, <2 x i32> zeroinitializer + %166 = insertelement <2 x float> %147, float %159, i64 1 + %167 = fmul <2 x float> %165, %166 + %168 = insertelement <2 x float> %143, float %157, i64 1 + %169 = insertelement <2 x float> poison, float %144, i64 0 + %170 = shufflevector <2 x float> %169, <2 x float> poison, <2 x i32> zeroinitializer + %171 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %168, <2 x float> %170, <2 x float> %167) + %172 = insertelement <2 x float> %151, float %161, i64 1 + %173 = insertelement <2 x float> poison, float %152, i64 0 + %174 = shufflevector <2 x float> %173, <2 x float> poison, <2 x i32> zeroinitializer + %175 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %172, <2 x float> %174, <2 x float> %171) + %176 = insertelement <2 x float> %155, float %163, i64 1 + %177 = fadd <2 x float> %175, %176 + %178 = getelementptr inbounds i8, ptr %7, i64 32 + %179 = load float, ptr %178, align 16 + %180 = getelementptr inbounds i8, ptr %7, i64 36 + %181 = load float, ptr %180, align 4 + %182 = fmul float %148, %181 + %183 = call float @llvm.fmuladd.f32(float %179, float %144, float %182) + %184 = getelementptr inbounds i8, ptr %7, i64 40 + %185 = load float, ptr %184, align 8 + %186 = call float @llvm.fmuladd.f32(float %185, float %152, float %183) + %187 = getelementptr inbounds i8, ptr %7, i64 44 + %188 = load float, ptr %187, align 4 + %189 = fadd float %188, %186 + %190 = getelementptr inbounds i8, ptr %7, i64 48 + %191 = load float, ptr %190, align 16 + %192 = getelementptr inbounds i8, ptr %7, i64 52 + %193 = load float, ptr %192, align 4 + %194 = fmul float %148, %193 + %195 = call float @llvm.fmuladd.f32(float %191, float %144, float %194) + %196 = getelementptr inbounds i8, ptr %7, i64 56 + %197 = load float, ptr %196, align 8 + %198 = call float @llvm.fmuladd.f32(float %197, float %152, float %195) + %199 = getelementptr inbounds i8, ptr %7, i64 60 + %200 = load float, ptr %199, align 4 + %201 = fadd float %200, %198 + %202 = fcmp une float %201, 0.000000e+00 + %203 = insertelement <2 x float> poison, float %201, i64 0 + %204 = shufflevector <2 x float> %203, <2 x float> poison, <2 x i32> zeroinitializer + %205 = fdiv <2 x float> %177, %204 + %206 = fdiv float %189, %201 + %.sroa.7.0.i = select i1 %202, float %206, float %189 + %.sroa.0.0.i = select i1 %202, <2 x float> %205, <2 x float> %177 %.sroa.099.0.vec.extract = extractelement <2 x float> %.sroa.01.0.copyload.i, i64 0 - %206 = fsub float %.sroa.099.0.vec.extract, %139 + %207 = fsub float %.sroa.099.0.vec.extract, %140 %.sroa.099.4.vec.extract = extractelement <2 x float> %.sroa.01.0.copyload.i, i64 1 - %207 = fsub float %.sroa.099.4.vec.extract, %123 - %208 = fsub float %.sroa.22.0.copyload.i, %140 - %209 = load <4 x float>, ptr %10, align 16 - %210 = shufflevector <4 x float> %209, <4 x float> poison, <2 x i32> - %211 = getelementptr inbounds i8, ptr %10, i64 4 - %212 = load <4 x float>, ptr %211, align 4 - %213 = shufflevector <4 x float> %212, <4 x float> poison, <2 x i32> - %214 = getelementptr inbounds i8, ptr %10, i64 8 - %215 = load <4 x float>, ptr %214, align 8 - %216 = shufflevector <4 x float> %215, <4 x float> poison, <2 x i32> - %217 = getelementptr inbounds i8, ptr %10, i64 12 - %218 = load <4 x float>, ptr %217, align 4 - %219 = shufflevector <4 x float> %218, <4 x float> poison, <2 x i32> - %220 = getelementptr inbounds i8, ptr %10, i64 16 - %221 = load float, ptr %220, align 16 - %222 = getelementptr inbounds i8, ptr %10, i64 20 - %223 = load float, ptr %222, align 4 - %224 = getelementptr inbounds i8, ptr %10, i64 24 - %225 = load float, ptr %224, align 8 - %226 = getelementptr inbounds i8, ptr %10, i64 28 - %227 = load float, ptr %226, align 4 - %228 = insertelement <2 x float> poison, float %207, i64 0 - %229 = shufflevector <2 x float> %228, <2 x float> poison, <2 x i32> zeroinitializer - %230 = insertelement <2 x float> %213, float %223, i64 1 - %231 = fmul <2 x float> %229, %230 - %232 = insertelement <2 x float> %210, float %221, i64 1 - %233 = insertelement <2 x float> poison, float %206, i64 0 - %234 = shufflevector <2 x float> %233, <2 x float> poison, <2 x i32> zeroinitializer - %235 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %232, <2 x float> %234, <2 x float> %231) - %236 = insertelement <2 x float> %216, float %225, i64 1 - %237 = insertelement <2 x float> poison, float %208, i64 0 - %238 = shufflevector <2 x float> %237, <2 x float> poison, <2 x i32> zeroinitializer - %239 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %236, <2 x float> %238, <2 x float> %235) - %240 = insertelement <2 x float> %219, float %227, i64 1 - %241 = fadd <2 x float> %240, %239 - %242 = getelementptr inbounds i8, ptr %10, i64 32 - %243 = load float, ptr %242, align 16 - %244 = getelementptr inbounds i8, ptr %10, i64 36 - %245 = load float, ptr %244, align 4 - %246 = fmul float %207, %245 - %247 = call float @llvm.fmuladd.f32(float %243, float %206, float %246) - %248 = getelementptr inbounds i8, ptr %10, i64 40 - %249 = load float, ptr %248, align 8 - %250 = call float @llvm.fmuladd.f32(float %249, float %208, float %247) - %251 = getelementptr inbounds i8, ptr %10, i64 44 - %252 = load float, ptr %251, align 4 - %253 = fadd float %252, %250 - %254 = getelementptr inbounds i8, ptr %10, i64 48 - %255 = load float, ptr %254, align 16 - %256 = getelementptr inbounds i8, ptr %10, i64 52 - %257 = load float, ptr %256, align 4 - %258 = fmul float %207, %257 - %259 = call float @llvm.fmuladd.f32(float %255, float %206, float %258) - %260 = getelementptr inbounds i8, ptr %10, i64 56 - %261 = load float, ptr %260, align 8 - %262 = call float @llvm.fmuladd.f32(float %261, float %208, float %259) - %263 = getelementptr inbounds i8, ptr %10, i64 60 - %264 = load float, ptr %263, align 4 - %265 = fadd float %264, %262 - %266 = fcmp une float %265, 0.000000e+00 - %267 = insertelement <2 x float> poison, float %265, i64 0 - %268 = shufflevector <2 x float> %267, <2 x float> poison, <2 x i32> zeroinitializer - %269 = fdiv <2 x float> %241, %268 - %270 = fdiv float %253, %265 - %.sroa.7.0.i70 = select i1 %266, float %270, float %253 - %.sroa.0.0.i71 = select i1 %266, <2 x float> %269, <2 x float> %241 - %271 = fadd float %.sroa.7.0.i, %.sroa.7.0.i70 - %272 = fadd <2 x float> %.sroa.0.0.i, %.sroa.0.0.i71 - %273 = insertelement <2 x float> poison, float %139, i64 0 - %274 = insertelement <2 x float> %273, float %123, i64 1 - %275 = fadd <2 x float> %274, %272 - %276 = fadd float %140, %271 - store <2 x float> %275, ptr %80, align 4 - store float %276, ptr %.sroa.22.0..sroa_idx.i, align 4 + %208 = fsub float %.sroa.099.4.vec.extract, %124 + %209 = fsub float %.sroa.22.0.copyload.i, %141 + %210 = load <4 x float>, ptr %10, align 16 + %211 = shufflevector <4 x float> %210, <4 x float> poison, <2 x i32> + %212 = getelementptr inbounds i8, ptr %10, i64 4 + %213 = load <4 x float>, ptr %212, align 4 + %214 = shufflevector <4 x float> %213, <4 x float> poison, <2 x i32> + %215 = getelementptr inbounds i8, ptr %10, i64 8 + %216 = load <4 x float>, ptr %215, align 8 + %217 = shufflevector <4 x float> %216, <4 x float> poison, <2 x i32> + %218 = getelementptr inbounds i8, ptr %10, i64 12 + %219 = load <4 x float>, ptr %218, align 4 + %220 = shufflevector <4 x float> %219, <4 x float> poison, <2 x i32> + %221 = getelementptr inbounds i8, ptr %10, i64 16 + %222 = load float, ptr %221, align 16 + %223 = getelementptr inbounds i8, ptr %10, i64 20 + %224 = load float, ptr %223, align 4 + %225 = getelementptr inbounds i8, ptr %10, i64 24 + %226 = load float, ptr %225, align 8 + %227 = getelementptr inbounds i8, ptr %10, i64 28 + %228 = load float, ptr %227, align 4 + %229 = insertelement <2 x float> poison, float %208, i64 0 + %230 = shufflevector <2 x float> %229, <2 x float> poison, <2 x i32> zeroinitializer + %231 = insertelement <2 x float> %214, float %224, i64 1 + %232 = fmul <2 x float> %230, %231 + %233 = insertelement <2 x float> %211, float %222, i64 1 + %234 = insertelement <2 x float> poison, float %207, i64 0 + %235 = shufflevector <2 x float> %234, <2 x float> poison, <2 x i32> zeroinitializer + %236 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %233, <2 x float> %235, <2 x float> %232) + %237 = insertelement <2 x float> %217, float %226, i64 1 + %238 = insertelement <2 x float> poison, float %209, i64 0 + %239 = shufflevector <2 x float> %238, <2 x float> poison, <2 x i32> zeroinitializer + %240 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %237, <2 x float> %239, <2 x float> %236) + %241 = insertelement <2 x float> %220, float %228, i64 1 + %242 = fadd <2 x float> %241, %240 + %243 = getelementptr inbounds i8, ptr %10, i64 32 + %244 = load float, ptr %243, align 16 + %245 = getelementptr inbounds i8, ptr %10, i64 36 + %246 = load float, ptr %245, align 4 + %247 = fmul float %208, %246 + %248 = call float @llvm.fmuladd.f32(float %244, float %207, float %247) + %249 = getelementptr inbounds i8, ptr %10, i64 40 + %250 = load float, ptr %249, align 8 + %251 = call float @llvm.fmuladd.f32(float %250, float %209, float %248) + %252 = getelementptr inbounds i8, ptr %10, i64 44 + %253 = load float, ptr %252, align 4 + %254 = fadd float %253, %251 + %255 = getelementptr inbounds i8, ptr %10, i64 48 + %256 = load float, ptr %255, align 16 + %257 = getelementptr inbounds i8, ptr %10, i64 52 + %258 = load float, ptr %257, align 4 + %259 = fmul float %208, %258 + %260 = call float @llvm.fmuladd.f32(float %256, float %207, float %259) + %261 = getelementptr inbounds i8, ptr %10, i64 56 + %262 = load float, ptr %261, align 8 + %263 = call float @llvm.fmuladd.f32(float %262, float %209, float %260) + %264 = getelementptr inbounds i8, ptr %10, i64 60 + %265 = load float, ptr %264, align 4 + %266 = fadd float %265, %263 + %267 = fcmp une float %266, 0.000000e+00 + %268 = insertelement <2 x float> poison, float %266, i64 0 + %269 = shufflevector <2 x float> %268, <2 x float> poison, <2 x i32> zeroinitializer + %270 = fdiv <2 x float> %242, %269 + %271 = fdiv float %254, %266 + %.sroa.7.0.i70 = select i1 %267, float %271, float %254 + %.sroa.0.0.i71 = select i1 %267, <2 x float> %270, <2 x float> %242 + %272 = fadd float %.sroa.7.0.i, %.sroa.7.0.i70 + %273 = fadd <2 x float> %.sroa.0.0.i, %.sroa.0.0.i71 + %274 = insertelement <2 x float> poison, float %140, i64 0 + %275 = insertelement <2 x float> %274, float %124, i64 1 + %276 = fadd <2 x float> %275, %273 + %277 = fadd float %141, %272 + store <2 x float> %276, ptr %81, align 4 + store float %277, ptr %.sroa.22.0..sroa_idx.i, align 4 ret void } diff --git a/bench/mini-lsm-rs/optimized/1fz4nd3pxmha003h.ll b/bench/mini-lsm-rs/optimized/1fz4nd3pxmha003h.ll index 913a2b4423b..1541007d6cb 100644 --- a/bench/mini-lsm-rs/optimized/1fz4nd3pxmha003h.ll +++ b/bench/mini-lsm-rs/optimized/1fz4nd3pxmha003h.ll @@ -13676,256 +13676,251 @@ define void @_ZN13mini_lsm_mvcc9mem_table8MemTable4scan17h29fb3e6362ed6cfaE(ptr %5 = alloca ptr, align 8 %6 = alloca { { i64, [5 x i64] }, { i64, [5 x i64] } }, align 8 %7 = alloca ptr, align 8 - %8 = alloca { { i64, [5 x i64] }, { i64, [5 x i64] } }, align 8 %.sroa.014.i8 = alloca { ptr, ptr, i64, { ptr } }, align 8 %.sroa.07.i9 = alloca { ptr, ptr, i64, { ptr } }, align 8 - %9 = alloca { { i64, [5 x i64] }, { i64, [5 x i64] } }, align 8 - %10 = alloca { { { ptr, ptr, i64, { ptr } }, i64 }, { ptr, ptr, i64, { ptr } } }, align 8 - %11 = alloca { { [27 x i64] } }, align 8 + %8 = alloca { { i64, [5 x i64] }, { i64, [5 x i64] } }, align 8 + %9 = alloca { { { ptr, ptr, i64, { ptr } }, i64 }, { ptr, ptr, i64, { ptr } } }, align 8 + %10 = alloca { { [27 x i64] } }, align 8 %.sroa.4 = alloca [4 x i64], align 8 + %11 = alloca { i64, [5 x i64] }, align 8 %12 = alloca { i64, [5 x i64] }, align 8 - %13 = alloca { i64, [5 x i64] }, align 8 - call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %12) + call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %11) tail call void @llvm.experimental.noalias.scope.decl(metadata !2866) tail call void @llvm.experimental.noalias.scope.decl(metadata !2869) - %14 = load i64, ptr %2, align 8, !range !2124, !alias.scope !2869, !noalias !2866, !noundef !4 - switch i64 %14, label %default.unreachable [ - i64 0, label %16 - i64 1, label %19 - i64 2, label %15 + %13 = load i64, ptr %2, align 8, !range !2124, !alias.scope !2869, !noalias !2866, !noundef !4 + switch i64 %13, label %default.unreachable [ + i64 0, label %15 + i64 1, label %18 + i64 2, label %14 ] default.unreachable: ; preds = %_ZN13mini_lsm_mvcc9mem_table13map_key_bound17ha80abcaee8ef0cb8E.exit, %4 unreachable -15: ; preds = %4 - store i64 2, ptr %12, align 8, !alias.scope !2866, !noalias !2869 +14: ; preds = %4 + store i64 2, ptr %11, align 8, !alias.scope !2866, !noalias !2869 br label %_ZN13mini_lsm_mvcc9mem_table13map_key_bound17ha80abcaee8ef0cb8E.exit -16: ; preds = %4 - %17 = getelementptr inbounds i8, ptr %2, i64 8 - %.sroa.0.sroa.0.0.copyload.i = load ptr, ptr %17, align 8, !alias.scope !2869, !noalias !2866, !nonnull !4, !noundef !4 +15: ; preds = %4 + %16 = getelementptr inbounds i8, ptr %2, i64 8 + %.sroa.0.sroa.0.0.copyload.i = load ptr, ptr %16, align 8, !alias.scope !2869, !noalias !2866, !nonnull !4, !noundef !4 %.sroa.0.sroa.4.0..sroa_idx.i = getelementptr inbounds i8, ptr %2, i64 16 %.sroa.0.sroa.4.0.copyload.i = load i64, ptr %.sroa.0.sroa.4.0..sroa_idx.i, align 8, !alias.scope !2869, !noalias !2866 %.sroa.4.0..sroa_idx.i = getelementptr inbounds i8, ptr %2, i64 24 %.sroa.4.0.copyload.i = load i64, ptr %.sroa.4.0..sroa_idx.i, align 8, !alias.scope !2869, !noalias !2866 - %18 = getelementptr inbounds i8, ptr %12, i64 8 - call void @_ZN5bytes5bytes5Bytes15copy_from_slice17hb8612bb770263341E(ptr noalias nocapture noundef nonnull sret({ ptr, ptr, i64, { ptr } }) align 8 dereferenceable(32) %18, ptr noalias noundef nonnull readonly align 1 %.sroa.0.sroa.0.0.copyload.i, i64 noundef %.sroa.0.sroa.4.0.copyload.i), !noalias !2869 - %.sroa.48.0..sroa_idx.i = getelementptr inbounds i8, ptr %12, i64 40 + %17 = getelementptr inbounds i8, ptr %11, i64 8 + call void @_ZN5bytes5bytes5Bytes15copy_from_slice17hb8612bb770263341E(ptr noalias nocapture noundef nonnull sret({ ptr, ptr, i64, { ptr } }) align 8 dereferenceable(32) %17, ptr noalias noundef nonnull readonly align 1 %.sroa.0.sroa.0.0.copyload.i, i64 noundef %.sroa.0.sroa.4.0.copyload.i), !noalias !2869 + %.sroa.48.0..sroa_idx.i = getelementptr inbounds i8, ptr %11, i64 40 store i64 %.sroa.4.0.copyload.i, ptr %.sroa.48.0..sroa_idx.i, align 8, !alias.scope !2866, !noalias !2869 - store i64 0, ptr %12, align 8, !alias.scope !2866, !noalias !2869 + store i64 0, ptr %11, align 8, !alias.scope !2866, !noalias !2869 br label %_ZN13mini_lsm_mvcc9mem_table13map_key_bound17ha80abcaee8ef0cb8E.exit -19: ; preds = %4 - %20 = getelementptr inbounds i8, ptr %2, i64 8 - %.sroa.0.sroa.019.0.copyload.i = load ptr, ptr %20, align 8, !alias.scope !2869, !noalias !2866, !nonnull !4, !noundef !4 +18: ; preds = %4 + %19 = getelementptr inbounds i8, ptr %2, i64 8 + %.sroa.0.sroa.019.0.copyload.i = load ptr, ptr %19, align 8, !alias.scope !2869, !noalias !2866, !nonnull !4, !noundef !4 %.sroa.0.sroa.420.0..sroa_idx.i = getelementptr inbounds i8, ptr %2, i64 16 %.sroa.0.sroa.420.0.copyload.i = load i64, ptr %.sroa.0.sroa.420.0..sroa_idx.i, align 8, !alias.scope !2869, !noalias !2866 %.sroa.411.0..sroa_idx.i = getelementptr inbounds i8, ptr %2, i64 24 %.sroa.411.0.copyload.i = load i64, ptr %.sroa.411.0..sroa_idx.i, align 8, !alias.scope !2869, !noalias !2866 - %21 = getelementptr inbounds i8, ptr %12, i64 8 - call void @_ZN5bytes5bytes5Bytes15copy_from_slice17hb8612bb770263341E(ptr noalias nocapture noundef nonnull sret({ ptr, ptr, i64, { ptr } }) align 8 dereferenceable(32) %21, ptr noalias noundef nonnull readonly align 1 %.sroa.0.sroa.019.0.copyload.i, i64 noundef %.sroa.0.sroa.420.0.copyload.i), !noalias !2869 - %.sroa.415.0..sroa_idx.i = getelementptr inbounds i8, ptr %12, i64 40 + %20 = getelementptr inbounds i8, ptr %11, i64 8 + call void @_ZN5bytes5bytes5Bytes15copy_from_slice17hb8612bb770263341E(ptr noalias nocapture noundef nonnull sret({ ptr, ptr, i64, { ptr } }) align 8 dereferenceable(32) %20, ptr noalias noundef nonnull readonly align 1 %.sroa.0.sroa.019.0.copyload.i, i64 noundef %.sroa.0.sroa.420.0.copyload.i), !noalias !2869 + %.sroa.415.0..sroa_idx.i = getelementptr inbounds i8, ptr %11, i64 40 store i64 %.sroa.411.0.copyload.i, ptr %.sroa.415.0..sroa_idx.i, align 8, !alias.scope !2866, !noalias !2869 - store i64 1, ptr %12, align 8, !alias.scope !2866, !noalias !2869 + store i64 1, ptr %11, align 8, !alias.scope !2866, !noalias !2869 br label %_ZN13mini_lsm_mvcc9mem_table13map_key_bound17ha80abcaee8ef0cb8E.exit -_ZN13mini_lsm_mvcc9mem_table13map_key_bound17ha80abcaee8ef0cb8E.exit: ; preds = %15, %16, %19 +_ZN13mini_lsm_mvcc9mem_table13map_key_bound17ha80abcaee8ef0cb8E.exit: ; preds = %14, %15, %18 tail call void @llvm.experimental.noalias.scope.decl(metadata !2871) - %22 = load i64, ptr %3, align 8, !range !2124, !alias.scope !2871, !noalias !2874, !noundef !4 - switch i64 %22, label %default.unreachable [ - i64 0, label %23 - i64 1, label %25 + %21 = load i64, ptr %3, align 8, !range !2124, !alias.scope !2871, !noalias !2874, !noundef !4 + switch i64 %21, label %default.unreachable [ + i64 0, label %22 + i64 1, label %24 i64 2, label %_ZN13mini_lsm_mvcc9mem_table13map_key_bound17ha80abcaee8ef0cb8E.exit24 ] -23: ; preds = %_ZN13mini_lsm_mvcc9mem_table13map_key_bound17ha80abcaee8ef0cb8E.exit - %24 = getelementptr inbounds i8, ptr %3, i64 8 - %.sroa.0.sroa.0.0.copyload.i16 = load ptr, ptr %24, align 8, !alias.scope !2871, !noalias !2874, !nonnull !4, !noundef !4 +22: ; preds = %_ZN13mini_lsm_mvcc9mem_table13map_key_bound17ha80abcaee8ef0cb8E.exit + %23 = getelementptr inbounds i8, ptr %3, i64 8 + %.sroa.0.sroa.0.0.copyload.i16 = load ptr, ptr %23, align 8, !alias.scope !2871, !noalias !2874, !nonnull !4, !noundef !4 %.sroa.0.sroa.4.0..sroa_idx.i17 = getelementptr inbounds i8, ptr %3, i64 16 %.sroa.0.sroa.4.0.copyload.i18 = load i64, ptr %.sroa.0.sroa.4.0..sroa_idx.i17, align 8, !alias.scope !2871, !noalias !2874 %.sroa.4.0..sroa_idx.i19 = getelementptr inbounds i8, ptr %3, i64 24 %.sroa.4.0.copyload.i20 = load i64, ptr %.sroa.4.0..sroa_idx.i19, align 8, !alias.scope !2871, !noalias !2874 call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %.sroa.07.i9), !noalias !2876 invoke void @_ZN5bytes5bytes5Bytes15copy_from_slice17hb8612bb770263341E(ptr noalias nocapture noundef nonnull sret({ ptr, ptr, i64, { ptr } }) align 8 dereferenceable(32) %.sroa.07.i9, ptr noalias noundef nonnull readonly align 1 %.sroa.0.sroa.0.0.copyload.i16, i64 noundef %.sroa.0.sroa.4.0.copyload.i18) - to label %.noexc unwind label %27 + to label %.noexc unwind label %26 -.noexc: ; preds = %23 +.noexc: ; preds = %22 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %.sroa.4, ptr noundef nonnull align 8 dereferenceable(32) %.sroa.07.i9, i64 32, i1 false) call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %.sroa.07.i9), !noalias !2876 br label %_ZN13mini_lsm_mvcc9mem_table13map_key_bound17ha80abcaee8ef0cb8E.exit24 -25: ; preds = %_ZN13mini_lsm_mvcc9mem_table13map_key_bound17ha80abcaee8ef0cb8E.exit - %26 = getelementptr inbounds i8, ptr %3, i64 8 - %.sroa.0.sroa.019.0.copyload.i10 = load ptr, ptr %26, align 8, !alias.scope !2871, !noalias !2874, !nonnull !4, !noundef !4 +24: ; preds = %_ZN13mini_lsm_mvcc9mem_table13map_key_bound17ha80abcaee8ef0cb8E.exit + %25 = getelementptr inbounds i8, ptr %3, i64 8 + %.sroa.0.sroa.019.0.copyload.i10 = load ptr, ptr %25, align 8, !alias.scope !2871, !noalias !2874, !nonnull !4, !noundef !4 %.sroa.0.sroa.420.0..sroa_idx.i11 = getelementptr inbounds i8, ptr %3, i64 16 %.sroa.0.sroa.420.0.copyload.i12 = load i64, ptr %.sroa.0.sroa.420.0..sroa_idx.i11, align 8, !alias.scope !2871, !noalias !2874 %.sroa.411.0..sroa_idx.i13 = getelementptr inbounds i8, ptr %3, i64 24 %.sroa.411.0.copyload.i14 = load i64, ptr %.sroa.411.0..sroa_idx.i13, align 8, !alias.scope !2871, !noalias !2874 call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %.sroa.014.i8), !noalias !2876 invoke void @_ZN5bytes5bytes5Bytes15copy_from_slice17hb8612bb770263341E(ptr noalias nocapture noundef nonnull sret({ ptr, ptr, i64, { ptr } }) align 8 dereferenceable(32) %.sroa.014.i8, ptr noalias noundef nonnull readonly align 1 %.sroa.0.sroa.019.0.copyload.i10, i64 noundef %.sroa.0.sroa.420.0.copyload.i12) - to label %.noexc23 unwind label %27 + to label %.noexc23 unwind label %26 -.noexc23: ; preds = %25 +.noexc23: ; preds = %24 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %.sroa.4, ptr noundef nonnull align 8 dereferenceable(32) %.sroa.014.i8, i64 32, i1 false) call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %.sroa.014.i8), !noalias !2876 br label %_ZN13mini_lsm_mvcc9mem_table13map_key_bound17ha80abcaee8ef0cb8E.exit24 -27: ; preds = %25, %23 - %28 = landingpad { ptr, i32 } +26: ; preds = %24, %22 + %27 = landingpad { ptr, i32 } cleanup - invoke fastcc void @"_ZN4core3ptr102drop_in_place$LT$core..ops..range..Bound$LT$mini_lsm_mvcc..key..Key$LT$bytes..bytes..Bytes$GT$$GT$$GT$17hc550b331aaa6c23fE"(ptr noalias noundef nonnull align 8 dereferenceable(48) %12) #32 - to label %.critedge unwind label %60 + invoke fastcc void @"_ZN4core3ptr102drop_in_place$LT$core..ops..range..Bound$LT$mini_lsm_mvcc..key..Key$LT$bytes..bytes..Bytes$GT$$GT$$GT$17hc550b331aaa6c23fE"(ptr noalias noundef nonnull align 8 dereferenceable(48) %11) #32 + to label %.critedge unwind label %58 _ZN13mini_lsm_mvcc9mem_table13map_key_bound17ha80abcaee8ef0cb8E.exit24: ; preds = %.noexc23, %.noexc, %_ZN13mini_lsm_mvcc9mem_table13map_key_bound17ha80abcaee8ef0cb8E.exit %.sroa.6.0 = phi i64 [ %.sroa.411.0.copyload.i14, %.noexc23 ], [ %.sroa.4.0.copyload.i20, %.noexc ], [ undef, %_ZN13mini_lsm_mvcc9mem_table13map_key_bound17ha80abcaee8ef0cb8E.exit ] - call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %13) - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(48) %13, ptr noundef nonnull align 8 dereferenceable(48) %12, i64 48, i1 false) - call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %12) - call void @llvm.lifetime.start.p0(i64 216, ptr nonnull %11) + call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %12) + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(48) %12, ptr noundef nonnull align 8 dereferenceable(48) %11, i64 48, i1 false) + call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %11) + call void @llvm.lifetime.start.p0(i64 216, ptr nonnull %10) %.val = load ptr, ptr %1, align 8, !nonnull !4, !noundef !4 - %29 = atomicrmw add ptr %.val, i64 1 monotonic, align 8 - %30 = icmp slt i64 %29, 0 - br i1 %30, label %31, label %32 + %28 = atomicrmw add ptr %.val, i64 1 monotonic, align 8 + %29 = icmp slt i64 %28, 0 + br i1 %29, label %30, label %31 -31: ; preds = %_ZN13mini_lsm_mvcc9mem_table13map_key_bound17ha80abcaee8ef0cb8E.exit24 +30: ; preds = %_ZN13mini_lsm_mvcc9mem_table13map_key_bound17ha80abcaee8ef0cb8E.exit24 tail call void @llvm.trap() unreachable -32: ; preds = %_ZN13mini_lsm_mvcc9mem_table13map_key_bound17ha80abcaee8ef0cb8E.exit24 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(48) %9, ptr noundef nonnull align 8 dereferenceable(48) %13, i64 48, i1 false) - %.sroa.540.0..sroa_idx = getelementptr inbounds i8, ptr %9, i64 56 +31: ; preds = %_ZN13mini_lsm_mvcc9mem_table13map_key_bound17ha80abcaee8ef0cb8E.exit24 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(48) %8, ptr noundef nonnull align 8 dereferenceable(48) %12, i64 48, i1 false) + %.sroa.540.0..sroa_idx = getelementptr inbounds i8, ptr %8, i64 56 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %.sroa.540.0..sroa_idx, ptr noundef nonnull align 8 dereferenceable(32) %.sroa.4, i64 32, i1 false) - %.sroa.5.0..sroa_idx35 = getelementptr inbounds i8, ptr %10, i64 16 + %.sroa.5.0..sroa_idx35 = getelementptr inbounds i8, ptr %9, i64 16 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %.sroa.5.0..sroa_idx35, i8 0, i64 24, i1 false) - store ptr @anon.2d959d102d7682cc7cbcc0dd1a59e417.72.llvm.7682092217504716512, ptr %10, align 8 - %.sroa.434.0..sroa_idx = getelementptr inbounds i8, ptr %10, i64 8 + store ptr @anon.2d959d102d7682cc7cbcc0dd1a59e417.72.llvm.7682092217504716512, ptr %9, align 8 + %.sroa.434.0..sroa_idx = getelementptr inbounds i8, ptr %9, i64 8 store ptr @anon.2d959d102d7682cc7cbcc0dd1a59e417.13.llvm.7682092217504716512, ptr %.sroa.434.0..sroa_idx, align 8 - %33 = getelementptr inbounds i8, ptr %10, i64 40 - store ptr @anon.4dd66198b1e00463ac4f9539cc1b7f60.82, ptr %33, align 8 - %.sroa.4.0..sroa_idx = getelementptr inbounds i8, ptr %10, i64 48 + %32 = getelementptr inbounds i8, ptr %9, i64 40 + store ptr @anon.4dd66198b1e00463ac4f9539cc1b7f60.82, ptr %32, align 8 + %.sroa.4.0..sroa_idx = getelementptr inbounds i8, ptr %9, i64 48 store ptr @anon.4dd66198b1e00463ac4f9539cc1b7f60.44, ptr %.sroa.4.0..sroa_idx, align 8 - %.sroa.5.0..sroa_idx = getelementptr inbounds i8, ptr %10, i64 56 + %.sroa.5.0..sroa_idx = getelementptr inbounds i8, ptr %9, i64 56 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %.sroa.5.0..sroa_idx, i8 0, i64 16, i1 false) - %.sroa.439.0..sroa_idx = getelementptr inbounds i8, ptr %9, i64 48 - store i64 %22, ptr %.sroa.439.0..sroa_idx, align 8 - %.sroa.6.0..sroa_idx41 = getelementptr inbounds i8, ptr %9, i64 88 + %.sroa.439.0..sroa_idx = getelementptr inbounds i8, ptr %8, i64 48 + store i64 %21, ptr %.sroa.439.0..sroa_idx, align 8 + %.sroa.6.0..sroa_idx41 = getelementptr inbounds i8, ptr %8, i64 88 store i64 %.sroa.6.0, ptr %.sroa.6.0..sroa_idx41, align 8 tail call void @llvm.experimental.noalias.scope.decl(metadata !2877) tail call void @llvm.experimental.noalias.scope.decl(metadata !2880) call void @llvm.lifetime.start.p0(i64 96, ptr nonnull %6) call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %7), !noalias !2882 store ptr %.val, ptr %7, align 8, !noalias !2882 - %34 = invoke noundef ptr @_ZN5alloc5alloc15exchange_malloc17hbe31f2048284b3faE.llvm.3998950267652723875(i64 noundef 8, i64 noundef 8) - to label %45 unwind label %35, !noalias !2882 + %33 = invoke noundef ptr @_ZN5alloc5alloc15exchange_malloc17hbe31f2048284b3faE.llvm.3998950267652723875(i64 noundef 8, i64 noundef 8) + to label %44 unwind label %34, !noalias !2882 -35: ; preds = %32 - %36 = landingpad { ptr, i32 } +34: ; preds = %31 + %35 = landingpad { ptr, i32 } cleanup - %37 = atomicrmw sub ptr %.val, i64 1 release, align 8, !noalias !2884 - %38 = icmp eq i64 %37, 1 - br i1 %38, label %39, label %.body.i + %36 = atomicrmw sub ptr %.val, i64 1 release, align 8, !noalias !2884 + %37 = icmp eq i64 %36, 1 + br i1 %37, label %38, label %.body.i -39: ; preds = %35 +38: ; preds = %34 fence acquire invoke void @"_ZN5alloc4sync16Arc$LT$T$C$A$GT$9drop_slow17h3874980e34625835E"(ptr noalias noundef nonnull align 8 dereferenceable(8) %7) - to label %.body.i unwind label %40, !noalias !2882 + to label %.body.i unwind label %39, !noalias !2882 -40: ; preds = %39 - %41 = landingpad { ptr, i32 } +39: ; preds = %38 + %40 = landingpad { ptr, i32 } filter [0 x ptr] zeroinitializer call void @_ZN4core9panicking16panic_in_cleanup17h55eb1d85cadde1a1E() #33, !noalias !2882 unreachable -.body.i: ; preds = %39, %35 - invoke void @"_ZN4core3ptr101drop_in_place$LT$$LP$mini_lsm_mvcc..key..Key$LT$bytes..bytes..Bytes$GT$$C$bytes..bytes..Bytes$RP$$GT$17h3681aad4c9e0e5c1E.llvm.3998950267652723875"(ptr noalias noundef nonnull align 8 dereferenceable(72) %10) #32 - to label %44 unwind label %42, !noalias !2889 +.body.i: ; preds = %38, %34 + invoke void @"_ZN4core3ptr101drop_in_place$LT$$LP$mini_lsm_mvcc..key..Key$LT$bytes..bytes..Bytes$GT$$C$bytes..bytes..Bytes$RP$$GT$17h3681aad4c9e0e5c1E.llvm.3998950267652723875"(ptr noalias noundef nonnull align 8 dereferenceable(72) %9) #32 + to label %43 unwind label %41, !noalias !2889 -42: ; preds = %44, %.body.i - %43 = landingpad { ptr, i32 } +41: ; preds = %43, %.body.i + %42 = landingpad { ptr, i32 } filter [0 x ptr] zeroinitializer call void @_ZN4core9panicking16panic_in_cleanup17h55eb1d85cadde1a1E() #33, !noalias !2877 unreachable -44: ; preds = %.body.i - invoke void @"_ZN4core3ptr90drop_in_place$LT$mini_lsm_mvcc..mem_table..MemTable..scan..$u7b$$u7b$closure$u7d$$u7d$$GT$17h9b33c24ffd3145c2E.llvm.3998950267652723875"(ptr noalias noundef nonnull align 8 dereferenceable(96) %9) #32 - to label %.critedge unwind label %42, !noalias !2877 +43: ; preds = %.body.i + invoke void @"_ZN4core3ptr90drop_in_place$LT$mini_lsm_mvcc..mem_table..MemTable..scan..$u7b$$u7b$closure$u7d$$u7d$$GT$17h9b33c24ffd3145c2E.llvm.3998950267652723875"(ptr noalias noundef nonnull align 8 dereferenceable(96) %8) #32 + to label %.critedge unwind label %41, !noalias !2877 -45: ; preds = %32 - store ptr %.val, ptr %34, align 8, !noalias !2882 +44: ; preds = %31 + store ptr %.val, ptr %33, align 8, !noalias !2882 call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %7), !noalias !2882 - call void @llvm.lifetime.start.p0(i64 96, ptr nonnull %8) - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(96) %8, ptr noundef nonnull align 8 dereferenceable(96) %9, i64 96, i1 false), !noalias !2890 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(48) %6, ptr noundef nonnull align 8 dereferenceable(48) %9, i64 48, i1 false), !noalias !2890 - %46 = getelementptr inbounds i8, ptr %8, i64 48 - %47 = getelementptr inbounds i8, ptr %6, i64 48 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(48) %47, ptr noundef nonnull align 8 dereferenceable(48) %46, i64 48, i1 false), !noalias !2882 - %48 = getelementptr inbounds i8, ptr %.val, i64 128 - call void @llvm.lifetime.end.p0(i64 96, ptr nonnull %8) - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(96) %11, ptr noundef nonnull align 8 dereferenceable(96) %6, i64 96, i1 false), !noalias !2891 - %.sroa.0.sroa.0.sroa.4.0..sroa_idx.i = getelementptr inbounds i8, ptr %11, i64 96 - store ptr %48, ptr %.sroa.0.sroa.0.sroa.4.0..sroa_idx.i, align 8, !alias.scope !2877, !noalias !2891 - %.sroa.0.sroa.0.sroa.5.0..sroa_idx.i = getelementptr inbounds i8, ptr %11, i64 104 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(48) %6, ptr noundef nonnull align 8 dereferenceable(48) %8, i64 48, i1 false), !noalias !2890 + %45 = getelementptr inbounds i8, ptr %6, i64 48 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(48) %45, ptr noundef nonnull align 8 dereferenceable(48) %.sroa.439.0..sroa_idx, i64 48, i1 false), !noalias !2890 + %46 = getelementptr inbounds i8, ptr %.val, i64 128 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(96) %10, ptr noundef nonnull align 8 dereferenceable(96) %6, i64 96, i1 false), !noalias !2891 + %.sroa.0.sroa.0.sroa.4.0..sroa_idx.i = getelementptr inbounds i8, ptr %10, i64 96 + store ptr %46, ptr %.sroa.0.sroa.0.sroa.4.0..sroa_idx.i, align 8, !alias.scope !2877, !noalias !2891 + %.sroa.0.sroa.0.sroa.5.0..sroa_idx.i = getelementptr inbounds i8, ptr %10, i64 104 store ptr null, ptr %.sroa.0.sroa.0.sroa.5.0..sroa_idx.i, align 8, !alias.scope !2877, !noalias !2891 - %.sroa.0.sroa.0.sroa.7.0..sroa_idx.i = getelementptr inbounds i8, ptr %11, i64 120 + %.sroa.0.sroa.0.sroa.7.0..sroa_idx.i = getelementptr inbounds i8, ptr %10, i64 120 store ptr null, ptr %.sroa.0.sroa.0.sroa.7.0..sroa_idx.i, align 8, !alias.scope !2877, !noalias !2891 - %.sroa.0.sroa.0.sroa.9.0..sroa_idx.i = getelementptr inbounds i8, ptr %11, i64 136 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(72) %.sroa.0.sroa.0.sroa.9.0..sroa_idx.i, ptr noundef nonnull align 8 dereferenceable(72) %10, i64 72, i1 false), !alias.scope !2890, !noalias !2892 - %.sroa.0.sroa.4.0..sroa_idx.i26 = getelementptr inbounds i8, ptr %11, i64 208 - store ptr %34, ptr %.sroa.0.sroa.4.0..sroa_idx.i26, align 8, !alias.scope !2877, !noalias !2891 + %.sroa.0.sroa.0.sroa.9.0..sroa_idx.i = getelementptr inbounds i8, ptr %10, i64 136 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(72) %.sroa.0.sroa.0.sroa.9.0..sroa_idx.i, ptr noundef nonnull align 8 dereferenceable(72) %9, i64 72, i1 false), !alias.scope !2890, !noalias !2892 + %.sroa.0.sroa.4.0..sroa_idx.i26 = getelementptr inbounds i8, ptr %10, i64 208 + store ptr %33, ptr %.sroa.0.sroa.4.0..sroa_idx.i26, align 8, !alias.scope !2877, !noalias !2891 call void @llvm.lifetime.end.p0(i64 96, ptr nonnull %6) - %49 = invoke noundef ptr @"_ZN13mini_lsm_mvcc9mem_table149_$LT$impl$u20$mini_lsm_mvcc..iterators..StorageIterator$u20$for$u20$mini_lsm_mvcc..mem_table..ouroboros_impl_mem_table_iterator..MemTableIterator$GT$4next17hf5ed5c01448798ffE"(ptr noalias noundef nonnull align 8 dereferenceable(216) %11) - to label %52 unwind label %50 + %47 = invoke noundef ptr @"_ZN13mini_lsm_mvcc9mem_table149_$LT$impl$u20$mini_lsm_mvcc..iterators..StorageIterator$u20$for$u20$mini_lsm_mvcc..mem_table..ouroboros_impl_mem_table_iterator..MemTableIterator$GT$4next17hf5ed5c01448798ffE"(ptr noalias noundef nonnull align 8 dereferenceable(216) %10) + to label %50 unwind label %48 -50: ; preds = %45 - %51 = landingpad { ptr, i32 } +48: ; preds = %44 + %49 = landingpad { ptr, i32 } cleanup br label %.body28 -.body28: ; preds = %55, %50 - %eh.lpad-body29 = phi { ptr, i32 } [ %51, %50 ], [ %56, %55 ] - invoke void @"_ZN4core3ptr106drop_in_place$LT$mini_lsm_mvcc..mem_table..ouroboros_impl_mem_table_iterator..MemTableIteratorInternal$GT$17hebda0e3cff46e9c7E.llvm.14689451251361528239"(ptr noalias noundef nonnull align 8 dereferenceable(216) %11) - to label %.critedge unwind label %60 +.body28: ; preds = %53, %48 + %eh.lpad-body29 = phi { ptr, i32 } [ %49, %48 ], [ %54, %53 ] + invoke void @"_ZN4core3ptr106drop_in_place$LT$mini_lsm_mvcc..mem_table..ouroboros_impl_mem_table_iterator..MemTableIteratorInternal$GT$17hebda0e3cff46e9c7E.llvm.14689451251361528239"(ptr noalias noundef nonnull align 8 dereferenceable(216) %10) + to label %.critedge unwind label %58 -52: ; preds = %45 - %53 = icmp eq ptr %49, null - br i1 %53, label %"_ZN4core6result19Result$LT$T$C$E$GT$6unwrap17hc3c3ec2f8abb63bfE.exit", label %54 +50: ; preds = %44 + %51 = icmp eq ptr %47, null + br i1 %51, label %"_ZN4core6result19Result$LT$T$C$E$GT$6unwrap17hc3c3ec2f8abb63bfE.exit", label %52 -54: ; preds = %52 +52: ; preds = %50 call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %5) - store ptr %49, ptr %5, align 8 + store ptr %47, ptr %5, align 8 invoke void @_ZN4core6result13unwrap_failed17h03d8a5018196e1cdE(ptr noalias noundef nonnull readonly align 1 @anon.4dd66198b1e00463ac4f9539cc1b7f60.76.llvm.6717981035442482804, i64 noundef 43, ptr noundef nonnull align 1 %5, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.4dd66198b1e00463ac4f9539cc1b7f60.77, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.4dd66198b1e00463ac4f9539cc1b7f60.119) #31 - to label %57 unwind label %55 + to label %55 unwind label %53 -55: ; preds = %54 - %56 = landingpad { ptr, i32 } +53: ; preds = %52 + %54 = landingpad { ptr, i32 } cleanup invoke void @"_ZN6anyhow5error65_$LT$impl$u20$core..ops..drop..Drop$u20$for$u20$anyhow..Error$GT$4drop17h5eef08f97f709a86E"(ptr noalias noundef nonnull align 8 dereferenceable(8) %5) - to label %.body28 unwind label %58 + to label %.body28 unwind label %56 -57: ; preds = %54 +55: ; preds = %52 unreachable -58: ; preds = %55 - %59 = landingpad { ptr, i32 } +56: ; preds = %53 + %57 = landingpad { ptr, i32 } filter [0 x ptr] zeroinitializer call void @_ZN4core9panicking16panic_in_cleanup17h55eb1d85cadde1a1E() #33 unreachable -"_ZN4core6result19Result$LT$T$C$E$GT$6unwrap17hc3c3ec2f8abb63bfE.exit": ; preds = %52 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(216) %0, ptr noundef nonnull align 8 dereferenceable(216) %11, i64 216, i1 false) - call void @llvm.lifetime.end.p0(i64 216, ptr nonnull %11) - call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %13) +"_ZN4core6result19Result$LT$T$C$E$GT$6unwrap17hc3c3ec2f8abb63bfE.exit": ; preds = %50 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(216) %0, ptr noundef nonnull align 8 dereferenceable(216) %10, i64 216, i1 false) + call void @llvm.lifetime.end.p0(i64 216, ptr nonnull %10) + call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %12) ret void -60: ; preds = %.body28, %27 - %61 = landingpad { ptr, i32 } +58: ; preds = %.body28, %26 + %59 = landingpad { ptr, i32 } filter [0 x ptr] zeroinitializer call void @_ZN4core9panicking16panic_in_cleanup17h55eb1d85cadde1a1E() #33 unreachable -.critedge: ; preds = %44, %.body28, %27 - %.pn.pn = phi { ptr, i32 } [ %28, %27 ], [ %36, %44 ], [ %eh.lpad-body29, %.body28 ] +.critedge: ; preds = %43, %.body28, %26 + %.pn.pn = phi { ptr, i32 } [ %27, %26 ], [ %35, %43 ], [ %eh.lpad-body29, %.body28 ] resume { ptr, i32 } %.pn.pn } diff --git a/bench/mini-lsm-rs/optimized/1pvec8aj5zmr89ee.ll b/bench/mini-lsm-rs/optimized/1pvec8aj5zmr89ee.ll index 5a0f69f5442..c14665ff32f 100644 --- a/bench/mini-lsm-rs/optimized/1pvec8aj5zmr89ee.ll +++ b/bench/mini-lsm-rs/optimized/1pvec8aj5zmr89ee.ll @@ -14953,57 +14953,53 @@ define noundef zeroext i1 @"_ZN241_$LT$$LT$mini_lsm_mvcc..compact.._..$LT$impl$u define hidden void @_ZN13mini_lsm_mvcc9mem_table33ouroboros_impl_mem_table_iterator16MemTableIterator3new17h340b946bb9ba6b73E(ptr noalias nocapture noundef writeonly sret({ { [27 x i64] } }) align 8 dereferenceable(216) %0, ptr noundef nonnull %1, ptr noalias nocapture noundef align 8 dereferenceable(96) %2, ptr noalias nocapture noundef align 8 dereferenceable(72) %3) unnamed_addr #0 personality ptr @rust_eh_personality { %5 = alloca { { i64, [5 x i64] }, { i64, [5 x i64] } }, align 8 %6 = alloca ptr, align 8 - %7 = alloca { { i64, [5 x i64] }, { i64, [5 x i64] } }, align 8 call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %6) store ptr %1, ptr %6, align 8 - %8 = load volatile i8, ptr @__rust_no_alloc_shim_is_unstable, align 1 - %9 = tail call noundef align 8 dereferenceable_or_null(8) ptr @__rust_alloc(i64 noundef 8, i64 noundef 8) #33 - %10 = icmp eq ptr %9, null - br i1 %10, label %11, label %19 + %7 = load volatile i8, ptr @__rust_no_alloc_shim_is_unstable, align 1 + %8 = tail call noundef align 8 dereferenceable_or_null(8) ptr @__rust_alloc(i64 noundef 8, i64 noundef 8) #33 + %9 = icmp eq ptr %8, null + br i1 %9, label %10, label %18 -11: ; preds = %4 +10: ; preds = %4 invoke void @_ZN5alloc5alloc18handle_alloc_error17h81706c48453a6249E(i64 noundef 8, i64 noundef 8) #40 - to label %.noexc.i unwind label %12 + to label %.noexc.i unwind label %11 -.noexc.i: ; preds = %11 +.noexc.i: ; preds = %10 unreachable -12: ; preds = %11 - %13 = landingpad { ptr, i32 } +11: ; preds = %10 + %12 = landingpad { ptr, i32 } cleanup - %14 = atomicrmw sub ptr %1, i64 1 release, align 8, !noalias !2046 - %15 = icmp eq i64 %14, 1 - br i1 %15, label %16, label %.body + %13 = atomicrmw sub ptr %1, i64 1 release, align 8, !noalias !2046 + %14 = icmp eq i64 %13, 1 + br i1 %14, label %15, label %.body -16: ; preds = %12 +15: ; preds = %11 fence acquire invoke void @"_ZN5alloc4sync16Arc$LT$T$C$A$GT$9drop_slow17h3874980e34625835E"(ptr noalias noundef nonnull align 8 dereferenceable(8) %6) - to label %.body unwind label %17 + to label %.body unwind label %16 -17: ; preds = %16 - %18 = landingpad { ptr, i32 } +16: ; preds = %15 + %17 = landingpad { ptr, i32 } filter [0 x ptr] zeroinitializer call void @_ZN4core9panicking16panic_in_cleanup17h55eb1d85cadde1a1E() #39 unreachable -.body: ; preds = %16, %12 +.body: ; preds = %15, %11 invoke void @"_ZN4core3ptr101drop_in_place$LT$$LP$mini_lsm_mvcc..key..Key$LT$bytes..bytes..Bytes$GT$$C$bytes..bytes..Bytes$RP$$GT$17h3681aad4c9e0e5c1E.llvm.3998950267652723875"(ptr noalias noundef nonnull align 8 dereferenceable(72) %3) #38 - to label %26 unwind label %23 + to label %25 unwind label %22 -19: ; preds = %4 - store ptr %1, ptr %9, align 8 +18: ; preds = %4 + store ptr %1, ptr %8, align 8 call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %6) - call void @llvm.lifetime.start.p0(i64 96, ptr nonnull %7) - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(96) %7, ptr noundef nonnull align 8 dereferenceable(96) %2, i64 96, i1 false) - %20 = getelementptr inbounds i8, ptr %7, i64 48 - %21 = getelementptr inbounds i8, ptr %5, i64 48 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(48) %21, ptr noundef nonnull align 8 dereferenceable(48) %20, i64 48, i1 false) + %19 = getelementptr inbounds i8, ptr %5, i64 48 + %20 = getelementptr inbounds i8, ptr %2, i64 48 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(48) %19, ptr noundef nonnull align 8 dereferenceable(48) %20, i64 48, i1 false) call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(48) %5, ptr noundef nonnull align 8 dereferenceable(48) %2, i64 48, i1 false) - %22 = getelementptr inbounds i8, ptr %1, i64 128 - call void @llvm.lifetime.end.p0(i64 96, ptr nonnull %7) + %21 = getelementptr inbounds i8, ptr %1, i64 128 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(96) %0, ptr noundef nonnull align 8 dereferenceable(96) %5, i64 96, i1 false) %.sroa.0.sroa.0.sroa.4.0..sroa_idx = getelementptr inbounds i8, ptr %0, i64 96 - store ptr %22, ptr %.sroa.0.sroa.0.sroa.4.0..sroa_idx, align 8 + store ptr %21, ptr %.sroa.0.sroa.0.sroa.4.0..sroa_idx, align 8 %.sroa.0.sroa.0.sroa.5.0..sroa_idx = getelementptr inbounds i8, ptr %0, i64 104 store ptr null, ptr %.sroa.0.sroa.0.sroa.5.0..sroa_idx, align 8 %.sroa.0.sroa.0.sroa.7.0..sroa_idx = getelementptr inbounds i8, ptr %0, i64 120 @@ -15011,21 +15007,21 @@ define hidden void @_ZN13mini_lsm_mvcc9mem_table33ouroboros_impl_mem_table_itera %.sroa.0.sroa.0.sroa.9.0..sroa_idx = getelementptr inbounds i8, ptr %0, i64 136 tail call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(72) %.sroa.0.sroa.0.sroa.9.0..sroa_idx, ptr noundef nonnull align 8 dereferenceable(72) %3, i64 72, i1 false) %.sroa.0.sroa.4.0..sroa_idx = getelementptr inbounds i8, ptr %0, i64 208 - store ptr %9, ptr %.sroa.0.sroa.4.0..sroa_idx, align 8 + store ptr %8, ptr %.sroa.0.sroa.4.0..sroa_idx, align 8 ret void -23: ; preds = %26, %.body - %24 = landingpad { ptr, i32 } +22: ; preds = %25, %.body + %23 = landingpad { ptr, i32 } filter [0 x ptr] zeroinitializer call void @_ZN4core9panicking16panic_in_cleanup17h55eb1d85cadde1a1E() #39 unreachable -25: ; preds = %26 - resume { ptr, i32 } %13 +24: ; preds = %25 + resume { ptr, i32 } %12 -26: ; preds = %.body +25: ; preds = %.body invoke void @"_ZN4core3ptr90drop_in_place$LT$mini_lsm_mvcc..mem_table..MemTable..scan..$u7b$$u7b$closure$u7d$$u7d$$GT$17h9b33c24ffd3145c2E.llvm.3998950267652723875"(ptr noalias noundef nonnull align 8 dereferenceable(96) %2) #38 - to label %25 unwind label %23 + to label %24 unwind label %22 } ; Function Attrs: nonlazybind uwtable diff --git a/bench/mini-lsm-rs/optimized/4wwk8tlxvknqh1t8.ll b/bench/mini-lsm-rs/optimized/4wwk8tlxvknqh1t8.ll index 47e9a2f9a5b..5e6e2c890a1 100644 --- a/bench/mini-lsm-rs/optimized/4wwk8tlxvknqh1t8.ll +++ b/bench/mini-lsm-rs/optimized/4wwk8tlxvknqh1t8.ll @@ -9687,7 +9687,7 @@ define hidden noundef nonnull align 8 dereferenceable(8) ptr @"_ZN5alloc11collec %4 = alloca { ptr, i64, { ptr, [2 x i64] }, {}, {} }, align 8 %5 = load ptr, ptr %0, align 8, !noundef !4 %6 = icmp eq ptr %5, null - br i1 %6, label %35, label %7 + br i1 %6, label %36, label %7 7: ; preds = %1 call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %4) @@ -9728,40 +9728,41 @@ define hidden noundef nonnull align 8 dereferenceable(8) ptr @"_ZN5alloc11collec br label %"_ZN5alloc11collections5btree3map5entry28VacantEntry$LT$K$C$V$C$A$GT$6insert17he2d62280f405d42eE.llvm.8540189446595550310.exit" 23: ; preds = %7 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %3, ptr noundef nonnull align 8 dereferenceable(24) %8, i64 24, i1 false) - %24 = getelementptr inbounds i8, ptr %4, i64 8 - %25 = load i64, ptr %24, align 8, !alias.scope !1316, !noundef !4 - call void @"_ZN5alloc11collections5btree4node210Handle$LT$alloc..collections..btree..node..NodeRef$LT$alloc..collections..btree..node..marker..Mut$C$K$C$V$C$alloc..collections..btree..node..marker..Leaf$GT$$C$alloc..collections..btree..node..marker..Edge$GT$16insert_recursing17hbc68f9de223a51cbE"(ptr noalias nocapture noundef nonnull sret({ { ptr, i64 }, i64, {} }) align 8 dereferenceable(24) %2, ptr noalias nocapture noundef nonnull align 8 dereferenceable(24) %3, i64 noundef %25, i64 noundef 0, ptr noalias noundef nonnull align 8 dereferenceable(8) %4) - %26 = load ptr, ptr %2, align 8, !alias.scope !1322, !noalias !1316, !nonnull !4, !noundef !4 - %27 = getelementptr inbounds i8, ptr %26, i64 96 - %28 = getelementptr inbounds i8, ptr %2, i64 16 - %29 = load i64, ptr %28, align 8, !alias.scope !1322, !noalias !1316, !noundef !4 - %30 = getelementptr inbounds i64, ptr %27, i64 %29 - %31 = load ptr, ptr %4, align 8, !alias.scope !1316, !nonnull !4, !noundef !4 - %32 = getelementptr inbounds i8, ptr %31, i64 16 - %33 = load i64, ptr %32, align 8, !noundef !4 - %34 = add i64 %33, 1 - store i64 %34, ptr %32, align 8 + %24 = getelementptr inbounds i8, ptr %0, i64 16 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %3, ptr noundef nonnull align 8 dereferenceable(24) %24, i64 24, i1 false) + %25 = getelementptr inbounds i8, ptr %4, i64 8 + %26 = load i64, ptr %25, align 8, !alias.scope !1316, !noundef !4 + call void @"_ZN5alloc11collections5btree4node210Handle$LT$alloc..collections..btree..node..NodeRef$LT$alloc..collections..btree..node..marker..Mut$C$K$C$V$C$alloc..collections..btree..node..marker..Leaf$GT$$C$alloc..collections..btree..node..marker..Edge$GT$16insert_recursing17hbc68f9de223a51cbE"(ptr noalias nocapture noundef nonnull sret({ { ptr, i64 }, i64, {} }) align 8 dereferenceable(24) %2, ptr noalias nocapture noundef nonnull align 8 dereferenceable(24) %3, i64 noundef %26, i64 noundef 0, ptr noalias noundef nonnull align 8 dereferenceable(8) %4) + %27 = load ptr, ptr %2, align 8, !alias.scope !1322, !noalias !1316, !nonnull !4, !noundef !4 + %28 = getelementptr inbounds i8, ptr %27, i64 96 + %29 = getelementptr inbounds i8, ptr %2, i64 16 + %30 = load i64, ptr %29, align 8, !alias.scope !1322, !noalias !1316, !noundef !4 + %31 = getelementptr inbounds i64, ptr %28, i64 %30 + %32 = load ptr, ptr %4, align 8, !alias.scope !1316, !nonnull !4, !noundef !4 + %33 = getelementptr inbounds i8, ptr %32, i64 16 + %34 = load i64, ptr %33, align 8, !noundef !4 + %35 = add i64 %34, 1 + store i64 %35, ptr %33, align 8 br label %"_ZN5alloc11collections5btree3map5entry28VacantEntry$LT$K$C$V$C$A$GT$6insert17he2d62280f405d42eE.llvm.8540189446595550310.exit" "_ZN5alloc11collections5btree3map5entry28VacantEntry$LT$K$C$V$C$A$GT$6insert17he2d62280f405d42eE.llvm.8540189446595550310.exit": ; preds = %"_ZN5alloc11collections5btree4node115NodeRef$LT$alloc..collections..btree..node..marker..Mut$C$K$C$V$C$alloc..collections..btree..node..marker..Leaf$GT$4push17h0eceff4700b2f846E.exit.i", %23 - %.0.i = phi ptr [ %20, %"_ZN5alloc11collections5btree4node115NodeRef$LT$alloc..collections..btree..node..marker..Mut$C$K$C$V$C$alloc..collections..btree..node..marker..Leaf$GT$4push17h0eceff4700b2f846E.exit.i" ], [ %30, %23 ] + %.0.i = phi ptr [ %20, %"_ZN5alloc11collections5btree4node115NodeRef$LT$alloc..collections..btree..node..marker..Mut$C$K$C$V$C$alloc..collections..btree..node..marker..Leaf$GT$4push17h0eceff4700b2f846E.exit.i" ], [ %31, %23 ] call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %2) call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %3) call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %4) - br label %39 + br label %40 -35: ; preds = %1 - %36 = getelementptr inbounds i8, ptr %0, i64 8 - %.sroa.0.0.copyload = load ptr, ptr %36, align 8, !nonnull !4, !noundef !4 +36: ; preds = %1 + %37 = getelementptr inbounds i8, ptr %0, i64 8 + %.sroa.0.0.copyload = load ptr, ptr %37, align 8, !nonnull !4, !noundef !4 %.sroa.21.0..sroa_idx = getelementptr inbounds i8, ptr %0, i64 24 %.sroa.21.0.copyload = load i64, ptr %.sroa.21.0..sroa_idx, align 8 - %37 = getelementptr inbounds i8, ptr %.sroa.0.0.copyload, i64 96 - %38 = getelementptr inbounds i64, ptr %37, i64 %.sroa.21.0.copyload - br label %39 + %38 = getelementptr inbounds i8, ptr %.sroa.0.0.copyload, i64 96 + %39 = getelementptr inbounds i64, ptr %38, i64 %.sroa.21.0.copyload + br label %40 -39: ; preds = %"_ZN5alloc11collections5btree3map5entry28VacantEntry$LT$K$C$V$C$A$GT$6insert17he2d62280f405d42eE.llvm.8540189446595550310.exit", %35 - %.0 = phi ptr [ %38, %35 ], [ %.0.i, %"_ZN5alloc11collections5btree3map5entry28VacantEntry$LT$K$C$V$C$A$GT$6insert17he2d62280f405d42eE.llvm.8540189446595550310.exit" ] +40: ; preds = %"_ZN5alloc11collections5btree3map5entry28VacantEntry$LT$K$C$V$C$A$GT$6insert17he2d62280f405d42eE.llvm.8540189446595550310.exit", %36 + %.0 = phi ptr [ %39, %36 ], [ %.0.i, %"_ZN5alloc11collections5btree3map5entry28VacantEntry$LT$K$C$V$C$A$GT$6insert17he2d62280f405d42eE.llvm.8540189446595550310.exit" ] ret ptr %.0 } diff --git a/bench/mini-lsm-rs/optimized/59xebgypolxascxr.ll b/bench/mini-lsm-rs/optimized/59xebgypolxascxr.ll index c4c3cfcc60e..e6b61c55ebb 100644 --- a/bench/mini-lsm-rs/optimized/59xebgypolxascxr.ll +++ b/bench/mini-lsm-rs/optimized/59xebgypolxascxr.ll @@ -9311,8 +9311,6 @@ define hidden void @"_ZN4moka9sync_base10base_cache26BaseCache$LT$K$C$V$C$S$GT$1 %20 = alloca ptr, align 8 %21 = alloca { [2 x i64], ptr, [1 x i64] }, align 8 %22 = alloca ptr, align 8 - %.sroa.14 = alloca [39 x i8], align 1 - %.sroa.3 = alloca [39 x i8], align 1 %23 = alloca ptr, align 8 %24 = alloca { ptr, [3 x i64] }, align 8 %25 = alloca { i64, [9 x i64] }, align 8 @@ -9336,9 +9334,9 @@ define hidden void @"_ZN4moka9sync_base10base_cache26BaseCache$LT$K$C$V$C$S$GT$1 %38 = invoke fastcc noundef i64 @"_ZN4moka9sync_base10base_cache22Inner$LT$K$C$V$C$S$GT$34current_time_from_expiration_clock17h510ab0b54fd5d663E"(ptr noundef nonnull align 8 %37) to label %46 unwind label %44 -39: ; preds = %404, %71, %44 - %.018 = phi i8 [ 1, %44 ], [ %.15, %404 ], [ 1, %71 ] - %.pn43 = phi { ptr, i32 } [ %45, %44 ], [ %.pn39, %404 ], [ %.pn.pn, %71 ] +39: ; preds = %408, %71, %44 + %.018 = phi i8 [ 1, %44 ], [ %.15, %408 ], [ 1, %71 ] + %.pn43 = phi { ptr, i32 } [ %45, %44 ], [ %.pn39, %408 ], [ %.pn.pn, %71 ] call void @llvm.experimental.noalias.scope.decl(metadata !1071) call void @llvm.experimental.noalias.scope.decl(metadata !1074) %40 = load ptr, ptr %31, align 8, !alias.scope !1077, !nonnull !14, !noundef !14 @@ -9349,7 +9347,7 @@ define hidden void @"_ZN4moka9sync_base10base_cache26BaseCache$LT$K$C$V$C$S$GT$1 43: ; preds = %39 fence acquire invoke void @"_ZN5alloc4sync16Arc$LT$T$C$A$GT$9drop_slow17ha296f69e20424ab4E"(ptr noalias noundef nonnull align 8 dereferenceable(8) %31) - to label %"_ZN4core3ptr67drop_in_place$LT$alloc..sync..Arc$LT$mini_lsm..block..Block$GT$$GT$17h71b14420029919eaE.exit" unwind label %301 + to label %"_ZN4core3ptr67drop_in_place$LT$alloc..sync..Arc$LT$mini_lsm..block..Block$GT$$GT$17h71b14420029919eaE.exit" unwind label %302 44: ; preds = %65, %"_ZN4moka9sync_base10base_cache22Inner$LT$K$C$V$C$S$GT$5weigh17h447033aac0997a50E.exit", %49, %5 %45 = landingpad { ptr, i32 } @@ -9421,7 +9419,7 @@ define hidden void @"_ZN4moka9sync_base10base_cache26BaseCache$LT$K$C$V$C$S$GT$1 71: ; preds = %"_ZN4core3ptr173drop_in_place$LT$core..option..Option$LT$$LP$u8$C$moka..common..concurrent..WriteOp$LT$$LP$usize$C$usize$RP$$C$alloc..sync..Arc$LT$mini_lsm..block..Block$GT$$GT$$RP$$GT$$GT$17hc6aa742cea6f42caE.exit" invoke void @"_ZN4core3ptr70drop_in_place$LT$alloc..rc..Rc$LT$core..sync..atomic..AtomicU8$GT$$GT$17hc13f5027cf7f0718E"(ptr noalias noundef nonnull align 8 dereferenceable(8) %28) #27 - to label %39 unwind label %301 + to label %39 unwind label %302 _ZN5alloc2rc10RcInnerPtr10inc_strong17h3dd3b88c499b662dE.exit: ; preds = %66 %72 = load ptr, ptr %28, align 8, !nonnull !14, !noundef !14 @@ -9454,7 +9452,7 @@ _ZN5alloc2rc10RcInnerPtr10inc_strong17h3dd3b88c499b662dE.exit: ; preds = %66 "_ZN4core3ptr145drop_in_place$LT$core..option..Option$LT$moka..sync_base..key_lock..KeyLock$LT$$LP$usize$C$usize$RP$$C$std..hash..random..RandomState$GT$$GT$$GT$17hbb98a74961ea7f40E.exit": ; preds = %"_ZN4core3ptr127drop_in_place$LT$core..option..Option$LT$lock_api..mutex..MutexGuard$LT$parking_lot..raw_mutex..RawMutex$C$$LP$$RP$$GT$$GT$$GT$17h930e269860bae1f4E.exit", %98, %80 %.pn.pn = phi { ptr, i32 } [ %81, %80 ], [ %.pn, %98 ], [ %.pn, %"_ZN4core3ptr127drop_in_place$LT$core..option..Option$LT$lock_api..mutex..MutexGuard$LT$parking_lot..raw_mutex..RawMutex$C$$LP$$RP$$GT$$GT$$GT$17h930e269860bae1f4E.exit" ] invoke fastcc void @"_ZN4core3ptr440drop_in_place$LT$core..option..Option$LT$$LP$u8$C$triomphe..arc..Arc$LT$moka..common..concurrent..ValueEntry$LT$$LP$usize$C$usize$RP$$C$alloc..sync..Arc$LT$mini_lsm..block..Block$GT$$GT$$GT$$C$$LP$core..option..Option$LT$moka..common..time..Instant$GT$$C$core..option..Option$LT$moka..common..time..Instant$GT$$RP$$C$moka..common..concurrent..WriteOp$LT$$LP$usize$C$usize$RP$$C$alloc..sync..Arc$LT$mini_lsm..block..Block$GT$$GT$$RP$$GT$$GT$17hb96539570a1b3bbcE"(ptr noalias noundef nonnull align 8 dereferenceable(80) %25) #27 - to label %429 unwind label %301 + to label %433 unwind label %302 80: ; preds = %79 %81 = landingpad { ptr, i32 } @@ -9508,7 +9506,7 @@ _ZN5alloc2rc10RcInnerPtr10inc_strong17h3dd3b88c499b662dE.exit: ; preds = %66 98: ; preds = %"_ZN4core3ptr127drop_in_place$LT$core..option..Option$LT$lock_api..mutex..MutexGuard$LT$parking_lot..raw_mutex..RawMutex$C$$LP$$RP$$GT$$GT$$GT$17h930e269860bae1f4E.exit" invoke void @"_ZN4core3ptr117drop_in_place$LT$moka..sync_base..key_lock..KeyLock$LT$$LP$usize$C$usize$RP$$C$std..hash..random..RandomState$GT$$GT$17h5e5734ea32b17d89E"(ptr noalias noundef nonnull align 8 dereferenceable(32) %24) - to label %"_ZN4core3ptr145drop_in_place$LT$core..option..Option$LT$moka..sync_base..key_lock..KeyLock$LT$$LP$usize$C$usize$RP$$C$std..hash..random..RandomState$GT$$GT$$GT$17hbb98a74961ea7f40E.exit" unwind label %301 + to label %"_ZN4core3ptr145drop_in_place$LT$core..option..Option$LT$moka..sync_base..key_lock..KeyLock$LT$$LP$usize$C$usize$RP$$C$std..hash..random..RandomState$GT$$GT$$GT$17hbb98a74961ea7f40E.exit" unwind label %302 99: ; preds = %88, %83 %100 = landingpad { ptr, i32 } @@ -9532,7 +9530,7 @@ _ZN5alloc2rc10RcInnerPtr10inc_strong17h3dd3b88c499b662dE.exit: ; preds = %66 107: ; preds = %104 invoke void @_ZN11parking_lot9raw_mutex8RawMutex11unlock_slow17h4f1db2d09399a6dbE(ptr noundef nonnull align 1 %storemerge, i1 noundef zeroext false) - to label %"_ZN4core3ptr127drop_in_place$LT$core..option..Option$LT$lock_api..mutex..MutexGuard$LT$parking_lot..raw_mutex..RawMutex$C$$LP$$RP$$GT$$GT$$GT$17h930e269860bae1f4E.exit" unwind label %301 + to label %"_ZN4core3ptr127drop_in_place$LT$core..option..Option$LT$lock_api..mutex..MutexGuard$LT$parking_lot..raw_mutex..RawMutex$C$$LP$$RP$$GT$$GT$$GT$17h930e269860bae1f4E.exit" unwind label %302 "_ZN68_$LT$alloc..sync..Arc$LT$T$C$A$GT$$u20$as$u20$core..clone..Clone$GT$5clone17ha02ecb5abd029822E.exit": ; preds = %"_ZN4moka9sync_base8key_lock20KeyLock$LT$K$C$S$GT$4lock17h80f6e9fe896951d3E.exit" %108 = load i64, ptr %32, align 8, !noundef !14 @@ -9918,8 +9916,6 @@ _ZN4moka3cht3map6bucket20defer_destroy_bucket17h6aa34676af3b2e79E.exit.i.i: ; pr %.sroa.02.0.copyload = load i64, ptr %26, align 8 %.sroa.2.0..sroa_idx = getelementptr inbounds i8, ptr %26, i64 8 %.sroa.2.0.copyload = load i8, ptr %.sroa.2.0..sroa_idx, align 8 - %.sroa.3.0..sroa_idx = getelementptr inbounds i8, ptr %26, i64 9 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(39) %.sroa.3, ptr noundef nonnull align 1 dereferenceable(39) %.sroa.3.0..sroa_idx, i64 39, i1 false) %.sroa.04.0.copyload = load i64, ptr %25, align 8 %.sroa.5.0..sroa_idx = getelementptr inbounds i8, ptr %25, i64 8 %.sroa.5.0.copyload = load i64, ptr %.sroa.5.0..sroa_idx, align 8 @@ -9931,8 +9927,6 @@ _ZN4moka3cht3map6bucket20defer_destroy_bucket17h6aa34676af3b2e79E.exit.i.i: ; pr %.sroa.11.0.copyload = load ptr, ptr %.sroa.11.0..sroa_idx, align 8 %.sroa.13.0..sroa_idx = getelementptr inbounds i8, ptr %25, i64 40 %.sroa.13.0.copyload = load i8, ptr %.sroa.13.0..sroa_idx, align 8 - %.sroa.14.0..sroa_idx = getelementptr inbounds i8, ptr %25, i64 41 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(39) %.sroa.14, ptr noundef nonnull align 1 dereferenceable(39) %.sroa.14.0..sroa_idx, i64 39, i1 false) %switch = icmp eq i64 %.sroa.02.0.copyload, 0 %234 = icmp eq i64 %.sroa.04.0.copyload, 2 br i1 %switch, label %235, label %236 @@ -9941,11 +9935,11 @@ _ZN4moka3cht3map6bucket20defer_destroy_bucket17h6aa34676af3b2e79E.exit.i.i: ; pr br i1 %234, label %237, label %238 236: ; preds = %"_ZN4core3ptr189drop_in_place$LT$core..option..Option$LT$triomphe..arc..Arc$LT$moka..common..concurrent..ValueEntry$LT$$LP$usize$C$usize$RP$$C$alloc..sync..Arc$LT$mini_lsm..block..Block$GT$$GT$$GT$$GT$$GT$17h30d28ab1ea38f9f4E.exit" - br i1 %234, label %310, label %313 + br i1 %234, label %311, label %315 237: ; preds = %235 invoke void @_ZN4core9panicking5panic17hb837a5ebbbe5b188E(ptr noalias noundef nonnull readonly align 1 @anon.46014f5de8b8ca308edbff6e9cb5dbe3.64, i64 noundef 40, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.46014f5de8b8ca308edbff6e9cb5dbe3.65) #26 - to label %257 unwind label %255 + to label %258 unwind label %256 238: ; preds = %235 call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %22) @@ -9953,563 +9947,563 @@ _ZN4moka3cht3map6bucket20defer_destroy_bucket17h6aa34676af3b2e79E.exit.i.i: ; pr call void @llvm.assume(i1 %239) store ptr %.sroa.11.0.copyload, ptr %22, align 8 call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %21) - %.sroa.14.48..sroa_idx = getelementptr inbounds i8, ptr %.sroa.14, i64 7 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %21, ptr noundef nonnull align 1 dereferenceable(32) %.sroa.14.48..sroa_idx, i64 32, i1 false) - %240 = getelementptr inbounds i8, ptr %.sroa.11.0.copyload, i64 24 - %241 = invoke { i8, i8 } @_ZN4core4sync6atomic28atomic_compare_exchange_weak17h55c3f601f61f8980E.llvm.5937325364934216154(ptr noundef nonnull %240, i8 noundef 0, i8 noundef 1, i8 noundef 2, i8 noundef 0) - to label %.noexc71 unwind label %259 + %240 = getelementptr inbounds i8, ptr %25, i64 48 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %21, ptr noundef nonnull align 8 dereferenceable(32) %240, i64 32, i1 false) + %241 = getelementptr inbounds i8, ptr %.sroa.11.0.copyload, i64 24 + %242 = invoke { i8, i8 } @_ZN4core4sync6atomic28atomic_compare_exchange_weak17h55c3f601f61f8980E.llvm.5937325364934216154(ptr noundef nonnull %241, i8 noundef 0, i8 noundef 1, i8 noundef 2, i8 noundef 0) + to label %.noexc71 unwind label %260 .noexc71: ; preds = %238 - %.fca.0.extract.i.i69 = extractvalue { i8, i8 } %241, 0 - %242 = and i8 %.fca.0.extract.i.i69, 1 - %.not.i.i70 = icmp eq i8 %242, 0 - br i1 %.not.i.i70, label %"_ZN78_$LT$parking_lot..raw_mutex..RawMutex$u20$as$u20$lock_api..mutex..RawMutex$GT$4lock17hc8ec2492ec8cdf56E.llvm.5937325364934216154.exit.i", label %243 + %.fca.0.extract.i.i69 = extractvalue { i8, i8 } %242, 0 + %243 = and i8 %.fca.0.extract.i.i69, 1 + %.not.i.i70 = icmp eq i8 %243, 0 + br i1 %.not.i.i70, label %"_ZN78_$LT$parking_lot..raw_mutex..RawMutex$u20$as$u20$lock_api..mutex..RawMutex$GT$4lock17hc8ec2492ec8cdf56E.llvm.5937325364934216154.exit.i", label %244 -243: ; preds = %.noexc71 - %244 = invoke noundef zeroext i1 @_ZN11parking_lot9raw_mutex8RawMutex9lock_slow17h098a5694329095cfE(ptr noundef nonnull align 1 %240, i64 undef, i32 noundef 1000000000) - to label %"_ZN78_$LT$parking_lot..raw_mutex..RawMutex$u20$as$u20$lock_api..mutex..RawMutex$GT$4lock17hc8ec2492ec8cdf56E.llvm.5937325364934216154.exit.i" unwind label %259 +244: ; preds = %.noexc71 + %245 = invoke noundef zeroext i1 @_ZN11parking_lot9raw_mutex8RawMutex9lock_slow17h098a5694329095cfE(ptr noundef nonnull align 1 %241, i64 undef, i32 noundef 1000000000) + to label %"_ZN78_$LT$parking_lot..raw_mutex..RawMutex$u20$as$u20$lock_api..mutex..RawMutex$GT$4lock17hc8ec2492ec8cdf56E.llvm.5937325364934216154.exit.i" unwind label %260 -"_ZN78_$LT$parking_lot..raw_mutex..RawMutex$u20$as$u20$lock_api..mutex..RawMutex$GT$4lock17hc8ec2492ec8cdf56E.llvm.5937325364934216154.exit.i": ; preds = %243, %.noexc71 - %245 = getelementptr inbounds i8, ptr %.sroa.11.0.copyload, i64 32 - call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %245, i8 0, i64 16, i1 false) - %246 = invoke { i8, i8 } @_ZN4core4sync6atomic23atomic_compare_exchange17h4108cb4686f8015dE.llvm.5937325364934216154(ptr noundef nonnull %240, i8 noundef 1, i8 noundef 0, i8 noundef 1, i8 noundef 0) - to label %.noexc73 unwind label %259 +"_ZN78_$LT$parking_lot..raw_mutex..RawMutex$u20$as$u20$lock_api..mutex..RawMutex$GT$4lock17hc8ec2492ec8cdf56E.llvm.5937325364934216154.exit.i": ; preds = %244, %.noexc71 + %246 = getelementptr inbounds i8, ptr %.sroa.11.0.copyload, i64 32 + call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %246, i8 0, i64 16, i1 false) + %247 = invoke { i8, i8 } @_ZN4core4sync6atomic23atomic_compare_exchange17h4108cb4686f8015dE.llvm.5937325364934216154(ptr noundef nonnull %241, i8 noundef 1, i8 noundef 0, i8 noundef 1, i8 noundef 0) + to label %.noexc73 unwind label %260 .noexc73: ; preds = %"_ZN78_$LT$parking_lot..raw_mutex..RawMutex$u20$as$u20$lock_api..mutex..RawMutex$GT$4lock17hc8ec2492ec8cdf56E.llvm.5937325364934216154.exit.i" - %.fca.0.extract.i.i.i.i = extractvalue { i8, i8 } %246, 0 - %247 = and i8 %.fca.0.extract.i.i.i.i, 1 - %248 = icmp eq i8 %247, 0 - br i1 %248, label %"_ZN4moka6common10concurrent23ValueEntry$LT$K$C$V$GT$13unset_q_nodes17ha8f9de5a8bb90dc5E.exit", label %249 - -249: ; preds = %.noexc73 - invoke void @_ZN11parking_lot9raw_mutex8RawMutex11unlock_slow17h4f1db2d09399a6dbE(ptr noundef nonnull align 1 %240, i1 noundef zeroext false) - to label %"_ZN4moka6common10concurrent23ValueEntry$LT$K$C$V$GT$13unset_q_nodes17ha8f9de5a8bb90dc5E.exit" unwind label %259 - -"_ZN4core3ptr161drop_in_place$LT$triomphe..arc..Arc$LT$moka..common..concurrent..ValueEntry$LT$$LP$usize$C$usize$RP$$C$alloc..sync..Arc$LT$mini_lsm..block..Block$GT$$GT$$GT$$GT$17hd77347798349483dE.exit82": ; preds = %303, %307, %428, %"_ZN4core3ptr161drop_in_place$LT$triomphe..arc..Arc$LT$moka..common..concurrent..ValueEntry$LT$$LP$usize$C$usize$RP$$C$alloc..sync..Arc$LT$mini_lsm..block..Block$GT$$GT$$GT$$GT$17hd77347798349483dE.exit95", %255 - %.2 = phi i8 [ %.3, %255 ], [ %.13, %428 ], [ %.13, %"_ZN4core3ptr161drop_in_place$LT$triomphe..arc..Arc$LT$moka..common..concurrent..ValueEntry$LT$$LP$usize$C$usize$RP$$C$alloc..sync..Arc$LT$mini_lsm..block..Block$GT$$GT$$GT$$GT$17hd77347798349483dE.exit95" ], [ %.4, %307 ], [ %.4, %303 ] - %.pn35 = phi { ptr, i32 } [ %256, %255 ], [ %.pn30, %428 ], [ %.pn30, %"_ZN4core3ptr161drop_in_place$LT$triomphe..arc..Arc$LT$moka..common..concurrent..ValueEntry$LT$$LP$usize$C$usize$RP$$C$alloc..sync..Arc$LT$mini_lsm..block..Block$GT$$GT$$GT$$GT$17hd77347798349483dE.exit95" ], [ %.pn33, %307 ], [ %.pn33, %303 ] - %250 = icmp eq ptr %storemerge, null - br i1 %250, label %"_ZN4core3ptr127drop_in_place$LT$core..option..Option$LT$lock_api..mutex..MutexGuard$LT$parking_lot..raw_mutex..RawMutex$C$$LP$$RP$$GT$$GT$$GT$17h930e269860bae1f4E.exit76", label %251 - -251: ; preds = %"_ZN4core3ptr161drop_in_place$LT$triomphe..arc..Arc$LT$moka..common..concurrent..ValueEntry$LT$$LP$usize$C$usize$RP$$C$alloc..sync..Arc$LT$mini_lsm..block..Block$GT$$GT$$GT$$GT$17hd77347798349483dE.exit82" - %252 = cmpxchg ptr %storemerge, i8 1, i8 0 release monotonic, align 1 - %253 = extractvalue { i8, i1 } %252, 1 - br i1 %253, label %"_ZN4core3ptr127drop_in_place$LT$core..option..Option$LT$lock_api..mutex..MutexGuard$LT$parking_lot..raw_mutex..RawMutex$C$$LP$$RP$$GT$$GT$$GT$17h930e269860bae1f4E.exit76", label %254 - -254: ; preds = %251 + %.fca.0.extract.i.i.i.i = extractvalue { i8, i8 } %247, 0 + %248 = and i8 %.fca.0.extract.i.i.i.i, 1 + %249 = icmp eq i8 %248, 0 + br i1 %249, label %"_ZN4moka6common10concurrent23ValueEntry$LT$K$C$V$GT$13unset_q_nodes17ha8f9de5a8bb90dc5E.exit", label %250 + +250: ; preds = %.noexc73 + invoke void @_ZN11parking_lot9raw_mutex8RawMutex11unlock_slow17h4f1db2d09399a6dbE(ptr noundef nonnull align 1 %241, i1 noundef zeroext false) + to label %"_ZN4moka6common10concurrent23ValueEntry$LT$K$C$V$GT$13unset_q_nodes17ha8f9de5a8bb90dc5E.exit" unwind label %260 + +"_ZN4core3ptr161drop_in_place$LT$triomphe..arc..Arc$LT$moka..common..concurrent..ValueEntry$LT$$LP$usize$C$usize$RP$$C$alloc..sync..Arc$LT$mini_lsm..block..Block$GT$$GT$$GT$$GT$17hd77347798349483dE.exit82": ; preds = %304, %308, %432, %"_ZN4core3ptr161drop_in_place$LT$triomphe..arc..Arc$LT$moka..common..concurrent..ValueEntry$LT$$LP$usize$C$usize$RP$$C$alloc..sync..Arc$LT$mini_lsm..block..Block$GT$$GT$$GT$$GT$17hd77347798349483dE.exit95", %256 + %.2 = phi i8 [ %.3, %256 ], [ %.13, %432 ], [ %.13, %"_ZN4core3ptr161drop_in_place$LT$triomphe..arc..Arc$LT$moka..common..concurrent..ValueEntry$LT$$LP$usize$C$usize$RP$$C$alloc..sync..Arc$LT$mini_lsm..block..Block$GT$$GT$$GT$$GT$17hd77347798349483dE.exit95" ], [ %.4, %308 ], [ %.4, %304 ] + %.pn35 = phi { ptr, i32 } [ %257, %256 ], [ %.pn30, %432 ], [ %.pn30, %"_ZN4core3ptr161drop_in_place$LT$triomphe..arc..Arc$LT$moka..common..concurrent..ValueEntry$LT$$LP$usize$C$usize$RP$$C$alloc..sync..Arc$LT$mini_lsm..block..Block$GT$$GT$$GT$$GT$17hd77347798349483dE.exit95" ], [ %.pn33, %308 ], [ %.pn33, %304 ] + %251 = icmp eq ptr %storemerge, null + br i1 %251, label %"_ZN4core3ptr127drop_in_place$LT$core..option..Option$LT$lock_api..mutex..MutexGuard$LT$parking_lot..raw_mutex..RawMutex$C$$LP$$RP$$GT$$GT$$GT$17h930e269860bae1f4E.exit76", label %252 + +252: ; preds = %"_ZN4core3ptr161drop_in_place$LT$triomphe..arc..Arc$LT$moka..common..concurrent..ValueEntry$LT$$LP$usize$C$usize$RP$$C$alloc..sync..Arc$LT$mini_lsm..block..Block$GT$$GT$$GT$$GT$17hd77347798349483dE.exit82" + %253 = cmpxchg ptr %storemerge, i8 1, i8 0 release monotonic, align 1 + %254 = extractvalue { i8, i1 } %253, 1 + br i1 %254, label %"_ZN4core3ptr127drop_in_place$LT$core..option..Option$LT$lock_api..mutex..MutexGuard$LT$parking_lot..raw_mutex..RawMutex$C$$LP$$RP$$GT$$GT$$GT$17h930e269860bae1f4E.exit76", label %255 + +255: ; preds = %252 invoke void @_ZN11parking_lot9raw_mutex8RawMutex11unlock_slow17h4f1db2d09399a6dbE(ptr noundef nonnull align 1 %storemerge, i1 noundef zeroext false) - to label %"_ZN4core3ptr127drop_in_place$LT$core..option..Option$LT$lock_api..mutex..MutexGuard$LT$parking_lot..raw_mutex..RawMutex$C$$LP$$RP$$GT$$GT$$GT$17h930e269860bae1f4E.exit76" unwind label %301 + to label %"_ZN4core3ptr127drop_in_place$LT$core..option..Option$LT$lock_api..mutex..MutexGuard$LT$parking_lot..raw_mutex..RawMutex$C$$LP$$RP$$GT$$GT$$GT$17h930e269860bae1f4E.exit76" unwind label %302 -255: ; preds = %292, %383, %237 - %.3 = phi i8 [ %.11152, %383 ], [ 1, %237 ], [ %.6, %292 ] - %256 = landingpad { ptr, i32 } +256: ; preds = %293, %387, %237 + %.3 = phi i8 [ %.11152, %387 ], [ 1, %237 ], [ %.6, %293 ] + %257 = landingpad { ptr, i32 } cleanup br label %"_ZN4core3ptr161drop_in_place$LT$triomphe..arc..Arc$LT$moka..common..concurrent..ValueEntry$LT$$LP$usize$C$usize$RP$$C$alloc..sync..Arc$LT$mini_lsm..block..Block$GT$$GT$$GT$$GT$17hd77347798349483dE.exit82" -257: ; preds = %237 +258: ; preds = %237 unreachable -258: ; preds = %272, %259 - %.4 = phi i8 [ %.5, %259 ], [ %.6, %272 ] - %.pn33 = phi { ptr, i32 } [ %260, %259 ], [ %273, %272 ] +259: ; preds = %273, %260 + %.4 = phi i8 [ %.5, %260 ], [ %.6, %273 ] + %.pn33 = phi { ptr, i32 } [ %261, %260 ], [ %274, %273 ] invoke void @"_ZN4core3ptr132drop_in_place$LT$moka..common..concurrent..WriteOp$LT$$LP$usize$C$usize$RP$$C$alloc..sync..Arc$LT$mini_lsm..block..Block$GT$$GT$$GT$17h3f275f13536957ffE.llvm.18092150996463083177"(ptr noalias noundef nonnull align 8 dereferenceable(32) %21) #27 - to label %303 unwind label %301 - -259: ; preds = %286, %249, %"_ZN78_$LT$parking_lot..raw_mutex..RawMutex$u20$as$u20$lock_api..mutex..RawMutex$GT$4lock17hc8ec2492ec8cdf56E.llvm.5937325364934216154.exit.i", %243, %238, %266, %269 - %.5 = phi i8 [ %.6, %269 ], [ 0, %266 ], [ 1, %238 ], [ 1, %243 ], [ 1, %"_ZN78_$LT$parking_lot..raw_mutex..RawMutex$u20$as$u20$lock_api..mutex..RawMutex$GT$4lock17hc8ec2492ec8cdf56E.llvm.5937325364934216154.exit.i" ], [ 1, %249 ], [ %.6, %286 ] - %260 = landingpad { ptr, i32 } - cleanup - br label %258 - -"_ZN4moka6common10concurrent23ValueEntry$LT$K$C$V$GT$13unset_q_nodes17ha8f9de5a8bb90dc5E.exit": ; preds = %.noexc73, %249 - %261 = load ptr, ptr %34, align 8, !nonnull !14, !align !483, !noundef !14 - %262 = getelementptr inbounds i8, ptr %261, i64 32 - %263 = load ptr, ptr %262, align 8, !nonnull !14, !noundef !14 - %264 = getelementptr inbounds i8, ptr %263, i64 32 - %265 = load i64, ptr %264, align 8, !range !738, !noundef !14 - %.not32 = icmp eq i64 %265, 4 - br i1 %.not32, label %269, label %266 - -266: ; preds = %"_ZN4moka6common10concurrent23ValueEntry$LT$K$C$V$GT$13unset_q_nodes17ha8f9de5a8bb90dc5E.exit" - %267 = getelementptr inbounds i8, ptr %263, i64 16 - %268 = load ptr, ptr %33, align 8, !nonnull !14, !noundef !14 + to label %304 unwind label %302 + +260: ; preds = %287, %250, %"_ZN78_$LT$parking_lot..raw_mutex..RawMutex$u20$as$u20$lock_api..mutex..RawMutex$GT$4lock17hc8ec2492ec8cdf56E.llvm.5937325364934216154.exit.i", %244, %238, %267, %270 + %.5 = phi i8 [ %.6, %270 ], [ 0, %267 ], [ 1, %238 ], [ 1, %244 ], [ 1, %"_ZN78_$LT$parking_lot..raw_mutex..RawMutex$u20$as$u20$lock_api..mutex..RawMutex$GT$4lock17hc8ec2492ec8cdf56E.llvm.5937325364934216154.exit.i" ], [ 1, %250 ], [ %.6, %287 ] + %261 = landingpad { ptr, i32 } + cleanup + br label %259 + +"_ZN4moka6common10concurrent23ValueEntry$LT$K$C$V$GT$13unset_q_nodes17ha8f9de5a8bb90dc5E.exit": ; preds = %.noexc73, %250 + %262 = load ptr, ptr %34, align 8, !nonnull !14, !align !483, !noundef !14 + %263 = getelementptr inbounds i8, ptr %262, i64 32 + %264 = load ptr, ptr %263, align 8, !nonnull !14, !noundef !14 + %265 = getelementptr inbounds i8, ptr %264, i64 32 + %266 = load i64, ptr %265, align 8, !range !738, !noundef !14 + %.not32 = icmp eq i64 %266, 4 + br i1 %.not32, label %270, label %267 + +267: ; preds = %"_ZN4moka6common10concurrent23ValueEntry$LT$K$C$V$GT$13unset_q_nodes17ha8f9de5a8bb90dc5E.exit" + %268 = getelementptr inbounds i8, ptr %264, i64 16 + %269 = load ptr, ptr %33, align 8, !nonnull !14, !noundef !14 %.val55 = load ptr, ptr %22, align 8 - invoke fastcc void @"_ZN4moka9sync_base10base_cache22Inner$LT$K$C$V$C$S$GT$13notify_upsert17hb1f2bf633ca52f78E"(ptr noundef nonnull align 8 %267, ptr noundef nonnull %268, ptr %.val55, i64 noundef %.sroa.04.0.copyload, i64 %.sroa.5.0.copyload, i64 noundef %.sroa.7.0.copyload, i64 %.sroa.9.0.copyload) - to label %269 unwind label %259 + invoke fastcc void @"_ZN4moka9sync_base10base_cache22Inner$LT$K$C$V$C$S$GT$13notify_upsert17hb1f2bf633ca52f78E"(ptr noundef nonnull align 8 %268, ptr noundef nonnull %269, ptr %.val55, i64 noundef %.sroa.04.0.copyload, i64 %.sroa.5.0.copyload, i64 noundef %.sroa.7.0.copyload, i64 %.sroa.9.0.copyload) + to label %270 unwind label %260 -269: ; preds = %266, %"_ZN4moka6common10concurrent23ValueEntry$LT$K$C$V$GT$13unset_q_nodes17ha8f9de5a8bb90dc5E.exit" - %.6 = phi i8 [ 0, %266 ], [ 1, %"_ZN4moka6common10concurrent23ValueEntry$LT$K$C$V$GT$13unset_q_nodes17ha8f9de5a8bb90dc5E.exit" ] +270: ; preds = %267, %"_ZN4moka6common10concurrent23ValueEntry$LT$K$C$V$GT$13unset_q_nodes17ha8f9de5a8bb90dc5E.exit" + %.6 = phi i8 [ 0, %267 ], [ 1, %"_ZN4moka6common10concurrent23ValueEntry$LT$K$C$V$GT$13unset_q_nodes17ha8f9de5a8bb90dc5E.exit" ] call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %20) - %270 = invoke fastcc noundef ptr @_ZN15crossbeam_epoch7default11with_handle17h64dc6e421ebdf81fE() - to label %271 unwind label %259 + %271 = invoke fastcc noundef ptr @_ZN15crossbeam_epoch7default11with_handle17h64dc6e421ebdf81fE() + to label %272 unwind label %260 -271: ; preds = %269 - store ptr %270, ptr %20, align 8 +272: ; preds = %270 + store ptr %271, ptr %20, align 8 invoke void @_ZN15crossbeam_epoch5guard5Guard5flush17h8b21485a8dd296e6E(ptr noalias noundef nonnull readonly align 8 dereferenceable(8) %20) - to label %274 unwind label %272 + to label %275 unwind label %273 -272: ; preds = %271 - %273 = landingpad { ptr, i32 } +273: ; preds = %272 + %274 = landingpad { ptr, i32 } cleanup %.val49 = load ptr, ptr %20, align 8, !noundef !14 invoke fastcc void @"_ZN4core3ptr50drop_in_place$LT$crossbeam_epoch..guard..Guard$GT$17h2f2bac46a9e7a13bE"(ptr %.val49) #27 - to label %258 unwind label %301 + to label %259 unwind label %302 -274: ; preds = %271 +275: ; preds = %272 %.val48 = load ptr, ptr %20, align 8, !noundef !14 - %275 = icmp eq ptr %.val48, null - br i1 %275, label %"_ZN4core3ptr50drop_in_place$LT$crossbeam_epoch..guard..Guard$GT$17h2f2bac46a9e7a13bE.exit", label %276 - -276: ; preds = %274 - %277 = getelementptr inbounds i8, ptr %.val48, i64 2080 - %278 = load i64, ptr %277, align 8, !noundef !14 - %279 = add i64 %278, -1 - store i64 %279, ptr %277, align 8 - %280 = icmp eq i64 %278, 1 - br i1 %280, label %281, label %"_ZN4core3ptr50drop_in_place$LT$crossbeam_epoch..guard..Guard$GT$17h2f2bac46a9e7a13bE.exit" - -281: ; preds = %276 - %282 = getelementptr inbounds i8, ptr %.val48, i64 8 - store atomic i64 0, ptr %282 release, align 8 - %283 = getelementptr inbounds i8, ptr %.val48, i64 2088 - %284 = load i64, ptr %283, align 8, !noundef !14 - %285 = icmp eq i64 %284, 0 - br i1 %285, label %286, label %"_ZN4core3ptr50drop_in_place$LT$crossbeam_epoch..guard..Guard$GT$17h2f2bac46a9e7a13bE.exit" - -286: ; preds = %281 + %276 = icmp eq ptr %.val48, null + br i1 %276, label %"_ZN4core3ptr50drop_in_place$LT$crossbeam_epoch..guard..Guard$GT$17h2f2bac46a9e7a13bE.exit", label %277 + +277: ; preds = %275 + %278 = getelementptr inbounds i8, ptr %.val48, i64 2080 + %279 = load i64, ptr %278, align 8, !noundef !14 + %280 = add i64 %279, -1 + store i64 %280, ptr %278, align 8 + %281 = icmp eq i64 %279, 1 + br i1 %281, label %282, label %"_ZN4core3ptr50drop_in_place$LT$crossbeam_epoch..guard..Guard$GT$17h2f2bac46a9e7a13bE.exit" + +282: ; preds = %277 + %283 = getelementptr inbounds i8, ptr %.val48, i64 8 + store atomic i64 0, ptr %283 release, align 8 + %284 = getelementptr inbounds i8, ptr %.val48, i64 2088 + %285 = load i64, ptr %284, align 8, !noundef !14 + %286 = icmp eq i64 %285, 0 + br i1 %286, label %287, label %"_ZN4core3ptr50drop_in_place$LT$crossbeam_epoch..guard..Guard$GT$17h2f2bac46a9e7a13bE.exit" + +287: ; preds = %282 invoke void @_ZN15crossbeam_epoch8internal5Local8finalize17hd225ab3da20dad9cE(ptr noundef nonnull align 8 %.val48) - to label %"_ZN4core3ptr50drop_in_place$LT$crossbeam_epoch..guard..Guard$GT$17h2f2bac46a9e7a13bE.exit" unwind label %259 + to label %"_ZN4core3ptr50drop_in_place$LT$crossbeam_epoch..guard..Guard$GT$17h2f2bac46a9e7a13bE.exit" unwind label %260 -"_ZN4core3ptr50drop_in_place$LT$crossbeam_epoch..guard..Guard$GT$17h2f2bac46a9e7a13bE.exit": ; preds = %281, %276, %274, %286 +"_ZN4core3ptr50drop_in_place$LT$crossbeam_epoch..guard..Guard$GT$17h2f2bac46a9e7a13bE.exit": ; preds = %282, %277, %275, %287 call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %20) - %287 = load i64, ptr %30, align 8, !noundef !14 + %288 = load i64, ptr %30, align 8, !noundef !14 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %0, ptr noundef nonnull align 8 dereferenceable(32) %21, i64 32, i1 false) - %288 = getelementptr inbounds i8, ptr %0, i64 32 - store i64 %287, ptr %288, align 8 + %289 = getelementptr inbounds i8, ptr %0, i64 32 + store i64 %288, ptr %289, align 8 call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %21) call void @llvm.experimental.noalias.scope.decl(metadata !1153) call void @llvm.experimental.noalias.scope.decl(metadata !1156) - %289 = load ptr, ptr %22, align 8, !alias.scope !1159, !nonnull !14, !noundef !14 - %290 = atomicrmw sub ptr %289, i64 1 release, align 8, !noalias !1159 - %291 = icmp eq i64 %290, 1 - br i1 %291, label %292, label %"_ZN4core3ptr161drop_in_place$LT$triomphe..arc..Arc$LT$moka..common..concurrent..ValueEntry$LT$$LP$usize$C$usize$RP$$C$alloc..sync..Arc$LT$mini_lsm..block..Block$GT$$GT$$GT$$GT$17hd77347798349483dE.exit" - -292: ; preds = %"_ZN4core3ptr50drop_in_place$LT$crossbeam_epoch..guard..Guard$GT$17h2f2bac46a9e7a13bE.exit" - %293 = load ptr, ptr %22, align 8, !alias.scope !1159, !nonnull !14, !noundef !14 - %294 = load atomic i64, ptr %293 acquire, align 8, !noalias !1159 + %290 = load ptr, ptr %22, align 8, !alias.scope !1159, !nonnull !14, !noundef !14 + %291 = atomicrmw sub ptr %290, i64 1 release, align 8, !noalias !1159 + %292 = icmp eq i64 %291, 1 + br i1 %292, label %293, label %"_ZN4core3ptr161drop_in_place$LT$triomphe..arc..Arc$LT$moka..common..concurrent..ValueEntry$LT$$LP$usize$C$usize$RP$$C$alloc..sync..Arc$LT$mini_lsm..block..Block$GT$$GT$$GT$$GT$17hd77347798349483dE.exit" + +293: ; preds = %"_ZN4core3ptr50drop_in_place$LT$crossbeam_epoch..guard..Guard$GT$17h2f2bac46a9e7a13bE.exit" + %294 = load ptr, ptr %22, align 8, !alias.scope !1159, !nonnull !14, !noundef !14 + %295 = load atomic i64, ptr %294 acquire, align 8, !noalias !1159 invoke void @"_ZN8triomphe3arc12Arc$LT$T$GT$9drop_slow17hddb950335773e2d3E"(ptr noalias noundef nonnull align 8 dereferenceable(8) %22) - to label %"_ZN4core3ptr161drop_in_place$LT$triomphe..arc..Arc$LT$moka..common..concurrent..ValueEntry$LT$$LP$usize$C$usize$RP$$C$alloc..sync..Arc$LT$mini_lsm..block..Block$GT$$GT$$GT$$GT$17hd77347798349483dE.exit" unwind label %255 + to label %"_ZN4core3ptr161drop_in_place$LT$triomphe..arc..Arc$LT$moka..common..concurrent..ValueEntry$LT$$LP$usize$C$usize$RP$$C$alloc..sync..Arc$LT$mini_lsm..block..Block$GT$$GT$$GT$$GT$17hd77347798349483dE.exit" unwind label %256 -"_ZN4core3ptr161drop_in_place$LT$triomphe..arc..Arc$LT$moka..common..concurrent..ValueEntry$LT$$LP$usize$C$usize$RP$$C$alloc..sync..Arc$LT$mini_lsm..block..Block$GT$$GT$$GT$$GT$17hd77347798349483dE.exit": ; preds = %"_ZN4core3ptr50drop_in_place$LT$crossbeam_epoch..guard..Guard$GT$17h2f2bac46a9e7a13bE.exit", %292 +"_ZN4core3ptr161drop_in_place$LT$triomphe..arc..Arc$LT$moka..common..concurrent..ValueEntry$LT$$LP$usize$C$usize$RP$$C$alloc..sync..Arc$LT$mini_lsm..block..Block$GT$$GT$$GT$$GT$17hd77347798349483dE.exit": ; preds = %"_ZN4core3ptr50drop_in_place$LT$crossbeam_epoch..guard..Guard$GT$17h2f2bac46a9e7a13bE.exit", %293 call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %22) - br label %295 + br label %296 -295: ; preds = %382, %310, %"_ZN4core3ptr161drop_in_place$LT$triomphe..arc..Arc$LT$moka..common..concurrent..ValueEntry$LT$$LP$usize$C$usize$RP$$C$alloc..sync..Arc$LT$mini_lsm..block..Block$GT$$GT$$GT$$GT$17hd77347798349483dE.exit" - %.7 = phi i8 [ 1, %310 ], [ %.11152, %382 ], [ %.6, %"_ZN4core3ptr161drop_in_place$LT$triomphe..arc..Arc$LT$moka..common..concurrent..ValueEntry$LT$$LP$usize$C$usize$RP$$C$alloc..sync..Arc$LT$mini_lsm..block..Block$GT$$GT$$GT$$GT$17hd77347798349483dE.exit" ] - %296 = icmp eq ptr %storemerge, null - br i1 %296, label %"_ZN4core3ptr127drop_in_place$LT$core..option..Option$LT$lock_api..mutex..MutexGuard$LT$parking_lot..raw_mutex..RawMutex$C$$LP$$RP$$GT$$GT$$GT$17h930e269860bae1f4E.exit80", label %297 +296: ; preds = %386, %311, %"_ZN4core3ptr161drop_in_place$LT$triomphe..arc..Arc$LT$moka..common..concurrent..ValueEntry$LT$$LP$usize$C$usize$RP$$C$alloc..sync..Arc$LT$mini_lsm..block..Block$GT$$GT$$GT$$GT$17hd77347798349483dE.exit" + %.7 = phi i8 [ 1, %311 ], [ %.11152, %386 ], [ %.6, %"_ZN4core3ptr161drop_in_place$LT$triomphe..arc..Arc$LT$moka..common..concurrent..ValueEntry$LT$$LP$usize$C$usize$RP$$C$alloc..sync..Arc$LT$mini_lsm..block..Block$GT$$GT$$GT$$GT$17hd77347798349483dE.exit" ] + %297 = icmp eq ptr %storemerge, null + br i1 %297, label %"_ZN4core3ptr127drop_in_place$LT$core..option..Option$LT$lock_api..mutex..MutexGuard$LT$parking_lot..raw_mutex..RawMutex$C$$LP$$RP$$GT$$GT$$GT$17h930e269860bae1f4E.exit80", label %298 -297: ; preds = %295 - %298 = cmpxchg ptr %storemerge, i8 1, i8 0 release monotonic, align 1 - %299 = extractvalue { i8, i1 } %298, 1 - br i1 %299, label %"_ZN4core3ptr127drop_in_place$LT$core..option..Option$LT$lock_api..mutex..MutexGuard$LT$parking_lot..raw_mutex..RawMutex$C$$LP$$RP$$GT$$GT$$GT$17h930e269860bae1f4E.exit80", label %300 +298: ; preds = %296 + %299 = cmpxchg ptr %storemerge, i8 1, i8 0 release monotonic, align 1 + %300 = extractvalue { i8, i1 } %299, 1 + br i1 %300, label %"_ZN4core3ptr127drop_in_place$LT$core..option..Option$LT$lock_api..mutex..MutexGuard$LT$parking_lot..raw_mutex..RawMutex$C$$LP$$RP$$GT$$GT$$GT$17h930e269860bae1f4E.exit80", label %301 -300: ; preds = %297 +301: ; preds = %298 invoke void @_ZN11parking_lot9raw_mutex8RawMutex11unlock_slow17h4f1db2d09399a6dbE(ptr noundef nonnull align 1 %storemerge, i1 noundef zeroext false) - to label %"_ZN4core3ptr127drop_in_place$LT$core..option..Option$LT$lock_api..mutex..MutexGuard$LT$parking_lot..raw_mutex..RawMutex$C$$LP$$RP$$GT$$GT$$GT$17h930e269860bae1f4E.exit80" unwind label %387 + to label %"_ZN4core3ptr127drop_in_place$LT$core..option..Option$LT$lock_api..mutex..MutexGuard$LT$parking_lot..raw_mutex..RawMutex$C$$LP$$RP$$GT$$GT$$GT$17h930e269860bae1f4E.exit80" unwind label %391 -301: ; preds = %438, %432, %386, %363, %307, %254, %107, %98, %43, %272, %341, %"_ZN4core3ptr173drop_in_place$LT$core..option..Option$LT$$LP$u8$C$moka..common..concurrent..WriteOp$LT$$LP$usize$C$usize$RP$$C$alloc..sync..Arc$LT$mini_lsm..block..Block$GT$$GT$$RP$$GT$$GT$17hc6aa742cea6f42caE.exit", %428, %404, %"_ZN4core3ptr145drop_in_place$LT$core..option..Option$LT$moka..sync_base..key_lock..KeyLock$LT$$LP$usize$C$usize$RP$$C$std..hash..random..RandomState$GT$$GT$$GT$17hbb98a74961ea7f40E.exit99", %327, %258, %"_ZN4core3ptr145drop_in_place$LT$core..option..Option$LT$moka..sync_base..key_lock..KeyLock$LT$$LP$usize$C$usize$RP$$C$std..hash..random..RandomState$GT$$GT$$GT$17hbb98a74961ea7f40E.exit", %71 - %302 = landingpad { ptr, i32 } +302: ; preds = %442, %436, %390, %367, %308, %255, %107, %98, %43, %273, %345, %"_ZN4core3ptr173drop_in_place$LT$core..option..Option$LT$$LP$u8$C$moka..common..concurrent..WriteOp$LT$$LP$usize$C$usize$RP$$C$alloc..sync..Arc$LT$mini_lsm..block..Block$GT$$GT$$RP$$GT$$GT$17hc6aa742cea6f42caE.exit", %432, %408, %"_ZN4core3ptr145drop_in_place$LT$core..option..Option$LT$moka..sync_base..key_lock..KeyLock$LT$$LP$usize$C$usize$RP$$C$std..hash..random..RandomState$GT$$GT$$GT$17hbb98a74961ea7f40E.exit99", %331, %259, %"_ZN4core3ptr145drop_in_place$LT$core..option..Option$LT$moka..sync_base..key_lock..KeyLock$LT$$LP$usize$C$usize$RP$$C$std..hash..random..RandomState$GT$$GT$$GT$17hbb98a74961ea7f40E.exit", %71 + %303 = landingpad { ptr, i32 } filter [0 x ptr] zeroinitializer call void @_ZN4core9panicking16panic_in_cleanup17h55eb1d85cadde1a1E() #28 unreachable -303: ; preds = %258 +304: ; preds = %259 call void @llvm.experimental.noalias.scope.decl(metadata !1160) call void @llvm.experimental.noalias.scope.decl(metadata !1163) - %304 = load ptr, ptr %22, align 8, !alias.scope !1166, !nonnull !14, !noundef !14 - %305 = atomicrmw sub ptr %304, i64 1 release, align 8, !noalias !1166 - %306 = icmp eq i64 %305, 1 - br i1 %306, label %307, label %"_ZN4core3ptr161drop_in_place$LT$triomphe..arc..Arc$LT$moka..common..concurrent..ValueEntry$LT$$LP$usize$C$usize$RP$$C$alloc..sync..Arc$LT$mini_lsm..block..Block$GT$$GT$$GT$$GT$17hd77347798349483dE.exit82" - -307: ; preds = %303 - %308 = load ptr, ptr %22, align 8, !alias.scope !1166, !nonnull !14, !noundef !14 - %309 = load atomic i64, ptr %308 acquire, align 8, !noalias !1166 + %305 = load ptr, ptr %22, align 8, !alias.scope !1166, !nonnull !14, !noundef !14 + %306 = atomicrmw sub ptr %305, i64 1 release, align 8, !noalias !1166 + %307 = icmp eq i64 %306, 1 + br i1 %307, label %308, label %"_ZN4core3ptr161drop_in_place$LT$triomphe..arc..Arc$LT$moka..common..concurrent..ValueEntry$LT$$LP$usize$C$usize$RP$$C$alloc..sync..Arc$LT$mini_lsm..block..Block$GT$$GT$$GT$$GT$17hd77347798349483dE.exit82" + +308: ; preds = %304 + %309 = load ptr, ptr %22, align 8, !alias.scope !1166, !nonnull !14, !noundef !14 + %310 = load atomic i64, ptr %309 acquire, align 8, !noalias !1166 invoke void @"_ZN8triomphe3arc12Arc$LT$T$GT$9drop_slow17hddb950335773e2d3E"(ptr noalias noundef nonnull align 8 dereferenceable(8) %22) - to label %"_ZN4core3ptr161drop_in_place$LT$triomphe..arc..Arc$LT$moka..common..concurrent..ValueEntry$LT$$LP$usize$C$usize$RP$$C$alloc..sync..Arc$LT$mini_lsm..block..Block$GT$$GT$$GT$$GT$17hd77347798349483dE.exit82" unwind label %301 + to label %"_ZN4core3ptr161drop_in_place$LT$triomphe..arc..Arc$LT$moka..common..concurrent..ValueEntry$LT$$LP$usize$C$usize$RP$$C$alloc..sync..Arc$LT$mini_lsm..block..Block$GT$$GT$$GT$$GT$17hd77347798349483dE.exit82" unwind label %302 -310: ; preds = %236 - %.sroa.3.16..sroa_idx = getelementptr inbounds i8, ptr %.sroa.3, i64 7 - %311 = load i64, ptr %30, align 8, !noundef !14 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %0, ptr noundef nonnull align 1 dereferenceable(32) %.sroa.3.16..sroa_idx, i64 32, i1 false) - %312 = getelementptr inbounds i8, ptr %0, i64 32 - store i64 %311, ptr %312, align 8 - br label %295 +311: ; preds = %236 + %312 = getelementptr inbounds i8, ptr %26, i64 16 + %313 = load i64, ptr %30, align 8, !noundef !14 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %0, ptr noundef nonnull align 8 dereferenceable(32) %312, i64 32, i1 false) + %314 = getelementptr inbounds i8, ptr %0, i64 32 + store i64 %313, ptr %314, align 8 + br label %296 -313: ; preds = %236 +315: ; preds = %236 call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %19) - %.sroa.3.16..sroa_idx3 = getelementptr inbounds i8, ptr %.sroa.3, i64 7 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %19, ptr noundef nonnull align 1 dereferenceable(32) %.sroa.3.16..sroa_idx3, i64 32, i1 false) + %316 = getelementptr inbounds i8, ptr %26, i64 16 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %19, ptr noundef nonnull align 8 dereferenceable(32) %316, i64 32, i1 false) call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %18) - %314 = icmp ne ptr %.sroa.11.0.copyload, null - call void @llvm.assume(i1 %314) + %317 = icmp ne ptr %.sroa.11.0.copyload, null + call void @llvm.assume(i1 %317) store ptr %.sroa.11.0.copyload, ptr %18, align 8 call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %17) - %.sroa.14.48..sroa_idx12 = getelementptr inbounds i8, ptr %.sroa.14, i64 7 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %17, ptr noundef nonnull align 1 dereferenceable(32) %.sroa.14.48..sroa_idx12, i64 32, i1 false) - %315 = icmp ugt i8 %.sroa.2.0.copyload, %.sroa.13.0.copyload - br i1 %315, label %373, label %316 - -316: ; preds = %313 - %317 = getelementptr inbounds i8, ptr %.sroa.11.0.copyload, i64 24 - %318 = invoke { i8, i8 } @_ZN4core4sync6atomic28atomic_compare_exchange_weak17h55c3f601f61f8980E.llvm.5937325364934216154(ptr noundef nonnull %317, i8 noundef 0, i8 noundef 1, i8 noundef 2, i8 noundef 0) - to label %.noexc87 unwind label %328 - -.noexc87: ; preds = %316 - %.fca.0.extract.i.i83 = extractvalue { i8, i8 } %318, 0 - %319 = and i8 %.fca.0.extract.i.i83, 1 - %.not.i.i84 = icmp eq i8 %319, 0 - br i1 %.not.i.i84, label %"_ZN78_$LT$parking_lot..raw_mutex..RawMutex$u20$as$u20$lock_api..mutex..RawMutex$GT$4lock17hc8ec2492ec8cdf56E.llvm.5937325364934216154.exit.i85", label %320 - -320: ; preds = %.noexc87 - %321 = invoke noundef zeroext i1 @_ZN11parking_lot9raw_mutex8RawMutex9lock_slow17h098a5694329095cfE(ptr noundef nonnull align 1 %317, i64 undef, i32 noundef 1000000000) - to label %"_ZN78_$LT$parking_lot..raw_mutex..RawMutex$u20$as$u20$lock_api..mutex..RawMutex$GT$4lock17hc8ec2492ec8cdf56E.llvm.5937325364934216154.exit.i85" unwind label %328 - -"_ZN78_$LT$parking_lot..raw_mutex..RawMutex$u20$as$u20$lock_api..mutex..RawMutex$GT$4lock17hc8ec2492ec8cdf56E.llvm.5937325364934216154.exit.i85": ; preds = %320, %.noexc87 - %322 = getelementptr inbounds i8, ptr %.sroa.11.0.copyload, i64 32 - call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %322, i8 0, i64 16, i1 false) - %323 = invoke { i8, i8 } @_ZN4core4sync6atomic23atomic_compare_exchange17h4108cb4686f8015dE.llvm.5937325364934216154(ptr noundef nonnull %317, i8 noundef 1, i8 noundef 0, i8 noundef 1, i8 noundef 0) - to label %.noexc89 unwind label %328 + %318 = getelementptr inbounds i8, ptr %25, i64 48 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %17, ptr noundef nonnull align 8 dereferenceable(32) %318, i64 32, i1 false) + %319 = icmp ugt i8 %.sroa.2.0.copyload, %.sroa.13.0.copyload + br i1 %319, label %377, label %320 + +320: ; preds = %315 + %321 = getelementptr inbounds i8, ptr %.sroa.11.0.copyload, i64 24 + %322 = invoke { i8, i8 } @_ZN4core4sync6atomic28atomic_compare_exchange_weak17h55c3f601f61f8980E.llvm.5937325364934216154(ptr noundef nonnull %321, i8 noundef 0, i8 noundef 1, i8 noundef 2, i8 noundef 0) + to label %.noexc87 unwind label %332 + +.noexc87: ; preds = %320 + %.fca.0.extract.i.i83 = extractvalue { i8, i8 } %322, 0 + %323 = and i8 %.fca.0.extract.i.i83, 1 + %.not.i.i84 = icmp eq i8 %323, 0 + br i1 %.not.i.i84, label %"_ZN78_$LT$parking_lot..raw_mutex..RawMutex$u20$as$u20$lock_api..mutex..RawMutex$GT$4lock17hc8ec2492ec8cdf56E.llvm.5937325364934216154.exit.i85", label %324 + +324: ; preds = %.noexc87 + %325 = invoke noundef zeroext i1 @_ZN11parking_lot9raw_mutex8RawMutex9lock_slow17h098a5694329095cfE(ptr noundef nonnull align 1 %321, i64 undef, i32 noundef 1000000000) + to label %"_ZN78_$LT$parking_lot..raw_mutex..RawMutex$u20$as$u20$lock_api..mutex..RawMutex$GT$4lock17hc8ec2492ec8cdf56E.llvm.5937325364934216154.exit.i85" unwind label %332 + +"_ZN78_$LT$parking_lot..raw_mutex..RawMutex$u20$as$u20$lock_api..mutex..RawMutex$GT$4lock17hc8ec2492ec8cdf56E.llvm.5937325364934216154.exit.i85": ; preds = %324, %.noexc87 + %326 = getelementptr inbounds i8, ptr %.sroa.11.0.copyload, i64 32 + call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %326, i8 0, i64 16, i1 false) + %327 = invoke { i8, i8 } @_ZN4core4sync6atomic23atomic_compare_exchange17h4108cb4686f8015dE.llvm.5937325364934216154(ptr noundef nonnull %321, i8 noundef 1, i8 noundef 0, i8 noundef 1, i8 noundef 0) + to label %.noexc89 unwind label %332 .noexc89: ; preds = %"_ZN78_$LT$parking_lot..raw_mutex..RawMutex$u20$as$u20$lock_api..mutex..RawMutex$GT$4lock17hc8ec2492ec8cdf56E.llvm.5937325364934216154.exit.i85" - %.fca.0.extract.i.i.i.i86 = extractvalue { i8, i8 } %323, 0 - %324 = and i8 %.fca.0.extract.i.i.i.i86, 1 - %325 = icmp eq i8 %324, 0 - br i1 %325, label %"_ZN4moka6common10concurrent23ValueEntry$LT$K$C$V$GT$13unset_q_nodes17ha8f9de5a8bb90dc5E.exit91", label %326 - -326: ; preds = %.noexc89 - invoke void @_ZN11parking_lot9raw_mutex8RawMutex11unlock_slow17h4f1db2d09399a6dbE(ptr noundef nonnull align 1 %317, i1 noundef zeroext false) - to label %"_ZN4moka6common10concurrent23ValueEntry$LT$K$C$V$GT$13unset_q_nodes17ha8f9de5a8bb90dc5E.exit91" unwind label %328 - -327: ; preds = %341, %328 - %.8 = phi i8 [ %.9, %328 ], [ %.10, %341 ] - %.pn26 = phi { ptr, i32 } [ %329, %328 ], [ %342, %341 ] + %.fca.0.extract.i.i.i.i86 = extractvalue { i8, i8 } %327, 0 + %328 = and i8 %.fca.0.extract.i.i.i.i86, 1 + %329 = icmp eq i8 %328, 0 + br i1 %329, label %"_ZN4moka6common10concurrent23ValueEntry$LT$K$C$V$GT$13unset_q_nodes17ha8f9de5a8bb90dc5E.exit91", label %330 + +330: ; preds = %.noexc89 + invoke void @_ZN11parking_lot9raw_mutex8RawMutex11unlock_slow17h4f1db2d09399a6dbE(ptr noundef nonnull align 1 %321, i1 noundef zeroext false) + to label %"_ZN4moka6common10concurrent23ValueEntry$LT$K$C$V$GT$13unset_q_nodes17ha8f9de5a8bb90dc5E.exit91" unwind label %332 + +331: ; preds = %345, %332 + %.8 = phi i8 [ %.9, %332 ], [ %.10, %345 ] + %.pn26 = phi { ptr, i32 } [ %333, %332 ], [ %346, %345 ] invoke void @"_ZN4core3ptr132drop_in_place$LT$moka..common..concurrent..WriteOp$LT$$LP$usize$C$usize$RP$$C$alloc..sync..Arc$LT$mini_lsm..block..Block$GT$$GT$$GT$17h3f275f13536957ffE.llvm.18092150996463083177"(ptr noalias noundef nonnull align 8 dereferenceable(32) %17) #27 - to label %359 unwind label %301 - -328: ; preds = %355, %326, %"_ZN78_$LT$parking_lot..raw_mutex..RawMutex$u20$as$u20$lock_api..mutex..RawMutex$GT$4lock17hc8ec2492ec8cdf56E.llvm.5937325364934216154.exit.i85", %320, %316, %335, %338 - %.9 = phi i8 [ %.10, %338 ], [ 0, %335 ], [ 1, %316 ], [ 1, %320 ], [ 1, %"_ZN78_$LT$parking_lot..raw_mutex..RawMutex$u20$as$u20$lock_api..mutex..RawMutex$GT$4lock17hc8ec2492ec8cdf56E.llvm.5937325364934216154.exit.i85" ], [ 1, %326 ], [ %.10, %355 ] - %329 = landingpad { ptr, i32 } - cleanup - br label %327 - -"_ZN4moka6common10concurrent23ValueEntry$LT$K$C$V$GT$13unset_q_nodes17ha8f9de5a8bb90dc5E.exit91": ; preds = %.noexc89, %326 - %330 = load ptr, ptr %34, align 8, !nonnull !14, !align !483, !noundef !14 - %331 = getelementptr inbounds i8, ptr %330, i64 32 - %332 = load ptr, ptr %331, align 8, !nonnull !14, !noundef !14 - %333 = getelementptr inbounds i8, ptr %332, i64 32 - %334 = load i64, ptr %333, align 8, !range !738, !noundef !14 - %.not = icmp eq i64 %334, 4 - br i1 %.not, label %338, label %335 - -335: ; preds = %"_ZN4moka6common10concurrent23ValueEntry$LT$K$C$V$GT$13unset_q_nodes17ha8f9de5a8bb90dc5E.exit91" - %336 = getelementptr inbounds i8, ptr %332, i64 16 - %337 = load ptr, ptr %33, align 8, !nonnull !14, !noundef !14 + to label %363 unwind label %302 + +332: ; preds = %359, %330, %"_ZN78_$LT$parking_lot..raw_mutex..RawMutex$u20$as$u20$lock_api..mutex..RawMutex$GT$4lock17hc8ec2492ec8cdf56E.llvm.5937325364934216154.exit.i85", %324, %320, %339, %342 + %.9 = phi i8 [ %.10, %342 ], [ 0, %339 ], [ 1, %320 ], [ 1, %324 ], [ 1, %"_ZN78_$LT$parking_lot..raw_mutex..RawMutex$u20$as$u20$lock_api..mutex..RawMutex$GT$4lock17hc8ec2492ec8cdf56E.llvm.5937325364934216154.exit.i85" ], [ 1, %330 ], [ %.10, %359 ] + %333 = landingpad { ptr, i32 } + cleanup + br label %331 + +"_ZN4moka6common10concurrent23ValueEntry$LT$K$C$V$GT$13unset_q_nodes17ha8f9de5a8bb90dc5E.exit91": ; preds = %.noexc89, %330 + %334 = load ptr, ptr %34, align 8, !nonnull !14, !align !483, !noundef !14 + %335 = getelementptr inbounds i8, ptr %334, i64 32 + %336 = load ptr, ptr %335, align 8, !nonnull !14, !noundef !14 + %337 = getelementptr inbounds i8, ptr %336, i64 32 + %338 = load i64, ptr %337, align 8, !range !738, !noundef !14 + %.not = icmp eq i64 %338, 4 + br i1 %.not, label %342, label %339 + +339: ; preds = %"_ZN4moka6common10concurrent23ValueEntry$LT$K$C$V$GT$13unset_q_nodes17ha8f9de5a8bb90dc5E.exit91" + %340 = getelementptr inbounds i8, ptr %336, i64 16 + %341 = load ptr, ptr %33, align 8, !nonnull !14, !noundef !14 %.val54 = load ptr, ptr %18, align 8 - invoke fastcc void @"_ZN4moka9sync_base10base_cache22Inner$LT$K$C$V$C$S$GT$13notify_upsert17hb1f2bf633ca52f78E"(ptr noundef nonnull align 8 %336, ptr noundef nonnull %337, ptr %.val54, i64 noundef %.sroa.04.0.copyload, i64 %.sroa.5.0.copyload, i64 noundef %.sroa.7.0.copyload, i64 %.sroa.9.0.copyload) - to label %338 unwind label %328 + invoke fastcc void @"_ZN4moka9sync_base10base_cache22Inner$LT$K$C$V$C$S$GT$13notify_upsert17hb1f2bf633ca52f78E"(ptr noundef nonnull align 8 %340, ptr noundef nonnull %341, ptr %.val54, i64 noundef %.sroa.04.0.copyload, i64 %.sroa.5.0.copyload, i64 noundef %.sroa.7.0.copyload, i64 %.sroa.9.0.copyload) + to label %342 unwind label %332 -338: ; preds = %335, %"_ZN4moka6common10concurrent23ValueEntry$LT$K$C$V$GT$13unset_q_nodes17ha8f9de5a8bb90dc5E.exit91" - %.10 = phi i8 [ 0, %335 ], [ 1, %"_ZN4moka6common10concurrent23ValueEntry$LT$K$C$V$GT$13unset_q_nodes17ha8f9de5a8bb90dc5E.exit91" ] +342: ; preds = %339, %"_ZN4moka6common10concurrent23ValueEntry$LT$K$C$V$GT$13unset_q_nodes17ha8f9de5a8bb90dc5E.exit91" + %.10 = phi i8 [ 0, %339 ], [ 1, %"_ZN4moka6common10concurrent23ValueEntry$LT$K$C$V$GT$13unset_q_nodes17ha8f9de5a8bb90dc5E.exit91" ] call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %16) - %339 = invoke fastcc noundef ptr @_ZN15crossbeam_epoch7default11with_handle17h64dc6e421ebdf81fE() - to label %340 unwind label %328 + %343 = invoke fastcc noundef ptr @_ZN15crossbeam_epoch7default11with_handle17h64dc6e421ebdf81fE() + to label %344 unwind label %332 -340: ; preds = %338 - store ptr %339, ptr %16, align 8 +344: ; preds = %342 + store ptr %343, ptr %16, align 8 invoke void @_ZN15crossbeam_epoch5guard5Guard5flush17h8b21485a8dd296e6E(ptr noalias noundef nonnull readonly align 8 dereferenceable(8) %16) - to label %343 unwind label %341 + to label %347 unwind label %345 -341: ; preds = %340 - %342 = landingpad { ptr, i32 } +345: ; preds = %344 + %346 = landingpad { ptr, i32 } cleanup %.val47 = load ptr, ptr %16, align 8, !noundef !14 invoke fastcc void @"_ZN4core3ptr50drop_in_place$LT$crossbeam_epoch..guard..Guard$GT$17h2f2bac46a9e7a13bE"(ptr %.val47) #27 - to label %327 unwind label %301 + to label %331 unwind label %302 -343: ; preds = %340 +347: ; preds = %344 %.val = load ptr, ptr %16, align 8, !noundef !14 - %344 = icmp eq ptr %.val, null - br i1 %344, label %356, label %345 - -345: ; preds = %343 - %346 = getelementptr inbounds i8, ptr %.val, i64 2080 - %347 = load i64, ptr %346, align 8, !noundef !14 - %348 = add i64 %347, -1 - store i64 %348, ptr %346, align 8 - %349 = icmp eq i64 %347, 1 - br i1 %349, label %350, label %356 - -350: ; preds = %345 - %351 = getelementptr inbounds i8, ptr %.val, i64 8 - store atomic i64 0, ptr %351 release, align 8 - %352 = getelementptr inbounds i8, ptr %.val, i64 2088 - %353 = load i64, ptr %352, align 8, !noundef !14 - %354 = icmp eq i64 %353, 0 - br i1 %354, label %355, label %356 - -355: ; preds = %350 + %348 = icmp eq ptr %.val, null + br i1 %348, label %360, label %349 + +349: ; preds = %347 + %350 = getelementptr inbounds i8, ptr %.val, i64 2080 + %351 = load i64, ptr %350, align 8, !noundef !14 + %352 = add i64 %351, -1 + store i64 %352, ptr %350, align 8 + %353 = icmp eq i64 %351, 1 + br i1 %353, label %354, label %360 + +354: ; preds = %349 + %355 = getelementptr inbounds i8, ptr %.val, i64 8 + store atomic i64 0, ptr %355 release, align 8 + %356 = getelementptr inbounds i8, ptr %.val, i64 2088 + %357 = load i64, ptr %356, align 8, !noundef !14 + %358 = icmp eq i64 %357, 0 + br i1 %358, label %359, label %360 + +359: ; preds = %354 invoke void @_ZN15crossbeam_epoch8internal5Local8finalize17hd225ab3da20dad9cE(ptr noundef nonnull align 8 %.val) - to label %356 unwind label %328 + to label %360 unwind label %332 -356: ; preds = %355, %343, %345, %350 +360: ; preds = %359, %347, %349, %354 call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %16) - %357 = load i64, ptr %30, align 8, !noundef !14 + %361 = load i64, ptr %30, align 8, !noundef !14 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %0, ptr noundef nonnull align 8 dereferenceable(32) %17, i64 32, i1 false) - %358 = getelementptr inbounds i8, ptr %0, i64 32 - store i64 %357, ptr %358, align 8 - br label %366 - -359: ; preds = %376, %327 - %.120 = phi i8 [ 0, %376 ], [ 1, %327 ] - %.12 = phi i8 [ 1, %376 ], [ %.8, %327 ] - %.pn28 = phi { ptr, i32 } [ %377, %376 ], [ %.pn26, %327 ] + %362 = getelementptr inbounds i8, ptr %0, i64 32 + store i64 %361, ptr %362, align 8 + br label %370 + +363: ; preds = %380, %331 + %.120 = phi i8 [ 0, %380 ], [ 1, %331 ] + %.12 = phi i8 [ 1, %380 ], [ %.8, %331 ] + %.pn28 = phi { ptr, i32 } [ %381, %380 ], [ %.pn26, %331 ] call void @llvm.experimental.noalias.scope.decl(metadata !1167) call void @llvm.experimental.noalias.scope.decl(metadata !1170) - %360 = load ptr, ptr %18, align 8, !alias.scope !1173, !nonnull !14, !noundef !14 - %361 = atomicrmw sub ptr %360, i64 1 release, align 8, !noalias !1173 - %362 = icmp eq i64 %361, 1 - br i1 %362, label %363, label %"_ZN4core3ptr161drop_in_place$LT$triomphe..arc..Arc$LT$moka..common..concurrent..ValueEntry$LT$$LP$usize$C$usize$RP$$C$alloc..sync..Arc$LT$mini_lsm..block..Block$GT$$GT$$GT$$GT$17hd77347798349483dE.exit95" - -363: ; preds = %359 %364 = load ptr, ptr %18, align 8, !alias.scope !1173, !nonnull !14, !noundef !14 - %365 = load atomic i64, ptr %364 acquire, align 8, !noalias !1173 + %365 = atomicrmw sub ptr %364, i64 1 release, align 8, !noalias !1173 + %366 = icmp eq i64 %365, 1 + br i1 %366, label %367, label %"_ZN4core3ptr161drop_in_place$LT$triomphe..arc..Arc$LT$moka..common..concurrent..ValueEntry$LT$$LP$usize$C$usize$RP$$C$alloc..sync..Arc$LT$mini_lsm..block..Block$GT$$GT$$GT$$GT$17hd77347798349483dE.exit95" + +367: ; preds = %363 + %368 = load ptr, ptr %18, align 8, !alias.scope !1173, !nonnull !14, !noundef !14 + %369 = load atomic i64, ptr %368 acquire, align 8, !noalias !1173 invoke void @"_ZN8triomphe3arc12Arc$LT$T$GT$9drop_slow17hddb950335773e2d3E"(ptr noalias noundef nonnull align 8 dereferenceable(8) %18) - to label %"_ZN4core3ptr161drop_in_place$LT$triomphe..arc..Arc$LT$moka..common..concurrent..ValueEntry$LT$$LP$usize$C$usize$RP$$C$alloc..sync..Arc$LT$mini_lsm..block..Block$GT$$GT$$GT$$GT$17hd77347798349483dE.exit95" unwind label %301 + to label %"_ZN4core3ptr161drop_in_place$LT$triomphe..arc..Arc$LT$moka..common..concurrent..ValueEntry$LT$$LP$usize$C$usize$RP$$C$alloc..sync..Arc$LT$mini_lsm..block..Block$GT$$GT$$GT$$GT$17hd77347798349483dE.exit95" unwind label %302 -366: ; preds = %356, %373 - %.11152 = phi i8 [ 1, %373 ], [ %.10, %356 ] - %.019150 = phi i8 [ 0, %373 ], [ 1, %356 ] +370: ; preds = %360, %377 + %.11152 = phi i8 [ 1, %377 ], [ %.10, %360 ] + %.019150 = phi i8 [ 0, %377 ], [ 1, %360 ] call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %17) call void @llvm.experimental.noalias.scope.decl(metadata !1174) call void @llvm.experimental.noalias.scope.decl(metadata !1177) - %367 = load ptr, ptr %18, align 8, !alias.scope !1180, !nonnull !14, !noundef !14 - %368 = atomicrmw sub ptr %367, i64 1 release, align 8, !noalias !1180 - %369 = icmp eq i64 %368, 1 - br i1 %369, label %370, label %"_ZN4core3ptr161drop_in_place$LT$triomphe..arc..Arc$LT$moka..common..concurrent..ValueEntry$LT$$LP$usize$C$usize$RP$$C$alloc..sync..Arc$LT$mini_lsm..block..Block$GT$$GT$$GT$$GT$17hd77347798349483dE.exit97" - -370: ; preds = %366 %371 = load ptr, ptr %18, align 8, !alias.scope !1180, !nonnull !14, !noundef !14 - %372 = load atomic i64, ptr %371 acquire, align 8, !noalias !1180 + %372 = atomicrmw sub ptr %371, i64 1 release, align 8, !noalias !1180 + %373 = icmp eq i64 %372, 1 + br i1 %373, label %374, label %"_ZN4core3ptr161drop_in_place$LT$triomphe..arc..Arc$LT$moka..common..concurrent..ValueEntry$LT$$LP$usize$C$usize$RP$$C$alloc..sync..Arc$LT$mini_lsm..block..Block$GT$$GT$$GT$$GT$17hd77347798349483dE.exit97" + +374: ; preds = %370 + %375 = load ptr, ptr %18, align 8, !alias.scope !1180, !nonnull !14, !noundef !14 + %376 = load atomic i64, ptr %375 acquire, align 8, !noalias !1180 invoke void @"_ZN8triomphe3arc12Arc$LT$T$GT$9drop_slow17hddb950335773e2d3E"(ptr noalias noundef nonnull align 8 dereferenceable(8) %18) - to label %"_ZN4core3ptr161drop_in_place$LT$triomphe..arc..Arc$LT$moka..common..concurrent..ValueEntry$LT$$LP$usize$C$usize$RP$$C$alloc..sync..Arc$LT$mini_lsm..block..Block$GT$$GT$$GT$$GT$17hd77347798349483dE.exit97" unwind label %379 + to label %"_ZN4core3ptr161drop_in_place$LT$triomphe..arc..Arc$LT$moka..common..concurrent..ValueEntry$LT$$LP$usize$C$usize$RP$$C$alloc..sync..Arc$LT$mini_lsm..block..Block$GT$$GT$$GT$$GT$17hd77347798349483dE.exit97" unwind label %383 -373: ; preds = %313 - %374 = load i64, ptr %30, align 8, !noundef !14 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %0, ptr noundef nonnull align 1 dereferenceable(32) %.sroa.3.16..sroa_idx3, i64 32, i1 false) - %375 = getelementptr inbounds i8, ptr %0, i64 32 - store i64 %374, ptr %375, align 8 +377: ; preds = %315 + %378 = load i64, ptr %30, align 8, !noundef !14 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %0, ptr noundef nonnull align 8 dereferenceable(32) %316, i64 32, i1 false) + %379 = getelementptr inbounds i8, ptr %0, i64 32 + store i64 %378, ptr %379, align 8 invoke void @"_ZN4core3ptr132drop_in_place$LT$moka..common..concurrent..WriteOp$LT$$LP$usize$C$usize$RP$$C$alloc..sync..Arc$LT$mini_lsm..block..Block$GT$$GT$$GT$17h3f275f13536957ffE.llvm.18092150996463083177"(ptr noalias noundef nonnull align 8 dereferenceable(32) %17) - to label %366 unwind label %376 + to label %370 unwind label %380 -376: ; preds = %373 - %377 = landingpad { ptr, i32 } +380: ; preds = %377 + %381 = landingpad { ptr, i32 } cleanup - br label %359 + br label %363 -"_ZN4core3ptr161drop_in_place$LT$triomphe..arc..Arc$LT$moka..common..concurrent..ValueEntry$LT$$LP$usize$C$usize$RP$$C$alloc..sync..Arc$LT$mini_lsm..block..Block$GT$$GT$$GT$$GT$17hd77347798349483dE.exit95": ; preds = %359, %363, %379 - %.221 = phi i8 [ %.019150, %379 ], [ %.120, %363 ], [ %.120, %359 ] - %.13 = phi i8 [ %.11152, %379 ], [ %.12, %363 ], [ %.12, %359 ] - %.pn30 = phi { ptr, i32 } [ %380, %379 ], [ %.pn28, %363 ], [ %.pn28, %359 ] - %378 = trunc i8 %.221 to i1 - br i1 %378, label %428, label %"_ZN4core3ptr161drop_in_place$LT$triomphe..arc..Arc$LT$moka..common..concurrent..ValueEntry$LT$$LP$usize$C$usize$RP$$C$alloc..sync..Arc$LT$mini_lsm..block..Block$GT$$GT$$GT$$GT$17hd77347798349483dE.exit82" +"_ZN4core3ptr161drop_in_place$LT$triomphe..arc..Arc$LT$moka..common..concurrent..ValueEntry$LT$$LP$usize$C$usize$RP$$C$alloc..sync..Arc$LT$mini_lsm..block..Block$GT$$GT$$GT$$GT$17hd77347798349483dE.exit95": ; preds = %363, %367, %383 + %.221 = phi i8 [ %.019150, %383 ], [ %.120, %367 ], [ %.120, %363 ] + %.13 = phi i8 [ %.11152, %383 ], [ %.12, %367 ], [ %.12, %363 ] + %.pn30 = phi { ptr, i32 } [ %384, %383 ], [ %.pn28, %367 ], [ %.pn28, %363 ] + %382 = trunc i8 %.221 to i1 + br i1 %382, label %432, label %"_ZN4core3ptr161drop_in_place$LT$triomphe..arc..Arc$LT$moka..common..concurrent..ValueEntry$LT$$LP$usize$C$usize$RP$$C$alloc..sync..Arc$LT$mini_lsm..block..Block$GT$$GT$$GT$$GT$17hd77347798349483dE.exit82" -379: ; preds = %370 - %380 = landingpad { ptr, i32 } +383: ; preds = %374 + %384 = landingpad { ptr, i32 } cleanup br label %"_ZN4core3ptr161drop_in_place$LT$triomphe..arc..Arc$LT$moka..common..concurrent..ValueEntry$LT$$LP$usize$C$usize$RP$$C$alloc..sync..Arc$LT$mini_lsm..block..Block$GT$$GT$$GT$$GT$17hd77347798349483dE.exit95" -"_ZN4core3ptr161drop_in_place$LT$triomphe..arc..Arc$LT$moka..common..concurrent..ValueEntry$LT$$LP$usize$C$usize$RP$$C$alloc..sync..Arc$LT$mini_lsm..block..Block$GT$$GT$$GT$$GT$17hd77347798349483dE.exit97": ; preds = %366, %370 +"_ZN4core3ptr161drop_in_place$LT$triomphe..arc..Arc$LT$moka..common..concurrent..ValueEntry$LT$$LP$usize$C$usize$RP$$C$alloc..sync..Arc$LT$mini_lsm..block..Block$GT$$GT$$GT$$GT$17hd77347798349483dE.exit97": ; preds = %370, %374 call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %18) - %381 = trunc i8 %.019150 to i1 - br i1 %381, label %383, label %382 + %385 = trunc i8 %.019150 to i1 + br i1 %385, label %387, label %386 -382: ; preds = %383, %"_ZN4core3ptr161drop_in_place$LT$triomphe..arc..Arc$LT$moka..common..concurrent..ValueEntry$LT$$LP$usize$C$usize$RP$$C$alloc..sync..Arc$LT$mini_lsm..block..Block$GT$$GT$$GT$$GT$17hd77347798349483dE.exit97" +386: ; preds = %387, %"_ZN4core3ptr161drop_in_place$LT$triomphe..arc..Arc$LT$moka..common..concurrent..ValueEntry$LT$$LP$usize$C$usize$RP$$C$alloc..sync..Arc$LT$mini_lsm..block..Block$GT$$GT$$GT$$GT$17hd77347798349483dE.exit97" call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %19) - br label %295 + br label %296 -383: ; preds = %"_ZN4core3ptr161drop_in_place$LT$triomphe..arc..Arc$LT$moka..common..concurrent..ValueEntry$LT$$LP$usize$C$usize$RP$$C$alloc..sync..Arc$LT$mini_lsm..block..Block$GT$$GT$$GT$$GT$17hd77347798349483dE.exit97" +387: ; preds = %"_ZN4core3ptr161drop_in_place$LT$triomphe..arc..Arc$LT$moka..common..concurrent..ValueEntry$LT$$LP$usize$C$usize$RP$$C$alloc..sync..Arc$LT$mini_lsm..block..Block$GT$$GT$$GT$$GT$17hd77347798349483dE.exit97" invoke void @"_ZN4core3ptr132drop_in_place$LT$moka..common..concurrent..WriteOp$LT$$LP$usize$C$usize$RP$$C$alloc..sync..Arc$LT$mini_lsm..block..Block$GT$$GT$$GT$17h3f275f13536957ffE.llvm.18092150996463083177"(ptr noalias noundef nonnull align 8 dereferenceable(32) %19) - to label %382 unwind label %255 + to label %386 unwind label %256 -"_ZN4core3ptr127drop_in_place$LT$core..option..Option$LT$lock_api..mutex..MutexGuard$LT$parking_lot..raw_mutex..RawMutex$C$$LP$$RP$$GT$$GT$$GT$17h930e269860bae1f4E.exit76": ; preds = %251, %"_ZN4core3ptr161drop_in_place$LT$triomphe..arc..Arc$LT$moka..common..concurrent..ValueEntry$LT$$LP$usize$C$usize$RP$$C$alloc..sync..Arc$LT$mini_lsm..block..Block$GT$$GT$$GT$$GT$17hd77347798349483dE.exit82", %254, %387 - %.14 = phi i8 [ %.7, %387 ], [ %.2, %254 ], [ %.2, %"_ZN4core3ptr161drop_in_place$LT$triomphe..arc..Arc$LT$moka..common..concurrent..ValueEntry$LT$$LP$usize$C$usize$RP$$C$alloc..sync..Arc$LT$mini_lsm..block..Block$GT$$GT$$GT$$GT$17hd77347798349483dE.exit82" ], [ %.2, %251 ] - %.pn37 = phi { ptr, i32 } [ %388, %387 ], [ %.pn35, %254 ], [ %.pn35, %"_ZN4core3ptr161drop_in_place$LT$triomphe..arc..Arc$LT$moka..common..concurrent..ValueEntry$LT$$LP$usize$C$usize$RP$$C$alloc..sync..Arc$LT$mini_lsm..block..Block$GT$$GT$$GT$$GT$17hd77347798349483dE.exit82" ], [ %.pn35, %251 ] - %384 = load ptr, ptr %24, align 8, !alias.scope !1181, !noundef !14 - %385 = icmp eq ptr %384, null - br i1 %385, label %"_ZN4core3ptr145drop_in_place$LT$core..option..Option$LT$moka..sync_base..key_lock..KeyLock$LT$$LP$usize$C$usize$RP$$C$std..hash..random..RandomState$GT$$GT$$GT$17hbb98a74961ea7f40E.exit99", label %386 +"_ZN4core3ptr127drop_in_place$LT$core..option..Option$LT$lock_api..mutex..MutexGuard$LT$parking_lot..raw_mutex..RawMutex$C$$LP$$RP$$GT$$GT$$GT$17h930e269860bae1f4E.exit76": ; preds = %252, %"_ZN4core3ptr161drop_in_place$LT$triomphe..arc..Arc$LT$moka..common..concurrent..ValueEntry$LT$$LP$usize$C$usize$RP$$C$alloc..sync..Arc$LT$mini_lsm..block..Block$GT$$GT$$GT$$GT$17hd77347798349483dE.exit82", %255, %391 + %.14 = phi i8 [ %.7, %391 ], [ %.2, %255 ], [ %.2, %"_ZN4core3ptr161drop_in_place$LT$triomphe..arc..Arc$LT$moka..common..concurrent..ValueEntry$LT$$LP$usize$C$usize$RP$$C$alloc..sync..Arc$LT$mini_lsm..block..Block$GT$$GT$$GT$$GT$17hd77347798349483dE.exit82" ], [ %.2, %252 ] + %.pn37 = phi { ptr, i32 } [ %392, %391 ], [ %.pn35, %255 ], [ %.pn35, %"_ZN4core3ptr161drop_in_place$LT$triomphe..arc..Arc$LT$moka..common..concurrent..ValueEntry$LT$$LP$usize$C$usize$RP$$C$alloc..sync..Arc$LT$mini_lsm..block..Block$GT$$GT$$GT$$GT$17hd77347798349483dE.exit82" ], [ %.pn35, %252 ] + %388 = load ptr, ptr %24, align 8, !alias.scope !1181, !noundef !14 + %389 = icmp eq ptr %388, null + br i1 %389, label %"_ZN4core3ptr145drop_in_place$LT$core..option..Option$LT$moka..sync_base..key_lock..KeyLock$LT$$LP$usize$C$usize$RP$$C$std..hash..random..RandomState$GT$$GT$$GT$17hbb98a74961ea7f40E.exit99", label %390 -386: ; preds = %"_ZN4core3ptr127drop_in_place$LT$core..option..Option$LT$lock_api..mutex..MutexGuard$LT$parking_lot..raw_mutex..RawMutex$C$$LP$$RP$$GT$$GT$$GT$17h930e269860bae1f4E.exit76" +390: ; preds = %"_ZN4core3ptr127drop_in_place$LT$core..option..Option$LT$lock_api..mutex..MutexGuard$LT$parking_lot..raw_mutex..RawMutex$C$$LP$$RP$$GT$$GT$$GT$17h930e269860bae1f4E.exit76" invoke void @"_ZN4core3ptr117drop_in_place$LT$moka..sync_base..key_lock..KeyLock$LT$$LP$usize$C$usize$RP$$C$std..hash..random..RandomState$GT$$GT$17h5e5734ea32b17d89E"(ptr noalias noundef nonnull align 8 dereferenceable(32) %24) - to label %"_ZN4core3ptr145drop_in_place$LT$core..option..Option$LT$moka..sync_base..key_lock..KeyLock$LT$$LP$usize$C$usize$RP$$C$std..hash..random..RandomState$GT$$GT$$GT$17hbb98a74961ea7f40E.exit99" unwind label %301 + to label %"_ZN4core3ptr145drop_in_place$LT$core..option..Option$LT$moka..sync_base..key_lock..KeyLock$LT$$LP$usize$C$usize$RP$$C$std..hash..random..RandomState$GT$$GT$$GT$17hbb98a74961ea7f40E.exit99" unwind label %302 -387: ; preds = %300 - %388 = landingpad { ptr, i32 } +391: ; preds = %301 + %392 = landingpad { ptr, i32 } cleanup br label %"_ZN4core3ptr127drop_in_place$LT$core..option..Option$LT$lock_api..mutex..MutexGuard$LT$parking_lot..raw_mutex..RawMutex$C$$LP$$RP$$GT$$GT$$GT$17h930e269860bae1f4E.exit76" -"_ZN4core3ptr127drop_in_place$LT$core..option..Option$LT$lock_api..mutex..MutexGuard$LT$parking_lot..raw_mutex..RawMutex$C$$LP$$RP$$GT$$GT$$GT$17h930e269860bae1f4E.exit80": ; preds = %297, %295, %300 - %389 = load ptr, ptr %24, align 8, !alias.scope !1184, !noundef !14 - %390 = icmp eq ptr %389, null - br i1 %390, label %"_ZN4core3ptr145drop_in_place$LT$core..option..Option$LT$moka..sync_base..key_lock..KeyLock$LT$$LP$usize$C$usize$RP$$C$std..hash..random..RandomState$GT$$GT$$GT$17hbb98a74961ea7f40E.exit101", label %391 +"_ZN4core3ptr127drop_in_place$LT$core..option..Option$LT$lock_api..mutex..MutexGuard$LT$parking_lot..raw_mutex..RawMutex$C$$LP$$RP$$GT$$GT$$GT$17h930e269860bae1f4E.exit80": ; preds = %298, %296, %301 + %393 = load ptr, ptr %24, align 8, !alias.scope !1184, !noundef !14 + %394 = icmp eq ptr %393, null + br i1 %394, label %"_ZN4core3ptr145drop_in_place$LT$core..option..Option$LT$moka..sync_base..key_lock..KeyLock$LT$$LP$usize$C$usize$RP$$C$std..hash..random..RandomState$GT$$GT$$GT$17hbb98a74961ea7f40E.exit101", label %395 -391: ; preds = %"_ZN4core3ptr127drop_in_place$LT$core..option..Option$LT$lock_api..mutex..MutexGuard$LT$parking_lot..raw_mutex..RawMutex$C$$LP$$RP$$GT$$GT$$GT$17h930e269860bae1f4E.exit80" +395: ; preds = %"_ZN4core3ptr127drop_in_place$LT$core..option..Option$LT$lock_api..mutex..MutexGuard$LT$parking_lot..raw_mutex..RawMutex$C$$LP$$RP$$GT$$GT$$GT$17h930e269860bae1f4E.exit80" invoke void @"_ZN4core3ptr117drop_in_place$LT$moka..sync_base..key_lock..KeyLock$LT$$LP$usize$C$usize$RP$$C$std..hash..random..RandomState$GT$$GT$17h5e5734ea32b17d89E"(ptr noalias noundef nonnull align 8 dereferenceable(32) %24) - to label %"_ZN4core3ptr145drop_in_place$LT$core..option..Option$LT$moka..sync_base..key_lock..KeyLock$LT$$LP$usize$C$usize$RP$$C$std..hash..random..RandomState$GT$$GT$$GT$17hbb98a74961ea7f40E.exit101" unwind label %392 + to label %"_ZN4core3ptr145drop_in_place$LT$core..option..Option$LT$moka..sync_base..key_lock..KeyLock$LT$$LP$usize$C$usize$RP$$C$std..hash..random..RandomState$GT$$GT$$GT$17hbb98a74961ea7f40E.exit101" unwind label %396 -"_ZN4core3ptr145drop_in_place$LT$core..option..Option$LT$moka..sync_base..key_lock..KeyLock$LT$$LP$usize$C$usize$RP$$C$std..hash..random..RandomState$GT$$GT$$GT$17hbb98a74961ea7f40E.exit99": ; preds = %"_ZN4core3ptr127drop_in_place$LT$core..option..Option$LT$lock_api..mutex..MutexGuard$LT$parking_lot..raw_mutex..RawMutex$C$$LP$$RP$$GT$$GT$$GT$17h930e269860bae1f4E.exit76", %386, %392 - %.15 = phi i8 [ %.7, %392 ], [ %.14, %386 ], [ %.14, %"_ZN4core3ptr127drop_in_place$LT$core..option..Option$LT$lock_api..mutex..MutexGuard$LT$parking_lot..raw_mutex..RawMutex$C$$LP$$RP$$GT$$GT$$GT$17h930e269860bae1f4E.exit76" ] - %.pn39 = phi { ptr, i32 } [ %393, %392 ], [ %.pn37, %386 ], [ %.pn37, %"_ZN4core3ptr127drop_in_place$LT$core..option..Option$LT$lock_api..mutex..MutexGuard$LT$parking_lot..raw_mutex..RawMutex$C$$LP$$RP$$GT$$GT$$GT$17h930e269860bae1f4E.exit76" ] +"_ZN4core3ptr145drop_in_place$LT$core..option..Option$LT$moka..sync_base..key_lock..KeyLock$LT$$LP$usize$C$usize$RP$$C$std..hash..random..RandomState$GT$$GT$$GT$17hbb98a74961ea7f40E.exit99": ; preds = %"_ZN4core3ptr127drop_in_place$LT$core..option..Option$LT$lock_api..mutex..MutexGuard$LT$parking_lot..raw_mutex..RawMutex$C$$LP$$RP$$GT$$GT$$GT$17h930e269860bae1f4E.exit76", %390, %396 + %.15 = phi i8 [ %.7, %396 ], [ %.14, %390 ], [ %.14, %"_ZN4core3ptr127drop_in_place$LT$core..option..Option$LT$lock_api..mutex..MutexGuard$LT$parking_lot..raw_mutex..RawMutex$C$$LP$$RP$$GT$$GT$$GT$17h930e269860bae1f4E.exit76" ] + %.pn39 = phi { ptr, i32 } [ %397, %396 ], [ %.pn37, %390 ], [ %.pn37, %"_ZN4core3ptr127drop_in_place$LT$core..option..Option$LT$lock_api..mutex..MutexGuard$LT$parking_lot..raw_mutex..RawMutex$C$$LP$$RP$$GT$$GT$$GT$17h930e269860bae1f4E.exit76" ] invoke void @"_ZN4core3ptr70drop_in_place$LT$alloc..rc..Rc$LT$core..sync..atomic..AtomicU8$GT$$GT$17hc13f5027cf7f0718E"(ptr noalias noundef nonnull align 8 dereferenceable(8) %27) #27 - to label %404 unwind label %301 + to label %408 unwind label %302 -392: ; preds = %391 - %393 = landingpad { ptr, i32 } +396: ; preds = %395 + %397 = landingpad { ptr, i32 } cleanup br label %"_ZN4core3ptr145drop_in_place$LT$core..option..Option$LT$moka..sync_base..key_lock..KeyLock$LT$$LP$usize$C$usize$RP$$C$std..hash..random..RandomState$GT$$GT$$GT$17hbb98a74961ea7f40E.exit99" -"_ZN4core3ptr145drop_in_place$LT$core..option..Option$LT$moka..sync_base..key_lock..KeyLock$LT$$LP$usize$C$usize$RP$$C$std..hash..random..RandomState$GT$$GT$$GT$17hbb98a74961ea7f40E.exit101": ; preds = %"_ZN4core3ptr127drop_in_place$LT$core..option..Option$LT$lock_api..mutex..MutexGuard$LT$parking_lot..raw_mutex..RawMutex$C$$LP$$RP$$GT$$GT$$GT$17h930e269860bae1f4E.exit80", %391 +"_ZN4core3ptr145drop_in_place$LT$core..option..Option$LT$moka..sync_base..key_lock..KeyLock$LT$$LP$usize$C$usize$RP$$C$std..hash..random..RandomState$GT$$GT$$GT$17hbb98a74961ea7f40E.exit101": ; preds = %"_ZN4core3ptr127drop_in_place$LT$core..option..Option$LT$lock_api..mutex..MutexGuard$LT$parking_lot..raw_mutex..RawMutex$C$$LP$$RP$$GT$$GT$$GT$17h930e269860bae1f4E.exit80", %395 call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %24) call void @llvm.lifetime.end.p0(i64 80, ptr nonnull %25) call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %26) call void @llvm.experimental.noalias.scope.decl(metadata !1187) call void @llvm.experimental.noalias.scope.decl(metadata !1190) - %394 = load ptr, ptr %27, align 8, !alias.scope !1193, !nonnull !14, !noundef !14 - %395 = load i64, ptr %394, align 8, !noalias !1193, !noundef !14 - %396 = add i64 %395, -1 - store i64 %396, ptr %394, align 8, !noalias !1193 - %397 = icmp eq i64 %396, 0 - br i1 %397, label %398, label %"_ZN4core3ptr70drop_in_place$LT$alloc..rc..Rc$LT$core..sync..atomic..AtomicU8$GT$$GT$17hc13f5027cf7f0718E.exit" - -398: ; preds = %"_ZN4core3ptr145drop_in_place$LT$core..option..Option$LT$moka..sync_base..key_lock..KeyLock$LT$$LP$usize$C$usize$RP$$C$std..hash..random..RandomState$GT$$GT$$GT$17hbb98a74961ea7f40E.exit101" - %399 = getelementptr inbounds i8, ptr %394, i64 8 - %400 = load i64, ptr %399, align 8, !noalias !1193, !noundef !14 - %401 = add i64 %400, -1 - store i64 %401, ptr %399, align 8, !noalias !1193 - %402 = icmp eq i64 %401, 0 - br i1 %402, label %403, label %"_ZN4core3ptr70drop_in_place$LT$alloc..rc..Rc$LT$core..sync..atomic..AtomicU8$GT$$GT$17hc13f5027cf7f0718E.exit" - -403: ; preds = %398 - call void @__rust_dealloc(ptr noundef nonnull %394, i64 noundef 24, i64 noundef 8) #29, !noalias !1193 + %398 = load ptr, ptr %27, align 8, !alias.scope !1193, !nonnull !14, !noundef !14 + %399 = load i64, ptr %398, align 8, !noalias !1193, !noundef !14 + %400 = add i64 %399, -1 + store i64 %400, ptr %398, align 8, !noalias !1193 + %401 = icmp eq i64 %400, 0 + br i1 %401, label %402, label %"_ZN4core3ptr70drop_in_place$LT$alloc..rc..Rc$LT$core..sync..atomic..AtomicU8$GT$$GT$17hc13f5027cf7f0718E.exit" + +402: ; preds = %"_ZN4core3ptr145drop_in_place$LT$core..option..Option$LT$moka..sync_base..key_lock..KeyLock$LT$$LP$usize$C$usize$RP$$C$std..hash..random..RandomState$GT$$GT$$GT$17hbb98a74961ea7f40E.exit101" + %403 = getelementptr inbounds i8, ptr %398, i64 8 + %404 = load i64, ptr %403, align 8, !noalias !1193, !noundef !14 + %405 = add i64 %404, -1 + store i64 %405, ptr %403, align 8, !noalias !1193 + %406 = icmp eq i64 %405, 0 + br i1 %406, label %407, label %"_ZN4core3ptr70drop_in_place$LT$alloc..rc..Rc$LT$core..sync..atomic..AtomicU8$GT$$GT$17hc13f5027cf7f0718E.exit" + +407: ; preds = %402 + call void @__rust_dealloc(ptr noundef nonnull %398, i64 noundef 24, i64 noundef 8) #29, !noalias !1193 br label %"_ZN4core3ptr70drop_in_place$LT$alloc..rc..Rc$LT$core..sync..atomic..AtomicU8$GT$$GT$17hc13f5027cf7f0718E.exit" -404: ; preds = %"_ZN4core3ptr145drop_in_place$LT$core..option..Option$LT$moka..sync_base..key_lock..KeyLock$LT$$LP$usize$C$usize$RP$$C$std..hash..random..RandomState$GT$$GT$$GT$17hbb98a74961ea7f40E.exit99" +408: ; preds = %"_ZN4core3ptr145drop_in_place$LT$core..option..Option$LT$moka..sync_base..key_lock..KeyLock$LT$$LP$usize$C$usize$RP$$C$std..hash..random..RandomState$GT$$GT$$GT$17hbb98a74961ea7f40E.exit99" invoke void @"_ZN4core3ptr70drop_in_place$LT$alloc..rc..Rc$LT$core..sync..atomic..AtomicU8$GT$$GT$17hc13f5027cf7f0718E"(ptr noalias noundef nonnull align 8 dereferenceable(8) %28) #27 - to label %39 unwind label %301 + to label %39 unwind label %302 -"_ZN4core3ptr70drop_in_place$LT$alloc..rc..Rc$LT$core..sync..atomic..AtomicU8$GT$$GT$17hc13f5027cf7f0718E.exit": ; preds = %403, %398, %"_ZN4core3ptr145drop_in_place$LT$core..option..Option$LT$moka..sync_base..key_lock..KeyLock$LT$$LP$usize$C$usize$RP$$C$std..hash..random..RandomState$GT$$GT$$GT$17hbb98a74961ea7f40E.exit101" +"_ZN4core3ptr70drop_in_place$LT$alloc..rc..Rc$LT$core..sync..atomic..AtomicU8$GT$$GT$17hc13f5027cf7f0718E.exit": ; preds = %407, %402, %"_ZN4core3ptr145drop_in_place$LT$core..option..Option$LT$moka..sync_base..key_lock..KeyLock$LT$$LP$usize$C$usize$RP$$C$std..hash..random..RandomState$GT$$GT$$GT$17hbb98a74961ea7f40E.exit101" call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %27) call void @llvm.experimental.noalias.scope.decl(metadata !1194) call void @llvm.experimental.noalias.scope.decl(metadata !1197) - %405 = load ptr, ptr %28, align 8, !alias.scope !1200, !nonnull !14, !noundef !14 - %406 = load i64, ptr %405, align 8, !noalias !1200, !noundef !14 - %407 = add i64 %406, -1 - store i64 %407, ptr %405, align 8, !noalias !1200 - %408 = icmp eq i64 %407, 0 - br i1 %408, label %409, label %"_ZN4core3ptr70drop_in_place$LT$alloc..rc..Rc$LT$core..sync..atomic..AtomicU8$GT$$GT$17hc13f5027cf7f0718E.exit102" - -409: ; preds = %"_ZN4core3ptr70drop_in_place$LT$alloc..rc..Rc$LT$core..sync..atomic..AtomicU8$GT$$GT$17hc13f5027cf7f0718E.exit" - %410 = getelementptr inbounds i8, ptr %405, i64 8 - %411 = load i64, ptr %410, align 8, !noalias !1200, !noundef !14 - %412 = add i64 %411, -1 - store i64 %412, ptr %410, align 8, !noalias !1200 - %413 = icmp eq i64 %412, 0 - br i1 %413, label %414, label %"_ZN4core3ptr70drop_in_place$LT$alloc..rc..Rc$LT$core..sync..atomic..AtomicU8$GT$$GT$17hc13f5027cf7f0718E.exit102" - -414: ; preds = %409 - call void @__rust_dealloc(ptr noundef nonnull %405, i64 noundef 24, i64 noundef 8) #29, !noalias !1200 + %409 = load ptr, ptr %28, align 8, !alias.scope !1200, !nonnull !14, !noundef !14 + %410 = load i64, ptr %409, align 8, !noalias !1200, !noundef !14 + %411 = add i64 %410, -1 + store i64 %411, ptr %409, align 8, !noalias !1200 + %412 = icmp eq i64 %411, 0 + br i1 %412, label %413, label %"_ZN4core3ptr70drop_in_place$LT$alloc..rc..Rc$LT$core..sync..atomic..AtomicU8$GT$$GT$17hc13f5027cf7f0718E.exit102" + +413: ; preds = %"_ZN4core3ptr70drop_in_place$LT$alloc..rc..Rc$LT$core..sync..atomic..AtomicU8$GT$$GT$17hc13f5027cf7f0718E.exit" + %414 = getelementptr inbounds i8, ptr %409, i64 8 + %415 = load i64, ptr %414, align 8, !noalias !1200, !noundef !14 + %416 = add i64 %415, -1 + store i64 %416, ptr %414, align 8, !noalias !1200 + %417 = icmp eq i64 %416, 0 + br i1 %417, label %418, label %"_ZN4core3ptr70drop_in_place$LT$alloc..rc..Rc$LT$core..sync..atomic..AtomicU8$GT$$GT$17hc13f5027cf7f0718E.exit102" + +418: ; preds = %413 + call void @__rust_dealloc(ptr noundef nonnull %409, i64 noundef 24, i64 noundef 8) #29, !noalias !1200 br label %"_ZN4core3ptr70drop_in_place$LT$alloc..rc..Rc$LT$core..sync..atomic..AtomicU8$GT$$GT$17hc13f5027cf7f0718E.exit102" -"_ZN4core3ptr70drop_in_place$LT$alloc..rc..Rc$LT$core..sync..atomic..AtomicU8$GT$$GT$17hc13f5027cf7f0718E.exit102": ; preds = %414, %409, %"_ZN4core3ptr70drop_in_place$LT$alloc..rc..Rc$LT$core..sync..atomic..AtomicU8$GT$$GT$17hc13f5027cf7f0718E.exit" +"_ZN4core3ptr70drop_in_place$LT$alloc..rc..Rc$LT$core..sync..atomic..AtomicU8$GT$$GT$17hc13f5027cf7f0718E.exit102": ; preds = %418, %413, %"_ZN4core3ptr70drop_in_place$LT$alloc..rc..Rc$LT$core..sync..atomic..AtomicU8$GT$$GT$17hc13f5027cf7f0718E.exit" call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %28) call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %29) call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %30) call void @llvm.experimental.noalias.scope.decl(metadata !1201) call void @llvm.experimental.noalias.scope.decl(metadata !1204) - %415 = load ptr, ptr %31, align 8, !alias.scope !1207, !nonnull !14, !noundef !14 - %416 = atomicrmw sub ptr %415, i64 1 release, align 8, !noalias !1207 - %417 = icmp eq i64 %416, 1 - br i1 %417, label %418, label %"_ZN4core3ptr67drop_in_place$LT$alloc..sync..Arc$LT$mini_lsm..block..Block$GT$$GT$17h71b14420029919eaE.exit104" + %419 = load ptr, ptr %31, align 8, !alias.scope !1207, !nonnull !14, !noundef !14 + %420 = atomicrmw sub ptr %419, i64 1 release, align 8, !noalias !1207 + %421 = icmp eq i64 %420, 1 + br i1 %421, label %422, label %"_ZN4core3ptr67drop_in_place$LT$alloc..sync..Arc$LT$mini_lsm..block..Block$GT$$GT$17h71b14420029919eaE.exit104" -418: ; preds = %"_ZN4core3ptr70drop_in_place$LT$alloc..rc..Rc$LT$core..sync..atomic..AtomicU8$GT$$GT$17hc13f5027cf7f0718E.exit102" +422: ; preds = %"_ZN4core3ptr70drop_in_place$LT$alloc..rc..Rc$LT$core..sync..atomic..AtomicU8$GT$$GT$17hc13f5027cf7f0718E.exit102" fence acquire invoke void @"_ZN5alloc4sync16Arc$LT$T$C$A$GT$9drop_slow17ha296f69e20424ab4E"(ptr noalias noundef nonnull align 8 dereferenceable(8) %31) - to label %"_ZN4core3ptr67drop_in_place$LT$alloc..sync..Arc$LT$mini_lsm..block..Block$GT$$GT$17h71b14420029919eaE.exit104" unwind label %420 + to label %"_ZN4core3ptr67drop_in_place$LT$alloc..sync..Arc$LT$mini_lsm..block..Block$GT$$GT$17h71b14420029919eaE.exit104" unwind label %424 -"_ZN4core3ptr67drop_in_place$LT$alloc..sync..Arc$LT$mini_lsm..block..Block$GT$$GT$17h71b14420029919eaE.exit": ; preds = %39, %43, %420 - %.17 = phi i8 [ %.7, %420 ], [ %.018, %43 ], [ %.018, %39 ] - %.pn45 = phi { ptr, i32 } [ %421, %420 ], [ %.pn43, %43 ], [ %.pn43, %39 ] - %419 = trunc i8 %.17 to i1 - br i1 %419, label %434, label %"_ZN4core3ptr66drop_in_place$LT$alloc..sync..Arc$LT$$LP$usize$C$usize$RP$$GT$$GT$17ha404b2c984e46edaE.exit107" +"_ZN4core3ptr67drop_in_place$LT$alloc..sync..Arc$LT$mini_lsm..block..Block$GT$$GT$17h71b14420029919eaE.exit": ; preds = %39, %43, %424 + %.17 = phi i8 [ %.7, %424 ], [ %.018, %43 ], [ %.018, %39 ] + %.pn45 = phi { ptr, i32 } [ %425, %424 ], [ %.pn43, %43 ], [ %.pn43, %39 ] + %423 = trunc i8 %.17 to i1 + br i1 %423, label %438, label %"_ZN4core3ptr66drop_in_place$LT$alloc..sync..Arc$LT$$LP$usize$C$usize$RP$$GT$$GT$17ha404b2c984e46edaE.exit107" -420: ; preds = %418 - %421 = landingpad { ptr, i32 } +424: ; preds = %422 + %425 = landingpad { ptr, i32 } cleanup br label %"_ZN4core3ptr67drop_in_place$LT$alloc..sync..Arc$LT$mini_lsm..block..Block$GT$$GT$17h71b14420029919eaE.exit" -"_ZN4core3ptr67drop_in_place$LT$alloc..sync..Arc$LT$mini_lsm..block..Block$GT$$GT$17h71b14420029919eaE.exit104": ; preds = %"_ZN4core3ptr70drop_in_place$LT$alloc..rc..Rc$LT$core..sync..atomic..AtomicU8$GT$$GT$17hc13f5027cf7f0718E.exit102", %418 - %422 = trunc i8 %.7 to i1 - br i1 %422, label %423, label %"_ZN4core3ptr66drop_in_place$LT$alloc..sync..Arc$LT$$LP$usize$C$usize$RP$$GT$$GT$17ha404b2c984e46edaE.exit" +"_ZN4core3ptr67drop_in_place$LT$alloc..sync..Arc$LT$mini_lsm..block..Block$GT$$GT$17h71b14420029919eaE.exit104": ; preds = %"_ZN4core3ptr70drop_in_place$LT$alloc..rc..Rc$LT$core..sync..atomic..AtomicU8$GT$$GT$17hc13f5027cf7f0718E.exit102", %422 + %426 = trunc i8 %.7 to i1 + br i1 %426, label %427, label %"_ZN4core3ptr66drop_in_place$LT$alloc..sync..Arc$LT$$LP$usize$C$usize$RP$$GT$$GT$17ha404b2c984e46edaE.exit" -"_ZN4core3ptr66drop_in_place$LT$alloc..sync..Arc$LT$$LP$usize$C$usize$RP$$GT$$GT$17ha404b2c984e46edaE.exit": ; preds = %427, %423, %"_ZN4core3ptr67drop_in_place$LT$alloc..sync..Arc$LT$mini_lsm..block..Block$GT$$GT$17h71b14420029919eaE.exit104" +"_ZN4core3ptr66drop_in_place$LT$alloc..sync..Arc$LT$$LP$usize$C$usize$RP$$GT$$GT$17ha404b2c984e46edaE.exit": ; preds = %431, %427, %"_ZN4core3ptr67drop_in_place$LT$alloc..sync..Arc$LT$mini_lsm..block..Block$GT$$GT$17h71b14420029919eaE.exit104" ret void -423: ; preds = %"_ZN4core3ptr67drop_in_place$LT$alloc..sync..Arc$LT$mini_lsm..block..Block$GT$$GT$17h71b14420029919eaE.exit104" +427: ; preds = %"_ZN4core3ptr67drop_in_place$LT$alloc..sync..Arc$LT$mini_lsm..block..Block$GT$$GT$17h71b14420029919eaE.exit104" call void @llvm.experimental.noalias.scope.decl(metadata !1208) call void @llvm.experimental.noalias.scope.decl(metadata !1211) - %424 = load ptr, ptr %33, align 8, !alias.scope !1214, !nonnull !14, !noundef !14 - %425 = atomicrmw sub ptr %424, i64 1 release, align 8, !noalias !1214 - %426 = icmp eq i64 %425, 1 - br i1 %426, label %427, label %"_ZN4core3ptr66drop_in_place$LT$alloc..sync..Arc$LT$$LP$usize$C$usize$RP$$GT$$GT$17ha404b2c984e46edaE.exit" + %428 = load ptr, ptr %33, align 8, !alias.scope !1214, !nonnull !14, !noundef !14 + %429 = atomicrmw sub ptr %428, i64 1 release, align 8, !noalias !1214 + %430 = icmp eq i64 %429, 1 + br i1 %430, label %431, label %"_ZN4core3ptr66drop_in_place$LT$alloc..sync..Arc$LT$$LP$usize$C$usize$RP$$GT$$GT$17ha404b2c984e46edaE.exit" -427: ; preds = %423 +431: ; preds = %427 fence acquire call void @"_ZN5alloc4sync16Arc$LT$T$C$A$GT$9drop_slow17hc23d70e9a50fcb78E"(ptr noalias noundef nonnull align 8 dereferenceable(8) %33) br label %"_ZN4core3ptr66drop_in_place$LT$alloc..sync..Arc$LT$$LP$usize$C$usize$RP$$GT$$GT$17ha404b2c984e46edaE.exit" -428: ; preds = %"_ZN4core3ptr161drop_in_place$LT$triomphe..arc..Arc$LT$moka..common..concurrent..ValueEntry$LT$$LP$usize$C$usize$RP$$C$alloc..sync..Arc$LT$mini_lsm..block..Block$GT$$GT$$GT$$GT$17hd77347798349483dE.exit95" +432: ; preds = %"_ZN4core3ptr161drop_in_place$LT$triomphe..arc..Arc$LT$moka..common..concurrent..ValueEntry$LT$$LP$usize$C$usize$RP$$C$alloc..sync..Arc$LT$mini_lsm..block..Block$GT$$GT$$GT$$GT$17hd77347798349483dE.exit95" invoke void @"_ZN4core3ptr132drop_in_place$LT$moka..common..concurrent..WriteOp$LT$$LP$usize$C$usize$RP$$C$alloc..sync..Arc$LT$mini_lsm..block..Block$GT$$GT$$GT$17h3f275f13536957ffE.llvm.18092150996463083177"(ptr noalias noundef nonnull align 8 dereferenceable(32) %19) #27 - to label %"_ZN4core3ptr161drop_in_place$LT$triomphe..arc..Arc$LT$moka..common..concurrent..ValueEntry$LT$$LP$usize$C$usize$RP$$C$alloc..sync..Arc$LT$mini_lsm..block..Block$GT$$GT$$GT$$GT$17hd77347798349483dE.exit82" unwind label %301 + to label %"_ZN4core3ptr161drop_in_place$LT$triomphe..arc..Arc$LT$moka..common..concurrent..ValueEntry$LT$$LP$usize$C$usize$RP$$C$alloc..sync..Arc$LT$mini_lsm..block..Block$GT$$GT$$GT$$GT$17hd77347798349483dE.exit82" unwind label %302 -429: ; preds = %"_ZN4core3ptr145drop_in_place$LT$core..option..Option$LT$moka..sync_base..key_lock..KeyLock$LT$$LP$usize$C$usize$RP$$C$std..hash..random..RandomState$GT$$GT$$GT$17hbb98a74961ea7f40E.exit" - %430 = load i64, ptr %26, align 8, !range !60, !alias.scope !1215, !noundef !14 - %431 = icmp eq i64 %430, 0 - br i1 %431, label %"_ZN4core3ptr173drop_in_place$LT$core..option..Option$LT$$LP$u8$C$moka..common..concurrent..WriteOp$LT$$LP$usize$C$usize$RP$$C$alloc..sync..Arc$LT$mini_lsm..block..Block$GT$$GT$$RP$$GT$$GT$17hc6aa742cea6f42caE.exit", label %432 +433: ; preds = %"_ZN4core3ptr145drop_in_place$LT$core..option..Option$LT$moka..sync_base..key_lock..KeyLock$LT$$LP$usize$C$usize$RP$$C$std..hash..random..RandomState$GT$$GT$$GT$17hbb98a74961ea7f40E.exit" + %434 = load i64, ptr %26, align 8, !range !60, !alias.scope !1215, !noundef !14 + %435 = icmp eq i64 %434, 0 + br i1 %435, label %"_ZN4core3ptr173drop_in_place$LT$core..option..Option$LT$$LP$u8$C$moka..common..concurrent..WriteOp$LT$$LP$usize$C$usize$RP$$C$alloc..sync..Arc$LT$mini_lsm..block..Block$GT$$GT$$RP$$GT$$GT$17hc6aa742cea6f42caE.exit", label %436 -432: ; preds = %429 - %433 = getelementptr inbounds i8, ptr %26, i64 16 - invoke void @"_ZN4core3ptr132drop_in_place$LT$moka..common..concurrent..WriteOp$LT$$LP$usize$C$usize$RP$$C$alloc..sync..Arc$LT$mini_lsm..block..Block$GT$$GT$$GT$17h3f275f13536957ffE.llvm.18092150996463083177"(ptr noalias noundef nonnull align 8 dereferenceable(32) %433) - to label %"_ZN4core3ptr173drop_in_place$LT$core..option..Option$LT$$LP$u8$C$moka..common..concurrent..WriteOp$LT$$LP$usize$C$usize$RP$$C$alloc..sync..Arc$LT$mini_lsm..block..Block$GT$$GT$$RP$$GT$$GT$17hc6aa742cea6f42caE.exit" unwind label %301 +436: ; preds = %433 + %437 = getelementptr inbounds i8, ptr %26, i64 16 + invoke void @"_ZN4core3ptr132drop_in_place$LT$moka..common..concurrent..WriteOp$LT$$LP$usize$C$usize$RP$$C$alloc..sync..Arc$LT$mini_lsm..block..Block$GT$$GT$$GT$17h3f275f13536957ffE.llvm.18092150996463083177"(ptr noalias noundef nonnull align 8 dereferenceable(32) %437) + to label %"_ZN4core3ptr173drop_in_place$LT$core..option..Option$LT$$LP$u8$C$moka..common..concurrent..WriteOp$LT$$LP$usize$C$usize$RP$$C$alloc..sync..Arc$LT$mini_lsm..block..Block$GT$$GT$$RP$$GT$$GT$17hc6aa742cea6f42caE.exit" unwind label %302 -"_ZN4core3ptr173drop_in_place$LT$core..option..Option$LT$$LP$u8$C$moka..common..concurrent..WriteOp$LT$$LP$usize$C$usize$RP$$C$alloc..sync..Arc$LT$mini_lsm..block..Block$GT$$GT$$RP$$GT$$GT$17hc6aa742cea6f42caE.exit": ; preds = %429, %432 +"_ZN4core3ptr173drop_in_place$LT$core..option..Option$LT$$LP$u8$C$moka..common..concurrent..WriteOp$LT$$LP$usize$C$usize$RP$$C$alloc..sync..Arc$LT$mini_lsm..block..Block$GT$$GT$$RP$$GT$$GT$17hc6aa742cea6f42caE.exit": ; preds = %433, %436 invoke void @"_ZN4core3ptr70drop_in_place$LT$alloc..rc..Rc$LT$core..sync..atomic..AtomicU8$GT$$GT$17hc13f5027cf7f0718E"(ptr noalias noundef nonnull align 8 dereferenceable(8) %27) #27 - to label %71 unwind label %301 + to label %71 unwind label %302 -"_ZN4core3ptr66drop_in_place$LT$alloc..sync..Arc$LT$$LP$usize$C$usize$RP$$GT$$GT$17ha404b2c984e46edaE.exit107": ; preds = %434, %438, %"_ZN4core3ptr67drop_in_place$LT$alloc..sync..Arc$LT$mini_lsm..block..Block$GT$$GT$17h71b14420029919eaE.exit" +"_ZN4core3ptr66drop_in_place$LT$alloc..sync..Arc$LT$$LP$usize$C$usize$RP$$GT$$GT$17ha404b2c984e46edaE.exit107": ; preds = %438, %442, %"_ZN4core3ptr67drop_in_place$LT$alloc..sync..Arc$LT$mini_lsm..block..Block$GT$$GT$17h71b14420029919eaE.exit" resume { ptr, i32 } %.pn45 -434: ; preds = %"_ZN4core3ptr67drop_in_place$LT$alloc..sync..Arc$LT$mini_lsm..block..Block$GT$$GT$17h71b14420029919eaE.exit" +438: ; preds = %"_ZN4core3ptr67drop_in_place$LT$alloc..sync..Arc$LT$mini_lsm..block..Block$GT$$GT$17h71b14420029919eaE.exit" call void @llvm.experimental.noalias.scope.decl(metadata !1218) call void @llvm.experimental.noalias.scope.decl(metadata !1221) - %435 = load ptr, ptr %33, align 8, !alias.scope !1224, !nonnull !14, !noundef !14 - %436 = atomicrmw sub ptr %435, i64 1 release, align 8, !noalias !1224 - %437 = icmp eq i64 %436, 1 - br i1 %437, label %438, label %"_ZN4core3ptr66drop_in_place$LT$alloc..sync..Arc$LT$$LP$usize$C$usize$RP$$GT$$GT$17ha404b2c984e46edaE.exit107" + %439 = load ptr, ptr %33, align 8, !alias.scope !1224, !nonnull !14, !noundef !14 + %440 = atomicrmw sub ptr %439, i64 1 release, align 8, !noalias !1224 + %441 = icmp eq i64 %440, 1 + br i1 %441, label %442, label %"_ZN4core3ptr66drop_in_place$LT$alloc..sync..Arc$LT$$LP$usize$C$usize$RP$$GT$$GT$17ha404b2c984e46edaE.exit107" -438: ; preds = %434 +442: ; preds = %438 fence acquire invoke void @"_ZN5alloc4sync16Arc$LT$T$C$A$GT$9drop_slow17hc23d70e9a50fcb78E"(ptr noalias noundef nonnull align 8 dereferenceable(8) %33) - to label %"_ZN4core3ptr66drop_in_place$LT$alloc..sync..Arc$LT$$LP$usize$C$usize$RP$$GT$$GT$17ha404b2c984e46edaE.exit107" unwind label %301 + to label %"_ZN4core3ptr66drop_in_place$LT$alloc..sync..Arc$LT$$LP$usize$C$usize$RP$$GT$$GT$17ha404b2c984e46edaE.exit107" unwind label %302 } ; Function Attrs: mustprogress nofree norecurse nosync nounwind nonlazybind willreturn memory(none) uwtable diff --git a/bench/mini-lsm-rs/optimized/dzpffnb5f2gzk8.ll b/bench/mini-lsm-rs/optimized/dzpffnb5f2gzk8.ll index dc4a0cae853..37e6962e58b 100644 --- a/bench/mini-lsm-rs/optimized/dzpffnb5f2gzk8.ll +++ b/bench/mini-lsm-rs/optimized/dzpffnb5f2gzk8.ll @@ -12553,297 +12553,292 @@ define void @_ZN8mini_lsm9mem_table8MemTable4scan17haf90d5fef3a4a1b8E(ptr noalia %.sroa.0.i = alloca { { ptr, ptr, i64, { ptr } }, { ptr, ptr, i64, { ptr } } }, align 8 %5 = alloca { { i64, [4 x i64] }, { i64, [4 x i64] } }, align 8 %6 = alloca ptr, align 8 - %7 = alloca { { i64, [4 x i64] }, { i64, [4 x i64] } }, align 8 + %7 = alloca { ptr, ptr, i64, { ptr } }, align 8 %8 = alloca { ptr, ptr, i64, { ptr } }, align 8 - %9 = alloca { ptr, ptr, i64, { ptr } }, align 8 - %10 = alloca { { ptr, ptr, i64, { ptr } }, { ptr, ptr, i64, { ptr } } }, align 8 - %11 = alloca { { i64, [4 x i64] }, { i64, [4 x i64] } }, align 8 - %12 = alloca { { [24 x i64] } }, align 8 + %9 = alloca { { ptr, ptr, i64, { ptr } }, { ptr, ptr, i64, { ptr } } }, align 8 + %10 = alloca { { i64, [4 x i64] }, { i64, [4 x i64] } }, align 8 + %11 = alloca { { [24 x i64] } }, align 8 %.sroa.4 = alloca [4 x i64], align 8 + %12 = alloca { i64, [4 x i64] }, align 8 %13 = alloca { i64, [4 x i64] }, align 8 - %14 = alloca { i64, [4 x i64] }, align 8 - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %13) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %12) tail call void @llvm.experimental.noalias.scope.decl(metadata !2629) tail call void @llvm.experimental.noalias.scope.decl(metadata !2632) - %15 = load i64, ptr %2, align 8, !range !2146, !alias.scope !2632, !noalias !2629, !noundef !4 - switch i64 %15, label %default.unreachable [ - i64 0, label %16 - i64 1, label %22 - i64 2, label %28 + %14 = load i64, ptr %2, align 8, !range !2146, !alias.scope !2632, !noalias !2629, !noundef !4 + switch i64 %14, label %default.unreachable [ + i64 0, label %15 + i64 1, label %21 + i64 2, label %27 ] default.unreachable: ; preds = %_ZN8mini_lsm9mem_table9map_bound17hfd7529ee5e9ecbc8E.exit, %4 unreachable -16: ; preds = %4 - %17 = getelementptr inbounds i8, ptr %2, i64 8 - %18 = load ptr, ptr %17, align 8, !alias.scope !2632, !noalias !2629, !nonnull !4, !align !2397, !noundef !4 - %19 = getelementptr inbounds i8, ptr %2, i64 16 - %20 = load i64, ptr %19, align 8, !alias.scope !2632, !noalias !2629, !noundef !4 - %21 = getelementptr inbounds i8, ptr %13, i64 8 - call void @_ZN5bytes5bytes5Bytes15copy_from_slice17hb8612bb770263341E(ptr noalias nocapture noundef nonnull sret({ ptr, ptr, i64, { ptr } }) align 8 dereferenceable(32) %21, ptr noalias noundef nonnull readonly align 1 %18, i64 noundef %20), !noalias !2632 - store i64 0, ptr %13, align 8, !alias.scope !2629, !noalias !2632 +15: ; preds = %4 + %16 = getelementptr inbounds i8, ptr %2, i64 8 + %17 = load ptr, ptr %16, align 8, !alias.scope !2632, !noalias !2629, !nonnull !4, !align !2397, !noundef !4 + %18 = getelementptr inbounds i8, ptr %2, i64 16 + %19 = load i64, ptr %18, align 8, !alias.scope !2632, !noalias !2629, !noundef !4 + %20 = getelementptr inbounds i8, ptr %12, i64 8 + call void @_ZN5bytes5bytes5Bytes15copy_from_slice17hb8612bb770263341E(ptr noalias nocapture noundef nonnull sret({ ptr, ptr, i64, { ptr } }) align 8 dereferenceable(32) %20, ptr noalias noundef nonnull readonly align 1 %17, i64 noundef %19), !noalias !2632 + store i64 0, ptr %12, align 8, !alias.scope !2629, !noalias !2632 br label %_ZN8mini_lsm9mem_table9map_bound17hfd7529ee5e9ecbc8E.exit -22: ; preds = %4 - %23 = getelementptr inbounds i8, ptr %2, i64 8 - %24 = load ptr, ptr %23, align 8, !alias.scope !2632, !noalias !2629, !nonnull !4, !align !2397, !noundef !4 - %25 = getelementptr inbounds i8, ptr %2, i64 16 - %26 = load i64, ptr %25, align 8, !alias.scope !2632, !noalias !2629, !noundef !4 - %27 = getelementptr inbounds i8, ptr %13, i64 8 - call void @_ZN5bytes5bytes5Bytes15copy_from_slice17hb8612bb770263341E(ptr noalias nocapture noundef nonnull sret({ ptr, ptr, i64, { ptr } }) align 8 dereferenceable(32) %27, ptr noalias noundef nonnull readonly align 1 %24, i64 noundef %26), !noalias !2632 - store i64 1, ptr %13, align 8, !alias.scope !2629, !noalias !2632 +21: ; preds = %4 + %22 = getelementptr inbounds i8, ptr %2, i64 8 + %23 = load ptr, ptr %22, align 8, !alias.scope !2632, !noalias !2629, !nonnull !4, !align !2397, !noundef !4 + %24 = getelementptr inbounds i8, ptr %2, i64 16 + %25 = load i64, ptr %24, align 8, !alias.scope !2632, !noalias !2629, !noundef !4 + %26 = getelementptr inbounds i8, ptr %12, i64 8 + call void @_ZN5bytes5bytes5Bytes15copy_from_slice17hb8612bb770263341E(ptr noalias nocapture noundef nonnull sret({ ptr, ptr, i64, { ptr } }) align 8 dereferenceable(32) %26, ptr noalias noundef nonnull readonly align 1 %23, i64 noundef %25), !noalias !2632 + store i64 1, ptr %12, align 8, !alias.scope !2629, !noalias !2632 br label %_ZN8mini_lsm9mem_table9map_bound17hfd7529ee5e9ecbc8E.exit -28: ; preds = %4 - store i64 2, ptr %13, align 8, !alias.scope !2629, !noalias !2632 +27: ; preds = %4 + store i64 2, ptr %12, align 8, !alias.scope !2629, !noalias !2632 br label %_ZN8mini_lsm9mem_table9map_bound17hfd7529ee5e9ecbc8E.exit -_ZN8mini_lsm9mem_table9map_bound17hfd7529ee5e9ecbc8E.exit: ; preds = %16, %22, %28 +_ZN8mini_lsm9mem_table9map_bound17hfd7529ee5e9ecbc8E.exit: ; preds = %15, %21, %27 tail call void @llvm.experimental.noalias.scope.decl(metadata !2634) - %29 = load i64, ptr %3, align 8, !range !2146, !alias.scope !2634, !noalias !2637, !noundef !4 - switch i64 %29, label %default.unreachable [ - i64 0, label %30 - i64 1, label %35 + %28 = load i64, ptr %3, align 8, !range !2146, !alias.scope !2634, !noalias !2637, !noundef !4 + switch i64 %28, label %default.unreachable [ + i64 0, label %29 + i64 1, label %34 i64 2, label %_ZN8mini_lsm9mem_table9map_bound17hfd7529ee5e9ecbc8E.exit15 ] -30: ; preds = %_ZN8mini_lsm9mem_table9map_bound17hfd7529ee5e9ecbc8E.exit - %31 = getelementptr inbounds i8, ptr %3, i64 8 - %32 = load ptr, ptr %31, align 8, !alias.scope !2634, !noalias !2637, !nonnull !4, !align !2397, !noundef !4 - %33 = getelementptr inbounds i8, ptr %3, i64 16 - %34 = load i64, ptr %33, align 8, !alias.scope !2634, !noalias !2637, !noundef !4 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %9), !noalias !2639 - invoke void @_ZN5bytes5bytes5Bytes15copy_from_slice17hb8612bb770263341E(ptr noalias nocapture noundef nonnull sret({ ptr, ptr, i64, { ptr } }) align 8 dereferenceable(32) %9, ptr noalias noundef nonnull readonly align 1 %32, i64 noundef %34) - to label %.noexc unwind label %40 - -.noexc: ; preds = %30 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %.sroa.4, ptr noundef nonnull align 8 dereferenceable(32) %9, i64 32, i1 false) - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %9), !noalias !2639 - br label %_ZN8mini_lsm9mem_table9map_bound17hfd7529ee5e9ecbc8E.exit15 - -35: ; preds = %_ZN8mini_lsm9mem_table9map_bound17hfd7529ee5e9ecbc8E.exit - %36 = getelementptr inbounds i8, ptr %3, i64 8 - %37 = load ptr, ptr %36, align 8, !alias.scope !2634, !noalias !2637, !nonnull !4, !align !2397, !noundef !4 - %38 = getelementptr inbounds i8, ptr %3, i64 16 - %39 = load i64, ptr %38, align 8, !alias.scope !2634, !noalias !2637, !noundef !4 +29: ; preds = %_ZN8mini_lsm9mem_table9map_bound17hfd7529ee5e9ecbc8E.exit + %30 = getelementptr inbounds i8, ptr %3, i64 8 + %31 = load ptr, ptr %30, align 8, !alias.scope !2634, !noalias !2637, !nonnull !4, !align !2397, !noundef !4 + %32 = getelementptr inbounds i8, ptr %3, i64 16 + %33 = load i64, ptr %32, align 8, !alias.scope !2634, !noalias !2637, !noundef !4 call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %8), !noalias !2639 - invoke void @_ZN5bytes5bytes5Bytes15copy_from_slice17hb8612bb770263341E(ptr noalias nocapture noundef nonnull sret({ ptr, ptr, i64, { ptr } }) align 8 dereferenceable(32) %8, ptr noalias noundef nonnull readonly align 1 %37, i64 noundef %39) - to label %.noexc14 unwind label %40 + invoke void @_ZN5bytes5bytes5Bytes15copy_from_slice17hb8612bb770263341E(ptr noalias nocapture noundef nonnull sret({ ptr, ptr, i64, { ptr } }) align 8 dereferenceable(32) %8, ptr noalias noundef nonnull readonly align 1 %31, i64 noundef %33) + to label %.noexc unwind label %39 -.noexc14: ; preds = %35 +.noexc: ; preds = %29 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %.sroa.4, ptr noundef nonnull align 8 dereferenceable(32) %8, i64 32, i1 false) call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %8), !noalias !2639 br label %_ZN8mini_lsm9mem_table9map_bound17hfd7529ee5e9ecbc8E.exit15 -40: ; preds = %35, %30 - %41 = landingpad { ptr, i32 } +34: ; preds = %_ZN8mini_lsm9mem_table9map_bound17hfd7529ee5e9ecbc8E.exit + %35 = getelementptr inbounds i8, ptr %3, i64 8 + %36 = load ptr, ptr %35, align 8, !alias.scope !2634, !noalias !2637, !nonnull !4, !align !2397, !noundef !4 + %37 = getelementptr inbounds i8, ptr %3, i64 16 + %38 = load i64, ptr %37, align 8, !alias.scope !2634, !noalias !2637, !noundef !4 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %7), !noalias !2639 + invoke void @_ZN5bytes5bytes5Bytes15copy_from_slice17hb8612bb770263341E(ptr noalias nocapture noundef nonnull sret({ ptr, ptr, i64, { ptr } }) align 8 dereferenceable(32) %7, ptr noalias noundef nonnull readonly align 1 %36, i64 noundef %38) + to label %.noexc14 unwind label %39 + +.noexc14: ; preds = %34 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %.sroa.4, ptr noundef nonnull align 8 dereferenceable(32) %7, i64 32, i1 false) + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %7), !noalias !2639 + br label %_ZN8mini_lsm9mem_table9map_bound17hfd7529ee5e9ecbc8E.exit15 + +39: ; preds = %34, %29 + %40 = landingpad { ptr, i32 } cleanup - invoke fastcc void @"_ZN4core3ptr71drop_in_place$LT$core..ops..range..Bound$LT$bytes..bytes..Bytes$GT$$GT$17h2adb99dbf02e83a8E"(ptr noalias noundef nonnull align 8 dereferenceable(40) %13) #28 - to label %.critedge unwind label %103 + invoke fastcc void @"_ZN4core3ptr71drop_in_place$LT$core..ops..range..Bound$LT$bytes..bytes..Bytes$GT$$GT$17h2adb99dbf02e83a8E"(ptr noalias noundef nonnull align 8 dereferenceable(40) %12) #28 + to label %.critedge unwind label %101 _ZN8mini_lsm9mem_table9map_bound17hfd7529ee5e9ecbc8E.exit15: ; preds = %.noexc14, %.noexc, %_ZN8mini_lsm9mem_table9map_bound17hfd7529ee5e9ecbc8E.exit - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %14) - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %14, ptr noundef nonnull align 8 dereferenceable(40) %13, i64 40, i1 false) - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %13) - call void @llvm.lifetime.start.p0(i64 192, ptr nonnull %12) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %13) + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %13, ptr noundef nonnull align 8 dereferenceable(40) %12, i64 40, i1 false) + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %12) + call void @llvm.lifetime.start.p0(i64 192, ptr nonnull %11) %.val = load ptr, ptr %1, align 8, !nonnull !4, !noundef !4 - %42 = atomicrmw add ptr %.val, i64 1 monotonic, align 8 - %43 = icmp slt i64 %42, 0 - br i1 %43, label %44, label %"_ZN68_$LT$alloc..sync..Arc$LT$T$C$A$GT$$u20$as$u20$core..clone..Clone$GT$5clone17h1b7776cccd0fd8e4E.exit" + %41 = atomicrmw add ptr %.val, i64 1 monotonic, align 8 + %42 = icmp slt i64 %41, 0 + br i1 %42, label %43, label %"_ZN68_$LT$alloc..sync..Arc$LT$T$C$A$GT$$u20$as$u20$core..clone..Clone$GT$5clone17h1b7776cccd0fd8e4E.exit" -44: ; preds = %_ZN8mini_lsm9mem_table9map_bound17hfd7529ee5e9ecbc8E.exit15 +43: ; preds = %_ZN8mini_lsm9mem_table9map_bound17hfd7529ee5e9ecbc8E.exit15 tail call void @llvm.trap() unreachable "_ZN68_$LT$alloc..sync..Arc$LT$T$C$A$GT$$u20$as$u20$core..clone..Clone$GT$5clone17h1b7776cccd0fd8e4E.exit": ; preds = %_ZN8mini_lsm9mem_table9map_bound17hfd7529ee5e9ecbc8E.exit15 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %11, ptr noundef nonnull align 8 dereferenceable(40) %14, i64 40, i1 false) - %45 = getelementptr inbounds i8, ptr %11, i64 40 - store i64 %29, ptr %45, align 8 - %.sroa.422.0..sroa_idx = getelementptr inbounds i8, ptr %11, i64 48 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %10, ptr noundef nonnull align 8 dereferenceable(40) %13, i64 40, i1 false) + %44 = getelementptr inbounds i8, ptr %10, i64 40 + store i64 %28, ptr %44, align 8 + %.sroa.422.0..sroa_idx = getelementptr inbounds i8, ptr %10, i64 48 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %.sroa.422.0..sroa_idx, ptr noundef nonnull align 8 dereferenceable(32) %.sroa.4, i64 32, i1 false) - store ptr @anon.b10b026f254355b4a243989b93340f03.82, ptr %10, align 8 - %.sroa.4.0..sroa_idx = getelementptr inbounds i8, ptr %10, i64 8 + store ptr @anon.b10b026f254355b4a243989b93340f03.82, ptr %9, align 8 + %.sroa.4.0..sroa_idx = getelementptr inbounds i8, ptr %9, i64 8 store ptr @anon.b10b026f254355b4a243989b93340f03.53, ptr %.sroa.4.0..sroa_idx, align 8 - %.sroa.5.0..sroa_idx = getelementptr inbounds i8, ptr %10, i64 16 - %46 = getelementptr inbounds i8, ptr %10, i64 32 + %.sroa.5.0..sroa_idx = getelementptr inbounds i8, ptr %9, i64 16 + %45 = getelementptr inbounds i8, ptr %9, i64 32 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %.sroa.5.0..sroa_idx, i8 0, i64 16, i1 false) - store ptr @anon.b10b026f254355b4a243989b93340f03.82, ptr %46, align 8 - %.sroa.42.0..sroa_idx = getelementptr inbounds i8, ptr %10, i64 40 + store ptr @anon.b10b026f254355b4a243989b93340f03.82, ptr %45, align 8 + %.sroa.42.0..sroa_idx = getelementptr inbounds i8, ptr %9, i64 40 store ptr @anon.b10b026f254355b4a243989b93340f03.53, ptr %.sroa.42.0..sroa_idx, align 8 - %.sroa.53.0..sroa_idx = getelementptr inbounds i8, ptr %10, i64 48 + %.sroa.53.0..sroa_idx = getelementptr inbounds i8, ptr %9, i64 48 tail call void @llvm.experimental.noalias.scope.decl(metadata !2640) tail call void @llvm.experimental.noalias.scope.decl(metadata !2643) call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %.sroa.53.0..sroa_idx, i8 0, i64 16, i1 false) call void @llvm.lifetime.start.p0(i64 80, ptr nonnull %5) call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %6), !noalias !2645 store ptr %.val, ptr %6, align 8, !noalias !2645 - %47 = load volatile i8, ptr @__rust_no_alloc_shim_is_unstable, align 1, !noalias !2645 - %48 = tail call noundef align 8 dereferenceable_or_null(8) ptr @__rust_alloc(i64 noundef 8, i64 noundef 8) #19, !noalias !2645 - %49 = icmp eq ptr %48, null - br i1 %49, label %50, label %61 + %46 = load volatile i8, ptr @__rust_no_alloc_shim_is_unstable, align 1, !noalias !2645 + %47 = tail call noundef align 8 dereferenceable_or_null(8) ptr @__rust_alloc(i64 noundef 8, i64 noundef 8) #19, !noalias !2645 + %48 = icmp eq ptr %47, null + br i1 %48, label %49, label %60 -50: ; preds = %"_ZN68_$LT$alloc..sync..Arc$LT$T$C$A$GT$$u20$as$u20$core..clone..Clone$GT$5clone17h1b7776cccd0fd8e4E.exit" +49: ; preds = %"_ZN68_$LT$alloc..sync..Arc$LT$T$C$A$GT$$u20$as$u20$core..clone..Clone$GT$5clone17h1b7776cccd0fd8e4E.exit" invoke void @_ZN5alloc5alloc18handle_alloc_error17h81706c48453a6249E(i64 noundef 8, i64 noundef 8) #27 - to label %.noexc.i.i unwind label %51, !noalias !2645 + to label %.noexc.i.i unwind label %50, !noalias !2645 -.noexc.i.i: ; preds = %50 +.noexc.i.i: ; preds = %49 unreachable -51: ; preds = %50 - %52 = landingpad { ptr, i32 } +50: ; preds = %49 + %51 = landingpad { ptr, i32 } cleanup - %53 = atomicrmw sub ptr %.val, i64 1 release, align 8, !noalias !2647 - %54 = icmp eq i64 %53, 1 - br i1 %54, label %55, label %.body.i + %52 = atomicrmw sub ptr %.val, i64 1 release, align 8, !noalias !2647 + %53 = icmp eq i64 %52, 1 + br i1 %53, label %54, label %.body.i -55: ; preds = %51 +54: ; preds = %50 fence acquire invoke void @"_ZN5alloc4sync16Arc$LT$T$C$A$GT$9drop_slow17h36e9b253a8ab3268E"(ptr noalias noundef nonnull align 8 dereferenceable(8) %6) - to label %.body.i unwind label %56, !noalias !2645 + to label %.body.i unwind label %55, !noalias !2645 -56: ; preds = %55 - %57 = landingpad { ptr, i32 } +55: ; preds = %54 + %56 = landingpad { ptr, i32 } filter [0 x ptr] zeroinitializer call void @_ZN4core9panicking16panic_in_cleanup17h55eb1d85cadde1a1E() #29, !noalias !2645 unreachable -.body.i: ; preds = %55, %51 - invoke fastcc void @"_ZN4core3ptr70drop_in_place$LT$$LP$bytes..bytes..Bytes$C$bytes..bytes..Bytes$RP$$GT$17h1c70bd0ff85cf968E"(ptr noalias noundef nonnull align 8 dereferenceable(64) %10) #28 - to label %60 unwind label %58, !noalias !2652 +.body.i: ; preds = %54, %50 + invoke fastcc void @"_ZN4core3ptr70drop_in_place$LT$$LP$bytes..bytes..Bytes$C$bytes..bytes..Bytes$RP$$GT$17h1c70bd0ff85cf968E"(ptr noalias noundef nonnull align 8 dereferenceable(64) %9) #28 + to label %59 unwind label %57, !noalias !2652 -58: ; preds = %60, %.body.i - %59 = landingpad { ptr, i32 } +57: ; preds = %59, %.body.i + %58 = landingpad { ptr, i32 } filter [0 x ptr] zeroinitializer call void @_ZN4core9panicking16panic_in_cleanup17h55eb1d85cadde1a1E() #29, !noalias !2640 unreachable -60: ; preds = %.body.i - invoke fastcc void @"_ZN4core3ptr85drop_in_place$LT$mini_lsm..mem_table..MemTable..scan..$u7b$$u7b$closure$u7d$$u7d$$GT$17h288860fa5bfee091E"(ptr noalias noundef nonnull align 8 dereferenceable(80) %11) #28 - to label %.critedge unwind label %58, !noalias !2640 +59: ; preds = %.body.i + invoke fastcc void @"_ZN4core3ptr85drop_in_place$LT$mini_lsm..mem_table..MemTable..scan..$u7b$$u7b$closure$u7d$$u7d$$GT$17h288860fa5bfee091E"(ptr noalias noundef nonnull align 8 dereferenceable(80) %10) #28 + to label %.critedge unwind label %57, !noalias !2640 -61: ; preds = %"_ZN68_$LT$alloc..sync..Arc$LT$T$C$A$GT$$u20$as$u20$core..clone..Clone$GT$5clone17h1b7776cccd0fd8e4E.exit" - store ptr %.val, ptr %48, align 8, !noalias !2645 +60: ; preds = %"_ZN68_$LT$alloc..sync..Arc$LT$T$C$A$GT$$u20$as$u20$core..clone..Clone$GT$5clone17h1b7776cccd0fd8e4E.exit" + store ptr %.val, ptr %47, align 8, !noalias !2645 call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %6), !noalias !2645 - call void @llvm.lifetime.start.p0(i64 80, ptr nonnull %7) - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(80) %7, ptr noundef nonnull align 8 dereferenceable(80) %11, i64 80, i1 false), !noalias !2653 - %62 = getelementptr inbounds i8, ptr %7, i64 40 - %63 = getelementptr inbounds i8, ptr %5, i64 40 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %63, ptr noundef nonnull align 8 dereferenceable(40) %62, i64 40, i1 false), !noalias !2645 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %5, ptr noundef nonnull align 8 dereferenceable(40) %14, i64 40, i1 false) - %64 = getelementptr inbounds i8, ptr %.val, i64 128 - call void @llvm.lifetime.end.p0(i64 80, ptr nonnull %7) - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(80) %12, ptr noundef nonnull align 8 dereferenceable(80) %5, i64 80, i1 false), !noalias !2654 - %.sroa.0.sroa.0.sroa.4.0..sroa_idx.i = getelementptr inbounds i8, ptr %12, i64 80 - store ptr %64, ptr %.sroa.0.sroa.0.sroa.4.0..sroa_idx.i, align 8, !alias.scope !2640, !noalias !2654 - %.sroa.0.sroa.0.sroa.5.0..sroa_idx.i = getelementptr inbounds i8, ptr %12, i64 88 + %61 = getelementptr inbounds i8, ptr %5, i64 40 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %61, ptr noundef nonnull align 8 dereferenceable(40) %44, i64 40, i1 false), !noalias !2653 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %5, ptr noundef nonnull align 8 dereferenceable(40) %13, i64 40, i1 false) + %62 = getelementptr inbounds i8, ptr %.val, i64 128 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(80) %11, ptr noundef nonnull align 8 dereferenceable(80) %5, i64 80, i1 false), !noalias !2654 + %.sroa.0.sroa.0.sroa.4.0..sroa_idx.i = getelementptr inbounds i8, ptr %11, i64 80 + store ptr %62, ptr %.sroa.0.sroa.0.sroa.4.0..sroa_idx.i, align 8, !alias.scope !2640, !noalias !2654 + %.sroa.0.sroa.0.sroa.5.0..sroa_idx.i = getelementptr inbounds i8, ptr %11, i64 88 store ptr null, ptr %.sroa.0.sroa.0.sroa.5.0..sroa_idx.i, align 8, !alias.scope !2640, !noalias !2654 - %.sroa.0.sroa.0.sroa.7.0..sroa_idx.i = getelementptr inbounds i8, ptr %12, i64 104 + %.sroa.0.sroa.0.sroa.7.0..sroa_idx.i = getelementptr inbounds i8, ptr %11, i64 104 store ptr null, ptr %.sroa.0.sroa.0.sroa.7.0..sroa_idx.i, align 8, !alias.scope !2640, !noalias !2654 - %.sroa.0.sroa.0.sroa.9.0..sroa_idx.i = getelementptr inbounds i8, ptr %12, i64 120 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(64) %.sroa.0.sroa.0.sroa.9.0..sroa_idx.i, ptr noundef nonnull align 8 dereferenceable(64) %10, i64 64, i1 false), !alias.scope !2653, !noalias !2655 - %.sroa.0.sroa.4.0..sroa_idx.i = getelementptr inbounds i8, ptr %12, i64 184 - store ptr %48, ptr %.sroa.0.sroa.4.0..sroa_idx.i, align 8, !alias.scope !2640, !noalias !2654 + %.sroa.0.sroa.0.sroa.9.0..sroa_idx.i = getelementptr inbounds i8, ptr %11, i64 120 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(64) %.sroa.0.sroa.0.sroa.9.0..sroa_idx.i, ptr noundef nonnull align 8 dereferenceable(64) %9, i64 64, i1 false), !alias.scope !2653, !noalias !2655 + %.sroa.0.sroa.4.0..sroa_idx.i = getelementptr inbounds i8, ptr %11, i64 184 + store ptr %47, ptr %.sroa.0.sroa.4.0..sroa_idx.i, align 8, !alias.scope !2640, !noalias !2654 call void @llvm.lifetime.end.p0(i64 80, ptr nonnull %5) call void @llvm.lifetime.start.p0(i64 64, ptr nonnull %.sroa.0.i) - %65 = invoke { ptr, ptr } @"_ZN110_$LT$crossbeam_skiplist..map..Range$LT$Q$C$R$C$K$C$V$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h142ab87abaec0ef5E.llvm.885679253126787145"(ptr noalias noundef nonnull align 8 dereferenceable(120) %12) - to label %.noexc16 unwind label %100 + %63 = invoke { ptr, ptr } @"_ZN110_$LT$crossbeam_skiplist..map..Range$LT$Q$C$R$C$K$C$V$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h142ab87abaec0ef5E.llvm.885679253126787145"(ptr noalias noundef nonnull align 8 dereferenceable(120) %11) + to label %.noexc16 unwind label %98 -.noexc16: ; preds = %61 - %66 = extractvalue { ptr, ptr } %65, 0 - %67 = extractvalue { ptr, ptr } %65, 1 - invoke void @"_ZN8mini_lsm9mem_table90_$LT$impl$u20$mini_lsm..mem_table..ouroboros_impl_mem_table_iterator..MemTableIterator$GT$13entry_to_item17h80f94ab8ab43cf35E.llvm.885679253126787145"(ptr noalias nocapture noundef nonnull sret({ { ptr, ptr, i64, { ptr } }, { ptr, ptr, i64, { ptr } } }) align 8 dereferenceable(64) %.sroa.0.i, ptr noundef align 128 %66, ptr %67) - to label %.noexc17 unwind label %100 +.noexc16: ; preds = %60 + %64 = extractvalue { ptr, ptr } %63, 0 + %65 = extractvalue { ptr, ptr } %63, 1 + invoke void @"_ZN8mini_lsm9mem_table90_$LT$impl$u20$mini_lsm..mem_table..ouroboros_impl_mem_table_iterator..MemTableIterator$GT$13entry_to_item17h80f94ab8ab43cf35E.llvm.885679253126787145"(ptr noalias nocapture noundef nonnull sret({ { ptr, ptr, i64, { ptr } }, { ptr, ptr, i64, { ptr } } }) align 8 dereferenceable(64) %.sroa.0.i, ptr noundef align 128 %64, ptr %65) + to label %.noexc17 unwind label %98 .noexc17: ; preds = %.noexc16 call void @llvm.experimental.noalias.scope.decl(metadata !2656) call void @llvm.experimental.noalias.scope.decl(metadata !2659) call void @llvm.experimental.noalias.scope.decl(metadata !2662) - %68 = load ptr, ptr %.sroa.0.sroa.0.sroa.9.0..sroa_idx.i, align 8, !alias.scope !2665, !noalias !2668, !nonnull !4, !align !5, !noundef !4 - %69 = getelementptr inbounds i8, ptr %68, i64 16 - %70 = load ptr, ptr %69, align 8, !noalias !2672, !nonnull !4, !noundef !4 - %71 = getelementptr inbounds i8, ptr %12, i64 144 - %72 = getelementptr inbounds i8, ptr %12, i64 128 - %73 = load ptr, ptr %72, align 8, !alias.scope !2665, !noalias !2668, !noundef !4 - %74 = getelementptr inbounds i8, ptr %12, i64 136 - %75 = load i64, ptr %74, align 8, !alias.scope !2665, !noalias !2668, !noundef !4 - invoke void %70(ptr noalias noundef nonnull align 8 dereferenceable(8) %71, ptr noundef %73, i64 noundef %75) - to label %"_ZN4core3ptr40drop_in_place$LT$bytes..bytes..Bytes$GT$17hc52b48903511acadE.llvm.885679253126787145.exit.i.i.i" unwind label %76, !noalias !2668 - -76: ; preds = %.noexc17 - %77 = landingpad { ptr, i32 } - cleanup - %78 = getelementptr inbounds i8, ptr %12, i64 152 + %66 = load ptr, ptr %.sroa.0.sroa.0.sroa.9.0..sroa_idx.i, align 8, !alias.scope !2665, !noalias !2668, !nonnull !4, !align !5, !noundef !4 + %67 = getelementptr inbounds i8, ptr %66, i64 16 + %68 = load ptr, ptr %67, align 8, !noalias !2672, !nonnull !4, !noundef !4 + %69 = getelementptr inbounds i8, ptr %11, i64 144 + %70 = getelementptr inbounds i8, ptr %11, i64 128 + %71 = load ptr, ptr %70, align 8, !alias.scope !2665, !noalias !2668, !noundef !4 + %72 = getelementptr inbounds i8, ptr %11, i64 136 + %73 = load i64, ptr %72, align 8, !alias.scope !2665, !noalias !2668, !noundef !4 + invoke void %68(ptr noalias noundef nonnull align 8 dereferenceable(8) %69, ptr noundef %71, i64 noundef %73) + to label %"_ZN4core3ptr40drop_in_place$LT$bytes..bytes..Bytes$GT$17hc52b48903511acadE.llvm.885679253126787145.exit.i.i.i" unwind label %74, !noalias !2668 + +74: ; preds = %.noexc17 + %75 = landingpad { ptr, i32 } + cleanup + %76 = getelementptr inbounds i8, ptr %11, i64 152 call void @llvm.experimental.noalias.scope.decl(metadata !2673) call void @llvm.experimental.noalias.scope.decl(metadata !2676) - %79 = load ptr, ptr %78, align 8, !alias.scope !2679, !noalias !2668, !nonnull !4, !align !5, !noundef !4 - %80 = getelementptr inbounds i8, ptr %79, i64 16 - %81 = load ptr, ptr %80, align 8, !noalias !2680, !nonnull !4, !noundef !4 - %82 = getelementptr inbounds i8, ptr %12, i64 176 - %83 = getelementptr inbounds i8, ptr %12, i64 160 - %84 = load ptr, ptr %83, align 8, !alias.scope !2679, !noalias !2668, !noundef !4 - %85 = getelementptr inbounds i8, ptr %12, i64 168 - %86 = load i64, ptr %85, align 8, !alias.scope !2679, !noalias !2668, !noundef !4 - invoke void %81(ptr noalias noundef nonnull align 8 dereferenceable(8) %82, ptr noundef %84, i64 noundef %86) - to label %.body.i.i unwind label %96, !noalias !2668 + %77 = load ptr, ptr %76, align 8, !alias.scope !2679, !noalias !2668, !nonnull !4, !align !5, !noundef !4 + %78 = getelementptr inbounds i8, ptr %77, i64 16 + %79 = load ptr, ptr %78, align 8, !noalias !2680, !nonnull !4, !noundef !4 + %80 = getelementptr inbounds i8, ptr %11, i64 176 + %81 = getelementptr inbounds i8, ptr %11, i64 160 + %82 = load ptr, ptr %81, align 8, !alias.scope !2679, !noalias !2668, !noundef !4 + %83 = getelementptr inbounds i8, ptr %11, i64 168 + %84 = load i64, ptr %83, align 8, !alias.scope !2679, !noalias !2668, !noundef !4 + invoke void %79(ptr noalias noundef nonnull align 8 dereferenceable(8) %80, ptr noundef %82, i64 noundef %84) + to label %.body.i.i unwind label %94, !noalias !2668 "_ZN4core3ptr40drop_in_place$LT$bytes..bytes..Bytes$GT$17hc52b48903511acadE.llvm.885679253126787145.exit.i.i.i": ; preds = %.noexc17 - %87 = getelementptr inbounds i8, ptr %12, i64 152 + %85 = getelementptr inbounds i8, ptr %11, i64 152 call void @llvm.experimental.noalias.scope.decl(metadata !2681) call void @llvm.experimental.noalias.scope.decl(metadata !2684) - %88 = load ptr, ptr %87, align 8, !alias.scope !2687, !noalias !2668, !nonnull !4, !align !5, !noundef !4 - %89 = getelementptr inbounds i8, ptr %88, i64 16 - %90 = load ptr, ptr %89, align 8, !noalias !2688, !nonnull !4, !noundef !4 - %91 = getelementptr inbounds i8, ptr %12, i64 176 - %92 = getelementptr inbounds i8, ptr %12, i64 160 - %93 = load ptr, ptr %92, align 8, !alias.scope !2687, !noalias !2668, !noundef !4 - %94 = getelementptr inbounds i8, ptr %12, i64 168 - %95 = load i64, ptr %94, align 8, !alias.scope !2687, !noalias !2668, !noundef !4 - invoke void %90(ptr noalias noundef nonnull align 8 dereferenceable(8) %91, ptr noundef %93, i64 noundef %95) - to label %102 unwind label %98, !noalias !2668 - -96: ; preds = %76 - %97 = landingpad { ptr, i32 } + %86 = load ptr, ptr %85, align 8, !alias.scope !2687, !noalias !2668, !nonnull !4, !align !5, !noundef !4 + %87 = getelementptr inbounds i8, ptr %86, i64 16 + %88 = load ptr, ptr %87, align 8, !noalias !2688, !nonnull !4, !noundef !4 + %89 = getelementptr inbounds i8, ptr %11, i64 176 + %90 = getelementptr inbounds i8, ptr %11, i64 160 + %91 = load ptr, ptr %90, align 8, !alias.scope !2687, !noalias !2668, !noundef !4 + %92 = getelementptr inbounds i8, ptr %11, i64 168 + %93 = load i64, ptr %92, align 8, !alias.scope !2687, !noalias !2668, !noundef !4 + invoke void %88(ptr noalias noundef nonnull align 8 dereferenceable(8) %89, ptr noundef %91, i64 noundef %93) + to label %100 unwind label %96, !noalias !2668 + +94: ; preds = %74 + %95 = landingpad { ptr, i32 } filter [0 x ptr] zeroinitializer call void @_ZN4core9panicking16panic_in_cleanup17h55eb1d85cadde1a1E() #29, !noalias !2668 unreachable -98: ; preds = %"_ZN4core3ptr40drop_in_place$LT$bytes..bytes..Bytes$GT$17hc52b48903511acadE.llvm.885679253126787145.exit.i.i.i" - %99 = landingpad { ptr, i32 } +96: ; preds = %"_ZN4core3ptr40drop_in_place$LT$bytes..bytes..Bytes$GT$17hc52b48903511acadE.llvm.885679253126787145.exit.i.i.i" + %97 = landingpad { ptr, i32 } cleanup br label %.body.i.i -.body.i.i: ; preds = %98, %76 - %eh.lpad-body.i.i = phi { ptr, i32 } [ %99, %98 ], [ %77, %76 ] +.body.i.i: ; preds = %96, %74 + %eh.lpad-body.i.i = phi { ptr, i32 } [ %97, %96 ], [ %75, %74 ] call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(64) %.sroa.0.sroa.0.sroa.9.0..sroa_idx.i, ptr noundef nonnull align 8 dereferenceable(64) %.sroa.0.i, i64 64, i1 false), !noalias !2689 br label %.body18 -100: ; preds = %.noexc16, %61 - %101 = landingpad { ptr, i32 } +98: ; preds = %.noexc16, %60 + %99 = landingpad { ptr, i32 } cleanup br label %.body18 -.body18: ; preds = %.body.i.i, %100 - %eh.lpad-body19 = phi { ptr, i32 } [ %101, %100 ], [ %eh.lpad-body.i.i, %.body.i.i ] - invoke void @"_ZN4core3ptr101drop_in_place$LT$mini_lsm..mem_table..ouroboros_impl_mem_table_iterator..MemTableIteratorInternal$GT$17h30e29595708f7b20E.llvm.1597650999041595525"(ptr noalias noundef nonnull align 8 dereferenceable(192) %12) - to label %.critedge unwind label %103 +.body18: ; preds = %.body.i.i, %98 + %eh.lpad-body19 = phi { ptr, i32 } [ %99, %98 ], [ %eh.lpad-body.i.i, %.body.i.i ] + invoke void @"_ZN4core3ptr101drop_in_place$LT$mini_lsm..mem_table..ouroboros_impl_mem_table_iterator..MemTableIteratorInternal$GT$17h30e29595708f7b20E.llvm.1597650999041595525"(ptr noalias noundef nonnull align 8 dereferenceable(192) %11) + to label %.critedge unwind label %101 -102: ; preds = %"_ZN4core3ptr40drop_in_place$LT$bytes..bytes..Bytes$GT$17hc52b48903511acadE.llvm.885679253126787145.exit.i.i.i" +100: ; preds = %"_ZN4core3ptr40drop_in_place$LT$bytes..bytes..Bytes$GT$17hc52b48903511acadE.llvm.885679253126787145.exit.i.i.i" call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(64) %.sroa.0.sroa.0.sroa.9.0..sroa_idx.i, ptr noundef nonnull align 8 dereferenceable(64) %.sroa.0.i, i64 64, i1 false), !noalias !2689 call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %.sroa.0.i) - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(192) %12, i64 192, i1 false) - call void @llvm.lifetime.end.p0(i64 192, ptr nonnull %12) - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %14) + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(192) %11, i64 192, i1 false) + call void @llvm.lifetime.end.p0(i64 192, ptr nonnull %11) + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %13) ret void -103: ; preds = %.body18, %40 - %104 = landingpad { ptr, i32 } +101: ; preds = %.body18, %39 + %102 = landingpad { ptr, i32 } filter [0 x ptr] zeroinitializer call void @_ZN4core9panicking16panic_in_cleanup17h55eb1d85cadde1a1E() #29 unreachable -.critedge: ; preds = %60, %.body18, %40 - %.pn.pn = phi { ptr, i32 } [ %41, %40 ], [ %52, %60 ], [ %eh.lpad-body19, %.body18 ] +.critedge: ; preds = %59, %.body18, %39 + %.pn.pn = phi { ptr, i32 } [ %40, %39 ], [ %51, %59 ], [ %eh.lpad-body19, %.body18 ] resume { ptr, i32 } %.pn.pn } diff --git a/bench/mitsuba3/optimized/disk.cpp.ll b/bench/mitsuba3/optimized/disk.cpp.ll index b15c6ef8310..efe6bf5fef8 100644 --- a/bench/mitsuba3/optimized/disk.cpp.ll +++ b/bench/mitsuba3/optimized/disk.cpp.ll @@ -3094,13 +3094,12 @@ _ZN5drjit5ArrayINS_6PacketIfLm4EEELm4EECI2NS_15StaticArrayImplIS2_Lm4ELb0ES3_iEE br i1 %exitcond.not.i277.2, label %_ZNK5drjit9ArrayBaseINS_6PacketIfLm4EEELb0ENS_5ArrayIS2_Lm4EEEE6fmadd_ERKS4_S7_.exit.2, label %90, !llvm.loop !154 _ZNK5drjit9ArrayBaseINS_6PacketIfLm4EEELb0ENS_5ArrayIS2_Lm4EEEE6fmadd_ERKS4_S7_.exit.2: ; preds = %90 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(64) %20, ptr noundef nonnull align 16 dereferenceable(64) %21, i64 64, i1 false), !noalias !141 - %100 = getelementptr inbounds i8, ptr %20, i64 16 - %101 = getelementptr inbounds i8, ptr %20, i64 32 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(16) %.sroa.0309, ptr noundef nonnull align 16 dereferenceable(16) %21, i64 16, i1 false) %.sroa.0309.16..sroa_idx = getelementptr inbounds i8, ptr %.sroa.0309, i64 16 + %100 = getelementptr inbounds i8, ptr %21, i64 16 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(16) %.sroa.0309.16..sroa_idx, ptr noundef nonnull align 16 dereferenceable(16) %100, i64 16, i1 false) %.sroa.0309.32..sroa_idx = getelementptr inbounds i8, ptr %.sroa.0309, i64 32 + %101 = getelementptr inbounds i8, ptr %21, i64 32 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(16) %.sroa.0309.32..sroa_idx, ptr noundef nonnull align 16 dereferenceable(16) %101, i64 16, i1 false) %102 = getelementptr inbounds i8, ptr %2, i64 48 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(64) %17, ptr noundef nonnull align 16 dereferenceable(64) %22, i64 64, i1 false), !noalias !161 @@ -3196,13 +3195,12 @@ _ZN5drjit5ArrayINS_6PacketIfLm4EEELm4EECI2NS_15StaticArrayImplIS2_Lm4ELb0ES3_iEE br i1 %exitcond.not.i287.1, label %_ZNK5drjit9ArrayBaseINS_6PacketIfLm4EEELb0ENS_5ArrayIS2_Lm4EEEE6fmadd_ERKS4_S7_.exit288.1, label %132, !llvm.loop !154 _ZNK5drjit9ArrayBaseINS_6PacketIfLm4EEELb0ENS_5ArrayIS2_Lm4EEEE6fmadd_ERKS4_S7_.exit288.1: ; preds = %132 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(64) %17, ptr noundef nonnull align 16 dereferenceable(64) %18, i64 64, i1 false), !noalias !161 - %142 = getelementptr inbounds i8, ptr %17, i64 16 - %143 = getelementptr inbounds i8, ptr %17, i64 32 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(16) %.sroa.0310, ptr noundef nonnull align 16 dereferenceable(16) %18, i64 16, i1 false) %.sroa.0310.16..sroa_idx = getelementptr inbounds i8, ptr %.sroa.0310, i64 16 + %142 = getelementptr inbounds i8, ptr %18, i64 16 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(16) %.sroa.0310.16..sroa_idx, ptr noundef nonnull align 16 dereferenceable(16) %142, i64 16, i1 false) %.sroa.0310.32..sroa_idx = getelementptr inbounds i8, ptr %.sroa.0310, i64 32 + %143 = getelementptr inbounds i8, ptr %18, i64 32 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(16) %.sroa.0310.32..sroa_idx, ptr noundef nonnull align 16 dereferenceable(16) %143, i64 16, i1 false) %144 = getelementptr inbounds i8, ptr %2, i64 96 %.sroa.04.0.copyload = load <4 x float>, ptr %144, align 16, !noalias !182 @@ -3515,13 +3513,12 @@ _ZN5drjit5ArrayINS_6PacketIfLm4EEELm4EECI2NS_15StaticArrayImplIS2_Lm4ELb0ES3_iEE br i1 %exitcond.not.i251.2, label %_ZNK5drjit9ArrayBaseINS_6PacketIfLm4EEELb0ENS_5ArrayIS2_Lm4EEEE6fmadd_ERKS4_S7_.exit.2, label %89, !llvm.loop !154 _ZNK5drjit9ArrayBaseINS_6PacketIfLm4EEELb0ENS_5ArrayIS2_Lm4EEEE6fmadd_ERKS4_S7_.exit.2: ; preds = %89 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(64) %19, ptr noundef nonnull align 16 dereferenceable(64) %20, i64 64, i1 false), !noalias !204 - %99 = getelementptr inbounds i8, ptr %19, i64 16 - %100 = getelementptr inbounds i8, ptr %19, i64 32 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(16) %.sroa.0279, ptr noundef nonnull align 16 dereferenceable(16) %20, i64 16, i1 false) %.sroa.0279.16..sroa_idx = getelementptr inbounds i8, ptr %.sroa.0279, i64 16 + %99 = getelementptr inbounds i8, ptr %20, i64 16 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(16) %.sroa.0279.16..sroa_idx, ptr noundef nonnull align 16 dereferenceable(16) %99, i64 16, i1 false) %.sroa.0279.32..sroa_idx = getelementptr inbounds i8, ptr %.sroa.0279, i64 32 + %100 = getelementptr inbounds i8, ptr %20, i64 32 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(16) %.sroa.0279.32..sroa_idx, ptr noundef nonnull align 16 dereferenceable(16) %100, i64 16, i1 false) %101 = getelementptr inbounds i8, ptr %1, i64 48 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(64) %16, ptr noundef nonnull align 16 dereferenceable(64) %21, i64 64, i1 false), !noalias !222 @@ -3617,13 +3614,12 @@ _ZN5drjit5ArrayINS_6PacketIfLm4EEELm4EECI2NS_15StaticArrayImplIS2_Lm4ELb0ES3_iEE br i1 %exitcond.not.i261.1, label %_ZNK5drjit9ArrayBaseINS_6PacketIfLm4EEELb0ENS_5ArrayIS2_Lm4EEEE6fmadd_ERKS4_S7_.exit262.1, label %131, !llvm.loop !154 _ZNK5drjit9ArrayBaseINS_6PacketIfLm4EEELb0ENS_5ArrayIS2_Lm4EEEE6fmadd_ERKS4_S7_.exit262.1: ; preds = %131 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(64) %16, ptr noundef nonnull align 16 dereferenceable(64) %17, i64 64, i1 false), !noalias !222 - %141 = getelementptr inbounds i8, ptr %16, i64 16 - %142 = getelementptr inbounds i8, ptr %16, i64 32 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(16) %.sroa.0280, ptr noundef nonnull align 16 dereferenceable(16) %17, i64 16, i1 false) %.sroa.0280.16..sroa_idx = getelementptr inbounds i8, ptr %.sroa.0280, i64 16 + %141 = getelementptr inbounds i8, ptr %17, i64 16 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(16) %.sroa.0280.16..sroa_idx, ptr noundef nonnull align 16 dereferenceable(16) %141, i64 16, i1 false) %.sroa.0280.32..sroa_idx = getelementptr inbounds i8, ptr %.sroa.0280, i64 32 + %142 = getelementptr inbounds i8, ptr %17, i64 32 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(16) %.sroa.0280.32..sroa_idx, ptr noundef nonnull align 16 dereferenceable(16) %142, i64 16, i1 false) %143 = getelementptr inbounds i8, ptr %1, i64 96 %.sroa.04.0.copyload = load <4 x float>, ptr %143, align 16, !noalias !242 @@ -3925,13 +3921,12 @@ _ZN5drjit5ArrayINS_6PacketIfLm8EEELm4EECI2NS_15StaticArrayImplIS2_Lm4ELb0ES3_iEE br i1 %exitcond.not.i289.2, label %_ZNK5drjit9ArrayBaseINS_6PacketIfLm8EEELb0ENS_5ArrayIS2_Lm4EEEE6fmadd_ERKS4_S7_.exit.2, label %90, !llvm.loop !278 _ZNK5drjit9ArrayBaseINS_6PacketIfLm8EEELb0ENS_5ArrayIS2_Lm4EEEE6fmadd_ERKS4_S7_.exit.2: ; preds = %90 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 32 dereferenceable(128) %20, ptr noundef nonnull align 32 dereferenceable(128) %21, i64 128, i1 false), !noalias !265 - %100 = getelementptr inbounds i8, ptr %20, i64 32 - %101 = getelementptr inbounds i8, ptr %20, i64 64 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 32 dereferenceable(32) %.sroa.0321, ptr noundef nonnull align 32 dereferenceable(32) %21, i64 32, i1 false) %.sroa.0321.32..sroa_idx = getelementptr inbounds i8, ptr %.sroa.0321, i64 32 + %100 = getelementptr inbounds i8, ptr %21, i64 32 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 32 dereferenceable(32) %.sroa.0321.32..sroa_idx, ptr noundef nonnull align 32 dereferenceable(32) %100, i64 32, i1 false) %.sroa.0321.64..sroa_idx = getelementptr inbounds i8, ptr %.sroa.0321, i64 64 + %101 = getelementptr inbounds i8, ptr %21, i64 64 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 32 dereferenceable(32) %.sroa.0321.64..sroa_idx, ptr noundef nonnull align 32 dereferenceable(32) %101, i64 32, i1 false) %102 = getelementptr inbounds i8, ptr %2, i64 96 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 32 dereferenceable(128) %17, ptr noundef nonnull align 32 dereferenceable(128) %22, i64 128, i1 false), !noalias !285 @@ -4027,13 +4022,12 @@ _ZN5drjit5ArrayINS_6PacketIfLm8EEELm4EECI2NS_15StaticArrayImplIS2_Lm4ELb0ES3_iEE br i1 %exitcond.not.i299.1, label %_ZNK5drjit9ArrayBaseINS_6PacketIfLm8EEELb0ENS_5ArrayIS2_Lm4EEEE6fmadd_ERKS4_S7_.exit300.1, label %132, !llvm.loop !278 _ZNK5drjit9ArrayBaseINS_6PacketIfLm8EEELb0ENS_5ArrayIS2_Lm4EEEE6fmadd_ERKS4_S7_.exit300.1: ; preds = %132 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 32 dereferenceable(128) %17, ptr noundef nonnull align 32 dereferenceable(128) %18, i64 128, i1 false), !noalias !285 - %142 = getelementptr inbounds i8, ptr %17, i64 32 - %143 = getelementptr inbounds i8, ptr %17, i64 64 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 32 dereferenceable(32) %.sroa.0322, ptr noundef nonnull align 32 dereferenceable(32) %18, i64 32, i1 false) %.sroa.0322.32..sroa_idx = getelementptr inbounds i8, ptr %.sroa.0322, i64 32 + %142 = getelementptr inbounds i8, ptr %18, i64 32 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 32 dereferenceable(32) %.sroa.0322.32..sroa_idx, ptr noundef nonnull align 32 dereferenceable(32) %142, i64 32, i1 false) %.sroa.0322.64..sroa_idx = getelementptr inbounds i8, ptr %.sroa.0322, i64 64 + %143 = getelementptr inbounds i8, ptr %18, i64 64 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 32 dereferenceable(32) %.sroa.0322.64..sroa_idx, ptr noundef nonnull align 32 dereferenceable(32) %143, i64 32, i1 false) %144 = getelementptr inbounds i8, ptr %2, i64 192 %.sroa.04.0.copyload = load <8 x float>, ptr %144, align 32, !noalias !306 @@ -4342,13 +4336,12 @@ _ZN5drjit5ArrayINS_6PacketIfLm8EEELm4EECI2NS_15StaticArrayImplIS2_Lm4ELb0ES3_iEE br i1 %exitcond.not.i263.2, label %_ZNK5drjit9ArrayBaseINS_6PacketIfLm8EEELb0ENS_5ArrayIS2_Lm4EEEE6fmadd_ERKS4_S7_.exit.2, label %89, !llvm.loop !278 _ZNK5drjit9ArrayBaseINS_6PacketIfLm8EEELb0ENS_5ArrayIS2_Lm4EEEE6fmadd_ERKS4_S7_.exit.2: ; preds = %89 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 32 dereferenceable(128) %19, ptr noundef nonnull align 32 dereferenceable(128) %20, i64 128, i1 false), !noalias !328 - %99 = getelementptr inbounds i8, ptr %19, i64 32 - %100 = getelementptr inbounds i8, ptr %19, i64 64 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 32 dereferenceable(32) %.sroa.0291, ptr noundef nonnull align 32 dereferenceable(32) %20, i64 32, i1 false) %.sroa.0291.32..sroa_idx = getelementptr inbounds i8, ptr %.sroa.0291, i64 32 + %99 = getelementptr inbounds i8, ptr %20, i64 32 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 32 dereferenceable(32) %.sroa.0291.32..sroa_idx, ptr noundef nonnull align 32 dereferenceable(32) %99, i64 32, i1 false) %.sroa.0291.64..sroa_idx = getelementptr inbounds i8, ptr %.sroa.0291, i64 64 + %100 = getelementptr inbounds i8, ptr %20, i64 64 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 32 dereferenceable(32) %.sroa.0291.64..sroa_idx, ptr noundef nonnull align 32 dereferenceable(32) %100, i64 32, i1 false) %101 = getelementptr inbounds i8, ptr %1, i64 96 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 32 dereferenceable(128) %16, ptr noundef nonnull align 32 dereferenceable(128) %21, i64 128, i1 false), !noalias !346 @@ -4444,13 +4437,12 @@ _ZN5drjit5ArrayINS_6PacketIfLm8EEELm4EECI2NS_15StaticArrayImplIS2_Lm4ELb0ES3_iEE br i1 %exitcond.not.i273.1, label %_ZNK5drjit9ArrayBaseINS_6PacketIfLm8EEELb0ENS_5ArrayIS2_Lm4EEEE6fmadd_ERKS4_S7_.exit274.1, label %131, !llvm.loop !278 _ZNK5drjit9ArrayBaseINS_6PacketIfLm8EEELb0ENS_5ArrayIS2_Lm4EEEE6fmadd_ERKS4_S7_.exit274.1: ; preds = %131 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 32 dereferenceable(128) %16, ptr noundef nonnull align 32 dereferenceable(128) %17, i64 128, i1 false), !noalias !346 - %141 = getelementptr inbounds i8, ptr %16, i64 32 - %142 = getelementptr inbounds i8, ptr %16, i64 64 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 32 dereferenceable(32) %.sroa.0292, ptr noundef nonnull align 32 dereferenceable(32) %17, i64 32, i1 false) %.sroa.0292.32..sroa_idx = getelementptr inbounds i8, ptr %.sroa.0292, i64 32 + %141 = getelementptr inbounds i8, ptr %17, i64 32 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 32 dereferenceable(32) %.sroa.0292.32..sroa_idx, ptr noundef nonnull align 32 dereferenceable(32) %141, i64 32, i1 false) %.sroa.0292.64..sroa_idx = getelementptr inbounds i8, ptr %.sroa.0292, i64 64 + %142 = getelementptr inbounds i8, ptr %17, i64 64 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 32 dereferenceable(32) %.sroa.0292.64..sroa_idx, ptr noundef nonnull align 32 dereferenceable(32) %142, i64 32, i1 false) %143 = getelementptr inbounds i8, ptr %1, i64 192 %.sroa.04.0.copyload = load <8 x float>, ptr %143, align 32, !noalias !366 @@ -4748,13 +4740,12 @@ _ZN5drjit5ArrayINS_6PacketIfLm16EEELm4EECI2NS_15StaticArrayImplIS2_Lm4ELb0ES3_iE br i1 %exitcond.not.i289.2, label %_ZNK5drjit9ArrayBaseINS_6PacketIfLm16EEELb0ENS_5ArrayIS2_Lm4EEEE6fmadd_ERKS4_S7_.exit.2, label %90, !llvm.loop !402 _ZNK5drjit9ArrayBaseINS_6PacketIfLm16EEELb0ENS_5ArrayIS2_Lm4EEEE6fmadd_ERKS4_S7_.exit.2: ; preds = %90 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 64 dereferenceable(256) %20, ptr noundef nonnull align 64 dereferenceable(256) %21, i64 256, i1 false), !noalias !389 - %100 = getelementptr inbounds i8, ptr %20, i64 64 - %101 = getelementptr inbounds i8, ptr %20, i64 128 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 64 dereferenceable(64) %.sroa.0321, ptr noundef nonnull align 64 dereferenceable(64) %21, i64 64, i1 false) %.sroa.0321.64..sroa_idx = getelementptr inbounds i8, ptr %.sroa.0321, i64 64 + %100 = getelementptr inbounds i8, ptr %21, i64 64 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 64 dereferenceable(64) %.sroa.0321.64..sroa_idx, ptr noundef nonnull align 64 dereferenceable(64) %100, i64 64, i1 false) %.sroa.0321.128..sroa_idx = getelementptr inbounds i8, ptr %.sroa.0321, i64 128 + %101 = getelementptr inbounds i8, ptr %21, i64 128 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 64 dereferenceable(64) %.sroa.0321.128..sroa_idx, ptr noundef nonnull align 64 dereferenceable(64) %101, i64 64, i1 false) %102 = getelementptr inbounds i8, ptr %2, i64 192 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 64 dereferenceable(256) %17, ptr noundef nonnull align 64 dereferenceable(256) %22, i64 256, i1 false), !noalias !409 @@ -4850,13 +4841,12 @@ _ZN5drjit5ArrayINS_6PacketIfLm16EEELm4EECI2NS_15StaticArrayImplIS2_Lm4ELb0ES3_iE br i1 %exitcond.not.i299.1, label %_ZNK5drjit9ArrayBaseINS_6PacketIfLm16EEELb0ENS_5ArrayIS2_Lm4EEEE6fmadd_ERKS4_S7_.exit300.1, label %132, !llvm.loop !402 _ZNK5drjit9ArrayBaseINS_6PacketIfLm16EEELb0ENS_5ArrayIS2_Lm4EEEE6fmadd_ERKS4_S7_.exit300.1: ; preds = %132 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 64 dereferenceable(256) %17, ptr noundef nonnull align 64 dereferenceable(256) %18, i64 256, i1 false), !noalias !409 - %142 = getelementptr inbounds i8, ptr %17, i64 64 - %143 = getelementptr inbounds i8, ptr %17, i64 128 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 64 dereferenceable(64) %.sroa.0322, ptr noundef nonnull align 64 dereferenceable(64) %18, i64 64, i1 false) %.sroa.0322.64..sroa_idx = getelementptr inbounds i8, ptr %.sroa.0322, i64 64 + %142 = getelementptr inbounds i8, ptr %18, i64 64 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 64 dereferenceable(64) %.sroa.0322.64..sroa_idx, ptr noundef nonnull align 64 dereferenceable(64) %142, i64 64, i1 false) %.sroa.0322.128..sroa_idx = getelementptr inbounds i8, ptr %.sroa.0322, i64 128 + %143 = getelementptr inbounds i8, ptr %18, i64 128 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 64 dereferenceable(64) %.sroa.0322.128..sroa_idx, ptr noundef nonnull align 64 dereferenceable(64) %143, i64 64, i1 false) %144 = getelementptr inbounds i8, ptr %2, i64 384 %.sroa.04.0.copyload = load <16 x float>, ptr %144, align 64, !noalias !430 @@ -5165,13 +5155,12 @@ _ZN5drjit5ArrayINS_6PacketIfLm16EEELm4EECI2NS_15StaticArrayImplIS2_Lm4ELb0ES3_iE br i1 %exitcond.not.i263.2, label %_ZNK5drjit9ArrayBaseINS_6PacketIfLm16EEELb0ENS_5ArrayIS2_Lm4EEEE6fmadd_ERKS4_S7_.exit.2, label %89, !llvm.loop !402 _ZNK5drjit9ArrayBaseINS_6PacketIfLm16EEELb0ENS_5ArrayIS2_Lm4EEEE6fmadd_ERKS4_S7_.exit.2: ; preds = %89 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 64 dereferenceable(256) %19, ptr noundef nonnull align 64 dereferenceable(256) %20, i64 256, i1 false), !noalias !452 - %99 = getelementptr inbounds i8, ptr %19, i64 64 - %100 = getelementptr inbounds i8, ptr %19, i64 128 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 64 dereferenceable(64) %.sroa.0291, ptr noundef nonnull align 64 dereferenceable(64) %20, i64 64, i1 false) %.sroa.0291.64..sroa_idx = getelementptr inbounds i8, ptr %.sroa.0291, i64 64 + %99 = getelementptr inbounds i8, ptr %20, i64 64 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 64 dereferenceable(64) %.sroa.0291.64..sroa_idx, ptr noundef nonnull align 64 dereferenceable(64) %99, i64 64, i1 false) %.sroa.0291.128..sroa_idx = getelementptr inbounds i8, ptr %.sroa.0291, i64 128 + %100 = getelementptr inbounds i8, ptr %20, i64 128 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 64 dereferenceable(64) %.sroa.0291.128..sroa_idx, ptr noundef nonnull align 64 dereferenceable(64) %100, i64 64, i1 false) %101 = getelementptr inbounds i8, ptr %1, i64 192 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 64 dereferenceable(256) %16, ptr noundef nonnull align 64 dereferenceable(256) %21, i64 256, i1 false), !noalias !470 @@ -5267,13 +5256,12 @@ _ZN5drjit5ArrayINS_6PacketIfLm16EEELm4EECI2NS_15StaticArrayImplIS2_Lm4ELb0ES3_iE br i1 %exitcond.not.i273.1, label %_ZNK5drjit9ArrayBaseINS_6PacketIfLm16EEELb0ENS_5ArrayIS2_Lm4EEEE6fmadd_ERKS4_S7_.exit274.1, label %131, !llvm.loop !402 _ZNK5drjit9ArrayBaseINS_6PacketIfLm16EEELb0ENS_5ArrayIS2_Lm4EEEE6fmadd_ERKS4_S7_.exit274.1: ; preds = %131 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 64 dereferenceable(256) %16, ptr noundef nonnull align 64 dereferenceable(256) %17, i64 256, i1 false), !noalias !470 - %141 = getelementptr inbounds i8, ptr %16, i64 64 - %142 = getelementptr inbounds i8, ptr %16, i64 128 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 64 dereferenceable(64) %.sroa.0292, ptr noundef nonnull align 64 dereferenceable(64) %17, i64 64, i1 false) %.sroa.0292.64..sroa_idx = getelementptr inbounds i8, ptr %.sroa.0292, i64 64 + %141 = getelementptr inbounds i8, ptr %17, i64 64 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 64 dereferenceable(64) %.sroa.0292.64..sroa_idx, ptr noundef nonnull align 64 dereferenceable(64) %141, i64 64, i1 false) %.sroa.0292.128..sroa_idx = getelementptr inbounds i8, ptr %.sroa.0292, i64 128 + %142 = getelementptr inbounds i8, ptr %17, i64 128 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 64 dereferenceable(64) %.sroa.0292.128..sroa_idx, ptr noundef nonnull align 64 dereferenceable(64) %142, i64 64, i1 false) %143 = getelementptr inbounds i8, ptr %1, i64 384 %.sroa.04.0.copyload = load <16 x float>, ptr %143, align 64, !noalias !490 diff --git a/bench/mitsuba3/optimized/rectangle.cpp.ll b/bench/mitsuba3/optimized/rectangle.cpp.ll index 4a2a4f31782..c77fdabaa38 100644 --- a/bench/mitsuba3/optimized/rectangle.cpp.ll +++ b/bench/mitsuba3/optimized/rectangle.cpp.ll @@ -2753,13 +2753,12 @@ _ZN5drjit5ArrayINS_6PacketIfLm4EEELm4EECI2NS_15StaticArrayImplIS2_Lm4ELb0ES3_iEE br i1 %exitcond.not.i291.2, label %_ZNK5drjit9ArrayBaseINS_6PacketIfLm4EEELb0ENS_5ArrayIS2_Lm4EEEE6fmadd_ERKS4_S7_.exit.2, label %90, !llvm.loop !151 _ZNK5drjit9ArrayBaseINS_6PacketIfLm4EEELb0ENS_5ArrayIS2_Lm4EEEE6fmadd_ERKS4_S7_.exit.2: ; preds = %90 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(64) %20, ptr noundef nonnull align 16 dereferenceable(64) %21, i64 64, i1 false), !noalias !138 - %100 = getelementptr inbounds i8, ptr %20, i64 16 - %101 = getelementptr inbounds i8, ptr %20, i64 32 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(16) %.sroa.0323, ptr noundef nonnull align 16 dereferenceable(16) %21, i64 16, i1 false) %.sroa.0323.16..sroa_idx = getelementptr inbounds i8, ptr %.sroa.0323, i64 16 + %100 = getelementptr inbounds i8, ptr %21, i64 16 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(16) %.sroa.0323.16..sroa_idx, ptr noundef nonnull align 16 dereferenceable(16) %100, i64 16, i1 false) %.sroa.0323.32..sroa_idx = getelementptr inbounds i8, ptr %.sroa.0323, i64 32 + %101 = getelementptr inbounds i8, ptr %21, i64 32 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(16) %.sroa.0323.32..sroa_idx, ptr noundef nonnull align 16 dereferenceable(16) %101, i64 16, i1 false) %102 = getelementptr inbounds i8, ptr %2, i64 48 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(64) %17, ptr noundef nonnull align 16 dereferenceable(64) %22, i64 64, i1 false), !noalias !158 @@ -2855,13 +2854,12 @@ _ZN5drjit5ArrayINS_6PacketIfLm4EEELm4EECI2NS_15StaticArrayImplIS2_Lm4ELb0ES3_iEE br i1 %exitcond.not.i301.1, label %_ZNK5drjit9ArrayBaseINS_6PacketIfLm4EEELb0ENS_5ArrayIS2_Lm4EEEE6fmadd_ERKS4_S7_.exit302.1, label %132, !llvm.loop !151 _ZNK5drjit9ArrayBaseINS_6PacketIfLm4EEELb0ENS_5ArrayIS2_Lm4EEEE6fmadd_ERKS4_S7_.exit302.1: ; preds = %132 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(64) %17, ptr noundef nonnull align 16 dereferenceable(64) %18, i64 64, i1 false), !noalias !158 - %142 = getelementptr inbounds i8, ptr %17, i64 16 - %143 = getelementptr inbounds i8, ptr %17, i64 32 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(16) %.sroa.0324, ptr noundef nonnull align 16 dereferenceable(16) %18, i64 16, i1 false) %.sroa.0324.16..sroa_idx = getelementptr inbounds i8, ptr %.sroa.0324, i64 16 + %142 = getelementptr inbounds i8, ptr %18, i64 16 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(16) %.sroa.0324.16..sroa_idx, ptr noundef nonnull align 16 dereferenceable(16) %142, i64 16, i1 false) %.sroa.0324.32..sroa_idx = getelementptr inbounds i8, ptr %.sroa.0324, i64 32 + %143 = getelementptr inbounds i8, ptr %18, i64 32 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(16) %.sroa.0324.32..sroa_idx, ptr noundef nonnull align 16 dereferenceable(16) %143, i64 16, i1 false) %144 = getelementptr inbounds i8, ptr %2, i64 96 %.sroa.04.0.copyload = load <4 x float>, ptr %144, align 16, !noalias !179 @@ -3178,13 +3176,12 @@ _ZN5drjit5ArrayINS_6PacketIfLm4EEELm4EECI2NS_15StaticArrayImplIS2_Lm4ELb0ES3_iEE br i1 %exitcond.not.i265.2, label %_ZNK5drjit9ArrayBaseINS_6PacketIfLm4EEELb0ENS_5ArrayIS2_Lm4EEEE6fmadd_ERKS4_S7_.exit.2, label %89, !llvm.loop !151 _ZNK5drjit9ArrayBaseINS_6PacketIfLm4EEELb0ENS_5ArrayIS2_Lm4EEEE6fmadd_ERKS4_S7_.exit.2: ; preds = %89 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(64) %19, ptr noundef nonnull align 16 dereferenceable(64) %20, i64 64, i1 false), !noalias !201 - %99 = getelementptr inbounds i8, ptr %19, i64 16 - %100 = getelementptr inbounds i8, ptr %19, i64 32 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(16) %.sroa.0293, ptr noundef nonnull align 16 dereferenceable(16) %20, i64 16, i1 false) %.sroa.0293.16..sroa_idx = getelementptr inbounds i8, ptr %.sroa.0293, i64 16 + %99 = getelementptr inbounds i8, ptr %20, i64 16 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(16) %.sroa.0293.16..sroa_idx, ptr noundef nonnull align 16 dereferenceable(16) %99, i64 16, i1 false) %.sroa.0293.32..sroa_idx = getelementptr inbounds i8, ptr %.sroa.0293, i64 32 + %100 = getelementptr inbounds i8, ptr %20, i64 32 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(16) %.sroa.0293.32..sroa_idx, ptr noundef nonnull align 16 dereferenceable(16) %100, i64 16, i1 false) %101 = getelementptr inbounds i8, ptr %1, i64 48 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(64) %16, ptr noundef nonnull align 16 dereferenceable(64) %21, i64 64, i1 false), !noalias !219 @@ -3280,13 +3277,12 @@ _ZN5drjit5ArrayINS_6PacketIfLm4EEELm4EECI2NS_15StaticArrayImplIS2_Lm4ELb0ES3_iEE br i1 %exitcond.not.i275.1, label %_ZNK5drjit9ArrayBaseINS_6PacketIfLm4EEELb0ENS_5ArrayIS2_Lm4EEEE6fmadd_ERKS4_S7_.exit276.1, label %131, !llvm.loop !151 _ZNK5drjit9ArrayBaseINS_6PacketIfLm4EEELb0ENS_5ArrayIS2_Lm4EEEE6fmadd_ERKS4_S7_.exit276.1: ; preds = %131 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(64) %16, ptr noundef nonnull align 16 dereferenceable(64) %17, i64 64, i1 false), !noalias !219 - %141 = getelementptr inbounds i8, ptr %16, i64 16 - %142 = getelementptr inbounds i8, ptr %16, i64 32 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(16) %.sroa.0294, ptr noundef nonnull align 16 dereferenceable(16) %17, i64 16, i1 false) %.sroa.0294.16..sroa_idx = getelementptr inbounds i8, ptr %.sroa.0294, i64 16 + %141 = getelementptr inbounds i8, ptr %17, i64 16 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(16) %.sroa.0294.16..sroa_idx, ptr noundef nonnull align 16 dereferenceable(16) %141, i64 16, i1 false) %.sroa.0294.32..sroa_idx = getelementptr inbounds i8, ptr %.sroa.0294, i64 32 + %142 = getelementptr inbounds i8, ptr %17, i64 32 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(16) %.sroa.0294.32..sroa_idx, ptr noundef nonnull align 16 dereferenceable(16) %142, i64 16, i1 false) %143 = getelementptr inbounds i8, ptr %1, i64 96 %.sroa.04.0.copyload = load <4 x float>, ptr %143, align 16, !noalias !239 @@ -3592,13 +3588,12 @@ _ZN5drjit5ArrayINS_6PacketIfLm8EEELm4EECI2NS_15StaticArrayImplIS2_Lm4ELb0ES3_iEE br i1 %exitcond.not.i327.2, label %_ZNK5drjit9ArrayBaseINS_6PacketIfLm8EEELb0ENS_5ArrayIS2_Lm4EEEE6fmadd_ERKS4_S7_.exit.2, label %90, !llvm.loop !275 _ZNK5drjit9ArrayBaseINS_6PacketIfLm8EEELb0ENS_5ArrayIS2_Lm4EEEE6fmadd_ERKS4_S7_.exit.2: ; preds = %90 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 32 dereferenceable(128) %20, ptr noundef nonnull align 32 dereferenceable(128) %21, i64 128, i1 false), !noalias !262 - %100 = getelementptr inbounds i8, ptr %20, i64 32 - %101 = getelementptr inbounds i8, ptr %20, i64 64 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 32 dereferenceable(32) %.sroa.0359, ptr noundef nonnull align 32 dereferenceable(32) %21, i64 32, i1 false) %.sroa.0359.32..sroa_idx = getelementptr inbounds i8, ptr %.sroa.0359, i64 32 + %100 = getelementptr inbounds i8, ptr %21, i64 32 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 32 dereferenceable(32) %.sroa.0359.32..sroa_idx, ptr noundef nonnull align 32 dereferenceable(32) %100, i64 32, i1 false) %.sroa.0359.64..sroa_idx = getelementptr inbounds i8, ptr %.sroa.0359, i64 64 + %101 = getelementptr inbounds i8, ptr %21, i64 64 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 32 dereferenceable(32) %.sroa.0359.64..sroa_idx, ptr noundef nonnull align 32 dereferenceable(32) %101, i64 32, i1 false) %102 = getelementptr inbounds i8, ptr %2, i64 96 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 32 dereferenceable(128) %17, ptr noundef nonnull align 32 dereferenceable(128) %22, i64 128, i1 false), !noalias !282 @@ -3694,13 +3689,12 @@ _ZN5drjit5ArrayINS_6PacketIfLm8EEELm4EECI2NS_15StaticArrayImplIS2_Lm4ELb0ES3_iEE br i1 %exitcond.not.i337.1, label %_ZNK5drjit9ArrayBaseINS_6PacketIfLm8EEELb0ENS_5ArrayIS2_Lm4EEEE6fmadd_ERKS4_S7_.exit338.1, label %132, !llvm.loop !275 _ZNK5drjit9ArrayBaseINS_6PacketIfLm8EEELb0ENS_5ArrayIS2_Lm4EEEE6fmadd_ERKS4_S7_.exit338.1: ; preds = %132 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 32 dereferenceable(128) %17, ptr noundef nonnull align 32 dereferenceable(128) %18, i64 128, i1 false), !noalias !282 - %142 = getelementptr inbounds i8, ptr %17, i64 32 - %143 = getelementptr inbounds i8, ptr %17, i64 64 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 32 dereferenceable(32) %.sroa.0360, ptr noundef nonnull align 32 dereferenceable(32) %18, i64 32, i1 false) %.sroa.0360.32..sroa_idx = getelementptr inbounds i8, ptr %.sroa.0360, i64 32 + %142 = getelementptr inbounds i8, ptr %18, i64 32 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 32 dereferenceable(32) %.sroa.0360.32..sroa_idx, ptr noundef nonnull align 32 dereferenceable(32) %142, i64 32, i1 false) %.sroa.0360.64..sroa_idx = getelementptr inbounds i8, ptr %.sroa.0360, i64 64 + %143 = getelementptr inbounds i8, ptr %18, i64 64 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 32 dereferenceable(32) %.sroa.0360.64..sroa_idx, ptr noundef nonnull align 32 dereferenceable(32) %143, i64 32, i1 false) %144 = getelementptr inbounds i8, ptr %2, i64 192 %.sroa.04.0.copyload = load <8 x float>, ptr %144, align 32, !noalias !303 @@ -4012,13 +4006,12 @@ _ZN5drjit5ArrayINS_6PacketIfLm8EEELm4EECI2NS_15StaticArrayImplIS2_Lm4ELb0ES3_iEE br i1 %exitcond.not.i301.2, label %_ZNK5drjit9ArrayBaseINS_6PacketIfLm8EEELb0ENS_5ArrayIS2_Lm4EEEE6fmadd_ERKS4_S7_.exit.2, label %89, !llvm.loop !275 _ZNK5drjit9ArrayBaseINS_6PacketIfLm8EEELb0ENS_5ArrayIS2_Lm4EEEE6fmadd_ERKS4_S7_.exit.2: ; preds = %89 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 32 dereferenceable(128) %19, ptr noundef nonnull align 32 dereferenceable(128) %20, i64 128, i1 false), !noalias !325 - %99 = getelementptr inbounds i8, ptr %19, i64 32 - %100 = getelementptr inbounds i8, ptr %19, i64 64 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 32 dereferenceable(32) %.sroa.0329, ptr noundef nonnull align 32 dereferenceable(32) %20, i64 32, i1 false) %.sroa.0329.32..sroa_idx = getelementptr inbounds i8, ptr %.sroa.0329, i64 32 + %99 = getelementptr inbounds i8, ptr %20, i64 32 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 32 dereferenceable(32) %.sroa.0329.32..sroa_idx, ptr noundef nonnull align 32 dereferenceable(32) %99, i64 32, i1 false) %.sroa.0329.64..sroa_idx = getelementptr inbounds i8, ptr %.sroa.0329, i64 64 + %100 = getelementptr inbounds i8, ptr %20, i64 64 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 32 dereferenceable(32) %.sroa.0329.64..sroa_idx, ptr noundef nonnull align 32 dereferenceable(32) %100, i64 32, i1 false) %101 = getelementptr inbounds i8, ptr %1, i64 96 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 32 dereferenceable(128) %16, ptr noundef nonnull align 32 dereferenceable(128) %21, i64 128, i1 false), !noalias !343 @@ -4114,13 +4107,12 @@ _ZN5drjit5ArrayINS_6PacketIfLm8EEELm4EECI2NS_15StaticArrayImplIS2_Lm4ELb0ES3_iEE br i1 %exitcond.not.i311.1, label %_ZNK5drjit9ArrayBaseINS_6PacketIfLm8EEELb0ENS_5ArrayIS2_Lm4EEEE6fmadd_ERKS4_S7_.exit312.1, label %131, !llvm.loop !275 _ZNK5drjit9ArrayBaseINS_6PacketIfLm8EEELb0ENS_5ArrayIS2_Lm4EEEE6fmadd_ERKS4_S7_.exit312.1: ; preds = %131 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 32 dereferenceable(128) %16, ptr noundef nonnull align 32 dereferenceable(128) %17, i64 128, i1 false), !noalias !343 - %141 = getelementptr inbounds i8, ptr %16, i64 32 - %142 = getelementptr inbounds i8, ptr %16, i64 64 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 32 dereferenceable(32) %.sroa.0330, ptr noundef nonnull align 32 dereferenceable(32) %17, i64 32, i1 false) %.sroa.0330.32..sroa_idx = getelementptr inbounds i8, ptr %.sroa.0330, i64 32 + %141 = getelementptr inbounds i8, ptr %17, i64 32 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 32 dereferenceable(32) %.sroa.0330.32..sroa_idx, ptr noundef nonnull align 32 dereferenceable(32) %141, i64 32, i1 false) %.sroa.0330.64..sroa_idx = getelementptr inbounds i8, ptr %.sroa.0330, i64 64 + %142 = getelementptr inbounds i8, ptr %17, i64 64 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 32 dereferenceable(32) %.sroa.0330.64..sroa_idx, ptr noundef nonnull align 32 dereferenceable(32) %142, i64 32, i1 false) %143 = getelementptr inbounds i8, ptr %1, i64 192 %.sroa.04.0.copyload = load <8 x float>, ptr %143, align 32, !noalias !363 @@ -4421,13 +4413,12 @@ _ZN5drjit5ArrayINS_6PacketIfLm16EEELm4EECI2NS_15StaticArrayImplIS2_Lm4ELb0ES3_iE br i1 %exitcond.not.i333.2, label %_ZNK5drjit9ArrayBaseINS_6PacketIfLm16EEELb0ENS_5ArrayIS2_Lm4EEEE6fmadd_ERKS4_S7_.exit.2, label %90, !llvm.loop !399 _ZNK5drjit9ArrayBaseINS_6PacketIfLm16EEELb0ENS_5ArrayIS2_Lm4EEEE6fmadd_ERKS4_S7_.exit.2: ; preds = %90 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 64 dereferenceable(256) %20, ptr noundef nonnull align 64 dereferenceable(256) %21, i64 256, i1 false), !noalias !386 - %100 = getelementptr inbounds i8, ptr %20, i64 64 - %101 = getelementptr inbounds i8, ptr %20, i64 128 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 64 dereferenceable(64) %.sroa.0369, ptr noundef nonnull align 64 dereferenceable(64) %21, i64 64, i1 false) %.sroa.0369.64..sroa_idx = getelementptr inbounds i8, ptr %.sroa.0369, i64 64 + %100 = getelementptr inbounds i8, ptr %21, i64 64 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 64 dereferenceable(64) %.sroa.0369.64..sroa_idx, ptr noundef nonnull align 64 dereferenceable(64) %100, i64 64, i1 false) %.sroa.0369.128..sroa_idx = getelementptr inbounds i8, ptr %.sroa.0369, i64 128 + %101 = getelementptr inbounds i8, ptr %21, i64 128 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 64 dereferenceable(64) %.sroa.0369.128..sroa_idx, ptr noundef nonnull align 64 dereferenceable(64) %101, i64 64, i1 false) %102 = getelementptr inbounds i8, ptr %2, i64 192 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 64 dereferenceable(256) %17, ptr noundef nonnull align 64 dereferenceable(256) %22, i64 256, i1 false), !noalias !406 @@ -4523,13 +4514,12 @@ _ZN5drjit5ArrayINS_6PacketIfLm16EEELm4EECI2NS_15StaticArrayImplIS2_Lm4ELb0ES3_iE br i1 %exitcond.not.i343.1, label %_ZNK5drjit9ArrayBaseINS_6PacketIfLm16EEELb0ENS_5ArrayIS2_Lm4EEEE6fmadd_ERKS4_S7_.exit344.1, label %132, !llvm.loop !399 _ZNK5drjit9ArrayBaseINS_6PacketIfLm16EEELb0ENS_5ArrayIS2_Lm4EEEE6fmadd_ERKS4_S7_.exit344.1: ; preds = %132 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 64 dereferenceable(256) %17, ptr noundef nonnull align 64 dereferenceable(256) %18, i64 256, i1 false), !noalias !406 - %142 = getelementptr inbounds i8, ptr %17, i64 64 - %143 = getelementptr inbounds i8, ptr %17, i64 128 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 64 dereferenceable(64) %.sroa.0370, ptr noundef nonnull align 64 dereferenceable(64) %18, i64 64, i1 false) %.sroa.0370.64..sroa_idx = getelementptr inbounds i8, ptr %.sroa.0370, i64 64 + %142 = getelementptr inbounds i8, ptr %18, i64 64 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 64 dereferenceable(64) %.sroa.0370.64..sroa_idx, ptr noundef nonnull align 64 dereferenceable(64) %142, i64 64, i1 false) %.sroa.0370.128..sroa_idx = getelementptr inbounds i8, ptr %.sroa.0370, i64 128 + %143 = getelementptr inbounds i8, ptr %18, i64 128 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 64 dereferenceable(64) %.sroa.0370.128..sroa_idx, ptr noundef nonnull align 64 dereferenceable(64) %143, i64 64, i1 false) %144 = getelementptr inbounds i8, ptr %2, i64 384 %.sroa.04.0.copyload = load <16 x float>, ptr %144, align 64, !noalias !427 @@ -4841,13 +4831,12 @@ _ZN5drjit5ArrayINS_6PacketIfLm16EEELm4EECI2NS_15StaticArrayImplIS2_Lm4ELb0ES3_iE br i1 %exitcond.not.i307.2, label %_ZNK5drjit9ArrayBaseINS_6PacketIfLm16EEELb0ENS_5ArrayIS2_Lm4EEEE6fmadd_ERKS4_S7_.exit.2, label %89, !llvm.loop !399 _ZNK5drjit9ArrayBaseINS_6PacketIfLm16EEELb0ENS_5ArrayIS2_Lm4EEEE6fmadd_ERKS4_S7_.exit.2: ; preds = %89 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 64 dereferenceable(256) %19, ptr noundef nonnull align 64 dereferenceable(256) %20, i64 256, i1 false), !noalias !449 - %99 = getelementptr inbounds i8, ptr %19, i64 64 - %100 = getelementptr inbounds i8, ptr %19, i64 128 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 64 dereferenceable(64) %.sroa.0339, ptr noundef nonnull align 64 dereferenceable(64) %20, i64 64, i1 false) %.sroa.0339.64..sroa_idx = getelementptr inbounds i8, ptr %.sroa.0339, i64 64 + %99 = getelementptr inbounds i8, ptr %20, i64 64 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 64 dereferenceable(64) %.sroa.0339.64..sroa_idx, ptr noundef nonnull align 64 dereferenceable(64) %99, i64 64, i1 false) %.sroa.0339.128..sroa_idx = getelementptr inbounds i8, ptr %.sroa.0339, i64 128 + %100 = getelementptr inbounds i8, ptr %20, i64 128 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 64 dereferenceable(64) %.sroa.0339.128..sroa_idx, ptr noundef nonnull align 64 dereferenceable(64) %100, i64 64, i1 false) %101 = getelementptr inbounds i8, ptr %1, i64 192 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 64 dereferenceable(256) %16, ptr noundef nonnull align 64 dereferenceable(256) %21, i64 256, i1 false), !noalias !467 @@ -4943,13 +4932,12 @@ _ZN5drjit5ArrayINS_6PacketIfLm16EEELm4EECI2NS_15StaticArrayImplIS2_Lm4ELb0ES3_iE br i1 %exitcond.not.i317.1, label %_ZNK5drjit9ArrayBaseINS_6PacketIfLm16EEELb0ENS_5ArrayIS2_Lm4EEEE6fmadd_ERKS4_S7_.exit318.1, label %131, !llvm.loop !399 _ZNK5drjit9ArrayBaseINS_6PacketIfLm16EEELb0ENS_5ArrayIS2_Lm4EEEE6fmadd_ERKS4_S7_.exit318.1: ; preds = %131 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 64 dereferenceable(256) %16, ptr noundef nonnull align 64 dereferenceable(256) %17, i64 256, i1 false), !noalias !467 - %141 = getelementptr inbounds i8, ptr %16, i64 64 - %142 = getelementptr inbounds i8, ptr %16, i64 128 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 64 dereferenceable(64) %.sroa.0340, ptr noundef nonnull align 64 dereferenceable(64) %17, i64 64, i1 false) %.sroa.0340.64..sroa_idx = getelementptr inbounds i8, ptr %.sroa.0340, i64 64 + %141 = getelementptr inbounds i8, ptr %17, i64 64 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 64 dereferenceable(64) %.sroa.0340.64..sroa_idx, ptr noundef nonnull align 64 dereferenceable(64) %141, i64 64, i1 false) %.sroa.0340.128..sroa_idx = getelementptr inbounds i8, ptr %.sroa.0340, i64 128 + %142 = getelementptr inbounds i8, ptr %17, i64 128 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 64 dereferenceable(64) %.sroa.0340.128..sroa_idx, ptr noundef nonnull align 64 dereferenceable(64) %142, i64 64, i1 false) %143 = getelementptr inbounds i8, ptr %1, i64 384 %.sroa.04.0.copyload = load <16 x float>, ptr %143, align 64, !noalias !487 diff --git a/bench/mitsuba3/optimized/sensor.cpp.ll b/bench/mitsuba3/optimized/sensor.cpp.ll index 7ed95a56f48..09f207d3c76 100644 --- a/bench/mitsuba3/optimized/sensor.cpp.ll +++ b/bench/mitsuba3/optimized/sensor.cpp.ll @@ -278,8 +278,8 @@ define weak_odr void @_ZNK7mitsuba6SensorIfN5drjit6MatrixINS_8SpectrumIfLm4EEELm call void %28(ptr dead_on_unwind nonnull writable sret(%"struct.std::__1::pair.14") align 16 %9, ptr noundef nonnull align 16 dereferenceable(192) %1, float noundef %2, float noundef %3, ptr noundef nonnull align 4 dereferenceable(8) %10, ptr noundef nonnull align 4 dereferenceable(8) %5, i1 noundef zeroext true) call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(64) %8, ptr noundef nonnull align 16 dereferenceable(64) %9, i64 64, i1 false) call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(16) %.sroa.046.64..sroa_idx48, ptr noundef nonnull align 16 dereferenceable(16) %9, i64 16, i1 false) - %29 = getelementptr inbounds i8, ptr %8, i64 16 %.sroa.046.96..sroa_idx = getelementptr inbounds i8, ptr %.sroa.046, i64 96 + %29 = getelementptr inbounds i8, ptr %9, i64 16 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(16) %.sroa.046.96..sroa_idx, ptr noundef nonnull align 16 dereferenceable(16) %29, i64 16, i1 false) %30 = load <2 x float>, ptr %4, align 4 %31 = insertelement <2 x float> , float %22, i64 1 @@ -289,27 +289,27 @@ define weak_odr void @_ZNK7mitsuba6SensorIfN5drjit6MatrixINS_8SpectrumIfLm4EEELm %34 = getelementptr inbounds i8, ptr %33, i64 88 %35 = load ptr, ptr %34, align 8 call void %35(ptr dead_on_unwind nonnull writable sret(%"struct.std::__1::pair.14") align 16 %11, ptr noundef nonnull align 16 dereferenceable(192) %1, float noundef %2, float noundef %3, ptr noundef nonnull align 4 dereferenceable(8) %12, ptr noundef nonnull align 4 dereferenceable(8) %5, i1 noundef zeroext true) - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(64) %8, ptr noundef nonnull align 16 dereferenceable(64) %11, i64 64, i1 false) %.sroa.046.80..sroa_idx = getelementptr inbounds i8, ptr %.sroa.046, i64 80 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(16) %.sroa.046.80..sroa_idx, ptr noundef nonnull align 16 dereferenceable(16) %11, i64 16, i1 false) %.sroa.046.112..sroa_idx = getelementptr inbounds i8, ptr %.sroa.046, i64 112 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(16) %.sroa.046.112..sroa_idx, ptr noundef nonnull align 16 dereferenceable(16) %29, i64 16, i1 false) + %36 = getelementptr inbounds i8, ptr %11, i64 16 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(16) %.sroa.046.112..sroa_idx, ptr noundef nonnull align 16 dereferenceable(16) %36, i64 16, i1 false) call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(128) %0, ptr noundef nonnull align 16 dereferenceable(128) %.sroa.046, i64 128, i1 false) %.sroa.7.0..sroa_idx = getelementptr inbounds i8, ptr %0, i64 128 store i8 1, ptr %.sroa.7.0..sroa_idx, align 16 - %36 = getelementptr inbounds i8, ptr %0, i64 144 - br label %37 - -37: ; preds = %37, %7 - %.013.i = phi i64 [ 0, %7 ], [ %40, %37 ] - %38 = getelementptr inbounds [4 x %"struct.drjit::Array"], ptr %16, i64 0, i64 %.013.i - %39 = getelementptr inbounds [4 x %"struct.drjit::Array"], ptr %36, i64 0, i64 %.013.i - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(64) %39, ptr noundef nonnull align 16 dereferenceable(64) %38, i64 64, i1 false) - %40 = add nuw nsw i64 %.013.i, 1 - %exitcond.not.i = icmp eq i64 %40, 4 - br i1 %exitcond.not.i, label %_ZNSt3__14pairIN7mitsuba15RayDifferentialINS1_5PointIfLm3EEEN5drjit6MatrixINS1_8SpectrumIfLm4EEELm4EEEEES9_EC2B8ne190000IRSA_RS9_TnNS_9enable_ifIXclsr10_CheckArgsE23__is_pair_constructibleIT_T0_EEEiE4typeELi0EEEOSG_OSH_.exit, label %37, !llvm.loop !4 - -_ZNSt3__14pairIN7mitsuba15RayDifferentialINS1_5PointIfLm3EEEN5drjit6MatrixINS1_8SpectrumIfLm4EEELm4EEEEES9_EC2B8ne190000IRSA_RS9_TnNS_9enable_ifIXclsr10_CheckArgsE23__is_pair_constructibleIT_T0_EEEiE4typeELi0EEEOSG_OSH_.exit: ; preds = %37 + %37 = getelementptr inbounds i8, ptr %0, i64 144 + br label %38 + +38: ; preds = %38, %7 + %.013.i = phi i64 [ 0, %7 ], [ %41, %38 ] + %39 = getelementptr inbounds [4 x %"struct.drjit::Array"], ptr %16, i64 0, i64 %.013.i + %40 = getelementptr inbounds [4 x %"struct.drjit::Array"], ptr %37, i64 0, i64 %.013.i + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(64) %40, ptr noundef nonnull align 16 dereferenceable(64) %39, i64 64, i1 false) + %41 = add nuw nsw i64 %.013.i, 1 + %exitcond.not.i = icmp eq i64 %41, 4 + br i1 %exitcond.not.i, label %_ZNSt3__14pairIN7mitsuba15RayDifferentialINS1_5PointIfLm3EEEN5drjit6MatrixINS1_8SpectrumIfLm4EEELm4EEEEES9_EC2B8ne190000IRSA_RS9_TnNS_9enable_ifIXclsr10_CheckArgsE23__is_pair_constructibleIT_T0_EEEiE4typeELi0EEEOSG_OSH_.exit, label %38, !llvm.loop !4 + +_ZNSt3__14pairIN7mitsuba15RayDifferentialINS1_5PointIfLm3EEEN5drjit6MatrixINS1_8SpectrumIfLm4EEELm4EEEEES9_EC2B8ne190000IRSA_RS9_TnNS_9enable_ifIXclsr10_CheckArgsE23__is_pair_constructibleIT_T0_EEEiE4typeELi0EEEOSG_OSH_.exit: ; preds = %38 ret void } diff --git a/bench/pbrt-v4/optimized/aggregate.cpp.ll b/bench/pbrt-v4/optimized/aggregate.cpp.ll index 0aa4342317d..fc13ab6d1b8 100644 --- a/bench/pbrt-v4/optimized/aggregate.cpp.ll +++ b/bench/pbrt-v4/optimized/aggregate.cpp.ll @@ -1321,7 +1321,6 @@ define linkonce_odr dso_local void @_ZN4pbrt20EnqueueWorkAfterMissENS_11RayWorkI entry: %agg.tmp1.sroa.11.i = alloca %"class.pbrt::SampledWavelengths", align 16 %agg.tmp21.i = alloca %"class.pbrt::SampledWavelengths", align 16 - %agg.tmp.sroa.11 = alloca <{ i32, %"class.pbrt::SampledWavelengths" }>, align 8 %medium = getelementptr inbounds i8, ptr %r, i64 32 %0 = load i64, ptr %medium, align 8 %and.i = and i64 %0, 144115188075855871 @@ -1342,8 +1341,6 @@ if.then: ; preds = %entry %agg.tmp.sroa.6.0.copyload = load float, ptr %agg.tmp.sroa.6.0.r.sroa_idx, align 4 %agg.tmp.sroa.7.0.r.sroa_idx = getelementptr inbounds i8, ptr %r, i64 24 %agg.tmp.sroa.7.0.copyload = load float, ptr %agg.tmp.sroa.7.0.r.sroa_idx, align 8 - %depth3.i = getelementptr inbounds i8, ptr %r, i64 40 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(36) %agg.tmp.sroa.11, ptr noundef nonnull align 8 dereferenceable(36) %depth3.i, i64 36, i1 false) %agg.tmp.sroa.13.40.depth3.i.sroa_idx = getelementptr inbounds i8, ptr %r, i64 76 %agg.tmp.sroa.13.40.copyload = load i32, ptr %agg.tmp.sroa.13.40.depth3.i.sroa_idx, align 4 %agg.tmp.sroa.14.40.depth3.i.sroa_idx = getelementptr inbounds i8, ptr %r, i64 80 @@ -1389,50 +1386,50 @@ if.then: ; preds = %entry %agg.tmp.sroa.34.40.depth3.i.sroa_idx = getelementptr inbounds i8, ptr %r, i64 184 %agg.tmp.sroa.34.40.copyload = load i32, ptr %agg.tmp.sroa.34.40.depth3.i.sroa_idx, align 8 call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp21.i) - %agg.tmp.sroa.11.44.lambda.i.sroa_idx = getelementptr inbounds i8, ptr %agg.tmp.sroa.11, i64 4 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(32) %agg.tmp21.i, ptr noundef nonnull align 4 dereferenceable(32) %agg.tmp.sroa.11.44.lambda.i.sroa_idx, i64 32, i1 false) + %1 = getelementptr inbounds i8, ptr %r, i64 44 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(32) %agg.tmp21.i, ptr noundef nonnull align 4 dereferenceable(32) %1, i64 32, i1 false) %size.i.i.i = getelementptr inbounds i8, ptr %mediumSampleQueue, i64 848 - %1 = atomicrmw add ptr %size.i.i.i, i32 1 monotonic, align 4 + %2 = atomicrmw add ptr %size.i.i.i, i32 1 monotonic, align 4 %x2.i.i.i.i = getelementptr inbounds i8, ptr %mediumSampleQueue, i64 24 - %2 = load ptr, ptr %x2.i.i.i.i, align 8 - %idxprom.i.i.i.i = sext i32 %1 to i64 - %arrayidx.i.i.i.i = getelementptr inbounds float, ptr %2, i64 %idxprom.i.i.i.i + %3 = load ptr, ptr %x2.i.i.i.i, align 8 + %idxprom.i.i.i.i = sext i32 %2 to i64 + %arrayidx.i.i.i.i = getelementptr inbounds float, ptr %3, i64 %idxprom.i.i.i.i store float %agg.tmp.sroa.0.0.copyload, ptr %arrayidx.i.i.i.i, align 4 %y4.i.i.i.i = getelementptr inbounds i8, ptr %mediumSampleQueue, i64 32 - %3 = load ptr, ptr %y4.i.i.i.i, align 8 - %arrayidx7.i.i.i.i = getelementptr inbounds float, ptr %3, i64 %idxprom.i.i.i.i + %4 = load ptr, ptr %y4.i.i.i.i, align 8 + %arrayidx7.i.i.i.i = getelementptr inbounds float, ptr %4, i64 %idxprom.i.i.i.i store float %agg.tmp.sroa.2.0.copyload, ptr %arrayidx7.i.i.i.i, align 4 %z9.i.i.i.i = getelementptr inbounds i8, ptr %mediumSampleQueue, i64 40 - %4 = load ptr, ptr %z9.i.i.i.i, align 8 - %arrayidx12.i.i.i.i = getelementptr inbounds float, ptr %4, i64 %idxprom.i.i.i.i + %5 = load ptr, ptr %z9.i.i.i.i, align 8 + %arrayidx12.i.i.i.i = getelementptr inbounds float, ptr %5, i64 %idxprom.i.i.i.i store float %agg.tmp.sroa.3.0.copyload, ptr %arrayidx12.i.i.i.i, align 4 %x2.i6.i.i.i = getelementptr inbounds i8, ptr %mediumSampleQueue, i64 56 - %5 = load ptr, ptr %x2.i6.i.i.i, align 8 - %arrayidx.i9.i.i.i = getelementptr inbounds float, ptr %5, i64 %idxprom.i.i.i.i + %6 = load ptr, ptr %x2.i6.i.i.i, align 8 + %arrayidx.i9.i.i.i = getelementptr inbounds float, ptr %6, i64 %idxprom.i.i.i.i store float %agg.tmp.sroa.4.0.copyload, ptr %arrayidx.i9.i.i.i, align 4 %y4.i11.i.i.i = getelementptr inbounds i8, ptr %mediumSampleQueue, i64 64 - %6 = load ptr, ptr %y4.i11.i.i.i, align 8 - %arrayidx7.i13.i.i.i = getelementptr inbounds float, ptr %6, i64 %idxprom.i.i.i.i + %7 = load ptr, ptr %y4.i11.i.i.i, align 8 + %arrayidx7.i13.i.i.i = getelementptr inbounds float, ptr %7, i64 %idxprom.i.i.i.i store float %agg.tmp.sroa.5.0.copyload, ptr %arrayidx7.i13.i.i.i, align 4 %z9.i15.i.i.i = getelementptr inbounds i8, ptr %mediumSampleQueue, i64 72 - %7 = load ptr, ptr %z9.i15.i.i.i, align 8 - %arrayidx12.i17.i.i.i = getelementptr inbounds float, ptr %7, i64 %idxprom.i.i.i.i + %8 = load ptr, ptr %z9.i15.i.i.i, align 8 + %arrayidx12.i17.i.i.i = getelementptr inbounds float, ptr %8, i64 %idxprom.i.i.i.i store float %agg.tmp.sroa.6.0.copyload, ptr %arrayidx12.i17.i.i.i, align 4 %time9.i.i.i = getelementptr inbounds i8, ptr %mediumSampleQueue, i64 80 - %8 = load ptr, ptr %time9.i.i.i, align 8 - %arrayidx.i.i.i = getelementptr inbounds float, ptr %8, i64 %idxprom.i.i.i.i + %9 = load ptr, ptr %time9.i.i.i, align 8 + %arrayidx.i.i.i = getelementptr inbounds float, ptr %9, i64 %idxprom.i.i.i.i store float %agg.tmp.sroa.7.0.copyload, ptr %arrayidx.i.i.i, align 4 %medium12.i.i.i = getelementptr inbounds i8, ptr %mediumSampleQueue, i64 88 - %9 = load ptr, ptr %medium12.i.i.i, align 8 - %arrayidx15.i.i.i = getelementptr inbounds %"class.pbrt::Medium", ptr %9, i64 %idxprom.i.i.i.i + %10 = load ptr, ptr %medium12.i.i.i, align 8 + %arrayidx15.i.i.i = getelementptr inbounds %"class.pbrt::Medium", ptr %10, i64 %idxprom.i.i.i.i store i64 %0, ptr %arrayidx15.i.i.i, align 8 %tMax4.i.i = getelementptr inbounds i8, ptr %mediumSampleQueue, i64 104 - %10 = load ptr, ptr %tMax4.i.i, align 8 - %arrayidx.i.i = getelementptr inbounds float, ptr %10, i64 %idxprom.i.i.i.i + %11 = load ptr, ptr %tMax4.i.i, align 8 + %arrayidx.i.i = getelementptr inbounds float, ptr %11, i64 %idxprom.i.i.i.i store float 0x7FF0000000000000, ptr %arrayidx.i.i, align 4 %lambda4.i.i.i = getelementptr inbounds i8, ptr %mediumSampleQueue, i64 120 - %11 = load ptr, ptr %lambda4.i.i.i, align 8 - %add.ptr.i.i.i = getelementptr inbounds %"struct.pbrt::Float4", ptr %11, i64 %idxprom.i.i.i.i + %12 = load ptr, ptr %lambda4.i.i.i, align 8 + %add.ptr.i.i.i = getelementptr inbounds %"struct.pbrt::Float4", ptr %12, i64 %idxprom.i.i.i.i %agg.tmp21.i.0.agg.tmp21.i.0.agg.tmp21.i.0.agg.tmp21.0.agg.tmp21.0..i = load <4 x float>, ptr %agg.tmp21.i, align 16 %agg.tmp.sroa.0.4.vec.insert.i.i.i = shufflevector <4 x float> %agg.tmp21.i.0.agg.tmp21.i.0.agg.tmp21.i.0.agg.tmp21.0.agg.tmp21.0..i, <4 x float> poison, <2 x i32> %agg.tmp21.i.8.agg.tmp21.i.8.agg.tmp21.i.8.agg.tmp21.8.agg.tmp21.8.arrayidx.i23.i.i.sroa_idx = getelementptr inbounds i8, ptr %agg.tmp21.i, i64 8 @@ -1442,8 +1439,8 @@ if.then: ; preds = %entry %v.sroa.2.0.p.addr.0..sroa_idx.i.i.i.i = getelementptr inbounds i8, ptr %add.ptr.i.i.i, i64 8 store <2 x float> %agg.tmp.sroa.3.12.vec.insert.i.i.i, ptr %v.sroa.2.0.p.addr.0..sroa_idx.i.i.i.i, align 8 %pdf4.i.i.i = getelementptr inbounds i8, ptr %mediumSampleQueue, i64 128 - %12 = load ptr, ptr %pdf4.i.i.i, align 8 - %add.ptr21.i.i.i = getelementptr inbounds %"struct.pbrt::Float4", ptr %12, i64 %idxprom.i.i.i.i + %13 = load ptr, ptr %pdf4.i.i.i, align 8 + %add.ptr21.i.i.i = getelementptr inbounds %"struct.pbrt::Float4", ptr %13, i64 %idxprom.i.i.i.i %agg.tmp21.i.16.agg.tmp21.i.16.agg.tmp21.i.16.agg.tmp21.16.agg.tmp21.16.pdf.i.i.sroa_idx = getelementptr inbounds i8, ptr %agg.tmp21.i, i64 16 %agg.tmp21.i.16.agg.tmp21.i.16.agg.tmp21.i.16.agg.tmp21.16.agg.tmp21.16..i = load <4 x float>, ptr %agg.tmp21.i.16.agg.tmp21.i.16.agg.tmp21.i.16.agg.tmp21.16.agg.tmp21.16.pdf.i.i.sroa_idx, align 16 %agg.tmp22.sroa.0.4.vec.insert.i.i.i = shufflevector <4 x float> %agg.tmp21.i.16.agg.tmp21.i.16.agg.tmp21.i.16.agg.tmp21.16.agg.tmp21.16..i, <4 x float> poison, <2 x i32> @@ -1452,86 +1449,86 @@ if.then: ; preds = %entry %v.sroa.2.0.p.addr.0..sroa_idx.i28.i.i.i = getelementptr inbounds i8, ptr %add.ptr21.i.i.i, i64 8 store <2 x float> %agg.tmp22.sroa.3.12.vec.insert.i.i.i, ptr %v.sroa.2.0.p.addr.0..sroa_idx.i28.i.i.i, align 8 %ptr4.i.i.i = getelementptr inbounds i8, ptr %mediumSampleQueue, i64 160 - %13 = load ptr, ptr %ptr4.i.i.i, align 8 - %add.ptr.i18.i.i = getelementptr inbounds %"struct.pbrt::Float4", ptr %13, i64 %idxprom.i.i.i.i + %14 = load ptr, ptr %ptr4.i.i.i, align 8 + %add.ptr.i18.i.i = getelementptr inbounds %"struct.pbrt::Float4", ptr %14, i64 %idxprom.i.i.i.i store <2 x float> %agg.tmp.sroa.14.40.copyload, ptr %add.ptr.i18.i.i, align 16 %v.sroa.2.0.p.addr.0..sroa_idx.i.i21.i.i = getelementptr inbounds i8, ptr %add.ptr.i18.i.i, i64 8 store <2 x float> %agg.tmp.sroa.15.40.copyload, ptr %v.sroa.2.0.p.addr.0..sroa_idx.i.i21.i.i, align 8 %ptr4.i25.i.i = getelementptr inbounds i8, ptr %mediumSampleQueue, i64 184 - %14 = load ptr, ptr %ptr4.i25.i.i, align 8 - %add.ptr.i27.i.i = getelementptr inbounds %"struct.pbrt::Float4", ptr %14, i64 %idxprom.i.i.i.i + %15 = load ptr, ptr %ptr4.i25.i.i, align 8 + %add.ptr.i27.i.i = getelementptr inbounds %"struct.pbrt::Float4", ptr %15, i64 %idxprom.i.i.i.i store <2 x float> %agg.tmp.sroa.16.40.copyload, ptr %add.ptr.i27.i.i, align 16 %v.sroa.2.0.p.addr.0..sroa_idx.i.i30.i.i = getelementptr inbounds i8, ptr %add.ptr.i27.i.i, i64 8 store <2 x float> %agg.tmp.sroa.17.40.copyload, ptr %v.sroa.2.0.p.addr.0..sroa_idx.i.i30.i.i, align 8 %ptr4.i34.i.i = getelementptr inbounds i8, ptr %mediumSampleQueue, i64 208 - %15 = load ptr, ptr %ptr4.i34.i.i, align 8 - %add.ptr.i36.i.i = getelementptr inbounds %"struct.pbrt::Float4", ptr %15, i64 %idxprom.i.i.i.i + %16 = load ptr, ptr %ptr4.i34.i.i, align 8 + %add.ptr.i36.i.i = getelementptr inbounds %"struct.pbrt::Float4", ptr %16, i64 %idxprom.i.i.i.i store <2 x float> %agg.tmp.sroa.18.40.copyload, ptr %add.ptr.i36.i.i, align 16 %v.sroa.2.0.p.addr.0..sroa_idx.i.i39.i.i = getelementptr inbounds i8, ptr %add.ptr.i36.i.i, i64 8 store <2 x float> %agg.tmp.sroa.19.40.copyload, ptr %v.sroa.2.0.p.addr.0..sroa_idx.i.i39.i.i, align 8 %pixelIndex17.i.i = getelementptr inbounds i8, ptr %mediumSampleQueue, i64 224 - %16 = load ptr, ptr %pixelIndex17.i.i, align 8 - %arrayidx19.i.i = getelementptr inbounds i32, ptr %16, i64 %idxprom.i.i.i.i + %17 = load ptr, ptr %pixelIndex17.i.i, align 8 + %arrayidx19.i.i = getelementptr inbounds i32, ptr %17, i64 %idxprom.i.i.i.i store i32 %agg.tmp.sroa.13.40.copyload, ptr %arrayidx19.i.i, align 4 %low2.i.i.i.i.i = getelementptr inbounds i8, ptr %mediumSampleQueue, i64 496 - %17 = load ptr, ptr %low2.i.i.i.i.i, align 8 - %arrayidx.i.i.i.i.i = getelementptr inbounds float, ptr %17, i64 %idxprom.i.i.i.i + %18 = load ptr, ptr %low2.i.i.i.i.i, align 8 + %arrayidx.i.i.i.i.i = getelementptr inbounds float, ptr %18, i64 %idxprom.i.i.i.i store float %agg.tmp.sroa.20.40.copyload, ptr %arrayidx.i.i.i.i.i, align 4 %high4.i.i.i.i.i = getelementptr inbounds i8, ptr %mediumSampleQueue, i64 504 - %18 = load ptr, ptr %high4.i.i.i.i.i, align 8 - %arrayidx7.i.i.i.i.i = getelementptr inbounds float, ptr %18, i64 %idxprom.i.i.i.i + %19 = load ptr, ptr %high4.i.i.i.i.i, align 8 + %arrayidx7.i.i.i.i.i = getelementptr inbounds float, ptr %19, i64 %idxprom.i.i.i.i store float %agg.tmp.sroa.21.40.copyload, ptr %arrayidx7.i.i.i.i.i, align 4 %low2.i5.i.i.i.i = getelementptr inbounds i8, ptr %mediumSampleQueue, i64 520 - %19 = load ptr, ptr %low2.i5.i.i.i.i, align 8 - %arrayidx.i8.i.i.i.i = getelementptr inbounds float, ptr %19, i64 %idxprom.i.i.i.i + %20 = load ptr, ptr %low2.i5.i.i.i.i, align 8 + %arrayidx.i8.i.i.i.i = getelementptr inbounds float, ptr %20, i64 %idxprom.i.i.i.i store float %agg.tmp.sroa.22.40.copyload, ptr %arrayidx.i8.i.i.i.i, align 4 %high4.i10.i.i.i.i = getelementptr inbounds i8, ptr %mediumSampleQueue, i64 528 - %20 = load ptr, ptr %high4.i10.i.i.i.i, align 8 - %arrayidx7.i12.i.i.i.i = getelementptr inbounds float, ptr %20, i64 %idxprom.i.i.i.i + %21 = load ptr, ptr %high4.i10.i.i.i.i, align 8 + %arrayidx7.i12.i.i.i.i = getelementptr inbounds float, ptr %21, i64 %idxprom.i.i.i.i store float %agg.tmp.sroa.23.40.copyload, ptr %arrayidx7.i12.i.i.i.i, align 4 %low2.i15.i.i.i.i = getelementptr inbounds i8, ptr %mediumSampleQueue, i64 544 - %21 = load ptr, ptr %low2.i15.i.i.i.i, align 8 - %arrayidx.i18.i.i.i.i = getelementptr inbounds float, ptr %21, i64 %idxprom.i.i.i.i + %22 = load ptr, ptr %low2.i15.i.i.i.i, align 8 + %arrayidx.i18.i.i.i.i = getelementptr inbounds float, ptr %22, i64 %idxprom.i.i.i.i store float %agg.tmp.sroa.24.40.copyload, ptr %arrayidx.i18.i.i.i.i, align 4 %high4.i20.i.i.i.i = getelementptr inbounds i8, ptr %mediumSampleQueue, i64 552 - %22 = load ptr, ptr %high4.i20.i.i.i.i, align 8 - %arrayidx7.i22.i.i.i.i = getelementptr inbounds float, ptr %22, i64 %idxprom.i.i.i.i + %23 = load ptr, ptr %high4.i20.i.i.i.i, align 8 + %arrayidx7.i22.i.i.i.i = getelementptr inbounds float, ptr %23, i64 %idxprom.i.i.i.i store float %agg.tmp.sroa.25.40.copyload, ptr %arrayidx7.i22.i.i.i.i, align 4 %x2.i.i45.i.i = getelementptr inbounds i8, ptr %mediumSampleQueue, i64 568 - %23 = load ptr, ptr %x2.i.i45.i.i, align 8 - %arrayidx.i.i47.i.i = getelementptr inbounds float, ptr %23, i64 %idxprom.i.i.i.i + %24 = load ptr, ptr %x2.i.i45.i.i, align 8 + %arrayidx.i.i47.i.i = getelementptr inbounds float, ptr %24, i64 %idxprom.i.i.i.i store float %agg.tmp.sroa.26.40.copyload, ptr %arrayidx.i.i47.i.i, align 4 %y4.i.i48.i.i = getelementptr inbounds i8, ptr %mediumSampleQueue, i64 576 - %24 = load ptr, ptr %y4.i.i48.i.i, align 8 - %arrayidx7.i.i49.i.i = getelementptr inbounds float, ptr %24, i64 %idxprom.i.i.i.i + %25 = load ptr, ptr %y4.i.i48.i.i, align 8 + %arrayidx7.i.i49.i.i = getelementptr inbounds float, ptr %25, i64 %idxprom.i.i.i.i store float %agg.tmp.sroa.27.40.copyload, ptr %arrayidx7.i.i49.i.i, align 4 %z9.i.i50.i.i = getelementptr inbounds i8, ptr %mediumSampleQueue, i64 584 - %25 = load ptr, ptr %z9.i.i50.i.i, align 8 - %arrayidx12.i.i51.i.i = getelementptr inbounds float, ptr %25, i64 %idxprom.i.i.i.i + %26 = load ptr, ptr %z9.i.i50.i.i, align 8 + %arrayidx12.i.i51.i.i = getelementptr inbounds float, ptr %26, i64 %idxprom.i.i.i.i store float %agg.tmp.sroa.28.40.copyload, ptr %arrayidx12.i.i51.i.i, align 4 %x2.i10.i.i.i = getelementptr inbounds i8, ptr %mediumSampleQueue, i64 600 - %26 = load ptr, ptr %x2.i10.i.i.i, align 8 - %arrayidx.i13.i.i.i = getelementptr inbounds float, ptr %26, i64 %idxprom.i.i.i.i + %27 = load ptr, ptr %x2.i10.i.i.i, align 8 + %arrayidx.i13.i.i.i = getelementptr inbounds float, ptr %27, i64 %idxprom.i.i.i.i store float %agg.tmp.sroa.29.40.copyload, ptr %arrayidx.i13.i.i.i, align 4 %y4.i15.i.i.i = getelementptr inbounds i8, ptr %mediumSampleQueue, i64 608 - %27 = load ptr, ptr %y4.i15.i.i.i, align 8 - %arrayidx7.i17.i.i.i = getelementptr inbounds float, ptr %27, i64 %idxprom.i.i.i.i + %28 = load ptr, ptr %y4.i15.i.i.i, align 8 + %arrayidx7.i17.i.i.i = getelementptr inbounds float, ptr %28, i64 %idxprom.i.i.i.i store float %agg.tmp.sroa.30.40.copyload, ptr %arrayidx7.i17.i.i.i, align 4 %z9.i19.i.i.i = getelementptr inbounds i8, ptr %mediumSampleQueue, i64 616 - %28 = load ptr, ptr %z9.i19.i.i.i, align 8 - %arrayidx12.i21.i.i.i = getelementptr inbounds float, ptr %28, i64 %idxprom.i.i.i.i + %29 = load ptr, ptr %z9.i19.i.i.i, align 8 + %arrayidx12.i21.i.i.i = getelementptr inbounds float, ptr %29, i64 %idxprom.i.i.i.i store float %agg.tmp.sroa.31.40.copyload, ptr %arrayidx12.i21.i.i.i, align 4 %specularBounce23.i.i = getelementptr inbounds i8, ptr %mediumSampleQueue, i64 624 - %29 = load ptr, ptr %specularBounce23.i.i, align 8 - %arrayidx25.i.i = getelementptr inbounds i32, ptr %29, i64 %idxprom.i.i.i.i + %30 = load ptr, ptr %specularBounce23.i.i, align 8 + %arrayidx25.i.i = getelementptr inbounds i32, ptr %30, i64 %idxprom.i.i.i.i store i32 %agg.tmp.sroa.33.40.copyload, ptr %arrayidx25.i.i, align 4 %anyNonSpecularBounces26.i.i = getelementptr inbounds i8, ptr %mediumSampleQueue, i64 808 - %30 = load ptr, ptr %anyNonSpecularBounces26.i.i, align 8 - %arrayidx28.i.i = getelementptr inbounds i32, ptr %30, i64 %idxprom.i.i.i.i + %31 = load ptr, ptr %anyNonSpecularBounces26.i.i, align 8 + %arrayidx28.i.i = getelementptr inbounds i32, ptr %31, i64 %idxprom.i.i.i.i store i32 %agg.tmp.sroa.34.40.copyload, ptr %arrayidx28.i.i, align 4 %etaScale29.i.i = getelementptr inbounds i8, ptr %mediumSampleQueue, i64 816 - %31 = load ptr, ptr %etaScale29.i.i, align 8 - %arrayidx31.i.i = getelementptr inbounds float, ptr %31, i64 %idxprom.i.i.i.i + %32 = load ptr, ptr %etaScale29.i.i, align 8 + %arrayidx31.i.i = getelementptr inbounds float, ptr %32, i64 %idxprom.i.i.i.i store float %agg.tmp.sroa.32.40.copyload, ptr %arrayidx31.i.i, align 4 call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp21.i) br label %if.end5 @@ -1592,63 +1589,63 @@ if.then2: ; preds = %if.else %agg.tmp3.sroa.2847.40.depth3.i6.sroa_idx = getelementptr inbounds i8, ptr %r, i64 180 %agg.tmp3.sroa.2847.40.copyload = load i32, ptr %agg.tmp3.sroa.2847.40.depth3.i6.sroa_idx, align 4 %size.i.i.i8 = getelementptr inbounds i8, ptr %escapedRayQueue, i64 360 - %32 = atomicrmw add ptr %size.i.i.i8, i32 1 monotonic, align 4 + %33 = atomicrmw add ptr %size.i.i.i8, i32 1 monotonic, align 4 %x2.i.i.i = getelementptr inbounds i8, ptr %escapedRayQueue, i64 16 - %33 = load ptr, ptr %x2.i.i.i, align 8 - %idxprom.i.i.i = sext i32 %32 to i64 - %arrayidx.i.i.i9 = getelementptr inbounds float, ptr %33, i64 %idxprom.i.i.i + %34 = load ptr, ptr %x2.i.i.i, align 8 + %idxprom.i.i.i = sext i32 %33 to i64 + %arrayidx.i.i.i9 = getelementptr inbounds float, ptr %34, i64 %idxprom.i.i.i store float %agg.tmp3.sroa.0.0.copyload, ptr %arrayidx.i.i.i9, align 4 %y4.i.i.i = getelementptr inbounds i8, ptr %escapedRayQueue, i64 24 - %34 = load ptr, ptr %y4.i.i.i, align 8 - %arrayidx7.i.i.i = getelementptr inbounds float, ptr %34, i64 %idxprom.i.i.i + %35 = load ptr, ptr %y4.i.i.i, align 8 + %arrayidx7.i.i.i = getelementptr inbounds float, ptr %35, i64 %idxprom.i.i.i store float %agg.tmp3.sroa.2.0.copyload, ptr %arrayidx7.i.i.i, align 4 %z9.i.i.i = getelementptr inbounds i8, ptr %escapedRayQueue, i64 32 - %35 = load ptr, ptr %z9.i.i.i, align 8 - %arrayidx12.i.i.i = getelementptr inbounds float, ptr %35, i64 %idxprom.i.i.i + %36 = load ptr, ptr %z9.i.i.i, align 8 + %arrayidx12.i.i.i = getelementptr inbounds float, ptr %36, i64 %idxprom.i.i.i store float %agg.tmp3.sroa.3.0.copyload, ptr %arrayidx12.i.i.i, align 4 %x2.i12.i.i = getelementptr inbounds i8, ptr %escapedRayQueue, i64 48 - %36 = load ptr, ptr %x2.i12.i.i, align 8 - %arrayidx.i15.i.i = getelementptr inbounds float, ptr %36, i64 %idxprom.i.i.i + %37 = load ptr, ptr %x2.i12.i.i, align 8 + %arrayidx.i15.i.i = getelementptr inbounds float, ptr %37, i64 %idxprom.i.i.i store float %agg.tmp3.sroa.4.0.copyload, ptr %arrayidx.i15.i.i, align 4 %y4.i17.i.i = getelementptr inbounds i8, ptr %escapedRayQueue, i64 56 - %37 = load ptr, ptr %y4.i17.i.i, align 8 - %arrayidx7.i19.i.i = getelementptr inbounds float, ptr %37, i64 %idxprom.i.i.i + %38 = load ptr, ptr %y4.i17.i.i, align 8 + %arrayidx7.i19.i.i = getelementptr inbounds float, ptr %38, i64 %idxprom.i.i.i store float %agg.tmp3.sroa.5.0.copyload, ptr %arrayidx7.i19.i.i, align 4 %z9.i21.i.i = getelementptr inbounds i8, ptr %escapedRayQueue, i64 64 - %38 = load ptr, ptr %z9.i21.i.i, align 8 - %arrayidx12.i23.i.i = getelementptr inbounds float, ptr %38, i64 %idxprom.i.i.i + %39 = load ptr, ptr %z9.i21.i.i, align 8 + %arrayidx12.i23.i.i = getelementptr inbounds float, ptr %39, i64 %idxprom.i.i.i store float %agg.tmp3.sroa.6.0.copyload, ptr %arrayidx12.i23.i.i, align 4 %depth9.i.i = getelementptr inbounds i8, ptr %escapedRayQueue, i64 72 - %39 = load ptr, ptr %depth9.i.i, align 8 - %arrayidx.i.i10 = getelementptr inbounds i32, ptr %39, i64 %idxprom.i.i.i + %40 = load ptr, ptr %depth9.i.i, align 8 + %arrayidx.i.i10 = getelementptr inbounds i32, ptr %40, i64 %idxprom.i.i.i store i32 %agg.tmp3.sroa.9.40.copyload, ptr %arrayidx.i.i10, align 4 %ptr4.i.i.i11 = getelementptr inbounds i8, ptr %escapedRayQueue, i64 88 - %40 = load ptr, ptr %ptr4.i.i.i11, align 8 - %add.ptr.i.i.i12 = getelementptr inbounds %"struct.pbrt::Float4", ptr %40, i64 %idxprom.i.i.i + %41 = load ptr, ptr %ptr4.i.i.i11, align 8 + %add.ptr.i.i.i12 = getelementptr inbounds %"struct.pbrt::Float4", ptr %41, i64 %idxprom.i.i.i %agg.tmp.sroa.0.4.vec.insert.i.i.i13 = shufflevector <4 x float> %agg.tmp3.sroa.13.40.copyload, <4 x float> poison, <2 x i32> %agg.tmp.sroa.3.12.vec.insert.i.i.i14 = shufflevector <4 x float> %agg.tmp3.sroa.13.40.copyload, <4 x float> poison, <2 x i32> store <2 x float> %agg.tmp.sroa.0.4.vec.insert.i.i.i13, ptr %add.ptr.i.i.i12, align 16 %v.sroa.2.0.p.addr.0..sroa_idx.i.i.i.i15 = getelementptr inbounds i8, ptr %add.ptr.i.i.i12, i64 8 store <2 x float> %agg.tmp.sroa.3.12.vec.insert.i.i.i14, ptr %v.sroa.2.0.p.addr.0..sroa_idx.i.i.i.i15, align 8 %ptr4.i29.i.i = getelementptr inbounds i8, ptr %escapedRayQueue, i64 112 - %41 = load ptr, ptr %ptr4.i29.i.i, align 8 - %add.ptr.i31.i.i = getelementptr inbounds %"struct.pbrt::Float4", ptr %41, i64 %idxprom.i.i.i + %42 = load ptr, ptr %ptr4.i29.i.i, align 8 + %add.ptr.i31.i.i = getelementptr inbounds %"struct.pbrt::Float4", ptr %42, i64 %idxprom.i.i.i %agg.tmp.sroa.0.4.vec.insert.i32.i.i = shufflevector <4 x float> %agg.tmp3.sroa.14.40.copyload, <4 x float> poison, <2 x i32> %agg.tmp.sroa.3.12.vec.insert.i33.i.i = shufflevector <4 x float> %agg.tmp3.sroa.14.40.copyload, <4 x float> poison, <2 x i32> store <2 x float> %agg.tmp.sroa.0.4.vec.insert.i32.i.i, ptr %add.ptr.i31.i.i, align 16 %v.sroa.2.0.p.addr.0..sroa_idx.i.i34.i.i = getelementptr inbounds i8, ptr %add.ptr.i31.i.i, i64 8 store <2 x float> %agg.tmp.sroa.3.12.vec.insert.i33.i.i, ptr %v.sroa.2.0.p.addr.0..sroa_idx.i.i34.i.i, align 8 %ptr4.i38.i.i = getelementptr inbounds i8, ptr %escapedRayQueue, i64 136 - %42 = load ptr, ptr %ptr4.i38.i.i, align 8 - %add.ptr.i40.i.i = getelementptr inbounds %"struct.pbrt::Float4", ptr %42, i64 %idxprom.i.i.i + %43 = load ptr, ptr %ptr4.i38.i.i, align 8 + %add.ptr.i40.i.i = getelementptr inbounds %"struct.pbrt::Float4", ptr %43, i64 %idxprom.i.i.i %agg.tmp.sroa.0.4.vec.insert.i41.i.i = shufflevector <4 x float> %agg.tmp3.sroa.15.40.copyload, <4 x float> poison, <2 x i32> %agg.tmp.sroa.3.12.vec.insert.i42.i.i = shufflevector <4 x float> %agg.tmp3.sroa.15.40.copyload, <4 x float> poison, <2 x i32> store <2 x float> %agg.tmp.sroa.0.4.vec.insert.i41.i.i, ptr %add.ptr.i40.i.i, align 16 %v.sroa.2.0.p.addr.0..sroa_idx.i.i43.i.i = getelementptr inbounds i8, ptr %add.ptr.i40.i.i, i64 8 store <2 x float> %agg.tmp.sroa.3.12.vec.insert.i42.i.i, ptr %v.sroa.2.0.p.addr.0..sroa_idx.i.i43.i.i, align 8 %lambda4.i.i.i16 = getelementptr inbounds i8, ptr %escapedRayQueue, i64 160 - %43 = load ptr, ptr %lambda4.i.i.i16, align 8 - %add.ptr.i48.i.i = getelementptr inbounds %"struct.pbrt::Float4", ptr %43, i64 %idxprom.i.i.i + %44 = load ptr, ptr %lambda4.i.i.i16, align 8 + %add.ptr.i48.i.i = getelementptr inbounds %"struct.pbrt::Float4", ptr %44, i64 %idxprom.i.i.i %agg.tmp1.sroa.11.i.0.agg.tmp1.sroa.11.i.0.agg.tmp1.sroa.11.i.0.agg.tmp1.sroa.11.0.agg.tmp1.sroa.11.0.agg.tmp1.sroa.11.28..i = load <4 x float>, ptr %agg.tmp1.sroa.11.i, align 16 %agg.tmp.sroa.0.4.vec.insert.i49.i.i = shufflevector <4 x float> %agg.tmp1.sroa.11.i.0.agg.tmp1.sroa.11.i.0.agg.tmp1.sroa.11.i.0.agg.tmp1.sroa.11.0.agg.tmp1.sroa.11.0.agg.tmp1.sroa.11.28..i, <4 x float> poison, <2 x i32> %agg.tmp1.sroa.11.i.8.i.8.i.8.arrayidx.i23.i.i.sroa_idx = getelementptr inbounds i8, ptr %agg.tmp1.sroa.11.i, i64 8 @@ -1658,8 +1655,8 @@ if.then2: ; preds = %if.else %v.sroa.2.0.p.addr.0..sroa_idx.i.i51.i.i = getelementptr inbounds i8, ptr %add.ptr.i48.i.i, i64 8 store <2 x float> %agg.tmp.sroa.3.12.vec.insert.i50.i.i, ptr %v.sroa.2.0.p.addr.0..sroa_idx.i.i51.i.i, align 8 %pdf4.i.i.i17 = getelementptr inbounds i8, ptr %escapedRayQueue, i64 168 - %44 = load ptr, ptr %pdf4.i.i.i17, align 8 - %add.ptr21.i.i.i18 = getelementptr inbounds %"struct.pbrt::Float4", ptr %44, i64 %idxprom.i.i.i + %45 = load ptr, ptr %pdf4.i.i.i17, align 8 + %add.ptr21.i.i.i18 = getelementptr inbounds %"struct.pbrt::Float4", ptr %45, i64 %idxprom.i.i.i %agg.tmp1.sroa.11.i.16.i.16.i.16.pdf.i.i.sroa_idx = getelementptr inbounds i8, ptr %agg.tmp1.sroa.11.i, i64 16 %agg.tmp1.sroa.11.i.16.agg.tmp1.sroa.11.i.16.agg.tmp1.sroa.11.i.16.agg.tmp1.sroa.11.16.agg.tmp1.sroa.11.16.agg.tmp1.sroa.11.44..i = load <4 x float>, ptr %agg.tmp1.sroa.11.i.16.i.16.i.16.pdf.i.i.sroa_idx, align 16 %agg.tmp22.sroa.0.4.vec.insert.i.i.i19 = shufflevector <4 x float> %agg.tmp1.sroa.11.i.16.agg.tmp1.sroa.11.i.16.agg.tmp1.sroa.11.i.16.agg.tmp1.sroa.11.16.agg.tmp1.sroa.11.16.agg.tmp1.sroa.11.44..i, <4 x float> poison, <2 x i32> @@ -1668,60 +1665,60 @@ if.then2: ; preds = %if.else %v.sroa.2.0.p.addr.0..sroa_idx.i28.i.i.i21 = getelementptr inbounds i8, ptr %add.ptr21.i.i.i18, i64 8 store <2 x float> %agg.tmp22.sroa.3.12.vec.insert.i.i.i20, ptr %v.sroa.2.0.p.addr.0..sroa_idx.i28.i.i.i21, align 8 %low2.i.i.i.i.i22 = getelementptr inbounds i8, ptr %escapedRayQueue, i64 216 - %45 = load ptr, ptr %low2.i.i.i.i.i22, align 8 - %arrayidx.i.i.i.i.i23 = getelementptr inbounds float, ptr %45, i64 %idxprom.i.i.i + %46 = load ptr, ptr %low2.i.i.i.i.i22, align 8 + %arrayidx.i.i.i.i.i23 = getelementptr inbounds float, ptr %46, i64 %idxprom.i.i.i store float %agg.tmp3.sroa.16.40.copyload, ptr %arrayidx.i.i.i.i.i23, align 4 %high4.i.i.i.i.i24 = getelementptr inbounds i8, ptr %escapedRayQueue, i64 224 - %46 = load ptr, ptr %high4.i.i.i.i.i24, align 8 - %arrayidx7.i.i.i.i.i25 = getelementptr inbounds float, ptr %46, i64 %idxprom.i.i.i + %47 = load ptr, ptr %high4.i.i.i.i.i24, align 8 + %arrayidx7.i.i.i.i.i25 = getelementptr inbounds float, ptr %47, i64 %idxprom.i.i.i store float %agg.tmp3.sroa.17.40.copyload, ptr %arrayidx7.i.i.i.i.i25, align 4 %low2.i5.i.i.i.i26 = getelementptr inbounds i8, ptr %escapedRayQueue, i64 240 - %47 = load ptr, ptr %low2.i5.i.i.i.i26, align 8 - %arrayidx.i8.i.i.i.i27 = getelementptr inbounds float, ptr %47, i64 %idxprom.i.i.i + %48 = load ptr, ptr %low2.i5.i.i.i.i26, align 8 + %arrayidx.i8.i.i.i.i27 = getelementptr inbounds float, ptr %48, i64 %idxprom.i.i.i store float %agg.tmp3.sroa.18.40.copyload, ptr %arrayidx.i8.i.i.i.i27, align 4 %high4.i10.i.i.i.i28 = getelementptr inbounds i8, ptr %escapedRayQueue, i64 248 - %48 = load ptr, ptr %high4.i10.i.i.i.i28, align 8 - %arrayidx7.i12.i.i.i.i29 = getelementptr inbounds float, ptr %48, i64 %idxprom.i.i.i + %49 = load ptr, ptr %high4.i10.i.i.i.i28, align 8 + %arrayidx7.i12.i.i.i.i29 = getelementptr inbounds float, ptr %49, i64 %idxprom.i.i.i store float %agg.tmp3.sroa.19.40.copyload, ptr %arrayidx7.i12.i.i.i.i29, align 4 %low2.i15.i.i.i.i30 = getelementptr inbounds i8, ptr %escapedRayQueue, i64 264 - %49 = load ptr, ptr %low2.i15.i.i.i.i30, align 8 - %arrayidx.i18.i.i.i.i31 = getelementptr inbounds float, ptr %49, i64 %idxprom.i.i.i + %50 = load ptr, ptr %low2.i15.i.i.i.i30, align 8 + %arrayidx.i18.i.i.i.i31 = getelementptr inbounds float, ptr %50, i64 %idxprom.i.i.i store float %agg.tmp3.sroa.20.40.copyload, ptr %arrayidx.i18.i.i.i.i31, align 4 %high4.i20.i.i.i.i32 = getelementptr inbounds i8, ptr %escapedRayQueue, i64 272 - %50 = load ptr, ptr %high4.i20.i.i.i.i32, align 8 - %arrayidx7.i22.i.i.i.i33 = getelementptr inbounds float, ptr %50, i64 %idxprom.i.i.i + %51 = load ptr, ptr %high4.i20.i.i.i.i32, align 8 + %arrayidx7.i22.i.i.i.i33 = getelementptr inbounds float, ptr %51, i64 %idxprom.i.i.i store float %agg.tmp3.sroa.21.40.copyload, ptr %arrayidx7.i22.i.i.i.i33, align 4 %x2.i.i.i.i34 = getelementptr inbounds i8, ptr %escapedRayQueue, i64 288 - %51 = load ptr, ptr %x2.i.i.i.i34, align 8 - %arrayidx.i.i.i.i35 = getelementptr inbounds float, ptr %51, i64 %idxprom.i.i.i + %52 = load ptr, ptr %x2.i.i.i.i34, align 8 + %arrayidx.i.i.i.i35 = getelementptr inbounds float, ptr %52, i64 %idxprom.i.i.i store float %agg.tmp3.sroa.22.40.copyload, ptr %arrayidx.i.i.i.i35, align 4 %y4.i.i.i.i36 = getelementptr inbounds i8, ptr %escapedRayQueue, i64 296 - %52 = load ptr, ptr %y4.i.i.i.i36, align 8 - %arrayidx7.i.i.i.i37 = getelementptr inbounds float, ptr %52, i64 %idxprom.i.i.i + %53 = load ptr, ptr %y4.i.i.i.i36, align 8 + %arrayidx7.i.i.i.i37 = getelementptr inbounds float, ptr %53, i64 %idxprom.i.i.i store float %agg.tmp3.sroa.23.40.copyload, ptr %arrayidx7.i.i.i.i37, align 4 %z9.i.i.i.i38 = getelementptr inbounds i8, ptr %escapedRayQueue, i64 304 - %53 = load ptr, ptr %z9.i.i.i.i38, align 8 - %arrayidx12.i.i.i.i39 = getelementptr inbounds float, ptr %53, i64 %idxprom.i.i.i + %54 = load ptr, ptr %z9.i.i.i.i38, align 8 + %arrayidx12.i.i.i.i39 = getelementptr inbounds float, ptr %54, i64 %idxprom.i.i.i store float %agg.tmp3.sroa.24.40.copyload, ptr %arrayidx12.i.i.i.i39, align 4 %x2.i10.i.i.i40 = getelementptr inbounds i8, ptr %escapedRayQueue, i64 320 - %54 = load ptr, ptr %x2.i10.i.i.i40, align 8 - %arrayidx.i13.i.i.i41 = getelementptr inbounds float, ptr %54, i64 %idxprom.i.i.i + %55 = load ptr, ptr %x2.i10.i.i.i40, align 8 + %arrayidx.i13.i.i.i41 = getelementptr inbounds float, ptr %55, i64 %idxprom.i.i.i store float %agg.tmp3.sroa.25.40.copyload, ptr %arrayidx.i13.i.i.i41, align 4 %y4.i15.i.i.i42 = getelementptr inbounds i8, ptr %escapedRayQueue, i64 328 - %55 = load ptr, ptr %y4.i15.i.i.i42, align 8 - %arrayidx7.i17.i.i.i43 = getelementptr inbounds float, ptr %55, i64 %idxprom.i.i.i + %56 = load ptr, ptr %y4.i15.i.i.i42, align 8 + %arrayidx7.i17.i.i.i43 = getelementptr inbounds float, ptr %56, i64 %idxprom.i.i.i store float %agg.tmp3.sroa.26.40.copyload, ptr %arrayidx7.i17.i.i.i43, align 4 %z9.i19.i.i.i44 = getelementptr inbounds i8, ptr %escapedRayQueue, i64 336 - %56 = load ptr, ptr %z9.i19.i.i.i44, align 8 - %arrayidx12.i21.i.i.i45 = getelementptr inbounds float, ptr %56, i64 %idxprom.i.i.i + %57 = load ptr, ptr %z9.i19.i.i.i44, align 8 + %arrayidx12.i21.i.i.i45 = getelementptr inbounds float, ptr %57, i64 %idxprom.i.i.i store float %agg.tmp3.sroa.27.40.copyload, ptr %arrayidx12.i21.i.i.i45, align 4 %specularBounce37.i.i = getelementptr inbounds i8, ptr %escapedRayQueue, i64 344 - %57 = load ptr, ptr %specularBounce37.i.i, align 8 - %arrayidx40.i.i = getelementptr inbounds i32, ptr %57, i64 %idxprom.i.i.i + %58 = load ptr, ptr %specularBounce37.i.i, align 8 + %arrayidx40.i.i = getelementptr inbounds i32, ptr %58, i64 %idxprom.i.i.i store i32 %agg.tmp3.sroa.2847.40.copyload, ptr %arrayidx40.i.i, align 4 %pixelIndex42.i.i = getelementptr inbounds i8, ptr %escapedRayQueue, i64 352 - %58 = load ptr, ptr %pixelIndex42.i.i, align 8 - %arrayidx45.i.i = getelementptr inbounds i32, ptr %58, i64 %idxprom.i.i.i + %59 = load ptr, ptr %pixelIndex42.i.i, align 8 + %arrayidx45.i.i = getelementptr inbounds i32, ptr %59, i64 %idxprom.i.i.i store i32 %agg.tmp3.sroa.12.40.copyload, ptr %arrayidx45.i.i, align 4 call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp1.sroa.11.i) br label %if.end5 @@ -10441,10 +10438,9 @@ entry: br i1 %call2.i.i.i, label %"_ZSt10__invoke_rIvRZNK4pbrt12CPUAggregate15IntersectShadowEiPNS0_9WorkQueueINS0_17ShadowRayWorkItemEEEPNS0_3SOAINS0_16PixelSampleStateEEEE3$_0JlEENSt9enable_ifIX16is_invocable_r_vIT_T0_DpT1_EESD_E4typeEOSE_DpOSF_.exit", label %if.end.i.i.i.i if.end.i.i.i.i: ; preds = %entry - %r_u.i.i.i.i = getelementptr inbounds i8, ptr %agg.tmp.i.i.i, i64 92 %r_l.i.i.i.i = getelementptr inbounds i8, ptr %agg.tmp.i.i.i, i64 108 call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ret.i.i.i.i.i) - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %ret.i.i.i.i.i, ptr noundef nonnull align 4 dereferenceable(16) %r_u.i.i.i.i, i64 16, i1 false) + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %ret.i.i.i.i.i, ptr noundef nonnull align 4 dereferenceable(16) %r_u30.i.i.i.i, i64 16, i1 false) br label %for.body.i.i.i.i.i.i for.body.i.i.i.i.i.i: ; preds = %for.body.i.i.i.i.i.i, %if.end.i.i.i.i @@ -10481,10 +10477,9 @@ for.body.i.i.i.i.i: ; preds = %for.body.i.i.i.i.i, br i1 %exitcond.not.i.i.i.i.i, label %_ZNK4pbrt15SampledSpectrum7AverageEv.exit.i.i.i.i, label %for.body.i.i.i.i.i, !llvm.loop !88 _ZNK4pbrt15SampledSpectrum7AverageEv.exit.i.i.i.i: ; preds = %for.body.i.i.i.i.i - %Ld1.i.i.i.i = getelementptr inbounds i8, ptr %agg.tmp.i.i.i, i64 76 %div.i.i.i.i.i = fmul float %add.i.i.i.i.i, 2.500000e-01 call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ret.i2.i.i.i.i) - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %ret.i2.i.i.i.i, ptr noundef nonnull align 4 dereferenceable(16) %Ld1.i.i.i.i, i64 16, i1 false) + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %ret.i2.i.i.i.i, ptr noundef nonnull align 4 dereferenceable(16) %Ld21.i.i.i.i, i64 16, i1 false) br label %for.body.i.i3.i.i.i.i for.body.i.i3.i.i.i.i: ; preds = %for.body.i.i3.i.i.i.i, %_ZNK4pbrt15SampledSpectrum7AverageEv.exit.i.i.i.i diff --git a/bench/pbrt-v4/optimized/cameras.cpp.ll b/bench/pbrt-v4/optimized/cameras.cpp.ll index 82125b6124d..b8dde303c9b 100644 --- a/bench/pbrt-v4/optimized/cameras.cpp.ll +++ b/bench/pbrt-v4/optimized/cameras.cpp.ll @@ -21841,7 +21841,8 @@ entry: call void @_ZN4pbrt5ScaleEfff(ptr nonnull sret(%"class.pbrt::Transform") align 4 %rasterFromNDC, float noundef %conv, float noundef %conv26, float noundef 1.000000e+00) call void @_ZNK4pbrt9TransformmlERKS0_(ptr nonnull sret(%"class.pbrt::Transform") align 4 %ref.tmp27, ptr noundef nonnull align 4 dereferenceable(128) %rasterFromNDC, ptr noundef nonnull align 4 dereferenceable(128) %NDCFromScreen) call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(128) %rasterFromScreen, ptr noundef nonnull align 4 dereferenceable(128) %ref.tmp27, i64 128, i1 false) - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(64) %ref.tmp29, ptr noundef nonnull align 8 dereferenceable(64) %mInv.i6, i64 64, i1 false) + %7 = getelementptr inbounds i8, ptr %ref.tmp27, i64 64 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(64) %ref.tmp29, ptr noundef nonnull align 4 dereferenceable(64) %7, i64 64, i1 false) %mInv3.i.i = getelementptr inbounds i8, ptr %ref.tmp29, i64 64 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(64) %mInv3.i.i, ptr noundef nonnull align 4 dereferenceable(64) %ref.tmp27, i64 64, i1 false) call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(128) %screenFromRaster, ptr noundef nonnull align 4 dereferenceable(128) %ref.tmp29, i64 128, i1 false) diff --git a/bench/pbrt-v4/optimized/integrator.cpp.ll b/bench/pbrt-v4/optimized/integrator.cpp.ll index 16d484ffda7..7363ac35f9f 100644 --- a/bench/pbrt-v4/optimized/integrator.cpp.ll +++ b/bench/pbrt-v4/optimized/integrator.cpp.ll @@ -3509,7 +3509,6 @@ entry: %cfw = alloca %"class.pbrt::SquareMatrix.101", align 4 %ref.tmp148 = alloca %"class.pbrt::Transform", align 4 %ref.tmp149 = alloca %"class.pbrt::Transform", align 4 - %ref.tmp150 = alloca %"class.pbrt::Transform", align 4 %film = getelementptr inbounds i8, ptr %this, i64 56 %0 = load i64, ptr %film, align 8 %and.i.i.i = and i64 %0, 144115188075855871 @@ -3534,16 +3533,16 @@ entry: %and.i.i.i48 = and i64 %2, 144115188075855871 %3 = inttoptr i64 %and.i.i.i48 to ptr call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(128) %renderFromCamera, ptr noundef nonnull align 4 dereferenceable(128) %3, i64 128, i1 false) - %mInv.i.i = getelementptr inbounds i8, ptr %renderFromCamera, i64 64 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(64) %cameraFromRender, ptr noundef nonnull align 4 dereferenceable(64) %mInv.i.i, i64 64, i1 false) + %4 = getelementptr inbounds i8, ptr %3, i64 64 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(64) %cameraFromRender, ptr noundef nonnull align 4 dereferenceable(64) %4, i64 64, i1 false) %mInv3.i.i = getelementptr inbounds i8, ptr %cameraFromRender, i64 64 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(64) %mInv3.i.i, ptr noundef nonnull align 4 dereferenceable(64) %renderFromCamera, i64 64, i1 false) %shutterOpen.i.i19.i.i.i = getelementptr inbounds i8, ptr %3, i64 824 - %4 = load float, ptr %shutterOpen.i.i19.i.i.i, align 8 + %5 = load float, ptr %shutterOpen.i.i19.i.i.i, align 8 %shutterClose.i.i20.i.i.i = getelementptr inbounds i8, ptr %3, i64 828 - %5 = load float, ptr %shutterClose.i.i20.i.i.i, align 4 - %mul1.i.i.i23.i.i.i = fmul float %5, 0.000000e+00 - %add.i.i.i24.i.i.i = fadd float %4, %mul1.i.i.i23.i.i.i + %6 = load float, ptr %shutterClose.i.i20.i.i.i, align 4 + %mul1.i.i.i23.i.i.i = fmul float %6, 0.000000e+00 + %add.i.i.i24.i.i.i = fadd float %5, %mul1.i.i.i23.i.i.i call void @llvm.lifetime.start.p0(i64 128, ptr nonnull %ref.tmp.i) call void @llvm.lifetime.start.p0(i64 128, ptr nonnull %ref.tmp2.i) %worldFromRender.i = getelementptr inbounds i8, ptr %3, i64 696 @@ -3555,14 +3554,14 @@ entry: call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(64) %mInv3.i.i.i, ptr noundef nonnull align 4 dereferenceable(64) %ref.tmp.i, i64 64, i1 false) call void @llvm.lifetime.end.p0(i64 128, ptr nonnull %ref.tmp.i) call void @llvm.lifetime.end.p0(i64 128, ptr nonnull %ref.tmp2.i) - %6 = load ptr, ptr @_ZN4pbrt7OptionsE, align 8 - %interactive = getelementptr inbounds i8, ptr %6, i64 12 - %7 = load i8, ptr %interactive, align 4 - %tobool = trunc i8 %7 to i1 + %7 = load ptr, ptr @_ZN4pbrt7OptionsE, align 8 + %interactive = getelementptr inbounds i8, ptr %7, i64 12 + %8 = load i8, ptr %interactive, align 4 + %tobool = trunc i8 %8 to i1 br i1 %tobool, label %if.then, label %if.end19 if.then: ; preds = %entry - %displayServer = getelementptr inbounds i8, ptr %6, i64 216 + %displayServer = getelementptr inbounds i8, ptr %7, i64 216 %call9 = call noundef zeroext i1 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5emptyEv(ptr noundef nonnull align 8 dereferenceable(32) %displayServer) #26 br i1 %call9, label %if.end, label %if.then10 @@ -3577,11 +3576,11 @@ if.end: ; preds = %if.then invoke.cont: ; preds = %if.end %aggregate = getelementptr inbounds i8, ptr %this, i64 536 - %8 = load ptr, ptr %aggregate, align 8 - %vtable = load ptr, ptr %8, align 8 + %9 = load ptr, ptr %aggregate, align 8 + %vtable = load ptr, ptr %9, align 8 %vfn = getelementptr inbounds i8, ptr %vtable, i64 16 - %9 = load ptr, ptr %vfn, align 8 - invoke void %9(ptr nonnull sret(%"class.pbrt::Bounds3") align 4 %agg.tmp14, ptr noundef nonnull align 8 dereferenceable(8) %8) + %10 = load ptr, ptr %vfn, align 8 + invoke void %10(ptr nonnull sret(%"class.pbrt::Bounds3") align 4 %agg.tmp14, ptr noundef nonnull align 8 dereferenceable(8) %9) to label %invoke.cont16 unwind label %lpad15 invoke.cont16: ; preds = %invoke.cont @@ -3593,26 +3592,26 @@ invoke.cont18: ; preds = %invoke.cont16 br label %if.end19 lpad: ; preds = %if.end - %10 = landingpad { ptr, i32 } + %11 = landingpad { ptr, i32 } cleanup br label %cleanup.action lpad15: ; preds = %invoke.cont16, %invoke.cont - %11 = landingpad { ptr, i32 } + %12 = landingpad { ptr, i32 } cleanup call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp) #26 br label %cleanup.action cleanup.action: ; preds = %lpad, %lpad15 - %.pn = phi { ptr, i32 } [ %11, %lpad15 ], [ %10, %lpad ] + %.pn = phi { ptr, i32 } [ %12, %lpad15 ], [ %11, %lpad ] call void @_ZdlPv(ptr noundef nonnull %call11) #28 br label %eh.resume if.end19: ; preds = %invoke.cont18, %entry %gui.0 = phi ptr [ %call11, %invoke.cont18 ], [ null, %entry ] %call.i = call i64 @_ZNSt6chrono3_V212steady_clock3nowEv() #26 - %12 = load ptr, ptr @_ZN4pbrt7OptionsE, align 8 - %displayServer20 = getelementptr inbounds i8, ptr %12, i64 216 + %13 = load ptr, ptr @_ZN4pbrt7OptionsE, align 8 + %displayServer20 = getelementptr inbounds i8, ptr %13, i64 216 %call21 = call noundef zeroext i1 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5emptyEv(ptr noundef nonnull align 8 dereferenceable(32) %displayServer20) #26 br i1 %call21, label %if.end23, label %if.then22 @@ -3622,24 +3621,24 @@ if.then22: ; preds = %if.end19 if.end23: ; preds = %if.then22, %if.end19 %samplesPerPixel = getelementptr inbounds i8, ptr %this, i64 100 - %13 = load i32, ptr %samplesPerPixel, align 4 - %14 = load ptr, ptr @_ZN4pbrt7OptionsE, align 8 - %debugStart = getelementptr inbounds i8, ptr %14, i64 184 + %14 = load i32, ptr %samplesPerPixel, align 4 + %15 = load ptr, ptr @_ZN4pbrt7OptionsE, align 8 + %debugStart = getelementptr inbounds i8, ptr %15, i64 184 %call24 = call noundef zeroext i1 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5emptyEv(ptr noundef nonnull align 8 dereferenceable(32) %debugStart) #26 br i1 %call24, label %if.end44, label %if.then25 if.then25: ; preds = %if.end23 - %15 = load ptr, ptr @_ZN4pbrt7OptionsE, align 8 - %debugStart27 = getelementptr inbounds i8, ptr %15, i64 184 + %16 = load ptr, ptr @_ZN4pbrt7OptionsE, align 8 + %debugStart27 = getelementptr inbounds i8, ptr %16, i64 184 %call28 = call { i64, ptr } @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEcvSt17basic_string_viewIcS2_EEv(ptr noundef nonnull align 8 dereferenceable(32) %debugStart27) #26 - %16 = extractvalue { i64, ptr } %call28, 0 - %17 = extractvalue { i64, ptr } %call28, 1 - call void @_ZN4pbrt17SplitStringToIntsESt17basic_string_viewIcSt11char_traitsIcEEc(ptr nonnull sret(%"class.std::vector.168") align 8 %values, i64 %16, ptr %17, i8 noundef signext 44) + %17 = extractvalue { i64, ptr } %call28, 0 + %18 = extractvalue { i64, ptr } %call28, 1 + call void @_ZN4pbrt17SplitStringToIntsESt17basic_string_viewIcSt11char_traitsIcEEc(ptr nonnull sret(%"class.std::vector.168") align 8 %values, i64 %17, ptr %18, i8 noundef signext 44) %_M_finish.i = getelementptr inbounds i8, ptr %values, i64 8 - %18 = load ptr, ptr %_M_finish.i, align 8 - %19 = load ptr, ptr %values, align 8 - %sub.ptr.lhs.cast.i = ptrtoint ptr %18 to i64 - %sub.ptr.rhs.cast.i = ptrtoint ptr %19 to i64 + %19 = load ptr, ptr %_M_finish.i, align 8 + %20 = load ptr, ptr %values, align 8 + %sub.ptr.lhs.cast.i = ptrtoint ptr %19 to i64 + %sub.ptr.rhs.cast.i = ptrtoint ptr %20 to i64 %sub.ptr.sub.i = sub i64 %sub.ptr.lhs.cast.i, %sub.ptr.rhs.cast.i %sub.ptr.div.i = ashr exact i64 %sub.ptr.sub.i, 2 switch i64 %sub.ptr.div.i, label %if.then32 [ @@ -3655,31 +3654,31 @@ invoke.cont34: ; preds = %if.then32 unreachable lpad33: ; preds = %if.then32 - %20 = landingpad { ptr, i32 } + %21 = landingpad { ptr, i32 } cleanup - %21 = load ptr, ptr %values, align 8 - %tobool.not.i.i.i = icmp eq ptr %21, null + %22 = load ptr, ptr %values, align 8 + %tobool.not.i.i.i = icmp eq ptr %22, null br i1 %tobool.not.i.i.i, label %eh.resume, label %if.then.i.i.i if.then.i.i.i: ; preds = %lpad33 - call void @_ZdlPv(ptr noundef nonnull %21) #28 + call void @_ZdlPv(ptr noundef nonnull %22) #28 br label %eh.resume if.then39: ; preds = %if.then25 - %add.ptr.i = getelementptr inbounds i8, ptr %19, i64 4 - %22 = load i32, ptr %add.ptr.i, align 4 + %add.ptr.i = getelementptr inbounds i8, ptr %20, i64 4 + %23 = load i32, ptr %add.ptr.i, align 4 br label %_ZNSt6vectorIiSaIiEED2Ev.exit63 _ZNSt6vectorIiSaIiEED2Ev.exit63: ; preds = %if.then25, %if.then39 - %.pn39 = phi i32 [ %22, %if.then39 ], [ 1, %if.then25 ] - %23 = load i32, ptr %19, align 4 - %lastSampleIndex.0 = add nsw i32 %23, %.pn39 - call void @_ZdlPv(ptr noundef nonnull %19) #28 + %.pn39 = phi i32 [ %23, %if.then39 ], [ 1, %if.then25 ] + %24 = load i32, ptr %20, align 4 + %lastSampleIndex.0 = add nsw i32 %24, %.pn39 + call void @_ZdlPv(ptr noundef nonnull %20) #28 br label %if.end44 if.end44: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit63, %if.end23 - %lastSampleIndex.1 = phi i32 [ %13, %if.end23 ], [ %lastSampleIndex.0, %_ZNSt6vectorIiSaIiEED2Ev.exit63 ] - %firstSampleIndex.0 = phi i32 [ 0, %if.end23 ], [ %23, %_ZNSt6vectorIiSaIiEED2Ev.exit63 ] + %lastSampleIndex.1 = phi i32 [ %14, %if.end23 ], [ %lastSampleIndex.0, %_ZNSt6vectorIiSaIiEED2Ev.exit63 ] + %firstSampleIndex.0 = phi i32 [ 0, %if.end23 ], [ %24, %_ZNSt6vectorIiSaIiEED2Ev.exit63 ] %sub = sub nsw i32 %lastSampleIndex.1, %firstSampleIndex.0 %conv = sext i32 %sub to i64 call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp) #26 @@ -3695,30 +3694,30 @@ call.i64.noexc: ; preds = %if.end44 to label %invoke.cont47 unwind label %lpad.i lpad.i: ; preds = %.noexc - %24 = landingpad { ptr, i32 } + %25 = landingpad { ptr, i32 } cleanup call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %agg.tmp45) #26 br label %ehcleanup55 invoke.cont47: ; preds = %.noexc - %25 = load ptr, ptr @_ZN4pbrt7OptionsE, align 8 - %quiet = getelementptr inbounds i8, ptr %25, i64 4 - %26 = load i8, ptr %quiet, align 4 - %tobool48 = trunc i8 %26 to i1 + %26 = load ptr, ptr @_ZN4pbrt7OptionsE, align 8 + %quiet = getelementptr inbounds i8, ptr %26, i64 4 + %27 = load i8, ptr %quiet, align 4 + %tobool48 = trunc i8 %27 to i1 br i1 %tobool48, label %lor.end, label %lor.rhs lor.rhs: ; preds = %invoke.cont47 - %interactive49 = getelementptr inbounds i8, ptr %25, i64 12 - %27 = load i8, ptr %interactive49, align 4 - %tobool50 = trunc i8 %27 to i1 + %interactive49 = getelementptr inbounds i8, ptr %26, i64 12 + %28 = load i8, ptr %interactive49, align 4 + %tobool50 = trunc i8 %28 to i1 br label %lor.end lor.end: ; preds = %lor.rhs, %invoke.cont47 - %28 = phi i1 [ true, %invoke.cont47 ], [ %tobool50, %lor.rhs ] - %useGPU = getelementptr inbounds i8, ptr %25, i64 10 - %29 = load i8, ptr %useGPU, align 2 - %tobool51 = trunc i8 %29 to i1 - invoke void @_ZN4pbrt16ProgressReporterC1ElNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEbb(ptr noundef nonnull align 8 dereferenceable(88) %progress, i64 noundef %conv, ptr noundef nonnull %agg.tmp45, i1 noundef zeroext %28, i1 noundef zeroext %tobool51) + %29 = phi i1 [ true, %invoke.cont47 ], [ %tobool50, %lor.rhs ] + %useGPU = getelementptr inbounds i8, ptr %26, i64 10 + %30 = load i8, ptr %useGPU, align 2 + %tobool51 = trunc i8 %30 to i1 + invoke void @_ZN4pbrt16ProgressReporterC1ElNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEbb(ptr noundef nonnull align 8 dereferenceable(88) %progress, i64 noundef %conv, ptr noundef nonnull %agg.tmp45, i1 noundef zeroext %29, i1 noundef zeroext %tobool51) to label %invoke.cont53 unwind label %lpad52 invoke.cont53: ; preds = %lor.end @@ -3727,13 +3726,13 @@ invoke.cont53: ; preds = %lor.end %tobool58 = icmp ne ptr %gui.0, null store i32 %firstSampleIndex.0, ptr %sampleIndex, align 4 %cmp56307 = icmp slt i32 %firstSampleIndex.0, %lastSampleIndex.1 - %30 = or i1 %tobool58, %cmp56307 - br i1 %30, label %for.body.lr.ph, label %if.end195 + %31 = or i1 %tobool58, %cmp56307 + br i1 %31, label %for.body.lr.ph, label %if.end195 for.body.lr.ph: ; preds = %invoke.cont53 %_M_manager.i.i = getelementptr inbounds i8, ptr %agg.tmp60, i64 16 %_M_invoker.i = getelementptr inbounds i8, ptr %agg.tmp60, i64 24 - %31 = ptrtoint ptr %sampleIndex to i64 + %32 = ptrtoint ptr %sampleIndex to i64 %cmp72304 = icmp slt i32 %pixelBounds.sroa.0.sroa.5.0.extract.trunc, %pixelBounds.sroa.6.12.extract.trunc222 %rayQueues.i = getelementptr inbounds i8, ptr %this, i64 520 %mInv.i = getelementptr inbounds i8, ptr %cameraMotion, i64 64 @@ -3755,15 +3754,15 @@ for.body.lr.ph: ; preds = %invoke.cont53 %ref.tmp.sroa.2.0.agg.tmp.sroa_idx.i.i = getelementptr inbounds i8, ptr %agg.tmp.i.i, i64 8 %_M_manager.i.i.i.i.i = getelementptr inbounds i8, ptr %agg.tmp.i.i.i, i64 16 %_M_invoker.i.i.i.i = getelementptr inbounds i8, ptr %agg.tmp.i.i.i, i64 24 - %32 = getelementptr inbounds i8, ptr %agg.tmp.i.i.i, i64 8 - %33 = ptrtoint ptr %agg.tmp.i.i to i64 + %33 = getelementptr inbounds i8, ptr %agg.tmp.i.i.i, i64 8 + %34 = ptrtoint ptr %agg.tmp.i.i to i64 %_M_manager.i.i.i.i131 = getelementptr inbounds i8, ptr %agg.tmp.i.i124, i64 16 %_M_invoker.i.i.i132 = getelementptr inbounds i8, ptr %agg.tmp.i.i124, i64 24 %ref.tmp.sroa.2.0.agg.tmp.sroa_idx.i.i133 = getelementptr inbounds i8, ptr %agg.tmp.i.i124, i64 8 %_M_manager.i.i.i.i.i134 = getelementptr inbounds i8, ptr %agg.tmp.i.i.i122, i64 16 %_M_invoker.i.i.i.i135 = getelementptr inbounds i8, ptr %agg.tmp.i.i.i122, i64 24 - %34 = getelementptr inbounds i8, ptr %agg.tmp.i.i.i122, i64 8 - %35 = ptrtoint ptr %agg.tmp.i.i124 to i64 + %35 = getelementptr inbounds i8, ptr %agg.tmp.i.i.i122, i64 8 + %36 = ptrtoint ptr %agg.tmp.i.i124 to i64 %maxDepth = getelementptr inbounds i8, ptr %this, i64 96 %haveMedia.i = getelementptr inbounds i8, ptr %this, i64 2 %shadowRayQueue.i = getelementptr inbounds i8, ptr %this, i64 592 @@ -3773,53 +3772,53 @@ for.body.lr.ph: ; preds = %invoke.cont53 %workDone.i = getelementptr inbounds i8, ptr %progress, i64 56 %cpuFramebuffer.i = getelementptr inbounds i8, ptr %gui.0, i64 232 %printCameraTransform = getelementptr inbounds i8, ptr %gui.0, i64 4 - %mInv.i.i172 = getelementptr inbounds i8, ptr %ref.tmp150, i64 64 %mInv3.i.i173 = getelementptr inbounds i8, ptr %ref.tmp149, i64 64 %sub182 = add nsw i32 %firstSampleIndex.0, -1 %_M_manager.i.i.i = getelementptr inbounds i8, ptr %agg.tmp.i, i64 16 - %36 = getelementptr inbounds i8, ptr %agg.tmp.i, i64 8 + %37 = getelementptr inbounds i8, ptr %agg.tmp.i, i64 8 %_M_invoker.i.i = getelementptr inbounds i8, ptr %agg.tmp.i, i64 24 %mul = mul nsw i32 %sub4.i.i, %resolution.sroa.0.0.extract.trunc %conv.i = sext i32 %mul to i64 %_M_manager.i.i.i.i197 = getelementptr inbounds i8, ptr %agg.tmp.i.i193, i64 16 %_M_invoker.i.i.i198 = getelementptr inbounds i8, ptr %agg.tmp.i.i193, i64 24 - %37 = getelementptr inbounds i8, ptr %agg.tmp.i.i193, i64 8 - %38 = ptrtoint ptr %agg.tmp.i to i64 - %39 = getelementptr inbounds i8, ptr %agg.tmp60, i64 8 + %38 = getelementptr inbounds i8, ptr %agg.tmp.i.i193, i64 8 + %39 = ptrtoint ptr %agg.tmp.i to i64 + %40 = getelementptr inbounds i8, ptr %agg.tmp60, i64 8 + %41 = getelementptr inbounds i8, ptr %gui.0, i64 124 br label %for.body for.body: ; preds = %for.body.lr.ph, %for.inc190 - store i64 0, ptr %39, align 8 - store i64 %31, ptr %agg.tmp60, align 8 + store i64 0, ptr %40, align 8 + store i64 %32, ptr %agg.tmp60, align 8 store ptr @"_ZNSt17_Function_handlerIFNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEvEZN4pbrt23WavefrontPathIntegrator6RenderEvE3$_0E9_M_invokeERKSt9_Any_data", ptr %_M_invoker.i, align 8 store ptr @"_ZNSt17_Function_handlerIFNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEvEZN4pbrt23WavefrontPathIntegrator6RenderEvE3$_0E10_M_managerERSt9_Any_dataRKSB_St18_Manager_operation", ptr %_M_manager.i.i, align 8 invoke void @_ZN4pbrt18CheckCallbackScopeC1ESt8functionIFNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEvEE(ptr noundef nonnull align 1 dereferenceable(1) %_, ptr noundef nonnull %agg.tmp60) to label %invoke.cont63 unwind label %lpad62 invoke.cont63: ; preds = %for.body - %40 = load ptr, ptr %_M_manager.i.i, align 8 - %tobool.not.i.i = icmp eq ptr %40, null + %42 = load ptr, ptr %_M_manager.i.i, align 8 + %tobool.not.i.i = icmp eq ptr %42, null br i1 %tobool.not.i.i, label %_ZNSt8functionIFNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEvEED2Ev.exit, label %if.then.i.i if.then.i.i: ; preds = %invoke.cont63 - %call.i.i68 = invoke noundef zeroext i1 %40(ptr noundef nonnull align 8 dereferenceable(16) %agg.tmp60, ptr noundef nonnull align 8 dereferenceable(16) %agg.tmp60, i32 noundef 3) + %call.i.i68 = invoke noundef zeroext i1 %42(ptr noundef nonnull align 8 dereferenceable(16) %agg.tmp60, ptr noundef nonnull align 8 dereferenceable(16) %agg.tmp60, i32 noundef 3) to label %_ZNSt8functionIFNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEvEED2Ev.exit unwind label %terminate.lpad.i.i terminate.lpad.i.i: ; preds = %if.then.i.i - %41 = landingpad { ptr, i32 } + %43 = landingpad { ptr, i32 } catch ptr null - %42 = extractvalue { ptr, i32 } %41, 0 - call void @__clang_call_terminate(ptr %42) #25 + %44 = extractvalue { ptr, i32 } %43, 0 + call void @__clang_call_terminate(ptr %44) #25 unreachable _ZNSt8functionIFNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEvEED2Ev.exit: ; preds = %invoke.cont63, %if.then.i.i - %43 = load i32, ptr %sampleIndex, align 4 - %cmp65 = icmp slt i32 %43, %lastSampleIndex.1 + %45 = load i32, ptr %sampleIndex, align 4 + %cmp65 = icmp slt i32 %45, %lastSampleIndex.1 br i1 %cmp65, label %if.then66, label %if.end138 if.then66: ; preds = %_ZNSt8functionIFNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEvEED2Ev.exit - %44 = load i32, ptr @_ZN4pbrt7logging8logLevelE, align 4 - %cmp67 = icmp slt i32 %44, 1 + %46 = load i32, ptr @_ZN4pbrt7logging8logLevelE, align 4 + %cmp67 = icmp slt i32 %46, 1 br i1 %cmp67, label %land.rhs, label %land.end land.rhs: ; preds = %if.then66 @@ -3829,12 +3828,12 @@ land.rhs: ; preds = %if.then66 to label %_ZN4pbrt12StringPrintfIJRiEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPKcDpOT_.exit.i unwind label %lpad.i.i common.resume.i: ; preds = %lpad.i70, %lpad.i.i - %common.resume.op.i = phi { ptr, i32 } [ %45, %lpad.i.i ], [ %46, %lpad.i70 ] + %common.resume.op.i = phi { ptr, i32 } [ %47, %lpad.i.i ], [ %48, %lpad.i70 ] call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %s.i) #26 br label %lpad68.body lpad.i.i: ; preds = %land.rhs - %45 = landingpad { ptr, i32 } + %47 = landingpad { ptr, i32 } cleanup br label %common.resume.i @@ -3844,7 +3843,7 @@ _ZN4pbrt12StringPrintfIJRiEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE to label %_ZN4pbrt3LogIJRiEEEvNS_8LogLevelEPKciS4_DpOT_.exit unwind label %lpad.i70 lpad.i70: ; preds = %_ZN4pbrt12StringPrintfIJRiEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPKcDpOT_.exit.i - %46 = landingpad { ptr, i32 } + %48 = landingpad { ptr, i32 } cleanup br label %common.resume.i @@ -3858,15 +3857,15 @@ land.end: ; preds = %_ZN4pbrt3LogIJRiEEE for.body73: ; preds = %land.end, %for.inc125 %y0.0305 = phi i32 [ %add126, %for.inc125 ], [ %pixelBounds.sroa.0.sroa.5.0.extract.trunc, %land.end ] - %47 = load ptr, ptr @_ZN4pbrt7OptionsE, align 8 - %useGPU.i = getelementptr inbounds i8, ptr %47, i64 10 - %48 = load i8, ptr %useGPU.i, align 2 - %tobool.i = trunc i8 %48 to i1 + %49 = load ptr, ptr @_ZN4pbrt7OptionsE, align 8 + %useGPU.i = getelementptr inbounds i8, ptr %49, i64 10 + %50 = load i8, ptr %useGPU.i, align 2 + %tobool.i = trunc i8 %50 to i1 br i1 %tobool.i, label %if.then.i211.invoke, label %invoke.cont77 invoke.cont77: ; preds = %for.body73 - %49 = load ptr, ptr %rayQueues.i, align 8 - %size.i.i.i = getelementptr inbounds i8, ptr %49, i64 400 + %51 = load ptr, ptr %rayQueues.i, align 8 + %size.i.i.i = getelementptr inbounds i8, ptr %51, i64 400 store atomic i32 0, ptr %size.i.i.i monotonic, align 4 invoke void @_ZN4pbrt12SquareMatrixILi4EEC1Ev(ptr noundef nonnull align 4 dereferenceable(64) %cameraMotion) to label %.noexc73 unwind label %lpad68.loopexit.split-lp.loopexit.split-lp.loopexit @@ -3892,37 +3891,37 @@ invoke.cont86: ; preds = %invoke.cont85 br label %if.end87 lpad46: ; preds = %call.i64.noexc, %if.end44 - %50 = landingpad { ptr, i32 } + %52 = landingpad { ptr, i32 } cleanup br label %ehcleanup55 lpad52: ; preds = %lor.end - %51 = landingpad { ptr, i32 } + %53 = landingpad { ptr, i32 } cleanup call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp45) #26 br label %ehcleanup55 ehcleanup55: ; preds = %lpad46, %lpad.i, %lpad52 - %.pn40 = phi { ptr, i32 } [ %51, %lpad52 ], [ %50, %lpad46 ], [ %24, %lpad.i ] + %.pn40 = phi { ptr, i32 } [ %53, %lpad52 ], [ %52, %lpad46 ], [ %25, %lpad.i ] call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp) #26 br label %eh.resume lpad62: ; preds = %for.body - %52 = landingpad { ptr, i32 } + %54 = landingpad { ptr, i32 } cleanup - %53 = load ptr, ptr %_M_manager.i.i, align 8 - %tobool.not.i.i76 = icmp eq ptr %53, null + %55 = load ptr, ptr %_M_manager.i.i, align 8 + %tobool.not.i.i76 = icmp eq ptr %55, null br i1 %tobool.not.i.i76, label %ehcleanup203, label %if.then.i.i77 if.then.i.i77: ; preds = %lpad62 - %call.i.i78 = invoke noundef zeroext i1 %53(ptr noundef nonnull align 8 dereferenceable(16) %agg.tmp60, ptr noundef nonnull align 8 dereferenceable(16) %agg.tmp60, i32 noundef 3) + %call.i.i78 = invoke noundef zeroext i1 %55(ptr noundef nonnull align 8 dereferenceable(16) %agg.tmp60, ptr noundef nonnull align 8 dereferenceable(16) %agg.tmp60, i32 noundef 3) to label %ehcleanup203 unwind label %terminate.lpad.i.i79 terminate.lpad.i.i79: ; preds = %if.then.i.i77 - %54 = landingpad { ptr, i32 } + %56 = landingpad { ptr, i32 } catch ptr null - %55 = extractvalue { ptr, i32 } %54, 0 - call void @__clang_call_terminate(ptr %55) #25 + %57 = extractvalue { ptr, i32 } %56, 0 + call void @__clang_call_terminate(ptr %57) #25 unreachable lpad68.loopexit: ; preds = %invoke.cont97, %invoke.cont98, %if.end113, %if.end119, %invoke.cont122, %invoke.cont121 @@ -3951,162 +3950,162 @@ lpad68.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp: br label %lpad68.body lpad68.body: ; preds = %lpad68.loopexit, %lpad68.loopexit.split-lp.loopexit.split-lp.loopexit, %lpad68.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp, %lpad68.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit, %lpad68.loopexit.split-lp.loopexit, %lpad.body.i, %if.then.i.i4.i, %lpad.body.i.i141, %if.then.i.i4.i.i143, %lpad.body.i.i, %if.then.i.i4.i.i, %lpad.i.i175, %lpad.i.i187, %lpad.i.i181, %common.resume.i - %eh.lpad-body71 = phi { ptr, i32 } [ %common.resume.op.i, %common.resume.i ], [ %154, %lpad.i.i175 ], [ %157, %lpad.i.i181 ], [ %159, %lpad.i.i187 ], [ %100, %if.then.i.i4.i.i ], [ %100, %lpad.body.i.i ], [ %117, %if.then.i.i4.i.i143 ], [ %117, %lpad.body.i.i141 ], [ %169, %if.then.i.i4.i ], [ %169, %lpad.body.i ], [ %lpad.loopexit, %lpad68.loopexit ], [ %lpad.loopexit247, %lpad68.loopexit.split-lp.loopexit ], [ %lpad.loopexit250, %lpad68.loopexit.split-lp.loopexit.split-lp.loopexit ], [ %lpad.loopexit252, %lpad68.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit ], [ %lpad.loopexit.split-lp253, %lpad68.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp ] + %eh.lpad-body71 = phi { ptr, i32 } [ %common.resume.op.i, %common.resume.i ], [ %156, %lpad.i.i175 ], [ %159, %lpad.i.i181 ], [ %161, %lpad.i.i187 ], [ %102, %if.then.i.i4.i.i ], [ %102, %lpad.body.i.i ], [ %119, %if.then.i.i4.i.i143 ], [ %119, %lpad.body.i.i141 ], [ %171, %if.then.i.i4.i ], [ %171, %lpad.body.i ], [ %lpad.loopexit, %lpad68.loopexit ], [ %lpad.loopexit247, %lpad68.loopexit.split-lp.loopexit ], [ %lpad.loopexit250, %lpad68.loopexit.split-lp.loopexit.split-lp.loopexit ], [ %lpad.loopexit252, %lpad68.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit ], [ %lpad.loopexit.split-lp253, %lpad68.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp ] call void @_ZN4pbrt18CheckCallbackScopeD1Ev(ptr noundef nonnull align 1 dereferenceable(1) %_) #26 br label %ehcleanup203 if.end87: ; preds = %invoke.cont86, %invoke.cont78 - %56 = load i32, ptr %sampleIndex, align 4 - invoke void @_ZN4pbrt23WavefrontPathIntegrator18GenerateCameraRaysEiNS_9TransformEi(ptr noundef nonnull align 8 dereferenceable(648) %this, i32 noundef %y0.0305, ptr noundef nonnull byval(%"class.pbrt::Transform") align 8 %cameraMotion, i32 noundef %56) + %58 = load i32, ptr %sampleIndex, align 4 + invoke void @_ZN4pbrt23WavefrontPathIntegrator18GenerateCameraRaysEiNS_9TransformEi(ptr noundef nonnull align 8 dereferenceable(648) %this, i32 noundef %y0.0305, ptr noundef nonnull byval(%"class.pbrt::Transform") align 8 %cameraMotion, i32 noundef %58) to label %invoke.cont89 unwind label %lpad68.loopexit.split-lp.loopexit.split-lp.loopexit invoke.cont89: ; preds = %if.end87 - %57 = load ptr, ptr @_ZN4pbrt7OptionsE, align 8 - %useGPU.i81 = getelementptr inbounds i8, ptr %57, i64 10 - %58 = load i8, ptr %useGPU.i81, align 2 - %tobool.i82 = trunc i8 %58 to i1 + %59 = load ptr, ptr @_ZN4pbrt7OptionsE, align 8 + %useGPU.i81 = getelementptr inbounds i8, ptr %59, i64 10 + %60 = load i8, ptr %useGPU.i81, align 2 + %tobool.i82 = trunc i8 %60 to i1 br i1 %tobool.i82, label %if.then.i211.invoke, label %"_ZN4pbrt23WavefrontPathIntegrator2DoIZNS0_6RenderEvE3$_2EEvPKcOT_.exit" "_ZN4pbrt23WavefrontPathIntegrator2DoIZNS0_6RenderEvE3$_2EEvPKcOT_.exit": ; preds = %invoke.cont89 - %59 = load atomic i32, ptr %size.i.i.i monotonic, align 4 - %conv.i.i = sext i32 %59 to i64 - %60 = load ptr, ptr %stats.i.i, align 8 - %61 = load i64, ptr %60, align 8 - %add.i.i = add i64 %61, %conv.i.i - store i64 %add.i.i, ptr %60, align 8 - %62 = load ptr, ptr @_ZN4pbrt7OptionsE, align 8 - %useGPU.i87300 = getelementptr inbounds i8, ptr %62, i64 10 - %63 = load i8, ptr %useGPU.i87300, align 2 - %tobool.i88301 = trunc i8 %63 to i1 + %61 = load atomic i32, ptr %size.i.i.i monotonic, align 4 + %conv.i.i = sext i32 %61 to i64 + %62 = load ptr, ptr %stats.i.i, align 8 + %63 = load i64, ptr %62, align 8 + %add.i.i = add i64 %63, %conv.i.i + store i64 %add.i.i, ptr %62, align 8 + %64 = load ptr, ptr @_ZN4pbrt7OptionsE, align 8 + %useGPU.i87300 = getelementptr inbounds i8, ptr %64, i64 10 + %65 = load i8, ptr %useGPU.i87300, align 2 + %tobool.i88301 = trunc i8 %65 to i1 br i1 %tobool.i88301, label %if.then.i211.invoke, label %if.else.i if.else.i: ; preds = %"_ZN4pbrt23WavefrontPathIntegrator2DoIZNS0_6RenderEvE3$_2EEvPKcOT_.exit", %for.inc %indvars.iv = phi i64 [ %indvars.iv.next, %for.inc ], [ 0, %"_ZN4pbrt23WavefrontPathIntegrator2DoIZNS0_6RenderEvE3$_2EEvPKcOT_.exit" ] %arrayidx.i303 = phi ptr [ %arrayidx.i, %for.inc ], [ %arrayidx.i299, %"_ZN4pbrt23WavefrontPathIntegrator2DoIZNS0_6RenderEvE3$_2EEvPKcOT_.exit" ] - %64 = phi i32 [ %143, %for.inc ], [ 0, %"_ZN4pbrt23WavefrontPathIntegrator2DoIZNS0_6RenderEvE3$_2EEvPKcOT_.exit" ] - %65 = load ptr, ptr %arrayidx.i303, align 8 - %size.i.i.i89 = getelementptr inbounds i8, ptr %65, i64 400 + %66 = phi i32 [ %145, %for.inc ], [ 0, %"_ZN4pbrt23WavefrontPathIntegrator2DoIZNS0_6RenderEvE3$_2EEvPKcOT_.exit" ] + %67 = load ptr, ptr %arrayidx.i303, align 8 + %size.i.i.i89 = getelementptr inbounds i8, ptr %67, i64 400 store atomic i32 0, ptr %size.i.i.i89 monotonic, align 4 - %66 = load ptr, ptr %mediumSampleQueue.i.i, align 8 - %tobool.not.i.i90 = icmp eq ptr %66, null + %68 = load ptr, ptr %mediumSampleQueue.i.i, align 8 + %tobool.not.i.i90 = icmp eq ptr %68, null br i1 %tobool.not.i.i90, label %if.end.i.i, label %if.then.i.i91 if.then.i.i91: ; preds = %if.else.i - %size.i5.i.i = getelementptr inbounds i8, ptr %66, i64 848 + %size.i5.i.i = getelementptr inbounds i8, ptr %68, i64 848 store atomic i32 0, ptr %size.i5.i.i monotonic, align 4 br label %if.end.i.i if.end.i.i: ; preds = %if.then.i.i91, %if.else.i - %67 = load ptr, ptr %mediumScatterQueue.i.i, align 8 - %tobool3.not.i.i = icmp eq ptr %67, null + %69 = load ptr, ptr %mediumScatterQueue.i.i, align 8 + %tobool3.not.i.i = icmp eq ptr %69, null br i1 %tobool3.not.i.i, label %if.end6.i.i, label %if.then4.i.i if.then4.i.i: ; preds = %if.end.i.i - %size.i.i.i.i = getelementptr inbounds i8, ptr %67, i64 208 + %size.i.i.i.i = getelementptr inbounds i8, ptr %69, i64 208 store atomic i32 0, ptr %size.i.i.i.i monotonic, align 4 br label %if.end6.i.i if.end6.i.i: ; preds = %if.then4.i.i, %if.end.i.i - %68 = load ptr, ptr %escapedRayQueue.i.i, align 8 - %tobool7.not.i.i = icmp eq ptr %68, null + %70 = load ptr, ptr %escapedRayQueue.i.i, align 8 + %tobool7.not.i.i = icmp eq ptr %70, null br i1 %tobool7.not.i.i, label %if.end10.i.i, label %if.then8.i.i if.then8.i.i: ; preds = %if.end6.i.i - %size.i6.i.i = getelementptr inbounds i8, ptr %68, i64 360 + %size.i6.i.i = getelementptr inbounds i8, ptr %70, i64 360 store atomic i32 0, ptr %size.i6.i.i monotonic, align 4 br label %if.end10.i.i if.end10.i.i: ; preds = %if.then8.i.i, %if.end6.i.i - %69 = load ptr, ptr %hitAreaLightQueue.i.i, align 8 - %size.i7.i.i = getelementptr inbounds i8, ptr %69, i64 424 + %71 = load ptr, ptr %hitAreaLightQueue.i.i, align 8 + %size.i7.i.i = getelementptr inbounds i8, ptr %71, i64 424 store atomic i32 0, ptr %size.i7.i.i monotonic, align 4 - %70 = load ptr, ptr %basicEvalMaterialQueue.i.i, align 8 - %size.i.i8.i.i = getelementptr inbounds i8, ptr %70, i64 6328 + %72 = load ptr, ptr %basicEvalMaterialQueue.i.i, align 8 + %size.i.i8.i.i = getelementptr inbounds i8, ptr %72, i64 6328 store atomic i32 0, ptr %size.i.i8.i.i monotonic, align 4 - %size.i1.i.i.i = getelementptr inbounds i8, ptr %70, i64 5752 + %size.i1.i.i.i = getelementptr inbounds i8, ptr %72, i64 5752 store atomic i32 0, ptr %size.i1.i.i.i monotonic, align 4 - %size.i2.i.i.i = getelementptr inbounds i8, ptr %70, i64 5176 + %size.i2.i.i.i = getelementptr inbounds i8, ptr %72, i64 5176 store atomic i32 0, ptr %size.i2.i.i.i monotonic, align 4 - %size.i3.i.i.i = getelementptr inbounds i8, ptr %70, i64 4600 + %size.i3.i.i.i = getelementptr inbounds i8, ptr %72, i64 4600 store atomic i32 0, ptr %size.i3.i.i.i monotonic, align 4 - %size.i4.i.i.i = getelementptr inbounds i8, ptr %70, i64 4024 + %size.i4.i.i.i = getelementptr inbounds i8, ptr %72, i64 4024 store atomic i32 0, ptr %size.i4.i.i.i monotonic, align 4 - %size.i5.i.i.i = getelementptr inbounds i8, ptr %70, i64 3448 + %size.i5.i.i.i = getelementptr inbounds i8, ptr %72, i64 3448 store atomic i32 0, ptr %size.i5.i.i.i monotonic, align 4 - %size.i6.i.i.i = getelementptr inbounds i8, ptr %70, i64 2872 + %size.i6.i.i.i = getelementptr inbounds i8, ptr %72, i64 2872 store atomic i32 0, ptr %size.i6.i.i.i monotonic, align 4 - %size.i7.i.i.i = getelementptr inbounds i8, ptr %70, i64 2296 + %size.i7.i.i.i = getelementptr inbounds i8, ptr %72, i64 2296 store atomic i32 0, ptr %size.i7.i.i.i monotonic, align 4 - %size.i8.i.i.i = getelementptr inbounds i8, ptr %70, i64 1720 + %size.i8.i.i.i = getelementptr inbounds i8, ptr %72, i64 1720 store atomic i32 0, ptr %size.i8.i.i.i monotonic, align 4 - %size.i9.i.i.i = getelementptr inbounds i8, ptr %70, i64 1144 + %size.i9.i.i.i = getelementptr inbounds i8, ptr %72, i64 1144 store atomic i32 0, ptr %size.i9.i.i.i monotonic, align 4 - %size.i10.i.i.i = getelementptr inbounds i8, ptr %70, i64 568 + %size.i10.i.i.i = getelementptr inbounds i8, ptr %72, i64 568 store atomic i32 0, ptr %size.i10.i.i.i monotonic, align 4 - %71 = load ptr, ptr %universalEvalMaterialQueue.i.i, align 8 - %size.i.i9.i.i = getelementptr inbounds i8, ptr %71, i64 6328 + %73 = load ptr, ptr %universalEvalMaterialQueue.i.i, align 8 + %size.i.i9.i.i = getelementptr inbounds i8, ptr %73, i64 6328 store atomic i32 0, ptr %size.i.i9.i.i monotonic, align 4 - %size.i1.i10.i.i = getelementptr inbounds i8, ptr %71, i64 5752 + %size.i1.i10.i.i = getelementptr inbounds i8, ptr %73, i64 5752 store atomic i32 0, ptr %size.i1.i10.i.i monotonic, align 4 - %size.i2.i11.i.i = getelementptr inbounds i8, ptr %71, i64 5176 + %size.i2.i11.i.i = getelementptr inbounds i8, ptr %73, i64 5176 store atomic i32 0, ptr %size.i2.i11.i.i monotonic, align 4 - %size.i3.i12.i.i = getelementptr inbounds i8, ptr %71, i64 4600 + %size.i3.i12.i.i = getelementptr inbounds i8, ptr %73, i64 4600 store atomic i32 0, ptr %size.i3.i12.i.i monotonic, align 4 - %size.i4.i13.i.i = getelementptr inbounds i8, ptr %71, i64 4024 + %size.i4.i13.i.i = getelementptr inbounds i8, ptr %73, i64 4024 store atomic i32 0, ptr %size.i4.i13.i.i monotonic, align 4 - %size.i5.i14.i.i = getelementptr inbounds i8, ptr %71, i64 3448 + %size.i5.i14.i.i = getelementptr inbounds i8, ptr %73, i64 3448 store atomic i32 0, ptr %size.i5.i14.i.i monotonic, align 4 - %size.i6.i15.i.i = getelementptr inbounds i8, ptr %71, i64 2872 + %size.i6.i15.i.i = getelementptr inbounds i8, ptr %73, i64 2872 store atomic i32 0, ptr %size.i6.i15.i.i monotonic, align 4 - %size.i7.i16.i.i = getelementptr inbounds i8, ptr %71, i64 2296 + %size.i7.i16.i.i = getelementptr inbounds i8, ptr %73, i64 2296 store atomic i32 0, ptr %size.i7.i16.i.i monotonic, align 4 - %size.i8.i17.i.i = getelementptr inbounds i8, ptr %71, i64 1720 + %size.i8.i17.i.i = getelementptr inbounds i8, ptr %73, i64 1720 store atomic i32 0, ptr %size.i8.i17.i.i monotonic, align 4 - %size.i9.i18.i.i = getelementptr inbounds i8, ptr %71, i64 1144 + %size.i9.i18.i.i = getelementptr inbounds i8, ptr %73, i64 1144 store atomic i32 0, ptr %size.i9.i18.i.i monotonic, align 4 - %size.i10.i19.i.i = getelementptr inbounds i8, ptr %71, i64 568 + %size.i10.i19.i.i = getelementptr inbounds i8, ptr %73, i64 568 store atomic i32 0, ptr %size.i10.i19.i.i monotonic, align 4 - %72 = load ptr, ptr %bssrdfEvalQueue.i.i, align 8 - %tobool11.not.i.i = icmp eq ptr %72, null + %74 = load ptr, ptr %bssrdfEvalQueue.i.i, align 8 + %tobool11.not.i.i = icmp eq ptr %74, null br i1 %tobool11.not.i.i, label %if.end14.i.i, label %if.then12.i.i if.then12.i.i: ; preds = %if.end10.i.i - %size.i20.i.i = getelementptr inbounds i8, ptr %72, i64 336 + %size.i20.i.i = getelementptr inbounds i8, ptr %74, i64 336 store atomic i32 0, ptr %size.i20.i.i monotonic, align 4 br label %if.end14.i.i if.end14.i.i: ; preds = %if.then12.i.i, %if.end10.i.i - %73 = load ptr, ptr %subsurfaceScatterQueue.i.i, align 8 - %tobool15.not.i.i = icmp eq ptr %73, null + %75 = load ptr, ptr %subsurfaceScatterQueue.i.i, align 8 + %tobool15.not.i.i = icmp eq ptr %75, null br i1 %tobool15.not.i.i, label %invoke.cont97, label %if.then16.i.i if.then16.i.i: ; preds = %if.end14.i.i - %size.i21.i.i = getelementptr inbounds i8, ptr %73, i64 680 + %size.i21.i.i = getelementptr inbounds i8, ptr %75, i64 680 store atomic i32 0, ptr %size.i21.i.i monotonic, align 4 br label %invoke.cont97 invoke.cont97: ; preds = %if.then16.i.i, %if.end14.i.i - %74 = load i32, ptr %sampleIndex, align 4 - %75 = trunc i64 %indvars.iv to i32 - invoke void @_ZN4pbrt23WavefrontPathIntegrator18GenerateRaySamplesEii(ptr noundef nonnull align 8 dereferenceable(648) %this, i32 noundef %75, i32 noundef %74) + %76 = load i32, ptr %sampleIndex, align 4 + %77 = trunc i64 %indvars.iv to i32 + invoke void @_ZN4pbrt23WavefrontPathIntegrator18GenerateRaySamplesEii(ptr noundef nonnull align 8 dereferenceable(648) %this, i32 noundef %77, i32 noundef %76) to label %invoke.cont98 unwind label %lpad68.loopexit invoke.cont98: ; preds = %invoke.cont97 - %76 = load ptr, ptr %aggregate99, align 8 - %77 = load i32, ptr %maxQueueSize, align 8 - %idxprom.i96 = zext nneg i32 %64 to i64 + %78 = load ptr, ptr %aggregate99, align 8 + %79 = load i32, ptr %maxQueueSize, align 8 + %idxprom.i96 = zext nneg i32 %66 to i64 %arrayidx.i97 = getelementptr inbounds [2 x ptr], ptr %rayQueues.i, i64 0, i64 %idxprom.i96 - %78 = load ptr, ptr %arrayidx.i97, align 8 - %79 = load ptr, ptr %escapedRayQueue.i.i, align 8 - %80 = load ptr, ptr %hitAreaLightQueue.i.i, align 8 - %81 = load ptr, ptr %basicEvalMaterialQueue.i.i, align 8 - %82 = load ptr, ptr %universalEvalMaterialQueue.i.i, align 8 - %83 = load ptr, ptr %mediumSampleQueue.i.i, align 8 - %84 = load ptr, ptr %arrayidx.i303, align 8 - %vtable104 = load ptr, ptr %76, align 8 + %80 = load ptr, ptr %arrayidx.i97, align 8 + %81 = load ptr, ptr %escapedRayQueue.i.i, align 8 + %82 = load ptr, ptr %hitAreaLightQueue.i.i, align 8 + %83 = load ptr, ptr %basicEvalMaterialQueue.i.i, align 8 + %84 = load ptr, ptr %universalEvalMaterialQueue.i.i, align 8 + %85 = load ptr, ptr %mediumSampleQueue.i.i, align 8 + %86 = load ptr, ptr %arrayidx.i303, align 8 + %vtable104 = load ptr, ptr %78, align 8 %vfn105 = getelementptr inbounds i8, ptr %vtable104, i64 24 - %85 = load ptr, ptr %vfn105, align 8 - invoke void %85(ptr noundef nonnull align 8 dereferenceable(8) %76, i32 noundef %77, ptr noundef %78, ptr noundef %79, ptr noundef %80, ptr noundef %81, ptr noundef %82, ptr noundef %83, ptr noundef %84) + %87 = load ptr, ptr %vfn105, align 8 + invoke void %87(ptr noundef nonnull align 8 dereferenceable(8) %78, i32 noundef %79, ptr noundef %80, ptr noundef %81, ptr noundef %82, ptr noundef %83, ptr noundef %84, ptr noundef %85, ptr noundef %86) to label %invoke.cont106 unwind label %lpad68.loopexit invoke.cont106: ; preds = %invoke.cont98 @@ -4114,128 +4113,128 @@ invoke.cont106: ; preds = %invoke.cont98 br i1 %cmp107.not, label %if.end113, label %if.then108 if.then108: ; preds = %invoke.cont106 - %86 = load ptr, ptr @_ZN4pbrt7OptionsE, align 8 - %useGPU.i106 = getelementptr inbounds i8, ptr %86, i64 10 - %87 = load i8, ptr %useGPU.i106, align 2 - %tobool.i107 = trunc i8 %87 to i1 + %88 = load ptr, ptr @_ZN4pbrt7OptionsE, align 8 + %useGPU.i106 = getelementptr inbounds i8, ptr %88, i64 10 + %89 = load i8, ptr %useGPU.i106, align 2 + %tobool.i107 = trunc i8 %89 to i1 br i1 %tobool.i107, label %if.then.i211.invoke, label %"_ZN4pbrt23WavefrontPathIntegrator2DoIZNS0_6RenderEvE3$_4EEvPKcOT_.exit" "_ZN4pbrt23WavefrontPathIntegrator2DoIZNS0_6RenderEvE3$_4EEvPKcOT_.exit": ; preds = %if.then108 - %88 = load ptr, ptr %arrayidx.i97, align 8 - %size.i.i.i109 = getelementptr inbounds i8, ptr %88, i64 400 - %89 = load atomic i32, ptr %size.i.i.i109 monotonic, align 4 - %conv.i.i110 = sext i32 %89 to i64 - %90 = load ptr, ptr %stats.i.i, align 8 - %ptr.i.i.i = getelementptr inbounds i8, ptr %90, i64 16 - %91 = load ptr, ptr %ptr.i.i.i, align 8 - %arrayidx.i.i.i = getelementptr inbounds i64, ptr %91, i64 %indvars.iv - %92 = load i64, ptr %arrayidx.i.i.i, align 8 - %add.i.i112 = add i64 %92, %conv.i.i110 + %90 = load ptr, ptr %arrayidx.i97, align 8 + %size.i.i.i109 = getelementptr inbounds i8, ptr %90, i64 400 + %91 = load atomic i32, ptr %size.i.i.i109 monotonic, align 4 + %conv.i.i110 = sext i32 %91 to i64 + %92 = load ptr, ptr %stats.i.i, align 8 + %ptr.i.i.i = getelementptr inbounds i8, ptr %92, i64 16 + %93 = load ptr, ptr %ptr.i.i.i, align 8 + %arrayidx.i.i.i = getelementptr inbounds i64, ptr %93, i64 %indvars.iv + %94 = load i64, ptr %arrayidx.i.i.i, align 8 + %add.i.i112 = add i64 %94, %conv.i.i110 store i64 %add.i.i112, ptr %arrayidx.i.i.i, align 8 br label %if.end113 if.end113: ; preds = %"_ZN4pbrt23WavefrontPathIntegrator2DoIZNS0_6RenderEvE3$_4EEvPKcOT_.exit", %invoke.cont106 - invoke void @_ZN4pbrt23WavefrontPathIntegrator23SampleMediumInteractionEi(ptr noundef nonnull align 8 dereferenceable(648) %this, i32 noundef %75) + invoke void @_ZN4pbrt23WavefrontPathIntegrator23SampleMediumInteractionEi(ptr noundef nonnull align 8 dereferenceable(648) %this, i32 noundef %77) to label %invoke.cont114 unwind label %lpad68.loopexit invoke.cont114: ; preds = %if.end113 call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i115) - %93 = load ptr, ptr %escapedRayQueue.i.i, align 8 - %tobool.not.i = icmp eq ptr %93, null + %95 = load ptr, ptr %escapedRayQueue.i.i, align 8 + %tobool.not.i = icmp eq ptr %95, null br i1 %tobool.not.i, label %invoke.cont115, label %if.end.i if.end.i: ; preds = %invoke.cont114 store ptr %this, ptr %ref.tmp.i115, align 8 call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %q.addr.i.i) call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp.i.i) - store ptr %93, ptr %q.addr.i.i, align 8 - %94 = load ptr, ptr @_ZN4pbrt7OptionsE, align 8 - %useGPU.i.i = getelementptr inbounds i8, ptr %94, i64 10 - %95 = load i8, ptr %useGPU.i.i, align 2 - %tobool.i.i = trunc i8 %95 to i1 + store ptr %95, ptr %q.addr.i.i, align 8 + %96 = load ptr, ptr @_ZN4pbrt7OptionsE, align 8 + %useGPU.i.i = getelementptr inbounds i8, ptr %96, i64 10 + %97 = load i8, ptr %useGPU.i.i, align 2 + %tobool.i.i = trunc i8 %97 to i1 br i1 %tobool.i.i, label %if.then.i211.invoke, label %if.else.i.i if.else.i.i: ; preds = %if.end.i - %size.i.i.i116 = getelementptr inbounds i8, ptr %93, i64 360 - %96 = load atomic i32, ptr %size.i.i.i116 monotonic, align 4 - %conv.i.i117 = sext i32 %96 to i64 + %size.i.i.i116 = getelementptr inbounds i8, ptr %95, i64 360 + %98 = load atomic i32, ptr %size.i.i.i116 monotonic, align 4 + %conv.i.i117 = sext i32 %98 to i64 store ptr %ref.tmp.i115, ptr %agg.tmp.i.i, align 8 store ptr %q.addr.i.i, ptr %ref.tmp.sroa.2.0.agg.tmp.sroa_idx.i.i, align 8 store ptr @"_ZNSt17_Function_handlerIFvlEZN4pbrt12ForAllQueuedIZNS1_23WavefrontPathIntegrator17HandleEscapedRaysEvE3$_0NS1_18EscapedRayWorkItemEEEvPKcPKNS1_9WorkQueueIT0_EEiOT_EUliE_E9_M_invokeERKSt9_Any_dataOl", ptr %_M_invoker.i.i.i, align 8 store ptr @"_ZNSt17_Function_handlerIFvlEZN4pbrt12ForAllQueuedIZNS1_23WavefrontPathIntegrator17HandleEscapedRaysEvE3$_0NS1_18EscapedRayWorkItemEEEvPKcPKNS1_9WorkQueueIT0_EEiOT_EUliE_E10_M_managerERSt9_Any_dataRKSH_St18_Manager_operation", ptr %_M_manager.i.i.i.i, align 8 call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp.i.i.i) - store i64 0, ptr %32, align 8 - store i64 %33, ptr %agg.tmp.i.i.i, align 8 + store i64 0, ptr %33, align 8 + store i64 %34, ptr %agg.tmp.i.i.i, align 8 store ptr @_ZNSt17_Function_handlerIFvllEZN4pbrt11ParallelForEllSt8functionIFvlEEEUlllE_E9_M_invokeERKSt9_Any_dataOlSA_, ptr %_M_invoker.i.i.i.i, align 8 store ptr @_ZNSt17_Function_handlerIFvllEZN4pbrt11ParallelForEllSt8functionIFvlEEEUlllE_E10_M_managerERSt9_Any_dataRKS7_St18_Manager_operation, ptr %_M_manager.i.i.i.i.i, align 8 invoke void @_ZN4pbrt11ParallelForEllSt8functionIFvllEE(i64 noundef 0, i64 noundef %conv.i.i117, ptr noundef nonnull %agg.tmp.i.i.i) to label %invoke.cont.i.i.i unwind label %lpad.i.i.i invoke.cont.i.i.i: ; preds = %if.else.i.i - %97 = load ptr, ptr %_M_manager.i.i.i.i.i, align 8 - %tobool.not.i.i.i.i.i = icmp eq ptr %97, null + %99 = load ptr, ptr %_M_manager.i.i.i.i.i, align 8 + %tobool.not.i.i.i.i.i = icmp eq ptr %99, null br i1 %tobool.not.i.i.i.i.i, label %invoke.cont.i.i, label %if.then.i.i.i.i.i if.then.i.i.i.i.i: ; preds = %invoke.cont.i.i.i - %call.i.i.i.i.i = invoke noundef zeroext i1 %97(ptr noundef nonnull align 8 dereferenceable(16) %agg.tmp.i.i.i, ptr noundef nonnull align 8 dereferenceable(16) %agg.tmp.i.i.i, i32 noundef 3) + %call.i.i.i.i.i = invoke noundef zeroext i1 %99(ptr noundef nonnull align 8 dereferenceable(16) %agg.tmp.i.i.i, ptr noundef nonnull align 8 dereferenceable(16) %agg.tmp.i.i.i, i32 noundef 3) to label %invoke.cont.i.i unwind label %terminate.lpad.i.i.i.i.i terminate.lpad.i.i.i.i.i: ; preds = %if.then.i.i.i.i.i - %98 = landingpad { ptr, i32 } + %100 = landingpad { ptr, i32 } catch ptr null - %99 = extractvalue { ptr, i32 } %98, 0 - call void @__clang_call_terminate(ptr %99) #25 + %101 = extractvalue { ptr, i32 } %100, 0 + call void @__clang_call_terminate(ptr %101) #25 unreachable lpad.i.i.i: ; preds = %if.else.i.i - %100 = landingpad { ptr, i32 } + %102 = landingpad { ptr, i32 } cleanup - %101 = load ptr, ptr %_M_manager.i.i.i.i.i, align 8 - %tobool.not.i.i3.i.i.i = icmp eq ptr %101, null + %103 = load ptr, ptr %_M_manager.i.i.i.i.i, align 8 + %tobool.not.i.i3.i.i.i = icmp eq ptr %103, null br i1 %tobool.not.i.i3.i.i.i, label %lpad.body.i.i, label %if.then.i.i4.i.i.i if.then.i.i4.i.i.i: ; preds = %lpad.i.i.i - %call.i.i5.i.i.i = invoke noundef zeroext i1 %101(ptr noundef nonnull align 8 dereferenceable(16) %agg.tmp.i.i.i, ptr noundef nonnull align 8 dereferenceable(16) %agg.tmp.i.i.i, i32 noundef 3) + %call.i.i5.i.i.i = invoke noundef zeroext i1 %103(ptr noundef nonnull align 8 dereferenceable(16) %agg.tmp.i.i.i, ptr noundef nonnull align 8 dereferenceable(16) %agg.tmp.i.i.i, i32 noundef 3) to label %lpad.body.i.i unwind label %terminate.lpad.i.i6.i.i.i terminate.lpad.i.i6.i.i.i: ; preds = %if.then.i.i4.i.i.i - %102 = landingpad { ptr, i32 } + %104 = landingpad { ptr, i32 } catch ptr null - %103 = extractvalue { ptr, i32 } %102, 0 - call void @__clang_call_terminate(ptr %103) #25 + %105 = extractvalue { ptr, i32 } %104, 0 + call void @__clang_call_terminate(ptr %105) #25 unreachable invoke.cont.i.i: ; preds = %if.then.i.i.i.i.i, %invoke.cont.i.i.i call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp.i.i.i) - %104 = load ptr, ptr %_M_manager.i.i.i.i, align 8 - %tobool.not.i.i.i.i = icmp eq ptr %104, null + %106 = load ptr, ptr %_M_manager.i.i.i.i, align 8 + %tobool.not.i.i.i.i = icmp eq ptr %106, null br i1 %tobool.not.i.i.i.i, label %"_ZN4pbrt12ForAllQueuedIZNS_23WavefrontPathIntegrator17HandleEscapedRaysEvE3$_0NS_18EscapedRayWorkItemEEEvPKcPKNS_9WorkQueueIT0_EEiOT_.exit.i", label %if.then.i.i.i.i if.then.i.i.i.i: ; preds = %invoke.cont.i.i - %call.i.i.i.i = invoke noundef zeroext i1 %104(ptr noundef nonnull align 8 dereferenceable(16) %agg.tmp.i.i, ptr noundef nonnull align 8 dereferenceable(16) %agg.tmp.i.i, i32 noundef 3) + %call.i.i.i.i = invoke noundef zeroext i1 %106(ptr noundef nonnull align 8 dereferenceable(16) %agg.tmp.i.i, ptr noundef nonnull align 8 dereferenceable(16) %agg.tmp.i.i, i32 noundef 3) to label %"_ZN4pbrt12ForAllQueuedIZNS_23WavefrontPathIntegrator17HandleEscapedRaysEvE3$_0NS_18EscapedRayWorkItemEEEvPKcPKNS_9WorkQueueIT0_EEiOT_.exit.i" unwind label %terminate.lpad.i.i.i.i terminate.lpad.i.i.i.i: ; preds = %if.then.i.i.i.i - %105 = landingpad { ptr, i32 } + %107 = landingpad { ptr, i32 } catch ptr null - %106 = extractvalue { ptr, i32 } %105, 0 - call void @__clang_call_terminate(ptr %106) #25 + %108 = extractvalue { ptr, i32 } %107, 0 + call void @__clang_call_terminate(ptr %108) #25 unreachable lpad.body.i.i: ; preds = %if.then.i.i4.i.i.i, %lpad.i.i.i - %107 = load ptr, ptr %_M_manager.i.i.i.i, align 8 - %tobool.not.i.i3.i.i = icmp eq ptr %107, null + %109 = load ptr, ptr %_M_manager.i.i.i.i, align 8 + %tobool.not.i.i3.i.i = icmp eq ptr %109, null br i1 %tobool.not.i.i3.i.i, label %lpad68.body, label %if.then.i.i4.i.i if.then.i.i4.i.i: ; preds = %lpad.body.i.i - %call.i.i5.i.i = invoke noundef zeroext i1 %107(ptr noundef nonnull align 8 dereferenceable(16) %agg.tmp.i.i, ptr noundef nonnull align 8 dereferenceable(16) %agg.tmp.i.i, i32 noundef 3) + %call.i.i5.i.i = invoke noundef zeroext i1 %109(ptr noundef nonnull align 8 dereferenceable(16) %agg.tmp.i.i, ptr noundef nonnull align 8 dereferenceable(16) %agg.tmp.i.i, i32 noundef 3) to label %lpad68.body unwind label %terminate.lpad.i.i6.i.i terminate.lpad.i.i6.i.i: ; preds = %if.then.i.i4.i.i - %108 = landingpad { ptr, i32 } + %110 = landingpad { ptr, i32 } catch ptr null - %109 = extractvalue { ptr, i32 } %108, 0 - call void @__clang_call_terminate(ptr %109) #25 + %111 = extractvalue { ptr, i32 } %110, 0 + call void @__clang_call_terminate(ptr %111) #25 unreachable "_ZN4pbrt12ForAllQueuedIZNS_23WavefrontPathIntegrator17HandleEscapedRaysEvE3$_0NS_18EscapedRayWorkItemEEEvPKcPKNS_9WorkQueueIT0_EEiOT_.exit.i": ; preds = %if.then.i.i.i.i, %invoke.cont.i.i @@ -4246,162 +4245,162 @@ terminate.lpad.i.i6.i.i: ; preds = %if.then.i.i4.i.i invoke.cont115: ; preds = %"_ZN4pbrt12ForAllQueuedIZNS_23WavefrontPathIntegrator17HandleEscapedRaysEvE3$_0NS_18EscapedRayWorkItemEEEvPKcPKNS_9WorkQueueIT0_EEiOT_.exit.i", %invoke.cont114 call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i115) call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i125) - %110 = load ptr, ptr %hitAreaLightQueue.i.i, align 8 + %112 = load ptr, ptr %hitAreaLightQueue.i.i, align 8 store ptr %this, ptr %ref.tmp.i125, align 8 call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %q.addr.i.i123) call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp.i.i124) - store ptr %110, ptr %q.addr.i.i123, align 8 - %111 = load ptr, ptr @_ZN4pbrt7OptionsE, align 8 - %useGPU.i.i126 = getelementptr inbounds i8, ptr %111, i64 10 - %112 = load i8, ptr %useGPU.i.i126, align 2 - %tobool.i.i127 = trunc i8 %112 to i1 + store ptr %112, ptr %q.addr.i.i123, align 8 + %113 = load ptr, ptr @_ZN4pbrt7OptionsE, align 8 + %useGPU.i.i126 = getelementptr inbounds i8, ptr %113, i64 10 + %114 = load i8, ptr %useGPU.i.i126, align 2 + %tobool.i.i127 = trunc i8 %114 to i1 br i1 %tobool.i.i127, label %if.then.i211.invoke, label %if.else.i.i128 if.else.i.i128: ; preds = %invoke.cont115 - %size.i.i.i129 = getelementptr inbounds i8, ptr %110, i64 424 - %113 = load atomic i32, ptr %size.i.i.i129 monotonic, align 4 - %conv.i.i130 = sext i32 %113 to i64 + %size.i.i.i129 = getelementptr inbounds i8, ptr %112, i64 424 + %115 = load atomic i32, ptr %size.i.i.i129 monotonic, align 4 + %conv.i.i130 = sext i32 %115 to i64 store ptr %ref.tmp.i125, ptr %agg.tmp.i.i124, align 8 store ptr %q.addr.i.i123, ptr %ref.tmp.sroa.2.0.agg.tmp.sroa_idx.i.i133, align 8 store ptr @"_ZNSt17_Function_handlerIFvlEZN4pbrt12ForAllQueuedIZNS1_23WavefrontPathIntegrator26HandleEmissiveIntersectionEvE3$_0NS1_20HitAreaLightWorkItemEEEvPKcPKNS1_9WorkQueueIT0_EEiOT_EUliE_E9_M_invokeERKSt9_Any_dataOl", ptr %_M_invoker.i.i.i132, align 8 store ptr @"_ZNSt17_Function_handlerIFvlEZN4pbrt12ForAllQueuedIZNS1_23WavefrontPathIntegrator26HandleEmissiveIntersectionEvE3$_0NS1_20HitAreaLightWorkItemEEEvPKcPKNS1_9WorkQueueIT0_EEiOT_EUliE_E10_M_managerERSt9_Any_dataRKSH_St18_Manager_operation", ptr %_M_manager.i.i.i.i131, align 8 call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp.i.i.i122) - store i64 0, ptr %34, align 8 - store i64 %35, ptr %agg.tmp.i.i.i122, align 8 + store i64 0, ptr %35, align 8 + store i64 %36, ptr %agg.tmp.i.i.i122, align 8 store ptr @_ZNSt17_Function_handlerIFvllEZN4pbrt11ParallelForEllSt8functionIFvlEEEUlllE_E9_M_invokeERKSt9_Any_dataOlSA_, ptr %_M_invoker.i.i.i.i135, align 8 store ptr @_ZNSt17_Function_handlerIFvllEZN4pbrt11ParallelForEllSt8functionIFvlEEEUlllE_E10_M_managerERSt9_Any_dataRKS7_St18_Manager_operation, ptr %_M_manager.i.i.i.i.i134, align 8 invoke void @_ZN4pbrt11ParallelForEllSt8functionIFvllEE(i64 noundef 0, i64 noundef %conv.i.i130, ptr noundef nonnull %agg.tmp.i.i.i122) to label %invoke.cont.i.i.i147 unwind label %lpad.i.i.i136 invoke.cont.i.i.i147: ; preds = %if.else.i.i128 - %114 = load ptr, ptr %_M_manager.i.i.i.i.i134, align 8 - %tobool.not.i.i.i.i.i148 = icmp eq ptr %114, null + %116 = load ptr, ptr %_M_manager.i.i.i.i.i134, align 8 + %tobool.not.i.i.i.i.i148 = icmp eq ptr %116, null br i1 %tobool.not.i.i.i.i.i148, label %invoke.cont.i.i152, label %if.then.i.i.i.i.i149 if.then.i.i.i.i.i149: ; preds = %invoke.cont.i.i.i147 - %call.i.i.i.i.i150 = invoke noundef zeroext i1 %114(ptr noundef nonnull align 8 dereferenceable(16) %agg.tmp.i.i.i122, ptr noundef nonnull align 8 dereferenceable(16) %agg.tmp.i.i.i122, i32 noundef 3) + %call.i.i.i.i.i150 = invoke noundef zeroext i1 %116(ptr noundef nonnull align 8 dereferenceable(16) %agg.tmp.i.i.i122, ptr noundef nonnull align 8 dereferenceable(16) %agg.tmp.i.i.i122, i32 noundef 3) to label %invoke.cont.i.i152 unwind label %terminate.lpad.i.i.i.i.i151 terminate.lpad.i.i.i.i.i151: ; preds = %if.then.i.i.i.i.i149 - %115 = landingpad { ptr, i32 } + %117 = landingpad { ptr, i32 } catch ptr null - %116 = extractvalue { ptr, i32 } %115, 0 - call void @__clang_call_terminate(ptr %116) #25 + %118 = extractvalue { ptr, i32 } %117, 0 + call void @__clang_call_terminate(ptr %118) #25 unreachable lpad.i.i.i136: ; preds = %if.else.i.i128 - %117 = landingpad { ptr, i32 } + %119 = landingpad { ptr, i32 } cleanup - %118 = load ptr, ptr %_M_manager.i.i.i.i.i134, align 8 - %tobool.not.i.i3.i.i.i137 = icmp eq ptr %118, null + %120 = load ptr, ptr %_M_manager.i.i.i.i.i134, align 8 + %tobool.not.i.i3.i.i.i137 = icmp eq ptr %120, null br i1 %tobool.not.i.i3.i.i.i137, label %lpad.body.i.i141, label %if.then.i.i4.i.i.i138 if.then.i.i4.i.i.i138: ; preds = %lpad.i.i.i136 - %call.i.i5.i.i.i139 = invoke noundef zeroext i1 %118(ptr noundef nonnull align 8 dereferenceable(16) %agg.tmp.i.i.i122, ptr noundef nonnull align 8 dereferenceable(16) %agg.tmp.i.i.i122, i32 noundef 3) + %call.i.i5.i.i.i139 = invoke noundef zeroext i1 %120(ptr noundef nonnull align 8 dereferenceable(16) %agg.tmp.i.i.i122, ptr noundef nonnull align 8 dereferenceable(16) %agg.tmp.i.i.i122, i32 noundef 3) to label %lpad.body.i.i141 unwind label %terminate.lpad.i.i6.i.i.i140 terminate.lpad.i.i6.i.i.i140: ; preds = %if.then.i.i4.i.i.i138 - %119 = landingpad { ptr, i32 } + %121 = landingpad { ptr, i32 } catch ptr null - %120 = extractvalue { ptr, i32 } %119, 0 - call void @__clang_call_terminate(ptr %120) #25 + %122 = extractvalue { ptr, i32 } %121, 0 + call void @__clang_call_terminate(ptr %122) #25 unreachable invoke.cont.i.i152: ; preds = %if.then.i.i.i.i.i149, %invoke.cont.i.i.i147 call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp.i.i.i122) - %121 = load ptr, ptr %_M_manager.i.i.i.i131, align 8 - %tobool.not.i.i.i.i153 = icmp eq ptr %121, null + %123 = load ptr, ptr %_M_manager.i.i.i.i131, align 8 + %tobool.not.i.i.i.i153 = icmp eq ptr %123, null br i1 %tobool.not.i.i.i.i153, label %invoke.cont116, label %if.then.i.i.i.i154 if.then.i.i.i.i154: ; preds = %invoke.cont.i.i152 - %call.i.i.i.i155 = invoke noundef zeroext i1 %121(ptr noundef nonnull align 8 dereferenceable(16) %agg.tmp.i.i124, ptr noundef nonnull align 8 dereferenceable(16) %agg.tmp.i.i124, i32 noundef 3) + %call.i.i.i.i155 = invoke noundef zeroext i1 %123(ptr noundef nonnull align 8 dereferenceable(16) %agg.tmp.i.i124, ptr noundef nonnull align 8 dereferenceable(16) %agg.tmp.i.i124, i32 noundef 3) to label %invoke.cont116 unwind label %terminate.lpad.i.i.i.i156 terminate.lpad.i.i.i.i156: ; preds = %if.then.i.i.i.i154 - %122 = landingpad { ptr, i32 } + %124 = landingpad { ptr, i32 } catch ptr null - %123 = extractvalue { ptr, i32 } %122, 0 - call void @__clang_call_terminate(ptr %123) #25 + %125 = extractvalue { ptr, i32 } %124, 0 + call void @__clang_call_terminate(ptr %125) #25 unreachable lpad.body.i.i141: ; preds = %if.then.i.i4.i.i.i138, %lpad.i.i.i136 - %124 = load ptr, ptr %_M_manager.i.i.i.i131, align 8 - %tobool.not.i.i3.i.i142 = icmp eq ptr %124, null + %126 = load ptr, ptr %_M_manager.i.i.i.i131, align 8 + %tobool.not.i.i3.i.i142 = icmp eq ptr %126, null br i1 %tobool.not.i.i3.i.i142, label %lpad68.body, label %if.then.i.i4.i.i143 if.then.i.i4.i.i143: ; preds = %lpad.body.i.i141 - %call.i.i5.i.i144 = invoke noundef zeroext i1 %124(ptr noundef nonnull align 8 dereferenceable(16) %agg.tmp.i.i124, ptr noundef nonnull align 8 dereferenceable(16) %agg.tmp.i.i124, i32 noundef 3) + %call.i.i5.i.i144 = invoke noundef zeroext i1 %126(ptr noundef nonnull align 8 dereferenceable(16) %agg.tmp.i.i124, ptr noundef nonnull align 8 dereferenceable(16) %agg.tmp.i.i124, i32 noundef 3) to label %lpad68.body unwind label %terminate.lpad.i.i6.i.i145 terminate.lpad.i.i6.i.i145: ; preds = %if.then.i.i4.i.i143 - %125 = landingpad { ptr, i32 } + %127 = landingpad { ptr, i32 } catch ptr null - %126 = extractvalue { ptr, i32 } %125, 0 - call void @__clang_call_terminate(ptr %126) #25 + %128 = extractvalue { ptr, i32 } %127, 0 + call void @__clang_call_terminate(ptr %128) #25 unreachable invoke.cont116: ; preds = %if.then.i.i.i.i154, %invoke.cont.i.i152 call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %q.addr.i.i123) call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp.i.i124) call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i125) - %127 = load i32, ptr %maxDepth, align 8 - %128 = zext i32 %127 to i64 - %cmp117 = icmp eq i64 %indvars.iv, %128 + %129 = load i32, ptr %maxDepth, align 8 + %130 = zext i32 %129 to i64 + %cmp117 = icmp eq i64 %indvars.iv, %130 br i1 %cmp117, label %for.end, label %if.end119 if.end119: ; preds = %invoke.cont116 - invoke void @_ZN4pbrt23WavefrontPathIntegrator25EvaluateMaterialsAndBSDFsEiNS_9TransformE(ptr noundef nonnull align 8 dereferenceable(648) %this, i32 noundef %75, ptr noundef nonnull byval(%"class.pbrt::Transform") align 8 %cameraMotion) + invoke void @_ZN4pbrt23WavefrontPathIntegrator25EvaluateMaterialsAndBSDFsEiNS_9TransformE(ptr noundef nonnull align 8 dereferenceable(648) %this, i32 noundef %77, ptr noundef nonnull byval(%"class.pbrt::Transform") align 8 %cameraMotion) to label %invoke.cont121 unwind label %lpad68.loopexit invoke.cont121: ; preds = %if.end119 - %129 = load i8, ptr %haveMedia.i, align 2 - %tobool.i161 = trunc i8 %129 to i1 - %130 = load ptr, ptr %aggregate99, align 8 - %131 = load i32, ptr %maxQueueSize, align 8 - %132 = load ptr, ptr %shadowRayQueue.i, align 8 - %vtable.i = load ptr, ptr %130, align 8 + %131 = load i8, ptr %haveMedia.i, align 2 + %tobool.i161 = trunc i8 %131 to i1 + %132 = load ptr, ptr %aggregate99, align 8 + %133 = load i32, ptr %maxQueueSize, align 8 + %134 = load ptr, ptr %shadowRayQueue.i, align 8 + %vtable.i = load ptr, ptr %132, align 8 %..i = select i1 %tobool.i161, i64 40, i64 32 %vfn7.i = getelementptr inbounds i8, ptr %vtable.i, i64 %..i - %133 = load ptr, ptr %vfn7.i, align 8 - invoke void %133(ptr noundef nonnull align 8 dereferenceable(8) %130, i32 noundef %131, ptr noundef %132, ptr noundef nonnull %pixelSampleState.i) + %135 = load ptr, ptr %vfn7.i, align 8 + invoke void %135(ptr noundef nonnull align 8 dereferenceable(8) %132, i32 noundef %133, ptr noundef %134, ptr noundef nonnull %pixelSampleState.i) to label %.noexc167 unwind label %lpad68.loopexit .noexc167: ; preds = %invoke.cont121 - %134 = load ptr, ptr @_ZN4pbrt7OptionsE, align 8 - %useGPU.i.i162 = getelementptr inbounds i8, ptr %134, i64 10 - %135 = load i8, ptr %useGPU.i.i162, align 2 - %tobool.i.i163 = trunc i8 %135 to i1 + %136 = load ptr, ptr @_ZN4pbrt7OptionsE, align 8 + %useGPU.i.i162 = getelementptr inbounds i8, ptr %136, i64 10 + %137 = load i8, ptr %useGPU.i.i162, align 2 + %tobool.i.i163 = trunc i8 %137 to i1 br i1 %tobool.i.i163, label %if.then.i211.invoke, label %invoke.cont122 invoke.cont122: ; preds = %.noexc167 - %136 = load ptr, ptr %shadowRayQueue.i, align 8 - %size.i.i.i.i164 = getelementptr inbounds i8, ptr %136, i64 224 - %137 = load atomic i32, ptr %size.i.i.i.i164 monotonic, align 4 - %conv.i.i.i = sext i32 %137 to i64 - %138 = load ptr, ptr %stats.i.i, align 8 - %ptr.i.i.i.i = getelementptr inbounds i8, ptr %138, i64 48 - %139 = load ptr, ptr %ptr.i.i.i.i, align 8 - %arrayidx.i.i.i.i = getelementptr inbounds i64, ptr %139, i64 %indvars.iv - %140 = load i64, ptr %arrayidx.i.i.i.i, align 8 - %add.i.i.i = add i64 %140, %conv.i.i.i + %138 = load ptr, ptr %shadowRayQueue.i, align 8 + %size.i.i.i.i164 = getelementptr inbounds i8, ptr %138, i64 224 + %139 = load atomic i32, ptr %size.i.i.i.i164 monotonic, align 4 + %conv.i.i.i = sext i32 %139 to i64 + %140 = load ptr, ptr %stats.i.i, align 8 + %ptr.i.i.i.i = getelementptr inbounds i8, ptr %140, i64 48 + %141 = load ptr, ptr %ptr.i.i.i.i, align 8 + %arrayidx.i.i.i.i = getelementptr inbounds i64, ptr %141, i64 %indvars.iv + %142 = load i64, ptr %arrayidx.i.i.i.i, align 8 + %add.i.i.i = add i64 %142, %conv.i.i.i store i64 %add.i.i.i, ptr %arrayidx.i.i.i.i, align 8 - %141 = load ptr, ptr %shadowRayQueue.i, align 8 - %size.i1.i.i.i165 = getelementptr inbounds i8, ptr %141, i64 224 + %143 = load ptr, ptr %shadowRayQueue.i, align 8 + %size.i1.i.i.i165 = getelementptr inbounds i8, ptr %143, i64 224 store atomic i32 0, ptr %size.i1.i.i.i165 monotonic, align 4 - invoke void @_ZN4pbrt23WavefrontPathIntegrator16SampleSubsurfaceEi(ptr noundef nonnull align 8 dereferenceable(648) %this, i32 noundef %75) + invoke void @_ZN4pbrt23WavefrontPathIntegrator16SampleSubsurfaceEi(ptr noundef nonnull align 8 dereferenceable(648) %this, i32 noundef %77) to label %for.inc unwind label %lpad68.loopexit for.inc: ; preds = %invoke.cont122 %indvars.iv.next = add nuw nsw i64 %indvars.iv, 1 - %142 = trunc i64 %indvars.iv.next to i32 - %143 = and i32 %142, 1 - %and.i = xor i32 %143, 1 + %144 = trunc i64 %indvars.iv.next to i32 + %145 = and i32 %144, 1 + %and.i = xor i32 %145, 1 %idxprom.i = zext nneg i32 %and.i to i64 %arrayidx.i = getelementptr inbounds [2 x ptr], ptr %rayQueues.i, i64 0, i64 %idxprom.i - %144 = load ptr, ptr @_ZN4pbrt7OptionsE, align 8 - %useGPU.i87 = getelementptr inbounds i8, ptr %144, i64 10 - %145 = load i8, ptr %useGPU.i87, align 2 - %tobool.i88 = trunc i8 %145 to i1 + %146 = load ptr, ptr @_ZN4pbrt7OptionsE, align 8 + %useGPU.i87 = getelementptr inbounds i8, ptr %146, i64 10 + %147 = load i8, ptr %useGPU.i87, align 2 + %tobool.i88 = trunc i8 %147 to i1 br i1 %tobool.i88, label %if.then.i211.invoke, label %if.else.i, !llvm.loop !45 for.end: ; preds = %invoke.cont116 @@ -4409,49 +4408,48 @@ for.end: ; preds = %invoke.cont116 to label %for.inc125 unwind label %lpad68.loopexit.split-lp.loopexit.split-lp.loopexit for.inc125: ; preds = %for.end - %146 = load i32, ptr %scanlinesPerPass, align 4 - %add126 = add nsw i32 %146, %y0.0305 + %148 = load i32, ptr %scanlinesPerPass, align 4 + %add126 = add nsw i32 %148, %y0.0305 %cmp72 = icmp slt i32 %add126, %pixelBounds.sroa.6.12.extract.trunc222 br i1 %cmp72, label %for.body73, label %for.end127, !llvm.loop !46 for.end127: ; preds = %for.inc125, %land.end - %147 = load ptr, ptr @_ZN4pbrt7OptionsE, align 8 - %useGPU128 = getelementptr inbounds i8, ptr %147, i64 10 - %148 = load i8, ptr %useGPU128, align 2 - %tobool129 = trunc i8 %148 to i1 + %149 = load ptr, ptr @_ZN4pbrt7OptionsE, align 8 + %useGPU128 = getelementptr inbounds i8, ptr %149, i64 10 + %150 = load i8, ptr %useGPU128, align 2 + %tobool129 = trunc i8 %150 to i1 br i1 %tobool129, label %land.lhs.true130, label %if.end136 land.lhs.true130: ; preds = %for.end127 - %displayServer131 = getelementptr inbounds i8, ptr %147, i64 216 + %displayServer131 = getelementptr inbounds i8, ptr %149, i64 216 %call132 = call noundef zeroext i1 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5emptyEv(ptr noundef nonnull align 8 dereferenceable(32) %displayServer131) #26 br label %if.end136 if.end136: ; preds = %land.lhs.true130, %for.end127 - %149 = load i8, ptr %quiet.i, align 8 - %tobool.i169 = trunc i8 %149 to i1 + %151 = load i8, ptr %quiet.i, align 8 + %tobool.i169 = trunc i8 %151 to i1 br i1 %tobool.i169, label %if.end138, label %if.end.i170 if.end.i170: ; preds = %if.end136 - %150 = atomicrmw add ptr %workDone.i, i64 1 seq_cst, align 8 + %152 = atomicrmw add ptr %workDone.i, i64 1 seq_cst, align 8 br label %if.end138 if.end138: ; preds = %if.end.i170, %if.end136, %_ZNSt8functionIFNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEvEED2Ev.exit br i1 %tobool58, label %if.then140, label %for.inc190 if.then140: ; preds = %if.end138 - %151 = load ptr, ptr %cpuFramebuffer.i, align 8 - %152 = load float, ptr %gui.0, align 8 - invoke void @_ZN4pbrt23WavefrontPathIntegrator25UpdateFramebufferFromFilmENS_7Bounds2IiEEfPNS_3RGBE(ptr noundef nonnull align 8 dereferenceable(648) %this, i64 %retval.sroa.0.0.copyload.i.i13.pn.i.i.i, i64 %retval.sroa.2.0.copyload.i.i15.pn.i.i.i, float noundef %152, ptr noundef %151) + %153 = load ptr, ptr %cpuFramebuffer.i, align 8 + %154 = load float, ptr %gui.0, align 8 + invoke void @_ZN4pbrt23WavefrontPathIntegrator25UpdateFramebufferFromFilmENS_7Bounds2IiEEfPNS_3RGBE(ptr noundef nonnull align 8 dereferenceable(648) %this, i64 %retval.sroa.0.0.copyload.i.i13.pn.i.i.i, i64 %retval.sroa.2.0.copyload.i.i15.pn.i.i.i, float noundef %154, ptr noundef %153) to label %invoke.cont144 unwind label %lpad68.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit invoke.cont144: ; preds = %if.then140 - %153 = load i8, ptr %printCameraTransform, align 4 - %tobool146 = trunc i8 %153 to i1 + %155 = load i8, ptr %printCameraTransform, align 4 + %tobool146 = trunc i8 %155 to i1 br i1 %tobool146, label %invoke.cont152, label %if.end174 invoke.cont152: ; preds = %invoke.cont144 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(128) %ref.tmp150, ptr noundef nonnull align 4 dereferenceable(128) %movingFromCamera.i, i64 128, i1 false) - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(64) %ref.tmp149, ptr noundef nonnull align 4 dereferenceable(64) %mInv.i.i172, i64 64, i1 false) + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(64) %ref.tmp149, ptr noundef nonnull align 4 dereferenceable(64) %41, i64 64, i1 false) call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(64) %mInv3.i.i173, ptr noundef nonnull align 4 dereferenceable(64) %movingFromCamera.i, i64 64, i1 false) invoke void @_ZNK4pbrt9TransformmlERKS0_(ptr nonnull sret(%"class.pbrt::Transform") align 4 %ref.tmp148, ptr noundef nonnull align 4 dereferenceable(128) %ref.tmp149, ptr noundef nonnull align 4 dereferenceable(128) %cameraFromWorld) to label %invoke.cont153 unwind label %lpad68.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit @@ -4464,15 +4462,15 @@ invoke.cont153: ; preds = %invoke.cont152 to label %_ZN4pbrt6PrintfIJEEEvPKcDpOT_.exit unwind label %lpad.i.i175 lpad.i.i175: ; preds = %invoke.cont153 - %154 = landingpad { ptr, i32 } + %156 = landingpad { ptr, i32 } cleanup call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %s.i174) #26 br label %lpad68.body _ZN4pbrt6PrintfIJEEEvPKcDpOT_.exit: ; preds = %invoke.cont153 %call.i176 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %s.i174) #26 - %155 = load ptr, ptr @stdout, align 8 - %call1.i = call i32 @fputs(ptr noundef %call.i176, ptr noundef %155) + %157 = load ptr, ptr @stdout, align 8 + %call1.i = call i32 @fputs(ptr noundef %call.i176, ptr noundef %157) call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %s.i174) #26 call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %s.i174) br label %for.body159 @@ -4484,25 +4482,25 @@ for.body159: ; preds = %_ZN4pbrt6PrintfIJEE to label %invoke.cont161 unwind label %lpad68.loopexit.split-lp.loopexit invoke.cont161: ; preds = %for.body159 - %156 = extractvalue { ptr, i64 } %call162, 0 + %158 = extractvalue { ptr, i64 } %call162, 0 %div42 = lshr i32 %i.0306, 2 %conv163 = zext nneg i32 %div42 to i64 - %arrayidx.i179 = getelementptr inbounds float, ptr %156, i64 %conv163 + %arrayidx.i179 = getelementptr inbounds float, ptr %158, i64 %conv163 call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %s.i180) call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(32) %s.i180) #26 invoke void @_ZN4pbrt6detail21stringPrintfRecursiveIRfJEEEvPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPKcOT_DpOT0_(ptr noundef nonnull %s.i180, ptr noundef nonnull @.str.40, ptr noundef nonnull align 4 dereferenceable(4) %arrayidx.i179) to label %for.inc167 unwind label %lpad.i.i181 lpad.i.i181: ; preds = %invoke.cont161 - %157 = landingpad { ptr, i32 } + %159 = landingpad { ptr, i32 } cleanup call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %s.i180) #26 br label %lpad68.body for.inc167: ; preds = %invoke.cont161 %call.i182 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %s.i180) #26 - %158 = load ptr, ptr @stdout, align 8 - %call1.i183 = call i32 @fputs(ptr noundef %call.i182, ptr noundef %158) + %160 = load ptr, ptr @stdout, align 8 + %call1.i183 = call i32 @fputs(ptr noundef %call.i182, ptr noundef %160) call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %s.i180) #26 call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %s.i180) %inc168 = add nuw nsw i32 %i.0306, 1 @@ -4516,19 +4514,19 @@ for.end169: ; preds = %for.inc167 to label %invoke.cont170 unwind label %lpad.i.i187 lpad.i.i187: ; preds = %for.end169 - %159 = landingpad { ptr, i32 } + %161 = landingpad { ptr, i32 } cleanup call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %s.i186) #26 br label %lpad68.body invoke.cont170: ; preds = %for.end169 %call.i188 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %s.i186) #26 - %160 = load ptr, ptr @stdout, align 8 - %call1.i189 = call i32 @fputs(ptr noundef %call.i188, ptr noundef %160) + %162 = load ptr, ptr @stdout, align 8 + %call1.i189 = call i32 @fputs(ptr noundef %call.i188, ptr noundef %162) call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %s.i186) #26 call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %s.i186) - %161 = load ptr, ptr @stdout, align 8 - %call172 = call i32 @fflush(ptr noundef %161) + %163 = load ptr, ptr @stdout, align 8 + %call172 = call i32 @fflush(ptr noundef %163) store i8 0, ptr %printCameraTransform, align 4 br label %if.end174 @@ -4545,23 +4543,23 @@ invoke.cont175: ; preds = %if.end174 if.then181: ; preds = %invoke.cont175 store i32 %sub182, ptr %sampleIndex, align 4 call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp.i) - %162 = load ptr, ptr @_ZN4pbrt7OptionsE, align 8 - %useGPU.i194 = getelementptr inbounds i8, ptr %162, i64 10 - %163 = load i8, ptr %useGPU.i194, align 2 - %tobool.i195 = trunc i8 %163 to i1 + %164 = load ptr, ptr @_ZN4pbrt7OptionsE, align 8 + %useGPU.i194 = getelementptr inbounds i8, ptr %164, i64 10 + %165 = load i8, ptr %useGPU.i194, align 2 + %tobool.i195 = trunc i8 %165 to i1 br i1 %tobool.i195, label %if.then.i211.invoke, label %if.else.i196 if.then.i211.invoke: ; preds = %if.then181, %for.body73, %"_ZN4pbrt23WavefrontPathIntegrator2DoIZNS0_6RenderEvE3$_2EEvPKcOT_.exit", %invoke.cont89, %.noexc167, %invoke.cont115, %if.end.i, %if.then108, %for.inc - %164 = phi ptr [ @.str.82, %for.inc ], [ @.str.82, %if.then108 ], [ @.str.85, %if.end.i ], [ @.str.85, %invoke.cont115 ], [ @.str.82, %.noexc167 ], [ @.str.82, %invoke.cont89 ], [ @.str.82, %"_ZN4pbrt23WavefrontPathIntegrator2DoIZNS0_6RenderEvE3$_2EEvPKcOT_.exit" ], [ @.str.82, %for.body73 ], [ @.str.82, %if.then181 ] - %165 = phi i32 [ 109, %for.inc ], [ 109, %if.then108 ], [ 130, %if.end.i ], [ 130, %invoke.cont115 ], [ 109, %.noexc167 ], [ 109, %invoke.cont89 ], [ 109, %"_ZN4pbrt23WavefrontPathIntegrator2DoIZNS0_6RenderEvE3$_2EEvPKcOT_.exit" ], [ 109, %for.body73 ], [ 97, %if.then181 ] - invoke void @_ZN4pbrt8LogFatalENS_8LogLevelEPKciS2_(i32 noundef 2, ptr noundef nonnull %164, i32 noundef %165, ptr noundef nonnull @.str.13) #29 + %166 = phi ptr [ @.str.82, %for.inc ], [ @.str.82, %if.then108 ], [ @.str.85, %if.end.i ], [ @.str.85, %invoke.cont115 ], [ @.str.82, %.noexc167 ], [ @.str.82, %invoke.cont89 ], [ @.str.82, %"_ZN4pbrt23WavefrontPathIntegrator2DoIZNS0_6RenderEvE3$_2EEvPKcOT_.exit" ], [ @.str.82, %for.body73 ], [ @.str.82, %if.then181 ] + %167 = phi i32 [ 109, %for.inc ], [ 109, %if.then108 ], [ 130, %if.end.i ], [ 130, %invoke.cont115 ], [ 109, %.noexc167 ], [ 109, %invoke.cont89 ], [ 109, %"_ZN4pbrt23WavefrontPathIntegrator2DoIZNS0_6RenderEvE3$_2EEvPKcOT_.exit" ], [ 109, %for.body73 ], [ 97, %if.then181 ] + invoke void @_ZN4pbrt8LogFatalENS_8LogLevelEPKciS2_(i32 noundef 2, ptr noundef nonnull %166, i32 noundef %167, ptr noundef nonnull @.str.13) #29 to label %if.then.i211.cont unwind label %lpad68.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp if.then.i211.cont: ; preds = %if.then.i211.invoke unreachable if.else.i196: ; preds = %if.then181 - store i64 0, ptr %36, align 8 + store i64 0, ptr %37, align 8 %call.i.i2.i.i213 = invoke noalias noundef nonnull dereferenceable(32) ptr @_Znwm(i64 noundef 32) #24 to label %call.i.i2.i.i.noexc unwind label %lpad68.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit @@ -4579,78 +4577,78 @@ call.i.i2.i.i.noexc: ; preds = %if.else.i196 store ptr @"_ZNSt17_Function_handlerIFvlEZN4pbrt23WavefrontPathIntegrator6RenderEvE3$_5E9_M_invokeERKSt9_Any_dataOl", ptr %_M_invoker.i.i, align 8 store ptr @"_ZNSt17_Function_handlerIFvlEZN4pbrt23WavefrontPathIntegrator6RenderEvE3$_5E10_M_managerERSt9_Any_dataRKS5_St18_Manager_operation", ptr %_M_manager.i.i.i, align 8 call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp.i.i193) - store i64 0, ptr %37, align 8 - store i64 %38, ptr %agg.tmp.i.i193, align 8 + store i64 0, ptr %38, align 8 + store i64 %39, ptr %agg.tmp.i.i193, align 8 store ptr @_ZNSt17_Function_handlerIFvllEZN4pbrt11ParallelForEllSt8functionIFvlEEEUlllE_E9_M_invokeERKSt9_Any_dataOlSA_, ptr %_M_invoker.i.i.i198, align 8 store ptr @_ZNSt17_Function_handlerIFvllEZN4pbrt11ParallelForEllSt8functionIFvlEEEUlllE_E10_M_managerERSt9_Any_dataRKS7_St18_Manager_operation, ptr %_M_manager.i.i.i.i197, align 8 invoke void @_ZN4pbrt11ParallelForEllSt8functionIFvllEE(i64 noundef 0, i64 noundef %conv.i, ptr noundef nonnull %agg.tmp.i.i193) to label %invoke.cont.i.i204 unwind label %lpad.i.i199 invoke.cont.i.i204: ; preds = %call.i.i2.i.i.noexc - %166 = load ptr, ptr %_M_manager.i.i.i.i197, align 8 - %tobool.not.i.i.i.i205 = icmp eq ptr %166, null + %168 = load ptr, ptr %_M_manager.i.i.i.i197, align 8 + %tobool.not.i.i.i.i205 = icmp eq ptr %168, null br i1 %tobool.not.i.i.i.i205, label %invoke.cont.i, label %if.then.i.i.i.i206 if.then.i.i.i.i206: ; preds = %invoke.cont.i.i204 - %call.i.i.i.i207 = invoke noundef zeroext i1 %166(ptr noundef nonnull align 8 dereferenceable(16) %agg.tmp.i.i193, ptr noundef nonnull align 8 dereferenceable(16) %agg.tmp.i.i193, i32 noundef 3) + %call.i.i.i.i207 = invoke noundef zeroext i1 %168(ptr noundef nonnull align 8 dereferenceable(16) %agg.tmp.i.i193, ptr noundef nonnull align 8 dereferenceable(16) %agg.tmp.i.i193, i32 noundef 3) to label %invoke.cont.i unwind label %terminate.lpad.i.i.i.i208 terminate.lpad.i.i.i.i208: ; preds = %if.then.i.i.i.i206 - %167 = landingpad { ptr, i32 } + %169 = landingpad { ptr, i32 } catch ptr null - %168 = extractvalue { ptr, i32 } %167, 0 - call void @__clang_call_terminate(ptr %168) #25 + %170 = extractvalue { ptr, i32 } %169, 0 + call void @__clang_call_terminate(ptr %170) #25 unreachable lpad.i.i199: ; preds = %call.i.i2.i.i.noexc - %169 = landingpad { ptr, i32 } + %171 = landingpad { ptr, i32 } cleanup - %170 = load ptr, ptr %_M_manager.i.i.i.i197, align 8 - %tobool.not.i.i3.i.i200 = icmp eq ptr %170, null + %172 = load ptr, ptr %_M_manager.i.i.i.i197, align 8 + %tobool.not.i.i3.i.i200 = icmp eq ptr %172, null br i1 %tobool.not.i.i3.i.i200, label %lpad.body.i, label %if.then.i.i4.i.i201 if.then.i.i4.i.i201: ; preds = %lpad.i.i199 - %call.i.i5.i.i202 = invoke noundef zeroext i1 %170(ptr noundef nonnull align 8 dereferenceable(16) %agg.tmp.i.i193, ptr noundef nonnull align 8 dereferenceable(16) %agg.tmp.i.i193, i32 noundef 3) + %call.i.i5.i.i202 = invoke noundef zeroext i1 %172(ptr noundef nonnull align 8 dereferenceable(16) %agg.tmp.i.i193, ptr noundef nonnull align 8 dereferenceable(16) %agg.tmp.i.i193, i32 noundef 3) to label %lpad.body.i unwind label %terminate.lpad.i.i6.i.i203 terminate.lpad.i.i6.i.i203: ; preds = %if.then.i.i4.i.i201 - %171 = landingpad { ptr, i32 } + %173 = landingpad { ptr, i32 } catch ptr null - %172 = extractvalue { ptr, i32 } %171, 0 - call void @__clang_call_terminate(ptr %172) #25 + %174 = extractvalue { ptr, i32 } %173, 0 + call void @__clang_call_terminate(ptr %174) #25 unreachable invoke.cont.i: ; preds = %if.then.i.i.i.i206, %invoke.cont.i.i204 call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp.i.i193) - %173 = load ptr, ptr %_M_manager.i.i.i, align 8 - %tobool.not.i.i.i209 = icmp eq ptr %173, null + %175 = load ptr, ptr %_M_manager.i.i.i, align 8 + %tobool.not.i.i.i209 = icmp eq ptr %175, null br i1 %tobool.not.i.i.i209, label %"_ZN4pbrt23WavefrontPathIntegrator11ParallelForIZNS0_6RenderEvE3$_5EEvPKciOT_.exit", label %if.then.i.i.i210 if.then.i.i.i210: ; preds = %invoke.cont.i - %call.i.i.i = invoke noundef zeroext i1 %173(ptr noundef nonnull align 8 dereferenceable(16) %agg.tmp.i, ptr noundef nonnull align 8 dereferenceable(16) %agg.tmp.i, i32 noundef 3) + %call.i.i.i = invoke noundef zeroext i1 %175(ptr noundef nonnull align 8 dereferenceable(16) %agg.tmp.i, ptr noundef nonnull align 8 dereferenceable(16) %agg.tmp.i, i32 noundef 3) to label %"_ZN4pbrt23WavefrontPathIntegrator11ParallelForIZNS0_6RenderEvE3$_5EEvPKciOT_.exit" unwind label %terminate.lpad.i.i.i terminate.lpad.i.i.i: ; preds = %if.then.i.i.i210 - %174 = landingpad { ptr, i32 } + %176 = landingpad { ptr, i32 } catch ptr null - %175 = extractvalue { ptr, i32 } %174, 0 - call void @__clang_call_terminate(ptr %175) #25 + %177 = extractvalue { ptr, i32 } %176, 0 + call void @__clang_call_terminate(ptr %177) #25 unreachable lpad.body.i: ; preds = %if.then.i.i4.i.i201, %lpad.i.i199 - %176 = load ptr, ptr %_M_manager.i.i.i, align 8 - %tobool.not.i.i3.i = icmp eq ptr %176, null + %178 = load ptr, ptr %_M_manager.i.i.i, align 8 + %tobool.not.i.i3.i = icmp eq ptr %178, null br i1 %tobool.not.i.i3.i, label %lpad68.body, label %if.then.i.i4.i if.then.i.i4.i: ; preds = %lpad.body.i - %call.i.i5.i = invoke noundef zeroext i1 %176(ptr noundef nonnull align 8 dereferenceable(16) %agg.tmp.i, ptr noundef nonnull align 8 dereferenceable(16) %agg.tmp.i, i32 noundef 3) + %call.i.i5.i = invoke noundef zeroext i1 %178(ptr noundef nonnull align 8 dereferenceable(16) %agg.tmp.i, ptr noundef nonnull align 8 dereferenceable(16) %agg.tmp.i, i32 noundef 3) to label %lpad68.body unwind label %terminate.lpad.i.i6.i terminate.lpad.i.i6.i: ; preds = %if.then.i.i4.i - %177 = landingpad { ptr, i32 } + %179 = landingpad { ptr, i32 } catch ptr null - %178 = extractvalue { ptr, i32 } %177, 0 - call void @__clang_call_terminate(ptr %178) #25 + %180 = extractvalue { ptr, i32 } %179, 0 + call void @__clang_call_terminate(ptr %180) #25 unreachable "_ZN4pbrt23WavefrontPathIntegrator11ParallelForIZNS0_6RenderEvE3$_5EEvPKciOT_.exit": ; preds = %invoke.cont.i, %if.then.i.i.i210 @@ -4659,12 +4657,12 @@ terminate.lpad.i.i6.i: ; preds = %if.then.i.i4.i for.inc190: ; preds = %if.end138, %invoke.cont175, %"_ZN4pbrt23WavefrontPathIntegrator11ParallelForIZNS0_6RenderEvE3$_5EEvPKciOT_.exit" call void @_ZN4pbrt18CheckCallbackScopeD1Ev(ptr noundef nonnull align 1 dereferenceable(1) %_) #26 - %179 = load i32, ptr %sampleIndex, align 4 - %inc191 = add nsw i32 %179, 1 + %181 = load i32, ptr %sampleIndex, align 4 + %inc191 = add nsw i32 %181, 1 store i32 %inc191, ptr %sampleIndex, align 4 %cmp56 = icmp slt i32 %inc191, %lastSampleIndex.1 - %180 = or i1 %tobool58, %cmp56 - br i1 %180, label %for.body, label %if.end195, !llvm.loop !48 + %182 = or i1 %tobool58, %cmp56 + br i1 %182, label %for.body, label %if.end195, !llvm.loop !48 delete.notnull: ; preds = %invoke.cont175 call void @_ZN4pbrt18CheckCallbackScopeD1Ev(ptr noundef nonnull align 1 dereferenceable(1) %_) #26 @@ -4687,17 +4685,17 @@ invoke.cont198: ; preds = %if.end195 ret float %conv200 lpad196: ; preds = %if.end195 - %181 = landingpad { ptr, i32 } + %183 = landingpad { ptr, i32 } cleanup br label %ehcleanup203 ehcleanup203: ; preds = %if.then.i.i77, %lpad62, %lpad196, %lpad68.body - %.pn43 = phi { ptr, i32 } [ %eh.lpad-body71, %lpad68.body ], [ %181, %lpad196 ], [ %52, %lpad62 ], [ %52, %if.then.i.i77 ] + %.pn43 = phi { ptr, i32 } [ %eh.lpad-body71, %lpad68.body ], [ %183, %lpad196 ], [ %54, %lpad62 ], [ %54, %if.then.i.i77 ] call void @_ZN4pbrt16ProgressReporterD1Ev(ptr noundef nonnull align 8 dereferenceable(88) %progress) #26 br label %eh.resume eh.resume: ; preds = %if.then.i.i.i, %lpad33, %cleanup.action, %ehcleanup203, %ehcleanup55 - %.pn43.pn = phi { ptr, i32 } [ %.pn43, %ehcleanup203 ], [ %.pn40, %ehcleanup55 ], [ %.pn, %cleanup.action ], [ %20, %lpad33 ], [ %20, %if.then.i.i.i ] + %.pn43.pn = phi { ptr, i32 } [ %.pn43, %ehcleanup203 ], [ %.pn40, %ehcleanup55 ], [ %.pn, %cleanup.action ], [ %21, %lpad33 ], [ %21, %if.then.i.i.i ] resume { ptr, i32 } %.pn43.pn } diff --git a/bench/pbrt-v4/optimized/lights.cpp.ll b/bench/pbrt-v4/optimized/lights.cpp.ll index a1c7eab6028..f5509bf21dc 100644 --- a/bench/pbrt-v4/optimized/lights.cpp.ll +++ b/bench/pbrt-v4/optimized/lights.cpp.ll @@ -4091,7 +4091,8 @@ if.end: ; preds = %invoke.cont36, %inv invoke.cont44: ; preds = %if.end call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(128) %screenFromLight, ptr noundef nonnull align 4 dereferenceable(128) %ref.tmp38, i64 128, i1 false) - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(64) %ref.tmp42, ptr noundef nonnull align 8 dereferenceable(64) %mInv.i, i64 64, i1 false) + %32 = getelementptr inbounds i8, ptr %ref.tmp38, i64 64 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(64) %ref.tmp42, ptr noundef nonnull align 4 dereferenceable(64) %32, i64 64, i1 false) %mInv3.i.i = getelementptr inbounds i8, ptr %ref.tmp42, i64 64 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(64) %mInv3.i.i, ptr noundef nonnull align 4 dereferenceable(64) %ref.tmp38, i64 64, i1 false) call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(128) %lightFromScreen, ptr noundef nonnull align 4 dereferenceable(128) %ref.tmp42, i64 128, i1 false) @@ -4118,7 +4119,7 @@ call.i43.noexc: ; preds = %invoke.cont44 to label %invoke.cont62 unwind label %lpad.i lpad.i: ; preds = %.noexc45 - %32 = landingpad { ptr, i32 } + %33 = landingpad { ptr, i32 } cleanup call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp59) #28 br label %ehcleanup81.thread @@ -4138,7 +4139,7 @@ call.i46.noexc: ; preds = %invoke.cont62 to label %invoke.cont65 unwind label %lpad.i49 lpad.i49: ; preds = %.noexc51 - %33 = landingpad { ptr, i32 } + %34 = landingpad { ptr, i32 } cleanup call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %arrayinit.element) #28 br label %ehcleanup81 @@ -4158,7 +4159,7 @@ call.i54.noexc: ; preds = %invoke.cont65 to label %invoke.cont71 unwind label %lpad.i57 lpad.i57: ; preds = %.noexc59 - %34 = landingpad { ptr, i32 } + %35 = landingpad { ptr, i32 } cleanup call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %arrayinit.element66) #28 br label %ehcleanup @@ -4168,11 +4169,11 @@ invoke.cont71: ; preds = %.noexc59 to label %invoke.cont72 unwind label %lpad70 invoke.cont72: ; preds = %invoke.cont71 - %35 = getelementptr inbounds i8, ptr %ref.tmp59, i64 96 + %36 = getelementptr inbounds i8, ptr %ref.tmp59, i64 96 br label %arraydestroy.body arraydestroy.body: ; preds = %arraydestroy.body, %invoke.cont72 - %arraydestroy.elementPast = phi ptr [ %35, %invoke.cont72 ], [ %arraydestroy.element, %arraydestroy.body ] + %arraydestroy.elementPast = phi ptr [ %36, %invoke.cont72 ], [ %arraydestroy.element, %arraydestroy.body ] %arraydestroy.element = getelementptr inbounds i8, ptr %arraydestroy.elementPast, i64 -32 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %arraydestroy.element) #28 %arraydestroy.done = icmp eq ptr %arraydestroy.element, %ref.tmp59 @@ -4183,8 +4184,8 @@ invoke.cont89: ; preds = %arraydestroy.body call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp63) #28 call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp60) #28 %nStored.i.i.i = getelementptr inbounds i8, ptr %channelDesc, i64 40 - %36 = load i64, ptr %nStored.i.i.i, align 8 - %cmp.i.not = icmp eq i64 %36, 0 + %37 = load i64, ptr %nStored.i.i.i, align 8 + %cmp.i.not = icmp eq i64 %37, 0 br i1 %cmp.i.not, label %if.then91, label %invoke.cont94 if.then91: ; preds = %invoke.cont89 @@ -4195,48 +4196,48 @@ invoke.cont92: ; preds = %if.then91 unreachable lpad61: ; preds = %call.i43.noexc, %invoke.cont44 - %37 = landingpad { ptr, i32 } + %38 = landingpad { ptr, i32 } cleanup br label %ehcleanup81.thread lpad64: ; preds = %call.i46.noexc, %invoke.cont62 - %38 = landingpad { ptr, i32 } + %39 = landingpad { ptr, i32 } cleanup br label %ehcleanup81 lpad68: ; preds = %call.i54.noexc, %invoke.cont65 - %39 = landingpad { ptr, i32 } + %40 = landingpad { ptr, i32 } cleanup br label %ehcleanup lpad70: ; preds = %invoke.cont71 - %40 = landingpad { ptr, i32 } + %41 = landingpad { ptr, i32 } cleanup - %41 = getelementptr inbounds i8, ptr %ref.tmp59, i64 96 + %42 = getelementptr inbounds i8, ptr %ref.tmp59, i64 96 br label %arraydestroy.body75 arraydestroy.body75: ; preds = %arraydestroy.body75, %lpad70 - %arraydestroy.elementPast76 = phi ptr [ %41, %lpad70 ], [ %arraydestroy.element77, %arraydestroy.body75 ] + %arraydestroy.elementPast76 = phi ptr [ %42, %lpad70 ], [ %arraydestroy.element77, %arraydestroy.body75 ] %arraydestroy.element77 = getelementptr inbounds i8, ptr %arraydestroy.elementPast76, i64 -32 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %arraydestroy.element77) #28 %arraydestroy.done78 = icmp eq ptr %arraydestroy.element77, %ref.tmp59 br i1 %arraydestroy.done78, label %ehcleanup, label %arraydestroy.body75 ehcleanup: ; preds = %arraydestroy.body75, %lpad68, %lpad.i57 - %42 = phi i1 [ false, %lpad.i57 ], [ false, %lpad68 ], [ true, %arraydestroy.body75 ] - %.pn = phi { ptr, i32 } [ %34, %lpad.i57 ], [ %39, %lpad68 ], [ %40, %arraydestroy.body75 ] + %43 = phi i1 [ false, %lpad.i57 ], [ false, %lpad68 ], [ true, %arraydestroy.body75 ] + %.pn = phi { ptr, i32 } [ %35, %lpad.i57 ], [ %40, %lpad68 ], [ %41, %arraydestroy.body75 ] call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp67) #28 br label %ehcleanup81 ehcleanup81.thread: ; preds = %lpad.i, %lpad61 - %.pn.pn.pn.ph = phi { ptr, i32 } [ %32, %lpad.i ], [ %37, %lpad61 ] + %.pn.pn.pn.ph = phi { ptr, i32 } [ %33, %lpad.i ], [ %38, %lpad61 ] call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp60) #28 br label %ehcleanup132 ehcleanup81: ; preds = %ehcleanup, %lpad.i49, %lpad64 - %cleanup.isactive.1 = phi i1 [ %42, %ehcleanup ], [ false, %lpad.i49 ], [ false, %lpad64 ] + %cleanup.isactive.1 = phi i1 [ %43, %ehcleanup ], [ false, %lpad.i49 ], [ false, %lpad64 ] %arrayinit.endOfInit.0 = phi ptr [ %arrayinit.element66, %ehcleanup ], [ %arrayinit.element, %lpad.i49 ], [ %arrayinit.element, %lpad64 ] - %.pn.pn = phi { ptr, i32 } [ %.pn, %ehcleanup ], [ %33, %lpad.i49 ], [ %38, %lpad64 ] + %.pn.pn = phi { ptr, i32 } [ %.pn, %ehcleanup ], [ %34, %lpad.i49 ], [ %39, %lpad64 ] call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp63) #28 call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp60) #28 br i1 %cleanup.isactive.1, label %ehcleanup132, label %arraydestroy.body83 @@ -4249,14 +4250,14 @@ arraydestroy.body83: ; preds = %ehcleanup81, %array br i1 %arraydestroy.done86, label %ehcleanup132, label %arraydestroy.body83 lpad88: ; preds = %_ZN4pstd3pmr21polymorphic_allocatorISt4byteE15allocate_objectIfEEPT_m.exit.i.i.i, %land.rhs, %if.then98, %if.then91 - %43 = landingpad { ptr, i32 } + %44 = landingpad { ptr, i32 } cleanup br label %ehcleanup131 invoke.cont94: ; preds = %invoke.cont89 store i32 3, ptr %va, align 4 - store i64 %36, ptr %vb, align 8 - %cmp97 = icmp eq i64 %36, 3 + store i64 %37, ptr %vb, align 8 + %cmp97 = icmp eq i64 %37, 3 br i1 %cmp97, label %for.body.lr.ph.i, label %if.then98 if.then98: ; preds = %invoke.cont94 @@ -4268,12 +4269,12 @@ invoke.cont99: ; preds = %if.then98 for.body.lr.ph.i: ; preds = %invoke.cont94 %ptr.i.i.i64 = getelementptr inbounds i8, ptr %channelDesc, i64 8 - %44 = load ptr, ptr %ptr.i.i.i64, align 8 - %tobool.not.i.i.i = icmp eq ptr %44, null - %45 = getelementptr inbounds i8, ptr %channelDesc, i64 16 - %cond.i.i.i = select i1 %tobool.not.i.i.i, ptr %45, ptr %44 - %46 = load i32, ptr %cond.i.i.i, align 4 - %cmp4.not.i119 = icmp eq i32 %46, 0 + %45 = load ptr, ptr %ptr.i.i.i64, align 8 + %tobool.not.i.i.i = icmp eq ptr %45, null + %46 = getelementptr inbounds i8, ptr %channelDesc, i64 16 + %cond.i.i.i = select i1 %tobool.not.i.i.i, ptr %46, ptr %45 + %47 = load i32, ptr %cond.i.i.i, align 4 + %cmp4.not.i119 = icmp eq i32 %47, 0 br i1 %cmp4.not.i119, label %for.cond.i, label %land.rhs for.cond.i: ; preds = %for.body.lr.ph.i, %for.body.i @@ -4284,8 +4285,8 @@ for.cond.i: ; preds = %for.body.lr.ph.i, % for.body.i: ; preds = %for.cond.i %arrayidx.i.i = getelementptr inbounds i32, ptr %cond.i.i.i, i64 %inc.i65 - %47 = load i32, ptr %arrayidx.i.i, align 4 - %conv.i = sext i32 %47 to i64 + %48 = load i32, ptr %arrayidx.i.i, align 4 + %conv.i = sext i32 %48 to i64 %cmp4.not.i = icmp eq i64 %inc.i65, %conv.i br i1 %cmp4.not.i, label %for.cond.i, label %invoke.cont101, !llvm.loop !21 @@ -4306,17 +4307,17 @@ land.end: ; preds = %for.cond.i, %invoke call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %dxdA.i) call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp8.i) store ptr %this, ptr %dxdA.i, align 8, !noalias !22 - %48 = load i32, ptr %resolution.i, align 4, !noalias !22 + %49 = load i32, ptr %resolution.i, align 4, !noalias !22 %cond-lvalue.i.i = getelementptr inbounds i8, ptr %this, i64 160 - %49 = load i32, ptr %cond-lvalue.i.i, align 8, !noalias !22 - %.sroa.speculated5.i.i.i.i = call i32 @llvm.smin.i32(i32 %48, i32 0) - %.sroa.speculated.i.i.i.i = call i32 @llvm.smin.i32(i32 %49, i32 0) + %50 = load i32, ptr %cond-lvalue.i.i, align 8, !noalias !22 + %.sroa.speculated5.i.i.i.i = call i32 @llvm.smin.i32(i32 %49, i32 0) + %.sroa.speculated.i.i.i.i = call i32 @llvm.smin.i32(i32 %50, i32 0) %retval.sroa.2.0.insert.ext.i.i.i.i = zext i32 %.sroa.speculated.i.i.i.i to i64 %retval.sroa.2.0.insert.shift.i.i.i.i = shl nuw i64 %retval.sroa.2.0.insert.ext.i.i.i.i, 32 %retval.sroa.0.0.insert.ext.i.i.i.i = zext i32 %.sroa.speculated5.i.i.i.i to i64 %retval.sroa.0.0.insert.insert.i.i.i.i = or disjoint i64 %retval.sroa.2.0.insert.shift.i.i.i.i, %retval.sroa.0.0.insert.ext.i.i.i.i - %.sroa.speculated5.i9.i.i.i = call i32 @llvm.smax.i32(i32 %48, i32 0) - %.sroa.speculated.i10.i.i.i = call i32 @llvm.smax.i32(i32 %49, i32 0) + %.sroa.speculated5.i9.i.i.i = call i32 @llvm.smax.i32(i32 %49, i32 0) + %.sroa.speculated.i10.i.i.i = call i32 @llvm.smax.i32(i32 %50, i32 0) %retval.sroa.2.0.insert.ext.i11.i.i.i = zext nneg i32 %.sroa.speculated.i10.i.i.i to i64 %retval.sroa.2.0.insert.shift.i12.i.i.i = shl nuw nsw i64 %retval.sroa.2.0.insert.ext.i11.i.i.i, 32 %retval.sroa.0.0.insert.ext.i13.i.i.i = zext nneg i32 %.sroa.speculated5.i9.i.i.i to i64 @@ -4343,8 +4344,8 @@ _ZN4pstd3pmr21polymorphic_allocatorISt4byteE15allocate_objectIfEEPT_m.exit.i.i.i %mul.i4.i.i.i = shl nsw i64 %conv.i.i.i, 2 %vtable.i.i.i.i.i.i = load ptr, ptr %call.i67, align 8, !noalias !22 %vfn.i.i.i.i.i.i = getelementptr inbounds i8, ptr %vtable.i.i.i.i.i.i, i64 16 - %50 = load ptr, ptr %vfn.i.i.i.i.i.i, align 8, !noalias !22 - %call.i.i.i.i.i.i72 = invoke noundef ptr %50(ptr noundef nonnull align 8 dereferenceable(8) %call.i67, i64 noundef %mul.i4.i.i.i, i64 noundef 4) + %51 = load ptr, ptr %vfn.i.i.i.i.i.i, align 8, !noalias !22 + %call.i.i.i.i.i.i72 = invoke noundef ptr %51(ptr noundef nonnull align 8 dereferenceable(8) %call.i67, i64 noundef %mul.i4.i.i.i, i64 noundef 4) to label %call.i.i.i.i.i.i.noexc unwind label %lpad88 call.i.i.i.i.i.i.noexc: ; preds = %_ZN4pstd3pmr21polymorphic_allocatorISt4byteE15allocate_objectIfEEPT_m.exit.i.i.i @@ -4355,12 +4356,12 @@ call.i.i.i.i.i.i.noexc: ; preds = %_ZN4pstd3pmr21polym for.body.preheader.i.i.i: ; preds = %call.i.i.i.i.i.i.noexc %wide.trip.count.i.i.i = zext nneg i32 %mul.i.i.i.i to i64 - %51 = shl nuw nsw i64 %wide.trip.count.i.i.i, 2 - call void @llvm.memset.p0.i64(ptr align 4 %call.i.i.i.i.i.i72, i8 0, i64 %51, i1 false), !noalias !22 + %52 = shl nuw nsw i64 %wide.trip.count.i.i.i, 2 + call void @llvm.memset.p0.i64(ptr align 4 %call.i.i.i.i.i.i72, i8 0, i64 %52, i1 false), !noalias !22 br label %_ZN4pbrt7Array2DIfEC2EiiN4pstd3pmr21polymorphic_allocatorISt4byteEE.exit.i _ZN4pbrt7Array2DIfEC2EiiN4pstd3pmr21polymorphic_allocatorISt4byteEE.exit.i: ; preds = %for.body.preheader.i.i.i, %call.i.i.i.i.i.i.noexc, %_ZN4pstd3pmr21polymorphic_allocatorISt4byteE15allocate_objectIfEEPT_m.exit.thread.i.i.i - %52 = load i32, ptr %cond-lvalue.i.i, align 8, !noalias !22 + %53 = load i32, ptr %cond-lvalue.i.i, align 8, !noalias !22 %_M_manager.i.i.i = getelementptr inbounds i8, ptr %agg.tmp8.i, i64 16 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp8.i, i8 0, i64 32, i1 false), !noalias !22 %call.i.i2.i3.i = invoke noalias noundef nonnull dereferenceable(32) ptr @_Znwm(i64 noundef 32) #30 @@ -4378,51 +4379,51 @@ invoke.cont.i: ; preds = %_ZN4pbrt7Array2DIfE store ptr %call.i.i2.i3.i, ptr %agg.tmp8.i, align 8, !noalias !22 store ptr @"_ZNSt17_Function_handlerIFvllEZN4pbrt5Image23GetSamplingDistributionIZNS1_15ProjectionLightC1ENS1_9TransformENS1_15MediumInterfaceES2_PKNS1_13RGBColorSpaceEffN4pstd3pmr21polymorphic_allocatorISt4byteEEE3$_0EENS1_7Array2DIfEET_RKNS1_7Bounds2IfEESE_EUlllE_E9_M_invokeERKSt9_Any_dataOlSS_", ptr %_M_invoker.i.i, align 8, !noalias !22 store ptr @"_ZNSt17_Function_handlerIFvllEZN4pbrt5Image23GetSamplingDistributionIZNS1_15ProjectionLightC1ENS1_9TransformENS1_15MediumInterfaceES2_PKNS1_13RGBColorSpaceEffN4pstd3pmr21polymorphic_allocatorISt4byteEEE3$_0EENS1_7Array2DIfEET_RKNS1_7Bounds2IfEESE_EUlllE_E10_M_managerERSt9_Any_dataRKSP_St18_Manager_operation", ptr %_M_manager.i.i.i, align 8, !noalias !22 - %conv.i70 = sext i32 %52 to i64 + %conv.i70 = sext i32 %53 to i64 invoke void @_ZN4pbrt11ParallelForEllSt8functionIFvllEE(i64 noundef 0, i64 noundef %conv.i70, ptr noundef nonnull %agg.tmp8.i) to label %invoke.cont10.i unwind label %lpad9.i invoke.cont10.i: ; preds = %invoke.cont.i - %53 = load ptr, ptr %_M_manager.i.i.i, align 8, !noalias !22 - %tobool.not.i.i.i71 = icmp eq ptr %53, null + %54 = load ptr, ptr %_M_manager.i.i.i, align 8, !noalias !22 + %tobool.not.i.i.i71 = icmp eq ptr %54, null br i1 %tobool.not.i.i.i71, label %invoke.cont110, label %if.then.i.i.i if.then.i.i.i: ; preds = %invoke.cont10.i - %call.i.i.i = invoke noundef zeroext i1 %53(ptr noundef nonnull align 8 dereferenceable(16) %agg.tmp8.i, ptr noundef nonnull align 8 dereferenceable(16) %agg.tmp8.i, i32 noundef 3) + %call.i.i.i = invoke noundef zeroext i1 %54(ptr noundef nonnull align 8 dereferenceable(16) %agg.tmp8.i, ptr noundef nonnull align 8 dereferenceable(16) %agg.tmp8.i, i32 noundef 3) to label %invoke.cont110 unwind label %terminate.lpad.i.i.i terminate.lpad.i.i.i: ; preds = %if.then.i.i.i - %54 = landingpad { ptr, i32 } + %55 = landingpad { ptr, i32 } catch ptr null - %55 = extractvalue { ptr, i32 } %54, 0 - call void @__clang_call_terminate(ptr %55) #32 + %56 = extractvalue { ptr, i32 } %55, 0 + call void @__clang_call_terminate(ptr %56) #32 unreachable lpad.i69: ; preds = %_ZN4pbrt7Array2DIfEC2EiiN4pstd3pmr21polymorphic_allocatorISt4byteEE.exit.i - %56 = landingpad { ptr, i32 } + %57 = landingpad { ptr, i32 } cleanup br label %ehcleanup.i lpad9.i: ; preds = %invoke.cont.i - %57 = landingpad { ptr, i32 } + %58 = landingpad { ptr, i32 } cleanup - %58 = load ptr, ptr %_M_manager.i.i.i, align 8, !noalias !22 - %tobool.not.i.i6.i = icmp eq ptr %58, null + %59 = load ptr, ptr %_M_manager.i.i.i, align 8, !noalias !22 + %tobool.not.i.i6.i = icmp eq ptr %59, null br i1 %tobool.not.i.i6.i, label %ehcleanup.i, label %if.then.i.i7.i if.then.i.i7.i: ; preds = %lpad9.i - %call.i.i8.i = invoke noundef zeroext i1 %58(ptr noundef nonnull align 8 dereferenceable(16) %agg.tmp8.i, ptr noundef nonnull align 8 dereferenceable(16) %agg.tmp8.i, i32 noundef 3) + %call.i.i8.i = invoke noundef zeroext i1 %59(ptr noundef nonnull align 8 dereferenceable(16) %agg.tmp8.i, ptr noundef nonnull align 8 dereferenceable(16) %agg.tmp8.i, i32 noundef 3) to label %ehcleanup.i unwind label %terminate.lpad.i.i9.i terminate.lpad.i.i9.i: ; preds = %if.then.i.i7.i - %59 = landingpad { ptr, i32 } + %60 = landingpad { ptr, i32 } catch ptr null - %60 = extractvalue { ptr, i32 } %59, 0 - call void @__clang_call_terminate(ptr %60) #32 + %61 = extractvalue { ptr, i32 } %60, 0 + call void @__clang_call_terminate(ptr %61) #32 unreachable ehcleanup.i: ; preds = %if.then.i.i7.i, %lpad9.i, %lpad.i69 - %.pn.i = phi { ptr, i32 } [ %56, %lpad.i69 ], [ %57, %lpad9.i ], [ %57, %if.then.i.i7.i ] + %.pn.i = phi { ptr, i32 } [ %57, %lpad.i69 ], [ %58, %lpad9.i ], [ %58, %if.then.i.i7.i ] call void @_ZN4pbrt7Array2DIfED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %d) #28 br label %ehcleanup131 @@ -4433,19 +4434,19 @@ invoke.cont110: ; preds = %if.then.i.i.i, %inv %agg.tmp112.sroa.2.0.copyload = load <2 x float>, ptr %pMax.i, align 4 %call.i74 = call noundef ptr @_ZN4pstd3pmr19new_delete_resourceEv() #28 %values.i.i = getelementptr inbounds i8, ptr %d, i64 24 - %61 = load ptr, ptr %values.i.i, align 8 + %62 = load ptr, ptr %values.i.i, align 8 %agg.tmp.sroa.0.0.copyload.i.i.i.i = load i64, ptr %d, align 8 %p.sroa.0.0.extract.trunc.i.i.i.i.i = trunc i64 %agg.tmp.sroa.0.0.copyload.i.i.i.i to i32 %p.sroa.2.0.extract.shift.i.i.i.i.i = lshr i64 %agg.tmp.sroa.0.0.copyload.i.i.i.i, 32 %p.sroa.2.0.extract.trunc.i.i.i.i.i = trunc i64 %p.sroa.2.0.extract.shift.i.i.i.i.i to i32 - %62 = load i32, ptr %extent.sroa.3.0.this.sroa_idx.i.i.i, align 8 - %sub.i.i.i.i.i75 = sub nsw i32 %62, %p.sroa.0.0.extract.trunc.i.i.i.i.i + %63 = load i32, ptr %extent.sroa.3.0.this.sroa_idx.i.i.i, align 8 + %sub.i.i.i.i.i75 = sub nsw i32 %63, %p.sroa.0.0.extract.trunc.i.i.i.i.i %y.i.i.i.i.i = getelementptr inbounds i8, ptr %d, i64 12 - %63 = load i32, ptr %y.i.i.i.i.i, align 4 - %sub4.i.i.i.i.i76 = sub nsw i32 %63, %p.sroa.2.0.extract.trunc.i.i.i.i.i + %64 = load i32, ptr %y.i.i.i.i.i, align 4 + %sub4.i.i.i.i.i76 = sub nsw i32 %64, %p.sroa.2.0.extract.trunc.i.i.i.i.i %mul.i.i.i.i77 = mul nsw i32 %sub4.i.i.i.i.i76, %sub.i.i.i.i.i75 %conv.i.i = sext i32 %mul.i.i.i.i77 to i64 - invoke void @_ZN4pbrt19PiecewiseConstant2DC2EN4pstd4spanIKfEEiiNS_7Bounds2IfEENS1_3pmr21polymorphic_allocatorISt4byteEE(ptr noundef nonnull align 8 dereferenceable(128) %ref.tmp111, ptr %61, i64 %conv.i.i, i32 noundef %sub.i.i.i.i.i75, i32 noundef %sub4.i.i.i.i.i76, <2 x float> %agg.tmp112.sroa.0.0.copyload, <2 x float> %agg.tmp112.sroa.2.0.copyload, ptr %call.i74) + invoke void @_ZN4pbrt19PiecewiseConstant2DC2EN4pstd4spanIKfEEiiNS_7Bounds2IfEENS1_3pmr21polymorphic_allocatorISt4byteEE(ptr noundef nonnull align 8 dereferenceable(128) %ref.tmp111, ptr %62, i64 %conv.i.i, i32 noundef %sub.i.i.i.i.i75, i32 noundef %sub4.i.i.i.i.i76, <2 x float> %agg.tmp112.sroa.0.0.copyload, <2 x float> %agg.tmp112.sroa.2.0.copyload, ptr %call.i74) to label %invoke.cont117 unwind label %lpad116 invoke.cont117: ; preds = %invoke.cont110 @@ -4471,160 +4472,160 @@ invoke.cont120: ; preds = %call.i.i82.noexc %nStored.le.i.i.i.i = getelementptr inbounds i8, ptr %ref.tmp111, i64 104 store i64 0, ptr %nStored.le.i.i.i.i, align 8 %ptr.i.i.i88 = getelementptr inbounds i8, ptr %ref.tmp111, i64 88 - %64 = load ptr, ptr %ptr.i.i.i88, align 8 - %tobool.not.i.i.i.i.i.i = icmp eq ptr %64, null + %65 = load ptr, ptr %ptr.i.i.i88, align 8 + %tobool.not.i.i.i.i.i.i = icmp eq ptr %65, null br i1 %tobool.not.i.i.i.i.i.i, label %_ZN4pstd6vectorIfNS_3pmr21polymorphic_allocatorIfEEED2Ev.exit.i.i, label %if.end.i.i.i.i.i.i if.end.i.i.i.i.i.i: ; preds = %invoke.cont120 %nAlloc.i.i.i = getelementptr inbounds i8, ptr %ref.tmp111, i64 96 - %65 = load i64, ptr %nAlloc.i.i.i, align 8 - %mul.i.i.i.i90 = shl i64 %65, 2 - %66 = load ptr, ptr %cdf3.i.i, align 8 - %vtable.i.i.i.i.i.i91 = load ptr, ptr %66, align 8 + %66 = load i64, ptr %nAlloc.i.i.i, align 8 + %mul.i.i.i.i90 = shl i64 %66, 2 + %67 = load ptr, ptr %cdf3.i.i, align 8 + %vtable.i.i.i.i.i.i91 = load ptr, ptr %67, align 8 %vfn.i.i.i.i.i.i92 = getelementptr inbounds i8, ptr %vtable.i.i.i.i.i.i91, i64 24 - %67 = load ptr, ptr %vfn.i.i.i.i.i.i92, align 8 - invoke void %67(ptr noundef nonnull align 8 dereferenceable(8) %66, ptr noundef nonnull %64, i64 noundef %mul.i.i.i.i90, i64 noundef 4) + %68 = load ptr, ptr %vfn.i.i.i.i.i.i92, align 8 + invoke void %68(ptr noundef nonnull align 8 dereferenceable(8) %67, ptr noundef nonnull %65, i64 noundef %mul.i.i.i.i90, i64 noundef 4) to label %_ZN4pstd6vectorIfNS_3pmr21polymorphic_allocatorIfEEED2Ev.exit.i.i unwind label %terminate.lpad.i.i.i93 terminate.lpad.i.i.i93: ; preds = %if.end.i.i.i.i.i.i - %68 = landingpad { ptr, i32 } + %69 = landingpad { ptr, i32 } catch ptr null - %69 = extractvalue { ptr, i32 } %68, 0 - call void @__clang_call_terminate(ptr %69) #32 + %70 = extractvalue { ptr, i32 } %69, 0 + call void @__clang_call_terminate(ptr %70) #32 unreachable _ZN4pstd6vectorIfNS_3pmr21polymorphic_allocatorIfEEED2Ev.exit.i.i: ; preds = %if.end.i.i.i.i.i.i, %invoke.cont120 %nStored.le.i.i1.i.i = getelementptr inbounds i8, ptr %ref.tmp111, i64 72 store i64 0, ptr %nStored.le.i.i1.i.i, align 8 %ptr.i2.i.i = getelementptr inbounds i8, ptr %ref.tmp111, i64 56 - %70 = load ptr, ptr %ptr.i2.i.i, align 8 - %tobool.not.i.i.i.i3.i.i = icmp eq ptr %70, null + %71 = load ptr, ptr %ptr.i2.i.i, align 8 + %tobool.not.i.i.i.i3.i.i = icmp eq ptr %71, null br i1 %tobool.not.i.i.i.i3.i.i, label %invoke.cont127, label %if.end.i.i.i.i4.i.i if.end.i.i.i.i4.i.i: ; preds = %_ZN4pstd6vectorIfNS_3pmr21polymorphic_allocatorIfEEED2Ev.exit.i.i %nAlloc.i5.i.i = getelementptr inbounds i8, ptr %ref.tmp111, i64 64 - %71 = load i64, ptr %nAlloc.i5.i.i, align 8 - %mul.i.i6.i.i = shl i64 %71, 2 - %72 = load ptr, ptr %pMarginal4.i, align 8 - %vtable.i.i.i.i7.i.i = load ptr, ptr %72, align 8 + %72 = load i64, ptr %nAlloc.i5.i.i, align 8 + %mul.i.i6.i.i = shl i64 %72, 2 + %73 = load ptr, ptr %pMarginal4.i, align 8 + %vtable.i.i.i.i7.i.i = load ptr, ptr %73, align 8 %vfn.i.i.i.i8.i.i = getelementptr inbounds i8, ptr %vtable.i.i.i.i7.i.i, i64 24 - %73 = load ptr, ptr %vfn.i.i.i.i8.i.i, align 8 - invoke void %73(ptr noundef nonnull align 8 dereferenceable(8) %72, ptr noundef nonnull %70, i64 noundef %mul.i.i6.i.i, i64 noundef 4) + %74 = load ptr, ptr %vfn.i.i.i.i8.i.i, align 8 + invoke void %74(ptr noundef nonnull align 8 dereferenceable(8) %73, ptr noundef nonnull %71, i64 noundef %mul.i.i6.i.i, i64 noundef 4) to label %invoke.cont127 unwind label %terminate.lpad.i9.i.i terminate.lpad.i9.i.i: ; preds = %if.end.i.i.i.i4.i.i - %74 = landingpad { ptr, i32 } + %75 = landingpad { ptr, i32 } catch ptr null - %75 = extractvalue { ptr, i32 } %74, 0 - call void @__clang_call_terminate(ptr %75) #32 + %76 = extractvalue { ptr, i32 } %75, 0 + call void @__clang_call_terminate(ptr %76) #32 unreachable invoke.cont127: ; preds = %_ZN4pstd6vectorIfNS_3pmr21polymorphic_allocatorIfEEED2Ev.exit.i.i, %if.end.i.i.i.i4.i.i call void @_ZN4pstd6vectorIN4pbrt19PiecewiseConstant1DENS_3pmr21polymorphic_allocatorIS2_EEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %pConditionalV3.i) #28 - %76 = load i64, ptr %nStored.i8.i, align 8 - %77 = load i64, ptr %nStored.i14.i, align 8 - %mul.i96 = shl i64 %77, 1 - %add.i = add i64 %mul.i96, %76 - %78 = load i64, ptr %nStored.i20.i, align 8 + %77 = load i64, ptr %nStored.i8.i, align 8 + %78 = load i64, ptr %nStored.i14.i, align 8 + %mul.i96 = shl i64 %78, 1 + %add.i = add i64 %mul.i96, %77 + %79 = load i64, ptr %nStored.i20.i, align 8 %nStored.i.i97 = getelementptr inbounds i8, ptr %this, i64 640 - %79 = load i64, ptr %nStored.i.i97, align 8 - %80 = load ptr, ptr %ptr.i.i22, align 8 - %nAlloc.i.i.i99 = getelementptr inbounds i8, ptr %80, i64 16 - %81 = load i64, ptr %nAlloc.i.i.i99, align 8 - %nAlloc.i1.i.i = getelementptr inbounds i8, ptr %80, i64 48 - %82 = load i64, ptr %nAlloc.i1.i.i, align 8 - %add.i.i = add i64 %82, %81 + %80 = load i64, ptr %nStored.i.i97, align 8 + %81 = load ptr, ptr %ptr.i.i22, align 8 + %nAlloc.i.i.i99 = getelementptr inbounds i8, ptr %81, i64 16 + %82 = load i64, ptr %nAlloc.i.i.i99, align 8 + %nAlloc.i1.i.i = getelementptr inbounds i8, ptr %81, i64 48 + %83 = load i64, ptr %nAlloc.i1.i.i, align 8 + %add.i.i = add i64 %83, %82 %mul.i.i = shl i64 %add.i.i, 2 %add.i100 = add i64 %mul.i.i, 80 - %mul.i101 = mul i64 %add.i100, %79 + %mul.i101 = mul i64 %add.i100, %80 %nAlloc.i.i1.i = getelementptr inbounds i8, ptr %this, i64 664 - %83 = load i64, ptr %nAlloc.i.i1.i, align 8 + %84 = load i64, ptr %nAlloc.i.i1.i, align 8 %nAlloc.i1.i2.i = getelementptr inbounds i8, ptr %this, i64 696 - %84 = load i64, ptr %nAlloc.i1.i2.i, align 8 - %85 = call align 8 ptr @llvm.threadlocal.address.p0(ptr align 8 @_ZN4pbrtL10imageBytesE) - %86 = load i64, ptr %85, align 8 - %add.i3.i = add i64 %83, %78 - %reass.add = add i64 %add.i3.i, %84 + %85 = load i64, ptr %nAlloc.i1.i2.i, align 8 + %86 = call align 8 ptr @llvm.threadlocal.address.p0(ptr align 8 @_ZN4pbrtL10imageBytesE) + %87 = load i64, ptr %86, align 8 + %add.i3.i = add i64 %84, %79 + %reass.add = add i64 %add.i3.i, %85 %reass.mul = shl i64 %reass.add, 2 - %add5.i = add i64 %add.i, %86 + %add5.i = add i64 %add.i, %87 %add = add i64 %add5.i, %mul.i101 %add129 = add i64 %add, %reass.mul - store i64 %add129, ptr %85, align 8 - %87 = load ptr, ptr %values.i.i, align 8 - %tobool.not.i.i.i.i = icmp eq ptr %87, null + store i64 %add129, ptr %86, align 8 + %88 = load ptr, ptr %values.i.i, align 8 + %tobool.not.i.i.i.i = icmp eq ptr %88, null br i1 %tobool.not.i.i.i.i, label %_ZN4pbrt7Array2DIfED2Ev.exit, label %if.end.i.i.i.i if.end.i.i.i.i: ; preds = %invoke.cont127 - %88 = load i32, ptr %y.i.i.i.i.i, align 4 + %89 = load i32, ptr %y.i.i.i.i.i, align 4 %agg.tmp.sroa.0.0.copyload.i.i = load i64, ptr %d, align 8 %p.sroa.2.0.extract.shift.i.i.i = lshr i64 %agg.tmp.sroa.0.0.copyload.i.i, 32 %p.sroa.2.0.extract.trunc.i.i.i = trunc i64 %p.sroa.2.0.extract.shift.i.i.i to i32 - %sub4.i.i.i = sub nsw i32 %88, %p.sroa.2.0.extract.trunc.i.i.i - %89 = load i32, ptr %extent.sroa.3.0.this.sroa_idx.i.i.i, align 8 + %sub4.i.i.i = sub nsw i32 %89, %p.sroa.2.0.extract.trunc.i.i.i + %90 = load i32, ptr %extent.sroa.3.0.this.sroa_idx.i.i.i, align 8 %p.sroa.0.0.extract.trunc.i.i.i = trunc i64 %agg.tmp.sroa.0.0.copyload.i.i to i32 - %sub.i.i.i = sub nsw i32 %89, %p.sroa.0.0.extract.trunc.i.i.i + %sub.i.i.i = sub nsw i32 %90, %p.sroa.0.0.extract.trunc.i.i.i %mul.i.i103 = mul nsw i32 %sub4.i.i.i, %sub.i.i.i %conv.i104 = sext i32 %mul.i.i103 to i64 %mul.i4.i105 = shl nsw i64 %conv.i104, 2 - %90 = load ptr, ptr %allocator3.i.i.i, align 8 - %vtable.i.i.i.i = load ptr, ptr %90, align 8 + %91 = load ptr, ptr %allocator3.i.i.i, align 8 + %vtable.i.i.i.i = load ptr, ptr %91, align 8 %vfn.i.i.i.i = getelementptr inbounds i8, ptr %vtable.i.i.i.i, i64 24 - %91 = load ptr, ptr %vfn.i.i.i.i, align 8 - invoke void %91(ptr noundef nonnull align 8 dereferenceable(8) %90, ptr noundef nonnull %87, i64 noundef %mul.i4.i105, i64 noundef 4) + %92 = load ptr, ptr %vfn.i.i.i.i, align 8 + invoke void %92(ptr noundef nonnull align 8 dereferenceable(8) %91, ptr noundef nonnull %88, i64 noundef %mul.i4.i105, i64 noundef 4) to label %_ZN4pbrt7Array2DIfED2Ev.exit unwind label %terminate.lpad.i terminate.lpad.i: ; preds = %if.end.i.i.i.i - %92 = landingpad { ptr, i32 } + %93 = landingpad { ptr, i32 } catch ptr null - %93 = extractvalue { ptr, i32 } %92, 0 - call void @__clang_call_terminate(ptr %93) #32 + %94 = extractvalue { ptr, i32 } %93, 0 + call void @__clang_call_terminate(ptr %94) #32 unreachable _ZN4pbrt7Array2DIfED2Ev.exit: ; preds = %invoke.cont127, %if.end.i.i.i.i store i64 0, ptr %nStored.i.i.i, align 8 - %94 = load ptr, ptr %ptr.i.i.i64, align 8 - %tobool.not.i.i.i.i.i = icmp eq ptr %94, null + %95 = load ptr, ptr %ptr.i.i.i64, align 8 + %tobool.not.i.i.i.i.i = icmp eq ptr %95, null br i1 %tobool.not.i.i.i.i.i, label %_ZN4pbrt16ImageChannelDescD2Ev.exit, label %if.end.i.i.i.i.i if.end.i.i.i.i.i: ; preds = %_ZN4pbrt7Array2DIfED2Ev.exit %nAlloc.i.i107 = getelementptr inbounds i8, ptr %channelDesc, i64 32 - %95 = load i64, ptr %nAlloc.i.i107, align 8 - %mul.i.i.i = shl i64 %95, 2 - %96 = load ptr, ptr %channelDesc, align 8 - %vtable.i.i.i.i.i = load ptr, ptr %96, align 8 + %96 = load i64, ptr %nAlloc.i.i107, align 8 + %mul.i.i.i = shl i64 %96, 2 + %97 = load ptr, ptr %channelDesc, align 8 + %vtable.i.i.i.i.i = load ptr, ptr %97, align 8 %vfn.i.i.i.i.i = getelementptr inbounds i8, ptr %vtable.i.i.i.i.i, i64 24 - %97 = load ptr, ptr %vfn.i.i.i.i.i, align 8 - invoke void %97(ptr noundef nonnull align 8 dereferenceable(8) %96, ptr noundef nonnull %94, i64 noundef %mul.i.i.i, i64 noundef 4) + %98 = load ptr, ptr %vfn.i.i.i.i.i, align 8 + invoke void %98(ptr noundef nonnull align 8 dereferenceable(8) %97, ptr noundef nonnull %95, i64 noundef %mul.i.i.i, i64 noundef 4) to label %_ZN4pbrt16ImageChannelDescD2Ev.exit unwind label %terminate.lpad.i.i terminate.lpad.i.i: ; preds = %if.end.i.i.i.i.i - %98 = landingpad { ptr, i32 } + %99 = landingpad { ptr, i32 } catch ptr null - %99 = extractvalue { ptr, i32 } %98, 0 - call void @__clang_call_terminate(ptr %99) #32 + %100 = extractvalue { ptr, i32 } %99, 0 + call void @__clang_call_terminate(ptr %100) #32 unreachable _ZN4pbrt16ImageChannelDescD2Ev.exit: ; preds = %_ZN4pbrt7Array2DIfED2Ev.exit, %if.end.i.i.i.i.i ret void lpad116: ; preds = %invoke.cont110 - %100 = landingpad { ptr, i32 } + %101 = landingpad { ptr, i32 } cleanup br label %ehcleanup130 lpad119: ; preds = %call.i.i82.noexc, %call.i80.noexc, %invoke.cont117 - %101 = landingpad { ptr, i32 } + %102 = landingpad { ptr, i32 } cleanup call void @_ZN4pbrt19PiecewiseConstant2DD2Ev(ptr noundef nonnull align 8 dereferenceable(128) %ref.tmp111) #28 br label %ehcleanup130 ehcleanup130: ; preds = %lpad119, %lpad116 - %.pn12 = phi { ptr, i32 } [ %100, %lpad116 ], [ %101, %lpad119 ] + %.pn12 = phi { ptr, i32 } [ %101, %lpad116 ], [ %102, %lpad119 ] call void @_ZN4pbrt7Array2DIfED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %d) #28 br label %ehcleanup131 ehcleanup131: ; preds = %lpad88, %ehcleanup.i, %ehcleanup130 - %.pn12.pn = phi { ptr, i32 } [ %.pn12, %ehcleanup130 ], [ %43, %lpad88 ], [ %.pn.i, %ehcleanup.i ] + %.pn12.pn = phi { ptr, i32 } [ %.pn12, %ehcleanup130 ], [ %44, %lpad88 ], [ %.pn.i, %ehcleanup.i ] call void @_ZN4pbrt16ImageChannelDescD2Ev(ptr noundef nonnull align 8 dereferenceable(48) %channelDesc) #28 br label %ehcleanup132 @@ -7884,7 +7885,8 @@ if.end149: ; preds = %invoke.cont148, %in invoke.cont153: ; preds = %if.end149 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(128) %screenFromLight, ptr noundef nonnull align 4 dereferenceable(128) %ref.tmp150, i64 128, i1 false) - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(64) %ref.tmp152, ptr noundef nonnull align 4 dereferenceable(64) %mInv.i104, i64 64, i1 false) + %42 = getelementptr inbounds i8, ptr %ref.tmp150, i64 64 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(64) %ref.tmp152, ptr noundef nonnull align 4 dereferenceable(64) %42, i64 64, i1 false) %mInv3.i.i = getelementptr inbounds i8, ptr %ref.tmp152, i64 64 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(64) %mInv3.i.i, ptr noundef nonnull align 4 dereferenceable(64) %ref.tmp150, i64 64, i1 false) call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(128) %lightFromScreen, ptr noundef nonnull align 4 dereferenceable(128) %ref.tmp152, i64 128, i1 false) @@ -7901,22 +7903,22 @@ invoke.cont153: ; preds = %if.end149 to label %call.i128.noexc unwind label %lpad111.loopexit.split-lp.loopexit.split-lp call.i128.noexc: ; preds = %invoke.cont153 - %42 = extractvalue { ptr, i64 } %call.i128129, 0 - %43 = load float, ptr %42, align 4 + %43 = extractvalue { ptr, i64 } %call.i128129, 0 + %44 = load float, ptr %43, align 4 %call5.i130 = invoke { ptr, i64 } @_ZNK4pbrt12SquareMatrixILi3EEixEi(ptr noundef nonnull align 4 dereferenceable(36) %XYZFromRGB.i, i32 noundef 1) to label %call5.i.noexc unwind label %lpad111.loopexit.split-lp.loopexit.split-lp call5.i.noexc: ; preds = %call.i128.noexc - %44 = extractvalue { ptr, i64 } %call5.i130, 0 - %arrayidx.i.i = getelementptr inbounds i8, ptr %44, i64 4 - %45 = load float, ptr %arrayidx.i.i, align 4 + %45 = extractvalue { ptr, i64 } %call5.i130, 0 + %arrayidx.i.i = getelementptr inbounds i8, ptr %45, i64 4 + %46 = load float, ptr %arrayidx.i.i, align 4 %call9.i131 = invoke { ptr, i64 } @_ZNK4pbrt12SquareMatrixILi3EEixEi(ptr noundef nonnull align 4 dereferenceable(36) %XYZFromRGB.i, i32 noundef 1) to label %invoke.cont164 unwind label %lpad111.loopexit.split-lp.loopexit.split-lp invoke.cont164: ; preds = %call5.i.noexc - %46 = extractvalue { ptr, i64 } %call9.i131, 0 - %arrayidx.i1.i = getelementptr inbounds i8, ptr %46, i64 8 - %47 = load float, ptr %arrayidx.i1.i, align 4 + %47 = extractvalue { ptr, i64 } %call9.i131, 0 + %arrayidx.i1.i = getelementptr inbounds i8, ptr %47, i64 8 + %48 = load float, ptr %arrayidx.i1.i, align 4 %retval.sroa.0.0.copyload.i133271 = load i64, ptr %resolution.i, align 4 %ref.tmp167.sroa.1.0.extract.shift272 = lshr i64 %retval.sroa.0.0.copyload.i133271, 32 %ref.tmp167.sroa.1.0.extract.trunc273 = trunc i64 %ref.tmp167.sroa.1.0.extract.shift272 to i32 @@ -7977,11 +7979,11 @@ invoke.cont202: ; preds = %invoke.cont202.lr.p invoke.cont217: ; preds = %invoke.cont202 %call211.fca.0.extract = extractvalue { <2 x float>, float } %call211, 0 %call211.fca.1.extract = extractvalue { <2 x float>, float } %call211, 1 - %48 = fmul <2 x float> %call211.fca.0.extract, %call211.fca.0.extract %49 = fmul <2 x float> %call211.fca.0.extract, %call211.fca.0.extract - %shift = shufflevector <2 x float> %49, <2 x float> poison, <2 x i32> - %50 = fadd <2 x float> %48, %shift - %add.i.i.i = extractelement <2 x float> %50, i64 0 + %50 = fmul <2 x float> %call211.fca.0.extract, %call211.fca.0.extract + %shift = shufflevector <2 x float> %50, <2 x float> poison, <2 x i32> + %51 = fadd <2 x float> %49, %shift + %add.i.i.i = extractelement <2 x float> %51, i64 0 %mul.i2.i.i.i = fmul float %call211.fca.1.extract, %call211.fca.1.extract %add3.i.i.i = fadd float %mul.i2.i.i.i, %add.i.i.i %sqrt.i.i = call noundef float @llvm.sqrt.f32(float %add3.i.i.i) @@ -8000,7 +8002,7 @@ invoke.cont229: ; preds = %invoke.cont217, %_Z %resolution.sroa.9.0.extract.shift.i = lshr i64 %agg.tmp.sroa.0.0.copyload.i, 32 store i32 1, ptr %wrapMode.i.sroa.0, align 4 store i32 1, ptr %wrapMode.i.sroa.4, align 4 - %51 = trunc i64 %agg.tmp.sroa.0.0.copyload.i to i32 + %52 = trunc i64 %agg.tmp.sroa.0.0.copyload.i to i32 br label %for.body.i for.body.i: ; preds = %invoke.cont229, %for.inc.i @@ -8016,18 +8018,18 @@ for.body.i: ; preds = %invoke.cont229, %fo br i1 %or.cond.i, label %for.inc.i, label %if.end78.i if.end78.i: ; preds = %for.body.i - %52 = load i32, ptr %indvars.iv.i.sroa.phi, align 4 - switch i32 %52, label %sw.default.i186.invoke [ + %53 = load i32, ptr %indvars.iv.i.sroa.phi, align 4 + switch i32 %53, label %sw.default.i186.invoke [ i32 2, label %sw.bb.i184 i32 1, label %sw.bb85.i i32 0, label %call.i152.noexc ] sw.bb.i184: ; preds = %if.end78.i - %53 = srem i32 %.sroa.speculated, %.sroa.speculated100.i - %cmp.i68.i = icmp slt i32 %53, 0 + %54 = srem i32 %.sroa.speculated, %.sroa.speculated100.i + %cmp.i68.i = icmp slt i32 %54, 0 %add.i.i185 = select i1 %cmp.i68.i, i32 %.sroa.speculated100.i, i32 0 - %cond.i.i = add nsw i32 %add.i.i185, %53 + %cond.i.i = add nsw i32 %add.i.i185, %54 br label %for.inc.sink.split.i sw.bb85.i: ; preds = %if.end78.i @@ -8038,9 +8040,9 @@ sw.bb85.i: ; preds = %if.end78.i br label %for.inc.sink.split.i sw.default.i186.invoke: ; preds = %if.end.i, %if.end78.i - %54 = phi i32 [ 142, %if.end78.i ], [ 273, %if.end.i ] - %55 = phi ptr [ @.str.131, %if.end78.i ], [ @.str.129, %if.end.i ] - invoke void @_ZN4pbrt8LogFatalENS_8LogLevelEPKciS2_(i32 noundef 2, ptr noundef nonnull @.str.128, i32 noundef %54, ptr noundef nonnull %55) #29 + %55 = phi i32 [ 142, %if.end78.i ], [ 273, %if.end.i ] + %56 = phi ptr [ @.str.131, %if.end78.i ], [ @.str.129, %if.end.i ] + invoke void @_ZN4pbrt8LogFatalENS_8LogLevelEPKciS2_(i32 noundef 2, ptr noundef nonnull @.str.128, i32 noundef %55, ptr noundef nonnull %56) #29 to label %sw.default.i186.cont unwind label %lpad111.loopexit.split-lp.loopexit.split-lp sw.default.i186.cont: ; preds = %sw.default.i186.invoke @@ -8064,27 +8066,27 @@ if.end.i: ; preds = %for.inc.sink.split. %p.i.sroa.0.7.ph = phi i32 [ %p.i.sroa.0.6, %for.inc.i ], [ %p.i.sroa.0.4, %for.inc.sink.split.i ] call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %wrapMode.i.sroa.0) call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %wrapMode.i.sroa.4) - %56 = load i32, ptr %image105, align 8 - switch i32 %56, label %sw.default.i186.invoke [ + %57 = load i32, ptr %image105, align 8 + switch i32 %57, label %sw.default.i186.invoke [ i32 0, label %sw.bb.i i32 1, label %sw.bb14.i i32 2, label %sw.bb22.i ] sw.bb.i: ; preds = %if.end.i - %57 = load i64, ptr %nStored.i.i.i21.i, align 8 - %conv.i.i.i = trunc i64 %57 to i32 - %mul.i.i155 = mul nsw i32 %p.i.sroa.13.5.ph, %51 + %58 = load i64, ptr %nStored.i.i.i21.i, align 8 + %conv.i.i.i = trunc i64 %58 to i32 + %mul.i.i155 = mul nsw i32 %p.i.sroa.13.5.ph, %52 %add.i.i156 = add nsw i32 %mul.i.i155, %p.i.sroa.0.7.ph %mul3.i.i = mul nsw i32 %add.i.i156, %conv.i.i.i %conv.i.i = sext i32 %mul3.i.i to i64 - %58 = load ptr, ptr %ptr.i.i, align 8 - %59 = getelementptr i8, ptr %58, i64 %conv.i.i - %arrayidx.i.i157 = getelementptr i8, ptr %59, i64 %indvars.iv - %60 = load i64, ptr %encoding.i, align 8 - %and.i.i.i.i = and i64 %60, 144115188075855871 - %61 = inttoptr i64 %and.i.i.i.i to ptr - %shr.i.i.i.i = lshr i64 %60, 57 + %59 = load ptr, ptr %ptr.i.i, align 8 + %60 = getelementptr i8, ptr %59, i64 %conv.i.i + %arrayidx.i.i157 = getelementptr i8, ptr %60, i64 %indvars.iv + %61 = load i64, ptr %encoding.i, align 8 + %and.i.i.i.i = and i64 %61, 144115188075855871 + %62 = inttoptr i64 %and.i.i.i.i to ptr + %shr.i.i.i.i = lshr i64 %61, 57 %conv.i.i.i.i = trunc i64 %shr.i.i.i.i to i32 switch i32 %conv.i.i.i.i, label %sw.default.i.i.i.i [ i32 1, label %for.body.i.i.i.i.i.preheader.i @@ -8092,36 +8094,36 @@ sw.bb.i: ; preds = %if.end.i ] for.body.i.i.i.i.i.preheader.i: ; preds = %sw.bb.i - %62 = load i8, ptr %arrayidx.i.i157, align 1 - %conv3.i.i.i.i.i.i = uitofp i8 %62 to float + %63 = load i8, ptr %arrayidx.i.i157, align 1 + %conv3.i.i.i.i.i.i = uitofp i8 %63 to float %div.i.i.i.i.i.i = fdiv float %conv3.i.i.i.i.i.i, 2.550000e+02 store float %div.i.i.i.i.i.i, ptr %r.i, align 4 br label %_ZNK4pbrt13ColorEncoding8ToLinearEN4pstd4spanIKhEENS2_IfEE.exit.i sw.bb3.i.i.i.i: ; preds = %sw.bb.i - invoke void @_ZNK4pbrt17sRGBColorEncoding8ToLinearEN4pstd4spanIKhEENS2_IfEE(ptr noundef nonnull align 1 dereferenceable(1) %61, ptr %arrayidx.i.i157, i64 1, ptr nonnull %r.i, i64 1) + invoke void @_ZNK4pbrt17sRGBColorEncoding8ToLinearEN4pstd4spanIKhEENS2_IfEE(ptr noundef nonnull align 1 dereferenceable(1) %62, ptr %arrayidx.i.i157, i64 1, ptr nonnull %r.i, i64 1) to label %_ZNK4pbrt13ColorEncoding8ToLinearEN4pstd4spanIKhEENS2_IfEE.exit.i unwind label %lpad111.loopexit sw.default.i.i.i.i: ; preds = %sw.bb.i - invoke void @_ZNK4pbrt18GammaColorEncoding8ToLinearEN4pstd4spanIKhEENS2_IfEE(ptr noundef nonnull align 4 dereferenceable(5124) %61, ptr %arrayidx.i.i157, i64 1, ptr nonnull %r.i, i64 1) + invoke void @_ZNK4pbrt18GammaColorEncoding8ToLinearEN4pstd4spanIKhEENS2_IfEE(ptr noundef nonnull align 4 dereferenceable(5124) %62, ptr %arrayidx.i.i157, i64 1, ptr nonnull %r.i, i64 1) to label %_ZNK4pbrt13ColorEncoding8ToLinearEN4pstd4spanIKhEENS2_IfEE.exit.i unwind label %lpad111.loopexit _ZNK4pbrt13ColorEncoding8ToLinearEN4pstd4spanIKhEENS2_IfEE.exit.i: ; preds = %sw.default.i.i.i.i, %sw.bb3.i.i.i.i, %for.body.i.i.i.i.i.preheader.i - %63 = load float, ptr %r.i, align 4 + %64 = load float, ptr %r.i, align 4 br label %invoke.cont233 sw.bb14.i: ; preds = %if.end.i - %64 = load i64, ptr %nStored.i.i.i21.i, align 8 - %conv.i.i8.i = trunc i64 %64 to i32 - %mul.i10.i = mul nsw i32 %p.i.sroa.13.5.ph, %51 + %65 = load i64, ptr %nStored.i.i.i21.i, align 8 + %conv.i.i8.i = trunc i64 %65 to i32 + %mul.i10.i = mul nsw i32 %p.i.sroa.13.5.ph, %52 %add.i11.i = add nsw i32 %mul.i10.i, %p.i.sroa.0.7.ph %mul3.i12.i = mul nsw i32 %add.i11.i, %conv.i.i8.i %conv.i13.i = sext i32 %mul3.i12.i to i64 - %65 = load ptr, ptr %ptr.i14.i, align 8 - %66 = getelementptr %"class.pbrt::Half", ptr %65, i64 %conv.i13.i - %arrayidx.i15.i = getelementptr %"class.pbrt::Half", ptr %66, i64 %indvars.iv - %67 = load i16, ptr %arrayidx.i15.i, align 2 - %conv.i16.i = zext i16 %67 to i32 + %66 = load ptr, ptr %ptr.i14.i, align 8 + %67 = getelementptr %"class.pbrt::Half", ptr %66, i64 %conv.i13.i + %arrayidx.i15.i = getelementptr %"class.pbrt::Half", ptr %67, i64 %indvars.iv + %68 = load i16, ptr %arrayidx.i15.i, align 2 + %conv.i16.i = zext i16 %68 to i32 %and.i.i = shl nuw nsw i32 %conv.i16.i, 13 %and3.i.i = and i32 %and.i.i, 260046848 %cmp.i.i = icmp eq i32 %and3.i.i, 260046848 @@ -8139,37 +8141,37 @@ if.else.i.i: ; preds = %sw.bb14.i if.then6.i.i: ; preds = %if.else.i.i %add7.i.i = or i32 %and.i.i, 947912704 - %68 = bitcast i32 %add7.i.i to float - %sub.i.i154 = fadd float %68, 0xBF10000000000000 - %69 = bitcast float %sub.i.i154 to i32 + %69 = bitcast i32 %add7.i.i to float + %sub.i.i154 = fadd float %69, 0xBF10000000000000 + %70 = bitcast float %sub.i.i154 to i32 br label %_ZNK4pbrt4HalfcvfEv.exit.i _ZNK4pbrt4HalfcvfEv.exit.i: ; preds = %if.then6.i.i, %if.else.i.i, %if.then.i.i - %o.sroa.0.0.i.i = phi i32 [ %add4.i.i, %if.then.i.i ], [ %69, %if.then6.i.i ], [ %add.i17.i, %if.else.i.i ] - %.signext.i.i = sext i16 %67 to i32 + %o.sroa.0.0.i.i = phi i32 [ %add4.i.i, %if.then.i.i ], [ %70, %if.then6.i.i ], [ %add.i17.i, %if.else.i.i ] + %.signext.i.i = sext i16 %68 to i32 %shl11.i.i = and i32 %.signext.i.i, -2147483648 %or.i.i153 = or i32 %o.sroa.0.0.i.i, %shl11.i.i - %70 = bitcast i32 %or.i.i153 to float + %71 = bitcast i32 %or.i.i153 to float br label %invoke.cont233 sw.bb22.i: ; preds = %if.end.i - %71 = load i64, ptr %nStored.i.i.i21.i, align 8 - %conv.i.i22.i = trunc i64 %71 to i32 - %mul.i24.i = mul nsw i32 %p.i.sroa.13.5.ph, %51 + %72 = load i64, ptr %nStored.i.i.i21.i, align 8 + %conv.i.i22.i = trunc i64 %72 to i32 + %mul.i24.i = mul nsw i32 %p.i.sroa.13.5.ph, %52 %add.i25.i = add nsw i32 %mul.i24.i, %p.i.sroa.0.7.ph %mul3.i26.i = mul nsw i32 %add.i25.i, %conv.i.i22.i %conv.i27.i = sext i32 %mul3.i26.i to i64 - %72 = load ptr, ptr %ptr.i28.i, align 8 - %73 = getelementptr float, ptr %72, i64 %conv.i27.i - %arrayidx.i29.i = getelementptr float, ptr %73, i64 %indvars.iv - %74 = load float, ptr %arrayidx.i29.i, align 4 + %73 = load ptr, ptr %ptr.i28.i, align 8 + %74 = getelementptr float, ptr %73, i64 %conv.i27.i + %arrayidx.i29.i = getelementptr float, ptr %74, i64 %indvars.iv + %75 = load float, ptr %arrayidx.i29.i, align 4 br label %invoke.cont233 invoke.cont233: ; preds = %sw.bb22.i, %_ZNK4pbrt4HalfcvfEv.exit.i, %_ZNK4pbrt13ColorEncoding8ToLinearEN4pstd4spanIKhEENS2_IfEE.exit.i, %call.i152.noexc - %retval.0.i = phi float [ %74, %sw.bb22.i ], [ %70, %_ZNK4pbrt4HalfcvfEv.exit.i ], [ %63, %_ZNK4pbrt13ColorEncoding8ToLinearEN4pstd4spanIKhEENS2_IfEE.exit.i ], [ 0.000000e+00, %call.i152.noexc ] + %retval.0.i = phi float [ %75, %sw.bb22.i ], [ %71, %_ZNK4pbrt4HalfcvfEv.exit.i ], [ %64, %_ZNK4pbrt13ColorEncoding8ToLinearEN4pstd4spanIKhEENS2_IfEE.exit.i ], [ 0.000000e+00, %call.i152.noexc ] call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %r.i) - %75 = trunc i64 %indvars.iv to i32 - switch i32 %75, label %if.end4.i [ + %76 = trunc i64 %indvars.iv to i32 + switch i32 %76, label %if.end4.i [ i32 0, label %_ZN4pbrt3RGBixEi.exit i32 1, label %if.then3.i ] @@ -8181,7 +8183,7 @@ if.end4.i: ; preds = %invoke.cont233 br label %_ZN4pbrt3RGBixEi.exit _ZN4pbrt3RGBixEi.exit: ; preds = %invoke.cont233, %if.then3.i, %if.end4.i - %retval.0.i162.sroa.speculated = phi float [ %45, %if.then3.i ], [ %47, %if.end4.i ], [ %43, %invoke.cont233 ] + %retval.0.i162.sroa.speculated = phi float [ %46, %if.then3.i ], [ %48, %if.end4.i ], [ %44, %invoke.cont233 ] %mul237 = fmul float %retval.0.i, %retval.0.i162.sroa.speculated %mul238 = fmul float %mul2.i, %mul237 %add239 = fadd float %sum.2262, %mul238 @@ -8230,8 +8232,8 @@ invoke.cont263: ; preds = %if.end262 invoke.cont264: ; preds = %invoke.cont263 %vtable.i.i.i.i = load ptr, ptr %agg.tmp107.sroa.0.0.copyload, align 8 %vfn.i.i.i.i = getelementptr inbounds i8, ptr %vtable.i.i.i.i, i64 16 - %76 = load ptr, ptr %vfn.i.i.i.i, align 8 - %call.i.i.i.i167 = invoke noundef ptr %76(ptr noundef nonnull align 8 dereferenceable(8) %agg.tmp107.sroa.0.0.copyload, i64 noundef 728, i64 noundef 8) + %77 = load ptr, ptr %vfn.i.i.i.i, align 8 + %call.i.i.i.i167 = invoke noundef ptr %77(ptr noundef nonnull align 8 dereferenceable(8) %agg.tmp107.sroa.0.0.copyload, i64 noundef 728, i64 noundef 8) to label %call.i.i.i.i.noexc unwind label %lpad111.loopexit.split-lp.loopexit.split-lp call.i.i.i.i.noexc: ; preds = %invoke.cont264 @@ -8242,26 +8244,26 @@ invoke.cont265: ; preds = %call.i.i.i.i.noexc call void @_ZN4pbrt5ImageD2Ev(ptr noundef nonnull align 8 dereferenceable(152) %image105) #28 store i64 0, ptr %nStored.i.i.i, align 8 %ptr.i.i169 = getelementptr inbounds i8, ptr %channelDesc, i64 8 - %77 = load ptr, ptr %ptr.i.i169, align 8 - %tobool.not.i.i.i.i.i = icmp eq ptr %77, null + %78 = load ptr, ptr %ptr.i.i169, align 8 + %tobool.not.i.i.i.i.i = icmp eq ptr %78, null br i1 %tobool.not.i.i.i.i.i, label %_ZN4pbrt16ImageChannelDescD2Ev.exit, label %if.end.i.i.i.i.i if.end.i.i.i.i.i: ; preds = %invoke.cont265 %nAlloc.i.i = getelementptr inbounds i8, ptr %channelDesc, i64 32 - %78 = load i64, ptr %nAlloc.i.i, align 8 - %mul.i.i.i = shl i64 %78, 2 - %79 = load ptr, ptr %channelDesc, align 8 - %vtable.i.i.i.i.i = load ptr, ptr %79, align 8 + %79 = load i64, ptr %nAlloc.i.i, align 8 + %mul.i.i.i = shl i64 %79, 2 + %80 = load ptr, ptr %channelDesc, align 8 + %vtable.i.i.i.i.i = load ptr, ptr %80, align 8 %vfn.i.i.i.i.i = getelementptr inbounds i8, ptr %vtable.i.i.i.i.i, i64 24 - %80 = load ptr, ptr %vfn.i.i.i.i.i, align 8 - invoke void %80(ptr noundef nonnull align 8 dereferenceable(8) %79, ptr noundef nonnull %77, i64 noundef %mul.i.i.i, i64 noundef 4) + %81 = load ptr, ptr %vfn.i.i.i.i.i, align 8 + invoke void %81(ptr noundef nonnull align 8 dereferenceable(8) %80, ptr noundef nonnull %78, i64 noundef %mul.i.i.i, i64 noundef 4) to label %_ZN4pbrt16ImageChannelDescD2Ev.exit unwind label %terminate.lpad.i.i terminate.lpad.i.i: ; preds = %if.end.i.i.i.i.i - %81 = landingpad { ptr, i32 } + %82 = landingpad { ptr, i32 } catch ptr null - %82 = extractvalue { ptr, i32 } %81, 0 - call void @__clang_call_terminate(ptr %82) #32 + %83 = extractvalue { ptr, i32 } %82, 0 + call void @__clang_call_terminate(ptr %83) #32 unreachable _ZN4pbrt16ImageChannelDescD2Ev.exit: ; preds = %invoke.cont265, %if.end.i.i.i.i.i @@ -8274,26 +8276,26 @@ ehcleanup268: ; preds = %lpad111, %lpad99 %.pn38 = phi { ptr, i32 } [ %lpad.phi, %lpad111 ], [ %30, %lpad99 ] store i64 0, ptr %nStored.i.i.i, align 8 %ptr.i.i171 = getelementptr inbounds i8, ptr %channelDesc, i64 8 - %83 = load ptr, ptr %ptr.i.i171, align 8 - %tobool.not.i.i.i.i.i172 = icmp eq ptr %83, null + %84 = load ptr, ptr %ptr.i.i171, align 8 + %tobool.not.i.i.i.i.i172 = icmp eq ptr %84, null br i1 %tobool.not.i.i.i.i.i172, label %ehcleanup269, label %if.end.i.i.i.i.i173 if.end.i.i.i.i.i173: ; preds = %ehcleanup268 %nAlloc.i.i174 = getelementptr inbounds i8, ptr %channelDesc, i64 32 - %84 = load i64, ptr %nAlloc.i.i174, align 8 - %mul.i.i.i175 = shl i64 %84, 2 - %85 = load ptr, ptr %channelDesc, align 8 - %vtable.i.i.i.i.i176 = load ptr, ptr %85, align 8 + %85 = load i64, ptr %nAlloc.i.i174, align 8 + %mul.i.i.i175 = shl i64 %85, 2 + %86 = load ptr, ptr %channelDesc, align 8 + %vtable.i.i.i.i.i176 = load ptr, ptr %86, align 8 %vfn.i.i.i.i.i177 = getelementptr inbounds i8, ptr %vtable.i.i.i.i.i176, i64 24 - %86 = load ptr, ptr %vfn.i.i.i.i.i177, align 8 - invoke void %86(ptr noundef nonnull align 8 dereferenceable(8) %85, ptr noundef nonnull %83, i64 noundef %mul.i.i.i175, i64 noundef 4) + %87 = load ptr, ptr %vfn.i.i.i.i.i177, align 8 + invoke void %87(ptr noundef nonnull align 8 dereferenceable(8) %86, ptr noundef nonnull %84, i64 noundef %mul.i.i.i175, i64 noundef 4) to label %ehcleanup269 unwind label %terminate.lpad.i.i178 terminate.lpad.i.i178: ; preds = %if.end.i.i.i.i.i173 - %87 = landingpad { ptr, i32 } + %88 = landingpad { ptr, i32 } catch ptr null - %88 = extractvalue { ptr, i32 } %87, 0 - call void @__clang_call_terminate(ptr %88) #32 + %89 = extractvalue { ptr, i32 } %88, 0 + call void @__clang_call_terminate(ptr %89) #32 unreachable ehcleanup269: ; preds = %arraydestroy.body94, %if.end.i.i.i.i.i173, %ehcleanup268, %ehcleanup92.thread, %ehcleanup92, %lpad51 diff --git a/bench/regex-rs/optimized/11vfjke4utuj478u.ll b/bench/regex-rs/optimized/11vfjke4utuj478u.ll index ba9f067265f..7fc9a9d410c 100644 --- a/bench/regex-rs/optimized/11vfjke4utuj478u.ll +++ b/bench/regex-rs/optimized/11vfjke4utuj478u.ll @@ -6941,33 +6941,28 @@ define noundef zeroext i1 @_ZN14regex_automata6hybrid3dfa6Config25get_unicode_wo ; Function Attrs: mustprogress nofree norecurse nosync nounwind nonlazybind willreturn memory(argmem: read) uwtable define noundef zeroext i1 @_ZN14regex_automata6hybrid3dfa6Config8get_quit17hace11647d25c41e9E(ptr noalias nocapture noundef readonly align 8 dereferenceable(120) %0, i8 noundef %1) unnamed_addr #4 personality ptr @rust_eh_personality { %3 = alloca { { { [2 x i128] } } }, align 16 - %.sroa.4 = alloca [4 x i64], align 8 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %.sroa.4) %.sroa.0.0.copyload = load i64, ptr %0, align 8 - %.sroa.4.0..sroa_idx = getelementptr inbounds i8, ptr %0, i64 8 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %.sroa.4, ptr noundef nonnull align 8 dereferenceable(32) %.sroa.4.0..sroa_idx, i64 32, i1 false) %trunc.i = trunc i64 %.sroa.0.0.copyload to i1 br i1 %trunc.i, label %4, label %"_ZN4core6option15Option$LT$T$GT$6map_or17h14078ea3e58d1e0eE.exit" 4: ; preds = %2 call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %3), !noalias !1393 - %.sroa.4.16..sroa_idx = getelementptr inbounds i8, ptr %.sroa.4, i64 8 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(24) %3, ptr noundef nonnull align 8 dereferenceable(24) %.sroa.4.16..sroa_idx, i64 24, i1 false) + %5 = getelementptr inbounds i8, ptr %0, i64 16 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(24) %3, ptr noundef nonnull align 8 dereferenceable(24) %5, i64 24, i1 false) %.lobit.i.i.i = lshr i8 %1, 7 - %5 = zext nneg i8 %.lobit.i.i.i to i64 - %6 = getelementptr inbounds [2 x i128], ptr %3, i64 0, i64 %5 - %7 = load i128, ptr %6, align 16, !alias.scope !1396, !noalias !1393, !noundef !5 - %8 = and i8 %1, 127 - %9 = zext nneg i8 %8 to i128 - %10 = shl nuw i128 1, %9 - %11 = and i128 %7, %10 - %12 = icmp ne i128 %11, 0 + %6 = zext nneg i8 %.lobit.i.i.i to i64 + %7 = getelementptr inbounds [2 x i128], ptr %3, i64 0, i64 %6 + %8 = load i128, ptr %7, align 16, !alias.scope !1396, !noalias !1393, !noundef !5 + %9 = and i8 %1, 127 + %10 = zext nneg i8 %9 to i128 + %11 = shl nuw i128 1, %10 + %12 = and i128 %8, %11 + %13 = icmp ne i128 %12, 0 call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %3), !noalias !1393 br label %"_ZN4core6option15Option$LT$T$GT$6map_or17h14078ea3e58d1e0eE.exit" "_ZN4core6option15Option$LT$T$GT$6map_or17h14078ea3e58d1e0eE.exit": ; preds = %2, %4 - %.0.i = phi i1 [ %12, %4 ], [ false, %2 ] - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %.sroa.4) + %.0.i = phi i1 [ %13, %4 ], [ false, %2 ] ret i1 %.0.i } @@ -7028,7 +7023,6 @@ define { i64, i64 } @_ZN14regex_automata6hybrid3dfa6Config27get_minimum_bytes_pe define void @_ZN14regex_automata6hybrid3dfa6Config26get_minimum_cache_capacity17h8c4883cf3a8518ecE(ptr noalias nocapture noundef writeonly sret({ i64, [15 x i64] }) align 8 dereferenceable(128) %0, ptr noalias nocapture noundef readonly align 8 dereferenceable(120) %1, ptr noalias nocapture noundef readonly align 8 dereferenceable(8) %2) unnamed_addr #0 personality ptr @rust_eh_personality { %4 = alloca { ptr, i64 }, align 8 %5 = alloca { i8, i8, i8 }, align 1 - %.sroa.4.i = alloca [4 x i64], align 8 %6 = alloca { { [2 x i128] } }, align 16 %7 = alloca { [256 x i8] }, align 1 %.sroa.10 = alloca [13 x i64], align 8 @@ -7038,65 +7032,61 @@ define void @_ZN14regex_automata6hybrid3dfa6Config26get_minimum_cache_capacity17 %.val = load ptr, ptr %2, align 8 tail call void @llvm.experimental.noalias.scope.decl(metadata !1401) call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %6), !noalias !1404 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %.sroa.4.i) %.sroa.0.0.copyload.i = load i64, ptr %1, align 8, !alias.scope !1401, !noalias !1406 - %.sroa.4.0..sroa_idx.i = getelementptr inbounds i8, ptr %1, i64 8 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %.sroa.4.i, ptr noundef nonnull align 8 dereferenceable(32) %.sroa.4.0..sroa_idx.i, i64 32, i1 false), !noalias !1406 %switch.i = icmp eq i64 %.sroa.0.0.copyload.i, 0 br i1 %switch.i, label %9, label %10 9: ; preds = %3 store <2 x i128> zeroinitializer, ptr %6, align 16, !noalias !1404 - br label %11 + br label %12 10: ; preds = %3 - %.sroa.4.16..sroa_idx.i = getelementptr inbounds i8, ptr %.sroa.4.i, i64 8 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(24) %6, ptr noundef nonnull align 8 dereferenceable(24) %.sroa.4.16..sroa_idx.i, i64 24, i1 false), !noalias !1404 - br label %11 + %11 = getelementptr inbounds i8, ptr %1, i64 16 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(24) %6, ptr noundef nonnull align 8 dereferenceable(24) %11, i64 24, i1 false), !noalias !1406 + br label %12 + +12: ; preds = %10, %9 + %13 = icmp ne ptr %.val, null + tail call void @llvm.assume(i1 %13) + %14 = getelementptr inbounds i8, ptr %.val, i64 384 + %15 = load i32, ptr %14, align 8, !noalias !1404, !noundef !5 + %16 = and i32 %15, 209664 + %.0.i.not.i = icmp eq i32 %16, 0 + br i1 %.0.i.not.i, label %.loopexit, label %17 -11: ; preds = %10, %9 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %.sroa.4.i) - %12 = icmp ne ptr %.val, null - tail call void @llvm.assume(i1 %12) - %13 = getelementptr inbounds i8, ptr %.val, i64 384 - %14 = load i32, ptr %13, align 8, !noalias !1404, !noundef !5 - %15 = and i32 %14, 209664 - %.0.i.not.i = icmp eq i32 %15, 0 - br i1 %.0.i.not.i, label %.loopexit, label %16 - -16: ; preds = %11 - %17 = getelementptr inbounds i8, ptr %1, i64 115 - %18 = load i8, ptr %17, align 1, !range !97, !alias.scope !1407, !noalias !1406, !noundef !5 - %19 = trunc i8 %18 to i1 - br i1 %19, label %.preheader.i, label %20 - -20: ; preds = %16 +17: ; preds = %12 + %18 = getelementptr inbounds i8, ptr %1, i64 115 + %19 = load i8, ptr %18, align 1, !range !97, !alias.scope !1407, !noalias !1406, !noundef !5 + %20 = trunc i8 %19 to i1 + br i1 %20, label %.preheader.i, label %21 + +21: ; preds = %17 call void @llvm.lifetime.start.p0(i64 3, ptr nonnull %5), !noalias !1410 - %21 = getelementptr inbounds i8, ptr %5, i64 1 - store i8 -128, ptr %21, align 1, !noalias !1410 - %22 = getelementptr inbounds i8, ptr %5, i64 2 - store i8 -1, ptr %22, align 1, !noalias !1410 + %22 = getelementptr inbounds i8, ptr %5, i64 1 + store i8 -128, ptr %22, align 1, !noalias !1410 + %23 = getelementptr inbounds i8, ptr %5, i64 2 + store i8 -1, ptr %23, align 1, !noalias !1410 store i8 0, ptr %5, align 1, !noalias !1410 - %23 = call noundef zeroext i1 @"_ZN107_$LT$core..ops..range..RangeInclusive$LT$T$GT$$u20$as$u20$core..iter..range..RangeInclusiveIteratorImpl$GT$13spec_try_fold17h1edd916a31d9f845E.llvm.8347807780687254574"(ptr noalias noundef nonnull align 1 dereferenceable(3) %5, ptr noalias noundef nonnull readonly align 8 dereferenceable(32) %6), !noalias !1404 + %24 = call noundef zeroext i1 @"_ZN107_$LT$core..ops..range..RangeInclusive$LT$T$GT$$u20$as$u20$core..iter..range..RangeInclusiveIteratorImpl$GT$13spec_try_fold17h1edd916a31d9f845E.llvm.8347807780687254574"(ptr noalias noundef nonnull align 1 dereferenceable(3) %5, ptr noalias noundef nonnull readonly align 8 dereferenceable(32) %6), !noalias !1404 call void @llvm.lifetime.end.p0(i64 3, ptr nonnull %5), !noalias !1410 - br i1 %23, label %71, label %.loopexit + br i1 %24, label %72, label %.loopexit -.preheader.i: ; preds = %16, %.preheader.i - %.sroa.5.017.i = phi i8 [ %24, %.preheader.i ], [ -128, %16 ] +.preheader.i: ; preds = %17, %.preheader.i + %.sroa.5.017.i = phi i8 [ %25, %.preheader.i ], [ -128, %17 ] %.not.i = icmp eq i8 %.sroa.5.017.i, -1 - %24 = add nuw nsw i8 %.sroa.5.017.i, 1 + %25 = add nuw nsw i8 %.sroa.5.017.i, 1 %.lobit.i.i = lshr i8 %.sroa.5.017.i, 7 - %25 = zext nneg i8 %.lobit.i.i to i64 - %26 = and i8 %.sroa.5.017.i, 127 - %27 = zext nneg i8 %26 to i128 - %28 = shl nuw i128 1, %27 - %29 = getelementptr inbounds [2 x i128], ptr %6, i64 0, i64 %25 - %30 = load i128, ptr %29, align 16, !alias.scope !1413, !noalias !1404, !noundef !5 - %31 = or i128 %28, %30 - store i128 %31, ptr %29, align 16, !alias.scope !1413, !noalias !1404 + %26 = zext nneg i8 %.lobit.i.i to i64 + %27 = and i8 %.sroa.5.017.i, 127 + %28 = zext nneg i8 %27 to i128 + %29 = shl nuw i128 1, %28 + %30 = getelementptr inbounds [2 x i128], ptr %6, i64 0, i64 %26 + %31 = load i128, ptr %30, align 16, !alias.scope !1413, !noalias !1404, !noundef !5 + %32 = or i128 %29, %31 + store i128 %32, ptr %30, align 16, !alias.scope !1413, !noalias !1404 br i1 %.not.i, label %.loopexit, label %.preheader.i -.loopexit: ; preds = %.preheader.i, %20, %11 +.loopexit: ; preds = %.preheader.i, %21, %12 %.sroa.717.16.copyload18 = load i64, ptr %6, align 16, !noalias !1401 %.sroa.10.16..sroa_idx = getelementptr inbounds i8, ptr %6, i64 8 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %.sroa.10, ptr noundef nonnull align 8 dereferenceable(24) %.sroa.10.16..sroa_idx, i64 24, i1 false), !noalias !1401 @@ -7106,75 +7096,75 @@ define void @_ZN14regex_automata6hybrid3dfa6Config26get_minimum_cache_capacity17 call void @llvm.lifetime.end.p0(i64 104, ptr nonnull %.sroa.10) store i64 %.sroa.717.16.copyload18, ptr %8, align 8 call void @llvm.lifetime.start.p0(i64 256, ptr nonnull %7) - %32 = getelementptr inbounds i8, ptr %1, i64 114 - %.val13 = load i8, ptr %32, align 2, !range !97, !alias.scope !1416, !noundef !5 + %33 = getelementptr inbounds i8, ptr %1, i64 114 + %.val13 = load i8, ptr %33, align 2, !range !97, !alias.scope !1416, !noundef !5 call fastcc void @_ZN14regex_automata6hybrid3dfa6Config21byte_classes_from_nfa17h0b4dfdbcb14cc3f7E(ptr noalias nocapture noundef nonnull align 1 dereferenceable(256) %7, i8 %.val13, ptr nonnull %.val, ptr noalias noundef nonnull readonly align 8 dereferenceable(32) %8) - %33 = getelementptr inbounds i8, ptr %1, i64 113 - %34 = load i8, ptr %33, align 1, !range !97, !alias.scope !1419, !noundef !5 - %35 = trunc i8 %34 to i1 - %36 = getelementptr inbounds i8, ptr %7, i64 255 - %.val15 = load i8, ptr %36, align 1, !noundef !5 - %37 = getelementptr inbounds i8, ptr %.val, i64 32 - %38 = load i64, ptr %37, align 8, !noalias !1422, !noundef !5 - br i1 %35, label %39, label %44 - -39: ; preds = %.loopexit - %40 = getelementptr inbounds i8, ptr %.val, i64 56 - %41 = load i64, ptr %40, align 8, !noalias !1422, !noundef !5 - %42 = mul i64 %41, 24 - %43 = add i64 %42, 24 - br label %44 - -44: ; preds = %39, %.loopexit - %.0.in.i = phi i64 [ %43, %39 ], [ 24, %.loopexit ] + %34 = getelementptr inbounds i8, ptr %1, i64 113 + %35 = load i8, ptr %34, align 1, !range !97, !alias.scope !1419, !noundef !5 + %36 = trunc i8 %35 to i1 + %37 = getelementptr inbounds i8, ptr %7, i64 255 + %.val15 = load i8, ptr %37, align 1, !noundef !5 + %38 = getelementptr inbounds i8, ptr %.val, i64 32 + %39 = load i64, ptr %38, align 8, !noalias !1422, !noundef !5 + br i1 %36, label %40, label %45 + +40: ; preds = %.loopexit + %41 = getelementptr inbounds i8, ptr %.val, i64 56 + %42 = load i64, ptr %41, align 8, !noalias !1422, !noundef !5 + %43 = mul i64 %42, 24 + %44 = add i64 %43, 24 + br label %45 + +45: ; preds = %40, %.loopexit + %.0.in.i = phi i64 [ %44, %40 ], [ 24, %.loopexit ] call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %4), !noalias !1422 - %45 = call { ptr, i64 } @_ZN14regex_automata4util11determinize5state5State4dead17hc8f0ed727eb293bcE(), !noalias !1422 - %.fca.0.extract.i = extractvalue { ptr, i64 } %45, 0 + %46 = call { ptr, i64 } @_ZN14regex_automata4util11determinize5state5State4dead17hc8f0ed727eb293bcE(), !noalias !1422 + %.fca.0.extract.i = extractvalue { ptr, i64 } %46, 0 store ptr %.fca.0.extract.i, ptr %4, align 8, !noalias !1422 - %.fca.1.extract.i = extractvalue { ptr, i64 } %45, 1 + %.fca.1.extract.i = extractvalue { ptr, i64 } %46, 1 %.fca.1.gep.i = getelementptr inbounds i8, ptr %4, i64 8 store i64 %.fca.1.extract.i, ptr %.fca.1.gep.i, align 8, !noalias !1422 - %46 = atomicrmw sub ptr %.fca.0.extract.i, i64 1 release, align 8, !noalias !1425 - %47 = icmp eq i64 %46, 1 - br i1 %47, label %48, label %_ZN14regex_automata6hybrid3dfa22minimum_cache_capacity17h527dfd360432b17cE.exit + %47 = atomicrmw sub ptr %.fca.0.extract.i, i64 1 release, align 8, !noalias !1425 + %48 = icmp eq i64 %47, 1 + br i1 %48, label %49, label %_ZN14regex_automata6hybrid3dfa22minimum_cache_capacity17h527dfd360432b17cE.exit -48: ; preds = %44 +49: ; preds = %45 fence acquire call void @"_ZN5alloc4sync16Arc$LT$T$C$A$GT$9drop_slow17h6c2daecb8a04e8ceE"(ptr noalias noundef nonnull align 8 dereferenceable(16) %4), !noalias !1422 br label %_ZN14regex_automata6hybrid3dfa22minimum_cache_capacity17h527dfd360432b17cE.exit -_ZN14regex_automata6hybrid3dfa22minimum_cache_capacity17h527dfd360432b17cE.exit: ; preds = %44, %48 - %49 = zext i8 %.val15 to i64 - %50 = add nuw nsw i64 %49, 1 - %51 = call i64 @llvm.ctlz.i64(i64 %50, i1 true), !range !1432 - %52 = lshr i64 -1, %51 - %53 = add nuw nsw i64 %52, 1 - %54 = call noundef i64 @llvm.cttz.i64(i64 %53, i1 true), !range !1433 - %55 = shl nuw nsw i64 20, %54 +_ZN14regex_automata6hybrid3dfa22minimum_cache_capacity17h527dfd360432b17cE.exit: ; preds = %45, %49 + %50 = zext i8 %.val15 to i64 + %51 = add nuw nsw i64 %50, 1 + %52 = call i64 @llvm.ctlz.i64(i64 %51, i1 true), !range !1432 + %53 = lshr i64 -1, %52 + %54 = add nuw nsw i64 %53, 1 + %55 = call noundef i64 @llvm.cttz.i64(i64 %54, i1 true), !range !1433 + %56 = shl nuw nsw i64 20, %55 call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %4), !noalias !1422 - %56 = getelementptr inbounds i8, ptr %.val, i64 56 - %57 = load i64, ptr %56, align 8, !noalias !1422, !noundef !5 - %58 = shl i64 %57, 2 - %59 = mul i64 %38, 5 - %60 = add i64 %59, 9 - %61 = add i64 %60, %58 - %62 = mul i64 %.fca.1.extract.i, 3 - %63 = shl i64 %61, 1 - %reass.mul.i = mul i64 %38, 12 - %64 = add i64 %reass.mul.i, 180 - %65 = add i64 %64, %55 - %66 = add i64 %65, %.0.in.i - %67 = add i64 %66, %62 - %68 = add i64 %67, %61 - %69 = add i64 %68, %63 - %70 = getelementptr inbounds i8, ptr %0, i64 8 - store i64 %69, ptr %70, align 8 + %57 = getelementptr inbounds i8, ptr %.val, i64 56 + %58 = load i64, ptr %57, align 8, !noalias !1422, !noundef !5 + %59 = shl i64 %58, 2 + %60 = mul i64 %39, 5 + %61 = add i64 %60, 9 + %62 = add i64 %61, %59 + %63 = mul i64 %.fca.1.extract.i, 3 + %64 = shl i64 %62, 1 + %reass.mul.i = mul i64 %39, 12 + %65 = add i64 %reass.mul.i, 180 + %66 = add i64 %65, %56 + %67 = add i64 %66, %.0.in.i + %68 = add i64 %67, %63 + %69 = add i64 %68, %62 + %70 = add i64 %69, %64 + %71 = getelementptr inbounds i8, ptr %0, i64 8 + store i64 %70, ptr %71, align 8 store i64 -9223372036854775797, ptr %0, align 8 call void @llvm.lifetime.end.p0(i64 256, ptr nonnull %7) call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %8) - br label %72 + br label %73 -71: ; preds = %20 +72: ; preds = %21 call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %6), !noalias !1404 call void @llvm.lifetime.end.p0(i64 104, ptr nonnull %.sroa.10) store i64 -9223372036854775798, ptr %0, align 8 @@ -7183,9 +7173,9 @@ _ZN14regex_automata6hybrid3dfa22minimum_cache_capacity17h527dfd360432b17cE.exit: %.sroa.211.sroa.2.0..sroa.211.0..sroa_idx.sroa_idx = getelementptr inbounds i8, ptr %0, i64 16 store i64 177, ptr %.sroa.211.sroa.2.0..sroa.211.0..sroa_idx.sroa_idx, align 8 call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %8) - br label %72 + br label %73 -72: ; preds = %71, %_ZN14regex_automata6hybrid3dfa22minimum_cache_capacity17h527dfd360432b17cE.exit +73: ; preds = %72, %_ZN14regex_automata6hybrid3dfa22minimum_cache_capacity17h527dfd360432b17cE.exit ret void } @@ -7665,7 +7655,6 @@ define void @_ZN14regex_automata6hybrid3dfa7Builder14build_from_nfa17hc1e1fabb94 %4 = alloca [256 x i8], align 8 %5 = alloca { ptr, i64 }, align 8 %6 = alloca { i8, i8, i8 }, align 1 - %.sroa.4.i = alloca [4 x i64], align 8 %7 = alloca { { [2 x i128] } }, align 16 %.sroa.8 = alloca [40 x i8], align 8 %8 = alloca { [256 x i8] }, align 8 @@ -7677,330 +7666,326 @@ define void @_ZN14regex_automata6hybrid3dfa7Builder14build_from_nfa17hc1e1fabb94 call void @llvm.lifetime.start.p0(i64 104, ptr nonnull %.sroa.10) tail call void @llvm.experimental.noalias.scope.decl(metadata !1503) call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %7), !noalias !1506 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %.sroa.4.i) %.sroa.0.0.copyload.i = load i64, ptr %1, align 8, !alias.scope !1503, !noalias !1508 - %.sroa.4.0..sroa_idx.i = getelementptr inbounds i8, ptr %1, i64 8 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %.sroa.4.i, ptr noundef nonnull align 8 dereferenceable(32) %.sroa.4.0..sroa_idx.i, i64 32, i1 false), !noalias !1508 %switch.i = icmp eq i64 %.sroa.0.0.copyload.i, 0 br i1 %switch.i, label %11, label %12 11: ; preds = %3 store <2 x i128> zeroinitializer, ptr %7, align 16, !noalias !1506 - br label %13 + br label %14 12: ; preds = %3 - %.sroa.4.16..sroa_idx.i = getelementptr inbounds i8, ptr %.sroa.4.i, i64 8 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(24) %7, ptr noundef nonnull align 8 dereferenceable(24) %.sroa.4.16..sroa_idx.i, i64 24, i1 false), !noalias !1506 - br label %13 - -13: ; preds = %12, %11 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %.sroa.4.i) - %14 = getelementptr inbounds i8, ptr %2, i64 384 - %15 = load i32, ptr %14, align 8, !noalias !1506, !noundef !5 - %16 = and i32 %15, 209664 - %.0.i.not.i = icmp eq i32 %16, 0 - br i1 %.0.i.not.i, label %.loopexit, label %17 + %13 = getelementptr inbounds i8, ptr %1, i64 16 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(24) %7, ptr noundef nonnull align 8 dereferenceable(24) %13, i64 24, i1 false), !noalias !1508 + br label %14 -17: ; preds = %13 - %18 = getelementptr inbounds i8, ptr %1, i64 115 - %19 = load i8, ptr %18, align 1, !range !97, !alias.scope !1509, !noalias !1508, !noundef !5 - %20 = trunc i8 %19 to i1 - br i1 %20, label %.preheader.i, label %21 +14: ; preds = %12, %11 + %15 = getelementptr inbounds i8, ptr %2, i64 384 + %16 = load i32, ptr %15, align 8, !noalias !1506, !noundef !5 + %17 = and i32 %16, 209664 + %.0.i.not.i = icmp eq i32 %17, 0 + br i1 %.0.i.not.i, label %.loopexit, label %18 -21: ; preds = %17 +18: ; preds = %14 + %19 = getelementptr inbounds i8, ptr %1, i64 115 + %20 = load i8, ptr %19, align 1, !range !97, !alias.scope !1509, !noalias !1508, !noundef !5 + %21 = trunc i8 %20 to i1 + br i1 %21, label %.preheader.i, label %22 + +22: ; preds = %18 call void @llvm.lifetime.start.p0(i64 3, ptr nonnull %6), !noalias !1512 - %22 = getelementptr inbounds i8, ptr %6, i64 1 - store i8 -128, ptr %22, align 1, !noalias !1512 - %23 = getelementptr inbounds i8, ptr %6, i64 2 - store i8 -1, ptr %23, align 1, !noalias !1512 + %23 = getelementptr inbounds i8, ptr %6, i64 1 + store i8 -128, ptr %23, align 1, !noalias !1512 + %24 = getelementptr inbounds i8, ptr %6, i64 2 + store i8 -1, ptr %24, align 1, !noalias !1512 store i8 0, ptr %6, align 1, !noalias !1512 - %24 = invoke noundef zeroext i1 @"_ZN107_$LT$core..ops..range..RangeInclusive$LT$T$GT$$u20$as$u20$core..iter..range..RangeInclusiveIteratorImpl$GT$13spec_try_fold17h1edd916a31d9f845E.llvm.8347807780687254574"(ptr noalias noundef nonnull align 1 dereferenceable(3) %6, ptr noalias noundef nonnull readonly align 8 dereferenceable(32) %7) - to label %.noexc unwind label %33 + %25 = invoke noundef zeroext i1 @"_ZN107_$LT$core..ops..range..RangeInclusive$LT$T$GT$$u20$as$u20$core..iter..range..RangeInclusiveIteratorImpl$GT$13spec_try_fold17h1edd916a31d9f845E.llvm.8347807780687254574"(ptr noalias noundef nonnull align 1 dereferenceable(3) %6, ptr noalias noundef nonnull readonly align 8 dereferenceable(32) %7) + to label %.noexc unwind label %34 -.noexc: ; preds = %21 +.noexc: ; preds = %22 call void @llvm.lifetime.end.p0(i64 3, ptr nonnull %6), !noalias !1512 - br i1 %24, label %40, label %.noexc..loopexit_crit_edge + br i1 %25, label %41, label %.noexc..loopexit_crit_edge .noexc..loopexit_crit_edge: ; preds = %.noexc %.val27.pre = load ptr, ptr %10, align 8 br label %.loopexit -.preheader.i: ; preds = %17, %.preheader.i - %.sroa.5.017.i = phi i8 [ %25, %.preheader.i ], [ -128, %17 ] +.preheader.i: ; preds = %18, %.preheader.i + %.sroa.5.017.i = phi i8 [ %26, %.preheader.i ], [ -128, %18 ] %.not.i = icmp eq i8 %.sroa.5.017.i, -1 - %25 = add nuw nsw i8 %.sroa.5.017.i, 1 + %26 = add nuw nsw i8 %.sroa.5.017.i, 1 %.lobit.i.i = lshr i8 %.sroa.5.017.i, 7 - %26 = zext nneg i8 %.lobit.i.i to i64 - %27 = and i8 %.sroa.5.017.i, 127 - %28 = zext nneg i8 %27 to i128 - %29 = shl nuw i128 1, %28 - %30 = getelementptr inbounds [2 x i128], ptr %7, i64 0, i64 %26 - %31 = load i128, ptr %30, align 16, !alias.scope !1515, !noalias !1506, !noundef !5 - %32 = or i128 %29, %31 - store i128 %32, ptr %30, align 16, !alias.scope !1515, !noalias !1506 + %27 = zext nneg i8 %.lobit.i.i to i64 + %28 = and i8 %.sroa.5.017.i, 127 + %29 = zext nneg i8 %28 to i128 + %30 = shl nuw i128 1, %29 + %31 = getelementptr inbounds [2 x i128], ptr %7, i64 0, i64 %27 + %32 = load i128, ptr %31, align 16, !alias.scope !1515, !noalias !1506, !noundef !5 + %33 = or i128 %30, %32 + store i128 %33, ptr %31, align 16, !alias.scope !1515, !noalias !1506 br i1 %.not.i, label %.loopexit, label %.preheader.i -33: ; preds = %58, %54, %21, %.loopexit - %34 = landingpad { ptr, i32 } +34: ; preds = %59, %55, %22, %.loopexit + %35 = landingpad { ptr, i32 } cleanup call void @llvm.experimental.noalias.scope.decl(metadata !1518) call void @llvm.experimental.noalias.scope.decl(metadata !1521) call void @llvm.experimental.noalias.scope.decl(metadata !1524) - %35 = load ptr, ptr %10, align 8, !alias.scope !1527, !nonnull !5, !noundef !5 - %36 = atomicrmw sub ptr %35, i64 1 release, align 8, !noalias !1527 - %37 = icmp eq i64 %36, 1 - br i1 %37, label %38, label %"_ZN4core3ptr60drop_in_place$LT$regex_automata..nfa..thompson..nfa..NFA$GT$17h0f2aa052becc43c4E.exit" + %36 = load ptr, ptr %10, align 8, !alias.scope !1527, !nonnull !5, !noundef !5 + %37 = atomicrmw sub ptr %36, i64 1 release, align 8, !noalias !1527 + %38 = icmp eq i64 %37, 1 + br i1 %38, label %39, label %"_ZN4core3ptr60drop_in_place$LT$regex_automata..nfa..thompson..nfa..NFA$GT$17h0f2aa052becc43c4E.exit" -38: ; preds = %33 +39: ; preds = %34 fence acquire invoke void @"_ZN5alloc4sync16Arc$LT$T$C$A$GT$9drop_slow17hb58fe166b1113c18E"(ptr noalias noundef nonnull align 8 dereferenceable(8) %10) - to label %"_ZN4core3ptr60drop_in_place$LT$regex_automata..nfa..thompson..nfa..NFA$GT$17h0f2aa052becc43c4E.exit" unwind label %148 + to label %"_ZN4core3ptr60drop_in_place$LT$regex_automata..nfa..thompson..nfa..NFA$GT$17h0f2aa052becc43c4E.exit" unwind label %149 -.loopexit: ; preds = %.preheader.i, %.noexc..loopexit_crit_edge, %13 - %.val27 = phi ptr [ %.val27.pre, %.noexc..loopexit_crit_edge ], [ %2, %13 ], [ %2, %.preheader.i ] - %.sroa.739.16.copyload40 = load i64, ptr %7, align 16, !noalias !1503 +.loopexit: ; preds = %.preheader.i, %.noexc..loopexit_crit_edge, %14 + %.val27 = phi ptr [ %.val27.pre, %.noexc..loopexit_crit_edge ], [ %2, %14 ], [ %2, %.preheader.i ] + %.sroa.738.16.copyload39 = load i64, ptr %7, align 16, !noalias !1503 %.sroa.10.16..sroa_idx = getelementptr inbounds i8, ptr %7, i64 8 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %.sroa.10, ptr noundef nonnull align 8 dereferenceable(24) %.sroa.10.16..sroa_idx, i64 24, i1 false), !noalias !1503 call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %7), !noalias !1506 %.sroa.06.sroa.4.0..sroa_idx = getelementptr inbounds i8, ptr %9, i64 8 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %.sroa.06.sroa.4.0..sroa_idx, ptr noundef nonnull align 8 dereferenceable(24) %.sroa.10, i64 24, i1 false) call void @llvm.lifetime.end.p0(i64 104, ptr nonnull %.sroa.10) - store i64 %.sroa.739.16.copyload40, ptr %9, align 8 - %39 = getelementptr i8, ptr %1, i64 114 - %.val26 = load i8, ptr %39, align 2, !range !97, !alias.scope !1416, !noundef !5 + store i64 %.sroa.738.16.copyload39, ptr %9, align 8 + %40 = getelementptr i8, ptr %1, i64 114 + %.val26 = load i8, ptr %40, align 2, !range !97, !alias.scope !1416, !noundef !5 invoke fastcc void @_ZN14regex_automata6hybrid3dfa6Config21byte_classes_from_nfa17h0b4dfdbcb14cc3f7E(ptr noalias nocapture noundef nonnull align 1 dereferenceable(256) %8, i8 %.val26, ptr %.val27, ptr noalias noundef nonnull readonly align 8 dereferenceable(32) %9) - to label %41 unwind label %33 + to label %42 unwind label %34 -40: ; preds = %.noexc +41: ; preds = %.noexc call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %7), !noalias !1506 call void @llvm.lifetime.end.p0(i64 104, ptr nonnull %.sroa.10) - br label %90 - -41: ; preds = %.loopexit - %42 = getelementptr inbounds i8, ptr %1, i64 113 - %43 = load i8, ptr %42, align 1, !range !97, !alias.scope !1528, !noundef !5 - %44 = trunc i8 %43 to i1 - %45 = getelementptr inbounds i8, ptr %8, i64 255 - %.val29 = load i8, ptr %45, align 1, !noundef !5 + br label %91 + +42: ; preds = %.loopexit + %43 = getelementptr inbounds i8, ptr %1, i64 113 + %44 = load i8, ptr %43, align 1, !range !97, !alias.scope !1528, !noundef !5 + %45 = trunc i8 %44 to i1 + %46 = getelementptr inbounds i8, ptr %8, i64 255 + %.val29 = load i8, ptr %46, align 1, !noundef !5 call void @llvm.experimental.noalias.scope.decl(metadata !1531) - %46 = load ptr, ptr %10, align 8, !alias.scope !1531, !nonnull !5, !noundef !5 - %47 = getelementptr inbounds i8, ptr %46, i64 32 - %48 = load i64, ptr %47, align 8, !noalias !1531, !noundef !5 - br i1 %44, label %49, label %54 - -49: ; preds = %41 - %50 = getelementptr inbounds i8, ptr %46, i64 56 - %51 = load i64, ptr %50, align 8, !noalias !1531, !noundef !5 - %52 = mul i64 %51, 24 - %53 = add i64 %52, 24 - br label %54 - -54: ; preds = %49, %41 - %.0.in.i = phi i64 [ %53, %49 ], [ 24, %41 ] + %47 = load ptr, ptr %10, align 8, !alias.scope !1531, !nonnull !5, !noundef !5 + %48 = getelementptr inbounds i8, ptr %47, i64 32 + %49 = load i64, ptr %48, align 8, !noalias !1531, !noundef !5 + br i1 %45, label %50, label %55 + +50: ; preds = %42 + %51 = getelementptr inbounds i8, ptr %47, i64 56 + %52 = load i64, ptr %51, align 8, !noalias !1531, !noundef !5 + %53 = mul i64 %52, 24 + %54 = add i64 %53, 24 + br label %55 + +55: ; preds = %50, %42 + %.0.in.i = phi i64 [ %54, %50 ], [ 24, %42 ] call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %5), !noalias !1531 - %55 = invoke { ptr, i64 } @_ZN14regex_automata4util11determinize5state5State4dead17hc8f0ed727eb293bcE() - to label %.noexc32 unwind label %33 + %56 = invoke { ptr, i64 } @_ZN14regex_automata4util11determinize5state5State4dead17hc8f0ed727eb293bcE() + to label %.noexc32 unwind label %34 -.noexc32: ; preds = %54 - %.fca.0.extract.i = extractvalue { ptr, i64 } %55, 0 +.noexc32: ; preds = %55 + %.fca.0.extract.i = extractvalue { ptr, i64 } %56, 0 store ptr %.fca.0.extract.i, ptr %5, align 8, !noalias !1531 - %.fca.1.extract.i = extractvalue { ptr, i64 } %55, 1 + %.fca.1.extract.i = extractvalue { ptr, i64 } %56, 1 %.fca.1.gep.i = getelementptr inbounds i8, ptr %5, i64 8 store i64 %.fca.1.extract.i, ptr %.fca.1.gep.i, align 8, !noalias !1531 - %56 = atomicrmw sub ptr %.fca.0.extract.i, i64 1 release, align 8, !noalias !1534 - %57 = icmp eq i64 %56, 1 - br i1 %57, label %58, label %59 + %57 = atomicrmw sub ptr %.fca.0.extract.i, i64 1 release, align 8, !noalias !1534 + %58 = icmp eq i64 %57, 1 + br i1 %58, label %59, label %60 -58: ; preds = %.noexc32 +59: ; preds = %.noexc32 fence acquire invoke void @"_ZN5alloc4sync16Arc$LT$T$C$A$GT$9drop_slow17h6c2daecb8a04e8ceE"(ptr noalias noundef nonnull align 8 dereferenceable(16) %5) - to label %59 unwind label %33 - -59: ; preds = %58, %.noexc32 - %60 = zext i8 %.val29 to i64 - %61 = add nuw nsw i64 %60, 1 - %62 = call i64 @llvm.ctlz.i64(i64 %61, i1 true), !range !1432 - %63 = lshr i64 -1, %62 - %64 = add nuw nsw i64 %63, 1 - %65 = call noundef i64 @llvm.cttz.i64(i64 %64, i1 true), !range !1433 - %66 = shl nuw nsw i64 20, %65 + to label %60 unwind label %34 + +60: ; preds = %59, %.noexc32 + %61 = zext i8 %.val29 to i64 + %62 = add nuw nsw i64 %61, 1 + %63 = call i64 @llvm.ctlz.i64(i64 %62, i1 true), !range !1432 + %64 = lshr i64 -1, %63 + %65 = add nuw nsw i64 %64, 1 + %66 = call noundef i64 @llvm.cttz.i64(i64 %65, i1 true), !range !1433 + %67 = shl nuw nsw i64 20, %66 call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %5), !noalias !1531 - %67 = getelementptr inbounds i8, ptr %46, i64 56 - %68 = load i64, ptr %67, align 8, !noalias !1531, !noundef !5 - %69 = shl i64 %68, 2 - %70 = mul i64 %48, 5 - %71 = add i64 %70, 9 - %72 = add i64 %71, %69 - %73 = mul i64 %.fca.1.extract.i, 3 - %74 = shl i64 %72, 1 - %reass.mul.i = mul i64 %48, 12 - %75 = add i64 %reass.mul.i, 180 - %76 = add i64 %75, %66 - %77 = add i64 %76, %.0.in.i - %78 = add i64 %77, %73 - %79 = add i64 %78, %72 - %80 = add i64 %79, %74 - %81 = getelementptr inbounds i8, ptr %1, i64 40 - %82 = load i64, ptr %81, align 8, !range !193, !noundef !5 - %trunc.i = trunc i64 %82 to i1 - %83 = getelementptr inbounds i8, ptr %1, i64 48 - %84 = load i64, ptr %83, align 8 - %.0.i = select i1 %trunc.i, i64 %84, i64 2097152 - %85 = icmp ult i64 %.0.i, %80 - br i1 %85, label %86, label %96 - -86: ; preds = %59 - %87 = getelementptr inbounds i8, ptr %1, i64 117 - %88 = load i8, ptr %87, align 1, !range !97, !alias.scope !1541, !noundef !5 - %89 = trunc i8 %88 to i1 - br i1 %89, label %96, label %90 - -90: ; preds = %86, %40 - %.sink73 = phi i64 [ -9223372036854775798, %40 ], [ -9223372036854775800, %86 ] - %.sink = phi i64 [ ptrtoint (ptr @anon.227420ea47fcf415024a4301e123f38b.95 to i64), %40 ], [ %80, %86 ] - %.0.i.sink = phi i64 [ 177, %40 ], [ %.0.i, %86 ] - %91 = getelementptr inbounds i8, ptr %0, i64 8 - store i64 %.sink73, ptr %91, align 8 - %.sroa.442.0..sroa_idx = getelementptr inbounds i8, ptr %0, i64 16 - store i64 %.sink, ptr %.sroa.442.0..sroa_idx, align 8 - %.sroa.543.0..sroa_idx = getelementptr inbounds i8, ptr %0, i64 24 - store i64 %.0.i.sink, ptr %.sroa.543.0..sroa_idx, align 8 + %68 = getelementptr inbounds i8, ptr %47, i64 56 + %69 = load i64, ptr %68, align 8, !noalias !1531, !noundef !5 + %70 = shl i64 %69, 2 + %71 = mul i64 %49, 5 + %72 = add i64 %71, 9 + %73 = add i64 %72, %70 + %74 = mul i64 %.fca.1.extract.i, 3 + %75 = shl i64 %73, 1 + %reass.mul.i = mul i64 %49, 12 + %76 = add i64 %reass.mul.i, 180 + %77 = add i64 %76, %67 + %78 = add i64 %77, %.0.in.i + %79 = add i64 %78, %74 + %80 = add i64 %79, %73 + %81 = add i64 %80, %75 + %82 = getelementptr inbounds i8, ptr %1, i64 40 + %83 = load i64, ptr %82, align 8, !range !193, !noundef !5 + %trunc.i = trunc i64 %83 to i1 + %84 = getelementptr inbounds i8, ptr %1, i64 48 + %85 = load i64, ptr %84, align 8 + %.0.i = select i1 %trunc.i, i64 %85, i64 2097152 + %86 = icmp ult i64 %.0.i, %81 + br i1 %86, label %87, label %97 + +87: ; preds = %60 + %88 = getelementptr inbounds i8, ptr %1, i64 117 + %89 = load i8, ptr %88, align 1, !range !97, !alias.scope !1541, !noundef !5 + %90 = trunc i8 %89 to i1 + br i1 %90, label %97, label %91 + +91: ; preds = %87, %41 + %.sink72 = phi i64 [ -9223372036854775798, %41 ], [ -9223372036854775800, %87 ] + %.sink = phi i64 [ ptrtoint (ptr @anon.227420ea47fcf415024a4301e123f38b.95 to i64), %41 ], [ %81, %87 ] + %.0.i.sink = phi i64 [ 177, %41 ], [ %.0.i, %87 ] + %92 = getelementptr inbounds i8, ptr %0, i64 8 + store i64 %.sink72, ptr %92, align 8 + %.sroa.441.0..sroa_idx = getelementptr inbounds i8, ptr %0, i64 16 + store i64 %.sink, ptr %.sroa.441.0..sroa_idx, align 8 + %.sroa.542.0..sroa_idx = getelementptr inbounds i8, ptr %0, i64 24 + store i64 %.0.i.sink, ptr %.sroa.542.0..sroa_idx, align 8 store i64 2, ptr %0, align 8 call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %9) call void @llvm.experimental.noalias.scope.decl(metadata !1544) call void @llvm.experimental.noalias.scope.decl(metadata !1547) call void @llvm.experimental.noalias.scope.decl(metadata !1550) - %92 = load ptr, ptr %10, align 8, !alias.scope !1553, !nonnull !5, !noundef !5 - %93 = atomicrmw sub ptr %92, i64 1 release, align 8, !noalias !1553 - %94 = icmp eq i64 %93, 1 - br i1 %94, label %95, label %"_ZN4core3ptr60drop_in_place$LT$regex_automata..nfa..thompson..nfa..NFA$GT$17h0f2aa052becc43c4E.exit36" + %93 = load ptr, ptr %10, align 8, !alias.scope !1553, !nonnull !5, !noundef !5 + %94 = atomicrmw sub ptr %93, i64 1 release, align 8, !noalias !1553 + %95 = icmp eq i64 %94, 1 + br i1 %95, label %96, label %"_ZN4core3ptr60drop_in_place$LT$regex_automata..nfa..thompson..nfa..NFA$GT$17h0f2aa052becc43c4E.exit35" -95: ; preds = %90 +96: ; preds = %91 fence acquire call void @"_ZN5alloc4sync16Arc$LT$T$C$A$GT$9drop_slow17hb58fe166b1113c18E"(ptr noalias noundef nonnull align 8 dereferenceable(8) %10) - br label %"_ZN4core3ptr60drop_in_place$LT$regex_automata..nfa..thompson..nfa..NFA$GT$17h0f2aa052becc43c4E.exit36" - -96: ; preds = %59, %86 - %.val30 = load i8, ptr %45, align 1, !noundef !5 - %97 = zext i8 %.val30 to i64 - %98 = add nuw nsw i64 %97, 1 - %99 = call i64 @llvm.ctlz.i64(i64 %98, i1 true), !range !1432 - %100 = lshr i64 -1, %99 - %101 = add nuw nsw i64 %100, 1 - %102 = call noundef i64 @llvm.cttz.i64(i64 %101, i1 true), !range !1433 - %103 = load ptr, ptr %10, align 8, !nonnull !5, !noundef !5 - %104 = getelementptr inbounds i8, ptr %103, i64 396 + br label %"_ZN4core3ptr60drop_in_place$LT$regex_automata..nfa..thompson..nfa..NFA$GT$17h0f2aa052becc43c4E.exit35" + +97: ; preds = %60, %87 + %.val30 = load i8, ptr %46, align 1, !noundef !5 + %98 = zext i8 %.val30 to i64 + %99 = add nuw nsw i64 %98, 1 + %100 = call i64 @llvm.ctlz.i64(i64 %99, i1 true), !range !1432 + %101 = lshr i64 -1, %100 + %102 = add nuw nsw i64 %101, 1 + %103 = call noundef i64 @llvm.cttz.i64(i64 %102, i1 true), !range !1433 + %104 = load ptr, ptr %10, align 8, !nonnull !5, !noundef !5 + %105 = getelementptr inbounds i8, ptr %104, i64 396 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(256) %4, i8 0, i64 256, i1 false) - %105 = getelementptr inbounds i8, ptr %4, i64 10 - store i8 3, ptr %105, align 2 - %106 = getelementptr inbounds i8, ptr %4, i64 13 - store i8 4, ptr %106, align 1 - %107 = getelementptr inbounds i8, ptr %4, i64 95 - store i8 1, ptr %107, align 1 + %106 = getelementptr inbounds i8, ptr %4, i64 10 + store i8 3, ptr %106, align 2 + %107 = getelementptr inbounds i8, ptr %4, i64 13 + store i8 4, ptr %107, align 1 + %108 = getelementptr inbounds i8, ptr %4, i64 95 + store i8 1, ptr %108, align 1 %scevgep.i = getelementptr inbounds i8, ptr %4, i64 48 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(10) %scevgep.i, i8 1, i64 10, i1 false) %scevgep14.i = getelementptr inbounds i8, ptr %4, i64 65 call void @llvm.memset.p0.i64(ptr noundef nonnull align 1 dereferenceable(26) %scevgep14.i, i8 1, i64 26, i1 false) %scevgep16.i = getelementptr inbounds i8, ptr %4, i64 97 call void @llvm.memset.p0.i64(ptr noundef nonnull align 1 dereferenceable(26) %scevgep16.i, i8 1, i64 26, i1 false) - %108 = load i8, ptr %104, align 1, !alias.scope !1554, !noalias !1559, !noundef !5 - switch i8 %108, label %109 [ - i8 13, label %112 - i8 10, label %112 + %109 = load i8, ptr %105, align 1, !alias.scope !1554, !noalias !1559, !noundef !5 + switch i8 %109, label %110 [ + i8 13, label %113 + i8 10, label %113 ] -109: ; preds = %96 - %110 = zext i8 %108 to i64 - %111 = getelementptr inbounds [256 x i8], ptr %4, i64 0, i64 %110 - store i8 5, ptr %111, align 1 - br label %112 +110: ; preds = %97 + %111 = zext i8 %109 to i64 + %112 = getelementptr inbounds [256 x i8], ptr %4, i64 0, i64 %111 + store i8 5, ptr %112, align 1 + br label %113 -112: ; preds = %109, %96, %96 +113: ; preds = %110, %97, %97 call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %.sroa.8) call void @llvm.experimental.noalias.scope.decl(metadata !1561) - %113 = getelementptr inbounds i8, ptr %1, i64 112 - %114 = load i8, ptr %113, align 8, !range !97, !alias.scope !1561, !noalias !1564, !noundef !5 - %115 = getelementptr inbounds i8, ptr %1, i64 104 - %116 = load i8, ptr %115, align 8, !range !50, !alias.scope !1561, !noalias !1564, !noundef !5 - %117 = icmp eq i8 %116, 3 - br i1 %117, label %"_ZN68_$LT$core..option..Option$LT$T$GT$$u20$as$u20$core..clone..Clone$GT$5clone17hae764bfdd7fa0210E.exit.i", label %118 - -118: ; preds = %112 + %114 = getelementptr inbounds i8, ptr %1, i64 112 + %115 = load i8, ptr %114, align 8, !range !97, !alias.scope !1561, !noalias !1564, !noundef !5 + %116 = getelementptr inbounds i8, ptr %1, i64 104 + %117 = load i8, ptr %116, align 8, !range !50, !alias.scope !1561, !noalias !1564, !noundef !5 + %118 = icmp eq i8 %117, 3 + br i1 %118, label %"_ZN68_$LT$core..option..Option$LT$T$GT$$u20$as$u20$core..clone..Clone$GT$5clone17hae764bfdd7fa0210E.exit.i", label %119 + +119: ; preds = %113 call void @llvm.experimental.noalias.scope.decl(metadata !1566) - %119 = icmp eq i8 %116, 2 - br i1 %119, label %"_ZN68_$LT$core..option..Option$LT$T$GT$$u20$as$u20$core..clone..Clone$GT$5clone17hae764bfdd7fa0210E.exit.i", label %120 + %120 = icmp eq i8 %117, 2 + br i1 %120, label %"_ZN68_$LT$core..option..Option$LT$T$GT$$u20$as$u20$core..clone..Clone$GT$5clone17hae764bfdd7fa0210E.exit.i", label %121 -120: ; preds = %118 - %121 = getelementptr inbounds i8, ptr %1, i64 88 +121: ; preds = %119 + %122 = getelementptr inbounds i8, ptr %1, i64 88 call void @llvm.experimental.noalias.scope.decl(metadata !1569) - %.val.i.i.i = load ptr, ptr %121, align 8, !alias.scope !1572, !noalias !1573, !nonnull !5, !noundef !5 - %122 = getelementptr inbounds i8, ptr %1, i64 96 - %.val1.i.i.i = load ptr, ptr %122, align 8, !alias.scope !1572, !noalias !1573 - %123 = atomicrmw add ptr %.val.i.i.i, i64 1 monotonic, align 8, !noalias !1576 - %124 = icmp slt i64 %123, 0 - br i1 %124, label %125, label %"_ZN81_$LT$regex_automata..util..prefilter..Prefilter$u20$as$u20$core..clone..Clone$GT$5clone17hb70203dde2c9580eE.exit.i.i" - -125: ; preds = %120 + %.val.i.i.i = load ptr, ptr %122, align 8, !alias.scope !1572, !noalias !1573, !nonnull !5, !noundef !5 + %123 = getelementptr inbounds i8, ptr %1, i64 96 + %.val1.i.i.i = load ptr, ptr %123, align 8, !alias.scope !1572, !noalias !1573 + %124 = atomicrmw add ptr %.val.i.i.i, i64 1 monotonic, align 8, !noalias !1576 + %125 = icmp slt i64 %124, 0 + br i1 %125, label %126, label %"_ZN81_$LT$regex_automata..util..prefilter..Prefilter$u20$as$u20$core..clone..Clone$GT$5clone17hb70203dde2c9580eE.exit.i.i" + +126: ; preds = %121 call void @llvm.trap() unreachable -"_ZN81_$LT$regex_automata..util..prefilter..Prefilter$u20$as$u20$core..clone..Clone$GT$5clone17hb70203dde2c9580eE.exit.i.i": ; preds = %120 - %126 = icmp ne ptr %.val1.i.i.i, null - call void @llvm.assume(i1 %126) +"_ZN81_$LT$regex_automata..util..prefilter..Prefilter$u20$as$u20$core..clone..Clone$GT$5clone17hb70203dde2c9580eE.exit.i.i": ; preds = %121 + %127 = icmp ne ptr %.val1.i.i.i, null + call void @llvm.assume(i1 %127) br label %"_ZN68_$LT$core..option..Option$LT$T$GT$$u20$as$u20$core..clone..Clone$GT$5clone17hae764bfdd7fa0210E.exit.i" -"_ZN68_$LT$core..option..Option$LT$T$GT$$u20$as$u20$core..clone..Clone$GT$5clone17hae764bfdd7fa0210E.exit.i": ; preds = %118, %"_ZN81_$LT$regex_automata..util..prefilter..Prefilter$u20$as$u20$core..clone..Clone$GT$5clone17hb70203dde2c9580eE.exit.i.i", %112 - %.sroa.4.038.i = phi ptr [ undef, %112 ], [ %.val1.i.i.i, %"_ZN81_$LT$regex_automata..util..prefilter..Prefilter$u20$as$u20$core..clone..Clone$GT$5clone17hb70203dde2c9580eE.exit.i.i" ], [ undef, %118 ] - %.sroa.0.037.i = phi ptr [ undef, %112 ], [ %.val.i.i.i, %"_ZN81_$LT$regex_automata..util..prefilter..Prefilter$u20$as$u20$core..clone..Clone$GT$5clone17hb70203dde2c9580eE.exit.i.i" ], [ undef, %118 ] - %127 = load i8, ptr %42, align 1, !range !97, !alias.scope !1561, !noalias !1564, !noundef !5 - %128 = load i8, ptr %39, align 2, !range !97, !alias.scope !1561, !noalias !1564, !noundef !5 - %129 = getelementptr inbounds i8, ptr %1, i64 115 - %130 = load i8, ptr %129, align 1, !range !97, !alias.scope !1561, !noalias !1564, !noundef !5 - %131 = load i64, ptr %1, align 8, !range !193, !alias.scope !1561, !noalias !1564, !noundef !5 - %trunc.i37 = trunc i64 %131 to i1 - br i1 %trunc.i37, label %132, label %134 - -132: ; preds = %"_ZN68_$LT$core..option..Option$LT$T$GT$$u20$as$u20$core..clone..Clone$GT$5clone17hae764bfdd7fa0210E.exit.i" - %133 = getelementptr inbounds i8, ptr %1, i64 16 +"_ZN68_$LT$core..option..Option$LT$T$GT$$u20$as$u20$core..clone..Clone$GT$5clone17hae764bfdd7fa0210E.exit.i": ; preds = %119, %"_ZN81_$LT$regex_automata..util..prefilter..Prefilter$u20$as$u20$core..clone..Clone$GT$5clone17hb70203dde2c9580eE.exit.i.i", %113 + %.sroa.4.038.i = phi ptr [ undef, %113 ], [ %.val1.i.i.i, %"_ZN81_$LT$regex_automata..util..prefilter..Prefilter$u20$as$u20$core..clone..Clone$GT$5clone17hb70203dde2c9580eE.exit.i.i" ], [ undef, %119 ] + %.sroa.0.037.i = phi ptr [ undef, %113 ], [ %.val.i.i.i, %"_ZN81_$LT$regex_automata..util..prefilter..Prefilter$u20$as$u20$core..clone..Clone$GT$5clone17hb70203dde2c9580eE.exit.i.i" ], [ undef, %119 ] + %128 = load i8, ptr %43, align 1, !range !97, !alias.scope !1561, !noalias !1564, !noundef !5 + %129 = load i8, ptr %40, align 2, !range !97, !alias.scope !1561, !noalias !1564, !noundef !5 + %130 = getelementptr inbounds i8, ptr %1, i64 115 + %131 = load i8, ptr %130, align 1, !range !97, !alias.scope !1561, !noalias !1564, !noundef !5 + %132 = load i64, ptr %1, align 8, !range !193, !alias.scope !1561, !noalias !1564, !noundef !5 + %trunc.i36 = trunc i64 %132 to i1 + br i1 %trunc.i36, label %133, label %135 + +133: ; preds = %"_ZN68_$LT$core..option..Option$LT$T$GT$$u20$as$u20$core..clone..Clone$GT$5clone17hae764bfdd7fa0210E.exit.i" + %134 = getelementptr inbounds i8, ptr %1, i64 16 %.sroa.5.16..sroa_idx.i = getelementptr inbounds i8, ptr %.sroa.5.i, i64 8 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %.sroa.5.16..sroa_idx.i, ptr noundef nonnull align 8 dereferenceable(24) %133, i64 24, i1 false) - br label %134 - -134: ; preds = %132, %"_ZN68_$LT$core..option..Option$LT$T$GT$$u20$as$u20$core..clone..Clone$GT$5clone17hae764bfdd7fa0210E.exit.i" - %.sroa.0.0.i = phi i64 [ 1, %132 ], [ 0, %"_ZN68_$LT$core..option..Option$LT$T$GT$$u20$as$u20$core..clone..Clone$GT$5clone17hae764bfdd7fa0210E.exit.i" ] - %135 = getelementptr inbounds i8, ptr %1, i64 116 - %136 = load i8, ptr %135, align 4, !range !97, !alias.scope !1561, !noalias !1564, !noundef !5 - %137 = getelementptr inbounds i8, ptr %1, i64 117 - %138 = load i8, ptr %137, align 1, !range !97, !alias.scope !1561, !noalias !1564, !noundef !5 - %139 = getelementptr inbounds i8, ptr %1, i64 56 - %140 = load i64, ptr %139, align 8, !range !194, !alias.scope !1561, !noalias !1564, !noundef !5 - %141 = icmp eq i64 %140, 2 - %142 = getelementptr inbounds i8, ptr %1, i64 64 - %.val30.i = load i64, ptr %142, align 8, !alias.scope !1561, !noalias !1564 - %.sroa.59.0.i = select i1 %141, i64 undef, i64 %.val30.i - %143 = getelementptr inbounds i8, ptr %1, i64 72 - %144 = load i64, ptr %143, align 8, !range !194, !alias.scope !1561, !noalias !1564, !noundef !5 - %145 = icmp eq i64 %144, 2 - %146 = getelementptr inbounds i8, ptr %1, i64 80 - %.val28.i = load i64, ptr %146, align 8, !alias.scope !1561, !noalias !1564 - %.sroa.511.0.i = select i1 %145, i64 undef, i64 %.val28.i - %.sroa.56.0.i = select i1 %trunc.i, i64 %84, i64 undef - %147 = load ptr, ptr %10, align 8, !nonnull !5, !noundef !5 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %.sroa.5.16..sroa_idx.i, ptr noundef nonnull align 8 dereferenceable(24) %134, i64 24, i1 false) + br label %135 + +135: ; preds = %133, %"_ZN68_$LT$core..option..Option$LT$T$GT$$u20$as$u20$core..clone..Clone$GT$5clone17hae764bfdd7fa0210E.exit.i" + %.sroa.0.0.i = phi i64 [ 1, %133 ], [ 0, %"_ZN68_$LT$core..option..Option$LT$T$GT$$u20$as$u20$core..clone..Clone$GT$5clone17hae764bfdd7fa0210E.exit.i" ] + %136 = getelementptr inbounds i8, ptr %1, i64 116 + %137 = load i8, ptr %136, align 4, !range !97, !alias.scope !1561, !noalias !1564, !noundef !5 + %138 = getelementptr inbounds i8, ptr %1, i64 117 + %139 = load i8, ptr %138, align 1, !range !97, !alias.scope !1561, !noalias !1564, !noundef !5 + %140 = getelementptr inbounds i8, ptr %1, i64 56 + %141 = load i64, ptr %140, align 8, !range !194, !alias.scope !1561, !noalias !1564, !noundef !5 + %142 = icmp eq i64 %141, 2 + %143 = getelementptr inbounds i8, ptr %1, i64 64 + %.val30.i = load i64, ptr %143, align 8, !alias.scope !1561, !noalias !1564 + %.sroa.59.0.i = select i1 %142, i64 undef, i64 %.val30.i + %144 = getelementptr inbounds i8, ptr %1, i64 72 + %145 = load i64, ptr %144, align 8, !range !194, !alias.scope !1561, !noalias !1564, !noundef !5 + %146 = icmp eq i64 %145, 2 + %147 = getelementptr inbounds i8, ptr %1, i64 80 + %.val28.i = load i64, ptr %147, align 8, !alias.scope !1561, !noalias !1564 + %.sroa.511.0.i = select i1 %146, i64 undef, i64 %.val28.i + %.sroa.56.0.i = select i1 %trunc.i, i64 %85, i64 undef + %148 = load ptr, ptr %10, align 8, !nonnull !5, !noundef !5 %.sroa.8.656..sroa_idx = getelementptr inbounds i8, ptr %.sroa.8, i64 8 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %.sroa.8.656..sroa_idx, ptr noundef nonnull align 8 dereferenceable(32) %9, i64 32, i1 false) store i64 %.sroa.0.0.i, ptr %0, align 8 %.sroa.07.sroa.4.0..sroa_idx = getelementptr inbounds i8, ptr %0, i64 8 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %.sroa.07.sroa.4.0..sroa_idx, ptr noundef nonnull align 8 dereferenceable(32) %.sroa.5.i, i64 32, i1 false) %.sroa.07.sroa.5.0..sroa_idx = getelementptr inbounds i8, ptr %0, i64 40 - store i64 %82, ptr %.sroa.07.sroa.5.0..sroa_idx, align 8 + store i64 %83, ptr %.sroa.07.sroa.5.0..sroa_idx, align 8 %.sroa.07.sroa.6.0..sroa_idx = getelementptr inbounds i8, ptr %0, i64 48 store i64 %.sroa.56.0.i, ptr %.sroa.07.sroa.6.0..sroa_idx, align 8 %.sroa.07.sroa.7.0..sroa_idx = getelementptr inbounds i8, ptr %0, i64 56 - store i64 %140, ptr %.sroa.07.sroa.7.0..sroa_idx, align 8 + store i64 %141, ptr %.sroa.07.sroa.7.0..sroa_idx, align 8 %.sroa.07.sroa.8.0..sroa_idx = getelementptr inbounds i8, ptr %0, i64 64 store i64 %.sroa.59.0.i, ptr %.sroa.07.sroa.8.0..sroa_idx, align 8 %.sroa.07.sroa.9.0..sroa_idx = getelementptr inbounds i8, ptr %0, i64 72 - store i64 %144, ptr %.sroa.07.sroa.9.0..sroa_idx, align 8 + store i64 %145, ptr %.sroa.07.sroa.9.0..sroa_idx, align 8 %.sroa.07.sroa.10.0..sroa_idx = getelementptr inbounds i8, ptr %0, i64 80 store i64 %.sroa.511.0.i, ptr %.sroa.07.sroa.10.0..sroa_idx, align 8 %.sroa.07.sroa.11.0..sroa_idx = getelementptr inbounds i8, ptr %0, i64 88 @@ -8008,44 +7993,44 @@ define void @_ZN14regex_automata6hybrid3dfa7Builder14build_from_nfa17hc1e1fabb94 %.sroa.07.sroa.12.0..sroa_idx = getelementptr inbounds i8, ptr %0, i64 96 store ptr %.sroa.4.038.i, ptr %.sroa.07.sroa.12.0..sroa_idx, align 8 %.sroa.07.sroa.13.0..sroa_idx = getelementptr inbounds i8, ptr %0, i64 104 - store i8 %116, ptr %.sroa.07.sroa.13.0..sroa_idx, align 8 + store i8 %117, ptr %.sroa.07.sroa.13.0..sroa_idx, align 8 %.sroa.07.sroa.15.0..sroa_idx = getelementptr inbounds i8, ptr %0, i64 112 - store i8 %114, ptr %.sroa.07.sroa.15.0..sroa_idx, align 8 + store i8 %115, ptr %.sroa.07.sroa.15.0..sroa_idx, align 8 %.sroa.07.sroa.16.0..sroa_idx = getelementptr inbounds i8, ptr %0, i64 113 - store i8 %127, ptr %.sroa.07.sroa.16.0..sroa_idx, align 1 + store i8 %128, ptr %.sroa.07.sroa.16.0..sroa_idx, align 1 %.sroa.07.sroa.17.0..sroa_idx = getelementptr inbounds i8, ptr %0, i64 114 - store i8 %128, ptr %.sroa.07.sroa.17.0..sroa_idx, align 2 + store i8 %129, ptr %.sroa.07.sroa.17.0..sroa_idx, align 2 %.sroa.07.sroa.18.0..sroa_idx = getelementptr inbounds i8, ptr %0, i64 115 - store i8 %130, ptr %.sroa.07.sroa.18.0..sroa_idx, align 1 + store i8 %131, ptr %.sroa.07.sroa.18.0..sroa_idx, align 1 %.sroa.07.sroa.19.0..sroa_idx = getelementptr inbounds i8, ptr %0, i64 116 - store i8 %136, ptr %.sroa.07.sroa.19.0..sroa_idx, align 4 + store i8 %137, ptr %.sroa.07.sroa.19.0..sroa_idx, align 4 %.sroa.07.sroa.20.0..sroa_idx = getelementptr inbounds i8, ptr %0, i64 117 - store i8 %138, ptr %.sroa.07.sroa.20.0..sroa_idx, align 1 + store i8 %139, ptr %.sroa.07.sroa.20.0..sroa_idx, align 1 %.sroa.07.sroa.22.0..sroa_idx = getelementptr inbounds i8, ptr %0, i64 120 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(256) %.sroa.07.sroa.22.0..sroa_idx, ptr noundef nonnull align 8 dereferenceable(256) %4, i64 256, i1 false) %.sroa.5.0..sroa_idx = getelementptr inbounds i8, ptr %0, i64 376 - store ptr %147, ptr %.sroa.5.0..sroa_idx, align 8 + store ptr %148, ptr %.sroa.5.0..sroa_idx, align 8 %.sroa.6.0..sroa_idx = getelementptr inbounds i8, ptr %0, i64 384 - store i64 %102, ptr %.sroa.6.0..sroa_idx, align 8 + store i64 %103, ptr %.sroa.6.0..sroa_idx, align 8 %.sroa.78.0..sroa_idx = getelementptr inbounds i8, ptr %0, i64 392 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(256) %.sroa.78.0..sroa_idx, ptr noundef nonnull align 8 dereferenceable(256) %8, i64 256, i1 false) %.sroa.8.0..sroa_idx = getelementptr inbounds i8, ptr %0, i64 648 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %.sroa.8.0..sroa_idx, ptr noundef nonnull align 8 dereferenceable(40) %.sroa.8, i64 40, i1 false) call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %.sroa.8) call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %9) - br label %"_ZN4core3ptr60drop_in_place$LT$regex_automata..nfa..thompson..nfa..NFA$GT$17h0f2aa052becc43c4E.exit36" + br label %"_ZN4core3ptr60drop_in_place$LT$regex_automata..nfa..thompson..nfa..NFA$GT$17h0f2aa052becc43c4E.exit35" -"_ZN4core3ptr60drop_in_place$LT$regex_automata..nfa..thompson..nfa..NFA$GT$17h0f2aa052becc43c4E.exit36": ; preds = %95, %90, %134 +"_ZN4core3ptr60drop_in_place$LT$regex_automata..nfa..thompson..nfa..NFA$GT$17h0f2aa052becc43c4E.exit35": ; preds = %96, %91, %135 ret void -148: ; preds = %38 - %149 = landingpad { ptr, i32 } +149: ; preds = %39 + %150 = landingpad { ptr, i32 } filter [0 x ptr] zeroinitializer call void @_ZN4core9panicking16panic_in_cleanup17h55eb1d85cadde1a1E() #27 unreachable -"_ZN4core3ptr60drop_in_place$LT$regex_automata..nfa..thompson..nfa..NFA$GT$17h0f2aa052becc43c4E.exit": ; preds = %33, %38 - resume { ptr, i32 } %34 +"_ZN4core3ptr60drop_in_place$LT$regex_automata..nfa..thompson..nfa..NFA$GT$17h0f2aa052becc43c4E.exit": ; preds = %34, %39 + resume { ptr, i32 } %35 } ; Function Attrs: nonlazybind uwtable diff --git a/bench/ring-rs/optimized/1vabw27ldssjsz66.ll b/bench/ring-rs/optimized/1vabw27ldssjsz66.ll index 593661469f3..8834ef5b7af 100644 --- a/bench/ring-rs/optimized/1vabw27ldssjsz66.ll +++ b/bench/ring-rs/optimized/1vabw27ldssjsz66.ll @@ -1482,7 +1482,6 @@ define hidden void @_ZN4ring4aead5shift13shift_partial17h3d5439878fc854a3E(ptr n %.sroa.05.i = alloca [16 x i8], align 1 %9 = alloca { [16 x i8] }, align 16 %10 = alloca { [16 x i8] }, align 16 - %.sroa.5 = alloca { ptr, { [4 x i32] } }, align 8 %11 = load i64, ptr %0, align 8, !noundef !4 %12 = getelementptr inbounds i8, ptr %0, i64 8 %13 = load ptr, ptr %12, align 8, !nonnull !4, !align !159, !noundef !4 @@ -1494,19 +1493,16 @@ define hidden void @_ZN4ring4aead5shift13shift_partial17h3d5439878fc854a3E(ptr n 17: ; preds = %2 %18 = sub nuw i64 %15, %11 %19 = icmp eq i64 %15, %11 - br i1 %19, label %42, label %21 + br i1 %19, label %43, label %21 20: ; preds = %2 tail call void @_ZN4core5slice5index26slice_start_index_len_fail17h0187bf4d120fc375E(i64 noundef %11, i64 noundef %15, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.46ac70c01d12096318b30cbe23e8e5d5.25) #22 unreachable 21: ; preds = %17 - call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %.sroa.5) %.sroa.015.0.copyload = load ptr, ptr %1, align 8 %.sroa.4.0..sroa_idx = getelementptr inbounds i8, ptr %1, i64 8 %.sroa.4.0.copyload = load ptr, ptr %.sroa.4.0..sroa_idx, align 8 - %.sroa.5.0..sroa_idx = getelementptr inbounds i8, ptr %1, i64 16 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %.sroa.5, ptr noundef nonnull align 8 dereferenceable(24) %.sroa.5.0..sroa_idx, i64 24, i1 false) call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %.sroa.0.i.i) store <16 x i8> zeroinitializer, ptr %.sroa.0.i.i, align 16, !noalias !160 %22 = icmp ugt i64 %18, 16 @@ -1530,79 +1526,78 @@ _ZN4ring4aead5block5Block17overwrite_part_at17he2f95ace39200dceE.exit.i: ; preds %26 = icmp ne ptr %.sroa.4.0.copyload, null tail call void @llvm.assume(i1 %26) call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %6), !noalias !178 - %.sroa.5.24..sroa_idx = getelementptr inbounds i8, ptr %.sroa.5, i64 8 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(16) %6, ptr noundef nonnull align 8 dereferenceable(16) %.sroa.5.24..sroa_idx, i64 16, i1 false), !noalias !188 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %7), !noalias !189 - %27 = getelementptr inbounds i8, ptr %6, i64 16 - call void @_ZN4core5array25try_from_trusted_iterator17h55af298352255ed7E.llvm.5814777820638942741(ptr noalias nocapture noundef nonnull sret({ [4 x [4 x i8]] }) align 1 dereferenceable(16) %7, ptr noundef nonnull %6, ptr noundef nonnull %27), !noalias !190 + %27 = getelementptr inbounds i8, ptr %1, i64 24 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(16) %6, ptr noundef nonnull align 8 dereferenceable(16) %27, i64 16, i1 false) + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %7), !noalias !188 + %28 = getelementptr inbounds i8, ptr %6, i64 16 + call void @_ZN4core5array25try_from_trusted_iterator17h55af298352255ed7E.llvm.5814777820638942741(ptr noalias nocapture noundef nonnull sret({ [4 x [4 x i8]] }) align 1 dereferenceable(16) %7, ptr noundef nonnull %6, ptr noundef nonnull %28), !noalias !189 call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %6), !noalias !178 - %28 = load <16 x i8>, ptr %7, align 16, !noalias !191 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %7), !noalias !189 + %29 = load <16 x i8>, ptr %7, align 16, !noalias !190 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %7), !noalias !188 call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %9), !noalias !177 store <16 x i8> %.sroa.0.i.i.0..sroa.0.i.i.0..sroa.0.i.i.0..sroa.0.i.0..sroa.0.i.0..sroa.0.0..sroa.0.0..i.i, ptr %9, align 16, !noalias !177 call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %.sroa.05.i), !noalias !177 - %29 = load i32, ptr getelementptr inbounds ([4 x i32], ptr @ring_core_0_17_8__OPENSSL_ia32cap_P, i64 0, i64 1), align 4, !noalias !192, !noundef !4 - %30 = and i32 %29, 33554432 - %.not.i.i.i = icmp eq i32 %30, 0 - %31 = and i32 %29, 512 - %.not1.i.i.i = icmp eq i32 %31, 0 + %30 = load i32, ptr getelementptr inbounds ([4 x i32], ptr @ring_core_0_17_8__OPENSSL_ia32cap_P, i64 0, i64 1), align 4, !noalias !191, !noundef !4 + %31 = and i32 %30, 33554432 + %.not.i.i.i = icmp eq i32 %31, 0 + %32 = and i32 %30, 512 + %.not1.i.i.i = icmp eq i32 %32, 0 %..i.i.i = select i1 %.not1.i.i.i, i32 3, i32 2 %.0.i.i.i = select i1 %.not.i.i.i, i32 %..i.i.i, i32 1 switch i32 %.0.i.i.i, label %default.unreachable [ - i32 1, label %32 - i32 2, label %33 - i32 3, label %34 + i32 1, label %33 + i32 2, label %34 + i32 3, label %35 ] default.unreachable: ; preds = %_ZN4ring4aead5block5Block17overwrite_part_at17he2f95ace39200dceE.exit.i unreachable -32: ; preds = %_ZN4ring4aead5block5Block17overwrite_part_at17he2f95ace39200dceE.exit.i - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %5), !noalias !192 - store <16 x i8> %28, ptr %5, align 16, !noalias !197 - call void @ring_core_0_17_8__aes_hw_encrypt(ptr noalias noundef nonnull readonly align 1 dereferenceable(16) %5, ptr noundef nonnull %.sroa.05.i, ptr noalias noundef nonnull readonly align 4 dereferenceable(244) %.sroa.4.0.copyload), !noalias !198 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %5), !noalias !192 - br label %_ZN4ring4aead3aes3Key13encrypt_block17hb516baeef254fb70E.llvm.2657819220133375221.exit.i - 33: ; preds = %_ZN4ring4aead5block5Block17overwrite_part_at17he2f95ace39200dceE.exit.i - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %4), !noalias !192 - store <16 x i8> %28, ptr %4, align 16, !noalias !197 - call void @ring_core_0_17_8__vpaes_encrypt(ptr noalias noundef nonnull readonly align 1 dereferenceable(16) %4, ptr noundef nonnull %.sroa.05.i, ptr noalias noundef nonnull readonly align 4 dereferenceable(244) %.sroa.4.0.copyload), !noalias !198 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %4), !noalias !192 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %5), !noalias !191 + store <16 x i8> %29, ptr %5, align 16, !noalias !196 + call void @ring_core_0_17_8__aes_hw_encrypt(ptr noalias noundef nonnull readonly align 1 dereferenceable(16) %5, ptr noundef nonnull %.sroa.05.i, ptr noalias noundef nonnull readonly align 4 dereferenceable(244) %.sroa.4.0.copyload), !noalias !197 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %5), !noalias !191 br label %_ZN4ring4aead3aes3Key13encrypt_block17hb516baeef254fb70E.llvm.2657819220133375221.exit.i 34: ; preds = %_ZN4ring4aead5block5Block17overwrite_part_at17he2f95ace39200dceE.exit.i - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %3), !noalias !192 - store <16 x i8> %28, ptr %3, align 16, !noalias !197 - call void @ring_core_0_17_8__aes_nohw_encrypt(ptr noalias noundef nonnull readonly align 1 dereferenceable(16) %3, ptr noundef nonnull %.sroa.05.i, ptr noalias noundef nonnull readonly align 4 dereferenceable(244) %.sroa.4.0.copyload), !noalias !198 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %3), !noalias !192 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %4), !noalias !191 + store <16 x i8> %29, ptr %4, align 16, !noalias !196 + call void @ring_core_0_17_8__vpaes_encrypt(ptr noalias noundef nonnull readonly align 1 dereferenceable(16) %4, ptr noundef nonnull %.sroa.05.i, ptr noalias noundef nonnull readonly align 4 dereferenceable(244) %.sroa.4.0.copyload), !noalias !197 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %4), !noalias !191 br label %_ZN4ring4aead3aes3Key13encrypt_block17hb516baeef254fb70E.llvm.2657819220133375221.exit.i -_ZN4ring4aead3aes3Key13encrypt_block17hb516baeef254fb70E.llvm.2657819220133375221.exit.i: ; preds = %34, %33, %32 +35: ; preds = %_ZN4ring4aead5block5Block17overwrite_part_at17he2f95ace39200dceE.exit.i + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %3), !noalias !191 + store <16 x i8> %29, ptr %3, align 16, !noalias !196 + call void @ring_core_0_17_8__aes_nohw_encrypt(ptr noalias noundef nonnull readonly align 1 dereferenceable(16) %3, ptr noundef nonnull %.sroa.05.i, ptr noalias noundef nonnull readonly align 4 dereferenceable(244) %.sroa.4.0.copyload), !noalias !197 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %3), !noalias !191 + br label %_ZN4ring4aead3aes3Key13encrypt_block17hb516baeef254fb70E.llvm.2657819220133375221.exit.i + +_ZN4ring4aead3aes3Key13encrypt_block17hb516baeef254fb70E.llvm.2657819220133375221.exit.i: ; preds = %35, %34, %33 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(16) %8, ptr noundef nonnull align 1 dereferenceable(16) %.sroa.05.i, i64 16, i1 false) - call void @llvm.experimental.noalias.scope.decl(metadata !199) - br label %35 - -35: ; preds = %35, %_ZN4ring4aead3aes3Key13encrypt_block17hb516baeef254fb70E.llvm.2657819220133375221.exit.i - %.sroa.8.013.i.i = phi i64 [ 0, %_ZN4ring4aead3aes3Key13encrypt_block17hb516baeef254fb70E.llvm.2657819220133375221.exit.i ], [ %36, %35 ] - %36 = add nuw nsw i64 %.sroa.8.013.i.i, 1 - %37 = getelementptr inbounds i8, ptr %8, i64 %.sroa.8.013.i.i - %38 = getelementptr inbounds i8, ptr %9, i64 %.sroa.8.013.i.i - %39 = load i8, ptr %38, align 1, !alias.scope !202, !noalias !204, !noundef !4 - %40 = load i8, ptr %37, align 1, !alias.scope !199, !noundef !4 - %41 = xor i8 %40, %39 - store i8 %41, ptr %37, align 1, !alias.scope !199 - %exitcond.not.i.i = icmp eq i64 %36, 16 - br i1 %exitcond.not.i.i, label %"_ZN4ring4aead7aes_gcm12aes_gcm_open28_$u7b$$u7b$closure$u7d$$u7d$17h200b890220290eacE.exit", label %35 - -"_ZN4ring4aead7aes_gcm12aes_gcm_open28_$u7b$$u7b$closure$u7d$$u7d$17h200b890220290eacE.exit": ; preds = %35 + call void @llvm.experimental.noalias.scope.decl(metadata !198) + br label %36 + +36: ; preds = %36, %_ZN4ring4aead3aes3Key13encrypt_block17hb516baeef254fb70E.llvm.2657819220133375221.exit.i + %.sroa.8.013.i.i = phi i64 [ 0, %_ZN4ring4aead3aes3Key13encrypt_block17hb516baeef254fb70E.llvm.2657819220133375221.exit.i ], [ %37, %36 ] + %37 = add nuw nsw i64 %.sroa.8.013.i.i, 1 + %38 = getelementptr inbounds i8, ptr %8, i64 %.sroa.8.013.i.i + %39 = getelementptr inbounds i8, ptr %9, i64 %.sroa.8.013.i.i + %40 = load i8, ptr %39, align 1, !alias.scope !201, !noalias !203, !noundef !4 + %41 = load i8, ptr %38, align 1, !alias.scope !198, !noundef !4 + %42 = xor i8 %41, %40 + store i8 %42, ptr %38, align 1, !alias.scope !198 + %exitcond.not.i.i = icmp eq i64 %37, 16 + br i1 %exitcond.not.i.i, label %"_ZN4ring4aead7aes_gcm12aes_gcm_open28_$u7b$$u7b$closure$u7d$$u7d$17h200b890220290eacE.exit", label %36 + +"_ZN4ring4aead7aes_gcm12aes_gcm_open28_$u7b$$u7b$closure$u7d$$u7d$17h200b890220290eacE.exit": ; preds = %36 call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %.sroa.05.i), !noalias !177 call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %9), !noalias !177 - call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %.sroa.5) - call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 1 %13, ptr nonnull align 1 %8, i64 %18, i1 false), !alias.scope !205 - br label %42 + call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 1 %13, ptr nonnull align 1 %8, i64 %18, i1 false), !alias.scope !204 + br label %43 -42: ; preds = %17, %"_ZN4ring4aead7aes_gcm12aes_gcm_open28_$u7b$$u7b$closure$u7d$$u7d$17h200b890220290eacE.exit" +43: ; preds = %17, %"_ZN4ring4aead7aes_gcm12aes_gcm_open28_$u7b$$u7b$closure$u7d$$u7d$17h200b890220290eacE.exit" ret void } @@ -1614,15 +1609,15 @@ define hidden noundef zeroext i1 @_ZN4ring2io10der_writer22write_positive_intege %6 = getelementptr inbounds i8, ptr %2, i64 8 %7 = load i64, ptr %6, align 8, !noundef !4 %.not.i = icmp eq i64 %7, 0 - br i1 %.not.i, label %8, label %_ZN4ring2io8positive8Positive10first_byte17h808d94cebcef189fE.exit, !prof !209 + br i1 %.not.i, label %8, label %_ZN4ring2io8positive8Positive10first_byte17h808d94cebcef189fE.exit, !prof !208 8: ; preds = %3 - tail call void @_ZN4core9panicking18panic_bounds_check17h8331054858f0bf20E(i64 noundef 0, i64 noundef 0, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.931894935b2e277744aad6b42ceca7b7.31.llvm.12309478120345669377) #22, !noalias !210 + tail call void @_ZN4core9panicking18panic_bounds_check17h8331054858f0bf20E(i64 noundef 0, i64 noundef 0, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.931894935b2e277744aad6b42ceca7b7.31.llvm.12309478120345669377) #22, !noalias !209 unreachable _ZN4ring2io8positive8Positive10first_byte17h808d94cebcef189fE.exit: ; preds = %3 %9 = load ptr, ptr %2, align 8, !nonnull !4, !align !159, !noundef !4 - %10 = load i8, ptr %9, align 1, !noalias !210, !noundef !4 + %10 = load i8, ptr %9, align 1, !noalias !209, !noundef !4 store i8 %10, ptr %5, align 1 call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %4) store ptr %9, ptr %4, align 8 @@ -1652,17 +1647,17 @@ define hidden { ptr, i64 } @_ZN4ring2io10der_writer9write_all17h3a1f4346c53abf5f %13 = load i64, ptr %10, align 8, !noundef !4 call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %10) call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %9) - call void @llvm.experimental.noalias.scope.decl(metadata !213) - %14 = call { i64, ptr } @"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$11allocate_in17hac902e916d2c19c3E"(i64 noundef %13, i1 noundef zeroext false), !noalias !213 + call void @llvm.experimental.noalias.scope.decl(metadata !212) + %14 = call { i64, ptr } @"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$11allocate_in17hac902e916d2c19c3E"(i64 noundef %13, i1 noundef zeroext false), !noalias !212 %15 = extractvalue { i64, ptr } %14, 0 %16 = extractvalue { i64, ptr } %14, 1 - store i64 %15, ptr %9, align 8, !alias.scope !213 + store i64 %15, ptr %9, align 8, !alias.scope !212 %.sroa.4.0..sroa_idx.i = getelementptr inbounds i8, ptr %9, i64 8 - store ptr %16, ptr %.sroa.4.0..sroa_idx.i, align 8, !alias.scope !213 + store ptr %16, ptr %.sroa.4.0..sroa_idx.i, align 8, !alias.scope !212 %.sroa.5.0..sroa_idx.i = getelementptr inbounds i8, ptr %9, i64 16 - store i64 0, ptr %.sroa.5.0..sroa_idx.i, align 8, !alias.scope !213 + store i64 0, ptr %.sroa.5.0..sroa_idx.i, align 8, !alias.scope !212 %17 = getelementptr inbounds i8, ptr %9, i64 24 - store i64 %13, ptr %17, align 8, !alias.scope !213 + store i64 %13, ptr %17, align 8, !alias.scope !212 %18 = invoke noundef zeroext i1 @_ZN4ring2io10der_writer9write_tlv17h59241b8b3a5129aaE(ptr noundef nonnull align 1 %9, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.46ac70c01d12096318b30cbe23e8e5d5.27, i8 noundef %0, ptr noundef nonnull align 1 %1, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) %2) to label %20 unwind label %46 @@ -1676,28 +1671,28 @@ define hidden { ptr, i64 } @_ZN4ring2io10der_writer9write_all17h3a1f4346c53abf5f 21: ; preds = %20 call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %8) call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %8, ptr noundef nonnull align 8 dereferenceable(32) %9, i64 32, i1 false) - call void @llvm.experimental.noalias.scope.decl(metadata !216) + call void @llvm.experimental.noalias.scope.decl(metadata !215) %22 = getelementptr inbounds i8, ptr %8, i64 24 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %7), !noalias !216 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %7), !noalias !215 %23 = getelementptr inbounds i8, ptr %8, i64 16 - %24 = load i64, ptr %23, align 8, !alias.scope !216, !noundef !4 - store i64 %24, ptr %7, align 8, !noalias !216 - %25 = load i64, ptr %22, align 8, !alias.scope !216, !noundef !4 + %24 = load i64, ptr %23, align 8, !alias.scope !215, !noundef !4 + store i64 %24, ptr %7, align 8, !noalias !215 + %25 = load i64, ptr %22, align 8, !alias.scope !215, !noundef !4 %.not.i = icmp eq i64 %25, %24 br i1 %.not.i, label %27, label %26 26: ; preds = %21 - call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %6), !noalias !216 - store ptr null, ptr %6, align 8, !noalias !216 + call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %6), !noalias !215 + store ptr null, ptr %6, align 8, !noalias !215 invoke void @_ZN4core9panicking13assert_failed17hc35df8c8c6fe17beE(i8 noundef 0, ptr noalias noundef nonnull readonly align 8 dereferenceable(8) %22, ptr noalias noundef nonnull readonly align 8 dereferenceable(8) %7, ptr noalias nocapture noundef nonnull align 8 dereferenceable(48) %6, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.3beb75dc861d66d2d938a1ec4e9d58e9.21.llvm.5814777820638942741) #22 to label %31 unwind label %32 27: ; preds = %21 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %7), !noalias !216 - call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %5), !noalias !216 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %7), !noalias !215 + call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %5), !noalias !215 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %5, ptr noundef nonnull align 8 dereferenceable(24) %9, i64 24, i1 false) %28 = call { ptr, i64 } @"_ZN5alloc3vec16Vec$LT$T$C$A$GT$16into_boxed_slice17h2e0475c62cd5bcd8E"(ptr noalias nocapture noundef nonnull align 8 dereferenceable(24) %5) - call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %5), !noalias !216 + call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %5), !noalias !215 %29 = extractvalue { ptr, i64 } %28, 0 %30 = extractvalue { ptr, i64 } %28, 1 call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %8) @@ -1720,22 +1715,22 @@ define hidden { ptr, i64 } @_ZN4ring2io10der_writer9write_all17h3a1f4346c53abf5f unreachable 36: ; preds = %20 - call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %4), !noalias !219 + call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %4), !noalias !218 call void @"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$14current_memory17h0afa8bac86c6b554E.llvm.4129427866461079095"(ptr noalias nocapture noundef nonnull sret({ [1 x i64], i64, [1 x i64] }) align 8 dereferenceable(24) %4, ptr noalias noundef nonnull readonly align 8 dereferenceable(16) %9) %37 = getelementptr inbounds i8, ptr %4, i64 8 - %38 = load i64, ptr %37, align 8, !range !228, !noalias !219, !noundef !4 + %38 = load i64, ptr %37, align 8, !range !227, !noalias !218, !noundef !4 %.not.i.i.i.i = icmp eq i64 %38, 0 br i1 %.not.i.i.i.i, label %"_ZN4core3ptr45drop_in_place$LT$ring..io..writer..Writer$GT$17h0d564ddb3b770417E.exit", label %39 39: ; preds = %36 - %40 = load ptr, ptr %4, align 8, !noalias !219, !nonnull !4, !noundef !4 + %40 = load ptr, ptr %4, align 8, !noalias !218, !nonnull !4, !noundef !4 %41 = getelementptr inbounds i8, ptr %4, i64 16 - %42 = load i64, ptr %41, align 8, !noalias !219, !noundef !4 + %42 = load i64, ptr %41, align 8, !noalias !218, !noundef !4 call void @"_ZN63_$LT$alloc..alloc..Global$u20$as$u20$core..alloc..Allocator$GT$10deallocate17hae8e459b587c5295E.llvm.4129427866461079095"(ptr noalias noundef nonnull readonly align 1 %.sroa.5.0..sroa_idx.i, ptr noundef nonnull %40, i64 noundef %38, i64 noundef %42) br label %"_ZN4core3ptr45drop_in_place$LT$ring..io..writer..Writer$GT$17h0d564ddb3b770417E.exit" "_ZN4core3ptr45drop_in_place$LT$ring..io..writer..Writer$GT$17h0d564ddb3b770417E.exit": ; preds = %36, %39 - call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %4), !noalias !219 + call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %4), !noalias !218 call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %9) br label %43 @@ -1814,7 +1809,7 @@ define hidden void @_ZN4ring2ec10curve255193ops8ExtPoint26from_encoded_point_var "_ZN4core6result19Result$LT$T$C$E$GT$3map17hca1387044dc9f8b0E.llvm.2657819220133375221.exit": ; preds = %2, %8 %storemerge.i = phi i64 [ 0, %8 ], [ 1, %2 ] - store i64 %storemerge.i, ptr %0, align 8, !alias.scope !229, !noalias !232 + store i64 %storemerge.i, ptr %0, align 8, !alias.scope !228, !noalias !231 call void @llvm.lifetime.end.p0(i64 160, ptr nonnull %3) ret void } @@ -1842,31 +1837,31 @@ define hidden void @_ZN4ring2ec10curve255193ops8ExtPoint18into_encoded_point17h3 call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %7) %11 = getelementptr inbounds i8, ptr %1, i64 80 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %7, ptr noundef nonnull align 8 dereferenceable(40) %11, i64 40, i1 false) - tail call void @llvm.experimental.noalias.scope.decl(metadata !234) - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %6), !noalias !237 - call void @llvm.memset.p0.i64(ptr noundef nonnull align 1 dereferenceable(32) %6, i8 0, i64 32, i1 false), !noalias !237 - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %5), !noalias !237 - call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %5, i8 0, i64 40, i1 false), !noalias !237 - call void @ring_core_0_17_8__x25519_fe_invert(ptr noalias noundef nonnull align 8 dereferenceable(40) %5, ptr noalias noundef nonnull readonly align 8 dereferenceable(40) %7), !noalias !241 - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %4), !noalias !237 - call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %4, i8 0, i64 40, i1 false), !noalias !237 - call void @ring_core_0_17_8__x25519_fe_mul_ttt(ptr noalias noundef nonnull align 8 dereferenceable(40) %4, ptr noalias noundef nonnull readonly align 8 dereferenceable(40) %9, ptr noalias noundef nonnull readonly align 8 dereferenceable(40) %5), !noalias !242 - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %3), !noalias !237 - call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %3, i8 0, i64 40, i1 false), !noalias !237 - call void @ring_core_0_17_8__x25519_fe_mul_ttt(ptr noalias noundef nonnull align 8 dereferenceable(40) %3, ptr noalias noundef nonnull readonly align 8 dereferenceable(40) %8, ptr noalias noundef nonnull readonly align 8 dereferenceable(40) %5), !noalias !234 - call void @ring_core_0_17_8__x25519_fe_tobytes(ptr noalias noundef nonnull align 1 dereferenceable(32) %6, ptr noalias noundef nonnull readonly align 8 dereferenceable(40) %3), !noalias !234 - %12 = call noundef zeroext i8 @ring_core_0_17_8__x25519_fe_isnegative(ptr noalias noundef nonnull readonly align 8 dereferenceable(40) %4), !noalias !234 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %3), !noalias !237 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %4), !noalias !237 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %5), !noalias !237 + tail call void @llvm.experimental.noalias.scope.decl(metadata !233) + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %6), !noalias !236 + call void @llvm.memset.p0.i64(ptr noundef nonnull align 1 dereferenceable(32) %6, i8 0, i64 32, i1 false), !noalias !236 + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %5), !noalias !236 + call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %5, i8 0, i64 40, i1 false), !noalias !236 + call void @ring_core_0_17_8__x25519_fe_invert(ptr noalias noundef nonnull align 8 dereferenceable(40) %5, ptr noalias noundef nonnull readonly align 8 dereferenceable(40) %7), !noalias !240 + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %4), !noalias !236 + call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %4, i8 0, i64 40, i1 false), !noalias !236 + call void @ring_core_0_17_8__x25519_fe_mul_ttt(ptr noalias noundef nonnull align 8 dereferenceable(40) %4, ptr noalias noundef nonnull readonly align 8 dereferenceable(40) %9, ptr noalias noundef nonnull readonly align 8 dereferenceable(40) %5), !noalias !241 + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %3), !noalias !236 + call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %3, i8 0, i64 40, i1 false), !noalias !236 + call void @ring_core_0_17_8__x25519_fe_mul_ttt(ptr noalias noundef nonnull align 8 dereferenceable(40) %3, ptr noalias noundef nonnull readonly align 8 dereferenceable(40) %8, ptr noalias noundef nonnull readonly align 8 dereferenceable(40) %5), !noalias !233 + call void @ring_core_0_17_8__x25519_fe_tobytes(ptr noalias noundef nonnull align 1 dereferenceable(32) %6, ptr noalias noundef nonnull readonly align 8 dereferenceable(40) %3), !noalias !233 + %12 = call noundef zeroext i8 @ring_core_0_17_8__x25519_fe_isnegative(ptr noalias noundef nonnull readonly align 8 dereferenceable(40) %4), !noalias !233 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %3), !noalias !236 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %4), !noalias !236 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %5), !noalias !236 %13 = shl i8 %12, 7 %14 = getelementptr inbounds i8, ptr %6, i64 31 - %15 = load i8, ptr %14, align 1, !noalias !237, !noundef !4 + %15 = load i8, ptr %14, align 1, !noalias !236, !noundef !4 %16 = xor i8 %15, %13 - store i8 %16, ptr %14, align 1, !noalias !237 - %17 = load <32 x i8>, ptr %6, align 1, !noalias !237 - store <32 x i8> %17, ptr %0, align 1, !alias.scope !234, !noalias !243 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %6), !noalias !237 + store i8 %16, ptr %14, align 1, !noalias !236 + %17 = load <32 x i8>, ptr %6, align 1, !noalias !236 + store <32 x i8> %17, ptr %0, align 1, !alias.scope !233, !noalias !242 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %6), !noalias !236 call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %7) call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %8) call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %9) @@ -1904,31 +1899,31 @@ define hidden void @_ZN4ring2ec10curve255193ops5Point18into_encoded_point17h8861 call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %7) %11 = getelementptr inbounds i8, ptr %1, i64 80 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %7, ptr noundef nonnull align 8 dereferenceable(40) %11, i64 40, i1 false) - tail call void @llvm.experimental.noalias.scope.decl(metadata !244) - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %6), !noalias !247 - call void @llvm.memset.p0.i64(ptr noundef nonnull align 1 dereferenceable(32) %6, i8 0, i64 32, i1 false), !noalias !247 - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %5), !noalias !247 - call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %5, i8 0, i64 40, i1 false), !noalias !247 - call void @ring_core_0_17_8__x25519_fe_invert(ptr noalias noundef nonnull align 8 dereferenceable(40) %5, ptr noalias noundef nonnull readonly align 8 dereferenceable(40) %7), !noalias !251 - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %4), !noalias !247 - call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %4, i8 0, i64 40, i1 false), !noalias !247 - call void @ring_core_0_17_8__x25519_fe_mul_ttt(ptr noalias noundef nonnull align 8 dereferenceable(40) %4, ptr noalias noundef nonnull readonly align 8 dereferenceable(40) %9, ptr noalias noundef nonnull readonly align 8 dereferenceable(40) %5), !noalias !252 - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %3), !noalias !247 - call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %3, i8 0, i64 40, i1 false), !noalias !247 - call void @ring_core_0_17_8__x25519_fe_mul_ttt(ptr noalias noundef nonnull align 8 dereferenceable(40) %3, ptr noalias noundef nonnull readonly align 8 dereferenceable(40) %8, ptr noalias noundef nonnull readonly align 8 dereferenceable(40) %5), !noalias !244 - call void @ring_core_0_17_8__x25519_fe_tobytes(ptr noalias noundef nonnull align 1 dereferenceable(32) %6, ptr noalias noundef nonnull readonly align 8 dereferenceable(40) %3), !noalias !244 - %12 = call noundef zeroext i8 @ring_core_0_17_8__x25519_fe_isnegative(ptr noalias noundef nonnull readonly align 8 dereferenceable(40) %4), !noalias !244 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %3), !noalias !247 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %4), !noalias !247 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %5), !noalias !247 + tail call void @llvm.experimental.noalias.scope.decl(metadata !243) + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %6), !noalias !246 + call void @llvm.memset.p0.i64(ptr noundef nonnull align 1 dereferenceable(32) %6, i8 0, i64 32, i1 false), !noalias !246 + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %5), !noalias !246 + call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %5, i8 0, i64 40, i1 false), !noalias !246 + call void @ring_core_0_17_8__x25519_fe_invert(ptr noalias noundef nonnull align 8 dereferenceable(40) %5, ptr noalias noundef nonnull readonly align 8 dereferenceable(40) %7), !noalias !250 + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %4), !noalias !246 + call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %4, i8 0, i64 40, i1 false), !noalias !246 + call void @ring_core_0_17_8__x25519_fe_mul_ttt(ptr noalias noundef nonnull align 8 dereferenceable(40) %4, ptr noalias noundef nonnull readonly align 8 dereferenceable(40) %9, ptr noalias noundef nonnull readonly align 8 dereferenceable(40) %5), !noalias !251 + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %3), !noalias !246 + call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %3, i8 0, i64 40, i1 false), !noalias !246 + call void @ring_core_0_17_8__x25519_fe_mul_ttt(ptr noalias noundef nonnull align 8 dereferenceable(40) %3, ptr noalias noundef nonnull readonly align 8 dereferenceable(40) %8, ptr noalias noundef nonnull readonly align 8 dereferenceable(40) %5), !noalias !243 + call void @ring_core_0_17_8__x25519_fe_tobytes(ptr noalias noundef nonnull align 1 dereferenceable(32) %6, ptr noalias noundef nonnull readonly align 8 dereferenceable(40) %3), !noalias !243 + %12 = call noundef zeroext i8 @ring_core_0_17_8__x25519_fe_isnegative(ptr noalias noundef nonnull readonly align 8 dereferenceable(40) %4), !noalias !243 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %3), !noalias !246 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %4), !noalias !246 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %5), !noalias !246 %13 = shl i8 %12, 7 %14 = getelementptr inbounds i8, ptr %6, i64 31 - %15 = load i8, ptr %14, align 1, !noalias !247, !noundef !4 + %15 = load i8, ptr %14, align 1, !noalias !246, !noundef !4 %16 = xor i8 %15, %13 - store i8 %16, ptr %14, align 1, !noalias !247 - %17 = load <32 x i8>, ptr %6, align 1, !noalias !247 - store <32 x i8> %17, ptr %0, align 1, !alias.scope !244, !noalias !253 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %6), !noalias !247 + store i8 %16, ptr %14, align 1, !noalias !246 + %17 = load <32 x i8>, ptr %6, align 1, !noalias !246 + store <32 x i8> %17, ptr %0, align 1, !alias.scope !243, !noalias !252 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %6), !noalias !246 call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %7) call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %8) call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %9) @@ -1973,7 +1968,7 @@ define void @_ZN4ring6pbkdf26derive17h38f75382a469d03bE(ptr noalias noundef read %9 = alloca { { ptr, i64 }, { ptr, i64 }, { ptr, i64 } }, align 8 %10 = alloca { { ptr, { [8 x i64] }, i64 }, { ptr, { [8 x i64] }, i64 } }, align 8 %11 = getelementptr inbounds i8, ptr %0, i64 16 - %12 = load i64, ptr %11, align 8, !alias.scope !254, !noundef !4 + %12 = load i64, ptr %11, align 8, !alias.scope !253, !noundef !4 call void @llvm.lifetime.start.p0(i64 160, ptr nonnull %10) call void @_ZN4ring4hmac3Key3new17h22836516a93ccd16E(ptr noalias nocapture noundef nonnull sret({ { ptr, { [8 x i64] }, i64 }, { ptr, { [8 x i64] }, i64 } }) align 8 dereferenceable(160) %10, ptr noalias noundef nonnull readonly align 8 dereferenceable(120) %0, ptr noalias noundef nonnull readonly align 1 %4, i64 noundef %5) %13 = icmp eq i64 %7, 0 @@ -1984,22 +1979,22 @@ define void @_ZN4ring6pbkdf26derive17h38f75382a469d03bE(ptr noalias noundef read br i1 %14, label %16, label %"_ZN96_$LT$core..slice..iter..ChunksMut$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17heddf377f49250887E.exit.thread" "_ZN74_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..specialize..SpecFill$LT$T$GT$$GT$9spec_fill17h950101adb719d7c1E.exit.thread": ; preds = %8 - tail call void @llvm.memset.p0.i64(ptr nonnull align 1 %6, i8 0, i64 %7, i1 false), !alias.scope !257 + tail call void @llvm.memset.p0.i64(ptr nonnull align 1 %6, i8 0, i64 %7, i1 false), !alias.scope !256 %15 = icmp eq i64 %12, 0 br i1 %15, label %16, label %"_ZN96_$LT$core..slice..iter..ChunksMut$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17heddf377f49250887E.exit" 16: ; preds = %"_ZN74_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..specialize..SpecFill$LT$T$GT$$GT$9spec_fill17h950101adb719d7c1E.exit.thread", %"_ZN74_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..specialize..SpecFill$LT$T$GT$$GT$9spec_fill17h950101adb719d7c1E.exit" - call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %9), !noalias !260 - store ptr @anon.46ac70c01d12096318b30cbe23e8e5d5.7, ptr %9, align 8, !noalias !260 + call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %9), !noalias !259 + store ptr @anon.46ac70c01d12096318b30cbe23e8e5d5.7, ptr %9, align 8, !noalias !259 %17 = getelementptr inbounds i8, ptr %9, i64 8 - store i64 1, ptr %17, align 8, !noalias !260 + store i64 1, ptr %17, align 8, !noalias !259 %18 = getelementptr inbounds i8, ptr %9, i64 32 - store ptr null, ptr %18, align 8, !noalias !260 + store ptr null, ptr %18, align 8, !noalias !259 %19 = getelementptr inbounds i8, ptr %9, i64 16 - store ptr @anon.46ac70c01d12096318b30cbe23e8e5d5.0, ptr %19, align 8, !noalias !260 + store ptr @anon.46ac70c01d12096318b30cbe23e8e5d5.0, ptr %19, align 8, !noalias !259 %20 = getelementptr inbounds i8, ptr %9, i64 24 - store i64 0, ptr %20, align 8, !noalias !260 - call void @_ZN4core9panicking9panic_fmt17h784f20a50eaab275E(ptr noalias nocapture noundef nonnull align 8 dereferenceable(48) %9, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.46ac70c01d12096318b30cbe23e8e5d5.29) #22, !noalias !260 + store i64 0, ptr %20, align 8, !noalias !259 + call void @_ZN4core9panicking9panic_fmt17h784f20a50eaab275E(ptr noalias nocapture noundef nonnull align 8 dereferenceable(48) %9, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.46ac70c01d12096318b30cbe23e8e5d5.29) #22, !noalias !259 unreachable "_ZN96_$LT$core..slice..iter..ChunksMut$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17heddf377f49250887E.exit": ; preds = %"_ZN74_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..specialize..SpecFill$LT$T$GT$$GT$9spec_fill17h950101adb719d7c1E.exit.thread", %"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$10chunks_mut17hbb007d906e555d86E.exit" @@ -2038,7 +2033,7 @@ define internal fastcc void @_ZN4ring6pbkdf212derive_block17h23076b73e2eeec55E(p %13 = alloca [4 x i8], align 4 %14 = alloca { { { ptr, { [8 x i64] }, i64 }, [128 x i8], i64 }, { ptr, { [8 x i64] }, i64 } }, align 8 call void @llvm.lifetime.start.p0(i64 296, ptr nonnull %14) - tail call void @llvm.experimental.noalias.scope.decl(metadata !264) + tail call void @llvm.experimental.noalias.scope.decl(metadata !263) %15 = getelementptr inbounds i8, ptr %0, i64 8 %16 = getelementptr inbounds i8, ptr %0, i64 72 %17 = load i64, ptr %16, align 8, !noalias !4, !noundef !4 @@ -2048,19 +2043,19 @@ define internal fastcc void @_ZN4ring6pbkdf212derive_block17h23076b73e2eeec55E(p %21 = getelementptr inbounds i8, ptr %0, i64 152 %22 = load i64, ptr %21, align 8, !noalias !4, !noundef !4 %23 = load ptr, ptr %19, align 8, !noalias !4, !nonnull !4, !align !5, !noundef !4 - store ptr %18, ptr %14, align 8, !alias.scope !267, !noalias !264 + store ptr %18, ptr %14, align 8, !alias.scope !266, !noalias !263 %.sroa.42.0..sroa_idx.i = getelementptr inbounds i8, ptr %14, i64 8 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(64) %.sroa.42.0..sroa_idx.i, ptr noundef nonnull align 8 dereferenceable(64) %15, i64 64, i1 false), !alias.scope !269 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(64) %.sroa.42.0..sroa_idx.i, ptr noundef nonnull align 8 dereferenceable(64) %15, i64 64, i1 false), !alias.scope !268 %.sroa.5.0..sroa_idx3.i = getelementptr inbounds i8, ptr %14, i64 72 - store i64 %17, ptr %.sroa.5.0..sroa_idx3.i, align 8, !alias.scope !267, !noalias !264 + store i64 %17, ptr %.sroa.5.0..sroa_idx3.i, align 8, !alias.scope !266, !noalias !263 %.sroa.6.0..sroa_idx.i = getelementptr inbounds i8, ptr %14, i64 80 - call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(136) %.sroa.6.0..sroa_idx.i, i8 0, i64 136, i1 false), !alias.scope !267, !noalias !264 + call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(136) %.sroa.6.0..sroa_idx.i, i8 0, i64 136, i1 false), !alias.scope !266, !noalias !263 %24 = getelementptr inbounds i8, ptr %14, i64 216 - store ptr %23, ptr %24, align 8, !alias.scope !267, !noalias !264 + store ptr %23, ptr %24, align 8, !alias.scope !266, !noalias !263 %.sroa.4.0..sroa_idx.i = getelementptr inbounds i8, ptr %14, i64 224 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(64) %.sroa.4.0..sroa_idx.i, ptr noundef nonnull align 8 dereferenceable(64) %20, i64 64, i1 false), !alias.scope !269 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(64) %.sroa.4.0..sroa_idx.i, ptr noundef nonnull align 8 dereferenceable(64) %20, i64 64, i1 false), !alias.scope !268 %.sroa.5.0..sroa_idx.i = getelementptr inbounds i8, ptr %14, i64 288 - store i64 %22, ptr %.sroa.5.0..sroa_idx.i, align 8, !alias.scope !267, !noalias !264 + store i64 %22, ptr %.sroa.5.0..sroa_idx.i, align 8, !alias.scope !266, !noalias !263 call void @_ZN4ring6digest7Context6update17h48da5b5e3b1c40caE(ptr noalias noundef nonnull align 8 dereferenceable(216) %14, ptr noalias noundef nonnull readonly align 1 %2, i64 noundef %3) call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %13) %25 = call i32 @llvm.bswap.i32(i32 %4) @@ -2090,7 +2085,7 @@ define internal fastcc void @_ZN4ring6pbkdf212derive_block17h23076b73e2eeec55E(p ._crit_edge: ; preds = %"_ZN106_$LT$core..ops..range..Range$LT$usize$GT$$u20$as$u20$core..slice..index..SliceIndex$LT$$u5b$T$u5d$$GT$$GT$5index17heb3913cfe867f2eeE.llvm.2657819220133375221.exit8", %7 %.lcssa = phi i64 [ %29, %7 ], [ %46, %"_ZN106_$LT$core..ops..range..Range$LT$usize$GT$$u20$as$u20$core..slice..index..SliceIndex$LT$$u5b$T$u5d$$GT$$GT$5index17heb3913cfe867f2eeE.llvm.2657819220133375221.exit8" ] - call void @_ZN4core5slice5index24slice_end_index_len_fail17h9163fa4abd3ca1acE(i64 noundef %.lcssa, i64 noundef 64, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.46ac70c01d12096318b30cbe23e8e5d5.33) #22, !noalias !270 + call void @_ZN4core5slice5index24slice_end_index_len_fail17h9163fa4abd3ca1acE(i64 noundef %.lcssa, i64 noundef 64, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.46ac70c01d12096318b30cbe23e8e5d5.33) #22, !noalias !269 unreachable "_ZN106_$LT$core..ops..range..Range$LT$usize$GT$$u20$as$u20$core..slice..index..SliceIndex$LT$$u5b$T$u5d$$GT$$GT$5index17heb3913cfe867f2eeE.llvm.2657819220133375221.exit": ; preds = %"_ZN106_$LT$core..ops..range..Range$LT$usize$GT$$u20$as$u20$core..slice..index..SliceIndex$LT$$u5b$T$u5d$$GT$$GT$5index17heb3913cfe867f2eeE.llvm.2657819220133375221.exit.lr.ph", %"_ZN106_$LT$core..ops..range..Range$LT$usize$GT$$u20$as$u20$core..slice..index..SliceIndex$LT$$u5b$T$u5d$$GT$$GT$5index17heb3913cfe867f2eeE.llvm.2657819220133375221.exit8" @@ -2105,10 +2100,10 @@ define internal fastcc void @_ZN4ring6pbkdf212derive_block17h23076b73e2eeec55E(p %33 = add nuw i64 %.sroa.01.014.i.i.i, 1 %34 = getelementptr inbounds i8, ptr %5, i64 %.sroa.01.014.i.i.i %35 = getelementptr inbounds i8, ptr %26, i64 %.sroa.01.014.i.i.i - %.val10.i.i.i = load i8, ptr %35, align 1, !noalias !273, !noundef !4 - %36 = load i8, ptr %34, align 1, !alias.scope !280, !noalias !273, !noundef !4 + %.val10.i.i.i = load i8, ptr %35, align 1, !noalias !272, !noundef !4 + %36 = load i8, ptr %34, align 1, !alias.scope !279, !noalias !272, !noundef !4 %37 = xor i8 %36, %.val10.i.i.i - store i8 %37, ptr %34, align 1, !alias.scope !280, !noalias !273 + store i8 %37, ptr %34, align 1, !alias.scope !279, !noalias !272 %exitcond.not.i.i.i = icmp eq i64 %33, %.0.sroa.speculated.i.i.i br i1 %exitcond.not.i.i.i, label %_ZN4core4iter6traits8iterator8Iterator8for_each17h84ff889a3bee275bE.exit, label %.lr.ph.i.i.i @@ -2127,26 +2122,26 @@ _ZN4core4iter6traits8iterator8Iterator8for_each17h84ff889a3bee275bE.exit: ; pred br i1 %41, label %42, label %"_ZN106_$LT$core..ops..range..Range$LT$usize$GT$$u20$as$u20$core..slice..index..SliceIndex$LT$$u5b$T$u5d$$GT$$GT$5index17heb3913cfe867f2eeE.llvm.2657819220133375221.exit8" 42: ; preds = %40 - call void @_ZN4core5slice5index24slice_end_index_len_fail17h9163fa4abd3ca1acE(i64 noundef %32, i64 noundef 64, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.46ac70c01d12096318b30cbe23e8e5d5.33) #22, !noalias !285 + call void @_ZN4core5slice5index24slice_end_index_len_fail17h9163fa4abd3ca1acE(i64 noundef %32, i64 noundef 64, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.46ac70c01d12096318b30cbe23e8e5d5.33) #22, !noalias !284 unreachable "_ZN106_$LT$core..ops..range..Range$LT$usize$GT$$u20$as$u20$core..slice..index..SliceIndex$LT$$u5b$T$u5d$$GT$$GT$5index17heb3913cfe867f2eeE.llvm.2657819220133375221.exit8": ; preds = %40 %43 = add i32 %.012, -1 - call void @llvm.lifetime.start.p0(i64 296, ptr nonnull %9), !noalias !288 - call void @llvm.experimental.noalias.scope.decl(metadata !293) - store ptr %18, ptr %9, align 8, !alias.scope !296, !noalias !298 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(64) %.sroa.42.0..sroa_idx.i.i, ptr noundef nonnull align 8 dereferenceable(64) %15, i64 64, i1 false), !alias.scope !299, !noalias !300 - store i64 %17, ptr %.sroa.5.0..sroa_idx3.i.i, align 8, !alias.scope !296, !noalias !298 - call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(136) %.sroa.6.0..sroa_idx.i.i, i8 0, i64 136, i1 false), !alias.scope !296, !noalias !298 - store ptr %23, ptr %31, align 8, !alias.scope !296, !noalias !298 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(64) %.sroa.4.0..sroa_idx.i.i, ptr noundef nonnull align 8 dereferenceable(64) %20, i64 64, i1 false), !alias.scope !299, !noalias !300 - store i64 %22, ptr %.sroa.5.0..sroa_idx.i.i, align 8, !alias.scope !296, !noalias !298 - call void @_ZN4ring6digest7Context6update17h48da5b5e3b1c40caE(ptr noalias noundef nonnull align 8 dereferenceable(216) %9, ptr noalias noundef nonnull readonly align 1 %26, i64 noundef %32), !noalias !301 - call void @llvm.lifetime.start.p0(i64 296, ptr nonnull %8), !noalias !288 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(296) %8, ptr noundef nonnull align 8 dereferenceable(296) %9, i64 296, i1 false), !noalias !288 - call void @_ZN4ring4hmac7Context4sign17h357fb20bafbe8153E(ptr noalias nocapture noundef nonnull sret({ { ptr, { [64 x i8] } } }) align 8 dereferenceable(72) %10, ptr noalias nocapture noundef nonnull align 8 dereferenceable(296) %8), !noalias !302 - call void @llvm.lifetime.end.p0(i64 296, ptr nonnull %8), !noalias !288 - call void @llvm.lifetime.end.p0(i64 296, ptr nonnull %9), !noalias !288 + call void @llvm.lifetime.start.p0(i64 296, ptr nonnull %9), !noalias !287 + call void @llvm.experimental.noalias.scope.decl(metadata !292) + store ptr %18, ptr %9, align 8, !alias.scope !295, !noalias !297 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(64) %.sroa.42.0..sroa_idx.i.i, ptr noundef nonnull align 8 dereferenceable(64) %15, i64 64, i1 false), !alias.scope !298, !noalias !299 + store i64 %17, ptr %.sroa.5.0..sroa_idx3.i.i, align 8, !alias.scope !295, !noalias !297 + call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(136) %.sroa.6.0..sroa_idx.i.i, i8 0, i64 136, i1 false), !alias.scope !295, !noalias !297 + store ptr %23, ptr %31, align 8, !alias.scope !295, !noalias !297 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(64) %.sroa.4.0..sroa_idx.i.i, ptr noundef nonnull align 8 dereferenceable(64) %20, i64 64, i1 false), !alias.scope !298, !noalias !299 + store i64 %22, ptr %.sroa.5.0..sroa_idx.i.i, align 8, !alias.scope !295, !noalias !297 + call void @_ZN4ring6digest7Context6update17h48da5b5e3b1c40caE(ptr noalias noundef nonnull align 8 dereferenceable(216) %9, ptr noalias noundef nonnull readonly align 1 %26, i64 noundef %32), !noalias !300 + call void @llvm.lifetime.start.p0(i64 296, ptr nonnull %8), !noalias !287 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(296) %8, ptr noundef nonnull align 8 dereferenceable(296) %9, i64 296, i1 false), !noalias !287 + call void @_ZN4ring4hmac7Context4sign17h357fb20bafbe8153E(ptr noalias nocapture noundef nonnull sret({ { ptr, { [64 x i8] } } }) align 8 dereferenceable(72) %10, ptr noalias nocapture noundef nonnull align 8 dereferenceable(296) %8), !noalias !301 + call void @llvm.lifetime.end.p0(i64 296, ptr nonnull %8), !noalias !287 + call void @llvm.lifetime.end.p0(i64 296, ptr nonnull %9), !noalias !287 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(72) %12, ptr noundef nonnull align 8 dereferenceable(72) %10, i64 72, i1 false) call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %10) %44 = load ptr, ptr %12, align 8, !nonnull !4, !align !5, !noundef !4 @@ -2168,24 +2163,24 @@ define noundef zeroext i1 @_ZN4ring6pbkdf26verify17h3b62a3be952bcf4dE(ptr noalia call void @llvm.lifetime.start.p0(i64 64, ptr nonnull %11) call void @llvm.memset.p0.i64(ptr noundef nonnull align 1 dereferenceable(64) %11, i8 0, i64 64, i1 false) %14 = getelementptr inbounds i8, ptr %0, i64 16 - %15 = load i64, ptr %14, align 8, !alias.scope !303, !noundef !4 + %15 = load i64, ptr %14, align 8, !alias.scope !302, !noundef !4 call void @llvm.lifetime.start.p0(i64 160, ptr nonnull %10) call void @_ZN4ring4hmac3Key3new17h22836516a93ccd16E(ptr noalias nocapture noundef nonnull sret({ { ptr, { [8 x i64] }, i64 }, { ptr, { [8 x i64] }, i64 } }) align 8 dereferenceable(160) %10, ptr noalias noundef nonnull readonly align 8 dereferenceable(120) %0, ptr noalias noundef nonnull readonly align 1 %4, i64 noundef %5) %16 = icmp eq i64 %15, 0 br i1 %16, label %17, label %"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$6chunks17h71542add2c84d48fE.exit.preheader" 17: ; preds = %13 - call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %9), !noalias !306 - store ptr @anon.46ac70c01d12096318b30cbe23e8e5d5.7, ptr %9, align 8, !noalias !306 + call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %9), !noalias !305 + store ptr @anon.46ac70c01d12096318b30cbe23e8e5d5.7, ptr %9, align 8, !noalias !305 %18 = getelementptr inbounds i8, ptr %9, i64 8 - store i64 1, ptr %18, align 8, !noalias !306 + store i64 1, ptr %18, align 8, !noalias !305 %19 = getelementptr inbounds i8, ptr %9, i64 32 - store ptr null, ptr %19, align 8, !noalias !306 + store ptr null, ptr %19, align 8, !noalias !305 %20 = getelementptr inbounds i8, ptr %9, i64 16 - store ptr @anon.46ac70c01d12096318b30cbe23e8e5d5.0, ptr %20, align 8, !noalias !306 + store ptr @anon.46ac70c01d12096318b30cbe23e8e5d5.0, ptr %20, align 8, !noalias !305 %21 = getelementptr inbounds i8, ptr %9, i64 24 - store i64 0, ptr %21, align 8, !noalias !306 - call void @_ZN4core9panicking9panic_fmt17h784f20a50eaab275E(ptr noalias nocapture noundef nonnull align 8 dereferenceable(48) %9, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.46ac70c01d12096318b30cbe23e8e5d5.34) #22, !noalias !311 + store i64 0, ptr %21, align 8, !noalias !305 + call void @_ZN4core9panicking9panic_fmt17h784f20a50eaab275E(ptr noalias nocapture noundef nonnull align 8 dereferenceable(48) %9, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.46ac70c01d12096318b30cbe23e8e5d5.34) #22, !noalias !310 unreachable 22: ; preds = %23, %8 @@ -2220,11 +2215,11 @@ define noundef zeroext i1 @_ZN4ring6pbkdf26verify17h3b62a3be952bcf4dE(ptr noalia br i1 %32, label %33, label %.lr.ph.preheader.i 33: ; preds = %31 - call void @_ZN4core5slice5index24slice_end_index_len_fail17h9163fa4abd3ca1acE(i64 noundef %.0.sroa.speculated.i.i, i64 noundef 64, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.46ac70c01d12096318b30cbe23e8e5d5.36) #22, !noalias !312 + call void @_ZN4core5slice5index24slice_end_index_len_fail17h9163fa4abd3ca1acE(i64 noundef %.0.sroa.speculated.i.i, i64 noundef 64, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.46ac70c01d12096318b30cbe23e8e5d5.36) #22, !noalias !311 unreachable .lr.ph.preheader.i: ; preds = %31 - call void @llvm.memset.p0.i64(ptr nonnull align 1 %11, i8 0, i64 %.0.sroa.speculated.i.i, i1 false), !alias.scope !315 + call void @llvm.memset.p0.i64(ptr nonnull align 1 %11, i8 0, i64 %.0.sroa.speculated.i.i, i1 false), !alias.scope !314 call fastcc void @_ZN4ring6pbkdf212derive_block17h23076b73e2eeec55E(ptr noalias noundef nonnull readonly align 8 dereferenceable(160) %10, i32 noundef %1, ptr noalias noundef nonnull readonly align 1 %2, i64 noundef %3, i32 noundef %29, ptr noalias noundef nonnull align 1 %11, i64 noundef %.0.sroa.speculated.i.i) %34 = call noundef i32 @ring_core_0_17_8__CRYPTO_memcmp(ptr noundef nonnull %11, ptr noundef nonnull %.sroa.016.026, i64 noundef %.0.sroa.speculated.i.i) %.not = icmp eq i32 %34, 0 @@ -2633,133 +2628,132 @@ attributes #24 = { cold noreturn nounwind } !185 = distinct !{!185, !186, !"_ZN91_$LT$ring..aead..aes..Iv$u20$as$u20$core..convert..From$LT$ring..aead..aes..Counter$GT$$GT$4from17h18f229294b93a523E: argument 0"} !186 = distinct !{!186, !"_ZN91_$LT$ring..aead..aes..Iv$u20$as$u20$core..convert..From$LT$ring..aead..aes..Counter$GT$$GT$4from17h18f229294b93a523E"} !187 = distinct !{!187, !186, !"_ZN91_$LT$ring..aead..aes..Iv$u20$as$u20$core..convert..From$LT$ring..aead..aes..Counter$GT$$GT$4from17h18f229294b93a523E: argument 1"} -!188 = !{!164, !167} -!189 = !{!182, !184, !185, !187, !164, !166, !167} -!190 = !{!181, !182, !184, !185, !187, !164, !166, !167} -!191 = !{!185, !187, !164, !166, !167} -!192 = !{!193, !195, !196, !164, !166, !167} -!193 = distinct !{!193, !194, !"_ZN4ring4aead3aes3Key13encrypt_block17hb516baeef254fb70E.llvm.2657819220133375221: argument 0"} -!194 = distinct !{!194, !"_ZN4ring4aead3aes3Key13encrypt_block17hb516baeef254fb70E.llvm.2657819220133375221"} -!195 = distinct !{!195, !194, !"_ZN4ring4aead3aes3Key13encrypt_block17hb516baeef254fb70E.llvm.2657819220133375221: argument 1"} -!196 = distinct !{!196, !194, !"_ZN4ring4aead3aes3Key13encrypt_block17hb516baeef254fb70E.llvm.2657819220133375221: argument 2"} -!197 = !{!193, !195, !164, !166, !167} -!198 = !{!196, !164, !166, !167} -!199 = !{!200} -!200 = distinct !{!200, !201, !"_ZN73_$LT$ring..aead..block..Block$u20$as$u20$core..ops..bit..BitXorAssign$GT$13bitxor_assign17h96600cb7c244d0b6E.llvm.2657819220133375221: argument 0"} -!201 = distinct !{!201, !"_ZN73_$LT$ring..aead..block..Block$u20$as$u20$core..ops..bit..BitXorAssign$GT$13bitxor_assign17h96600cb7c244d0b6E.llvm.2657819220133375221"} -!202 = !{!203} -!203 = distinct !{!203, !201, !"_ZN73_$LT$ring..aead..block..Block$u20$as$u20$core..ops..bit..BitXorAssign$GT$13bitxor_assign17h96600cb7c244d0b6E.llvm.2657819220133375221: argument 1"} -!204 = !{!200, !164, !166, !167} -!205 = !{!206, !208} -!206 = distinct !{!206, !207, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$15copy_from_slice17hcd5c9a8e6f63698bE: argument 0"} -!207 = distinct !{!207, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$15copy_from_slice17hcd5c9a8e6f63698bE"} -!208 = distinct !{!208, !207, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$15copy_from_slice17hcd5c9a8e6f63698bE: argument 1"} -!209 = !{!"branch_weights", i32 1, i32 2000} -!210 = !{!211} -!211 = distinct !{!211, !212, !"_ZN4ring2io8positive8Positive10first_byte17h808d94cebcef189fE: argument 0"} -!212 = distinct !{!212, !"_ZN4ring2io8positive8Positive10first_byte17h808d94cebcef189fE"} -!213 = !{!214} -!214 = distinct !{!214, !215, !"_ZN4ring2io6writer6Writer13with_capacity17ha51cf8a69327b7dfE: argument 0"} -!215 = distinct !{!215, !"_ZN4ring2io6writer6Writer13with_capacity17ha51cf8a69327b7dfE"} -!216 = !{!217} -!217 = distinct !{!217, !218, !"_ZN4ring2io6writer119_$LT$impl$u20$core..convert..From$LT$ring..io..writer..Writer$GT$$u20$for$u20$alloc..boxed..Box$LT$$u5b$u8$u5d$$GT$$GT$4from17h6d6bf743bade573cE: argument 0"} -!218 = distinct !{!218, !"_ZN4ring2io6writer119_$LT$impl$u20$core..convert..From$LT$ring..io..writer..Writer$GT$$u20$for$u20$alloc..boxed..Box$LT$$u5b$u8$u5d$$GT$$GT$4from17h6d6bf743bade573cE"} -!219 = !{!220, !222, !224, !226} -!220 = distinct !{!220, !221, !"_ZN77_$LT$alloc..raw_vec..RawVec$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17hfb1afb7bba3f7c76E.llvm.4129427866461079095: argument 0"} -!221 = distinct !{!221, !"_ZN77_$LT$alloc..raw_vec..RawVec$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17hfb1afb7bba3f7c76E.llvm.4129427866461079095"} -!222 = distinct !{!222, !223, !"_ZN4core3ptr53drop_in_place$LT$alloc..raw_vec..RawVec$LT$u8$GT$$GT$17h0114ffe0028a8dadE.llvm.4129427866461079095: argument 0"} -!223 = distinct !{!223, !"_ZN4core3ptr53drop_in_place$LT$alloc..raw_vec..RawVec$LT$u8$GT$$GT$17h0114ffe0028a8dadE.llvm.4129427866461079095"} -!224 = distinct !{!224, !225, !"_ZN4core3ptr46drop_in_place$LT$alloc..vec..Vec$LT$u8$GT$$GT$17hcf46508d01f011f1E: argument 0"} -!225 = distinct !{!225, !"_ZN4core3ptr46drop_in_place$LT$alloc..vec..Vec$LT$u8$GT$$GT$17hcf46508d01f011f1E"} -!226 = distinct !{!226, !227, !"_ZN4core3ptr45drop_in_place$LT$ring..io..writer..Writer$GT$17h0d564ddb3b770417E: argument 0"} -!227 = distinct !{!227, !"_ZN4core3ptr45drop_in_place$LT$ring..io..writer..Writer$GT$17h0d564ddb3b770417E"} -!228 = !{i64 0, i64 -9223372036854775807} -!229 = !{!230} -!230 = distinct !{!230, !231, !"_ZN4core6result19Result$LT$T$C$E$GT$3map17hca1387044dc9f8b0E.llvm.2657819220133375221: argument 0"} -!231 = distinct !{!231, !"_ZN4core6result19Result$LT$T$C$E$GT$3map17hca1387044dc9f8b0E.llvm.2657819220133375221"} -!232 = !{!233} -!233 = distinct !{!233, !231, !"_ZN4core6result19Result$LT$T$C$E$GT$3map17hca1387044dc9f8b0E.llvm.2657819220133375221: argument 1"} -!234 = !{!235} -!235 = distinct !{!235, !236, !"_ZN4ring2ec10curve255193ops12encode_point17hce3e0c75a84e5227E.llvm.2657819220133375221: argument 0"} -!236 = distinct !{!236, !"_ZN4ring2ec10curve255193ops12encode_point17hce3e0c75a84e5227E.llvm.2657819220133375221"} -!237 = !{!235, !238, !239, !240} -!238 = distinct !{!238, !236, !"_ZN4ring2ec10curve255193ops12encode_point17hce3e0c75a84e5227E.llvm.2657819220133375221: argument 1"} -!239 = distinct !{!239, !236, !"_ZN4ring2ec10curve255193ops12encode_point17hce3e0c75a84e5227E.llvm.2657819220133375221: argument 2"} -!240 = distinct !{!240, !236, !"_ZN4ring2ec10curve255193ops12encode_point17hce3e0c75a84e5227E.llvm.2657819220133375221: argument 3"} -!241 = !{!235, !238, !239} -!242 = !{!235, !239} -!243 = !{!238, !239, !240} -!244 = !{!245} -!245 = distinct !{!245, !246, !"_ZN4ring2ec10curve255193ops12encode_point17hce3e0c75a84e5227E.llvm.2657819220133375221: argument 0"} -!246 = distinct !{!246, !"_ZN4ring2ec10curve255193ops12encode_point17hce3e0c75a84e5227E.llvm.2657819220133375221"} -!247 = !{!245, !248, !249, !250} -!248 = distinct !{!248, !246, !"_ZN4ring2ec10curve255193ops12encode_point17hce3e0c75a84e5227E.llvm.2657819220133375221: argument 1"} -!249 = distinct !{!249, !246, !"_ZN4ring2ec10curve255193ops12encode_point17hce3e0c75a84e5227E.llvm.2657819220133375221: argument 2"} -!250 = distinct !{!250, !246, !"_ZN4ring2ec10curve255193ops12encode_point17hce3e0c75a84e5227E.llvm.2657819220133375221: argument 3"} -!251 = !{!245, !248, !249} -!252 = !{!245, !249} -!253 = !{!248, !249, !250} -!254 = !{!255} -!255 = distinct !{!255, !256, !"_ZN4ring6digest9Algorithm10output_len17h393adfbf3020e728E: argument 0"} -!256 = distinct !{!256, !"_ZN4ring6digest9Algorithm10output_len17h393adfbf3020e728E"} -!257 = !{!258} -!258 = distinct !{!258, !259, !"_ZN74_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..specialize..SpecFill$LT$T$GT$$GT$9spec_fill17h950101adb719d7c1E: argument 0"} -!259 = distinct !{!259, !"_ZN74_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..specialize..SpecFill$LT$T$GT$$GT$9spec_fill17h950101adb719d7c1E"} -!260 = !{!261, !263} -!261 = distinct !{!261, !262, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$10chunks_mut17hbb007d906e555d86E: argument 0"} -!262 = distinct !{!262, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$10chunks_mut17hbb007d906e555d86E"} -!263 = distinct !{!263, !262, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$10chunks_mut17hbb007d906e555d86E: argument 1"} -!264 = !{!265} -!265 = distinct !{!265, !266, !"_ZN4ring4hmac7Context8with_key17hc75d552d42781143E: argument 1"} -!266 = distinct !{!266, !"_ZN4ring4hmac7Context8with_key17hc75d552d42781143E"} -!267 = !{!268} -!268 = distinct !{!268, !266, !"_ZN4ring4hmac7Context8with_key17hc75d552d42781143E: argument 0"} -!269 = !{!268, !265} -!270 = !{!271} -!271 = distinct !{!271, !272, !"_ZN106_$LT$core..ops..range..Range$LT$usize$GT$$u20$as$u20$core..slice..index..SliceIndex$LT$$u5b$T$u5d$$GT$$GT$5index17heb3913cfe867f2eeE.llvm.2657819220133375221: argument 0"} -!272 = distinct !{!272, !"_ZN106_$LT$core..ops..range..Range$LT$usize$GT$$u20$as$u20$core..slice..index..SliceIndex$LT$$u5b$T$u5d$$GT$$GT$5index17heb3913cfe867f2eeE.llvm.2657819220133375221"} -!273 = !{!274, !276, !278} -!274 = distinct !{!274, !275, !"_ZN111_$LT$core..iter..adapters..zip..Zip$LT$A$C$B$GT$$u20$as$u20$core..iter..adapters..zip..ZipImpl$LT$A$C$B$GT$$GT$4fold17h464993911c6cd684E: argument 0"} -!275 = distinct !{!275, !"_ZN111_$LT$core..iter..adapters..zip..Zip$LT$A$C$B$GT$$u20$as$u20$core..iter..adapters..zip..ZipImpl$LT$A$C$B$GT$$GT$4fold17h464993911c6cd684E"} -!276 = distinct !{!276, !277, !"_ZN102_$LT$core..iter..adapters..zip..Zip$LT$A$C$B$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4fold17h14566b8445333ce5E: argument 0"} -!277 = distinct !{!277, !"_ZN102_$LT$core..iter..adapters..zip..Zip$LT$A$C$B$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4fold17h14566b8445333ce5E"} -!278 = distinct !{!278, !279, !"_ZN4core4iter6traits8iterator8Iterator8for_each17h84ff889a3bee275bE: argument 0"} -!279 = distinct !{!279, !"_ZN4core4iter6traits8iterator8Iterator8for_each17h84ff889a3bee275bE"} -!280 = !{!281, !283} -!281 = distinct !{!281, !282, !"_ZN4ring6pbkdf212derive_block28_$u7b$$u7b$closure$u7d$$u7d$17h83a53d0236119375E: argument 0"} -!282 = distinct !{!282, !"_ZN4ring6pbkdf212derive_block28_$u7b$$u7b$closure$u7d$$u7d$17h83a53d0236119375E"} -!283 = distinct !{!283, !284, !"_ZN4core4iter6traits8iterator8Iterator8for_each4call28_$u7b$$u7b$closure$u7d$$u7d$17h1b14333880932ffbE: argument 0"} -!284 = distinct !{!284, !"_ZN4core4iter6traits8iterator8Iterator8for_each4call28_$u7b$$u7b$closure$u7d$$u7d$17h1b14333880932ffbE"} -!285 = !{!286} -!286 = distinct !{!286, !287, !"_ZN106_$LT$core..ops..range..Range$LT$usize$GT$$u20$as$u20$core..slice..index..SliceIndex$LT$$u5b$T$u5d$$GT$$GT$5index17heb3913cfe867f2eeE.llvm.2657819220133375221: argument 0"} -!287 = distinct !{!287, !"_ZN106_$LT$core..ops..range..Range$LT$usize$GT$$u20$as$u20$core..slice..index..SliceIndex$LT$$u5b$T$u5d$$GT$$GT$5index17heb3913cfe867f2eeE.llvm.2657819220133375221"} -!288 = !{!289, !291, !292} -!289 = distinct !{!289, !290, !"_ZN4ring4hmac4sign17hfe40aba784275c81E: argument 0"} -!290 = distinct !{!290, !"_ZN4ring4hmac4sign17hfe40aba784275c81E"} -!291 = distinct !{!291, !290, !"_ZN4ring4hmac4sign17hfe40aba784275c81E: argument 1"} -!292 = distinct !{!292, !290, !"_ZN4ring4hmac4sign17hfe40aba784275c81E: argument 2"} -!293 = !{!294} -!294 = distinct !{!294, !295, !"_ZN4ring4hmac7Context8with_key17hc75d552d42781143E: argument 1"} -!295 = distinct !{!295, !"_ZN4ring4hmac7Context8with_key17hc75d552d42781143E"} -!296 = !{!297} -!297 = distinct !{!297, !295, !"_ZN4ring4hmac7Context8with_key17hc75d552d42781143E: argument 0"} -!298 = !{!294, !289, !291, !292} -!299 = !{!297, !294} -!300 = !{!289, !292} -!301 = !{!289, !291} -!302 = !{!291} -!303 = !{!304} -!304 = distinct !{!304, !305, !"_ZN4ring6digest9Algorithm10output_len17h393adfbf3020e728E: argument 0"} -!305 = distinct !{!305, !"_ZN4ring6digest9Algorithm10output_len17h393adfbf3020e728E"} -!306 = !{!307, !309, !310} -!307 = distinct !{!307, !308, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$6chunks17h71542add2c84d48fE: argument 0"} -!308 = distinct !{!308, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$6chunks17h71542add2c84d48fE"} -!309 = distinct !{!309, !308, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$6chunks17h71542add2c84d48fE: argument 1"} -!310 = distinct !{!310, !308, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$6chunks17h71542add2c84d48fE: argument 2"} -!311 = !{!307, !309} -!312 = !{!313} -!313 = distinct !{!313, !314, !"_ZN106_$LT$core..ops..range..Range$LT$usize$GT$$u20$as$u20$core..slice..index..SliceIndex$LT$$u5b$T$u5d$$GT$$GT$9index_mut17hbd7f023510873fc8E: argument 0"} -!314 = distinct !{!314, !"_ZN106_$LT$core..ops..range..Range$LT$usize$GT$$u20$as$u20$core..slice..index..SliceIndex$LT$$u5b$T$u5d$$GT$$GT$9index_mut17hbd7f023510873fc8E"} -!315 = !{!316} -!316 = distinct !{!316, !317, !"_ZN74_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..specialize..SpecFill$LT$T$GT$$GT$9spec_fill17h950101adb719d7c1E: argument 0"} -!317 = distinct !{!317, !"_ZN74_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..specialize..SpecFill$LT$T$GT$$GT$9spec_fill17h950101adb719d7c1E"} +!188 = !{!182, !184, !185, !187, !164, !166, !167} +!189 = !{!181, !182, !184, !185, !187, !164, !166, !167} +!190 = !{!185, !187, !164, !166, !167} +!191 = !{!192, !194, !195, !164, !166, !167} +!192 = distinct !{!192, !193, !"_ZN4ring4aead3aes3Key13encrypt_block17hb516baeef254fb70E.llvm.2657819220133375221: argument 0"} +!193 = distinct !{!193, !"_ZN4ring4aead3aes3Key13encrypt_block17hb516baeef254fb70E.llvm.2657819220133375221"} +!194 = distinct !{!194, !193, !"_ZN4ring4aead3aes3Key13encrypt_block17hb516baeef254fb70E.llvm.2657819220133375221: argument 1"} +!195 = distinct !{!195, !193, !"_ZN4ring4aead3aes3Key13encrypt_block17hb516baeef254fb70E.llvm.2657819220133375221: argument 2"} +!196 = !{!192, !194, !164, !166, !167} +!197 = !{!195, !164, !166, !167} +!198 = !{!199} +!199 = distinct !{!199, !200, !"_ZN73_$LT$ring..aead..block..Block$u20$as$u20$core..ops..bit..BitXorAssign$GT$13bitxor_assign17h96600cb7c244d0b6E.llvm.2657819220133375221: argument 0"} +!200 = distinct !{!200, !"_ZN73_$LT$ring..aead..block..Block$u20$as$u20$core..ops..bit..BitXorAssign$GT$13bitxor_assign17h96600cb7c244d0b6E.llvm.2657819220133375221"} +!201 = !{!202} +!202 = distinct !{!202, !200, !"_ZN73_$LT$ring..aead..block..Block$u20$as$u20$core..ops..bit..BitXorAssign$GT$13bitxor_assign17h96600cb7c244d0b6E.llvm.2657819220133375221: argument 1"} +!203 = !{!199, !164, !166, !167} +!204 = !{!205, !207} +!205 = distinct !{!205, !206, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$15copy_from_slice17hcd5c9a8e6f63698bE: argument 0"} +!206 = distinct !{!206, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$15copy_from_slice17hcd5c9a8e6f63698bE"} +!207 = distinct !{!207, !206, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$15copy_from_slice17hcd5c9a8e6f63698bE: argument 1"} +!208 = !{!"branch_weights", i32 1, i32 2000} +!209 = !{!210} +!210 = distinct !{!210, !211, !"_ZN4ring2io8positive8Positive10first_byte17h808d94cebcef189fE: argument 0"} +!211 = distinct !{!211, !"_ZN4ring2io8positive8Positive10first_byte17h808d94cebcef189fE"} +!212 = !{!213} +!213 = distinct !{!213, !214, !"_ZN4ring2io6writer6Writer13with_capacity17ha51cf8a69327b7dfE: argument 0"} +!214 = distinct !{!214, !"_ZN4ring2io6writer6Writer13with_capacity17ha51cf8a69327b7dfE"} +!215 = !{!216} +!216 = distinct !{!216, !217, !"_ZN4ring2io6writer119_$LT$impl$u20$core..convert..From$LT$ring..io..writer..Writer$GT$$u20$for$u20$alloc..boxed..Box$LT$$u5b$u8$u5d$$GT$$GT$4from17h6d6bf743bade573cE: argument 0"} +!217 = distinct !{!217, !"_ZN4ring2io6writer119_$LT$impl$u20$core..convert..From$LT$ring..io..writer..Writer$GT$$u20$for$u20$alloc..boxed..Box$LT$$u5b$u8$u5d$$GT$$GT$4from17h6d6bf743bade573cE"} +!218 = !{!219, !221, !223, !225} +!219 = distinct !{!219, !220, !"_ZN77_$LT$alloc..raw_vec..RawVec$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17hfb1afb7bba3f7c76E.llvm.4129427866461079095: argument 0"} +!220 = distinct !{!220, !"_ZN77_$LT$alloc..raw_vec..RawVec$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17hfb1afb7bba3f7c76E.llvm.4129427866461079095"} +!221 = distinct !{!221, !222, !"_ZN4core3ptr53drop_in_place$LT$alloc..raw_vec..RawVec$LT$u8$GT$$GT$17h0114ffe0028a8dadE.llvm.4129427866461079095: argument 0"} +!222 = distinct !{!222, !"_ZN4core3ptr53drop_in_place$LT$alloc..raw_vec..RawVec$LT$u8$GT$$GT$17h0114ffe0028a8dadE.llvm.4129427866461079095"} +!223 = distinct !{!223, !224, !"_ZN4core3ptr46drop_in_place$LT$alloc..vec..Vec$LT$u8$GT$$GT$17hcf46508d01f011f1E: argument 0"} +!224 = distinct !{!224, !"_ZN4core3ptr46drop_in_place$LT$alloc..vec..Vec$LT$u8$GT$$GT$17hcf46508d01f011f1E"} +!225 = distinct !{!225, !226, !"_ZN4core3ptr45drop_in_place$LT$ring..io..writer..Writer$GT$17h0d564ddb3b770417E: argument 0"} +!226 = distinct !{!226, !"_ZN4core3ptr45drop_in_place$LT$ring..io..writer..Writer$GT$17h0d564ddb3b770417E"} +!227 = !{i64 0, i64 -9223372036854775807} +!228 = !{!229} +!229 = distinct !{!229, !230, !"_ZN4core6result19Result$LT$T$C$E$GT$3map17hca1387044dc9f8b0E.llvm.2657819220133375221: argument 0"} +!230 = distinct !{!230, !"_ZN4core6result19Result$LT$T$C$E$GT$3map17hca1387044dc9f8b0E.llvm.2657819220133375221"} +!231 = !{!232} +!232 = distinct !{!232, !230, !"_ZN4core6result19Result$LT$T$C$E$GT$3map17hca1387044dc9f8b0E.llvm.2657819220133375221: argument 1"} +!233 = !{!234} +!234 = distinct !{!234, !235, !"_ZN4ring2ec10curve255193ops12encode_point17hce3e0c75a84e5227E.llvm.2657819220133375221: argument 0"} +!235 = distinct !{!235, !"_ZN4ring2ec10curve255193ops12encode_point17hce3e0c75a84e5227E.llvm.2657819220133375221"} +!236 = !{!234, !237, !238, !239} +!237 = distinct !{!237, !235, !"_ZN4ring2ec10curve255193ops12encode_point17hce3e0c75a84e5227E.llvm.2657819220133375221: argument 1"} +!238 = distinct !{!238, !235, !"_ZN4ring2ec10curve255193ops12encode_point17hce3e0c75a84e5227E.llvm.2657819220133375221: argument 2"} +!239 = distinct !{!239, !235, !"_ZN4ring2ec10curve255193ops12encode_point17hce3e0c75a84e5227E.llvm.2657819220133375221: argument 3"} +!240 = !{!234, !237, !238} +!241 = !{!234, !238} +!242 = !{!237, !238, !239} +!243 = !{!244} +!244 = distinct !{!244, !245, !"_ZN4ring2ec10curve255193ops12encode_point17hce3e0c75a84e5227E.llvm.2657819220133375221: argument 0"} +!245 = distinct !{!245, !"_ZN4ring2ec10curve255193ops12encode_point17hce3e0c75a84e5227E.llvm.2657819220133375221"} +!246 = !{!244, !247, !248, !249} +!247 = distinct !{!247, !245, !"_ZN4ring2ec10curve255193ops12encode_point17hce3e0c75a84e5227E.llvm.2657819220133375221: argument 1"} +!248 = distinct !{!248, !245, !"_ZN4ring2ec10curve255193ops12encode_point17hce3e0c75a84e5227E.llvm.2657819220133375221: argument 2"} +!249 = distinct !{!249, !245, !"_ZN4ring2ec10curve255193ops12encode_point17hce3e0c75a84e5227E.llvm.2657819220133375221: argument 3"} +!250 = !{!244, !247, !248} +!251 = !{!244, !248} +!252 = !{!247, !248, !249} +!253 = !{!254} +!254 = distinct !{!254, !255, !"_ZN4ring6digest9Algorithm10output_len17h393adfbf3020e728E: argument 0"} +!255 = distinct !{!255, !"_ZN4ring6digest9Algorithm10output_len17h393adfbf3020e728E"} +!256 = !{!257} +!257 = distinct !{!257, !258, !"_ZN74_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..specialize..SpecFill$LT$T$GT$$GT$9spec_fill17h950101adb719d7c1E: argument 0"} +!258 = distinct !{!258, !"_ZN74_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..specialize..SpecFill$LT$T$GT$$GT$9spec_fill17h950101adb719d7c1E"} +!259 = !{!260, !262} +!260 = distinct !{!260, !261, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$10chunks_mut17hbb007d906e555d86E: argument 0"} +!261 = distinct !{!261, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$10chunks_mut17hbb007d906e555d86E"} +!262 = distinct !{!262, !261, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$10chunks_mut17hbb007d906e555d86E: argument 1"} +!263 = !{!264} +!264 = distinct !{!264, !265, !"_ZN4ring4hmac7Context8with_key17hc75d552d42781143E: argument 1"} +!265 = distinct !{!265, !"_ZN4ring4hmac7Context8with_key17hc75d552d42781143E"} +!266 = !{!267} +!267 = distinct !{!267, !265, !"_ZN4ring4hmac7Context8with_key17hc75d552d42781143E: argument 0"} +!268 = !{!267, !264} +!269 = !{!270} +!270 = distinct !{!270, !271, !"_ZN106_$LT$core..ops..range..Range$LT$usize$GT$$u20$as$u20$core..slice..index..SliceIndex$LT$$u5b$T$u5d$$GT$$GT$5index17heb3913cfe867f2eeE.llvm.2657819220133375221: argument 0"} +!271 = distinct !{!271, !"_ZN106_$LT$core..ops..range..Range$LT$usize$GT$$u20$as$u20$core..slice..index..SliceIndex$LT$$u5b$T$u5d$$GT$$GT$5index17heb3913cfe867f2eeE.llvm.2657819220133375221"} +!272 = !{!273, !275, !277} +!273 = distinct !{!273, !274, !"_ZN111_$LT$core..iter..adapters..zip..Zip$LT$A$C$B$GT$$u20$as$u20$core..iter..adapters..zip..ZipImpl$LT$A$C$B$GT$$GT$4fold17h464993911c6cd684E: argument 0"} +!274 = distinct !{!274, !"_ZN111_$LT$core..iter..adapters..zip..Zip$LT$A$C$B$GT$$u20$as$u20$core..iter..adapters..zip..ZipImpl$LT$A$C$B$GT$$GT$4fold17h464993911c6cd684E"} +!275 = distinct !{!275, !276, !"_ZN102_$LT$core..iter..adapters..zip..Zip$LT$A$C$B$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4fold17h14566b8445333ce5E: argument 0"} +!276 = distinct !{!276, !"_ZN102_$LT$core..iter..adapters..zip..Zip$LT$A$C$B$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4fold17h14566b8445333ce5E"} +!277 = distinct !{!277, !278, !"_ZN4core4iter6traits8iterator8Iterator8for_each17h84ff889a3bee275bE: argument 0"} +!278 = distinct !{!278, !"_ZN4core4iter6traits8iterator8Iterator8for_each17h84ff889a3bee275bE"} +!279 = !{!280, !282} +!280 = distinct !{!280, !281, !"_ZN4ring6pbkdf212derive_block28_$u7b$$u7b$closure$u7d$$u7d$17h83a53d0236119375E: argument 0"} +!281 = distinct !{!281, !"_ZN4ring6pbkdf212derive_block28_$u7b$$u7b$closure$u7d$$u7d$17h83a53d0236119375E"} +!282 = distinct !{!282, !283, !"_ZN4core4iter6traits8iterator8Iterator8for_each4call28_$u7b$$u7b$closure$u7d$$u7d$17h1b14333880932ffbE: argument 0"} +!283 = distinct !{!283, !"_ZN4core4iter6traits8iterator8Iterator8for_each4call28_$u7b$$u7b$closure$u7d$$u7d$17h1b14333880932ffbE"} +!284 = !{!285} +!285 = distinct !{!285, !286, !"_ZN106_$LT$core..ops..range..Range$LT$usize$GT$$u20$as$u20$core..slice..index..SliceIndex$LT$$u5b$T$u5d$$GT$$GT$5index17heb3913cfe867f2eeE.llvm.2657819220133375221: argument 0"} +!286 = distinct !{!286, !"_ZN106_$LT$core..ops..range..Range$LT$usize$GT$$u20$as$u20$core..slice..index..SliceIndex$LT$$u5b$T$u5d$$GT$$GT$5index17heb3913cfe867f2eeE.llvm.2657819220133375221"} +!287 = !{!288, !290, !291} +!288 = distinct !{!288, !289, !"_ZN4ring4hmac4sign17hfe40aba784275c81E: argument 0"} +!289 = distinct !{!289, !"_ZN4ring4hmac4sign17hfe40aba784275c81E"} +!290 = distinct !{!290, !289, !"_ZN4ring4hmac4sign17hfe40aba784275c81E: argument 1"} +!291 = distinct !{!291, !289, !"_ZN4ring4hmac4sign17hfe40aba784275c81E: argument 2"} +!292 = !{!293} +!293 = distinct !{!293, !294, !"_ZN4ring4hmac7Context8with_key17hc75d552d42781143E: argument 1"} +!294 = distinct !{!294, !"_ZN4ring4hmac7Context8with_key17hc75d552d42781143E"} +!295 = !{!296} +!296 = distinct !{!296, !294, !"_ZN4ring4hmac7Context8with_key17hc75d552d42781143E: argument 0"} +!297 = !{!293, !288, !290, !291} +!298 = !{!296, !293} +!299 = !{!288, !291} +!300 = !{!288, !290} +!301 = !{!290} +!302 = !{!303} +!303 = distinct !{!303, !304, !"_ZN4ring6digest9Algorithm10output_len17h393adfbf3020e728E: argument 0"} +!304 = distinct !{!304, !"_ZN4ring6digest9Algorithm10output_len17h393adfbf3020e728E"} +!305 = !{!306, !308, !309} +!306 = distinct !{!306, !307, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$6chunks17h71542add2c84d48fE: argument 0"} +!307 = distinct !{!307, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$6chunks17h71542add2c84d48fE"} +!308 = distinct !{!308, !307, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$6chunks17h71542add2c84d48fE: argument 1"} +!309 = distinct !{!309, !307, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$6chunks17h71542add2c84d48fE: argument 2"} +!310 = !{!306, !308} +!311 = !{!312} +!312 = distinct !{!312, !313, !"_ZN106_$LT$core..ops..range..Range$LT$usize$GT$$u20$as$u20$core..slice..index..SliceIndex$LT$$u5b$T$u5d$$GT$$GT$9index_mut17hbd7f023510873fc8E: argument 0"} +!313 = distinct !{!313, !"_ZN106_$LT$core..ops..range..Range$LT$usize$GT$$u20$as$u20$core..slice..index..SliceIndex$LT$$u5b$T$u5d$$GT$$GT$9index_mut17hbd7f023510873fc8E"} +!314 = !{!315} +!315 = distinct !{!315, !316, !"_ZN74_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..specialize..SpecFill$LT$T$GT$$GT$9spec_fill17h950101adb719d7c1E: argument 0"} +!316 = distinct !{!316, !"_ZN74_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..specialize..SpecFill$LT$T$GT$$GT$9spec_fill17h950101adb719d7c1E"} diff --git a/bench/ring-rs/optimized/4gu90fp46fobkewp.ll b/bench/ring-rs/optimized/4gu90fp46fobkewp.ll index 6c5f170316e..d3b250a23f0 100644 --- a/bench/ring-rs/optimized/4gu90fp46fobkewp.ll +++ b/bench/ring-rs/optimized/4gu90fp46fobkewp.ll @@ -654,88 +654,87 @@ define noundef zeroext i1 @"_ZN119_$LT$ring..ec..curve25519..ed25519..verificati %19 = alloca { { [5 x i64], {} }, { [5 x i64], {} }, { [5 x i64], {} }, { [5 x i64], {} } }, align 8 %20 = alloca [4 x i64], align 8 %21 = alloca [32 x i8], align 1 - %22 = alloca { { [5 x i64], {} }, { [5 x i64], {} }, { [5 x i64], {} } }, align 8 - %23 = alloca [32 x i8], align 1 - %24 = alloca { { [5 x i64], {} }, { [5 x i64], {} }, { [5 x i64], {} } }, align 8 - %25 = alloca { [32 x i8] }, align 1 - %26 = alloca { ptr, { [64 x i8] } }, align 8 - %27 = alloca { { [5 x i64], {} }, { [5 x i64], {} }, { [5 x i64], {} }, { [5 x i64], {} } }, align 8 - %28 = alloca { [32 x i8] }, align 1 - %29 = alloca { ptr, i64 }, align 8 - store ptr %5, ptr %29, align 8 - %30 = getelementptr inbounds i8, ptr %29, i64 8 - store i64 %6, ptr %30, align 8 + %22 = alloca [32 x i8], align 1 + %23 = alloca { { [5 x i64], {} }, { [5 x i64], {} }, { [5 x i64], {} } }, align 8 + %24 = alloca { [32 x i8] }, align 1 + %25 = alloca { ptr, { [64 x i8] } }, align 8 + %26 = alloca { { [5 x i64], {} }, { [5 x i64], {} }, { [5 x i64], {} }, { [5 x i64], {} } }, align 8 + %27 = alloca { [32 x i8] }, align 1 + %28 = alloca { ptr, i64 }, align 8 + store ptr %5, ptr %28, align 8 + %29 = getelementptr inbounds i8, ptr %28, i64 8 + store i64 %6, ptr %29, align 8 %.not42 = icmp eq i64 %2, 32 %. = select i1 %.not42, ptr %1, ptr null - br i1 %.not42, label %31, label %78 - -31: ; preds = %7 - %32 = call { ptr, ptr } @_ZN9untrusted5input5Input8read_all17h3b5501a55f45cdacE(ptr noalias noundef nonnull readonly align 8 dereferenceable(16) %29) - %.fca.0.extract = extractvalue { ptr, ptr } %32, 0 - %33 = icmp eq ptr %.fca.0.extract, null - br i1 %33, label %78, label %34 - -34: ; preds = %31 - %.fca.1.extract = extractvalue { ptr, ptr } %32, 1 - %35 = icmp ne ptr %.fca.1.extract, null - call void @llvm.assume(i1 %35) - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %28) - %36 = load <32 x i8>, ptr %.fca.1.extract, align 1 + br i1 %.not42, label %30, label %77 + +30: ; preds = %7 + %31 = call { ptr, ptr } @_ZN9untrusted5input5Input8read_all17h3b5501a55f45cdacE(ptr noalias noundef nonnull readonly align 8 dereferenceable(16) %28) + %.fca.0.extract = extractvalue { ptr, ptr } %31, 0 + %32 = icmp eq ptr %.fca.0.extract, null + br i1 %32, label %77, label %33 + +33: ; preds = %30 + %.fca.1.extract = extractvalue { ptr, ptr } %31, 1 + %34 = icmp ne ptr %.fca.1.extract, null + call void @llvm.assume(i1 %34) + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %27) + %35 = load <32 x i8>, ptr %.fca.1.extract, align 1 call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %21), !noalias !108 - store <32 x i8> %36, ptr %21, align 1, !noalias !108 - %37 = getelementptr inbounds i8, ptr %21, i64 16 + store <32 x i8> %35, ptr %21, align 1, !noalias !108 + %36 = getelementptr inbounds i8, ptr %21, i64 16 call void @llvm.experimental.noalias.scope.decl(metadata !111) call void @llvm.experimental.noalias.scope.decl(metadata !114) - br label %38 + br label %37 -38: ; preds = %38, %34 - %.010.i.i.i = phi i64 [ 0, %34 ], [ %44, %38 ] - %39 = xor i64 %.010.i.i.i, 15 - %40 = getelementptr inbounds [0 x i8], ptr %21, i64 0, i64 %.010.i.i.i - %41 = getelementptr inbounds [0 x i8], ptr %37, i64 0, i64 %39 +37: ; preds = %37, %33 + %.010.i.i.i = phi i64 [ 0, %33 ], [ %43, %37 ] + %38 = xor i64 %.010.i.i.i, 15 + %39 = getelementptr inbounds [0 x i8], ptr %21, i64 0, i64 %.010.i.i.i + %40 = getelementptr inbounds [0 x i8], ptr %36, i64 0, i64 %38 call void @llvm.experimental.noalias.scope.decl(metadata !116) call void @llvm.experimental.noalias.scope.decl(metadata !119) - %42 = load i8, ptr %40, align 1, !alias.scope !121, !noalias !124, !noundef !10 - %43 = load i8, ptr %41, align 1, !alias.scope !125, !noalias !126, !noundef !10 - store i8 %43, ptr %40, align 1, !alias.scope !121, !noalias !124 - store i8 %42, ptr %41, align 1, !alias.scope !125, !noalias !126 - %44 = add nuw nsw i64 %.010.i.i.i, 1 - %exitcond.not.i.i.i = icmp eq i64 %44, 16 - br i1 %exitcond.not.i.i.i, label %"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$7reverse17h83af3ef2879b5ae6E.exit.i", label %38 - -"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$7reverse17h83af3ef2879b5ae6E.exit.i": ; preds = %38 + %41 = load i8, ptr %39, align 1, !alias.scope !121, !noalias !124, !noundef !10 + %42 = load i8, ptr %40, align 1, !alias.scope !125, !noalias !126, !noundef !10 + store i8 %42, ptr %39, align 1, !alias.scope !121, !noalias !124 + store i8 %41, ptr %40, align 1, !alias.scope !125, !noalias !126 + %43 = add nuw nsw i64 %.010.i.i.i, 1 + %exitcond.not.i.i.i = icmp eq i64 %43, 16 + br i1 %exitcond.not.i.i.i, label %"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$7reverse17h83af3ef2879b5ae6E.exit.i", label %37 + +"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$7reverse17h83af3ef2879b5ae6E.exit.i": ; preds = %37 call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %20), !noalias !108 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %20, i8 0, i64 32, i1 false), !noalias !108 - %45 = call noundef zeroext i1 @_ZN4ring4limb34parse_big_endian_and_pad_consttime17he048a2e6bf7d0cd1E(ptr noalias noundef nonnull readonly align 1 %21, i64 noundef 32, ptr noalias noundef nonnull align 8 %20, i64 noundef 4), !noalias !127 - br i1 %45, label %49, label %_ZN4ring4limb43parse_big_endian_in_range_and_pad_consttime17h9048a00efd342339E.exit.i + %44 = call noundef zeroext i1 @_ZN4ring4limb34parse_big_endian_and_pad_consttime17he048a2e6bf7d0cd1E(ptr noalias noundef nonnull readonly align 1 %21, i64 noundef 32, ptr noalias noundef nonnull align 8 %20, i64 noundef 4), !noalias !127 + br i1 %44, label %48, label %_ZN4ring4limb43parse_big_endian_in_range_and_pad_consttime17h9048a00efd342339E.exit.i _ZN4ring4limb43parse_big_endian_in_range_and_pad_consttime17h9048a00efd342339E.exit.i: ; preds = %"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$7reverse17h83af3ef2879b5ae6E.exit.i" - %46 = call noundef i64 @ring_core_0_17_8__LIMBS_less_than(ptr noundef nonnull %20, ptr noundef nonnull @anon.73af0eeec79b9449fee1b34a4c12d756.25, i64 noundef 4), !noalias !108 - %.not.i.not.i = icmp eq i64 %46, -1 - br i1 %.not.i.not.i, label %47, label %49 + %45 = call noundef i64 @ring_core_0_17_8__LIMBS_less_than(ptr noundef nonnull %20, ptr noundef nonnull @anon.73af0eeec79b9449fee1b34a4c12d756.25, i64 noundef 4), !noalias !108 + %.not.i.not.i = icmp eq i64 %45, -1 + br i1 %.not.i.not.i, label %46, label %48 -47: ; preds = %_ZN4ring4limb43parse_big_endian_in_range_and_pad_consttime17h9048a00efd342339E.exit.i +46: ; preds = %_ZN4ring4limb43parse_big_endian_in_range_and_pad_consttime17h9048a00efd342339E.exit.i call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %20), !noalias !108 call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %21), !noalias !108 - store <32 x i8> %36, ptr %28, align 1 - call void @llvm.lifetime.start.p0(i64 160, ptr nonnull %27) + store <32 x i8> %35, ptr %27, align 1 + call void @llvm.lifetime.start.p0(i64 160, ptr nonnull %26) call void @llvm.lifetime.start.p0(i64 160, ptr nonnull %19), !noalias !130 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(160) %19, i8 0, i64 160, i1 false) - %48 = call noundef i32 @ring_core_0_17_8__x25519_ge_frombytes_vartime(ptr noalias noundef nonnull align 8 dereferenceable(160) %19, ptr noalias noundef nonnull readonly align 1 dereferenceable(32) %.), !noalias !134 - %.not.i = icmp eq i32 %48, 1 - br i1 %.not.i, label %50, label %76 + %47 = call noundef i32 @ring_core_0_17_8__x25519_ge_frombytes_vartime(ptr noalias noundef nonnull align 8 dereferenceable(160) %19, ptr noalias noundef nonnull readonly align 1 dereferenceable(32) %.), !noalias !134 + %.not.i = icmp eq i32 %47, 1 + br i1 %.not.i, label %49, label %75 -49: ; preds = %"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$7reverse17h83af3ef2879b5ae6E.exit.i", %_ZN4ring4limb43parse_big_endian_in_range_and_pad_consttime17h9048a00efd342339E.exit.i +48: ; preds = %"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$7reverse17h83af3ef2879b5ae6E.exit.i", %_ZN4ring4limb43parse_big_endian_in_range_and_pad_consttime17h9048a00efd342339E.exit.i call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %20), !noalias !108 call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %21), !noalias !108 - br label %80 + br label %79 -50: ; preds = %47 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(160) %27, ptr noundef nonnull align 8 dereferenceable(160) %19, i64 160, i1 false) +49: ; preds = %46 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(160) %26, ptr noundef nonnull align 8 dereferenceable(160) %19, i64 160, i1 false) call void @llvm.lifetime.end.p0(i64 160, ptr nonnull %19), !noalias !130 - call void @ring_core_0_17_8__x25519_fe_neg(ptr noalias noundef nonnull align 8 dereferenceable(40) %27) - %51 = getelementptr inbounds i8, ptr %27, i64 120 - call void @ring_core_0_17_8__x25519_fe_neg(ptr noalias noundef nonnull align 8 dereferenceable(40) %51) + call void @ring_core_0_17_8__x25519_fe_neg(ptr noalias noundef nonnull align 8 dereferenceable(40) %26) + %50 = getelementptr inbounds i8, ptr %26, i64 120 + call void @ring_core_0_17_8__x25519_fe_neg(ptr noalias noundef nonnull align 8 dereferenceable(40) %50) call void @llvm.lifetime.start.p0(i64 216, ptr nonnull %18), !noalias !135 call void @llvm.experimental.noalias.scope.decl(metadata !141) store ptr @_ZN4ring6digest6SHA51217h2dcadb1189ed2649E, ptr %18, align 8, !alias.scope !144, !noalias !146 @@ -749,72 +748,70 @@ _ZN4ring4limb43parse_big_endian_in_range_and_pad_consttime17h9048a00efd342339E.e call void @llvm.lifetime.start.p0(i64 216, ptr nonnull %17), !noalias !135 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(216) %17, ptr noundef nonnull align 8 dereferenceable(216) %18, i64 216, i1 false), !noalias !135 call void @llvm.experimental.noalias.scope.decl(metadata !151) - %52 = load ptr, ptr %17, align 8, !alias.scope !151, !noalias !154, !nonnull !10, !align !156, !noundef !10 - %53 = getelementptr inbounds i8, ptr %52, i64 32 - %54 = load i64, ptr %53, align 8, !noalias !157, !noundef !10 + %51 = load ptr, ptr %17, align 8, !alias.scope !151, !noalias !154, !nonnull !10, !align !156, !noundef !10 + %52 = getelementptr inbounds i8, ptr %51, i64 32 + %53 = load i64, ptr %52, align 8, !noalias !157, !noundef !10 call void @llvm.lifetime.start.p0(i64 80, ptr nonnull %16), !noalias !158 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(80) %16, ptr noundef nonnull align 8 dereferenceable(80) %18, i64 80, i1 false), !noalias !135 - %55 = icmp ugt i64 %54, 128 - br i1 %55, label %56, label %_ZN4ring2ec10curve255197ed2551912eddsa_digest17h75959cbbc556302fE.exit + %54 = icmp ugt i64 %53, 128 + br i1 %54, label %55, label %_ZN4ring2ec10curve255197ed2551912eddsa_digest17h75959cbbc556302fE.exit -56: ; preds = %50 - call void @_ZN4core5slice5index24slice_end_index_len_fail17h9163fa4abd3ca1acE(i64 noundef %54, i64 noundef 128, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.931894935b2e277744aad6b42ceca7b7.61.llvm.12309478120345669377) #14, !noalias !159 +55: ; preds = %49 + call void @_ZN4core5slice5index24slice_end_index_len_fail17h9163fa4abd3ca1acE(i64 noundef %53, i64 noundef 128, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.931894935b2e277744aad6b42ceca7b7.61.llvm.12309478120345669377) #14, !noalias !159 unreachable -_ZN4ring2ec10curve255197ed2551912eddsa_digest17h75959cbbc556302fE.exit: ; preds = %50 - %57 = getelementptr inbounds i8, ptr %17, i64 80 - %58 = getelementptr inbounds i8, ptr %17, i64 208 - %59 = load i64, ptr %58, align 8, !alias.scope !151, !noalias !154, !noundef !10 - call void @_ZN4ring6digest12BlockContext6finish17h89987615cfa882f5E.llvm.12309478120345669377(ptr noalias nocapture noundef nonnull sret({ ptr, { [64 x i8] } }) align 8 dereferenceable(72) %26, ptr noalias nocapture noundef nonnull align 8 dereferenceable(80) %16, ptr noalias noundef nonnull align 1 %57, i64 noundef %54, i64 noundef %59) +_ZN4ring2ec10curve255197ed2551912eddsa_digest17h75959cbbc556302fE.exit: ; preds = %49 + %56 = getelementptr inbounds i8, ptr %17, i64 80 + %57 = getelementptr inbounds i8, ptr %17, i64 208 + %58 = load i64, ptr %57, align 8, !alias.scope !151, !noalias !154, !noundef !10 + call void @_ZN4ring6digest12BlockContext6finish17h89987615cfa882f5E.llvm.12309478120345669377(ptr noalias nocapture noundef nonnull sret({ ptr, { [64 x i8] } }) align 8 dereferenceable(72) %25, ptr noalias nocapture noundef nonnull align 8 dereferenceable(80) %16, ptr noalias noundef nonnull align 1 %56, i64 noundef %53, i64 noundef %58) call void @llvm.lifetime.end.p0(i64 80, ptr nonnull %16), !noalias !158 call void @llvm.lifetime.end.p0(i64 216, ptr nonnull %17), !noalias !135 call void @llvm.lifetime.end.p0(i64 216, ptr nonnull %18), !noalias !135 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %25) + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %24) call void @llvm.experimental.noalias.scope.decl(metadata !162) call void @llvm.experimental.noalias.scope.decl(metadata !165) call void @llvm.lifetime.start.p0(i64 64, ptr nonnull %15), !noalias !167 - %60 = load ptr, ptr %26, align 8, !alias.scope !165, !noalias !162, !nonnull !10, !align !156, !noundef !10 - %61 = getelementptr inbounds i8, ptr %60, i64 16 - %62 = load i64, ptr %61, align 8, !noalias !167, !noundef !10 - %63 = icmp ugt i64 %62, 64 - br i1 %63, label %64, label %"_ZN106_$LT$core..ops..range..Range$LT$usize$GT$$u20$as$u20$core..slice..index..SliceIndex$LT$$u5b$T$u5d$$GT$$GT$5index17heb3913cfe867f2eeE.llvm.4505101779727634190.exit.i" - -64: ; preds = %_ZN4ring2ec10curve255197ed2551912eddsa_digest17h75959cbbc556302fE.exit - call void @_ZN4core5slice5index24slice_end_index_len_fail17h9163fa4abd3ca1acE(i64 noundef %62, i64 noundef 64, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.73af0eeec79b9449fee1b34a4c12d756.27.llvm.4505101779727634190) #14, !noalias !168 + %59 = load ptr, ptr %25, align 8, !alias.scope !165, !noalias !162, !nonnull !10, !align !156, !noundef !10 + %60 = getelementptr inbounds i8, ptr %59, i64 16 + %61 = load i64, ptr %60, align 8, !noalias !167, !noundef !10 + %62 = icmp ugt i64 %61, 64 + br i1 %62, label %63, label %"_ZN106_$LT$core..ops..range..Range$LT$usize$GT$$u20$as$u20$core..slice..index..SliceIndex$LT$$u5b$T$u5d$$GT$$GT$5index17heb3913cfe867f2eeE.llvm.4505101779727634190.exit.i" + +63: ; preds = %_ZN4ring2ec10curve255197ed2551912eddsa_digest17h75959cbbc556302fE.exit + call void @_ZN4core5slice5index24slice_end_index_len_fail17h9163fa4abd3ca1acE(i64 noundef %61, i64 noundef 64, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.73af0eeec79b9449fee1b34a4c12d756.27.llvm.4505101779727634190) #14, !noalias !168 unreachable "_ZN106_$LT$core..ops..range..Range$LT$usize$GT$$u20$as$u20$core..slice..index..SliceIndex$LT$$u5b$T$u5d$$GT$$GT$5index17heb3913cfe867f2eeE.llvm.4505101779727634190.exit.i": ; preds = %_ZN4ring2ec10curve255197ed2551912eddsa_digest17h75959cbbc556302fE.exit call void @llvm.experimental.noalias.scope.decl(metadata !171) call void @llvm.experimental.noalias.scope.decl(metadata !174) - %.not.i.i = icmp eq i64 %62, 64 - br i1 %.not.i.i, label %_ZN4ring2ec10curve255196scalar6Scalar26from_sha512_digest_reduced17h06357428a26d51b0E.exit, label %65 + %.not.i.i = icmp eq i64 %61, 64 + br i1 %.not.i.i, label %_ZN4ring2ec10curve255196scalar6Scalar26from_sha512_digest_reduced17h06357428a26d51b0E.exit, label %64 -65: ; preds = %"_ZN106_$LT$core..ops..range..Range$LT$usize$GT$$u20$as$u20$core..slice..index..SliceIndex$LT$$u5b$T$u5d$$GT$$GT$5index17heb3913cfe867f2eeE.llvm.4505101779727634190.exit.i" - call void @"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$15copy_from_slice17len_mismatch_fail17h314ed267ae8df733E"(i64 noundef 64, i64 noundef %62, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.73af0eeec79b9449fee1b34a4c12d756.29.llvm.4505101779727634190) #14, !noalias !176 +64: ; preds = %"_ZN106_$LT$core..ops..range..Range$LT$usize$GT$$u20$as$u20$core..slice..index..SliceIndex$LT$$u5b$T$u5d$$GT$$GT$5index17heb3913cfe867f2eeE.llvm.4505101779727634190.exit.i" + call void @"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$15copy_from_slice17len_mismatch_fail17h314ed267ae8df733E"(i64 noundef 64, i64 noundef %61, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.73af0eeec79b9449fee1b34a4c12d756.29.llvm.4505101779727634190) #14, !noalias !176 unreachable _ZN4ring2ec10curve255196scalar6Scalar26from_sha512_digest_reduced17h06357428a26d51b0E.exit: ; preds = %"_ZN106_$LT$core..ops..range..Range$LT$usize$GT$$u20$as$u20$core..slice..index..SliceIndex$LT$$u5b$T$u5d$$GT$$GT$5index17heb3913cfe867f2eeE.llvm.4505101779727634190.exit.i" - %66 = getelementptr inbounds i8, ptr %26, i64 8 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(64) %15, ptr noundef nonnull align 8 dereferenceable(64) %66, i64 64, i1 false), !alias.scope !177, !noalias !178 + %65 = getelementptr inbounds i8, ptr %25, i64 8 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(64) %15, ptr noundef nonnull align 8 dereferenceable(64) %65, i64 64, i1 false), !alias.scope !177, !noalias !178 call void @ring_core_0_17_8__x25519_sc_reduce(ptr noalias noundef nonnull align 1 dereferenceable(64) %15), !noalias !167 - %67 = load <32 x i8>, ptr %15, align 1, !alias.scope !180, !noalias !185 - store <32 x i8> %67, ptr %25, align 1, !alias.scope !162, !noalias !165 + %66 = load <32 x i8>, ptr %15, align 1, !alias.scope !180, !noalias !185 + store <32 x i8> %66, ptr %24, align 1, !alias.scope !162, !noalias !165 call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %15), !noalias !167 - call void @llvm.lifetime.start.p0(i64 120, ptr nonnull %24) - call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(120) %24, i8 0, i64 120, i1 false), !alias.scope !188 - call void @ring_core_0_17_8__x25519_ge_double_scalarmult_vartime(ptr noalias noundef nonnull align 8 dereferenceable(120) %24, ptr noalias noundef nonnull readonly align 1 dereferenceable(32) %25, ptr noalias noundef nonnull readonly align 8 dereferenceable(160) %27, ptr noalias noundef nonnull readonly align 1 dereferenceable(32) %28) - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %23) - call void @llvm.lifetime.start.p0(i64 120, ptr nonnull %22) - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(120) %22, ptr noundef nonnull align 8 dereferenceable(120) %24, i64 120, i1 false) + call void @llvm.lifetime.start.p0(i64 120, ptr nonnull %23) + call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(120) %23, i8 0, i64 120, i1 false), !alias.scope !188 + call void @ring_core_0_17_8__x25519_ge_double_scalarmult_vartime(ptr noalias noundef nonnull align 8 dereferenceable(120) %23, ptr noalias noundef nonnull readonly align 1 dereferenceable(32) %24, ptr noalias noundef nonnull readonly align 8 dereferenceable(160) %26, ptr noalias noundef nonnull readonly align 1 dereferenceable(32) %27) + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %22) call void @llvm.experimental.noalias.scope.decl(metadata !191) call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %14), !noalias !194 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %14, ptr noundef nonnull align 8 dereferenceable(40) %24, i64 40, i1 false) + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %14, ptr noundef nonnull align 8 dereferenceable(40) %23, i64 40, i1 false) call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %13), !noalias !194 - %68 = getelementptr inbounds i8, ptr %22, i64 40 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %13, ptr noundef nonnull align 8 dereferenceable(40) %68, i64 40, i1 false), !noalias !191 + %67 = getelementptr inbounds i8, ptr %23, i64 40 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %13, ptr noundef nonnull align 8 dereferenceable(40) %67, i64 40, i1 false) call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %12), !noalias !194 - %69 = getelementptr inbounds i8, ptr %22, i64 80 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %12, ptr noundef nonnull align 8 dereferenceable(40) %69, i64 40, i1 false), !noalias !191 + %68 = getelementptr inbounds i8, ptr %23, i64 80 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %12, ptr noundef nonnull align 8 dereferenceable(40) %68, i64 40, i1 false) call void @llvm.experimental.noalias.scope.decl(metadata !196) call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %11), !noalias !199 call void @llvm.memset.p0.i64(ptr noundef nonnull align 1 dereferenceable(32) %11, i8 0, i64 32, i1 false), !noalias !199 @@ -828,49 +825,48 @@ _ZN4ring2ec10curve255196scalar6Scalar26from_sha512_digest_reduced17h06357428a26d call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %8, i8 0, i64 40, i1 false), !noalias !199 call void @ring_core_0_17_8__x25519_fe_mul_ttt(ptr noalias noundef nonnull align 8 dereferenceable(40) %8, ptr noalias noundef nonnull readonly align 8 dereferenceable(40) %13, ptr noalias noundef nonnull readonly align 8 dereferenceable(40) %10), !noalias !205 call void @ring_core_0_17_8__x25519_fe_tobytes(ptr noalias noundef nonnull align 1 dereferenceable(32) %11, ptr noalias noundef nonnull readonly align 8 dereferenceable(40) %8), !noalias !205 - %70 = call noundef zeroext i8 @ring_core_0_17_8__x25519_fe_isnegative(ptr noalias noundef nonnull readonly align 8 dereferenceable(40) %9), !noalias !205 + %69 = call noundef zeroext i8 @ring_core_0_17_8__x25519_fe_isnegative(ptr noalias noundef nonnull readonly align 8 dereferenceable(40) %9), !noalias !205 call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %8), !noalias !199 call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %9), !noalias !199 call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %10), !noalias !199 - %71 = shl i8 %70, 7 - %72 = getelementptr inbounds i8, ptr %11, i64 31 - %73 = load i8, ptr %72, align 1, !noalias !199, !noundef !10 - %74 = xor i8 %73, %71 - store i8 %74, ptr %72, align 1, !noalias !199 - %75 = load <32 x i8>, ptr %11, align 1, !noalias !199 - store <32 x i8> %75, ptr %23, align 1, !alias.scope !206, !noalias !207 + %70 = shl i8 %69, 7 + %71 = getelementptr inbounds i8, ptr %11, i64 31 + %72 = load i8, ptr %71, align 1, !noalias !199, !noundef !10 + %73 = xor i8 %72, %70 + store i8 %73, ptr %71, align 1, !noalias !199 + %74 = load <32 x i8>, ptr %11, align 1, !noalias !199 + store <32 x i8> %74, ptr %22, align 1, !alias.scope !206, !noalias !207 call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %11), !noalias !199 call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %12), !noalias !194 call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %13), !noalias !194 call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %14), !noalias !194 - call void @llvm.lifetime.end.p0(i64 120, ptr nonnull %22) - %bcmp = call i32 @bcmp(ptr noundef nonnull dereferenceable(32) %.fca.0.extract, ptr noundef nonnull dereferenceable(32) %23, i64 32) + %bcmp = call i32 @bcmp(ptr noundef nonnull dereferenceable(32) %.fca.0.extract, ptr noundef nonnull dereferenceable(32) %22, i64 32) %.not = icmp eq i32 %bcmp, 0 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %23) - call void @llvm.lifetime.end.p0(i64 120, ptr nonnull %24) - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %25) - br i1 %.not, label %77, label %79 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %22) + call void @llvm.lifetime.end.p0(i64 120, ptr nonnull %23) + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %24) + br i1 %.not, label %76, label %78 -76: ; preds = %47 +75: ; preds = %46 call void @llvm.lifetime.end.p0(i64 160, ptr nonnull %19), !noalias !130 - br label %79 - -77: ; preds = %_ZN4ring2ec10curve255196scalar6Scalar26from_sha512_digest_reduced17h06357428a26d51b0E.exit - call void @llvm.lifetime.end.p0(i64 160, ptr nonnull %27) - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %28) br label %78 -78: ; preds = %7, %31, %80, %77 - %.0 = phi i1 [ true, %80 ], [ false, %77 ], [ true, %31 ], [ true, %7 ] +76: ; preds = %_ZN4ring2ec10curve255196scalar6Scalar26from_sha512_digest_reduced17h06357428a26d51b0E.exit + call void @llvm.lifetime.end.p0(i64 160, ptr nonnull %26) + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %27) + br label %77 + +77: ; preds = %7, %30, %79, %76 + %.0 = phi i1 [ true, %79 ], [ false, %76 ], [ true, %30 ], [ true, %7 ] ret i1 %.0 -79: ; preds = %_ZN4ring2ec10curve255196scalar6Scalar26from_sha512_digest_reduced17h06357428a26d51b0E.exit, %76 - call void @llvm.lifetime.end.p0(i64 160, ptr nonnull %27) - br label %80 +78: ; preds = %_ZN4ring2ec10curve255196scalar6Scalar26from_sha512_digest_reduced17h06357428a26d51b0E.exit, %75 + call void @llvm.lifetime.end.p0(i64 160, ptr nonnull %26) + br label %79 -80: ; preds = %79, %49 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %28) - br label %78 +79: ; preds = %78, %48 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %27) + br label %77 } ; Function Attrs: nonlazybind uwtable diff --git a/bench/ripgrep-rs/optimized/4rymer90zmfu5xtd.ll b/bench/ripgrep-rs/optimized/4rymer90zmfu5xtd.ll index e0333eb5193..b748c5e224c 100644 --- a/bench/ripgrep-rs/optimized/4rymer90zmfu5xtd.ll +++ b/bench/ripgrep-rs/optimized/4rymer90zmfu5xtd.ll @@ -4671,7 +4671,7 @@ _ZN7globset20MultiStrategyBuilder6prefix17h7f0f0efd5b86e426E.exit.i: ; preds = % 276: ; preds = %"_ZN99_$LT$hashbrown..raw..RawIntoIter$LT$T$C$A$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h91fb6021a55471e2E.exit.i.i" call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %60), !noalias !1039 store i64 %.sroa.066.0.copyload.i.i, ptr %60, align 8, !noalias !1039 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %.sroa.8.0..sroa_idx68.i.i, ptr noundef nonnull align 8 dereferenceable(16) %.sroa.8.0..sroa_idx.i.i, i64 16, i1 false), !noalias !1061 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %.sroa.8.0..sroa_idx68.i.i, ptr noundef nonnull align 8 dereferenceable(16) %.sroa.8.i.i, i64 16, i1 false), !noalias !1039 call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %59), !noalias !1039 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %59, ptr noundef nonnull align 8 dereferenceable(24) %.sroa.8.24..sroa_idx.i.i, i64 24, i1 false), !noalias !1039 call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %58), !noalias !1039 diff --git a/bench/ripgrep-rs/optimized/c8unzkdiauw9hyd.ll b/bench/ripgrep-rs/optimized/c8unzkdiauw9hyd.ll index 9f07a0cb8ad..dda2a1549a9 100644 --- a/bench/ripgrep-rs/optimized/c8unzkdiauw9hyd.ll +++ b/bench/ripgrep-rs/optimized/c8unzkdiauw9hyd.ll @@ -3326,40 +3326,39 @@ define hidden void @"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core. %.sroa.5.i.i.i.i.i = alloca [39 x i8], align 1 %9 = alloca { { ptr, i64 }, { i8, [39 x i8] }, i8, i8, i8, [5 x i8] }, align 8 %10 = alloca { { ptr, i64 }, { i8, [39 x i8] }, i8, i8, i8, [5 x i8] }, align 8 - %11 = alloca { { { { { { i64, ptr, {} }, i64 } } } }, { { ptr, [1 x i64] }, i64, i64, i64, i8, i8, i8, i8, [4 x i8] } }, align 8 - %12 = alloca { { { { { i64, ptr, {} }, i64 } } } }, align 8 + %11 = alloca { { { { { i64, ptr, {} }, i64 } } } }, align 8 + %12 = alloca { { { { { { i64, ptr, {} }, i64 } } } }, { { ptr, [1 x i64] }, i64, i64, i64, i8, i8, i8, i8, [4 x i8] } }, align 8 %13 = alloca { { { { { { i64, ptr, {} }, i64 } } } }, { { ptr, [1 x i64] }, i64, i64, i64, i8, i8, i8, i8, [4 x i8] } }, align 8 %14 = alloca { { { { { { i64, ptr, {} }, i64 } } } }, { { ptr, [1 x i64] }, i64, i64, i64, i8, i8, i8, i8, [4 x i8] } }, align 8 %15 = alloca { { { { { { i64, ptr, {} }, i64 } } } }, { { ptr, [1 x i64] }, i64, i64, i64, i8, i8, i8, i8, [4 x i8] } }, align 8 - %16 = alloca { { { { { { i64, ptr, {} }, i64 } } } }, { { ptr, [1 x i64] }, i64, i64, i64, i8, i8, i8, i8, [4 x i8] } }, align 8 %.sroa.01.i = alloca { { i64, ptr, {} }, i64 }, align 8 %.sroa.9.i = alloca [2 x i64], align 8 %.sroa.11.i = alloca [2 x i64], align 8 %.sroa.14.i = alloca [3 x i64], align 8 %.sroa.15.i = alloca [6 x i64], align 8 %.sroa.16.i = alloca [2 x i64], align 8 - %17 = icmp ne ptr %1, null - tail call void @llvm.assume(i1 %17) - %18 = icmp eq ptr %0, %1 - br i1 %18, label %49, label %19 - -19: ; preds = %3 - %20 = ptrtoint ptr %1 to i64 - %21 = ptrtoint ptr %0 to i64 - %22 = sub nuw i64 %20, %21 - %23 = udiv exact i64 %22, 24 - %24 = getelementptr inbounds i8, ptr %10, i64 8 - %25 = getelementptr inbounds i8, ptr %9, i64 8 - %26 = getelementptr inbounds i8, ptr %10, i64 56 - %27 = getelementptr inbounds i8, ptr %9, i64 56 - %28 = getelementptr inbounds i8, ptr %10, i64 57 - %29 = getelementptr inbounds i8, ptr %9, i64 57 - %30 = getelementptr inbounds i8, ptr %10, i64 16 - %31 = getelementptr inbounds i8, ptr %9, i64 16 + %16 = icmp ne ptr %1, null + tail call void @llvm.assume(i1 %16) + %17 = icmp eq ptr %0, %1 + br i1 %17, label %47, label %18 + +18: ; preds = %3 + %19 = ptrtoint ptr %1 to i64 + %20 = ptrtoint ptr %0 to i64 + %21 = sub nuw i64 %19, %20 + %22 = udiv exact i64 %21, 24 + %23 = getelementptr inbounds i8, ptr %10, i64 8 + %24 = getelementptr inbounds i8, ptr %9, i64 8 + %25 = getelementptr inbounds i8, ptr %10, i64 56 + %26 = getelementptr inbounds i8, ptr %9, i64 56 + %27 = getelementptr inbounds i8, ptr %10, i64 57 + %28 = getelementptr inbounds i8, ptr %9, i64 57 + %29 = getelementptr inbounds i8, ptr %10, i64 16 + %30 = getelementptr inbounds i8, ptr %9, i64 16 %.sroa.4.0..sroa_idx.i.i.i.i.i = getelementptr inbounds i8, ptr %10, i64 17 - %32 = getelementptr inbounds i8, ptr %10, i64 58 + %31 = getelementptr inbounds i8, ptr %10, i64 58 %.sroa.4.0..sroa_idx.i11.i.i.i.i = getelementptr inbounds i8, ptr %9, i64 17 - %33 = getelementptr inbounds i8, ptr %9, i64 58 + %32 = getelementptr inbounds i8, ptr %9, i64 58 %.sroa.0.sroa.4.0..sroa_idx.i.i.i.i = getelementptr inbounds i8, ptr %8, i64 8 %.sroa.0.sroa.5.0..sroa_idx.i.i.i.i = getelementptr inbounds i8, ptr %8, i64 16 %.sroa.0.sroa.6.0..sroa_idx.i.i.i.i = getelementptr inbounds i8, ptr %8, i64 17 @@ -3372,89 +3371,88 @@ define hidden void @"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core. %.sroa.0.sroa.728.0..sroa_idx.i.i.i.i = getelementptr inbounds i8, ptr %7, i64 56 %.sroa.0.sroa.829.0..sroa_idx.i.i.i.i = getelementptr inbounds i8, ptr %7, i64 57 %.sroa.0.sroa.930.0..sroa_idx.i.i.i.i = getelementptr inbounds i8, ptr %7, i64 58 - %34 = getelementptr inbounds i8, ptr %5, i64 40 - %35 = getelementptr inbounds i8, ptr %5, i64 16 - %36 = getelementptr inbounds i8, ptr %5, i64 24 - %37 = getelementptr inbounds i8, ptr %5, i64 32 - %38 = getelementptr inbounds i8, ptr %16, i64 24 - %39 = getelementptr inbounds i8, ptr %2, i64 48 - %40 = getelementptr inbounds i8, ptr %15, i64 64 - %.sroa.2.0..sroa_idx.i.i = getelementptr inbounds i8, ptr %16, i64 67 - %41 = getelementptr inbounds i8, ptr %2, i64 40 - %42 = getelementptr inbounds i8, ptr %2, i64 8 - %.sroa.212.0..sroa_idx.i.i = getelementptr inbounds i8, ptr %16, i64 48 - %.sroa.416.0..sroa_idx.i.i = getelementptr inbounds i8, ptr %16, i64 56 - %43 = getelementptr inbounds i8, ptr %2, i64 16 - %44 = getelementptr inbounds i8, ptr %2, i64 24 - %45 = getelementptr inbounds i8, ptr %2, i64 32 - %46 = getelementptr inbounds i8, ptr %11, i64 24 - %47 = getelementptr inbounds i8, ptr %2, i64 72 - %48 = getelementptr inbounds i8, ptr %2, i64 64 - br label %70 - -49: ; preds = %3 + %33 = getelementptr inbounds i8, ptr %5, i64 40 + %34 = getelementptr inbounds i8, ptr %5, i64 16 + %35 = getelementptr inbounds i8, ptr %5, i64 24 + %36 = getelementptr inbounds i8, ptr %5, i64 32 + %37 = getelementptr inbounds i8, ptr %15, i64 24 + %38 = getelementptr inbounds i8, ptr %2, i64 48 + %39 = getelementptr inbounds i8, ptr %14, i64 64 + %.sroa.2.0..sroa_idx.i.i = getelementptr inbounds i8, ptr %15, i64 67 + %40 = getelementptr inbounds i8, ptr %2, i64 40 + %41 = getelementptr inbounds i8, ptr %2, i64 8 + %.sroa.212.0..sroa_idx.i.i = getelementptr inbounds i8, ptr %15, i64 48 + %.sroa.416.0..sroa_idx.i.i = getelementptr inbounds i8, ptr %15, i64 56 + %42 = getelementptr inbounds i8, ptr %2, i64 16 + %43 = getelementptr inbounds i8, ptr %2, i64 24 + %44 = getelementptr inbounds i8, ptr %2, i64 32 + %45 = getelementptr inbounds i8, ptr %2, i64 72 + %46 = getelementptr inbounds i8, ptr %2, i64 64 + br label %68 + +47: ; preds = %3 tail call void @llvm.experimental.noalias.scope.decl(metadata !732) - %50 = getelementptr inbounds i8, ptr %2, i64 56 - %.val.i = load ptr, ptr %50, align 8, !alias.scope !735, !nonnull !4, !align !5, !noundef !4 - %51 = getelementptr inbounds i8, ptr %2, i64 64 - %.val1.i = load i64, ptr %51, align 8, !alias.scope !735, !noundef !4 + %48 = getelementptr inbounds i8, ptr %2, i64 56 + %.val.i = load ptr, ptr %48, align 8, !alias.scope !735, !nonnull !4, !align !5, !noundef !4 + %49 = getelementptr inbounds i8, ptr %2, i64 64 + %.val1.i = load i64, ptr %49, align 8, !alias.scope !735, !noundef !4 store i64 %.val1.i, ptr %.val.i, align 8, !noalias !740 tail call void @llvm.experimental.noalias.scope.decl(metadata !745) - %52 = getelementptr inbounds i8, ptr %2, i64 16 + %50 = getelementptr inbounds i8, ptr %2, i64 16 tail call void @llvm.experimental.noalias.scope.decl(metadata !748) - %53 = load i64, ptr %52, align 8, !range !447, !alias.scope !751, !noundef !4 - %54 = icmp eq i64 %53, 2 - br i1 %54, label %"_ZN4core3ptr769drop_in_place$LT$core..iter..adapters..map..map_fold$LT$$RF$std..path..PathBuf$C$$LP$std..path..PathBuf$C$core..option..Option$LT$ignore..walk..WalkEventIter$GT$$RP$$C$$LP$$RP$$C$ignore..walk..WalkBuilder..build..$u7b$$u7b$closure$u7d$$u7d$$C$core..iter..traits..iterator..Iterator..for_each..call$LT$$LP$std..path..PathBuf$C$core..option..Option$LT$ignore..walk..WalkEventIter$GT$$RP$$C$alloc..vec..Vec$LT$$LP$std..path..PathBuf$C$core..option..Option$LT$ignore..walk..WalkEventIter$GT$$RP$$GT$..extend_trusted$LT$core..iter..adapters..map..Map$LT$core..slice..iter..Iter$LT$std..path..PathBuf$GT$$C$ignore..walk..WalkBuilder..build..$u7b$$u7b$closure$u7d$$u7d$$GT$$GT$..$u7b$$u7b$closure$u7d$$u7d$$GT$..$u7b$$u7b$closure$u7d$$u7d$$GT$..$u7b$$u7b$closure$u7d$$u7d$$GT$17hd9ac85e13f75bba2E.exit", label %55 + %51 = load i64, ptr %50, align 8, !range !447, !alias.scope !751, !noundef !4 + %52 = icmp eq i64 %51, 2 + br i1 %52, label %"_ZN4core3ptr769drop_in_place$LT$core..iter..adapters..map..map_fold$LT$$RF$std..path..PathBuf$C$$LP$std..path..PathBuf$C$core..option..Option$LT$ignore..walk..WalkEventIter$GT$$RP$$C$$LP$$RP$$C$ignore..walk..WalkBuilder..build..$u7b$$u7b$closure$u7d$$u7d$$C$core..iter..traits..iterator..Iterator..for_each..call$LT$$LP$std..path..PathBuf$C$core..option..Option$LT$ignore..walk..WalkEventIter$GT$$RP$$C$alloc..vec..Vec$LT$$LP$std..path..PathBuf$C$core..option..Option$LT$ignore..walk..WalkEventIter$GT$$RP$$GT$..extend_trusted$LT$core..iter..adapters..map..Map$LT$core..slice..iter..Iter$LT$std..path..PathBuf$GT$$C$ignore..walk..WalkBuilder..build..$u7b$$u7b$closure$u7d$$u7d$$GT$$GT$..$u7b$$u7b$closure$u7d$$u7d$$GT$..$u7b$$u7b$closure$u7d$$u7d$$GT$..$u7b$$u7b$closure$u7d$$u7d$$GT$17hd9ac85e13f75bba2E.exit", label %53 -55: ; preds = %49 +53: ; preds = %47 tail call void @llvm.experimental.noalias.scope.decl(metadata !752) - %56 = icmp eq i64 %53, 0 - %57 = getelementptr inbounds i8, ptr %2, i64 24 - br i1 %56, label %58, label %63 + %54 = icmp eq i64 %51, 0 + %55 = getelementptr inbounds i8, ptr %2, i64 24 + br i1 %54, label %56, label %61 -58: ; preds = %55 +56: ; preds = %53 tail call void @llvm.experimental.noalias.scope.decl(metadata !755) tail call void @llvm.experimental.noalias.scope.decl(metadata !758) - %59 = load ptr, ptr %57, align 8, !alias.scope !761, !nonnull !4, !noundef !4 - %60 = atomicrmw sub ptr %59, i64 1 release, align 8, !noalias !761 - %61 = icmp eq i64 %60, 1 - br i1 %61, label %62, label %"_ZN4core3ptr769drop_in_place$LT$core..iter..adapters..map..map_fold$LT$$RF$std..path..PathBuf$C$$LP$std..path..PathBuf$C$core..option..Option$LT$ignore..walk..WalkEventIter$GT$$RP$$C$$LP$$RP$$C$ignore..walk..WalkBuilder..build..$u7b$$u7b$closure$u7d$$u7d$$C$core..iter..traits..iterator..Iterator..for_each..call$LT$$LP$std..path..PathBuf$C$core..option..Option$LT$ignore..walk..WalkEventIter$GT$$RP$$C$alloc..vec..Vec$LT$$LP$std..path..PathBuf$C$core..option..Option$LT$ignore..walk..WalkEventIter$GT$$RP$$GT$..extend_trusted$LT$core..iter..adapters..map..Map$LT$core..slice..iter..Iter$LT$std..path..PathBuf$GT$$C$ignore..walk..WalkBuilder..build..$u7b$$u7b$closure$u7d$$u7d$$GT$$GT$..$u7b$$u7b$closure$u7d$$u7d$$GT$..$u7b$$u7b$closure$u7d$$u7d$$GT$..$u7b$$u7b$closure$u7d$$u7d$$GT$17hd9ac85e13f75bba2E.exit" + %57 = load ptr, ptr %55, align 8, !alias.scope !761, !nonnull !4, !noundef !4 + %58 = atomicrmw sub ptr %57, i64 1 release, align 8, !noalias !761 + %59 = icmp eq i64 %58, 1 + br i1 %59, label %60, label %"_ZN4core3ptr769drop_in_place$LT$core..iter..adapters..map..map_fold$LT$$RF$std..path..PathBuf$C$$LP$std..path..PathBuf$C$core..option..Option$LT$ignore..walk..WalkEventIter$GT$$RP$$C$$LP$$RP$$C$ignore..walk..WalkBuilder..build..$u7b$$u7b$closure$u7d$$u7d$$C$core..iter..traits..iterator..Iterator..for_each..call$LT$$LP$std..path..PathBuf$C$core..option..Option$LT$ignore..walk..WalkEventIter$GT$$RP$$C$alloc..vec..Vec$LT$$LP$std..path..PathBuf$C$core..option..Option$LT$ignore..walk..WalkEventIter$GT$$RP$$GT$..extend_trusted$LT$core..iter..adapters..map..Map$LT$core..slice..iter..Iter$LT$std..path..PathBuf$GT$$C$ignore..walk..WalkBuilder..build..$u7b$$u7b$closure$u7d$$u7d$$GT$$GT$..$u7b$$u7b$closure$u7d$$u7d$$GT$..$u7b$$u7b$closure$u7d$$u7d$$GT$..$u7b$$u7b$closure$u7d$$u7d$$GT$17hd9ac85e13f75bba2E.exit" -62: ; preds = %58 +60: ; preds = %56 fence acquire - tail call void @"_ZN5alloc4sync16Arc$LT$T$C$A$GT$9drop_slow17h91c9099697961012E"(ptr noalias noundef nonnull align 8 dereferenceable(16) %57) + tail call void @"_ZN5alloc4sync16Arc$LT$T$C$A$GT$9drop_slow17h91c9099697961012E"(ptr noalias noundef nonnull align 8 dereferenceable(16) %55) br label %"_ZN4core3ptr769drop_in_place$LT$core..iter..adapters..map..map_fold$LT$$RF$std..path..PathBuf$C$$LP$std..path..PathBuf$C$core..option..Option$LT$ignore..walk..WalkEventIter$GT$$RP$$C$$LP$$RP$$C$ignore..walk..WalkBuilder..build..$u7b$$u7b$closure$u7d$$u7d$$C$core..iter..traits..iterator..Iterator..for_each..call$LT$$LP$std..path..PathBuf$C$core..option..Option$LT$ignore..walk..WalkEventIter$GT$$RP$$C$alloc..vec..Vec$LT$$LP$std..path..PathBuf$C$core..option..Option$LT$ignore..walk..WalkEventIter$GT$$RP$$GT$..extend_trusted$LT$core..iter..adapters..map..Map$LT$core..slice..iter..Iter$LT$std..path..PathBuf$GT$$C$ignore..walk..WalkBuilder..build..$u7b$$u7b$closure$u7d$$u7d$$GT$$GT$..$u7b$$u7b$closure$u7d$$u7d$$GT$..$u7b$$u7b$closure$u7d$$u7d$$GT$..$u7b$$u7b$closure$u7d$$u7d$$GT$17hd9ac85e13f75bba2E.exit" -63: ; preds = %55 +61: ; preds = %53 tail call void @llvm.experimental.noalias.scope.decl(metadata !762) tail call void @llvm.experimental.noalias.scope.decl(metadata !765) - %64 = load ptr, ptr %57, align 8, !alias.scope !768, !nonnull !4, !noundef !4 - %65 = atomicrmw sub ptr %64, i64 1 release, align 8, !noalias !768 - %66 = icmp eq i64 %65, 1 - br i1 %66, label %67, label %"_ZN4core3ptr769drop_in_place$LT$core..iter..adapters..map..map_fold$LT$$RF$std..path..PathBuf$C$$LP$std..path..PathBuf$C$core..option..Option$LT$ignore..walk..WalkEventIter$GT$$RP$$C$$LP$$RP$$C$ignore..walk..WalkBuilder..build..$u7b$$u7b$closure$u7d$$u7d$$C$core..iter..traits..iterator..Iterator..for_each..call$LT$$LP$std..path..PathBuf$C$core..option..Option$LT$ignore..walk..WalkEventIter$GT$$RP$$C$alloc..vec..Vec$LT$$LP$std..path..PathBuf$C$core..option..Option$LT$ignore..walk..WalkEventIter$GT$$RP$$GT$..extend_trusted$LT$core..iter..adapters..map..Map$LT$core..slice..iter..Iter$LT$std..path..PathBuf$GT$$C$ignore..walk..WalkBuilder..build..$u7b$$u7b$closure$u7d$$u7d$$GT$$GT$..$u7b$$u7b$closure$u7d$$u7d$$GT$..$u7b$$u7b$closure$u7d$$u7d$$GT$..$u7b$$u7b$closure$u7d$$u7d$$GT$17hd9ac85e13f75bba2E.exit" + %62 = load ptr, ptr %55, align 8, !alias.scope !768, !nonnull !4, !noundef !4 + %63 = atomicrmw sub ptr %62, i64 1 release, align 8, !noalias !768 + %64 = icmp eq i64 %63, 1 + br i1 %64, label %65, label %"_ZN4core3ptr769drop_in_place$LT$core..iter..adapters..map..map_fold$LT$$RF$std..path..PathBuf$C$$LP$std..path..PathBuf$C$core..option..Option$LT$ignore..walk..WalkEventIter$GT$$RP$$C$$LP$$RP$$C$ignore..walk..WalkBuilder..build..$u7b$$u7b$closure$u7d$$u7d$$C$core..iter..traits..iterator..Iterator..for_each..call$LT$$LP$std..path..PathBuf$C$core..option..Option$LT$ignore..walk..WalkEventIter$GT$$RP$$C$alloc..vec..Vec$LT$$LP$std..path..PathBuf$C$core..option..Option$LT$ignore..walk..WalkEventIter$GT$$RP$$GT$..extend_trusted$LT$core..iter..adapters..map..Map$LT$core..slice..iter..Iter$LT$std..path..PathBuf$GT$$C$ignore..walk..WalkBuilder..build..$u7b$$u7b$closure$u7d$$u7d$$GT$$GT$..$u7b$$u7b$closure$u7d$$u7d$$GT$..$u7b$$u7b$closure$u7d$$u7d$$GT$..$u7b$$u7b$closure$u7d$$u7d$$GT$17hd9ac85e13f75bba2E.exit" -67: ; preds = %63 +65: ; preds = %61 fence acquire - tail call void @"_ZN5alloc4sync16Arc$LT$T$C$A$GT$9drop_slow17h2090d4c187634071E"(ptr noalias noundef nonnull align 8 dereferenceable(16) %57) + tail call void @"_ZN5alloc4sync16Arc$LT$T$C$A$GT$9drop_slow17h2090d4c187634071E"(ptr noalias noundef nonnull align 8 dereferenceable(16) %55) br label %"_ZN4core3ptr769drop_in_place$LT$core..iter..adapters..map..map_fold$LT$$RF$std..path..PathBuf$C$$LP$std..path..PathBuf$C$core..option..Option$LT$ignore..walk..WalkEventIter$GT$$RP$$C$$LP$$RP$$C$ignore..walk..WalkBuilder..build..$u7b$$u7b$closure$u7d$$u7d$$C$core..iter..traits..iterator..Iterator..for_each..call$LT$$LP$std..path..PathBuf$C$core..option..Option$LT$ignore..walk..WalkEventIter$GT$$RP$$C$alloc..vec..Vec$LT$$LP$std..path..PathBuf$C$core..option..Option$LT$ignore..walk..WalkEventIter$GT$$RP$$GT$..extend_trusted$LT$core..iter..adapters..map..Map$LT$core..slice..iter..Iter$LT$std..path..PathBuf$GT$$C$ignore..walk..WalkBuilder..build..$u7b$$u7b$closure$u7d$$u7d$$GT$$GT$..$u7b$$u7b$closure$u7d$$u7d$$GT$..$u7b$$u7b$closure$u7d$$u7d$$GT$..$u7b$$u7b$closure$u7d$$u7d$$GT$17hd9ac85e13f75bba2E.exit" -68: ; preds = %145, %143, %117, %102, %"_ZN60_$LT$std..path..Components$u20$as$u20$core..clone..Clone$GT$5clone17h0f8869fcb4462758E.exit13.i.i.i.i", %.noexc, %70 - %69 = landingpad { ptr, i32 } +66: ; preds = %143, %141, %115, %100, %"_ZN60_$LT$std..path..Components$u20$as$u20$core..clone..Clone$GT$5clone17h0f8869fcb4462758E.exit13.i.i.i.i", %.noexc, %68 + %67 = landingpad { ptr, i32 } cleanup br label %.body -.body: ; preds = %111, %120, %148, %68 - %eh.lpad-body = phi { ptr, i32 } [ %69, %68 ], [ %112, %111 ], [ %lpad.thr_comm.split-lp.i.i, %148 ], [ %121, %120 ] +.body: ; preds = %109, %118, %146, %66 + %eh.lpad-body = phi { ptr, i32 } [ %67, %66 ], [ %110, %109 ], [ %lpad.thr_comm.split-lp.i.i, %146 ], [ %119, %118 ] invoke fastcc void @"_ZN4core3ptr769drop_in_place$LT$core..iter..adapters..map..map_fold$LT$$RF$std..path..PathBuf$C$$LP$std..path..PathBuf$C$core..option..Option$LT$ignore..walk..WalkEventIter$GT$$RP$$C$$LP$$RP$$C$ignore..walk..WalkBuilder..build..$u7b$$u7b$closure$u7d$$u7d$$C$core..iter..traits..iterator..Iterator..for_each..call$LT$$LP$std..path..PathBuf$C$core..option..Option$LT$ignore..walk..WalkEventIter$GT$$RP$$C$alloc..vec..Vec$LT$$LP$std..path..PathBuf$C$core..option..Option$LT$ignore..walk..WalkEventIter$GT$$RP$$GT$..extend_trusted$LT$core..iter..adapters..map..Map$LT$core..slice..iter..Iter$LT$std..path..PathBuf$GT$$C$ignore..walk..WalkBuilder..build..$u7b$$u7b$closure$u7d$$u7d$$GT$$GT$..$u7b$$u7b$closure$u7d$$u7d$$GT$..$u7b$$u7b$closure$u7d$$u7d$$GT$..$u7b$$u7b$closure$u7d$$u7d$$GT$17hd9ac85e13f75bba2E"(ptr noalias noundef nonnull align 8 dereferenceable(80) %2) #33 - to label %174 unwind label %172 - -70: ; preds = %149, %19 - %.0 = phi i64 [ 0, %19 ], [ %154, %149 ] - %71 = getelementptr inbounds { { { { { i64, ptr, {} }, i64 } } } }, ptr %0, i64 %.0 - %72 = getelementptr i8, ptr %71, i64 8 - %.val = load ptr, ptr %72, align 8, !nonnull !4, !noundef !4 - %73 = getelementptr i8, ptr %71, i64 16 - %.val14 = load i64, ptr %73, align 8, !noundef !4 + to label %172 unwind label %170 + +68: ; preds = %147, %18 + %.0 = phi i64 [ 0, %18 ], [ %152, %147 ] + %69 = getelementptr inbounds { { { { { i64, ptr, {} }, i64 } } } }, ptr %0, i64 %.0 + %70 = getelementptr i8, ptr %69, i64 8 + %.val = load ptr, ptr %70, align 8, !nonnull !4, !noundef !4 + %71 = getelementptr i8, ptr %69, i64 16 + %.val14 = load i64, ptr %71, align 8, !noundef !4 call void @llvm.experimental.noalias.scope.decl(metadata !769) call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %.sroa.01.i) call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %.sroa.9.i) @@ -3466,386 +3464,383 @@ define hidden void @"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core. call void @llvm.experimental.noalias.scope.decl(metadata !775) call void @llvm.lifetime.start.p0(i64 64, ptr nonnull %10), !noalias !777 invoke void @_ZN3std4path4Path10components17h15e608c7aac6130cE(ptr noalias nocapture noundef nonnull sret({ { ptr, i64 }, { i8, [39 x i8] }, i8, i8, i8, [5 x i8] }) align 8 dereferenceable(64) %10, ptr noalias noundef nonnull readonly align 1 %.val, i64 noundef %.val14) - to label %.noexc unwind label %68 + to label %.noexc unwind label %66 -.noexc: ; preds = %70 +.noexc: ; preds = %68 call void @llvm.lifetime.start.p0(i64 64, ptr nonnull %9), !noalias !777 invoke void @_ZN3std4path4Path10components17h15e608c7aac6130cE(ptr noalias nocapture noundef nonnull sret({ { ptr, i64 }, { i8, [39 x i8] }, i8, i8, i8, [5 x i8] }) align 8 dereferenceable(64) %9, ptr noalias noundef nonnull readonly align 1 @anon.d3e4a78b3ed32467f97afa1d1e6744a5.126, i64 noundef 1) - to label %.noexc15 unwind label %68 + to label %.noexc15 unwind label %66 .noexc15: ; preds = %.noexc call void @llvm.experimental.noalias.scope.decl(metadata !778) call void @llvm.experimental.noalias.scope.decl(metadata !781) call void @llvm.lifetime.start.p0(i64 39, ptr nonnull %.sroa.5.i10.i.i.i.i) call void @llvm.lifetime.start.p0(i64 39, ptr nonnull %.sroa.5.i.i.i.i.i) - %74 = load ptr, ptr %10, align 8, !alias.scope !778, !noalias !783, !nonnull !4, !align !543, !noundef !4 - %75 = load i64, ptr %24, align 8, !alias.scope !778, !noalias !783, !noundef !4 - %76 = load ptr, ptr %9, align 8, !alias.scope !781, !noalias !784, !nonnull !4, !align !543, !noundef !4 - %77 = load i64, ptr %25, align 8, !alias.scope !781, !noalias !784, !noundef !4 - %78 = icmp eq i64 %75, %77 - br i1 %78, label %79, label %.noexc15._crit_edge + %72 = load ptr, ptr %10, align 8, !alias.scope !778, !noalias !783, !nonnull !4, !align !543, !noundef !4 + %73 = load i64, ptr %23, align 8, !alias.scope !778, !noalias !783, !noundef !4 + %74 = load ptr, ptr %9, align 8, !alias.scope !781, !noalias !784, !nonnull !4, !align !543, !noundef !4 + %75 = load i64, ptr %24, align 8, !alias.scope !781, !noalias !784, !noundef !4 + %76 = icmp eq i64 %73, %75 + br i1 %76, label %77, label %.noexc15._crit_edge .noexc15._crit_edge: ; preds = %.noexc15 - %.pre = load i8, ptr %30, align 8, !range !726, !alias.scope !785, !noalias !788 - br label %87 - -79: ; preds = %.noexc15 - %80 = load i8, ptr %26, align 8, !range !342, !alias.scope !778, !noalias !783, !noundef !4 - %81 = load i8, ptr %27, align 8, !range !342, !alias.scope !781, !noalias !784, !noundef !4 - %82 = icmp eq i8 %80, %81 - %83 = load i8, ptr %28, align 1, !range !342, !alias.scope !778, !noalias !783 + %.pre = load i8, ptr %29, align 8, !range !726, !alias.scope !785, !noalias !788 + br label %85 + +77: ; preds = %.noexc15 + %78 = load i8, ptr %25, align 8, !range !342, !alias.scope !778, !noalias !783, !noundef !4 + %79 = load i8, ptr %26, align 8, !range !342, !alias.scope !781, !noalias !784, !noundef !4 + %80 = icmp eq i8 %78, %79 + %81 = load i8, ptr %27, align 1, !range !342, !alias.scope !778, !noalias !783 + %82 = icmp eq i8 %81, 2 + %or.cond.i.i.i.i = select i1 %80, i1 %82, i1 false + %83 = load i8, ptr %28, align 1, !range !342, !alias.scope !781, !noalias !784 %84 = icmp eq i8 %83, 2 - %or.cond.i.i.i.i = select i1 %82, i1 %84, i1 false - %85 = load i8, ptr %29, align 1, !range !342, !alias.scope !781, !noalias !784 - %86 = icmp eq i8 %85, 2 - %or.cond7.i.i.i.i = select i1 %or.cond.i.i.i.i, i1 %86, i1 false - %.pre24 = load i8, ptr %30, align 8, !range !726, !alias.scope !778, !noalias !783 - br i1 %or.cond7.i.i.i.i, label %105, label %87 - -87: ; preds = %.noexc15._crit_edge, %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17he055145884a405c0E.exit.i.i.i.i", %105, %79 - %88 = phi i8 [ %.pre, %.noexc15._crit_edge ], [ %.pre24, %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17he055145884a405c0E.exit.i.i.i.i" ], [ %.pre24, %105 ], [ %.pre24, %79 ] - %89 = icmp eq i8 %88, 6 - br i1 %89, label %"_ZN60_$LT$std..path..Components$u20$as$u20$core..clone..Clone$GT$5clone17h0f8869fcb4462758E.exit.i.i.i.i", label %90 - -90: ; preds = %87 + %or.cond7.i.i.i.i = select i1 %or.cond.i.i.i.i, i1 %84, i1 false + %.pre24 = load i8, ptr %29, align 8, !range !726, !alias.scope !778, !noalias !783 + br i1 %or.cond7.i.i.i.i, label %103, label %85 + +85: ; preds = %.noexc15._crit_edge, %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17he055145884a405c0E.exit.i.i.i.i", %103, %77 + %86 = phi i8 [ %.pre, %.noexc15._crit_edge ], [ %.pre24, %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17he055145884a405c0E.exit.i.i.i.i" ], [ %.pre24, %103 ], [ %.pre24, %77 ] + %87 = icmp eq i8 %86, 6 + br i1 %87, label %"_ZN60_$LT$std..path..Components$u20$as$u20$core..clone..Clone$GT$5clone17h0f8869fcb4462758E.exit.i.i.i.i", label %88 + +88: ; preds = %85 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(39) %.sroa.5.i.i.i.i.i, ptr noundef nonnull align 1 dereferenceable(39) %.sroa.4.0..sroa_idx.i.i.i.i.i, i64 39, i1 false), !noalias !783 br label %"_ZN60_$LT$std..path..Components$u20$as$u20$core..clone..Clone$GT$5clone17h0f8869fcb4462758E.exit.i.i.i.i" -"_ZN60_$LT$std..path..Components$u20$as$u20$core..clone..Clone$GT$5clone17h0f8869fcb4462758E.exit.i.i.i.i": ; preds = %90, %87 - %91 = load i8, ptr %32, align 2, !range !67, !alias.scope !785, !noalias !788, !noundef !4 - %92 = load i8, ptr %26, align 8, !range !342, !alias.scope !785, !noalias !788, !noundef !4 - %93 = load i8, ptr %28, align 1, !range !342, !alias.scope !785, !noalias !788, !noundef !4 - %94 = load i8, ptr %31, align 8, !range !726, !alias.scope !790, !noalias !793, !noundef !4 - %95 = icmp eq i8 %94, 6 - br i1 %95, label %"_ZN60_$LT$std..path..Components$u20$as$u20$core..clone..Clone$GT$5clone17h0f8869fcb4462758E.exit13.i.i.i.i", label %96 +"_ZN60_$LT$std..path..Components$u20$as$u20$core..clone..Clone$GT$5clone17h0f8869fcb4462758E.exit.i.i.i.i": ; preds = %88, %85 + %89 = load i8, ptr %31, align 2, !range !67, !alias.scope !785, !noalias !788, !noundef !4 + %90 = load i8, ptr %25, align 8, !range !342, !alias.scope !785, !noalias !788, !noundef !4 + %91 = load i8, ptr %27, align 1, !range !342, !alias.scope !785, !noalias !788, !noundef !4 + %92 = load i8, ptr %30, align 8, !range !726, !alias.scope !790, !noalias !793, !noundef !4 + %93 = icmp eq i8 %92, 6 + br i1 %93, label %"_ZN60_$LT$std..path..Components$u20$as$u20$core..clone..Clone$GT$5clone17h0f8869fcb4462758E.exit13.i.i.i.i", label %94 -96: ; preds = %"_ZN60_$LT$std..path..Components$u20$as$u20$core..clone..Clone$GT$5clone17h0f8869fcb4462758E.exit.i.i.i.i" +94: ; preds = %"_ZN60_$LT$std..path..Components$u20$as$u20$core..clone..Clone$GT$5clone17h0f8869fcb4462758E.exit.i.i.i.i" call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(39) %.sroa.5.i10.i.i.i.i, ptr noundef nonnull align 1 dereferenceable(39) %.sroa.4.0..sroa_idx.i11.i.i.i.i, i64 39, i1 false), !noalias !784 br label %"_ZN60_$LT$std..path..Components$u20$as$u20$core..clone..Clone$GT$5clone17h0f8869fcb4462758E.exit13.i.i.i.i" -"_ZN60_$LT$std..path..Components$u20$as$u20$core..clone..Clone$GT$5clone17h0f8869fcb4462758E.exit13.i.i.i.i": ; preds = %96, %"_ZN60_$LT$std..path..Components$u20$as$u20$core..clone..Clone$GT$5clone17h0f8869fcb4462758E.exit.i.i.i.i" - %97 = load i8, ptr %33, align 2, !range !67, !alias.scope !790, !noalias !793, !noundef !4 - %98 = load i8, ptr %27, align 8, !range !342, !alias.scope !790, !noalias !793, !noundef !4 - %99 = load i8, ptr %29, align 1, !range !342, !alias.scope !790, !noalias !793, !noundef !4 +"_ZN60_$LT$std..path..Components$u20$as$u20$core..clone..Clone$GT$5clone17h0f8869fcb4462758E.exit13.i.i.i.i": ; preds = %94, %"_ZN60_$LT$std..path..Components$u20$as$u20$core..clone..Clone$GT$5clone17h0f8869fcb4462758E.exit.i.i.i.i" + %95 = load i8, ptr %32, align 2, !range !67, !alias.scope !790, !noalias !793, !noundef !4 + %96 = load i8, ptr %26, align 8, !range !342, !alias.scope !790, !noalias !793, !noundef !4 + %97 = load i8, ptr %28, align 1, !range !342, !alias.scope !790, !noalias !793, !noundef !4 call void @llvm.lifetime.start.p0(i64 64, ptr nonnull %8), !noalias !795 - store ptr %74, ptr %8, align 8, !noalias !799 - store i64 %75, ptr %.sroa.0.sroa.4.0..sroa_idx.i.i.i.i, align 8, !noalias !799 - store i8 %88, ptr %.sroa.0.sroa.5.0..sroa_idx.i.i.i.i, align 8, !noalias !799 + store ptr %72, ptr %8, align 8, !noalias !799 + store i64 %73, ptr %.sroa.0.sroa.4.0..sroa_idx.i.i.i.i, align 8, !noalias !799 + store i8 %86, ptr %.sroa.0.sroa.5.0..sroa_idx.i.i.i.i, align 8, !noalias !799 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(39) %.sroa.0.sroa.6.0..sroa_idx.i.i.i.i, ptr noundef nonnull align 1 dereferenceable(39) %.sroa.5.i.i.i.i.i, i64 39, i1 false), !noalias !800 - store i8 %92, ptr %.sroa.0.sroa.7.0..sroa_idx.i.i.i.i, align 8, !noalias !799 - store i8 %93, ptr %.sroa.0.sroa.8.0..sroa_idx.i.i.i.i, align 1, !noalias !799 - store i8 %91, ptr %.sroa.0.sroa.9.0..sroa_idx.i.i.i.i, align 2, !noalias !799 + store i8 %90, ptr %.sroa.0.sroa.7.0..sroa_idx.i.i.i.i, align 8, !noalias !799 + store i8 %91, ptr %.sroa.0.sroa.8.0..sroa_idx.i.i.i.i, align 1, !noalias !799 + store i8 %89, ptr %.sroa.0.sroa.9.0..sroa_idx.i.i.i.i, align 2, !noalias !799 call void @llvm.lifetime.start.p0(i64 64, ptr nonnull %7), !noalias !795 - store ptr %76, ptr %7, align 8, !alias.scope !801, !noalias !805 - store i64 %77, ptr %.sroa.0.sroa.425.0..sroa_idx.i.i.i.i, align 8, !alias.scope !801, !noalias !805 - store i8 %94, ptr %.sroa.0.sroa.526.0..sroa_idx.i.i.i.i, align 8, !alias.scope !801, !noalias !805 + store ptr %74, ptr %7, align 8, !alias.scope !801, !noalias !805 + store i64 %75, ptr %.sroa.0.sroa.425.0..sroa_idx.i.i.i.i, align 8, !alias.scope !801, !noalias !805 + store i8 %92, ptr %.sroa.0.sroa.526.0..sroa_idx.i.i.i.i, align 8, !alias.scope !801, !noalias !805 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(39) %.sroa.0.sroa.627.0..sroa_idx.i.i.i.i, ptr noundef nonnull align 1 dereferenceable(39) %.sroa.5.i10.i.i.i.i, i64 39, i1 false), !alias.scope !801, !noalias !800 - store i8 %98, ptr %.sroa.0.sroa.728.0..sroa_idx.i.i.i.i, align 8, !alias.scope !801, !noalias !805 - store i8 %99, ptr %.sroa.0.sroa.829.0..sroa_idx.i.i.i.i, align 1, !alias.scope !801, !noalias !805 - store i8 %97, ptr %.sroa.0.sroa.930.0..sroa_idx.i.i.i.i, align 2, !alias.scope !801, !noalias !805 - %100 = invoke noundef i8 @_ZN4core4iter6traits12double_ended19DoubleEndedIterator9try_rfold17h8b630d47df92e240E.llvm.18333092558533072501(ptr noalias noundef nonnull align 8 dereferenceable(64) %8, ptr noalias noundef nonnull align 8 dereferenceable(64) %7) - to label %.noexc16 unwind label %68 + store i8 %96, ptr %.sroa.0.sroa.728.0..sroa_idx.i.i.i.i, align 8, !alias.scope !801, !noalias !805 + store i8 %97, ptr %.sroa.0.sroa.829.0..sroa_idx.i.i.i.i, align 1, !alias.scope !801, !noalias !805 + store i8 %95, ptr %.sroa.0.sroa.930.0..sroa_idx.i.i.i.i, align 2, !alias.scope !801, !noalias !805 + %98 = invoke noundef i8 @_ZN4core4iter6traits12double_ended19DoubleEndedIterator9try_rfold17h8b630d47df92e240E.llvm.18333092558533072501(ptr noalias noundef nonnull align 8 dereferenceable(64) %8, ptr noalias noundef nonnull align 8 dereferenceable(64) %7) + to label %.noexc16 unwind label %66 .noexc16: ; preds = %"_ZN60_$LT$std..path..Components$u20$as$u20$core..clone..Clone$GT$5clone17h0f8869fcb4462758E.exit13.i.i.i.i" - %101 = icmp eq i8 %100, 3 - br i1 %101, label %102, label %"_ZN82_$LT$std..path..PathBuf$u20$as$u20$core..cmp..PartialEq$LT$std..path..Path$GT$$GT$2eq17h5ec66380bd60d2c1E.exit.i.i" + %99 = icmp eq i8 %98, 3 + br i1 %99, label %100, label %"_ZN82_$LT$std..path..PathBuf$u20$as$u20$core..cmp..PartialEq$LT$std..path..Path$GT$$GT$2eq17h5ec66380bd60d2c1E.exit.i.i" -102: ; preds = %.noexc16 +100: ; preds = %.noexc16 call void @llvm.lifetime.start.p0(i64 56, ptr nonnull %6), !noalias !806 invoke void @"_ZN95_$LT$std..path..Components$u20$as$u20$core..iter..traits..double_ended..DoubleEndedIterator$GT$9next_back17h49e685722c211920E"(ptr noalias nocapture noundef nonnull sret({ i8, [55 x i8] }) align 8 dereferenceable(56) %6, ptr noalias noundef nonnull align 8 dereferenceable(64) %7) - to label %.noexc17 unwind label %68 + to label %.noexc17 unwind label %66 -.noexc17: ; preds = %102 - %103 = load i8, ptr %6, align 8, !range !810, !noalias !806, !noundef !4 - %104 = icmp ne i8 %103, 10 - %.04.i.i.i.i.i.i = sext i1 %104 to i8 +.noexc17: ; preds = %100 + %101 = load i8, ptr %6, align 8, !range !810, !noalias !806, !noundef !4 + %102 = icmp ne i8 %101, 10 + %.04.i.i.i.i.i.i = sext i1 %102 to i8 call void @llvm.lifetime.end.p0(i64 56, ptr nonnull %6), !noalias !806 br label %"_ZN82_$LT$std..path..PathBuf$u20$as$u20$core..cmp..PartialEq$LT$std..path..Path$GT$$GT$2eq17h5ec66380bd60d2c1E.exit.i.i" -105: ; preds = %79 +103: ; preds = %77 %switch.i.i.i.i.i.i.i = icmp ult i8 %.pre24, 3 - %106 = load i8, ptr %31, align 8, !range !726, !alias.scope !811, !noalias !784, !noundef !4 - %switch.i.i.i14.i.i.i.i = icmp ult i8 %106, 3 - %107 = xor i1 %switch.i.i.i.i.i.i.i, %switch.i.i.i14.i.i.i.i - br i1 %107, label %87, label %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17he055145884a405c0E.exit.i.i.i.i" + %104 = load i8, ptr %30, align 8, !range !726, !alias.scope !811, !noalias !784, !noundef !4 + %switch.i.i.i14.i.i.i.i = icmp ult i8 %104, 3 + %105 = xor i1 %switch.i.i.i.i.i.i.i, %switch.i.i.i14.i.i.i.i + br i1 %105, label %85, label %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17he055145884a405c0E.exit.i.i.i.i" -"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17he055145884a405c0E.exit.i.i.i.i": ; preds = %105 - %bcmp.i.i.i.i.i = call i32 @bcmp(ptr nonnull %74, ptr nonnull %76, i64 %75), !alias.scope !814, !noalias !800 - %108 = icmp eq i32 %bcmp.i.i.i.i.i, 0 - br i1 %108, label %"_ZN82_$LT$std..path..PathBuf$u20$as$u20$core..cmp..PartialEq$LT$std..path..Path$GT$$GT$2eq17h5ec66380bd60d2c1E.exit.thread.i.i", label %87 +"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17he055145884a405c0E.exit.i.i.i.i": ; preds = %103 + %bcmp.i.i.i.i.i = call i32 @bcmp(ptr nonnull %72, ptr nonnull %74, i64 %73), !alias.scope !814, !noalias !800 + %106 = icmp eq i32 %bcmp.i.i.i.i.i, 0 + br i1 %106, label %"_ZN82_$LT$std..path..PathBuf$u20$as$u20$core..cmp..PartialEq$LT$std..path..Path$GT$$GT$2eq17h5ec66380bd60d2c1E.exit.thread.i.i", label %85 "_ZN82_$LT$std..path..PathBuf$u20$as$u20$core..cmp..PartialEq$LT$std..path..Path$GT$$GT$2eq17h5ec66380bd60d2c1E.exit.thread.i.i": ; preds = %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17he055145884a405c0E.exit.i.i.i.i" call void @llvm.lifetime.end.p0(i64 39, ptr nonnull %.sroa.5.i10.i.i.i.i) call void @llvm.lifetime.end.p0(i64 39, ptr nonnull %.sroa.5.i.i.i.i.i) call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %9), !noalias !777 call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %10), !noalias !777 - br label %117 + br label %115 "_ZN82_$LT$std..path..PathBuf$u20$as$u20$core..cmp..PartialEq$LT$std..path..Path$GT$$GT$2eq17h5ec66380bd60d2c1E.exit.i.i": ; preds = %.noexc17, %.noexc16 - %.0.i.i.i.i.i.i = phi i8 [ %.04.i.i.i.i.i.i, %.noexc17 ], [ %100, %.noexc16 ] + %.0.i.i.i.i.i.i = phi i8 [ %.04.i.i.i.i.i.i, %.noexc17 ], [ %98, %.noexc16 ] call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %7), !noalias !795 call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %8), !noalias !795 - %109 = icmp eq i8 %.0.i.i.i.i.i.i, 0 + %107 = icmp eq i8 %.0.i.i.i.i.i.i, 0 call void @llvm.lifetime.end.p0(i64 39, ptr nonnull %.sroa.5.i10.i.i.i.i) call void @llvm.lifetime.end.p0(i64 39, ptr nonnull %.sroa.5.i.i.i.i.i) call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %9), !noalias !777 call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %10), !noalias !777 - br i1 %109, label %117, label %110 + br i1 %107, label %115, label %108 -110: ; preds = %"_ZN82_$LT$std..path..PathBuf$u20$as$u20$core..cmp..PartialEq$LT$std..path..Path$GT$$GT$2eq17h5ec66380bd60d2c1E.exit.i.i" - call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %16), !noalias !777 +108: ; preds = %"_ZN82_$LT$std..path..PathBuf$u20$as$u20$core..cmp..PartialEq$LT$std..path..Path$GT$$GT$2eq17h5ec66380bd60d2c1E.exit.i.i" + call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %15), !noalias !777 call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %5), !noalias !818 - store i64 10, ptr %35, align 8, !noalias !818 - store i64 0, ptr %36, align 8, !noalias !818 - store i64 -1, ptr %37, align 8, !noalias !818 + store i64 10, ptr %34, align 8, !noalias !818 + store i64 0, ptr %35, align 8, !noalias !818 + store i64 -1, ptr %36, align 8, !noalias !818 store ptr null, ptr %5, align 8, !noalias !818 - store <4 x i8> , ptr %34, align 8, !noalias !818 + store <4 x i8> , ptr %33, align 8, !noalias !818 call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %4), !noalias !818 invoke void @_ZN3std4path4Path11to_path_buf17h244d289ac0030e02E(ptr noalias nocapture noundef nonnull sret({ { { { { i64, ptr, {} }, i64 } } } }) align 8 dereferenceable(24) %4, ptr noalias noundef nonnull readonly align 1 %.val, i64 noundef %.val14) - to label %_ZN7walkdir7WalkDir3new17hd7db67eb644640c8E.exit.i.i unwind label %111, !noalias !818 + to label %_ZN7walkdir7WalkDir3new17hd7db67eb644640c8E.exit.i.i unwind label %109, !noalias !818 -111: ; preds = %110 - %112 = landingpad { ptr, i32 } +109: ; preds = %108 + %110 = landingpad { ptr, i32 } cleanup invoke void @"_ZN4core3ptr44drop_in_place$LT$walkdir..WalkDirOptions$GT$17h7a7e7347935f63d9E"(ptr noalias noundef nonnull align 8 dereferenceable(48) %5) #33 - to label %.body unwind label %113, !noalias !818 + to label %.body unwind label %111, !noalias !818 -113: ; preds = %111 - %114 = landingpad { ptr, i32 } +111: ; preds = %109 + %112 = landingpad { ptr, i32 } filter [0 x ptr] zeroinitializer call void @_ZN4core9panicking16panic_in_cleanup17h76c6e1c84248d3ffE() #35, !noalias !818 unreachable -_ZN7walkdir7WalkDir3new17hd7db67eb644640c8E.exit.i.i: ; preds = %110 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(48) %38, ptr noundef nonnull align 8 dereferenceable(48) %5, i64 48, i1 false), !noalias !822 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %16, ptr noundef nonnull align 8 dereferenceable(24) %4, i64 24, i1 false), !noalias !822 +_ZN7walkdir7WalkDir3new17hd7db67eb644640c8E.exit.i.i: ; preds = %108 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(48) %37, ptr noundef nonnull align 8 dereferenceable(48) %5, i64 48, i1 false), !noalias !822 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %15, ptr noundef nonnull align 8 dereferenceable(24) %4, i64 24, i1 false), !noalias !822 call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %4), !noalias !818 call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %5), !noalias !818 - call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %15), !noalias !777 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(72) %15, ptr noundef nonnull align 8 dereferenceable(72) %16, i64 72, i1 false), !noalias !777 - %115 = load i8, ptr %39, align 8, !range !67, !alias.scope !823, !noalias !772, !noundef !4 - %116 = trunc i8 %115 to i1 - br i1 %116, label %124, label %118 + call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %14), !noalias !777 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(72) %14, ptr noundef nonnull align 8 dereferenceable(72) %15, i64 72, i1 false), !noalias !777 + %113 = load i8, ptr %38, align 8, !range !67, !alias.scope !823, !noalias !772, !noundef !4 + %114 = trunc i8 %113 to i1 + br i1 %114, label %122, label %116 -117: ; preds = %"_ZN82_$LT$std..path..PathBuf$u20$as$u20$core..cmp..PartialEq$LT$std..path..Path$GT$$GT$2eq17h5ec66380bd60d2c1E.exit.i.i", %"_ZN82_$LT$std..path..PathBuf$u20$as$u20$core..cmp..PartialEq$LT$std..path..Path$GT$$GT$2eq17h5ec66380bd60d2c1E.exit.thread.i.i" +115: ; preds = %"_ZN82_$LT$std..path..PathBuf$u20$as$u20$core..cmp..PartialEq$LT$std..path..Path$GT$$GT$2eq17h5ec66380bd60d2c1E.exit.i.i", %"_ZN82_$LT$std..path..PathBuf$u20$as$u20$core..cmp..PartialEq$LT$std..path..Path$GT$$GT$2eq17h5ec66380bd60d2c1E.exit.thread.i.i" invoke void @_ZN3std4path4Path11to_path_buf17h244d289ac0030e02E(ptr noalias nocapture noundef nonnull sret({ { { { { i64, ptr, {} }, i64 } } } }) align 8 dereferenceable(24) %.sroa.01.i, ptr noalias noundef nonnull readonly align 1 %.val, i64 noundef %.val14) - to label %149 unwind label %68 + to label %147 unwind label %66 -118: ; preds = %_ZN7walkdir7WalkDir3new17hd7db67eb644640c8E.exit.i.i - %119 = invoke noundef zeroext i1 @_ZN3std4path4Path7is_file17h41270fbbf977ececE(ptr noalias noundef nonnull readonly align 1 %.val, i64 noundef %.val14) - to label %122 unwind label %120, !noalias !777 +116: ; preds = %_ZN7walkdir7WalkDir3new17hd7db67eb644640c8E.exit.i.i + %117 = invoke noundef zeroext i1 @_ZN3std4path4Path7is_file17h41270fbbf977ececE(ptr noalias noundef nonnull readonly align 1 %.val, i64 noundef %.val14) + to label %120 unwind label %118, !noalias !777 -120: ; preds = %118 - %121 = landingpad { ptr, i32 } +118: ; preds = %116 + %119 = landingpad { ptr, i32 } cleanup - invoke void @"_ZN4core3ptr37drop_in_place$LT$walkdir..WalkDir$GT$17h9d2fc9b02fa153a1E"(ptr noalias noundef nonnull align 8 dereferenceable(72) %15) #33 - to label %.body unwind label %129, !noalias !777 + invoke void @"_ZN4core3ptr37drop_in_place$LT$walkdir..WalkDir$GT$17h9d2fc9b02fa153a1E"(ptr noalias noundef nonnull align 8 dereferenceable(72) %14) #33 + to label %.body unwind label %127, !noalias !777 -122: ; preds = %118 - %123 = zext i1 %119 to i8 - br label %124 +120: ; preds = %116 + %121 = zext i1 %117 to i8 + br label %122 -124: ; preds = %122, %_ZN7walkdir7WalkDir3new17hd7db67eb644640c8E.exit.i.i - %.038.i.i = phi i8 [ %123, %122 ], [ 1, %_ZN7walkdir7WalkDir3new17hd7db67eb644640c8E.exit.i.i ] - store i8 %.038.i.i, ptr %40, align 8, !noalias !777 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(72) %16, ptr noundef nonnull align 8 dereferenceable(72) %15, i64 72, i1 false), !noalias !777 - call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %15), !noalias !777 - %125 = load ptr, ptr %41, align 8, !alias.scope !823, !noalias !772, !nonnull !4, !align !5, !noundef !4 - %126 = getelementptr inbounds i8, ptr %125, i64 209 - %127 = load i8, ptr %126, align 1, !range !67, !noalias !777, !noundef !4 - store i8 %127, ptr %.sroa.2.0..sroa_idx.i.i, align 1, !noalias !777 - %128 = load i64, ptr %2, align 8, !range !824, !alias.scope !823, !noalias !772, !noundef !4 - %.not.i.i = icmp eq i64 %128, 0 - br i1 %.not.i.i, label %133, label %131 - -129: ; preds = %148, %120 - %130 = landingpad { ptr, i32 } +122: ; preds = %120, %_ZN7walkdir7WalkDir3new17hd7db67eb644640c8E.exit.i.i + %.038.i.i = phi i8 [ %121, %120 ], [ 1, %_ZN7walkdir7WalkDir3new17hd7db67eb644640c8E.exit.i.i ] + store i8 %.038.i.i, ptr %39, align 8, !noalias !777 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(72) %15, ptr noundef nonnull align 8 dereferenceable(72) %14, i64 72, i1 false), !noalias !777 + call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %14), !noalias !777 + %123 = load ptr, ptr %40, align 8, !alias.scope !823, !noalias !772, !nonnull !4, !align !5, !noundef !4 + %124 = getelementptr inbounds i8, ptr %123, i64 209 + %125 = load i8, ptr %124, align 1, !range !67, !noalias !777, !noundef !4 + store i8 %125, ptr %.sroa.2.0..sroa_idx.i.i, align 1, !noalias !777 + %126 = load i64, ptr %2, align 8, !range !824, !alias.scope !823, !noalias !772, !noundef !4 + %.not.i.i = icmp eq i64 %126, 0 + br i1 %.not.i.i, label %131, label %129 + +127: ; preds = %146, %118 + %128 = landingpad { ptr, i32 } filter [0 x ptr] zeroinitializer call void @_ZN4core9panicking16panic_in_cleanup17h76c6e1c84248d3ffE() #35, !noalias !777 unreachable -131: ; preds = %124 - %132 = load i64, ptr %42, align 8, !alias.scope !823, !noalias !772, !noundef !4 +129: ; preds = %122 + %130 = load i64, ptr %41, align 8, !alias.scope !823, !noalias !772, !noundef !4 %.sroa.212.0.copyload.i.i = load i64, ptr %.sroa.212.0..sroa_idx.i.i, align 8, !noalias !777 - %spec.select.i.i = call i64 @llvm.umax.i64(i64 %132, i64 %.sroa.212.0.copyload.i.i) + %spec.select.i.i = call i64 @llvm.umax.i64(i64 %130, i64 %.sroa.212.0.copyload.i.i) store i64 %spec.select.i.i, ptr %.sroa.416.0..sroa_idx.i.i, align 8, !noalias !777 - br label %133 + br label %131 -133: ; preds = %131, %124 - %134 = load i64, ptr %43, align 8, !range !447, !alias.scope !823, !noalias !772, !noundef !4 - %.not40.i.i = icmp eq i64 %134, 2 - br i1 %.not40.i.i, label %142, label %135 +131: ; preds = %129, %122 + %132 = load i64, ptr %42, align 8, !range !447, !alias.scope !823, !noalias !772, !noundef !4 + %.not40.i.i = icmp eq i64 %132, 2 + br i1 %.not40.i.i, label %140, label %133 -135: ; preds = %133 +133: ; preds = %131 call void @llvm.experimental.noalias.scope.decl(metadata !825) - %trunc.i.i.i = trunc i64 %134 to i1 - %.val2.i.i.i = load ptr, ptr %44, align 8, !alias.scope !828, !noalias !829, !nonnull !4, !noundef !4 - %.val3.i.i.i = load ptr, ptr %45, align 8, !alias.scope !828, !noalias !829 - %136 = atomicrmw add ptr %.val2.i.i.i, i64 1 monotonic, align 8, !noalias !831 - %137 = icmp slt i64 %136, 0 - br i1 %trunc.i.i.i, label %140, label %138 + %trunc.i.i.i = trunc i64 %132 to i1 + %.val2.i.i.i = load ptr, ptr %43, align 8, !alias.scope !828, !noalias !829, !nonnull !4, !noundef !4 + %.val3.i.i.i = load ptr, ptr %44, align 8, !alias.scope !828, !noalias !829 + %134 = atomicrmw add ptr %.val2.i.i.i, i64 1 monotonic, align 8, !noalias !831 + %135 = icmp slt i64 %134, 0 + br i1 %trunc.i.i.i, label %138, label %136 -138: ; preds = %135 - br i1 %137, label %139, label %143 +136: ; preds = %133 + br i1 %135, label %137, label %141 -139: ; preds = %138 +137: ; preds = %136 call void @llvm.trap() unreachable -140: ; preds = %135 - br i1 %137, label %141, label %145 +138: ; preds = %133 + br i1 %135, label %139, label %143 -141: ; preds = %140 +139: ; preds = %138 call void @llvm.trap() unreachable -142: ; preds = %.noexc20, %.noexc19, %133 - call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %12), !noalias !777 - invoke void @_ZN3std4path4Path11to_path_buf17h244d289ac0030e02E(ptr noalias nocapture noundef nonnull sret({ { { { { i64, ptr, {} }, i64 } } } }) align 8 dereferenceable(24) %12, ptr noalias noundef nonnull readonly align 1 %.val, i64 noundef %.val14) - to label %147 unwind label %148, !noalias !777 +140: ; preds = %.noexc20, %.noexc19, %131 + call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %11), !noalias !777 + invoke void @_ZN3std4path4Path11to_path_buf17h244d289ac0030e02E(ptr noalias nocapture noundef nonnull sret({ { { { { i64, ptr, {} }, i64 } } } }) align 8 dereferenceable(24) %11, ptr noalias noundef nonnull readonly align 1 %.val, i64 noundef %.val14) + to label %145 unwind label %146, !noalias !777 + +141: ; preds = %136 + %142 = icmp ne ptr %.val3.i.i.i, null + call void @llvm.assume(i1 %142) + call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %13), !noalias !777 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(72) %13, ptr noundef nonnull align 8 dereferenceable(72) %15, i64 72, i1 false), !noalias !777 + invoke void @_ZN7walkdir7WalkDir7sort_by17h54955e4a71157561E(ptr noalias nocapture noundef nonnull sret({ { { { { { i64, ptr, {} }, i64 } } } }, { { ptr, [1 x i64] }, i64, i64, i64, i8, i8, i8, i8, [4 x i8] } }) align 8 dereferenceable(72) %15, ptr noalias nocapture noundef nonnull align 8 dereferenceable(72) %13, ptr noundef nonnull %.val2.i.i.i, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) %.val3.i.i.i) + to label %.noexc19 unwind label %66 + +.noexc19: ; preds = %141 + call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %13), !noalias !777 + br label %140 143: ; preds = %138 %144 = icmp ne ptr %.val3.i.i.i, null call void @llvm.assume(i1 %144) - call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %14), !noalias !777 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(72) %14, ptr noundef nonnull align 8 dereferenceable(72) %16, i64 72, i1 false), !noalias !777 - invoke void @_ZN7walkdir7WalkDir7sort_by17h54955e4a71157561E(ptr noalias nocapture noundef nonnull sret({ { { { { { i64, ptr, {} }, i64 } } } }, { { ptr, [1 x i64] }, i64, i64, i64, i8, i8, i8, i8, [4 x i8] } }) align 8 dereferenceable(72) %16, ptr noalias nocapture noundef nonnull align 8 dereferenceable(72) %14, ptr noundef nonnull %.val2.i.i.i, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) %.val3.i.i.i) - to label %.noexc19 unwind label %68 + call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %12), !noalias !777 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(72) %12, ptr noundef nonnull align 8 dereferenceable(72) %15, i64 72, i1 false), !noalias !777 + invoke void @_ZN7walkdir7WalkDir7sort_by17h1a8ea13caa36c473E(ptr noalias nocapture noundef nonnull sret({ { { { { { i64, ptr, {} }, i64 } } } }, { { ptr, [1 x i64] }, i64, i64, i64, i8, i8, i8, i8, [4 x i8] } }) align 8 dereferenceable(72) %15, ptr noalias nocapture noundef nonnull align 8 dereferenceable(72) %12, ptr noundef nonnull %.val2.i.i.i, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) %.val3.i.i.i) + to label %.noexc20 unwind label %66 -.noexc19: ; preds = %143 - call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %14), !noalias !777 - br label %142 +.noexc20: ; preds = %143 + call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %12), !noalias !777 + br label %140 145: ; preds = %140 - %146 = icmp ne ptr %.val3.i.i.i, null - call void @llvm.assume(i1 %146) - call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %13), !noalias !777 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(72) %13, ptr noundef nonnull align 8 dereferenceable(72) %16, i64 72, i1 false), !noalias !777 - invoke void @_ZN7walkdir7WalkDir7sort_by17h1a8ea13caa36c473E(ptr noalias nocapture noundef nonnull sret({ { { { { { i64, ptr, {} }, i64 } } } }, { { ptr, [1 x i64] }, i64, i64, i64, i8, i8, i8, i8, [4 x i8] } }) align 8 dereferenceable(72) %16, ptr noalias nocapture noundef nonnull align 8 dereferenceable(72) %13, ptr noundef nonnull %.val2.i.i.i, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) %.val3.i.i.i) - to label %.noexc20 unwind label %68 - -.noexc20: ; preds = %145 - call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %13), !noalias !777 - br label %142 - -147: ; preds = %142 - call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %11) - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(72) %11, ptr noundef nonnull align 8 dereferenceable(72) %16, i64 72, i1 false), !noalias !777 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(48) %.sroa.15.i, ptr noundef nonnull align 8 dereferenceable(48) %46, i64 48, i1 false), !noalias !769 - call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %11) - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %.sroa.01.i, ptr noundef nonnull align 8 dereferenceable(24) %12, i64 24, i1 false), !noalias !769 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %.sroa.01.i, ptr noundef nonnull align 8 dereferenceable(24) %11, i64 24, i1 false), !noalias !769 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %.sroa.9.i, i8 0, i64 16, i1 false), !alias.scope !772, !noalias !769 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %.sroa.11.i, i8 0, i64 16, i1 false), !alias.scope !772, !noalias !769 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %.sroa.14.i, ptr noundef nonnull align 8 dereferenceable(24) %16, i64 24, i1 false), !noalias !769 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %.sroa.14.i, ptr noundef nonnull align 8 dereferenceable(24) %15, i64 24, i1 false), !noalias !769 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(48) %.sroa.15.i, ptr noundef nonnull align 8 dereferenceable(48) %37, i64 48, i1 false), !noalias !769 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %.sroa.16.i, i8 0, i64 16, i1 false), !alias.scope !772, !noalias !769 - call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %12), !noalias !777 - call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %16), !noalias !777 - br label %149 + call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %11), !noalias !777 + call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %15), !noalias !777 + br label %147 -148: ; preds = %142 +146: ; preds = %140 %lpad.thr_comm.split-lp.i.i = landingpad { ptr, i32 } cleanup - invoke void @"_ZN4core3ptr37drop_in_place$LT$walkdir..WalkDir$GT$17h9d2fc9b02fa153a1E"(ptr noalias noundef nonnull align 8 dereferenceable(72) %16) #33 - to label %.body unwind label %129, !noalias !777 + invoke void @"_ZN4core3ptr37drop_in_place$LT$walkdir..WalkDir$GT$17h9d2fc9b02fa153a1E"(ptr noalias noundef nonnull align 8 dereferenceable(72) %15) #33 + to label %.body unwind label %127, !noalias !777 -149: ; preds = %147, %117 - %.sroa.5.0.i = phi i64 [ 0, %147 ], [ 2, %117 ] +147: ; preds = %145, %115 + %.sroa.5.0.i = phi i64 [ 0, %145 ], [ 2, %115 ] call void @llvm.experimental.noalias.scope.decl(metadata !832) call void @llvm.experimental.noalias.scope.decl(metadata !835) - %150 = load ptr, ptr %47, align 8, !alias.scope !838, !noalias !839, !noundef !4 - %151 = load i64, ptr %48, align 8, !alias.scope !838, !noalias !839, !noundef !4 - %152 = getelementptr inbounds { { { { { { i64, ptr, {} }, i64 } } } }, { i64, [30 x i64] } }, ptr %150, i64 %151 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %152, ptr noundef nonnull align 8 dereferenceable(24) %.sroa.01.i, i64 24, i1 false), !noalias !769 - %.sroa.0.sroa.4.0..sroa_idx.i = getelementptr inbounds i8, ptr %152, i64 24 + %148 = load ptr, ptr %45, align 8, !alias.scope !838, !noalias !839, !noundef !4 + %149 = load i64, ptr %46, align 8, !alias.scope !838, !noalias !839, !noundef !4 + %150 = getelementptr inbounds { { { { { { i64, ptr, {} }, i64 } } } }, { i64, [30 x i64] } }, ptr %148, i64 %149 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %150, ptr noundef nonnull align 8 dereferenceable(24) %.sroa.01.i, i64 24, i1 false), !noalias !769 + %.sroa.0.sroa.4.0..sroa_idx.i = getelementptr inbounds i8, ptr %150, i64 24 store i64 %.sroa.5.0.i, ptr %.sroa.0.sroa.4.0..sroa_idx.i, align 8, !noalias !838 - %.sroa.0.sroa.6.0..sroa_idx.i = getelementptr inbounds i8, ptr %152, i64 40 + %.sroa.0.sroa.6.0..sroa_idx.i = getelementptr inbounds i8, ptr %150, i64 40 store i64 0, ptr %.sroa.0.sroa.6.0..sroa_idx.i, align 8, !noalias !838 - %.sroa.0.sroa.7.0..sroa_idx.i = getelementptr inbounds i8, ptr %152, i64 48 + %.sroa.0.sroa.7.0..sroa_idx.i = getelementptr inbounds i8, ptr %150, i64 48 store ptr inttoptr (i64 8 to ptr), ptr %.sroa.0.sroa.7.0..sroa_idx.i, align 8, !noalias !838 - %.sroa.0.sroa.8.0..sroa_idx.i = getelementptr inbounds i8, ptr %152, i64 56 + %.sroa.0.sroa.8.0..sroa_idx.i = getelementptr inbounds i8, ptr %150, i64 56 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %.sroa.0.sroa.8.0..sroa_idx.i, ptr noundef nonnull align 8 dereferenceable(16) %.sroa.9.i, i64 16, i1 false), !noalias !769 - %.sroa.0.sroa.9.0..sroa_idx.i = getelementptr inbounds i8, ptr %152, i64 72 + %.sroa.0.sroa.9.0..sroa_idx.i = getelementptr inbounds i8, ptr %150, i64 72 store ptr inttoptr (i64 8 to ptr), ptr %.sroa.0.sroa.9.0..sroa_idx.i, align 8, !noalias !838 - %.sroa.0.sroa.10.0..sroa_idx.i = getelementptr inbounds i8, ptr %152, i64 80 + %.sroa.0.sroa.10.0..sroa_idx.i = getelementptr inbounds i8, ptr %150, i64 80 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %.sroa.0.sroa.10.0..sroa_idx.i, ptr noundef nonnull align 8 dereferenceable(16) %.sroa.11.i, i64 16, i1 false), !noalias !769 - %.sroa.0.sroa.11.0..sroa_idx.i = getelementptr inbounds i8, ptr %152, i64 96 + %.sroa.0.sroa.11.0..sroa_idx.i = getelementptr inbounds i8, ptr %150, i64 96 store ptr inttoptr (i64 8 to ptr), ptr %.sroa.0.sroa.11.0..sroa_idx.i, align 8, !noalias !838 - %.sroa.0.sroa.12.0..sroa_idx.i = getelementptr inbounds i8, ptr %152, i64 104 + %.sroa.0.sroa.12.0..sroa_idx.i = getelementptr inbounds i8, ptr %150, i64 104 store i64 0, ptr %.sroa.0.sroa.12.0..sroa_idx.i, align 8, !noalias !838 - %.sroa.0.sroa.13.0..sroa_idx.i = getelementptr inbounds i8, ptr %152, i64 112 + %.sroa.0.sroa.13.0..sroa_idx.i = getelementptr inbounds i8, ptr %150, i64 112 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %.sroa.0.sroa.13.0..sroa_idx.i, ptr noundef nonnull align 8 dereferenceable(24) %.sroa.14.i, i64 24, i1 false), !noalias !769 - %.sroa.0.sroa.14.0..sroa_idx.i = getelementptr inbounds i8, ptr %152, i64 136 + %.sroa.0.sroa.14.0..sroa_idx.i = getelementptr inbounds i8, ptr %150, i64 136 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(48) %.sroa.0.sroa.14.0..sroa_idx.i, ptr noundef nonnull align 8 dereferenceable(48) %.sroa.15.i, i64 48, i1 false), !noalias !769 - %.sroa.0.sroa.15.0..sroa_idx.i = getelementptr inbounds i8, ptr %152, i64 184 + %.sroa.0.sroa.15.0..sroa_idx.i = getelementptr inbounds i8, ptr %150, i64 184 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %.sroa.0.sroa.15.0..sroa_idx.i, ptr noundef nonnull align 8 dereferenceable(16) %.sroa.16.i, i64 16, i1 false), !noalias !769 - %.sroa.0.sroa.16.0..sroa_idx.i = getelementptr inbounds i8, ptr %152, i64 200 + %.sroa.0.sroa.16.0..sroa_idx.i = getelementptr inbounds i8, ptr %150, i64 200 store i64 3, ptr %.sroa.0.sroa.16.0..sroa_idx.i, align 8, !noalias !838 - %.sroa.0.sroa.18.0..sroa_idx.i = getelementptr inbounds i8, ptr %152, i64 264 + %.sroa.0.sroa.18.0..sroa_idx.i = getelementptr inbounds i8, ptr %150, i64 264 store i64 0, ptr %.sroa.0.sroa.18.0..sroa_idx.i, align 8, !noalias !838 - %153 = add i64 %151, 1 - store i64 %153, ptr %48, align 8, !alias.scope !838, !noalias !839 + %151 = add i64 %149, 1 + store i64 %151, ptr %46, align 8, !alias.scope !838, !noalias !839 call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %.sroa.01.i) call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %.sroa.9.i) call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %.sroa.11.i) call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %.sroa.14.i) call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %.sroa.15.i) call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %.sroa.16.i) - %154 = add nuw i64 %.0, 1 - %155 = icmp eq i64 %154, %23 - br i1 %155, label %156, label %70 + %152 = add nuw i64 %.0, 1 + %153 = icmp eq i64 %152, %22 + br i1 %153, label %154, label %68 -156: ; preds = %149 +154: ; preds = %147 call void @llvm.experimental.noalias.scope.decl(metadata !842) - %157 = getelementptr inbounds i8, ptr %2, i64 56 - %.val.i21 = load ptr, ptr %157, align 8, !alias.scope !845, !nonnull !4, !align !5, !noundef !4 - store i64 %153, ptr %.val.i21, align 8, !noalias !850 + %155 = getelementptr inbounds i8, ptr %2, i64 56 + %.val.i21 = load ptr, ptr %155, align 8, !alias.scope !845, !nonnull !4, !align !5, !noundef !4 + store i64 %151, ptr %.val.i21, align 8, !noalias !850 call void @llvm.experimental.noalias.scope.decl(metadata !855) call void @llvm.experimental.noalias.scope.decl(metadata !858) - %158 = load i64, ptr %43, align 8, !range !447, !alias.scope !861, !noundef !4 - %159 = icmp eq i64 %158, 2 - br i1 %159, label %"_ZN4core3ptr769drop_in_place$LT$core..iter..adapters..map..map_fold$LT$$RF$std..path..PathBuf$C$$LP$std..path..PathBuf$C$core..option..Option$LT$ignore..walk..WalkEventIter$GT$$RP$$C$$LP$$RP$$C$ignore..walk..WalkBuilder..build..$u7b$$u7b$closure$u7d$$u7d$$C$core..iter..traits..iterator..Iterator..for_each..call$LT$$LP$std..path..PathBuf$C$core..option..Option$LT$ignore..walk..WalkEventIter$GT$$RP$$C$alloc..vec..Vec$LT$$LP$std..path..PathBuf$C$core..option..Option$LT$ignore..walk..WalkEventIter$GT$$RP$$GT$..extend_trusted$LT$core..iter..adapters..map..Map$LT$core..slice..iter..Iter$LT$std..path..PathBuf$GT$$C$ignore..walk..WalkBuilder..build..$u7b$$u7b$closure$u7d$$u7d$$GT$$GT$..$u7b$$u7b$closure$u7d$$u7d$$GT$..$u7b$$u7b$closure$u7d$$u7d$$GT$..$u7b$$u7b$closure$u7d$$u7d$$GT$17hd9ac85e13f75bba2E.exit", label %160 + %156 = load i64, ptr %42, align 8, !range !447, !alias.scope !861, !noundef !4 + %157 = icmp eq i64 %156, 2 + br i1 %157, label %"_ZN4core3ptr769drop_in_place$LT$core..iter..adapters..map..map_fold$LT$$RF$std..path..PathBuf$C$$LP$std..path..PathBuf$C$core..option..Option$LT$ignore..walk..WalkEventIter$GT$$RP$$C$$LP$$RP$$C$ignore..walk..WalkBuilder..build..$u7b$$u7b$closure$u7d$$u7d$$C$core..iter..traits..iterator..Iterator..for_each..call$LT$$LP$std..path..PathBuf$C$core..option..Option$LT$ignore..walk..WalkEventIter$GT$$RP$$C$alloc..vec..Vec$LT$$LP$std..path..PathBuf$C$core..option..Option$LT$ignore..walk..WalkEventIter$GT$$RP$$GT$..extend_trusted$LT$core..iter..adapters..map..Map$LT$core..slice..iter..Iter$LT$std..path..PathBuf$GT$$C$ignore..walk..WalkBuilder..build..$u7b$$u7b$closure$u7d$$u7d$$GT$$GT$..$u7b$$u7b$closure$u7d$$u7d$$GT$..$u7b$$u7b$closure$u7d$$u7d$$GT$..$u7b$$u7b$closure$u7d$$u7d$$GT$17hd9ac85e13f75bba2E.exit", label %158 -160: ; preds = %156 +158: ; preds = %154 call void @llvm.experimental.noalias.scope.decl(metadata !862) - %161 = icmp eq i64 %158, 0 - br i1 %161, label %162, label %167 + %159 = icmp eq i64 %156, 0 + br i1 %159, label %160, label %165 -162: ; preds = %160 +160: ; preds = %158 call void @llvm.experimental.noalias.scope.decl(metadata !865) call void @llvm.experimental.noalias.scope.decl(metadata !868) - %163 = load ptr, ptr %44, align 8, !alias.scope !871, !nonnull !4, !noundef !4 - %164 = atomicrmw sub ptr %163, i64 1 release, align 8, !noalias !871 - %165 = icmp eq i64 %164, 1 - br i1 %165, label %166, label %"_ZN4core3ptr769drop_in_place$LT$core..iter..adapters..map..map_fold$LT$$RF$std..path..PathBuf$C$$LP$std..path..PathBuf$C$core..option..Option$LT$ignore..walk..WalkEventIter$GT$$RP$$C$$LP$$RP$$C$ignore..walk..WalkBuilder..build..$u7b$$u7b$closure$u7d$$u7d$$C$core..iter..traits..iterator..Iterator..for_each..call$LT$$LP$std..path..PathBuf$C$core..option..Option$LT$ignore..walk..WalkEventIter$GT$$RP$$C$alloc..vec..Vec$LT$$LP$std..path..PathBuf$C$core..option..Option$LT$ignore..walk..WalkEventIter$GT$$RP$$GT$..extend_trusted$LT$core..iter..adapters..map..Map$LT$core..slice..iter..Iter$LT$std..path..PathBuf$GT$$C$ignore..walk..WalkBuilder..build..$u7b$$u7b$closure$u7d$$u7d$$GT$$GT$..$u7b$$u7b$closure$u7d$$u7d$$GT$..$u7b$$u7b$closure$u7d$$u7d$$GT$..$u7b$$u7b$closure$u7d$$u7d$$GT$17hd9ac85e13f75bba2E.exit" + %161 = load ptr, ptr %43, align 8, !alias.scope !871, !nonnull !4, !noundef !4 + %162 = atomicrmw sub ptr %161, i64 1 release, align 8, !noalias !871 + %163 = icmp eq i64 %162, 1 + br i1 %163, label %164, label %"_ZN4core3ptr769drop_in_place$LT$core..iter..adapters..map..map_fold$LT$$RF$std..path..PathBuf$C$$LP$std..path..PathBuf$C$core..option..Option$LT$ignore..walk..WalkEventIter$GT$$RP$$C$$LP$$RP$$C$ignore..walk..WalkBuilder..build..$u7b$$u7b$closure$u7d$$u7d$$C$core..iter..traits..iterator..Iterator..for_each..call$LT$$LP$std..path..PathBuf$C$core..option..Option$LT$ignore..walk..WalkEventIter$GT$$RP$$C$alloc..vec..Vec$LT$$LP$std..path..PathBuf$C$core..option..Option$LT$ignore..walk..WalkEventIter$GT$$RP$$GT$..extend_trusted$LT$core..iter..adapters..map..Map$LT$core..slice..iter..Iter$LT$std..path..PathBuf$GT$$C$ignore..walk..WalkBuilder..build..$u7b$$u7b$closure$u7d$$u7d$$GT$$GT$..$u7b$$u7b$closure$u7d$$u7d$$GT$..$u7b$$u7b$closure$u7d$$u7d$$GT$..$u7b$$u7b$closure$u7d$$u7d$$GT$17hd9ac85e13f75bba2E.exit" -166: ; preds = %162 +164: ; preds = %160 fence acquire - call void @"_ZN5alloc4sync16Arc$LT$T$C$A$GT$9drop_slow17h91c9099697961012E"(ptr noalias noundef nonnull align 8 dereferenceable(16) %44) + call void @"_ZN5alloc4sync16Arc$LT$T$C$A$GT$9drop_slow17h91c9099697961012E"(ptr noalias noundef nonnull align 8 dereferenceable(16) %43) br label %"_ZN4core3ptr769drop_in_place$LT$core..iter..adapters..map..map_fold$LT$$RF$std..path..PathBuf$C$$LP$std..path..PathBuf$C$core..option..Option$LT$ignore..walk..WalkEventIter$GT$$RP$$C$$LP$$RP$$C$ignore..walk..WalkBuilder..build..$u7b$$u7b$closure$u7d$$u7d$$C$core..iter..traits..iterator..Iterator..for_each..call$LT$$LP$std..path..PathBuf$C$core..option..Option$LT$ignore..walk..WalkEventIter$GT$$RP$$C$alloc..vec..Vec$LT$$LP$std..path..PathBuf$C$core..option..Option$LT$ignore..walk..WalkEventIter$GT$$RP$$GT$..extend_trusted$LT$core..iter..adapters..map..Map$LT$core..slice..iter..Iter$LT$std..path..PathBuf$GT$$C$ignore..walk..WalkBuilder..build..$u7b$$u7b$closure$u7d$$u7d$$GT$$GT$..$u7b$$u7b$closure$u7d$$u7d$$GT$..$u7b$$u7b$closure$u7d$$u7d$$GT$..$u7b$$u7b$closure$u7d$$u7d$$GT$17hd9ac85e13f75bba2E.exit" -167: ; preds = %160 +165: ; preds = %158 call void @llvm.experimental.noalias.scope.decl(metadata !872) call void @llvm.experimental.noalias.scope.decl(metadata !875) - %168 = load ptr, ptr %44, align 8, !alias.scope !878, !nonnull !4, !noundef !4 - %169 = atomicrmw sub ptr %168, i64 1 release, align 8, !noalias !878 - %170 = icmp eq i64 %169, 1 - br i1 %170, label %171, label %"_ZN4core3ptr769drop_in_place$LT$core..iter..adapters..map..map_fold$LT$$RF$std..path..PathBuf$C$$LP$std..path..PathBuf$C$core..option..Option$LT$ignore..walk..WalkEventIter$GT$$RP$$C$$LP$$RP$$C$ignore..walk..WalkBuilder..build..$u7b$$u7b$closure$u7d$$u7d$$C$core..iter..traits..iterator..Iterator..for_each..call$LT$$LP$std..path..PathBuf$C$core..option..Option$LT$ignore..walk..WalkEventIter$GT$$RP$$C$alloc..vec..Vec$LT$$LP$std..path..PathBuf$C$core..option..Option$LT$ignore..walk..WalkEventIter$GT$$RP$$GT$..extend_trusted$LT$core..iter..adapters..map..Map$LT$core..slice..iter..Iter$LT$std..path..PathBuf$GT$$C$ignore..walk..WalkBuilder..build..$u7b$$u7b$closure$u7d$$u7d$$GT$$GT$..$u7b$$u7b$closure$u7d$$u7d$$GT$..$u7b$$u7b$closure$u7d$$u7d$$GT$..$u7b$$u7b$closure$u7d$$u7d$$GT$17hd9ac85e13f75bba2E.exit" + %166 = load ptr, ptr %43, align 8, !alias.scope !878, !nonnull !4, !noundef !4 + %167 = atomicrmw sub ptr %166, i64 1 release, align 8, !noalias !878 + %168 = icmp eq i64 %167, 1 + br i1 %168, label %169, label %"_ZN4core3ptr769drop_in_place$LT$core..iter..adapters..map..map_fold$LT$$RF$std..path..PathBuf$C$$LP$std..path..PathBuf$C$core..option..Option$LT$ignore..walk..WalkEventIter$GT$$RP$$C$$LP$$RP$$C$ignore..walk..WalkBuilder..build..$u7b$$u7b$closure$u7d$$u7d$$C$core..iter..traits..iterator..Iterator..for_each..call$LT$$LP$std..path..PathBuf$C$core..option..Option$LT$ignore..walk..WalkEventIter$GT$$RP$$C$alloc..vec..Vec$LT$$LP$std..path..PathBuf$C$core..option..Option$LT$ignore..walk..WalkEventIter$GT$$RP$$GT$..extend_trusted$LT$core..iter..adapters..map..Map$LT$core..slice..iter..Iter$LT$std..path..PathBuf$GT$$C$ignore..walk..WalkBuilder..build..$u7b$$u7b$closure$u7d$$u7d$$GT$$GT$..$u7b$$u7b$closure$u7d$$u7d$$GT$..$u7b$$u7b$closure$u7d$$u7d$$GT$..$u7b$$u7b$closure$u7d$$u7d$$GT$17hd9ac85e13f75bba2E.exit" -171: ; preds = %167 +169: ; preds = %165 fence acquire - call void @"_ZN5alloc4sync16Arc$LT$T$C$A$GT$9drop_slow17h2090d4c187634071E"(ptr noalias noundef nonnull align 8 dereferenceable(16) %44) + call void @"_ZN5alloc4sync16Arc$LT$T$C$A$GT$9drop_slow17h2090d4c187634071E"(ptr noalias noundef nonnull align 8 dereferenceable(16) %43) br label %"_ZN4core3ptr769drop_in_place$LT$core..iter..adapters..map..map_fold$LT$$RF$std..path..PathBuf$C$$LP$std..path..PathBuf$C$core..option..Option$LT$ignore..walk..WalkEventIter$GT$$RP$$C$$LP$$RP$$C$ignore..walk..WalkBuilder..build..$u7b$$u7b$closure$u7d$$u7d$$C$core..iter..traits..iterator..Iterator..for_each..call$LT$$LP$std..path..PathBuf$C$core..option..Option$LT$ignore..walk..WalkEventIter$GT$$RP$$C$alloc..vec..Vec$LT$$LP$std..path..PathBuf$C$core..option..Option$LT$ignore..walk..WalkEventIter$GT$$RP$$GT$..extend_trusted$LT$core..iter..adapters..map..Map$LT$core..slice..iter..Iter$LT$std..path..PathBuf$GT$$C$ignore..walk..WalkBuilder..build..$u7b$$u7b$closure$u7d$$u7d$$GT$$GT$..$u7b$$u7b$closure$u7d$$u7d$$GT$..$u7b$$u7b$closure$u7d$$u7d$$GT$..$u7b$$u7b$closure$u7d$$u7d$$GT$17hd9ac85e13f75bba2E.exit" -"_ZN4core3ptr769drop_in_place$LT$core..iter..adapters..map..map_fold$LT$$RF$std..path..PathBuf$C$$LP$std..path..PathBuf$C$core..option..Option$LT$ignore..walk..WalkEventIter$GT$$RP$$C$$LP$$RP$$C$ignore..walk..WalkBuilder..build..$u7b$$u7b$closure$u7d$$u7d$$C$core..iter..traits..iterator..Iterator..for_each..call$LT$$LP$std..path..PathBuf$C$core..option..Option$LT$ignore..walk..WalkEventIter$GT$$RP$$C$alloc..vec..Vec$LT$$LP$std..path..PathBuf$C$core..option..Option$LT$ignore..walk..WalkEventIter$GT$$RP$$GT$..extend_trusted$LT$core..iter..adapters..map..Map$LT$core..slice..iter..Iter$LT$std..path..PathBuf$GT$$C$ignore..walk..WalkBuilder..build..$u7b$$u7b$closure$u7d$$u7d$$GT$$GT$..$u7b$$u7b$closure$u7d$$u7d$$GT$..$u7b$$u7b$closure$u7d$$u7d$$GT$..$u7b$$u7b$closure$u7d$$u7d$$GT$17hd9ac85e13f75bba2E.exit": ; preds = %171, %167, %166, %162, %156, %67, %63, %62, %58, %49 +"_ZN4core3ptr769drop_in_place$LT$core..iter..adapters..map..map_fold$LT$$RF$std..path..PathBuf$C$$LP$std..path..PathBuf$C$core..option..Option$LT$ignore..walk..WalkEventIter$GT$$RP$$C$$LP$$RP$$C$ignore..walk..WalkBuilder..build..$u7b$$u7b$closure$u7d$$u7d$$C$core..iter..traits..iterator..Iterator..for_each..call$LT$$LP$std..path..PathBuf$C$core..option..Option$LT$ignore..walk..WalkEventIter$GT$$RP$$C$alloc..vec..Vec$LT$$LP$std..path..PathBuf$C$core..option..Option$LT$ignore..walk..WalkEventIter$GT$$RP$$GT$..extend_trusted$LT$core..iter..adapters..map..Map$LT$core..slice..iter..Iter$LT$std..path..PathBuf$GT$$C$ignore..walk..WalkBuilder..build..$u7b$$u7b$closure$u7d$$u7d$$GT$$GT$..$u7b$$u7b$closure$u7d$$u7d$$GT$..$u7b$$u7b$closure$u7d$$u7d$$GT$..$u7b$$u7b$closure$u7d$$u7d$$GT$17hd9ac85e13f75bba2E.exit": ; preds = %169, %165, %164, %160, %154, %65, %61, %60, %56, %47 ret void -172: ; preds = %.body - %173 = landingpad { ptr, i32 } +170: ; preds = %.body + %171 = landingpad { ptr, i32 } filter [0 x ptr] zeroinitializer call void @_ZN4core9panicking16panic_in_cleanup17h76c6e1c84248d3ffE() #35 unreachable -174: ; preds = %.body +172: ; preds = %.body resume { ptr, i32 } %eh.lpad-body } diff --git a/bench/ruby/optimized/ancdata.ll b/bench/ruby/optimized/ancdata.ll index 4185312adab..2e61fc521e1 100644 --- a/bench/ruby/optimized/ancdata.ll +++ b/bench/ruby/optimized/ancdata.ll @@ -3121,7 +3121,6 @@ RSTRING_PTR.exit: ; preds = %32, %36 define internal i64 @ancillary_s_ipv6_pktinfo(i64 %0, i64 noundef %1, i64 noundef %2) #0 { %4 = alloca i64, align 8 %5 = alloca i64, align 8 - %.sroa.3 = alloca [22 x i8], align 2 %6 = alloca %struct.in6_pktinfo, align 4 store i64 %1, ptr %5, align 8 %7 = call i64 @rsock_sockaddr_string_value(ptr noundef nonnull %5) #11 @@ -3152,8 +3151,6 @@ define internal i64 @ancillary_s_ipv6_pktinfo(i64 %0, i64 noundef %1, i64 nounde RSTRING_PTR.exit: ; preds = %15, %19 %.sroa.2.0.i = phi ptr [ %.sroa.2.0.copyload.i, %19 ], [ %18, %15 ] %.sroa.0.0.copyload = load i16, ptr %.sroa.2.0.i, align 1 - %.sroa.3.0..sroa.2.0.i.sroa_idx = getelementptr inbounds i8, ptr %.sroa.2.0.i, i64 2 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 2 dereferenceable(22) %.sroa.3, ptr noundef nonnull align 1 dereferenceable(22) %.sroa.3.0..sroa.2.0.i.sroa_idx, i64 22, i1 false) %.not2 = icmp eq i16 %.sroa.0.0.copyload, 10 br i1 %.not2, label %22, label %20 @@ -3164,20 +3161,20 @@ RSTRING_PTR.exit: ; preds = %15, %19 22: ; preds = %RSTRING_PTR.exit %23 = trunc i64 %8 to i32 - %.sroa.3.8..sroa_idx = getelementptr inbounds i8, ptr %.sroa.3, i64 6 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(16) %6, ptr noundef nonnull align 2 dereferenceable(16) %.sroa.3.8..sroa_idx, i64 16, i1 false) - %24 = getelementptr inbounds i8, ptr %6, i64 16 - store i32 %23, ptr %24, align 4 - %25 = call i64 @rb_str_new(ptr noundef nonnull %6, i64 noundef 20) #11 + %24 = getelementptr inbounds i8, ptr %.sroa.2.0.i, i64 8 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(16) %6, ptr noundef nonnull align 1 dereferenceable(16) %24, i64 16, i1 false) + %25 = getelementptr inbounds i8, ptr %6, i64 16 + store i32 %23, ptr %25, align 4 + %26 = call i64 @rb_str_new(ptr noundef nonnull %6, i64 noundef 20) #11 call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %4) - store i64 %25, ptr %4, align 8 - %26 = load i64, ptr @rb_cAncillaryData, align 8 - %27 = call i64 @rb_obj_alloc(i64 noundef %26) #11 - %28 = call i64 @rb_string_value(ptr noundef nonnull %4) #11 - %29 = load i64, ptr %4, align 8 - %30 = call i64 @ancillary_initialize(i64 noundef %27, i64 noundef 21, i64 noundef 83, i64 noundef 101, i64 noundef %29) + store i64 %26, ptr %4, align 8 + %27 = load i64, ptr @rb_cAncillaryData, align 8 + %28 = call i64 @rb_obj_alloc(i64 noundef %27) #11 + %29 = call i64 @rb_string_value(ptr noundef nonnull %4) #11 + %30 = load i64, ptr %4, align 8 + %31 = call i64 @ancillary_initialize(i64 noundef %28, i64 noundef 21, i64 noundef 83, i64 noundef 101, i64 noundef %30) call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %4) - ret i64 %27 + ret i64 %28 } ; Function Attrs: nounwind uwtable diff --git a/bench/rustfmt-rs/optimized/3n0n7c4xrusd0kzl.ll b/bench/rustfmt-rs/optimized/3n0n7c4xrusd0kzl.ll index 40b33d35a63..40b05aaed49 100644 --- a/bench/rustfmt-rs/optimized/3n0n7c4xrusd0kzl.ll +++ b/bench/rustfmt-rs/optimized/3n0n7c4xrusd0kzl.ll @@ -19457,7 +19457,7 @@ define hidden void @"_ZN5alloc3vec16in_place_collect108_$LT$impl$u20$alloc..vec. %5 = alloca { [1 x i64], i64, [1 x i64] }, align 8 %6 = alloca { [1 x i64], i64, [1 x i64] }, align 8 %7 = alloca { { i64, [3 x i64] } }, align 8 - %.sroa.6.i.i.i.i = alloca [2 x i64], align 8 + %.sroa.4.sroa.4.i.i.i = alloca [3 x i64], align 8 %.sroa.2.i.i.i = alloca [3 x i64], align 8 %8 = getelementptr inbounds i8, ptr %1, i64 8 %9 = load i64, ptr %8, align 8, !noundef !4 @@ -19477,7 +19477,7 @@ define hidden void @"_ZN5alloc3vec16in_place_collect108_$LT$impl$u20$alloc..vec. "_ZN103_$LT$alloc..vec..into_iter..IntoIter$LT$T$C$A$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h74ecf12201641af5E.exit.lr.ph.i.i.i": ; preds = %2 %18 = getelementptr inbounds i8, ptr %7, i64 8 - %.sroa.6.0..sroa_idx.i.i.i.i = getelementptr inbounds i8, ptr %7, i64 16 + %.sroa.4.sroa.4.16..sroa_idx.i.i.i = getelementptr inbounds i8, ptr %.sroa.4.sroa.4.i.i.i, i64 8 %19 = getelementptr inbounds i8, ptr %5, i64 8 %20 = getelementptr inbounds i8, ptr %5, i64 16 %21 = getelementptr inbounds i8, ptr %7, i64 24 @@ -19498,39 +19498,40 @@ define hidden void @"_ZN5alloc3vec16in_place_collect108_$LT$impl$u20$alloc..vec. 26: ; preds = %"_ZN103_$LT$alloc..vec..into_iter..IntoIter$LT$T$C$A$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h74ecf12201641af5E.exit.i.i.i" %.sroa.8.0..sroa_idx23.i.i.i = getelementptr inbounds i8, ptr %24, i64 8 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %.sroa.2.i.i.i, ptr noundef nonnull align 8 dereferenceable(24) %.sroa.8.0..sroa_idx23.i.i.i, i64 24, i1 false), !noalias !3472 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %7), !noalias !3473 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %18, ptr noundef nonnull align 8 dereferenceable(24) %.sroa.2.i.i.i, i64 24, i1 false), !noalias !3472 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %.sroa.6.i.i.i.i) + call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %.sroa.4.sroa.4.i.i.i) + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %.sroa.4.sroa.4.i.i.i, ptr noundef nonnull align 8 dereferenceable(24) %.sroa.8.0..sroa_idx23.i.i.i, i64 24, i1 false), !noalias !3473 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %7), !noalias !3474 store i64 %.sroa.0.0.copyload22.i.i.i, ptr %7, align 8, !noalias !3472 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %18, ptr noundef nonnull align 8 dereferenceable(24) %.sroa.2.i.i.i, i64 24, i1 false), !noalias !3472 switch i64 %.sroa.0.0.copyload22.i.i.i, label %27 [ i64 1, label %"_ZN154_$LT$rustfmt_nightly..rustfmt_diff..ModifiedLines$u20$as$u20$core..convert..From$LT$alloc..vec..Vec$LT$rustfmt_nightly..rustfmt_diff..Mismatch$GT$$GT$$GT$4from28_$u7b$$u7b$closure$u7d$$u7d$28_$u7b$$u7b$closure$u7d$$u7d$17he47d319cb3dd4fcbE.exit.i.i.i.i" i64 0, label %32 ] 27: ; preds = %26 - call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %6), !noalias !3476 + call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %6), !noalias !3477 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) %6, ptr noalias noundef nonnull readonly align 8 dereferenceable(16) %18) - to label %.noexc.i.i unwind label %40, !noalias !3487 + to label %.noexc.i.i unwind label %40, !noalias !3473 .noexc.i.i: ; preds = %27 - %28 = load i64, ptr %22, align 8, !range !290, !noalias !3476, !noundef !4 + %28 = load i64, ptr %22, align 8, !range !290, !noalias !3477, !noundef !4 %.not.i.i.i.i.i.i.i = icmp eq i64 %28, 0 br i1 %.not.i.i.i.i.i.i.i, label %"_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17h65321bb4306ac23aE.exit.i.i.i", label %29 29: ; preds = %.noexc.i.i - %30 = load ptr, ptr %6, align 8, !noalias !3476, !nonnull !4, !noundef !4 - %31 = load i64, ptr %23, align 8, !noalias !3476, !noundef !4 + %30 = load ptr, ptr %6, align 8, !noalias !3477, !nonnull !4, !noundef !4 + %31 = load i64, ptr %23, align 8, !noalias !3477, !noundef !4 invoke void @"_ZN63_$LT$alloc..alloc..Global$u20$as$u20$core..alloc..Allocator$GT$10deallocate17ha49f72b365eb0ed2E.llvm.17249484671449717553"(ptr noalias noundef nonnull readonly align 1 %21, ptr noundef nonnull %30, i64 noundef %28, i64 noundef %31) - to label %"_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17h65321bb4306ac23aE.exit.i.i.i" unwind label %40, !noalias !3487 + to label %"_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17h65321bb4306ac23aE.exit.i.i.i" unwind label %40, !noalias !3473 "_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17h65321bb4306ac23aE.exit.i.i.i": ; preds = %29, %.noexc.i.i - call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %6), !noalias !3476 + call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %6), !noalias !3477 br label %"_ZN154_$LT$rustfmt_nightly..rustfmt_diff..ModifiedLines$u20$as$u20$core..convert..From$LT$alloc..vec..Vec$LT$rustfmt_nightly..rustfmt_diff..Mismatch$GT$$GT$$GT$4from28_$u7b$$u7b$closure$u7d$$u7d$28_$u7b$$u7b$closure$u7d$$u7d$17he47d319cb3dd4fcbE.exit.thread.i.i.i.i" 32: ; preds = %26 call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %5), !noalias !3488 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) %5, ptr noalias noundef nonnull readonly align 8 dereferenceable(16) %18) - to label %.noexc6.i.i unwind label %40, !noalias !3487 + to label %.noexc6.i.i unwind label %40, !noalias !3473 .noexc6.i.i: ; preds = %32 %33 = load i64, ptr %19, align 8, !range !290, !noalias !3488, !noundef !4 @@ -19541,27 +19542,26 @@ define hidden void @"_ZN5alloc3vec16in_place_collect108_$LT$impl$u20$alloc..vec. %35 = load ptr, ptr %5, align 8, !noalias !3488, !nonnull !4, !noundef !4 %36 = load i64, ptr %20, align 8, !noalias !3488, !noundef !4 invoke void @"_ZN63_$LT$alloc..alloc..Global$u20$as$u20$core..alloc..Allocator$GT$10deallocate17ha49f72b365eb0ed2E.llvm.17249484671449717553"(ptr noalias noundef nonnull readonly align 1 %21, ptr noundef nonnull %35, i64 noundef %33, i64 noundef %36) - to label %"_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17h65321bb4306ac23aE.exit2.i.i.i" unwind label %40, !noalias !3487 + to label %"_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17h65321bb4306ac23aE.exit2.i.i.i" unwind label %40, !noalias !3473 "_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17h65321bb4306ac23aE.exit2.i.i.i": ; preds = %34, %.noexc6.i.i call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %5), !noalias !3488 br label %"_ZN154_$LT$rustfmt_nightly..rustfmt_diff..ModifiedLines$u20$as$u20$core..convert..From$LT$alloc..vec..Vec$LT$rustfmt_nightly..rustfmt_diff..Mismatch$GT$$GT$$GT$4from28_$u7b$$u7b$closure$u7d$$u7d$28_$u7b$$u7b$closure$u7d$$u7d$17he47d319cb3dd4fcbE.exit.thread.i.i.i.i" "_ZN154_$LT$rustfmt_nightly..rustfmt_diff..ModifiedLines$u20$as$u20$core..convert..From$LT$alloc..vec..Vec$LT$rustfmt_nightly..rustfmt_diff..Mismatch$GT$$GT$$GT$4from28_$u7b$$u7b$closure$u7d$$u7d$28_$u7b$$u7b$closure$u7d$$u7d$17he47d319cb3dd4fcbE.exit.thread.i.i.i.i": ; preds = %"_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17h65321bb4306ac23aE.exit2.i.i.i", %"_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17h65321bb4306ac23aE.exit.i.i.i" - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %7), !noalias !3473 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %7), !noalias !3474 br label %44 "_ZN154_$LT$rustfmt_nightly..rustfmt_diff..ModifiedLines$u20$as$u20$core..convert..From$LT$alloc..vec..Vec$LT$rustfmt_nightly..rustfmt_diff..Mismatch$GT$$GT$$GT$4from28_$u7b$$u7b$closure$u7d$$u7d$28_$u7b$$u7b$closure$u7d$$u7d$17he47d319cb3dd4fcbE.exit.i.i.i.i": ; preds = %26 - %.sroa.03.0.copyload4.i.i.i.i = load i64, ptr %18, align 8, !alias.scope !3497, !noalias !3473 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %.sroa.6.i.i.i.i, ptr noundef nonnull align 8 dereferenceable(16) %.sroa.6.0..sroa_idx.i.i.i.i, i64 16, i1 false), !alias.scope !3497, !noalias !3473 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %7), !noalias !3473 + %.sroa.03.0.copyload4.i.i.i.i = load i64, ptr %18, align 8, !alias.scope !3497, !noalias !3474 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %7), !noalias !3474 %37 = icmp eq i64 %.sroa.03.0.copyload4.i.i.i.i, -9223372036854775808 br i1 %37, label %44, label %38 38: ; preds = %"_ZN154_$LT$rustfmt_nightly..rustfmt_diff..ModifiedLines$u20$as$u20$core..convert..From$LT$alloc..vec..Vec$LT$rustfmt_nightly..rustfmt_diff..Mismatch$GT$$GT$$GT$4from28_$u7b$$u7b$closure$u7d$$u7d$28_$u7b$$u7b$closure$u7d$$u7d$17he47d319cb3dd4fcbE.exit.i.i.i.i" - store i64 %.sroa.03.0.copyload4.i.i.i.i, ptr %.sroa.7.019.i.i.i, align 8, !noalias !3473 + store i64 %.sroa.03.0.copyload4.i.i.i.i, ptr %.sroa.7.019.i.i.i, align 8, !noalias !3474 %.sroa.67.16..sroa.4.8..sroa_idx.i.i.i.i = getelementptr inbounds i8, ptr %.sroa.7.019.i.i.i, i64 8 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %.sroa.67.16..sroa.4.8..sroa_idx.i.i.i.i, ptr noundef nonnull align 8 dereferenceable(16) %.sroa.6.i.i.i.i, i64 16, i1 false), !noalias !3473 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %.sroa.67.16..sroa.4.8..sroa_idx.i.i.i.i, ptr noundef nonnull align 8 dereferenceable(16) %.sroa.4.sroa.4.16..sroa_idx.i.i.i, i64 16, i1 false), !noalias !3472 %39 = getelementptr inbounds i8, ptr %.sroa.7.019.i.i.i, i64 24 br label %44 @@ -19569,17 +19569,17 @@ define hidden void @"_ZN5alloc3vec16in_place_collect108_$LT$impl$u20$alloc..vec. %41 = landingpad { ptr, i32 } cleanup invoke fastcc void @"_ZN4core3ptr88drop_in_place$LT$alloc..vec..in_place_drop..InPlaceDrop$LT$alloc..string..String$GT$$GT$17hb83508788e11f131E"(ptr nonnull %10, ptr %.sroa.7.019.i.i.i) #26 - to label %.body unwind label %42, !noalias !3473 + to label %.body unwind label %42, !noalias !3474 42: ; preds = %40 %43 = landingpad { ptr, i32 } filter [0 x ptr] zeroinitializer - call void @_ZN4core9panicking16panic_in_cleanup17h7bbd4fcd6f160435E() #25, !noalias !3473 + call void @_ZN4core9panicking16panic_in_cleanup17h7bbd4fcd6f160435E() #25, !noalias !3474 unreachable 44: ; preds = %38, %"_ZN154_$LT$rustfmt_nightly..rustfmt_diff..ModifiedLines$u20$as$u20$core..convert..From$LT$alloc..vec..Vec$LT$rustfmt_nightly..rustfmt_diff..Mismatch$GT$$GT$$GT$4from28_$u7b$$u7b$closure$u7d$$u7d$28_$u7b$$u7b$closure$u7d$$u7d$17he47d319cb3dd4fcbE.exit.i.i.i.i", %"_ZN154_$LT$rustfmt_nightly..rustfmt_diff..ModifiedLines$u20$as$u20$core..convert..From$LT$alloc..vec..Vec$LT$rustfmt_nightly..rustfmt_diff..Mismatch$GT$$GT$$GT$4from28_$u7b$$u7b$closure$u7d$$u7d$28_$u7b$$u7b$closure$u7d$$u7d$17he47d319cb3dd4fcbE.exit.thread.i.i.i.i" %.pn10.i.i.i.i = phi ptr [ %39, %38 ], [ %.sroa.7.019.i.i.i, %"_ZN154_$LT$rustfmt_nightly..rustfmt_diff..ModifiedLines$u20$as$u20$core..convert..From$LT$alloc..vec..Vec$LT$rustfmt_nightly..rustfmt_diff..Mismatch$GT$$GT$$GT$4from28_$u7b$$u7b$closure$u7d$$u7d$28_$u7b$$u7b$closure$u7d$$u7d$17he47d319cb3dd4fcbE.exit.thread.i.i.i.i" ], [ %.sroa.7.019.i.i.i, %"_ZN154_$LT$rustfmt_nightly..rustfmt_diff..ModifiedLines$u20$as$u20$core..convert..From$LT$alloc..vec..Vec$LT$rustfmt_nightly..rustfmt_diff..Mismatch$GT$$GT$$GT$4from28_$u7b$$u7b$closure$u7d$$u7d$28_$u7b$$u7b$closure$u7d$$u7d$17he47d319cb3dd4fcbE.exit.i.i.i.i" ] - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %.sroa.6.i.i.i.i) + call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %.sroa.4.sroa.4.i.i.i) %45 = icmp eq ptr %25, %16 br i1 %45, label %.loopexit, label %"_ZN103_$LT$alloc..vec..into_iter..IntoIter$LT$T$C$A$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h74ecf12201641af5E.exit.i.i.i" @@ -28494,22 +28494,22 @@ attributes #27 = { nounwind } !3470 = !{!3471} !3471 = distinct !{!3471, !3462, !"_ZN103_$LT$alloc..vec..into_iter..IntoIter$LT$T$C$A$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h74ecf12201641af5E: argument 0"} !3472 = !{!3458, !3455, !3452} -!3473 = !{!3474, !3458, !3455, !3452} -!3474 = distinct !{!3474, !3475, !"_ZN4core4iter8adapters10filter_map19filter_map_try_fold28_$u7b$$u7b$closure$u7d$$u7d$17h1e31c0ae09d45140E: argument 0"} -!3475 = distinct !{!3475, !"_ZN4core4iter8adapters10filter_map19filter_map_try_fold28_$u7b$$u7b$closure$u7d$$u7d$17h1e31c0ae09d45140E"} -!3476 = !{!3477, !3479, !3481, !3483, !3485, !3474, !3458, !3455, !3452} -!3477 = distinct !{!3477, !3478, !"_ZN77_$LT$alloc..raw_vec..RawVec$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h84ed44c4e3a9a902E.llvm.17249484671449717553: argument 0"} -!3478 = distinct !{!3478, !"_ZN77_$LT$alloc..raw_vec..RawVec$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h84ed44c4e3a9a902E.llvm.17249484671449717553"} -!3479 = distinct !{!3479, !3480, !"_ZN4core3ptr53drop_in_place$LT$alloc..raw_vec..RawVec$LT$u8$GT$$GT$17h0930dffd7d20b525E.llvm.17249484671449717553: argument 0"} -!3480 = distinct !{!3480, !"_ZN4core3ptr53drop_in_place$LT$alloc..raw_vec..RawVec$LT$u8$GT$$GT$17h0930dffd7d20b525E.llvm.17249484671449717553"} -!3481 = distinct !{!3481, !3482, !"_ZN4core3ptr46drop_in_place$LT$alloc..vec..Vec$LT$u8$GT$$GT$17h27f30dfd67318ac1E: argument 0"} -!3482 = distinct !{!3482, !"_ZN4core3ptr46drop_in_place$LT$alloc..vec..Vec$LT$u8$GT$$GT$17h27f30dfd67318ac1E"} -!3483 = distinct !{!3483, !3484, !"_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17h65321bb4306ac23aE: argument 0"} -!3484 = distinct !{!3484, !"_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17h65321bb4306ac23aE"} -!3485 = distinct !{!3485, !3486, !"_ZN4core3ptr60drop_in_place$LT$rustfmt_nightly..rustfmt_diff..DiffLine$GT$17h82a69c2798d1d547E: argument 0"} -!3486 = distinct !{!3486, !"_ZN4core3ptr60drop_in_place$LT$rustfmt_nightly..rustfmt_diff..DiffLine$GT$17h82a69c2798d1d547E"} -!3487 = !{!3455, !3452} -!3488 = !{!3489, !3491, !3493, !3495, !3485, !3474, !3458, !3455, !3452} +!3473 = !{!3455, !3452} +!3474 = !{!3475, !3458, !3455, !3452} +!3475 = distinct !{!3475, !3476, !"_ZN4core4iter8adapters10filter_map19filter_map_try_fold28_$u7b$$u7b$closure$u7d$$u7d$17h1e31c0ae09d45140E: argument 0"} +!3476 = distinct !{!3476, !"_ZN4core4iter8adapters10filter_map19filter_map_try_fold28_$u7b$$u7b$closure$u7d$$u7d$17h1e31c0ae09d45140E"} +!3477 = !{!3478, !3480, !3482, !3484, !3486, !3475, !3458, !3455, !3452} +!3478 = distinct !{!3478, !3479, !"_ZN77_$LT$alloc..raw_vec..RawVec$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h84ed44c4e3a9a902E.llvm.17249484671449717553: argument 0"} +!3479 = distinct !{!3479, !"_ZN77_$LT$alloc..raw_vec..RawVec$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h84ed44c4e3a9a902E.llvm.17249484671449717553"} +!3480 = distinct !{!3480, !3481, !"_ZN4core3ptr53drop_in_place$LT$alloc..raw_vec..RawVec$LT$u8$GT$$GT$17h0930dffd7d20b525E.llvm.17249484671449717553: argument 0"} +!3481 = distinct !{!3481, !"_ZN4core3ptr53drop_in_place$LT$alloc..raw_vec..RawVec$LT$u8$GT$$GT$17h0930dffd7d20b525E.llvm.17249484671449717553"} +!3482 = distinct !{!3482, !3483, !"_ZN4core3ptr46drop_in_place$LT$alloc..vec..Vec$LT$u8$GT$$GT$17h27f30dfd67318ac1E: argument 0"} +!3483 = distinct !{!3483, !"_ZN4core3ptr46drop_in_place$LT$alloc..vec..Vec$LT$u8$GT$$GT$17h27f30dfd67318ac1E"} +!3484 = distinct !{!3484, !3485, !"_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17h65321bb4306ac23aE: argument 0"} +!3485 = distinct !{!3485, !"_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17h65321bb4306ac23aE"} +!3486 = distinct !{!3486, !3487, !"_ZN4core3ptr60drop_in_place$LT$rustfmt_nightly..rustfmt_diff..DiffLine$GT$17h82a69c2798d1d547E: argument 0"} +!3487 = distinct !{!3487, !"_ZN4core3ptr60drop_in_place$LT$rustfmt_nightly..rustfmt_diff..DiffLine$GT$17h82a69c2798d1d547E"} +!3488 = !{!3489, !3491, !3493, !3495, !3486, !3475, !3458, !3455, !3452} !3489 = distinct !{!3489, !3490, !"_ZN77_$LT$alloc..raw_vec..RawVec$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h84ed44c4e3a9a902E.llvm.17249484671449717553: argument 0"} !3490 = distinct !{!3490, !"_ZN77_$LT$alloc..raw_vec..RawVec$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h84ed44c4e3a9a902E.llvm.17249484671449717553"} !3491 = distinct !{!3491, !3492, !"_ZN4core3ptr53drop_in_place$LT$alloc..raw_vec..RawVec$LT$u8$GT$$GT$17h0930dffd7d20b525E.llvm.17249484671449717553: argument 0"} diff --git a/bench/rustfmt-rs/optimized/3sx1t619hmuq0zz7.ll b/bench/rustfmt-rs/optimized/3sx1t619hmuq0zz7.ll index cca9022b621..1ba6bd811bf 100644 --- a/bench/rustfmt-rs/optimized/3sx1t619hmuq0zz7.ll +++ b/bench/rustfmt-rs/optimized/3sx1t619hmuq0zz7.ll @@ -32177,7 +32177,7 @@ _ZN15rustfmt_nightly8closures20rewrite_closure_expr16allow_multi_line17hdc4e998b .thread: ; preds = %31 call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %14) - br label %62 + br label %63 34: ; preds = %31 call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %13) @@ -32244,7 +32244,7 @@ _ZN15rustfmt_nightly8closures20rewrite_closure_expr16allow_multi_line17hdc4e998b call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %10), !noalias !4865 call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %13) call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %14) - br label %62 + br label %63 59: ; preds = %49 %60 = landingpad { ptr, i32 } @@ -32252,24 +32252,24 @@ _ZN15rustfmt_nightly8closures20rewrite_closure_expr16allow_multi_line17hdc4e998b call void @_ZN4core9panicking16panic_in_cleanup17h7bbd4fcd6f160435E() #44, !noalias !4854 unreachable -common.resume: ; preds = %67, %49 - %common.resume.op = phi { ptr, i32 } [ %50, %49 ], [ %68, %67 ] +common.resume: ; preds = %68, %49 + %common.resume.op = phi { ptr, i32 } [ %50, %49 ], [ %69, %68 ] resume { ptr, i32 } %common.resume.op .loopexit: ; preds = %47, %34, %43, %"_ZN52_$LT$char$u20$as$u20$core..str..pattern..Pattern$GT$15is_contained_in17h9bbc13c80f63d09dE.exit.i" %.sroa.05.0.copyload6 = load i64, ptr %13, align 8, !alias.scope !4859 - %.sroa.7.0..sroa_idx = getelementptr inbounds i8, ptr %13, i64 8 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %.sroa.7, ptr noundef nonnull align 8 dereferenceable(16) %.sroa.7.0..sroa_idx, i64 16, i1 false), !alias.scope !4859 + %61 = getelementptr inbounds i8, ptr %14, i64 8 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %.sroa.7, ptr noundef nonnull align 8 dereferenceable(16) %61, i64 16, i1 false) call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %13) call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %14) - %61 = icmp eq i64 %.sroa.05.0.copyload6, -9223372036854775808 - br i1 %61, label %62, label %63 + %62 = icmp eq i64 %.sroa.05.0.copyload6, -9223372036854775808 + br i1 %62, label %63, label %64 -62: ; preds = %.thread9, %.thread, %.loopexit +63: ; preds = %.thread9, %.thread, %.loopexit store i64 -9223372036854775808, ptr %0, align 8 - br label %78 + br label %79 -63: ; preds = %.loopexit +64: ; preds = %.loopexit %.sroa.02.sroa.4.0..sroa_idx = getelementptr inbounds i8, ptr %11, i64 8 call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %11) call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %.sroa.02.sroa.4.0..sroa_idx, ptr noundef nonnull align 8 dereferenceable(16) %.sroa.7, i64 16, i1 false) @@ -32277,12 +32277,12 @@ common.resume: ; preds = %67, %49 store i64 %.sroa.05.0.copyload6, ptr %11, align 8 call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %9), !noalias !4874 store ptr %15, ptr %9, align 8, !noalias !4874 - %64 = getelementptr inbounds i8, ptr %9, i64 8 - store ptr @"_ZN44_$LT$$RF$T$u20$as$u20$core..fmt..Display$GT$3fmt17h655a0f85e8876217E", ptr %64, align 8, !noalias !4874 - %65 = getelementptr inbounds i8, ptr %9, i64 16 - store ptr %11, ptr %65, align 8, !noalias !4874 - %66 = getelementptr inbounds i8, ptr %9, i64 24 - store ptr @"_ZN60_$LT$alloc..string..String$u20$as$u20$core..fmt..Display$GT$3fmt17h775e4f780e5b2789E", ptr %66, align 8, !noalias !4874 + %65 = getelementptr inbounds i8, ptr %9, i64 8 + store ptr @"_ZN44_$LT$$RF$T$u20$as$u20$core..fmt..Display$GT$3fmt17h655a0f85e8876217E", ptr %65, align 8, !noalias !4874 + %66 = getelementptr inbounds i8, ptr %9, i64 16 + store ptr %11, ptr %66, align 8, !noalias !4874 + %67 = getelementptr inbounds i8, ptr %9, i64 24 + store ptr @"_ZN60_$LT$alloc..string..String$u20$as$u20$core..fmt..Display$GT$3fmt17h775e4f780e5b2789E", ptr %67, align 8, !noalias !4874 call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %8), !noalias !4879 store ptr @anon.21b0228450bcd23381d410927297c89c.577, ptr %8, align 8, !noalias !4890 %.sroa.5.0..sroa_idx.i = getelementptr inbounds i8, ptr %8, i64 8 @@ -32294,46 +32294,46 @@ common.resume: ; preds = %67, %49 %.sroa.10.0..sroa_idx.i = getelementptr inbounds i8, ptr %8, i64 32 store ptr null, ptr %.sroa.10.0..sroa_idx.i, align 8, !noalias !4890 invoke void @_ZN5alloc3fmt6format12format_inner17h0c82a82a0e3e6691E(ptr noalias nocapture noundef nonnull sret({ { { i64, ptr }, i64 } }) align 8 dereferenceable(24) %12, ptr noalias nocapture noundef nonnull align 8 dereferenceable(48) %8) - to label %_ZN5alloc3fmt6format17h35125637d547cb53E.llvm.9097680112167513710.exit.i unwind label %67 + to label %_ZN5alloc3fmt6format17h35125637d547cb53E.llvm.9097680112167513710.exit.i unwind label %68 -67: ; preds = %63 - %68 = landingpad { ptr, i32 } +68: ; preds = %64 + %69 = landingpad { ptr, i32 } cleanup invoke void @"_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17h65321bb4306ac23aE"(ptr noalias noundef nonnull align 8 dereferenceable(24) %11) #43 - to label %common.resume unwind label %76, !noalias !4891 + to label %common.resume unwind label %77, !noalias !4891 -_ZN5alloc3fmt6format17h35125637d547cb53E.llvm.9097680112167513710.exit.i: ; preds = %63 +_ZN5alloc3fmt6format17h35125637d547cb53E.llvm.9097680112167513710.exit.i: ; preds = %64 call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %8), !noalias !4879 call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %9), !noalias !4874 call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %7), !noalias !4892 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) %7, ptr noalias noundef nonnull readonly align 8 dereferenceable(16) %11), !noalias !4891 - %69 = getelementptr inbounds i8, ptr %7, i64 8 - %70 = load i64, ptr %69, align 8, !range !979, !noalias !4892, !noundef !10 - %.not.i.i.i.i.i3 = icmp eq i64 %70, 0 - br i1 %.not.i.i.i.i.i3, label %"_ZN15rustfmt_nightly8closures20rewrite_closure_expr28_$u7b$$u7b$closure$u7d$$u7d$17h266fa423f460a94dE.exit", label %71 - -71: ; preds = %_ZN5alloc3fmt6format17h35125637d547cb53E.llvm.9097680112167513710.exit.i - %72 = load ptr, ptr %7, align 8, !noalias !4892, !nonnull !10, !noundef !10 - %73 = getelementptr inbounds i8, ptr %7, i64 16 - %74 = load i64, ptr %73, align 8, !noalias !4892, !noundef !10 - %75 = getelementptr inbounds i8, ptr %11, i64 16 - call void @"_ZN63_$LT$alloc..alloc..Global$u20$as$u20$core..alloc..Allocator$GT$10deallocate17ha49f72b365eb0ed2E.llvm.17249484671449717553"(ptr noalias noundef nonnull readonly align 1 %75, ptr noundef nonnull %72, i64 noundef %70, i64 noundef %74), !noalias !4891 + %70 = getelementptr inbounds i8, ptr %7, i64 8 + %71 = load i64, ptr %70, align 8, !range !979, !noalias !4892, !noundef !10 + %.not.i.i.i.i.i3 = icmp eq i64 %71, 0 + br i1 %.not.i.i.i.i.i3, label %"_ZN15rustfmt_nightly8closures20rewrite_closure_expr28_$u7b$$u7b$closure$u7d$$u7d$17h266fa423f460a94dE.exit", label %72 + +72: ; preds = %_ZN5alloc3fmt6format17h35125637d547cb53E.llvm.9097680112167513710.exit.i + %73 = load ptr, ptr %7, align 8, !noalias !4892, !nonnull !10, !noundef !10 + %74 = getelementptr inbounds i8, ptr %7, i64 16 + %75 = load i64, ptr %74, align 8, !noalias !4892, !noundef !10 + %76 = getelementptr inbounds i8, ptr %11, i64 16 + call void @"_ZN63_$LT$alloc..alloc..Global$u20$as$u20$core..alloc..Allocator$GT$10deallocate17ha49f72b365eb0ed2E.llvm.17249484671449717553"(ptr noalias noundef nonnull readonly align 1 %76, ptr noundef nonnull %73, i64 noundef %71, i64 noundef %75), !noalias !4891 br label %"_ZN15rustfmt_nightly8closures20rewrite_closure_expr28_$u7b$$u7b$closure$u7d$$u7d$17h266fa423f460a94dE.exit" -76: ; preds = %67 - %77 = landingpad { ptr, i32 } +77: ; preds = %68 + %78 = landingpad { ptr, i32 } filter [0 x ptr] zeroinitializer call void @_ZN4core9panicking16panic_in_cleanup17h7bbd4fcd6f160435E() #44, !noalias !4891 unreachable -"_ZN15rustfmt_nightly8closures20rewrite_closure_expr28_$u7b$$u7b$closure$u7d$$u7d$17h266fa423f460a94dE.exit": ; preds = %_ZN5alloc3fmt6format17h35125637d547cb53E.llvm.9097680112167513710.exit.i, %71 +"_ZN15rustfmt_nightly8closures20rewrite_closure_expr28_$u7b$$u7b$closure$u7d$$u7d$17h266fa423f460a94dE.exit": ; preds = %_ZN5alloc3fmt6format17h35125637d547cb53E.llvm.9097680112167513710.exit.i, %72 call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %7), !noalias !4892 call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %11) call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %0, ptr noundef nonnull align 8 dereferenceable(24) %12, i64 24, i1 false) call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %12) - br label %78 + br label %79 -78: ; preds = %"_ZN15rustfmt_nightly8closures20rewrite_closure_expr28_$u7b$$u7b$closure$u7d$$u7d$17h266fa423f460a94dE.exit", %62 +79: ; preds = %"_ZN15rustfmt_nightly8closures20rewrite_closure_expr28_$u7b$$u7b$closure$u7d$$u7d$17h266fa423f460a94dE.exit", %63 call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %.sroa.7) ret void } diff --git a/bench/rustfmt-rs/optimized/4gk399kploc9gcsb.ll b/bench/rustfmt-rs/optimized/4gk399kploc9gcsb.ll index 43d79037e65..138619ab969 100644 --- a/bench/rustfmt-rs/optimized/4gk399kploc9gcsb.ll +++ b/bench/rustfmt-rs/optimized/4gk399kploc9gcsb.ll @@ -4902,19 +4902,19 @@ define hidden void @_ZN3std9panicking3try7do_call17h3aad330829aeb9b5E.llvm.39253 unreachable 37: ; preds = %.thread.i - br i1 %.22158.i, label %180, label %.thread98.i + br i1 %.22158.i, label %183, label %.thread98.i .thread105.i: ; preds = %36, %35 %lpad.thr_comm103.i = landingpad { ptr, i32 } cleanup - br label %180 + br label %183 .thread65.i: ; preds = %61, %60, %59, %43, %42, %39 %lpad.thr_comm.i = landingpad { ptr, i32 } cleanup br label %.thread.i -38: ; preds = %169, %167 +38: ; preds = %172, %170 %lpad.thr_comm.split-lp.i = landingpad { ptr, i32 } cleanup br label %.thread.i @@ -5008,7 +5008,7 @@ define hidden void @_ZN3std9panicking3try7do_call17h3aad330829aeb9b5E.llvm.39253 call void @llvm.lifetime.start.p0(i64 848, ptr nonnull %14), !noalias !875 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(848) %14, ptr noundef nonnull align 8 dereferenceable(848) %23, i64 848, i1 false), !noalias !877 invoke void @"_ZN15rustfmt_nightly16Session$LT$T$GT$3new17hb9baab2c1d8f6d80E"(ptr noalias nocapture noundef nonnull sret({ { { { i64, i64 }, i8, i8, i8, [5 x i8] }, { { { { i64, ptr }, i64 } }, i8, i8, i8, [5 x i8] }, { { { { i64, ptr }, i64 } }, i8, i8, i8, [5 x i8] }, { { { { { { { i64, ptr }, i64 } } } }, { { { { { ptr, i64, i64, i64 }, {}, {} }, { i64, i64 } } } } }, i8, i8, i8, [5 x i8] }, { i64, i8, i8, i8, [5 x i8] }, { i64, i8, i8, i8, [5 x i8] }, { i64, i8, i8, i8, [5 x i8] }, { i64, i8, i8, i8, [5 x i8] }, { i64, i8, i8, i8, [5 x i8] }, { i64, i8, i8, i8, [5 x i8] }, { i64, i8, i8, i8, [5 x i8] }, { i64, i8, i8, i8, [5 x i8] }, { i64, i8, i8, i8, [5 x i8] }, { i64, i8, i8, i8, [5 x i8] }, { i64, i8, i8, i8, [5 x i8] }, { i64, i8, i8, i8, [5 x i8] }, { i64, i8, i8, i8, [5 x i8] }, { i64, i8, i8, i8, [5 x i8] }, { i64, i8, i8, i8, [5 x i8] }, { i64, i8, i8, i8, [5 x i8] }, { i64, i8, i8, i8, [5 x i8] }, { i64, i8, i8, i8, [5 x i8] }, { i64, i8, i8, i8, [5 x i8] }, { { { ptr, [5 x i64] } }, i8, i8, i8, [5 x i8] }, { { i64, i64, i64, i64, i64, i64, i64, i64 }, i8, i8, i8, [5 x i8] }, { i8, i8, i8, i8 }, { i8, i8, i8, i8 }, { i8, i8, i8, i8 }, { i8, i8, i8, i8 }, { i8, i8, i8, i8 }, { i8, i8, i8, i8 }, { i8, i8, i8, i8 }, { i8, i8, i8, i8 }, { i8, i8, i8, i8 }, { i8, i8, i8, i8 }, { i8, i8, i8, i8 }, { i8, i8, i8, i8 }, { i8, i8, i8, i8 }, { i8, i8, i8, i8 }, { i8, i8, i8, i8 }, { i8, i8, i8, i8 }, { i8, i8, i8, i8 }, { i8, i8, i8, i8 }, { i8, i8, i8, i8 }, { i8, i8, i8, i8 }, { i8, i8, i8, i8 }, { i8, i8, i8, i8 }, { i8, i8, i8, i8 }, { i8, i8, i8, i8 }, { i8, i8, i8, i8 }, { i8, i8, i8, i8 }, { i8, i8, i8, i8 }, { i8, i8, i8, i8 }, { i8, i8, i8, i8 }, { i8, i8, i8, i8 }, { i8, i8, i8, i8 }, { i8, i8, i8, i8 }, { i8, i8, i8, i8 }, { i8, i8, i8, i8 }, { i8, i8, i8, i8 }, { i8, i8, i8, i8 }, { i8, i8, i8, i8 }, { i8, i8, i8, i8 }, { i8, i8, i8, i8 }, { i8, i8, i8, i8 }, { i8, i8, i8, i8 }, { i8, i8, i8, i8 }, { i8, i8, i8, i8 }, { i8, i8, i8, i8 }, { i8, i8, i8, i8 }, { i8, i8, i8, i8 }, { i8, i8, i8, i8 }, { i8, i8, i8, i8 }, { i8, i8, i8, i8 }, { i8, i8, i8, i8 }, { i8, i8, i8, i8 }, { i8, i8, i8, i8 }, { i8, i8, i8, i8 }, { i8, i8, i8, i8 }, { i8, i8, i8, i8 }, { i8, i8, i8, i8 }, { i8, i8, i8, i8 }, { i8, i8, i8, i8 }, { i8, i8, i8, i8 }, { i8, i8, i8, i8 }, { i8, i8, i8, i8 }, [4 x i8] }, { { i64, ptr }, i64 }, { ptr, ptr }, ptr, { i8, i8, i8, i8, i8, i8, i8 }, [1 x i8] }) align 8 dereferenceable(904) %15, ptr noalias nocapture noundef nonnull align 8 dereferenceable(848) %14, ptr noalias noundef nonnull align 8 dereferenceable_or_null(24) %22) - to label %67 unwind label %178, !noalias !877 + to label %67 unwind label %181, !noalias !877 65: ; preds = %103 %66 = landingpad { ptr, i32 } @@ -5074,7 +5074,7 @@ define hidden void @_ZN3std9panicking3try7do_call17h3aad330829aeb9b5E.llvm.39253 92: ; preds = %82 unreachable -93: ; preds = %180, %.thread.i, %178, %.body.thread.i, %90, %71 +93: ; preds = %183, %.thread.i, %181, %.body.thread.i, %90, %71 %94 = landingpad { ptr, i32 } filter [0 x ptr] zeroinitializer call void @_ZN4core9panicking16panic_in_cleanup17h7bbd4fcd6f160435E() #47, !noalias !877 @@ -5104,7 +5104,7 @@ define hidden void @_ZN3std9panicking3try7do_call17h3aad330829aeb9b5E.llvm.39253 call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %16), !noalias !875 call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %17), !noalias !875 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(72) %17, ptr noundef nonnull align 8 dereferenceable(72) %11, i64 72, i1 false), !noalias !875 - br i1 %.022.i, label %164, label %105 + br i1 %.022.i, label %167, label %105 105: ; preds = %104 call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %10), !noalias !875 @@ -5144,7 +5144,7 @@ define hidden void @_ZN3std9panicking3try7do_call17h3aad330829aeb9b5E.llvm.39253 call void @_ZN4core9panicking16panic_in_cleanup17h7bbd4fcd6f160435E() #47, !noalias !893 unreachable -.body.i: ; preds = %154 +.body.i: ; preds = %157 %lpad.thr_comm.split-lp83.i = landingpad { ptr, i32 } cleanup br label %.body.thread.i @@ -5161,7 +5161,7 @@ define hidden void @_ZN3std9panicking3try7do_call17h3aad330829aeb9b5E.llvm.39253 call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %7), !noalias !890 call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %9), !noalias !875 %120 = icmp eq i64 %.pr.i, -9223372036854775808 - br i1 %120, label %121, label %154 + br i1 %120, label %121, label %157 121: ; preds = %117, %.thread87.i %122 = getelementptr inbounds i8, ptr %10, i64 8 @@ -5173,11 +5173,10 @@ define hidden void @_ZN3std9panicking3try7do_call17h3aad330829aeb9b5E.llvm.39253 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(72) %8, ptr noundef nonnull align 8 dereferenceable(72) %17, i64 72, i1 false), !noalias !875 call void @llvm.experimental.noalias.scope.decl(metadata !897) %123 = icmp eq i64 %.sroa.011.sroa.0.0.copyload.i, -9223372036854775808 - br i1 %123, label %148, label %124 + br i1 %123, label %151, label %124 124: ; preds = %121 %.sroa.01.0.copyload.i.i = load i64, ptr %8, align 8, !alias.scope !897, !noalias !900 - %.sroa.4.0..sroa_idx.i34.i = getelementptr inbounds i8, ptr %8, i64 8 %.sroa.6.0..sroa_idx.i35.i = getelementptr inbounds i8, ptr %8, i64 32 %.sroa.6.0.copyload.i.i = load ptr, ptr %.sroa.6.0..sroa_idx.i35.i, align 8, !alias.scope !897, !noalias !900 call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %5), !noalias !903 @@ -5185,191 +5184,193 @@ define hidden void @_ZN3std9panicking3try7do_call17h3aad330829aeb9b5E.llvm.39253 %.sroa.7.0..sroa_idx.i = getelementptr inbounds i8, ptr %5, i64 8 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %.sroa.7.0..sroa_idx.i, ptr noundef nonnull align 8 dereferenceable(16) %.sroa.7.i, i64 16, i1 false), !noalias !875 %125 = icmp eq i64 %.sroa.01.0.copyload.i.i, -9223372036854775798 - br i1 %125, label %132, label %126 + br i1 %125, label %134, label %126 126: ; preds = %124 - %.sroa.7.0..sroa_idx.i.i = getelementptr inbounds i8, ptr %8, i64 40 call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %4), !noalias !909 store i64 %.sroa.01.0.copyload.i.i, ptr %4, align 8, !noalias !913 %.sroa.5.0..sroa_idx3.i.i.i = getelementptr inbounds i8, ptr %4, i64 8 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %.sroa.5.0..sroa_idx3.i.i.i, ptr noundef nonnull align 8 dereferenceable(24) %.sroa.4.0..sroa_idx.i34.i, i64 24, i1 false), !noalias !900 + %127 = getelementptr inbounds i8, ptr %17, i64 8 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %.sroa.5.0..sroa_idx3.i.i.i, ptr noundef nonnull align 8 dereferenceable(24) %127, i64 24, i1 false), !noalias !875 %.sroa.6.0..sroa_idx4.i.i.i = getelementptr inbounds i8, ptr %4, i64 32 store ptr %.sroa.6.0.copyload.i.i, ptr %.sroa.6.0..sroa_idx4.i.i.i, align 8, !noalias !913 %.sroa.7.0..sroa_idx6.i.i.i = getelementptr inbounds i8, ptr %4, i64 40 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %.sroa.7.0..sroa_idx6.i.i.i, ptr noundef nonnull align 8 dereferenceable(32) %.sroa.7.0..sroa_idx.i.i, i64 32, i1 false), !noalias !900 + %128 = getelementptr inbounds i8, ptr %17, i64 40 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %.sroa.7.0..sroa_idx6.i.i.i, ptr noundef nonnull align 8 dereferenceable(32) %128, i64 32, i1 false), !noalias !875 invoke void @_ZN4core6result13unwrap_failed17hede68b820f4ed9a9E(ptr noalias noundef nonnull readonly align 1 @anon.4ff53b0509d5e9e677086052f65e232e.141.llvm.3925314320651144617, i64 noundef 43, ptr noundef nonnull align 1 %4, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.4ff53b0509d5e9e677086052f65e232e.143, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.4ff53b0509d5e9e677086052f65e232e.204) #46 - to label %129 unwind label %127, !noalias !914 + to label %131 unwind label %129, !noalias !914 -127: ; preds = %126 - %128 = landingpad { ptr, i32 } +129: ; preds = %126 + %130 = landingpad { ptr, i32 } cleanup invoke void @"_ZN4core3ptr47drop_in_place$LT$rustfmt_nightly..ErrorKind$GT$17hd40ae6560b5f4ee6E"(ptr noalias noundef nonnull align 8 dereferenceable(72) %4) #48 - to label %144 unwind label %130, !noalias !914 + to label %147 unwind label %132, !noalias !914 -129: ; preds = %126 +131: ; preds = %126 unreachable -130: ; preds = %127 - %131 = landingpad { ptr, i32 } +132: ; preds = %129 + %133 = landingpad { ptr, i32 } filter [0 x ptr] zeroinitializer call void @_ZN4core9panicking16panic_in_cleanup17h7bbd4fcd6f160435E() #47, !noalias !914 unreachable -132: ; preds = %124 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %.sroa.553.i, ptr noundef nonnull align 8 dereferenceable(24) %.sroa.4.0..sroa_idx.i34.i, i64 24, i1 false) - %133 = icmp ne ptr %.sroa.6.0.copyload.i.i, null - call void @llvm.assume(i1 %133) - %134 = load i64, ptr %.sroa.6.0.copyload.i.i, align 8, !noalias !915, !noundef !5 - %135 = add i64 %134, -1 - store i64 %135, ptr %.sroa.6.0.copyload.i.i, align 8, !noalias !915 - %136 = icmp eq i64 %135, 0 - br i1 %136, label %.noexc.i.i.i, label %147 - -.noexc.i.i.i: ; preds = %132 - %137 = getelementptr inbounds i8, ptr %.sroa.6.0.copyload.i.i, i64 24 - %138 = getelementptr inbounds i8, ptr %.sroa.6.0.copyload.i.i, i64 56 - call void @_ZN9hashbrown3raw13RawTableInner16drop_inner_table17hce554f1e059c3a0dE(ptr noalias noundef nonnull align 8 dereferenceable(32) %137, ptr noalias noundef nonnull readonly align 1 %138, i64 noundef 48, i64 noundef 16), !noalias !877 - %139 = getelementptr inbounds i8, ptr %.sroa.6.0.copyload.i.i, i64 8 - %140 = load i64, ptr %139, align 8, !noalias !915, !noundef !5 - %141 = add i64 %140, -1 - store i64 %141, ptr %139, align 8, !noalias !915 - %142 = icmp eq i64 %141, 0 - br i1 %142, label %143, label %147 - -143: ; preds = %.noexc.i.i.i +134: ; preds = %124 + %135 = getelementptr inbounds i8, ptr %17, i64 8 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %.sroa.553.i, ptr noundef nonnull align 8 dereferenceable(24) %135, i64 24, i1 false) + %136 = icmp ne ptr %.sroa.6.0.copyload.i.i, null + call void @llvm.assume(i1 %136) + %137 = load i64, ptr %.sroa.6.0.copyload.i.i, align 8, !noalias !915, !noundef !5 + %138 = add i64 %137, -1 + store i64 %138, ptr %.sroa.6.0.copyload.i.i, align 8, !noalias !915 + %139 = icmp eq i64 %138, 0 + br i1 %139, label %.noexc.i.i.i, label %150 + +.noexc.i.i.i: ; preds = %134 + %140 = getelementptr inbounds i8, ptr %.sroa.6.0.copyload.i.i, i64 24 + %141 = getelementptr inbounds i8, ptr %.sroa.6.0.copyload.i.i, i64 56 + call void @_ZN9hashbrown3raw13RawTableInner16drop_inner_table17hce554f1e059c3a0dE(ptr noalias noundef nonnull align 8 dereferenceable(32) %140, ptr noalias noundef nonnull readonly align 1 %141, i64 noundef 48, i64 noundef 16), !noalias !877 + %142 = getelementptr inbounds i8, ptr %.sroa.6.0.copyload.i.i, i64 8 + %143 = load i64, ptr %142, align 8, !noalias !915, !noundef !5 + %144 = add i64 %143, -1 + store i64 %144, ptr %142, align 8, !noalias !915 + %145 = icmp eq i64 %144, 0 + br i1 %145, label %146, label %150 + +146: ; preds = %.noexc.i.i.i call void @__rust_dealloc(ptr noundef nonnull %.sroa.6.0.copyload.i.i, i64 noundef 80, i64 noundef 8) #45, !noalias !915 - br label %147 + br label %150 -144: ; preds = %127 +147: ; preds = %129 invoke void @"_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17h65321bb4306ac23aE"(ptr noalias noundef nonnull align 8 dereferenceable(24) %5) #48 - to label %.thread98.i unwind label %145, !noalias !920 + to label %.thread98.i unwind label %148, !noalias !920 -145: ; preds = %144 - %146 = landingpad { ptr, i32 } +148: ; preds = %147 + %149 = landingpad { ptr, i32 } filter [0 x ptr] zeroinitializer call void @_ZN4core9panicking16panic_in_cleanup17h7bbd4fcd6f160435E() #47, !noalias !920 unreachable -147: ; preds = %143, %.noexc.i.i.i, %132 +150: ; preds = %146, %.noexc.i.i.i, %134 call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %5), !noalias !903 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %.sroa.6, ptr noundef nonnull align 8 dereferenceable(16) %.sroa.7.i, i64 16, i1 false) - br label %163 + br label %166 -148: ; preds = %.thread91.i, %121 - %149 = load i64, ptr %8, align 8, !range !884, !alias.scope !921, !noalias !900, !noundef !5 - %150 = icmp eq i64 %149, -9223372036854775798 - br i1 %150, label %151, label %153 +151: ; preds = %.thread91.i, %121 + %152 = load i64, ptr %8, align 8, !range !884, !alias.scope !921, !noalias !900, !noundef !5 + %153 = icmp eq i64 %152, -9223372036854775798 + br i1 %153, label %154, label %156 -151: ; preds = %148 - %152 = getelementptr inbounds i8, ptr %8, i64 8 - call void @"_ZN4core3ptr50drop_in_place$LT$rustfmt_nightly..FormatReport$GT$17h74c2c202b65a991dE"(ptr noalias noundef nonnull align 8 dereferenceable(32) %152), !noalias !877 - br label %163 +154: ; preds = %151 + %155 = getelementptr inbounds i8, ptr %8, i64 8 + call void @"_ZN4core3ptr50drop_in_place$LT$rustfmt_nightly..FormatReport$GT$17h74c2c202b65a991dE"(ptr noalias noundef nonnull align 8 dereferenceable(32) %155), !noalias !877 + br label %166 -153: ; preds = %148 +156: ; preds = %151 call void @"_ZN4core3ptr47drop_in_place$LT$rustfmt_nightly..ErrorKind$GT$17hd40ae6560b5f4ee6E"(ptr noalias noundef nonnull align 8 dereferenceable(72) %8), !noalias !877 - br label %163 + br label %166 -154: ; preds = %117 +157: ; preds = %117 call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %3), !noalias !926 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) %3, ptr noalias noundef nonnull readonly align 8 dereferenceable(16) %10) to label %.noexc43.i unwind label %.body.i, !noalias !877 -.noexc43.i: ; preds = %154 - %155 = getelementptr inbounds i8, ptr %3, i64 8 - %156 = load i64, ptr %155, align 8, !range !84, !noalias !926, !noundef !5 - %.not.i.i.i.i1.i.i = icmp eq i64 %156, 0 - br i1 %.not.i.i.i.i1.i.i, label %.thread91.i, label %157 - -157: ; preds = %.noexc43.i - %158 = getelementptr inbounds i8, ptr %3, i64 16 - %159 = load i64, ptr %158, align 8, !noalias !926, !noundef !5 - %160 = icmp eq i64 %159, 0 - br i1 %160, label %.thread91.i, label %161 - -161: ; preds = %157 - %162 = load ptr, ptr %3, align 8, !noalias !926, !nonnull !5, !noundef !5 - call void @__rust_dealloc(ptr noundef nonnull %162, i64 noundef %159, i64 noundef %156) #45, !noalias !877 +.noexc43.i: ; preds = %157 + %158 = getelementptr inbounds i8, ptr %3, i64 8 + %159 = load i64, ptr %158, align 8, !range !84, !noalias !926, !noundef !5 + %.not.i.i.i.i1.i.i = icmp eq i64 %159, 0 + br i1 %.not.i.i.i.i1.i.i, label %.thread91.i, label %160 + +160: ; preds = %.noexc43.i + %161 = getelementptr inbounds i8, ptr %3, i64 16 + %162 = load i64, ptr %161, align 8, !noalias !926, !noundef !5 + %163 = icmp eq i64 %162, 0 + br i1 %163, label %.thread91.i, label %164 + +164: ; preds = %160 + %165 = load ptr, ptr %3, align 8, !noalias !926, !nonnull !5, !noundef !5 + call void @__rust_dealloc(ptr noundef nonnull %165, i64 noundef %162, i64 noundef %159) #45, !noalias !877 br label %.thread91.i -.thread91.i: ; preds = %161, %157, %.noexc43.i +.thread91.i: ; preds = %164, %160, %.noexc43.i call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %3), !noalias !926 call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %10), !noalias !875 call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %8), !noalias !875 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(72) %8, ptr noundef nonnull align 8 dereferenceable(72) %17, i64 72, i1 false), !noalias !875 - br label %148 + br label %151 .body.thread.i: ; preds = %.body.i, %110 %eh.lpad-body78.i = phi { ptr, i32 } [ %lpad.thr_comm.split-lp83.i, %.body.i ], [ %111, %110 ] invoke fastcc void @"_ZN4core3ptr107drop_in_place$LT$core..result..Result$LT$rustfmt_nightly..FormatReport$C$rustfmt_nightly..ErrorKind$GT$$GT$17hea115ec940bd4ec1E"(ptr noalias noundef nonnull align 8 dereferenceable(72) %17) #48 to label %.thread98.i unwind label %93, !noalias !877 -163: ; preds = %153, %151, %147 - %.sroa.01.0 = phi i64 [ -9223372036854775808, %151 ], [ -9223372036854775808, %153 ], [ %.sroa.011.sroa.0.0.copyload.i, %147 ] +166: ; preds = %156, %154, %150 + %.sroa.01.0 = phi i64 [ -9223372036854775808, %154 ], [ -9223372036854775808, %156 ], [ %.sroa.011.sroa.0.0.copyload.i, %150 ] call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %8), !noalias !875 call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %17), !noalias !875 br label %"_ZN15rustfmt_nightly14format_snippet28_$u7b$$u7b$closure$u7d$$u7d$17ha898b5595f86278fE.exit" -164: ; preds = %104 - %165 = load i64, ptr %17, align 8, !range !884, !alias.scope !937, !noalias !875, !noundef !5 - %166 = icmp eq i64 %165, -9223372036854775798 - br i1 %166, label %167, label %169 +167: ; preds = %104 + %168 = load i64, ptr %17, align 8, !range !884, !alias.scope !937, !noalias !875, !noundef !5 + %169 = icmp eq i64 %168, -9223372036854775798 + br i1 %169, label %170, label %172 -167: ; preds = %164 - %168 = getelementptr inbounds i8, ptr %17, i64 8 - invoke void @"_ZN4core3ptr50drop_in_place$LT$rustfmt_nightly..FormatReport$GT$17h74c2c202b65a991dE"(ptr noalias noundef nonnull align 8 dereferenceable(32) %168) +170: ; preds = %167 + %171 = getelementptr inbounds i8, ptr %17, i64 8 + invoke void @"_ZN4core3ptr50drop_in_place$LT$rustfmt_nightly..FormatReport$GT$17h74c2c202b65a991dE"(ptr noalias noundef nonnull align 8 dereferenceable(32) %171) to label %.noexc46.i unwind label %38, !noalias !877 -169: ; preds = %164 +172: ; preds = %167 invoke void @"_ZN4core3ptr47drop_in_place$LT$rustfmt_nightly..ErrorKind$GT$17hd40ae6560b5f4ee6E"(ptr noalias noundef nonnull align 8 dereferenceable(72) %17) to label %.noexc46.i unwind label %38, !noalias !877 -.noexc46.i: ; preds = %169, %167 +.noexc46.i: ; preds = %172, %170 call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %17), !noalias !875 call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %2), !noalias !940 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) %2, ptr noalias noundef nonnull readonly align 8 dereferenceable(16) %22), !noalias !877 - %170 = getelementptr inbounds i8, ptr %2, i64 8 - %171 = load i64, ptr %170, align 8, !range !84, !noalias !940, !noundef !5 - %.not.i.i.i.i = icmp eq i64 %171, 0 - br i1 %.not.i.i.i.i, label %"_ZN4core3ptr46drop_in_place$LT$alloc..vec..Vec$LT$u8$GT$$GT$17h27f30dfd67318ac1E.exit.i", label %172 - -172: ; preds = %.noexc46.i - %173 = getelementptr inbounds i8, ptr %2, i64 16 - %174 = load i64, ptr %173, align 8, !noalias !940, !noundef !5 - %175 = icmp eq i64 %174, 0 - br i1 %175, label %"_ZN4core3ptr46drop_in_place$LT$alloc..vec..Vec$LT$u8$GT$$GT$17h27f30dfd67318ac1E.exit.i", label %176 - -176: ; preds = %172 - %177 = load ptr, ptr %2, align 8, !noalias !940, !nonnull !5, !noundef !5 - call void @__rust_dealloc(ptr noundef nonnull %177, i64 noundef %174, i64 noundef %171) #45, !noalias !877 + %173 = getelementptr inbounds i8, ptr %2, i64 8 + %174 = load i64, ptr %173, align 8, !range !84, !noalias !940, !noundef !5 + %.not.i.i.i.i = icmp eq i64 %174, 0 + br i1 %.not.i.i.i.i, label %"_ZN4core3ptr46drop_in_place$LT$alloc..vec..Vec$LT$u8$GT$$GT$17h27f30dfd67318ac1E.exit.i", label %175 + +175: ; preds = %.noexc46.i + %176 = getelementptr inbounds i8, ptr %2, i64 16 + %177 = load i64, ptr %176, align 8, !noalias !940, !noundef !5 + %178 = icmp eq i64 %177, 0 + br i1 %178, label %"_ZN4core3ptr46drop_in_place$LT$alloc..vec..Vec$LT$u8$GT$$GT$17h27f30dfd67318ac1E.exit.i", label %179 + +179: ; preds = %175 + %180 = load ptr, ptr %2, align 8, !noalias !940, !nonnull !5, !noundef !5 + call void @__rust_dealloc(ptr noundef nonnull %180, i64 noundef %177, i64 noundef %174) #45, !noalias !877 br label %"_ZN4core3ptr46drop_in_place$LT$alloc..vec..Vec$LT$u8$GT$$GT$17h27f30dfd67318ac1E.exit.i" -"_ZN4core3ptr46drop_in_place$LT$alloc..vec..Vec$LT$u8$GT$$GT$17h27f30dfd67318ac1E.exit.i": ; preds = %176, %172, %.noexc46.i +"_ZN4core3ptr46drop_in_place$LT$alloc..vec..Vec$LT$u8$GT$$GT$17h27f30dfd67318ac1E.exit.i": ; preds = %179, %175, %.noexc46.i call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %2), !noalias !940 br label %"_ZN15rustfmt_nightly14format_snippet28_$u7b$$u7b$closure$u7d$$u7d$17ha898b5595f86278fE.exit" -178: ; preds = %63 - %179 = landingpad { ptr, i32 } +181: ; preds = %63 + %182 = landingpad { ptr, i32 } cleanup invoke fastcc void @"_ZN4core3ptr43drop_in_place$LT$rustfmt_nightly..Input$GT$17hdf46b4e3b14324b0E"(ptr noalias noundef nonnull align 8 dereferenceable(32) %16) #48 to label %.thread.i unwind label %93, !noalias !877 -.thread.i: ; preds = %178, %71, %65, %38, %.thread65.i - %.22158.i = phi i1 [ false, %38 ], [ true, %.thread65.i ], [ false, %178 ], [ false, %65 ], [ false, %71 ] - %.pn2657.i = phi { ptr, i32 } [ %lpad.thr_comm.split-lp.i, %38 ], [ %lpad.thr_comm.i, %.thread65.i ], [ %179, %178 ], [ %66, %65 ], [ %.pn.i, %71 ] +.thread.i: ; preds = %181, %71, %65, %38, %.thread65.i + %.22158.i = phi i1 [ false, %38 ], [ true, %.thread65.i ], [ false, %181 ], [ false, %65 ], [ false, %71 ] + %.pn2657.i = phi { ptr, i32 } [ %lpad.thr_comm.split-lp.i, %38 ], [ %lpad.thr_comm.i, %.thread65.i ], [ %182, %181 ], [ %66, %65 ], [ %.pn.i, %71 ] invoke void @"_ZN4core3ptr46drop_in_place$LT$alloc..vec..Vec$LT$u8$GT$$GT$17h27f30dfd67318ac1E"(ptr noalias noundef nonnull align 8 dereferenceable(24) %22) #48 to label %37 unwind label %93, !noalias !877 -.thread98.i: ; preds = %180, %.body.thread.i, %144, %37 - %.pn28101.i = phi { ptr, i32 } [ %.pn28102.i, %180 ], [ %.pn2657.i, %37 ], [ %eh.lpad-body78.i, %.body.thread.i ], [ %128, %144 ] +.thread98.i: ; preds = %183, %.body.thread.i, %147, %37 + %.pn28101.i = phi { ptr, i32 } [ %.pn28102.i, %183 ], [ %.pn2657.i, %37 ], [ %eh.lpad-body78.i, %.body.thread.i ], [ %130, %147 ] resume { ptr, i32 } %.pn28101.i -180: ; preds = %.thread105.i, %37 +183: ; preds = %.thread105.i, %37 %.pn28102.i = phi { ptr, i32 } [ %.pn2657.i, %37 ], [ %lpad.thr_comm103.i, %.thread105.i ] invoke void @"_ZN4core3ptr52drop_in_place$LT$rustfmt_nightly..config..Config$GT$17hdec1a3ed2649d61aE"(ptr noalias noundef nonnull align 8 dereferenceable(848) %23) #48 to label %.thread98.i unwind label %93, !noalias !877 -"_ZN15rustfmt_nightly14format_snippet28_$u7b$$u7b$closure$u7d$$u7d$17ha898b5595f86278fE.exit": ; preds = %163, %"_ZN4core3ptr46drop_in_place$LT$alloc..vec..Vec$LT$u8$GT$$GT$17h27f30dfd67318ac1E.exit.i" - %.sroa.01.1 = phi i64 [ -9223372036854775808, %"_ZN4core3ptr46drop_in_place$LT$alloc..vec..Vec$LT$u8$GT$$GT$17h27f30dfd67318ac1E.exit.i" ], [ %.sroa.01.0, %163 ] +"_ZN15rustfmt_nightly14format_snippet28_$u7b$$u7b$closure$u7d$$u7d$17ha898b5595f86278fE.exit": ; preds = %166, %"_ZN4core3ptr46drop_in_place$LT$alloc..vec..Vec$LT$u8$GT$$GT$17h27f30dfd67318ac1E.exit.i" + %.sroa.01.1 = phi i64 [ -9223372036854775808, %"_ZN4core3ptr46drop_in_place$LT$alloc..vec..Vec$LT$u8$GT$$GT$17h27f30dfd67318ac1E.exit.i" ], [ %.sroa.01.0, %166 ] call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %22), !noalias !875 call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %.sroa.7.i) call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %11) diff --git a/bench/smol-rs/optimized/42mrm3r913zsut0b.ll b/bench/smol-rs/optimized/42mrm3r913zsut0b.ll index fd0cc132df9..4974947f515 100644 --- a/bench/smol-rs/optimized/42mrm3r913zsut0b.ll +++ b/bench/smol-rs/optimized/42mrm3r913zsut0b.ll @@ -1305,7 +1305,7 @@ _ZN3std3sys4unix5locks11futex_mutex5Mutex4lock17h2824c483f8557e8fE.llvm.60907777 35: ; preds = %29 call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %9) - %36 = getelementptr inbounds i8, ptr %11, i64 8 + %36 = getelementptr inbounds i8, ptr %1, i64 16 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %9, ptr noundef nonnull align 8 dereferenceable(16) %36, i64 16, i1 false) call void @llvm.lifetime.start.p0(i64 23, ptr nonnull %.sroa.48) call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %8) diff --git a/bench/smol-rs/optimized/q1d2xhr1mnh88ol.ll b/bench/smol-rs/optimized/q1d2xhr1mnh88ol.ll index 71cbc144f71..ca4b9fc990a 100644 --- a/bench/smol-rs/optimized/q1d2xhr1mnh88ol.ll +++ b/bench/smol-rs/optimized/q1d2xhr1mnh88ol.ll @@ -597,7 +597,6 @@ define hidden void @_ZN12futures_lite6stream9StreamExt9poll_next17h9a6c24040302b ; Function Attrs: cold nonlazybind uwtable define hidden noundef i64 @"_ZN14event_listener3sys14Inner$LT$T$GT$6notify17h2c461380164176bfE"(ptr noalias nocapture noundef align 8 dereferenceable(40) %0, i64 noundef %1) unnamed_addr #2 personality ptr @rust_eh_personality { %3 = alloca { ptr, [1 x i64] }, align 8 - %.sroa.4 = alloca [23 x i8], align 1 %.not20 = icmp eq i64 %1, 0 br i1 %.not20, label %.loopexit, label %.lr.ph @@ -606,11 +605,10 @@ define hidden noundef i64 @"_ZN14event_listener3sys14Inner$LT$T$GT$6notify17h2c4 %5 = getelementptr inbounds i8, ptr %0, i64 32 %.promoted = load ptr, ptr %4, align 8 %.promoted22 = load i64, ptr %5, align 8 - %.sroa.4.8..sroa_idx = getelementptr inbounds i8, ptr %.sroa.4, i64 7 br label %6 6: ; preds = %.lr.ph, %"_ZN4core3ptr41drop_in_place$LT$event_listener..Task$GT$17hcea77a4079e3135fE.exit" - %7 = phi i64 [ %.promoted22, %.lr.ph ], [ %17, %"_ZN4core3ptr41drop_in_place$LT$event_listener..Task$GT$17hcea77a4079e3135fE.exit" ] + %7 = phi i64 [ %.promoted22, %.lr.ph ], [ %18, %"_ZN4core3ptr41drop_in_place$LT$event_listener..Task$GT$17hcea77a4079e3135fE.exit" ] %8 = phi ptr [ %.promoted, %.lr.ph ], [ %15, %"_ZN4core3ptr41drop_in_place$LT$event_listener..Task$GT$17hcea77a4079e3135fE.exit" ] %.121 = phi i64 [ %1, %.lr.ph ], [ %9, %"_ZN4core3ptr41drop_in_place$LT$event_listener..Task$GT$17hcea77a4079e3135fE.exit" ] %9 = add i64 %.121, -1 @@ -629,10 +627,7 @@ define hidden noundef i64 @"_ZN14event_listener3sys14Inner$LT$T$GT$6notify17h2c4 %14 = getelementptr inbounds i8, ptr %8, i64 32 %15 = load ptr, ptr %14, align 8, !noundef !4 store ptr %15, ptr %4, align 8 - call void @llvm.lifetime.start.p0(i64 23, ptr nonnull %.sroa.4) %.sroa.0.0.copyload = load i8, ptr %8, align 8 - %.sroa.4.0..sroa_idx = getelementptr inbounds i8, ptr %8, i64 1 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(23) %.sroa.4, ptr noundef nonnull align 1 dereferenceable(23) %.sroa.4.0..sroa_idx, i64 23, i1 false) store i8 1, ptr %8, align 8 %.sroa.4.0..0..sroa_idx = getelementptr inbounds i8, ptr %8, i64 1 store i8 1, ptr %.sroa.4.0..0..sroa_idx, align 1 @@ -640,14 +635,14 @@ define hidden noundef i64 @"_ZN14event_listener3sys14Inner$LT$T$GT$6notify17h2c4 br i1 %.not14, label %16, label %"_ZN4core3ptr41drop_in_place$LT$event_listener..Task$GT$17hcea77a4079e3135fE.exit" 16: ; preds = %13 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %3, ptr noundef nonnull align 1 dereferenceable(16) %.sroa.4.8..sroa_idx, i64 16, i1 false) + %17 = getelementptr inbounds i8, ptr %8, i64 8 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %3, ptr noundef nonnull align 8 dereferenceable(16) %17, i64 16, i1 false) call void @_ZN14event_listener4Task4wake17h0f7a18696dd04c4fE(ptr noalias nocapture noundef nonnull align 8 dereferenceable(16) %3) br label %"_ZN4core3ptr41drop_in_place$LT$event_listener..Task$GT$17hcea77a4079e3135fE.exit" "_ZN4core3ptr41drop_in_place$LT$event_listener..Task$GT$17hcea77a4079e3135fE.exit": ; preds = %16, %13 - call void @llvm.lifetime.end.p0(i64 23, ptr nonnull %.sroa.4) - %17 = add i64 %7, 1 - store i64 %17, ptr %5, align 8 + %18 = add i64 %7, 1 + store i64 %18, ptr %5, align 8 %.not = icmp eq i64 %9, 0 br i1 %.not, label %.loopexit, label %6 } @@ -655,7 +650,6 @@ define hidden noundef i64 @"_ZN14event_listener3sys14Inner$LT$T$GT$6notify17h2c4 ; Function Attrs: cold nonlazybind uwtable define hidden noundef i64 @"_ZN14event_listener3sys14Inner$LT$T$GT$6notify17h30e3f188da931715E"(ptr noalias nocapture noundef align 8 dereferenceable(40) %0, i64 noundef %1) unnamed_addr #2 personality ptr @rust_eh_personality { %3 = alloca { ptr, [1 x i64] }, align 8 - %.sroa.4 = alloca [23 x i8], align 1 %4 = getelementptr inbounds i8, ptr %0, i64 32 %5 = load i64, ptr %4, align 8, !noundef !4 %6 = icmp ugt i64 %5, %1 @@ -669,13 +663,12 @@ define hidden noundef i64 @"_ZN14event_listener3sys14Inner$LT$T$GT$6notify17h30e .lr.ph: ; preds = %7 %9 = getelementptr inbounds i8, ptr %0, i64 16 %.promoted22 = load ptr, ptr %9, align 8 - %.sroa.4.8..sroa_idx = getelementptr inbounds i8, ptr %.sroa.4, i64 7 br label %10 10: ; preds = %.lr.ph, %"_ZN4core3ptr41drop_in_place$LT$event_listener..Task$GT$17hcea77a4079e3135fE.exit" %11 = phi ptr [ %.promoted22, %.lr.ph ], [ %19, %"_ZN4core3ptr41drop_in_place$LT$event_listener..Task$GT$17hcea77a4079e3135fE.exit" ] %.121 = phi i64 [ %8, %.lr.ph ], [ %13, %"_ZN4core3ptr41drop_in_place$LT$event_listener..Task$GT$17hcea77a4079e3135fE.exit" ] - %12 = phi i64 [ %5, %.lr.ph ], [ %21, %"_ZN4core3ptr41drop_in_place$LT$event_listener..Task$GT$17hcea77a4079e3135fE.exit" ] + %12 = phi i64 [ %5, %.lr.ph ], [ %22, %"_ZN4core3ptr41drop_in_place$LT$event_listener..Task$GT$17hcea77a4079e3135fE.exit" ] %13 = add i64 %.121, -1 %14 = icmp eq ptr %11, null br i1 %14, label %15, label %17 @@ -692,10 +685,7 @@ define hidden noundef i64 @"_ZN14event_listener3sys14Inner$LT$T$GT$6notify17h30e %18 = getelementptr inbounds i8, ptr %11, i64 32 %19 = load ptr, ptr %18, align 8, !noundef !4 store ptr %19, ptr %9, align 8 - call void @llvm.lifetime.start.p0(i64 23, ptr nonnull %.sroa.4) %.sroa.0.0.copyload = load i8, ptr %11, align 8 - %.sroa.4.0..sroa_idx = getelementptr inbounds i8, ptr %11, i64 1 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(23) %.sroa.4, ptr noundef nonnull align 1 dereferenceable(23) %.sroa.4.0..sroa_idx, i64 23, i1 false) store i8 1, ptr %11, align 8 %.sroa.4.0..0..sroa_idx = getelementptr inbounds i8, ptr %11, i64 1 store i8 0, ptr %.sroa.4.0..0..sroa_idx, align 1 @@ -703,14 +693,14 @@ define hidden noundef i64 @"_ZN14event_listener3sys14Inner$LT$T$GT$6notify17h30e br i1 %.not14, label %20, label %"_ZN4core3ptr41drop_in_place$LT$event_listener..Task$GT$17hcea77a4079e3135fE.exit" 20: ; preds = %17 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %3, ptr noundef nonnull align 1 dereferenceable(16) %.sroa.4.8..sroa_idx, i64 16, i1 false) + %21 = getelementptr inbounds i8, ptr %11, i64 8 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %3, ptr noundef nonnull align 8 dereferenceable(16) %21, i64 16, i1 false) call void @_ZN14event_listener4Task4wake17h0f7a18696dd04c4fE(ptr noalias nocapture noundef nonnull align 8 dereferenceable(16) %3) br label %"_ZN4core3ptr41drop_in_place$LT$event_listener..Task$GT$17hcea77a4079e3135fE.exit" "_ZN4core3ptr41drop_in_place$LT$event_listener..Task$GT$17hcea77a4079e3135fE.exit": ; preds = %20, %17 - call void @llvm.lifetime.end.p0(i64 23, ptr nonnull %.sroa.4) - %21 = add i64 %12, 1 - store i64 %21, ptr %4, align 8 + %22 = add i64 %12, 1 + store i64 %22, ptr %4, align 8 %.not = icmp eq i64 %13, 0 br i1 %.not, label %.loopexit, label %10 } @@ -718,7 +708,6 @@ define hidden noundef i64 @"_ZN14event_listener3sys14Inner$LT$T$GT$6notify17h30e ; Function Attrs: cold nonlazybind uwtable define internal fastcc void @"_ZN14event_listener3sys14Inner$LT$T$GT$6notify17h3bf2fe567b129f90E"(ptr noalias nocapture noundef align 8 dereferenceable(40) %0, ptr noalias nocapture noundef align 8 dereferenceable(16) %1) unnamed_addr #2 personality ptr @rust_eh_personality { %3 = alloca { ptr, [1 x i64] }, align 8 - %.sroa.4 = alloca [23 x i8], align 1 %.val = load i64, ptr %1, align 8, !noundef !4 %4 = getelementptr inbounds i8, ptr %1, i64 8 %.val16 = load i8, ptr %4, align 8, !range !75, !noundef !4 @@ -744,7 +733,6 @@ define internal fastcc void @"_ZN14event_listener3sys14Inner$LT$T$GT$6notify17h3 %.promoted24 = load i8, ptr %12, align 1, !alias.scope !76 %.promoted25 = load i64, ptr %13, align 8 %14 = trunc i8 %.promoted24 to i1 - %.sroa.4.8..sroa_idx = getelementptr inbounds i8, ptr %.sroa.4, i64 7 br label %17 15: ; preds = %6 @@ -752,7 +740,7 @@ define internal fastcc void @"_ZN14event_listener3sys14Inner$LT$T$GT$6notify17h3 br label %10 17: ; preds = %.lr.ph, %"_ZN4core3ptr41drop_in_place$LT$event_listener..Task$GT$17hcea77a4079e3135fE.exit" - %18 = phi i64 [ %.promoted25, %.lr.ph ], [ %27, %"_ZN4core3ptr41drop_in_place$LT$event_listener..Task$GT$17hcea77a4079e3135fE.exit" ] + %18 = phi i64 [ %.promoted25, %.lr.ph ], [ %28, %"_ZN4core3ptr41drop_in_place$LT$event_listener..Task$GT$17hcea77a4079e3135fE.exit" ] %trunc.i.i.i = phi i1 [ %14, %.lr.ph ], [ false, %"_ZN4core3ptr41drop_in_place$LT$event_listener..Task$GT$17hcea77a4079e3135fE.exit" ] %19 = phi ptr [ %.promoted, %.lr.ph ], [ %24, %"_ZN4core3ptr41drop_in_place$LT$event_listener..Task$GT$17hcea77a4079e3135fE.exit" ] %.123 = phi i64 [ %.011, %.lr.ph ], [ %20, %"_ZN4core3ptr41drop_in_place$LT$event_listener..Task$GT$17hcea77a4079e3135fE.exit" ] @@ -778,10 +766,7 @@ define internal fastcc void @"_ZN14event_listener3sys14Inner$LT$T$GT$6notify17h3 unreachable "_ZN110_$LT$event_listener..notify..GenericNotify$LT$F$GT$$u20$as$u20$event_listener..notify..NotificationPrivate$GT$8next_tag17hf0df2ab6e876bd37E.exit": ; preds = %22 - call void @llvm.lifetime.start.p0(i64 23, ptr nonnull %.sroa.4) %.sroa.0.0.copyload = load i8, ptr %19, align 8 - %.sroa.4.0..sroa_idx = getelementptr inbounds i8, ptr %19, i64 1 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(23) %.sroa.4, ptr noundef nonnull align 1 dereferenceable(23) %.sroa.4.0..sroa_idx, i64 23, i1 false) store i8 1, ptr %19, align 8 %.sroa.4.0..0..sroa_idx = getelementptr inbounds i8, ptr %19, i64 1 store i8 %.val16, ptr %.sroa.4.0..0..sroa_idx, align 1 @@ -789,14 +774,14 @@ define internal fastcc void @"_ZN14event_listener3sys14Inner$LT$T$GT$6notify17h3 br i1 %.not14, label %26, label %"_ZN4core3ptr41drop_in_place$LT$event_listener..Task$GT$17hcea77a4079e3135fE.exit" 26: ; preds = %"_ZN110_$LT$event_listener..notify..GenericNotify$LT$F$GT$$u20$as$u20$event_listener..notify..NotificationPrivate$GT$8next_tag17hf0df2ab6e876bd37E.exit" - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %3, ptr noundef nonnull align 1 dereferenceable(16) %.sroa.4.8..sroa_idx, i64 16, i1 false) + %27 = getelementptr inbounds i8, ptr %19, i64 8 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %3, ptr noundef nonnull align 8 dereferenceable(16) %27, i64 16, i1 false) call void @_ZN14event_listener4Task4wake17h0f7a18696dd04c4fE(ptr noalias nocapture noundef nonnull align 8 dereferenceable(16) %3) br label %"_ZN4core3ptr41drop_in_place$LT$event_listener..Task$GT$17hcea77a4079e3135fE.exit" "_ZN4core3ptr41drop_in_place$LT$event_listener..Task$GT$17hcea77a4079e3135fE.exit": ; preds = %26, %"_ZN110_$LT$event_listener..notify..GenericNotify$LT$F$GT$$u20$as$u20$event_listener..notify..NotificationPrivate$GT$8next_tag17hf0df2ab6e876bd37E.exit" - call void @llvm.lifetime.end.p0(i64 23, ptr nonnull %.sroa.4) - %27 = add i64 %18, 1 - store i64 %27, ptr %13, align 8 + %28 = add i64 %18, 1 + store i64 %28, ptr %13, align 8 %.not = icmp eq i64 %20, 0 br i1 %.not, label %.loopexit, label %17 } @@ -804,7 +789,6 @@ define internal fastcc void @"_ZN14event_listener3sys14Inner$LT$T$GT$6notify17h3 ; Function Attrs: cold nonlazybind uwtable define hidden noundef i64 @"_ZN14event_listener3sys14Inner$LT$T$GT$6notify17he202c8bca4035b2cE"(ptr noalias nocapture noundef align 8 dereferenceable(40) %0, i64 noundef %1) unnamed_addr #2 personality ptr @rust_eh_personality { %3 = alloca { ptr, [1 x i64] }, align 8 - %.sroa.4 = alloca [23 x i8], align 1 %4 = getelementptr inbounds i8, ptr %0, i64 32 %5 = load i64, ptr %4, align 8, !noundef !4 %6 = icmp ugt i64 %5, %1 @@ -818,13 +802,12 @@ define hidden noundef i64 @"_ZN14event_listener3sys14Inner$LT$T$GT$6notify17he20 .lr.ph: ; preds = %7 %9 = getelementptr inbounds i8, ptr %0, i64 16 %.promoted22 = load ptr, ptr %9, align 8 - %.sroa.4.8..sroa_idx = getelementptr inbounds i8, ptr %.sroa.4, i64 7 br label %10 10: ; preds = %.lr.ph, %"_ZN4core3ptr41drop_in_place$LT$event_listener..Task$GT$17hc961af4f87fbece0E.exit" %11 = phi ptr [ %.promoted22, %.lr.ph ], [ %19, %"_ZN4core3ptr41drop_in_place$LT$event_listener..Task$GT$17hc961af4f87fbece0E.exit" ] %.121 = phi i64 [ %8, %.lr.ph ], [ %13, %"_ZN4core3ptr41drop_in_place$LT$event_listener..Task$GT$17hc961af4f87fbece0E.exit" ] - %12 = phi i64 [ %5, %.lr.ph ], [ %21, %"_ZN4core3ptr41drop_in_place$LT$event_listener..Task$GT$17hc961af4f87fbece0E.exit" ] + %12 = phi i64 [ %5, %.lr.ph ], [ %22, %"_ZN4core3ptr41drop_in_place$LT$event_listener..Task$GT$17hc961af4f87fbece0E.exit" ] %13 = add i64 %.121, -1 %14 = icmp eq ptr %11, null br i1 %14, label %15, label %17 @@ -841,10 +824,7 @@ define hidden noundef i64 @"_ZN14event_listener3sys14Inner$LT$T$GT$6notify17he20 %18 = getelementptr inbounds i8, ptr %11, i64 32 %19 = load ptr, ptr %18, align 8, !noundef !4 store ptr %19, ptr %9, align 8 - call void @llvm.lifetime.start.p0(i64 23, ptr nonnull %.sroa.4) %.sroa.0.0.copyload = load i8, ptr %11, align 8 - %.sroa.4.0..sroa_idx = getelementptr inbounds i8, ptr %11, i64 1 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(23) %.sroa.4, ptr noundef nonnull align 1 dereferenceable(23) %.sroa.4.0..sroa_idx, i64 23, i1 false) store i8 1, ptr %11, align 8 %.sroa.4.0..0..sroa_idx = getelementptr inbounds i8, ptr %11, i64 1 store i8 0, ptr %.sroa.4.0..0..sroa_idx, align 1 @@ -852,14 +832,14 @@ define hidden noundef i64 @"_ZN14event_listener3sys14Inner$LT$T$GT$6notify17he20 br i1 %.not14, label %20, label %"_ZN4core3ptr41drop_in_place$LT$event_listener..Task$GT$17hc961af4f87fbece0E.exit" 20: ; preds = %17 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %3, ptr noundef nonnull align 1 dereferenceable(16) %.sroa.4.8..sroa_idx, i64 16, i1 false) + %21 = getelementptr inbounds i8, ptr %11, i64 8 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %3, ptr noundef nonnull align 8 dereferenceable(16) %21, i64 16, i1 false) call void @_ZN14event_listener4Task4wake17h0f109f004e04bb88E(ptr noalias nocapture noundef nonnull align 8 dereferenceable(16) %3) br label %"_ZN4core3ptr41drop_in_place$LT$event_listener..Task$GT$17hc961af4f87fbece0E.exit" "_ZN4core3ptr41drop_in_place$LT$event_listener..Task$GT$17hc961af4f87fbece0E.exit": ; preds = %20, %17 - call void @llvm.lifetime.end.p0(i64 23, ptr nonnull %.sroa.4) - %21 = add i64 %12, 1 - store i64 %21, ptr %4, align 8 + %22 = add i64 %12, 1 + store i64 %22, ptr %4, align 8 %.not = icmp eq i64 %13, 0 br i1 %.not, label %.loopexit, label %10 } diff --git a/bench/tev/optimized/Image.cpp.ll b/bench/tev/optimized/Image.cpp.ll index 084a9c28293..fb100a7818c 100644 --- a/bench/tev/optimized/Image.cpp.ll +++ b/bench/tev/optimized/Image.cpp.ll @@ -71876,7 +71876,7 @@ define linkonce_odr dso_local ptr @_ZNK3fmt2v99formatterINSt3__117basic_string_v 9: ; preds = %3 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(64) %4, ptr noundef nonnull align 8 dereferenceable(64) %0, i64 64, i1 false) - %10 = getelementptr inbounds i8, ptr %4, i64 16 + %10 = getelementptr inbounds i8, ptr %0, i64 16 call void @_ZN3fmt2v96detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %4, ptr noundef nonnull byval(%"struct.fmt::v9::detail::arg_ref") align 8 %10, ptr noundef nonnull align 8 dereferenceable(32) %2) %11 = getelementptr inbounds i8, ptr %4, i64 4 %12 = getelementptr inbounds i8, ptr %4, i64 40 diff --git a/bench/tev/optimized/ImageCanvas.cpp.ll b/bench/tev/optimized/ImageCanvas.cpp.ll index 7098bd383cf..895d2f1a138 100644 --- a/bench/tev/optimized/ImageCanvas.cpp.ll +++ b/bench/tev/optimized/ImageCanvas.cpp.ll @@ -60762,7 +60762,7 @@ define linkonce_odr dso_local ptr @_ZNK3fmt2v99formatterINSt3__117basic_string_v 9: ; preds = %3 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(64) %4, ptr noundef nonnull align 8 dereferenceable(64) %0, i64 64, i1 false) - %10 = getelementptr inbounds i8, ptr %4, i64 16 + %10 = getelementptr inbounds i8, ptr %0, i64 16 call void @_ZN3fmt2v96detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %4, ptr noundef nonnull byval(%"struct.fmt::v9::detail::arg_ref") align 8 %10, ptr noundef nonnull align 8 dereferenceable(32) %2) %11 = getelementptr inbounds i8, ptr %4, i64 4 %12 = getelementptr inbounds i8, ptr %4, i64 40 diff --git a/bench/tev/optimized/StbiLdrImageSaver.cpp.ll b/bench/tev/optimized/StbiLdrImageSaver.cpp.ll index 02c8c2597f2..47125ac6a70 100644 --- a/bench/tev/optimized/StbiLdrImageSaver.cpp.ll +++ b/bench/tev/optimized/StbiLdrImageSaver.cpp.ll @@ -40735,7 +40735,7 @@ define linkonce_odr dso_local ptr @_ZNK3fmt2v99formatterINSt3__117basic_string_v 9: ; preds = %3 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(64) %4, ptr noundef nonnull align 8 dereferenceable(64) %0, i64 64, i1 false) - %10 = getelementptr inbounds i8, ptr %4, i64 16 + %10 = getelementptr inbounds i8, ptr %0, i64 16 call void @_ZN3fmt2v96detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %4, ptr noundef nonnull byval(%"struct.fmt::v9::detail::arg_ref") align 8 %10, ptr noundef nonnull align 8 dereferenceable(32) %2) %11 = getelementptr inbounds i8, ptr %4, i64 4 %12 = getelementptr inbounds i8, ptr %4, i64 40 diff --git a/bench/tev/optimized/main.cpp.ll b/bench/tev/optimized/main.cpp.ll index 86c77963f9c..71abc3c48a1 100644 --- a/bench/tev/optimized/main.cpp.ll +++ b/bench/tev/optimized/main.cpp.ll @@ -74846,7 +74846,7 @@ define linkonce_odr dso_local ptr @_ZNK3fmt2v99formatterINSt3__117basic_string_v 9: ; preds = %3 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(64) %4, ptr noundef nonnull align 8 dereferenceable(64) %0, i64 64, i1 false) - %10 = getelementptr inbounds i8, ptr %4, i64 16 + %10 = getelementptr inbounds i8, ptr %0, i64 16 call void @_ZN3fmt2v96detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %4, ptr noundef nonnull byval(%"struct.fmt::v9::detail::arg_ref") align 8 %10, ptr noundef nonnull align 8 dereferenceable(32) %2) %11 = getelementptr inbounds i8, ptr %4, i64 4 %12 = getelementptr inbounds i8, ptr %4, i64 40 diff --git a/bench/tls-rs/optimized/4vg8hiu39ndz9uqe.ll b/bench/tls-rs/optimized/4vg8hiu39ndz9uqe.ll index eefbb8bb3b3..cd5497ac4e1 100644 --- a/bench/tls-rs/optimized/4vg8hiu39ndz9uqe.ll +++ b/bench/tls-rs/optimized/4vg8hiu39ndz9uqe.ll @@ -4664,8 +4664,8 @@ define internal fastcc void @"_ZN9hashbrown3map28HashMap$LT$K$C$V$C$S$C$A$GT$6re ret void 88: ; preds = %"_ZN9hashbrown3map28HashMap$LT$K$C$V$C$S$C$A$GT$12remove_entry17hc9d6d461f8dec936E.exit" - %89 = getelementptr inbounds i8, ptr %5, i64 32 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(184) %0, ptr noundef nonnull align 8 dereferenceable(184) %89, i64 184, i1 false) + %89 = getelementptr inbounds i8, ptr %65, i64 -184 + tail call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(184) %0, ptr noundef nonnull align 8 dereferenceable(184) %89, i64 184, i1 false) tail call void @llvm.experimental.noalias.scope.decl(metadata !681) %90 = load i8, ptr %5, align 8, !range !144, !alias.scope !681, !noundef !4 %91 = icmp eq i8 %90, 0 @@ -13615,7 +13615,7 @@ _ZN3std3sys4unix5locks11futex_mutex5Mutex4lock17h2824c483f8557e8fE.exit: ; preds br label %"_ZN4core3ptr74drop_in_place$LT$core..option..Option$LT$alloc..vec..Vec$LT$u8$GT$$GT$$GT$17hc8740a9f73fdbab3E.exit.i" 335: ; preds = %"_ZN9hashbrown3map28HashMap$LT$K$C$V$C$S$C$A$GT$12remove_entry17h0997b38699e320c4E.exit.i.i" - %336 = getelementptr inbounds i8, ptr %10, i64 24 + %336 = getelementptr inbounds i8, ptr %313, i64 -24 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %21, ptr noundef nonnull align 8 dereferenceable(24) %336, i64 24, i1 false), !noalias !2714 call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %6), !noalias !2715 invoke void @"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$14current_memory17h316187016974866fE.llvm.4248407042397360440"(ptr noalias nocapture noundef nonnull sret({ [1 x i64], i64, [1 x i64] }) align 8 dereferenceable(24) %6, ptr noalias noundef nonnull readonly align 8 dereferenceable(16) %10) @@ -14305,9 +14305,9 @@ common.resume: ; preds = %.body, %32 br label %182 110: ; preds = %"_ZN9hashbrown3map28HashMap$LT$K$C$V$C$S$C$A$GT$12remove_entry17hf388285ef8308d95E.exit.i.i" - %111 = getelementptr inbounds i8, ptr %12, i64 24 + %111 = getelementptr inbounds i8, ptr %87, i64 -24 %.sroa.015.0.copyload = load i64, ptr %111, align 8, !noalias !2931 - %.sroa.517.0..sroa_idx = getelementptr inbounds i8, ptr %12, i64 32 + %.sroa.517.0..sroa_idx = getelementptr inbounds i8, ptr %87, i64 -16 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %.sroa.517, ptr noundef nonnull align 8 dereferenceable(16) %.sroa.517.0..sroa_idx, i64 16, i1 false), !noalias !2931 call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %8), !noalias !2932 invoke void @"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$14current_memory17h316187016974866fE.llvm.4248407042397360440"(ptr noalias nocapture noundef nonnull sret({ [1 x i64], i64, [1 x i64] }) align 8 dereferenceable(24) %8, ptr noalias noundef nonnull readonly align 8 dereferenceable(16) %12) @@ -19853,7 +19853,7 @@ attributes #43 = { noreturn } !2711 = !{!2706, !2679, !2680, !2643, !2636, !2631, !2629, !2435, !2437} !2712 = !{!2701, !2698, !2706, !2695, !2679, !2675, !2643, !2633, !2631, !2626, !2435, !2437} !2713 = !{!2675, !2633, !2631, !2626, !2435, !2437} -!2714 = !{!2626, !2629, !2432, !2435, !2437} +!2714 = !{!2626, !2435, !2437} !2715 = !{!2716, !2718, !2720, !2631, !2626, !2629, !2432, !2435, !2437} !2716 = distinct !{!2716, !2717, !"_ZN77_$LT$alloc..raw_vec..RawVec$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2199571249dea28fE.llvm.4248407042397360440: argument 0"} !2717 = distinct !{!2717, !"_ZN77_$LT$alloc..raw_vec..RawVec$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2199571249dea28fE.llvm.4248407042397360440"} @@ -20070,7 +20070,7 @@ attributes #43 = { noreturn } !2928 = !{!2923, !2892, !2893, !2858, !2859, !2848, !2849, !2838, !2843} !2929 = !{!2918, !2915, !2923, !2912, !2892, !2888, !2893, !2858, !2851, !2848, !2845, !2838, !2841} !2930 = !{!2888, !2893, !2851, !2848, !2845, !2838, !2841} -!2931 = !{!2845, !2849, !2838, !2841, !2843} +!2931 = !{!2845, !2838, !2841} !2932 = !{!2933, !2935, !2937, !2848, !2845, !2849, !2838, !2841, !2843} !2933 = distinct !{!2933, !2934, !"_ZN77_$LT$alloc..raw_vec..RawVec$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2199571249dea28fE.llvm.4248407042397360440: argument 0"} !2934 = distinct !{!2934, !"_ZN77_$LT$alloc..raw_vec..RawVec$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2199571249dea28fE.llvm.4248407042397360440"} diff --git a/bench/tls-rs/optimized/526n7g8rwc65lc9b.ll b/bench/tls-rs/optimized/526n7g8rwc65lc9b.ll index d5baf561c0a..04890f8574a 100644 --- a/bench/tls-rs/optimized/526n7g8rwc65lc9b.ll +++ b/bench/tls-rs/optimized/526n7g8rwc65lc9b.ll @@ -11081,14 +11081,14 @@ define void @"_ZN142_$LT$rustls..client..hs..ExpectServerHello$u20$as$u20$rustls %53 = icmp eq i8 %.sroa.09.0.copyload, 20 br i1 %53, label %73, label %54 -.critedge311.thread: ; preds = %.loopexit, %.loopexit.split-lp.loopexit.split-lp, %.loopexit.split-lp.loopexit, %.critedge310, %391, %362, %.critedge311, %297, %392 - %.0260 = phi i8 [ 1, %392 ], [ 1, %.critedge311 ], [ 1, %297 ], [ 0, %362 ], [ 0, %391 ], [ 0, %.critedge310 ], [ 1, %.loopexit.split-lp.loopexit ], [ 1, %.loopexit.split-lp.loopexit.split-lp ], [ 1, %.loopexit ] - %.0239 = phi i8 [ 1, %392 ], [ 0, %.critedge311 ], [ 1, %297 ], [ 0, %362 ], [ 0, %391 ], [ 0, %.critedge310 ], [ 1, %.loopexit.split-lp.loopexit ], [ 1, %.loopexit.split-lp.loopexit.split-lp ], [ 1, %.loopexit ] - %.0236 = phi i8 [ %.2238.ph, %392 ], [ 0, %.critedge311 ], [ 1, %297 ], [ 0, %362 ], [ 0, %391 ], [ 0, %.critedge310 ], [ 1, %.loopexit.split-lp.loopexit ], [ 1, %.loopexit.split-lp.loopexit.split-lp ], [ 1, %.loopexit ] - %.0235 = phi i8 [ 0, %392 ], [ 0, %.critedge311 ], [ 0, %297 ], [ 0, %362 ], [ 0, %391 ], [ 0, %.critedge310 ], [ 1, %.loopexit.split-lp.loopexit ], [ 1, %.loopexit.split-lp.loopexit.split-lp ], [ 1, %.loopexit ] - %.pn292 = phi { ptr, i32 } [ %lpad.thr_comm, %392 ], [ %lpad.thr_comm.split-lp, %.critedge311 ], [ %298, %297 ], [ %363, %362 ], [ %387, %391 ], [ %387, %.critedge310 ], [ %lpad.loopexit510, %.loopexit.split-lp.loopexit ], [ %lpad.loopexit.split-lp511, %.loopexit.split-lp.loopexit.split-lp ], [ %lpad.loopexit, %.loopexit ] +.critedge311.thread: ; preds = %.loopexit, %.loopexit.split-lp.loopexit.split-lp, %.loopexit.split-lp.loopexit, %.critedge310, %392, %363, %.critedge311, %297, %393 + %.0260 = phi i8 [ 1, %393 ], [ 1, %.critedge311 ], [ 1, %297 ], [ 0, %363 ], [ 0, %392 ], [ 0, %.critedge310 ], [ 1, %.loopexit.split-lp.loopexit ], [ 1, %.loopexit.split-lp.loopexit.split-lp ], [ 1, %.loopexit ] + %.0239 = phi i8 [ 1, %393 ], [ 0, %.critedge311 ], [ 1, %297 ], [ 0, %363 ], [ 0, %392 ], [ 0, %.critedge310 ], [ 1, %.loopexit.split-lp.loopexit ], [ 1, %.loopexit.split-lp.loopexit.split-lp ], [ 1, %.loopexit ] + %.0236 = phi i8 [ %.2238.ph, %393 ], [ 0, %.critedge311 ], [ 1, %297 ], [ 0, %363 ], [ 0, %392 ], [ 0, %.critedge310 ], [ 1, %.loopexit.split-lp.loopexit ], [ 1, %.loopexit.split-lp.loopexit.split-lp ], [ 1, %.loopexit ] + %.0235 = phi i8 [ 0, %393 ], [ 0, %.critedge311 ], [ 0, %297 ], [ 0, %363 ], [ 0, %392 ], [ 0, %.critedge310 ], [ 1, %.loopexit.split-lp.loopexit ], [ 1, %.loopexit.split-lp.loopexit.split-lp ], [ 1, %.loopexit ] + %.pn292 = phi { ptr, i32 } [ %lpad.thr_comm, %393 ], [ %lpad.thr_comm.split-lp, %.critedge311 ], [ %298, %297 ], [ %364, %363 ], [ %388, %392 ], [ %388, %.critedge310 ], [ %lpad.loopexit510, %.loopexit.split-lp.loopexit ], [ %lpad.loopexit.split-lp511, %.loopexit.split-lp.loopexit.split-lp ], [ %lpad.loopexit, %.loopexit ] invoke void @"_ZN4core3ptr58drop_in_place$LT$rustls..msgs..message..MessagePayload$GT$17h6de0f8096c3e035fE.llvm.4248407042397360440"(ptr noalias noundef nonnull align 8 dereferenceable(184) %3) - to label %"_ZN4core3ptr51drop_in_place$LT$rustls..msgs..message..Message$GT$17he5c98e835734cfb6E.exit" unwind label %381 + to label %"_ZN4core3ptr51drop_in_place$LT$rustls..msgs..message..Message$GT$17he5c98e835734cfb6E.exit" unwind label %382 .loopexit: ; preds = %122 %lpad.loopexit = landingpad { ptr, i32 } @@ -11100,7 +11100,7 @@ define void @"_ZN142_$LT$rustls..client..hs..ExpectServerHello$u20$as$u20$rustls cleanup br label %.critedge311.thread -.loopexit.split-lp.loopexit.split-lp: ; preds = %401, %"_ZN77_$LT$rustls..suites..SupportedCipherSuite$u20$as$u20$core..cmp..PartialEq$GT$2eq17h8bf8e1eba6049babE.exit.thread", %.critedge, %237, %228, %188, %181, %168, %161, %151, %137, %89, %290, %218, %216, %211, %202, %198, %173, %77, %50 +.loopexit.split-lp.loopexit.split-lp: ; preds = %402, %"_ZN77_$LT$rustls..suites..SupportedCipherSuite$u20$as$u20$core..cmp..PartialEq$GT$2eq17h8bf8e1eba6049babE.exit.thread", %.critedge, %237, %228, %188, %181, %168, %161, %151, %137, %89, %290, %218, %216, %211, %202, %198, %173, %77, %50 %lpad.loopexit.split-lp511 = landingpad { ptr, i32 } cleanup br label %.critedge311.thread @@ -11117,7 +11117,7 @@ define void @"_ZN142_$LT$rustls..client..hs..ExpectServerHello$u20$as$u20$rustls store ptr %.sroa.612.0.copyload, ptr %.sroa.3181.0..sroa_idx, align 8 %.sroa.4182.0..sroa_idx = getelementptr inbounds i8, ptr %0, i64 16 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %.sroa.4182.0..sroa_idx, ptr noundef nonnull align 8 dereferenceable(16) %.sroa.4182, i64 16, i1 false) - br label %408 + br label %409 55: ; preds = %73, %84 %56 = getelementptr inbounds i8, ptr %1, i64 232 @@ -11254,7 +11254,7 @@ select.unfold: ; preds = %.noexc336, %98 104: ; preds = %105, %_ZN6rustls6client11client_conn12ClientConfig16supports_version17he8eb3d608f9150a7E.exit, %select.unfold %.sroa.0187.0 = phi i16 [ %107, %105 ], [ %87, %_ZN6rustls6client11client_conn12ClientConfig16supports_version17he8eb3d608f9150a7E.exit ], [ %103, %select.unfold ] - switch i16 %.sroa.0187.0, label %401 [ + switch i16 %.sroa.0187.0, label %402 [ i16 4, label %109 i16 5, label %126 ] @@ -11268,7 +11268,7 @@ _ZN6rustls6client11client_conn12ClientConfig16supports_version17he8eb3d608f9150a %108 = and i16 %.sroa.0187.0, 14 %switch = icmp eq i16 %108, 4 %spec.select312 = select i1 %switch, i8 12, i8 10 - br label %401 + br label %402 109: ; preds = %104 %110 = load ptr, ptr %56, align 8, !nonnull !4, !noundef !4 @@ -11362,7 +11362,7 @@ _ZN6rustls6client11client_conn12ClientConfig16supports_version17he8eb3d608f9150a store i8 8, ptr %0, align 8 %.sroa.446.0..sroa_idx = getelementptr inbounds i8, ptr %0, i64 1 store i8 33, ptr %.sroa.446.0..sroa_idx, align 1 - br label %408 + br label %409 151: ; preds = %147 %152 = load ptr, ptr %2, align 8, !nonnull !4, !align !35, !noundef !4 @@ -11386,7 +11386,7 @@ _ZN6rustls6client11client_conn12ClientConfig16supports_version17he8eb3d608f9150a store i8 8, ptr %0, align 8 %.sroa.4419.0..sroa_idx = getelementptr inbounds i8, ptr %0, i64 1 store i8 46, ptr %.sroa.4419.0..sroa_idx, align 1 - br label %408 + br label %409 .thread468: ; preds = %147, %.noexc345, %126 %158 = load ptr, ptr %41, align 8, !nonnull !4, !align !35, !noundef !4 @@ -11417,7 +11417,7 @@ _ZN6rustls6client11client_conn12ClientConfig16supports_version17he8eb3d608f9150a %171 = load i8, ptr %170, align 1, !range !1899, !alias.scope !2208, !noalias !2211, !noundef !4 %172 = icmp eq i8 %171, 2 invoke void @_ZN6rustls12common_state11CommonState8send_msg17h8a7968f23a1802a7E(ptr noalias noundef nonnull align 8 dereferenceable(776) %169, ptr noalias nocapture noundef nonnull align 8 dereferenceable(192) %12, i1 noundef zeroext %172) - to label %399 unwind label %.loopexit.split-lp.loopexit.split-lp + to label %400 unwind label %.loopexit.split-lp.loopexit.split-lp _ZN6rustls4msgs9handshake19HasServerExtensions23has_duplicate_extension17h6fb1cf8f22118037E.exit: ; preds = %161 br i1 %167, label %181, label %173 @@ -11447,7 +11447,7 @@ _ZN6rustls4msgs9handshake19HasServerExtensions23has_duplicate_extension17h6fb1cf %184 = load i8, ptr %183, align 1, !range !1899, !alias.scope !2217, !noalias !2220, !noundef !4 %185 = icmp eq i8 %184, 2 invoke void @_ZN6rustls12common_state11CommonState8send_msg17h8a7968f23a1802a7E(ptr noalias noundef nonnull align 8 dereferenceable(776) %182, ptr noalias nocapture noundef nonnull align 8 dereferenceable(192) %11, i1 noundef zeroext %185) - to label %397 unwind label %.loopexit.split-lp.loopexit.split-lp + to label %398 unwind label %.loopexit.split-lp.loopexit.split-lp 186: ; preds = %173 %187 = load ptr, ptr %2, align 8, !nonnull !4, !align !35, !noundef !4 @@ -11465,7 +11465,7 @@ _ZN6rustls4msgs9handshake19HasServerExtensions23has_duplicate_extension17h6fb1cf %190 = load i8, ptr %189, align 1, !range !1899, !alias.scope !2226, !noalias !2229, !noundef !4 %191 = icmp eq i8 %190, 2 invoke void @_ZN6rustls12common_state11CommonState8send_msg17h8a7968f23a1802a7E(ptr noalias noundef nonnull align 8 dereferenceable(776) %187, ptr noalias nocapture noundef nonnull align 8 dereferenceable(192) %10, i1 noundef zeroext %191) - to label %395 unwind label %.loopexit.split-lp.loopexit.split-lp + to label %396 unwind label %.loopexit.split-lp.loopexit.split-lp 192: ; preds = %186 %193 = getelementptr inbounds i8, ptr %187, i64 760 @@ -11513,9 +11513,9 @@ _ZN6rustls4msgs9handshake19HasServerExtensions23has_duplicate_extension17h6fb1cf %213 = invoke { ptr, i64 } @_ZN6rustls4msgs9handshake18ServerHelloPayload18ecpoints_extension17hb4bbb26679b3749bE(ptr noalias noundef nonnull readonly align 8 dereferenceable(112) %212) to label %215 unwind label %.loopexit.split-lp.loopexit.split-lp -214: ; preds = %395, %286, %233, %210 +214: ; preds = %396, %286, %233, %210 call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %36) - br label %408 + br label %409 215: ; preds = %211 %.fca.0.extract73 = extractvalue { ptr, i64 } %213, 0 @@ -11625,7 +11625,7 @@ _ZN6rustls4msgs9handshake19HasServerExtensions23has_duplicate_extension17h6fb1cf %251 = load i8, ptr %250, align 1, !range !1899, !alias.scope !2258, !noalias !2261, !noundef !4 %252 = icmp eq i8 %251, 2 invoke void @_ZN6rustls12common_state11CommonState8send_msg17h8a7968f23a1802a7E(ptr noalias noundef nonnull align 8 dereferenceable(776) %249, ptr noalias nocapture noundef nonnull align 8 dereferenceable(192) %7, i1 noundef zeroext %252) - to label %393 unwind label %.loopexit.split-lp.loopexit.split-lp + to label %394 unwind label %.loopexit.split-lp.loopexit.split-lp 253: ; preds = %247 %254 = getelementptr i8, ptr %1, i64 8 @@ -11704,7 +11704,7 @@ _ZN6rustls4msgs9handshake19HasServerExtensions23has_duplicate_extension17h6fb1cf store i8 44, ptr %.sroa.4440.0..sroa_idx, align 1 br label %286 -286: ; preds = %393, %284, %242 +286: ; preds = %394, %284, %242 call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %34) br label %214 @@ -11770,7 +11770,7 @@ _ZN6rustls4msgs9handshake19HasServerExtensions23has_duplicate_extension17h6fb1cf 310: ; preds = %299 call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %30) %311 = invoke noundef align 8 dereferenceable(56) ptr @_ZN6rustls7hash_hs13HandshakeHash11add_message17h96486aaaeca9d316E(ptr noalias noundef nonnull align 8 dereferenceable(56) %31, ptr noalias noundef nonnull readonly align 8 dereferenceable(192) %3) - to label %312 unwind label %392 + to label %312 unwind label %393 .critedge311: ; preds = %327 %lpad.thr_comm.split-lp = landingpad { ptr, i32 } @@ -11848,7 +11848,7 @@ _ZN6rustls4msgs9handshake19HasServerExtensions23has_duplicate_extension17h6fb1cf 340: ; preds = %325 invoke fastcc void @"_ZN4core3ptr59drop_in_place$LT$rustls..client..hs..ClientSessionValue$GT$17ha2b66ea9d8ce52e9E"(ptr noalias noundef nonnull align 8 dereferenceable(144) %21) - to label %._crit_edge unwind label %392 + to label %._crit_edge unwind label %393 ._crit_edge: ; preds = %340 %.pre514.pre = load ptr, ptr %41, align 8 @@ -11858,14 +11858,14 @@ _ZN6rustls4msgs9handshake19HasServerExtensions23has_duplicate_extension17h6fb1cf call void @llvm.lifetime.end.p0(i64 312, ptr nonnull %22) br label %342 -342: ; preds = %365, %341 - %.2262 = phi i8 [ 0, %365 ], [ 1, %341 ] +342: ; preds = %366, %341 + %.2262 = phi i8 [ 0, %366 ], [ 1, %341 ] call void @llvm.lifetime.end.p0(i64 56, ptr nonnull %31) call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %34) call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %36) call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %41) invoke void @"_ZN4core3ptr58drop_in_place$LT$rustls..msgs..message..MessagePayload$GT$17h6de0f8096c3e035fE.llvm.4248407042397360440"(ptr noalias noundef nonnull align 8 dereferenceable(184) %3) - to label %"_ZN4core3ptr51drop_in_place$LT$rustls..msgs..message..Message$GT$17he5c98e835734cfb6E.exit383" unwind label %367 + to label %"_ZN4core3ptr51drop_in_place$LT$rustls..msgs..message..Message$GT$17he5c98e835734cfb6E.exit383" unwind label %368 343: ; preds = %322 %.sroa.5136.0..sroa_idx = getelementptr inbounds i8, ptr %1, i64 56 @@ -11874,11 +11874,11 @@ _ZN6rustls4msgs9handshake19HasServerExtensions23has_duplicate_extension17h6fb1cf call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(144) %.sroa.2228.0..sroa_idx, ptr noundef nonnull align 8 dereferenceable(144) %.sroa.5136.0..sroa_idx, i64 144, i1 false) store i64 %.sroa.0134.0.copyload, ptr %20, align 8 %344 = icmp eq i64 %.sroa.0134.0.copyload, -9223372036854775808 - br i1 %344, label %.thread502, label %354 + br i1 %344, label %.thread502, label %355 -345: ; preds = %322, %353 - %346 = phi ptr [ %.pre515, %353 ], [ %314, %322 ] - %.sroa.0130.0 = phi i64 [ %.sroa.0130.1504, %353 ], [ -9223372036854775808, %322 ] +345: ; preds = %322, %354 + %346 = phi ptr [ %.pre515, %354 ], [ %314, %322 ] + %.sroa.0130.0 = phi i64 [ %.sroa.0130.1504, %354 ], [ -9223372036854775808, %322 ] call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %28) %347 = load ptr, ptr %56, align 8, !nonnull !4, !noundef !4 store ptr %347, ptr %28, align 8 @@ -11899,50 +11899,50 @@ _ZN6rustls4msgs9handshake19HasServerExtensions23has_duplicate_extension17h6fb1cf %350 = getelementptr inbounds i8, ptr %1, i64 376 %351 = load ptr, ptr %350, align 8, !align !5, !noundef !4 %352 = icmp eq ptr %351, null - br i1 %352, label %355, label %356 + br i1 %352, label %356, label %357 .thread502: ; preds = %343 %.sroa.0229.0.copyload = load i64, ptr %.sroa.2228.0..sroa_idx, align 8 - %.sroa.4230.0..sroa_idx = getelementptr inbounds i8, ptr %20, i64 16 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(120) %.sroa.6132, ptr noundef nonnull align 8 dereferenceable(120) %.sroa.4230.0..sroa_idx, i64 120, i1 false) - br label %353 + %353 = getelementptr inbounds i8, ptr %1, i64 64 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(120) %.sroa.6132, ptr noundef nonnull align 8 dereferenceable(120) %353, i64 120, i1 false) + br label %354 -353: ; preds = %._crit_edge517, %.thread502 +354: ; preds = %._crit_edge517, %.thread502 %.pre515 = phi ptr [ %314, %.thread502 ], [ %.pre515.pre, %._crit_edge517 ] %.sroa.0130.1504 = phi i64 [ %.sroa.0229.0.copyload, %.thread502 ], [ -9223372036854775808, %._crit_edge517 ] call void @llvm.lifetime.end.p0(i64 152, ptr nonnull %20) br label %345 -354: ; preds = %343 +355: ; preds = %343 invoke fastcc void @"_ZN4core3ptr59drop_in_place$LT$rustls..client..hs..ClientSessionValue$GT$17ha2b66ea9d8ce52e9E"(ptr noalias noundef nonnull align 8 dereferenceable(144) %20) - to label %._crit_edge517 unwind label %392 + to label %._crit_edge517 unwind label %393 -._crit_edge517: ; preds = %354 +._crit_edge517: ; preds = %355 %.pre515.pre = load ptr, ptr %41, align 8 - br label %353 - -355: ; preds = %345 - invoke void @_ZN4core9panicking5panic17hb837a5ebbbe5b188E(ptr noalias noundef nonnull readonly align 1 @anon.8a3f58b3f357eb979b8c01c644d44d42.228, i64 noundef 43, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.8a3f58b3f357eb979b8c01c644d44d42.229) #37 - to label %364 unwind label %386 + br label %354 356: ; preds = %345 - %357 = getelementptr inbounds i8, ptr %1, i64 384 - %358 = load ptr, ptr %357, align 8, !nonnull !4, !noundef !4 - %359 = getelementptr inbounds i8, ptr %1, i64 313 - %360 = load i8, ptr %359, align 1, !range !349, !noundef !4 - %361 = trunc i8 %360 to i1 - invoke void @_ZN6rustls6client5tls1319handle_server_hello17h006da17ab14dfa91E(ptr noalias nocapture noundef nonnull sret({ i8, [31 x i8] }) align 8 dereferenceable(32) %0, ptr noundef nonnull %347, ptr noalias noundef nonnull align 8 dereferenceable(24) %2, ptr noalias noundef nonnull readonly align 8 dereferenceable(112) %346, ptr noalias nocapture noundef nonnull align 8 dereferenceable(128) %27, ptr noalias nocapture noundef nonnull align 8 dereferenceable(32) %26, ptr noalias nocapture noundef nonnull align 1 dereferenceable(64) %29, ptr noalias noundef nonnull readonly align 8 dereferenceable(80) %318, ptr noalias nocapture noundef nonnull align 8 dereferenceable(56) %25, ptr noalias nocapture noundef nonnull align 8 dereferenceable(24) %24, ptr noalias nocapture noundef nonnull align 8 dereferenceable(32) %23, ptr noundef nonnull align 1 %351, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) %358, i1 noundef zeroext %361) - to label %365 unwind label %362 - -362: ; preds = %356 - %363 = landingpad { ptr, i32 } + invoke void @_ZN4core9panicking5panic17hb837a5ebbbe5b188E(ptr noalias noundef nonnull readonly align 1 @anon.8a3f58b3f357eb979b8c01c644d44d42.228, i64 noundef 43, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.8a3f58b3f357eb979b8c01c644d44d42.229) #37 + to label %365 unwind label %387 + +357: ; preds = %345 + %358 = getelementptr inbounds i8, ptr %1, i64 384 + %359 = load ptr, ptr %358, align 8, !nonnull !4, !noundef !4 + %360 = getelementptr inbounds i8, ptr %1, i64 313 + %361 = load i8, ptr %360, align 1, !range !349, !noundef !4 + %362 = trunc i8 %361 to i1 + invoke void @_ZN6rustls6client5tls1319handle_server_hello17h006da17ab14dfa91E(ptr noalias nocapture noundef nonnull sret({ i8, [31 x i8] }) align 8 dereferenceable(32) %0, ptr noundef nonnull %347, ptr noalias noundef nonnull align 8 dereferenceable(24) %2, ptr noalias noundef nonnull readonly align 8 dereferenceable(112) %346, ptr noalias nocapture noundef nonnull align 8 dereferenceable(128) %27, ptr noalias nocapture noundef nonnull align 8 dereferenceable(32) %26, ptr noalias nocapture noundef nonnull align 1 dereferenceable(64) %29, ptr noalias noundef nonnull readonly align 8 dereferenceable(80) %318, ptr noalias nocapture noundef nonnull align 8 dereferenceable(56) %25, ptr noalias nocapture noundef nonnull align 8 dereferenceable(24) %24, ptr noalias nocapture noundef nonnull align 8 dereferenceable(32) %23, ptr noundef nonnull align 1 %351, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) %359, i1 noundef zeroext %362) + to label %366 unwind label %363 + +363: ; preds = %357 + %364 = landingpad { ptr, i32 } cleanup br label %.critedge311.thread -364: ; preds = %355 +365: ; preds = %356 unreachable -365: ; preds = %356 +366: ; preds = %357 call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %23) call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %24) call void @llvm.lifetime.end.p0(i64 56, ptr nonnull %25) @@ -11952,50 +11952,50 @@ _ZN6rustls4msgs9handshake19HasServerExtensions23has_duplicate_extension17h6fb1cf call void @llvm.lifetime.end.p0(i64 120, ptr nonnull %.sroa.6132) br label %342 -"_ZN4core3ptr51drop_in_place$LT$rustls..msgs..message..Message$GT$17he5c98e835734cfb6E.exit": ; preds = %.critedge311.thread, %367 - %.3263 = phi i8 [ %.4264, %367 ], [ %.0260, %.critedge311.thread ] - %.4243 = phi i8 [ %.2, %367 ], [ %.0239, %.critedge311.thread ] - %.4 = phi i8 [ %.2, %367 ], [ %.0236, %.critedge311.thread ] - %.1 = phi i8 [ %.2, %367 ], [ %.0235, %.critedge311.thread ] - %.pn294 = phi { ptr, i32 } [ %368, %367 ], [ %.pn292, %.critedge311.thread ] - %366 = trunc i8 %.4243 to i1 - br i1 %366, label %412, label %"_ZN4core3ptr86drop_in_place$LT$alloc..sync..Arc$LT$rustls..client..client_conn..ClientConfig$GT$$GT$17h3c6b5bff9fd8b4ceE.exit391" - -367: ; preds = %408, %342 - %.4264 = phi i8 [ %.2262, %342 ], [ 1, %408 ] - %.2 = phi i8 [ 0, %342 ], [ 1, %408 ] - %368 = landingpad { ptr, i32 } +"_ZN4core3ptr51drop_in_place$LT$rustls..msgs..message..Message$GT$17he5c98e835734cfb6E.exit": ; preds = %.critedge311.thread, %368 + %.3263 = phi i8 [ %.4264, %368 ], [ %.0260, %.critedge311.thread ] + %.4243 = phi i8 [ %.2, %368 ], [ %.0239, %.critedge311.thread ] + %.4 = phi i8 [ %.2, %368 ], [ %.0236, %.critedge311.thread ] + %.1 = phi i8 [ %.2, %368 ], [ %.0235, %.critedge311.thread ] + %.pn294 = phi { ptr, i32 } [ %369, %368 ], [ %.pn292, %.critedge311.thread ] + %367 = trunc i8 %.4243 to i1 + br i1 %367, label %413, label %"_ZN4core3ptr86drop_in_place$LT$alloc..sync..Arc$LT$rustls..client..client_conn..ClientConfig$GT$$GT$17h3c6b5bff9fd8b4ceE.exit391" + +368: ; preds = %409, %342 + %.4264 = phi i8 [ %.2262, %342 ], [ 1, %409 ] + %.2 = phi i8 [ 0, %342 ], [ 1, %409 ] + %369 = landingpad { ptr, i32 } cleanup br label %"_ZN4core3ptr51drop_in_place$LT$rustls..msgs..message..Message$GT$17he5c98e835734cfb6E.exit" "_ZN4core3ptr51drop_in_place$LT$rustls..msgs..message..Message$GT$17he5c98e835734cfb6E.exit383": ; preds = %342 - %369 = trunc i8 %.2262 to i1 - br i1 %369, label %370, label %"_ZN4core3ptr83drop_in_place$LT$alloc..boxed..Box$LT$rustls..client..hs..ExpectServerHello$GT$$GT$17he63489cdec3cd853E.exit" + %370 = trunc i8 %.2262 to i1 + br i1 %370, label %371, label %"_ZN4core3ptr83drop_in_place$LT$alloc..boxed..Box$LT$rustls..client..hs..ExpectServerHello$GT$$GT$17he63489cdec3cd853E.exit" -370: ; preds = %"_ZN4core3ptr51drop_in_place$LT$rustls..msgs..message..Message$GT$17he5c98e835734cfb6E.exit383" +371: ; preds = %"_ZN4core3ptr51drop_in_place$LT$rustls..msgs..message..Message$GT$17he5c98e835734cfb6E.exit383" invoke void @"_ZN4core3ptr63drop_in_place$LT$rustls..client..common..ClientHelloDetails$GT$17hdbbbe99d025e0835E"(ptr noalias noundef nonnull align 8 dereferenceable(32) %174) - to label %.thread506 unwind label %378 + to label %.thread506 unwind label %379 -.thread506: ; preds = %370 - %371 = getelementptr inbounds i8, ptr %1, i64 352 - invoke fastcc void @"_ZN4core3ptr94drop_in_place$LT$core..option..Option$LT$rustls..tls13..key_schedule..KeyScheduleEarly$GT$$GT$17hcac6449dd0f60cd8E"(ptr noalias noundef nonnull align 8 dereferenceable(24) %371) - to label %.thread507 unwind label %372 +.thread506: ; preds = %371 + %372 = getelementptr inbounds i8, ptr %1, i64 352 + invoke fastcc void @"_ZN4core3ptr94drop_in_place$LT$core..option..Option$LT$rustls..tls13..key_schedule..KeyScheduleEarly$GT$$GT$17hcac6449dd0f60cd8E"(ptr noalias noundef nonnull align 8 dereferenceable(24) %372) + to label %.thread507 unwind label %373 -372: ; preds = %.thread506 - %373 = landingpad { ptr, i32 } +373: ; preds = %.thread506 + %374 = landingpad { ptr, i32 } cleanup - br label %383 + br label %384 .thread507: ; preds = %.thread506 - %374 = getelementptr inbounds i8, ptr %1, i64 376 - %.val323 = load ptr, ptr %374, align 8, !noundef !4 - %375 = getelementptr i8, ptr %1, i64 384 - %.val324 = load ptr, ptr %375, align 8 + %375 = getelementptr inbounds i8, ptr %1, i64 376 + %.val323 = load ptr, ptr %375, align 8, !noundef !4 + %376 = getelementptr i8, ptr %1, i64 384 + %.val324 = load ptr, ptr %376, align 8 invoke fastcc void @"_ZN4core3ptr115drop_in_place$LT$core..option..Option$LT$alloc..boxed..Box$LT$dyn$u20$rustls..crypto..ActiveKeyExchange$GT$$GT$$GT$17h386c143b035c9b65E"(ptr %.val323, ptr %.val324) - to label %"_ZN4core3ptr83drop_in_place$LT$alloc..boxed..Box$LT$rustls..client..hs..ExpectServerHello$GT$$GT$17he63489cdec3cd853E.exit" unwind label %376 + to label %"_ZN4core3ptr83drop_in_place$LT$alloc..boxed..Box$LT$rustls..client..hs..ExpectServerHello$GT$$GT$17he63489cdec3cd853E.exit" unwind label %377 -376: ; preds = %.thread507 - %377 = landingpad { ptr, i32 } +377: ; preds = %.thread507 + %378 = landingpad { ptr, i32 } cleanup br label %common.resume @@ -12003,111 +12003,111 @@ _ZN6rustls4msgs9handshake19HasServerExtensions23has_duplicate_extension17h6fb1cf call void @__rust_dealloc(ptr noundef nonnull %1, i64 noundef 392, i64 noundef 8) #38 ret void -378: ; preds = %370 - %379 = landingpad { ptr, i32 } +379: ; preds = %371 + %380 = landingpad { ptr, i32 } cleanup - %380 = getelementptr inbounds i8, ptr %1, i64 352 - invoke fastcc void @"_ZN4core3ptr94drop_in_place$LT$core..option..Option$LT$rustls..tls13..key_schedule..KeyScheduleEarly$GT$$GT$17hcac6449dd0f60cd8E"(ptr noalias noundef nonnull align 8 dereferenceable(24) %380) #39 - to label %383 unwind label %381 + %381 = getelementptr inbounds i8, ptr %1, i64 352 + invoke fastcc void @"_ZN4core3ptr94drop_in_place$LT$core..option..Option$LT$rustls..tls13..key_schedule..KeyScheduleEarly$GT$$GT$17hcac6449dd0f60cd8E"(ptr noalias noundef nonnull align 8 dereferenceable(24) %381) #39 + to label %384 unwind label %382 -381: ; preds = %423, %417, %391, %.critedge311.thread, %383, %.thread508, %434, %432, %429, %425, %392, %.critedge309, %.critedge308, %.critedge307, %388, %386, %378 - %382 = landingpad { ptr, i32 } +382: ; preds = %424, %418, %392, %.critedge311.thread, %384, %.thread508, %435, %433, %430, %426, %393, %.critedge309, %.critedge308, %.critedge307, %389, %387, %379 + %383 = landingpad { ptr, i32 } filter [0 x ptr] zeroinitializer call void @_ZN4core9panicking16panic_in_cleanup17h55eb1d85cadde1a1E() #40 unreachable -383: ; preds = %372, %378 - %.pn288 = phi { ptr, i32 } [ %373, %372 ], [ %379, %378 ] - %384 = getelementptr inbounds i8, ptr %1, i64 376 - %.val321 = load ptr, ptr %384, align 8, !noundef !4 - %385 = getelementptr i8, ptr %1, i64 384 - %.val322 = load ptr, ptr %385, align 8 +384: ; preds = %373, %379 + %.pn288 = phi { ptr, i32 } [ %374, %373 ], [ %380, %379 ] + %385 = getelementptr inbounds i8, ptr %1, i64 376 + %.val321 = load ptr, ptr %385, align 8, !noundef !4 + %386 = getelementptr i8, ptr %1, i64 384 + %.val322 = load ptr, ptr %386, align 8 invoke fastcc void @"_ZN4core3ptr115drop_in_place$LT$core..option..Option$LT$alloc..boxed..Box$LT$dyn$u20$rustls..crypto..ActiveKeyExchange$GT$$GT$$GT$17h386c143b035c9b65E"(ptr %.val321, ptr %.val322) #39 - to label %common.resume unwind label %381 + to label %common.resume unwind label %382 -common.resume: ; preds = %376, %383, %.thread508, %431, %409 - %common.resume.op = phi { ptr, i32 } [ %410, %409 ], [ %.pn294, %431 ], [ %.pn294, %.thread508 ], [ %377, %376 ], [ %.pn288, %383 ] +common.resume: ; preds = %377, %384, %.thread508, %432, %410 + %common.resume.op = phi { ptr, i32 } [ %411, %410 ], [ %.pn294, %432 ], [ %.pn294, %.thread508 ], [ %378, %377 ], [ %.pn288, %384 ] call void @__rust_dealloc(ptr noundef nonnull %1, i64 noundef 392, i64 noundef 8) #38 resume { ptr, i32 } %common.resume.op -386: ; preds = %355 - %387 = landingpad { ptr, i32 } +387: ; preds = %356 + %388 = landingpad { ptr, i32 } cleanup invoke void @"_ZN4core3ptr63drop_in_place$LT$rustls..client..common..ClientHelloDetails$GT$17hdbbbe99d025e0835E"(ptr noalias noundef nonnull align 8 dereferenceable(32) %23) #39 - to label %388 unwind label %381 + to label %389 unwind label %382 -388: ; preds = %386 +389: ; preds = %387 invoke fastcc void @"_ZN4core3ptr94drop_in_place$LT$core..option..Option$LT$rustls..tls13..key_schedule..KeyScheduleEarly$GT$$GT$17hcac6449dd0f60cd8E"(ptr noalias noundef nonnull align 8 dereferenceable(24) %24) #39 - to label %.critedge307 unwind label %381 + to label %.critedge307 unwind label %382 -.critedge307: ; preds = %388 +.critedge307: ; preds = %389 invoke void @"_ZN4core3ptr51drop_in_place$LT$rustls..hash_hs..HandshakeHash$GT$17h2bff710c7bc62226E"(ptr noalias noundef nonnull align 8 dereferenceable(56) %25) #39 - to label %.critedge308 unwind label %381 + to label %.critedge308 unwind label %382 .critedge308: ; preds = %.critedge307 invoke fastcc void @"_ZN4core3ptr62drop_in_place$LT$rustls_pki_types..server_name..ServerName$GT$17hc92ca74284c0307fE"(ptr noalias noundef nonnull align 8 dereferenceable(32) %26) #39 - to label %.critedge309 unwind label %381 + to label %.critedge309 unwind label %382 .critedge309: ; preds = %.critedge308 invoke fastcc void @"_ZN4core3ptr95drop_in_place$LT$core..option..Option$LT$rustls..msgs..persist..Tls13ClientSessionValue$GT$$GT$17hbc2ea9292a1685b0E"(ptr noalias noundef nonnull align 8 dereferenceable(128) %27) #39 - to label %.critedge310 unwind label %381 + to label %.critedge310 unwind label %382 .critedge310: ; preds = %.critedge309 - %389 = atomicrmw sub ptr %347, i64 1 release, align 8, !noalias !2296 - %390 = icmp eq i64 %389, 1 - br i1 %390, label %391, label %.critedge311.thread + %390 = atomicrmw sub ptr %347, i64 1 release, align 8, !noalias !2296 + %391 = icmp eq i64 %390, 1 + br i1 %391, label %392, label %.critedge311.thread -391: ; preds = %.critedge310 +392: ; preds = %.critedge310 fence acquire invoke void @"_ZN5alloc4sync16Arc$LT$T$C$A$GT$9drop_slow17h42665e59fd3f8248E"(ptr noalias noundef nonnull align 8 dereferenceable(8) %28) - to label %.critedge311.thread unwind label %381 + to label %.critedge311.thread unwind label %382 -392: ; preds = %354, %340, %310 - %.2238.ph = phi i8 [ 1, %310 ], [ 0, %340 ], [ 0, %354 ] +393: ; preds = %355, %340, %310 + %.2238.ph = phi i8 [ 1, %310 ], [ 0, %340 ], [ 0, %355 ] %lpad.thr_comm = landingpad { ptr, i32 } cleanup invoke void @"_ZN4core3ptr51drop_in_place$LT$rustls..hash_hs..HandshakeHash$GT$17h2bff710c7bc62226E"(ptr noalias noundef nonnull align 8 dereferenceable(56) %31) #39 - to label %.critedge311.thread unwind label %381 + to label %.critedge311.thread unwind label %382 -393: ; preds = %.critedge +394: ; preds = %.critedge call void @llvm.lifetime.end.p0(i64 192, ptr nonnull %7), !noalias !2256 - %394 = getelementptr inbounds i8, ptr %249, i64 769 - store i8 1, ptr %394, align 1, !alias.scope !2253, !noalias !2261 + %395 = getelementptr inbounds i8, ptr %249, i64 769 + store i8 1, ptr %395, align 1, !alias.scope !2253, !noalias !2261 store i8 8, ptr %0, align 8 %.sroa.4437.0..sroa_idx = getelementptr inbounds i8, ptr %0, i64 1 store i8 52, ptr %.sroa.4437.0..sroa_idx, align 1 br label %286 -395: ; preds = %188 +396: ; preds = %188 call void @llvm.lifetime.end.p0(i64 192, ptr nonnull %10), !noalias !2224 - %396 = getelementptr inbounds i8, ptr %187, i64 769 - store i8 1, ptr %396, align 1, !alias.scope !2221, !noalias !2229 + %397 = getelementptr inbounds i8, ptr %187, i64 769 + store i8 1, ptr %397, align 1, !alias.scope !2221, !noalias !2229 store i8 8, ptr %0, align 8 %.sroa.4431.0..sroa_idx = getelementptr inbounds i8, ptr %0, i64 1 store i8 63, ptr %.sroa.4431.0..sroa_idx, align 1 br label %214 -397: ; preds = %181 +398: ; preds = %181 call void @llvm.lifetime.end.p0(i64 192, ptr nonnull %11), !noalias !2215 - %398 = getelementptr inbounds i8, ptr %182, i64 769 - store i8 1, ptr %398, align 1, !alias.scope !2212, !noalias !2220 + %399 = getelementptr inbounds i8, ptr %182, i64 769 + store i8 1, ptr %399, align 1, !alias.scope !2212, !noalias !2220 store i8 8, ptr %0, align 8 %.sroa.4428.0..sroa_idx = getelementptr inbounds i8, ptr %0, i64 1 store i8 7, ptr %.sroa.4428.0..sroa_idx, align 1 - br label %408 + br label %409 -399: ; preds = %168 +400: ; preds = %168 call void @llvm.lifetime.end.p0(i64 192, ptr nonnull %12), !noalias !2206 - %400 = getelementptr inbounds i8, ptr %169, i64 769 - store i8 1, ptr %400, align 1, !alias.scope !2203, !noalias !2211 + %401 = getelementptr inbounds i8, ptr %169, i64 769 + store i8 1, ptr %401, align 1, !alias.scope !2203, !noalias !2211 store i8 8, ptr %0, align 8 %.sroa.4425.0..sroa_idx = getelementptr inbounds i8, ptr %0, i64 1 store i8 49, ptr %.sroa.4425.0..sroa_idx, align 1 - br label %408 + br label %409 -401: ; preds = %_ZN6rustls6client11client_conn12ClientConfig16supports_version17he8eb3d608f9150a7E.exit342.thread, %104 +402: ; preds = %_ZN6rustls6client11client_conn12ClientConfig16supports_version17he8eb3d608f9150a7E.exit342.thread, %104 %.0278 = phi i8 [ 10, %104 ], [ %spec.select312, %_ZN6rustls6client11client_conn12ClientConfig16supports_version17he8eb3d608f9150a7E.exit342.thread ] - %402 = load ptr, ptr %2, align 8, !nonnull !4, !align !35, !noundef !4 + %403 = load ptr, ptr %2, align 8, !nonnull !4, !align !35, !noundef !4 call void @llvm.experimental.noalias.scope.decl(metadata !2301) call void @llvm.lifetime.start.p0(i64 192, ptr nonnull %5), !noalias !2304 store i64 -9223372036854775807, ptr %5, align 8, !noalias !2304 @@ -12115,104 +12115,104 @@ common.resume: ; preds = %376, %383, %.thread store i32 1245185, ptr %.sroa.4.0..sroa_idx.i385, align 8, !noalias !2304 %.sroa.53.0..sroa_idx.i386 = getelementptr inbounds i8, ptr %5, i64 184 store i16 4, ptr %.sroa.53.0..sroa_idx.i386, align 8, !noalias !2304 - %403 = getelementptr inbounds i8, ptr %402, i64 65 - %404 = load i8, ptr %403, align 1, !range !1899, !alias.scope !2306, !noalias !2309, !noundef !4 - %405 = icmp eq i8 %404, 2 - invoke void @_ZN6rustls12common_state11CommonState8send_msg17h8a7968f23a1802a7E(ptr noalias noundef nonnull align 8 dereferenceable(776) %402, ptr noalias nocapture noundef nonnull align 8 dereferenceable(192) %5, i1 noundef zeroext %405) - to label %406 unwind label %.loopexit.split-lp.loopexit.split-lp + %404 = getelementptr inbounds i8, ptr %403, i64 65 + %405 = load i8, ptr %404, align 1, !range !1899, !alias.scope !2306, !noalias !2309, !noundef !4 + %406 = icmp eq i8 %405, 2 + invoke void @_ZN6rustls12common_state11CommonState8send_msg17h8a7968f23a1802a7E(ptr noalias noundef nonnull align 8 dereferenceable(776) %403, ptr noalias nocapture noundef nonnull align 8 dereferenceable(192) %5, i1 noundef zeroext %406) + to label %407 unwind label %.loopexit.split-lp.loopexit.split-lp -406: ; preds = %401 +407: ; preds = %402 call void @llvm.lifetime.end.p0(i64 192, ptr nonnull %5), !noalias !2304 - %407 = getelementptr inbounds i8, ptr %402, i64 769 - store i8 1, ptr %407, align 1, !alias.scope !2301, !noalias !2309 + %408 = getelementptr inbounds i8, ptr %403, i64 769 + store i8 1, ptr %408, align 1, !alias.scope !2301, !noalias !2309 store i8 7, ptr %0, align 8 %.sroa.4422.0..sroa_idx = getelementptr inbounds i8, ptr %0, i64 1 store i8 %.0278, ptr %.sroa.4422.0..sroa_idx, align 1 - br label %408 + br label %409 -408: ; preds = %150, %156, %214, %397, %399, %406, %54 +409: ; preds = %150, %156, %214, %398, %400, %407, %54 call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %41) invoke void @"_ZN4core3ptr58drop_in_place$LT$rustls..msgs..message..MessagePayload$GT$17h6de0f8096c3e035fE.llvm.4248407042397360440"(ptr noalias noundef nonnull align 8 dereferenceable(184) %3) - to label %"_ZN4core3ptr51drop_in_place$LT$rustls..msgs..message..Message$GT$17he5c98e835734cfb6E.exit389" unwind label %367 + to label %"_ZN4core3ptr51drop_in_place$LT$rustls..msgs..message..Message$GT$17he5c98e835734cfb6E.exit389" unwind label %368 -"_ZN4core3ptr51drop_in_place$LT$rustls..msgs..message..Message$GT$17he5c98e835734cfb6E.exit389": ; preds = %408 +"_ZN4core3ptr51drop_in_place$LT$rustls..msgs..message..Message$GT$17he5c98e835734cfb6E.exit389": ; preds = %409 invoke void @"_ZN4core3ptr58drop_in_place$LT$rustls..client..hs..ExpectServerHello$GT$17h81c5f7fa69dd8870E"(ptr noalias noundef nonnull align 8 dereferenceable(392) %1) - to label %"_ZN4core3ptr83drop_in_place$LT$alloc..boxed..Box$LT$rustls..client..hs..ExpectServerHello$GT$$GT$17he63489cdec3cd853E.exit" unwind label %409 + to label %"_ZN4core3ptr83drop_in_place$LT$alloc..boxed..Box$LT$rustls..client..hs..ExpectServerHello$GT$$GT$17he63489cdec3cd853E.exit" unwind label %410 -409: ; preds = %"_ZN4core3ptr51drop_in_place$LT$rustls..msgs..message..Message$GT$17he5c98e835734cfb6E.exit389" - %410 = landingpad { ptr, i32 } +410: ; preds = %"_ZN4core3ptr51drop_in_place$LT$rustls..msgs..message..Message$GT$17he5c98e835734cfb6E.exit389" + %411 = landingpad { ptr, i32 } cleanup br label %common.resume -"_ZN4core3ptr86drop_in_place$LT$alloc..sync..Arc$LT$rustls..client..client_conn..ClientConfig$GT$$GT$17h3c6b5bff9fd8b4ceE.exit391": ; preds = %412, %417, %"_ZN4core3ptr51drop_in_place$LT$rustls..msgs..message..Message$GT$17he5c98e835734cfb6E.exit" - %411 = trunc i8 %.4 to i1 - br i1 %411, label %419, label %"_ZN4core3ptr127drop_in_place$LT$core..option..Option$LT$rustls..msgs..persist..Retrieved$LT$rustls..client..hs..ClientSessionValue$GT$$GT$$GT$17h0d3047a08f78e3d2E.exit" +"_ZN4core3ptr86drop_in_place$LT$alloc..sync..Arc$LT$rustls..client..client_conn..ClientConfig$GT$$GT$17h3c6b5bff9fd8b4ceE.exit391": ; preds = %413, %418, %"_ZN4core3ptr51drop_in_place$LT$rustls..msgs..message..Message$GT$17he5c98e835734cfb6E.exit" + %412 = trunc i8 %.4 to i1 + br i1 %412, label %420, label %"_ZN4core3ptr127drop_in_place$LT$core..option..Option$LT$rustls..msgs..persist..Retrieved$LT$rustls..client..hs..ClientSessionValue$GT$$GT$$GT$17h0d3047a08f78e3d2E.exit" -412: ; preds = %"_ZN4core3ptr51drop_in_place$LT$rustls..msgs..message..Message$GT$17he5c98e835734cfb6E.exit" - %413 = getelementptr inbounds i8, ptr %1, i64 232 +413: ; preds = %"_ZN4core3ptr51drop_in_place$LT$rustls..msgs..message..Message$GT$17he5c98e835734cfb6E.exit" + %414 = getelementptr inbounds i8, ptr %1, i64 232 call void @llvm.experimental.noalias.scope.decl(metadata !2310) call void @llvm.experimental.noalias.scope.decl(metadata !2313) - %414 = load ptr, ptr %413, align 8, !alias.scope !2316, !nonnull !4, !noundef !4 - %415 = atomicrmw sub ptr %414, i64 1 release, align 8, !noalias !2316 - %416 = icmp eq i64 %415, 1 - br i1 %416, label %417, label %"_ZN4core3ptr86drop_in_place$LT$alloc..sync..Arc$LT$rustls..client..client_conn..ClientConfig$GT$$GT$17h3c6b5bff9fd8b4ceE.exit391" + %415 = load ptr, ptr %414, align 8, !alias.scope !2316, !nonnull !4, !noundef !4 + %416 = atomicrmw sub ptr %415, i64 1 release, align 8, !noalias !2316 + %417 = icmp eq i64 %416, 1 + br i1 %417, label %418, label %"_ZN4core3ptr86drop_in_place$LT$alloc..sync..Arc$LT$rustls..client..client_conn..ClientConfig$GT$$GT$17h3c6b5bff9fd8b4ceE.exit391" -417: ; preds = %412 +418: ; preds = %413 fence acquire - invoke void @"_ZN5alloc4sync16Arc$LT$T$C$A$GT$9drop_slow17h42665e59fd3f8248E"(ptr noalias noundef nonnull align 8 dereferenceable(8) %413) - to label %"_ZN4core3ptr86drop_in_place$LT$alloc..sync..Arc$LT$rustls..client..client_conn..ClientConfig$GT$$GT$17h3c6b5bff9fd8b4ceE.exit391" unwind label %381 - -"_ZN4core3ptr127drop_in_place$LT$core..option..Option$LT$rustls..msgs..persist..Retrieved$LT$rustls..client..hs..ClientSessionValue$GT$$GT$$GT$17h0d3047a08f78e3d2E.exit": ; preds = %419, %423, %"_ZN4core3ptr86drop_in_place$LT$alloc..sync..Arc$LT$rustls..client..client_conn..ClientConfig$GT$$GT$17h3c6b5bff9fd8b4ceE.exit391" - %418 = trunc i8 %.3263 to i1 - br i1 %418, label %425, label %424 - -419: ; preds = %"_ZN4core3ptr86drop_in_place$LT$alloc..sync..Arc$LT$rustls..client..client_conn..ClientConfig$GT$$GT$17h3c6b5bff9fd8b4ceE.exit391" - %420 = getelementptr inbounds i8, ptr %1, i64 48 - %421 = load i64, ptr %420, align 8, !range !229, !alias.scope !2317, !noundef !4 - %422 = icmp eq i64 %421, -9223372036854775807 - br i1 %422, label %"_ZN4core3ptr127drop_in_place$LT$core..option..Option$LT$rustls..msgs..persist..Retrieved$LT$rustls..client..hs..ClientSessionValue$GT$$GT$$GT$17h0d3047a08f78e3d2E.exit", label %423 - -423: ; preds = %419 - invoke void @"_ZN4core3ptr59drop_in_place$LT$rustls..client..hs..ClientSessionValue$GT$17ha2b66ea9d8ce52e9E.llvm.4248407042397360440"(ptr noalias noundef nonnull align 8 dereferenceable(144) %420) - to label %"_ZN4core3ptr127drop_in_place$LT$core..option..Option$LT$rustls..msgs..persist..Retrieved$LT$rustls..client..hs..ClientSessionValue$GT$$GT$$GT$17h0d3047a08f78e3d2E.exit" unwind label %381 - -424: ; preds = %425, %"_ZN4core3ptr127drop_in_place$LT$core..option..Option$LT$rustls..msgs..persist..Retrieved$LT$rustls..client..hs..ClientSessionValue$GT$$GT$$GT$17h0d3047a08f78e3d2E.exit" - br i1 %366, label %429, label %427 - -425: ; preds = %"_ZN4core3ptr127drop_in_place$LT$core..option..Option$LT$rustls..msgs..persist..Retrieved$LT$rustls..client..hs..ClientSessionValue$GT$$GT$$GT$17h0d3047a08f78e3d2E.exit" - %426 = getelementptr inbounds i8, ptr %1, i64 16 - invoke void @"_ZN4core3ptr63drop_in_place$LT$rustls..client..common..ClientHelloDetails$GT$17hdbbbe99d025e0835E"(ptr noalias noundef nonnull align 8 dereferenceable(32) %426) #39 - to label %424 unwind label %381 - -427: ; preds = %429, %424 - %428 = trunc i8 %.1 to i1 - br i1 %428, label %432, label %431 - -429: ; preds = %424 - %430 = getelementptr inbounds i8, ptr %1, i64 200 - invoke fastcc void @"_ZN4core3ptr62drop_in_place$LT$rustls_pki_types..server_name..ServerName$GT$17hc92ca74284c0307fE"(ptr noalias noundef nonnull align 8 dereferenceable(32) %430) #39 - to label %427 unwind label %381 - -431: ; preds = %432, %427 - br i1 %418, label %434, label %common.resume - -432: ; preds = %427 - %433 = getelementptr inbounds i8, ptr %1, i64 320 - invoke void @"_ZN4core3ptr57drop_in_place$LT$rustls..hash_hs..HandshakeHashBuffer$GT$17h6fdf8abfe16799d1E"(ptr noalias noundef nonnull align 8 dereferenceable(32) %433) #39 - to label %431 unwind label %381 - -434: ; preds = %431 - %435 = getelementptr inbounds i8, ptr %1, i64 352 - invoke fastcc void @"_ZN4core3ptr94drop_in_place$LT$core..option..Option$LT$rustls..tls13..key_schedule..KeyScheduleEarly$GT$$GT$17hcac6449dd0f60cd8E"(ptr noalias noundef nonnull align 8 dereferenceable(24) %435) #39 - to label %.thread508 unwind label %381 - -.thread508: ; preds = %434 - %436 = getelementptr inbounds i8, ptr %1, i64 376 - %.val319 = load ptr, ptr %436, align 8, !noundef !4 - %437 = getelementptr i8, ptr %1, i64 384 - %.val320 = load ptr, ptr %437, align 8 + invoke void @"_ZN5alloc4sync16Arc$LT$T$C$A$GT$9drop_slow17h42665e59fd3f8248E"(ptr noalias noundef nonnull align 8 dereferenceable(8) %414) + to label %"_ZN4core3ptr86drop_in_place$LT$alloc..sync..Arc$LT$rustls..client..client_conn..ClientConfig$GT$$GT$17h3c6b5bff9fd8b4ceE.exit391" unwind label %382 + +"_ZN4core3ptr127drop_in_place$LT$core..option..Option$LT$rustls..msgs..persist..Retrieved$LT$rustls..client..hs..ClientSessionValue$GT$$GT$$GT$17h0d3047a08f78e3d2E.exit": ; preds = %420, %424, %"_ZN4core3ptr86drop_in_place$LT$alloc..sync..Arc$LT$rustls..client..client_conn..ClientConfig$GT$$GT$17h3c6b5bff9fd8b4ceE.exit391" + %419 = trunc i8 %.3263 to i1 + br i1 %419, label %426, label %425 + +420: ; preds = %"_ZN4core3ptr86drop_in_place$LT$alloc..sync..Arc$LT$rustls..client..client_conn..ClientConfig$GT$$GT$17h3c6b5bff9fd8b4ceE.exit391" + %421 = getelementptr inbounds i8, ptr %1, i64 48 + %422 = load i64, ptr %421, align 8, !range !229, !alias.scope !2317, !noundef !4 + %423 = icmp eq i64 %422, -9223372036854775807 + br i1 %423, label %"_ZN4core3ptr127drop_in_place$LT$core..option..Option$LT$rustls..msgs..persist..Retrieved$LT$rustls..client..hs..ClientSessionValue$GT$$GT$$GT$17h0d3047a08f78e3d2E.exit", label %424 + +424: ; preds = %420 + invoke void @"_ZN4core3ptr59drop_in_place$LT$rustls..client..hs..ClientSessionValue$GT$17ha2b66ea9d8ce52e9E.llvm.4248407042397360440"(ptr noalias noundef nonnull align 8 dereferenceable(144) %421) + to label %"_ZN4core3ptr127drop_in_place$LT$core..option..Option$LT$rustls..msgs..persist..Retrieved$LT$rustls..client..hs..ClientSessionValue$GT$$GT$$GT$17h0d3047a08f78e3d2E.exit" unwind label %382 + +425: ; preds = %426, %"_ZN4core3ptr127drop_in_place$LT$core..option..Option$LT$rustls..msgs..persist..Retrieved$LT$rustls..client..hs..ClientSessionValue$GT$$GT$$GT$17h0d3047a08f78e3d2E.exit" + br i1 %367, label %430, label %428 + +426: ; preds = %"_ZN4core3ptr127drop_in_place$LT$core..option..Option$LT$rustls..msgs..persist..Retrieved$LT$rustls..client..hs..ClientSessionValue$GT$$GT$$GT$17h0d3047a08f78e3d2E.exit" + %427 = getelementptr inbounds i8, ptr %1, i64 16 + invoke void @"_ZN4core3ptr63drop_in_place$LT$rustls..client..common..ClientHelloDetails$GT$17hdbbbe99d025e0835E"(ptr noalias noundef nonnull align 8 dereferenceable(32) %427) #39 + to label %425 unwind label %382 + +428: ; preds = %430, %425 + %429 = trunc i8 %.1 to i1 + br i1 %429, label %433, label %432 + +430: ; preds = %425 + %431 = getelementptr inbounds i8, ptr %1, i64 200 + invoke fastcc void @"_ZN4core3ptr62drop_in_place$LT$rustls_pki_types..server_name..ServerName$GT$17hc92ca74284c0307fE"(ptr noalias noundef nonnull align 8 dereferenceable(32) %431) #39 + to label %428 unwind label %382 + +432: ; preds = %433, %428 + br i1 %419, label %435, label %common.resume + +433: ; preds = %428 + %434 = getelementptr inbounds i8, ptr %1, i64 320 + invoke void @"_ZN4core3ptr57drop_in_place$LT$rustls..hash_hs..HandshakeHashBuffer$GT$17h6fdf8abfe16799d1E"(ptr noalias noundef nonnull align 8 dereferenceable(32) %434) #39 + to label %432 unwind label %382 + +435: ; preds = %432 + %436 = getelementptr inbounds i8, ptr %1, i64 352 + invoke fastcc void @"_ZN4core3ptr94drop_in_place$LT$core..option..Option$LT$rustls..tls13..key_schedule..KeyScheduleEarly$GT$$GT$17hcac6449dd0f60cd8E"(ptr noalias noundef nonnull align 8 dereferenceable(24) %436) #39 + to label %.thread508 unwind label %382 + +.thread508: ; preds = %435 + %437 = getelementptr inbounds i8, ptr %1, i64 376 + %.val319 = load ptr, ptr %437, align 8, !noundef !4 + %438 = getelementptr i8, ptr %1, i64 384 + %.val320 = load ptr, ptr %438, align 8 invoke fastcc void @"_ZN4core3ptr115drop_in_place$LT$core..option..Option$LT$alloc..boxed..Box$LT$dyn$u20$rustls..crypto..ActiveKeyExchange$GT$$GT$$GT$17h386c143b035c9b65E"(ptr %.val319, ptr %.val320) #39 - to label %common.resume unwind label %381 + to label %common.resume unwind label %382 } ; Function Attrs: mustprogress nofree norecurse nosync nounwind nonlazybind willreturn memory(none) uwtable diff --git a/bench/tokio-rs/optimized/2z7s1dgkckhh5yft.ll b/bench/tokio-rs/optimized/2z7s1dgkckhh5yft.ll index 02930588bd9..e25fd65aeeb 100644 --- a/bench/tokio-rs/optimized/2z7s1dgkckhh5yft.ll +++ b/bench/tokio-rs/optimized/2z7s1dgkckhh5yft.ll @@ -3109,8 +3109,8 @@ define hidden void @"_ZN5tokio7runtime4task4core17Core$LT$T$C$S$GT$11take_output to label %16 unwind label %14 12: ; preds = %2 - %13 = getelementptr inbounds i8, ptr %4, i64 8 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(56) %0, ptr noundef nonnull align 8 dereferenceable(56) %13, i64 56, i1 false) + %13 = getelementptr inbounds i8, ptr %1, i64 8 + tail call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(56) %0, ptr noundef nonnull align 8 dereferenceable(56) %13, i64 56, i1 false) call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %4) ret void @@ -3367,8 +3367,8 @@ define hidden void @"_ZN5tokio7runtime4task4core17Core$LT$T$C$S$GT$11take_output to label %16 unwind label %14 12: ; preds = %2 - %13 = getelementptr inbounds i8, ptr %4, i64 8 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(56) %0, ptr noundef nonnull align 8 dereferenceable(56) %13, i64 56, i1 false) + %13 = getelementptr inbounds i8, ptr %1, i64 8 + tail call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(56) %0, ptr noundef nonnull align 8 dereferenceable(56) %13, i64 56, i1 false) call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %4) ret void @@ -3469,8 +3469,8 @@ define hidden void @"_ZN5tokio7runtime4task4core17Core$LT$T$C$S$GT$11take_output to label %16 unwind label %14 12: ; preds = %2 - %13 = getelementptr inbounds i8, ptr %4, i64 8 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(56) %0, ptr noundef nonnull align 8 dereferenceable(56) %13, i64 56, i1 false) + %13 = getelementptr inbounds i8, ptr %1, i64 8 + tail call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(56) %0, ptr noundef nonnull align 8 dereferenceable(56) %13, i64 56, i1 false) call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %4) ret void @@ -9765,7 +9765,7 @@ common.resume: ; preds = %18, %27 resume { ptr, i32 } %common.resume.op "_ZN5tokio7runtime4task4core17Core$LT$T$C$S$GT$11take_output28_$u7b$$u7b$closure$u7d$$u7d$17h9c277704443509c1E.llvm.4698933542364062918.exit": ; preds = %9 - %23 = getelementptr inbounds i8, ptr %5, i64 8 + %23 = getelementptr inbounds i8, ptr %0, i64 64 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(56) %6, ptr noundef nonnull align 8 dereferenceable(56) %23, i64 56, i1 false) call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %5), !noalias !1767 %24 = load i64, ptr %1, align 8, !range !157, !alias.scope !1770, !noundef !5 @@ -10049,7 +10049,7 @@ common.resume: ; preds = %18, %27 resume { ptr, i32 } %common.resume.op "_ZN5tokio7runtime4task4core17Core$LT$T$C$S$GT$11take_output28_$u7b$$u7b$closure$u7d$$u7d$17h2c115518959c5b71E.llvm.4698933542364062918.exit": ; preds = %9 - %23 = getelementptr inbounds i8, ptr %5, i64 8 + %23 = getelementptr inbounds i8, ptr %0, i64 64 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(56) %6, ptr noundef nonnull align 8 dereferenceable(56) %23, i64 56, i1 false) call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %5), !noalias !1802 %24 = load i64, ptr %1, align 8, !range !157, !alias.scope !1805, !noundef !5 @@ -10620,7 +10620,7 @@ common.resume: ; preds = %18, %27 resume { ptr, i32 } %common.resume.op "_ZN5tokio7runtime4task4core17Core$LT$T$C$S$GT$11take_output28_$u7b$$u7b$closure$u7d$$u7d$17h9f99afbe9b815eb9E.llvm.4698933542364062918.exit": ; preds = %9 - %23 = getelementptr inbounds i8, ptr %5, i64 8 + %23 = getelementptr inbounds i8, ptr %0, i64 64 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(56) %6, ptr noundef nonnull align 8 dereferenceable(56) %23, i64 56, i1 false) call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %5), !noalias !1900 %24 = load i64, ptr %1, align 8, !range !157, !alias.scope !1903, !noundef !5 diff --git a/bench/tokio-rs/optimized/568p2b3bt2jkxi1.ll b/bench/tokio-rs/optimized/568p2b3bt2jkxi1.ll index 8d4c90fecf5..6a26c30b591 100644 --- a/bench/tokio-rs/optimized/568p2b3bt2jkxi1.ll +++ b/bench/tokio-rs/optimized/568p2b3bt2jkxi1.ll @@ -31868,7 +31868,7 @@ define hidden void @"_ZN101_$LT$tokio..process..imp..pidfd_reaper..PidfdReaper$L store i64 %.sroa.0.0.copyload, ptr %4, align 8 %.sroa.5.0..sroa_idx5 = getelementptr inbounds i8, ptr %4, i64 8 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(56) %.sroa.5.0..sroa_idx5, ptr noundef nonnull align 8 dereferenceable(56) %.sroa.5.0..sroa_idx, i64 56, i1 false) - %9 = getelementptr inbounds i8, ptr %4, i64 32 + %9 = getelementptr inbounds i8, ptr %0, i64 32 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(28) %5, ptr noundef nonnull align 8 dereferenceable(28) %9, i64 28, i1 false) invoke fastcc void @"_ZN4core3ptr105drop_in_place$LT$tokio..io..poll_evented..PollEvented$LT$tokio..process..imp..pidfd_reaper..Pidfd$GT$$GT$17h945a70478754d991E"(ptr noalias noundef nonnull align 8 dereferenceable(32) %4) to label %10 unwind label %22 diff --git a/bench/tree-sitter-rs/optimized/2ihg39n1dg1po2l8.ll b/bench/tree-sitter-rs/optimized/2ihg39n1dg1po2l8.ll index 55696bee5c8..42b8d7869fc 100644 --- a/bench/tree-sitter-rs/optimized/2ihg39n1dg1po2l8.ll +++ b/bench/tree-sitter-rs/optimized/2ihg39n1dg1po2l8.ll @@ -11729,47 +11729,46 @@ _ZN3std2fs14read_to_string17h46485d8ac6d4c39eE.exit: ; preds = %132, %135 "_ZN103_$LT$alloc..vec..into_iter..IntoIter$LT$T$C$A$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17hb2ee21a8da614698E.exit.lr.ph": ; preds = %155 %.sroa.8.0..sroa_idx = getelementptr inbounds i8, ptr %115, i64 8 - %161 = getelementptr inbounds i8, ptr %115, i64 160 - %162 = getelementptr inbounds i8, ptr %113, i64 8 - %163 = getelementptr inbounds i8, ptr %113, i64 16 - %164 = getelementptr inbounds i8, ptr %66, i64 8 - %165 = getelementptr inbounds i8, ptr %66, i64 16 - %166 = getelementptr inbounds i8, ptr %114, i64 8 - %167 = getelementptr inbounds i8, ptr %114, i64 16 - %168 = getelementptr inbounds i8, ptr %111, i64 8 - %169 = getelementptr inbounds i8, ptr %111, i64 16 - %170 = getelementptr inbounds i8, ptr %65, i64 8 - %171 = getelementptr inbounds i8, ptr %65, i64 16 + %161 = getelementptr inbounds i8, ptr %113, i64 8 + %162 = getelementptr inbounds i8, ptr %113, i64 16 + %163 = getelementptr inbounds i8, ptr %66, i64 8 + %164 = getelementptr inbounds i8, ptr %66, i64 16 + %165 = getelementptr inbounds i8, ptr %114, i64 8 + %166 = getelementptr inbounds i8, ptr %114, i64 16 + %167 = getelementptr inbounds i8, ptr %111, i64 8 + %168 = getelementptr inbounds i8, ptr %111, i64 16 + %169 = getelementptr inbounds i8, ptr %65, i64 8 + %170 = getelementptr inbounds i8, ptr %65, i64 16 %.sroa.4.0..sroa_idx.i384 = getelementptr inbounds i8, ptr %64, i64 4 %.sroa.5.0..sroa_idx.i385 = getelementptr inbounds i8, ptr %64, i64 8 - %172 = getelementptr inbounds i8, ptr %107, i64 8 - %173 = getelementptr inbounds i8, ptr %107, i64 16 - %174 = getelementptr inbounds i8, ptr %63, i64 8 - %175 = getelementptr inbounds i8, ptr %63, i64 16 - %176 = getelementptr inbounds i8, ptr %109, i64 8 - %177 = getelementptr inbounds i8, ptr %109, i64 4 + %171 = getelementptr inbounds i8, ptr %107, i64 8 + %172 = getelementptr inbounds i8, ptr %107, i64 16 + %173 = getelementptr inbounds i8, ptr %63, i64 8 + %174 = getelementptr inbounds i8, ptr %63, i64 16 + %175 = getelementptr inbounds i8, ptr %109, i64 8 + %176 = getelementptr inbounds i8, ptr %109, i64 4 %.sroa.4693.0..sroa_idx = getelementptr inbounds i8, ptr %62, i64 8 %.sroa.5694.0..sroa_idx = getelementptr inbounds i8, ptr %62, i64 16 %.sroa.6695.0..sroa_idx = getelementptr inbounds i8, ptr %62, i64 40 %.sroa.4.0..sroa_idx.i395 = getelementptr inbounds i8, ptr %62, i64 48 %.sroa.5.0..sroa_idx.i396 = getelementptr inbounds i8, ptr %62, i64 56 - %178 = getelementptr inbounds i8, ptr %105, i64 8 + %177 = getelementptr inbounds i8, ptr %105, i64 8 %.sroa.5140.0..sroa_idx = getelementptr inbounds i8, ptr %105, i64 16 %.sroa.4.0..sroa_idx = getelementptr inbounds i8, ptr %106, i64 8 %.sroa.5.0..sroa_idx = getelementptr inbounds i8, ptr %106, i64 16 - %179 = getelementptr inbounds i8, ptr %1, i64 48 - %180 = getelementptr inbounds i8, ptr %61, i64 8 - %181 = getelementptr inbounds i8, ptr %60, i64 8 - %182 = getelementptr inbounds i8, ptr %61, i64 56 - %183 = getelementptr inbounds i8, ptr %60, i64 56 - %184 = getelementptr inbounds i8, ptr %61, i64 57 - %185 = getelementptr inbounds i8, ptr %60, i64 57 - %186 = getelementptr inbounds i8, ptr %61, i64 16 - %187 = getelementptr inbounds i8, ptr %60, i64 16 + %178 = getelementptr inbounds i8, ptr %1, i64 48 + %179 = getelementptr inbounds i8, ptr %61, i64 8 + %180 = getelementptr inbounds i8, ptr %60, i64 8 + %181 = getelementptr inbounds i8, ptr %61, i64 56 + %182 = getelementptr inbounds i8, ptr %60, i64 56 + %183 = getelementptr inbounds i8, ptr %61, i64 57 + %184 = getelementptr inbounds i8, ptr %60, i64 57 + %185 = getelementptr inbounds i8, ptr %61, i64 16 + %186 = getelementptr inbounds i8, ptr %60, i64 16 %.sroa.4.0..sroa_idx.i.i.i = getelementptr inbounds i8, ptr %61, i64 17 - %188 = getelementptr inbounds i8, ptr %61, i64 58 + %187 = getelementptr inbounds i8, ptr %61, i64 58 %.sroa.4.0..sroa_idx.i9.i.i = getelementptr inbounds i8, ptr %60, i64 17 - %189 = getelementptr inbounds i8, ptr %60, i64 58 + %188 = getelementptr inbounds i8, ptr %60, i64 58 %.sroa.0.sroa.4.0..sroa_idx.i.i = getelementptr inbounds i8, ptr %59, i64 8 %.sroa.0.sroa.5.0..sroa_idx.i.i = getelementptr inbounds i8, ptr %59, i64 16 %.sroa.0.sroa.6.0..sroa_idx.i.i = getelementptr inbounds i8, ptr %59, i64 17 @@ -11782,13 +11781,13 @@ _ZN3std2fs14read_to_string17h46485d8ac6d4c39eE.exit: ; preds = %132, %135 %.sroa.0.sroa.726.0..sroa_idx.i.i = getelementptr inbounds i8, ptr %58, i64 56 %.sroa.0.sroa.827.0..sroa_idx.i.i = getelementptr inbounds i8, ptr %58, i64 57 %.sroa.0.sroa.928.0..sroa_idx.i.i = getelementptr inbounds i8, ptr %58, i64 58 - %190 = getelementptr inbounds i8, ptr %101, i64 8 - %191 = getelementptr inbounds i8, ptr %115, i64 128 - %192 = getelementptr inbounds i8, ptr %115, i64 152 - %193 = getelementptr inbounds i8, ptr %115, i64 144 + %189 = getelementptr inbounds i8, ptr %101, i64 8 + %190 = getelementptr inbounds i8, ptr %115, i64 128 + %191 = getelementptr inbounds i8, ptr %115, i64 152 + %192 = getelementptr inbounds i8, ptr %115, i64 144 %.sroa.11.8..sroa_idx = getelementptr inbounds i8, ptr %55, i64 8 %.sroa.12.8..sroa_idx = getelementptr inbounds i8, ptr %55, i64 16 - %194 = getelementptr inbounds i8, ptr %115, i64 136 + %193 = getelementptr inbounds i8, ptr %115, i64 136 %.sroa.11.8..sroa_idx715 = getelementptr inbounds i8, ptr %56, i64 8 %.sroa.12.8..sroa_idx721 = getelementptr inbounds i8, ptr %56, i64 16 %.sroa.11.8..sroa_idx717 = getelementptr inbounds i8, ptr %54, i64 8 @@ -11800,35 +11799,35 @@ _ZN3std2fs14read_to_string17h46485d8ac6d4c39eE.exit: ; preds = %132, %135 %.sroa.4.0..sroa_idx.i414 = getelementptr inbounds i8, ptr %51, i64 40 %.sroa.5774.0..sroa_idx = getelementptr inbounds i8, ptr %52, i64 8 %.sroa.7775.0..sroa_idx = getelementptr inbounds i8, ptr %52, i64 16 - %195 = getelementptr inbounds i8, ptr %103, i64 24 - %196 = getelementptr inbounds i8, ptr %103, i64 32 - %197 = getelementptr inbounds i8, ptr %103, i64 40 + %194 = getelementptr inbounds i8, ptr %103, i64 24 + %195 = getelementptr inbounds i8, ptr %103, i64 32 + %196 = getelementptr inbounds i8, ptr %103, i64 40 %.sroa.252.0..sroa_idx = getelementptr inbounds i8, ptr %103, i64 48 %.sroa.353.0..sroa_idx = getelementptr inbounds i8, ptr %103, i64 56 - %198 = getelementptr inbounds i8, ptr %115, i64 184 - %199 = getelementptr inbounds i8, ptr %115, i64 208 + %197 = getelementptr inbounds i8, ptr %115, i64 184 + %198 = getelementptr inbounds i8, ptr %115, i64 208 %.sroa.556.0..sroa_idx = getelementptr inbounds i8, ptr %115, i64 216 - %200 = getelementptr inbounds i8, ptr %95, i64 8 - %201 = getelementptr inbounds i8, ptr %95, i64 16 + %199 = getelementptr inbounds i8, ptr %95, i64 8 + %200 = getelementptr inbounds i8, ptr %95, i64 16 %.sroa.4166.0..sroa_idx = getelementptr inbounds i8, ptr %96, i64 8 - %202 = getelementptr inbounds i8, ptr %115, i64 232 - %203 = getelementptr inbounds i8, ptr %115, i64 240 - %204 = getelementptr inbounds i8, ptr %115, i64 248 - %205 = getelementptr inbounds i8, ptr %115, i64 256 - %206 = getelementptr inbounds i8, ptr %115, i64 264 - %207 = getelementptr inbounds i8, ptr %115, i64 272 - %208 = getelementptr inbounds i8, ptr %115, i64 280 - %209 = getelementptr inbounds i8, ptr %115, i64 288 - %210 = getelementptr inbounds i8, ptr %115, i64 296 - %211 = getelementptr inbounds i8, ptr %115, i64 32 + %201 = getelementptr inbounds i8, ptr %115, i64 232 + %202 = getelementptr inbounds i8, ptr %115, i64 240 + %203 = getelementptr inbounds i8, ptr %115, i64 248 + %204 = getelementptr inbounds i8, ptr %115, i64 256 + %205 = getelementptr inbounds i8, ptr %115, i64 264 + %206 = getelementptr inbounds i8, ptr %115, i64 272 + %207 = getelementptr inbounds i8, ptr %115, i64 280 + %208 = getelementptr inbounds i8, ptr %115, i64 288 + %209 = getelementptr inbounds i8, ptr %115, i64 296 + %210 = getelementptr inbounds i8, ptr %115, i64 32 %.sroa.4728.0..sroa_idx = getelementptr inbounds i8, ptr %115, i64 40 %.sroa.4.0..sroa_idx.i431 = getelementptr inbounds i8, ptr %91, i64 8 %.sroa.5.0..sroa_idx.i432 = getelementptr inbounds i8, ptr %91, i64 16 - %212 = getelementptr inbounds i8, ptr %115, i64 64 + %211 = getelementptr inbounds i8, ptr %115, i64 64 %.sroa.4730.0..sroa_idx = getelementptr inbounds i8, ptr %115, i64 72 %.sroa.4.0..sroa_idx.i438 = getelementptr inbounds i8, ptr %90, i64 8 %.sroa.5.0..sroa_idx.i439 = getelementptr inbounds i8, ptr %90, i64 16 - %213 = getelementptr inbounds i8, ptr %115, i64 96 + %212 = getelementptr inbounds i8, ptr %115, i64 96 %.sroa.4732.0..sroa_idx = getelementptr inbounds i8, ptr %115, i64 104 %.sroa.4.0..sroa_idx.i446 = getelementptr inbounds i8, ptr %89, i64 8 %.sroa.5.0..sroa_idx.i447 = getelementptr inbounds i8, ptr %89, i64 16 @@ -11836,73 +11835,74 @@ _ZN3std2fs14read_to_string17h46485d8ac6d4c39eE.exit: ; preds = %132, %135 %.sroa.8747.0..sroa_idx = getelementptr inbounds i8, ptr %115, i64 24 %.sroa.7744.8..sroa_idx = getelementptr inbounds i8, ptr %47, i64 8 %.sroa.8747.8..sroa_idx = getelementptr inbounds i8, ptr %47, i64 16 - %214 = getelementptr inbounds i8, ptr %1, i64 184 - %215 = getelementptr inbounds i8, ptr %1, i64 192 - %216 = getelementptr inbounds i8, ptr %100, i64 72 - %217 = getelementptr inbounds i8, ptr %100, i64 200 - %218 = getelementptr inbounds i8, ptr %100, i64 232 - %219 = getelementptr inbounds i8, ptr %100, i64 264 - %220 = getelementptr inbounds i8, ptr %100, i64 24 - %221 = getelementptr inbounds i8, ptr %100, i64 96 + %213 = getelementptr inbounds i8, ptr %1, i64 184 + %214 = getelementptr inbounds i8, ptr %1, i64 192 + %215 = getelementptr inbounds i8, ptr %100, i64 72 + %216 = getelementptr inbounds i8, ptr %100, i64 200 + %217 = getelementptr inbounds i8, ptr %100, i64 232 + %218 = getelementptr inbounds i8, ptr %100, i64 264 + %219 = getelementptr inbounds i8, ptr %100, i64 24 + %220 = getelementptr inbounds i8, ptr %100, i64 96 %.sroa.6735.0..sroa_idx = getelementptr inbounds i8, ptr %100, i64 104 %.sroa.7738.0..sroa_idx = getelementptr inbounds i8, ptr %100, i64 112 - %222 = getelementptr inbounds i8, ptr %100, i64 120 - %223 = getelementptr inbounds i8, ptr %100, i64 144 - %224 = getelementptr inbounds i8, ptr %100, i64 168 - %225 = getelementptr inbounds i8, ptr %100, i64 48 - %226 = getelementptr inbounds i8, ptr %100, i64 296 - %227 = getelementptr inbounds i8, ptr %100, i64 304 - %228 = getelementptr inbounds i8, ptr %100, i64 656 - %229 = getelementptr inbounds i8, ptr %100, i64 192 - %230 = getelementptr inbounds i8, ptr %100, i64 936 - %231 = getelementptr inbounds i8, ptr %100, i64 8 - %232 = getelementptr inbounds i8, ptr %100, i64 16 - %233 = getelementptr inbounds i8, ptr %1, i64 88 - %234 = getelementptr inbounds i8, ptr %69, i64 8 + %221 = getelementptr inbounds i8, ptr %100, i64 120 + %222 = getelementptr inbounds i8, ptr %100, i64 144 + %223 = getelementptr inbounds i8, ptr %100, i64 168 + %224 = getelementptr inbounds i8, ptr %100, i64 48 + %225 = getelementptr inbounds i8, ptr %100, i64 296 + %226 = getelementptr inbounds i8, ptr %100, i64 304 + %227 = getelementptr inbounds i8, ptr %100, i64 656 + %228 = getelementptr inbounds i8, ptr %100, i64 192 + %229 = getelementptr inbounds i8, ptr %100, i64 936 + %230 = getelementptr inbounds i8, ptr %100, i64 8 + %231 = getelementptr inbounds i8, ptr %100, i64 16 + %232 = getelementptr inbounds i8, ptr %1, i64 88 + %233 = getelementptr inbounds i8, ptr %69, i64 8 %.sroa.4783.0..sroa_idx = getelementptr inbounds i8, ptr %69, i64 32 %.sroa.5784.0..sroa_idx = getelementptr inbounds i8, ptr %69, i64 40 %.sroa.9.8..sroa_idx = getelementptr inbounds i8, ptr %35, i64 24 %.sroa.10756.8..sroa_idx = getelementptr inbounds i8, ptr %35, i64 32 - %235 = getelementptr inbounds i8, ptr %34, i64 8 - %236 = getelementptr inbounds i8, ptr %34, i64 16 - %237 = getelementptr inbounds i8, ptr %35, i64 16 - %238 = getelementptr inbounds i8, ptr %33, i64 24 + %234 = getelementptr inbounds i8, ptr %34, i64 8 + %235 = getelementptr inbounds i8, ptr %34, i64 16 + %236 = getelementptr inbounds i8, ptr %35, i64 16 + %237 = getelementptr inbounds i8, ptr %33, i64 24 %.sroa.4.0..sroa_idx.i519 = getelementptr inbounds i8, ptr %33, i64 32 %.sroa.5.0..sroa_idx.i520 = getelementptr inbounds i8, ptr %33, i64 40 %.sroa.4.0..sroa_idx.i464 = getelementptr inbounds i8, ptr %46, i64 8 %.sroa.5.0..sroa_idx.i465 = getelementptr inbounds i8, ptr %46, i64 16 - %239 = getelementptr inbounds i8, ptr %45, i64 52 - %240 = getelementptr inbounds i8, ptr %45, i64 48 - %241 = getelementptr inbounds i8, ptr %45, i64 56 - %242 = getelementptr inbounds i8, ptr %45, i64 16 - %243 = getelementptr inbounds i8, ptr %45, i64 32 - %244 = getelementptr inbounds i8, ptr %45, i64 40 - %245 = getelementptr inbounds i8, ptr %1, i64 136 - %246 = getelementptr inbounds i8, ptr %68, i64 8 + %238 = getelementptr inbounds i8, ptr %45, i64 52 + %239 = getelementptr inbounds i8, ptr %45, i64 48 + %240 = getelementptr inbounds i8, ptr %45, i64 56 + %241 = getelementptr inbounds i8, ptr %45, i64 16 + %242 = getelementptr inbounds i8, ptr %45, i64 32 + %243 = getelementptr inbounds i8, ptr %45, i64 40 + %244 = getelementptr inbounds i8, ptr %1, i64 136 + %245 = getelementptr inbounds i8, ptr %68, i64 8 %.sroa.4789.0..sroa_idx = getelementptr inbounds i8, ptr %68, i64 32 %.sroa.5790.0..sroa_idx = getelementptr inbounds i8, ptr %68, i64 40 %.sroa.9761.8..sroa_idx = getelementptr inbounds i8, ptr %44, i64 24 %.sroa.10764.8..sroa_idx = getelementptr inbounds i8, ptr %44, i64 32 - %247 = getelementptr inbounds i8, ptr %43, i64 8 - %248 = getelementptr inbounds i8, ptr %43, i64 16 - %249 = getelementptr inbounds i8, ptr %44, i64 16 - %250 = getelementptr inbounds i8, ptr %42, i64 24 + %246 = getelementptr inbounds i8, ptr %43, i64 8 + %247 = getelementptr inbounds i8, ptr %43, i64 16 + %248 = getelementptr inbounds i8, ptr %44, i64 16 + %249 = getelementptr inbounds i8, ptr %42, i64 24 %.sroa.4.0..sroa_idx.i476 = getelementptr inbounds i8, ptr %42, i64 32 %.sroa.5.0..sroa_idx.i477 = getelementptr inbounds i8, ptr %42, i64 40 - %251 = getelementptr inbounds i8, ptr %1, i64 72 - %252 = getelementptr inbounds i8, ptr %1, i64 8 - %253 = getelementptr inbounds i8, ptr %41, i64 8 - %254 = getelementptr inbounds i8, ptr %41, i64 16 - %255 = getelementptr inbounds i8, ptr %39, i64 8 - %256 = getelementptr inbounds i8, ptr %39, i64 16 - %257 = getelementptr inbounds i8, ptr %40, i64 8 - %258 = getelementptr inbounds i8, ptr %40, i64 16 - %259 = getelementptr inbounds i8, ptr %38, i64 8 - %260 = getelementptr inbounds i8, ptr %38, i64 16 - %261 = getelementptr inbounds i8, ptr %37, i64 8 - %262 = getelementptr inbounds i8, ptr %37, i64 16 - %263 = getelementptr inbounds i8, ptr %36, i64 8 - %264 = getelementptr inbounds i8, ptr %36, i64 16 + %250 = getelementptr inbounds i8, ptr %1, i64 72 + %251 = getelementptr inbounds i8, ptr %1, i64 8 + %252 = getelementptr inbounds i8, ptr %41, i64 8 + %253 = getelementptr inbounds i8, ptr %41, i64 16 + %254 = getelementptr inbounds i8, ptr %39, i64 8 + %255 = getelementptr inbounds i8, ptr %39, i64 16 + %256 = getelementptr inbounds i8, ptr %40, i64 8 + %257 = getelementptr inbounds i8, ptr %40, i64 16 + %258 = getelementptr inbounds i8, ptr %38, i64 8 + %259 = getelementptr inbounds i8, ptr %38, i64 16 + %260 = getelementptr inbounds i8, ptr %37, i64 8 + %261 = getelementptr inbounds i8, ptr %37, i64 16 + %262 = getelementptr inbounds i8, ptr %36, i64 8 + %263 = getelementptr inbounds i8, ptr %36, i64 16 + %264 = getelementptr inbounds i8, ptr %.sroa.8, i64 152 br label %"_ZN103_$LT$alloc..vec..into_iter..IntoIter$LT$T$C$A$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17hb2ee21a8da614698E.exit" 265: ; preds = %.loopexit1058, %.loopexit.split-lp1059, %855, %804, %625 @@ -11948,10 +11948,10 @@ _ZN3std2fs14read_to_string17h46485d8ac6d4c39eE.exit: ; preds = %132, %135 %270 = load ptr, ptr %121, align 8, !nonnull !10, !align !290, !noundef !10 %271 = load i64, ptr %122, align 8, !noundef !10 call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %113) - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %113, ptr noundef nonnull align 8 dereferenceable(24) %161, i64 24, i1 false) + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %113, ptr noundef nonnull align 8 dereferenceable(24) %264, i64 24, i1 false) call void @llvm.experimental.noalias.scope.decl(metadata !2394) - %272 = load ptr, ptr %162, align 8, !alias.scope !2397, !noalias !2400, !nonnull !10, !noundef !10 - %273 = load i64, ptr %163, align 8, !alias.scope !2397, !noalias !2400, !noundef !10 + %272 = load ptr, ptr %161, align 8, !alias.scope !2397, !noalias !2400, !nonnull !10, !noundef !10 + %273 = load i64, ptr %162, align 8, !alias.scope !2397, !noalias !2400, !noundef !10 invoke void @_ZN3std4path4Path5_join17h429da7dd389f28c5E(ptr noalias nocapture noundef nonnull sret({ { { { { i64, ptr }, i64 } } } }) align 8 dereferenceable(24) %114, ptr noalias noundef nonnull readonly align 1 %270, i64 noundef %271, ptr noalias noundef nonnull readonly align 1 %272, i64 noundef %273) to label %276 unwind label %274, !noalias !2394 @@ -11967,14 +11967,14 @@ _ZN3std2fs14read_to_string17h46485d8ac6d4c39eE.exit: ; preds = %132, %135 to label %.noexc unwind label %.loopexit1031 .noexc: ; preds = %276 - %277 = load i64, ptr %164, align 8, !range !26, !noalias !2404, !noundef !10 + %277 = load i64, ptr %163, align 8, !range !26, !noalias !2404, !noundef !10 %.not.i.i.i.i.i.i.i377 = icmp eq i64 %277, 0 br i1 %.not.i.i.i.i.i.i.i377, label %284, label %278 278: ; preds = %.noexc %279 = load ptr, ptr %66, align 8, !noalias !2404, !nonnull !10, !noundef !10 - %280 = load i64, ptr %165, align 8, !noalias !2404, !noundef !10 - invoke void @"_ZN63_$LT$alloc..alloc..Global$u20$as$u20$core..alloc..Allocator$GT$10deallocate17hae8e459b587c5295E.llvm.6766350830065688733"(ptr noalias noundef nonnull readonly align 1 %163, ptr noundef nonnull %279, i64 noundef %277, i64 noundef %280) + %280 = load i64, ptr %164, align 8, !noalias !2404, !noundef !10 + invoke void @"_ZN63_$LT$alloc..alloc..Global$u20$as$u20$core..alloc..Allocator$GT$10deallocate17hae8e459b587c5295E.llvm.6766350830065688733"(ptr noalias noundef nonnull readonly align 1 %162, ptr noundef nonnull %279, i64 noundef %277, i64 noundef %280) to label %284 unwind label %.loopexit1031 281: ; preds = %274 @@ -12009,8 +12009,8 @@ _ZN3std2fs14read_to_string17h46485d8ac6d4c39eE.exit: ; preds = %132, %135 call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %113) call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %112) call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %111) - %285 = load ptr, ptr %166, align 8, !nonnull !10, !noundef !10 - %286 = load i64, ptr %167, align 8, !noundef !10 + %285 = load ptr, ptr %165, align 8, !nonnull !10, !noundef !10 + %286 = load i64, ptr %166, align 8, !noundef !10 invoke void @_ZN3std4path4Path5_join17h429da7dd389f28c5E(ptr noalias nocapture noundef nonnull sret({ { { { { i64, ptr }, i64 } } } }) align 8 dereferenceable(24) %111, ptr noalias noundef nonnull readonly align 1 %285, i64 noundef %286, ptr noalias noundef nonnull readonly align 1 @anon.83eab0fe4798dbf7862f0e886e99a74a.88, i64 noundef 3) to label %_ZN3std4path4Path4join17h8e2678d728bc481aE.exit unwind label %288 @@ -12031,8 +12031,8 @@ _ZN3std2fs14read_to_string17h46485d8ac6d4c39eE.exit: ; preds = %132, %135 br label %.thread803 _ZN3std4path4Path4join17h8e2678d728bc481aE.exit: ; preds = %284 - %290 = load ptr, ptr %168, align 8, !nonnull !10, !noundef !10 - %291 = load i64, ptr %169, align 8, !noundef !10 + %290 = load ptr, ptr %167, align 8, !nonnull !10, !noundef !10 + %291 = load i64, ptr %168, align 8, !noundef !10 invoke void @_ZN3std4path4Path5_join17h429da7dd389f28c5E(ptr noalias nocapture noundef nonnull sret({ { { { { i64, ptr }, i64 } } } }) align 8 dereferenceable(24) %112, ptr noalias noundef nonnull readonly align 1 %290, i64 noundef %291, ptr noalias noundef nonnull readonly align 1 @anon.83eab0fe4798dbf7862f0e886e99a74a.122, i64 noundef 12) to label %_ZN3std4path4Path4join17h8e2678d728bc481aE.exit381 unwind label %292 @@ -12048,14 +12048,14 @@ _ZN3std4path4Path4join17h8e2678d728bc481aE.exit381: ; preds = %_ZN3std4path4Path to label %.noexc382 unwind label %838 .noexc382: ; preds = %_ZN3std4path4Path4join17h8e2678d728bc481aE.exit381 - %294 = load i64, ptr %170, align 8, !range !26, !noalias !2417, !noundef !10 + %294 = load i64, ptr %169, align 8, !range !26, !noalias !2417, !noundef !10 %.not.i.i.i.i.i.i = icmp eq i64 %294, 0 br i1 %.not.i.i.i.i.i.i, label %298, label %295 295: ; preds = %.noexc382 %296 = load ptr, ptr %65, align 8, !noalias !2417, !nonnull !10, !noundef !10 - %297 = load i64, ptr %171, align 8, !noalias !2417, !noundef !10 - invoke void @"_ZN63_$LT$alloc..alloc..Global$u20$as$u20$core..alloc..Allocator$GT$10deallocate17hae8e459b587c5295E.llvm.6766350830065688733"(ptr noalias noundef nonnull readonly align 1 %169, ptr noundef nonnull %296, i64 noundef %294, i64 noundef %297) + %297 = load i64, ptr %170, align 8, !noalias !2417, !noundef !10 + invoke void @"_ZN63_$LT$alloc..alloc..Global$u20$as$u20$core..alloc..Allocator$GT$10deallocate17hae8e459b587c5295E.llvm.6766350830065688733"(ptr noalias noundef nonnull readonly align 1 %168, ptr noundef nonnull %296, i64 noundef %294, i64 noundef %297) to label %298 unwind label %838 .thread832.loopexit: ; preds = %589, %304, %_ZN3std2fs11OpenOptions4open17hebf7f92c6dcec5ebE.llvm.6082948530530484711.exit.i, %309 @@ -12084,8 +12084,8 @@ _ZN3std4path4Path4join17h8e2678d728bc481aE.exit381: ; preds = %_ZN3std4path4Path store i32 438, ptr %.sroa.4.0..sroa_idx.i384, align 4, !noalias !2433 call void @llvm.memset.p0.i64(ptr noundef nonnull align 4 dereferenceable(6) %.sroa.5.0..sroa_idx.i385, i8 0, i64 6, i1 false), !noalias !2433 store i8 1, ptr %.sroa.5.0..sroa_idx.i385, align 4, !noalias !2433 - %299 = load ptr, ptr %172, align 8, !alias.scope !2435, !noalias !2438, !nonnull !10, !noundef !10 - %300 = load i64, ptr %173, align 8, !alias.scope !2435, !noalias !2438, !noundef !10 + %299 = load ptr, ptr %171, align 8, !alias.scope !2435, !noalias !2438, !nonnull !10, !noundef !10 + %300 = load i64, ptr %172, align 8, !alias.scope !2435, !noalias !2438, !noundef !10 invoke void @_ZN3std2fs11OpenOptions5_open17h6c5b835fc2afb736E(ptr noalias nocapture noundef nonnull sret({ i32, [3 x i32] }) align 8 dereferenceable(16) %108, ptr noalias noundef nonnull readonly align 4 dereferenceable(16) %64, ptr noalias noundef nonnull readonly align 1 %299, i64 noundef %300) to label %_ZN3std2fs11OpenOptions4open17hebf7f92c6dcec5ebE.llvm.6082948530530484711.exit.i unwind label %301, !noalias !2430 @@ -12102,14 +12102,14 @@ _ZN3std2fs11OpenOptions4open17hebf7f92c6dcec5ebE.llvm.6082948530530484711.exit.i to label %.noexc387 unwind label %.thread832.loopexit .noexc387: ; preds = %_ZN3std2fs11OpenOptions4open17hebf7f92c6dcec5ebE.llvm.6082948530530484711.exit.i - %303 = load i64, ptr %174, align 8, !range !26, !noalias !2439, !noundef !10 + %303 = load i64, ptr %173, align 8, !range !26, !noalias !2439, !noundef !10 %.not.i.i.i.i.i.i.i386 = icmp eq i64 %303, 0 br i1 %.not.i.i.i.i.i.i.i386, label %309, label %304 304: ; preds = %.noexc387 %305 = load ptr, ptr %63, align 8, !noalias !2439, !nonnull !10, !noundef !10 - %306 = load i64, ptr %175, align 8, !noalias !2439, !noundef !10 - invoke void @"_ZN63_$LT$alloc..alloc..Global$u20$as$u20$core..alloc..Allocator$GT$10deallocate17hae8e459b587c5295E.llvm.6766350830065688733"(ptr noalias noundef nonnull readonly align 1 %173, ptr noundef nonnull %305, i64 noundef %303, i64 noundef %306) + %306 = load i64, ptr %174, align 8, !noalias !2439, !noundef !10 + invoke void @"_ZN63_$LT$alloc..alloc..Global$u20$as$u20$core..alloc..Allocator$GT$10deallocate17hae8e459b587c5295E.llvm.6766350830065688733"(ptr noalias noundef nonnull readonly align 1 %172, ptr noundef nonnull %305, i64 noundef %303, i64 noundef %306) to label %309 unwind label %.thread832.loopexit 307: ; preds = %301 @@ -12128,8 +12128,8 @@ _ZN3std2fs11OpenOptions4open17hebf7f92c6dcec5ebE.llvm.6082948530530484711.exit.i call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %108) %311 = load i32, ptr %109, align 8, !range !873, !noundef !10 %trunc = trunc i32 %311 to i1 - %312 = load ptr, ptr %176, align 8, !nonnull !10 - %313 = load i32, ptr %177, align 4, !range !874 + %312 = load ptr, ptr %175, align 8, !nonnull !10 + %313 = load i32, ptr %176, align 4, !range !874 call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %109) br i1 %trunc, label %"_ZN4core3ptr34drop_in_place$LT$std..fs..File$GT$17h59698e4aa2616291E.exit538.thread", label %314 @@ -12196,7 +12196,7 @@ _ZN3std2fs11OpenOptions4open17hebf7f92c6dcec5ebE.llvm.6082948530530484711.exit.i call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %104) %325 = load i64, ptr %105, align 8, !range !26, !noundef !10 %326 = icmp eq i64 %325, -9223372036854775808 - %327 = load ptr, ptr %178, align 8 + %327 = load ptr, ptr %177, align 8 %.sroa.5140.0.copyload = load i64, ptr %.sroa.5140.0..sroa_idx, align 8 call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %105) br i1 %326, label %333, label %328 @@ -12205,7 +12205,7 @@ _ZN3std2fs11OpenOptions4open17hebf7f92c6dcec5ebE.llvm.6082948530530484711.exit.i store i64 %325, ptr %106, align 8 store ptr %327, ptr %.sroa.4.0..sroa_idx, align 8 store i64 %.sroa.5140.0.copyload, ptr %.sroa.5.0..sroa_idx, align 8 - %329 = load ptr, ptr %179, align 8, !nonnull !10, !noundef !10 + %329 = load ptr, ptr %178, align 8, !nonnull !10, !noundef !10 %330 = load i64, ptr %157, align 8, !noundef !10 %331 = getelementptr inbounds { { { { { { i64, ptr }, i64 } } } }, { i64, ptr }, { i64, [2 x i64] } }, ptr %329, i64 %330 %332 = ptrtoint ptr %331 to i64 @@ -12277,8 +12277,8 @@ _ZN3std2fs11OpenOptions4open17hebf7f92c6dcec5ebE.llvm.6082948530530484711.exit.i %.sink11.i855 = phi i64 [ %344, %342 ], [ %.sroa.10.0, %336 ] %.sroa.0696.1854 = getelementptr inbounds i8, ptr %.sroa.2.0.i6.pn.ph.i856, i64 64 %346 = add i64 %.sink11.i855, 1 - %.val = load ptr, ptr %166, align 8, !nonnull !10, !noundef !10 - %.val368 = load i64, ptr %167, align 8, !noundef !10 + %.val = load ptr, ptr %165, align 8, !nonnull !10, !noundef !10 + %.val368 = load i64, ptr %166, align 8, !noundef !10 %347 = getelementptr i8, ptr %.sroa.2.0.i6.pn.ph.i856, i64 8 %.fca.1.extract.val = load ptr, ptr %347, align 8 %348 = getelementptr i8, ptr %.sroa.2.0.i6.pn.ph.i856, i64 16 @@ -12299,26 +12299,26 @@ _ZN3std2fs11OpenOptions4open17hebf7f92c6dcec5ebE.llvm.6082948530530484711.exit.i call void @llvm.experimental.noalias.scope.decl(metadata !2471) call void @llvm.lifetime.start.p0(i64 39, ptr nonnull %.sroa.5.i8.i.i) call void @llvm.lifetime.start.p0(i64 39, ptr nonnull %.sroa.5.i.i.i) - %350 = load i64, ptr %180, align 8, !alias.scope !2468, !noalias !2471, !noundef !10 - %351 = load i64, ptr %181, align 8, !alias.scope !2471, !noalias !2468, !noundef !10 + %350 = load i64, ptr %179, align 8, !alias.scope !2468, !noalias !2471, !noundef !10 + %351 = load i64, ptr %180, align 8, !alias.scope !2471, !noalias !2468, !noundef !10 %352 = icmp eq i64 %350, %351 br i1 %352, label %353, label %.noexc399._crit_edge .noexc399._crit_edge: ; preds = %.noexc399 - %.pre = load i8, ptr %186, align 8, !range !2473, !alias.scope !2474, !noalias !2477 + %.pre = load i8, ptr %185, align 8, !range !2473, !alias.scope !2474, !noalias !2477 br label %361 353: ; preds = %.noexc399 - %354 = load i8, ptr %182, align 8, !range !169, !alias.scope !2468, !noalias !2471, !noundef !10 - %355 = load i8, ptr %183, align 8, !range !169, !alias.scope !2471, !noalias !2468, !noundef !10 + %354 = load i8, ptr %181, align 8, !range !169, !alias.scope !2468, !noalias !2471, !noundef !10 + %355 = load i8, ptr %182, align 8, !range !169, !alias.scope !2471, !noalias !2468, !noundef !10 %356 = icmp eq i8 %354, %355 - %357 = load i8, ptr %184, align 1, !range !169, !alias.scope !2468, !noalias !2471 + %357 = load i8, ptr %183, align 1, !range !169, !alias.scope !2468, !noalias !2471 %358 = icmp eq i8 %357, 2 %or.cond.i.i = select i1 %356, i1 %358, i1 false - %359 = load i8, ptr %185, align 1, !range !169, !alias.scope !2471, !noalias !2468 + %359 = load i8, ptr %184, align 1, !range !169, !alias.scope !2471, !noalias !2468 %360 = icmp eq i8 %359, 2 %or.cond7.i.i = select i1 %or.cond.i.i, i1 %360, i1 false - %.pre1439 = load i8, ptr %186, align 8, !range !2473, !alias.scope !2468, !noalias !2471 + %.pre1439 = load i8, ptr %185, align 8, !range !2473, !alias.scope !2468, !noalias !2471 br i1 %or.cond7.i.i, label %381, label %361 361: ; preds = %.noexc399._crit_edge, %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17hdaef701dec81f19dE.exit.i.i", %381, %353 @@ -12332,11 +12332,11 @@ _ZN3std2fs11OpenOptions4open17hebf7f92c6dcec5ebE.llvm.6082948530530484711.exit.i br label %"_ZN60_$LT$std..path..Components$u20$as$u20$core..clone..Clone$GT$5clone17h2f5f2ed3d178fa13E.exit.i.i" "_ZN60_$LT$std..path..Components$u20$as$u20$core..clone..Clone$GT$5clone17h2f5f2ed3d178fa13E.exit.i.i": ; preds = %365, %361 - %366 = load i8, ptr %188, align 2, !range !14, !alias.scope !2474, !noalias !2477, !noundef !10 - %367 = load i8, ptr %182, align 8, !range !169, !alias.scope !2474, !noalias !2477, !noundef !10 - %368 = load i8, ptr %184, align 1, !range !169, !alias.scope !2474, !noalias !2477, !noundef !10 + %366 = load i8, ptr %187, align 2, !range !14, !alias.scope !2474, !noalias !2477, !noundef !10 + %367 = load i8, ptr %181, align 8, !range !169, !alias.scope !2474, !noalias !2477, !noundef !10 + %368 = load i8, ptr %183, align 1, !range !169, !alias.scope !2474, !noalias !2477, !noundef !10 %369 = load ptr, ptr %60, align 8, !alias.scope !2479, !noalias !2482, !nonnull !10, !align !290, !noundef !10 - %370 = load i8, ptr %187, align 8, !range !2473, !alias.scope !2479, !noalias !2482, !noundef !10 + %370 = load i8, ptr %186, align 8, !range !2473, !alias.scope !2479, !noalias !2482, !noundef !10 %371 = icmp eq i8 %370, 6 br i1 %371, label %"_ZN60_$LT$std..path..Components$u20$as$u20$core..clone..Clone$GT$5clone17h2f5f2ed3d178fa13E.exit11.i.i", label %372 @@ -12345,9 +12345,9 @@ _ZN3std2fs11OpenOptions4open17hebf7f92c6dcec5ebE.llvm.6082948530530484711.exit.i br label %"_ZN60_$LT$std..path..Components$u20$as$u20$core..clone..Clone$GT$5clone17h2f5f2ed3d178fa13E.exit11.i.i" "_ZN60_$LT$std..path..Components$u20$as$u20$core..clone..Clone$GT$5clone17h2f5f2ed3d178fa13E.exit11.i.i": ; preds = %372, %"_ZN60_$LT$std..path..Components$u20$as$u20$core..clone..Clone$GT$5clone17h2f5f2ed3d178fa13E.exit.i.i" - %373 = load i8, ptr %189, align 2, !range !14, !alias.scope !2479, !noalias !2482, !noundef !10 - %374 = load i8, ptr %183, align 8, !range !169, !alias.scope !2479, !noalias !2482, !noundef !10 - %375 = load i8, ptr %185, align 1, !range !169, !alias.scope !2479, !noalias !2482, !noundef !10 + %373 = load i8, ptr %188, align 2, !range !14, !alias.scope !2479, !noalias !2482, !noundef !10 + %374 = load i8, ptr %182, align 8, !range !169, !alias.scope !2479, !noalias !2482, !noundef !10 + %375 = load i8, ptr %184, align 1, !range !169, !alias.scope !2479, !noalias !2482, !noundef !10 call void @llvm.lifetime.start.p0(i64 64, ptr nonnull %59), !noalias !2484 store ptr %363, ptr %59, align 8, !noalias !2488 store i64 %350, ptr %.sroa.0.sroa.4.0..sroa_idx.i.i, align 8, !noalias !2488 @@ -12385,7 +12385,7 @@ _ZN3std2fs11OpenOptions4open17hebf7f92c6dcec5ebE.llvm.6082948530530484711.exit.i 381: ; preds = %353 %switch.i.i.i.i.i = icmp ult i8 %.pre1439, 3 - %382 = load i8, ptr %187, align 8, !range !2473, !alias.scope !2500, !noalias !2468, !noundef !10 + %382 = load i8, ptr %186, align 8, !range !2473, !alias.scope !2500, !noalias !2468, !noundef !10 %switch.i.i.i12.i.i = icmp ult i8 %382, 3 %383 = xor i1 %switch.i.i.i.i.i, %switch.i.i.i12.i.i br i1 %383, label %361, label %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17hdaef701dec81f19dE.exit.i.i" @@ -12411,7 +12411,7 @@ _ZN3std2fs11OpenOptions4open17hebf7f92c6dcec5ebE.llvm.6082948530530484711.exit.i call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %101) store i64 0, ptr %101, align 8 call void @llvm.experimental.noalias.scope.decl(metadata !2507) - %388 = load i64, ptr %191, align 8, !range !280, !alias.scope !2507, !noalias !2510, !noundef !10 + %388 = load i64, ptr %190, align 8, !range !280, !alias.scope !2507, !noalias !2510, !noundef !10 switch i64 %388, label %default.unreachable [ i64 0, label %.thread900 i64 1, label %389 @@ -12423,13 +12423,13 @@ default.unreachable: ; preds = %387 389: ; preds = %387 call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %56), !noalias !2512 - invoke void @"_ZN60_$LT$alloc..string..String$u20$as$u20$core..clone..Clone$GT$5clone17hebbb1fc2363025c1E"(ptr noalias nocapture noundef nonnull sret({ { { i64, ptr }, i64 } }) align 8 dereferenceable(24) %56, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) %194) + invoke void @"_ZN60_$LT$alloc..string..String$u20$as$u20$core..clone..Clone$GT$5clone17hebbb1fc2363025c1E"(ptr noalias nocapture noundef nonnull sret({ { { i64, ptr }, i64 } }) align 8 dereferenceable(24) %56, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) %193) to label %399 unwind label %.loopexit1044 390: ; preds = %387 call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %55), !noalias !2512 - %391 = load ptr, ptr %193, align 8, !alias.scope !2513, !noalias !2516, !nonnull !10, !noundef !10 - %392 = load i64, ptr %192, align 8, !alias.scope !2513, !noalias !2516, !noundef !10 + %391 = load ptr, ptr %192, align 8, !alias.scope !2513, !noalias !2516, !nonnull !10, !noundef !10 + %392 = load i64, ptr %191, align 8, !alias.scope !2513, !noalias !2516, !noundef !10 invoke void @"_ZN52_$LT$T$u20$as$u20$alloc..slice..hack..ConvertVec$GT$6to_vec17h627406c576405aa4E.llvm.11452206255188058866"(ptr noalias nocapture noundef nonnull sret({ { i64, ptr }, i64 }) align 8 dereferenceable(24) %55, ptr noalias noundef nonnull readonly align 8 %391, i64 noundef %392) to label %_ZN18tree_sitter_loader6Loader36find_language_configurations_at_path9PathsJSON8into_vec17h21cffb8c9e42a05fE.exit unwind label %.loopexit1044 @@ -12461,7 +12461,7 @@ default.unreachable: ; preds = %387 br i1 %397, label %"_ZN4core3ptr77drop_in_place$LT$once_cell..unsync..OnceCell$LT$tree_sitter..Language$GT$$GT$17h99b294c3c793186aE.exit", label %398 398: ; preds = %.body407 - invoke void @"_ZN63_$LT$tree_sitter..Language$u20$as$u20$core..ops..drop..Drop$GT$4drop17h16817d4e8c1c3e09E"(ptr noalias noundef nonnull align 8 dereferenceable(8) %190) + invoke void @"_ZN63_$LT$tree_sitter..Language$u20$as$u20$core..ops..drop..Drop$GT$4drop17h16817d4e8c1c3e09E"(ptr noalias noundef nonnull align 8 dereferenceable(8) %189) to label %"_ZN4core3ptr77drop_in_place$LT$once_cell..unsync..OnceCell$LT$tree_sitter..Language$GT$$GT$17h99b294c3c793186aE.exit" unwind label %638 399: ; preds = %389 @@ -12586,10 +12586,10 @@ _ZN18tree_sitter_loader6Loader36find_language_configurations_at_path9PathsJSON8i %.sroa.028.0.ph = phi i64 [ -9223372036854775808, %409 ], [ %.sroa.0773.0.copyload, %422 ], [ -9223372036854775808, %_ZN18tree_sitter_loader6Loader36find_language_configurations_at_path9PathsJSON8into_vec17h21cffb8c9e42a05fE.exit ], [ -9223372036854775808, %387 ] call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %103, ptr noundef nonnull align 8 dereferenceable(24) %102, i64 24, i1 false) %423 = load i64, ptr %101, align 8, !noundef !10 - %424 = load ptr, ptr %190, align 8 - store i64 %423, ptr %195, align 8 - store ptr %424, ptr %196, align 8 - store i64 %.sroa.028.0.ph, ptr %197, align 8 + %424 = load ptr, ptr %189, align 8 + store i64 %423, ptr %194, align 8 + store ptr %424, ptr %195, align 8 + store i64 %.sroa.028.0.ph, ptr %196, align 8 store ptr %.sroa.744.2917.ph, ptr %.sroa.252.0..sroa_idx, align 8 store i64 %.sroa.936.2.ph, ptr %.sroa.353.0..sroa_idx, align 8 call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %101) @@ -12631,12 +12631,12 @@ _ZN18tree_sitter_loader6Loader36find_language_configurations_at_path9PathsJSON8i br i1 %436, label %"_ZN4core3ptr77drop_in_place$LT$once_cell..unsync..OnceCell$LT$tree_sitter..Language$GT$$GT$17h99b294c3c793186aE.exit422", label %437 437: ; preds = %.loopexit1049 - invoke void @"_ZN63_$LT$tree_sitter..Language$u20$as$u20$core..ops..drop..Drop$GT$4drop17h16817d4e8c1c3e09E"(ptr noalias noundef nonnull align 8 dereferenceable(8) %190) + invoke void @"_ZN63_$LT$tree_sitter..Language$u20$as$u20$core..ops..drop..Drop$GT$4drop17h16817d4e8c1c3e09E"(ptr noalias noundef nonnull align 8 dereferenceable(8) %189) to label %"_ZN4core3ptr77drop_in_place$LT$once_cell..unsync..OnceCell$LT$tree_sitter..Language$GT$$GT$17h99b294c3c793186aE.exit422" unwind label %670 438: ; preds = %._crit_edge.i, %.thread900 %439 = phi i64 [ %.pre.i, %._crit_edge.i ], [ %425, %.thread900 ] - %440 = load ptr, ptr %179, align 8, !alias.scope !2548, !noalias !2551, !nonnull !10, !noundef !10 + %440 = load ptr, ptr %178, align 8, !alias.scope !2548, !noalias !2551, !nonnull !10, !noundef !10 %441 = getelementptr inbounds { { { { { { i64, ptr }, i64 } } } }, { i64, ptr }, { i64, [2 x i64] } }, ptr %440, i64 %439 call void @llvm.memmove.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(64) %441, ptr noundef nonnull align 8 dereferenceable(64) %103, i64 64, i1 false) %442 = load i64, ptr %157, align 8, !alias.scope !2548, !noalias !2551, !noundef !10 @@ -12667,13 +12667,13 @@ _ZN18tree_sitter_loader6Loader36find_language_configurations_at_path9PathsJSON8i 448: ; preds = %444 call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %97) - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %97, ptr noundef nonnull align 8 dereferenceable(24) %198, i64 24, i1 false) + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %97, ptr noundef nonnull align 8 dereferenceable(24) %197, i64 24, i1 false) call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %96) - %.sroa.054.0.copyload = load i64, ptr %199, align 8 + %.sroa.054.0.copyload = load i64, ptr %198, align 8 call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %95) store i64 0, ptr %95, align 8 - store ptr inttoptr (i64 8 to ptr), ptr %200, align 8 - store i64 0, ptr %201, align 8 + store ptr inttoptr (i64 8 to ptr), ptr %199, align 8 + store i64 0, ptr %200, align 8 %.not290 = icmp eq i64 %.sroa.054.0.copyload, -9223372036854775808 br i1 %.not290, label %.thread948, label %449 @@ -12709,10 +12709,10 @@ _ZN18tree_sitter_loader6Loader36find_language_configurations_at_path9PathsJSON8i 455: ; preds = %449, %.thread948 call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %95) call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %94) - %456 = load i64, ptr %202, align 8, !range !26, !alias.scope !2560, !noundef !10 + %456 = load i64, ptr %201, align 8, !range !26, !alias.scope !2560, !noundef !10 %457 = icmp eq i64 %456, -9223372036854775808 - %..val.i = load ptr, ptr %203, align 8, !alias.scope !2560, !nonnull !10 - %..val2.i = load i64, ptr %204, align 8, !alias.scope !2560 + %..val.i = load ptr, ptr %202, align 8, !alias.scope !2560, !nonnull !10 + %..val2.i = load i64, ptr %203, align 8, !alias.scope !2560 %.sroa.3.0.i = select i1 %457, i64 undef, i64 %..val2.i %.sroa.0.0.i = select i1 %457, ptr null, ptr %..val.i invoke fastcc void @_ZN18tree_sitter_loader6Loader5regex17he84614236b66299eE(ptr noalias nocapture noundef nonnull align 8 dereferenceable(32) %94, ptr noalias noundef readonly align 1 %.sroa.0.0.i, i64 %.sroa.3.0.i) @@ -12734,10 +12734,10 @@ _ZN18tree_sitter_loader6Loader36find_language_configurations_at_path9PathsJSON8i 461: ; preds = %455 call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %93) - %462 = load i64, ptr %205, align 8, !range !26, !alias.scope !2563, !noundef !10 + %462 = load i64, ptr %204, align 8, !range !26, !alias.scope !2563, !noundef !10 %463 = icmp eq i64 %462, -9223372036854775808 - %..val.i423 = load ptr, ptr %206, align 8, !alias.scope !2563, !nonnull !10 - %..val2.i424 = load i64, ptr %207, align 8, !alias.scope !2563 + %..val.i423 = load ptr, ptr %205, align 8, !alias.scope !2563, !nonnull !10 + %..val2.i424 = load i64, ptr %206, align 8, !alias.scope !2563 %.sroa.3.0.i425 = select i1 %463, i64 undef, i64 %..val2.i424 %.sroa.0.0.i426 = select i1 %463, ptr null, ptr %..val.i423 invoke fastcc void @_ZN18tree_sitter_loader6Loader5regex17he84614236b66299eE(ptr noalias nocapture noundef nonnull align 8 dereferenceable(32) %93, ptr noalias noundef readonly align 1 %.sroa.0.0.i426, i64 %.sroa.3.0.i425) @@ -12759,10 +12759,10 @@ _ZN18tree_sitter_loader6Loader36find_language_configurations_at_path9PathsJSON8i 467: ; preds = %461 call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %92) - %468 = load i64, ptr %208, align 8, !range !26, !alias.scope !2566, !noundef !10 + %468 = load i64, ptr %207, align 8, !range !26, !alias.scope !2566, !noundef !10 %469 = icmp eq i64 %468, -9223372036854775808 - %..val.i427 = load ptr, ptr %209, align 8, !alias.scope !2566, !nonnull !10 - %..val2.i428 = load i64, ptr %210, align 8, !alias.scope !2566 + %..val.i427 = load ptr, ptr %208, align 8, !alias.scope !2566, !nonnull !10 + %..val2.i428 = load i64, ptr %209, align 8, !alias.scope !2566 %.sroa.3.0.i429 = select i1 %469, i64 undef, i64 %..val2.i428 %.sroa.0.0.i430 = select i1 %469, ptr null, ptr %..val.i427 invoke fastcc void @_ZN18tree_sitter_loader6Loader5regex17he84614236b66299eE(ptr noalias nocapture noundef nonnull align 8 dereferenceable(32) %92, ptr noalias noundef readonly align 1 %.sroa.0.0.i430, i64 %.sroa.3.0.i429) @@ -12771,7 +12771,7 @@ _ZN18tree_sitter_loader6Loader36find_language_configurations_at_path9PathsJSON8i 470: ; preds = %467 call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %91) call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %.sroa.4728) - %.sroa.0727.0.copyload = load i64, ptr %211, align 8 + %.sroa.0727.0.copyload = load i64, ptr %210, align 8 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %.sroa.4728, ptr noundef nonnull align 8 dereferenceable(24) %.sroa.4728.0..sroa_idx, i64 24, i1 false) call void @llvm.experimental.noalias.scope.decl(metadata !2569) switch i64 %.sroa.0727.0.copyload, label %default.unreachable3.i434 [ @@ -12838,7 +12838,7 @@ _ZN18tree_sitter_loader6Loader36find_language_configurations_at_path9PathsJSON8i call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %.sroa.4728) call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %90) call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %.sroa.4730) - %.sroa.0729.0.copyload = load i64, ptr %212, align 8 + %.sroa.0729.0.copyload = load i64, ptr %211, align 8 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %.sroa.4730, ptr noundef nonnull align 8 dereferenceable(24) %.sroa.4730.0..sroa_idx, i64 24, i1 false) call void @llvm.experimental.noalias.scope.decl(metadata !2575) switch i64 %.sroa.0729.0.copyload, label %default.unreachable3.i441 [ @@ -12909,7 +12909,7 @@ _ZN18tree_sitter_loader6Loader36find_language_configurations_at_path9PathsJSON8i call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %.sroa.4730) call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %89) call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %.sroa.4732) - %.sroa.0731.0.copyload = load i64, ptr %213, align 8 + %.sroa.0731.0.copyload = load i64, ptr %212, align 8 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %.sroa.4732, ptr noundef nonnull align 8 dereferenceable(24) %.sroa.4732.0..sroa_idx, i64 24, i1 false) call void @llvm.experimental.noalias.scope.decl(metadata !2584) switch i64 %.sroa.0731.0.copyload, label %default.unreachable3.i449 [ @@ -13054,26 +13054,26 @@ default.unreachable3.i458: ; preds = %_ZN18tree_sitter_lo %.sroa.0733.0 = phi i64 [ %.sroa.4742.0.copyload, %518 ], [ 1, %519 ], [ -9223372036854775808, %_ZN18tree_sitter_loader6Loader36find_language_configurations_at_path9PathsJSON8into_vec17h21cffb8c9e42a05fE.exit452 ] %.sroa.6735.1 = phi ptr [ %.sroa.7744.0.copyload, %518 ], [ %515, %519 ], [ %.sroa.6735.01329, %_ZN18tree_sitter_loader6Loader36find_language_configurations_at_path9PathsJSON8into_vec17h21cffb8c9e42a05fE.exit452 ] %.sroa.7738.1 = phi i64 [ %.sroa.8747.0.copyload, %518 ], [ 1, %519 ], [ %.sroa.7738.01330, %_ZN18tree_sitter_loader6Loader36find_language_configurations_at_path9PathsJSON8into_vec17h21cffb8c9e42a05fE.exit452 ] - %528 = load ptr, ptr %214, align 8, !nonnull !10, !align !13, !noundef !10 - %529 = load i8, ptr %215, align 8, !range !14, !noundef !10 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %216, ptr noundef nonnull align 8 dereferenceable(24) %97, i64 24, i1 false) - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %217, ptr noundef nonnull align 8 dereferenceable(32) %94, i64 32, i1 false) - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %218, ptr noundef nonnull align 8 dereferenceable(32) %93, i64 32, i1 false) - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %219, ptr noundef nonnull align 8 dereferenceable(32) %92, i64 32, i1 false) + %528 = load ptr, ptr %213, align 8, !nonnull !10, !align !13, !noundef !10 + %529 = load i8, ptr %214, align 8, !range !14, !noundef !10 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %215, ptr noundef nonnull align 8 dereferenceable(24) %97, i64 24, i1 false) + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %216, ptr noundef nonnull align 8 dereferenceable(32) %94, i64 32, i1 false) + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %217, ptr noundef nonnull align 8 dereferenceable(32) %93, i64 32, i1 false) + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %218, ptr noundef nonnull align 8 dereferenceable(32) %92, i64 32, i1 false) call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %100, ptr noundef nonnull align 8 dereferenceable(24) %96, i64 24, i1 false) - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %220, ptr noundef nonnull align 8 dereferenceable(24) %99, i64 24, i1 false) - store i64 %.sroa.0733.0, ptr %221, align 8 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %219, ptr noundef nonnull align 8 dereferenceable(24) %99, i64 24, i1 false) + store i64 %.sroa.0733.0, ptr %220, align 8 store ptr %.sroa.6735.1, ptr %.sroa.6735.0..sroa_idx, align 8 store i64 %.sroa.7738.1, ptr %.sroa.7738.0..sroa_idx, align 8 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %222, ptr noundef nonnull align 8 dereferenceable(24) %91, i64 24, i1 false) - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %223, ptr noundef nonnull align 8 dereferenceable(24) %90, i64 24, i1 false) - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %224, ptr noundef nonnull align 8 dereferenceable(24) %89, i64 24, i1 false) - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %225, ptr noundef nonnull align 8 dereferenceable(24) %98, i64 24, i1 false) - store i64 %.0285, ptr %226, align 8 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %221, ptr noundef nonnull align 8 dereferenceable(24) %91, i64 24, i1 false) + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %222, ptr noundef nonnull align 8 dereferenceable(24) %90, i64 24, i1 false) + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %223, ptr noundef nonnull align 8 dereferenceable(24) %89, i64 24, i1 false) + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %224, ptr noundef nonnull align 8 dereferenceable(24) %98, i64 24, i1 false) + store i64 %.0285, ptr %225, align 8 + store i64 -9223372036854775807, ptr %226, align 8 store i64 -9223372036854775807, ptr %227, align 8 - store i64 -9223372036854775807, ptr %228, align 8 - store ptr %528, ptr %229, align 8 - store i8 %529, ptr %230, align 8 + store ptr %528, ptr %228, align 8 + store i8 %529, ptr %229, align 8 call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %89) call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %90) call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %91) @@ -13084,14 +13084,14 @@ default.unreachable3.i458: ; preds = %_ZN18tree_sitter_lo call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %97) call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %98) call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %99) - %.val370 = load ptr, ptr %231, align 8, !nonnull !10, !noundef !10 - %.val371 = load i64, ptr %232, align 8, !noundef !10 + %.val370 = load ptr, ptr %230, align 8, !nonnull !10, !noundef !10 + %.val371 = load i64, ptr %231, align 8, !noundef !10 %530 = getelementptr inbounds { { { i64, ptr }, i64 } }, ptr %.val370, i64 %.val371 %531 = icmp eq i64 %.val371, 0 br i1 %531, label %._crit_edge, label %.lr.ph ._crit_edge: ; preds = %"_ZN5alloc3vec16Vec$LT$T$C$A$GT$4push17he1f3374b9c1e547eE.exit527", %527 - %532 = load ptr, ptr %218, align 8, !noundef !10 + %532 = load ptr, ptr %217, align 8, !noundef !10 %.not300 = icmp eq ptr %532, null br i1 %.not300, label %541, label %534 @@ -13111,14 +13111,14 @@ default.unreachable3.i458: ; preds = %_ZN18tree_sitter_lo store ptr inttoptr (i64 1 to ptr), ptr %.sroa.4.0..sroa_idx.i464, align 8, !noalias !2601 store i64 0, ptr %.sroa.5.0..sroa_idx.i465, align 8, !noalias !2601 call void @llvm.lifetime.start.p0(i64 64, ptr nonnull %45), !noalias !2601 - store i32 0, ptr %239, align 4, !noalias !2601 - store i32 32, ptr %240, align 8, !noalias !2601 - store i8 3, ptr %241, align 8, !noalias !2601 + store i32 0, ptr %238, align 4, !noalias !2601 + store i32 32, ptr %239, align 8, !noalias !2601 + store i8 3, ptr %240, align 8, !noalias !2601 store i64 0, ptr %45, align 8, !noalias !2601 - store i64 0, ptr %242, align 8, !noalias !2601 - store ptr %46, ptr %243, align 8, !noalias !2601 - store ptr @anon.83eab0fe4798dbf7862f0e886e99a74a.13, ptr %244, align 8, !noalias !2601 - %535 = invoke noundef zeroext i1 @"_ZN66_$LT$regex..regex..string..Regex$u20$as$u20$core..fmt..Display$GT$3fmt17haa45a36b4ae9109bE"(ptr noalias noundef nonnull readonly align 8 dereferenceable(32) %218, ptr noalias noundef nonnull align 8 dereferenceable(64) %45) + store i64 0, ptr %241, align 8, !noalias !2601 + store ptr %46, ptr %242, align 8, !noalias !2601 + store ptr @anon.83eab0fe4798dbf7862f0e886e99a74a.13, ptr %243, align 8, !noalias !2601 + %535 = invoke noundef zeroext i1 @"_ZN66_$LT$regex..regex..string..Regex$u20$as$u20$core..fmt..Display$GT$3fmt17haa45a36b4ae9109bE"(ptr noalias noundef nonnull readonly align 8 dereferenceable(32) %217, ptr noalias noundef nonnull align 8 dereferenceable(64) %45) to label %537 unwind label %.loopexit1053, !noalias !2605 .loopexit1053: ; preds = %534 @@ -13186,13 +13186,13 @@ default.unreachable3.i458: ; preds = %_ZN18tree_sitter_lo call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %45), !noalias !2601 call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %46), !noalias !2601 call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %68) - invoke void @"_ZN9hashbrown11rustc_entry62_$LT$impl$u20$hashbrown..map..HashMap$LT$K$C$V$C$S$C$A$GT$$GT$11rustc_entry17h2224f4ddeb892a6bE"(ptr noalias nocapture noundef nonnull sret({ i64, [5 x i64] }) align 8 dereferenceable(48) %68, ptr noalias noundef nonnull align 8 dereferenceable(48) %245, ptr noalias nocapture noundef nonnull align 8 dereferenceable(24) %87) + invoke void @"_ZN9hashbrown11rustc_entry62_$LT$impl$u20$hashbrown..map..HashMap$LT$K$C$V$C$S$C$A$GT$$GT$11rustc_entry17h2224f4ddeb892a6bE"(ptr noalias nocapture noundef nonnull sret({ i64, [5 x i64] }) align 8 dereferenceable(48) %68, ptr noalias noundef nonnull align 8 dereferenceable(48) %244, ptr noalias nocapture noundef nonnull align 8 dereferenceable(24) %87) to label %551 unwind label %.loopexit.split-lp 551: ; preds = %550 %552 = load i64, ptr %68, align 8, !range !4, !noundef !10 %trunc301 = trunc i64 %552 to i1 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %.sroa.5760, ptr noundef nonnull align 8 dereferenceable(24) %246, i64 24, i1 false) + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %.sroa.5760, ptr noundef nonnull align 8 dereferenceable(24) %245, i64 24, i1 false) %.sroa.4792.0.copyload = load ptr, ptr %.sroa.4789.0..sroa_idx, align 8 %.sroa.5793.0.copyload = load i64, ptr %.sroa.5790.0..sroa_idx, align 8 call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %68) @@ -13217,14 +13217,14 @@ default.unreachable3.i458: ; preds = %_ZN18tree_sitter_lo to label %.noexc478 unwind label %.loopexit.split-lp .noexc478: ; preds = %556 - %557 = load i64, ptr %247, align 8, !range !26, !noalias !2625, !noundef !10 + %557 = load i64, ptr %246, align 8, !range !26, !noalias !2625, !noundef !10 %.not.i.i.i.i.i.i.i.i = icmp eq i64 %557, 0 br i1 %.not.i.i.i.i.i.i.i.i, label %"_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17h26eb43a31b673935E.exit.i.i.i.i", label %558 558: ; preds = %.noexc478 %559 = load ptr, ptr %43, align 8, !noalias !2625, !nonnull !10, !noundef !10 - %560 = load i64, ptr %248, align 8, !noalias !2625, !noundef !10 - invoke void @"_ZN63_$LT$alloc..alloc..Global$u20$as$u20$core..alloc..Allocator$GT$10deallocate17hae8e459b587c5295E.llvm.6766350830065688733"(ptr noalias noundef nonnull readonly align 1 %249, ptr noundef nonnull %559, i64 noundef %557, i64 noundef %560) + %560 = load i64, ptr %247, align 8, !noalias !2625, !noundef !10 + invoke void @"_ZN63_$LT$alloc..alloc..Global$u20$as$u20$core..alloc..Allocator$GT$10deallocate17hae8e459b587c5295E.llvm.6766350830065688733"(ptr noalias noundef nonnull readonly align 1 %248, ptr noundef nonnull %559, i64 noundef %557, i64 noundef %560) to label %"_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17h26eb43a31b673935E.exit.i.i.i.i" unwind label %.loopexit.split-lp "_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17h26eb43a31b673935E.exit.i.i.i.i": ; preds = %558, %.noexc478 @@ -13238,7 +13238,7 @@ default.unreachable3.i458: ; preds = %_ZN18tree_sitter_lo 561: ; preds = %551 call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %42), !noalias !2634 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %42, ptr noundef nonnull align 8 dereferenceable(24) %.sroa.5760, i64 24, i1 false) - store i64 0, ptr %250, align 8, !noalias !2638 + store i64 0, ptr %249, align 8, !noalias !2638 store ptr inttoptr (i64 8 to ptr), ptr %.sroa.4.0..sroa_idx.i476, align 8, !noalias !2638 store i64 0, ptr %.sroa.5.0..sroa_idx.i477, align 8, !noalias !2638 %562 = invoke noundef nonnull ptr @"_ZN9hashbrown3raw21RawTable$LT$T$C$A$GT$14insert_no_grow17ha2f9bb6b9d17344fE"(ptr noalias noundef nonnull align 8 dereferenceable(32) %.sroa.4792.0.copyload, i64 noundef %.sroa.5793.0.copyload, ptr noalias nocapture noundef nonnull align 8 dereferenceable(48) %42) @@ -13280,7 +13280,7 @@ default.unreachable3.i458: ; preds = %_ZN18tree_sitter_lo 576: ; preds = %._crit_edge.i469, %541 %577 = phi i64 [ %.pre.i470, %._crit_edge.i469 ], [ %542, %541 ] - %578 = load ptr, ptr %251, align 8, !alias.scope !2606, !noalias !2609, !nonnull !10, !noundef !10 + %578 = load ptr, ptr %250, align 8, !alias.scope !2606, !noalias !2609, !nonnull !10, !noundef !10 %579 = getelementptr inbounds { { { i64, ptr }, i64 }, { { { { { i64, ptr }, i64 } } } }, { { { i64, ptr }, i64 } }, { i64, [2 x i64] }, { i64, [2 x i64] }, { i64, [2 x i64] }, { i64, [2 x i64] }, { i64, [2 x i64] }, ptr, { ptr, [3 x i64] }, { ptr, [3 x i64] }, { ptr, [3 x i64] }, i64, { { { i64, [43 x i64] } } }, { { { i64, [34 x i64] } } }, i8, [7 x i8] }, ptr %578, i64 %577 call void @llvm.memmove.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(944) %579, ptr noundef nonnull align 8 dereferenceable(944) %86, i64 944, i1 false) %580 = load i64, ptr %124, align 8, !alias.scope !2606, !noalias !2609, !noundef !10 @@ -13298,19 +13298,19 @@ default.unreachable3.i458: ; preds = %_ZN18tree_sitter_lo to label %.noexc483 unwind label %.loopexit1039 .noexc483: ; preds = %583 - %584 = load i64, ptr %253, align 8, !range !26, !noalias !2642, !noundef !10 + %584 = load i64, ptr %252, align 8, !range !26, !noalias !2642, !noundef !10 %.not.i.i.i.i.i = icmp eq i64 %584, 0 br i1 %.not.i.i.i.i.i, label %589, label %585 585: ; preds = %.noexc483 %586 = load ptr, ptr %41, align 8, !noalias !2642, !nonnull !10, !noundef !10 - %587 = load i64, ptr %254, align 8, !noalias !2642, !noundef !10 + %587 = load i64, ptr %253, align 8, !noalias !2642, !noundef !10 invoke void @"_ZN63_$LT$alloc..alloc..Global$u20$as$u20$core..alloc..Allocator$GT$10deallocate17hae8e459b587c5295E.llvm.6766350830065688733"(ptr noalias noundef nonnull readonly align 1 %.sroa.5.0..sroa_idx, ptr noundef nonnull %586, i64 noundef %584, i64 noundef %587) to label %589 unwind label %.loopexit1039 588: ; preds = %576 store i64 1, ptr %1, align 8 - store i64 %580, ptr %252, align 8 + store i64 %580, ptr %251, align 8 br label %583 589: ; preds = %.noexc483, %585 @@ -13329,24 +13329,24 @@ default.unreachable3.i458: ; preds = %_ZN18tree_sitter_lo 593: ; preds = %"_ZN4core3ptr39drop_in_place$LT$std..path..PathBuf$GT$17h85ccbc018f035783E.exit493", %"_ZN4core3ptr34drop_in_place$LT$std..fs..File$GT$17h59698e4aa2616291E.exit486" call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %114) call void @llvm.experimental.noalias.scope.decl(metadata !2664) - %594 = load i64, ptr %202, align 8, !range !26, !alias.scope !2664, !noundef !10 + %594 = load i64, ptr %201, align 8, !range !26, !alias.scope !2664, !noundef !10 %595 = icmp eq i64 %594, -9223372036854775808 br i1 %595, label %"_ZN4core3ptr70drop_in_place$LT$core..option..Option$LT$alloc..string..String$GT$$GT$17h7ef7ae682ddfbe5aE.exit", label %596 596: ; preds = %593 call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %40), !noalias !2667 - invoke void @"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$14current_memory17h5107a898055359bfE.llvm.6766350830065688733"(ptr noalias nocapture noundef nonnull sret({ [1 x i64], i64, [1 x i64] }) align 8 dereferenceable(24) %40, ptr noalias noundef nonnull readonly align 8 dereferenceable(16) %202) + invoke void @"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$14current_memory17h5107a898055359bfE.llvm.6766350830065688733"(ptr noalias nocapture noundef nonnull sret({ [1 x i64], i64, [1 x i64] }) align 8 dereferenceable(24) %40, ptr noalias noundef nonnull readonly align 8 dereferenceable(16) %201) to label %.noexc488 unwind label %606 .noexc488: ; preds = %596 - %597 = load i64, ptr %257, align 8, !range !26, !noalias !2667, !noundef !10 + %597 = load i64, ptr %256, align 8, !range !26, !noalias !2667, !noundef !10 %.not.i.i.i.i.i487 = icmp eq i64 %597, 0 br i1 %.not.i.i.i.i.i487, label %"_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17h26eb43a31b673935E.exit.i", label %598 598: ; preds = %.noexc488 %599 = load ptr, ptr %40, align 8, !noalias !2667, !nonnull !10, !noundef !10 - %600 = load i64, ptr %258, align 8, !noalias !2667, !noundef !10 - invoke void @"_ZN63_$LT$alloc..alloc..Global$u20$as$u20$core..alloc..Allocator$GT$10deallocate17hae8e459b587c5295E.llvm.6766350830065688733"(ptr noalias noundef nonnull readonly align 1 %204, ptr noundef nonnull %599, i64 noundef %597, i64 noundef %600) + %600 = load i64, ptr %257, align 8, !noalias !2667, !noundef !10 + invoke void @"_ZN63_$LT$alloc..alloc..Global$u20$as$u20$core..alloc..Allocator$GT$10deallocate17hae8e459b587c5295E.llvm.6766350830065688733"(ptr noalias noundef nonnull readonly align 1 %203, ptr noundef nonnull %599, i64 noundef %597, i64 noundef %600) to label %"_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17h26eb43a31b673935E.exit.i" unwind label %606 "_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17h26eb43a31b673935E.exit.i": ; preds = %598, %.noexc488 @@ -13359,14 +13359,14 @@ default.unreachable3.i458: ; preds = %_ZN18tree_sitter_lo to label %.noexc491 unwind label %.loopexit1031 .noexc491: ; preds = %601 - %602 = load i64, ptr %255, align 8, !range !26, !noalias !2676, !noundef !10 + %602 = load i64, ptr %254, align 8, !range !26, !noalias !2676, !noundef !10 %.not.i.i.i.i.i.i490 = icmp eq i64 %602, 0 br i1 %.not.i.i.i.i.i.i490, label %"_ZN4core3ptr39drop_in_place$LT$std..path..PathBuf$GT$17h85ccbc018f035783E.exit493", label %603 603: ; preds = %.noexc491 %604 = load ptr, ptr %39, align 8, !noalias !2676, !nonnull !10, !noundef !10 - %605 = load i64, ptr %256, align 8, !noalias !2676, !noundef !10 - invoke void @"_ZN63_$LT$alloc..alloc..Global$u20$as$u20$core..alloc..Allocator$GT$10deallocate17hae8e459b587c5295E.llvm.6766350830065688733"(ptr noalias noundef nonnull readonly align 1 %167, ptr noundef nonnull %604, i64 noundef %602, i64 noundef %605) + %605 = load i64, ptr %255, align 8, !noalias !2676, !noundef !10 + invoke void @"_ZN63_$LT$alloc..alloc..Global$u20$as$u20$core..alloc..Allocator$GT$10deallocate17hae8e459b587c5295E.llvm.6766350830065688733"(ptr noalias noundef nonnull readonly align 1 %166, ptr noundef nonnull %604, i64 noundef %602, i64 noundef %605) to label %"_ZN4core3ptr39drop_in_place$LT$std..path..PathBuf$GT$17h85ccbc018f035783E.exit493" unwind label %.loopexit1031 "_ZN4core3ptr39drop_in_place$LT$std..path..PathBuf$GT$17h85ccbc018f035783E.exit493": ; preds = %603, %.noexc491 @@ -13376,29 +13376,29 @@ default.unreachable3.i458: ; preds = %_ZN18tree_sitter_lo 606: ; preds = %598, %596 %607 = landingpad { ptr, i32 } cleanup - invoke fastcc void @"_ZN4core3ptr70drop_in_place$LT$core..option..Option$LT$alloc..string..String$GT$$GT$17h7ef7ae682ddfbe5aE"(ptr noalias noundef nonnull align 8 dereferenceable(24) %205) #22 + invoke fastcc void @"_ZN4core3ptr70drop_in_place$LT$core..option..Option$LT$alloc..string..String$GT$$GT$17h7ef7ae682ddfbe5aE"(ptr noalias noundef nonnull align 8 dereferenceable(24) %204) #22 to label %615 unwind label %638 "_ZN4core3ptr70drop_in_place$LT$core..option..Option$LT$alloc..string..String$GT$$GT$17h7ef7ae682ddfbe5aE.exit": ; preds = %"_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17h26eb43a31b673935E.exit.i", %593 call void @llvm.experimental.noalias.scope.decl(metadata !2689) - %608 = load i64, ptr %205, align 8, !range !26, !alias.scope !2689, !noundef !10 + %608 = load i64, ptr %204, align 8, !range !26, !alias.scope !2689, !noundef !10 %609 = icmp eq i64 %608, -9223372036854775808 br i1 %609, label %"_ZN4core3ptr70drop_in_place$LT$core..option..Option$LT$alloc..string..String$GT$$GT$17h7ef7ae682ddfbe5aE.exit498", label %610 610: ; preds = %"_ZN4core3ptr70drop_in_place$LT$core..option..Option$LT$alloc..string..String$GT$$GT$17h7ef7ae682ddfbe5aE.exit" call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %38), !noalias !2692 - invoke void @"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$14current_memory17h5107a898055359bfE.llvm.6766350830065688733"(ptr noalias nocapture noundef nonnull sret({ [1 x i64], i64, [1 x i64] }) align 8 dereferenceable(24) %38, ptr noalias noundef nonnull readonly align 8 dereferenceable(16) %205) + invoke void @"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$14current_memory17h5107a898055359bfE.llvm.6766350830065688733"(ptr noalias nocapture noundef nonnull sret({ [1 x i64], i64, [1 x i64] }) align 8 dereferenceable(24) %38, ptr noalias noundef nonnull readonly align 8 dereferenceable(16) %204) to label %.noexc496 unwind label %616 .noexc496: ; preds = %610 - %611 = load i64, ptr %259, align 8, !range !26, !noalias !2692, !noundef !10 + %611 = load i64, ptr %258, align 8, !range !26, !noalias !2692, !noundef !10 %.not.i.i.i.i.i494 = icmp eq i64 %611, 0 br i1 %.not.i.i.i.i.i494, label %"_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17h26eb43a31b673935E.exit.i495", label %612 612: ; preds = %.noexc496 %613 = load ptr, ptr %38, align 8, !noalias !2692, !nonnull !10, !noundef !10 - %614 = load i64, ptr %260, align 8, !noalias !2692, !noundef !10 - invoke void @"_ZN63_$LT$alloc..alloc..Global$u20$as$u20$core..alloc..Allocator$GT$10deallocate17hae8e459b587c5295E.llvm.6766350830065688733"(ptr noalias noundef nonnull readonly align 1 %207, ptr noundef nonnull %613, i64 noundef %611, i64 noundef %614) + %614 = load i64, ptr %259, align 8, !noalias !2692, !noundef !10 + invoke void @"_ZN63_$LT$alloc..alloc..Global$u20$as$u20$core..alloc..Allocator$GT$10deallocate17hae8e459b587c5295E.llvm.6766350830065688733"(ptr noalias noundef nonnull readonly align 1 %206, ptr noundef nonnull %613, i64 noundef %611, i64 noundef %614) to label %"_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17h26eb43a31b673935E.exit.i495" unwind label %616 "_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17h26eb43a31b673935E.exit.i495": ; preds = %612, %.noexc496 @@ -13407,7 +13407,7 @@ default.unreachable3.i458: ; preds = %_ZN18tree_sitter_lo 615: ; preds = %616, %606 %.pn307 = phi { ptr, i32 } [ %617, %616 ], [ %607, %606 ] - invoke fastcc void @"_ZN4core3ptr70drop_in_place$LT$core..option..Option$LT$alloc..string..String$GT$$GT$17h7ef7ae682ddfbe5aE"(ptr noalias noundef nonnull align 8 dereferenceable(24) %208) #22 + invoke fastcc void @"_ZN4core3ptr70drop_in_place$LT$core..option..Option$LT$alloc..string..String$GT$$GT$17h7ef7ae682ddfbe5aE"(ptr noalias noundef nonnull align 8 dereferenceable(24) %207) #22 to label %625 unwind label %638 616: ; preds = %612, %610 @@ -13417,24 +13417,24 @@ default.unreachable3.i458: ; preds = %_ZN18tree_sitter_lo "_ZN4core3ptr70drop_in_place$LT$core..option..Option$LT$alloc..string..String$GT$$GT$17h7ef7ae682ddfbe5aE.exit498": ; preds = %"_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17h26eb43a31b673935E.exit.i495", %"_ZN4core3ptr70drop_in_place$LT$core..option..Option$LT$alloc..string..String$GT$$GT$17h7ef7ae682ddfbe5aE.exit" call void @llvm.experimental.noalias.scope.decl(metadata !2701) - %618 = load i64, ptr %208, align 8, !range !26, !alias.scope !2701, !noundef !10 + %618 = load i64, ptr %207, align 8, !range !26, !alias.scope !2701, !noundef !10 %619 = icmp eq i64 %618, -9223372036854775808 br i1 %619, label %"_ZN4core3ptr70drop_in_place$LT$core..option..Option$LT$alloc..string..String$GT$$GT$17h7ef7ae682ddfbe5aE.exit503", label %620 620: ; preds = %"_ZN4core3ptr70drop_in_place$LT$core..option..Option$LT$alloc..string..String$GT$$GT$17h7ef7ae682ddfbe5aE.exit498" call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %37), !noalias !2704 - invoke void @"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$14current_memory17h5107a898055359bfE.llvm.6766350830065688733"(ptr noalias nocapture noundef nonnull sret({ [1 x i64], i64, [1 x i64] }) align 8 dereferenceable(24) %37, ptr noalias noundef nonnull readonly align 8 dereferenceable(16) %208) + invoke void @"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$14current_memory17h5107a898055359bfE.llvm.6766350830065688733"(ptr noalias nocapture noundef nonnull sret({ [1 x i64], i64, [1 x i64] }) align 8 dereferenceable(24) %37, ptr noalias noundef nonnull readonly align 8 dereferenceable(16) %207) to label %.noexc501 unwind label %626 .noexc501: ; preds = %620 - %621 = load i64, ptr %261, align 8, !range !26, !noalias !2704, !noundef !10 + %621 = load i64, ptr %260, align 8, !range !26, !noalias !2704, !noundef !10 %.not.i.i.i.i.i499 = icmp eq i64 %621, 0 br i1 %.not.i.i.i.i.i499, label %"_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17h26eb43a31b673935E.exit.i500", label %622 622: ; preds = %.noexc501 %623 = load ptr, ptr %37, align 8, !noalias !2704, !nonnull !10, !noundef !10 - %624 = load i64, ptr %262, align 8, !noalias !2704, !noundef !10 - invoke void @"_ZN63_$LT$alloc..alloc..Global$u20$as$u20$core..alloc..Allocator$GT$10deallocate17hae8e459b587c5295E.llvm.6766350830065688733"(ptr noalias noundef nonnull readonly align 1 %210, ptr noundef nonnull %623, i64 noundef %621, i64 noundef %624) + %624 = load i64, ptr %261, align 8, !noalias !2704, !noundef !10 + invoke void @"_ZN63_$LT$alloc..alloc..Global$u20$as$u20$core..alloc..Allocator$GT$10deallocate17hae8e459b587c5295E.llvm.6766350830065688733"(ptr noalias noundef nonnull readonly align 1 %209, ptr noundef nonnull %623, i64 noundef %621, i64 noundef %624) to label %"_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17h26eb43a31b673935E.exit.i500" unwind label %626 "_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17h26eb43a31b673935E.exit.i500": ; preds = %622, %.noexc501 @@ -13443,7 +13443,7 @@ default.unreachable3.i458: ; preds = %_ZN18tree_sitter_lo 625: ; preds = %626, %615 %.pn309 = phi { ptr, i32 } [ %627, %626 ], [ %.pn307, %615 ] - invoke fastcc void @"_ZN4core3ptr96drop_in_place$LT$tree_sitter_loader..Loader..find_language_configurations_at_path..PathsJSON$GT$17hd99cd0db4a60d5bbE"(ptr noalias noundef nonnull align 8 dereferenceable(32) %191) #22 + invoke fastcc void @"_ZN4core3ptr96drop_in_place$LT$tree_sitter_loader..Loader..find_language_configurations_at_path..PathsJSON$GT$17hd99cd0db4a60d5bbE"(ptr noalias noundef nonnull align 8 dereferenceable(32) %190) #22 to label %265 unwind label %638 626: ; preds = %622, %620 @@ -13453,30 +13453,30 @@ default.unreachable3.i458: ; preds = %_ZN18tree_sitter_lo "_ZN4core3ptr70drop_in_place$LT$core..option..Option$LT$alloc..string..String$GT$$GT$17h7ef7ae682ddfbe5aE.exit503": ; preds = %"_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17h26eb43a31b673935E.exit.i500", %"_ZN4core3ptr70drop_in_place$LT$core..option..Option$LT$alloc..string..String$GT$$GT$17h7ef7ae682ddfbe5aE.exit498" call void @llvm.experimental.noalias.scope.decl(metadata !2713) - %628 = load i64, ptr %191, align 8, !range !280, !alias.scope !2713, !noundef !10 + %628 = load i64, ptr %190, align 8, !range !280, !alias.scope !2713, !noundef !10 switch i64 %628, label %629 [ i64 0, label %"_ZN4core3ptr96drop_in_place$LT$tree_sitter_loader..Loader..find_language_configurations_at_path..PathsJSON$GT$17hd99cd0db4a60d5bbE.exit" i64 1, label %630 ] 629: ; preds = %"_ZN4core3ptr70drop_in_place$LT$core..option..Option$LT$alloc..string..String$GT$$GT$17h7ef7ae682ddfbe5aE.exit503" - invoke void @"_ZN4core3ptr65drop_in_place$LT$alloc..vec..Vec$LT$alloc..string..String$GT$$GT$17h6a32d8b5c96f84daE"(ptr noalias noundef nonnull align 8 dereferenceable(24) %194) + invoke void @"_ZN4core3ptr65drop_in_place$LT$alloc..vec..Vec$LT$alloc..string..String$GT$$GT$17h6a32d8b5c96f84daE"(ptr noalias noundef nonnull align 8 dereferenceable(24) %193) to label %"_ZN4core3ptr96drop_in_place$LT$tree_sitter_loader..Loader..find_language_configurations_at_path..PathsJSON$GT$17hd99cd0db4a60d5bbE.exit" unwind label %.loopexit1058 630: ; preds = %"_ZN4core3ptr70drop_in_place$LT$core..option..Option$LT$alloc..string..String$GT$$GT$17h7ef7ae682ddfbe5aE.exit503" call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %36), !noalias !2716 - invoke void @"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$14current_memory17h5107a898055359bfE.llvm.6766350830065688733"(ptr noalias nocapture noundef nonnull sret({ [1 x i64], i64, [1 x i64] }) align 8 dereferenceable(24) %36, ptr noalias noundef nonnull readonly align 8 dereferenceable(16) %194) + invoke void @"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$14current_memory17h5107a898055359bfE.llvm.6766350830065688733"(ptr noalias nocapture noundef nonnull sret({ [1 x i64], i64, [1 x i64] }) align 8 dereferenceable(24) %36, ptr noalias noundef nonnull readonly align 8 dereferenceable(16) %193) to label %.noexc507 unwind label %.loopexit1058 .noexc507: ; preds = %630 - %631 = load i64, ptr %263, align 8, !range !26, !noalias !2716, !noundef !10 + %631 = load i64, ptr %262, align 8, !range !26, !noalias !2716, !noundef !10 %.not.i.i.i.i.i504 = icmp eq i64 %631, 0 br i1 %.not.i.i.i.i.i504, label %"_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17h26eb43a31b673935E.exit.i505", label %632 632: ; preds = %.noexc507 %633 = load ptr, ptr %36, align 8, !noalias !2716, !nonnull !10, !noundef !10 - %634 = load i64, ptr %264, align 8, !noalias !2716, !noundef !10 - invoke void @"_ZN63_$LT$alloc..alloc..Global$u20$as$u20$core..alloc..Allocator$GT$10deallocate17hae8e459b587c5295E.llvm.6766350830065688733"(ptr noalias noundef nonnull readonly align 1 %192, ptr noundef nonnull %633, i64 noundef %631, i64 noundef %634) + %634 = load i64, ptr %263, align 8, !noalias !2716, !noundef !10 + invoke void @"_ZN63_$LT$alloc..alloc..Global$u20$as$u20$core..alloc..Allocator$GT$10deallocate17hae8e459b587c5295E.llvm.6766350830065688733"(ptr noalias noundef nonnull readonly align 1 %191, ptr noundef nonnull %633, i64 noundef %631, i64 noundef %634) to label %"_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17h26eb43a31b673935E.exit.i505" unwind label %.loopexit1058 "_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17h26eb43a31b673935E.exit.i505": ; preds = %632, %.noexc507 @@ -13500,13 +13500,13 @@ default.unreachable3.i458: ; preds = %_ZN18tree_sitter_lo 640: ; preds = %.lr.ph call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %69) - invoke void @"_ZN9hashbrown11rustc_entry62_$LT$impl$u20$hashbrown..map..HashMap$LT$K$C$V$C$S$C$A$GT$$GT$11rustc_entry17h2224f4ddeb892a6bE"(ptr noalias nocapture noundef nonnull sret({ i64, [5 x i64] }) align 8 dereferenceable(48) %69, ptr noalias noundef nonnull align 8 dereferenceable(48) %233, ptr noalias nocapture noundef nonnull align 8 dereferenceable(24) %88) + invoke void @"_ZN9hashbrown11rustc_entry62_$LT$impl$u20$hashbrown..map..HashMap$LT$K$C$V$C$S$C$A$GT$$GT$11rustc_entry17h2224f4ddeb892a6bE"(ptr noalias nocapture noundef nonnull sret({ i64, [5 x i64] }) align 8 dereferenceable(48) %69, ptr noalias noundef nonnull align 8 dereferenceable(48) %232, ptr noalias nocapture noundef nonnull align 8 dereferenceable(24) %88) to label %641 unwind label %.loopexit 641: ; preds = %640 %642 = load i64, ptr %69, align 8, !range !4, !noundef !10 %trunc299 = trunc i64 %642 to i1 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %.sroa.5753, ptr noundef nonnull align 8 dereferenceable(24) %234, i64 24, i1 false) + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %.sroa.5753, ptr noundef nonnull align 8 dereferenceable(24) %233, i64 24, i1 false) %.sroa.4786.0.copyload = load ptr, ptr %.sroa.4783.0..sroa_idx, align 8 %.sroa.5787.0.copyload = load i64, ptr %.sroa.5784.0..sroa_idx, align 8 call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %69) @@ -13531,14 +13531,14 @@ default.unreachable3.i458: ; preds = %_ZN18tree_sitter_lo to label %.noexc521 unwind label %.loopexit .noexc521: ; preds = %646 - %647 = load i64, ptr %235, align 8, !range !26, !noalias !2740, !noundef !10 + %647 = load i64, ptr %234, align 8, !range !26, !noalias !2740, !noundef !10 %.not.i.i.i.i.i.i.i.i510 = icmp eq i64 %647, 0 br i1 %.not.i.i.i.i.i.i.i.i510, label %"_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17h26eb43a31b673935E.exit.i.i.i.i511", label %648 648: ; preds = %.noexc521 %649 = load ptr, ptr %34, align 8, !noalias !2740, !nonnull !10, !noundef !10 - %650 = load i64, ptr %236, align 8, !noalias !2740, !noundef !10 - invoke void @"_ZN63_$LT$alloc..alloc..Global$u20$as$u20$core..alloc..Allocator$GT$10deallocate17hae8e459b587c5295E.llvm.6766350830065688733"(ptr noalias noundef nonnull readonly align 1 %237, ptr noundef nonnull %649, i64 noundef %647, i64 noundef %650) + %650 = load i64, ptr %235, align 8, !noalias !2740, !noundef !10 + invoke void @"_ZN63_$LT$alloc..alloc..Global$u20$as$u20$core..alloc..Allocator$GT$10deallocate17hae8e459b587c5295E.llvm.6766350830065688733"(ptr noalias noundef nonnull readonly align 1 %236, ptr noundef nonnull %649, i64 noundef %647, i64 noundef %650) to label %"_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17h26eb43a31b673935E.exit.i.i.i.i511" unwind label %.loopexit "_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17h26eb43a31b673935E.exit.i.i.i.i511": ; preds = %648, %.noexc521 @@ -13552,7 +13552,7 @@ default.unreachable3.i458: ; preds = %_ZN18tree_sitter_lo 651: ; preds = %641 call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %33), !noalias !2749 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %33, ptr noundef nonnull align 8 dereferenceable(24) %.sroa.5753, i64 24, i1 false) - store i64 0, ptr %238, align 8, !noalias !2753 + store i64 0, ptr %237, align 8, !noalias !2753 store ptr inttoptr (i64 8 to ptr), ptr %.sroa.4.0..sroa_idx.i519, align 8, !noalias !2753 store i64 0, ptr %.sroa.5.0..sroa_idx.i520, align 8, !noalias !2753 %652 = invoke noundef nonnull ptr @"_ZN9hashbrown3raw21RawTable$LT$T$C$A$GT$14insert_no_grow17ha2f9bb6b9d17344fE"(ptr noalias noundef nonnull align 8 dereferenceable(32) %.sroa.4786.0.copyload, i64 noundef %.sroa.5787.0.copyload, ptr noalias nocapture noundef nonnull align 8 dereferenceable(48) %33) @@ -13700,13 +13700,13 @@ default.unreachable3.i458: ; preds = %_ZN18tree_sitter_lo 692: ; preds = %"_ZN4core3ptr39drop_in_place$LT$std..path..PathBuf$GT$17h85ccbc018f035783E.exit547", %"_ZN4core3ptr34drop_in_place$LT$std..fs..File$GT$17h59698e4aa2616291E.exit538" call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %114) call void @llvm.experimental.noalias.scope.decl(metadata !2792) - %693 = load i64, ptr %198, align 8, !range !26, !alias.scope !2792, !noundef !10 + %693 = load i64, ptr %197, align 8, !range !26, !alias.scope !2792, !noundef !10 %694 = icmp eq i64 %693, -9223372036854775808 br i1 %694, label %"_ZN4core3ptr70drop_in_place$LT$core..option..Option$LT$alloc..string..String$GT$$GT$17h7ef7ae682ddfbe5aE.exit543", label %695 695: ; preds = %692 call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %30), !noalias !2795 - invoke void @"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$14current_memory17h5107a898055359bfE.llvm.6766350830065688733"(ptr noalias nocapture noundef nonnull sret({ [1 x i64], i64, [1 x i64] }) align 8 dereferenceable(24) %30, ptr noalias noundef nonnull readonly align 8 dereferenceable(16) %198) + invoke void @"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$14current_memory17h5107a898055359bfE.llvm.6766350830065688733"(ptr noalias nocapture noundef nonnull sret({ [1 x i64], i64, [1 x i64] }) align 8 dereferenceable(24) %30, ptr noalias noundef nonnull readonly align 8 dereferenceable(16) %197) to label %.noexc541 unwind label %710 .noexc541: ; preds = %695 @@ -13742,7 +13742,7 @@ default.unreachable3.i458: ; preds = %_ZN18tree_sitter_lo %707 = load ptr, ptr %29, align 8, !noalias !2804, !nonnull !10, !noundef !10 %708 = getelementptr inbounds i8, ptr %29, i64 16 %709 = load i64, ptr %708, align 8, !noalias !2804, !noundef !10 - invoke void @"_ZN63_$LT$alloc..alloc..Global$u20$as$u20$core..alloc..Allocator$GT$10deallocate17hae8e459b587c5295E.llvm.6766350830065688733"(ptr noalias noundef nonnull readonly align 1 %167, ptr noundef nonnull %707, i64 noundef %705, i64 noundef %709) + invoke void @"_ZN63_$LT$alloc..alloc..Global$u20$as$u20$core..alloc..Allocator$GT$10deallocate17hae8e459b587c5295E.llvm.6766350830065688733"(ptr noalias noundef nonnull readonly align 1 %166, ptr noundef nonnull %707, i64 noundef %705, i64 noundef %709) to label %"_ZN4core3ptr39drop_in_place$LT$std..path..PathBuf$GT$17h85ccbc018f035783E.exit547" unwind label %.body.thread1440 "_ZN4core3ptr39drop_in_place$LT$std..path..PathBuf$GT$17h85ccbc018f035783E.exit547": ; preds = %706, %.noexc545 @@ -13752,26 +13752,26 @@ default.unreachable3.i458: ; preds = %_ZN18tree_sitter_lo 710: ; preds = %698, %695 %711 = landingpad { ptr, i32 } cleanup - %712 = load i64, ptr %199, align 8, !range !26, !alias.scope !2817, !noundef !10 + %712 = load i64, ptr %198, align 8, !range !26, !alias.scope !2817, !noundef !10 %713 = icmp eq i64 %712, -9223372036854775808 br i1 %713, label %"_ZN4core3ptr93drop_in_place$LT$core..option..Option$LT$alloc..vec..Vec$LT$alloc..string..String$GT$$GT$$GT$17h1cfc1ac8e7ce9e86E.exit549", label %714 714: ; preds = %710 - invoke void @"_ZN4core3ptr65drop_in_place$LT$alloc..vec..Vec$LT$alloc..string..String$GT$$GT$17h6a32d8b5c96f84daE"(ptr noalias noundef nonnull align 8 dereferenceable(24) %199) + invoke void @"_ZN4core3ptr65drop_in_place$LT$alloc..vec..Vec$LT$alloc..string..String$GT$$GT$17h6a32d8b5c96f84daE"(ptr noalias noundef nonnull align 8 dereferenceable(24) %198) to label %"_ZN4core3ptr93drop_in_place$LT$core..option..Option$LT$alloc..vec..Vec$LT$alloc..string..String$GT$$GT$$GT$17h1cfc1ac8e7ce9e86E.exit549" unwind label %638 "_ZN4core3ptr70drop_in_place$LT$core..option..Option$LT$alloc..string..String$GT$$GT$17h7ef7ae682ddfbe5aE.exit543": ; preds = %"_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17h26eb43a31b673935E.exit.i540", %692 - %715 = load i64, ptr %199, align 8, !range !26, !alias.scope !2820, !noundef !10 + %715 = load i64, ptr %198, align 8, !range !26, !alias.scope !2820, !noundef !10 %716 = icmp eq i64 %715, -9223372036854775808 br i1 %716, label %"_ZN4core3ptr93drop_in_place$LT$core..option..Option$LT$alloc..vec..Vec$LT$alloc..string..String$GT$$GT$$GT$17h1cfc1ac8e7ce9e86E.exit551", label %717 717: ; preds = %"_ZN4core3ptr70drop_in_place$LT$core..option..Option$LT$alloc..string..String$GT$$GT$17h7ef7ae682ddfbe5aE.exit543" - invoke void @"_ZN4core3ptr65drop_in_place$LT$alloc..vec..Vec$LT$alloc..string..String$GT$$GT$17h6a32d8b5c96f84daE"(ptr noalias noundef nonnull align 8 dereferenceable(24) %199) + invoke void @"_ZN4core3ptr65drop_in_place$LT$alloc..vec..Vec$LT$alloc..string..String$GT$$GT$17h6a32d8b5c96f84daE"(ptr noalias noundef nonnull align 8 dereferenceable(24) %198) to label %"_ZN4core3ptr93drop_in_place$LT$core..option..Option$LT$alloc..vec..Vec$LT$alloc..string..String$GT$$GT$$GT$17h1cfc1ac8e7ce9e86E.exit551" unwind label %718 "_ZN4core3ptr93drop_in_place$LT$core..option..Option$LT$alloc..vec..Vec$LT$alloc..string..String$GT$$GT$$GT$17h1cfc1ac8e7ce9e86E.exit549": ; preds = %710, %714, %718 %.pn316 = phi { ptr, i32 } [ %719, %718 ], [ %711, %714 ], [ %711, %710 ] - invoke fastcc void @"_ZN4core3ptr70drop_in_place$LT$core..option..Option$LT$alloc..string..String$GT$$GT$17h7ef7ae682ddfbe5aE"(ptr noalias noundef nonnull align 8 dereferenceable(24) %202) #22 + invoke fastcc void @"_ZN4core3ptr70drop_in_place$LT$core..option..Option$LT$alloc..string..String$GT$$GT$17h7ef7ae682ddfbe5aE"(ptr noalias noundef nonnull align 8 dereferenceable(24) %201) #22 to label %729 unwind label %638 718: ; preds = %717 @@ -13781,13 +13781,13 @@ default.unreachable3.i458: ; preds = %_ZN18tree_sitter_lo "_ZN4core3ptr93drop_in_place$LT$core..option..Option$LT$alloc..vec..Vec$LT$alloc..string..String$GT$$GT$$GT$17h1cfc1ac8e7ce9e86E.exit551": ; preds = %"_ZN4core3ptr70drop_in_place$LT$core..option..Option$LT$alloc..string..String$GT$$GT$17h7ef7ae682ddfbe5aE.exit543", %717 call void @llvm.experimental.noalias.scope.decl(metadata !2823) - %720 = load i64, ptr %202, align 8, !range !26, !alias.scope !2823, !noundef !10 + %720 = load i64, ptr %201, align 8, !range !26, !alias.scope !2823, !noundef !10 %721 = icmp eq i64 %720, -9223372036854775808 br i1 %721, label %"_ZN4core3ptr70drop_in_place$LT$core..option..Option$LT$alloc..string..String$GT$$GT$17h7ef7ae682ddfbe5aE.exit556", label %722 722: ; preds = %"_ZN4core3ptr93drop_in_place$LT$core..option..Option$LT$alloc..vec..Vec$LT$alloc..string..String$GT$$GT$$GT$17h1cfc1ac8e7ce9e86E.exit551" call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %28), !noalias !2826 - invoke void @"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$14current_memory17h5107a898055359bfE.llvm.6766350830065688733"(ptr noalias nocapture noundef nonnull sret({ [1 x i64], i64, [1 x i64] }) align 8 dereferenceable(24) %28, ptr noalias noundef nonnull readonly align 8 dereferenceable(16) %202) + invoke void @"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$14current_memory17h5107a898055359bfE.llvm.6766350830065688733"(ptr noalias nocapture noundef nonnull sret({ [1 x i64], i64, [1 x i64] }) align 8 dereferenceable(24) %28, ptr noalias noundef nonnull readonly align 8 dereferenceable(16) %201) to label %.noexc554 unwind label %730 .noexc554: ; preds = %722 @@ -13800,7 +13800,7 @@ default.unreachable3.i458: ; preds = %_ZN18tree_sitter_lo %726 = load ptr, ptr %28, align 8, !noalias !2826, !nonnull !10, !noundef !10 %727 = getelementptr inbounds i8, ptr %28, i64 16 %728 = load i64, ptr %727, align 8, !noalias !2826, !noundef !10 - invoke void @"_ZN63_$LT$alloc..alloc..Global$u20$as$u20$core..alloc..Allocator$GT$10deallocate17hae8e459b587c5295E.llvm.6766350830065688733"(ptr noalias noundef nonnull readonly align 1 %204, ptr noundef nonnull %726, i64 noundef %724, i64 noundef %728) + invoke void @"_ZN63_$LT$alloc..alloc..Global$u20$as$u20$core..alloc..Allocator$GT$10deallocate17hae8e459b587c5295E.llvm.6766350830065688733"(ptr noalias noundef nonnull readonly align 1 %203, ptr noundef nonnull %726, i64 noundef %724, i64 noundef %728) to label %"_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17h26eb43a31b673935E.exit.i553" unwind label %730 "_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17h26eb43a31b673935E.exit.i553": ; preds = %725, %.noexc554 @@ -13809,7 +13809,7 @@ default.unreachable3.i458: ; preds = %_ZN18tree_sitter_lo 729: ; preds = %730, %"_ZN4core3ptr93drop_in_place$LT$core..option..Option$LT$alloc..vec..Vec$LT$alloc..string..String$GT$$GT$$GT$17h1cfc1ac8e7ce9e86E.exit549" %.pn318 = phi { ptr, i32 } [ %731, %730 ], [ %.pn316, %"_ZN4core3ptr93drop_in_place$LT$core..option..Option$LT$alloc..vec..Vec$LT$alloc..string..String$GT$$GT$$GT$17h1cfc1ac8e7ce9e86E.exit549" ] - invoke fastcc void @"_ZN4core3ptr70drop_in_place$LT$core..option..Option$LT$alloc..string..String$GT$$GT$17h7ef7ae682ddfbe5aE"(ptr noalias noundef nonnull align 8 dereferenceable(24) %205) #22 + invoke fastcc void @"_ZN4core3ptr70drop_in_place$LT$core..option..Option$LT$alloc..string..String$GT$$GT$17h7ef7ae682ddfbe5aE"(ptr noalias noundef nonnull align 8 dereferenceable(24) %204) #22 to label %741 unwind label %638 730: ; preds = %725, %722 @@ -13819,13 +13819,13 @@ default.unreachable3.i458: ; preds = %_ZN18tree_sitter_lo "_ZN4core3ptr70drop_in_place$LT$core..option..Option$LT$alloc..string..String$GT$$GT$17h7ef7ae682ddfbe5aE.exit556": ; preds = %"_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17h26eb43a31b673935E.exit.i553", %"_ZN4core3ptr93drop_in_place$LT$core..option..Option$LT$alloc..vec..Vec$LT$alloc..string..String$GT$$GT$$GT$17h1cfc1ac8e7ce9e86E.exit551" call void @llvm.experimental.noalias.scope.decl(metadata !2835) - %732 = load i64, ptr %205, align 8, !range !26, !alias.scope !2835, !noundef !10 + %732 = load i64, ptr %204, align 8, !range !26, !alias.scope !2835, !noundef !10 %733 = icmp eq i64 %732, -9223372036854775808 br i1 %733, label %"_ZN4core3ptr70drop_in_place$LT$core..option..Option$LT$alloc..string..String$GT$$GT$17h7ef7ae682ddfbe5aE.exit561", label %734 734: ; preds = %"_ZN4core3ptr70drop_in_place$LT$core..option..Option$LT$alloc..string..String$GT$$GT$17h7ef7ae682ddfbe5aE.exit556" call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %27), !noalias !2838 - invoke void @"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$14current_memory17h5107a898055359bfE.llvm.6766350830065688733"(ptr noalias nocapture noundef nonnull sret({ [1 x i64], i64, [1 x i64] }) align 8 dereferenceable(24) %27, ptr noalias noundef nonnull readonly align 8 dereferenceable(16) %205) + invoke void @"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$14current_memory17h5107a898055359bfE.llvm.6766350830065688733"(ptr noalias nocapture noundef nonnull sret({ [1 x i64], i64, [1 x i64] }) align 8 dereferenceable(24) %27, ptr noalias noundef nonnull readonly align 8 dereferenceable(16) %204) to label %.noexc559 unwind label %742 .noexc559: ; preds = %734 @@ -13838,7 +13838,7 @@ default.unreachable3.i458: ; preds = %_ZN18tree_sitter_lo %738 = load ptr, ptr %27, align 8, !noalias !2838, !nonnull !10, !noundef !10 %739 = getelementptr inbounds i8, ptr %27, i64 16 %740 = load i64, ptr %739, align 8, !noalias !2838, !noundef !10 - invoke void @"_ZN63_$LT$alloc..alloc..Global$u20$as$u20$core..alloc..Allocator$GT$10deallocate17hae8e459b587c5295E.llvm.6766350830065688733"(ptr noalias noundef nonnull readonly align 1 %207, ptr noundef nonnull %738, i64 noundef %736, i64 noundef %740) + invoke void @"_ZN63_$LT$alloc..alloc..Global$u20$as$u20$core..alloc..Allocator$GT$10deallocate17hae8e459b587c5295E.llvm.6766350830065688733"(ptr noalias noundef nonnull readonly align 1 %206, ptr noundef nonnull %738, i64 noundef %736, i64 noundef %740) to label %"_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17h26eb43a31b673935E.exit.i558" unwind label %742 "_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17h26eb43a31b673935E.exit.i558": ; preds = %737, %.noexc559 @@ -13847,7 +13847,7 @@ default.unreachable3.i458: ; preds = %_ZN18tree_sitter_lo 741: ; preds = %742, %729 %.pn320 = phi { ptr, i32 } [ %743, %742 ], [ %.pn318, %729 ] - invoke fastcc void @"_ZN4core3ptr70drop_in_place$LT$core..option..Option$LT$alloc..string..String$GT$$GT$17h7ef7ae682ddfbe5aE"(ptr noalias noundef nonnull align 8 dereferenceable(24) %208) #22 + invoke fastcc void @"_ZN4core3ptr70drop_in_place$LT$core..option..Option$LT$alloc..string..String$GT$$GT$17h7ef7ae682ddfbe5aE"(ptr noalias noundef nonnull align 8 dereferenceable(24) %207) #22 to label %753 unwind label %638 742: ; preds = %737, %734 @@ -13857,13 +13857,13 @@ default.unreachable3.i458: ; preds = %_ZN18tree_sitter_lo "_ZN4core3ptr70drop_in_place$LT$core..option..Option$LT$alloc..string..String$GT$$GT$17h7ef7ae682ddfbe5aE.exit561": ; preds = %"_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17h26eb43a31b673935E.exit.i558", %"_ZN4core3ptr70drop_in_place$LT$core..option..Option$LT$alloc..string..String$GT$$GT$17h7ef7ae682ddfbe5aE.exit556" call void @llvm.experimental.noalias.scope.decl(metadata !2847) - %744 = load i64, ptr %208, align 8, !range !26, !alias.scope !2847, !noundef !10 + %744 = load i64, ptr %207, align 8, !range !26, !alias.scope !2847, !noundef !10 %745 = icmp eq i64 %744, -9223372036854775808 br i1 %745, label %"_ZN4core3ptr70drop_in_place$LT$core..option..Option$LT$alloc..string..String$GT$$GT$17h7ef7ae682ddfbe5aE.exit566", label %746 746: ; preds = %"_ZN4core3ptr70drop_in_place$LT$core..option..Option$LT$alloc..string..String$GT$$GT$17h7ef7ae682ddfbe5aE.exit561" call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %26), !noalias !2850 - invoke void @"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$14current_memory17h5107a898055359bfE.llvm.6766350830065688733"(ptr noalias nocapture noundef nonnull sret({ [1 x i64], i64, [1 x i64] }) align 8 dereferenceable(24) %26, ptr noalias noundef nonnull readonly align 8 dereferenceable(16) %208) + invoke void @"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$14current_memory17h5107a898055359bfE.llvm.6766350830065688733"(ptr noalias nocapture noundef nonnull sret({ [1 x i64], i64, [1 x i64] }) align 8 dereferenceable(24) %26, ptr noalias noundef nonnull readonly align 8 dereferenceable(16) %207) to label %.noexc564 unwind label %754 .noexc564: ; preds = %746 @@ -13876,7 +13876,7 @@ default.unreachable3.i458: ; preds = %_ZN18tree_sitter_lo %750 = load ptr, ptr %26, align 8, !noalias !2850, !nonnull !10, !noundef !10 %751 = getelementptr inbounds i8, ptr %26, i64 16 %752 = load i64, ptr %751, align 8, !noalias !2850, !noundef !10 - invoke void @"_ZN63_$LT$alloc..alloc..Global$u20$as$u20$core..alloc..Allocator$GT$10deallocate17hae8e459b587c5295E.llvm.6766350830065688733"(ptr noalias noundef nonnull readonly align 1 %210, ptr noundef nonnull %750, i64 noundef %748, i64 noundef %752) + invoke void @"_ZN63_$LT$alloc..alloc..Global$u20$as$u20$core..alloc..Allocator$GT$10deallocate17hae8e459b587c5295E.llvm.6766350830065688733"(ptr noalias noundef nonnull readonly align 1 %209, ptr noundef nonnull %750, i64 noundef %748, i64 noundef %752) to label %"_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17h26eb43a31b673935E.exit.i563" unwind label %754 "_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17h26eb43a31b673935E.exit.i563": ; preds = %749, %.noexc564 @@ -13929,7 +13929,7 @@ default.unreachable3.i458: ; preds = %_ZN18tree_sitter_lo 765: ; preds = %766, %753 %.pn324 = phi { ptr, i32 } [ %767, %766 ], [ %.pn322, %753 ] - invoke fastcc void @"_ZN4core3ptr96drop_in_place$LT$tree_sitter_loader..Loader..find_language_configurations_at_path..PathsJSON$GT$17hd99cd0db4a60d5bbE"(ptr noalias noundef nonnull align 8 dereferenceable(32) %211) #22 + invoke fastcc void @"_ZN4core3ptr96drop_in_place$LT$tree_sitter_loader..Loader..find_language_configurations_at_path..PathsJSON$GT$17hd99cd0db4a60d5bbE"(ptr noalias noundef nonnull align 8 dereferenceable(32) %210) #22 to label %778 unwind label %638 766: ; preds = %761, %758, %757 @@ -13939,7 +13939,7 @@ default.unreachable3.i458: ; preds = %_ZN18tree_sitter_lo "_ZN4core3ptr96drop_in_place$LT$tree_sitter_loader..Loader..find_language_configurations_at_path..PathsJSON$GT$17hd99cd0db4a60d5bbE.exit572": ; preds = %"_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17h26eb43a31b673935E.exit.i568", %"_ZN4core3ptr70drop_in_place$LT$core..option..Option$LT$alloc..string..String$GT$$GT$17h7ef7ae682ddfbe5aE.exit566", %757 call void @llvm.experimental.noalias.scope.decl(metadata !2871) - %768 = load i64, ptr %211, align 8, !range !280, !alias.scope !2871, !noundef !10 + %768 = load i64, ptr %210, align 8, !range !280, !alias.scope !2871, !noundef !10 switch i64 %768, label %769 [ i64 0, label %"_ZN4core3ptr96drop_in_place$LT$tree_sitter_loader..Loader..find_language_configurations_at_path..PathsJSON$GT$17hd99cd0db4a60d5bbE.exit578" i64 1, label %770 @@ -13974,7 +13974,7 @@ default.unreachable3.i458: ; preds = %_ZN18tree_sitter_lo 778: ; preds = %779, %765 %.pn326 = phi { ptr, i32 } [ %780, %779 ], [ %.pn324, %765 ] - invoke fastcc void @"_ZN4core3ptr96drop_in_place$LT$tree_sitter_loader..Loader..find_language_configurations_at_path..PathsJSON$GT$17hd99cd0db4a60d5bbE"(ptr noalias noundef nonnull align 8 dereferenceable(32) %212) #22 + invoke fastcc void @"_ZN4core3ptr96drop_in_place$LT$tree_sitter_loader..Loader..find_language_configurations_at_path..PathsJSON$GT$17hd99cd0db4a60d5bbE"(ptr noalias noundef nonnull align 8 dereferenceable(32) %211) #22 to label %791 unwind label %638 779: ; preds = %773, %770, %769 @@ -13984,7 +13984,7 @@ default.unreachable3.i458: ; preds = %_ZN18tree_sitter_lo "_ZN4core3ptr96drop_in_place$LT$tree_sitter_loader..Loader..find_language_configurations_at_path..PathsJSON$GT$17hd99cd0db4a60d5bbE.exit578": ; preds = %"_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17h26eb43a31b673935E.exit.i574", %"_ZN4core3ptr96drop_in_place$LT$tree_sitter_loader..Loader..find_language_configurations_at_path..PathsJSON$GT$17hd99cd0db4a60d5bbE.exit572", %769 call void @llvm.experimental.noalias.scope.decl(metadata !2883) - %781 = load i64, ptr %212, align 8, !range !280, !alias.scope !2883, !noundef !10 + %781 = load i64, ptr %211, align 8, !range !280, !alias.scope !2883, !noundef !10 switch i64 %781, label %782 [ i64 0, label %"_ZN4core3ptr96drop_in_place$LT$tree_sitter_loader..Loader..find_language_configurations_at_path..PathsJSON$GT$17hd99cd0db4a60d5bbE.exit584" i64 1, label %783 @@ -14019,7 +14019,7 @@ default.unreachable3.i458: ; preds = %_ZN18tree_sitter_lo 791: ; preds = %792, %778 %.pn328 = phi { ptr, i32 } [ %793, %792 ], [ %.pn326, %778 ] - invoke fastcc void @"_ZN4core3ptr96drop_in_place$LT$tree_sitter_loader..Loader..find_language_configurations_at_path..PathsJSON$GT$17hd99cd0db4a60d5bbE"(ptr noalias noundef nonnull align 8 dereferenceable(32) %213) #22 + invoke fastcc void @"_ZN4core3ptr96drop_in_place$LT$tree_sitter_loader..Loader..find_language_configurations_at_path..PathsJSON$GT$17hd99cd0db4a60d5bbE"(ptr noalias noundef nonnull align 8 dereferenceable(32) %212) #22 to label %804 unwind label %638 792: ; preds = %786, %783, %782 @@ -14029,7 +14029,7 @@ default.unreachable3.i458: ; preds = %_ZN18tree_sitter_lo "_ZN4core3ptr96drop_in_place$LT$tree_sitter_loader..Loader..find_language_configurations_at_path..PathsJSON$GT$17hd99cd0db4a60d5bbE.exit584": ; preds = %"_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17h26eb43a31b673935E.exit.i580", %"_ZN4core3ptr96drop_in_place$LT$tree_sitter_loader..Loader..find_language_configurations_at_path..PathsJSON$GT$17hd99cd0db4a60d5bbE.exit578", %782 call void @llvm.experimental.noalias.scope.decl(metadata !2895) - %794 = load i64, ptr %213, align 8, !range !280, !alias.scope !2895, !noundef !10 + %794 = load i64, ptr %212, align 8, !range !280, !alias.scope !2895, !noundef !10 switch i64 %794, label %795 [ i64 0, label %"_ZN4core3ptr96drop_in_place$LT$tree_sitter_loader..Loader..find_language_configurations_at_path..PathsJSON$GT$17hd99cd0db4a60d5bbE.exit590" i64 1, label %796 @@ -14064,7 +14064,7 @@ default.unreachable3.i458: ; preds = %_ZN18tree_sitter_lo 804: ; preds = %805, %791 %.pn330 = phi { ptr, i32 } [ %806, %805 ], [ %.pn328, %791 ] - invoke fastcc void @"_ZN4core3ptr96drop_in_place$LT$tree_sitter_loader..Loader..find_language_configurations_at_path..PathsJSON$GT$17hd99cd0db4a60d5bbE"(ptr noalias noundef nonnull align 8 dereferenceable(32) %191) #22 + invoke fastcc void @"_ZN4core3ptr96drop_in_place$LT$tree_sitter_loader..Loader..find_language_configurations_at_path..PathsJSON$GT$17hd99cd0db4a60d5bbE"(ptr noalias noundef nonnull align 8 dereferenceable(32) %190) #22 to label %265 unwind label %638 805: ; preds = %799, %796, %795 @@ -14074,19 +14074,19 @@ default.unreachable3.i458: ; preds = %_ZN18tree_sitter_lo "_ZN4core3ptr96drop_in_place$LT$tree_sitter_loader..Loader..find_language_configurations_at_path..PathsJSON$GT$17hd99cd0db4a60d5bbE.exit590": ; preds = %"_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17h26eb43a31b673935E.exit.i586", %"_ZN4core3ptr96drop_in_place$LT$tree_sitter_loader..Loader..find_language_configurations_at_path..PathsJSON$GT$17hd99cd0db4a60d5bbE.exit584", %795 call void @llvm.experimental.noalias.scope.decl(metadata !2907) - %807 = load i64, ptr %191, align 8, !range !280, !alias.scope !2907, !noundef !10 + %807 = load i64, ptr %190, align 8, !range !280, !alias.scope !2907, !noundef !10 switch i64 %807, label %808 [ i64 0, label %"_ZN4core3ptr96drop_in_place$LT$tree_sitter_loader..Loader..find_language_configurations_at_path..PathsJSON$GT$17hd99cd0db4a60d5bbE.exit596" i64 1, label %809 ] 808: ; preds = %"_ZN4core3ptr96drop_in_place$LT$tree_sitter_loader..Loader..find_language_configurations_at_path..PathsJSON$GT$17hd99cd0db4a60d5bbE.exit590" - invoke void @"_ZN4core3ptr65drop_in_place$LT$alloc..vec..Vec$LT$alloc..string..String$GT$$GT$17h6a32d8b5c96f84daE"(ptr noalias noundef nonnull align 8 dereferenceable(24) %194) + invoke void @"_ZN4core3ptr65drop_in_place$LT$alloc..vec..Vec$LT$alloc..string..String$GT$$GT$17h6a32d8b5c96f84daE"(ptr noalias noundef nonnull align 8 dereferenceable(24) %193) to label %"_ZN4core3ptr96drop_in_place$LT$tree_sitter_loader..Loader..find_language_configurations_at_path..PathsJSON$GT$17hd99cd0db4a60d5bbE.exit596" unwind label %.loopexit.split-lp1059 809: ; preds = %"_ZN4core3ptr96drop_in_place$LT$tree_sitter_loader..Loader..find_language_configurations_at_path..PathsJSON$GT$17hd99cd0db4a60d5bbE.exit590" call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %21), !noalias !2910 - invoke void @"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$14current_memory17h5107a898055359bfE.llvm.6766350830065688733"(ptr noalias nocapture noundef nonnull sret({ [1 x i64], i64, [1 x i64] }) align 8 dereferenceable(24) %21, ptr noalias noundef nonnull readonly align 8 dereferenceable(16) %194) + invoke void @"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$14current_memory17h5107a898055359bfE.llvm.6766350830065688733"(ptr noalias nocapture noundef nonnull sret({ [1 x i64], i64, [1 x i64] }) align 8 dereferenceable(24) %21, ptr noalias noundef nonnull readonly align 8 dereferenceable(16) %193) to label %.noexc594 unwind label %.loopexit.split-lp1059 .noexc594: ; preds = %809 @@ -14099,7 +14099,7 @@ default.unreachable3.i458: ; preds = %_ZN18tree_sitter_lo %813 = load ptr, ptr %21, align 8, !noalias !2910, !nonnull !10, !noundef !10 %814 = getelementptr inbounds i8, ptr %21, i64 16 %815 = load i64, ptr %814, align 8, !noalias !2910, !noundef !10 - invoke void @"_ZN63_$LT$alloc..alloc..Global$u20$as$u20$core..alloc..Allocator$GT$10deallocate17hae8e459b587c5295E.llvm.6766350830065688733"(ptr noalias noundef nonnull readonly align 1 %192, ptr noundef nonnull %813, i64 noundef %811, i64 noundef %815) + invoke void @"_ZN63_$LT$alloc..alloc..Global$u20$as$u20$core..alloc..Allocator$GT$10deallocate17hae8e459b587c5295E.llvm.6766350830065688733"(ptr noalias noundef nonnull readonly align 1 %191, ptr noundef nonnull %813, i64 noundef %811, i64 noundef %815) to label %"_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17h26eb43a31b673935E.exit.i592" unwind label %.loopexit.split-lp1059 "_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17h26eb43a31b673935E.exit.i592": ; preds = %812, %.noexc594 @@ -14210,7 +14210,7 @@ default.unreachable3.i458: ; preds = %_ZN18tree_sitter_lo %.02251013 = phi i8 [ %.0225, %.body ], [ 1, %274 ], [ 1, %.body.thread1440 ] %.02381011 = phi i8 [ %.0238, %.body ], [ 1, %274 ], [ 1, %.body.thread1440 ] %.02521009 = phi i8 [ %.0252, %.body ], [ 1, %274 ], [ 1, %.body.thread1440 ] - invoke fastcc void @"_ZN4core3ptr70drop_in_place$LT$core..option..Option$LT$alloc..string..String$GT$$GT$17h7ef7ae682ddfbe5aE"(ptr noalias noundef nonnull align 8 dereferenceable(24) %198) #22 + invoke fastcc void @"_ZN4core3ptr70drop_in_place$LT$core..option..Option$LT$alloc..string..String$GT$$GT$17h7ef7ae682ddfbe5aE"(ptr noalias noundef nonnull align 8 dereferenceable(24) %197) #22 to label %.thread976 unwind label %638 "_ZN4core3ptr93drop_in_place$LT$core..option..Option$LT$alloc..vec..Vec$LT$alloc..string..String$GT$$GT$$GT$17h1cfc1ac8e7ce9e86E.exit608": ; preds = %.thread976, %841, %.body @@ -14219,24 +14219,24 @@ default.unreachable3.i458: ; preds = %_ZN18tree_sitter_lo %.02251012 = phi i8 [ %.02251013, %.thread976 ], [ %.02251013, %841 ], [ %.0225, %.body ] %.02381010 = phi i8 [ %.02381011, %.thread976 ], [ %.02381011, %841 ], [ %.0238, %.body ] %.02521008 = phi i8 [ %.02521009, %.thread976 ], [ %.02521009, %841 ], [ %.0252, %.body ] - invoke fastcc void @"_ZN4core3ptr70drop_in_place$LT$core..option..Option$LT$alloc..string..String$GT$$GT$17h7ef7ae682ddfbe5aE"(ptr noalias noundef nonnull align 8 dereferenceable(24) %202) #22 + invoke fastcc void @"_ZN4core3ptr70drop_in_place$LT$core..option..Option$LT$alloc..string..String$GT$$GT$17h7ef7ae682ddfbe5aE"(ptr noalias noundef nonnull align 8 dereferenceable(24) %201) #22 to label %842 unwind label %638 .thread976: ; preds = %.body.thread - %839 = load i64, ptr %199, align 8, !range !26, !alias.scope !2944, !noundef !10 + %839 = load i64, ptr %198, align 8, !range !26, !alias.scope !2944, !noundef !10 %840 = icmp eq i64 %839, -9223372036854775808 br i1 %840, label %"_ZN4core3ptr93drop_in_place$LT$core..option..Option$LT$alloc..vec..Vec$LT$alloc..string..String$GT$$GT$$GT$17h1cfc1ac8e7ce9e86E.exit608", label %841 841: ; preds = %.thread976 - invoke void @"_ZN4core3ptr65drop_in_place$LT$alloc..vec..Vec$LT$alloc..string..String$GT$$GT$17h6a32d8b5c96f84daE"(ptr noalias noundef nonnull align 8 dereferenceable(24) %199) + invoke void @"_ZN4core3ptr65drop_in_place$LT$alloc..vec..Vec$LT$alloc..string..String$GT$$GT$17h6a32d8b5c96f84daE"(ptr noalias noundef nonnull align 8 dereferenceable(24) %198) to label %"_ZN4core3ptr93drop_in_place$LT$core..option..Option$LT$alloc..vec..Vec$LT$alloc..string..String$GT$$GT$$GT$17h1cfc1ac8e7ce9e86E.exit608" unwind label %638 842: ; preds = %"_ZN4core3ptr93drop_in_place$LT$core..option..Option$LT$alloc..vec..Vec$LT$alloc..string..String$GT$$GT$$GT$17h1cfc1ac8e7ce9e86E.exit608" - invoke fastcc void @"_ZN4core3ptr70drop_in_place$LT$core..option..Option$LT$alloc..string..String$GT$$GT$17h7ef7ae682ddfbe5aE"(ptr noalias noundef nonnull align 8 dereferenceable(24) %205) #22 + invoke fastcc void @"_ZN4core3ptr70drop_in_place$LT$core..option..Option$LT$alloc..string..String$GT$$GT$17h7ef7ae682ddfbe5aE"(ptr noalias noundef nonnull align 8 dereferenceable(24) %204) #22 to label %843 unwind label %638 843: ; preds = %842 - invoke fastcc void @"_ZN4core3ptr70drop_in_place$LT$core..option..Option$LT$alloc..string..String$GT$$GT$17h7ef7ae682ddfbe5aE"(ptr noalias noundef nonnull align 8 dereferenceable(24) %208) #22 + invoke fastcc void @"_ZN4core3ptr70drop_in_place$LT$core..option..Option$LT$alloc..string..String$GT$$GT$17h7ef7ae682ddfbe5aE"(ptr noalias noundef nonnull align 8 dereferenceable(24) %207) #22 to label %844 unwind label %638 844: ; preds = %843 @@ -14256,7 +14256,7 @@ default.unreachable3.i458: ; preds = %_ZN18tree_sitter_lo br i1 %850, label %854, label %852 851: ; preds = %846 - invoke fastcc void @"_ZN4core3ptr96drop_in_place$LT$tree_sitter_loader..Loader..find_language_configurations_at_path..PathsJSON$GT$17hd99cd0db4a60d5bbE"(ptr noalias noundef nonnull align 8 dereferenceable(32) %211) #22 + invoke fastcc void @"_ZN4core3ptr96drop_in_place$LT$tree_sitter_loader..Loader..find_language_configurations_at_path..PathsJSON$GT$17hd99cd0db4a60d5bbE"(ptr noalias noundef nonnull align 8 dereferenceable(32) %210) #22 to label %849 unwind label %638 852: ; preds = %854, %849 @@ -14264,15 +14264,15 @@ default.unreachable3.i458: ; preds = %_ZN18tree_sitter_lo br i1 %853, label %856, label %855 854: ; preds = %849 - invoke fastcc void @"_ZN4core3ptr96drop_in_place$LT$tree_sitter_loader..Loader..find_language_configurations_at_path..PathsJSON$GT$17hd99cd0db4a60d5bbE"(ptr noalias noundef nonnull align 8 dereferenceable(32) %212) #22 + invoke fastcc void @"_ZN4core3ptr96drop_in_place$LT$tree_sitter_loader..Loader..find_language_configurations_at_path..PathsJSON$GT$17hd99cd0db4a60d5bbE"(ptr noalias noundef nonnull align 8 dereferenceable(32) %211) #22 to label %852 unwind label %638 855: ; preds = %856, %852 - invoke fastcc void @"_ZN4core3ptr96drop_in_place$LT$tree_sitter_loader..Loader..find_language_configurations_at_path..PathsJSON$GT$17hd99cd0db4a60d5bbE"(ptr noalias noundef nonnull align 8 dereferenceable(32) %191) #22 + invoke fastcc void @"_ZN4core3ptr96drop_in_place$LT$tree_sitter_loader..Loader..find_language_configurations_at_path..PathsJSON$GT$17hd99cd0db4a60d5bbE"(ptr noalias noundef nonnull align 8 dereferenceable(32) %190) #22 to label %265 unwind label %638 856: ; preds = %852 - invoke fastcc void @"_ZN4core3ptr96drop_in_place$LT$tree_sitter_loader..Loader..find_language_configurations_at_path..PathsJSON$GT$17hd99cd0db4a60d5bbE"(ptr noalias noundef nonnull align 8 dereferenceable(32) %213) #22 + invoke fastcc void @"_ZN4core3ptr96drop_in_place$LT$tree_sitter_loader..Loader..find_language_configurations_at_path..PathsJSON$GT$17hd99cd0db4a60d5bbE"(ptr noalias noundef nonnull align 8 dereferenceable(32) %212) #22 to label %855 unwind label %638 "_ZN4core3ptr151drop_in_place$LT$alloc..vec..into_iter..IntoIter$LT$tree_sitter_loader..Loader..find_language_configurations_at_path..LanguageConfigurationJSON$GT$$GT$17h61ccbbc8b1a248abE.exit": ; preds = %265, %153 diff --git a/bench/typst-rs/optimized/1aflftgqyuracvze.ll b/bench/typst-rs/optimized/1aflftgqyuracvze.ll index 1b28ce95dfa..3d31c6536b4 100644 --- a/bench/typst-rs/optimized/1aflftgqyuracvze.ll +++ b/bench/typst-rs/optimized/1aflftgqyuracvze.ll @@ -1460,7 +1460,7 @@ define hidden noundef nonnull align 8 dereferenceable(8) ptr @"_ZN5alloc11collec %5 = alloca { ptr, { ptr, [2 x i64] }, { [3 x i8], i8 }, {}, {}, [4 x i8] }, align 8 %6 = load ptr, ptr %0, align 8, !noundef !12 %7 = icmp eq ptr %6, null - br i1 %7, label %34, label %8 + br i1 %7, label %35, label %8 8: ; preds = %2 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %5, ptr noundef nonnull align 8 dereferenceable(40) %0, i64 40, i1 false) @@ -1500,39 +1500,40 @@ define hidden noundef nonnull align 8 dereferenceable(8) ptr @"_ZN5alloc11collec br label %"_ZN5alloc11collections5btree3map5entry28VacantEntry$LT$K$C$V$C$A$GT$6insert17h1a290da1d6037624E.llvm.14530723680166322716.exit" 23: ; preds = %8 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %4, ptr noundef nonnull align 8 dereferenceable(24) %9, i64 24, i1 false) - %24 = getelementptr inbounds i8, ptr %5, i64 32 - %.sroa.07.0.copyload.i = load i32, ptr %24, align 8, !alias.scope !377 + %24 = getelementptr inbounds i8, ptr %0, i64 8 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %4, ptr noundef nonnull align 8 dereferenceable(24) %24, i64 24, i1 false) + %25 = getelementptr inbounds i8, ptr %5, i64 32 + %.sroa.07.0.copyload.i = load i32, ptr %25, align 8, !alias.scope !377 call void @"_ZN5alloc11collections5btree4node210Handle$LT$alloc..collections..btree..node..NodeRef$LT$alloc..collections..btree..node..marker..Mut$C$K$C$V$C$alloc..collections..btree..node..marker..Leaf$GT$$C$alloc..collections..btree..node..marker..Edge$GT$16insert_recursing17hf30c7fa5dc51126eE"(ptr noalias nocapture noundef nonnull sret({ { ptr, i64, {} }, i64, {} }) align 8 dereferenceable(24) %3, ptr noalias nocapture noundef nonnull align 8 dereferenceable(24) %4, i32 %.sroa.07.0.copyload.i, i64 noundef %1, ptr noalias noundef nonnull align 8 dereferenceable(8) %5) - %25 = load ptr, ptr %3, align 8, !alias.scope !384, !noalias !377, !nonnull !12, !noundef !12 - %26 = getelementptr inbounds i8, ptr %25, i64 8 - %27 = getelementptr inbounds i8, ptr %3, i64 16 - %28 = load i64, ptr %27, align 8, !alias.scope !384, !noalias !377, !noundef !12 - %29 = getelementptr inbounds i64, ptr %26, i64 %28 - %30 = load ptr, ptr %5, align 8, !alias.scope !377, !nonnull !12, !noundef !12 - %31 = getelementptr inbounds i8, ptr %30, i64 16 - %32 = load i64, ptr %31, align 8, !noundef !12 - %33 = add i64 %32, 1 - store i64 %33, ptr %31, align 8 + %26 = load ptr, ptr %3, align 8, !alias.scope !384, !noalias !377, !nonnull !12, !noundef !12 + %27 = getelementptr inbounds i8, ptr %26, i64 8 + %28 = getelementptr inbounds i8, ptr %3, i64 16 + %29 = load i64, ptr %28, align 8, !alias.scope !384, !noalias !377, !noundef !12 + %30 = getelementptr inbounds i64, ptr %27, i64 %29 + %31 = load ptr, ptr %5, align 8, !alias.scope !377, !nonnull !12, !noundef !12 + %32 = getelementptr inbounds i8, ptr %31, i64 16 + %33 = load i64, ptr %32, align 8, !noundef !12 + %34 = add i64 %33, 1 + store i64 %34, ptr %32, align 8 br label %"_ZN5alloc11collections5btree3map5entry28VacantEntry$LT$K$C$V$C$A$GT$6insert17h1a290da1d6037624E.llvm.14530723680166322716.exit" "_ZN5alloc11collections5btree3map5entry28VacantEntry$LT$K$C$V$C$A$GT$6insert17h1a290da1d6037624E.llvm.14530723680166322716.exit": ; preds = %"_ZN5alloc11collections5btree4node115NodeRef$LT$alloc..collections..btree..node..marker..Mut$C$K$C$V$C$alloc..collections..btree..node..marker..Leaf$GT$16push_with_handle17hf71d3d61e94c026dE.exit.i", %23 - %.0.i = phi ptr [ %20, %"_ZN5alloc11collections5btree4node115NodeRef$LT$alloc..collections..btree..node..marker..Mut$C$K$C$V$C$alloc..collections..btree..node..marker..Leaf$GT$16push_with_handle17hf71d3d61e94c026dE.exit.i" ], [ %29, %23 ] + %.0.i = phi ptr [ %20, %"_ZN5alloc11collections5btree4node115NodeRef$LT$alloc..collections..btree..node..marker..Mut$C$K$C$V$C$alloc..collections..btree..node..marker..Leaf$GT$16push_with_handle17hf71d3d61e94c026dE.exit.i" ], [ %30, %23 ] call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %3) call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %4) - br label %38 + br label %39 -34: ; preds = %2 - %35 = getelementptr inbounds i8, ptr %0, i64 8 - %.sroa.0.0.copyload = load ptr, ptr %35, align 8, !nonnull !12, !noundef !12 +35: ; preds = %2 + %36 = getelementptr inbounds i8, ptr %0, i64 8 + %.sroa.0.0.copyload = load ptr, ptr %36, align 8, !nonnull !12, !noundef !12 %.sroa.21.0..sroa_idx = getelementptr inbounds i8, ptr %0, i64 24 %.sroa.21.0.copyload = load i64, ptr %.sroa.21.0..sroa_idx, align 8 - %36 = getelementptr inbounds i8, ptr %.sroa.0.0.copyload, i64 8 - %37 = getelementptr inbounds i64, ptr %36, i64 %.sroa.21.0.copyload - br label %38 + %37 = getelementptr inbounds i8, ptr %.sroa.0.0.copyload, i64 8 + %38 = getelementptr inbounds i64, ptr %37, i64 %.sroa.21.0.copyload + br label %39 -38: ; preds = %34, %"_ZN5alloc11collections5btree3map5entry28VacantEntry$LT$K$C$V$C$A$GT$6insert17h1a290da1d6037624E.llvm.14530723680166322716.exit" - %.0 = phi ptr [ %37, %34 ], [ %.0.i, %"_ZN5alloc11collections5btree3map5entry28VacantEntry$LT$K$C$V$C$A$GT$6insert17h1a290da1d6037624E.llvm.14530723680166322716.exit" ] +39: ; preds = %35, %"_ZN5alloc11collections5btree3map5entry28VacantEntry$LT$K$C$V$C$A$GT$6insert17h1a290da1d6037624E.llvm.14530723680166322716.exit" + %.0 = phi ptr [ %38, %35 ], [ %.0.i, %"_ZN5alloc11collections5btree3map5entry28VacantEntry$LT$K$C$V$C$A$GT$6insert17h1a290da1d6037624E.llvm.14530723680166322716.exit" ] ret ptr %.0 } diff --git a/bench/typst-rs/optimized/1c2qpu6zljc8gscz.ll b/bench/typst-rs/optimized/1c2qpu6zljc8gscz.ll index 904eba771f8..88870e4d6cc 100644 --- a/bench/typst-rs/optimized/1c2qpu6zljc8gscz.ll +++ b/bench/typst-rs/optimized/1c2qpu6zljc8gscz.ll @@ -6345,27 +6345,23 @@ define hidden void @_ZN5typst9visualize5color5Color8mix_iter17h89063ffd43e30f80E %21 = alloca { i32, [4 x i32] }, align 4 %22 = alloca [4 x float], align 4 %23 = alloca [4 x float], align 8 - %.sroa.7 = alloca [16 x i8], align 4 - %.sroa.10 = alloca [16 x i8], align 4 + %.sroa.7 = alloca [20 x i8], align 4 + %.sroa.9 = alloca [20 x i8], align 4 %24 = alloca i8, align 1 store i8 %2, ptr %24, align 1 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %.sroa.7) - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %.sroa.10) + call void @llvm.lifetime.start.p0(i64 20, ptr nonnull %.sroa.7) + call void @llvm.lifetime.start.p0(i64 20, ptr nonnull %.sroa.9) %.sroa.0.0.copyload213 = load double, ptr %1, align 8, !alias.scope !1599 %.sroa.6.0..sroa_idx214 = getelementptr inbounds i8, ptr %1, i64 8 %.sroa.6.0.copyload215 = load i32, ptr %.sroa.6.0..sroa_idx214, align 8, !alias.scope !1599 - %.sroa.7.0..sroa_idx217 = getelementptr inbounds i8, ptr %1, i64 12 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(16) %.sroa.7, ptr noundef nonnull align 4 dereferenceable(16) %.sroa.7.0..sroa_idx217, i64 16, i1 false), !alias.scope !1599 - %.sroa.8.0..sroa_idx219 = getelementptr inbounds i8, ptr %1, i64 28 - %.sroa.8.0.copyload220 = load i32, ptr %.sroa.8.0..sroa_idx219, align 4, !alias.scope !1599 - %.sroa.8221.0..sroa_idx222 = getelementptr inbounds i8, ptr %1, i64 32 - %.sroa.8221.0.copyload223 = load double, ptr %.sroa.8221.0..sroa_idx222, align 8, !alias.scope !1599 - %.sroa.9.0..sroa_idx224 = getelementptr inbounds i8, ptr %1, i64 40 - %.sroa.9.0.copyload225 = load i32, ptr %.sroa.9.0..sroa_idx224, align 8, !alias.scope !1599 - %.sroa.10.0..sroa_idx226 = getelementptr inbounds i8, ptr %1, i64 44 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(16) %.sroa.10, ptr noundef nonnull align 4 dereferenceable(16) %.sroa.10.0..sroa_idx226, i64 16, i1 false), !alias.scope !1599 - %.sroa.11.0..sroa_idx228 = getelementptr inbounds i8, ptr %1, i64 60 - %.sroa.11.0.copyload229 = load i32, ptr %.sroa.11.0..sroa_idx228, align 4, !alias.scope !1599 + %.sroa.7.0..sroa_idx216 = getelementptr inbounds i8, ptr %1, i64 12 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(20) %.sroa.7, ptr noundef nonnull align 4 dereferenceable(20) %.sroa.7.0..sroa_idx216, i64 20, i1 false), !alias.scope !1599 + %.sroa.7217.0..sroa_idx218 = getelementptr inbounds i8, ptr %1, i64 32 + %.sroa.7217.0.copyload219 = load double, ptr %.sroa.7217.0..sroa_idx218, align 8, !alias.scope !1599 + %.sroa.8.0..sroa_idx221 = getelementptr inbounds i8, ptr %1, i64 40 + %.sroa.8.0.copyload222 = load i32, ptr %.sroa.8.0..sroa_idx221, align 8, !alias.scope !1599 + %.sroa.9.0..sroa_idx223 = getelementptr inbounds i8, ptr %1, i64 44 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(20) %.sroa.9, ptr noundef nonnull align 4 dereferenceable(20) %.sroa.9.0..sroa_idx223, i64 20, i1 false), !alias.scope !1599 %25 = call { i64, i64 } @_ZN5typst9visualize5color10ColorSpace9hue_index17hbda59c9cf9e03f85E(ptr noalias noundef nonnull readonly align 1 dereferenceable(1) %24) %26 = call { i64, i64 } @_ZN5typst9visualize5color10ColorSpace9hue_index17hbda59c9cf9e03f85E(ptr noalias noundef nonnull readonly align 1 dereferenceable(1) %24) %27 = extractvalue { i64, i64 } %26, 0 @@ -6377,13 +6373,13 @@ define hidden void @_ZN5typst9visualize5color5Color8mix_iter17h89063ffd43e30f80E %29 = icmp eq i32 %.sroa.6.0.copyload215, 8 br i1 %29, label %32, label %"_ZN99_$LT$core..array..iter..IntoIter$LT$T$C$_$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17hfefa7d32a5ea238cE.exit120" -30: ; preds = %174, %89 +30: ; preds = %176, %91 %31 = landingpad { ptr, i32 } filter [0 x ptr] zeroinitializer call void @_ZN4core9panicking16panic_in_cleanup17h76c6e1c84248d3ffE() #35 unreachable -default.unreachable207: ; preds = %73 +default.unreachable207: ; preds = %75 unreachable 32: ; preds = %.preheader173.preheader @@ -6391,39 +6387,41 @@ default.unreachable207: ; preds = %73 unreachable "_ZN99_$LT$core..array..iter..IntoIter$LT$T$C$_$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17hfefa7d32a5ea238cE.exit120": ; preds = %.preheader173.preheader + %33 = getelementptr inbounds i8, ptr %1, i64 12 store i32 %.sroa.6.0.copyload215, ptr %8, align 4 %.sroa.7.8..sroa_idx = getelementptr inbounds i8, ptr %8, i64 4 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(16) %.sroa.7.8..sroa_idx, ptr noundef nonnull align 4 dereferenceable(16) %.sroa.7, i64 16, i1 false) - %33 = icmp eq i32 %.sroa.9.0.copyload225, 8 - br i1 %33, label %"_ZN99_$LT$core..array..iter..IntoIter$LT$T$C$_$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17hfefa7d32a5ea238cE.exit120.thread", label %34 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(16) %.sroa.7.8..sroa_idx, ptr noundef nonnull align 4 dereferenceable(16) %33, i64 16, i1 false) + %34 = icmp eq i32 %.sroa.8.0.copyload222, 8 + br i1 %34, label %"_ZN99_$LT$core..array..iter..IntoIter$LT$T$C$_$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17hfefa7d32a5ea238cE.exit120.thread", label %35 "_ZN99_$LT$core..array..iter..IntoIter$LT$T$C$_$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17hfefa7d32a5ea238cE.exit120.thread": ; preds = %"_ZN99_$LT$core..array..iter..IntoIter$LT$T$C$_$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17hfefa7d32a5ea238cE.exit120" call void @_ZN4core6option13unwrap_failed17hac39b9b7507453f8E(ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.d1a7c8d6b3d8d21cbf4feff1b00b8d83.112) #33 unreachable -34: ; preds = %"_ZN99_$LT$core..array..iter..IntoIter$LT$T$C$_$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17hfefa7d32a5ea238cE.exit120" - store i32 %.sroa.9.0.copyload225, ptr %7, align 4 +35: ; preds = %"_ZN99_$LT$core..array..iter..IntoIter$LT$T$C$_$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17hfefa7d32a5ea238cE.exit120" + %36 = getelementptr inbounds i8, ptr %1, i64 44 + store i32 %.sroa.8.0.copyload222, ptr %7, align 4 %.sroa.7136.8..sroa_idx = getelementptr inbounds i8, ptr %7, i64 4 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(16) %.sroa.7136.8..sroa_idx, ptr noundef nonnull align 4 dereferenceable(16) %.sroa.10, i64 16, i1 false) + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(16) %.sroa.7136.8..sroa_idx, ptr noundef nonnull align 4 dereferenceable(16) %36, i64 16, i1 false) call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %22) call void @llvm.lifetime.start.p0(i64 20, ptr nonnull %21) - %35 = load i8, ptr %24, align 1, !range !1603, !noundef !13 - call void @_ZN5typst9visualize5color5Color8to_space17hc7c43a0ee73de2acE(ptr noalias nocapture noundef nonnull sret({ i32, [4 x i32] }) align 4 dereferenceable(20) %21, ptr noalias nocapture noundef nonnull align 4 dereferenceable(20) %8, i8 noundef %35) + %37 = load i8, ptr %24, align 1, !range !1603, !noundef !13 + call void @_ZN5typst9visualize5color5Color8to_space17hc7c43a0ee73de2acE(ptr noalias nocapture noundef nonnull sret({ i32, [4 x i32] }) align 4 dereferenceable(20) %21, ptr noalias nocapture noundef nonnull align 4 dereferenceable(20) %8, i8 noundef %37) call void @_ZN5typst9visualize5color5Color7to_vec417h99168599ebc2d1f4E(ptr noalias nocapture noundef nonnull sret([4 x float]) align 4 dereferenceable(16) %22, ptr noalias noundef nonnull readonly align 4 dereferenceable(20) %21) call void @llvm.lifetime.end.p0(i64 20, ptr nonnull %21) call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %20) call void @llvm.lifetime.start.p0(i64 20, ptr nonnull %19) - %36 = load i8, ptr %24, align 1, !range !1603, !noundef !13 - call void @_ZN5typst9visualize5color5Color8to_space17hc7c43a0ee73de2acE(ptr noalias nocapture noundef nonnull sret({ i32, [4 x i32] }) align 4 dereferenceable(20) %19, ptr noalias nocapture noundef nonnull align 4 dereferenceable(20) %7, i8 noundef %36) + %38 = load i8, ptr %24, align 1, !range !1603, !noundef !13 + call void @_ZN5typst9visualize5color5Color8to_space17hc7c43a0ee73de2acE(ptr noalias nocapture noundef nonnull sret({ i32, [4 x i32] }) align 4 dereferenceable(20) %19, ptr noalias nocapture noundef nonnull align 4 dereferenceable(20) %7, i8 noundef %38) call void @_ZN5typst9visualize5color5Color7to_vec417h99168599ebc2d1f4E(ptr noalias nocapture noundef nonnull sret([4 x float]) align 4 dereferenceable(16) %20, ptr noalias noundef nonnull readonly align 4 dereferenceable(20) %19) call void @llvm.lifetime.end.p0(i64 20, ptr nonnull %19) - %37 = fptrunc double %.sroa.0.0.copyload213 to float - %38 = fptrunc double %.sroa.8221.0.copyload223 to float - %39 = fadd float %37, %38 - %40 = fcmp ugt float %39, 0.000000e+00 - br i1 %40, label %.preheader, label %41 + %39 = fptrunc double %.sroa.0.0.copyload213 to float + %40 = fptrunc double %.sroa.7217.0.copyload219 to float + %41 = fadd float %39, %40 + %42 = fcmp ugt float %41, 0.000000e+00 + br i1 %42, label %.preheader, label %43 -41: ; preds = %34 +43: ; preds = %35 call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %.sroa.04) call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %18) call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(15) %18, i8 0, i64 15, i1 false) @@ -6431,111 +6429,111 @@ default.unreachable207: ; preds = %73 store i8 -128, ptr %.sroa.068.sroa.4.0..sroa_idx, align 1 call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %17) store ptr @anon.d1a7c8d6b3d8d21cbf4feff1b00b8d83.126, ptr %17, align 8 - %42 = getelementptr inbounds i8, ptr %17, i64 8 - store i64 1, ptr %42, align 8 - %43 = getelementptr inbounds i8, ptr %17, i64 32 - store ptr null, ptr %43, align 8 - %44 = getelementptr inbounds i8, ptr %17, i64 16 - store ptr @anon.d1a7c8d6b3d8d21cbf4feff1b00b8d83.80, ptr %44, align 8 - %45 = getelementptr inbounds i8, ptr %17, i64 24 - store i64 0, ptr %45, align 8 - %46 = invoke noundef zeroext i1 @_ZN4core3fmt5write17h4311bce0ee536615E(ptr noundef nonnull align 1 %18, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.d1a7c8d6b3d8d21cbf4feff1b00b8d83.108, ptr noalias nocapture noundef nonnull align 8 dereferenceable(48) %17) - to label %90 unwind label %85 - -47: ; preds = %.preheader - %48 = call { i64, i64 } @_ZN5typst9visualize5color10ColorSpace9hue_index17hbda59c9cf9e03f85E(ptr noalias noundef nonnull readonly align 1 dereferenceable(1) %24) - %49 = extractvalue { i64, i64 } %48, 0 - %50 = extractvalue { i64, i64 } %48, 1 - %51 = icmp eq i64 %49, 1 - br i1 %51, label %52, label %54 - -52: ; preds = %47 - %53 = icmp ult i64 %50, 4 - br i1 %53, label %55, label %63, !prof !40 - -54: ; preds = %64, %55, %47 + %44 = getelementptr inbounds i8, ptr %17, i64 8 + store i64 1, ptr %44, align 8 + %45 = getelementptr inbounds i8, ptr %17, i64 32 + store ptr null, ptr %45, align 8 + %46 = getelementptr inbounds i8, ptr %17, i64 16 + store ptr @anon.d1a7c8d6b3d8d21cbf4feff1b00b8d83.80, ptr %46, align 8 + %47 = getelementptr inbounds i8, ptr %17, i64 24 + store i64 0, ptr %47, align 8 + %48 = invoke noundef zeroext i1 @_ZN4core3fmt5write17h4311bce0ee536615E(ptr noundef nonnull align 1 %18, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.d1a7c8d6b3d8d21cbf4feff1b00b8d83.108, ptr noalias nocapture noundef nonnull align 8 dereferenceable(48) %17) + to label %92 unwind label %87 + +49: ; preds = %.preheader + %50 = call { i64, i64 } @_ZN5typst9visualize5color10ColorSpace9hue_index17hbda59c9cf9e03f85E(ptr noalias noundef nonnull readonly align 1 dereferenceable(1) %24) + %51 = extractvalue { i64, i64 } %50, 0 + %52 = extractvalue { i64, i64 } %50, 1 + %53 = icmp eq i64 %51, 1 + br i1 %53, label %54, label %56 + +54: ; preds = %49 + %55 = icmp ult i64 %52, 4 + br i1 %55, label %57, label %65, !prof !40 + +56: ; preds = %66, %57, %49 call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %20) call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %22) - br label %73 + br label %75 -55: ; preds = %52 - %56 = getelementptr inbounds [4 x float], ptr %22, i64 0, i64 %50 - %57 = load float, ptr %56, align 4, !noundef !13 - %58 = getelementptr inbounds [4 x float], ptr %20, i64 0, i64 %50 +57: ; preds = %54 + %58 = getelementptr inbounds [4 x float], ptr %22, i64 0, i64 %52 %59 = load float, ptr %58, align 4, !noundef !13 - %60 = fsub float %57, %59 - %61 = call float @llvm.fabs.f32(float %60) - %62 = fcmp ogt float %61, 1.800000e+02 - br i1 %62, label %64, label %54 - -63: ; preds = %52 - call void @_ZN4core9panicking18panic_bounds_check17he5254f424ac3a4c4E(i64 noundef %50, i64 noundef 4, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.d1a7c8d6b3d8d21cbf4feff1b00b8d83.113) #33 + %60 = getelementptr inbounds [4 x float], ptr %20, i64 0, i64 %52 + %61 = load float, ptr %60, align 4, !noundef !13 + %62 = fsub float %59, %61 + %63 = call float @llvm.fabs.f32(float %62) + %64 = fcmp ogt float %63, 1.800000e+02 + br i1 %64, label %66, label %56 + +65: ; preds = %54 + call void @_ZN4core9panicking18panic_bounds_check17he5254f424ac3a4c4E(i64 noundef %52, i64 noundef 4, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.d1a7c8d6b3d8d21cbf4feff1b00b8d83.113) #33 unreachable -64: ; preds = %55 - %65 = fcmp olt float %57, %59 - %66 = fadd float %57, 3.600000e+02 - %67 = fadd float %59, 3.600000e+02 - %.097 = select i1 %65, float %66, float %57 - %.0 = select i1 %65, float %59, float %67 - %68 = fmul float %.097, %37 - %69 = fmul float %.0, %38 - %70 = fadd float %68, %69 - %71 = getelementptr inbounds [4 x float], ptr %23, i64 0, i64 %50 - %72 = fdiv float %70, %39 - store float %72, ptr %71, align 4 - br label %54 - -73: ; preds = %111, %54 - %74 = load i8, ptr %24, align 1, !range !1603, !noundef !13 - switch i8 %74, label %default.unreachable207 [ - i8 0, label %119 - i8 1, label %151 - i8 2, label %125 - i8 3, label %131 - i8 4, label %133 - i8 5, label %157 - i8 6, label %163 - i8 7, label %139 +66: ; preds = %57 + %67 = fcmp olt float %59, %61 + %68 = fadd float %59, 3.600000e+02 + %69 = fadd float %61, 3.600000e+02 + %.097 = select i1 %67, float %68, float %59 + %.0 = select i1 %67, float %61, float %69 + %70 = fmul float %.097, %39 + %71 = fmul float %.0, %40 + %72 = fadd float %70, %71 + %73 = getelementptr inbounds [4 x float], ptr %23, i64 0, i64 %52 + %74 = fdiv float %72, %41 + store float %74, ptr %73, align 4 + br label %56 + +75: ; preds = %113, %56 + %76 = load i8, ptr %24, align 1, !range !1603, !noundef !13 + switch i8 %76, label %default.unreachable207 [ + i8 0, label %121 + i8 1, label %153 + i8 2, label %127 + i8 3, label %133 + i8 4, label %135 + i8 5, label %159 + i8 6, label %165 + i8 7, label %141 ] -.preheader: ; preds = %34, %.preheader - %.sroa.05.0188 = phi i64 [ %75, %.preheader ], [ 0, %34 ] - %75 = add nuw nsw i64 %.sroa.05.0188, 1 - %76 = getelementptr inbounds [4 x float], ptr %22, i64 0, i64 %.sroa.05.0188 - %77 = load float, ptr %76, align 4, !noundef !13 - %78 = fmul float %77, %37 - %79 = getelementptr inbounds [4 x float], ptr %20, i64 0, i64 %.sroa.05.0188 - %80 = load float, ptr %79, align 4, !noundef !13 - %81 = fmul float %80, %38 - %82 = fadd float %78, %81 - %83 = getelementptr inbounds [4 x float], ptr %23, i64 0, i64 %.sroa.05.0188 - %84 = fdiv float %82, %39 - store float %84, ptr %83, align 4 - %exitcond.not = icmp eq i64 %75, 4 - br i1 %exitcond.not, label %47, label %.preheader - -85: ; preds = %91, %41 - %86 = landingpad { ptr, i32 } +.preheader: ; preds = %35, %.preheader + %.sroa.05.0188 = phi i64 [ %77, %.preheader ], [ 0, %35 ] + %77 = add nuw nsw i64 %.sroa.05.0188, 1 + %78 = getelementptr inbounds [4 x float], ptr %22, i64 0, i64 %.sroa.05.0188 + %79 = load float, ptr %78, align 4, !noundef !13 + %80 = fmul float %79, %39 + %81 = getelementptr inbounds [4 x float], ptr %20, i64 0, i64 %.sroa.05.0188 + %82 = load float, ptr %81, align 4, !noundef !13 + %83 = fmul float %82, %40 + %84 = fadd float %80, %83 + %85 = getelementptr inbounds [4 x float], ptr %23, i64 0, i64 %.sroa.05.0188 + %86 = fdiv float %84, %41 + store float %86, ptr %85, align 4 + %exitcond.not = icmp eq i64 %77, 4 + br i1 %exitcond.not, label %49, label %.preheader + +87: ; preds = %93, %43 + %88 = landingpad { ptr, i32 } cleanup - %87 = load i8, ptr %.sroa.068.sroa.4.0..sroa_idx, align 1, !alias.scope !1604, !noundef !13 - %88 = icmp sgt i8 %87, -1 - br i1 %88, label %89, label %.thread + %89 = load i8, ptr %.sroa.068.sroa.4.0..sroa_idx, align 1, !alias.scope !1604, !noundef !13 + %90 = icmp sgt i8 %89, -1 + br i1 %90, label %91, label %.thread -89: ; preds = %85 +91: ; preds = %87 invoke void @"_ZN68_$LT$ecow..vec..EcoVec$LT$T$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h666d9eefed63d937E"(ptr noalias noundef nonnull align 8 dereferenceable(16) %18) to label %.thread unwind label %30 -90: ; preds = %41 +92: ; preds = %43 call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %17) call void @llvm.lifetime.start.p0(i64 0, ptr nonnull %4) - br i1 %46, label %91, label %.critedge + br i1 %48, label %93, label %.critedge -91: ; preds = %90 +93: ; preds = %92 invoke void @_ZN4core6result13unwrap_failed17hff299ec748d62aabE(ptr noalias noundef nonnull readonly align 1 @anon.d1a7c8d6b3d8d21cbf4feff1b00b8d83.98, i64 noundef 43, ptr noundef nonnull align 1 %4, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.d1a7c8d6b3d8d21cbf4feff1b00b8d83.99, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.d1a7c8d6b3d8d21cbf4feff1b00b8d83.127) #33 - to label %.noexc110 unwind label %85 + to label %.noexc110 unwind label %87 -.noexc110: ; preds = %91 +.noexc110: ; preds = %93 unreachable "_ZN99_$LT$core..array..iter..IntoIter$LT$T$C$_$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17hfefa7d32a5ea238cE.exit124.lr.ph": ; preds = %3 @@ -6545,86 +6543,82 @@ default.unreachable207: ; preds = %73 store double %.sroa.0.0.copyload213, ptr %15, align 8 %.sroa.6.0..sroa_idx = getelementptr inbounds i8, ptr %15, i64 8 store i32 %.sroa.6.0.copyload215, ptr %.sroa.6.0..sroa_idx, align 8 - %.sroa.7.0..sroa_idx216 = getelementptr inbounds i8, ptr %15, i64 12 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(16) %.sroa.7.0..sroa_idx216, ptr noundef nonnull align 4 dereferenceable(16) %.sroa.7, i64 16, i1 false) - %.sroa.8.0..sroa_idx218 = getelementptr inbounds i8, ptr %15, i64 28 - store i32 %.sroa.8.0.copyload220, ptr %.sroa.8.0..sroa_idx218, align 4 - %.sroa.8221.0..sroa_idx = getelementptr inbounds i8, ptr %15, i64 32 - store double %.sroa.8221.0.copyload223, ptr %.sroa.8221.0..sroa_idx, align 8 - %.sroa.9.0..sroa_idx = getelementptr inbounds i8, ptr %15, i64 40 - store i32 %.sroa.9.0.copyload225, ptr %.sroa.9.0..sroa_idx, align 8 - %.sroa.10.0..sroa_idx = getelementptr inbounds i8, ptr %15, i64 44 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(16) %.sroa.10.0..sroa_idx, ptr noundef nonnull align 4 dereferenceable(16) %.sroa.10, i64 16, i1 false) - %.sroa.11.0..sroa_idx227 = getelementptr inbounds i8, ptr %15, i64 60 - store i32 %.sroa.11.0.copyload229, ptr %.sroa.11.0..sroa_idx227, align 4 - %.sroa.11230.0..sroa_idx = getelementptr inbounds i8, ptr %15, i64 64 - store i64 0, ptr %.sroa.11230.0..sroa_idx, align 8 - %.sroa.12.0..sroa_idx = getelementptr inbounds i8, ptr %15, i64 72 - store i64 2, ptr %.sroa.12.0..sroa_idx, align 8 + %.sroa.7.0..sroa_idx = getelementptr inbounds i8, ptr %15, i64 12 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(20) %.sroa.7.0..sroa_idx, ptr noundef nonnull align 4 dereferenceable(20) %.sroa.7, i64 20, i1 false) + %.sroa.7217.0..sroa_idx = getelementptr inbounds i8, ptr %15, i64 32 + store double %.sroa.7217.0.copyload219, ptr %.sroa.7217.0..sroa_idx, align 8 + %.sroa.8.0..sroa_idx220 = getelementptr inbounds i8, ptr %15, i64 40 + store i32 %.sroa.8.0.copyload222, ptr %.sroa.8.0..sroa_idx220, align 8 + %.sroa.9.0..sroa_idx = getelementptr inbounds i8, ptr %15, i64 44 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(20) %.sroa.9.0..sroa_idx, ptr noundef nonnull align 4 dereferenceable(20) %.sroa.9, i64 20, i1 false) + %.sroa.9224.0..sroa_idx = getelementptr inbounds i8, ptr %15, i64 64 + store i64 0, ptr %.sroa.9224.0..sroa_idx, align 8 + %.sroa.10.0..sroa_idx = getelementptr inbounds i8, ptr %15, i64 72 + store i64 2, ptr %.sroa.10.0..sroa_idx, align 8 %.sroa.8.8..sroa_idx = getelementptr inbounds i8, ptr %14, i64 4 br label %"_ZN99_$LT$core..array..iter..IntoIter$LT$T$C$_$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17hfefa7d32a5ea238cE.exit124" -"_ZN99_$LT$core..array..iter..IntoIter$LT$T$C$_$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17hfefa7d32a5ea238cE.exit124": ; preds = %"_ZN99_$LT$core..array..iter..IntoIter$LT$T$C$_$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17hfefa7d32a5ea238cE.exit124.lr.ph", %98 - %92 = phi float [ 0.000000e+00, %"_ZN99_$LT$core..array..iter..IntoIter$LT$T$C$_$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17hfefa7d32a5ea238cE.exit124.lr.ph" ], [ %107, %98 ] - %93 = phi i64 [ 0, %"_ZN99_$LT$core..array..iter..IntoIter$LT$T$C$_$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17hfefa7d32a5ea238cE.exit124.lr.ph" ], [ %99, %98 ] - %94 = phi <4 x float> [ zeroinitializer, %"_ZN99_$LT$core..array..iter..IntoIter$LT$T$C$_$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17hfefa7d32a5ea238cE.exit124.lr.ph" ], [ %106, %98 ] +"_ZN99_$LT$core..array..iter..IntoIter$LT$T$C$_$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17hfefa7d32a5ea238cE.exit124": ; preds = %"_ZN99_$LT$core..array..iter..IntoIter$LT$T$C$_$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17hfefa7d32a5ea238cE.exit124.lr.ph", %100 + %94 = phi float [ 0.000000e+00, %"_ZN99_$LT$core..array..iter..IntoIter$LT$T$C$_$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17hfefa7d32a5ea238cE.exit124.lr.ph" ], [ %109, %100 ] + %95 = phi i64 [ 0, %"_ZN99_$LT$core..array..iter..IntoIter$LT$T$C$_$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17hfefa7d32a5ea238cE.exit124.lr.ph" ], [ %101, %100 ] + %96 = phi <4 x float> [ zeroinitializer, %"_ZN99_$LT$core..array..iter..IntoIter$LT$T$C$_$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17hfefa7d32a5ea238cE.exit124.lr.ph" ], [ %108, %100 ] call void @llvm.experimental.noalias.scope.decl(metadata !1611) - %95 = icmp ult i64 %93, 2 - call void @llvm.assume(i1 %95) - %96 = getelementptr inbounds { [4 x i64] }, ptr %15, i64 %93 - %.sroa.5.0..sroa_idx = getelementptr inbounds i8, ptr %96, i64 8 + %97 = icmp ult i64 %95, 2 + call void @llvm.assume(i1 %97) + %98 = getelementptr inbounds { [4 x i64] }, ptr %15, i64 %95 + %.sroa.5.0..sroa_idx = getelementptr inbounds i8, ptr %98, i64 8 %.sroa.5.0.copyload = load i32, ptr %.sroa.5.0..sroa_idx, align 8, !alias.scope !1614 - %97 = icmp eq i32 %.sroa.5.0.copyload, 8 - br i1 %97, label %"_ZN99_$LT$core..array..iter..IntoIter$LT$T$C$_$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17hfefa7d32a5ea238cE.exit124.thread", label %98 + %99 = icmp eq i32 %.sroa.5.0.copyload, 8 + br i1 %99, label %"_ZN99_$LT$core..array..iter..IntoIter$LT$T$C$_$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17hfefa7d32a5ea238cE.exit124.thread", label %100 -98: ; preds = %"_ZN99_$LT$core..array..iter..IntoIter$LT$T$C$_$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17hfefa7d32a5ea238cE.exit124" - %.sroa.8.0..sroa_idx = getelementptr inbounds i8, ptr %96, i64 12 - %.sroa.0137.0.copyload = load double, ptr %96, align 8, !alias.scope !1614 - %99 = add nuw nsw i64 %93, 1 +100: ; preds = %"_ZN99_$LT$core..array..iter..IntoIter$LT$T$C$_$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17hfefa7d32a5ea238cE.exit124" + %.sroa.8.0..sroa_idx = getelementptr inbounds i8, ptr %98, i64 12 + %.sroa.0137.0.copyload = load double, ptr %98, align 8, !alias.scope !1614 + %101 = add nuw nsw i64 %95, 1 store i32 %.sroa.5.0.copyload, ptr %14, align 4 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(16) %.sroa.8.8..sroa_idx, ptr noundef nonnull align 4 dereferenceable(16) %.sroa.8.0..sroa_idx, i64 16, i1 false) - %100 = fptrunc double %.sroa.0137.0.copyload to float + %102 = fptrunc double %.sroa.0137.0.copyload to float call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %13) call void @llvm.lifetime.start.p0(i64 20, ptr nonnull %12) - %101 = load i8, ptr %24, align 1, !range !1603, !noundef !13 - call void @_ZN5typst9visualize5color5Color8to_space17hc7c43a0ee73de2acE(ptr noalias nocapture noundef nonnull sret({ i32, [4 x i32] }) align 4 dereferenceable(20) %12, ptr noalias nocapture noundef nonnull align 4 dereferenceable(20) %14, i8 noundef %101) + %103 = load i8, ptr %24, align 1, !range !1603, !noundef !13 + call void @_ZN5typst9visualize5color5Color8to_space17hc7c43a0ee73de2acE(ptr noalias nocapture noundef nonnull sret({ i32, [4 x i32] }) align 4 dereferenceable(20) %12, ptr noalias nocapture noundef nonnull align 4 dereferenceable(20) %14, i8 noundef %103) call void @_ZN5typst9visualize5color5Color7to_vec417h99168599ebc2d1f4E(ptr noalias nocapture noundef nonnull sret([4 x float]) align 4 dereferenceable(16) %13, ptr noalias noundef nonnull readonly align 4 dereferenceable(20) %12) call void @llvm.lifetime.end.p0(i64 20, ptr nonnull %12) - %102 = load <4 x float>, ptr %13, align 16 - %103 = insertelement <4 x float> poison, float %100, i64 0 - %104 = shufflevector <4 x float> %103, <4 x float> poison, <4 x i32> zeroinitializer - %105 = fmul <4 x float> %102, %104 - %106 = fadd <4 x float> %94, %105 - %107 = fadd float %92, %100 - store float %107, ptr %16, align 4 + %104 = load <4 x float>, ptr %13, align 16 + %105 = insertelement <4 x float> poison, float %102, i64 0 + %106 = shufflevector <4 x float> %105, <4 x float> poison, <4 x i32> zeroinitializer + %107 = fmul <4 x float> %104, %106 + %108 = fadd <4 x float> %96, %107 + %109 = fadd float %94, %102 + store float %109, ptr %16, align 4 call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %13) - %.not.not.i123 = icmp eq i64 %99, 2 + %.not.not.i123 = icmp eq i64 %101, 2 br i1 %.not.not.i123, label %"_ZN99_$LT$core..array..iter..IntoIter$LT$T$C$_$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17hfefa7d32a5ea238cE.exit124.thread", label %"_ZN99_$LT$core..array..iter..IntoIter$LT$T$C$_$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17hfefa7d32a5ea238cE.exit124" -"_ZN99_$LT$core..array..iter..IntoIter$LT$T$C$_$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17hfefa7d32a5ea238cE.exit124.thread": ; preds = %"_ZN99_$LT$core..array..iter..IntoIter$LT$T$C$_$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17hfefa7d32a5ea238cE.exit124", %98 - %108 = phi float [ %107, %98 ], [ %92, %"_ZN99_$LT$core..array..iter..IntoIter$LT$T$C$_$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17hfefa7d32a5ea238cE.exit124" ] - %109 = phi <4 x float> [ %106, %98 ], [ %94, %"_ZN99_$LT$core..array..iter..IntoIter$LT$T$C$_$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17hfefa7d32a5ea238cE.exit124" ] +"_ZN99_$LT$core..array..iter..IntoIter$LT$T$C$_$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17hfefa7d32a5ea238cE.exit124.thread": ; preds = %"_ZN99_$LT$core..array..iter..IntoIter$LT$T$C$_$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17hfefa7d32a5ea238cE.exit124", %100 + %110 = phi float [ %109, %100 ], [ %94, %"_ZN99_$LT$core..array..iter..IntoIter$LT$T$C$_$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17hfefa7d32a5ea238cE.exit124" ] + %111 = phi <4 x float> [ %108, %100 ], [ %96, %"_ZN99_$LT$core..array..iter..IntoIter$LT$T$C$_$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17hfefa7d32a5ea238cE.exit124" ] call void @llvm.lifetime.end.p0(i64 80, ptr nonnull %15) - %110 = fcmp ugt float %108, 0.000000e+00 - br i1 %110, label %111, label %113 + %112 = fcmp ugt float %110, 0.000000e+00 + br i1 %112, label %113, label %115 -111: ; preds = %"_ZN99_$LT$core..array..iter..IntoIter$LT$T$C$_$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17hfefa7d32a5ea238cE.exit124.thread" +113: ; preds = %"_ZN99_$LT$core..array..iter..IntoIter$LT$T$C$_$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17hfefa7d32a5ea238cE.exit124.thread" call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %6), !noalias !1616 - store <4 x float> %109, ptr %6, align 16, !noalias !1621 - %112 = getelementptr inbounds i8, ptr %6, i64 16 + store <4 x float> %111, ptr %6, align 16, !noalias !1621 + %114 = getelementptr inbounds i8, ptr %6, i64 16 call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %5), !noalias !1622 store ptr %6, ptr %5, align 8, !noalias !1629 %.sroa.4.0..sroa_idx.i = getelementptr inbounds i8, ptr %5, i64 8 - store ptr %112, ptr %.sroa.4.0..sroa_idx.i, align 8, !noalias !1629 + store ptr %114, ptr %.sroa.4.0..sroa_idx.i, align 8, !noalias !1629 %.sroa.5.0..sroa_idx.i = getelementptr inbounds i8, ptr %5, i64 16 store ptr %16, ptr %.sroa.5.0..sroa_idx.i, align 8, !noalias !1629 call void @_ZN4core5array18try_from_fn_erased17hcf3af21b6038eae0E.llvm.14530723680166322716(ptr noalias noundef nonnull align 4 %23, i64 noundef 4, ptr noalias nocapture noundef nonnull align 8 dereferenceable(24) %5) call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %5), !noalias !1622 call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %6), !noalias !1616 call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %16) - br label %73 + br label %75 -113: ; preds = %"_ZN99_$LT$core..array..iter..IntoIter$LT$T$C$_$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17hfefa7d32a5ea238cE.exit124.thread" +115: ; preds = %"_ZN99_$LT$core..array..iter..IntoIter$LT$T$C$_$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17hfefa7d32a5ea238cE.exit124.thread" call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %.sroa.010) call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %11) call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(15) %11, i8 0, i64 15, i1 false) @@ -6632,161 +6626,161 @@ default.unreachable207: ; preds = %73 store i8 -128, ptr %.sroa.073.sroa.4.0..sroa_idx, align 1 call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %10) store ptr @anon.d1a7c8d6b3d8d21cbf4feff1b00b8d83.126, ptr %10, align 8 - %114 = getelementptr inbounds i8, ptr %10, i64 8 - store i64 1, ptr %114, align 8 - %115 = getelementptr inbounds i8, ptr %10, i64 32 - store ptr null, ptr %115, align 8 - %116 = getelementptr inbounds i8, ptr %10, i64 16 - store ptr @anon.d1a7c8d6b3d8d21cbf4feff1b00b8d83.80, ptr %116, align 8 - %117 = getelementptr inbounds i8, ptr %10, i64 24 - store i64 0, ptr %117, align 8 - %118 = invoke noundef zeroext i1 @_ZN4core3fmt5write17h4311bce0ee536615E(ptr noundef nonnull align 1 %11, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.d1a7c8d6b3d8d21cbf4feff1b00b8d83.108, ptr noalias nocapture noundef nonnull align 8 dereferenceable(48) %10) - to label %175 unwind label %170 - -119: ; preds = %73 - %120 = load <2 x float>, ptr %23, align 8 - %121 = getelementptr inbounds i8, ptr %23, i64 8 - %122 = load i32, ptr %121, align 8, !noundef !13 - %123 = getelementptr inbounds i8, ptr %23, i64 12 - %124 = load float, ptr %123, align 4, !noundef !13 - br label %148 - -125: ; preds = %73 - %126 = load <2 x float>, ptr %23, align 8 - %127 = getelementptr inbounds i8, ptr %23, i64 8 - %128 = load i32, ptr %127, align 8, !noundef !13 - %129 = getelementptr inbounds i8, ptr %23, i64 12 - %130 = load float, ptr %129, align 4, !noundef !13 - br label %148 - -131: ; preds = %73 - %132 = load <2 x float>, ptr %23, align 8 - br label %148 - -133: ; preds = %73 + %116 = getelementptr inbounds i8, ptr %10, i64 8 + store i64 1, ptr %116, align 8 + %117 = getelementptr inbounds i8, ptr %10, i64 32 + store ptr null, ptr %117, align 8 + %118 = getelementptr inbounds i8, ptr %10, i64 16 + store ptr @anon.d1a7c8d6b3d8d21cbf4feff1b00b8d83.80, ptr %118, align 8 + %119 = getelementptr inbounds i8, ptr %10, i64 24 + store i64 0, ptr %119, align 8 + %120 = invoke noundef zeroext i1 @_ZN4core3fmt5write17h4311bce0ee536615E(ptr noundef nonnull align 1 %11, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.d1a7c8d6b3d8d21cbf4feff1b00b8d83.108, ptr noalias nocapture noundef nonnull align 8 dereferenceable(48) %10) + to label %177 unwind label %172 + +121: ; preds = %75 + %122 = load <2 x float>, ptr %23, align 8 + %123 = getelementptr inbounds i8, ptr %23, i64 8 + %124 = load i32, ptr %123, align 8, !noundef !13 + %125 = getelementptr inbounds i8, ptr %23, i64 12 + %126 = load float, ptr %125, align 4, !noundef !13 + br label %150 + +127: ; preds = %75 + %128 = load <2 x float>, ptr %23, align 8 + %129 = getelementptr inbounds i8, ptr %23, i64 8 + %130 = load i32, ptr %129, align 8, !noundef !13 + %131 = getelementptr inbounds i8, ptr %23, i64 12 + %132 = load float, ptr %131, align 4, !noundef !13 + br label %150 + +133: ; preds = %75 %134 = load <2 x float>, ptr %23, align 8 - %135 = getelementptr inbounds i8, ptr %23, i64 8 - %136 = load i32, ptr %135, align 8, !noundef !13 - %137 = getelementptr inbounds i8, ptr %23, i64 12 - %138 = load float, ptr %137, align 4, !noundef !13 - br label %148 + br label %150 + +135: ; preds = %75 + %136 = load <2 x float>, ptr %23, align 8 + %137 = getelementptr inbounds i8, ptr %23, i64 8 + %138 = load i32, ptr %137, align 8, !noundef !13 + %139 = getelementptr inbounds i8, ptr %23, i64 12 + %140 = load float, ptr %139, align 4, !noundef !13 + br label %150 -139: ; preds = %73 +141: ; preds = %75 call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %9) - %140 = load float, ptr %23, align 8, !noundef !13 - %141 = getelementptr inbounds i8, ptr %23, i64 4 - %142 = load float, ptr %141, align 4, !noundef !13 - %143 = getelementptr inbounds i8, ptr %23, i64 8 - %144 = load float, ptr %143, align 8, !noundef !13 - %145 = getelementptr inbounds i8, ptr %23, i64 12 - %146 = load float, ptr %145, align 4, !noundef !13 - call void @_ZN5typst9visualize5color4Cmyk3new17ha349306a5d2e1d28E(ptr noalias nocapture noundef nonnull sret({ float, float, float, float }) align 4 dereferenceable(16) %9, float noundef %140, float noundef %142, float noundef %144, float noundef %146) - %147 = load <2 x float>, ptr %9, align 8 + %142 = load float, ptr %23, align 8, !noundef !13 + %143 = getelementptr inbounds i8, ptr %23, i64 4 + %144 = load float, ptr %143, align 4, !noundef !13 + %145 = getelementptr inbounds i8, ptr %23, i64 8 + %146 = load float, ptr %145, align 8, !noundef !13 + %147 = getelementptr inbounds i8, ptr %23, i64 12 + %148 = load float, ptr %147, align 4, !noundef !13 + call void @_ZN5typst9visualize5color4Cmyk3new17ha349306a5d2e1d28E(ptr noalias nocapture noundef nonnull sret({ float, float, float, float }) align 4 dereferenceable(16) %9, float noundef %142, float noundef %144, float noundef %146, float noundef %148) + %149 = load <2 x float>, ptr %9, align 8 %.sroa.11.sroa.0.sroa.12.0..sroa_idx56 = getelementptr inbounds i8, ptr %9, i64 8 %.sroa.11.sroa.0.sroa.12.0.copyload57 = load i32, ptr %.sroa.11.sroa.0.sroa.12.0..sroa_idx56, align 8 %.sroa.11.sroa.11.0..sroa_idx23 = getelementptr inbounds i8, ptr %9, i64 12 %.sroa.11.sroa.11.0.copyload24 = load float, ptr %.sroa.11.sroa.11.0..sroa_idx23, align 4 call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %9) - br label %148 - -148: ; preds = %139, %163, %157, %151, %133, %131, %125, %119 - %.sroa.11.sroa.11.0 = phi float [ %.sroa.11.sroa.11.0.copyload24, %139 ], [ %168, %163 ], [ %162, %157 ], [ %138, %133 ], [ undef, %131 ], [ %130, %125 ], [ %156, %151 ], [ %124, %119 ] - %.sroa.011.0 = phi i32 [ 5, %139 ], [ 7, %163 ], [ 6, %157 ], [ 4, %133 ], [ 0, %131 ], [ 3, %125 ], [ 2, %151 ], [ 1, %119 ] - %.sroa.11.sroa.0.sroa.12.0 = phi i32 [ %.sroa.11.sroa.0.sroa.12.0.copyload57, %139 ], [ %166, %163 ], [ %160, %157 ], [ %136, %133 ], [ undef, %131 ], [ %128, %125 ], [ %154, %151 ], [ %122, %119 ] - %149 = phi <2 x float> [ %147, %139 ], [ %164, %163 ], [ %158, %157 ], [ %134, %133 ], [ %132, %131 ], [ %126, %125 ], [ %152, %151 ], [ %120, %119 ] - %150 = getelementptr inbounds i8, ptr %0, i64 4 - store i32 %.sroa.011.0, ptr %150, align 4 + br label %150 + +150: ; preds = %141, %165, %159, %153, %135, %133, %127, %121 + %.sroa.11.sroa.11.0 = phi float [ %.sroa.11.sroa.11.0.copyload24, %141 ], [ %170, %165 ], [ %164, %159 ], [ %140, %135 ], [ undef, %133 ], [ %132, %127 ], [ %158, %153 ], [ %126, %121 ] + %.sroa.011.0 = phi i32 [ 5, %141 ], [ 7, %165 ], [ 6, %159 ], [ 4, %135 ], [ 0, %133 ], [ 3, %127 ], [ 2, %153 ], [ 1, %121 ] + %.sroa.11.sroa.0.sroa.12.0 = phi i32 [ %.sroa.11.sroa.0.sroa.12.0.copyload57, %141 ], [ %168, %165 ], [ %162, %159 ], [ %138, %135 ], [ undef, %133 ], [ %130, %127 ], [ %156, %153 ], [ %124, %121 ] + %151 = phi <2 x float> [ %149, %141 ], [ %166, %165 ], [ %160, %159 ], [ %136, %135 ], [ %134, %133 ], [ %128, %127 ], [ %154, %153 ], [ %122, %121 ] + %152 = getelementptr inbounds i8, ptr %0, i64 4 + store i32 %.sroa.011.0, ptr %152, align 4 %.sroa.11.0..sroa_idx = getelementptr inbounds i8, ptr %0, i64 8 - store <2 x float> %149, ptr %.sroa.11.0..sroa_idx, align 8 + store <2 x float> %151, ptr %.sroa.11.0..sroa_idx, align 8 %.sroa.11.sroa.0.sroa.12.0..sroa.11.0..sroa_idx.sroa_idx = getelementptr inbounds i8, ptr %0, i64 16 store i32 %.sroa.11.sroa.0.sroa.12.0, ptr %.sroa.11.sroa.0.sroa.12.0..sroa.11.0..sroa_idx.sroa_idx, align 8 %.sroa.11.sroa.11.0..sroa.11.0..sroa_idx.sroa_idx = getelementptr inbounds i8, ptr %0, i64 20 store float %.sroa.11.sroa.11.0, ptr %.sroa.11.sroa.11.0..sroa.11.0..sroa_idx.sroa_idx, align 4 store i32 0, ptr %0, align 8 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %.sroa.7) - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %.sroa.10) - br label %169 - -151: ; preds = %73 - %152 = load <2 x float>, ptr %23, align 8 - %153 = getelementptr inbounds i8, ptr %23, i64 8 - %154 = load i32, ptr %153, align 8, !noundef !13 - %155 = getelementptr inbounds i8, ptr %23, i64 12 - %156 = load float, ptr %155, align 4, !noundef !13 - br label %148 - -157: ; preds = %73 - %158 = load <2 x float>, ptr %23, align 8 - %159 = getelementptr inbounds i8, ptr %23, i64 8 - %160 = load i32, ptr %159, align 8, !noundef !13 - %161 = getelementptr inbounds i8, ptr %23, i64 12 - %162 = load float, ptr %161, align 4, !noundef !13 - br label %148 - -163: ; preds = %73 - %164 = load <2 x float>, ptr %23, align 8 - %165 = getelementptr inbounds i8, ptr %23, i64 8 - %166 = load i32, ptr %165, align 8, !noundef !13 - %167 = getelementptr inbounds i8, ptr %23, i64 12 - %168 = load float, ptr %167, align 4, !noundef !13 - br label %148 - -169: ; preds = %179, %148 + call void @llvm.lifetime.end.p0(i64 20, ptr nonnull %.sroa.7) + call void @llvm.lifetime.end.p0(i64 20, ptr nonnull %.sroa.9) + br label %171 + +153: ; preds = %75 + %154 = load <2 x float>, ptr %23, align 8 + %155 = getelementptr inbounds i8, ptr %23, i64 8 + %156 = load i32, ptr %155, align 8, !noundef !13 + %157 = getelementptr inbounds i8, ptr %23, i64 12 + %158 = load float, ptr %157, align 4, !noundef !13 + br label %150 + +159: ; preds = %75 + %160 = load <2 x float>, ptr %23, align 8 + %161 = getelementptr inbounds i8, ptr %23, i64 8 + %162 = load i32, ptr %161, align 8, !noundef !13 + %163 = getelementptr inbounds i8, ptr %23, i64 12 + %164 = load float, ptr %163, align 4, !noundef !13 + br label %150 + +165: ; preds = %75 + %166 = load <2 x float>, ptr %23, align 8 + %167 = getelementptr inbounds i8, ptr %23, i64 8 + %168 = load i32, ptr %167, align 8, !noundef !13 + %169 = getelementptr inbounds i8, ptr %23, i64 12 + %170 = load float, ptr %169, align 4, !noundef !13 + br label %150 + +171: ; preds = %181, %150 ret void -170: ; preds = %176, %113 - %171 = landingpad { ptr, i32 } +172: ; preds = %178, %115 + %173 = landingpad { ptr, i32 } cleanup - %172 = load i8, ptr %.sroa.073.sroa.4.0..sroa_idx, align 1, !alias.scope !1630, !noundef !13 - %173 = icmp sgt i8 %172, -1 - br i1 %173, label %174, label %.thread + %174 = load i8, ptr %.sroa.073.sroa.4.0..sroa_idx, align 1, !alias.scope !1630, !noundef !13 + %175 = icmp sgt i8 %174, -1 + br i1 %175, label %176, label %.thread -174: ; preds = %170 +176: ; preds = %172 invoke void @"_ZN68_$LT$ecow..vec..EcoVec$LT$T$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h666d9eefed63d937E"(ptr noalias noundef nonnull align 8 dereferenceable(16) %11) to label %.thread unwind label %30 -175: ; preds = %113 +177: ; preds = %115 call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %10) call void @llvm.lifetime.start.p0(i64 0, ptr nonnull %4) - br i1 %118, label %176, label %177 + br i1 %120, label %178, label %179 -176: ; preds = %175 +178: ; preds = %177 invoke void @_ZN4core6result13unwrap_failed17hff299ec748d62aabE(ptr noalias noundef nonnull readonly align 1 @anon.d1a7c8d6b3d8d21cbf4feff1b00b8d83.98, i64 noundef 43, ptr noundef nonnull align 1 %4, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.d1a7c8d6b3d8d21cbf4feff1b00b8d83.99, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.d1a7c8d6b3d8d21cbf4feff1b00b8d83.128) #33 - to label %.noexc unwind label %170 + to label %.noexc unwind label %172 -.noexc: ; preds = %176 +.noexc: ; preds = %178 unreachable -177: ; preds = %175 +179: ; preds = %177 call void @llvm.lifetime.end.p0(i64 0, ptr nonnull %4) call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %.sroa.010, ptr noundef nonnull align 8 dereferenceable(16) %11, i64 16, i1 false) call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %11) - %178 = getelementptr inbounds i8, ptr %0, i64 8 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %178, ptr noundef nonnull align 8 dereferenceable(16) %.sroa.010, i64 16, i1 false) + %180 = getelementptr inbounds i8, ptr %0, i64 8 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %180, ptr noundef nonnull align 8 dereferenceable(16) %.sroa.010, i64 16, i1 false) store i32 1, ptr %0, align 8 call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %.sroa.010) call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %16) - br label %179 + br label %181 -179: ; preds = %177, %.critedge - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %.sroa.7) - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %.sroa.10) - br label %169 +181: ; preds = %179, %.critedge + call void @llvm.lifetime.end.p0(i64 20, ptr nonnull %.sroa.7) + call void @llvm.lifetime.end.p0(i64 20, ptr nonnull %.sroa.9) + br label %171 -.critedge: ; preds = %90 +.critedge: ; preds = %92 call void @llvm.lifetime.end.p0(i64 0, ptr nonnull %4) call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %.sroa.04, ptr noundef nonnull align 8 dereferenceable(16) %18, i64 16, i1 false) call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %18) - %180 = getelementptr inbounds i8, ptr %0, i64 8 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %180, ptr noundef nonnull align 8 dereferenceable(16) %.sroa.04, i64 16, i1 false) + %182 = getelementptr inbounds i8, ptr %0, i64 8 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %182, ptr noundef nonnull align 8 dereferenceable(16) %.sroa.04, i64 16, i1 false) store i32 1, ptr %0, align 8 call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %.sroa.04) call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %20) call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %22) - br label %179 + br label %181 -.thread: ; preds = %170, %174, %85, %89 - %.pn152 = phi { ptr, i32 } [ %86, %89 ], [ %86, %85 ], [ %171, %174 ], [ %171, %170 ] +.thread: ; preds = %172, %176, %87, %91 + %.pn152 = phi { ptr, i32 } [ %88, %91 ], [ %88, %87 ], [ %173, %176 ], [ %173, %172 ] resume { ptr, i32 } %.pn152 } diff --git a/bench/typst-rs/optimized/2d3c2n5y91mtl0x0.ll b/bench/typst-rs/optimized/2d3c2n5y91mtl0x0.ll index 83b29ecf286..b1b7f6413e8 100644 --- a/bench/typst-rs/optimized/2d3c2n5y91mtl0x0.ll +++ b/bench/typst-rs/optimized/2d3c2n5y91mtl0x0.ll @@ -6500,9 +6500,9 @@ define hidden void @_ZN4core3ops8function5FnMut8call_mut17h111f991cd96785d4E.llv ; Function Attrs: inlinehint mustprogress nofree norecurse nosync nounwind nonlazybind willreturn memory(argmem: readwrite) uwtable define hidden void @_ZN4core3ops8function5FnMut8call_mut17h1530932578a70f56E.llvm.3683678558897460461(ptr noalias nocapture noundef writeonly sret({ i8, [31 x i8] }) align 8 dereferenceable(32) %0, ptr noalias nocapture noundef nonnull readnone align 1 %1, ptr noalias nocapture noundef readonly align 8 dereferenceable(32) %2) unnamed_addr #4 { "_ZN86_$LT$typst..layout..grid..GridChild$u20$as$u20$typst..foundations..cast..IntoValue$GT$10into_value17hf06e1f6cc4bc4fa3E.exit": - %.sroa.3.0..sroa_idx = getelementptr inbounds i8, ptr %2, i64 8 - %3 = getelementptr inbounds i8, ptr %0, i64 8 - tail call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %3, ptr noundef nonnull align 8 dereferenceable(24) %.sroa.3.0..sroa_idx, i64 24, i1 false) + %.sroa.2.0..sroa_idx = getelementptr inbounds i8, ptr %2, i64 8 + %.sink.i = getelementptr inbounds i8, ptr %0, i64 8 + tail call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %.sink.i, ptr noundef nonnull align 8 dereferenceable(24) %.sroa.2.0..sroa_idx, i64 24, i1 false) store i8 20, ptr %0, align 8, !alias.scope !1175, !noalias !1178 ret void } @@ -6655,9 +6655,9 @@ define hidden void @_ZN4core3ops8function5FnMut8call_mut17h5a863501482c8d4cE.llv ; Function Attrs: inlinehint mustprogress nofree norecurse nosync nounwind nonlazybind willreturn memory(argmem: readwrite) uwtable define hidden void @_ZN4core3ops8function5FnMut8call_mut17h725455f54a570686E.llvm.3683678558897460461(ptr noalias nocapture noundef writeonly sret({ i8, [31 x i8] }) align 8 dereferenceable(32) %0, ptr noalias nocapture noundef nonnull readnone align 1 %1, ptr noalias nocapture noundef readonly align 8 dereferenceable(32) %2) unnamed_addr #4 { "_ZN87_$LT$typst..model..table..TableChild$u20$as$u20$typst..foundations..cast..IntoValue$GT$10into_value17h3042153e00e3dfd8E.exit": - %.sroa.3.0..sroa_idx = getelementptr inbounds i8, ptr %2, i64 8 - %3 = getelementptr inbounds i8, ptr %0, i64 8 - tail call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %3, ptr noundef nonnull align 8 dereferenceable(24) %.sroa.3.0..sroa_idx, i64 24, i1 false) + %.sroa.2.0..sroa_idx = getelementptr inbounds i8, ptr %2, i64 8 + %.sink.i = getelementptr inbounds i8, ptr %0, i64 8 + tail call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %.sink.i, ptr noundef nonnull align 8 dereferenceable(24) %.sroa.2.0..sroa_idx, i64 24, i1 false) store i8 20, ptr %0, align 8, !alias.scope !1242, !noalias !1245 ret void } @@ -7814,9 +7814,9 @@ define hidden void @"_ZN4core3ops8function5impls80_$LT$impl$u20$core..ops..funct ; Function Attrs: mustprogress nofree norecurse nosync nounwind nonlazybind willreturn memory(argmem: readwrite, inaccessiblemem: readwrite) uwtable define hidden void @"_ZN4core3ops8function5impls80_$LT$impl$u20$core..ops..function..FnOnce$LT$A$GT$$u20$for$u20$$RF$mut$u20$F$GT$9call_once17h6bf636d290fc54c3E"(ptr noalias nocapture noundef writeonly sret({ i8, [31 x i8] }) align 8 dereferenceable(32) %0, ptr noalias nocapture noundef nonnull readnone align 1 %1, ptr noalias nocapture noundef readonly align 8 dereferenceable(32) %2) unnamed_addr #2 { tail call void @llvm.experimental.noalias.scope.decl(metadata !1626) - %4 = getelementptr inbounds i8, ptr %0, i64 8 + %.sink.i.i = getelementptr inbounds i8, ptr %0, i64 8 %.sroa.0.8..sroa_idx = getelementptr inbounds i8, ptr %2, i64 8 - tail call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %4, ptr noundef nonnull align 8 dereferenceable(24) %.sroa.0.8..sroa_idx, i64 24, i1 false), !alias.scope !1629 + tail call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %.sink.i.i, ptr noundef nonnull align 8 dereferenceable(24) %.sroa.0.8..sroa_idx, i64 24, i1 false), !alias.scope !1629 store i8 20, ptr %0, align 8, !alias.scope !1631, !noalias !1634 ret void } @@ -8336,9 +8336,9 @@ define hidden void @"_ZN4core3ops8function5impls80_$LT$impl$u20$core..ops..funct ; Function Attrs: mustprogress nofree norecurse nosync nounwind nonlazybind willreturn memory(argmem: readwrite, inaccessiblemem: readwrite) uwtable define hidden void @"_ZN4core3ops8function5impls80_$LT$impl$u20$core..ops..function..FnOnce$LT$A$GT$$u20$for$u20$$RF$mut$u20$F$GT$9call_once17he6b680d402a80ffdE"(ptr noalias nocapture noundef writeonly sret({ i8, [31 x i8] }) align 8 dereferenceable(32) %0, ptr noalias nocapture noundef nonnull readnone align 1 %1, ptr noalias nocapture noundef readonly align 8 dereferenceable(32) %2) unnamed_addr #2 { tail call void @llvm.experimental.noalias.scope.decl(metadata !1836) - %4 = getelementptr inbounds i8, ptr %0, i64 8 + %.sink.i.i = getelementptr inbounds i8, ptr %0, i64 8 %.sroa.0.8..sroa_idx = getelementptr inbounds i8, ptr %2, i64 8 - tail call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %4, ptr noundef nonnull align 8 dereferenceable(24) %.sroa.0.8..sroa_idx, i64 24, i1 false), !alias.scope !1839 + tail call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %.sink.i.i, ptr noundef nonnull align 8 dereferenceable(24) %.sroa.0.8..sroa_idx, i64 24, i1 false), !alias.scope !1839 store i8 20, ptr %0, align 8, !alias.scope !1841, !noalias !1844 ret void } @@ -36581,20 +36581,20 @@ common.resume: ; preds = %69, %.body.thread.i call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %8) %51 = getelementptr inbounds i8, ptr %9, i64 32 %52 = load i64, ptr %51, align 8, !range !1003, !noundef !7 - %.sroa.032.0.copyload = load i8, ptr %9, align 8 - %.sroa.633.0..sroa_idx = getelementptr inbounds i8, ptr %9, i64 8 - %.sroa.633.0.copyload = load ptr, ptr %.sroa.633.0..sroa_idx, align 8 - %.sroa.734.0..sroa_idx = getelementptr inbounds i8, ptr %9, i64 16 - %.sroa.734.0.copyload = load i64, ptr %.sroa.734.0..sroa_idx, align 8 - %53 = icmp eq i8 %.sroa.032.0.copyload, 30 + %.sroa.033.0.copyload = load i8, ptr %9, align 8 + %.sroa.534.0..sroa_idx = getelementptr inbounds i8, ptr %9, i64 8 + %.sroa.534.0.copyload = load ptr, ptr %.sroa.534.0..sroa_idx, align 8 + %.sroa.735.0..sroa_idx = getelementptr inbounds i8, ptr %9, i64 16 + %.sroa.735.0.copyload = load i64, ptr %.sroa.735.0..sroa_idx, align 8 + %53 = icmp eq i8 %.sroa.033.0.copyload, 30 br i1 %53, label %54, label %120 54: ; preds = %"_ZN4core3ptr77drop_in_place$LT$core..option..Option$LT$typst..foundations..str..Str$GT$$GT$17h6b359cdff70ab02eE.llvm.3683678558897460461.exit" %55 = getelementptr inbounds i8, ptr %7, i64 40 call void @llvm.lifetime.start.p0(i64 64, ptr nonnull %7), !noalias !7186 - store ptr %.sroa.633.0.copyload, ptr %55, align 8, !noalias !7192 - %.sroa.1030.8..sroa_idx = getelementptr inbounds i8, ptr %7, i64 48 - store i64 %.sroa.734.0.copyload, ptr %.sroa.1030.8..sroa_idx, align 8, !noalias !7192 + store ptr %.sroa.534.0.copyload, ptr %55, align 8, !noalias !7192 + %.sroa.1030.8..sroa_idx31 = getelementptr inbounds i8, ptr %7, i64 48 + store i64 %.sroa.735.0.copyload, ptr %.sroa.1030.8..sroa_idx31, align 8, !noalias !7192 %56 = getelementptr inbounds i8, ptr %7, i64 56 store i8 0, ptr %56, align 8, !alias.scope !7193, !noalias !7196 store i64 %52, ptr %7, align 8, !alias.scope !7193, !noalias !7196 @@ -36606,11 +36606,11 @@ common.resume: ; preds = %69, %.body.thread.i store ptr inttoptr (i64 16 to ptr), ptr %59, align 8, !alias.scope !7193, !noalias !7196 %60 = getelementptr inbounds i8, ptr %7, i64 32 store i64 0, ptr %60, align 8, !alias.scope !7193, !noalias !7196 - %61 = lshr i64 %.sroa.734.0.copyload, 56 - %62 = icmp slt i64 %.sroa.734.0.copyload, 0 + %61 = lshr i64 %.sroa.735.0.copyload, 56 + %62 = icmp slt i64 %.sroa.735.0.copyload, 0 %63 = and i64 %61, 127 - %.sroa.3.0.i.i.i = select i1 %62, i64 %63, i64 %.sroa.734.0.copyload - %.sroa.0.0.i.i.i = select i1 %62, ptr %55, ptr %.sroa.633.0.copyload + %.sroa.3.0.i.i.i = select i1 %62, i64 %63, i64 %.sroa.735.0.copyload + %.sroa.0.0.i.i.i = select i1 %62, ptr %55, ptr %.sroa.534.0.copyload %64 = call fastcc noundef zeroext i1 @"_ZN55_$LT$$RF$str$u20$as$u20$core..str..pattern..Pattern$GT$15is_contained_in17h15ba4cda5247ddcbE"(ptr noalias noundef nonnull readonly align 1 %.sroa.0.0.i.i.i, i64 noundef %.sroa.3.0.i.i.i) br i1 %64, label %73, label %67 @@ -36767,18 +36767,18 @@ common.resume: ; preds = %69, %.body.thread.i 120: ; preds = %"_ZN4core3ptr77drop_in_place$LT$core..option..Option$LT$typst..foundations..str..Str$GT$$GT$17h6b359cdff70ab02eE.llvm.3683678558897460461.exit" %.sroa.4.0..sroa_idx = getelementptr inbounds i8, ptr %9, i64 1 - %.sroa.835.0..sroa_idx = getelementptr inbounds i8, ptr %9, i64 24 - %.sroa.835.0.copyload = load i64, ptr %.sroa.835.0..sroa_idx, align 8 + %.sroa.9.0..sroa_idx = getelementptr inbounds i8, ptr %9, i64 24 + %.sroa.9.0.copyload = load i64, ptr %.sroa.9.0..sroa_idx, align 8 call void @llvm.experimental.noalias.scope.decl(metadata !7213) - store i8 %.sroa.032.0.copyload, ptr %0, align 8, !alias.scope !7216 + store i8 %.sroa.033.0.copyload, ptr %0, align 8, !alias.scope !7216 %.sroa.618.0..sroa_idx19 = getelementptr inbounds i8, ptr %0, i64 1 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(7) %.sroa.618.0..sroa_idx19, ptr noundef nonnull align 1 dereferenceable(7) %.sroa.4.0..sroa_idx, i64 7, i1 false) %.sroa.620.0..sroa_idx21 = getelementptr inbounds i8, ptr %0, i64 8 - store ptr %.sroa.633.0.copyload, ptr %.sroa.620.0..sroa_idx21, align 8, !alias.scope !7216 + store ptr %.sroa.534.0.copyload, ptr %.sroa.620.0..sroa_idx21, align 8, !alias.scope !7216 %.sroa.823.0..sroa_idx24 = getelementptr inbounds i8, ptr %0, i64 16 - store i64 %.sroa.734.0.copyload, ptr %.sroa.823.0..sroa_idx24, align 8, !alias.scope !7216 + store i64 %.sroa.735.0.copyload, ptr %.sroa.823.0..sroa_idx24, align 8, !alias.scope !7216 %.sroa.10.0..sroa_idx26 = getelementptr inbounds i8, ptr %0, i64 24 - store i64 %.sroa.835.0.copyload, ptr %.sroa.10.0..sroa_idx26, align 8, !alias.scope !7216 + store i64 %.sroa.9.0.copyload, ptr %.sroa.10.0..sroa_idx26, align 8, !alias.scope !7216 %.sroa.10.sroa.4.0..sroa.10.0..sroa_idx26.sroa_idx = getelementptr inbounds i8, ptr %0, i64 32 store i64 %52, ptr %.sroa.10.sroa.4.0..sroa.10.0..sroa_idx26.sroa_idx, align 8, !alias.scope !7216 br label %"_ZN4core6result19Result$LT$T$C$E$GT$3map17hd2becfcbadcc8f4dE.exit" @@ -153353,23 +153353,23 @@ default.unreachable4.i: ; preds = %21 unreachable 33: ; preds = %28, %27, %22 - %.sroa.620.0.ph = phi ptr [ %.sroa.01.0.copyload2.i, %22 ], [ inttoptr (i64 16 to ptr), %27 ], [ %.sroa.01.0.copyload2.i, %28 ] + %.sroa.618.0.ph = phi ptr [ %.sroa.01.0.copyload2.i, %22 ], [ inttoptr (i64 16 to ptr), %27 ], [ %.sroa.01.0.copyload2.i, %28 ] %34 = inttoptr i64 %.sroa.5.0.copyload3.i to ptr call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %4), !noalias !26845 br label %"_ZN87_$LT$typst..model..link..Destination$u20$as$u20$typst..foundations..cast..IntoValue$GT$10into_value17h4e934511386e54ccE.exit.i" 35: ; preds = %21 %36 = getelementptr inbounds i8, ptr %1, i64 8 - %.sroa.620.8.copyload = load ptr, ptr %36, align 8, !alias.scope !26849 - %.sroa.921.8..sroa_idx = getelementptr inbounds i8, ptr %1, i64 16 - %.sroa.921.8.copyload = load i64, ptr %.sroa.921.8..sroa_idx, align 16, !alias.scope !26849 + %.sroa.618.8.copyload = load ptr, ptr %36, align 8, !alias.scope !26849 + %.sroa.919.8..sroa_idx = getelementptr inbounds i8, ptr %1, i64 16 + %.sroa.919.8.copyload = load i64, ptr %.sroa.919.8..sroa_idx, align 16, !alias.scope !26849 %.sroa.12.8..sroa_idx = getelementptr inbounds i8, ptr %1, i64 24 %37 = load i64, ptr %.sroa.12.8..sroa_idx, align 8, !alias.scope !26849 - %38 = inttoptr i64 %.sroa.921.8.copyload to ptr + %38 = inttoptr i64 %.sroa.919.8.copyload to ptr call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %4), !noalias !26850 - store ptr %.sroa.620.8.copyload, ptr %4, align 8, !noalias !26853 - %.sroa.1013.8..sroa_idx = getelementptr inbounds i8, ptr %4, i64 8 - store ptr %38, ptr %.sroa.1013.8..sroa_idx, align 8, !noalias !26853 + store ptr %.sroa.618.8.copyload, ptr %4, align 8, !noalias !26853 + %.sroa.912.8..sroa_idx = getelementptr inbounds i8, ptr %4, i64 8 + store ptr %38, ptr %.sroa.912.8..sroa_idx, align 8, !noalias !26853 %.sroa.11.8..sroa_idx = getelementptr inbounds i8, ptr %4, i64 16 store i64 %37, ptr %.sroa.11.8..sroa_idx, align 8, !noalias !26853 %39 = call noundef nonnull ptr @"_ZN5typst6layout5frame118_$LT$impl$u20$core..convert..From$LT$typst..layout..frame..Position$GT$$u20$for$u20$typst..foundations..dict..Dict$GT$4from17h0af1b992c9e7326fE"(ptr noalias nocapture noundef nonnull align 8 dereferenceable(24) %4), !noalias !26855 @@ -153377,7 +153377,7 @@ default.unreachable4.i: ; preds = %21 40: ; preds = %21 %41 = getelementptr inbounds i8, ptr %1, i64 16 - %.sroa.921.16.copyload = load i64, ptr %41, align 16, !alias.scope !26849 + %.sroa.919.16.copyload = load i64, ptr %41, align 16, !alias.scope !26849 %.sroa.12.16..sroa_idx = getelementptr inbounds i8, ptr %1, i64 24 %.sroa.12.sroa.0.0.copyload = load i64, ptr %.sroa.12.16..sroa_idx, align 8, !alias.scope !26849 %.sroa.12.sroa.9.0..sroa.12.16..sroa_idx.sroa_idx = getelementptr inbounds i8, ptr %1, i64 32 @@ -153394,7 +153394,7 @@ default.unreachable4.i: ; preds = %21 unreachable "_ZN96_$LT$typst..introspection..location..Location$u20$as$u20$typst..foundations..cast..IntoValue$GT$10into_value17hbec6f608b8a691dbE.exit.i.i": ; preds = %40 - %46 = inttoptr i64 %.sroa.921.16.copyload to ptr + %46 = inttoptr i64 %.sroa.919.16.copyload to ptr store i64 1, ptr %43, align 16 %.sroa.4.0..sroa_idx.i.i.i.i = getelementptr inbounds i8, ptr %43, i64 8 store i64 1, ptr %.sroa.4.0..sroa_idx.i.i.i.i, align 8 @@ -153409,7 +153409,7 @@ default.unreachable4.i: ; preds = %21 "_ZN87_$LT$typst..model..link..Destination$u20$as$u20$typst..foundations..cast..IntoValue$GT$10into_value17h4e934511386e54ccE.exit.i": ; preds = %"_ZN96_$LT$typst..introspection..location..Location$u20$as$u20$typst..foundations..cast..IntoValue$GT$10into_value17hbec6f608b8a691dbE.exit.i.i", %35, %33 %.sroa.9.0 = phi ptr [ @anon.17bb7092bb43bb22a4c4760daf7f42f8.1165.llvm.2456044669961016091, %"_ZN96_$LT$typst..introspection..location..Location$u20$as$u20$typst..foundations..cast..IntoValue$GT$10into_value17hbec6f608b8a691dbE.exit.i.i" ], [ undef, %35 ], [ %34, %33 ] - %.sroa.6.0 = phi ptr [ %43, %"_ZN96_$LT$typst..introspection..location..Location$u20$as$u20$typst..foundations..cast..IntoValue$GT$10into_value17hbec6f608b8a691dbE.exit.i.i" ], [ %39, %35 ], [ %.sroa.620.0.ph, %33 ] + %.sroa.6.0 = phi ptr [ %43, %"_ZN96_$LT$typst..introspection..location..Location$u20$as$u20$typst..foundations..cast..IntoValue$GT$10into_value17hbec6f608b8a691dbE.exit.i.i" ], [ %39, %35 ], [ %.sroa.618.0.ph, %33 ] %.sink.i.i = phi i8 [ 29, %"_ZN96_$LT$typst..introspection..location..Location$u20$as$u20$typst..foundations..cast..IntoValue$GT$10into_value17hbec6f608b8a691dbE.exit.i.i" ], [ 23, %35 ], [ 15, %33 ] call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %4), !noalias !26862 br label %"_ZN86_$LT$typst..model..link..LinkTarget$u20$as$u20$typst..foundations..cast..IntoValue$GT$10into_value17ha91227918f496c40E.exit" @@ -153526,23 +153526,23 @@ default.unreachable4.i: ; preds = %22 unreachable 34: ; preds = %29, %28, %23 - %.sroa.620.0.ph = phi ptr [ %.sroa.01.0.copyload2.i, %23 ], [ inttoptr (i64 16 to ptr), %28 ], [ %.sroa.01.0.copyload2.i, %29 ] + %.sroa.618.0.ph = phi ptr [ %.sroa.01.0.copyload2.i, %23 ], [ inttoptr (i64 16 to ptr), %28 ], [ %.sroa.01.0.copyload2.i, %29 ] %35 = inttoptr i64 %.sroa.5.0.copyload3.i to ptr call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %5), !noalias !26888 br label %"_ZN87_$LT$typst..model..link..Destination$u20$as$u20$typst..foundations..cast..IntoValue$GT$10into_value17h4e934511386e54ccE.exit.i" 36: ; preds = %22 %37 = getelementptr inbounds i8, ptr %1, i64 8 - %.sroa.620.8.copyload = load ptr, ptr %37, align 8, !alias.scope !26892 - %.sroa.921.8..sroa_idx = getelementptr inbounds i8, ptr %1, i64 16 - %.sroa.921.8.copyload = load i64, ptr %.sroa.921.8..sroa_idx, align 16, !alias.scope !26892 + %.sroa.618.8.copyload = load ptr, ptr %37, align 8, !alias.scope !26892 + %.sroa.919.8..sroa_idx = getelementptr inbounds i8, ptr %1, i64 16 + %.sroa.919.8.copyload = load i64, ptr %.sroa.919.8..sroa_idx, align 16, !alias.scope !26892 %.sroa.12.8..sroa_idx = getelementptr inbounds i8, ptr %1, i64 24 %38 = load i64, ptr %.sroa.12.8..sroa_idx, align 8, !alias.scope !26892 - %39 = inttoptr i64 %.sroa.921.8.copyload to ptr + %39 = inttoptr i64 %.sroa.919.8.copyload to ptr call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %5), !noalias !26893 - store ptr %.sroa.620.8.copyload, ptr %5, align 8, !noalias !26896 - %.sroa.1013.8..sroa_idx = getelementptr inbounds i8, ptr %5, i64 8 - store ptr %39, ptr %.sroa.1013.8..sroa_idx, align 8, !noalias !26896 + store ptr %.sroa.618.8.copyload, ptr %5, align 8, !noalias !26896 + %.sroa.912.8..sroa_idx = getelementptr inbounds i8, ptr %5, i64 8 + store ptr %39, ptr %.sroa.912.8..sroa_idx, align 8, !noalias !26896 %.sroa.11.8..sroa_idx = getelementptr inbounds i8, ptr %5, i64 16 store i64 %38, ptr %.sroa.11.8..sroa_idx, align 8, !noalias !26896 %40 = call noundef nonnull ptr @"_ZN5typst6layout5frame118_$LT$impl$u20$core..convert..From$LT$typst..layout..frame..Position$GT$$u20$for$u20$typst..foundations..dict..Dict$GT$4from17h0af1b992c9e7326fE"(ptr noalias nocapture noundef nonnull align 8 dereferenceable(24) %5), !noalias !26898 @@ -153550,7 +153550,7 @@ default.unreachable4.i: ; preds = %22 41: ; preds = %22 %42 = getelementptr inbounds i8, ptr %1, i64 16 - %.sroa.921.16.copyload = load i64, ptr %42, align 16, !alias.scope !26892 + %.sroa.919.16.copyload = load i64, ptr %42, align 16, !alias.scope !26892 %.sroa.12.16..sroa_idx = getelementptr inbounds i8, ptr %1, i64 24 %.sroa.12.sroa.0.0.copyload = load i64, ptr %.sroa.12.16..sroa_idx, align 8, !alias.scope !26892 %.sroa.12.sroa.9.0..sroa.12.16..sroa_idx.sroa_idx = getelementptr inbounds i8, ptr %1, i64 32 @@ -153567,7 +153567,7 @@ default.unreachable4.i: ; preds = %22 unreachable "_ZN96_$LT$typst..introspection..location..Location$u20$as$u20$typst..foundations..cast..IntoValue$GT$10into_value17hbec6f608b8a691dbE.exit.i.i": ; preds = %41 - %47 = inttoptr i64 %.sroa.921.16.copyload to ptr + %47 = inttoptr i64 %.sroa.919.16.copyload to ptr store i64 1, ptr %44, align 16 %.sroa.4.0..sroa_idx.i.i.i.i = getelementptr inbounds i8, ptr %44, i64 8 store i64 1, ptr %.sroa.4.0..sroa_idx.i.i.i.i, align 8 @@ -153582,7 +153582,7 @@ default.unreachable4.i: ; preds = %22 "_ZN87_$LT$typst..model..link..Destination$u20$as$u20$typst..foundations..cast..IntoValue$GT$10into_value17h4e934511386e54ccE.exit.i": ; preds = %"_ZN96_$LT$typst..introspection..location..Location$u20$as$u20$typst..foundations..cast..IntoValue$GT$10into_value17hbec6f608b8a691dbE.exit.i.i", %36, %34 %.sroa.9.0 = phi ptr [ @anon.17bb7092bb43bb22a4c4760daf7f42f8.1165.llvm.2456044669961016091, %"_ZN96_$LT$typst..introspection..location..Location$u20$as$u20$typst..foundations..cast..IntoValue$GT$10into_value17hbec6f608b8a691dbE.exit.i.i" ], [ undef, %36 ], [ %35, %34 ] - %.sroa.6.0 = phi ptr [ %44, %"_ZN96_$LT$typst..introspection..location..Location$u20$as$u20$typst..foundations..cast..IntoValue$GT$10into_value17hbec6f608b8a691dbE.exit.i.i" ], [ %40, %36 ], [ %.sroa.620.0.ph, %34 ] + %.sroa.6.0 = phi ptr [ %44, %"_ZN96_$LT$typst..introspection..location..Location$u20$as$u20$typst..foundations..cast..IntoValue$GT$10into_value17hbec6f608b8a691dbE.exit.i.i" ], [ %40, %36 ], [ %.sroa.618.0.ph, %34 ] %.sink.i.i = phi i8 [ 29, %"_ZN96_$LT$typst..introspection..location..Location$u20$as$u20$typst..foundations..cast..IntoValue$GT$10into_value17hbec6f608b8a691dbE.exit.i.i" ], [ 23, %36 ], [ 15, %34 ] call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %5), !noalias !26905 br label %"_ZN86_$LT$typst..model..link..LinkTarget$u20$as$u20$typst..foundations..cast..IntoValue$GT$10into_value17ha91227918f496c40E.exit" @@ -153664,12 +153664,12 @@ define noundef nonnull ptr @"_ZN5typst5model4link1_94_$LT$impl$u20$typst..founda tail call void @llvm.assume(i1 %19) br label %22 -"_ZN4core3ptr49drop_in_place$LT$typst..foundations..str..Str$GT$17h6961c5c9a620717aE.exit25": ; preds = %89, %91, %77, %37, %20 - %.pn = phi { ptr, i32 } [ %78, %77 ], [ %21, %20 ], [ %lpad.thr_comm.split-lp, %37 ], [ %lpad.thr_comm, %91 ], [ %lpad.thr_comm, %89 ] +"_ZN4core3ptr49drop_in_place$LT$typst..foundations..str..Str$GT$17h6961c5c9a620717aE.exit25": ; preds = %88, %90, %76, %37, %20 + %.pn = phi { ptr, i32 } [ %77, %76 ], [ %21, %20 ], [ %lpad.thr_comm.split-lp, %37 ], [ %lpad.thr_comm, %90 ], [ %lpad.thr_comm, %88 ] invoke void @"_ZN4core3ptr51drop_in_place$LT$typst..foundations..dict..Dict$GT$17h2ab1f5b053e9f942E"(ptr noalias noundef nonnull align 8 dereferenceable(8) %9) #57 - to label %92 unwind label %87 + to label %91 unwind label %86 -20: ; preds = %66, %61, %15, %1 +20: ; preds = %65, %60, %15, %1 %21 = landingpad { ptr, i32 } cleanup br label %"_ZN4core3ptr49drop_in_place$LT$typst..foundations..str..Str$GT$17h6961c5c9a620717aE.exit25" @@ -153722,12 +153722,12 @@ default.unreachable4.i: ; preds = %25 36: ; preds = %32 invoke void @_ZN4ecow3vec18ref_count_overflow17ha57885ada501a9aaE(ptr noundef nonnull %.sroa.01.0.copyload2.i5, i64 noundef %.sroa.5.0.copyload3.i7) #60 - to label %.noexc10 unwind label %89 + to label %.noexc10 unwind label %88 .noexc10: ; preds = %36 unreachable -37: ; preds = %60 +37: ; preds = %"_ZN86_$LT$typst..model..link..LinkTarget$u20$as$u20$typst..foundations..cast..IntoValue$GT$10into_value17ha91227918f496c40E.exit" %lpad.thr_comm.split-lp = landingpad { ptr, i32 } cleanup br label %"_ZN4core3ptr49drop_in_place$LT$typst..foundations..str..Str$GT$17h6961c5c9a620717aE.exit25" @@ -153735,35 +153735,35 @@ default.unreachable4.i: ; preds = %25 38: ; preds = %32, %31, %26 %.sroa.6.0.ph = phi ptr [ %.sroa.01.0.copyload2.i5, %26 ], [ inttoptr (i64 16 to ptr), %31 ], [ %.sroa.01.0.copyload2.i5, %32 ] %39 = ptrtoint ptr %.sroa.6.0.ph to i64 - %.sroa.6.0.extract.trunc51 = trunc i64 %39 to i32 - %.sroa.6.4.extract.shift52 = lshr i64 %39, 32 - %.sroa.6.4.extract.trunc53 = trunc i64 %.sroa.6.4.extract.shift52 to i32 + %.sroa.6.0.extract.trunc47 = trunc i64 %39 to i32 + %.sroa.6.4.extract.shift48 = lshr i64 %39, 32 + %.sroa.6.4.extract.trunc49 = trunc i64 %.sroa.6.4.extract.shift48 to i32 call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %3), !noalias !26938 %40 = getelementptr inbounds i8, ptr %7, i64 8 - store i32 %.sroa.6.0.extract.trunc51, ptr %40, align 8, !alias.scope !26942 - %.sroa.10.8..sroa_idx28 = getelementptr inbounds i8, ptr %7, i64 12 - store i32 %.sroa.6.4.extract.trunc53, ptr %.sroa.10.8..sroa_idx28, align 4, !alias.scope !26942 - %.sroa.10.sroa.6.0..sroa.10.8..sroa_idx28.sroa_idx = getelementptr inbounds i8, ptr %7, i64 16 - store i64 %.sroa.5.0.copyload3.i7, ptr %.sroa.10.sroa.6.0..sroa.10.8..sroa_idx28.sroa_idx, align 8, !alias.scope !26942 + store i32 %.sroa.6.0.extract.trunc47, ptr %40, align 8, !alias.scope !26942 + %.sroa.9.8..sroa_idx27 = getelementptr inbounds i8, ptr %7, i64 12 + store i32 %.sroa.6.4.extract.trunc49, ptr %.sroa.9.8..sroa_idx27, align 4, !alias.scope !26942 + %.sroa.9.sroa.5.0..sroa.9.8..sroa_idx27.sroa_idx = getelementptr inbounds i8, ptr %7, i64 16 + store i64 %.sroa.5.0.copyload3.i7, ptr %.sroa.9.sroa.5.0..sroa.9.8..sroa_idx27.sroa_idx, align 8, !alias.scope !26942 br label %"_ZN87_$LT$typst..model..link..Destination$u20$as$u20$typst..foundations..cast..IntoValue$GT$10into_value17h4e934511386e54ccE.exit.i" 41: ; preds = %25 %42 = getelementptr inbounds i8, ptr %0, i64 8 %.sroa.6.8.copyload = load ptr, ptr %42, align 8, !alias.scope !26945 - %.sroa.1032.8..sroa_idx = getelementptr inbounds i8, ptr %0, i64 16 + %.sroa.10.8..sroa_idx = getelementptr inbounds i8, ptr %0, i64 16 %43 = ptrtoint ptr %.sroa.6.8.copyload to i64 - %.sroa.6.0.extract.trunc61 = trunc i64 %43 to i32 - %.sroa.6.4.extract.shift62 = lshr i64 %43, 32 - %.sroa.6.4.extract.trunc63 = trunc i64 %.sroa.6.4.extract.shift62 to i32 + %.sroa.6.0.extract.trunc57 = trunc i64 %43 to i32 + %.sroa.6.4.extract.shift58 = lshr i64 %43, 32 + %.sroa.6.4.extract.trunc59 = trunc i64 %.sroa.6.4.extract.shift58 to i32 call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %3), !noalias !26946 - store i32 %.sroa.6.0.extract.trunc61, ptr %3, align 8, !noalias !26949 - %.sroa.10.8..sroa_idx = getelementptr inbounds i8, ptr %3, i64 4 - store i32 %.sroa.6.4.extract.trunc63, ptr %.sroa.10.8..sroa_idx, align 4, !noalias !26949 - %.sroa.10.sroa.6.0..sroa.10.8..sroa_idx.sroa_idx = getelementptr inbounds i8, ptr %3, i64 8 - %44 = load <2 x i64>, ptr %.sroa.1032.8..sroa_idx, align 16, !alias.scope !26945 - store <2 x i64> %44, ptr %.sroa.10.sroa.6.0..sroa.10.8..sroa_idx.sroa_idx, align 8, !noalias !26949 + store i32 %.sroa.6.0.extract.trunc57, ptr %3, align 8, !noalias !26949 + %.sroa.9.8..sroa_idx = getelementptr inbounds i8, ptr %3, i64 4 + store i32 %.sroa.6.4.extract.trunc59, ptr %.sroa.9.8..sroa_idx, align 4, !noalias !26949 + %.sroa.9.sroa.5.0..sroa.9.8..sroa_idx.sroa_idx = getelementptr inbounds i8, ptr %3, i64 8 + %44 = load <2 x i64>, ptr %.sroa.10.8..sroa_idx, align 16, !alias.scope !26945 + store <2 x i64> %44, ptr %.sroa.9.sroa.5.0..sroa.9.8..sroa_idx.sroa_idx, align 8, !noalias !26949 %45 = invoke noundef nonnull ptr @"_ZN5typst6layout5frame118_$LT$impl$u20$core..convert..From$LT$typst..layout..frame..Position$GT$$u20$for$u20$typst..foundations..dict..Dict$GT$4from17h0af1b992c9e7326fE"(ptr noalias nocapture noundef nonnull align 8 dereferenceable(24) %3) - to label %.noexc11 unwind label %89 + to label %.noexc11 unwind label %88 .noexc11: ; preds = %41 %46 = getelementptr inbounds i8, ptr %7, i64 8 @@ -153780,7 +153780,7 @@ default.unreachable4.i: ; preds = %25 tail call void @llvm.experimental.noalias.scope.decl(metadata !26958) call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %3), !noalias !26942 %50 = invoke { ptr, i64 } @_ZN5alloc5alloc6Global10alloc_impl17h996700ad2487d67cE.llvm.2456044669961016091(ptr noalias noundef nonnull readonly align 1 @anon.17bb7092bb43bb22a4c4760daf7f42f8.128.llvm.2456044669961016091, i64 noundef 16, i64 noundef 48, i1 noundef zeroext false) - to label %.noexc12 unwind label %89 + to label %.noexc12 unwind label %88 .noexc12: ; preds = %47 %51 = extractvalue { ptr, i64 } %50, 0 @@ -153789,7 +153789,7 @@ default.unreachable4.i: ; preds = %25 53: ; preds = %.noexc12 invoke void @_ZN5alloc5alloc18handle_alloc_error17h836e982fea7018bdE(i64 noundef 16, i64 noundef 48) #60 - to label %.noexc13 unwind label %89 + to label %.noexc13 unwind label %88 .noexc13: ; preds = %53 unreachable @@ -153813,7 +153813,7 @@ default.unreachable4.i: ; preds = %25 %.sink.i.i = phi i8 [ 29, %"_ZN96_$LT$typst..introspection..location..Location$u20$as$u20$typst..foundations..cast..IntoValue$GT$10into_value17hbec6f608b8a691dbE.exit.i.i" ], [ 23, %.noexc11 ], [ 15, %38 ] store i8 %.sink.i.i, ptr %7, align 8, !alias.scope !26964, !noalias !26965 call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %3), !noalias !26942 - br label %60 + br label %"_ZN86_$LT$typst..model..link..LinkTarget$u20$as$u20$typst..foundations..cast..IntoValue$GT$10into_value17ha91227918f496c40E.exit" 56: ; preds = %22 %57 = getelementptr inbounds i8, ptr %0, i64 8 @@ -153821,13 +153821,13 @@ default.unreachable4.i: ; preds = %25 %59 = getelementptr inbounds i8, ptr %7, i64 4 store i32 %58, ptr %59, align 4, !alias.scope !26966, !noalias !26958 store i8 17, ptr %7, align 8, !alias.scope !26966, !noalias !26958 - br label %60 + br label %"_ZN86_$LT$typst..model..link..LinkTarget$u20$as$u20$typst..foundations..cast..IntoValue$GT$10into_value17ha91227918f496c40E.exit" -60: ; preds = %56, %"_ZN87_$LT$typst..model..link..Destination$u20$as$u20$typst..foundations..cast..IntoValue$GT$10into_value17h4e934511386e54ccE.exit.i" +"_ZN86_$LT$typst..model..link..LinkTarget$u20$as$u20$typst..foundations..cast..IntoValue$GT$10into_value17ha91227918f496c40E.exit": ; preds = %56, %"_ZN87_$LT$typst..model..link..Destination$u20$as$u20$typst..foundations..cast..IntoValue$GT$10into_value17h4e934511386e54ccE.exit.i" invoke void @_ZN5typst11foundations4dict4Dict6insert17hd33ade4b45d0ed8bE(ptr noalias noundef nonnull align 8 dereferenceable(8) %9, ptr noalias nocapture noundef nonnull align 8 dereferenceable(16) %8, ptr noalias nocapture noundef nonnull align 8 dereferenceable(32) %7) - to label %61 unwind label %37 + to label %60 unwind label %37 -61: ; preds = %60 +60: ; preds = %"_ZN86_$LT$typst..model..link..LinkTarget$u20$as$u20$typst..foundations..cast..IntoValue$GT$10into_value17ha91227918f496c40E.exit" call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %7) call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %8) call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %6) @@ -153836,93 +153836,93 @@ default.unreachable4.i: ; preds = %25 invoke void @_ZN4ecow7dynamic9InlineVec10from_slice17hf2339a8bafc08660E.llvm.7889846851399105414(ptr noalias nocapture noundef nonnull sret({ i8, [16 x i8] }) align 1 dereferenceable(17) %2, ptr noalias noundef nonnull readonly align 1 @anon.152f57749fcdf0a673d809c4f4545e7f.611, i64 noundef 4) to label %.noexc20 unwind label %20 -.noexc20: ; preds = %61 - %62 = load i8, ptr %2, align 1, !range !152, !noalias !26972, !noundef !7 - %63 = icmp eq i8 %62, 0 - br i1 %63, label %64, label %66 +.noexc20: ; preds = %60 + %61 = load i8, ptr %2, align 1, !range !152, !noalias !26972, !noundef !7 + %62 = icmp eq i8 %61, 0 + br i1 %62, label %63, label %65 -64: ; preds = %.noexc20 - %65 = getelementptr inbounds i8, ptr %2, i64 1 - %.sroa.01.0.copyload2.i17 = load ptr, ptr %65, align 1, !noalias !26977 +63: ; preds = %.noexc20 + %64 = getelementptr inbounds i8, ptr %2, i64 1 + %.sroa.01.0.copyload2.i17 = load ptr, ptr %64, align 1, !noalias !26977 %.sroa.5.0..sroa_idx.i18 = getelementptr inbounds i8, ptr %2, i64 9 %.sroa.5.0.copyload3.i19 = load i64, ptr %.sroa.5.0..sroa_idx.i18, align 1, !noalias !26977 - br label %71 + br label %70 -66: ; preds = %.noexc20 - %67 = invoke { ptr, i64 } @"_ZN89_$LT$ecow..vec..EcoVec$LT$T$GT$$u20$as$u20$core..convert..From$LT$$RF$$u5b$T$u5d$$GT$$GT$4from17h4b21451a145e6dd5E"(ptr noalias noundef nonnull readonly align 1 @anon.152f57749fcdf0a673d809c4f4545e7f.611, i64 noundef 4) +65: ; preds = %.noexc20 + %66 = invoke { ptr, i64 } @"_ZN89_$LT$ecow..vec..EcoVec$LT$T$GT$$u20$as$u20$core..convert..From$LT$$RF$$u5b$T$u5d$$GT$$GT$4from17h4b21451a145e6dd5E"(ptr noalias noundef nonnull readonly align 1 @anon.152f57749fcdf0a673d809c4f4545e7f.611, i64 noundef 4) to label %.noexc21 unwind label %20 -.noexc21: ; preds = %66 - %68 = extractvalue { ptr, i64 } %67, 0 - %69 = extractvalue { ptr, i64 } %67, 1 - %70 = icmp ne ptr %68, null - call void @llvm.assume(i1 %70) - br label %71 +.noexc21: ; preds = %65 + %67 = extractvalue { ptr, i64 } %66, 0 + %68 = extractvalue { ptr, i64 } %66, 1 + %69 = icmp ne ptr %67, null + call void @llvm.assume(i1 %69) + br label %70 -71: ; preds = %.noexc21, %64 - %.sroa.5.0.i14 = phi i64 [ %.sroa.5.0.copyload3.i19, %64 ], [ %69, %.noexc21 ] - %.sroa.01.0.i15 = phi ptr [ %.sroa.01.0.copyload2.i17, %64 ], [ %68, %.noexc21 ] +70: ; preds = %.noexc21, %63 + %.sroa.5.0.i14 = phi i64 [ %.sroa.5.0.copyload3.i19, %63 ], [ %68, %.noexc21 ] + %.sroa.01.0.i15 = phi ptr [ %.sroa.01.0.copyload2.i17, %63 ], [ %67, %.noexc21 ] call void @llvm.lifetime.end.p0(i64 17, ptr nonnull %2), !noalias !26972 store ptr %.sroa.01.0.i15, ptr %6, align 8, !alias.scope !26969, !noalias !26978 %.sroa.0.sroa.4.0..sroa_idx.i16 = getelementptr inbounds i8, ptr %6, i64 8 store i64 %.sroa.5.0.i14, ptr %.sroa.0.sroa.4.0..sroa_idx.i16, align 8, !alias.scope !26969, !noalias !26978 call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %5) - %72 = getelementptr inbounds i8, ptr %0, i64 48 + %71 = getelementptr inbounds i8, ptr %0, i64 48 call void @llvm.experimental.noalias.scope.decl(metadata !26979) - %73 = load ptr, ptr %72, align 16, !alias.scope !26979, !nonnull !7, !noundef !7 - %74 = atomicrmw add ptr %73, i64 1 monotonic, align 8, !noalias !26979 - %75 = icmp slt i64 %74, 0 - br i1 %75, label %76, label %79 + %72 = load ptr, ptr %71, align 16, !alias.scope !26979, !nonnull !7, !noundef !7 + %73 = atomicrmw add ptr %72, i64 1 monotonic, align 8, !noalias !26979 + %74 = icmp slt i64 %73, 0 + br i1 %74, label %75, label %78 -76: ; preds = %71 +75: ; preds = %70 call void @llvm.trap() unreachable -77: ; preds = %79 - %78 = landingpad { ptr, i32 } +76: ; preds = %78 + %77 = landingpad { ptr, i32 } cleanup br label %"_ZN4core3ptr49drop_in_place$LT$typst..foundations..str..Str$GT$17h6961c5c9a620717aE.exit25" -79: ; preds = %71 - %80 = getelementptr inbounds i8, ptr %0, i64 56 - %81 = load ptr, ptr %80, align 8, !alias.scope !26979, !nonnull !7, !align !876, !noundef !7 - %82 = getelementptr inbounds i8, ptr %0, i64 64 - %83 = load i64, ptr %82, align 16, !range !1003, !noundef !7 +78: ; preds = %70 + %79 = getelementptr inbounds i8, ptr %0, i64 56 + %80 = load ptr, ptr %79, align 8, !alias.scope !26979, !nonnull !7, !align !876, !noundef !7 + %81 = getelementptr inbounds i8, ptr %0, i64 64 + %82 = load i64, ptr %81, align 16, !range !1003, !noundef !7 call void @llvm.experimental.noalias.scope.decl(metadata !26982) - %84 = getelementptr inbounds i8, ptr %5, i64 8 - store ptr %73, ptr %84, align 8, !alias.scope !26985 + %83 = getelementptr inbounds i8, ptr %5, i64 8 + store ptr %72, ptr %83, align 8, !alias.scope !26985 %.sroa.4.0..sroa_idx = getelementptr inbounds i8, ptr %5, i64 16 - store ptr %81, ptr %.sroa.4.0..sroa_idx, align 8, !alias.scope !26985 - %.sroa.530.0..sroa_idx = getelementptr inbounds i8, ptr %5, i64 24 - store i64 %83, ptr %.sroa.530.0..sroa_idx, align 8, !alias.scope !26985 + store ptr %80, ptr %.sroa.4.0..sroa_idx, align 8, !alias.scope !26985 + %.sroa.529.0..sroa_idx = getelementptr inbounds i8, ptr %5, i64 24 + store i64 %82, ptr %.sroa.529.0..sroa_idx, align 8, !alias.scope !26985 store i8 20, ptr %5, align 8, !alias.scope !26987, !noalias !26982 invoke void @_ZN5typst11foundations4dict4Dict6insert17hd33ade4b45d0ed8bE(ptr noalias noundef nonnull align 8 dereferenceable(8) %9, ptr noalias nocapture noundef nonnull align 8 dereferenceable(16) %6, ptr noalias nocapture noundef nonnull align 8 dereferenceable(32) %5) - to label %85 unwind label %77 + to label %84 unwind label %76 -85: ; preds = %79 +84: ; preds = %78 call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %5) call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %6) - %86 = load ptr, ptr %9, align 8, !nonnull !7, !noundef !7 + %85 = load ptr, ptr %9, align 8, !nonnull !7, !noundef !7 call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %9) - ret ptr %86 + ret ptr %85 -87: ; preds = %91, %"_ZN4core3ptr49drop_in_place$LT$typst..foundations..str..Str$GT$17h6961c5c9a620717aE.exit25" - %88 = landingpad { ptr, i32 } +86: ; preds = %90, %"_ZN4core3ptr49drop_in_place$LT$typst..foundations..str..Str$GT$17h6961c5c9a620717aE.exit25" + %87 = landingpad { ptr, i32 } filter [0 x ptr] zeroinitializer call void @_ZN4core9panicking16panic_in_cleanup17h76c6e1c84248d3ffE() #59 unreachable -89: ; preds = %36, %41, %47, %53 +88: ; preds = %36, %41, %47, %53 %lpad.thr_comm = landingpad { ptr, i32 } cleanup - %90 = icmp sgt i64 %.sroa.5.0.i, -1 - br i1 %90, label %91, label %"_ZN4core3ptr49drop_in_place$LT$typst..foundations..str..Str$GT$17h6961c5c9a620717aE.exit25" + %89 = icmp sgt i64 %.sroa.5.0.i, -1 + br i1 %89, label %90, label %"_ZN4core3ptr49drop_in_place$LT$typst..foundations..str..Str$GT$17h6961c5c9a620717aE.exit25" -91: ; preds = %89 +90: ; preds = %88 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) %8) - to label %"_ZN4core3ptr49drop_in_place$LT$typst..foundations..str..Str$GT$17h6961c5c9a620717aE.exit25" unwind label %87 + to label %"_ZN4core3ptr49drop_in_place$LT$typst..foundations..str..Str$GT$17h6961c5c9a620717aE.exit25" unwind label %86 -92: ; preds = %"_ZN4core3ptr49drop_in_place$LT$typst..foundations..str..Str$GT$17h6961c5c9a620717aE.exit25" +91: ; preds = %"_ZN4core3ptr49drop_in_place$LT$typst..foundations..str..Str$GT$17h6961c5c9a620717aE.exit25" resume { ptr, i32 } %.pn } @@ -166116,14 +166116,12 @@ define noundef zeroext i1 @"_ZN84_$LT$typst..model..link..LinkTarget$u20$as$u20$ define void @"_ZN86_$LT$typst..model..link..LinkTarget$u20$as$u20$typst..foundations..cast..IntoValue$GT$10into_value17ha91227918f496c40E"(ptr noalias nocapture noundef writeonly sret({ i8, [31 x i8] }) align 8 dereferenceable(32) %0, ptr noalias nocapture noundef readonly align 16 dereferenceable(48) %1) unnamed_addr #1 personality ptr @rust_eh_personality { %.sroa.5.i.i.i = alloca { i128, i64, i64 }, align 16 %3 = alloca { i64, { double, double } }, align 8 - %.sroa.2 = alloca [5 x i64], align 8 %4 = load i64, ptr %1, align 16, !range !2547, !noundef !7 %5 = icmp eq i64 %4, 3 %6 = getelementptr inbounds i8, ptr %1, i64 8 - br i1 %5, label %20, label %7 + br i1 %5, label %21, label %7 7: ; preds = %2 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %.sroa.2, ptr noundef nonnull align 8 dereferenceable(40) %6, i64 40, i1 false) tail call void @llvm.experimental.noalias.scope.decl(metadata !29585) call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %3) switch i64 %4, label %default.unreachable1.i [ @@ -166150,45 +166148,45 @@ default.unreachable1.i: ; preds = %7 13: ; preds = %7 call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %.sroa.5.i.i.i) - %.sroa.2.16..sroa_idx = getelementptr inbounds i8, ptr %.sroa.2, i64 8 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(32) %.sroa.5.i.i.i, ptr noundef nonnull align 8 dereferenceable(32) %.sroa.2.16..sroa_idx, i64 32, i1 false), !noalias !29585 + %14 = getelementptr inbounds i8, ptr %1, i64 16 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(32) %.sroa.5.i.i.i, ptr noundef nonnull align 16 dereferenceable(32) %14, i64 32, i1 false) tail call void @llvm.experimental.noalias.scope.decl(metadata !29596) - %14 = tail call { ptr, i64 } @_ZN5alloc5alloc6Global10alloc_impl17h996700ad2487d67cE.llvm.2456044669961016091(ptr noalias noundef nonnull readonly align 1 @anon.17bb7092bb43bb22a4c4760daf7f42f8.128.llvm.2456044669961016091, i64 noundef 16, i64 noundef 48, i1 noundef zeroext false), !noalias !29599 - %15 = extractvalue { ptr, i64 } %14, 0 - %16 = icmp eq ptr %15, null - br i1 %16, label %17, label %"_ZN96_$LT$typst..introspection..location..Location$u20$as$u20$typst..foundations..cast..IntoValue$GT$10into_value17hbec6f608b8a691dbE.exit.i" + %15 = tail call { ptr, i64 } @_ZN5alloc5alloc6Global10alloc_impl17h996700ad2487d67cE.llvm.2456044669961016091(ptr noalias noundef nonnull readonly align 1 @anon.17bb7092bb43bb22a4c4760daf7f42f8.128.llvm.2456044669961016091, i64 noundef 16, i64 noundef 48, i1 noundef zeroext false), !noalias !29599 + %16 = extractvalue { ptr, i64 } %15, 0 + %17 = icmp eq ptr %16, null + br i1 %17, label %18, label %"_ZN96_$LT$typst..introspection..location..Location$u20$as$u20$typst..foundations..cast..IntoValue$GT$10into_value17hbec6f608b8a691dbE.exit.i" -17: ; preds = %13 +18: ; preds = %13 tail call void @_ZN5alloc5alloc18handle_alloc_error17h836e982fea7018bdE(i64 noundef 16, i64 noundef 48) #60, !noalias !29599 unreachable "_ZN96_$LT$typst..introspection..location..Location$u20$as$u20$typst..foundations..cast..IntoValue$GT$10into_value17hbec6f608b8a691dbE.exit.i": ; preds = %13 - store i64 1, ptr %15, align 16 - %.sroa.4.0..sroa_idx.i.i.i = getelementptr inbounds i8, ptr %15, i64 8 + store i64 1, ptr %16, align 16 + %.sroa.4.0..sroa_idx.i.i.i = getelementptr inbounds i8, ptr %16, i64 8 store i64 1, ptr %.sroa.4.0..sroa_idx.i.i.i, align 8 - %.sroa.5.0..sroa_idx.i.i.i = getelementptr inbounds i8, ptr %15, i64 16 + %.sroa.5.0..sroa_idx.i.i.i = getelementptr inbounds i8, ptr %16, i64 16 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(32) %.sroa.5.0..sroa_idx.i.i.i, ptr noundef nonnull align 16 dereferenceable(32) %.sroa.5.i.i.i, i64 32, i1 false) call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %.sroa.5.i.i.i) - %18 = getelementptr inbounds i8, ptr %0, i64 8 - store ptr %15, ptr %18, align 8, !alias.scope !29605, !noalias !29606 - %19 = getelementptr inbounds i8, ptr %0, i64 16 - store ptr @anon.17bb7092bb43bb22a4c4760daf7f42f8.1165.llvm.2456044669961016091, ptr %19, align 8, !alias.scope !29605, !noalias !29606 + %19 = getelementptr inbounds i8, ptr %0, i64 8 + store ptr %16, ptr %19, align 8, !alias.scope !29605, !noalias !29606 + %20 = getelementptr inbounds i8, ptr %0, i64 16 + store ptr @anon.17bb7092bb43bb22a4c4760daf7f42f8.1165.llvm.2456044669961016091, ptr %20, align 8, !alias.scope !29605, !noalias !29606 br label %"_ZN87_$LT$typst..model..link..Destination$u20$as$u20$typst..foundations..cast..IntoValue$GT$10into_value17h4e934511386e54ccE.exit" "_ZN87_$LT$typst..model..link..Destination$u20$as$u20$typst..foundations..cast..IntoValue$GT$10into_value17h4e934511386e54ccE.exit": ; preds = %8, %10, %"_ZN96_$LT$typst..introspection..location..Location$u20$as$u20$typst..foundations..cast..IntoValue$GT$10into_value17hbec6f608b8a691dbE.exit.i" %.sink.i = phi i8 [ 29, %"_ZN96_$LT$typst..introspection..location..Location$u20$as$u20$typst..foundations..cast..IntoValue$GT$10into_value17hbec6f608b8a691dbE.exit.i" ], [ 23, %10 ], [ 15, %8 ] store i8 %.sink.i, ptr %0, align 8, !alias.scope !29585, !noalias !29607 call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %3) - br label %23 + br label %24 -20: ; preds = %2 - %21 = load i32, ptr %6, align 8, !noundef !7 - %22 = getelementptr inbounds i8, ptr %0, i64 4 - store i32 %21, ptr %22, align 4, !alias.scope !29608 +21: ; preds = %2 + %22 = load i32, ptr %6, align 8, !noundef !7 + %23 = getelementptr inbounds i8, ptr %0, i64 4 + store i32 %22, ptr %23, align 4, !alias.scope !29608 store i8 17, ptr %0, align 8, !alias.scope !29608 - br label %23 + br label %24 -23: ; preds = %20, %"_ZN87_$LT$typst..model..link..Destination$u20$as$u20$typst..foundations..cast..IntoValue$GT$10into_value17h4e934511386e54ccE.exit" +24: ; preds = %21, %"_ZN87_$LT$typst..model..link..Destination$u20$as$u20$typst..foundations..cast..IntoValue$GT$10into_value17h4e934511386e54ccE.exit" ret void } diff --git a/bench/typst-rs/optimized/2lj01bfl72moc27l.ll b/bench/typst-rs/optimized/2lj01bfl72moc27l.ll index 91a3546b2ee..71255edf0ee 100644 --- a/bench/typst-rs/optimized/2lj01bfl72moc27l.ll +++ b/bench/typst-rs/optimized/2lj01bfl72moc27l.ll @@ -2684,7 +2684,6 @@ define hidden void @_ZN6comemo5cache8memoized17h1286e671af80154bE(ptr noalias no %24 = alloca [3 x { ptr, ptr }], align 8 %25 = alloca { { { i64, ptr, {} }, i64 } }, align 8 %26 = alloca { { { i64, ptr, {} }, i64 } }, align 8 - %.sroa.3149.sroa.0.i = alloca [31 x i8], align 1 %.sroa.6147.sroa.0.i = alloca [31 x i8], align 1 %27 = alloca { i64, { { { ptr, i64 }, i64 }, i64, i64 }, i8, i8, [6 x i8] }, align 8 %28 = alloca { i64, [2 x i64] }, align 8 @@ -2970,7 +2969,6 @@ _ZN11parking_lot10raw_rwlock9RawRwLock20try_lock_shared_fast17hac4a5582ff04f5a0E .noexc52: ; preds = %129, %.loopexit call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %41) call void @llvm.experimental.noalias.scope.decl(metadata !471) - call void @llvm.lifetime.start.p0(i64 31, ptr nonnull %.sroa.3149.sroa.0.i) %154 = call noundef align 8 dereferenceable(2456) ptr @_ZN5typst4text4font4Font3ttf17h890e68128ca9bb9dE(ptr noalias noundef nonnull readonly align 8 dereferenceable(8) %1) %155 = getelementptr inbounds i8, ptr %154, i64 1672 %.sroa.042.0.copyload.i = load ptr, ptr %155, align 8, !noalias !471 @@ -3053,14 +3051,14 @@ _ZN10ttf_parser6tables3svg16SvgDocumentsList4find17h603d677cde62fc58E.exit.i: ; _ZN10ttf_parser6tables3svg16SvgDocumentsList4find17h603d677cde62fc58E.exit.thread.i: ; preds = %171, %.lr.ph.i.i.i, %180, %"_ZN10ttf_parser6parser20LazyArray16$LT$T$GT$3get17h87b66236ac18d2d7E.exit.i.i.i", %174, %157, %.noexc52 store i64 0, ptr %41, align 8, !alias.scope !471, !noalias !508 - br label %390 + br label %"_ZN9typst_svg31convert_svg_glyph_to_base64_url28_$u7b$$u7b$closure$u7d$$u7d$17hd1d2712e566e984bE.exit" .body.i: ; preds = %"_ZN4core3ptr44drop_in_place$LT$ecow..string..EcoString$GT$17h065513e1079629e8E.exit.i", %239, %234, %225, %220, %206, %188 %.pn98.i = phi { ptr, i32 } [ %.pn96.i, %"_ZN4core3ptr44drop_in_place$LT$ecow..string..EcoString$GT$17h065513e1079629e8E.exit.i" ], [ %207, %206 ], [ %189, %188 ], [ %226, %225 ], [ %221, %220 ], [ %240, %239 ], [ %235, %234 ] invoke void @"_ZN4core3ptr46drop_in_place$LT$alloc..vec..Vec$LT$u8$GT$$GT$17h3e5790181f72d887E"(ptr noalias noundef nonnull align 8 dereferenceable(24) %34) #21 - to label %"_ZN4core3ptr212drop_in_place$LT$lock_api..rwlock..RwLockReadGuard$LT$parking_lot..raw_rwlock..RawRwLock$C$comemo..cache..CacheData$LT$$LP$$LP$$RP$$C$$LP$$RP$$RP$$C$core..option..Option$LT$ecow..string..EcoString$GT$$GT$$GT$$GT$17hf216ce51f80afbc4E.exit79" unwind label %377, !noalias !471 + to label %"_ZN4core3ptr212drop_in_place$LT$lock_api..rwlock..RwLockReadGuard$LT$parking_lot..raw_rwlock..RawRwLock$C$comemo..cache..CacheData$LT$$LP$$LP$$RP$$C$$LP$$RP$$RP$$C$core..option..Option$LT$ecow..string..EcoString$GT$$GT$$GT$$GT$17hf216ce51f80afbc4E.exit79" unwind label %378, !noalias !471 -188: ; preds = %360, %268, %261, %259, %255, %253, %251, %249, %247, %"_ZN4core3ptr111drop_in_place$LT$flate2..gz..bufread..GzDecoder$LT$flate2..bufreader..BufReader$LT$$RF$$u5b$u8$u5d$$GT$$GT$$GT$17ha8940d53e8c5f5f8E.llvm.9341850390877611223.exit.i112.i", %"_ZN4core3ptr111drop_in_place$LT$flate2..gz..bufread..GzDecoder$LT$flate2..bufreader..BufReader$LT$$RF$$u5b$u8$u5d$$GT$$GT$$GT$17ha8940d53e8c5f5f8E.llvm.9341850390877611223.exit.i.i", %198, %"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$11starts_with17h41bdea673678d4a0E.exit.thread.i", %.noexc105.i, %191 +188: ; preds = %361, %268, %261, %259, %255, %253, %251, %249, %247, %"_ZN4core3ptr111drop_in_place$LT$flate2..gz..bufread..GzDecoder$LT$flate2..bufreader..BufReader$LT$$RF$$u5b$u8$u5d$$GT$$GT$$GT$17ha8940d53e8c5f5f8E.llvm.9341850390877611223.exit.i112.i", %"_ZN4core3ptr111drop_in_place$LT$flate2..gz..bufread..GzDecoder$LT$flate2..bufreader..BufReader$LT$$RF$$u5b$u8$u5d$$GT$$GT$$GT$17ha8940d53e8c5f5f8E.llvm.9341850390877611223.exit.i.i", %198, %"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$11starts_with17h41bdea673678d4a0E.exit.thread.i", %.noexc105.i, %191 %189 = landingpad { ptr, i32 } cleanup br label %.body.i @@ -3124,7 +3122,7 @@ _ZN10ttf_parser6tables3svg16SvgDocumentsList4find17h603d677cde62fc58E.exit.threa %207 = landingpad { ptr, i32 } cleanup invoke void @"_ZN4core3ptr72drop_in_place$LT$flate2..gz..read..GzDecoder$LT$$RF$$u5b$u8$u5d$$GT$$GT$17h6bc93a1decbead1aE"(ptr noalias noundef nonnull align 8 dereferenceable(208) %33) #21 - to label %.body.i unwind label %377, !noalias !471 + to label %.body.i unwind label %378, !noalias !471 208: ; preds = %205 %209 = load i64, ptr %32, align 8, !range !11, !noalias !506, !noundef !128 @@ -3323,17 +3321,17 @@ _ZN10ttf_parser6tables3svg16SvgDocumentsList4find17h603d677cde62fc58E.exit.threa %spec.select.i.i = select i1 %275, i64 3, i64 0 br label %"_ZN75_$LT$xmlparser..Tokenizer$u20$as$u20$core..convert..From$LT$$RF$str$GT$$GT$4from17h20ccfec39cdb7d95E.exit.i" -"_ZN4core3ptr44drop_in_place$LT$ecow..string..EcoString$GT$17h065513e1079629e8E.exit.i": ; preds = %381, %.thread219.i, %342, %322, %.loopexit.split-lp.i, %.loopexit.i - %.pn96.i = phi { ptr, i32 } [ %343, %342 ], [ %323, %322 ], [ %.pn222.i, %381 ], [ %.pn222.i, %.thread219.i ], [ %lpad.loopexit.i, %.loopexit.i ], [ %lpad.loopexit.split-lp.i, %.loopexit.split-lp.i ] +"_ZN4core3ptr44drop_in_place$LT$ecow..string..EcoString$GT$17h065513e1079629e8E.exit.i": ; preds = %382, %.thread219.i, %343, %323, %.loopexit.split-lp.i, %.loopexit.i + %.pn96.i = phi { ptr, i32 } [ %344, %343 ], [ %324, %323 ], [ %.pn222.i, %382 ], [ %.pn222.i, %.thread219.i ], [ %lpad.loopexit.i, %.loopexit.i ], [ %lpad.loopexit.split-lp.i, %.loopexit.split-lp.i ] invoke void @"_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17h46d3fb8b436ff347E"(ptr noalias noundef nonnull align 8 dereferenceable(24) %29) #21 - to label %.body.i unwind label %377, !noalias !471 + to label %.body.i unwind label %378, !noalias !471 .loopexit.i: ; preds = %277 %lpad.loopexit.i = landingpad { ptr, i32 } cleanup br label %"_ZN4core3ptr44drop_in_place$LT$ecow..string..EcoString$GT$17h065513e1079629e8E.exit.i" -.loopexit.split-lp.i: ; preds = %_ZN5alloc6string6String10insert_str17h5b09486dce3ba137E.exit.i, %300, %298, %296, %283 +.loopexit.split-lp.i: ; preds = %_ZN5alloc6string6String10insert_str17h5b09486dce3ba137E.exit.i, %301, %299, %297, %283 %lpad.loopexit.split-lp.i = landingpad { ptr, i32 } cleanup br label %"_ZN4core3ptr44drop_in_place$LT$ecow..string..EcoString$GT$17h065513e1079629e8E.exit.i" @@ -3411,29 +3409,27 @@ _ZN10ttf_parser6tables3svg16SvgDocumentsList4find17h603d677cde62fc58E.exit.threa br i1 %or.cond9.i.i, label %277, label %._crit_edge.i.i 282: ; preds = %._crit_edge.i.i - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(31) %.sroa.6147.sroa.0.i, ptr noundef nonnull align 1 dereferenceable(31) %.sroa.8.i.sroa.0.i, i64 31, i1 false), !noalias !560 call void @llvm.lifetime.end.p0(i64 31, ptr nonnull %.sroa.8.i.sroa.0.i) - br i1 %.not6.i.i, label %.loopexit225.i, label %284 + br i1 %.not6.i.i, label %.loopexit225.i, label %285 -.loopexit225.i: ; preds = %284, %282, %292, %.thread176.i - %.sroa.010.0244.i = phi ptr [ %.sroa.010.0.lcssa.i, %.thread176.i ], [ %.sroa.010.0251.i, %292 ], [ %.sroa.010.0251.i, %282 ], [ %.sroa.010.0251.i, %284 ] - %.sroa.028.0.i = phi i1 [ true, %.thread176.i ], [ %293, %292 ], [ true, %282 ], [ true, %284 ] - %.sroa.429.0.i = phi i64 [ undef, %.thread176.i ], [ %.sroa.8.i.sroa.8.0.copyload.i, %292 ], [ %.sroa.8.i.sroa.8.0.copyload.i, %282 ], [ %.sroa.8.i.sroa.8.0.copyload.i, %284 ] - %.sroa.530.0.i = phi i64 [ undef, %.thread176.i ], [ %.sroa.8.i.sroa.9.0.copyload.i, %292 ], [ %.sroa.8.i.sroa.9.0.copyload.i, %282 ], [ %.sroa.8.i.sroa.9.0.copyload.i, %284 ] +.loopexit225.i: ; preds = %285, %282, %293, %.thread176.i + %.sroa.010.0244.i = phi ptr [ %.sroa.010.0.lcssa.i, %.thread176.i ], [ %.sroa.010.0251.i, %293 ], [ %.sroa.010.0251.i, %282 ], [ %.sroa.010.0251.i, %285 ] + %.sroa.028.0.i = phi i1 [ true, %.thread176.i ], [ %294, %293 ], [ true, %282 ], [ true, %285 ] + %.sroa.429.0.i = phi i64 [ undef, %.thread176.i ], [ %.sroa.8.i.sroa.8.0.copyload.i, %293 ], [ %.sroa.8.i.sroa.8.0.copyload.i, %282 ], [ %.sroa.8.i.sroa.8.0.copyload.i, %285 ] + %.sroa.530.0.i = phi i64 [ undef, %.thread176.i ], [ %.sroa.8.i.sroa.9.0.copyload.i, %293 ], [ %.sroa.8.i.sroa.9.0.copyload.i, %282 ], [ %.sroa.8.i.sroa.9.0.copyload.i, %285 ] call void @llvm.lifetime.end.p0(i64 31, ptr nonnull %.sroa.6147.sroa.0.i) call void @llvm.lifetime.end.p0(i64 56, ptr nonnull %27), !noalias !506 %.not.i = icmp eq ptr %.sroa.010.0244.i, null - br i1 %.not.i, label %295, label %296 + br i1 %.not.i, label %296, label %297 283: ; preds = %._crit_edge.i.i store i64 %280, ptr %.sroa.5.0..sroa_idx.i, align 8, !alias.scope !551, !noalias !558 store i8 7, ptr %.sroa.7.0..sroa_idx.i, align 8, !alias.scope !551, !noalias !558 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(31) %.sroa.6147.sroa.0.i, ptr noundef nonnull align 1 dereferenceable(31) %.sroa.8.i.sroa.0.i, i64 31, i1 false), !noalias !560 call void @llvm.lifetime.end.p0(i64 31, ptr nonnull %.sroa.8.i.sroa.0.i) - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(31) %.sroa.3149.sroa.0.i, ptr noundef nonnull align 1 dereferenceable(31) %.sroa.6147.sroa.0.i, i64 31, i1 false), !noalias !506 call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %18), !noalias !561 - %.sroa.3149.sroa.0.7..sroa_idx.i = getelementptr inbounds i8, ptr %.sroa.3149.sroa.0.i, i64 7 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %18, ptr noundef nonnull align 1 dereferenceable(24) %.sroa.3149.sroa.0.7..sroa_idx.i, i64 24, i1 false), !noalias !565 + %284 = getelementptr inbounds i8, ptr %.sroa.6147.sroa.0.i, i64 7 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %18, ptr noundef nonnull align 1 dereferenceable(24) %284, i64 24, i1 false), !noalias !506 %.sroa.3149.sroa.3.7..sroa_idx.i = getelementptr inbounds i8, ptr %18, i64 24 store ptr %.sroa.8.i.sroa.4.0.copyload.i, ptr %.sroa.3149.sroa.3.7..sroa_idx.i, align 8, !noalias !565 %.sroa.3149.sroa.4.7..sroa_idx.i = getelementptr inbounds i8, ptr %18, i64 32 @@ -3444,85 +3440,84 @@ _ZN10ttf_parser6tables3svg16SvgDocumentsList4find17h603d677cde62fc58E.exit.threa .noexc.i: ; preds = %283 unreachable -284: ; preds = %282 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(31) %.sroa.3149.sroa.0.i, ptr noundef nonnull align 1 dereferenceable(31) %.sroa.6147.sroa.0.i, i64 31, i1 false), !noalias !506 +285: ; preds = %282 switch i8 %.sroa.0.0.copyload.i.i, label %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17he7630fced2496e6aE.exit.thread.i" [ - i8 7, label %285 - i8 8, label %288 + i8 7, label %286 + i8 8, label %289 i8 9, label %.loopexit225.i ] -"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17he7630fced2496e6aE.exit.thread.i": ; preds = %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17he7630fced2496e6aE.exit124.i", %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17he7630fced2496e6aE.exit.i", %288, %285, %284 - %.sroa.010.1.i = phi ptr [ %.sroa.010.0251.i, %284 ], [ %.sroa.010.0251.i, %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17he7630fced2496e6aE.exit.i" ], [ %.sroa.010.0251.i, %285 ], [ %.sroa.010.0251.i, %288 ], [ %spec.select.i, %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17he7630fced2496e6aE.exit124.i" ] +"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17he7630fced2496e6aE.exit.thread.i": ; preds = %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17he7630fced2496e6aE.exit124.i", %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17he7630fced2496e6aE.exit.i", %289, %286, %285 + %.sroa.010.1.i = phi ptr [ %.sroa.010.0251.i, %285 ], [ %.sroa.010.0251.i, %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17he7630fced2496e6aE.exit.i" ], [ %.sroa.010.0251.i, %286 ], [ %.sroa.010.0251.i, %289 ], [ %spec.select.i, %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17he7630fced2496e6aE.exit124.i" ] call void @llvm.lifetime.end.p0(i64 31, ptr nonnull %.sroa.6147.sroa.0.i) call void @llvm.lifetime.start.p0(i64 31, ptr nonnull %.sroa.6147.sroa.0.i) call void @llvm.lifetime.start.p0(i64 31, ptr nonnull %.sroa.8.i.sroa.0.i) br i1 %or.cond.not10.i.i, label %.lr.ph.i.i, label %.thread176.i -285: ; preds = %284 - %286 = icmp ne ptr %.sroa.8.i.sroa.4.0.copyload.i, null - call void @llvm.assume(i1 %286) - %287 = extractelement <2 x i64> %278, i64 0 - %.not.i119.i = icmp eq i64 %287, 3 +286: ; preds = %285 + %287 = icmp ne ptr %.sroa.8.i.sroa.4.0.copyload.i, null + call void @llvm.assume(i1 %287) + %288 = extractelement <2 x i64> %278, i64 0 + %.not.i119.i = icmp eq i64 %288, 3 br i1 %.not.i119.i, label %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17he7630fced2496e6aE.exit.i", label %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17he7630fced2496e6aE.exit.thread.i" -288: ; preds = %284 - %289 = icmp ne ptr %.sroa.8.i.sroa.4.0.copyload.i, null - call void @llvm.assume(i1 %289) - %290 = extractelement <2 x i64> %278, i64 0 - %.not.i121.i = icmp eq i64 %290, 7 +289: ; preds = %285 + %290 = icmp ne ptr %.sroa.8.i.sroa.4.0.copyload.i, null + call void @llvm.assume(i1 %290) + %291 = extractelement <2 x i64> %278, i64 0 + %.not.i121.i = icmp eq i64 %291, 7 br i1 %.not.i121.i, label %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17he7630fced2496e6aE.exit124.i", label %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17he7630fced2496e6aE.exit.thread.i" -"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17he7630fced2496e6aE.exit.i": ; preds = %285 +"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17he7630fced2496e6aE.exit.i": ; preds = %286 %bcmp.i.i = call i32 @bcmp(ptr noundef nonnull dereferenceable(3) %.sroa.8.i.sroa.4.0.copyload.i, ptr noundef nonnull dereferenceable(3) @anon.66413a75bd3e97e6ca35092844b5d7ed.117, i64 3), !alias.scope !566, !noalias !471 - %291 = icmp eq i32 %bcmp.i.i, 0 - br i1 %291, label %292, label %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17he7630fced2496e6aE.exit.thread.i" + %292 = icmp eq i32 %bcmp.i.i, 0 + br i1 %292, label %293, label %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17he7630fced2496e6aE.exit.thread.i" -292: ; preds = %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17he7630fced2496e6aE.exit.i" - %293 = icmp eq ptr %.sroa.8.i.sroa.7.0.copyload.i, null +293: ; preds = %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17he7630fced2496e6aE.exit.i" + %294 = icmp eq ptr %.sroa.8.i.sroa.7.0.copyload.i, null br label %.loopexit225.i -"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17he7630fced2496e6aE.exit124.i": ; preds = %288 +"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17he7630fced2496e6aE.exit124.i": ; preds = %289 %bcmp.i123.i = call i32 @bcmp(ptr noundef nonnull dereferenceable(7) %.sroa.8.i.sroa.4.0.copyload.i, ptr noundef nonnull dereferenceable(7) @anon.66413a75bd3e97e6ca35092844b5d7ed.119, i64 7), !alias.scope !570, !noalias !471 %bcmp.i123.fr.i = freeze i32 %bcmp.i123.i - %294 = icmp eq i32 %bcmp.i123.fr.i, 0 - %spec.select.i = select i1 %294, ptr %.sroa.8.i.sroa.10.0.copyload.i, ptr %.sroa.010.0251.i + %295 = icmp eq i32 %bcmp.i123.fr.i, 0 + %spec.select.i = select i1 %295, ptr %.sroa.8.i.sroa.10.0.copyload.i, ptr %.sroa.010.0251.i br label %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17he7630fced2496e6aE.exit.thread.i" -295: ; preds = %.loopexit225.i - br i1 %.sroa.028.0.i, label %298, label %300 +296: ; preds = %.loopexit225.i + br i1 %.sroa.028.0.i, label %299, label %301 -296: ; preds = %332, %.loopexit225.i +297: ; preds = %333, %.loopexit225.i call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %22), !noalias !506 - %297 = invoke { ptr, i64 } @"_ZN89_$LT$ecow..vec..EcoVec$LT$T$GT$$u20$as$u20$core..convert..From$LT$$RF$$u5b$T$u5d$$GT$$GT$4from17h3c63bd6d6ddcdd75E"(ptr noalias noundef nonnull readonly align 1 @anon.66413a75bd3e97e6ca35092844b5d7ed.126, i64 noundef 26) - to label %333 unwind label %.loopexit.split-lp.i, !noalias !471 + %298 = invoke { ptr, i64 } @"_ZN89_$LT$ecow..vec..EcoVec$LT$T$GT$$u20$as$u20$core..convert..From$LT$$RF$$u5b$T$u5d$$GT$$GT$4from17h3c63bd6d6ddcdd75E"(ptr noalias noundef nonnull readonly align 1 @anon.66413a75bd3e97e6ca35092844b5d7ed.126, i64 noundef 26) + to label %334 unwind label %.loopexit.split-lp.i, !noalias !471 -298: ; preds = %295 +299: ; preds = %296 invoke void @_ZN4core6option13unwrap_failed17hac39b9b7507453f8E(ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.66413a75bd3e97e6ca35092844b5d7ed.121) #19 - to label %299 unwind label %.loopexit.split-lp.i, !noalias !471 + to label %300 unwind label %.loopexit.split-lp.i, !noalias !471 -299: ; preds = %298 +300: ; preds = %299 unreachable -300: ; preds = %295 - %301 = add i64 %.sroa.530.0.i, %.sroa.429.0.i +301: ; preds = %296 + %302 = add i64 %.sroa.530.0.i, %.sroa.429.0.i call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %26), !noalias !506 call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %25), !noalias !506 call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %24), !noalias !506 call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %23), !noalias !506 - %302 = fneg double %260 - store double %302, ptr %23, align 8, !noalias !506 + %303 = fneg double %260 + store double %303, ptr %23, align 8, !noalias !506 store ptr %23, ptr %24, align 8, !noalias !506 - %303 = getelementptr inbounds i8, ptr %24, i64 8 - store ptr @"_ZN4core3fmt5float52_$LT$impl$u20$core..fmt..Display$u20$for$u20$f64$GT$3fmt17h607cdfc4e7dc64a3E", ptr %303, align 8, !noalias !506 - %304 = getelementptr inbounds i8, ptr %24, i64 16 - store ptr %31, ptr %304, align 8, !noalias !506 - %305 = getelementptr inbounds i8, ptr %24, i64 24 - store ptr @"_ZN4core3fmt5float52_$LT$impl$u20$core..fmt..Display$u20$for$u20$f64$GT$3fmt17h607cdfc4e7dc64a3E", ptr %305, align 8, !noalias !506 - %306 = getelementptr inbounds i8, ptr %24, i64 32 - store ptr %30, ptr %306, align 8, !noalias !506 - %307 = getelementptr inbounds i8, ptr %24, i64 40 - store ptr @"_ZN4core3fmt5float52_$LT$impl$u20$core..fmt..Display$u20$for$u20$f64$GT$3fmt17h607cdfc4e7dc64a3E", ptr %307, align 8, !noalias !506 + %304 = getelementptr inbounds i8, ptr %24, i64 8 + store ptr @"_ZN4core3fmt5float52_$LT$impl$u20$core..fmt..Display$u20$for$u20$f64$GT$3fmt17h607cdfc4e7dc64a3E", ptr %304, align 8, !noalias !506 + %305 = getelementptr inbounds i8, ptr %24, i64 16 + store ptr %31, ptr %305, align 8, !noalias !506 + %306 = getelementptr inbounds i8, ptr %24, i64 24 + store ptr @"_ZN4core3fmt5float52_$LT$impl$u20$core..fmt..Display$u20$for$u20$f64$GT$3fmt17h607cdfc4e7dc64a3E", ptr %306, align 8, !noalias !506 + %307 = getelementptr inbounds i8, ptr %24, i64 32 + store ptr %30, ptr %307, align 8, !noalias !506 + %308 = getelementptr inbounds i8, ptr %24, i64 40 + store ptr @"_ZN4core3fmt5float52_$LT$impl$u20$core..fmt..Display$u20$for$u20$f64$GT$3fmt17h607cdfc4e7dc64a3E", ptr %308, align 8, !noalias !506 call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %14), !noalias !574 store ptr @anon.66413a75bd3e97e6ca35092844b5d7ed.125, ptr %14, align 8, !noalias !585 %.sroa.5159.0..sroa_idx.i = getelementptr inbounds i8, ptr %14, i64 8 @@ -3536,52 +3531,52 @@ _ZN10ttf_parser6tables3svg16SvgDocumentsList4find17h603d677cde62fc58E.exit.threa invoke void @_ZN5alloc3fmt6format12format_inner17h8acc7e10788d82b9E(ptr noalias nocapture noundef nonnull sret({ { { i64, ptr, {} }, i64 } }) align 8 dereferenceable(24) %25, ptr noalias nocapture noundef nonnull align 8 dereferenceable(48) %14) to label %_ZN5alloc3fmt6format17hf6ddbaba453730d3E.exit.i unwind label %.loopexit.split-lp.i, !noalias !471 -_ZN5alloc3fmt6format17hf6ddbaba453730d3E.exit.i: ; preds = %300 +_ZN5alloc3fmt6format17hf6ddbaba453730d3E.exit.i: ; preds = %301 call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %14), !noalias !574 call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %23), !noalias !506 call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %24), !noalias !506 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %26, ptr noundef nonnull align 8 dereferenceable(24) %25, i64 24, i1 false), !noalias !506 call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %25), !noalias !506 - %308 = getelementptr inbounds i8, ptr %26, i64 8 - %309 = load ptr, ptr %308, align 8, !noalias !506, !nonnull !128, !noundef !128 - %310 = getelementptr inbounds i8, ptr %26, i64 16 - %311 = load i64, ptr %310, align 8, !noalias !506, !noundef !128 + %309 = getelementptr inbounds i8, ptr %26, i64 8 + %310 = load ptr, ptr %309, align 8, !noalias !506, !nonnull !128, !noundef !128 + %311 = getelementptr inbounds i8, ptr %26, i64 16 + %312 = load i64, ptr %311, align 8, !noalias !506, !noundef !128 call void @llvm.experimental.noalias.scope.decl(metadata !586) - %312 = load ptr, ptr %.sroa.459.0..sroa_idx.i, align 8, !alias.scope !586, !noalias !589, !nonnull !128, !noundef !128 - %313 = load i64, ptr %.sroa.560.0..sroa_idx.i, align 8, !alias.scope !586, !noalias !589, !noundef !128 - %314 = icmp eq i64 %301, 0 - br i1 %314, label %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17hec6e3494bc021c8aE.exit.thread.i.i", label %315 - -315: ; preds = %_ZN5alloc3fmt6format17hf6ddbaba453730d3E.exit.i - %.not.i.i128.i = icmp ugt i64 %313, %301 - br i1 %.not.i.i128.i, label %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17hec6e3494bc021c8aE.exit.i.i", label %316 - -316: ; preds = %315 - %317 = icmp eq i64 %313, %301 - br i1 %317, label %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17hec6e3494bc021c8aE.exit.thread.i.i", label %321 - -"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17hec6e3494bc021c8aE.exit.i.i": ; preds = %315 - %318 = getelementptr inbounds i8, ptr %312, i64 %301 - %319 = load i8, ptr %318, align 1, !alias.scope !591, !noalias !594, !noundef !128 - %320 = icmp sgt i8 %319, -65 - br i1 %320, label %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17hec6e3494bc021c8aE.exit.thread.i.i", label %321 - -321: ; preds = %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17hec6e3494bc021c8aE.exit.i.i", %316 + %313 = load ptr, ptr %.sroa.459.0..sroa_idx.i, align 8, !alias.scope !586, !noalias !589, !nonnull !128, !noundef !128 + %314 = load i64, ptr %.sroa.560.0..sroa_idx.i, align 8, !alias.scope !586, !noalias !589, !noundef !128 + %315 = icmp eq i64 %302, 0 + br i1 %315, label %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17hec6e3494bc021c8aE.exit.thread.i.i", label %316 + +316: ; preds = %_ZN5alloc3fmt6format17hf6ddbaba453730d3E.exit.i + %.not.i.i128.i = icmp ugt i64 %314, %302 + br i1 %.not.i.i128.i, label %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17hec6e3494bc021c8aE.exit.i.i", label %317 + +317: ; preds = %316 + %318 = icmp eq i64 %314, %302 + br i1 %318, label %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17hec6e3494bc021c8aE.exit.thread.i.i", label %322 + +"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17hec6e3494bc021c8aE.exit.i.i": ; preds = %316 + %319 = getelementptr inbounds i8, ptr %313, i64 %302 + %320 = load i8, ptr %319, align 1, !alias.scope !591, !noalias !594, !noundef !128 + %321 = icmp sgt i8 %320, -65 + br i1 %321, label %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17hec6e3494bc021c8aE.exit.thread.i.i", label %322 + +322: ; preds = %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17hec6e3494bc021c8aE.exit.i.i", %317 invoke void @_ZN4core9panicking5panic17h90e84101c01877efE(ptr noalias noundef nonnull readonly align 1 @anon.66413a75bd3e97e6ca35092844b5d7ed.62, i64 noundef 44, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.66413a75bd3e97e6ca35092844b5d7ed.64) #19 - to label %.noexc129.i unwind label %322, !noalias !471 + to label %.noexc129.i unwind label %323, !noalias !471 -.noexc129.i: ; preds = %321 +.noexc129.i: ; preds = %322 unreachable -"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17hec6e3494bc021c8aE.exit.thread.i.i": ; preds = %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17hec6e3494bc021c8aE.exit.i.i", %316, %_ZN5alloc3fmt6format17hf6ddbaba453730d3E.exit.i - invoke void @_ZN5alloc6string6String12insert_bytes17h2537f0d334e580d8E(ptr noalias noundef nonnull align 8 dereferenceable(24) %29, i64 noundef %301, ptr noalias noundef nonnull readonly align 1 %309, i64 noundef %311) - to label %_ZN5alloc6string6String10insert_str17h5b09486dce3ba137E.exit.i unwind label %322, !noalias !471 +"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17hec6e3494bc021c8aE.exit.thread.i.i": ; preds = %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17hec6e3494bc021c8aE.exit.i.i", %317, %_ZN5alloc3fmt6format17hf6ddbaba453730d3E.exit.i + invoke void @_ZN5alloc6string6String12insert_bytes17h2537f0d334e580d8E(ptr noalias noundef nonnull align 8 dereferenceable(24) %29, i64 noundef %302, ptr noalias noundef nonnull readonly align 1 %310, i64 noundef %312) + to label %_ZN5alloc6string6String10insert_str17h5b09486dce3ba137E.exit.i unwind label %323, !noalias !471 -322: ; preds = %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17hec6e3494bc021c8aE.exit.thread.i.i", %321 - %323 = landingpad { ptr, i32 } +323: ; preds = %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17hec6e3494bc021c8aE.exit.thread.i.i", %322 + %324 = landingpad { ptr, i32 } cleanup invoke void @"_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17h46d3fb8b436ff347E"(ptr noalias noundef nonnull align 8 dereferenceable(24) %26) #21 - to label %"_ZN4core3ptr44drop_in_place$LT$ecow..string..EcoString$GT$17h065513e1079629e8E.exit.i" unwind label %377, !noalias !471 + to label %"_ZN4core3ptr44drop_in_place$LT$ecow..string..EcoString$GT$17h065513e1079629e8E.exit.i" unwind label %378, !noalias !471 _ZN5alloc6string6String10insert_str17h5b09486dce3ba137E.exit.i: ; preds = %"_ZN4core3str21_$LT$impl$u20$str$GT$16is_char_boundary17hec6e3494bc021c8aE.exit.thread.i.i" call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %13), !noalias !595 @@ -3589,98 +3584,98 @@ _ZN5alloc6string6String10insert_str17h5b09486dce3ba137E.exit.i: ; preds = %"_ZN4 to label %.noexc131.i unwind label %.loopexit.split-lp.i, !noalias !471 .noexc131.i: ; preds = %_ZN5alloc6string6String10insert_str17h5b09486dce3ba137E.exit.i - %324 = getelementptr inbounds i8, ptr %13, i64 8 - %325 = load i64, ptr %324, align 8, !range !604, !noalias !595, !noundef !128 - %.not.i.i.i.i.i50 = icmp eq i64 %325, 0 - br i1 %.not.i.i.i.i.i50, label %332, label %326 - -326: ; preds = %.noexc131.i - %327 = getelementptr inbounds i8, ptr %13, i64 16 - %328 = load i64, ptr %327, align 8, !noalias !595, !noundef !128 - %329 = icmp eq i64 %328, 0 - br i1 %329, label %332, label %330 - -330: ; preds = %326 - %331 = load ptr, ptr %13, align 8, !noalias !595, !nonnull !128, !noundef !128 - call void @__rust_dealloc(ptr noundef nonnull %331, i64 noundef %328, i64 noundef %325) #22, !noalias !471 - br label %332 - -332: ; preds = %330, %326, %.noexc131.i + %325 = getelementptr inbounds i8, ptr %13, i64 8 + %326 = load i64, ptr %325, align 8, !range !604, !noalias !595, !noundef !128 + %.not.i.i.i.i.i50 = icmp eq i64 %326, 0 + br i1 %.not.i.i.i.i.i50, label %333, label %327 + +327: ; preds = %.noexc131.i + %328 = getelementptr inbounds i8, ptr %13, i64 16 + %329 = load i64, ptr %328, align 8, !noalias !595, !noundef !128 + %330 = icmp eq i64 %329, 0 + br i1 %330, label %333, label %331 + +331: ; preds = %327 + %332 = load ptr, ptr %13, align 8, !noalias !595, !nonnull !128, !noundef !128 + call void @__rust_dealloc(ptr noundef nonnull %332, i64 noundef %329, i64 noundef %326) #22, !noalias !471 + br label %333 + +333: ; preds = %331, %327, %.noexc131.i call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %13), !noalias !595 call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %26), !noalias !506 - br label %296 - -333: ; preds = %296 - %334 = extractvalue { ptr, i64 } %297, 0 - %335 = extractvalue { ptr, i64 } %297, 1 - %336 = icmp ne ptr %334, null - call void @llvm.assume(i1 %336) - store ptr %334, ptr %22, align 8, !noalias !506 + br label %297 + +334: ; preds = %297 + %335 = extractvalue { ptr, i64 } %298, 0 + %336 = extractvalue { ptr, i64 } %298, 1 + %337 = icmp ne ptr %335, null + call void @llvm.assume(i1 %337) + store ptr %335, ptr %22, align 8, !noalias !506 %.sroa.4169.0..sroa_idx.i = getelementptr inbounds i8, ptr %22, i64 8 - store i64 %335, ptr %.sroa.4169.0..sroa_idx.i, align 8, !noalias !506 + store i64 %336, ptr %.sroa.4169.0..sroa_idx.i, align 8, !noalias !506 call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %21), !noalias !506 - %337 = load ptr, ptr %.sroa.459.0..sroa_idx.i, align 8, !noalias !506, !nonnull !128, !noundef !128 - %338 = load i64, ptr %.sroa.560.0..sroa_idx.i, align 8, !noalias !506, !noundef !128 - invoke void @_ZN6base646engine6Engine6encode5inner17h8563cb9c88de0931E(ptr noalias nocapture noundef nonnull sret({ { { i64, ptr, {} }, i64 } }) align 8 dereferenceable(24) %21, ptr noalias noundef nonnull readonly align 1 dereferenceable(323) @anon.66413a75bd3e97e6ca35092844b5d7ed.127, ptr noalias noundef nonnull readonly align 1 %337, i64 noundef %338) + %338 = load ptr, ptr %.sroa.459.0..sroa_idx.i, align 8, !noalias !506, !nonnull !128, !noundef !128 + %339 = load i64, ptr %.sroa.560.0..sroa_idx.i, align 8, !noalias !506, !noundef !128 + invoke void @_ZN6base646engine6Engine6encode5inner17h8563cb9c88de0931E(ptr noalias nocapture noundef nonnull sret({ { { i64, ptr, {} }, i64 } }) align 8 dereferenceable(24) %21, ptr noalias noundef nonnull readonly align 1 dereferenceable(323) @anon.66413a75bd3e97e6ca35092844b5d7ed.127, ptr noalias noundef nonnull readonly align 1 %338, i64 noundef %339) to label %_ZN6base646engine6Engine6encode17h14fea5d5a09482c2E.exit.i unwind label %.thread223.i, !noalias !471 -.thread223.i: ; preds = %333 - %339 = landingpad { ptr, i32 } +.thread223.i: ; preds = %334 + %340 = landingpad { ptr, i32 } cleanup - %340 = lshr i64 %335, 56 - %341 = trunc i64 %340 to i8 + %341 = lshr i64 %336, 56 + %342 = trunc i64 %341 to i8 br label %.thread219.i -342: ; preds = %350 - %343 = landingpad { ptr, i32 } +343: ; preds = %351 + %344 = landingpad { ptr, i32 } cleanup br label %"_ZN4core3ptr44drop_in_place$LT$ecow..string..EcoString$GT$17h065513e1079629e8E.exit.i" -_ZN6base646engine6Engine6encode17h14fea5d5a09482c2E.exit.i: ; preds = %333 - %344 = getelementptr inbounds i8, ptr %21, i64 8 - %345 = load ptr, ptr %344, align 8, !noalias !506, !nonnull !128, !noundef !128 - %346 = getelementptr inbounds i8, ptr %21, i64 16 - %347 = load i64, ptr %346, align 8, !noalias !506, !noundef !128 - invoke void @_ZN4ecow6string9EcoString8push_str17h2542dc826b62bb60E(ptr noalias noundef nonnull align 8 dereferenceable(16) %22, ptr noalias noundef nonnull readonly align 1 %345, i64 noundef %347) - to label %350 unwind label %348, !noalias !471 +_ZN6base646engine6Engine6encode17h14fea5d5a09482c2E.exit.i: ; preds = %334 + %345 = getelementptr inbounds i8, ptr %21, i64 8 + %346 = load ptr, ptr %345, align 8, !noalias !506, !nonnull !128, !noundef !128 + %347 = getelementptr inbounds i8, ptr %21, i64 16 + %348 = load i64, ptr %347, align 8, !noalias !506, !noundef !128 + invoke void @_ZN4ecow6string9EcoString8push_str17h2542dc826b62bb60E(ptr noalias noundef nonnull align 8 dereferenceable(16) %22, ptr noalias noundef nonnull readonly align 1 %346, i64 noundef %348) + to label %351 unwind label %349, !noalias !471 -348: ; preds = %_ZN6base646engine6Engine6encode17h14fea5d5a09482c2E.exit.i - %349 = landingpad { ptr, i32 } +349: ; preds = %_ZN6base646engine6Engine6encode17h14fea5d5a09482c2E.exit.i + %350 = landingpad { ptr, i32 } cleanup invoke void @"_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17h46d3fb8b436ff347E"(ptr noalias noundef nonnull align 8 dereferenceable(24) %21) #21 - to label %..thread219_crit_edge.i unwind label %377, !noalias !471 + to label %..thread219_crit_edge.i unwind label %378, !noalias !471 -..thread219_crit_edge.i: ; preds = %348 +..thread219_crit_edge.i: ; preds = %349 %.phi.trans.insert.i = getelementptr inbounds i8, ptr %22, i64 15 %.pre.i = load i8, ptr %.phi.trans.insert.i, align 1, !alias.scope !605, !noalias !506 br label %.thread219.i -350: ; preds = %_ZN6base646engine6Engine6encode17h14fea5d5a09482c2E.exit.i - %351 = getelementptr inbounds i8, ptr %41, i64 8 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %351, ptr noundef nonnull align 8 dereferenceable(16) %22, i64 16, i1 false), !noalias !508 +351: ; preds = %_ZN6base646engine6Engine6encode17h14fea5d5a09482c2E.exit.i + %352 = getelementptr inbounds i8, ptr %41, i64 8 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %352, ptr noundef nonnull align 8 dereferenceable(16) %22, i64 16, i1 false), !noalias !508 store i64 1, ptr %41, align 8, !alias.scope !471, !noalias !508 call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %12), !noalias !612 invoke void @"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$14current_memory17h7706877f4035a6d4E.llvm.9341850390877611223"(ptr noalias nocapture noundef nonnull sret({ [1 x i64], i64, [1 x i64] }) align 8 dereferenceable(24) %12, ptr noalias noundef nonnull readonly align 8 dereferenceable(16) %21) - to label %.noexc134.i unwind label %342, !noalias !471 - -.noexc134.i: ; preds = %350 - %352 = getelementptr inbounds i8, ptr %12, i64 8 - %353 = load i64, ptr %352, align 8, !range !604, !noalias !612, !noundef !128 - %.not.i.i.i.i133.i = icmp eq i64 %353, 0 - br i1 %.not.i.i.i.i133.i, label %360, label %354 - -354: ; preds = %.noexc134.i - %355 = getelementptr inbounds i8, ptr %12, i64 16 - %356 = load i64, ptr %355, align 8, !noalias !612, !noundef !128 - %357 = icmp eq i64 %356, 0 - br i1 %357, label %360, label %358 - -358: ; preds = %354 - %359 = load ptr, ptr %12, align 8, !noalias !612, !nonnull !128, !noundef !128 - call void @__rust_dealloc(ptr noundef nonnull %359, i64 noundef %356, i64 noundef %353) #22, !noalias !471 - br label %360 + to label %.noexc134.i unwind label %343, !noalias !471 + +.noexc134.i: ; preds = %351 + %353 = getelementptr inbounds i8, ptr %12, i64 8 + %354 = load i64, ptr %353, align 8, !range !604, !noalias !612, !noundef !128 + %.not.i.i.i.i133.i = icmp eq i64 %354, 0 + br i1 %.not.i.i.i.i133.i, label %361, label %355 + +355: ; preds = %.noexc134.i + %356 = getelementptr inbounds i8, ptr %12, i64 16 + %357 = load i64, ptr %356, align 8, !noalias !612, !noundef !128 + %358 = icmp eq i64 %357, 0 + br i1 %358, label %361, label %359 + +359: ; preds = %355 + %360 = load ptr, ptr %12, align 8, !noalias !612, !nonnull !128, !noundef !128 + call void @__rust_dealloc(ptr noundef nonnull %360, i64 noundef %357, i64 noundef %354) #22, !noalias !471 + br label %361 -360: ; preds = %358, %354, %.noexc134.i +361: ; preds = %359, %355, %.noexc134.i call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %12), !noalias !612 call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %21), !noalias !506 call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %22), !noalias !506 @@ -3688,106 +3683,105 @@ _ZN6base646engine6Engine6encode17h14fea5d5a09482c2E.exit.i: ; preds = %333 invoke void @"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$14current_memory17h7706877f4035a6d4E.llvm.9341850390877611223"(ptr noalias nocapture noundef nonnull sret({ [1 x i64], i64, [1 x i64] }) align 8 dereferenceable(24) %11, ptr noalias noundef nonnull readonly align 8 dereferenceable(16) %29) to label %.noexc137.i unwind label %188, !noalias !471 -.noexc137.i: ; preds = %360 - %361 = getelementptr inbounds i8, ptr %11, i64 8 - %362 = load i64, ptr %361, align 8, !range !604, !noalias !621, !noundef !128 - %.not.i.i.i.i136.i = icmp eq i64 %362, 0 - br i1 %.not.i.i.i.i136.i, label %.noexc53, label %363 - -363: ; preds = %.noexc137.i - %364 = getelementptr inbounds i8, ptr %11, i64 16 - %365 = load i64, ptr %364, align 8, !noalias !621, !noundef !128 - %366 = icmp eq i64 %365, 0 - br i1 %366, label %.noexc53, label %367 - -367: ; preds = %363 - %368 = load ptr, ptr %11, align 8, !noalias !621, !nonnull !128, !noundef !128 - call void @__rust_dealloc(ptr noundef nonnull %368, i64 noundef %365, i64 noundef %362) #22, !noalias !471 +.noexc137.i: ; preds = %361 + %362 = getelementptr inbounds i8, ptr %11, i64 8 + %363 = load i64, ptr %362, align 8, !range !604, !noalias !621, !noundef !128 + %.not.i.i.i.i136.i = icmp eq i64 %363, 0 + br i1 %.not.i.i.i.i136.i, label %.noexc53, label %364 + +364: ; preds = %.noexc137.i + %365 = getelementptr inbounds i8, ptr %11, i64 16 + %366 = load i64, ptr %365, align 8, !noalias !621, !noundef !128 + %367 = icmp eq i64 %366, 0 + br i1 %367, label %.noexc53, label %368 + +368: ; preds = %364 + %369 = load ptr, ptr %11, align 8, !noalias !621, !nonnull !128, !noundef !128 + call void @__rust_dealloc(ptr noundef nonnull %369, i64 noundef %366, i64 noundef %363) #22, !noalias !471 br label %.noexc53 -.noexc53: ; preds = %367, %363, %.noexc137.i +.noexc53: ; preds = %368, %364, %.noexc137.i call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %11), !noalias !621 call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %29), !noalias !506 call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %30), !noalias !506 call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %31), !noalias !506 call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %10), !noalias !630 call void @"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$14current_memory17h7706877f4035a6d4E.llvm.9341850390877611223"(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(16) %34) - %369 = getelementptr inbounds i8, ptr %10, i64 8 - %370 = load i64, ptr %369, align 8, !range !604, !noalias !630, !noundef !128 - %.not.i.i.i.i49 = icmp eq i64 %370, 0 - br i1 %.not.i.i.i.i49, label %"_ZN4core3ptr46drop_in_place$LT$alloc..vec..Vec$LT$u8$GT$$GT$17h3e5790181f72d887E.exit.i", label %371 - -371: ; preds = %.noexc53 - %372 = getelementptr inbounds i8, ptr %10, i64 16 - %373 = load i64, ptr %372, align 8, !noalias !630, !noundef !128 - %374 = icmp eq i64 %373, 0 - br i1 %374, label %"_ZN4core3ptr46drop_in_place$LT$alloc..vec..Vec$LT$u8$GT$$GT$17h3e5790181f72d887E.exit.i", label %375 - -375: ; preds = %371 - %376 = load ptr, ptr %10, align 8, !noalias !630, !nonnull !128, !noundef !128 - call void @__rust_dealloc(ptr noundef nonnull %376, i64 noundef %373, i64 noundef %370) #22, !noalias !471 + %370 = getelementptr inbounds i8, ptr %10, i64 8 + %371 = load i64, ptr %370, align 8, !range !604, !noalias !630, !noundef !128 + %.not.i.i.i.i49 = icmp eq i64 %371, 0 + br i1 %.not.i.i.i.i49, label %"_ZN4core3ptr46drop_in_place$LT$alloc..vec..Vec$LT$u8$GT$$GT$17h3e5790181f72d887E.exit.i", label %372 + +372: ; preds = %.noexc53 + %373 = getelementptr inbounds i8, ptr %10, i64 16 + %374 = load i64, ptr %373, align 8, !noalias !630, !noundef !128 + %375 = icmp eq i64 %374, 0 + br i1 %375, label %"_ZN4core3ptr46drop_in_place$LT$alloc..vec..Vec$LT$u8$GT$$GT$17h3e5790181f72d887E.exit.i", label %376 + +376: ; preds = %372 + %377 = load ptr, ptr %10, align 8, !noalias !630, !nonnull !128, !noundef !128 + call void @__rust_dealloc(ptr noundef nonnull %377, i64 noundef %374, i64 noundef %371) #22, !noalias !471 br label %"_ZN4core3ptr46drop_in_place$LT$alloc..vec..Vec$LT$u8$GT$$GT$17h3e5790181f72d887E.exit.i" -"_ZN4core3ptr46drop_in_place$LT$alloc..vec..Vec$LT$u8$GT$$GT$17h3e5790181f72d887E.exit.i": ; preds = %375, %371, %.noexc53 +"_ZN4core3ptr46drop_in_place$LT$alloc..vec..Vec$LT$u8$GT$$GT$17h3e5790181f72d887E.exit.i": ; preds = %376, %372, %.noexc53 call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %10), !noalias !630 call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %34), !noalias !506 - br label %390 + br label %"_ZN9typst_svg31convert_svg_glyph_to_base64_url28_$u7b$$u7b$closure$u7d$$u7d$17hd1d2712e566e984bE.exit" -377: ; preds = %381, %348, %322, %"_ZN4core3ptr44drop_in_place$LT$ecow..string..EcoString$GT$17h065513e1079629e8E.exit.i", %206, %.body.i - %378 = landingpad { ptr, i32 } +378: ; preds = %382, %349, %323, %"_ZN4core3ptr44drop_in_place$LT$ecow..string..EcoString$GT$17h065513e1079629e8E.exit.i", %206, %.body.i + %379 = landingpad { ptr, i32 } filter [0 x ptr] zeroinitializer call void @_ZN4core9panicking16panic_in_cleanup17h76c6e1c84248d3ffE() #20, !noalias !471 unreachable .thread219.i: ; preds = %..thread219_crit_edge.i, %.thread223.i - %379 = phi i8 [ %341, %.thread223.i ], [ %.pre.i, %..thread219_crit_edge.i ] - %.pn222.i = phi { ptr, i32 } [ %339, %.thread223.i ], [ %349, %..thread219_crit_edge.i ] - %380 = icmp sgt i8 %379, -1 - br i1 %380, label %381, label %"_ZN4core3ptr44drop_in_place$LT$ecow..string..EcoString$GT$17h065513e1079629e8E.exit.i" + %380 = phi i8 [ %342, %.thread223.i ], [ %.pre.i, %..thread219_crit_edge.i ] + %.pn222.i = phi { ptr, i32 } [ %340, %.thread223.i ], [ %350, %..thread219_crit_edge.i ] + %381 = icmp sgt i8 %380, -1 + br i1 %381, label %382, label %"_ZN4core3ptr44drop_in_place$LT$ecow..string..EcoString$GT$17h065513e1079629e8E.exit.i" -381: ; preds = %.thread219.i +382: ; preds = %.thread219.i invoke void @"_ZN68_$LT$ecow..vec..EcoVec$LT$T$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h038c2f2f19feb061E"(ptr noalias noundef nonnull align 8 dereferenceable(16) %22) - to label %"_ZN4core3ptr44drop_in_place$LT$ecow..string..EcoString$GT$17h065513e1079629e8E.exit.i" unwind label %377, !noalias !471 + to label %"_ZN4core3ptr44drop_in_place$LT$ecow..string..EcoString$GT$17h065513e1079629e8E.exit.i" unwind label %378, !noalias !471 .noexc54: ; preds = %"_ZN4core3ptr72drop_in_place$LT$flate2..gz..read..GzDecoder$LT$$RF$$u5b$u8$u5d$$GT$$GT$17h6bc93a1decbead1aE.exit116.i", %270 call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %9), !noalias !637 call void @"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$14current_memory17h7706877f4035a6d4E.llvm.9341850390877611223"(ptr noalias nocapture noundef nonnull sret({ [1 x i64], i64, [1 x i64] }) align 8 dereferenceable(24) %9, ptr noalias noundef nonnull readonly align 8 dereferenceable(16) %34) - %382 = getelementptr inbounds i8, ptr %9, i64 8 - %383 = load i64, ptr %382, align 8, !range !604, !noalias !637, !noundef !128 - %.not.i.i.i140.i = icmp eq i64 %383, 0 - br i1 %.not.i.i.i140.i, label %"_ZN4core3ptr46drop_in_place$LT$alloc..vec..Vec$LT$u8$GT$$GT$17h3e5790181f72d887E.exit141.i", label %384 - -384: ; preds = %.noexc54 - %385 = getelementptr inbounds i8, ptr %9, i64 16 - %386 = load i64, ptr %385, align 8, !noalias !637, !noundef !128 - %387 = icmp eq i64 %386, 0 - br i1 %387, label %"_ZN4core3ptr46drop_in_place$LT$alloc..vec..Vec$LT$u8$GT$$GT$17h3e5790181f72d887E.exit141.i", label %388 - -388: ; preds = %384 - %389 = load ptr, ptr %9, align 8, !noalias !637, !nonnull !128, !noundef !128 - call void @__rust_dealloc(ptr noundef nonnull %389, i64 noundef %386, i64 noundef %383) #22, !noalias !471 + %383 = getelementptr inbounds i8, ptr %9, i64 8 + %384 = load i64, ptr %383, align 8, !range !604, !noalias !637, !noundef !128 + %.not.i.i.i140.i = icmp eq i64 %384, 0 + br i1 %.not.i.i.i140.i, label %"_ZN4core3ptr46drop_in_place$LT$alloc..vec..Vec$LT$u8$GT$$GT$17h3e5790181f72d887E.exit141.i", label %385 + +385: ; preds = %.noexc54 + %386 = getelementptr inbounds i8, ptr %9, i64 16 + %387 = load i64, ptr %386, align 8, !noalias !637, !noundef !128 + %388 = icmp eq i64 %387, 0 + br i1 %388, label %"_ZN4core3ptr46drop_in_place$LT$alloc..vec..Vec$LT$u8$GT$$GT$17h3e5790181f72d887E.exit141.i", label %389 + +389: ; preds = %385 + %390 = load ptr, ptr %9, align 8, !noalias !637, !nonnull !128, !noundef !128 + call void @__rust_dealloc(ptr noundef nonnull %390, i64 noundef %387, i64 noundef %384) #22, !noalias !471 br label %"_ZN4core3ptr46drop_in_place$LT$alloc..vec..Vec$LT$u8$GT$$GT$17h3e5790181f72d887E.exit141.i" -"_ZN4core3ptr46drop_in_place$LT$alloc..vec..Vec$LT$u8$GT$$GT$17h3e5790181f72d887E.exit141.i": ; preds = %388, %384, %.noexc54 +"_ZN4core3ptr46drop_in_place$LT$alloc..vec..Vec$LT$u8$GT$$GT$17h3e5790181f72d887E.exit141.i": ; preds = %389, %385, %.noexc54 call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %9), !noalias !637 call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %34), !noalias !506 - br label %390 + br label %"_ZN9typst_svg31convert_svg_glyph_to_base64_url28_$u7b$$u7b$closure$u7d$$u7d$17hd1d2712e566e984bE.exit" "_ZN4core3ptr72drop_in_place$LT$flate2..gz..read..GzDecoder$LT$$RF$$u5b$u8$u5d$$GT$$GT$17h6bc93a1decbead1aE.exit116.i": ; preds = %"_ZN4core3ptr111drop_in_place$LT$flate2..gz..bufread..GzDecoder$LT$flate2..bufreader..BufReader$LT$$RF$$u5b$u8$u5d$$GT$$GT$$GT$17ha8940d53e8c5f5f8E.llvm.9341850390877611223.exit.i112.i" call void @llvm.lifetime.end.p0(i64 208, ptr nonnull %33), !noalias !506 br label %.noexc54 -.thread112: ; preds = %390, %393 +.thread112: ; preds = %"_ZN9typst_svg31convert_svg_glyph_to_base64_url28_$u7b$$u7b$closure$u7d$$u7d$17hd1d2712e566e984bE.exit", %393 %lpad.thr_comm110 = landingpad { ptr, i32 } cleanup br label %.thread104 -390: ; preds = %_ZN10ttf_parser6tables3svg16SvgDocumentsList4find17h603d677cde62fc58E.exit.thread.i, %"_ZN4core3ptr46drop_in_place$LT$alloc..vec..Vec$LT$u8$GT$$GT$17h3e5790181f72d887E.exit.i", %"_ZN4core3ptr46drop_in_place$LT$alloc..vec..Vec$LT$u8$GT$$GT$17h3e5790181f72d887E.exit141.i" - call void @llvm.lifetime.end.p0(i64 31, ptr nonnull %.sroa.3149.sroa.0.i) +"_ZN9typst_svg31convert_svg_glyph_to_base64_url28_$u7b$$u7b$closure$u7d$$u7d$17hd1d2712e566e984bE.exit": ; preds = %_ZN10ttf_parser6tables3svg16SvgDocumentsList4find17h603d677cde62fc58E.exit.thread.i, %"_ZN4core3ptr46drop_in_place$LT$alloc..vec..Vec$LT$u8$GT$$GT$17h3e5790181f72d887E.exit.i", %"_ZN4core3ptr46drop_in_place$LT$alloc..vec..Vec$LT$u8$GT$$GT$17h3e5790181f72d887E.exit141.i" %391 = invoke noundef nonnull align 8 ptr @"_ZN9once_cell4sync17OnceCell$LT$T$GT$15get_or_try_init17h902ccff68e691223E.llvm.17261859237677664959"(ptr noundef nonnull align 8 %4, ptr noundef nonnull align 8 %4) to label %"_ZN9once_cell4sync17Lazy$LT$T$C$F$GT$5force17h6acee98a17897d08E.exit" unwind label %.thread112 -"_ZN9once_cell4sync17Lazy$LT$T$C$F$GT$5force17h6acee98a17897d08E.exit": ; preds = %390 +"_ZN9once_cell4sync17Lazy$LT$T$C$F$GT$5force17h6acee98a17897d08E.exit": ; preds = %"_ZN9typst_svg31convert_svg_glyph_to_base64_url28_$u7b$$u7b$closure$u7d$$u7d$17hd1d2712e566e984bE.exit" %392 = cmpxchg weak ptr %391, i64 0, i64 8 acquire monotonic, align 8 %.sroa.18.0.in.i.i = extractvalue { i64, i1 } %392, 1 br i1 %.sroa.18.0.in.i.i, label %397, label %393 diff --git a/bench/typst-rs/optimized/481g0nj22rl2z9g.ll b/bench/typst-rs/optimized/481g0nj22rl2z9g.ll index fb3f1ef14bd..b3b6eb54321 100644 --- a/bench/typst-rs/optimized/481g0nj22rl2z9g.ll +++ b/bench/typst-rs/optimized/481g0nj22rl2z9g.ll @@ -1588,7 +1588,7 @@ define internal fastcc void @"_ZN114_$LT$core..iter..adapters..flatten..FlatMap$ 11: ; preds = %._crit_edge, %"_ZN4core3ptr119drop_in_place$LT$core..option..Option$LT$alloc..vec..into_iter..IntoIter$LT$typst_syntax..node..SyntaxError$GT$$GT$$GT$17h3210ef787222dd84E.exit.i" %12 = phi ptr [ %.pre11, %._crit_edge ], [ %.sroa.8.sroa.0.0.copyload.i, %"_ZN4core3ptr119drop_in_place$LT$core..option..Option$LT$alloc..vec..into_iter..IntoIter$LT$typst_syntax..node..SyntaxError$GT$$GT$$GT$17h3210ef787222dd84E.exit.i" ] - %13 = phi ptr [ %.pre, %._crit_edge ], [ %60, %"_ZN4core3ptr119drop_in_place$LT$core..option..Option$LT$alloc..vec..into_iter..IntoIter$LT$typst_syntax..node..SyntaxError$GT$$GT$$GT$17h3210ef787222dd84E.exit.i" ] + %13 = phi ptr [ %.pre, %._crit_edge ], [ %61, %"_ZN4core3ptr119drop_in_place$LT$core..option..Option$LT$alloc..vec..into_iter..IntoIter$LT$typst_syntax..node..SyntaxError$GT$$GT$$GT$17h3210ef787222dd84E.exit.i" ] tail call void @llvm.experimental.noalias.scope.decl(metadata !436) tail call void @llvm.experimental.noalias.scope.decl(metadata !437) tail call void @llvm.experimental.noalias.scope.decl(metadata !438) @@ -1635,12 +1635,13 @@ _ZN4core4iter8adapters7flatten17and_then_or_clear17h5cddaec1cfd3619dE.exit.threa call void @_ZN4core9panicking16panic_in_cleanup17h76c6e1c84248d3ffE() #15, !noalias !424 unreachable -common.resume.i: ; preds = %64, %54, %17 - %common.resume.op.i = phi { ptr, i32 } [ %65, %64 ], [ %18, %17 ], [ %55, %54 ] +common.resume.i: ; preds = %65, %55, %17 + %common.resume.op.i = phi { ptr, i32 } [ %66, %65 ], [ %18, %17 ], [ %56, %55 ] resume { ptr, i32 } %common.resume.op.i 21: ; preds = %_ZN4core3ops8function6FnOnce9call_once17hd02dfef08d04ee73E.exit.i.i - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %.sroa.7.i, ptr noundef nonnull align 8 dereferenceable(32) %.sroa.7.0..sroa_idx5056.i, i64 32, i1 false), !noalias !444 + %22 = getelementptr inbounds i8, ptr %12, i64 8 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %.sroa.7.i, ptr noundef nonnull align 8 dereferenceable(32) %22, i64 32, i1 false), !noalias !416 call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %5), !noalias !427 store i64 %.pr.i.i, ptr %0, align 8, !alias.scope !416, !noalias !419 %.sroa.4.0..sroa_idx.i = getelementptr inbounds i8, ptr %0, i64 8 @@ -1649,159 +1650,159 @@ common.resume.i: ; preds = %64, %54, %17 "_ZN4core3ptr80drop_in_place$LT$core..option..Option$LT$typst_syntax..node..SyntaxError$GT$$GT$17h15b6005a05f248b3E.exit.i": ; preds = %_ZN4core4iter8adapters7flatten17and_then_or_clear17h5cddaec1cfd3619dE.exit.thread54.i, %_ZN4core4iter8adapters7flatten17and_then_or_clear17h5cddaec1cfd3619dE.exit.thread.i tail call void @llvm.experimental.noalias.scope.decl(metadata !445) - %22 = load ptr, ptr %8, align 8, !alias.scope !448, !noalias !449, !noundef !14 - %23 = icmp eq ptr %22, null - %.0.i.i = select i1 %23, ptr null, ptr %8 - br i1 %23, label %"_ZN107_$LT$core..iter..adapters..fuse..Fuse$LT$I$GT$$u20$as$u20$core..iter..adapters..fuse..FuseImpl$LT$I$GT$$GT$4next17hf93e98a3b5361f9eE.exit.thread.i", label %24 + %23 = load ptr, ptr %8, align 8, !alias.scope !448, !noalias !449, !noundef !14 + %24 = icmp eq ptr %23, null + %.0.i.i = select i1 %24, ptr null, ptr %8 + br i1 %24, label %"_ZN107_$LT$core..iter..adapters..fuse..Fuse$LT$I$GT$$u20$as$u20$core..iter..adapters..fuse..FuseImpl$LT$I$GT$$GT$4next17hf93e98a3b5361f9eE.exit.thread.i", label %25 -24: ; preds = %"_ZN4core3ptr80drop_in_place$LT$core..option..Option$LT$typst_syntax..node..SyntaxError$GT$$GT$17h15b6005a05f248b3E.exit.i" +25: ; preds = %"_ZN4core3ptr80drop_in_place$LT$core..option..Option$LT$typst_syntax..node..SyntaxError$GT$$GT$17h15b6005a05f248b3E.exit.i" tail call void @llvm.experimental.noalias.scope.decl(metadata !451) tail call void @llvm.experimental.noalias.scope.decl(metadata !454) tail call void @llvm.experimental.noalias.scope.decl(metadata !457) - %25 = load ptr, ptr %9, align 8, !alias.scope !460, !noalias !463, !nonnull !14, !noundef !14 - %26 = icmp eq ptr %22, %25 - br i1 %26, label %"_ZN107_$LT$core..iter..adapters..fuse..Fuse$LT$I$GT$$u20$as$u20$core..iter..adapters..fuse..FuseImpl$LT$I$GT$$GT$4next17hf93e98a3b5361f9eE.exit.thread.i", label %.lr.ph.i.i.i.i.i + %26 = load ptr, ptr %9, align 8, !alias.scope !460, !noalias !463, !nonnull !14, !noundef !14 + %27 = icmp eq ptr %23, %26 + br i1 %27, label %"_ZN107_$LT$core..iter..adapters..fuse..Fuse$LT$I$GT$$u20$as$u20$core..iter..adapters..fuse..FuseImpl$LT$I$GT$$GT$4next17hf93e98a3b5361f9eE.exit.thread.i", label %.lr.ph.i.i.i.i.i -.lr.ph.i.i.i.i.i: ; preds = %24, %"_ZN4core3ops8function5impls79_$LT$impl$u20$core..ops..function..FnMut$LT$A$GT$$u20$for$u20$$RF$mut$u20$F$GT$8call_mut17hca934255d99abbdaE.exit.thread8.i.i.i.i.i" - %27 = phi ptr [ %28, %"_ZN4core3ops8function5impls79_$LT$impl$u20$core..ops..function..FnMut$LT$A$GT$$u20$for$u20$$RF$mut$u20$F$GT$8call_mut17hca934255d99abbdaE.exit.thread8.i.i.i.i.i" ], [ %22, %24 ] - %28 = getelementptr inbounds i8, ptr %27, i64 32 +.lr.ph.i.i.i.i.i: ; preds = %25, %"_ZN4core3ops8function5impls79_$LT$impl$u20$core..ops..function..FnMut$LT$A$GT$$u20$for$u20$$RF$mut$u20$F$GT$8call_mut17hca934255d99abbdaE.exit.thread8.i.i.i.i.i" + %28 = phi ptr [ %29, %"_ZN4core3ops8function5impls79_$LT$impl$u20$core..ops..function..FnMut$LT$A$GT$$u20$for$u20$$RF$mut$u20$F$GT$8call_mut17hca934255d99abbdaE.exit.thread8.i.i.i.i.i" ], [ %23, %25 ] + %29 = getelementptr inbounds i8, ptr %28, i64 32 tail call void @llvm.experimental.noalias.scope.decl(metadata !465) - %29 = getelementptr inbounds i8, ptr %27, i64 24 - %30 = load i8, ptr %29, align 8, !range !468, !alias.scope !465, !noalias !469, !noundef !14 - %31 = and i8 %30, -2 - %32 = icmp eq i8 %31, -126 - %33 = add i8 %30, 127 - %trunc.i.i.i.i.i.i.i.i = select i1 %32, i8 %33, i8 0 - switch i8 %trunc.i.i.i.i.i.i.i.i, label %34 [ + %30 = getelementptr inbounds i8, ptr %28, i64 24 + %31 = load i8, ptr %30, align 8, !range !468, !alias.scope !465, !noalias !469, !noundef !14 + %32 = and i8 %31, -2 + %33 = icmp eq i8 %32, -126 + %34 = add i8 %31, 127 + %trunc.i.i.i.i.i.i.i.i = select i1 %33, i8 %34, i8 0 + switch i8 %trunc.i.i.i.i.i.i.i.i, label %35 [ i8 0, label %"_ZN4core3ops8function5impls79_$LT$impl$u20$core..ops..function..FnMut$LT$A$GT$$u20$for$u20$$RF$mut$u20$F$GT$8call_mut17hca934255d99abbdaE.exit.thread8.i.i.i.i.i" i8 1, label %"_ZN4core3ops8function5impls79_$LT$impl$u20$core..ops..function..FnMut$LT$A$GT$$u20$for$u20$$RF$mut$u20$F$GT$8call_mut17hca934255d99abbdaE.exit.i.i.i.i.i" i8 2, label %"_ZN107_$LT$core..iter..adapters..fuse..Fuse$LT$I$GT$$u20$as$u20$core..iter..adapters..fuse..FuseImpl$LT$I$GT$$GT$4next17hf93e98a3b5361f9eE.exit.i" ] -34: ; preds = %.lr.ph.i.i.i.i.i +35: ; preds = %.lr.ph.i.i.i.i.i unreachable "_ZN4core3ops8function5impls79_$LT$impl$u20$core..ops..function..FnMut$LT$A$GT$$u20$for$u20$$RF$mut$u20$F$GT$8call_mut17hca934255d99abbdaE.exit.i.i.i.i.i": ; preds = %.lr.ph.i.i.i.i.i - %35 = load ptr, ptr %27, align 8, !alias.scope !465, !noalias !469, !nonnull !14, !noundef !14 - %36 = getelementptr inbounds i8, ptr %35, i64 72 - %37 = load i8, ptr %36, align 8, !range !474, !noalias !475, !noundef !14 - %38 = trunc i8 %37 to i1 - br i1 %38, label %"_ZN107_$LT$core..iter..adapters..fuse..Fuse$LT$I$GT$$u20$as$u20$core..iter..adapters..fuse..FuseImpl$LT$I$GT$$GT$4next17hf93e98a3b5361f9eE.exit.i", label %"_ZN4core3ops8function5impls79_$LT$impl$u20$core..ops..function..FnMut$LT$A$GT$$u20$for$u20$$RF$mut$u20$F$GT$8call_mut17hca934255d99abbdaE.exit.thread8.i.i.i.i.i" + %36 = load ptr, ptr %28, align 8, !alias.scope !465, !noalias !469, !nonnull !14, !noundef !14 + %37 = getelementptr inbounds i8, ptr %36, i64 72 + %38 = load i8, ptr %37, align 8, !range !474, !noalias !475, !noundef !14 + %39 = trunc i8 %38 to i1 + br i1 %39, label %"_ZN107_$LT$core..iter..adapters..fuse..Fuse$LT$I$GT$$u20$as$u20$core..iter..adapters..fuse..FuseImpl$LT$I$GT$$GT$4next17hf93e98a3b5361f9eE.exit.i", label %"_ZN4core3ops8function5impls79_$LT$impl$u20$core..ops..function..FnMut$LT$A$GT$$u20$for$u20$$RF$mut$u20$F$GT$8call_mut17hca934255d99abbdaE.exit.thread8.i.i.i.i.i" "_ZN4core3ops8function5impls79_$LT$impl$u20$core..ops..function..FnMut$LT$A$GT$$u20$for$u20$$RF$mut$u20$F$GT$8call_mut17hca934255d99abbdaE.exit.thread8.i.i.i.i.i": ; preds = %"_ZN4core3ops8function5impls79_$LT$impl$u20$core..ops..function..FnMut$LT$A$GT$$u20$for$u20$$RF$mut$u20$F$GT$8call_mut17hca934255d99abbdaE.exit.i.i.i.i.i", %.lr.ph.i.i.i.i.i - %39 = icmp eq ptr %28, %25 - br i1 %39, label %"_ZN108_$LT$core..iter..adapters..filter..Filter$LT$I$C$P$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h15e549a6a2dac80eE.exit.i.i.i", label %.lr.ph.i.i.i.i.i + %40 = icmp eq ptr %29, %26 + br i1 %40, label %"_ZN108_$LT$core..iter..adapters..filter..Filter$LT$I$C$P$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h15e549a6a2dac80eE.exit.i.i.i", label %.lr.ph.i.i.i.i.i "_ZN108_$LT$core..iter..adapters..filter..Filter$LT$I$C$P$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h15e549a6a2dac80eE.exit.i.i.i": ; preds = %"_ZN4core3ops8function5impls79_$LT$impl$u20$core..ops..function..FnMut$LT$A$GT$$u20$for$u20$$RF$mut$u20$F$GT$8call_mut17hca934255d99abbdaE.exit.thread8.i.i.i.i.i" - store ptr %25, ptr %.0.i.i, align 8, !alias.scope !460, !noalias !463 + store ptr %26, ptr %.0.i.i, align 8, !alias.scope !460, !noalias !463 br label %"_ZN107_$LT$core..iter..adapters..fuse..Fuse$LT$I$GT$$u20$as$u20$core..iter..adapters..fuse..FuseImpl$LT$I$GT$$GT$4next17hf93e98a3b5361f9eE.exit.thread.i" "_ZN107_$LT$core..iter..adapters..fuse..Fuse$LT$I$GT$$u20$as$u20$core..iter..adapters..fuse..FuseImpl$LT$I$GT$$GT$4next17hf93e98a3b5361f9eE.exit.i": ; preds = %"_ZN4core3ops8function5impls79_$LT$impl$u20$core..ops..function..FnMut$LT$A$GT$$u20$for$u20$$RF$mut$u20$F$GT$8call_mut17hca934255d99abbdaE.exit.i.i.i.i.i", %.lr.ph.i.i.i.i.i - store ptr %28, ptr %.0.i.i, align 8, !alias.scope !460, !noalias !463 + store ptr %29, ptr %.0.i.i, align 8, !alias.scope !460, !noalias !463 call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %4), !noalias !476 - call void @_ZN12typst_syntax4node10SyntaxNode6errors17h3b1ee498b4fecadeE(ptr noalias nocapture noundef nonnull sret({ { i64, ptr, {} }, i64 }) align 8 dereferenceable(24) %4, ptr noalias noundef nonnull readonly align 8 dereferenceable(32) %27), !noalias !477 + call void @_ZN12typst_syntax4node10SyntaxNode6errors17h3b1ee498b4fecadeE(ptr noalias nocapture noundef nonnull sret({ { i64, ptr, {} }, i64 }) align 8 dereferenceable(24) %4, ptr noalias noundef nonnull readonly align 8 dereferenceable(32) %28), !noalias !477 %.sroa.0.0.copyload7.i = load i64, ptr %4, align 8, !noalias !478 %.sroa.8.sroa.0.0.copyload.i = load ptr, ptr %.sroa.8.0..sroa_idx8.i, align 8, !noalias !478 %.sroa.8.sroa.5.0.copyload.i = load i64, ptr %.sroa.8.sroa.5.0..sroa.8.0..sroa_idx8.sroa_idx.i, align 8, !noalias !478 call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %4), !noalias !476 - %40 = icmp eq i64 %.sroa.0.0.copyload7.i, -9223372036854775808 - br i1 %40, label %"_ZN107_$LT$core..iter..adapters..fuse..Fuse$LT$I$GT$$u20$as$u20$core..iter..adapters..fuse..FuseImpl$LT$I$GT$$GT$4next17hf93e98a3b5361f9eE.exit.thread.i", label %58 + %41 = icmp eq i64 %.sroa.0.0.copyload7.i, -9223372036854775808 + br i1 %41, label %"_ZN107_$LT$core..iter..adapters..fuse..Fuse$LT$I$GT$$u20$as$u20$core..iter..adapters..fuse..FuseImpl$LT$I$GT$$GT$4next17hf93e98a3b5361f9eE.exit.thread.i", label %59 -"_ZN107_$LT$core..iter..adapters..fuse..Fuse$LT$I$GT$$u20$as$u20$core..iter..adapters..fuse..FuseImpl$LT$I$GT$$GT$4next17hf93e98a3b5361f9eE.exit.thread.i": ; preds = %"_ZN107_$LT$core..iter..adapters..fuse..Fuse$LT$I$GT$$u20$as$u20$core..iter..adapters..fuse..FuseImpl$LT$I$GT$$GT$4next17hf93e98a3b5361f9eE.exit.i", %"_ZN108_$LT$core..iter..adapters..filter..Filter$LT$I$C$P$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h15e549a6a2dac80eE.exit.i.i.i", %24, %"_ZN4core3ptr80drop_in_place$LT$core..option..Option$LT$typst_syntax..node..SyntaxError$GT$$GT$17h15b6005a05f248b3E.exit.i" - %41 = getelementptr inbounds i8, ptr %1, i64 32 +"_ZN107_$LT$core..iter..adapters..fuse..Fuse$LT$I$GT$$u20$as$u20$core..iter..adapters..fuse..FuseImpl$LT$I$GT$$GT$4next17hf93e98a3b5361f9eE.exit.thread.i": ; preds = %"_ZN107_$LT$core..iter..adapters..fuse..Fuse$LT$I$GT$$u20$as$u20$core..iter..adapters..fuse..FuseImpl$LT$I$GT$$GT$4next17hf93e98a3b5361f9eE.exit.i", %"_ZN108_$LT$core..iter..adapters..filter..Filter$LT$I$C$P$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h15e549a6a2dac80eE.exit.i.i.i", %25, %"_ZN4core3ptr80drop_in_place$LT$core..option..Option$LT$typst_syntax..node..SyntaxError$GT$$GT$17h15b6005a05f248b3E.exit.i" + %42 = getelementptr inbounds i8, ptr %1, i64 32 tail call void @llvm.experimental.noalias.scope.decl(metadata !479) tail call void @llvm.experimental.noalias.scope.decl(metadata !482) call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %3), !noalias !484 - %42 = load ptr, ptr %41, align 8, !alias.scope !485, !noalias !486, !noundef !14 - %43 = icmp eq ptr %42, null - br i1 %43, label %51, label %44 + %43 = load ptr, ptr %42, align 8, !alias.scope !485, !noalias !486, !noundef !14 + %44 = icmp eq ptr %43, null + br i1 %44, label %52, label %45 -44: ; preds = %"_ZN107_$LT$core..iter..adapters..fuse..Fuse$LT$I$GT$$u20$as$u20$core..iter..adapters..fuse..FuseImpl$LT$I$GT$$GT$4next17hf93e98a3b5361f9eE.exit.thread.i" +45: ; preds = %"_ZN107_$LT$core..iter..adapters..fuse..Fuse$LT$I$GT$$u20$as$u20$core..iter..adapters..fuse..FuseImpl$LT$I$GT$$GT$4next17hf93e98a3b5361f9eE.exit.thread.i" tail call void @llvm.experimental.noalias.scope.decl(metadata !487) tail call void @llvm.experimental.noalias.scope.decl(metadata !490) tail call void @llvm.experimental.noalias.scope.decl(metadata !492) tail call void @llvm.experimental.noalias.scope.decl(metadata !495) - %45 = getelementptr inbounds i8, ptr %1, i64 56 - %46 = load ptr, ptr %45, align 8, !alias.scope !497, !noalias !498, !nonnull !14, !noundef !14 - %47 = getelementptr inbounds i8, ptr %1, i64 40 - %48 = load ptr, ptr %47, align 8, !alias.scope !497, !noalias !498, !nonnull !14, !noundef !14 - %49 = icmp eq ptr %48, %46 - br i1 %49, label %_ZN4core3ops8function6FnOnce9call_once17hd02dfef08d04ee73E.exit.thread.i5.i, label %_ZN4core3ops8function6FnOnce9call_once17hd02dfef08d04ee73E.exit.i1.i - -_ZN4core3ops8function6FnOnce9call_once17hd02dfef08d04ee73E.exit.thread.i5.i: ; preds = %44 + %46 = getelementptr inbounds i8, ptr %1, i64 56 + %47 = load ptr, ptr %46, align 8, !alias.scope !497, !noalias !498, !nonnull !14, !noundef !14 + %48 = getelementptr inbounds i8, ptr %1, i64 40 + %49 = load ptr, ptr %48, align 8, !alias.scope !497, !noalias !498, !nonnull !14, !noundef !14 + %50 = icmp eq ptr %49, %47 + br i1 %50, label %_ZN4core3ops8function6FnOnce9call_once17hd02dfef08d04ee73E.exit.thread.i5.i, label %_ZN4core3ops8function6FnOnce9call_once17hd02dfef08d04ee73E.exit.i1.i + +_ZN4core3ops8function6FnOnce9call_once17hd02dfef08d04ee73E.exit.thread.i5.i: ; preds = %45 store i64 0, ptr %3, align 8, !alias.scope !499, !noalias !500 - br label %52 + br label %53 -_ZN4core3ops8function6FnOnce9call_once17hd02dfef08d04ee73E.exit.i1.i: ; preds = %44 - %50 = getelementptr inbounds i8, ptr %48, i64 40 - store ptr %50, ptr %47, align 8, !alias.scope !497, !noalias !498 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %3, ptr noundef nonnull align 8 dereferenceable(40) %48, i64 40, i1 false), !noalias !501 +_ZN4core3ops8function6FnOnce9call_once17hd02dfef08d04ee73E.exit.i1.i: ; preds = %45 + %51 = getelementptr inbounds i8, ptr %49, i64 40 + store ptr %51, ptr %48, align 8, !alias.scope !497, !noalias !498 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %3, ptr noundef nonnull align 8 dereferenceable(40) %49, i64 40, i1 false), !noalias !501 %.pr.i2.i = load i64, ptr %3, align 8, !noalias !484 %.not.i3.i = icmp eq i64 %.pr.i2.i, 0 - br i1 %.not.i3.i, label %52, label %53 + br i1 %.not.i3.i, label %53, label %54 -51: ; preds = %"_ZN107_$LT$core..iter..adapters..fuse..Fuse$LT$I$GT$$u20$as$u20$core..iter..adapters..fuse..FuseImpl$LT$I$GT$$GT$4next17hf93e98a3b5361f9eE.exit.thread.i" +52: ; preds = %"_ZN107_$LT$core..iter..adapters..fuse..Fuse$LT$I$GT$$u20$as$u20$core..iter..adapters..fuse..FuseImpl$LT$I$GT$$GT$4next17hf93e98a3b5361f9eE.exit.thread.i" store i64 0, ptr %0, align 8, !alias.scope !486, !noalias !485 call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %3), !noalias !484 br label %"_ZN116_$LT$core..iter..adapters..flatten..FlattenCompat$LT$I$C$U$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h80f61d1cae158b17E.exit" -52: ; preds = %_ZN4core3ops8function6FnOnce9call_once17hd02dfef08d04ee73E.exit.i1.i, %_ZN4core3ops8function6FnOnce9call_once17hd02dfef08d04ee73E.exit.thread.i5.i - invoke void @"_ZN86_$LT$alloc..vec..into_iter..IntoIter$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h88d11c544bbbb155E.llvm.18157932453617260866"(ptr noalias noundef nonnull align 8 dereferenceable(32) %41) - to label %"_ZN4core3ptr119drop_in_place$LT$core..option..Option$LT$alloc..vec..into_iter..IntoIter$LT$typst_syntax..node..SyntaxError$GT$$GT$$GT$17h3210ef787222dd84E.exit.i4.i" unwind label %54, !noalias !486 +53: ; preds = %_ZN4core3ops8function6FnOnce9call_once17hd02dfef08d04ee73E.exit.i1.i, %_ZN4core3ops8function6FnOnce9call_once17hd02dfef08d04ee73E.exit.thread.i5.i + invoke void @"_ZN86_$LT$alloc..vec..into_iter..IntoIter$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h88d11c544bbbb155E.llvm.18157932453617260866"(ptr noalias noundef nonnull align 8 dereferenceable(32) %42) + to label %"_ZN4core3ptr119drop_in_place$LT$core..option..Option$LT$alloc..vec..into_iter..IntoIter$LT$typst_syntax..node..SyntaxError$GT$$GT$$GT$17h3210ef787222dd84E.exit.i4.i" unwind label %55, !noalias !486 -53: ; preds = %"_ZN4core3ptr119drop_in_place$LT$core..option..Option$LT$alloc..vec..into_iter..IntoIter$LT$typst_syntax..node..SyntaxError$GT$$GT$$GT$17h3210ef787222dd84E.exit.i4.i", %_ZN4core3ops8function6FnOnce9call_once17hd02dfef08d04ee73E.exit.i1.i +54: ; preds = %"_ZN4core3ptr119drop_in_place$LT$core..option..Option$LT$alloc..vec..into_iter..IntoIter$LT$typst_syntax..node..SyntaxError$GT$$GT$$GT$17h3210ef787222dd84E.exit.i4.i", %_ZN4core3ops8function6FnOnce9call_once17hd02dfef08d04ee73E.exit.i1.i call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %0, ptr noundef nonnull align 8 dereferenceable(40) %3, i64 40, i1 false), !noalias !485 call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %3), !noalias !484 br label %"_ZN116_$LT$core..iter..adapters..flatten..FlattenCompat$LT$I$C$U$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h80f61d1cae158b17E.exit" -54: ; preds = %52 - %55 = landingpad { ptr, i32 } +55: ; preds = %53 + %56 = landingpad { ptr, i32 } cleanup - store ptr null, ptr %41, align 8, !alias.scope !485, !noalias !486 + store ptr null, ptr %42, align 8, !alias.scope !485, !noalias !486 invoke fastcc void @"_ZN4core3ptr80drop_in_place$LT$core..option..Option$LT$typst_syntax..node..SyntaxError$GT$$GT$17h15b6005a05f248b3E"(ptr noalias noundef nonnull align 8 dereferenceable(40) %3) #16 - to label %common.resume.i unwind label %56, !noalias !486 + to label %common.resume.i unwind label %57, !noalias !486 -"_ZN4core3ptr119drop_in_place$LT$core..option..Option$LT$alloc..vec..into_iter..IntoIter$LT$typst_syntax..node..SyntaxError$GT$$GT$$GT$17h3210ef787222dd84E.exit.i4.i": ; preds = %52 - store ptr null, ptr %41, align 8, !alias.scope !485, !noalias !486 - br label %53 +"_ZN4core3ptr119drop_in_place$LT$core..option..Option$LT$alloc..vec..into_iter..IntoIter$LT$typst_syntax..node..SyntaxError$GT$$GT$$GT$17h3210ef787222dd84E.exit.i4.i": ; preds = %53 + store ptr null, ptr %42, align 8, !alias.scope !485, !noalias !486 + br label %54 -56: ; preds = %54 - %57 = landingpad { ptr, i32 } +57: ; preds = %55 + %58 = landingpad { ptr, i32 } filter [0 x ptr] zeroinitializer call void @_ZN4core9panicking16panic_in_cleanup17h76c6e1c84248d3ffE() #15, !noalias !486 unreachable -58: ; preds = %"_ZN107_$LT$core..iter..adapters..fuse..Fuse$LT$I$GT$$u20$as$u20$core..iter..adapters..fuse..FuseImpl$LT$I$GT$$GT$4next17hf93e98a3b5361f9eE.exit.i" - %59 = icmp ne ptr %.sroa.8.sroa.0.0.copyload.i, null - tail call void @llvm.assume(i1 %59) - %60 = getelementptr inbounds { i64, { ptr, i64, {} }, { { { [2 x i64] } } } }, ptr %.sroa.8.sroa.0.0.copyload.i, i64 %.sroa.8.sroa.5.0.copyload.i - %61 = load ptr, ptr %1, align 8, !alias.scope !502, !noalias !416, !noundef !14 - %62 = icmp eq ptr %61, null - br i1 %62, label %"_ZN4core3ptr119drop_in_place$LT$core..option..Option$LT$alloc..vec..into_iter..IntoIter$LT$typst_syntax..node..SyntaxError$GT$$GT$$GT$17h3210ef787222dd84E.exit.i", label %63 +59: ; preds = %"_ZN107_$LT$core..iter..adapters..fuse..Fuse$LT$I$GT$$u20$as$u20$core..iter..adapters..fuse..FuseImpl$LT$I$GT$$GT$4next17hf93e98a3b5361f9eE.exit.i" + %60 = icmp ne ptr %.sroa.8.sroa.0.0.copyload.i, null + tail call void @llvm.assume(i1 %60) + %61 = getelementptr inbounds { i64, { ptr, i64, {} }, { { { [2 x i64] } } } }, ptr %.sroa.8.sroa.0.0.copyload.i, i64 %.sroa.8.sroa.5.0.copyload.i + %62 = load ptr, ptr %1, align 8, !alias.scope !502, !noalias !416, !noundef !14 + %63 = icmp eq ptr %62, null + br i1 %63, label %"_ZN4core3ptr119drop_in_place$LT$core..option..Option$LT$alloc..vec..into_iter..IntoIter$LT$typst_syntax..node..SyntaxError$GT$$GT$$GT$17h3210ef787222dd84E.exit.i", label %64 -63: ; preds = %58 +64: ; preds = %59 invoke void @"_ZN86_$LT$alloc..vec..into_iter..IntoIter$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h88d11c544bbbb155E.llvm.18157932453617260866"(ptr noalias noundef nonnull align 8 dereferenceable(32) %1) - to label %"_ZN4core3ptr119drop_in_place$LT$core..option..Option$LT$alloc..vec..into_iter..IntoIter$LT$typst_syntax..node..SyntaxError$GT$$GT$$GT$17h3210ef787222dd84E.exit.i" unwind label %64, !noalias !416 + to label %"_ZN4core3ptr119drop_in_place$LT$core..option..Option$LT$alloc..vec..into_iter..IntoIter$LT$typst_syntax..node..SyntaxError$GT$$GT$$GT$17h3210ef787222dd84E.exit.i" unwind label %65, !noalias !416 -64: ; preds = %63 - %65 = landingpad { ptr, i32 } +65: ; preds = %64 + %66 = landingpad { ptr, i32 } cleanup store ptr %.sroa.8.sroa.0.0.copyload.i, ptr %1, align 8, !alias.scope !419, !noalias !416 store ptr %.sroa.8.sroa.0.0.copyload.i, ptr %7, align 8, !alias.scope !419, !noalias !416 store i64 %.sroa.0.0.copyload7.i, ptr %.sroa.617.0..sroa_idx18.i, align 8, !alias.scope !419, !noalias !416 - store ptr %60, ptr %6, align 8, !alias.scope !419, !noalias !416 + store ptr %61, ptr %6, align 8, !alias.scope !419, !noalias !416 br label %common.resume.i -"_ZN4core3ptr119drop_in_place$LT$core..option..Option$LT$alloc..vec..into_iter..IntoIter$LT$typst_syntax..node..SyntaxError$GT$$GT$$GT$17h3210ef787222dd84E.exit.i": ; preds = %63, %58 +"_ZN4core3ptr119drop_in_place$LT$core..option..Option$LT$alloc..vec..into_iter..IntoIter$LT$typst_syntax..node..SyntaxError$GT$$GT$$GT$17h3210ef787222dd84E.exit.i": ; preds = %64, %59 store ptr %.sroa.8.sroa.0.0.copyload.i, ptr %1, align 8, !alias.scope !419, !noalias !416 store ptr %.sroa.8.sroa.0.0.copyload.i, ptr %7, align 8, !alias.scope !419, !noalias !416 store i64 %.sroa.0.0.copyload7.i, ptr %.sroa.617.0..sroa_idx18.i, align 8, !alias.scope !419, !noalias !416 - store ptr %60, ptr %6, align 8, !alias.scope !419, !noalias !416 + store ptr %61, ptr %6, align 8, !alias.scope !419, !noalias !416 tail call void @llvm.experimental.noalias.scope.decl(metadata !426) call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %5), !noalias !427 br label %11 -"_ZN116_$LT$core..iter..adapters..flatten..FlattenCompat$LT$I$C$U$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h80f61d1cae158b17E.exit": ; preds = %21, %51, %53 +"_ZN116_$LT$core..iter..adapters..flatten..FlattenCompat$LT$I$C$U$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h80f61d1cae158b17E.exit": ; preds = %21, %52, %54 call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %.sroa.7.i) ret void } diff --git a/bench/vcpkg/optimized/archives.cpp.ll b/bench/vcpkg/optimized/archives.cpp.ll index ee7a4b563e7..074d658c07b 100644 --- a/bench/vcpkg/optimized/archives.cpp.ll +++ b/bench/vcpkg/optimized/archives.cpp.ll @@ -1750,19 +1750,18 @@ define linkonce_odr dso_local void @_ZN3fmt3v106detail5valueINS0_20basic_format_ 26: ; preds = %3 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(64) %4, ptr noundef nonnull align 8 dereferenceable(64) %5, i64 64, i1 false) - %27 = getelementptr inbounds i8, ptr %4, i64 16 - call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %4, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %27, ptr noundef nonnull align 8 dereferenceable(32) %2) - %28 = getelementptr inbounds i8, ptr %4, i64 4 - %29 = getelementptr inbounds i8, ptr %4, i64 40 - call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_17precision_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %28, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %29, ptr noundef nonnull align 8 dereferenceable(32) %2) + call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %4, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %11, ptr noundef nonnull align 8 dereferenceable(32) %2) + %27 = getelementptr inbounds i8, ptr %4, i64 4 + %28 = getelementptr inbounds i8, ptr %4, i64 40 + call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_17precision_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %27, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %28, ptr noundef nonnull align 8 dereferenceable(32) %2) br label %_ZNK3fmt3v109formatterIN5vcpkg10StringViewEcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEES3_RT_.exit _ZNK3fmt3v109formatterIN5vcpkg10StringViewEcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEES3_RT_.exit: ; preds = %3, %26 %.sink = phi ptr [ %4, %26 ], [ %5, %3 ] %.sroa.0.0.copyload.i.i = load ptr, ptr %2, align 8 - %30 = call ptr @_ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_NS0_17basic_string_viewIT_EERKNS0_12format_specsIS6_EE(ptr %.sroa.0.0.copyload.i.i, ptr %.sroa.0.0.copyload, i64 %.sroa.2.0.copyload, ptr noundef nonnull align 4 dereferenceable(16) %.sink) + %29 = call ptr @_ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_NS0_17basic_string_viewIT_EERKNS0_12format_specsIS6_EE(ptr %.sroa.0.0.copyload.i.i, ptr %.sroa.0.0.copyload, i64 %.sroa.2.0.copyload, ptr noundef nonnull align 4 dereferenceable(16) %.sink) call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %4) - store ptr %30, ptr %2, align 8 + store ptr %29, ptr %2, align 8 ret void } diff --git a/bench/vcpkg/optimized/binarycaching.cpp.ll b/bench/vcpkg/optimized/binarycaching.cpp.ll index abd33ffa9a1..1bf00bc7a1f 100644 --- a/bench/vcpkg/optimized/binarycaching.cpp.ll +++ b/bench/vcpkg/optimized/binarycaching.cpp.ll @@ -18170,7 +18170,7 @@ define linkonce_odr dso_local ptr @_ZNK3fmt3v109formatterIN5vcpkg11ElapsedTimeEc 12: ; preds = %3 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(64) %4, ptr noundef nonnull align 8 dereferenceable(64) %0, i64 64, i1 false) - %13 = getelementptr inbounds i8, ptr %4, i64 16 + %13 = getelementptr inbounds i8, ptr %0, i64 16 invoke void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %4, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %13, ptr noundef nonnull align 8 dereferenceable(32) %2) to label %14 unwind label %19 @@ -21690,19 +21690,18 @@ define linkonce_odr dso_local void @_ZN3fmt3v106detail5valueINS0_20basic_format_ 26: ; preds = %3 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(64) %4, ptr noundef nonnull align 8 dereferenceable(64) %5, i64 64, i1 false) - %27 = getelementptr inbounds i8, ptr %4, i64 16 - call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %4, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %27, ptr noundef nonnull align 8 dereferenceable(32) %2) - %28 = getelementptr inbounds i8, ptr %4, i64 4 - %29 = getelementptr inbounds i8, ptr %4, i64 40 - call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_17precision_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %28, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %29, ptr noundef nonnull align 8 dereferenceable(32) %2) + call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %4, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %11, ptr noundef nonnull align 8 dereferenceable(32) %2) + %27 = getelementptr inbounds i8, ptr %4, i64 4 + %28 = getelementptr inbounds i8, ptr %4, i64 40 + call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_17precision_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %27, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %28, ptr noundef nonnull align 8 dereferenceable(32) %2) br label %_ZNK3fmt3v109formatterIN5vcpkg10StringViewEcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEES3_RT_.exit _ZNK3fmt3v109formatterIN5vcpkg10StringViewEcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEES3_RT_.exit: ; preds = %3, %26 %.sink = phi ptr [ %4, %26 ], [ %5, %3 ] %.sroa.0.0.copyload.i.i = load ptr, ptr %2, align 8 - %30 = call ptr @_ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_NS0_17basic_string_viewIT_EERKNS0_12format_specsIS6_EE(ptr %.sroa.0.0.copyload.i.i, ptr %.sroa.0.0.copyload, i64 %.sroa.2.0.copyload, ptr noundef nonnull align 4 dereferenceable(16) %.sink) + %29 = call ptr @_ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_NS0_17basic_string_viewIT_EERKNS0_12format_specsIS6_EE(ptr %.sroa.0.0.copyload.i.i, ptr %.sroa.0.0.copyload, i64 %.sroa.2.0.copyload, ptr noundef nonnull align 4 dereferenceable(16) %.sink) call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %4) - store ptr %30, ptr %2, align 8 + store ptr %29, ptr %2, align 8 ret void } @@ -30036,7 +30035,7 @@ define linkonce_odr dso_local ptr @_ZNK3fmt3v109formatterIN5vcpkg11PackageSpecEc 12: ; preds = %3 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(64) %4, ptr noundef nonnull align 8 dereferenceable(64) %0, i64 64, i1 false) - %13 = getelementptr inbounds i8, ptr %4, i64 16 + %13 = getelementptr inbounds i8, ptr %0, i64 16 invoke void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %4, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %13, ptr noundef nonnull align 8 dereferenceable(32) %2) to label %14 unwind label %19 diff --git a/bench/vcpkg/optimized/binaryparagraph.cpp.ll b/bench/vcpkg/optimized/binaryparagraph.cpp.ll index 911dc33b5c2..d251ea9d0ed 100644 --- a/bench/vcpkg/optimized/binaryparagraph.cpp.ll +++ b/bench/vcpkg/optimized/binaryparagraph.cpp.ll @@ -3909,7 +3909,7 @@ define linkonce_odr dso_local ptr @_ZNK3fmt3v109formatterIN5vcpkg11PackageSpecEc 12: ; preds = %3 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(64) %4, ptr noundef nonnull align 8 dereferenceable(64) %0, i64 64, i1 false) - %13 = getelementptr inbounds i8, ptr %4, i64 16 + %13 = getelementptr inbounds i8, ptr %0, i64 16 invoke void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %4, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %13, ptr noundef nonnull align 8 dereferenceable(32) %2) to label %14 unwind label %19 @@ -6707,19 +6707,18 @@ define linkonce_odr dso_local void @_ZN3fmt3v106detail5valueINS0_20basic_format_ 26: ; preds = %3 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(64) %4, ptr noundef nonnull align 8 dereferenceable(64) %5, i64 64, i1 false) - %27 = getelementptr inbounds i8, ptr %4, i64 16 - call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %4, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %27, ptr noundef nonnull align 8 dereferenceable(32) %2) - %28 = getelementptr inbounds i8, ptr %4, i64 4 - %29 = getelementptr inbounds i8, ptr %4, i64 40 - call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_17precision_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %28, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %29, ptr noundef nonnull align 8 dereferenceable(32) %2) + call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %4, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %11, ptr noundef nonnull align 8 dereferenceable(32) %2) + %27 = getelementptr inbounds i8, ptr %4, i64 4 + %28 = getelementptr inbounds i8, ptr %4, i64 40 + call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_17precision_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %27, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %28, ptr noundef nonnull align 8 dereferenceable(32) %2) br label %_ZNK3fmt3v109formatterIN5vcpkg10StringViewEcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEES3_RT_.exit _ZNK3fmt3v109formatterIN5vcpkg10StringViewEcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEES3_RT_.exit: ; preds = %3, %26 %.sink = phi ptr [ %4, %26 ], [ %5, %3 ] %.sroa.0.0.copyload.i.i = load ptr, ptr %2, align 8 - %30 = call ptr @_ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_NS0_17basic_string_viewIT_EERKNS0_12format_specsIS6_EE(ptr %.sroa.0.0.copyload.i.i, ptr %.sroa.0.0.copyload, i64 %.sroa.2.0.copyload, ptr noundef nonnull align 4 dereferenceable(16) %.sink) + %29 = call ptr @_ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_NS0_17basic_string_viewIT_EERKNS0_12format_specsIS6_EE(ptr %.sroa.0.0.copyload.i.i, ptr %.sroa.0.0.copyload, i64 %.sroa.2.0.copyload, ptr noundef nonnull align 4 dereferenceable(16) %.sink) call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %4) - store ptr %30, ptr %2, align 8 + store ptr %29, ptr %2, align 8 ret void } @@ -7444,19 +7443,18 @@ define linkonce_odr dso_local void @_ZN3fmt3v106detail5valueINS0_20basic_format_ 28: ; preds = %3 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(64) %4, ptr noundef nonnull align 8 dereferenceable(64) %6, i64 64, i1 false) - %29 = getelementptr inbounds i8, ptr %4, i64 16 - call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %4, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %29, ptr noundef nonnull align 8 dereferenceable(32) %2) - %30 = getelementptr inbounds i8, ptr %4, i64 4 - %31 = getelementptr inbounds i8, ptr %4, i64 40 - call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_17precision_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %30, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %31, ptr noundef nonnull align 8 dereferenceable(32) %2) + call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %4, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %12, ptr noundef nonnull align 8 dereferenceable(32) %2) + %29 = getelementptr inbounds i8, ptr %4, i64 4 + %30 = getelementptr inbounds i8, ptr %4, i64 40 + call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_17precision_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %29, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %30, ptr noundef nonnull align 8 dereferenceable(32) %2) br label %_ZNK3fmt3v109formatterIN5vcpkg7TripletEcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEERKS3_RT_.exit _ZNK3fmt3v109formatterIN5vcpkg7TripletEcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEERKS3_RT_.exit: ; preds = %3, %28 %.sink.i = phi ptr [ %4, %28 ], [ %6, %3 ] %.sroa.0.0.copyload.i.i.i = load ptr, ptr %2, align 8 - %32 = call ptr @_ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_NS0_17basic_string_viewIT_EERKNS0_12format_specsIS6_EE(ptr %.sroa.0.0.copyload.i.i.i, ptr %.fca.0.load.i.i, i64 %.fca.1.load.i.i, ptr noundef nonnull align 4 dereferenceable(16) %.sink.i) + %31 = call ptr @_ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_NS0_17basic_string_viewIT_EERKNS0_12format_specsIS6_EE(ptr %.sroa.0.0.copyload.i.i.i, ptr %.fca.0.load.i.i, i64 %.fca.1.load.i.i, ptr noundef nonnull align 4 dereferenceable(16) %.sink.i) call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %4) - store ptr %32, ptr %2, align 8 + store ptr %31, ptr %2, align 8 ret void } @@ -7577,19 +7575,18 @@ define linkonce_odr dso_local void @_ZN3fmt3v106detail5valueINS0_20basic_format_ 26: ; preds = %3 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(64) %4, ptr noundef nonnull align 8 dereferenceable(64) %5, i64 64, i1 false) - %27 = getelementptr inbounds i8, ptr %4, i64 16 - call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %4, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %27, ptr noundef nonnull align 8 dereferenceable(32) %2) - %28 = getelementptr inbounds i8, ptr %4, i64 4 - %29 = getelementptr inbounds i8, ptr %4, i64 40 - call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_17precision_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %28, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %29, ptr noundef nonnull align 8 dereferenceable(32) %2) + call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %4, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %11, ptr noundef nonnull align 8 dereferenceable(32) %2) + %27 = getelementptr inbounds i8, ptr %4, i64 4 + %28 = getelementptr inbounds i8, ptr %4, i64 40 + call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_17precision_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %27, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %28, ptr noundef nonnull align 8 dereferenceable(32) %2) br label %_ZNK3fmt3v109formatterIN5vcpkg13StringLiteralEcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEERKS3_RT_.exit _ZNK3fmt3v109formatterIN5vcpkg13StringLiteralEcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEERKS3_RT_.exit: ; preds = %3, %26 %.sink = phi ptr [ %4, %26 ], [ %5, %3 ] %.sroa.0.0.copyload.i.i.i = load ptr, ptr %2, align 8 - %30 = call ptr @_ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_NS0_17basic_string_viewIT_EERKNS0_12format_specsIS6_EE(ptr %.sroa.0.0.copyload.i.i.i, ptr %.sroa.0.0.copyload.i, i64 %.sroa.2.0.copyload.i, ptr noundef nonnull align 4 dereferenceable(16) %.sink) + %29 = call ptr @_ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_NS0_17basic_string_viewIT_EERKNS0_12format_specsIS6_EE(ptr %.sroa.0.0.copyload.i.i.i, ptr %.sroa.0.0.copyload.i, i64 %.sroa.2.0.copyload.i, ptr noundef nonnull align 4 dereferenceable(16) %.sink) call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %4) - store ptr %30, ptr %2, align 8 + store ptr %29, ptr %2, align 8 ret void } diff --git a/bench/vcpkg/optimized/bundlesettings.cpp.ll b/bench/vcpkg/optimized/bundlesettings.cpp.ll index af77a62e58b..5bc859410d0 100644 --- a/bench/vcpkg/optimized/bundlesettings.cpp.ll +++ b/bench/vcpkg/optimized/bundlesettings.cpp.ll @@ -1415,26 +1415,25 @@ switch.lookup: ; preds = %3 %19 = load i32, ptr %18, align 8 %.not19.i.i = icmp eq i32 %19, 0 %or.cond.i.i = select i1 %.not.i.i, i1 %.not19.i.i, i1 false - br i1 %or.cond.i.i, label %25, label %20 + br i1 %or.cond.i.i, label %24, label %20 20: ; preds = %switch.lookup call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(64) %4, ptr noundef nonnull align 8 dereferenceable(64) %0, i64 64, i1 false) - %21 = getelementptr inbounds i8, ptr %4, i64 16 - call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %4, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %21, ptr noundef nonnull align 8 dereferenceable(32) %2) - %22 = getelementptr inbounds i8, ptr %4, i64 4 - %23 = getelementptr inbounds i8, ptr %4, i64 40 - call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_17precision_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %22, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %23, ptr noundef nonnull align 8 dereferenceable(32) %2) + call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %4, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %16, ptr noundef nonnull align 8 dereferenceable(32) %2) + %21 = getelementptr inbounds i8, ptr %4, i64 4 + %22 = getelementptr inbounds i8, ptr %4, i64 40 + call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_17precision_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %21, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %22, ptr noundef nonnull align 8 dereferenceable(32) %2) %.sroa.0.0.copyload.i.i.i = load ptr, ptr %2, align 8 - %24 = call ptr @_ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_NS0_17basic_string_viewIT_EERKNS0_12format_specsIS6_EE(ptr %.sroa.0.0.copyload.i.i.i, ptr nonnull %switch.load, i64 %switch.load4, ptr noundef nonnull align 4 dereferenceable(16) %4) + %23 = call ptr @_ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_NS0_17basic_string_viewIT_EERKNS0_12format_specsIS6_EE(ptr %.sroa.0.0.copyload.i.i.i, ptr nonnull %switch.load, i64 %switch.load4, ptr noundef nonnull align 4 dereferenceable(16) %4) br label %_ZNK3fmt3v109formatterIN5vcpkg13StringLiteralEcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEERKS3_RT_.exit -25: ; preds = %switch.lookup +24: ; preds = %switch.lookup %.sroa.0.0.copyload.i22.i.i = load ptr, ptr %2, align 8 - %26 = tail call ptr @_ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_NS0_17basic_string_viewIT_EERKNS0_12format_specsIS6_EE(ptr %.sroa.0.0.copyload.i22.i.i, ptr nonnull %switch.load, i64 %switch.load4, ptr noundef nonnull align 4 dereferenceable(16) %0) + %25 = tail call ptr @_ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_NS0_17basic_string_viewIT_EERKNS0_12format_specsIS6_EE(ptr %.sroa.0.0.copyload.i22.i.i, ptr nonnull %switch.load, i64 %switch.load4, ptr noundef nonnull align 4 dereferenceable(16) %0) br label %_ZNK3fmt3v109formatterIN5vcpkg13StringLiteralEcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEERKS3_RT_.exit -_ZNK3fmt3v109formatterIN5vcpkg13StringLiteralEcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEERKS3_RT_.exit: ; preds = %20, %25 - %.sroa.018.0.i.i = phi ptr [ %24, %20 ], [ %26, %25 ] +_ZNK3fmt3v109formatterIN5vcpkg13StringLiteralEcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEERKS3_RT_.exit: ; preds = %20, %24 + %.sroa.018.0.i.i = phi ptr [ %23, %20 ], [ %25, %24 ] call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %4) ret ptr %.sroa.018.0.i.i } diff --git a/bench/vcpkg/optimized/checks.cpp.ll b/bench/vcpkg/optimized/checks.cpp.ll index ed3b1377d66..5159b821b91 100644 --- a/bench/vcpkg/optimized/checks.cpp.ll +++ b/bench/vcpkg/optimized/checks.cpp.ll @@ -1082,7 +1082,7 @@ define linkonce_odr dso_local ptr @_ZNK3fmt3v109formatterIN5vcpkg8LineInfoEcvE6f 18: ; preds = %3 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(64) %5, ptr noundef nonnull align 8 dereferenceable(64) %0, i64 64, i1 false) - %19 = getelementptr inbounds i8, ptr %5, i64 16 + %19 = getelementptr inbounds i8, ptr %0, i64 16 invoke void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %5, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %19, ptr noundef nonnull align 8 dereferenceable(32) %2) to label %20 unwind label %25 diff --git a/bench/vcpkg/optimized/ci-baseline.cpp.ll b/bench/vcpkg/optimized/ci-baseline.cpp.ll index 82b2f136799..8cd0347e0a6 100644 --- a/bench/vcpkg/optimized/ci-baseline.cpp.ll +++ b/bench/vcpkg/optimized/ci-baseline.cpp.ll @@ -6008,7 +6008,7 @@ define linkonce_odr dso_local ptr @_ZNK3fmt3v109formatterIN5vcpkg11PackageSpecEc 12: ; preds = %3 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(64) %4, ptr noundef nonnull align 8 dereferenceable(64) %0, i64 64, i1 false) - %13 = getelementptr inbounds i8, ptr %4, i64 16 + %13 = getelementptr inbounds i8, ptr %0, i64 16 invoke void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %4, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %13, ptr noundef nonnull align 8 dereferenceable(32) %2) to label %14 unwind label %19 @@ -8778,19 +8778,18 @@ define linkonce_odr dso_local void @_ZN3fmt3v106detail5valueINS0_20basic_format_ 26: ; preds = %3 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(64) %4, ptr noundef nonnull align 8 dereferenceable(64) %5, i64 64, i1 false) - %27 = getelementptr inbounds i8, ptr %4, i64 16 - call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %4, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %27, ptr noundef nonnull align 8 dereferenceable(32) %2) - %28 = getelementptr inbounds i8, ptr %4, i64 4 - %29 = getelementptr inbounds i8, ptr %4, i64 40 - call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_17precision_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %28, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %29, ptr noundef nonnull align 8 dereferenceable(32) %2) + call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %4, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %11, ptr noundef nonnull align 8 dereferenceable(32) %2) + %27 = getelementptr inbounds i8, ptr %4, i64 4 + %28 = getelementptr inbounds i8, ptr %4, i64 40 + call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_17precision_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %27, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %28, ptr noundef nonnull align 8 dereferenceable(32) %2) br label %_ZNK3fmt3v109formatterIN5vcpkg10StringViewEcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEES3_RT_.exit _ZNK3fmt3v109formatterIN5vcpkg10StringViewEcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEES3_RT_.exit: ; preds = %3, %26 %.sink = phi ptr [ %4, %26 ], [ %5, %3 ] %.sroa.0.0.copyload.i.i = load ptr, ptr %2, align 8 - %30 = call ptr @_ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_NS0_17basic_string_viewIT_EERKNS0_12format_specsIS6_EE(ptr %.sroa.0.0.copyload.i.i, ptr %.sroa.0.0.copyload, i64 %.sroa.2.0.copyload, ptr noundef nonnull align 4 dereferenceable(16) %.sink) + %29 = call ptr @_ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_NS0_17basic_string_viewIT_EERKNS0_12format_specsIS6_EE(ptr %.sroa.0.0.copyload.i.i, ptr %.sroa.0.0.copyload, i64 %.sroa.2.0.copyload, ptr noundef nonnull align 4 dereferenceable(16) %.sink) call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %4) - store ptr %30, ptr %2, align 8 + store ptr %29, ptr %2, align 8 ret void } diff --git a/bench/vcpkg/optimized/cmakevars.cpp.ll b/bench/vcpkg/optimized/cmakevars.cpp.ll index 373d533024d..9025d628956 100644 --- a/bench/vcpkg/optimized/cmakevars.cpp.ll +++ b/bench/vcpkg/optimized/cmakevars.cpp.ll @@ -4747,19 +4747,18 @@ define linkonce_odr dso_local void @_ZN3fmt3v106detail5valueINS0_20basic_format_ 26: ; preds = %3 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(64) %4, ptr noundef nonnull align 8 dereferenceable(64) %5, i64 64, i1 false) - %27 = getelementptr inbounds i8, ptr %4, i64 16 - call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %4, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %27, ptr noundef nonnull align 8 dereferenceable(32) %2) - %28 = getelementptr inbounds i8, ptr %4, i64 4 - %29 = getelementptr inbounds i8, ptr %4, i64 40 - call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_17precision_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %28, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %29, ptr noundef nonnull align 8 dereferenceable(32) %2) + call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %4, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %11, ptr noundef nonnull align 8 dereferenceable(32) %2) + %27 = getelementptr inbounds i8, ptr %4, i64 4 + %28 = getelementptr inbounds i8, ptr %4, i64 40 + call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_17precision_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %27, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %28, ptr noundef nonnull align 8 dereferenceable(32) %2) br label %_ZNK3fmt3v109formatterIN5vcpkg10StringViewEcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEES3_RT_.exit _ZNK3fmt3v109formatterIN5vcpkg10StringViewEcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEES3_RT_.exit: ; preds = %3, %26 %.sink = phi ptr [ %4, %26 ], [ %5, %3 ] %.sroa.0.0.copyload.i.i = load ptr, ptr %2, align 8 - %30 = call ptr @_ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_NS0_17basic_string_viewIT_EERKNS0_12format_specsIS6_EE(ptr %.sroa.0.0.copyload.i.i, ptr %.sroa.0.0.copyload, i64 %.sroa.2.0.copyload, ptr noundef nonnull align 4 dereferenceable(16) %.sink) + %29 = call ptr @_ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_NS0_17basic_string_viewIT_EERKNS0_12format_specsIS6_EE(ptr %.sroa.0.0.copyload.i.i, ptr %.sroa.0.0.copyload, i64 %.sroa.2.0.copyload, ptr noundef nonnull align 4 dereferenceable(16) %.sink) call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %4) - store ptr %30, ptr %2, align 8 + store ptr %29, ptr %2, align 8 ret void } diff --git a/bench/vcpkg/optimized/cmd-parser.cpp.ll b/bench/vcpkg/optimized/cmd-parser.cpp.ll index 55ccfe9629e..822e08d2170 100644 --- a/bench/vcpkg/optimized/cmd-parser.cpp.ll +++ b/bench/vcpkg/optimized/cmd-parser.cpp.ll @@ -6754,19 +6754,18 @@ define linkonce_odr dso_local void @_ZN3fmt3v106detail5valueINS0_20basic_format_ 26: ; preds = %3 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(64) %4, ptr noundef nonnull align 8 dereferenceable(64) %5, i64 64, i1 false) - %27 = getelementptr inbounds i8, ptr %4, i64 16 - call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %4, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %27, ptr noundef nonnull align 8 dereferenceable(32) %2) - %28 = getelementptr inbounds i8, ptr %4, i64 4 - %29 = getelementptr inbounds i8, ptr %4, i64 40 - call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_17precision_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %28, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %29, ptr noundef nonnull align 8 dereferenceable(32) %2) + call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %4, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %11, ptr noundef nonnull align 8 dereferenceable(32) %2) + %27 = getelementptr inbounds i8, ptr %4, i64 4 + %28 = getelementptr inbounds i8, ptr %4, i64 40 + call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_17precision_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %27, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %28, ptr noundef nonnull align 8 dereferenceable(32) %2) br label %_ZNK3fmt3v109formatterIN5vcpkg10StringViewEcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEES3_RT_.exit _ZNK3fmt3v109formatterIN5vcpkg10StringViewEcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEES3_RT_.exit: ; preds = %3, %26 %.sink = phi ptr [ %4, %26 ], [ %5, %3 ] %.sroa.0.0.copyload.i.i = load ptr, ptr %2, align 8 - %30 = call ptr @_ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_NS0_17basic_string_viewIT_EERKNS0_12format_specsIS6_EE(ptr %.sroa.0.0.copyload.i.i, ptr %.sroa.0.0.copyload, i64 %.sroa.2.0.copyload, ptr noundef nonnull align 4 dereferenceable(16) %.sink) + %29 = call ptr @_ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_NS0_17basic_string_viewIT_EERKNS0_12format_specsIS6_EE(ptr %.sroa.0.0.copyload.i.i, ptr %.sroa.0.0.copyload, i64 %.sroa.2.0.copyload, ptr noundef nonnull align 4 dereferenceable(16) %.sink) call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %4) - store ptr %30, ptr %2, align 8 + store ptr %29, ptr %2, align 8 ret void } diff --git a/bench/vcpkg/optimized/cofffilereader.cpp.ll b/bench/vcpkg/optimized/cofffilereader.cpp.ll index 1505e8e50f8..6861aa06ed7 100644 --- a/bench/vcpkg/optimized/cofffilereader.cpp.ll +++ b/bench/vcpkg/optimized/cofffilereader.cpp.ll @@ -4512,19 +4512,18 @@ define linkonce_odr dso_local void @_ZN3fmt3v106detail5valueINS0_20basic_format_ 26: ; preds = %3 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(64) %4, ptr noundef nonnull align 8 dereferenceable(64) %5, i64 64, i1 false) - %27 = getelementptr inbounds i8, ptr %4, i64 16 - call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %4, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %27, ptr noundef nonnull align 8 dereferenceable(32) %2) - %28 = getelementptr inbounds i8, ptr %4, i64 4 - %29 = getelementptr inbounds i8, ptr %4, i64 40 - call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_17precision_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %28, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %29, ptr noundef nonnull align 8 dereferenceable(32) %2) + call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %4, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %11, ptr noundef nonnull align 8 dereferenceable(32) %2) + %27 = getelementptr inbounds i8, ptr %4, i64 4 + %28 = getelementptr inbounds i8, ptr %4, i64 40 + call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_17precision_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %27, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %28, ptr noundef nonnull align 8 dereferenceable(32) %2) br label %_ZNK3fmt3v109formatterIN5vcpkg10StringViewEcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEES3_RT_.exit _ZNK3fmt3v109formatterIN5vcpkg10StringViewEcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEES3_RT_.exit: ; preds = %3, %26 %.sink = phi ptr [ %4, %26 ], [ %5, %3 ] %.sroa.0.0.copyload.i.i = load ptr, ptr %2, align 8 - %30 = call ptr @_ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_NS0_17basic_string_viewIT_EERKNS0_12format_specsIS6_EE(ptr %.sroa.0.0.copyload.i.i, ptr %.sroa.0.0.copyload, i64 %.sroa.2.0.copyload, ptr noundef nonnull align 4 dereferenceable(16) %.sink) + %29 = call ptr @_ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_NS0_17basic_string_viewIT_EERKNS0_12format_specsIS6_EE(ptr %.sroa.0.0.copyload.i.i, ptr %.sroa.0.0.copyload, i64 %.sroa.2.0.copyload, ptr noundef nonnull align 4 dereferenceable(16) %.sink) call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %4) - store ptr %30, ptr %2, align 8 + store ptr %29, ptr %2, align 8 ret void } diff --git a/bench/vcpkg/optimized/commands.add-version.cpp.ll b/bench/vcpkg/optimized/commands.add-version.cpp.ll index eef87532a69..28908f98df8 100644 --- a/bench/vcpkg/optimized/commands.add-version.cpp.ll +++ b/bench/vcpkg/optimized/commands.add-version.cpp.ll @@ -5345,19 +5345,18 @@ define linkonce_odr dso_local void @_ZN3fmt3v106detail5valueINS0_20basic_format_ 26: ; preds = %3 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(64) %4, ptr noundef nonnull align 8 dereferenceable(64) %5, i64 64, i1 false) - %27 = getelementptr inbounds i8, ptr %4, i64 16 - call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %4, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %27, ptr noundef nonnull align 8 dereferenceable(32) %2) - %28 = getelementptr inbounds i8, ptr %4, i64 4 - %29 = getelementptr inbounds i8, ptr %4, i64 40 - call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_17precision_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %28, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %29, ptr noundef nonnull align 8 dereferenceable(32) %2) + call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %4, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %11, ptr noundef nonnull align 8 dereferenceable(32) %2) + %27 = getelementptr inbounds i8, ptr %4, i64 4 + %28 = getelementptr inbounds i8, ptr %4, i64 40 + call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_17precision_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %27, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %28, ptr noundef nonnull align 8 dereferenceable(32) %2) br label %_ZNK3fmt3v109formatterIN5vcpkg10StringViewEcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEES3_RT_.exit _ZNK3fmt3v109formatterIN5vcpkg10StringViewEcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEES3_RT_.exit: ; preds = %3, %26 %.sink = phi ptr [ %4, %26 ], [ %5, %3 ] %.sroa.0.0.copyload.i.i = load ptr, ptr %2, align 8 - %30 = call ptr @_ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_NS0_17basic_string_viewIT_EERKNS0_12format_specsIS6_EE(ptr %.sroa.0.0.copyload.i.i, ptr %.sroa.0.0.copyload, i64 %.sroa.2.0.copyload, ptr noundef nonnull align 4 dereferenceable(16) %.sink) + %29 = call ptr @_ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_NS0_17basic_string_viewIT_EERKNS0_12format_specsIS6_EE(ptr %.sroa.0.0.copyload.i.i, ptr %.sroa.0.0.copyload, i64 %.sroa.2.0.copyload, ptr noundef nonnull align 4 dereferenceable(16) %.sink) call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %4) - store ptr %30, ptr %2, align 8 + store ptr %29, ptr %2, align 8 ret void } @@ -8652,7 +8651,7 @@ define linkonce_odr dso_local ptr @_ZNK3fmt3v109formatterIN5vcpkg7VersionEcvE6fo 12: ; preds = %3 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(64) %4, ptr noundef nonnull align 8 dereferenceable(64) %0, i64 64, i1 false) - %13 = getelementptr inbounds i8, ptr %4, i64 16 + %13 = getelementptr inbounds i8, ptr %0, i64 16 invoke void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %4, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %13, ptr noundef nonnull align 8 dereferenceable(32) %2) to label %14 unwind label %19 diff --git a/bench/vcpkg/optimized/commands.add.cpp.ll b/bench/vcpkg/optimized/commands.add.cpp.ll index 2c6d270c2b4..d28a3f6850f 100644 --- a/bench/vcpkg/optimized/commands.add.cpp.ll +++ b/bench/vcpkg/optimized/commands.add.cpp.ll @@ -3394,19 +3394,18 @@ define linkonce_odr dso_local void @_ZN3fmt3v106detail5valueINS0_20basic_format_ 26: ; preds = %3 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(64) %4, ptr noundef nonnull align 8 dereferenceable(64) %5, i64 64, i1 false) - %27 = getelementptr inbounds i8, ptr %4, i64 16 - call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %4, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %27, ptr noundef nonnull align 8 dereferenceable(32) %2) - %28 = getelementptr inbounds i8, ptr %4, i64 4 - %29 = getelementptr inbounds i8, ptr %4, i64 40 - call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_17precision_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %28, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %29, ptr noundef nonnull align 8 dereferenceable(32) %2) + call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %4, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %11, ptr noundef nonnull align 8 dereferenceable(32) %2) + %27 = getelementptr inbounds i8, ptr %4, i64 4 + %28 = getelementptr inbounds i8, ptr %4, i64 40 + call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_17precision_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %27, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %28, ptr noundef nonnull align 8 dereferenceable(32) %2) br label %_ZNK3fmt3v109formatterIN5vcpkg10StringViewEcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEES3_RT_.exit _ZNK3fmt3v109formatterIN5vcpkg10StringViewEcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEES3_RT_.exit: ; preds = %3, %26 %.sink = phi ptr [ %4, %26 ], [ %5, %3 ] %.sroa.0.0.copyload.i.i = load ptr, ptr %2, align 8 - %30 = call ptr @_ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_NS0_17basic_string_viewIT_EERKNS0_12format_specsIS6_EE(ptr %.sroa.0.0.copyload.i.i, ptr %.sroa.0.0.copyload, i64 %.sroa.2.0.copyload, ptr noundef nonnull align 4 dereferenceable(16) %.sink) + %29 = call ptr @_ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_NS0_17basic_string_viewIT_EERKNS0_12format_specsIS6_EE(ptr %.sroa.0.0.copyload.i.i, ptr %.sroa.0.0.copyload, i64 %.sroa.2.0.copyload, ptr noundef nonnull align 4 dereferenceable(16) %.sink) call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %4) - store ptr %30, ptr %2, align 8 + store ptr %29, ptr %2, align 8 ret void } diff --git a/bench/vcpkg/optimized/commands.autocomplete.cpp.ll b/bench/vcpkg/optimized/commands.autocomplete.cpp.ll index e030db74cd0..feee2e18106 100644 --- a/bench/vcpkg/optimized/commands.autocomplete.cpp.ll +++ b/bench/vcpkg/optimized/commands.autocomplete.cpp.ll @@ -2997,19 +2997,18 @@ define linkonce_odr dso_local void @_ZN3fmt3v106detail5valueINS0_20basic_format_ 26: ; preds = %3 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(64) %4, ptr noundef nonnull align 8 dereferenceable(64) %5, i64 64, i1 false) - %27 = getelementptr inbounds i8, ptr %4, i64 16 - call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %4, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %27, ptr noundef nonnull align 8 dereferenceable(32) %2) - %28 = getelementptr inbounds i8, ptr %4, i64 4 - %29 = getelementptr inbounds i8, ptr %4, i64 40 - call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_17precision_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %28, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %29, ptr noundef nonnull align 8 dereferenceable(32) %2) + call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %4, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %11, ptr noundef nonnull align 8 dereferenceable(32) %2) + %27 = getelementptr inbounds i8, ptr %4, i64 4 + %28 = getelementptr inbounds i8, ptr %4, i64 40 + call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_17precision_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %27, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %28, ptr noundef nonnull align 8 dereferenceable(32) %2) br label %_ZNK3fmt3v109formatterIN5vcpkg10StringViewEcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEES3_RT_.exit _ZNK3fmt3v109formatterIN5vcpkg10StringViewEcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEES3_RT_.exit: ; preds = %3, %26 %.sink = phi ptr [ %4, %26 ], [ %5, %3 ] %.sroa.0.0.copyload.i.i = load ptr, ptr %2, align 8 - %30 = call ptr @_ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_NS0_17basic_string_viewIT_EERKNS0_12format_specsIS6_EE(ptr %.sroa.0.0.copyload.i.i, ptr %.sroa.0.0.copyload, i64 %.sroa.2.0.copyload, ptr noundef nonnull align 4 dereferenceable(16) %.sink) + %29 = call ptr @_ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_NS0_17basic_string_viewIT_EERKNS0_12format_specsIS6_EE(ptr %.sroa.0.0.copyload.i.i, ptr %.sroa.0.0.copyload, i64 %.sroa.2.0.copyload, ptr noundef nonnull align 4 dereferenceable(16) %.sink) call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %4) - store ptr %30, ptr %2, align 8 + store ptr %29, ptr %2, align 8 ret void } diff --git a/bench/vcpkg/optimized/commands.build.cpp.ll b/bench/vcpkg/optimized/commands.build.cpp.ll index 759e8bfe81a..457927234e9 100644 --- a/bench/vcpkg/optimized/commands.build.cpp.ll +++ b/bench/vcpkg/optimized/commands.build.cpp.ll @@ -14774,19 +14774,18 @@ define linkonce_odr dso_local void @_ZN3fmt3v106detail5valueINS0_20basic_format_ 26: ; preds = %3 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(64) %4, ptr noundef nonnull align 8 dereferenceable(64) %5, i64 64, i1 false) - %27 = getelementptr inbounds i8, ptr %4, i64 16 - call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %4, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %27, ptr noundef nonnull align 8 dereferenceable(32) %2) - %28 = getelementptr inbounds i8, ptr %4, i64 4 - %29 = getelementptr inbounds i8, ptr %4, i64 40 - call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_17precision_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %28, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %29, ptr noundef nonnull align 8 dereferenceable(32) %2) + call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %4, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %11, ptr noundef nonnull align 8 dereferenceable(32) %2) + %27 = getelementptr inbounds i8, ptr %4, i64 4 + %28 = getelementptr inbounds i8, ptr %4, i64 40 + call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_17precision_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %27, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %28, ptr noundef nonnull align 8 dereferenceable(32) %2) br label %_ZNK3fmt3v109formatterIN5vcpkg10StringViewEcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEES3_RT_.exit _ZNK3fmt3v109formatterIN5vcpkg10StringViewEcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEES3_RT_.exit: ; preds = %3, %26 %.sink = phi ptr [ %4, %26 ], [ %5, %3 ] %.sroa.0.0.copyload.i.i = load ptr, ptr %2, align 8 - %30 = call ptr @_ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_NS0_17basic_string_viewIT_EERKNS0_12format_specsIS6_EE(ptr %.sroa.0.0.copyload.i.i, ptr %.sroa.0.0.copyload, i64 %.sroa.2.0.copyload, ptr noundef nonnull align 4 dereferenceable(16) %.sink) + %29 = call ptr @_ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_NS0_17basic_string_viewIT_EERKNS0_12format_specsIS6_EE(ptr %.sroa.0.0.copyload.i.i, ptr %.sroa.0.0.copyload, i64 %.sroa.2.0.copyload, ptr noundef nonnull align 4 dereferenceable(16) %.sink) call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %4) - store ptr %30, ptr %2, align 8 + store ptr %29, ptr %2, align 8 ret void } @@ -27616,7 +27615,7 @@ define linkonce_odr dso_local ptr @_ZNK3fmt3v109formatterIN5vcpkg11PackageSpecEc 12: ; preds = %3 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(64) %4, ptr noundef nonnull align 8 dereferenceable(64) %0, i64 64, i1 false) - %13 = getelementptr inbounds i8, ptr %4, i64 16 + %13 = getelementptr inbounds i8, ptr %0, i64 16 invoke void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %4, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %13, ptr noundef nonnull align 8 dereferenceable(32) %2) to label %14 unwind label %19 @@ -27724,7 +27723,7 @@ define linkonce_odr dso_local ptr @_ZNK3fmt3v109formatterIN5vcpkg12ElapsedTimerE 12: ; preds = %3 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(64) %4, ptr noundef nonnull align 8 dereferenceable(64) %0, i64 64, i1 false) - %13 = getelementptr inbounds i8, ptr %4, i64 16 + %13 = getelementptr inbounds i8, ptr %0, i64 16 invoke void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %4, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %13, ptr noundef nonnull align 8 dereferenceable(32) %2) to label %14 unwind label %19 @@ -28991,19 +28990,18 @@ define linkonce_odr dso_local void @_ZN3fmt3v106detail5valueINS0_20basic_format_ 26: ; preds = %3 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(64) %4, ptr noundef nonnull align 8 dereferenceable(64) %5, i64 64, i1 false) - %27 = getelementptr inbounds i8, ptr %4, i64 16 - call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %4, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %27, ptr noundef nonnull align 8 dereferenceable(32) %2) - %28 = getelementptr inbounds i8, ptr %4, i64 4 - %29 = getelementptr inbounds i8, ptr %4, i64 40 - call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_17precision_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %28, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %29, ptr noundef nonnull align 8 dereferenceable(32) %2) + call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %4, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %11, ptr noundef nonnull align 8 dereferenceable(32) %2) + %27 = getelementptr inbounds i8, ptr %4, i64 4 + %28 = getelementptr inbounds i8, ptr %4, i64 40 + call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_17precision_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %27, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %28, ptr noundef nonnull align 8 dereferenceable(32) %2) br label %_ZNK3fmt3v109formatterIN5vcpkg13StringLiteralEcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEERKS3_RT_.exit _ZNK3fmt3v109formatterIN5vcpkg13StringLiteralEcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEERKS3_RT_.exit: ; preds = %3, %26 %.sink = phi ptr [ %4, %26 ], [ %5, %3 ] %.sroa.0.0.copyload.i.i.i = load ptr, ptr %2, align 8 - %30 = call ptr @_ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_NS0_17basic_string_viewIT_EERKNS0_12format_specsIS6_EE(ptr %.sroa.0.0.copyload.i.i.i, ptr %.sroa.0.0.copyload.i, i64 %.sroa.2.0.copyload.i, ptr noundef nonnull align 4 dereferenceable(16) %.sink) + %29 = call ptr @_ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_NS0_17basic_string_viewIT_EERKNS0_12format_specsIS6_EE(ptr %.sroa.0.0.copyload.i.i.i, ptr %.sroa.0.0.copyload.i, i64 %.sroa.2.0.copyload.i, ptr noundef nonnull align 4 dereferenceable(16) %.sink) call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %4) - store ptr %30, ptr %2, align 8 + store ptr %29, ptr %2, align 8 ret void } @@ -30816,19 +30814,18 @@ define linkonce_odr dso_local void @_ZN3fmt3v106detail5valueINS0_20basic_format_ 26: ; preds = %3 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(64) %4, ptr noundef nonnull align 8 dereferenceable(64) %5, i64 64, i1 false) - %27 = getelementptr inbounds i8, ptr %4, i64 16 - call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %4, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %27, ptr noundef nonnull align 8 dereferenceable(32) %2) - %28 = getelementptr inbounds i8, ptr %4, i64 4 - %29 = getelementptr inbounds i8, ptr %4, i64 40 - call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_17precision_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %28, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %29, ptr noundef nonnull align 8 dereferenceable(32) %2) + call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %4, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %11, ptr noundef nonnull align 8 dereferenceable(32) %2) + %27 = getelementptr inbounds i8, ptr %4, i64 4 + %28 = getelementptr inbounds i8, ptr %4, i64 40 + call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_17precision_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %27, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %28, ptr noundef nonnull align 8 dereferenceable(32) %2) br label %_ZNK3fmt3v109formatterIN5vcpkg11ZStringViewEcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEERKS3_RT_.exit _ZNK3fmt3v109formatterIN5vcpkg11ZStringViewEcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEERKS3_RT_.exit: ; preds = %3, %26 %.sink = phi ptr [ %4, %26 ], [ %5, %3 ] %.sroa.0.0.copyload.i.i.i = load ptr, ptr %2, align 8 - %30 = call ptr @_ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_NS0_17basic_string_viewIT_EERKNS0_12format_specsIS6_EE(ptr %.sroa.0.0.copyload.i.i.i, ptr %.sroa.0.0.copyload.i, i64 %.sroa.2.0.copyload.i, ptr noundef nonnull align 4 dereferenceable(16) %.sink) + %29 = call ptr @_ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_NS0_17basic_string_viewIT_EERKNS0_12format_specsIS6_EE(ptr %.sroa.0.0.copyload.i.i.i, ptr %.sroa.0.0.copyload.i, i64 %.sroa.2.0.copyload.i, ptr noundef nonnull align 4 dereferenceable(16) %.sink) call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %4) - store ptr %30, ptr %2, align 8 + store ptr %29, ptr %2, align 8 ret void } diff --git a/bench/vcpkg/optimized/commands.check-support.cpp.ll b/bench/vcpkg/optimized/commands.check-support.cpp.ll index c3f1926609e..24c83f31a0a 100644 --- a/bench/vcpkg/optimized/commands.check-support.cpp.ll +++ b/bench/vcpkg/optimized/commands.check-support.cpp.ll @@ -3974,19 +3974,18 @@ define linkonce_odr dso_local void @_ZN3fmt3v106detail5valueINS0_20basic_format_ 26: ; preds = %3 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(64) %4, ptr noundef nonnull align 8 dereferenceable(64) %5, i64 64, i1 false) - %27 = getelementptr inbounds i8, ptr %4, i64 16 - call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %4, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %27, ptr noundef nonnull align 8 dereferenceable(32) %2) - %28 = getelementptr inbounds i8, ptr %4, i64 4 - %29 = getelementptr inbounds i8, ptr %4, i64 40 - call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_17precision_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %28, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %29, ptr noundef nonnull align 8 dereferenceable(32) %2) + call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %4, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %11, ptr noundef nonnull align 8 dereferenceable(32) %2) + %27 = getelementptr inbounds i8, ptr %4, i64 4 + %28 = getelementptr inbounds i8, ptr %4, i64 40 + call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_17precision_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %27, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %28, ptr noundef nonnull align 8 dereferenceable(32) %2) br label %_ZNK3fmt3v109formatterIN5vcpkg10StringViewEcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEES3_RT_.exit _ZNK3fmt3v109formatterIN5vcpkg10StringViewEcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEES3_RT_.exit: ; preds = %3, %26 %.sink = phi ptr [ %4, %26 ], [ %5, %3 ] %.sroa.0.0.copyload.i.i = load ptr, ptr %2, align 8 - %30 = call ptr @_ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_NS0_17basic_string_viewIT_EERKNS0_12format_specsIS6_EE(ptr %.sroa.0.0.copyload.i.i, ptr %.sroa.0.0.copyload, i64 %.sroa.2.0.copyload, ptr noundef nonnull align 4 dereferenceable(16) %.sink) + %29 = call ptr @_ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_NS0_17basic_string_viewIT_EERKNS0_12format_specsIS6_EE(ptr %.sroa.0.0.copyload.i.i, ptr %.sroa.0.0.copyload, i64 %.sroa.2.0.copyload, ptr noundef nonnull align 4 dereferenceable(16) %.sink) call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %4) - store ptr %30, ptr %2, align 8 + store ptr %29, ptr %2, align 8 ret void } diff --git a/bench/vcpkg/optimized/commands.ci-clean.cpp.ll b/bench/vcpkg/optimized/commands.ci-clean.cpp.ll index 8f3f8888332..fafdbe16b25 100644 --- a/bench/vcpkg/optimized/commands.ci-clean.cpp.ll +++ b/bench/vcpkg/optimized/commands.ci-clean.cpp.ll @@ -491,19 +491,18 @@ define linkonce_odr dso_local void @_ZN3fmt3v106detail5valueINS0_20basic_format_ 26: ; preds = %3 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(64) %4, ptr noundef nonnull align 8 dereferenceable(64) %5, i64 64, i1 false) - %27 = getelementptr inbounds i8, ptr %4, i64 16 - call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %4, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %27, ptr noundef nonnull align 8 dereferenceable(32) %2) - %28 = getelementptr inbounds i8, ptr %4, i64 4 - %29 = getelementptr inbounds i8, ptr %4, i64 40 - call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_17precision_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %28, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %29, ptr noundef nonnull align 8 dereferenceable(32) %2) + call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %4, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %11, ptr noundef nonnull align 8 dereferenceable(32) %2) + %27 = getelementptr inbounds i8, ptr %4, i64 4 + %28 = getelementptr inbounds i8, ptr %4, i64 40 + call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_17precision_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %27, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %28, ptr noundef nonnull align 8 dereferenceable(32) %2) br label %_ZNK3fmt3v109formatterIN5vcpkg10StringViewEcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEES3_RT_.exit _ZNK3fmt3v109formatterIN5vcpkg10StringViewEcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEES3_RT_.exit: ; preds = %3, %26 %.sink = phi ptr [ %4, %26 ], [ %5, %3 ] %.sroa.0.0.copyload.i.i = load ptr, ptr %2, align 8 - %30 = call ptr @_ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_NS0_17basic_string_viewIT_EERKNS0_12format_specsIS6_EE(ptr %.sroa.0.0.copyload.i.i, ptr %.sroa.0.0.copyload, i64 %.sroa.2.0.copyload, ptr noundef nonnull align 4 dereferenceable(16) %.sink) + %29 = call ptr @_ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_NS0_17basic_string_viewIT_EERKNS0_12format_specsIS6_EE(ptr %.sroa.0.0.copyload.i.i, ptr %.sroa.0.0.copyload, i64 %.sroa.2.0.copyload, ptr noundef nonnull align 4 dereferenceable(16) %.sink) call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %4) - store ptr %30, ptr %2, align 8 + store ptr %29, ptr %2, align 8 ret void } diff --git a/bench/vcpkg/optimized/commands.ci-verify-versions.cpp.ll b/bench/vcpkg/optimized/commands.ci-verify-versions.cpp.ll index 79a69bf2071..597b0b62580 100644 --- a/bench/vcpkg/optimized/commands.ci-verify-versions.cpp.ll +++ b/bench/vcpkg/optimized/commands.ci-verify-versions.cpp.ll @@ -4937,7 +4937,7 @@ define linkonce_odr dso_local ptr @_ZNK3fmt3v109formatterIN5vcpkg7VersionEcvE6fo 12: ; preds = %3 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(64) %4, ptr noundef nonnull align 8 dereferenceable(64) %0, i64 64, i1 false) - %13 = getelementptr inbounds i8, ptr %4, i64 16 + %13 = getelementptr inbounds i8, ptr %0, i64 16 invoke void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %4, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %13, ptr noundef nonnull align 8 dereferenceable(32) %2) to label %14 unwind label %19 @@ -7704,19 +7704,18 @@ define linkonce_odr dso_local void @_ZN3fmt3v106detail5valueINS0_20basic_format_ 26: ; preds = %3 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(64) %4, ptr noundef nonnull align 8 dereferenceable(64) %5, i64 64, i1 false) - %27 = getelementptr inbounds i8, ptr %4, i64 16 - call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %4, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %27, ptr noundef nonnull align 8 dereferenceable(32) %2) - %28 = getelementptr inbounds i8, ptr %4, i64 4 - %29 = getelementptr inbounds i8, ptr %4, i64 40 - call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_17precision_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %28, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %29, ptr noundef nonnull align 8 dereferenceable(32) %2) + call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %4, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %11, ptr noundef nonnull align 8 dereferenceable(32) %2) + %27 = getelementptr inbounds i8, ptr %4, i64 4 + %28 = getelementptr inbounds i8, ptr %4, i64 40 + call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_17precision_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %27, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %28, ptr noundef nonnull align 8 dereferenceable(32) %2) br label %_ZNK3fmt3v109formatterIN5vcpkg10StringViewEcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEES3_RT_.exit _ZNK3fmt3v109formatterIN5vcpkg10StringViewEcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEES3_RT_.exit: ; preds = %3, %26 %.sink = phi ptr [ %4, %26 ], [ %5, %3 ] %.sroa.0.0.copyload.i.i = load ptr, ptr %2, align 8 - %30 = call ptr @_ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_NS0_17basic_string_viewIT_EERKNS0_12format_specsIS6_EE(ptr %.sroa.0.0.copyload.i.i, ptr %.sroa.0.0.copyload, i64 %.sroa.2.0.copyload, ptr noundef nonnull align 4 dereferenceable(16) %.sink) + %29 = call ptr @_ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_NS0_17basic_string_viewIT_EERKNS0_12format_specsIS6_EE(ptr %.sroa.0.0.copyload.i.i, ptr %.sroa.0.0.copyload, i64 %.sroa.2.0.copyload, ptr noundef nonnull align 4 dereferenceable(16) %.sink) call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %4) - store ptr %30, ptr %2, align 8 + store ptr %29, ptr %2, align 8 ret void } diff --git a/bench/vcpkg/optimized/commands.ci.cpp.ll b/bench/vcpkg/optimized/commands.ci.cpp.ll index 8038ad17d03..563dd93afb1 100644 --- a/bench/vcpkg/optimized/commands.ci.cpp.ll +++ b/bench/vcpkg/optimized/commands.ci.cpp.ll @@ -13218,19 +13218,18 @@ define linkonce_odr dso_local void @_ZN3fmt3v106detail5valueINS0_20basic_format_ 26: ; preds = %3 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(64) %4, ptr noundef nonnull align 8 dereferenceable(64) %5, i64 64, i1 false) - %27 = getelementptr inbounds i8, ptr %4, i64 16 - call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %4, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %27, ptr noundef nonnull align 8 dereferenceable(32) %2) - %28 = getelementptr inbounds i8, ptr %4, i64 4 - %29 = getelementptr inbounds i8, ptr %4, i64 40 - call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_17precision_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %28, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %29, ptr noundef nonnull align 8 dereferenceable(32) %2) + call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %4, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %11, ptr noundef nonnull align 8 dereferenceable(32) %2) + %27 = getelementptr inbounds i8, ptr %4, i64 4 + %28 = getelementptr inbounds i8, ptr %4, i64 40 + call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_17precision_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %27, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %28, ptr noundef nonnull align 8 dereferenceable(32) %2) br label %_ZNK3fmt3v109formatterIN5vcpkg10StringViewEcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEES3_RT_.exit _ZNK3fmt3v109formatterIN5vcpkg10StringViewEcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEES3_RT_.exit: ; preds = %3, %26 %.sink = phi ptr [ %4, %26 ], [ %5, %3 ] %.sroa.0.0.copyload.i.i = load ptr, ptr %2, align 8 - %30 = call ptr @_ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_NS0_17basic_string_viewIT_EERKNS0_12format_specsIS6_EE(ptr %.sroa.0.0.copyload.i.i, ptr %.sroa.0.0.copyload, i64 %.sroa.2.0.copyload, ptr noundef nonnull align 4 dereferenceable(16) %.sink) + %29 = call ptr @_ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_NS0_17basic_string_viewIT_EERKNS0_12format_specsIS6_EE(ptr %.sroa.0.0.copyload.i.i, ptr %.sroa.0.0.copyload, i64 %.sroa.2.0.copyload, ptr noundef nonnull align 4 dereferenceable(16) %.sink) call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %4) - store ptr %30, ptr %2, align 8 + store ptr %29, ptr %2, align 8 ret void } @@ -16571,7 +16570,7 @@ define linkonce_odr dso_local ptr @_ZNK3fmt3v109formatterIN5vcpkg11PackageSpecEc 12: ; preds = %3 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(64) %4, ptr noundef nonnull align 8 dereferenceable(64) %0, i64 64, i1 false) - %13 = getelementptr inbounds i8, ptr %4, i64 16 + %13 = getelementptr inbounds i8, ptr %0, i64 16 invoke void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %4, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %13, ptr noundef nonnull align 8 dereferenceable(32) %2) to label %14 unwind label %19 @@ -16645,19 +16644,18 @@ define linkonce_odr dso_local void @_ZN3fmt3v106detail5valueINS0_20basic_format_ 26: ; preds = %3 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(64) %4, ptr noundef nonnull align 8 dereferenceable(64) %5, i64 64, i1 false) - %27 = getelementptr inbounds i8, ptr %4, i64 16 - call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %4, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %27, ptr noundef nonnull align 8 dereferenceable(32) %2) - %28 = getelementptr inbounds i8, ptr %4, i64 4 - %29 = getelementptr inbounds i8, ptr %4, i64 40 - call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_17precision_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %28, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %29, ptr noundef nonnull align 8 dereferenceable(32) %2) + call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %4, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %11, ptr noundef nonnull align 8 dereferenceable(32) %2) + %27 = getelementptr inbounds i8, ptr %4, i64 4 + %28 = getelementptr inbounds i8, ptr %4, i64 40 + call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_17precision_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %27, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %28, ptr noundef nonnull align 8 dereferenceable(32) %2) br label %_ZNK3fmt3v109formatterIN5vcpkg13StringLiteralEcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEERKS3_RT_.exit _ZNK3fmt3v109formatterIN5vcpkg13StringLiteralEcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEERKS3_RT_.exit: ; preds = %3, %26 %.sink = phi ptr [ %4, %26 ], [ %5, %3 ] %.sroa.0.0.copyload.i.i.i = load ptr, ptr %2, align 8 - %30 = call ptr @_ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_NS0_17basic_string_viewIT_EERKNS0_12format_specsIS6_EE(ptr %.sroa.0.0.copyload.i.i.i, ptr %.sroa.0.0.copyload.i, i64 %.sroa.2.0.copyload.i, ptr noundef nonnull align 4 dereferenceable(16) %.sink) + %29 = call ptr @_ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_NS0_17basic_string_viewIT_EERKNS0_12format_specsIS6_EE(ptr %.sroa.0.0.copyload.i.i.i, ptr %.sroa.0.0.copyload.i, i64 %.sroa.2.0.copyload.i, ptr noundef nonnull align 4 dereferenceable(16) %.sink) call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %4) - store ptr %30, ptr %2, align 8 + store ptr %29, ptr %2, align 8 ret void } @@ -16874,7 +16872,7 @@ define linkonce_odr dso_local ptr @_ZNK3fmt3v109formatterIN5vcpkg11ElapsedTimeEc 12: ; preds = %3 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(64) %4, ptr noundef nonnull align 8 dereferenceable(64) %0, i64 64, i1 false) - %13 = getelementptr inbounds i8, ptr %4, i64 16 + %13 = getelementptr inbounds i8, ptr %0, i64 16 invoke void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %4, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %13, ptr noundef nonnull align 8 dereferenceable(32) %2) to label %14 unwind label %19 diff --git a/bench/vcpkg/optimized/commands.contact.cpp.ll b/bench/vcpkg/optimized/commands.contact.cpp.ll index 162dc98e31a..941025f28b1 100644 --- a/bench/vcpkg/optimized/commands.contact.cpp.ll +++ b/bench/vcpkg/optimized/commands.contact.cpp.ll @@ -462,19 +462,18 @@ define linkonce_odr dso_local void @_ZN3fmt3v106detail5valueINS0_20basic_format_ 26: ; preds = %3 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(64) %4, ptr noundef nonnull align 8 dereferenceable(64) %5, i64 64, i1 false) - %27 = getelementptr inbounds i8, ptr %4, i64 16 - call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %4, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %27, ptr noundef nonnull align 8 dereferenceable(32) %2) - %28 = getelementptr inbounds i8, ptr %4, i64 4 - %29 = getelementptr inbounds i8, ptr %4, i64 40 - call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_17precision_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %28, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %29, ptr noundef nonnull align 8 dereferenceable(32) %2) + call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %4, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %11, ptr noundef nonnull align 8 dereferenceable(32) %2) + %27 = getelementptr inbounds i8, ptr %4, i64 4 + %28 = getelementptr inbounds i8, ptr %4, i64 40 + call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_17precision_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %27, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %28, ptr noundef nonnull align 8 dereferenceable(32) %2) br label %_ZNK3fmt3v109formatterIN5vcpkg10StringViewEcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEES3_RT_.exit _ZNK3fmt3v109formatterIN5vcpkg10StringViewEcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEES3_RT_.exit: ; preds = %3, %26 %.sink = phi ptr [ %4, %26 ], [ %5, %3 ] %.sroa.0.0.copyload.i.i = load ptr, ptr %2, align 8 - %30 = call ptr @_ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_NS0_17basic_string_viewIT_EERKNS0_12format_specsIS6_EE(ptr %.sroa.0.0.copyload.i.i, ptr %.sroa.0.0.copyload, i64 %.sroa.2.0.copyload, ptr noundef nonnull align 4 dereferenceable(16) %.sink) + %29 = call ptr @_ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_NS0_17basic_string_viewIT_EERKNS0_12format_specsIS6_EE(ptr %.sroa.0.0.copyload.i.i, ptr %.sroa.0.0.copyload, i64 %.sroa.2.0.copyload, ptr noundef nonnull align 4 dereferenceable(16) %.sink) call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %4) - store ptr %30, ptr %2, align 8 + store ptr %29, ptr %2, align 8 ret void } diff --git a/bench/vcpkg/optimized/commands.create.cpp.ll b/bench/vcpkg/optimized/commands.create.cpp.ll index 35fcc97117f..16acee54218 100644 --- a/bench/vcpkg/optimized/commands.create.cpp.ll +++ b/bench/vcpkg/optimized/commands.create.cpp.ll @@ -1176,19 +1176,18 @@ define linkonce_odr dso_local void @_ZN3fmt3v106detail5valueINS0_20basic_format_ 26: ; preds = %3 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(64) %4, ptr noundef nonnull align 8 dereferenceable(64) %5, i64 64, i1 false) - %27 = getelementptr inbounds i8, ptr %4, i64 16 - call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %4, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %27, ptr noundef nonnull align 8 dereferenceable(32) %2) - %28 = getelementptr inbounds i8, ptr %4, i64 4 - %29 = getelementptr inbounds i8, ptr %4, i64 40 - call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_17precision_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %28, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %29, ptr noundef nonnull align 8 dereferenceable(32) %2) + call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %4, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %11, ptr noundef nonnull align 8 dereferenceable(32) %2) + %27 = getelementptr inbounds i8, ptr %4, i64 4 + %28 = getelementptr inbounds i8, ptr %4, i64 40 + call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_17precision_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %27, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %28, ptr noundef nonnull align 8 dereferenceable(32) %2) br label %_ZNK3fmt3v109formatterIN5vcpkg10StringViewEcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEES3_RT_.exit _ZNK3fmt3v109formatterIN5vcpkg10StringViewEcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEES3_RT_.exit: ; preds = %3, %26 %.sink = phi ptr [ %4, %26 ], [ %5, %3 ] %.sroa.0.0.copyload.i.i = load ptr, ptr %2, align 8 - %30 = call ptr @_ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_NS0_17basic_string_viewIT_EERKNS0_12format_specsIS6_EE(ptr %.sroa.0.0.copyload.i.i, ptr %.sroa.0.0.copyload, i64 %.sroa.2.0.copyload, ptr noundef nonnull align 4 dereferenceable(16) %.sink) + %29 = call ptr @_ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_NS0_17basic_string_viewIT_EERKNS0_12format_specsIS6_EE(ptr %.sroa.0.0.copyload.i.i, ptr %.sroa.0.0.copyload, i64 %.sroa.2.0.copyload, ptr noundef nonnull align 4 dereferenceable(16) %.sink) call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %4) - store ptr %30, ptr %2, align 8 + store ptr %29, ptr %2, align 8 ret void } diff --git a/bench/vcpkg/optimized/commands.depend-info.cpp.ll b/bench/vcpkg/optimized/commands.depend-info.cpp.ll index 16ef3315ab7..07c78421a21 100644 --- a/bench/vcpkg/optimized/commands.depend-info.cpp.ll +++ b/bench/vcpkg/optimized/commands.depend-info.cpp.ll @@ -8255,19 +8255,18 @@ define linkonce_odr dso_local void @_ZN3fmt3v106detail5valueINS0_20basic_format_ 26: ; preds = %3 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(64) %4, ptr noundef nonnull align 8 dereferenceable(64) %5, i64 64, i1 false) - %27 = getelementptr inbounds i8, ptr %4, i64 16 - call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %4, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %27, ptr noundef nonnull align 8 dereferenceable(32) %2) - %28 = getelementptr inbounds i8, ptr %4, i64 4 - %29 = getelementptr inbounds i8, ptr %4, i64 40 - call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_17precision_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %28, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %29, ptr noundef nonnull align 8 dereferenceable(32) %2) + call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %4, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %11, ptr noundef nonnull align 8 dereferenceable(32) %2) + %27 = getelementptr inbounds i8, ptr %4, i64 4 + %28 = getelementptr inbounds i8, ptr %4, i64 40 + call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_17precision_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %27, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %28, ptr noundef nonnull align 8 dereferenceable(32) %2) br label %_ZNK3fmt3v109formatterIN5vcpkg10StringViewEcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEES3_RT_.exit _ZNK3fmt3v109formatterIN5vcpkg10StringViewEcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEES3_RT_.exit: ; preds = %3, %26 %.sink = phi ptr [ %4, %26 ], [ %5, %3 ] %.sroa.0.0.copyload.i.i = load ptr, ptr %2, align 8 - %30 = call ptr @_ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_NS0_17basic_string_viewIT_EERKNS0_12format_specsIS6_EE(ptr %.sroa.0.0.copyload.i.i, ptr %.sroa.0.0.copyload, i64 %.sroa.2.0.copyload, ptr noundef nonnull align 4 dereferenceable(16) %.sink) + %29 = call ptr @_ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_NS0_17basic_string_viewIT_EERKNS0_12format_specsIS6_EE(ptr %.sroa.0.0.copyload.i.i, ptr %.sroa.0.0.copyload, i64 %.sroa.2.0.copyload, ptr noundef nonnull align 4 dereferenceable(16) %.sink) call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %4) - store ptr %30, ptr %2, align 8 + store ptr %29, ptr %2, align 8 ret void } diff --git a/bench/vcpkg/optimized/commands.download.cpp.ll b/bench/vcpkg/optimized/commands.download.cpp.ll index 2261b509883..1f19843139e 100644 --- a/bench/vcpkg/optimized/commands.download.cpp.ll +++ b/bench/vcpkg/optimized/commands.download.cpp.ll @@ -1665,19 +1665,18 @@ define linkonce_odr dso_local void @_ZN3fmt3v106detail5valueINS0_20basic_format_ 26: ; preds = %3 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(64) %4, ptr noundef nonnull align 8 dereferenceable(64) %5, i64 64, i1 false) - %27 = getelementptr inbounds i8, ptr %4, i64 16 - call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %4, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %27, ptr noundef nonnull align 8 dereferenceable(32) %2) - %28 = getelementptr inbounds i8, ptr %4, i64 4 - %29 = getelementptr inbounds i8, ptr %4, i64 40 - call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_17precision_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %28, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %29, ptr noundef nonnull align 8 dereferenceable(32) %2) + call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %4, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %11, ptr noundef nonnull align 8 dereferenceable(32) %2) + %27 = getelementptr inbounds i8, ptr %4, i64 4 + %28 = getelementptr inbounds i8, ptr %4, i64 40 + call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_17precision_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %27, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %28, ptr noundef nonnull align 8 dereferenceable(32) %2) br label %_ZNK3fmt3v109formatterIN5vcpkg10StringViewEcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEES3_RT_.exit _ZNK3fmt3v109formatterIN5vcpkg10StringViewEcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEES3_RT_.exit: ; preds = %3, %26 %.sink = phi ptr [ %4, %26 ], [ %5, %3 ] %.sroa.0.0.copyload.i.i = load ptr, ptr %2, align 8 - %30 = call ptr @_ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_NS0_17basic_string_viewIT_EERKNS0_12format_specsIS6_EE(ptr %.sroa.0.0.copyload.i.i, ptr %.sroa.0.0.copyload, i64 %.sroa.2.0.copyload, ptr noundef nonnull align 4 dereferenceable(16) %.sink) + %29 = call ptr @_ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_NS0_17basic_string_viewIT_EERKNS0_12format_specsIS6_EE(ptr %.sroa.0.0.copyload.i.i, ptr %.sroa.0.0.copyload, i64 %.sroa.2.0.copyload, ptr noundef nonnull align 4 dereferenceable(16) %.sink) call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %4) - store ptr %30, ptr %2, align 8 + store ptr %29, ptr %2, align 8 ret void } diff --git a/bench/vcpkg/optimized/commands.edit.cpp.ll b/bench/vcpkg/optimized/commands.edit.cpp.ll index c750550ff00..adab2fefd2f 100644 --- a/bench/vcpkg/optimized/commands.edit.cpp.ll +++ b/bench/vcpkg/optimized/commands.edit.cpp.ll @@ -2565,21 +2565,20 @@ define linkonce_odr dso_local void @_ZN3fmt3v106detail5valueINS0_20basic_format_ 27: ; preds = %3 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(64) %4, ptr noundef nonnull align 8 dereferenceable(64) %5, i64 64, i1 false) - %28 = getelementptr inbounds i8, ptr %4, i64 16 - call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %4, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %28, ptr noundef nonnull align 8 dereferenceable(32) %2) - %29 = getelementptr inbounds i8, ptr %4, i64 4 - %30 = getelementptr inbounds i8, ptr %4, i64 40 - call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_17precision_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %29, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %30, ptr noundef nonnull align 8 dereferenceable(32) %2) + call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %4, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %11, ptr noundef nonnull align 8 dereferenceable(32) %2) + %28 = getelementptr inbounds i8, ptr %4, i64 4 + %29 = getelementptr inbounds i8, ptr %4, i64 40 + call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_17precision_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %28, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %29, ptr noundef nonnull align 8 dereferenceable(32) %2) br label %_ZNK3fmt3v109formatterIN5vcpkg4PathEcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEERKS3_RT_.exit _ZNK3fmt3v109formatterIN5vcpkg4PathEcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEERKS3_RT_.exit: ; preds = %3, %27 %.sink = phi ptr [ %4, %27 ], [ %5, %3 ] - %31 = extractvalue { ptr, i64 } %24, 1 - %32 = extractvalue { ptr, i64 } %24, 0 + %30 = extractvalue { ptr, i64 } %24, 1 + %31 = extractvalue { ptr, i64 } %24, 0 %.sroa.0.0.copyload.i.i.i = load ptr, ptr %2, align 8 - %33 = call ptr @_ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_NS0_17basic_string_viewIT_EERKNS0_12format_specsIS6_EE(ptr %.sroa.0.0.copyload.i.i.i, ptr %32, i64 %31, ptr noundef nonnull align 4 dereferenceable(16) %.sink) + %32 = call ptr @_ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_NS0_17basic_string_viewIT_EERKNS0_12format_specsIS6_EE(ptr %.sroa.0.0.copyload.i.i.i, ptr %31, i64 %30, ptr noundef nonnull align 4 dereferenceable(16) %.sink) call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %4) - store ptr %33, ptr %2, align 8 + store ptr %32, ptr %2, align 8 ret void } @@ -5760,19 +5759,18 @@ define linkonce_odr dso_local void @_ZN3fmt3v106detail5valueINS0_20basic_format_ 26: ; preds = %3 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(64) %4, ptr noundef nonnull align 8 dereferenceable(64) %5, i64 64, i1 false) - %27 = getelementptr inbounds i8, ptr %4, i64 16 - call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %4, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %27, ptr noundef nonnull align 8 dereferenceable(32) %2) - %28 = getelementptr inbounds i8, ptr %4, i64 4 - %29 = getelementptr inbounds i8, ptr %4, i64 40 - call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_17precision_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %28, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %29, ptr noundef nonnull align 8 dereferenceable(32) %2) + call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %4, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %11, ptr noundef nonnull align 8 dereferenceable(32) %2) + %27 = getelementptr inbounds i8, ptr %4, i64 4 + %28 = getelementptr inbounds i8, ptr %4, i64 40 + call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_17precision_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %27, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %28, ptr noundef nonnull align 8 dereferenceable(32) %2) br label %_ZNK3fmt3v109formatterIN5vcpkg10StringViewEcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEES3_RT_.exit _ZNK3fmt3v109formatterIN5vcpkg10StringViewEcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEES3_RT_.exit: ; preds = %3, %26 %.sink = phi ptr [ %4, %26 ], [ %5, %3 ] %.sroa.0.0.copyload.i.i = load ptr, ptr %2, align 8 - %30 = call ptr @_ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_NS0_17basic_string_viewIT_EERKNS0_12format_specsIS6_EE(ptr %.sroa.0.0.copyload.i.i, ptr %.sroa.0.0.copyload, i64 %.sroa.2.0.copyload, ptr noundef nonnull align 4 dereferenceable(16) %.sink) + %29 = call ptr @_ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_NS0_17basic_string_viewIT_EERKNS0_12format_specsIS6_EE(ptr %.sroa.0.0.copyload.i.i, ptr %.sroa.0.0.copyload, i64 %.sroa.2.0.copyload, ptr noundef nonnull align 4 dereferenceable(16) %.sink) call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %4) - store ptr %30, ptr %2, align 8 + store ptr %29, ptr %2, align 8 ret void } diff --git a/bench/vcpkg/optimized/commands.env.cpp.ll b/bench/vcpkg/optimized/commands.env.cpp.ll index d385ffa9528..6b549f09d9e 100644 --- a/bench/vcpkg/optimized/commands.env.cpp.ll +++ b/bench/vcpkg/optimized/commands.env.cpp.ll @@ -1764,19 +1764,18 @@ define linkonce_odr dso_local void @_ZN3fmt3v106detail5valueINS0_20basic_format_ 26: ; preds = %3 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(64) %4, ptr noundef nonnull align 8 dereferenceable(64) %5, i64 64, i1 false) - %27 = getelementptr inbounds i8, ptr %4, i64 16 - call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %4, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %27, ptr noundef nonnull align 8 dereferenceable(32) %2) - %28 = getelementptr inbounds i8, ptr %4, i64 4 - %29 = getelementptr inbounds i8, ptr %4, i64 40 - call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_17precision_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %28, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %29, ptr noundef nonnull align 8 dereferenceable(32) %2) + call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %4, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %11, ptr noundef nonnull align 8 dereferenceable(32) %2) + %27 = getelementptr inbounds i8, ptr %4, i64 4 + %28 = getelementptr inbounds i8, ptr %4, i64 40 + call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_17precision_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %27, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %28, ptr noundef nonnull align 8 dereferenceable(32) %2) br label %_ZNK3fmt3v109formatterIN5vcpkg10StringViewEcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEES3_RT_.exit _ZNK3fmt3v109formatterIN5vcpkg10StringViewEcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEES3_RT_.exit: ; preds = %3, %26 %.sink = phi ptr [ %4, %26 ], [ %5, %3 ] %.sroa.0.0.copyload.i.i = load ptr, ptr %2, align 8 - %30 = call ptr @_ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_NS0_17basic_string_viewIT_EERKNS0_12format_specsIS6_EE(ptr %.sroa.0.0.copyload.i.i, ptr %.sroa.0.0.copyload, i64 %.sroa.2.0.copyload, ptr noundef nonnull align 4 dereferenceable(16) %.sink) + %29 = call ptr @_ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_NS0_17basic_string_viewIT_EERKNS0_12format_specsIS6_EE(ptr %.sroa.0.0.copyload.i.i, ptr %.sroa.0.0.copyload, i64 %.sroa.2.0.copyload, ptr noundef nonnull align 4 dereferenceable(16) %.sink) call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %4) - store ptr %30, ptr %2, align 8 + store ptr %29, ptr %2, align 8 ret void } diff --git a/bench/vcpkg/optimized/commands.export.cpp.ll b/bench/vcpkg/optimized/commands.export.cpp.ll index 69c54077545..413c320084a 100644 --- a/bench/vcpkg/optimized/commands.export.cpp.ll +++ b/bench/vcpkg/optimized/commands.export.cpp.ll @@ -6650,19 +6650,18 @@ define linkonce_odr dso_local void @_ZN3fmt3v106detail5valueINS0_20basic_format_ 26: ; preds = %3 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(64) %4, ptr noundef nonnull align 8 dereferenceable(64) %5, i64 64, i1 false) - %27 = getelementptr inbounds i8, ptr %4, i64 16 - call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %4, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %27, ptr noundef nonnull align 8 dereferenceable(32) %2) - %28 = getelementptr inbounds i8, ptr %4, i64 4 - %29 = getelementptr inbounds i8, ptr %4, i64 40 - call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_17precision_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %28, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %29, ptr noundef nonnull align 8 dereferenceable(32) %2) + call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %4, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %11, ptr noundef nonnull align 8 dereferenceable(32) %2) + %27 = getelementptr inbounds i8, ptr %4, i64 4 + %28 = getelementptr inbounds i8, ptr %4, i64 40 + call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_17precision_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %27, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %28, ptr noundef nonnull align 8 dereferenceable(32) %2) br label %_ZNK3fmt3v109formatterIN5vcpkg10StringViewEcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEES3_RT_.exit _ZNK3fmt3v109formatterIN5vcpkg10StringViewEcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEES3_RT_.exit: ; preds = %3, %26 %.sink = phi ptr [ %4, %26 ], [ %5, %3 ] %.sroa.0.0.copyload.i.i = load ptr, ptr %2, align 8 - %30 = call ptr @_ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_NS0_17basic_string_viewIT_EERKNS0_12format_specsIS6_EE(ptr %.sroa.0.0.copyload.i.i, ptr %.sroa.0.0.copyload, i64 %.sroa.2.0.copyload, ptr noundef nonnull align 4 dereferenceable(16) %.sink) + %29 = call ptr @_ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_NS0_17basic_string_viewIT_EERKNS0_12format_specsIS6_EE(ptr %.sroa.0.0.copyload.i.i, ptr %.sroa.0.0.copyload, i64 %.sroa.2.0.copyload, ptr noundef nonnull align 4 dereferenceable(16) %.sink) call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %4) - store ptr %30, ptr %2, align 8 + store ptr %29, ptr %2, align 8 ret void } @@ -11636,19 +11635,18 @@ define linkonce_odr dso_local void @_ZN3fmt3v106detail5valueINS0_20basic_format_ 26: ; preds = %3 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(64) %4, ptr noundef nonnull align 8 dereferenceable(64) %5, i64 64, i1 false) - %27 = getelementptr inbounds i8, ptr %4, i64 16 - call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %4, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %27, ptr noundef nonnull align 8 dereferenceable(32) %2) - %28 = getelementptr inbounds i8, ptr %4, i64 4 - %29 = getelementptr inbounds i8, ptr %4, i64 40 - call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_17precision_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %28, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %29, ptr noundef nonnull align 8 dereferenceable(32) %2) + call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %4, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %11, ptr noundef nonnull align 8 dereferenceable(32) %2) + %27 = getelementptr inbounds i8, ptr %4, i64 4 + %28 = getelementptr inbounds i8, ptr %4, i64 40 + call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_17precision_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %27, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %28, ptr noundef nonnull align 8 dereferenceable(32) %2) br label %_ZNK3fmt3v109formatterIN5vcpkg13StringLiteralEcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEERKS3_RT_.exit _ZNK3fmt3v109formatterIN5vcpkg13StringLiteralEcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEERKS3_RT_.exit: ; preds = %3, %26 %.sink = phi ptr [ %4, %26 ], [ %5, %3 ] %.sroa.0.0.copyload.i.i.i = load ptr, ptr %2, align 8 - %30 = call ptr @_ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_NS0_17basic_string_viewIT_EERKNS0_12format_specsIS6_EE(ptr %.sroa.0.0.copyload.i.i.i, ptr %.sroa.0.0.copyload.i, i64 %.sroa.2.0.copyload.i, ptr noundef nonnull align 4 dereferenceable(16) %.sink) + %29 = call ptr @_ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_NS0_17basic_string_viewIT_EERKNS0_12format_specsIS6_EE(ptr %.sroa.0.0.copyload.i.i.i, ptr %.sroa.0.0.copyload.i, i64 %.sroa.2.0.copyload.i, ptr noundef nonnull align 4 dereferenceable(16) %.sink) call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %4) - store ptr %30, ptr %2, align 8 + store ptr %29, ptr %2, align 8 ret void } diff --git a/bench/vcpkg/optimized/commands.find.cpp.ll b/bench/vcpkg/optimized/commands.find.cpp.ll index 690945e0ea1..79779077261 100644 --- a/bench/vcpkg/optimized/commands.find.cpp.ll +++ b/bench/vcpkg/optimized/commands.find.cpp.ll @@ -4017,19 +4017,18 @@ define linkonce_odr dso_local void @_ZN3fmt3v106detail5valueINS0_20basic_format_ 26: ; preds = %3 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(64) %4, ptr noundef nonnull align 8 dereferenceable(64) %5, i64 64, i1 false) - %27 = getelementptr inbounds i8, ptr %4, i64 16 - call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %4, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %27, ptr noundef nonnull align 8 dereferenceable(32) %2) - %28 = getelementptr inbounds i8, ptr %4, i64 4 - %29 = getelementptr inbounds i8, ptr %4, i64 40 - call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_17precision_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %28, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %29, ptr noundef nonnull align 8 dereferenceable(32) %2) + call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %4, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %11, ptr noundef nonnull align 8 dereferenceable(32) %2) + %27 = getelementptr inbounds i8, ptr %4, i64 4 + %28 = getelementptr inbounds i8, ptr %4, i64 40 + call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_17precision_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %27, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %28, ptr noundef nonnull align 8 dereferenceable(32) %2) br label %_ZNK3fmt3v109formatterIN5vcpkg10StringViewEcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEES3_RT_.exit _ZNK3fmt3v109formatterIN5vcpkg10StringViewEcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEES3_RT_.exit: ; preds = %3, %26 %.sink = phi ptr [ %4, %26 ], [ %5, %3 ] %.sroa.0.0.copyload.i.i = load ptr, ptr %2, align 8 - %30 = call ptr @_ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_NS0_17basic_string_viewIT_EERKNS0_12format_specsIS6_EE(ptr %.sroa.0.0.copyload.i.i, ptr %.sroa.0.0.copyload, i64 %.sroa.2.0.copyload, ptr noundef nonnull align 4 dereferenceable(16) %.sink) + %29 = call ptr @_ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_NS0_17basic_string_viewIT_EERKNS0_12format_specsIS6_EE(ptr %.sroa.0.0.copyload.i.i, ptr %.sroa.0.0.copyload, i64 %.sroa.2.0.copyload, ptr noundef nonnull align 4 dereferenceable(16) %.sink) call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %4) - store ptr %30, ptr %2, align 8 + store ptr %29, ptr %2, align 8 ret void } diff --git a/bench/vcpkg/optimized/commands.format-manifest.cpp.ll b/bench/vcpkg/optimized/commands.format-manifest.cpp.ll index 4edcb0ca075..54c1170cc26 100644 --- a/bench/vcpkg/optimized/commands.format-manifest.cpp.ll +++ b/bench/vcpkg/optimized/commands.format-manifest.cpp.ll @@ -4348,19 +4348,18 @@ define linkonce_odr dso_local void @_ZN3fmt3v106detail5valueINS0_20basic_format_ 26: ; preds = %3 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(64) %4, ptr noundef nonnull align 8 dereferenceable(64) %5, i64 64, i1 false) - %27 = getelementptr inbounds i8, ptr %4, i64 16 - call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %4, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %27, ptr noundef nonnull align 8 dereferenceable(32) %2) - %28 = getelementptr inbounds i8, ptr %4, i64 4 - %29 = getelementptr inbounds i8, ptr %4, i64 40 - call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_17precision_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %28, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %29, ptr noundef nonnull align 8 dereferenceable(32) %2) + call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %4, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %11, ptr noundef nonnull align 8 dereferenceable(32) %2) + %27 = getelementptr inbounds i8, ptr %4, i64 4 + %28 = getelementptr inbounds i8, ptr %4, i64 40 + call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_17precision_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %27, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %28, ptr noundef nonnull align 8 dereferenceable(32) %2) br label %_ZNK3fmt3v109formatterIN5vcpkg10StringViewEcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEES3_RT_.exit _ZNK3fmt3v109formatterIN5vcpkg10StringViewEcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEES3_RT_.exit: ; preds = %3, %26 %.sink = phi ptr [ %4, %26 ], [ %5, %3 ] %.sroa.0.0.copyload.i.i = load ptr, ptr %2, align 8 - %30 = call ptr @_ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_NS0_17basic_string_viewIT_EERKNS0_12format_specsIS6_EE(ptr %.sroa.0.0.copyload.i.i, ptr %.sroa.0.0.copyload, i64 %.sroa.2.0.copyload, ptr noundef nonnull align 4 dereferenceable(16) %.sink) + %29 = call ptr @_ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_NS0_17basic_string_viewIT_EERKNS0_12format_specsIS6_EE(ptr %.sroa.0.0.copyload.i.i, ptr %.sroa.0.0.copyload, i64 %.sroa.2.0.copyload, ptr noundef nonnull align 4 dereferenceable(16) %.sink) call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %4) - store ptr %30, ptr %2, align 8 + store ptr %29, ptr %2, align 8 ret void } diff --git a/bench/vcpkg/optimized/commands.generate-msbuild-props.cpp.ll b/bench/vcpkg/optimized/commands.generate-msbuild-props.cpp.ll index 69dadc8ffa0..5cbba72e17b 100644 --- a/bench/vcpkg/optimized/commands.generate-msbuild-props.cpp.ll +++ b/bench/vcpkg/optimized/commands.generate-msbuild-props.cpp.ll @@ -894,19 +894,18 @@ define linkonce_odr dso_local void @_ZN3fmt3v106detail5valueINS0_20basic_format_ 26: ; preds = %3 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(64) %4, ptr noundef nonnull align 8 dereferenceable(64) %5, i64 64, i1 false) - %27 = getelementptr inbounds i8, ptr %4, i64 16 - call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %4, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %27, ptr noundef nonnull align 8 dereferenceable(32) %2) - %28 = getelementptr inbounds i8, ptr %4, i64 4 - %29 = getelementptr inbounds i8, ptr %4, i64 40 - call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_17precision_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %28, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %29, ptr noundef nonnull align 8 dereferenceable(32) %2) + call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %4, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %11, ptr noundef nonnull align 8 dereferenceable(32) %2) + %27 = getelementptr inbounds i8, ptr %4, i64 4 + %28 = getelementptr inbounds i8, ptr %4, i64 40 + call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_17precision_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %27, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %28, ptr noundef nonnull align 8 dereferenceable(32) %2) br label %_ZNK3fmt3v109formatterIN5vcpkg10StringViewEcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEES3_RT_.exit _ZNK3fmt3v109formatterIN5vcpkg10StringViewEcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEES3_RT_.exit: ; preds = %3, %26 %.sink = phi ptr [ %4, %26 ], [ %5, %3 ] %.sroa.0.0.copyload.i.i = load ptr, ptr %2, align 8 - %30 = call ptr @_ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_NS0_17basic_string_viewIT_EERKNS0_12format_specsIS6_EE(ptr %.sroa.0.0.copyload.i.i, ptr %.sroa.0.0.copyload, i64 %.sroa.2.0.copyload, ptr noundef nonnull align 4 dereferenceable(16) %.sink) + %29 = call ptr @_ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_NS0_17basic_string_viewIT_EERKNS0_12format_specsIS6_EE(ptr %.sroa.0.0.copyload.i.i, ptr %.sroa.0.0.copyload, i64 %.sroa.2.0.copyload, ptr noundef nonnull align 4 dereferenceable(16) %.sink) call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %4) - store ptr %30, ptr %2, align 8 + store ptr %29, ptr %2, align 8 ret void } diff --git a/bench/vcpkg/optimized/commands.help.cpp.ll b/bench/vcpkg/optimized/commands.help.cpp.ll index 736a31ef586..6f132d2b70b 100644 --- a/bench/vcpkg/optimized/commands.help.cpp.ll +++ b/bench/vcpkg/optimized/commands.help.cpp.ll @@ -2205,19 +2205,18 @@ define linkonce_odr dso_local void @_ZN3fmt3v106detail5valueINS0_20basic_format_ 26: ; preds = %3 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(64) %4, ptr noundef nonnull align 8 dereferenceable(64) %5, i64 64, i1 false) - %27 = getelementptr inbounds i8, ptr %4, i64 16 - call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %4, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %27, ptr noundef nonnull align 8 dereferenceable(32) %2) - %28 = getelementptr inbounds i8, ptr %4, i64 4 - %29 = getelementptr inbounds i8, ptr %4, i64 40 - call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_17precision_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %28, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %29, ptr noundef nonnull align 8 dereferenceable(32) %2) + call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %4, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %11, ptr noundef nonnull align 8 dereferenceable(32) %2) + %27 = getelementptr inbounds i8, ptr %4, i64 4 + %28 = getelementptr inbounds i8, ptr %4, i64 40 + call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_17precision_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %27, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %28, ptr noundef nonnull align 8 dereferenceable(32) %2) br label %_ZNK3fmt3v109formatterIN5vcpkg10StringViewEcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEES3_RT_.exit _ZNK3fmt3v109formatterIN5vcpkg10StringViewEcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEES3_RT_.exit: ; preds = %3, %26 %.sink = phi ptr [ %4, %26 ], [ %5, %3 ] %.sroa.0.0.copyload.i.i = load ptr, ptr %2, align 8 - %30 = call ptr @_ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_NS0_17basic_string_viewIT_EERKNS0_12format_specsIS6_EE(ptr %.sroa.0.0.copyload.i.i, ptr %.sroa.0.0.copyload, i64 %.sroa.2.0.copyload, ptr noundef nonnull align 4 dereferenceable(16) %.sink) + %29 = call ptr @_ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_NS0_17basic_string_viewIT_EERKNS0_12format_specsIS6_EE(ptr %.sroa.0.0.copyload.i.i, ptr %.sroa.0.0.copyload, i64 %.sroa.2.0.copyload, ptr noundef nonnull align 4 dereferenceable(16) %.sink) call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %4) - store ptr %30, ptr %2, align 8 + store ptr %29, ptr %2, align 8 ret void } diff --git a/bench/vcpkg/optimized/commands.init-registry.cpp.ll b/bench/vcpkg/optimized/commands.init-registry.cpp.ll index 8e3241a97aa..ff5e395e6bf 100644 --- a/bench/vcpkg/optimized/commands.init-registry.cpp.ll +++ b/bench/vcpkg/optimized/commands.init-registry.cpp.ll @@ -733,19 +733,18 @@ define linkonce_odr dso_local void @_ZN3fmt3v106detail5valueINS0_20basic_format_ 26: ; preds = %3 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(64) %4, ptr noundef nonnull align 8 dereferenceable(64) %5, i64 64, i1 false) - %27 = getelementptr inbounds i8, ptr %4, i64 16 - call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %4, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %27, ptr noundef nonnull align 8 dereferenceable(32) %2) - %28 = getelementptr inbounds i8, ptr %4, i64 4 - %29 = getelementptr inbounds i8, ptr %4, i64 40 - call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_17precision_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %28, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %29, ptr noundef nonnull align 8 dereferenceable(32) %2) + call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %4, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %11, ptr noundef nonnull align 8 dereferenceable(32) %2) + %27 = getelementptr inbounds i8, ptr %4, i64 4 + %28 = getelementptr inbounds i8, ptr %4, i64 40 + call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_17precision_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %27, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %28, ptr noundef nonnull align 8 dereferenceable(32) %2) br label %_ZNK3fmt3v109formatterIN5vcpkg10StringViewEcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEES3_RT_.exit _ZNK3fmt3v109formatterIN5vcpkg10StringViewEcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEES3_RT_.exit: ; preds = %3, %26 %.sink = phi ptr [ %4, %26 ], [ %5, %3 ] %.sroa.0.0.copyload.i.i = load ptr, ptr %2, align 8 - %30 = call ptr @_ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_NS0_17basic_string_viewIT_EERKNS0_12format_specsIS6_EE(ptr %.sroa.0.0.copyload.i.i, ptr %.sroa.0.0.copyload, i64 %.sroa.2.0.copyload, ptr noundef nonnull align 4 dereferenceable(16) %.sink) + %29 = call ptr @_ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_NS0_17basic_string_viewIT_EERKNS0_12format_specsIS6_EE(ptr %.sroa.0.0.copyload.i.i, ptr %.sroa.0.0.copyload, i64 %.sroa.2.0.copyload, ptr noundef nonnull align 4 dereferenceable(16) %.sink) call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %4) - store ptr %30, ptr %2, align 8 + store ptr %29, ptr %2, align 8 ret void } diff --git a/bench/vcpkg/optimized/commands.install.cpp.ll b/bench/vcpkg/optimized/commands.install.cpp.ll index 0e0024a599e..d563ce0814e 100644 --- a/bench/vcpkg/optimized/commands.install.cpp.ll +++ b/bench/vcpkg/optimized/commands.install.cpp.ll @@ -19023,7 +19023,7 @@ define linkonce_odr dso_local ptr @_ZNK3fmt3v109formatterIN5vcpkg11PackageSpecEc 12: ; preds = %3 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(64) %4, ptr noundef nonnull align 8 dereferenceable(64) %0, i64 64, i1 false) - %13 = getelementptr inbounds i8, ptr %4, i64 16 + %13 = getelementptr inbounds i8, ptr %0, i64 16 invoke void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %4, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %13, ptr noundef nonnull align 8 dereferenceable(32) %2) to label %14 unwind label %19 @@ -21918,19 +21918,18 @@ define linkonce_odr dso_local void @_ZN3fmt3v106detail5valueINS0_20basic_format_ 26: ; preds = %3 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(64) %4, ptr noundef nonnull align 8 dereferenceable(64) %5, i64 64, i1 false) - %27 = getelementptr inbounds i8, ptr %4, i64 16 - call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %4, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %27, ptr noundef nonnull align 8 dereferenceable(32) %2) - %28 = getelementptr inbounds i8, ptr %4, i64 4 - %29 = getelementptr inbounds i8, ptr %4, i64 40 - call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_17precision_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %28, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %29, ptr noundef nonnull align 8 dereferenceable(32) %2) + call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %4, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %11, ptr noundef nonnull align 8 dereferenceable(32) %2) + %27 = getelementptr inbounds i8, ptr %4, i64 4 + %28 = getelementptr inbounds i8, ptr %4, i64 40 + call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_17precision_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %27, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %28, ptr noundef nonnull align 8 dereferenceable(32) %2) br label %_ZNK3fmt3v109formatterIN5vcpkg10StringViewEcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEES3_RT_.exit _ZNK3fmt3v109formatterIN5vcpkg10StringViewEcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEES3_RT_.exit: ; preds = %3, %26 %.sink = phi ptr [ %4, %26 ], [ %5, %3 ] %.sroa.0.0.copyload.i.i = load ptr, ptr %2, align 8 - %30 = call ptr @_ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_NS0_17basic_string_viewIT_EERKNS0_12format_specsIS6_EE(ptr %.sroa.0.0.copyload.i.i, ptr %.sroa.0.0.copyload, i64 %.sroa.2.0.copyload, ptr noundef nonnull align 4 dereferenceable(16) %.sink) + %29 = call ptr @_ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_NS0_17basic_string_viewIT_EERKNS0_12format_specsIS6_EE(ptr %.sroa.0.0.copyload.i.i, ptr %.sroa.0.0.copyload, i64 %.sroa.2.0.copyload, ptr noundef nonnull align 4 dereferenceable(16) %.sink) call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %4) - store ptr %30, ptr %2, align 8 + store ptr %29, ptr %2, align 8 ret void } @@ -22386,7 +22385,7 @@ define linkonce_odr dso_local ptr @_ZNK3fmt3v109formatterIN5vcpkg11ElapsedTimeEc 12: ; preds = %3 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(64) %4, ptr noundef nonnull align 8 dereferenceable(64) %0, i64 64, i1 false) - %13 = getelementptr inbounds i8, ptr %4, i64 16 + %13 = getelementptr inbounds i8, ptr %0, i64 16 invoke void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %4, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %13, ptr noundef nonnull align 8 dereferenceable(32) %2) to label %14 unwind label %19 diff --git a/bench/vcpkg/optimized/commands.integrate.cpp.ll b/bench/vcpkg/optimized/commands.integrate.cpp.ll index bce010014fc..b362f27bab8 100644 --- a/bench/vcpkg/optimized/commands.integrate.cpp.ll +++ b/bench/vcpkg/optimized/commands.integrate.cpp.ll @@ -3065,19 +3065,18 @@ define linkonce_odr dso_local void @_ZN3fmt3v106detail5valueINS0_20basic_format_ 26: ; preds = %3 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(64) %4, ptr noundef nonnull align 8 dereferenceable(64) %5, i64 64, i1 false) - %27 = getelementptr inbounds i8, ptr %4, i64 16 - call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %4, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %27, ptr noundef nonnull align 8 dereferenceable(32) %2) - %28 = getelementptr inbounds i8, ptr %4, i64 4 - %29 = getelementptr inbounds i8, ptr %4, i64 40 - call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_17precision_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %28, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %29, ptr noundef nonnull align 8 dereferenceable(32) %2) + call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %4, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %11, ptr noundef nonnull align 8 dereferenceable(32) %2) + %27 = getelementptr inbounds i8, ptr %4, i64 4 + %28 = getelementptr inbounds i8, ptr %4, i64 40 + call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_17precision_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %27, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %28, ptr noundef nonnull align 8 dereferenceable(32) %2) br label %_ZNK3fmt3v109formatterIN5vcpkg10StringViewEcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEES3_RT_.exit _ZNK3fmt3v109formatterIN5vcpkg10StringViewEcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEES3_RT_.exit: ; preds = %3, %26 %.sink = phi ptr [ %4, %26 ], [ %5, %3 ] %.sroa.0.0.copyload.i.i = load ptr, ptr %2, align 8 - %30 = call ptr @_ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_NS0_17basic_string_viewIT_EERKNS0_12format_specsIS6_EE(ptr %.sroa.0.0.copyload.i.i, ptr %.sroa.0.0.copyload, i64 %.sroa.2.0.copyload, ptr noundef nonnull align 4 dereferenceable(16) %.sink) + %29 = call ptr @_ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_NS0_17basic_string_viewIT_EERKNS0_12format_specsIS6_EE(ptr %.sroa.0.0.copyload.i.i, ptr %.sroa.0.0.copyload, i64 %.sroa.2.0.copyload, ptr noundef nonnull align 4 dereferenceable(16) %.sink) call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %4) - store ptr %30, ptr %2, align 8 + store ptr %29, ptr %2, align 8 ret void } diff --git a/bench/vcpkg/optimized/commands.list.cpp.ll b/bench/vcpkg/optimized/commands.list.cpp.ll index 962c169aa2c..74b787b8806 100644 --- a/bench/vcpkg/optimized/commands.list.cpp.ll +++ b/bench/vcpkg/optimized/commands.list.cpp.ll @@ -2643,19 +2643,18 @@ define linkonce_odr dso_local void @_ZN3fmt3v106detail5valueINS0_20basic_format_ 26: ; preds = %3 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(64) %4, ptr noundef nonnull align 8 dereferenceable(64) %5, i64 64, i1 false) - %27 = getelementptr inbounds i8, ptr %4, i64 16 - call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %4, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %27, ptr noundef nonnull align 8 dereferenceable(32) %2) - %28 = getelementptr inbounds i8, ptr %4, i64 4 - %29 = getelementptr inbounds i8, ptr %4, i64 40 - call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_17precision_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %28, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %29, ptr noundef nonnull align 8 dereferenceable(32) %2) + call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %4, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %11, ptr noundef nonnull align 8 dereferenceable(32) %2) + %27 = getelementptr inbounds i8, ptr %4, i64 4 + %28 = getelementptr inbounds i8, ptr %4, i64 40 + call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_17precision_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %27, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %28, ptr noundef nonnull align 8 dereferenceable(32) %2) br label %_ZNK3fmt3v109formatterIN5vcpkg10StringViewEcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEES3_RT_.exit _ZNK3fmt3v109formatterIN5vcpkg10StringViewEcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEES3_RT_.exit: ; preds = %3, %26 %.sink = phi ptr [ %4, %26 ], [ %5, %3 ] %.sroa.0.0.copyload.i.i = load ptr, ptr %2, align 8 - %30 = call ptr @_ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_NS0_17basic_string_viewIT_EERKNS0_12format_specsIS6_EE(ptr %.sroa.0.0.copyload.i.i, ptr %.sroa.0.0.copyload, i64 %.sroa.2.0.copyload, ptr noundef nonnull align 4 dereferenceable(16) %.sink) + %29 = call ptr @_ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_NS0_17basic_string_viewIT_EERKNS0_12format_specsIS6_EE(ptr %.sroa.0.0.copyload.i.i, ptr %.sroa.0.0.copyload, i64 %.sroa.2.0.copyload, ptr noundef nonnull align 4 dereferenceable(16) %.sink) call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %4) - store ptr %30, ptr %2, align 8 + store ptr %29, ptr %2, align 8 ret void } @@ -5769,7 +5768,7 @@ define linkonce_odr dso_local ptr @_ZNK3fmt3v109formatterINS0_9join_viewIN9__gnu 17: ; preds = %10 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(64) %4, ptr noundef nonnull align 8 dereferenceable(64) %0, i64 64, i1 false) - %18 = getelementptr inbounds i8, ptr %4, i64 16 + %18 = getelementptr inbounds i8, ptr %0, i64 16 call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %4, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %18, ptr noundef nonnull align 8 dereferenceable(32) %2) %19 = getelementptr inbounds i8, ptr %4, i64 4 %20 = getelementptr inbounds i8, ptr %4, i64 40 @@ -5793,9 +5792,9 @@ define linkonce_odr dso_local ptr @_ZNK3fmt3v109formatterINS0_9join_viewIN9__gnu .lr.ph: ; preds = %24 %26 = getelementptr inbounds i8, ptr %1, i64 16 %27 = getelementptr inbounds i8, ptr %1, i64 24 - %28 = getelementptr inbounds i8, ptr %5, i64 16 - %29 = getelementptr inbounds i8, ptr %5, i64 4 - %30 = getelementptr inbounds i8, ptr %5, i64 40 + %28 = getelementptr inbounds i8, ptr %5, i64 4 + %29 = getelementptr inbounds i8, ptr %5, i64 40 + %30 = getelementptr inbounds i8, ptr %0, i64 16 br label %31 31: ; preds = %.lr.ph, %63 @@ -5869,8 +5868,8 @@ _ZN3fmt3v106detail8copy_strIcPKcEENS0_8appenderET0_S6_S5_.exit: ; preds = %_ZSt2 62: ; preds = %_ZN3fmt3v106detail8copy_strIcPKcEENS0_8appenderET0_S6_S5_.exit call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(64) %5, ptr noundef nonnull align 8 dereferenceable(64) %0, i64 64, i1 false) - call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %5, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %28, ptr noundef nonnull align 8 dereferenceable(32) %2) - call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_17precision_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %29, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %30, ptr noundef nonnull align 8 dereferenceable(32) %2) + call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %5, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %30, ptr noundef nonnull align 8 dereferenceable(32) %2) + call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_17precision_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %28, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %29, ptr noundef nonnull align 8 dereferenceable(32) %2) br label %63 63: ; preds = %_ZN3fmt3v106detail8copy_strIcPKcEENS0_8appenderET0_S6_S5_.exit, %62 diff --git a/bench/vcpkg/optimized/commands.new.cpp.ll b/bench/vcpkg/optimized/commands.new.cpp.ll index 34f3f5c0a20..d330d64c00f 100644 --- a/bench/vcpkg/optimized/commands.new.cpp.ll +++ b/bench/vcpkg/optimized/commands.new.cpp.ll @@ -4849,19 +4849,18 @@ define linkonce_odr dso_local void @_ZN3fmt3v106detail5valueINS0_20basic_format_ 26: ; preds = %3 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(64) %4, ptr noundef nonnull align 8 dereferenceable(64) %5, i64 64, i1 false) - %27 = getelementptr inbounds i8, ptr %4, i64 16 - call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %4, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %27, ptr noundef nonnull align 8 dereferenceable(32) %2) - %28 = getelementptr inbounds i8, ptr %4, i64 4 - %29 = getelementptr inbounds i8, ptr %4, i64 40 - call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_17precision_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %28, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %29, ptr noundef nonnull align 8 dereferenceable(32) %2) + call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %4, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %11, ptr noundef nonnull align 8 dereferenceable(32) %2) + %27 = getelementptr inbounds i8, ptr %4, i64 4 + %28 = getelementptr inbounds i8, ptr %4, i64 40 + call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_17precision_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %27, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %28, ptr noundef nonnull align 8 dereferenceable(32) %2) br label %_ZNK3fmt3v109formatterIN5vcpkg10StringViewEcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEES3_RT_.exit _ZNK3fmt3v109formatterIN5vcpkg10StringViewEcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEES3_RT_.exit: ; preds = %3, %26 %.sink = phi ptr [ %4, %26 ], [ %5, %3 ] %.sroa.0.0.copyload.i.i = load ptr, ptr %2, align 8 - %30 = call ptr @_ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_NS0_17basic_string_viewIT_EERKNS0_12format_specsIS6_EE(ptr %.sroa.0.0.copyload.i.i, ptr %.sroa.0.0.copyload, i64 %.sroa.2.0.copyload, ptr noundef nonnull align 4 dereferenceable(16) %.sink) + %29 = call ptr @_ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_NS0_17basic_string_viewIT_EERKNS0_12format_specsIS6_EE(ptr %.sroa.0.0.copyload.i.i, ptr %.sroa.0.0.copyload, i64 %.sroa.2.0.copyload, ptr noundef nonnull align 4 dereferenceable(16) %.sink) call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %4) - store ptr %30, ptr %2, align 8 + store ptr %29, ptr %2, align 8 ret void } diff --git a/bench/vcpkg/optimized/commands.package-info.cpp.ll b/bench/vcpkg/optimized/commands.package-info.cpp.ll index 66c2ea1840c..45145c19026 100644 --- a/bench/vcpkg/optimized/commands.package-info.cpp.ll +++ b/bench/vcpkg/optimized/commands.package-info.cpp.ll @@ -2605,19 +2605,18 @@ define linkonce_odr dso_local void @_ZN3fmt3v106detail5valueINS0_20basic_format_ 26: ; preds = %3 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(64) %4, ptr noundef nonnull align 8 dereferenceable(64) %5, i64 64, i1 false) - %27 = getelementptr inbounds i8, ptr %4, i64 16 - call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %4, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %27, ptr noundef nonnull align 8 dereferenceable(32) %2) - %28 = getelementptr inbounds i8, ptr %4, i64 4 - %29 = getelementptr inbounds i8, ptr %4, i64 40 - call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_17precision_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %28, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %29, ptr noundef nonnull align 8 dereferenceable(32) %2) + call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %4, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %11, ptr noundef nonnull align 8 dereferenceable(32) %2) + %27 = getelementptr inbounds i8, ptr %4, i64 4 + %28 = getelementptr inbounds i8, ptr %4, i64 40 + call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_17precision_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %27, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %28, ptr noundef nonnull align 8 dereferenceable(32) %2) br label %_ZNK3fmt3v109formatterIN5vcpkg10StringViewEcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEES3_RT_.exit _ZNK3fmt3v109formatterIN5vcpkg10StringViewEcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEES3_RT_.exit: ; preds = %3, %26 %.sink = phi ptr [ %4, %26 ], [ %5, %3 ] %.sroa.0.0.copyload.i.i = load ptr, ptr %2, align 8 - %30 = call ptr @_ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_NS0_17basic_string_viewIT_EERKNS0_12format_specsIS6_EE(ptr %.sroa.0.0.copyload.i.i, ptr %.sroa.0.0.copyload, i64 %.sroa.2.0.copyload, ptr noundef nonnull align 4 dereferenceable(16) %.sink) + %29 = call ptr @_ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_NS0_17basic_string_viewIT_EERKNS0_12format_specsIS6_EE(ptr %.sroa.0.0.copyload.i.i, ptr %.sroa.0.0.copyload, i64 %.sroa.2.0.copyload, ptr noundef nonnull align 4 dereferenceable(16) %.sink) call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %4) - store ptr %30, ptr %2, align 8 + store ptr %29, ptr %2, align 8 ret void } diff --git a/bench/vcpkg/optimized/commands.portsdiff.cpp.ll b/bench/vcpkg/optimized/commands.portsdiff.cpp.ll index c3b79c7d20d..2398e9e6711 100644 --- a/bench/vcpkg/optimized/commands.portsdiff.cpp.ll +++ b/bench/vcpkg/optimized/commands.portsdiff.cpp.ll @@ -2164,19 +2164,18 @@ define linkonce_odr dso_local void @_ZN3fmt3v106detail5valueINS0_20basic_format_ 26: ; preds = %3 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(64) %4, ptr noundef nonnull align 8 dereferenceable(64) %5, i64 64, i1 false) - %27 = getelementptr inbounds i8, ptr %4, i64 16 - call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %4, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %27, ptr noundef nonnull align 8 dereferenceable(32) %2) - %28 = getelementptr inbounds i8, ptr %4, i64 4 - %29 = getelementptr inbounds i8, ptr %4, i64 40 - call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_17precision_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %28, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %29, ptr noundef nonnull align 8 dereferenceable(32) %2) + call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %4, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %11, ptr noundef nonnull align 8 dereferenceable(32) %2) + %27 = getelementptr inbounds i8, ptr %4, i64 4 + %28 = getelementptr inbounds i8, ptr %4, i64 40 + call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_17precision_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %27, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %28, ptr noundef nonnull align 8 dereferenceable(32) %2) br label %_ZNK3fmt3v109formatterIN5vcpkg10StringViewEcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEES3_RT_.exit _ZNK3fmt3v109formatterIN5vcpkg10StringViewEcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEES3_RT_.exit: ; preds = %3, %26 %.sink = phi ptr [ %4, %26 ], [ %5, %3 ] %.sroa.0.0.copyload.i.i = load ptr, ptr %2, align 8 - %30 = call ptr @_ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_NS0_17basic_string_viewIT_EERKNS0_12format_specsIS6_EE(ptr %.sroa.0.0.copyload.i.i, ptr %.sroa.0.0.copyload, i64 %.sroa.2.0.copyload, ptr noundef nonnull align 4 dereferenceable(16) %.sink) + %29 = call ptr @_ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_NS0_17basic_string_viewIT_EERKNS0_12format_specsIS6_EE(ptr %.sroa.0.0.copyload.i.i, ptr %.sroa.0.0.copyload, i64 %.sroa.2.0.copyload, ptr noundef nonnull align 4 dereferenceable(16) %.sink) call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %4) - store ptr %30, ptr %2, align 8 + store ptr %29, ptr %2, align 8 ret void } @@ -6973,7 +6972,7 @@ define linkonce_odr dso_local ptr @_ZNK3fmt3v109formatterIN5vcpkg7VersionEcvE6fo 12: ; preds = %3 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(64) %4, ptr noundef nonnull align 8 dereferenceable(64) %0, i64 64, i1 false) - %13 = getelementptr inbounds i8, ptr %4, i64 16 + %13 = getelementptr inbounds i8, ptr %0, i64 16 invoke void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %4, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %13, ptr noundef nonnull align 8 dereferenceable(32) %2) to label %14 unwind label %19 @@ -7060,7 +7059,7 @@ define linkonce_odr dso_local ptr @_ZNK3fmt3v109formatterIN5vcpkg11VersionDiffEc 12: ; preds = %3 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(64) %4, ptr noundef nonnull align 8 dereferenceable(64) %0, i64 64, i1 false) - %13 = getelementptr inbounds i8, ptr %4, i64 16 + %13 = getelementptr inbounds i8, ptr %0, i64 16 invoke void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %4, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %13, ptr noundef nonnull align 8 dereferenceable(32) %2) to label %14 unwind label %19 diff --git a/bench/vcpkg/optimized/commands.remove.cpp.ll b/bench/vcpkg/optimized/commands.remove.cpp.ll index b24b7cdf88d..bd642e34ac7 100644 --- a/bench/vcpkg/optimized/commands.remove.cpp.ll +++ b/bench/vcpkg/optimized/commands.remove.cpp.ll @@ -5956,7 +5956,7 @@ define linkonce_odr dso_local ptr @_ZNK3fmt3v109formatterIN5vcpkg11PackageSpecEc 12: ; preds = %3 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(64) %4, ptr noundef nonnull align 8 dereferenceable(64) %0, i64 64, i1 false) - %13 = getelementptr inbounds i8, ptr %4, i64 16 + %13 = getelementptr inbounds i8, ptr %0, i64 16 invoke void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %4, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %13, ptr noundef nonnull align 8 dereferenceable(32) %2) to label %14 unwind label %19 @@ -8976,21 +8976,20 @@ define linkonce_odr dso_local void @_ZN3fmt3v106detail5valueINS0_20basic_format_ 27: ; preds = %3 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(64) %4, ptr noundef nonnull align 8 dereferenceable(64) %5, i64 64, i1 false) - %28 = getelementptr inbounds i8, ptr %4, i64 16 - call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %4, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %28, ptr noundef nonnull align 8 dereferenceable(32) %2) - %29 = getelementptr inbounds i8, ptr %4, i64 4 - %30 = getelementptr inbounds i8, ptr %4, i64 40 - call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_17precision_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %29, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %30, ptr noundef nonnull align 8 dereferenceable(32) %2) + call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %4, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %11, ptr noundef nonnull align 8 dereferenceable(32) %2) + %28 = getelementptr inbounds i8, ptr %4, i64 4 + %29 = getelementptr inbounds i8, ptr %4, i64 40 + call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_17precision_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %28, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %29, ptr noundef nonnull align 8 dereferenceable(32) %2) br label %_ZNK3fmt3v109formatterIN5vcpkg4PathEcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEERKS3_RT_.exit _ZNK3fmt3v109formatterIN5vcpkg4PathEcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEERKS3_RT_.exit: ; preds = %3, %27 %.sink = phi ptr [ %4, %27 ], [ %5, %3 ] - %31 = extractvalue { ptr, i64 } %24, 1 - %32 = extractvalue { ptr, i64 } %24, 0 + %30 = extractvalue { ptr, i64 } %24, 1 + %31 = extractvalue { ptr, i64 } %24, 0 %.sroa.0.0.copyload.i.i.i = load ptr, ptr %2, align 8 - %33 = call ptr @_ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_NS0_17basic_string_viewIT_EERKNS0_12format_specsIS6_EE(ptr %.sroa.0.0.copyload.i.i.i, ptr %32, i64 %31, ptr noundef nonnull align 4 dereferenceable(16) %.sink) + %32 = call ptr @_ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_NS0_17basic_string_viewIT_EERKNS0_12format_specsIS6_EE(ptr %.sroa.0.0.copyload.i.i.i, ptr %31, i64 %30, ptr noundef nonnull align 4 dereferenceable(16) %.sink) call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %4) - store ptr %33, ptr %2, align 8 + store ptr %32, ptr %2, align 8 ret void } @@ -9043,19 +9042,18 @@ define linkonce_odr dso_local void @_ZN3fmt3v106detail5valueINS0_20basic_format_ 26: ; preds = %3 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(64) %4, ptr noundef nonnull align 8 dereferenceable(64) %5, i64 64, i1 false) - %27 = getelementptr inbounds i8, ptr %4, i64 16 - call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %4, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %27, ptr noundef nonnull align 8 dereferenceable(32) %2) - %28 = getelementptr inbounds i8, ptr %4, i64 4 - %29 = getelementptr inbounds i8, ptr %4, i64 40 - call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_17precision_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %28, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %29, ptr noundef nonnull align 8 dereferenceable(32) %2) + call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %4, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %11, ptr noundef nonnull align 8 dereferenceable(32) %2) + %27 = getelementptr inbounds i8, ptr %4, i64 4 + %28 = getelementptr inbounds i8, ptr %4, i64 40 + call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_17precision_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %27, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %28, ptr noundef nonnull align 8 dereferenceable(32) %2) br label %_ZNK3fmt3v109formatterIN5vcpkg10StringViewEcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEES3_RT_.exit _ZNK3fmt3v109formatterIN5vcpkg10StringViewEcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEES3_RT_.exit: ; preds = %3, %26 %.sink = phi ptr [ %4, %26 ], [ %5, %3 ] %.sroa.0.0.copyload.i.i = load ptr, ptr %2, align 8 - %30 = call ptr @_ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_NS0_17basic_string_viewIT_EERKNS0_12format_specsIS6_EE(ptr %.sroa.0.0.copyload.i.i, ptr %.sroa.0.0.copyload, i64 %.sroa.2.0.copyload, ptr noundef nonnull align 4 dereferenceable(16) %.sink) + %29 = call ptr @_ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_NS0_17basic_string_viewIT_EERKNS0_12format_specsIS6_EE(ptr %.sroa.0.0.copyload.i.i, ptr %.sroa.0.0.copyload, i64 %.sroa.2.0.copyload, ptr noundef nonnull align 4 dereferenceable(16) %.sink) call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %4) - store ptr %30, ptr %2, align 8 + store ptr %29, ptr %2, align 8 ret void } diff --git a/bench/vcpkg/optimized/commands.set-installed.cpp.ll b/bench/vcpkg/optimized/commands.set-installed.cpp.ll index 26b08dd8e4a..f4057fb592f 100644 --- a/bench/vcpkg/optimized/commands.set-installed.cpp.ll +++ b/bench/vcpkg/optimized/commands.set-installed.cpp.ll @@ -7901,19 +7901,18 @@ define linkonce_odr dso_local void @_ZN3fmt3v106detail5valueINS0_20basic_format_ 26: ; preds = %3 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(64) %4, ptr noundef nonnull align 8 dereferenceable(64) %5, i64 64, i1 false) - %27 = getelementptr inbounds i8, ptr %4, i64 16 - call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %4, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %27, ptr noundef nonnull align 8 dereferenceable(32) %2) - %28 = getelementptr inbounds i8, ptr %4, i64 4 - %29 = getelementptr inbounds i8, ptr %4, i64 40 - call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_17precision_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %28, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %29, ptr noundef nonnull align 8 dereferenceable(32) %2) + call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %4, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %11, ptr noundef nonnull align 8 dereferenceable(32) %2) + %27 = getelementptr inbounds i8, ptr %4, i64 4 + %28 = getelementptr inbounds i8, ptr %4, i64 40 + call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_17precision_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %27, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %28, ptr noundef nonnull align 8 dereferenceable(32) %2) br label %_ZNK3fmt3v109formatterIN5vcpkg10StringViewEcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEES3_RT_.exit _ZNK3fmt3v109formatterIN5vcpkg10StringViewEcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEES3_RT_.exit: ; preds = %3, %26 %.sink = phi ptr [ %4, %26 ], [ %5, %3 ] %.sroa.0.0.copyload.i.i = load ptr, ptr %2, align 8 - %30 = call ptr @_ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_NS0_17basic_string_viewIT_EERKNS0_12format_specsIS6_EE(ptr %.sroa.0.0.copyload.i.i, ptr %.sroa.0.0.copyload, i64 %.sroa.2.0.copyload, ptr noundef nonnull align 4 dereferenceable(16) %.sink) + %29 = call ptr @_ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_NS0_17basic_string_viewIT_EERKNS0_12format_specsIS6_EE(ptr %.sroa.0.0.copyload.i.i, ptr %.sroa.0.0.copyload, i64 %.sroa.2.0.copyload, ptr noundef nonnull align 4 dereferenceable(16) %.sink) call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %4) - store ptr %30, ptr %2, align 8 + store ptr %29, ptr %2, align 8 ret void } diff --git a/bench/vcpkg/optimized/commands.update-baseline.cpp.ll b/bench/vcpkg/optimized/commands.update-baseline.cpp.ll index 0340c6a2782..65dec425e56 100644 --- a/bench/vcpkg/optimized/commands.update-baseline.cpp.ll +++ b/bench/vcpkg/optimized/commands.update-baseline.cpp.ll @@ -3821,19 +3821,18 @@ define linkonce_odr dso_local void @_ZN3fmt3v106detail5valueINS0_20basic_format_ 26: ; preds = %3 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(64) %4, ptr noundef nonnull align 8 dereferenceable(64) %5, i64 64, i1 false) - %27 = getelementptr inbounds i8, ptr %4, i64 16 - call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %4, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %27, ptr noundef nonnull align 8 dereferenceable(32) %2) - %28 = getelementptr inbounds i8, ptr %4, i64 4 - %29 = getelementptr inbounds i8, ptr %4, i64 40 - call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_17precision_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %28, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %29, ptr noundef nonnull align 8 dereferenceable(32) %2) + call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %4, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %11, ptr noundef nonnull align 8 dereferenceable(32) %2) + %27 = getelementptr inbounds i8, ptr %4, i64 4 + %28 = getelementptr inbounds i8, ptr %4, i64 40 + call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_17precision_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %27, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %28, ptr noundef nonnull align 8 dereferenceable(32) %2) br label %_ZNK3fmt3v109formatterIN5vcpkg10StringViewEcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEES3_RT_.exit _ZNK3fmt3v109formatterIN5vcpkg10StringViewEcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEES3_RT_.exit: ; preds = %3, %26 %.sink = phi ptr [ %4, %26 ], [ %5, %3 ] %.sroa.0.0.copyload.i.i = load ptr, ptr %2, align 8 - %30 = call ptr @_ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_NS0_17basic_string_viewIT_EERKNS0_12format_specsIS6_EE(ptr %.sroa.0.0.copyload.i.i, ptr %.sroa.0.0.copyload, i64 %.sroa.2.0.copyload, ptr noundef nonnull align 4 dereferenceable(16) %.sink) + %29 = call ptr @_ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_NS0_17basic_string_viewIT_EERKNS0_12format_specsIS6_EE(ptr %.sroa.0.0.copyload.i.i, ptr %.sroa.0.0.copyload, i64 %.sroa.2.0.copyload, ptr noundef nonnull align 4 dereferenceable(16) %.sink) call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %4) - store ptr %30, ptr %2, align 8 + store ptr %29, ptr %2, align 8 ret void } diff --git a/bench/vcpkg/optimized/commands.update.cpp.ll b/bench/vcpkg/optimized/commands.update.cpp.ll index 93403663da4..81032a64e45 100644 --- a/bench/vcpkg/optimized/commands.update.cpp.ll +++ b/bench/vcpkg/optimized/commands.update.cpp.ll @@ -3016,7 +3016,7 @@ define linkonce_odr dso_local ptr @_ZNK3fmt3v109formatterIN5vcpkg11PackageSpecEc 12: ; preds = %3 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(64) %4, ptr noundef nonnull align 8 dereferenceable(64) %0, i64 64, i1 false) - %13 = getelementptr inbounds i8, ptr %4, i64 16 + %13 = getelementptr inbounds i8, ptr %0, i64 16 invoke void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %4, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %13, ptr noundef nonnull align 8 dereferenceable(32) %2) to label %14 unwind label %19 @@ -5785,19 +5785,18 @@ define linkonce_odr dso_local void @_ZN3fmt3v106detail5valueINS0_20basic_format_ 26: ; preds = %3 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(64) %4, ptr noundef nonnull align 8 dereferenceable(64) %5, i64 64, i1 false) - %27 = getelementptr inbounds i8, ptr %4, i64 16 - call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %4, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %27, ptr noundef nonnull align 8 dereferenceable(32) %2) - %28 = getelementptr inbounds i8, ptr %4, i64 4 - %29 = getelementptr inbounds i8, ptr %4, i64 40 - call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_17precision_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %28, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %29, ptr noundef nonnull align 8 dereferenceable(32) %2) + call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %4, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %11, ptr noundef nonnull align 8 dereferenceable(32) %2) + %27 = getelementptr inbounds i8, ptr %4, i64 4 + %28 = getelementptr inbounds i8, ptr %4, i64 40 + call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_17precision_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %27, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %28, ptr noundef nonnull align 8 dereferenceable(32) %2) br label %_ZNK3fmt3v109formatterIN5vcpkg10StringViewEcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEES3_RT_.exit _ZNK3fmt3v109formatterIN5vcpkg10StringViewEcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEES3_RT_.exit: ; preds = %3, %26 %.sink = phi ptr [ %4, %26 ], [ %5, %3 ] %.sroa.0.0.copyload.i.i = load ptr, ptr %2, align 8 - %30 = call ptr @_ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_NS0_17basic_string_viewIT_EERKNS0_12format_specsIS6_EE(ptr %.sroa.0.0.copyload.i.i, ptr %.sroa.0.0.copyload, i64 %.sroa.2.0.copyload, ptr noundef nonnull align 4 dereferenceable(16) %.sink) + %29 = call ptr @_ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_NS0_17basic_string_viewIT_EERKNS0_12format_specsIS6_EE(ptr %.sroa.0.0.copyload.i.i, ptr %.sroa.0.0.copyload, i64 %.sroa.2.0.copyload, ptr noundef nonnull align 4 dereferenceable(16) %.sink) call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %4) - store ptr %30, ptr %2, align 8 + store ptr %29, ptr %2, align 8 ret void } diff --git a/bench/vcpkg/optimized/commands.version.cpp.ll b/bench/vcpkg/optimized/commands.version.cpp.ll index 38f06b72f55..a8a9af3b614 100644 --- a/bench/vcpkg/optimized/commands.version.cpp.ll +++ b/bench/vcpkg/optimized/commands.version.cpp.ll @@ -449,19 +449,18 @@ define linkonce_odr dso_local void @_ZN3fmt3v106detail5valueINS0_20basic_format_ 26: ; preds = %3 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(64) %4, ptr noundef nonnull align 8 dereferenceable(64) %5, i64 64, i1 false) - %27 = getelementptr inbounds i8, ptr %4, i64 16 - call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %4, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %27, ptr noundef nonnull align 8 dereferenceable(32) %2) - %28 = getelementptr inbounds i8, ptr %4, i64 4 - %29 = getelementptr inbounds i8, ptr %4, i64 40 - call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_17precision_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %28, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %29, ptr noundef nonnull align 8 dereferenceable(32) %2) + call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %4, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %11, ptr noundef nonnull align 8 dereferenceable(32) %2) + %27 = getelementptr inbounds i8, ptr %4, i64 4 + %28 = getelementptr inbounds i8, ptr %4, i64 40 + call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_17precision_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %27, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %28, ptr noundef nonnull align 8 dereferenceable(32) %2) br label %_ZNK3fmt3v109formatterIN5vcpkg10StringViewEcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEES3_RT_.exit _ZNK3fmt3v109formatterIN5vcpkg10StringViewEcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEES3_RT_.exit: ; preds = %3, %26 %.sink = phi ptr [ %4, %26 ], [ %5, %3 ] %.sroa.0.0.copyload.i.i = load ptr, ptr %2, align 8 - %30 = call ptr @_ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_NS0_17basic_string_viewIT_EERKNS0_12format_specsIS6_EE(ptr %.sroa.0.0.copyload.i.i, ptr %.sroa.0.0.copyload, i64 %.sroa.2.0.copyload, ptr noundef nonnull align 4 dereferenceable(16) %.sink) + %29 = call ptr @_ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_NS0_17basic_string_viewIT_EERKNS0_12format_specsIS6_EE(ptr %.sroa.0.0.copyload.i.i, ptr %.sroa.0.0.copyload, i64 %.sroa.2.0.copyload, ptr noundef nonnull align 4 dereferenceable(16) %.sink) call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %4) - store ptr %30, ptr %2, align 8 + store ptr %29, ptr %2, align 8 ret void } diff --git a/bench/vcpkg/optimized/commands.z-changelog.cpp.ll b/bench/vcpkg/optimized/commands.z-changelog.cpp.ll index b27ca6e826a..c0e734831d9 100644 --- a/bench/vcpkg/optimized/commands.z-changelog.cpp.ll +++ b/bench/vcpkg/optimized/commands.z-changelog.cpp.ll @@ -1382,7 +1382,7 @@ define linkonce_odr dso_local ptr @_ZNK3fmt3v109formatterIN5vcpkg7VersionEcvE6fo 12: ; preds = %3 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(64) %4, ptr noundef nonnull align 8 dereferenceable(64) %0, i64 64, i1 false) - %13 = getelementptr inbounds i8, ptr %4, i64 16 + %13 = getelementptr inbounds i8, ptr %0, i64 16 invoke void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %4, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %13, ptr noundef nonnull align 8 dereferenceable(32) %2) to label %14 unwind label %19 diff --git a/bench/vcpkg/optimized/commands.z-extract.cpp.ll b/bench/vcpkg/optimized/commands.z-extract.cpp.ll index fe1a929caaf..14fc4265e71 100644 --- a/bench/vcpkg/optimized/commands.z-extract.cpp.ll +++ b/bench/vcpkg/optimized/commands.z-extract.cpp.ll @@ -1744,19 +1744,18 @@ define linkonce_odr dso_local void @_ZN3fmt3v106detail5valueINS0_20basic_format_ 26: ; preds = %3 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(64) %4, ptr noundef nonnull align 8 dereferenceable(64) %5, i64 64, i1 false) - %27 = getelementptr inbounds i8, ptr %4, i64 16 - call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %4, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %27, ptr noundef nonnull align 8 dereferenceable(32) %2) - %28 = getelementptr inbounds i8, ptr %4, i64 4 - %29 = getelementptr inbounds i8, ptr %4, i64 40 - call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_17precision_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %28, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %29, ptr noundef nonnull align 8 dereferenceable(32) %2) + call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %4, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %11, ptr noundef nonnull align 8 dereferenceable(32) %2) + %27 = getelementptr inbounds i8, ptr %4, i64 4 + %28 = getelementptr inbounds i8, ptr %4, i64 40 + call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_17precision_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %27, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %28, ptr noundef nonnull align 8 dereferenceable(32) %2) br label %_ZNK3fmt3v109formatterIN5vcpkg10StringViewEcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEES3_RT_.exit _ZNK3fmt3v109formatterIN5vcpkg10StringViewEcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEES3_RT_.exit: ; preds = %3, %26 %.sink = phi ptr [ %4, %26 ], [ %5, %3 ] %.sroa.0.0.copyload.i.i = load ptr, ptr %2, align 8 - %30 = call ptr @_ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_NS0_17basic_string_viewIT_EERKNS0_12format_specsIS6_EE(ptr %.sroa.0.0.copyload.i.i, ptr %.sroa.0.0.copyload, i64 %.sroa.2.0.copyload, ptr noundef nonnull align 4 dereferenceable(16) %.sink) + %29 = call ptr @_ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_NS0_17basic_string_viewIT_EERKNS0_12format_specsIS6_EE(ptr %.sroa.0.0.copyload.i.i, ptr %.sroa.0.0.copyload, i64 %.sroa.2.0.copyload, ptr noundef nonnull align 4 dereferenceable(16) %.sink) call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %4) - store ptr %30, ptr %2, align 8 + store ptr %29, ptr %2, align 8 ret void } diff --git a/bench/vcpkg/optimized/commands.z-generate-message-map.cpp.ll b/bench/vcpkg/optimized/commands.z-generate-message-map.cpp.ll index bbe7dfd35e9..4fb7a626ae8 100644 --- a/bench/vcpkg/optimized/commands.z-generate-message-map.cpp.ll +++ b/bench/vcpkg/optimized/commands.z-generate-message-map.cpp.ll @@ -3045,19 +3045,18 @@ define linkonce_odr dso_local void @_ZN3fmt3v106detail5valueINS0_20basic_format_ 26: ; preds = %3 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(64) %4, ptr noundef nonnull align 8 dereferenceable(64) %5, i64 64, i1 false) - %27 = getelementptr inbounds i8, ptr %4, i64 16 - call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %4, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %27, ptr noundef nonnull align 8 dereferenceable(32) %2) - %28 = getelementptr inbounds i8, ptr %4, i64 4 - %29 = getelementptr inbounds i8, ptr %4, i64 40 - call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_17precision_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %28, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %29, ptr noundef nonnull align 8 dereferenceable(32) %2) + call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %4, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %11, ptr noundef nonnull align 8 dereferenceable(32) %2) + %27 = getelementptr inbounds i8, ptr %4, i64 4 + %28 = getelementptr inbounds i8, ptr %4, i64 40 + call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_17precision_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %27, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %28, ptr noundef nonnull align 8 dereferenceable(32) %2) br label %_ZNK3fmt3v109formatterIN5vcpkg10StringViewEcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEES3_RT_.exit _ZNK3fmt3v109formatterIN5vcpkg10StringViewEcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEES3_RT_.exit: ; preds = %3, %26 %.sink = phi ptr [ %4, %26 ], [ %5, %3 ] %.sroa.0.0.copyload.i.i = load ptr, ptr %2, align 8 - %30 = call ptr @_ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_NS0_17basic_string_viewIT_EERKNS0_12format_specsIS6_EE(ptr %.sroa.0.0.copyload.i.i, ptr %.sroa.0.0.copyload, i64 %.sroa.2.0.copyload, ptr noundef nonnull align 4 dereferenceable(16) %.sink) + %29 = call ptr @_ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_NS0_17basic_string_viewIT_EERKNS0_12format_specsIS6_EE(ptr %.sroa.0.0.copyload.i.i, ptr %.sroa.0.0.copyload, i64 %.sroa.2.0.copyload, ptr noundef nonnull align 4 dereferenceable(16) %.sink) call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %4) - store ptr %30, ptr %2, align 8 + store ptr %29, ptr %2, align 8 ret void } @@ -6832,19 +6831,18 @@ define linkonce_odr dso_local void @_ZN3fmt3v106detail5valueINS0_20basic_format_ 26: ; preds = %3 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(64) %4, ptr noundef nonnull align 8 dereferenceable(64) %5, i64 64, i1 false) - %27 = getelementptr inbounds i8, ptr %4, i64 16 - call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %4, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %27, ptr noundef nonnull align 8 dereferenceable(32) %2) - %28 = getelementptr inbounds i8, ptr %4, i64 4 - %29 = getelementptr inbounds i8, ptr %4, i64 40 - call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_17precision_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %28, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %29, ptr noundef nonnull align 8 dereferenceable(32) %2) + call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %4, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %11, ptr noundef nonnull align 8 dereferenceable(32) %2) + %27 = getelementptr inbounds i8, ptr %4, i64 4 + %28 = getelementptr inbounds i8, ptr %4, i64 40 + call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_17precision_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %27, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %28, ptr noundef nonnull align 8 dereferenceable(32) %2) br label %_ZNK3fmt3v109formatterIN5vcpkg13StringLiteralEcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEERKS3_RT_.exit _ZNK3fmt3v109formatterIN5vcpkg13StringLiteralEcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEERKS3_RT_.exit: ; preds = %3, %26 %.sink = phi ptr [ %4, %26 ], [ %5, %3 ] %.sroa.0.0.copyload.i.i.i = load ptr, ptr %2, align 8 - %30 = call ptr @_ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_NS0_17basic_string_viewIT_EERKNS0_12format_specsIS6_EE(ptr %.sroa.0.0.copyload.i.i.i, ptr %.sroa.0.0.copyload.i, i64 %.sroa.2.0.copyload.i, ptr noundef nonnull align 4 dereferenceable(16) %.sink) + %29 = call ptr @_ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_NS0_17basic_string_viewIT_EERKNS0_12format_specsIS6_EE(ptr %.sroa.0.0.copyload.i.i.i, ptr %.sroa.0.0.copyload.i, i64 %.sroa.2.0.copyload.i, ptr noundef nonnull align 4 dereferenceable(16) %.sink) call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %4) - store ptr %30, ptr %2, align 8 + store ptr %29, ptr %2, align 8 ret void } diff --git a/bench/vcpkg/optimized/configuration.cpp.ll b/bench/vcpkg/optimized/configuration.cpp.ll index 044fa75632a..311b4b35e39 100644 --- a/bench/vcpkg/optimized/configuration.cpp.ll +++ b/bench/vcpkg/optimized/configuration.cpp.ll @@ -8698,19 +8698,18 @@ define linkonce_odr dso_local void @_ZN3fmt3v106detail5valueINS0_20basic_format_ 26: ; preds = %3 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(64) %4, ptr noundef nonnull align 8 dereferenceable(64) %5, i64 64, i1 false) - %27 = getelementptr inbounds i8, ptr %4, i64 16 - call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %4, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %27, ptr noundef nonnull align 8 dereferenceable(32) %2) - %28 = getelementptr inbounds i8, ptr %4, i64 4 - %29 = getelementptr inbounds i8, ptr %4, i64 40 - call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_17precision_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %28, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %29, ptr noundef nonnull align 8 dereferenceable(32) %2) + call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %4, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %11, ptr noundef nonnull align 8 dereferenceable(32) %2) + %27 = getelementptr inbounds i8, ptr %4, i64 4 + %28 = getelementptr inbounds i8, ptr %4, i64 40 + call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_17precision_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %27, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %28, ptr noundef nonnull align 8 dereferenceable(32) %2) br label %_ZNK3fmt3v109formatterIN5vcpkg10StringViewEcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEES3_RT_.exit _ZNK3fmt3v109formatterIN5vcpkg10StringViewEcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEES3_RT_.exit: ; preds = %3, %26 %.sink = phi ptr [ %4, %26 ], [ %5, %3 ] %.sroa.0.0.copyload.i.i = load ptr, ptr %2, align 8 - %30 = call ptr @_ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_NS0_17basic_string_viewIT_EERKNS0_12format_specsIS6_EE(ptr %.sroa.0.0.copyload.i.i, ptr %.sroa.0.0.copyload, i64 %.sroa.2.0.copyload, ptr noundef nonnull align 4 dereferenceable(16) %.sink) + %29 = call ptr @_ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_NS0_17basic_string_viewIT_EERKNS0_12format_specsIS6_EE(ptr %.sroa.0.0.copyload.i.i, ptr %.sroa.0.0.copyload, i64 %.sroa.2.0.copyload, ptr noundef nonnull align 4 dereferenceable(16) %.sink) call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %4) - store ptr %30, ptr %2, align 8 + store ptr %29, ptr %2, align 8 ret void } diff --git a/bench/vcpkg/optimized/configure-environment.cpp.ll b/bench/vcpkg/optimized/configure-environment.cpp.ll index c94c60bff93..0fdf12c796b 100644 --- a/bench/vcpkg/optimized/configure-environment.cpp.ll +++ b/bench/vcpkg/optimized/configure-environment.cpp.ll @@ -2455,19 +2455,18 @@ define linkonce_odr dso_local void @_ZN3fmt3v106detail5valueINS0_20basic_format_ 26: ; preds = %3 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(64) %4, ptr noundef nonnull align 8 dereferenceable(64) %5, i64 64, i1 false) - %27 = getelementptr inbounds i8, ptr %4, i64 16 - call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %4, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %27, ptr noundef nonnull align 8 dereferenceable(32) %2) - %28 = getelementptr inbounds i8, ptr %4, i64 4 - %29 = getelementptr inbounds i8, ptr %4, i64 40 - call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_17precision_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %28, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %29, ptr noundef nonnull align 8 dereferenceable(32) %2) + call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %4, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %11, ptr noundef nonnull align 8 dereferenceable(32) %2) + %27 = getelementptr inbounds i8, ptr %4, i64 4 + %28 = getelementptr inbounds i8, ptr %4, i64 40 + call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_17precision_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %27, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %28, ptr noundef nonnull align 8 dereferenceable(32) %2) br label %_ZNK3fmt3v109formatterIN5vcpkg13StringLiteralEcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEERKS3_RT_.exit _ZNK3fmt3v109formatterIN5vcpkg13StringLiteralEcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEERKS3_RT_.exit: ; preds = %3, %26 %.sink = phi ptr [ %4, %26 ], [ %5, %3 ] %.sroa.0.0.copyload.i.i.i = load ptr, ptr %2, align 8 - %30 = call ptr @_ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_NS0_17basic_string_viewIT_EERKNS0_12format_specsIS6_EE(ptr %.sroa.0.0.copyload.i.i.i, ptr %.sroa.0.0.copyload.i, i64 %.sroa.2.0.copyload.i, ptr noundef nonnull align 4 dereferenceable(16) %.sink) + %29 = call ptr @_ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_NS0_17basic_string_viewIT_EERKNS0_12format_specsIS6_EE(ptr %.sroa.0.0.copyload.i.i.i, ptr %.sroa.0.0.copyload.i, i64 %.sroa.2.0.copyload.i, ptr noundef nonnull align 4 dereferenceable(16) %.sink) call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %4) - store ptr %30, ptr %2, align 8 + store ptr %29, ptr %2, align 8 ret void } diff --git a/bench/vcpkg/optimized/dependencies.cpp.ll b/bench/vcpkg/optimized/dependencies.cpp.ll index d3b701cfbf4..9a9d9205eb1 100644 --- a/bench/vcpkg/optimized/dependencies.cpp.ll +++ b/bench/vcpkg/optimized/dependencies.cpp.ll @@ -15627,7 +15627,7 @@ define linkonce_odr dso_local ptr @_ZNK3fmt3v109formatterIN5vcpkg11PackageSpecEc 12: ; preds = %3 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(64) %4, ptr noundef nonnull align 8 dereferenceable(64) %0, i64 64, i1 false) - %13 = getelementptr inbounds i8, ptr %4, i64 16 + %13 = getelementptr inbounds i8, ptr %0, i64 16 invoke void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %4, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %13, ptr noundef nonnull align 8 dereferenceable(32) %2) to label %14 unwind label %19 @@ -21045,19 +21045,18 @@ define linkonce_odr dso_local void @_ZN3fmt3v106detail5valueINS0_20basic_format_ 26: ; preds = %3 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(64) %4, ptr noundef nonnull align 8 dereferenceable(64) %5, i64 64, i1 false) - %27 = getelementptr inbounds i8, ptr %4, i64 16 - call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %4, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %27, ptr noundef nonnull align 8 dereferenceable(32) %2) - %28 = getelementptr inbounds i8, ptr %4, i64 4 - %29 = getelementptr inbounds i8, ptr %4, i64 40 - call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_17precision_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %28, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %29, ptr noundef nonnull align 8 dereferenceable(32) %2) + call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %4, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %11, ptr noundef nonnull align 8 dereferenceable(32) %2) + %27 = getelementptr inbounds i8, ptr %4, i64 4 + %28 = getelementptr inbounds i8, ptr %4, i64 40 + call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_17precision_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %27, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %28, ptr noundef nonnull align 8 dereferenceable(32) %2) br label %_ZNK3fmt3v109formatterIN5vcpkg10StringViewEcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEES3_RT_.exit _ZNK3fmt3v109formatterIN5vcpkg10StringViewEcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEES3_RT_.exit: ; preds = %3, %26 %.sink = phi ptr [ %4, %26 ], [ %5, %3 ] %.sroa.0.0.copyload.i.i = load ptr, ptr %2, align 8 - %30 = call ptr @_ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_NS0_17basic_string_viewIT_EERKNS0_12format_specsIS6_EE(ptr %.sroa.0.0.copyload.i.i, ptr %.sroa.0.0.copyload, i64 %.sroa.2.0.copyload, ptr noundef nonnull align 4 dereferenceable(16) %.sink) + %29 = call ptr @_ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_NS0_17basic_string_viewIT_EERKNS0_12format_specsIS6_EE(ptr %.sroa.0.0.copyload.i.i, ptr %.sroa.0.0.copyload, i64 %.sroa.2.0.copyload, ptr noundef nonnull align 4 dereferenceable(16) %.sink) call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %4) - store ptr %30, ptr %2, align 8 + store ptr %29, ptr %2, align 8 ret void } @@ -27781,7 +27780,7 @@ define linkonce_odr dso_local ptr @_ZNK3fmt3v109formatterIN5vcpkg7VersionEcvE6fo 12: ; preds = %3 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(64) %4, ptr noundef nonnull align 8 dereferenceable(64) %0, i64 64, i1 false) - %13 = getelementptr inbounds i8, ptr %4, i64 16 + %13 = getelementptr inbounds i8, ptr %0, i64 16 invoke void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %4, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %13, ptr noundef nonnull align 8 dereferenceable(32) %2) to label %14 unwind label %19 @@ -36778,21 +36777,20 @@ define linkonce_odr dso_local void @_ZN3fmt3v106detail5valueINS0_20basic_format_ 28: ; preds = %3 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(64) %4, ptr noundef nonnull align 8 dereferenceable(64) %5, i64 64, i1 false) - %29 = getelementptr inbounds i8, ptr %4, i64 16 - call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %4, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %29, ptr noundef nonnull align 8 dereferenceable(32) %2) - %30 = getelementptr inbounds i8, ptr %4, i64 4 - %31 = getelementptr inbounds i8, ptr %4, i64 40 - call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_17precision_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %30, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %31, ptr noundef nonnull align 8 dereferenceable(32) %2) + call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %4, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %11, ptr noundef nonnull align 8 dereferenceable(32) %2) + %29 = getelementptr inbounds i8, ptr %4, i64 4 + %30 = getelementptr inbounds i8, ptr %4, i64 40 + call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_17precision_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %29, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %30, ptr noundef nonnull align 8 dereferenceable(32) %2) br label %_ZNK3fmt3v109formatterIN5vcpkg13VersionSchemeEcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEERKS3_RT_.exit _ZNK3fmt3v109formatterIN5vcpkg13VersionSchemeEcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEERKS3_RT_.exit: ; preds = %3, %28 %.sink = phi ptr [ %4, %28 ], [ %5, %3 ] - %32 = extractvalue { ptr, i64 } %25, 1 - %33 = extractvalue { ptr, i64 } %25, 0 + %31 = extractvalue { ptr, i64 } %25, 1 + %32 = extractvalue { ptr, i64 } %25, 0 %.sroa.0.0.copyload.i.i.i.i = load ptr, ptr %2, align 8 - %34 = call ptr @_ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_NS0_17basic_string_viewIT_EERKNS0_12format_specsIS6_EE(ptr %.sroa.0.0.copyload.i.i.i.i, ptr %33, i64 %32, ptr noundef nonnull align 4 dereferenceable(16) %.sink) + %33 = call ptr @_ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_NS0_17basic_string_viewIT_EERKNS0_12format_specsIS6_EE(ptr %.sroa.0.0.copyload.i.i.i.i, ptr %32, i64 %31, ptr noundef nonnull align 4 dereferenceable(16) %.sink) call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %4) - store ptr %34, ptr %2, align 8 + store ptr %33, ptr %2, align 8 ret void } @@ -38476,19 +38474,18 @@ define linkonce_odr dso_local void @_ZN3fmt3v106detail5valueINS0_20basic_format_ 28: ; preds = %3 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(64) %4, ptr noundef nonnull align 8 dereferenceable(64) %6, i64 64, i1 false) - %29 = getelementptr inbounds i8, ptr %4, i64 16 - call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %4, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %29, ptr noundef nonnull align 8 dereferenceable(32) %2) - %30 = getelementptr inbounds i8, ptr %4, i64 4 - %31 = getelementptr inbounds i8, ptr %4, i64 40 - call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_17precision_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %30, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %31, ptr noundef nonnull align 8 dereferenceable(32) %2) + call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %4, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %12, ptr noundef nonnull align 8 dereferenceable(32) %2) + %29 = getelementptr inbounds i8, ptr %4, i64 4 + %30 = getelementptr inbounds i8, ptr %4, i64 40 + call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_17precision_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %29, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %30, ptr noundef nonnull align 8 dereferenceable(32) %2) br label %_ZNK3fmt3v109formatterIN5vcpkg7TripletEcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEERKS3_RT_.exit _ZNK3fmt3v109formatterIN5vcpkg7TripletEcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEERKS3_RT_.exit: ; preds = %3, %28 %.sink.i = phi ptr [ %4, %28 ], [ %6, %3 ] %.sroa.0.0.copyload.i.i.i = load ptr, ptr %2, align 8 - %32 = call ptr @_ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_NS0_17basic_string_viewIT_EERKNS0_12format_specsIS6_EE(ptr %.sroa.0.0.copyload.i.i.i, ptr %.fca.0.load.i.i, i64 %.fca.1.load.i.i, ptr noundef nonnull align 4 dereferenceable(16) %.sink.i) + %31 = call ptr @_ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_NS0_17basic_string_viewIT_EERKNS0_12format_specsIS6_EE(ptr %.sroa.0.0.copyload.i.i.i, ptr %.fca.0.load.i.i, i64 %.fca.1.load.i.i, ptr noundef nonnull align 4 dereferenceable(16) %.sink.i) call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %4) - store ptr %32, ptr %2, align 8 + store ptr %31, ptr %2, align 8 ret void } diff --git a/bench/vcpkg/optimized/downloads.cpp.ll b/bench/vcpkg/optimized/downloads.cpp.ll index a8455706d4e..62102cb2a4d 100644 --- a/bench/vcpkg/optimized/downloads.cpp.ll +++ b/bench/vcpkg/optimized/downloads.cpp.ll @@ -5997,19 +5997,18 @@ define linkonce_odr dso_local void @_ZN3fmt3v106detail5valueINS0_20basic_format_ 26: ; preds = %3 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(64) %4, ptr noundef nonnull align 8 dereferenceable(64) %5, i64 64, i1 false) - %27 = getelementptr inbounds i8, ptr %4, i64 16 - call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %4, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %27, ptr noundef nonnull align 8 dereferenceable(32) %2) - %28 = getelementptr inbounds i8, ptr %4, i64 4 - %29 = getelementptr inbounds i8, ptr %4, i64 40 - call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_17precision_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %28, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %29, ptr noundef nonnull align 8 dereferenceable(32) %2) + call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %4, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %11, ptr noundef nonnull align 8 dereferenceable(32) %2) + %27 = getelementptr inbounds i8, ptr %4, i64 4 + %28 = getelementptr inbounds i8, ptr %4, i64 40 + call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_17precision_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %27, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %28, ptr noundef nonnull align 8 dereferenceable(32) %2) br label %_ZNK3fmt3v109formatterIN5vcpkg10StringViewEcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEES3_RT_.exit _ZNK3fmt3v109formatterIN5vcpkg10StringViewEcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEES3_RT_.exit: ; preds = %3, %26 %.sink = phi ptr [ %4, %26 ], [ %5, %3 ] %.sroa.0.0.copyload.i.i = load ptr, ptr %2, align 8 - %30 = call ptr @_ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_NS0_17basic_string_viewIT_EERKNS0_12format_specsIS6_EE(ptr %.sroa.0.0.copyload.i.i, ptr %.sroa.0.0.copyload, i64 %.sroa.2.0.copyload, ptr noundef nonnull align 4 dereferenceable(16) %.sink) + %29 = call ptr @_ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_NS0_17basic_string_viewIT_EERKNS0_12format_specsIS6_EE(ptr %.sroa.0.0.copyload.i.i, ptr %.sroa.0.0.copyload, i64 %.sroa.2.0.copyload, ptr noundef nonnull align 4 dereferenceable(16) %.sink) call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %4) - store ptr %30, ptr %2, align 8 + store ptr %29, ptr %2, align 8 ret void } diff --git a/bench/vcpkg/optimized/export.chocolatey.cpp.ll b/bench/vcpkg/optimized/export.chocolatey.cpp.ll index 43c5f70377e..5a250fcd08c 100644 --- a/bench/vcpkg/optimized/export.chocolatey.cpp.ll +++ b/bench/vcpkg/optimized/export.chocolatey.cpp.ll @@ -1868,19 +1868,18 @@ define linkonce_odr dso_local void @_ZN3fmt3v106detail5valueINS0_20basic_format_ 26: ; preds = %3 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(64) %4, ptr noundef nonnull align 8 dereferenceable(64) %5, i64 64, i1 false) - %27 = getelementptr inbounds i8, ptr %4, i64 16 - call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %4, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %27, ptr noundef nonnull align 8 dereferenceable(32) %2) - %28 = getelementptr inbounds i8, ptr %4, i64 4 - %29 = getelementptr inbounds i8, ptr %4, i64 40 - call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_17precision_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %28, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %29, ptr noundef nonnull align 8 dereferenceable(32) %2) + call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %4, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %11, ptr noundef nonnull align 8 dereferenceable(32) %2) + %27 = getelementptr inbounds i8, ptr %4, i64 4 + %28 = getelementptr inbounds i8, ptr %4, i64 40 + call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_17precision_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %27, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %28, ptr noundef nonnull align 8 dereferenceable(32) %2) br label %_ZNK3fmt3v109formatterIN5vcpkg10StringViewEcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEES3_RT_.exit _ZNK3fmt3v109formatterIN5vcpkg10StringViewEcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEES3_RT_.exit: ; preds = %3, %26 %.sink = phi ptr [ %4, %26 ], [ %5, %3 ] %.sroa.0.0.copyload.i.i = load ptr, ptr %2, align 8 - %30 = call ptr @_ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_NS0_17basic_string_viewIT_EERKNS0_12format_specsIS6_EE(ptr %.sroa.0.0.copyload.i.i, ptr %.sroa.0.0.copyload, i64 %.sroa.2.0.copyload, ptr noundef nonnull align 4 dereferenceable(16) %.sink) + %29 = call ptr @_ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_NS0_17basic_string_viewIT_EERKNS0_12format_specsIS6_EE(ptr %.sroa.0.0.copyload.i.i, ptr %.sroa.0.0.copyload, i64 %.sroa.2.0.copyload, ptr noundef nonnull align 4 dereferenceable(16) %.sink) call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %4) - store ptr %30, ptr %2, align 8 + store ptr %29, ptr %2, align 8 ret void } diff --git a/bench/vcpkg/optimized/export.ifw.cpp.ll b/bench/vcpkg/optimized/export.ifw.cpp.ll index 6a17da2f8fa..6dd9686bf76 100644 --- a/bench/vcpkg/optimized/export.ifw.cpp.ll +++ b/bench/vcpkg/optimized/export.ifw.cpp.ll @@ -4972,7 +4972,7 @@ define linkonce_odr dso_local ptr @_ZNK3fmt3v109formatterIN5vcpkg7VersionEcvE6fo 12: ; preds = %3 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(64) %4, ptr noundef nonnull align 8 dereferenceable(64) %0, i64 64, i1 false) - %13 = getelementptr inbounds i8, ptr %4, i64 16 + %13 = getelementptr inbounds i8, ptr %0, i64 16 invoke void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %4, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %13, ptr noundef nonnull align 8 dereferenceable(32) %2) to label %14 unwind label %19 @@ -8319,19 +8319,18 @@ define linkonce_odr dso_local void @_ZN3fmt3v106detail5valueINS0_20basic_format_ 26: ; preds = %3 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(64) %4, ptr noundef nonnull align 8 dereferenceable(64) %5, i64 64, i1 false) - %27 = getelementptr inbounds i8, ptr %4, i64 16 - call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %4, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %27, ptr noundef nonnull align 8 dereferenceable(32) %2) - %28 = getelementptr inbounds i8, ptr %4, i64 4 - %29 = getelementptr inbounds i8, ptr %4, i64 40 - call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_17precision_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %28, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %29, ptr noundef nonnull align 8 dereferenceable(32) %2) + call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %4, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %11, ptr noundef nonnull align 8 dereferenceable(32) %2) + %27 = getelementptr inbounds i8, ptr %4, i64 4 + %28 = getelementptr inbounds i8, ptr %4, i64 40 + call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_17precision_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %27, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %28, ptr noundef nonnull align 8 dereferenceable(32) %2) br label %_ZNK3fmt3v109formatterIN5vcpkg10StringViewEcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEES3_RT_.exit _ZNK3fmt3v109formatterIN5vcpkg10StringViewEcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEES3_RT_.exit: ; preds = %3, %26 %.sink = phi ptr [ %4, %26 ], [ %5, %3 ] %.sroa.0.0.copyload.i.i = load ptr, ptr %2, align 8 - %30 = call ptr @_ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_NS0_17basic_string_viewIT_EERKNS0_12format_specsIS6_EE(ptr %.sroa.0.0.copyload.i.i, ptr %.sroa.0.0.copyload, i64 %.sroa.2.0.copyload, ptr noundef nonnull align 4 dereferenceable(16) %.sink) + %29 = call ptr @_ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_NS0_17basic_string_viewIT_EERKNS0_12format_specsIS6_EE(ptr %.sroa.0.0.copyload.i.i, ptr %.sroa.0.0.copyload, i64 %.sroa.2.0.copyload, ptr noundef nonnull align 4 dereferenceable(16) %.sink) call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %4) - store ptr %30, ptr %2, align 8 + store ptr %29, ptr %2, align 8 ret void } @@ -8387,7 +8386,7 @@ define linkonce_odr dso_local ptr @_ZNK3fmt3v109formatterIN5vcpkg11PackageSpecEc 12: ; preds = %3 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(64) %4, ptr noundef nonnull align 8 dereferenceable(64) %0, i64 64, i1 false) - %13 = getelementptr inbounds i8, ptr %4, i64 16 + %13 = getelementptr inbounds i8, ptr %0, i64 16 invoke void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %4, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %13, ptr noundef nonnull align 8 dereferenceable(32) %2) to label %14 unwind label %19 diff --git a/bench/vcpkg/optimized/export.prefab.cpp.ll b/bench/vcpkg/optimized/export.prefab.cpp.ll index 5191cb9fc6f..35c1c449e8f 100644 --- a/bench/vcpkg/optimized/export.prefab.cpp.ll +++ b/bench/vcpkg/optimized/export.prefab.cpp.ll @@ -10332,19 +10332,18 @@ define linkonce_odr dso_local void @_ZN3fmt3v106detail5valueINS0_20basic_format_ 26: ; preds = %3 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(64) %4, ptr noundef nonnull align 8 dereferenceable(64) %5, i64 64, i1 false) - %27 = getelementptr inbounds i8, ptr %4, i64 16 - call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %4, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %27, ptr noundef nonnull align 8 dereferenceable(32) %2) - %28 = getelementptr inbounds i8, ptr %4, i64 4 - %29 = getelementptr inbounds i8, ptr %4, i64 40 - call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_17precision_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %28, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %29, ptr noundef nonnull align 8 dereferenceable(32) %2) + call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %4, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %11, ptr noundef nonnull align 8 dereferenceable(32) %2) + %27 = getelementptr inbounds i8, ptr %4, i64 4 + %28 = getelementptr inbounds i8, ptr %4, i64 40 + call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_17precision_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %27, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %28, ptr noundef nonnull align 8 dereferenceable(32) %2) br label %_ZNK3fmt3v109formatterIN5vcpkg10StringViewEcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEES3_RT_.exit _ZNK3fmt3v109formatterIN5vcpkg10StringViewEcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEES3_RT_.exit: ; preds = %3, %26 %.sink = phi ptr [ %4, %26 ], [ %5, %3 ] %.sroa.0.0.copyload.i.i = load ptr, ptr %2, align 8 - %30 = call ptr @_ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_NS0_17basic_string_viewIT_EERKNS0_12format_specsIS6_EE(ptr %.sroa.0.0.copyload.i.i, ptr %.sroa.0.0.copyload, i64 %.sroa.2.0.copyload, ptr noundef nonnull align 4 dereferenceable(16) %.sink) + %29 = call ptr @_ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_NS0_17basic_string_viewIT_EERKNS0_12format_specsIS6_EE(ptr %.sroa.0.0.copyload.i.i, ptr %.sroa.0.0.copyload, i64 %.sroa.2.0.copyload, ptr noundef nonnull align 4 dereferenceable(16) %.sink) call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %4) - store ptr %30, ptr %2, align 8 + store ptr %29, ptr %2, align 8 ret void } @@ -16065,19 +16064,18 @@ define linkonce_odr dso_local void @_ZN3fmt3v106detail5valueINS0_20basic_format_ 28: ; preds = %3 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(64) %4, ptr noundef nonnull align 8 dereferenceable(64) %6, i64 64, i1 false) - %29 = getelementptr inbounds i8, ptr %4, i64 16 - call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %4, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %29, ptr noundef nonnull align 8 dereferenceable(32) %2) - %30 = getelementptr inbounds i8, ptr %4, i64 4 - %31 = getelementptr inbounds i8, ptr %4, i64 40 - call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_17precision_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %30, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %31, ptr noundef nonnull align 8 dereferenceable(32) %2) + call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %4, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %12, ptr noundef nonnull align 8 dereferenceable(32) %2) + %29 = getelementptr inbounds i8, ptr %4, i64 4 + %30 = getelementptr inbounds i8, ptr %4, i64 40 + call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_17precision_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %29, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %30, ptr noundef nonnull align 8 dereferenceable(32) %2) br label %_ZNK3fmt3v109formatterIN5vcpkg7TripletEcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEERKS3_RT_.exit _ZNK3fmt3v109formatterIN5vcpkg7TripletEcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEERKS3_RT_.exit: ; preds = %3, %28 %.sink.i = phi ptr [ %4, %28 ], [ %6, %3 ] %.sroa.0.0.copyload.i.i.i = load ptr, ptr %2, align 8 - %32 = call ptr @_ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_NS0_17basic_string_viewIT_EERKNS0_12format_specsIS6_EE(ptr %.sroa.0.0.copyload.i.i.i, ptr %.fca.0.load.i.i, i64 %.fca.1.load.i.i, ptr noundef nonnull align 4 dereferenceable(16) %.sink.i) + %31 = call ptr @_ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_NS0_17basic_string_viewIT_EERKNS0_12format_specsIS6_EE(ptr %.sroa.0.0.copyload.i.i.i, ptr %.fca.0.load.i.i, i64 %.fca.1.load.i.i, ptr noundef nonnull align 4 dereferenceable(16) %.sink.i) call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %4) - store ptr %32, ptr %2, align 8 + store ptr %31, ptr %2, align 8 ret void } @@ -16581,21 +16579,20 @@ define linkonce_odr dso_local void @_ZN3fmt3v106detail5valueINS0_20basic_format_ 27: ; preds = %3 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(64) %4, ptr noundef nonnull align 8 dereferenceable(64) %5, i64 64, i1 false) - %28 = getelementptr inbounds i8, ptr %4, i64 16 - call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %4, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %28, ptr noundef nonnull align 8 dereferenceable(32) %2) - %29 = getelementptr inbounds i8, ptr %4, i64 4 - %30 = getelementptr inbounds i8, ptr %4, i64 40 - call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_17precision_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %29, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %30, ptr noundef nonnull align 8 dereferenceable(32) %2) + call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %4, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %11, ptr noundef nonnull align 8 dereferenceable(32) %2) + %28 = getelementptr inbounds i8, ptr %4, i64 4 + %29 = getelementptr inbounds i8, ptr %4, i64 40 + call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_17precision_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %28, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %29, ptr noundef nonnull align 8 dereferenceable(32) %2) br label %_ZNK3fmt3v109formatterIN5vcpkg4PathEcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEERKS3_RT_.exit _ZNK3fmt3v109formatterIN5vcpkg4PathEcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEERKS3_RT_.exit: ; preds = %3, %27 %.sink = phi ptr [ %4, %27 ], [ %5, %3 ] - %31 = extractvalue { ptr, i64 } %24, 1 - %32 = extractvalue { ptr, i64 } %24, 0 + %30 = extractvalue { ptr, i64 } %24, 1 + %31 = extractvalue { ptr, i64 } %24, 0 %.sroa.0.0.copyload.i.i.i = load ptr, ptr %2, align 8 - %33 = call ptr @_ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_NS0_17basic_string_viewIT_EERKNS0_12format_specsIS6_EE(ptr %.sroa.0.0.copyload.i.i.i, ptr %32, i64 %31, ptr noundef nonnull align 4 dereferenceable(16) %.sink) + %32 = call ptr @_ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_NS0_17basic_string_viewIT_EERKNS0_12format_specsIS6_EE(ptr %.sroa.0.0.copyload.i.i.i, ptr %31, i64 %30, ptr noundef nonnull align 4 dereferenceable(16) %.sink) call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %4) - store ptr %33, ptr %2, align 8 + store ptr %32, ptr %2, align 8 ret void } diff --git a/bench/vcpkg/optimized/files.cpp.ll b/bench/vcpkg/optimized/files.cpp.ll index ec7e6cd3b94..7f2b8691cf1 100644 --- a/bench/vcpkg/optimized/files.cpp.ll +++ b/bench/vcpkg/optimized/files.cpp.ll @@ -13863,19 +13863,18 @@ define linkonce_odr dso_local void @_ZN3fmt3v106detail5valueINS0_20basic_format_ 26: ; preds = %3 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(64) %4, ptr noundef nonnull align 8 dereferenceable(64) %5, i64 64, i1 false) - %27 = getelementptr inbounds i8, ptr %4, i64 16 - call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %4, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %27, ptr noundef nonnull align 8 dereferenceable(32) %2) - %28 = getelementptr inbounds i8, ptr %4, i64 4 - %29 = getelementptr inbounds i8, ptr %4, i64 40 - call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_17precision_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %28, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %29, ptr noundef nonnull align 8 dereferenceable(32) %2) + call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %4, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %11, ptr noundef nonnull align 8 dereferenceable(32) %2) + %27 = getelementptr inbounds i8, ptr %4, i64 4 + %28 = getelementptr inbounds i8, ptr %4, i64 40 + call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_17precision_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %27, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %28, ptr noundef nonnull align 8 dereferenceable(32) %2) br label %_ZNK3fmt3v109formatterIN5vcpkg10StringViewEcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEES3_RT_.exit _ZNK3fmt3v109formatterIN5vcpkg10StringViewEcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEES3_RT_.exit: ; preds = %3, %26 %.sink = phi ptr [ %4, %26 ], [ %5, %3 ] %.sroa.0.0.copyload.i.i = load ptr, ptr %2, align 8 - %30 = call ptr @_ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_NS0_17basic_string_viewIT_EERKNS0_12format_specsIS6_EE(ptr %.sroa.0.0.copyload.i.i, ptr %.sroa.0.0.copyload, i64 %.sroa.2.0.copyload, ptr noundef nonnull align 4 dereferenceable(16) %.sink) + %29 = call ptr @_ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_NS0_17basic_string_viewIT_EERKNS0_12format_specsIS6_EE(ptr %.sroa.0.0.copyload.i.i, ptr %.sroa.0.0.copyload, i64 %.sroa.2.0.copyload, ptr noundef nonnull align 4 dereferenceable(16) %.sink) call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %4) - store ptr %30, ptr %2, align 8 + store ptr %29, ptr %2, align 8 ret void } diff --git a/bench/vcpkg/optimized/git.cpp.ll b/bench/vcpkg/optimized/git.cpp.ll index 8f6c56dfb8a..b4dba6cbb2a 100644 --- a/bench/vcpkg/optimized/git.cpp.ll +++ b/bench/vcpkg/optimized/git.cpp.ll @@ -2146,19 +2146,18 @@ define linkonce_odr dso_local void @_ZN3fmt3v106detail5valueINS0_20basic_format_ 26: ; preds = %3 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(64) %4, ptr noundef nonnull align 8 dereferenceable(64) %5, i64 64, i1 false) - %27 = getelementptr inbounds i8, ptr %4, i64 16 - call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %4, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %27, ptr noundef nonnull align 8 dereferenceable(32) %2) - %28 = getelementptr inbounds i8, ptr %4, i64 4 - %29 = getelementptr inbounds i8, ptr %4, i64 40 - call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_17precision_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %28, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %29, ptr noundef nonnull align 8 dereferenceable(32) %2) + call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %4, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %11, ptr noundef nonnull align 8 dereferenceable(32) %2) + %27 = getelementptr inbounds i8, ptr %4, i64 4 + %28 = getelementptr inbounds i8, ptr %4, i64 40 + call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_17precision_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %27, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %28, ptr noundef nonnull align 8 dereferenceable(32) %2) br label %_ZNK3fmt3v109formatterIN5vcpkg10StringViewEcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEES3_RT_.exit _ZNK3fmt3v109formatterIN5vcpkg10StringViewEcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEES3_RT_.exit: ; preds = %3, %26 %.sink = phi ptr [ %4, %26 ], [ %5, %3 ] %.sroa.0.0.copyload.i.i = load ptr, ptr %2, align 8 - %30 = call ptr @_ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_NS0_17basic_string_viewIT_EERKNS0_12format_specsIS6_EE(ptr %.sroa.0.0.copyload.i.i, ptr %.sroa.0.0.copyload, i64 %.sroa.2.0.copyload, ptr noundef nonnull align 4 dereferenceable(16) %.sink) + %29 = call ptr @_ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_NS0_17basic_string_viewIT_EERKNS0_12format_specsIS6_EE(ptr %.sroa.0.0.copyload.i.i, ptr %.sroa.0.0.copyload, i64 %.sroa.2.0.copyload, ptr noundef nonnull align 4 dereferenceable(16) %.sink) call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %4) - store ptr %30, ptr %2, align 8 + store ptr %29, ptr %2, align 8 ret void } diff --git a/bench/vcpkg/optimized/hash.cpp.ll b/bench/vcpkg/optimized/hash.cpp.ll index 7ac15a409a3..f8664250e67 100644 --- a/bench/vcpkg/optimized/hash.cpp.ll +++ b/bench/vcpkg/optimized/hash.cpp.ll @@ -1858,19 +1858,18 @@ define linkonce_odr dso_local void @_ZN3fmt3v106detail5valueINS0_20basic_format_ 26: ; preds = %3 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(64) %4, ptr noundef nonnull align 8 dereferenceable(64) %5, i64 64, i1 false) - %27 = getelementptr inbounds i8, ptr %4, i64 16 - call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %4, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %27, ptr noundef nonnull align 8 dereferenceable(32) %2) - %28 = getelementptr inbounds i8, ptr %4, i64 4 - %29 = getelementptr inbounds i8, ptr %4, i64 40 - call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_17precision_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %28, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %29, ptr noundef nonnull align 8 dereferenceable(32) %2) + call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %4, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %11, ptr noundef nonnull align 8 dereferenceable(32) %2) + %27 = getelementptr inbounds i8, ptr %4, i64 4 + %28 = getelementptr inbounds i8, ptr %4, i64 40 + call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_17precision_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %27, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %28, ptr noundef nonnull align 8 dereferenceable(32) %2) br label %_ZNK3fmt3v109formatterIN5vcpkg10StringViewEcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEES3_RT_.exit _ZNK3fmt3v109formatterIN5vcpkg10StringViewEcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEES3_RT_.exit: ; preds = %3, %26 %.sink = phi ptr [ %4, %26 ], [ %5, %3 ] %.sroa.0.0.copyload.i.i = load ptr, ptr %2, align 8 - %30 = call ptr @_ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_NS0_17basic_string_viewIT_EERKNS0_12format_specsIS6_EE(ptr %.sroa.0.0.copyload.i.i, ptr %.sroa.0.0.copyload, i64 %.sroa.2.0.copyload, ptr noundef nonnull align 4 dereferenceable(16) %.sink) + %29 = call ptr @_ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_NS0_17basic_string_viewIT_EERKNS0_12format_specsIS6_EE(ptr %.sroa.0.0.copyload.i.i, ptr %.sroa.0.0.copyload, i64 %.sroa.2.0.copyload, ptr noundef nonnull align 4 dereferenceable(16) %.sink) call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %4) - store ptr %30, ptr %2, align 8 + store ptr %29, ptr %2, align 8 ret void } @@ -5005,21 +5004,20 @@ define linkonce_odr dso_local void @_ZN3fmt3v106detail5valueINS0_20basic_format_ 27: ; preds = %3 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(64) %4, ptr noundef nonnull align 8 dereferenceable(64) %5, i64 64, i1 false) - %28 = getelementptr inbounds i8, ptr %4, i64 16 - call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %4, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %28, ptr noundef nonnull align 8 dereferenceable(32) %2) - %29 = getelementptr inbounds i8, ptr %4, i64 4 - %30 = getelementptr inbounds i8, ptr %4, i64 40 - call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_17precision_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %29, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %30, ptr noundef nonnull align 8 dereferenceable(32) %2) + call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %4, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %11, ptr noundef nonnull align 8 dereferenceable(32) %2) + %28 = getelementptr inbounds i8, ptr %4, i64 4 + %29 = getelementptr inbounds i8, ptr %4, i64 40 + call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_17precision_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %28, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %29, ptr noundef nonnull align 8 dereferenceable(32) %2) br label %_ZNK3fmt3v109formatterIN5vcpkg4PathEcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEERKS3_RT_.exit _ZNK3fmt3v109formatterIN5vcpkg4PathEcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEERKS3_RT_.exit: ; preds = %3, %27 %.sink = phi ptr [ %4, %27 ], [ %5, %3 ] - %31 = extractvalue { ptr, i64 } %24, 1 - %32 = extractvalue { ptr, i64 } %24, 0 + %30 = extractvalue { ptr, i64 } %24, 1 + %31 = extractvalue { ptr, i64 } %24, 0 %.sroa.0.0.copyload.i.i.i = load ptr, ptr %2, align 8 - %33 = call ptr @_ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_NS0_17basic_string_viewIT_EERKNS0_12format_specsIS6_EE(ptr %.sroa.0.0.copyload.i.i.i, ptr %32, i64 %31, ptr noundef nonnull align 4 dereferenceable(16) %.sink) + %32 = call ptr @_ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_NS0_17basic_string_viewIT_EERKNS0_12format_specsIS6_EE(ptr %.sroa.0.0.copyload.i.i.i, ptr %31, i64 %30, ptr noundef nonnull align 4 dereferenceable(16) %.sink) call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %4) - store ptr %33, ptr %2, align 8 + store ptr %32, ptr %2, align 8 ret void } diff --git a/bench/vcpkg/optimized/input.cpp.ll b/bench/vcpkg/optimized/input.cpp.ll index cf93aebe639..652cbea07a8 100644 --- a/bench/vcpkg/optimized/input.cpp.ll +++ b/bench/vcpkg/optimized/input.cpp.ll @@ -1066,19 +1066,18 @@ define linkonce_odr dso_local void @_ZN3fmt3v106detail5valueINS0_20basic_format_ 26: ; preds = %3 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(64) %4, ptr noundef nonnull align 8 dereferenceable(64) %5, i64 64, i1 false) - %27 = getelementptr inbounds i8, ptr %4, i64 16 - call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %4, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %27, ptr noundef nonnull align 8 dereferenceable(32) %2) - %28 = getelementptr inbounds i8, ptr %4, i64 4 - %29 = getelementptr inbounds i8, ptr %4, i64 40 - call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_17precision_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %28, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %29, ptr noundef nonnull align 8 dereferenceable(32) %2) + call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %4, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %11, ptr noundef nonnull align 8 dereferenceable(32) %2) + %27 = getelementptr inbounds i8, ptr %4, i64 4 + %28 = getelementptr inbounds i8, ptr %4, i64 40 + call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_17precision_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %27, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %28, ptr noundef nonnull align 8 dereferenceable(32) %2) br label %_ZNK3fmt3v109formatterIN5vcpkg10StringViewEcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEES3_RT_.exit _ZNK3fmt3v109formatterIN5vcpkg10StringViewEcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEES3_RT_.exit: ; preds = %3, %26 %.sink = phi ptr [ %4, %26 ], [ %5, %3 ] %.sroa.0.0.copyload.i.i = load ptr, ptr %2, align 8 - %30 = call ptr @_ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_NS0_17basic_string_viewIT_EERKNS0_12format_specsIS6_EE(ptr %.sroa.0.0.copyload.i.i, ptr %.sroa.0.0.copyload, i64 %.sroa.2.0.copyload, ptr noundef nonnull align 4 dereferenceable(16) %.sink) + %29 = call ptr @_ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_NS0_17basic_string_viewIT_EERKNS0_12format_specsIS6_EE(ptr %.sroa.0.0.copyload.i.i, ptr %.sroa.0.0.copyload, i64 %.sroa.2.0.copyload, ptr noundef nonnull align 4 dereferenceable(16) %.sink) call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %4) - store ptr %30, ptr %2, align 8 + store ptr %29, ptr %2, align 8 ret void } diff --git a/bench/vcpkg/optimized/json.cpp.ll b/bench/vcpkg/optimized/json.cpp.ll index 71b848d6ba3..2a3fabee892 100644 --- a/bench/vcpkg/optimized/json.cpp.ll +++ b/bench/vcpkg/optimized/json.cpp.ll @@ -11908,19 +11908,18 @@ define linkonce_odr dso_local void @_ZN3fmt3v106detail5valueINS0_20basic_format_ 26: ; preds = %3 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(64) %4, ptr noundef nonnull align 8 dereferenceable(64) %5, i64 64, i1 false) - %27 = getelementptr inbounds i8, ptr %4, i64 16 - call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %4, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %27, ptr noundef nonnull align 8 dereferenceable(32) %2) - %28 = getelementptr inbounds i8, ptr %4, i64 4 - %29 = getelementptr inbounds i8, ptr %4, i64 40 - call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_17precision_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %28, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %29, ptr noundef nonnull align 8 dereferenceable(32) %2) + call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %4, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %11, ptr noundef nonnull align 8 dereferenceable(32) %2) + %27 = getelementptr inbounds i8, ptr %4, i64 4 + %28 = getelementptr inbounds i8, ptr %4, i64 40 + call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_17precision_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %27, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %28, ptr noundef nonnull align 8 dereferenceable(32) %2) br label %_ZNK3fmt3v109formatterIN5vcpkg10StringViewEcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEES3_RT_.exit _ZNK3fmt3v109formatterIN5vcpkg10StringViewEcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEES3_RT_.exit: ; preds = %3, %26 %.sink = phi ptr [ %4, %26 ], [ %5, %3 ] %.sroa.0.0.copyload.i.i = load ptr, ptr %2, align 8 - %30 = call ptr @_ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_NS0_17basic_string_viewIT_EERKNS0_12format_specsIS6_EE(ptr %.sroa.0.0.copyload.i.i, ptr %.sroa.0.0.copyload, i64 %.sroa.2.0.copyload, ptr noundef nonnull align 4 dereferenceable(16) %.sink) + %29 = call ptr @_ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_NS0_17basic_string_viewIT_EERKNS0_12format_specsIS6_EE(ptr %.sroa.0.0.copyload.i.i, ptr %.sroa.0.0.copyload, i64 %.sroa.2.0.copyload, ptr noundef nonnull align 4 dereferenceable(16) %.sink) call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %4) - store ptr %30, ptr %2, align 8 + store ptr %29, ptr %2, align 8 ret void } diff --git a/bench/vcpkg/optimized/message_sinks.cpp.ll b/bench/vcpkg/optimized/message_sinks.cpp.ll index 0beb7d48543..efe2018a6d4 100644 --- a/bench/vcpkg/optimized/message_sinks.cpp.ll +++ b/bench/vcpkg/optimized/message_sinks.cpp.ll @@ -375,19 +375,18 @@ define linkonce_odr dso_local void @_ZN3fmt3v106detail5valueINS0_20basic_format_ 26: ; preds = %3 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(64) %4, ptr noundef nonnull align 8 dereferenceable(64) %5, i64 64, i1 false) - %27 = getelementptr inbounds i8, ptr %4, i64 16 - call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %4, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %27, ptr noundef nonnull align 8 dereferenceable(32) %2) - %28 = getelementptr inbounds i8, ptr %4, i64 4 - %29 = getelementptr inbounds i8, ptr %4, i64 40 - call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_17precision_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %28, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %29, ptr noundef nonnull align 8 dereferenceable(32) %2) + call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %4, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %11, ptr noundef nonnull align 8 dereferenceable(32) %2) + %27 = getelementptr inbounds i8, ptr %4, i64 4 + %28 = getelementptr inbounds i8, ptr %4, i64 40 + call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_17precision_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %27, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %28, ptr noundef nonnull align 8 dereferenceable(32) %2) br label %_ZNK3fmt3v109formatterIN5vcpkg10StringViewEcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEES3_RT_.exit _ZNK3fmt3v109formatterIN5vcpkg10StringViewEcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEES3_RT_.exit: ; preds = %3, %26 %.sink = phi ptr [ %4, %26 ], [ %5, %3 ] %.sroa.0.0.copyload.i.i = load ptr, ptr %2, align 8 - %30 = call ptr @_ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_NS0_17basic_string_viewIT_EERKNS0_12format_specsIS6_EE(ptr %.sroa.0.0.copyload.i.i, ptr %.sroa.0.0.copyload, i64 %.sroa.2.0.copyload, ptr noundef nonnull align 4 dereferenceable(16) %.sink) + %29 = call ptr @_ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_NS0_17basic_string_viewIT_EERKNS0_12format_specsIS6_EE(ptr %.sroa.0.0.copyload.i.i, ptr %.sroa.0.0.copyload, i64 %.sroa.2.0.copyload, ptr noundef nonnull align 4 dereferenceable(16) %.sink) call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %4) - store ptr %30, ptr %2, align 8 + store ptr %29, ptr %2, align 8 ret void } diff --git a/bench/vcpkg/optimized/messages.cpp.ll b/bench/vcpkg/optimized/messages.cpp.ll index bc9c68a4f00..29b810512ed 100644 --- a/bench/vcpkg/optimized/messages.cpp.ll +++ b/bench/vcpkg/optimized/messages.cpp.ll @@ -6607,19 +6607,18 @@ define linkonce_odr dso_local void @_ZN3fmt3v106detail5valueINS0_20basic_format_ 26: ; preds = %3 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(64) %4, ptr noundef nonnull align 8 dereferenceable(64) %5, i64 64, i1 false) - %27 = getelementptr inbounds i8, ptr %4, i64 16 - call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %4, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %27, ptr noundef nonnull align 8 dereferenceable(32) %2) - %28 = getelementptr inbounds i8, ptr %4, i64 4 - %29 = getelementptr inbounds i8, ptr %4, i64 40 - call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_17precision_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %28, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %29, ptr noundef nonnull align 8 dereferenceable(32) %2) + call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %4, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %11, ptr noundef nonnull align 8 dereferenceable(32) %2) + %27 = getelementptr inbounds i8, ptr %4, i64 4 + %28 = getelementptr inbounds i8, ptr %4, i64 40 + call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_17precision_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %27, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %28, ptr noundef nonnull align 8 dereferenceable(32) %2) br label %_ZNK3fmt3v109formatterIN5vcpkg10StringViewEcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEES3_RT_.exit _ZNK3fmt3v109formatterIN5vcpkg10StringViewEcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEES3_RT_.exit: ; preds = %3, %26 %.sink = phi ptr [ %4, %26 ], [ %5, %3 ] %.sroa.0.0.copyload.i.i = load ptr, ptr %2, align 8 - %30 = call ptr @_ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_NS0_17basic_string_viewIT_EERKNS0_12format_specsIS6_EE(ptr %.sroa.0.0.copyload.i.i, ptr %.sroa.0.0.copyload, i64 %.sroa.2.0.copyload, ptr noundef nonnull align 4 dereferenceable(16) %.sink) + %29 = call ptr @_ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_NS0_17basic_string_viewIT_EERKNS0_12format_specsIS6_EE(ptr %.sroa.0.0.copyload.i.i, ptr %.sroa.0.0.copyload, i64 %.sroa.2.0.copyload, ptr noundef nonnull align 4 dereferenceable(16) %.sink) call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %4) - store ptr %30, ptr %2, align 8 + store ptr %29, ptr %2, align 8 ret void } @@ -10240,19 +10239,18 @@ define linkonce_odr dso_local void @_ZN3fmt3v106detail5valueINS0_20basic_format_ 26: ; preds = %3 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(64) %4, ptr noundef nonnull align 8 dereferenceable(64) %5, i64 64, i1 false) - %27 = getelementptr inbounds i8, ptr %4, i64 16 - call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %4, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %27, ptr noundef nonnull align 8 dereferenceable(32) %2) - %28 = getelementptr inbounds i8, ptr %4, i64 4 - %29 = getelementptr inbounds i8, ptr %4, i64 40 - call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_17precision_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %28, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %29, ptr noundef nonnull align 8 dereferenceable(32) %2) + call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %4, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %11, ptr noundef nonnull align 8 dereferenceable(32) %2) + %27 = getelementptr inbounds i8, ptr %4, i64 4 + %28 = getelementptr inbounds i8, ptr %4, i64 40 + call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_17precision_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %27, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %28, ptr noundef nonnull align 8 dereferenceable(32) %2) br label %_ZNK3fmt3v109formatterIN5vcpkg13StringLiteralEcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEERKS3_RT_.exit _ZNK3fmt3v109formatterIN5vcpkg13StringLiteralEcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEERKS3_RT_.exit: ; preds = %3, %26 %.sink = phi ptr [ %4, %26 ], [ %5, %3 ] %.sroa.0.0.copyload.i.i.i = load ptr, ptr %2, align 8 - %30 = call ptr @_ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_NS0_17basic_string_viewIT_EERKNS0_12format_specsIS6_EE(ptr %.sroa.0.0.copyload.i.i.i, ptr %.sroa.0.0.copyload.i, i64 %.sroa.2.0.copyload.i, ptr noundef nonnull align 4 dereferenceable(16) %.sink) + %29 = call ptr @_ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_NS0_17basic_string_viewIT_EERKNS0_12format_specsIS6_EE(ptr %.sroa.0.0.copyload.i.i.i, ptr %.sroa.0.0.copyload.i, i64 %.sroa.2.0.copyload.i, ptr noundef nonnull align 4 dereferenceable(16) %.sink) call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %4) - store ptr %30, ptr %2, align 8 + store ptr %29, ptr %2, align 8 ret void } diff --git a/bench/vcpkg/optimized/packagespec.cpp.ll b/bench/vcpkg/optimized/packagespec.cpp.ll index 66a7d5310b0..f7200acfefa 100644 --- a/bench/vcpkg/optimized/packagespec.cpp.ll +++ b/bench/vcpkg/optimized/packagespec.cpp.ll @@ -2737,19 +2737,18 @@ define linkonce_odr dso_local void @_ZN3fmt3v106detail5valueINS0_20basic_format_ 28: ; preds = %3 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(64) %4, ptr noundef nonnull align 8 dereferenceable(64) %6, i64 64, i1 false) - %29 = getelementptr inbounds i8, ptr %4, i64 16 - call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %4, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %29, ptr noundef nonnull align 8 dereferenceable(32) %2) - %30 = getelementptr inbounds i8, ptr %4, i64 4 - %31 = getelementptr inbounds i8, ptr %4, i64 40 - call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_17precision_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %30, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %31, ptr noundef nonnull align 8 dereferenceable(32) %2) + call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %4, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %12, ptr noundef nonnull align 8 dereferenceable(32) %2) + %29 = getelementptr inbounds i8, ptr %4, i64 4 + %30 = getelementptr inbounds i8, ptr %4, i64 40 + call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_17precision_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %29, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %30, ptr noundef nonnull align 8 dereferenceable(32) %2) br label %_ZNK3fmt3v109formatterIN5vcpkg7TripletEcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEERKS3_RT_.exit _ZNK3fmt3v109formatterIN5vcpkg7TripletEcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEERKS3_RT_.exit: ; preds = %3, %28 %.sink.i = phi ptr [ %4, %28 ], [ %6, %3 ] %.sroa.0.0.copyload.i.i.i = load ptr, ptr %2, align 8 - %32 = call ptr @_ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_NS0_17basic_string_viewIT_EERKNS0_12format_specsIS6_EE(ptr %.sroa.0.0.copyload.i.i.i, ptr %.fca.0.load.i.i, i64 %.fca.1.load.i.i, ptr noundef nonnull align 4 dereferenceable(16) %.sink.i) + %31 = call ptr @_ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_NS0_17basic_string_viewIT_EERKNS0_12format_specsIS6_EE(ptr %.sroa.0.0.copyload.i.i.i, ptr %.fca.0.load.i.i, i64 %.fca.1.load.i.i, ptr noundef nonnull align 4 dereferenceable(16) %.sink.i) call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %4) - store ptr %32, ptr %2, align 8 + store ptr %31, ptr %2, align 8 ret void } @@ -5829,19 +5828,18 @@ define linkonce_odr dso_local void @_ZN3fmt3v106detail5valueINS0_20basic_format_ 26: ; preds = %3 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(64) %4, ptr noundef nonnull align 8 dereferenceable(64) %5, i64 64, i1 false) - %27 = getelementptr inbounds i8, ptr %4, i64 16 - call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %4, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %27, ptr noundef nonnull align 8 dereferenceable(32) %2) - %28 = getelementptr inbounds i8, ptr %4, i64 4 - %29 = getelementptr inbounds i8, ptr %4, i64 40 - call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_17precision_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %28, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %29, ptr noundef nonnull align 8 dereferenceable(32) %2) + call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %4, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %11, ptr noundef nonnull align 8 dereferenceable(32) %2) + %27 = getelementptr inbounds i8, ptr %4, i64 4 + %28 = getelementptr inbounds i8, ptr %4, i64 40 + call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_17precision_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %27, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %28, ptr noundef nonnull align 8 dereferenceable(32) %2) br label %_ZNK3fmt3v109formatterIN5vcpkg10StringViewEcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEES3_RT_.exit _ZNK3fmt3v109formatterIN5vcpkg10StringViewEcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEES3_RT_.exit: ; preds = %3, %26 %.sink = phi ptr [ %4, %26 ], [ %5, %3 ] %.sroa.0.0.copyload.i.i = load ptr, ptr %2, align 8 - %30 = call ptr @_ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_NS0_17basic_string_viewIT_EERKNS0_12format_specsIS6_EE(ptr %.sroa.0.0.copyload.i.i, ptr %.sroa.0.0.copyload, i64 %.sroa.2.0.copyload, ptr noundef nonnull align 4 dereferenceable(16) %.sink) + %29 = call ptr @_ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_NS0_17basic_string_viewIT_EERKNS0_12format_specsIS6_EE(ptr %.sroa.0.0.copyload.i.i, ptr %.sroa.0.0.copyload, i64 %.sroa.2.0.copyload, ptr noundef nonnull align 4 dereferenceable(16) %.sink) call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %4) - store ptr %30, ptr %2, align 8 + store ptr %29, ptr %2, align 8 ret void } diff --git a/bench/vcpkg/optimized/paragraphs.cpp.ll b/bench/vcpkg/optimized/paragraphs.cpp.ll index d6e0472dbc2..799833734ef 100644 --- a/bench/vcpkg/optimized/paragraphs.cpp.ll +++ b/bench/vcpkg/optimized/paragraphs.cpp.ll @@ -7190,19 +7190,18 @@ define linkonce_odr dso_local void @_ZN3fmt3v106detail5valueINS0_20basic_format_ 26: ; preds = %3 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(64) %4, ptr noundef nonnull align 8 dereferenceable(64) %5, i64 64, i1 false) - %27 = getelementptr inbounds i8, ptr %4, i64 16 - call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %4, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %27, ptr noundef nonnull align 8 dereferenceable(32) %2) - %28 = getelementptr inbounds i8, ptr %4, i64 4 - %29 = getelementptr inbounds i8, ptr %4, i64 40 - call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_17precision_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %28, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %29, ptr noundef nonnull align 8 dereferenceable(32) %2) + call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %4, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %11, ptr noundef nonnull align 8 dereferenceable(32) %2) + %27 = getelementptr inbounds i8, ptr %4, i64 4 + %28 = getelementptr inbounds i8, ptr %4, i64 40 + call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_17precision_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %27, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %28, ptr noundef nonnull align 8 dereferenceable(32) %2) br label %_ZNK3fmt3v109formatterIN5vcpkg10StringViewEcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEES3_RT_.exit _ZNK3fmt3v109formatterIN5vcpkg10StringViewEcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEES3_RT_.exit: ; preds = %3, %26 %.sink = phi ptr [ %4, %26 ], [ %5, %3 ] %.sroa.0.0.copyload.i.i = load ptr, ptr %2, align 8 - %30 = call ptr @_ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_NS0_17basic_string_viewIT_EERKNS0_12format_specsIS6_EE(ptr %.sroa.0.0.copyload.i.i, ptr %.sroa.0.0.copyload, i64 %.sroa.2.0.copyload, ptr noundef nonnull align 4 dereferenceable(16) %.sink) + %29 = call ptr @_ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_NS0_17basic_string_viewIT_EERKNS0_12format_specsIS6_EE(ptr %.sroa.0.0.copyload.i.i, ptr %.sroa.0.0.copyload, i64 %.sroa.2.0.copyload, ptr noundef nonnull align 4 dereferenceable(16) %.sink) call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %4) - store ptr %30, ptr %2, align 8 + store ptr %29, ptr %2, align 8 ret void } @@ -13382,7 +13381,7 @@ define linkonce_odr dso_local ptr @_ZNK3fmt3v109formatterIN5vcpkg11PackageSpecEc 12: ; preds = %3 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(64) %4, ptr noundef nonnull align 8 dereferenceable(64) %0, i64 64, i1 false) - %13 = getelementptr inbounds i8, ptr %4, i64 16 + %13 = getelementptr inbounds i8, ptr %0, i64 16 invoke void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %4, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %13, ptr noundef nonnull align 8 dereferenceable(32) %2) to label %14 unwind label %19 diff --git a/bench/vcpkg/optimized/parse.cpp.ll b/bench/vcpkg/optimized/parse.cpp.ll index 075dd6f333f..25295ef6f4e 100644 --- a/bench/vcpkg/optimized/parse.cpp.ll +++ b/bench/vcpkg/optimized/parse.cpp.ll @@ -1420,19 +1420,18 @@ define linkonce_odr dso_local void @_ZN3fmt3v106detail5valueINS0_20basic_format_ 26: ; preds = %3 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(64) %4, ptr noundef nonnull align 8 dereferenceable(64) %5, i64 64, i1 false) - %27 = getelementptr inbounds i8, ptr %4, i64 16 - call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %4, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %27, ptr noundef nonnull align 8 dereferenceable(32) %2) - %28 = getelementptr inbounds i8, ptr %4, i64 4 - %29 = getelementptr inbounds i8, ptr %4, i64 40 - call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_17precision_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %28, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %29, ptr noundef nonnull align 8 dereferenceable(32) %2) + call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %4, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %11, ptr noundef nonnull align 8 dereferenceable(32) %2) + %27 = getelementptr inbounds i8, ptr %4, i64 4 + %28 = getelementptr inbounds i8, ptr %4, i64 40 + call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_17precision_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %27, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %28, ptr noundef nonnull align 8 dereferenceable(32) %2) br label %_ZNK3fmt3v109formatterIN5vcpkg10StringViewEcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEES3_RT_.exit _ZNK3fmt3v109formatterIN5vcpkg10StringViewEcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEES3_RT_.exit: ; preds = %3, %26 %.sink = phi ptr [ %4, %26 ], [ %5, %3 ] %.sroa.0.0.copyload.i.i = load ptr, ptr %2, align 8 - %30 = call ptr @_ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_NS0_17basic_string_viewIT_EERKNS0_12format_specsIS6_EE(ptr %.sroa.0.0.copyload.i.i, ptr %.sroa.0.0.copyload, i64 %.sroa.2.0.copyload, ptr noundef nonnull align 4 dereferenceable(16) %.sink) + %29 = call ptr @_ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_NS0_17basic_string_viewIT_EERKNS0_12format_specsIS6_EE(ptr %.sroa.0.0.copyload.i.i, ptr %.sroa.0.0.copyload, i64 %.sroa.2.0.copyload, ptr noundef nonnull align 4 dereferenceable(16) %.sink) call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %4) - store ptr %30, ptr %2, align 8 + store ptr %29, ptr %2, align 8 ret void } diff --git a/bench/vcpkg/optimized/platform-expression.cpp.ll b/bench/vcpkg/optimized/platform-expression.cpp.ll index 29c22cd9337..de8f04aa531 100644 --- a/bench/vcpkg/optimized/platform-expression.cpp.ll +++ b/bench/vcpkg/optimized/platform-expression.cpp.ll @@ -4868,19 +4868,18 @@ define linkonce_odr dso_local void @_ZN3fmt3v106detail5valueINS0_20basic_format_ 26: ; preds = %3 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(64) %4, ptr noundef nonnull align 8 dereferenceable(64) %5, i64 64, i1 false) - %27 = getelementptr inbounds i8, ptr %4, i64 16 - call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %4, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %27, ptr noundef nonnull align 8 dereferenceable(32) %2) - %28 = getelementptr inbounds i8, ptr %4, i64 4 - %29 = getelementptr inbounds i8, ptr %4, i64 40 - call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_17precision_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %28, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %29, ptr noundef nonnull align 8 dereferenceable(32) %2) + call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %4, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %11, ptr noundef nonnull align 8 dereferenceable(32) %2) + %27 = getelementptr inbounds i8, ptr %4, i64 4 + %28 = getelementptr inbounds i8, ptr %4, i64 40 + call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_17precision_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %27, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %28, ptr noundef nonnull align 8 dereferenceable(32) %2) br label %_ZNK3fmt3v109formatterIN5vcpkg10StringViewEcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEES3_RT_.exit _ZNK3fmt3v109formatterIN5vcpkg10StringViewEcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEES3_RT_.exit: ; preds = %3, %26 %.sink = phi ptr [ %4, %26 ], [ %5, %3 ] %.sroa.0.0.copyload.i.i = load ptr, ptr %2, align 8 - %30 = call ptr @_ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_NS0_17basic_string_viewIT_EERKNS0_12format_specsIS6_EE(ptr %.sroa.0.0.copyload.i.i, ptr %.sroa.0.0.copyload, i64 %.sroa.2.0.copyload, ptr noundef nonnull align 4 dereferenceable(16) %.sink) + %29 = call ptr @_ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_NS0_17basic_string_viewIT_EERKNS0_12format_specsIS6_EE(ptr %.sroa.0.0.copyload.i.i, ptr %.sroa.0.0.copyload, i64 %.sroa.2.0.copyload, ptr noundef nonnull align 4 dereferenceable(16) %.sink) call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %4) - store ptr %30, ptr %2, align 8 + store ptr %29, ptr %2, align 8 ret void } diff --git a/bench/vcpkg/optimized/portfileprovider.cpp.ll b/bench/vcpkg/optimized/portfileprovider.cpp.ll index ae2f1800899..90bec214dd5 100644 --- a/bench/vcpkg/optimized/portfileprovider.cpp.ll +++ b/bench/vcpkg/optimized/portfileprovider.cpp.ll @@ -1467,19 +1467,18 @@ define linkonce_odr dso_local void @_ZN3fmt3v106detail5valueINS0_20basic_format_ 26: ; preds = %3 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(64) %4, ptr noundef nonnull align 8 dereferenceable(64) %5, i64 64, i1 false) - %27 = getelementptr inbounds i8, ptr %4, i64 16 - call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %4, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %27, ptr noundef nonnull align 8 dereferenceable(32) %2) - %28 = getelementptr inbounds i8, ptr %4, i64 4 - %29 = getelementptr inbounds i8, ptr %4, i64 40 - call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_17precision_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %28, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %29, ptr noundef nonnull align 8 dereferenceable(32) %2) + call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %4, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %11, ptr noundef nonnull align 8 dereferenceable(32) %2) + %27 = getelementptr inbounds i8, ptr %4, i64 4 + %28 = getelementptr inbounds i8, ptr %4, i64 40 + call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_17precision_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %27, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %28, ptr noundef nonnull align 8 dereferenceable(32) %2) br label %_ZNK3fmt3v109formatterIN5vcpkg10StringViewEcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEES3_RT_.exit _ZNK3fmt3v109formatterIN5vcpkg10StringViewEcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEES3_RT_.exit: ; preds = %3, %26 %.sink = phi ptr [ %4, %26 ], [ %5, %3 ] %.sroa.0.0.copyload.i.i = load ptr, ptr %2, align 8 - %30 = call ptr @_ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_NS0_17basic_string_viewIT_EERKNS0_12format_specsIS6_EE(ptr %.sroa.0.0.copyload.i.i, ptr %.sroa.0.0.copyload, i64 %.sroa.2.0.copyload, ptr noundef nonnull align 4 dereferenceable(16) %.sink) + %29 = call ptr @_ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_NS0_17basic_string_viewIT_EERKNS0_12format_specsIS6_EE(ptr %.sroa.0.0.copyload.i.i, ptr %.sroa.0.0.copyload, i64 %.sroa.2.0.copyload, ptr noundef nonnull align 4 dereferenceable(16) %.sink) call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %4) - store ptr %30, ptr %2, align 8 + store ptr %29, ptr %2, align 8 ret void } @@ -8548,7 +8547,7 @@ define linkonce_odr dso_local ptr @_ZNK3fmt3v109formatterIN5vcpkg11VersionSpecEc 12: ; preds = %3 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(64) %4, ptr noundef nonnull align 8 dereferenceable(64) %0, i64 64, i1 false) - %13 = getelementptr inbounds i8, ptr %4, i64 16 + %13 = getelementptr inbounds i8, ptr %0, i64 16 invoke void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %4, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %13, ptr noundef nonnull align 8 dereferenceable(32) %2) to label %14 unwind label %19 diff --git a/bench/vcpkg/optimized/postbuildlint.cpp.ll b/bench/vcpkg/optimized/postbuildlint.cpp.ll index 2a19bde99d7..8de95b12b81 100644 --- a/bench/vcpkg/optimized/postbuildlint.cpp.ll +++ b/bench/vcpkg/optimized/postbuildlint.cpp.ll @@ -13798,19 +13798,18 @@ define linkonce_odr dso_local void @_ZN3fmt3v106detail5valueINS0_20basic_format_ 26: ; preds = %3 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(64) %4, ptr noundef nonnull align 8 dereferenceable(64) %5, i64 64, i1 false) - %27 = getelementptr inbounds i8, ptr %4, i64 16 - call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %4, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %27, ptr noundef nonnull align 8 dereferenceable(32) %2) - %28 = getelementptr inbounds i8, ptr %4, i64 4 - %29 = getelementptr inbounds i8, ptr %4, i64 40 - call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_17precision_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %28, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %29, ptr noundef nonnull align 8 dereferenceable(32) %2) + call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %4, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %11, ptr noundef nonnull align 8 dereferenceable(32) %2) + %27 = getelementptr inbounds i8, ptr %4, i64 4 + %28 = getelementptr inbounds i8, ptr %4, i64 40 + call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_17precision_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %27, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %28, ptr noundef nonnull align 8 dereferenceable(32) %2) br label %_ZNK3fmt3v109formatterIN5vcpkg10StringViewEcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEES3_RT_.exit _ZNK3fmt3v109formatterIN5vcpkg10StringViewEcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEES3_RT_.exit: ; preds = %3, %26 %.sink = phi ptr [ %4, %26 ], [ %5, %3 ] %.sroa.0.0.copyload.i.i = load ptr, ptr %2, align 8 - %30 = call ptr @_ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_NS0_17basic_string_viewIT_EERKNS0_12format_specsIS6_EE(ptr %.sroa.0.0.copyload.i.i, ptr %.sroa.0.0.copyload, i64 %.sroa.2.0.copyload, ptr noundef nonnull align 4 dereferenceable(16) %.sink) + %29 = call ptr @_ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_NS0_17basic_string_viewIT_EERKNS0_12format_specsIS6_EE(ptr %.sroa.0.0.copyload.i.i, ptr %.sroa.0.0.copyload, i64 %.sroa.2.0.copyload, ptr noundef nonnull align 4 dereferenceable(16) %.sink) call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %4) - store ptr %30, ptr %2, align 8 + store ptr %29, ptr %2, align 8 ret void } @@ -20235,21 +20234,20 @@ define linkonce_odr dso_local void @_ZN3fmt3v106detail5valueINS0_20basic_format_ 27: ; preds = %3 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(64) %4, ptr noundef nonnull align 8 dereferenceable(64) %5, i64 64, i1 false) - %28 = getelementptr inbounds i8, ptr %4, i64 16 - call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %4, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %28, ptr noundef nonnull align 8 dereferenceable(32) %2) - %29 = getelementptr inbounds i8, ptr %4, i64 4 - %30 = getelementptr inbounds i8, ptr %4, i64 40 - call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_17precision_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %29, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %30, ptr noundef nonnull align 8 dereferenceable(32) %2) + call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %4, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %11, ptr noundef nonnull align 8 dereferenceable(32) %2) + %28 = getelementptr inbounds i8, ptr %4, i64 4 + %29 = getelementptr inbounds i8, ptr %4, i64 40 + call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_17precision_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %28, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %29, ptr noundef nonnull align 8 dereferenceable(32) %2) br label %_ZNK3fmt3v109formatterIN5vcpkg4PathEcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEERKS3_RT_.exit _ZNK3fmt3v109formatterIN5vcpkg4PathEcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEERKS3_RT_.exit: ; preds = %3, %27 %.sink = phi ptr [ %4, %27 ], [ %5, %3 ] - %31 = extractvalue { ptr, i64 } %24, 1 - %32 = extractvalue { ptr, i64 } %24, 0 + %30 = extractvalue { ptr, i64 } %24, 1 + %31 = extractvalue { ptr, i64 } %24, 0 %.sroa.0.0.copyload.i.i.i = load ptr, ptr %2, align 8 - %33 = call ptr @_ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_NS0_17basic_string_viewIT_EERKNS0_12format_specsIS6_EE(ptr %.sroa.0.0.copyload.i.i.i, ptr %32, i64 %31, ptr noundef nonnull align 4 dereferenceable(16) %.sink) + %32 = call ptr @_ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_NS0_17basic_string_viewIT_EERKNS0_12format_specsIS6_EE(ptr %.sroa.0.0.copyload.i.i.i, ptr %31, i64 %30, ptr noundef nonnull align 4 dereferenceable(16) %.sink) call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %4) - store ptr %33, ptr %2, align 8 + store ptr %32, ptr %2, align 8 ret void } @@ -20298,19 +20296,18 @@ define linkonce_odr dso_local void @_ZN3fmt3v106detail5valueINS0_20basic_format_ 26: ; preds = %3 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(64) %4, ptr noundef nonnull align 8 dereferenceable(64) %5, i64 64, i1 false) - %27 = getelementptr inbounds i8, ptr %4, i64 16 - call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %4, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %27, ptr noundef nonnull align 8 dereferenceable(32) %2) - %28 = getelementptr inbounds i8, ptr %4, i64 4 - %29 = getelementptr inbounds i8, ptr %4, i64 40 - call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_17precision_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %28, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %29, ptr noundef nonnull align 8 dereferenceable(32) %2) + call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %4, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %11, ptr noundef nonnull align 8 dereferenceable(32) %2) + %27 = getelementptr inbounds i8, ptr %4, i64 4 + %28 = getelementptr inbounds i8, ptr %4, i64 40 + call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_17precision_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %27, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %28, ptr noundef nonnull align 8 dereferenceable(32) %2) br label %_ZNK3fmt3v109formatterIN5vcpkg13StringLiteralEcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEERKS3_RT_.exit _ZNK3fmt3v109formatterIN5vcpkg13StringLiteralEcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEERKS3_RT_.exit: ; preds = %3, %26 %.sink = phi ptr [ %4, %26 ], [ %5, %3 ] %.sroa.0.0.copyload.i.i.i = load ptr, ptr %2, align 8 - %30 = call ptr @_ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_NS0_17basic_string_viewIT_EERKNS0_12format_specsIS6_EE(ptr %.sroa.0.0.copyload.i.i.i, ptr %.sroa.0.0.copyload.i, i64 %.sroa.2.0.copyload.i, ptr noundef nonnull align 4 dereferenceable(16) %.sink) + %29 = call ptr @_ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_NS0_17basic_string_viewIT_EERKNS0_12format_specsIS6_EE(ptr %.sroa.0.0.copyload.i.i.i, ptr %.sroa.0.0.copyload.i, i64 %.sroa.2.0.copyload.i, ptr noundef nonnull align 4 dereferenceable(16) %.sink) call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %4) - store ptr %30, ptr %2, align 8 + store ptr %29, ptr %2, align 8 ret void } diff --git a/bench/vcpkg/optimized/registries.cpp.ll b/bench/vcpkg/optimized/registries.cpp.ll index 3935b1c8c1c..76c3a10cfcb 100644 --- a/bench/vcpkg/optimized/registries.cpp.ll +++ b/bench/vcpkg/optimized/registries.cpp.ll @@ -4773,19 +4773,18 @@ define linkonce_odr dso_local void @_ZN3fmt3v106detail5valueINS0_20basic_format_ 26: ; preds = %3 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(64) %4, ptr noundef nonnull align 8 dereferenceable(64) %5, i64 64, i1 false) - %27 = getelementptr inbounds i8, ptr %4, i64 16 - call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %4, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %27, ptr noundef nonnull align 8 dereferenceable(32) %2) - %28 = getelementptr inbounds i8, ptr %4, i64 4 - %29 = getelementptr inbounds i8, ptr %4, i64 40 - call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_17precision_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %28, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %29, ptr noundef nonnull align 8 dereferenceable(32) %2) + call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %4, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %11, ptr noundef nonnull align 8 dereferenceable(32) %2) + %27 = getelementptr inbounds i8, ptr %4, i64 4 + %28 = getelementptr inbounds i8, ptr %4, i64 40 + call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_17precision_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %27, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %28, ptr noundef nonnull align 8 dereferenceable(32) %2) br label %_ZNK3fmt3v109formatterIN5vcpkg10StringViewEcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEES3_RT_.exit _ZNK3fmt3v109formatterIN5vcpkg10StringViewEcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEES3_RT_.exit: ; preds = %3, %26 %.sink = phi ptr [ %4, %26 ], [ %5, %3 ] %.sroa.0.0.copyload.i.i = load ptr, ptr %2, align 8 - %30 = call ptr @_ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_NS0_17basic_string_viewIT_EERKNS0_12format_specsIS6_EE(ptr %.sroa.0.0.copyload.i.i, ptr %.sroa.0.0.copyload, i64 %.sroa.2.0.copyload, ptr noundef nonnull align 4 dereferenceable(16) %.sink) + %29 = call ptr @_ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_NS0_17basic_string_viewIT_EERKNS0_12format_specsIS6_EE(ptr %.sroa.0.0.copyload.i.i, ptr %.sroa.0.0.copyload, i64 %.sroa.2.0.copyload, ptr noundef nonnull align 4 dereferenceable(16) %.sink) call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %4) - store ptr %30, ptr %2, align 8 + store ptr %29, ptr %2, align 8 ret void } @@ -17676,7 +17675,7 @@ define linkonce_odr dso_local ptr @_ZNK3fmt3v109formatterIN5vcpkg7VersionEcvE6fo 12: ; preds = %3 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(64) %4, ptr noundef nonnull align 8 dereferenceable(64) %0, i64 64, i1 false) - %13 = getelementptr inbounds i8, ptr %4, i64 16 + %13 = getelementptr inbounds i8, ptr %0, i64 16 invoke void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %4, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %13, ptr noundef nonnull align 8 dereferenceable(32) %2) to label %14 unwind label %19 diff --git a/bench/vcpkg/optimized/sourceparagraph.cpp.ll b/bench/vcpkg/optimized/sourceparagraph.cpp.ll index 1d28fb02435..a29ef9ac2ed 100644 --- a/bench/vcpkg/optimized/sourceparagraph.cpp.ll +++ b/bench/vcpkg/optimized/sourceparagraph.cpp.ll @@ -15497,19 +15497,18 @@ define linkonce_odr dso_local void @_ZN3fmt3v106detail5valueINS0_20basic_format_ 26: ; preds = %3 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(64) %4, ptr noundef nonnull align 8 dereferenceable(64) %5, i64 64, i1 false) - %27 = getelementptr inbounds i8, ptr %4, i64 16 - call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %4, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %27, ptr noundef nonnull align 8 dereferenceable(32) %2) - %28 = getelementptr inbounds i8, ptr %4, i64 4 - %29 = getelementptr inbounds i8, ptr %4, i64 40 - call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_17precision_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %28, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %29, ptr noundef nonnull align 8 dereferenceable(32) %2) + call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %4, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %11, ptr noundef nonnull align 8 dereferenceable(32) %2) + %27 = getelementptr inbounds i8, ptr %4, i64 4 + %28 = getelementptr inbounds i8, ptr %4, i64 40 + call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_17precision_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %27, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %28, ptr noundef nonnull align 8 dereferenceable(32) %2) br label %_ZNK3fmt3v109formatterIN5vcpkg10StringViewEcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEES3_RT_.exit _ZNK3fmt3v109formatterIN5vcpkg10StringViewEcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEES3_RT_.exit: ; preds = %3, %26 %.sink = phi ptr [ %4, %26 ], [ %5, %3 ] %.sroa.0.0.copyload.i.i = load ptr, ptr %2, align 8 - %30 = call ptr @_ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_NS0_17basic_string_viewIT_EERKNS0_12format_specsIS6_EE(ptr %.sroa.0.0.copyload.i.i, ptr %.sroa.0.0.copyload, i64 %.sroa.2.0.copyload, ptr noundef nonnull align 4 dereferenceable(16) %.sink) + %29 = call ptr @_ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_NS0_17basic_string_viewIT_EERKNS0_12format_specsIS6_EE(ptr %.sroa.0.0.copyload.i.i, ptr %.sroa.0.0.copyload, i64 %.sroa.2.0.copyload, ptr noundef nonnull align 4 dereferenceable(16) %.sink) call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %4) - store ptr %30, ptr %2, align 8 + store ptr %29, ptr %2, align 8 ret void } diff --git a/bench/vcpkg/optimized/spdx.cpp.ll b/bench/vcpkg/optimized/spdx.cpp.ll index 86be018c119..9a72350d61c 100644 --- a/bench/vcpkg/optimized/spdx.cpp.ll +++ b/bench/vcpkg/optimized/spdx.cpp.ll @@ -4582,19 +4582,18 @@ define linkonce_odr dso_local void @_ZN3fmt3v106detail5valueINS0_20basic_format_ 26: ; preds = %3 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(64) %4, ptr noundef nonnull align 8 dereferenceable(64) %5, i64 64, i1 false) - %27 = getelementptr inbounds i8, ptr %4, i64 16 - call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %4, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %27, ptr noundef nonnull align 8 dereferenceable(32) %2) - %28 = getelementptr inbounds i8, ptr %4, i64 4 - %29 = getelementptr inbounds i8, ptr %4, i64 40 - call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_17precision_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %28, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %29, ptr noundef nonnull align 8 dereferenceable(32) %2) + call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %4, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %11, ptr noundef nonnull align 8 dereferenceable(32) %2) + %27 = getelementptr inbounds i8, ptr %4, i64 4 + %28 = getelementptr inbounds i8, ptr %4, i64 40 + call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_17precision_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %27, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %28, ptr noundef nonnull align 8 dereferenceable(32) %2) br label %_ZNK3fmt3v109formatterIN5vcpkg10StringViewEcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEES3_RT_.exit _ZNK3fmt3v109formatterIN5vcpkg10StringViewEcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEES3_RT_.exit: ; preds = %3, %26 %.sink = phi ptr [ %4, %26 ], [ %5, %3 ] %.sroa.0.0.copyload.i.i = load ptr, ptr %2, align 8 - %30 = call ptr @_ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_NS0_17basic_string_viewIT_EERKNS0_12format_specsIS6_EE(ptr %.sroa.0.0.copyload.i.i, ptr %.sroa.0.0.copyload, i64 %.sroa.2.0.copyload, ptr noundef nonnull align 4 dereferenceable(16) %.sink) + %29 = call ptr @_ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_NS0_17basic_string_viewIT_EERKNS0_12format_specsIS6_EE(ptr %.sroa.0.0.copyload.i.i, ptr %.sroa.0.0.copyload, i64 %.sroa.2.0.copyload, ptr noundef nonnull align 4 dereferenceable(16) %.sink) call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %4) - store ptr %30, ptr %2, align 8 + store ptr %29, ptr %2, align 8 ret void } diff --git a/bench/vcpkg/optimized/strings.cpp.ll b/bench/vcpkg/optimized/strings.cpp.ll index 43bac482c60..c8a4823b656 100644 --- a/bench/vcpkg/optimized/strings.cpp.ll +++ b/bench/vcpkg/optimized/strings.cpp.ll @@ -4517,7 +4517,7 @@ define linkonce_odr dso_local ptr @_ZNK3fmt3v106detail6concatINS1_9code_unitIcEE 26: ; preds = %3 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(64) %14, ptr noundef nonnull align 8 dereferenceable(64) %18, i64 64, i1 false) - %27 = getelementptr inbounds i8, ptr %14, i64 16 + %27 = getelementptr inbounds i8, ptr %0, i64 24 call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextISt20back_insert_iteratorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERSG_(ptr noundef nonnull align 4 dereferenceable(4) %14, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %27, ptr noundef nonnull align 8 dereferenceable(32) %16) %28 = getelementptr inbounds i8, ptr %14, i64 4 %29 = getelementptr inbounds i8, ptr %14, i64 40 @@ -7017,19 +7017,18 @@ define linkonce_odr dso_local void @_ZN3fmt3v106detail5valueINS0_20basic_format_ 26: ; preds = %3 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(64) %4, ptr noundef nonnull align 8 dereferenceable(64) %5, i64 64, i1 false) - %27 = getelementptr inbounds i8, ptr %4, i64 16 - call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %4, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %27, ptr noundef nonnull align 8 dereferenceable(32) %2) - %28 = getelementptr inbounds i8, ptr %4, i64 4 - %29 = getelementptr inbounds i8, ptr %4, i64 40 - call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_17precision_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %28, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %29, ptr noundef nonnull align 8 dereferenceable(32) %2) + call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %4, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %11, ptr noundef nonnull align 8 dereferenceable(32) %2) + %27 = getelementptr inbounds i8, ptr %4, i64 4 + %28 = getelementptr inbounds i8, ptr %4, i64 40 + call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_17precision_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %27, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %28, ptr noundef nonnull align 8 dereferenceable(32) %2) br label %_ZNK3fmt3v109formatterIN5vcpkg10StringViewEcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEES3_RT_.exit _ZNK3fmt3v109formatterIN5vcpkg10StringViewEcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEES3_RT_.exit: ; preds = %3, %26 %.sink = phi ptr [ %4, %26 ], [ %5, %3 ] %.sroa.0.0.copyload.i.i = load ptr, ptr %2, align 8 - %30 = call ptr @_ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_NS0_17basic_string_viewIT_EERKNS0_12format_specsIS6_EE(ptr %.sroa.0.0.copyload.i.i, ptr %.sroa.0.0.copyload, i64 %.sroa.2.0.copyload, ptr noundef nonnull align 4 dereferenceable(16) %.sink) + %29 = call ptr @_ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_NS0_17basic_string_viewIT_EERKNS0_12format_specsIS6_EE(ptr %.sroa.0.0.copyload.i.i, ptr %.sroa.0.0.copyload, i64 %.sroa.2.0.copyload, ptr noundef nonnull align 4 dereferenceable(16) %.sink) call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %4) - store ptr %30, ptr %2, align 8 + store ptr %29, ptr %2, align 8 ret void } diff --git a/bench/vcpkg/optimized/system.cpp.ll b/bench/vcpkg/optimized/system.cpp.ll index 74544a7d50a..8100c71651f 100644 --- a/bench/vcpkg/optimized/system.cpp.ll +++ b/bench/vcpkg/optimized/system.cpp.ll @@ -1841,19 +1841,18 @@ define linkonce_odr dso_local void @_ZN3fmt3v106detail5valueINS0_20basic_format_ 26: ; preds = %3 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(64) %4, ptr noundef nonnull align 8 dereferenceable(64) %5, i64 64, i1 false) - %27 = getelementptr inbounds i8, ptr %4, i64 16 - call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %4, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %27, ptr noundef nonnull align 8 dereferenceable(32) %2) - %28 = getelementptr inbounds i8, ptr %4, i64 4 - %29 = getelementptr inbounds i8, ptr %4, i64 40 - call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_17precision_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %28, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %29, ptr noundef nonnull align 8 dereferenceable(32) %2) + call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %4, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %11, ptr noundef nonnull align 8 dereferenceable(32) %2) + %27 = getelementptr inbounds i8, ptr %4, i64 4 + %28 = getelementptr inbounds i8, ptr %4, i64 40 + call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_17precision_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %27, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %28, ptr noundef nonnull align 8 dereferenceable(32) %2) br label %_ZNK3fmt3v109formatterIN5vcpkg10StringViewEcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEES3_RT_.exit _ZNK3fmt3v109formatterIN5vcpkg10StringViewEcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEES3_RT_.exit: ; preds = %3, %26 %.sink = phi ptr [ %4, %26 ], [ %5, %3 ] %.sroa.0.0.copyload.i.i = load ptr, ptr %2, align 8 - %30 = call ptr @_ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_NS0_17basic_string_viewIT_EERKNS0_12format_specsIS6_EE(ptr %.sroa.0.0.copyload.i.i, ptr %.sroa.0.0.copyload, i64 %.sroa.2.0.copyload, ptr noundef nonnull align 4 dereferenceable(16) %.sink) + %29 = call ptr @_ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_NS0_17basic_string_viewIT_EERKNS0_12format_specsIS6_EE(ptr %.sroa.0.0.copyload.i.i, ptr %.sroa.0.0.copyload, i64 %.sroa.2.0.copyload, ptr noundef nonnull align 4 dereferenceable(16) %.sink) call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %4) - store ptr %30, ptr %2, align 8 + store ptr %29, ptr %2, align 8 ret void } diff --git a/bench/vcpkg/optimized/system.process.cpp.ll b/bench/vcpkg/optimized/system.process.cpp.ll index 5aa083a40f9..7820be680f8 100644 --- a/bench/vcpkg/optimized/system.process.cpp.ll +++ b/bench/vcpkg/optimized/system.process.cpp.ll @@ -5345,21 +5345,20 @@ define linkonce_odr dso_local void @_ZN3fmt3v106detail5valueINS0_20basic_format_ 27: ; preds = %3 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(64) %4, ptr noundef nonnull align 8 dereferenceable(64) %5, i64 64, i1 false) - %28 = getelementptr inbounds i8, ptr %4, i64 16 - call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %4, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %28, ptr noundef nonnull align 8 dereferenceable(32) %2) - %29 = getelementptr inbounds i8, ptr %4, i64 4 - %30 = getelementptr inbounds i8, ptr %4, i64 40 - call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_17precision_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %29, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %30, ptr noundef nonnull align 8 dereferenceable(32) %2) + call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %4, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %11, ptr noundef nonnull align 8 dereferenceable(32) %2) + %28 = getelementptr inbounds i8, ptr %4, i64 4 + %29 = getelementptr inbounds i8, ptr %4, i64 40 + call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_17precision_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %28, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %29, ptr noundef nonnull align 8 dereferenceable(32) %2) br label %_ZNK3fmt3v109formatterIN5vcpkg15LocalizedStringEcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEERKS3_RT_.exit _ZNK3fmt3v109formatterIN5vcpkg15LocalizedStringEcvE6formatINS0_20basic_format_contextINS0_8appenderEcEEEEDTcldtfp0_3outEERKS3_RT_.exit: ; preds = %3, %27 %.sink = phi ptr [ %4, %27 ], [ %5, %3 ] - %31 = extractvalue { ptr, i64 } %24, 1 - %32 = extractvalue { ptr, i64 } %24, 0 + %30 = extractvalue { ptr, i64 } %24, 1 + %31 = extractvalue { ptr, i64 } %24, 0 %.sroa.0.0.copyload.i.i.i = load ptr, ptr %2, align 8 - %33 = call ptr @_ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_NS0_17basic_string_viewIT_EERKNS0_12format_specsIS6_EE(ptr %.sroa.0.0.copyload.i.i.i, ptr %32, i64 %31, ptr noundef nonnull align 4 dereferenceable(16) %.sink) + %32 = call ptr @_ZN3fmt3v106detail5writeIcNS0_8appenderEEET0_S4_NS0_17basic_string_viewIT_EERKNS0_12format_specsIS6_EE(ptr %.sroa.0.0.copyload.i.i.i, ptr %31, i64 %30, ptr noundef nonnull align 4 dereferenceable(16) %.sink) call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %4) - store ptr %33, ptr %2, align 8 + store ptr %32, ptr %2, align 8 ret void } @@ -8445,19 +8444,18 @@ define linkonce_odr dso_local void @_ZN3fmt3v106detail5valueINS0_20basic_format_ 26: ; preds = %3 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(64) %4, ptr noundef nonnull align 8 dereferenceable(64) %5, i64 64, i1 false) - %27 = getelementptr inbounds i8, ptr %4, i64 16 - call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %4, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %27, ptr noundef nonnull align 8 dereferenceable(32) %2) - %28 = getelementptr inbounds i8, ptr %4, i64 4 - %29 = getelementptr inbounds i8, ptr %4, i64 40 - call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_17precision_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %28, ptr noundef nonnull byval(%"struct.fmt::v10::detail::arg_ref") align 8 %29, ptr noundef nonnull align 8 dereferenceable(32) %2) + call void @_ZN3fmt3v106detail19handle_dynamic_specINS1_13width_checkerENS0_20basic_format_contextINS0_8appenderEcEEEEvRiNS1_7arg_refINT0_9char_typeEEERS9_(ptr noundef nonnull align 4 dereferenceable(4) %4, ptr noundef nonnull byval(%"struct.fmt::v10::detai{"code":"internal","msg":"git-diff-tree: context deadline exceeded","meta":{"cause":"*fmt.wrapError"}}