diff --git a/bench/abc/optimized/abcBm.ll b/bench/abc/optimized/abcBm.ll index b6d432a334e..239dfb06eff 100644 --- a/bench/abc/optimized/abcBm.ll +++ b/bench/abc/optimized/abcBm.ll @@ -11930,7 +11930,7 @@ Abc_Clock.exit367: ; preds = %Abc_Clock.exit365, %215 = add nsw i32 %.0, 1 %.1 = select i1 %or.cond, i32 0, i32 %215 %.not303 = icmp eq i32 %211, %212 - %.pre464.pre = load i32, ptr %8, align 4, !tbaa !34 + %.pre464.pre = load i32, ptr %8, align 4 br i1 %.not303, label %216, label %220 216: ; preds = %._crit_edge417 diff --git a/bench/actix-rs/optimized/47vbyna8d7p4fmvu.ll b/bench/actix-rs/optimized/47vbyna8d7p4fmvu.ll index 8bc485e1406..978acdb0fb7 100644 --- a/bench/actix-rs/optimized/47vbyna8d7p4fmvu.ll +++ b/bench/actix-rs/optimized/47vbyna8d7p4fmvu.ll @@ -100,7 +100,7 @@ define void @"_ZN52_$LT$T$u20$as$u20$alloc..slice..hack..ConvertVec$GT$6to_vec17 34: ; preds = %31 %35 = getelementptr inbounds [0 x { [3 x i64] }], ptr %17, i64 0, i64 %26 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %35, ptr noundef nonnull align 8 dereferenceable(24) %4, i64 24, i1 false) - %.pr = load i64, ptr %.sroa.2.0..sroa_idx, align 8 + %.pr = load i64, ptr %.sroa.2.0..sroa_idx, align 8, !noundef !4 %36 = icmp eq i64 %.pr, 0 br i1 %36, label %.thread, label %.lr.ph @@ -196,3 +196,4 @@ attributes #8 = { cold noreturn nounwind } !1 = !{i32 2, !"RtLibUseGOT", i32 1} !2 = !{!"rustc version 1.77.2 (25ef9e3d8 2024-04-09)"} !3 = !{!"branch_weights", !"expected", i32 2000, i32 1} +!4 = !{} diff --git a/bench/actix-rs/optimized/xcr5yeosl21p44j.ll b/bench/actix-rs/optimized/xcr5yeosl21p44j.ll index 478f8ea01e1..c0498f227d3 100644 --- a/bench/actix-rs/optimized/xcr5yeosl21p44j.ll +++ b/bench/actix-rs/optimized/xcr5yeosl21p44j.ll @@ -1301,7 +1301,7 @@ define hidden noundef ptr @_ZN3std2io5Write9write_all17h1df388d751b6a139E(ptr no .lr.ph: ; preds = %3 %5 = getelementptr inbounds nuw i8, ptr %0, i64 8 %6 = getelementptr inbounds nuw i8, ptr %0, i64 16 - %.val.i.pre = load i64, ptr %5, align 8, !alias.scope !133, !noalias !136 + %.val.i.pre = load i64, ptr %5, align 8, !alias.scope !133, !noalias !136, !noundef !7 br label %7 7: ; preds = %.lr.ph, %20 @@ -1321,7 +1321,7 @@ define hidden noundef ptr @_ZN3std2io5Write9write_all17h1df388d751b6a139E(ptr no 11: ; preds = %.lr.ph.split.us.i.i tail call void @_ZN5bytes9bytes_mut8BytesMut13reserve_inner17h32ec46cc31f523baE(ptr noalias noundef nonnull align 8 dereferenceable(32) %0, i64 noundef %.0.sroa.speculated.i.i), !noalias !144 - %.pre.i.us.i.i = load i64, ptr %5, align 8, !alias.scope !139, !noalias !144 + %.pre.i.us.i.i = load i64, ptr %5, align 8, !alias.scope !139, !noalias !144, !noundef !7 br label %12 12: ; preds = %11, %.lr.ph.split.us.i.i @@ -1370,7 +1370,7 @@ define hidden noundef ptr @_ZN3std2io5Write9write_fmt17h10b1225c49bd4acbE(ptr no to label %19 unwind label %17 9: ; preds = %2 - %10 = load ptr, ptr %5, align 8 + %10 = load ptr, ptr %5, align 8, !noundef !7 %.not = icmp eq ptr %10, null br i1 %6, label %11, label %12 @@ -1430,7 +1430,7 @@ define hidden noundef ptr @_ZN3std2io5Write9write_fmt17hb8c286a7d630952bE(ptr no to label %19 unwind label %17 9: ; preds = %2 - %10 = load ptr, ptr %5, align 8 + %10 = load ptr, ptr %5, align 8, !noundef !7 %.not = icmp eq ptr %10, null br i1 %6, label %11, label %12 @@ -5159,7 +5159,7 @@ define internal fastcc void @"_ZN5tokio3net3tcp6stream9TcpStream11connect_mio28_ ._crit_edge: ; preds = %3 %.phi.trans.insert = getelementptr inbounds nuw i8, ptr %1, i64 24 - %.pre = load ptr, ptr %.phi.trans.insert, align 8, !alias.scope !985, !noalias !990 + %.pre = load ptr, ptr %.phi.trans.insert, align 8, !alias.scope !985, !noalias !990, !nonnull !7, !align !25, !noundef !7 br label %24 default.unreachable37: ; preds = %3 @@ -14531,7 +14531,7 @@ common.ret: ; preds = %297, %159, %85 89: ; preds = %3 call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %.sroa.077) %.phi.trans.insert = getelementptr inbounds nuw i8, ptr %1, i64 136 - %.pre = load i8, ptr %.phi.trans.insert, align 8, !range !20, !noalias !2778 + %.pre = load i8, ptr %.phi.trans.insert, align 8, !range !20, !noalias !2778, !noundef !7 %90 = getelementptr inbounds nuw i8, ptr %1, i64 56 call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %12) %91 = getelementptr inbounds nuw i8, ptr %1, i64 136 @@ -14757,7 +14757,7 @@ common.ret: ; preds = %297, %159, %85 164: ; preds = %3 %.phi.trans.insert131 = getelementptr inbounds nuw i8, ptr %1, i64 88 - %.pre132 = load i8, ptr %.phi.trans.insert131, align 8, !range !236, !noalias !2825 + %.pre132 = load i8, ptr %.phi.trans.insert131, align 8, !range !236, !noalias !2825, !noundef !7 %165 = getelementptr inbounds nuw i8, ptr %1, i64 56 %166 = getelementptr inbounds nuw i8, ptr %1, i64 88 switch i8 %.pre132, label %default.unreachable133 [ @@ -14863,7 +14863,7 @@ common.ret: ; preds = %297, %159, %85 198: ; preds = %164 call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %.sroa.0.sroa.8.i) %.phi.trans.insert99.i = getelementptr inbounds nuw i8, ptr %1, i64 176 - %.pre.i = load i8, ptr %.phi.trans.insert99.i, align 8, !range !20, !noalias !2837 + %.pre.i = load i8, ptr %.phi.trans.insert99.i, align 8, !range !20, !noalias !2837, !noundef !7 call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %8), !noalias !2825 switch i8 %.pre.i, label %default.unreachable133 [ i8 0, label %199 @@ -14977,7 +14977,7 @@ common.ret: ; preds = %297, %159, %85 .body.i: ; preds = %.invoke.i %234 = landingpad { ptr, i32 } cleanup - %.pr.i = load i8, ptr %.phi.trans.insert99.i, align 8, !noalias !2825 + %.pr.i = load i8, ptr %.phi.trans.insert99.i, align 8, !range !20, !noalias !2825, !noundef !7 %cond.i40.i = icmp eq i8 %.pr.i, 3 br i1 %cond.i40.i, label %287, label %"_ZN4core3ptr98drop_in_place$LT$tokio..net..tcp..stream..TcpStream..connect_addr..$u7b$$u7b$closure$u7d$$u7d$$GT$17ha9c958c9f3a9146aE.exit42.i" @@ -15328,7 +15328,7 @@ define hidden void @"_ZN95_$LT$awc..any_body..AnyBody$LT$B$GT$$u20$as$u20$actix_ i64 2, label %14 ] -default.unreachable15: ; preds = %3 +default.unreachable15: ; preds = %"_ZN96_$LT$actix_http..body..boxed..BoxBody$u20$as$u20$actix_http..body..message_body..MessageBody$GT$9poll_next17hb2260de9f08011aaE.exit", %3 unreachable 9: ; preds = %3 @@ -15390,22 +15390,19 @@ default.unreachable13.i: ; preds = %14 %26 = getelementptr inbounds nuw i8, ptr %25, i64 32 %27 = load ptr, ptr %26, align 8, !invariant.load !7, !noalias !2893, !nonnull !7 call void %27(ptr noalias noundef nonnull sret({ i64, [4 x i64] }) align 8 captures(none) dereferenceable(40) %4, ptr noundef nonnull align 1 %23, ptr noalias noundef nonnull align 8 dereferenceable(8) %2), !noalias !2878 - %.pr.pre = load i64, ptr %4, align 8, !alias.scope !2894, !noalias !2897 + %.pr.pre = load i64, ptr %4, align 8, !range !196, !alias.scope !2894, !noalias !2897, !noundef !7 br label %"_ZN96_$LT$actix_http..body..boxed..BoxBody$u20$as$u20$actix_http..body..message_body..MessageBody$GT$9poll_next17hb2260de9f08011aaE.exit" "_ZN96_$LT$actix_http..body..boxed..BoxBody$u20$as$u20$actix_http..body..message_body..MessageBody$GT$9poll_next17hb2260de9f08011aaE.exit": ; preds = %"_ZN4core4task4poll73Poll$LT$core..option..Option$LT$core..result..Result$LT$T$C$E$GT$$GT$$GT$7map_err17h5932f6a338462a96E.exit.i", %22 %.pr = phi i64 [ %.pr14, %"_ZN4core4task4poll73Poll$LT$core..option..Option$LT$core..result..Result$LT$T$C$E$GT$$GT$$GT$7map_err17h5932f6a338462a96E.exit.i" ], [ %.pr.pre, %22 ] tail call void @llvm.experimental.noalias.scope.decl(metadata !2897) tail call void @llvm.experimental.noalias.scope.decl(metadata !2894) - switch i64 %.pr, label %default.unreachable9.i [ + switch i64 %.pr, label %default.unreachable15 [ i64 2, label %28 i64 0, label %"_ZN96_$LT$actix_http..body..boxed..BoxBody$u20$as$u20$actix_http..body..message_body..MessageBody$GT$9poll_next17hb2260de9f08011aaE.exit.thread" i64 1, label %29 ] -default.unreachable9.i: ; preds = %"_ZN96_$LT$actix_http..body..boxed..BoxBody$u20$as$u20$actix_http..body..message_body..MessageBody$GT$9poll_next17hb2260de9f08011aaE.exit" - unreachable - 28: ; preds = %"_ZN96_$LT$actix_http..body..boxed..BoxBody$u20$as$u20$actix_http..body..message_body..MessageBody$GT$9poll_next17hb2260de9f08011aaE.exit" store i64 2, ptr %0, align 8, !alias.scope !2897, !noalias !2894 br label %"_ZN4core4task4poll73Poll$LT$core..option..Option$LT$core..result..Result$LT$T$C$E$GT$$GT$$GT$7map_err17hd8130d6a731f9657E.exit" diff --git a/bench/anki-rs/optimized/2lb7ct7ebbwm4pw.ll b/bench/anki-rs/optimized/2lb7ct7ebbwm4pw.ll index a18c6e4e18d..d0b3c5e9e63 100644 --- a/bench/anki-rs/optimized/2lb7ct7ebbwm4pw.ll +++ b/bench/anki-rs/optimized/2lb7ct7ebbwm4pw.ll @@ -100,8 +100,8 @@ define void @"_ZN111_$LT$alloc..vec..Vec$LT$T$GT$$u20$as$u20$alloc..vec..spec_fr to label %.noexc3 unwind label %37 .noexc3: ; preds = %27 - %.pre.i.i = load i64, ptr %20, align 8 - %.pre = load ptr, ptr %10, align 8 + %.pre.i.i = load i64, ptr %20, align 8, !noundef !3 + %.pre = load ptr, ptr %10, align 8, !nonnull !3, !noundef !3 br label %"_ZN5alloc3vec16Vec$LT$T$C$A$GT$14extend_trusted17h2813d92712d12179E.exit.i" 28: ; preds = %.noexc @@ -328,7 +328,7 @@ define void @"_ZN5alloc3vec16Vec$LT$T$C$A$GT$14extend_trusted17h2813d92712d12179 18: ; preds = %9 call void @"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$7reserve21do_reserve_and_handle17h55ac8100598f2ecdE"(ptr nonnull align 8 %0, i64 %13, i64 %11) - %.pre = load i64, ptr %12, align 8 + %.pre = load i64, ptr %12, align 8, !noundef !3 br label %"_ZN5alloc3vec16Vec$LT$T$C$A$GT$7reserve17h8a219221f1f2d983E.exit" "_ZN5alloc3vec16Vec$LT$T$C$A$GT$7reserve17h8a219221f1f2d983E.exit": ; preds = %9, %18 @@ -388,7 +388,7 @@ define void @"_ZN5alloc3vec16Vec$LT$T$C$A$GT$14extend_trusted17h82cc00910141d6a4 to label %"._ZN5alloc3vec16Vec$LT$T$C$A$GT$7reserve17hf651c1b5f921f230E.exit_crit_edge" unwind label %31 "._ZN5alloc3vec16Vec$LT$T$C$A$GT$7reserve17hf651c1b5f921f230E.exit_crit_edge": ; preds = %19 - %.pre = load i64, ptr %13, align 8 + %.pre = load i64, ptr %13, align 8, !noundef !3 br label %"_ZN5alloc3vec16Vec$LT$T$C$A$GT$7reserve17hf651c1b5f921f230E.exit" "_ZN5alloc3vec16Vec$LT$T$C$A$GT$7reserve17hf651c1b5f921f230E.exit": ; preds = %"._ZN5alloc3vec16Vec$LT$T$C$A$GT$7reserve17hf651c1b5f921f230E.exit_crit_edge", %10 @@ -466,7 +466,7 @@ define void @"_ZN5alloc3vec16Vec$LT$T$C$A$GT$14extend_trusted17hd60bade151dc9335 to label %"._ZN5alloc3vec16Vec$LT$T$C$A$GT$7reserve17ha3346fd714ae426cE.exit_crit_edge" unwind label %31 "._ZN5alloc3vec16Vec$LT$T$C$A$GT$7reserve17ha3346fd714ae426cE.exit_crit_edge": ; preds = %19 - %.pre = load i64, ptr %13, align 8 + %.pre = load i64, ptr %13, align 8, !noundef !3 br label %"_ZN5alloc3vec16Vec$LT$T$C$A$GT$7reserve17ha3346fd714ae426cE.exit" "_ZN5alloc3vec16Vec$LT$T$C$A$GT$7reserve17ha3346fd714ae426cE.exit": ; preds = %"._ZN5alloc3vec16Vec$LT$T$C$A$GT$7reserve17ha3346fd714ae426cE.exit_crit_edge", %10 @@ -786,7 +786,7 @@ define void @"_ZN97_$LT$alloc..vec..Vec$LT$T$C$A$GT$$u20$as$u20$alloc..vec..spec 18: ; preds = %9 call void @"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$7reserve21do_reserve_and_handle17h55ac8100598f2ecdE"(ptr nonnull align 8 %0, i64 %13, i64 %11) - %.pre.i = load i64, ptr %12, align 8 + %.pre.i = load i64, ptr %12, align 8, !noundef !3 br label %"_ZN5alloc3vec16Vec$LT$T$C$A$GT$14extend_trusted17h2813d92712d12179E.exit" 19: ; preds = %2 diff --git a/bench/box2d/optimized/imgui_demo.ll b/bench/box2d/optimized/imgui_demo.ll index 258d9138c5c..87043085061 100644 --- a/bench/box2d/optimized/imgui_demo.ll +++ b/bench/box2d/optimized/imgui_demo.ll @@ -3218,7 +3218,7 @@ _ZN8ImVectorIP10MyDocumentE9push_backERKS1_.exit.i: ; preds = %279, %._ZN8ImVect 323: ; preds = %319 tail call void @_ZN5ImGui16SetTabItemClosedEPKc(ptr noundef nonnull %.013.i.i) - %.pre.i101.i = load i8, ptr %316, align 4, !tbaa !20, !range !11 + %.pre.i101.i = load i8, ptr %316, align 4, !tbaa !20, !range !11, !noundef !12 br label %324 324: ; preds = %323, %319, %.lr.ph.i.i @@ -22750,7 +22750,7 @@ _ZN12_GLOBAL__N_16MyItem17SortWithSortSpecsEP19ImGuiTableSortSpecsPS0_i.exit664: 1833: ; preds = %1830 call void @_ZN5ImGui21TableAngledHeadersRowEv() - %.pre958 = load i8, ptr @_ZZL20ShowDemoWindowTablesvE12show_headers_0, align 1, !tbaa !29, !range !11 + %.pre958 = load i8, ptr @_ZZL20ShowDemoWindowTablesvE12show_headers_0, align 1, !tbaa !29, !range !11, !noundef !12 %1834 = trunc nuw i8 %.pre958 to i1 br i1 %1834, label %.thread966, label %.thread967 @@ -26415,7 +26415,7 @@ _ZN16ImGuiListClipper18IncludeItemByIndexEi.exit313: ; preds = %807, %_ZN16ImGui %815 = getelementptr inbounds nuw i8, ptr %38, i64 4 %816 = getelementptr inbounds nuw i8, ptr %39, i64 4 %817 = getelementptr inbounds nuw i8, ptr %40, i64 4 - %.pre121 = load i8, ptr @_ZZL25ShowDemoWindowMultiSelectP19ImGuiDemoWindowDataE11use_clipper, align 1, !tbaa !29, !range !11 + %.pre121 = load i8, ptr @_ZZL25ShowDemoWindowMultiSelectP19ImGuiDemoWindowDataE11use_clipper, align 1, !tbaa !29, !range !11, !noundef !12 %sext = sext i32 %788 to i64 br label %.backedge @@ -26436,9 +26436,8 @@ _ZN16ImGuiListClipper18IncludeItemByIndexEi.exit313: ; preds = %807, %_ZN16ImGui br i1 %822, label %.critedge, label %1008 .critedge: ; preds = %823 - %.pre122 = load i8, ptr @_ZZL25ShowDemoWindowMultiSelectP19ImGuiDemoWindowDataE11use_clipper, align 1, !tbaa !29, !range !11 - %.pre122.fr = freeze i8 %.pre122 - %.pre127 = trunc i8 %.pre122.fr to i1 + %.pre122 = load i8, ptr @_ZZL25ShowDemoWindowMultiSelectP19ImGuiDemoWindowDataE11use_clipper, align 1, !tbaa !29, !range !11, !noundef !12 + %.pre127 = trunc nuw i8 %.pre122 to i1 %824 = load i32, ptr %810, align 8 %825 = load i32, ptr %811, align 4 br i1 %.pre127, label %828, label %826 @@ -26450,7 +26449,7 @@ _ZN16ImGuiListClipper18IncludeItemByIndexEi.exit313: ; preds = %807, %_ZN16ImGui 828: ; preds = %826, %.critedge, %.thread %829 = phi i32 [ 0, %.thread ], [ %824, %.critedge ], [ 0, %826 ] %.pre-phi135139 = phi i1 [ false, %.thread ], [ true, %.critedge ], [ false, %826 ] - %830 = phi i8 [ 0, %.thread ], [ %.pre122.fr, %.critedge ], [ %.pre122.fr, %826 ] + %830 = phi i8 [ 0, %.thread ], [ %.pre122, %.critedge ], [ %.pre122, %826 ] %831 = phi i32 [ %820, %.thread ], [ %825, %.critedge ], [ %827, %826 ] %832 = icmp slt i32 %829, %831 br i1 %832, label %.lr.ph73.preheader, label %._crit_edge74 @@ -26460,7 +26459,7 @@ _ZN16ImGuiListClipper18IncludeItemByIndexEi.exit313: ; preds = %807, %_ZN16ImGui br label %.lr.ph73 ._crit_edge74.loopexit: ; preds = %1006 - %.pre123 = load i8, ptr @_ZZL25ShowDemoWindowMultiSelectP19ImGuiDemoWindowDataE11use_clipper, align 1, !tbaa !29, !range !11 + %.pre123 = load i8, ptr @_ZZL25ShowDemoWindowMultiSelectP19ImGuiDemoWindowDataE11use_clipper, align 1, !tbaa !29, !range !11, !noundef !12 %.pre128 = trunc nuw i8 %.pre123 to i1 br i1 %.pre128, label %.backedge.backedge, label %1008 diff --git a/bench/chibicc/optimized/parse.ll b/bench/chibicc/optimized/parse.ll index 57e6cea1e2e..ec2626b2922 100644 --- a/bench/chibicc/optimized/parse.ll +++ b/bench/chibicc/optimized/parse.ll @@ -1288,7 +1288,7 @@ find_func.exit: ; preds = %28 %54 = load ptr, ptr %4, align 8, !tbaa !25 %55 = call zeroext i1 @equal(ptr noundef %54, ptr noundef nonnull @.str.25) #13 %56 = zext i1 %55 to i8 - %.pre64.pre = load i8, ptr %41, align 2, !tbaa !54, !range !58 + %.pre64.pre = load i8, ptr %41, align 2, !tbaa !54, !range !58, !noundef !59 br label %57 57: ; preds = %53, %50 @@ -1329,7 +1329,7 @@ find_func.exit: ; preds = %28 %77 = load i8, ptr %76, align 1, !tbaa !76, !range !58, !noundef !59 %78 = trunc nuw i8 %77 to i1 %.phi.trans.insert = getelementptr inbounds nuw i8, ptr %2, i64 3 - %.pre = load i8, ptr %.phi.trans.insert, align 1, !tbaa !78, !range !58 + %.pre = load i8, ptr %.phi.trans.insert, align 1, !tbaa !78, !range !58, !noundef !59 br i1 %78, label %._crit_edge, label %79 79: ; preds = %59 @@ -30909,7 +30909,7 @@ string_initializer.exit: ; preds = %80, %64, %48, %42, %105 = tail call ptr @array_of(ptr noundef %104, i32 noundef %101) #13 %106 = tail call fastcc ptr @new_initializer(ptr noundef %105, i1 noundef zeroext false) tail call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(56) %2, ptr noundef nonnull align 8 dereferenceable(56) %106, i64 56, i1 false), !tbaa.struct !195 - %.pre64 = load i8, ptr %96, align 8, !tbaa !191, !range !58 + %.pre64 = load i8, ptr %96, align 8, !tbaa !191, !range !58, !noundef !59 %107 = trunc nuw i8 %.pre64 to i1 br i1 %107, label %108, label %.thread69 diff --git a/bench/clap-rs/optimized/58cs3pckwcmstm46.ll b/bench/clap-rs/optimized/58cs3pckwcmstm46.ll index 0486926216b..d71fd6c68d8 100644 --- a/bench/clap-rs/optimized/58cs3pckwcmstm46.ll +++ b/bench/clap-rs/optimized/58cs3pckwcmstm46.ll @@ -13353,8 +13353,8 @@ define hidden void @"_ZN81_$LT$alloc..vec..splice..Splice$LT$I$C$A$GT$$u20$as$u2 to label %._crit_edge unwind label %37 ._crit_edge: ; preds = %75 - %.pre = load ptr, ptr %42, align 8, !alias.scope !6578 - %.pre11 = load ptr, ptr %43, align 8, !alias.scope !6581, !noalias !6586 + %.pre = load ptr, ptr %42, align 8, !alias.scope !6578, !noundef !4 + %.pre11 = load ptr, ptr %43, align 8, !alias.scope !6581, !noalias !6586, !noundef !4 br label %44 } diff --git a/bench/coreutils-rs/optimized/1w8bjqmsfkf0ntfz.ll b/bench/coreutils-rs/optimized/1w8bjqmsfkf0ntfz.ll index 06bc392a018..26bf1ef8de9 100644 --- a/bench/coreutils-rs/optimized/1w8bjqmsfkf0ntfz.ll +++ b/bench/coreutils-rs/optimized/1w8bjqmsfkf0ntfz.ll @@ -72,8 +72,8 @@ define hidden { i1, i8 } @"_ZN104_$LT$core..iter..adapters..copied..Copied$LT$I$ %19 = tail call { i64, i1 } @llvm.uadd.with.overflow.i64(i64 %10, i64 %1) %20 = extractvalue { i64, i1 } %19, 1 %21 = getelementptr inbounds nuw i8, ptr %0, i64 8 - %22 = load ptr, ptr %21, align 8, !alias.scope !11 - %23 = load ptr, ptr %0, align 8, !alias.scope !11 + %22 = load ptr, ptr %21, align 8, !alias.scope !11, !nonnull !7, !noundef !7 + %23 = load ptr, ptr %0, align 8, !alias.scope !11, !nonnull !7, !noundef !7 %24 = ptrtoint ptr %22 to i64 br i1 %20, label %26, label %._crit_edge.i.i @@ -124,8 +124,8 @@ define hidden { i1, i8 } @"_ZN104_$LT$core..iter..adapters..copied..Copied$LT$I$ %49 = tail call { i64, i1 } @llvm.uadd.with.overflow.i64(i64 %38, i64 %36) %50 = extractvalue { i64, i1 } %49, 1 %51 = getelementptr inbounds nuw i8, ptr %0, i64 8 - %52 = load ptr, ptr %51, align 8, !alias.scope !20 - %53 = load ptr, ptr %0, align 8, !alias.scope !20 + %52 = load ptr, ptr %51, align 8, !alias.scope !20, !nonnull !7, !noundef !7 + %53 = load ptr, ptr %0, align 8, !alias.scope !20, !nonnull !7, !noundef !7 %54 = ptrtoint ptr %52 to i64 br i1 %50, label %56, label %._crit_edge.i4.i @@ -165,9 +165,7 @@ define hidden { i1, i8 } @"_ZN104_$LT$core..iter..adapters..copied..Copied$LT$I$ "_ZN100_$LT$core..iter..adapters..take..Take$LT$I$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$3nth17h32a5d8e30e22e347E.exit.thread8": ; preds = %11 %67 = getelementptr inbounds i8, ptr %14, i64 %1 - %68 = getelementptr inbounds nuw i8, ptr %67, i64 1 - store ptr %68, ptr %0, align 8, !alias.scope !11 - br label %71 + br label %69 "_ZN100_$LT$core..iter..adapters..take..Take$LT$I$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$3nth17h32a5d8e30e22e347E.exit.thread5": ; preds = %11, %31 %storemerge.i.sink.i.i.ph = phi ptr [ %22, %31 ], [ %13, %11 ] @@ -176,19 +174,18 @@ define hidden { i1, i8 } @"_ZN104_$LT$core..iter..adapters..copied..Copied$LT$I$ "_ZN100_$LT$core..iter..adapters..take..Take$LT$I$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$3nth17h32a5d8e30e22e347E.exit": ; preds = %31 %69 = getelementptr inbounds i8, ptr %32, i64 %.05.i.i - %70 = getelementptr inbounds nuw i8, ptr %69, i64 1 - store ptr %70, ptr %0, align 8, !alias.scope !11 - %.not = icmp eq ptr %32, null - br i1 %.not, label %"_ZN100_$LT$core..iter..adapters..take..Take$LT$I$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$3nth17h32a5d8e30e22e347E.exit.thread", label %71 - -71: ; preds = %"_ZN100_$LT$core..iter..adapters..take..Take$LT$I$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$3nth17h32a5d8e30e22e347E.exit.thread8", %"_ZN100_$LT$core..iter..adapters..take..Take$LT$I$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$3nth17h32a5d8e30e22e347E.exit" - %.0.ph.i.i11 = phi ptr [ %67, %"_ZN100_$LT$core..iter..adapters..take..Take$LT$I$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$3nth17h32a5d8e30e22e347E.exit.thread8" ], [ %69, %"_ZN100_$LT$core..iter..adapters..take..Take$LT$I$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$3nth17h32a5d8e30e22e347E.exit" ] - %72 = load i8, ptr %.0.ph.i.i11, align 1, !noundef !7 + br label %69 + +69:; preds = %"_ZN100_$LT$core..iter..adapters..take..Take$LT$I$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$3nth17h32a5d8e30e22e347E.exit", %"_ZN100_$LT$core..iter..adapters..take..Take$LT$I$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$3nth17h32a5d8e30e22e347E.exit.thread8" + %.pn = phi ptr [ %68, %"_ZN100_$LT$core..iter..adapters..take..Take$LT$I$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$3nth17h32a5d8e30e22e347E.exit" ], [ %67, %"_ZN100_$LT$core..iter..adapters..take..Take$LT$I$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$3nth17h32a5d8e30e22e347E.exit.thread8" ] + %storemerge = getelementptr inbounds nuw i8, ptr %.pn, i64 1 + store ptr %storemerge, ptr %0, align 8, !alias.scope !11 + %70 = load i8, ptr %.pn, align 1, !noundef !7 br label %"_ZN100_$LT$core..iter..adapters..take..Take$LT$I$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$3nth17h32a5d8e30e22e347E.exit.thread" -"_ZN100_$LT$core..iter..adapters..take..Take$LT$I$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$3nth17h32a5d8e30e22e347E.exit.thread": ; preds = %26, %"_ZN100_$LT$core..iter..adapters..skip..Skip$LT$I$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$3nth17h1e484e2d243b49a8E.exit18.i", %6, %"_ZN100_$LT$core..iter..adapters..take..Take$LT$I$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$3nth17h32a5d8e30e22e347E.exit.thread5", %"_ZN100_$LT$core..iter..adapters..take..Take$LT$I$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$3nth17h32a5d8e30e22e347E.exit", %71 - %73 = phi i1 [ true, %71 ], [ false, %"_ZN100_$LT$core..iter..adapters..take..Take$LT$I$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$3nth17h32a5d8e30e22e347E.exit" ], [ false, %"_ZN100_$LT$core..iter..adapters..take..Take$LT$I$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$3nth17h32a5d8e30e22e347E.exit.thread5" ], [ false, %6 ], [ false, %"_ZN100_$LT$core..iter..adapters..skip..Skip$LT$I$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$3nth17h1e484e2d243b49a8E.exit18.i" ], [ false, %26 ] - %.sroa.3.0 = phi i8 [ %72, %71 ], [ undef, %"_ZN100_$LT$core..iter..adapters..take..Take$LT$I$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$3nth17h32a5d8e30e22e347E.exit" ], [ undef, %"_ZN100_$LT$core..iter..adapters..take..Take$LT$I$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$3nth17h32a5d8e30e22e347E.exit.thread5" ], [ undef, %6 ], [ undef, %"_ZN100_$LT$core..iter..adapters..skip..Skip$LT$I$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$3nth17h1e484e2d243b49a8E.exit18.i" ], [ undef, %26 ] +"_ZN100_$LT$core..iter..adapters..take..Take$LT$I$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$3nth17h32a5d8e30e22e347E.exit.thread": ; preds = %26, %"_ZN100_$LT$core..iter..adapters..skip..Skip$LT$I$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$3nth17h1e484e2d243b49a8E.exit18.i", %6, %"_ZN100_$LT$core..iter..adapters..take..Take$LT$I$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$3nth17h32a5d8e30e22e347E.exit.thread5", %69 + %73 = phi i1 [ true, %69 ], [ false, %"_ZN100_$LT$core..iter..adapters..take..Take$LT$I$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$3nth17h32a5d8e30e22e347E.exit.thread5" ], [ false, %6 ], [ false, %"_ZN100_$LT$core..iter..adapters..skip..Skip$LT$I$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$3nth17h1e484e2d243b49a8E.exit18.i" ], [ false, %26 ] + %.sroa.3.0 = phi i8 [ %70, %69 ], [ undef, %"_ZN100_$LT$core..iter..adapters..take..Take$LT$I$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$3nth17h32a5d8e30e22e347E.exit.thread5" ], [ undef, %6 ], [ undef, %"_ZN100_$LT$core..iter..adapters..skip..Skip$LT$I$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$3nth17h1e484e2d243b49a8E.exit18.i" ], [ undef, %26 ] %74 = insertvalue { i1, i8 } poison, i1 %73, 0 %75 = insertvalue { i1, i8 } %74, i8 %.sroa.3.0, 1 ret { i1, i8 } %75 diff --git a/bench/coreutils-rs/optimized/3ri12qup21vdgfw4.ll b/bench/coreutils-rs/optimized/3ri12qup21vdgfw4.ll index 70fc6fd26a0..2476db7bde4 100644 --- a/bench/coreutils-rs/optimized/3ri12qup21vdgfw4.ll +++ b/bench/coreutils-rs/optimized/3ri12qup21vdgfw4.ll @@ -131,7 +131,7 @@ define hidden { i64, ptr } @_ZN4core4iter6traits8iterator8Iterator8try_fold17hce %.sroa.0.sroa.6.0..sroa_idx.i.i.i.i.i.i = getelementptr inbounds nuw i8, ptr %9, i64 24 %20 = getelementptr inbounds nuw i8, ptr %5, i64 8 %21 = getelementptr inbounds nuw i8, ptr %5, i64 16 - %.pre = load i64, ptr %2, align 8, !noalias !37 + %.pre = load i64, ptr %2, align 8, !noalias !37, !noundef !16 %.val.i.i.i = load ptr, ptr %1, align 8, !noalias !40, !nonnull !16, !align !17, !noundef !16 %22 = getelementptr i8, ptr %.val.i.i.i, i64 8 br label %23 @@ -163,9 +163,9 @@ define hidden { i64, ptr } @_ZN4core4iter6traits8iterator8Iterator8try_fold17hce call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %10), !noalias !44 %35 = getelementptr inbounds nuw i8, ptr %.val.i.i.i.i, i64 32 call void @llvm.experimental.noalias.scope.decl(metadata !47) - %.pre.pre.i.i.i.i.i.i = load ptr, ptr %35, align 8, !alias.scope !47, !noalias !50 + %.pre.pre.i.i.i.i.i.i = load ptr, ptr %35, align 8, !alias.scope !47, !noalias !50, !nonnull !16, !noundef !16 %36 = getelementptr inbounds nuw i8, ptr %.pre.pre.i.i.i.i.i.i, i64 160 - %37 = load ptr, ptr %36, align 8, !noalias !55 + %37 = load ptr, ptr %36, align 8, !noalias !55, !nonnull !16, !noundef !16 %38 = load i64, ptr %37, align 8, !range !56, !noalias !55, !noundef !16 %trunc.i.i.i.i.i.i.i = trunc nuw i64 %38 to i1 br i1 %trunc.i.i.i.i.i.i.i, label %39, label %_ZN14regex_automata4meta5regex9RegexInfo13is_impossible17hb263535dda5d37e3E.exit.thread.i.i.i.i.i.i @@ -406,7 +406,7 @@ _ZN14regex_automata4util4pool5inner9THREAD_ID7__getit17hd4e175028fe63256E.exit.i to label %._crit_edge.i.i.i.i.i.i.i.i unwind label %129, !noalias !97 ._crit_edge.i.i.i.i.i.i.i.i: ; preds = %128 - %.pre.i.i.i.i.i.i.i.i = load i64, ptr %124, align 8, !alias.scope !94, !noalias !97 + %.pre.i.i.i.i.i.i.i.i = load i64, ptr %124, align 8, !alias.scope !94, !noalias !97, !noundef !16 br label %133 129: ; preds = %128 @@ -575,17 +575,16 @@ _ZN3std4sync6poison4Flag4done17h6aecd475d8dd2349E.llvm.12123109310310187846.exit "_ZN9itertools9Itertools13find_position28_$u7b$$u7b$closure$u7d$$u7d$17hffa7c13e2e3e8644E.exit.i.i": ; preds = %.noexc7.i.i.i.i.i.i, %.noexc5.i.i.i.i.i.i, %150, %_ZN3std4sync6poison4Flag4done17h6aecd475d8dd2349E.exit.i.i.i.i.i.i.i.i.i, %"_ZN4core3ptr80drop_in_place$LT$alloc..boxed..Box$LT$regex_automata..meta..regex..Cache$GT$$GT$17ha7e34addecafb921E.exit.i.i.i.i.i.i.i" call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %9), !noalias !62 - %.pre.i.i.i.i.i = load i64, ptr %10, align 8, !range !56, !noalias !44 - %.pre.i.i.i.fr.i.i = freeze i64 %.pre.i.i.i.i.i - %.not.i.i = icmp eq i64 %.pre.i.i.i.fr.i.i, 0 + %.pre.i.i.i.i.i = load i64, ptr %10, align 8, !range !56, !noalias !44, !noundef !16 + %.not.i.i = icmp eq i64 %.pre.i.i.i.i.i, 0 call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %11), !noalias !44 call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %10), !noalias !44 - %.pre94 = load i64, ptr %2, align 8, !noalias !37 + %.pre94 = load i64, ptr %2, align 8, !noalias !37, !noundef !16 br i1 %.not.i.i, label %"_ZN9itertools9Itertools13find_position28_$u7b$$u7b$closure$u7d$$u7d$17hffa7c13e2e3e8644E.exit.i.i._ZN110_$LT$core..iter..adapters..enumerate..Enumerate$LT$I$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$8try_fold9enumerate28_$u7b$$u7b$closure$u7d$$u7d$17h69165de91c83bcfbE.exit_crit_edge", label %179 "_ZN9itertools9Itertools13find_position28_$u7b$$u7b$closure$u7d$$u7d$17hffa7c13e2e3e8644E.exit.i.i._ZN110_$LT$core..iter..adapters..enumerate..Enumerate$LT$I$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$8try_fold9enumerate28_$u7b$$u7b$closure$u7d$$u7d$17h69165de91c83bcfbE.exit_crit_edge": ; preds = %"_ZN9itertools9Itertools13find_position28_$u7b$$u7b$closure$u7d$$u7d$17hffa7c13e2e3e8644E.exit.i.i" - %.pre95 = load ptr, ptr %12, align 8, !alias.scope !34 - %.pre96 = load ptr, ptr %0, align 8, !alias.scope !34 + %.pre95 = load ptr, ptr %12, align 8, !alias.scope !34, !nonnull !16, !noundef !16 + %.pre96 = load ptr, ptr %0, align 8, !alias.scope !34, !nonnull !16, !noundef !16 br label %"_ZN110_$LT$core..iter..adapters..enumerate..Enumerate$LT$I$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$8try_fold9enumerate28_$u7b$$u7b$closure$u7d$$u7d$17h69165de91c83bcfbE.exit" "_ZN110_$LT$core..iter..adapters..enumerate..Enumerate$LT$I$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$8try_fold9enumerate28_$u7b$$u7b$closure$u7d$$u7d$17h69165de91c83bcfbE.exit": ; preds = %"_ZN9itertools9Itertools13find_position28_$u7b$$u7b$closure$u7d$$u7d$17hffa7c13e2e3e8644E.exit.i.i._ZN110_$LT$core..iter..adapters..enumerate..Enumerate$LT$I$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$8try_fold9enumerate28_$u7b$$u7b$closure$u7d$$u7d$17h69165de91c83bcfbE.exit_crit_edge", %"_ZN9itertools9Itertools13find_position28_$u7b$$u7b$closure$u7d$$u7d$17hffa7c13e2e3e8644E.exit.thread.i.i" diff --git a/bench/coreutils-rs/optimized/qcad8r5ga44hvbl.ll b/bench/coreutils-rs/optimized/qcad8r5ga44hvbl.ll index a2f51458e50..fbcbe0b69e5 100644 --- a/bench/coreutils-rs/optimized/qcad8r5ga44hvbl.ll +++ b/bench/coreutils-rs/optimized/qcad8r5ga44hvbl.ll @@ -143,7 +143,7 @@ define internal void @"_ZN102_$LT$core..iter..adapters..map..Map$LT$I$C$F$GT$$u2 17: ; preds = %15, %.thread12.i.i %.sroa.0.0.copyload2.pr.pr = phi i64 [ -9223372036854775805, %.thread12.i.i ], [ %.pre.pre.i.i, %15 ] - %.pr.i.i = load i64, ptr %1, align 8, !alias.scope !30, !noalias !15 + %.pr.i.i = load i64, ptr %1, align 8, !range !13, !alias.scope !30, !noalias !15, !noundef !16 tail call void @llvm.experimental.noalias.scope.decl(metadata !33) %18 = icmp eq i64 %.pr.i.i, -9223372036854775808 br i1 %18, label %"_ZN104_$LT$core..iter..sources..from_fn..FromFn$LT$F$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17hab62500a2e72b4ffE.exit", label %19 @@ -390,7 +390,7 @@ define internal void @"_ZN104_$LT$core..iter..sources..from_fn..FromFn$LT$F$GT$$ call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %3, ptr noundef nonnull align 8 dereferenceable(24) %4, i64 24, i1 false), !noalias !96 call void @"_ZN5uu_wc11files0_iter28_$u7b$$u7b$closure$u7d$$u7d$17h35fa19cbc5080ec9E.llvm.6282581801709149600"(ptr noalias noundef nonnull sret({ i64, [2 x i64] }) align 8 captures(none) dereferenceable(24) %5, ptr noalias noundef nonnull align 8 dereferenceable(80) %1, ptr noalias noundef nonnull align 8 captures(none) dereferenceable(24) %3), !noalias !89 call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %3), !noalias !96 - %.pre.pre.i = load i64, ptr %5, align 8, !range !102, !noalias !87 + %.pre.pre.i = load i64, ptr %5, align 8, !range !102, !noalias !87, !noundef !16 call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %4), !noalias !96 %13 = and i64 %.pre.pre.i, -2 %switch.i = icmp eq i64 %13, -9223372036854775806 @@ -398,7 +398,7 @@ define internal void @"_ZN104_$LT$core..iter..sources..from_fn..FromFn$LT$F$GT$$ 14: ; preds = %12, %.thread11.i %.ph.i = phi i64 [ -9223372036854775805, %.thread11.i ], [ %.pre.pre.i, %12 ] - %.pr.i = load i64, ptr %1, align 8, !alias.scope !103, !noalias !89 + %.pr.i = load i64, ptr %1, align 8, !range !13, !alias.scope !103, !noalias !89, !noundef !16 call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %.sroa.5.i) %15 = icmp eq i64 %.pr.i, -9223372036854775808 br i1 %15, label %"_ZN4core3ptr240drop_in_place$LT$core..option..Option$LT$core..iter..adapters..map..Map$LT$std..io..Split$LT$std..io..buffered..bufreader..BufReader$LT$std..fs..File$GT$$GT$$C$uu_wc..files0_iter$LT$std..fs..File$GT$..$u7b$$u7b$closure$u7d$$u7d$$GT$$GT$$GT$17h7d5d0be77535b6b7E.exit.i", label %16 @@ -972,7 +972,7 @@ define internal noundef i64 @_ZN4core4iter6traits8iterator8Iterator10advance_by1 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %3, ptr noundef nonnull align 8 dereferenceable(24) %4, i64 24, i1 false), !noalias !258 call void @"_ZN5uu_wc11files0_iter28_$u7b$$u7b$closure$u7d$$u7d$17h35fa19cbc5080ec9E.llvm.6282581801709149600"(ptr noalias noundef nonnull sret({ i64, [2 x i64] }) align 8 captures(none) dereferenceable(24) %5, ptr noalias noundef nonnull align 8 dereferenceable(80) %0, ptr noalias noundef nonnull align 8 captures(none) dereferenceable(24) %3), !noalias !251 call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %3), !noalias !258 - %.pre.pre.i.i = load i64, ptr %5, align 8, !range !102, !noalias !247 + %.pre.pre.i.i = load i64, ptr %5, align 8, !range !102, !noalias !247, !noundef !16 call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %4), !noalias !258 %16 = and i64 %.pre.pre.i.i, -2 %switch.i.i = icmp eq i64 %16, -9223372036854775806 @@ -980,7 +980,7 @@ define internal noundef i64 @_ZN4core4iter6traits8iterator8Iterator10advance_by1 17: ; preds = %15, %.thread11.i.i %.ph.i.i = phi i64 [ -9223372036854775805, %.thread11.i.i ], [ %.pre.pre.i.i, %15 ] - %.pr.i.i = load i64, ptr %0, align 8, !alias.scope !264, !noalias !251 + %.pr.i.i = load i64, ptr %0, align 8, !range !13, !alias.scope !264, !noalias !251, !noundef !16 call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %.sroa.5.i.i) %18 = icmp eq i64 %.pr.i.i, -9223372036854775808 br i1 %18, label %"_ZN4core3ptr240drop_in_place$LT$core..option..Option$LT$core..iter..adapters..map..Map$LT$std..io..Split$LT$std..io..buffered..bufreader..BufReader$LT$std..fs..File$GT$$GT$$C$uu_wc..files0_iter$LT$std..fs..File$GT$..$u7b$$u7b$closure$u7d$$u7d$$GT$$GT$$GT$17h7d5d0be77535b6b7E.exit.i.i", label %19 @@ -1169,7 +1169,7 @@ define internal void @_ZN4core4iter6traits8iterator8Iterator3nth17h1e6824c94c561 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %4, ptr noundef nonnull align 8 dereferenceable(24) %5, i64 24, i1 false), !noalias !305 call void @"_ZN5uu_wc11files0_iter28_$u7b$$u7b$closure$u7d$$u7d$17h35fa19cbc5080ec9E.llvm.6282581801709149600"(ptr noalias noundef nonnull sret({ i64, [2 x i64] }) align 8 captures(none) dereferenceable(24) %6, ptr noalias noundef nonnull align 8 dereferenceable(80) %1, ptr noalias noundef nonnull align 8 captures(none) dereferenceable(24) %4), !noalias !298 call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %4), !noalias !305 - %.pre.pre.i.i = load i64, ptr %6, align 8, !range !102, !noalias !294 + %.pre.pre.i.i = load i64, ptr %6, align 8, !range !102, !noalias !294, !noundef !16 call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %5), !noalias !305 %17 = and i64 %.pre.pre.i.i, -2 %switch.i.i = icmp eq i64 %17, -9223372036854775806 @@ -1177,7 +1177,7 @@ define internal void @_ZN4core4iter6traits8iterator8Iterator3nth17h1e6824c94c561 18: ; preds = %16, %.thread11.i.i %.ph.i.i = phi i64 [ -9223372036854775805, %.thread11.i.i ], [ %.pre.pre.i.i, %16 ] - %.pr.i.i = load i64, ptr %1, align 8, !alias.scope !311, !noalias !298 + %.pr.i.i = load i64, ptr %1, align 8, !range !13, !alias.scope !311, !noalias !298, !noundef !16 call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %.sroa.5.i.i) %19 = icmp eq i64 %.pr.i.i, -9223372036854775808 br i1 %19, label %"_ZN4core3ptr240drop_in_place$LT$core..option..Option$LT$core..iter..adapters..map..Map$LT$std..io..Split$LT$std..io..buffered..bufreader..BufReader$LT$std..fs..File$GT$$GT$$C$uu_wc..files0_iter$LT$std..fs..File$GT$..$u7b$$u7b$closure$u7d$$u7d$$GT$$GT$$GT$17h7d5d0be77535b6b7E.exit.i.i", label %20 @@ -1312,8 +1312,8 @@ define internal void @_ZN4core4iter6traits8iterator8Iterator3nth17h6de4189a57b0e ._ZN4core4iter6traits8iterator8Iterator10advance_by17he05f444171c47f3bE.exit.thread_crit_edge: ; preds = %3 %.phi.trans.insert = getelementptr inbounds nuw i8, ptr %1, i64 8 - %.pre = load ptr, ptr %.phi.trans.insert, align 8, !alias.scope !333, !noalias !338 - %.pre8 = load ptr, ptr %1, align 8, !alias.scope !333, !noalias !338 + %.pre = load ptr, ptr %.phi.trans.insert, align 8, !alias.scope !333, !noalias !338, !nonnull !16, !noundef !16 + %.pre8 = load ptr, ptr %1, align 8, !alias.scope !333, !noalias !338, !nonnull !16, !noundef !16 br label %_ZN4core4iter6traits8iterator8Iterator10advance_by17he05f444171c47f3bE.exit.thread .lr.ph.i: ; preds = %3 @@ -4363,13 +4363,13 @@ define { ptr, ptr } @_ZN5uu_wc2wc17h0f9afeddf50752eeE(ptr noalias noundef readon call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %51, i8 0, i64 40, i1 false) %57 = load i8, ptr %56, align 1, !range !231, !noundef !16 %.not = icmp eq i8 %57, 2 - %.pr.pre = load i64, ptr %0, align 8, !alias.scope !1212, !noalias !1215 + %.pr.pre = load i64, ptr %0, align 8, !range !516, !alias.scope !1212, !noalias !1215, !noundef !16 br i1 %.not, label %_ZN5uu_wc20compute_number_width17hf5545744421b0745E.exit, label %58 58: ; preds = %2 tail call void @llvm.experimental.noalias.scope.decl(metadata !1218) tail call void @llvm.experimental.noalias.scope.decl(metadata !1221) - switch i64 %.pr.pre, label %default.unreachable66.i [ + switch i64 %.pr.pre, label %default.unreachable [ i64 0, label %59 i64 1, label %78 i64 2, label %_ZN5uu_wc20compute_number_width17hf5545744421b0745E.exit.thread @@ -4379,7 +4379,7 @@ _ZN5uu_wc20compute_number_width17hf5545744421b0745E.exit.thread: ; preds = %58 call void @llvm.lifetime.start.p0(i64 80, ptr nonnull %19) br label %162 -default.unreachable66.i: ; preds = %58 +default.unreachable66.i: ; preds = %297, %_ZN5uu_wc20compute_number_width17hf5545744421b0745E.exit, %58 unreachable 59: ; preds = %58 @@ -4584,15 +4584,12 @@ _ZN5uu_wc20compute_number_width17hf5545744421b0745E.exit: ; preds = %"_ZN4core3n call void @llvm.experimental.noalias.scope.decl(metadata !1212) call void @llvm.experimental.noalias.scope.decl(metadata !1279) call void @llvm.lifetime.start.p0(i64 80, ptr nonnull %19) - switch i64 %.pr.pre, label %default.unreachable68.i [ + switch i64 %.pr.pre, label %default.unreachable [ i64 0, label %142 i64 1, label %151 i64 2, label %162 ] -default.unreachable68.i: ; preds = %_ZN5uu_wc20compute_number_width17hf5545744421b0745E.exit - unreachable - 142: ; preds = %_ZN5uu_wc20compute_number_width17hf5545744421b0745E.exit.thread314, %_ZN5uu_wc20compute_number_width17hf5545744421b0745E.exit %.071.ph316 = phi i64 [ %..i, %_ZN5uu_wc20compute_number_width17hf5545744421b0745E.exit.thread314 ], [ %.071.ph, %_ZN5uu_wc20compute_number_width17hf5545744421b0745E.exit ] call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %21), !noalias !1280 @@ -5073,9 +5070,6 @@ _ZN5uu_wc7WcError8zero_len17h587ea828ed9ef175E.exit.i: ; preds = %273, %271 i8 3, label %_ZN5uu_wc9TotalWhen20is_total_row_visible17h54db5cfaf9827f0bE.exit.thread215 ] -default.unreachable: ; preds = %297 - unreachable - _ZN5uu_wc9TotalWhen20is_total_row_visible17h54db5cfaf9827f0bE.exit: ; preds = %297 %298 = icmp ugt i64 %.074, 1 br i1 %298, label %_ZN5uu_wc9TotalWhen20is_total_row_visible17h54db5cfaf9827f0bE.exit.thread, label %_ZN5uu_wc9TotalWhen20is_total_row_visible17h54db5cfaf9827f0bE.exit.thread215 @@ -5366,7 +5360,7 @@ _ZN5uu_wc9TotalWhen20is_total_row_visible17h54db5cfaf9827f0bE.exit.thread215: ; store i64 %358, ptr %53, align 8, !alias.scope !1381, !noalias !1384 store i64 %359, ptr %54, align 8, !alias.scope !1381, !noalias !1384 store i64 %360, ptr %55, align 8, !alias.scope !1381, !noalias !1384 - %.pre306 = load i64, ptr %49, align 8, !range !27, !alias.scope !1386 + %.pre306 = load i64, ptr %49, align 8, !range !27, !alias.scope !1386, !noundef !16 br i1 %.not, label %374, label %381 374: ; preds = %434, %373 @@ -5467,7 +5461,7 @@ _ZN5uu_wc9TotalWhen20is_total_row_visible17h54db5cfaf9827f0bE.exit.thread215: ; .thread342: ; preds = %387 store i64 -9223372036854775807, ptr %35, align 8, !alias.scope !1404, !noalias !1407 %.pn1.i.i138.pre = load i64, ptr %.sroa.6.0..sroa_idx4.i, align 8, !alias.scope !1418 - %.pn3.i.i140.pre = load ptr, ptr %.sroa.5.0..sroa_idx2.i, align 8, !alias.scope !1418 + %.pn3.i.i140.pre = load ptr, ptr %.sroa.5.0..sroa_idx2.i, align 8, !alias.scope !1418, !nonnull !16 br label %.thread336 400: ; preds = %.thread336 @@ -5618,7 +5612,7 @@ _ZN5uu_wc9TotalWhen20is_total_row_visible17h54db5cfaf9827f0bE.exit.thread215: ; 434: ; preds = %"_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17hd6b4148410b98c22E.exit.i.i", %411 call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %35) - %.pre.pre = load i64, ptr %49, align 8, !range !27, !alias.scope !1386 + %.pre.pre = load i64, ptr %49, align 8, !range !27, !alias.scope !1386, !noundef !16 br label %374 "_ZN4core3ptr33drop_in_place$LT$uu_wc..Input$GT$17he84abe4ffd51f3f8E.exit": ; preds = %"_ZN4core3ptr39drop_in_place$LT$std..path..PathBuf$GT$17h59f4c2f1ea310080E.exit.i.i124", %374 @@ -5969,7 +5963,7 @@ define internal fastcc noundef ptr @_ZN5uu_wc11print_stats17ha16bc49428a6943fE(p to label %.body unwind label %90, !noalias !1482 79: ; preds = %"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4find17h5c8e41c755edcf68E.exit" - %80 = load ptr, ptr %67, align 8, !noalias !1478 + %80 = load ptr, ptr %67, align 8, !noalias !1478, !noundef !16 %.not.i = icmp eq ptr %80, null br i1 %76, label %select.unfold, label %86 @@ -6045,7 +6039,7 @@ select.unfold: ; preds = %79 to label %.body unwind label %109, !noalias !1509 101: ; preds = %92 - %102 = load ptr, ptr %97, align 8, !noalias !1505 + %102 = load ptr, ptr %97, align 8, !noalias !1505, !noundef !16 %.not.i59 = icmp eq ptr %102, null br i1 %98, label %103, label %104 @@ -6118,7 +6112,7 @@ select.unfold: ; preds = %79 to label %.body unwind label %132, !noalias !1532 124: ; preds = %111 - %125 = load ptr, ptr %120, align 8, !noalias !1528 + %125 = load ptr, ptr %120, align 8, !noalias !1528, !noundef !16 %.not.i69 = icmp eq ptr %125, null br i1 %121, label %126, label %127 diff --git a/bench/crow/optimized/example_middleware.ll b/bench/crow/optimized/example_middleware.ll index cd1276e51a5..4429d7f93f3 100644 --- a/bench/crow/optimized/example_middleware.ll +++ b/bench/crow/optimized/example_middleware.ll @@ -30669,7 +30669,7 @@ _ZN4asio6detail20posix_signal_blockerD2Ev.exit: ; preds = %_ZN4asio6detail12po %46 = landingpad { ptr, i32 } cleanup call void @_ZdlPvm(ptr noundef nonnull %34, i64 noundef 16) #38 - %.pre = load i8, ptr %6, align 8, !tbaa !696, !range !108 + %.pre = load i8, ptr %6, align 8, !tbaa !696, !range !108, !noundef !109 %47 = trunc nuw i8 %.pre to i1 br i1 %47, label %50, label %_ZN4asio6detail20posix_signal_blockerD2Ev.exit20 @@ -31192,7 +31192,7 @@ _ZN4asio6detail27conditionally_enabled_mutex11scoped_lockC2ERS1_.exit.thread: ; _ZN4asio6detail27conditionally_enabled_mutex11scoped_lockC2ERS1_.exit: ; preds = %6 %12 = getelementptr inbounds nuw i8, ptr %0, i64 56 %13 = tail call i32 @pthread_mutex_lock(ptr noundef nonnull align 8 dereferenceable(40) %12) #37 - %.pre = load i8, ptr %7, align 8, !tbaa !261, !range !108 + %.pre = load i8, ptr %7, align 8, !tbaa !261, !range !108, !noundef !109 %14 = getelementptr inbounds nuw i8, ptr %0, i64 233 store i8 1, ptr %14, align 1, !tbaa !717 %15 = getelementptr inbounds nuw i8, ptr %0, i64 232 @@ -31266,7 +31266,7 @@ _ZN4asio6detail12posix_thread4joinEv.exit: ; preds = %45 _ZN4asio6detail12posix_thread4joinEv.exit.thread: ; preds = %_ZN4asio6detail12posix_thread4joinEv.exit %.phi.trans.insert = getelementptr inbounds nuw i8, ptr %.pr, i64 8 - %.pre6 = load i8, ptr %.phi.trans.insert, align 8, !tbaa !699, !range !108 + %.pre6 = load i8, ptr %.phi.trans.insert, align 8, !tbaa !699, !range !108, !noundef !109 %49 = trunc nuw i8 %.pre6 to i1 br i1 %49, label %_ZN4asio6detail12posix_threadD2Ev.exit, label %50 @@ -31740,7 +31740,7 @@ _ZN4asio6detail27conditionally_enabled_mutex11scoped_lockC2ERS1_.exit.thread.i: _ZN4asio6detail27conditionally_enabled_mutex11scoped_lockC2ERS1_.exit.i: ; preds = %12 %17 = getelementptr inbounds nuw i8, ptr %0, i64 56 %18 = tail call i32 @pthread_mutex_lock(ptr noundef nonnull align 8 dereferenceable(40) %17) #37 - %.pre.i = load i8, ptr %13, align 8, !tbaa !261, !range !108 + %.pre.i = load i8, ptr %13, align 8, !tbaa !261, !range !108, !noundef !109 %19 = getelementptr inbounds nuw i8, ptr %0, i64 232 store i8 1, ptr %19, align 8, !tbaa !718 %20 = trunc nuw i8 %.pre.i to i1 @@ -32892,7 +32892,7 @@ _ZN4asio6detail27conditionally_enabled_mutex11scoped_lockC2ERS1_.exit.thread.i.i _ZN4asio6detail27conditionally_enabled_mutex11scoped_lockC2ERS1_.exit.i.i: ; preds = %19 %24 = getelementptr inbounds nuw i8, ptr %15, i64 56 %25 = tail call i32 @pthread_mutex_lock(ptr noundef nonnull align 8 dereferenceable(40) %24) #37 - %.pre.i.i = load i8, ptr %20, align 8, !tbaa !261, !range !108 + %.pre.i.i = load i8, ptr %20, align 8, !tbaa !261, !range !108, !noundef !109 %26 = getelementptr inbounds nuw i8, ptr %15, i64 232 store i8 1, ptr %26, align 8, !tbaa !718 %27 = trunc nuw i8 %.pre.i.i to i1 @@ -34815,7 +34815,7 @@ _ZN4asio6detail10call_stackINS0_14thread_contextENS0_16thread_info_baseEE8contai 30: ; preds = %.thread %31 = getelementptr inbounds nuw i8, ptr %0, i64 56 %32 = tail call i32 @pthread_mutex_lock(ptr noundef nonnull align 8 dereferenceable(40) %31) #37 - %.pre = load i8, ptr %24, align 8, !tbaa !261, !range !108 + %.pre = load i8, ptr %24, align 8, !tbaa !261, !range !108, !noundef !109 %33 = getelementptr inbounds nuw i8, ptr %0, i64 216 store ptr null, ptr %1, align 8, !tbaa !256 %34 = getelementptr inbounds nuw i8, ptr %0, i64 224 @@ -36169,7 +36169,7 @@ _ZN4asio6detail27conditionally_enabled_mutex11scoped_lockC2ERS1_.exit.thread.i.i _ZN4asio6detail27conditionally_enabled_mutex11scoped_lockC2ERS1_.exit.i.i: ; preds = %10 %15 = getelementptr inbounds nuw i8, ptr %6, i64 56 %16 = tail call i32 @pthread_mutex_lock(ptr noundef nonnull align 8 dereferenceable(40) %15) #37 - %.pre.i.i = load i8, ptr %11, align 8, !tbaa !261, !range !108 + %.pre.i.i = load i8, ptr %11, align 8, !tbaa !261, !range !108, !noundef !109 %17 = getelementptr inbounds nuw i8, ptr %6, i64 232 store i8 1, ptr %17, align 8, !tbaa !718 %18 = trunc nuw i8 %.pre.i.i to i1 @@ -37379,7 +37379,7 @@ define linkonce_odr dso_local noundef ptr @_ZN4asio6detail13epoll_reactor16descr 7: ; preds = %2 %8 = getelementptr inbounds nuw i8, ptr %0, i64 48 %9 = tail call i32 @pthread_mutex_lock(ptr noundef nonnull align 8 dereferenceable(40) %8) #37 - %.pre = load i8, ptr %4, align 8, !tbaa !261, !range !108 + %.pre = load i8, ptr %4, align 8, !tbaa !261, !range !108, !noundef !109 %10 = trunc nuw i8 %.pre to i1 br label %_ZN4asio6detail27conditionally_enabled_mutex4lockEv.exit @@ -49255,7 +49255,7 @@ _ZN4asio6detail27conditionally_enabled_mutex11scoped_lockC2ERS1_.exit.thread.i.i _ZN4asio6detail27conditionally_enabled_mutex11scoped_lockC2ERS1_.exit.i.i: ; preds = %33 %41 = getelementptr inbounds nuw i8, ptr %36, i64 56 %42 = call i32 @pthread_mutex_lock(ptr noundef nonnull align 8 dereferenceable(40) %41) #37 - %.pre.i.i = load i8, ptr %37, align 8, !tbaa !261, !range !108 + %.pre.i.i = load i8, ptr %37, align 8, !tbaa !261, !range !108, !noundef !109 %43 = getelementptr inbounds nuw i8, ptr %36, i64 232 store i8 1, ptr %43, align 8, !tbaa !718 %44 = trunc nuw i8 %.pre.i.i to i1 @@ -49414,7 +49414,7 @@ _ZN4asio6detail27conditionally_enabled_mutex11scoped_lockC2ERS1_.exit.thread.i.i _ZN4asio6detail27conditionally_enabled_mutex11scoped_lockC2ERS1_.exit.i.i29: ; preds = %97 %104 = getelementptr inbounds nuw i8, ptr %99, i64 56 %105 = call i32 @pthread_mutex_lock(ptr noundef nonnull align 8 dereferenceable(40) %104) #37 - %.pre.i.i30 = load i8, ptr %100, align 8, !tbaa !261, !range !108 + %.pre.i.i30 = load i8, ptr %100, align 8, !tbaa !261, !range !108, !noundef !109 %106 = getelementptr inbounds nuw i8, ptr %99, i64 232 store i8 1, ptr %106, align 8, !tbaa !718 %107 = trunc nuw i8 %.pre.i.i30 to i1 @@ -49775,7 +49775,7 @@ _ZN4asio6detail10call_stackINS0_14thread_contextENS0_16thread_info_baseEE8contai 24: ; preds = %.thread %25 = getelementptr inbounds nuw i8, ptr %0, i64 56 %26 = tail call i32 @pthread_mutex_lock(ptr noundef nonnull align 8 dereferenceable(40) %25) #37 - %.pre = load i8, ptr %18, align 8, !tbaa !261, !range !108 + %.pre = load i8, ptr %18, align 8, !tbaa !261, !range !108, !noundef !109 %27 = getelementptr inbounds nuw i8, ptr %0, i64 216 store ptr null, ptr %1, align 8, !tbaa !256 %28 = getelementptr inbounds nuw i8, ptr %0, i64 224 @@ -54276,7 +54276,7 @@ define linkonce_odr dso_local { ptr, i8 } @_ZNSt8_Rb_treeImSt4pairIKmS0_INSt6chr %4 = getelementptr inbounds nuw i8, ptr %0, i64 8 %.02022.i = load ptr, ptr %3, align 8, !tbaa !1248 %.not23.i = icmp eq ptr %.02022.i, null - %.pre.i.pre.pre = load i64, ptr %1, align 8, !tbaa !1474 + %.pre.i.pre.pre = load i64, ptr %1, align 8 br i1 %.not23.i, label %._crit_edge.thread.i, label %.lr.ph.i .lr.ph.i: ; preds = %2, %.lr.ph.i diff --git a/bench/cxxopts/optimized/example.ll b/bench/cxxopts/optimized/example.ll index 520b7106663..ace333dd78b 100644 --- a/bench/cxxopts/optimized/example.ll +++ b/bench/cxxopts/optimized/example.ll @@ -43976,7 +43976,7 @@ define linkonce_odr dso_local noundef nonnull align 8 dereferenceable(8) ptr @_Z %4 = load ptr, ptr %3, align 8, !tbaa !403 %5 = getelementptr inbounds nuw i8, ptr %0, i64 8 %.not10.i.i.i = icmp eq ptr %4, null - %.pre = load i64, ptr %1, align 8, !tbaa !10 + %.pre = load i64, ptr %1, align 8 br i1 %.not10.i.i.i, label %.critedge, label %.lr.ph.i.i.i .lr.ph.i.i.i: ; preds = %2, %.lr.ph.i.i.i @@ -44489,7 +44489,7 @@ define linkonce_odr dso_local void @_ZNSt5dequeIlSaIlEE16_M_push_back_auxIJRKlEE 43: ; preds = %34 tail call void @_ZNSt5dequeIlSaIlEE17_M_reallocate_mapEmb(ptr noundef nonnull align 8 dereferenceable(80) %0, i64 noundef 1, i1 noundef zeroext false) - %.pre = load ptr, ptr %5, align 8, !tbaa !672 + %.pre = load ptr, ptr %5, align 8 br label %_ZNSt5dequeIlSaIlEE22_M_reserve_map_at_backEm.exit _ZNSt5dequeIlSaIlEE22_M_reserve_map_at_backEm.exit: ; preds = %34, %43 @@ -44679,7 +44679,7 @@ define linkonce_odr dso_local void @_ZNSt5dequeINSt8__detail9_StateSeqINSt7__cxx 43: ; preds = %34 tail call void @_ZNSt5dequeINSt8__detail9_StateSeqINSt7__cxx1112regex_traitsIcEEEESaIS5_EE17_M_reallocate_mapEmb(ptr noundef nonnull align 8 dereferenceable(80) %0, i64 noundef 1, i1 noundef zeroext false) - %.pre = load ptr, ptr %5, align 8, !tbaa !498 + %.pre = load ptr, ptr %5, align 8 br label %_ZNSt5dequeINSt8__detail9_StateSeqINSt7__cxx1112regex_traitsIcEEEESaIS5_EE22_M_reserve_map_at_backEm.exit _ZNSt5dequeINSt8__detail9_StateSeqINSt7__cxx1112regex_traitsIcEEEESaIS5_EE22_M_reserve_map_at_backEm.exit: ; preds = %34, %43 @@ -44871,7 +44871,7 @@ define linkonce_odr dso_local void @_ZNSt5dequeINSt8__detail9_StateSeqINSt7__cxx 43: ; preds = %34 tail call void @_ZNSt5dequeINSt8__detail9_StateSeqINSt7__cxx1112regex_traitsIcEEEESaIS5_EE17_M_reallocate_mapEmb(ptr noundef nonnull align 8 dereferenceable(80) %0, i64 noundef 1, i1 noundef zeroext false) - %.pre = load ptr, ptr %5, align 8, !tbaa !498 + %.pre = load ptr, ptr %5, align 8 br label %_ZNSt5dequeINSt8__detail9_StateSeqINSt7__cxx1112regex_traitsIcEEEESaIS5_EE22_M_reserve_map_at_backEm.exit _ZNSt5dequeINSt8__detail9_StateSeqINSt7__cxx1112regex_traitsIcEEEESaIS5_EE22_M_reserve_map_at_backEm.exit: ; preds = %34, %43 @@ -45797,7 +45797,7 @@ _ZNSt6vectorINSt7__cxx119sub_matchIPKcEESaIS4_EEC2EmRKS4_RKS5_.exit: ; preds = % %31 = getelementptr inbounds nuw i8, ptr %2, i64 16 %.pre.i.i.i.i = load ptr, ptr %2, align 8, !tbaa !1019 %.pre7.i.i.i.i = load ptr, ptr %30, align 8, !tbaa !1018 - %.pre8.i.i.i.i = load i8, ptr %31, align 8, !tbaa !1015, !range !219 + %.pre8.i.i.i.i = load i8, ptr %31, align 8, !tbaa !1015, !range !219, !noundef !220 br label %32 32: ; preds = %32, %.lr.ph.i.i.i.i @@ -45840,7 +45840,7 @@ _ZSt24__uninitialized_fill_n_aIPNSt7__cxx119sub_matchIPKcEEmS4_S4_ET_S6_T0_RKT1_ %43 = getelementptr inbounds nuw i8, ptr %2, i64 16 %.pre.i.i.i.i15 = load ptr, ptr %2, align 8, !tbaa !1019 %.pre7.i.i.i.i16 = load ptr, ptr %42, align 8, !tbaa !1018 - %.pre8.i.i.i.i17 = load i8, ptr %43, align 8, !tbaa !1015, !range !219 + %.pre8.i.i.i.i17 = load i8, ptr %43, align 8, !tbaa !1015, !range !219, !noundef !220 br label %44 44: ; preds = %44, %.lr.ph.i.i.i.i14 @@ -49980,7 +49980,7 @@ _ZNSt6vectorINSt7__cxx119sub_matchIN9__gnu_cxx17__normal_iteratorIPKcNS0_12basic .lr.ph.i.i.i.i: ; preds = %29 %30 = getelementptr inbounds nuw i8, ptr %2, i64 8 %31 = getelementptr inbounds nuw i8, ptr %2, i64 16 - %.pre.i.i.i.i = load i8, ptr %31, align 8, !tbaa !1097, !range !219 + %.pre.i.i.i.i = load i8, ptr %31, align 8, !tbaa !1097, !range !219, !noundef !220 br label %32 32: ; preds = %32, %.lr.ph.i.i.i.i @@ -50023,7 +50023,7 @@ _ZSt24__uninitialized_fill_n_aIPNSt7__cxx119sub_matchIN9__gnu_cxx17__normal_iter %43 = getelementptr inbounds nuw %"class.std::__cxx11::sub_match", ptr %6, i64 %1 %44 = getelementptr inbounds nuw i8, ptr %2, i64 8 %45 = getelementptr inbounds nuw i8, ptr %2, i64 16 - %.pre.i.i.i.i15 = load i8, ptr %45, align 8, !tbaa !1097, !range !219 + %.pre.i.i.i.i15 = load i8, ptr %45, align 8, !tbaa !1097, !range !219, !noundef !220 br label %46 46: ; preds = %46, %.lr.ph.i.i.i.i14 diff --git a/bench/delta-rs/optimized/43rqrp2cinp33t64.ll b/bench/delta-rs/optimized/43rqrp2cinp33t64.ll index dd246ba7028..636e17e8631 100644 --- a/bench/delta-rs/optimized/43rqrp2cinp33t64.ll +++ b/bench/delta-rs/optimized/43rqrp2cinp33t64.ll @@ -754,7 +754,7 @@ define hidden void @_ZN9hashbrown3raw13RawTableInner13drop_elements17h01a581d1c7 %.not.i.i.i = icmp eq i16 %17, -1 br i1 %.not.i.i.i, label %.lr.ph.i.i, label %._crit_edge.i.i -"_ZN91_$LT$hashbrown..raw..RawIter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h8f8a6e877ba8b31dE.llvm.17294361704363063694.exit": ; preds = %12, %._crit_edge.i.i +"_ZN91_$LT$hashbrown..raw..RawIter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h8f8a6e877ba8b31dE.llvm.17294361704363063694.exit": ; preds = %._crit_edge.i.i, %12 %.sroa.6.1 = phi ptr [ %19, %._crit_edge.i.i ], [ %.sroa.6.018, %12 ] %.sroa.03.1 = phi ptr [ %18, %._crit_edge.i.i ], [ %.sroa.03.019, %12 ] %.lcssa.i.i = phi i16 [ %13, %._crit_edge.i.i ], [ %.sroa.84.016, %12 ] @@ -813,7 +813,7 @@ define hidden void @_ZN9hashbrown3raw13RawTableInner13drop_elements17h230dffeafc %.not.i.i.i = icmp eq i16 %18, -1 br i1 %.not.i.i.i, label %.lr.ph.i.i, label %._crit_edge.i.i -"_ZN91_$LT$hashbrown..raw..RawIter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17hfda7751159158450E.exit": ; preds = %12, %._crit_edge.i.i +"_ZN91_$LT$hashbrown..raw..RawIter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17hfda7751159158450E.exit": ; preds = %._crit_edge.i.i, %12 %.sroa.6.1 = phi ptr [ %20, %._crit_edge.i.i ], [ %.sroa.6.018, %12 ] %.sroa.03.1 = phi ptr [ %19, %._crit_edge.i.i ], [ %.sroa.03.019, %12 ] %.lcssa.i.i = phi i16 [ %13, %._crit_edge.i.i ], [ %.sroa.84.016, %12 ] @@ -1404,7 +1404,7 @@ _ZN9hashbrown3raw13RawTableInner20full_buckets_indices17h06ca43303e366e4dE.exit. to label %.noexc6 unwind label %88 .thread71.loopexit: ; preds = %168 - %.pre107 = load i64, ptr %14, align 8, !alias.scope !250, !noalias !251 + %.pre107 = load i64, ptr %14, align 8, !alias.scope !250, !noalias !251, !noundef !14 br label %.thread71 .thread71: ; preds = %.thread71.loopexit, %_ZN9hashbrown3raw13RawTableInner20full_buckets_indices17h06ca43303e366e4dE.exit.i @@ -1655,7 +1655,7 @@ _ZN9hashbrown3raw13RawTableInner23prepare_rehash_in_place17h2d7ad79becd9a34aE.ex br label %_ZN4core3ptr19swap_nonoverlapping17hc6b01411a9235cd7E.exit.i _ZN4core3ptr19swap_nonoverlapping17hc6b01411a9235cd7E.exit.loopexit.i: ; preds = %.preheader.i - %.pre.i26 = load ptr, ptr %0, align 8, !alias.scope !297, !noalias !300 + %.pre.i26 = load ptr, ptr %0, align 8, !alias.scope !297, !noalias !300, !nonnull !14, !noundef !14 br label %_ZN4core3ptr19swap_nonoverlapping17hc6b01411a9235cd7E.exit.i _ZN4core3ptr19swap_nonoverlapping17hc6b01411a9235cd7E.exit.i: ; preds = %_ZN4core3ptr19swap_nonoverlapping17hc6b01411a9235cd7E.exit.loopexit.i, %211 @@ -1841,14 +1841,13 @@ _ZN9hashbrown3raw13RawTableInner16find_insert_slot17he8e89ab18b256145E.exit.i: ; unreachable _ZN9hashbrown3raw13RawTableInner15rehash_in_place17h782a8b650e027c37E.exit: ; preds = %299 - %.pre15.i = load i64, ptr %22, align 8, !alias.scope !288 - %.pre15.i.fr = freeze i64 %.pre15.i - %.pre16.i = add i64 %.pre15.i.fr, 1 + %.pre15.i = load i64, ptr %22, align 8, !alias.scope !288, !noundef !14 + %.pre16.i = add i64 %.pre15.i, 1 %302 = lshr i64 %.pre16.i, 3 %303 = mul nuw i64 %302, 7 - %304 = icmp ult i64 %.pre15.i.fr, 8 - %spec.select = select i1 %304, i64 %.pre15.i.fr, i64 %303 - %.pre = load i64, ptr %14, align 8, !alias.scope !288 + %304 = icmp ult i64 %.pre15.i, 8 + %spec.select = select i1 %304, i64 %.pre15.i, i64 %303 + %.pre = load i64, ptr %14, align 8, !alias.scope !288, !noundef !14 br label %_ZN9hashbrown3raw13RawTableInner15rehash_in_place17h782a8b650e027c37E.exit.thread _ZN9hashbrown3raw13RawTableInner15rehash_in_place17h782a8b650e027c37E.exit.thread: ; preds = %_ZN9hashbrown3raw13RawTableInner15rehash_in_place17h782a8b650e027c37E.exit, %_ZN9hashbrown3raw13RawTableInner23prepare_rehash_in_place17h2d7ad79becd9a34aE.exit.i @@ -1931,7 +1930,7 @@ define hidden void @"_ZN9hashbrown3raw21RawTable$LT$T$C$A$GT$15clone_from_impl17 %.not.i.i.i = icmp eq i16 %26, -1 br i1 %.not.i.i.i, label %.lr.ph.i.i, label %._crit_edge.i.i -"_ZN91_$LT$hashbrown..raw..RawIter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h8f8a6e877ba8b31dE.llvm.17294361704363063694.exit": ; preds = %._crit_edge.i.i, %21 +"_ZN91_$LT$hashbrown..raw..RawIter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h8f8a6e877ba8b31dE.llvm.17294361704363063694.exit": ; preds = %21, %._crit_edge.i.i %.sroa.6.1 = phi ptr [ %28, %._crit_edge.i.i ], [ %.sroa.6.031, %21 ] %.sroa.013.1 = phi ptr [ %27, %._crit_edge.i.i ], [ %.sroa.013.032, %21 ] %.lcssa.i.i = phi i16 [ %22, %._crit_edge.i.i ], [ %.sroa.814.030, %21 ] diff --git a/bench/diesel-rs/optimized/1z3qificwegqnhb.ll b/bench/diesel-rs/optimized/1z3qificwegqnhb.ll index 10f76aba0a2..618edbdc625 100644 --- a/bench/diesel-rs/optimized/1z3qificwegqnhb.ll +++ b/bench/diesel-rs/optimized/1z3qificwegqnhb.ll @@ -373,7 +373,7 @@ define hidden void @"_ZN6diesel10type_impls6tuples94_$LT$impl$u20$diesel..query_ i64 4, label %"_ZN6diesel13query_builder8ast_pass17AstPass$LT$DB$GT$8reborrow17h10d209aa274776bcE.exit" ] -default.unreachable: ; preds = %23 +default.unreachable: ; preds = %"_ZN6diesel13query_builder8ast_pass17AstPass$LT$DB$GT$8push_sql17h9c57d24fc8043983E.exit", %23 unreachable 25: ; preds = %23 @@ -461,7 +461,7 @@ default.unreachable: ; preds = %23 br i1 %21, label %"_ZN6diesel13query_builder8ast_pass17AstPass$LT$DB$GT$8push_sql17h9c57d24fc8043983E.exitthread-pre-split", label %58 "_ZN6diesel13query_builder8ast_pass17AstPass$LT$DB$GT$8push_sql17h9c57d24fc8043983E.exitthread-pre-split": ; preds = %46 - %.pr = load i64, ptr %2, align 8, !alias.scope !78, !noalias !81 + %.pr = load i64, ptr %2, align 8, !range !13, !alias.scope !78, !noalias !81, !noundef !12 br label %"_ZN6diesel13query_builder8ast_pass17AstPass$LT$DB$GT$8push_sql17h9c57d24fc8043983E.exit" "_ZN6diesel13query_builder8ast_pass17AstPass$LT$DB$GT$8push_sql17h9c57d24fc8043983E.exit": ; preds = %"_ZN6diesel13query_builder8ast_pass17AstPass$LT$DB$GT$8push_sql17h9c57d24fc8043983E.exitthread-pre-split", %58 @@ -470,7 +470,7 @@ default.unreachable: ; preds = %23 call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %10) call void @llvm.experimental.noalias.scope.decl(metadata !81) call void @llvm.experimental.noalias.scope.decl(metadata !78) - switch i64 %47, label %default.unreachable1.i68 [ + switch i64 %47, label %default.unreachable [ i64 0, label %48 i64 1, label %51 i64 2, label %"_ZN6diesel13query_builder8ast_pass17AstPass$LT$DB$GT$8reborrow17h10d209aa274776bcE.exit69" @@ -478,9 +478,6 @@ default.unreachable: ; preds = %23 i64 4, label %"_ZN6diesel13query_builder8ast_pass17AstPass$LT$DB$GT$8reborrow17h10d209aa274776bcE.exit69" ] -default.unreachable1.i68: ; preds = %"_ZN6diesel13query_builder8ast_pass17AstPass$LT$DB$GT$8push_sql17h9c57d24fc8043983E.exit" - unreachable - 48: ; preds = %"_ZN6diesel13query_builder8ast_pass17AstPass$LT$DB$GT$8push_sql17h9c57d24fc8043983E.exit.thread", %"_ZN6diesel13query_builder8ast_pass17AstPass$LT$DB$GT$8push_sql17h9c57d24fc8043983E.exit" %49 = getelementptr inbounds nuw i8, ptr %2, i64 16 %50 = load ptr, ptr %49, align 8, !alias.scope !78, !noalias !81, !nonnull !12, !align !19, !noundef !12 @@ -690,7 +687,7 @@ define hidden void @"_ZN6diesel10type_impls6tuples96_$LT$impl$u20$diesel..insert br label %34 "_ZN6diesel13query_builder8ast_pass17AstPass$LT$DB$GT$8push_sql17h9c57d24fc8043983E.exitthread-pre-split": ; preds = %39 - %.pr = load i64, ptr %2, align 8, !alias.scope !115, !noalias !118 + %.pr = load i64, ptr %2, align 8, !range !13, !alias.scope !115, !noalias !118, !noundef !12 br label %"_ZN6diesel13query_builder8ast_pass17AstPass$LT$DB$GT$8reborrow17h10d209aa274776bcE.exit75" "_ZN6diesel13query_builder8ast_pass17AstPass$LT$DB$GT$8reborrow17h10d209aa274776bcE.exit75": ; preds = %"_ZN6diesel13query_builder8ast_pass17AstPass$LT$DB$GT$8push_sql17h9c57d24fc8043983E.exitthread-pre-split", %48, %"_ZN6diesel13query_builder8ast_pass17AstPass$LT$DB$GT$8push_sql17h9c57d24fc8043983E.exit.thread112", %"_ZN6diesel13query_builder8ast_pass17AstPass$LT$DB$GT$8push_sql17h9c57d24fc8043983E.exit.thread" @@ -883,7 +880,7 @@ define hidden void @"_ZN74_$LT$T$u20$as$u20$diesel..deserialize..FromStaticSqlRo "_ZN88_$LT$diesel..row..private..PartialRow$LT$R$GT$$u20$as$u20$diesel..row..Row$LT$DB$GT$$GT$3get17h8b5b90ad1721e821E.exit": ; preds = %"_ZN96_$LT$diesel..row..private..PartialRow$LT$R$GT$$u20$as$u20$diesel..row..RowIndex$LT$usize$GT$$GT$3idx17h5ff1fd81231d2d58E.llvm.7328133534139293026.exit.i" call void @"_ZN118_$LT$diesel..sqlite..connection..row..SqliteRow$u20$as$u20$diesel..row..Row$LT$diesel..sqlite..backend..Sqlite$GT$$GT$3get17h7b260c0c100f08eaE"(ptr noalias noundef nonnull sret({ ptr, [2 x i64] }) align 8 captures(none) dereferenceable(24) %6, ptr noalias noundef nonnull readonly align 8 dereferenceable(16) %8, i64 noundef %.fca.1.extract.i.i) - %.pr = load ptr, ptr %6, align 8 + %.pr = load ptr, ptr %6, align 8, !noundef !12 %13 = icmp eq ptr %.pr, null br i1 %13, label %"_ZN88_$LT$diesel..row..private..PartialRow$LT$R$GT$$u20$as$u20$diesel..row..Row$LT$DB$GT$$GT$3get17h8b5b90ad1721e821E.exit.thread", label %14 @@ -987,7 +984,7 @@ define hidden void @"_ZN74_$LT$T$u20$as$u20$diesel..deserialize..FromStaticSqlRo "_ZN88_$LT$diesel..row..private..PartialRow$LT$R$GT$$u20$as$u20$diesel..row..Row$LT$DB$GT$$GT$3get17h8b5b90ad1721e821E.exit": ; preds = %"_ZN96_$LT$diesel..row..private..PartialRow$LT$R$GT$$u20$as$u20$diesel..row..RowIndex$LT$usize$GT$$GT$3idx17h5ff1fd81231d2d58E.llvm.7328133534139293026.exit.i" call void @"_ZN118_$LT$diesel..sqlite..connection..row..SqliteRow$u20$as$u20$diesel..row..Row$LT$diesel..sqlite..backend..Sqlite$GT$$GT$3get17h7b260c0c100f08eaE"(ptr noalias noundef nonnull sret({ ptr, [2 x i64] }) align 8 captures(none) dereferenceable(24) %6, ptr noalias noundef nonnull readonly align 8 dereferenceable(16) %8, i64 noundef %.fca.1.extract.i.i) - %.pr = load ptr, ptr %6, align 8 + %.pr = load ptr, ptr %6, align 8, !noundef !12 %13 = icmp eq ptr %.pr, null br i1 %13, label %"_ZN88_$LT$diesel..row..private..PartialRow$LT$R$GT$$u20$as$u20$diesel..row..Row$LT$DB$GT$$GT$3get17h8b5b90ad1721e821E.exit.thread", label %14 diff --git a/bench/diesel-rs/optimized/2v5qbz8ymz403d7r.ll b/bench/diesel-rs/optimized/2v5qbz8ymz403d7r.ll index 345165e2e1b..8fb7f9cc3e3 100644 --- a/bench/diesel-rs/optimized/2v5qbz8ymz403d7r.ll +++ b/bench/diesel-rs/optimized/2v5qbz8ymz403d7r.ll @@ -715,7 +715,7 @@ define hidden void @"_ZN6diesel10type_impls6tuples94_$LT$impl$u20$diesel..query_ i64 4, label %"_ZN6diesel13query_builder8ast_pass17AstPass$LT$DB$GT$8reborrow17h5cbe3d7dc11a931cE.exit" ] -default.unreachable: ; preds = %23 +default.unreachable: ; preds = %"_ZN6diesel13query_builder8ast_pass17AstPass$LT$DB$GT$8push_sql17h049524c4947878d7E.exit", %23 unreachable 25: ; preds = %23 @@ -803,7 +803,7 @@ default.unreachable: ; preds = %23 br i1 %21, label %"_ZN6diesel13query_builder8ast_pass17AstPass$LT$DB$GT$8push_sql17h049524c4947878d7E.exitthread-pre-split", label %58 "_ZN6diesel13query_builder8ast_pass17AstPass$LT$DB$GT$8push_sql17h049524c4947878d7E.exitthread-pre-split": ; preds = %46 - %.pr = load i64, ptr %2, align 8, !alias.scope !175, !noalias !178 + %.pr = load i64, ptr %2, align 8, !range !38, !alias.scope !175, !noalias !178, !noundef !14 br label %"_ZN6diesel13query_builder8ast_pass17AstPass$LT$DB$GT$8push_sql17h049524c4947878d7E.exit" "_ZN6diesel13query_builder8ast_pass17AstPass$LT$DB$GT$8push_sql17h049524c4947878d7E.exit": ; preds = %"_ZN6diesel13query_builder8ast_pass17AstPass$LT$DB$GT$8push_sql17h049524c4947878d7E.exitthread-pre-split", %58 @@ -812,7 +812,7 @@ default.unreachable: ; preds = %23 call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %10) call void @llvm.experimental.noalias.scope.decl(metadata !178) call void @llvm.experimental.noalias.scope.decl(metadata !175) - switch i64 %47, label %default.unreachable1.i68 [ + switch i64 %47, label %default.unreachable [ i64 0, label %48 i64 1, label %51 i64 2, label %"_ZN6diesel13query_builder8ast_pass17AstPass$LT$DB$GT$8reborrow17h5cbe3d7dc11a931cE.exit69" @@ -820,9 +820,6 @@ default.unreachable: ; preds = %23 i64 4, label %"_ZN6diesel13query_builder8ast_pass17AstPass$LT$DB$GT$8reborrow17h5cbe3d7dc11a931cE.exit69" ] -default.unreachable1.i68: ; preds = %"_ZN6diesel13query_builder8ast_pass17AstPass$LT$DB$GT$8push_sql17h049524c4947878d7E.exit" - unreachable - 48: ; preds = %"_ZN6diesel13query_builder8ast_pass17AstPass$LT$DB$GT$8push_sql17h049524c4947878d7E.exit.thread", %"_ZN6diesel13query_builder8ast_pass17AstPass$LT$DB$GT$8push_sql17h049524c4947878d7E.exit" %49 = getelementptr inbounds nuw i8, ptr %2, i64 16 %50 = load ptr, ptr %49, align 8, !alias.scope !175, !noalias !178, !nonnull !14, !align !42, !noundef !14 @@ -955,7 +952,7 @@ define hidden void @"_ZN6diesel10type_impls6tuples96_$LT$impl$u20$diesel..insert i64 3, label %"_ZN6diesel13query_builder8ast_pass17AstPass$LT$DB$GT$8reborrow17h5cbe3d7dc11a931cE.exit.thread" ] -default.unreachable: ; preds = %21 +default.unreachable: ; preds = %21, %"_ZN6diesel13query_builder8ast_pass17AstPass$LT$DB$GT$8push_sql17h049524c4947878d7E.exit" unreachable "_ZN6diesel13query_builder8ast_pass17AstPass$LT$DB$GT$8reborrow17h5cbe3d7dc11a931cE.exit.thread98": ; preds = %21 @@ -1035,12 +1032,12 @@ default.unreachable: ; preds = %21 br label %32 "_ZN6diesel13query_builder8ast_pass17AstPass$LT$DB$GT$8push_sql17h049524c4947878d7E.exitthread-pre-split": ; preds = %37 - %.pr = load i64, ptr %2, align 8, !alias.scope !211, !noalias !214 + %.pr = load i64, ptr %2, align 8, !range !38, !alias.scope !211, !noalias !214, !noundef !14 br label %"_ZN6diesel13query_builder8ast_pass17AstPass$LT$DB$GT$8push_sql17h049524c4947878d7E.exit" "_ZN6diesel13query_builder8ast_pass17AstPass$LT$DB$GT$8push_sql17h049524c4947878d7E.exit": ; preds = %"_ZN6diesel13query_builder8ast_pass17AstPass$LT$DB$GT$8push_sql17h049524c4947878d7E.exitthread-pre-split", %43 %38 = phi i64 [ %.pr, %"_ZN6diesel13query_builder8ast_pass17AstPass$LT$DB$GT$8push_sql17h049524c4947878d7E.exitthread-pre-split" ], [ %44, %43 ] - switch i64 %38, label %default.unreachable1.i72 [ + switch i64 %38, label %default.unreachable [ i64 0, label %"_ZN6diesel13query_builder8ast_pass17AstPass$LT$DB$GT$8push_sql17h049524c4947878d7E.exit._ZN6diesel13query_builder8ast_pass17AstPass$LT$DB$GT$8reborrow17h5cbe3d7dc11a931cE.exit73.thread114_crit_edge" i64 1, label %"_ZN6diesel13query_builder8ast_pass17AstPass$LT$DB$GT$8reborrow17h5cbe3d7dc11a931cE.exit73.thread" i64 2, label %"_ZN6diesel13query_builder8ast_pass17AstPass$LT$DB$GT$8reborrow17h5cbe3d7dc11a931cE.exit73" @@ -1050,12 +1047,9 @@ default.unreachable: ; preds = %21 "_ZN6diesel13query_builder8ast_pass17AstPass$LT$DB$GT$8push_sql17h049524c4947878d7E.exit._ZN6diesel13query_builder8ast_pass17AstPass$LT$DB$GT$8reborrow17h5cbe3d7dc11a931cE.exit73.thread114_crit_edge": ; preds = %"_ZN6diesel13query_builder8ast_pass17AstPass$LT$DB$GT$8push_sql17h049524c4947878d7E.exit" %.sroa.6.0.in.i68115.phi.trans.insert = getelementptr inbounds nuw i8, ptr %2, i64 8 - %.sroa.6.0.i69116.pre = load ptr, ptr %.sroa.6.0.in.i68115.phi.trans.insert, align 8, !alias.scope !211, !noalias !214 + %.sroa.6.0.i69116.pre = load ptr, ptr %.sroa.6.0.in.i68115.phi.trans.insert, align 8, !alias.scope !211, !noalias !214, !nonnull !14, !align !42, !noundef !14 br label %"_ZN6diesel13query_builder8ast_pass17AstPass$LT$DB$GT$8reborrow17h5cbe3d7dc11a931cE.exit73.thread114" -default.unreachable1.i72: ; preds = %"_ZN6diesel13query_builder8ast_pass17AstPass$LT$DB$GT$8push_sql17h049524c4947878d7E.exit" - unreachable - "_ZN6diesel13query_builder8ast_pass17AstPass$LT$DB$GT$8reborrow17h5cbe3d7dc11a931cE.exit73.thread114": ; preds = %"_ZN6diesel13query_builder8ast_pass17AstPass$LT$DB$GT$8push_sql17h049524c4947878d7E.exit._ZN6diesel13query_builder8ast_pass17AstPass$LT$DB$GT$8reborrow17h5cbe3d7dc11a931cE.exit73.thread114_crit_edge", %"_ZN6diesel13query_builder8ast_pass17AstPass$LT$DB$GT$8push_sql17h049524c4947878d7E.exit.thread" %.sroa.6.0.i69116 = phi ptr [ %.sroa.6.0.i69116.pre, %"_ZN6diesel13query_builder8ast_pass17AstPass$LT$DB$GT$8push_sql17h049524c4947878d7E.exit._ZN6diesel13query_builder8ast_pass17AstPass$LT$DB$GT$8reborrow17h5cbe3d7dc11a931cE.exit73.thread114_crit_edge" ], [ %46, %"_ZN6diesel13query_builder8ast_pass17AstPass$LT$DB$GT$8push_sql17h049524c4947878d7E.exit.thread" ] call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %4), !noalias !216 diff --git a/bench/diesel-rs/optimized/4l61q7h3mw8r4045.ll b/bench/diesel-rs/optimized/4l61q7h3mw8r4045.ll index 20bb07da9da..fa66f27ef69 100644 --- a/bench/diesel-rs/optimized/4l61q7h3mw8r4045.ll +++ b/bench/diesel-rs/optimized/4l61q7h3mw8r4045.ll @@ -934,7 +934,7 @@ define internal fastcc void @"_ZN6diesel10type_impls6tuples94_$LT$impl$u20$diese i64 4, label %"_ZN6diesel13query_builder8ast_pass17AstPass$LT$DB$GT$8reborrow17h287e8d1d43732d6cE.exit" ] -default.unreachable: ; preds = %23 +default.unreachable: ; preds = %"_ZN6diesel13query_builder8ast_pass17AstPass$LT$DB$GT$8push_sql17h34a3355d66690e60E.exit", %23 unreachable 25: ; preds = %23 @@ -1027,7 +1027,7 @@ default.unreachable: ; preds = %23 br i1 %21, label %"_ZN6diesel13query_builder8ast_pass17AstPass$LT$DB$GT$8push_sql17h34a3355d66690e60E.exitthread-pre-split", label %62 "_ZN6diesel13query_builder8ast_pass17AstPass$LT$DB$GT$8push_sql17h34a3355d66690e60E.exitthread-pre-split": ; preds = %48 - %.pr = load i64, ptr %2, align 8, !alias.scope !270, !noalias !273 + %.pr = load i64, ptr %2, align 8, !range !42, !alias.scope !270, !noalias !273, !noundef !14 br label %"_ZN6diesel13query_builder8ast_pass17AstPass$LT$DB$GT$8push_sql17h34a3355d66690e60E.exit" "_ZN6diesel13query_builder8ast_pass17AstPass$LT$DB$GT$8push_sql17h34a3355d66690e60E.exit": ; preds = %"_ZN6diesel13query_builder8ast_pass17AstPass$LT$DB$GT$8push_sql17h34a3355d66690e60E.exitthread-pre-split", %62 @@ -1036,7 +1036,7 @@ default.unreachable: ; preds = %23 call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %10) call void @llvm.experimental.noalias.scope.decl(metadata !273) call void @llvm.experimental.noalias.scope.decl(metadata !270) - switch i64 %49, label %default.unreachable1.i70 [ + switch i64 %49, label %default.unreachable [ i64 0, label %50 i64 1, label %53 i64 2, label %"_ZN6diesel13query_builder8ast_pass17AstPass$LT$DB$GT$8reborrow17h287e8d1d43732d6cE.exit71" @@ -1044,9 +1044,6 @@ default.unreachable: ; preds = %23 i64 4, label %"_ZN6diesel13query_builder8ast_pass17AstPass$LT$DB$GT$8reborrow17h287e8d1d43732d6cE.exit71" ] -default.unreachable1.i70: ; preds = %"_ZN6diesel13query_builder8ast_pass17AstPass$LT$DB$GT$8push_sql17h34a3355d66690e60E.exit" - unreachable - 50: ; preds = %"_ZN6diesel13query_builder8ast_pass17AstPass$LT$DB$GT$8push_sql17h34a3355d66690e60E.exit.thread", %"_ZN6diesel13query_builder8ast_pass17AstPass$LT$DB$GT$8push_sql17h34a3355d66690e60E.exit" %51 = getelementptr inbounds nuw i8, ptr %2, i64 16 %52 = load ptr, ptr %51, align 8, !alias.scope !270, !noalias !273, !nonnull !14, !align !44, !noundef !14 diff --git a/bench/diesel-rs/optimized/vl08vh3jfmwhanx.ll b/bench/diesel-rs/optimized/vl08vh3jfmwhanx.ll index efc65332cde..80cab89d9af 100644 --- a/bench/diesel-rs/optimized/vl08vh3jfmwhanx.ll +++ b/bench/diesel-rs/optimized/vl08vh3jfmwhanx.ll @@ -1771,13 +1771,13 @@ define hidden void @"_ZN6diesel10type_impls6tuples94_$LT$impl$u20$diesel..query_ "_ZN96_$LT$core..option..Option$LT$T$GT$$u20$as$u20$diesel..query_builder..QueryFragment$LT$DB$GT$$GT$8walk_ast17hdb4c9c65e296e50cE.exit.i": ; preds = %3 call void @"_ZN138_$LT$diesel..query_builder..update_statement..changeset..Assign$LT$T$C$U$GT$$u20$as$u20$diesel..query_builder..QueryFragment$LT$DB$GT$$GT$8walk_ast17h8377b18a4c43e2d3E"(ptr noalias noundef nonnull sret({ i64, [3 x i64] }) align 8 captures(none) dereferenceable(32) %8, ptr noalias noundef nonnull readonly align 8 dereferenceable(8) %1, ptr noalias noundef nonnull align 8 captures(none) dereferenceable(40) %7), !noalias !444 - %.pr.i = load i64, ptr %8, align 8, !noalias !435 + %.pr.i = load i64, ptr %8, align 8, !range !5, !noalias !435, !noundef !4 call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %7), !noalias !435 %19 = icmp eq i64 %.pr.i, -9223372036854775798 br i1 %19, label %20, label %22 20: ; preds = %"_ZN96_$LT$core..option..Option$LT$T$GT$$u20$as$u20$diesel..query_builder..QueryFragment$LT$DB$GT$$GT$8walk_ast17hdb4c9c65e296e50cE.exit.i" - %.pre.i = load i8, ptr %9, align 1, !range !13, !noalias !435 + %.pre.i = load i8, ptr %9, align 1, !range !13, !noalias !435, !noundef !4 call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %8), !noalias !435 call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %9), !noalias !435 %21 = trunc nuw i8 %.pre.i to i1 @@ -1811,7 +1811,7 @@ define hidden void @"_ZN6diesel10type_impls6tuples94_$LT$impl$u20$diesel..query_ i64 4, label %"_ZN96_$LT$core..option..Option$LT$T$GT$$u20$as$u20$diesel..query_builder..QueryFragment$LT$DB$GT$$GT$8walk_ast17hdb4c9c65e296e50cE.exit" ] -default.unreachable: ; preds = %23 +default.unreachable: ; preds = %"_ZN6diesel13query_builder8ast_pass17AstPass$LT$DB$GT$8push_sql17h2c5939a20ea34722E.exit", %23 unreachable 25: ; preds = %23 @@ -1884,7 +1884,7 @@ default.unreachable: ; preds = %23 "_ZN96_$LT$core..option..Option$LT$T$GT$$u20$as$u20$diesel..query_builder..QueryFragment$LT$DB$GT$$GT$8walk_ast17h386c24570e0c4936E.exit.i": ; preds = %38 call void @"_ZN138_$LT$diesel..query_builder..update_statement..changeset..Assign$LT$T$C$U$GT$$u20$as$u20$diesel..query_builder..QueryFragment$LT$DB$GT$$GT$8walk_ast17h073ff28741438ce4E"(ptr noalias noundef nonnull sret({ i64, [3 x i64] }) align 8 captures(none) dereferenceable(32) %5, ptr noalias noundef nonnull readonly align 8 dereferenceable(8) %40, ptr noalias noundef nonnull align 8 captures(none) dereferenceable(40) %4), !noalias !462 - %.pr.i61 = load i64, ptr %5, align 8, !noalias !453 + %.pr.i61 = load i64, ptr %5, align 8, !range !5, !noalias !453, !noundef !4 call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %4), !noalias !453 %44 = icmp eq i64 %.pr.i61, -9223372036854775798 br i1 %44, label %46, label %48 @@ -1893,7 +1893,7 @@ default.unreachable: ; preds = %23 ret void 46: ; preds = %"_ZN96_$LT$core..option..Option$LT$T$GT$$u20$as$u20$diesel..query_builder..QueryFragment$LT$DB$GT$$GT$8walk_ast17h386c24570e0c4936E.exit.i" - %.pre.i64 = load i8, ptr %6, align 1, !range !13, !noalias !453 + %.pre.i64 = load i8, ptr %6, align 1, !range !13, !noalias !453, !noundef !4 call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %5), !noalias !453 call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %6), !noalias !453 %47 = trunc nuw i8 %.pre.i64 to i1 @@ -1917,7 +1917,7 @@ default.unreachable: ; preds = %23 br i1 %39, label %"_ZN6diesel13query_builder8ast_pass17AstPass$LT$DB$GT$8push_sql17h2c5939a20ea34722E.exitthread-pre-split", label %63 "_ZN6diesel13query_builder8ast_pass17AstPass$LT$DB$GT$8push_sql17h2c5939a20ea34722E.exitthread-pre-split": ; preds = %49 - %.pr = load i64, ptr %2, align 8, !alias.scope !463, !noalias !466 + %.pr = load i64, ptr %2, align 8, !range !6, !alias.scope !463, !noalias !466, !noundef !4 br label %"_ZN6diesel13query_builder8ast_pass17AstPass$LT$DB$GT$8push_sql17h2c5939a20ea34722E.exit" "_ZN6diesel13query_builder8ast_pass17AstPass$LT$DB$GT$8push_sql17h2c5939a20ea34722E.exit": ; preds = %"_ZN6diesel13query_builder8ast_pass17AstPass$LT$DB$GT$8push_sql17h2c5939a20ea34722E.exitthread-pre-split", %63 @@ -1926,7 +1926,7 @@ default.unreachable: ; preds = %23 call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %10) call void @llvm.experimental.noalias.scope.decl(metadata !466) call void @llvm.experimental.noalias.scope.decl(metadata !463) - switch i64 %50, label %default.unreachable1.i72 [ + switch i64 %50, label %default.unreachable [ i64 0, label %51 i64 1, label %54 i64 2, label %"_ZN96_$LT$core..option..Option$LT$T$GT$$u20$as$u20$diesel..query_builder..QueryFragment$LT$DB$GT$$GT$8walk_ast17h386c24570e0c4936E.exit" @@ -1934,9 +1934,6 @@ default.unreachable: ; preds = %23 i64 4, label %"_ZN96_$LT$core..option..Option$LT$T$GT$$u20$as$u20$diesel..query_builder..QueryFragment$LT$DB$GT$$GT$8walk_ast17h386c24570e0c4936E.exit" ] -default.unreachable1.i72: ; preds = %"_ZN6diesel13query_builder8ast_pass17AstPass$LT$DB$GT$8push_sql17h2c5939a20ea34722E.exit" - unreachable - 51: ; preds = %"_ZN6diesel13query_builder8ast_pass17AstPass$LT$DB$GT$8push_sql17h2c5939a20ea34722E.exit.thread", %"_ZN6diesel13query_builder8ast_pass17AstPass$LT$DB$GT$8push_sql17h2c5939a20ea34722E.exit" %52 = getelementptr inbounds nuw i8, ptr %2, i64 16 %53 = load ptr, ptr %52, align 8, !alias.scope !463, !noalias !466, !nonnull !4, !align !12, !noundef !4 diff --git a/bench/glog/optimized/logging.ll b/bench/glog/optimized/logging.ll index da458c0e6cd..74768d43f96 100644 --- a/bench/glog/optimized/logging.ll +++ b/bench/glog/optimized/logging.ll @@ -2838,7 +2838,7 @@ define void @_ZN6google10LogMessage9SendToLogEv(ptr noundef nonnull align 8 dere br i1 %14, label %99, label %._crit_edge ._crit_edge: ; preds = %13 - %.pre = load i8, ptr @_ZN3fLB17FLAGS_logtostdoutE, align 1, !tbaa !93, !range !92 + %.pre = load i8, ptr @_ZN3fLB17FLAGS_logtostdoutE, align 1, !tbaa !93, !range !92, !noundef !94 br label %15 15: ; preds = %._crit_edge, %8 @@ -20591,7 +20591,7 @@ _ZNSt6vectorINSt7__cxx119sub_matchIN9__gnu_cxx17__normal_iteratorIPKcNS0_12basic .lr.ph.i.i.i.i: ; preds = %29 %30 = getelementptr inbounds nuw i8, ptr %2, i64 8 %31 = getelementptr inbounds nuw i8, ptr %2, i64 16 - %.pre.i.i.i.i = load i8, ptr %31, align 8, !tbaa !520, !range !92 + %.pre.i.i.i.i = load i8, ptr %31, align 8, !tbaa !520, !range !92, !noundef !94 br label %32 32: ; preds = %32, %.lr.ph.i.i.i.i @@ -20634,7 +20634,7 @@ _ZSt24__uninitialized_fill_n_aIPNSt7__cxx119sub_matchIN9__gnu_cxx17__normal_iter %43 = getelementptr inbounds nuw %"class.std::__cxx11::sub_match", ptr %6, i64 %1 %44 = getelementptr inbounds nuw i8, ptr %2, i64 8 %45 = getelementptr inbounds nuw i8, ptr %2, i64 16 - %.pre.i.i.i.i15 = load i8, ptr %45, align 8, !tbaa !520, !range !92 + %.pre.i.i.i.i15 = load i8, ptr %45, align 8, !tbaa !520, !range !92, !noundef !94 br label %46 46: ; preds = %46, %.lr.ph.i.i.i.i14 @@ -48350,7 +48350,7 @@ define linkonce_odr hidden noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt %4 = load ptr, ptr %3, align 8, !tbaa !1045 %5 = getelementptr inbounds nuw i8, ptr %0, i64 8 %.not10.i.i.i = icmp eq ptr %4, null - %.pre = load i64, ptr %1, align 8, !tbaa !68 + %.pre = load i64, ptr %1, align 8 br i1 %.not10.i.i.i, label %.critedge, label %.lr.ph.i.i.i .lr.ph.i.i.i: ; preds = %2, %.lr.ph.i.i.i @@ -48863,7 +48863,7 @@ define linkonce_odr void @_ZNSt5dequeIlSaIlEE16_M_push_back_auxIJRKlEEEvDpOT_(pt 43: ; preds = %34 tail call void @_ZNSt5dequeIlSaIlEE17_M_reallocate_mapEmb(ptr noundef nonnull align 8 dereferenceable(80) %0, i64 noundef 1, i1 noundef zeroext false) - %.pre = load ptr, ptr %5, align 8, !tbaa !781 + %.pre = load ptr, ptr %5, align 8 br label %_ZNSt5dequeIlSaIlEE22_M_reserve_map_at_backEm.exit _ZNSt5dequeIlSaIlEE22_M_reserve_map_at_backEm.exit: ; preds = %34, %43 @@ -49053,7 +49053,7 @@ define linkonce_odr void @_ZNSt5dequeINSt8__detail9_StateSeqINSt7__cxx1112regex_ 43: ; preds = %34 tail call void @_ZNSt5dequeINSt8__detail9_StateSeqINSt7__cxx1112regex_traitsIcEEEESaIS5_EE17_M_reallocate_mapEmb(ptr noundef nonnull align 8 dereferenceable(80) %0, i64 noundef 1, i1 noundef zeroext false) - %.pre = load ptr, ptr %5, align 8, !tbaa !616 + %.pre = load ptr, ptr %5, align 8 br label %_ZNSt5dequeINSt8__detail9_StateSeqINSt7__cxx1112regex_traitsIcEEEESaIS5_EE22_M_reserve_map_at_backEm.exit _ZNSt5dequeINSt8__detail9_StateSeqINSt7__cxx1112regex_traitsIcEEEESaIS5_EE22_M_reserve_map_at_backEm.exit: ; preds = %34, %43 @@ -49245,7 +49245,7 @@ define linkonce_odr void @_ZNSt5dequeINSt8__detail9_StateSeqINSt7__cxx1112regex_ 43: ; preds = %34 tail call void @_ZNSt5dequeINSt8__detail9_StateSeqINSt7__cxx1112regex_traitsIcEEEESaIS5_EE17_M_reallocate_mapEmb(ptr noundef nonnull align 8 dereferenceable(80) %0, i64 noundef 1, i1 noundef zeroext false) - %.pre = load ptr, ptr %5, align 8, !tbaa !616 + %.pre = load ptr, ptr %5, align 8 br label %_ZNSt5dequeINSt8__detail9_StateSeqINSt7__cxx1112regex_traitsIcEEEESaIS5_EE22_M_reserve_map_at_backEm.exit _ZNSt5dequeINSt8__detail9_StateSeqINSt7__cxx1112regex_traitsIcEEEESaIS5_EE22_M_reserve_map_at_backEm.exit: ; preds = %34, %43 diff --git a/bench/gromacs/optimized/coordinatefile.ll b/bench/gromacs/optimized/coordinatefile.ll index dc4110d5b14..85ae32c6504 100644 --- a/bench/gromacs/optimized/coordinatefile.ll +++ b/bench/gromacs/optimized/coordinatefile.ll @@ -2665,7 +2665,6 @@ define void @_ZN3gmx21TrajectoryFrameWriter20prepareAndWriteFrameEiRK10t_trxfram 22: ; preds = %6 %23 = sub nuw nsw i64 %13, %20 call void @_ZNSt6vectorIiSaIiEE17_M_default_appendEm(ptr noundef nonnull align 8 dereferenceable(24) %11, i64 noundef %23) - %.pre30.pre31.pre = load i32, ptr %8, align 8, !tbaa !234 br label %_ZNSt6vectorIiSaIiEE6resizeEm.exit 24: ; preds = %6 @@ -2682,17 +2681,17 @@ define void @_ZN3gmx21TrajectoryFrameWriter20prepareAndWriteFrameEiRK10t_trxfram br label %_ZNSt6vectorIiSaIiEE6resizeEm.exit _ZNSt6vectorIiSaIiEE6resizeEm.exit: ; preds = %22, %24, %26, %28 - %.pre30.pre31 = phi i32 [ %.pre30.pre31.pre, %22 ], [ %12, %24 ], [ %12, %26 ], [ %12, %28 ] %29 = getelementptr inbounds nuw i8, ptr %2, i64 80 %30 = load i8, ptr %29, align 8, !tbaa !237, !range !238, !noundef !239 %31 = trunc nuw i8 %30 to i1 + %.pre30.pre31 = load i32, ptr %8, align 8 br i1 %31, label %32, label %35 32: ; preds = %_ZNSt6vectorIiSaIiEE6resizeEm.exit %33 = getelementptr inbounds nuw i8, ptr %0, i64 4200 %34 = sext i32 %.pre30.pre31 to i64 call void @_ZNSt6vectorIN3gmx11BasicVectorIfEESaIS2_EE6resizeEm(ptr noundef nonnull align 8 dereferenceable(24) %33, i64 noundef %34) - %.pre30.pre = load i32, ptr %8, align 8, !tbaa !234 + %.pre30.pre = load i32, ptr %8, align 8 br label %35 35: ; preds = %32, %_ZNSt6vectorIiSaIiEE6resizeEm.exit @@ -2706,8 +2705,8 @@ _ZNSt6vectorIiSaIiEE6resizeEm.exit: ; preds = %22, %24, %26, %28 %40 = getelementptr inbounds nuw i8, ptr %0, i64 4224 %41 = sext i32 %.pre30 to i64 call void @_ZNSt6vectorIN3gmx11BasicVectorIfEESaIS2_EE6resizeEm(ptr noundef nonnull align 8 dereferenceable(24) %40, i64 noundef %41) - %.pre = load i8, ptr %36, align 8, !tbaa !240, !range !238 - %.pre29 = load i32, ptr %8, align 8, !tbaa !234 + %.pre = load i8, ptr %36, align 8, !range !238 + %.pre29 = load i32, ptr %8, align 8 br label %42 42: ; preds = %39, %35 diff --git a/bench/gromacs/optimized/forcetable.ll b/bench/gromacs/optimized/forcetable.ll index c3ed6771026..d065bb6e97c 100644 --- a/bench/gromacs/optimized/forcetable.ll +++ b/bench/gromacs/optimized/forcetable.ll @@ -2306,9 +2306,8 @@ _ZN11t_tabledataD2Ev.exit: ; preds = %_ZNSt6vectorIdSaIdE .thread370.i: ; preds = %_ZN11t_tabledataD2Ev.exit %.phi.trans.insert.i = sext i32 %330 to i64 %.phi.trans.insert392.i = getelementptr inbounds [18 x %struct.t_tab_props], ptr @_ZL6tprops, i64 0, i64 %.phi.trans.insert.i, i32 1 - %.pre.i = load i8, ptr %.phi.trans.insert392.i, align 8, !tbaa !114, !range !95 - %.pre.fr.i = freeze i8 %.pre.i - %.pre396.i = trunc i8 %.pre.fr.i to i1 + %.pre.i = load i8, ptr %.phi.trans.insert392.i, align 8, !tbaa !114, !range !95, !noundef !96 + %.pre396.i = trunc nuw i8 %.pre.i to i1 %421 = load double, ptr %289, align 8, !tbaa !118 %422 = getelementptr inbounds [18 x %struct.t_tab_props], ptr @_ZL6tprops, i64 0, i64 %.phi.trans.insert.i br i1 %.pre396.i, label %423, label %424 diff --git a/bench/grpc/optimized/random_early_detection.ll b/bench/grpc/optimized/random_early_detection.ll index e6286322ce7..0351293ab01 100644 --- a/bench/grpc/optimized/random_early_detection.ll +++ b/bench/grpc/optimized/random_early_detection.ll @@ -60,18 +60,18 @@ _ZN4absl12lts_202407229BitGenRef10InvokeMockEPKvPvS4_.exit.i.i.i: ; preds = %11 br i1 %20, label %_ZN4absl12lts_202407229BitGenRef10InvokeMockEPKvPvS4_.exit._crit_edge.i.i.i, label %_ZN4absl12lts_202407229BitGenRef10InvokeMockEPKvPvS4_.exit._ZN4absl12lts_202407229BitGenRef10InvokeMockEPKvPvS4_.exit.thread_crit_edge.i.i.i _ZN4absl12lts_202407229BitGenRef10InvokeMockEPKvPvS4_.exit._crit_edge.i.i.i: ; preds = %_ZN4absl12lts_202407229BitGenRef10InvokeMockEPKvPvS4_.exit.i.i.i - %.pre10.i.i.i = load i8, ptr %5, align 1, !tbaa !16, !range !18 + %.pre10.i.i.i = load i8, ptr %5, align 1, !tbaa !16, !range !18, !noundef !19 %21 = trunc nuw i8 %.pre10.i.i.i to i1 br label %_ZN4absl12lts_202407229BernoulliIRNS0_9BitGenRefEEEbOT_d.exit _ZN4absl12lts_202407229BitGenRef10InvokeMockEPKvPvS4_.exit._ZN4absl12lts_202407229BitGenRef10InvokeMockEPKvPvS4_.exit.thread_crit_edge.i.i.i: ; preds = %_ZN4absl12lts_202407229BitGenRef10InvokeMockEPKvPvS4_.exit.i.i.i - %.pre.i.i.i = load double, ptr %4, align 8, !tbaa !19 + %.pre.i.i.i = load double, ptr %4, align 8, !tbaa !20 br label %_ZN4absl12lts_202407229BitGenRef10InvokeMockEPKvPvS4_.exit.thread.i.i.i _ZN4absl12lts_202407229BitGenRef10InvokeMockEPKvPvS4_.exit.thread.i.i.i: ; preds = %_ZN4absl12lts_202407229BitGenRef10InvokeMockEPKvPvS4_.exit._ZN4absl12lts_202407229BitGenRef10InvokeMockEPKvPvS4_.exit.thread_crit_edge.i.i.i, %11 %22 = phi double [ %.pre.i.i.i, %_ZN4absl12lts_202407229BitGenRef10InvokeMockEPKvPvS4_.exit._ZN4absl12lts_202407229BitGenRef10InvokeMockEPKvPvS4_.exit.thread_crit_edge.i.i.i ], [ %16, %11 ] %23 = getelementptr inbounds nuw i8, ptr %2, i64 16 - %24 = load ptr, ptr %23, align 8, !tbaa !20 + %24 = load ptr, ptr %23, align 8, !tbaa !21 br label %25 25: ; preds = %31, %_ZN4absl12lts_202407229BitGenRef10InvokeMockEPKvPvS4_.exit.thread.i.i.i @@ -81,7 +81,7 @@ _ZN4absl12lts_202407229BitGenRef10InvokeMockEPKvPvS4_.exit.thread.i.i.i: ; preds %28 = call noundef i64 %24(i64 noundef %.pre) %29 = and i64 %28, 4294967295 %.not.i.i.i.i.i = icmp eq i64 %29, %27 - br i1 %.not.i.i.i.i.i, label %31, label %.thread.i.i.i.i.i, !prof !21 + br i1 %.not.i.i.i.i.i, label %31, label %.thread.i.i.i.i.i, !prof !22 .thread.i.i.i.i.i: ; preds = %25 %30 = icmp ult i64 %29, %27 @@ -93,7 +93,7 @@ _ZN4absl12lts_202407229BitGenRef10InvokeMockEPKvPvS4_.exit.thread.i.i.i: ; preds %34 = fsub double %.013.i.i.i.i.i, %33 %35 = fmul double %34, 0x41F0000000000000 %36 = fcmp une double %35, 0.000000e+00 - br i1 %36, label %25, label %_ZN4absl12lts_202407229BernoulliIRNS0_9BitGenRefEEEbOT_d.exit, !llvm.loop !22 + br i1 %36, label %25, label %_ZN4absl12lts_202407229BernoulliIRNS0_9BitGenRefEEEbOT_d.exit, !llvm.loop !23 _ZN4absl12lts_202407229BernoulliIRNS0_9BitGenRefEEEbOT_d.exit: ; preds = %31, %_ZN4absl12lts_202407229BitGenRef10InvokeMockEPKvPvS4_.exit._crit_edge.i.i.i, %.thread.i.i.i.i.i %37 = phi i1 [ %21, %_ZN4absl12lts_202407229BitGenRef10InvokeMockEPKvPvS4_.exit._crit_edge.i.i.i ], [ %30, %.thread.i.i.i.i.i ], [ false, %31 ] @@ -156,8 +156,9 @@ attributes #7 = { nounwind } !16 = !{!17, !17, i64 0} !17 = !{!"bool", !6, i64 0} !18 = !{i8 0, i8 2} -!19 = !{!11, !11, i64 0} -!20 = !{!13, !14, i64 16} -!21 = !{!"branch_weights", !"expected", i32 1, i32 2000} -!22 = distinct !{!22, !23} -!23 = !{!"llvm.loop.mustprogress"} +!19 = !{} +!20 = !{!11, !11, i64 0} +!21 = !{!13, !14, i64 16} +!22 = !{!"branch_weights", !"expected", i32 1, i32 2000} +!23 = distinct !{!23, !24} +!24 = !{!"llvm.loop.mustprogress"} diff --git a/bench/html5ever-rs/optimized/1mf2h4bh94yx6is.ll b/bench/html5ever-rs/optimized/1mf2h4bh94yx6is.ll index 926b7cc2882..4084d5ceaba 100644 --- a/bench/html5ever-rs/optimized/1mf2h4bh94yx6is.ll +++ b/bench/html5ever-rs/optimized/1mf2h4bh94yx6is.ll @@ -368,7 +368,7 @@ define hidden void @_ZN9hashbrown3raw13RawTableInner13drop_elements17h9a7dad8541 %.not.not.i.i.i = icmp eq i16 %17, -1 br i1 %.not.not.i.i.i, label %.lr.ph.i.i, label %._crit_edge.i.i -"_ZN91_$LT$hashbrown..raw..RawIter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0cd81ade0385a49fE.llvm.15648212929638076209.exit": ; preds = %12, %._crit_edge.i.i +"_ZN91_$LT$hashbrown..raw..RawIter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0cd81ade0385a49fE.llvm.15648212929638076209.exit": ; preds = %._crit_edge.i.i, %12 %.sroa.6.1 = phi ptr [ %19, %._crit_edge.i.i ], [ %.sroa.6.018, %12 ] %.sroa.03.1 = phi ptr [ %18, %._crit_edge.i.i ], [ %.sroa.03.019, %12 ] %.lcssa.i.i = phi i16 [ %13, %._crit_edge.i.i ], [ %.sroa.84.016, %12 ] @@ -747,7 +747,7 @@ _ZN9hashbrown3raw13RawTableInner20full_buckets_indices17hd4f1a1f609170bffE.exit. to label %"_ZN9hashbrown3raw21RawTable$LT$T$C$A$GT$14reserve_rehash28_$u7b$$u7b$closure$u7d$$u7d$17h4b9498579da9eea6E.exit" unwind label %73 .thread66.loopexit: ; preds = %128 - %.pre102 = load i64, ptr %9, align 8, !alias.scope !112, !noalias !113 + %.pre102 = load i64, ptr %9, align 8, !alias.scope !112, !noalias !113, !noundef !7 br label %.thread66 .thread66: ; preds = %.thread66.loopexit, %_ZN9hashbrown3raw13RawTableInner20full_buckets_indices17hd4f1a1f609170bffE.exit.i @@ -929,7 +929,7 @@ _ZN9hashbrown3raw13RawTableInner23prepare_rehash_in_place17h17c5779ca74bbe5fE.ex br label %_ZN4core3ptr19swap_nonoverlapping17h2c06dedf466b3d6eE.exit.i _ZN4core3ptr19swap_nonoverlapping17h2c06dedf466b3d6eE.exit.loopexit.i: ; preds = %.preheader.i - %.pre.i20 = load ptr, ptr %0, align 8, !alias.scope !147, !noalias !150 + %.pre.i20 = load ptr, ptr %0, align 8, !alias.scope !147, !noalias !150, !nonnull !7, !noundef !7 br label %_ZN4core3ptr19swap_nonoverlapping17h2c06dedf466b3d6eE.exit.i _ZN4core3ptr19swap_nonoverlapping17h2c06dedf466b3d6eE.exit.i: ; preds = %_ZN4core3ptr19swap_nonoverlapping17h2c06dedf466b3d6eE.exit.loopexit.i, %159 @@ -1062,14 +1062,13 @@ _ZN9hashbrown3raw13RawTableInner16find_insert_slot17h936d2cdcb480a581E.exit.i: ; unreachable _ZN9hashbrown3raw13RawTableInner15rehash_in_place17h5e1937b492ec0710E.exit: ; preds = %228 - %.pre16.i = load i64, ptr %17, align 8, !alias.scope !138 - %.pre16.i.fr = freeze i64 %.pre16.i - %.pre17.i = add i64 %.pre16.i.fr, 1 + %.pre16.i = load i64, ptr %17, align 8, !alias.scope !138, !noundef !7 + %.pre17.i = add i64 %.pre16.i, 1 %231 = lshr i64 %.pre17.i, 3 %232 = mul nuw i64 %231, 7 - %233 = icmp ult i64 %.pre16.i.fr, 8 - %spec.select = select i1 %233, i64 %.pre16.i.fr, i64 %232 - %.pre = load i64, ptr %9, align 8, !alias.scope !138 + %233 = icmp ult i64 %.pre16.i, 8 + %spec.select = select i1 %233, i64 %.pre16.i, i64 %232 + %.pre = load i64, ptr %9, align 8, !alias.scope !138, !noundef !7 br label %_ZN9hashbrown3raw13RawTableInner15rehash_in_place17h5e1937b492ec0710E.exit.thread _ZN9hashbrown3raw13RawTableInner15rehash_in_place17h5e1937b492ec0710E.exit.thread: ; preds = %_ZN9hashbrown3raw13RawTableInner15rehash_in_place17h5e1937b492ec0710E.exit, %_ZN9hashbrown3raw13RawTableInner23prepare_rehash_in_place17h17c5779ca74bbe5fE.exit.i diff --git a/bench/html5ever-rs/optimized/38n20yzo26sy51uu.ll b/bench/html5ever-rs/optimized/38n20yzo26sy51uu.ll index 4b5dff7d637..9cbd2525ab1 100644 --- a/bench/html5ever-rs/optimized/38n20yzo26sy51uu.ll +++ b/bench/html5ever-rs/optimized/38n20yzo26sy51uu.ll @@ -1216,12 +1216,12 @@ define void @_ZN8xml5ever9tokenizer13process_qname17h9fcb45af2807e1b5E(ptr noali br i1 %42, label %.preheader.i, label %43 43: ; preds = %.noexc - %.pr = load i32, ptr %12, align 8, !alias.scope !107 + %.pr = load i32, ptr %12, align 8, !range !107, !alias.scope !108, !noundef !18 %44 = getelementptr inbounds nuw i8, ptr %12, i64 4 - %45 = load i32, ptr %44, align 4, !alias.scope !107 + %45 = load i32, ptr %44, align 4, !alias.scope !108 call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %12) %switch = icmp eq i32 %.pr, 0 - %.pr79.pre = load i64, ptr %1, align 8 + %.pr79.pre = load i64, ptr %1, align 8, !range !49, !noundef !18 br i1 %switch, label %.thread68, label %59 .thread68: ; preds = %15, %.thread72, %43 @@ -1316,17 +1316,17 @@ define void @_ZN8xml5ever9tokenizer13process_qname17h9fcb45af2807e1b5E(ptr noali to label %80 unwind label %.loopexit.split-lp 80: ; preds = %79 - call void @llvm.experimental.noalias.scope.decl(metadata !110) - call void @llvm.experimental.noalias.scope.decl(metadata !113) - %81 = load i8, ptr %8, align 8, !range !48, !alias.scope !113, !noalias !110, !noundef !18 + call void @llvm.experimental.noalias.scope.decl(metadata !111) + call void @llvm.experimental.noalias.scope.decl(metadata !114) + %81 = load i8, ptr %8, align 8, !range !48, !alias.scope !114, !noalias !111, !noundef !18 %trunc.i = trunc nuw i8 %81 to i1 br i1 %trunc.i, label %82, label %85 82: ; preds = %80 - call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %4), !noalias !115 + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %4), !noalias !116 %83 = getelementptr inbounds nuw i8, ptr %8, i64 1 - %84 = load i8, ptr %83, align 1, !range !48, !alias.scope !113, !noalias !110, !noundef !18 - store i8 %84, ptr %4, align 1, !noalias !115 + %84 = load i8, ptr %83, align 1, !range !48, !alias.scope !114, !noalias !111, !noundef !18 + store i8 %84, ptr %4, align 1, !noalias !116 invoke void @_ZN4core6result13unwrap_failed17h03d8a5018196e1cdE(ptr noalias noundef nonnull readonly align 1 @anon.0be88e6ea4f7bae043f6d9c052666337.12, i64 noundef 43, ptr noundef nonnull align 1 %4, ptr noalias noundef readonly align 8 dereferenceable(24) @anon.0be88e6ea4f7bae043f6d9c052666337.13, ptr noalias noundef readonly align 8 dereferenceable(24) @anon.0be88e6ea4f7bae043f6d9c052666337.28) #14 to label %.noexc41 unwind label %.loopexit.split-lp @@ -1335,7 +1335,7 @@ define void @_ZN8xml5ever9tokenizer13process_qname17h9fcb45af2807e1b5E(ptr noali 85: ; preds = %80 %86 = getelementptr inbounds nuw i8, ptr %8, i64 8 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %11, ptr noundef nonnull readonly align 8 dereferenceable(16) %86, i64 16, i1 false), !alias.scope !115 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %11, ptr noundef nonnull readonly align 8 dereferenceable(16) %86, i64 16, i1 false), !alias.scope !116 call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %8) call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %10) %87 = add i32 %45, 1 @@ -1359,17 +1359,17 @@ define void @_ZN8xml5ever9tokenizer13process_qname17h9fcb45af2807e1b5E(ptr noali br label %90 94: ; preds = %85 - call void @llvm.experimental.noalias.scope.decl(metadata !116) - call void @llvm.experimental.noalias.scope.decl(metadata !119) - %95 = load i8, ptr %7, align 8, !range !48, !alias.scope !119, !noalias !116, !noundef !18 + call void @llvm.experimental.noalias.scope.decl(metadata !117) + call void @llvm.experimental.noalias.scope.decl(metadata !120) + %95 = load i8, ptr %7, align 8, !range !48, !alias.scope !120, !noalias !117, !noundef !18 %trunc.i42 = trunc nuw i8 %95 to i1 br i1 %trunc.i42, label %96, label %99 96: ; preds = %94 - call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %3), !noalias !121 + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %3), !noalias !122 %97 = getelementptr inbounds nuw i8, ptr %7, i64 1 - %98 = load i8, ptr %97, align 1, !range !48, !alias.scope !119, !noalias !116, !noundef !18 - store i8 %98, ptr %3, align 1, !noalias !121 + %98 = load i8, ptr %97, align 1, !range !48, !alias.scope !120, !noalias !117, !noundef !18 + store i8 %98, ptr %3, align 1, !noalias !122 invoke void @_ZN4core6result13unwrap_failed17h03d8a5018196e1cdE(ptr noalias noundef nonnull readonly align 1 @anon.0be88e6ea4f7bae043f6d9c052666337.12, i64 noundef 43, ptr noundef nonnull align 1 %3, ptr noalias noundef readonly align 8 dereferenceable(24) @anon.0be88e6ea4f7bae043f6d9c052666337.13, ptr noalias noundef readonly align 8 dereferenceable(24) @anon.0be88e6ea4f7bae043f6d9c052666337.28) #14 to label %.noexc43 unwind label %92 @@ -1378,7 +1378,7 @@ define void @_ZN8xml5ever9tokenizer13process_qname17h9fcb45af2807e1b5E(ptr noali 99: ; preds = %94 %100 = getelementptr inbounds nuw i8, ptr %7, i64 8 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %10, ptr noundef nonnull readonly align 8 dereferenceable(16) %100, i64 16, i1 false), !alias.scope !121 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %10, ptr noundef nonnull readonly align 8 dereferenceable(16) %100, i64 16, i1 false), !alias.scope !122 call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %7) %101 = load i64, ptr %11, align 8, !range !49, !noundef !18 %102 = icmp eq i64 %101, 15 @@ -1521,18 +1521,18 @@ define void @_ZN8xml5ever9tokenizer11option_push17h0f292e4b23882d48E(ptr noalias %4 = alloca { i64, { { [2 x i32] } }, {}, {} }, align 8 %5 = alloca [4 x i8], align 4 %.sroa.5 = alloca [2 x i64], align 8 - %6 = load i64, ptr %0, align 8, !range !122, !noundef !18 + %6 = load i64, ptr %0, align 8, !range !123, !noundef !18 %trunc = trunc nuw i64 %6 to i1 br i1 %trunc, label %62, label %7 7: ; preds = %2 call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %.sroa.5) - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %4), !noalias !123 - store i64 15, ptr %4, align 8, !alias.scope !126, !noalias !129 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %4), !noalias !124 + store i64 15, ptr %4, align 8, !alias.scope !127, !noalias !130 %.sroa.4.0..sroa_idx.i.i = getelementptr inbounds nuw i8, ptr %4, i64 8 - store i64 0, ptr %.sroa.4.0..sroa_idx.i.i, align 8, !alias.scope !126, !noalias !129 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %3), !noalias !123 - store i32 0, ptr %3, align 4, !noalias !123 + store i64 0, ptr %.sroa.4.0..sroa_idx.i.i, align 8, !alias.scope !127, !noalias !130 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %3), !noalias !124 + store i32 0, ptr %3, align 4, !noalias !124 %8 = icmp ult i32 %1, 128 br i1 %8, label %13, label %9 @@ -1546,37 +1546,37 @@ define void @_ZN8xml5ever9tokenizer11option_push17h0f292e4b23882d48E(ptr noalias 13: ; preds = %7 %14 = trunc nuw nsw i32 %1 to i8 - store i8 %14, ptr %3, align 4, !alias.scope !131, !noalias !123 + store i8 %14, ptr %3, align 4, !alias.scope !132, !noalias !124 br label %58 15: ; preds = %9 %16 = lshr i32 %1, 6 %17 = trunc nuw nsw i32 %16 to i8 %18 = or disjoint i8 %17, -64 - store i8 %18, ptr %3, align 4, !alias.scope !131, !noalias !123 + store i8 %18, ptr %3, align 4, !alias.scope !132, !noalias !124 %19 = trunc i32 %1 to i8 %20 = and i8 %19, 63 %21 = getelementptr inbounds nuw i8, ptr %3, i64 1 %22 = or disjoint i8 %20, -128 - store i8 %22, ptr %21, align 1, !alias.scope !131, !noalias !123 + store i8 %22, ptr %21, align 1, !alias.scope !132, !noalias !124 br label %58 23: ; preds = %11 %24 = lshr i32 %1, 12 %25 = trunc nuw nsw i32 %24 to i8 %26 = or disjoint i8 %25, -32 - store i8 %26, ptr %3, align 4, !alias.scope !131, !noalias !123 + store i8 %26, ptr %3, align 4, !alias.scope !132, !noalias !124 %27 = lshr i32 %1, 6 %28 = trunc i32 %27 to i8 %29 = and i8 %28, 63 %30 = getelementptr inbounds nuw i8, ptr %3, i64 1 %31 = or disjoint i8 %29, -128 - store i8 %31, ptr %30, align 1, !alias.scope !131, !noalias !123 + store i8 %31, ptr %30, align 1, !alias.scope !132, !noalias !124 %32 = trunc i32 %1 to i8 %33 = and i8 %32, 63 %34 = getelementptr inbounds nuw i8, ptr %3, i64 2 %35 = or disjoint i8 %33, -128 - store i8 %35, ptr %34, align 2, !alias.scope !131, !noalias !123 + store i8 %35, ptr %34, align 2, !alias.scope !132, !noalias !124 br label %58 36: ; preds = %11 @@ -1584,44 +1584,44 @@ define void @_ZN8xml5ever9tokenizer11option_push17h0f292e4b23882d48E(ptr noalias %38 = trunc i32 %37 to i8 %39 = and i8 %38, 7 %40 = or disjoint i8 %39, -16 - store i8 %40, ptr %3, align 4, !alias.scope !131, !noalias !123 + store i8 %40, ptr %3, align 4, !alias.scope !132, !noalias !124 %41 = lshr i32 %1, 12 %42 = trunc i32 %41 to i8 %43 = and i8 %42, 63 %44 = getelementptr inbounds nuw i8, ptr %3, i64 1 %45 = or disjoint i8 %43, -128 - store i8 %45, ptr %44, align 1, !alias.scope !131, !noalias !123 + store i8 %45, ptr %44, align 1, !alias.scope !132, !noalias !124 %46 = lshr i32 %1, 6 %47 = trunc i32 %46 to i8 %48 = and i8 %47, 63 %49 = getelementptr inbounds nuw i8, ptr %3, i64 2 %50 = or disjoint i8 %48, -128 - store i8 %50, ptr %49, align 2, !alias.scope !131, !noalias !123 + store i8 %50, ptr %49, align 2, !alias.scope !132, !noalias !124 %51 = trunc i32 %1 to i8 %52 = and i8 %51, 63 %53 = getelementptr inbounds nuw i8, ptr %3, i64 3 %54 = or disjoint i8 %52, -128 - store i8 %54, ptr %53, align 1, !alias.scope !131, !noalias !123 + store i8 %54, ptr %53, align 1, !alias.scope !132, !noalias !124 br label %58 55: ; preds = %58 %56 = landingpad { ptr, i32 } cleanup - %.val.i = load i64, ptr %4, align 8, !range !49, !alias.scope !134, !noalias !123, !noundef !18 + %.val.i = load i64, ptr %4, align 8, !range !49, !alias.scope !135, !noalias !124, !noundef !18 %57 = getelementptr inbounds nuw i8, ptr %4, i64 12 - %.val1.i = load i32, ptr %57, align 4, !noalias !123 + %.val1.i = load i32, ptr %57, align 4, !noalias !124 invoke fastcc void @"_ZN4core3ptr72drop_in_place$LT$tendril..tendril..Tendril$LT$tendril..fmt..UTF8$GT$$GT$17heb3abae07ce4e237E"(i64 %.val.i, i32 %.val1.i) #15 - to label %common.resume unwind label %60, !noalias !123 + to label %common.resume unwind label %60, !noalias !124 58: ; preds = %36, %23, %15, %13 %59 = phi i64 [ 4, %36 ], [ 3, %23 ], [ 2, %15 ], [ 1, %13 ] invoke fastcc void @"_ZN7tendril7tendril20Tendril$LT$F$C$A$GT$29push_bytes_without_validating17h1df0efccbdd86fd7E"(ptr noalias noundef align 8 dereferenceable(16) %4, ptr noalias noundef nonnull readonly align 1 %3, i64 noundef %59) - to label %"_ZN4core3ptr100drop_in_place$LT$core..option..Option$LT$tendril..tendril..Tendril$LT$tendril..fmt..UTF8$GT$$GT$$GT$17h5d5f0b1b2f015a59E.exit" unwind label %55, !noalias !123 + to label %"_ZN4core3ptr100drop_in_place$LT$core..option..Option$LT$tendril..tendril..Tendril$LT$tendril..fmt..UTF8$GT$$GT$$GT$17h5d5f0b1b2f015a59E.exit" unwind label %55, !noalias !124 60: ; preds = %55 %61 = landingpad { ptr, i32 } filter [0 x ptr] zeroinitializer - tail call void @_ZN4core9panicking16panic_in_cleanup17h55eb1d85cadde1a1E() #16, !noalias !123 + tail call void @_ZN4core9panicking16panic_in_cleanup17h55eb1d85cadde1a1E() #16, !noalias !124 unreachable common.resume: ; preds = %55 @@ -1644,37 +1644,37 @@ common.resume: ; preds = %55 69: ; preds = %62 %70 = trunc nuw nsw i32 %1 to i8 - store i8 %70, ptr %5, align 4, !alias.scope !137 + store i8 %70, ptr %5, align 4, !alias.scope !138 br label %_ZN4core4char7methods15encode_utf8_raw17h0195287417066071E.exit 71: ; preds = %65 %72 = lshr i32 %1, 6 %73 = trunc nuw nsw i32 %72 to i8 %74 = or disjoint i8 %73, -64 - store i8 %74, ptr %5, align 4, !alias.scope !137 + store i8 %74, ptr %5, align 4, !alias.scope !138 %75 = trunc i32 %1 to i8 %76 = and i8 %75, 63 %77 = getelementptr inbounds nuw i8, ptr %5, i64 1 %78 = or disjoint i8 %76, -128 - store i8 %78, ptr %77, align 1, !alias.scope !137 + store i8 %78, ptr %77, align 1, !alias.scope !138 br label %_ZN4core4char7methods15encode_utf8_raw17h0195287417066071E.exit 79: ; preds = %67 %80 = lshr i32 %1, 12 %81 = trunc nuw nsw i32 %80 to i8 %82 = or disjoint i8 %81, -32 - store i8 %82, ptr %5, align 4, !alias.scope !137 + store i8 %82, ptr %5, align 4, !alias.scope !138 %83 = lshr i32 %1, 6 %84 = trunc i32 %83 to i8 %85 = and i8 %84, 63 %86 = getelementptr inbounds nuw i8, ptr %5, i64 1 %87 = or disjoint i8 %85, -128 - store i8 %87, ptr %86, align 1, !alias.scope !137 + store i8 %87, ptr %86, align 1, !alias.scope !138 %88 = trunc i32 %1 to i8 %89 = and i8 %88, 63 %90 = getelementptr inbounds nuw i8, ptr %5, i64 2 %91 = or disjoint i8 %89, -128 - store i8 %91, ptr %90, align 2, !alias.scope !137 + store i8 %91, ptr %90, align 2, !alias.scope !138 br label %_ZN4core4char7methods15encode_utf8_raw17h0195287417066071E.exit 92: ; preds = %67 @@ -1682,24 +1682,24 @@ common.resume: ; preds = %55 %94 = trunc i32 %93 to i8 %95 = and i8 %94, 7 %96 = or disjoint i8 %95, -16 - store i8 %96, ptr %5, align 4, !alias.scope !137 + store i8 %96, ptr %5, align 4, !alias.scope !138 %97 = lshr i32 %1, 12 %98 = trunc i32 %97 to i8 %99 = and i8 %98, 63 %100 = getelementptr inbounds nuw i8, ptr %5, i64 1 %101 = or disjoint i8 %99, -128 - store i8 %101, ptr %100, align 1, !alias.scope !137 + store i8 %101, ptr %100, align 1, !alias.scope !138 %102 = lshr i32 %1, 6 %103 = trunc i32 %102 to i8 %104 = and i8 %103, 63 %105 = getelementptr inbounds nuw i8, ptr %5, i64 2 %106 = or disjoint i8 %104, -128 - store i8 %106, ptr %105, align 2, !alias.scope !137 + store i8 %106, ptr %105, align 2, !alias.scope !138 %107 = trunc i32 %1 to i8 %108 = and i8 %107, 63 %109 = getelementptr inbounds nuw i8, ptr %5, i64 3 %110 = or disjoint i8 %108, -128 - store i8 %110, ptr %109, align 1, !alias.scope !137 + store i8 %110, ptr %109, align 1, !alias.scope !138 br label %_ZN4core4char7methods15encode_utf8_raw17h0195287417066071E.exit _ZN4core4char7methods15encode_utf8_raw17h0195287417066071E.exit: ; preds = %69, %71, %79, %92 @@ -1709,9 +1709,9 @@ _ZN4core4char7methods15encode_utf8_raw17h0195287417066071E.exit: ; preds = %69, br label %112 "_ZN4core3ptr100drop_in_place$LT$core..option..Option$LT$tendril..tendril..Tendril$LT$tendril..fmt..UTF8$GT$$GT$$GT$17h5d5f0b1b2f015a59E.exit": ; preds = %58 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %3), !noalias !123 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %3), !noalias !124 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %.sroa.5, ptr noundef nonnull align 8 dereferenceable(16) %4, i64 16, i1 false) - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %4), !noalias !123 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %4), !noalias !124 store i64 1, ptr %0, align 8 %.sroa.5.0..sroa_idx2 = getelementptr inbounds nuw i8, ptr %0, i64 8 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %.sroa.5.0..sroa_idx2, ptr noundef nonnull align 8 dereferenceable(16) %.sroa.5, i64 16, i1 false) @@ -1936,36 +1936,37 @@ attributes #16 = { cold noreturn nounwind } !104 = distinct !{!104, !"_ZN8xml5ever9tokenizer5qname17QualNameTokenizer3new17h6eadf2267fd2066eE"} !105 = !{!106} !106 = distinct !{!106, !104, !"_ZN8xml5ever9tokenizer5qname17QualNameTokenizer3new17h6eadf2267fd2066eE: argument 1"} -!107 = !{!108} -!108 = distinct !{!108, !109, !"_ZN8xml5ever9tokenizer5qname17QualNameTokenizer3run17h295737e483be266bE: argument 0"} -!109 = distinct !{!109, !"_ZN8xml5ever9tokenizer5qname17QualNameTokenizer3run17h295737e483be266bE"} -!110 = !{!111} -!111 = distinct !{!111, !112, !"_ZN4core6result19Result$LT$T$C$E$GT$6unwrap17heda5925a8c2aa8b2E: argument 0"} -!112 = distinct !{!112, !"_ZN4core6result19Result$LT$T$C$E$GT$6unwrap17heda5925a8c2aa8b2E"} -!113 = !{!114} -!114 = distinct !{!114, !112, !"_ZN4core6result19Result$LT$T$C$E$GT$6unwrap17heda5925a8c2aa8b2E: argument 1"} -!115 = !{!111, !114} -!116 = !{!117} -!117 = distinct !{!117, !118, !"_ZN4core6result19Result$LT$T$C$E$GT$6unwrap17heda5925a8c2aa8b2E: argument 0"} -!118 = distinct !{!118, !"_ZN4core6result19Result$LT$T$C$E$GT$6unwrap17heda5925a8c2aa8b2E"} -!119 = !{!120} -!120 = distinct !{!120, !118, !"_ZN4core6result19Result$LT$T$C$E$GT$6unwrap17heda5925a8c2aa8b2E: argument 1"} -!121 = !{!117, !120} -!122 = !{i64 0, i64 2} -!123 = !{!124} -!124 = distinct !{!124, !125, !"_ZN7tendril7tendril37Tendril$LT$tendril..fmt..UTF8$C$A$GT$9from_char17h7066e220ca6161e0E: argument 0"} -!125 = distinct !{!125, !"_ZN7tendril7tendril37Tendril$LT$tendril..fmt..UTF8$C$A$GT$9from_char17h7066e220ca6161e0E"} -!126 = !{!127} -!127 = distinct !{!127, !128, !"_ZN7tendril7tendril20Tendril$LT$F$C$A$GT$6inline17hff588f5b3b81a772E: argument 0"} -!128 = distinct !{!128, !"_ZN7tendril7tendril20Tendril$LT$F$C$A$GT$6inline17hff588f5b3b81a772E"} -!129 = !{!130, !124} -!130 = distinct !{!130, !128, !"_ZN7tendril7tendril20Tendril$LT$F$C$A$GT$6inline17hff588f5b3b81a772E: argument 1"} -!131 = !{!132} -!132 = distinct !{!132, !133, !"_ZN4core4char7methods15encode_utf8_raw17h0195287417066071E: argument 0"} -!133 = distinct !{!133, !"_ZN4core4char7methods15encode_utf8_raw17h0195287417066071E"} -!134 = !{!135} -!135 = distinct !{!135, !136, !"_ZN80_$LT$tendril..tendril..Tendril$LT$F$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h134c9baad24c4d15E: argument 0"} -!136 = distinct !{!136, !"_ZN80_$LT$tendril..tendril..Tendril$LT$F$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h134c9baad24c4d15E"} -!137 = !{!138} -!138 = distinct !{!138, !139, !"_ZN4core4char7methods15encode_utf8_raw17h0195287417066071E: argument 0"} -!139 = distinct !{!139, !"_ZN4core4char7methods15encode_utf8_raw17h0195287417066071E"} +!107 = !{i32 0, i32 2} +!108 = !{!109} +!109 = distinct !{!109, !110, !"_ZN8xml5ever9tokenizer5qname17QualNameTokenizer3run17h295737e483be266bE: argument 0"} +!110 = distinct !{!110, !"_ZN8xml5ever9tokenizer5qname17QualNameTokenizer3run17h295737e483be266bE"} +!111 = !{!112} +!112 = distinct !{!112, !113, !"_ZN4core6result19Result$LT$T$C$E$GT$6unwrap17heda5925a8c2aa8b2E: argument 0"} +!113 = distinct !{!113, !"_ZN4core6result19Result$LT$T$C$E$GT$6unwrap17heda5925a8c2aa8b2E"} +!114 = !{!115} +!115 = distinct !{!115, !113, !"_ZN4core6result19Result$LT$T$C$E$GT$6unwrap17heda5925a8c2aa8b2E: argument 1"} +!116 = !{!112, !115} +!117 = !{!118} +!118 = distinct !{!118, !119, !"_ZN4core6result19Result$LT$T$C$E$GT$6unwrap17heda5925a8c2aa8b2E: argument 0"} +!119 = distinct !{!119, !"_ZN4core6result19Result$LT$T$C$E$GT$6unwrap17heda5925a8c2aa8b2E"} +!120 = !{!121} +!121 = distinct !{!121, !119, !"_ZN4core6result19Result$LT$T$C$E$GT$6unwrap17heda5925a8c2aa8b2E: argument 1"} +!122 = !{!118, !121} +!123 = !{i64 0, i64 2} +!124 = !{!125} +!125 = distinct !{!125, !126, !"_ZN7tendril7tendril37Tendril$LT$tendril..fmt..UTF8$C$A$GT$9from_char17h7066e220ca6161e0E: argument 0"} +!126 = distinct !{!126, !"_ZN7tendril7tendril37Tendril$LT$tendril..fmt..UTF8$C$A$GT$9from_char17h7066e220ca6161e0E"} +!127 = !{!128} +!128 = distinct !{!128, !129, !"_ZN7tendril7tendril20Tendril$LT$F$C$A$GT$6inline17hff588f5b3b81a772E: argument 0"} +!129 = distinct !{!129, !"_ZN7tendril7tendril20Tendril$LT$F$C$A$GT$6inline17hff588f5b3b81a772E"} +!130 = !{!131, !125} +!131 = distinct !{!131, !129, !"_ZN7tendril7tendril20Tendril$LT$F$C$A$GT$6inline17hff588f5b3b81a772E: argument 1"} +!132 = !{!133} +!133 = distinct !{!133, !134, !"_ZN4core4char7methods15encode_utf8_raw17h0195287417066071E: argument 0"} +!134 = distinct !{!134, !"_ZN4core4char7methods15encode_utf8_raw17h0195287417066071E"} +!135 = !{!136} +!136 = distinct !{!136, !137, !"_ZN80_$LT$tendril..tendril..Tendril$LT$F$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h134c9baad24c4d15E: argument 0"} +!137 = distinct !{!137, !"_ZN80_$LT$tendril..tendril..Tendril$LT$F$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h134c9baad24c4d15E"} +!138 = !{!139} +!139 = distinct !{!139, !140, !"_ZN4core4char7methods15encode_utf8_raw17h0195287417066071E: argument 0"} +!140 = distinct !{!140, !"_ZN4core4char7methods15encode_utf8_raw17h0195287417066071E"} diff --git a/bench/image-rs/optimized/254ue5dpb10tdnze.ll b/bench/image-rs/optimized/254ue5dpb10tdnze.ll index 56c900a74c6..7f158e4b027 100644 --- a/bench/image-rs/optimized/254ue5dpb10tdnze.ll +++ b/bench/image-rs/optimized/254ue5dpb10tdnze.ll @@ -37612,7 +37612,7 @@ define hidden void @"_ZN88_$LT$image..image..Pixels$LT$I$GT$$u20$as$u20$core..it ._crit_edge: ; preds = %2 %.phi.trans.insert = getelementptr inbounds nuw i8, ptr %1, i64 12 - %.pre = load i32, ptr %.phi.trans.insert, align 4 + %.pre = load i32, ptr %.phi.trans.insert, align 4, !noundef !4 br label %11 7: ; preds = %2 @@ -37662,7 +37662,7 @@ define hidden void @"_ZN88_$LT$image..image..Pixels$LT$I$GT$$u20$as$u20$core..it ._crit_edge: ; preds = %2 %.phi.trans.insert = getelementptr inbounds nuw i8, ptr %1, i64 12 - %.pre = load i32, ptr %.phi.trans.insert, align 4 + %.pre = load i32, ptr %.phi.trans.insert, align 4, !noundef !4 br label %11 7: ; preds = %2 @@ -37711,7 +37711,7 @@ define hidden void @"_ZN88_$LT$image..image..Pixels$LT$I$GT$$u20$as$u20$core..it ._crit_edge: ; preds = %2 %.phi.trans.insert = getelementptr inbounds nuw i8, ptr %1, i64 12 - %.pre = load i32, ptr %.phi.trans.insert, align 4 + %.pre = load i32, ptr %.phi.trans.insert, align 4, !noundef !4 br label %11 7: ; preds = %2 @@ -37760,7 +37760,7 @@ define hidden void @"_ZN88_$LT$image..image..Pixels$LT$I$GT$$u20$as$u20$core..it ._crit_edge: ; preds = %2 %.phi.trans.insert = getelementptr inbounds nuw i8, ptr %1, i64 12 - %.pre = load i32, ptr %.phi.trans.insert, align 4 + %.pre = load i32, ptr %.phi.trans.insert, align 4, !noundef !4 br label %11 7: ; preds = %2 @@ -37810,7 +37810,7 @@ define hidden void @"_ZN88_$LT$image..image..Pixels$LT$I$GT$$u20$as$u20$core..it ._crit_edge: ; preds = %2 %.phi.trans.insert = getelementptr inbounds nuw i8, ptr %1, i64 12 - %.pre = load i32, ptr %.phi.trans.insert, align 4 + %.pre = load i32, ptr %.phi.trans.insert, align 4, !noundef !4 br label %11 7: ; preds = %2 @@ -37860,7 +37860,7 @@ define hidden void @"_ZN88_$LT$image..image..Pixels$LT$I$GT$$u20$as$u20$core..it ._crit_edge: ; preds = %2 %.phi.trans.insert = getelementptr inbounds nuw i8, ptr %1, i64 12 - %.pre = load i32, ptr %.phi.trans.insert, align 4 + %.pre = load i32, ptr %.phi.trans.insert, align 4, !noundef !4 br label %11 7: ; preds = %2 @@ -37910,7 +37910,7 @@ define hidden void @"_ZN88_$LT$image..image..Pixels$LT$I$GT$$u20$as$u20$core..it ._crit_edge: ; preds = %2 %.phi.trans.insert = getelementptr inbounds nuw i8, ptr %1, i64 12 - %.pre = load i32, ptr %.phi.trans.insert, align 4 + %.pre = load i32, ptr %.phi.trans.insert, align 4, !noundef !4 br label %11 7: ; preds = %2 @@ -37960,7 +37960,7 @@ define hidden void @"_ZN88_$LT$image..image..Pixels$LT$I$GT$$u20$as$u20$core..it ._crit_edge: ; preds = %2 %.phi.trans.insert = getelementptr inbounds nuw i8, ptr %1, i64 12 - %.pre = load i32, ptr %.phi.trans.insert, align 4 + %.pre = load i32, ptr %.phi.trans.insert, align 4, !noundef !4 br label %11 7: ; preds = %2 @@ -38010,7 +38010,7 @@ define hidden void @"_ZN88_$LT$image..image..Pixels$LT$I$GT$$u20$as$u20$core..it ._crit_edge: ; preds = %2 %.phi.trans.insert = getelementptr inbounds nuw i8, ptr %1, i64 12 - %.pre = load i32, ptr %.phi.trans.insert, align 4 + %.pre = load i32, ptr %.phi.trans.insert, align 4, !noundef !4 br label %11 7: ; preds = %2 @@ -38060,7 +38060,7 @@ define hidden void @"_ZN88_$LT$image..image..Pixels$LT$I$GT$$u20$as$u20$core..it ._crit_edge: ; preds = %2 %.phi.trans.insert = getelementptr inbounds nuw i8, ptr %1, i64 12 - %.pre = load i32, ptr %.phi.trans.insert, align 4 + %.pre = load i32, ptr %.phi.trans.insert, align 4, !noundef !4 br label %11 7: ; preds = %2 diff --git a/bench/ipopt/optimized/IpDiagMatrix.ll b/bench/ipopt/optimized/IpDiagMatrix.ll index f0c6cce737c..88529398adb 100644 --- a/bench/ipopt/optimized/IpDiagMatrix.ll +++ b/bench/ipopt/optimized/IpDiagMatrix.ll @@ -448,7 +448,7 @@ define noundef zeroext i1 @_ZNK5Ipopt10DiagMatrix19HasValidNumbersImplEv(ptr nou ._crit_edge.i: ; preds = %1 %.phi.trans.insert.i = getelementptr inbounds nuw i8, ptr %3, i64 204 - %.pre.i = load i8, ptr %.phi.trans.insert.i, align 4, !tbaa !54, !range !55 + %.pre.i = load i8, ptr %.phi.trans.insert.i, align 4, !tbaa !54, !range !55, !noundef !56 %8 = trunc nuw i8 %.pre.i to i1 br label %_ZNK5Ipopt6Vector15HasValidNumbersEv.exit @@ -811,12 +811,12 @@ define void @_ZNK5Ipopt10DiagMatrix9PrintImplERKNS_10JournalistENS_13EJournalLev %10 = getelementptr inbounds nuw i8, ptr %9, i64 16 %11 = load ptr, ptr %10, align 8 tail call void (ptr, i32, i32, ptr, ...) %11(ptr noundef nonnull align 8 dereferenceable(40) %1, i32 noundef %2, i32 noundef %3, ptr noundef nonnull @.str) - %12 = load ptr, ptr %6, align 8, !tbaa !56 - %13 = load ptr, ptr %4, align 8, !tbaa !56 + %12 = load ptr, ptr %6, align 8, !tbaa !57 + %13 = load ptr, ptr %4, align 8, !tbaa !57 %14 = getelementptr inbounds nuw i8, ptr %0, i64 72 %15 = load ptr, ptr %14, align 8, !tbaa !25 %16 = getelementptr inbounds nuw i8, ptr %15, i64 12 - %17 = load i32, ptr %16, align 4, !tbaa !61 + %17 = load i32, ptr %16, align 4, !tbaa !62 %18 = load ptr, ptr %1, align 8, !tbaa !8 %19 = getelementptr inbounds nuw i8, ptr %18, i64 32 %20 = load ptr, ptr %19, align 8 @@ -831,13 +831,13 @@ define void @_ZNK5Ipopt10DiagMatrix9PrintImplERKNS_10JournalistENS_13EJournalLev %25 = load i32, ptr %24, align 8, !tbaa !3 %26 = add nsw i32 %25, 1 store i32 %26, ptr %24, align 8, !tbaa !3 - store ptr %1, ptr %8, align 8, !tbaa !63 + store ptr %1, ptr %8, align 8, !tbaa !64 %27 = add nsw i32 %5, 1 invoke void @_ZNK5Ipopt6Vector5PrintENS_8SmartPtrIKNS_10JournalistEEENS_13EJournalLevelENS_16EJournalCategoryERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiSE_(ptr noundef nonnull align 8 dereferenceable(205) %22, ptr noundef nonnull %8, i32 noundef %2, i32 noundef %3, ptr noundef nonnull align 8 dereferenceable(32) %4, i32 noundef %27, ptr noundef nonnull align 8 dereferenceable(32) %6) to label %28 unwind label %39 28: ; preds = %23 - %29 = load ptr, ptr %8, align 8, !tbaa !63 + %29 = load ptr, ptr %8, align 8, !tbaa !64 %.not.i.i = icmp eq ptr %29, null br i1 %.not.i.i, label %_ZN5Ipopt8SmartPtrIKNS_10JournalistEED2Ev.exit, label %30 @@ -859,7 +859,7 @@ define void @_ZNK5Ipopt10DiagMatrix9PrintImplERKNS_10JournalistENS_13EJournalLev 39: ; preds = %23 %40 = landingpad { ptr, i32 } cleanup - %41 = load ptr, ptr %8, align 8, !tbaa !63 + %41 = load ptr, ptr %8, align 8, !tbaa !64 %.not.i.i22 = icmp eq ptr %41, null br i1 %.not.i.i22, label %_ZN5Ipopt8SmartPtrIKNS_10JournalistEED2Ev.exit23, label %42 @@ -882,7 +882,7 @@ _ZN5Ipopt8SmartPtrIKNS_10JournalistEED2Ev.exit23: ; preds = %39, %42, %47 resume { ptr, i32 } %40 51: ; preds = %7 - %52 = load ptr, ptr %6, align 8, !tbaa !56 + %52 = load ptr, ptr %6, align 8, !tbaa !57 %53 = load ptr, ptr %1, align 8, !tbaa !8 %54 = getelementptr inbounds nuw i8, ptr %53, i64 32 %55 = load ptr, ptr %54, align 8 @@ -971,14 +971,14 @@ define linkonce_odr void @_ZN5Ipopt16ReferencedObjectD0Ev(ptr noundef nonnull al define linkonce_odr void @_ZN5Ipopt7SubjectD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %0) unnamed_addr #5 comdat align 2 personality ptr @__gxx_personality_v0 { store ptr getelementptr inbounds nuw inrange(-16, 16) (i8, ptr @_ZTVN5Ipopt7SubjectE, i64 16), ptr %0, align 8, !tbaa !8 %2 = getelementptr inbounds nuw i8, ptr %0, i64 8 - %3 = load ptr, ptr %2, align 8, !tbaa !66 + %3 = load ptr, ptr %2, align 8, !tbaa !67 %4 = getelementptr inbounds nuw i8, ptr %0, i64 16 - %5 = load ptr, ptr %4, align 8, !tbaa !66 + %5 = load ptr, ptr %4, align 8, !tbaa !67 %.not13 = icmp eq ptr %3, %5 br i1 %.not13, label %._crit_edge, label %.lr.ph ._crit_edge.loopexit: ; preds = %71 - %.pre = load ptr, ptr %2, align 8, !tbaa !67 + %.pre = load ptr, ptr %2, align 8, !tbaa !68 br label %._crit_edge ._crit_edge: ; preds = %._crit_edge.loopexit, %1 @@ -988,7 +988,7 @@ define linkonce_odr void @_ZN5Ipopt7SubjectD2Ev(ptr noundef nonnull align 8 dere 7: ; preds = %._crit_edge %8 = getelementptr inbounds nuw i8, ptr %0, i64 24 - %9 = load ptr, ptr %8, align 8, !tbaa !68 + %9 = load ptr, ptr %8, align 8, !tbaa !69 %10 = ptrtoint ptr %9 to i64 %11 = ptrtoint ptr %6 to i64 %12 = sub i64 %10, %11 @@ -1000,11 +1000,11 @@ _ZNSt6vectorIPN5Ipopt8ObserverESaIS2_EED2Ev.exit: ; preds = %._crit_edge, %7 .lr.ph: ; preds = %1, %71 %.sroa.02.014 = phi ptr [ %74, %71 ], [ %3, %1 ] - %13 = load ptr, ptr %.sroa.02.014, align 8, !tbaa !69 + %13 = load ptr, ptr %.sroa.02.014, align 8, !tbaa !70 %14 = getelementptr inbounds nuw i8, ptr %13, i64 8 - %15 = load ptr, ptr %14, align 8, !tbaa !71 + %15 = load ptr, ptr %14, align 8, !tbaa !72 %16 = getelementptr inbounds nuw i8, ptr %13, i64 16 - %17 = load ptr, ptr %16, align 8, !tbaa !71 + %17 = load ptr, ptr %16, align 8, !tbaa !72 %18 = ptrtoint ptr %17 to i64 %19 = ptrtoint ptr %15 to i64 %20 = sub i64 %18, %19 @@ -1020,25 +1020,25 @@ _ZNSt6vectorIPN5Ipopt8ObserverESaIS2_EED2Ev.exit: ; preds = %._crit_edge, %7 24: ; preds = %39, %.lr.ph.i.i.i.i %.052.i.i.i.i = phi i64 [ %21, %.lr.ph.i.i.i.i ], [ %41, %39 ] %.sroa.032.051.i.i.i.i = phi ptr [ %15, %.lr.ph.i.i.i.i ], [ %40, %39 ] - %25 = load ptr, ptr %.sroa.032.051.i.i.i.i, align 8, !tbaa !73 + %25 = load ptr, ptr %.sroa.032.051.i.i.i.i, align 8, !tbaa !74 %26 = icmp eq ptr %25, %0 br i1 %26, label %_ZSt4findIN9__gnu_cxx17__normal_iteratorIPPKN5Ipopt7SubjectESt6vectorIS5_SaIS5_EEEES5_ET_SB_SB_RKT0_.exit.i, label %27 27: ; preds = %24 %28 = getelementptr inbounds nuw i8, ptr %.sroa.032.051.i.i.i.i, i64 8 - %29 = load ptr, ptr %28, align 8, !tbaa !73 + %29 = load ptr, ptr %28, align 8, !tbaa !74 %30 = icmp eq ptr %29, %0 br i1 %30, label %_ZSt4findIN9__gnu_cxx17__normal_iteratorIPPKN5Ipopt7SubjectESt6vectorIS5_SaIS5_EEEES5_ET_SB_SB_RKT0_.exit.i.loopexit.split.loop.exit, label %31 31: ; preds = %27 %32 = getelementptr inbounds nuw i8, ptr %.sroa.032.051.i.i.i.i, i64 16 - %33 = load ptr, ptr %32, align 8, !tbaa !73 + %33 = load ptr, ptr %32, align 8, !tbaa !74 %34 = icmp eq ptr %33, %0 br i1 %34, label %_ZSt4findIN9__gnu_cxx17__normal_iteratorIPPKN5Ipopt7SubjectESt6vectorIS5_SaIS5_EEEES5_ET_SB_SB_RKT0_.exit.i.loopexit.split.loop.exit19, label %35 35: ; preds = %31 %36 = getelementptr inbounds nuw i8, ptr %.sroa.032.051.i.i.i.i, i64 24 - %37 = load ptr, ptr %36, align 8, !tbaa !73 + %37 = load ptr, ptr %36, align 8, !tbaa !74 %38 = icmp eq ptr %37, %0 br i1 %38, label %_ZSt4findIN9__gnu_cxx17__normal_iteratorIPPKN5Ipopt7SubjectESt6vectorIS5_SaIS5_EEEES5_ET_SB_SB_RKT0_.exit.i.loopexit.split.loop.exit21, label %39 @@ -1046,7 +1046,7 @@ _ZNSt6vectorIPN5Ipopt8ObserverESaIS2_EED2Ev.exit: ; preds = %._crit_edge, %7 %40 = getelementptr inbounds nuw i8, ptr %.sroa.032.051.i.i.i.i, i64 32 %41 = add nsw i64 %.052.i.i.i.i, -1 %42 = icmp sgt i64 %.052.i.i.i.i, 1 - br i1 %42, label %24, label %._crit_edge.loopexit.i.i.i.i, !llvm.loop !75 + br i1 %42, label %24, label %._crit_edge.loopexit.i.i.i.i, !llvm.loop !76 ._crit_edge.loopexit.i.i.i.i: ; preds = %39 %.pre59.i.i.i.i = ptrtoint ptr %scevgep.i.i.i.i to i64 @@ -1064,7 +1064,7 @@ _ZNSt6vectorIPN5Ipopt8ObserverESaIS2_EED2Ev.exit: ; preds = %._crit_edge, %7 ] 44: ; preds = %._crit_edge.i.i.i.i - %45 = load ptr, ptr %.sroa.032.0.lcssa.i.i.i.i, align 8, !tbaa !73 + %45 = load ptr, ptr %.sroa.032.0.lcssa.i.i.i.i, align 8, !tbaa !74 %46 = icmp eq ptr %45, %0 br i1 %46, label %_ZSt4findIN9__gnu_cxx17__normal_iteratorIPPKN5Ipopt7SubjectESt6vectorIS5_SaIS5_EEEES5_ET_SB_SB_RKT0_.exit.i, label %47 @@ -1074,7 +1074,7 @@ _ZNSt6vectorIPN5Ipopt8ObserverESaIS2_EED2Ev.exit: ; preds = %._crit_edge, %7 ._crit_edge._crit_edge.i.i.i.i: ; preds = %47, %._crit_edge.i.i.i.i %.sroa.032.1.i.i.i.i = phi ptr [ %48, %47 ], [ %.sroa.032.0.lcssa.i.i.i.i, %._crit_edge.i.i.i.i ] - %49 = load ptr, ptr %.sroa.032.1.i.i.i.i, align 8, !tbaa !73 + %49 = load ptr, ptr %.sroa.032.1.i.i.i.i, align 8, !tbaa !74 %50 = icmp eq ptr %49, %0 br i1 %50, label %_ZSt4findIN9__gnu_cxx17__normal_iteratorIPPKN5Ipopt7SubjectESt6vectorIS5_SaIS5_EEEES5_ET_SB_SB_RKT0_.exit.i, label %51 @@ -1084,7 +1084,7 @@ _ZNSt6vectorIPN5Ipopt8ObserverESaIS2_EED2Ev.exit: ; preds = %._crit_edge, %7 ._crit_edge._crit_edge57.i.i.i.i: ; preds = %51, %._crit_edge.i.i.i.i %.sroa.032.2.i.i.i.i = phi ptr [ %52, %51 ], [ %.sroa.032.0.lcssa.i.i.i.i, %._crit_edge.i.i.i.i ] - %53 = load ptr, ptr %.sroa.032.2.i.i.i.i, align 8, !tbaa !73 + %53 = load ptr, ptr %.sroa.032.2.i.i.i.i, align 8, !tbaa !74 %54 = icmp eq ptr %53, %0 %spec.select.i.i.i.i = select i1 %54, ptr %.sroa.032.2.i.i.i.i, ptr %17 br label %_ZSt4findIN9__gnu_cxx17__normal_iteratorIPPKN5Ipopt7SubjectESt6vectorIS5_SaIS5_EEEES5_ET_SB_SB_RKT0_.exit.i @@ -1110,13 +1110,13 @@ _ZSt4findIN9__gnu_cxx17__normal_iteratorIPPKN5Ipopt7SubjectESt6vectorIS5_SaIS5_E to label %.noexc unwind label %76 .noexc: ; preds = %_ZSt4findIN9__gnu_cxx17__normal_iteratorIPPKN5Ipopt7SubjectESt6vectorIS5_SaIS5_EEEES5_ET_SB_SB_RKT0_.exit.i - %61 = load ptr, ptr %14, align 8, !tbaa !71 + %61 = load ptr, ptr %14, align 8, !tbaa !72 %62 = ptrtoint ptr %.sroa.08.0.in.sroa.speculated.i.i.i.i to i64 %63 = ptrtoint ptr %61 to i64 %64 = sub i64 %62, %63 %65 = getelementptr inbounds i8, ptr %61, i64 %64 %66 = getelementptr inbounds nuw i8, ptr %65, i64 8 - %67 = load ptr, ptr %16, align 8, !tbaa !71 + %67 = load ptr, ptr %16, align 8, !tbaa !72 %.not.i.i.i1 = icmp eq ptr %66, %67 br i1 %.not.i.i.i1, label %71, label %_ZSt4moveIN9__gnu_cxx17__normal_iteratorIPPKN5Ipopt7SubjectESt6vectorIS5_SaIS5_EEEESA_ET0_T_SC_SB_.exit.i.i.i @@ -1125,17 +1125,17 @@ _ZSt4moveIN9__gnu_cxx17__normal_iteratorIPPKN5Ipopt7SubjectESt6vectorIS5_SaIS5_E %69 = ptrtoint ptr %66 to i64 %70 = sub i64 %68, %69 tail call void @llvm.memmove.p0.p0.i64(ptr align 8 %65, ptr nonnull align 8 %66, i64 %70, i1 false) - %.pre.i.i.i = load ptr, ptr %16, align 8, !tbaa !77 + %.pre.i.i.i = load ptr, ptr %16, align 8, !tbaa !78 br label %71 71: ; preds = %_ZSt4moveIN9__gnu_cxx17__normal_iteratorIPPKN5Ipopt7SubjectESt6vectorIS5_SaIS5_EEEESA_ET0_T_SC_SB_.exit.i.i.i, %.noexc %72 = phi ptr [ %.pre.i.i.i, %_ZSt4moveIN9__gnu_cxx17__normal_iteratorIPPKN5Ipopt7SubjectESt6vectorIS5_SaIS5_EEEESA_ET0_T_SC_SB_.exit.i.i.i ], [ %67, %.noexc ] %73 = getelementptr inbounds i8, ptr %72, i64 -8 - store ptr %73, ptr %16, align 8, !tbaa !77 + store ptr %73, ptr %16, align 8, !tbaa !78 %74 = getelementptr inbounds nuw i8, ptr %.sroa.02.014, i64 8 - %75 = load ptr, ptr %4, align 8, !tbaa !66 + %75 = load ptr, ptr %4, align 8, !tbaa !67 %.not = icmp eq ptr %74, %75 - br i1 %.not, label %._crit_edge.loopexit, label %.lr.ph, !llvm.loop !79 + br i1 %.not, label %._crit_edge.loopexit, label %.lr.ph, !llvm.loop !80 76: ; preds = %_ZSt4findIN9__gnu_cxx17__normal_iteratorIPPKN5Ipopt7SubjectESt6vectorIS5_SaIS5_EEEES5_ET_SB_SB_RKT0_.exit.i %77 = landingpad { ptr, i32 } @@ -1242,27 +1242,28 @@ attributes #12 = { noreturn nounwind } !53 = !{!36, !5, i64 200} !54 = !{!36, !24, i64 204} !55 = !{i8 0, i8 2} -!56 = !{!57, !59, i64 0} -!57 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", !58, i64 0, !60, i64 8, !6, i64 16} -!58 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_Alloc_hiderE", !59, i64 0} -!59 = !{!"p1 omnipotent char", !13, i64 0} -!60 = !{!"long", !6, i64 0} -!61 = !{!62, !5, i64 12} -!62 = !{!"_ZTSN5Ipopt11MatrixSpaceE", !4, i64 0, !5, i64 12, !5, i64 16} -!63 = !{!64, !65, i64 0} -!64 = !{!"_ZTSN5Ipopt8SmartPtrIKNS_10JournalistEEE", !65, i64 0} -!65 = !{!"p1 _ZTSN5Ipopt10JournalistE", !13, i64 0} -!66 = !{!22, !22, i64 0} -!67 = !{!21, !22, i64 0} -!68 = !{!21, !22, i64 16} -!69 = !{!70, !70, i64 0} -!70 = !{!"p1 _ZTSN5Ipopt8ObserverE", !13, i64 0} -!71 = !{!72, !72, i64 0} -!72 = !{!"p2 _ZTSN5Ipopt7SubjectE", !23, i64 0} -!73 = !{!74, !74, i64 0} -!74 = !{!"p1 _ZTSN5Ipopt7SubjectE", !13, i64 0} -!75 = distinct !{!75, !76} -!76 = !{!"llvm.loop.mustprogress"} -!77 = !{!78, !72, i64 8} -!78 = !{!"_ZTSNSt12_Vector_baseIPKN5Ipopt7SubjectESaIS3_EE17_Vector_impl_dataE", !72, i64 0, !72, i64 8, !72, i64 16} -!79 = distinct !{!79, !76} +!56 = !{} +!57 = !{!58, !60, i64 0} +!58 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", !59, i64 0, !61, i64 8, !6, i64 16} +!59 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_Alloc_hiderE", !60, i64 0} +!60 = !{!"p1 omnipotent char", !13, i64 0} +!61 = !{!"long", !6, i64 0} +!62 = !{!63, !5, i64 12} +!63 = !{!"_ZTSN5Ipopt11MatrixSpaceE", !4, i64 0, !5, i64 12, !5, i64 16} +!64 = !{!65, !66, i64 0} +!65 = !{!"_ZTSN5Ipopt8SmartPtrIKNS_10JournalistEEE", !66, i64 0} +!66 = !{!"p1 _ZTSN5Ipopt10JournalistE", !13, i64 0} +!67 = !{!22, !22, i64 0} +!68 = !{!21, !22, i64 0} +!69 = !{!21, !22, i64 16} +!70 = !{!71, !71, i64 0} +!71 = !{!"p1 _ZTSN5Ipopt8ObserverE", !13, i64 0} +!72 = !{!73, !73, i64 0} +!73 = !{!"p2 _ZTSN5Ipopt7SubjectE", !23, i64 0} +!74 = !{!75, !75, i64 0} +!75 = !{!"p1 _ZTSN5Ipopt7SubjectE", !13, i64 0} +!76 = distinct !{!76, !77} +!77 = !{!"llvm.loop.mustprogress"} +!78 = !{!79, !73, i64 8} +!79 = !{!"_ZTSNSt12_Vector_baseIPKN5Ipopt7SubjectESaIS3_EE17_Vector_impl_dataE", !73, i64 0, !73, i64 8, !73, i64 16} +!80 = distinct !{!80, !77} diff --git a/bench/ipopt/optimized/IpMatrix.ll b/bench/ipopt/optimized/IpMatrix.ll index 6af4887e85a..527d46b26bd 100644 --- a/bench/ipopt/optimized/IpMatrix.ll +++ b/bench/ipopt/optimized/IpMatrix.ll @@ -184,7 +184,7 @@ define noundef zeroext i1 @_ZNK5Ipopt6Matrix15HasValidNumbersEv(ptr noundef nonn ._crit_edge: ; preds = %1 %.phi.trans.insert = getelementptr inbounds nuw i8, ptr %0, i64 68 - %.pre = load i8, ptr %.phi.trans.insert, align 4, !tbaa !28, !range !29 + %.pre = load i8, ptr %.phi.trans.insert, align 4, !tbaa !28, !range !29, !noundef !30 %6 = trunc nuw i8 %.pre to i1 br label %15 @@ -207,7 +207,7 @@ define noundef zeroext i1 @_ZNK5Ipopt6Matrix15HasValidNumbersEv(ptr noundef nonn ; Function Attrs: mustprogress uwtable define void @_ZNK5Ipopt6Matrix5PrintENS_8SmartPtrIKNS_10JournalistEEENS_13EJournalLevelENS_16EJournalCategoryERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiSE_(ptr noundef nonnull align 8 dereferenceable(69) %0, ptr noundef readonly captures(none) %1, i32 noundef %2, i32 noundef %3, ptr noundef nonnull align 8 dereferenceable(32) %4, i32 noundef %5, ptr noundef nonnull align 8 dereferenceable(32) %6) unnamed_addr #0 align 2 { - %8 = load ptr, ptr %1, align 8, !tbaa !30 + %8 = load ptr, ptr %1, align 8, !tbaa !31 %.not = icmp eq ptr %8, null br i1 %.not, label %19, label %9 @@ -219,7 +219,7 @@ define void @_ZNK5Ipopt6Matrix5PrintENS_8SmartPtrIKNS_10JournalistEEENS_13EJourn br i1 %13, label %14, label %19 14: ; preds = %9 - %15 = load ptr, ptr %1, align 8, !tbaa !30 + %15 = load ptr, ptr %1, align 8, !tbaa !31 %16 = load ptr, ptr %0, align 8, !tbaa !3 %17 = getelementptr inbounds nuw i8, ptr %16, i64 88 %18 = load ptr, ptr %17, align 8 @@ -255,7 +255,7 @@ define linkonce_odr void @_ZN5Ipopt6MatrixD2Ev(ptr noundef nonnull align 8 deref %2 = getelementptr inbounds nuw i8, ptr %0, i64 16 store ptr getelementptr inbounds nuw inrange(-16, 16) (i8, ptr @_ZTVN5Ipopt6MatrixE, i64 128), ptr %2, align 8, !tbaa !3 %3 = getelementptr inbounds nuw i8, ptr %0, i64 56 - %4 = load ptr, ptr %3, align 8, !tbaa !33 + %4 = load ptr, ptr %3, align 8, !tbaa !34 %.not.i.i = icmp eq ptr %4, null br i1 %.not.i.i, label %_ZN5Ipopt8SmartPtrIKNS_11MatrixSpaceEED2Ev.exit, label %5 @@ -272,7 +272,7 @@ define linkonce_odr void @_ZN5Ipopt6MatrixD2Ev(ptr noundef nonnull align 8 deref %12 = getelementptr inbounds nuw i8, ptr %11, i64 8 %13 = load ptr, ptr %12, align 8 tail call void %13(ptr noundef nonnull align 8 dereferenceable(20) %4) #10 - store ptr null, ptr %3, align 8, !tbaa !33 + store ptr null, ptr %3, align 8, !tbaa !34 br label %_ZN5Ipopt8SmartPtrIKNS_11MatrixSpaceEED2Ev.exit _ZN5Ipopt8SmartPtrIKNS_11MatrixSpaceEED2Ev.exit: ; preds = %1, %5, %10 @@ -300,7 +300,7 @@ define linkonce_odr void @_ZThn16_N5Ipopt6MatrixD1Ev(ptr noundef %0) unnamed_add store ptr getelementptr inbounds nuw inrange(-16, 96) (i8, ptr @_ZTVN5Ipopt6MatrixE, i64 16), ptr %2, align 8, !tbaa !3 store ptr getelementptr inbounds nuw inrange(-16, 16) (i8, ptr @_ZTVN5Ipopt6MatrixE, i64 128), ptr %0, align 8, !tbaa !3 %3 = getelementptr inbounds nuw i8, ptr %0, i64 40 - %4 = load ptr, ptr %3, align 8, !tbaa !33 + %4 = load ptr, ptr %3, align 8, !tbaa !34 %.not.i.i.i = icmp eq ptr %4, null br i1 %.not.i.i.i, label %_ZN5Ipopt6MatrixD2Ev.exit, label %5 @@ -317,7 +317,7 @@ define linkonce_odr void @_ZThn16_N5Ipopt6MatrixD1Ev(ptr noundef %0) unnamed_add %12 = getelementptr inbounds nuw i8, ptr %11, i64 8 %13 = load ptr, ptr %12, align 8 tail call void %13(ptr noundef nonnull align 8 dereferenceable(20) %4) #10 - store ptr null, ptr %3, align 8, !tbaa !33 + store ptr null, ptr %3, align 8, !tbaa !34 br label %_ZN5Ipopt6MatrixD2Ev.exit _ZN5Ipopt6MatrixD2Ev.exit: ; preds = %1, %5, %10 @@ -350,14 +350,14 @@ declare void @_ZSt9terminatev() local_unnamed_addr #5 define linkonce_odr void @_ZN5Ipopt7SubjectD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %0) unnamed_addr #6 comdat align 2 personality ptr @__gxx_personality_v0 { store ptr getelementptr inbounds nuw inrange(-16, 16) (i8, ptr @_ZTVN5Ipopt7SubjectE, i64 16), ptr %0, align 8, !tbaa !3 %2 = getelementptr inbounds nuw i8, ptr %0, i64 8 - %3 = load ptr, ptr %2, align 8, !tbaa !34 + %3 = load ptr, ptr %2, align 8, !tbaa !35 %4 = getelementptr inbounds nuw i8, ptr %0, i64 16 - %5 = load ptr, ptr %4, align 8, !tbaa !34 + %5 = load ptr, ptr %4, align 8, !tbaa !35 %.not13 = icmp eq ptr %3, %5 br i1 %.not13, label %._crit_edge, label %.lr.ph ._crit_edge.loopexit: ; preds = %71 - %.pre = load ptr, ptr %2, align 8, !tbaa !35 + %.pre = load ptr, ptr %2, align 8, !tbaa !36 br label %._crit_edge ._crit_edge: ; preds = %._crit_edge.loopexit, %1 @@ -367,7 +367,7 @@ define linkonce_odr void @_ZN5Ipopt7SubjectD2Ev(ptr noundef nonnull align 8 dere 7: ; preds = %._crit_edge %8 = getelementptr inbounds nuw i8, ptr %0, i64 24 - %9 = load ptr, ptr %8, align 8, !tbaa !36 + %9 = load ptr, ptr %8, align 8, !tbaa !37 %10 = ptrtoint ptr %9 to i64 %11 = ptrtoint ptr %6 to i64 %12 = sub i64 %10, %11 @@ -379,11 +379,11 @@ _ZNSt6vectorIPN5Ipopt8ObserverESaIS2_EED2Ev.exit: ; preds = %._crit_edge, %7 .lr.ph: ; preds = %1, %71 %.sroa.02.014 = phi ptr [ %74, %71 ], [ %3, %1 ] - %13 = load ptr, ptr %.sroa.02.014, align 8, !tbaa !37 + %13 = load ptr, ptr %.sroa.02.014, align 8, !tbaa !38 %14 = getelementptr inbounds nuw i8, ptr %13, i64 8 - %15 = load ptr, ptr %14, align 8, !tbaa !39 + %15 = load ptr, ptr %14, align 8, !tbaa !40 %16 = getelementptr inbounds nuw i8, ptr %13, i64 16 - %17 = load ptr, ptr %16, align 8, !tbaa !39 + %17 = load ptr, ptr %16, align 8, !tbaa !40 %18 = ptrtoint ptr %17 to i64 %19 = ptrtoint ptr %15 to i64 %20 = sub i64 %18, %19 @@ -399,25 +399,25 @@ _ZNSt6vectorIPN5Ipopt8ObserverESaIS2_EED2Ev.exit: ; preds = %._crit_edge, %7 24: ; preds = %39, %.lr.ph.i.i.i.i %.052.i.i.i.i = phi i64 [ %21, %.lr.ph.i.i.i.i ], [ %41, %39 ] %.sroa.032.051.i.i.i.i = phi ptr [ %15, %.lr.ph.i.i.i.i ], [ %40, %39 ] - %25 = load ptr, ptr %.sroa.032.051.i.i.i.i, align 8, !tbaa !41 + %25 = load ptr, ptr %.sroa.032.051.i.i.i.i, align 8, !tbaa !42 %26 = icmp eq ptr %25, %0 br i1 %26, label %_ZSt4findIN9__gnu_cxx17__normal_iteratorIPPKN5Ipopt7SubjectESt6vectorIS5_SaIS5_EEEES5_ET_SB_SB_RKT0_.exit.i, label %27 27: ; preds = %24 %28 = getelementptr inbounds nuw i8, ptr %.sroa.032.051.i.i.i.i, i64 8 - %29 = load ptr, ptr %28, align 8, !tbaa !41 + %29 = load ptr, ptr %28, align 8, !tbaa !42 %30 = icmp eq ptr %29, %0 br i1 %30, label %_ZSt4findIN9__gnu_cxx17__normal_iteratorIPPKN5Ipopt7SubjectESt6vectorIS5_SaIS5_EEEES5_ET_SB_SB_RKT0_.exit.i.loopexit.split.loop.exit, label %31 31: ; preds = %27 %32 = getelementptr inbounds nuw i8, ptr %.sroa.032.051.i.i.i.i, i64 16 - %33 = load ptr, ptr %32, align 8, !tbaa !41 + %33 = load ptr, ptr %32, align 8, !tbaa !42 %34 = icmp eq ptr %33, %0 br i1 %34, label %_ZSt4findIN9__gnu_cxx17__normal_iteratorIPPKN5Ipopt7SubjectESt6vectorIS5_SaIS5_EEEES5_ET_SB_SB_RKT0_.exit.i.loopexit.split.loop.exit19, label %35 35: ; preds = %31 %36 = getelementptr inbounds nuw i8, ptr %.sroa.032.051.i.i.i.i, i64 24 - %37 = load ptr, ptr %36, align 8, !tbaa !41 + %37 = load ptr, ptr %36, align 8, !tbaa !42 %38 = icmp eq ptr %37, %0 br i1 %38, label %_ZSt4findIN9__gnu_cxx17__normal_iteratorIPPKN5Ipopt7SubjectESt6vectorIS5_SaIS5_EEEES5_ET_SB_SB_RKT0_.exit.i.loopexit.split.loop.exit21, label %39 @@ -425,7 +425,7 @@ _ZNSt6vectorIPN5Ipopt8ObserverESaIS2_EED2Ev.exit: ; preds = %._crit_edge, %7 %40 = getelementptr inbounds nuw i8, ptr %.sroa.032.051.i.i.i.i, i64 32 %41 = add nsw i64 %.052.i.i.i.i, -1 %42 = icmp sgt i64 %.052.i.i.i.i, 1 - br i1 %42, label %24, label %._crit_edge.loopexit.i.i.i.i, !llvm.loop !43 + br i1 %42, label %24, label %._crit_edge.loopexit.i.i.i.i, !llvm.loop !44 ._crit_edge.loopexit.i.i.i.i: ; preds = %39 %.pre59.i.i.i.i = ptrtoint ptr %scevgep.i.i.i.i to i64 @@ -443,7 +443,7 @@ _ZNSt6vectorIPN5Ipopt8ObserverESaIS2_EED2Ev.exit: ; preds = %._crit_edge, %7 ] 44: ; preds = %._crit_edge.i.i.i.i - %45 = load ptr, ptr %.sroa.032.0.lcssa.i.i.i.i, align 8, !tbaa !41 + %45 = load ptr, ptr %.sroa.032.0.lcssa.i.i.i.i, align 8, !tbaa !42 %46 = icmp eq ptr %45, %0 br i1 %46, label %_ZSt4findIN9__gnu_cxx17__normal_iteratorIPPKN5Ipopt7SubjectESt6vectorIS5_SaIS5_EEEES5_ET_SB_SB_RKT0_.exit.i, label %47 @@ -453,7 +453,7 @@ _ZNSt6vectorIPN5Ipopt8ObserverESaIS2_EED2Ev.exit: ; preds = %._crit_edge, %7 ._crit_edge._crit_edge.i.i.i.i: ; preds = %47, %._crit_edge.i.i.i.i %.sroa.032.1.i.i.i.i = phi ptr [ %48, %47 ], [ %.sroa.032.0.lcssa.i.i.i.i, %._crit_edge.i.i.i.i ] - %49 = load ptr, ptr %.sroa.032.1.i.i.i.i, align 8, !tbaa !41 + %49 = load ptr, ptr %.sroa.032.1.i.i.i.i, align 8, !tbaa !42 %50 = icmp eq ptr %49, %0 br i1 %50, label %_ZSt4findIN9__gnu_cxx17__normal_iteratorIPPKN5Ipopt7SubjectESt6vectorIS5_SaIS5_EEEES5_ET_SB_SB_RKT0_.exit.i, label %51 @@ -463,7 +463,7 @@ _ZNSt6vectorIPN5Ipopt8ObserverESaIS2_EED2Ev.exit: ; preds = %._crit_edge, %7 ._crit_edge._crit_edge57.i.i.i.i: ; preds = %51, %._crit_edge.i.i.i.i %.sroa.032.2.i.i.i.i = phi ptr [ %52, %51 ], [ %.sroa.032.0.lcssa.i.i.i.i, %._crit_edge.i.i.i.i ] - %53 = load ptr, ptr %.sroa.032.2.i.i.i.i, align 8, !tbaa !41 + %53 = load ptr, ptr %.sroa.032.2.i.i.i.i, align 8, !tbaa !42 %54 = icmp eq ptr %53, %0 %spec.select.i.i.i.i = select i1 %54, ptr %.sroa.032.2.i.i.i.i, ptr %17 br label %_ZSt4findIN9__gnu_cxx17__normal_iteratorIPPKN5Ipopt7SubjectESt6vectorIS5_SaIS5_EEEES5_ET_SB_SB_RKT0_.exit.i @@ -489,13 +489,13 @@ _ZSt4findIN9__gnu_cxx17__normal_iteratorIPPKN5Ipopt7SubjectESt6vectorIS5_SaIS5_E to label %.noexc unwind label %76 .noexc: ; preds = %_ZSt4findIN9__gnu_cxx17__normal_iteratorIPPKN5Ipopt7SubjectESt6vectorIS5_SaIS5_EEEES5_ET_SB_SB_RKT0_.exit.i - %61 = load ptr, ptr %14, align 8, !tbaa !39 + %61 = load ptr, ptr %14, align 8, !tbaa !40 %62 = ptrtoint ptr %.sroa.08.0.in.sroa.speculated.i.i.i.i to i64 %63 = ptrtoint ptr %61 to i64 %64 = sub i64 %62, %63 %65 = getelementptr inbounds i8, ptr %61, i64 %64 %66 = getelementptr inbounds nuw i8, ptr %65, i64 8 - %67 = load ptr, ptr %16, align 8, !tbaa !39 + %67 = load ptr, ptr %16, align 8, !tbaa !40 %.not.i.i.i1 = icmp eq ptr %66, %67 br i1 %.not.i.i.i1, label %71, label %_ZSt4moveIN9__gnu_cxx17__normal_iteratorIPPKN5Ipopt7SubjectESt6vectorIS5_SaIS5_EEEESA_ET0_T_SC_SB_.exit.i.i.i @@ -504,17 +504,17 @@ _ZSt4moveIN9__gnu_cxx17__normal_iteratorIPPKN5Ipopt7SubjectESt6vectorIS5_SaIS5_E %69 = ptrtoint ptr %66 to i64 %70 = sub i64 %68, %69 tail call void @llvm.memmove.p0.p0.i64(ptr align 8 %65, ptr nonnull align 8 %66, i64 %70, i1 false) - %.pre.i.i.i = load ptr, ptr %16, align 8, !tbaa !45 + %.pre.i.i.i = load ptr, ptr %16, align 8, !tbaa !46 br label %71 71: ; preds = %_ZSt4moveIN9__gnu_cxx17__normal_iteratorIPPKN5Ipopt7SubjectESt6vectorIS5_SaIS5_EEEESA_ET0_T_SC_SB_.exit.i.i.i, %.noexc %72 = phi ptr [ %.pre.i.i.i, %_ZSt4moveIN9__gnu_cxx17__normal_iteratorIPPKN5Ipopt7SubjectESt6vectorIS5_SaIS5_EEEESA_ET0_T_SC_SB_.exit.i.i.i ], [ %67, %.noexc ] %73 = getelementptr inbounds i8, ptr %72, i64 -8 - store ptr %73, ptr %16, align 8, !tbaa !45 + store ptr %73, ptr %16, align 8, !tbaa !46 %74 = getelementptr inbounds nuw i8, ptr %.sroa.02.014, i64 8 - %75 = load ptr, ptr %4, align 8, !tbaa !34 + %75 = load ptr, ptr %4, align 8, !tbaa !35 %.not = icmp eq ptr %74, %75 - br i1 %.not, label %._crit_edge.loopexit, label %.lr.ph, !llvm.loop !47 + br i1 %.not, label %._crit_edge.loopexit, label %.lr.ph, !llvm.loop !48 76: ; preds = %_ZSt4findIN9__gnu_cxx17__normal_iteratorIPPKN5Ipopt7SubjectESt6vectorIS5_SaIS5_EEEES5_ET_SB_SB_RKT0_.exit.i %77 = landingpad { ptr, i32 } @@ -598,21 +598,22 @@ attributes #12 = { builtin nounwind } !27 = !{!16, !13, i64 48} !28 = !{!15, !26, i64 68} !29 = !{i8 0, i8 2} -!30 = !{!31, !32, i64 0} -!31 = !{!"_ZTSN5Ipopt8SmartPtrIKNS_10JournalistEEE", !32, i64 0} -!32 = !{!"p1 _ZTSN5Ipopt10JournalistE", !9, i64 0} -!33 = !{!24, !25, i64 0} -!34 = !{!22, !22, i64 0} -!35 = !{!21, !22, i64 0} -!36 = !{!21, !22, i64 16} -!37 = !{!38, !38, i64 0} -!38 = !{!"p1 _ZTSN5Ipopt8ObserverE", !9, i64 0} -!39 = !{!40, !40, i64 0} -!40 = !{!"p2 _ZTSN5Ipopt7SubjectE", !23, i64 0} -!41 = !{!42, !42, i64 0} -!42 = !{!"p1 _ZTSN5Ipopt7SubjectE", !9, i64 0} -!43 = distinct !{!43, !44} -!44 = !{!"llvm.loop.mustprogress"} -!45 = !{!46, !40, i64 8} -!46 = !{!"_ZTSNSt12_Vector_baseIPKN5Ipopt7SubjectESaIS3_EE17_Vector_impl_dataE", !40, i64 0, !40, i64 8, !40, i64 16} -!47 = distinct !{!47, !44} +!30 = !{} +!31 = !{!32, !33, i64 0} +!32 = !{!"_ZTSN5Ipopt8SmartPtrIKNS_10JournalistEEE", !33, i64 0} +!33 = !{!"p1 _ZTSN5Ipopt10JournalistE", !9, i64 0} +!34 = !{!24, !25, i64 0} +!35 = !{!22, !22, i64 0} +!36 = !{!21, !22, i64 0} +!37 = !{!21, !22, i64 16} +!38 = !{!39, !39, i64 0} +!39 = !{!"p1 _ZTSN5Ipopt8ObserverE", !9, i64 0} +!40 = !{!41, !41, i64 0} +!41 = !{!"p2 _ZTSN5Ipopt7SubjectE", !23, i64 0} +!42 = !{!43, !43, i64 0} +!43 = !{!"p1 _ZTSN5Ipopt7SubjectE", !9, i64 0} +!44 = distinct !{!44, !45} +!45 = !{!"llvm.loop.mustprogress"} +!46 = !{!47, !41, i64 8} +!47 = !{!"_ZTSNSt12_Vector_baseIPKN5Ipopt7SubjectESaIS3_EE17_Vector_impl_dataE", !41, i64 0, !41, i64 8, !41, i64 16} +!48 = distinct !{!48, !45} diff --git a/bench/just-rs/optimized/2sotx4bdu006z307.ll b/bench/just-rs/optimized/2sotx4bdu006z307.ll index 7d00297dfff..f395111a213 100644 --- a/bench/just-rs/optimized/2sotx4bdu006z307.ll +++ b/bench/just-rs/optimized/2sotx4bdu006z307.ll @@ -1248,7 +1248,7 @@ define hidden void @"_ZN102_$LT$core..iter..adapters..zip..Zip$LT$A$C$B$GT$$u20$ ._crit_edge23.i.i: ; preds = %2 %.phi.trans.insert.i.i = getelementptr inbounds nuw i8, ptr %1, i64 8 - %.val15.pre.i.i = load i64, ptr %.phi.trans.insert.i.i, align 8, !alias.scope !363, !noalias !364 + %.val15.pre.i.i = load i64, ptr %.phi.trans.insert.i.i, align 8, !alias.scope !363, !noalias !364, !noundef !4 br label %"_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$4fold17h4b0df2c45c85dc2bE.llvm.11107275065492906757.exit" .lr.ph.i.i: ; preds = %2 @@ -2500,7 +2500,7 @@ define hidden void @"_ZN111_$LT$core..iter..adapters..zip..Zip$LT$A$C$B$GT$$u20$ ._crit_edge23.i: ; preds = %2 %.phi.trans.insert.i = getelementptr inbounds nuw i8, ptr %1, i64 8 - %.val15.pre.i = load i64, ptr %.phi.trans.insert.i, align 8, !alias.scope !524, !noalias !521 + %.val15.pre.i = load i64, ptr %.phi.trans.insert.i, align 8, !alias.scope !524, !noalias !521, !noundef !4 br label %"_ZN99_$LT$core..iter..adapters..zip..Zip$LT$A$C$B$GT$$u20$as$u20$core..iter..adapters..zip..SpecFold$GT$9spec_fold17h15792b4f75b2b86aE.llvm.11107275065492906757.exit" .lr.ph.i: ; preds = %2 @@ -2797,7 +2797,7 @@ default.unreachable: ; preds = %.lr.ph.i.i to label %.noexc27 unwind label %.loopexit.split-lp.loopexit .noexc27: ; preds = %"_ZN5alloc3vec16Vec$LT$T$C$A$GT$17extend_from_slice17hcc909c8b8797f9bbE.exit.sink.split.i.i" - %.pre.i.i12.i.i = load i64, ptr %7, align 8, !alias.scope !615, !noalias !616 + %.pre.i.i12.i.i = load i64, ptr %7, align 8, !alias.scope !615, !noalias !616, !noundef !4 br label %"_ZN5alloc3vec16Vec$LT$T$C$A$GT$17extend_from_slice17hcc909c8b8797f9bbE.exit.i.i" "_ZN5alloc3vec16Vec$LT$T$C$A$GT$17extend_from_slice17hcc909c8b8797f9bbE.exit.i.i": ; preds = %.noexc27, %"_ZN115_$LT$core..ops..range..RangeInclusive$LT$usize$GT$$u20$as$u20$core..slice..index..SliceIndex$LT$$u5b$T$u5d$$GT$$GT$5index17h6a2dd74c8a2db759E.exit.i.i", %34 @@ -2826,7 +2826,7 @@ _ZN3std2io5error5Error14is_interrupted17haa138aed658ec797E.exit.i.i: ; preds = % 64: ; preds = %_ZN3std2io5error5Error14is_interrupted17haa138aed658ec797E.exit.i.i, %28, %24, %22 call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %5), !noalias !592 - %.pre = load i64, ptr %7, align 8 + %.pre = load i64, ptr %7, align 8, !noundef !4 br label %"_ZN3std2io7BufRead9read_line28_$u7b$$u7b$closure$u7d$$u7d$17h84c3f4cd616eb64dE.exit" 65: ; preds = %_ZN3std2io5error5Error14is_interrupted17haa138aed658ec797E.exit.i.i, %28, %24, %22 @@ -3083,7 +3083,7 @@ define hidden noundef ptr @_ZN3std2io5Write9write_fmt17hb38554c4e9186b53E(ptr no to label %19 unwind label %17 9: ; preds = %2 - %10 = load ptr, ptr %5, align 8 + %10 = load ptr, ptr %5, align 8, !noundef !4 %.not = icmp eq ptr %10, null br i1 %6, label %11, label %12 @@ -7596,7 +7596,7 @@ define hidden void @_ZN4core4iter6traits8iterator8Iterator8try_fold17h14329f8bc0 ._crit_edge11: ; preds = %2 %.phi.trans.insert = getelementptr inbounds nuw i8, ptr %1, i64 8 - %.val4.pre = load i64, ptr %.phi.trans.insert, align 8 + %.val4.pre = load i64, ptr %.phi.trans.insert, align 8, !noundef !4 br label %15 .lr.ph: ; preds = %2 @@ -8974,7 +8974,7 @@ _ZN4core4char7methods15encode_utf8_raw17ha5a8bd16826d1590E.llvm.1110727506549290 %50 = extractvalue { i64, i64 } %49, 0 %51 = extractvalue { i64, i64 } %49, 1 tail call void @_ZN5alloc7raw_vec14handle_reserve17hf0112dc2ee693d5aE.llvm.205512763258348018(i64 noundef %50, i64 %51), !noalias !1894 - %.pre.i.i.i = load i64, ptr %43, align 8, !alias.scope !1896, !noalias !1894 + %.pre.i.i.i = load i64, ptr %43, align 8, !alias.scope !1896, !noalias !1894, !noundef !4 br label %"_ZN5alloc3vec16Vec$LT$T$C$A$GT$17extend_from_slice17hcc909c8b8797f9bbE.exit.i" "_ZN5alloc3vec16Vec$LT$T$C$A$GT$17extend_from_slice17hcc909c8b8797f9bbE.exit.i": ; preds = %48, %_ZN4core4char7methods15encode_utf8_raw17ha5a8bd16826d1590E.llvm.11107275065492906757.exit.i @@ -8999,7 +8999,7 @@ _ZN4core4char7methods15encode_utf8_raw17ha5a8bd16826d1590E.llvm.1110727506549290 63: ; preds = %.critedge.i tail call void @"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$16reserve_for_push17hd4ec225c008cc1f2E"(ptr noalias noundef nonnull align 8 dereferenceable(24) %0, i64 noundef %60) - %.pre.i.i = load i64, ptr %59, align 8, !alias.scope !1897 + %.pre.i.i = load i64, ptr %59, align 8, !alias.scope !1897, !noundef !4 br label %"_ZN5alloc3vec16Vec$LT$T$C$A$GT$4push17h0c42ee559bf91246E.exit.i" "_ZN5alloc3vec16Vec$LT$T$C$A$GT$4push17h0c42ee559bf91246E.exit.i": ; preds = %63, %.critedge.i @@ -9031,7 +9031,7 @@ define internal noundef zeroext i1 @"_ZN58_$LT$alloc..string..String$u20$as$u20$ %11 = extractvalue { i64, i64 } %10, 0 %12 = extractvalue { i64, i64 } %10, 1 tail call void @_ZN5alloc7raw_vec14handle_reserve17hf0112dc2ee693d5aE.llvm.205512763258348018(i64 noundef %11, i64 %12), !noalias !1907 - %.pre.i.i = load i64, ptr %4, align 8, !alias.scope !1909, !noalias !1907 + %.pre.i.i = load i64, ptr %4, align 8, !alias.scope !1909, !noalias !1907, !noundef !4 br label %"_ZN5alloc3vec16Vec$LT$T$C$A$GT$17extend_from_slice17hcc909c8b8797f9bbE.exit" "_ZN5alloc3vec16Vec$LT$T$C$A$GT$17extend_from_slice17hcc909c8b8797f9bbE.exit": ; preds = %3, %9 @@ -9484,9 +9484,9 @@ define internal fastcc noundef zeroext i1 @_ZN5regex5regex6string5Regex11is_matc tail call void @llvm.assume(i1 %9) %10 = getelementptr inbounds nuw i8, ptr %.0.val, i64 32 tail call void @llvm.experimental.noalias.scope.decl(metadata !2076) - %.pre.pre.i = load ptr, ptr %10, align 8, !alias.scope !2076, !noalias !2079 + %.pre.pre.i = load ptr, ptr %10, align 8, !alias.scope !2076, !noalias !2079, !nonnull !4, !noundef !4 %11 = getelementptr inbounds nuw i8, ptr %.pre.pre.i, i64 168 - %12 = load ptr, ptr %11, align 8, !noalias !2084 + %12 = load ptr, ptr %11, align 8, !noalias !2084, !nonnull !4, !noundef !4 %13 = load i64, ptr %12, align 8, !range !581, !noalias !2084, !noundef !4 %trunc.i.i = trunc nuw i64 %13 to i1 br i1 %trunc.i.i, label %14, label %_ZN14regex_automata4meta5regex9RegexInfo13is_impossible17h98b7df9da17870f0E.exit.thread.i @@ -9749,7 +9749,7 @@ _ZN14regex_automata4util4pool5inner9THREAD_ID7__getit17he141448109b075e5E.exit.i to label %._crit_edge.i.i.i unwind label %117, !noalias !2129 ._crit_edge.i.i.i: ; preds = %116 - %.pre.i.i.i = load i64, ptr %112, align 8, !alias.scope !2126, !noalias !2129 + %.pre.i.i.i = load i64, ptr %112, align 8, !alias.scope !2126, !noalias !2129, !noundef !4 br label %121 117: ; preds = %116 @@ -9875,7 +9875,7 @@ _ZN3std4sync6poison4Flag4done17h6aecd475d8dd2349E.llvm.1798434116971987782.exit. "_ZN14regex_automata4util4pool5inner22PoolGuard$LT$T$C$F$GT$7put_imp17h5fe384b21886484dE.exit.i": ; preds = %.noexc7.i, %.noexc5.i, %137, %_ZN3std4sync6poison4Flag4done17h6aecd475d8dd2349E.llvm.11107275065492906757.exit.i.i.i.i, %"_ZN4core3ptr80drop_in_place$LT$alloc..boxed..Box$LT$regex_automata..meta..regex..Cache$GT$$GT$17h296dfeae8992f9c8E.exit.i.i" call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %6), !noalias !2090 - %.pre = load i64, ptr %7, align 8, !range !581 + %.pre = load i64, ptr %7, align 8, !range !581, !noundef !4 %155 = icmp ne i64 %.pre, 0 br label %_ZN14regex_automata4meta5regex5Regex11search_half17hf6e7bbd4f4e39a06E.exit @@ -10108,7 +10108,7 @@ define internal fastcc void @"_ZN78_$LT$alloc..string..String$u20$as$u20$core..o to label %.noexc1 unwind label %14 .noexc1: ; preds = %.noexc - %.pre.i.i = load i64, ptr %5, align 8, !alias.scope !2204, !noalias !2202 + %.pre.i.i = load i64, ptr %5, align 8, !alias.scope !2204, !noalias !2202, !noundef !4 br label %16 14: ; preds = %.noexc, %10 @@ -12512,7 +12512,7 @@ define hidden void @"_ZN99_$LT$core..iter..adapters..zip..Zip$LT$A$C$B$GT$$u20$a ._crit_edge23: ; preds = %2 %.phi.trans.insert = getelementptr inbounds nuw i8, ptr %1, i64 8 - %.val15.pre = load i64, ptr %.phi.trans.insert, align 8 + %.val15.pre = load i64, ptr %.phi.trans.insert, align 8, !noundef !4 br label %30 .lr.ph: ; preds = %2 @@ -13891,7 +13891,7 @@ define hidden void @_ZN4just9evaluator9Evaluator20evaluate_assignments17h20888fc 47: ; preds = %44 call void @llvm.lifetime.end.p0(i64 104, ptr nonnull %14) - %.pr = load i64, ptr %.sroa.933.0..sroa_idx, align 8, !alias.scope !2816 + %.pr = load i64, ptr %.sroa.933.0..sroa_idx, align 8, !alias.scope !2816, !noundef !4 %48 = icmp eq i64 %.pr, 0 br i1 %48, label %._crit_edge, label %29 @@ -14765,13 +14765,12 @@ _ZN5alloc3fmt6format17h7ead8f60e83381d7E.exit: ; preds = %79 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(24) %.sroa.748.8..sroa_idx, ptr noundef nonnull align 8 dereferenceable(24) %267, i64 24, i1 false) call void @llvm.lifetime.end.p0(i64 104, ptr nonnull %60) call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %61, ptr noundef nonnull align 1 dereferenceable(24) %.sroa.748.8..sroa_idx, i64 24, i1 false) - %.pre768 = load i64, ptr %61, align 8, !range !728, !alias.scope !2936 + %.pre768 = load i64, ptr %61, align 8, !range !728, !alias.scope !2936, !noundef !4 %.phi.trans.insert = getelementptr inbounds nuw i8, ptr %61, i64 8 - %..val.i.pre = load ptr, ptr %.phi.trans.insert, align 8, !alias.scope !2936 + %..val.i.pre = load ptr, ptr %.phi.trans.insert, align 8, !alias.scope !2936, !nonnull !4 %.phi.trans.insert770 = getelementptr inbounds nuw i8, ptr %61, i64 16 %..val2.i.pre = load i64, ptr %.phi.trans.insert770, align 8, !alias.scope !2936 - %.pre768.fr = freeze i64 %.pre768 - %268 = icmp eq i64 %.pre768.fr, -9223372036854775808 + %268 = icmp eq i64 %.pre768, -9223372036854775808 call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %59) %269 = getelementptr inbounds nuw i8, ptr %63, i64 8 %270 = load ptr, ptr %269, align 8, !nonnull !4, !noundef !4 @@ -14781,10 +14780,10 @@ _ZN5alloc3fmt6format17h7ead8f60e83381d7E.exit: ; preds = %79 br label %273 273: ; preds = %266, %.thread779 - %274 = phi i64 [ undef, %.thread779 ], [ %..val2.i.pre, %266 ] - %275 = phi ptr [ %253, %.thread779 ], [ %270, %266 ] - %276 = phi i64 [ %255, %.thread779 ], [ %272, %266 ] - %277 = phi ptr [ null, %.thread779 ], [ %spec.select, %266 ] + %274 = phi i64 [ undef, %.thread777 ], [ %..val2.i.pre, %266 ] + %275 = phi ptr [ %253, %.thread777 ], [ %270, %266 ] + %276 = phi i64 [ %255, %.thread777 ], [ %272, %266 ] + %277 = phi ptr [ null, %.thread777 ], [ %spec.select, %266 ] %.in = getelementptr inbounds nuw i8, ptr %.tr732, i64 8 %278 = load ptr, ptr %.in, align 8, !nonnull !4, !noundef !4 invoke void %278(ptr noalias noundef nonnull sret({ i64, [3 x i64] }) align 8 captures(none) dereferenceable(32) %59, ptr noalias noundef nonnull readonly align 8 dereferenceable(32) %68, ptr noalias noundef nonnull readonly align 1 %275, i64 noundef %276, ptr noalias noundef readonly align 1 %277, i64 %274) @@ -15050,7 +15049,7 @@ _ZN5alloc3fmt6format17h7ead8f60e83381d7E.exit: ; preds = %79 br label %356 ._crit_edge.loopexit: ; preds = %384 - %.pre767 = load ptr, ptr %337, align 8 + %.pre767 = load ptr, ptr %337, align 8, !nonnull !4, !noundef !4 br label %._crit_edge ._crit_edge: ; preds = %._crit_edge.loopexit, %335 @@ -15149,7 +15148,7 @@ _ZN5alloc3fmt6format17h7ead8f60e83381d7E.exit: ; preds = %79 to label %._crit_edge.i unwind label %379, !noalias !2990 ._crit_edge.i: ; preds = %378 - %.pre.i = load i64, ptr %338, align 8, !alias.scope !2987, !noalias !2990 + %.pre.i = load i64, ptr %338, align 8, !alias.scope !2987, !noalias !2990, !noundef !4 br label %384 379: ; preds = %378 @@ -15450,7 +15449,7 @@ _ZN5alloc3fmt6format17h7ead8f60e83381d7E.exit: ; preds = %79 to label %.noexc1.i unwind label %470, !noalias !3022 .noexc1.i: ; preds = %.noexc.i - %.pre.i.i.i = load i64, ptr %461, align 8, !alias.scope !3023, !noalias !3019 + %.pre.i.i.i = load i64, ptr %461, align 8, !alias.scope !3023, !noalias !3019, !noundef !4 br label %483 470: ; preds = %.noexc.i, %466 @@ -15875,8 +15874,8 @@ _ZN5alloc3fmt6format17h7ead8f60e83381d7E.exit: ; preds = %79 to label %.noexc1.i651 unwind label %607, !noalias !3088 .noexc1.i651: ; preds = %.noexc.i650 - %.pre.i.i.i652 = load i64, ptr %.sroa.5510.0..sroa_idx, align 8, !alias.scope !3090, !noalias !3096 - %.pre = load ptr, ptr %.sroa.4509.0..sroa_idx, align 8, !alias.scope !3090, !noalias !3096 + %.pre.i.i.i652 = load i64, ptr %.sroa.5510.0..sroa_idx, align 8, !alias.scope !3090, !noalias !3096, !noundef !4 + %.pre = load ptr, ptr %.sroa.4509.0..sroa_idx, align 8, !alias.scope !3090, !noalias !3096, !nonnull !4, !noundef !4 br label %620 607: ; preds = %.noexc.i650, %603 @@ -15992,7 +15991,7 @@ _ZN5alloc3fmt6format17h7ead8f60e83381d7E.exit: ; preds = %79 to label %.noexc1.i661 unwind label %645, !noalias !3132 .noexc1.i661: ; preds = %.noexc.i660 - %.pre.i.i.i662 = load i64, ptr %637, align 8, !alias.scope !3133, !noalias !3129 + %.pre.i.i.i662 = load i64, ptr %637, align 8, !alias.scope !3133, !noalias !3129, !noundef !4 br label %"_ZN78_$LT$alloc..string..String$u20$as$u20$core..ops..arith..Add$LT$$RF$str$GT$$GT$3add17h6aab98ea44b9901cE.exit663" 645: ; preds = %.noexc.i660, %641 @@ -16732,7 +16731,7 @@ default.unreachable: ; preds = %.noexc.i to label %.noexc17.i unwind label %87, !noalias !3163 .noexc17.i: ; preds = %.noexc16.i - %.pre.i.i.i = load i64, ptr %.sroa.5.0..sroa_idx.i, align 8, !alias.scope !3215, !noalias !3213 + %.pre.i.i.i = load i64, ptr %.sroa.5.0..sroa_idx.i, align 8, !alias.scope !3215, !noalias !3213, !noundef !4 br label %247 "_ZN80_$LT$core..str..pattern..StrSearcher$u20$as$u20$core..str..pattern..Searcher$GT$10next_match17h81357aafb99f3895E.exit.i.thread.i": ; preds = %.split.us, %127, %"_ZN80_$LT$core..str..pattern..StrSearcher$u20$as$u20$core..str..pattern..Searcher$GT$10next_match17h81357aafb99f3895E.exit.i.thread17.i" @@ -16757,7 +16756,7 @@ default.unreachable: ; preds = %.noexc.i to label %.noexc20.i unwind label %.loopexit.split-lp.loopexit.i, !noalias !3163 .noexc20.i: ; preds = %.noexc19.i - %.pre.i.i18.i = load i64, ptr %.sroa.5.0..sroa_idx.i, align 8, !alias.scope !3225, !noalias !3223 + %.pre.i.i18.i = load i64, ptr %.sroa.5.0..sroa_idx.i, align 8, !alias.scope !3225, !noalias !3223, !noundef !4 br label %225 225: ; preds = %.noexc20.i, %"_ZN80_$LT$core..str..pattern..StrSearcher$u20$as$u20$core..str..pattern..Searcher$GT$10next_match17h81357aafb99f3895E.exit.i.thread.i" @@ -16784,7 +16783,7 @@ default.unreachable: ; preds = %.noexc.i to label %.noexc24.i unwind label %.loopexit.split-lp.loopexit.i, !noalias !3163 .noexc24.i: ; preds = %.noexc23.i - %.pre.i.i22.i = load i64, ptr %.sroa.5.0..sroa_idx.i, align 8, !alias.scope !3235, !noalias !3233 + %.pre.i.i22.i = load i64, ptr %.sroa.5.0..sroa_idx.i, align 8, !alias.scope !3235, !noalias !3233, !noundef !4 br label %238 238: ; preds = %.noexc24.i, %225 @@ -16842,7 +16841,7 @@ default.unreachable: ; preds = %.noexc.i to label %.noexc47 unwind label %277 .noexc47: ; preds = %.noexc46 - %.pre.i.i = load i64, ptr %.sroa.5.0..sroa_idx, align 8, !alias.scope !3246, !noalias !3244 + %.pre.i.i = load i64, ptr %.sroa.5.0..sroa_idx, align 8, !alias.scope !3246, !noalias !3244, !noundef !4 br label %"_ZN5alloc3vec16Vec$LT$T$C$A$GT$17extend_from_slice17hcc909c8b8797f9bbE.exit" "_ZN5alloc3vec16Vec$LT$T$C$A$GT$17extend_from_slice17hcc909c8b8797f9bbE.exit": ; preds = %257, %.noexc47 @@ -16879,7 +16878,7 @@ default.unreachable: ; preds = %.noexc.i to label %.noexc50 unwind label %277 .noexc50: ; preds = %.noexc49 - %.pre.i.i48 = load i64, ptr %.sroa.5.0..sroa_idx, align 8, !alias.scope !3256, !noalias !3254 + %.pre.i.i48 = load i64, ptr %.sroa.5.0..sroa_idx, align 8, !alias.scope !3256, !noalias !3254, !noundef !4 br label %"_ZN5alloc3vec16Vec$LT$T$C$A$GT$17extend_from_slice17hcc909c8b8797f9bbE.exit51" "_ZN5alloc3vec16Vec$LT$T$C$A$GT$17extend_from_slice17hcc909c8b8797f9bbE.exit51": ; preds = %269, %.noexc50 @@ -16956,7 +16955,7 @@ default.unreachable: ; preds = %.noexc.i to label %.noexc55 unwind label %323 .noexc55: ; preds = %.noexc54 - %.pre.i.i53 = load i64, ptr %.sroa.5.0..sroa_idx, align 8, !alias.scope !3275, !noalias !3273 + %.pre.i.i53 = load i64, ptr %.sroa.5.0..sroa_idx, align 8, !alias.scope !3275, !noalias !3273, !noundef !4 br label %325 314: ; preds = %300 @@ -17239,7 +17238,7 @@ define hidden void @_ZN4just9evaluator9Evaluator19evaluate_parameters17hc8c52dbe to label %._crit_edge.i unwind label %78, !noalias !3313 ._crit_edge.i: ; preds = %77 - %.pre.i = load i64, ptr %40, align 8, !alias.scope !3310, !noalias !3313 + %.pre.i = load i64, ptr %40, align 8, !alias.scope !3310, !noalias !3313, !noundef !4 br label %82 78: ; preds = %77 @@ -17396,7 +17395,7 @@ define hidden void @_ZN4just9evaluator9Evaluator19evaluate_parameters17hc8c52dbe to label %._crit_edge.i61 unwind label %121, !noalias !3344 ._crit_edge.i61: ; preds = %120 - %.pre.i62 = load i64, ptr %40, align 8, !alias.scope !3341, !noalias !3344 + %.pre.i62 = load i64, ptr %40, align 8, !alias.scope !3341, !noalias !3344, !noundef !4 br label %125 121: ; preds = %120 @@ -17537,7 +17536,7 @@ define hidden void @_ZN4just9evaluator9Evaluator19evaluate_parameters17hc8c52dbe to label %._crit_edge.i70 unwind label %164, !noalias !3355 ._crit_edge.i70: ; preds = %163 - %.pre.i71 = load i64, ptr %40, align 8, !alias.scope !3352, !noalias !3355 + %.pre.i71 = load i64, ptr %40, align 8, !alias.scope !3352, !noalias !3355, !noundef !4 br label %168 164: ; preds = %163 @@ -18209,7 +18208,7 @@ _ZN10env_logger6logger7Builder8from_env17h5f8228e94a99d336E.exit: ; preds = %_ZN "_ZN4core6result19Result$LT$T$C$E$GT$7map_err17hdb6aa573c46785d9E.exit": ; preds = %51 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(336) %10, ptr noundef nonnull readonly align 8 dereferenceable(336) %9, i64 336, i1 false), !alias.scope !3415 - %.pre = load i64, ptr %10, align 8 + %.pre = load i64, ptr %10, align 8, !range !1349, !noundef !4 call void @llvm.lifetime.end.p0(i64 336, ptr nonnull %9) %57 = icmp eq i64 %.pre, 14 br i1 %57, label %60, label %62 @@ -18298,7 +18297,7 @@ _ZN10env_logger6logger7Builder8from_env17h5f8228e94a99d336E.exit: ; preds = %_ZN call void @llvm.lifetime.start.p0(i64 104, ptr nonnull %4), !noalias !3428 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(104) %4, ptr noundef nonnull readonly align 8 dereferenceable(104) %7, i64 104, i1 false), !noalias !3426 call void @llvm.experimental.noalias.scope.decl(metadata !3429) - %.pre6.i.i = load i8, ptr %4, align 8, !range !714, !alias.scope !3432, !noalias !3435 + %.pre6.i.i = load i8, ptr %4, align 8, !range !714, !alias.scope !3432, !noalias !3435, !noundef !4 br i1 %.033, label %87, label %79 77: ; preds = %101, %85 @@ -18385,7 +18384,7 @@ _ZN10env_logger6logger7Builder8from_env17h5f8228e94a99d336E.exit: ; preds = %_ZN call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %3), !noalias !3440 call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %1), !noalias !3440 call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %2), !noalias !3440 - %.pre.i.i = load i8, ptr %4, align 8, !range !714, !alias.scope !3432, !noalias !3435 + %.pre.i.i = load i8, ptr %4, align 8, !range !714, !alias.scope !3432, !noalias !3435, !noundef !4 br label %87 111: ; preds = %77 diff --git a/bench/linux/optimized/intel_ddi.ll b/bench/linux/optimized/intel_ddi.ll index 2fca97f193c..4d89b33b00a 100644 --- a/bench/linux/optimized/intel_ddi.ll +++ b/bench/linux/optimized/intel_ddi.ll @@ -476,9 +476,8 @@ define dso_local void @intel_ddi_set_dp_msa(ptr noundef %0, ptr noundef %1) loca tail call void asm sideeffect "1:\09.byte 0x0f, 0x0b\0A.pushsection __bug_table,\22aw\22\0A2:\09.long 1b - .\09# bug_entry::bug_addr\0A\09.long ${0:c} - .\09# bug_entry::file\0A\09.word ${1:c}\09# bug_entry::line\0A\09.word ${2:c}\09# bug_entry::flags\0A\09.org 2b+${3:c}\0A.popsection\0A998:\0A\09.pushsection .discard.reachable\0A\09.long 998b\0A\09.popsection\0A\09", "i,i,i,i,~{dirflag},~{fpsr},~{flags}"(ptr nonnull @.str.2, i32 419, i32 2313, i64 12) #14, !srcloc !41 tail call void asm sideeffect "939: nop\0A\09.pushsection .discard.instr_end\0A\09.long 939b - .\0A\09.popsection\0A\09", "i,~{dirflag},~{fpsr},~{flags}"(i32 939) #14, !srcloc !42 tail call void asm sideeffect "940: nop\0A\09.pushsection .discard.instr_end\0A\09.long 940b - .\0A\09.popsection\0A\09", "i,~{dirflag},~{fpsr},~{flags}"(i32 940) #14, !srcloc !43 - %.pre = load i8, ptr %39, align 4, !range !37 - %.pre.fr = freeze i8 %.pre - %59 = icmp eq i8 %.pre.fr, 0 + %.pre = load i8, ptr %39, align 4, !range !37, !noundef !38 + %59 = icmp eq i8 %.pre, 0 %60 = or disjoint i32 %38, 8 br i1 %59, label %.thread, label %61 @@ -486,7 +485,7 @@ define dso_local void @intel_ddi_set_dp_msa(ptr noundef %0, ptr noundef %1) loca br label %61 61: ; preds = %.thread3, %57, %.thread - %62 = phi i32 [ %38, %.thread ], [ %60, %57 ], [ %46, %.thread3 ] + %62 = phi i32 [ %38, %.thread ], [ %60, %57 ], [ %46, %.thread2 ] %63 = getelementptr inbounds nuw i8, ptr %0, i64 4744 %64 = load i32, ptr %63, align 8 %65 = icmp eq i32 %64, 2 diff --git a/bench/linux/optimized/reboot.ll b/bench/linux/optimized/reboot.ll index cbd2624fd7f..f6981d7dddd 100644 --- a/bench/linux/optimized/reboot.ll +++ b/bench/linux/optimized/reboot.ll @@ -318,7 +318,7 @@ define internal void @native_machine_emergency_restart() #0 align 16 { br label %37 35: ; preds = %9 - %.pr2 = load i8, ptr @port_cf9_safe, align 1 + %.pr2 = load i8, ptr @port_cf9_safe, align 1, !range !14, !noundef !15 %36 = icmp eq i8 %.pr2, 0 br i1 %36, label %47, label %37 @@ -339,14 +339,14 @@ define internal void @native_machine_emergency_restart() #0 align 16 { 46: ; preds = %9 tail call void @idt_invalidate() #7 - tail call void asm sideeffect "int3", "~{dirflag},~{fpsr},~{flags}"() #7, !srcloc !14 + tail call void asm sideeffect "int3", "~{dirflag},~{fpsr},~{flags}"() #7, !srcloc !16 br label %47 47: ; preds = %46, %37, %35, %32, %27, %12 %48 = phi i32 [ 107, %46 ], [ 98, %32 ], [ 107, %12 ], [ %30, %27 ], [ 116, %37 ], [ 116, %35 ] %49 = phi i32 [ %11, %46 ], [ %11, %32 ], [ %11, %12 ], [ %31, %27 ], [ %11, %37 ], [ %11, %35 ] store i32 %48, ptr @reboot_type, align 4 - br label %9, !llvm.loop !15 + br label %9, !llvm.loop !17 } ; Function Attrs: fn_ret_thunk_extern nounwind null_pointer_is_valid @@ -396,16 +396,16 @@ define dso_local void @nmi_shootdown_cpus(ptr noundef %0) local_unnamed_addr #3 tail call void asm sideeffect "cli", "~{memory},~{dirflag},~{fpsr},~{flags}"() #7, !srcloc !5 %2 = load i32, ptr @crash_ipi_issued, align 4 %3 = icmp eq i32 %2, 0 - br i1 %3, label %5, label %4, !prof !16 + br i1 %3, label %5, label %4, !prof !18 4: ; preds = %1 - tail call void asm sideeffect "528: nop\0A\09.pushsection .discard.instr_begin\0A\09.long 528b - .\0A\09.popsection\0A\09", "i,~{dirflag},~{fpsr},~{flags}"(i32 528) #7, !srcloc !17 - tail call void asm sideeffect "1:\09.byte 0x0f, 0x0b\0A.pushsection __bug_table,\22aw\22\0A2:\09.long 1b - .\09# bug_entry::bug_addr\0A\09.long ${0:c} - .\09# bug_entry::file\0A\09.word ${1:c}\09# bug_entry::line\0A\09.word ${2:c}\09# bug_entry::flags\0A\09.org 2b+${3:c}\0A.popsection\0A998:\0A\09.pushsection .discard.reachable\0A\09.long 998b\0A\09.popsection\0A\09", "i,i,i,i,~{dirflag},~{fpsr},~{flags}"(ptr nonnull @.str, i32 902, i32 2307, i64 12) #7, !srcloc !18 - tail call void asm sideeffect "529: nop\0A\09.pushsection .discard.instr_end\0A\09.long 529b - .\0A\09.popsection\0A\09", "i,~{dirflag},~{fpsr},~{flags}"(i32 529) #7, !srcloc !19 + tail call void asm sideeffect "528: nop\0A\09.pushsection .discard.instr_begin\0A\09.long 528b - .\0A\09.popsection\0A\09", "i,~{dirflag},~{fpsr},~{flags}"(i32 528) #7, !srcloc !19 + tail call void asm sideeffect "1:\09.byte 0x0f, 0x0b\0A.pushsection __bug_table,\22aw\22\0A2:\09.long 1b - .\09# bug_entry::bug_addr\0A\09.long ${0:c} - .\09# bug_entry::file\0A\09.word ${1:c}\09# bug_entry::line\0A\09.word ${2:c}\09# bug_entry::flags\0A\09.org 2b+${3:c}\0A.popsection\0A998:\0A\09.pushsection .discard.reachable\0A\09.long 998b\0A\09.popsection\0A\09", "i,i,i,i,~{dirflag},~{fpsr},~{flags}"(ptr nonnull @.str, i32 902, i32 2307, i64 12) #7, !srcloc !20 + tail call void asm sideeffect "529: nop\0A\09.pushsection .discard.instr_end\0A\09.long 529b - .\0A\09.popsection\0A\09", "i,~{dirflag},~{fpsr},~{flags}"(i32 529) #7, !srcloc !21 br label %.loopexit 5: ; preds = %1 - %6 = tail call i32 asm "movl %gs:$1, $0", "=r,*m,~{dirflag},~{fpsr},~{flags}"(ptr nonnull elementtype(i32) getelementptr inbounds nuw (i8, ptr @pcpu_hot, i64 12)) #11, !srcloc !20 + %6 = tail call i32 asm "movl %gs:$1, $0", "=r,*m,~{dirflag},~{fpsr},~{flags}"(ptr nonnull elementtype(i32) getelementptr inbounds nuw (i8, ptr @pcpu_hot, i64 12)) #11, !srcloc !22 store i32 %6, ptr @crashing_cpu, align 4 store ptr %0, ptr @shootdown_callback, align 8 %7 = load volatile i32, ptr @__num_online_cpus, align 4 @@ -416,7 +416,7 @@ define dso_local void @nmi_shootdown_cpus(ptr noundef %0) local_unnamed_addr #3 br i1 %10, label %11, label %.loopexit 11: ; preds = %5 - tail call void asm sideeffect "sfence", "~{memory},~{dirflag},~{fpsr},~{flags}"() #7, !srcloc !21 + tail call void asm sideeffect "sfence", "~{memory},~{dirflag},~{fpsr},~{flags}"() #7, !srcloc !23 tail call void @apic_send_IPI_allbutself(i32 noundef 2) #7 store volatile i32 1, ptr @crash_ipi_issued, align 4 %12 = load volatile i32, ptr @waiting_for_crash_ipi, align 4 @@ -431,7 +431,7 @@ define dso_local void @nmi_shootdown_cpus(ptr noundef %0) local_unnamed_addr #3 %17 = icmp sgt i32 %16, 0 %18 = icmp ne i64 %15, 0 %19 = select i1 %17, i1 %18, i1 false - br i1 %19, label %.preheader, label %.loopexit, !llvm.loop !22 + br i1 %19, label %.preheader, label %.loopexit, !llvm.loop !24 .loopexit: ; preds = %.preheader, %11, %5, %4 ret void @@ -439,7 +439,7 @@ define dso_local void @nmi_shootdown_cpus(ptr noundef %0) local_unnamed_addr #3 ; Function Attrs: fn_ret_thunk_extern nounwind null_pointer_is_valid define internal noundef i32 @crash_nmi_callback(i32 %0, ptr noundef %1) #3 align 16 { - %3 = tail call i32 asm sideeffect "movl %gs:$1, $0", "=r,*m,~{dirflag},~{fpsr},~{flags}"(ptr nonnull elementtype(i32) getelementptr inbounds nuw (i8, ptr @pcpu_hot, i64 12)) #7, !srcloc !23 + %3 = tail call i32 asm sideeffect "movl %gs:$1, $0", "=r,*m,~{dirflag},~{fpsr},~{flags}"(ptr nonnull elementtype(i32) getelementptr inbounds nuw (i8, ptr @pcpu_hot, i64 12)) #7, !srcloc !25 %4 = load i32, ptr @crashing_cpu, align 4 %5 = icmp eq i32 %3, %4 br i1 %5, label %6, label %7 @@ -458,21 +458,21 @@ define internal noundef i32 @crash_nmi_callback(i32 %0, ptr noundef %1) #3 align br label %11 11: ; preds = %10, %7 - tail call void asm sideeffect ".pushsection .smp_locks,\22a\22\0A.balign 4\0A.long 671f - .\0A.popsection\0A671:\0A\09lock; decl $0", "=*m,*m,~{memory},~{dirflag},~{fpsr},~{flags}"(ptr nonnull elementtype(i32) @waiting_for_crash_ipi, ptr nonnull elementtype(i32) @waiting_for_crash_ipi) #7, !srcloc !24 + tail call void asm sideeffect ".pushsection .smp_locks,\22a\22\0A.balign 4\0A.long 671f - .\0A.popsection\0A671:\0A\09lock; decl $0", "=*m,*m,~{memory},~{dirflag},~{fpsr},~{flags}"(ptr nonnull elementtype(i32) @waiting_for_crash_ipi, ptr nonnull elementtype(i32) @waiting_for_crash_ipi) #7, !srcloc !26 callbr void asm sideeffect "1:jmp ${2:l}\0A\09.pushsection __jump_table, \22aw\22 \0A\09 .balign 8 \0A\09.long 1b - . \0A\09.long ${2:l} - . \0A\09 .quad ${0:c} + ${1:c} - .\0A\09.popsection \0A\09", "i,i,!i,~{dirflag},~{fpsr},~{flags}"(ptr nonnull @mds_idle_clear, i1 true) #7 - to label %12 [label %13], !srcloc !25 + to label %12 [label %13], !srcloc !27 12: ; preds = %11 - tail call void asm sideeffect "verw $0", "*m,~{cc},~{dirflag},~{fpsr},~{flags}"(ptr nonnull elementtype(i16) @mds_clear_cpu_buffers.ds) #7, !srcloc !26 + tail call void asm sideeffect "verw $0", "*m,~{cc},~{dirflag},~{fpsr},~{flags}"(ptr nonnull elementtype(i16) @mds_clear_cpu_buffers.ds) #7, !srcloc !28 br label %13 13: ; preds = %12, %11 - tail call void asm sideeffect "hlt", "~{memory},~{dirflag},~{fpsr},~{flags}"() #7, !srcloc !27 + tail call void asm sideeffect "hlt", "~{memory},~{dirflag},~{fpsr},~{flags}"() #7, !srcloc !29 br label %14 14: ; preds = %14, %13 - tail call void asm sideeffect "rep; nop", "~{memory},~{dirflag},~{fpsr},~{flags}"() #7, !srcloc !28 - br label %14, !llvm.loop !29 + tail call void asm sideeffect "rep; nop", "~{memory},~{dirflag},~{fpsr},~{flags}"() #7, !srcloc !30 + br label %14, !llvm.loop !31 } ; Function Attrs: null_pointer_is_valid @@ -491,7 +491,7 @@ define dso_local void @run_crash_ipi_callback(ptr noundef %0) local_unnamed_addr br i1 %3, label %16, label %4 4: ; preds = %1 - %5 = tail call i32 asm sideeffect "movl %gs:$1, $0", "=r,*m,~{dirflag},~{fpsr},~{flags}"(ptr nonnull elementtype(i32) getelementptr inbounds nuw (i8, ptr @pcpu_hot, i64 12)) #7, !srcloc !23 + %5 = tail call i32 asm sideeffect "movl %gs:$1, $0", "=r,*m,~{dirflag},~{fpsr},~{flags}"(ptr nonnull elementtype(i32) getelementptr inbounds nuw (i8, ptr @pcpu_hot, i64 12)) #7, !srcloc !25 %6 = load i32, ptr @crashing_cpu, align 4 %7 = icmp eq i32 %5, %6 br i1 %7, label %16, label %8 @@ -507,21 +507,21 @@ define dso_local void @run_crash_ipi_callback(ptr noundef %0) local_unnamed_addr br label %12 12: ; preds = %11, %8 - tail call void asm sideeffect ".pushsection .smp_locks,\22a\22\0A.balign 4\0A.long 671f - .\0A.popsection\0A671:\0A\09lock; decl $0", "=*m,*m,~{memory},~{dirflag},~{fpsr},~{flags}"(ptr nonnull elementtype(i32) @waiting_for_crash_ipi, ptr nonnull elementtype(i32) @waiting_for_crash_ipi) #7, !srcloc !24 + tail call void asm sideeffect ".pushsection .smp_locks,\22a\22\0A.balign 4\0A.long 671f - .\0A.popsection\0A671:\0A\09lock; decl $0", "=*m,*m,~{memory},~{dirflag},~{fpsr},~{flags}"(ptr nonnull elementtype(i32) @waiting_for_crash_ipi, ptr nonnull elementtype(i32) @waiting_for_crash_ipi) #7, !srcloc !26 callbr void asm sideeffect "1:jmp ${2:l}\0A\09.pushsection __jump_table, \22aw\22 \0A\09 .balign 8 \0A\09.long 1b - . \0A\09.long ${2:l} - . \0A\09 .quad ${0:c} + ${1:c} - .\0A\09.popsection \0A\09", "i,i,!i,~{dirflag},~{fpsr},~{flags}"(ptr nonnull @mds_idle_clear, i1 true) #7 - to label %13 [label %14], !srcloc !25 + to label %13 [label %14], !srcloc !27 13: ; preds = %12 - tail call void asm sideeffect "verw $0", "*m,~{cc},~{dirflag},~{fpsr},~{flags}"(ptr nonnull elementtype(i16) @mds_clear_cpu_buffers.ds) #7, !srcloc !26 + tail call void asm sideeffect "verw $0", "*m,~{cc},~{dirflag},~{fpsr},~{flags}"(ptr nonnull elementtype(i16) @mds_clear_cpu_buffers.ds) #7, !srcloc !28 br label %14 14: ; preds = %13, %12 - tail call void asm sideeffect "hlt", "~{memory},~{dirflag},~{fpsr},~{flags}"() #7, !srcloc !27 + tail call void asm sideeffect "hlt", "~{memory},~{dirflag},~{fpsr},~{flags}"() #7, !srcloc !29 br label %15 15: ; preds = %15, %14 - tail call void asm sideeffect "rep; nop", "~{memory},~{dirflag},~{fpsr},~{flags}"() #7, !srcloc !28 - br label %15, !llvm.loop !29 + tail call void asm sideeffect "rep; nop", "~{memory},~{dirflag},~{fpsr},~{flags}"() #7, !srcloc !30 + br label %15, !llvm.loop !31 16: ; preds = %4, %1 ret void @@ -537,7 +537,7 @@ define dso_local void @nmi_panic_self_stop(ptr noundef %0) local_unnamed_addr #0 br i1 %4, label %17, label %5 5: ; preds = %2 - %6 = tail call i32 asm sideeffect "movl %gs:$1, $0", "=r,*m,~{dirflag},~{fpsr},~{flags}"(ptr nonnull elementtype(i32) getelementptr inbounds nuw (i8, ptr @pcpu_hot, i64 12)) #7, !srcloc !23 + %6 = tail call i32 asm sideeffect "movl %gs:$1, $0", "=r,*m,~{dirflag},~{fpsr},~{flags}"(ptr nonnull elementtype(i32) getelementptr inbounds nuw (i8, ptr @pcpu_hot, i64 12)) #7, !srcloc !25 %7 = load i32, ptr @crashing_cpu, align 4 %8 = icmp eq i32 %6, %7 br i1 %8, label %17, label %9 @@ -553,25 +553,25 @@ define dso_local void @nmi_panic_self_stop(ptr noundef %0) local_unnamed_addr #0 br label %13 13: ; preds = %12, %9 - tail call void asm sideeffect ".pushsection .smp_locks,\22a\22\0A.balign 4\0A.long 671f - .\0A.popsection\0A671:\0A\09lock; decl $0", "=*m,*m,~{memory},~{dirflag},~{fpsr},~{flags}"(ptr nonnull elementtype(i32) @waiting_for_crash_ipi, ptr nonnull elementtype(i32) @waiting_for_crash_ipi) #7, !srcloc !24 + tail call void asm sideeffect ".pushsection .smp_locks,\22a\22\0A.balign 4\0A.long 671f - .\0A.popsection\0A671:\0A\09lock; decl $0", "=*m,*m,~{memory},~{dirflag},~{fpsr},~{flags}"(ptr nonnull elementtype(i32) @waiting_for_crash_ipi, ptr nonnull elementtype(i32) @waiting_for_crash_ipi) #7, !srcloc !26 callbr void asm sideeffect "1:jmp ${2:l}\0A\09.pushsection __jump_table, \22aw\22 \0A\09 .balign 8 \0A\09.long 1b - . \0A\09.long ${2:l} - . \0A\09 .quad ${0:c} + ${1:c} - .\0A\09.popsection \0A\09", "i,i,!i,~{dirflag},~{fpsr},~{flags}"(ptr nonnull @mds_idle_clear, i1 true) #7 - to label %14 [label %15], !srcloc !25 + to label %14 [label %15], !srcloc !27 14: ; preds = %13 - tail call void asm sideeffect "verw $0", "*m,~{cc},~{dirflag},~{fpsr},~{flags}"(ptr nonnull elementtype(i16) @mds_clear_cpu_buffers.ds) #7, !srcloc !26 + tail call void asm sideeffect "verw $0", "*m,~{cc},~{dirflag},~{fpsr},~{flags}"(ptr nonnull elementtype(i16) @mds_clear_cpu_buffers.ds) #7, !srcloc !28 br label %15 15: ; preds = %14, %13 - tail call void asm sideeffect "hlt", "~{memory},~{dirflag},~{fpsr},~{flags}"() #7, !srcloc !27 + tail call void asm sideeffect "hlt", "~{memory},~{dirflag},~{fpsr},~{flags}"() #7, !srcloc !29 br label %16 16: ; preds = %16, %15 - tail call void asm sideeffect "rep; nop", "~{memory},~{dirflag},~{fpsr},~{flags}"() #7, !srcloc !28 - br label %16, !llvm.loop !29 + tail call void asm sideeffect "rep; nop", "~{memory},~{dirflag},~{fpsr},~{flags}"() #7, !srcloc !30 + br label %16, !llvm.loop !31 17: ; preds = %5, %2 - tail call void asm sideeffect "rep; nop", "~{memory},~{dirflag},~{fpsr},~{flags}"() #7, !srcloc !28 - br label %2, !llvm.loop !30 + tail call void asm sideeffect "rep; nop", "~{memory},~{dirflag},~{fpsr},~{flags}"() #7, !srcloc !30 + br label %2, !llvm.loop !32 } ; Function Attrs: null_pointer_is_valid @@ -728,20 +728,22 @@ attributes #11 = { nounwind memory(read) } !11 = !{!"llvm.loop.unroll.disable"} !12 = !{i64 2154517000} !13 = distinct !{!13, !10, !11} -!14 = !{i64 19535} -!15 = distinct !{!15, !11} -!16 = !{!"branch_weights", i32 2000, i32 1} -!17 = !{i64 2156484373, i64 2156484182, i64 2156484234, i64 2156484280, i64 2156484308} -!18 = !{i64 2156484447, i64 2156484476, i64 2156484522, i64 2156484580, i64 2156484634, i64 2156484688, i64 2156484743, i64 2156484774, i64 2156485082, i64 2156485088, i64 2156485135, i64 2156485158, i64 2156485184} -!19 = !{i64 2156485641, i64 2156485452, i64 2156485502, i64 2156485548, i64 2156485576} -!20 = !{i64 2156488379} -!21 = !{i64 2156489681} -!22 = distinct !{!22, !10, !11} -!23 = !{i64 2156482675} -!24 = !{i64 2148490286, i64 2148490325, i64 2148490346, i64 2148490383, i64 2148490406, i64 2148490276} -!25 = !{i64 963314, i64 963337, i64 2148448084, i64 2148448105, i64 2148448131, i64 2148448164, i64 2148448198, i64 2148448222} -!26 = !{i64 1848852} -!27 = !{i64 1980780} -!28 = !{i64 2021467} -!29 = distinct !{!29, !11} -!30 = distinct !{!30, !11} +!14 = !{i8 0, i8 2} +!15 = !{} +!16 = !{i64 19535} +!17 = distinct !{!17, !11} +!18 = !{!"branch_weights", i32 2000, i32 1} +!19 = !{i64 2156484373, i64 2156484182, i64 2156484234, i64 2156484280, i64 2156484308} +!20 = !{i64 2156484447, i64 2156484476, i64 2156484522, i64 2156484580, i64 2156484634, i64 2156484688, i64 2156484743, i64 2156484774, i64 2156485082, i64 2156485088, i64 2156485135, i64 2156485158, i64 2156485184} +!21 = !{i64 2156485641, i64 2156485452, i64 2156485502, i64 2156485548, i64 2156485576} +!22 = !{i64 2156488379} +!23 = !{i64 2156489681} +!24 = distinct !{!24, !10, !11} +!25 = !{i64 2156482675} +!26 = !{i64 2148490286, i64 2148490325, i64 2148490346, i64 2148490383, i64 2148490406, i64 2148490276} +!27 = !{i64 963314, i64 963337, i64 2148448084, i64 2148448105, i64 2148448131, i64 2148448164, i64 2148448198, i64 2148448222} +!28 = !{i64 1848852} +!29 = !{i64 1980780} +!30 = !{i64 2021467} +!31 = distinct !{!31, !11} +!32 = distinct !{!32, !11} diff --git a/bench/lodepng/optimized/lodepng_util.ll b/bench/lodepng/optimized/lodepng_util.ll index 5bc646f1ffa..4383973ba1d 100644 --- a/bench/lodepng/optimized/lodepng_util.ll +++ b/bench/lodepng/optimized/lodepng_util.ll @@ -6151,12 +6151,12 @@ define internal fastcc noundef range(i32 0, 2) i32 @_ZN7lodepngL7getChrmEPfS0_jP %.pre66.i = load float, ptr %.phi.trans.insert65.i, align 4, !tbaa !79 %.pre67.i = load float, ptr %13, align 16, !tbaa !79 %.phi.trans.insert68.i = getelementptr inbounds nuw i8, ptr %8, i64 20 - %.pre69.i = load float, ptr %.phi.trans.insert68.i, align 4, !tbaa !79 + %.pre69.i = load float, ptr %.phi.trans.insert68.i, align 4 %.phi.trans.insert70.i = getelementptr inbounds nuw i8, ptr %8, i64 24 - %.pre71.i = load float, ptr %.phi.trans.insert70.i, align 8, !tbaa !79 + %.pre71.i = load float, ptr %.phi.trans.insert70.i, align 8 %.phi.trans.insert72.i = getelementptr inbounds nuw i8, ptr %8, i64 28 - %.pre73.i = load float, ptr %.phi.trans.insert72.i, align 4, !tbaa !79 - %.pre74.i = load float, ptr %14, align 16, !tbaa !79 + %.pre73.i = load float, ptr %.phi.trans.insert72.i, align 4 + %.pre74.i = load float, ptr %14, align 16 %.pre75.i = fpext float %.pre.i to double %.pre76.i = fpext float %.pre62.i to double %.pre78.i = fpext float %.pre64.i to double diff --git a/bench/meilisearch-rs/optimized/54ajasddlqavlxt2.ll b/bench/meilisearch-rs/optimized/54ajasddlqavlxt2.ll index 96996a8d439..c651c9939c3 100644 --- a/bench/meilisearch-rs/optimized/54ajasddlqavlxt2.ll +++ b/bench/meilisearch-rs/optimized/54ajasddlqavlxt2.ll @@ -1057,9 +1057,9 @@ _ZN3fst3raw4node13StateOneTrans5input17h4da47cd52231f56bE.exit.i.i: ; preds = %9 %97 = load i8, ptr %51, align 1, !noalias !119, !noundef !4 %98 = load i64, ptr %52, align 8, !noalias !119, !noundef !4 %99 = icmp ugt i64 %98, 1 - %100 = load i64, ptr %53, align 8, !noalias !119 + %100 = load i64, ptr %53, align 8, !noalias !119, !noundef !4 %101 = icmp ugt i64 %100, 32 - %or.cond.i.i.i = select i1 %99, i1 %101, i1 false + %or.cond.i.i.i = and i1 %99, %101 %102 = load i64, ptr %54, align 8, !noalias !119, !noundef !4 %103 = and i8 %97, 63 %104 = icmp eq i8 %103, 0 @@ -1488,7 +1488,7 @@ _ZN3fst3raw4node4Node10transition17hebd1ab1d7bb177ddE.exit.i: ; preds = %.noexc3 br i1 %.not.i.i.i, label %.thread836.i, label %.thread.loopexit616.i .thread.loopexit616.i: ; preds = %278, %"_ZN106_$LT$core..ops..range..Range$LT$usize$GT$$u20$as$u20$core..slice..index..SliceIndex$LT$$u5b$T$u5d$$GT$$GT$5index17h652563b291f947a7E.exit.i.i.i", %_ZN3fst3raw4node13StateOneTrans5input17h4da47cd52231f56bE.exit.i.i, %_ZN3fst3raw4node17StateOneTransNext5input17h22ff1dd201924e96E.exit.i.i, %60 - %.pre.i = load i64, ptr %53, align 8, !noalias !119 + %.pre.i = load i64, ptr %53, align 8, !noalias !119, !noundef !4 br label %.thread.i .thread.i: ; preds = %119, %.thread.loopexit616.i @@ -1706,10 +1706,9 @@ _ZN3fst3raw4node13StateOneTrans6output17h2d8a21dd8d1c2de1E.exit.i.i.i: ; preds = .thread836.i: ; preds = %364, %278 %368 = phi ptr [ %109, %364 ], [ %279, %278 ] + %.sroa.01.0.neg.i156.i = phi i64 [ 0, %364 ], [ -256, %278 ] %.sroa.7.0.i340838.i = phi i64 [ %367, %364 ], [ %282, %278 ] %..i154.i = sext i1 %104 to i64 - %or.cond.i155.i = and i1 %99, %101 - %.sroa.01.0.neg.i156.i = select i1 %or.cond.i155.i, i64 -256, i64 0 %reass.sub.i = add i64 %102, -2 %369 = add i64 %reass.sub.i, %..i154.i %370 = add i64 %369, %.sroa.01.0.neg.i156.i @@ -1725,7 +1724,7 @@ _ZN3fst3raw4node13StateOneTrans6output17h2d8a21dd8d1c2de1E.exit.i.i.i: ; preds = br i1 %376, label %.noexc42.i, label %377 377: ; preds = %.noexc41.i - %378 = select i1 %or.cond.i155.i, i64 -257, i64 -1 + %378 = select i1 %or.cond.i.i.i, i64 -257, i64 -1 %379 = lshr i8 %373, 4 %narrow.i162.i = add nuw nsw i8 %379, 1 %380 = zext nneg i8 %narrow.i162.i to i64 @@ -1840,12 +1839,12 @@ _ZN3fst3raw4node13StateOneTrans6output17h2d8a21dd8d1c2de1E.exit.i.i.i: ; preds = br label %_ZN3fst3raw4node4Node10transition17hebd1ab1d7bb177ddE.exit51.i .thread842.i: ; preds = %_ZN3fst3raw4node13StateOneTrans5input17h4da47cd52231f56bE.exit.i.i - %.pre806.pre.i.pre = load i64, ptr %54, align 8, !noalias !119 - %.pre807.pre.i.pre = load i64, ptr %55, align 8, !noalias !119 + %.pre806.pre.i.pre = load i64, ptr %54, align 8, !noalias !119, !noundef !4 + %.pre807.pre.i.pre = load i64, ptr %55, align 8, !noalias !119, !noundef !4 %430 = icmp eq i8 %81, 0 %431 = add i64 %.pre806.pre.i.pre, -1 %432 = icmp uge i64 %431, %.pre807.pre.i.pre - %or.cond1041.not.i = select i1 %430, i1 %432, i1 false + %or.cond1041.not.i = and i1 %430, %432 br i1 %or.cond1041.not.i, label %.invoke1035.i, label %.noexc47.i, !prof !185 .invoke1035.i: ; preds = %.thread842.i, %423, %.thread836.i, %123, %83, %67, %358, %357, %331, %199, %190, %140 diff --git a/bench/minetest/optimized/content_mapblock.ll b/bench/minetest/optimized/content_mapblock.ll index c4db64d280f..90e70395251 100644 --- a/bench/minetest/optimized/content_mapblock.ll +++ b/bench/minetest/optimized/content_mapblock.ll @@ -8844,13 +8844,12 @@ for.inc77: ; preds = %if.then73, %_ZN16Vo if.end80: ; preds = %for.inc77 %arrayidx91.phi.trans.insert = getelementptr inbounds nuw i8, ptr %nb, i64 7 - %.pre = load i8, ptr %arrayidx91.phi.trans.insert, align 1, !tbaa !64, !range !46 + %.pre = load i8, ptr %arrayidx91.phi.trans.insert, align 1, !tbaa !64, !range !46, !noundef !47 %arrayidx115.phi.trans.insert = getelementptr inbounds nuw i8, ptr %nb, i64 1 - %.pre1 = load i8, ptr %arrayidx115.phi.trans.insert, align 1, !tbaa !64, !range !46 + %.pre1 = load i8, ptr %arrayidx115.phi.trans.insert, align 1, !tbaa !64, !range !46, !noundef !47 %arrayidx122.phi.trans.insert = getelementptr inbounds nuw i8, ptr %nb, i64 2 - %.pre2 = load i8, ptr %arrayidx122.phi.trans.insert, align 2, !tbaa !64, !range !46 - %.pre.fr = freeze i8 %.pre - %39 = icmp eq i8 %.pre.fr, 0 + %.pre2 = load i8, ptr %arrayidx122.phi.trans.insert, align 2, !tbaa !64, !range !46, !noundef !47 + %39 = icmp eq i8 %.pre, 0 %tile = getelementptr inbounds nuw i8, ptr %this, i64 152 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(120) %tile, ptr noundef nonnull align 8 dereferenceable(120) %arrayctor.cur.ptr.1, i64 120, i1 false), !tbaa.struct !63 %and108260 = and i8 %.pre2, %.pre1 @@ -9949,7 +9948,7 @@ for.body.epil: ; preds = %if.end, %for.body.e for.cond40.preheader.loopexit: ; preds = %for.body.epil %.pre = load float, ptr %Z.i, align 8, !tbaa !50 - %.pre1 = load float, ptr %Z.i115, align 4, !tbaa !50 + %.pre1 = load float, ptr %Z.i115, align 4 br label %for.cond40.preheader for.cond40.preheader: ; preds = %for.cond40.preheader.unr-lcssa, %for.cond40.preheader.loopexit diff --git a/bench/nix/optimized/lexer-tab.ll b/bench/nix/optimized/lexer-tab.ll index 57d12fab634..514ef86bf98 100644 --- a/bench/nix/optimized/lexer-tab.ll +++ b/bench/nix/optimized/lexer-tab.ll @@ -4703,7 +4703,7 @@ _ZL21yyensure_buffer_stackPv.exit: ; preds = %10, %13, %24 %48 = load ptr, ptr %47, align 8 %49 = getelementptr inbounds nuw i8, ptr %48, i64 28 store i32 %44, ptr %49, align 4 - %.pr.pre = load ptr, ptr %5, align 8 + %.pr.pre = load ptr, ptr %5, align 8, !nonnull !21, !noundef !21 %.pre32 = load i64, ptr %29, align 8 %.phi.trans.insert33 = getelementptr inbounds ptr, ptr %.pr.pre, i64 %.pre32 %.pre34 = load ptr, ptr %.phi.trans.insert33, align 8 @@ -5337,7 +5337,7 @@ _Z18yypop_buffer_statePv.exit: ; preds = %26, %45, %49 %60 = getelementptr inbounds ptr, ptr %58, i64 %59 %61 = load ptr, ptr %60, align 8 %62 = icmp eq ptr %61, null - br i1 %62, label %.critedge, label %.thread.i, !llvm.loop !21 + br i1 %62, label %.critedge, label %.thread.i, !llvm.loop !22 .critedge: ; preds = %_Z18yypop_buffer_statePv.exit, %_Z16yy_delete_bufferP15yy_buffer_statePv.exit, %42, %.lr.ph, %1 %.lcssa = phi ptr [ null, %1 ], [ %4, %.lr.ph ], [ null, %42 ], [ null, %_Z16yy_delete_bufferP15yy_buffer_statePv.exit ], [ %58, %_Z18yypop_buffer_statePv.exit ] @@ -6201,23 +6201,23 @@ _ZNKSt6vectorIS_IN3nix8PosTable6OffsetESaIS2_EESaIS4_EE12_M_check_lenEmPKc.exit: .lr.ph.i.i.i: ; preds = %_ZNKSt6vectorIS_IN3nix8PosTable6OffsetESaIS2_EESaIS4_EE12_M_check_lenEmPKc.exit, %.lr.ph.i.i.i %.012.i.i.i = phi ptr [ %29, %.lr.ph.i.i.i ], [ %19, %_ZNKSt6vectorIS_IN3nix8PosTable6OffsetESaIS2_EESaIS4_EE12_M_check_lenEmPKc.exit ] %.0911.i.i.i = phi ptr [ %28, %.lr.ph.i.i.i ], [ %5, %_ZNKSt6vectorIS_IN3nix8PosTable6OffsetESaIS2_EESaIS4_EE12_M_check_lenEmPKc.exit ] - tail call void @llvm.experimental.noalias.scope.decl(metadata !22) - tail call void @llvm.experimental.noalias.scope.decl(metadata !25) - %21 = load ptr, ptr %.0911.i.i.i, align 8, !alias.scope !25, !noalias !22 - store ptr %21, ptr %.012.i.i.i, align 8, !alias.scope !22, !noalias !25 + tail call void @llvm.experimental.noalias.scope.decl(metadata !23) + tail call void @llvm.experimental.noalias.scope.decl(metadata !26) + %21 = load ptr, ptr %.0911.i.i.i, align 8, !alias.scope !26, !noalias !23 + store ptr %21, ptr %.012.i.i.i, align 8, !alias.scope !23, !noalias !26 %22 = getelementptr inbounds nuw i8, ptr %.012.i.i.i, i64 8 %23 = getelementptr inbounds nuw i8, ptr %.0911.i.i.i, i64 8 - %24 = load ptr, ptr %23, align 8, !alias.scope !25, !noalias !22 - store ptr %24, ptr %22, align 8, !alias.scope !22, !noalias !25 + %24 = load ptr, ptr %23, align 8, !alias.scope !26, !noalias !23 + store ptr %24, ptr %22, align 8, !alias.scope !23, !noalias !26 %25 = getelementptr inbounds nuw i8, ptr %.012.i.i.i, i64 16 %26 = getelementptr inbounds nuw i8, ptr %.0911.i.i.i, i64 16 - %27 = load ptr, ptr %26, align 8, !alias.scope !25, !noalias !22 - store ptr %27, ptr %25, align 8, !alias.scope !22, !noalias !25 - tail call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %.0911.i.i.i, i8 0, i64 24, i1 false), !alias.scope !25, !noalias !22 + %27 = load ptr, ptr %26, align 8, !alias.scope !26, !noalias !23 + store ptr %27, ptr %25, align 8, !alias.scope !23, !noalias !26 + tail call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %.0911.i.i.i, i8 0, i64 24, i1 false), !alias.scope !26, !noalias !23 %28 = getelementptr inbounds nuw i8, ptr %.0911.i.i.i, i64 24 %29 = getelementptr inbounds nuw i8, ptr %.012.i.i.i, i64 24 %.not.i.i.i = icmp eq ptr %28, %1 - br i1 %.not.i.i.i, label %_ZNSt6vectorIS_IN3nix8PosTable6OffsetESaIS2_EESaIS4_EE11_S_relocateEPS4_S7_S7_RS5_.exit, label %.lr.ph.i.i.i, !llvm.loop !27 + br i1 %.not.i.i.i, label %_ZNSt6vectorIS_IN3nix8PosTable6OffsetESaIS2_EESaIS4_EE11_S_relocateEPS4_S7_S7_RS5_.exit, label %.lr.ph.i.i.i, !llvm.loop !28 _ZNSt6vectorIS_IN3nix8PosTable6OffsetESaIS2_EESaIS4_EE11_S_relocateEPS4_S7_S7_RS5_.exit: ; preds = %.lr.ph.i.i.i, %_ZNKSt6vectorIS_IN3nix8PosTable6OffsetESaIS2_EESaIS4_EE12_M_check_lenEmPKc.exit %.0.lcssa.i.i.i = phi ptr [ %19, %_ZNKSt6vectorIS_IN3nix8PosTable6OffsetESaIS2_EESaIS4_EE12_M_check_lenEmPKc.exit ], [ %29, %.lr.ph.i.i.i ] @@ -6228,23 +6228,23 @@ _ZNSt6vectorIS_IN3nix8PosTable6OffsetESaIS2_EESaIS4_EE11_S_relocateEPS4_S7_S7_RS .lr.ph.i.i.i16: ; preds = %_ZNSt6vectorIS_IN3nix8PosTable6OffsetESaIS2_EESaIS4_EE11_S_relocateEPS4_S7_S7_RS5_.exit, %.lr.ph.i.i.i16 %.012.i.i.i17 = phi ptr [ %39, %.lr.ph.i.i.i16 ], [ %30, %_ZNSt6vectorIS_IN3nix8PosTable6OffsetESaIS2_EESaIS4_EE11_S_relocateEPS4_S7_S7_RS5_.exit ] %.0911.i.i.i18 = phi ptr [ %38, %.lr.ph.i.i.i16 ], [ %1, %_ZNSt6vectorIS_IN3nix8PosTable6OffsetESaIS2_EESaIS4_EE11_S_relocateEPS4_S7_S7_RS5_.exit ] - tail call void @llvm.experimental.noalias.scope.decl(metadata !28) - tail call void @llvm.experimental.noalias.scope.decl(metadata !31) - %31 = load ptr, ptr %.0911.i.i.i18, align 8, !alias.scope !31, !noalias !28 - store ptr %31, ptr %.012.i.i.i17, align 8, !alias.scope !28, !noalias !31 + tail call void @llvm.experimental.noalias.scope.decl(metadata !29) + tail call void @llvm.experimental.noalias.scope.decl(metadata !32) + %31 = load ptr, ptr %.0911.i.i.i18, align 8, !alias.scope !32, !noalias !29 + store ptr %31, ptr %.012.i.i.i17, align 8, !alias.scope !29, !noalias !32 %32 = getelementptr inbounds nuw i8, ptr %.012.i.i.i17, i64 8 %33 = getelementptr inbounds nuw i8, ptr %.0911.i.i.i18, i64 8 - %34 = load ptr, ptr %33, align 8, !alias.scope !31, !noalias !28 - store ptr %34, ptr %32, align 8, !alias.scope !28, !noalias !31 + %34 = load ptr, ptr %33, align 8, !alias.scope !32, !noalias !29 + store ptr %34, ptr %32, align 8, !alias.scope !29, !noalias !32 %35 = getelementptr inbounds nuw i8, ptr %.012.i.i.i17, i64 16 %36 = getelementptr inbounds nuw i8, ptr %.0911.i.i.i18, i64 16 - %37 = load ptr, ptr %36, align 8, !alias.scope !31, !noalias !28 - store ptr %37, ptr %35, align 8, !alias.scope !28, !noalias !31 - tail call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %.0911.i.i.i18, i8 0, i64 24, i1 false), !alias.scope !31, !noalias !28 + %37 = load ptr, ptr %36, align 8, !alias.scope !32, !noalias !29 + store ptr %37, ptr %35, align 8, !alias.scope !29, !noalias !32 + tail call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %.0911.i.i.i18, i8 0, i64 24, i1 false), !alias.scope !32, !noalias !29 %38 = getelementptr inbounds nuw i8, ptr %.0911.i.i.i18, i64 24 %39 = getelementptr inbounds nuw i8, ptr %.012.i.i.i17, i64 24 %.not.i.i.i19 = icmp eq ptr %38, %4 - br i1 %.not.i.i.i19, label %_ZNSt6vectorIS_IN3nix8PosTable6OffsetESaIS2_EESaIS4_EE11_S_relocateEPS4_S7_S7_RS5_.exit21, label %.lr.ph.i.i.i16, !llvm.loop !27 + br i1 %.not.i.i.i19, label %_ZNSt6vectorIS_IN3nix8PosTable6OffsetESaIS2_EESaIS4_EE11_S_relocateEPS4_S7_S7_RS5_.exit21, label %.lr.ph.i.i.i16, !llvm.loop !28 _ZNSt6vectorIS_IN3nix8PosTable6OffsetESaIS2_EESaIS4_EE11_S_relocateEPS4_S7_S7_RS5_.exit21: ; preds = %.lr.ph.i.i.i16, %_ZNSt6vectorIS_IN3nix8PosTable6OffsetESaIS2_EESaIS4_EE11_S_relocateEPS4_S7_S7_RS5_.exit %.0.lcssa.i.i.i20 = phi ptr [ %30, %_ZNSt6vectorIS_IN3nix8PosTable6OffsetESaIS2_EESaIS4_EE11_S_relocateEPS4_S7_S7_RS5_.exit ], [ %39, %.lr.ph.i.i.i16 ] @@ -6366,7 +6366,7 @@ _ZSt8_DestroyIN3nix8PosTable6OriginEEvPT_.exit.i.i.i: ; preds = %.noexc.i.i.i.i. call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %4) %44 = getelementptr inbounds nuw i8, ptr %.05.i.i.i, i64 64 %.not.i.i.i = icmp eq ptr %44, %7 - br i1 %.not.i.i.i, label %_ZSt8_DestroyIPN3nix8PosTable6OriginES2_EvT_S4_RSaIT0_E.exit, label %.lr.ph.i.i.i, !llvm.loop !33 + br i1 %.not.i.i.i, label %_ZSt8_DestroyIPN3nix8PosTable6OriginES2_EvT_S4_RSaIT0_E.exit, label %.lr.ph.i.i.i, !llvm.loop !34 _ZSt8_DestroyIPN3nix8PosTable6OriginES2_EvT_S4_RSaIT0_E.exit: ; preds = %_ZSt8_DestroyIN3nix8PosTable6OriginEEvPT_.exit.i.i.i, %_ZSt34__uninitialized_move_if_noexcept_aIPN3nix8PosTable6OriginES3_SaIS2_EET0_T_S6_S5_RT1_.exit28 %.not.i29 = icmp eq ptr %8, null @@ -6494,7 +6494,7 @@ _ZSt8_DestroyIN3nix8PosTable6OriginEEvPT_.exit.i.i: ; preds = %.noexc.i.i.i.i.i. call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %4) %12 = getelementptr inbounds nuw i8, ptr %.05.i.i, i64 64 %.not.i.i = icmp eq ptr %12, %1 - br i1 %.not.i.i, label %_ZSt8_DestroyIPN3nix8PosTable6OriginEEvT_S4_.exit, label %.lr.ph.i.i, !llvm.loop !33 + br i1 %.not.i.i, label %_ZSt8_DestroyIPN3nix8PosTable6OriginEEvT_S4_.exit, label %.lr.ph.i.i, !llvm.loop !34 _ZSt8_DestroyIPN3nix8PosTable6OriginEEvT_S4_.exit: ; preds = %_ZSt8_DestroyIN3nix8PosTable6OriginEEvPT_.exit.i.i, %3 ret void @@ -6540,7 +6540,7 @@ define linkonce_odr noundef ptr @_ZSt16__do_uninit_copyIPKN3nix8PosTable6OriginE %16 = getelementptr inbounds nuw i8, ptr %.01216, i64 64 %17 = getelementptr inbounds nuw i8, ptr %.017, i64 64 %.not = icmp eq ptr %16, %1 - br i1 %.not, label %._crit_edge, label %.lr.ph, !llvm.loop !34 + br i1 %.not, label %._crit_edge, label %.lr.ph, !llvm.loop !35 18: ; preds = %.body invoke void @__cxa_rethrow() #48 @@ -6604,7 +6604,7 @@ _ZSt8_DestroyIN3nix8PosTable6OriginEEvPT_.exit.i: ; preds = %.noexc.i.i.i.i.i.i. call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %3) %11 = getelementptr inbounds nuw i8, ptr %.05.i, i64 64 %.not.i = icmp eq ptr %11, %1 - br i1 %.not.i, label %_ZNSt12_Destroy_auxILb0EE9__destroyIPN3nix8PosTable6OriginEEEvT_S6_.exit, label %.lr.ph.i, !llvm.loop !33 + br i1 %.not.i, label %_ZNSt12_Destroy_auxILb0EE9__destroyIPN3nix8PosTable6OriginEEEvT_S6_.exit, label %.lr.ph.i, !llvm.loop !34 _ZNSt12_Destroy_auxILb0EE9__destroyIPN3nix8PosTable6OriginEEEvT_S6_.exit: ; preds = %_ZSt8_DestroyIN3nix8PosTable6OriginEEvPT_.exit.i, %2 ret void @@ -7117,7 +7117,7 @@ _ZNSt14_Bit_referenceaSEb.exit.i.i.i.i.i.i: ; preds = %47, %44 %.sroa.03.1.i.i.i.i.i.i = getelementptr inbounds nuw i8, ptr %.sroa.03.016.i.i.i.i.i.i, i64 %.sroa.03.1.idx.i.i.i.i.i.i %55 = add nsw i64 %.019.i.i.i.i.i.i, -1 %56 = icmp sgt i64 %.019.i.i.i.i.i.i, 1 - br i1 %56, label %.lr.ph.i.i.i.i.i.i, label %.loopexit, !llvm.loop !35 + br i1 %56, label %.lr.ph.i.i.i.i.i.i, label %.loopexit, !llvm.loop !36 .loopexit: ; preds = %_ZNSt14_Bit_referenceaSEb.exit.i.i.i.i.i.i, %_ZSt4copyIPmS0_ET0_T_S2_S1_.exit.i ret void @@ -7241,7 +7241,7 @@ _ZSt8_DestroyIN5boost2io6detail11format_itemIcSt11char_traitsIcESaIcEEEEvPT_.exi tail call void @_ZNSaIcED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %17) #46 %24 = getelementptr inbounds nuw i8, ptr %.05.i.i.i, i64 136 %.not.i.i.i = icmp eq ptr %24, %4 - br i1 %.not.i.i.i, label %_ZSt8_DestroyIPN5boost2io6detail11format_itemIcSt11char_traitsIcESaIcEEES7_EvT_S9_RSaIT0_E.exitthread-pre-split, label %.lr.ph.i.i.i, !llvm.loop !36 + br i1 %.not.i.i.i, label %_ZSt8_DestroyIPN5boost2io6detail11format_itemIcSt11char_traitsIcESaIcEEES7_EvT_S9_RSaIT0_E.exitthread-pre-split, label %.lr.ph.i.i.i, !llvm.loop !37 _ZSt8_DestroyIPN5boost2io6detail11format_itemIcSt11char_traitsIcESaIcEEES7_EvT_S9_RSaIT0_E.exitthread-pre-split: ; preds = %_ZSt8_DestroyIN5boost2io6detail11format_itemIcSt11char_traitsIcESaIcEEEEvPT_.exit.i.i.i %.pr = load ptr, ptr %0, align 8 @@ -7312,7 +7312,7 @@ define linkonce_odr noundef ptr @_ZSt16__do_uninit_copyIN9__gnu_cxx17__normal_it %25 = getelementptr inbounds nuw i8, ptr %.sroa.08.015, i64 136 %26 = getelementptr inbounds nuw i8, ptr %.016, i64 136 %27 = icmp eq ptr %25, %1 - br i1 %27, label %._crit_edge, label %.lr.ph, !llvm.loop !37 + br i1 %27, label %._crit_edge, label %.lr.ph, !llvm.loop !38 28: ; preds = %.lr.ph %29 = landingpad { ptr, i32 } @@ -7413,7 +7413,7 @@ _ZSt8_DestroyIN5boost2io6detail11format_itemIcSt11char_traitsIcESaIcEEEEvPT_.exi tail call void @_ZNSaIcED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %15) #46 %22 = getelementptr inbounds nuw i8, ptr %.05.i, i64 136 %.not.i = icmp eq ptr %22, %1 - br i1 %.not.i, label %_ZNSt12_Destroy_auxILb0EE9__destroyIPN5boost2io6detail11format_itemIcSt11char_traitsIcESaIcEEEEEvT_SB_.exit, label %.lr.ph.i, !llvm.loop !36 + br i1 %.not.i, label %_ZNSt12_Destroy_auxILb0EE9__destroyIPN5boost2io6detail11format_itemIcSt11char_traitsIcESaIcEEEEEvT_SB_.exit, label %.lr.ph.i, !llvm.loop !37 _ZNSt12_Destroy_auxILb0EE9__destroyIPN5boost2io6detail11format_itemIcSt11char_traitsIcESaIcEEEEEvT_SB_.exit: ; preds = %_ZSt8_DestroyIN5boost2io6detail11format_itemIcSt11char_traitsIcESaIcEEEEvPT_.exit.i, %2 ret void @@ -7986,7 +7986,7 @@ define linkonce_odr noundef i32 @_ZN5boost2io18basic_altstringbufIcSt11char_trai 30: ; preds = %27 %31 = lshr i64 %.04561, 1 %.not49 = icmp samesign ult i64 %.04561, 2 - br i1 %.not49, label %_ZNSt11char_traitsIcE4copyEPcPKcm.exit, label %27, !llvm.loop !38 + br i1 %.not49, label %_ZNSt11char_traitsIcE4copyEPcPKcm.exit, label %27, !llvm.loop !39 .critedge: ; preds = %27 %32 = add i64 %.04561, %24 @@ -8219,7 +8219,7 @@ _ZSt8_DestroyIN5boost2io6detail11format_itemIcSt11char_traitsIcESaIcEEEEvPT_.exi tail call void @_ZNSaIcED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %16) #46 %23 = getelementptr inbounds nuw i8, ptr %.05.i.i, i64 136 %.not.i.i = icmp eq ptr %23, %1 - br i1 %.not.i.i, label %_ZSt8_DestroyIPN5boost2io6detail11format_itemIcSt11char_traitsIcESaIcEEEEvT_S9_.exit, label %.lr.ph.i.i, !llvm.loop !36 + br i1 %.not.i.i, label %_ZSt8_DestroyIPN5boost2io6detail11format_itemIcSt11char_traitsIcESaIcEEEEvT_S9_.exit, label %.lr.ph.i.i, !llvm.loop !37 _ZSt8_DestroyIPN5boost2io6detail11format_itemIcSt11char_traitsIcESaIcEEEEvT_S9_.exit: ; preds = %_ZSt8_DestroyIN5boost2io6detail11format_itemIcSt11char_traitsIcESaIcEEEEvPT_.exit.i.i, %3 ret void @@ -8260,7 +8260,7 @@ _ZNSt8_Rb_treeIN3nix10SuggestionES1_St9_IdentityIS1_ESt4lessIS1_ESaIS1_EE12_M_dr tail call void @_ZNSaIcED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %7) #46 tail call void @_ZdlPv(ptr noundef nonnull %.07) #53 %.not = icmp eq ptr %6, null - br i1 %.not, label %._crit_edge, label %.lr.ph, !llvm.loop !39 + br i1 %.not, label %._crit_edge, label %.lr.ph, !llvm.loop !40 ._crit_edge: ; preds = %_ZNSt8_Rb_treeIN3nix10SuggestionES1_St9_IdentityIS1_ESt4lessIS1_ESaIS1_EE12_M_drop_nodeEPSt13_Rb_tree_nodeIS1_E.exit, %2 ret void @@ -8353,7 +8353,7 @@ _ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE24_M_release_last_use_cold _ZNSt16allocator_traitsISaISt10_List_nodeIN3nix5TraceEEEE7destroyIS2_EEvRS4_PT_.exit: ; preds = %.lr.ph, %23, %36, %_ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE24_M_release_last_use_coldEv.exit.sink.split.i.i.i.i.i.i.i tail call void @_ZdlPv(ptr noundef nonnull %.09) #53 %.not = icmp eq ptr %3, %0 - br i1 %.not, label %._crit_edge, label %.lr.ph, !llvm.loop !40 + br i1 %.not, label %._crit_edge, label %.lr.ph, !llvm.loop !41 ._crit_edge: ; preds = %_ZNSt16allocator_traitsISaISt10_List_nodeIN3nix5TraceEEEE7destroyIS2_EEvRS4_PT_.exit, %1 ret void @@ -8525,7 +8525,7 @@ define linkonce_odr noundef nonnull align 8 dereferenceable(224) ptr @_ZN5boost1 %8 = alloca %"class.boost::io::bad_format_string", align 8 %9 = alloca %"struct.boost::io::detail::format_item", align 8 %10 = getelementptr inbounds nuw i8, ptr %0, i64 208 - %11 = load i8, ptr %10, align 8, !noalias !41 + %11 = load i8, ptr %10, align 8, !noalias !42 %12 = trunc i8 %11 to i1 br i1 %12, label %13, label %15 @@ -8640,7 +8640,7 @@ _ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4findEcm.exit: ; preds = % %.082.be = phi i64 [ %63, %58 ], [ %87, %_ZN5boost2io6detail11format_itemIcSt11char_traitsIcESaIcEE14compute_statesEv.exit ], [ %87, %74 ] %64 = load i64, ptr %32, align 8 %65 = icmp ult i64 %.082.be, %64 - br i1 %65, label %_ZNSt11char_traitsIcE4findEPKcmRS1_.exit.i, label %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4findEcm.exit.thread, !llvm.loop !44 + br i1 %65, label %_ZNSt11char_traitsIcE4findEPKcmRS1_.exit.i, label %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4findEcm.exit.thread, !llvm.loop !45 66: ; preds = %_ZNK5boost12basic_formatIcSt11char_traitsIcESaIcEE6getlocEv.exit %67 = landingpad { ptr, i32 } @@ -8756,7 +8756,7 @@ _ZN5boost2io6detail11format_itemIcSt11char_traitsIcESaIcEE14compute_statesEv.exi %indvars.iv.next = add i64 %indvars.iv, 1 %119 = load i64, ptr %32, align 8 %120 = icmp ult i64 %87, %119 - br i1 %120, label %_ZNSt11char_traitsIcE4findEPKcmRS1_.exit.i.lr.ph, label %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4findEcm.exit.thread.thread201, !llvm.loop !44 + br i1 %120, label %_ZNSt11char_traitsIcE4findEPKcmRS1_.exit.i.lr.ph, label %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4findEcm.exit.thread.thread201, !llvm.loop !45 _ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4findEcm.exit.thread.thread201: ; preds = %.outer %121 = load ptr, ptr %0, align 8 @@ -8850,7 +8850,7 @@ _ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4findEcm.exit.thread: ; pr %.1 = phi i32 [ %157, %156 ], [ %.071156, %.lr.ph ] %indvars.iv.next177 = add nuw nsw i64 %indvars.iv176, 1 %exitcond.not = icmp eq i64 %indvars.iv.next177, %wide.trip.count - br i1 %exitcond.not, label %._crit_edge.loopexit, label %.lr.ph, !llvm.loop !45 + br i1 %exitcond.not, label %._crit_edge.loopexit, label %.lr.ph, !llvm.loop !46 ._crit_edge.loopexit: ; preds = %158 %159 = add nsw i32 %.1, -1 @@ -9081,7 +9081,7 @@ _ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4findEcm.exit: ; preds = % 37: ; preds = %31 %38 = add nuw i64 %18, 2 %39 = icmp ult i64 %38, %7 - br i1 %39, label %_ZNSt11char_traitsIcE4findEPKcmRS1_.exit.i, label %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4findEcm.exit.thread, !llvm.loop !46 + br i1 %39, label %_ZNSt11char_traitsIcE4findEPKcmRS1_.exit.i, label %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4findEcm.exit.thread, !llvm.loop !47 .lr.ph.i: ; preds = %31 %40 = getelementptr inbounds i8, ptr %8, i64 %20 @@ -9100,7 +9100,7 @@ _ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4findEcm.exit: ; preds = % 47: ; preds = %41 %48 = getelementptr inbounds nuw i8, ptr %.sroa.01.04.i, i64 1 %49 = icmp eq ptr %48, %11 - br i1 %49, label %_ZN5boost2io6detail18wrap_scan_notdigitIN9__gnu_cxx17__normal_iteratorIPKcNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEESt5ctypeIcEEET_RKT0_SG_SG_.exit, label %41, !llvm.loop !47 + br i1 %49, label %_ZN5boost2io6detail18wrap_scan_notdigitIN9__gnu_cxx17__normal_iteratorIPKcNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEESt5ctypeIcEEET_RKT0_SG_SG_.exit, label %41, !llvm.loop !48 _ZN5boost2io6detail18wrap_scan_notdigitIN9__gnu_cxx17__normal_iteratorIPKcNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEESt5ctypeIcEEET_RKT0_SG_SG_.exit: ; preds = %41, %47 %.sroa.01.0.lcssa.i.ph = phi ptr [ %.sroa.01.04.i, %41 ], [ %11, %47 ] @@ -9121,7 +9121,7 @@ _ZN5boost2io6detail18wrap_scan_notdigitIN9__gnu_cxx17__normal_iteratorIPKcNSt7__ %.1 = phi i64 [ %51, %_ZN5boost2io6detail18wrap_scan_notdigitIN9__gnu_cxx17__normal_iteratorIPKcNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEESt5ctypeIcEEET_RKT0_SG_SG_.exit ], [ %spec.select, %53 ] %58 = add nuw nsw i32 %.030.ph55, 1 %59 = icmp ult i64 %.1, %7 - br i1 %59, label %_ZNSt11char_traitsIcE4findEPKcmRS1_.exit.i.lr.ph, label %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4findEcm.exit.thread, !llvm.loop !46 + br i1 %59, label %_ZNSt11char_traitsIcE4findEPKcmRS1_.exit.i.lr.ph, label %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4findEcm.exit.thread, !llvm.loop !47 _ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4findEcm.exit.thread: ; preds = %.outer, %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4findEcm.exit, %_ZNSt11char_traitsIcE4findEPKcmRS1_.exit.i, %37, %4, %29 %.131 = phi i32 [ %30, %29 ], [ 0, %4 ], [ %.030.ph55, %37 ], [ %.030.ph55, %_ZNSt11char_traitsIcE4findEPKcmRS1_.exit.i ], [ %.030.ph55, %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4findEcm.exit ], [ %58, %.outer ] @@ -9138,7 +9138,7 @@ define linkonce_odr void @_ZN5boost12basic_formatIcSt11char_traitsIcESaIcEE18mak %8 = alloca %"struct.boost::io::detail::format_item", align 8 %9 = alloca %"struct.boost::io::detail::format_item", align 8 %10 = getelementptr inbounds nuw i8, ptr %0, i64 208 - %11 = load i8, ptr %10, align 8, !noalias !48 + %11 = load i8, ptr %10, align 8, !noalias !49 %12 = trunc i8 %11 to i1 br i1 %12, label %13, label %15 @@ -9472,7 +9472,7 @@ _ZN5boost2io6detail11format_itemIcSt11char_traitsIcESaIcEE5resetEc.exit: ; preds store i32 0, ptr %136, align 8 %137 = add nuw i64 %.027, 1 %exitcond.not = icmp eq i64 %137, %1 - br i1 %exitcond.not, label %.loopexit, label %.lr.ph, !llvm.loop !51 + br i1 %exitcond.not, label %.loopexit, label %.lr.ph, !llvm.loop !52 .loopexit: ; preds = %_ZN5boost2io6detail11format_itemIcSt11char_traitsIcESaIcEE5resetEc.exit, %_ZNSt6vectorIbSaIbEE6resizeEmb.exit, %_ZN5boost2io6detail11format_itemIcSt11char_traitsIcESaIcEED2Ev.exit %138 = getelementptr inbounds nuw i8, ptr %0, i64 88 @@ -9696,7 +9696,7 @@ _ZN5boost2io6detail11wrap_narrowIcSt5ctypeIcEEEcRKT0_T_c.exit.i: ; preds = %92, %97 = getelementptr inbounds nuw i8, ptr %.sroa.0.011.i, i64 1 %98 = load ptr, ptr %1, align 8 %99 = icmp eq ptr %97, %98 - br i1 %99, label %_ZN5boost2io6detail7str2intIiN9__gnu_cxx17__normal_iteratorIPKcNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEESt5ctypeIcEEET0_RKSG_SI_RT_RKT1_.exit, label %77, !llvm.loop !52 + br i1 %99, label %_ZN5boost2io6detail7str2intIiN9__gnu_cxx17__normal_iteratorIPKcNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEESt5ctypeIcEEET0_RKSG_SI_RT_RKT1_.exit, label %77, !llvm.loop !53 _ZN5boost2io6detail7str2intIiN9__gnu_cxx17__normal_iteratorIPKcNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEESt5ctypeIcEEET0_RKSG_SI_RT_RKT1_.exit: ; preds = %77, %_ZN5boost2io6detail11wrap_narrowIcSt5ctypeIcEEEcRKT0_T_c.exit.i, %73 %.1284 = phi i32 [ 0, %73 ], [ %96, %_ZN5boost2io6detail11wrap_narrowIcSt5ctypeIcEEEcRKT0_T_c.exit.i ], [ %.0283, %77 ] @@ -9910,7 +9910,7 @@ _ZN5boost2io6detail11wrap_narrowIcSt5ctypeIcEEEcRKT0_T_c.exit: ; preds = %159, % store ptr %194, ptr %0, align 8 %195 = load ptr, ptr %1, align 8 %196 = icmp eq ptr %194, %195 - br i1 %196, label %._crit_edge, label %159, !llvm.loop !53 + br i1 %196, label %._crit_edge, label %159, !llvm.loop !54 ._crit_edge: ; preds = %192, %152 %.lcssa = phi ptr [ %153, %152 ], [ %194, %192 ] @@ -10039,7 +10039,7 @@ _ZN5boost2io6detail11wrap_narrowIcSt5ctypeIcEEEcRKT0_T_c.exit.i235: ; preds = %2 %259 = getelementptr inbounds nuw i8, ptr %.sroa.0.011.i232, i64 1 %260 = load ptr, ptr %1, align 8 %261 = icmp eq ptr %259, %260 - br i1 %261, label %_ZN5boost2io6detail7str2intIlN9__gnu_cxx17__normal_iteratorIPKcNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEESt5ctypeIcEEET0_RKSG_SI_RT_RKT1_.exit, label %.lr.ph.i231, !llvm.loop !54 + br i1 %261, label %_ZN5boost2io6detail7str2intIlN9__gnu_cxx17__normal_iteratorIPKcNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEESt5ctypeIcEEET0_RKSG_SI_RT_RKT1_.exit, label %.lr.ph.i231, !llvm.loop !55 _ZN5boost2io6detail7str2intIlN9__gnu_cxx17__normal_iteratorIPKcNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEESt5ctypeIcEEET0_RKSG_SI_RT_RKT1_.exit: ; preds = %.lr.ph.i231, %_ZN5boost2io6detail11wrap_narrowIcSt5ctypeIcEEEcRKT0_T_c.exit.i235, %233 %.sroa.0.0.lcssa.i237 = phi ptr [ %236, %233 ], [ %.sroa.0.011.i232, %.lr.ph.i231 ], [ %259, %_ZN5boost2io6detail11wrap_narrowIcSt5ctypeIcEEEcRKT0_T_c.exit.i235 ] @@ -10281,7 +10281,7 @@ _ZN5boost2io6detail11wrap_narrowIcSt5ctypeIcEEEcRKT0_T_c.exit250: ; preds = %325 store ptr %364, ptr %0, align 8 %365 = load ptr, ptr %1, align 8 %366 = icmp eq ptr %364, %365 - br i1 %366, label %.loopexit.thread, label %325, !llvm.loop !55 + br i1 %366, label %.loopexit.thread, label %325, !llvm.loop !56 .loopexit: ; preds = %_ZN5boost2io6detail11wrap_narrowIcSt5ctypeIcEEEcRKT0_T_c.exit250, %331 %367 = icmp ne i8 %.0207302, 73 @@ -10748,7 +10748,7 @@ _ZSt8_DestroyIN5boost2io6detail11format_itemIcSt11char_traitsIcESaIcEEEEvPT_.exi tail call void @_ZNSaIcED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %30) #46 %37 = getelementptr inbounds nuw i8, ptr %.05.i.i.i.i, i64 136 %.not.i.i.i.i = icmp eq ptr %37, %5 - br i1 %.not.i.i.i.i, label %_ZSt8_DestroyIPN5boost2io6detail11format_itemIcSt11char_traitsIcESaIcEEES7_EvT_S9_RSaIT0_E.exit.i, label %.lr.ph.i.i.i.i, !llvm.loop !36 + br i1 %.not.i.i.i.i, label %_ZSt8_DestroyIPN5boost2io6detail11format_itemIcSt11char_traitsIcESaIcEEES7_EvT_S9_RSaIT0_E.exit.i, label %.lr.ph.i.i.i.i, !llvm.loop !37 _ZSt8_DestroyIPN5boost2io6detail11format_itemIcSt11char_traitsIcESaIcEEES7_EvT_S9_RSaIT0_E.exit.i: ; preds = %_ZSt8_DestroyIN5boost2io6detail11format_itemIcSt11char_traitsIcESaIcEEEEvPT_.exit.i.i.i.i store ptr %17, ptr %4, align 8 @@ -10879,7 +10879,7 @@ _ZN5boost2io6detail11format_itemIcSt11char_traitsIcESaIcEEaSERKS6_.exit.i.i.i.i: tail call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(12) %58, ptr noundef nonnull align 8 dereferenceable(12) %40, i64 12, i1 false) %59 = getelementptr inbounds nuw i8, ptr %.06.i.i.i.i, i64 136 %.not.i.i.i.i11 = icmp eq ptr %59, %29 - br i1 %.not.i.i.i.i11, label %_ZSt4fillIN9__gnu_cxx17__normal_iteratorIPN5boost2io6detail11format_itemIcSt11char_traitsIcESaIcEEESt6vectorIS9_SaIS9_EEEES9_EvT_SF_RKT0_.exit.loopexit, label %41, !llvm.loop !56 + br i1 %.not.i.i.i.i11, label %_ZSt4fillIN9__gnu_cxx17__normal_iteratorIPN5boost2io6detail11format_itemIcSt11char_traitsIcESaIcEEESt6vectorIS9_SaIS9_EEEES9_EvT_SF_RKT0_.exit.loopexit, label %41, !llvm.loop !57 _ZSt4fillIN9__gnu_cxx17__normal_iteratorIPN5boost2io6detail11format_itemIcSt11char_traitsIcESaIcEEESt6vectorIS9_SaIS9_EEEES9_EvT_SF_RKT0_.exit.loopexit: ; preds = %_ZN5boost2io6detail11format_itemIcSt11char_traitsIcESaIcEEaSERKS6_.exit.i.i.i.i %.pre19 = load ptr, ptr %28, align 8 @@ -10956,7 +10956,7 @@ _ZN5boost2io6detail11format_itemIcSt11char_traitsIcESaIcEEaSERKS6_.exit.i.i.i.i1 tail call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(12) %90, ptr noundef nonnull align 8 dereferenceable(12) %72, i64 12, i1 false) %91 = getelementptr inbounds nuw i8, ptr %.06.i.i.i.i13, i64 136 %.not.i.i.i.i15 = icmp eq ptr %91, %66 - br i1 %.not.i.i.i.i15, label %_ZSt6fill_nIPN5boost2io6detail11format_itemIcSt11char_traitsIcESaIcEEEmS7_ET_S9_T0_RKT1_.exit.loopexit, label %73, !llvm.loop !56 + br i1 %.not.i.i.i.i15, label %_ZSt6fill_nIPN5boost2io6detail11format_itemIcSt11char_traitsIcESaIcEEEmS7_ET_S9_T0_RKT1_.exit.loopexit, label %73, !llvm.loop !57 _ZSt6fill_nIPN5boost2io6detail11format_itemIcSt11char_traitsIcESaIcEEEmS7_ET_S9_T0_RKT1_.exit.loopexit: ; preds = %_ZN5boost2io6detail11format_itemIcSt11char_traitsIcESaIcEEaSERKS6_.exit.i.i.i.i14 %.pre = load ptr, ptr %28, align 8 @@ -11022,7 +11022,7 @@ _ZSt8_DestroyIN5boost2io6detail11format_itemIcSt11char_traitsIcESaIcEEEEvPT_.exi tail call void @_ZNSaIcED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %105) #46 %112 = getelementptr inbounds nuw i8, ptr %.05.i.i.i.i, i64 136 %.not.i.i.i.i18 = icmp eq ptr %112, %92 - br i1 %.not.i.i.i.i18, label %_ZSt8_DestroyIPN5boost2io6detail11format_itemIcSt11char_traitsIcESaIcEEES7_EvT_S9_RSaIT0_E.exit.i, label %.lr.ph.i.i.i.i17, !llvm.loop !36 + br i1 %.not.i.i.i.i18, label %_ZSt8_DestroyIPN5boost2io6detail11format_itemIcSt11char_traitsIcESaIcEEES7_EvT_S9_RSaIT0_E.exit.i, label %.lr.ph.i.i.i.i17, !llvm.loop !37 _ZSt8_DestroyIPN5boost2io6detail11format_itemIcSt11char_traitsIcESaIcEEES7_EvT_S9_RSaIT0_E.exit.i: ; preds = %_ZSt8_DestroyIN5boost2io6detail11format_itemIcSt11char_traitsIcESaIcEEEEvPT_.exit.i.i.i.i store ptr %.0.i.i, ptr %28, align 8 @@ -11194,7 +11194,7 @@ define linkonce_odr noundef ptr @_ZSt18__do_uninit_fill_nIPN5boost2io6detail11fo %25 = add i64 %.01117, -1 %26 = getelementptr inbounds nuw i8, ptr %.018, i64 136 %.not = icmp eq i64 %25, 0 - br i1 %.not, label %._crit_edge, label %10, !llvm.loop !57 + br i1 %.not, label %._crit_edge, label %10, !llvm.loop !58 27: ; preds = %10 %28 = landingpad { ptr, i32 } @@ -11658,7 +11658,7 @@ _ZN5boost2io6detail11wrap_narrowIcSt5ctypeIcEEEcRKT0_T_c.exit: ; preds = %18, %2 %32 = getelementptr inbounds nuw i8, ptr %.sroa.0.011, i64 1 %33 = load ptr, ptr %1, align 8 %34 = icmp eq ptr %32, %33 - br i1 %34, label %.critedge, label %11, !llvm.loop !54 + br i1 %34, label %.critedge, label %11, !llvm.loop !55 .critedge: ; preds = %11, %_ZN5boost2io6detail11wrap_narrowIcSt5ctypeIcEEEcRKT0_T_c.exit, %4 %.sroa.0.0.lcssa = phi ptr [ %6, %4 ], [ %32, %_ZN5boost2io6detail11wrap_narrowIcSt5ctypeIcEEEcRKT0_T_c.exit ], [ %.sroa.0.011, %11 ] @@ -12293,7 +12293,7 @@ _ZNSt6vectorIN5boost2io6detail11format_itemIcSt11char_traitsIcESaIcEEESaIS7_EE16 %45 = getelementptr inbounds nuw i8, ptr %.sroa.04.07.i.i.i.i.i, i64 136 %46 = getelementptr inbounds nuw i8, ptr %.08.i.i.i.i.i, i64 136 %47 = icmp eq ptr %45, %35 - br i1 %47, label %_ZSt22__uninitialized_move_aIPN5boost2io6detail11format_itemIcSt11char_traitsIcESaIcEEES8_SaIS7_EET0_T_SB_SA_RT1_.exit.loopexit, label %.lr.ph.i.i.i.i.i, !llvm.loop !58 + br i1 %47, label %_ZSt22__uninitialized_move_aIPN5boost2io6detail11format_itemIcSt11char_traitsIcESaIcEEES8_SaIS7_EET0_T_SB_SA_RT1_.exit.loopexit, label %.lr.ph.i.i.i.i.i, !llvm.loop !59 _ZSt22__uninitialized_move_aIPN5boost2io6detail11format_itemIcSt11char_traitsIcESaIcEEES8_SaIS7_EET0_T_SB_SA_RT1_.exit.loopexit: ; preds = %.lr.ph.i.i.i.i.i %.pre = load ptr, ptr %9, align 8 @@ -12321,7 +12321,7 @@ _ZSt22__uninitialized_move_aIPN5boost2io6detail11format_itemIcSt11char_traitsIcE %56 = call noundef nonnull align 8 dereferenceable(132) ptr @_ZN5boost2io6detail11format_itemIcSt11char_traitsIcESaIcEEaSEOS6_(ptr noundef nonnull align 8 dereferenceable(132) %55, ptr noundef nonnull align 8 dereferenceable(132) %54) #46 %57 = add nsw i64 %.010.i.i.i.i.i, -1 %58 = icmp samesign ugt i64 %.010.i.i.i.i.i, 1 - br i1 %58, label %.lr.ph.i.i.i.i.i68, label %_ZSt13move_backwardIPN5boost2io6detail11format_itemIcSt11char_traitsIcESaIcEEES8_ET0_T_SA_S9_.exit, !llvm.loop !59 + br i1 %58, label %.lr.ph.i.i.i.i.i68, label %_ZSt13move_backwardIPN5boost2io6detail11format_itemIcSt11char_traitsIcESaIcEEES8_ET0_T_SA_S9_.exit, !llvm.loop !60 _ZSt13move_backwardIPN5boost2io6detail11format_itemIcSt11char_traitsIcESaIcEEES8_ET0_T_SA_S9_.exit: ; preds = %.lr.ph.i.i.i.i.i68, %_ZSt22__uninitialized_move_aIPN5boost2io6detail11format_itemIcSt11char_traitsIcESaIcEEES8_SaIS7_EET0_T_SB_SA_RT1_.exit %59 = getelementptr inbounds %"struct.boost::io::detail::format_item", ptr %1, i64 %2 @@ -12378,7 +12378,7 @@ _ZN5boost2io6detail11format_itemIcSt11char_traitsIcESaIcEEaSERKS6_.exit.i.i.i: ; call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(12) %78, ptr noundef nonnull align 8 dereferenceable(12) %33, i64 12, i1 false) %79 = getelementptr inbounds nuw i8, ptr %.06.i.i.i, i64 136 %.not.i.i.i = icmp eq ptr %79, %59 - br i1 %.not.i.i.i, label %_ZSt4fillIPN5boost2io6detail11format_itemIcSt11char_traitsIcESaIcEEES7_EvT_S9_RKT0_.exit, label %61, !llvm.loop !56 + br i1 %.not.i.i.i, label %_ZSt4fillIPN5boost2io6detail11format_itemIcSt11char_traitsIcESaIcEEES7_EvT_S9_RKT0_.exit, label %61, !llvm.loop !57 .loopexit: ; preds = %61, %.noexc %lpad.loopexit = landingpad { ptr, i32 } @@ -12422,7 +12422,7 @@ _ZSt22__uninitialized_move_aIPN5boost2io6detail11format_itemIcSt11char_traitsIcE %85 = getelementptr inbounds nuw i8, ptr %.sroa.04.07.i.i.i.i.i73, i64 136 %86 = getelementptr inbounds nuw i8, ptr %.08.i.i.i.i.i72, i64 136 %87 = icmp eq ptr %85, %35 - br i1 %87, label %.lr.ph.i.i.i77, label %.lr.ph.i.i.i.i.i71, !llvm.loop !58 + br i1 %87, label %.lr.ph.i.i.i77, label %.lr.ph.i.i.i.i.i71, !llvm.loop !59 .lr.ph.i.i.i77: ; preds = %.lr.ph.i.i.i.i.i71 %88 = load ptr, ptr %9, align 8 @@ -12481,7 +12481,7 @@ _ZN5boost2io6detail11format_itemIcSt11char_traitsIcESaIcEEaSERKS6_.exit.i.i.i79: call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(12) %108, ptr noundef nonnull align 8 dereferenceable(12) %33, i64 12, i1 false) %109 = getelementptr inbounds nuw i8, ptr %.06.i.i.i78, i64 136 %.not.i.i.i80 = icmp eq ptr %109, %35 - br i1 %.not.i.i.i80, label %_ZSt4fillIPN5boost2io6detail11format_itemIcSt11char_traitsIcESaIcEEES7_EvT_S9_RKT0_.exit, label %91, !llvm.loop !56 + br i1 %.not.i.i.i80, label %_ZSt4fillIPN5boost2io6detail11format_itemIcSt11char_traitsIcESaIcEEES7_EvT_S9_RKT0_.exit, label %91, !llvm.loop !57 _ZSt4fillIPN5boost2io6detail11format_itemIcSt11char_traitsIcESaIcEEES7_EvT_S9_RKT0_.exit: ; preds = %_ZN5boost2io6detail11format_itemIcSt11char_traitsIcESaIcEEaSERKS6_.exit.i.i.i79, %_ZN5boost2io6detail11format_itemIcSt11char_traitsIcESaIcEEaSERKS6_.exit.i.i.i, %_ZSt22__uninitialized_move_aIPN5boost2io6detail11format_itemIcSt11char_traitsIcESaIcEEES8_SaIS7_EET0_T_SB_SA_RT1_.exit75.thread %110 = load i8, ptr %25, align 8 @@ -12579,7 +12579,7 @@ _ZSt24__uninitialized_fill_n_aIPN5boost2io6detail11format_itemIcSt11char_traitsI %147 = getelementptr inbounds nuw i8, ptr %.sroa.04.07.i.i.i.i.i89, i64 136 %148 = getelementptr inbounds nuw i8, ptr %.08.i.i.i.i.i88, i64 136 %149 = icmp eq ptr %147, %1 - br i1 %149, label %_ZSt34__uninitialized_move_if_noexcept_aIPN5boost2io6detail11format_itemIcSt11char_traitsIcESaIcEEES8_SaIS7_EET0_T_SB_SA_RT1_.exit, label %.lr.ph.i.i.i.i.i87, !llvm.loop !58 + br i1 %149, label %_ZSt34__uninitialized_move_if_noexcept_aIPN5boost2io6detail11format_itemIcSt11char_traitsIcESaIcEEES8_SaIS7_EET0_T_SB_SA_RT1_.exit, label %.lr.ph.i.i.i.i.i87, !llvm.loop !59 _ZSt34__uninitialized_move_if_noexcept_aIPN5boost2io6detail11format_itemIcSt11char_traitsIcESaIcEEES8_SaIS7_EET0_T_SB_SA_RT1_.exit: ; preds = %.lr.ph.i.i.i.i.i87, %_ZSt24__uninitialized_fill_n_aIPN5boost2io6detail11format_itemIcSt11char_traitsIcESaIcEEEmS7_S7_ET_S9_T0_RKT1_RSaIT2_E.exit86 %.0.lcssa.i.i.i.i.i90 = phi ptr [ %143, %_ZSt24__uninitialized_fill_n_aIPN5boost2io6detail11format_itemIcSt11char_traitsIcESaIcEEEmS7_S7_ET_S9_T0_RKT1_RSaIT2_E.exit86 ], [ %148, %.lr.ph.i.i.i.i.i87 ] @@ -12594,7 +12594,7 @@ _ZSt34__uninitialized_move_if_noexcept_aIPN5boost2io6detail11format_itemIcSt11ch %152 = getelementptr inbounds nuw i8, ptr %.sroa.04.07.i.i.i.i.i93, i64 136 %153 = getelementptr inbounds nuw i8, ptr %.08.i.i.i.i.i92, i64 136 %154 = icmp eq ptr %152, %10 - br i1 %154, label %_ZSt34__uninitialized_move_if_noexcept_aIPN5boost2io6detail11format_itemIcSt11char_traitsIcESaIcEEES8_SaIS7_EET0_T_SB_SA_RT1_.exit95, label %.lr.ph.i.i.i.i.i91, !llvm.loop !58 + br i1 %154, label %_ZSt34__uninitialized_move_if_noexcept_aIPN5boost2io6detail11format_itemIcSt11char_traitsIcESaIcEEES8_SaIS7_EET0_T_SB_SA_RT1_.exit95, label %.lr.ph.i.i.i.i.i91, !llvm.loop !59 _ZSt34__uninitialized_move_if_noexcept_aIPN5boost2io6detail11format_itemIcSt11char_traitsIcESaIcEEES8_SaIS7_EET0_T_SB_SA_RT1_.exit95: ; preds = %.lr.ph.i.i.i.i.i91, %_ZSt34__uninitialized_move_if_noexcept_aIPN5boost2io6detail11format_itemIcSt11char_traitsIcESaIcEEES8_SaIS7_EET0_T_SB_SA_RT1_.exit %.0.lcssa.i.i.i.i.i94 = phi ptr [ %150, %_ZSt34__uninitialized_move_if_noexcept_aIPN5boost2io6detail11format_itemIcSt11char_traitsIcESaIcEEES8_SaIS7_EET0_T_SB_SA_RT1_.exit ], [ %153, %.lr.ph.i.i.i.i.i91 ] @@ -12655,7 +12655,7 @@ _ZSt8_DestroyIN5boost2io6detail11format_itemIcSt11char_traitsIcESaIcEEEEvPT_.exi tail call void @_ZNSaIcED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %167) #46 %174 = getelementptr inbounds nuw i8, ptr %.05.i.i.i, i64 136 %.not.i.i.i97 = icmp eq ptr %174, %10 - br i1 %.not.i.i.i97, label %_ZSt8_DestroyIPN5boost2io6detail11format_itemIcSt11char_traitsIcESaIcEEES7_EvT_S9_RSaIT0_E.exit, label %.lr.ph.i.i.i96, !llvm.loop !36 + br i1 %.not.i.i.i97, label %_ZSt8_DestroyIPN5boost2io6detail11format_itemIcSt11char_traitsIcESaIcEEES7_EvT_S9_RSaIT0_E.exit, label %.lr.ph.i.i.i96, !llvm.loop !37 _ZSt8_DestroyIPN5boost2io6detail11format_itemIcSt11char_traitsIcESaIcEEES7_EvT_S9_RSaIT0_E.exit: ; preds = %_ZSt8_DestroyIN5boost2io6detail11format_itemIcSt11char_traitsIcESaIcEEEEvPT_.exit.i.i.i, %_ZSt34__uninitialized_move_if_noexcept_aIPN5boost2io6detail11format_itemIcSt11char_traitsIcESaIcEEES8_SaIS7_EET0_T_SB_SA_RT1_.exit95 %.not.i98 = icmp eq ptr %127, null @@ -13185,7 +13185,7 @@ define linkonce_odr noundef nonnull align 8 dereferenceable(224) ptr @_ZN5boost2 %49 = sub i64 %47, %48 %50 = sdiv exact i64 %49, 136 %51 = icmp ult i64 %46, %50 - br i1 %51, label %32, label %_ZN5boost2io6detail10distributeIcSt11char_traitsIcESaIcERKNS1_10put_holderIcS4_EEEEvRNS_12basic_formatIT_T0_T1_EET2_.exit.loopexit, !llvm.loop !60 + br i1 %51, label %32, label %_ZN5boost2io6detail10distributeIcSt11char_traitsIcESaIcERKNS1_10put_holderIcS4_EEEEvRNS_12basic_formatIT_T0_T1_EET2_.exit.loopexit, !llvm.loop !61 _ZN5boost2io6detail10distributeIcSt11char_traitsIcESaIcERKNS1_10put_holderIcS4_EEEEvRNS_12basic_formatIT_T0_T1_EET2_.exit.loopexit: ; preds = %43 %.pre = load i32, ptr %10, align 4 @@ -13243,7 +13243,7 @@ _ZN5boost2io6detail10distributeIcSt11char_traitsIcESaIcERKNS1_10put_holderIcS4_E %79 = trunc nsw i64 %indvars.iv.next to i32 store i32 %79, ptr %10, align 4 %exitcond.not = icmp eq i64 %indvars.iv.next, %wide.trip.count - br i1 %exitcond.not, label %.critedge, label %.lr.ph, !llvm.loop !61 + br i1 %exitcond.not, label %.critedge, label %.lr.ph, !llvm.loop !62 .critedge: ; preds = %78, %.lr.ph, %.preheader, %_ZN5boost2io6detail10distributeIcSt11char_traitsIcESaIcERKNS1_10put_holderIcS4_EEEEvRNS_12basic_formatIT_T0_T1_EET2_.exit ret ptr %0 @@ -13321,7 +13321,7 @@ _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6resizeEm.exit: ; preds = % %42 = sub i64 %40, %41 %43 = sdiv exact i64 %42, 136 %44 = icmp ult i64 %39, %43 - br i1 %44, label %8, label %._crit_edge, !llvm.loop !62 + br i1 %44, label %8, label %._crit_edge, !llvm.loop !63 ._crit_edge: ; preds = %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6resizeEm.exit, %1 %45 = getelementptr inbounds nuw i8, ptr %0, i64 68 @@ -13371,7 +13371,7 @@ _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6resizeEm.exit: ; preds = % %70 = trunc nsw i64 %indvars.iv.next to i32 store i32 %70, ptr %45, align 4 %exitcond.not = icmp eq i64 %indvars.iv.next, %wide.trip.count - br i1 %exitcond.not, label %.critedge2, label %.lr.ph19, !llvm.loop !63 + br i1 %exitcond.not, label %.critedge2, label %.lr.ph19, !llvm.loop !64 .critedge2: ; preds = %69, %.lr.ph19, %.preheader, %._crit_edge ret ptr %0 @@ -13832,7 +13832,7 @@ _ZN5boost2io6detail8put_lastIcSt11char_traitsIcEEEvRSt13basic_ostreamIT_T0_ERKNS 226: ; preds = %219 %227 = add i64 %.087184, 1 %exitcond.not = icmp eq i64 %227, %.sroa.speculated - br i1 %exitcond.not, label %.critedge, label %219, !llvm.loop !64 + br i1 %exitcond.not, label %.critedge, label %219, !llvm.loop !65 .critedge: ; preds = %219, %226, %214 %.087.lcssa = phi i64 [ %215, %214 ], [ %.sroa.speculated, %226 ], [ %.087184, %219 ] @@ -15563,7 +15563,7 @@ define linkonce_odr noundef zeroext i1 @_ZN5boost6detail18lcast_ret_unsignedISt1 store ptr %55, ptr %4, align 8 %56 = load ptr, ptr %9, align 8 %.not.i = icmp ult ptr %55, %56 - br i1 %.not.i, label %_ZN5boost6detail18lcast_ret_unsignedISt11char_traitsIcEmcE17main_convert_loopEv.exit, label %28, !llvm.loop !65 + br i1 %.not.i, label %_ZN5boost6detail18lcast_ret_unsignedISt11char_traitsIcEmcE17main_convert_loopEv.exit, label %28, !llvm.loop !66 57: ; preds = %61, %59, %16 %58 = landingpad { ptr, i32 } @@ -15654,7 +15654,7 @@ define linkonce_odr noundef zeroext i1 @_ZN5boost6detail18lcast_ret_unsignedISt1 store ptr %100, ptr %4, align 8 %101 = load ptr, ptr %9, align 8 %.not.i38 = icmp ult ptr %100, %101 - br i1 %.not.i38, label %_ZN5boost6detail18lcast_ret_unsignedISt11char_traitsIcEmcE17main_convert_loopEv.exit43, label %73, !llvm.loop !65 + br i1 %.not.i38, label %_ZN5boost6detail18lcast_ret_unsignedISt11char_traitsIcEmcE17main_convert_loopEv.exit43, label %73, !llvm.loop !66 102: ; preds = %65 %103 = invoke noundef signext i8 @_ZNKSt7__cxx118numpunctIcE13thousands_sepEv(ptr noundef nonnull align 8 dereferenceable(24) %60) @@ -15773,7 +15773,7 @@ define linkonce_odr noundef zeroext i1 @_ZN5boost6detail18lcast_ret_unsignedISt1 %161 = getelementptr inbounds i8, ptr %160, i64 -1 store ptr %161, ptr %4, align 8 %.not29 = icmp ult ptr %161, %159 - br i1 %.not29, label %_ZN5boost6detail18lcast_ret_unsignedISt11char_traitsIcEmcE17main_convert_loopEv.exit43, label %112, !llvm.loop !66 + br i1 %.not29, label %_ZN5boost6detail18lcast_ret_unsignedISt11char_traitsIcEmcE17main_convert_loopEv.exit43, label %112, !llvm.loop !67 _ZN5boost6detail18lcast_ret_unsignedISt11char_traitsIcEmcE17main_convert_loopEv.exit43: ; preds = %148, %158, %131, %130, %129, %115, %95, %90, %89, %88, %73, %104, %69, %146 %.221 = phi i1 [ %147, %146 ], [ true, %69 ], [ true, %104 ], [ true, %95 ], [ false, %90 ], [ false, %89 ], [ false, %88 ], [ false, %73 ], [ false, %148 ], [ true, %158 ], [ false, %131 ], [ false, %130 ], [ false, %129 ], [ false, %115 ] @@ -15884,7 +15884,7 @@ define linkonce_odr noundef zeroext i1 @_ZN5boost6detail18lcast_ret_unsignedISt1 store ptr %35, ptr %2, align 8 %36 = load ptr, ptr %3, align 8 %.not = icmp ult ptr %35, %36 - br i1 %.not, label %_ZN5boost6detail18lcast_ret_unsignedISt11char_traitsIcEmcE22main_convert_iterationEv.exit.thread, label %8, !llvm.loop !65 + br i1 %.not, label %_ZN5boost6detail18lcast_ret_unsignedISt11char_traitsIcEmcE22main_convert_iterationEv.exit.thread, label %8, !llvm.loop !66 _ZN5boost6detail18lcast_ret_unsignedISt11char_traitsIcEmcE22main_convert_iterationEv.exit.thread: ; preds = %30, %25, %24, %23, %8, %1 %.not.lcssa = phi i1 [ true, %1 ], [ false, %8 ], [ false, %23 ], [ false, %24 ], [ false, %25 ], [ true, %30 ] @@ -16427,19 +16427,19 @@ attributes #56 = { nounwind willreturn memory(read) } !18 = distinct !{!18, !5} !19 = distinct !{!19, !5} !20 = distinct !{!20, !5} -!21 = distinct !{!21, !5} -!22 = !{!23} -!23 = distinct !{!23, !24, !"_ZSt19__relocate_object_aISt6vectorIN3nix8PosTable6OffsetESaIS3_EES5_SaIS5_EEvPT_PT0_RT1_: argument 0"} -!24 = distinct !{!24, !"_ZSt19__relocate_object_aISt6vectorIN3nix8PosTable6OffsetESaIS3_EES5_SaIS5_EEvPT_PT0_RT1_"} -!25 = !{!26} -!26 = distinct !{!26, !24, !"_ZSt19__relocate_object_aISt6vectorIN3nix8PosTable6OffsetESaIS3_EES5_SaIS5_EEvPT_PT0_RT1_: argument 1"} -!27 = distinct !{!27, !5} -!28 = !{!29} -!29 = distinct !{!29, !30, !"_ZSt19__relocate_object_aISt6vectorIN3nix8PosTable6OffsetESaIS3_EES5_SaIS5_EEvPT_PT0_RT1_: argument 0"} -!30 = distinct !{!30, !"_ZSt19__relocate_object_aISt6vectorIN3nix8PosTable6OffsetESaIS3_EES5_SaIS5_EEvPT_PT0_RT1_"} -!31 = !{!32} -!32 = distinct !{!32, !30, !"_ZSt19__relocate_object_aISt6vectorIN3nix8PosTable6OffsetESaIS3_EES5_SaIS5_EEvPT_PT0_RT1_: argument 1"} -!33 = distinct !{!33, !5} +!21 = !{} +!22 = distinct !{!22, !5} +!23 = !{!24} +!24 = distinct !{!24, !25, !"_ZSt19__relocate_object_aISt6vectorIN3nix8PosTable6OffsetESaIS3_EES5_SaIS5_EEvPT_PT0_RT1_: argument 0"} +!25 = distinct !{!25, !"_ZSt19__relocate_object_aISt6vectorIN3nix8PosTable6OffsetESaIS3_EES5_SaIS5_EEvPT_PT0_RT1_"} +!26 = !{!27} +!27 = distinct !{!27, !25, !"_ZSt19__relocate_object_aISt6vectorIN3nix8PosTable6OffsetESaIS3_EES5_SaIS5_EEvPT_PT0_RT1_: argument 1"} +!28 = distinct !{!28, !5} +!29 = !{!30} +!30 = distinct !{!30, !31, !"_ZSt19__relocate_object_aISt6vectorIN3nix8PosTable6OffsetESaIS3_EES5_SaIS5_EEvPT_PT0_RT1_: argument 0"} +!31 = distinct !{!31, !"_ZSt19__relocate_object_aISt6vectorIN3nix8PosTable6OffsetESaIS3_EES5_SaIS5_EEvPT_PT0_RT1_"} +!32 = !{!33} +!33 = distinct !{!33, !31, !"_ZSt19__relocate_object_aISt6vectorIN3nix8PosTable6OffsetESaIS3_EES5_SaIS5_EEvPT_PT0_RT1_: argument 1"} !34 = distinct !{!34, !5} !35 = distinct !{!35, !5} !36 = distinct !{!36, !5} @@ -16447,17 +16447,17 @@ attributes #56 = { nounwind willreturn memory(read) } !38 = distinct !{!38, !5} !39 = distinct !{!39, !5} !40 = distinct !{!40, !5} -!41 = !{!42} -!42 = distinct !{!42, !43, !"_ZNK5boost12basic_formatIcSt11char_traitsIcESaIcEE6getlocEv: argument 0"} -!43 = distinct !{!43, !"_ZNK5boost12basic_formatIcSt11char_traitsIcESaIcEE6getlocEv"} -!44 = distinct !{!44, !5} +!41 = distinct !{!41, !5} +!42 = !{!43} +!43 = distinct !{!43, !44, !"_ZNK5boost12basic_formatIcSt11char_traitsIcESaIcEE6getlocEv: argument 0"} +!44 = distinct !{!44, !"_ZNK5boost12basic_formatIcSt11char_traitsIcESaIcEE6getlocEv"} !45 = distinct !{!45, !5} !46 = distinct !{!46, !5} !47 = distinct !{!47, !5} -!48 = !{!49} -!49 = distinct !{!49, !50, !"_ZNK5boost12basic_formatIcSt11char_traitsIcESaIcEE6getlocEv: argument 0"} -!50 = distinct !{!50, !"_ZNK5boost12basic_formatIcSt11char_traitsIcESaIcEE6getlocEv"} -!51 = distinct !{!51, !5} +!48 = distinct !{!48, !5} +!49 = !{!50} +!50 = distinct !{!50, !51, !"_ZNK5boost12basic_formatIcSt11char_traitsIcESaIcEE6getlocEv: argument 0"} +!51 = distinct !{!51, !"_ZNK5boost12basic_formatIcSt11char_traitsIcESaIcEE6getlocEv"} !52 = distinct !{!52, !5} !53 = distinct !{!53, !5} !54 = distinct !{!54, !5} @@ -16473,3 +16473,4 @@ attributes #56 = { nounwind willreturn memory(read) } !64 = distinct !{!64, !5} !65 = distinct !{!65, !5} !66 = distinct !{!66, !5} +!67 = distinct !{!67, !5} diff --git a/bench/ockam-rs/optimized/1y67jc2e8hldxzxu.ll b/bench/ockam-rs/optimized/1y67jc2e8hldxzxu.ll index af2e6c501e8..be8612305d5 100644 --- a/bench/ockam-rs/optimized/1y67jc2e8hldxzxu.ll +++ b/bench/ockam-rs/optimized/1y67jc2e8hldxzxu.ll @@ -2518,9 +2518,9 @@ define hidden noundef align 8 ptr @_ZN5serde3ser10Serializer11collect_map17hde6e br label %.preheader .preheader: ; preds = %.preheader.preheader, %"_ZN4core4iter6traits8iterator8Iterator12try_for_each4call28_$u7b$$u7b$closure$u7d$$u7d$17h7aa446447e432a13E.exit.i.i" - %.lcssa23.i.i = phi ptr [ %.lcssa2230.i.i, %"_ZN4core4iter6traits8iterator8Iterator12try_for_each4call28_$u7b$$u7b$closure$u7d$$u7d$17h7aa446447e432a13E.exit.i.i" ], [ %12, %.preheader.preheader ] - %16 = phi i16 [ %32, %"_ZN4core4iter6traits8iterator8Iterator12try_for_each4call28_$u7b$$u7b$closure$u7d$$u7d$17h7aa446447e432a13E.exit.i.i" ], [ %15, %.preheader.preheader ] - %.lcssa1519.i.i = phi ptr [ %.lcssa151831.i.i, %"_ZN4core4iter6traits8iterator8Iterator12try_for_each4call28_$u7b$$u7b$closure$u7d$$u7d$17h7aa446447e432a13E.exit.i.i" ], [ %6, %.preheader.preheader ] + %.lcssa23.i.i = phi ptr [ %.lcssa22.i.i, %"_ZN4core4iter6traits8iterator8Iterator12try_for_each4call28_$u7b$$u7b$closure$u7d$$u7d$17h7aa446447e432a13E.exit.i.i" ], [ %12, %.preheader.preheader ] + %16 = phi i16 [ %30, %"_ZN4core4iter6traits8iterator8Iterator12try_for_each4call28_$u7b$$u7b$closure$u7d$$u7d$17h7aa446447e432a13E.exit.i.i" ], [ %15, %.preheader.preheader ] + %.lcssa1519.i.i = phi ptr [ %.lcssa1518.i.i, %"_ZN4core4iter6traits8iterator8Iterator12try_for_each4call28_$u7b$$u7b$closure$u7d$$u7d$17h7aa446447e432a13E.exit.i.i" ], [ %6, %.preheader.preheader ] %17 = phi i64 [ %33, %"_ZN4core4iter6traits8iterator8Iterator12try_for_each4call28_$u7b$$u7b$closure$u7d$$u7d$17h7aa446447e432a13E.exit.i.i" ], [ %9, %.preheader.preheader ] %18 = icmp eq i64 %17, 0 br i1 %18, label %_ZN4core4iter6traits8iterator8Iterator12try_for_each17h560ab85ee310342dE.exit, label %19 @@ -2531,9 +2531,7 @@ define hidden noundef align 8 ptr @_ZN5serde3ser10Serializer11collect_map17hde6e "_ZN105_$LT$std..collections..hash..map..Iter$LT$K$C$V$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h734114749e029e79E.exit.thread26.i.i": ; preds = %.lr.ph.i.i.i.i.i.i %20 = xor i16 %26, -1 - %21 = sub nuw i16 -2, %26 - %22 = and i16 %21, %20 - br label %31 + br label %._crit_edge21.i.i.i.i.i.i .lr.ph.i.i.i.i.i.i: ; preds = %19, %.lr.ph.i.i.i.i.i.i %23 = phi ptr [ %28, %.lr.ph.i.i.i.i.i.i ], [ %.lcssa23.i.i, %19 ] @@ -2546,29 +2544,25 @@ define hidden noundef align 8 ptr @_ZN5serde3ser10Serializer11collect_map17hde6e %.not.not.i.i.i.i.i.i.i = icmp eq i16 %26, -1 br i1 %.not.not.i.i.i.i.i.i.i, label %.lr.ph.i.i.i.i.i.i, label %"_ZN105_$LT$std..collections..hash..map..Iter$LT$K$C$V$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h734114749e029e79E.exit.thread26.i.i" -"_ZN105_$LT$std..collections..hash..map..Iter$LT$K$C$V$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h734114749e029e79E.exit.i.i": ; preds = %19 - %29 = add i16 %16, -1 - %30 = and i16 %29, %16 - br label %31 - -31: ; preds = %"_ZN105_$LT$std..collections..hash..map..Iter$LT$K$C$V$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h734114749e029e79E.exit.i.i", %"_ZN105_$LT$std..collections..hash..map..Iter$LT$K$C$V$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h734114749e029e79E.exit.thread26.i.i" - %32 = phi i16 [ %22, %"_ZN105_$LT$std..collections..hash..map..Iter$LT$K$C$V$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h734114749e029e79E.exit.thread26.i.i" ], [ %30, %"_ZN105_$LT$std..collections..hash..map..Iter$LT$K$C$V$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h734114749e029e79E.exit.i.i" ] - %.lcssa.i.i.i.i32.i.i = phi i16 [ %20, %"_ZN105_$LT$std..collections..hash..map..Iter$LT$K$C$V$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h734114749e029e79E.exit.thread26.i.i" ], [ %16, %"_ZN105_$LT$std..collections..hash..map..Iter$LT$K$C$V$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h734114749e029e79E.exit.i.i" ] - %.lcssa151831.i.i = phi ptr [ %27, %"_ZN105_$LT$std..collections..hash..map..Iter$LT$K$C$V$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h734114749e029e79E.exit.thread26.i.i" ], [ %.lcssa1519.i.i, %"_ZN105_$LT$std..collections..hash..map..Iter$LT$K$C$V$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h734114749e029e79E.exit.i.i" ] - %.lcssa2230.i.i = phi ptr [ %28, %"_ZN105_$LT$std..collections..hash..map..Iter$LT$K$C$V$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h734114749e029e79E.exit.thread26.i.i" ], [ %.lcssa23.i.i, %"_ZN105_$LT$std..collections..hash..map..Iter$LT$K$C$V$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h734114749e029e79E.exit.i.i" ] +._crit_edge21.i.i.i.i.i.i:; preds = %"_ZN105_$LT$std..collections..hash..map..Iter$LT$K$C$V$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h734114749e029e79E.exit.thread26.i.i", %19 + %.lcssa22.i.i = phi ptr [ %26, %._crit_edge.i.i.i.i.i.i ], [ %.lcssa23.i.i, %19 ] + %.lcssa1518.i.i = phi ptr [ %25, %._crit_edge.i.i.i.i.i.i ], [ %.lcssa1519.i.i, %19 ] + %.lcssa.i.i.i.i.i.i = phi i16 [ %20, %._crit_edge.i.i.i.i.i.i ], [ %16, %19 ] + %27 = call range(i16 0, 17) i16 @llvm.cttz.i16(i16 %.lcssa.i.i.i.i.i.i, i1 true) + %28 = zext nneg i16 %27 to i64 + %29 = add i16 %.lcssa.i.i.i.i.i.i, -1 + %30 = and i16 %29, %.lcssa.i.i.i.i.i.i + %31 = sub nsw i64 0, %28 + %32 = getelementptr inbounds { { { { ptr, i64 }, i64 } }, { { { ptr, i64 }, i64 } } }, ptr %.lcssa1518.i.i, i64 %31 %33 = add i64 %17, -1 - %34 = call range(i16 0, 17) i16 @llvm.cttz.i16(i16 %.lcssa.i.i.i.i32.i.i, i1 true) - %35 = zext nneg i16 %34 to i64 - %36 = sub nsw i64 0, %35 - %37 = getelementptr inbounds { { { { ptr, i64 }, i64 } }, { { { ptr, i64 }, i64 } } }, ptr %.lcssa151831.i.i, i64 %36 - %38 = getelementptr inbounds i8, ptr %37, i64 -24 - %39 = getelementptr inbounds i8, ptr %37, i64 -48 - %.fca.0.extract.val.i.i = load ptr, ptr %39, align 8, !alias.scope !412, !noalias !417, !nonnull !4, !noundef !4 - %40 = getelementptr i8, ptr %37, i64 -32 - %.fca.0.extract.val7.i.i = load i64, ptr %40, align 8, !alias.scope !412, !noalias !417, !noundef !4 - %.fca.1.extract.val.i.i = load ptr, ptr %38, align 8, !noalias !422 - %41 = getelementptr i8, ptr %37, i64 -8 - %.fca.1.extract.val8.i.i = load i64, ptr %41, align 8, !noalias !422 + %34 = getelementptr inbounds i8, ptr %32, i64 -48 + %35 = getelementptr inbounds i8, ptr %32, i64 -24 + %.fca.0.extract.val.i.i = load ptr, ptr %34, align 8, !alias.scope !412, !noalias !417, !nonnull !4, !noundef !4 + %37 = getelementptr i8, ptr %32, i64 -32 + %.fca.0.extract.val7.i.i = load i64, ptr %37, align 8, !alias.scope !412, !noalias !417, !noundef !4 + %.fca.1.extract.val.i.i = load ptr, ptr %35, align 8, !noalias !422 + %37 = getelementptr i8, ptr %32, i64 -8 + %.fca.1.extract.val8.i.i = load i64, ptr %37, align 8, !noalias !422 call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %3), !noalias !423 store i64 %.fca.0.extract.val7.i.i, ptr %3, align 8, !noalias !423 %42 = call noundef align 8 ptr @"_ZN58_$LT$serde_bare..Uint$u20$as$u20$serde..ser..Serialize$GT$9serialize17h5bde4b70cb5c5a1aE"(ptr noalias noundef nonnull readonly align 8 dereferenceable(8) %3, ptr noalias noundef nonnull align 8 dereferenceable(8) %spec.select.i), !noalias !435 @@ -2576,7 +2570,7 @@ define hidden noundef align 8 ptr @_ZN5serde3ser10Serializer11collect_map17hde6e call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %3), !noalias !423 br i1 %43, label %"_ZN93_$LT$$RF$mut$u20$serde_bare..ser..Serializer$LT$W$GT$$u20$as$u20$serde..ser..SerializeMap$GT$13serialize_key17he6dbc95acc3af286E.exit.i.i.i.i.i", label %_ZN4core4iter6traits8iterator8Iterator12try_for_each17h560ab85ee310342dE.exit -"_ZN93_$LT$$RF$mut$u20$serde_bare..ser..Serializer$LT$W$GT$$u20$as$u20$serde..ser..SerializeMap$GT$13serialize_key17he6dbc95acc3af286E.exit.i.i.i.i.i": ; preds = %31 +"_ZN93_$LT$$RF$mut$u20$serde_bare..ser..Serializer$LT$W$GT$$u20$as$u20$serde..ser..SerializeMap$GT$13serialize_key17he6dbc95acc3af286E.exit.i.i.i.i.i": ; preds = %._crit_edge21.i.i.i.i.i.i %44 = call noundef align 8 ptr @"_ZN68_$LT$serde_bare..ser..VecWrite$u20$as$u20$serde_bare..ser..Write$GT$9write_all17h6197d76a10dcff5eE"(ptr noalias noundef nonnull align 8 dereferenceable(8) %spec.select.i, ptr noalias noundef nonnull readonly align 1 %.fca.0.extract.val.i.i, i64 noundef %.fca.0.extract.val7.i.i), !noalias !436 %45 = icmp eq ptr %44, null br i1 %45, label %46, label %_ZN4core4iter6traits8iterator8Iterator12try_for_each17h560ab85ee310342dE.exit @@ -2596,8 +2590,8 @@ define hidden noundef align 8 ptr @_ZN5serde3ser10Serializer11collect_map17hde6e %51 = icmp eq ptr %50, null br i1 %51, label %.preheader, label %_ZN4core4iter6traits8iterator8Iterator12try_for_each17h560ab85ee310342dE.exit -_ZN4core4iter6traits8iterator8Iterator12try_for_each17h560ab85ee310342dE.exit: ; preds = %"_ZN93_$LT$$RF$mut$u20$serde_bare..ser..Serializer$LT$W$GT$$u20$as$u20$serde..ser..SerializeMap$GT$13serialize_key17he6dbc95acc3af286E.exit.i.i.i.i.i", %46, %31, %"_ZN4core4iter6traits8iterator8Iterator12try_for_each4call28_$u7b$$u7b$closure$u7d$$u7d$17h7aa446447e432a13E.exit.i.i", %.preheader, %"_ZN91_$LT$$RF$mut$u20$serde_bare..ser..Serializer$LT$W$GT$$u20$as$u20$serde..ser..Serializer$GT$13serialize_map17h8d02efbe85033b0dE.exit" - %.1 = phi ptr [ %11, %"_ZN91_$LT$$RF$mut$u20$serde_bare..ser..Serializer$LT$W$GT$$u20$as$u20$serde..ser..Serializer$GT$13serialize_map17h8d02efbe85033b0dE.exit" ], [ %50, %"_ZN4core4iter6traits8iterator8Iterator12try_for_each4call28_$u7b$$u7b$closure$u7d$$u7d$17h7aa446447e432a13E.exit.i.i" ], [ %42, %31 ], [ %48, %46 ], [ %44, %"_ZN93_$LT$$RF$mut$u20$serde_bare..ser..Serializer$LT$W$GT$$u20$as$u20$serde..ser..SerializeMap$GT$13serialize_key17he6dbc95acc3af286E.exit.i.i.i.i.i" ], [ null, %.preheader ] +_ZN4core4iter6traits8iterator8Iterator12try_for_each17h560ab85ee310342dE.exit: ; preds = %"_ZN93_$LT$$RF$mut$u20$serde_bare..ser..Serializer$LT$W$GT$$u20$as$u20$serde..ser..SerializeMap$GT$13serialize_key17he6dbc95acc3af286E.exit.i.i.i.i.i", %46, %._crit_edge21.i.i.i.i.i.i, %"_ZN4core4iter6traits8iterator8Iterator12try_for_each4call28_$u7b$$u7b$closure$u7d$$u7d$17h7aa446447e432a13E.exit.i.i", %.preheader, %"_ZN91_$LT$$RF$mut$u20$serde_bare..ser..Serializer$LT$W$GT$$u20$as$u20$serde..ser..Serializer$GT$13serialize_map17h8d02efbe85033b0dE.exit" + %.1 = phi ptr [ %11, %"_ZN91_$LT$$RF$mut$u20$serde_bare..ser..Serializer$LT$W$GT$$u20$as$u20$serde..ser..Serializer$GT$13serialize_map17h8d02efbe85033b0dE.exit" ], [ %50, %"_ZN4core4iter6traits8iterator8Iterator12try_for_each4call28_$u7b$$u7b$closure$u7d$$u7d$17h7aa446447e432a13E.exit.i.i" ], [ %42, %._crit_edge21.i.i.i.i.i.i ], [ %48, %42 ], [ %44, %"_ZN93_$LT$$RF$mut$u20$serde_bare..ser..Serializer$LT$W$GT$$u20$as$u20$serde..ser..SerializeMap$GT$13serialize_key17he6dbc95acc3af286E.exit.i.i.i.i.i" ], [ null, %.preheader ] ret ptr %.1 } @@ -4460,7 +4454,7 @@ define hidden void @"_ZN9hashbrown3map28HashMap$LT$K$C$V$C$S$C$A$GT$6insert17h5f %90 = zext nneg i16 %89 to i64 call void @llvm.assume(i1 %.not.i.i.i) %.phi.trans.insert = getelementptr inbounds nuw i8, ptr %.val.i, i64 %90 - %.pre = load i8, ptr %.phi.trans.insert, align 1, !noalias !1045 + %.pre = load i8, ptr %.phi.trans.insert, align 1, !noalias !1045, !noundef !4 br label %.thread .thread: ; preds = %85, %80 @@ -5177,7 +5171,7 @@ define hidden void @"_ZN9hashbrown3raw21RawTable$LT$T$C$A$GT$13drop_elements17h0 %.not.not.i.i.i = icmp eq i16 %17, -1 br i1 %.not.not.i.i.i, label %.lr.ph.i.i, label %._crit_edge.i.i -"_ZN91_$LT$hashbrown..raw..RawIter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h9a7e84f505ccccd9E.llvm.3813328669972553637.exit": ; preds = %._crit_edge.i.i, %12 +"_ZN91_$LT$hashbrown..raw..RawIter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h9a7e84f505ccccd9E.llvm.3813328669972553637.exit": ; preds = %12, %._crit_edge.i.i %.sroa.08.1 = phi ptr [ %18, %._crit_edge.i.i ], [ %.sroa.08.017, %12 ] %.sroa.69.1 = phi ptr [ %19, %._crit_edge.i.i ], [ %.sroa.69.018, %12 ] %.lcssa.i.i = phi i16 [ %13, %._crit_edge.i.i ], [ %.sroa.10.019, %12 ] @@ -5250,7 +5244,7 @@ define hidden void @"_ZN9hashbrown3raw21RawTable$LT$T$C$A$GT$13drop_elements17h5 %.not.not.i.i.i = icmp eq i16 %17, -1 br i1 %.not.not.i.i.i, label %.lr.ph.i.i, label %._crit_edge.i.i -"_ZN91_$LT$hashbrown..raw..RawIter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h721ce25833973516E.llvm.3813328669972553637.exit": ; preds = %._crit_edge.i.i, %12 +"_ZN91_$LT$hashbrown..raw..RawIter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h721ce25833973516E.llvm.3813328669972553637.exit": ; preds = %12, %._crit_edge.i.i %.sroa.08.1 = phi ptr [ %18, %._crit_edge.i.i ], [ %.sroa.08.021, %12 ] %.sroa.69.1 = phi ptr [ %19, %._crit_edge.i.i ], [ %.sroa.69.022, %12 ] %.lcssa.i.i = phi i16 [ %13, %._crit_edge.i.i ], [ %.sroa.10.023, %12 ] @@ -5369,7 +5363,7 @@ define hidden void @"_ZN9hashbrown3raw21RawTable$LT$T$C$A$GT$13drop_elements17h5 %.not.not.i.i.i = icmp eq i16 %17, -1 br i1 %.not.not.i.i.i, label %.lr.ph.i.i, label %._crit_edge.i.i -"_ZN91_$LT$hashbrown..raw..RawIter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h80a87d355991b105E.llvm.3813328669972553637.exit": ; preds = %._crit_edge.i.i, %12 +"_ZN91_$LT$hashbrown..raw..RawIter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h80a87d355991b105E.llvm.3813328669972553637.exit": ; preds = %12, %._crit_edge.i.i %.sroa.08.1 = phi ptr [ %18, %._crit_edge.i.i ], [ %.sroa.08.017, %12 ] %.sroa.69.1 = phi ptr [ %19, %._crit_edge.i.i ], [ %.sroa.69.018, %12 ] %.lcssa.i.i = phi i16 [ %13, %._crit_edge.i.i ], [ %.sroa.10.019, %12 ] @@ -5460,7 +5454,7 @@ define hidden void @"_ZN9hashbrown3raw21RawTable$LT$T$C$A$GT$13drop_elements17h7 %.not.not.i.i.i = icmp eq i16 %17, -1 br i1 %.not.not.i.i.i, label %.lr.ph.i.i, label %._crit_edge.i.i -"_ZN91_$LT$hashbrown..raw..RawIter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0b6fd0042a85549bE.llvm.3813328669972553637.exit": ; preds = %._crit_edge.i.i, %12 +"_ZN91_$LT$hashbrown..raw..RawIter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0b6fd0042a85549bE.llvm.3813328669972553637.exit": ; preds = %12, %._crit_edge.i.i %.sroa.08.1 = phi ptr [ %18, %._crit_edge.i.i ], [ %.sroa.08.019, %12 ] %.sroa.69.1 = phi ptr [ %19, %._crit_edge.i.i ], [ %.sroa.69.020, %12 ] %.lcssa.i.i = phi i16 [ %13, %._crit_edge.i.i ], [ %.sroa.10.021, %12 ] @@ -5662,7 +5656,7 @@ _ZN9hashbrown3raw11TableLayout20calculate_layout_for17hb6e79ba0f31224c4E.llvm.38 %79 = getelementptr inbounds nuw i8, ptr %8, i64 8 %80 = getelementptr inbounds nuw i8, ptr %8, i64 16 %invariant.gep56 = getelementptr i8, ptr %64, i64 -48 - %.pre64 = load ptr, ptr %0, align 8, !alias.scope !1386 + %.pre64 = load ptr, ptr %0, align 8, !alias.scope !1386, !nonnull !4, !noundef !4 %invariant.gep71 = getelementptr i8, ptr %.pre64, i64 -48 br label %83 @@ -5940,7 +5934,7 @@ common.resume: ; preds = %177, %81 br label %_ZN4core3ptr19swap_nonoverlapping17he9f43d129e006ef1E.exit.i _ZN4core3ptr19swap_nonoverlapping17he9f43d129e006ef1E.exit.loopexit.i: ; preds = %.preheader.i - %.pre.i22 = load ptr, ptr %0, align 8, !alias.scope !1464, !noalias !1467 + %.pre.i22 = load ptr, ptr %0, align 8, !alias.scope !1464, !noalias !1467, !nonnull !4, !noundef !4 br label %_ZN4core3ptr19swap_nonoverlapping17he9f43d129e006ef1E.exit.i _ZN4core3ptr19swap_nonoverlapping17he9f43d129e006ef1E.exit.i: ; preds = %_ZN4core3ptr19swap_nonoverlapping17he9f43d129e006ef1E.exit.loopexit.i, %184 @@ -6126,14 +6120,13 @@ _ZN4core3ptr19swap_nonoverlapping17he9f43d129e006ef1E.exit.i: ; preds = %_ZN4cor unreachable "_ZN9hashbrown3raw22RawTableInner$LT$A$GT$15rehash_in_place17h53299f273ebf92f0E.exit": ; preds = %271 - %.pre16.i = load i64, ptr %22, align 8, !alias.scope !1455 - %.pre16.i.fr = freeze i64 %.pre16.i - %.pre17.i = add i64 %.pre16.i.fr, 1 + %.pre16.i = load i64, ptr %22, align 8, !alias.scope !1455, !noundef !4 + %.pre17.i = add i64 %.pre16.i, 1 %274 = lshr i64 %.pre17.i, 3 %275 = mul nuw i64 %274, 7 - %276 = icmp ult i64 %.pre16.i.fr, 8 - %spec.select = select i1 %276, i64 %.pre16.i.fr, i64 %275 - %.pre = load i64, ptr %13, align 8, !alias.scope !1455 + %276 = icmp ult i64 %.pre16.i, 8 + %spec.select = select i1 %276, i64 %.pre16.i, i64 %275 + %.pre = load i64, ptr %13, align 8, !alias.scope !1455, !noundef !4 br label %"_ZN9hashbrown3raw22RawTableInner$LT$A$GT$15rehash_in_place17h53299f273ebf92f0E.exit.thread" "_ZN9hashbrown3raw22RawTableInner$LT$A$GT$15rehash_in_place17h53299f273ebf92f0E.exit.thread": ; preds = %"_ZN9hashbrown3raw22RawTableInner$LT$A$GT$15rehash_in_place17h53299f273ebf92f0E.exit", %"_ZN9hashbrown3raw22RawTableInner$LT$A$GT$23prepare_rehash_in_place17h4651da9638635dfaE.exit.i" diff --git a/bench/ockam-rs/optimized/2n0s7h3mrzul4f05.ll b/bench/ockam-rs/optimized/2n0s7h3mrzul4f05.ll index f860736c0ef..dd067fd327e 100644 --- a/bench/ockam-rs/optimized/2n0s7h3mrzul4f05.ll +++ b/bench/ockam-rs/optimized/2n0s7h3mrzul4f05.ll @@ -2308,7 +2308,7 @@ define hidden void @"_ZN9hashbrown3raw21RawTable$LT$T$C$A$GT$13drop_elements17h5 %.not.not.i.i.i = icmp eq i16 %20, -1 br i1 %.not.not.i.i.i, label %.lr.ph.i.i, label %._crit_edge.i.i -"_ZN91_$LT$hashbrown..raw..RawIter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h28af986bbe68bb08E.llvm.11690005711451335602.exit": ; preds = %._crit_edge.i.i, %15 +"_ZN91_$LT$hashbrown..raw..RawIter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h28af986bbe68bb08E.llvm.11690005711451335602.exit": ; preds = %15, %._crit_edge.i.i %.sroa.08.1 = phi ptr [ %21, %._crit_edge.i.i ], [ %.sroa.08.017, %15 ] %.sroa.69.1 = phi ptr [ %22, %._crit_edge.i.i ], [ %.sroa.69.018, %15 ] %.lcssa.i.i = phi i16 [ %16, %._crit_edge.i.i ], [ %.sroa.10.019, %15 ] @@ -2388,7 +2388,7 @@ define hidden void @"_ZN9hashbrown3raw21RawTable$LT$T$C$A$GT$13drop_elements17h5 %.not.not.i.i.i = icmp eq i16 %20, -1 br i1 %.not.not.i.i.i, label %.lr.ph.i.i, label %._crit_edge.i.i -"_ZN91_$LT$hashbrown..raw..RawIter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h8568feb4e1915e00E.llvm.11690005711451335602.exit": ; preds = %._crit_edge.i.i, %15 +"_ZN91_$LT$hashbrown..raw..RawIter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h8568feb4e1915e00E.llvm.11690005711451335602.exit": ; preds = %15, %._crit_edge.i.i %.sroa.08.1 = phi ptr [ %21, %._crit_edge.i.i ], [ %.sroa.08.017, %15 ] %.sroa.69.1 = phi ptr [ %22, %._crit_edge.i.i ], [ %.sroa.69.018, %15 ] %.lcssa.i.i = phi i16 [ %16, %._crit_edge.i.i ], [ %.sroa.10.019, %15 ] @@ -2478,7 +2478,7 @@ define hidden void @"_ZN9hashbrown3raw21RawTable$LT$T$C$A$GT$13drop_elements17h6 %.not.not.i.i.i = icmp eq i16 %17, -1 br i1 %.not.not.i.i.i, label %.lr.ph.i.i, label %._crit_edge.i.i -"_ZN91_$LT$hashbrown..raw..RawIter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17he5ebf41d6e14af76E.llvm.11690005711451335602.exit": ; preds = %._crit_edge.i.i, %12 +"_ZN91_$LT$hashbrown..raw..RawIter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17he5ebf41d6e14af76E.llvm.11690005711451335602.exit": ; preds = %12, %._crit_edge.i.i %.sroa.08.1 = phi ptr [ %18, %._crit_edge.i.i ], [ %.sroa.08.019, %12 ] %.sroa.69.1 = phi ptr [ %19, %._crit_edge.i.i ], [ %.sroa.69.020, %12 ] %.lcssa.i.i = phi i16 [ %13, %._crit_edge.i.i ], [ %.sroa.10.021, %12 ] @@ -2568,7 +2568,7 @@ define hidden void @"_ZN9hashbrown3raw21RawTable$LT$T$C$A$GT$13drop_elements17h7 %.not.not.i.i.i = icmp eq i16 %18, -1 br i1 %.not.not.i.i.i, label %.lr.ph.i.i, label %._crit_edge.i.i -"_ZN91_$LT$hashbrown..raw..RawIter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h79e08fad7bf630a0E.exit": ; preds = %12, %._crit_edge.i.i +"_ZN91_$LT$hashbrown..raw..RawIter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h79e08fad7bf630a0E.exit": ; preds = %._crit_edge.i.i, %12 %.sroa.08.1 = phi ptr [ %19, %._crit_edge.i.i ], [ %.sroa.08.017, %12 ] %.sroa.69.1 = phi ptr [ %20, %._crit_edge.i.i ], [ %.sroa.69.018, %12 ] %.lcssa.i.i = phi i16 [ %13, %._crit_edge.i.i ], [ %.sroa.10.019, %12 ] @@ -2628,7 +2628,7 @@ define hidden void @"_ZN9hashbrown3raw21RawTable$LT$T$C$A$GT$13drop_elements17hc %.not.not.i.i.i = icmp eq i16 %17, -1 br i1 %.not.not.i.i.i, label %.lr.ph.i.i, label %._crit_edge.i.i -"_ZN91_$LT$hashbrown..raw..RawIter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h9601ccc1c852331bE.llvm.11690005711451335602.exit": ; preds = %._crit_edge.i.i, %12 +"_ZN91_$LT$hashbrown..raw..RawIter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h9601ccc1c852331bE.llvm.11690005711451335602.exit": ; preds = %12, %._crit_edge.i.i %.sroa.08.1 = phi ptr [ %18, %._crit_edge.i.i ], [ %.sroa.08.021, %12 ] %.sroa.69.1 = phi ptr [ %19, %._crit_edge.i.i ], [ %.sroa.69.022, %12 ] %.lcssa.i.i = phi i16 [ %13, %._crit_edge.i.i ], [ %.sroa.10.023, %12 ] @@ -2750,7 +2750,7 @@ define hidden void @"_ZN9hashbrown3raw21RawTable$LT$T$C$A$GT$13drop_elements17hc %.not.not.i.i.i = icmp eq i16 %20, -1 br i1 %.not.not.i.i.i, label %.lr.ph.i.i, label %._crit_edge.i.i -"_ZN91_$LT$hashbrown..raw..RawIter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17he48251ae3ef3694fE.llvm.11690005711451335602.exit": ; preds = %._crit_edge.i.i, %15 +"_ZN91_$LT$hashbrown..raw..RawIter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17he48251ae3ef3694fE.llvm.11690005711451335602.exit": ; preds = %15, %._crit_edge.i.i %.sroa.08.1 = phi ptr [ %21, %._crit_edge.i.i ], [ %.sroa.08.017, %15 ] %.sroa.69.1 = phi ptr [ %22, %._crit_edge.i.i ], [ %.sroa.69.018, %15 ] %.lcssa.i.i = phi i16 [ %16, %._crit_edge.i.i ], [ %.sroa.10.019, %15 ] @@ -2827,7 +2827,7 @@ define hidden void @"_ZN9hashbrown3raw21RawTable$LT$T$C$A$GT$13drop_elements17hd %.not.not.i.i.i = icmp eq i16 %17, -1 br i1 %.not.not.i.i.i, label %.lr.ph.i.i, label %._crit_edge.i.i -"_ZN91_$LT$hashbrown..raw..RawIter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h1e28904422781b5fE.llvm.11690005711451335602.exit": ; preds = %12, %._crit_edge.i.i +"_ZN91_$LT$hashbrown..raw..RawIter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h1e28904422781b5fE.llvm.11690005711451335602.exit": ; preds = %._crit_edge.i.i, %12 %.sroa.08.1 = phi ptr [ %18, %._crit_edge.i.i ], [ %.sroa.08.017, %12 ] %.sroa.69.1 = phi ptr [ %19, %._crit_edge.i.i ], [ %.sroa.69.018, %12 ] %.lcssa.i.i = phi i16 [ %13, %._crit_edge.i.i ], [ %.sroa.10.019, %12 ] @@ -2890,7 +2890,7 @@ define hidden void @"_ZN9hashbrown3raw21RawTable$LT$T$C$A$GT$13drop_elements17hf %.not.not.i.i.i = icmp eq i16 %20, -1 br i1 %.not.not.i.i.i, label %.lr.ph.i.i, label %._crit_edge.i.i -"_ZN91_$LT$hashbrown..raw..RawIter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17hf28b4e7644bced19E.llvm.11690005711451335602.exit": ; preds = %._crit_edge.i.i, %15 +"_ZN91_$LT$hashbrown..raw..RawIter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17hf28b4e7644bced19E.llvm.11690005711451335602.exit": ; preds = %15, %._crit_edge.i.i %.sroa.08.1 = phi ptr [ %21, %._crit_edge.i.i ], [ %.sroa.08.018, %15 ] %.sroa.69.1 = phi ptr [ %22, %._crit_edge.i.i ], [ %.sroa.69.019, %15 ] %.lcssa.i.i = phi i16 [ %16, %._crit_edge.i.i ], [ %.sroa.10.020, %15 ] @@ -3113,7 +3113,7 @@ define hidden { i64, i64 } @"_ZN9hashbrown3raw21RawTable$LT$T$C$A$GT$14reserve_r %81 = getelementptr inbounds nuw i8, ptr %10, i64 8 %82 = getelementptr inbounds nuw i8, ptr %10, i64 16 %invariant.gep56 = getelementptr i8, ptr %66, i64 -48 - %.pre64 = load ptr, ptr %0, align 8, !alias.scope !721 + %.pre64 = load ptr, ptr %0, align 8, !alias.scope !721, !nonnull !4, !noundef !4 %invariant.gep71 = getelementptr i8, ptr %.pre64, i64 -48 br label %85 @@ -3392,7 +3392,7 @@ common.resume: ; preds = %179, %83 br label %_ZN4core3ptr19swap_nonoverlapping17h7847db899c21a232E.exit.i _ZN4core3ptr19swap_nonoverlapping17h7847db899c21a232E.exit.loopexit.i: ; preds = %.preheader.i - %.pre.i22 = load ptr, ptr %0, align 8, !alias.scope !799, !noalias !802 + %.pre.i22 = load ptr, ptr %0, align 8, !alias.scope !799, !noalias !802, !nonnull !4, !noundef !4 br label %_ZN4core3ptr19swap_nonoverlapping17h7847db899c21a232E.exit.i _ZN4core3ptr19swap_nonoverlapping17h7847db899c21a232E.exit.i: ; preds = %_ZN4core3ptr19swap_nonoverlapping17h7847db899c21a232E.exit.loopexit.i, %186 @@ -3578,14 +3578,13 @@ _ZN4core3ptr19swap_nonoverlapping17h7847db899c21a232E.exit.i: ; preds = %_ZN4cor unreachable "_ZN9hashbrown3raw22RawTableInner$LT$A$GT$15rehash_in_place17h2cb15f3faa534c7bE.exit": ; preds = %273 - %.pre16.i = load i64, ptr %23, align 8, !alias.scope !790 - %.pre16.i.fr = freeze i64 %.pre16.i - %.pre17.i = add i64 %.pre16.i.fr, 1 + %.pre16.i = load i64, ptr %23, align 8, !alias.scope !790, !noundef !4 + %.pre17.i = add i64 %.pre16.i, 1 %276 = lshr i64 %.pre17.i, 3 %277 = mul nuw i64 %276, 7 - %278 = icmp ult i64 %.pre16.i.fr, 8 - %spec.select = select i1 %278, i64 %.pre16.i.fr, i64 %277 - %.pre = load i64, ptr %15, align 8, !alias.scope !790 + %278 = icmp ult i64 %.pre16.i, 8 + %spec.select = select i1 %278, i64 %.pre16.i, i64 %277 + %.pre = load i64, ptr %15, align 8, !alias.scope !790, !noundef !4 br label %"_ZN9hashbrown3raw22RawTableInner$LT$A$GT$15rehash_in_place17h2cb15f3faa534c7bE.exit.thread" "_ZN9hashbrown3raw22RawTableInner$LT$A$GT$15rehash_in_place17h2cb15f3faa534c7bE.exit.thread": ; preds = %"_ZN9hashbrown3raw22RawTableInner$LT$A$GT$15rehash_in_place17h2cb15f3faa534c7bE.exit", %"_ZN9hashbrown3raw22RawTableInner$LT$A$GT$23prepare_rehash_in_place17h9b8258696931fbc2E.exit.i" diff --git a/bench/ockam-rs/optimized/548tb0vgebzwk35z.ll b/bench/ockam-rs/optimized/548tb0vgebzwk35z.ll index 60bd1ea23a3..6209f3ec3fc 100644 --- a/bench/ockam-rs/optimized/548tb0vgebzwk35z.ll +++ b/bench/ockam-rs/optimized/548tb0vgebzwk35z.ll @@ -1873,7 +1873,7 @@ define hidden void @"_ZN9hashbrown3raw21RawTable$LT$T$C$A$GT$13drop_elements17h0 %.not.not.i.i.i = icmp eq i16 %17, -1 br i1 %.not.not.i.i.i, label %.lr.ph.i.i, label %._crit_edge.i.i -"_ZN91_$LT$hashbrown..raw..RawIter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17hdbbe99e464d866dcE.llvm.9199192478571720831.exit": ; preds = %._crit_edge.i.i, %12 +"_ZN91_$LT$hashbrown..raw..RawIter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17hdbbe99e464d866dcE.llvm.9199192478571720831.exit": ; preds = %12, %._crit_edge.i.i %.sroa.08.1 = phi ptr [ %18, %._crit_edge.i.i ], [ %.sroa.08.017, %12 ] %.sroa.69.1 = phi ptr [ %19, %._crit_edge.i.i ], [ %.sroa.69.018, %12 ] %.lcssa.i.i = phi i16 [ %13, %._crit_edge.i.i ], [ %.sroa.10.019, %12 ] @@ -1946,7 +1946,7 @@ define hidden void @"_ZN9hashbrown3raw21RawTable$LT$T$C$A$GT$13drop_elements17h4 %.not.not.i.i.i = icmp eq i16 %17, -1 br i1 %.not.not.i.i.i, label %.lr.ph.i.i, label %._crit_edge.i.i -"_ZN91_$LT$hashbrown..raw..RawIter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h9fa841dc2ef36951E.llvm.9199192478571720831.exit": ; preds = %._crit_edge.i.i, %12 +"_ZN91_$LT$hashbrown..raw..RawIter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h9fa841dc2ef36951E.llvm.9199192478571720831.exit": ; preds = %12, %._crit_edge.i.i %.sroa.08.1 = phi ptr [ %18, %._crit_edge.i.i ], [ %.sroa.08.017, %12 ] %.sroa.69.1 = phi ptr [ %19, %._crit_edge.i.i ], [ %.sroa.69.018, %12 ] %.lcssa.i.i = phi i16 [ %13, %._crit_edge.i.i ], [ %.sroa.10.019, %12 ] @@ -2019,7 +2019,7 @@ define hidden void @"_ZN9hashbrown3raw21RawTable$LT$T$C$A$GT$13drop_elements17hc %.not.not.i.i.i = icmp eq i16 %17, -1 br i1 %.not.not.i.i.i, label %.lr.ph.i.i, label %._crit_edge.i.i -"_ZN91_$LT$hashbrown..raw..RawIter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h24d14ee85dda3eecE.llvm.9199192478571720831.exit": ; preds = %._crit_edge.i.i, %12 +"_ZN91_$LT$hashbrown..raw..RawIter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h24d14ee85dda3eecE.llvm.9199192478571720831.exit": ; preds = %12, %._crit_edge.i.i %.sroa.08.1 = phi ptr [ %18, %._crit_edge.i.i ], [ %.sroa.08.017, %12 ] %.sroa.69.1 = phi ptr [ %19, %._crit_edge.i.i ], [ %.sroa.69.018, %12 ] %.lcssa.i.i = phi i16 [ %13, %._crit_edge.i.i ], [ %.sroa.10.019, %12 ] @@ -2093,7 +2093,7 @@ define hidden void @"_ZN9hashbrown3raw21RawTable$LT$T$C$A$GT$13drop_elements17hc %.not.not.i.i.i = icmp eq i16 %18, -1 br i1 %.not.not.i.i.i, label %.lr.ph.i.i, label %._crit_edge.i.i -"_ZN91_$LT$hashbrown..raw..RawIter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h1afc607529bee8d9E.exit": ; preds = %12, %._crit_edge.i.i +"_ZN91_$LT$hashbrown..raw..RawIter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h1afc607529bee8d9E.exit": ; preds = %._crit_edge.i.i, %12 %.sroa.08.1 = phi ptr [ %19, %._crit_edge.i.i ], [ %.sroa.08.017, %12 ] %.sroa.69.1 = phi ptr [ %20, %._crit_edge.i.i ], [ %.sroa.69.018, %12 ] %.lcssa.i.i = phi i16 [ %13, %._crit_edge.i.i ], [ %.sroa.10.019, %12 ] @@ -2311,7 +2311,7 @@ define hidden { i64, i64 } @"_ZN9hashbrown3raw21RawTable$LT$T$C$A$GT$14reserve_r %81 = getelementptr inbounds nuw i8, ptr %10, i64 8 %82 = getelementptr inbounds nuw i8, ptr %10, i64 16 %invariant.gep56 = getelementptr i8, ptr %66, i64 -48 - %.pre64 = load ptr, ptr %0, align 8, !alias.scope !484 + %.pre64 = load ptr, ptr %0, align 8, !alias.scope !484, !nonnull !4, !noundef !4 %invariant.gep71 = getelementptr i8, ptr %.pre64, i64 -48 br label %85 @@ -2590,7 +2590,7 @@ common.resume: ; preds = %179, %83 br label %_ZN4core3ptr19swap_nonoverlapping17h42e16f7ceac18271E.exit.i _ZN4core3ptr19swap_nonoverlapping17h42e16f7ceac18271E.exit.loopexit.i: ; preds = %.preheader.i - %.pre.i22 = load ptr, ptr %0, align 8, !alias.scope !562, !noalias !565 + %.pre.i22 = load ptr, ptr %0, align 8, !alias.scope !562, !noalias !565, !nonnull !4, !noundef !4 br label %_ZN4core3ptr19swap_nonoverlapping17h42e16f7ceac18271E.exit.i _ZN4core3ptr19swap_nonoverlapping17h42e16f7ceac18271E.exit.i: ; preds = %_ZN4core3ptr19swap_nonoverlapping17h42e16f7ceac18271E.exit.loopexit.i, %186 @@ -2776,14 +2776,13 @@ _ZN4core3ptr19swap_nonoverlapping17h42e16f7ceac18271E.exit.i: ; preds = %_ZN4cor unreachable "_ZN9hashbrown3raw22RawTableInner$LT$A$GT$15rehash_in_place17h6526af38ed7828bbE.exit": ; preds = %273 - %.pre16.i = load i64, ptr %23, align 8, !alias.scope !553 - %.pre16.i.fr = freeze i64 %.pre16.i - %.pre17.i = add i64 %.pre16.i.fr, 1 + %.pre16.i = load i64, ptr %23, align 8, !alias.scope !553, !noundef !4 + %.pre17.i = add i64 %.pre16.i, 1 %276 = lshr i64 %.pre17.i, 3 %277 = mul nuw i64 %276, 7 - %278 = icmp ult i64 %.pre16.i.fr, 8 - %spec.select = select i1 %278, i64 %.pre16.i.fr, i64 %277 - %.pre = load i64, ptr %15, align 8, !alias.scope !553 + %278 = icmp ult i64 %.pre16.i, 8 + %spec.select = select i1 %278, i64 %.pre16.i, i64 %277 + %.pre = load i64, ptr %15, align 8, !alias.scope !553, !noundef !4 br label %"_ZN9hashbrown3raw22RawTableInner$LT$A$GT$15rehash_in_place17h6526af38ed7828bbE.exit.thread" "_ZN9hashbrown3raw22RawTableInner$LT$A$GT$15rehash_in_place17h6526af38ed7828bbE.exit.thread": ; preds = %"_ZN9hashbrown3raw22RawTableInner$LT$A$GT$15rehash_in_place17h6526af38ed7828bbE.exit", %"_ZN9hashbrown3raw22RawTableInner$LT$A$GT$23prepare_rehash_in_place17hbce7ce9d9e9df9a7E.exit.i" diff --git a/bench/ockam-rs/optimized/u4cgd14nodyt386.ll b/bench/ockam-rs/optimized/u4cgd14nodyt386.ll index 42f205ee3a2..46ededa65d4 100644 --- a/bench/ockam-rs/optimized/u4cgd14nodyt386.ll +++ b/bench/ockam-rs/optimized/u4cgd14nodyt386.ll @@ -1247,7 +1247,7 @@ default.unreachable.i.i.i.i.i: ; preds = %74 call void @llvm.memmove.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %395, ptr noundef nonnull align 8 dereferenceable(24) %26, i64 24, i1 false), !noalias !277 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %28, ptr noundef nonnull align 8 dereferenceable(24) %.sroa.015.i, i64 24, i1 false), !noalias !281 call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %.sroa.015.i) - %.pr = load ptr, ptr %28, align 8, !alias.scope !282 + %.pr = load ptr, ptr %28, align 8, !alias.scope !282, !noundef !4 call void @llvm.lifetime.end.p0(i64 56, ptr nonnull %24) call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %26) call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %27) @@ -2450,7 +2450,7 @@ default.unreachable.i.i.i.i.i: ; preds = %78 call void @llvm.memmove.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %399, ptr noundef nonnull align 8 dereferenceable(24) %30, i64 24, i1 false), !noalias !561 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %32, ptr noundef nonnull align 8 dereferenceable(24) %28, i64 24, i1 false), !noalias !565 call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %28) - %.pr = load ptr, ptr %32, align 8, !alias.scope !566 + %.pr = load ptr, ptr %32, align 8, !alias.scope !566, !noundef !4 call void @llvm.lifetime.end.p0(i64 56, ptr nonnull %27) call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %30) call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %31) @@ -10021,7 +10021,7 @@ default.unreachable.i.i.i.i: ; preds = %"_ZN72_$LT$ockam_co %33 = getelementptr inbounds nuw i8, ptr %.sroa.0.0.i.i, i64 368 %34 = getelementptr inbounds nuw ptr, ptr %33, i64 %.sroa.4.0.i.ph.sink.i.ph.i.i %35 = add i64 %.sroa.3.0.i.i, -1 - %.sroa.0.0.i.pre.i = load ptr, ptr %34, align 8, !noalias !1895 + %.sroa.0.0.i.pre.i = load ptr, ptr %34, align 8, !noalias !1895, !nonnull !4, !noundef !4 br label %11 "_ZN5alloc11collections5btree3map25BTreeMap$LT$K$C$V$C$A$GT$3get17h45acae854d9f9f65E.llvm.3189713146689755573.exit": ; preds = %31, %"_ZN72_$LT$ockam_core..routing..address..Address$u20$as$u20$core..cmp..Ord$GT$3cmp17h00cbb4d0338e8f6cE.exit.i.i.i.i", %2 @@ -10111,7 +10111,7 @@ default.unreachable.i.i.i.i: ; preds = %"_ZN72_$LT$ockam_co %33 = getelementptr inbounds nuw i8, ptr %.sroa.0.0.i.i, i64 368 %34 = getelementptr inbounds nuw ptr, ptr %33, i64 %.sroa.4.0.i.ph.sink.i.ph.i.i %35 = add i64 %.sroa.3.0.i.i, -1 - %.sroa.0.0.i.pre.i = load ptr, ptr %34, align 8, !noalias !1925 + %.sroa.0.0.i.pre.i = load ptr, ptr %34, align 8, !noalias !1925, !nonnull !4, !noundef !4 br label %11 "_ZN5alloc11collections5btree3map25BTreeMap$LT$K$C$V$C$A$GT$3get17hd97e0d95233fc6b0E.llvm.3189713146689755573.exit": ; preds = %31, %"_ZN72_$LT$ockam_core..routing..address..Address$u20$as$u20$core..cmp..Ord$GT$3cmp17h00cbb4d0338e8f6cE.exit.i.i.i.i", %2 @@ -10201,7 +10201,7 @@ default.unreachable.i.i.i.i: ; preds = %"_ZN72_$LT$ockam_co %33 = getelementptr inbounds nuw i8, ptr %.sroa.0.0.i.i, i64 368 %34 = getelementptr inbounds nuw ptr, ptr %33, i64 %.sroa.4.0.i.ph.sink.i.ph.i.i %35 = add i64 %.sroa.3.0.i.i, -1 - %.sroa.0.0.i.pre.i = load ptr, ptr %34, align 8, !noalias !1955 + %.sroa.0.0.i.pre.i = load ptr, ptr %34, align 8, !noalias !1955, !nonnull !4, !noundef !4 br label %11 "_ZN5alloc11collections5btree3map25BTreeMap$LT$K$C$V$C$A$GT$3get17h916fe63a8ac4987cE.llvm.3189713146689755573.exit": ; preds = %31, %"_ZN72_$LT$ockam_core..routing..address..Address$u20$as$u20$core..cmp..Ord$GT$3cmp17h00cbb4d0338e8f6cE.exit.i.i.i.i", %2 @@ -10292,15 +10292,11 @@ default.unreachable.i.i.i.i: ; preds = %"_ZN72_$LT$ockam_co %35 = getelementptr inbounds nuw i8, ptr %.sroa.0.0.i.i, i64 1072 %36 = getelementptr inbounds nuw ptr, ptr %35, i64 %.sroa.4.0.i.ph.sink.i.ph.i.i %37 = add i64 %.sroa.3.0.i.i, -1 - %.sroa.0.0.i.pre.i = load ptr, ptr %36, align 8, !noalias !1985 + %.sroa.0.0.i.pre.i = load ptr, ptr %36, align 8, !noalias !1985, !nonnull !4, !noundef !4 br label %11 -38: ; preds = %"_ZN72_$LT$ockam_core..routing..address..Address$u20$as$u20$core..cmp..Ord$GT$3cmp17h00cbb4d0338e8f6cE.exit.i.i.i.i" - %39 = icmp ne ptr %.sroa.0.0.i.i, null - br label %"_ZN5alloc11collections5btree3map25BTreeMap$LT$K$C$V$C$A$GT$3get17h72f2260156d56018E.exit" - -"_ZN5alloc11collections5btree3map25BTreeMap$LT$K$C$V$C$A$GT$3get17h72f2260156d56018E.exit": ; preds = %33, %2, %38 - %.0.i = phi i1 [ false, %2 ], [ %39, %38 ], [ false, %33 ] +38: ; preds = %33, %"_ZN72_$LT$ockam_core..routing..address..Address$u20$as$u20$core..cmp..Ord$GT$3cmp17h00cbb4d0338e8f6cE.exit.i.i.i.i", %2 + %.0.i = phi i1 [ false, %2 ], [ true, %"_ZN72_$LT$ockam_core..routing..address..Address$u20$as$u20$core..cmp..Ord$GT$3cmp17h00cbb4d0338e8f6cE.exit.i.i.i.i" ], [ false, %33 ] ret i1 %.0.i } @@ -10370,15 +10366,11 @@ default.unreachable.i.i.i.i: ; preds = %18 %28 = getelementptr inbounds nuw i8, ptr %.sroa.0.0.i.i, i64 1512 %29 = getelementptr inbounds nuw ptr, ptr %28, i64 %.sroa.4.0.i.ph.sink.i.ph.i.i %30 = add i64 %.sroa.3.0.i.i, -1 - %.sroa.0.0.i.pre.i = load ptr, ptr %29, align 8, !noalias !2004 + %.sroa.0.0.i.pre.i = load ptr, ptr %29, align 8, !noalias !2004, !nonnull !4, !noundef !4 br label %10 -31: ; preds = %18 - %32 = icmp ne ptr %.sroa.0.0.i.i, null - br label %"_ZN5alloc11collections5btree3map25BTreeMap$LT$K$C$V$C$A$GT$3get17hc370e61749646af7E.llvm.3189713146689755573.exit" - -"_ZN5alloc11collections5btree3map25BTreeMap$LT$K$C$V$C$A$GT$3get17hc370e61749646af7E.llvm.3189713146689755573.exit": ; preds = %26, %2, %31 - %.0.i = phi i1 [ false, %2 ], [ %32, %31 ], [ false, %26 ] +31: ; preds = %26, %18, %2 + %.0.i = phi i1 [ false, %2 ], [ true, %18 ], [ false, %26 ] ret i1 %.0.i } @@ -10448,7 +10440,7 @@ default.unreachable.i.i.i.i: ; preds = %18 %28 = getelementptr inbounds nuw i8, ptr %.sroa.0.0.i.i, i64 1424 %29 = getelementptr inbounds nuw ptr, ptr %28, i64 %.sroa.4.0.i.ph.sink.i.ph.i.i %30 = add i64 %.sroa.3.0.i.i, -1 - %.sroa.0.0.i.pre.i = load ptr, ptr %29, align 8, !noalias !2023 + %.sroa.0.0.i.pre.i = load ptr, ptr %29, align 8, !noalias !2023, !nonnull !4, !noundef !4 br label %10 "_ZN5alloc11collections5btree3map25BTreeMap$LT$K$C$V$C$A$GT$3get17hc01eb19b78fc0508E.llvm.3189713146689755573.exit": ; preds = %26, %18, %2 @@ -10523,7 +10515,7 @@ default.unreachable.i.i.i: ; preds = %27 %39 = getelementptr inbounds nuw i8, ptr %.sroa.0.0.i, i64 1512 %40 = getelementptr inbounds nuw ptr, ptr %39, i64 %.sroa.4.0.i.ph.sink.i.ph.i %41 = add i64 %.sroa.3.0.i, -1 - %.sroa.0.0.i.pre = load ptr, ptr %40, align 8 + %.sroa.0.0.i.pre = load ptr, ptr %40, align 8, !nonnull !4, !noundef !4 br label %19 42: ; preds = %4 @@ -10790,7 +10782,7 @@ default.unreachable.i.i.i: ; preds = %"_ZN72_$LT$ockam_co %43 = getelementptr inbounds nuw i8, ptr %.sroa.0.0.i, i64 984 %44 = getelementptr inbounds nuw ptr, ptr %43, i64 %.sroa.4.0.i.ph.sink.i.ph.i %45 = add i64 %.sroa.3.0.i, -1 - %.sroa.0.0.i.pre = load ptr, ptr %44, align 8 + %.sroa.0.0.i.pre = load ptr, ptr %44, align 8, !nonnull !4, !noundef !4 br label %21 46: ; preds = %3 @@ -11033,7 +11025,7 @@ default.unreachable.i.i.i: ; preds = %27 %39 = getelementptr inbounds nuw i8, ptr %.sroa.0.0.i, i64 1424 %40 = getelementptr inbounds nuw ptr, ptr %39, i64 %.sroa.4.0.i.ph.sink.i.ph.i %41 = add i64 %.sroa.3.0.i, -1 - %.sroa.0.0.i.pre = load ptr, ptr %40, align 8 + %.sroa.0.0.i.pre = load ptr, ptr %40, align 8, !nonnull !4, !noundef !4 br label %19 42: ; preds = %4 @@ -11300,7 +11292,7 @@ default.unreachable.i.i.i: ; preds = %"_ZN72_$LT$ockam_co %45 = getelementptr inbounds nuw i8, ptr %.sroa.0.0.i, i64 1072 %46 = getelementptr inbounds nuw ptr, ptr %45, i64 %.sroa.4.0.i.ph.sink.i.ph.i %47 = add i64 %.sroa.3.0.i, -1 - %.sroa.0.0.i.pre = load ptr, ptr %46, align 8 + %.sroa.0.0.i.pre = load ptr, ptr %46, align 8, !nonnull !4, !noundef !4 br label %21 48: ; preds = %3 @@ -11567,7 +11559,7 @@ default.unreachable.i.i.i: ; preds = %"_ZN72_$LT$ockam_co %41 = getelementptr inbounds nuw i8, ptr %.sroa.0.0.i, i64 376 %42 = getelementptr inbounds nuw ptr, ptr %41, i64 %.sroa.4.0.i.ph.sink.i.ph.i %43 = add i64 %.sroa.3.0.i, -1 - %.sroa.0.0.i.pre = load ptr, ptr %42, align 8 + %.sroa.0.0.i.pre = load ptr, ptr %42, align 8, !nonnull !4, !noundef !4 br label %19 44: ; preds = %3 @@ -12373,7 +12365,7 @@ default.unreachable.i.i.i: ; preds = %"_ZN72_$LT$ockam_co %33 = getelementptr inbounds nuw i8, ptr %.sroa.0.0.i, i64 376 %34 = getelementptr inbounds nuw ptr, ptr %33, i64 %.sroa.4.0.i.ph.sink.i.ph.i %35 = add i64 %.sroa.3.0.i, -1 - %.sroa.0.0.i.pre = load ptr, ptr %34, align 8 + %.sroa.0.0.i.pre = load ptr, ptr %34, align 8, !nonnull !4, !noundef !4 br label %11 36: ; preds = %"_ZN72_$LT$ockam_core..routing..address..Address$u20$as$u20$core..cmp..Ord$GT$3cmp17h00cbb4d0338e8f6cE.exit.i.i.i" @@ -12466,7 +12458,7 @@ default.unreachable.i.i.i: ; preds = %"_ZN72_$LT$ockam_co %33 = getelementptr inbounds nuw i8, ptr %.sroa.0.0.i, i64 984 %34 = getelementptr inbounds nuw ptr, ptr %33, i64 %.sroa.4.0.i.ph.sink.i.ph.i %35 = add i64 %.sroa.3.0.i, -1 - %.sroa.0.0.i.pre = load ptr, ptr %34, align 8 + %.sroa.0.0.i.pre = load ptr, ptr %34, align 8, !nonnull !4, !noundef !4 br label %11 36: ; preds = %"_ZN72_$LT$ockam_core..routing..address..Address$u20$as$u20$core..cmp..Ord$GT$3cmp17h00cbb4d0338e8f6cE.exit.i.i.i" @@ -12559,7 +12551,7 @@ default.unreachable.i.i.i: ; preds = %"_ZN72_$LT$ockam_co %33 = getelementptr inbounds nuw i8, ptr %.sroa.0.0.i, i64 368 %34 = getelementptr inbounds nuw ptr, ptr %33, i64 %.sroa.4.0.i.ph.sink.i.ph.i %35 = add i64 %.sroa.3.0.i, -1 - %.sroa.0.0.i.pre = load ptr, ptr %34, align 8 + %.sroa.0.0.i.pre = load ptr, ptr %34, align 8, !nonnull !4, !noundef !4 br label %11 36: ; preds = %"_ZN72_$LT$ockam_core..routing..address..Address$u20$as$u20$core..cmp..Ord$GT$3cmp17h00cbb4d0338e8f6cE.exit.i.i.i" @@ -12652,7 +12644,7 @@ default.unreachable.i.i.i: ; preds = %"_ZN72_$LT$ockam_co %35 = getelementptr inbounds nuw i8, ptr %.sroa.0.0.i, i64 1072 %36 = getelementptr inbounds nuw ptr, ptr %35, i64 %.sroa.4.0.i.ph.sink.i.ph.i %37 = add i64 %.sroa.3.0.i, -1 - %.sroa.0.0.i.pre = load ptr, ptr %36, align 8 + %.sroa.0.0.i.pre = load ptr, ptr %36, align 8, !nonnull !4, !noundef !4 br label %11 38: ; preds = %"_ZN72_$LT$ockam_core..routing..address..Address$u20$as$u20$core..cmp..Ord$GT$3cmp17h00cbb4d0338e8f6cE.exit.i.i.i" @@ -12722,7 +12714,7 @@ default.unreachable.i.i.i: ; preds = %17 %29 = getelementptr inbounds nuw i8, ptr %.sroa.0.0.i, i64 544 %30 = getelementptr inbounds nuw ptr, ptr %29, i64 %.sroa.4.0.i.ph.sink.i.ph.i %31 = add i64 %.sroa.3.0.i, -1 - %.sroa.0.0.i.pre = load ptr, ptr %30, align 8 + %.sroa.0.0.i.pre = load ptr, ptr %30, align 8, !nonnull !4, !noundef !4 br label %9 32: ; preds = %17 @@ -12793,7 +12785,7 @@ default.unreachable.i.i.i: ; preds = %17 %29 = getelementptr inbounds nuw i8, ptr %.sroa.0.0.i, i64 1512 %30 = getelementptr inbounds nuw ptr, ptr %29, i64 %.sroa.4.0.i.ph.sink.i.ph.i %31 = add i64 %.sroa.3.0.i, -1 - %.sroa.0.0.i.pre = load ptr, ptr %30, align 8 + %.sroa.0.0.i.pre = load ptr, ptr %30, align 8, !nonnull !4, !noundef !4 br label %9 32: ; preds = %17 @@ -12885,7 +12877,7 @@ default.unreachable.i.i.i: ; preds = %"_ZN72_$LT$ockam_co %33 = getelementptr inbounds nuw i8, ptr %.sroa.0.0.i, i64 368 %34 = getelementptr inbounds nuw ptr, ptr %33, i64 %.sroa.4.0.i.ph.sink.i.ph.i %35 = add i64 %.sroa.3.0.i, -1 - %.sroa.0.0.i.pre = load ptr, ptr %34, align 8 + %.sroa.0.0.i.pre = load ptr, ptr %34, align 8, !nonnull !4, !noundef !4 br label %11 36: ; preds = %"_ZN72_$LT$ockam_core..routing..address..Address$u20$as$u20$core..cmp..Ord$GT$3cmp17h00cbb4d0338e8f6cE.exit.i.i.i" @@ -12955,7 +12947,7 @@ default.unreachable.i.i.i: ; preds = %17 %29 = getelementptr inbounds nuw i8, ptr %.sroa.0.0.i, i64 544 %30 = getelementptr inbounds nuw ptr, ptr %29, i64 %.sroa.4.0.i.ph.sink.i.ph.i %31 = add i64 %.sroa.3.0.i, -1 - %.sroa.0.0.i.pre = load ptr, ptr %30, align 8 + %.sroa.0.0.i.pre = load ptr, ptr %30, align 8, !nonnull !4, !noundef !4 br label %9 32: ; preds = %17 @@ -13032,7 +13024,7 @@ default.unreachable.i.i.i: ; preds = %18 %28 = getelementptr inbounds nuw i8, ptr %.sroa.0.0.i, i64 1424 %29 = getelementptr inbounds nuw ptr, ptr %28, i64 %.sroa.4.0.i.ph.sink.i.ph.i %30 = add i64 %.sroa.3.0.i, -1 - %.sroa.0.0.i.pre = load ptr, ptr %29, align 8 + %.sroa.0.0.i.pre = load ptr, ptr %29, align 8, !nonnull !4, !noundef !4 br label %10 31: ; preds = %18 @@ -13109,7 +13101,7 @@ default.unreachable.i.i.i: ; preds = %18 %28 = getelementptr inbounds nuw i8, ptr %.sroa.0.0.i, i64 1512 %29 = getelementptr inbounds nuw ptr, ptr %28, i64 %.sroa.4.0.i.ph.sink.i.ph.i %30 = add i64 %.sroa.3.0.i, -1 - %.sroa.0.0.i.pre = load ptr, ptr %29, align 8 + %.sroa.0.0.i.pre = load ptr, ptr %29, align 8, !nonnull !4, !noundef !4 br label %10 31: ; preds = %18 @@ -13179,7 +13171,7 @@ default.unreachable.i.i.i: ; preds = %17 %29 = getelementptr inbounds nuw i8, ptr %.sroa.0.0.i, i64 1424 %30 = getelementptr inbounds nuw ptr, ptr %29, i64 %.sroa.4.0.i.ph.sink.i.ph.i %31 = add i64 %.sroa.3.0.i, -1 - %.sroa.0.0.i.pre = load ptr, ptr %30, align 8 + %.sroa.0.0.i.pre = load ptr, ptr %30, align 8, !nonnull !4, !noundef !4 br label %9 32: ; preds = %17 @@ -13272,7 +13264,7 @@ default.unreachable.i.i.i: ; preds = %"_ZN72_$LT$ockam_co %33 = getelementptr inbounds nuw i8, ptr %.sroa.0.0.i, i64 368 %34 = getelementptr inbounds nuw ptr, ptr %33, i64 %.sroa.4.0.i.ph.sink.i.ph.i %35 = add i64 %.sroa.3.0.i, -1 - %.sroa.0.0.i.pre = load ptr, ptr %34, align 8 + %.sroa.0.0.i.pre = load ptr, ptr %34, align 8, !nonnull !4, !noundef !4 br label %11 36: ; preds = %"_ZN72_$LT$ockam_core..routing..address..Address$u20$as$u20$core..cmp..Ord$GT$3cmp17h00cbb4d0338e8f6cE.exit.i.i.i" @@ -13349,7 +13341,7 @@ default.unreachable.i.i.i: ; preds = %18 %28 = getelementptr inbounds nuw i8, ptr %.sroa.0.0.i, i64 544 %29 = getelementptr inbounds nuw ptr, ptr %28, i64 %.sroa.4.0.i.ph.sink.i.ph.i %30 = add i64 %.sroa.3.0.i, -1 - %.sroa.0.0.i.pre = load ptr, ptr %29, align 8 + %.sroa.0.0.i.pre = load ptr, ptr %29, align 8, !nonnull !4, !noundef !4 br label %10 31: ; preds = %18 @@ -17391,7 +17383,7 @@ default.unreachable.i.i.i: ; preds = %18 %28 = getelementptr inbounds nuw i8, ptr %.sroa.0.0.i, i64 544 %29 = getelementptr inbounds nuw ptr, ptr %28, i64 %.sroa.4.0.i.ph.sink.i.ph.i %30 = add i64 %.sroa.3.0.i, -1 - %.sroa.0.0.i.pre = load ptr, ptr %29, align 8 + %.sroa.0.0.i.pre = load ptr, ptr %29, align 8, !nonnull !4, !noundef !4 br label %10 31: ; preds = %18 @@ -42466,7 +42458,7 @@ define internal fastcc void @"_ZN5alloc11collections5btree6remove259_$LT$impl$u2 ._crit_edge164: ; preds = %113 %.phi.trans.insert = getelementptr inbounds nuw i8, ptr %103, i64 362 - %.pre = load i16, ptr %.phi.trans.insert, align 2, !noalias !8933 + %.pre = load i16, ptr %.phi.trans.insert, align 2, !noalias !8933, !noundef !4 %.pre170 = add nuw nsw i64 %121, 1 %.pre172 = add nuw nsw i64 %.pre170, %101 %138 = icmp samesign ult i64 %.pre172, 12 @@ -42986,7 +42978,7 @@ define internal fastcc void @"_ZN5alloc11collections5btree6remove259_$LT$impl$u2 ._crit_edge161: ; preds = %115 %.phi.trans.insert = getelementptr inbounds nuw i8, ptr %105, i64 978 - %.pre = load i16, ptr %.phi.trans.insert, align 2, !noalias !9028 + %.pre = load i16, ptr %.phi.trans.insert, align 2, !noalias !9028, !noundef !4 %.pre167 = add nuw nsw i64 %123, 1 %.pre169 = add nuw nsw i64 %.pre167, %103 %140 = icmp samesign ult i64 %.pre169, 12 @@ -43508,7 +43500,7 @@ define internal fastcc void @"_ZN5alloc11collections5btree6remove259_$LT$impl$u2 ._crit_edge161: ; preds = %113 %.phi.trans.insert = getelementptr inbounds nuw i8, ptr %103, i64 1418 - %.pre = load i16, ptr %.phi.trans.insert, align 2, !noalias !9125 + %.pre = load i16, ptr %.phi.trans.insert, align 2, !noalias !9125, !noundef !4 %.pre167 = add nuw nsw i64 %121, 1 %.pre169 = add nuw nsw i64 %.pre167, %102 %138 = icmp samesign ult i64 %.pre169, 12 @@ -44033,7 +44025,7 @@ define internal fastcc void @"_ZN5alloc11collections5btree6remove259_$LT$impl$u2 ._crit_edge161: ; preds = %115 %.phi.trans.insert = getelementptr inbounds nuw i8, ptr %105, i64 1506 - %.pre = load i16, ptr %.phi.trans.insert, align 2, !noalias !9222 + %.pre = load i16, ptr %.phi.trans.insert, align 2, !noalias !9222, !noundef !4 %.pre167 = add nuw nsw i64 %123, 1 %.pre169 = add nuw nsw i64 %.pre167, %103 %140 = icmp samesign ult i64 %.pre169, 12 @@ -44557,7 +44549,7 @@ define internal fastcc void @"_ZN5alloc11collections5btree6remove259_$LT$impl$u2 ._crit_edge161: ; preds = %115 %.phi.trans.insert = getelementptr inbounds nuw i8, ptr %105, i64 1066 - %.pre = load i16, ptr %.phi.trans.insert, align 2, !noalias !9319 + %.pre = load i16, ptr %.phi.trans.insert, align 2, !noalias !9319, !noundef !4 %.pre167 = add nuw nsw i64 %123, 1 %.pre169 = add nuw nsw i64 %.pre167, %103 %140 = icmp samesign ult i64 %.pre169, 12 @@ -46549,7 +46541,7 @@ define hidden void @"_ZN5alloc11collections5btree8navigate142_$LT$impl$u20$alloc "._ZN5alloc11collections5btree6search91_$LT$impl$u20$alloc..collections..btree..node..NodeRef$LT$BorrowType$C$K$C$V$C$Type$GT$$GT$22find_upper_bound_index17hf5be7070d4c5c575E.exit.i_crit_edge": ; preds = %6 %.phi.trans.insert = getelementptr inbounds nuw i8, ptr %.sroa.0.080.i, i64 406 - %.pre = load i16, ptr %.phi.trans.insert, align 2, !noalias !9753 + %.pre = load i16, ptr %.phi.trans.insert, align 2, !noalias !9753, !noundef !4 %.pre212 = zext i16 %.pre to i64 br label %"_ZN5alloc11collections5btree6search91_$LT$impl$u20$alloc..collections..btree..node..NodeRef$LT$BorrowType$C$K$C$V$C$Type$GT$$GT$22find_upper_bound_index17hf5be7070d4c5c575E.exit.i" diff --git a/bench/opencv/optimized/emdL1.ll b/bench/opencv/optimized/emdL1.ll index ce539e85cba..0bd1a548335 100644 --- a/bench/opencv/optimized/emdL1.ll +++ b/bench/opencv/optimized/emdL1.ll @@ -3519,7 +3519,7 @@ _ZNSt6vectorIfSaIfEE17_S_check_init_lenEmRKS0_.exit.i102: ; preds = %._crit_edge _ZNSt6vectorIfSaIfEEC2EmRKS0_.exit109.thread: ; preds = %.noexc108 store float 0.000000e+00, ptr %80, align 4, !tbaa !62 %82 = add nsw i32 %.lcssa144, -1 - %.pre232.pre233.pre243 = load ptr, ptr %2, align 8, !tbaa !142 + %.pre232.pre233.pre243 = load ptr, ptr %2, align 8 br label %._crit_edge163 .lr.ph162: ; preds = %.noexc108 @@ -3528,7 +3528,7 @@ _ZNSt6vectorIfSaIfEEC2EmRKS0_.exit109.thread: ; preds = %.noexc108 tail call void @llvm.memset.p0.i64(ptr align 4 %83, i8 0, i64 %84, i1 false), !tbaa !62 store float 0.000000e+00, ptr %80, align 4, !tbaa !62 %85 = add nsw i32 %.lcssa144, -1 - %.pre232.pre233.pre = load ptr, ptr %2, align 8, !tbaa !142 + %.pre232.pre233.pre = load ptr, ptr %2, align 8 br i1 %.not.i.i.i.i99, label %.lr.ph160.us.preheader, label %.loopexit.preheader .lr.ph160.us.preheader: ; preds = %.lr.ph162 @@ -3711,52 +3711,53 @@ _ZNSt6vectorIfSaIfEED2Ev.exit: ; preds = %_ZNSt6vectorIfSaIfE %exitcond223.not = icmp eq i64 %indvars.iv.next220, %wide.trip.count222 br i1 %exitcond223.not, label %.preheader, label %.preheader141.us, !llvm.loop !158 -.preheader: ; preds = %._crit_edge170.us, %._crit_edge163 - %166 = phi i32 [ %97, %._crit_edge163 ], [ %101, %._crit_edge170.us ] - %167 = phi i1 [ %81, %._crit_edge163 ], [ %100, %._crit_edge170.us ] - %.pre232.pre233.pre245249 = phi ptr [ %.pre232.pre233.pre245, %._crit_edge163 ], [ %.pre232.pre233.pre245248256, %._crit_edge170.us ] - br i1 %167, label %.lr.ph174, label %_ZNSt6vectorIfSaIfEED2Ev.exit113 - -.lr.ph174: ; preds = %._crit_edge163.thread, %.preheader - %.pre232.pre233.pre245249262 = phi ptr [ %.pre232.pre233.pre245249, %.preheader ], [ %.pre232.pre233.pre, %._crit_edge163.thread ] - %168 = phi i32 [ %166, %.preheader ], [ %85, %._crit_edge163.thread ] - %169 = sext i32 %75 to i64 - %170 = getelementptr inbounds nuw i8, ptr %0, i64 72 - %171 = load ptr, ptr %170, align 8, !tbaa !98 - %wide.trip.count227 = zext i32 %168 to i64 - %.pre231 = load ptr, ptr %.pre232.pre233.pre245249262, align 8, !tbaa !150 - br label %172 - -172: ; preds = %.lr.ph174, %172 - %173 = phi ptr [ %.pre231, %.lr.ph174 ], [ %180, %172 ] - %indvars.iv224 = phi i64 [ 0, %.lr.ph174 ], [ %indvars.iv.next225, %172 ] - %174 = getelementptr inbounds nuw float, ptr %173, i64 %169 - %175 = load float, ptr %174, align 4, !tbaa !62 - %176 = getelementptr inbounds nuw %"class.std::vector.33", ptr %171, i64 %indvars.iv224 - %177 = load ptr, ptr %176, align 8, !tbaa !99 - %178 = getelementptr inbounds nuw %struct.cvEMDEdge, ptr %177, i64 %169 +.preheader: ; preds = %._crit_edge170.us + %.pre232.pre = load ptr, ptr %2, align 8 + br i1 %100, label %.lr.ph174, label %_ZNSt6vectorIfSaIfEED2Ev.exit113 + +.preheader:; preds = %._crit_edge163 + br i1 %81, label %.lr.ph174, label %_ZNSt6vectorIfSaIfEED2Ev.exit113 + +.lr.ph174:; preds = %._crit_edge163.thread, %.preheader, %.preheader + %168 = phi ptr [ %.pre232.pre233.pre245, %.preheader ], [ %.pre232.pre, %.preheader.loopexit176 ], [ %.pre232.pre233.pre, %._crit_edge163.thread ] + %166 = phi i32 [ %97, %.preheader ], [ %101, %.preheader.loopexit176 ], [ %85, %._crit_edge163.thread ] + %167 = sext i32 %75 to i64 + %168 = getelementptr inbounds nuw i8, ptr %0, i64 72 + %169 = load ptr, ptr %168, align 8, !tbaa !98 + %wide.trip.count227 = zext i32 %166 to i64 + %.pre231 = load ptr, ptr %168, align 8, !tbaa !150 + br label %170 + +170: ; preds = %.lr.ph174, %170 + %indvars.iv224 = phi ptr [ %.pre231, %.lr.ph174 ], [ %178, %170 ] + %indvars.iv224 = phi i64 [ 0, %.lr.ph174 ], [ %indvars.iv.next225, %170 ] + %172 = getelementptr inbounds nuw float, ptr %171, i64 %167 + %173 = load float, ptr %172, align 4, !tbaa !62 + %174 = getelementptr inbounds nuw %"class.std::vector.33", ptr %169, i64 %indvars.iv224 + %175 = load ptr, ptr %174, align 8, !tbaa !99 + %176 = getelementptr inbounds nuw %struct.cvEMDEdge, ptr %175, i64 %167 %indvars.iv.next225 = add nuw nsw i64 %indvars.iv224, 1 - %179 = getelementptr inbounds nuw %"class.std::vector.43", ptr %.pre232.pre233.pre245249262, i64 %indvars.iv.next225 + %179 = getelementptr inbounds nuw %"class.std::vector.43", ptr %.pre232262, i64 %indvars.iv.next225 %180 = load ptr, ptr %179, align 8, !tbaa !150 - %181 = getelementptr inbounds nuw float, ptr %180, i64 %169 + %181 = getelementptr inbounds nuw float, ptr %180, i64 %167 %182 = load float, ptr %181, align 4, !tbaa !62 - %183 = fadd float %175, %182 + %183 = fadd float %173, %182 store float %183, ptr %181, align 4, !tbaa !62 - %184 = getelementptr inbounds nuw i8, ptr %178, i64 8 + %184 = getelementptr inbounds nuw i8, ptr %176, i64 8 %185 = load ptr, ptr %184, align 8, !tbaa !84 %186 = getelementptr inbounds nuw i8, ptr %185, i64 32 - store ptr %178, ptr %186, align 8, !tbaa !70 - %187 = tail call noundef float @llvm.fabs.f32(float %175) - store float %187, ptr %178, align 8, !tbaa !87 - %188 = fcmp ogt float %175, 0.000000e+00 + store ptr %176, ptr %186, align 8, !tbaa !70 + %187 = tail call noundef float @llvm.fabs.f32(float %173) + store float %187, ptr %176, align 8, !tbaa !87 + %188 = fcmp ogt float %173, 0.000000e+00 %189 = zext i1 %188 to i32 - %190 = getelementptr inbounds nuw i8, ptr %178, i64 4 + %190 = getelementptr inbounds nuw i8, ptr %176, i64 4 store i32 %189, ptr %190, align 4, !tbaa !75 %exitcond228.not = icmp eq i64 %indvars.iv.next225, %wide.trip.count227 - br i1 %exitcond228.not, label %_ZNSt6vectorIfSaIfEED2Ev.exit113, label %172, !llvm.loop !159 + br i1 %exitcond228.not, label %_ZNSt6vectorIfSaIfEED2Ev.exit113, label %170, !llvm.loop !159 -_ZNSt6vectorIfSaIfEED2Ev.exit113: ; preds = %172, %.preheader - %.pre232.pre233.pre245249263 = phi ptr [ %.pre232.pre233.pre245249, %.preheader ], [ %.pre232.pre233.pre245249262, %172 ] +_ZNSt6vectorIfSaIfEED2Ev.exit113: ; preds = %170, %.preheader, %.preheader + %.pre232.pre233.pre245249263 = phi ptr [ %.pre232.pre233.pre245, %.preheader ], [ %.pre232.pre, %.preheader.loopexit176 ], [ %.pre232262, %170 ] tail call void @_ZdlPv(ptr noundef nonnull %80) #23 tail call void @_ZdlPv(ptr noundef nonnull %56) #23 %191 = load ptr, ptr %50, align 8, !tbaa !146 diff --git a/bench/openmpi/optimized/pmdl_mpich.ll b/bench/openmpi/optimized/pmdl_mpich.ll index f30ed695f50..d403ebace55 100644 --- a/bench/openmpi/optimized/pmdl_mpich.ll +++ b/bench/openmpi/optimized/pmdl_mpich.ll @@ -884,7 +884,7 @@ pmix_obj_run_constructors.exit: ; preds = %.lr.ph.i, %32 %56 = load ptr, ptr %48, align 8, !tbaa !107 call void (i32, ptr, ...) @pmix_output(i32 noundef %49, ptr noundef nonnull @.str.16, ptr noundef nonnull @.str.17, i32 noundef 322, ptr noundef %56) #13 %.pre = load ptr, ptr %41, align 8, !tbaa !69 - %.pre168 = load i8, ptr %42, align 8, !tbaa !87, !range !109 + %.pre168 = load i8, ptr %42, align 8, !tbaa !87, !range !109, !noundef !110 %.pre169 = load ptr, ptr %43, align 8, !tbaa !88 %57 = trunc nuw i8 %.pre168 to i1 br label %58 @@ -894,13 +894,13 @@ pmix_obj_run_constructors.exit: ; preds = %.lr.ph.i, %32 %60 = phi i1 [ %57, %55 ], [ true, %50 ], [ true, %pmix_obj_run_constructors.exit ] %61 = phi ptr [ %.pre, %55 ], [ %2, %50 ], [ %2, %pmix_obj_run_constructors.exit ] %62 = getelementptr inbounds nuw i8, ptr %48, i64 80 - %63 = load ptr, ptr %62, align 8, !tbaa !110 + %63 = load ptr, ptr %62, align 8, !tbaa !111 %64 = getelementptr inbounds nuw i8, ptr %3, i64 508 - %65 = load i8, ptr %64, align 4, !tbaa !111 + %65 = load i8, ptr %64, align 4, !tbaa !112 %66 = getelementptr inbounds nuw i8, ptr %3, i64 760 - %67 = load ptr, ptr %66, align 8, !tbaa !112 + %67 = load ptr, ptr %66, align 8, !tbaa !113 %68 = getelementptr inbounds nuw i8, ptr %3, i64 768 - %69 = load i64, ptr %68, align 8, !tbaa !113 + %69 = load i64, ptr %68, align 8, !tbaa !114 %70 = getelementptr inbounds nuw i8, ptr %3, i64 800 %71 = call i32 %63(ptr noundef %61, i8 noundef zeroext %65, i1 noundef zeroext %60, ptr noundef %59, ptr noundef %67, i64 noundef %69, ptr noundef nonnull %70) #13 store ptr null, ptr %43, align 8, !tbaa !88 @@ -982,7 +982,7 @@ pmix_obj_run_constructors.exit: ; preds = %.lr.ph.i, %32 pmix_obj_run_destructors.exit90: ; preds = %.lr.ph.i87, %94, %23 %107 = getelementptr inbounds nuw i8, ptr %.051158, i64 404 - %108 = load i32, ptr %107, align 4, !tbaa !114 + %108 = load i32, ptr %107, align 4, !tbaa !115 %109 = icmp eq i32 %108, -1 br i1 %109, label %110, label %pmix_obj_run_destructors.exit110 @@ -1044,7 +1044,7 @@ pmix_obj_run_constructors.exit95: ; preds = %.lr.ph.i92, %114 %138 = load ptr, ptr %130, align 8, !tbaa !107 call void (i32, ptr, ...) @pmix_output(i32 noundef %131, ptr noundef nonnull @.str.16, ptr noundef nonnull @.str.17, i32 noundef 346, ptr noundef %138) #13 %.pre170 = load ptr, ptr %123, align 8, !tbaa !69 - %.pre171 = load i8, ptr %124, align 8, !tbaa !87, !range !109 + %.pre171 = load i8, ptr %124, align 8, !tbaa !87, !range !109, !noundef !110 %.pre172 = load ptr, ptr %125, align 8, !tbaa !88 %139 = trunc nuw i8 %.pre171 to i1 br label %140 @@ -1054,13 +1054,13 @@ pmix_obj_run_constructors.exit95: ; preds = %.lr.ph.i92, %114 %142 = phi i1 [ %139, %137 ], [ true, %132 ], [ true, %pmix_obj_run_constructors.exit95 ] %143 = phi ptr [ %.pre170, %137 ], [ %2, %132 ], [ %2, %pmix_obj_run_constructors.exit95 ] %144 = getelementptr inbounds nuw i8, ptr %130, i64 80 - %145 = load ptr, ptr %144, align 8, !tbaa !110 + %145 = load ptr, ptr %144, align 8, !tbaa !111 %146 = getelementptr inbounds nuw i8, ptr %3, i64 508 - %147 = load i8, ptr %146, align 4, !tbaa !111 + %147 = load i8, ptr %146, align 4, !tbaa !112 %148 = getelementptr inbounds nuw i8, ptr %3, i64 760 - %149 = load ptr, ptr %148, align 8, !tbaa !112 + %149 = load ptr, ptr %148, align 8, !tbaa !113 %150 = getelementptr inbounds nuw i8, ptr %3, i64 768 - %151 = load i64, ptr %150, align 8, !tbaa !113 + %151 = load i64, ptr %150, align 8, !tbaa !114 %152 = getelementptr inbounds nuw i8, ptr %3, i64 800 %153 = call i32 %145(ptr noundef %143, i8 noundef zeroext %147, i1 noundef zeroext %142, ptr noundef %141, ptr noundef %149, i64 noundef %151, ptr noundef nonnull %152) #13 store ptr null, ptr %125, align 8, !tbaa !88 @@ -1123,7 +1123,7 @@ pmix_obj_run_constructors.exit95: ; preds = %.lr.ph.i92, %114 %179 = load ptr, ptr %178, align 8, !tbaa !60 %180 = getelementptr inbounds nuw i8, ptr %179, i64 8 %181 = load i32, ptr %180, align 8, !tbaa !38 - store i32 %181, ptr %107, align 4, !tbaa !114 + store i32 %181, ptr %107, align 4, !tbaa !115 %182 = load ptr, ptr %115, align 8, !tbaa !24 %183 = getelementptr inbounds nuw i8, ptr %182, i64 48 %184 = load ptr, ptr %183, align 8, !tbaa !34 @@ -1142,7 +1142,7 @@ pmix_obj_run_constructors.exit95: ; preds = %.lr.ph.i92, %114 pmix_obj_run_destructors.exit110: ; preds = %.lr.ph.i107, %176, %pmix_obj_run_destructors.exit90 %189 = getelementptr inbounds nuw i8, ptr %.051158, i64 412 - %190 = load i32, ptr %189, align 4, !tbaa !115 + %190 = load i32, ptr %189, align 4, !tbaa !116 %191 = icmp eq i32 %190, -1 br i1 %191, label %192, label %pmix_obj_run_destructors.exit130 @@ -1204,7 +1204,7 @@ pmix_obj_run_constructors.exit115: ; preds = %.lr.ph.i112, %196 %220 = load ptr, ptr %212, align 8, !tbaa !107 call void (i32, ptr, ...) @pmix_output(i32 noundef %213, ptr noundef nonnull @.str.16, ptr noundef nonnull @.str.17, i32 noundef 370, ptr noundef %220) #13 %.pre173 = load ptr, ptr %205, align 8, !tbaa !69 - %.pre174 = load i8, ptr %206, align 8, !tbaa !87, !range !109 + %.pre174 = load i8, ptr %206, align 8, !tbaa !87, !range !109, !noundef !110 %.pre175 = load ptr, ptr %207, align 8, !tbaa !88 %221 = trunc nuw i8 %.pre174 to i1 br label %222 @@ -1214,13 +1214,13 @@ pmix_obj_run_constructors.exit115: ; preds = %.lr.ph.i112, %196 %224 = phi i1 [ %221, %219 ], [ true, %214 ], [ true, %pmix_obj_run_constructors.exit115 ] %225 = phi ptr [ %.pre173, %219 ], [ %2, %214 ], [ %2, %pmix_obj_run_constructors.exit115 ] %226 = getelementptr inbounds nuw i8, ptr %212, i64 80 - %227 = load ptr, ptr %226, align 8, !tbaa !110 + %227 = load ptr, ptr %226, align 8, !tbaa !111 %228 = getelementptr inbounds nuw i8, ptr %3, i64 508 - %229 = load i8, ptr %228, align 4, !tbaa !111 + %229 = load i8, ptr %228, align 4, !tbaa !112 %230 = getelementptr inbounds nuw i8, ptr %3, i64 760 - %231 = load ptr, ptr %230, align 8, !tbaa !112 + %231 = load ptr, ptr %230, align 8, !tbaa !113 %232 = getelementptr inbounds nuw i8, ptr %3, i64 768 - %233 = load i64, ptr %232, align 8, !tbaa !113 + %233 = load i64, ptr %232, align 8, !tbaa !114 %234 = getelementptr inbounds nuw i8, ptr %3, i64 800 %235 = call i32 %227(ptr noundef %225, i8 noundef zeroext %229, i1 noundef zeroext %224, ptr noundef %223, ptr noundef %231, i64 noundef %233, ptr noundef nonnull %234) #13 store ptr null, ptr %207, align 8, !tbaa !88 @@ -1283,7 +1283,7 @@ pmix_obj_run_constructors.exit115: ; preds = %.lr.ph.i112, %196 %261 = load ptr, ptr %260, align 8, !tbaa !60 %262 = getelementptr inbounds nuw i8, ptr %261, i64 8 %263 = load i32, ptr %262, align 8, !tbaa !38 - store i32 %263, ptr %189, align 4, !tbaa !115 + store i32 %263, ptr %189, align 4, !tbaa !116 %264 = load ptr, ptr %197, align 8, !tbaa !24 %265 = getelementptr inbounds nuw i8, ptr %264, i64 48 %266 = load ptr, ptr %265, align 8, !tbaa !34 @@ -1302,7 +1302,7 @@ pmix_obj_run_constructors.exit115: ; preds = %.lr.ph.i112, %196 pmix_obj_run_destructors.exit130: ; preds = %.lr.ph.i127, %258, %pmix_obj_run_destructors.exit110 %271 = getelementptr inbounds nuw i8, ptr %.051158, i64 408 - %272 = load i32, ptr %271, align 8, !tbaa !116 + %272 = load i32, ptr %271, align 8, !tbaa !117 %273 = icmp eq i32 %272, -1 br i1 %273, label %274, label %pmix_obj_run_destructors.exit @@ -1364,7 +1364,7 @@ pmix_obj_run_constructors.exit135: ; preds = %.lr.ph.i132, %278 %302 = load ptr, ptr %294, align 8, !tbaa !107 call void (i32, ptr, ...) @pmix_output(i32 noundef %295, ptr noundef nonnull @.str.16, ptr noundef nonnull @.str.17, i32 noundef 394, ptr noundef %302) #13 %.pre176 = load ptr, ptr %287, align 8, !tbaa !69 - %.pre177 = load i8, ptr %288, align 8, !tbaa !87, !range !109 + %.pre177 = load i8, ptr %288, align 8, !tbaa !87, !range !109, !noundef !110 %.pre178 = load ptr, ptr %289, align 8, !tbaa !88 %303 = trunc nuw i8 %.pre177 to i1 br label %304 @@ -1374,13 +1374,13 @@ pmix_obj_run_constructors.exit135: ; preds = %.lr.ph.i132, %278 %306 = phi i1 [ %303, %301 ], [ true, %296 ], [ true, %pmix_obj_run_constructors.exit135 ] %307 = phi ptr [ %.pre176, %301 ], [ %2, %296 ], [ %2, %pmix_obj_run_constructors.exit135 ] %308 = getelementptr inbounds nuw i8, ptr %294, i64 80 - %309 = load ptr, ptr %308, align 8, !tbaa !110 + %309 = load ptr, ptr %308, align 8, !tbaa !111 %310 = getelementptr inbounds nuw i8, ptr %3, i64 508 - %311 = load i8, ptr %310, align 4, !tbaa !111 + %311 = load i8, ptr %310, align 4, !tbaa !112 %312 = getelementptr inbounds nuw i8, ptr %3, i64 760 - %313 = load ptr, ptr %312, align 8, !tbaa !112 + %313 = load ptr, ptr %312, align 8, !tbaa !113 %314 = getelementptr inbounds nuw i8, ptr %3, i64 768 - %315 = load i64, ptr %314, align 8, !tbaa !113 + %315 = load i64, ptr %314, align 8, !tbaa !114 %316 = getelementptr inbounds nuw i8, ptr %3, i64 800 %317 = call i32 %309(ptr noundef %307, i8 noundef zeroext %311, i1 noundef zeroext %306, ptr noundef %305, ptr noundef %313, i64 noundef %315, ptr noundef nonnull %316) #13 store ptr null, ptr %289, align 8, !tbaa !88 @@ -1419,7 +1419,7 @@ pmix_obj_run_constructors.exit135: ; preds = %.lr.ph.i132, %278 %334 = load ptr, ptr %333, align 8, !tbaa !60 %335 = getelementptr inbounds nuw i8, ptr %334, i64 8 %336 = load i32, ptr %335, align 8, !tbaa !38 - store i32 %336, ptr %271, align 8, !tbaa !116 + store i32 %336, ptr %271, align 8, !tbaa !117 %337 = load ptr, ptr %279, align 8, !tbaa !24 %338 = getelementptr inbounds nuw i8, ptr %337, i64 48 %339 = load ptr, ptr %338, align 8, !tbaa !34 @@ -1481,7 +1481,7 @@ define internal noundef i32 @setup_fork(ptr noundef %0, ptr noundef %1, ptr noun %20 = getelementptr inbounds nuw ptr, ptr %15, i64 %19 %21 = load ptr, ptr %20, align 8, !tbaa !42 %.not44 = icmp eq ptr %21, null - br i1 %.not44, label %.critedge, label %.lr.ph, !llvm.loop !117 + br i1 %.not44, label %.critedge, label %.lr.ph, !llvm.loop !118 .lr.ph: ; preds = %.preheader, %17 %22 = phi ptr [ %21, %17 ], [ %16, %.preheader ] @@ -1506,7 +1506,7 @@ define internal noundef i32 @setup_fork(ptr noundef %0, ptr noundef %1, ptr noun %29 = getelementptr inbounds nuw i8, ptr %.03973, i64 120 %.039 = load ptr, ptr %29, align 8, !tbaa !33 %.not45 = icmp eq ptr %.039, getelementptr inbounds nuw (i8, ptr @mynspaces, i64 120) - br i1 %.not45, label %pmix_obj_run_destructors.exit, label %.lr.ph74, !llvm.loop !118 + br i1 %.not45, label %pmix_obj_run_destructors.exit, label %.lr.ph74, !llvm.loop !119 30: ; preds = %.lr.ph74 %31 = icmp eq ptr %.03973, null @@ -1514,7 +1514,7 @@ define internal noundef i32 @setup_fork(ptr noundef %0, ptr noundef %1, ptr noun 32: ; preds = %30 %33 = getelementptr inbounds nuw i8, ptr %0, i64 256 - %34 = load i32, ptr %33, align 4, !tbaa !119 + %34 = load i32, ptr %33, align 4, !tbaa !120 %35 = call i32 (ptr, ptr, ...) @asprintf(ptr noundef nonnull %4, ptr noundef nonnull @.str.23, i32 noundef %34) #13 %36 = icmp slt i32 %35, 0 br i1 %36, label %pmix_obj_run_destructors.exit, label %37 @@ -1525,7 +1525,7 @@ define internal noundef i32 @setup_fork(ptr noundef %0, ptr noundef %1, ptr noun %40 = load ptr, ptr %4, align 8, !tbaa !42 call void @free(ptr noundef %40) #13 %41 = getelementptr inbounds nuw i8, ptr %.03973, i64 404 - %42 = load i32, ptr %41, align 4, !tbaa !114 + %42 = load i32, ptr %41, align 4, !tbaa !115 %43 = call i32 (ptr, ptr, ...) @asprintf(ptr noundef nonnull %4, ptr noundef nonnull @.str.23, i32 noundef %42) #13 %44 = icmp slt i32 %43, 0 br i1 %44, label %pmix_obj_run_destructors.exit, label %45 @@ -1536,7 +1536,7 @@ define internal noundef i32 @setup_fork(ptr noundef %0, ptr noundef %1, ptr noun %48 = load ptr, ptr %4, align 8, !tbaa !42 call void @free(ptr noundef %48) #13 %49 = getelementptr inbounds nuw i8, ptr %.03973, i64 408 - %50 = load i32, ptr %49, align 8, !tbaa !116 + %50 = load i32, ptr %49, align 8, !tbaa !117 %51 = call i32 (ptr, ptr, ...) @asprintf(ptr noundef nonnull %4, ptr noundef nonnull @.str.23, i32 noundef %50) #13 %52 = icmp slt i32 %51, 0 br i1 %52, label %pmix_obj_run_destructors.exit, label %53 @@ -1603,7 +1603,7 @@ pmix_obj_run_constructors.exit: ; preds = %.lr.ph.i, %60 %84 = load ptr, ptr %76, align 8, !tbaa !107 call void (i32, ptr, ...) @pmix_output(i32 noundef %77, ptr noundef nonnull @.str.16, ptr noundef nonnull @.str.17, i32 noundef 478, ptr noundef %84) #13 %.pre = load ptr, ptr %69, align 8, !tbaa !69 - %.pre79 = load i8, ptr %70, align 8, !tbaa !87, !range !109 + %.pre79 = load i8, ptr %70, align 8, !tbaa !87, !range !109, !noundef !110 %.pre80 = load ptr, ptr %71, align 8, !tbaa !88 %85 = trunc nuw i8 %.pre79 to i1 br label %86 @@ -1613,13 +1613,13 @@ pmix_obj_run_constructors.exit: ; preds = %.lr.ph.i, %60 %88 = phi i1 [ %85, %83 ], [ true, %78 ], [ true, %pmix_obj_run_constructors.exit ] %89 = phi ptr [ %.pre, %83 ], [ %0, %78 ], [ %0, %pmix_obj_run_constructors.exit ] %90 = getelementptr inbounds nuw i8, ptr %76, i64 80 - %91 = load ptr, ptr %90, align 8, !tbaa !110 + %91 = load ptr, ptr %90, align 8, !tbaa !111 %92 = getelementptr inbounds nuw i8, ptr %5, i64 508 - %93 = load i8, ptr %92, align 4, !tbaa !111 + %93 = load i8, ptr %92, align 4, !tbaa !112 %94 = getelementptr inbounds nuw i8, ptr %5, i64 760 - %95 = load ptr, ptr %94, align 8, !tbaa !112 + %95 = load ptr, ptr %94, align 8, !tbaa !113 %96 = getelementptr inbounds nuw i8, ptr %5, i64 768 - %97 = load i64, ptr %96, align 8, !tbaa !113 + %97 = load i64, ptr %96, align 8, !tbaa !114 %98 = getelementptr inbounds nuw i8, ptr %5, i64 800 %99 = call i32 %91(ptr noundef %89, i8 noundef zeroext %93, i1 noundef zeroext %88, ptr noundef %87, ptr noundef %95, i64 noundef %97, ptr noundef nonnull %98) #13 store ptr null, ptr %71, align 8, !tbaa !88 @@ -1709,7 +1709,7 @@ pmix_obj_run_destructors.exit63: ; preds = %.lr.ph.i60, %122 %140 = call i32 @PMIx_Setenv(ptr noundef nonnull @.str.29, ptr noundef %139, i1 noundef zeroext true, ptr noundef %1) #13 %141 = load ptr, ptr %4, align 8, !tbaa !42 call void @free(ptr noundef %141) #13 - %142 = load ptr, ptr getelementptr inbounds nuw (i8, ptr @pmix_globals, i64 344), align 8, !tbaa !120 + %142 = load ptr, ptr getelementptr inbounds nuw (i8, ptr @pmix_globals, i64 344), align 8, !tbaa !121 %143 = call i32 @PMIx_Setenv(ptr noundef nonnull @.str.30, ptr noundef %142, i1 noundef zeroext true, ptr noundef %1) #13 br label %pmix_obj_run_destructors.exit @@ -1804,7 +1804,7 @@ pmix_obj_run_destructors.exit: ; preds = %.lr.ph.i, %25 39: ; preds = %3 %.not = icmp eq ptr %8, getelementptr inbounds nuw (i8, ptr @mynspaces, i64 120) - br i1 %.not, label %.loopexit, label %3, !llvm.loop !121 + br i1 %.not, label %.loopexit, label %3, !llvm.loop !122 .loopexit: ; preds = %39, %1, %pmix_obj_update.exit, %38, %36 ret void @@ -2023,15 +2023,16 @@ attributes #18 = { nounwind allocsize(0) } !107 = !{!108, !5, i64 0} !108 = !{!"", !5, i64 0, !20, i64 8, !6, i64 16, !6, i64 24, !6, i64 32, !6, i64 40, !6, i64 48, !6, i64 56, !6, i64 64, !6, i64 72, !6, i64 80, !6, i64 88, !6, i64 96, !6, i64 104, !6, i64 112, !6, i64 120, !6, i64 128, !6, i64 136, !6, i64 144} !109 = !{i8 0, i8 2} -!110 = !{!108, !6, i64 80} -!111 = !{!70, !7, i64 508} -!112 = !{!70, !84, i64 760} -!113 = !{!70, !17, i64 768} -!114 = !{!68, !9, i64 404} -!115 = !{!68, !9, i64 412} -!116 = !{!68, !9, i64 408} -!117 = distinct !{!117, !29} +!110 = !{} +!111 = !{!108, !6, i64 80} +!112 = !{!70, !7, i64 508} +!113 = !{!70, !84, i64 760} +!114 = !{!70, !17, i64 768} +!115 = !{!68, !9, i64 404} +!116 = !{!68, !9, i64 412} +!117 = !{!68, !9, i64 408} !118 = distinct !{!118, !29} -!119 = !{!91, !9, i64 256} -!120 = !{!90, !5, i64 344} -!121 = distinct !{!121, !29} +!119 = distinct !{!119, !29} +!120 = !{!91, !9, i64 256} +!121 = !{!90, !5, i64 344} +!122 = distinct !{!122, !29} diff --git a/bench/openmpi/optimized/pmix_hash.ll b/bench/openmpi/optimized/pmix_hash.ll index 94978811e40..b3a869a2128 100644 --- a/bench/openmpi/optimized/pmix_hash.ll +++ b/bench/openmpi/optimized/pmix_hash.ll @@ -8839,7 +8839,6 @@ pmix_bfrops_base_tma_populate_pstats.exit: ; preds = %1195, %pmix_tma_str br label %1253 1253: ; preds = %.lr.ph1253, %pmix_bfrops_base_tma_populate_dkstats.exit - %.pre13811393 = phi i64 [ %1251, %.lr.ph1253 ], [ %.pre13811394, %pmix_bfrops_base_tma_populate_dkstats.exit ] %1254 = phi i64 [ %1251, %.lr.ph1253 ], [ %1264, %pmix_bfrops_base_tma_populate_dkstats.exit ] %.08181252 = phi i64 [ 0, %.lr.ph1253 ], [ %1298, %pmix_bfrops_base_tma_populate_dkstats.exit ] %1255 = getelementptr inbounds nuw %struct.pmix_disk_stats_t, ptr %1246, i64 %.08181252 @@ -8854,7 +8853,6 @@ pmix_bfrops_base_tma_populate_pstats.exit: ; preds = %1195, %pmix_tma_str 1259: ; preds = %1258 %1260 = load ptr, ptr %1252, align 8, !tbaa !194 %1261 = tail call ptr %1260(ptr noundef nonnull %2, ptr noundef nonnull %1257) #17 - %.pre1381.pre = load i64, ptr %13, align 8, !tbaa !47 br label %pmix_tma_strdup.exit.i1145 1262: ; preds = %1258 @@ -8862,13 +8860,12 @@ pmix_bfrops_base_tma_populate_pstats.exit: ; preds = %1195, %pmix_tma_str br label %pmix_tma_strdup.exit.i1145 pmix_tma_strdup.exit.i1145: ; preds = %1262, %1259 - %.pre1381 = phi i64 [ %.pre1381.pre, %1259 ], [ %.pre13811393, %1262 ] %.0.i.i1146 = phi ptr [ %1261, %1259 ], [ %1263, %1262 ] store ptr %.0.i.i1146, ptr %1255, align 8, !tbaa !125 + %.pre1381 = load i64, ptr %13, align 8 br label %pmix_bfrops_base_tma_populate_dkstats.exit pmix_bfrops_base_tma_populate_dkstats.exit: ; preds = %1253, %pmix_tma_strdup.exit.i1145 - %.pre13811394 = phi i64 [ %.pre13811393, %1253 ], [ %.pre1381, %pmix_tma_strdup.exit.i1145 ] %1264 = phi i64 [ %1254, %1253 ], [ %.pre1381, %pmix_tma_strdup.exit.i1145 ] %1265 = getelementptr inbounds nuw i8, ptr %1256, i64 8 %1266 = load i64, ptr %1265, align 8, !tbaa !270 @@ -11163,7 +11160,7 @@ pmix_tma_strdup.exit.i: ; preds = %.lr.ph.split %113 = load ptr, ptr %66, align 8, !tbaa !194 %114 = tail call ptr %113(ptr noundef nonnull %2, ptr noundef nonnull %112) #17 store ptr %114, ptr %109, align 8, !tbaa !125 - %.pre = load i64, ptr %54, align 8, !tbaa !151 + %.pre = load i64, ptr %54, align 8 br label %pmix_bfrops_base_tma_populate_dkstats.exit pmix_bfrops_base_tma_populate_dkstats.exit: ; preds = %.lr.ph.split, %pmix_tma_strdup.exit.i diff --git a/bench/openspiel/optimized/pathfinding.ll b/bench/openspiel/optimized/pathfinding.ll index ba100e405b1..1ed2f27b9bd 100644 --- a/bench/openspiel/optimized/pathfinding.ll +++ b/bench/openspiel/optimized/pathfinding.ll @@ -13229,32 +13229,32 @@ define linkonce_odr noundef nonnull align 4 dereferenceable(8) ptr @_ZN4absl7deb %49 = load i32, ptr %1, align 4, !noalias !68 store i32 %49, ptr %48, align 4, !noalias !68 %50 = getelementptr inbounds nuw i8, ptr %48, i64 4 + store i32 0, ptr %49, align 4, !noalias !68 + %50 = getelementptr inbounds nuw i8, ptr %47, i64 8 store i32 0, ptr %50, align 4, !noalias !68 - %51 = getelementptr inbounds nuw i8, ptr %48, i64 8 - store i32 0, ptr %51, align 4, !noalias !68 - %.pre.i.i = load ptr, ptr %0, align 8, !noalias !68 + %.pre.i.i = load ptr, ptr %0, align 8, !noalias !68, !nonnull !74, !noundef !74 %.pre19.i.i = load ptr, ptr %22, align 8, !noalias !68 - br label %_ZN4absl7debian218container_internal12raw_hash_mapINS1_17FlatHashMapPolicyIiSt4pairIiiEEENS0_13hash_internal4HashIiEESt8equal_toIiESaIS4_IKiS5_EEE11try_emplaceIiJETnNSt9enable_ifIXntsr3std14is_convertibleIT_NS1_12raw_hash_setIS6_S9_SB_SE_E14const_iteratorEEE5valueEiE4typeELi0EEES4_INSK_8iteratorEbERSC_DpOT0_.exit + br label %51 -_ZN4absl7debian218container_internal12raw_hash_mapINS1_17FlatHashMapPolicyIiSt4pairIiiEEENS0_13hash_internal4HashIiEESt8equal_toIiESaIS4_IKiS5_EEE11try_emplaceIiJETnNSt9enable_ifIXntsr3std14is_convertibleIT_NS1_12raw_hash_setIS6_S9_SB_SE_E14const_iteratorEEE5valueEiE4typeELi0EEES4_INSK_8iteratorEbERSC_DpOT0_.exit: ; preds = %.lr.ph.i.i.i, %45 - %52 = phi ptr [ %.pre19.i.i, %45 ], [ %23, %.lr.ph.i.i.i ] - %53 = phi ptr [ %.pre.i.i, %45 ], [ %11, %.lr.ph.i.i.i ] - %.sroa.026.0.i14.i.i = phi i64 [ %46, %45 ], [ %33, %.lr.ph.i.i.i ] - %.not.i.i = icmp eq ptr %53, null - br i1 %.not.i.i, label %.critedge.i.i, label %54 +_ZN4absl7debian218container_internal12raw_hash_mapINS1_17FlatHashMapPolicyIiSt4pairIiiEEENS0_13hash_internal4HashIiEESt8equal_toIiESaIS4_IKiS5_EEE11try_emplaceIiJETnNSt9enable_ifIXntsr3std14is_convertibleIT_NS1_12raw_hash_setIS6_S9_SB_SE_E14const_iteratorEEE5valueEiE4typeELi0EEES4_INSK_8iteratorEbERSC_DpOT0_.exit: ; preds = %.lr.ph.i.i.i + %.not.i.i = icmp eq ptr %11, null + br i1 %.not.i.i, label %.critedge.i.i, label %51 -54: ; preds = %_ZN4absl7debian218container_internal12raw_hash_mapINS1_17FlatHashMapPolicyIiSt4pairIiiEEENS0_13hash_internal4HashIiEESt8equal_toIiESaIS4_IKiS5_EEE11try_emplaceIiJETnNSt9enable_ifIXntsr3std14is_convertibleIT_NS1_12raw_hash_setIS6_S9_SB_SE_E14const_iteratorEEE5valueEiE4typeELi0EEES4_INSK_8iteratorEbERSC_DpOT0_.exit - %55 = getelementptr inbounds i8, ptr %53, i64 %.sroa.026.0.i14.i.i +51:; preds = %45, %_ZN4absl7debian218container_internal12raw_hash_mapINS1_17FlatHashMapPolicyIiSt4pairIiiEEENS0_13hash_internal4HashIiEESt8equal_toIiESaIS4_IKiS5_EEE11try_emplaceIiJETnNSt9enable_ifIXntsr3std14is_convertibleIT_NS1_12raw_hash_setIS6_S9_SB_SE_E14const_iteratorEEE5valueEiE4typeELi0EEES4_INSK_8iteratorEbERSC_DpOT0_.exit + %.sroa.026.0.i14.i.i6 = phi i64 [ %45, %_ZN4absl7debian218container_internal12raw_hash_mapINS1_17FlatHashMapPolicyIiSt4pairIiiEEENS0_13hash_internal4HashIiEESt8equal_toIiESaIS4_IKiS5_EEE11try_emplaceIiJETnNSt9enable_ifIXntsr3std14is_convertibleIT_NS1_12raw_hash_setIS6_S9_SB_SE_E14const_iteratorEEE5valueEiE4typeELi0EEES4_INSK_8iteratorEbERSC_DpOT0_.exit.thread ], [ %33, %_ZN4absl7debian218container_internal12raw_hash_mapINS1_17FlatHashMapPolicyIiSt4pairIiiEEENS0_13hash_internal4HashIiEESt8equal_toIiESaIS4_IKiS5_EEE11try_emplaceIiJETnNSt9enable_ifIXntsr3std14is_convertibleIT_NS1_12raw_hash_setIS6_S9_SB_SE_E14const_iteratorEEE5valueEiE4typeELi0EEES4_INSK_8iteratorEbERSC_DpOT0_.exit ] + %52 = phi ptr [ %.pre.i.i, %_ZN4absl7debian218container_internal12raw_hash_mapINS1_17FlatHashMapPolicyIiSt4pairIiiEEENS0_13hash_internal4HashIiEESt8equal_toIiESaIS4_IKiS5_EEE11try_emplaceIiJETnNSt9enable_ifIXntsr3std14is_convertibleIT_NS1_12raw_hash_setIS6_S9_SB_SE_E14const_iteratorEEE5valueEiE4typeELi0EEES4_INSK_8iteratorEbERSC_DpOT0_.exit.thread ], [ %11, %_ZN4absl7debian218container_internal12raw_hash_mapINS1_17FlatHashMapPolicyIiSt4pairIiiEEENS0_13hash_internal4HashIiEESt8equal_toIiESaIS4_IKiS5_EEE11try_emplaceIiJETnNSt9enable_ifIXntsr3std14is_convertibleIT_NS1_12raw_hash_setIS6_S9_SB_SE_E14const_iteratorEEE5valueEiE4typeELi0EEES4_INSK_8iteratorEbERSC_DpOT0_.exit ] + %53 = phi ptr [ %.pre19.i.i, %_ZN4absl7debian218container_internal12raw_hash_mapINS1_17FlatHashMapPolicyIiSt4pairIiiEEENS0_13hash_internal4HashIiEESt8equal_toIiESaIS4_IKiS5_EEE11try_emplaceIiJETnNSt9enable_ifIXntsr3std14is_convertibleIT_NS1_12raw_hash_setIS6_S9_SB_SE_E14const_iteratorEEE5valueEiE4typeELi0EEES4_INSK_8iteratorEbERSC_DpOT0_.exit.thread ], [ %23, %_ZN4absl7debian218container_internal12raw_hash_mapINS1_17FlatHashMapPolicyIiSt4pairIiiEEENS0_13hash_internal4HashIiEESt8equal_toIiESaIS4_IKiS5_EEE11try_emplaceIiJETnNSt9enable_ifIXntsr3std14is_convertibleIT_NS1_12raw_hash_setIS6_S9_SB_SE_E14const_iteratorEEE5valueEiE4typeELi0EEES4_INSK_8iteratorEbERSC_DpOT0_.exit ] + %55 = getelementptr inbounds i8, ptr %52, i64 %.sroa.026.0.i14.i.i6 %56 = load i8, ptr %55, align 1 %57 = icmp sgt i8 %56, -1 br i1 %57, label %_ZNK4absl7debian218container_internal12raw_hash_setINS1_17FlatHashMapPolicyIiSt4pairIiiEEENS0_13hash_internal4HashIiEESt8equal_toIiESaIS4_IKiS5_EEE8iteratordeEv.exit, label %.critedge.i.i -.critedge.i.i: ; preds = %54, %_ZN4absl7debian218container_internal12raw_hash_mapINS1_17FlatHashMapPolicyIiSt4pairIiiEEENS0_13hash_internal4HashIiEESt8equal_toIiESaIS4_IKiS5_EEE11try_emplaceIiJETnNSt9enable_ifIXntsr3std14is_convertibleIT_NS1_12raw_hash_setIS6_S9_SB_SE_E14const_iteratorEEE5valueEiE4typeELi0EEES4_INSK_8iteratorEbERSC_DpOT0_.exit +.critedge.i.i: ; preds = %51, %_ZN4absl7debian218container_internal12raw_hash_mapINS1_17FlatHashMapPolicyIiSt4pairIiiEEENS0_13hash_internal4HashIiEESt8equal_toIiESaIS4_IKiS5_EEE11try_emplaceIiJETnNSt9enable_ifIXntsr3std14is_convertibleIT_NS1_12raw_hash_setIS6_S9_SB_SE_E14const_iteratorEEE5valueEiE4typeELi0EEES4_INSK_8iteratorEbERSC_DpOT0_.exit tail call void @llvm.trap() unreachable -_ZNK4absl7debian218container_internal12raw_hash_setINS1_17FlatHashMapPolicyIiSt4pairIiiEEENS0_13hash_internal4HashIiEESt8equal_toIiESaIS4_IKiS5_EEE8iteratordeEv.exit: ; preds = %54 - %58 = getelementptr inbounds %"union.absl::debian2::container_internal::map_slot_type", ptr %52, i64 %.sroa.026.0.i14.i.i, i32 0, i32 1 +_ZNK4absl7debian218container_internal12raw_hash_setINS1_17FlatHashMapPolicyIiSt4pairIiiEEENS0_13hash_internal4HashIiEESt8equal_toIiESaIS4_IKiS5_EEE8iteratordeEv.exit: ; preds = %51 + %58 = getelementptr inbounds %"union.absl::debian2::container_internal::map_slot_type", ptr %53, i64 %.sroa.026.0.i14.i.i6, i32 0, i32 1 ret ptr %58 } @@ -13612,10 +13612,10 @@ _ZNKSt6vectorISt4pairIiiESaIS1_EE12_M_check_lenEmPKc.exit.i: ; preds = %22 .lr.ph.i.i.i.i: ; preds = %_ZNKSt6vectorISt4pairIiiESaIS1_EE12_M_check_lenEmPKc.exit.i, %.lr.ph.i.i.i.i %.012.i.i.i.i = phi ptr [ %33, %.lr.ph.i.i.i.i ], [ %28, %_ZNKSt6vectorISt4pairIiiESaIS1_EE12_M_check_lenEmPKc.exit.i ] %.0911.i.i.i.i = phi ptr [ %32, %.lr.ph.i.i.i.i ], [ %5, %_ZNKSt6vectorISt4pairIiiESaIS1_EE12_M_check_lenEmPKc.exit.i ] - tail call void @llvm.experimental.noalias.scope.decl(metadata !74) - tail call void @llvm.experimental.noalias.scope.decl(metadata !77) - %31 = load i64, ptr %.0911.i.i.i.i, align 4, !alias.scope !77, !noalias !74 - store i64 %31, ptr %.012.i.i.i.i, align 4, !alias.scope !74, !noalias !77 + tail call void @llvm.experimental.noalias.scope.decl(metadata !75) + tail call void @llvm.experimental.noalias.scope.decl(metadata !78) + %31 = load i64, ptr %.0911.i.i.i.i, align 4, !alias.scope !78, !noalias !75 + store i64 %31, ptr %.012.i.i.i.i, align 4, !alias.scope !75, !noalias !78 %32 = getelementptr inbounds nuw i8, ptr %.0911.i.i.i.i, i64 8 %33 = getelementptr inbounds nuw i8, ptr %.012.i.i.i.i, i64 8 %.not.i.i.i.i = icmp eq ptr %32, %4 @@ -13772,7 +13772,7 @@ define linkonce_odr noundef i64 @_ZN4absl7debian218container_internal12raw_hash_ %20 = icmp slt <16 x i8> %19, splat (i8 -1) %21 = bitcast <16 x i1> %20 to i16 %.not.i = icmp eq i16 %21, 0 - br i1 %.not.i, label %.lr.ph.i, label %_ZN4absl7debian218container_internal19find_first_non_fullEPamm.exit, !llvm.loop !79 + br i1 %.not.i, label %.lr.ph.i, label %_ZN4absl7debian218container_internal19find_first_non_fullEPamm.exit, !llvm.loop !80 _ZN4absl7debian218container_internal19find_first_non_fullEPamm.exit: ; preds = %.lr.ph.i, %2 %.sroa.3.0.lcssa.i = phi i64 [ %10, %2 ], [ %17, %.lr.ph.i ] @@ -13844,7 +13844,7 @@ _ZN4absl7debian218container_internal12raw_hash_setINS1_17FlatHashMapPolicyIiSt4p %61 = icmp slt <16 x i8> %60, splat (i8 -1) %62 = bitcast <16 x i1> %61 to i16 %.not.i18 = icmp eq i16 %62, 0 - br i1 %.not.i18, label %.lr.ph.i15, label %_ZN4absl7debian218container_internal19find_first_non_fullEPamm.exit19, !llvm.loop !79 + br i1 %.not.i18, label %.lr.ph.i15, label %_ZN4absl7debian218container_internal19find_first_non_fullEPamm.exit19, !llvm.loop !80 _ZN4absl7debian218container_internal19find_first_non_fullEPamm.exit19: ; preds = %.lr.ph.i15, %_ZN4absl7debian218container_internal12raw_hash_setINS1_17FlatHashMapPolicyIiSt4pairIiiEEENS0_13hash_internal4HashIiEESt8equal_toIiESaIS4_IKiS5_EEE28rehash_and_grow_if_necessaryEv.exit %.sroa.3.0.lcssa.i10 = phi i64 [ %51, %_ZN4absl7debian218container_internal12raw_hash_setINS1_17FlatHashMapPolicyIiSt4pairIiiEEENS0_13hash_internal4HashIiEESt8equal_toIiESaIS4_IKiS5_EEE28rehash_and_grow_if_necessaryEv.exit ], [ %58, %.lr.ph.i15 ] @@ -13971,7 +13971,7 @@ _ZN4absl7debian218container_internal12raw_hash_setINS1_17FlatHashMapPolicyIiSt4p %52 = icmp slt <16 x i8> %51, splat (i8 -1) %53 = bitcast <16 x i1> %52 to i16 %.not.i = icmp eq i16 %53, 0 - br i1 %.not.i, label %.lr.ph.i, label %_ZN4absl7debian218container_internal19find_first_non_fullEPamm.exit, !llvm.loop !79 + br i1 %.not.i, label %.lr.ph.i, label %_ZN4absl7debian218container_internal19find_first_non_fullEPamm.exit, !llvm.loop !80 _ZN4absl7debian218container_internal19find_first_non_fullEPamm.exit: ; preds = %.lr.ph.i, %26 %.sroa.3.0.lcssa.i = phi i64 [ %42, %26 ], [ %49, %.lr.ph.i ] @@ -14001,7 +14001,7 @@ _ZN4absl7debian218container_internal19find_first_non_fullEPamm.exit: ; preds = % 71: ; preds = %.lr.ph, %_ZN4absl7debian218container_internal19find_first_non_fullEPamm.exit %72 = add nuw i64 %.02132, 1 %.not = icmp eq i64 %72, %7 - br i1 %.not, label %._crit_edge, label %.lr.ph, !llvm.loop !80 + br i1 %.not, label %._crit_edge, label %.lr.ph, !llvm.loop !81 ._crit_edge: ; preds = %71 %73 = add i64 %7, 20 @@ -14073,7 +14073,7 @@ define linkonce_odr void @_ZN4absl7debian218container_internal12raw_hash_setINS1 %39 = icmp slt <16 x i8> %38, splat (i8 -1) %40 = bitcast <16 x i1> %39 to i16 %.not.i = icmp eq i16 %40, 0 - br i1 %.not.i, label %.lr.ph.i, label %_ZN4absl7debian218container_internal19find_first_non_fullEPamm.exit, !llvm.loop !79 + br i1 %.not.i, label %.lr.ph.i, label %_ZN4absl7debian218container_internal19find_first_non_fullEPamm.exit, !llvm.loop !80 _ZN4absl7debian218container_internal19find_first_non_fullEPamm.exit: ; preds = %.lr.ph.i, %14 %.sroa.3.0.lcssa.i = phi i64 [ %29, %14 ], [ %36, %.lr.ph.i ] @@ -14157,7 +14157,7 @@ _ZN4absl7debian218container_internal19find_first_non_fullEPamm.exit: ; preds = % %95 = add i64 %.123, 1 %96 = load i64, ptr %4, align 8 %.not = icmp eq i64 %95, %96 - br i1 %.not, label %._crit_edge, label %8, !llvm.loop !81 + br i1 %.not, label %._crit_edge, label %8, !llvm.loop !82 ._crit_edge: ; preds = %94, %1 %.lcssa35 = phi i64 [ 0, %1 ], [ %95, %94 ] @@ -14485,7 +14485,7 @@ _ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN10open_spiel13Gam _ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_N10open_spiel13GameParameterEESt10_Select1stISA_ESt4lessIS5_ESaISA_EE17_M_insert_unique_IRSA_NSG_11_Alloc_nodeEEESt17_Rb_tree_iteratorISA_ESt23_Rb_tree_const_iteratorISA_EOT_RT0_.exit.i.i: ; preds = %29, %.noexc7 %32 = call noundef ptr @_ZSt18_Rb_tree_incrementPSt18_Rb_tree_node_base(ptr noundef nonnull %.sroa.03.07.i.i) #33 %.not.i.i6 = icmp eq ptr %32, %25 - br i1 %.not.i.i6, label %.loopexit, label %.lr.ph.i.i, !llvm.loop !82 + br i1 %.not.i.i6, label %.loopexit, label %.lr.ph.i.i, !llvm.loop !83 33: ; preds = %13 %34 = landingpad { ptr, i32 } @@ -14767,7 +14767,7 @@ _ZNKSt4lessINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclERKS5_S8_.exi %.in.i = getelementptr inbounds nuw i8, ptr %.02127.i, i64 %.in.v.i %.021.i = load ptr, ptr %.in.i, align 8 %.not.i = icmp eq ptr %.021.i, null - br i1 %.not.i, label %._crit_edge.i, label %.lr.ph.i, !llvm.loop !83 + br i1 %.not.i, label %._crit_edge.i, label %.lr.ph.i, !llvm.loop !84 ._crit_edge.i: ; preds = %_ZNKSt4lessINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclERKS5_S8_.exit.i br i1 %27, label %._crit_edge.thread.i, label %33 @@ -14875,7 +14875,7 @@ _ZNKSt4lessINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclERKS5_S8_.exi %.in.i18 = getelementptr inbounds nuw i8, ptr %.02127.i15, i64 %.in.v.i17 %.021.i19 = load ptr, ptr %.in.i18, align 8 %.not.i20 = icmp eq ptr %.021.i19, null - br i1 %.not.i20, label %._crit_edge.i21, label %.lr.ph.i14, !llvm.loop !83 + br i1 %.not.i20, label %._crit_edge.i21, label %.lr.ph.i14, !llvm.loop !84 ._crit_edge.i21: ; preds = %_ZNKSt4lessINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclERKS5_S8_.exit.i16 br i1 %70, label %._crit_edge.thread.i31, label %75 @@ -14981,7 +14981,7 @@ _ZNKSt4lessINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclERKS5_S8_.exi %.in.i42 = getelementptr inbounds nuw i8, ptr %.02127.i39, i64 %.in.v.i41 %.021.i43 = load ptr, ptr %.in.i42, align 8 %.not.i44 = icmp eq ptr %.021.i43, null - br i1 %.not.i44, label %._crit_edge.i45, label %.lr.ph.i38, !llvm.loop !83 + br i1 %.not.i44, label %._crit_edge.i45, label %.lr.ph.i38, !llvm.loop !84 ._crit_edge.i45: ; preds = %_ZNKSt4lessINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclERKS5_S8_.exit.i40 br i1 %111, label %._crit_edge.thread.i55, label %117 @@ -15267,7 +15267,7 @@ _ZNKSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_ ; Function Attrs: mustprogress uwtable define linkonce_odr void @_ZNSt17_Function_handlerIFSt10shared_ptrIKN10open_spiel4GameEERKSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEENS1_13GameParameterESt4lessISB_ESaISt4pairIKSB_SC_EEEEPSM_E9_M_invokeERKSt9_Any_dataSL_(ptr dead_on_unwind noalias writable sret(%"class.std::shared_ptr") align 8 %0, ptr noundef nonnull align 8 dereferenceable(16) %1, ptr noundef nonnull align 8 dereferenceable(48) %2) #3 comdat align 2 { - %4 = load ptr, ptr %1, align 8, !noalias !84 + %4 = load ptr, ptr %1, align 8, !noalias !85 tail call void %4(ptr dead_on_unwind writable sret(%"class.std::shared_ptr") align 8 %0, ptr noundef nonnull align 8 dereferenceable(48) %2) ret void } @@ -15342,23 +15342,23 @@ _ZNKSt6vectorIS_IiSaIiEESaIS1_EE12_M_check_lenEmPKc.exit: ; preds = %3 .lr.ph.i.i.i: ; preds = %_ZNKSt6vectorIS_IiSaIiEESaIS1_EE12_M_check_lenEmPKc.exit, %.lr.ph.i.i.i %.012.i.i.i = phi ptr [ %37, %.lr.ph.i.i.i ], [ %20, %_ZNKSt6vectorIS_IiSaIiEESaIS1_EE12_M_check_lenEmPKc.exit ] %.0911.i.i.i = phi ptr [ %36, %.lr.ph.i.i.i ], [ %6, %_ZNKSt6vectorIS_IiSaIiEESaIS1_EE12_M_check_lenEmPKc.exit ] - tail call void @llvm.experimental.noalias.scope.decl(metadata !89) - tail call void @llvm.experimental.noalias.scope.decl(metadata !92) - %29 = load ptr, ptr %.0911.i.i.i, align 8, !alias.scope !92, !noalias !89 - store ptr %29, ptr %.012.i.i.i, align 8, !alias.scope !89, !noalias !92 + tail call void @llvm.experimental.noalias.scope.decl(metadata !90) + tail call void @llvm.experimental.noalias.scope.decl(metadata !93) + %29 = load ptr, ptr %.0911.i.i.i, align 8, !alias.scope !93, !noalias !90 + store ptr %29, ptr %.012.i.i.i, align 8, !alias.scope !90, !noalias !93 %30 = getelementptr inbounds nuw i8, ptr %.012.i.i.i, i64 8 %31 = getelementptr inbounds nuw i8, ptr %.0911.i.i.i, i64 8 - %32 = load ptr, ptr %31, align 8, !alias.scope !92, !noalias !89 - store ptr %32, ptr %30, align 8, !alias.scope !89, !noalias !92 + %32 = load ptr, ptr %31, align 8, !alias.scope !93, !noalias !90 + store ptr %32, ptr %30, align 8, !alias.scope !90, !noalias !93 %33 = getelementptr inbounds nuw i8, ptr %.012.i.i.i, i64 16 %34 = getelementptr inbounds nuw i8, ptr %.0911.i.i.i, i64 16 - %35 = load ptr, ptr %34, align 8, !alias.scope !92, !noalias !89 - store ptr %35, ptr %33, align 8, !alias.scope !89, !noalias !92 - tail call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %.0911.i.i.i, i8 0, i64 24, i1 false), !alias.scope !92, !noalias !89 + %35 = load ptr, ptr %34, align 8, !alias.scope !93, !noalias !90 + store ptr %35, ptr %33, align 8, !alias.scope !90, !noalias !93 + tail call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %.0911.i.i.i, i8 0, i64 24, i1 false), !alias.scope !93, !noalias !90 %36 = getelementptr inbounds nuw i8, ptr %.0911.i.i.i, i64 24 %37 = getelementptr inbounds nuw i8, ptr %.012.i.i.i, i64 24 %.not.i.i.i = icmp eq ptr %36, %1 - br i1 %.not.i.i.i, label %_ZNSt6vectorIS_IiSaIiEESaIS1_EE11_S_relocateEPS1_S4_S4_RS2_.exit, label %.lr.ph.i.i.i, !llvm.loop !94 + br i1 %.not.i.i.i, label %_ZNSt6vectorIS_IiSaIiEESaIS1_EE11_S_relocateEPS1_S4_S4_RS2_.exit, label %.lr.ph.i.i.i, !llvm.loop !95 _ZNSt6vectorIS_IiSaIiEESaIS1_EE11_S_relocateEPS1_S4_S4_RS2_.exit: ; preds = %.lr.ph.i.i.i, %_ZNKSt6vectorIS_IiSaIiEESaIS1_EE12_M_check_lenEmPKc.exit %.0.lcssa.i.i.i = phi ptr [ %20, %_ZNKSt6vectorIS_IiSaIiEESaIS1_EE12_M_check_lenEmPKc.exit ], [ %37, %.lr.ph.i.i.i ] @@ -15369,23 +15369,23 @@ _ZNSt6vectorIS_IiSaIiEESaIS1_EE11_S_relocateEPS1_S4_S4_RS2_.exit: ; preds = %.lr .lr.ph.i.i.i17: ; preds = %_ZNSt6vectorIS_IiSaIiEESaIS1_EE11_S_relocateEPS1_S4_S4_RS2_.exit, %.lr.ph.i.i.i17 %.012.i.i.i18 = phi ptr [ %47, %.lr.ph.i.i.i17 ], [ %38, %_ZNSt6vectorIS_IiSaIiEESaIS1_EE11_S_relocateEPS1_S4_S4_RS2_.exit ] %.0911.i.i.i19 = phi ptr [ %46, %.lr.ph.i.i.i17 ], [ %1, %_ZNSt6vectorIS_IiSaIiEESaIS1_EE11_S_relocateEPS1_S4_S4_RS2_.exit ] - tail call void @llvm.experimental.noalias.scope.decl(metadata !95) - tail call void @llvm.experimental.noalias.scope.decl(metadata !98) - %39 = load ptr, ptr %.0911.i.i.i19, align 8, !alias.scope !98, !noalias !95 - store ptr %39, ptr %.012.i.i.i18, align 8, !alias.scope !95, !noalias !98 + tail call void @llvm.experimental.noalias.scope.decl(metadata !96) + tail call void @llvm.experimental.noalias.scope.decl(metadata !99) + %39 = load ptr, ptr %.0911.i.i.i19, align 8, !alias.scope !99, !noalias !96 + store ptr %39, ptr %.012.i.i.i18, align 8, !alias.scope !96, !noalias !99 %40 = getelementptr inbounds nuw i8, ptr %.012.i.i.i18, i64 8 %41 = getelementptr inbounds nuw i8, ptr %.0911.i.i.i19, i64 8 - %42 = load ptr, ptr %41, align 8, !alias.scope !98, !noalias !95 - store ptr %42, ptr %40, align 8, !alias.scope !95, !noalias !98 + %42 = load ptr, ptr %41, align 8, !alias.scope !99, !noalias !96 + store ptr %42, ptr %40, align 8, !alias.scope !96, !noalias !99 %43 = getelementptr inbounds nuw i8, ptr %.012.i.i.i18, i64 16 %44 = getelementptr inbounds nuw i8, ptr %.0911.i.i.i19, i64 16 - %45 = load ptr, ptr %44, align 8, !alias.scope !98, !noalias !95 - store ptr %45, ptr %43, align 8, !alias.scope !95, !noalias !98 - tail call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %.0911.i.i.i19, i8 0, i64 24, i1 false), !alias.scope !98, !noalias !95 + %45 = load ptr, ptr %44, align 8, !alias.scope !99, !noalias !96 + store ptr %45, ptr %43, align 8, !alias.scope !96, !noalias !99 + tail call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %.0911.i.i.i19, i8 0, i64 24, i1 false), !alias.scope !99, !noalias !96 %46 = getelementptr inbounds nuw i8, ptr %.0911.i.i.i19, i64 24 %47 = getelementptr inbounds nuw i8, ptr %.012.i.i.i18, i64 24 %.not.i.i.i20 = icmp eq ptr %46, %5 - br i1 %.not.i.i.i20, label %_ZNSt6vectorIS_IiSaIiEESaIS1_EE11_S_relocateEPS1_S4_S4_RS2_.exit22, label %.lr.ph.i.i.i17, !llvm.loop !94 + br i1 %.not.i.i.i20, label %_ZNSt6vectorIS_IiSaIiEESaIS1_EE11_S_relocateEPS1_S4_S4_RS2_.exit22, label %.lr.ph.i.i.i17, !llvm.loop !95 _ZNSt6vectorIS_IiSaIiEESaIS1_EE11_S_relocateEPS1_S4_S4_RS2_.exit22: ; preds = %.lr.ph.i.i.i17, %_ZNSt6vectorIS_IiSaIiEESaIS1_EE11_S_relocateEPS1_S4_S4_RS2_.exit %.0.lcssa.i.i.i21 = phi ptr [ %38, %_ZNSt6vectorIS_IiSaIiEESaIS1_EE11_S_relocateEPS1_S4_S4_RS2_.exit ], [ %47, %.lr.ph.i.i.i17 ] @@ -15470,7 +15470,7 @@ define linkonce_odr ptr @_ZSt9__find_ifIN9__gnu_cxx17__normal_iteratorIPSt4pairI %45 = getelementptr inbounds nuw i8, ptr %.sroa.032.051, i64 32 %46 = add nsw i64 %.052, -1 %47 = icmp sgt i64 %.052, 1 - br i1 %47, label %13, label %._crit_edge.loopexit, !llvm.loop !100 + br i1 %47, label %13, label %._crit_edge.loopexit, !llvm.loop !101 ._crit_edge.loopexit: ; preds = %44 %.pre62 = ptrtoint ptr %scevgep to i64 @@ -15989,7 +15989,7 @@ define linkonce_odr noundef ptr @_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11c %.0.in = getelementptr inbounds nuw i8, ptr %.037, i64 16 %.0 = load ptr, ptr %.0.in, align 8 %.not31 = icmp eq ptr %.0, null - br i1 %.not31, label %._crit_edge, label %.lr.ph, !llvm.loop !101 + br i1 %.not31, label %._crit_edge, label %.lr.ph, !llvm.loop !102 35: ; preds = %19, %16 %36 = landingpad { ptr, i32 } @@ -16048,7 +16048,7 @@ define linkonce_odr noundef ptr @_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11c %16 = getelementptr inbounds nuw i8, ptr %storemerge.i, i64 24 %17 = load ptr, ptr %16, align 8 %.not11.i = icmp eq ptr %17, null - br i1 %.not11.i, label %18, label %.preheader.i, !llvm.loop !102 + br i1 %.not11.i, label %18, label %.preheader.i, !llvm.loop !103 18: ; preds = %.preheader.i %19 = getelementptr inbounds nuw i8, ptr %storemerge.i, i64 16 @@ -16575,7 +16575,7 @@ _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_.exit58.i: _ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_N10open_spiel13GameParameterEESt10_Select1stISA_ESt4lessIS5_ESaISA_EE17_M_insert_unique_IRKSA_NSG_11_Alloc_nodeEEESt17_Rb_tree_iteratorISA_ESt23_Rb_tree_const_iteratorISA_EOT_RT0_.exit.i.i.i: ; preds = %68, %.noexc.i.i %.07.i.i.add.i = add nuw nsw i64 %.07.i.i.idx.i, 144 %.not.i.i.i = icmp eq i64 %.07.i.i.add.i, 864 - br i1 %.not.i.i.i, label %72, label %.lr.ph.i.i.i, !llvm.loop !103 + br i1 %.not.i.i.i, label %72, label %.lr.ph.i.i.i, !llvm.loop !104 .body60.i: ; preds = %68, %.lr.ph.i.i.i %71 = landingpad { ptr, i32 } @@ -17051,33 +17051,34 @@ attributes #33 = { nounwind willreturn memory(read) } !71 = distinct !{!71, !72, !"_ZN4absl7debian218container_internal12raw_hash_mapINS1_17FlatHashMapPolicyIiSt4pairIiiEEENS0_13hash_internal4HashIiEESt8equal_toIiESaIS4_IKiS5_EEE11try_emplaceIiJETnNSt9enable_ifIXntsr3std14is_convertibleIT_NS1_12raw_hash_setIS6_S9_SB_SE_E14const_iteratorEEE5valueEiE4typeELi0EEES4_INSK_8iteratorEbERSC_DpOT0_: argument 0"} !72 = distinct !{!72, !"_ZN4absl7debian218container_internal12raw_hash_mapINS1_17FlatHashMapPolicyIiSt4pairIiiEEENS0_13hash_internal4HashIiEESt8equal_toIiESaIS4_IKiS5_EEE11try_emplaceIiJETnNSt9enable_ifIXntsr3std14is_convertibleIT_NS1_12raw_hash_setIS6_S9_SB_SE_E14const_iteratorEEE5valueEiE4typeELi0EEES4_INSK_8iteratorEbERSC_DpOT0_"} !73 = distinct !{!73, !5} -!74 = !{!75} -!75 = distinct !{!75, !76, !"_ZSt19__relocate_object_aISt4pairIiiES1_SaIS1_EEvPT_PT0_RT1_: argument 0"} -!76 = distinct !{!76, !"_ZSt19__relocate_object_aISt4pairIiiES1_SaIS1_EEvPT_PT0_RT1_"} -!77 = !{!78} -!78 = distinct !{!78, !76, !"_ZSt19__relocate_object_aISt4pairIiiES1_SaIS1_EEvPT_PT0_RT1_: argument 1"} -!79 = distinct !{!79, !5} +!74 = !{} +!75 = !{!76} +!76 = distinct !{!76, !77, !"_ZSt19__relocate_object_aISt4pairIiiES1_SaIS1_EEvPT_PT0_RT1_: argument 0"} +!77 = distinct !{!77, !"_ZSt19__relocate_object_aISt4pairIiiES1_SaIS1_EEvPT_PT0_RT1_"} +!78 = !{!79} +!79 = distinct !{!79, !77, !"_ZSt19__relocate_object_aISt4pairIiiES1_SaIS1_EEvPT_PT0_RT1_: argument 1"} !80 = distinct !{!80, !5} !81 = distinct !{!81, !5} !82 = distinct !{!82, !5} !83 = distinct !{!83, !5} -!84 = !{!85, !87} -!85 = distinct !{!85, !86, !"_ZSt13__invoke_implISt10shared_ptrIKN10open_spiel4GameEERPFS4_RKSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEENS1_13GameParameterESt4lessISB_ESaISt4pairIKSB_SC_EEEEJSL_EET_St14__invoke_otherOT0_DpOT1_: argument 0"} -!86 = distinct !{!86, !"_ZSt13__invoke_implISt10shared_ptrIKN10open_spiel4GameEERPFS4_RKSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEENS1_13GameParameterESt4lessISB_ESaISt4pairIKSB_SC_EEEEJSL_EET_St14__invoke_otherOT0_DpOT1_"} -!87 = distinct !{!87, !88, !"_ZSt10__invoke_rISt10shared_ptrIKN10open_spiel4GameEERPFS4_RKSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEENS1_13GameParameterESt4lessISB_ESaISt4pairIKSB_SC_EEEEJSL_EENSt9enable_ifIX16is_invocable_r_vIT_T0_DpT1_EESQ_E4typeEOSR_DpOSS_: argument 0"} -!88 = distinct !{!88, !"_ZSt10__invoke_rISt10shared_ptrIKN10open_spiel4GameEERPFS4_RKSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEENS1_13GameParameterESt4lessISB_ESaISt4pairIKSB_SC_EEEEJSL_EENSt9enable_ifIX16is_invocable_r_vIT_T0_DpT1_EESQ_E4typeEOSR_DpOSS_"} -!89 = !{!90} -!90 = distinct !{!90, !91, !"_ZSt19__relocate_object_aISt6vectorIiSaIiEES2_SaIS2_EEvPT_PT0_RT1_: argument 0"} -!91 = distinct !{!91, !"_ZSt19__relocate_object_aISt6vectorIiSaIiEES2_SaIS2_EEvPT_PT0_RT1_"} -!92 = !{!93} -!93 = distinct !{!93, !91, !"_ZSt19__relocate_object_aISt6vectorIiSaIiEES2_SaIS2_EEvPT_PT0_RT1_: argument 1"} -!94 = distinct !{!94, !5} -!95 = !{!96} -!96 = distinct !{!96, !97, !"_ZSt19__relocate_object_aISt6vectorIiSaIiEES2_SaIS2_EEvPT_PT0_RT1_: argument 0"} -!97 = distinct !{!97, !"_ZSt19__relocate_object_aISt6vectorIiSaIiEES2_SaIS2_EEvPT_PT0_RT1_"} -!98 = !{!99} -!99 = distinct !{!99, !97, !"_ZSt19__relocate_object_aISt6vectorIiSaIiEES2_SaIS2_EEvPT_PT0_RT1_: argument 1"} -!100 = distinct !{!100, !5} +!84 = distinct !{!84, !5} +!85 = !{!86, !88} +!86 = distinct !{!86, !87, !"_ZSt13__invoke_implISt10shared_ptrIKN10open_spiel4GameEERPFS4_RKSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEENS1_13GameParameterESt4lessISB_ESaISt4pairIKSB_SC_EEEEJSL_EET_St14__invoke_otherOT0_DpOT1_: argument 0"} +!87 = distinct !{!87, !"_ZSt13__invoke_implISt10shared_ptrIKN10open_spiel4GameEERPFS4_RKSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEENS1_13GameParameterESt4lessISB_ESaISt4pairIKSB_SC_EEEEJSL_EET_St14__invoke_otherOT0_DpOT1_"} +!88 = distinct !{!88, !89, !"_ZSt10__invoke_rISt10shared_ptrIKN10open_spiel4GameEERPFS4_RKSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEENS1_13GameParameterESt4lessISB_ESaISt4pairIKSB_SC_EEEEJSL_EENSt9enable_ifIX16is_invocable_r_vIT_T0_DpT1_EESQ_E4typeEOSR_DpOSS_: argument 0"} +!89 = distinct !{!89, !"_ZSt10__invoke_rISt10shared_ptrIKN10open_spiel4GameEERPFS4_RKSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEENS1_13GameParameterESt4lessISB_ESaISt4pairIKSB_SC_EEEEJSL_EENSt9enable_ifIX16is_invocable_r_vIT_T0_DpT1_EESQ_E4typeEOSR_DpOSS_"} +!90 = !{!91} +!91 = distinct !{!91, !92, !"_ZSt19__relocate_object_aISt6vectorIiSaIiEES2_SaIS2_EEvPT_PT0_RT1_: argument 0"} +!92 = distinct !{!92, !"_ZSt19__relocate_object_aISt6vectorIiSaIiEES2_SaIS2_EEvPT_PT0_RT1_"} +!93 = !{!94} +!94 = distinct !{!94, !92, !"_ZSt19__relocate_object_aISt6vectorIiSaIiEES2_SaIS2_EEvPT_PT0_RT1_: argument 1"} +!95 = distinct !{!95, !5} +!96 = !{!97} +!97 = distinct !{!97, !98, !"_ZSt19__relocate_object_aISt6vectorIiSaIiEES2_SaIS2_EEvPT_PT0_RT1_: argument 0"} +!98 = distinct !{!98, !"_ZSt19__relocate_object_aISt6vectorIiSaIiEES2_SaIS2_EEvPT_PT0_RT1_"} +!99 = !{!100} +!100 = distinct !{!100, !98, !"_ZSt19__relocate_object_aISt6vectorIiSaIiEES2_SaIS2_EEvPT_PT0_RT1_: argument 1"} !101 = distinct !{!101, !5} !102 = distinct !{!102, !5} !103 = distinct !{!103, !5} +!104 = distinct !{!104, !5} diff --git a/bench/openusd/optimized/textFileFormat.lex.ll b/bench/openusd/optimized/textFileFormat.lex.ll index fb6dce0c2df..844ce68af30 100644 --- a/bench/openusd/optimized/textFileFormat.lex.ll +++ b/bench/openusd/optimized/textFileFormat.lex.ll @@ -4066,7 +4066,7 @@ _ZL35textFileFormatYyensure_buffer_stackPv.exit: ; preds = %10, %13, %24 %48 = load ptr, ptr %47, align 8 %49 = getelementptr inbounds nuw i8, ptr %48, i64 32 store i64 %44, ptr %49, align 8 - %.pr.pre = load ptr, ptr %5, align 8 + %.pr.pre = load ptr, ptr %5, align 8, !nonnull !12, !noundef !12 %.pre32 = load i64, ptr %29, align 8 %.phi.trans.insert33 = getelementptr inbounds ptr, ptr %.pr.pre, i64 %.pre32 %.pre34 = load ptr, ptr %.phi.trans.insert33, align 8 @@ -4686,7 +4686,7 @@ _Z32textFileFormatYypop_buffer_statePv.exit: ; preds = %26, %45, %49 %60 = getelementptr inbounds ptr, ptr %58, i64 %59 %61 = load ptr, ptr %60, align 8 %62 = icmp eq ptr %61, null - br i1 %62, label %.critedge, label %.thread.i, !llvm.loop !12 + br i1 %62, label %.critedge, label %.thread.i, !llvm.loop !13 .critedge: ; preds = %_Z32textFileFormatYypop_buffer_statePv.exit, %_Z30textFileFormatYy_delete_bufferP15yy_buffer_statePv.exit, %42, %.lr.ph, %1 %.lcssa = phi ptr [ null, %1 ], [ %4, %.lr.ph ], [ null, %42 ], [ null, %_Z30textFileFormatYy_delete_bufferP15yy_buffer_statePv.exit ], [ %58, %_Z32textFileFormatYypop_buffer_statePv.exit ] @@ -5231,4 +5231,5 @@ attributes #37 = { nounwind willreturn memory(read) } !9 = distinct !{!9, !5} !10 = distinct !{!10, !5} !11 = distinct !{!11, !5} -!12 = distinct !{!12, !5} +!12 = !{} +!13 = distinct !{!13, !5} diff --git a/bench/php/optimized/html.ll b/bench/php/optimized/html.ll index e635818920f..4978581cb42 100644 --- a/bench/php/optimized/html.ll +++ b/bench/php/optimized/html.ll @@ -7073,7 +7073,7 @@ zend_parse_arg_bool_ex.exit: ; preds = %38 br i1 %cond.fr99, label %zend_parse_arg_bool_ex.exit..critedge_crit_edge, label %.thread109, !prof !68 zend_parse_arg_bool_ex.exit..critedge_crit_edge: ; preds = %zend_parse_arg_bool_ex.exit - %.pre = load i8, ptr %7, align 1, !tbaa !66, !range !72 + %.pre = load i8, ptr %7, align 1, !tbaa !66, !range !72, !noundef !73 br label %.critedge .thread109: ; preds = %zend_parse_arg_bool_ex.exit, %zend_parse_arg_str_ex.exit, %zend_parse_arg_long_ex.exit, %zend_parse_arg_str_ex.exit94, %11 @@ -7167,7 +7167,7 @@ zend_parse_arg_long_ex.exit.thread: ; preds = %18 zend_parse_arg_long_ex.exit: ; preds = %18 %24 = call zeroext i1 @zend_parse_arg_long_slow(ptr noundef nonnull %19, ptr noundef nonnull %4, i32 noundef 2) #19 - br i1 %24, label %zend_parse_arg_long_ex.exit..critedge_crit_edge, label %.thread70, !prof !73 + br i1 %24, label %zend_parse_arg_long_ex.exit..critedge_crit_edge, label %.thread70, !prof !74 zend_parse_arg_long_ex.exit..critedge_crit_edge: ; preds = %zend_parse_arg_long_ex.exit %.pre = load i64, ptr %4, align 8, !tbaa !4 @@ -8277,7 +8277,7 @@ define internal fastcc range(i32 -1, 1) i32 @map_from_unicode(i32 noundef %0, i3 %24 = ashr exact i64 %23, 2 %25 = sdiv i64 %24, 2 %26 = getelementptr inbounds %struct.uni_to_enc, ptr %.01725.i, i64 %25 - %27 = load i16, ptr %26, align 2, !tbaa !74 + %27 = load i16, ptr %26, align 2, !tbaa !75 %28 = zext i16 %27 to i32 %29 = icmp slt i32 %0, %28 br i1 %29, label %30, label %32 @@ -8302,7 +8302,7 @@ define internal fastcc range(i32 -1, 1) i32 @map_from_unicode(i32 noundef %0, i3 unimap_bsearch.exit: ; preds = %32 %37 = getelementptr inbounds nuw i8, ptr %26, i64 2 - %38 = load i8, ptr %37, align 2, !tbaa !76 + %38 = load i8, ptr %37, align 2, !tbaa !77 %.not78 = icmp eq i8 %38, 0 br i1 %.not78, label %unimap_bsearch.exit.thread, label %39 @@ -8330,7 +8330,7 @@ unimap_bsearch.exit: ; preds = %32 %49 = ashr exact i64 %48, 2 %50 = sdiv i64 %49, 2 %51 = getelementptr inbounds %struct.uni_to_enc, ptr %.01725.i83, i64 %50 - %52 = load i16, ptr %51, align 2, !tbaa !74 + %52 = load i16, ptr %51, align 2, !tbaa !75 %53 = zext i16 %52 to i32 %54 = icmp slt i32 %0, %53 br i1 %54, label %55, label %57 @@ -8355,7 +8355,7 @@ unimap_bsearch.exit: ; preds = %32 unimap_bsearch.exit89: ; preds = %57 %62 = getelementptr inbounds nuw i8, ptr %51, i64 2 - %63 = load i8, ptr %62, align 2, !tbaa !76 + %63 = load i8, ptr %62, align 2, !tbaa !77 %.not77 = icmp eq i8 %63, 0 br i1 %.not77, label %unimap_bsearch.exit.thread, label %64 @@ -8396,7 +8396,7 @@ unimap_bsearch.exit89: ; preds = %57 %79 = ashr exact i64 %78, 2 %80 = sdiv i64 %79, 2 %81 = getelementptr inbounds %struct.uni_to_enc, ptr %.01725.i91, i64 %80 - %82 = load i16, ptr %81, align 2, !tbaa !74 + %82 = load i16, ptr %81, align 2, !tbaa !75 %83 = zext i16 %82 to i32 %84 = icmp slt i32 %0, %83 br i1 %84, label %85, label %87 @@ -8421,7 +8421,7 @@ unimap_bsearch.exit89: ; preds = %57 unimap_bsearch.exit97: ; preds = %87 %92 = getelementptr inbounds nuw i8, ptr %81, i64 2 - %93 = load i8, ptr %92, align 2, !tbaa !76 + %93 = load i8, ptr %92, align 2, !tbaa !77 %.not = icmp eq i8 %93, 0 br i1 %.not, label %unimap_bsearch.exit.thread, label %94 @@ -8583,7 +8583,8 @@ attributes #23 = { noreturn nounwind } !70 = !{!"branch_weights", i32 1, i32 4000, i32 1} !71 = !{!"branch_weights", i32 1, i32 4002000, i32 2000} !72 = !{i8 0, i8 2} -!73 = !{!"branch_weights", !"expected", i32 -2147483648, i32 0} -!74 = !{!75, !22, i64 0} -!75 = !{!"", !22, i64 0, !6, i64 2} -!76 = !{!75, !6, i64 2} +!73 = !{} +!74 = !{!"branch_weights", !"expected", i32 -2147483648, i32 0} +!75 = !{!76, !22, i64 0} +!76 = !{!"", !22, i64 0, !6, i64 2} +!77 = !{!76, !6, i64 2} diff --git a/bench/postgres/optimized/hashpage.ll b/bench/postgres/optimized/hashpage.ll index e1c07ac2a07..0952c0a6c2b 100644 --- a/bench/postgres/optimized/hashpage.ll +++ b/bench/postgres/optimized/hashpage.ll @@ -1732,7 +1732,7 @@ BufferGetPage.exit158: ; preds = %33, %39 70: ; preds = %66 %71 = call ptr @hash_search(ptr noundef nonnull %6, ptr noundef %69, i32 noundef 0, ptr noundef nonnull %13) #10 - %.pre = load i8, ptr %13, align 1, !range !9 + %.pre = load i8, ptr %13, align 1, !range !9, !noundef !10 %72 = trunc nuw i8 %.pre to i1 br i1 %72, label %147, label %.thread @@ -1838,7 +1838,7 @@ log_split_page.exit: ; preds = %89, %99, %102, %Buf call void @pfree(ptr noundef %127) #10 %indvars.iv.next = add nuw nsw i64 %indvars.iv, 1 %exitcond.not = icmp eq i64 %indvars.iv.next, %wide.trip.count - br i1 %exitcond.not, label %._crit_edge, label %.lr.ph, !llvm.loop !10 + br i1 %exitcond.not, label %._crit_edge, label %.lr.ph, !llvm.loop !11 ._crit_edge: ; preds = %.lr.ph, %log_split_page.exit %128 = icmp eq i32 %.1129186, %5 @@ -1882,7 +1882,7 @@ BufferGetPage.exit160: ; preds = %137, %131, %76 call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %13) #10 %indvars.iv.next203 = add nuw nsw i64 %indvars.iv202, 1 %exitcond206 = icmp eq i64 %indvars.iv.next203, %wide.trip.count205 - br i1 %exitcond206, label %._crit_edge190, label %60, !llvm.loop !11 + br i1 %exitcond206, label %._crit_edge190, label %60, !llvm.loop !12 ._crit_edge190: ; preds = %147, %50 %.1149.lcssa = phi i64 [ %.0148, %50 ], [ %.2150, %147 ] @@ -1996,7 +1996,7 @@ log_split_page.exit163: ; preds = %154, %164, %167, %B call void @pfree(ptr noundef %196) #10 %indvars.iv.next208 = add nuw nsw i64 %indvars.iv207, 1 %exitcond211.not = icmp eq i64 %indvars.iv.next208, %wide.trip.count210 - br i1 %exitcond211.not, label %._crit_edge197, label %.lr.ph196, !llvm.loop !12 + br i1 %exitcond211.not, label %._crit_edge197, label %.lr.ph196, !llvm.loop !13 _hash_getbuf.exit: ; preds = %153 %197 = call i32 @ReadBuffer(ptr noundef %0, i32 noundef %149) #10 @@ -2474,6 +2474,7 @@ attributes #10 = { nounwind } !7 = !{!"branch_weights", !"expected", i32 1, i32 2000} !8 = distinct !{!8, !6} !9 = !{i8 0, i8 2} -!10 = distinct !{!10, !6} +!10 = !{} !11 = distinct !{!11, !6} !12 = distinct !{!12, !6} +!13 = distinct !{!13, !6} diff --git a/bench/postgres/optimized/psqlscanslash.ll b/bench/postgres/optimized/psqlscanslash.ll index 8b6f46d28d7..00e503cd4cb 100644 --- a/bench/postgres/optimized/psqlscanslash.ll +++ b/bench/postgres/optimized/psqlscanslash.ll @@ -2112,7 +2112,7 @@ slash_yyensure_buffer_stack.exit: ; preds = %10, %13, %24 %48 = load ptr, ptr %47, align 8 %49 = getelementptr inbounds nuw i8, ptr %48, i64 28 store i32 %44, ptr %49, align 4 - %.pr.pre = load ptr, ptr %5, align 8 + %.pr.pre = load ptr, ptr %5, align 8, !nonnull !12, !noundef !12 %.pre30 = load i64, ptr %29, align 8 %.phi.trans.insert31 = getelementptr inbounds nuw ptr, ptr %.pr.pre, i64 %.pre30 %.pre32 = load ptr, ptr %.phi.trans.insert31, align 8 @@ -2757,7 +2757,7 @@ slash_yypop_buffer_state.exit: ; preds = %26, %44, %47 %58 = getelementptr inbounds nuw ptr, ptr %56, i64 %57 %59 = load ptr, ptr %58, align 8 %60 = icmp eq ptr %59, null - br i1 %60, label %.critedge, label %.thread.i, !llvm.loop !12 + br i1 %60, label %.critedge, label %.thread.i, !llvm.loop !13 .critedge: ; preds = %slash_yypop_buffer_state.exit, %slash_yy_delete_buffer.exit, %41, %.lr.ph, %1 %.lcssa = phi ptr [ null, %1 ], [ %4, %.lr.ph ], [ null, %41 ], [ null, %slash_yy_delete_buffer.exit ], [ %56, %slash_yypop_buffer_state.exit ] @@ -2886,7 +2886,7 @@ define dso_local ptr @psql_scan_slash_option(ptr noundef initializes((8, 16)) %0 %37 = load i64, ptr %19, align 8 %38 = icmp ne i64 %37, 0 %or.cond = select i1 %36, i1 %38, i1 false - br i1 %or.cond, label %.lr.ph, label %.critedge, !llvm.loop !13 + br i1 %or.cond, label %.lr.ph, label %.critedge, !llvm.loop !14 .critedge: ; preds = %31, %.lr.ph, %.preheader, %18 %39 = add i32 %1, -1 @@ -3013,7 +3013,7 @@ define dso_local void @dequote_downcase_identifier(ptr noundef %0, i1 noundef ze %14 = getelementptr inbounds nuw i8, ptr %.1.us, i64 1 %15 = tail call i64 @strlen(ptr noundef nonnull dereferenceable(1) %.1.us) #32 tail call void @llvm.memmove.p0.p0.i64(ptr nonnull align 1 %.1.us, ptr nonnull align 1 %14, i64 %15, i1 false) - br label %.split.us.outer, !llvm.loop !14 + br label %.split.us.outer, !llvm.loop !15 .split.us.outer: ; preds = %3, %13 %.017.us.ph = phi i8 [ %.118.us, %13 ], [ 0, %3 ] @@ -3024,7 +3024,7 @@ define dso_local void @dequote_downcase_identifier(ptr noundef %0, i1 noundef ze %17 = tail call i32 @PQmblenBounded(ptr noundef nonnull %.0.us, i32 noundef %2) #29 %18 = sext i32 %17 to i64 %19 = getelementptr inbounds i8, ptr %.0.us, i64 %18 - br label %.split.us, !llvm.loop !14 + br label %.split.us, !llvm.loop !15 .split: ; preds = %.split.outer, %36 %.0 = phi ptr [ %39, %36 ], [ %.0.ph, %.split.outer ] @@ -3054,7 +3054,7 @@ define dso_local void @dequote_downcase_identifier(ptr noundef %0, i1 noundef ze %30 = getelementptr inbounds nuw i8, ptr %.1, i64 1 %31 = tail call i64 @strlen(ptr noundef nonnull dereferenceable(1) %.1) #32 tail call void @llvm.memmove.p0.p0.i64(ptr nonnull align 1 %.1, ptr nonnull align 1 %30, i64 %31, i1 false) - br label %.split.outer, !llvm.loop !14 + br label %.split.outer, !llvm.loop !15 .split.outer: ; preds = %3, %29 %.017.ph = phi i8 [ %.118, %29 ], [ 0, %3 ] @@ -3074,7 +3074,7 @@ define dso_local void @dequote_downcase_identifier(ptr noundef %0, i1 noundef ze %37 = tail call i32 @PQmblenBounded(ptr noundef nonnull %.0, i32 noundef %2) #29 %38 = sext i32 %37 to i64 %39 = getelementptr inbounds i8, ptr %.0, i64 %38 - br label %.split, !llvm.loop !14 + br label %.split, !llvm.loop !15 .split23.us: ; preds = %.split.us, %.split ret void @@ -3218,6 +3218,7 @@ attributes #32 = { nounwind willreturn memory(read) } !9 = distinct !{!9, !5} !10 = distinct !{!10, !5} !11 = distinct !{!11, !5} -!12 = distinct !{!12, !5} +!12 = !{} !13 = distinct !{!13, !5} !14 = distinct !{!14, !5} +!15 = distinct !{!15, !5} diff --git a/bench/protobuf/optimized/context.ll b/bench/protobuf/optimized/context.ll index b65af507a56..c1cdf800e98 100644 --- a/bench/protobuf/optimized/context.ll +++ b/bench/protobuf/optimized/context.ll @@ -2030,7 +2030,7 @@ if.then: ; preds = %for.end.i tail call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(64) %second.i.i.i.i.i.i.i.i) #24 %capitalized_name.i.i.i.i.i.i.i.i.i = getelementptr inbounds nuw i8, ptr %add.ptr.i3, i64 40 tail call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(32) %capitalized_name.i.i.i.i.i.i.i.i.i) #24 - %.pre = load ptr, ptr %this, align 8 + %.pre = load ptr, ptr %this, align 8, !nonnull !38, !noundef !38 %.pre20 = load ptr, ptr %slots_.i.i.i, align 8 br label %if.end @@ -2249,7 +2249,7 @@ if.then: ; preds = %for.body for.inc: ; preds = %for.body, %if.then %inc = add nuw i64 %i.021, 1 %cmp.not = icmp eq i64 %inc, %2 - br i1 %cmp.not, label %if.then18, label %for.body, !llvm.loop !38 + br i1 %cmp.not, label %if.then18, label %for.body, !llvm.loop !39 if.then18: ; preds = %for.inc %add.ptr21 = getelementptr inbounds i8, ptr %0, i64 -8 @@ -2349,7 +2349,7 @@ entry: %xor.i.i.i.i.i.i.i.i.i.i.i.i.i = xor i128 %shr.i.i.i.i.i.i.i.i.i.i.i.i.i, %mul.i.i.i.i.i.i.i.i.i.i.i.i.i %conv1.i.i.i.i.i.i.i.i.i.i.i.i.i = trunc i128 %xor.i.i.i.i.i.i.i.i.i.i.i.i.i to i64 %capacity_.i.i.i = getelementptr inbounds nuw i8, ptr %this, i64 16 - %3 = load i64, ptr %capacity_.i.i.i, align 8, !noalias !39 + %3 = load i64, ptr %capacity_.i.i.i, align 8, !noalias !40 %shr.i.i.i.i = lshr i64 %conv1.i.i.i.i.i.i.i.i.i.i.i.i.i, 7 %4 = ptrtoint ptr %0 to i64 %shr.i.i.i.i.i = lshr i64 %4, 12 @@ -2403,7 +2403,7 @@ for.end.i: ; preds = %for.inc.i, %while.b if.end36.i: ; preds = %for.end.i %add.i13.i = add i64 %seq.sroa.10.0.i, 16 %add3.i.i = add i64 %add.i13.i, %seq.sroa.4.0.i - br label %while.body.i, !llvm.loop !42 + br label %while.body.i, !llvm.loop !43 if.then: ; preds = %for.end.i %call38.i = tail call noundef i64 @_ZN4absl12lts_2023080218container_internal12raw_hash_setINS1_17FlatHashMapPolicyIPKN6google8protobuf15FieldDescriptorENS5_8compiler4java18FieldGeneratorInfoEEENS1_6HashEqIS8_vE4HashENSE_2EqESaISt4pairIKS8_SB_EEE14prepare_insertEm(ptr noundef nonnull align 8 dereferenceable(32) %this, i64 noundef %conv1.i.i.i.i.i.i.i.i.i.i.i.i.i) @@ -2418,7 +2418,7 @@ if.then: ; preds = %for.end.i tail call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(32) %capitalized_name.i.i.i.i.i.i.i.i.i) #24 %disambiguated_reason.i.i.i.i.i.i.i.i.i = getelementptr inbounds nuw i8, ptr %add.ptr.i3, i64 72 tail call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(32) %disambiguated_reason.i.i.i.i.i.i.i.i.i) #24 - %.pre = load ptr, ptr %this, align 8 + %.pre = load ptr, ptr %this, align 8, !nonnull !38, !noundef !38 %.pre20 = load ptr, ptr %slots_.i.i.i, align 8 br label %if.end @@ -2632,7 +2632,7 @@ if.then: ; preds = %for.body for.inc: ; preds = %for.body, %if.then %inc = add nuw i64 %i.021, 1 %cmp.not = icmp eq i64 %inc, %2 - br i1 %cmp.not, label %if.then18, label %for.body, !llvm.loop !43 + br i1 %cmp.not, label %if.then18, label %for.body, !llvm.loop !44 if.then18: ; preds = %for.inc %add.ptr21 = getelementptr inbounds i8, ptr %0, i64 -8 @@ -2777,9 +2777,10 @@ attributes #29 = { noreturn nounwind } !35 = distinct !{!35, !36, !"_ZN4absl12lts_2023080218container_internal5probeERKNS1_12CommonFieldsEm: %agg.result"} !36 = distinct !{!36, !"_ZN4absl12lts_2023080218container_internal5probeERKNS1_12CommonFieldsEm"} !37 = distinct !{!37, !5} -!38 = distinct !{!38, !5} -!39 = !{!40} -!40 = distinct !{!40, !41, !"_ZN4absl12lts_2023080218container_internal5probeERKNS1_12CommonFieldsEm: %agg.result"} -!41 = distinct !{!41, !"_ZN4absl12lts_2023080218container_internal5probeERKNS1_12CommonFieldsEm"} -!42 = distinct !{!42, !5} +!38 = !{} +!39 = distinct !{!39, !5} +!40 = !{!41} +!41 = distinct !{!41, !42, !"_ZN4absl12lts_2023080218container_internal5probeERKNS1_12CommonFieldsEm: %agg.result"} +!42 = distinct !{!42, !"_ZN4absl12lts_2023080218container_internal5probeERKNS1_12CommonFieldsEm"} !43 = distinct !{!43, !5} +!44 = distinct !{!44, !5} diff --git a/bench/protobuf/optimized/text_format.ll b/bench/protobuf/optimized/text_format.ll index 9e2385fb32a..fd4e70f5801 100644 --- a/bench/protobuf/optimized/text_format.ll +++ b/bench/protobuf/optimized/text_format.ll @@ -18471,7 +18471,7 @@ if.then.i.i: ; preds = %for.end.i.i.i %add.ptr.i2.i.i = getelementptr inbounds ptr, ptr %13, i64 %call38.i.i.i %14 = load ptr, ptr %value, align 8, !noalias !166 store ptr %14, ptr %add.ptr.i2.i.i, align 8, !noalias !166 - %.pre19.i.i = load ptr, ptr %this, align 8, !noalias !166 + %.pre19.i.i = load ptr, ptr %this, align 8, !noalias !166, !nonnull !171, !noundef !171 %.pre20.i.i = load ptr, ptr %slots_.i.i.i.i.i, align 8, !noalias !166 br label %_ZN4absl12lts_2023080218container_internal12raw_hash_setINS1_17FlatHashSetPolicyIPKvEENS1_6HashEqIS5_vE4HashENS8_2EqESaIS5_EE7emplaceIJS5_ETnNSt9enable_ifIXsr14IsDecomposableIDpT_EE5valueEiE4typeELi0EEESt4pairINSC_8iteratorEbEDpOSF_.exit @@ -19035,7 +19035,7 @@ if.then: ; preds = %for.body for.inc: ; preds = %for.body, %if.then %inc = add nuw i64 %i.021, 1 %cmp.not = icmp eq i64 %inc, %2 - br i1 %cmp.not, label %if.then18, label %for.body, !llvm.loop !171 + br i1 %cmp.not, label %if.then18, label %for.body, !llvm.loop !172 if.then18: ; preds = %for.inc %add.ptr21 = getelementptr inbounds i8, ptr %0, i64 -8 @@ -19365,7 +19365,7 @@ for.body8.i.i: ; preds = %for.cond5.i.i %add.ptr.i18.i.i = getelementptr inbounds i8, ptr %src.sroa.10.033.i, i64 %end.0.i.i %6 = load i8, ptr %add.ptr.i18.i.i, align 1 %cmp.i19.i.i = icmp slt i8 %6, 0 - br i1 %cmp.i19.i.i, label %for.cond5.i.i, label %for.end.i.i, !llvm.loop !172 + br i1 %cmp.i19.i.i, label %for.cond5.i.i, label %for.end.i.i, !llvm.loop !173 for.end.i.i: ; preds = %for.body8.i.i, %for.cond5.i.i %end.0.lcssa.i.i = phi i64 [ %end.0.i.i, %for.body8.i.i ], [ %umax.i.i, %for.cond5.i.i ] @@ -19388,7 +19388,7 @@ for.inc22.i.i: ; preds = %if.end18.i.i, %if.e %i.1.i.i = phi i64 [ %add20.i.i, %if.end18.i.i ], [ %i.031.i.i, %if.end.i.i ] %inc23.i.i = add i64 %i.1.i.i, 1 %cmp.i4.i = icmp ult i64 %inc23.i.i, %src.sroa.0.034.i - br i1 %cmp.i4.i, label %for.body.i.i, label %if.then.i, !llvm.loop !173 + br i1 %cmp.i4.i, label %for.body.i.i, label %if.then.i, !llvm.loop !174 _ZN6google8protobuf12_GLOBAL__N_120SkipPassthroughBytesESt17basic_string_viewIcSt11char_traitsIcEE.exit.i: ; preds = %if.end.i.i.i, %if.end.i.i.i, %if.end.i.i.i, %for.body.i.i, %if.then16.i.i %retval.0.i.i = phi i64 [ %add17.i.i, %if.then16.i.i ], [ %i.031.i.i, %for.body.i.i ], [ %i.031.i.i, %if.end.i.i.i ], [ %i.031.i.i, %if.end.i.i.i ], [ %i.031.i.i, %if.end.i.i.i ] @@ -19425,7 +19425,7 @@ invoke.cont.i: ; preds = %if.end6.i %add.ptr.i20.i = getelementptr inbounds nuw i8, ptr %src.sroa.10.1.i, i64 1 %sub.i21.i = add i64 %src.sroa.0.1.i, -1 %cmp.i.i = icmp eq i64 %sub.i21.i, 0 - br i1 %cmp.i.i, label %_ZN6google8protobuf12_GLOBAL__N_119HardenedPrintStringESt17basic_string_viewIcSt11char_traitsIcEEPNS0_10TextFormat17BaseTextGeneratorE.exit, label %for.body.i.preheader.i, !llvm.loop !174 + br i1 %cmp.i.i, label %_ZN6google8protobuf12_GLOBAL__N_119HardenedPrintStringESt17basic_string_viewIcSt11char_traitsIcEEPNS0_10TextFormat17BaseTextGeneratorE.exit, label %for.body.i.preheader.i, !llvm.loop !175 lpad.i: ; preds = %if.end6.i %11 = landingpad { ptr, i32 } @@ -20051,7 +20051,7 @@ for.inc: ; preds = %for.body.for.inc_cr %inc.pre-phi = phi i64 [ %.pre, %for.body.for.inc_crit_edge ], [ %add5, %if.then4 ] %pos.1 = phi i64 [ %pos.017, %for.body.for.inc_crit_edge ], [ %add5, %if.then4 ] %exitcond.not = icmp eq i64 %inc.pre-phi, %size - br i1 %exitcond.not, label %for.end, label %for.body, !llvm.loop !175 + br i1 %exitcond.not, label %for.end, label %for.body, !llvm.loop !176 for.end: ; preds = %for.inc, %for.cond.preheader %pos.0.lcssa = phi i64 [ 0, %for.cond.preheader ], [ %pos.1, %for.inc ] @@ -20210,7 +20210,7 @@ if.end16.i: ; preds = %if.end8.i store ptr %10, ptr %buffer_.i, align 8 %11 = load i32, ptr %buffer_size_.i, align 8 %cmp2.i = icmp sgt i32 %sub.i, %11 - br i1 %cmp2.i, label %while.body.i, label %while.end.i, !llvm.loop !176 + br i1 %cmp2.i, label %while.body.i, label %while.end.i, !llvm.loop !177 while.end.i: ; preds = %if.end16.i, %if.end.while.end_crit_edge.i %12 = phi ptr [ %.pre10.i, %if.end.while.end_crit_edge.i ], [ %10, %if.end16.i ] @@ -20285,7 +20285,7 @@ if.end27: ; preds = %if.end21 %23 = load i32, ptr %buffer_size_, align 8 %conv = sext i32 %23 to i64 %cmp12 = icmp sgt i64 %size.addr.1, %conv - br i1 %cmp12, label %while.body, label %while.end, !llvm.loop !177 + br i1 %cmp12, label %while.body, label %while.end, !llvm.loop !178 while.end: ; preds = %if.end27, %if.end11.while.end_crit_edge %24 = phi ptr [ %.pre20, %if.end11.while.end_crit_edge ], [ %22, %if.end27 ] @@ -20735,7 +20735,7 @@ if.then: ; preds = %for.body for.inc: ; preds = %for.body, %if.then %inc = add nuw i64 %i.021, 1 %cmp.not = icmp eq i64 %inc, %2 - br i1 %cmp.not, label %if.then18, label %for.body, !llvm.loop !178 + br i1 %cmp.not, label %if.then18, label %for.body, !llvm.loop !179 if.then18: ; preds = %for.inc %add.ptr21 = getelementptr inbounds i8, ptr %0, i64 -8 @@ -20983,7 +20983,7 @@ if.then: ; preds = %for.body for.inc: ; preds = %for.body, %if.then %inc = add nuw i64 %i.021, 1 %cmp.not = icmp eq i64 %inc, %2 - br i1 %cmp.not, label %if.then18, label %for.body, !llvm.loop !179 + br i1 %cmp.not, label %if.then18, label %for.body, !llvm.loop !180 if.then18: ; preds = %for.inc %add.ptr21 = getelementptr inbounds i8, ptr %0, i64 -8 @@ -21259,7 +21259,7 @@ for.body: ; preds = %if.then, %for.body %add9 = add i64 %add, %call8 %incdec.ptr.i = getelementptr inbounds nuw i8, ptr %incdec.ptr.i30, i64 32 %cmp.i14.not = icmp eq ptr %incdec.ptr.i, %end.coerce - br i1 %cmp.i14.not, label %for.end, label %for.body, !llvm.loop !180 + br i1 %cmp.i14.not, label %for.end, label %for.body, !llvm.loop !181 for.end: ; preds = %for.body, %if.then %result_size.0.lcssa = phi i64 [ %call3, %if.then ], [ %add9, %for.body ] @@ -21294,7 +21294,7 @@ for.body21: ; preds = %for.body21.preheade %add.ptr30 = getelementptr inbounds i8, ptr %add.ptr25, i64 %call29 %incdec.ptr.i15 = getelementptr inbounds nuw i8, ptr %incdec.ptr.i1534, i64 32 %cmp.i16.not = icmp eq ptr %incdec.ptr.i15, %end.coerce - br i1 %cmp.i16.not, label %nrvo.skipdtor, label %for.body21, !llvm.loop !181 + br i1 %cmp.i16.not, label %nrvo.skipdtor, label %for.body21, !llvm.loop !182 lpad: ; preds = %if.then10 %0 = landingpad { ptr, i32 } @@ -21499,7 +21499,7 @@ if.then: ; preds = %for.body for.inc: ; preds = %for.body, %if.then %inc = add nuw i64 %i.021, 1 %cmp.not = icmp eq i64 %inc, %2 - br i1 %cmp.not, label %if.then18, label %for.body, !llvm.loop !182 + br i1 %cmp.not, label %if.then18, label %for.body, !llvm.loop !183 if.then18: ; preds = %for.inc %add.ptr21 = getelementptr inbounds i8, ptr %0, i64 -8 @@ -21731,7 +21731,7 @@ if.then: ; preds = %for.body for.inc: ; preds = %for.body, %if.then %inc = add nuw i64 %i.021, 1 %cmp.not = icmp eq i64 %inc, %2 - br i1 %cmp.not, label %if.then18, label %for.body, !llvm.loop !183 + br i1 %cmp.not, label %if.then18, label %for.body, !llvm.loop !184 if.then18: ; preds = %for.inc %add.ptr21 = getelementptr inbounds i8, ptr %0, i64 -8 @@ -21808,7 +21808,7 @@ while.body.i.i.i: ; preds = %while.body.i.i.i, % tail call fastcc void @_ZSt13__adjust_heapIN9__gnu_cxx17__normal_iteratorIPPKN6google8protobuf15FieldDescriptorESt6vectorIS6_SaIS6_EEEElS6_NS0_5__ops15_Iter_comp_iterINS3_12_GLOBAL__N_116FieldIndexSorterEEEEvT_T0_SI_T1_T2_(ptr %__first.coerce, i64 noundef %__parent.0.i.i.i, i64 noundef %sub.ptr.div.i22, ptr noundef %0) %cmp8.i.i.i = icmp eq i64 %__parent.0.i.i.i, 0 %dec.i.i.i = add nsw i64 %__parent.0.i.i.i, -1 - br i1 %cmp8.i.i.i, label %while.body.i.i, label %while.body.i.i.i, !llvm.loop !184 + br i1 %cmp8.i.i.i, label %while.body.i.i, label %while.body.i.i.i, !llvm.loop !185 while.body.i.i: ; preds = %while.body.i.i.i, %while.body.i.i %__last.sroa.0.05.i.i = phi ptr [ %incdec.ptr.i.i1.i, %while.body.i.i ], [ %storemerge20, %while.body.i.i.i ] @@ -21821,7 +21821,7 @@ while.body.i.i: ; preds = %while.body.i.i.i, % %sub.ptr.div.i.i.i4.i = ashr exact i64 %sub.ptr.sub.i.i.i3.i, 3 tail call fastcc void @_ZSt13__adjust_heapIN9__gnu_cxx17__normal_iteratorIPPKN6google8protobuf15FieldDescriptorESt6vectorIS6_SaIS6_EEEElS6_NS0_5__ops15_Iter_comp_iterINS3_12_GLOBAL__N_116FieldIndexSorterEEEEvT_T0_SI_T1_T2_(ptr nonnull %__first.coerce, i64 noundef 0, i64 noundef %sub.ptr.div.i.i.i4.i, ptr noundef %1) %cmp.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i3.i, 8 - br i1 %cmp.i.i, label %while.body.i.i, label %while.end, !llvm.loop !185 + br i1 %cmp.i.i, label %while.body.i.i, label %while.end, !llvm.loop !186 if.end: ; preds = %while.body %dec = add nsw i64 %__depth_limit.addr.021, -1 @@ -22104,7 +22104,7 @@ while.body7.us.i.i: ; preds = %if.else7.i.i.us.i.i %bf.load.i.i.i.us.i.i = load i8, ptr %is_extension_.i.i.i.us.i.i, align 1 %38 = and i8 %bf.load.i.i.i.us.i.i, 8 %bf.cast.i.not.i.i.us.i.i = icmp eq i8 %38, 0 - br i1 %bf.cast.i.not.i.i.us.i.i, label %if.else7.i.i.us.i.i, label %while.end.i.i, !llvm.loop !186 + br i1 %bf.cast.i.not.i.i.us.i.i, label %if.else7.i.i.us.i.i, label %while.end.i.i, !llvm.loop !187 while.cond3.i.i: ; preds = %while.body.i.i5, %while.body7.i.i %__first.sroa.0.1.i.i = phi ptr [ %incdec.ptr.i.i.i, %while.body7.i.i ], [ %__first.sroa.0.0.i.i, %while.body.i.i5 ] @@ -22124,7 +22124,7 @@ land.lhs.true.i.i.i14.i: ; preds = %while.cond3.i.i while.body7.i.i: ; preds = %land.lhs.true.i.i.i14.i, %while.cond3.i.i %incdec.ptr.i.i.i = getelementptr inbounds nuw i8, ptr %__first.sroa.0.1.i.i, i64 8 - br label %while.cond3.i.i, !llvm.loop !186 + br label %while.cond3.i.i, !llvm.loop !187 while.end.i.i: ; preds = %land.lhs.true.i.i.i14.i, %while.body7.us.i.i, %if.else7.i.i.us.i.i %.us-phi.i.i = phi ptr [ %__first.sroa.0.1.us.i28.i, %if.else7.i.i.us.i.i ], [ %incdec.ptr.i.us.i.i, %while.body7.us.i.i ], [ %__first.sroa.0.1.i.i, %land.lhs.true.i.i.i14.i ] @@ -22167,7 +22167,7 @@ _ZN9__gnu_cxx5__ops15_Iter_comp_iterIN6google8protobuf12_GLOBAL__N_116FieldIndex br i1 %cmp13.i.i32.us.i.i, label %while.cond10.us.i.i.backedge, label %while.end18.i.i while.cond10.us.i.i.backedge: ; preds = %_ZN9__gnu_cxx5__ops15_Iter_comp_iterIN6google8protobuf12_GLOBAL__N_116FieldIndexSorterEEclINS_17__normal_iteratorIPPKNS3_15FieldDescriptorESt6vectorISB_SaISB_EEEESG_EEbT_T0_.exit33.us.i.i, %while.cond10.us.i.i - br label %while.cond10.us.i.i, !llvm.loop !187 + br label %while.cond10.us.i.i, !llvm.loop !188 while.end.split51.i.i: ; preds = %while.end.i.i %__last.sroa.0.155.i.i = getelementptr inbounds i8, ptr %__last.sroa.0.0.i.i, i64 -8 @@ -22189,7 +22189,7 @@ while.cond10.i.i: ; preds = %if.then.i.i9.i.i %bf.load.i15.i.i6.i.i = load i8, ptr %is_extension_.i14.i.i5.i.i, align 1 %51 = and i8 %bf.load.i15.i.i6.i.i, 8 %bf.cast.i16.not.i.i7.i.i = icmp eq i8 %51, 0 - br i1 %bf.cast.i16.not.i.i7.i.i, label %while.end18.i.i, label %if.then.i.i9.i.i, !llvm.loop !187 + br i1 %bf.cast.i16.not.i.i7.i.i, label %while.end18.i.i, label %if.then.i.i9.i.i, !llvm.loop !188 if.then.i.i9.i.i: ; preds = %while.cond10.i.i, %if.then.i.i9.lr.ph.i.i %52 = phi ptr [ %47, %if.then.i.i9.lr.ph.i.i ], [ %50, %while.cond10.i.i ] @@ -22211,7 +22211,7 @@ if.end.i.i: ; preds = %while.end18.i.i store ptr %.us-phi53.i.i, ptr %.us-phi.i37.i, align 8 store ptr %.us-phi48.i39.i, ptr %.us-phi52.i.i, align 8 %incdec.ptr.i35.i.i = getelementptr inbounds nuw i8, ptr %.us-phi.i37.i, i64 8 - br label %while.body.i.i5, !llvm.loop !188 + br label %while.body.i.i5, !llvm.loop !189 _ZSt27__unguarded_partition_pivotIN9__gnu_cxx17__normal_iteratorIPPKN6google8protobuf15FieldDescriptorESt6vectorIS6_SaIS6_EEEENS0_5__ops15_Iter_comp_iterINS3_12_GLOBAL__N_116FieldIndexSorterEEEET_SH_SH_T0_.exit: ; preds = %while.end18.i.i tail call fastcc void @_ZSt16__introsort_loopIN9__gnu_cxx17__normal_iteratorIPPKN6google8protobuf15FieldDescriptorESt6vectorIS6_SaIS6_EEEElNS0_5__ops15_Iter_comp_iterINS3_12_GLOBAL__N_116FieldIndexSorterEEEEvT_SH_T0_T1_(ptr %.us-phi.i37.i, ptr %storemerge20, i64 noundef %dec) @@ -22219,7 +22219,7 @@ _ZSt27__unguarded_partition_pivotIN9__gnu_cxx17__normal_iteratorIPPKN6google8pro %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, 3 %cmp = icmp sgt i64 %sub.ptr.div.i, 16 - br i1 %cmp, label %while.body, label %while.end, !llvm.loop !189 + br i1 %cmp, label %while.body, label %while.end, !llvm.loop !190 while.end: ; preds = %_ZSt27__unguarded_partition_pivotIN9__gnu_cxx17__normal_iteratorIPPKN6google8protobuf15FieldDescriptorESt6vectorIS6_SaIS6_EEEENS0_5__ops15_Iter_comp_iterINS3_12_GLOBAL__N_116FieldIndexSorterEEEET_SH_SH_T0_.exit, %while.body.i.i, %entry ret void @@ -22299,7 +22299,7 @@ _ZN9__gnu_cxx5__ops15_Iter_comp_iterIN6google8protobuf12_GLOBAL__N_116FieldIndex %add.ptr.i19 = getelementptr inbounds ptr, ptr %__first.coerce, i64 %__holeIndex.addr.034 store ptr %8, ptr %add.ptr.i19, align 8 %cmp = icmp slt i64 %9, %div - br i1 %cmp, label %while.body, label %while.end, !llvm.loop !190 + br i1 %cmp, label %while.body, label %while.end, !llvm.loop !191 while.end: ; preds = %_ZN9__gnu_cxx5__ops15_Iter_comp_iterIN6google8protobuf12_GLOBAL__N_116FieldIndexSorterEEclINS_17__normal_iteratorIPPKNS3_15FieldDescriptorESt6vectorISB_SaISB_EEEESG_EEbT_T0_.exit.thread29, %entry %__holeIndex.addr.0.lcssa = phi i64 [ %__holeIndex, %entry ], [ %9, %_ZN9__gnu_cxx5__ops15_Iter_comp_iterIN6google8protobuf12_GLOBAL__N_116FieldIndexSorterEEclINS_17__normal_iteratorIPPKNS3_15FieldDescriptorESt6vectorISB_SaISB_EEEESG_EEbT_T0_.exit.thread29 ] @@ -22386,7 +22386,7 @@ while.body.i: ; preds = %_ZN9__gnu_cxx5__ops %add.ptr.i8.i = getelementptr inbounds ptr, ptr %__first.coerce, i64 %__holeIndex.addr.010.i store ptr %11, ptr %add.ptr.i8.i, align 8 %cmp.i = icmp sgt i64 %__parent.011.i, %__holeIndex - br i1 %cmp.i, label %land.rhs.i, label %_ZSt11__push_heapIN9__gnu_cxx17__normal_iteratorIPPKN6google8protobuf15FieldDescriptorESt6vectorIS6_SaIS6_EEEElS6_NS0_5__ops14_Iter_comp_valINS3_12_GLOBAL__N_116FieldIndexSorterEEEEvT_T0_SI_T1_RT2_.exit, !llvm.loop !191 + br i1 %cmp.i, label %land.rhs.i, label %_ZSt11__push_heapIN9__gnu_cxx17__normal_iteratorIPPKN6google8protobuf15FieldDescriptorESt6vectorIS6_SaIS6_EEEElS6_NS0_5__ops14_Iter_comp_valINS3_12_GLOBAL__N_116FieldIndexSorterEEEEvT_T0_SI_T1_RT2_.exit, !llvm.loop !192 _ZSt11__push_heapIN9__gnu_cxx17__normal_iteratorIPPKN6google8protobuf15FieldDescriptorESt6vectorIS6_SaIS6_EEEElS6_NS0_5__ops14_Iter_comp_valINS3_12_GLOBAL__N_116FieldIndexSorterEEEEvT_T0_SI_T1_RT2_.exit: ; preds = %land.lhs.true.i.i.i, %if.then.i.i.i, %_ZN9__gnu_cxx5__ops14_Iter_comp_valIN6google8protobuf12_GLOBAL__N_116FieldIndexSorterEEclINS_17__normal_iteratorIPPKNS3_15FieldDescriptorESt6vectorISB_SaISB_EEEESB_EEbT_RT0_.exit.i, %while.body.i, %if.end33 %__holeIndex.addr.0.lcssa.i = phi i64 [ %__holeIndex.addr.1, %if.end33 ], [ %__holeIndex.addr.010.i, %_ZN9__gnu_cxx5__ops14_Iter_comp_valIN6google8protobuf12_GLOBAL__N_116FieldIndexSorterEEclINS_17__normal_iteratorIPPKNS3_15FieldDescriptorESt6vectorISB_SaISB_EEEESB_EEbT_RT0_.exit.i ], [ %__parent.011.i, %while.body.i ], [ %__holeIndex.addr.010.i, %if.then.i.i.i ], [ %__holeIndex.addr.010.i, %land.lhs.true.i.i.i ] @@ -22456,7 +22456,7 @@ while.body.i.i: ; preds = %if.else.i, %while.b %__next.sroa.0.0.i.i = getelementptr inbounds i8, ptr %__next.sroa.0.010.i.i, i64 -8 %6 = load ptr, ptr %__next.sroa.0.0.i.i, align 8 %call2.i.i.i = call noundef zeroext i1 @_ZN6google8protobuf25MapEntryMessageComparatorclEPKNS0_7MessageES4_(ptr noundef nonnull align 8 dereferenceable(8) %__comp.i.i, ptr noundef %3, ptr noundef %6) - br i1 %call2.i.i.i, label %while.body.i.i, label %_ZSt25__unguarded_linear_insertIN9__gnu_cxx17__normal_iteratorIPPKN6google8protobuf7MessageESt6vectorIS6_SaIS6_EEEENS0_5__ops14_Val_comp_iterINS3_25MapEntryMessageComparatorEEEEvT_T0_.exit.i, !llvm.loop !192 + br i1 %call2.i.i.i, label %while.body.i.i, label %_ZSt25__unguarded_linear_insertIN9__gnu_cxx17__normal_iteratorIPPKN6google8protobuf7MessageESt6vectorIS6_SaIS6_EEEENS0_5__ops14_Val_comp_iterINS3_25MapEntryMessageComparatorEEEEvT_T0_.exit.i, !llvm.loop !193 _ZSt25__unguarded_linear_insertIN9__gnu_cxx17__normal_iteratorIPPKN6google8protobuf7MessageESt6vectorIS6_SaIS6_EEEENS0_5__ops14_Val_comp_iterINS3_25MapEntryMessageComparatorEEEEvT_T0_.exit.i: ; preds = %while.body.i.i, %if.else.i %__last.sroa.0.0.lcssa.i.i = phi ptr [ %__i.sroa.0.012.i, %if.else.i ], [ %__next.sroa.0.010.i.i, %while.body.i.i ] @@ -22467,7 +22467,7 @@ _ZSt25__unguarded_linear_insertIN9__gnu_cxx17__normal_iteratorIPPKN6google8proto for.inc.i: ; preds = %_ZSt25__unguarded_linear_insertIN9__gnu_cxx17__normal_iteratorIPPKN6google8protobuf7MessageESt6vectorIS6_SaIS6_EEEENS0_5__ops14_Val_comp_iterINS3_25MapEntryMessageComparatorEEEEvT_T0_.exit.i, %_ZSt13move_backwardIN9__gnu_cxx17__normal_iteratorIPPKN6google8protobuf7MessageESt6vectorIS6_SaIS6_EEEESB_ET0_T_SD_SC_.exit.i %__i.sroa.0.0.i = getelementptr inbounds nuw i8, ptr %__i.sroa.0.012.i, i64 8 %cmp.i1.not.i = icmp eq ptr %__i.sroa.0.0.i, %__last.coerce - br i1 %cmp.i1.not.i, label %_ZSt16__insertion_sortIN9__gnu_cxx17__normal_iteratorIPPKN6google8protobuf7MessageESt6vectorIS6_SaIS6_EEEENS0_5__ops15_Iter_comp_iterINS3_25MapEntryMessageComparatorEEEEvT_SG_T0_.exit, label %for.body.i, !llvm.loop !193 + br i1 %cmp.i1.not.i, label %_ZSt16__insertion_sortIN9__gnu_cxx17__normal_iteratorIPPKN6google8protobuf7MessageESt6vectorIS6_SaIS6_EEEENS0_5__ops15_Iter_comp_iterINS3_25MapEntryMessageComparatorEEEEvT_SG_T0_.exit, label %for.body.i, !llvm.loop !194 _ZSt16__insertion_sortIN9__gnu_cxx17__normal_iteratorIPPKN6google8protobuf7MessageESt6vectorIS6_SaIS6_EEEENS0_5__ops15_Iter_comp_iterINS3_25MapEntryMessageComparatorEEEEvT_SG_T0_.exit: ; preds = %for.inc.i, %if.then call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %__comp.i) @@ -22524,7 +22524,7 @@ while.body.i: ; preds = %if.else, %while.bod tail call void @_ZSt17__merge_sort_loopIPPKN6google8protobuf7MessageEN9__gnu_cxx17__normal_iteratorIS5_St6vectorIS4_SaIS4_EEEElNS6_5__ops15_Iter_comp_iterINS1_25MapEntryMessageComparatorEEEEvT_SG_T0_T1_T2_(ptr noundef %__buffer, ptr noundef %add.ptr.i9, ptr %__first.coerce, i64 noundef %mul.i, ptr %__comp.coerce) %mul22.i = shl nsw i64 %__step_size.010.i, 2 %cmp.i = icmp slt i64 %mul22.i, %div - br i1 %cmp.i, label %while.body.i, label %_ZSt24__merge_sort_with_bufferIN9__gnu_cxx17__normal_iteratorIPPKN6google8protobuf7MessageESt6vectorIS6_SaIS6_EEEES7_NS0_5__ops15_Iter_comp_iterINS3_25MapEntryMessageComparatorEEEEvT_SG_T0_T1_.exit, !llvm.loop !194 + br i1 %cmp.i, label %while.body.i, label %_ZSt24__merge_sort_with_bufferIN9__gnu_cxx17__normal_iteratorIPPKN6google8protobuf7MessageESt6vectorIS6_SaIS6_EEEES7_NS0_5__ops15_Iter_comp_iterINS3_25MapEntryMessageComparatorEEEEvT_SG_T0_T1_.exit, !llvm.loop !195 _ZSt24__merge_sort_with_bufferIN9__gnu_cxx17__normal_iteratorIPPKN6google8protobuf7MessageESt6vectorIS6_SaIS6_EEEES7_NS0_5__ops15_Iter_comp_iterINS3_25MapEntryMessageComparatorEEEEvT_SG_T0_T1_.exit: ; preds = %while.body.i, %if.else %sub.ptr.sub.i.i12 = sub i64 %sub.ptr.lhs.cast.i, %sub.ptr.lhs.cast.i.i @@ -22541,7 +22541,7 @@ while.body.i16: ; preds = %_ZSt24__merge_sort_ tail call void @_ZSt17__merge_sort_loopIPPKN6google8protobuf7MessageEN9__gnu_cxx17__normal_iteratorIS5_St6vectorIS4_SaIS4_EEEElNS6_5__ops15_Iter_comp_iterINS1_25MapEntryMessageComparatorEEEEvT_SG_T0_T1_T2_(ptr noundef %__buffer, ptr noundef %add.ptr.i14, ptr %add.ptr.i, i64 noundef %mul.i18, ptr %__comp.coerce) %mul22.i19 = shl nsw i64 %__step_size.010.i17, 2 %cmp.i20 = icmp slt i64 %mul22.i19, %sub.ptr.div.i.i13 - br i1 %cmp.i20, label %while.body.i16, label %if.end, !llvm.loop !194 + br i1 %cmp.i20, label %while.body.i16, label %if.end, !llvm.loop !195 if.end: ; preds = %while.body.i16, %_ZSt24__merge_sort_with_bufferIN9__gnu_cxx17__normal_iteratorIPPKN6google8protobuf7MessageESt6vectorIS6_SaIS6_EEEES7_NS0_5__ops15_Iter_comp_iterINS3_25MapEntryMessageComparatorEEEEvT_SG_T0_T1_.exit, %if.then %sub.ptr.div.i29.pre-phi = phi i64 [ %sub.ptr.div.i.i13, %_ZSt24__merge_sort_with_bufferIN9__gnu_cxx17__normal_iteratorIPPKN6google8protobuf7MessageESt6vectorIS6_SaIS6_EEEES7_NS0_5__ops15_Iter_comp_iterINS3_25MapEntryMessageComparatorEEEEvT_SG_T0_T1_.exit ], [ %.pre36, %if.then ], [ %sub.ptr.div.i.i13, %while.body.i16 ] @@ -22613,7 +22613,7 @@ while.body.i: ; preds = %if.then19, %while.b %__first.sroa.0.1.i = select i1 %call2.i.i, ptr %incdec.ptr.i.i, ptr %__first.sroa.0.07.i %__len.1.i = select i1 %call2.i.i, i64 %sub11.i, i64 %shr.i %cmp.i = icmp sgt i64 %__len.1.i, 0 - br i1 %cmp.i, label %while.body.i, label %_ZSt13__lower_boundIN9__gnu_cxx17__normal_iteratorIPPKN6google8protobuf7MessageESt6vectorIS6_SaIS6_EEEES6_NS0_5__ops14_Iter_comp_valINS3_25MapEntryMessageComparatorEEEET_SG_SG_RKT0_T1_.exit.loopexit, !llvm.loop !195 + br i1 %cmp.i, label %while.body.i, label %_ZSt13__lower_boundIN9__gnu_cxx17__normal_iteratorIPPKN6google8protobuf7MessageESt6vectorIS6_SaIS6_EEEES6_NS0_5__ops14_Iter_comp_valINS3_25MapEntryMessageComparatorEEEET_SG_SG_RKT0_T1_.exit.loopexit, !llvm.loop !196 _ZSt13__lower_boundIN9__gnu_cxx17__normal_iteratorIPPKN6google8protobuf7MessageESt6vectorIS6_SaIS6_EEEES6_NS0_5__ops14_Iter_comp_valINS3_25MapEntryMessageComparatorEEEET_SG_SG_RKT0_T1_.exit.loopexit: ; preds = %while.body.i %.pre = ptrtoint ptr %__first.sroa.0.1.i to i64 @@ -22653,7 +22653,7 @@ while.body.i33: ; preds = %if.else, %while.bod %__first.sroa.0.1.i45 = select i1 %call2.i.i42, ptr %__first.sroa.0.07.i35, ptr %incdec.ptr.i.i43 %__len.1.i46 = select i1 %call2.i.i42, i64 %shr.i36, i64 %sub11.i44 %cmp.i47 = icmp sgt i64 %__len.1.i46, 0 - br i1 %cmp.i47, label %while.body.i33, label %_ZSt13__upper_boundIN9__gnu_cxx17__normal_iteratorIPPKN6google8protobuf7MessageESt6vectorIS6_SaIS6_EEEES6_NS0_5__ops14_Val_comp_iterINS3_25MapEntryMessageComparatorEEEET_SG_SG_RKT0_T1_.exit.loopexit, !llvm.loop !196 + br i1 %cmp.i47, label %while.body.i33, label %_ZSt13__upper_boundIN9__gnu_cxx17__normal_iteratorIPPKN6google8protobuf7MessageESt6vectorIS6_SaIS6_EEEES6_NS0_5__ops14_Val_comp_iterINS3_25MapEntryMessageComparatorEEEET_SG_SG_RKT0_T1_.exit.loopexit, !llvm.loop !197 _ZSt13__upper_boundIN9__gnu_cxx17__normal_iteratorIPPKN6google8protobuf7MessageESt6vectorIS6_SaIS6_EEEES6_NS0_5__ops14_Val_comp_iterINS3_25MapEntryMessageComparatorEEEET_SG_SG_RKT0_T1_.exit.loopexit: ; preds = %while.body.i33 %.pre56 = ptrtoint ptr %__first.sroa.0.1.i45 to i64 @@ -22851,7 +22851,7 @@ for.body.i: ; preds = %if.end5, %for.body. %incdec.ptr.i.i = getelementptr inbounds nuw i8, ptr %__first1.sroa.0.04.i, i64 8 %incdec.ptr.i1.i = getelementptr inbounds nuw i8, ptr %__first2.sroa.0.05.i, i64 8 %cmp.i.not.i = icmp eq ptr %incdec.ptr.i.i, %__middle.coerce - br i1 %cmp.i.not.i, label %return, label %for.body.i, !llvm.loop !197 + br i1 %cmp.i.not.i, label %return, label %for.body.i, !llvm.loop !198 if.end16: ; preds = %if.end5 %sub.ptr.sub.i12 = sub i64 %sub.ptr.lhs.cast.i, %sub.ptr.lhs.cast.i6 @@ -22908,7 +22908,7 @@ for.body: ; preds = %for.body.preheader, %incdec.ptr.i19 = getelementptr inbounds nuw i8, ptr %__q.sroa.0.083, i64 8 %inc = add nuw nsw i64 %__i.085, 1 %exitcond92.not = icmp eq i64 %inc, %sub20 - br i1 %exitcond92.not, label %for.end, label %for.body, !llvm.loop !198 + br i1 %exitcond92.not, label %for.end, label %for.body, !llvm.loop !199 for.end: ; preds = %for.body, %if.end45 %__p.sroa.0.1.lcssa = phi ptr [ %__p.sroa.0.0, %if.end45 ], [ %incdec.ptr.i, %for.body ] @@ -22963,7 +22963,7 @@ for.body101: ; preds = %if.end90, %for.body store ptr %6, ptr %incdec.ptr.i34, align 8 %inc109 = add nuw nsw i64 %__i97.081, 1 %exitcond.not = icmp eq i64 %inc109, %__k.0 - br i1 %exitcond.not, label %for.end110, label %for.body101, !llvm.loop !199 + br i1 %exitcond.not, label %for.end110, label %for.body101, !llvm.loop !200 for.end110: ; preds = %for.body101, %if.end90 %__p.sroa.0.3.lcssa = phi ptr [ %add.ptr.i32, %if.end90 ], [ %__p.sroa.0.0, %for.body101 ] @@ -22975,7 +22975,7 @@ for.cond.backedge: ; preds = %for.end110, %if.end %__p.sroa.0.0.be = phi ptr [ %__p.sroa.0.1.lcssa, %if.end59 ], [ %__p.sroa.0.3.lcssa, %for.end110 ] %__k.0.be = phi i64 [ %sub60, %if.end59 ], [ %rem111, %for.end110 ] %__n.0.be = phi i64 [ %__k.0, %if.end59 ], [ %sub20, %for.end110 ] - br label %for.cond, !llvm.loop !200 + br label %for.cond, !llvm.loop !201 return: ; preds = %for.end110, %for.end, %for.body.i, %if.else, %entry, %_ZSt13move_backwardIN9__gnu_cxx17__normal_iteratorIPPKN6google8protobuf7MessageESt6vectorIS6_SaIS6_EEEESB_ET0_T_SD_SC_.exit, %_ZSt4moveIN9__gnu_cxx17__normal_iteratorIPPKN6google8protobuf7MessageESt6vectorIS6_SaIS6_EEEESB_ET0_T_SD_SC_.exit %retval.sroa.0.0 = phi ptr [ %add.ptr.i, %_ZSt4moveIN9__gnu_cxx17__normal_iteratorIPPKN6google8protobuf7MessageESt6vectorIS6_SaIS6_EEEESB_ET0_T_SD_SC_.exit ], [ %add.ptr.i, %_ZSt13move_backwardIN9__gnu_cxx17__normal_iteratorIPPKN6google8protobuf7MessageESt6vectorIS6_SaIS6_EEEESB_ET0_T_SD_SC_.exit ], [ %__last.coerce, %entry ], [ %__first.coerce, %if.else ], [ %__middle.coerce, %for.body.i ], [ %add.ptr.i, %for.end ], [ %add.ptr.i, %for.end110 ] @@ -23033,7 +23033,7 @@ while.body.i: ; preds = %land.rhs.i store ptr %.sink.i, ptr %__result.sroa.0.017.i, align 8 %incdec.ptr.i8.i = getelementptr inbounds nuw i8, ptr %__result.sroa.0.017.i, i64 8 %cmp.not.i = icmp eq ptr %__first1.addr.1.i, %add.ptr.i.i.i.i.i - br i1 %cmp.not.i, label %_ZSt21__move_merge_adaptiveIPPKN6google8protobuf7MessageEN9__gnu_cxx17__normal_iteratorIS5_St6vectorIS4_SaIS4_EEEESB_NS6_5__ops15_Iter_comp_iterINS1_25MapEntryMessageComparatorEEEEvT_SG_T0_SH_T1_T2_.exit, label %land.rhs.i, !llvm.loop !201 + br i1 %cmp.not.i, label %_ZSt21__move_merge_adaptiveIPPKN6google8protobuf7MessageEN9__gnu_cxx17__normal_iteratorIS5_St6vectorIS4_SaIS4_EEEESB_NS6_5__ops15_Iter_comp_iterINS1_25MapEntryMessageComparatorEEEEvT_SG_T0_SH_T1_T2_.exit, label %land.rhs.i, !llvm.loop !202 _ZSt4moveIPPKN6google8protobuf7MessageEN9__gnu_cxx17__normal_iteratorIS5_St6vectorIS4_SaIS4_EEEEET0_T_SD_SC_.exit.i: ; preds = %land.rhs.i %sub.ptr.lhs.cast.i.i.i.i.i.i = ptrtoint ptr %add.ptr.i.i.i.i.i to i64 @@ -23100,7 +23100,7 @@ if.then14.i: ; preds = %while.body.i34 %4 = load ptr, ptr %__last1.sroa.0.0.i.ph, align 8 store ptr %4, ptr %incdec.ptr.i11.i, align 8 %cmp.i12.i = icmp eq ptr %__first.coerce, %__last1.sroa.0.0.i.ph - br i1 %cmp.i12.i, label %if.then19.i, label %while.body.i34.outer, !llvm.loop !202 + br i1 %cmp.i12.i, label %if.then19.i, label %while.body.i34.outer, !llvm.loop !203 if.then19.i: ; preds = %if.then14.i %incdec.ptr20.i = getelementptr inbounds nuw i8, ptr %__last2.addr.0.i, i64 8 @@ -23125,7 +23125,7 @@ if.else28.i: ; preds = %while.body.i34 if.end33.i: ; preds = %if.else28.i %incdec.ptr34.i = getelementptr inbounds i8, ptr %__last2.addr.0.i, i64 -8 - br label %while.body.i34, !llvm.loop !202 + br label %while.body.i34, !llvm.loop !203 _ZSt30__move_merge_adaptive_backwardIN9__gnu_cxx17__normal_iteratorIPPKN6google8protobuf7MessageESt6vectorIS6_SaIS6_EEEES7_SB_NS0_5__ops15_Iter_comp_iterINS3_25MapEntryMessageComparatorEEEEvT_SG_T0_SH_T1_T2_.exit: ; preds = %if.else28.i, %_ZSt4moveIN9__gnu_cxx17__normal_iteratorIPPKN6google8protobuf7MessageESt6vectorIS6_SaIS6_EEEES7_ET0_T_SD_SC_.exit32, %if.then.i.i.i.i.i.i, %if.then19.i, %if.then.i.i.i.i.i14.i call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %__comp.i33) @@ -23160,7 +23160,7 @@ while.body.i41: ; preds = %if.then37, %while.b %__first.sroa.0.1.i = select i1 %call2.i.i42, ptr %incdec.ptr.i.i43, ptr %__first.sroa.0.07.i %__len.1.i = select i1 %call2.i.i42, i64 %sub11.i, i64 %shr.i %cmp.i = icmp sgt i64 %__len.1.i, 0 - br i1 %cmp.i, label %while.body.i41, label %_ZSt13__lower_boundIN9__gnu_cxx17__normal_iteratorIPPKN6google8protobuf7MessageESt6vectorIS6_SaIS6_EEEES6_NS0_5__ops14_Iter_comp_valINS3_25MapEntryMessageComparatorEEEET_SG_SG_RKT0_T1_.exit.loopexit, !llvm.loop !195 + br i1 %cmp.i, label %while.body.i41, label %_ZSt13__lower_boundIN9__gnu_cxx17__normal_iteratorIPPKN6google8protobuf7MessageESt6vectorIS6_SaIS6_EEEES6_NS0_5__ops14_Iter_comp_valINS3_25MapEntryMessageComparatorEEEET_SG_SG_RKT0_T1_.exit.loopexit, !llvm.loop !196 _ZSt13__lower_boundIN9__gnu_cxx17__normal_iteratorIPPKN6google8protobuf7MessageESt6vectorIS6_SaIS6_EEEES6_NS0_5__ops14_Iter_comp_valINS3_25MapEntryMessageComparatorEEEET_SG_SG_RKT0_T1_.exit.loopexit: ; preds = %while.body.i41 %.pre = ptrtoint ptr %__first.sroa.0.1.i to i64 @@ -23200,7 +23200,7 @@ while.body.i64: ; preds = %if.else59, %while.b %__first.sroa.0.1.i76 = select i1 %call2.i.i73, ptr %__first.sroa.0.07.i66, ptr %incdec.ptr.i.i74 %__len.1.i77 = select i1 %call2.i.i73, i64 %shr.i67, i64 %sub11.i75 %cmp.i78 = icmp sgt i64 %__len.1.i77, 0 - br i1 %cmp.i78, label %while.body.i64, label %_ZSt13__upper_boundIN9__gnu_cxx17__normal_iteratorIPPKN6google8protobuf7MessageESt6vectorIS6_SaIS6_EEEES6_NS0_5__ops14_Val_comp_iterINS3_25MapEntryMessageComparatorEEEET_SG_SG_RKT0_T1_.exit.loopexit, !llvm.loop !196 + br i1 %cmp.i78, label %while.body.i64, label %_ZSt13__upper_boundIN9__gnu_cxx17__normal_iteratorIPPKN6google8protobuf7MessageESt6vectorIS6_SaIS6_EEEES6_NS0_5__ops14_Val_comp_iterINS3_25MapEntryMessageComparatorEEEET_SG_SG_RKT0_T1_.exit.loopexit, !llvm.loop !197 _ZSt13__upper_boundIN9__gnu_cxx17__normal_iteratorIPPKN6google8protobuf7MessageESt6vectorIS6_SaIS6_EEEES6_NS0_5__ops14_Val_comp_iterINS3_25MapEntryMessageComparatorEEEET_SG_SG_RKT0_T1_.exit.loopexit: ; preds = %while.body.i64 %.pre105 = ptrtoint ptr %__first.sroa.0.1.i76 to i64 @@ -23349,7 +23349,7 @@ while.body.us: ; preds = %while.body.lr.ph, % %sub.ptr.sub.i.us = sub i64 %sub.ptr.lhs.cast.i, %sub.ptr.rhs.cast.i.us %sub.ptr.div.i.us = ashr exact i64 %sub.ptr.sub.i.us, 3 %cmp.not.us = icmp slt i64 %sub.ptr.div.i.us, %__chunk_size - br i1 %cmp.not.us, label %while.end, label %while.body.us, !llvm.loop !203 + br i1 %cmp.not.us, label %while.end, label %while.body.us, !llvm.loop !204 while.body: ; preds = %while.body.lr.ph, %_ZSt16__insertion_sortIN9__gnu_cxx17__normal_iteratorIPPKN6google8protobuf7MessageESt6vectorIS6_SaIS6_EEEENS0_5__ops15_Iter_comp_iterINS3_25MapEntryMessageComparatorEEEEvT_SG_T0_.exit.loopexit %sub.ptr.rhs.cast.i45 = phi i64 [ %sub.ptr.rhs.cast.i, %_ZSt16__insertion_sortIN9__gnu_cxx17__normal_iteratorIPPKN6google8protobuf7MessageESt6vectorIS6_SaIS6_EEEENS0_5__ops15_Iter_comp_iterINS3_25MapEntryMessageComparatorEEEEvT_SG_T0_.exit.loopexit ], [ %sub.ptr.rhs.cast.i40, %while.body.lr.ph ] @@ -23397,7 +23397,7 @@ while.body.i.i: ; preds = %if.else.i, %while.b %__next.sroa.0.0.i.i = getelementptr inbounds i8, ptr %__next.sroa.0.010.i.i, i64 -8 %6 = load ptr, ptr %__next.sroa.0.0.i.i, align 8 %call2.i.i.i = call noundef zeroext i1 @_ZN6google8protobuf25MapEntryMessageComparatorclEPKNS0_7MessageES4_(ptr noundef nonnull align 8 dereferenceable(8) %__comp.i.i, ptr noundef %3, ptr noundef %6) - br i1 %call2.i.i.i, label %while.body.i.i, label %_ZSt25__unguarded_linear_insertIN9__gnu_cxx17__normal_iteratorIPPKN6google8protobuf7MessageESt6vectorIS6_SaIS6_EEEENS0_5__ops14_Val_comp_iterINS3_25MapEntryMessageComparatorEEEEvT_T0_.exit.i, !llvm.loop !192 + br i1 %call2.i.i.i, label %while.body.i.i, label %_ZSt25__unguarded_linear_insertIN9__gnu_cxx17__normal_iteratorIPPKN6google8protobuf7MessageESt6vectorIS6_SaIS6_EEEENS0_5__ops14_Val_comp_iterINS3_25MapEntryMessageComparatorEEEEvT_T0_.exit.i, !llvm.loop !193 _ZSt25__unguarded_linear_insertIN9__gnu_cxx17__normal_iteratorIPPKN6google8protobuf7MessageESt6vectorIS6_SaIS6_EEEENS0_5__ops14_Val_comp_iterINS3_25MapEntryMessageComparatorEEEEvT_T0_.exit.i: ; preds = %while.body.i.i, %if.else.i %__last.sroa.0.0.lcssa.i.i = phi ptr [ %__i.sroa.0.012.i, %if.else.i ], [ %__next.sroa.0.010.i.i, %while.body.i.i ] @@ -23408,7 +23408,7 @@ _ZSt25__unguarded_linear_insertIN9__gnu_cxx17__normal_iteratorIPPKN6google8proto for.inc.i: ; preds = %_ZSt25__unguarded_linear_insertIN9__gnu_cxx17__normal_iteratorIPPKN6google8protobuf7MessageESt6vectorIS6_SaIS6_EEEENS0_5__ops14_Val_comp_iterINS3_25MapEntryMessageComparatorEEEEvT_T0_.exit.i, %_ZSt13move_backwardIN9__gnu_cxx17__normal_iteratorIPPKN6google8protobuf7MessageESt6vectorIS6_SaIS6_EEEESB_ET0_T_SD_SC_.exit.i %__i.sroa.0.0.i = getelementptr inbounds nuw i8, ptr %__i.sroa.0.012.i, i64 8 %cmp.i1.not.i = icmp eq ptr %__i.sroa.0.0.i, %add.ptr.i - br i1 %cmp.i1.not.i, label %_ZSt16__insertion_sortIN9__gnu_cxx17__normal_iteratorIPPKN6google8protobuf7MessageESt6vectorIS6_SaIS6_EEEENS0_5__ops15_Iter_comp_iterINS3_25MapEntryMessageComparatorEEEEvT_SG_T0_.exit.loopexit, label %for.body.i, !llvm.loop !193 + br i1 %cmp.i1.not.i, label %_ZSt16__insertion_sortIN9__gnu_cxx17__normal_iteratorIPPKN6google8protobuf7MessageESt6vectorIS6_SaIS6_EEEENS0_5__ops15_Iter_comp_iterINS3_25MapEntryMessageComparatorEEEEvT_SG_T0_.exit.loopexit, label %for.body.i, !llvm.loop !194 _ZSt16__insertion_sortIN9__gnu_cxx17__normal_iteratorIPPKN6google8protobuf7MessageESt6vectorIS6_SaIS6_EEEENS0_5__ops15_Iter_comp_iterINS3_25MapEntryMessageComparatorEEEEvT_SG_T0_.exit.loopexit: ; preds = %for.inc.i call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %__comp.i) @@ -23416,7 +23416,7 @@ _ZSt16__insertion_sortIN9__gnu_cxx17__normal_iteratorIPPKN6google8protobuf7Messa %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, 3 %cmp.not = icmp slt i64 %sub.ptr.div.i, %__chunk_size - br i1 %cmp.not, label %while.end, label %while.body, !llvm.loop !203 + br i1 %cmp.not, label %while.end, label %while.body, !llvm.loop !204 while.end: ; preds = %_ZSt16__insertion_sortIN9__gnu_cxx17__normal_iteratorIPPKN6google8protobuf7MessageESt6vectorIS6_SaIS6_EEEENS0_5__ops15_Iter_comp_iterINS3_25MapEntryMessageComparatorEEEEvT_SG_T0_.exit.loopexit, %while.body.us, %entry %__first.sroa.0.0.lcssa = phi ptr [ %__first.coerce, %entry ], [ %add.ptr.i.us, %while.body.us ], [ %add.ptr.i, %_ZSt16__insertion_sortIN9__gnu_cxx17__normal_iteratorIPPKN6google8protobuf7MessageESt6vectorIS6_SaIS6_EEEENS0_5__ops15_Iter_comp_iterINS3_25MapEntryMessageComparatorEEEEvT_SG_T0_.exit.loopexit ] @@ -23466,7 +23466,7 @@ while.body.i.i24: ; preds = %if.else.i16, %while %__next.sroa.0.0.i.i27 = getelementptr inbounds i8, ptr %__next.sroa.0.010.i.i25, i64 -8 %13 = load ptr, ptr %__next.sroa.0.0.i.i27, align 8 %call2.i.i.i28 = call noundef zeroext i1 @_ZN6google8protobuf25MapEntryMessageComparatorclEPKNS0_7MessageES4_(ptr noundef nonnull align 8 dereferenceable(8) %__comp.i.i4, ptr noundef %10, ptr noundef %13) - br i1 %call2.i.i.i28, label %while.body.i.i24, label %_ZSt25__unguarded_linear_insertIN9__gnu_cxx17__normal_iteratorIPPKN6google8protobuf7MessageESt6vectorIS6_SaIS6_EEEENS0_5__ops14_Val_comp_iterINS3_25MapEntryMessageComparatorEEEEvT_T0_.exit.i19, !llvm.loop !192 + br i1 %call2.i.i.i28, label %while.body.i.i24, label %_ZSt25__unguarded_linear_insertIN9__gnu_cxx17__normal_iteratorIPPKN6google8protobuf7MessageESt6vectorIS6_SaIS6_EEEENS0_5__ops14_Val_comp_iterINS3_25MapEntryMessageComparatorEEEEvT_T0_.exit.i19, !llvm.loop !193 _ZSt25__unguarded_linear_insertIN9__gnu_cxx17__normal_iteratorIPPKN6google8protobuf7MessageESt6vectorIS6_SaIS6_EEEENS0_5__ops14_Val_comp_iterINS3_25MapEntryMessageComparatorEEEEvT_T0_.exit.i19: ; preds = %while.body.i.i24, %if.else.i16 %__last.sroa.0.0.lcssa.i.i20 = phi ptr [ %__i.sroa.0.012.i13, %if.else.i16 ], [ %__next.sroa.0.010.i.i25, %while.body.i.i24 ] @@ -23477,7 +23477,7 @@ _ZSt25__unguarded_linear_insertIN9__gnu_cxx17__normal_iteratorIPPKN6google8proto for.inc.i21: ; preds = %_ZSt25__unguarded_linear_insertIN9__gnu_cxx17__normal_iteratorIPPKN6google8protobuf7MessageESt6vectorIS6_SaIS6_EEEENS0_5__ops14_Val_comp_iterINS3_25MapEntryMessageComparatorEEEEvT_T0_.exit.i19, %_ZSt13move_backwardIN9__gnu_cxx17__normal_iteratorIPPKN6google8protobuf7MessageESt6vectorIS6_SaIS6_EEEESB_ET0_T_SD_SC_.exit.i29 %__i.sroa.0.0.i22 = getelementptr inbounds nuw i8, ptr %__i.sroa.0.012.i13, i64 8 %cmp.i1.not.i23 = icmp eq ptr %__i.sroa.0.0.i22, %__last.coerce - br i1 %cmp.i1.not.i23, label %_ZSt16__insertion_sortIN9__gnu_cxx17__normal_iteratorIPPKN6google8protobuf7MessageESt6vectorIS6_SaIS6_EEEENS0_5__ops15_Iter_comp_iterINS3_25MapEntryMessageComparatorEEEEvT_SG_T0_.exit36, label %for.body.i12, !llvm.loop !193 + br i1 %cmp.i1.not.i23, label %_ZSt16__insertion_sortIN9__gnu_cxx17__normal_iteratorIPPKN6google8protobuf7MessageESt6vectorIS6_SaIS6_EEEENS0_5__ops15_Iter_comp_iterINS3_25MapEntryMessageComparatorEEEEvT_SG_T0_.exit36, label %for.body.i12, !llvm.loop !194 _ZSt16__insertion_sortIN9__gnu_cxx17__normal_iteratorIPPKN6google8protobuf7MessageESt6vectorIS6_SaIS6_EEEENS0_5__ops15_Iter_comp_iterINS3_25MapEntryMessageComparatorEEEEvT_SG_T0_.exit36: ; preds = %for.inc.i21, %while.end call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %__comp.i5) @@ -23529,7 +23529,7 @@ while.body.i: ; preds = %while.body, %while. %cmp.i.i = icmp ne ptr %__first1.sroa.0.1.i, %add.ptr.i %cmp.i4.i = icmp ne ptr %__first2.sroa.0.1.i, %add.ptr.i5 %or.cond.i = select i1 %cmp.i.i, i1 %cmp.i4.i, i1 false - br i1 %or.cond.i, label %while.body.i, label %while.end.i.loopexit, !llvm.loop !204 + br i1 %or.cond.i, label %while.body.i, label %while.end.i.loopexit, !llvm.loop !205 while.end.i.loopexit: ; preds = %while.body.i %sub.ptr.lhs.cast.i.i.i.i.i.i = ptrtoint ptr %add.ptr.i to i64 @@ -23560,7 +23560,7 @@ _ZSt12__move_mergeIN9__gnu_cxx17__normal_iteratorIPPKN6google8protobuf7MessageES %sub.ptr.sub.i = sub i64 %sub.ptr.lhs.cast.i, %sub.ptr.lhs.cast.i.i.i.i.i6.i %sub.ptr.div.i = ashr exact i64 %sub.ptr.sub.i, 3 %cmp.not = icmp slt i64 %sub.ptr.div.i, %mul - br i1 %cmp.not, label %while.end, label %while.body, !llvm.loop !205 + br i1 %cmp.not, label %while.end, label %while.body, !llvm.loop !206 while.end: ; preds = %_ZSt12__move_mergeIN9__gnu_cxx17__normal_iteratorIPPKN6google8protobuf7MessageESt6vectorIS6_SaIS6_EEEES7_NS0_5__ops15_Iter_comp_iterINS3_25MapEntryMessageComparatorEEEET0_T_SH_SH_SH_SG_T1_.exit, %entry %__first.sroa.0.0.lcssa = phi ptr [ %__first.coerce, %entry ], [ %add.ptr.i5, %_ZSt12__move_mergeIN9__gnu_cxx17__normal_iteratorIPPKN6google8protobuf7MessageESt6vectorIS6_SaIS6_EEEES7_NS0_5__ops15_Iter_comp_iterINS3_25MapEntryMessageComparatorEEEET0_T_SH_SH_SH_SG_T1_.exit ] @@ -23593,7 +23593,7 @@ while.body.i34: ; preds = %while.end, %while.b %cmp.i.i46 = icmp ne ptr %__first1.sroa.0.1.i43, %add.ptr.i11 %cmp.i4.i47 = icmp ne ptr %__first2.sroa.0.1.i41, %__last.coerce %or.cond.i48 = select i1 %cmp.i.i46, i1 %cmp.i4.i47, i1 false - br i1 %or.cond.i48, label %while.body.i34, label %while.end.i17, !llvm.loop !204 + br i1 %or.cond.i48, label %while.body.i34, label %while.end.i17, !llvm.loop !205 while.end.i17: ; preds = %while.body.i34, %while.end %__first2.sroa.0.0.lcssa.i18 = phi ptr [ %add.ptr.i11, %while.end ], [ %__first2.sroa.0.1.i41, %while.body.i34 ] @@ -23670,7 +23670,7 @@ while.body.i: ; preds = %while.body, %while. %cmp.i = icmp ne ptr %__first1.addr.1.i, %add.ptr %cmp3.i = icmp ne ptr %__first2.addr.1.i, %add.ptr4 %2 = select i1 %cmp.i, i1 %cmp3.i, i1 false - br i1 %2, label %while.body.i, label %while.end.i.loopexit, !llvm.loop !206 + br i1 %2, label %while.body.i, label %while.end.i.loopexit, !llvm.loop !207 while.end.i.loopexit: ; preds = %while.body.i %sub.ptr.lhs.cast.i.i.i.i.i.i = ptrtoint ptr %add.ptr to i64 @@ -23701,7 +23701,7 @@ _ZSt12__move_mergeIPPKN6google8protobuf7MessageEN9__gnu_cxx17__normal_iteratorIS %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.lhs.cast.i.i.i.i.i11.i %sub.ptr.div = ashr exact i64 %sub.ptr.sub, 3 %cmp.not = icmp slt i64 %sub.ptr.div, %mul - br i1 %cmp.not, label %while.end, label %while.body, !llvm.loop !207 + br i1 %cmp.not, label %while.end, label %while.body, !llvm.loop !208 while.end: ; preds = %_ZSt12__move_mergeIPPKN6google8protobuf7MessageEN9__gnu_cxx17__normal_iteratorIS5_St6vectorIS4_SaIS4_EEEENS6_5__ops15_Iter_comp_iterINS1_25MapEntryMessageComparatorEEEET0_T_SH_SH_SH_SG_T1_.exit, %entry %__first.addr.0.lcssa = phi ptr [ %__first, %entry ], [ %add.ptr4, %_ZSt12__move_mergeIPPKN6google8protobuf7MessageEN9__gnu_cxx17__normal_iteratorIS5_St6vectorIS4_SaIS4_EEEENS6_5__ops15_Iter_comp_iterINS1_25MapEntryMessageComparatorEEEET0_T_SH_SH_SH_SG_T1_.exit ] @@ -23734,7 +23734,7 @@ while.body.i35: ; preds = %while.end, %while.b %cmp.i47 = icmp ne ptr %__first1.addr.1.i44, %add.ptr17 %cmp3.i48 = icmp ne ptr %__first2.addr.1.i42, %__last %6 = select i1 %cmp.i47, i1 %cmp3.i48, i1 false - br i1 %6, label %while.body.i35, label %while.end.i18, !llvm.loop !206 + br i1 %6, label %while.body.i35, label %while.end.i18, !llvm.loop !207 while.end.i18: ; preds = %while.body.i35, %while.end %__result.sroa.0.0.lcssa.i19 = phi ptr [ %__result.sroa.0.0.lcssa, %while.end ], [ %incdec.ptr.i.i46, %while.body.i35 ] @@ -24015,7 +24015,7 @@ attributes #43 = { nounwind allocsize(0) } !168 = distinct !{!168, !169, !"_ZN4absl12lts_2023080218container_internal5probeERKNS1_12CommonFieldsEm: %agg.result"} !169 = distinct !{!169, !"_ZN4absl12lts_2023080218container_internal5probeERKNS1_12CommonFieldsEm"} !170 = distinct !{!170, !5} -!171 = distinct !{!171, !5} +!171 = !{} !172 = distinct !{!172, !5} !173 = distinct !{!173, !5} !174 = distinct !{!174, !5} @@ -24052,3 +24052,4 @@ attributes #43 = { nounwind allocsize(0) } !205 = distinct !{!205, !5} !206 = distinct !{!206, !5} !207 = distinct !{!207, !5} +!208 = distinct !{!208, !5} diff --git a/bench/qdrant-rs/optimized/4a3k1lnyyshtxc9t.ll b/bench/qdrant-rs/optimized/4a3k1lnyyshtxc9t.ll index 553b942156c..c95d20b97b6 100644 --- a/bench/qdrant-rs/optimized/4a3k1lnyyshtxc9t.ll +++ b/bench/qdrant-rs/optimized/4a3k1lnyyshtxc9t.ll @@ -885,13 +885,13 @@ define hidden void @"_ZN82_$LT$std..io..buffered..bufreader..BufReader$LT$R$GT$$ %12 = load i64, ptr %11, align 8 %13 = icmp uge i64 %3, %12 %or.cond = select i1 %10, i1 %13, i1 false - br i1 %or.cond, label %33, label %14 + br i1 %or.cond, label %27, label %14 14: ; preds = %4 tail call void @llvm.experimental.noalias.scope.decl(metadata !170) %.not.i = icmp ult i64 %7, %9 - %.pre.i = load ptr, ptr %1, align 8, !alias.scope !170, !noalias !173 - br i1 %.not.i, label %_ZN3std2io8buffered9bufreader6buffer6Buffer8fill_buf17hcc219477a3c08504E.exit, label %15 + %.pre.i = load ptr, ptr %1, align 8, !alias.scope !170, !noalias !173, !nonnull !12, !noundef !12 + br i1 %.not.i, label %29, label %15 15: ; preds = %14 %16 = getelementptr inbounds nuw i8, ptr %1, i64 40 @@ -907,7 +907,7 @@ define hidden void @"_ZN82_$LT$std..io..buffered..bufreader..BufReader$LT$R$GT$$ store i64 %21, ptr %19, align 8, !noalias !176 %22 = call noundef ptr @"_ZN47_$LT$std..fs..File$u20$as$u20$std..io..Read$GT$8read_buf17h99c56ac75b937dddE"(ptr noalias noundef nonnull align 4 dereferenceable(4) %16, ptr noalias noundef nonnull align 8 dereferenceable(32) %5, i64 noundef 0), !noalias !177 %23 = icmp eq ptr %22, null - br i1 %23, label %24, label %_ZN3std2io8buffered9bufreader6buffer6Buffer8fill_buf17hcc219477a3c08504E.exit.thread + br i1 %23, label %24, label %43 24: ; preds = %15 store i64 0, ptr %6, align 8, !alias.scope !170, !noalias !173 @@ -916,58 +916,49 @@ define hidden void @"_ZN82_$LT$std..io..buffered..bufreader..BufReader$LT$R$GT$$ %26 = load i64, ptr %19, align 8, !noalias !176, !noundef !12 store i64 %26, ptr %20, align 8, !alias.scope !170, !noalias !173 call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %5), !noalias !176 - br label %_ZN3std2io8buffered9bufreader6buffer6Buffer8fill_buf17hcc219477a3c08504E.exit + br label %29 -_ZN3std2io8buffered9bufreader6buffer6Buffer8fill_buf17hcc219477a3c08504E.exit.thread: ; preds = %15 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %5), !noalias !176 - br label %43 - -_ZN3std2io8buffered9bufreader6buffer6Buffer8fill_buf17hcc219477a3c08504E.exit: ; preds = %14, %24 - %27 = phi i64 [ %9, %14 ], [ %25, %24 ] - %28 = phi i64 [ %7, %14 ], [ 0, %24 ] - %29 = sub nuw i64 %27, %28 - %30 = getelementptr inbounds i8, ptr %.pre.i, i64 %28 - %31 = icmp eq ptr %.pre.i, null - %32 = inttoptr i64 %29 to ptr - br i1 %31, label %43, label %35 - -33: ; preds = %4 - %34 = getelementptr inbounds nuw i8, ptr %1, i64 40 +_ZN3std2io8buffered9bufreader6buffer6Buffer8fill_buf17hcc219477a3c08504E.exit.thread: ; preds = %4 + %28 = getelementptr inbounds nuw i8, ptr %1, i64 40 tail call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %6, i8 0, i64 16, i1 false) - tail call void @"_ZN47_$LT$std..fs..File$u20$as$u20$std..io..Read$GT$4read17hf2fa0a834198ea80E"(ptr noalias noundef nonnull sret({ i64, [1 x i64] }) align 8 captures(none) dereferenceable(16) %0, ptr noalias noundef nonnull align 4 dereferenceable(4) %34, ptr noalias noundef nonnull align 1 %2, i64 noundef %3) + tail call void @"_ZN47_$LT$std..fs..File$u20$as$u20$std..io..Read$GT$4read17hf2fa0a834198ea80E"(ptr noalias noundef nonnull sret({ i64, [1 x i64] }) align 8 captures(none) dereferenceable(16) %0, ptr noalias noundef nonnull align 4 dereferenceable(4) %28, ptr noalias noundef nonnull align 1 %2, i64 noundef %3) br label %42 -35: ; preds = %_ZN3std2io8buffered9bufreader6buffer6Buffer8fill_buf17hcc219477a3c08504E.exit +35: ; preds = %24, %14 + %30 = phi i64 [ %9, %14 ], [ %25, %24 ] + %31 = phi i64 [ %7, %14 ], [ 0, %24 ] + %32 = sub nuw i64 %30, %31 + %33 = getelementptr inbounds i8, ptr %.pre.i, i64 %31 call void @llvm.experimental.noalias.scope.decl(metadata !178) - %.0.sroa.speculated.i.i = call noundef i64 @llvm.umin.i64(i64 %3, i64 %29) + %.0.sroa.speculated.i.i = call noundef i64 @llvm.umin.i64(i64 %3, i64 %32) %36 = icmp eq i64 %.0.sroa.speculated.i.i, 1 br i1 %36, label %37, label %"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$15copy_from_slice17hb9a5b887f1269127E.exit.i" "_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$15copy_from_slice17hb9a5b887f1269127E.exit.i": ; preds = %35 - call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 1 %2, ptr nonnull readonly align 1 %30, i64 %.0.sroa.speculated.i.i, i1 false), !alias.scope !181, !noalias !185 + call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 1 %2, ptr nonnull readonly align 1 %33, i64 %.0.sroa.speculated.i.i, i1 false), !alias.scope !181, !noalias !185 br label %39 37: ; preds = %35 - %38 = load i8, ptr %30, align 1, !noalias !189, !noundef !12 + %38 = load i8, ptr %33, align 1, !noalias !189, !noundef !12 store i8 %38, ptr %2, align 1, !alias.scope !178, !noalias !190 br label %39 39: ; preds = %37, %"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$15copy_from_slice17hb9a5b887f1269127E.exit.i" - %40 = add i64 %28, %.0.sroa.speculated.i.i - %.0.sroa.speculated.i = call noundef i64 @llvm.umin.i64(i64 %40, i64 %27) + %40 = add i64 %31, %.0.sroa.speculated.i.i + %.0.sroa.speculated.i = call noundef i64 @llvm.umin.i64(i64 %40, i64 %30) store i64 %.0.sroa.speculated.i, ptr %6, align 8 %41 = getelementptr inbounds nuw i8, ptr %0, i64 8 store i64 %.0.sroa.speculated.i.i, ptr %41, align 8 store i64 0, ptr %0, align 8 br label %42 -42: ; preds = %43, %39, %33 +42: ; preds = %43, %39, %27 ret void -43: ; preds = %_ZN3std2io8buffered9bufreader6buffer6Buffer8fill_buf17hcc219477a3c08504E.exit, %_ZN3std2io8buffered9bufreader6buffer6Buffer8fill_buf17hcc219477a3c08504E.exit.thread - %44 = phi ptr [ %22, %_ZN3std2io8buffered9bufreader6buffer6Buffer8fill_buf17hcc219477a3c08504E.exit.thread ], [ %32, %_ZN3std2io8buffered9bufreader6buffer6Buffer8fill_buf17hcc219477a3c08504E.exit ] +43: ; preds = %15 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %5), !noalias !176 %45 = getelementptr inbounds nuw i8, ptr %0, i64 8 - store ptr %44, ptr %45, align 8 + store ptr %22, ptr %45, align 8 store i64 1, ptr %0, align 8 br label %42 } @@ -1354,7 +1345,7 @@ common.resume: ; preds = %.body, %97, %26 to label %._crit_edge.i unwind label %84, !noalias !286 ._crit_edge.i: ; preds = %83 - %.pre.i = load i64, ptr %.sroa.58.0..sroa_idx, align 8, !alias.scope !283, !noalias !286 + %.pre.i = load i64, ptr %.sroa.58.0..sroa_idx, align 8, !alias.scope !283, !noalias !286, !noundef !12 br label %88 84: ; preds = %83 diff --git a/bench/quantlib/optimized/analyticgjrgarchengine.ll b/bench/quantlib/optimized/analyticgjrgarchengine.ll index fa81a2d72e5..64a32104559 100644 --- a/bench/quantlib/optimized/analyticgjrgarchengine.ll +++ b/bench/quantlib/optimized/analyticgjrgarchengine.ll @@ -2242,6 +2242,8 @@ for.body729.lr.ph: ; preds = %for.body591 %mul787 = fmul double %100, %227 %gep1133 = getelementptr double, ptr %invariant.gep11321186, i64 %i.11135 %sub886 = add i64 %sub726, -2 + %.pre1175 = load double, ptr %call557, align 8 + %.pre1176 = load double, ptr %call560, align 8 br label %for.body729 for.cond725.loopexit: ; preds = %for.body889, %for.body729 @@ -2254,8 +2256,8 @@ for.cond725.loopexit: ; preds = %for.body889, %for.b br i1 %exitcond1172.not, label %for.end943, label %for.body729, !llvm.loop !149 for.body729: ; preds = %for.body729.lr.ph, %for.cond725.loopexit - %232 = phi double [ 1.000000e+00, %for.body729.lr.ph ], [ %236, %for.cond725.loopexit ] - %233 = phi double [ 1.000000e+00, %for.body729.lr.ph ], [ %234, %for.cond725.loopexit ] + %232 = phi double [ %.pre1176, %for.body729.lr.ph ], [ %236, %for.cond725.loopexit ] + %233 = phi double [ %.pre1175, %for.body729.lr.ph ], [ %234, %for.cond725.loopexit ] %indvars.iv1167 = phi i64 [ %indvars.iv, %for.body729.lr.ph ], [ %indvars.iv.next1168, %for.cond725.loopexit ] %sEhh.11119 = phi double [ %sEhh.01148, %for.body729.lr.ph ], [ %add863, %for.cond725.loopexit ] %sEh1_2eh.11118 = phi double [ %sEh1_2eh.01147, %for.body729.lr.ph ], [ %add864, %for.cond725.loopexit ] @@ -2343,10 +2345,11 @@ for.body729: ; preds = %for.body729.lr.ph, for.body889.lr.ph: ; preds = %for.body729 %mul890 = fmul double %100, %235 %mul903 = fmul double %100, %mul804 + %.pre1177 = load double, ptr %call557, align 8, !tbaa !147 br label %for.body889 for.body889: ; preds = %for.body889.lr.ph, %for.body889 - %246 = phi double [ 1.000000e+00, %for.body889.lr.ph ], [ %247, %for.body889 ] + %246 = phi double [ %.pre1177, %for.body889.lr.ph ], [ %247, %for.body889 ] %sEhhh.21102 = phi double [ %sEhhh.11117, %for.body889.lr.ph ], [ %add916, %for.body889 ] %sEh1_2ehh.21101 = phi double [ %sEh1_2ehh.11112, %for.body889.lr.ph ], [ %add917, %for.body889 ] %sEhh1_2eh.21100 = phi double [ %sEhh1_2eh.11111, %for.body889.lr.ph ], [ %250, %for.body889 ] diff --git a/bench/quantlib/optimized/glued1dmesher.ll b/bench/quantlib/optimized/glued1dmesher.ll index ed8bf013fda..393e02b07c8 100644 --- a/bench/quantlib/optimized/glued1dmesher.ll +++ b/bench/quantlib/optimized/glued1dmesher.ll @@ -363,7 +363,7 @@ if.then.i.i.i.i.i: ; preds = %do.end %45 = load ptr, ptr %locations_, align 8, !tbaa !13 tail call void @llvm.memmove.p0.p0.i64(ptr align 8 %45, ptr align 8 %44, i64 %sub.ptr.sub.i.i.i.i.i, i1 false) %.pre = load ptr, ptr %locations_.i26, align 8, !tbaa !13 - %.pre139 = load i8, ptr %commonPoint_, align 8, !tbaa !14, !range !27 + %.pre139 = load i8, ptr %commonPoint_, align 8, !tbaa !14, !range !27, !noundef !28 br label %invoke.cont79 invoke.cont79: ; preds = %if.then.i.i.i.i.i, %do.end @@ -421,7 +421,7 @@ for.body: ; preds = %for.body.lr.ph, %fo %add.ptr.i116 = getelementptr inbounds nuw double, ptr %54, i64 %i.0138 store double %sub128, ptr %add.ptr.i116, align 8, !tbaa !9 %exitcond.not = icmp eq i64 %add124, %sub121 - br i1 %exitcond.not, label %invoke.cont134, label %for.body, !llvm.loop !28 + br i1 %exitcond.not, label %invoke.cont134, label %for.body, !llvm.loop !29 invoke.cont134: ; preds = %for.body, %invoke.cont113 store double 0x47EFFFFFE0000000, ptr %.pre140, align 8, !tbaa !9 @@ -458,7 +458,7 @@ if.then.i.i.i.i.i: ; preds = %_ZNSt6vectorIdSaIdE store ptr %call5.i.i.i.i2.i.i5, ptr %locations_, align 8, !tbaa !8 %add.ptr.i.i.i = getelementptr double, ptr %call5.i.i.i.i2.i.i5, i64 %size %_M_end_of_storage.i.i.i = getelementptr inbounds nuw i8, ptr %this, i64 24 - store ptr %add.ptr.i.i.i, ptr %_M_end_of_storage.i.i.i, align 8, !tbaa !30 + store ptr %add.ptr.i.i.i, ptr %_M_end_of_storage.i.i.i, align 8, !tbaa !31 store double 0.000000e+00, ptr %call5.i.i.i.i2.i.i5, align 8, !tbaa !9 %incdec.ptr.i.i.i.i.i = getelementptr i8, ptr %call5.i.i.i.i2.i.i5, i64 8 %cmp.i.i.i.i.i.i.i = icmp eq i64 %size, 1 @@ -482,7 +482,7 @@ call5.i.i.i.i2.i.i.noexc21: ; preds = %if.then.i.i.i.i.i9 store ptr %call5.i.i.i.i2.i.i22, ptr %dplus_51, align 8, !tbaa !8 %add.ptr.i.i.i11 = getelementptr double, ptr %call5.i.i.i.i2.i.i22, i64 %size %_M_end_of_storage.i.i.i12 = getelementptr inbounds nuw i8, ptr %this, i64 48 - store ptr %add.ptr.i.i.i11, ptr %_M_end_of_storage.i.i.i12, align 8, !tbaa !30 + store ptr %add.ptr.i.i.i11, ptr %_M_end_of_storage.i.i.i12, align 8, !tbaa !31 store double 0.000000e+00, ptr %call5.i.i.i.i2.i.i22, align 8, !tbaa !9 %incdec.ptr.i.i.i.i.i13 = getelementptr i8, ptr %call5.i.i.i.i2.i.i22, i64 8 br i1 %cmp.i.i.i.i.i.i.i, label %if.then.i.i.i.i.i27, label %if.end.i.i.i.i.i.i.i15 @@ -509,7 +509,7 @@ call5.i.i.i.i2.i.i.noexc39: ; preds = %if.then.i.i.i.i.i27 store ptr %call5.i.i.i.i2.i.i40, ptr %dminus_57, align 8, !tbaa !8 %add.ptr.i.i.i29 = getelementptr double, ptr %call5.i.i.i.i2.i.i40, i64 %size %_M_end_of_storage.i.i.i30 = getelementptr inbounds nuw i8, ptr %this, i64 72 - store ptr %add.ptr.i.i.i29, ptr %_M_end_of_storage.i.i.i30, align 8, !tbaa !30 + store ptr %add.ptr.i.i.i29, ptr %_M_end_of_storage.i.i.i30, align 8, !tbaa !31 store double 0.000000e+00, ptr %call5.i.i.i.i2.i.i40, align 8, !tbaa !9 %incdec.ptr.i.i.i.i.i31 = getelementptr i8, ptr %call5.i.i.i.i2.i.i40, i64 8 br i1 %cmp.i.i.i.i.i.i.i, label %invoke.cont7, label %if.end.i.i.i.i.i.i.i33 @@ -542,7 +542,7 @@ ehcleanup: ; preds = %if.then.i.i.i.i.i27 if.then.i.i.i43: ; preds = %ehcleanup.thread, %ehcleanup %.pn63 = phi { ptr, i32 } [ %3, %ehcleanup.thread ], [ %4, %ehcleanup ] %5 = phi ptr [ %call5.i.i.i.i2.i.i5, %ehcleanup.thread ], [ %.pre, %ehcleanup ] - %6 = load ptr, ptr %_M_end_of_storage.i.i.i, align 8, !tbaa !30 + %6 = load ptr, ptr %_M_end_of_storage.i.i.i, align 8, !tbaa !31 %sub.ptr.lhs.cast.i.i45 = ptrtoint ptr %6 to i64 %sub.ptr.rhs.cast.i.i46 = ptrtoint ptr %5 to i64 %sub.ptr.sub.i.i47 = sub i64 %sub.ptr.lhs.cast.i.i45, %sub.ptr.rhs.cast.i.i46 @@ -569,7 +569,7 @@ define linkonce_odr void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC entry: %__dnew.i = alloca i64, align 8 %0 = getelementptr inbounds nuw i8, ptr %this, i64 16 - store ptr %0, ptr %this, align 8, !tbaa !31 + store ptr %0, ptr %this, align 8, !tbaa !32 %cmp = icmp eq ptr %__s, null br i1 %cmp, label %if.then, label %if.end @@ -580,14 +580,14 @@ if.then: ; preds = %entry if.end: ; preds = %entry %call.i = tail call noundef i64 @strlen(ptr noundef nonnull dereferenceable(1) %__s) #17 call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %__dnew.i) #17 - store i64 %call.i, ptr %__dnew.i, align 8, !tbaa !32 + store i64 %call.i, ptr %__dnew.i, align 8, !tbaa !33 %cmp.i = icmp ugt i64 %call.i, 15 br i1 %cmp.i, label %if.then.i, label %if.end.i if.then.i: ; preds = %if.end %call2.i5 = call noundef ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_createERmm(ptr noundef nonnull align 8 dereferenceable(32) %this, ptr noundef nonnull align 8 dereferenceable(8) %__dnew.i, i64 noundef 0) store ptr %call2.i5, ptr %this, align 8, !tbaa !21 - %1 = load i64, ptr %__dnew.i, align 8, !tbaa !32 + %1 = load i64, ptr %__dnew.i, align 8, !tbaa !33 store i64 %1, ptr %0, align 8, !tbaa !26 br label %if.end.i @@ -608,7 +608,7 @@ if.end.i.i.i.i: ; preds = %if.end.i br label %invoke.cont5 invoke.cont5: ; preds = %if.end.i.i.i.i, %if.then.i.i.i, %if.end.i - %4 = load i64, ptr %__dnew.i, align 8, !tbaa !32 + %4 = load i64, ptr %__dnew.i, align 8, !tbaa !33 %_M_string_length.i.i.i = getelementptr inbounds nuw i8, ptr %this, i64 8 store i64 %4, ptr %_M_string_length.i.i.i, align 8, !tbaa !25 %5 = load ptr, ptr %this, align 8, !tbaa !21 @@ -628,7 +628,7 @@ define linkonce_odr void @_ZN8QuantLib5ErrorD2Ev(ptr noundef nonnull align 8 der entry: store ptr getelementptr inbounds nuw inrange(-16, 24) (i8, ptr @_ZTVN8QuantLib5ErrorE, i64 16), ptr %this, align 8, !tbaa !11 %pn.i = getelementptr inbounds nuw i8, ptr %this, i64 16 - %0 = load ptr, ptr %pn.i, align 8, !tbaa !33 + %0 = load ptr, ptr %pn.i, align 8, !tbaa !34 %cmp.not.i.i = icmp eq ptr %0, null br i1 %cmp.not.i.i, label %_ZN5boost10shared_ptrINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev.exit, label %if.then.i.i @@ -692,7 +692,7 @@ entry: if.then.i.i.i: ; preds = %entry %_M_end_of_storage.i.i = getelementptr inbounds nuw i8, ptr %this, i64 72 - %1 = load ptr, ptr %_M_end_of_storage.i.i, align 8, !tbaa !30 + %1 = load ptr, ptr %_M_end_of_storage.i.i, align 8, !tbaa !31 %sub.ptr.lhs.cast.i.i = ptrtoint ptr %1 to i64 %sub.ptr.rhs.cast.i.i = ptrtoint ptr %0 to i64 %sub.ptr.sub.i.i = sub i64 %sub.ptr.lhs.cast.i.i, %sub.ptr.rhs.cast.i.i @@ -707,7 +707,7 @@ _ZNSt6vectorIdSaIdEED2Ev.exit: ; preds = %entry, %if.then.i.i if.then.i.i.i2: ; preds = %_ZNSt6vectorIdSaIdEED2Ev.exit %_M_end_of_storage.i.i3 = getelementptr inbounds nuw i8, ptr %this, i64 48 - %3 = load ptr, ptr %_M_end_of_storage.i.i3, align 8, !tbaa !30 + %3 = load ptr, ptr %_M_end_of_storage.i.i3, align 8, !tbaa !31 %sub.ptr.lhs.cast.i.i4 = ptrtoint ptr %3 to i64 %sub.ptr.rhs.cast.i.i5 = ptrtoint ptr %2 to i64 %sub.ptr.sub.i.i6 = sub i64 %sub.ptr.lhs.cast.i.i4, %sub.ptr.rhs.cast.i.i5 @@ -722,7 +722,7 @@ _ZNSt6vectorIdSaIdEED2Ev.exit7: ; preds = %_ZNSt6vectorIdSaIdE if.then.i.i.i9: ; preds = %_ZNSt6vectorIdSaIdEED2Ev.exit7 %_M_end_of_storage.i.i10 = getelementptr inbounds nuw i8, ptr %this, i64 24 - %5 = load ptr, ptr %_M_end_of_storage.i.i10, align 8, !tbaa !30 + %5 = load ptr, ptr %_M_end_of_storage.i.i10, align 8, !tbaa !31 %sub.ptr.lhs.cast.i.i11 = ptrtoint ptr %5 to i64 %sub.ptr.rhs.cast.i.i12 = ptrtoint ptr %4 to i64 %sub.ptr.sub.i.i13 = sub i64 %sub.ptr.lhs.cast.i.i11, %sub.ptr.rhs.cast.i.i12 @@ -744,7 +744,7 @@ entry: if.then.i.i.i.i: ; preds = %entry %_M_end_of_storage.i.i.i = getelementptr inbounds nuw i8, ptr %this, i64 72 - %1 = load ptr, ptr %_M_end_of_storage.i.i.i, align 8, !tbaa !30 + %1 = load ptr, ptr %_M_end_of_storage.i.i.i, align 8, !tbaa !31 %sub.ptr.lhs.cast.i.i.i = ptrtoint ptr %1 to i64 %sub.ptr.rhs.cast.i.i.i = ptrtoint ptr %0 to i64 %sub.ptr.sub.i.i.i = sub i64 %sub.ptr.lhs.cast.i.i.i, %sub.ptr.rhs.cast.i.i.i @@ -759,7 +759,7 @@ _ZNSt6vectorIdSaIdEED2Ev.exit.i: ; preds = %if.then.i.i.i.i, %e if.then.i.i.i2.i: ; preds = %_ZNSt6vectorIdSaIdEED2Ev.exit.i %_M_end_of_storage.i.i3.i = getelementptr inbounds nuw i8, ptr %this, i64 48 - %3 = load ptr, ptr %_M_end_of_storage.i.i3.i, align 8, !tbaa !30 + %3 = load ptr, ptr %_M_end_of_storage.i.i3.i, align 8, !tbaa !31 %sub.ptr.lhs.cast.i.i4.i = ptrtoint ptr %3 to i64 %sub.ptr.rhs.cast.i.i5.i = ptrtoint ptr %2 to i64 %sub.ptr.sub.i.i6.i = sub i64 %sub.ptr.lhs.cast.i.i4.i, %sub.ptr.rhs.cast.i.i5.i @@ -774,7 +774,7 @@ _ZNSt6vectorIdSaIdEED2Ev.exit7.i: ; preds = %if.then.i.i.i2.i, % if.then.i.i.i9.i: ; preds = %_ZNSt6vectorIdSaIdEED2Ev.exit7.i %_M_end_of_storage.i.i10.i = getelementptr inbounds nuw i8, ptr %this, i64 24 - %5 = load ptr, ptr %_M_end_of_storage.i.i10.i, align 8, !tbaa !30 + %5 = load ptr, ptr %_M_end_of_storage.i.i10.i, align 8, !tbaa !31 %sub.ptr.lhs.cast.i.i11.i = ptrtoint ptr %5 to i64 %sub.ptr.rhs.cast.i.i12.i = ptrtoint ptr %4 to i64 %sub.ptr.sub.i.i13.i = sub i64 %sub.ptr.lhs.cast.i.i11.i, %sub.ptr.rhs.cast.i.i12.i @@ -800,7 +800,7 @@ entry: if.then.i.i.i.i: ; preds = %entry %_M_end_of_storage.i.i.i = getelementptr inbounds nuw i8, ptr %this, i64 72 - %1 = load ptr, ptr %_M_end_of_storage.i.i.i, align 8, !tbaa !30 + %1 = load ptr, ptr %_M_end_of_storage.i.i.i, align 8, !tbaa !31 %sub.ptr.lhs.cast.i.i.i = ptrtoint ptr %1 to i64 %sub.ptr.rhs.cast.i.i.i = ptrtoint ptr %0 to i64 %sub.ptr.sub.i.i.i = sub i64 %sub.ptr.lhs.cast.i.i.i, %sub.ptr.rhs.cast.i.i.i @@ -815,7 +815,7 @@ _ZNSt6vectorIdSaIdEED2Ev.exit.i: ; preds = %if.then.i.i.i.i, %e if.then.i.i.i2.i: ; preds = %_ZNSt6vectorIdSaIdEED2Ev.exit.i %_M_end_of_storage.i.i3.i = getelementptr inbounds nuw i8, ptr %this, i64 48 - %3 = load ptr, ptr %_M_end_of_storage.i.i3.i, align 8, !tbaa !30 + %3 = load ptr, ptr %_M_end_of_storage.i.i3.i, align 8, !tbaa !31 %sub.ptr.lhs.cast.i.i4.i = ptrtoint ptr %3 to i64 %sub.ptr.rhs.cast.i.i5.i = ptrtoint ptr %2 to i64 %sub.ptr.sub.i.i6.i = sub i64 %sub.ptr.lhs.cast.i.i4.i, %sub.ptr.rhs.cast.i.i5.i @@ -830,7 +830,7 @@ _ZNSt6vectorIdSaIdEED2Ev.exit7.i: ; preds = %if.then.i.i.i2.i, % if.then.i.i.i9.i: ; preds = %_ZNSt6vectorIdSaIdEED2Ev.exit7.i %_M_end_of_storage.i.i10.i = getelementptr inbounds nuw i8, ptr %this, i64 24 - %5 = load ptr, ptr %_M_end_of_storage.i.i10.i, align 8, !tbaa !30 + %5 = load ptr, ptr %_M_end_of_storage.i.i10.i, align 8, !tbaa !31 %sub.ptr.lhs.cast.i.i11.i = ptrtoint ptr %5 to i64 %sub.ptr.rhs.cast.i.i12.i = ptrtoint ptr %4 to i64 %sub.ptr.sub.i.i13.i = sub i64 %sub.ptr.lhs.cast.i.i11.i, %sub.ptr.rhs.cast.i.i12.i @@ -943,10 +943,11 @@ attributes #21 = { noreturn nounwind } !25 = !{!22, !24, i64 8} !26 = !{!6, !6, i64 0} !27 = !{i8 0, i8 2} -!28 = distinct !{!28, !29} -!29 = !{!"llvm.loop.mustprogress"} -!30 = !{!4, !5, i64 16} -!31 = !{!23, !5, i64 0} -!32 = !{!24, !24, i64 0} -!33 = !{!34, !5, i64 0} -!34 = !{!"_ZTSN5boost6detail12shared_countE", !5, i64 0} +!28 = !{} +!29 = distinct !{!29, !30} +!30 = !{!"llvm.loop.mustprogress"} +!31 = !{!4, !5, i64 16} +!32 = !{!23, !5, i64 0} +!33 = !{!24, !24, i64 0} +!34 = !{!35, !5, i64 0} +!35 = !{!"_ZTSN5boost6detail12shared_countE", !5, i64 0} diff --git a/bench/re2/optimized/compile.ll b/bench/re2/optimized/compile.ll index ca15ea07976..032360ce84e 100644 --- a/bench/re2/optimized/compile.ll +++ b/bench/re2/optimized/compile.ll @@ -1869,19 +1869,19 @@ if.then.i.i.i: ; preds = %for.end.i.i.i.i store i64 %or7.i, ptr %add.ptr.i3.i.i.i, align 8, !noalias !9 %second.i.i.i.i.i.i.i.i.i.i.i = getelementptr inbounds nuw i8, ptr %add.ptr.i3.i.i.i, i64 8 store i32 0, ptr %second.i.i.i.i.i.i.i.i.i.i.i, align 8, !noalias !9 - %.pre.i.i.i = load ptr, ptr %rune_cache_, align 8, !noalias !9 + %.pre.i.i.i = load ptr, ptr %rune_cache_, align 8, !noalias !9, !nonnull !15, !noundef !15 %.pre20.i.i.i = load ptr, ptr %slots_.i.i, align 8, !noalias !9 - br label %_ZN4absl7debian218container_internal12raw_hash_mapINS1_17FlatHashMapPolicyImiEENS0_13hash_internal4HashImEESt8equal_toImESaISt4pairIKmiEEE11try_emplaceImJETnNSt9enable_ifIXntsr3std14is_convertibleIT_NS1_12raw_hash_setIS4_S7_S9_SD_E14const_iteratorEEE5valueEiE4typeELi0EEESA_INSJ_8iteratorEbERSB_DpOT0_.exit.i + br label %land.lhs.true.i.i.i -_ZN4absl7debian218container_internal12raw_hash_mapINS1_17FlatHashMapPolicyImiEENS0_13hash_internal4HashImEESt8equal_toImESaISt4pairIKmiEEE11try_emplaceImJETnNSt9enable_ifIXntsr3std14is_convertibleIT_NS1_12raw_hash_setIS4_S7_S9_SD_E14const_iteratorEEE5valueEiE4typeELi0EEESA_INSJ_8iteratorEbERSB_DpOT0_.exit.i: ; preds = %for.body.i.i.i.i, %if.then.i.i.i - %26 = phi ptr [ %.pre20.i.i.i, %if.then.i.i.i ], [ %18, %for.body.i.i.i.i ] - %27 = phi ptr [ %.pre.i.i.i, %if.then.i.i.i ], [ %15, %for.body.i.i.i.i ] - %retval.sroa.0.0.i15.i.i.i = phi i64 [ %call33.i.i.i.i, %if.then.i.i.i ], [ %and.i.i.i.i.i, %for.body.i.i.i.i ] - %cmp.not.i.i.i = icmp eq ptr %27, null +_ZN4absl7debian218container_internal12raw_hash_mapINS1_17FlatHashMapPolicyImiEENS0_13hash_internal4HashImEESt8equal_toImESaISt4pairIKmiEEE11try_emplaceImJETnNSt9enable_ifIXntsr3std14is_convertibleIT_NS1_12raw_hash_setIS4_S7_S9_SD_E14const_iteratorEEE5valueEiE4typeELi0EEESA_INSJ_8iteratorEbERSB_DpOT0_.exit.i: ; preds = %for.body.i.i.i.i + %cmp.not.i.i.i = icmp eq ptr %15, null br i1 %cmp.not.i.i.i, label %cond.false.i.i.i, label %land.lhs.true.i.i.i -land.lhs.true.i.i.i: ; preds = %_ZN4absl7debian218container_internal12raw_hash_mapINS1_17FlatHashMapPolicyImiEENS0_13hash_internal4HashImEESt8equal_toImESaISt4pairIKmiEEE11try_emplaceImJETnNSt9enable_ifIXntsr3std14is_convertibleIT_NS1_12raw_hash_setIS4_S7_S9_SD_E14const_iteratorEEE5valueEiE4typeELi0EEESA_INSJ_8iteratorEbERSB_DpOT0_.exit.i - %add.ptr.i4.i.i.i = getelementptr inbounds i8, ptr %27, i64 %retval.sroa.0.0.i15.i.i.i +land.lhs.true.i.i.i: ; preds = %_ZN4absl7debian218container_internal12raw_hash_mapINS1_17FlatHashMapPolicyImiEENS0_13hash_internal4HashImEESt8equal_toImESaISt4pairIKmiEEE11try_emplaceImJETnNSt9enable_ifIXntsr3std14is_convertibleIT_NS1_12raw_hash_setIS4_S7_S9_SD_E14const_iteratorEEE5valueEiE4typeELi0EEESA_INSJ_8iteratorEbERSB_DpOT0_.exit.i, %if.then.i.i.i + %retval.sroa.0.0.i15.i.i5.i = phi i64 [ %call33.i.i.i.i, %_ZN4absl7debian218container_internal12raw_hash_mapINS1_17FlatHashMapPolicyImiEENS0_13hash_internal4HashImEESt8equal_toImESaISt4pairIKmiEEE11try_emplaceImJETnNSt9enable_ifIXntsr3std14is_convertibleIT_NS1_12raw_hash_setIS4_S7_S9_SD_E14const_iteratorEEE5valueEiE4typeELi0EEESA_INSJ_8iteratorEbERSB_DpOT0_.exit.thread.i ], [ %and.i.i.i.i.i, %_ZN4absl7debian218container_internal12raw_hash_mapINS1_17FlatHashMapPolicyImiEENS0_13hash_internal4HashImEESt8equal_toImESaISt4pairIKmiEEE11try_emplaceImJETnNSt9enable_ifIXntsr3std14is_convertibleIT_NS1_12raw_hash_setIS4_S7_S9_SD_E14const_iteratorEEE5valueEiE4typeELi0EEESA_INSJ_8iteratorEbERSB_DpOT0_.exit.i ] + %26 = phi ptr [ %.pre.i.i.i, %_ZN4absl7debian218container_internal12raw_hash_mapINS1_17FlatHashMapPolicyImiEENS0_13hash_internal4HashImEESt8equal_toImESaISt4pairIKmiEEE11try_emplaceImJETnNSt9enable_ifIXntsr3std14is_convertibleIT_NS1_12raw_hash_setIS4_S7_S9_SD_E14const_iteratorEEE5valueEiE4typeELi0EEESA_INSJ_8iteratorEbERSB_DpOT0_.exit.thread.i ], [ %15, %_ZN4absl7debian218container_internal12raw_hash_mapINS1_17FlatHashMapPolicyImiEENS0_13hash_internal4HashImEESt8equal_toImESaISt4pairIKmiEEE11try_emplaceImJETnNSt9enable_ifIXntsr3std14is_convertibleIT_NS1_12raw_hash_setIS4_S7_S9_SD_E14const_iteratorEEE5valueEiE4typeELi0EEESA_INSJ_8iteratorEbERSB_DpOT0_.exit.i ] + %27 = phi ptr [ %.pre20.i.i.i, %_ZN4absl7debian218container_internal12raw_hash_mapINS1_17FlatHashMapPolicyImiEENS0_13hash_internal4HashImEESt8equal_toImESaISt4pairIKmiEEE11try_emplaceImJETnNSt9enable_ifIXntsr3std14is_convertibleIT_NS1_12raw_hash_setIS4_S7_S9_SD_E14const_iteratorEEE5valueEiE4typeELi0EEESA_INSJ_8iteratorEbERSB_DpOT0_.exit.thread.i ], [ %18, %_ZN4absl7debian218container_internal12raw_hash_mapINS1_17FlatHashMapPolicyImiEENS0_13hash_internal4HashImEESt8equal_toImESaISt4pairIKmiEEE11try_emplaceImJETnNSt9enable_ifIXntsr3std14is_convertibleIT_NS1_12raw_hash_setIS4_S7_S9_SD_E14const_iteratorEEE5valueEiE4typeELi0EEESA_INSJ_8iteratorEbERSB_DpOT0_.exit.i ] + %add.ptr.i4.i.i.i = getelementptr inbounds i8, ptr %26, i64 %retval.sroa.0.0.i15.i.i5.i %28 = load i8, ptr %add.ptr.i4.i.i.i, align 1 %cmp.i.i.i.i11 = icmp sgt i8 %28, -1 br i1 %cmp.i.i.i.i11, label %_ZN4absl7debian218container_internal12raw_hash_mapINS1_17FlatHashMapPolicyImiEENS0_13hash_internal4HashImEESt8equal_toImESaISt4pairIKmiEEEixImS4_EEDTclsrT0_5valueclL_ZSt9addressofISC_EPT_RSI_EclL_ZSt7declvalIRSC_EDTcl9__declvalISI_ELi0EEEvEEEEERSB_.exit, label %cond.false.i.i.i @@ -1891,7 +1891,7 @@ cond.false.i.i.i: ; preds = %land.lhs.true.i.i.i unreachable _ZN4absl7debian218container_internal12raw_hash_mapINS1_17FlatHashMapPolicyImiEENS0_13hash_internal4HashImEESt8equal_toImESaISt4pairIKmiEEEixImS4_EEDTclsrT0_5valueclL_ZSt9addressofISC_EPT_RSI_EclL_ZSt7declvalIRSC_EDTcl9__declvalISI_ELi0EEEvEEEEERSB_.exit: ; preds = %land.lhs.true.i.i.i - %second.i.i = getelementptr inbounds %"union.absl::debian2::container_internal::map_slot_type", ptr %26, i64 %retval.sroa.0.0.i15.i.i.i, i32 1 + %second.i.i = getelementptr inbounds %"union.absl::debian2::container_internal::map_slot_type", ptr %27, i64 %retval.sroa.0.0.i15.i.i5.i, i32 1 store i32 %call9, ptr %second.i.i, align 4 br label %return @@ -2472,7 +2472,7 @@ if.end17.us: ; preds = %_ZN3re28Compiler14B %16 = load i32, ptr %arrayidx.i.i51.us, align 4 %and.i52.us = and i32 %16, 7 %cmp27.us = icmp eq i32 %and.i52.us, 0 - br i1 %cmp27.us, label %while.cond.us, label %if.else29, !llvm.loop !15 + br i1 %cmp27.us, label %while.cond.us, label %if.else29, !llvm.loop !16 if.then: ; preds = %entry %17 = getelementptr inbounds nuw i8, ptr %arrayidx.i.i, i64 4 @@ -2920,7 +2920,7 @@ if.then4: ; preds = %if.end for.cond: ; preds = %for.body %inc = add nuw nsw i32 %i.083, 1 %exitcond.not = icmp eq i32 %inc, 4 - br i1 %exitcond.not, label %for.end, label %for.body, !llvm.loop !16 + br i1 %exitcond.not, label %for.end, label %for.body, !llvm.loop !17 for.body: ; preds = %if.end, %for.cond %i.083 = phi i32 [ %inc, %for.cond ], [ 1, %if.end ] @@ -3025,7 +3025,7 @@ if.then37: ; preds = %if.end34 for.inc47: ; preds = %for.body22, %if.end34 %inc48 = add nuw nsw i32 %i19.084, 1 %exitcond115.not = icmp eq i32 %inc48, 4 - br i1 %exitcond115.not, label %for.end49, label %for.body22, !llvm.loop !17 + br i1 %exitcond115.not, label %for.end49, label %for.body22, !llvm.loop !18 for.end49: ; preds = %for.inc47 store i32 %lo.tr93, ptr %lo.addr, align 4 @@ -3082,7 +3082,7 @@ for.inc81: ; preds = %if.then69, %if.else %id.1 = phi i32 [ %call74, %if.then69 ], [ %call79, %if.else ] %indvars.iv.next118 = add nuw nsw i64 %indvars.iv117, 1 %exitcond120.not = icmp eq i64 %indvars.iv.next118, %wide.trip.count - br i1 %exitcond120.not, label %if.end117, label %for.body59, !llvm.loop !18 + br i1 %exitcond120.not, label %if.end117, label %for.body59, !llvm.loop !19 if.else84: ; preds = %for.end49 br i1 %cmp58101, label %for.body89.preheader, label %if.end117 @@ -3129,7 +3129,7 @@ for.inc115: ; preds = %if.then102, %if.els %id.4 = phi i32 [ %call107, %if.then102 ], [ %call113, %if.else108 ] %indvars.iv.next = add nsw i64 %indvars.iv, -1 %cmp88 = icmp sgt i64 %indvars.iv, 0 - br i1 %cmp88, label %for.body89, label %if.end117, !llvm.loop !19 + br i1 %cmp88, label %for.body89, label %if.end117, !llvm.loop !20 if.end117: ; preds = %for.inc115, %for.inc81, %if.else84, %for.cond57.preheader %id.2 = phi i32 [ 0, %for.cond57.preheader ], [ 0, %if.else84 ], [ %id.1, %for.inc81 ], [ %id.4, %for.inc115 ] @@ -3854,7 +3854,7 @@ _ZN3re28Compiler9ByteRangeEiib.exit86: ; preds = %if.then.i80, %if.en store i40 %ref.tmp.sroa.2.0.extract.trunc, ptr %retval.8.retval.8.retval.8..sroa_idx104, align 8 %indvars.iv.next = add nuw nsw i64 %indvars.iv, 1 %exitcond.not = icmp eq i64 %indvars.iv.next, %wide.trip.count - br i1 %exitcond.not, label %return, label %for.body, !llvm.loop !20 + br i1 %exitcond.not, label %return, label %for.body, !llvm.loop !21 return: ; preds = %_ZN3re28Compiler9ByteRangeEiib.exit86, %_ZN3re28Compiler9ByteRangeEiib.exit59, %_ZN3re28Compiler9ByteRangeEiib.exit32, %_ZN3re28Compiler9ByteRangeEiib.exit, %sw.default %retval.0.retval.0..fca.0.load = phi i64 [ %retval.0.retval.0..fca.0.load.i23, %_ZN3re28Compiler9ByteRangeEiib.exit32 ], [ %retval.0.retval.0..fca.0.load.i, %_ZN3re28Compiler9ByteRangeEiib.exit ], [ %retval.0.retval.0.retval.0..fca.0.load.pre, %sw.default ], [ %retval.0.retval.0..fca.0.load.i50, %_ZN3re28Compiler9ByteRangeEiib.exit59 ], [ %8, %_ZN3re28Compiler9ByteRangeEiib.exit86 ] @@ -4086,7 +4086,7 @@ for.body: ; preds = %for.body.lr.ph, %fo store i40 %ref.tmp19.sroa.2.0.extract.trunc, ptr %retval.8.retval.8.retval.8.retval.sroa_idx446, align 8 %indvars.iv.next378 = add nuw nsw i64 %indvars.iv377, 1 %exitcond381.not = icmp eq i64 %indvars.iv.next378, %wide.trip.count380 - br i1 %exitcond381.not, label %return, label %for.body, !llvm.loop !21 + br i1 %exitcond381.not, label %return, label %for.body, !llvm.loop !22 sw.bb24: ; preds = %if.end call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %retval, ptr noundef nonnull align 4 dereferenceable(16) %child_frags, i64 16, i1 false) @@ -4115,7 +4115,7 @@ for.body29: ; preds = %for.body29.lr.ph, % store i40 %ref.tmp30.sroa.2.0.extract.trunc, ptr %retval.8.retval.8.retval.8.retval.sroa_idx445, align 8 %indvars.iv.next375 = add nuw nsw i64 %indvars.iv374, 1 %exitcond.not = icmp eq i64 %indvars.iv.next375, %wide.trip.count - br i1 %exitcond.not, label %return, label %for.body29, !llvm.loop !22 + br i1 %exitcond.not, label %return, label %for.body29, !llvm.loop !23 sw.bb39: ; preds = %if.end %agg.tmp40.sroa.0.0.copyload = load i64, ptr %child_frags, align 4 @@ -4238,7 +4238,7 @@ for.inc91: ; preds = %for.body76, %if.els %49 = load i32, ptr %35, align 8 %50 = sext i32 %49 to i64 %cmp75 = icmp slt i64 %indvars.iv.next, %50 - br i1 %cmp75, label %for.body76, label %return, !llvm.loop !23 + br i1 %cmp75, label %for.body76, label %return, !llvm.loop !24 sw.bb94: ; preds = %if.end %rune_cache_.i = getelementptr inbounds nuw i8, ptr %this, i64 152 @@ -4449,7 +4449,7 @@ for.inc145: ; preds = %land.lhs.true118, % %idx.ext.i = sext i32 %73 to i64 %add.ptr.i = getelementptr inbounds %"struct.re2::RuneRange", ptr %74, i64 %idx.ext.i %cmp114.not = icmp eq ptr %incdec.ptr, %add.ptr.i - br i1 %cmp114.not, label %for.end146, label %for.body115, !llvm.loop !24 + br i1 %cmp114.not, label %for.end146, label %for.body115, !llvm.loop !25 for.end146: ; preds = %for.inc145, %if.end108 %rune_range_.i140 = getelementptr inbounds nuw i8, ptr %this, i64 192 @@ -5360,7 +5360,7 @@ invoke.cont19: ; preds = %for.body %11 = load i16, ptr %nsub_.i, align 2 %12 = zext i16 %11 to i64 %cmp13 = icmp samesign ult i64 %indvars.iv.next, %12 - br i1 %cmp13, label %for.body, label %for.end, !llvm.loop !25 + br i1 %cmp13, label %for.body, label %for.end, !llvm.loop !26 _ZN3re28PODArrayIPNS_6RegexpEED2Ev.exit.loopexit: ; preds = %for.body %lpad.loopexit = landingpad { ptr, i32 } @@ -5516,7 +5516,7 @@ invoke.cont23: ; preds = %for.body %sub16 = add nsw i32 %conv.i37, -1 %15 = sext i32 %sub16 to i64 %cmp17 = icmp slt i64 %indvars.iv.next, %15 - br i1 %cmp17, label %for.body, label %for.end, !llvm.loop !26 + br i1 %cmp17, label %for.body, label %for.end, !llvm.loop !27 _ZN3re28PODArrayIPNS_6RegexpEED2Ev.exit.loopexit: ; preds = %for.body %lpad.loopexit = landingpad { ptr, i32 } @@ -6263,7 +6263,7 @@ invoke.cont.i: ; preds = %for.body.i store ptr %call5.i.i.i5.i, ptr %__cur.08.i, align 8 %incdec.ptr.i = getelementptr inbounds nuw i8, ptr %__cur.08.i, i64 8 %cmp.i8 = icmp ult ptr %incdec.ptr.i, %add.ptr14 - br i1 %cmp.i8, label %for.body.i, label %try.cont, !llvm.loop !27 + br i1 %cmp.i8, label %for.body.i, label %try.cont, !llvm.loop !28 lpad.i: ; preds = %for.body.i %1 = landingpad { ptr, i32 } @@ -6414,7 +6414,7 @@ while.body.lr.ph: ; preds = %invoke.cont %_M_first3.i.i.i.i = getelementptr inbounds nuw i8, ptr %this, i64 64 %_M_node5.i.i.i.i = getelementptr inbounds nuw i8, ptr %this, i64 80 %_M_last.i.i.i.i = getelementptr inbounds nuw i8, ptr %this, i64 72 - %.pre = load ptr, ptr %_M_first3.i.i.i.i, align 8, !noalias !28 + %.pre = load ptr, ptr %_M_first3.i.i.i.i, align 8, !noalias !29 br label %while.body while.body: ; preds = %while.body.lr.ph, %_ZNSt5stackIN3re29WalkStateINS0_4FragEEESt5dequeIS3_SaIS3_EEE3popEv.exit @@ -6424,7 +6424,7 @@ while.body: ; preds = %while.body.lr.ph, % br i1 %cmp.i.i.i5, label %_ZNSt5stackIN3re29WalkStateINS0_4FragEEESt5dequeIS3_SaIS3_EEE3topEv.exit, label %_ZNSt5stackIN3re29WalkStateINS0_4FragEEESt5dequeIS3_SaIS3_EEE3topEv.exit.thread _ZNSt5stackIN3re29WalkStateINS0_4FragEEESt5dequeIS3_SaIS3_EEE3topEv.exit: ; preds = %while.body - %7 = load ptr, ptr %_M_node5.i.i.i.i, align 8, !noalias !28 + %7 = load ptr, ptr %_M_node5.i.i.i.i, align 8, !noalias !29 %add.ptr.i.i.i = getelementptr inbounds i8, ptr %7, i64 -8 %8 = load ptr, ptr %add.ptr.i.i.i, align 8 %incdec.ptr.i.i.i = getelementptr inbounds nuw i8, ptr %8, i64 432 @@ -6493,7 +6493,7 @@ _ZNSt5stackIN3re29WalkStateINS0_4FragEEESt5dequeIS3_SaIS3_EEE3popEv.exit: ; pred store ptr %storemerge.i.i, ptr %_M_finish.i.i, align 8 %21 = load ptr, ptr %_M_start.i.i, align 8 %cmp.i.i.i4 = icmp eq ptr %storemerge.i.i, %21 - br i1 %cmp.i.i.i4, label %if.end12, label %while.body, !llvm.loop !31 + br i1 %cmp.i.i.i4, label %if.end12, label %while.body, !llvm.loop !32 if.end12: ; preds = %_ZNSt5stackIN3re29WalkStateINS0_4FragEEESt5dequeIS3_SaIS3_EEE3popEv.exit, %invoke.cont, %entry ret void @@ -6534,7 +6534,7 @@ if.end.i: ; preds = %entry, %if.end.i %cmp.i.i.i.i = icmp slt <16 x i8> %5, splat (i8 -1) %6 = bitcast <16 x i1> %cmp.i.i.i.i to i16 %cmp.i.not.i = icmp eq i16 %6, 0 - br i1 %cmp.i.not.i, label %if.end.i, label %_ZN4absl7debian218container_internal19find_first_non_fullEPamm.exit, !llvm.loop !32 + br i1 %cmp.i.not.i, label %if.end.i, label %_ZN4absl7debian218container_internal19find_first_non_fullEPamm.exit, !llvm.loop !33 _ZN4absl7debian218container_internal19find_first_non_fullEPamm.exit: ; preds = %if.end.i, %entry %seq.sroa.3.0.lcssa.i = phi i64 [ %and.i.i.i, %entry ], [ %and.i6.i, %if.end.i ] @@ -6606,7 +6606,7 @@ if.end.i24: ; preds = %_ZN4absl7debian218c %cmp.i.i.i.i31 = icmp slt <16 x i8> %16, splat (i8 -1) %17 = bitcast <16 x i1> %cmp.i.i.i.i31 to i16 %cmp.i.not.i32 = icmp eq i16 %17, 0 - br i1 %cmp.i.not.i32, label %if.end.i24, label %_ZN4absl7debian218container_internal19find_first_non_fullEPamm.exit33, !llvm.loop !32 + br i1 %cmp.i.not.i32, label %if.end.i24, label %_ZN4absl7debian218container_internal19find_first_non_fullEPamm.exit33, !llvm.loop !33 _ZN4absl7debian218container_internal19find_first_non_fullEPamm.exit33: ; preds = %if.end.i24, %_ZN4absl7debian218container_internal12raw_hash_setINS1_17FlatHashMapPolicyImiEENS0_13hash_internal4HashImEESt8equal_toImESaISt4pairIKmiEEE28rehash_and_grow_if_necessaryEv.exit %seq.sroa.3.0.lcssa.i16 = phi i64 [ %and.i.i.i11, %_ZN4absl7debian218container_internal12raw_hash_setINS1_17FlatHashMapPolicyImiEENS0_13hash_internal4HashImEESt8equal_toImESaISt4pairIKmiEEE28rehash_and_grow_if_necessaryEv.exit ], [ %and.i6.i29, %if.end.i24 ] @@ -6727,7 +6727,7 @@ if.end.i: ; preds = %if.then, %if.end.i %cmp.i.i.i.i15 = icmp slt <16 x i8> %13, splat (i8 -1) %14 = bitcast <16 x i1> %cmp.i.i.i.i15 to i16 %cmp.i.not.i = icmp eq i16 %14, 0 - br i1 %cmp.i.not.i, label %if.end.i, label %_ZN4absl7debian218container_internal19find_first_non_fullEPamm.exit, !llvm.loop !32 + br i1 %cmp.i.not.i, label %if.end.i, label %_ZN4absl7debian218container_internal19find_first_non_fullEPamm.exit, !llvm.loop !33 _ZN4absl7debian218container_internal19find_first_non_fullEPamm.exit: ; preds = %if.end.i, %if.then %seq.sroa.3.0.lcssa.i = phi i64 [ %and.i.i.i, %if.then ], [ %and.i6.i, %if.end.i ] @@ -6757,7 +6757,7 @@ _ZN4absl7debian218container_internal19find_first_non_fullEPamm.exit: ; preds = % for.inc: ; preds = %for.body, %_ZN4absl7debian218container_internal19find_first_non_fullEPamm.exit %inc = add nuw i64 %i.027, 1 %cmp.not = icmp eq i64 %inc, %2 - br i1 %cmp.not, label %if.then14, label %for.body, !llvm.loop !33 + br i1 %cmp.not, label %if.then14, label %for.body, !llvm.loop !34 if.then14: ; preds = %for.inc tail call void @_ZdlPv(ptr noundef nonnull %0) #25 @@ -6825,7 +6825,7 @@ if.end.i: ; preds = %if.end, %if.end.i %cmp.i.i.i.i = icmp slt <16 x i8> %11, splat (i8 -1) %12 = bitcast <16 x i1> %cmp.i.i.i.i to i16 %cmp.i.not.i = icmp eq i16 %12, 0 - br i1 %cmp.i.not.i, label %if.end.i, label %_ZN4absl7debian218container_internal19find_first_non_fullEPamm.exit, !llvm.loop !32 + br i1 %cmp.i.not.i, label %if.end.i, label %_ZN4absl7debian218container_internal19find_first_non_fullEPamm.exit, !llvm.loop !33 _ZN4absl7debian218container_internal19find_first_non_fullEPamm.exit: ; preds = %if.end.i, %if.end %seq.sroa.3.0.lcssa.i = phi i64 [ %and.i.i.i, %if.end ], [ %and.i6.i, %if.end.i ] @@ -6909,7 +6909,7 @@ for.inc: ; preds = %if.then19, %if.else %inc = add i64 %i.1, 1 %32 = load i64, ptr %capacity_, align 8 %cmp.not = icmp eq i64 %inc, %32 - br i1 %cmp.not, label %for.end, label %for.body, !llvm.loop !34 + br i1 %cmp.not, label %for.end, label %for.body, !llvm.loop !35 for.end: ; preds = %for.inc, %entry %.lcssa70 = phi i64 [ 0, %entry ], [ %inc, %for.inc ] @@ -7046,13 +7046,13 @@ _ZNSt5stackIN3re29WalkStateINS0_4FragEEESt5dequeIS3_SaIS3_EEE4pushEOS3_.exit: ; for.cond: ; preds = %for.cond.backedge, %_ZNSt5stackIN3re29WalkStateINS0_4FragEEESt5dequeIS3_SaIS3_EEE4pushEOS3_.exit store i32 0, ptr %retval, align 8 store i64 0, ptr %retval.4.retval.4.retval.4.end.i.sroa_idx, align 4 - %5 = load ptr, ptr %_M_finish.i.i.i, align 8, !noalias !35 - %6 = load ptr, ptr %_M_first3.i.i.i.i, align 8, !noalias !35 + %5 = load ptr, ptr %_M_finish.i.i.i, align 8, !noalias !36 + %6 = load ptr, ptr %_M_first3.i.i.i.i, align 8, !noalias !36 %cmp.i.i.i = icmp eq ptr %5, %6 br i1 %cmp.i.i.i, label %if.then.i.i.i50, label %_ZNSt5stackIN3re29WalkStateINS0_4FragEEESt5dequeIS3_SaIS3_EEE3topEv.exit if.then.i.i.i50: ; preds = %for.cond - %7 = load ptr, ptr %_M_node5.i.i.i.i, align 8, !noalias !35 + %7 = load ptr, ptr %_M_node5.i.i.i.i, align 8, !noalias !36 %add.ptr.i.i.i51 = getelementptr inbounds i8, ptr %7, i64 -8 %8 = load ptr, ptr %add.ptr.i.i.i51, align 8 %add.ptr.i.i.i.i = getelementptr inbounds nuw i8, ptr %8, i64 504 @@ -7218,7 +7218,7 @@ if.then58: ; preds = %land.lhs.true51 br label %for.cond.backedge for.cond.backedge: ; preds = %if.then58, %if.then.i.i.i68, %if.else.i.i.i70, %if.end117 - br label %for.cond, !llvm.loop !38 + br label %for.cond, !llvm.loop !39 if.else74: ; preds = %land.lhs.true51, %if.then47.if.else74_crit_edge %34 = phi ptr [ %.pre, %if.then47.if.else74_crit_edge ], [ %26, %land.lhs.true51 ] @@ -7322,7 +7322,7 @@ if.end105: ; preds = %_ZNSt5stackIN3re29W br i1 %cmp.i.i.i78, label %if.then.i.i.i80, label %_ZNSt5stackIN3re29WalkStateINS0_4FragEEESt5dequeIS3_SaIS3_EEE3topEv.exit84 if.then.i.i.i80: ; preds = %if.end105 - %50 = load ptr, ptr %_M_node5.i.i.i.i, align 8, !noalias !39 + %50 = load ptr, ptr %_M_node5.i.i.i.i, align 8, !noalias !40 %add.ptr.i.i.i82 = getelementptr inbounds i8, ptr %50, i64 -8 %51 = load ptr, ptr %add.ptr.i.i.i82, align 8 %add.ptr.i.i.i.i83 = getelementptr inbounds nuw i8, ptr %51, i64 504 @@ -7637,7 +7637,7 @@ attributes #29 = { cold } !12 = distinct !{!12, !13, !"_ZN4absl7debian218container_internal12raw_hash_mapINS1_17FlatHashMapPolicyImiEENS0_13hash_internal4HashImEESt8equal_toImESaISt4pairIKmiEEE11try_emplaceImJETnNSt9enable_ifIXntsr3std14is_convertibleIT_NS1_12raw_hash_setIS4_S7_S9_SD_E14const_iteratorEEE5valueEiE4typeELi0EEESA_INSJ_8iteratorEbERSB_DpOT0_: %agg.result"} !13 = distinct !{!13, !"_ZN4absl7debian218container_internal12raw_hash_mapINS1_17FlatHashMapPolicyImiEENS0_13hash_internal4HashImEESt8equal_toImESaISt4pairIKmiEEE11try_emplaceImJETnNSt9enable_ifIXntsr3std14is_convertibleIT_NS1_12raw_hash_setIS4_S7_S9_SD_E14const_iteratorEEE5valueEiE4typeELi0EEESA_INSJ_8iteratorEbERSB_DpOT0_"} !14 = distinct !{!14, !5} -!15 = distinct !{!15, !5} +!15 = !{} !16 = distinct !{!16, !5} !17 = distinct !{!17, !5} !18 = distinct !{!18, !5} @@ -7650,17 +7650,18 @@ attributes #29 = { cold } !25 = distinct !{!25, !5} !26 = distinct !{!26, !5} !27 = distinct !{!27, !5} -!28 = !{!29} -!29 = distinct !{!29, !30, !"_ZNSt5dequeIN3re29WalkStateINS0_4FragEEESaIS3_EE3endEv: %agg.result"} -!30 = distinct !{!30, !"_ZNSt5dequeIN3re29WalkStateINS0_4FragEEESaIS3_EE3endEv"} -!31 = distinct !{!31, !5} +!28 = distinct !{!28, !5} +!29 = !{!30} +!30 = distinct !{!30, !31, !"_ZNSt5dequeIN3re29WalkStateINS0_4FragEEESaIS3_EE3endEv: %agg.result"} +!31 = distinct !{!31, !"_ZNSt5dequeIN3re29WalkStateINS0_4FragEEESaIS3_EE3endEv"} !32 = distinct !{!32, !5} !33 = distinct !{!33, !5} !34 = distinct !{!34, !5} -!35 = !{!36} -!36 = distinct !{!36, !37, !"_ZNSt5dequeIN3re29WalkStateINS0_4FragEEESaIS3_EE3endEv: %agg.result"} -!37 = distinct !{!37, !"_ZNSt5dequeIN3re29WalkStateINS0_4FragEEESaIS3_EE3endEv"} -!38 = distinct !{!38, !5} -!39 = !{!40} -!40 = distinct !{!40, !41, !"_ZNSt5dequeIN3re29WalkStateINS0_4FragEEESaIS3_EE3endEv: %agg.result"} -!41 = distinct !{!41, !"_ZNSt5dequeIN3re29WalkStateINS0_4FragEEESaIS3_EE3endEv"} +!35 = distinct !{!35, !5} +!36 = !{!37} +!37 = distinct !{!37, !38, !"_ZNSt5dequeIN3re29WalkStateINS0_4FragEEESaIS3_EE3endEv: %agg.result"} +!38 = distinct !{!38, !"_ZNSt5dequeIN3re29WalkStateINS0_4FragEEESaIS3_EE3endEv"} +!39 = distinct !{!39, !5} +!40 = !{!41} +!41 = distinct !{!41, !42, !"_ZNSt5dequeIN3re29WalkStateINS0_4FragEEESaIS3_EE3endEv: %agg.result"} +!42 = distinct !{!42, !"_ZNSt5dequeIN3re29WalkStateINS0_4FragEEESaIS3_EE3endEv"} diff --git a/bench/ripgrep-rs/optimized/3st324p1krxj76od.ll b/bench/ripgrep-rs/optimized/3st324p1krxj76od.ll index 57019ace738..f73ba0ba1a8 100644 --- a/bench/ripgrep-rs/optimized/3st324p1krxj76od.ll +++ b/bench/ripgrep-rs/optimized/3st324p1krxj76od.ll @@ -34,7 +34,7 @@ define hidden void @_ZN3std2io8buffered9bufreader6buffer6Buffer8fill_buf17h03f1a %7 = getelementptr inbounds nuw i8, ptr %1, i64 24 %8 = load i64, ptr %7, align 8, !noundef !4 %.not = icmp ult i64 %6, %8 - %.pre = load ptr, ptr %1, align 8 + %.pre = load ptr, ptr %1, align 8, !nonnull !4, !noundef !4 br i1 %.not, label %19, label %9 9: ; preds = %3 @@ -247,7 +247,7 @@ _ZN8grep_cli7pattern18pattern_from_bytes17hac5fbb6ec38b0a6eE.exit.i: ; preds = % to label %._crit_edge.i.i unwind label %40, !noalias !52 ._crit_edge.i.i: ; preds = %39 - %.pre.i.i = load i64, ptr %35, align 8, !alias.scope !47, !noalias !50 + %.pre.i.i = load i64, ptr %35, align 8, !alias.scope !47, !noalias !50, !noundef !4 br label %"_ZN5alloc3vec16Vec$LT$T$C$A$GT$4push17h7ea3178fe51a0e52E.exit.i" 40: ; preds = %39 @@ -437,7 +437,7 @@ define hidden void @"_ZN85_$LT$std..io..buffered..bufreader..BufReader$LT$R$GT$$ %6 = getelementptr inbounds nuw i8, ptr %1, i64 24 %7 = load i64, ptr %6, align 8, !alias.scope !86, !noalias !88, !noundef !4 %.not.i = icmp ult i64 %5, %7 - %.pre.i = load ptr, ptr %1, align 8, !alias.scope !86, !noalias !88 + %.pre.i = load ptr, ptr %1, align 8, !alias.scope !86, !noalias !88, !nonnull !4, !noundef !4 br i1 %.not.i, label %19, label %8 8: ; preds = %2 @@ -536,7 +536,7 @@ define hidden void @_ZN8grep_cli7pattern20patterns_from_reader17hfc3a2fa92e33206 .body: ; preds = %26, %22, %.body8 %.pn = phi { ptr, i32 } [ %eh.lpad-body9, %.body8 ], [ %27, %26 ], [ %23, %22 ] invoke void @"_ZN4core3ptr65drop_in_place$LT$alloc..vec..Vec$LT$alloc..string..String$GT$$GT$17h734b5df8328b6832E"(ptr noalias noundef nonnull align 8 dereferenceable(24) %16) #16 - to label %160 unwind label %158 + to label %159 unwind label %158 26: ; preds = %153, %152 %27 = landingpad { ptr, i32 } @@ -587,7 +587,7 @@ define hidden void @_ZN8grep_cli7pattern20patterns_from_reader17hfc3a2fa92e33206 %46 = load i64, ptr %.sroa.5.0..sroa_idx.i, align 8, !alias.scope !117, !noalias !118, !noundef !4 %47 = load i64, ptr %36, align 8, !alias.scope !117, !noalias !118, !noundef !4 %.not.i.i.i.i.i = icmp ult i64 %46, %47 - %.pre.i.i.i.i.i = load ptr, ptr %14, align 8, !alias.scope !117, !noalias !118 + %.pre.i.i.i.i.i = load ptr, ptr %14, align 8, !alias.scope !117, !noalias !118, !nonnull !4, !noundef !4 br i1 %.not.i.i.i.i.i, label %"_ZN85_$LT$std..io..buffered..bufreader..BufReader$LT$R$GT$$u20$as$u20$std..io..BufRead$GT$8fill_buf17he038dce4cedace42E.exit.i.i.i", label %48 48: ; preds = %45 @@ -603,7 +603,7 @@ define hidden void @_ZN8grep_cli7pattern20patterns_from_reader17hfc3a2fa92e33206 .noexc61.i.i.i: ; preds = %48 %52 = icmp eq ptr %51, null - br i1 %52, label %53, label %"_ZN85_$LT$std..io..buffered..bufreader..BufReader$LT$R$GT$$u20$as$u20$std..io..BufRead$GT$8fill_buf17he038dce4cedace42E.exit.thread.i.i.i" + br i1 %52, label %53, label %62 53: ; preds = %.noexc61.i.i.i store i64 0, ptr %.sroa.5.0..sroa_idx.i, align 8, !alias.scope !117, !noalias !118 @@ -614,10 +614,6 @@ define hidden void @_ZN8grep_cli7pattern20patterns_from_reader17hfc3a2fa92e33206 call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %7), !noalias !122 br label %"_ZN85_$LT$std..io..buffered..bufreader..BufReader$LT$R$GT$$u20$as$u20$std..io..BufRead$GT$8fill_buf17he038dce4cedace42E.exit.i.i.i" -"_ZN85_$LT$std..io..buffered..bufreader..BufReader$LT$R$GT$$u20$as$u20$std..io..BufRead$GT$8fill_buf17he038dce4cedace42E.exit.thread.i.i.i": ; preds = %.noexc61.i.i.i - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %7), !noalias !122 - br label %"_ZN4core3ptr81drop_in_place$LT$core..result..Result$LT$$LP$$RP$$C$std..io..error..Error$GT$$GT$17h7593feee80d5d3e7E.exit78.i.i.i" - .loopexit.i.i.i: ; preds = %88, %.preheader.i.i.i %lpad.loopexit.i.i.i = landingpad { ptr, i32 } cleanup @@ -637,17 +633,17 @@ define hidden void @_ZN8grep_cli7pattern20patterns_from_reader17hfc3a2fa92e33206 %56 = phi i64 [ %47, %45 ], [ %54, %53 ] %57 = phi i64 [ %46, %45 ], [ 0, %53 ] %58 = sub nuw i64 %56, %57 - %59 = icmp eq ptr %.pre.i.i.i.i.i, null - br i1 %59, label %"_ZN4core3ptr81drop_in_place$LT$core..result..Result$LT$$LP$$RP$$C$std..io..error..Error$GT$$GT$17h7593feee80d5d3e7E.exit78.loopexit.split.loop.exit130.i.i.i", label %60 - -60: ; preds = %"_ZN85_$LT$std..io..buffered..bufreader..BufReader$LT$R$GT$$u20$as$u20$std..io..BufRead$GT$8fill_buf17he038dce4cedace42E.exit.i.i.i" - %61 = icmp eq i64 %58, 0 - br i1 %61, label %.loopexit97.i.i.i, label %.preheader.preheader.i.i.i + %59 = icmp eq i64 %59, 0 + br i1 %59, label %.loopexit97.i.i.i, label %.preheader.preheader.i.i.i -.preheader.preheader.i.i.i: ; preds = %60 +.preheader.preheader.i.i.i: ; preds = %56 %62 = getelementptr inbounds i8, ptr %.pre.i.i.i.i.i, i64 %57 br label %.preheader.i.i.i +62: ; preds = %.noexc61.i.i.i + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %7), !noalias !122 + br label %"_ZN4core3ptr81drop_in_place$LT$core..result..Result$LT$$LP$$RP$$C$std..io..error..Error$GT$$GT$17h7593feee80d5d3e7E.exit78.i.i.i" + .preheader.i.i.i: ; preds = %99, %.preheader.preheader.i.i.i %.2.i.i.i = phi i64 [ %92, %99 ], [ 0, %.preheader.preheader.i.i.i ] %.sroa.019.0.i.i.i = phi ptr [ %90, %99 ], [ %62, %.preheader.preheader.i.i.i ] @@ -708,7 +704,7 @@ define hidden void @_ZN8grep_cli7pattern20patterns_from_reader17hfc3a2fa92e33206 to label %.noexc67.i.i.i unwind label %.loopexit.split-lp.loopexit.i.i.i .noexc67.i.i.i: ; preds = %.noexc66.i.i.i - %.pre.i.i65.i.i.i = load i64, ptr %35, align 8, !alias.scope !139, !noalias !137 + %.pre.i.i65.i.i.i = load i64, ptr %35, align 8, !alias.scope !139, !noalias !137, !noundef !4 br label %103 88: ; preds = %68 @@ -792,9 +788,9 @@ _ZN3std2io7BufRead10read_until17hff45a5ece3df6773E.exit.i.i.i: ; preds = %103 %125 = trunc nuw i8 %123 to i1 br i1 %125, label %45, label %.loopexit97.i.i.i -.loopexit97.i.i.i: ; preds = %124, %115, %60, %.loopexit93.i.i.i - %.185.i.i.i = phi ptr [ %.286.i.i.i, %.loopexit93.i.i.i ], [ null, %60 ], [ null, %115 ], [ null, %124 ] - %.139.i.i.i = phi i64 [ %92, %.loopexit93.i.i.i ], [ 0, %60 ], [ 0, %115 ], [ 0, %124 ] +.loopexit97.i.i.i: ; preds = %124, %115, %56, %.loopexit93.i.i.i + %.185.i.i.i = phi ptr [ %.286.i.i.i, %.loopexit93.i.i.i ], [ null, %56 ], [ null, %115 ], [ null, %124 ] + %.139.i.i.i = phi i64 [ %92, %.loopexit93.i.i.i ], [ 0, %56 ], [ 0, %115 ], [ 0, %124 ] %126 = load i64, ptr %.sroa.5.0..sroa_idx.i, align 8, !alias.scope !145, !noalias !144, !noundef !4 %127 = add i64 %126, %.139.i.i.i %128 = load i64, ptr %36, align 8, !alias.scope !145, !noalias !144, !noundef !4 @@ -808,34 +804,26 @@ _ZN3std2io7BufRead10read_until17hff45a5ece3df6773E.exit.i.i.i: ; preds = %103 %129 = getelementptr inbounds nuw i8, ptr %5, i64 8 %130 = load i64, ptr %129, align 8, !range !77, !noalias !148, !noundef !4 %.not.i.i.i.i.i.i = icmp eq i64 %130, 0 - br i1 %.not.i.i.i.i.i.i, label %"_ZN4core3ptr46drop_in_place$LT$alloc..vec..Vec$LT$u8$GT$$GT$17h9b11311928cb727fE.exit.i.i.i", label %131 + br i1 %.not.i.i.i.i.i.i, label %149, label %131 131: ; preds = %.noexc %132 = getelementptr inbounds nuw i8, ptr %5, i64 16 %133 = load i64, ptr %132, align 8, !noalias !148, !noundef !4 %134 = icmp eq i64 %133, 0 - br i1 %134, label %"_ZN4core3ptr46drop_in_place$LT$alloc..vec..Vec$LT$u8$GT$$GT$17h9b11311928cb727fE.exit.i.i.i", label %135 + br i1 %134, label %149, label %135 135: ; preds = %131 %136 = load ptr, ptr %5, align 8, !noalias !148, !nonnull !4, !noundef !4 call void @__rust_dealloc(ptr noundef nonnull %136, i64 noundef %133, i64 noundef %130) #18 - br label %"_ZN4core3ptr46drop_in_place$LT$alloc..vec..Vec$LT$u8$GT$$GT$17h9b11311928cb727fE.exit.i.i.i" - -"_ZN4core3ptr46drop_in_place$LT$alloc..vec..Vec$LT$u8$GT$$GT$17h9b11311928cb727fE.exit.i.i.i": ; preds = %135, %131, %.noexc - call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %5), !noalias !148 - br label %150 + br label %149 .loopexit.split-lp.i.i.i: ; preds = %.loopexit.split-lp.loopexit.split-lp.i.i.i, %.loopexit.split-lp.loopexit.i.i.i, %.loopexit.i.i.i %lpad.phi.i.i.i = phi { ptr, i32 } [ %lpad.loopexit.i.i.i, %.loopexit.i.i.i ], [ %lpad.loopexit94.i.i.i, %.loopexit.split-lp.loopexit.i.i.i ], [ %lpad.loopexit.split-lp95.i.i.i, %.loopexit.split-lp.loopexit.split-lp.i.i.i ] invoke void @"_ZN4core3ptr46drop_in_place$LT$alloc..vec..Vec$LT$u8$GT$$GT$17h9b11311928cb727fE"(ptr noalias noundef nonnull align 8 dereferenceable(24) %11) #16 to label %.body8 unwind label %146 -"_ZN4core3ptr81drop_in_place$LT$core..result..Result$LT$$LP$$RP$$C$std..io..error..Error$GT$$GT$17h7593feee80d5d3e7E.exit78.loopexit.split.loop.exit130.i.i.i": ; preds = %"_ZN85_$LT$std..io..buffered..bufreader..BufReader$LT$R$GT$$u20$as$u20$std..io..BufRead$GT$8fill_buf17he038dce4cedace42E.exit.i.i.i" - %137 = inttoptr i64 %58 to ptr - br label %"_ZN4core3ptr81drop_in_place$LT$core..result..Result$LT$$LP$$RP$$C$std..io..error..Error$GT$$GT$17h7593feee80d5d3e7E.exit78.i.i.i" - -"_ZN4core3ptr81drop_in_place$LT$core..result..Result$LT$$LP$$RP$$C$std..io..error..Error$GT$$GT$17h7593feee80d5d3e7E.exit78.i.i.i": ; preds = %120, %_ZN3std2io7BufRead10read_until17hff45a5ece3df6773E.exit.i.i.i, %"_ZN4core3ptr81drop_in_place$LT$core..result..Result$LT$$LP$$RP$$C$std..io..error..Error$GT$$GT$17h7593feee80d5d3e7E.exit78.loopexit.split.loop.exit130.i.i.i", %"_ZN85_$LT$std..io..buffered..bufreader..BufReader$LT$R$GT$$u20$as$u20$std..io..BufRead$GT$8fill_buf17he038dce4cedace42E.exit.thread.i.i.i" - %.0.i.i.i = phi ptr [ %51, %"_ZN85_$LT$std..io..buffered..bufreader..BufReader$LT$R$GT$$u20$as$u20$std..io..BufRead$GT$8fill_buf17he038dce4cedace42E.exit.thread.i.i.i" ], [ %137, %"_ZN4core3ptr81drop_in_place$LT$core..result..Result$LT$$LP$$RP$$C$std..io..error..Error$GT$$GT$17h7593feee80d5d3e7E.exit78.loopexit.split.loop.exit130.i.i.i" ], [ %122, %120 ], [ %114, %_ZN3std2io7BufRead10read_until17hff45a5ece3df6773E.exit.i.i.i ] +"_ZN4core3ptr81drop_in_place$LT$core..result..Result$LT$$LP$$RP$$C$std..io..error..Error$GT$$GT$17h7593feee80d5d3e7E.exit78.i.i.i": ; preds = %120, %_ZN3std2io7BufRead10read_until17hff45a5ece3df6773E.exit.i.i.i, %62 + %.0.i.i.i = phi ptr [ %51, %62 ], [ %114, %_ZN3std2io7BufRead10read_until17hff45a5ece3df6773E.exit.i.i.i ], [ %122, %120 ] call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %4), !noalias !155 invoke void @"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$14current_memory17h7c0f8d83c7a79a8dE.llvm.1231196827938639477"(ptr noalias noundef nonnull sret({ [1 x i64], i64, [1 x i64] }) align 8 captures(none) dereferenceable(24) %4, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) %11) to label %.noexc10 unwind label %148 @@ -857,9 +845,11 @@ _ZN3std2io7BufRead10read_until17hff45a5ece3df6773E.exit.i.i.i: ; preds = %103 call void @__rust_dealloc(ptr noundef nonnull %145, i64 noundef %142, i64 noundef %139) #18 br label %"_ZN4core3ptr46drop_in_place$LT$alloc..vec..Vec$LT$u8$GT$$GT$17h9b11311928cb727fE.exit80.i.i.i" -"_ZN4core3ptr46drop_in_place$LT$alloc..vec..Vec$LT$u8$GT$$GT$17h9b11311928cb727fE.exit80.i.i.i": ; preds = %144, %140, %.noexc10 +"_ZN4core3ptr46drop_in_place$LT$alloc..vec..Vec$LT$u8$GT$$GT$17h9b11311928cb727fE.exit80.i.i.i": ; preds = %.noexc10, %140, %143 call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %4), !noalias !155 - br label %150 + call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %11), !noalias !108 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %12) + br label %152 146: ; preds = %.loopexit.split-lp.i.i.i %147 = landingpad { ptr, i32 } @@ -873,27 +863,28 @@ _ZN3std2io7BufRead10read_until17hff45a5ece3df6773E.exit.i.i.i: ; preds = %103 br label %.body8 .body8: ; preds = %.loopexit.split-lp.i.i.i, %148 - %eh.lpad-body9 = phi { ptr, i32 } [ %149, %148 ], [ %lpad.phi.i.i.i, %.loopexit.split-lp.i.i.i ] + %eh.lpad-body9 = phi { ptr, i32 } [ %149, %147 ], [ %lpad.phi.i.i.i, %.loopexit.split-lp.i.i.i ] invoke void @"_ZN4core3ptr93drop_in_place$LT$std..io..buffered..bufreader..BufReader$LT$std..io..stdio..StdinLock$GT$$GT$17h31c9d6636f91e707E"(ptr noalias noundef nonnull align 8 dereferenceable(56) %14) #16 to label %.body unwind label %158 -150: ; preds = %"_ZN4core3ptr46drop_in_place$LT$alloc..vec..Vec$LT$u8$GT$$GT$17h9b11311928cb727fE.exit80.i.i.i", %"_ZN4core3ptr46drop_in_place$LT$alloc..vec..Vec$LT$u8$GT$$GT$17h9b11311928cb727fE.exit.i.i.i" - %.1.i.i.i = phi ptr [ %.0.i.i.i, %"_ZN4core3ptr46drop_in_place$LT$alloc..vec..Vec$LT$u8$GT$$GT$17h9b11311928cb727fE.exit80.i.i.i" ], [ %.185.i.i.i, %"_ZN4core3ptr46drop_in_place$LT$alloc..vec..Vec$LT$u8$GT$$GT$17h9b11311928cb727fE.exit.i.i.i" ] +150: ; preds = %.noexc, %131, %135 + call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %5), !noalias !148 call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %11), !noalias !108 call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %12) - %151 = icmp eq ptr %.1.i.i.i, null + %151 = icmp eq ptr %.185.i.i.i, null br i1 %151, label %152, label %153 152: ; preds = %150 invoke void @"_ZN4core3ptr93drop_in_place$LT$std..io..buffered..bufreader..BufReader$LT$std..io..stdio..StdinLock$GT$$GT$17h31c9d6636f91e707E"(ptr noalias noundef nonnull align 8 dereferenceable(56) %14) - to label %155 unwind label %26 + to label %154 unwind label %26 -153: ; preds = %150 - %154 = getelementptr inbounds nuw i8, ptr %0, i64 8 - store ptr %.1.i.i.i, ptr %154, align 8 +153: ; preds = %.thread, %150 + %.1.i.i.i12 = phi ptr [ %.0.i.i.i, %.thread ], [ %.185.i.i.i, %149 ] + %153 = getelementptr inbounds nuw i8, ptr %0, i64 8 + store ptr %.1.i.i.i12, ptr %153, align 8 store i64 -9223372036854775808, ptr %0, align 8 invoke void @"_ZN4core3ptr93drop_in_place$LT$std..io..buffered..bufreader..BufReader$LT$std..io..stdio..StdinLock$GT$$GT$17h31c9d6636f91e707E"(ptr noalias noundef nonnull align 8 dereferenceable(56) %14) - to label %157 unwind label %26 + to label %156 unwind label %26 155: ; preds = %152 call void @llvm.lifetime.end.p0(i64 56, ptr nonnull %14) diff --git a/bench/ripgrep-rs/optimized/48ebkfcy4wdt2bov.ll b/bench/ripgrep-rs/optimized/48ebkfcy4wdt2bov.ll index f5608404433..de347824ffe 100644 --- a/bench/ripgrep-rs/optimized/48ebkfcy4wdt2bov.ll +++ b/bench/ripgrep-rs/optimized/48ebkfcy4wdt2bov.ll @@ -28,12 +28,12 @@ define hidden void @"_ZN100_$LT$core..iter..adapters..skip..Skip$LT$I$GT$$u20$as %3 = getelementptr inbounds nuw i8, ptr %0, i64 16 %4 = load i64, ptr %3, align 8, !noundef !4 %.not = icmp eq i64 %4, 0 - %.pre = load ptr, ptr %0, align 8 + %.pre = load ptr, ptr %0, align 8, !nonnull !4, !noundef !4 br i1 %.not, label %._crit_edge, label %29 ._crit_edge: ; preds = %2 %.phi.trans.insert = getelementptr inbounds nuw i8, ptr %0, i64 8 - %.pre10 = load ptr, ptr %.phi.trans.insert, align 8 + %.pre10 = load ptr, ptr %.phi.trans.insert, align 8, !nonnull !4, !noundef !4 br label %5 5: ; preds = %._crit_edge, %29 @@ -123,7 +123,7 @@ define hidden void @"_ZN100_$LT$core..iter..adapters..skip..Skip$LT$I$GT$$u20$as ; Function Attrs: nonlazybind uwtable define hidden void @"_ZN102_$LT$core..iter..adapters..map..Map$LT$I$C$F$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4fold17h414b5beedf8c3001E"(ptr noalias noundef readonly align 8 captures(none) dereferenceable(24) %0, ptr noalias noundef readonly align 8 captures(none) dereferenceable(24) %1) unnamed_addr #1 personality ptr @rust_eh_personality { %.sroa.0.i.i.i = alloca { { i64, ptr, {} }, i64 }, align 8 - %.sroa.0.0.copyload = load ptr, ptr %0, align 8 + %.sroa.0.0.copyload = load ptr, ptr %0, align 8, !nonnull !4, !noundef !4 %.sroa.5.0..sroa_idx = getelementptr inbounds nuw i8, ptr %0, i64 8 %.sroa.5.0.copyload = load ptr, ptr %.sroa.5.0..sroa_idx, align 8 %.sroa.7.0..sroa_idx = getelementptr inbounds nuw i8, ptr %0, i64 16 @@ -136,39 +136,44 @@ define hidden void @"_ZN102_$LT$core..iter..adapters..map..Map$LT$I$C$F$GT$$u20$ %.not.i = icmp eq i64 %.sroa.7.0.copyload, 0 br i1 %.not.i, label %._crit_edge.i, label %21 -._crit_edge.i: ; preds = %2, %21 - %3 = phi ptr [ %29, %21 ], [ %.sroa.0.0.copyload, %2 ] - %4 = icmp eq ptr %3, %.sroa.5.0.copyload - br i1 %4, label %"_ZN100_$LT$core..iter..adapters..skip..Skip$LT$I$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4fold17hd7d1821ff62bfd4eE.llvm.5952769917390182195.exit", label %5 - -5: ; preds = %._crit_edge.i - %6 = ptrtoint ptr %.sroa.5.0.copyload to i64 - %7 = ptrtoint ptr %3 to i64 - %8 = sub nuw i64 %6, %7 - %9 = lshr exact i64 %8, 4 - br label %10 - -10: ; preds = %13, %5 - %.val18.i.i = phi i64 [ %.sroa.52.0.copyload, %5 ], [ %15, %13 ] - %.0.i7.i = phi i64 [ 0, %5 ], [ %16, %13 ] - %11 = getelementptr inbounds { ptr, i64 }, ptr %3, i64 %.0.i7.i - %.val19.i.i = load ptr, ptr %11, align 8, !noalias !21, !nonnull !4, !align !8, !noundef !4 - %12 = getelementptr i8, ptr %11, i64 8 - %.val20.i.i = load i64, ptr %12, align 8, !noalias !21, !noundef !4 +._crit_edge.i: ; preds = %2 + %3 = icmp ne ptr %.sroa.5.0.copyload, null + tail call void @llvm.assume(i1 %3) + br label %4 + +5: ; preds = %23, %._crit_edge.i + %5 = phi ptr [ %31, %23 ], [ %.sroa.0.0.copyload, %._crit_edge.i ] + %6 = icmp eq ptr %5, %.sroa.5.0.copyload + br i1 %6, label %"_ZN100_$LT$core..iter..adapters..skip..Skip$LT$I$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4fold17hd7d1821ff62bfd4eE.llvm.5952769917390182195.exit", label %7 + +7:; preds = %4 + %8 = ptrtoint ptr %.sroa.5.0.copyload to i64 + %9 = ptrtoint ptr %5 to i64 + %10 = sub nuw i64 %8, %9 + %11 = lshr exact i64 %10, 5 + br label %12 + +12:; preds = %15, %7 + %.val18.i.i = phi i64 [ %.sroa.52.0.copyload, %7 ], [ %17, %15 ] + %.0.i7.i = phi i64 [ 0, %7 ], [ %18, %15 ] + %13 = getelementptr inbounds { ptr, i64 }, ptr %5, i64 %.0.i7.i + %.val19.i.i = load ptr, ptr %13, align 8, !noalias !21, !nonnull !4, !align !8, !noundef !4 + %14 = getelementptr i8, ptr %13, i64 8 + %.val20.i.i = load i64, ptr %14, align 8, !noalias !21, !noundef !4 call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %.sroa.0.i.i.i), !noalias !27 invoke void @_ZN3std3sys6os_str5bytes5Slice8to_owned17h94eb8641b17f06acE(ptr noalias noundef nonnull sret({ { { i64, ptr, {} }, i64 } }) align 8 captures(none) dereferenceable(24) %.sroa.0.i.i.i, ptr noalias noundef nonnull readonly align 1 %.val19.i.i, i64 noundef %.val20.i.i) - to label %13 unwind label %18, !noalias !21 + to label %15 unwind label %18, !noalias !21 -13: ; preds = %10 +13: ; preds = %12 %14 = getelementptr inbounds { { { { i64, ptr, {} }, i64 } } }, ptr %.sroa.73.0.copyload, i64 %.val18.i.i call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %14, ptr noundef nonnull align 8 dereferenceable(24) %.sroa.0.i.i.i, i64 24, i1 false), !noalias !30 %15 = add i64 %.val18.i.i, 1 call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %.sroa.0.i.i.i), !noalias !27 %16 = add nuw i64 %.0.i7.i, 1 - %17 = icmp eq i64 %16, %9 - br i1 %17, label %"_ZN100_$LT$core..iter..adapters..skip..Skip$LT$I$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4fold17hd7d1821ff62bfd4eE.llvm.5952769917390182195.exit", label %10 + %17 = icmp eq i64 %16, %11 + br i1 %17, label %"_ZN100_$LT$core..iter..adapters..skip..Skip$LT$I$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4fold17hd7d1821ff62bfd4eE.llvm.5952769917390182195.exit", label %12 -18: ; preds = %10 +18: ; preds = %12 %19 = landingpad { ptr, i32 } cleanup %20 = icmp ne ptr %.sroa.01.0.copyload, null @@ -187,10 +192,10 @@ define hidden void @"_ZN102_$LT$core..iter..adapters..map..Map$LT$I$C$F$GT$$u20$ %.not.i.not.i = icmp ult i64 %22, %27 %28 = getelementptr inbounds nuw { ptr, i64 }, ptr %.sroa.0.0.copyload, i64 %22 %29 = getelementptr inbounds nuw i8, ptr %28, i64 16 - br i1 %.not.i.not.i, label %._crit_edge.i, label %"_ZN100_$LT$core..iter..adapters..skip..Skip$LT$I$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4fold17hd7d1821ff62bfd4eE.llvm.5952769917390182195.exit" + br i1 %.not.i.not.i, label %4, label %"_ZN100_$LT$core..iter..adapters..skip..Skip$LT$I$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4fold17hd7d1821ff62bfd4eE.llvm.5952769917390182195.exit" -"_ZN100_$LT$core..iter..adapters..skip..Skip$LT$I$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4fold17hd7d1821ff62bfd4eE.llvm.5952769917390182195.exit": ; preds = %13, %21, %._crit_edge.i - %.sroa.52.0.copyload.sink = phi i64 [ %.sroa.52.0.copyload, %._crit_edge.i ], [ %.sroa.52.0.copyload, %21 ], [ %15, %13 ] +"_ZN100_$LT$core..iter..adapters..skip..Skip$LT$I$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4fold17hd7d1821ff62bfd4eE.llvm.5952769917390182195.exit": ; preds = %13, %21, %4 + %.sroa.52.0.copyload.sink = phi i64 [ %.sroa.52.0.copyload, %4 ], [ %.sroa.52.0.copyload, %23 ], [ %15, %15 ] %30 = icmp ne ptr %.sroa.01.0.copyload, null tail call void @llvm.assume(i1 %30) store i64 %.sroa.52.0.copyload.sink, ptr %.sroa.01.0.copyload, align 8, !noalias !35 diff --git a/bench/rocksdb/optimized/compaction_job.ll b/bench/rocksdb/optimized/compaction_job.ll index e107f90f67c..3ce797b2d9a 100644 --- a/bench/rocksdb/optimized/compaction_job.ll +++ b/bench/rocksdb/optimized/compaction_job.ll @@ -10658,9 +10658,8 @@ _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit: ; preds = %_ZNKS store i64 %341, ptr %354, align 1 %.pre645 = load ptr, ptr %251, align 8, !tbaa !869 %.pre646 = load i64, ptr %252, align 8, !tbaa !870 - %.pre647 = load i8, ptr %254, align 1, !tbaa !872, !range !352 - %.pre647.fr = freeze i8 %.pre647 - %355 = trunc i8 %.pre647.fr to i1 + %.pre647 = load i8, ptr %254, align 1, !tbaa !872, !range !352, !noundef !353 + %355 = trunc nuw i8 %.pre647 to i1 store ptr %.pre645, ptr %24, align 8, !tbaa !386 store i64 %.pre646, ptr %274, align 8, !tbaa !310 %356 = add i64 %.pre646, -8 @@ -10722,9 +10721,8 @@ _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit: ; preds = %_ZNKS store i64 %374, ptr %385, align 1 %.pre648 = load ptr, ptr %263, align 8, !tbaa !869 %.pre649 = load i64, ptr %264, align 8, !tbaa !870 - %.pre650 = load i8, ptr %266, align 1, !tbaa !872, !range !352 - %.pre650.fr = freeze i8 %.pre650 - %386 = trunc i8 %.pre650.fr to i1 + %.pre650 = load i8, ptr %266, align 1, !tbaa !872, !range !352, !noundef !353 + %386 = trunc nuw i8 %.pre650 to i1 store ptr %.pre648, ptr %25, align 8, !tbaa !386 store i64 %.pre649, ptr %275, align 8, !tbaa !310 %387 = add i64 %.pre649, -8 @@ -10734,7 +10732,7 @@ _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit: ; preds = %_ZNKS 388: ; preds = %376, %.thread664 %389 = phi ptr [ %375, %.thread664 ], [ %.pre648, %376 ] %390 = phi i64 [ %363, %.thread664 ], [ %spec.select671, %376 ] - %.pre651.pre = load i8, ptr %243, align 8, !tbaa !435, !range !352 + %.pre651.pre = load i8, ptr %243, align 8, !tbaa !435, !range !352, !noundef !353 %391 = trunc nuw i8 %.pre651.pre to i1 br label %392 @@ -24097,7 +24095,7 @@ _ZN7rocksdb11InternalKey24SetMinPossibleForUserKeyERKNS_5SliceE.exit: ; preds = _ZN7rocksdb11InternalKey24SetMinPossibleForUserKeyERKNS_5SliceE.exit168: ; preds = %338 call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %8) #33 - %.pre = load i8, ptr %335, align 8, !tbaa !435, !range !352 + %.pre = load i8, ptr %335, align 8, !tbaa !435, !range !352, !noundef !353 %.pre264 = trunc nuw i8 %.pre to i1 %343 = select i1 %.pre264, ptr %26, ptr null br label %344 @@ -39804,7 +39802,7 @@ _ZN7rocksdb16ClippingIterator21EnforceUpperBoundImplENS_14IterBoundCheckE.exit.t br label %38 _ZN7rocksdb16ClippingIterator21EnforceUpperBoundImplENS_14IterBoundCheckE.exit: ; preds = %21 - %.pre = load i8, ptr %14, align 8, !tbaa !890, !range !352 + %.pre = load i8, ptr %14, align 8, !tbaa !890, !range !352, !noundef !353 %37 = trunc nuw i8 %.pre to i1 br i1 %37, label %_ZN7rocksdb16ClippingIterator21EnforceUpperBoundImplENS_14IterBoundCheckE.exit.thread, label %38 diff --git a/bench/rocksdb/optimized/plain_table_key_coding.ll b/bench/rocksdb/optimized/plain_table_key_coding.ll index 7e84beb0f7b..1334bd6c68c 100644 --- a/bench/rocksdb/optimized/plain_table_key_coding.ll +++ b/bench/rocksdb/optimized/plain_table_key_coding.ll @@ -622,7 +622,7 @@ _ZN7rocksdb6StatusD2Ev.exit113: ; preds = %.critedge92, %_ZNKS %156 = ptrtoint ptr %155 to i64 %157 = ptrtoint ptr %14 to i64 %158 = sub i64 %156, %157 - %.pre = load i8, ptr %96, align 1, !tbaa !77, !range !78 + %.pre = load i8, ptr %96, align 1, !tbaa !77, !range !78, !noundef !79 %.pre166 = load i64, ptr %99, align 8 %.pre170 = trunc nuw i8 %.pre to i1 %.pre171 = add i64 %.pre166, -8 @@ -3031,11 +3031,10 @@ _ZN7rocksdb7IterKey21EnlargeBufferIfNeededEm.exit.i.i117: ; preds = %279, %263 %298 = load i64, ptr %233, align 8, !tbaa !17 %299 = add i64 %298, 1 call void @_ZdlPvm(ptr noundef %232, i64 noundef %299) #19 - %.pre313.pre = load i8, ptr %225, align 1, !tbaa !77, !range !78 + %.pre313.pre = load i8, ptr %225, align 1, !tbaa !77, !range !78, !noundef !79 %.pre315.pre = load i64, ptr %197, align 8 %.sroa.0.0.i123.pre.pre = load ptr, ptr %224, align 8, !tbaa !80 - %.pre313.pre.fr = freeze i8 %.pre313.pre - %300 = trunc i8 %.pre313.pre.fr to i1 + %300 = trunc nuw i8 %.pre313.pre to i1 call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %19) #20 %301 = add i64 %.pre315.pre, -8 %spec.select = select i1 %300, i64 %.pre315.pre, i64 %301 diff --git a/bench/ruby/optimized/compile.ll b/bench/ruby/optimized/compile.ll index 0bb82557743..63501eef76e 100644 --- a/bench/ruby/optimized/compile.ll +++ b/bench/ruby/optimized/compile.ll @@ -17871,10 +17871,12 @@ rb_obj_written.exit: ; preds = %251, %268 %447 = getelementptr inbounds nuw i8, ptr %1, i64 48 %448 = load ptr, ptr %447, align 8, !tbaa !517 tail call fastcc void @pm_compile_node(ptr noundef %0, ptr noundef %448, ptr noundef %2, i1 noundef zeroext false, ptr noundef %4) + %.pre2296 = load i32, ptr %6, align 8 + %.pre2297 = load i32, ptr %31, align 4 br i1 %3, label %455, label %449 449: ; preds = %446 - %450 = tail call fastcc noundef ptr @new_insn_core(ptr noundef %0, i32 noundef %30, i32 noundef %33, i32 noundef 40, i32 noundef 0, ptr noundef null) + %450 = tail call fastcc noundef ptr @new_insn_core(ptr noundef %0, i32 noundef %.pre2296, i32 noundef %.pre2297, i32 noundef 40, i32 noundef 0, ptr noundef null) %451 = getelementptr inbounds nuw i8, ptr %2, i64 24 %452 = load ptr, ptr %451, align 8, !tbaa !7 %453 = getelementptr inbounds nuw i8, ptr %450, i64 16 @@ -17890,7 +17892,7 @@ rb_obj_written.exit: ; preds = %251, %268 %458 = tail call fastcc i64 @pm_constant_id_lookup(ptr noundef %4, i32 noundef %457) %459 = tail call i64 @rb_id2sym(i64 noundef %458) #38 %460 = tail call fastcc i64 @get_cvar_ic_value(ptr noundef %0, i64 noundef %458) - %461 = tail call ptr (ptr, i32, i32, i32, i32, ...) @new_insn_body(ptr noundef %0, i32 noundef %30, i32 noundef %33, i32 noundef 11, i32 noundef 2, i64 noundef %459, i64 noundef %460) + %461 = tail call ptr (ptr, i32, i32, i32, i32, ...) @new_insn_body(ptr noundef %0, i32 noundef %.pre2296, i32 noundef %.pre2297, i32 noundef 11, i32 noundef 2, i64 noundef %459, i64 noundef %460) %462 = getelementptr inbounds nuw i8, ptr %2, i64 24 %463 = load ptr, ptr %462, align 8, !tbaa !7 %464 = getelementptr inbounds nuw i8, ptr %461, i64 16 @@ -18790,10 +18792,12 @@ rb_obj_write.exit: ; preds = %754, %ISEQ_COMPILE_ %932 = getelementptr inbounds nuw i8, ptr %1, i64 48 %933 = load ptr, ptr %932, align 8, !tbaa !550 tail call fastcc void @pm_compile_node(ptr noundef %0, ptr noundef %933, ptr noundef %2, i1 noundef zeroext false, ptr noundef %4) + %.pre2294 = load i32, ptr %6, align 8 + %.pre2295 = load i32, ptr %31, align 4 br i1 %3, label %940, label %934 934: ; preds = %931 - %935 = tail call fastcc noundef ptr @new_insn_core(ptr noundef %0, i32 noundef %30, i32 noundef %33, i32 noundef 40, i32 noundef 0, ptr noundef null) + %935 = tail call fastcc noundef ptr @new_insn_core(ptr noundef %0, i32 noundef %.pre2294, i32 noundef %.pre2295, i32 noundef 40, i32 noundef 0, ptr noundef null) %936 = getelementptr inbounds nuw i8, ptr %2, i64 24 %937 = load ptr, ptr %936, align 8, !tbaa !7 %938 = getelementptr inbounds nuw i8, ptr %935, i64 16 @@ -18808,7 +18812,7 @@ rb_obj_write.exit: ; preds = %754, %ISEQ_COMPILE_ %942 = load i32, ptr %941, align 8, !tbaa !552 %943 = tail call fastcc i64 @pm_constant_id_lookup(ptr noundef %4, i32 noundef %942) %944 = tail call i64 @rb_id2sym(i64 noundef %943) #38 - %945 = tail call ptr (ptr, i32, i32, i32, i32, ...) @new_insn_body(ptr noundef %0, i32 noundef %30, i32 noundef %33, i32 noundef 16, i32 noundef 1, i64 noundef %944) + %945 = tail call ptr (ptr, i32, i32, i32, i32, ...) @new_insn_body(ptr noundef %0, i32 noundef %.pre2294, i32 noundef %.pre2295, i32 noundef 16, i32 noundef 1, i64 noundef %944) %946 = getelementptr inbounds nuw i8, ptr %2, i64 24 %947 = load ptr, ptr %946, align 8, !tbaa !7 %948 = getelementptr inbounds nuw i8, ptr %945, i64 16 @@ -19335,8 +19339,8 @@ rb_obj_write.exit: ; preds = %754, %ISEQ_COMPILE_ %1260 = getelementptr inbounds nuw i8, ptr %1258, i64 8 store ptr %1257, ptr %1260, align 8, !tbaa !36 store ptr %1257, ptr %1254, align 8, !tbaa !7 - %.pre2330 = load i32, ptr %6, align 8, !tbaa !469 - %.pre2331 = load i32, ptr %31, align 4, !tbaa !472 + %.pre2330 = load i32, ptr %6, align 8 + %.pre2331 = load i32, ptr %31, align 4 br label %1263 1261: ; preds = %1250 @@ -20089,10 +20093,12 @@ rb_obj_written.exit2000: ; preds = %pm_scope_node_destr %1661 = getelementptr inbounds nuw i8, ptr %1, i64 48 %1662 = load ptr, ptr %1661, align 8, !tbaa !609 tail call fastcc void @pm_compile_node(ptr noundef %0, ptr noundef %1662, ptr noundef %2, i1 noundef zeroext false, ptr noundef %4) + %.pre2285 = load i32, ptr %6, align 8 + %.pre2286 = load i32, ptr %31, align 4 br i1 %3, label %1669, label %1663 1663: ; preds = %1660 - %1664 = tail call fastcc noundef ptr @new_insn_core(ptr noundef %0, i32 noundef %30, i32 noundef %33, i32 noundef 40, i32 noundef 0, ptr noundef null) + %1664 = tail call fastcc noundef ptr @new_insn_core(ptr noundef %0, i32 noundef %.pre2285, i32 noundef %.pre2286, i32 noundef 40, i32 noundef 0, ptr noundef null) %1665 = getelementptr inbounds nuw i8, ptr %2, i64 24 %1666 = load ptr, ptr %1665, align 8, !tbaa !7 %1667 = getelementptr inbounds nuw i8, ptr %1664, i64 16 @@ -20111,7 +20117,7 @@ rb_obj_written.exit2000: ; preds = %pm_scope_node_destr %.sroa.0171.0.extract.trunc = trunc i64 %1674 to i32 %.sroa.4172.0.extract.shift = lshr i64 %1674, 32 %.sroa.4172.0.extract.trunc = trunc nuw i64 %.sroa.4172.0.extract.shift to i32 - tail call fastcc void @pm_iseq_add_setlocal(ptr noundef %0, ptr noundef %2, i32 noundef %30, i32 noundef %33, i32 noundef %.sroa.0171.0.extract.trunc, i32 noundef %.sroa.4172.0.extract.trunc) + tail call fastcc void @pm_iseq_add_setlocal(ptr noundef %0, ptr noundef %2, i32 noundef %.pre2285, i32 noundef %.pre2286, i32 noundef %.sroa.0171.0.extract.trunc, i32 noundef %.sroa.4172.0.extract.trunc) br label %.critedge1881 1675: ; preds = %107 diff --git a/bench/rust-analyzer-rs/optimized/2gfo4qfvfsgl8tkl.ll b/bench/rust-analyzer-rs/optimized/2gfo4qfvfsgl8tkl.ll index 81e2116916a..1da0e3a2c61 100644 --- a/bench/rust-analyzer-rs/optimized/2gfo4qfvfsgl8tkl.ll +++ b/bench/rust-analyzer-rs/optimized/2gfo4qfvfsgl8tkl.ll @@ -1660,7 +1660,7 @@ _ZN6object4read3elf4file10FileHeader12is_supported17h424c27a09f174fb0E.llvm.1469 %.us-phi.i = phi i64 [ %.sroa.8.0.us.i, %50 ], [ %.sroa.8.0.i, %56 ] %.us-phi31.i = phi ptr [ %48, %50 ], [ %54, %56 ] call void @"_ZN6object4read3elf6symbol26SymbolTable$LT$Elf$C$R$GT$5parse17h10fbcee43473df85E"(ptr noalias noundef nonnull sret({ ptr, [10 x i64] }) align 8 captures(none) dereferenceable(88) %7, i1 noundef zeroext %28, ptr noalias noundef nonnull readonly align 1 %1, i64 noundef %2, ptr noalias noundef nonnull readonly align 8 dereferenceable(48) %9, i64 noundef %.us-phi.i, ptr noalias noundef nonnull readonly align 8 dereferenceable(64) %.us-phi31.i) - %.pre = load ptr, ptr %7, align 8 + %.pre = load ptr, ptr %7, align 8, !noundef !7 %60 = icmp eq ptr %.pre, null br i1 %60, label %80, label %62 @@ -1732,7 +1732,7 @@ _ZN6object4read3elf4file10FileHeader12is_supported17h424c27a09f174fb0E.llvm.1469 %.us-phi.i130 = phi i64 [ %.sroa.8.0.us.i138, %69 ], [ %.sroa.8.0.i126, %75 ] %.us-phi31.i131 = phi ptr [ %67, %69 ], [ %73, %75 ] call void @"_ZN6object4read3elf6symbol26SymbolTable$LT$Elf$C$R$GT$5parse17h10fbcee43473df85E"(ptr noalias noundef nonnull sret({ ptr, [10 x i64] }) align 8 captures(none) dereferenceable(88) %6, i1 noundef zeroext %28, ptr noalias noundef nonnull readonly align 1 %1, i64 noundef %2, ptr noalias noundef nonnull readonly align 8 dereferenceable(48) %9, i64 noundef %.us-phi.i130, ptr noalias noundef nonnull readonly align 8 dereferenceable(64) %.us-phi31.i131) - %.pre194 = load ptr, ptr %6, align 8 + %.pre194 = load ptr, ptr %6, align 8, !noundef !7 %79 = icmp eq ptr %.pre194, null br i1 %79, label %93, label %85 @@ -1974,7 +1974,7 @@ _ZN6object4read3elf4file10FileHeader12is_supported17h5cf4aedb772b54afE.llvm.1469 %.us-phi.i = phi i64 [ %.sroa.8.0.us.i, %50 ], [ %.sroa.8.0.i, %56 ] %.us-phi31.i = phi ptr [ %48, %50 ], [ %54, %56 ] call void @"_ZN6object4read3elf6symbol26SymbolTable$LT$Elf$C$R$GT$5parse17hdda2b4cfdad143e1E"(ptr noalias noundef nonnull sret({ ptr, [10 x i64] }) align 8 captures(none) dereferenceable(88) %7, i1 noundef zeroext %28, ptr noalias noundef nonnull readonly align 1 %1, i64 noundef %2, ptr noalias noundef nonnull readonly align 8 dereferenceable(48) %9, i64 noundef %.us-phi.i, ptr noalias noundef nonnull readonly align 4 dereferenceable(40) %.us-phi31.i) - %.pre = load ptr, ptr %7, align 8 + %.pre = load ptr, ptr %7, align 8, !noundef !7 %60 = icmp eq ptr %.pre, null br i1 %60, label %80, label %62 @@ -2046,7 +2046,7 @@ _ZN6object4read3elf4file10FileHeader12is_supported17h5cf4aedb772b54afE.llvm.1469 %.us-phi.i130 = phi i64 [ %.sroa.8.0.us.i138, %69 ], [ %.sroa.8.0.i126, %75 ] %.us-phi31.i131 = phi ptr [ %67, %69 ], [ %73, %75 ] call void @"_ZN6object4read3elf6symbol26SymbolTable$LT$Elf$C$R$GT$5parse17hdda2b4cfdad143e1E"(ptr noalias noundef nonnull sret({ ptr, [10 x i64] }) align 8 captures(none) dereferenceable(88) %6, i1 noundef zeroext %28, ptr noalias noundef nonnull readonly align 1 %1, i64 noundef %2, ptr noalias noundef nonnull readonly align 8 dereferenceable(48) %9, i64 noundef %.us-phi.i130, ptr noalias noundef nonnull readonly align 4 dereferenceable(40) %.us-phi31.i131) - %.pre194 = load ptr, ptr %6, align 8 + %.pre194 = load ptr, ptr %6, align 8, !noundef !7 %79 = icmp eq ptr %.pre194, null br i1 %79, label %93, label %85 @@ -2831,7 +2831,7 @@ define hidden void @_ZN9hashbrown3raw13RawTableInner13drop_elements17h92c7b16cc7 %.not.i.i.i = icmp eq i16 %17, -1 br i1 %.not.i.i.i, label %.lr.ph.i.i, label %._crit_edge.i.i -"_ZN91_$LT$hashbrown..raw..RawIter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h760edcd3648f9f18E.llvm.1778249362653541369.exit": ; preds = %12, %._crit_edge.i.i +"_ZN91_$LT$hashbrown..raw..RawIter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h760edcd3648f9f18E.llvm.1778249362653541369.exit": ; preds = %._crit_edge.i.i, %12 %.sroa.6.1 = phi ptr [ %19, %._crit_edge.i.i ], [ %.sroa.6.018, %12 ] %.sroa.03.1 = phi ptr [ %18, %._crit_edge.i.i ], [ %.sroa.03.019, %12 ] %.lcssa.i.i = phi i16 [ %13, %._crit_edge.i.i ], [ %.sroa.84.016, %12 ] @@ -3085,7 +3085,7 @@ define hidden { i64, i8 } @_ZN9hashbrown3raw13RawTableInner19prepare_insert_slot %27 = zext nneg i16 %26 to i64 tail call void @llvm.assume(i1 %25) %.phi.trans.insert = getelementptr inbounds nuw i8, ptr %5, i64 %27 - %.pre = load i8, ptr %.phi.trans.insert, align 1 + %.pre = load i8, ptr %.phi.trans.insert, align 1, !noundef !7 br label %_ZN9hashbrown3raw13RawTableInner16find_insert_slot17he8e89ab18b256145E.llvm.1778249362653541369.exit _ZN9hashbrown3raw13RawTableInner16find_insert_slot17he8e89ab18b256145E.llvm.1778249362653541369.exit: ; preds = %._crit_edge.i, %21 @@ -3303,7 +3303,7 @@ define hidden noundef nonnull ptr @"_ZN9hashbrown3raw21RawTable$LT$T$C$A$GT$14in %28 = zext nneg i16 %27 to i64 tail call void @llvm.assume(i1 %26) %.phi.trans.insert.i = getelementptr inbounds nuw i8, ptr %6, i64 %28 - %.pre.i = load i8, ptr %.phi.trans.insert.i, align 1, !noalias !562 + %.pre.i = load i8, ptr %.phi.trans.insert.i, align 1, !noalias !562, !noundef !7 br label %_ZN9hashbrown3raw13RawTableInner19prepare_insert_slot17hdfab47b01d836a2cE.llvm.1778249362653541369.exit _ZN9hashbrown3raw13RawTableInner19prepare_insert_slot17hdfab47b01d836a2cE.llvm.1778249362653541369.exit: ; preds = %._crit_edge.i.i, %22 @@ -3535,7 +3535,7 @@ _ZN9hashbrown3raw13RawTableInner20full_buckets_indices17h06ca43303e366e4dE.exit. to label %115 unwind label %75 .thread64.loopexit: ; preds = %142 - %.pre104 = load i64, ptr %10, align 8, !alias.scope !626, !noalias !627 + %.pre104 = load i64, ptr %10, align 8, !alias.scope !626, !noalias !627, !noundef !7 br label %.thread64 .thread64: ; preds = %.thread64.loopexit, %_ZN9hashbrown3raw13RawTableInner20full_buckets_indices17h06ca43303e366e4dE.exit.i @@ -3730,7 +3730,7 @@ _ZN9hashbrown3raw13RawTableInner23prepare_rehash_in_place17h2d7ad79becd9a34aE.ex br label %_ZN4core3ptr19swap_nonoverlapping17h4cb21fd7a9296568E.exit.i _ZN4core3ptr19swap_nonoverlapping17h4cb21fd7a9296568E.exit.loopexit.i: ; preds = %.preheader.i - %.pre.i19 = load ptr, ptr %0, align 8, !alias.scope !677 + %.pre.i19 = load ptr, ptr %0, align 8, !alias.scope !677, !nonnull !7, !noundef !7 br label %_ZN4core3ptr19swap_nonoverlapping17h4cb21fd7a9296568E.exit.i _ZN4core3ptr19swap_nonoverlapping17h4cb21fd7a9296568E.exit.i: ; preds = %_ZN4core3ptr19swap_nonoverlapping17h4cb21fd7a9296568E.exit.loopexit.i, %173 @@ -3875,14 +3875,13 @@ _ZN9hashbrown3raw13RawTableInner16find_insert_slot17he8e89ab18b256145E.llvm.1778 unreachable _ZN9hashbrown3raw13RawTableInner15rehash_in_place17h782a8b650e027c37E.exit: ; preds = %250 - %.pre19.i = load i64, ptr %18, align 8, !alias.scope !668 - %.pre19.i.fr = freeze i64 %.pre19.i - %.pre20.i = add i64 %.pre19.i.fr, 1 + %.pre19.i = load i64, ptr %18, align 8, !alias.scope !668, !noundef !7 + %.pre20.i = add i64 %.pre19.i, 1 %253 = lshr i64 %.pre20.i, 3 %254 = mul nuw i64 %253, 7 - %255 = icmp ult i64 %.pre19.i.fr, 8 - %spec.select = select i1 %255, i64 %.pre19.i.fr, i64 %254 - %.pre = load i64, ptr %10, align 8, !alias.scope !668 + %255 = icmp ult i64 %.pre19.i, 8 + %spec.select = select i1 %255, i64 %.pre19.i, i64 %254 + %.pre = load i64, ptr %10, align 8, !alias.scope !668, !noundef !7 br label %_ZN9hashbrown3raw13RawTableInner15rehash_in_place17h782a8b650e027c37E.exit.thread _ZN9hashbrown3raw13RawTableInner15rehash_in_place17h782a8b650e027c37E.exit.thread: ; preds = %_ZN9hashbrown3raw13RawTableInner15rehash_in_place17h782a8b650e027c37E.exit, %_ZN9hashbrown3raw13RawTableInner23prepare_rehash_in_place17h2d7ad79becd9a34aE.exit.i diff --git a/bench/rust-analyzer-rs/optimized/3bcyxdd3fm70gs30.ll b/bench/rust-analyzer-rs/optimized/3bcyxdd3fm70gs30.ll index bdfcbca109e..b50240e03ba 100644 --- a/bench/rust-analyzer-rs/optimized/3bcyxdd3fm70gs30.ll +++ b/bench/rust-analyzer-rs/optimized/3bcyxdd3fm70gs30.ll @@ -2784,8 +2784,8 @@ define hidden noundef zeroext i1 @"_ZN68_$LT$rowan..api..SyntaxNode$LT$L$GT$$u20 35: ; preds = %"_ZN74_$LT$syntax..syntax_node..RustLanguage$u20$as$u20$rowan..api..Language$GT$13kind_from_raw17h329786d93afe91e3E.exit" %36 = tail call noundef i32 @_ZN5rowan6cursor8NodeData10offset_mut17h4d35d478d3a0a51cE(ptr noundef nonnull align 8 %25), !noalias !407 - %.pre = load i64, ptr %25, align 8, !range !55, !noalias !407 - %.sroa.3.0.i.i.i.pre = load ptr, ptr %.sroa.3.0.in.i.i, align 8, !noalias !407 + %.pre = load i64, ptr %25, align 8, !range !55, !noalias !407, !noundef !4 + %.sroa.3.0.i.i.i.pre = load ptr, ptr %.sroa.3.0.in.i.i, align 8, !noalias !407, !nonnull !4, !noundef !4 br label %37 37: ; preds = %35, %32 @@ -3339,8 +3339,8 @@ define internal noundef zeroext i1 @"_ZN69_$LT$rowan..api..SyntaxToken$LT$L$GT$$ 28: ; preds = %"_ZN74_$LT$syntax..syntax_node..RustLanguage$u20$as$u20$rowan..api..Language$GT$13kind_from_raw17h329786d93afe91e3E.exit" %29 = tail call noundef i32 @_ZN5rowan6cursor8NodeData10offset_mut17h4d35d478d3a0a51cE(ptr noundef nonnull align 8 %18), !noalias !525 - %.pre = load i64, ptr %18, align 8, !range !55, !noalias !525 - %.sroa.3.0.i.i.i.pre = load ptr, ptr %.sroa.3.0.in.i.i, align 8, !noalias !525 + %.pre = load i64, ptr %18, align 8, !range !55, !noalias !525, !noundef !4 + %.sroa.3.0.i.i.i.pre = load ptr, ptr %.sroa.3.0.in.i.i, align 8, !noalias !525, !nonnull !4, !noundef !4 br label %30 30: ; preds = %28, %25 @@ -3728,8 +3728,8 @@ define hidden void @"_ZN8indexmap3map4core25IndexMapCore$LT$K$C$V$GT$10push_entr br i1 %17, label %26, label %"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$17try_reserve_exact17h2cffd0a942e7c776E.exit.i.thread" "_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$17try_reserve_exact17h2cffd0a942e7c776E.exit.i": ; preds = %.noexc6 - %.pre.i = load i64, ptr %6, align 8, !alias.scope !575 - %.pre = load i64, ptr %0, align 8, !alias.scope !578 + %.pre.i = load i64, ptr %6, align 8, !alias.scope !575, !noundef !4 + %.pre = load i64, ptr %0, align 8, !alias.scope !578, !noundef !4 %18 = icmp eq i64 %.pre, %.pre.i br i1 %18, label %"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$17try_reserve_exact17h2cffd0a942e7c776E.exit.i.thread", label %"_ZN8indexmap3map4core25IndexMapCore$LT$K$C$V$GT$15reserve_entries17h7a0f376f0aeb59e1E.exit" @@ -3746,7 +3746,7 @@ define hidden void @"_ZN8indexmap3map4core25IndexMapCore$LT$K$C$V$GT$10push_entr ] ._crit_edge.i.i.i: ; preds = %.noexc - %.pre.i.i.i = load i64, ptr %0, align 8, !alias.scope !578 + %.pre.i.i.i = load i64, ptr %0, align 8, !alias.scope !578, !noundef !4 %22 = icmp ne i64 %.pre.i.i.i, %19 br label %"_ZN8indexmap3map4core25IndexMapCore$LT$K$C$V$GT$15reserve_entries17h7a0f376f0aeb59e1E.exit" @@ -3775,7 +3775,7 @@ define hidden void @"_ZN8indexmap3map4core25IndexMapCore$LT$K$C$V$GT$10push_entr br i1 %29, label %"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$17try_reserve_exact17h2cffd0a942e7c776E.exit.thread.i", label %"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$17try_reserve_exact17h2cffd0a942e7c776E.exit.i" "_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$17try_reserve_exact17h2cffd0a942e7c776E.exit.thread.i": ; preds = %.noexc6 - %.pre.i.i = load i64, ptr %0, align 8, !alias.scope !581 + %.pre.i.i = load i64, ptr %0, align 8, !alias.scope !581, !noundef !4 %.pre9.i.i = sub i64 %.pre.i.i, %7 %30 = icmp ule i64 %16, %.pre9.i.i br label %"_ZN8indexmap3map4core25IndexMapCore$LT$K$C$V$GT$15reserve_entries17h7a0f376f0aeb59e1E.exit" @@ -3784,7 +3784,7 @@ define hidden void @"_ZN8indexmap3map4core25IndexMapCore$LT$K$C$V$GT$10push_entr %31 = phi i64 [ %.pre.i.i, %"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$17try_reserve_exact17h2cffd0a942e7c776E.exit.thread.i" ], [ %.pre.i.i.i, %._crit_edge.i.i.i ], [ %.pre, %"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$17try_reserve_exact17h2cffd0a942e7c776E.exit.i" ] %.sink.i = phi i1 [ %30, %"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$17try_reserve_exact17h2cffd0a942e7c776E.exit.thread.i" ], [ %22, %._crit_edge.i.i.i ], [ true, %"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$17try_reserve_exact17h2cffd0a942e7c776E.exit.i" ] tail call void @llvm.assume(i1 %.sink.i) - %.pre13 = load i64, ptr %6, align 8, !alias.scope !584, !noalias !587 + %.pre13 = load i64, ptr %6, align 8, !alias.scope !584, !noalias !587, !noundef !4 br label %32 32: ; preds = %"_ZN8indexmap3map4core25IndexMapCore$LT$K$C$V$GT$15reserve_entries17h7a0f376f0aeb59e1E.exit", %4 @@ -3804,7 +3804,7 @@ define hidden void @"_ZN8indexmap3map4core25IndexMapCore$LT$K$C$V$GT$10push_entr to label %._crit_edge.i unwind label %39, !noalias !587 ._crit_edge.i: ; preds = %38 - %.pre.i7 = load i64, ptr %6, align 8, !alias.scope !584, !noalias !587 + %.pre.i7 = load i64, ptr %6, align 8, !alias.scope !584, !noalias !587, !noundef !4 br label %43 39: ; preds = %38 @@ -5010,7 +5010,7 @@ define hidden void @_ZN9hashbrown3raw13RawTableInner13drop_elements17ha69014ad37 %.not.i.i.i = icmp eq i16 %17, -1 br i1 %.not.i.i.i, label %.lr.ph.i.i, label %._crit_edge.i.i -"_ZN91_$LT$hashbrown..raw..RawIter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17hc3bf6d5dba1f813bE.llvm.3712155024907033177.exit": ; preds = %12, %._crit_edge.i.i +"_ZN91_$LT$hashbrown..raw..RawIter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17hc3bf6d5dba1f813bE.llvm.3712155024907033177.exit": ; preds = %._crit_edge.i.i, %12 %.sroa.6.1 = phi ptr [ %19, %._crit_edge.i.i ], [ %.sroa.6.018, %12 ] %.sroa.03.1 = phi ptr [ %18, %._crit_edge.i.i ], [ %.sroa.03.019, %12 ] %.lcssa.i.i = phi i16 [ %13, %._crit_edge.i.i ], [ %.sroa.84.016, %12 ] @@ -5391,7 +5391,7 @@ _ZN9hashbrown3raw13RawTableInner20full_buckets_indices17h06ca43303e366e4dE.exit. to label %.noexc6 unwind label %69 .thread67.loopexit: ; preds = %141 - %.pre101 = load i64, ptr %7, align 8, !alias.scope !874, !noalias !875 + %.pre101 = load i64, ptr %7, align 8, !alias.scope !874, !noalias !875, !noundef !4 br label %.thread67 .thread67: ; preds = %.thread67.loopexit, %_ZN9hashbrown3raw13RawTableInner20full_buckets_indices17h06ca43303e366e4dE.exit.i @@ -5596,7 +5596,7 @@ _ZN9hashbrown3raw13RawTableInner23prepare_rehash_in_place17h2d7ad79becd9a34aE.ex br label %_ZN4core3ptr19swap_nonoverlapping17h2d46392447a93160E.exit.i _ZN4core3ptr19swap_nonoverlapping17h2d46392447a93160E.exit.loopexit.i: ; preds = %.preheader.i - %.pre.i22 = load ptr, ptr %0, align 8, !alias.scope !914 + %.pre.i22 = load ptr, ptr %0, align 8, !alias.scope !914, !nonnull !4, !noundef !4 br label %_ZN4core3ptr19swap_nonoverlapping17h2d46392447a93160E.exit.i _ZN4core3ptr19swap_nonoverlapping17h2d46392447a93160E.exit.i: ; preds = %_ZN4core3ptr19swap_nonoverlapping17h2d46392447a93160E.exit.loopexit.i, %176 @@ -5748,14 +5748,13 @@ _ZN9hashbrown3raw13RawTableInner16find_insert_slot17he8e89ab18b256145E.exit.i: ; unreachable _ZN9hashbrown3raw13RawTableInner15rehash_in_place17h782a8b650e027c37E.exit: ; preds = %258 - %.pre15.i = load i64, ptr %16, align 8, !alias.scope !905 - %.pre15.i.fr = freeze i64 %.pre15.i - %.pre16.i = add i64 %.pre15.i.fr, 1 + %.pre15.i = load i64, ptr %16, align 8, !alias.scope !905, !noundef !4 + %.pre16.i = add i64 %.pre15.i, 1 %261 = lshr i64 %.pre16.i, 3 %262 = mul nuw i64 %261, 7 - %263 = icmp ult i64 %.pre15.i.fr, 8 - %spec.select = select i1 %263, i64 %.pre15.i.fr, i64 %262 - %.pre = load i64, ptr %7, align 8, !alias.scope !905 + %263 = icmp ult i64 %.pre15.i, 8 + %spec.select = select i1 %263, i64 %.pre15.i, i64 %262 + %.pre = load i64, ptr %7, align 8, !alias.scope !905, !noundef !4 br label %_ZN9hashbrown3raw13RawTableInner15rehash_in_place17h782a8b650e027c37E.exit.thread _ZN9hashbrown3raw13RawTableInner15rehash_in_place17h782a8b650e027c37E.exit.thread: ; preds = %_ZN9hashbrown3raw13RawTableInner15rehash_in_place17h782a8b650e027c37E.exit, %_ZN9hashbrown3raw13RawTableInner23prepare_rehash_in_place17h2d7ad79becd9a34aE.exit.i diff --git a/bench/rust-analyzer-rs/optimized/4nk4vk785ylcn5k7.ll b/bench/rust-analyzer-rs/optimized/4nk4vk785ylcn5k7.ll index f4156f8e71a..104a7bb30e0 100644 --- a/bench/rust-analyzer-rs/optimized/4nk4vk785ylcn5k7.ll +++ b/bench/rust-analyzer-rs/optimized/4nk4vk785ylcn5k7.ll @@ -1542,10 +1542,7 @@ define hidden noundef zeroext i1 @"_ZN3mbe8expander7matcher98_$LT$impl$u20$mbe.. i64 2, label %37 ] -default.unreachable44: ; preds = %2 - unreachable - -default.unreachable: ; preds = %"_ZN3mbe7tt_iter15TtIter$LT$S$GT$14expect_literal17hdf5ec70607ac4d5cE.exit" +default.unreachable44: ; preds = %"_ZN3mbe7tt_iter15TtIter$LT$S$GT$14expect_literal17hdf5ec70607ac4d5cE.exit", %2 unreachable 15: ; preds = %2 @@ -1603,8 +1600,8 @@ default.unreachable: ; preds = %"_ZN3mbe7tt_iter15T br label %.thread "_ZN3mbe7tt_iter15TtIter$LT$S$GT$14expect_literal17hdf5ec70607ac4d5cE.exit": ; preds = %23, %26 - %.pr = load i32, ptr %10, align 8 - switch i32 %.pr, label %default.unreachable [ + %.pr = load i32, ptr %10, align 8, !range !44, !noundef !4 + switch i32 %.pr, label %default.unreachable44 [ i32 0, label %"_ZN3mbe7tt_iter15TtIter$LT$S$GT$14expect_literal17hdf5ec70607ac4d5cE.exit.thread35" i32 1, label %.thread i32 2, label %42 @@ -1734,8 +1731,8 @@ default.unreachable: ; preds = %"_ZN3mbe7tt_iter15T br i1 %77, label %._crit_edge, label %.thread ._crit_edge: ; preds = %95 - %.pre = load ptr, ptr %9, align 8 - %.pre43 = load ptr, ptr %13, align 8 + %.pre = load ptr, ptr %9, align 8, !nonnull !4, !noundef !4 + %.pre43 = load ptr, ptr %13, align 8, !noundef !4 br label %99 96: ; preds = %49 diff --git a/bench/smol-rs/optimized/42mrm3r913zsut0b.ll b/bench/smol-rs/optimized/42mrm3r913zsut0b.ll index 4f23a5a5244..e266f49b7f5 100644 --- a/bench/smol-rs/optimized/42mrm3r913zsut0b.ll +++ b/bench/smol-rs/optimized/42mrm3r913zsut0b.ll @@ -211,16 +211,15 @@ define hidden noundef zeroext i1 @"_ZN14event_listener21Listener$LT$T$C$B$GT$13w 20: ; preds = %"_ZN4core6result19Result$LT$T$C$E$GT$6expect17heb0e31d0d5ca1c29E.exit.i.i" %.phi.trans.insert.i.i = getelementptr inbounds nuw i8, ptr %.0.i.i8, i64 16 - %.pre.i.i = load ptr, ptr %.phi.trans.insert.i.i, align 8, !noalias !44 - %.pre.fr.i.i = freeze ptr %.pre.i.i - %21 = icmp eq ptr %.pre.fr.i.i, null - %.sroa.01.0.i.i = zext i1 %21 to i64 - %spec.select.i.i = select i1 %21, i64 24, i64 16 + %.pre.i.i = load ptr, ptr %.phi.trans.insert.i.i, align 8, !noalias !44, !noundef !4 + %21 = icmp eq ptr %.pre.i.i, null + %spec.select.i.i = zext i1 %21 to i64 + %spec.select7.i.i = select i1 %21, i64 24, i64 16 br label %22 22: ; preds = %20, %.thread.i.i - %.sroa.01.06.i.i = phi i64 [ 1, %.thread.i.i ], [ %.sroa.01.0.i.i, %20 ] - %23 = phi i64 [ 24, %.thread.i.i ], [ %spec.select.i.i, %20 ] + %.sroa.01.06.i.i = phi i64 [ 1, %.thread.i.i ], [ %spec.select.i.i, %20 ] + %23 = phi i64 [ 24, %.thread.i.i ], [ %spec.select7.i.i, %20 ] %.sroa.5.0.i.i = getelementptr inbounds nuw i8, ptr %.0.i.i8, i64 %23 %24 = invoke fastcc noundef zeroext i1 @"_ZN14event_listener21Listener$LT$T$C$B$GT$16wait_with_parker17hbf7079b0ab711b82E"(ptr noundef nonnull align 8 %0, i64 %1, i32 noundef %2, ptr noalias noundef readonly align 8 dereferenceable(8) %13, i64 noundef %.sroa.01.06.i.i, ptr noundef %.sroa.5.0.i.i) to label %"_ZN3std6thread5local17LocalKey$LT$T$GT$8try_with17hae1e727f446d3916E.llvm.6090777742988092048.exit" unwind label %25, !noalias !44 @@ -655,7 +654,7 @@ define hidden void @"_ZN14event_listener22EventListener$LT$T$GT$6listen17h38504a .noexc: ; preds = %60, %50, %55, %46, %43 call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %6) - %.pr = load ptr, ptr %30, align 8, !alias.scope !151 + %.pr = load ptr, ptr %30, align 8, !alias.scope !151, !noundef !4 %35 = load ptr, ptr %7, align 8, !nonnull !4, !noundef !4 call void @llvm.experimental.noalias.scope.decl(metadata !156) call void @llvm.experimental.noalias.scope.decl(metadata !157) @@ -774,7 +773,7 @@ _ZN3std3sys4unix5locks11futex_mutex5Mutex4lock17h2824c483f8557e8fE.llvm.60907777 to label %._crit_edge unwind label %.body.i ._crit_edge: ; preds = %82 - %.pre = load ptr, ptr %73, align 8 + %.pre = load ptr, ptr %73, align 8, !nonnull !4, !align !33, !noundef !4 br label %85 .body.i: ; preds = %82 @@ -807,7 +806,7 @@ _ZN3std3sys4unix5locks11futex_mutex5Mutex4lock17h2824c483f8557e8fE.llvm.60907777 90: ; preds = %85 %91 = getelementptr inbounds nuw i8, ptr %86, i64 8 store ptr %.sroa.542.0..sroa_idx43.i, ptr %91, align 8 - %.pre.i = load ptr, ptr %73, align 8 + %.pre.i = load ptr, ptr %73, align 8, !nonnull !4, !align !33, !noundef !4 br label %94 92: ; preds = %85 @@ -1684,16 +1683,15 @@ define hidden noundef range(i8 0, 3) i8 @"_ZN3std6thread5local17LocalKey$LT$T$GT 20: ; preds = %"_ZN4core6result19Result$LT$T$C$E$GT$6expect17heb0e31d0d5ca1c29E.exit.i" %.phi.trans.insert.i = getelementptr inbounds nuw i8, ptr %6, i64 16 - %.pre.i = load ptr, ptr %.phi.trans.insert.i, align 8 - %.pre.fr.i = freeze ptr %.pre.i - %21 = icmp eq ptr %.pre.fr.i, null - %.sroa.01.0.i = zext i1 %21 to i64 - %spec.select.i = select i1 %21, i64 24, i64 16 + %.pre.i = load ptr, ptr %.phi.trans.insert.i, align 8, !noundef !4 + %21 = icmp eq ptr %.pre.i, null + %spec.select.i = zext i1 %21 to i64 + %spec.select7.i = select i1 %21, i64 24, i64 16 br label %22 22: ; preds = %20, %.thread.i - %.sroa.01.06.i = phi i64 [ 1, %.thread.i ], [ %.sroa.01.0.i, %20 ] - %23 = phi i64 [ 24, %.thread.i ], [ %spec.select.i, %20 ] + %.sroa.01.06.i = phi i64 [ 1, %.thread.i ], [ %spec.select.i, %20 ] + %23 = phi i64 [ 24, %.thread.i ], [ %spec.select7.i, %20 ] %.sroa.5.0.i = getelementptr inbounds nuw i8, ptr %6, i64 %23 %24 = invoke fastcc noundef zeroext i1 @"_ZN14event_listener21Listener$LT$T$C$B$GT$16wait_with_parker17hbf7079b0ab711b82E"(ptr noundef nonnull align 8 %1, i64 %.val, i32 noundef %.val10, ptr noalias noundef readonly align 8 dereferenceable(8) %13, i64 noundef %.sroa.01.06.i, ptr noundef %.sroa.5.0.i) to label %"_ZN14event_listener21Listener$LT$T$C$B$GT$13wait_internal28_$u7b$$u7b$closure$u7d$$u7d$17h68dc7187a6a1a617E.exit" unwind label %25 diff --git a/bench/syn/optimized/ofvfd67uyaewjlc.ll b/bench/syn/optimized/ofvfd67uyaewjlc.ll index 0a30921ea38..72f2fabf845 100644 --- a/bench/syn/optimized/ofvfd67uyaewjlc.ll +++ b/bench/syn/optimized/ofvfd67uyaewjlc.ll @@ -1867,7 +1867,7 @@ define hidden void @"_ZN5alloc3vec16Vec$LT$T$C$A$GT$4push17h9c777569984e97c6E.ll to label %._crit_edge unwind label %15 ._crit_edge: ; preds = %7 - %.pre = load i64, ptr %3, align 8 + %.pre = load i64, ptr %3, align 8, !noundef !9 br label %8 8: ; preds = %._crit_edge, %2 @@ -1910,7 +1910,7 @@ define hidden void @"_ZN5alloc3vec16Vec$LT$T$C$A$GT$4push17hda47dacd8d7b1d66E.ll to label %._crit_edge unwind label %15 ._crit_edge: ; preds = %7 - %.pre = load i64, ptr %3, align 8 + %.pre = load i64, ptr %3, align 8, !noundef !9 br label %8 8: ; preds = %._crit_edge, %2 @@ -2925,7 +2925,7 @@ common.resume: ; preds = %.body16, %39 to label %._crit_edge.i unwind label %53, !noalias !563 ._crit_edge.i: ; preds = %52 - %.pre.i = load i64, ptr %15, align 8, !alias.scope !560, !noalias !563 + %.pre.i = load i64, ptr %15, align 8, !alias.scope !560, !noalias !563, !noundef !9 br label %86 53: ; preds = %52 @@ -2955,7 +2955,7 @@ common.resume: ; preds = %.body16, %39 to label %._crit_edge.i14 unwind label %62, !noalias !568 ._crit_edge.i14: ; preds = %61 - %.pre.i15 = load i64, ptr %15, align 8, !alias.scope !565, !noalias !568 + %.pre.i15 = load i64, ptr %15, align 8, !alias.scope !565, !noalias !568, !noundef !9 br label %122 62: ; preds = %61 @@ -2984,7 +2984,7 @@ common.resume: ; preds = %.body16, %39 to label %._crit_edge.i19 unwind label %71, !noalias !573 ._crit_edge.i19: ; preds = %70 - %.pre.i20 = load i64, ptr %15, align 8, !alias.scope !570, !noalias !573 + %.pre.i20 = load i64, ptr %15, align 8, !alias.scope !570, !noalias !573, !noundef !9 br label %128 71: ; preds = %70 @@ -3013,7 +3013,7 @@ common.resume: ; preds = %.body16, %39 to label %._crit_edge.i24 unwind label %80, !noalias !578 ._crit_edge.i24: ; preds = %79 - %.pre.i25 = load i64, ptr %15, align 8, !alias.scope !575, !noalias !578 + %.pre.i25 = load i64, ptr %15, align 8, !alias.scope !575, !noalias !578, !noundef !9 br label %134 80: ; preds = %79 @@ -3066,7 +3066,7 @@ common.resume: ; preds = %.body16, %39 to label %._crit_edge.i29 unwind label %99, !noalias !583 ._crit_edge.i29: ; preds = %98 - %.pre.i30 = load i64, ptr %15, align 8, !alias.scope !580, !noalias !583 + %.pre.i30 = load i64, ptr %15, align 8, !alias.scope !580, !noalias !583, !noundef !9 br label %103 99: ; preds = %98 @@ -3233,7 +3233,7 @@ define { ptr, i64 } @_ZN3syn6buffer11TokenBuffer4new217h48194ea9d898e805E(ptr no to label %._crit_edge.i unwind label %16, !noalias !589 ._crit_edge.i: ; preds = %15 - %.pre.i = load i64, ptr %7, align 8, !alias.scope !586, !noalias !589 + %.pre.i = load i64, ptr %7, align 8, !alias.scope !586, !noalias !589, !noundef !9 br label %20 16: ; preds = %15 @@ -3430,7 +3430,7 @@ _ZN3syn6buffer6Cursor17bump_ignore_group17h7d42b7a38641a99cE.llvm.12718342354948 _ZN3syn6buffer6Cursor11ignore_none17h8ff9d6e421d536b3E.llvm.1271834235494842624.exit: ; preds = %_ZN3syn6buffer6Cursor17bump_ignore_group17h7d42b7a38641a99cE.llvm.1271834235494842624.exit.i, %.lr.ph.i, %4 %.sroa.0.0.ph = phi ptr [ %1, %4 ], [ %.0.i.i.i, %_ZN3syn6buffer6Cursor17bump_ignore_group17h7d42b7a38641a99cE.llvm.1271834235494842624.exit.i ], [ %.sroa.0.1, %.lr.ph.i ] - %.pr = load i32, ptr %.sroa.0.0.ph, align 8 + %.pr = load i32, ptr %.sroa.0.0.ph, align 8, !range !233, !noundef !9 %16 = icmp eq i32 %.pr, 0 br i1 %16, label %17, label %_ZN3syn6buffer6Cursor11ignore_none17h8ff9d6e421d536b3E.llvm.1271834235494842624.exit.thread @@ -3658,7 +3658,7 @@ define void @_ZN3syn6buffer6Cursor5ident17he943c8405b28ecffE(ptr noalias noundef br i1 %8, label %.preheader.i, label %.lr.ph.i._ZN3syn6buffer6Cursor11ignore_none17h8ff9d6e421d536b3E.llvm.1271834235494842624.exitthread-pre-split_crit_edge .lr.ph.i._ZN3syn6buffer6Cursor11ignore_none17h8ff9d6e421d536b3E.llvm.1271834235494842624.exitthread-pre-split_crit_edge: ; preds = %.lr.ph.i - %.pr.pre = load i32, ptr %.sroa.03.0, align 8 + %.pr.pre = load i32, ptr %.sroa.03.0, align 8, !range !233, !noundef !9 br label %_ZN3syn6buffer6Cursor11ignore_none17h8ff9d6e421d536b3E.llvm.1271834235494842624.exit .preheader.i: ; preds = %.lr.ph.i, %.preheader.i @@ -3770,7 +3770,7 @@ define void @_ZN3syn6buffer6Cursor5punct17h6386474329364b2bE(ptr noalias noundef br i1 %8, label %.preheader.i, label %.lr.ph.i._ZN3syn6buffer6Cursor11ignore_none17h8ff9d6e421d536b3E.llvm.1271834235494842624.exitthread-pre-split_crit_edge .lr.ph.i._ZN3syn6buffer6Cursor11ignore_none17h8ff9d6e421d536b3E.llvm.1271834235494842624.exitthread-pre-split_crit_edge: ; preds = %.lr.ph.i - %.pr.pre = load i32, ptr %.sroa.0.0, align 8 + %.pr.pre = load i32, ptr %.sroa.0.0, align 8, !range !233, !noundef !9 br label %_ZN3syn6buffer6Cursor11ignore_none17h8ff9d6e421d536b3E.llvm.1271834235494842624.exit .preheader.i: ; preds = %.lr.ph.i, %.preheader.i @@ -3849,7 +3849,7 @@ define void @_ZN3syn6buffer6Cursor7literal17h56201320c761e7bfE(ptr noalias nound br i1 %8, label %.preheader.i, label %.lr.ph.i._ZN3syn6buffer6Cursor11ignore_none17h8ff9d6e421d536b3E.llvm.1271834235494842624.exitthread-pre-split_crit_edge .lr.ph.i._ZN3syn6buffer6Cursor11ignore_none17h8ff9d6e421d536b3E.llvm.1271834235494842624.exitthread-pre-split_crit_edge: ; preds = %.lr.ph.i - %.pr.pre = load i32, ptr %.sroa.03.0, align 8 + %.pr.pre = load i32, ptr %.sroa.03.0, align 8, !range !233, !noundef !9 br label %_ZN3syn6buffer6Cursor11ignore_none17h8ff9d6e421d536b3E.llvm.1271834235494842624.exit .preheader.i: ; preds = %.lr.ph.i, %.preheader.i @@ -3973,7 +3973,7 @@ define void @_ZN3syn6buffer6Cursor8lifetime17h948d1028d054f195E(ptr noalias noun br i1 %8, label %.preheader.i, label %.lr.ph.i._ZN3syn6buffer6Cursor11ignore_none17h8ff9d6e421d536b3E.llvm.1271834235494842624.exitthread-pre-split_crit_edge .lr.ph.i._ZN3syn6buffer6Cursor11ignore_none17h8ff9d6e421d536b3E.llvm.1271834235494842624.exitthread-pre-split_crit_edge: ; preds = %.lr.ph.i - %.pr.pre = load i32, ptr %.sroa.0.025, align 8 + %.pr.pre = load i32, ptr %.sroa.0.025, align 8, !range !233, !noundef !9 br label %_ZN3syn6buffer6Cursor11ignore_none17h8ff9d6e421d536b3E.llvm.1271834235494842624.exit .preheader.i: ; preds = %.lr.ph.i, %.preheader.i @@ -4032,7 +4032,7 @@ _ZN3syn6buffer6Cursor17bump_ignore_group17h7d42b7a38641a99cE.llvm.12718342354948 br i1 %30, label %.preheader.i.i, label %.lr.ph.i._ZN3syn6buffer6Cursor11ignore_none17h8ff9d6e421d536b3E.llvm.1271834235494842624.exitthread-pre-split_crit_edge.i .lr.ph.i._ZN3syn6buffer6Cursor11ignore_none17h8ff9d6e421d536b3E.llvm.1271834235494842624.exitthread-pre-split_crit_edge.i: ; preds = %.lr.ph.i.i - %.pr.pre.i = load i32, ptr %.sroa.03.0.i, align 8, !noalias !669 + %.pr.pre.i = load i32, ptr %.sroa.03.0.i, align 8, !range !233, !noalias !669, !noundef !9 br label %_ZN3syn6buffer6Cursor11ignore_none17h8ff9d6e421d536b3E.llvm.1271834235494842624.exit.i .preheader.i.i: ; preds = %.lr.ph.i.i, %.preheader.i.i @@ -4186,7 +4186,7 @@ define void @_ZN3syn6buffer6Cursor12token_stream17h9818ff55ed48daccE(ptr noalias to label %._crit_edge.i unwind label %23, !noalias !691 ._crit_edge.i: ; preds = %22 - %.pre.i = load i64, ptr %10, align 8, !alias.scope !688, !noalias !691 + %.pre.i = load i64, ptr %10, align 8, !alias.scope !688, !noalias !691, !noundef !9 br label %27 23: ; preds = %22 @@ -4606,13 +4606,13 @@ _ZN3syn6buffer15start_of_buffer17h3566870b5d6554ddE.llvm.1271834235494842624.exi br i1 %13, label %.outer, label %14 thread-pre-split: ; preds = %_ZN3syn6buffer15start_of_buffer17h3566870b5d6554ddE.llvm.1271834235494842624.exit - %.pr = load i32, ptr %0, align 8 + %.pr = load i32, ptr %0, align 8, !range !233, !noundef !9 br label %14 14: ; preds = %thread-pre-split, %10 %15 = phi i32 [ %.pr, %thread-pre-split ], [ %12, %10 ] %.sroa.0.0 = phi ptr [ %0, %thread-pre-split ], [ %11, %10 ] - switch i32 %15, label %default.unreachable10.i [ + switch i32 %15, label %default.unreachable27 [ i32 0, label %16 i32 1, label %21 i32 2, label %27 @@ -4620,7 +4620,7 @@ thread-pre-split: ; preds = %_ZN3syn6buffer15sta i32 4, label %36 ] -default.unreachable10.i: ; preds = %14 +default.unreachable10.i: ; preds = %.backedge, %14 unreachable 16: ; preds = %14 @@ -4674,9 +4674,6 @@ default.unreachable10.i: ; preds = %14 .backedge.backedge: ; preds = %.backedge, %.backedge, %.backedge br label %.backedge -default.unreachable27: ; preds = %.backedge - unreachable - 40: ; preds = %.backedge %41 = add i32 %.016.ph, -1 %42 = icmp eq i32 %41, 0 @@ -5439,7 +5436,7 @@ _ZN3syn5parse11ParseBuffer5peek25peek217hd80a33a144a24c12E.exit.thread: ; preds %31 = load ptr, ptr %1, align 8, !noundef !9 %32 = load ptr, ptr %24, align 8, !noundef !9 call void @llvm.lifetime.start.p0(i64 12, ptr nonnull %4) - %.pr.i.i = load i32, ptr %31, align 8, !noalias !865 + %.pr.i.i = load i32, ptr %31, align 8, !range !233, !noalias !865, !noundef !9 %33 = icmp eq i32 %.pr.i.i, 0 br i1 %33, label %34, label %_ZN3syn6buffer6Cursor5group17hf49abe5099716ab9E.exit.thread.i @@ -5646,7 +5643,7 @@ _ZN3syn6buffer6Cursor17bump_ignore_group17h7d42b7a38641a99cE.llvm.12718342354948 br i1 %119, label %.lr.ph.i.i.i.i, label %.loopexit _ZN3syn6buffer6Cursor11ignore_none17h8ff9d6e421d536b3E.llvm.1271834235494842624.exit.i.i.i: ; preds = %.lr.ph.i.i.i.i - %.pr.i.i.pre.i = load i32, ptr %.sroa.0.1.i.i.i, align 8, !noalias !880 + %.pr.i.i.pre.i = load i32, ptr %.sroa.0.1.i.i.i, align 8, !range !233, !noalias !880, !noundef !9 %120 = icmp eq i32 %.pr.i.i.pre.i, 0 br i1 %120, label %121, label %.loopexit @@ -5748,12 +5745,12 @@ _ZN3syn6buffer6Cursor6create17h6f60e92346255650E.llvm.1271834235494842624.exit.i %.0 = phi i1 [ false, %282 ], [ true, %.invoke ] %151 = landingpad { ptr, i32 } cleanup - %.pr = load i64, ptr %20, align 8 + %.pr = load i64, ptr %20, align 8, !range !148, !noundef !9 %152 = icmp eq i64 %.pr, 10 br i1 %152, label %307, label %308 .thread: ; preds = %306 - %.pr206 = load i64, ptr %20, align 8 + %.pr206 = load i64, ptr %20, align 8, !range !148, !noundef !9 %153 = icmp eq i64 %.pr206, 10 br i1 %153, label %.thread210, label %308 @@ -6977,7 +6974,7 @@ define hidden void @"_ZN3syn4path7parsing40_$LT$impl$u20$syn..path..PathSegment$ to label %.thread78 unwind label %91 80: ; preds = %62 - %.pr = load i64, ptr %5, align 8 + %.pr = load i64, ptr %5, align 8, !range !247, !noundef !9 call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %.sroa.7.i) %81 = icmp eq i64 %.pr, -9223372036854775808 br i1 %81, label %83, label %82 @@ -7894,7 +7891,7 @@ define void @"_ZN3syn4path8printing83_$LT$impl$u20$quote..to_tokens..ToTokens$u2 "_ZN94_$LT$syn..punctuated..Pairs$LT$T$C$P$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17he730bea79b5c8608E.exit.i": ; preds = %45 call void @llvm.experimental.noalias.scope.decl(metadata !1145) call void @"_ZN94_$LT$syn..punctuated..Pairs$LT$T$C$P$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next28_$u7b$$u7b$closure$u7d$$u7d$17h0bd7fbea79f4e4bfE.llvm.14145919710250835280"(ptr noalias noundef nonnull sret({ i64, [2 x i64] }) align 8 captures(none) dereferenceable(24) %4, ptr noalias noundef nonnull align 8 dereferenceable(8) %44), !noalias !1146 - %.pre.i = load i64, ptr %4, align 8, !range !545, !noalias !1130 + %.pre.i = load i64, ptr %4, align 8, !range !545, !noalias !1130, !noundef !9 %49 = trunc nuw i64 %.pre.i to i1 br i1 %49, label %50, label %"_ZN71_$LT$proc_macro2..TokenStream$u20$as$u20$quote..ext..TokenStreamExt$GT$10append_all17hfd1bf7c2b1aab611E.exit" @@ -8244,7 +8241,7 @@ define void @"_ZN3syn4path8printing78_$LT$impl$u20$quote..to_tokens..ToTokens$u2 "_ZN94_$LT$syn..punctuated..Pairs$LT$T$C$P$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17he730bea79b5c8608E.exit.i": ; preds = %12 call void @llvm.experimental.noalias.scope.decl(metadata !1231) call void @"_ZN94_$LT$syn..punctuated..Pairs$LT$T$C$P$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next28_$u7b$$u7b$closure$u7d$$u7d$17h0bd7fbea79f4e4bfE.llvm.14145919710250835280"(ptr noalias noundef nonnull sret({ i64, [2 x i64] }) align 8 captures(none) dereferenceable(24) %4, ptr noalias noundef nonnull align 8 dereferenceable(8) %11), !noalias !1232 - %.pre.i = load i64, ptr %4, align 8, !range !545, !noalias !1216 + %.pre.i = load i64, ptr %4, align 8, !range !545, !noalias !1216, !noundef !9 %16 = trunc nuw i64 %.pre.i to i1 br i1 %16, label %17, label %"_ZN71_$LT$proc_macro2..TokenStream$u20$as$u20$quote..ext..TokenStreamExt$GT$10append_all17hfd1bf7c2b1aab611E.exit" diff --git a/bench/tokenizers-rs/optimized/2d3ht47jz0iets91.ll b/bench/tokenizers-rs/optimized/2d3ht47jz0iets91.ll index cda5c0ef77e..8044320d731 100644 --- a/bench/tokenizers-rs/optimized/2d3ht47jz0iets91.ll +++ b/bench/tokenizers-rs/optimized/2d3ht47jz0iets91.ll @@ -1924,8 +1924,8 @@ define hidden void @"_ZN106_$LT$core..iter..adapters..chain..Chain$LT$A$C$B$GT$$ %.sroa.6.0.copyload = load ptr, ptr %.sroa.6.0..sroa_idx, align 8 tail call void @llvm.experimental.noalias.scope.decl(metadata !315) %21 = getelementptr inbounds nuw i8, ptr %3, i64 8 - %.pre.i = load ptr, ptr %21, align 8, !alias.scope !318, !noalias !323 - %.pre6.i = load ptr, ptr %3, align 8, !alias.scope !318, !noalias !323 + %.pre.i = load ptr, ptr %21, align 8, !alias.scope !318, !noalias !323, !nonnull !4, !noundef !4 + %.pre6.i = load ptr, ptr %3, align 8, !alias.scope !318, !noalias !323, !nonnull !4, !noundef !4 %.not.not.i19 = icmp eq ptr %.pre6.i, %.pre.i br i1 %.not.not.i19, label %._crit_edge, label %.lr.ph @@ -2123,7 +2123,7 @@ _ZN10tokenizers9tokenizer16added_vocabulary15AddedVocabulary11token_to_id17h4202 79: ; preds = %75 tail call void @"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$16reserve_for_push17h50f025074ab5fcaaE"(ptr noalias noundef nonnull align 8 dereferenceable(24) %.sroa.4.0.copyload, i64 noundef %76), !noalias !396 - %.pre.i.i.i.i.i = load i64, ptr %50, align 8, !alias.scope !391, !noalias !396 + %.pre.i.i.i.i.i = load i64, ptr %50, align 8, !alias.scope !391, !noalias !396, !noundef !4 br label %"_ZN93_$LT$alloc..vec..Vec$LT$T$C$A$GT$$u20$as$u20$core..iter..traits..collect..Extend$LT$T$GT$$GT$10extend_one17h86624d631f64afc6E.exit.i.i.i" "_ZN93_$LT$alloc..vec..Vec$LT$T$C$A$GT$$u20$as$u20$core..iter..traits..collect..Extend$LT$T$GT$$GT$10extend_one17h86624d631f64afc6E.exit.i.i.i": ; preds = %79, %75 @@ -2147,7 +2147,7 @@ _ZN10tokenizers9tokenizer16added_vocabulary15AddedVocabulary11token_to_id17h4202 90: ; preds = %86 tail call void @"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$16reserve_for_push17h50f025074ab5fcaaE"(ptr noalias noundef nonnull align 8 dereferenceable(24) %.sroa.0.0.copyload, i64 noundef %87), !noalias !405 - %.pre.i.i1.i.i.i = load i64, ptr %53, align 8, !alias.scope !400, !noalias !405 + %.pre.i.i1.i.i.i = load i64, ptr %53, align 8, !alias.scope !400, !noalias !405, !noundef !4 br label %"_ZN93_$LT$alloc..vec..Vec$LT$T$C$A$GT$$u20$as$u20$core..iter..traits..collect..Extend$LT$T$GT$$GT$10extend_one17h86624d631f64afc6E.exit2.i.i.i" "_ZN93_$LT$alloc..vec..Vec$LT$T$C$A$GT$$u20$as$u20$core..iter..traits..collect..Extend$LT$T$GT$$GT$10extend_one17h86624d631f64afc6E.exit2.i.i.i": ; preds = %90, %86 @@ -2410,7 +2410,7 @@ define hidden void @"_ZN106_$LT$core..iter..adapters..chain..Chain$LT$A$C$B$GT$$ 23: ; preds = %14 call void @"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$7reserve21do_reserve_and_handle17h3d42496efa1a3b92E"(ptr noalias noundef nonnull align 8 dereferenceable(24) %12, i64 noundef %19, i64 noundef %17), !noalias !492 - %.pre.i.i.i.i.i.i.i.i.us.i = load i64, ptr %18, align 8, !alias.scope !494, !noalias !492 + %.pre.i.i.i.i.i.i.i.i.us.i = load i64, ptr %18, align 8, !alias.scope !494, !noalias !492, !noundef !4 br label %"_ZN5alloc3vec16Vec$LT$T$C$A$GT$17extend_from_slice17hc86f26a63352a154E.exit.i.i.i.i.i.us.i" "_ZN5alloc3vec16Vec$LT$T$C$A$GT$17extend_from_slice17hc86f26a63352a154E.exit.i.i.i.i.i.us.i": ; preds = %23, %14 @@ -2950,7 +2950,7 @@ _ZN5alloc3fmt6format17hbad01b9ef6c5aaf7E.llvm.14140520316429159617.exit.i.i.i: ; call void @_ZN3log13__private_api8log_impl17h2245a6bd11cda4e1E(ptr noalias noundef nonnull align 8 captures(none) dereferenceable(48) %14, i64 noundef 5, ptr noalias noundef readonly align 8 dereferenceable(48) @anon.6e929131f0dd62016d572efc3b163756.196, i32 noundef 397, ptr noalias noundef readonly align 8 null, i64 undef), !noalias !509 call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %14), !noalias !509 call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %13), !noalias !509 - %.pre163.i.i.i = load i64, ptr %15, align 8, !noalias !509 + %.pre163.i.i.i = load i64, ptr %15, align 8, !noalias !509, !noundef !4 br label %206 206: ; preds = %205, %.loopexit.i.i.i @@ -2985,7 +2985,7 @@ _ZN5alloc3fmt6format17hbad01b9ef6c5aaf7E.llvm.14140520316429159617.exit.i.i.i: ; %216 = icmp ult i64 %215, 6 call void @llvm.assume(i1 %216) %switch98.i.i.i = icmp samesign ult i64 %215, 5 - %.pre165.i.i.i = load i32, ptr %29, align 4, !range !467, !noalias !509 + %.pre165.i.i.i = load i32, ptr %29, align 4, !range !467, !noalias !509, !noundef !4 br i1 %switch98.i.i.i, label %224, label %217 217: ; preds = %214 @@ -3020,7 +3020,7 @@ _ZN5alloc3fmt6format17hbad01b9ef6c5aaf7E.llvm.14140520316429159617.exit.i.i.i: ; call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %10), !noalias !509 call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %8), !noalias !509 call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %9), !noalias !509 - %.pre164.i.i.i = load i32, ptr %29, align 4, !range !467, !noalias !509 + %.pre164.i.i.i = load i32, ptr %29, align 4, !range !467, !noalias !509, !noundef !4 br label %224 224: ; preds = %223, %214 @@ -4260,7 +4260,7 @@ define hidden void @"_ZN111_$LT$core..iter..adapters..zip..Zip$LT$A$C$B$GT$$u20$ call void @_ZN3std3sys4sync4once5futex4Once4call17h464ac1e4521a4249E(ptr noundef nonnull align 4 getelementptr inbounds nuw (i8, ptr @"_ZN94_$LT$tokenizers..pre_tokenizers..byte_level..BYTES_CHAR$u20$as$u20$core..ops..deref..Deref$GT$5deref11__stability4LAZY17h10d61790a19ecd81E.llvm.14160285242575610615", i64 48), i1 noundef zeroext false, ptr noalias noundef nonnull align 8 dereferenceable(8) %13, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.bc29ea270c7cb723c25a24faa4c0614a.12.llvm.14160285242575610615), !noalias !1004 call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %13), !noalias !1005 call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %14), !noalias !1005 - %.pre.i.i.i.i.i.i.i.i.i = load ptr, ptr %15, align 8, !noalias !1004 + %.pre.i.i.i.i.i.i.i.i.i = load ptr, ptr %15, align 8, !noalias !1004, !nonnull !4, !align !17, !noundef !4 br label %"_ZN94_$LT$tokenizers..pre_tokenizers..byte_level..BYTES_CHAR$u20$as$u20$core..ops..deref..Deref$GT$5deref17h5bf9f0a58c1c6862E.exit.i.i.i.i.i.i.i.i" "_ZN94_$LT$tokenizers..pre_tokenizers..byte_level..BYTES_CHAR$u20$as$u20$core..ops..deref..Deref$GT$5deref17h5bf9f0a58c1c6862E.exit.i.i.i.i.i.i.i.i": ; preds = %82, %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17hf8c5eef63cfad1b8E.exit.thread.i.i.i.i.i.i" @@ -4530,7 +4530,7 @@ select.unfold: ; preds = %"_ZN94_$LT$tokenize call void @_ZN3std3sys4sync4once5futex4Once4call17h464ac1e4521a4249E(ptr noundef nonnull align 4 getelementptr inbounds nuw (i8, ptr @"_ZN94_$LT$tokenizers..pre_tokenizers..byte_level..BYTES_CHAR$u20$as$u20$core..ops..deref..Deref$GT$5deref11__stability4LAZY17h10d61790a19ecd81E.llvm.14160285242575610615", i64 48), i1 noundef zeroext false, ptr noalias noundef nonnull align 8 dereferenceable(8) %10, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.bc29ea270c7cb723c25a24faa4c0614a.12.llvm.14160285242575610615), !noalias !1083 call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %10), !noalias !1084 call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %11), !noalias !1084 - %.pre.i.i.i.i.i.i.i.i.i.i = load ptr, ptr %12, align 8, !noalias !1083 + %.pre.i.i.i.i.i.i.i.i.i.i = load ptr, ptr %12, align 8, !noalias !1083, !nonnull !4, !align !17, !noundef !4 br label %"_ZN94_$LT$tokenizers..pre_tokenizers..byte_level..BYTES_CHAR$u20$as$u20$core..ops..deref..Deref$GT$5deref17h5bf9f0a58c1c6862E.exit.i.i.i.i.i.i.i.i.i" "_ZN94_$LT$tokenizers..pre_tokenizers..byte_level..BYTES_CHAR$u20$as$u20$core..ops..deref..Deref$GT$5deref17h5bf9f0a58c1c6862E.exit.i.i.i.i.i.i.i.i.i": ; preds = %211, %206 @@ -4728,9 +4728,9 @@ select.unfold40: ; preds = %"_ZN94_$LT$tokenize 299: ; preds = %298 %300 = icmp eq i64 %.sroa.2.049, 0 - %.pre5.pre.i.i.i = load i64, ptr %34, align 8, !alias.scope !981, !noalias !1147 + %.pre5.pre.i.i.i = load i64, ptr %34, align 8, !alias.scope !981, !noalias !1147, !noundef !4 %301 = icmp eq i64 %.pre5.pre.i.i.i, 0 - %or.cond.i.i.i = select i1 %300, i1 true, i1 %301 + %or.cond.i.i.i = or i1 %300, %301 %302 = icmp eq i64 %.0.i.i.ph.i.i.i, 1 %or.cond2.i.i.i = and i1 %302, %29 %303 = select i1 %or.cond.i.i.i, i1 %or.cond2.i.i.i, i1 false @@ -4747,7 +4747,7 @@ select.unfold40: ; preds = %"_ZN94_$LT$tokenize ._crit_edge.i.i: ; preds = %307 %.phi.trans.insert.i.i = getelementptr inbounds nuw i8, ptr %34, i64 8 - %.pre.i.i = load i64, ptr %.phi.trans.insert.i.i, align 8, !alias.scope !981, !noalias !1147 + %.pre.i.i = load i64, ptr %.phi.trans.insert.i.i, align 8, !alias.scope !981, !noalias !1147, !noundef !4 br label %308 308: ; preds = %299, %._crit_edge.i.i @@ -8844,7 +8844,7 @@ define hidden void @_ZN4core4iter6traits8iterator8Iterator8try_fold17hb12b797677 ._crit_edge13: ; preds = %2 %.phi.trans.insert = getelementptr inbounds nuw i8, ptr %1, i64 8 - %.val4.pre = load i64, ptr %.phi.trans.insert, align 8 + %.val4.pre = load i64, ptr %.phi.trans.insert, align 8, !noundef !4 br label %15 .lr.ph: ; preds = %2 @@ -9529,7 +9529,7 @@ _ZN4core3ops8function6FnOnce9call_once17h04e312a3d499d39dE.exit: ; preds = %"_ZN store i64 %.sroa.0.0.copyload1.i.i, ptr %3, align 8, !noalias !2116 call void @"_ZN10tokenizers9tokenizer13pre_tokenizer18PreTokenizedString13into_encoding28_$u7b$$u7b$closure$u7d$$u7d$28_$u7b$$u7b$closure$u7d$$u7d$17h6d6b2915095460cbE.llvm.14172520758739148588"(ptr noalias noundef nonnull sret([56 x i8]) align 8 captures(none) dereferenceable(56) %4, ptr noalias noundef nonnull align 8 dereferenceable(160) %1, ptr noalias noundef nonnull align 8 captures(none) dereferenceable(48) %3), !noalias !4 call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %3), !noalias !2115 - %.pr = load i64, ptr %4, align 8 + %.pr = load i64, ptr %4, align 8, !range !228, !noundef !4 %16 = icmp eq i64 %.pr, -9223372036854775808 br i1 %16, label %18, label %26 @@ -9538,7 +9538,7 @@ _ZN4core3ops8function6FnOnce9call_once17h04e312a3d499d39dE.exit: ; preds = %"_ZN ret void 18: ; preds = %_ZN4core3ops8function6FnOnce9call_once17h04e312a3d499d39dE.exit - %.pre = load i64, ptr %1, align 8, !range !228, !alias.scope !2120 + %.pre = load i64, ptr %1, align 8, !range !228, !alias.scope !2120, !noundef !4 %19 = icmp eq i64 %.pre, -9223372036854775808 call void @llvm.lifetime.start.p0(i64 152, ptr nonnull %.sroa.5) br i1 %19, label %"_ZN4core3ptr286drop_in_place$LT$core..option..Option$LT$core..iter..adapters..map..Map$LT$alloc..vec..into_iter..IntoIter$LT$tokenizers..tokenizer..Token$GT$$C$tokenizers..tokenizer..pre_tokenizer..PreTokenizedString..into_encoding..$u7b$$u7b$closure$u7d$$u7d$..$u7b$$u7b$closure$u7d$$u7d$$GT$$GT$$GT$17hf8c7331bb0b5a585E.exit", label %20 @@ -9904,7 +9904,7 @@ define hidden noundef zeroext i1 @"_ZN58_$LT$alloc..string..String$u20$as$u20$co 9: ; preds = %3 tail call void @"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$7reserve21do_reserve_and_handle17h3d42496efa1a3b92E"(ptr noalias noundef nonnull align 8 dereferenceable(24) %0, i64 noundef %5, i64 noundef %2), !noalias !2160 - %.pre.i.i.i = load i64, ptr %4, align 8, !alias.scope !2162, !noalias !2160 + %.pre.i.i.i = load i64, ptr %4, align 8, !alias.scope !2162, !noalias !2160, !noundef !4 br label %"_ZN5alloc3vec16Vec$LT$T$C$A$GT$17extend_from_slice17hc86f26a63352a154E.exit" "_ZN5alloc3vec16Vec$LT$T$C$A$GT$17extend_from_slice17hc86f26a63352a154E.exit": ; preds = %3, %9 @@ -10106,7 +10106,7 @@ define hidden void @"_ZN5alloc3vec16Vec$LT$T$C$A$GT$4push17h15f9494446eed12bE.ll 7: ; preds = %2 tail call void @"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$16reserve_for_push17hbee4d99151bee325E"(ptr noalias noundef nonnull align 8 dereferenceable(16) %0, i64 noundef %4) - %.pre = load i64, ptr %3, align 8 + %.pre = load i64, ptr %3, align 8, !noundef !4 br label %8 8: ; preds = %7, %2 @@ -11477,7 +11477,7 @@ _ZN4core4char7methods15encode_utf8_raw17hb6850a6d17750408E.llvm.1414052031642915 48: ; preds = %_ZN4core4char7methods15encode_utf8_raw17hb6850a6d17750408E.llvm.14140520316429159617.exit tail call void @"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$7reserve21do_reserve_and_handle17h3d42496efa1a3b92E"(ptr noalias noundef nonnull align 8 dereferenceable(24) %0, i64 noundef %44, i64 noundef %42), !noalias !2597 - %.pre.i.i.i = load i64, ptr %43, align 8, !alias.scope !2599, !noalias !2597 + %.pre.i.i.i = load i64, ptr %43, align 8, !alias.scope !2599, !noalias !2597, !noundef !4 br label %"_ZN5alloc3vec16Vec$LT$T$C$A$GT$17extend_from_slice17hc86f26a63352a154E.exit" "_ZN5alloc3vec16Vec$LT$T$C$A$GT$17extend_from_slice17hc86f26a63352a154E.exit": ; preds = %_ZN4core4char7methods15encode_utf8_raw17hb6850a6d17750408E.llvm.14140520316429159617.exit, %48 @@ -11502,7 +11502,7 @@ _ZN4core4char7methods15encode_utf8_raw17hb6850a6d17750408E.llvm.1414052031642915 61: ; preds = %55 tail call void @"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$16reserve_for_push17h85bce0ede26cb7feE"(ptr noalias noundef nonnull align 8 dereferenceable(24) %0, i64 noundef %58) - %.pre.i = load i64, ptr %57, align 8, !alias.scope !2600 + %.pre.i = load i64, ptr %57, align 8, !alias.scope !2600, !noundef !4 br label %"_ZN5alloc3vec16Vec$LT$T$C$A$GT$4push17h45871f5731be1319E.exit" "_ZN5alloc3vec16Vec$LT$T$C$A$GT$4push17h45871f5731be1319E.exit": ; preds = %55, %61 @@ -12872,7 +12872,7 @@ _ZN5alloc7raw_vec14handle_reserve17h2d131f4fccf45d0bE.llvm.14140520316429159617. to label %.noexc7 unwind label %764 .noexc7: ; preds = %35 - %.val31.pre.i = load i64, ptr %29, align 8, !alias.scope !2799, !noalias !2806 + %.val31.pre.i = load i64, ptr %29, align 8, !alias.scope !2799, !noalias !2806, !noundef !4 br label %"_ZN110_$LT$core..ops..range..RangeFrom$LT$usize$GT$$u20$as$u20$core..slice..index..SliceIndex$LT$$u5b$T$u5d$$GT$$GT$9index_mut17h1879d39a9c6c6fe0E.exit.i" "_ZN110_$LT$core..ops..range..RangeFrom$LT$usize$GT$$u20$as$u20$core..slice..index..SliceIndex$LT$$u5b$T$u5d$$GT$$GT$9index_mut17h1879d39a9c6c6fe0E.exit.i": ; preds = %"_ZN5alloc3vec16Vec$LT$T$C$A$GT$8truncate17hdc2520379da3ccdfE.exit.i.i", %.noexc7 @@ -17707,7 +17707,7 @@ define hidden void @_ZN10tokenizers6models3bpe4word4Word3add17hb1778fc9c7c19992E 14: ; preds = %11 tail call void @"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$16reserve_for_push17hbee4d99151bee325E"(ptr noalias noundef nonnull align 8 dereferenceable(24) %0, i64 noundef %5), !noalias !3846 - %.pre.i = load i64, ptr %4, align 8, !alias.scope !3843, !noalias !3846 + %.pre.i = load i64, ptr %4, align 8, !alias.scope !3843, !noalias !3846, !noundef !4 br label %"_ZN5alloc3vec16Vec$LT$T$C$A$GT$4push17h15f9494446eed12bE.llvm.14140520316429159617.exit" "_ZN5alloc3vec16Vec$LT$T$C$A$GT$4push17h15f9494446eed12bE.llvm.14140520316429159617.exit": ; preds = %11, %14 @@ -17851,7 +17851,7 @@ define hidden void @_ZN10tokenizers6models3bpe4word4Word5merge17hcb1c32d829ff04a to label %.noexc57 unwind label %.loopexit .noexc57: ; preds = %57 - %.pre.i = load i64, ptr %8, align 8, !alias.scope !3851, !noalias !3854 + %.pre.i = load i64, ptr %8, align 8, !alias.scope !3851, !noalias !3854, !noundef !4 br label %58 58: ; preds = %.noexc57, %36 @@ -17901,7 +17901,7 @@ define hidden void @_ZN10tokenizers6models3bpe4word4Word5merge17hcb1c32d829ff04a to label %.noexc63 unwind label %.loopexit .noexc63: ; preds = %79 - %.pre.i62 = load i64, ptr %8, align 8, !alias.scope !3861, !noalias !3864 + %.pre.i62 = load i64, ptr %8, align 8, !alias.scope !3861, !noalias !3864, !noundef !4 br label %80 80: ; preds = %.noexc63, %74 @@ -17916,7 +17916,7 @@ define hidden void @_ZN10tokenizers6models3bpe4word4Word5merge17hcb1c32d829ff04a %84 = load i64, ptr %8, align 8, !alias.scope !3861, !noalias !3864, !noundef !4 %85 = add i64 %84, 1 store i64 %85, ptr %8, align 8, !alias.scope !3861, !noalias !3864 - %.pre = load i64, ptr %9, align 8, !alias.scope !3856, !noalias !3859 + %.pre = load i64, ptr %9, align 8, !alias.scope !3856, !noalias !3859, !noundef !4 br label %43 86: ; preds = %52, %50 @@ -17982,7 +17982,7 @@ define hidden void @_ZN10tokenizers6models3bpe4word4Word5merge17hcb1c32d829ff04a to label %.noexc72 unwind label %.loopexit .noexc72: ; preds = %112 - %.pre.i71 = load i64, ptr %8, align 8, !alias.scope !3880, !noalias !3883 + %.pre.i71 = load i64, ptr %8, align 8, !alias.scope !3880, !noalias !3883, !noundef !4 br label %113 113: ; preds = %.noexc72, %106 @@ -18022,7 +18022,7 @@ define hidden void @_ZN10tokenizers6models3bpe4word4Word5merge17hcb1c32d829ff04a to label %.noexc79 unwind label %.loopexit .noexc79: ; preds = %131 - %.pre.i78 = load i64, ptr %8, align 8, !alias.scope !3885, !noalias !3888 + %.pre.i78 = load i64, ptr %8, align 8, !alias.scope !3885, !noalias !3888, !noundef !4 br label %132 132: ; preds = %.noexc79, %126 @@ -18037,7 +18037,7 @@ define hidden void @_ZN10tokenizers6models3bpe4word4Word5merge17hcb1c32d829ff04a %136 = load i64, ptr %8, align 8, !alias.scope !3885, !noalias !3888, !noundef !4 %137 = add i64 %136, 1 store i64 %137, ptr %8, align 8, !alias.scope !3885, !noalias !3888 - %.pre151 = load i64, ptr %9, align 8 + %.pre151 = load i64, ptr %9, align 8, !noundef !4 br label %._crit_edge152 138: ; preds = %12 @@ -18251,7 +18251,7 @@ define hidden void @_ZN10tokenizers6models3bpe4word4Word9merge_all17hac6ce551d9e br i1 %switch15, label %._crit_edge, label %67 ._crit_edge: ; preds = %66 - %.pre = load i64, ptr %50, align 8, !alias.scope !3925, !noalias !3928 + %.pre = load i64, ptr %50, align 8, !alias.scope !3925, !noalias !3928, !noundef !4 br label %96 "_ZN5alloc11collections11binary_heap23BinaryHeap$LT$T$C$A$GT$3pop17hd7e3bc1be8f6a081E.exit": ; preds = %"_ZN121_$LT$alloc..collections..binary_heap..BinaryHeap$LT$T$C$A$GT$$u20$as$u20$core..iter..traits..collect..Extend$LT$T$GT$$GT$6extend17h12eefcd637c4336aE.exit.backedge", %"_ZN121_$LT$alloc..collections..binary_heap..BinaryHeap$LT$T$C$A$GT$$u20$as$u20$core..iter..traits..collect..Extend$LT$T$GT$$GT$6extend17h12eefcd637c4336aE.exit.preheader" @@ -18332,7 +18332,7 @@ define hidden void @_ZN10tokenizers6models3bpe4word4Word9merge_all17hac6ce551d9e %102 = fmul float %101, 0x3E70000000000000 %103 = fcmp olt float %102, %3 call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %9) - %.pre198 = load i64, ptr %50, align 8, !alias.scope !3925, !noalias !3928 + %.pre198 = load i64, ptr %50, align 8, !alias.scope !3925, !noalias !3928, !noundef !4 br i1 %103, label %104, label %96 104: ; preds = %99 @@ -18345,7 +18345,7 @@ define hidden void @_ZN10tokenizers6models3bpe4word4Word9merge_all17hac6ce551d9e to label %.noexc55 unwind label %.loopexit .noexc55: ; preds = %107 - %.pre.i = load i64, ptr %50, align 8, !alias.scope !3943, !noalias !3946 + %.pre.i = load i64, ptr %50, align 8, !alias.scope !3943, !noalias !3946, !noundef !4 br label %212 108: ; preds = %96 @@ -18517,7 +18517,7 @@ define hidden void @_ZN10tokenizers6models3bpe4word4Word9merge_all17hac6ce551d9e to label %.noexc78 unwind label %.loopexit .noexc78: ; preds = %182 - %.pre.i.i = load i64, ptr %.sroa.5.0..sroa_idx.i, align 8, !alias.scope !3976, !noalias !3979 + %.pre.i.i = load i64, ptr %.sroa.5.0..sroa_idx.i, align 8, !alias.scope !3976, !noalias !3979, !noundef !4 br label %"_ZN5alloc3vec16Vec$LT$T$C$A$GT$4push17hb3c3cd09503c5c8bE.llvm.11083375685992158394.exit.i" "_ZN5alloc3vec16Vec$LT$T$C$A$GT$4push17hb3c3cd09503c5c8bE.llvm.11083375685992158394.exit.i": ; preds = %.noexc78, %175 @@ -18562,7 +18562,7 @@ define hidden void @_ZN10tokenizers6models3bpe4word4Word9merge_all17hac6ce551d9e to label %.noexc84 unwind label %.loopexit .noexc84: ; preds = %205 - %.pre.i.i83 = load i64, ptr %.sroa.5.0..sroa_idx.i, align 8, !alias.scope !3986, !noalias !3989 + %.pre.i.i83 = load i64, ptr %.sroa.5.0..sroa_idx.i, align 8, !alias.scope !3986, !noalias !3989, !noundef !4 br label %"_ZN5alloc3vec16Vec$LT$T$C$A$GT$4push17hb3c3cd09503c5c8bE.llvm.11083375685992158394.exit.i82" "_ZN5alloc3vec16Vec$LT$T$C$A$GT$4push17hb3c3cd09503c5c8bE.llvm.11083375685992158394.exit.i82": ; preds = %.noexc84, %198 @@ -19558,7 +19558,7 @@ define hidden void @"_ZN100_$LT$tokenizers..pre_tokenizers..byte_level..ByteLeve .noexc4.i.i: ; preds = %73 call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %10), !noalias !4150 call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %11), !noalias !4150 - %.pre.i.i.i = load ptr, ptr %12, align 8, !noalias !4146 + %.pre.i.i.i = load ptr, ptr %12, align 8, !noalias !4146, !nonnull !4, !align !17, !noundef !4 br label %74 74: ; preds = %.noexc4.i.i, %.noexc.i.i @@ -19731,7 +19731,7 @@ select.unfold.i.i: ; preds = %74, %116 to label %.noexc.i.i.i unwind label %147, !noalias !4231 .noexc.i.i.i: ; preds = %146 - %.pre.i.i.i.i = load i64, ptr %29, align 8, !alias.scope !4227, !noalias !4231 + %.pre.i.i.i.i = load i64, ptr %29, align 8, !alias.scope !4227, !noalias !4231, !noundef !4 br label %154 147: ; preds = %146 @@ -20823,12 +20823,12 @@ _ZN4core3ops8function6FnOnce9call_once17h04e312a3d499d39dE.exit.i: ; preds = %"_ .noexc37: ; preds = %_ZN4core3ops8function6FnOnce9call_once17h04e312a3d499d39dE.exit.i call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %3), !noalias !4439 - %.pr.i = load i64, ptr %4, align 8, !noalias !4418 + %.pr.i = load i64, ptr %4, align 8, !range !228, !noalias !4418, !noundef !4 %100 = icmp eq i64 %.pr.i, -9223372036854775808 br i1 %100, label %101, label %.noexc13 101: ; preds = %.noexc37 - %.pre.i36 = load i64, ptr %11, align 8, !range !228, !alias.scope !4444, !noalias !4447 + %.pre.i36 = load i64, ptr %11, align 8, !range !228, !alias.scope !4444, !noalias !4447, !noundef !4 %102 = icmp eq i64 %.pre.i36, -9223372036854775808 call void @llvm.lifetime.start.p0(i64 152, ptr nonnull %.sroa.5.i) br i1 %102, label %"_ZN4core3ptr286drop_in_place$LT$core..option..Option$LT$core..iter..adapters..map..Map$LT$alloc..vec..into_iter..IntoIter$LT$tokenizers..tokenizer..Token$GT$$C$tokenizers..tokenizer..pre_tokenizer..PreTokenizedString..into_encoding..$u7b$$u7b$closure$u7d$$u7d$..$u7b$$u7b$closure$u7d$$u7d$$GT$$GT$$GT$17hf8c7331bb0b5a585E.exit.i", label %103 @@ -20930,7 +20930,7 @@ _ZN4core3ops8function6FnOnce9call_once17h04e312a3d499d39dE.exit.i: ; preds = %"_ to label %.noexc17 unwind label %203 .noexc17: ; preds = %128 - %.pre.i = load i64, ptr %50, align 8, !alias.scope !4448 + %.pre.i = load i64, ptr %50, align 8, !alias.scope !4448, !noundef !4 br label %131 "_ZN4core3ptr542drop_in_place$LT$core..iter..adapters..flatten..FlatMap$LT$core..iter..adapters..enumerate..Enumerate$LT$alloc..vec..into_iter..IntoIter$LT$tokenizers..tokenizer..pre_tokenizer..Split$GT$$GT$$C$core..iter..adapters..map..Map$LT$alloc..vec..into_iter..IntoIter$LT$tokenizers..tokenizer..Token$GT$$C$tokenizers..tokenizer..pre_tokenizer..PreTokenizedString..into_encoding..$u7b$$u7b$closure$u7d$$u7d$..$u7b$$u7b$closure$u7d$$u7d$$GT$$C$tokenizers..tokenizer..pre_tokenizer..PreTokenizedString..into_encoding..$u7b$$u7b$closure$u7d$$u7d$$GT$$GT$17h3b841fe06e558a58E.exit": ; preds = %.body, %129 @@ -20975,7 +20975,7 @@ _ZN4core3ops8function6FnOnce9call_once17h04e312a3d499d39dE.exit.i: ; preds = %"_ to label %._crit_edge.i unwind label %141, !noalias !4454 ._crit_edge.i: ; preds = %140 - %.pre.i18 = load i64, ptr %53, align 8, !alias.scope !4451, !noalias !4454 + %.pre.i18 = load i64, ptr %53, align 8, !alias.scope !4451, !noalias !4454, !noundef !4 br label %145 141: ; preds = %140 @@ -21009,7 +21009,7 @@ _ZN4core3ops8function6FnOnce9call_once17h04e312a3d499d39dE.exit.i: ; preds = %"_ to label %.noexc22 unwind label %.body19.thread46 .noexc22: ; preds = %154 - %.pre.i21 = load i64, ptr %56, align 8, !alias.scope !4456 + %.pre.i21 = load i64, ptr %56, align 8, !alias.scope !4456, !noundef !4 br label %155 155: ; preds = %.noexc22, %145 @@ -21032,7 +21032,7 @@ _ZN4core3ops8function6FnOnce9call_once17h04e312a3d499d39dE.exit.i: ; preds = %"_ to label %.noexc24 unwind label %.body19.thread46 .noexc24: ; preds = %165 - %.pre.i23 = load i64, ptr %59, align 8, !alias.scope !4459 + %.pre.i23 = load i64, ptr %59, align 8, !alias.scope !4459, !noundef !4 br label %166 166: ; preds = %.noexc24, %155 @@ -21053,7 +21053,7 @@ _ZN4core3ops8function6FnOnce9call_once17h04e312a3d499d39dE.exit.i: ; preds = %"_ to label %.noexc27 unwind label %.body19.thread46 .noexc27: ; preds = %175 - %.pre.i26 = load i64, ptr %62, align 8, !alias.scope !4462 + %.pre.i26 = load i64, ptr %62, align 8, !alias.scope !4462, !noundef !4 br label %176 176: ; preds = %.noexc27, %166 @@ -21076,7 +21076,7 @@ _ZN4core3ops8function6FnOnce9call_once17h04e312a3d499d39dE.exit.i: ; preds = %"_ to label %.noexc29 unwind label %.body19.thread46 .noexc29: ; preds = %186 - %.pre.i28 = load i64, ptr %65, align 8, !alias.scope !4465 + %.pre.i28 = load i64, ptr %65, align 8, !alias.scope !4465, !noundef !4 br label %187 187: ; preds = %.noexc29, %176 @@ -21097,7 +21097,7 @@ _ZN4core3ops8function6FnOnce9call_once17h04e312a3d499d39dE.exit.i: ; preds = %"_ to label %.noexc32 unwind label %.body19.thread46 .noexc32: ; preds = %196 - %.pre.i31 = load i64, ptr %68, align 8, !alias.scope !4468 + %.pre.i31 = load i64, ptr %68, align 8, !alias.scope !4468, !noundef !4 br label %197 197: ; preds = %.noexc32, %187 @@ -21328,7 +21328,7 @@ define hidden void @"_ZN10tokenizers14pre_tokenizers10byte_level1_102_$LT$impl$u %11 = getelementptr inbounds nuw i8, ptr %1, i64 24 %12 = load i64, ptr %11, align 8, !alias.scope !4476, !noalias !4471, !noundef !4 call void @_ZN5serde9__private2de7content21visit_content_map_ref17haacb6128cc6b246eE.llvm.12815775647222681290(ptr noalias noundef nonnull sret([16 x i8]) align 8 captures(none) dereferenceable(16) %4, ptr noalias noundef nonnull readonly align 8 %10, i64 noundef %12), !noalias !4474 - %.pre = load i8, ptr %4, align 8, !range !240 + %.pre = load i8, ptr %4, align 8, !range !240, !noundef !4 %13 = trunc nuw i8 %.pre to i1 call void @llvm.lifetime.end.p0(i64 0, ptr nonnull %3) br i1 %13, label %17, label %14 @@ -22907,17 +22907,17 @@ define hidden void @"_ZN10tokenizers10processors1_97_$LT$impl$u20$serde..de..Des %36 = landingpad { ptr, i32 } cleanup invoke fastcc void @"_ZN4core3ptr59drop_in_place$LT$serde..__private..de..content..Content$GT$17h33ae0778311c4cd4E"(ptr noalias noundef align 8 dereferenceable(32) %17) #58 - to label %113 unwind label %111 + to label %112 unwind label %111 37: ; preds = %23, %27 - %.pr = load i64, ptr %14, align 8 + %.pr = load i64, ptr %14, align 8, !range !228, !noundef !4 call void @llvm.lifetime.end.p0(i64 0, ptr nonnull %3) %38 = icmp eq i64 %.pr, -9223372036854775808 br i1 %38, label %..thread84_crit_edge, label %42 ..thread84_crit_edge: ; preds = %37 %.phi.trans.insert = getelementptr inbounds nuw i8, ptr %14, i64 8 - %.pre = load ptr, ptr %.phi.trans.insert, align 8 + %.pre = load ptr, ptr %.phi.trans.insert, align 8, !nonnull !4, !align !17, !noundef !4 br label %39 39: ; preds = %.thread, %..thread84_crit_edge @@ -22976,14 +22976,14 @@ define hidden void @"_ZN10tokenizers10processors1_97_$LT$impl$u20$serde..de..Des to label %56 unwind label %35 56: ; preds = %48, %52 - %.pr86 = load i64, ptr %12, align 8 + %.pr86 = load i64, ptr %12, align 8, !range !228, !noundef !4 call void @llvm.lifetime.end.p0(i64 0, ptr nonnull %3) %57 = icmp eq i64 %.pr86, -9223372036854775808 br i1 %57, label %..thread89_crit_edge, label %61 ..thread89_crit_edge: ; preds = %56 %.phi.trans.insert114 = getelementptr inbounds nuw i8, ptr %12, i64 8 - %.pre115 = load ptr, ptr %.phi.trans.insert114, align 8 + %.pre115 = load ptr, ptr %.phi.trans.insert114, align 8, !nonnull !4, !align !17, !noundef !4 br label %58 58: ; preds = %.thread87, %..thread89_crit_edge @@ -23030,14 +23030,14 @@ define hidden void @"_ZN10tokenizers10processors1_97_$LT$impl$u20$serde..de..Des to label %.noexc30 unwind label %35 .noexc30: ; preds = %"_ZN106_$LT$serde..__private..de..content..ContentRefDeserializer$LT$E$GT$$u20$as$u20$serde..de..Deserializer$GT$15deserialize_map17h42ea5bb42326e51fE.exit.i" - %.pre.i = load i8, ptr %8, align 8, !range !240, !noalias !4658 + %.pre.i = load i8, ptr %8, align 8, !range !240, !noalias !4658, !noundef !4 %69 = trunc nuw i8 %.pre.i to i1 call void @llvm.lifetime.end.p0(i64 0, ptr nonnull %3), !noalias !4658 br i1 %69, label %.noexc30..thread98_crit_edge, label %72 .noexc30..thread98_crit_edge: ; preds = %.noexc30 %.phi.trans.insert116 = getelementptr inbounds nuw i8, ptr %8, i64 8 - %.pre117 = load ptr, ptr %.phi.trans.insert116, align 8, !noalias !4658 + %.pre117 = load ptr, ptr %.phi.trans.insert116, align 8, !noalias !4658, !nonnull !4, !align !17, !noundef !4 br label %.thread98 .thread98: ; preds = %.noexc30..thread98_crit_edge, %.noexc29 @@ -23096,14 +23096,14 @@ define hidden void @"_ZN10tokenizers10processors1_97_$LT$impl$u20$serde..de..Des to label %"_ZN106_$LT$serde..__private..de..content..ContentRefDeserializer$LT$E$GT$$u20$as$u20$serde..de..Deserializer$GT$18deserialize_struct17h1f59affbd601d9dfE.exit.i" unwind label %35 "_ZN106_$LT$serde..__private..de..content..ContentRefDeserializer$LT$E$GT$$u20$as$u20$serde..de..Deserializer$GT$18deserialize_struct17h1f59affbd601d9dfE.exit.i": ; preds = %81, %77 - %.pr.i = load i64, ptr %7, align 8, !noalias !4671 + %.pr.i = load i64, ptr %7, align 8, !range !228, !noalias !4671, !noundef !4 call void @llvm.lifetime.end.p0(i64 0, ptr nonnull %3), !noalias !4671 %85 = icmp eq i64 %.pr.i, -9223372036854775808 br i1 %85, label %"_ZN106_$LT$serde..__private..de..content..ContentRefDeserializer$LT$E$GT$$u20$as$u20$serde..de..Deserializer$GT$18deserialize_struct17h1f59affbd601d9dfE.exit._crit_edge.i", label %86 "_ZN106_$LT$serde..__private..de..content..ContentRefDeserializer$LT$E$GT$$u20$as$u20$serde..de..Deserializer$GT$18deserialize_struct17h1f59affbd601d9dfE.exit._crit_edge.i": ; preds = %"_ZN106_$LT$serde..__private..de..content..ContentRefDeserializer$LT$E$GT$$u20$as$u20$serde..de..Deserializer$GT$18deserialize_struct17h1f59affbd601d9dfE.exit.i" %.phi.trans.insert.i = getelementptr inbounds nuw i8, ptr %7, i64 8 - %.pre.i31 = load ptr, ptr %.phi.trans.insert.i, align 8, !noalias !4671 + %.pre.i31 = load ptr, ptr %.phi.trans.insert.i, align 8, !noalias !4671, !nonnull !4, !align !17, !noundef !4 br label %.thread99 86: ; preds = %"_ZN106_$LT$serde..__private..de..content..ContentRefDeserializer$LT$E$GT$$u20$as$u20$serde..de..Deserializer$GT$18deserialize_struct17h1f59affbd601d9dfE.exit.i" @@ -23185,7 +23185,7 @@ define hidden void @"_ZN10tokenizers10processors1_97_$LT$impl$u20$serde..de..Des to label %.noexc40 unwind label %35 .noexc40: ; preds = %"_ZN106_$LT$serde..__private..de..content..ContentRefDeserializer$LT$E$GT$$u20$as$u20$serde..de..Deserializer$GT$15deserialize_map17h14e186ececf1cb45E.exit.i" - %.pr.i36 = load i64, ptr %4, align 8, !noalias !4687 + %.pr.i36 = load i64, ptr %4, align 8, !range !228, !noalias !4687, !noundef !4 call void @llvm.lifetime.end.p0(i64 0, ptr nonnull %3), !noalias !4687 %102 = icmp eq i64 %.pr.i36, -9223372036854775808 %.phi.trans.insert.i37 = getelementptr inbounds nuw i8, ptr %4, i64 8 @@ -23195,10 +23195,8 @@ define hidden void @"_ZN10tokenizers10processors1_97_$LT$impl$u20$serde..de..Des "_ZN106_$LT$serde..__private..de..content..ContentRefDeserializer$LT$E$GT$$u20$as$u20$serde..de..Deserializer$GT$15deserialize_map17h14e186ececf1cb45E.exit._crit_edge.i": ; preds = %.noexc40, %.noexc39 %.sroa.653.0.ph = phi ptr [ %98, %.noexc39 ], [ %.pre.i38, %.noexc40 ] call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %4) - %103 = icmp ne ptr %.sroa.653.0.ph, null - call void @llvm.assume(i1 %103) - %104 = getelementptr inbounds nuw i8, ptr %9, i64 8 - store ptr %.sroa.653.0.ph, ptr %104, align 8 + %103 = getelementptr inbounds nuw i8, ptr %9, i64 8 + store ptr %.sroa.653.0.ph, ptr %103, align 8 store i64 -9223372036854775803, ptr %9, align 8 invoke fastcc void @"_ZN4core3ptr120drop_in_place$LT$core..result..Result$LT$tokenizers..processors..PostProcessorWrapper$C$serde_json..error..Error$GT$$GT$17h57e00be1a5dbf67cE"(ptr noalias noundef align 8 dereferenceable(112) %9) to label %106 unwind label %35 @@ -23221,7 +23219,7 @@ define hidden void @"_ZN10tokenizers10processors1_97_$LT$impl$u20$serde..de..Des 106: ; preds = %"_ZN106_$LT$serde..__private..de..content..ContentRefDeserializer$LT$E$GT$$u20$as$u20$serde..de..Deserializer$GT$15deserialize_map17h14e186ececf1cb45E.exit._crit_edge.i" call void @llvm.lifetime.end.p0(i64 112, ptr nonnull %9) %107 = invoke noundef nonnull align 8 ptr @"_ZN61_$LT$serde_json..error..Error$u20$as$u20$serde..de..Error$GT$6custom17h2db46ba8566f054fE"(ptr noalias noundef nonnull readonly align 1 @anon.6e929131f0dd62016d572efc3b163756.258, i64 noundef 68) - to label %108 unwind label %35 + to label %107 unwind label %35 108: ; preds = %106 %109 = getelementptr inbounds nuw i8, ptr %0, i64 8 @@ -23320,17 +23318,17 @@ define hidden void @"_ZN10tokenizers10processors1_97_$LT$impl$u20$serde..de..Des %33 = landingpad { ptr, i32 } cleanup invoke fastcc void @"_ZN4core3ptr59drop_in_place$LT$serde..__private..de..content..Content$GT$17h33ae0778311c4cd4E"(ptr noalias noundef align 8 dereferenceable(32) %16) #58 - to label %110 unwind label %108 + to label %109 unwind label %108 34: ; preds = %21, %25 - %.pr = load i64, ptr %14, align 8 + %.pr = load i64, ptr %14, align 8, !range !228, !noundef !4 call void @llvm.lifetime.end.p0(i64 0, ptr nonnull %3) %35 = icmp eq i64 %.pr, -9223372036854775808 br i1 %35, label %..thread88_crit_edge, label %39 ..thread88_crit_edge: ; preds = %34 %.phi.trans.insert = getelementptr inbounds nuw i8, ptr %14, i64 8 - %.pre = load ptr, ptr %.phi.trans.insert, align 8 + %.pre = load ptr, ptr %.phi.trans.insert, align 8, !nonnull !4, !align !17, !noundef !4 br label %36 36: ; preds = %.thread, %..thread88_crit_edge @@ -23389,14 +23387,14 @@ define hidden void @"_ZN10tokenizers10processors1_97_$LT$impl$u20$serde..de..Des to label %53 unwind label %32 53: ; preds = %45, %49 - %.pr90 = load i64, ptr %12, align 8 + %.pr90 = load i64, ptr %12, align 8, !range !228, !noundef !4 call void @llvm.lifetime.end.p0(i64 0, ptr nonnull %3) %54 = icmp eq i64 %.pr90, -9223372036854775808 br i1 %54, label %..thread93_crit_edge, label %58 ..thread93_crit_edge: ; preds = %53 %.phi.trans.insert118 = getelementptr inbounds nuw i8, ptr %12, i64 8 - %.pre119 = load ptr, ptr %.phi.trans.insert118, align 8 + %.pre119 = load ptr, ptr %.phi.trans.insert118, align 8, !nonnull !4, !align !17, !noundef !4 br label %55 55: ; preds = %.thread91, %..thread93_crit_edge @@ -23443,14 +23441,14 @@ define hidden void @"_ZN10tokenizers10processors1_97_$LT$impl$u20$serde..de..Des to label %.noexc30 unwind label %32 .noexc30: ; preds = %"_ZN106_$LT$serde..__private..de..content..ContentRefDeserializer$LT$E$GT$$u20$as$u20$serde..de..Deserializer$GT$15deserialize_map17h42ea5bb42326e51fE.exit.i" - %.pre.i = load i8, ptr %8, align 8, !range !240, !noalias !4725 + %.pre.i = load i8, ptr %8, align 8, !range !240, !noalias !4725, !noundef !4 %66 = trunc nuw i8 %.pre.i to i1 call void @llvm.lifetime.end.p0(i64 0, ptr nonnull %3), !noalias !4725 br i1 %66, label %.noexc30..thread102_crit_edge, label %69 .noexc30..thread102_crit_edge: ; preds = %.noexc30 %.phi.trans.insert120 = getelementptr inbounds nuw i8, ptr %8, i64 8 - %.pre121 = load ptr, ptr %.phi.trans.insert120, align 8, !noalias !4725 + %.pre121 = load ptr, ptr %.phi.trans.insert120, align 8, !noalias !4725, !nonnull !4, !align !17, !noundef !4 br label %.thread102 .thread102: ; preds = %.noexc30..thread102_crit_edge, %.noexc29 @@ -23509,14 +23507,14 @@ define hidden void @"_ZN10tokenizers10processors1_97_$LT$impl$u20$serde..de..Des to label %"_ZN106_$LT$serde..__private..de..content..ContentRefDeserializer$LT$E$GT$$u20$as$u20$serde..de..Deserializer$GT$18deserialize_struct17h1f59affbd601d9dfE.exit.i" unwind label %32 "_ZN106_$LT$serde..__private..de..content..ContentRefDeserializer$LT$E$GT$$u20$as$u20$serde..de..Deserializer$GT$18deserialize_struct17h1f59affbd601d9dfE.exit.i": ; preds = %78, %74 - %.pr.i = load i64, ptr %7, align 8, !noalias !4738 + %.pr.i = load i64, ptr %7, align 8, !range !228, !noalias !4738, !noundef !4 call void @llvm.lifetime.end.p0(i64 0, ptr nonnull %3), !noalias !4738 %82 = icmp eq i64 %.pr.i, -9223372036854775808 br i1 %82, label %"_ZN106_$LT$serde..__private..de..content..ContentRefDeserializer$LT$E$GT$$u20$as$u20$serde..de..Deserializer$GT$18deserialize_struct17h1f59affbd601d9dfE.exit._crit_edge.i", label %83 "_ZN106_$LT$serde..__private..de..content..ContentRefDeserializer$LT$E$GT$$u20$as$u20$serde..de..Deserializer$GT$18deserialize_struct17h1f59affbd601d9dfE.exit._crit_edge.i": ; preds = %"_ZN106_$LT$serde..__private..de..content..ContentRefDeserializer$LT$E$GT$$u20$as$u20$serde..de..Deserializer$GT$18deserialize_struct17h1f59affbd601d9dfE.exit.i" %.phi.trans.insert.i = getelementptr inbounds nuw i8, ptr %7, i64 8 - %.pre.i31 = load ptr, ptr %.phi.trans.insert.i, align 8, !noalias !4738 + %.pre.i31 = load ptr, ptr %.phi.trans.insert.i, align 8, !noalias !4738, !nonnull !4, !align !17, !noundef !4 br label %.thread103 83: ; preds = %"_ZN106_$LT$serde..__private..de..content..ContentRefDeserializer$LT$E$GT$$u20$as$u20$serde..de..Deserializer$GT$18deserialize_struct17h1f59affbd601d9dfE.exit.i" @@ -23598,7 +23596,7 @@ define hidden void @"_ZN10tokenizers10processors1_97_$LT$impl$u20$serde..de..Des to label %.noexc40 unwind label %32 .noexc40: ; preds = %"_ZN106_$LT$serde..__private..de..content..ContentRefDeserializer$LT$E$GT$$u20$as$u20$serde..de..Deserializer$GT$15deserialize_map17h14e186ececf1cb45E.exit.i" - %.pr.i36 = load i64, ptr %4, align 8, !noalias !4754 + %.pr.i36 = load i64, ptr %4, align 8, !range !228, !noalias !4754, !noundef !4 call void @llvm.lifetime.end.p0(i64 0, ptr nonnull %3), !noalias !4754 %99 = icmp eq i64 %.pr.i36, -9223372036854775808 %.phi.trans.insert.i37 = getelementptr inbounds nuw i8, ptr %4, i64 8 @@ -23608,13 +23606,11 @@ define hidden void @"_ZN10tokenizers10processors1_97_$LT$impl$u20$serde..de..Des "_ZN106_$LT$serde..__private..de..content..ContentRefDeserializer$LT$E$GT$$u20$as$u20$serde..de..Deserializer$GT$15deserialize_map17h14e186ececf1cb45E.exit._crit_edge.i": ; preds = %.noexc40, %.noexc39 %.sroa.657.0.ph = phi ptr [ %95, %.noexc39 ], [ %.pre.i38, %.noexc40 ] call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %4) - %100 = icmp ne ptr %.sroa.657.0.ph, null - call void @llvm.assume(i1 %100) - %101 = getelementptr inbounds nuw i8, ptr %9, i64 8 - store ptr %.sroa.657.0.ph, ptr %101, align 8 + %100 = getelementptr inbounds nuw i8, ptr %9, i64 8 + store ptr %.sroa.657.0.ph, ptr %100, align 8 store i64 -9223372036854775803, ptr %9, align 8 invoke fastcc void @"_ZN4core3ptr120drop_in_place$LT$core..result..Result$LT$tokenizers..processors..PostProcessorWrapper$C$serde_json..error..Error$GT$$GT$17h57e00be1a5dbf67cE"(ptr noalias noundef align 8 dereferenceable(112) %9) - to label %103 unwind label %32 + to label %102 unwind label %32 102: ; preds = %.noexc40 %.sroa.859.0..sroa_idx = getelementptr inbounds nuw i8, ptr %4, i64 16 @@ -23634,7 +23630,7 @@ define hidden void @"_ZN10tokenizers10processors1_97_$LT$impl$u20$serde..de..Des 103: ; preds = %"_ZN106_$LT$serde..__private..de..content..ContentRefDeserializer$LT$E$GT$$u20$as$u20$serde..de..Deserializer$GT$15deserialize_map17h14e186ececf1cb45E.exit._crit_edge.i" call void @llvm.lifetime.end.p0(i64 112, ptr nonnull %9) %104 = invoke noundef nonnull align 8 ptr @"_ZN61_$LT$serde_json..error..Error$u20$as$u20$serde..de..Error$GT$6custom17h2db46ba8566f054fE"(ptr noalias noundef nonnull readonly align 1 @anon.6e929131f0dd62016d572efc3b163756.258, i64 noundef 68) - to label %105 unwind label %32 + to label %104 unwind label %32 105: ; preds = %103 %106 = getelementptr inbounds nuw i8, ptr %0, i64 8 diff --git a/bench/tokenizers-rs/optimized/40hmx6rev8evi2bx.ll b/bench/tokenizers-rs/optimized/40hmx6rev8evi2bx.ll index 9d91837dc48..c7969b593ac 100644 --- a/bench/tokenizers-rs/optimized/40hmx6rev8evi2bx.ll +++ b/bench/tokenizers-rs/optimized/40hmx6rev8evi2bx.ll @@ -1575,7 +1575,7 @@ define hidden void @"_ZN117_$LT$itertools..adaptors..coalesce..CoalesceBy$LT$I$C ._crit_edge: ; preds = %16 %.phi.trans.insert = getelementptr inbounds nuw i8, ptr %1, i64 48 - %.pre = load ptr, ptr %.phi.trans.insert, align 8, !alias.scope !331, !noalias !336 + %.pre = load ptr, ptr %.phi.trans.insert, align 8, !alias.scope !331, !noalias !336, !nonnull !7, !noundef !7 %.phi.trans.insert89 = getelementptr inbounds nuw i8, ptr %1, i64 32 %.promoted.i.pre = load ptr, ptr %.phi.trans.insert89, align 8, !alias.scope !331, !noalias !336 br label %18 @@ -2036,14 +2036,14 @@ define hidden void @"_ZN15spm_precompiled1_81_$LT$impl$u20$serde..de..Deserializ br label %"_ZN106_$LT$serde..__private..de..content..ContentRefDeserializer$LT$E$GT$$u20$as$u20$serde..de..Deserializer$GT$18deserialize_struct17h631e20e2c7ced9c1E.exit" "_ZN106_$LT$serde..__private..de..content..ContentRefDeserializer$LT$E$GT$$u20$as$u20$serde..de..Deserializer$GT$18deserialize_struct17h631e20e2c7ced9c1E.exit": ; preds = %9, %14 - %.pr = load i64, ptr %6, align 8 + %.pr = load i64, ptr %6, align 8, !range !91, !noundef !7 call void @llvm.lifetime.end.p0(i64 0, ptr nonnull %3) %19 = icmp eq i64 %.pr, -9223372036854775808 br i1 %19, label %"_ZN106_$LT$serde..__private..de..content..ContentRefDeserializer$LT$E$GT$$u20$as$u20$serde..de..Deserializer$GT$18deserialize_struct17h631e20e2c7ced9c1E.exit._crit_edge", label %20 "_ZN106_$LT$serde..__private..de..content..ContentRefDeserializer$LT$E$GT$$u20$as$u20$serde..de..Deserializer$GT$18deserialize_struct17h631e20e2c7ced9c1E.exit._crit_edge": ; preds = %"_ZN106_$LT$serde..__private..de..content..ContentRefDeserializer$LT$E$GT$$u20$as$u20$serde..de..Deserializer$GT$18deserialize_struct17h631e20e2c7ced9c1E.exit" %.phi.trans.insert = getelementptr inbounds nuw i8, ptr %6, i64 8 - %.pre = load ptr, ptr %.phi.trans.insert, align 8 + %.pre = load ptr, ptr %.phi.trans.insert, align 8, !nonnull !7, !align !280, !noundef !7 br label %30 20: ; preds = %"_ZN106_$LT$serde..__private..de..content..ContentRefDeserializer$LT$E$GT$$u20$as$u20$serde..de..Deserializer$GT$18deserialize_struct17h631e20e2c7ced9c1E.exit" @@ -2248,13 +2248,13 @@ define hidden void @"_ZN165_$LT$serde_json..value..de..$LT$impl$u20$serde..de..D to label %.body unwind label %121 _ZN5serde2de9MapAccess10next_value17h0968a24a7d21679cE.exit: ; preds = %50 - %.pr = load i8, ptr %19, align 8 + %.pr = load i8, ptr %19, align 8, !range !459, !noundef !7 %54 = icmp eq i8 %.pr, 6 br i1 %54, label %_ZN5serde2de9MapAccess10next_value17h0968a24a7d21679cE.exit._crit_edge, label %55 _ZN5serde2de9MapAccess10next_value17h0968a24a7d21679cE.exit._crit_edge: ; preds = %_ZN5serde2de9MapAccess10next_value17h0968a24a7d21679cE.exit %.phi.trans.insert = getelementptr inbounds nuw i8, ptr %19, i64 8 - %.pre = load ptr, ptr %.phi.trans.insert, align 8 + %.pre = load ptr, ptr %.phi.trans.insert, align 8, !nonnull !7, !align !280, !noundef !7 br label %_ZN5serde2de9MapAccess10next_value17h0968a24a7d21679cE.exit.thread 55: ; preds = %_ZN5serde2de9MapAccess10next_value17h0968a24a7d21679cE.exit @@ -2267,24 +2267,24 @@ _ZN5serde2de9MapAccess10next_value17h0968a24a7d21679cE.exit.thread: ; preds = %. %57 = getelementptr inbounds nuw i8, ptr %0, i64 8 store ptr %56, ptr %57, align 8 store i8 6, ptr %0, align 8 - call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %12), !noalias !459 + call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %12), !noalias !460 invoke void @"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$14current_memory17h0e0810e893c56cabE.llvm.1287153784043347726"(ptr noalias noundef nonnull sret([24 x i8]) align 8 captures(none) dereferenceable(24) %12, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) %20) to label %.noexc21 unwind label %.loopexit.split-lp .noexc21: ; preds = %_ZN5serde2de9MapAccess10next_value17h0968a24a7d21679cE.exit.thread %58 = getelementptr inbounds nuw i8, ptr %12, i64 8 - %59 = load i64, ptr %58, align 8, !range !91, !noalias !459, !noundef !7 + %59 = load i64, ptr %58, align 8, !range !91, !noalias !460, !noundef !7 %60 = icmp eq i64 %59, 0 br i1 %60, label %120, label %61 61: ; preds = %.noexc21 %62 = getelementptr inbounds nuw i8, ptr %12, i64 16 - %63 = load i64, ptr %62, align 8, !noalias !459, !noundef !7 + %63 = load i64, ptr %62, align 8, !noalias !460, !noundef !7 %64 = icmp eq i64 %63, 0 br i1 %64, label %120, label %65 65: ; preds = %61 - %66 = load ptr, ptr %12, align 8, !noalias !459, !nonnull !7, !noundef !7 + %66 = load ptr, ptr %12, align 8, !noalias !460, !nonnull !7, !noundef !7 call void @__rust_dealloc(ptr noundef nonnull %66, i64 noundef %63, i64 noundef %59) #52 br label %120 @@ -2305,7 +2305,7 @@ _ZN5serde2de9MapAccess10next_value17h0968a24a7d21679cE.exit.thread: ; preds = %. 67: ; preds = %55 call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %20) - %68 = load i8, ptr %21, align 8, !range !468, !alias.scope !469, !noundef !7 + %68 = load i8, ptr %21, align 8, !range !459, !alias.scope !469, !noundef !7 %69 = icmp eq i8 %68, 6 br i1 %69, label %"_ZN4core3ptr73drop_in_place$LT$core..option..Option$LT$serde_json..value..Value$GT$$GT$17h6bec1a1e52ecc47dE.exit", label %70 @@ -2428,13 +2428,13 @@ _ZN5serde2de9MapAccess10next_value17h0968a24a7d21679cE.exit.thread: ; preds = %. to label %.body unwind label %107, !noalias !511 "_ZN75_$LT$serde_json..de..MapAccess$LT$R$GT$$u20$as$u20$serde..de..MapAccess$GT$15next_value_seed17h4ea3982e8cc30ccfE.exit.i.i": ; preds = %93 - %.pr.i.i = load i8, ptr %9, align 8, !noalias !478 + %.pr.i.i = load i8, ptr %9, align 8, !range !459, !noalias !478, !noundef !7 %96 = icmp eq i8 %.pr.i.i, 6 br i1 %96, label %"_ZN75_$LT$serde_json..de..MapAccess$LT$R$GT$$u20$as$u20$serde..de..MapAccess$GT$15next_value_seed17h4ea3982e8cc30ccfE.exit._crit_edge.i.i", label %109 "_ZN75_$LT$serde_json..de..MapAccess$LT$R$GT$$u20$as$u20$serde..de..MapAccess$GT$15next_value_seed17h4ea3982e8cc30ccfE.exit._crit_edge.i.i": ; preds = %"_ZN75_$LT$serde_json..de..MapAccess$LT$R$GT$$u20$as$u20$serde..de..MapAccess$GT$15next_value_seed17h4ea3982e8cc30ccfE.exit.i.i" %.phi.trans.insert.i.i = getelementptr inbounds nuw i8, ptr %9, i64 8 - %.pre.i.i = load ptr, ptr %.phi.trans.insert.i.i, align 8, !noalias !478 + %.pre.i.i = load ptr, ptr %.phi.trans.insert.i.i, align 8, !noalias !478, !nonnull !7, !align !280, !noundef !7 br label %"_ZN75_$LT$serde_json..de..MapAccess$LT$R$GT$$u20$as$u20$serde..de..MapAccess$GT$15next_value_seed17h4ea3982e8cc30ccfE.exit.thread.i.i" "_ZN75_$LT$serde_json..de..MapAccess$LT$R$GT$$u20$as$u20$serde..de..MapAccess$GT$15next_value_seed17h4ea3982e8cc30ccfE.exit.thread.i.i": ; preds = %"_ZN75_$LT$serde_json..de..MapAccess$LT$R$GT$$u20$as$u20$serde..de..MapAccess$GT$15next_value_seed17h4ea3982e8cc30ccfE.exit._crit_edge.i.i", %.noexc7.i.i, %.noexc.i.i @@ -2509,7 +2509,7 @@ _ZN5serde2de9MapAccess10next_value17h0968a24a7d21679cE.exit.thread: ; preds = %. to label %114 unwind label %.loopexit 114: ; preds = %113 - %115 = load i8, ptr %17, align 8, !range !468, !alias.scope !525, !noundef !7 + %115 = load i8, ptr %17, align 8, !range !459, !alias.scope !525, !noundef !7 %116 = icmp eq i8 %115, 6 br i1 %116, label %"_ZN4core3ptr73drop_in_place$LT$core..option..Option$LT$serde_json..value..Value$GT$$GT$17h6bec1a1e52ecc47dE.exit30", label %117 @@ -2548,7 +2548,7 @@ _ZN5serde2de9MapAccess10next_value17h0968a24a7d21679cE.exit.thread: ; preds = %. br label %118 120: ; preds = %65, %61, %.noexc21 - call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %12), !noalias !459 + call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %12), !noalias !460 call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %20) call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %19) call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %21) @@ -5911,7 +5911,7 @@ define internal noundef zeroext i1 @"_ZN58_$LT$alloc..string..String$u20$as$u20$ %11 = extractvalue { i64, i64 } %10, 0 %12 = extractvalue { i64, i64 } %10, 1 tail call void @_ZN5alloc7raw_vec14handle_reserve17h7755cec88f07bd9dE.llvm.2256714685376175499(i64 noundef %11, i64 %12), !noalias !1349 - %.pre.i.i.i = load i64, ptr %4, align 8, !alias.scope !1351, !noalias !1349 + %.pre.i.i.i = load i64, ptr %4, align 8, !alias.scope !1351, !noalias !1349, !noundef !7 br label %"_ZN5alloc3vec16Vec$LT$T$C$A$GT$17extend_from_slice17hc86f26a63352a154E.exit" "_ZN5alloc3vec16Vec$LT$T$C$A$GT$17extend_from_slice17hc86f26a63352a154E.exit": ; preds = %3, %9 @@ -7020,7 +7020,7 @@ _ZN4core4char7methods15encode_utf8_raw17hb6850a6d17750408E.exit: ; preds = %8, % %50 = extractvalue { i64, i64 } %49, 0 %51 = extractvalue { i64, i64 } %49, 1 tail call void @_ZN5alloc7raw_vec14handle_reserve17h7755cec88f07bd9dE.llvm.2256714685376175499(i64 noundef %50, i64 %51), !noalias !1529 - %.pre.i.i.i = load i64, ptr %43, align 8, !alias.scope !1531, !noalias !1529 + %.pre.i.i.i = load i64, ptr %43, align 8, !alias.scope !1531, !noalias !1529, !noundef !7 br label %"_ZN5alloc3vec16Vec$LT$T$C$A$GT$17extend_from_slice17hc86f26a63352a154E.exit" "_ZN5alloc3vec16Vec$LT$T$C$A$GT$17extend_from_slice17hc86f26a63352a154E.exit": ; preds = %_ZN4core4char7methods15encode_utf8_raw17hb6850a6d17750408E.exit, %48 @@ -7045,7 +7045,7 @@ _ZN4core4char7methods15encode_utf8_raw17hb6850a6d17750408E.exit: ; preds = %8, % 64: ; preds = %58 tail call void @"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$16reserve_for_push17h85bce0ede26cb7feE"(ptr noalias noundef nonnull align 8 dereferenceable(24) %0, i64 noundef %61) - %.pre.i = load i64, ptr %60, align 8, !alias.scope !1532 + %.pre.i = load i64, ptr %60, align 8, !alias.scope !1532, !noundef !7 br label %"_ZN5alloc3vec16Vec$LT$T$C$A$GT$4push17h45871f5731be1319E.exit" "_ZN5alloc3vec16Vec$LT$T$C$A$GT$4push17h45871f5731be1319E.exit": ; preds = %58, %64 @@ -9996,7 +9996,7 @@ _ZN5alloc7raw_vec14handle_reserve17h9fe4c8e6eea48e1fE.exit: ; preds = %"_ZN91_$L to label %.noexc13 unwind label %27 .noexc13: ; preds = %.noexc - %.pre.i.i.i = load i64, ptr %26, align 8, !alias.scope !1865, !noalias !1863 + %.pre.i.i.i = load i64, ptr %26, align 8, !alias.scope !1865, !noalias !1863, !noundef !7 br label %"_ZN5alloc3vec16Vec$LT$T$C$A$GT$17extend_from_slice17h61d2b4c6b6aa629fE.exit" "_ZN5alloc3vec16Vec$LT$T$C$A$GT$17extend_from_slice17h61d2b4c6b6aa629fE.exit": ; preds = %.lr.ph, %.noexc13 @@ -10635,14 +10635,14 @@ define hidden void @"_ZN81_$LT$core..marker..PhantomData$LT$T$GT$$u20$as$u20$ser %10 = getelementptr inbounds nuw i8, ptr %1, i64 24 %11 = load i64, ptr %10, align 8, !alias.scope !2036, !noalias !2034, !noundef !7 call void @_ZN5serde9__private2de7content21visit_content_map_ref17h569bd940c1cfedc5E.llvm.12815775647222681290(ptr noalias noundef nonnull sret([48 x i8]) align 8 captures(none) dereferenceable(48) %4, ptr noalias noundef nonnull readonly align 8 %9, i64 noundef %11), !noalias !2030 - %.pr.i = load ptr, ptr %4, align 8, !noalias !2030 + %.pr.i = load ptr, ptr %4, align 8, !noalias !2030, !noundef !7 call void @llvm.lifetime.end.p0(i64 0, ptr nonnull %3), !noalias !2030 %12 = icmp eq ptr %.pr.i, null br i1 %12, label %"_ZN106_$LT$serde..__private..de..content..ContentRefDeserializer$LT$E$GT$$u20$as$u20$serde..de..Deserializer$GT$15deserialize_map17hf4e0bd28ad9a66fdE.exit._crit_edge.i", label %13 "_ZN106_$LT$serde..__private..de..content..ContentRefDeserializer$LT$E$GT$$u20$as$u20$serde..de..Deserializer$GT$15deserialize_map17hf4e0bd28ad9a66fdE.exit._crit_edge.i": ; preds = %"_ZN106_$LT$serde..__private..de..content..ContentRefDeserializer$LT$E$GT$$u20$as$u20$serde..de..Deserializer$GT$15deserialize_map17hf4e0bd28ad9a66fdE.exit.i" %.phi.trans.insert.i = getelementptr inbounds nuw i8, ptr %4, i64 8 - %.pre.i = load ptr, ptr %.phi.trans.insert.i, align 8, !noalias !2030 + %.pre.i = load ptr, ptr %.phi.trans.insert.i, align 8, !noalias !2030, !nonnull !7, !align !280, !noundef !7 br label %14 13: ; preds = %"_ZN106_$LT$serde..__private..de..content..ContentRefDeserializer$LT$E$GT$$u20$as$u20$serde..de..Deserializer$GT$15deserialize_map17hf4e0bd28ad9a66fdE.exit.i" @@ -11359,14 +11359,14 @@ define hidden void @"_ZN81_$LT$core..marker..PhantomData$LT$T$GT$$u20$as$u20$ser %10 = getelementptr inbounds nuw i8, ptr %1, i64 24 %11 = load i64, ptr %10, align 8, !alias.scope !2314, !noalias !2312, !noundef !7 call void @_ZN5serde9__private2de7content21visit_content_seq_ref17hc98ba65dd1c30894E.llvm.12815775647222681290(ptr noalias noundef nonnull sret([24 x i8]) align 8 captures(none) dereferenceable(24) %4, ptr noalias noundef nonnull readonly align 8 %9, i64 noundef %11), !noalias !2308 - %.pr.i = load i64, ptr %4, align 8, !noalias !2308 + %.pr.i = load i64, ptr %4, align 8, !range !91, !noalias !2308, !noundef !7 call void @llvm.lifetime.end.p0(i64 0, ptr nonnull %3), !noalias !2308 %12 = icmp eq i64 %.pr.i, -9223372036854775808 br i1 %12, label %"_ZN106_$LT$serde..__private..de..content..ContentRefDeserializer$LT$E$GT$$u20$as$u20$serde..de..Deserializer$GT$15deserialize_seq17hbec297409779facdE.exit._crit_edge.i", label %13 "_ZN106_$LT$serde..__private..de..content..ContentRefDeserializer$LT$E$GT$$u20$as$u20$serde..de..Deserializer$GT$15deserialize_seq17hbec297409779facdE.exit._crit_edge.i": ; preds = %"_ZN106_$LT$serde..__private..de..content..ContentRefDeserializer$LT$E$GT$$u20$as$u20$serde..de..Deserializer$GT$15deserialize_seq17hbec297409779facdE.exit.i" %.phi.trans.insert.i = getelementptr inbounds nuw i8, ptr %4, i64 8 - %.pre.i = load ptr, ptr %.phi.trans.insert.i, align 8, !noalias !2308 + %.pre.i = load ptr, ptr %.phi.trans.insert.i, align 8, !noalias !2308, !nonnull !7, !align !280, !noundef !7 br label %14 13: ; preds = %"_ZN106_$LT$serde..__private..de..content..ContentRefDeserializer$LT$E$GT$$u20$as$u20$serde..de..Deserializer$GT$15deserialize_seq17hbec297409779facdE.exit.i" @@ -11456,7 +11456,7 @@ define hidden void @"_ZN87_$LT$serde..de..value..MapDeserializer$LT$I$C$E$GT$$u2 20: ; preds = %11 %21 = getelementptr inbounds nuw i8, ptr %3, i64 1 - %22 = load i8, ptr %21, align 1, !range !468, !noundef !7 + %22 = load i8, ptr %21, align 1, !range !459, !noundef !7 %23 = getelementptr inbounds nuw i8, ptr %0, i64 1 store i8 %22, ptr %23, align 1 br label %28 @@ -13734,14 +13734,14 @@ define hidden void @"_ZN87_$LT$serde..de..value..MapDeserializer$LT$I$C$E$GT$$u2 to label %43 unwind label %27 43: ; preds = %33, %38 - %.pr = load i64, ptr %6, align 8 + %.pr = load i64, ptr %6, align 8, !range !91, !noundef !7 call void @llvm.lifetime.end.p0(i64 0, ptr nonnull %3), !noalias !2785 %44 = icmp eq i64 %.pr, -9223372036854775808 br i1 %44, label %._crit_edge, label %45 ._crit_edge: ; preds = %43 %.phi.trans.insert = getelementptr inbounds nuw i8, ptr %6, i64 8 - %.pre = load ptr, ptr %.phi.trans.insert, align 8 + %.pre = load ptr, ptr %.phi.trans.insert, align 8, !nonnull !7, !align !280, !noundef !7 br label %47 45: ; preds = %43 @@ -15096,14 +15096,14 @@ define hidden void @"_ZN87_$LT$serde..de..value..MapDeserializer$LT$I$C$E$GT$$u2 %15 = getelementptr inbounds nuw i8, ptr %6, i64 24 %16 = load i64, ptr %15, align 8, !alias.scope !3170, !noalias !3168, !noundef !7 call void @_ZN5serde9__private2de7content21visit_content_map_ref17h569bd940c1cfedc5E.llvm.12815775647222681290(ptr noalias noundef nonnull sret([48 x i8]) align 8 captures(none) dereferenceable(48) %4, ptr noalias noundef nonnull readonly align 8 %14, i64 noundef %16), !noalias !3164 - %.pr.i.i = load ptr, ptr %4, align 8, !noalias !3164 + %.pr.i.i = load ptr, ptr %4, align 8, !noalias !3164, !noundef !7 call void @llvm.lifetime.end.p0(i64 0, ptr nonnull %3), !noalias !3164 %17 = icmp eq ptr %.pr.i.i, null br i1 %17, label %"_ZN106_$LT$serde..__private..de..content..ContentRefDeserializer$LT$E$GT$$u20$as$u20$serde..de..Deserializer$GT$15deserialize_map17hf4e0bd28ad9a66fdE.exit._crit_edge.i.i", label %18 "_ZN106_$LT$serde..__private..de..content..ContentRefDeserializer$LT$E$GT$$u20$as$u20$serde..de..Deserializer$GT$15deserialize_map17hf4e0bd28ad9a66fdE.exit._crit_edge.i.i": ; preds = %"_ZN106_$LT$serde..__private..de..content..ContentRefDeserializer$LT$E$GT$$u20$as$u20$serde..de..Deserializer$GT$15deserialize_map17hf4e0bd28ad9a66fdE.exit.i.i" %.phi.trans.insert.i.i = getelementptr inbounds nuw i8, ptr %4, i64 8 - %.pre.i.i = load ptr, ptr %.phi.trans.insert.i.i, align 8, !noalias !3164 + %.pre.i.i = load ptr, ptr %.phi.trans.insert.i.i, align 8, !noalias !3164, !nonnull !7, !align !280, !noundef !7 br label %19 18: ; preds = %"_ZN106_$LT$serde..__private..de..content..ContentRefDeserializer$LT$E$GT$$u20$as$u20$serde..de..Deserializer$GT$15deserialize_map17hf4e0bd28ad9a66fdE.exit.i.i" @@ -15826,14 +15826,14 @@ define hidden void @"_ZN87_$LT$serde..de..value..MapDeserializer$LT$I$C$E$GT$$u2 %15 = getelementptr inbounds nuw i8, ptr %6, i64 24 %16 = load i64, ptr %15, align 8, !alias.scope !3349, !noalias !3347, !noundef !7 call void @_ZN5serde9__private2de7content21visit_content_seq_ref17hc98ba65dd1c30894E.llvm.12815775647222681290(ptr noalias noundef nonnull sret([24 x i8]) align 8 captures(none) dereferenceable(24) %4, ptr noalias noundef nonnull readonly align 8 %14, i64 noundef %16), !noalias !3343 - %.pr.i.i = load i64, ptr %4, align 8, !noalias !3343 + %.pr.i.i = load i64, ptr %4, align 8, !range !91, !noalias !3343, !noundef !7 call void @llvm.lifetime.end.p0(i64 0, ptr nonnull %3), !noalias !3343 %17 = icmp eq i64 %.pr.i.i, -9223372036854775808 br i1 %17, label %"_ZN106_$LT$serde..__private..de..content..ContentRefDeserializer$LT$E$GT$$u20$as$u20$serde..de..Deserializer$GT$15deserialize_seq17hbec297409779facdE.exit._crit_edge.i.i", label %18 "_ZN106_$LT$serde..__private..de..content..ContentRefDeserializer$LT$E$GT$$u20$as$u20$serde..de..Deserializer$GT$15deserialize_seq17hbec297409779facdE.exit._crit_edge.i.i": ; preds = %"_ZN106_$LT$serde..__private..de..content..ContentRefDeserializer$LT$E$GT$$u20$as$u20$serde..de..Deserializer$GT$15deserialize_seq17hbec297409779facdE.exit.i.i" %.phi.trans.insert.i.i = getelementptr inbounds nuw i8, ptr %4, i64 8 - %.pre.i.i = load ptr, ptr %.phi.trans.insert.i.i, align 8, !noalias !3343 + %.pre.i.i = load ptr, ptr %.phi.trans.insert.i.i, align 8, !noalias !3343, !nonnull !7, !align !280, !noundef !7 br label %19 18: ; preds = %"_ZN106_$LT$serde..__private..de..content..ContentRefDeserializer$LT$E$GT$$u20$as$u20$serde..de..Deserializer$GT$15deserialize_seq17hbec297409779facdE.exit.i.i" @@ -16930,14 +16930,14 @@ define hidden void @"_ZN87_$LT$serde..de..value..SeqDeserializer$LT$I$C$E$GT$$u2 %21 = getelementptr inbounds nuw i8, ptr %5, i64 24 %22 = load i64, ptr %21, align 8, !alias.scope !3657, !noalias !3655, !noundef !7 call void @_ZN5serde9__private2de7content21visit_content_seq_ref17h5249093a781ca6f0E.llvm.12815775647222681290(ptr noalias noundef nonnull sret([24 x i8]) align 8 captures(none) dereferenceable(24) %4, ptr noalias noundef nonnull readonly align 8 %20, i64 noundef %22) - %.pr = load i64, ptr %4, align 8 + %.pr = load i64, ptr %4, align 8, !range !91, !noundef !7 call void @llvm.lifetime.end.p0(i64 0, ptr nonnull %3), !noalias !3649 %23 = icmp eq i64 %.pr, -9223372036854775808 br i1 %23, label %"_ZN81_$LT$core..marker..PhantomData$LT$T$GT$$u20$as$u20$serde..de..DeserializeSeed$GT$11deserialize17hd8c20dfda6479b08E.llvm.13080012565599917794.exit._crit_edge", label %24 "_ZN81_$LT$core..marker..PhantomData$LT$T$GT$$u20$as$u20$serde..de..DeserializeSeed$GT$11deserialize17hd8c20dfda6479b08E.llvm.13080012565599917794.exit._crit_edge": ; preds = %"_ZN81_$LT$core..marker..PhantomData$LT$T$GT$$u20$as$u20$serde..de..DeserializeSeed$GT$11deserialize17hd8c20dfda6479b08E.llvm.13080012565599917794.exit" %.phi.trans.insert = getelementptr inbounds nuw i8, ptr %4, i64 8 - %.pre = load ptr, ptr %.phi.trans.insert, align 8 + %.pre = load ptr, ptr %.phi.trans.insert, align 8, !nonnull !7, !align !280, !noundef !7 br label %25 24: ; preds = %"_ZN81_$LT$core..marker..PhantomData$LT$T$GT$$u20$as$u20$serde..de..DeserializeSeed$GT$11deserialize17hd8c20dfda6479b08E.llvm.13080012565599917794.exit" @@ -17110,14 +17110,14 @@ define hidden void @"_ZN87_$LT$serde..de..value..SeqDeserializer$LT$I$C$E$GT$$u2 %21 = getelementptr inbounds nuw i8, ptr %5, i64 24 %22 = load i64, ptr %21, align 8, !alias.scope !3711, !noalias !3709, !noundef !7 call void @_ZN5serde9__private2de7content21visit_content_seq_ref17hef11d657800bbc33E.llvm.12815775647222681290(ptr noalias noundef nonnull sret([24 x i8]) align 8 captures(none) dereferenceable(24) %4, ptr noalias noundef nonnull readonly align 8 %20, i64 noundef %22) - %.pr = load i64, ptr %4, align 8 + %.pr = load i64, ptr %4, align 8, !range !91, !noundef !7 call void @llvm.lifetime.end.p0(i64 0, ptr nonnull %3), !noalias !3703 %23 = icmp eq i64 %.pr, -9223372036854775808 br i1 %23, label %"_ZN81_$LT$core..marker..PhantomData$LT$T$GT$$u20$as$u20$serde..de..DeserializeSeed$GT$11deserialize17h80669fca76e629b4E.llvm.13080012565599917794.exit._crit_edge", label %24 "_ZN81_$LT$core..marker..PhantomData$LT$T$GT$$u20$as$u20$serde..de..DeserializeSeed$GT$11deserialize17h80669fca76e629b4E.llvm.13080012565599917794.exit._crit_edge": ; preds = %"_ZN81_$LT$core..marker..PhantomData$LT$T$GT$$u20$as$u20$serde..de..DeserializeSeed$GT$11deserialize17h80669fca76e629b4E.llvm.13080012565599917794.exit" %.phi.trans.insert = getelementptr inbounds nuw i8, ptr %4, i64 8 - %.pre = load ptr, ptr %.phi.trans.insert, align 8 + %.pre = load ptr, ptr %.phi.trans.insert, align 8, !nonnull !7, !align !280, !noundef !7 br label %25 24: ; preds = %"_ZN81_$LT$core..marker..PhantomData$LT$T$GT$$u20$as$u20$serde..de..DeserializeSeed$GT$11deserialize17h80669fca76e629b4E.llvm.13080012565599917794.exit" @@ -17580,14 +17580,14 @@ define hidden void @"_ZN87_$LT$serde..de..value..SeqDeserializer$LT$I$C$E$GT$$u2 %21 = getelementptr inbounds nuw i8, ptr %5, i64 24 %22 = load i64, ptr %21, align 8, !alias.scope !3812, !noalias !3810, !noundef !7 call void @_ZN5serde9__private2de7content21visit_content_seq_ref17h0bd66d78261a93f3E.llvm.12815775647222681290(ptr noalias noundef nonnull sret([32 x i8]) align 8 captures(none) dereferenceable(32) %4, ptr noalias noundef nonnull readonly align 8 %20, i64 noundef %22) - %.pr = load i64, ptr %4, align 8 + %.pr = load i64, ptr %4, align 8, !range !91, !noundef !7 call void @llvm.lifetime.end.p0(i64 0, ptr nonnull %3), !noalias !3803 %23 = icmp eq i64 %.pr, -9223372036854775808 br i1 %23, label %"_ZN81_$LT$core..marker..PhantomData$LT$T$GT$$u20$as$u20$serde..de..DeserializeSeed$GT$11deserialize17he7d0caad2cdb865aE.llvm.13080012565599917794.exit._crit_edge", label %24 "_ZN81_$LT$core..marker..PhantomData$LT$T$GT$$u20$as$u20$serde..de..DeserializeSeed$GT$11deserialize17he7d0caad2cdb865aE.llvm.13080012565599917794.exit._crit_edge": ; preds = %"_ZN81_$LT$core..marker..PhantomData$LT$T$GT$$u20$as$u20$serde..de..DeserializeSeed$GT$11deserialize17he7d0caad2cdb865aE.llvm.13080012565599917794.exit" %.phi.trans.insert = getelementptr inbounds nuw i8, ptr %4, i64 8 - %.pre = load ptr, ptr %.phi.trans.insert, align 8 + %.pre = load ptr, ptr %.phi.trans.insert, align 8, !nonnull !7, !align !280, !noundef !7 br label %25 24: ; preds = %"_ZN81_$LT$core..marker..PhantomData$LT$T$GT$$u20$as$u20$serde..de..DeserializeSeed$GT$11deserialize17he7d0caad2cdb865aE.llvm.13080012565599917794.exit" @@ -17828,7 +17828,7 @@ define hidden void @"_ZN87_$LT$serde..de..value..SeqDeserializer$LT$I$C$E$GT$$u2 %21 = getelementptr inbounds nuw i8, ptr %5, i64 24 %22 = load i64, ptr %21, align 8, !alias.scope !3885, !noalias !3883, !noundef !7 call void @_ZN5serde9__private2de7content21visit_content_map_ref17h569bd940c1cfedc5E.llvm.12815775647222681290(ptr noalias noundef nonnull sret([48 x i8]) align 8 captures(none) dereferenceable(48) %4, ptr noalias noundef nonnull readonly align 8 %20, i64 noundef %22), !noalias !3878 - %.pr.i.i = load ptr, ptr %4, align 8, !noalias !3878 + %.pr.i.i = load ptr, ptr %4, align 8, !noalias !3878, !noundef !7 call void @llvm.lifetime.end.p0(i64 0, ptr nonnull %3), !noalias !3878 %23 = icmp eq ptr %.pr.i.i, null %.phi.trans.insert.i.i = getelementptr inbounds nuw i8, ptr %4, i64 8 @@ -17853,10 +17853,8 @@ define hidden void @"_ZN87_$LT$serde..de..value..SeqDeserializer$LT$I$C$E$GT$$u2 "_ZN106_$LT$serde..__private..de..content..ContentRefDeserializer$LT$E$GT$$u20$as$u20$serde..de..Deserializer$GT$15deserialize_map17hf4e0bd28ad9a66fdE.exit._crit_edge.i.i": ; preds = %"_ZN106_$LT$serde..__private..de..content..ContentRefDeserializer$LT$E$GT$$u20$as$u20$serde..de..Deserializer$GT$15deserialize_map17hf4e0bd28ad9a66fdE.exit.i.i", %"_ZN106_$LT$serde..__private..de..content..ContentRefDeserializer$LT$E$GT$$u20$as$u20$serde..de..Deserializer$GT$15deserialize_map17hf4e0bd28ad9a66fdE.exit.thread.i.i" %.sroa.7.0.ph = phi ptr [ %18, %"_ZN106_$LT$serde..__private..de..content..ContentRefDeserializer$LT$E$GT$$u20$as$u20$serde..de..Deserializer$GT$15deserialize_map17hf4e0bd28ad9a66fdE.exit.thread.i.i" ], [ %.pre.i.i, %"_ZN106_$LT$serde..__private..de..content..ContentRefDeserializer$LT$E$GT$$u20$as$u20$serde..de..Deserializer$GT$15deserialize_map17hf4e0bd28ad9a66fdE.exit.i.i" ] call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %4), !noalias !3876 - %26 = icmp ne ptr %.sroa.7.0.ph, null - call void @llvm.assume(i1 %26) - %27 = getelementptr inbounds nuw i8, ptr %0, i64 8 - store ptr %.sroa.7.0.ph, ptr %27, align 8 + %26 = getelementptr inbounds nuw i8, ptr %0, i64 8 + store ptr %.sroa.7.0.ph, ptr %26, align 8 store i64 1, ptr %0, align 8 br label %28 @@ -17968,7 +17966,7 @@ define hidden void @"_ZN87_$LT$serde..de..value..SeqDeserializer$LT$I$C$E$GT$$u2 %21 = getelementptr inbounds nuw i8, ptr %5, i64 24 %22 = load i64, ptr %21, align 8, !alias.scope !3933, !noalias !3931, !noundef !7 call void @_ZN5serde9__private2de7content21visit_content_seq_ref17hc98ba65dd1c30894E.llvm.12815775647222681290(ptr noalias noundef nonnull sret([24 x i8]) align 8 captures(none) dereferenceable(24) %4, ptr noalias noundef nonnull readonly align 8 %20, i64 noundef %22), !noalias !3926 - %.pr.i.i = load i64, ptr %4, align 8, !noalias !3926 + %.pr.i.i = load i64, ptr %4, align 8, !range !91, !noalias !3926, !noundef !7 call void @llvm.lifetime.end.p0(i64 0, ptr nonnull %3), !noalias !3926 %23 = icmp eq i64 %.pr.i.i, -9223372036854775808 %.phi.trans.insert.i.i = getelementptr inbounds nuw i8, ptr %4, i64 8 @@ -17989,10 +17987,8 @@ define hidden void @"_ZN87_$LT$serde..de..value..SeqDeserializer$LT$I$C$E$GT$$u2 "_ZN106_$LT$serde..__private..de..content..ContentRefDeserializer$LT$E$GT$$u20$as$u20$serde..de..Deserializer$GT$15deserialize_seq17hbec297409779facdE.exit._crit_edge.i.i": ; preds = %"_ZN106_$LT$serde..__private..de..content..ContentRefDeserializer$LT$E$GT$$u20$as$u20$serde..de..Deserializer$GT$15deserialize_seq17hbec297409779facdE.exit.i.i", %"_ZN106_$LT$serde..__private..de..content..ContentRefDeserializer$LT$E$GT$$u20$as$u20$serde..de..Deserializer$GT$15deserialize_seq17hbec297409779facdE.exit.thread.i.i" %.sroa.7.0.ph = phi ptr [ %18, %"_ZN106_$LT$serde..__private..de..content..ContentRefDeserializer$LT$E$GT$$u20$as$u20$serde..de..Deserializer$GT$15deserialize_seq17hbec297409779facdE.exit.thread.i.i" ], [ %.pre.i.i, %"_ZN106_$LT$serde..__private..de..content..ContentRefDeserializer$LT$E$GT$$u20$as$u20$serde..de..Deserializer$GT$15deserialize_seq17hbec297409779facdE.exit.i.i" ] call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %4), !noalias !3924 - %25 = icmp ne ptr %.sroa.7.0.ph, null - call void @llvm.assume(i1 %25) - %26 = getelementptr inbounds nuw i8, ptr %0, i64 8 - store ptr %.sroa.7.0.ph, ptr %26, align 8 + %25 = getelementptr inbounds nuw i8, ptr %0, i64 8 + store ptr %.sroa.7.0.ph, ptr %25, align 8 store i64 -9223372036854775807, ptr %0, align 8 br label %27 @@ -18146,14 +18142,14 @@ define hidden void @"_ZN87_$LT$serde..de..value..SeqDeserializer$LT$I$C$E$GT$$u2 %21 = getelementptr inbounds nuw i8, ptr %5, i64 24 %22 = load i64, ptr %21, align 8, !alias.scope !3988, !noalias !3986, !noundef !7 call void @_ZN5serde9__private2de7content21visit_content_seq_ref17h54f7ae48e361527aE.llvm.12815775647222681290(ptr noalias noundef nonnull sret([24 x i8]) align 8 captures(none) dereferenceable(24) %4, ptr noalias noundef nonnull readonly align 8 %20, i64 noundef %22) - %.pr = load i64, ptr %4, align 8 + %.pr = load i64, ptr %4, align 8, !range !91, !noundef !7 call void @llvm.lifetime.end.p0(i64 0, ptr nonnull %3), !noalias !3980 %23 = icmp eq i64 %.pr, -9223372036854775808 br i1 %23, label %"_ZN81_$LT$core..marker..PhantomData$LT$T$GT$$u20$as$u20$serde..de..DeserializeSeed$GT$11deserialize17he43d2d448a3424c0E.llvm.13080012565599917794.exit._crit_edge", label %24 "_ZN81_$LT$core..marker..PhantomData$LT$T$GT$$u20$as$u20$serde..de..DeserializeSeed$GT$11deserialize17he43d2d448a3424c0E.llvm.13080012565599917794.exit._crit_edge": ; preds = %"_ZN81_$LT$core..marker..PhantomData$LT$T$GT$$u20$as$u20$serde..de..DeserializeSeed$GT$11deserialize17he43d2d448a3424c0E.llvm.13080012565599917794.exit" %.phi.trans.insert = getelementptr inbounds nuw i8, ptr %4, i64 8 - %.pre = load ptr, ptr %.phi.trans.insert, align 8 + %.pre = load ptr, ptr %.phi.trans.insert, align 8, !nonnull !7, !align !280, !noundef !7 br label %25 24: ; preds = %"_ZN81_$LT$core..marker..PhantomData$LT$T$GT$$u20$as$u20$serde..de..DeserializeSeed$GT$11deserialize17he43d2d448a3424c0E.llvm.13080012565599917794.exit" @@ -18213,14 +18209,14 @@ define hidden void @"_ZN87_$LT$serde..de..value..SeqDeserializer$LT$I$C$E$GT$$u2 %21 = getelementptr inbounds nuw i8, ptr %5, i64 24 %22 = load i64, ptr %21, align 8, !alias.scope !4017, !noalias !4015, !noundef !7 call void @_ZN5serde9__private2de7content21visit_content_seq_ref17h0614249b0d00ff08E.llvm.12815775647222681290(ptr noalias noundef nonnull sret([32 x i8]) align 8 captures(none) dereferenceable(32) %4, ptr noalias noundef nonnull readonly align 8 %20, i64 noundef %22) - %.pr = load i64, ptr %4, align 8 + %.pr = load i64, ptr %4, align 8, !range !91, !noundef !7 call void @llvm.lifetime.end.p0(i64 0, ptr nonnull %3), !noalias !4008 %23 = icmp eq i64 %.pr, -9223372036854775808 br i1 %23, label %"_ZN81_$LT$core..marker..PhantomData$LT$T$GT$$u20$as$u20$serde..de..DeserializeSeed$GT$11deserialize17hceedc4ae53cbb3f7E.llvm.13080012565599917794.exit._crit_edge", label %24 "_ZN81_$LT$core..marker..PhantomData$LT$T$GT$$u20$as$u20$serde..de..DeserializeSeed$GT$11deserialize17hceedc4ae53cbb3f7E.llvm.13080012565599917794.exit._crit_edge": ; preds = %"_ZN81_$LT$core..marker..PhantomData$LT$T$GT$$u20$as$u20$serde..de..DeserializeSeed$GT$11deserialize17hceedc4ae53cbb3f7E.llvm.13080012565599917794.exit" %.phi.trans.insert = getelementptr inbounds nuw i8, ptr %4, i64 8 - %.pre = load ptr, ptr %.phi.trans.insert, align 8 + %.pre = load ptr, ptr %.phi.trans.insert, align 8, !nonnull !7, !align !280, !noundef !7 br label %25 24: ; preds = %"_ZN81_$LT$core..marker..PhantomData$LT$T$GT$$u20$as$u20$serde..de..DeserializeSeed$GT$11deserialize17hceedc4ae53cbb3f7E.llvm.13080012565599917794.exit" @@ -21144,7 +21140,7 @@ define hidden void @_ZN9itertools9Itertools4join17h45f7a79b591fd0f7E(ptr noalias to label %.noexc23 unwind label %.loopexit .noexc23: ; preds = %.noexc22 - %.pre.i.i.i.i.i.i.i.i = load i64, ptr %.sroa.511.0..sroa_idx, align 8, !alias.scope !4841, !noalias !4839 + %.pre.i.i.i.i.i.i.i.i = load i64, ptr %.sroa.511.0..sroa_idx, align 8, !alias.scope !4841, !noalias !4839, !noundef !7 br label %"_ZN75_$LT$$RF$mut$u20$W$u20$as$u20$core..fmt..Write..write_fmt..SpecWriteFmt$GT$14spec_write_fmt17h3bfb92843603a698E.exit.i.i.i.i.i" "_ZN75_$LT$$RF$mut$u20$W$u20$as$u20$core..fmt..Write..write_fmt..SpecWriteFmt$GT$14spec_write_fmt17h3bfb92843603a698E.exit.i.i.i.i.i": ; preds = %.noexc23, %58 @@ -21413,7 +21409,7 @@ define noundef zeroext i1 @_ZN10tokenizers5utils11parallelism15get_parallelism17 38: ; preds = %.noexc, %28, %32 call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %2), !noalias !4890 call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %3) - %.pre = load i64, ptr %4, align 8, !range !542 + %.pre = load i64, ptr %4, align 8, !range !542, !noundef !7 %trunc31 = trunc nuw i64 %.pre to i1 br i1 %trunc31, label %.thread, label %"_ZN4core3ptr91drop_in_place$LT$core..result..Result$LT$alloc..string..String$C$std..env..VarError$GT$$GT$17h06b593f8fae2e1e9E.exit" @@ -21971,7 +21967,7 @@ define void @"_ZN100_$LT$tokenizers..decoders..byte_fallback..ByteFallback$u20$a call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %14, ptr noundef nonnull align 8 dereferenceable(24) %20, i64 24, i1 false), !noalias !5013 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %21, ptr noundef nonnull align 8 dereferenceable(40) %14, i64 40, i1 false), !noalias !5016 call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %14) - %.pr = load i64, ptr %21, align 8 + %.pr = load i64, ptr %21, align 8, !range !91, !noundef !7 call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %15), !noalias !5018 call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %20) %.not27 = icmp eq i64 %.pr, -9223372036854775808 @@ -21990,7 +21986,7 @@ define void @"_ZN100_$LT$tokenizers..decoders..byte_fallback..ByteFallback$u20$a to label %._crit_edge.i unwind label %94, !noalias !5022 ._crit_edge.i: ; preds = %93 - %.pre.i = load i64, ptr %32, align 8, !alias.scope !5019, !noalias !5022 + %.pre.i = load i64, ptr %32, align 8, !alias.scope !5019, !noalias !5022, !noundef !7 br label %106 94: ; preds = %93 @@ -22081,7 +22077,7 @@ define void @"_ZN100_$LT$tokenizers..decoders..byte_fallback..ByteFallback$u20$a br label %"_ZN4core3ptr101drop_in_place$LT$core..result..Result$LT$alloc..string..String$C$alloc..string..FromUtf8Error$GT$$GT$17h00c5f4e87102c220E.exit" ._crit_edge165: ; preds = %155 - %.pre179 = load i64, ptr %21, align 8, !range !91 + %.pre179 = load i64, ptr %21, align 8, !range !91, !noundef !7 %122 = icmp eq i64 %.pre179, -9223372036854775808 br i1 %122, label %123, label %._crit_edge165.thread @@ -22169,7 +22165,7 @@ define void @"_ZN100_$LT$tokenizers..decoders..byte_fallback..ByteFallback$u20$a to label %._crit_edge.i55 unwind label %151, !noalias !5055 ._crit_edge.i55: ; preds = %150 - %.pre.i56 = load i64, ptr %32, align 8, !alias.scope !5052, !noalias !5055 + %.pre.i56 = load i64, ptr %32, align 8, !alias.scope !5052, !noalias !5055, !noundef !7 br label %155 151: ; preds = %150 @@ -22267,7 +22263,7 @@ split: ; preds = %"_ZN4core3str21_$LT to label %.noexc66 unwind label %.loopexit146 .noexc66: ; preds = %183 - %.pre.i65 = load i64, ptr %34, align 8, !alias.scope !5074 + %.pre.i65 = load i64, ptr %34, align 8, !alias.scope !5074, !noundef !7 br label %188 184: ; preds = %"_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17h081126bf60e73432E.exit68", %266 @@ -22343,7 +22339,7 @@ split: ; preds = %"_ZN4core3str21_$LT to label %._crit_edge.i74 unwind label %212, !noalias !5104 ._crit_edge.i74: ; preds = %211 - %.pre.i75 = load i64, ptr %32, align 8, !alias.scope !5101, !noalias !5104 + %.pre.i75 = load i64, ptr %32, align 8, !alias.scope !5101, !noalias !5104, !noundef !7 br label %266 212: ; preds = %211 @@ -22404,7 +22400,7 @@ split: ; preds = %"_ZN4core3str21_$LT call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %7, ptr noundef nonnull align 8 dereferenceable(24) %25, i64 24, i1 false), !noalias !5109 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %26, ptr noundef nonnull align 8 dereferenceable(40) %7, i64 40, i1 false), !noalias !5112 call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %7) - %.pr132 = load i64, ptr %26, align 8 + %.pr132 = load i64, ptr %26, align 8, !range !91, !noundef !7 call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %8), !noalias !5114 call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %25) %.not = icmp eq i64 %.pr132, -9223372036854775808 @@ -22422,7 +22418,7 @@ split: ; preds = %"_ZN4core3str21_$LT to label %._crit_edge.i83 unwind label %232, !noalias !5118 ._crit_edge.i83: ; preds = %231 - %.pre.i84 = load i64, ptr %32, align 8, !alias.scope !5115, !noalias !5118 + %.pre.i84 = load i64, ptr %32, align 8, !alias.scope !5115, !noalias !5118, !noundef !7 br label %242 232: ; preds = %231 @@ -22500,7 +22496,7 @@ split: ; preds = %"_ZN4core3str21_$LT br label %265 ._crit_edge: ; preds = %291 - %.pre = load i64, ptr %26, align 8, !range !91 + %.pre = load i64, ptr %26, align 8, !range !91, !noundef !7 %256 = icmp eq i64 %.pre, -9223372036854775808 br i1 %256, label %257, label %._crit_edge.thread @@ -22595,7 +22591,7 @@ split: ; preds = %"_ZN4core3str21_$LT to label %._crit_edge.i102 unwind label %287, !noalias !5151 ._crit_edge.i102: ; preds = %286 - %.pre.i103 = load i64, ptr %32, align 8, !alias.scope !5148, !noalias !5151 + %.pre.i103 = load i64, ptr %32, align 8, !alias.scope !5148, !noalias !5151, !noundef !7 br label %291 287: ; preds = %286 @@ -23650,7 +23646,7 @@ define hidden void @"_ZN89_$LT$tokenizers..models..bpe..serialization..BPEVisito br label %348 246: ; preds = %206 - %.pr = load i64, ptr %33, align 8 + %.pr = load i64, ptr %33, align 8, !range !91, !noundef !7 call void @llvm.lifetime.end.p0(i64 0, ptr nonnull %3), !noalias !5586 %247 = icmp eq i64 %.pr, -9223372036854775808 %.pre = load ptr, ptr %.sroa.5233.0..sroa_idx, align 8 @@ -23690,7 +23686,7 @@ define hidden void @"_ZN89_$LT$tokenizers..models..bpe..serialization..BPEVisito br label %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h5b546449e10d9f38E.exit388.thread" 256: ; preds = %195 - %.pr602 = load ptr, ptr %34, align 8 + %.pr602 = load ptr, ptr %34, align 8, !noundef !7 call void @llvm.lifetime.end.p0(i64 0, ptr nonnull %3), !noalias !5553 %257 = icmp eq ptr %.pr602, null %.pre927 = load ptr, ptr %.sroa.5229.0..sroa_idx, align 8 @@ -26030,13 +26026,13 @@ _ZN5serde2de13VariantAccess15newtype_variant17h637e267388b17c7aE.exit.thread: ; _ZN5serde2de13VariantAccess15newtype_variant17h637e267388b17c7aE.exit: ; preds = %18 call void @"_ZN106_$LT$serde..__private..de..content..ContentRefDeserializer$LT$E$GT$$u20$as$u20$serde..de..Deserializer$GT$15deserialize_str17h552ae673810cdcc5E.llvm.12815775647222681290"(ptr noalias noundef nonnull sret([24 x i8]) align 8 captures(none) dereferenceable(24) %8, ptr noalias noundef nonnull readonly align 8 dereferenceable(32) dereferenceable_or_null(32) %2) - %.pr = load i64, ptr %8, align 8 + %.pr = load i64, ptr %8, align 8, !range !91, !noundef !7 %20 = icmp eq i64 %.pr, -9223372036854775808 br i1 %20, label %_ZN5serde2de13VariantAccess15newtype_variant17h637e267388b17c7aE.exit._crit_edge, label %24 _ZN5serde2de13VariantAccess15newtype_variant17h637e267388b17c7aE.exit._crit_edge: ; preds = %_ZN5serde2de13VariantAccess15newtype_variant17h637e267388b17c7aE.exit %.phi.trans.insert = getelementptr inbounds nuw i8, ptr %8, i64 8 - %.pre = load ptr, ptr %.phi.trans.insert, align 8 + %.pre = load ptr, ptr %.phi.trans.insert, align 8, !nonnull !7, !align !280, !noundef !7 br label %25 21: ; preds = %14 @@ -26051,13 +26047,13 @@ _ZN5serde2de13VariantAccess15newtype_variant17h637e267388b17c7aE.exit6.thread: ; _ZN5serde2de13VariantAccess15newtype_variant17h637e267388b17c7aE.exit6: ; preds = %21 call void @"_ZN106_$LT$serde..__private..de..content..ContentRefDeserializer$LT$E$GT$$u20$as$u20$serde..de..Deserializer$GT$15deserialize_str17h552ae673810cdcc5E.llvm.12815775647222681290"(ptr noalias noundef nonnull sret([24 x i8]) align 8 captures(none) dereferenceable(24) %7, ptr noalias noundef nonnull readonly align 8 dereferenceable(32) dereferenceable_or_null(32) %2) - %.pr14 = load i64, ptr %7, align 8 + %.pr14 = load i64, ptr %7, align 8, !range !91, !noundef !7 %23 = icmp eq i64 %.pr14, -9223372036854775808 br i1 %23, label %_ZN5serde2de13VariantAccess15newtype_variant17h637e267388b17c7aE.exit6._crit_edge, label %28 _ZN5serde2de13VariantAccess15newtype_variant17h637e267388b17c7aE.exit6._crit_edge: ; preds = %_ZN5serde2de13VariantAccess15newtype_variant17h637e267388b17c7aE.exit6 %.phi.trans.insert15 = getelementptr inbounds nuw i8, ptr %7, i64 8 - %.pre16 = load ptr, ptr %.phi.trans.insert15, align 8 + %.pre16 = load ptr, ptr %.phi.trans.insert15, align 8, !nonnull !7, !align !280, !noundef !7 br label %29 24: ; preds = %_ZN5serde2de13VariantAccess15newtype_variant17h637e267388b17c7aE.exit @@ -26256,14 +26252,14 @@ define hidden void @"_ZN10tokenizers11normalizers7replace1_94_$LT$impl$u20$serde br label %"_ZN106_$LT$serde..__private..de..content..ContentRefDeserializer$LT$E$GT$$u20$as$u20$serde..de..Deserializer$GT$18deserialize_struct17hce063d1509bee570E.exit" "_ZN106_$LT$serde..__private..de..content..ContentRefDeserializer$LT$E$GT$$u20$as$u20$serde..de..Deserializer$GT$18deserialize_struct17hce063d1509bee570E.exit": ; preds = %9, %14 - %.pr = load i64, ptr %6, align 8 + %.pr = load i64, ptr %6, align 8, !range !1616, !noundef !7 call void @llvm.lifetime.end.p0(i64 0, ptr nonnull %3) %19 = icmp eq i64 %.pr, 2 br i1 %19, label %"_ZN106_$LT$serde..__private..de..content..ContentRefDeserializer$LT$E$GT$$u20$as$u20$serde..de..Deserializer$GT$18deserialize_struct17hce063d1509bee570E.exit._crit_edge", label %20 "_ZN106_$LT$serde..__private..de..content..ContentRefDeserializer$LT$E$GT$$u20$as$u20$serde..de..Deserializer$GT$18deserialize_struct17hce063d1509bee570E.exit._crit_edge": ; preds = %"_ZN106_$LT$serde..__private..de..content..ContentRefDeserializer$LT$E$GT$$u20$as$u20$serde..de..Deserializer$GT$18deserialize_struct17hce063d1509bee570E.exit" %.phi.trans.insert = getelementptr inbounds nuw i8, ptr %6, i64 8 - %.pre = load ptr, ptr %.phi.trans.insert, align 8 + %.pre = load ptr, ptr %.phi.trans.insert, align 8, !nonnull !7, !align !280, !noundef !7 br label %32 20: ; preds = %"_ZN106_$LT$serde..__private..de..content..ContentRefDeserializer$LT$E$GT$$u20$as$u20$serde..de..Deserializer$GT$18deserialize_struct17hce063d1509bee570E.exit" @@ -26868,7 +26864,7 @@ define hidden void @"_ZN10tokenizers14pre_tokenizers9delimiter1_110_$LT$impl$u20 %11 = getelementptr inbounds nuw i8, ptr %1, i64 24 %12 = load i64, ptr %11, align 8, !alias.scope !6166, !noalias !6161, !noundef !7 call void @_ZN5serde9__private2de7content21visit_content_map_ref17hd522e6a3a9895a75E.llvm.12815775647222681290(ptr noalias noundef nonnull sret([16 x i8]) align 8 captures(none) dereferenceable(16) %4, ptr noalias noundef nonnull readonly align 8 %10, i64 noundef %12), !noalias !6164 - %.pre = load i32, ptr %4, align 8, !range !613 + %.pre = load i32, ptr %4, align 8, !range !613, !noundef !7 %13 = trunc nuw i32 %.pre to i1 call void @llvm.lifetime.end.p0(i64 0, ptr nonnull %3) br i1 %13, label %18, label %14 @@ -27491,7 +27487,7 @@ define hidden void @"_ZN10tokenizers14pre_tokenizers6digits1_95_$LT$impl$u20$ser %11 = getelementptr inbounds nuw i8, ptr %1, i64 24 %12 = load i64, ptr %11, align 8, !alias.scope !6234, !noalias !6229, !noundef !7 call void @_ZN5serde9__private2de7content21visit_content_map_ref17h171ad402e90c3dfbE.llvm.12815775647222681290(ptr noalias noundef nonnull sret([16 x i8]) align 8 captures(none) dereferenceable(16) %4, ptr noalias noundef nonnull readonly align 8 %10, i64 noundef %12), !noalias !6232 - %.pre = load i8, ptr %4, align 8, !range !419 + %.pre = load i8, ptr %4, align 8, !range !419, !noundef !7 %13 = trunc nuw i8 %.pre to i1 call void @llvm.lifetime.end.p0(i64 0, ptr nonnull %3) br i1 %13, label %18, label %14 @@ -28085,14 +28081,14 @@ define hidden void @"_ZN10tokenizers14pre_tokenizers8sequence1_99_$LT$impl$u20$s %10 = getelementptr inbounds nuw i8, ptr %1, i64 24 %11 = load i64, ptr %10, align 8, !alias.scope !6302, !noalias !6300, !noundef !7 call void @_ZN5serde9__private2de7content21visit_content_map_ref17hc5d5610e42a88217E.llvm.12815775647222681290(ptr noalias noundef nonnull sret([24 x i8]) align 8 captures(none) dereferenceable(24) %4, ptr noalias noundef nonnull readonly align 8 %9, i64 noundef %11) - %.pr = load i64, ptr %4, align 8 + %.pr = load i64, ptr %4, align 8, !range !91, !noundef !7 call void @llvm.lifetime.end.p0(i64 0, ptr nonnull %3) %12 = icmp eq i64 %.pr, -9223372036854775808 br i1 %12, label %"_ZN106_$LT$serde..__private..de..content..ContentRefDeserializer$LT$E$GT$$u20$as$u20$serde..de..Deserializer$GT$15deserialize_map17h7b3f25c477d5b0f5E.exit._crit_edge", label %13 "_ZN106_$LT$serde..__private..de..content..ContentRefDeserializer$LT$E$GT$$u20$as$u20$serde..de..Deserializer$GT$15deserialize_map17h7b3f25c477d5b0f5E.exit._crit_edge": ; preds = %"_ZN106_$LT$serde..__private..de..content..ContentRefDeserializer$LT$E$GT$$u20$as$u20$serde..de..Deserializer$GT$15deserialize_map17h7b3f25c477d5b0f5E.exit" %.phi.trans.insert = getelementptr inbounds nuw i8, ptr %4, i64 8 - %.pre = load ptr, ptr %.phi.trans.insert, align 8 + %.pre = load ptr, ptr %.phi.trans.insert, align 8, !nonnull !7, !align !280, !noundef !7 br label %14 13: ; preds = %"_ZN106_$LT$serde..__private..de..content..ContentRefDeserializer$LT$E$GT$$u20$as$u20$serde..de..Deserializer$GT$15deserialize_map17h7b3f25c477d5b0f5E.exit" @@ -28702,14 +28698,14 @@ define hidden void @"_ZN10tokenizers10processors8sequence1_95_$LT$impl$u20$serde %10 = getelementptr inbounds nuw i8, ptr %1, i64 24 %11 = load i64, ptr %10, align 8, !alias.scope !6370, !noalias !6368, !noundef !7 call void @_ZN5serde9__private2de7content21visit_content_map_ref17h5bb345dcda91e11aE.llvm.12815775647222681290(ptr noalias noundef nonnull sret([24 x i8]) align 8 captures(none) dereferenceable(24) %4, ptr noalias noundef nonnull readonly align 8 %9, i64 noundef %11) - %.pr = load i64, ptr %4, align 8 + %.pr = load i64, ptr %4, align 8, !range !91, !noundef !7 call void @llvm.lifetime.end.p0(i64 0, ptr nonnull %3) %12 = icmp eq i64 %.pr, -9223372036854775808 br i1 %12, label %"_ZN106_$LT$serde..__private..de..content..ContentRefDeserializer$LT$E$GT$$u20$as$u20$serde..de..Deserializer$GT$15deserialize_map17h14e186ececf1cb45E.exit._crit_edge", label %13 "_ZN106_$LT$serde..__private..de..content..ContentRefDeserializer$LT$E$GT$$u20$as$u20$serde..de..Deserializer$GT$15deserialize_map17h14e186ececf1cb45E.exit._crit_edge": ; preds = %"_ZN106_$LT$serde..__private..de..content..ContentRefDeserializer$LT$E$GT$$u20$as$u20$serde..de..Deserializer$GT$15deserialize_map17h14e186ececf1cb45E.exit" %.phi.trans.insert = getelementptr inbounds nuw i8, ptr %4, i64 8 - %.pre = load ptr, ptr %.phi.trans.insert, align 8 + %.pre = load ptr, ptr %.phi.trans.insert, align 8, !nonnull !7, !align !280, !noundef !7 br label %14 13: ; preds = %"_ZN106_$LT$serde..__private..de..content..ContentRefDeserializer$LT$E$GT$$u20$as$u20$serde..de..Deserializer$GT$15deserialize_map17h14e186ececf1cb45E.exit" @@ -30838,16 +30834,16 @@ attributes #53 = { noreturn } !456 = distinct !{!456, !457, !"_ZN68_$LT$serde_json..read..StrRead$u20$as$u20$serde_json..read..Read$GT$7discard17h635caaf98cbad01eE.llvm.14160285242575610615: argument 0"} !457 = distinct !{!457, !"_ZN68_$LT$serde_json..read..StrRead$u20$as$u20$serde_json..read..Read$GT$7discard17h635caaf98cbad01eE.llvm.14160285242575610615"} !458 = !{!440, !442, !443} -!459 = !{!460, !462, !464, !466} -!460 = distinct !{!460, !461, !"_ZN77_$LT$alloc..raw_vec..RawVec$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9c674f5a8e046322E.llvm.1287153784043347726: argument 0"} -!461 = distinct !{!461, !"_ZN77_$LT$alloc..raw_vec..RawVec$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9c674f5a8e046322E.llvm.1287153784043347726"} -!462 = distinct !{!462, !463, !"_ZN4core3ptr53drop_in_place$LT$alloc..raw_vec..RawVec$LT$u8$GT$$GT$17h7883b6b94543fb88E.llvm.1287153784043347726: argument 0"} -!463 = distinct !{!463, !"_ZN4core3ptr53drop_in_place$LT$alloc..raw_vec..RawVec$LT$u8$GT$$GT$17h7883b6b94543fb88E.llvm.1287153784043347726"} -!464 = distinct !{!464, !465, !"_ZN4core3ptr46drop_in_place$LT$alloc..vec..Vec$LT$u8$GT$$GT$17h877c5bb4bd3d5bd6E: argument 0"} -!465 = distinct !{!465, !"_ZN4core3ptr46drop_in_place$LT$alloc..vec..Vec$LT$u8$GT$$GT$17h877c5bb4bd3d5bd6E"} -!466 = distinct !{!466, !467, !"_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17h081126bf60e73432E: argument 0"} -!467 = distinct !{!467, !"_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17h081126bf60e73432E"} -!468 = !{i8 0, i8 7} +!459 = !{i8 0, i8 7} +!460 = !{!461, !463, !465, !467} +!461 = distinct !{!461, !462, !"_ZN77_$LT$alloc..raw_vec..RawVec$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9c674f5a8e046322E.llvm.1287153784043347726: argument 0"} +!462 = distinct !{!462, !"_ZN77_$LT$alloc..raw_vec..RawVec$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9c674f5a8e046322E.llvm.1287153784043347726"} +!463 = distinct !{!463, !464, !"_ZN4core3ptr53drop_in_place$LT$alloc..raw_vec..RawVec$LT$u8$GT$$GT$17h7883b6b94543fb88E.llvm.1287153784043347726: argument 0"} +!464 = distinct !{!464, !"_ZN4core3ptr53drop_in_place$LT$alloc..raw_vec..RawVec$LT$u8$GT$$GT$17h7883b6b94543fb88E.llvm.1287153784043347726"} +!465 = distinct !{!465, !466, !"_ZN4core3ptr46drop_in_place$LT$alloc..vec..Vec$LT$u8$GT$$GT$17h877c5bb4bd3d5bd6E: argument 0"} +!466 = distinct !{!466, !"_ZN4core3ptr46drop_in_place$LT$alloc..vec..Vec$LT$u8$GT$$GT$17h877c5bb4bd3d5bd6E"} +!467 = distinct !{!467, !468, !"_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17h081126bf60e73432E: argument 0"} +!468 = distinct !{!468, !"_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17h081126bf60e73432E"} !469 = !{!470} !470 = distinct !{!470, !471, !"_ZN4core3ptr73drop_in_place$LT$core..option..Option$LT$serde_json..value..Value$GT$$GT$17h6bec1a1e52ecc47dE: argument 0"} !471 = distinct !{!471, !"_ZN4core3ptr73drop_in_place$LT$core..option..Option$LT$serde_json..value..Value$GT$$GT$17h6bec1a1e52ecc47dE"} diff --git a/bench/tree-sitter-rs/optimized/2xun21ofbsn7p9xn.ll b/bench/tree-sitter-rs/optimized/2xun21ofbsn7p9xn.ll index a463e960eec..77e70f0fcd9 100644 --- a/bench/tree-sitter-rs/optimized/2xun21ofbsn7p9xn.ll +++ b/bench/tree-sitter-rs/optimized/2xun21ofbsn7p9xn.ll @@ -964,14 +964,13 @@ _ZN9hashbrown3raw5inner13RawTableInner16find_insert_slot17hea573721a387a555E.exi br i1 %exitcond.not.i, label %_ZN9hashbrown3raw5inner13RawTableInner15rehash_in_place17h11ac1c8566f75df4E.exit, label %.lr.ph23.i _ZN9hashbrown3raw5inner13RawTableInner15rehash_in_place17h11ac1c8566f75df4E.exit: ; preds = %244 - %.pre.i11 = load i64, ptr %19, align 8, !alias.scope !103 - %.pre.i11.fr = freeze i64 %.pre.i11 - %.pre40.i = add i64 %.pre.i11.fr, 1 + %.pre.i11 = load i64, ptr %19, align 8, !alias.scope !103, !noundef !7 + %.pre40.i = add i64 %.pre.i11, 1 %246 = lshr i64 %.pre40.i, 3 %247 = mul nuw i64 %246, 7 - %248 = icmp ult i64 %.pre.i11.fr, 8 - %spec.select = select i1 %248, i64 %.pre.i11.fr, i64 %247 - %.pre = load i64, ptr %9, align 8, !alias.scope !103 + %248 = icmp ult i64 %.pre.i11, 8 + %spec.select = select i1 %248, i64 %.pre.i11, i64 %247 + %.pre = load i64, ptr %9, align 8, !alias.scope !103, !noundef !7 br label %_ZN9hashbrown3raw5inner13RawTableInner15rehash_in_place17h11ac1c8566f75df4E.exit.thread _ZN9hashbrown3raw5inner13RawTableInner15rehash_in_place17h11ac1c8566f75df4E.exit.thread: ; preds = %_ZN9hashbrown3raw5inner13RawTableInner15rehash_in_place17h11ac1c8566f75df4E.exit, %_ZN9hashbrown3raw5inner13RawTableInner23prepare_rehash_in_place17h3fecbacdbec0d56eE.exit.i diff --git a/bench/tree-sitter-rs/optimized/3w8fnbh84xi9yzxl.ll b/bench/tree-sitter-rs/optimized/3w8fnbh84xi9yzxl.ll index 904ddc0b86b..8ff3f6e3951 100644 --- a/bench/tree-sitter-rs/optimized/3w8fnbh84xi9yzxl.ll +++ b/bench/tree-sitter-rs/optimized/3w8fnbh84xi9yzxl.ll @@ -465,9 +465,9 @@ define internal fastcc noundef align 8 dereferenceable_or_null(352) ptr @"_ZN21t call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %9), !noalias !98 %42 = getelementptr inbounds nuw i8, ptr %38, i64 32 call void @llvm.experimental.noalias.scope.decl(metadata !101) - %.pre.pre.i.i.i.i.i = load ptr, ptr %42, align 8, !alias.scope !101, !noalias !104 + %.pre.pre.i.i.i.i.i = load ptr, ptr %42, align 8, !alias.scope !101, !noalias !104, !nonnull !4, !noundef !4 %43 = getelementptr inbounds nuw i8, ptr %.pre.pre.i.i.i.i.i, i64 168 - %44 = load ptr, ptr %43, align 8, !noalias !109 + %44 = load ptr, ptr %43, align 8, !noalias !109, !nonnull !4, !align !5, !noundef !4 %45 = load i64, ptr %44, align 8, !range !110, !noalias !109, !noundef !4 %trunc.i.i.i.i.i.i = trunc nuw i64 %45 to i1 br i1 %trunc.i.i.i.i.i.i, label %46, label %_ZN14regex_automata4meta5regex9RegexInfo13is_impossible17h98144260d607b035E.exit.thread.i.i.i.i.i @@ -711,7 +711,7 @@ _ZN14regex_automata4util4pool5inner9THREAD_ID7__getit17hbfe95a96c38d7049E.exit.i to label %._crit_edge.i.i.i.i.i.i.i unwind label %134, !noalias !152 ._crit_edge.i.i.i.i.i.i.i: ; preds = %133 - %.pre.i.i.i.i.i.i.i = load i64, ptr %129, align 8, !alias.scope !149, !noalias !152 + %.pre.i.i.i.i.i.i.i = load i64, ptr %129, align 8, !alias.scope !149, !noalias !152, !noundef !4 br label %138 134: ; preds = %133 @@ -880,15 +880,14 @@ _ZN5regex5regex6string5Regex11is_match_at17h6180c9f417960939E.exit.thread.i.i.i: _ZN5regex5regex6string5Regex11is_match_at17h6180c9f417960939E.exit.i.i.i: ; preds = %.noexc7.i.i.i.i.i, %.noexc5.i.i.i.i.i, %155, %_ZN3std4sync6poison4Flag4done17h5bffa24fa61aa5e0E.exit.i.i.i.i.i.i.i.i, %"_ZN4core3ptr80drop_in_place$LT$alloc..boxed..Box$LT$regex_automata..meta..regex..Cache$GT$$GT$17hf0b8e1b148db6443E.exit.i.i.i.i.i.i" call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %8), !noalias !116 - %.pre.i.i.i.i = load i64, ptr %9, align 8, !range !110, !noalias !98 - %.pre.i.fr.i.i.i = freeze i64 %.pre.i.i.i.i - %.not.i.i.i = icmp eq i64 %.pre.i.fr.i.i.i, 0 + %.pre.i.i.i.i = load i64, ptr %9, align 8, !range !110, !noalias !98, !noundef !4 + %.not.i.i.i = icmp eq i64 %.pre.i.i.i.i, 0 call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %10), !noalias !98 call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %9), !noalias !98 br i1 %.not.i.i.i, label %"_ZN5regex5regex6string5Regex11is_match_at17h6180c9f417960939E.exit.i.i._ZN4core4iter6traits8iterator8Iterator8find_map5check28_$u7b$$u7b$closure$u7d$$u7d$17h44bf2d24d146d5b0E.exit_crit_edge.i", label %"_ZN107_$LT$std..collections..hash..map..Values$LT$K$C$V$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17he2c4c5351be44cb9E.exit.thread.split.loop.exit.i" "_ZN5regex5regex6string5Regex11is_match_at17h6180c9f417960939E.exit.i.i._ZN4core4iter6traits8iterator8Iterator8find_map5check28_$u7b$$u7b$closure$u7d$$u7d$17h44bf2d24d146d5b0E.exit_crit_edge.i": ; preds = %_ZN5regex5regex6string5Regex11is_match_at17h6180c9f417960939E.exit.i.i.i - %.pre.i = load i64, ptr %.sroa.01.sroa.8.0..sroa_idx, align 8, !alias.scope !82, !noalias !89 + %.pre.i = load i64, ptr %.sroa.01.sroa.8.0..sroa_idx, align 8, !alias.scope !82, !noalias !89, !noundef !4 br label %"_ZN4core4iter6traits8iterator8Iterator8find_map5check28_$u7b$$u7b$closure$u7d$$u7d$17h44bf2d24d146d5b0E.exit.i" "_ZN4core4iter6traits8iterator8Iterator8find_map5check28_$u7b$$u7b$closure$u7d$$u7d$17h44bf2d24d146d5b0E.exit.i": ; preds = %"_ZN5regex5regex6string5Regex11is_match_at17h6180c9f417960939E.exit.i.i._ZN4core4iter6traits8iterator8Iterator8find_map5check28_$u7b$$u7b$closure$u7d$$u7d$17h44bf2d24d146d5b0E.exit_crit_edge.i", %_ZN5regex5regex6string5Regex11is_match_at17h6180c9f417960939E.exit.thread.i.i.i, %36 @@ -1098,8 +1097,8 @@ define hidden void @_ZN21tree_sitter_highlight22HighlightConfiguration3new17hc15 to label %.noexc unwind label %27 .noexc: ; preds = %25 - %.pre.i.i = load i64, ptr %.sroa.578.0..sroa_idx, align 8, !alias.scope !172, !noalias !177 - %.pre = load ptr, ptr %.sroa.477.0..sroa_idx, align 8, !alias.scope !172, !noalias !177 + %.pre.i.i = load i64, ptr %.sroa.578.0..sroa_idx, align 8, !alias.scope !172, !noalias !177, !noundef !4 + %.pre = load ptr, ptr %.sroa.477.0..sroa_idx, align 8, !alias.scope !172, !noalias !177, !nonnull !4, !noundef !4 br label %29 26: ; preds = %64, %.thread190, %27 @@ -1131,7 +1130,7 @@ define hidden void @_ZN21tree_sitter_highlight22HighlightConfiguration3new17hc15 to label %.noexc144 unwind label %27 .noexc144: ; preds = %38 - %.pre.i.i143 = load i64, ptr %.sroa.578.0..sroa_idx, align 8, !alias.scope !188, !noalias !186 + %.pre.i.i143 = load i64, ptr %.sroa.578.0..sroa_idx, align 8, !alias.scope !188, !noalias !186, !noundef !4 br label %39 39: ; preds = %.noexc144, %29 @@ -1152,7 +1151,7 @@ define hidden void @_ZN21tree_sitter_highlight22HighlightConfiguration3new17hc15 to label %.noexc147 unwind label %27 .noexc147: ; preds = %48 - %.pre.i.i146 = load i64, ptr %.sroa.578.0..sroa_idx, align 8, !alias.scope !198, !noalias !196 + %.pre.i.i146 = load i64, ptr %.sroa.578.0..sroa_idx, align 8, !alias.scope !198, !noalias !196, !noundef !4 br label %49 49: ; preds = %.noexc147, %39 @@ -2336,7 +2335,7 @@ define internal fastcc void @_ZN21tree_sitter_highlight18HighlightIterLayer3new1 to label %._crit_edge.i120 unwind label %202, !noalias !328 ._crit_edge.i120: ; preds = %201 - %.pre.i = load i64, ptr %52, align 8, !alias.scope !325, !noalias !328 + %.pre.i = load i64, ptr %52, align 8, !alias.scope !325, !noalias !328, !noundef !4 br label %206 202: ; preds = %201 @@ -2441,7 +2440,7 @@ define internal fastcc void @_ZN21tree_sitter_highlight18HighlightIterLayer3new1 to label %.noexc127 unwind label %.loopexit.split-lp.loopexit .noexc127: ; preds = %238 - %.pre.i126 = load i64, ptr %234, align 8, !alias.scope !339, !noalias !342 + %.pre.i126 = load i64, ptr %234, align 8, !alias.scope !339, !noalias !342, !noundef !4 br label %"_ZN5alloc3vec16Vec$LT$T$C$A$GT$4push17h0e428065904d3132E.exit" "_ZN5alloc3vec16Vec$LT$T$C$A$GT$4push17h0e428065904d3132E.exit": ; preds = %233, %.noexc127 @@ -2460,7 +2459,7 @@ define internal fastcc void @_ZN21tree_sitter_highlight18HighlightIterLayer3new1 store i8 %227, ptr %246, align 8 call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %33) call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %.sroa.73) - %.pre = load ptr, ptr %.sroa.9.0..sroa_idx, align 8, !alias.scope !307, !noalias !312 + %.pre = load ptr, ptr %.sroa.9.0..sroa_idx, align 8, !alias.scope !307, !noalias !312, !noundef !4 br label %150 .thread48: ; preds = %.loopexit.split-lp, %.thread56 @@ -2555,7 +2554,7 @@ define internal fastcc void @_ZN21tree_sitter_highlight18HighlightIterLayer3new1 to label %._crit_edge.i134 unwind label %268, !noalias !357 ._crit_edge.i134: ; preds = %267 - %.pre.i135 = load i64, ptr %50, align 8, !alias.scope !354, !noalias !357 + %.pre.i135 = load i64, ptr %50, align 8, !alias.scope !354, !noalias !357, !noundef !4 br label %272 268: ; preds = %267 @@ -2843,7 +2842,7 @@ define internal fastcc void @"_ZN21tree_sitter_highlight22HighlightIter$LT$F$GT$ to label %._crit_edge.i unwind label %42 ._crit_edge.i: ; preds = %41 - %.pre.i = load i64, ptr %17, align 8, !alias.scope !396 + %.pre.i = load i64, ptr %17, align 8, !alias.scope !396, !noundef !4 br label %65 42: ; preds = %41 @@ -3488,7 +3487,7 @@ define hidden noundef i8 @_ZN21tree_sitter_highlight12HtmlRenderer6render17h85f6 call void @llvm.assume(i1 %215) %216 = getelementptr inbounds { { { i64, ptr }, i64 }, { i64, i64 }, i8, [7 x i8] }, ptr %198, i64 %199 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(48) %44, ptr noundef nonnull align 8 dereferenceable(48) %216, i64 48, i1 false), !noalias !448 - %.pr.i = load i64, ptr %44, align 8, !alias.scope !449, !noalias !430 + %.pr.i = load i64, ptr %44, align 8, !range !55, !alias.scope !449, !noalias !430, !noundef !4 call void @llvm.experimental.noalias.scope.decl(metadata !449) %217 = icmp eq i64 %.pr.i, -9223372036854775808 br i1 %217, label %"_ZN4core3ptr82drop_in_place$LT$core..option..Option$LT$tree_sitter_highlight..LocalScope$GT$$GT$17hc2dcc86661d5b413E.exit.i", label %218 @@ -3511,7 +3510,7 @@ define hidden noundef i8 @_ZN21tree_sitter_highlight12HtmlRenderer6render17h85f6 "_ZN4core3ptr54drop_in_place$LT$tree_sitter_highlight..LocalScope$GT$17hd3a8d36d13c6ecafE.exit.i.i": ; preds = %220, %.noexc56 call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %35), !noalias !452 - %.pre.i = load i64, ptr %183, align 8, !noalias !422 + %.pre.i = load i64, ptr %183, align 8, !noalias !422, !noundef !4 br label %"_ZN4core3ptr82drop_in_place$LT$core..option..Option$LT$tree_sitter_highlight..LocalScope$GT$$GT$17hc2dcc86661d5b413E.exit.i" "_ZN4core3ptr82drop_in_place$LT$core..option..Option$LT$tree_sitter_highlight..LocalScope$GT$$GT$17hc2dcc86661d5b413E.exit.i": ; preds = %"_ZN4core3ptr54drop_in_place$LT$tree_sitter_highlight..LocalScope$GT$17hd3a8d36d13c6ecafE.exit.i.i", %"_ZN5alloc3vec16Vec$LT$T$C$A$GT$3pop17h315ab067247c5860E.exit.i" @@ -3559,7 +3558,7 @@ define hidden noundef i8 @_ZN21tree_sitter_highlight12HtmlRenderer6render17h85f6 br i1 %238, label %239, label %"._ZN4core6option15Option$LT$T$GT$18get_or_insert_with17h852a6b9014e2bb26E.exit296.i_crit_edge" "._ZN4core6option15Option$LT$T$GT$18get_or_insert_with17h852a6b9014e2bb26E.exit296.i_crit_edge": ; preds = %236 - %.pre1579 = load ptr, ptr %131, align 8, !noalias !422 + %.pre1579 = load ptr, ptr %131, align 8, !noalias !422, !noundef !4 br label %"_ZN4core6option15Option$LT$T$GT$18get_or_insert_with17h852a6b9014e2bb26E.exit296.i" 239: ; preds = %236 @@ -3852,7 +3851,7 @@ define hidden noundef i8 @_ZN21tree_sitter_highlight12HtmlRenderer6render17h85f6 to label %.noexc66 unwind label %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit .noexc66: ; preds = %318 - %.pre.i.i = load i64, ptr %311, align 8, !alias.scope !479, !noalias !422 + %.pre.i.i = load i64, ptr %311, align 8, !alias.scope !479, !noalias !422, !noundef !4 br label %"_ZN5alloc3vec16Vec$LT$T$C$A$GT$4push17h4765894086c1dbecE.exit.i" "_ZN5alloc3vec16Vec$LT$T$C$A$GT$4push17h4765894086c1dbecE.exit.i": ; preds = %.noexc66, %310 @@ -4120,7 +4119,7 @@ define hidden noundef i8 @_ZN21tree_sitter_highlight12HtmlRenderer6render17h85f6 to label %.noexc76 unwind label %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit .noexc76: ; preds = %420 - %.pre.i304.i = load i64, ptr %416, align 8, !alias.scope !508, !noalias !511 + %.pre.i304.i = load i64, ptr %416, align 8, !alias.scope !508, !noalias !511, !noundef !4 br label %"_ZN5alloc3vec16Vec$LT$T$C$A$GT$4push17hd71258b74fb417cdE.exit.i" "_ZN5alloc3vec16Vec$LT$T$C$A$GT$4push17hd71258b74fb417cdE.exit.i": ; preds = %.noexc76, %413 @@ -4162,7 +4161,7 @@ define hidden noundef i8 @_ZN21tree_sitter_highlight12HtmlRenderer6render17h85f6 br i1 %432, label %433, label %".critedge267.i._ZN4core6option15Option$LT$T$GT$18get_or_insert_with17h852a6b9014e2bb26E.exit307.i_crit_edge" ".critedge267.i._ZN4core6option15Option$LT$T$GT$18get_or_insert_with17h852a6b9014e2bb26E.exit307.i_crit_edge": ; preds = %.critedge267.i - %.pre = load ptr, ptr %131, align 8, !noalias !422 + %.pre = load ptr, ptr %131, align 8, !noalias !422, !noundef !4 br label %"_ZN4core6option15Option$LT$T$GT$18get_or_insert_with17h852a6b9014e2bb26E.exit307.i" 433: ; preds = %.critedge267.i @@ -4295,7 +4294,7 @@ define hidden noundef i8 @_ZN21tree_sitter_highlight12HtmlRenderer6render17h85f6 to label %._crit_edge.i.i unwind label %469, !noalias !529 ._crit_edge.i.i: ; preds = %468 - %.pre.i309.i = load i64, ptr %183, align 8, !alias.scope !526, !noalias !529 + %.pre.i309.i = load i64, ptr %183, align 8, !alias.scope !526, !noalias !529, !noundef !4 br label %473 469: ; preds = %468 @@ -4634,7 +4633,7 @@ define hidden noundef i8 @_ZN21tree_sitter_highlight12HtmlRenderer6render17h85f6 br i1 %565, label %566, label %._crit_edge.i321.i._crit_edge ._crit_edge.i321.i._crit_edge: ; preds = %._crit_edge.i321.i - %.pre1580 = load i64, ptr %64, align 8, !alias.scope !563, !noalias !566 + %.pre1580 = load i64, ptr %64, align 8, !alias.scope !563, !noalias !566, !noundef !4 br label %575 566: ; preds = %._crit_edge.i321.i @@ -4642,7 +4641,7 @@ define hidden noundef i8 @_ZN21tree_sitter_highlight12HtmlRenderer6render17h85f6 to label %._crit_edge.i.i.i unwind label %567, !noalias !568 ._crit_edge.i.i.i: ; preds = %566 - %.pre.i.i.i = load i64, ptr %64, align 8, !alias.scope !563, !noalias !566 + %.pre.i.i.i = load i64, ptr %64, align 8, !alias.scope !563, !noalias !566, !noundef !4 br label %575 567: ; preds = %566 @@ -5109,7 +5108,7 @@ default.unreachable: ; preds = %658 to label %.noexc96 unwind label %659 .noexc96: ; preds = %669 - %.pre.i95 = load i64, ptr %99, align 8, !alias.scope !614 + %.pre.i95 = load i64, ptr %99, align 8, !alias.scope !614, !noundef !4 br label %"_ZN5alloc3vec16Vec$LT$T$C$A$GT$4push17h64d9d89c978f6eaeE.exit" "_ZN5alloc3vec16Vec$LT$T$C$A$GT$4push17h64d9d89c978f6eaeE.exit": ; preds = %.critedge, %.noexc96 @@ -5211,7 +5210,7 @@ default.unreachable: ; preds = %658 to label %.noexc103 unwind label %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit .noexc103: ; preds = %710 - %.pre.i102 = load i64, ptr %59, align 8, !alias.scope !627 + %.pre.i102 = load i64, ptr %59, align 8, !alias.scope !627, !noundef !4 br label %904 711: ; preds = %658 @@ -5364,7 +5363,7 @@ _ZN21tree_sitter_highlight12HtmlRenderer19add_carriage_return17h253e4701b75d690e to label %.noexc118 unwind label %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit .noexc118: ; preds = %766 - %.pre.i.i.i111 = load i64, ptr %99, align 8, !alias.scope !683, !noalias !676 + %.pre.i.i.i111 = load i64, ptr %99, align 8, !alias.scope !683, !noalias !676, !noundef !4 br label %"_ZN132_$LT$alloc..vec..Vec$LT$T$C$A$GT$$u20$as$u20$alloc..vec..spec_extend..SpecExtend$LT$$RF$T$C$core..slice..iter..Iter$LT$T$GT$$GT$$GT$11spec_extend17hc5b1c702ac4dd55aE.exit.i.i" "_ZN132_$LT$alloc..vec..Vec$LT$T$C$A$GT$$u20$as$u20$alloc..vec..spec_extend..SpecExtend$LT$$RF$T$C$core..slice..iter..Iter$LT$T$GT$$GT$$GT$11spec_extend17hc5b1c702ac4dd55aE.exit.i.i": ; preds = %.noexc118, %761 @@ -5385,7 +5384,7 @@ _ZN21tree_sitter_highlight12HtmlRenderer19add_carriage_return17h253e4701b75d690e to label %.noexc119 unwind label %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit .noexc119: ; preds = %775 - %.pre.i7.i.i = load i64, ptr %99, align 8, !alias.scope !689, !noalias !676 + %.pre.i7.i.i = load i64, ptr %99, align 8, !alias.scope !689, !noalias !676, !noundef !4 br label %"_ZN132_$LT$alloc..vec..Vec$LT$T$C$A$GT$$u20$as$u20$alloc..vec..spec_extend..SpecExtend$LT$$RF$T$C$core..slice..iter..Iter$LT$T$GT$$GT$$GT$11spec_extend17hc5b1c702ac4dd55aE.exit8.i.i" "_ZN132_$LT$alloc..vec..Vec$LT$T$C$A$GT$$u20$as$u20$alloc..vec..spec_extend..SpecExtend$LT$$RF$T$C$core..slice..iter..Iter$LT$T$GT$$GT$$GT$11spec_extend17hc5b1c702ac4dd55aE.exit8.i.i": ; preds = %.noexc119, %"_ZN132_$LT$alloc..vec..Vec$LT$T$C$A$GT$$u20$as$u20$alloc..vec..spec_extend..SpecExtend$LT$$RF$T$C$core..slice..iter..Iter$LT$T$GT$$GT$$GT$11spec_extend17hc5b1c702ac4dd55aE.exit.i.i" @@ -5406,7 +5405,7 @@ _ZN21tree_sitter_highlight12HtmlRenderer19add_carriage_return17h253e4701b75d690e to label %.noexc120 unwind label %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit .noexc120: ; preds = %784 - %.pre.i9.i.i = load i64, ptr %99, align 8, !alias.scope !695, !noalias !676 + %.pre.i9.i.i = load i64, ptr %99, align 8, !alias.scope !695, !noalias !676, !noundef !4 br label %"_ZN132_$LT$alloc..vec..Vec$LT$T$C$A$GT$$u20$as$u20$alloc..vec..spec_extend..SpecExtend$LT$$RF$T$C$core..slice..iter..Iter$LT$T$GT$$GT$$GT$11spec_extend17hc5b1c702ac4dd55aE.exit10.i.i" "_ZN132_$LT$alloc..vec..Vec$LT$T$C$A$GT$$u20$as$u20$alloc..vec..spec_extend..SpecExtend$LT$$RF$T$C$core..slice..iter..Iter$LT$T$GT$$GT$$GT$11spec_extend17hc5b1c702ac4dd55aE.exit10.i.i": ; preds = %.noexc120, %"_ZN132_$LT$alloc..vec..Vec$LT$T$C$A$GT$$u20$as$u20$alloc..vec..spec_extend..SpecExtend$LT$$RF$T$C$core..slice..iter..Iter$LT$T$GT$$GT$$GT$11spec_extend17hc5b1c702ac4dd55aE.exit8.i.i" @@ -5420,7 +5419,7 @@ _ZN21tree_sitter_highlight12HtmlRenderer19add_carriage_return17h253e4701b75d690e br label %_ZN21tree_sitter_highlight12HtmlRenderer19add_carriage_return17h253e4701b75d690eE.exit.i .thread.i: ; preds = %749, %_ZN21tree_sitter_highlight12HtmlRenderer19add_carriage_return17h253e4701b75d690eE.exit.i - %.pre.i108 = load i64, ptr %99, align 8, !alias.scope !696, !noalias !676 + %.pre.i108 = load i64, ptr %99, align 8, !alias.scope !696, !noalias !676, !noundef !4 br i1 %724, label %"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$8for_each17h89124fc6c06bfd80E.exit.i", label %.lr.ph.i.i109 .lr.ph.i.i109: ; preds = %.thread.i, %"_ZN21tree_sitter_highlight12HtmlRenderer8add_text28_$u7b$$u7b$closure$u7d$$u7d$17hcd2efd32f9ba4f81E.exit.i.i" @@ -5467,7 +5466,7 @@ _ZN21tree_sitter_highlight12HtmlRenderer19add_carriage_return17h253e4701b75d690e unreachable .noexc121: ; preds = %.noexc190 - %.pre.i.i.i.i.i = load i64, ptr %99, align 8, !alias.scope !708, !noalias !676 + %.pre.i.i.i.i.i = load i64, ptr %99, align 8, !alias.scope !708, !noalias !676, !noundef !4 br label %"_ZN21tree_sitter_highlight12HtmlRenderer8add_text28_$u7b$$u7b$closure$u7d$$u7d$17hcd2efd32f9ba4f81E.exit.i.i" "_ZN21tree_sitter_highlight12HtmlRenderer8add_text28_$u7b$$u7b$closure$u7d$$u7d$17hcd2efd32f9ba4f81E.exit.i.i": ; preds = %.noexc121, %.lr.ph.i.i109 @@ -5492,7 +5491,7 @@ _ZN21tree_sitter_highlight12HtmlRenderer19add_carriage_return17h253e4701b75d690e to label %.noexc122 unwind label %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit .noexc122: ; preds = %810 - %.pre.i22.i = load i64, ptr %99, align 8, !alias.scope !696, !noalias !676 + %.pre.i22.i = load i64, ptr %99, align 8, !alias.scope !696, !noalias !676, !noundef !4 br label %"_ZN5alloc3vec16Vec$LT$T$C$A$GT$4push17h64d9d89c978f6eaeE.exit.i" "_ZN5alloc3vec16Vec$LT$T$C$A$GT$4push17h64d9d89c978f6eaeE.exit.i": ; preds = %.noexc122, %"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$8for_each17h89124fc6c06bfd80E.exit.i" @@ -5514,7 +5513,7 @@ _ZN21tree_sitter_highlight12HtmlRenderer19add_carriage_return17h253e4701b75d690e to label %.noexc123 unwind label %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit .noexc123: ; preds = %820 - %.pre.i23.i = load i64, ptr %109, align 8, !alias.scope !709, !noalias !676 + %.pre.i23.i = load i64, ptr %109, align 8, !alias.scope !709, !noalias !676, !noundef !4 br label %"_ZN5alloc3vec16Vec$LT$T$C$A$GT$4push17hdf63d8ee2d79b5a3E.exit.i" "_ZN5alloc3vec16Vec$LT$T$C$A$GT$4push17hdf63d8ee2d79b5a3E.exit.i": ; preds = %.noexc123, %"_ZN5alloc3vec16Vec$LT$T$C$A$GT$4push17h64d9d89c978f6eaeE.exit.i" @@ -5570,7 +5569,7 @@ _ZN21tree_sitter_highlight12HtmlRenderer19add_carriage_return17h253e4701b75d690e ] .noexc125: ; preds = %.noexc183 - %.pre.i.i35.i = load i64, ptr %99, align 8, !alias.scope !727, !noalias !726 + %.pre.i.i35.i = load i64, ptr %99, align 8, !alias.scope !727, !noalias !726, !noundef !4 br label %"_ZN132_$LT$alloc..vec..Vec$LT$T$C$A$GT$$u20$as$u20$alloc..vec..spec_extend..SpecExtend$LT$$RF$T$C$core..slice..iter..Iter$LT$T$GT$$GT$$GT$11spec_extend17hc5b1c702ac4dd55aE.exit.i34.i" "_ZN132_$LT$alloc..vec..Vec$LT$T$C$A$GT$$u20$as$u20$alloc..vec..spec_extend..SpecExtend$LT$$RF$T$C$core..slice..iter..Iter$LT$T$GT$$GT$$GT$11spec_extend17hc5b1c702ac4dd55aE.exit.i34.i": ; preds = %.noexc125, %"_ZN21tree_sitter_highlight5c_lib13TSHighlighter9highlight28_$u7b$$u7b$closure$u7d$$u7d$17h55c66078f223813cE.exit.i32.i" @@ -5594,7 +5593,7 @@ _ZN21tree_sitter_highlight12HtmlRenderer19add_carriage_return17h253e4701b75d690e to label %.noexc126 unwind label %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit .noexc126: ; preds = %851 - %.pre.i10.i.i = load i64, ptr %99, align 8, !alias.scope !734, !noalias !726 + %.pre.i10.i.i = load i64, ptr %99, align 8, !alias.scope !734, !noalias !726, !noundef !4 br label %"_ZN132_$LT$alloc..vec..Vec$LT$T$C$A$GT$$u20$as$u20$alloc..vec..spec_extend..SpecExtend$LT$$RF$T$C$core..slice..iter..Iter$LT$T$GT$$GT$$GT$11spec_extend17hc5b1c702ac4dd55aE.exit11.i.i" "_ZN132_$LT$alloc..vec..Vec$LT$T$C$A$GT$$u20$as$u20$alloc..vec..spec_extend..SpecExtend$LT$$RF$T$C$core..slice..iter..Iter$LT$T$GT$$GT$$GT$11spec_extend17hc5b1c702ac4dd55aE.exit11.i.i": ; preds = %.noexc126, %848 @@ -5615,7 +5614,7 @@ _ZN21tree_sitter_highlight12HtmlRenderer19add_carriage_return17h253e4701b75d690e to label %.noexc127 unwind label %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit .noexc127: ; preds = %860 - %.pre.i12.i.i = load i64, ptr %99, align 8, !alias.scope !740, !noalias !726 + %.pre.i12.i.i = load i64, ptr %99, align 8, !alias.scope !740, !noalias !726, !noundef !4 br label %"_ZN132_$LT$alloc..vec..Vec$LT$T$C$A$GT$$u20$as$u20$alloc..vec..spec_extend..SpecExtend$LT$$RF$T$C$core..slice..iter..Iter$LT$T$GT$$GT$$GT$11spec_extend17hc5b1c702ac4dd55aE.exit13.i.i" "_ZN132_$LT$alloc..vec..Vec$LT$T$C$A$GT$$u20$as$u20$alloc..vec..spec_extend..SpecExtend$LT$$RF$T$C$core..slice..iter..Iter$LT$T$GT$$GT$$GT$11spec_extend17hc5b1c702ac4dd55aE.exit13.i.i": ; preds = %.noexc127, %"_ZN132_$LT$alloc..vec..Vec$LT$T$C$A$GT$$u20$as$u20$alloc..vec..spec_extend..SpecExtend$LT$$RF$T$C$core..slice..iter..Iter$LT$T$GT$$GT$$GT$11spec_extend17hc5b1c702ac4dd55aE.exit11.i.i" @@ -5652,7 +5651,7 @@ _ZN21tree_sitter_highlight12HtmlRenderer19add_carriage_return17h253e4701b75d690e ] .noexc128: ; preds = %.noexc177 - %.pre.i14.i.i = load i64, ptr %99, align 8, !alias.scope !746, !noalias !726 + %.pre.i14.i.i = load i64, ptr %99, align 8, !alias.scope !746, !noalias !726, !noundef !4 br label %_ZN21tree_sitter_highlight12HtmlRenderer15start_highlight17ha8eb6d22ec521af7E.exit.i _ZN21tree_sitter_highlight12HtmlRenderer15start_highlight17ha8eb6d22ec521af7E.exit.i: ; preds = %.noexc128, %866 @@ -5686,7 +5685,7 @@ _ZN21tree_sitter_highlight12HtmlRenderer15start_highlight17ha8eb6d22ec521af7E.ex br label %.backedge.i107 .backedge.i107: ; preds = %_ZN21tree_sitter_highlight12HtmlRenderer15start_highlight17ha8eb6d22ec521af7E.exit.i, %.backedge.sink.split.i, %"_ZN5alloc3vec16Vec$LT$T$C$A$GT$4push17hdf63d8ee2d79b5a3E.exit.i", %746 - %.pr.i.pre.i = load ptr, ptr %27, align 8, !alias.scope !653, !noalias !638 + %.pr.i.pre.i = load ptr, ptr %27, align 8, !alias.scope !653, !noalias !638, !noundef !4 br label %725 887: ; preds = %884, %883, %882, %881, %_ZN21tree_sitter_highlight12HtmlRenderer19add_carriage_return17h253e4701b75d690eE.exit.i @@ -5703,7 +5702,7 @@ _ZN21tree_sitter_highlight12HtmlRenderer15start_highlight17ha8eb6d22ec521af7E.ex to label %.noexc129 unwind label %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit .noexc129: ; preds = %892 - %.pre.i.i28.i = load i64, ptr %99, align 8, !alias.scope !756, !noalias !754 + %.pre.i.i28.i = load i64, ptr %99, align 8, !alias.scope !756, !noalias !754, !noundef !4 br label %"_ZN5alloc3vec16Vec$LT$T$C$A$GT$17extend_from_slice17h60733569446dbec6E.exit.i" "_ZN5alloc3vec16Vec$LT$T$C$A$GT$17extend_from_slice17h60733569446dbec6E.exit.i": ; preds = %.noexc129, %887 @@ -5724,7 +5723,7 @@ _ZN21tree_sitter_highlight12HtmlRenderer15start_highlight17ha8eb6d22ec521af7E.ex to label %.noexc130 unwind label %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit .noexc130: ; preds = %900 - %.pre.i29.i = load i64, ptr %99, align 8, !alias.scope !757, !noalias !676 + %.pre.i29.i = load i64, ptr %99, align 8, !alias.scope !757, !noalias !676, !noundef !4 br label %"_ZN5alloc3vec16Vec$LT$T$C$A$GT$4push17h64d9d89c978f6eaeE.exit30.i" "_ZN5alloc3vec16Vec$LT$T$C$A$GT$4push17h64d9d89c978f6eaeE.exit30.i": ; preds = %.noexc130, %896 @@ -5778,7 +5777,7 @@ _ZN21tree_sitter_highlight12HtmlRenderer8add_text17hdeea79352d0aaa8eE.exit: ; pr to label %.noexc133 unwind label %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit .noexc133: ; preds = %922 - %.pre.i.i131 = load i64, ptr %99, align 8, !alias.scope !768 + %.pre.i.i131 = load i64, ptr %99, align 8, !alias.scope !768, !noundef !4 br label %"_ZN132_$LT$alloc..vec..Vec$LT$T$C$A$GT$$u20$as$u20$alloc..vec..spec_extend..SpecExtend$LT$$RF$T$C$core..slice..iter..Iter$LT$T$GT$$GT$$GT$11spec_extend17hc5b1c702ac4dd55aE.exit.i" "_ZN132_$LT$alloc..vec..Vec$LT$T$C$A$GT$$u20$as$u20$alloc..vec..spec_extend..SpecExtend$LT$$RF$T$C$core..slice..iter..Iter$LT$T$GT$$GT$$GT$11spec_extend17hc5b1c702ac4dd55aE.exit.i": ; preds = %.noexc133, %"_ZN21tree_sitter_highlight5c_lib13TSHighlighter9highlight28_$u7b$$u7b$closure$u7d$$u7d$17h55c66078f223813cE.exit.i" @@ -5802,7 +5801,7 @@ _ZN21tree_sitter_highlight12HtmlRenderer8add_text17hdeea79352d0aaa8eE.exit: ; pr to label %.noexc134 unwind label %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit .noexc134: ; preds = %932 - %.pre.i10.i = load i64, ptr %99, align 8, !alias.scope !774 + %.pre.i10.i = load i64, ptr %99, align 8, !alias.scope !774, !noundef !4 br label %"_ZN132_$LT$alloc..vec..Vec$LT$T$C$A$GT$$u20$as$u20$alloc..vec..spec_extend..SpecExtend$LT$$RF$T$C$core..slice..iter..Iter$LT$T$GT$$GT$$GT$11spec_extend17hc5b1c702ac4dd55aE.exit11.i" "_ZN132_$LT$alloc..vec..Vec$LT$T$C$A$GT$$u20$as$u20$alloc..vec..spec_extend..SpecExtend$LT$$RF$T$C$core..slice..iter..Iter$LT$T$GT$$GT$$GT$11spec_extend17hc5b1c702ac4dd55aE.exit11.i": ; preds = %.noexc134, %929 @@ -5823,7 +5822,7 @@ _ZN21tree_sitter_highlight12HtmlRenderer8add_text17hdeea79352d0aaa8eE.exit: ; pr to label %.noexc135 unwind label %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit .noexc135: ; preds = %941 - %.pre.i12.i = load i64, ptr %99, align 8, !alias.scope !780 + %.pre.i12.i = load i64, ptr %99, align 8, !alias.scope !780, !noundef !4 br label %"_ZN132_$LT$alloc..vec..Vec$LT$T$C$A$GT$$u20$as$u20$alloc..vec..spec_extend..SpecExtend$LT$$RF$T$C$core..slice..iter..Iter$LT$T$GT$$GT$$GT$11spec_extend17hc5b1c702ac4dd55aE.exit13.i" "_ZN132_$LT$alloc..vec..Vec$LT$T$C$A$GT$$u20$as$u20$alloc..vec..spec_extend..SpecExtend$LT$$RF$T$C$core..slice..iter..Iter$LT$T$GT$$GT$$GT$11spec_extend17hc5b1c702ac4dd55aE.exit13.i": ; preds = %.noexc135, %"_ZN132_$LT$alloc..vec..Vec$LT$T$C$A$GT$$u20$as$u20$alloc..vec..spec_extend..SpecExtend$LT$$RF$T$C$core..slice..iter..Iter$LT$T$GT$$GT$$GT$11spec_extend17hc5b1c702ac4dd55aE.exit11.i" @@ -5847,7 +5846,7 @@ _ZN21tree_sitter_highlight12HtmlRenderer8add_text17hdeea79352d0aaa8eE.exit: ; pr to label %.noexc136 unwind label %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit .noexc136: ; preds = %951 - %.pre.i14.i = load i64, ptr %99, align 8, !alias.scope !786 + %.pre.i14.i = load i64, ptr %99, align 8, !alias.scope !786, !noundef !4 br label %_ZN21tree_sitter_highlight12HtmlRenderer15start_highlight17ha8eb6d22ec521af7E.exit _ZN21tree_sitter_highlight12HtmlRenderer15start_highlight17ha8eb6d22ec521af7E.exit: ; preds = %947, %.noexc136 @@ -5872,7 +5871,7 @@ _ZN21tree_sitter_highlight12HtmlRenderer15start_highlight17ha8eb6d22ec521af7E.ex to label %.noexc139 unwind label %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit .noexc139: ; preds = %962 - %.pre.i.i138 = load i64, ptr %99, align 8, !alias.scope !794 + %.pre.i.i138 = load i64, ptr %99, align 8, !alias.scope !794, !noundef !4 br label %_ZN21tree_sitter_highlight12HtmlRenderer13end_highlight17h7450f674b0b93beeE.exit _ZN21tree_sitter_highlight12HtmlRenderer13end_highlight17h7450f674b0b93beeE.exit: ; preds = %957, %.noexc139 diff --git a/bench/tree-sitter-rs/optimized/4x741xowia4bwziy.ll b/bench/tree-sitter-rs/optimized/4x741xowia4bwziy.ll index bfbc5b791b7..d5bd421013d 100644 --- a/bench/tree-sitter-rs/optimized/4x741xowia4bwziy.ll +++ b/bench/tree-sitter-rs/optimized/4x741xowia4bwziy.ll @@ -1250,7 +1250,7 @@ define hidden void @_ZN9hashbrown3raw13RawTableInner13drop_elements17h09a95a9a81 %.not.not.i.i.i = icmp eq i16 %17, -1 br i1 %.not.not.i.i.i, label %.lr.ph.i.i, label %._crit_edge.i.i -"_ZN91_$LT$hashbrown..raw..RawIter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h6fc773d001823b79E.llvm.3040907392931400275.exit": ; preds = %._crit_edge.i.i, %12 +"_ZN91_$LT$hashbrown..raw..RawIter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h6fc773d001823b79E.llvm.3040907392931400275.exit": ; preds = %12, %._crit_edge.i.i %.sroa.6.1 = phi ptr [ %19, %._crit_edge.i.i ], [ %.sroa.6.018, %12 ] %.sroa.03.1 = phi ptr [ %18, %._crit_edge.i.i ], [ %.sroa.03.019, %12 ] %.lcssa.i.i = phi i16 [ %13, %._crit_edge.i.i ], [ %.sroa.84.016, %12 ] @@ -1323,7 +1323,7 @@ define hidden void @_ZN9hashbrown3raw13RawTableInner13drop_elements17h34bfe1fe9e %.not.not.i.i.i = icmp eq i16 %17, -1 br i1 %.not.not.i.i.i, label %.lr.ph.i.i, label %._crit_edge.i.i -"_ZN91_$LT$hashbrown..raw..RawIter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17hddb29bfef72e1924E.llvm.3040907392931400275.exit": ; preds = %12, %._crit_edge.i.i +"_ZN91_$LT$hashbrown..raw..RawIter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17hddb29bfef72e1924E.llvm.3040907392931400275.exit": ; preds = %._crit_edge.i.i, %12 %.sroa.6.1 = phi ptr [ %19, %._crit_edge.i.i ], [ %.sroa.6.018, %12 ] %.sroa.03.1 = phi ptr [ %18, %._crit_edge.i.i ], [ %.sroa.03.019, %12 ] %.lcssa.i.i = phi i16 [ %13, %._crit_edge.i.i ], [ %.sroa.84.016, %12 ] @@ -1382,7 +1382,7 @@ define hidden void @_ZN9hashbrown3raw13RawTableInner13drop_elements17h4f52a323e6 %.not.not.i.i.i = icmp eq i16 %17, -1 br i1 %.not.not.i.i.i, label %.lr.ph.i.i, label %._crit_edge.i.i -"_ZN91_$LT$hashbrown..raw..RawIter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h9bb11aa99bf9ad14E.llvm.3040907392931400275.exit": ; preds = %._crit_edge.i.i, %12 +"_ZN91_$LT$hashbrown..raw..RawIter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h9bb11aa99bf9ad14E.llvm.3040907392931400275.exit": ; preds = %12, %._crit_edge.i.i %.sroa.6.1 = phi ptr [ %19, %._crit_edge.i.i ], [ %.sroa.6.018, %12 ] %.sroa.03.1 = phi ptr [ %18, %._crit_edge.i.i ], [ %.sroa.03.019, %12 ] %.lcssa.i.i = phi i16 [ %13, %._crit_edge.i.i ], [ %.sroa.84.016, %12 ] @@ -1457,7 +1457,7 @@ define hidden void @_ZN9hashbrown3raw13RawTableInner13drop_elements17h5623a43b44 %.not.not.i.i.i = icmp eq i16 %20, -1 br i1 %.not.not.i.i.i, label %.lr.ph.i.i, label %._crit_edge.i.i -"_ZN91_$LT$hashbrown..raw..RawIter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17he39736d27eb17990E.llvm.3040907392931400275.exit": ; preds = %._crit_edge.i.i, %15 +"_ZN91_$LT$hashbrown..raw..RawIter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17he39736d27eb17990E.llvm.3040907392931400275.exit": ; preds = %15, %._crit_edge.i.i %.sroa.6.1 = phi ptr [ %22, %._crit_edge.i.i ], [ %.sroa.6.018, %15 ] %.sroa.03.1 = phi ptr [ %21, %._crit_edge.i.i ], [ %.sroa.03.019, %15 ] %.lcssa.i.i = phi i16 [ %16, %._crit_edge.i.i ], [ %.sroa.84.016, %15 ] @@ -1530,7 +1530,7 @@ define hidden void @_ZN9hashbrown3raw13RawTableInner13drop_elements17h57827ee345 %.not.not.i.i.i = icmp eq i16 %18, -1 br i1 %.not.not.i.i.i, label %.lr.ph.i.i, label %._crit_edge.i.i -"_ZN91_$LT$hashbrown..raw..RawIter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h4884d8594a05d8d8E.exit": ; preds = %12, %._crit_edge.i.i +"_ZN91_$LT$hashbrown..raw..RawIter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h4884d8594a05d8d8E.exit": ; preds = %._crit_edge.i.i, %12 %.sroa.6.1 = phi ptr [ %20, %._crit_edge.i.i ], [ %.sroa.6.018, %12 ] %.sroa.03.1 = phi ptr [ %19, %._crit_edge.i.i ], [ %.sroa.03.019, %12 ] %.lcssa.i.i = phi i16 [ %13, %._crit_edge.i.i ], [ %.sroa.84.016, %12 ] @@ -1589,7 +1589,7 @@ define hidden void @_ZN9hashbrown3raw13RawTableInner13drop_elements17h9c2ad00c00 %.not.not.i.i.i = icmp eq i16 %17, -1 br i1 %.not.not.i.i.i, label %.lr.ph.i.i, label %._crit_edge.i.i -"_ZN91_$LT$hashbrown..raw..RawIter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h740da3f85c54c960E.llvm.3040907392931400275.exit": ; preds = %12, %._crit_edge.i.i +"_ZN91_$LT$hashbrown..raw..RawIter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h740da3f85c54c960E.llvm.3040907392931400275.exit": ; preds = %._crit_edge.i.i, %12 %.sroa.6.1 = phi ptr [ %19, %._crit_edge.i.i ], [ %.sroa.6.018, %12 ] %.sroa.03.1 = phi ptr [ %18, %._crit_edge.i.i ], [ %.sroa.03.019, %12 ] %.lcssa.i.i = phi i16 [ %13, %._crit_edge.i.i ], [ %.sroa.84.016, %12 ] @@ -1653,7 +1653,7 @@ define hidden void @_ZN9hashbrown3raw13RawTableInner13drop_elements17he2f7db5bf1 %.not.not.i.i.i = icmp eq i16 %17, -1 br i1 %.not.not.i.i.i, label %.lr.ph.i.i, label %._crit_edge.i.i -"_ZN91_$LT$hashbrown..raw..RawIter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17hae547d782c4467a3E.llvm.3040907392931400275.exit": ; preds = %12, %._crit_edge.i.i +"_ZN91_$LT$hashbrown..raw..RawIter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17hae547d782c4467a3E.llvm.3040907392931400275.exit": ; preds = %._crit_edge.i.i, %12 %.sroa.6.1 = phi ptr [ %19, %._crit_edge.i.i ], [ %.sroa.6.018, %12 ] %.sroa.03.1 = phi ptr [ %18, %._crit_edge.i.i ], [ %.sroa.03.019, %12 ] %.lcssa.i.i = phi i16 [ %13, %._crit_edge.i.i ], [ %.sroa.84.016, %12 ] @@ -1712,7 +1712,7 @@ define hidden void @_ZN9hashbrown3raw13RawTableInner13drop_elements17he6124412ac %.not.not.i.i.i = icmp eq i16 %17, -1 br i1 %.not.not.i.i.i, label %.lr.ph.i.i, label %._crit_edge.i.i -"_ZN91_$LT$hashbrown..raw..RawIter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17ha8fcbae64b159f51E.llvm.3040907392931400275.exit": ; preds = %._crit_edge.i.i, %12 +"_ZN91_$LT$hashbrown..raw..RawIter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17ha8fcbae64b159f51E.llvm.3040907392931400275.exit": ; preds = %12, %._crit_edge.i.i %.sroa.6.1 = phi ptr [ %19, %._crit_edge.i.i ], [ %.sroa.6.018, %12 ] %.sroa.03.1 = phi ptr [ %18, %._crit_edge.i.i ], [ %.sroa.03.019, %12 ] %.lcssa.i.i = phi i16 [ %13, %._crit_edge.i.i ], [ %.sroa.84.016, %12 ] @@ -2682,7 +2682,7 @@ define hidden { i64, i8 } @_ZN9hashbrown3raw13RawTableInner19prepare_insert_slot %26 = zext nneg i16 %25 to i64 tail call void @llvm.assume(i1 %.not.i.i) %.phi.trans.insert = getelementptr inbounds nuw i8, ptr %5, i64 %26 - %.pre = load i8, ptr %.phi.trans.insert, align 1 + %.pre = load i8, ptr %.phi.trans.insert, align 1, !noundef !11 br label %_ZN9hashbrown3raw13RawTableInner16find_insert_slot17h936d2cdcb480a581E.llvm.3040907392931400275.exit _ZN9hashbrown3raw13RawTableInner16find_insert_slot17h936d2cdcb480a581E.llvm.3040907392931400275.exit: ; preds = %._crit_edge.i, %21 @@ -3497,7 +3497,7 @@ define hidden noundef nonnull ptr @"_ZN9hashbrown3raw21RawTable$LT$T$C$A$GT$14in %27 = zext nneg i16 %26 to i64 tail call void @llvm.assume(i1 %.not.i.i.i) %.phi.trans.insert.i = getelementptr inbounds nuw i8, ptr %6, i64 %27 - %.pre.i = load i8, ptr %.phi.trans.insert.i, align 1, !noalias !748 + %.pre.i = load i8, ptr %.phi.trans.insert.i, align 1, !noalias !748, !noundef !11 br label %28 28: ; preds = %._crit_edge.i.i, %22 @@ -3790,7 +3790,7 @@ _ZN9hashbrown3raw13RawTableInner20full_buckets_indices17hd4f1a1f609170bffE.exit. to label %132 unwind label %88 .thread69.loopexit: ; preds = %161 - %.pre109 = load i64, ptr %15, align 8, !alias.scope !843, !noalias !844 + %.pre109 = load i64, ptr %15, align 8, !alias.scope !843, !noalias !844, !noundef !11 br label %.thread69 .thread69: ; preds = %.thread69.loopexit, %_ZN9hashbrown3raw13RawTableInner20full_buckets_indices17hd4f1a1f609170bffE.exit.i @@ -4001,7 +4001,7 @@ _ZN9hashbrown3raw13RawTableInner23prepare_rehash_in_place17h17c5779ca74bbe5fE.ex br label %_ZN4core3ptr19swap_nonoverlapping17h456ed7a057b48632E.exit.i _ZN4core3ptr19swap_nonoverlapping17h456ed7a057b48632E.exit.loopexit.i: ; preds = %.preheader.i - %.pre.i23 = load ptr, ptr %0, align 8, !alias.scope !884, !noalias !887 + %.pre.i23 = load ptr, ptr %0, align 8, !alias.scope !884, !noalias !887, !nonnull !11, !noundef !11 br label %_ZN4core3ptr19swap_nonoverlapping17h456ed7a057b48632E.exit.i _ZN4core3ptr19swap_nonoverlapping17h456ed7a057b48632E.exit.i: ; preds = %_ZN4core3ptr19swap_nonoverlapping17h456ed7a057b48632E.exit.loopexit.i, %204 @@ -4188,14 +4188,13 @@ _ZN9hashbrown3raw13RawTableInner16find_insert_slot17h936d2cdcb480a581E.llvm.3040 unreachable _ZN9hashbrown3raw13RawTableInner15rehash_in_place17h5e1937b492ec0710E.exit: ; preds = %293 - %.pre20.i = load i64, ptr %23, align 8, !alias.scope !875 - %.pre20.i.fr = freeze i64 %.pre20.i - %.pre21.i = add i64 %.pre20.i.fr, 1 + %.pre20.i = load i64, ptr %23, align 8, !alias.scope !875, !noundef !11 + %.pre21.i = add i64 %.pre20.i, 1 %296 = lshr i64 %.pre21.i, 3 %297 = mul nuw i64 %296, 7 - %298 = icmp ult i64 %.pre20.i.fr, 8 - %spec.select = select i1 %298, i64 %.pre20.i.fr, i64 %297 - %.pre = load i64, ptr %15, align 8, !alias.scope !875 + %298 = icmp ult i64 %.pre20.i, 8 + %spec.select = select i1 %298, i64 %.pre20.i, i64 %297 + %.pre = load i64, ptr %15, align 8, !alias.scope !875, !noundef !11 br label %_ZN9hashbrown3raw13RawTableInner15rehash_in_place17h5e1937b492ec0710E.exit.thread _ZN9hashbrown3raw13RawTableInner15rehash_in_place17h5e1937b492ec0710E.exit.thread: ; preds = %_ZN9hashbrown3raw13RawTableInner15rehash_in_place17h5e1937b492ec0710E.exit, %_ZN9hashbrown3raw13RawTableInner23prepare_rehash_in_place17h17c5779ca74bbe5fE.exit.i diff --git a/bench/turborepo-rs/optimized/3l7xg3ikfppult5o2lclnyys7.ll b/bench/turborepo-rs/optimized/3l7xg3ikfppult5o2lclnyys7.ll index 450069ea98e..911bdfe6ecf 100644 --- a/bench/turborepo-rs/optimized/3l7xg3ikfppult5o2lclnyys7.ll +++ b/bench/turborepo-rs/optimized/3l7xg3ikfppult5o2lclnyys7.ll @@ -314,7 +314,7 @@ define { i64, i64 } @_RINvMs6_NtCs7oQ2vmvFkJi_9hashbrown3rawINtB6_8RawTableTNtNt to label %.noexc4 unwind label %57 .thread44.loopexit: ; preds = %_ZN9hashbrown3raw13RawTableInner16find_insert_slot17h0f006a34970d6e45E.exit - %.pre79 = load i64, ptr %15, align 8, !alias.scope !57, !noalias !58 + %.pre79 = load i64, ptr %15, align 8, !alias.scope !57, !noalias !58, !noundef !14 br label %.thread44 .thread44: ; preds = %.thread44.loopexit, %59 @@ -565,7 +565,7 @@ _ZN9hashbrown3raw13RawTableInner23prepare_rehash_in_place17hf6e1d40caaeb2c89E.ex br label %_RINvNtCs1LoaDTb72WA_4core3ptr19swap_nonoverlappinghECsff1zCjKRl2o_13turborepo_env.exit.i _RINvNtCs1LoaDTb72WA_4core3ptr19swap_nonoverlappinghECsff1zCjKRl2o_13turborepo_env.exit.loopexit.i: ; preds = %.preheader.i - %.pre.i = load ptr, ptr %0, align 8, !alias.scope !140, !noalias !143 + %.pre.i = load ptr, ptr %0, align 8, !alias.scope !140, !noalias !143, !nonnull !14, !noundef !14 br label %_RINvNtCs1LoaDTb72WA_4core3ptr19swap_nonoverlappinghECsff1zCjKRl2o_13turborepo_env.exit.i _RINvNtCs1LoaDTb72WA_4core3ptr19swap_nonoverlappinghECsff1zCjKRl2o_13turborepo_env.exit.i: ; preds = %_RINvNtCs1LoaDTb72WA_4core3ptr19swap_nonoverlappinghECsff1zCjKRl2o_13turborepo_env.exit.loopexit.i, %198 @@ -751,14 +751,13 @@ _ZN9hashbrown3raw13RawTableInner16find_insert_slot17h0f006a34970d6e45E.exit.i: ; unreachable _ZN9hashbrown3raw13RawTableInner15rehash_in_place17hf9aaf4adba93ecd7E.exit: ; preds = %286 - %.pre15.i = load i64, ptr %21, align 8, !alias.scope !131 - %.pre15.i.fr = freeze i64 %.pre15.i - %.pre16.i = add i64 %.pre15.i.fr, 1 + %.pre15.i = load i64, ptr %21, align 8, !alias.scope !131, !noundef !14 + %.pre16.i = add i64 %.pre15.i, 1 %289 = lshr i64 %.pre16.i, 3 %290 = mul nuw i64 %289, 7 - %291 = icmp ult i64 %.pre15.i.fr, 8 - %spec.select = select i1 %291, i64 %.pre15.i.fr, i64 %290 - %.pre = load i64, ptr %15, align 8, !alias.scope !131 + %291 = icmp ult i64 %.pre15.i, 8 + %spec.select = select i1 %291, i64 %.pre15.i, i64 %290 + %.pre = load i64, ptr %15, align 8, !alias.scope !131, !noundef !14 br label %_ZN9hashbrown3raw13RawTableInner15rehash_in_place17hf9aaf4adba93ecd7E.exit.thread _ZN9hashbrown3raw13RawTableInner15rehash_in_place17hf9aaf4adba93ecd7E.exit.thread: ; preds = %_ZN9hashbrown3raw13RawTableInner15rehash_in_place17hf9aaf4adba93ecd7E.exit, %_ZN9hashbrown3raw13RawTableInner23prepare_rehash_in_place17hf6e1d40caaeb2c89E.exit.i diff --git a/bench/turborepo-rs/optimized/eyin3u3cupdp2wcinr2t4x92g.ll b/bench/turborepo-rs/optimized/eyin3u3cupdp2wcinr2t4x92g.ll index e637e8a263b..e971bec17a9 100644 --- a/bench/turborepo-rs/optimized/eyin3u3cupdp2wcinr2t4x92g.ll +++ b/bench/turborepo-rs/optimized/eyin3u3cupdp2wcinr2t4x92g.ll @@ -822,12 +822,11 @@ _RINvYINtNtNtNtCs1LoaDTb72WA_4core4iter8adapters3map3MapINtNtNtBc_5slice4iter4It call void @llvm.lifetime.end.p0(i64 15, ptr nonnull %.sroa.7.i) store i8 %.sroa.0.0.copyload3.i.us, ptr %5, align 8, !noalias !236 call void @_RINvXs2U_NtNtCs1LoaDTb72WA_4core5slice4iterINtB7_4IterNtNtCseG2FYMysgNb_3wax5token5TokenENtNtNtNtBb_4iter6traits8iterator8Iterator4foldINtNtBS_8variance8VarianceNtB2c_13InvariantSizeENCINvNtNtB1v_8adapters3map8map_foldRBQ_B29_B29_NvYB3u_INtB2c_12UnitVarianceB2z_E13unit_varianceNvYB29_NtNtNtBb_3ops5arith3Add3addE0EBU_.llvm.11100904734654111133(ptr noalias noundef nonnull sret([16 x i8]) align 8 captures(none) dereferenceable(16) %6, ptr noundef nonnull %23, ptr noundef nonnull %20, ptr noalias noundef nonnull align 8 captures(none) dereferenceable(16) %5) #34, !noalias !225 - %.pre8 = load i8, ptr %6, align 8, !range !237, !noalias !225 - %.pre8.fr = freeze i8 %.pre8 + %.pre8 = load i8, ptr %6, align 8, !range !237, !noalias !225, !noundef !5 call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %5) - %.not22.i.us = icmp eq i8 %.pre8.fr, 2 + %.not22.i.us = icmp eq i8 %.pre8, 2 %.sroa.58.0.copyload.i.us = load i8, ptr %.sroa.58.0..sroa_idx.i, align 1, !noalias !238 - %24 = and i8 %.pre8.fr, 1 + %24 = and i8 %.pre8, 1 %.sroa.07.0.not.i.us = icmp eq i8 %24, 0 %spec.select = select i1 %.not22.i.us, i8 %.sroa.58.014.i.us, i8 %.sroa.58.0.copyload.i.us call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %6), !noalias !225 @@ -874,12 +873,11 @@ _RINvYINtNtNtNtCs1LoaDTb72WA_4core4iter8adapters3map3MapINtNtNtBc_5slice4iter4It call void @llvm.lifetime.end.p0(i64 15, ptr nonnull %.sroa.7.i) store i8 %.sroa.0.0.copyload3.i, ptr %5, align 8, !noalias !236 call void @_RINvXs2U_NtNtCs1LoaDTb72WA_4core5slice4iterINtB7_4IterNtNtCseG2FYMysgNb_3wax5token5TokenENtNtNtNtBb_4iter6traits8iterator8Iterator4foldINtNtBS_8variance8VarianceNtB2c_13InvariantSizeENCINvNtNtB1v_8adapters3map8map_foldRBQ_B29_B29_NvYB3u_INtB2c_12UnitVarianceB2z_E13unit_varianceNvYB29_NtNtNtBb_3ops5arith3Add3addE0EBU_.llvm.11100904734654111133(ptr noalias noundef nonnull sret([16 x i8]) align 8 captures(none) dereferenceable(16) %6, ptr noundef nonnull %35, ptr noundef nonnull %32, ptr noalias noundef nonnull align 8 captures(none) dereferenceable(16) %5) #34, !noalias !225 - %.pre = load i8, ptr %6, align 8, !range !237, !noalias !225 - %.pre.fr = freeze i8 %.pre + %.pre = load i8, ptr %6, align 8, !range !237, !noalias !225, !noundef !5 call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %5) - %.not22.i = icmp eq i8 %.pre.fr, 2 + %.not22.i = icmp eq i8 %.pre, 2 %.sroa.7.0.copyload.i = load i64, ptr %.sroa.7.0..sroa_idx.i, align 8, !noalias !238 - %36 = and i8 %.pre.fr, 1 + %36 = and i8 %.pre, 1 %.sroa.07.0.not.i = icmp ne i8 %36, 0 call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %6), !noalias !225 %spec.select27 = select i1 %.not22.i, i64 0, i64 %.sroa.7.0.copyload.i @@ -1709,7 +1707,7 @@ define void @_RINvXs0_NtNtNtCs1LoaDTb72WA_4core4iter8adapters3mapINtB6_3MapINtNt 23: ; preds = %16 call void @_RINvNvMs0_NtCs68wO5nsWeTG_5alloc7raw_vecINtB8_6RawVecppE7reserve21do_reserve_and_handlehNtNtBa_5alloc6GlobalECs5g6BnGVOFtV_12regex_syntax(ptr noalias noundef nonnull align 8 dereferenceable(24) %1, i64 noundef %19, i64 noundef %15), !noalias !543 - %.pre.i.i.i.i.i.i = load i64, ptr %12, align 8, !alias.scope !557, !noalias !549 + %.pre.i.i.i.i.i.i = load i64, ptr %12, align 8, !alias.scope !557, !noalias !549, !noundef !5 br label %_RNvXs_NvNtNtCs1LoaDTb72WA_4core3fmt5Write9write_fmtQNtNtCs68wO5nsWeTG_5alloc6string6StringNtB4_12SpecWriteFmt14spec_write_fmtCseG2FYMysgNb_3wax.exit.i.i.i.i.i _RNvXs_NvNtNtCs1LoaDTb72WA_4core3fmt5Write9write_fmtQNtNtCs68wO5nsWeTG_5alloc6string6StringNtB4_12SpecWriteFmt14spec_write_fmtCseG2FYMysgNb_3wax.exit.i.i.i.i.i: ; preds = %23, %16 @@ -2881,7 +2879,7 @@ _RNvXs_NtNtNtCs1LoaDTb72WA_4core4iter8adapters8peekableINtB4_8PeekableINtNtNtBa_ _RNvXs_NtNtNtCs1LoaDTb72WA_4core4iter8adapters8peekableINtB4_8PeekableINtNtNtBa_5slice4iter4IterNtNtCseG2FYMysgNb_3wax5token5TokenEENtNtNtB8_6traits8iterator8Iterator4nextB1z_.exit.i..lr.ph.i_crit_edge.i: ; preds = %_RNvXs_NtNtNtCs1LoaDTb72WA_4core4iter8adapters8peekableINtB4_8PeekableINtNtNtBa_5slice4iter4IterNtNtCseG2FYMysgNb_3wax5token5TokenEENtNtNtB8_6traits8iterator8Iterator4nextB1z_.exit.i.i %.promoted16.i.pre.i = load i64, ptr %0, align 8, !alias.scope !948, !noalias !949 %.pre.i = load ptr, ptr %9, align 8, !alias.scope !948, !noalias !949 - %.pre7.i = load ptr, ptr %11, align 8, !alias.scope !948, !noalias !949 + %.pre7.i = load ptr, ptr %11, align 8, !alias.scope !948, !noalias !949, !nonnull !5 %.promoted18.i.pre.i = load ptr, ptr %10, align 8, !alias.scope !948, !noalias !949 %26 = trunc nuw i64 %.promoted16.i.pre.i to i1 br label %.lr.ph.i.i @@ -3040,7 +3038,7 @@ _RNvXs2U_NtNtCs1LoaDTb72WA_4core5slice4iterINtB6_4IterNtNtCseG2FYMysgNb_3wax5tok br i1 %24, label %_RINvNtCs1LoaDTb72WA_4core3ptr13drop_in_placeINtNtB4_6option6OptionINtNtCseG2FYMysgNb_3wax5token9ComponentTjjEEEEB17_.llvm.11100904734654111133.exit, label %_RNvXs2U_NtNtCs1LoaDTb72WA_4core5slice4iterINtB6_4IterNtNtCseG2FYMysgNb_3wax5token5TokenENtNtNtNtBa_4iter6traits8iterator8Iterator4nextBT_.llvm.11100904734654111133.exit.i..lr.ph.i_crit_edge.i _RNvXs2U_NtNtCs1LoaDTb72WA_4core5slice4iterINtB6_4IterNtNtCseG2FYMysgNb_3wax5token5TokenENtNtNtNtBa_4iter6traits8iterator8Iterator4nextBT_.llvm.11100904734654111133.exit.i..lr.ph.i_crit_edge.i: ; preds = %_RNvXs2U_NtNtCs1LoaDTb72WA_4core5slice4iterINtB6_4IterNtNtCseG2FYMysgNb_3wax5token5TokenENtNtNtNtBa_4iter6traits8iterator8Iterator4nextBT_.llvm.11100904734654111133.exit.i.i - %.pre.i = load ptr, ptr %10, align 8, !alias.scope !992, !noalias !993 + %.pre.i = load ptr, ptr %10, align 8, !alias.scope !992, !noalias !993, !nonnull !5 %.promoted16.i.pre.i = load ptr, ptr %9, align 8, !alias.scope !992, !noalias !993 br label %.lr.ph.i.i @@ -3890,7 +3888,7 @@ _RNvXsq_NtNtCseG2FYMysgNb_3wax5token8varianceINtB5_8VarianceNtB5_13InvariantText to label %common.resume.i.i unwind label %34, !noalias !1330 _RNvXsq_NtNtCseG2FYMysgNb_3wax5token8varianceINtB5_8VarianceNtB5_13InvariantTextENtNtCs1LoaDTb72WA_4core3cmp9PartialEq2eqB9_.exit.i.i: ; preds = %11 - %.pr.pre.i.i = load i64, ptr %3, align 8, !alias.scope !1344, !noalias !1330 + %.pr.pre.i.i = load i64, ptr %3, align 8, !range !4, !alias.scope !1344, !noalias !1330, !noundef !5 %20 = icmp eq i64 %.pr.pre.i.i, -9223372036854775808 call void @llvm.experimental.noalias.scope.decl(metadata !1347) br i1 %20, label %_RNCINvNvNtNtNtNtCs1LoaDTb72WA_4core4iter6traits8iterator8Iterator3all5checkINtNtNtCseG2FYMysgNb_3wax5token8variance8VarianceNtB1e_13InvariantTextENCNvYINtNtNtBc_8adapters3map3MapINtNtNtBe_5slice4iter4IterINtNtCs68wO5nsWeTG_5alloc3vec3VecINtB1g_5TokenuEEENCNvXsm_B1g_RNtB1g_11AlternativeINtB1e_12UnitVarianceB1Y_E13unit_variance0EINtB1e_19DisjunctiveVarianceB1Y_E20disjunctive_variances_0E0B1i_.exit, label %_RNvXsq_NtNtCseG2FYMysgNb_3wax5token8varianceINtB5_8VarianceNtB5_13InvariantTextENtNtCs1LoaDTb72WA_4core3cmp9PartialEq2eqB9_.exit.thread4.i.i @@ -3991,7 +3989,7 @@ _RNvXsq_NtNtCseG2FYMysgNb_3wax5token8varianceINtB5_8VarianceNtB5_13InvariantText to label %common.resume.i.i unwind label %34, !noalias !1357 _RNvXsq_NtNtCseG2FYMysgNb_3wax5token8varianceINtB5_8VarianceNtB5_13InvariantTextENtNtCs1LoaDTb72WA_4core3cmp9PartialEq2eqB9_.exit.i.i: ; preds = %11 - %.pr.pre.i.i = load i64, ptr %3, align 8, !alias.scope !1371, !noalias !1357 + %.pr.pre.i.i = load i64, ptr %3, align 8, !range !4, !alias.scope !1371, !noalias !1357, !noundef !5 %20 = icmp eq i64 %.pr.pre.i.i, -9223372036854775808 call void @llvm.experimental.noalias.scope.decl(metadata !1374) br i1 %20, label %_RNCINvNvNtNtNtNtCs1LoaDTb72WA_4core4iter6traits8iterator8Iterator3all5checkINtNtNtCseG2FYMysgNb_3wax5token8variance8VarianceNtB1e_13InvariantTextENCNvYINtNtNtBc_8adapters3map3MapINtNtNtBe_5slice4iter4IterINtNtCs68wO5nsWeTG_5alloc3vec3VecNtB1g_5TokenEENCNvXsm_B1g_RINtB1g_11AlternativeTjjEEINtB1e_12UnitVarianceB1Y_E13unit_variance0EINtB1e_19DisjunctiveVarianceB1Y_E20disjunctive_variances_0E0B1i_.exit, label %_RNvXsq_NtNtCseG2FYMysgNb_3wax5token8varianceINtB5_8VarianceNtB5_13InvariantTextENtNtCs1LoaDTb72WA_4core3cmp9PartialEq2eqB9_.exit.thread4.i.i @@ -5093,7 +5091,7 @@ define hidden noundef zeroext i1 @_RNCINvNvXs0_NtNtNtCs1LoaDTb72WA_4core4iter8ad to label %.noexc5.i.i.i.i unwind label %26, !noalias !1829 .noexc5.i.i.i.i: ; preds = %28 - %.pre.i.i.i.i.i = load i64, ptr %21, align 8, !alias.scope !1832, !noalias !1829 + %.pre.i.i.i.i.i = load i64, ptr %21, align 8, !alias.scope !1832, !noalias !1829, !noundef !5 br label %29 29: ; preds = %.noexc5.i.i.i.i, %14 @@ -5164,7 +5162,7 @@ _RNCINvNvNtNtNtNtCs1LoaDTb72WA_4core4iter6traits8iterator8Iterator8for_each4call 45: ; preds = %_RNCINvNvNtNtNtNtCs1LoaDTb72WA_4core4iter6traits8iterator8Iterator8for_each4callNtNtCs68wO5nsWeTG_5alloc6string6StringNCNvYINtNtNtBc_8adapters7flatten7FlattenINtNtB21_10take_while9TakeWhileINtNtB21_3map3MapINtNtCslyFhtC9DD08_9itertools8adaptors8BatchingINtNtB21_8peekable8PeekableIB43_INtNtNtBe_5slice4iter4IterNtNtCseG2FYMysgNb_3wax5token5TokenEEENCINvB50_10componentsTjjEB4t_E0ENCINvNtB50_8variance21invariant_text_prefixB5U_B4y_Es_0ENvMNtBe_6optionINtB72_6OptionB1f_E7is_someEENtB3m_9Itertools4join0E0B52_.exit.i.i call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %6), !noalias !1824 - %.pr.i = load i64, ptr %7, align 8, !alias.scope !1840, !noalias !1814 + %.pr.i = load i64, ptr %7, align 8, !range !4, !alias.scope !1840, !noalias !1814, !noundef !5 %46 = icmp eq i64 %.pr.i, -9223372036854775808 br i1 %46, label %57, label %47 @@ -6114,7 +6112,7 @@ _RNvXs_NtNtNtCs1LoaDTb72WA_4core4iter8adapters8peekableINtB4_8PeekableINtNtNtBa_ %.phi.trans.insert = getelementptr inbounds nuw i8, ptr %1, i64 8 %.pre = load ptr, ptr %.phi.trans.insert, align 8, !alias.scope !2097, !noalias !2094 %.phi.trans.insert6 = getelementptr inbounds nuw i8, ptr %1, i64 24 - %.pre7 = load ptr, ptr %.phi.trans.insert6, align 8, !alias.scope !2097, !noalias !2094 + %.pre7 = load ptr, ptr %.phi.trans.insert6, align 8, !alias.scope !2097, !noalias !2094, !nonnull !5 %.phi.trans.insert8 = getelementptr inbounds nuw i8, ptr %1, i64 16 %.promoted18.i.pre = load ptr, ptr %.phi.trans.insert8, align 8, !alias.scope !2097, !noalias !2094 %21 = trunc nuw i64 %.promoted16.i.pre to i1 @@ -6243,7 +6241,7 @@ _RNvXs2U_NtNtCs1LoaDTb72WA_4core5slice4iterINtB6_4IterNtNtCseG2FYMysgNb_3wax5tok _RNvXs2U_NtNtCs1LoaDTb72WA_4core5slice4iterINtB6_4IterNtNtCseG2FYMysgNb_3wax5token5TokenENtNtNtNtBa_4iter6traits8iterator8Iterator4nextBT_.llvm.11100904734654111133.exit.i..lr.ph.i_crit_edge: ; preds = %_RNvXs2U_NtNtCs1LoaDTb72WA_4core5slice4iterINtB6_4IterNtNtCseG2FYMysgNb_3wax5token5TokenENtNtNtNtBa_4iter6traits8iterator8Iterator4nextBT_.llvm.11100904734654111133.exit.i %.phi.trans.insert = getelementptr inbounds nuw i8, ptr %1, i64 24 - %.pre = load ptr, ptr %.phi.trans.insert, align 8, !alias.scope !2130, !noalias !2127 + %.pre = load ptr, ptr %.phi.trans.insert, align 8, !alias.scope !2130, !noalias !2127, !nonnull !5 %.phi.trans.insert5 = getelementptr inbounds nuw i8, ptr %1, i64 16 %.promoted16.i.pre = load ptr, ptr %.phi.trans.insert5, align 8, !alias.scope !2130, !noalias !2127 br label %.lr.ph.i @@ -7051,7 +7049,7 @@ _ZN4core4char7methods15encode_utf8_raw17h29cdc5573eb60f23E.exit.i: ; preds = %20 42: ; preds = %_ZN4core4char7methods15encode_utf8_raw17h29cdc5573eb60f23E.exit.i tail call void @_RINvNvMs0_NtCs68wO5nsWeTG_5alloc7raw_vecINtB8_6RawVecppE7reserve21do_reserve_and_handlehNtNtBa_5alloc6GlobalECs5g6BnGVOFtV_12regex_syntax(ptr noalias noundef nonnull align 8 dereferenceable(24) %0, i64 noundef %38, i64 noundef %33) - %.pre.i.i = load i64, ptr %37, align 8, !alias.scope !2341 + %.pre.i.i = load i64, ptr %37, align 8, !alias.scope !2341, !noundef !5 br label %_RNvMs_NtCs68wO5nsWeTG_5alloc3vecINtB4_3VechE15append_elementsCseG2FYMysgNb_3wax.exit.i _RNvMs_NtCs68wO5nsWeTG_5alloc3vecINtB4_3VechE15append_elementsCseG2FYMysgNb_3wax.exit.i: ; preds = %42, %_ZN4core4char7methods15encode_utf8_raw17h29cdc5573eb60f23E.exit.i @@ -7102,7 +7100,7 @@ define internal noundef zeroext i1 @"_ZN58_$LT$alloc..string..String$u20$as$u20$ 9: ; preds = %3 tail call void @_RINvNvMs0_NtCs68wO5nsWeTG_5alloc7raw_vecINtB8_6RawVecppE7reserve21do_reserve_and_handlehNtNtBa_5alloc6GlobalECs5g6BnGVOFtV_12regex_syntax(ptr noalias noundef nonnull align 8 dereferenceable(24) %0, i64 noundef %5, i64 noundef %2), !noalias !2352 - %.pre.i.i = load i64, ptr %4, align 8, !alias.scope !2347, !noalias !2352 + %.pre.i.i = load i64, ptr %4, align 8, !alias.scope !2347, !noalias !2352, !noundef !5 br label %_ZN5alloc6string6String8push_str17h394e518918c1ef53E.exit _ZN5alloc6string6String8push_str17h394e518918c1ef53E.exit: ; preds = %3, %9 @@ -7180,7 +7178,7 @@ define internal fastcc void @_RNCINvNtCseG2FYMysgNb_3wax6encode6encodeTjjERNtNtB to label %30 unwind label %28 5: ; preds = %1 - %.pre.i = load i64, ptr %.sroa.5.0..sroa_idx, align 8, !alias.scope !2354 + %.pre.i = load i64, ptr %.sroa.5.0..sroa_idx, align 8, !alias.scope !2354, !noundef !5 %6 = load ptr, ptr %.sroa.4.0..sroa_idx, align 8, !alias.scope !2354, !nonnull !5, !noundef !5 %7 = getelementptr inbounds i8, ptr %6, i64 %.pre.i call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(3) %7, ptr noundef nonnull readonly align 1 dereferenceable(3) @anon.b8e0f5578a6bfba239528c7cbe29a91a.21, i64 3, i1 false) @@ -7256,7 +7254,7 @@ define internal fastcc void @_RNCINvNtCseG2FYMysgNb_3wax6encode6encodeTjjERNtNtB to label %30 unwind label %28 5: ; preds = %1 - %.pre.i = load i64, ptr %.sroa.5.0..sroa_idx, align 8, !alias.scope !2364 + %.pre.i = load i64, ptr %.sroa.5.0..sroa_idx, align 8, !alias.scope !2364, !noundef !5 %6 = load ptr, ptr %.sroa.4.0..sroa_idx, align 8, !alias.scope !2364, !nonnull !5, !noundef !5 %7 = getelementptr inbounds i8, ptr %6, i64 %.pre.i call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(3) %7, ptr noundef nonnull readonly align 1 dereferenceable(3) @anon.b8e0f5578a6bfba239528c7cbe29a91a.21, i64 3, i1 false) @@ -7332,7 +7330,7 @@ define internal fastcc void @_RNCINvNtCseG2FYMysgNb_3wax6encode6encodeTjjERNtNtB to label %30 unwind label %28 5: ; preds = %1 - %.pre.i = load i64, ptr %.sroa.5.0..sroa_idx, align 8, !alias.scope !2372 + %.pre.i = load i64, ptr %.sroa.5.0..sroa_idx, align 8, !alias.scope !2372, !noundef !5 %6 = load ptr, ptr %.sroa.4.0..sroa_idx, align 8, !alias.scope !2372, !nonnull !5, !noundef !5 %7 = getelementptr inbounds i8, ptr %6, i64 %.pre.i call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(3) %7, ptr noundef nonnull readonly align 1 dereferenceable(3) @anon.b8e0f5578a6bfba239528c7cbe29a91a.21, i64 3, i1 false) @@ -7408,7 +7406,7 @@ define internal fastcc void @_RNCINvNtCseG2FYMysgNb_3wax6encode6encodeuRINtNtB6_ to label %30 unwind label %28 5: ; preds = %1 - %.pre.i = load i64, ptr %.sroa.5.0..sroa_idx, align 8, !alias.scope !2380 + %.pre.i = load i64, ptr %.sroa.5.0..sroa_idx, align 8, !alias.scope !2380, !noundef !5 %6 = load ptr, ptr %.sroa.4.0..sroa_idx, align 8, !alias.scope !2380, !nonnull !5, !noundef !5 %7 = getelementptr inbounds i8, ptr %6, i64 %.pre.i call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(3) %7, ptr noundef nonnull readonly align 1 dereferenceable(3) @anon.b8e0f5578a6bfba239528c7cbe29a91a.21, i64 3, i1 false) @@ -7484,7 +7482,7 @@ define internal fastcc void @_RNCINvNtCseG2FYMysgNb_3wax6encode6encodeuRINtNtB6_ to label %30 unwind label %28 5: ; preds = %1 - %.pre.i = load i64, ptr %.sroa.5.0..sroa_idx, align 8, !alias.scope !2388 + %.pre.i = load i64, ptr %.sroa.5.0..sroa_idx, align 8, !alias.scope !2388, !noundef !5 %6 = load ptr, ptr %.sroa.4.0..sroa_idx, align 8, !alias.scope !2388, !nonnull !5, !noundef !5 %7 = getelementptr inbounds i8, ptr %6, i64 %.pre.i call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(3) %7, ptr noundef nonnull readonly align 1 dereferenceable(3) @anon.b8e0f5578a6bfba239528c7cbe29a91a.21, i64 3, i1 false) @@ -8102,7 +8100,7 @@ _RNvXsq_NtNtCseG2FYMysgNb_3wax5token8varianceINtB5_8VarianceNtB5_13InvariantText to label %common.resume unwind label %34 _RNvXsq_NtNtCseG2FYMysgNb_3wax5token8varianceINtB5_8VarianceNtB5_13InvariantTextENtNtCs1LoaDTb72WA_4core3cmp9PartialEq2eqB9_.exit: ; preds = %11 - %.pr.pre = load i64, ptr %1, align 8, !alias.scope !2510 + %.pr.pre = load i64, ptr %1, align 8, !range !4, !alias.scope !2510, !noundef !5 %20 = icmp eq i64 %.pr.pre, -9223372036854775808 tail call void @llvm.experimental.noalias.scope.decl(metadata !2510) br i1 %20, label %_RINvNtCs1LoaDTb72WA_4core3ptr13drop_in_placeINtNtNtCseG2FYMysgNb_3wax5token8variance8VarianceNtBJ_13InvariantTextEEBN_.llvm.11100904734654111133.exit, label %_RNvXsq_NtNtCseG2FYMysgNb_3wax5token8varianceINtB5_8VarianceNtB5_13InvariantTextENtNtCs1LoaDTb72WA_4core3cmp9PartialEq2eqB9_.exit.thread4 @@ -8349,7 +8347,7 @@ _RNvXs0_NtNtNtCs1LoaDTb72WA_4core4iter8adapters3mapINtB5_3MapINtNtB7_6copied6Cop to label %.noexc unwind label %29 .noexc: ; preds = %_RNvXs0_NtNtNtCs1LoaDTb72WA_4core4iter8adapters3mapINtB5_3MapINtNtB7_6copied6CopiedINtNtNtBb_5slice4iter4IterRNtNtCseG2FYMysgNb_3wax5token5TokenEENvYB1I_INtNtB1L_8variance12UnitVarianceNtB2t_13InvariantTextE13unit_varianceENtNtNtB9_6traits8iterator8Iterator4nextB1N_.llvm.15969390215716056838.exit.i.i - %.pr.i.i = load i64, ptr %11, align 8, !noalias !2562 + %.pr.i.i = load i64, ptr %11, align 8, !range !2577, !noalias !2562, !noundef !5 %25 = icmp eq i64 %.pr.i.i, -9223372036854775807 br i1 %25, label %_RINvYINtNtNtNtCs1LoaDTb72WA_4core4iter8adapters3map3MapINtNtB8_6copied6CopiedINtNtNtBc_5slice4iter4IterRNtNtCseG2FYMysgNb_3wax5token5TokenEENvYB1D_INtNtB1G_8variance12UnitVarianceNtB2o_13InvariantTextE13unit_varianceENtNtNtBa_6traits8iterator8Iterator6reduceNvYINtB2o_8VarianceB2R_ENtNtNtBc_3ops5arith3Add3addEB1I_.llvm.15969390215716056838.exit.thread.i, label %_RINvYINtNtNtNtCs1LoaDTb72WA_4core4iter8adapters3map3MapINtNtB8_6copied6CopiedINtNtNtBc_5slice4iter4IterRNtNtCseG2FYMysgNb_3wax5token5TokenEENvYB1D_INtNtB1G_8variance12UnitVarianceNtB2o_13InvariantTextE13unit_varianceENtNtNtBa_6traits8iterator8Iterator6reduceNvYINtB2o_8VarianceB2R_ENtNtNtBc_3ops5arith3Add3addEB1I_.llvm.15969390215716056838.exit.i @@ -8368,7 +8366,7 @@ _RINvYINtNtNtNtCs1LoaDTb72WA_4core4iter8adapters3map3MapINtNtB8_6copied6CopiedIN to label %.noexc3 unwind label %29 .noexc3: ; preds = %_RINvYINtNtNtNtCs1LoaDTb72WA_4core4iter8adapters3map3MapINtNtB8_6copied6CopiedINtNtNtBc_5slice4iter4IterRNtNtCseG2FYMysgNb_3wax5token5TokenEENvYB1D_INtNtB1G_8variance12UnitVarianceNtB2o_13InvariantTextE13unit_varianceENtNtNtBa_6traits8iterator8Iterator6reduceNvYINtB2o_8VarianceB2R_ENtNtNtBc_3ops5arith3Add3addEB1I_.llvm.15969390215716056838.exit.i - %.pr.i = load i64, ptr %13, align 8, !noalias !2559 + %.pr.i = load i64, ptr %13, align 8, !range !2577, !noalias !2559, !noundef !5 call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %10), !noalias !2559 call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %12), !noalias !2559 %28 = icmp eq i64 %.pr.i, -9223372036854775807 @@ -8395,60 +8393,60 @@ _RINvYINtNtNtNtCs1LoaDTb72WA_4core4iter8adapters3map3MapINtNtB8_6copied6CopiedIN 31: ; preds = %.noexc3 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %14, ptr noundef nonnull align 8 dereferenceable(32) %13, i64 32, i1 false) - %.pr = load i64, ptr %14, align 8 + %.pr = load i64, ptr %14, align 8, !range !4, !noundef !5 call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %13), !noalias !2559 %32 = icmp eq i64 %.pr, -9223372036854775808 br i1 %32, label %.thread35, label %._crit_edge ._crit_edge: ; preds = %31 %.phi.trans.insert = getelementptr inbounds nuw i8, ptr %14, i64 24 - %.pre = load i64, ptr %.phi.trans.insert, align 8, !alias.scope !2577, !noalias !2584 + %.pre = load i64, ptr %.phi.trans.insert, align 8, !alias.scope !2578, !noalias !2585, !noundef !5 br label %33 33: ; preds = %._crit_edge, %.thread %34 = phi i64 [ %.pre, %._crit_edge ], [ 0, %.thread ] - call void @llvm.experimental.noalias.scope.decl(metadata !2588) call void @llvm.experimental.noalias.scope.decl(metadata !2589) - call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %9), !noalias !2590 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %8), !noalias !2590 - call void @llvm.experimental.noalias.scope.decl(metadata !2591) - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %7), !noalias !2592 + call void @llvm.experimental.noalias.scope.decl(metadata !2590) + call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %9), !noalias !2591 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %8), !noalias !2591 + call void @llvm.experimental.noalias.scope.decl(metadata !2592) + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %7), !noalias !2593 invoke void @_RINvMs3_NtNtCs68wO5nsWeTG_5alloc11collections9vec_dequeINtB6_8VecDequeNtNtNtCseG2FYMysgNb_3wax5token8variance17InvariantFragmentE12slice_rangesNtNtNtCs1LoaDTb72WA_4core3ops5range9RangeFullEB1c_(ptr noalias noundef nonnull sret([32 x i8]) align 8 captures(none) dereferenceable(32) %7, ptr noalias noundef nonnull readonly align 8 dereferenceable(32) %14, i64 noundef %34) to label %.noexc4 unwind label %50 .noexc4: ; preds = %33 - %35 = load i64, ptr %7, align 8, !noalias !2592, !noundef !5 + %35 = load i64, ptr %7, align 8, !noalias !2593, !noundef !5 %36 = getelementptr inbounds nuw i8, ptr %7, i64 8 - %37 = load i64, ptr %36, align 8, !noalias !2592, !noundef !5 + %37 = load i64, ptr %36, align 8, !noalias !2593, !noundef !5 %38 = getelementptr inbounds nuw i8, ptr %7, i64 16 - %39 = load i64, ptr %38, align 8, !noalias !2592, !noundef !5 + %39 = load i64, ptr %38, align 8, !noalias !2593, !noundef !5 %40 = getelementptr inbounds nuw i8, ptr %7, i64 24 - %41 = load i64, ptr %40, align 8, !noalias !2592, !noundef !5 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %7), !noalias !2592 + %41 = load i64, ptr %40, align 8, !noalias !2593, !noundef !5 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %7), !noalias !2593 %42 = getelementptr inbounds nuw i8, ptr %14, i64 8 - %43 = load ptr, ptr %42, align 8, !alias.scope !2577, !noalias !2584, !nonnull !5, !noundef !5 + %43 = load ptr, ptr %42, align 8, !alias.scope !2578, !noalias !2585, !nonnull !5, !noundef !5 %44 = getelementptr inbounds { i64, [3 x i64] }, ptr %43, i64 %35 %45 = getelementptr inbounds { i64, [3 x i64] }, ptr %43, i64 %39 %46 = getelementptr inbounds { i64, [3 x i64] }, ptr %43, i64 %37 %47 = getelementptr inbounds { i64, [3 x i64] }, ptr %43, i64 %41 - store ptr %44, ptr %8, align 8, !noalias !2590 + store ptr %44, ptr %8, align 8, !noalias !2591 %.sroa.4.0..sroa_idx.i.i = getelementptr inbounds nuw i8, ptr %8, i64 8 - store ptr %46, ptr %.sroa.4.0..sroa_idx.i.i, align 8, !noalias !2590 + store ptr %46, ptr %.sroa.4.0..sroa_idx.i.i, align 8, !noalias !2591 %.sroa.5.0..sroa_idx.i.i = getelementptr inbounds nuw i8, ptr %8, i64 16 - store ptr %45, ptr %.sroa.5.0..sroa_idx.i.i, align 8, !noalias !2590 + store ptr %45, ptr %.sroa.5.0..sroa_idx.i.i, align 8, !noalias !2591 %.sroa.6.0..sroa_idx.i.i = getelementptr inbounds nuw i8, ptr %8, i64 24 - store ptr %47, ptr %.sroa.6.0..sroa_idx.i.i, align 8, !noalias !2590 + store ptr %47, ptr %.sroa.6.0..sroa_idx.i.i, align 8, !noalias !2591 invoke void @_RINvYINtNtNtNtCs1LoaDTb72WA_4core4iter8adapters3map3MapINtNtNtNtCs68wO5nsWeTG_5alloc11collections9vec_deque4iter4IterNtNtNtCseG2FYMysgNb_3wax5token8variance17InvariantFragmentENCNvMsd_B1T_NtB1T_13InvariantText9to_string0ENtNtNtBa_6traits8iterator8Iterator6reduceNCB2Q_s_0EB1X_.llvm.8606166020250795160(ptr noalias noundef nonnull sret([24 x i8]) align 8 captures(none) dereferenceable(24) %9, ptr noalias noundef nonnull align 8 captures(none) dereferenceable(32) %8) to label %.noexc5 unwind label %50 .noexc5: ; preds = %.noexc4 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %8), !noalias !2590 - %48 = load i64, ptr %9, align 8, !range !2593, !noalias !2590, !noundef !5 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %8), !noalias !2591 + %48 = load i64, ptr %9, align 8, !range !2577, !noalias !2591, !noundef !5 %49 = icmp eq i64 %48, -9223372036854775807 br i1 %49, label %.thread27, label %52 .thread27: ; preds = %.noexc5 - call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %9), !noalias !2590 + call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %9), !noalias !2591 br label %54 .thread35: ; preds = %31 @@ -8466,7 +8464,7 @@ _RINvYINtNtNtNtCs1LoaDTb72WA_4core4iter8adapters3map3MapINtNtB8_6copied6CopiedIN %.sroa.5.0.copyload13 = load ptr, ptr %.sroa.5.0..sroa_idx12, align 8, !noalias !2594 %.sroa.6.0..sroa_idx14 = getelementptr inbounds nuw i8, ptr %9, i64 16 %.sroa.6.0.copyload15 = load i64, ptr %.sroa.6.0..sroa_idx14, align 8, !noalias !2594 - call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %9), !noalias !2590 + call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %9), !noalias !2591 %53 = icmp eq i64 %48, -9223372036854775808 br i1 %53, label %54, label %63 @@ -8510,7 +8508,7 @@ _RINvYINtNtNtNtCs1LoaDTb72WA_4core4iter8adapters3map3MapINtNtB8_6copied6CopiedIN store ptr %.sink.i, ptr %.sroa.422.0..sroa_idx, align 8 %.sroa.523.0..sroa_idx = getelementptr inbounds nuw i8, ptr %0, i64 16 store i64 %.sroa.6.031, ptr %.sroa.523.0..sroa_idx, align 8 - %.pr34 = load i64, ptr %14, align 8, !alias.scope !2609 + %.pr34 = load i64, ptr %14, align 8, !range !4, !alias.scope !2609, !noundef !5 call void @llvm.experimental.noalias.scope.decl(metadata !2609) %.not.i = icmp eq i64 %.pr34, -9223372036854775808 br i1 %.not.i, label %_RINvNtCs1LoaDTb72WA_4core3ptr13drop_in_placeINtNtNtCseG2FYMysgNb_3wax5token8variance8VarianceNtBJ_13InvariantTextEEBN_.llvm.11100904734654111133.exit, label %64 @@ -9402,12 +9400,12 @@ define hidden void @_RNCINvNtCseG2FYMysgNb_3wax5token8literalsTjjERSNtB4_5TokenE br label %.thread22 _RNvMsT_NtCseG2FYMysgNb_3wax5tokenINtB5_9ComponentTjjEE7literalB7_.exit: ; preds = %24 - %.pr = load i64, ptr %8, align 8 + %.pr = load i64, ptr %8, align 8, !range !4, !noundef !5 %27 = icmp eq i64 %.pr, -9223372036854775808 br i1 %27, label %_RNvMsT_NtCseG2FYMysgNb_3wax5tokenINtB5_9ComponentTjjEE7literalB7_.exit._RNvMsT_NtCseG2FYMysgNb_3wax5tokenINtB5_9ComponentTjjEE7literalB7_.exit.thread_crit_edge, label %32 _RNvMsT_NtCseG2FYMysgNb_3wax5tokenINtB5_9ComponentTjjEE7literalB7_.exit._RNvMsT_NtCseG2FYMysgNb_3wax5tokenINtB5_9ComponentTjjEE7literalB7_.exit.thread_crit_edge: ; preds = %_RNvMsT_NtCseG2FYMysgNb_3wax5tokenINtB5_9ComponentTjjEE7literalB7_.exit - %.pre = load i64, ptr %9, align 8 + %.pre = load i64, ptr %9, align 8, !noundef !5 br label %_RNvMsT_NtCseG2FYMysgNb_3wax5tokenINtB5_9ComponentTjjEE7literalB7_.exit.thread _RNvMsT_NtCseG2FYMysgNb_3wax5tokenINtB5_9ComponentTjjEE7literalB7_.exit.thread: ; preds = %19, %3, %_RNvMsT_NtCseG2FYMysgNb_3wax5tokenINtB5_9ComponentTjjEE7literalB7_.exit._RNvMsT_NtCseG2FYMysgNb_3wax5tokenINtB5_9ComponentTjjEE7literalB7_.exit.thread_crit_edge @@ -12453,24 +12451,24 @@ attributes #36 = { nounwind } !2574 = !{!2575, !2563, !2560} !2575 = distinct !{!2575, !2567, !"_RNvXs0_NtNtNtCs1LoaDTb72WA_4core4iter8adapters3mapINtB5_3MapINtNtB7_6copied6CopiedINtNtNtBb_5slice4iter4IterRNtNtCseG2FYMysgNb_3wax5token5TokenEENvYB1I_INtNtB1L_8variance12UnitVarianceNtB2t_13InvariantTextE13unit_varianceENtNtNtB9_6traits8iterator8Iterator4nextB1N_.llvm.15969390215716056838: argument 0"} !2576 = !{!2569, !2575, !2566, !2563, !2560} -!2577 = !{!2578, !2580, !2582} -!2578 = distinct !{!2578, !2579, !"_RNvMs3_NtNtCs68wO5nsWeTG_5alloc11collections9vec_dequeINtB5_8VecDequeNtNtNtCseG2FYMysgNb_3wax5token8variance17InvariantFragmentE4iterB1b_: argument 1"} -!2579 = distinct !{!2579, !"_RNvMs3_NtNtCs68wO5nsWeTG_5alloc11collections9vec_dequeINtB5_8VecDequeNtNtNtCseG2FYMysgNb_3wax5token8variance17InvariantFragmentE4iterB1b_"} -!2580 = distinct !{!2580, !2581, !"_RNvMsd_NtNtCseG2FYMysgNb_3wax5token8varianceNtB5_13InvariantText9to_string: argument 1"} -!2581 = distinct !{!2581, !"_RNvMsd_NtNtCseG2FYMysgNb_3wax5token8varianceNtB5_13InvariantText9to_string"} -!2582 = distinct !{!2582, !2583, !"_RNvYNvMsd_NtNtCseG2FYMysgNb_3wax5token8varianceNtB8_13InvariantText9to_stringINtNtNtCs1LoaDTb72WA_4core3ops8function6FnOnceTRBJ_EE9call_onceBc_: argument 1"} -!2583 = distinct !{!2583, !"_RNvYNvMsd_NtNtCseG2FYMysgNb_3wax5token8varianceNtB8_13InvariantText9to_stringINtNtNtCs1LoaDTb72WA_4core3ops8function6FnOnceTRBJ_EE9call_onceBc_"} -!2584 = !{!2585, !2586, !2587} -!2585 = distinct !{!2585, !2579, !"_RNvMs3_NtNtCs68wO5nsWeTG_5alloc11collections9vec_dequeINtB5_8VecDequeNtNtNtCseG2FYMysgNb_3wax5token8variance17InvariantFragmentE4iterB1b_: argument 0"} -!2586 = distinct !{!2586, !2581, !"_RNvMsd_NtNtCseG2FYMysgNb_3wax5token8varianceNtB5_13InvariantText9to_string: argument 0"} -!2587 = distinct !{!2587, !2583, !"_RNvYNvMsd_NtNtCseG2FYMysgNb_3wax5token8varianceNtB8_13InvariantText9to_stringINtNtNtCs1LoaDTb72WA_4core3ops8function6FnOnceTRBJ_EE9call_onceBc_: argument 0"} -!2588 = !{!2582} -!2589 = !{!2580} -!2590 = !{!2586, !2580, !2587, !2582} -!2591 = !{!2578} -!2592 = !{!2585, !2578, !2586, !2580, !2587, !2582} -!2593 = !{i64 0, i64 -9223372036854775806} -!2594 = !{!2580, !2582} +!2577 = !{i64 0, i64 -9223372036854775806} +!2578 = !{!2579, !2581, !2583} +!2579 = distinct !{!2579, !2580, !"_RNvMs3_NtNtCs68wO5nsWeTG_5alloc11collections9vec_dequeINtB5_8VecDequeNtNtNtCseG2FYMysgNb_3wax5token8variance17InvariantFragmentE4iterB1b_: argument 1"} +!2580 = distinct !{!2580, !"_RNvMs3_NtNtCs68wO5nsWeTG_5alloc11collections9vec_dequeINtB5_8VecDequeNtNtNtCseG2FYMysgNb_3wax5token8variance17InvariantFragmentE4iterB1b_"} +!2581 = distinct !{!2581, !2582, !"_RNvMsd_NtNtCseG2FYMysgNb_3wax5token8varianceNtB5_13InvariantText9to_string: argument 1"} +!2582 = distinct !{!2582, !"_RNvMsd_NtNtCseG2FYMysgNb_3wax5token8varianceNtB5_13InvariantText9to_string"} +!2583 = distinct !{!2583, !2584, !"_RNvYNvMsd_NtNtCseG2FYMysgNb_3wax5token8varianceNtB8_13InvariantText9to_stringINtNtNtCs1LoaDTb72WA_4core3ops8function6FnOnceTRBJ_EE9call_onceBc_: argument 1"} +!2584 = distinct !{!2584, !"_RNvYNvMsd_NtNtCseG2FYMysgNb_3wax5token8varianceNtB8_13InvariantText9to_stringINtNtNtCs1LoaDTb72WA_4core3ops8function6FnOnceTRBJ_EE9call_onceBc_"} +!2585 = !{!2586, !2587, !2588} +!2586 = distinct !{!2586, !2580, !"_RNvMs3_NtNtCs68wO5nsWeTG_5alloc11collections9vec_dequeINtB5_8VecDequeNtNtNtCseG2FYMysgNb_3wax5token8variance17InvariantFragmentE4iterB1b_: argument 0"} +!2587 = distinct !{!2587, !2582, !"_RNvMsd_NtNtCseG2FYMysgNb_3wax5token8varianceNtB5_13InvariantText9to_string: argument 0"} +!2588 = distinct !{!2588, !2584, !"_RNvYNvMsd_NtNtCseG2FYMysgNb_3wax5token8varianceNtB8_13InvariantText9to_stringINtNtNtCs1LoaDTb72WA_4core3ops8function6FnOnceTRBJ_EE9call_onceBc_: argument 0"} +!2589 = !{!2583} +!2590 = !{!2581} +!2591 = !{!2587, !2581, !2588, !2583} +!2592 = !{!2579} +!2593 = !{!2586, !2579, !2587, !2581, !2588, !2583} +!2594 = !{!2581, !2583} !2595 = !{!2596, !2598, !2599, !2601, !2602, !2604, !2605, !2607} !2596 = distinct !{!2596, !2597, !"_RINvXs_NtNtCs68wO5nsWeTG_5alloc5slice4hackhNtB5_10ConvertVec6to_vecNtNtB9_5alloc6GlobalECseG2FYMysgNb_3wax.llvm.16596560796952818888: argument 0"} !2597 = distinct !{!2597, !"_RINvXs_NtNtCs68wO5nsWeTG_5alloc5slice4hackhNtB5_10ConvertVec6to_vecNtNtB9_5alloc6GlobalECseG2FYMysgNb_3wax.llvm.16596560796952818888"} diff --git a/bench/wasmtime-rs/optimized/1r2x5absurxbrq18.ll b/bench/wasmtime-rs/optimized/1r2x5absurxbrq18.ll index f2cbf614f7f..8fbfa9c443f 100644 --- a/bench/wasmtime-rs/optimized/1r2x5absurxbrq18.ll +++ b/bench/wasmtime-rs/optimized/1r2x5absurxbrq18.ll @@ -1249,11 +1249,10 @@ common.resume: ; preds = %54, %29 %36 = getelementptr inbounds nuw i8, ptr %6, i64 64 store i64 %17, ptr %36, align 8, !alias.scope !436 %.phi.trans.insert = getelementptr inbounds nuw i8, ptr %6, i64 48 - %.pre = load i64, ptr %.phi.trans.insert, align 8, !alias.scope !445, !noalias !448 + %.pre = load i64, ptr %.phi.trans.insert, align 8, !alias.scope !445, !noalias !448, !noundef !16 %.phi.trans.insert15 = getelementptr inbounds nuw i8, ptr %6, i64 40 - %.pre16 = load i64, ptr %.phi.trans.insert15, align 8, !alias.scope !450, !noalias !455 - %.pre.fr = freeze i64 %.pre - %37 = icmp eq i64 %.pre.fr, 0 + %.pre16 = load i64, ptr %.phi.trans.insert15, align 8, !alias.scope !450, !noalias !455, !noundef !16 + %37 = icmp eq i64 %.pre, 0 %38 = add nuw nsw i64 %10, 1 %39 = lshr i64 %38, 1 %spec.select = select i1 %37, i64 %10, i64 %39 @@ -1270,8 +1269,8 @@ common.resume: ; preds = %54, %29 %45 = extractvalue { i64, i64 } %44, 0 %46 = icmp eq i64 %45, -9223372036854775807 call void @llvm.assume(i1 %46) - %.pre17 = load i64, ptr %6, align 8, !alias.scope !457, !noalias !448 - %.pre18 = load i64, ptr %40, align 8, !alias.scope !457, !noalias !448 + %.pre17 = load i64, ptr %6, align 8, !alias.scope !457, !noalias !448, !noundef !16 + %.pre18 = load i64, ptr %40, align 8, !alias.scope !457, !noalias !448, !noundef !16 br label %"_ZN9hashbrown3raw5inner21RawTable$LT$T$C$A$GT$7reserve17h1f3fcbd1e4eafd5aE.exit.i.i" "_ZN9hashbrown3raw5inner21RawTable$LT$T$C$A$GT$7reserve17h1f3fcbd1e4eafd5aE.exit.i.i": ; preds = %.thread, %.noexc, %"_ZN8indexmap3map25IndexMap$LT$K$C$V$C$S$GT$24with_capacity_and_hasher17h83cb8fdf5da133c7E.llvm.3269599604001853466.exit" @@ -1670,11 +1669,10 @@ common.resume: ; preds = %55, %31 %38 = getelementptr inbounds nuw i8, ptr %7, i64 64 store i64 %19, ptr %38, align 8, !alias.scope !582 %.phi.trans.insert = getelementptr inbounds nuw i8, ptr %7, i64 48 - %.pre = load i64, ptr %.phi.trans.insert, align 8, !alias.scope !591 + %.pre = load i64, ptr %.phi.trans.insert, align 8, !alias.scope !591, !noundef !16 %.phi.trans.insert9 = getelementptr inbounds nuw i8, ptr %7, i64 40 - %.pre10 = load i64, ptr %.phi.trans.insert9, align 8, !alias.scope !594, !noalias !599 - %.pre.fr = freeze i64 %.pre - %39 = icmp eq i64 %.pre.fr, 0 + %.pre10 = load i64, ptr %.phi.trans.insert9, align 8, !alias.scope !594, !noalias !599, !noundef !16 + %39 = icmp eq i64 %.pre, 0 %40 = add nuw nsw i64 %12, 1 %41 = lshr i64 %40, 1 %spec.select = select i1 %39, i64 %12, i64 %41 @@ -1691,8 +1689,8 @@ common.resume: ; preds = %55, %31 %47 = extractvalue { i64, i64 } %46, 0 %48 = icmp eq i64 %47, -9223372036854775807 call void @llvm.assume(i1 %48) - %.pre11 = load i64, ptr %7, align 8, !alias.scope !601 - %.pre12 = load i64, ptr %42, align 8, !alias.scope !601 + %.pre11 = load i64, ptr %7, align 8, !alias.scope !601, !noundef !16 + %.pre12 = load i64, ptr %42, align 8, !alias.scope !601, !noundef !16 br label %"_ZN9hashbrown3raw5inner21RawTable$LT$T$C$A$GT$7reserve17h04b65ee09e4b377bE.exit.i.i" "_ZN9hashbrown3raw5inner21RawTable$LT$T$C$A$GT$7reserve17h04b65ee09e4b377bE.exit.i.i": ; preds = %.thread, %.noexc, %"_ZN8indexmap3map25IndexMap$LT$K$C$V$C$S$GT$24with_capacity_and_hasher17ha79ad47857fbaf84E.llvm.3269599604001853466.exit" @@ -1837,11 +1835,10 @@ common.resume: ; preds = %55, %31 %38 = getelementptr inbounds nuw i8, ptr %7, i64 64 store i64 %19, ptr %38, align 8, !alias.scope !614 %.phi.trans.insert = getelementptr inbounds nuw i8, ptr %7, i64 48 - %.pre = load i64, ptr %.phi.trans.insert, align 8, !alias.scope !623 + %.pre = load i64, ptr %.phi.trans.insert, align 8, !alias.scope !623, !noundef !16 %.phi.trans.insert9 = getelementptr inbounds nuw i8, ptr %7, i64 40 - %.pre10 = load i64, ptr %.phi.trans.insert9, align 8, !alias.scope !626, !noalias !631 - %.pre.fr = freeze i64 %.pre - %39 = icmp eq i64 %.pre.fr, 0 + %.pre10 = load i64, ptr %.phi.trans.insert9, align 8, !alias.scope !626, !noalias !631, !noundef !16 + %39 = icmp eq i64 %.pre, 0 %40 = add nuw nsw i64 %12, 1 %41 = lshr i64 %40, 1 %spec.select = select i1 %39, i64 %12, i64 %41 @@ -1858,8 +1855,8 @@ common.resume: ; preds = %55, %31 %47 = extractvalue { i64, i64 } %46, 0 %48 = icmp eq i64 %47, -9223372036854775807 call void @llvm.assume(i1 %48) - %.pre11 = load i64, ptr %7, align 8, !alias.scope !633 - %.pre12 = load i64, ptr %42, align 8, !alias.scope !633 + %.pre11 = load i64, ptr %7, align 8, !alias.scope !633, !noundef !16 + %.pre12 = load i64, ptr %42, align 8, !alias.scope !633, !noundef !16 br label %"_ZN9hashbrown3raw5inner21RawTable$LT$T$C$A$GT$7reserve17h04b65ee09e4b377bE.exit.i.i" "_ZN9hashbrown3raw5inner21RawTable$LT$T$C$A$GT$7reserve17h04b65ee09e4b377bE.exit.i.i": ; preds = %.thread, %.noexc, %"_ZN8indexmap3map25IndexMap$LT$K$C$V$C$S$GT$24with_capacity_and_hasher17ha79ad47857fbaf84E.llvm.3269599604001853466.exit" @@ -2007,11 +2004,10 @@ common.resume: ; preds = %54, %29 %36 = getelementptr inbounds nuw i8, ptr %6, i64 64 store i64 %17, ptr %36, align 8, !alias.scope !650 %.phi.trans.insert = getelementptr inbounds nuw i8, ptr %6, i64 48 - %.pre = load i64, ptr %.phi.trans.insert, align 8, !alias.scope !659, !noalias !662 + %.pre = load i64, ptr %.phi.trans.insert, align 8, !alias.scope !659, !noalias !662, !noundef !16 %.phi.trans.insert15 = getelementptr inbounds nuw i8, ptr %6, i64 40 - %.pre16 = load i64, ptr %.phi.trans.insert15, align 8, !alias.scope !664, !noalias !669 - %.pre.fr = freeze i64 %.pre - %37 = icmp eq i64 %.pre.fr, 0 + %.pre16 = load i64, ptr %.phi.trans.insert15, align 8, !alias.scope !664, !noalias !669, !noundef !16 + %37 = icmp eq i64 %.pre, 0 %38 = add nuw nsw i64 %10, 1 %39 = lshr i64 %38, 1 %spec.select = select i1 %37, i64 %10, i64 %39 @@ -2028,8 +2024,8 @@ common.resume: ; preds = %54, %29 %45 = extractvalue { i64, i64 } %44, 0 %46 = icmp eq i64 %45, -9223372036854775807 call void @llvm.assume(i1 %46) - %.pre17 = load i64, ptr %6, align 8, !alias.scope !671, !noalias !662 - %.pre18 = load i64, ptr %40, align 8, !alias.scope !671, !noalias !662 + %.pre17 = load i64, ptr %6, align 8, !alias.scope !671, !noalias !662, !noundef !16 + %.pre18 = load i64, ptr %40, align 8, !alias.scope !671, !noalias !662, !noundef !16 br label %"_ZN9hashbrown3raw5inner21RawTable$LT$T$C$A$GT$7reserve17h1f3fcbd1e4eafd5aE.exit.i.i" "_ZN9hashbrown3raw5inner21RawTable$LT$T$C$A$GT$7reserve17h1f3fcbd1e4eafd5aE.exit.i.i": ; preds = %.thread, %.noexc, %"_ZN8indexmap3map25IndexMap$LT$K$C$V$C$S$GT$24with_capacity_and_hasher17h83cb8fdf5da133c7E.llvm.3269599604001853466.exit" @@ -2179,11 +2175,10 @@ common.resume: ; preds = %54, %29 %36 = getelementptr inbounds nuw i8, ptr %6, i64 64 store i64 %17, ptr %36, align 8, !alias.scope !688 %.phi.trans.insert = getelementptr inbounds nuw i8, ptr %6, i64 48 - %.pre = load i64, ptr %.phi.trans.insert, align 8, !alias.scope !697, !noalias !700 + %.pre = load i64, ptr %.phi.trans.insert, align 8, !alias.scope !697, !noalias !700, !noundef !16 %.phi.trans.insert15 = getelementptr inbounds nuw i8, ptr %6, i64 40 - %.pre16 = load i64, ptr %.phi.trans.insert15, align 8, !alias.scope !702, !noalias !707 - %.pre.fr = freeze i64 %.pre - %37 = icmp eq i64 %.pre.fr, 0 + %.pre16 = load i64, ptr %.phi.trans.insert15, align 8, !alias.scope !702, !noalias !707, !noundef !16 + %37 = icmp eq i64 %.pre, 0 %38 = add nuw nsw i64 %10, 1 %39 = lshr i64 %38, 1 %spec.select = select i1 %37, i64 %10, i64 %39 @@ -2200,8 +2195,8 @@ common.resume: ; preds = %54, %29 %45 = extractvalue { i64, i64 } %44, 0 %46 = icmp eq i64 %45, -9223372036854775807 call void @llvm.assume(i1 %46) - %.pre17 = load i64, ptr %6, align 8, !alias.scope !709, !noalias !700 - %.pre18 = load i64, ptr %40, align 8, !alias.scope !709, !noalias !700 + %.pre17 = load i64, ptr %6, align 8, !alias.scope !709, !noalias !700, !noundef !16 + %.pre18 = load i64, ptr %40, align 8, !alias.scope !709, !noalias !700, !noundef !16 br label %"_ZN9hashbrown3raw5inner21RawTable$LT$T$C$A$GT$7reserve17hc8feb71c8ec67bf9E.exit.i.i" "_ZN9hashbrown3raw5inner21RawTable$LT$T$C$A$GT$7reserve17hc8feb71c8ec67bf9E.exit.i.i": ; preds = %.thread, %.noexc, %"_ZN8indexmap3map25IndexMap$LT$K$C$V$C$S$GT$24with_capacity_and_hasher17hed88fac041ed066fE.llvm.3269599604001853466.exit" @@ -2352,11 +2347,10 @@ common.resume: ; preds = %54, %30 %37 = getelementptr inbounds nuw i8, ptr %7, i64 64 store i64 %18, ptr %37, align 8, !alias.scope !726 %.phi.trans.insert = getelementptr inbounds nuw i8, ptr %7, i64 48 - %.pre = load i64, ptr %.phi.trans.insert, align 8, !alias.scope !735, !noalias !738 + %.pre = load i64, ptr %.phi.trans.insert, align 8, !alias.scope !735, !noalias !738, !noundef !16 %.phi.trans.insert16 = getelementptr inbounds nuw i8, ptr %7, i64 40 - %.pre17 = load i64, ptr %.phi.trans.insert16, align 8, !alias.scope !740, !noalias !745 - %.pre.fr = freeze i64 %.pre - %38 = icmp eq i64 %.pre.fr, 0 + %.pre17 = load i64, ptr %.phi.trans.insert16, align 8, !alias.scope !740, !noalias !745, !noundef !16 + %38 = icmp eq i64 %.pre, 0 tail call void @llvm.experimental.noalias.scope.decl(metadata !735) %39 = add nuw nsw i64 %11, 1 %40 = lshr i64 %39, 1 @@ -2374,8 +2368,8 @@ common.resume: ; preds = %54, %30 %46 = extractvalue { i64, i64 } %45, 0 %47 = icmp eq i64 %46, -9223372036854775807 call void @llvm.assume(i1 %47) - %.pre18 = load i64, ptr %7, align 8, !alias.scope !747, !noalias !738 - %.pre19 = load i64, ptr %41, align 8, !alias.scope !747, !noalias !738 + %.pre18 = load i64, ptr %7, align 8, !alias.scope !747, !noalias !738, !noundef !16 + %.pre19 = load i64, ptr %41, align 8, !alias.scope !747, !noalias !738, !noundef !16 br label %"_ZN9hashbrown3raw5inner21RawTable$LT$T$C$A$GT$7reserve17hfacada8d66434990E.exit.i.i" "_ZN9hashbrown3raw5inner21RawTable$LT$T$C$A$GT$7reserve17hfacada8d66434990E.exit.i.i": ; preds = %.thread, %.noexc, %"_ZN8indexmap3map25IndexMap$LT$K$C$V$C$S$GT$24with_capacity_and_hasher17h140ba6c814f9861cE.llvm.3269599604001853466.exit" @@ -8829,7 +8823,7 @@ define hidden void @_ZN4core4iter6traits8iterator8Iterator8try_fold17hf8b87ce8cc ._crit_edge12: ; preds = %2 %.phi.trans.insert = getelementptr inbounds nuw i8, ptr %1, i64 8 - %.val5.pre = load i64, ptr %.phi.trans.insert, align 8 + %.val5.pre = load i64, ptr %.phi.trans.insert, align 8, !noundef !16 br label %16 .lr.ph: ; preds = %2 @@ -9668,7 +9662,7 @@ define hidden void @"_ZN5alloc3vec16Vec$LT$T$C$A$GT$4push17hf3790882e3f56558E.ll to label %._crit_edge unwind label %15 ._crit_edge: ; preds = %7 - %.pre = load i64, ptr %3, align 8 + %.pre = load i64, ptr %3, align 8, !noundef !16 br label %8 8: ; preds = %._crit_edge, %2 @@ -15690,7 +15684,7 @@ select.unfold: ; preds = %23, %4 49: ; preds = %select.unfold tail call void @"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$16reserve_for_push17hd8522f0e12d37e96E"(ptr noalias noundef nonnull align 8 dereferenceable(24) %1, i64 noundef %46) - %.pre.i.i = load i64, ptr %45, align 8, !alias.scope !3791 + %.pre.i.i = load i64, ptr %45, align 8, !alias.scope !3791, !noundef !16 br label %"_ZN16cranelift_entity7primary23PrimaryMap$LT$K$C$V$GT$4push17hc323284591f64ec3E.exit" "_ZN16cranelift_entity7primary23PrimaryMap$LT$K$C$V$GT$4push17hc323284591f64ec3E.exit": ; preds = %select.unfold, %49 @@ -16735,8 +16729,8 @@ define hidden void @_ZN16wasmtime_environ9component5types16CanonicalAbiInfo7vari %.123 = phi i32 [ %.0.sroa.speculated.i40, %79 ], [ %.022, %46 ], [ %.022, %26 ] %.121 = phi i32 [ %.0.sroa.speculated.i, %79 ], [ %.020, %46 ], [ %.020, %26 ] %.sroa.4.1 = phi i8 [ %.sroa.4.0.i, %79 ], [ %.sroa.4.0, %46 ], [ %.sroa.4.0, %26 ] - %.pre = load i64, ptr %19, align 8, !alias.scope !3861 - %.pre86 = load i64, ptr %18, align 8, !alias.scope !3861 + %.pre = load i64, ptr %19, align 8, !alias.scope !3861, !noundef !16 + %.pre86 = load i64, ptr %18, align 8, !alias.scope !3861, !noundef !16 br label %.split, !llvm.loop !3874 79: ; preds = %46 @@ -17855,7 +17849,7 @@ define hidden void @_ZN16wasmtime_environ9component5types15TypeInformation12buil br i1 %.not, label %"_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$4next17hd83152d5654e6ea1E.exit.thread", label %.lr.ph.preheader .lr.ph.preheader: ; preds = %29 - %.pre = load i8, ptr %8, align 4, !alias.scope !4022 + %.pre = load i8, ptr %8, align 4, !alias.scope !4022, !noundef !16 br label %.lr.ph "_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$4next17hd83152d5654e6ea1E.exit.thread.sink.split": ; preds = %34, %28 @@ -17966,7 +17960,7 @@ define hidden void @_ZN16wasmtime_environ9component5types15TypeInformation12buil br i1 %.not, label %"_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$4next17hd83152d5654e6ea1E.exit.thread", label %.lr.ph.preheader .lr.ph.preheader: ; preds = %30 - %.pre = load i8, ptr %8, align 4, !alias.scope !4034 + %.pre = load i8, ptr %8, align 4, !alias.scope !4034, !noundef !16 br label %.lr.ph "_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$4next17hd83152d5654e6ea1E.exit.thread.sink.split": ; preds = %35, %29 @@ -18552,7 +18546,7 @@ define hidden void @_ZN16wasmtime_environ9component9translate6inline10ImportPath to label %._crit_edge.i unwind label %21, !noalias !4133 ._crit_edge.i: ; preds = %20 - %.pre.i = load i64, ptr %16, align 8, !alias.scope !4130, !noalias !4133 + %.pre.i = load i64, ptr %16, align 8, !alias.scope !4130, !noalias !4133, !noundef !16 br label %25 21: ; preds = %20 @@ -18634,7 +18628,7 @@ define hidden void @_ZN16wasmtime_environ9component9translate6inline10ImportPath to label %._crit_edge.i unwind label %24, !noalias !4155 ._crit_edge.i: ; preds = %23 - %.pre.i = load i64, ptr %19, align 8, !alias.scope !4152, !noalias !4155 + %.pre.i = load i64, ptr %19, align 8, !alias.scope !4152, !noalias !4155, !noundef !16 br label %28 24: ; preds = %23 @@ -18770,7 +18764,7 @@ define hidden void @"_ZN16wasmtime_environ4fact9signature75_$LT$impl$u20$wasmtim br i1 %36, label %"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h4ba49c5559cd89f5E.exit.thread", label %"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h4ba49c5559cd89f5E.exit.preheader" "_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h4ba49c5559cd89f5E.exit.preheader": ; preds = %34 - %.pre = load i64, ptr %13, align 8 + %.pre = load i64, ptr %13, align 8, !noundef !16 br label %"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h4ba49c5559cd89f5E.exit" 37: ; preds = %30 @@ -18802,7 +18796,7 @@ switch.lookup: ; preds = %"_ZN91_$LT$core..sl to label %.noexc15 unwind label %.loopexit26 .noexc15: ; preds = %45 - %.pre.i = load i64, ptr %13, align 8, !alias.scope !4174, !noalias !4177 + %.pre.i = load i64, ptr %13, align 8, !alias.scope !4174, !noalias !4177, !noundef !16 br label %46 46: ; preds = %.noexc15, %switch.lookup @@ -18948,7 +18942,7 @@ define hidden void @"_ZN16wasmtime_environ4fact9signature75_$LT$impl$u20$wasmtim br i1 %36, label %"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h4ba49c5559cd89f5E.exit.thread", label %"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h4ba49c5559cd89f5E.exit.preheader" "_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h4ba49c5559cd89f5E.exit.preheader": ; preds = %34 - %.pre = load i64, ptr %13, align 8 + %.pre = load i64, ptr %13, align 8, !noundef !16 br label %"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h4ba49c5559cd89f5E.exit" 37: ; preds = %30 @@ -18980,7 +18974,7 @@ switch.lookup: ; preds = %"_ZN91_$LT$core..sl to label %.noexc15 unwind label %.loopexit26 .noexc15: ; preds = %45 - %.pre.i = load i64, ptr %13, align 8, !alias.scope !4208, !noalias !4211 + %.pre.i = load i64, ptr %13, align 8, !alias.scope !4208, !noalias !4211, !noundef !16 br label %46 46: ; preds = %.noexc15, %switch.lookup @@ -19143,7 +19137,7 @@ switch.lookup: ; preds = %"_ZN91_$LT$core..sl to label %.noexc16 unwind label %.loopexit29 .noexc16: ; preds = %38 - %.pre.i = load i64, ptr %11, align 8, !alias.scope !4236, !noalias !4239 + %.pre.i = load i64, ptr %11, align 8, !alias.scope !4236, !noalias !4239, !noundef !16 br label %39 39: ; preds = %.noexc16, %switch.lookup diff --git a/bench/wasmtime-rs/optimized/2x1mxlm9f496za8a.ll b/bench/wasmtime-rs/optimized/2x1mxlm9f496za8a.ll index 564b359694d..455ff10302c 100644 --- a/bench/wasmtime-rs/optimized/2x1mxlm9f496za8a.ll +++ b/bench/wasmtime-rs/optimized/2x1mxlm9f496za8a.ll @@ -465,8 +465,8 @@ define hidden void @"_ZN111_$LT$alloc..vec..Vec$LT$T$GT$$u20$as$u20$alloc..vec.. to label %.noexc unwind label %18 .noexc: ; preds = %11 - %.pre.i.i = load i64, ptr %9, align 8, !alias.scope !76 - %.pre = load ptr, ptr %8, align 8, !alias.scope !76 + %.pre.i.i = load i64, ptr %9, align 8, !alias.scope !76, !noundef !4 + %.pre = load ptr, ptr %8, align 8, !alias.scope !76, !nonnull !4, !noundef !4 br label %"_ZN5alloc3vec16Vec$LT$T$C$A$GT$7reserve17h623959b15b0416feE.exit.i.i" "_ZN5alloc3vec16Vec$LT$T$C$A$GT$7reserve17h623959b15b0416feE.exit.i.i": ; preds = %.noexc, %3 @@ -524,7 +524,7 @@ define hidden void @"_ZN132_$LT$alloc..vec..Vec$LT$T$C$A$GT$$u20$as$u20$alloc..v 13: ; preds = %3 tail call void @"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$7reserve21do_reserve_and_handle17h4c0b8a31062c3034E"(ptr noalias noundef nonnull align 8 dereferenceable(24) %0, i64 noundef %9, i64 noundef %7) - %.pre = load i64, ptr %8, align 8 + %.pre = load i64, ptr %8, align 8, !noundef !4 br label %"_ZN5alloc3vec16Vec$LT$T$C$A$GT$7reserve17h0b9117cdc3b87bbaE.llvm.137743244596658287.exit" "_ZN5alloc3vec16Vec$LT$T$C$A$GT$7reserve17h0b9117cdc3b87bbaE.llvm.137743244596658287.exit": ; preds = %3, %13 @@ -1376,7 +1376,7 @@ define hidden void @"_ZN5alloc3vec16Vec$LT$T$C$A$GT$13reserve_exact17h81bec52a70 ] ._crit_edge.i: ; preds = %8 - %.pre.i = load i64, ptr %0, align 8, !alias.scope !199 + %.pre.i = load i64, ptr %0, align 8, !alias.scope !199, !noundef !4 %.pre9.i = sub i64 %.pre.i, %4 br label %"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$17try_reserve_exact17h5307f9f1fde7ac3aE.exit.thread" @@ -1471,7 +1471,7 @@ define hidden void @"_ZN5alloc3vec16Vec$LT$T$C$A$GT$17extend_from_slice17h857af9 9: ; preds = %3 tail call void @"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$7reserve21do_reserve_and_handle17h4c0b8a31062c3034E"(ptr noalias noundef nonnull align 8 dereferenceable(24) %0, i64 noundef %5, i64 noundef %2) - %.pre.i = load i64, ptr %4, align 8, !alias.scope !210 + %.pre.i = load i64, ptr %4, align 8, !alias.scope !210, !noundef !4 br label %"_ZN132_$LT$alloc..vec..Vec$LT$T$C$A$GT$$u20$as$u20$alloc..vec..spec_extend..SpecExtend$LT$$RF$T$C$core..slice..iter..Iter$LT$T$GT$$GT$$GT$11spec_extend17h06ae4ebc339aa5deE.llvm.137743244596658287.exit" "_ZN132_$LT$alloc..vec..Vec$LT$T$C$A$GT$$u20$as$u20$alloc..vec..spec_extend..SpecExtend$LT$$RF$T$C$core..slice..iter..Iter$LT$T$GT$$GT$$GT$11spec_extend17h06ae4ebc339aa5deE.llvm.137743244596658287.exit": ; preds = %3, %9 @@ -2104,8 +2104,8 @@ define hidden void @"_ZN98_$LT$alloc..vec..Vec$LT$T$GT$$u20$as$u20$alloc..vec..s to label %.noexc.i unwind label %18, !noalias !304 .noexc.i: ; preds = %11 - %.pre.i.i.i = load i64, ptr %9, align 8, !alias.scope !307, !noalias !304 - %.pre.i = load ptr, ptr %8, align 8, !alias.scope !307, !noalias !304 + %.pre.i.i.i = load i64, ptr %9, align 8, !alias.scope !307, !noalias !304, !noundef !4 + %.pre.i = load ptr, ptr %8, align 8, !alias.scope !307, !noalias !304, !nonnull !4, !noundef !4 br label %"_ZN5alloc3vec16Vec$LT$T$C$A$GT$7reserve17h623959b15b0416feE.exit.i.i.i" "_ZN5alloc3vec16Vec$LT$T$C$A$GT$7reserve17h623959b15b0416feE.exit.i.i.i": ; preds = %.noexc.i, %3 @@ -2748,7 +2748,7 @@ define hidden void @_ZN9hashbrown3raw13RawTableInner13drop_elements17h606c81b05b %.not.i.i.i = icmp eq i16 %17, -1 br i1 %.not.i.i.i, label %.lr.ph.i.i, label %._crit_edge.i.i -"_ZN91_$LT$hashbrown..raw..RawIter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h2fc0421cd7700d87E.llvm.137743244596658287.exit": ; preds = %12, %._crit_edge.i.i +"_ZN91_$LT$hashbrown..raw..RawIter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h2fc0421cd7700d87E.llvm.137743244596658287.exit": ; preds = %._crit_edge.i.i, %12 %.sroa.6.1 = phi ptr [ %19, %._crit_edge.i.i ], [ %.sroa.6.018, %12 ] %.sroa.03.1 = phi ptr [ %18, %._crit_edge.i.i ], [ %.sroa.03.019, %12 ] %.lcssa.i.i = phi i16 [ %13, %._crit_edge.i.i ], [ %.sroa.84.016, %12 ] @@ -3158,7 +3158,7 @@ _ZN9hashbrown3raw13RawTableInner20full_buckets_indices17h06ca43303e366e4dE.exit. to label %.noexc6 unwind label %83 .thread70.loopexit: ; preds = %163 - %.pre104 = load i64, ptr %10, align 8, !alias.scope !532, !noalias !533 + %.pre104 = load i64, ptr %10, align 8, !alias.scope !532, !noalias !533, !noundef !4 br label %.thread70 .thread70: ; preds = %.thread70.loopexit, %_ZN9hashbrown3raw13RawTableInner20full_buckets_indices17h06ca43303e366e4dE.exit.i @@ -3403,7 +3403,7 @@ _ZN9hashbrown3raw13RawTableInner23prepare_rehash_in_place17h2d7ad79becd9a34aE.ex br label %_ZN4core3ptr19swap_nonoverlapping17hd08ebb0cb934fc2dE.exit.i _ZN4core3ptr19swap_nonoverlapping17hd08ebb0cb934fc2dE.exit.loopexit.i: ; preds = %.preheader.i - %.pre.i25 = load ptr, ptr %0, align 8, !alias.scope !569, !noalias !572 + %.pre.i25 = load ptr, ptr %0, align 8, !alias.scope !569, !noalias !572, !nonnull !4, !noundef !4 br label %_ZN4core3ptr19swap_nonoverlapping17hd08ebb0cb934fc2dE.exit.i _ZN4core3ptr19swap_nonoverlapping17hd08ebb0cb934fc2dE.exit.i: ; preds = %_ZN4core3ptr19swap_nonoverlapping17hd08ebb0cb934fc2dE.exit.loopexit.i, %210 @@ -3582,14 +3582,13 @@ _ZN9hashbrown3raw13RawTableInner16find_insert_slot17he8e89ab18b256145E.exit.i: ; unreachable _ZN9hashbrown3raw13RawTableInner15rehash_in_place17h782a8b650e027c37E.exit: ; preds = %300 - %.pre15.i = load i64, ptr %19, align 8, !alias.scope !560 - %.pre15.i.fr = freeze i64 %.pre15.i - %.pre16.i = add i64 %.pre15.i.fr, 1 + %.pre15.i = load i64, ptr %19, align 8, !alias.scope !560, !noundef !4 + %.pre16.i = add i64 %.pre15.i, 1 %303 = lshr i64 %.pre16.i, 3 %304 = mul nuw i64 %303, 7 - %305 = icmp ult i64 %.pre15.i.fr, 8 - %spec.select = select i1 %305, i64 %.pre15.i.fr, i64 %304 - %.pre = load i64, ptr %10, align 8, !alias.scope !560 + %305 = icmp ult i64 %.pre15.i, 8 + %spec.select = select i1 %305, i64 %.pre15.i, i64 %304 + %.pre = load i64, ptr %10, align 8, !alias.scope !560, !noundef !4 br label %_ZN9hashbrown3raw13RawTableInner15rehash_in_place17h782a8b650e027c37E.exit.thread _ZN9hashbrown3raw13RawTableInner15rehash_in_place17h782a8b650e027c37E.exit.thread: ; preds = %_ZN9hashbrown3raw13RawTableInner15rehash_in_place17h782a8b650e027c37E.exit, %_ZN9hashbrown3raw13RawTableInner23prepare_rehash_in_place17h2d7ad79becd9a34aE.exit.i diff --git a/bench/wasmtime-rs/optimized/322yw2dra6hhv794.ll b/bench/wasmtime-rs/optimized/322yw2dra6hhv794.ll index 7078efa658b..aaca0b1df31 100644 --- a/bench/wasmtime-rs/optimized/322yw2dra6hhv794.ll +++ b/bench/wasmtime-rs/optimized/322yw2dra6hhv794.ll @@ -38,7 +38,7 @@ define void @_ZN4core4iter6traits8iterator8Iterator4fold17h48fa2ec28aba1a87E(ptr "_ZN96_$LT$alloc..vec..drain..Drain$LT$T$C$A$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h9a48f454f634e324E.exit": ; preds = %.noexc call void @llvm.memmove.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %4, ptr noundef nonnull align 8 dereferenceable(32) %6, i64 32, i1 false) - %.pr = load i64, ptr %4, align 8 + %.pr = load i64, ptr %4, align 8, !range !3, !noundef !4 %.not = icmp eq i64 %.pr, -9223372036854775807 br i1 %.not, label %.loopexit4, label %9 @@ -118,7 +118,7 @@ define void @_ZN4core4iter6traits8iterator8Iterator8for_each17h327144897aace8c7E "_ZN96_$LT$alloc..vec..drain..Drain$LT$T$C$A$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h9a48f454f634e324E.exit.i": ; preds = %.noexc.i call void @llvm.memmove.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %4, ptr noundef nonnull align 8 dereferenceable(32) %7, i64 32, i1 false) - %.pr.i = load i64, ptr %4, align 8 + %.pr.i = load i64, ptr %4, align 8, !range !3, !noundef !4 %.not.i = icmp eq i64 %.pr.i, -9223372036854775807 br i1 %.not.i, label %.loopexit4.i, label %10 @@ -236,3 +236,5 @@ attributes #7 = { cold noreturn nounwind } !0 = !{i32 8, !"PIC Level", i32 2} !1 = !{i32 2, !"RtLibUseGOT", i32 1} !2 = !{!"rustc version 1.77.2 (25ef9e3d8 2024-04-09)"} +!3 = !{i64 0, i64 -9223372036854775806} +!4 = !{} diff --git a/bench/wasmtime-rs/optimized/3kgdlzjlx2p3jthq.ll b/bench/wasmtime-rs/optimized/3kgdlzjlx2p3jthq.ll index 671fc275659..3472a5faae3 100644 --- a/bench/wasmtime-rs/optimized/3kgdlzjlx2p3jthq.ll +++ b/bench/wasmtime-rs/optimized/3kgdlzjlx2p3jthq.ll @@ -712,7 +712,7 @@ define void @_ZN4core4iter6traits8iterator8Iterator4fold17h098f641a5e3325acE(ptr %13 = getelementptr inbounds nuw i8, ptr %10, i64 24 store ptr %13, ptr %7, align 8 call void @llvm.memmove.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %4, ptr noundef nonnull align 8 dereferenceable(24) %10, i64 24, i1 false) - %.pr = load i64, ptr %4, align 8 + %.pr = load i64, ptr %4, align 8, !range !7, !noundef !3 %.not = icmp eq i64 %.pr, -9223372036854775808 br i1 %.not, label %.loopexit, label %14 @@ -776,7 +776,7 @@ define void @_ZN4core4iter6traits8iterator8Iterator4fold17h6c85a7bb22328719E(ptr %12 = getelementptr inbounds nuw i8, ptr %9, i64 24 store ptr %12, ptr %6, align 8 call void @llvm.memmove.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %4, ptr noundef nonnull align 8 dereferenceable(24) %9, i64 24, i1 false) - %.pr = load i64, ptr %4, align 8 + %.pr = load i64, ptr %4, align 8, !range !7, !noundef !3 %.not = icmp eq i64 %.pr, -9223372036854775808 br i1 %.not, label %.loopexit, label %13 @@ -909,7 +909,7 @@ define void @_ZN4core4iter6traits8iterator8Iterator4fold17hb36bdf793bfbc0c9E(ptr %12 = getelementptr inbounds nuw i8, ptr %9, i64 56 store ptr %12, ptr %6, align 8 call void @llvm.memmove.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(56) %4, ptr noundef nonnull align 8 dereferenceable(56) %9, i64 56, i1 false) - %.pr = load i64, ptr %4, align 8 + %.pr = load i64, ptr %4, align 8, !range !8, !noundef !3 %.not = icmp eq i64 %.pr, 3 br i1 %.not, label %.loopexit, label %13 @@ -1002,7 +1002,7 @@ define { ptr, ptr } @_ZN4core4iter6traits8iterator8Iterator8try_fold17ha7dbb05bc %23 = getelementptr inbounds nuw i8, ptr %22, i64 24 store ptr %23, ptr %13, align 8 call void @llvm.memmove.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %7, ptr noundef nonnull align 8 dereferenceable(24) %22, i64 24, i1 false) - %.pr = load i64, ptr %7, align 8 + %.pr = load i64, ptr %7, align 8, !range !7, !noundef !3 %.not = icmp eq i64 %.pr, -9223372036854775808 br i1 %.not, label %.loopexit, label %24 @@ -1463,3 +1463,5 @@ attributes #17 = { cold noreturn nounwind } !4 = !{i64 1} !5 = !{i64 8} !6 = !{i64 0, i64 2} +!7 = !{i64 0, i64 -9223372036854775807} +!8 = !{i64 0, i64 4} diff --git a/bench/wasmtime-rs/optimized/3w5lei6xclrfo3sz.ll b/bench/wasmtime-rs/optimized/3w5lei6xclrfo3sz.ll index f6ce78356ac..be9b3f36f3d 100644 --- a/bench/wasmtime-rs/optimized/3w5lei6xclrfo3sz.ll +++ b/bench/wasmtime-rs/optimized/3w5lei6xclrfo3sz.ll @@ -511,7 +511,7 @@ define void @_ZN4core4iter6traits8iterator8Iterator4fold17h53447aac3fdeb645E(ptr %12 = getelementptr inbounds nuw i8, ptr %9, i64 48 store ptr %12, ptr %6, align 8 call void @llvm.memmove.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(48) %4, ptr noundef nonnull align 16 dereferenceable(48) %9, i64 48, i1 false) - %.pr = load i8, ptr %4, align 16 + %.pr = load i8, ptr %4, align 16, !range !4, !noundef !3 %.not = icmp eq i8 %.pr, 10 br i1 %.not, label %.loopexit, label %13 @@ -589,7 +589,7 @@ define void @_ZN4core4iter6traits8iterator8Iterator4fold17h7b4032206c6f3dd8E(ptr %12 = getelementptr inbounds nuw i8, ptr %9, i64 48 store ptr %12, ptr %6, align 8 call void @llvm.memmove.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(48) %4, ptr noundef nonnull align 16 dereferenceable(48) %9, i64 48, i1 false) - %.pr = load i8, ptr %4, align 16 + %.pr = load i8, ptr %4, align 16, !range !4, !noundef !3 %.not = icmp eq i8 %.pr, 10 br i1 %.not, label %.loopexit, label %13 @@ -777,7 +777,7 @@ define { ptr, ptr } @_ZN4core4iter6traits8iterator8Iterator8try_fold17hb40179eb7 %23 = getelementptr inbounds nuw i8, ptr %22, i64 48 store ptr %23, ptr %13, align 8 call void @llvm.memmove.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(48) %7, ptr noundef nonnull align 16 dereferenceable(48) %22, i64 48, i1 false) - %.pr = load i8, ptr %7, align 16 + %.pr = load i8, ptr %7, align 16, !range !4, !noundef !3 %.not = icmp eq i8 %.pr, 10 br i1 %.not, label %.loopexit, label %24 @@ -861,7 +861,7 @@ define { ptr, ptr } @_ZN4core4iter6traits8iterator8Iterator8try_fold17hf004c123c %23 = getelementptr inbounds nuw i8, ptr %22, i64 48 store ptr %23, ptr %13, align 8 call void @llvm.memmove.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(48) %7, ptr noundef nonnull align 16 dereferenceable(48) %22, i64 48, i1 false) - %.pr = load i8, ptr %7, align 16 + %.pr = load i8, ptr %7, align 16, !range !4, !noundef !3 %.not = icmp eq i8 %.pr, 10 br i1 %.not, label %.loopexit, label %24 @@ -1250,3 +1250,4 @@ attributes #17 = { cold noreturn nounwind } !1 = !{i32 2, !"RtLibUseGOT", i32 1} !2 = !{!"rustc version 1.77.2 (25ef9e3d8 2024-04-09)"} !3 = !{} +!4 = !{i8 0, i8 11} diff --git a/bench/wasmtime-rs/optimized/4nkh38vfk0kb3m00.ll b/bench/wasmtime-rs/optimized/4nkh38vfk0kb3m00.ll index b69cbcb3aa1..bf943904d97 100644 --- a/bench/wasmtime-rs/optimized/4nkh38vfk0kb3m00.ll +++ b/bench/wasmtime-rs/optimized/4nkh38vfk0kb3m00.ll @@ -613,7 +613,7 @@ define void @_ZN4core4iter6traits8iterator8Iterator4fold17h1984568d7009a215E(ptr %12 = getelementptr inbounds nuw i8, ptr %9, i64 72 store ptr %12, ptr %6, align 8 call void @llvm.memmove.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(72) %4, ptr noundef nonnull align 8 dereferenceable(72) %9, i64 72, i1 false) - %.pr = load i64, ptr %4, align 8 + %.pr = load i64, ptr %4, align 8, !range !5, !noundef !3 %.not = icmp eq i64 %.pr, -9223372036854775808 br i1 %.not, label %.loopexit, label %13 @@ -691,7 +691,7 @@ define void @_ZN4core4iter6traits8iterator8Iterator4fold17h8eb6eab23af52047E(ptr %12 = getelementptr inbounds nuw i8, ptr %9, i64 96 store ptr %12, ptr %6, align 8 call void @llvm.memmove.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(96) %4, ptr noundef nonnull align 8 dereferenceable(96) %9, i64 96, i1 false) - %.pr = load i64, ptr %4, align 8 + %.pr = load i64, ptr %4, align 8, !range !6, !noundef !3 %.not = icmp eq i64 %.pr, -9223372036854775807 br i1 %.not, label %.loopexit, label %13 @@ -769,7 +769,7 @@ define void @_ZN4core4iter6traits8iterator8Iterator4fold17h90378c46cdcd587cE(ptr %12 = getelementptr inbounds nuw i8, ptr %9, i64 88 store ptr %12, ptr %6, align 8 call void @llvm.memmove.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(88) %4, ptr noundef nonnull align 8 dereferenceable(88) %9, i64 88, i1 false) - %.pr = load i64, ptr %4, align 8 + %.pr = load i64, ptr %4, align 8, !range !7, !noundef !3 %.not = icmp eq i64 %.pr, -9223372036854775799 br i1 %.not, label %.loopexit, label %13 @@ -847,7 +847,7 @@ define void @_ZN4core4iter6traits8iterator8Iterator4fold17he60e5c1b252bac5fE(ptr %12 = getelementptr inbounds nuw i8, ptr %9, i64 88 store ptr %12, ptr %6, align 8 call void @llvm.memmove.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(88) %4, ptr noundef nonnull align 8 dereferenceable(88) %9, i64 88, i1 false) - %.pr = load i64, ptr %4, align 8 + %.pr = load i64, ptr %4, align 8, !range !8, !noundef !3 %.not = icmp eq i64 %.pr, -9223372036854775800 br i1 %.not, label %.loopexit, label %13 @@ -1176,3 +1176,7 @@ attributes #13 = { cold noreturn nounwind } !2 = !{!"rustc version 1.77.2 (25ef9e3d8 2024-04-09)"} !3 = !{} !4 = !{i64 8} +!5 = !{i64 0, i64 -9223372036854775807} +!6 = !{i64 0, i64 -9223372036854775806} +!7 = !{i64 0, i64 -9223372036854775798} +!8 = !{i64 0, i64 -9223372036854775799} diff --git a/bench/z3/optimized/dl_mk_filter_rules.ll b/bench/z3/optimized/dl_mk_filter_rules.ll index dcdf7d305d3..76036ef2ac7 100644 --- a/bench/z3/optimized/dl_mk_filter_rules.ll +++ b/bench/z3/optimized/dl_mk_filter_rules.ll @@ -2432,7 +2432,7 @@ _ZNK7datalog8rule_set13get_num_rulesEv.exit: ; preds = %_ZN7obj_mapIN7datal br label %.lr.ph ._crit_edge: ; preds = %.lr.ph - %.pre = load i8, ptr %39, align 8, !tbaa !315, !range !319 + %.pre = load i8, ptr %39, align 8, !tbaa !315, !range !319, !noundef !320 %45 = trunc nuw i8 %.pre to i1 br i1 %45, label %52, label %._crit_edge.thread @@ -2440,11 +2440,11 @@ _ZNK7datalog8rule_set13get_num_rulesEv.exit: ; preds = %_ZN7obj_mapIN7datal %indvars.iv = phi i64 [ 0, %.lr.ph.preheader ], [ %indvars.iv.next, %.lr.ph ] %46 = load ptr, ptr %40, align 8, !tbaa !318 %47 = getelementptr inbounds nuw ptr, ptr %46, i64 %indvars.iv - %48 = load ptr, ptr %47, align 8, !tbaa !320 + %48 = load ptr, ptr %47, align 8, !tbaa !321 tail call void @_ZN7datalog15mk_filter_rules7processEPNS_4ruleE(ptr noundef nonnull align 8 dereferenceable(112) %0, ptr noundef %48) %indvars.iv.next = add nuw nsw i64 %indvars.iv, 1 %exitcond.not = icmp eq i64 %indvars.iv.next, %wide.trip.count - br i1 %exitcond.not, label %._crit_edge, label %.lr.ph, !llvm.loop !321 + br i1 %exitcond.not, label %._crit_edge, label %.lr.ph, !llvm.loop !322 ._crit_edge.thread: ; preds = %_ZN7obj_mapIN7datalog15mk_filter_rules10filter_keyEP9func_declE5resetEv.exit, %_ZNK7datalog8rule_set13get_num_rulesEv.exit, %._crit_edge %49 = load ptr, ptr %38, align 8, !tbaa !220 @@ -2509,7 +2509,7 @@ define linkonce_odr hidden void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcE 12: ; preds = %10 %13 = add nuw i64 %8, 1 %14 = icmp slt i64 %13, 0 - br i1 %14, label %.noexc11, label %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_createERmm.exit.i, !prof !322 + br i1 %14, label %.noexc11, label %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_createERmm.exit.i, !prof !323 .noexc11: ; preds = %12 tail call void @_ZSt17__throw_bad_allocv() #21 @@ -3032,7 +3032,7 @@ define linkonce_odr hidden void @_ZN7datalog15mk_filter_rules10filter_keyD2Ev(pt .lr.ph.i.i: ; preds = %1, %_ZN15ref_buffer_coreI4expr19ref_manager_wrapperIS0_11ast_managerELj16EE7dec_refEPS0_.exit.i.i %.06.i.i = phi ptr [ %17, %_ZN15ref_buffer_coreI4expr19ref_manager_wrapperIS0_11ast_managerELj16EE7dec_refEPS0_.exit.i.i ], [ %4, %1 ] %9 = load ptr, ptr %.06.i.i, align 8, !tbaa !259 - %10 = load ptr, ptr %2, align 8, !tbaa !323 + %10 = load ptr, ptr %2, align 8, !tbaa !324 %.not.i.i.i.i.i = icmp eq ptr %9, null br i1 %.not.i.i.i.i.i, label %_ZN15ref_buffer_coreI4expr19ref_manager_wrapperIS0_11ast_managerELj16EE7dec_refEPS0_.exit.i.i, label %11 @@ -3051,7 +3051,7 @@ define linkonce_odr hidden void @_ZN7datalog15mk_filter_rules10filter_keyD2Ev(pt _ZN15ref_buffer_coreI4expr19ref_manager_wrapperIS0_11ast_managerELj16EE7dec_refEPS0_.exit.i.i: ; preds = %16, %11, %.lr.ph.i.i %17 = getelementptr inbounds nuw i8, ptr %.06.i.i, i64 8 %18 = icmp ult ptr %17, %8 - br i1 %18, label %.lr.ph.i.i, label %_ZN15ref_buffer_coreI4expr19ref_manager_wrapperIS0_11ast_managerELj16EE13dec_range_refEPKPS0_S7_.exit.loopexit.i, !llvm.loop !324 + br i1 %18, label %.lr.ph.i.i, label %_ZN15ref_buffer_coreI4expr19ref_manager_wrapperIS0_11ast_managerELj16EE13dec_range_refEPKPS0_S7_.exit.loopexit.i, !llvm.loop !325 _ZN15ref_buffer_coreI4expr19ref_manager_wrapperIS0_11ast_managerELj16EE13dec_range_refEPKPS0_S7_.exit.loopexit.i: ; preds = %_ZN15ref_buffer_coreI4expr19ref_manager_wrapperIS0_11ast_managerELj16EE7dec_refEPS0_.exit.i.i %.pre.i = load ptr, ptr %3, align 8, !tbaa !277 @@ -3132,7 +3132,7 @@ define linkonce_odr hidden noundef zeroext i1 @_ZN14core_hashtableIN7obj_mapIN7d br label %15 15: ; preds = %14, %3 - %16 = load ptr, ptr %1, align 8, !tbaa !325 + %16 = load ptr, ptr %1, align 8, !tbaa !326 %17 = load ptr, ptr %16, align 8, !tbaa !276 %18 = getelementptr inbounds nuw i8, ptr %17, i64 12 %19 = load i32, ptr %18, align 4, !tbaa !250 @@ -3157,7 +3157,7 @@ define linkonce_odr hidden noundef zeroext i1 @_ZN14core_hashtableIN7obj_mapIN7d %29 = xor i32 %28, %.056.i.i.i.i %indvars.iv.next.i.i.i.i = add nuw nsw i64 %indvars.iv.i.i.i.i, 1 %exitcond.not.i.i.i.i = icmp eq i64 %indvars.iv.next.i.i.i.i, %wide.trip.count.i.i.i.i - br i1 %exitcond.not.i.i.i.i, label %_ZNK14core_hashtableIN7obj_mapIN7datalog15mk_filter_rules10filter_keyEP9func_declE13obj_map_entryE8obj_hashINS6_8key_dataEE10default_eqIS9_EE8get_hashERKS9_.exit, label %24, !llvm.loop !326 + br i1 %exitcond.not.i.i.i.i, label %_ZNK14core_hashtableIN7obj_mapIN7datalog15mk_filter_rules10filter_keyEP9func_declE13obj_map_entryE8obj_hashINS6_8key_dataEE10default_eqIS9_EE8get_hashERKS9_.exit, label %24, !llvm.loop !327 _ZNK14core_hashtableIN7obj_mapIN7datalog15mk_filter_rules10filter_keyEP9func_declE13obj_map_entryE8obj_hashINS6_8key_dataEE10default_eqIS9_EE8get_hashERKS9_.exit: ; preds = %24, %15 %.05.lcssa.i.i.i.i = phi i32 [ %19, %15 ], [ %29, %24 ] @@ -3212,7 +3212,7 @@ _ZNK14core_hashtableIN7obj_mapIN7datalog15mk_filter_rules10filter_keyEP9func_dec %52 = xor i32 %51, %.056.i.i.i %indvars.iv.next.i.i.i = add nuw nsw i64 %indvars.iv.i.i.i, 1 %exitcond.not.i.i.i = icmp eq i64 %indvars.iv.next.i.i.i, %wide.trip.count.i.i.i - br i1 %exitcond.not.i.i.i, label %_ZNK7obj_mapIN7datalog15mk_filter_rules10filter_keyEP9func_declE13obj_map_entry8get_hashEv.exit, label %47, !llvm.loop !326 + br i1 %exitcond.not.i.i.i, label %_ZNK7obj_mapIN7datalog15mk_filter_rules10filter_keyEP9func_declE13obj_map_entry8get_hashEv.exit, label %47, !llvm.loop !327 _ZNK7obj_mapIN7datalog15mk_filter_rules10filter_keyEP9func_declE13obj_map_entry8get_hashEv.exit: ; preds = %47, %39 %.05.lcssa.i.i.i = phi i32 [ %42, %39 ], [ %52, %47 ] @@ -3237,7 +3237,7 @@ _ZNK7obj_mapIN7datalog15mk_filter_rules10filter_keyEP9func_declE13obj_map_entry8 60: ; preds = %56, %57 %.048 = phi ptr [ %.04982, %57 ], [ %.05081, %56 ] - tail call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %.048, ptr noundef nonnull align 8 dereferenceable(16) %1, i64 16, i1 false), !tbaa.struct !327 + tail call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %.048, ptr noundef nonnull align 8 dereferenceable(16) %1, i64 16, i1 false), !tbaa.struct !328 %61 = load i32, ptr %4, align 4, !tbaa !218 %62 = add i32 %61, 1 store i32 %62, ptr %4, align 4, !tbaa !218 @@ -3248,7 +3248,7 @@ _ZNK7obj_mapIN7datalog15mk_filter_rules10filter_keyEP9func_declE13obj_map_entry8 %.1 = phi ptr [ %.04982, %_ZNK7obj_mapIN7datalog15mk_filter_rules10filter_keyEP9func_declE13obj_map_entry8get_hashEv.exit ], [ %.05081, %.lr.ph ] %64 = getelementptr inbounds nuw i8, ptr %.05081, i64 16 %.not = icmp eq ptr %64, %37 - br i1 %.not, label %.preheader, label %.lr.ph, !llvm.loop !328 + br i1 %.not, label %.preheader, label %.lr.ph, !llvm.loop !329 .lr.ph86: ; preds = %.preheader, %90 %.285 = phi ptr [ %.3, %90 ], [ %.049.lcssa, %.preheader ] @@ -3285,7 +3285,7 @@ _ZNK7obj_mapIN7datalog15mk_filter_rules10filter_keyEP9func_declE13obj_map_entry8 %79 = xor i32 %78, %.056.i.i.i62 %indvars.iv.next.i.i.i63 = add nuw nsw i64 %indvars.iv.i.i.i61, 1 %exitcond.not.i.i.i64 = icmp eq i64 %indvars.iv.next.i.i.i63, %wide.trip.count.i.i.i60 - br i1 %exitcond.not.i.i.i64, label %_ZNK7obj_mapIN7datalog15mk_filter_rules10filter_keyEP9func_declE13obj_map_entry8get_hashEv.exit66, label %74, !llvm.loop !326 + br i1 %exitcond.not.i.i.i64, label %_ZNK7obj_mapIN7datalog15mk_filter_rules10filter_keyEP9func_declE13obj_map_entry8get_hashEv.exit66, label %74, !llvm.loop !327 _ZNK7obj_mapIN7datalog15mk_filter_rules10filter_keyEP9func_declE13obj_map_entry8get_hashEv.exit66: ; preds = %74, %66 %.05.lcssa.i.i.i65 = phi i32 [ %69, %66 ], [ %79, %74 ] @@ -3310,7 +3310,7 @@ _ZNK7obj_mapIN7datalog15mk_filter_rules10filter_keyEP9func_declE13obj_map_entry8 87: ; preds = %83, %84 %.0 = phi ptr [ %.285, %84 ], [ %.15184, %83 ] - tail call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %.0, ptr noundef nonnull align 8 dereferenceable(16) %1, i64 16, i1 false), !tbaa.struct !327 + tail call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %.0, ptr noundef nonnull align 8 dereferenceable(16) %1, i64 16, i1 false), !tbaa.struct !328 %88 = load i32, ptr %4, align 4, !tbaa !218 %89 = add i32 %88, 1 store i32 %89, ptr %4, align 4, !tbaa !218 @@ -3321,7 +3321,7 @@ _ZNK7obj_mapIN7datalog15mk_filter_rules10filter_keyEP9func_declE13obj_map_entry8 %.3 = phi ptr [ %.285, %_ZNK7obj_mapIN7datalog15mk_filter_rules10filter_keyEP9func_declE13obj_map_entry8get_hashEv.exit66 ], [ %.15184, %.lr.ph86 ] %91 = getelementptr inbounds nuw i8, ptr %.15184, i64 16 %.not53 = icmp eq ptr %91, %35 - br i1 %.not53, label %._crit_edge, label %.lr.ph86, !llvm.loop !329 + br i1 %.not53, label %._crit_edge, label %.lr.ph86, !llvm.loop !330 ._crit_edge: ; preds = %90, %.preheader tail call void @_Z26notify_assertion_violationPKciS0_(ptr noundef nonnull @.str.4, i32 noundef 461, ptr noundef nonnull @.str.5) @@ -3389,7 +3389,7 @@ _ZN14core_hashtableIN7obj_mapIN7datalog15mk_filter_rules10filter_keyEP9func_decl %28 = xor i32 %27, %.056.i.i.i.i %indvars.iv.next.i.i.i.i = add nuw nsw i64 %indvars.iv.i.i.i.i, 1 %exitcond.not.i.i.i.i = icmp eq i64 %indvars.iv.next.i.i.i.i, %wide.trip.count.i.i.i.i - br i1 %exitcond.not.i.i.i.i, label %_ZNK7obj_mapIN7datalog15mk_filter_rules10filter_keyEP9func_declE13obj_map_entry8get_hashEv.exit.i, label %23, !llvm.loop !326 + br i1 %exitcond.not.i.i.i.i, label %_ZNK7obj_mapIN7datalog15mk_filter_rules10filter_keyEP9func_declE13obj_map_entry8get_hashEv.exit.i, label %23, !llvm.loop !327 _ZNK7obj_mapIN7datalog15mk_filter_rules10filter_keyEP9func_declE13obj_map_entry8get_hashEv.exit.i: ; preds = %23, %15 %.05.lcssa.i.i.i.i = phi i32 [ %18, %15 ], [ %28, %23 ] @@ -3410,13 +3410,13 @@ _ZNK7obj_mapIN7datalog15mk_filter_rules10filter_keyEP9func_declE13obj_map_entry8 br i1 %33, label %34, label %35 34: ; preds = %.lr.ph.i - tail call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %.034.i, ptr noundef nonnull align 8 dereferenceable(16) %.02839.i, i64 16, i1 false), !tbaa.struct !327 + tail call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %.034.i, ptr noundef nonnull align 8 dereferenceable(16) %.02839.i, i64 16, i1 false), !tbaa.struct !328 br label %42 35: ; preds = %.lr.ph.i %36 = getelementptr inbounds nuw i8, ptr %.034.i, i64 16 %.not29.i = icmp eq ptr %36, %13 - br i1 %.not29.i, label %.preheader.i, label %.lr.ph.i, !llvm.loop !330 + br i1 %.not29.i, label %.preheader.i, label %.lr.ph.i, !llvm.loop !331 .lr.ph37.i: ; preds = %.preheader.i, %40 %.136.i = phi ptr [ %41, %40 ], [ %7, %.preheader.i ] @@ -3425,13 +3425,13 @@ _ZNK7obj_mapIN7datalog15mk_filter_rules10filter_keyEP9func_declE13obj_map_entry8 br i1 %38, label %39, label %40 39: ; preds = %.lr.ph37.i - tail call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %.136.i, ptr noundef nonnull align 8 dereferenceable(16) %.02839.i, i64 16, i1 false), !tbaa.struct !327 + tail call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %.136.i, ptr noundef nonnull align 8 dereferenceable(16) %.02839.i, i64 16, i1 false), !tbaa.struct !328 br label %42 40: ; preds = %.lr.ph37.i %41 = getelementptr inbounds nuw i8, ptr %.136.i, i64 16 %.not30.i = icmp eq ptr %41, %31 - br i1 %.not30.i, label %._crit_edge.i, label %.lr.ph37.i, !llvm.loop !331 + br i1 %.not30.i, label %._crit_edge.i, label %.lr.ph37.i, !llvm.loop !332 ._crit_edge.i: ; preds = %40, %.preheader.i tail call void @_Z26notify_assertion_violationPKciS0_(ptr noundef nonnull @.str.4, i32 noundef 213, ptr noundef nonnull @.str.5) @@ -3441,7 +3441,7 @@ _ZNK7obj_mapIN7datalog15mk_filter_rules10filter_keyEP9func_declE13obj_map_entry8 42: ; preds = %._crit_edge.i, %39, %34, %.lr.ph41.i %43 = getelementptr inbounds nuw i8, ptr %.02839.i, i64 16 %.not.i = icmp eq ptr %43, %12 - br i1 %.not.i, label %_ZN14core_hashtableIN7obj_mapIN7datalog15mk_filter_rules10filter_keyEP9func_declE13obj_map_entryE8obj_hashINS6_8key_dataEE10default_eqIS9_EE10move_tableEPS7_jSE_j.exit.loopexit, label %.lr.ph41.i, !llvm.loop !332 + br i1 %.not.i, label %_ZN14core_hashtableIN7obj_mapIN7datalog15mk_filter_rules10filter_keyEP9func_declE13obj_map_entryE8obj_hashINS6_8key_dataEE10default_eqIS9_EE10move_tableEPS7_jSE_j.exit.loopexit, label %.lr.ph41.i, !llvm.loop !333 _ZN14core_hashtableIN7obj_mapIN7datalog15mk_filter_rules10filter_keyEP9func_declE13obj_map_entryE8obj_hashINS6_8key_dataEE10default_eqIS9_EE10move_tableEPS7_jSE_j.exit.loopexit: ; preds = %42 %.pre = load ptr, ptr %0, align 8, !tbaa !214 @@ -3957,16 +3957,17 @@ attributes #22 = { builtin allocsize(0) } !317 = distinct !{!317, !234} !318 = !{!140, !141, i64 0} !319 = !{i8 0, i8 2} -!320 = !{!132, !132, i64 0} -!321 = distinct !{!321, !234} -!322 = !{!"branch_weights", !"expected", i32 1, i32 2000} -!323 = !{!48, !19, i64 0} -!324 = distinct !{!324, !234} -!325 = !{!231, !232, i64 0} -!326 = distinct !{!326, !234} -!327 = !{i64 0, i64 8, !236, i64 8, i64 8, !295} -!328 = distinct !{!328, !234} +!320 = !{} +!321 = !{!132, !132, i64 0} +!322 = distinct !{!322, !234} +!323 = !{!"branch_weights", !"expected", i32 1, i32 2000} +!324 = !{!48, !19, i64 0} +!325 = distinct !{!325, !234} +!326 = !{!231, !232, i64 0} +!327 = distinct !{!327, !234} +!328 = !{i64 0, i64 8, !236, i64 8, i64 8, !295} !329 = distinct !{!329, !234} !330 = distinct !{!330, !234} !331 = distinct !{!331, !234} !332 = distinct !{!332, !234} +!333 = distinct !{!333, !234} diff --git a/bench/zed-rs/optimized/35x08quqxvun4xbcwdjh3cm4j.ll b/bench/zed-rs/optimized/35x08quqxvun4xbcwdjh3cm4j.ll index 186b1515860..81d4659d3ab 100644 --- a/bench/zed-rs/optimized/35x08quqxvun4xbcwdjh3cm4j.ll +++ b/bench/zed-rs/optimized/35x08quqxvun4xbcwdjh3cm4j.ll @@ -523,14 +523,13 @@ define internal void @"_ZN109_$LT$settings..settings_store..SettingValue$LT$T$GT unreachable .thread.i: ; preds = %.noexc.i - %.pre.i.i = load i64, ptr %10, align 8, !alias.scope !76, !noalias !79 - %.pre.i.fr.i = freeze i64 %.pre.i.i - %.pre67.i.i = tail call i64 @llvm.umax.i64(i64 %.pre.i.fr.i, i64 3) - %83 = icmp ugt i64 %.pre.i.fr.i, 3 + %.pre.i.i = load i64, ptr %10, align 8, !alias.scope !76, !noalias !79, !noundef !4 + %.pre67.i.i = tail call i64 @llvm.umax.i64(i64 %.pre.i.i, i64 3) + %83 = icmp ugt i64 %.pre.i.i, 3 %84 = load ptr, ptr %74, align 8, !alias.scope !76, !noalias !79, !nonnull !4 %spec.select = select i1 %83, ptr %84, ptr %74 %spec.select26 = select i1 %83, ptr %.sroa.gep.i, ptr %10 - %.pre = load i64, ptr %spec.select26, align 8, !alias.scope !73, !noalias !70 + %.pre = load i64, ptr %spec.select26, align 8, !alias.scope !73, !noalias !70, !noundef !4 %85 = icmp ult i64 %.pre, %.pre67.i.i br i1 %85, label %.lr.ph.i.i.preheader, label %._crit_edge.i.i @@ -625,7 +624,7 @@ define internal void @"_ZN109_$LT$settings..settings_store..SettingValue$LT$T$GT .noexc7.i: ; preds = %120 %121 = load ptr, ptr %74, align 8, !alias.scope !96, !noalias !97, !nonnull !4, !noundef !4 - %.pre.i.i.i = load i64, ptr %.sroa.gep.i, align 8, !alias.scope !96, !noalias !97 + %.pre.i.i.i = load i64, ptr %.sroa.gep.i, align 8, !alias.scope !96, !noalias !97, !noundef !4 br label %"_ZN8smallvec17SmallVec$LT$A$GT$4push17hea7531dbe75b9998E.exit.i.i" "_ZN8smallvec17SmallVec$LT$A$GT$4push17hea7531dbe75b9998E.exit.i.i": ; preds = %.noexc7.i, %"_ZN102_$LT$core..iter..adapters..map..Map$LT$I$C$F$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17haef1d0dac9ce0d1aE.exit20.i.i" @@ -1120,7 +1119,7 @@ define internal void @"_ZN109_$LT$settings..settings_store..SettingValue$LT$T$GT to label %._crit_edge unwind label %80, !noalias !200 ._crit_edge: ; preds = %75 - %.pre = load ptr, ptr %37, align 8, !alias.scope !197, !noalias !200 + %.pre = load ptr, ptr %37, align 8, !alias.scope !197, !noalias !200, !nonnull !4, !noundef !4 br label %76 76: ; preds = %._crit_edge, %.loopexit @@ -1497,7 +1496,7 @@ common.resume: ; preds = %9, %46, %21 51: ; preds = %41 %52 = getelementptr inbounds nuw i8, ptr %0, i64 8 store ptr %42, ptr %52, align 8 - %.pre = load ptr, ptr %35, align 8, !alias.scope !266 + %.pre = load ptr, ptr %35, align 8, !alias.scope !266, !nonnull !4, !noundef !4 br label %43 53: ; preds = %"_ZN4core3ptr59drop_in_place$LT$serde_json..value..de..SeqDeserializer$GT$17hf81549cea9e4ab8fE.exit", %"_ZN4core3ptr59drop_in_place$LT$serde_json..value..de..SeqDeserializer$GT$17hf81549cea9e4ab8fE.exit6" @@ -2523,7 +2522,7 @@ define internal void @"_ZN4core3ptr68drop_in_place$LT$alloc..boxed..Box$LT$dyn$u %3 = load ptr, ptr %2, align 8, !nonnull !4, !align !23, !noundef !4 %4 = load ptr, ptr %3, align 8, !invariant.load !4 %.not = icmp eq ptr %4, null - %.val.pre = load ptr, ptr %0, align 8 + %.val.pre = load ptr, ptr %0, align 8, !nonnull !4, !noundef !4 br i1 %.not, label %6, label %5 5: ; preds = %1 @@ -7691,7 +7690,7 @@ _ZN10serde_json5value5Value3get17hf5fee1d1804b9f0bE.exit: ; preds = %138 %290 = load ptr, ptr %113, align 8, !alias.scope !1063, !nonnull !4, !align !23, !noundef !4 %291 = load ptr, ptr %290, align 8, !invariant.load !4, !noalias !1063 %.not.i.i = icmp eq ptr %291, null - %.pre.i.i = load ptr, ptr %23, align 8, !alias.scope !1064 + %.pre.i.i = load ptr, ptr %23, align 8, !alias.scope !1064, !nonnull !4, !noundef !4 br i1 %.not.i.i, label %293, label %292 292: ; preds = %"_ZN4core3ptr68drop_in_place$LT$alloc..boxed..Box$LT$dyn$u20$core..any..Any$GT$$GT$17h1f34c016db5e33a4E.exit" diff --git a/scripts/setup_pre_commit_patch.sh b/scripts/setup_pre_commit_patch.sh index c5409e09ef4..1a4c250e70b 100755 --- a/scripts/setup_pre_commit_patch.sh +++ b/scripts/setup_pre_commit_patch.sh @@ -2,7 +2,7 @@ set -euo pipefail shopt -s inherit_errexit -export GITHUB_PATCH_ID="/llvm-project/commit/" +export GITHUB_PATCH_ID=llvm/llvm-project/pull/134403 export COMPTIME_MODE=0 # Please rebase manually