From 5321f5d5708d8768b436e24b467513f8544ed610 Mon Sep 17 00:00:00 2001 From: fhahn <450489+fhahn@users.noreply.github.com> Date: Tue, 7 Oct 2025 22:41:50 +0800 Subject: [PATCH 1/3] pre-commit: PRllvm/llvm-project/compare/main...fhahn:llvm-project:ic-fold-alignment-assumption-into-load-tmp --- scripts/setup_pre_commit_patch.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/setup_pre_commit_patch.sh b/scripts/setup_pre_commit_patch.sh index c8d0fce0bf7..145a1c43537 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/compare/main...fhahn:llvm-project:ic-fold-alignment-assumption-into-load-tmp export COMPTIME_MODE=0 export STAT_MODE=0 export STAT_NAME="" From 881569283424ea8e3781911f739eebb65b101560 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 7 Oct 2025 14:59:58 +0000 Subject: [PATCH 2/3] pre-commit: Update --- bench/actix-rs/optimized/1cyxz7f31jo1m8z1.ll | 1 + bench/clap-rs/optimized/3b4nqkxyl1xqdcre.ll | 13 +- bench/clap-rs/optimized/421wxj3t0b5xgmkw.ll | 165 +++++++------- bench/darktable/optimized/brush.ll | 7 +- bench/darktable/optimized/ellipse.ll | 9 +- .../optimized/introspection_sharpen.ll | 138 ++++++------ .../optimized/9g25xiovadbzz8leri5a9ttiq.ll | 6 +- .../optimized/13v7qjk9d4erkgv5w97enxlzt.ll | 28 ++- .../optimized/1f6psxxy03bde21s751lsgfn2.ll | 17 +- .../optimized/2jegnuo3b7uy1oojff5kt8alk.ll | 13 +- .../optimized/5o5xgybh9xo8acbeboom17uhq.ll | 11 +- .../optimized/8zxt2gjt68ikxu18thf3foa45.ll | 8 +- .../optimized/czs708r0zvy58e2j6rsq7a88i.ll | 7 +- .../optimized/djai6kkt8m7zi9lpt05bwt9kh.ll | 11 +- .../optimized/3mkcuilt3qj76iejlx2uremig.ll | 5 + .../optimized/7zdc97sa0ogd517y2re7ok0yw.ll | 32 +++ .../optimized/b0xh3itut9mfgawhehftenjye.ll | 46 ++++ .../optimized/dn9au2q3g3wlvvn47oahet6lo.ll | 2 + bench/image-rs/optimized/2s4mh02dvph60euq.ll | 27 ++- bench/image-rs/optimized/34r8dryqmufipcqz.ll | 9 + bench/image-rs/optimized/5ez7udly19o3uj1p.ll | 21 ++ .../influxdb-rs/optimized/3k3vgyqcou07q2z6.ll | 14 ++ .../influxdb-rs/optimized/45ep097lxkbdotle.ll | 119 +++++++++- .../influxdb-rs/optimized/4kb3gpg2ia525kiq.ll | 11 +- .../influxdb-rs/optimized/55ksfxb2g8gj9lwh.ll | 112 +++++++++- .../influxdb-rs/optimized/k4rb82tj7t3tvne.ll | 8 + .../optimized/6v5jz1tl6zqdv4zpvzdoaqaiw.ll | 30 +-- .../optimized/diij60a8h6gwjom97cm6sfirq.ll | 3 + bench/just-rs/optimized/23nlf67cmm9na4ci.ll | 126 ++++++----- bench/libcxx/optimized/operations.ll | 211 +++++++++--------- bench/libcxx/optimized/path.ll | 2 - bench/libcxx/optimized/thread.ll | 183 ++++++++------- bench/llvm/optimized/ASTContext.ll | 3 +- bench/llvm/optimized/ASTImporter.ll | 6 +- bench/llvm/optimized/SemaLambda.ll | 5 +- .../optimized/2bqmf34tdvo23w8l.ll | 11 + .../optimized/2eqafq69fd46y14a.ll | 17 +- .../optimized/2vln1wcrdf8krbw1.ll | 25 +++ .../optimized/48hhebymxr5ff2nk.ll | 70 ++++-- .../optimized/4llghrvh6vzci59o.ll | 43 ++++ .../mini-lsm-rs/optimized/2j7sj03n10nloiwr.ll | 15 ++ .../mini-lsm-rs/optimized/59xebgypolxascxr.ll | 7 + .../optimized/06b42xxedqi52uuzk83asr46k.ll | 9 +- .../optimized/7i3tllkclkw46e2nqel8doaek.ll | 19 +- .../optimized/7yqfzisqbnqsiwjrqtgcfuc30.ll | 4 +- .../optimized/em94uyxz0wp9gccfab963606p.ll | 10 +- .../optimized/ey4dcuzpw4qgb9sgokuatlt89.ll | 15 +- bench/regex-rs/optimized/3ixfkxlmcuecmmus.ll | 17 +- bench/regex-rs/optimized/476ym8x7jfk1k219.ll | 112 +++++----- .../rustfmt-rs/optimized/3xcdaapyewyrfogi.ll | 81 ++++--- .../rustfmt-rs/optimized/4arc02n7xt9gqo2v.ll | 6 + .../optimized/0re58vbodfo9fw2ucr33a7vsy.ll | 7 +- bench/smol-rs/optimized/45vbdutx5dtz1hlf.ll | 23 ++ bench/stat-rs/optimized/20o1n4zmlkej35p7.ll | 12 +- bench/syn/optimized/19z3k5eqgbxjiezn.ll | 4 + bench/syn/optimized/2tga7oe2tfdpj05w.ll | 84 ++++--- bench/syn/optimized/3e28wvtnspuupgei.ll | 13 ++ bench/syn/optimized/3r5osr990qsnm7hf.ll | 27 ++- bench/tls-rs/optimized/2xhpv4vf07do7r8g.ll | 204 +++++++++-------- bench/tls-rs/optimized/59h61akxu6z29dlt.ll | 10 + bench/tokio-rs/optimized/27wc5j4mui8auwxp.ll | 34 +++ bench/tokio-rs/optimized/2hdl8fhrgv40yx9z.ll | 17 ++ bench/tokio-rs/optimized/3komhj9d9wikzvkw.ll | 29 +++ bench/tokio-rs/optimized/4brh9kql6tjayli1.ll | 22 ++ .../optimized/1an3e3vgwrgy9kls.ll | 6 +- .../optimized/5oyfkcp83qeshlhfpeq645wiv.ll | 2 +- .../optimized/74s3x9u7hld928rwmttmetb1y.ll | 96 +++++--- .../optimized/avd1ga9yb4qq5g7sdqftppd4q.ll | 15 +- bench/typst-rs/optimized/4m3ebbqd1xx21e5m.ll | 5 +- .../optimized/cfqsonek5l7h839gg4bayo6fi.ll | 27 ++- .../optimized/ea5tp1pyhuh13c18hcvvnv9jv.ll | 94 ++++---- .../optimized/3fq4tzir3w26vuap941fml3yt.ll | 5 +- .../optimized/6lvluxz0xcnue8xe38nauwxln.ll | 178 +++++++++------ .../optimized/aqllqyzrtxqplivthssual6c8.ll | 104 ++++----- .../optimized/ehd2m88swoa0hwh8k90dxhn2z.ll | 11 +- 75 files changed, 1898 insertions(+), 1001 deletions(-) diff --git a/bench/actix-rs/optimized/1cyxz7f31jo1m8z1.ll b/bench/actix-rs/optimized/1cyxz7f31jo1m8z1.ll index 2e03f23d3b6..4b84830c291 100644 --- a/bench/actix-rs/optimized/1cyxz7f31jo1m8z1.ll +++ b/bench/actix-rs/optimized/1cyxz7f31jo1m8z1.ll @@ -8197,6 +8197,7 @@ define noundef nonnull ptr @_ZN9actix_web10middleware15default_headers14DefaultH call void @llvm.experimental.noalias.scope.decl(metadata !1225) call void @llvm.experimental.noalias.scope.decl(metadata !1228) call void @llvm.experimental.noalias.scope.decl(metadata !1231) + call void @llvm.assume(i1 true) [ "align"(ptr %48, i64 8) ] %51 = getelementptr inbounds nuw i8, ptr %48, i64 24 %52 = load ptr, ptr %51, align 8, !noalias !1234, !nonnull !4, !noundef !4 %53 = getelementptr inbounds nuw i8, ptr %8, i64 24 diff --git a/bench/clap-rs/optimized/3b4nqkxyl1xqdcre.ll b/bench/clap-rs/optimized/3b4nqkxyl1xqdcre.ll index 8ead6206cbf..2a17096e89a 100644 --- a/bench/clap-rs/optimized/3b4nqkxyl1xqdcre.ll +++ b/bench/clap-rs/optimized/3b4nqkxyl1xqdcre.ll @@ -6012,7 +6012,11 @@ _ZN12clap_builder6output13help_template12HelpTemplate14will_args_wrap17h3c3e8e7d %263 = getelementptr inbounds nuw i8, ptr %241, i64 504 %264 = load ptr, ptr %263, align 8, !alias.scope !1289, !noalias !1257, !noundef !12 %265 = icmp eq ptr %264, null - br i1 %265, label %_ZN12clap_builder6output13help_template12HelpTemplate4long17h040d2a9ab23e3d93E.exit.i, label %266 + br i1 %265, label %_ZN12clap_builder6output13help_template12HelpTemplate5short17h271c5721682fe810E.exit.thread64.i, label %266 + +_ZN12clap_builder6output13help_template12HelpTemplate5short17h271c5721682fe810E.exit.thread64.i: ; preds = %262 + call void @llvm.assume(i1 true) [ "align"(ptr %.val18.i, i64 2) ] + br label %_ZN12clap_builder6output13help_template12HelpTemplate4long17h040d2a9ab23e3d93E.exit.i 266: ; preds = %262 %267 = load i64, ptr %230, align 8, !alias.scope !1292, !noalias !1301, !noundef !12 @@ -6034,6 +6038,7 @@ _ZN12clap_builder6output13help_template12HelpTemplate5short17h271c5721682fe810E. call void @llvm.lifetime.end.p0(ptr nonnull %29), !noalias !1281 call void @llvm.lifetime.end.p0(ptr nonnull %30), !noalias !1281 call void @llvm.lifetime.end.p0(ptr nonnull %32), !noalias !1281 + call void @llvm.assume(i1 true) [ "align"(ptr %.val18.i, i64 2) ] %271 = getelementptr inbounds nuw i8, ptr %241, i64 504 %272 = load ptr, ptr %271, align 8, !alias.scope !1305, !noalias !1257, !noundef !12 %273 = icmp eq ptr %272, null @@ -6059,6 +6064,7 @@ _ZN12clap_builder6output13help_template12HelpTemplate5short17h271c5721682fe810E. %283 = load i64, ptr %231, align 8, !alias.scope !1304, !noalias !1301, !noundef !12 %284 = add i64 %283, 4 store i64 %284, ptr %231, align 8, !alias.scope !1304, !noalias !1301 + call void @llvm.assume(i1 true) [ "align"(ptr %.val18.i, i64 2) ] call void @llvm.experimental.noalias.scope.decl(metadata !1325) %285 = getelementptr inbounds nuw i8, ptr %241, i64 512 %..val2.i.i.i = load i64, ptr %285, align 8, !alias.scope !1310, !noalias !1257 @@ -6128,9 +6134,10 @@ _ZN12clap_builder7builder10styled_str9StyledStr8push_str17hf3025370b2961e87E.exi call void @llvm.lifetime.end.p0(ptr nonnull %27), !noalias !1312 br label %_ZN12clap_builder6output13help_template12HelpTemplate4long17h040d2a9ab23e3d93E.exit.i -_ZN12clap_builder6output13help_template12HelpTemplate4long17h040d2a9ab23e3d93E.exit.i: ; preds = %262, %.noexc41.i, %_ZN12clap_builder6output13help_template12HelpTemplate5short17h271c5721682fe810E.exit.thread.i - %297 = phi i1 [ true, %_ZN12clap_builder6output13help_template12HelpTemplate5short17h271c5721682fe810E.exit.thread.i ], [ false, %.noexc41.i ], [ true, %262 ] +_ZN12clap_builder6output13help_template12HelpTemplate4long17h040d2a9ab23e3d93E.exit.i: ; preds = %.noexc41.i, %_ZN12clap_builder6output13help_template12HelpTemplate5short17h271c5721682fe810E.exit.thread.i, %_ZN12clap_builder6output13help_template12HelpTemplate5short17h271c5721682fe810E.exit.thread64.i + %297 = phi i1 [ true, %_ZN12clap_builder6output13help_template12HelpTemplate5short17h271c5721682fe810E.exit.thread.i ], [ false, %.noexc41.i ], [ true, %_ZN12clap_builder6output13help_template12HelpTemplate5short17h271c5721682fe810E.exit.thread64.i ] call void @llvm.lifetime.start.p0(ptr nonnull %33), !noalias !1262 + call void @llvm.assume(i1 true) [ "align"(ptr %.val18.i, i64 2) ] invoke void @_ZN12clap_builder7builder3arg3Arg18stylize_arg_suffix17h7ff50427cdd11f0bE(ptr noalias noundef nonnull sret({ { { { i64, ptr }, i64 } } }) align 8 captures(none) dereferenceable(24) %33, ptr noalias noundef nonnull readonly align 8 dereferenceable(552) %241, ptr noalias noundef nonnull readonly align 2 dereferenceable(98) %.val18.i, i8 noundef 2) to label %298 unwind label %247, !noalias !1257 diff --git a/bench/clap-rs/optimized/421wxj3t0b5xgmkw.ll b/bench/clap-rs/optimized/421wxj3t0b5xgmkw.ll index 6ec616f799b..e8702aaae0b 100644 --- a/bench/clap-rs/optimized/421wxj3t0b5xgmkw.ll +++ b/bench/clap-rs/optimized/421wxj3t0b5xgmkw.ll @@ -1861,6 +1861,7 @@ define hidden void @_ZN12clap_builder7builder3ext10Extensions6update17h249c38ca6 br i1 %33, label %"_ZN4core3ptr91drop_in_place$LT$core..option..Option$LT$clap_builder..builder..ext..BoxedExtension$GT$$GT$17h7f68f6f61b4fbe93E.llvm.7008872586094235178.exit", label %34 34: ; preds = %19 + call void @llvm.assume(i1 true) [ "align"(ptr %.fca.1.extract3, i64 8) ] %35 = load ptr, ptr %.fca.1.extract3, align 8, !invariant.load !18, !noalias !425, !nonnull !18 invoke void %35(ptr noundef nonnull align 1 %.fca.0.extract2) to label %"_ZN4core3ptr63drop_in_place$LT$clap_builder..builder..ext..BoxedExtension$GT$17h7ac56a077413d308E.exit.i" unwind label %36, !noalias !425 @@ -2469,7 +2470,7 @@ define void @_ZN12clap_builder6parser7matches11arg_matches10ArgMatches17remove_s ret void } -; Function Attrs: mustprogress nofree norecurse nounwind nonlazybind willreturn memory(read, inaccessiblemem: none) uwtable +; Function Attrs: mustprogress nofree norecurse nounwind nonlazybind willreturn memory(read, inaccessiblemem: write) uwtable define noundef align 8 dereferenceable_or_null(56) ptr @_ZN12clap_builder6parser7matches11arg_matches10ArgMatches18subcommand_matches17h3d177ff3e9b95a6aE(ptr noalias noundef readonly align 8 captures(none) dereferenceable(56) %0, ptr noalias noundef nonnull readonly align 1 captures(none) %1, i64 noundef %2) unnamed_addr #19 { %4 = getelementptr inbounds nuw i8, ptr %0, i64 48 %.val = load ptr, ptr %4, align 8, !noundef !18 @@ -2477,6 +2478,7 @@ define noundef align 8 dereferenceable_or_null(56) ptr @_ZN12clap_builder6parser br i1 %.not.i, label %_ZN12clap_builder6parser7matches11arg_matches10ArgMatches14get_subcommand17hed9199bd80952d94E.exit, label %5 5: ; preds = %3 + call void @llvm.assume(i1 true) [ "align"(ptr %.val, i64 8) ] %6 = getelementptr i8, ptr %.val, i64 16 %.val1.i = load i64, ptr %6, align 8, !noalias !646, !noundef !18 %.not.i.i.i = icmp eq i64 %.val1.i, %2 @@ -5440,127 +5442,132 @@ define hidden noundef nonnull align 8 dereferenceable(104) ptr @"_ZN12clap_build %3 = alloca { { i64, i128 }, { { i64, ptr }, i64 }, { { i64, ptr }, i64 }, { { i64, ptr }, i64 }, i8, i8, [6 x i8] }, align 8 %4 = load ptr, ptr %0, align 8, !noundef !18 %5 = icmp eq ptr %4, null - %6 = getelementptr inbounds nuw i8, ptr %0, i64 8 - %7 = load ptr, ptr %6, align 8, !nonnull !18, !align !59, !noundef !18 - %8 = getelementptr inbounds nuw i8, ptr %0, i64 16 - %9 = load i64, ptr %8, align 8, !noundef !18 - br i1 %5, label %16, label %10 + br i1 %5, label %16, label %6 -10: ; preds = %2 +6: ; preds = %2 + call void @llvm.assume(i1 true) [ "align"(ptr %4, i64 8) ] + %7 = getelementptr inbounds nuw i8, ptr %0, i64 8 + %8 = load ptr, ptr %7, align 8, !nonnull !18, !align !59, !noundef !18 + %9 = getelementptr inbounds nuw i8, ptr %0, i64 16 + %10 = load i64, ptr %9, align 8, !noundef !18 %11 = getelementptr inbounds nuw i8, ptr %4, i64 16 %12 = load i64, ptr %11, align 8, !alias.scope !1517, !noalias !1520, !noundef !18 %13 = load i64, ptr %4, align 8, !alias.scope !1517, !noalias !1520, !noundef !18 %14 = icmp eq i64 %12, %13 - br i1 %14, label %15, label %20 + br i1 %14, label %15, label %24 -15: ; preds = %10 +15: ; preds = %6 invoke void @"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$16reserve_for_push17h55214b6bc9555156E"(ptr noalias noundef nonnull align 8 dereferenceable(24) %4, i64 noundef %12) - to label %.noexc unwind label %54 + to label %.noexc unwind label %58 .noexc: ; preds = %15 %.pre.i = load i64, ptr %11, align 8, !alias.scope !1517, !noalias !1520 - br label %20 + br label %24 16: ; preds = %2 - %17 = getelementptr i8, ptr %7, i64 40 - %.val11 = load i64, ptr %17, align 8, !noundef !18 - %18 = icmp ult i64 %9, %.val11 - br i1 %18, label %51, label %19, !prof !256 + %17 = getelementptr inbounds nuw i8, ptr %0, i64 8 + %18 = load ptr, ptr %17, align 8, !nonnull !18, !align !46, !noundef !18 + %19 = getelementptr inbounds nuw i8, ptr %0, i64 16 + %20 = load i64, ptr %19, align 8, !noundef !18 + %21 = getelementptr i8, ptr %18, i64 40 + %.val11 = load i64, ptr %21, align 8, !noundef !18 + %22 = icmp ult i64 %20, %.val11 + br i1 %22, label %55, label %23, !prof !256 -19: ; preds = %16 - invoke void @_ZN4core9panicking18panic_bounds_check17h8331054858f0bf20E(i64 noundef %9, i64 noundef %.val11, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.5bbe1b10df9b6e08f07c9b849f6cd5da.36) #41 - to label %.noexc12 unwind label %54 +23: ; preds = %16 + invoke void @_ZN4core9panicking18panic_bounds_check17h8331054858f0bf20E(i64 noundef %20, i64 noundef %.val11, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.5bbe1b10df9b6e08f07c9b849f6cd5da.36) #41 + to label %.noexc12 unwind label %58 -.noexc12: ; preds = %19 +.noexc12: ; preds = %23 unreachable -20: ; preds = %.noexc, %10 - %21 = phi i64 [ %.pre.i, %.noexc ], [ %12, %10 ] - %22 = getelementptr inbounds nuw i8, ptr %4, i64 8 - %23 = load ptr, ptr %22, align 8, !alias.scope !1517, !noalias !1520, !nonnull !18, !noundef !18 - %24 = getelementptr inbounds { ptr, i64 }, ptr %23, i64 %21 - store ptr %7, ptr %24, align 8, !noalias !1520 - %25 = getelementptr inbounds nuw i8, ptr %24, i64 8 - store i64 %9, ptr %25, align 8 - %26 = load i64, ptr %11, align 8, !alias.scope !1517, !noalias !1520, !noundef !18 - %27 = add i64 %26, 1 - store i64 %27, ptr %11, align 8, !alias.scope !1517, !noalias !1520 - %28 = getelementptr inbounds nuw i8, ptr %4, i64 24 +24: ; preds = %.noexc, %6 + %25 = phi i64 [ %.pre.i, %.noexc ], [ %12, %6 ] + %26 = getelementptr inbounds nuw i8, ptr %4, i64 8 + %27 = load ptr, ptr %26, align 8, !alias.scope !1517, !noalias !1520, !nonnull !18, !noundef !18 + %28 = getelementptr inbounds { ptr, i64 }, ptr %27, i64 %25 + store ptr %8, ptr %28, align 8, !noalias !1520 + %29 = getelementptr inbounds nuw i8, ptr %28, i64 8 + store i64 %10, ptr %29, align 8 + %30 = load i64, ptr %11, align 8, !alias.scope !1517, !noalias !1520, !noundef !18 + %31 = add i64 %30, 1 + store i64 %31, ptr %11, align 8, !alias.scope !1517, !noalias !1520 + %32 = getelementptr inbounds nuw i8, ptr %4, i64 24 call void @llvm.lifetime.start.p0(ptr nonnull %3) call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(104) %3, ptr noundef nonnull align 8 dereferenceable(104) %1, i64 104, i1 false) - %29 = getelementptr inbounds nuw i8, ptr %4, i64 40 - %30 = load i64, ptr %29, align 8, !alias.scope !1522, !noalias !1525, !noundef !18 - %31 = load i64, ptr %28, align 8, !alias.scope !1522, !noalias !1525, !noundef !18 - %32 = icmp eq i64 %30, %31 - br i1 %32, label %33, label %38 + %33 = getelementptr inbounds nuw i8, ptr %4, i64 40 + %34 = load i64, ptr %33, align 8, !alias.scope !1522, !noalias !1525, !noundef !18 + %35 = load i64, ptr %32, align 8, !alias.scope !1522, !noalias !1525, !noundef !18 + %36 = icmp eq i64 %34, %35 + br i1 %36, label %37, label %42 -33: ; preds = %20 - invoke void @"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$16reserve_for_push17h4d6a1bd2fdef82bbE"(ptr noalias noundef nonnull align 8 dereferenceable(24) %28, i64 noundef %30) - to label %._crit_edge.i unwind label %34, !noalias !1525 +37: ; preds = %24 + invoke void @"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$16reserve_for_push17h4d6a1bd2fdef82bbE"(ptr noalias noundef nonnull align 8 dereferenceable(24) %32, i64 noundef %34) + to label %._crit_edge.i unwind label %38, !noalias !1525 -._crit_edge.i: ; preds = %33 - %.pre.i13 = load i64, ptr %29, align 8, !alias.scope !1522, !noalias !1525 - br label %38 +._crit_edge.i: ; preds = %37 + %.pre.i13 = load i64, ptr %33, align 8, !alias.scope !1522, !noalias !1525 + br label %42 -34: ; preds = %33 - %35 = landingpad { ptr, i32 } +38: ; preds = %37 + %39 = landingpad { ptr, i32 } cleanup invoke void @"_ZN4core3ptr75drop_in_place$LT$clap_builder..parser..matches..matched_arg..MatchedArg$GT$17hed15162c7a11d4dcE"(ptr noalias noundef nonnull align 8 dereferenceable(104) %3) #42 - to label %.body.thread unwind label %36 + to label %.body.thread unwind label %40 -36: ; preds = %34 - %37 = landingpad { ptr, i32 } +40: ; preds = %38 + %41 = landingpad { ptr, i32 } filter [0 x ptr] zeroinitializer call void @_ZN4core9panicking16panic_in_cleanup17h55eb1d85cadde1a1E() #43 unreachable -38: ; preds = %._crit_edge.i, %20 - %39 = phi i64 [ %.pre.i13, %._crit_edge.i ], [ %30, %20 ] - %40 = getelementptr inbounds nuw i8, ptr %4, i64 32 - %41 = load ptr, ptr %40, align 8, !alias.scope !1522, !noalias !1525, !nonnull !18, !noundef !18 - %42 = getelementptr inbounds { { i64, i128 }, { { i64, ptr }, i64 }, { { i64, ptr }, i64 }, { { i64, ptr }, i64 }, i8, i8, [6 x i8] }, ptr %41, i64 %39 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(104) %42, ptr noundef nonnull align 8 dereferenceable(104) %3, i64 104, i1 false) - %43 = load i64, ptr %29, align 8, !alias.scope !1522, !noalias !1525, !noundef !18 - %44 = add i64 %43, 1 - store i64 %44, ptr %29, align 8, !alias.scope !1522, !noalias !1525 +42: ; preds = %._crit_edge.i, %24 + %43 = phi i64 [ %.pre.i13, %._crit_edge.i ], [ %34, %24 ] + %44 = getelementptr inbounds nuw i8, ptr %4, i64 32 + %45 = load ptr, ptr %44, align 8, !alias.scope !1522, !noalias !1525, !nonnull !18, !noundef !18 + %46 = getelementptr inbounds { { i64, i128 }, { { i64, ptr }, i64 }, { { i64, ptr }, i64 }, { { i64, ptr }, i64 }, i8, i8, [6 x i8] }, ptr %45, i64 %43 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(104) %46, ptr noundef nonnull align 8 dereferenceable(104) %3, i64 104, i1 false) + %47 = load i64, ptr %33, align 8, !alias.scope !1522, !noalias !1525, !noundef !18 + %48 = add i64 %47, 1 + store i64 %48, ptr %33, align 8, !alias.scope !1522, !noalias !1525 call void @llvm.lifetime.end.p0(ptr nonnull %3) - %.not = icmp eq i64 %44, 0 - br i1 %.not, label %.thread, label %45 + %.not = icmp eq i64 %48, 0 + br i1 %.not, label %.thread, label %49 -45: ; preds = %38 - %46 = load ptr, ptr %40, align 8, !nonnull !18, !noundef !18 - %47 = getelementptr { { i64, i128 }, { { i64, ptr }, i64 }, { { i64, ptr }, i64 }, { { i64, ptr }, i64 }, i8, i8, [6 x i8] }, ptr %46, i64 %44 - %48 = getelementptr i8, ptr %47, i64 -112 - %49 = icmp eq ptr %48, null - br i1 %49, label %.thread, label %50 +49: ; preds = %42 + %50 = load ptr, ptr %44, align 8, !nonnull !18, !noundef !18 + %51 = getelementptr { { i64, i128 }, { { i64, ptr }, i64 }, { { i64, ptr }, i64 }, { { i64, ptr }, i64 }, i8, i8, [6 x i8] }, ptr %50, i64 %48 + %52 = getelementptr i8, ptr %51, i64 -112 + %53 = icmp eq ptr %52, null + br i1 %53, label %.thread, label %54 -.thread: ; preds = %38, %45 +.thread: ; preds = %42, %49 tail call void @_ZN4core9panicking5panic17hb837a5ebbbe5b188E(ptr noalias noundef nonnull readonly align 1 @anon.5bbe1b10df9b6e08f07c9b849f6cd5da.34.llvm.7008872586094235178, i64 noundef 43, ptr noalias noundef readonly align 8 dereferenceable(24) @anon.5bbe1b10df9b6e08f07c9b849f6cd5da.35) #41 unreachable -50: ; preds = %45, %51 - %.024 = phi ptr [ %53, %51 ], [ %48, %45 ] +54: ; preds = %49, %55 + %.024 = phi ptr [ %57, %55 ], [ %52, %49 ] ret ptr %.024 -51: ; preds = %16 - %52 = getelementptr i8, ptr %7, i64 32 - %.val = load ptr, ptr %52, align 8, !nonnull !18, !noundef !18 - %53 = getelementptr inbounds { { i64, i128 }, { { i64, ptr }, i64 }, { { i64, ptr }, i64 }, { { i64, ptr }, i64 }, i8, i8, [6 x i8] }, ptr %.val, i64 %9 +55: ; preds = %16 + %56 = getelementptr i8, ptr %18, i64 32 + %.val = load ptr, ptr %56, align 8, !nonnull !18, !noundef !18 + %57 = getelementptr inbounds { { i64, i128 }, { { i64, ptr }, i64 }, { { i64, ptr }, i64 }, { { i64, ptr }, i64 }, i8, i8, [6 x i8] }, ptr %.val, i64 %20 tail call void @"_ZN4core3ptr75drop_in_place$LT$clap_builder..parser..matches..matched_arg..MatchedArg$GT$17hed15162c7a11d4dcE"(ptr noalias noundef nonnull align 8 dereferenceable(104) %1) - br label %50 + br label %54 -.body.thread: ; preds = %34, %54 - %eh.lpad-body16 = phi { ptr, i32 } [ %lpad.thr_comm, %54 ], [ %35, %34 ] +.body.thread: ; preds = %38, %58 + %eh.lpad-body16 = phi { ptr, i32 } [ %lpad.thr_comm, %58 ], [ %39, %38 ] resume { ptr, i32 } %eh.lpad-body16 -54: ; preds = %15, %19 +58: ; preds = %15, %23 %lpad.thr_comm = landingpad { ptr, i32 } cleanup invoke void @"_ZN4core3ptr75drop_in_place$LT$clap_builder..parser..matches..matched_arg..MatchedArg$GT$17hed15162c7a11d4dcE"(ptr noalias noundef nonnull align 8 dereferenceable(104) %1) #42 - to label %.body.thread unwind label %55 + to label %.body.thread unwind label %59 -55: ; preds = %54 - %56 = landingpad { ptr, i32 } +59: ; preds = %58 + %60 = landingpad { ptr, i32 } filter [0 x ptr] zeroinitializer tail call void @_ZN4core9panicking16panic_in_cleanup17h55eb1d85cadde1a1E() #43 unreachable @@ -6559,7 +6566,7 @@ attributes #15 = { mustprogress nofree norecurse nosync nounwind nonlazybind wil attributes #16 = { mustprogress nofree norecurse nosync nounwind nonlazybind willreturn memory(inaccessiblemem: write) uwtable "probe-stack"="inline-asm" "target-cpu"="x86-64" } attributes #17 = { nofree norecurse nounwind nonlazybind memory(read, inaccessiblemem: readwrite) uwtable "probe-stack"="inline-asm" "target-cpu"="x86-64" } attributes #18 = { nounwind nonlazybind uwtable "probe-stack"="inline-asm" "target-cpu"="x86-64" } -attributes #19 = { mustprogress nofree norecurse nounwind nonlazybind willreturn memory(read, inaccessiblemem: none) uwtable "probe-stack"="inline-asm" "target-cpu"="x86-64" } +attributes #19 = { mustprogress nofree norecurse nounwind nonlazybind willreturn memory(read, inaccessiblemem: write) uwtable "probe-stack"="inline-asm" "target-cpu"="x86-64" } attributes #20 = { nofree norecurse nounwind nonlazybind memory(read, argmem: readwrite, inaccessiblemem: none) uwtable "probe-stack"="inline-asm" "target-cpu"="x86-64" } attributes #21 = { mustprogress nofree norecurse nosync nounwind nonlazybind willreturn memory(argmem: readwrite, inaccessiblemem: readwrite) uwtable "probe-stack"="inline-asm" "target-cpu"="x86-64" } attributes #22 = { mustprogress nofree norecurse nosync nounwind nonlazybind willreturn memory(argmem: write) uwtable "probe-stack"="inline-asm" "target-cpu"="x86-64" } diff --git a/bench/darktable/optimized/brush.ll b/bench/darktable/optimized/brush.ll index 78a4edb51e3..b32ad1238ec 100644 --- a/bench/darktable/optimized/brush.ll +++ b/bench/darktable/optimized/brush.ll @@ -7028,13 +7028,12 @@ dt_masks_dynbuf_free.exit670: ; preds = %673, %680 %716 = load float, ptr %29, align 4, !tbaa !93 %717 = load ptr, ptr %5, align 8, !tbaa !125 %718 = getelementptr inbounds nuw i8, ptr %717, i64 8 - %719 = load float, ptr %718, align 8, !tbaa !93 + %719 = load float, ptr %718, align 4, !tbaa !93 %720 = fsub reassoc nsz arcp contract afn float %716, %719 %721 = load float, ptr %710, align 4, !tbaa !93 %722 = getelementptr inbounds nuw i8, ptr %717, i64 12 %723 = load float, ptr %722, align 4, !tbaa !93 %724 = fsub reassoc nsz arcp contract afn float %721, %723 - call void @llvm.assume(i1 true) [ "align"(ptr %717, i64 64) ] %725 = load i32, ptr %6, align 4, !tbaa !97 %726 = icmp sgt i32 %725, 0 br i1 %726, label %.lr.ph747.preheader, label %._crit_edge748 @@ -7053,9 +7052,9 @@ dt_masks_dynbuf_free.exit670: ; preds = %673, %680 %indvars.iv = phi i64 [ 0, %.lr.ph747.preheader ], [ %indvars.iv.next, %.lr.ph747 ] %.idx = shl nuw nsw i64 %indvars.iv, 3 %729 = getelementptr inbounds nuw i8, ptr %717, i64 %.idx - %730 = load float, ptr %729, align 8, !tbaa !93 + %730 = load float, ptr %729, align 4, !tbaa !93 %731 = fadd reassoc nsz arcp contract afn float %720, %730 - store float %731, ptr %729, align 8, !tbaa !93 + store float %731, ptr %729, align 4, !tbaa !93 %732 = getelementptr inbounds nuw i8, ptr %729, i64 4 %733 = load float, ptr %732, align 4, !tbaa !93 %734 = fadd reassoc nsz arcp contract afn float %724, %733 diff --git a/bench/darktable/optimized/ellipse.ll b/bench/darktable/optimized/ellipse.ll index 7659b78a01b..f73db4c74fe 100644 --- a/bench/darktable/optimized/ellipse.ll +++ b/bench/darktable/optimized/ellipse.ll @@ -801,14 +801,13 @@ define internal range(i32 0, 2) i32 @_ellipse_get_points_border(ptr noundef %0, 53: ; preds = %45 %54 = load float, ptr %9, align 4, !tbaa !24 %55 = load ptr, ptr %2, align 8, !tbaa !113 - %56 = load float, ptr %55, align 64, !tbaa !24 + %56 = load float, ptr %55, align 4, !tbaa !24 %57 = fsub reassoc nsz arcp contract afn float %54, %56 %58 = load float, ptr %47, align 4, !tbaa !24 %59 = getelementptr inbounds nuw i8, ptr %55, i64 4 %60 = load float, ptr %59, align 4, !tbaa !24 %61 = fsub reassoc nsz arcp contract afn float %58, %60 - call void @llvm.assume(i1 true) [ "align"(ptr %55, i64 64) ] - store float %54, ptr %55, align 64, !tbaa !24 + store float %54, ptr %55, align 4, !tbaa !24 %62 = load float, ptr %47, align 4, !tbaa !24 store float %62, ptr %59, align 4, !tbaa !24 %63 = load i32, ptr %3, align 4, !tbaa !30 @@ -832,9 +831,9 @@ define internal range(i32 0, 2) i32 @_ellipse_get_points_border(ptr noundef %0, %indvars.iv.i = phi i64 [ 5, %.lr.ph.preheader.i ], [ %indvars.iv.next.i, %.lr.ph.i ] %.idx.i = shl nuw nsw i64 %indvars.iv.i, 3 %70 = getelementptr inbounds nuw i8, ptr %55, i64 %.idx.i - %71 = load float, ptr %70, align 8, !tbaa !24 + %71 = load float, ptr %70, align 4, !tbaa !24 %72 = fadd reassoc nsz arcp contract afn float %57, %71 - store float %72, ptr %70, align 8, !tbaa !24 + store float %72, ptr %70, align 4, !tbaa !24 %73 = getelementptr inbounds nuw i8, ptr %70, i64 4 %74 = load float, ptr %73, align 4, !tbaa !24 %75 = fadd reassoc nsz arcp contract afn float %61, %74 diff --git a/bench/darktable/optimized/introspection_sharpen.ll b/bench/darktable/optimized/introspection_sharpen.ll index ec876cf8a43..9c93c310dbf 100644 --- a/bench/darktable/optimized/introspection_sharpen.ll +++ b/bench/darktable/optimized/introspection_sharpen.ll @@ -283,7 +283,7 @@ init_gaussian_kernel.exit: ; preds = %41 .lr.ph263: ; preds = %.loopexit226 %78 = shl nsw i64 %75, 4 - %79 = load ptr, ptr %7, align 8 + %79 = load ptr, ptr %7, align 8, !align !48 %80 = and i64 %75, -4 %.not265 = icmp ult i32 %74, 4 %.not266 = icmp eq i64 %80, %75 @@ -308,7 +308,7 @@ init_gaussian_kernel.exit: ; preds = %41 ._crit_edge264: ; preds = %.loopexit, %.loopexit226 call void @free(ptr noundef %55) #20 - %94 = load ptr, ptr %7, align 8, !tbaa !48 + %94 = load ptr, ptr %7, align 8, !tbaa !49 call void @free(ptr noundef %94) #20 br label %201 @@ -333,7 +333,6 @@ init_gaussian_kernel.exit: ; preds = %41 105: ; preds = %95 %indvars293 = trunc i64 %indvars.iv291 to i32 - call void @llvm.assume(i1 true) [ "align"(ptr %79, i64 64) ] %106 = sub nsw i64 %indvars.iv291, %92 %107 = add nsw i64 %indvars.iv291, %92 %108 = add nsw i32 %indvars293, %25 @@ -440,8 +439,8 @@ init_gaussian_kernel.exit: ; preds = %41 br i1 %.not219, label %._crit_edge240, label %136 ._crit_edge246: ; preds = %154, %._crit_edge242 - %147 = load float, ptr %83, align 4, !tbaa !50 - %148 = load float, ptr %84, align 4, !tbaa !51 + %147 = load float, ptr %83, align 4, !tbaa !51 + %148 = load float, ptr %84, align 4, !tbaa !52 %149 = load i32, ptr %.phi.trans.insert, align 4, !tbaa !45 %150 = sub nsw i32 %149, %25 %151 = icmp sgt i32 %150, %25 @@ -459,7 +458,7 @@ init_gaussian_kernel.exit: ; preds = %41 %156 = add nsw i64 %132, %indvars.iv %.idx218 = shl i64 %156, 4 %157 = getelementptr inbounds nuw i8, ptr %2, i64 %.idx218 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(16) %155, ptr noundef nonnull readonly align 4 dereferenceable(16) %157, i64 16, i1 false), !tbaa !47, !alias.scope !52 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(16) %155, ptr noundef nonnull readonly align 4 dereferenceable(16) %157, i64 16, i1 false), !tbaa !47, !alias.scope !53 %indvars.iv.next = add nuw nsw i64 %indvars.iv, 1 %exitcond278.not = icmp eq i64 %indvars.iv.next, %wide.trip.count br i1 %exitcond278.not, label %._crit_edge246, label %154 @@ -543,7 +542,7 @@ init_gaussian_kernel.exit: ; preds = %41 %195 = add nsw i64 %158, %indvars.iv288 %.idx = shl i64 %195, 4 %196 = getelementptr inbounds nuw i8, ptr %2, i64 %.idx - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(16) %194, ptr noundef nonnull readonly align 4 dereferenceable(16) %196, i64 16, i1 false), !tbaa !47, !alias.scope !56 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(16) %194, ptr noundef nonnull readonly align 4 dereferenceable(16) %196, i64 16, i1 false), !tbaa !47, !alias.scope !57 %indvars.iv.next289 = add nsw i64 %indvars.iv288, 1 %197 = icmp slt i64 %indvars.iv.next289, %160 br i1 %197, label %193, label %.loopexit @@ -588,17 +587,17 @@ declare void @free(ptr allocptr noundef captures(none)) local_unnamed_addr #9 define void @commit_params(ptr noundef readnone captures(none) %0, ptr noundef readonly captures(none) %1, ptr noundef readnone captures(none) %2, ptr noundef readonly captures(none) %3) local_unnamed_addr #10 { %5 = getelementptr inbounds nuw i8, ptr %3, i64 16 %6 = load ptr, ptr %5, align 16, !tbaa !16 - %7 = load float, ptr %1, align 4, !tbaa !60 + %7 = load float, ptr %1, align 4, !tbaa !61 %8 = fmul reassoc nsz arcp contract afn float %7, 2.500000e+00 store float %8, ptr %6, align 4, !tbaa !32 %9 = getelementptr inbounds nuw i8, ptr %1, i64 4 - %10 = load float, ptr %9, align 4, !tbaa !62 + %10 = load float, ptr %9, align 4, !tbaa !63 %11 = getelementptr inbounds nuw i8, ptr %6, i64 4 - store float %10, ptr %11, align 4, !tbaa !51 + store float %10, ptr %11, align 4, !tbaa !52 %12 = getelementptr inbounds nuw i8, ptr %1, i64 8 - %13 = load float, ptr %12, align 4, !tbaa !63 + %13 = load float, ptr %12, align 4, !tbaa !64 %14 = getelementptr inbounds nuw i8, ptr %6, i64 8 - store float %13, ptr %14, align 4, !tbaa !50 + store float %13, ptr %14, align 4, !tbaa !51 ret void } @@ -626,21 +625,21 @@ define void @cleanup_pipe(ptr noundef readnone captures(none) %0, ptr noundef re define void @init_global(ptr noundef writeonly captures(none) initializes((520, 528)) %0) local_unnamed_addr #14 { %2 = tail call noalias dereferenceable_or_null(12) ptr @malloc(i64 noundef 12) #21 %3 = getelementptr inbounds nuw i8, ptr %0, i64 520 - store ptr %2, ptr %3, align 8, !tbaa !64 - store i32 -1, ptr %2, align 4, !tbaa !65 + store ptr %2, ptr %3, align 8, !tbaa !65 + store i32 -1, ptr %2, align 4, !tbaa !66 %4 = getelementptr inbounds nuw i8, ptr %2, i64 4 - store i32 -1, ptr %4, align 4, !tbaa !67 + store i32 -1, ptr %4, align 4, !tbaa !68 %5 = getelementptr inbounds nuw i8, ptr %2, i64 8 - store i32 -1, ptr %5, align 4, !tbaa !68 + store i32 -1, ptr %5, align 4, !tbaa !69 ret void } ; Function Attrs: mustprogress nounwind willreturn uwtable define void @cleanup_global(ptr noundef captures(none) %0) local_unnamed_addr #13 { %2 = getelementptr inbounds nuw i8, ptr %0, i64 520 - %3 = load ptr, ptr %2, align 8, !tbaa !64 + %3 = load ptr, ptr %2, align 8, !tbaa !65 tail call void @free(ptr noundef %3) #20 - store ptr null, ptr %2, align 8, !tbaa !64 + store ptr null, ptr %2, align 8, !tbaa !65 ret void } @@ -656,27 +655,27 @@ define void @gui_init(ptr noundef initializes((704, 712)) %0) local_unnamed_addr _iop_gui_alloc.exit: ; preds = %1, %3 %4 = getelementptr inbounds nuw i8, ptr %0, i64 704 - store ptr %2, ptr %4, align 16, !tbaa !69 + store ptr %2, ptr %4, align 16, !tbaa !70 %5 = tail call ptr @dt_bauhaus_slider_from_params(ptr noundef %0, ptr noundef nonnull @.str.11) #20 - store ptr %5, ptr %2, align 8, !tbaa !80 + store ptr %5, ptr %2, align 8, !tbaa !81 tail call void @dt_bauhaus_slider_set_soft_max(ptr noundef %5, float noundef 8.000000e+00) #20 - %6 = load ptr, ptr %2, align 8, !tbaa !80 + %6 = load ptr, ptr %2, align 8, !tbaa !81 tail call void @dt_bauhaus_slider_set_digits(ptr noundef %6, i32 noundef 3) #20 - %7 = load ptr, ptr %2, align 8, !tbaa !80 + %7 = load ptr, ptr %2, align 8, !tbaa !81 %8 = tail call ptr @dcgettext(ptr noundef null, ptr noundef nonnull @.str.12, i32 noundef 5) #20 tail call void @gtk_widget_set_tooltip_text(ptr noundef %7, ptr noundef %8) #20 %9 = tail call ptr @dt_bauhaus_slider_from_params(ptr noundef %0, ptr noundef nonnull @.str.13) #20 %10 = getelementptr inbounds nuw i8, ptr %2, i64 8 - store ptr %9, ptr %10, align 8, !tbaa !82 + store ptr %9, ptr %10, align 8, !tbaa !83 tail call void @dt_bauhaus_slider_set_digits(ptr noundef %9, i32 noundef 3) #20 - %11 = load ptr, ptr %10, align 8, !tbaa !82 + %11 = load ptr, ptr %10, align 8, !tbaa !83 %12 = tail call ptr @dcgettext(ptr noundef null, ptr noundef nonnull @.str.14, i32 noundef 5) #20 tail call void @gtk_widget_set_tooltip_text(ptr noundef %11, ptr noundef %12) #20 %13 = tail call ptr @dt_bauhaus_slider_from_params(ptr noundef %0, ptr noundef nonnull @.str.15) #20 %14 = getelementptr inbounds nuw i8, ptr %2, i64 16 - store ptr %13, ptr %14, align 8, !tbaa !83 + store ptr %13, ptr %14, align 8, !tbaa !84 tail call void @dt_bauhaus_slider_set_digits(ptr noundef %13, i32 noundef 3) #20 - %15 = load ptr, ptr %14, align 8, !tbaa !83 + %15 = load ptr, ptr %14, align 8, !tbaa !84 %16 = tail call ptr @dcgettext(ptr noundef null, ptr noundef nonnull @.str.16, i32 noundef 5) #20 tail call void @gtk_widget_set_tooltip_text(ptr noundef %15, ptr noundef %16) #20 ret void @@ -702,21 +701,21 @@ define noundef nonnull ptr @get_introspection() local_unnamed_addr #0 { ; Function Attrs: nofree norecurse nosync nounwind memory(readwrite, argmem: none, inaccessiblemem: none) uwtable define range(i32 0, 2) i32 @introspection_init(ptr noundef %0, i32 noundef %1) local_unnamed_addr #15 { - %3 = load i32, ptr @introspection, align 8, !tbaa !84 + %3 = load i32, ptr @introspection, align 8, !tbaa !85 %4 = icmp ne i32 %3, 8 %5 = icmp ne i32 %1, 8 %or.cond = or i1 %5, %4 br i1 %or.cond, label %9, label %.preheader 6: ; preds = %.preheader - store ptr @introspection_init.f3, ptr getelementptr inbounds nuw (i8, ptr @introspection_linear, i64 336), align 16, !tbaa !87 + store ptr @introspection_init.f3, ptr getelementptr inbounds nuw (i8, ptr @introspection_linear, i64 336), align 16, !tbaa !88 br label %9 .preheader: ; preds = %2, %.preheader %indvars.iv = phi i64 [ %indvars.iv.next, %.preheader ], [ 0, %2 ] %7 = getelementptr inbounds nuw %union.dt_introspection_field_t, ptr @introspection_linear, i64 %indvars.iv %8 = getelementptr inbounds nuw i8, ptr %7, i64 56 - store ptr %0, ptr %8, align 8, !tbaa !87 + store ptr %0, ptr %8, align 8, !tbaa !88 %indvars.iv.next = add nuw nsw i64 %indvars.iv, 1 %exitcond.not = icmp eq i64 %indvars.iv.next, 5 br i1 %exitcond.not, label %6, label %.preheader @@ -873,43 +872,44 @@ attributes #22 = { nounwind willreturn memory(read) } !45 = !{!26, !9, i64 8} !46 = !{!26, !9, i64 12} !47 = !{!25, !25, i64 0} -!48 = !{!49, !49, i64 0} -!49 = !{!"p1 float", !13, i64 0} -!50 = !{!33, !25, i64 8} -!51 = !{!33, !25, i64 4} -!52 = !{!53, !55} -!53 = distinct !{!53, !54, !"copy_pixel: argument 0"} -!54 = distinct !{!54, !"copy_pixel"} -!55 = distinct !{!55, !54, !"copy_pixel: argument 1"} -!56 = !{!57, !59} -!57 = distinct !{!57, !58, !"copy_pixel: argument 0"} -!58 = distinct !{!58, !"copy_pixel"} -!59 = distinct !{!59, !58, !"copy_pixel: argument 1"} -!60 = !{!61, !25, i64 0} -!61 = !{!"dt_iop_sharpen_params_t", !25, i64 0, !25, i64 4, !25, i64 8} -!62 = !{!61, !25, i64 4} -!63 = !{!61, !25, i64 8} -!64 = !{!7, !13, i64 520} -!65 = !{!66, !9, i64 0} -!66 = !{!"dt_iop_sharpen_global_data_t", !9, i64 0, !9, i64 4, !9, i64 8} -!67 = !{!66, !9, i64 4} -!68 = !{!66, !9, i64 8} -!69 = !{!70, !13, i64 704} -!70 = !{!"dt_iop_module_t", !9, i64 0, !13, i64 8, !13, i64 16, !13, i64 24, !13, i64 32, !13, i64 40, !13, i64 48, !13, i64 56, !13, i64 64, !13, i64 72, !13, i64 80, !13, i64 88, !13, i64 96, !13, i64 104, !13, i64 112, !13, i64 120, !13, i64 128, !13, i64 136, !13, i64 144, !13, i64 152, !13, i64 160, !13, i64 168, !13, i64 176, !13, i64 184, !13, i64 192, !13, i64 200, !13, i64 208, !13, i64 216, !13, i64 224, !13, i64 232, !13, i64 240, !13, i64 248, !13, i64 256, !13, i64 264, !13, i64 272, !13, i64 280, !13, i64 288, !13, i64 296, !13, i64 304, !13, i64 312, !13, i64 320, !13, i64 328, !13, i64 336, !13, i64 344, !13, i64 352, !13, i64 360, !13, i64 368, !13, i64 376, !13, i64 384, !13, i64 392, !13, i64 400, !13, i64 408, !13, i64 416, !13, i64 424, !13, i64 432, !13, i64 440, !15, i64 448, !10, i64 456, !9, i64 476, !9, i64 480, !9, i64 484, !9, i64 488, !9, i64 492, !9, i64 496, !9, i64 500, !10, i64 512, !10, i64 528, !10, i64 544, !10, i64 560, !10, i64 576, !10, i64 592, !22, i64 608, !23, i64 616, !10, i64 640, !9, i64 656, !9, i64 660, !71, i64 664, !9, i64 672, !9, i64 676, !13, i64 680, !13, i64 688, !9, i64 696, !13, i64 704, !72, i64 712, !13, i64 752, !73, i64 760, !73, i64 768, !13, i64 776, !74, i64 784, !77, i64 816, !77, i64 824, !77, i64 832, !77, i64 840, !77, i64 848, !77, i64 856, !77, i64 864, !9, i64 872, !77, i64 880, !77, i64 888, !77, i64 896, !78, i64 904, !78, i64 912, !77, i64 920, !77, i64 928, !9, i64 936, !79, i64 944, !9, i64 952, !10, i64 956, !9, i64 1084, !77, i64 1088, !13, i64 1096, !9, i64 1104} -!71 = !{!"p1 _ZTS12dt_develop_t", !13, i64 0} -!72 = !{!"dt_pthread_mutex_t", !10, i64 0} -!73 = !{!"p1 _ZTS25dt_develop_blend_params_t", !13, i64 0} -!74 = !{!"", !75, i64 0, !76, i64 16} -!75 = !{!"", !31, i64 0, !31, i64 8} -!76 = !{!"", !18, i64 0, !9, i64 8} -!77 = !{!"p1 _ZTS10_GtkWidget", !13, i64 0} -!78 = !{!"p1 _ZTS7_GSList", !13, i64 0} -!79 = !{!"p1 _ZTS18dt_iop_module_so_t", !13, i64 0} -!80 = !{!81, !77, i64 0} -!81 = !{!"dt_iop_sharpen_gui_data_t", !77, i64 0, !77, i64 8, !77, i64 16} -!82 = !{!81, !77, i64 8} -!83 = !{!81, !77, i64 16} -!84 = !{!85, !9, i64 0} -!85 = !{!"dt_introspection_t", !9, i64 0, !9, i64 4, !12, i64 8, !24, i64 16, !86, i64 24, !24, i64 32, !24, i64 40, !31, i64 48} -!86 = !{!"p1 _ZTS24dt_introspection_field_t", !13, i64 0} -!87 = !{!10, !10, i64 0} +!48 = !{i64 64} +!49 = !{!50, !50, i64 0} +!50 = !{!"p1 float", !13, i64 0} +!51 = !{!33, !25, i64 8} +!52 = !{!33, !25, i64 4} +!53 = !{!54, !56} +!54 = distinct !{!54, !55, !"copy_pixel: argument 0"} +!55 = distinct !{!55, !"copy_pixel"} +!56 = distinct !{!56, !55, !"copy_pixel: argument 1"} +!57 = !{!58, !60} +!58 = distinct !{!58, !59, !"copy_pixel: argument 0"} +!59 = distinct !{!59, !"copy_pixel"} +!60 = distinct !{!60, !59, !"copy_pixel: argument 1"} +!61 = !{!62, !25, i64 0} +!62 = !{!"dt_iop_sharpen_params_t", !25, i64 0, !25, i64 4, !25, i64 8} +!63 = !{!62, !25, i64 4} +!64 = !{!62, !25, i64 8} +!65 = !{!7, !13, i64 520} +!66 = !{!67, !9, i64 0} +!67 = !{!"dt_iop_sharpen_global_data_t", !9, i64 0, !9, i64 4, !9, i64 8} +!68 = !{!67, !9, i64 4} +!69 = !{!67, !9, i64 8} +!70 = !{!71, !13, i64 704} +!71 = !{!"dt_iop_module_t", !9, i64 0, !13, i64 8, !13, i64 16, !13, i64 24, !13, i64 32, !13, i64 40, !13, i64 48, !13, i64 56, !13, i64 64, !13, i64 72, !13, i64 80, !13, i64 88, !13, i64 96, !13, i64 104, !13, i64 112, !13, i64 120, !13, i64 128, !13, i64 136, !13, i64 144, !13, i64 152, !13, i64 160, !13, i64 168, !13, i64 176, !13, i64 184, !13, i64 192, !13, i64 200, !13, i64 208, !13, i64 216, !13, i64 224, !13, i64 232, !13, i64 240, !13, i64 248, !13, i64 256, !13, i64 264, !13, i64 272, !13, i64 280, !13, i64 288, !13, i64 296, !13, i64 304, !13, i64 312, !13, i64 320, !13, i64 328, !13, i64 336, !13, i64 344, !13, i64 352, !13, i64 360, !13, i64 368, !13, i64 376, !13, i64 384, !13, i64 392, !13, i64 400, !13, i64 408, !13, i64 416, !13, i64 424, !13, i64 432, !13, i64 440, !15, i64 448, !10, i64 456, !9, i64 476, !9, i64 480, !9, i64 484, !9, i64 488, !9, i64 492, !9, i64 496, !9, i64 500, !10, i64 512, !10, i64 528, !10, i64 544, !10, i64 560, !10, i64 576, !10, i64 592, !22, i64 608, !23, i64 616, !10, i64 640, !9, i64 656, !9, i64 660, !72, i64 664, !9, i64 672, !9, i64 676, !13, i64 680, !13, i64 688, !9, i64 696, !13, i64 704, !73, i64 712, !13, i64 752, !74, i64 760, !74, i64 768, !13, i64 776, !75, i64 784, !78, i64 816, !78, i64 824, !78, i64 832, !78, i64 840, !78, i64 848, !78, i64 856, !78, i64 864, !9, i64 872, !78, i64 880, !78, i64 888, !78, i64 896, !79, i64 904, !79, i64 912, !78, i64 920, !78, i64 928, !9, i64 936, !80, i64 944, !9, i64 952, !10, i64 956, !9, i64 1084, !78, i64 1088, !13, i64 1096, !9, i64 1104} +!72 = !{!"p1 _ZTS12dt_develop_t", !13, i64 0} +!73 = !{!"dt_pthread_mutex_t", !10, i64 0} +!74 = !{!"p1 _ZTS25dt_develop_blend_params_t", !13, i64 0} +!75 = !{!"", !76, i64 0, !77, i64 16} +!76 = !{!"", !31, i64 0, !31, i64 8} +!77 = !{!"", !18, i64 0, !9, i64 8} +!78 = !{!"p1 _ZTS10_GtkWidget", !13, i64 0} +!79 = !{!"p1 _ZTS7_GSList", !13, i64 0} +!80 = !{!"p1 _ZTS18dt_iop_module_so_t", !13, i64 0} +!81 = !{!82, !78, i64 0} +!82 = !{!"dt_iop_sharpen_gui_data_t", !78, i64 0, !78, i64 8, !78, i64 16} +!83 = !{!82, !78, i64 8} +!84 = !{!82, !78, i64 16} +!85 = !{!86, !9, i64 0} +!86 = !{!"dt_introspection_t", !9, i64 0, !9, i64 4, !12, i64 8, !24, i64 16, !87, i64 24, !24, i64 32, !24, i64 40, !31, i64 48} +!87 = !{!"p1 _ZTS24dt_introspection_field_t", !13, i64 0} +!88 = !{!10, !10, i64 0} diff --git a/bench/elfshaker-rs/optimized/9g25xiovadbzz8leri5a9ttiq.ll b/bench/elfshaker-rs/optimized/9g25xiovadbzz8leri5a9ttiq.ll index 8720860332f..b28c37ef9a4 100644 --- a/bench/elfshaker-rs/optimized/9g25xiovadbzz8leri5a9ttiq.ll +++ b/bench/elfshaker-rs/optimized/9g25xiovadbzz8leri5a9ttiq.ll @@ -103,14 +103,16 @@ define hidden { ptr, ptr } @"_ZN108_$LT$alloc..collections..btree..map..Iter$LT$ resume { ptr, i32 } %25 _ZN5alloc11collections5btree3mem7replace17hadf2804dc5486105E.exit: ; preds = %.noexc1.i + %29 = extractvalue { ptr, ptr } %22, 0 + %30 = extractvalue { ptr, ptr } %22, 1 call void @llvm.lifetime.end.p0(ptr nonnull %5), !noalias !5 call void @llvm.lifetime.end.p0(ptr nonnull %6), !noalias !5 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %8, ptr noundef nonnull align 8 dereferenceable(24) %7, i64 24, i1 false), !noalias !5 + call void @llvm.assume(i1 true) [ "align"(ptr %29, i64 4) ] + call void @llvm.assume(i1 true) [ "align"(ptr %30, i64 8) ] call void @llvm.lifetime.end.p0(ptr nonnull %7), !noalias !5 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %14, ptr noundef nonnull align 8 dereferenceable(24) %8, i64 24, i1 false) call void @llvm.lifetime.end.p0(ptr nonnull %8) - %29 = extractvalue { ptr, ptr } %22, 0 - %30 = extractvalue { ptr, ptr } %22, 1 br label %15 31: ; preds = %12 diff --git a/bench/fish-rs/optimized/13v7qjk9d4erkgv5w97enxlzt.ll b/bench/fish-rs/optimized/13v7qjk9d4erkgv5w97enxlzt.ll index 8bfb39ee680..afdc3a9a217 100644 --- a/bench/fish-rs/optimized/13v7qjk9d4erkgv5w97enxlzt.ll +++ b/bench/fish-rs/optimized/13v7qjk9d4erkgv5w97enxlzt.ll @@ -18865,7 +18865,7 @@ _ZN4fish8builtins4math13format_double17h322c828724df6699E.exit.i: ; preds = %436 br label %871 871: ; preds = %"_ZN5alloc3vec16Vec$LT$T$C$A$GT$4push17heed4704be947a31aE.exit", %351 - %872 = load ptr, ptr %344, align 8, !nonnull !17 + %872 = load ptr, ptr %344, align 8, !nonnull !17, !align !65 %873 = load i64, ptr %345, align 8 %874 = getelementptr inbounds nuw i32, ptr %872, i64 %873 invoke void @"_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_extend17h77e1714d935e0dc3E"(ptr noalias noundef nonnull align 8 dereferenceable(24) %124, ptr noundef nonnull %872, ptr noundef nonnull %874, ptr noalias noundef readonly align 8 dereferenceable(24) @anon.ed30acb1490cb1edb4adbeb613859062.1) @@ -19566,6 +19566,7 @@ _ZN4fish6parser6Parser15blocks_iter_rev17h52c7e8665abe7919E.exit: ; preds = %12 %.sroa.6.0..sroa_idx.i = getelementptr inbounds nuw i8, ptr %9, i64 24 store i64 %20, ptr %.sroa.6.0..sroa_idx.i, align 8, !alias.scope !1409 tail call void @llvm.experimental.noalias.scope.decl(metadata !1412) + call void @llvm.assume(i1 true) [ "align"(ptr %13, i64 8) ] %22 = getelementptr inbounds nuw i8, ptr %6, i64 8 %23 = getelementptr i8, ptr %0, i64 48 %24 = getelementptr inbounds nuw i8, ptr %5, i64 8 @@ -20243,7 +20244,7 @@ define { i32, i32 } @"_ZN101_$LT$fish..builtins..string..collect..Collect$u20$as %43 = trunc nuw i8 %42 to i1 %44 = load i64, ptr %17, align 8 call void @llvm.lifetime.start.p0(ptr nonnull %7) - %45 = load ptr, ptr %18, align 8, !nonnull !17 + %45 = load ptr, ptr %18, align 8, !nonnull !17, !align !65 %46 = getelementptr inbounds nuw i32, ptr %45, i64 %44 store ptr %45, ptr %7, align 8 store ptr %46, ptr %19, align 8 @@ -20306,7 +20307,7 @@ define { i32, i32 } @"_ZN101_$LT$fish..builtins..string..collect..Collect$u20$as to label %69 unwind label %.loopexit.split-lp 65: ; preds = %60 - %66 = load ptr, ptr %18, align 8, !nonnull !17 + %66 = load ptr, ptr %18, align 8, !nonnull !17, !align !65 %67 = load ptr, ptr %22, align 8, !nonnull !17, !align !102, !noundef !17 %68 = invoke noundef zeroext i1 @_ZN4fish2io12OutputStream22append_with_separation17h959eb9e5ac1b4cdbE(ptr noalias noundef nonnull align 8 dereferenceable(32) %67, ptr noalias noundef nonnull readonly align 4 %66, i64 noundef %62, i1 noundef zeroext true, i1 noundef zeroext %43) to label %70 unwind label %.loopexit.split @@ -21212,12 +21213,12 @@ define { i32, i32 } @"_ZN93_$LT$fish..builtins..string..sub..Sub$u20$as$u20$fish br i1 %107, label %114, label %108, !prof !59 108: ; preds = %105 - %109 = load ptr, ptr %85, align 8, !nonnull !17 - %110 = getelementptr inbounds nuw i32, ptr %109, i64 %.sroa.0.0.in.sroa.speculate.load.7.sroa.speculated.i + %109 = load ptr, ptr %84, align 8, !nonnull !17, !align !102, !noundef !17 + %110 = load ptr, ptr %85, align 8, !nonnull !17, !align !65 + %111 = getelementptr inbounds nuw i32, ptr %110, i64 %.sroa.0.0.in.sroa.speculate.load.7.sroa.speculated.i %.sroa.0.0.sroa.speculated.i = call noundef i64 @llvm.umin.i64(i64 %.pre, i64 %106) - %111 = sub nuw i64 %.sroa.0.0.sroa.speculated.i, %.sroa.0.0.in.sroa.speculate.load.7.sroa.speculated.i - %112 = load ptr, ptr %84, align 8, !nonnull !17, !align !102, !noundef !17 - %113 = invoke noundef zeroext i1 @_ZN4fish2io12OutputStream6append17h560b6507302fab41E(ptr noalias noundef nonnull align 8 dereferenceable(32) %112, ptr noalias noundef nonnull readonly align 4 %110, i64 noundef %111) + %112 = sub nuw i64 %.sroa.0.0.sroa.speculated.i, %.sroa.0.0.in.sroa.speculate.load.7.sroa.speculated.i + %113 = invoke noundef zeroext i1 @_ZN4fish2io12OutputStream6append17h560b6507302fab41E(ptr noalias noundef nonnull align 8 dereferenceable(32) %109, ptr noalias noundef nonnull readonly align 4 %111, i64 noundef %112) to label %116 unwind label %.loopexit69 114: ; preds = %105 @@ -22472,6 +22473,7 @@ _ZN4fish6parser6Parser16mut_wait_handles17hea8d07ca6ab6104fE.exit: ; preds = %3 54: ; preds = %.lr.ph237 %spec.select.val = load ptr, ptr %.sroa.013.0233, align 8, !nonnull !17, !noundef !17 + call void @llvm.assume(i1 true) [ "align"(ptr %17, i64 4) ] %55 = getelementptr inbounds nuw i8, ptr %spec.select.val, i64 24 %56 = load ptr, ptr %55, align 8, !noalias !1689, !nonnull !17, !noundef !17 %57 = getelementptr inbounds nuw i8, ptr %spec.select.val, i64 32 @@ -22652,6 +22654,7 @@ _ZN4fish8builtins4wait19wait_handle_matches17h4903fec201bc15e3E.exit32.us.us: ; 106: ; preds = %105 store ptr %104, ptr %7, align 8 + call void @llvm.assume(i1 true) [ "align"(ptr %17, i64 4) ] %107 = getelementptr inbounds nuw i8, ptr %104, i64 24 %108 = load ptr, ptr %107, align 8, !noalias !1692, !nonnull !17, !noundef !17 %109 = getelementptr inbounds nuw i8, ptr %104, i64 32 @@ -22726,6 +22729,7 @@ _ZN4fish8builtins4wait19wait_handle_matches17h4903fec201bc15e3E.exit32.us: ; pre br i1 %.not, label %132, label %126 126: ; preds = %125 + call void @llvm.assume(i1 true) [ "align"(ptr %17, i64 4) ] %127 = getelementptr inbounds nuw i8, ptr %123, i64 24 %128 = load ptr, ptr %127, align 8, !noalias !1692, !nonnull !17, !noundef !17 %129 = getelementptr inbounds nuw i8, ptr %123, i64 32 @@ -29386,6 +29390,7 @@ define noundef zeroext i1 @_ZN4fish6parser6Parser11is_function17h9f8ff4ad45d47c4 br i1 %.not, label %.loopexit5, label %.lr.ph.i.i .lr.ph.i.i: ; preds = %10 + call void @llvm.assume(i1 true) [ "align"(ptr %6, i64 8) ] %17 = getelementptr inbounds nuw i8, ptr %4, i64 8 %18 = getelementptr i8, ptr %0, i64 48 %19 = getelementptr inbounds nuw i8, ptr %3, i64 8 @@ -29550,6 +29555,7 @@ define noundef zeroext i1 @_ZN4fish6parser6Parser23is_command_substitution17h103 br i1 %.not, label %.loopexit5, label %.lr.ph.i.i .lr.ph.i.i: ; preds = %10 + call void @llvm.assume(i1 true) [ "align"(ptr %6, i64 8) ] %17 = getelementptr inbounds nuw i8, ptr %4, i64 8 %18 = getelementptr i8, ptr %0, i64 48 %19 = getelementptr inbounds nuw i8, ptr %3, i64 8 @@ -31541,6 +31547,7 @@ _ZN4fish6parser6Parser15blocks_iter_rev17h52c7e8665abe7919E.exit: ; preds = %1 %.sroa.6.0..sroa_idx.i = getelementptr inbounds nuw i8, ptr %5, i64 24 store i64 %13, ptr %.sroa.6.0..sroa_idx.i, align 8, !alias.scope !2571 tail call void @llvm.experimental.noalias.scope.decl(metadata !2574) + call void @llvm.assume(i1 true) [ "align"(ptr %6, i64 8) ] %15 = getelementptr inbounds nuw i8, ptr %4, i64 8 %16 = getelementptr i8, ptr %0, i64 48 %17 = getelementptr inbounds nuw i8, ptr %3, i64 8 @@ -31693,6 +31700,7 @@ _ZN4fish6parser6Parser15blocks_iter_rev17h52c7e8665abe7919E.exit: ; preds = %1 %.sroa.6.0..sroa_idx.i = getelementptr inbounds nuw i8, ptr %4, i64 24 store i64 %12, ptr %.sroa.6.0..sroa_idx.i, align 8, !alias.scope !2587 tail call void @llvm.experimental.noalias.scope.decl(metadata !2590) + call void @llvm.assume(i1 true) [ "align"(ptr %5, i64 8) ] %14 = getelementptr inbounds nuw i8, ptr %3, i64 8 %15 = getelementptr i8, ptr %0, i64 48 %16 = getelementptr inbounds nuw i8, ptr %2, i64 8 @@ -31856,6 +31864,7 @@ define { ptr, ptr } @_ZN4fish6parser6Parser14block_at_index17had42a53b039d8a74E( br i1 %.not, label %16, label %29 16: ; preds = %9 + call void @llvm.assume(i1 true) [ "align"(ptr %5, i64 8) ] call void @llvm.lifetime.start.p0(ptr nonnull %3) store ptr %11, ptr %3, align 8 %17 = getelementptr inbounds nuw i8, ptr %3, i64 8 @@ -31934,6 +31943,7 @@ define { ptr, ptr } @_ZN4fish6parser6Parser18block_at_index_mut17h09bb64e5398fab unreachable 15: ; preds = %8 + call void @llvm.assume(i1 true) [ "align"(ptr %5, i64 8) ] call void @llvm.lifetime.start.p0(ptr nonnull %3) store ptr %9, ptr %3, align 8 %16 = getelementptr inbounds nuw i8, ptr %3, i64 8 @@ -32767,6 +32777,7 @@ define void @_ZN4fish6parser6Parser17get_function_name17h2a73fdf39959040cE(ptr d br i1 %.not83, label %_ZN4core4iter6traits8iterator8Iterator4find17h3c857552c408c1c6E.exit.i, label %.lr.ph.i.i.i .lr.ph.i.i.i: ; preds = %25 + call void @llvm.assume(i1 true) [ "align"(ptr %20, i64 8) ] %32 = getelementptr inbounds nuw i8, ptr %12, i64 8 %33 = getelementptr i8, ptr %1, i64 48 %34 = getelementptr inbounds nuw i8, ptr %11, i64 8 @@ -36991,6 +37002,7 @@ _ZN4fish6parser6Parser15blocks_iter_rev17h52c7e8665abe7919E.exit: ; preds = %8 .lr.ph.i: ; preds = %_ZN4fish6parser6Parser15blocks_iter_rev17h52c7e8665abe7919E.exit %18 = getelementptr inbounds nuw i8, ptr %3, i64 8 %19 = getelementptr inbounds nuw i8, ptr %2, i64 8 + call void @llvm.assume(i1 true) [ "align"(ptr %9, i64 8) ] %20 = getelementptr i8, ptr %0, i64 48 br label %21 diff --git a/bench/fish-rs/optimized/1f6psxxy03bde21s751lsgfn2.ll b/bench/fish-rs/optimized/1f6psxxy03bde21s751lsgfn2.ll index 5f66906dde7..9ee05c8ea11 100644 --- a/bench/fish-rs/optimized/1f6psxxy03bde21s751lsgfn2.ll +++ b/bench/fish-rs/optimized/1f6psxxy03bde21s751lsgfn2.ll @@ -9041,7 +9041,7 @@ _ZN4core5alloc6layout6Layout6repeat17hfd062edb70f5ec8fE.exit.i.i.i.i: ; preds = 176: ; preds = %169 %177 = getelementptr inbounds nuw i8, ptr %21, i64 8 - %178 = load ptr, ptr %177, align 8, !nonnull !12 + %178 = load ptr, ptr %177, align 8, !nonnull !12, !align !630 %179 = getelementptr inbounds nuw i8, ptr %21, i64 16 %180 = load i64, ptr %179, align 8 %181 = getelementptr inbounds nuw i32, ptr %178, i64 %180 @@ -27190,23 +27190,28 @@ _ZN4fish6reader17reader_data_stack17h899af5e0eec84906E.exit.i: ; preds = %15 to label %57 unwind label %.thread23 .thread: ; preds = %39, %39, %39, %39 + call void @llvm.assume(i1 true) [ "align"(ptr %35, i64 8) ] %43 = getelementptr inbounds nuw i8, ptr %35, i64 2048 store i8 1, ptr %43, align 8 + call void @llvm.assume(i1 true) [ "align"(ptr %35, i64 8) ] br label %55 44: ; preds = %39 %.phi.trans.insert = getelementptr inbounds nuw i8, ptr %35, i64 2048 %.pre = load i8, ptr %.phi.trans.insert, align 8, !range !27 %45 = trunc nuw i8 %.pre to i1 + call void @llvm.assume(i1 true) [ "align"(ptr %35, i64 8) ] br i1 %45, label %55, label %46 46: ; preds = %44 + call void @llvm.assume(i1 true) [ "align"(ptr %35, i64 8) ] %47 = getelementptr inbounds nuw i8, ptr %35, i64 1952 %48 = load i64, ptr %47, align 8, !range !145, !noundef !12 %.not6 = icmp eq i64 %48, -9223372036854775808 br i1 %.not6, label %49, label %50 49: ; preds = %46 + call void @llvm.assume(i1 true) [ "align"(ptr %35, i64 8) ] store i64 0, ptr %47, align 8 %.sroa.4.0..sroa_idx33 = getelementptr inbounds nuw i8, ptr %35, i64 1960 store ptr inttoptr (i64 8 to ptr), ptr %.sroa.4.0..sroa_idx33, align 8 @@ -27243,6 +27248,7 @@ _ZN4fish6reader10ReaderData17save_screen_state17hc74c45cdd6951ca2E.exit: ; preds unreachable 55: ; preds = %.thread, %44 + call void @llvm.assume(i1 true) [ "align"(ptr %35, i64 8) ] %56 = getelementptr inbounds nuw i8, ptr %35, i64 1328 call void @llvm.lifetime.start.p0(ptr nonnull %4) call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %4, ptr noundef nonnull align 8 dereferenceable(40) %1, i64 40, i1 false) @@ -31754,7 +31760,7 @@ _ZN4core5alloc6layout6Layout6repeat17hfd062edb70f5ec8fE.exit.i.i: ; preds = %267 %311 = load ptr, ptr %310, align 8, !nonnull !12, !noundef !12 %312 = getelementptr inbounds nuw i8, ptr %49, i64 1800 %313 = load i64, ptr %312, align 8, !noundef !12 - %314 = load ptr, ptr %.sroa.437.0..sroa_idx40144, align 8, !nonnull !12 + %314 = load ptr, ptr %.sroa.437.0..sroa_idx40144, align 8, !nonnull !12, !align !630 %315 = load i64, ptr %.sroa.542.0..sroa_idx45145, align 8 call void @llvm.lifetime.start.p0(ptr nonnull %19) call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %19, ptr noundef nonnull align 8 dereferenceable(24) %28, i64 24, i1 false) @@ -40286,6 +40292,7 @@ _ZN4fish6reader10ReaderData3rls17h3c90212e9b432979E.exit794: ; preds = %_ZN4fish 1833: ; preds = %1826 call void @llvm.lifetime.start.p0(ptr nonnull %36) + call void @llvm.assume(i1 true) [ "align"(ptr %1830, i64 8) ] store ptr %1829, ptr %36, align 8 %1834 = getelementptr inbounds nuw i8, ptr %36, i64 8 store ptr %1830, ptr %1834, align 8 @@ -40752,7 +40759,7 @@ _ZN4fish6reader10ReaderData16active_edit_line17hb5b3ae928391b01eE.exit.thread: ; 47: ; preds = %27 %48 = getelementptr inbounds nuw i8, ptr %6, i64 8 - %49 = load ptr, ptr %48, align 8, !nonnull !12 + %49 = load ptr, ptr %48, align 8, !nonnull !12, !align !630 %50 = invoke { i64, i64 } @_ZN4fish10parse_util26parse_util_cmdsubst_extent17h2de91b6dcf2ccde9E(ptr noalias noundef nonnull readonly align 4 %49, i64 noundef %28, i64 noundef %29) to label %55 unwind label %.loopexit.split-lp @@ -40786,7 +40793,7 @@ _ZN4fish6reader10ReaderData16active_edit_line17hb5b3ae928391b01eE.exit.thread: ; br i1 %or.cond, label %64, label %60, !prof !710 60: ; preds = %55 - %61 = load ptr, ptr %48, align 8, !nonnull !12 + %61 = load ptr, ptr %48, align 8, !nonnull !12, !align !630 %62 = sub nuw i64 %57, %56 %63 = getelementptr inbounds nuw i32, ptr %61, i64 %56 invoke void @_ZN4fish9tokenizer9Tokenizer3new17hb6ce3d49b58c2ebdE(ptr noalias noundef nonnull sret([64 x i8]) align 8 captures(none) dereferenceable(64) %5, ptr noalias noundef nonnull readonly align 4 %63, i64 noundef %62, i8 noundef 1) @@ -41209,6 +41216,7 @@ _ZN4fish6reader20text_ends_in_comment17h4e1114f111a52f33E.exit47: ; preds = %.lr br i1 %115, label %116, label %_ZN4fish6reader6Reader18expand_for_execute17he564edfe830b667eE.exit 116: ; preds = %113 + call void @llvm.assume(i1 true) [ "align"(ptr %102, i64 8) ] %117 = getelementptr inbounds nuw i8, ptr %17, i64 40 %118 = load ptr, ptr %117, align 8, !alias.scope !4540, !noalias !4534, !nonnull !12, !noundef !12 %119 = load i64, ptr %33, align 8, !alias.scope !4540, !noalias !4534, !noundef !12 @@ -51687,6 +51695,7 @@ _ZN4core5alloc6layout6Layout6repeat17hfd062edb70f5ec8fE.exit.i.i.i96.i: ; preds 501: ; preds = %.noexc112.i %502 = extractvalue { ptr, i64 } %497, 1 + call void @llvm.assume(i1 true) [ "align"(ptr %496, i64 4) ] %503 = icmp eq i64 %.sroa.0.023.i.i, 0 br i1 %503, label %.invoke472.i, label %507 diff --git a/bench/fish-rs/optimized/2jegnuo3b7uy1oojff5kt8alk.ll b/bench/fish-rs/optimized/2jegnuo3b7uy1oojff5kt8alk.ll index 4581893333c..fc58b4dd7fb 100644 --- a/bench/fish-rs/optimized/2jegnuo3b7uy1oojff5kt8alk.ll +++ b/bench/fish-rs/optimized/2jegnuo3b7uy1oojff5kt8alk.ll @@ -8600,7 +8600,7 @@ define internal fastcc void @_ZN4fish3ast11TokenStream13next_from_tok17hf85e69a0 store i64 %27, ptr %13, align 8, !noalias !546 call void @llvm.lifetime.start.p0(ptr nonnull %4), !noalias !553 call void @_ZN4fish3ast16unescape_keyword17hf84e0bb956d79998E(ptr noalias noundef nonnull sret([24 x i8]) align 8 captures(none) dereferenceable(24) %4, i8 noundef range(i8 0, 11) %23, ptr noalias noundef nonnull readonly align 4 %26, i64 noundef %27), !noalias !550 - %28 = load ptr, ptr %14, align 8, !noalias !553, !nonnull !4 + %28 = load ptr, ptr %14, align 8, !noalias !553, !nonnull !4, !align !53 %29 = load i64, ptr %15, align 8, !noalias !553 %30 = invoke noundef i8 @"_ZN115_$LT$fish..parse_constants..ParseKeyword$u20$as$u20$core..convert..From$LT$$RF$widestring..utfstr..Utf32Str$GT$$GT$4from17h1ecd7ee6674c0760E"(ptr noalias noundef nonnull readonly align 4 %28, i64 noundef %29) to label %36 unwind label %31, !noalias !550 @@ -28222,6 +28222,7 @@ define range(i64 0, 8589934592) i64 @_ZN4fish8builtins15fish_key_reader15fish_ke br label %32 30: ; preds = %22, %14 + call void @llvm.assume(i1 true) [ "align"(ptr %.val12, i64 8) ] %31 = tail call noundef zeroext i1 @_ZN4fish2io12OutputStream8appendln17h2f98ccba54e846b4E(ptr noalias noundef align 8 dereferenceable(32) %.val12, ptr noalias noundef nonnull readonly align 1 @anon.c3855246c02a9407b3365b2c3e5c0e37.604, i64 noundef 32) br label %18 @@ -30121,7 +30122,7 @@ define { i32, i32 } @"_ZN97_$LT$fish..builtins..string..split..Split$u20$as$u20$ store i64 %.sroa.0161.0.copyload162, ptr %13, align 8 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %.sroa.7163.0..sroa_idx, ptr noundef nonnull align 8 dereferenceable(16) %.sroa.7163, i64 16, i1 false) %181 = load ptr, ptr %144, align 8, !nonnull !4, !align !45, !noundef !4 - %182 = load ptr, ptr %.sroa.7163.0..sroa_idx, align 8, !nonnull !4 + %182 = load ptr, ptr %.sroa.7163.0..sroa_idx, align 8, !nonnull !4, !align !53 %183 = load i64, ptr %145, align 8 %184 = invoke noundef zeroext i1 @_ZN4fish2io12OutputStream22append_with_separation17h959eb9e5ac1b4cdbE(ptr noalias noundef nonnull align 8 dereferenceable(32) %181, ptr noalias noundef nonnull readonly align 4 %182, i64 noundef %183, i1 noundef zeroext true, i1 noundef zeroext true) to label %191 unwind label %186 @@ -30607,13 +30608,13 @@ define { i32, i32 } @"_ZN105_$LT$fish..builtins..string..transform..Transform$u2 call void @llvm.lifetime.start.p0(ptr nonnull %9) call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %9, ptr noundef nonnull align 8 dereferenceable(24) %10, i64 24, i1 false) call void @llvm.lifetime.start.p0(ptr nonnull %8) - %25 = load ptr, ptr %14, align 8, !nonnull !4 + %25 = load ptr, ptr %14, align 8, !nonnull !4, !align !53 %26 = load i64, ptr %15, align 8 invoke void %13(ptr noalias noundef nonnull sret([24 x i8]) align 8 captures(none) dereferenceable(24) %8, ptr noalias noundef nonnull readonly align 4 %25, i64 noundef %26) to label %27 unwind label %.loopexit23.split.us 27: ; preds = %24 - %28 = load ptr, ptr %14, align 8, !nonnull !4 + %28 = load ptr, ptr %14, align 8, !nonnull !4, !align !53 %29 = load i64, ptr %15, align 8 %30 = load ptr, ptr %16, align 8, !nonnull !4, !noundef !4 %31 = load i64, ptr %17, align 8, !noundef !4 @@ -30689,7 +30690,7 @@ define { i32, i32 } @"_ZN105_$LT$fish..builtins..string..transform..Transform$u2 %42 = load i8, ptr %12, align 8, !range !139, !noundef !4 %43 = trunc nuw i8 %42 to i1 call void @llvm.lifetime.start.p0(ptr nonnull %8) - %44 = load ptr, ptr %14, align 8, !nonnull !4 + %44 = load ptr, ptr %14, align 8, !nonnull !4, !align !53 %45 = load i64, ptr %15, align 8 invoke void %13(ptr noalias noundef nonnull sret([24 x i8]) align 8 captures(none) dereferenceable(24) %8, ptr noalias noundef nonnull readonly align 4 %44, i64 noundef %45) to label %53 unwind label %.loopexit23.split @@ -30729,7 +30730,7 @@ define { i32, i32 } @"_ZN105_$LT$fish..builtins..string..transform..Transform$u2 br label %.loopexit23 53: ; preds = %41 - %54 = load ptr, ptr %14, align 8, !nonnull !4 + %54 = load ptr, ptr %14, align 8, !nonnull !4, !align !53 %55 = load i64, ptr %15, align 8 %56 = load ptr, ptr %16, align 8, !nonnull !4, !noundef !4 %57 = load i64, ptr %17, align 8, !noundef !4 diff --git a/bench/fish-rs/optimized/5o5xgybh9xo8acbeboom17uhq.ll b/bench/fish-rs/optimized/5o5xgybh9xo8acbeboom17uhq.ll index 882f6b965e7..1306202d524 100644 --- a/bench/fish-rs/optimized/5o5xgybh9xo8acbeboom17uhq.ll +++ b/bench/fish-rs/optimized/5o5xgybh9xo8acbeboom17uhq.ll @@ -22394,6 +22394,7 @@ define void @"_ZN99_$LT$fish..builtins..string..escape..Escape$u20$as$u20$fish.. unreachable 23: ; preds = %20 + call void @llvm.assume(i1 true) [ "align"(ptr %21, i64 4) ] call void @llvm.lifetime.start.p0(ptr nonnull %13), !noalias !3261 store i64 0, ptr %13, align 8, !noalias !3261 %.sroa.4.0..sroa_idx.i = getelementptr inbounds nuw i8, ptr %13, i64 8 @@ -22601,7 +22602,7 @@ define { i32, i32 } @"_ZN99_$LT$fish..builtins..string..escape..Escape$u20$as$u2 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %9, ptr noundef nonnull align 8 dereferenceable(24) %10, i64 24, i1 false) %31 = load i8, ptr %19, align 8, !range !108, !noundef !17 call void @llvm.lifetime.start.p0(ptr nonnull %8) - %32 = load ptr, ptr %20, align 8, !nonnull !17 + %32 = load ptr, ptr %20, align 8, !nonnull !17, !align !22 %33 = load i64, ptr %21, align 8 invoke void @_ZN4fish6common13escape_string17h018461580787c460E(ptr noalias noundef nonnull sret([24 x i8]) align 8 captures(none) dereferenceable(24) %8, ptr noalias noundef nonnull readonly align 4 %32, i64 noundef %33, i32 noundef %.sroa.03.0, i32 %.sroa.34.0) to label %43 unwind label %41 @@ -23637,7 +23638,7 @@ define { i32, i32 } @"_ZN93_$LT$fish..builtins..string..pad..Pad$u20$as$u20$fish call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %16, ptr noundef nonnull align 8 dereferenceable(24) %17, i64 24, i1 false) %34 = load i8, ptr %24, align 8, !range !108, !noundef !17 %35 = trunc nuw i8 %34 to i1 - %36 = load ptr, ptr %25, align 8, !nonnull !17 + %36 = load ptr, ptr %25, align 8, !nonnull !17, !align !22 %37 = load i64, ptr %26, align 8 %38 = invoke noundef i64 @_ZN4fish8builtins6string21width_without_escapes17h0e088a05f0edbc0dE(ptr noalias noundef nonnull readonly align 4 %36, i64 noundef %37, i64 noundef 0) to label %116 unwind label %132 @@ -23751,7 +23752,7 @@ define { i32, i32 } @"_ZN93_$LT$fish..builtins..string..pad..Pad$u20$as$u20$fish %65 = udiv i64 %64, %.fr115 %66 = urem i64 %64, %.fr115 call void @llvm.lifetime.start.p0(ptr nonnull %12) - %67 = load ptr, ptr %.sroa.7.0..sroa_idx67, align 8, !nonnull !17 + %67 = load ptr, ptr %.sroa.7.0..sroa_idx67, align 8, !nonnull !17, !align !22 %68 = load i64, ptr %54, align 8 br i1 %51, label %"_ZN106_$LT$core..iter..adapters..chain..Chain$LT$A$C$B$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$9size_hint17h6c4853c9e2fcb613E.exit.i.i.i", label %"_ZN106_$LT$core..iter..adapters..chain..Chain$LT$A$C$B$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$9size_hint17ha2c99c78fb87b757E.exit.i.i.i" @@ -24342,7 +24343,7 @@ define { i32, i32 } @"_ZN101_$LT$fish..builtins..string..shorten..Shorten$u20$as 58: ; preds = %56 call void @llvm.lifetime.start.p0(ptr nonnull %20) call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %20, ptr noundef nonnull align 8 dereferenceable(24) %21, i64 24, i1 false) - %59 = load ptr, ptr %39, align 8, !nonnull !17 + %59 = load ptr, ptr %39, align 8, !nonnull !17, !align !22 %60 = load i64, ptr %40, align 8 %.idx.i.i.i.us = shl nuw nsw i64 %60, 2 %61 = getelementptr inbounds nuw i8, ptr %59, i64 %.idx.i.i.i.us @@ -25192,7 +25193,7 @@ define { i32, i32 } @"_ZN101_$LT$fish..builtins..string..shorten..Shorten$u20$as .preheader323: ; preds = %124 call void @llvm.lifetime.start.p0(ptr nonnull %20) call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %20, ptr noundef nonnull align 8 dereferenceable(24) %21, i64 24, i1 false) - %322 = load ptr, ptr %39, align 8, !nonnull !17 + %322 = load ptr, ptr %39, align 8, !nonnull !17, !align !22 %323 = load i64, ptr %40, align 8 br label %330 diff --git a/bench/fish-rs/optimized/8zxt2gjt68ikxu18thf3foa45.ll b/bench/fish-rs/optimized/8zxt2gjt68ikxu18thf3foa45.ll index be42a0ad032..cc4a58078c9 100644 --- a/bench/fish-rs/optimized/8zxt2gjt68ikxu18thf3foa45.ll +++ b/bench/fish-rs/optimized/8zxt2gjt68ikxu18thf3foa45.ll @@ -17070,7 +17070,7 @@ define { i32, i32 } @"_ZN103_$LT$fish..builtins..string..unescape..Unescape$u20$ %25 = load i8, ptr %12, align 8, !range !8, !noundef !3 %26 = trunc nuw i8 %25 to i1 call void @llvm.lifetime.start.p0(ptr nonnull %8) - %27 = load ptr, ptr %13, align 8, !nonnull !3 + %27 = load ptr, ptr %13, align 8, !nonnull !3, !align !10 %28 = load i64, ptr %14, align 8 invoke void @_ZN4fish6common15unescape_string17h616701c9b434bf44E(ptr noalias noundef nonnull sret([24 x i8]) align 8 captures(none) dereferenceable(24) %8, ptr noalias noundef nonnull readonly align 4 %27, i64 noundef %28, i32 noundef %15, i32 %17) to label %38 unwind label %33 @@ -30793,6 +30793,7 @@ _ZN4fish10parse_util32parse_util_locate_cmdsubst_range17h83dee32d4ab4d607E.exit. to label %113 unwind label %.loopexit 113: ; preds = %106 + call void @llvm.assume(i1 true) [ "align"(ptr %.val38, i64 8) ] br i1 %.not34, label %118, label %114 114: ; preds = %113 @@ -41320,6 +41321,7 @@ thread-pre-split.i: ; preds = %.noexc14.i to label %"_ZN4core3ptr136drop_in_place$LT$core..option..Option$LT$core..result..Result$LT$$RF$fish..wutil..dir_iter..DirEntry$C$std..io..error..Error$GT$$GT$$GT$17h61bdfb9000f01e0aE.exit.i" unwind label %.loopexit.split-lp.i, !noalias !3711 261: ; preds = %255 + call void @llvm.assume(i1 true) [ "align"(ptr %257, i64 8) ] call void @llvm.experimental.noalias.scope.decl(metadata !3726) %262 = load ptr, ptr %43, align 8, !alias.scope !3729, !noalias !3718, !nonnull !3, !align !7, !noundef !3 %263 = load ptr, ptr %45, align 8, !alias.scope !3729, !noalias !3718, !nonnull !3, !align !18, !noundef !3 @@ -41663,6 +41665,7 @@ _ZN4fish8wildcard21wildcard_has_internal17hceb02dc643764931E.exit: ; preds = %82 br label %_ZN4fish8wildcard8expander16WildCardExpander19expand_last_segment17h2fbc6e22086d204cE.exit "_ZN4core3ptr136drop_in_place$LT$core..option..Option$LT$core..result..Result$LT$$RF$fish..wutil..dir_iter..DirEntry$C$std..io..error..Error$GT$$GT$$GT$17h61bdfb9000f01e0aE.exit4.i": ; preds = %.noexc116 + call void @llvm.assume(i1 true) [ "align"(ptr %384, i64 8) ] call void @llvm.lifetime.end.p0(ptr nonnull %17), !noalias !3779 br i1 %.not2.i, label %388, label %391 @@ -42108,6 +42111,7 @@ _ZN4fish8wildcard8expander16WildCardExpander25interrupted_or_overflowed17hf81410 br label %_ZN4fish8wildcard8expander16WildCardExpander25interrupted_or_overflowed17hf8141045d9132db7E.exit.thread "_ZN4core3ptr136drop_in_place$LT$core..option..Option$LT$core..result..Result$LT$$RF$fish..wutil..dir_iter..DirEntry$C$std..io..error..Error$GT$$GT$$GT$17h61bdfb9000f01e0aE.exit15": ; preds = %75 + call void @llvm.assume(i1 true) [ "align"(ptr %78, i64 8) ] call void @llvm.lifetime.end.p0(ptr nonnull %30) %82 = call noundef zeroext i1 @_ZN4fish8wildcard14wildcard_match17ha1ba70081adc77a2E(ptr noalias noundef readonly align 8 dereferenceable(24) %78, ptr noalias noundef nonnull readonly align 4 %4, i64 noundef %5, i1 noundef zeroext true) br i1 %82, label %83, label %.backedge @@ -42603,6 +42607,7 @@ _ZN4fish8wildcard8expander16WildCardExpander25interrupted_or_overflowed17hf81410 br label %_ZN4fish8wildcard8expander16WildCardExpander25interrupted_or_overflowed17hf8141045d9132db7E.exit.thread "_ZN4core3ptr136drop_in_place$LT$core..option..Option$LT$core..result..Result$LT$$RF$fish..wutil..dir_iter..DirEntry$C$std..io..error..Error$GT$$GT$$GT$17h61bdfb9000f01e0aE.exit23": ; preds = %49 + call void @llvm.assume(i1 true) [ "align"(ptr %52, i64 8) ] call void @llvm.lifetime.end.p0(ptr nonnull %20) %56 = getelementptr i8, ptr %52, i64 8 %.val20 = load ptr, ptr %56, align 8, !nonnull !3, !noundef !3 @@ -43862,6 +43867,7 @@ thread-pre-split.i: ; preds = %315, %319 to label %"_ZN4core3ptr136drop_in_place$LT$core..option..Option$LT$core..result..Result$LT$$RF$fish..wutil..dir_iter..DirEntry$C$std..io..error..Error$GT$$GT$$GT$17h61bdfb9000f01e0aE.exit.i" unwind label %.loopexit.split-lp.i, !noalias !4054 295: ; preds = %289 + call void @llvm.assume(i1 true) [ "align"(ptr %291, i64 8) ] %296 = getelementptr inbounds nuw i8, ptr %291, i64 16 %297 = load i64, ptr %296, align 8, !noalias !4054, !noundef !3 %298 = icmp ult i64 %297, 2305843009213693952 diff --git a/bench/fish-rs/optimized/czs708r0zvy58e2j6rsq7a88i.ll b/bench/fish-rs/optimized/czs708r0zvy58e2j6rsq7a88i.ll index c9c9bb8639f..a67e85f0909 100644 --- a/bench/fish-rs/optimized/czs708r0zvy58e2j6rsq7a88i.ll +++ b/bench/fish-rs/optimized/czs708r0zvy58e2j6rsq7a88i.ll @@ -767,6 +767,7 @@ define hidden void @"_ZN102_$LT$core..iter..adapters..map..Map$LT$I$C$F$GT$$u20$ call void @llvm.lifetime.start.p0(ptr nonnull %4), !noalias !134 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 !145 %17 = getelementptr inbounds nuw i32, ptr %.sroa.0.0.copyload, i64 %.sroa.06.0.i.i + call void @llvm.assume(i1 true) [ "align"(ptr %17, i64 4) ] tail call void @llvm.experimental.noalias.scope.decl(metadata !146) tail call void @llvm.experimental.noalias.scope.decl(metadata !147) tail call void @llvm.experimental.noalias.scope.decl(metadata !148) @@ -23316,7 +23317,7 @@ define { i32, i32 } @"_ZN99_$LT$fish..builtins..string..length..Length$u20$as$u2 26: ; preds = %24 call void @llvm.lifetime.start.p0(ptr nonnull %13) call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %13, ptr noundef nonnull align 8 dereferenceable(24) %14, i64 24, i1 false) - %27 = load ptr, ptr %21, align 8, !nonnull !3 + %27 = load ptr, ptr %21, align 8, !nonnull !3, !align !77 %28 = load i64, ptr %19, align 8 %29 = invoke { ptr, i64 } @"_ZN70_$LT$widestring..utfstr..Utf32Str$u20$as$u20$fish..wchar_ext..WExt$GT$13as_char_slice17hdfb34ac63a847473E"(ptr noalias noundef nonnull readonly align 4 %27, i64 noundef %28) to label %.split.us.us.us unwind label %.loopexit.split-lp.loopexit.split-lp.split.us.split.us @@ -23430,7 +23431,7 @@ define { i32, i32 } @"_ZN99_$LT$fish..builtins..string..length..Length$u20$as$u2 57: ; preds = %55 call void @llvm.lifetime.start.p0(ptr nonnull %13) call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %13, ptr noundef nonnull align 8 dereferenceable(24) %14, i64 24, i1 false) - %58 = load ptr, ptr %21, align 8, !nonnull !3 + %58 = load ptr, ptr %21, align 8, !nonnull !3, !align !77 %59 = load i64, ptr %19, align 8 %60 = invoke { ptr, i64 } @"_ZN70_$LT$widestring..utfstr..Utf32Str$u20$as$u20$fish..wchar_ext..WExt$GT$13as_char_slice17hdfb34ac63a847473E"(ptr noalias noundef nonnull readonly align 4 %58, i64 noundef %59) to label %.split.us73 unwind label %.loopexit.split-lp.loopexit.split-lp.split.us.split @@ -24668,7 +24669,7 @@ define { i32, i32 } @"_ZN99_$LT$fish..builtins..string..repeat..Repeat$u20$as$u2 %.sroa.014.1133 = phi i64 [ %.sroa.014.2, %149 ], [ %.sroa.014.0, %95 ] %99 = load i64, ptr %38, align 8 %.not57 = icmp ult i64 %.sroa.014.1133, %99 - %100 = load ptr, ptr %46, align 8, !nonnull !3 + %100 = load ptr, ptr %46, align 8, !nonnull !3, !align !77 br i1 %.not57, label %104, label %106 thread-pre-split: ; preds = %149, %"_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_extend17h77e1714d935e0dc3E.exit74" diff --git a/bench/fish-rs/optimized/djai6kkt8m7zi9lpt05bwt9kh.ll b/bench/fish-rs/optimized/djai6kkt8m7zi9lpt05bwt9kh.ll index 9f4079d4d6e..0c1156c2042 100644 --- a/bench/fish-rs/optimized/djai6kkt8m7zi9lpt05bwt9kh.ll +++ b/bench/fish-rs/optimized/djai6kkt8m7zi9lpt05bwt9kh.ll @@ -22561,6 +22561,7 @@ define range(i64 0, -4294967294) i64 @_ZN4fish8builtins6status6status17hbcd1bb20 br i1 %310, label %311, label %313 311: ; preds = %309 + call void @llvm.assume(i1 true) [ "align"(ptr %.val.i, i64 8) ] call void @llvm.lifetime.start.p0(ptr nonnull %28), !noalias !1606 call void @llvm.lifetime.start.p0(ptr nonnull %27), !noalias !1606 store i64 0, ptr %27, align 8, !noalias !1606 @@ -27133,6 +27134,7 @@ common.resume: ; preds = %124, %101, %97, %23 %248 = extractvalue { ptr, ptr } %50, 1 %249 = icmp ne ptr %248, null tail call void @llvm.assume(i1 %249) + call void @llvm.assume(i1 true) [ "align"(ptr %248, i64 8) ] %250 = getelementptr inbounds nuw i8, ptr %248, i64 32 %251 = load ptr, ptr %250, align 8, !invariant.load !3, !nonnull !3 %252 = invoke { i64, i64 } %251(ptr noundef nonnull align 1 %51) @@ -27516,6 +27518,7 @@ define internal fastcc ptr @_ZN4fish8builtins4test16test_expressions10TestParser br i1 %.not30, label %"_ZN4core3ptr132drop_in_place$LT$core..option..Option$LT$alloc..boxed..Box$LT$dyn$u20$fish..builtins..test..test_expressions..Expression$GT$$GT$$GT$17h2dcac9c608437927E.exit", label %85 85: ; preds = %82 + call void @llvm.assume(i1 true) [ "align"(ptr %84, i64 8) ] %86 = getelementptr inbounds nuw i8, ptr %84, i64 32 %87 = load ptr, ptr %86, align 8, !invariant.load !3, !nonnull !3 %88 = invoke { i64, i64 } %87(ptr noundef nonnull align 1 %83) @@ -28131,6 +28134,7 @@ _ZN4fish8builtins4test16test_expressions10TestParser3arg17hf001e4dd3baa90daE.exi %35 = extractvalue { ptr, ptr } %32, 1 %36 = icmp ne ptr %35, null tail call void @llvm.assume(i1 %36) + call void @llvm.assume(i1 true) [ "align"(ptr %35, i64 8) ] %37 = getelementptr inbounds nuw i8, ptr %35, i64 32 %38 = load ptr, ptr %37, align 8, !invariant.load !3, !nonnull !3 %39 = invoke { i64, i64 } %38(ptr noundef nonnull align 1 %33) @@ -28876,6 +28880,7 @@ _ZN4fish8builtins4test16test_expressions10TestParser3arg17hf001e4dd3baa90daE.exi %56 = extractvalue { ptr, ptr } %53, 1 %57 = icmp ne ptr %56, null tail call void @llvm.assume(i1 %57) + call void @llvm.assume(i1 true) [ "align"(ptr %56, i64 8) ] %58 = getelementptr inbounds nuw i8, ptr %56, i64 32 %59 = load ptr, ptr %58, align 8, !invariant.load !3, !nonnull !3 %60 = invoke { i64, i64 } %59(ptr noundef nonnull align 1 %54) @@ -30729,6 +30734,7 @@ define range(i64 0, 8589934594) i64 @_ZN4fish8builtins4test4test17h8d24439a9af25 239: ; preds = %236 call void @llvm.lifetime.start.p0(ptr nonnull %14), !noalias !2294 + call void @llvm.assume(i1 true) [ "align"(ptr %185, i64 8) ] %240 = invoke { i64, i64 } %233(ptr noundef nonnull align 1 %184) to label %243 unwind label %241 @@ -31045,6 +31051,7 @@ define range(i64 0, 8589934594) i64 @_ZN4fish8builtins4test4test17h8d24439a9af25 .thread124.i: ; preds = %..thread124.i_crit_edge, %200 %349 = phi ptr [ %.pre159, %..thread124.i_crit_edge ], [ %197, %200 ] + call void @llvm.assume(i1 true) [ "align"(ptr %185, i64 8) ] %350 = invoke { i64, i64 } %349(ptr noundef nonnull align 1 %184) to label %351 unwind label %190 @@ -31064,6 +31071,7 @@ define range(i64 0, 8589934594) i64 @_ZN4fish8builtins4test4test17h8d24439a9af25 unreachable 356: ; preds = %351 + call void @llvm.assume(i1 true) [ "align"(ptr %185, i64 8) ] %357 = invoke { i64, i64 } %349(ptr noundef nonnull align 1 %184) to label %358 unwind label %190 @@ -33206,6 +33214,7 @@ _ZN4fish9highlight11file_tester22fs_is_case_insensitive17h37de2a0cc353d222E.exit to label %.backedge unwind label %.loopexit93 239: ; preds = %235 + call void @llvm.assume(i1 true) [ "align"(ptr %234, i64 8) ] %240 = invoke noundef zeroext i1 @_ZN4fish17operation_context16OperationContext12check_cancel17h9fca8071d735dfc1E(ptr noalias noundef nonnull readonly align 8 dereferenceable(64) %5) to label %246 unwind label %241 @@ -36142,7 +36151,7 @@ _ZN4fish15parse_execution16ExecutionContext11node_source17h345eba09064073f7E.exi 226: ; preds = %225 %227 = getelementptr inbounds nuw i8, ptr %83, i64 8 - %228 = load ptr, ptr %227, align 8, !noalias !2678, !nonnull !3 + %228 = load ptr, ptr %227, align 8, !noalias !2678, !nonnull !3, !align !527 %229 = getelementptr inbounds nuw i8, ptr %83, i64 16 %230 = load i64, ptr %229, align 8, !noalias !2678 %231 = load ptr, ptr %.sroa.426.0..sroa_idx.i, align 8, !alias.scope !2676, !noalias !2686, !nonnull !3, !noundef !3 diff --git a/bench/foundations-rs/optimized/3mkcuilt3qj76iejlx2uremig.ll b/bench/foundations-rs/optimized/3mkcuilt3qj76iejlx2uremig.ll index b6982dab03c..d5d1209e18a 100644 --- a/bench/foundations-rs/optimized/3mkcuilt3qj76iejlx2uremig.ll +++ b/bench/foundations-rs/optimized/3mkcuilt3qj76iejlx2uremig.ll @@ -7245,6 +7245,7 @@ default.unreachable96: ; preds = %39 63: ; preds = %"_ZN4core3ptr74drop_in_place$LT$core..option..Option$LT$http..uri..scheme..Scheme$GT$$GT$17hf8d4b09c9b7c3e11E.exit" call void @llvm.lifetime.start.p0(ptr nonnull %5) + call void @llvm.assume(i1 true) [ "align"(ptr %62, i64 8) ] %64 = load ptr, ptr %62, align 8, !nonnull !4, !noundef !4 %65 = getelementptr inbounds nuw i8, ptr %0, i64 536 %66 = getelementptr inbounds nuw i8, ptr %0, i64 520 @@ -7609,6 +7610,7 @@ default.unreachable96: ; preds = %39 63: ; preds = %"_ZN4core3ptr74drop_in_place$LT$core..option..Option$LT$http..uri..scheme..Scheme$GT$$GT$17hf8d4b09c9b7c3e11E.exit" call void @llvm.lifetime.start.p0(ptr nonnull %5) + call void @llvm.assume(i1 true) [ "align"(ptr %62, i64 8) ] %64 = load ptr, ptr %62, align 8, !nonnull !4, !noundef !4 %65 = getelementptr inbounds nuw i8, ptr %0, i64 488 %66 = getelementptr inbounds nuw i8, ptr %0, i64 472 @@ -9385,6 +9387,7 @@ define internal fastcc void @"_ZN4core3ptr90drop_in_place$LT$core..result..Resul 3: ; preds = %1 tail call void @llvm.experimental.noalias.scope.decl(metadata !251) tail call void @llvm.experimental.noalias.scope.decl(metadata !254) + call void @llvm.assume(i1 true) [ "align"(ptr %2, i64 8) ] %4 = getelementptr inbounds nuw i8, ptr %2, i64 32 %5 = load ptr, ptr %4, align 8, !noalias !257, !nonnull !4, !noundef !4 %6 = getelementptr inbounds nuw i8, ptr %0, i64 24 @@ -11379,6 +11382,7 @@ common.resume: ; preds = %.thread.i, %common. 518: ; preds = %516 call void @llvm.experimental.noalias.scope.decl(metadata !390) call void @llvm.experimental.noalias.scope.decl(metadata !393) + call void @llvm.assume(i1 true) [ "align"(ptr %517, i64 8) ] %519 = getelementptr inbounds nuw i8, ptr %517, i64 32 %520 = load ptr, ptr %519, align 8, !noalias !396, !nonnull !4, !noundef !4 %521 = load ptr, ptr %.sroa.357.0..sroa_idx.i.i.i, align 8, !alias.scope !397, !noalias !354, !noundef !4 @@ -11409,6 +11413,7 @@ common.resume: ; preds = %.thread.i, %common. 527: ; preds = %525 call void @llvm.experimental.noalias.scope.decl(metadata !401) call void @llvm.experimental.noalias.scope.decl(metadata !404) + call void @llvm.assume(i1 true) [ "align"(ptr %526, i64 8) ] %528 = getelementptr inbounds nuw i8, ptr %526, i64 32 %529 = load ptr, ptr %528, align 8, !noalias !407, !nonnull !4, !noundef !4 %530 = load ptr, ptr %.sroa.357.0..sroa_idx.i.i.i, align 8, !alias.scope !408, !noalias !354, !noundef !4 diff --git a/bench/foundations-rs/optimized/7zdc97sa0ogd517y2re7ok0yw.ll b/bench/foundations-rs/optimized/7zdc97sa0ogd517y2re7ok0yw.ll index 744fb3c16d3..caee2066291 100644 --- a/bench/foundations-rs/optimized/7zdc97sa0ogd517y2re7ok0yw.ll +++ b/bench/foundations-rs/optimized/7zdc97sa0ogd517y2re7ok0yw.ll @@ -1610,6 +1610,7 @@ define hidden void @"_ZN4core3ptr105drop_in_place$LT$hyper..common..io..rewind.. 5: ; preds = %1 tail call void @llvm.experimental.noalias.scope.decl(metadata !233) tail call void @llvm.experimental.noalias.scope.decl(metadata !236) + call void @llvm.assume(i1 true) [ "align"(ptr %3, i64 8) ] %6 = getelementptr inbounds nuw i8, ptr %3, i64 32 %7 = load ptr, ptr %6, align 8, !noalias !239, !nonnull !7, !noundef !7 %8 = getelementptr inbounds nuw i8, ptr %0, i64 120 @@ -2045,6 +2046,7 @@ define hidden void @"_ZN4core3ptr109drop_in_place$LT$alloc..vec..Vec$LT$http..he tail call void @llvm.experimental.noalias.scope.decl(metadata !333) tail call void @llvm.experimental.noalias.scope.decl(metadata !336) tail call void @llvm.experimental.noalias.scope.decl(metadata !339) + call void @llvm.assume(i1 true) [ "align"(ptr %9, i64 8) ] %12 = getelementptr inbounds nuw i8, ptr %9, i64 32 %13 = load ptr, ptr %12, align 8, !noalias !342, !nonnull !7, !noundef !7 %14 = getelementptr inbounds nuw i8, ptr %6, i64 88 @@ -5446,6 +5448,7 @@ thread-pre-split.i: ; preds = %41 18: ; preds = %16 call void @llvm.experimental.noalias.scope.decl(metadata !1013) call void @llvm.experimental.noalias.scope.decl(metadata !1016) + call void @llvm.assume(i1 true) [ "align"(ptr %17, i64 8) ] %19 = getelementptr inbounds nuw i8, ptr %17, i64 32 %20 = load ptr, ptr %19, align 8, !noalias !1019, !nonnull !7, !noundef !7 %21 = load ptr, ptr %6, align 8, !alias.scope !1019, !noalias !1000, !noundef !7 @@ -5481,6 +5484,7 @@ thread-pre-split.i: ; preds = %41 29: ; preds = %27 call void @llvm.experimental.noalias.scope.decl(metadata !1030) call void @llvm.experimental.noalias.scope.decl(metadata !1033) + call void @llvm.assume(i1 true) [ "align"(ptr %28, i64 8) ] %30 = getelementptr inbounds nuw i8, ptr %28, i64 32 %31 = load ptr, ptr %30, align 8, !noalias !1036, !nonnull !7, !noundef !7 %32 = load ptr, ptr %6, align 8, !alias.scope !1036, !noalias !1000, !noundef !7 @@ -6084,6 +6088,7 @@ define hidden void @"_ZN4core3ptr132drop_in_place$LT$futures_channel..mpsc..queu 7: ; preds = %4 tail call void @llvm.experimental.noalias.scope.decl(metadata !1117) tail call void @llvm.experimental.noalias.scope.decl(metadata !1120) + call void @llvm.assume(i1 true) [ "align"(ptr %6, i64 8) ] %8 = getelementptr inbounds nuw i8, ptr %6, i64 32 %9 = load ptr, ptr %8, align 8, !noalias !1123, !nonnull !7, !noundef !7 %10 = getelementptr inbounds nuw i8, ptr %0, i64 32 @@ -8148,6 +8153,7 @@ define internal fastcc void @"_ZN4core3ptr138drop_in_place$LT$h2..proto..connect tail call void @llvm.experimental.noalias.scope.decl(metadata !1409) tail call void @llvm.experimental.noalias.scope.decl(metadata !1412) tail call void @llvm.experimental.noalias.scope.decl(metadata !1415) + call void @llvm.assume(i1 true) [ "align"(ptr %3, i64 8) ] %6 = getelementptr inbounds nuw i8, ptr %3, i64 32 %7 = load ptr, ptr %6, align 8, !noalias !1418, !nonnull !7, !noundef !7 %8 = getelementptr inbounds nuw i8, ptr %0, i64 176 @@ -8172,6 +8178,7 @@ define internal fastcc void @"_ZN4core3ptr138drop_in_place$LT$h2..proto..connect tail call void @llvm.experimental.noalias.scope.decl(metadata !1426) tail call void @llvm.experimental.noalias.scope.decl(metadata !1429) tail call void @llvm.experimental.noalias.scope.decl(metadata !1432) + call void @llvm.assume(i1 true) [ "align"(ptr %16, i64 8) ] %19 = getelementptr inbounds nuw i8, ptr %16, i64 32 %20 = load ptr, ptr %19, align 8, !noalias !1435, !nonnull !7, !noundef !7 %21 = getelementptr inbounds nuw i8, ptr %0, i64 64 @@ -8194,6 +8201,7 @@ define internal fastcc void @"_ZN4core3ptr138drop_in_place$LT$h2..proto..connect tail call void @llvm.experimental.noalias.scope.decl(metadata !1443) tail call void @llvm.experimental.noalias.scope.decl(metadata !1446) tail call void @llvm.experimental.noalias.scope.decl(metadata !1449) + call void @llvm.assume(i1 true) [ "align"(ptr %27, i64 8) ] %30 = getelementptr inbounds nuw i8, ptr %27, i64 32 %31 = load ptr, ptr %30, align 8, !noalias !1452, !nonnull !7, !noundef !7 %32 = getelementptr inbounds nuw i8, ptr %0, i64 64 @@ -8356,6 +8364,7 @@ define internal fastcc void @"_ZN4core3ptr138drop_in_place$LT$h2..proto..connect tail call void @llvm.experimental.noalias.scope.decl(metadata !1505) tail call void @llvm.experimental.noalias.scope.decl(metadata !1508) tail call void @llvm.experimental.noalias.scope.decl(metadata !1511) + call void @llvm.assume(i1 true) [ "align"(ptr %3, i64 8) ] %6 = getelementptr inbounds nuw i8, ptr %3, i64 32 %7 = load ptr, ptr %6, align 8, !noalias !1514, !nonnull !7, !noundef !7 %8 = getelementptr inbounds nuw i8, ptr %0, i64 176 @@ -8380,6 +8389,7 @@ define internal fastcc void @"_ZN4core3ptr138drop_in_place$LT$h2..proto..connect tail call void @llvm.experimental.noalias.scope.decl(metadata !1522) tail call void @llvm.experimental.noalias.scope.decl(metadata !1525) tail call void @llvm.experimental.noalias.scope.decl(metadata !1528) + call void @llvm.assume(i1 true) [ "align"(ptr %16, i64 8) ] %19 = getelementptr inbounds nuw i8, ptr %16, i64 32 %20 = load ptr, ptr %19, align 8, !noalias !1531, !nonnull !7, !noundef !7 %21 = getelementptr inbounds nuw i8, ptr %0, i64 64 @@ -8402,6 +8412,7 @@ define internal fastcc void @"_ZN4core3ptr138drop_in_place$LT$h2..proto..connect tail call void @llvm.experimental.noalias.scope.decl(metadata !1539) tail call void @llvm.experimental.noalias.scope.decl(metadata !1542) tail call void @llvm.experimental.noalias.scope.decl(metadata !1545) + call void @llvm.assume(i1 true) [ "align"(ptr %27, i64 8) ] %30 = getelementptr inbounds nuw i8, ptr %27, i64 32 %31 = load ptr, ptr %30, align 8, !noalias !1548, !nonnull !7, !noundef !7 %32 = getelementptr inbounds nuw i8, ptr %0, i64 64 @@ -9331,6 +9342,7 @@ define internal fastcc void @"_ZN4core3ptr148drop_in_place$LT$core..task..poll.. 8: ; preds = %5 tail call void @llvm.experimental.noalias.scope.decl(metadata !1699) tail call void @llvm.experimental.noalias.scope.decl(metadata !1702) + call void @llvm.assume(i1 true) [ "align"(ptr %7, i64 8) ] %9 = getelementptr inbounds nuw i8, ptr %7, i64 32 %10 = load ptr, ptr %9, align 8, !noalias !1705, !nonnull !7, !noundef !7 %11 = getelementptr inbounds nuw i8, ptr %0, i64 32 @@ -18743,6 +18755,7 @@ define hidden void @"_ZN4core3ptr255drop_in_place$LT$h2..codec..framed_write..Fr 5: ; preds = %1 tail call void @llvm.experimental.noalias.scope.decl(metadata !3575) tail call void @llvm.experimental.noalias.scope.decl(metadata !3578) + call void @llvm.assume(i1 true) [ "align"(ptr %3, i64 8) ] %6 = getelementptr inbounds nuw i8, ptr %3, i64 32 %7 = load ptr, ptr %6, align 8, !noalias !3581, !nonnull !7, !noundef !7 %8 = getelementptr inbounds nuw i8, ptr %0, i64 120 @@ -23381,6 +23394,7 @@ define hidden void @"_ZN4core3ptr365drop_in_place$LT$tokio_util..codec..framed_r 5: ; preds = %1 tail call void @llvm.experimental.noalias.scope.decl(metadata !4523) tail call void @llvm.experimental.noalias.scope.decl(metadata !4526) + call void @llvm.assume(i1 true) [ "align"(ptr %3, i64 8) ] %6 = getelementptr inbounds nuw i8, ptr %3, i64 32 %7 = load ptr, ptr %6, align 8, !noalias !4529, !nonnull !7, !noundef !7 %8 = getelementptr inbounds nuw i8, ptr %0, i64 120 @@ -24282,6 +24296,7 @@ define hidden void @"_ZN4core3ptr3930drop_in_place$LT$tower..util..map_future..M tail call void @llvm.experimental.noalias.scope.decl(metadata !4740) tail call void @llvm.experimental.noalias.scope.decl(metadata !4743) tail call void @llvm.experimental.noalias.scope.decl(metadata !4746) + call void @llvm.assume(i1 true) [ "align"(ptr %45, i64 8) ] %48 = getelementptr inbounds nuw i8, ptr %45, i64 32 %49 = load ptr, ptr %48, align 8, !noalias !4749, !nonnull !7, !noundef !7 %50 = getelementptr inbounds nuw i8, ptr %0, i64 488 @@ -24304,6 +24319,7 @@ define hidden void @"_ZN4core3ptr3930drop_in_place$LT$tower..util..map_future..M tail call void @llvm.experimental.noalias.scope.decl(metadata !4758) tail call void @llvm.experimental.noalias.scope.decl(metadata !4761) tail call void @llvm.experimental.noalias.scope.decl(metadata !4764) + call void @llvm.assume(i1 true) [ "align"(ptr %56, i64 8) ] %59 = getelementptr inbounds nuw i8, ptr %56, i64 32 %60 = load ptr, ptr %59, align 8, !noalias !4767, !nonnull !7, !noundef !7 %61 = getelementptr inbounds nuw i8, ptr %0, i64 488 @@ -25261,6 +25277,7 @@ define hidden void @"_ZN4core3ptr4242drop_in_place$LT$tower..util..map_future..M tail call void @llvm.experimental.noalias.scope.decl(metadata !4945) tail call void @llvm.experimental.noalias.scope.decl(metadata !4948) tail call void @llvm.experimental.noalias.scope.decl(metadata !4951) + call void @llvm.assume(i1 true) [ "align"(ptr %45, i64 8) ] %48 = getelementptr inbounds nuw i8, ptr %45, i64 32 %49 = load ptr, ptr %48, align 8, !noalias !4954, !nonnull !7, !noundef !7 %50 = getelementptr inbounds nuw i8, ptr %0, i64 536 @@ -25283,6 +25300,7 @@ define hidden void @"_ZN4core3ptr4242drop_in_place$LT$tower..util..map_future..M tail call void @llvm.experimental.noalias.scope.decl(metadata !4963) tail call void @llvm.experimental.noalias.scope.decl(metadata !4966) tail call void @llvm.experimental.noalias.scope.decl(metadata !4969) + call void @llvm.assume(i1 true) [ "align"(ptr %56, i64 8) ] %59 = getelementptr inbounds nuw i8, ptr %56, i64 32 %60 = load ptr, ptr %59, align 8, !noalias !4972, !nonnull !7, !noundef !7 %61 = getelementptr inbounds nuw i8, ptr %0, i64 536 @@ -26874,6 +26892,7 @@ default.unreachable: ; preds = %1 29: ; preds = %25 tail call void @llvm.experimental.noalias.scope.decl(metadata !5321) tail call void @llvm.experimental.noalias.scope.decl(metadata !5324) + call void @llvm.assume(i1 true) [ "align"(ptr %27, i64 8) ] %30 = getelementptr inbounds nuw i8, ptr %27, i64 32 %31 = load ptr, ptr %30, align 8, !noalias !5327, !nonnull !7, !noundef !7 %32 = getelementptr inbounds nuw i8, ptr %0, i64 32 @@ -27816,6 +27835,7 @@ define internal fastcc void @"_ZN4core3ptr46drop_in_place$LT$h2..hpack..header.. tail call void @llvm.experimental.noalias.scope.decl(metadata !5544) tail call void @llvm.experimental.noalias.scope.decl(metadata !5547) tail call void @llvm.experimental.noalias.scope.decl(metadata !5550) + call void @llvm.assume(i1 true) [ "align"(ptr %9, i64 8) ] %12 = getelementptr inbounds nuw i8, ptr %9, i64 32 %13 = load ptr, ptr %12, align 8, !noalias !5553, !nonnull !7, !noundef !7 %14 = getelementptr inbounds nuw i8, ptr %0, i64 24 @@ -28160,6 +28180,7 @@ define hidden void @"_ZN4core3ptr46drop_in_place$LT$hyper..upgrade..OnUpgrade$GT 22: ; preds = %18 tail call void @llvm.experimental.noalias.scope.decl(metadata !5691) tail call void @llvm.experimental.noalias.scope.decl(metadata !5694) + call void @llvm.assume(i1 true) [ "align"(ptr %20, i64 8) ] %23 = getelementptr inbounds nuw i8, ptr %20, i64 32 %24 = load ptr, ptr %23, align 8, !noalias !5697, !nonnull !7, !noundef !7 %25 = getelementptr inbounds nuw i8, ptr %2, i64 48 @@ -29011,6 +29032,7 @@ define internal fastcc void @"_ZN4core3ptr47drop_in_place$LT$h2..frame..headers. tail call void @llvm.experimental.noalias.scope.decl(metadata !5886) tail call void @llvm.experimental.noalias.scope.decl(metadata !5889) tail call void @llvm.experimental.noalias.scope.decl(metadata !5892) + call void @llvm.assume(i1 true) [ "align"(ptr %10, i64 8) ] %13 = getelementptr inbounds nuw i8, ptr %10, i64 32 %14 = load ptr, ptr %13, align 8, !noalias !5895, !nonnull !7, !noundef !7 %15 = getelementptr inbounds nuw i8, ptr %0, i64 48 @@ -29025,6 +29047,7 @@ define internal fastcc void @"_ZN4core3ptr47drop_in_place$LT$h2..frame..headers. tail call void @llvm.experimental.noalias.scope.decl(metadata !5896) tail call void @llvm.experimental.noalias.scope.decl(metadata !5899) tail call void @llvm.experimental.noalias.scope.decl(metadata !5902) + call void @llvm.assume(i1 true) [ "align"(ptr %31, i64 8) ] %21 = getelementptr inbounds nuw i8, ptr %31, i64 32 %22 = load ptr, ptr %21, align 8, !noalias !5905, !nonnull !7, !noundef !7 %23 = getelementptr inbounds nuw i8, ptr %0, i64 80 @@ -29055,6 +29078,7 @@ define internal fastcc void @"_ZN4core3ptr47drop_in_place$LT$h2..frame..headers. tail call void @llvm.experimental.noalias.scope.decl(metadata !5912) tail call void @llvm.experimental.noalias.scope.decl(metadata !5915) tail call void @llvm.experimental.noalias.scope.decl(metadata !5918) + call void @llvm.assume(i1 true) [ "align"(ptr %34, i64 8) ] %37 = getelementptr inbounds nuw i8, ptr %34, i64 32 %38 = load ptr, ptr %37, align 8, !noalias !5921, !nonnull !7, !noundef !7 %39 = getelementptr inbounds nuw i8, ptr %0, i64 80 @@ -29077,6 +29101,7 @@ define internal fastcc void @"_ZN4core3ptr47drop_in_place$LT$h2..frame..headers. tail call void @llvm.experimental.noalias.scope.decl(metadata !5925) tail call void @llvm.experimental.noalias.scope.decl(metadata !5928) tail call void @llvm.experimental.noalias.scope.decl(metadata !5931) + call void @llvm.assume(i1 true) [ "align"(ptr %45, i64 8) ] %48 = getelementptr inbounds nuw i8, ptr %45, i64 32 %49 = load ptr, ptr %48, align 8, !noalias !5934, !nonnull !7, !noundef !7 %50 = getelementptr inbounds nuw i8, ptr %0, i64 112 @@ -29103,6 +29128,7 @@ define internal fastcc void @"_ZN4core3ptr47drop_in_place$LT$h2..frame..headers. tail call void @llvm.experimental.noalias.scope.decl(metadata !5938) tail call void @llvm.experimental.noalias.scope.decl(metadata !5941) tail call void @llvm.experimental.noalias.scope.decl(metadata !5944) + call void @llvm.assume(i1 true) [ "align"(ptr %58, i64 8) ] %61 = getelementptr inbounds nuw i8, ptr %58, i64 32 %62 = load ptr, ptr %61, align 8, !noalias !5947, !nonnull !7, !noundef !7 %63 = getelementptr inbounds nuw i8, ptr %0, i64 112 @@ -29126,6 +29152,7 @@ define internal fastcc void @"_ZN4core3ptr47drop_in_place$LT$h2..frame..headers. tail call void @llvm.experimental.noalias.scope.decl(metadata !5954) tail call void @llvm.experimental.noalias.scope.decl(metadata !5957) tail call void @llvm.experimental.noalias.scope.decl(metadata !5960) + call void @llvm.assume(i1 true) [ "align"(ptr %69, i64 8) ] %72 = getelementptr inbounds nuw i8, ptr %69, i64 32 %73 = load ptr, ptr %72, align 8, !noalias !5963, !nonnull !7, !noundef !7 %74 = getelementptr inbounds nuw i8, ptr %0, i64 144 @@ -29153,6 +29180,7 @@ define internal fastcc void @"_ZN4core3ptr47drop_in_place$LT$h2..frame..headers. tail call void @llvm.experimental.noalias.scope.decl(metadata !5970) tail call void @llvm.experimental.noalias.scope.decl(metadata !5973) tail call void @llvm.experimental.noalias.scope.decl(metadata !5976) + call void @llvm.assume(i1 true) [ "align"(ptr %82, i64 8) ] %85 = getelementptr inbounds nuw i8, ptr %82, i64 32 %86 = load ptr, ptr %85, align 8, !noalias !5979, !nonnull !7, !noundef !7 %87 = getelementptr inbounds nuw i8, ptr %0, i64 144 @@ -29187,6 +29215,7 @@ define hidden void @"_ZN4core3ptr47drop_in_place$LT$h2..proto..go_away..GoAway$G tail call void @llvm.experimental.noalias.scope.decl(metadata !5983) tail call void @llvm.experimental.noalias.scope.decl(metadata !5986) tail call void @llvm.experimental.noalias.scope.decl(metadata !5989) + call void @llvm.assume(i1 true) [ "align"(ptr %2, i64 8) ] %5 = getelementptr inbounds nuw i8, ptr %2, i64 32 %6 = load ptr, ptr %5, align 8, !noalias !5992, !nonnull !7, !noundef !7 %7 = getelementptr inbounds nuw i8, ptr %0, i64 24 @@ -31006,6 +31035,7 @@ define hidden void @"_ZN4core3ptr51drop_in_place$LT$http..header..name..HeaderNa tail call void @llvm.experimental.noalias.scope.decl(metadata !6366) tail call void @llvm.experimental.noalias.scope.decl(metadata !6369) tail call void @llvm.experimental.noalias.scope.decl(metadata !6372) + call void @llvm.assume(i1 true) [ "align"(ptr %2, i64 8) ] %5 = getelementptr inbounds nuw i8, ptr %2, i64 32 %6 = load ptr, ptr %5, align 8, !noalias !6375, !nonnull !7, !noundef !7 %7 = getelementptr inbounds nuw i8, ptr %0, i64 24 @@ -44736,6 +44766,7 @@ define hidden void @"_ZN4core3ptr86drop_in_place$LT$http..header..map..Bucket$LT tail call void @llvm.experimental.noalias.scope.decl(metadata !9045) tail call void @llvm.experimental.noalias.scope.decl(metadata !9048) tail call void @llvm.experimental.noalias.scope.decl(metadata !9051) + call void @llvm.assume(i1 true) [ "align"(ptr %3, i64 8) ] %6 = getelementptr inbounds nuw i8, ptr %3, i64 32 %7 = load ptr, ptr %6, align 8, !noalias !9054, !nonnull !7, !noundef !7 %8 = getelementptr inbounds nuw i8, ptr %0, i64 88 @@ -45668,6 +45699,7 @@ define hidden void @"_ZN4core3ptr91drop_in_place$LT$http..header..map..VacantEnt tail call void @llvm.experimental.noalias.scope.decl(metadata !9271) tail call void @llvm.experimental.noalias.scope.decl(metadata !9274) tail call void @llvm.experimental.noalias.scope.decl(metadata !9277) + call void @llvm.assume(i1 true) [ "align"(ptr %3, i64 8) ] %6 = getelementptr inbounds nuw i8, ptr %3, i64 32 %7 = load ptr, ptr %6, align 8, !noalias !9280, !nonnull !7, !noundef !7 %8 = getelementptr inbounds nuw i8, ptr %0, i64 32 diff --git a/bench/foundations-rs/optimized/b0xh3itut9mfgawhehftenjye.ll b/bench/foundations-rs/optimized/b0xh3itut9mfgawhehftenjye.ll index 6e5e27fdda4..3added605a5 100644 --- a/bench/foundations-rs/optimized/b0xh3itut9mfgawhehftenjye.ll +++ b/bench/foundations-rs/optimized/b0xh3itut9mfgawhehftenjye.ll @@ -658,6 +658,7 @@ common.resume: ; preds = %109, %58, %84, %93, to label %common.resume unwind label %137 111: ; preds = %85, %34 + call void @llvm.assume(i1 true) [ "align"(ptr %.sroa.3.0.copyload.i, i64 8) ] call void @llvm.lifetime.end.p0(ptr nonnull %11), !noalias !8 call void @llvm.lifetime.end.p0(ptr nonnull %23), !noalias !8 call void @llvm.lifetime.end.p0(ptr nonnull %20) @@ -8392,6 +8393,7 @@ default.unreachable415: ; preds = %212, %.critedge 256: ; preds = %238 %257 = load i8, ptr %.sroa.321.0.copyload.i.i, align 1, !noalias !449, !noundef !4 + call void @llvm.assume(i1 true) [ "align"(ptr %.sroa.019.0.copyload.i.i, i64 8) ] %258 = getelementptr inbounds nuw i8, ptr %.sroa.019.0.copyload.i.i, i64 32 %259 = load ptr, ptr %258, align 8, !noalias !466, !nonnull !4, !noundef !4 invoke void %259(ptr noalias noundef nonnull align 8 dereferenceable(8) %169, ptr noundef nonnull %.sroa.321.0.copyload.i.i, i64 noundef %239) @@ -8618,6 +8620,7 @@ default.unreachable415: ; preds = %212, %.critedge 339: ; preds = %321 %340 = load i8, ptr %.sroa.321.0.copyload.i5.i, align 1, !noalias !481, !noundef !4 + call void @llvm.assume(i1 true) [ "align"(ptr %.sroa.019.0.copyload.i3.i, i64 8) ] %341 = getelementptr inbounds nuw i8, ptr %.sroa.019.0.copyload.i3.i, i64 32 %342 = load ptr, ptr %341, align 8, !noalias !498, !nonnull !4, !noundef !4 invoke void %342(ptr noalias noundef nonnull align 8 dereferenceable(8) %163, ptr noundef nonnull %.sroa.321.0.copyload.i5.i, i64 noundef %322) @@ -8838,6 +8841,7 @@ default.unreachable415: ; preds = %212, %.critedge 420: ; preds = %402 %421 = load i8, ptr %.sroa.315.0.copyload.i.i, align 1, !noalias !511, !noundef !4 + call void @llvm.assume(i1 true) [ "align"(ptr %.sroa.013.0.copyload.i.i, i64 8) ] %422 = getelementptr inbounds nuw i8, ptr %.sroa.013.0.copyload.i.i, i64 32 %423 = load ptr, ptr %422, align 8, !noalias !528, !nonnull !4, !noundef !4 invoke void %423(ptr noalias noundef nonnull align 8 dereferenceable(8) %157, ptr noundef nonnull %.sroa.315.0.copyload.i.i, i64 noundef %403) @@ -9010,6 +9014,7 @@ default.unreachable415: ; preds = %212, %.critedge 470: ; preds = %452 %471 = load i8, ptr %.sroa.319.0.copyload.i.i, align 1, !noalias !541, !noundef !4 + call void @llvm.assume(i1 true) [ "align"(ptr %.sroa.017.0.copyload.i.i, i64 8) ] %472 = getelementptr inbounds nuw i8, ptr %.sroa.017.0.copyload.i.i, i64 32 %473 = load ptr, ptr %472, align 8, !noalias !558, !nonnull !4, !noundef !4 invoke void %473(ptr noalias noundef nonnull align 8 dereferenceable(8) %151, ptr noundef nonnull %.sroa.319.0.copyload.i.i, i64 noundef %453) @@ -9193,6 +9198,7 @@ default.unreachable415: ; preds = %212, %.critedge 525: ; preds = %507 %526 = load i8, ptr %.sroa.319.0.copyload.i47.i, align 1, !noalias !573, !noundef !4 + call void @llvm.assume(i1 true) [ "align"(ptr %.sroa.017.0.copyload.i45.i, i64 8) ] %527 = getelementptr inbounds nuw i8, ptr %.sroa.017.0.copyload.i45.i, i64 32 %528 = load ptr, ptr %527, align 8, !noalias !590, !nonnull !4, !noundef !4 invoke void %528(ptr noalias noundef nonnull align 8 dereferenceable(8) %139, ptr noundef nonnull %.sroa.319.0.copyload.i47.i, i64 noundef %508) @@ -9444,6 +9450,7 @@ _ZN5hyper5proto2h16decode12ChunkedState12read_size_lf17h15bdb1165744bb79E.exit.i 591: ; preds = %588 call void @llvm.experimental.noalias.scope.decl(metadata !610) call void @llvm.experimental.noalias.scope.decl(metadata !613) + call void @llvm.assume(i1 true) [ "align"(ptr %589, i64 8) ] %592 = getelementptr inbounds nuw i8, ptr %589, i64 32 %593 = load ptr, ptr %592, align 8, !noalias !616, !nonnull !4, !noundef !4 %594 = load ptr, ptr %131, align 8, !alias.scope !617, !noalias !609, !noundef !4 @@ -9570,6 +9577,7 @@ _ZN5hyper5proto2h16decode12ChunkedState9read_body17h0dbfe58720df1e93E.exit.i: ; 638: ; preds = %620 %639 = load i8, ptr %.sroa.3.0.copyload.i.i, align 1, !noalias !634, !noundef !4 + call void @llvm.assume(i1 true) [ "align"(ptr %.sroa.05.0.copyload.i.i, i64 8) ] %640 = getelementptr inbounds nuw i8, ptr %.sroa.05.0.copyload.i.i, i64 32 %641 = load ptr, ptr %640, align 8, !noalias !651, !nonnull !4, !noundef !4 invoke void %641(ptr noalias noundef nonnull align 8 dereferenceable(8) %124, ptr noundef nonnull %.sroa.3.0.copyload.i.i, i64 noundef %621) @@ -9659,6 +9667,7 @@ _ZN5hyper5proto2h16decode12ChunkedState9read_body17h0dbfe58720df1e93E.exit.i: ; 671: ; preds = %653 %672 = load i8, ptr %.sroa.3.0.copyload.i81.i, align 1, !noalias !661, !noundef !4 + call void @llvm.assume(i1 true) [ "align"(ptr %.sroa.05.0.copyload.i79.i, i64 8) ] %673 = getelementptr inbounds nuw i8, ptr %.sroa.05.0.copyload.i79.i, i64 32 %674 = load ptr, ptr %673, align 8, !noalias !678, !nonnull !4, !noundef !4 invoke void %674(ptr noalias noundef nonnull align 8 dereferenceable(8) %122, ptr noundef nonnull %.sroa.3.0.copyload.i81.i, i64 noundef %654) @@ -9814,6 +9823,7 @@ _ZN5hyper5proto2h16decode12ChunkedState9read_body17h0dbfe58720df1e93E.exit.i: ; 721: ; preds = %703 %722 = load i8, ptr %.sroa.315.0.copyload.i92.i, align 1, !noalias !689, !noundef !4 + call void @llvm.assume(i1 true) [ "align"(ptr %.sroa.013.0.copyload.i90.i, i64 8) ] %723 = getelementptr inbounds nuw i8, ptr %.sroa.013.0.copyload.i90.i, i64 32 %724 = load ptr, ptr %723, align 8, !noalias !706, !nonnull !4, !noundef !4 invoke void %724(ptr noalias noundef nonnull align 8 dereferenceable(8) %120, ptr noundef nonnull %.sroa.315.0.copyload.i92.i, i64 noundef %704) @@ -9904,6 +9914,7 @@ _ZN5hyper5proto2h16decode12ChunkedState9read_body17h0dbfe58720df1e93E.exit.i: ; 754: ; preds = %736 %755 = load i8, ptr %.sroa.3.0.copyload.i109.i, align 1, !noalias !716, !noundef !4 + call void @llvm.assume(i1 true) [ "align"(ptr %.sroa.05.0.copyload.i107.i, i64 8) ] %756 = getelementptr inbounds nuw i8, ptr %.sroa.05.0.copyload.i107.i, i64 32 %757 = load ptr, ptr %756, align 8, !noalias !733, !nonnull !4, !noundef !4 invoke void %757(ptr noalias noundef nonnull align 8 dereferenceable(8) %114, ptr noundef nonnull %.sroa.3.0.copyload.i109.i, i64 noundef %737) @@ -9993,6 +10004,7 @@ _ZN5hyper5proto2h16decode12ChunkedState9read_body17h0dbfe58720df1e93E.exit.i: ; 787: ; preds = %769 %788 = load i8, ptr %.sroa.3.0.copyload.i120.i, align 1, !noalias !743, !noundef !4 + call void @llvm.assume(i1 true) [ "align"(ptr %.sroa.05.0.copyload.i118.i, i64 8) ] %789 = getelementptr inbounds nuw i8, ptr %.sroa.05.0.copyload.i118.i, i64 32 %790 = load ptr, ptr %789, align 8, !noalias !760, !nonnull !4, !noundef !4 invoke void %790(ptr noalias noundef nonnull align 8 dereferenceable(8) %112, ptr noundef nonnull %.sroa.3.0.copyload.i120.i, i64 noundef %770) @@ -10083,6 +10095,7 @@ _ZN5hyper5proto2h16decode12ChunkedState9read_body17h0dbfe58720df1e93E.exit.i: ; 820: ; preds = %802 %821 = load i8, ptr %.sroa.3.0.copyload.i130.i, align 1, !noalias !770, !noundef !4 + call void @llvm.assume(i1 true) [ "align"(ptr %.sroa.05.0.copyload.i128.i, i64 8) ] %822 = getelementptr inbounds nuw i8, ptr %.sroa.05.0.copyload.i128.i, i64 32 %823 = load ptr, ptr %822, align 8, !noalias !787, !nonnull !4, !noundef !4 invoke void %823(ptr noalias noundef nonnull align 8 dereferenceable(8) %110, ptr noundef nonnull %.sroa.3.0.copyload.i130.i, i64 noundef %803) @@ -10125,6 +10138,7 @@ _ZN5hyper5proto2h16decode12ChunkedState9read_body17h0dbfe58720df1e93E.exit.i: ; 830: ; preds = %.body call void @llvm.experimental.noalias.scope.decl(metadata !795) call void @llvm.experimental.noalias.scope.decl(metadata !798) + call void @llvm.assume(i1 true) [ "align"(ptr %828, i64 8) ] %831 = getelementptr inbounds nuw i8, ptr %828, i64 32 %832 = load ptr, ptr %831, align 8, !noalias !801, !nonnull !4, !noundef !4 %833 = load ptr, ptr %131, align 8, !alias.scope !801, !noundef !4 @@ -10287,6 +10301,7 @@ _ZN5hyper5proto2h16decode12ChunkedState4step17h31123d7bdc5643d1E.exit.thread.thr 868: ; preds = %.loopexit281 call void @llvm.experimental.noalias.scope.decl(metadata !802) call void @llvm.experimental.noalias.scope.decl(metadata !805) + call void @llvm.assume(i1 true) [ "align"(ptr %864, i64 8) ] %869 = getelementptr inbounds nuw i8, ptr %864, i64 32 %870 = load ptr, ptr %869, align 8, !noalias !808, !nonnull !4, !noundef !4 %871 = load ptr, ptr %131, align 8, !alias.scope !808, !noundef !4 @@ -10964,6 +10979,7 @@ default.unreachable415: ; preds = %212, %.critedge 256: ; preds = %238 %257 = load i8, ptr %.sroa.321.0.copyload.i.i, align 1, !noalias !837, !noundef !4 + call void @llvm.assume(i1 true) [ "align"(ptr %.sroa.019.0.copyload.i.i, i64 8) ] %258 = getelementptr inbounds nuw i8, ptr %.sroa.019.0.copyload.i.i, i64 32 %259 = load ptr, ptr %258, align 8, !noalias !854, !nonnull !4, !noundef !4 invoke void %259(ptr noalias noundef nonnull align 8 dereferenceable(8) %169, ptr noundef nonnull %.sroa.321.0.copyload.i.i, i64 noundef %239) @@ -11190,6 +11206,7 @@ default.unreachable415: ; preds = %212, %.critedge 339: ; preds = %321 %340 = load i8, ptr %.sroa.321.0.copyload.i5.i, align 1, !noalias !869, !noundef !4 + call void @llvm.assume(i1 true) [ "align"(ptr %.sroa.019.0.copyload.i3.i, i64 8) ] %341 = getelementptr inbounds nuw i8, ptr %.sroa.019.0.copyload.i3.i, i64 32 %342 = load ptr, ptr %341, align 8, !noalias !886, !nonnull !4, !noundef !4 invoke void %342(ptr noalias noundef nonnull align 8 dereferenceable(8) %163, ptr noundef nonnull %.sroa.321.0.copyload.i5.i, i64 noundef %322) @@ -11410,6 +11427,7 @@ default.unreachable415: ; preds = %212, %.critedge 420: ; preds = %402 %421 = load i8, ptr %.sroa.315.0.copyload.i.i, align 1, !noalias !899, !noundef !4 + call void @llvm.assume(i1 true) [ "align"(ptr %.sroa.013.0.copyload.i.i, i64 8) ] %422 = getelementptr inbounds nuw i8, ptr %.sroa.013.0.copyload.i.i, i64 32 %423 = load ptr, ptr %422, align 8, !noalias !916, !nonnull !4, !noundef !4 invoke void %423(ptr noalias noundef nonnull align 8 dereferenceable(8) %157, ptr noundef nonnull %.sroa.315.0.copyload.i.i, i64 noundef %403) @@ -11582,6 +11600,7 @@ default.unreachable415: ; preds = %212, %.critedge 470: ; preds = %452 %471 = load i8, ptr %.sroa.319.0.copyload.i.i, align 1, !noalias !929, !noundef !4 + call void @llvm.assume(i1 true) [ "align"(ptr %.sroa.017.0.copyload.i.i, i64 8) ] %472 = getelementptr inbounds nuw i8, ptr %.sroa.017.0.copyload.i.i, i64 32 %473 = load ptr, ptr %472, align 8, !noalias !946, !nonnull !4, !noundef !4 invoke void %473(ptr noalias noundef nonnull align 8 dereferenceable(8) %151, ptr noundef nonnull %.sroa.319.0.copyload.i.i, i64 noundef %453) @@ -11765,6 +11784,7 @@ default.unreachable415: ; preds = %212, %.critedge 525: ; preds = %507 %526 = load i8, ptr %.sroa.319.0.copyload.i47.i, align 1, !noalias !961, !noundef !4 + call void @llvm.assume(i1 true) [ "align"(ptr %.sroa.017.0.copyload.i45.i, i64 8) ] %527 = getelementptr inbounds nuw i8, ptr %.sroa.017.0.copyload.i45.i, i64 32 %528 = load ptr, ptr %527, align 8, !noalias !978, !nonnull !4, !noundef !4 invoke void %528(ptr noalias noundef nonnull align 8 dereferenceable(8) %139, ptr noundef nonnull %.sroa.319.0.copyload.i47.i, i64 noundef %508) @@ -12016,6 +12036,7 @@ _ZN5hyper5proto2h16decode12ChunkedState12read_size_lf17h3961309733b5e173E.exit.i 591: ; preds = %588 call void @llvm.experimental.noalias.scope.decl(metadata !998) call void @llvm.experimental.noalias.scope.decl(metadata !1001) + call void @llvm.assume(i1 true) [ "align"(ptr %589, i64 8) ] %592 = getelementptr inbounds nuw i8, ptr %589, i64 32 %593 = load ptr, ptr %592, align 8, !noalias !1004, !nonnull !4, !noundef !4 %594 = load ptr, ptr %131, align 8, !alias.scope !1005, !noalias !997, !noundef !4 @@ -12142,6 +12163,7 @@ _ZN5hyper5proto2h16decode12ChunkedState9read_body17h995f6e31ca610656E.exit.i: ; 638: ; preds = %620 %639 = load i8, ptr %.sroa.3.0.copyload.i.i, align 1, !noalias !1022, !noundef !4 + call void @llvm.assume(i1 true) [ "align"(ptr %.sroa.05.0.copyload.i.i, i64 8) ] %640 = getelementptr inbounds nuw i8, ptr %.sroa.05.0.copyload.i.i, i64 32 %641 = load ptr, ptr %640, align 8, !noalias !1039, !nonnull !4, !noundef !4 invoke void %641(ptr noalias noundef nonnull align 8 dereferenceable(8) %124, ptr noundef nonnull %.sroa.3.0.copyload.i.i, i64 noundef %621) @@ -12231,6 +12253,7 @@ _ZN5hyper5proto2h16decode12ChunkedState9read_body17h995f6e31ca610656E.exit.i: ; 671: ; preds = %653 %672 = load i8, ptr %.sroa.3.0.copyload.i81.i, align 1, !noalias !1049, !noundef !4 + call void @llvm.assume(i1 true) [ "align"(ptr %.sroa.05.0.copyload.i79.i, i64 8) ] %673 = getelementptr inbounds nuw i8, ptr %.sroa.05.0.copyload.i79.i, i64 32 %674 = load ptr, ptr %673, align 8, !noalias !1066, !nonnull !4, !noundef !4 invoke void %674(ptr noalias noundef nonnull align 8 dereferenceable(8) %122, ptr noundef nonnull %.sroa.3.0.copyload.i81.i, i64 noundef %654) @@ -12386,6 +12409,7 @@ _ZN5hyper5proto2h16decode12ChunkedState9read_body17h995f6e31ca610656E.exit.i: ; 721: ; preds = %703 %722 = load i8, ptr %.sroa.315.0.copyload.i92.i, align 1, !noalias !1077, !noundef !4 + call void @llvm.assume(i1 true) [ "align"(ptr %.sroa.013.0.copyload.i90.i, i64 8) ] %723 = getelementptr inbounds nuw i8, ptr %.sroa.013.0.copyload.i90.i, i64 32 %724 = load ptr, ptr %723, align 8, !noalias !1094, !nonnull !4, !noundef !4 invoke void %724(ptr noalias noundef nonnull align 8 dereferenceable(8) %120, ptr noundef nonnull %.sroa.315.0.copyload.i92.i, i64 noundef %704) @@ -12476,6 +12500,7 @@ _ZN5hyper5proto2h16decode12ChunkedState9read_body17h995f6e31ca610656E.exit.i: ; 754: ; preds = %736 %755 = load i8, ptr %.sroa.3.0.copyload.i109.i, align 1, !noalias !1104, !noundef !4 + call void @llvm.assume(i1 true) [ "align"(ptr %.sroa.05.0.copyload.i107.i, i64 8) ] %756 = getelementptr inbounds nuw i8, ptr %.sroa.05.0.copyload.i107.i, i64 32 %757 = load ptr, ptr %756, align 8, !noalias !1121, !nonnull !4, !noundef !4 invoke void %757(ptr noalias noundef nonnull align 8 dereferenceable(8) %114, ptr noundef nonnull %.sroa.3.0.copyload.i109.i, i64 noundef %737) @@ -12565,6 +12590,7 @@ _ZN5hyper5proto2h16decode12ChunkedState9read_body17h995f6e31ca610656E.exit.i: ; 787: ; preds = %769 %788 = load i8, ptr %.sroa.3.0.copyload.i120.i, align 1, !noalias !1131, !noundef !4 + call void @llvm.assume(i1 true) [ "align"(ptr %.sroa.05.0.copyload.i118.i, i64 8) ] %789 = getelementptr inbounds nuw i8, ptr %.sroa.05.0.copyload.i118.i, i64 32 %790 = load ptr, ptr %789, align 8, !noalias !1148, !nonnull !4, !noundef !4 invoke void %790(ptr noalias noundef nonnull align 8 dereferenceable(8) %112, ptr noundef nonnull %.sroa.3.0.copyload.i120.i, i64 noundef %770) @@ -12655,6 +12681,7 @@ _ZN5hyper5proto2h16decode12ChunkedState9read_body17h995f6e31ca610656E.exit.i: ; 820: ; preds = %802 %821 = load i8, ptr %.sroa.3.0.copyload.i130.i, align 1, !noalias !1158, !noundef !4 + call void @llvm.assume(i1 true) [ "align"(ptr %.sroa.05.0.copyload.i128.i, i64 8) ] %822 = getelementptr inbounds nuw i8, ptr %.sroa.05.0.copyload.i128.i, i64 32 %823 = load ptr, ptr %822, align 8, !noalias !1175, !nonnull !4, !noundef !4 invoke void %823(ptr noalias noundef nonnull align 8 dereferenceable(8) %110, ptr noundef nonnull %.sroa.3.0.copyload.i130.i, i64 noundef %803) @@ -12697,6 +12724,7 @@ _ZN5hyper5proto2h16decode12ChunkedState9read_body17h995f6e31ca610656E.exit.i: ; 830: ; preds = %.body call void @llvm.experimental.noalias.scope.decl(metadata !1183) call void @llvm.experimental.noalias.scope.decl(metadata !1186) + call void @llvm.assume(i1 true) [ "align"(ptr %828, i64 8) ] %831 = getelementptr inbounds nuw i8, ptr %828, i64 32 %832 = load ptr, ptr %831, align 8, !noalias !1189, !nonnull !4, !noundef !4 %833 = load ptr, ptr %131, align 8, !alias.scope !1189, !noundef !4 @@ -12859,6 +12887,7 @@ _ZN5hyper5proto2h16decode12ChunkedState4step17h593eb4b881ff801dE.exit.thread.thr 868: ; preds = %.loopexit281 call void @llvm.experimental.noalias.scope.decl(metadata !1190) call void @llvm.experimental.noalias.scope.decl(metadata !1193) + call void @llvm.assume(i1 true) [ "align"(ptr %864, i64 8) ] %869 = getelementptr inbounds nuw i8, ptr %864, i64 32 %870 = load ptr, ptr %869, align 8, !noalias !1196, !nonnull !4, !noundef !4 %871 = load ptr, ptr %131, align 8, !alias.scope !1196, !noundef !4 @@ -13536,6 +13565,7 @@ default.unreachable415: ; preds = %212, %.critedge 256: ; preds = %238 %257 = load i8, ptr %.sroa.321.0.copyload.i.i, align 1, !noalias !1225, !noundef !4 + call void @llvm.assume(i1 true) [ "align"(ptr %.sroa.019.0.copyload.i.i, i64 8) ] %258 = getelementptr inbounds nuw i8, ptr %.sroa.019.0.copyload.i.i, i64 32 %259 = load ptr, ptr %258, align 8, !noalias !1242, !nonnull !4, !noundef !4 invoke void %259(ptr noalias noundef nonnull align 8 dereferenceable(8) %169, ptr noundef nonnull %.sroa.321.0.copyload.i.i, i64 noundef %239) @@ -13762,6 +13792,7 @@ default.unreachable415: ; preds = %212, %.critedge 339: ; preds = %321 %340 = load i8, ptr %.sroa.321.0.copyload.i5.i, align 1, !noalias !1257, !noundef !4 + call void @llvm.assume(i1 true) [ "align"(ptr %.sroa.019.0.copyload.i3.i, i64 8) ] %341 = getelementptr inbounds nuw i8, ptr %.sroa.019.0.copyload.i3.i, i64 32 %342 = load ptr, ptr %341, align 8, !noalias !1274, !nonnull !4, !noundef !4 invoke void %342(ptr noalias noundef nonnull align 8 dereferenceable(8) %163, ptr noundef nonnull %.sroa.321.0.copyload.i5.i, i64 noundef %322) @@ -13982,6 +14013,7 @@ default.unreachable415: ; preds = %212, %.critedge 420: ; preds = %402 %421 = load i8, ptr %.sroa.315.0.copyload.i.i, align 1, !noalias !1287, !noundef !4 + call void @llvm.assume(i1 true) [ "align"(ptr %.sroa.013.0.copyload.i.i, i64 8) ] %422 = getelementptr inbounds nuw i8, ptr %.sroa.013.0.copyload.i.i, i64 32 %423 = load ptr, ptr %422, align 8, !noalias !1304, !nonnull !4, !noundef !4 invoke void %423(ptr noalias noundef nonnull align 8 dereferenceable(8) %157, ptr noundef nonnull %.sroa.315.0.copyload.i.i, i64 noundef %403) @@ -14154,6 +14186,7 @@ default.unreachable415: ; preds = %212, %.critedge 470: ; preds = %452 %471 = load i8, ptr %.sroa.319.0.copyload.i.i, align 1, !noalias !1317, !noundef !4 + call void @llvm.assume(i1 true) [ "align"(ptr %.sroa.017.0.copyload.i.i, i64 8) ] %472 = getelementptr inbounds nuw i8, ptr %.sroa.017.0.copyload.i.i, i64 32 %473 = load ptr, ptr %472, align 8, !noalias !1334, !nonnull !4, !noundef !4 invoke void %473(ptr noalias noundef nonnull align 8 dereferenceable(8) %151, ptr noundef nonnull %.sroa.319.0.copyload.i.i, i64 noundef %453) @@ -14337,6 +14370,7 @@ default.unreachable415: ; preds = %212, %.critedge 525: ; preds = %507 %526 = load i8, ptr %.sroa.319.0.copyload.i47.i, align 1, !noalias !1349, !noundef !4 + call void @llvm.assume(i1 true) [ "align"(ptr %.sroa.017.0.copyload.i45.i, i64 8) ] %527 = getelementptr inbounds nuw i8, ptr %.sroa.017.0.copyload.i45.i, i64 32 %528 = load ptr, ptr %527, align 8, !noalias !1366, !nonnull !4, !noundef !4 invoke void %528(ptr noalias noundef nonnull align 8 dereferenceable(8) %139, ptr noundef nonnull %.sroa.319.0.copyload.i47.i, i64 noundef %508) @@ -14588,6 +14622,7 @@ _ZN5hyper5proto2h16decode12ChunkedState12read_size_lf17h5f4214fea6cf86a9E.exit.i 591: ; preds = %588 call void @llvm.experimental.noalias.scope.decl(metadata !1386) call void @llvm.experimental.noalias.scope.decl(metadata !1389) + call void @llvm.assume(i1 true) [ "align"(ptr %589, i64 8) ] %592 = getelementptr inbounds nuw i8, ptr %589, i64 32 %593 = load ptr, ptr %592, align 8, !noalias !1392, !nonnull !4, !noundef !4 %594 = load ptr, ptr %131, align 8, !alias.scope !1393, !noalias !1385, !noundef !4 @@ -14714,6 +14749,7 @@ _ZN5hyper5proto2h16decode12ChunkedState9read_body17hfce039664d9df9a2E.exit.i: ; 638: ; preds = %620 %639 = load i8, ptr %.sroa.3.0.copyload.i.i, align 1, !noalias !1410, !noundef !4 + call void @llvm.assume(i1 true) [ "align"(ptr %.sroa.05.0.copyload.i.i, i64 8) ] %640 = getelementptr inbounds nuw i8, ptr %.sroa.05.0.copyload.i.i, i64 32 %641 = load ptr, ptr %640, align 8, !noalias !1427, !nonnull !4, !noundef !4 invoke void %641(ptr noalias noundef nonnull align 8 dereferenceable(8) %124, ptr noundef nonnull %.sroa.3.0.copyload.i.i, i64 noundef %621) @@ -14803,6 +14839,7 @@ _ZN5hyper5proto2h16decode12ChunkedState9read_body17hfce039664d9df9a2E.exit.i: ; 671: ; preds = %653 %672 = load i8, ptr %.sroa.3.0.copyload.i81.i, align 1, !noalias !1437, !noundef !4 + call void @llvm.assume(i1 true) [ "align"(ptr %.sroa.05.0.copyload.i79.i, i64 8) ] %673 = getelementptr inbounds nuw i8, ptr %.sroa.05.0.copyload.i79.i, i64 32 %674 = load ptr, ptr %673, align 8, !noalias !1454, !nonnull !4, !noundef !4 invoke void %674(ptr noalias noundef nonnull align 8 dereferenceable(8) %122, ptr noundef nonnull %.sroa.3.0.copyload.i81.i, i64 noundef %654) @@ -14958,6 +14995,7 @@ _ZN5hyper5proto2h16decode12ChunkedState9read_body17hfce039664d9df9a2E.exit.i: ; 721: ; preds = %703 %722 = load i8, ptr %.sroa.315.0.copyload.i92.i, align 1, !noalias !1465, !noundef !4 + call void @llvm.assume(i1 true) [ "align"(ptr %.sroa.013.0.copyload.i90.i, i64 8) ] %723 = getelementptr inbounds nuw i8, ptr %.sroa.013.0.copyload.i90.i, i64 32 %724 = load ptr, ptr %723, align 8, !noalias !1482, !nonnull !4, !noundef !4 invoke void %724(ptr noalias noundef nonnull align 8 dereferenceable(8) %120, ptr noundef nonnull %.sroa.315.0.copyload.i92.i, i64 noundef %704) @@ -15048,6 +15086,7 @@ _ZN5hyper5proto2h16decode12ChunkedState9read_body17hfce039664d9df9a2E.exit.i: ; 754: ; preds = %736 %755 = load i8, ptr %.sroa.3.0.copyload.i109.i, align 1, !noalias !1492, !noundef !4 + call void @llvm.assume(i1 true) [ "align"(ptr %.sroa.05.0.copyload.i107.i, i64 8) ] %756 = getelementptr inbounds nuw i8, ptr %.sroa.05.0.copyload.i107.i, i64 32 %757 = load ptr, ptr %756, align 8, !noalias !1509, !nonnull !4, !noundef !4 invoke void %757(ptr noalias noundef nonnull align 8 dereferenceable(8) %114, ptr noundef nonnull %.sroa.3.0.copyload.i109.i, i64 noundef %737) @@ -15137,6 +15176,7 @@ _ZN5hyper5proto2h16decode12ChunkedState9read_body17hfce039664d9df9a2E.exit.i: ; 787: ; preds = %769 %788 = load i8, ptr %.sroa.3.0.copyload.i120.i, align 1, !noalias !1519, !noundef !4 + call void @llvm.assume(i1 true) [ "align"(ptr %.sroa.05.0.copyload.i118.i, i64 8) ] %789 = getelementptr inbounds nuw i8, ptr %.sroa.05.0.copyload.i118.i, i64 32 %790 = load ptr, ptr %789, align 8, !noalias !1536, !nonnull !4, !noundef !4 invoke void %790(ptr noalias noundef nonnull align 8 dereferenceable(8) %112, ptr noundef nonnull %.sroa.3.0.copyload.i120.i, i64 noundef %770) @@ -15227,6 +15267,7 @@ _ZN5hyper5proto2h16decode12ChunkedState9read_body17hfce039664d9df9a2E.exit.i: ; 820: ; preds = %802 %821 = load i8, ptr %.sroa.3.0.copyload.i130.i, align 1, !noalias !1546, !noundef !4 + call void @llvm.assume(i1 true) [ "align"(ptr %.sroa.05.0.copyload.i128.i, i64 8) ] %822 = getelementptr inbounds nuw i8, ptr %.sroa.05.0.copyload.i128.i, i64 32 %823 = load ptr, ptr %822, align 8, !noalias !1563, !nonnull !4, !noundef !4 invoke void %823(ptr noalias noundef nonnull align 8 dereferenceable(8) %110, ptr noundef nonnull %.sroa.3.0.copyload.i130.i, i64 noundef %803) @@ -15269,6 +15310,7 @@ _ZN5hyper5proto2h16decode12ChunkedState9read_body17hfce039664d9df9a2E.exit.i: ; 830: ; preds = %.body call void @llvm.experimental.noalias.scope.decl(metadata !1571) call void @llvm.experimental.noalias.scope.decl(metadata !1574) + call void @llvm.assume(i1 true) [ "align"(ptr %828, i64 8) ] %831 = getelementptr inbounds nuw i8, ptr %828, i64 32 %832 = load ptr, ptr %831, align 8, !noalias !1577, !nonnull !4, !noundef !4 %833 = load ptr, ptr %131, align 8, !alias.scope !1577, !noundef !4 @@ -15431,6 +15473,7 @@ _ZN5hyper5proto2h16decode12ChunkedState4step17ha85849e3445bc03eE.exit.thread.thr 868: ; preds = %.loopexit281 call void @llvm.experimental.noalias.scope.decl(metadata !1578) call void @llvm.experimental.noalias.scope.decl(metadata !1581) + call void @llvm.assume(i1 true) [ "align"(ptr %864, i64 8) ] %869 = getelementptr inbounds nuw i8, ptr %864, i64 32 %870 = load ptr, ptr %869, align 8, !noalias !1584, !nonnull !4, !noundef !4 %871 = load ptr, ptr %131, align 8, !alias.scope !1584, !noundef !4 @@ -15864,6 +15907,7 @@ define hidden noundef ptr @_ZN5tokio7runtime2io6driver6Handle17deregister_source 13: ; preds = %7, %11 store ptr %8, ptr %4, align 8 + call void @llvm.assume(i1 true) [ "align"(ptr %8, i64 8) ] %14 = getelementptr inbounds nuw i8, ptr %0, i64 16 %15 = invoke noundef zeroext i1 @_ZN5tokio7runtime2io16registration_set15RegistrationSet10deregister17h6e7dab1f6da4b4fcE(ptr noundef nonnull align 8 %0, ptr noalias noundef nonnull align 8 dereferenceable(48) %14, ptr noalias noundef nonnull readonly align 8 dereferenceable(8) %1) to label %18 unwind label %16 @@ -15917,6 +15961,7 @@ define hidden noundef ptr @_ZN5tokio7runtime2io6driver6Handle17deregister_source 13: ; preds = %7, %11 store ptr %8, ptr %4, align 8 + call void @llvm.assume(i1 true) [ "align"(ptr %8, i64 8) ] %14 = getelementptr inbounds nuw i8, ptr %0, i64 16 %15 = invoke noundef zeroext i1 @_ZN5tokio7runtime2io16registration_set15RegistrationSet10deregister17h6e7dab1f6da4b4fcE(ptr noundef nonnull align 8 %0, ptr noalias noundef nonnull align 8 dereferenceable(48) %14, ptr noalias noundef nonnull readonly align 8 dereferenceable(8) %1) to label %18 unwind label %16 @@ -15970,6 +16015,7 @@ define hidden noundef ptr @_ZN5tokio7runtime2io6driver6Handle17deregister_source 13: ; preds = %7, %11 store ptr %8, ptr %4, align 8 + call void @llvm.assume(i1 true) [ "align"(ptr %8, i64 8) ] %14 = getelementptr inbounds nuw i8, ptr %0, i64 16 %15 = invoke noundef zeroext i1 @_ZN5tokio7runtime2io16registration_set15RegistrationSet10deregister17h6e7dab1f6da4b4fcE(ptr noundef nonnull align 8 %0, ptr noalias noundef nonnull align 8 dereferenceable(48) %14, ptr noalias noundef nonnull readonly align 8 dereferenceable(8) %1) to label %18 unwind label %16 diff --git a/bench/foundations-rs/optimized/dn9au2q3g3wlvvn47oahet6lo.ll b/bench/foundations-rs/optimized/dn9au2q3g3wlvvn47oahet6lo.ll index 833130a33fd..2430497d935 100644 --- a/bench/foundations-rs/optimized/dn9au2q3g3wlvvn47oahet6lo.ll +++ b/bench/foundations-rs/optimized/dn9au2q3g3wlvvn47oahet6lo.ll @@ -2982,12 +2982,14 @@ define hidden noundef ptr @_ZN17tikv_jemalloc_ctl11stats_print11stats_print17he4 ; Function Attrs: nounwind nonlazybind uwtable define internal void @_ZN17tikv_jemalloc_ctl11stats_print8callback17h839c6a6807fe774aE(ptr noundef captures(none) %0, ptr noundef %1) unnamed_addr #2 personality ptr @rust_eh_personality { + call void @llvm.assume(i1 true) [ "align"(ptr %0, i64 8) ] %3 = getelementptr inbounds nuw i8, ptr %0, i64 8 %4 = load ptr, ptr %3, align 8, !noundef !4 %.not = icmp eq ptr %4, null br i1 %.not, label %5, label %44 5: ; preds = %2 + call void @llvm.assume(i1 true) [ "align"(ptr %0, i64 8) ] %6 = getelementptr inbounds nuw i8, ptr %0, i64 16 %7 = load ptr, ptr %6, align 8, !align !49, !noundef !4 %.not11 = icmp eq ptr %7, null diff --git a/bench/image-rs/optimized/2s4mh02dvph60euq.ll b/bench/image-rs/optimized/2s4mh02dvph60euq.ll index d91b5023fed..80672c8832e 100644 --- a/bench/image-rs/optimized/2s4mh02dvph60euq.ll +++ b/bench/image-rs/optimized/2s4mh02dvph60euq.ll @@ -2369,27 +2369,29 @@ define hidden void @"_ZN4core6result19Result$LT$T$C$E$GT$7map_err17hbc8ac62f3ec4 %.sroa.4 = alloca [31 x i8], align 1 %6 = load ptr, ptr %1, align 8, !noundef !4 %7 = icmp eq ptr %6, null - %8 = getelementptr inbounds nuw i8, ptr %1, i64 8 - br i1 %7, label %13, label %9 + br i1 %7, label %13, label %8 -9: ; preds = %2 - %10 = load i64, ptr %8, align 8, !noundef !4 +8: ; preds = %2 + call void @llvm.assume(i1 true) [ "align"(ptr %6, i64 2) ] + %9 = getelementptr inbounds nuw i8, ptr %1, i64 8 + %10 = load i64, ptr %9, align 8, !noundef !4 %11 = getelementptr inbounds nuw i8, ptr %0, i64 8 store ptr %6, ptr %11, align 8 %12 = getelementptr inbounds nuw i8, ptr %0, i64 16 store i64 %10, ptr %12, align 8 - br label %16 + br label %17 13: ; preds = %2 - %14 = load i8, ptr %8, align 8, !range !259, !noundef !4 + %14 = getelementptr inbounds nuw i8, ptr %1, i64 8 + %15 = load i8, ptr %14, align 8, !range !259, !noundef !4 call void @llvm.lifetime.start.p0(ptr nonnull %.sroa.4) call void @llvm.lifetime.start.p0(ptr nonnull %5) - store i8 %14, ptr %5, align 1, !noalias !341 + store i8 %15, ptr %5, align 1, !noalias !341 call void @llvm.lifetime.start.p0(ptr nonnull %.sroa.0.i), !noalias !341 call void @llvm.lifetime.start.p0(ptr nonnull %4), !noalias !341 store ptr %5, ptr %4, align 8, !noalias !341 - %15 = getelementptr inbounds nuw i8, ptr %4, i64 8 - store ptr @"_ZN59_$LT$bytemuck..PodCastError$u20$as$u20$core..fmt..Debug$GT$3fmt17hfcae4b594a92e218E.llvm.3890463254259644073", ptr %15, align 8, !noalias !341 + %16 = getelementptr inbounds nuw i8, ptr %4, i64 8 + store ptr @"_ZN59_$LT$bytemuck..PodCastError$u20$as$u20$core..fmt..Debug$GT$3fmt17hfcae4b594a92e218E.llvm.3890463254259644073", ptr %16, align 8, !noalias !341 call void @llvm.lifetime.start.p0(ptr nonnull %3), !noalias !344 store ptr @anon.df12dd7d62f56185f0383eceae1d36f2.328.llvm.3890463254259644073, ptr %3, align 8, !noalias !355 %.sroa.52.0..sroa_idx.i = getelementptr inbounds nuw i8, ptr %3, i64 8 @@ -2412,10 +2414,10 @@ define hidden void @"_ZN4core6result19Result$LT$T$C$E$GT$7map_err17hbc8ac62f3ec4 %.sroa.5.0..sroa_idx = getelementptr inbounds nuw i8, ptr %0, i64 32 store ptr null, ptr %.sroa.5.0..sroa_idx, align 8 call void @llvm.lifetime.end.p0(ptr nonnull %.sroa.4) - br label %16 + br label %17 -16: ; preds = %9, %13 - %.sink = phi i8 [ 6, %13 ], [ 10, %9 ] +17: ; preds = %8, %13 + %.sink = phi i8 [ 6, %13 ], [ 10, %8 ] store i8 %.sink, ptr %0, align 8 ret void } @@ -27605,6 +27607,7 @@ define void @_ZN5image6codecs4tiff15u8_slice_as_u1617h40d57f6b4153c465E(ptr noal 13: ; preds = %10 %14 = lshr exact i64 %2, 1 tail call void @llvm.experimental.noalias.scope.decl(metadata !4340) + call void @llvm.assume(i1 true) [ "align"(ptr %1, i64 2) ] %15 = getelementptr inbounds nuw i8, ptr %0, i64 8 store ptr %1, ptr %15, align 8, !alias.scope !4340, !noalias !4343 %16 = getelementptr inbounds nuw i8, ptr %0, i64 16 diff --git a/bench/image-rs/optimized/34r8dryqmufipcqz.ll b/bench/image-rs/optimized/34r8dryqmufipcqz.ll index e88d1f64998..9de69c90b8d 100644 --- a/bench/image-rs/optimized/34r8dryqmufipcqz.ll +++ b/bench/image-rs/optimized/34r8dryqmufipcqz.ll @@ -7229,6 +7229,7 @@ _ZN4half8binary164arch19f16_to_f32_fallback17hb49fc63c8adc336dE.exit.i.i.i.i208: %326 = add nsw i64 %.sroa.57.022.us.i.i.i.i200, -8 %327 = getelementptr inbounds nuw i8, ptr %.sroa.06.021.us.i.i.i.i201, i64 16 %328 = getelementptr inbounds nuw i8, ptr %325, i64 32 + call void @llvm.assume(i1 true) [ "align"(ptr %.sroa.06.021.us.i.i.i.i201, i64 2) ] call void @llvm.lifetime.start.p0(ptr nonnull %5), !noalias !1929 call fastcc void @_ZN4half8binary164arch3x8623f16x8_to_f32x8_x86_f16c17h696f0d48b806f466E(ptr noalias noundef nonnull sret([8 x float]) align 4 captures(none) dereferenceable(32) %5, ptr noalias noundef nonnull readonly align 2 dereferenceable(16) %.sroa.06.021.us.i.i.i.i201), !noalias !1933 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(32) %325, ptr noundef nonnull readonly align 4 dereferenceable(32) %5, i64 32, i1 false), !alias.scope !1934, !noalias !1938 @@ -7921,6 +7922,7 @@ _ZN4half8binary164arch19f16_to_f32_fallback17hb49fc63c8adc336dE.exit.i.i.i.i188: %529 = add nsw i64 %.sroa.57.022.us.i.i.i.i180, -8 %530 = getelementptr inbounds nuw i8, ptr %.sroa.06.021.us.i.i.i.i181, i64 16 %531 = getelementptr inbounds nuw i8, ptr %528, i64 32 + call void @llvm.assume(i1 true) [ "align"(ptr %.sroa.06.021.us.i.i.i.i181, i64 2) ] call void @llvm.lifetime.start.p0(ptr nonnull %8), !noalias !2137 call fastcc void @_ZN4half8binary164arch3x8623f16x8_to_f32x8_x86_f16c17h696f0d48b806f466E(ptr noalias noundef nonnull sret([8 x float]) align 4 captures(none) dereferenceable(32) %8, ptr noalias noundef nonnull readonly align 2 dereferenceable(16) %.sroa.06.021.us.i.i.i.i181), !noalias !2141 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(32) %528, ptr noundef nonnull readonly align 4 dereferenceable(32) %8, i64 32, i1 false), !alias.scope !2142, !noalias !2146 @@ -8606,6 +8608,7 @@ _ZN4half8binary164arch19f16_to_f32_fallback17hb49fc63c8adc336dE.exit.i.i.i.i168: %730 = add nsw i64 %.sroa.57.022.us.i.i.i.i160, -8 %731 = getelementptr inbounds nuw i8, ptr %.sroa.06.021.us.i.i.i.i161, i64 16 %732 = getelementptr inbounds nuw i8, ptr %729, i64 32 + call void @llvm.assume(i1 true) [ "align"(ptr %.sroa.06.021.us.i.i.i.i161, i64 2) ] call void @llvm.lifetime.start.p0(ptr nonnull %11), !noalias !2345 call fastcc void @_ZN4half8binary164arch3x8623f16x8_to_f32x8_x86_f16c17h696f0d48b806f466E(ptr noalias noundef nonnull sret([8 x float]) align 4 captures(none) dereferenceable(32) %11, ptr noalias noundef nonnull readonly align 2 dereferenceable(16) %.sroa.06.021.us.i.i.i.i161), !noalias !2349 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(32) %729, ptr noundef nonnull readonly align 4 dereferenceable(32) %11, i64 32, i1 false), !alias.scope !2350, !noalias !2354 @@ -9288,6 +9291,7 @@ _ZN4half8binary164arch19f16_to_f32_fallback17hb49fc63c8adc336dE.exit.i.i.i.i: ; %929 = add nsw i64 %.sroa.57.022.us.i.i.i.i, -8 %930 = getelementptr inbounds nuw i8, ptr %.sroa.06.021.us.i.i.i.i, i64 16 %931 = getelementptr inbounds nuw i8, ptr %928, i64 32 + call void @llvm.assume(i1 true) [ "align"(ptr %.sroa.06.021.us.i.i.i.i, i64 2) ] call void @llvm.lifetime.start.p0(ptr nonnull %14), !noalias !2551 call fastcc void @_ZN4half8binary164arch3x8623f16x8_to_f32x8_x86_f16c17h696f0d48b806f466E(ptr noalias noundef nonnull sret([8 x float]) align 4 captures(none) dereferenceable(32) %14, ptr noalias noundef nonnull readonly align 2 dereferenceable(16) %.sroa.06.021.us.i.i.i.i), !noalias !2555 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(32) %928, ptr noundef nonnull readonly align 4 dereferenceable(32) %14, i64 32, i1 false), !alias.scope !2556, !noalias !2560 @@ -10581,6 +10585,7 @@ _ZN4half8binary164arch19f16_to_f32_fallback17hb49fc63c8adc336dE.exit.i.i.i.i208: %326 = add nsw i64 %.sroa.57.022.us.i.i.i.i200, -8 %327 = getelementptr inbounds nuw i8, ptr %.sroa.06.021.us.i.i.i.i201, i64 16 %328 = getelementptr inbounds nuw i8, ptr %325, i64 32 + call void @llvm.assume(i1 true) [ "align"(ptr %.sroa.06.021.us.i.i.i.i201, i64 2) ] call void @llvm.lifetime.start.p0(ptr nonnull %5), !noalias !2807 call fastcc void @_ZN4half8binary164arch3x8623f16x8_to_f32x8_x86_f16c17h696f0d48b806f466E(ptr noalias noundef nonnull sret([8 x float]) align 4 captures(none) dereferenceable(32) %5, ptr noalias noundef nonnull readonly align 2 dereferenceable(16) %.sroa.06.021.us.i.i.i.i201), !noalias !2811 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(32) %325, ptr noundef nonnull readonly align 4 dereferenceable(32) %5, i64 32, i1 false), !alias.scope !2812, !noalias !2816 @@ -11273,6 +11278,7 @@ _ZN4half8binary164arch19f16_to_f32_fallback17hb49fc63c8adc336dE.exit.i.i.i.i188: %529 = add nsw i64 %.sroa.57.022.us.i.i.i.i180, -8 %530 = getelementptr inbounds nuw i8, ptr %.sroa.06.021.us.i.i.i.i181, i64 16 %531 = getelementptr inbounds nuw i8, ptr %528, i64 32 + call void @llvm.assume(i1 true) [ "align"(ptr %.sroa.06.021.us.i.i.i.i181, i64 2) ] call void @llvm.lifetime.start.p0(ptr nonnull %8), !noalias !3015 call fastcc void @_ZN4half8binary164arch3x8623f16x8_to_f32x8_x86_f16c17h696f0d48b806f466E(ptr noalias noundef nonnull sret([8 x float]) align 4 captures(none) dereferenceable(32) %8, ptr noalias noundef nonnull readonly align 2 dereferenceable(16) %.sroa.06.021.us.i.i.i.i181), !noalias !3019 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(32) %528, ptr noundef nonnull readonly align 4 dereferenceable(32) %8, i64 32, i1 false), !alias.scope !3020, !noalias !3024 @@ -11958,6 +11964,7 @@ _ZN4half8binary164arch19f16_to_f32_fallback17hb49fc63c8adc336dE.exit.i.i.i.i168: %730 = add nsw i64 %.sroa.57.022.us.i.i.i.i160, -8 %731 = getelementptr inbounds nuw i8, ptr %.sroa.06.021.us.i.i.i.i161, i64 16 %732 = getelementptr inbounds nuw i8, ptr %729, i64 32 + call void @llvm.assume(i1 true) [ "align"(ptr %.sroa.06.021.us.i.i.i.i161, i64 2) ] call void @llvm.lifetime.start.p0(ptr nonnull %11), !noalias !3223 call fastcc void @_ZN4half8binary164arch3x8623f16x8_to_f32x8_x86_f16c17h696f0d48b806f466E(ptr noalias noundef nonnull sret([8 x float]) align 4 captures(none) dereferenceable(32) %11, ptr noalias noundef nonnull readonly align 2 dereferenceable(16) %.sroa.06.021.us.i.i.i.i161), !noalias !3227 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(32) %729, ptr noundef nonnull readonly align 4 dereferenceable(32) %11, i64 32, i1 false), !alias.scope !3228, !noalias !3232 @@ -12640,6 +12647,7 @@ _ZN4half8binary164arch19f16_to_f32_fallback17hb49fc63c8adc336dE.exit.i.i.i.i: ; %929 = add nsw i64 %.sroa.57.022.us.i.i.i.i, -8 %930 = getelementptr inbounds nuw i8, ptr %.sroa.06.021.us.i.i.i.i, i64 16 %931 = getelementptr inbounds nuw i8, ptr %928, i64 32 + call void @llvm.assume(i1 true) [ "align"(ptr %.sroa.06.021.us.i.i.i.i, i64 2) ] call void @llvm.lifetime.start.p0(ptr nonnull %14), !noalias !3429 call fastcc void @_ZN4half8binary164arch3x8623f16x8_to_f32x8_x86_f16c17h696f0d48b806f466E(ptr noalias noundef nonnull sret([8 x float]) align 4 captures(none) dereferenceable(32) %14, ptr noalias noundef nonnull readonly align 2 dereferenceable(16) %.sroa.06.021.us.i.i.i.i), !noalias !3433 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(32) %928, ptr noundef nonnull readonly align 4 dereferenceable(32) %14, i64 32, i1 false), !alias.scope !3434, !noalias !3438 @@ -16387,6 +16395,7 @@ _ZN4half8binary164arch19f16_to_f32_fallback17hb49fc63c8adc336dE.exit.i.i.i: ; pr %77 = add i64 %.sroa.57.022.us.i.i.i, -8 %78 = getelementptr inbounds nuw i8, ptr %.sroa.06.021.us.i.i.i, i64 16 %79 = getelementptr inbounds nuw i8, ptr %76, i64 32 + call void @llvm.assume(i1 true) [ "align"(ptr %.sroa.06.021.us.i.i.i, i64 2) ] call void @llvm.lifetime.start.p0(ptr nonnull %9), !noalias !4360 call fastcc void @_ZN4half8binary164arch3x8623f16x8_to_f32x8_x86_f16c17h696f0d48b806f466E(ptr noalias noundef nonnull sret([8 x float]) align 4 captures(none) dereferenceable(32) %9, ptr noalias noundef nonnull readonly align 2 dereferenceable(16) %.sroa.06.021.us.i.i.i), !noalias !4364 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(32) %76, ptr noundef nonnull readonly align 4 dereferenceable(32) %9, i64 32, i1 false), !alias.scope !4365, !noalias !4369 diff --git a/bench/image-rs/optimized/5ez7udly19o3uj1p.ll b/bench/image-rs/optimized/5ez7udly19o3uj1p.ll index 4360225ebbe..31564dc0d72 100644 --- a/bench/image-rs/optimized/5ez7udly19o3uj1p.ll +++ b/bench/image-rs/optimized/5ez7udly19o3uj1p.ll @@ -3127,6 +3127,7 @@ _ZN12jpeg_decoder6parser11read_length17h90f349e538137747E.exit: ; preds = %17 store ptr %31, ptr %32, align 8, !alias.scope !424 %33 = getelementptr inbounds nuw i8, ptr %10, i64 16 store i64 %.sroa.6.037, ptr %33, align 8, !alias.scope !424 + call void @llvm.assume(i1 true) [ "align"(ptr %.val31, i64 8) ] %34 = invoke noundef ptr %14(ptr noundef nonnull align 1 %.val, ptr noalias noundef nonnull align 1 %31, i64 noundef %.sroa.6.037) to label %"_ZN3std2io5impls70_$LT$impl$u20$std..io..Read$u20$for$u20$alloc..boxed..Box$LT$R$GT$$GT$10read_exact17hcdd87de97d160344E.llvm.10180119082961779398.exit" unwind label %37 @@ -4147,6 +4148,7 @@ _ZN5alloc5alloc15exchange_malloc17hbe31f2048284b3faE.exit148: ; preds = %_ZN5all br i1 %73, label %.lr.ph, label %._crit_edge .lr.ph: ; preds = %_ZN5alloc5alloc15exchange_malloc17hbe31f2048284b3faE.exit148 + call void @llvm.assume(i1 true) [ "align"(ptr %.val143, i64 8) ] %74 = trunc i8 %2 to i1 %75 = getelementptr inbounds nuw i8, ptr %23, i64 16 %76 = getelementptr inbounds nuw i8, ptr %22, i64 8 @@ -4275,6 +4277,7 @@ _ZN5alloc5alloc15exchange_malloc17hbe31f2048284b3faE.exit148: ; preds = %_ZN5all 115: ; preds = %111 call void @llvm.lifetime.start.p0(ptr nonnull %23) call void @llvm.memset.p0.i64(ptr noundef nonnull align 1 dereferenceable(16) %23, i8 0, i64 16, i1 false) + call void @llvm.assume(i1 true) [ "align"(ptr %.val143, i64 8) ] %116 = invoke noundef ptr %35(ptr noundef nonnull align 1 %.val, ptr noalias noundef nonnull align 1 %23, i64 noundef 16) to label %"_ZN3std2io5impls70_$LT$impl$u20$std..io..Read$u20$for$u20$alloc..boxed..Box$LT$R$GT$$GT$10read_exact17hcdd87de97d160344E.llvm.10180119082961779398.exit" unwind label %.loopexit @@ -4349,6 +4352,7 @@ _ZN5alloc5alloc15exchange_malloc17hbe31f2048284b3faE.exit148: ; preds = %_ZN5all store i64 %143, ptr %22, align 8, !alias.scope !595 store ptr %144, ptr %76, align 8, !alias.scope !595 store i64 %119, ptr %77, align 8, !alias.scope !595 + call void @llvm.assume(i1 true) [ "align"(ptr %.val143, i64 8) ] %145 = invoke noundef ptr %35(ptr noundef nonnull align 1 %.val, ptr noalias noundef nonnull align 1 %144, i64 noundef %119) to label %"_ZN3std2io5impls70_$LT$impl$u20$std..io..Read$u20$for$u20$alloc..boxed..Box$LT$R$GT$$GT$10read_exact17hcdd87de97d160344E.llvm.10180119082961779398.exit171" unwind label %.loopexit276 @@ -6313,6 +6317,7 @@ _ZN12jpeg_decoder6parser11read_length17h90f349e538137747E.exit: ; preds = %28 br i1 %.not175, label %._crit_edge, label %.lr.ph .lr.ph: ; preds = %.preheader160 + call void @llvm.assume(i1 true) [ "align"(ptr %.val75, i64 8) ] %41 = getelementptr inbounds nuw i8, ptr %3, i64 1 br label %45 @@ -6501,11 +6506,13 @@ _ZN5alloc3fmt6format17h55b1a8bf61a7c713E.exit80: ; preds = %58 88: ; preds = %77 call void @llvm.lifetime.start.p0(ptr nonnull %4), !noalias !1019 store i8 0, ptr %4, align 1, !noalias !1019 + call void @llvm.assume(i1 true) [ "align"(ptr %.val75, i64 8) ] %89 = call noundef ptr %25(ptr noundef nonnull align 1 %.val74, ptr noalias noundef nonnull align 1 %4, i64 noundef 1), !noalias !1023 %90 = icmp eq ptr %89, null br i1 %90, label %96, label %99 91: ; preds = %77 + call void @llvm.assume(i1 true) [ "align"(ptr %.val75, i64 8) ] call void @llvm.lifetime.start.p0(ptr nonnull %3), !noalias !1026 store i8 0, ptr %3, align 2, !noalias !1026 store i8 0, ptr %41, align 1, !noalias !1026 @@ -6748,6 +6755,7 @@ _ZN12jpeg_decoder6parser11read_length17h90f349e538137747E.exit: ; preds = %16 br label %44 30: ; preds = %27 + call void @llvm.assume(i1 true) [ "align"(ptr %.val26, i64 8) ] call void @llvm.lifetime.start.p0(ptr nonnull %3), !noalias !1081 store i8 0, ptr %3, align 2, !noalias !1081 %31 = getelementptr inbounds nuw i8, ptr %3, i64 1 @@ -7955,6 +7963,7 @@ switch.lookup480: ; preds = %93, %85, %90 call void @llvm.lifetime.start.p0(ptr nonnull %40) call void @llvm.lifetime.start.p0(ptr nonnull %11), !noalias !1233 store i8 0, ptr %11, align 1, !noalias !1233 + call void @llvm.assume(i1 true) [ "align"(ptr %.val231, i64 8) ] %95 = call noundef ptr %48(ptr noundef nonnull align 1 %.val230, ptr noalias noundef nonnull align 1 %11, i64 noundef 1), !noalias !1237 %96 = icmp eq ptr %95, null br i1 %96, label %97, label %99 @@ -7983,6 +7992,7 @@ switch.lookup480: ; preds = %93, %85, %90 br i1 %or.cond30, label %115, label %103 103: ; preds = %101, %107, %97 + call void @llvm.assume(i1 true) [ "align"(ptr %.val231, i64 8) ] call void @llvm.lifetime.start.p0(ptr nonnull %10), !noalias !1240 store i8 0, ptr %10, align 2, !noalias !1240 %104 = getelementptr inbounds nuw i8, ptr %10, i64 1 @@ -8043,6 +8053,7 @@ switch.lookup480: ; preds = %93, %85, %90 %123 = load i16, ptr %10, align 2, !noalias !1240 %124 = call i16 @llvm.bswap.i16(i16 %123) call void @llvm.lifetime.end.p0(ptr nonnull %10), !noalias !1240 + call void @llvm.assume(i1 true) [ "align"(ptr %.val231, i64 8) ] call void @llvm.lifetime.start.p0(ptr nonnull %9), !noalias !1257 store i8 0, ptr %9, align 2, !noalias !1257 %125 = getelementptr inbounds nuw i8, ptr %9, i64 1 @@ -8107,6 +8118,7 @@ switch.lookup480: ; preds = %93, %85, %90 146: ; preds = %138 call void @llvm.lifetime.start.p0(ptr nonnull %8), !noalias !1268 store i8 0, ptr %8, align 1, !noalias !1268 + call void @llvm.assume(i1 true) [ "align"(ptr %.val231, i64 8) ] %147 = call noundef ptr %48(ptr noundef nonnull align 1 %.val230, ptr noalias noundef nonnull align 1 %8, i64 noundef 1), !noalias !1272 %148 = icmp eq ptr %147, null br i1 %148, label %149, label %152 @@ -8180,6 +8192,7 @@ switch.lookup480: ; preds = %93, %85, %90 store ptr %175, ptr %176, align 8 %177 = getelementptr inbounds nuw i8, ptr %36, i64 16 store i64 0, ptr %177, align 8 + call void @llvm.assume(i1 true) [ "align"(ptr %.val231, i64 8) ] %178 = getelementptr inbounds nuw i8, ptr %19, i64 24 %179 = getelementptr inbounds nuw i8, ptr %19, i64 25 %180 = getelementptr inbounds nuw i8, ptr %19, i64 26 @@ -8333,6 +8346,7 @@ switch.lookup480: ; preds = %93, %85, %90 "_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$3any17h9c3199f69953ac1aE.exit": ; preds = %215 call void @llvm.lifetime.start.p0(ptr nonnull %6), !noalias !1298 store i8 0, ptr %6, align 1, !noalias !1298 + call void @llvm.assume(i1 true) [ "align"(ptr %.val231, i64 8) ] %223 = invoke noundef ptr %48(ptr noundef nonnull align 1 %.val230, ptr noalias noundef nonnull align 1 %6, i64 noundef 1) to label %.noexc252 unwind label %.loopexit @@ -8371,6 +8385,7 @@ switch.lookup480: ; preds = %93, %85, %90 call void @llvm.lifetime.start.p0(ptr nonnull %23) call void @llvm.lifetime.start.p0(ptr nonnull %5), !noalias !1302 store i8 0, ptr %5, align 1, !noalias !1302 + call void @llvm.assume(i1 true) [ "align"(ptr %.val231, i64 8) ] %235 = invoke noundef ptr %48(ptr noundef nonnull align 1 %.val230, ptr noalias noundef nonnull align 1 %5, i64 noundef 1) to label %.noexc255 unwind label %.loopexit @@ -10765,6 +10780,7 @@ _ZN12jpeg_decoder6parser11read_length17h90f349e538137747E.exit: ; preds = %61 call void @llvm.lifetime.start.p0(ptr nonnull %54) call void @llvm.lifetime.start.p0(ptr nonnull %14), !noalias !1679 store i8 0, ptr %14, align 1, !noalias !1679 + call void @llvm.assume(i1 true) [ "align"(ptr %.val198, i64 8) ] %83 = call noundef ptr %58(ptr noundef nonnull align 1 %.val, ptr noalias noundef nonnull align 1 %14, i64 noundef 1), !noalias !1683 %84 = icmp eq ptr %83, null br i1 %84, label %86, label %89 @@ -10892,6 +10908,7 @@ _ZN5alloc3fmt6format17h55b1a8bf61a7c713E.exit: ; preds = %86 store ptr %123, ptr %124, align 8 %125 = getelementptr inbounds nuw i8, ptr %49, i64 16 store i64 0, ptr %125, align 8 + call void @llvm.assume(i1 true) [ "align"(ptr %.val198, i64 8) ] %126 = getelementptr inbounds nuw i8, ptr %2, i64 8 %127 = load ptr, ptr %126, align 8, !nonnull !19 %128 = getelementptr inbounds nuw i8, ptr %2, i64 16 @@ -10978,6 +10995,7 @@ _ZN5alloc3fmt6format17h55b1a8bf61a7c713E.exit: ; preds = %86 call void @llvm.lifetime.start.p0(ptr nonnull %33) call void @llvm.lifetime.start.p0(ptr nonnull %11), !noalias !1707 store i8 0, ptr %11, align 1, !noalias !1707 + call void @llvm.assume(i1 true) [ "align"(ptr %.val198, i64 8) ] %149 = invoke noundef ptr %58(ptr noundef nonnull align 1 %.val, ptr noalias noundef nonnull align 1 %11, i64 noundef 1) to label %.noexc204 unwind label %.loopexit.split-lp.loopexit.split-lp @@ -10996,6 +11014,7 @@ _ZN5alloc3fmt6format17h55b1a8bf61a7c713E.exit: ; preds = %86 call void @llvm.lifetime.start.p0(ptr nonnull %32) call void @llvm.lifetime.start.p0(ptr nonnull %10), !noalias !1711 store i8 0, ptr %10, align 1, !noalias !1711 + call void @llvm.assume(i1 true) [ "align"(ptr %.val198, i64 8) ] %155 = invoke noundef ptr %58(ptr noundef nonnull align 1 %.val, ptr noalias noundef nonnull align 1 %10, i64 noundef 1) to label %.noexc210 unwind label %.loopexit.split-lp.loopexit.split-lp @@ -11018,6 +11037,7 @@ _ZN5alloc3fmt6format17h55b1a8bf61a7c713E.exit: ; preds = %86 store i8 %160, ptr %32, align 1 call void @llvm.lifetime.start.p0(ptr nonnull %9), !noalias !1715 store i8 0, ptr %9, align 1, !noalias !1715 + call void @llvm.assume(i1 true) [ "align"(ptr %.val198, i64 8) ] %161 = invoke noundef ptr %58(ptr noundef nonnull align 1 %.val, ptr noalias noundef nonnull align 1 %9, i64 noundef 1) to label %.noexc213 unwind label %.loopexit.split-lp.loopexit.split-lp @@ -11528,6 +11548,7 @@ _ZN4core4iter6traits8iterator8Iterator6max_by17he347ae188b27aae9E.exit: ; preds 341: ; preds = %_ZN4core4iter6traits8iterator8Iterator6max_by17he347ae188b27aae9E.exit call void @llvm.lifetime.start.p0(ptr nonnull %6), !noalias !1820 store i8 0, ptr %6, align 1, !noalias !1820 + call void @llvm.assume(i1 true) [ "align"(ptr %.val198, i64 8) ] %342 = invoke noundef ptr %58(ptr noundef nonnull align 1 %.val, ptr noalias noundef nonnull align 1 %6, i64 noundef 1) to label %.noexc243 unwind label %.loopexit.split-lp.loopexit.split diff --git a/bench/influxdb-rs/optimized/3k3vgyqcou07q2z6.ll b/bench/influxdb-rs/optimized/3k3vgyqcou07q2z6.ll index 607d89f5942..f23d7d96734 100644 --- a/bench/influxdb-rs/optimized/3k3vgyqcou07q2z6.ll +++ b/bench/influxdb-rs/optimized/3k3vgyqcou07q2z6.ll @@ -2953,6 +2953,7 @@ define hidden void @"_ZN5alloc4sync16Arc$LT$T$C$A$GT$9drop_slow17h89d516fe2c54ba 7: ; preds = %1 tail call void @llvm.experimental.noalias.scope.decl(metadata !374) tail call void @llvm.experimental.noalias.scope.decl(metadata !377) + call void @llvm.assume(i1 true) [ "align"(ptr %5, i64 8) ] %8 = getelementptr inbounds nuw i8, ptr %5, i64 24 %9 = load ptr, ptr %8, align 8, !noalias !380, !nonnull !5, !noundef !5 %10 = getelementptr inbounds nuw i8, ptr %3, i64 24 @@ -2974,6 +2975,7 @@ define hidden void @"_ZN5alloc4sync16Arc$LT$T$C$A$GT$9drop_slow17h89d516fe2c54ba 17: ; preds = %12 tail call void @llvm.experimental.noalias.scope.decl(metadata !391) tail call void @llvm.experimental.noalias.scope.decl(metadata !394) + call void @llvm.assume(i1 true) [ "align"(ptr %15, i64 8) ] %18 = getelementptr inbounds nuw i8, ptr %15, i64 24 %19 = load ptr, ptr %18, align 8, !noalias !397, !nonnull !5, !noundef !5 %20 = getelementptr inbounds nuw i8, ptr %3, i64 48 @@ -2993,6 +2995,7 @@ define hidden void @"_ZN5alloc4sync16Arc$LT$T$C$A$GT$9drop_slow17h89d516fe2c54ba 25: ; preds = %"_ZN4core3ptr107drop_in_place$LT$futures_channel..lock..Lock$LT$core..option..Option$LT$core..task..wake..Waker$GT$$GT$$GT$17hb0ba724fa78fb4e5E.llvm.9135219245553044050.exit.i" tail call void @llvm.experimental.noalias.scope.decl(metadata !408) tail call void @llvm.experimental.noalias.scope.decl(metadata !411) + call void @llvm.assume(i1 true) [ "align"(ptr %23, i64 8) ] %26 = getelementptr inbounds nuw i8, ptr %23, i64 24 %27 = load ptr, ptr %26, align 8, !noalias !414, !nonnull !5, !noundef !5 %28 = getelementptr inbounds nuw i8, ptr %3, i64 48 @@ -3058,6 +3061,7 @@ define hidden void @"_ZN5alloc4sync16Arc$LT$T$C$A$GT$9drop_slow17h9efc1a171666f1 10: ; preds = %5 tail call void @llvm.experimental.noalias.scope.decl(metadata !433) tail call void @llvm.experimental.noalias.scope.decl(metadata !436) + call void @llvm.assume(i1 true) [ "align"(ptr %8, i64 8) ] %11 = getelementptr inbounds nuw i8, ptr %8, i64 24 %12 = load ptr, ptr %11, align 8, !noalias !439, !nonnull !5, !noundef !5 %13 = getelementptr inbounds nuw i8, ptr %3, i64 264 @@ -3079,6 +3083,7 @@ define hidden void @"_ZN5alloc4sync16Arc$LT$T$C$A$GT$9drop_slow17h9efc1a171666f1 19: ; preds = %15 tail call void @llvm.experimental.noalias.scope.decl(metadata !457) tail call void @llvm.experimental.noalias.scope.decl(metadata !460) + call void @llvm.assume(i1 true) [ "align"(ptr %17, i64 8) ] %20 = getelementptr inbounds nuw i8, ptr %17, i64 24 %21 = load ptr, ptr %20, align 8, !noalias !463, !nonnull !5, !noundef !5 %22 = getelementptr inbounds nuw i8, ptr %3, i64 264 @@ -3288,6 +3293,7 @@ define hidden void @"_ZN5alloc4sync16Arc$LT$T$C$A$GT$9drop_slow17hafb4feef159e2b 7: ; preds = %1 tail call void @llvm.experimental.noalias.scope.decl(metadata !528) tail call void @llvm.experimental.noalias.scope.decl(metadata !531) + call void @llvm.assume(i1 true) [ "align"(ptr %5, i64 8) ] %8 = getelementptr inbounds nuw i8, ptr %5, i64 24 %9 = load ptr, ptr %8, align 8, !noalias !534, !nonnull !5, !noundef !5 %10 = getelementptr inbounds nuw i8, ptr %3, i64 32 @@ -3309,6 +3315,7 @@ define hidden void @"_ZN5alloc4sync16Arc$LT$T$C$A$GT$9drop_slow17hafb4feef159e2b 17: ; preds = %12 tail call void @llvm.experimental.noalias.scope.decl(metadata !545) tail call void @llvm.experimental.noalias.scope.decl(metadata !548) + call void @llvm.assume(i1 true) [ "align"(ptr %15, i64 8) ] %18 = getelementptr inbounds nuw i8, ptr %15, i64 24 %19 = load ptr, ptr %18, align 8, !noalias !551, !nonnull !5, !noundef !5 %20 = getelementptr inbounds nuw i8, ptr %3, i64 56 @@ -3328,6 +3335,7 @@ define hidden void @"_ZN5alloc4sync16Arc$LT$T$C$A$GT$9drop_slow17hafb4feef159e2b 25: ; preds = %"_ZN4core3ptr78drop_in_place$LT$futures_core..task..__internal..atomic_waker..AtomicWaker$GT$17h2b730e26492bb649E.llvm.9135219245553044050.exit.i" tail call void @llvm.experimental.noalias.scope.decl(metadata !562) tail call void @llvm.experimental.noalias.scope.decl(metadata !565) + call void @llvm.assume(i1 true) [ "align"(ptr %23, i64 8) ] %26 = getelementptr inbounds nuw i8, ptr %23, i64 24 %27 = load ptr, ptr %26, align 8, !noalias !568, !nonnull !5, !noundef !5 %28 = getelementptr inbounds nuw i8, ptr %3, i64 56 @@ -3541,6 +3549,7 @@ define hidden void @"_ZN5alloc4sync16Arc$LT$T$C$A$GT$9drop_slow17hdc5d8f85daee4f 13: ; preds = %8 tail call void @llvm.experimental.noalias.scope.decl(metadata !603) tail call void @llvm.experimental.noalias.scope.decl(metadata !606) + call void @llvm.assume(i1 true) [ "align"(ptr %11, i64 8) ] %14 = getelementptr inbounds nuw i8, ptr %11, i64 24 %15 = load ptr, ptr %14, align 8, !noalias !609, !nonnull !5, !noundef !5 %16 = getelementptr inbounds nuw i8, ptr %3, i64 128 @@ -3560,6 +3569,7 @@ define hidden void @"_ZN5alloc4sync16Arc$LT$T$C$A$GT$9drop_slow17hdc5d8f85daee4f 21: ; preds = %"_ZN4core3ptr112drop_in_place$LT$futures_channel..lock..Lock$LT$core..option..Option$LT$http..header..map..HeaderMap$GT$$GT$$GT$17hadf3e91efd740f3bE.llvm.9135219245553044050.exit.i" tail call void @llvm.experimental.noalias.scope.decl(metadata !621) tail call void @llvm.experimental.noalias.scope.decl(metadata !624) + call void @llvm.assume(i1 true) [ "align"(ptr %19, i64 8) ] %22 = getelementptr inbounds nuw i8, ptr %19, i64 24 %23 = load ptr, ptr %22, align 8, !noalias !627, !nonnull !5, !noundef !5 %24 = getelementptr inbounds nuw i8, ptr %3, i64 128 @@ -3580,6 +3590,7 @@ define hidden void @"_ZN5alloc4sync16Arc$LT$T$C$A$GT$9drop_slow17hdc5d8f85daee4f 29: ; preds = %"_ZN4core3ptr107drop_in_place$LT$futures_channel..lock..Lock$LT$core..option..Option$LT$core..task..wake..Waker$GT$$GT$$GT$17hb0ba724fa78fb4e5E.llvm.9135219245553044050.exit.i" tail call void @llvm.experimental.noalias.scope.decl(metadata !639) tail call void @llvm.experimental.noalias.scope.decl(metadata !642) + call void @llvm.assume(i1 true) [ "align"(ptr %27, i64 8) ] %30 = getelementptr inbounds nuw i8, ptr %27, i64 24 %31 = load ptr, ptr %30, align 8, !noalias !645, !nonnull !5, !noundef !5 %32 = getelementptr inbounds nuw i8, ptr %3, i64 152 @@ -3604,6 +3615,7 @@ define hidden void @"_ZN5alloc4sync16Arc$LT$T$C$A$GT$9drop_slow17hdc5d8f85daee4f 39: ; preds = %"_ZN4core3ptr107drop_in_place$LT$futures_channel..lock..Lock$LT$core..option..Option$LT$core..task..wake..Waker$GT$$GT$$GT$17hb0ba724fa78fb4e5E.llvm.9135219245553044050.exit4.i" tail call void @llvm.experimental.noalias.scope.decl(metadata !657) tail call void @llvm.experimental.noalias.scope.decl(metadata !660) + call void @llvm.assume(i1 true) [ "align"(ptr %37, i64 8) ] %40 = getelementptr inbounds nuw i8, ptr %37, i64 24 %41 = load ptr, ptr %40, align 8, !noalias !663, !nonnull !5, !noundef !5 %42 = getelementptr inbounds nuw i8, ptr %3, i64 152 @@ -3647,6 +3659,7 @@ define hidden void @"_ZN5alloc4sync16Arc$LT$T$C$A$GT$9drop_slow17hecb17ab4bd3588 7: ; preds = %1 tail call void @llvm.experimental.noalias.scope.decl(metadata !678) tail call void @llvm.experimental.noalias.scope.decl(metadata !681) + call void @llvm.assume(i1 true) [ "align"(ptr %5, i64 8) ] %8 = getelementptr inbounds nuw i8, ptr %5, i64 24 %9 = load ptr, ptr %8, align 8, !noalias !684, !nonnull !5, !noundef !5 %10 = getelementptr inbounds nuw i8, ptr %3, i64 32 @@ -3800,6 +3813,7 @@ define hidden void @"_ZN5alloc4sync16Arc$LT$T$C$A$GT$9drop_slow17hf7662a57f17466 7: ; preds = %1 tail call void @llvm.experimental.noalias.scope.decl(metadata !718) tail call void @llvm.experimental.noalias.scope.decl(metadata !721) + call void @llvm.assume(i1 true) [ "align"(ptr %5, i64 8) ] %8 = getelementptr inbounds nuw i8, ptr %5, i64 24 %9 = load ptr, ptr %8, align 8, !noalias !724, !nonnull !5, !noundef !5 %10 = getelementptr inbounds nuw i8, ptr %3, i64 32 diff --git a/bench/influxdb-rs/optimized/45ep097lxkbdotle.ll b/bench/influxdb-rs/optimized/45ep097lxkbdotle.ll index 04896fe8b12..d493a3df46b 100644 --- a/bench/influxdb-rs/optimized/45ep097lxkbdotle.ll +++ b/bench/influxdb-rs/optimized/45ep097lxkbdotle.ll @@ -511,6 +511,7 @@ define hidden void @"_ZN4core3ptr100drop_in_place$LT$parquet..file..statistics.. 8: ; preds = %4 tail call void @llvm.experimental.noalias.scope.decl(metadata !130) tail call void @llvm.experimental.noalias.scope.decl(metadata !133) + call void @llvm.assume(i1 true) [ "align"(ptr %6, i64 8) ] %9 = getelementptr inbounds nuw i8, ptr %6, i64 16 %10 = load ptr, ptr %9, align 8, !noalias !136, !nonnull !4, !noundef !4 %11 = getelementptr inbounds nuw i8, ptr %0, i64 32 @@ -541,6 +542,7 @@ define hidden void @"_ZN4core3ptr100drop_in_place$LT$parquet..file..statistics.. 25: ; preds = %21 tail call void @llvm.experimental.noalias.scope.decl(metadata !147) tail call void @llvm.experimental.noalias.scope.decl(metadata !150) + call void @llvm.assume(i1 true) [ "align"(ptr %23, i64 8) ] %26 = getelementptr inbounds nuw i8, ptr %23, i64 16 %27 = load ptr, ptr %26, align 8, !noalias !153, !nonnull !4, !noundef !4 %28 = getelementptr inbounds nuw i8, ptr %0, i64 72 @@ -569,6 +571,7 @@ define hidden void @"_ZN4core3ptr100drop_in_place$LT$parquet..file..statistics.. 40: ; preds = %36 tail call void @llvm.experimental.noalias.scope.decl(metadata !164) tail call void @llvm.experimental.noalias.scope.decl(metadata !167) + call void @llvm.assume(i1 true) [ "align"(ptr %38, i64 8) ] %41 = getelementptr inbounds nuw i8, ptr %38, i64 16 %42 = load ptr, ptr %41, align 8, !noalias !170, !nonnull !4, !noundef !4 %43 = getelementptr inbounds nuw i8, ptr %0, i64 72 @@ -909,6 +912,7 @@ define hidden void @"_ZN4core3ptr102drop_in_place$LT$core..cell..UnsafeCell$LT$c 4: ; preds = %1 tail call void @llvm.experimental.noalias.scope.decl(metadata !275) tail call void @llvm.experimental.noalias.scope.decl(metadata !278) + call void @llvm.assume(i1 true) [ "align"(ptr %2, i64 8) ] %5 = getelementptr inbounds nuw i8, ptr %2, i64 24 %6 = load ptr, ptr %5, align 8, !noalias !281, !nonnull !4, !noundef !4 %7 = getelementptr inbounds nuw i8, ptr %0, i64 8 @@ -1205,6 +1209,7 @@ define internal fastcc void @"_ZN4core3ptr104drop_in_place$LT$parquet..column..w 9: ; preds = %5 tail call void @llvm.experimental.noalias.scope.decl(metadata !425) tail call void @llvm.experimental.noalias.scope.decl(metadata !428) + call void @llvm.assume(i1 true) [ "align"(ptr %7, i64 8) ] %10 = getelementptr inbounds nuw i8, ptr %7, i64 16 %11 = load ptr, ptr %10, align 8, !noalias !431, !nonnull !4, !noundef !4 %12 = getelementptr inbounds nuw i8, ptr %0, i64 64 @@ -1236,6 +1241,7 @@ define internal fastcc void @"_ZN4core3ptr104drop_in_place$LT$parquet..column..w 26: ; preds = %22 tail call void @llvm.experimental.noalias.scope.decl(metadata !445) tail call void @llvm.experimental.noalias.scope.decl(metadata !448) + call void @llvm.assume(i1 true) [ "align"(ptr %24, i64 8) ] %27 = getelementptr inbounds nuw i8, ptr %24, i64 16 %28 = load ptr, ptr %27, align 8, !noalias !451, !nonnull !4, !noundef !4 %29 = getelementptr inbounds nuw i8, ptr %0, i64 104 @@ -1265,6 +1271,7 @@ define internal fastcc void @"_ZN4core3ptr104drop_in_place$LT$parquet..column..w 41: ; preds = %37 tail call void @llvm.experimental.noalias.scope.decl(metadata !465) tail call void @llvm.experimental.noalias.scope.decl(metadata !468) + call void @llvm.assume(i1 true) [ "align"(ptr %39, i64 8) ] %42 = getelementptr inbounds nuw i8, ptr %39, i64 16 %43 = load ptr, ptr %42, align 8, !noalias !471, !nonnull !4, !noundef !4 %44 = getelementptr inbounds nuw i8, ptr %0, i64 104 @@ -1803,6 +1810,7 @@ define hidden void @"_ZN4core3ptr107drop_in_place$LT$futures_channel..lock..Lock 4: ; preds = %1 tail call void @llvm.experimental.noalias.scope.decl(metadata !593) tail call void @llvm.experimental.noalias.scope.decl(metadata !596) + call void @llvm.assume(i1 true) [ "align"(ptr %2, i64 8) ] %5 = getelementptr inbounds nuw i8, ptr %2, i64 24 %6 = load ptr, ptr %5, align 8, !noalias !599, !nonnull !4, !noundef !4 %7 = getelementptr inbounds nuw i8, ptr %0, i64 8 @@ -2018,6 +2026,7 @@ define hidden void @"_ZN4core3ptr108drop_in_place$LT$parquet..file..statistics.. 8: ; preds = %4 tail call void @llvm.experimental.noalias.scope.decl(metadata !686) tail call void @llvm.experimental.noalias.scope.decl(metadata !689) + call void @llvm.assume(i1 true) [ "align"(ptr %6, i64 8) ] %9 = getelementptr inbounds nuw i8, ptr %6, i64 16 %10 = load ptr, ptr %9, align 8, !noalias !692, !nonnull !4, !noundef !4 %11 = getelementptr inbounds nuw i8, ptr %0, i64 32 @@ -2049,6 +2058,7 @@ define hidden void @"_ZN4core3ptr108drop_in_place$LT$parquet..file..statistics.. 25: ; preds = %21 tail call void @llvm.experimental.noalias.scope.decl(metadata !706) tail call void @llvm.experimental.noalias.scope.decl(metadata !709) + call void @llvm.assume(i1 true) [ "align"(ptr %23, i64 8) ] %26 = getelementptr inbounds nuw i8, ptr %23, i64 16 %27 = load ptr, ptr %26, align 8, !noalias !712, !nonnull !4, !noundef !4 %28 = getelementptr inbounds nuw i8, ptr %0, i64 72 @@ -2078,6 +2088,7 @@ define hidden void @"_ZN4core3ptr108drop_in_place$LT$parquet..file..statistics.. 40: ; preds = %36 tail call void @llvm.experimental.noalias.scope.decl(metadata !726) tail call void @llvm.experimental.noalias.scope.decl(metadata !729) + call void @llvm.assume(i1 true) [ "align"(ptr %38, i64 8) ] %41 = getelementptr inbounds nuw i8, ptr %38, i64 16 %42 = load ptr, ptr %41, align 8, !noalias !732, !nonnull !4, !noundef !4 %43 = getelementptr inbounds nuw i8, ptr %0, i64 72 @@ -2179,6 +2190,7 @@ define hidden void @"_ZN4core3ptr108drop_in_place$LT$tokio..util..cacheline..Cac 4: ; preds = %1 tail call void @llvm.experimental.noalias.scope.decl(metadata !767) tail call void @llvm.experimental.noalias.scope.decl(metadata !770) + call void @llvm.assume(i1 true) [ "align"(ptr %2, i64 8) ] %5 = getelementptr inbounds nuw i8, ptr %2, i64 24 %6 = load ptr, ptr %5, align 8, !noalias !773, !nonnull !4, !noundef !4 %7 = getelementptr inbounds nuw i8, ptr %0, i64 8 @@ -3810,6 +3822,7 @@ define hidden void @"_ZN4core3ptr114drop_in_place$LT$alloc..vec..Vec$LT$slab..En 12: ; preds = %8 tail call void @llvm.experimental.noalias.scope.decl(metadata !1462) tail call void @llvm.experimental.noalias.scope.decl(metadata !1465) + call void @llvm.assume(i1 true) [ "align"(ptr %10, i64 8) ] %13 = getelementptr inbounds nuw i8, ptr %10, i64 24 %14 = load ptr, ptr %13, align 8, !noalias !1468, !nonnull !4, !noundef !4 %15 = getelementptr inbounds nuw i8, ptr %4, i64 16 @@ -3846,6 +3859,7 @@ define hidden void @"_ZN4core3ptr114drop_in_place$LT$alloc..vec..Vec$LT$slab..En 29: ; preds = %25 tail call void @llvm.experimental.noalias.scope.decl(metadata !1477) tail call void @llvm.experimental.noalias.scope.decl(metadata !1480) + call void @llvm.assume(i1 true) [ "align"(ptr %27, i64 8) ] %30 = getelementptr inbounds nuw i8, ptr %27, i64 24 %31 = load ptr, ptr %30, align 8, !noalias !1483, !nonnull !4, !noundef !4 %32 = getelementptr inbounds nuw i8, ptr %21, i64 16 @@ -4607,6 +4621,7 @@ define internal fastcc void @"_ZN4core3ptr116drop_in_place$LT$parquet..encodings 8: ; preds = %.lr.ph.i.i.i tail call void @llvm.experimental.noalias.scope.decl(metadata !1690) tail call void @llvm.experimental.noalias.scope.decl(metadata !1693) + call void @llvm.assume(i1 true) [ "align"(ptr %6, i64 8) ] %9 = getelementptr inbounds nuw i8, ptr %6, i64 16 %10 = load ptr, ptr %9, align 8, !noalias !1696, !nonnull !4, !noundef !4 %11 = getelementptr inbounds nuw i8, ptr %4, i64 24 @@ -4640,6 +4655,7 @@ define internal fastcc void @"_ZN4core3ptr116drop_in_place$LT$parquet..encodings 24: ; preds = %.lr.ph12.i.i.i tail call void @llvm.experimental.noalias.scope.decl(metadata !1705) tail call void @llvm.experimental.noalias.scope.decl(metadata !1708) + call void @llvm.assume(i1 true) [ "align"(ptr %22, i64 8) ] %25 = getelementptr inbounds nuw i8, ptr %22, i64 16 %26 = load ptr, ptr %25, align 8, !noalias !1711, !nonnull !4, !noundef !4 %27 = getelementptr inbounds nuw i8, ptr %20, i64 24 @@ -4785,6 +4801,7 @@ define internal fastcc void @"_ZN4core3ptr118drop_in_place$LT$core..option..Opti 8: ; preds = %4 tail call void @llvm.experimental.noalias.scope.decl(metadata !1726) tail call void @llvm.experimental.noalias.scope.decl(metadata !1729) + call void @llvm.assume(i1 true) [ "align"(ptr %6, i64 8) ] %9 = getelementptr inbounds nuw i8, ptr %6, i64 16 %10 = load ptr, ptr %9, align 8, !noalias !1732, !nonnull !4, !noundef !4 %11 = getelementptr inbounds nuw i8, ptr %0, i64 32 @@ -4808,6 +4825,7 @@ define internal fastcc void @"_ZN4core3ptr118drop_in_place$LT$core..option..Opti 21: ; preds = %16 tail call void @llvm.experimental.noalias.scope.decl(metadata !1740) tail call void @llvm.experimental.noalias.scope.decl(metadata !1743) + call void @llvm.assume(i1 true) [ "align"(ptr %19, i64 8) ] %22 = getelementptr inbounds nuw i8, ptr %19, i64 16 %23 = load ptr, ptr %22, align 8, !noalias !1746, !nonnull !4, !noundef !4 %24 = getelementptr inbounds nuw i8, ptr %0, i64 64 @@ -4829,6 +4847,7 @@ define internal fastcc void @"_ZN4core3ptr118drop_in_place$LT$core..option..Opti 32: ; preds = %"_ZN4core3ptr50drop_in_place$LT$parquet..data_type..ByteArray$GT$17he8a729dd60449a98E.exit.i" tail call void @llvm.experimental.noalias.scope.decl(metadata !1755) tail call void @llvm.experimental.noalias.scope.decl(metadata !1758) + call void @llvm.assume(i1 true) [ "align"(ptr %30, i64 8) ] %33 = getelementptr inbounds nuw i8, ptr %30, i64 16 %34 = load ptr, ptr %33, align 8, !noalias !1761, !nonnull !4, !noundef !4 %35 = getelementptr inbounds nuw i8, ptr %0, i64 64 @@ -4868,6 +4887,7 @@ define hidden void @"_ZN4core3ptr118drop_in_place$LT$core..option..Option$LT$cor 7: ; preds = %4 tail call void @llvm.experimental.noalias.scope.decl(metadata !1766) tail call void @llvm.experimental.noalias.scope.decl(metadata !1769) + call void @llvm.assume(i1 true) [ "align"(ptr %6, i64 8) ] %8 = getelementptr inbounds nuw i8, ptr %6, i64 16 %9 = load ptr, ptr %8, align 8, !noalias !1772, !nonnull !4, !noundef !4 %10 = getelementptr inbounds nuw i8, ptr %0, i64 32 @@ -5077,6 +5097,7 @@ define internal fastcc void @"_ZN4core3ptr118drop_in_place$LT$parquet..column..w 42: ; preds = %38 tail call void @llvm.experimental.noalias.scope.decl(metadata !1828) tail call void @llvm.experimental.noalias.scope.decl(metadata !1831) + call void @llvm.assume(i1 true) [ "align"(ptr %40, i64 8) ] %43 = getelementptr inbounds nuw i8, ptr %40, i64 16 %44 = load ptr, ptr %43, align 8, !noalias !1834, !nonnull !4, !noundef !4 %45 = getelementptr inbounds nuw i8, ptr %0, i64 32 @@ -5109,6 +5130,7 @@ define internal fastcc void @"_ZN4core3ptr118drop_in_place$LT$parquet..column..w 58: ; preds = %54 tail call void @llvm.experimental.noalias.scope.decl(metadata !1845) tail call void @llvm.experimental.noalias.scope.decl(metadata !1848) + call void @llvm.assume(i1 true) [ "align"(ptr %56, i64 8) ] %59 = getelementptr inbounds nuw i8, ptr %56, i64 16 %60 = load ptr, ptr %59, align 8, !noalias !1851, !nonnull !4, !noundef !4 %61 = getelementptr inbounds nuw i8, ptr %0, i64 32 @@ -5138,6 +5160,7 @@ define internal fastcc void @"_ZN4core3ptr118drop_in_place$LT$parquet..column..w 73: ; preds = %69 tail call void @llvm.experimental.noalias.scope.decl(metadata !1862) tail call void @llvm.experimental.noalias.scope.decl(metadata !1865) + call void @llvm.assume(i1 true) [ "align"(ptr %71, i64 8) ] %74 = getelementptr inbounds nuw i8, ptr %71, i64 16 %75 = load ptr, ptr %74, align 8, !noalias !1868, !nonnull !4, !noundef !4 %76 = getelementptr inbounds nuw i8, ptr %0, i64 72 @@ -5171,6 +5194,7 @@ define internal fastcc void @"_ZN4core3ptr118drop_in_place$LT$parquet..column..w 90: ; preds = %86 tail call void @llvm.experimental.noalias.scope.decl(metadata !1879) tail call void @llvm.experimental.noalias.scope.decl(metadata !1882) + call void @llvm.assume(i1 true) [ "align"(ptr %88, i64 8) ] %91 = getelementptr inbounds nuw i8, ptr %88, i64 16 %92 = load ptr, ptr %91, align 8, !noalias !1885, !nonnull !4, !noundef !4 %93 = getelementptr inbounds nuw i8, ptr %0, i64 72 @@ -5396,6 +5420,7 @@ define hidden void @"_ZN4core3ptr121drop_in_place$LT$tokio..loom..std..unsafe_ce 4: ; preds = %1 tail call void @llvm.experimental.noalias.scope.decl(metadata !1972) tail call void @llvm.experimental.noalias.scope.decl(metadata !1975) + call void @llvm.assume(i1 true) [ "align"(ptr %2, i64 8) ] %5 = getelementptr inbounds nuw i8, ptr %2, i64 24 %6 = load ptr, ptr %5, align 8, !noalias !1978, !nonnull !4, !noundef !4 %7 = getelementptr inbounds nuw i8, ptr %0, i64 8 @@ -5804,6 +5829,7 @@ define internal fastcc void @"_ZN4core3ptr124drop_in_place$LT$parquet..encodings 8: ; preds = %.lr.ph.i.i.i tail call void @llvm.experimental.noalias.scope.decl(metadata !2232) tail call void @llvm.experimental.noalias.scope.decl(metadata !2235) + call void @llvm.assume(i1 true) [ "align"(ptr %6, i64 8) ] %9 = getelementptr inbounds nuw i8, ptr %6, i64 16 %10 = load ptr, ptr %9, align 8, !noalias !2238, !nonnull !4, !noundef !4 %11 = getelementptr inbounds nuw i8, ptr %4, i64 24 @@ -5838,6 +5864,7 @@ define internal fastcc void @"_ZN4core3ptr124drop_in_place$LT$parquet..encodings 24: ; preds = %.lr.ph12.i.i.i tail call void @llvm.experimental.noalias.scope.decl(metadata !2250) tail call void @llvm.experimental.noalias.scope.decl(metadata !2253) + call void @llvm.assume(i1 true) [ "align"(ptr %22, i64 8) ] %25 = getelementptr inbounds nuw i8, ptr %22, i64 16 %26 = load ptr, ptr %25, align 8, !noalias !2256, !nonnull !4, !noundef !4 %27 = getelementptr inbounds nuw i8, ptr %20, i64 24 @@ -6075,6 +6102,7 @@ define internal fastcc void @"_ZN4core3ptr126drop_in_place$LT$parquet..column..w 42: ; preds = %38 tail call void @llvm.experimental.noalias.scope.decl(metadata !2306) tail call void @llvm.experimental.noalias.scope.decl(metadata !2309) + call void @llvm.assume(i1 true) [ "align"(ptr %40, i64 8) ] %43 = getelementptr inbounds nuw i8, ptr %40, i64 16 %44 = load ptr, ptr %43, align 8, !noalias !2312, !nonnull !4, !noundef !4 %45 = getelementptr inbounds nuw i8, ptr %0, i64 32 @@ -6108,6 +6136,7 @@ define internal fastcc void @"_ZN4core3ptr126drop_in_place$LT$parquet..column..w 58: ; preds = %54 tail call void @llvm.experimental.noalias.scope.decl(metadata !2326) tail call void @llvm.experimental.noalias.scope.decl(metadata !2329) + call void @llvm.assume(i1 true) [ "align"(ptr %56, i64 8) ] %59 = getelementptr inbounds nuw i8, ptr %56, i64 16 %60 = load ptr, ptr %59, align 8, !noalias !2332, !nonnull !4, !noundef !4 %61 = getelementptr inbounds nuw i8, ptr %0, i64 32 @@ -6138,6 +6167,7 @@ define internal fastcc void @"_ZN4core3ptr126drop_in_place$LT$parquet..column..w 73: ; preds = %69 tail call void @llvm.experimental.noalias.scope.decl(metadata !2346) tail call void @llvm.experimental.noalias.scope.decl(metadata !2349) + call void @llvm.assume(i1 true) [ "align"(ptr %71, i64 8) ] %74 = getelementptr inbounds nuw i8, ptr %71, i64 16 %75 = load ptr, ptr %74, align 8, !noalias !2352, !nonnull !4, !noundef !4 %76 = getelementptr inbounds nuw i8, ptr %0, i64 72 @@ -6172,6 +6202,7 @@ define internal fastcc void @"_ZN4core3ptr126drop_in_place$LT$parquet..column..w 90: ; preds = %86 tail call void @llvm.experimental.noalias.scope.decl(metadata !2366) tail call void @llvm.experimental.noalias.scope.decl(metadata !2369) + call void @llvm.assume(i1 true) [ "align"(ptr %88, i64 8) ] %91 = getelementptr inbounds nuw i8, ptr %88, i64 16 %92 = load ptr, ptr %91, align 8, !noalias !2372, !nonnull !4, !noundef !4 %93 = getelementptr inbounds nuw i8, ptr %0, i64 72 @@ -6267,6 +6298,7 @@ define hidden void @"_ZN4core3ptr127drop_in_place$LT$core..iter..adapters..peeka 11: ; preds = %7 tail call void @llvm.experimental.noalias.scope.decl(metadata !2409) tail call void @llvm.experimental.noalias.scope.decl(metadata !2412) + call void @llvm.assume(i1 true) [ "align"(ptr %9, i64 8) ] %12 = getelementptr inbounds nuw i8, ptr %9, i64 16 %13 = load ptr, ptr %12, align 8, !noalias !2415, !nonnull !4, !noundef !4 %14 = getelementptr inbounds nuw i8, ptr %0, i64 32 @@ -6293,6 +6325,7 @@ define hidden void @"_ZN4core3ptr127drop_in_place$LT$core..iter..adapters..peeka 25: ; preds = %21 tail call void @llvm.experimental.noalias.scope.decl(metadata !2423) tail call void @llvm.experimental.noalias.scope.decl(metadata !2426) + call void @llvm.assume(i1 true) [ "align"(ptr %23, i64 8) ] %26 = getelementptr inbounds nuw i8, ptr %23, i64 16 %27 = load ptr, ptr %26, align 8, !noalias !2429, !nonnull !4, !noundef !4 %28 = getelementptr inbounds nuw i8, ptr %0, i64 32 @@ -6555,6 +6588,7 @@ define hidden void @"_ZN4core3ptr132drop_in_place$LT$futures_channel..mpsc..queu 7: ; preds = %4 tail call void @llvm.experimental.noalias.scope.decl(metadata !2481) tail call void @llvm.experimental.noalias.scope.decl(metadata !2484) + call void @llvm.assume(i1 true) [ "align"(ptr %6, i64 8) ] %8 = getelementptr inbounds nuw i8, ptr %6, i64 16 %9 = load ptr, ptr %8, align 8, !noalias !2487, !nonnull !4, !noundef !4 %10 = getelementptr inbounds nuw i8, ptr %0, i64 32 @@ -6725,6 +6759,7 @@ define hidden void @"_ZN4core3ptr133drop_in_place$LT$futures_channel..mpsc..Boun 29: ; preds = %.body tail call void @llvm.experimental.noalias.scope.decl(metadata !2552) tail call void @llvm.experimental.noalias.scope.decl(metadata !2555) + call void @llvm.assume(i1 true) [ "align"(ptr %27, i64 8) ] %30 = getelementptr inbounds nuw i8, ptr %27, i64 24 %31 = load ptr, ptr %30, align 8, !noalias !2558, !nonnull !4, !noundef !4 %32 = getelementptr inbounds nuw i8, ptr %0, i64 64 @@ -6744,6 +6779,7 @@ define hidden void @"_ZN4core3ptr133drop_in_place$LT$futures_channel..mpsc..Boun 37: ; preds = %"_ZN4core3ptr152drop_in_place$LT$futures_channel..mpsc..queue..Queue$LT$alloc..sync..Arc$LT$std..sync..mutex..Mutex$LT$futures_channel..mpsc..SenderTask$GT$$GT$$GT$$GT$17hbb87a48842d01c38E.llvm.9135219245553044050.exit" tail call void @llvm.experimental.noalias.scope.decl(metadata !2569) tail call void @llvm.experimental.noalias.scope.decl(metadata !2572) + call void @llvm.assume(i1 true) [ "align"(ptr %35, i64 8) ] %38 = getelementptr inbounds nuw i8, ptr %35, i64 24 %39 = load ptr, ptr %38, align 8, !noalias !2575, !nonnull !4, !noundef !4 %40 = getelementptr inbounds nuw i8, ptr %0, i64 64 @@ -6833,6 +6869,7 @@ define internal fastcc void @"_ZN4core3ptr134drop_in_place$LT$core..option..Opti 8: ; preds = %4 tail call void @llvm.experimental.noalias.scope.decl(metadata !2595) tail call void @llvm.experimental.noalias.scope.decl(metadata !2598) + call void @llvm.assume(i1 true) [ "align"(ptr %6, i64 8) ] %9 = getelementptr inbounds nuw i8, ptr %6, i64 16 %10 = load ptr, ptr %9, align 8, !noalias !2601, !nonnull !4, !noundef !4 %11 = getelementptr inbounds nuw i8, ptr %0, i64 32 @@ -6857,6 +6894,7 @@ define internal fastcc void @"_ZN4core3ptr134drop_in_place$LT$core..option..Opti 21: ; preds = %16 tail call void @llvm.experimental.noalias.scope.decl(metadata !2612) tail call void @llvm.experimental.noalias.scope.decl(metadata !2615) + call void @llvm.assume(i1 true) [ "align"(ptr %19, i64 8) ] %22 = getelementptr inbounds nuw i8, ptr %19, i64 16 %23 = load ptr, ptr %22, align 8, !noalias !2618, !nonnull !4, !noundef !4 %24 = getelementptr inbounds nuw i8, ptr %0, i64 64 @@ -6879,6 +6917,7 @@ define internal fastcc void @"_ZN4core3ptr134drop_in_place$LT$core..option..Opti 32: ; preds = %"_ZN4core3ptr58drop_in_place$LT$parquet..data_type..FixedLenByteArray$GT$17h1f4eaf5ce9230820E.exit.i" tail call void @llvm.experimental.noalias.scope.decl(metadata !2630) tail call void @llvm.experimental.noalias.scope.decl(metadata !2633) + call void @llvm.assume(i1 true) [ "align"(ptr %30, i64 8) ] %33 = getelementptr inbounds nuw i8, ptr %30, i64 16 %34 = load ptr, ptr %33, align 8, !noalias !2636, !nonnull !4, !noundef !4 %35 = getelementptr inbounds nuw i8, ptr %0, i64 64 @@ -8007,6 +8046,7 @@ define hidden void @"_ZN4core3ptr143drop_in_place$LT$tokio..sync..mpsc..chan..Ch 18: ; preds = %.loopexit.split-lp call void @llvm.experimental.noalias.scope.decl(metadata !2964) call void @llvm.experimental.noalias.scope.decl(metadata !2967) + call void @llvm.assume(i1 true) [ "align"(ptr %16, i64 8) ] %19 = getelementptr inbounds nuw i8, ptr %16, i64 24 %20 = load ptr, ptr %19, align 8, !noalias !2970, !nonnull !4, !noundef !4 %21 = getelementptr inbounds nuw i8, ptr %0, i64 136 @@ -8028,6 +8068,7 @@ define hidden void @"_ZN4core3ptr143drop_in_place$LT$tokio..sync..mpsc..chan..Ch 26: ; preds = %"_ZN84_$LT$tokio..sync..mpsc..chan..Chan$LT$T$C$S$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17haca400dc5ae2dc4cE.llvm.9135219245553044050.exit" call void @llvm.experimental.noalias.scope.decl(metadata !2987) call void @llvm.experimental.noalias.scope.decl(metadata !2990) + call void @llvm.assume(i1 true) [ "align"(ptr %24, i64 8) ] %27 = getelementptr inbounds nuw i8, ptr %24, i64 24 %28 = load ptr, ptr %27, align 8, !noalias !2993, !nonnull !4, !noundef !4 %29 = getelementptr inbounds nuw i8, ptr %0, i64 136 @@ -8315,6 +8356,7 @@ define internal fastcc void @"_ZN4core3ptr148drop_in_place$LT$core..task..poll.. 8: ; preds = %5 tail call void @llvm.experimental.noalias.scope.decl(metadata !3042) tail call void @llvm.experimental.noalias.scope.decl(metadata !3045) + call void @llvm.assume(i1 true) [ "align"(ptr %7, i64 8) ] %9 = getelementptr inbounds nuw i8, ptr %7, i64 16 %10 = load ptr, ptr %9, align 8, !noalias !3048, !nonnull !4, !noundef !4 %11 = getelementptr inbounds nuw i8, ptr %0, i64 32 @@ -8600,6 +8642,7 @@ define hidden void @"_ZN4core3ptr157drop_in_place$LT$alloc..boxed..Box$LT$future 8: ; preds = %5 tail call void @llvm.experimental.noalias.scope.decl(metadata !3131) tail call void @llvm.experimental.noalias.scope.decl(metadata !3134) + call void @llvm.assume(i1 true) [ "align"(ptr %7, i64 8) ] %9 = getelementptr inbounds nuw i8, ptr %7, i64 16 %10 = load ptr, ptr %9, align 8, !noalias !3137, !nonnull !4, !noundef !4 %11 = getelementptr inbounds nuw i8, ptr %2, i64 32 @@ -10167,6 +10210,7 @@ define hidden void @"_ZN4core3ptr40drop_in_place$LT$tracing..span..Span$GT$17hc0 br i1 %.not4.i, label %"_ZN61_$LT$tracing..span..Span$u20$as$u20$core..ops..drop..Drop$GT$4drop17h7d48cf1ab650ff76E.llvm.9135219245553044050.exit", label %.noexc3 .noexc3: ; preds = %12 + call void @llvm.assume(i1 true) [ "align"(ptr %14, i64 8) ] call void @llvm.lifetime.start.p0(ptr nonnull %4), !noalias !3596 call void @llvm.lifetime.start.p0(ptr nonnull %3), !noalias !3596 call void @llvm.lifetime.start.p0(ptr nonnull %2), !noalias !3596 @@ -10788,6 +10832,7 @@ common.resume: ; preds = %.body5, %98, %86, % 28: ; preds = %24 tail call void @llvm.experimental.noalias.scope.decl(metadata !3860) tail call void @llvm.experimental.noalias.scope.decl(metadata !3863) + call void @llvm.assume(i1 true) [ "align"(ptr %26, i64 8) ] %29 = getelementptr inbounds nuw i8, ptr %26, i64 16 %30 = load ptr, ptr %29, align 8, !noalias !3866, !nonnull !4, !noundef !4 %31 = getelementptr inbounds nuw i8, ptr %0, i64 32 @@ -12104,6 +12149,7 @@ define hidden void @"_ZN4core3ptr49drop_in_place$LT$hyper..common..watch..Shared 5: ; preds = %1 tail call void @llvm.experimental.noalias.scope.decl(metadata !4529) tail call void @llvm.experimental.noalias.scope.decl(metadata !4532) + call void @llvm.assume(i1 true) [ "align"(ptr %3, i64 8) ] %6 = getelementptr inbounds nuw i8, ptr %3, i64 24 %7 = load ptr, ptr %6, align 8, !noalias !4535, !nonnull !4, !noundef !4 %8 = getelementptr inbounds nuw i8, ptr %0, i64 16 @@ -12682,6 +12728,7 @@ define hidden void @"_ZN4core3ptr50drop_in_place$LT$parquet..data_type..ByteArra 4: ; preds = %1 tail call void @llvm.experimental.noalias.scope.decl(metadata !4894) tail call void @llvm.experimental.noalias.scope.decl(metadata !4897) + call void @llvm.assume(i1 true) [ "align"(ptr %2, i64 8) ] %5 = getelementptr inbounds nuw i8, ptr %2, i64 16 %6 = load ptr, ptr %5, align 8, !noalias !4900, !nonnull !4, !noundef !4 %7 = getelementptr inbounds nuw i8, ptr %0, i64 24 @@ -13947,6 +13994,7 @@ define hidden void @"_ZN4core3ptr54drop_in_place$LT$futures_channel..mpsc..Sende 4: ; preds = %1 tail call void @llvm.experimental.noalias.scope.decl(metadata !5769) tail call void @llvm.experimental.noalias.scope.decl(metadata !5772) + call void @llvm.assume(i1 true) [ "align"(ptr %2, i64 8) ] %5 = getelementptr inbounds nuw i8, ptr %2, i64 24 %6 = load ptr, ptr %5, align 8, !noalias !5775, !nonnull !4, !noundef !4 %7 = getelementptr inbounds nuw i8, ptr %0, i64 8 @@ -14619,6 +14667,7 @@ define hidden void @"_ZN4core3ptr57drop_in_place$LT$h2..proto..ping_pong..UserPi 5: ; preds = %1 tail call void @llvm.experimental.noalias.scope.decl(metadata !6040) tail call void @llvm.experimental.noalias.scope.decl(metadata !6043) + call void @llvm.assume(i1 true) [ "align"(ptr %3, i64 8) ] %6 = getelementptr inbounds nuw i8, ptr %3, i64 24 %7 = load ptr, ptr %6, align 8, !noalias !6046, !nonnull !4, !noundef !4 %8 = getelementptr inbounds nuw i8, ptr %0, i64 16 @@ -14640,6 +14689,7 @@ define hidden void @"_ZN4core3ptr57drop_in_place$LT$h2..proto..ping_pong..UserPi 15: ; preds = %10 tail call void @llvm.experimental.noalias.scope.decl(metadata !6057) tail call void @llvm.experimental.noalias.scope.decl(metadata !6060) + call void @llvm.assume(i1 true) [ "align"(ptr %13, i64 8) ] %16 = getelementptr inbounds nuw i8, ptr %13, i64 24 %17 = load ptr, ptr %16, align 8, !noalias !6063, !nonnull !4, !noundef !4 %18 = getelementptr inbounds nuw i8, ptr %0, i64 40 @@ -14659,6 +14709,7 @@ define hidden void @"_ZN4core3ptr57drop_in_place$LT$h2..proto..ping_pong..UserPi 23: ; preds = %"_ZN4core3ptr78drop_in_place$LT$futures_core..task..__internal..atomic_waker..AtomicWaker$GT$17h2b730e26492bb649E.llvm.9135219245553044050.exit" tail call void @llvm.experimental.noalias.scope.decl(metadata !6074) tail call void @llvm.experimental.noalias.scope.decl(metadata !6077) + call void @llvm.assume(i1 true) [ "align"(ptr %21, i64 8) ] %24 = getelementptr inbounds nuw i8, ptr %21, i64 24 %25 = load ptr, ptr %24, align 8, !noalias !6080, !nonnull !4, !noundef !4 %26 = getelementptr inbounds nuw i8, ptr %0, i64 40 @@ -14756,6 +14807,7 @@ define hidden void @"_ZN4core3ptr57drop_in_place$LT$h2..proto..streams..streams. 29: ; preds = %.body tail call void @llvm.experimental.noalias.scope.decl(metadata !6097) tail call void @llvm.experimental.noalias.scope.decl(metadata !6100) + call void @llvm.assume(i1 true) [ "align"(ptr %27, i64 8) ] %30 = getelementptr inbounds nuw i8, ptr %27, i64 24 %31 = load ptr, ptr %30, align 8, !noalias !6103, !nonnull !4, !noundef !4 %32 = getelementptr inbounds nuw i8, ptr %0, i64 328 @@ -14773,6 +14825,7 @@ define hidden void @"_ZN4core3ptr57drop_in_place$LT$h2..proto..streams..streams. 37: ; preds = %"_ZN4core3ptr51drop_in_place$LT$h2..proto..streams..recv..Recv$GT$17h6321f93724cfff8cE.exit" tail call void @llvm.experimental.noalias.scope.decl(metadata !6107) tail call void @llvm.experimental.noalias.scope.decl(metadata !6110) + call void @llvm.assume(i1 true) [ "align"(ptr %35, i64 8) ] %38 = getelementptr inbounds nuw i8, ptr %35, i64 24 %39 = load ptr, ptr %38, align 8, !noalias !6113, !nonnull !4, !noundef !4 %40 = getelementptr inbounds nuw i8, ptr %0, i64 328 @@ -15220,6 +15273,7 @@ define hidden void @"_ZN4core3ptr58drop_in_place$LT$parquet..data_type..FixedLen 4: ; preds = %1 tail call void @llvm.experimental.noalias.scope.decl(metadata !6376) tail call void @llvm.experimental.noalias.scope.decl(metadata !6379) + call void @llvm.assume(i1 true) [ "align"(ptr %2, i64 8) ] %5 = getelementptr inbounds nuw i8, ptr %2, i64 16 %6 = load ptr, ptr %5, align 8, !noalias !6382, !nonnull !4, !noundef !4 %7 = getelementptr inbounds nuw i8, ptr %0, i64 24 @@ -15271,6 +15325,7 @@ default.unreachable6: ; preds = %1 11: ; preds = %7 tail call void @llvm.experimental.noalias.scope.decl(metadata !6401) tail call void @llvm.experimental.noalias.scope.decl(metadata !6404) + call void @llvm.assume(i1 true) [ "align"(ptr %9, i64 8) ] %12 = getelementptr inbounds nuw i8, ptr %9, i64 16 %13 = load ptr, ptr %12, align 8, !noalias !6407, !nonnull !4, !noundef !4 %14 = getelementptr inbounds nuw i8, ptr %0, i64 40 @@ -15302,6 +15357,7 @@ default.unreachable6: ; preds = %1 28: ; preds = %24 tail call void @llvm.experimental.noalias.scope.decl(metadata !6422) tail call void @llvm.experimental.noalias.scope.decl(metadata !6425) + call void @llvm.assume(i1 true) [ "align"(ptr %26, i64 8) ] %29 = getelementptr inbounds nuw i8, ptr %26, i64 16 %30 = load ptr, ptr %29, align 8, !noalias !6428, !nonnull !4, !noundef !4 %31 = getelementptr inbounds nuw i8, ptr %0, i64 80 @@ -15333,8 +15389,9 @@ common.resume: ; preds = %67, %72, %76, %19, resume { ptr, i32 } %common.resume.op "_ZN4core3ptr108drop_in_place$LT$parquet..file..statistics..ValueStatistics$LT$parquet..data_type..FixedLenByteArray$GT$$GT$17hb708d77724a234daE.llvm.9135219245553044050.exit.sink.split": ; preds = %"_ZN4core3ptr78drop_in_place$LT$core..option..Option$LT$parquet..data_type..ByteArray$GT$$GT$17he6d37ce89891e60cE.llvm.9135219245553044050.exit.i", %"_ZN4core3ptr86drop_in_place$LT$core..option..Option$LT$parquet..data_type..FixedLenByteArray$GT$$GT$17hf9155bd0ca794cceE.llvm.9135219245553044050.exit.i" - %.sink12 = phi ptr [ %40, %"_ZN4core3ptr86drop_in_place$LT$core..option..Option$LT$parquet..data_type..FixedLenByteArray$GT$$GT$17hf9155bd0ca794cceE.llvm.9135219245553044050.exit.i" ], [ %88, %"_ZN4core3ptr78drop_in_place$LT$core..option..Option$LT$parquet..data_type..ByteArray$GT$$GT$17he6d37ce89891e60cE.llvm.9135219245553044050.exit.i" ] - %44 = getelementptr inbounds nuw i8, ptr %.sink12, i64 16 + %.sink = phi ptr [ %40, %"_ZN4core3ptr86drop_in_place$LT$core..option..Option$LT$parquet..data_type..FixedLenByteArray$GT$$GT$17hf9155bd0ca794cceE.llvm.9135219245553044050.exit.i" ], [ %88, %"_ZN4core3ptr78drop_in_place$LT$core..option..Option$LT$parquet..data_type..ByteArray$GT$$GT$17he6d37ce89891e60cE.llvm.9135219245553044050.exit.i" ] + call void @llvm.assume(i1 true) [ "align"(ptr %.sink, i64 8) ] + %44 = getelementptr inbounds nuw i8, ptr %.sink, i64 16 %45 = load ptr, ptr %44, align 8, !noalias !4, !nonnull !4, !noundef !4 %46 = getelementptr inbounds nuw i8, ptr %0, i64 80 %47 = getelementptr inbounds nuw i8, ptr %0, i64 64 @@ -15366,6 +15423,7 @@ common.resume: ; preds = %67, %72, %76, %19, 59: ; preds = %55 tail call void @llvm.experimental.noalias.scope.decl(metadata !6447) tail call void @llvm.experimental.noalias.scope.decl(metadata !6450) + call void @llvm.assume(i1 true) [ "align"(ptr %57, i64 8) ] %60 = getelementptr inbounds nuw i8, ptr %57, i64 16 %61 = load ptr, ptr %60, align 8, !noalias !6453, !nonnull !4, !noundef !4 %62 = getelementptr inbounds nuw i8, ptr %0, i64 40 @@ -15396,6 +15454,7 @@ common.resume: ; preds = %67, %72, %76, %19, 76: ; preds = %72 tail call void @llvm.experimental.noalias.scope.decl(metadata !6465) tail call void @llvm.experimental.noalias.scope.decl(metadata !6468) + call void @llvm.assume(i1 true) [ "align"(ptr %74, i64 8) ] %77 = getelementptr inbounds nuw i8, ptr %74, i64 16 %78 = load ptr, ptr %77, align 8, !noalias !6471, !nonnull !4, !noundef !4 %79 = getelementptr inbounds nuw i8, ptr %0, i64 80 @@ -16962,6 +17021,7 @@ define hidden void @"_ZN4core3ptr65drop_in_place$LT$tokio..sync..task..atomic_wa 4: ; preds = %1 tail call void @llvm.experimental.noalias.scope.decl(metadata !7394) tail call void @llvm.experimental.noalias.scope.decl(metadata !7397) + call void @llvm.assume(i1 true) [ "align"(ptr %2, i64 8) ] %5 = getelementptr inbounds nuw i8, ptr %2, i64 24 %6 = load ptr, ptr %5, align 8, !noalias !7400, !nonnull !4, !noundef !4 %7 = getelementptr inbounds nuw i8, ptr %0, i64 8 @@ -17401,6 +17461,7 @@ define hidden void @"_ZN4core3ptr68drop_in_place$LT$core..option..Option$LT$byte 5: ; preds = %1 tail call void @llvm.experimental.noalias.scope.decl(metadata !7544) tail call void @llvm.experimental.noalias.scope.decl(metadata !7547) + call void @llvm.assume(i1 true) [ "align"(ptr %2, i64 8) ] %6 = getelementptr inbounds nuw i8, ptr %2, i64 16 %7 = load ptr, ptr %6, align 8, !noalias !7550, !nonnull !4, !noundef !4 %8 = getelementptr inbounds nuw i8, ptr %0, i64 24 @@ -18453,6 +18514,7 @@ define hidden void @"_ZN4core3ptr72drop_in_place$LT$core..option..Option$LT$core 5: ; preds = %1 tail call void @llvm.experimental.noalias.scope.decl(metadata !8191) tail call void @llvm.experimental.noalias.scope.decl(metadata !8194) + call void @llvm.assume(i1 true) [ "align"(ptr %2, i64 8) ] %6 = getelementptr inbounds nuw i8, ptr %2, i64 24 %7 = load ptr, ptr %6, align 8, !noalias !8197, !nonnull !4, !noundef !4 %8 = getelementptr inbounds nuw i8, ptr %0, i64 8 @@ -18729,6 +18791,7 @@ define internal fastcc void @"_ZN4core3ptr72drop_in_place$LT$parquet..arrow..arr 96: ; preds = %92 tail call void @llvm.experimental.noalias.scope.decl(metadata !8271) tail call void @llvm.experimental.noalias.scope.decl(metadata !8274) + call void @llvm.assume(i1 true) [ "align"(ptr %94, i64 8) ] %97 = getelementptr inbounds nuw i8, ptr %94, i64 16 %98 = load ptr, ptr %97, align 8, !noalias !8277, !nonnull !4, !noundef !4 %99 = getelementptr inbounds nuw i8, ptr %0, i64 392 @@ -18759,6 +18822,7 @@ define internal fastcc void @"_ZN4core3ptr72drop_in_place$LT$parquet..arrow..arr 113: ; preds = %109 tail call void @llvm.experimental.noalias.scope.decl(metadata !8290) tail call void @llvm.experimental.noalias.scope.decl(metadata !8293) + call void @llvm.assume(i1 true) [ "align"(ptr %111, i64 8) ] %114 = getelementptr inbounds nuw i8, ptr %111, i64 16 %115 = load ptr, ptr %114, align 8, !noalias !8296, !nonnull !4, !noundef !4 %116 = getelementptr inbounds nuw i8, ptr %0, i64 432 @@ -18787,6 +18851,7 @@ define internal fastcc void @"_ZN4core3ptr72drop_in_place$LT$parquet..arrow..arr 128: ; preds = %124 tail call void @llvm.experimental.noalias.scope.decl(metadata !8309) tail call void @llvm.experimental.noalias.scope.decl(metadata !8312) + call void @llvm.assume(i1 true) [ "align"(ptr %126, i64 8) ] %129 = getelementptr inbounds nuw i8, ptr %126, i64 16 %130 = load ptr, ptr %129, align 8, !noalias !8315, !nonnull !4, !noundef !4 %131 = getelementptr inbounds nuw i8, ptr %0, i64 432 @@ -19040,6 +19105,7 @@ define internal fastcc void @"_ZN4core3ptr72drop_in_place$LT$parquet..arrow..arr 212: ; preds = %208 call void @llvm.experimental.noalias.scope.decl(metadata !8445) call void @llvm.experimental.noalias.scope.decl(metadata !8448) + call void @llvm.assume(i1 true) [ "align"(ptr %210, i64 8) ] %213 = getelementptr inbounds nuw i8, ptr %210, i64 16 %214 = load ptr, ptr %213, align 8, !noalias !8451, !nonnull !4, !noundef !4 %215 = getelementptr inbounds nuw i8, ptr %0, i64 536 @@ -19063,6 +19129,7 @@ define internal fastcc void @"_ZN4core3ptr72drop_in_place$LT$parquet..arrow..arr 225: ; preds = %220 call void @llvm.experimental.noalias.scope.decl(metadata !8460) call void @llvm.experimental.noalias.scope.decl(metadata !8463) + call void @llvm.assume(i1 true) [ "align"(ptr %223, i64 8) ] %226 = getelementptr inbounds nuw i8, ptr %223, i64 16 %227 = load ptr, ptr %226, align 8, !noalias !8466, !nonnull !4, !noundef !4 %228 = getelementptr inbounds nuw i8, ptr %0, i64 568 @@ -19084,6 +19151,7 @@ define internal fastcc void @"_ZN4core3ptr72drop_in_place$LT$parquet..arrow..arr 236: ; preds = %"_ZN4core3ptr50drop_in_place$LT$parquet..data_type..ByteArray$GT$17he8a729dd60449a98E.exit.i.i.i" call void @llvm.experimental.noalias.scope.decl(metadata !8475) call void @llvm.experimental.noalias.scope.decl(metadata !8478) + call void @llvm.assume(i1 true) [ "align"(ptr %234, i64 8) ] %237 = getelementptr inbounds nuw i8, ptr %234, i64 16 %238 = load ptr, ptr %237, align 8, !noalias !8481, !nonnull !4, !noundef !4 %239 = getelementptr inbounds nuw i8, ptr %0, i64 568 @@ -19321,6 +19389,7 @@ default.unreachable: ; preds = %248 327: ; preds = %323 tail call void @llvm.experimental.noalias.scope.decl(metadata !8531) tail call void @llvm.experimental.noalias.scope.decl(metadata !8534) + call void @llvm.assume(i1 true) [ "align"(ptr %325, i64 8) ] %328 = getelementptr inbounds nuw i8, ptr %325, i64 16 %329 = load ptr, ptr %328, align 8, !noalias !8537, !nonnull !4, !noundef !4 %330 = getelementptr inbounds nuw i8, ptr %0, i64 352 @@ -19352,6 +19421,7 @@ default.unreachable: ; preds = %248 344: ; preds = %340 tail call void @llvm.experimental.noalias.scope.decl(metadata !8553) tail call void @llvm.experimental.noalias.scope.decl(metadata !8556) + call void @llvm.assume(i1 true) [ "align"(ptr %342, i64 8) ] %345 = getelementptr inbounds nuw i8, ptr %342, i64 16 %346 = load ptr, ptr %345, align 8, !noalias !8559, !nonnull !4, !noundef !4 %347 = getelementptr inbounds nuw i8, ptr %0, i64 392 @@ -19381,6 +19451,7 @@ default.unreachable: ; preds = %248 359: ; preds = %355 tail call void @llvm.experimental.noalias.scope.decl(metadata !8575) tail call void @llvm.experimental.noalias.scope.decl(metadata !8578) + call void @llvm.assume(i1 true) [ "align"(ptr %357, i64 8) ] %360 = getelementptr inbounds nuw i8, ptr %357, i64 16 %361 = load ptr, ptr %360, align 8, !noalias !8581, !nonnull !4, !noundef !4 %362 = getelementptr inbounds nuw i8, ptr %0, i64 392 @@ -19635,6 +19706,7 @@ default.unreachable: ; preds = %248 443: ; preds = %439 call void @llvm.experimental.noalias.scope.decl(metadata !8714) call void @llvm.experimental.noalias.scope.decl(metadata !8717) + call void @llvm.assume(i1 true) [ "align"(ptr %441, i64 8) ] %444 = getelementptr inbounds nuw i8, ptr %441, i64 16 %445 = load ptr, ptr %444, align 8, !noalias !8720, !nonnull !4, !noundef !4 %446 = getelementptr inbounds nuw i8, ptr %0, i64 496 @@ -19659,6 +19731,7 @@ default.unreachable: ; preds = %248 456: ; preds = %451 call void @llvm.experimental.noalias.scope.decl(metadata !8732) call void @llvm.experimental.noalias.scope.decl(metadata !8735) + call void @llvm.assume(i1 true) [ "align"(ptr %454, i64 8) ] %457 = getelementptr inbounds nuw i8, ptr %454, i64 16 %458 = load ptr, ptr %457, align 8, !noalias !8738, !nonnull !4, !noundef !4 %459 = getelementptr inbounds nuw i8, ptr %0, i64 528 @@ -19681,6 +19754,7 @@ default.unreachable: ; preds = %248 467: ; preds = %"_ZN4core3ptr58drop_in_place$LT$parquet..data_type..FixedLenByteArray$GT$17h1f4eaf5ce9230820E.exit.i.i.i.i" call void @llvm.experimental.noalias.scope.decl(metadata !8750) call void @llvm.experimental.noalias.scope.decl(metadata !8753) + call void @llvm.assume(i1 true) [ "align"(ptr %465, i64 8) ] %468 = getelementptr inbounds nuw i8, ptr %465, i64 16 %469 = load ptr, ptr %468, align 8, !noalias !8756, !nonnull !4, !noundef !4 %470 = getelementptr inbounds nuw i8, ptr %0, i64 528 @@ -22165,6 +22239,7 @@ common.resume.sink.split.i: ; preds = %1246, %"_ZN4core3pt 1347: ; preds = %1343 tail call void @llvm.experimental.noalias.scope.decl(metadata !9652) tail call void @llvm.experimental.noalias.scope.decl(metadata !9655) + call void @llvm.assume(i1 true) [ "align"(ptr %1345, i64 8) ] %1348 = getelementptr inbounds nuw i8, ptr %1345, i64 16 %1349 = load ptr, ptr %1348, align 8, !noalias !9658, !nonnull !4, !noundef !4 %1350 = getelementptr inbounds nuw i8, ptr %0, i64 352 @@ -22195,6 +22270,7 @@ common.resume.sink.split.i: ; preds = %1246, %"_ZN4core3pt 1364: ; preds = %1360 tail call void @llvm.experimental.noalias.scope.decl(metadata !9671) tail call void @llvm.experimental.noalias.scope.decl(metadata !9674) + call void @llvm.assume(i1 true) [ "align"(ptr %1362, i64 8) ] %1365 = getelementptr inbounds nuw i8, ptr %1362, i64 16 %1366 = load ptr, ptr %1365, align 8, !noalias !9677, !nonnull !4, !noundef !4 %1367 = getelementptr inbounds nuw i8, ptr %0, i64 392 @@ -22223,6 +22299,7 @@ common.resume.sink.split.i: ; preds = %1246, %"_ZN4core3pt 1379: ; preds = %1375 tail call void @llvm.experimental.noalias.scope.decl(metadata !9690) tail call void @llvm.experimental.noalias.scope.decl(metadata !9693) + call void @llvm.assume(i1 true) [ "align"(ptr %1377, i64 8) ] %1380 = getelementptr inbounds nuw i8, ptr %1377, i64 16 %1381 = load ptr, ptr %1380, align 8, !noalias !9696, !nonnull !4, !noundef !4 %1382 = getelementptr inbounds nuw i8, ptr %0, i64 392 @@ -22476,6 +22553,7 @@ common.resume.sink.split.i: ; preds = %1246, %"_ZN4core3pt 1463: ; preds = %1459 call void @llvm.experimental.noalias.scope.decl(metadata !9826) call void @llvm.experimental.noalias.scope.decl(metadata !9829) + call void @llvm.assume(i1 true) [ "align"(ptr %1461, i64 8) ] %1464 = getelementptr inbounds nuw i8, ptr %1461, i64 16 %1465 = load ptr, ptr %1464, align 8, !noalias !9832, !nonnull !4, !noundef !4 %1466 = getelementptr inbounds nuw i8, ptr %0, i64 496 @@ -22499,6 +22577,7 @@ common.resume.sink.split.i: ; preds = %1246, %"_ZN4core3pt 1476: ; preds = %1471 call void @llvm.experimental.noalias.scope.decl(metadata !9841) call void @llvm.experimental.noalias.scope.decl(metadata !9844) + call void @llvm.assume(i1 true) [ "align"(ptr %1474, i64 8) ] %1477 = getelementptr inbounds nuw i8, ptr %1474, i64 16 %1478 = load ptr, ptr %1477, align 8, !noalias !9847, !nonnull !4, !noundef !4 %1479 = getelementptr inbounds nuw i8, ptr %0, i64 528 @@ -22520,6 +22599,7 @@ common.resume.sink.split.i: ; preds = %1246, %"_ZN4core3pt 1487: ; preds = %"_ZN4core3ptr50drop_in_place$LT$parquet..data_type..ByteArray$GT$17he8a729dd60449a98E.exit.i.i.i.i" call void @llvm.experimental.noalias.scope.decl(metadata !9856) call void @llvm.experimental.noalias.scope.decl(metadata !9859) + call void @llvm.assume(i1 true) [ "align"(ptr %1485, i64 8) ] %1488 = getelementptr inbounds nuw i8, ptr %1485, i64 16 %1489 = load ptr, ptr %1488, align 8, !noalias !9862, !nonnull !4, !noundef !4 %1490 = getelementptr inbounds nuw i8, ptr %0, i64 528 @@ -22853,6 +22933,7 @@ define hidden void @"_ZN4core3ptr73drop_in_place$LT$parquet..arrow..arrow_writer 11: ; preds = %7 tail call void @llvm.experimental.noalias.scope.decl(metadata !10009) tail call void @llvm.experimental.noalias.scope.decl(metadata !10012) + call void @llvm.assume(i1 true) [ "align"(ptr %9, i64 8) ] %12 = getelementptr inbounds nuw i8, ptr %9, i64 16 %13 = load ptr, ptr %12, align 8, !noalias !10015, !nonnull !4, !noundef !4 %14 = getelementptr inbounds nuw i8, ptr %0, i64 32 @@ -22879,6 +22960,7 @@ define hidden void @"_ZN4core3ptr73drop_in_place$LT$parquet..arrow..arrow_writer 25: ; preds = %21 tail call void @llvm.experimental.noalias.scope.decl(metadata !10024) tail call void @llvm.experimental.noalias.scope.decl(metadata !10027) + call void @llvm.assume(i1 true) [ "align"(ptr %23, i64 8) ] %26 = getelementptr inbounds nuw i8, ptr %23, i64 16 %27 = load ptr, ptr %26, align 8, !noalias !10030, !nonnull !4, !noundef !4 %28 = getelementptr inbounds nuw i8, ptr %0, i64 32 @@ -23203,6 +23285,7 @@ define internal fastcc void @"_ZN4core3ptr74drop_in_place$LT$slab..Entry$LT$h2.. 35: ; preds = %30 tail call void @llvm.experimental.noalias.scope.decl(metadata !10211) tail call void @llvm.experimental.noalias.scope.decl(metadata !10214) + call void @llvm.assume(i1 true) [ "align"(ptr %33, i64 8) ] %36 = getelementptr inbounds nuw i8, ptr %33, i64 24 %37 = load ptr, ptr %36, align 8, !noalias !10217, !nonnull !4, !noundef !4 %38 = getelementptr inbounds nuw i8, ptr %0, i64 152 @@ -23220,6 +23303,7 @@ define internal fastcc void @"_ZN4core3ptr74drop_in_place$LT$slab..Entry$LT$h2.. 43: ; preds = %"_ZN4core3ptr53drop_in_place$LT$h2..proto..streams..state..State$GT$17hc6303fb16498551aE.exit.i" tail call void @llvm.experimental.noalias.scope.decl(metadata !10223) tail call void @llvm.experimental.noalias.scope.decl(metadata !10226) + call void @llvm.assume(i1 true) [ "align"(ptr %41, i64 8) ] %44 = getelementptr inbounds nuw i8, ptr %41, i64 24 %45 = load ptr, ptr %44, align 8, !noalias !10229, !nonnull !4, !noundef !4 %46 = getelementptr inbounds nuw i8, ptr %0, i64 152 @@ -23238,6 +23322,7 @@ define internal fastcc void @"_ZN4core3ptr74drop_in_place$LT$slab..Entry$LT$h2.. 51: ; preds = %"_ZN4core3ptr72drop_in_place$LT$core..option..Option$LT$core..task..wake..Waker$GT$$GT$17h7856537e258507b9E.llvm.9135219245553044050.exit.i" tail call void @llvm.experimental.noalias.scope.decl(metadata !10235) tail call void @llvm.experimental.noalias.scope.decl(metadata !10238) + call void @llvm.assume(i1 true) [ "align"(ptr %49, i64 8) ] %52 = getelementptr inbounds nuw i8, ptr %49, i64 24 %53 = load ptr, ptr %52, align 8, !noalias !10241, !nonnull !4, !noundef !4 %54 = getelementptr inbounds nuw i8, ptr %0, i64 176 @@ -23260,6 +23345,7 @@ define internal fastcc void @"_ZN4core3ptr74drop_in_place$LT$slab..Entry$LT$h2.. 61: ; preds = %"_ZN4core3ptr72drop_in_place$LT$core..option..Option$LT$core..task..wake..Waker$GT$$GT$17h7856537e258507b9E.llvm.9135219245553044050.exit4.i" tail call void @llvm.experimental.noalias.scope.decl(metadata !10247) tail call void @llvm.experimental.noalias.scope.decl(metadata !10250) + call void @llvm.assume(i1 true) [ "align"(ptr %59, i64 8) ] %62 = getelementptr inbounds nuw i8, ptr %59, i64 24 %63 = load ptr, ptr %62, align 8, !noalias !10253, !nonnull !4, !noundef !4 %64 = getelementptr inbounds nuw i8, ptr %0, i64 176 @@ -23958,6 +24044,7 @@ define hidden void @"_ZN4core3ptr78drop_in_place$LT$core..option..Option$LT$parq 8: ; preds = %4 tail call void @llvm.experimental.noalias.scope.decl(metadata !10507) tail call void @llvm.experimental.noalias.scope.decl(metadata !10510) + call void @llvm.assume(i1 true) [ "align"(ptr %6, i64 8) ] %9 = getelementptr inbounds nuw i8, ptr %6, i64 16 %10 = load ptr, ptr %9, align 8, !noalias !10513, !nonnull !4, !noundef !4 %11 = getelementptr inbounds nuw i8, ptr %0, i64 32 @@ -23980,6 +24067,7 @@ define hidden void @"_ZN4core3ptr78drop_in_place$LT$futures_core..task..__intern 4: ; preds = %1 tail call void @llvm.experimental.noalias.scope.decl(metadata !10521) tail call void @llvm.experimental.noalias.scope.decl(metadata !10524) + call void @llvm.assume(i1 true) [ "align"(ptr %2, i64 8) ] %5 = getelementptr inbounds nuw i8, ptr %2, i64 24 %6 = load ptr, ptr %5, align 8, !noalias !10527, !nonnull !4, !noundef !4 %7 = getelementptr inbounds nuw i8, ptr %0, i64 8 @@ -24588,6 +24676,7 @@ define internal fastcc void @"_ZN4core3ptr79drop_in_place$LT$parquet..arrow..arr 70: ; preds = %66 tail call void @llvm.experimental.noalias.scope.decl(metadata !11056) tail call void @llvm.experimental.noalias.scope.decl(metadata !11059) + call void @llvm.assume(i1 true) [ "align"(ptr %68, i64 8) ] %71 = getelementptr inbounds nuw i8, ptr %68, i64 16 %72 = load ptr, ptr %71, align 8, !noalias !11062, !nonnull !4, !noundef !4 %73 = getelementptr inbounds nuw i8, ptr %0, i64 32 @@ -24623,6 +24712,7 @@ define internal fastcc void @"_ZN4core3ptr79drop_in_place$LT$parquet..arrow..arr 89: ; preds = %85 tail call void @llvm.experimental.noalias.scope.decl(metadata !11074) tail call void @llvm.experimental.noalias.scope.decl(metadata !11077) + call void @llvm.assume(i1 true) [ "align"(ptr %87, i64 8) ] %90 = getelementptr inbounds nuw i8, ptr %87, i64 16 %91 = load ptr, ptr %90, align 8, !noalias !11080, !nonnull !4, !noundef !4 %92 = getelementptr inbounds nuw i8, ptr %0, i64 32 @@ -24652,6 +24742,7 @@ define internal fastcc void @"_ZN4core3ptr79drop_in_place$LT$parquet..arrow..arr 104: ; preds = %100 tail call void @llvm.experimental.noalias.scope.decl(metadata !11091) tail call void @llvm.experimental.noalias.scope.decl(metadata !11094) + call void @llvm.assume(i1 true) [ "align"(ptr %102, i64 8) ] %105 = getelementptr inbounds nuw i8, ptr %102, i64 16 %106 = load ptr, ptr %105, align 8, !noalias !11097, !nonnull !4, !noundef !4 %107 = getelementptr inbounds nuw i8, ptr %0, i64 72 @@ -24685,6 +24776,7 @@ define internal fastcc void @"_ZN4core3ptr79drop_in_place$LT$parquet..arrow..arr 121: ; preds = %117 tail call void @llvm.experimental.noalias.scope.decl(metadata !11108) tail call void @llvm.experimental.noalias.scope.decl(metadata !11111) + call void @llvm.assume(i1 true) [ "align"(ptr %119, i64 8) ] %122 = getelementptr inbounds nuw i8, ptr %119, i64 16 %123 = load ptr, ptr %122, align 8, !noalias !11114, !nonnull !4, !noundef !4 %124 = getelementptr inbounds nuw i8, ptr %0, i64 72 @@ -25224,6 +25316,7 @@ define hidden void @"_ZN4core3ptr84drop_in_place$LT$core..cell..UnsafeCell$LT$fu 4: ; preds = %1 tail call void @llvm.experimental.noalias.scope.decl(metadata !11369) tail call void @llvm.experimental.noalias.scope.decl(metadata !11372) + call void @llvm.assume(i1 true) [ "align"(ptr %2, i64 8) ] %5 = getelementptr inbounds nuw i8, ptr %2, i64 24 %6 = load ptr, ptr %5, align 8, !noalias !11375, !nonnull !4, !noundef !4 %7 = getelementptr inbounds nuw i8, ptr %0, i64 8 @@ -25319,6 +25412,7 @@ define hidden void @"_ZN4core3ptr85drop_in_place$LT$futures_channel..oneshot..In 4: ; preds = %1 tail call void @llvm.experimental.noalias.scope.decl(metadata !11400) tail call void @llvm.experimental.noalias.scope.decl(metadata !11403) + call void @llvm.assume(i1 true) [ "align"(ptr %2, i64 8) ] %5 = getelementptr inbounds nuw i8, ptr %2, i64 24 %6 = load ptr, ptr %5, align 8, !noalias !11406, !nonnull !4, !noundef !4 %7 = getelementptr inbounds nuw i8, ptr %0, i64 8 @@ -25340,6 +25434,7 @@ define hidden void @"_ZN4core3ptr85drop_in_place$LT$futures_channel..oneshot..In 14: ; preds = %9 tail call void @llvm.experimental.noalias.scope.decl(metadata !11417) tail call void @llvm.experimental.noalias.scope.decl(metadata !11420) + call void @llvm.assume(i1 true) [ "align"(ptr %12, i64 8) ] %15 = getelementptr inbounds nuw i8, ptr %12, i64 24 %16 = load ptr, ptr %15, align 8, !noalias !11423, !nonnull !4, !noundef !4 %17 = getelementptr inbounds nuw i8, ptr %0, i64 32 @@ -25359,6 +25454,7 @@ define hidden void @"_ZN4core3ptr85drop_in_place$LT$futures_channel..oneshot..In 22: ; preds = %"_ZN4core3ptr107drop_in_place$LT$futures_channel..lock..Lock$LT$core..option..Option$LT$core..task..wake..Waker$GT$$GT$$GT$17hb0ba724fa78fb4e5E.llvm.9135219245553044050.exit" tail call void @llvm.experimental.noalias.scope.decl(metadata !11434) tail call void @llvm.experimental.noalias.scope.decl(metadata !11437) + call void @llvm.assume(i1 true) [ "align"(ptr %20, i64 8) ] %23 = getelementptr inbounds nuw i8, ptr %20, i64 24 %24 = load ptr, ptr %23, align 8, !noalias !11440, !nonnull !4, !noundef !4 %25 = getelementptr inbounds nuw i8, ptr %0, i64 32 @@ -25392,6 +25488,7 @@ define hidden void @"_ZN4core3ptr85drop_in_place$LT$std..sync..mutex..Mutex$LT$f 5: ; preds = %1 tail call void @llvm.experimental.noalias.scope.decl(metadata !11451) tail call void @llvm.experimental.noalias.scope.decl(metadata !11454) + call void @llvm.assume(i1 true) [ "align"(ptr %3, i64 8) ] %6 = getelementptr inbounds nuw i8, ptr %3, i64 24 %7 = load ptr, ptr %6, align 8, !noalias !11457, !nonnull !4, !noundef !4 %8 = getelementptr inbounds nuw i8, ptr %0, i64 16 @@ -25498,6 +25595,7 @@ define hidden void @"_ZN4core3ptr86drop_in_place$LT$core..option..Option$LT$parq 8: ; preds = %4 tail call void @llvm.experimental.noalias.scope.decl(metadata !11509) tail call void @llvm.experimental.noalias.scope.decl(metadata !11512) + call void @llvm.assume(i1 true) [ "align"(ptr %6, i64 8) ] %9 = getelementptr inbounds nuw i8, ptr %6, i64 16 %10 = load ptr, ptr %9, align 8, !noalias !11515, !nonnull !4, !noundef !4 %11 = getelementptr inbounds nuw i8, ptr %0, i64 32 @@ -25537,6 +25635,7 @@ define internal fastcc void @"_ZN4core3ptr86drop_in_place$LT$http..header..map.. tail call void @llvm.experimental.noalias.scope.decl(metadata !11526) tail call void @llvm.experimental.noalias.scope.decl(metadata !11529) tail call void @llvm.experimental.noalias.scope.decl(metadata !11532) + call void @llvm.assume(i1 true) [ "align"(ptr %3, i64 8) ] %6 = getelementptr inbounds nuw i8, ptr %3, i64 16 %7 = load ptr, ptr %6, align 8, !noalias !11535, !nonnull !4, !noundef !4 %8 = getelementptr inbounds nuw i8, ptr %0, i64 88 @@ -25913,6 +26012,7 @@ define hidden void @"_ZN4core3ptr88drop_in_place$LT$futures_channel..oneshot..In 10: ; preds = %5 tail call void @llvm.experimental.noalias.scope.decl(metadata !11644) tail call void @llvm.experimental.noalias.scope.decl(metadata !11647) + call void @llvm.assume(i1 true) [ "align"(ptr %8, i64 8) ] %11 = getelementptr inbounds nuw i8, ptr %8, i64 24 %12 = load ptr, ptr %11, align 8, !noalias !11650, !nonnull !4, !noundef !4 %13 = getelementptr inbounds nuw i8, ptr %0, i64 112 @@ -25932,6 +26032,7 @@ define hidden void @"_ZN4core3ptr88drop_in_place$LT$futures_channel..oneshot..In 18: ; preds = %"_ZN4core3ptr112drop_in_place$LT$futures_channel..lock..Lock$LT$core..option..Option$LT$http..header..map..HeaderMap$GT$$GT$$GT$17hadf3e91efd740f3bE.llvm.9135219245553044050.exit" tail call void @llvm.experimental.noalias.scope.decl(metadata !11661) tail call void @llvm.experimental.noalias.scope.decl(metadata !11664) + call void @llvm.assume(i1 true) [ "align"(ptr %16, i64 8) ] %19 = getelementptr inbounds nuw i8, ptr %16, i64 24 %20 = load ptr, ptr %19, align 8, !noalias !11667, !nonnull !4, !noundef !4 %21 = getelementptr inbounds nuw i8, ptr %0, i64 112 @@ -25952,6 +26053,7 @@ define hidden void @"_ZN4core3ptr88drop_in_place$LT$futures_channel..oneshot..In 26: ; preds = %"_ZN4core3ptr107drop_in_place$LT$futures_channel..lock..Lock$LT$core..option..Option$LT$core..task..wake..Waker$GT$$GT$$GT$17hb0ba724fa78fb4e5E.llvm.9135219245553044050.exit" tail call void @llvm.experimental.noalias.scope.decl(metadata !11678) tail call void @llvm.experimental.noalias.scope.decl(metadata !11681) + call void @llvm.assume(i1 true) [ "align"(ptr %24, i64 8) ] %27 = getelementptr inbounds nuw i8, ptr %24, i64 24 %28 = load ptr, ptr %27, align 8, !noalias !11684, !nonnull !4, !noundef !4 %29 = getelementptr inbounds nuw i8, ptr %0, i64 136 @@ -25976,6 +26078,7 @@ define hidden void @"_ZN4core3ptr88drop_in_place$LT$futures_channel..oneshot..In 36: ; preds = %"_ZN4core3ptr107drop_in_place$LT$futures_channel..lock..Lock$LT$core..option..Option$LT$core..task..wake..Waker$GT$$GT$$GT$17hb0ba724fa78fb4e5E.llvm.9135219245553044050.exit4" tail call void @llvm.experimental.noalias.scope.decl(metadata !11695) tail call void @llvm.experimental.noalias.scope.decl(metadata !11698) + call void @llvm.assume(i1 true) [ "align"(ptr %34, i64 8) ] %37 = getelementptr inbounds nuw i8, ptr %34, i64 24 %38 = load ptr, ptr %37, align 8, !noalias !11701, !nonnull !4, !noundef !4 %39 = getelementptr inbounds nuw i8, ptr %0, i64 136 @@ -26094,6 +26197,7 @@ define hidden void @"_ZN4core3ptr90drop_in_place$LT$core..result..Result$LT$byte 3: ; preds = %1 tail call void @llvm.experimental.noalias.scope.decl(metadata !11723) tail call void @llvm.experimental.noalias.scope.decl(metadata !11726) + call void @llvm.assume(i1 true) [ "align"(ptr %2, i64 8) ] %4 = getelementptr inbounds nuw i8, ptr %2, i64 16 %5 = load ptr, ptr %4, align 8, !noalias !11729, !nonnull !4, !noundef !4 %6 = getelementptr inbounds nuw i8, ptr %0, i64 24 @@ -26460,6 +26564,7 @@ define hidden void @"_ZN4core3ptr94drop_in_place$LT$std..io..Take$LT$parquet..ar 11: ; preds = %7 tail call void @llvm.experimental.noalias.scope.decl(metadata !11856) tail call void @llvm.experimental.noalias.scope.decl(metadata !11859) + call void @llvm.assume(i1 true) [ "align"(ptr %9, i64 8) ] %12 = getelementptr inbounds nuw i8, ptr %9, i64 16 %13 = load ptr, ptr %12, align 8, !noalias !11862, !nonnull !4, !noundef !4 %14 = getelementptr inbounds nuw i8, ptr %0, i64 32 @@ -26486,6 +26591,7 @@ define hidden void @"_ZN4core3ptr94drop_in_place$LT$std..io..Take$LT$parquet..ar 25: ; preds = %21 tail call void @llvm.experimental.noalias.scope.decl(metadata !11871) tail call void @llvm.experimental.noalias.scope.decl(metadata !11874) + call void @llvm.assume(i1 true) [ "align"(ptr %23, i64 8) ] %26 = getelementptr inbounds nuw i8, ptr %23, i64 16 %27 = load ptr, ptr %26, align 8, !noalias !11877, !nonnull !4, !noundef !4 %28 = getelementptr inbounds nuw i8, ptr %0, i64 32 @@ -26616,6 +26722,7 @@ define hidden void @"_ZN4core3ptr96drop_in_place$LT$$u5b$http..header..map..Buck tail call void @llvm.experimental.noalias.scope.decl(metadata !11913) tail call void @llvm.experimental.noalias.scope.decl(metadata !11916) tail call void @llvm.experimental.noalias.scope.decl(metadata !11919) + call void @llvm.assume(i1 true) [ "align"(ptr %8, i64 8) ] %11 = getelementptr inbounds nuw i8, ptr %8, i64 16 %12 = load ptr, ptr %11, align 8, !noalias !11922, !nonnull !4, !noundef !4 %13 = getelementptr inbounds nuw i8, ptr %5, i64 88 @@ -26812,6 +26919,7 @@ define hidden void @"_ZN4core3ptr96drop_in_place$LT$core..option..Option$LT$core 8: ; preds = %4 tail call void @llvm.experimental.noalias.scope.decl(metadata !11993) tail call void @llvm.experimental.noalias.scope.decl(metadata !11996) + call void @llvm.assume(i1 true) [ "align"(ptr %6, i64 8) ] %9 = getelementptr inbounds nuw i8, ptr %6, i64 16 %10 = load ptr, ptr %9, align 8, !noalias !11999, !nonnull !4, !noundef !4 %11 = getelementptr inbounds nuw i8, ptr %0, i64 32 @@ -26842,6 +26950,7 @@ define internal fastcc void @"_ZN4core3ptr96drop_in_place$LT$parquet..column..wr 9: ; preds = %5 tail call void @llvm.experimental.noalias.scope.decl(metadata !12010) tail call void @llvm.experimental.noalias.scope.decl(metadata !12013) + call void @llvm.assume(i1 true) [ "align"(ptr %7, i64 8) ] %10 = getelementptr inbounds nuw i8, ptr %7, i64 16 %11 = load ptr, ptr %10, align 8, !noalias !12016, !nonnull !4, !noundef !4 %12 = getelementptr inbounds nuw i8, ptr %0, i64 64 @@ -26872,6 +26981,7 @@ define internal fastcc void @"_ZN4core3ptr96drop_in_place$LT$parquet..column..wr 26: ; preds = %22 tail call void @llvm.experimental.noalias.scope.decl(metadata !12027) tail call void @llvm.experimental.noalias.scope.decl(metadata !12030) + call void @llvm.assume(i1 true) [ "align"(ptr %24, i64 8) ] %27 = getelementptr inbounds nuw i8, ptr %24, i64 16 %28 = load ptr, ptr %27, align 8, !noalias !12033, !nonnull !4, !noundef !4 %29 = getelementptr inbounds nuw i8, ptr %0, i64 104 @@ -26900,6 +27010,7 @@ define internal fastcc void @"_ZN4core3ptr96drop_in_place$LT$parquet..column..wr 41: ; preds = %37 tail call void @llvm.experimental.noalias.scope.decl(metadata !12044) tail call void @llvm.experimental.noalias.scope.decl(metadata !12047) + call void @llvm.assume(i1 true) [ "align"(ptr %39, i64 8) ] %42 = getelementptr inbounds nuw i8, ptr %39, i64 16 %43 = load ptr, ptr %42, align 8, !noalias !12050, !nonnull !4, !noundef !4 %44 = getelementptr inbounds nuw i8, ptr %0, i64 104 @@ -28494,6 +28605,7 @@ define hidden void @"_ZN61_$LT$tracing..span..Span$u20$as$u20$core..ops..drop..D br i1 %.not4, label %12, label %16 16: ; preds = %13 + call void @llvm.assume(i1 true) [ "align"(ptr %15, i64 8) ] call void @llvm.lifetime.start.p0(ptr nonnull %4) call void @llvm.lifetime.start.p0(ptr nonnull %3) call void @llvm.lifetime.start.p0(ptr nonnull %2) @@ -31879,6 +31991,7 @@ define hidden void @_ZN7tracing4span4Span3log17hb84d364d4a2ace98E.llvm.913521924 br i1 %.not, label %18, label %13 13: ; preds = %5 + call void @llvm.assume(i1 true) [ "align"(ptr %12, i64 8) ] %14 = load i64, ptr %12, align 8, !range !12899, !noundef !4 %switch.tableidx = add nsw i64 %14, -1 %15 = icmp ult i64 %switch.tableidx, 4 @@ -32159,6 +32272,7 @@ default.unreachable19: ; preds = %8 18: ; preds = %16 call void @llvm.experimental.noalias.scope.decl(metadata !12923) call void @llvm.experimental.noalias.scope.decl(metadata !12926) + call void @llvm.assume(i1 true) [ "align"(ptr %17, i64 8) ] %19 = getelementptr inbounds nuw i8, ptr %17, i64 16 %20 = load ptr, ptr %19, align 8, !noalias !12929, !nonnull !4, !noundef !4 %21 = load ptr, ptr %6, align 8, !alias.scope !12929, !noundef !4 @@ -32216,6 +32330,7 @@ common.resume: ; preds = %common.resume.sink. 31: ; preds = %.thread16 call void @llvm.experimental.noalias.scope.decl(metadata !12950) call void @llvm.experimental.noalias.scope.decl(metadata !12953) + call void @llvm.assume(i1 true) [ "align"(ptr %30, i64 8) ] %32 = getelementptr inbounds nuw i8, ptr %30, i64 16 %33 = load ptr, ptr %32, align 8, !noalias !12956, !nonnull !4, !noundef !4 %34 = load ptr, ptr %6, align 8, !alias.scope !12956, !noundef !4 diff --git a/bench/influxdb-rs/optimized/4kb3gpg2ia525kiq.ll b/bench/influxdb-rs/optimized/4kb3gpg2ia525kiq.ll index 1ebd80af481..96866f33dd4 100644 --- a/bench/influxdb-rs/optimized/4kb3gpg2ia525kiq.ll +++ b/bench/influxdb-rs/optimized/4kb3gpg2ia525kiq.ll @@ -435,23 +435,30 @@ common.resume: ; preds = %49, %30 store ptr %13, ptr %12, align 8 call void @llvm.lifetime.start.p0(ptr nonnull %11) store ptr %14, ptr %11, align 8 + call void @llvm.assume(i1 true) [ "align"(ptr %14, i64 8) ] %37 = getelementptr inbounds nuw i8, ptr %1, i64 56 %38 = load i64, ptr %37, align 8, !noundef !4 %.not.i = icmp eq i64 %38, 7 - br i1 %.not.i, label %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17hf86c1ab06681b072E.exit", label %_ZN5alloc3fmt6format17hce246aee5769fae0E.exit + br i1 %.not.i, label %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17hf86c1ab06681b072E.exit", label %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17hf86c1ab06681b072E.exit.thread" "_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17hf86c1ab06681b072E.exit": ; preds = %36 %bcmp.i = tail call i32 @bcmp(ptr noundef nonnull readonly align 1 dereferenceable(7) %18, ptr noundef nonnull dereferenceable(7) @anon.308865ba680f7ac200acd848c104eb90.18, i64 7), !alias.scope !81 %39 = icmp eq i32 %bcmp.i, 0 br i1 %39, label %41, label %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17hf86c1ab06681b072E.exit25" +"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17hf86c1ab06681b072E.exit.thread": ; preds = %36 + call void @llvm.assume(i1 true) [ "align"(ptr %14, i64 8) ] + br label %_ZN5alloc3fmt6format17hce246aee5769fae0E.exit + "_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17hf86c1ab06681b072E.exit25": ; preds = %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17hf86c1ab06681b072E.exit" + call void @llvm.assume(i1 true) [ "align"(ptr %14, i64 8) ] %bcmp.i24 = tail call i32 @bcmp(ptr noundef nonnull readonly align 1 dereferenceable(7) %18, ptr noundef nonnull dereferenceable(7) @anon.308865ba680f7ac200acd848c104eb90.20, i64 7), !alias.scope !85 %40 = icmp eq i32 %bcmp.i24, 0 br i1 %40, label %41, label %_ZN5alloc3fmt6format17hce246aee5769fae0E.exit 41: ; preds = %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17hf86c1ab06681b072E.exit25", %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17hf86c1ab06681b072E.exit" call void @llvm.lifetime.start.p0(ptr nonnull %.sroa.030) + call void @llvm.assume(i1 true) [ "align"(ptr %13, i64 8) ] call void @llvm.lifetime.start.p0(ptr nonnull %6), !noalias !89 store ptr inttoptr (i64 1 to ptr), ptr %6, align 8, !noalias !89 %.sroa.4.0..sroa_idx.i26 = getelementptr inbounds nuw i8, ptr %6, i64 8 @@ -503,7 +510,7 @@ common.resume: ; preds = %49, %30 call void @llvm.lifetime.end.p0(ptr nonnull %.sroa.030) br label %58 -_ZN5alloc3fmt6format17hce246aee5769fae0E.exit: ; preds = %36, %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17hf86c1ab06681b072E.exit25" +_ZN5alloc3fmt6format17hce246aee5769fae0E.exit: ; preds = %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17hf86c1ab06681b072E.exit.thread", %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17hf86c1ab06681b072E.exit25" call void @llvm.lifetime.start.p0(ptr nonnull %9) store ptr %12, ptr %9, align 8 %55 = getelementptr inbounds nuw i8, ptr %9, i64 8 diff --git a/bench/influxdb-rs/optimized/55ksfxb2g8gj9lwh.ll b/bench/influxdb-rs/optimized/55ksfxb2g8gj9lwh.ll index 3ca6976638f..8f81c9bbc22 100644 --- a/bench/influxdb-rs/optimized/55ksfxb2g8gj9lwh.ll +++ b/bench/influxdb-rs/optimized/55ksfxb2g8gj9lwh.ll @@ -920,6 +920,7 @@ define hidden void @"_ZN4core3ptr100drop_in_place$LT$parquet..file..statistics.. 8: ; preds = %4 tail call void @llvm.experimental.noalias.scope.decl(metadata !222) tail call void @llvm.experimental.noalias.scope.decl(metadata !225) + call void @llvm.assume(i1 true) [ "align"(ptr %6, i64 8) ] %9 = getelementptr inbounds nuw i8, ptr %6, i64 16 %10 = load ptr, ptr %9, align 8, !noalias !228, !nonnull !4, !noundef !4 %11 = getelementptr inbounds nuw i8, ptr %0, i64 32 @@ -950,6 +951,7 @@ define hidden void @"_ZN4core3ptr100drop_in_place$LT$parquet..file..statistics.. 25: ; preds = %21 tail call void @llvm.experimental.noalias.scope.decl(metadata !239) tail call void @llvm.experimental.noalias.scope.decl(metadata !242) + call void @llvm.assume(i1 true) [ "align"(ptr %23, i64 8) ] %26 = getelementptr inbounds nuw i8, ptr %23, i64 16 %27 = load ptr, ptr %26, align 8, !noalias !245, !nonnull !4, !noundef !4 %28 = getelementptr inbounds nuw i8, ptr %0, i64 72 @@ -978,6 +980,7 @@ define hidden void @"_ZN4core3ptr100drop_in_place$LT$parquet..file..statistics.. 40: ; preds = %36 tail call void @llvm.experimental.noalias.scope.decl(metadata !256) tail call void @llvm.experimental.noalias.scope.decl(metadata !259) + call void @llvm.assume(i1 true) [ "align"(ptr %38, i64 8) ] %41 = getelementptr inbounds nuw i8, ptr %38, i64 16 %42 = load ptr, ptr %41, align 8, !noalias !262, !nonnull !4, !noundef !4 %43 = getelementptr inbounds nuw i8, ptr %0, i64 72 @@ -1333,6 +1336,7 @@ define hidden void @"_ZN4core3ptr102drop_in_place$LT$core..cell..UnsafeCell$LT$c 4: ; preds = %1 tail call void @llvm.experimental.noalias.scope.decl(metadata !377) tail call void @llvm.experimental.noalias.scope.decl(metadata !380) + call void @llvm.assume(i1 true) [ "align"(ptr %2, i64 8) ] %5 = getelementptr inbounds nuw i8, ptr %2, i64 24 %6 = load ptr, ptr %5, align 8, !noalias !383, !nonnull !4, !noundef !4 %7 = getelementptr inbounds nuw i8, ptr %0, i64 8 @@ -1765,6 +1769,7 @@ define internal fastcc void @"_ZN4core3ptr104drop_in_place$LT$parquet..column..w 9: ; preds = %5 tail call void @llvm.experimental.noalias.scope.decl(metadata !531) tail call void @llvm.experimental.noalias.scope.decl(metadata !534) + call void @llvm.assume(i1 true) [ "align"(ptr %7, i64 8) ] %10 = getelementptr inbounds nuw i8, ptr %7, i64 16 %11 = load ptr, ptr %10, align 8, !noalias !537, !nonnull !4, !noundef !4 %12 = getelementptr inbounds nuw i8, ptr %0, i64 64 @@ -1796,6 +1801,7 @@ define internal fastcc void @"_ZN4core3ptr104drop_in_place$LT$parquet..column..w 26: ; preds = %22 tail call void @llvm.experimental.noalias.scope.decl(metadata !551) tail call void @llvm.experimental.noalias.scope.decl(metadata !554) + call void @llvm.assume(i1 true) [ "align"(ptr %24, i64 8) ] %27 = getelementptr inbounds nuw i8, ptr %24, i64 16 %28 = load ptr, ptr %27, align 8, !noalias !557, !nonnull !4, !noundef !4 %29 = getelementptr inbounds nuw i8, ptr %0, i64 104 @@ -1825,6 +1831,7 @@ define internal fastcc void @"_ZN4core3ptr104drop_in_place$LT$parquet..column..w 41: ; preds = %37 tail call void @llvm.experimental.noalias.scope.decl(metadata !571) tail call void @llvm.experimental.noalias.scope.decl(metadata !574) + call void @llvm.assume(i1 true) [ "align"(ptr %39, i64 8) ] %42 = getelementptr inbounds nuw i8, ptr %39, i64 16 %43 = load ptr, ptr %42, align 8, !noalias !577, !nonnull !4, !noundef !4 %44 = getelementptr inbounds nuw i8, ptr %0, i64 104 @@ -2315,6 +2322,7 @@ define hidden void @"_ZN4core3ptr106drop_in_place$LT$tokio..loom..std..parking_l 5: ; preds = %1 tail call void @llvm.experimental.noalias.scope.decl(metadata !706) tail call void @llvm.experimental.noalias.scope.decl(metadata !709) + call void @llvm.assume(i1 true) [ "align"(ptr %3, i64 8) ] %6 = getelementptr inbounds nuw i8, ptr %3, i64 24 %7 = load ptr, ptr %6, align 8, !noalias !712, !nonnull !4, !noundef !4 %8 = getelementptr inbounds nuw i8, ptr %0, i64 32 @@ -2334,6 +2342,7 @@ define hidden void @"_ZN4core3ptr106drop_in_place$LT$tokio..loom..std..parking_l 15: ; preds = %10 tail call void @llvm.experimental.noalias.scope.decl(metadata !718) tail call void @llvm.experimental.noalias.scope.decl(metadata !721) + call void @llvm.assume(i1 true) [ "align"(ptr %13, i64 8) ] %16 = getelementptr inbounds nuw i8, ptr %13, i64 24 %17 = load ptr, ptr %16, align 8, !noalias !724, !nonnull !4, !noundef !4 %18 = getelementptr inbounds nuw i8, ptr %0, i64 48 @@ -2351,6 +2360,7 @@ define hidden void @"_ZN4core3ptr106drop_in_place$LT$tokio..loom..std..parking_l 23: ; preds = %"_ZN4core3ptr72drop_in_place$LT$core..option..Option$LT$core..task..wake..Waker$GT$$GT$17h5c63a687df690d33E.llvm.12494526139044184965.exit.i.i.i" tail call void @llvm.experimental.noalias.scope.decl(metadata !729) tail call void @llvm.experimental.noalias.scope.decl(metadata !732) + call void @llvm.assume(i1 true) [ "align"(ptr %21, i64 8) ] %24 = getelementptr inbounds nuw i8, ptr %21, i64 24 %25 = load ptr, ptr %24, align 8, !noalias !735, !nonnull !4, !noundef !4 %26 = getelementptr inbounds nuw i8, ptr %0, i64 48 @@ -2835,6 +2845,7 @@ define hidden void @"_ZN4core3ptr108drop_in_place$LT$parquet..file..statistics.. 8: ; preds = %4 tail call void @llvm.experimental.noalias.scope.decl(metadata !960) tail call void @llvm.experimental.noalias.scope.decl(metadata !963) + call void @llvm.assume(i1 true) [ "align"(ptr %6, i64 8) ] %9 = getelementptr inbounds nuw i8, ptr %6, i64 16 %10 = load ptr, ptr %9, align 8, !noalias !966, !nonnull !4, !noundef !4 %11 = getelementptr inbounds nuw i8, ptr %0, i64 32 @@ -2866,6 +2877,7 @@ define hidden void @"_ZN4core3ptr108drop_in_place$LT$parquet..file..statistics.. 25: ; preds = %21 tail call void @llvm.experimental.noalias.scope.decl(metadata !980) tail call void @llvm.experimental.noalias.scope.decl(metadata !983) + call void @llvm.assume(i1 true) [ "align"(ptr %23, i64 8) ] %26 = getelementptr inbounds nuw i8, ptr %23, i64 16 %27 = load ptr, ptr %26, align 8, !noalias !986, !nonnull !4, !noundef !4 %28 = getelementptr inbounds nuw i8, ptr %0, i64 72 @@ -2895,6 +2907,7 @@ define hidden void @"_ZN4core3ptr108drop_in_place$LT$parquet..file..statistics.. 40: ; preds = %36 tail call void @llvm.experimental.noalias.scope.decl(metadata !1000) tail call void @llvm.experimental.noalias.scope.decl(metadata !1003) + call void @llvm.assume(i1 true) [ "align"(ptr %38, i64 8) ] %41 = getelementptr inbounds nuw i8, ptr %38, i64 16 %42 = load ptr, ptr %41, align 8, !noalias !1006, !nonnull !4, !noundef !4 %43 = getelementptr inbounds nuw i8, ptr %0, i64 72 @@ -2931,6 +2944,7 @@ define hidden void @"_ZN4core3ptr108drop_in_place$LT$tokio..util..cacheline..Cac 4: ; preds = %1 tail call void @llvm.experimental.noalias.scope.decl(metadata !1020) tail call void @llvm.experimental.noalias.scope.decl(metadata !1023) + call void @llvm.assume(i1 true) [ "align"(ptr %2, i64 8) ] %5 = getelementptr inbounds nuw i8, ptr %2, i64 24 %6 = load ptr, ptr %5, align 8, !noalias !1026, !nonnull !4, !noundef !4 %7 = getelementptr inbounds nuw i8, ptr %0, i64 8 @@ -6351,6 +6365,7 @@ define internal fastcc void @"_ZN4core3ptr116drop_in_place$LT$parquet..encodings 8: ; preds = %.lr.ph.i.i.i tail call void @llvm.experimental.noalias.scope.decl(metadata !2356) tail call void @llvm.experimental.noalias.scope.decl(metadata !2359) + call void @llvm.assume(i1 true) [ "align"(ptr %6, i64 8) ] %9 = getelementptr inbounds nuw i8, ptr %6, i64 16 %10 = load ptr, ptr %9, align 8, !noalias !2362, !nonnull !4, !noundef !4 %11 = getelementptr inbounds nuw i8, ptr %4, i64 24 @@ -6384,6 +6399,7 @@ define internal fastcc void @"_ZN4core3ptr116drop_in_place$LT$parquet..encodings 24: ; preds = %.lr.ph12.i.i.i tail call void @llvm.experimental.noalias.scope.decl(metadata !2371) tail call void @llvm.experimental.noalias.scope.decl(metadata !2374) + call void @llvm.assume(i1 true) [ "align"(ptr %22, i64 8) ] %25 = getelementptr inbounds nuw i8, ptr %22, i64 16 %26 = load ptr, ptr %25, align 8, !noalias !2377, !nonnull !4, !noundef !4 %27 = getelementptr inbounds nuw i8, ptr %20, i64 24 @@ -6772,6 +6788,7 @@ define internal fastcc void @"_ZN4core3ptr118drop_in_place$LT$core..option..Opti 8: ; preds = %4 tail call void @llvm.experimental.noalias.scope.decl(metadata !2458) tail call void @llvm.experimental.noalias.scope.decl(metadata !2461) + call void @llvm.assume(i1 true) [ "align"(ptr %6, i64 8) ] %9 = getelementptr inbounds nuw i8, ptr %6, i64 16 %10 = load ptr, ptr %9, align 8, !noalias !2464, !nonnull !4, !noundef !4 %11 = getelementptr inbounds nuw i8, ptr %0, i64 32 @@ -6795,6 +6812,7 @@ define internal fastcc void @"_ZN4core3ptr118drop_in_place$LT$core..option..Opti 21: ; preds = %16 tail call void @llvm.experimental.noalias.scope.decl(metadata !2472) tail call void @llvm.experimental.noalias.scope.decl(metadata !2475) + call void @llvm.assume(i1 true) [ "align"(ptr %19, i64 8) ] %22 = getelementptr inbounds nuw i8, ptr %19, i64 16 %23 = load ptr, ptr %22, align 8, !noalias !2478, !nonnull !4, !noundef !4 %24 = getelementptr inbounds nuw i8, ptr %0, i64 64 @@ -6816,6 +6834,7 @@ define internal fastcc void @"_ZN4core3ptr118drop_in_place$LT$core..option..Opti 32: ; preds = %"_ZN4core3ptr50drop_in_place$LT$parquet..data_type..ByteArray$GT$17h76c3c9c95f18be9dE.exit.i" tail call void @llvm.experimental.noalias.scope.decl(metadata !2487) tail call void @llvm.experimental.noalias.scope.decl(metadata !2490) + call void @llvm.assume(i1 true) [ "align"(ptr %30, i64 8) ] %33 = getelementptr inbounds nuw i8, ptr %30, i64 16 %34 = load ptr, ptr %33, align 8, !noalias !2493, !nonnull !4, !noundef !4 %35 = getelementptr inbounds nuw i8, ptr %0, i64 64 @@ -7068,6 +7087,7 @@ define internal fastcc void @"_ZN4core3ptr118drop_in_place$LT$parquet..column..w 42: ; preds = %38 tail call void @llvm.experimental.noalias.scope.decl(metadata !2564) tail call void @llvm.experimental.noalias.scope.decl(metadata !2567) + call void @llvm.assume(i1 true) [ "align"(ptr %40, i64 8) ] %43 = getelementptr inbounds nuw i8, ptr %40, i64 16 %44 = load ptr, ptr %43, align 8, !noalias !2570, !nonnull !4, !noundef !4 %45 = getelementptr inbounds nuw i8, ptr %0, i64 32 @@ -7100,6 +7120,7 @@ define internal fastcc void @"_ZN4core3ptr118drop_in_place$LT$parquet..column..w 58: ; preds = %54 tail call void @llvm.experimental.noalias.scope.decl(metadata !2581) tail call void @llvm.experimental.noalias.scope.decl(metadata !2584) + call void @llvm.assume(i1 true) [ "align"(ptr %56, i64 8) ] %59 = getelementptr inbounds nuw i8, ptr %56, i64 16 %60 = load ptr, ptr %59, align 8, !noalias !2587, !nonnull !4, !noundef !4 %61 = getelementptr inbounds nuw i8, ptr %0, i64 32 @@ -7129,6 +7150,7 @@ define internal fastcc void @"_ZN4core3ptr118drop_in_place$LT$parquet..column..w 73: ; preds = %69 tail call void @llvm.experimental.noalias.scope.decl(metadata !2598) tail call void @llvm.experimental.noalias.scope.decl(metadata !2601) + call void @llvm.assume(i1 true) [ "align"(ptr %71, i64 8) ] %74 = getelementptr inbounds nuw i8, ptr %71, i64 16 %75 = load ptr, ptr %74, align 8, !noalias !2604, !nonnull !4, !noundef !4 %76 = getelementptr inbounds nuw i8, ptr %0, i64 72 @@ -7162,6 +7184,7 @@ define internal fastcc void @"_ZN4core3ptr118drop_in_place$LT$parquet..column..w 90: ; preds = %86 tail call void @llvm.experimental.noalias.scope.decl(metadata !2615) tail call void @llvm.experimental.noalias.scope.decl(metadata !2618) + call void @llvm.assume(i1 true) [ "align"(ptr %88, i64 8) ] %91 = getelementptr inbounds nuw i8, ptr %88, i64 16 %92 = load ptr, ptr %91, align 8, !noalias !2621, !nonnull !4, !noundef !4 %93 = getelementptr inbounds nuw i8, ptr %0, i64 72 @@ -7293,6 +7316,7 @@ define hidden void @"_ZN4core3ptr121drop_in_place$LT$tokio..loom..std..unsafe_ce 4: ; preds = %1 tail call void @llvm.experimental.noalias.scope.decl(metadata !2668) tail call void @llvm.experimental.noalias.scope.decl(metadata !2671) + call void @llvm.assume(i1 true) [ "align"(ptr %2, i64 8) ] %5 = getelementptr inbounds nuw i8, ptr %2, i64 24 %6 = load ptr, ptr %5, align 8, !noalias !2674, !nonnull !4, !noundef !4 %7 = getelementptr inbounds nuw i8, ptr %0, i64 8 @@ -8208,6 +8232,7 @@ define internal fastcc void @"_ZN4core3ptr124drop_in_place$LT$parquet..encodings 8: ; preds = %.lr.ph.i.i.i tail call void @llvm.experimental.noalias.scope.decl(metadata !3253) tail call void @llvm.experimental.noalias.scope.decl(metadata !3256) + call void @llvm.assume(i1 true) [ "align"(ptr %6, i64 8) ] %9 = getelementptr inbounds nuw i8, ptr %6, i64 16 %10 = load ptr, ptr %9, align 8, !noalias !3259, !nonnull !4, !noundef !4 %11 = getelementptr inbounds nuw i8, ptr %4, i64 24 @@ -8242,6 +8267,7 @@ define internal fastcc void @"_ZN4core3ptr124drop_in_place$LT$parquet..encodings 24: ; preds = %.lr.ph12.i.i.i tail call void @llvm.experimental.noalias.scope.decl(metadata !3271) tail call void @llvm.experimental.noalias.scope.decl(metadata !3274) + call void @llvm.assume(i1 true) [ "align"(ptr %22, i64 8) ] %25 = getelementptr inbounds nuw i8, ptr %22, i64 16 %26 = load ptr, ptr %25, align 8, !noalias !3277, !nonnull !4, !noundef !4 %27 = getelementptr inbounds nuw i8, ptr %20, i64 24 @@ -9028,6 +9054,7 @@ define internal fastcc void @"_ZN4core3ptr126drop_in_place$LT$parquet..column..w 42: ; preds = %38 tail call void @llvm.experimental.noalias.scope.decl(metadata !3509) tail call void @llvm.experimental.noalias.scope.decl(metadata !3512) + call void @llvm.assume(i1 true) [ "align"(ptr %40, i64 8) ] %43 = getelementptr inbounds nuw i8, ptr %40, i64 16 %44 = load ptr, ptr %43, align 8, !noalias !3515, !nonnull !4, !noundef !4 %45 = getelementptr inbounds nuw i8, ptr %0, i64 32 @@ -9061,6 +9088,7 @@ define internal fastcc void @"_ZN4core3ptr126drop_in_place$LT$parquet..column..w 58: ; preds = %54 tail call void @llvm.experimental.noalias.scope.decl(metadata !3529) tail call void @llvm.experimental.noalias.scope.decl(metadata !3532) + call void @llvm.assume(i1 true) [ "align"(ptr %56, i64 8) ] %59 = getelementptr inbounds nuw i8, ptr %56, i64 16 %60 = load ptr, ptr %59, align 8, !noalias !3535, !nonnull !4, !noundef !4 %61 = getelementptr inbounds nuw i8, ptr %0, i64 32 @@ -9091,6 +9119,7 @@ define internal fastcc void @"_ZN4core3ptr126drop_in_place$LT$parquet..column..w 73: ; preds = %69 tail call void @llvm.experimental.noalias.scope.decl(metadata !3549) tail call void @llvm.experimental.noalias.scope.decl(metadata !3552) + call void @llvm.assume(i1 true) [ "align"(ptr %71, i64 8) ] %74 = getelementptr inbounds nuw i8, ptr %71, i64 16 %75 = load ptr, ptr %74, align 8, !noalias !3555, !nonnull !4, !noundef !4 %76 = getelementptr inbounds nuw i8, ptr %0, i64 72 @@ -9125,6 +9154,7 @@ define internal fastcc void @"_ZN4core3ptr126drop_in_place$LT$parquet..column..w 90: ; preds = %86 tail call void @llvm.experimental.noalias.scope.decl(metadata !3569) tail call void @llvm.experimental.noalias.scope.decl(metadata !3572) + call void @llvm.assume(i1 true) [ "align"(ptr %88, i64 8) ] %91 = getelementptr inbounds nuw i8, ptr %88, i64 16 %92 = load ptr, ptr %91, align 8, !noalias !3575, !nonnull !4, !noundef !4 %93 = getelementptr inbounds nuw i8, ptr %0, i64 72 @@ -9241,6 +9271,7 @@ define hidden void @"_ZN4core3ptr127drop_in_place$LT$core..iter..adapters..peeka 11: ; preds = %7 tail call void @llvm.experimental.noalias.scope.decl(metadata !3615) tail call void @llvm.experimental.noalias.scope.decl(metadata !3618) + call void @llvm.assume(i1 true) [ "align"(ptr %9, i64 8) ] %12 = getelementptr inbounds nuw i8, ptr %9, i64 16 %13 = load ptr, ptr %12, align 8, !noalias !3621, !nonnull !4, !noundef !4 %14 = getelementptr inbounds nuw i8, ptr %0, i64 32 @@ -9267,6 +9298,7 @@ define hidden void @"_ZN4core3ptr127drop_in_place$LT$core..iter..adapters..peeka 25: ; preds = %21 tail call void @llvm.experimental.noalias.scope.decl(metadata !3629) tail call void @llvm.experimental.noalias.scope.decl(metadata !3632) + call void @llvm.assume(i1 true) [ "align"(ptr %23, i64 8) ] %26 = getelementptr inbounds nuw i8, ptr %23, i64 16 %27 = load ptr, ptr %26, align 8, !noalias !3635, !nonnull !4, !noundef !4 %28 = getelementptr inbounds nuw i8, ptr %0, i64 32 @@ -9303,6 +9335,7 @@ define hidden void @"_ZN4core3ptr127drop_in_place$LT$lock_api..mutex..Mutex$LT$p 5: ; preds = %1 tail call void @llvm.experimental.noalias.scope.decl(metadata !3646) tail call void @llvm.experimental.noalias.scope.decl(metadata !3649) + call void @llvm.assume(i1 true) [ "align"(ptr %3, i64 8) ] %6 = getelementptr inbounds nuw i8, ptr %3, i64 24 %7 = load ptr, ptr %6, align 8, !noalias !3652, !nonnull !4, !noundef !4 %8 = getelementptr inbounds nuw i8, ptr %0, i64 32 @@ -9322,6 +9355,7 @@ define hidden void @"_ZN4core3ptr127drop_in_place$LT$lock_api..mutex..Mutex$LT$p 15: ; preds = %10 tail call void @llvm.experimental.noalias.scope.decl(metadata !3658) tail call void @llvm.experimental.noalias.scope.decl(metadata !3661) + call void @llvm.assume(i1 true) [ "align"(ptr %13, i64 8) ] %16 = getelementptr inbounds nuw i8, ptr %13, i64 24 %17 = load ptr, ptr %16, align 8, !noalias !3664, !nonnull !4, !noundef !4 %18 = getelementptr inbounds nuw i8, ptr %0, i64 48 @@ -9339,6 +9373,7 @@ define hidden void @"_ZN4core3ptr127drop_in_place$LT$lock_api..mutex..Mutex$LT$p 23: ; preds = %"_ZN4core3ptr72drop_in_place$LT$core..option..Option$LT$core..task..wake..Waker$GT$$GT$17h5c63a687df690d33E.llvm.12494526139044184965.exit.i.i" tail call void @llvm.experimental.noalias.scope.decl(metadata !3669) tail call void @llvm.experimental.noalias.scope.decl(metadata !3672) + call void @llvm.assume(i1 true) [ "align"(ptr %21, i64 8) ] %24 = getelementptr inbounds nuw i8, ptr %21, i64 24 %25 = load ptr, ptr %24, align 8, !noalias !3675, !nonnull !4, !noundef !4 %26 = getelementptr inbounds nuw i8, ptr %0, i64 48 @@ -10161,6 +10196,7 @@ define internal fastcc void @"_ZN4core3ptr134drop_in_place$LT$core..option..Opti 8: ; preds = %4 tail call void @llvm.experimental.noalias.scope.decl(metadata !3963) tail call void @llvm.experimental.noalias.scope.decl(metadata !3966) + call void @llvm.assume(i1 true) [ "align"(ptr %6, i64 8) ] %9 = getelementptr inbounds nuw i8, ptr %6, i64 16 %10 = load ptr, ptr %9, align 8, !noalias !3969, !nonnull !4, !noundef !4 %11 = getelementptr inbounds nuw i8, ptr %0, i64 32 @@ -10185,6 +10221,7 @@ define internal fastcc void @"_ZN4core3ptr134drop_in_place$LT$core..option..Opti 21: ; preds = %16 tail call void @llvm.experimental.noalias.scope.decl(metadata !3980) tail call void @llvm.experimental.noalias.scope.decl(metadata !3983) + call void @llvm.assume(i1 true) [ "align"(ptr %19, i64 8) ] %22 = getelementptr inbounds nuw i8, ptr %19, i64 16 %23 = load ptr, ptr %22, align 8, !noalias !3986, !nonnull !4, !noundef !4 %24 = getelementptr inbounds nuw i8, ptr %0, i64 64 @@ -10207,6 +10244,7 @@ define internal fastcc void @"_ZN4core3ptr134drop_in_place$LT$core..option..Opti 32: ; preds = %"_ZN4core3ptr58drop_in_place$LT$parquet..data_type..FixedLenByteArray$GT$17h77f1072a4a945bfcE.exit.i" tail call void @llvm.experimental.noalias.scope.decl(metadata !3998) tail call void @llvm.experimental.noalias.scope.decl(metadata !4001) + call void @llvm.assume(i1 true) [ "align"(ptr %30, i64 8) ] %33 = getelementptr inbounds nuw i8, ptr %30, i64 16 %34 = load ptr, ptr %33, align 8, !noalias !4004, !nonnull !4, !noundef !4 %35 = getelementptr inbounds nuw i8, ptr %0, i64 64 @@ -13291,6 +13329,7 @@ define hidden void @"_ZN4core3ptr158drop_in_place$LT$tokio..sync..mpsc..chan..Ch 18: ; preds = %.loopexit.split-lp call void @llvm.experimental.noalias.scope.decl(metadata !5216) call void @llvm.experimental.noalias.scope.decl(metadata !5219) + call void @llvm.assume(i1 true) [ "align"(ptr %16, i64 8) ] %19 = getelementptr inbounds nuw i8, ptr %16, i64 24 %20 = load ptr, ptr %19, align 8, !noalias !5222, !nonnull !4, !noundef !4 %21 = getelementptr inbounds nuw i8, ptr %0, i64 136 @@ -13312,6 +13351,7 @@ define hidden void @"_ZN4core3ptr158drop_in_place$LT$tokio..sync..mpsc..chan..Ch 26: ; preds = %"_ZN84_$LT$tokio..sync..mpsc..chan..Chan$LT$T$C$S$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h962e4289567c75e0E.llvm.12494526139044184965.exit" call void @llvm.experimental.noalias.scope.decl(metadata !5239) call void @llvm.experimental.noalias.scope.decl(metadata !5242) + call void @llvm.assume(i1 true) [ "align"(ptr %24, i64 8) ] %27 = getelementptr inbounds nuw i8, ptr %24, i64 24 %28 = load ptr, ptr %27, align 8, !noalias !5245, !nonnull !4, !noundef !4 %29 = getelementptr inbounds nuw i8, ptr %0, i64 136 @@ -16652,6 +16692,7 @@ define hidden void @"_ZN4core3ptr270drop_in_place$LT$tokio..runtime..task..core. 18: ; preds = %.body tail call void @llvm.experimental.noalias.scope.decl(metadata !6195) tail call void @llvm.experimental.noalias.scope.decl(metadata !6198) + call void @llvm.assume(i1 true) [ "align"(ptr %16, i64 8) ] %19 = getelementptr inbounds nuw i8, ptr %16, i64 24 %20 = load ptr, ptr %19, align 8, !noalias !6201, !nonnull !4, !noundef !4 %21 = getelementptr inbounds nuw i8, ptr %0, i64 816 @@ -16671,6 +16712,7 @@ define hidden void @"_ZN4core3ptr270drop_in_place$LT$tokio..runtime..task..core. 26: ; preds = %"_ZN4core3ptr270drop_in_place$LT$tokio..runtime..task..core..Core$LT$tracing..instrument..Instrumented$LT$influxdb3_write..write_buffer..flusher..WriteBufferFlusher..new..$u7b$$u7b$closure$u7d$$u7d$$GT$$C$alloc..sync..Arc$LT$tokio..runtime..scheduler..current_thread..Handle$GT$$GT$$GT$17hab9fea2e5c8bebb5E.llvm.12494526139044184965.exit" tail call void @llvm.experimental.noalias.scope.decl(metadata !6212) tail call void @llvm.experimental.noalias.scope.decl(metadata !6215) + call void @llvm.assume(i1 true) [ "align"(ptr %24, i64 8) ] %27 = getelementptr inbounds nuw i8, ptr %24, i64 24 %28 = load ptr, ptr %27, align 8, !noalias !6218, !nonnull !4, !noundef !4 %29 = getelementptr inbounds nuw i8, ptr %0, i64 816 @@ -16784,6 +16826,7 @@ define hidden void @"_ZN4core3ptr276drop_in_place$LT$tokio..runtime..task..core. 18: ; preds = %.body tail call void @llvm.experimental.noalias.scope.decl(metadata !6243) tail call void @llvm.experimental.noalias.scope.decl(metadata !6246) + call void @llvm.assume(i1 true) [ "align"(ptr %16, i64 8) ] %19 = getelementptr inbounds nuw i8, ptr %16, i64 24 %20 = load ptr, ptr %19, align 8, !noalias !6249, !nonnull !4, !noundef !4 %21 = getelementptr inbounds nuw i8, ptr %0, i64 816 @@ -16803,6 +16846,7 @@ define hidden void @"_ZN4core3ptr276drop_in_place$LT$tokio..runtime..task..core. 26: ; preds = %"_ZN4core3ptr276drop_in_place$LT$tokio..runtime..task..core..Core$LT$tracing..instrument..Instrumented$LT$influxdb3_write..write_buffer..flusher..WriteBufferFlusher..new..$u7b$$u7b$closure$u7d$$u7d$$GT$$C$alloc..sync..Arc$LT$tokio..runtime..scheduler..multi_thread..handle..Handle$GT$$GT$$GT$17hfd9d956beee91af2E.llvm.12494526139044184965.exit" tail call void @llvm.experimental.noalias.scope.decl(metadata !6260) tail call void @llvm.experimental.noalias.scope.decl(metadata !6263) + call void @llvm.assume(i1 true) [ "align"(ptr %24, i64 8) ] %27 = getelementptr inbounds nuw i8, ptr %24, i64 24 %28 = load ptr, ptr %27, align 8, !noalias !6266, !nonnull !4, !noundef !4 %29 = getelementptr inbounds nuw i8, ptr %0, i64 816 @@ -16981,6 +17025,7 @@ define hidden void @"_ZN4core3ptr280drop_in_place$LT$tokio..runtime..task..core. 18: ; preds = %.body tail call void @llvm.experimental.noalias.scope.decl(metadata !6306) tail call void @llvm.experimental.noalias.scope.decl(metadata !6309) + call void @llvm.assume(i1 true) [ "align"(ptr %16, i64 8) ] %19 = getelementptr inbounds nuw i8, ptr %16, i64 24 %20 = load ptr, ptr %19, align 8, !noalias !6312, !nonnull !4, !noundef !4 %21 = getelementptr inbounds nuw i8, ptr %0, i64 816 @@ -17000,6 +17045,7 @@ define hidden void @"_ZN4core3ptr280drop_in_place$LT$tokio..runtime..task..core. 26: ; preds = %"_ZN4core3ptr280drop_in_place$LT$tokio..runtime..task..core..Core$LT$tracing..instrument..Instrumented$LT$influxdb3_write..write_buffer..flusher..WriteBufferFlusher..new..$u7b$$u7b$closure$u7d$$u7d$$GT$$C$alloc..sync..Arc$LT$tokio..runtime..scheduler..multi_thread_alt..handle..Handle$GT$$GT$$GT$17hf01df7bb19ab5bcdE.llvm.12494526139044184965.exit" tail call void @llvm.experimental.noalias.scope.decl(metadata !6323) tail call void @llvm.experimental.noalias.scope.decl(metadata !6326) + call void @llvm.assume(i1 true) [ "align"(ptr %24, i64 8) ] %27 = getelementptr inbounds nuw i8, ptr %24, i64 24 %28 = load ptr, ptr %27, align 8, !noalias !6329, !nonnull !4, !noundef !4 %29 = getelementptr inbounds nuw i8, ptr %0, i64 816 @@ -17132,6 +17178,7 @@ define hidden void @"_ZN4core3ptr297drop_in_place$LT$tokio..runtime..task..core. 8: ; preds = %3 tail call void @llvm.experimental.noalias.scope.decl(metadata !6356) tail call void @llvm.experimental.noalias.scope.decl(metadata !6359) + call void @llvm.assume(i1 true) [ "align"(ptr %6, i64 8) ] %9 = getelementptr inbounds nuw i8, ptr %6, i64 24 %10 = load ptr, ptr %9, align 8, !noalias !6362, !nonnull !4, !noundef !4 %11 = getelementptr inbounds nuw i8, ptr %0, i64 176 @@ -17151,6 +17198,7 @@ define hidden void @"_ZN4core3ptr297drop_in_place$LT$tokio..runtime..task..core. 17: ; preds = %13 tail call void @llvm.experimental.noalias.scope.decl(metadata !6373) tail call void @llvm.experimental.noalias.scope.decl(metadata !6376) + call void @llvm.assume(i1 true) [ "align"(ptr %15, i64 8) ] %18 = getelementptr inbounds nuw i8, ptr %15, i64 24 %19 = load ptr, ptr %18, align 8, !noalias !6379, !nonnull !4, !noundef !4 %20 = getelementptr inbounds nuw i8, ptr %0, i64 176 @@ -17679,6 +17727,7 @@ define hidden void @"_ZN4core3ptr40drop_in_place$LT$tracing..span..Span$GT$17hb9 br i1 %.not4.i, label %"_ZN61_$LT$tracing..span..Span$u20$as$u20$core..ops..drop..Drop$GT$4drop17h7d48cf1ab650ff76E.llvm.12494526139044184965.exit", label %.noexc3 .noexc3: ; preds = %12 + call void @llvm.assume(i1 true) [ "align"(ptr %14, i64 8) ] call void @llvm.lifetime.start.p0(ptr nonnull %4), !noalias !6571 call void @llvm.lifetime.start.p0(ptr nonnull %3), !noalias !6571 call void @llvm.lifetime.start.p0(ptr nonnull %2), !noalias !6571 @@ -19315,6 +19364,7 @@ define hidden void @"_ZN4core3ptr48drop_in_place$LT$tokio..sync..notify..Waiter$ 5: ; preds = %1 tail call void @llvm.experimental.noalias.scope.decl(metadata !7574) tail call void @llvm.experimental.noalias.scope.decl(metadata !7577) + call void @llvm.assume(i1 true) [ "align"(ptr %3, i64 8) ] %6 = getelementptr inbounds nuw i8, ptr %3, i64 24 %7 = load ptr, ptr %6, align 8, !noalias !7580, !nonnull !4, !noundef !4 %8 = getelementptr inbounds nuw i8, ptr %0, i64 24 @@ -20124,6 +20174,7 @@ define hidden void @"_ZN4core3ptr50drop_in_place$LT$parquet..data_type..ByteArra 4: ; preds = %1 tail call void @llvm.experimental.noalias.scope.decl(metadata !8061) tail call void @llvm.experimental.noalias.scope.decl(metadata !8064) + call void @llvm.assume(i1 true) [ "align"(ptr %2, i64 8) ] %5 = getelementptr inbounds nuw i8, ptr %2, i64 16 %6 = load ptr, ptr %5, align 8, !noalias !8067, !nonnull !4, !noundef !4 %7 = getelementptr inbounds nuw i8, ptr %0, i64 24 @@ -20408,6 +20459,7 @@ define hidden void @"_ZN4core3ptr50drop_in_place$LT$tokio..sync..notify..Notifie 7: ; preds = %2 tail call void @llvm.experimental.noalias.scope.decl(metadata !8293) tail call void @llvm.experimental.noalias.scope.decl(metadata !8296) + call void @llvm.assume(i1 true) [ "align"(ptr %5, i64 8) ] %8 = getelementptr inbounds nuw i8, ptr %5, i64 24 %9 = load ptr, ptr %8, align 8, !noalias !8299, !nonnull !4, !noundef !4 %10 = getelementptr inbounds nuw i8, ptr %0, i64 40 @@ -20427,6 +20479,7 @@ define hidden void @"_ZN4core3ptr50drop_in_place$LT$tokio..sync..notify..Notifie 16: ; preds = %12 tail call void @llvm.experimental.noalias.scope.decl(metadata !8310) tail call void @llvm.experimental.noalias.scope.decl(metadata !8313) + call void @llvm.assume(i1 true) [ "align"(ptr %14, i64 8) ] %17 = getelementptr inbounds nuw i8, ptr %14, i64 24 %18 = load ptr, ptr %17, align 8, !noalias !8316, !nonnull !4, !noundef !4 %19 = getelementptr inbounds nuw i8, ptr %0, i64 40 @@ -23403,6 +23456,7 @@ define hidden void @"_ZN4core3ptr56drop_in_place$LT$tokio..runtime..task..core.. 5: ; preds = %1 tail call void @llvm.experimental.noalias.scope.decl(metadata !9994) tail call void @llvm.experimental.noalias.scope.decl(metadata !9997) + call void @llvm.assume(i1 true) [ "align"(ptr %3, i64 8) ] %6 = getelementptr inbounds nuw i8, ptr %3, i64 24 %7 = load ptr, ptr %6, align 8, !noalias !10000, !nonnull !4, !noundef !4 %8 = getelementptr inbounds nuw i8, ptr %0, i64 24 @@ -23888,6 +23942,7 @@ define hidden void @"_ZN4core3ptr58drop_in_place$LT$parquet..data_type..FixedLen 4: ; preds = %1 tail call void @llvm.experimental.noalias.scope.decl(metadata !10246) tail call void @llvm.experimental.noalias.scope.decl(metadata !10249) + call void @llvm.assume(i1 true) [ "align"(ptr %2, i64 8) ] %5 = getelementptr inbounds nuw i8, ptr %2, i64 16 %6 = load ptr, ptr %5, align 8, !noalias !10252, !nonnull !4, !noundef !4 %7 = getelementptr inbounds nuw i8, ptr %0, i64 24 @@ -23939,6 +23994,7 @@ default.unreachable6: ; preds = %1 11: ; preds = %7 tail call void @llvm.experimental.noalias.scope.decl(metadata !10271) tail call void @llvm.experimental.noalias.scope.decl(metadata !10274) + call void @llvm.assume(i1 true) [ "align"(ptr %9, i64 8) ] %12 = getelementptr inbounds nuw i8, ptr %9, i64 16 %13 = load ptr, ptr %12, align 8, !noalias !10277, !nonnull !4, !noundef !4 %14 = getelementptr inbounds nuw i8, ptr %0, i64 40 @@ -23970,6 +24026,7 @@ default.unreachable6: ; preds = %1 28: ; preds = %24 tail call void @llvm.experimental.noalias.scope.decl(metadata !10292) tail call void @llvm.experimental.noalias.scope.decl(metadata !10295) + call void @llvm.assume(i1 true) [ "align"(ptr %26, i64 8) ] %29 = getelementptr inbounds nuw i8, ptr %26, i64 16 %30 = load ptr, ptr %29, align 8, !noalias !10298, !nonnull !4, !noundef !4 %31 = getelementptr inbounds nuw i8, ptr %0, i64 80 @@ -24001,8 +24058,9 @@ common.resume: ; preds = %67, %72, %76, %19, resume { ptr, i32 } %common.resume.op "_ZN4core3ptr108drop_in_place$LT$parquet..file..statistics..ValueStatistics$LT$parquet..data_type..FixedLenByteArray$GT$$GT$17he6e822411a0f6041E.llvm.12494526139044184965.exit.sink.split": ; preds = %"_ZN4core3ptr78drop_in_place$LT$core..option..Option$LT$parquet..data_type..ByteArray$GT$$GT$17h1f4f79b33082fed9E.llvm.12494526139044184965.exit.i", %"_ZN4core3ptr86drop_in_place$LT$core..option..Option$LT$parquet..data_type..FixedLenByteArray$GT$$GT$17hbae4bd6e17c26607E.llvm.12494526139044184965.exit.i" - %.sink12 = phi ptr [ %40, %"_ZN4core3ptr86drop_in_place$LT$core..option..Option$LT$parquet..data_type..FixedLenByteArray$GT$$GT$17hbae4bd6e17c26607E.llvm.12494526139044184965.exit.i" ], [ %88, %"_ZN4core3ptr78drop_in_place$LT$core..option..Option$LT$parquet..data_type..ByteArray$GT$$GT$17h1f4f79b33082fed9E.llvm.12494526139044184965.exit.i" ] - %44 = getelementptr inbounds nuw i8, ptr %.sink12, i64 16 + %.sink = phi ptr [ %40, %"_ZN4core3ptr86drop_in_place$LT$core..option..Option$LT$parquet..data_type..FixedLenByteArray$GT$$GT$17hbae4bd6e17c26607E.llvm.12494526139044184965.exit.i" ], [ %88, %"_ZN4core3ptr78drop_in_place$LT$core..option..Option$LT$parquet..data_type..ByteArray$GT$$GT$17h1f4f79b33082fed9E.llvm.12494526139044184965.exit.i" ] + call void @llvm.assume(i1 true) [ "align"(ptr %.sink, i64 8) ] + %44 = getelementptr inbounds nuw i8, ptr %.sink, i64 16 %45 = load ptr, ptr %44, align 8, !noalias !4, !nonnull !4, !noundef !4 %46 = getelementptr inbounds nuw i8, ptr %0, i64 80 %47 = getelementptr inbounds nuw i8, ptr %0, i64 64 @@ -24034,6 +24092,7 @@ common.resume: ; preds = %67, %72, %76, %19, 59: ; preds = %55 tail call void @llvm.experimental.noalias.scope.decl(metadata !10317) tail call void @llvm.experimental.noalias.scope.decl(metadata !10320) + call void @llvm.assume(i1 true) [ "align"(ptr %57, i64 8) ] %60 = getelementptr inbounds nuw i8, ptr %57, i64 16 %61 = load ptr, ptr %60, align 8, !noalias !10323, !nonnull !4, !noundef !4 %62 = getelementptr inbounds nuw i8, ptr %0, i64 40 @@ -24064,6 +24123,7 @@ common.resume: ; preds = %67, %72, %76, %19, 76: ; preds = %72 tail call void @llvm.experimental.noalias.scope.decl(metadata !10335) tail call void @llvm.experimental.noalias.scope.decl(metadata !10338) + call void @llvm.assume(i1 true) [ "align"(ptr %74, i64 8) ] %77 = getelementptr inbounds nuw i8, ptr %74, i64 16 %78 = load ptr, ptr %77, align 8, !noalias !10341, !nonnull !4, !noundef !4 %79 = getelementptr inbounds nuw i8, ptr %0, i64 80 @@ -25455,6 +25515,7 @@ define hidden void @"_ZN4core3ptr60drop_in_place$LT$tokio..runtime..time..entry. 25: ; preds = %22 %26 = getelementptr i8, ptr %0, i64 80 %.val2 = load ptr, ptr %26, align 8 + call void @llvm.assume(i1 true) [ "align"(ptr %.val, i64 8) ] %27 = getelementptr inbounds nuw i8, ptr %.val, i64 24 %28 = load ptr, ptr %27, align 8, !noalias !10889, !nonnull !4, !noundef !4 invoke void %28(ptr noundef %.val2) @@ -25474,6 +25535,7 @@ define hidden void @"_ZN4core3ptr60drop_in_place$LT$tokio..runtime..time..entry. 33: ; preds = %"_ZN4core3ptr54drop_in_place$LT$tokio..runtime..scheduler..Handle$GT$17ha6b1711a8118b8faE.llvm.12494526139044184965.exit" %34 = getelementptr i8, ptr %0, i64 80 %.val4 = load ptr, ptr %34, align 8 + call void @llvm.assume(i1 true) [ "align"(ptr %.val3, i64 8) ] %35 = getelementptr inbounds nuw i8, ptr %.val3, i64 24 %36 = load ptr, ptr %35, align 8, !noalias !10902, !nonnull !4, !noundef !4 tail call void %36(ptr noundef %.val4), !noalias !10902 @@ -26173,6 +26235,7 @@ define hidden void @"_ZN4core3ptr62drop_in_place$LT$tokio..runtime..io..schedule 5: ; preds = %1 tail call void @llvm.experimental.noalias.scope.decl(metadata !11296) tail call void @llvm.experimental.noalias.scope.decl(metadata !11299) + call void @llvm.assume(i1 true) [ "align"(ptr %3, i64 8) ] %6 = getelementptr inbounds nuw i8, ptr %3, i64 24 %7 = load ptr, ptr %6, align 8, !noalias !11302, !nonnull !4, !noundef !4 %8 = getelementptr inbounds nuw i8, ptr %0, i64 24 @@ -26192,6 +26255,7 @@ define hidden void @"_ZN4core3ptr62drop_in_place$LT$tokio..runtime..io..schedule 15: ; preds = %10 tail call void @llvm.experimental.noalias.scope.decl(metadata !11306) tail call void @llvm.experimental.noalias.scope.decl(metadata !11309) + call void @llvm.assume(i1 true) [ "align"(ptr %13, i64 8) ] %16 = getelementptr inbounds nuw i8, ptr %13, i64 24 %17 = load ptr, ptr %16, align 8, !noalias !11312, !nonnull !4, !noundef !4 %18 = getelementptr inbounds nuw i8, ptr %0, i64 40 @@ -26209,6 +26273,7 @@ define hidden void @"_ZN4core3ptr62drop_in_place$LT$tokio..runtime..io..schedule 23: ; preds = %"_ZN4core3ptr72drop_in_place$LT$core..option..Option$LT$core..task..wake..Waker$GT$$GT$17h5c63a687df690d33E.llvm.12494526139044184965.exit" tail call void @llvm.experimental.noalias.scope.decl(metadata !11316) tail call void @llvm.experimental.noalias.scope.decl(metadata !11319) + call void @llvm.assume(i1 true) [ "align"(ptr %21, i64 8) ] %24 = getelementptr inbounds nuw i8, ptr %21, i64 24 %25 = load ptr, ptr %24, align 8, !noalias !11322, !nonnull !4, !noundef !4 %26 = getelementptr inbounds nuw i8, ptr %0, i64 40 @@ -27868,6 +27933,7 @@ define hidden void @"_ZN4core3ptr65drop_in_place$LT$tokio..sync..task..atomic_wa 4: ; preds = %1 tail call void @llvm.experimental.noalias.scope.decl(metadata !12282) tail call void @llvm.experimental.noalias.scope.decl(metadata !12285) + call void @llvm.assume(i1 true) [ "align"(ptr %2, i64 8) ] %5 = getelementptr inbounds nuw i8, ptr %2, i64 24 %6 = load ptr, ptr %5, align 8, !noalias !12288, !nonnull !4, !noundef !4 %7 = getelementptr inbounds nuw i8, ptr %0, i64 8 @@ -28154,6 +28220,7 @@ define hidden void @"_ZN4core3ptr66drop_in_place$LT$tokio..runtime..io..schedule 9: ; preds = %5 tail call void @llvm.experimental.noalias.scope.decl(metadata !12450) tail call void @llvm.experimental.noalias.scope.decl(metadata !12453) + call void @llvm.assume(i1 true) [ "align"(ptr %7, i64 8) ] %10 = getelementptr inbounds nuw i8, ptr %7, i64 24 %11 = load ptr, ptr %10, align 8, !noalias !12456, !nonnull !4, !noundef !4 %12 = getelementptr inbounds nuw i8, ptr %0, i64 56 @@ -28173,6 +28240,7 @@ define hidden void @"_ZN4core3ptr66drop_in_place$LT$tokio..runtime..io..schedule 19: ; preds = %14 tail call void @llvm.experimental.noalias.scope.decl(metadata !12462) tail call void @llvm.experimental.noalias.scope.decl(metadata !12465) + call void @llvm.assume(i1 true) [ "align"(ptr %17, i64 8) ] %20 = getelementptr inbounds nuw i8, ptr %17, i64 24 %21 = load ptr, ptr %20, align 8, !noalias !12468, !nonnull !4, !noundef !4 %22 = getelementptr inbounds nuw i8, ptr %0, i64 72 @@ -28190,6 +28258,7 @@ define hidden void @"_ZN4core3ptr66drop_in_place$LT$tokio..runtime..io..schedule 27: ; preds = %"_ZN4core3ptr72drop_in_place$LT$core..option..Option$LT$core..task..wake..Waker$GT$$GT$17h5c63a687df690d33E.llvm.12494526139044184965.exit.i.i.i.i" tail call void @llvm.experimental.noalias.scope.decl(metadata !12473) tail call void @llvm.experimental.noalias.scope.decl(metadata !12476) + call void @llvm.assume(i1 true) [ "align"(ptr %25, i64 8) ] %28 = getelementptr inbounds nuw i8, ptr %25, i64 24 %29 = load ptr, ptr %28, align 8, !noalias !12479, !nonnull !4, !noundef !4 %30 = getelementptr inbounds nuw i8, ptr %0, i64 72 @@ -28642,6 +28711,7 @@ define hidden void @"_ZN4core3ptr68drop_in_place$LT$core..option..Option$LT$byte 5: ; preds = %1 tail call void @llvm.experimental.noalias.scope.decl(metadata !12689) tail call void @llvm.experimental.noalias.scope.decl(metadata !12692) + call void @llvm.assume(i1 true) [ "align"(ptr %2, i64 8) ] %6 = getelementptr inbounds nuw i8, ptr %2, i64 16 %7 = load ptr, ptr %6, align 8, !noalias !12695, !nonnull !4, !noundef !4 %8 = getelementptr inbounds nuw i8, ptr %0, i64 24 @@ -30211,6 +30281,7 @@ define hidden void @"_ZN4core3ptr72drop_in_place$LT$core..option..Option$LT$core 5: ; preds = %1 tail call void @llvm.experimental.noalias.scope.decl(metadata !13592) tail call void @llvm.experimental.noalias.scope.decl(metadata !13595) + call void @llvm.assume(i1 true) [ "align"(ptr %2, i64 8) ] %6 = getelementptr inbounds nuw i8, ptr %2, i64 24 %7 = load ptr, ptr %6, align 8, !noalias !13598, !nonnull !4, !noundef !4 %8 = getelementptr inbounds nuw i8, ptr %0, i64 8 @@ -30434,6 +30505,7 @@ define internal fastcc void @"_ZN4core3ptr72drop_in_place$LT$parquet..arrow..arr 96: ; preds = %92 tail call void @llvm.experimental.noalias.scope.decl(metadata !13640) tail call void @llvm.experimental.noalias.scope.decl(metadata !13643) + call void @llvm.assume(i1 true) [ "align"(ptr %94, i64 8) ] %97 = getelementptr inbounds nuw i8, ptr %94, i64 16 %98 = load ptr, ptr %97, align 8, !noalias !13646, !nonnull !4, !noundef !4 %99 = getelementptr inbounds nuw i8, ptr %0, i64 392 @@ -30464,6 +30536,7 @@ define internal fastcc void @"_ZN4core3ptr72drop_in_place$LT$parquet..arrow..arr 113: ; preds = %109 tail call void @llvm.experimental.noalias.scope.decl(metadata !13659) tail call void @llvm.experimental.noalias.scope.decl(metadata !13662) + call void @llvm.assume(i1 true) [ "align"(ptr %111, i64 8) ] %114 = getelementptr inbounds nuw i8, ptr %111, i64 16 %115 = load ptr, ptr %114, align 8, !noalias !13665, !nonnull !4, !noundef !4 %116 = getelementptr inbounds nuw i8, ptr %0, i64 432 @@ -30492,6 +30565,7 @@ define internal fastcc void @"_ZN4core3ptr72drop_in_place$LT$parquet..arrow..arr 128: ; preds = %124 tail call void @llvm.experimental.noalias.scope.decl(metadata !13678) tail call void @llvm.experimental.noalias.scope.decl(metadata !13681) + call void @llvm.assume(i1 true) [ "align"(ptr %126, i64 8) ] %129 = getelementptr inbounds nuw i8, ptr %126, i64 16 %130 = load ptr, ptr %129, align 8, !noalias !13684, !nonnull !4, !noundef !4 %131 = getelementptr inbounds nuw i8, ptr %0, i64 432 @@ -30745,6 +30819,7 @@ define internal fastcc void @"_ZN4core3ptr72drop_in_place$LT$parquet..arrow..arr 212: ; preds = %208 call void @llvm.experimental.noalias.scope.decl(metadata !13814) call void @llvm.experimental.noalias.scope.decl(metadata !13817) + call void @llvm.assume(i1 true) [ "align"(ptr %210, i64 8) ] %213 = getelementptr inbounds nuw i8, ptr %210, i64 16 %214 = load ptr, ptr %213, align 8, !noalias !13820, !nonnull !4, !noundef !4 %215 = getelementptr inbounds nuw i8, ptr %0, i64 536 @@ -30768,6 +30843,7 @@ define internal fastcc void @"_ZN4core3ptr72drop_in_place$LT$parquet..arrow..arr 225: ; preds = %220 call void @llvm.experimental.noalias.scope.decl(metadata !13829) call void @llvm.experimental.noalias.scope.decl(metadata !13832) + call void @llvm.assume(i1 true) [ "align"(ptr %223, i64 8) ] %226 = getelementptr inbounds nuw i8, ptr %223, i64 16 %227 = load ptr, ptr %226, align 8, !noalias !13835, !nonnull !4, !noundef !4 %228 = getelementptr inbounds nuw i8, ptr %0, i64 568 @@ -30789,6 +30865,7 @@ define internal fastcc void @"_ZN4core3ptr72drop_in_place$LT$parquet..arrow..arr 236: ; preds = %"_ZN4core3ptr50drop_in_place$LT$parquet..data_type..ByteArray$GT$17h76c3c9c95f18be9dE.exit.i.i.i" call void @llvm.experimental.noalias.scope.decl(metadata !13844) call void @llvm.experimental.noalias.scope.decl(metadata !13847) + call void @llvm.assume(i1 true) [ "align"(ptr %234, i64 8) ] %237 = getelementptr inbounds nuw i8, ptr %234, i64 16 %238 = load ptr, ptr %237, align 8, !noalias !13850, !nonnull !4, !noundef !4 %239 = getelementptr inbounds nuw i8, ptr %0, i64 568 @@ -31026,6 +31103,7 @@ default.unreachable: ; preds = %248 327: ; preds = %323 tail call void @llvm.experimental.noalias.scope.decl(metadata !13900) tail call void @llvm.experimental.noalias.scope.decl(metadata !13903) + call void @llvm.assume(i1 true) [ "align"(ptr %325, i64 8) ] %328 = getelementptr inbounds nuw i8, ptr %325, i64 16 %329 = load ptr, ptr %328, align 8, !noalias !13906, !nonnull !4, !noundef !4 %330 = getelementptr inbounds nuw i8, ptr %0, i64 352 @@ -31057,6 +31135,7 @@ default.unreachable: ; preds = %248 344: ; preds = %340 tail call void @llvm.experimental.noalias.scope.decl(metadata !13922) tail call void @llvm.experimental.noalias.scope.decl(metadata !13925) + call void @llvm.assume(i1 true) [ "align"(ptr %342, i64 8) ] %345 = getelementptr inbounds nuw i8, ptr %342, i64 16 %346 = load ptr, ptr %345, align 8, !noalias !13928, !nonnull !4, !noundef !4 %347 = getelementptr inbounds nuw i8, ptr %0, i64 392 @@ -31086,6 +31165,7 @@ default.unreachable: ; preds = %248 359: ; preds = %355 tail call void @llvm.experimental.noalias.scope.decl(metadata !13944) tail call void @llvm.experimental.noalias.scope.decl(metadata !13947) + call void @llvm.assume(i1 true) [ "align"(ptr %357, i64 8) ] %360 = getelementptr inbounds nuw i8, ptr %357, i64 16 %361 = load ptr, ptr %360, align 8, !noalias !13950, !nonnull !4, !noundef !4 %362 = getelementptr inbounds nuw i8, ptr %0, i64 392 @@ -31340,6 +31420,7 @@ default.unreachable: ; preds = %248 443: ; preds = %439 call void @llvm.experimental.noalias.scope.decl(metadata !14083) call void @llvm.experimental.noalias.scope.decl(metadata !14086) + call void @llvm.assume(i1 true) [ "align"(ptr %441, i64 8) ] %444 = getelementptr inbounds nuw i8, ptr %441, i64 16 %445 = load ptr, ptr %444, align 8, !noalias !14089, !nonnull !4, !noundef !4 %446 = getelementptr inbounds nuw i8, ptr %0, i64 496 @@ -31364,6 +31445,7 @@ default.unreachable: ; preds = %248 456: ; preds = %451 call void @llvm.experimental.noalias.scope.decl(metadata !14101) call void @llvm.experimental.noalias.scope.decl(metadata !14104) + call void @llvm.assume(i1 true) [ "align"(ptr %454, i64 8) ] %457 = getelementptr inbounds nuw i8, ptr %454, i64 16 %458 = load ptr, ptr %457, align 8, !noalias !14107, !nonnull !4, !noundef !4 %459 = getelementptr inbounds nuw i8, ptr %0, i64 528 @@ -31386,6 +31468,7 @@ default.unreachable: ; preds = %248 467: ; preds = %"_ZN4core3ptr58drop_in_place$LT$parquet..data_type..FixedLenByteArray$GT$17h77f1072a4a945bfcE.exit.i.i.i.i" call void @llvm.experimental.noalias.scope.decl(metadata !14119) call void @llvm.experimental.noalias.scope.decl(metadata !14122) + call void @llvm.assume(i1 true) [ "align"(ptr %465, i64 8) ] %468 = getelementptr inbounds nuw i8, ptr %465, i64 16 %469 = load ptr, ptr %468, align 8, !noalias !14125, !nonnull !4, !noundef !4 %470 = getelementptr inbounds nuw i8, ptr %0, i64 528 @@ -33870,6 +33953,7 @@ common.resume.sink.split.i: ; preds = %1246, %"_ZN4core3pt 1347: ; preds = %1343 tail call void @llvm.experimental.noalias.scope.decl(metadata !15021) tail call void @llvm.experimental.noalias.scope.decl(metadata !15024) + call void @llvm.assume(i1 true) [ "align"(ptr %1345, i64 8) ] %1348 = getelementptr inbounds nuw i8, ptr %1345, i64 16 %1349 = load ptr, ptr %1348, align 8, !noalias !15027, !nonnull !4, !noundef !4 %1350 = getelementptr inbounds nuw i8, ptr %0, i64 352 @@ -33900,6 +33984,7 @@ common.resume.sink.split.i: ; preds = %1246, %"_ZN4core3pt 1364: ; preds = %1360 tail call void @llvm.experimental.noalias.scope.decl(metadata !15040) tail call void @llvm.experimental.noalias.scope.decl(metadata !15043) + call void @llvm.assume(i1 true) [ "align"(ptr %1362, i64 8) ] %1365 = getelementptr inbounds nuw i8, ptr %1362, i64 16 %1366 = load ptr, ptr %1365, align 8, !noalias !15046, !nonnull !4, !noundef !4 %1367 = getelementptr inbounds nuw i8, ptr %0, i64 392 @@ -33928,6 +34013,7 @@ common.resume.sink.split.i: ; preds = %1246, %"_ZN4core3pt 1379: ; preds = %1375 tail call void @llvm.experimental.noalias.scope.decl(metadata !15059) tail call void @llvm.experimental.noalias.scope.decl(metadata !15062) + call void @llvm.assume(i1 true) [ "align"(ptr %1377, i64 8) ] %1380 = getelementptr inbounds nuw i8, ptr %1377, i64 16 %1381 = load ptr, ptr %1380, align 8, !noalias !15065, !nonnull !4, !noundef !4 %1382 = getelementptr inbounds nuw i8, ptr %0, i64 392 @@ -34181,6 +34267,7 @@ common.resume.sink.split.i: ; preds = %1246, %"_ZN4core3pt 1463: ; preds = %1459 call void @llvm.experimental.noalias.scope.decl(metadata !15195) call void @llvm.experimental.noalias.scope.decl(metadata !15198) + call void @llvm.assume(i1 true) [ "align"(ptr %1461, i64 8) ] %1464 = getelementptr inbounds nuw i8, ptr %1461, i64 16 %1465 = load ptr, ptr %1464, align 8, !noalias !15201, !nonnull !4, !noundef !4 %1466 = getelementptr inbounds nuw i8, ptr %0, i64 496 @@ -34204,6 +34291,7 @@ common.resume.sink.split.i: ; preds = %1246, %"_ZN4core3pt 1476: ; preds = %1471 call void @llvm.experimental.noalias.scope.decl(metadata !15210) call void @llvm.experimental.noalias.scope.decl(metadata !15213) + call void @llvm.assume(i1 true) [ "align"(ptr %1474, i64 8) ] %1477 = getelementptr inbounds nuw i8, ptr %1474, i64 16 %1478 = load ptr, ptr %1477, align 8, !noalias !15216, !nonnull !4, !noundef !4 %1479 = getelementptr inbounds nuw i8, ptr %0, i64 528 @@ -34225,6 +34313,7 @@ common.resume.sink.split.i: ; preds = %1246, %"_ZN4core3pt 1487: ; preds = %"_ZN4core3ptr50drop_in_place$LT$parquet..data_type..ByteArray$GT$17h76c3c9c95f18be9dE.exit.i.i.i.i" call void @llvm.experimental.noalias.scope.decl(metadata !15225) call void @llvm.experimental.noalias.scope.decl(metadata !15228) + call void @llvm.assume(i1 true) [ "align"(ptr %1485, i64 8) ] %1488 = getelementptr inbounds nuw i8, ptr %1485, i64 16 %1489 = load ptr, ptr %1488, align 8, !noalias !15231, !nonnull !4, !noundef !4 %1490 = getelementptr inbounds nuw i8, ptr %0, i64 528 @@ -34565,6 +34654,7 @@ define hidden void @"_ZN4core3ptr73drop_in_place$LT$parquet..arrow..arrow_writer 11: ; preds = %7 tail call void @llvm.experimental.noalias.scope.decl(metadata !15322) tail call void @llvm.experimental.noalias.scope.decl(metadata !15325) + call void @llvm.assume(i1 true) [ "align"(ptr %9, i64 8) ] %12 = getelementptr inbounds nuw i8, ptr %9, i64 16 %13 = load ptr, ptr %12, align 8, !noalias !15328, !nonnull !4, !noundef !4 %14 = getelementptr inbounds nuw i8, ptr %0, i64 32 @@ -34591,6 +34681,7 @@ define hidden void @"_ZN4core3ptr73drop_in_place$LT$parquet..arrow..arrow_writer 25: ; preds = %21 tail call void @llvm.experimental.noalias.scope.decl(metadata !15337) tail call void @llvm.experimental.noalias.scope.decl(metadata !15340) + call void @llvm.assume(i1 true) [ "align"(ptr %23, i64 8) ] %26 = getelementptr inbounds nuw i8, ptr %23, i64 16 %27 = load ptr, ptr %26, align 8, !noalias !15343, !nonnull !4, !noundef !4 %28 = getelementptr inbounds nuw i8, ptr %0, i64 32 @@ -36970,6 +37061,7 @@ define hidden void @"_ZN4core3ptr78drop_in_place$LT$core..option..Option$LT$parq 8: ; preds = %4 tail call void @llvm.experimental.noalias.scope.decl(metadata !16326) tail call void @llvm.experimental.noalias.scope.decl(metadata !16329) + call void @llvm.assume(i1 true) [ "align"(ptr %6, i64 8) ] %9 = getelementptr inbounds nuw i8, ptr %6, i64 16 %10 = load ptr, ptr %9, align 8, !noalias !16332, !nonnull !4, !noundef !4 %11 = getelementptr inbounds nuw i8, ptr %0, i64 32 @@ -37648,6 +37740,7 @@ define internal fastcc void @"_ZN4core3ptr79drop_in_place$LT$parquet..arrow..arr 70: ; preds = %66 tail call void @llvm.experimental.noalias.scope.decl(metadata !16726) tail call void @llvm.experimental.noalias.scope.decl(metadata !16729) + call void @llvm.assume(i1 true) [ "align"(ptr %68, i64 8) ] %71 = getelementptr inbounds nuw i8, ptr %68, i64 16 %72 = load ptr, ptr %71, align 8, !noalias !16732, !nonnull !4, !noundef !4 %73 = getelementptr inbounds nuw i8, ptr %0, i64 32 @@ -37683,6 +37776,7 @@ define internal fastcc void @"_ZN4core3ptr79drop_in_place$LT$parquet..arrow..arr 89: ; preds = %85 tail call void @llvm.experimental.noalias.scope.decl(metadata !16744) tail call void @llvm.experimental.noalias.scope.decl(metadata !16747) + call void @llvm.assume(i1 true) [ "align"(ptr %87, i64 8) ] %90 = getelementptr inbounds nuw i8, ptr %87, i64 16 %91 = load ptr, ptr %90, align 8, !noalias !16750, !nonnull !4, !noundef !4 %92 = getelementptr inbounds nuw i8, ptr %0, i64 32 @@ -37712,6 +37806,7 @@ define internal fastcc void @"_ZN4core3ptr79drop_in_place$LT$parquet..arrow..arr 104: ; preds = %100 tail call void @llvm.experimental.noalias.scope.decl(metadata !16761) tail call void @llvm.experimental.noalias.scope.decl(metadata !16764) + call void @llvm.assume(i1 true) [ "align"(ptr %102, i64 8) ] %105 = getelementptr inbounds nuw i8, ptr %102, i64 16 %106 = load ptr, ptr %105, align 8, !noalias !16767, !nonnull !4, !noundef !4 %107 = getelementptr inbounds nuw i8, ptr %0, i64 72 @@ -37745,6 +37840,7 @@ define internal fastcc void @"_ZN4core3ptr79drop_in_place$LT$parquet..arrow..arr 121: ; preds = %117 tail call void @llvm.experimental.noalias.scope.decl(metadata !16778) tail call void @llvm.experimental.noalias.scope.decl(metadata !16781) + call void @llvm.assume(i1 true) [ "align"(ptr %119, i64 8) ] %122 = getelementptr inbounds nuw i8, ptr %119, i64 16 %123 = load ptr, ptr %122, align 8, !noalias !16784, !nonnull !4, !noundef !4 %124 = getelementptr inbounds nuw i8, ptr %0, i64 72 @@ -40264,6 +40360,7 @@ define hidden void @"_ZN4core3ptr86drop_in_place$LT$core..option..Option$LT$parq 8: ; preds = %4 tail call void @llvm.experimental.noalias.scope.decl(metadata !17963) tail call void @llvm.experimental.noalias.scope.decl(metadata !17966) + call void @llvm.assume(i1 true) [ "align"(ptr %6, i64 8) ] %9 = getelementptr inbounds nuw i8, ptr %6, i64 16 %10 = load ptr, ptr %9, align 8, !noalias !17969, !nonnull !4, !noundef !4 %11 = getelementptr inbounds nuw i8, ptr %0, i64 32 @@ -42060,6 +42157,7 @@ define hidden void @"_ZN4core3ptr92drop_in_place$LT$core..cell..UnsafeCell$LT$to 5: ; preds = %1 tail call void @llvm.experimental.noalias.scope.decl(metadata !18683) tail call void @llvm.experimental.noalias.scope.decl(metadata !18686) + call void @llvm.assume(i1 true) [ "align"(ptr %3, i64 8) ] %6 = getelementptr inbounds nuw i8, ptr %3, i64 24 %7 = load ptr, ptr %6, align 8, !noalias !18689, !nonnull !4, !noundef !4 %8 = getelementptr inbounds nuw i8, ptr %0, i64 24 @@ -42079,6 +42177,7 @@ define hidden void @"_ZN4core3ptr92drop_in_place$LT$core..cell..UnsafeCell$LT$to 15: ; preds = %10 tail call void @llvm.experimental.noalias.scope.decl(metadata !18694) tail call void @llvm.experimental.noalias.scope.decl(metadata !18697) + call void @llvm.assume(i1 true) [ "align"(ptr %13, i64 8) ] %16 = getelementptr inbounds nuw i8, ptr %13, i64 24 %17 = load ptr, ptr %16, align 8, !noalias !18700, !nonnull !4, !noundef !4 %18 = getelementptr inbounds nuw i8, ptr %0, i64 40 @@ -42096,6 +42195,7 @@ define hidden void @"_ZN4core3ptr92drop_in_place$LT$core..cell..UnsafeCell$LT$to 23: ; preds = %"_ZN4core3ptr72drop_in_place$LT$core..option..Option$LT$core..task..wake..Waker$GT$$GT$17h5c63a687df690d33E.llvm.12494526139044184965.exit.i" tail call void @llvm.experimental.noalias.scope.decl(metadata !18705) tail call void @llvm.experimental.noalias.scope.decl(metadata !18708) + call void @llvm.assume(i1 true) [ "align"(ptr %21, i64 8) ] %24 = getelementptr inbounds nuw i8, ptr %21, i64 24 %25 = load ptr, ptr %24, align 8, !noalias !18711, !nonnull !4, !noundef !4 %26 = getelementptr inbounds nuw i8, ptr %0, i64 40 @@ -42584,6 +42684,7 @@ define hidden void @"_ZN4core3ptr94drop_in_place$LT$std..io..Take$LT$parquet..ar 11: ; preds = %7 tail call void @llvm.experimental.noalias.scope.decl(metadata !18949) tail call void @llvm.experimental.noalias.scope.decl(metadata !18952) + call void @llvm.assume(i1 true) [ "align"(ptr %9, i64 8) ] %12 = getelementptr inbounds nuw i8, ptr %9, i64 16 %13 = load ptr, ptr %12, align 8, !noalias !18955, !nonnull !4, !noundef !4 %14 = getelementptr inbounds nuw i8, ptr %0, i64 32 @@ -42610,6 +42711,7 @@ define hidden void @"_ZN4core3ptr94drop_in_place$LT$std..io..Take$LT$parquet..ar 25: ; preds = %21 tail call void @llvm.experimental.noalias.scope.decl(metadata !18964) tail call void @llvm.experimental.noalias.scope.decl(metadata !18967) + call void @llvm.assume(i1 true) [ "align"(ptr %23, i64 8) ] %26 = getelementptr inbounds nuw i8, ptr %23, i64 16 %27 = load ptr, ptr %26, align 8, !noalias !18970, !nonnull !4, !noundef !4 %28 = getelementptr inbounds nuw i8, ptr %0, i64 32 @@ -43084,6 +43186,7 @@ define hidden void @"_ZN4core3ptr96drop_in_place$LT$core..option..Option$LT$core 8: ; preds = %4 tail call void @llvm.experimental.noalias.scope.decl(metadata !19186) tail call void @llvm.experimental.noalias.scope.decl(metadata !19189) + call void @llvm.assume(i1 true) [ "align"(ptr %6, i64 8) ] %9 = getelementptr inbounds nuw i8, ptr %6, i64 16 %10 = load ptr, ptr %9, align 8, !noalias !19192, !nonnull !4, !noundef !4 %11 = getelementptr inbounds nuw i8, ptr %0, i64 32 @@ -43114,6 +43217,7 @@ define internal fastcc void @"_ZN4core3ptr96drop_in_place$LT$parquet..column..wr 9: ; preds = %5 tail call void @llvm.experimental.noalias.scope.decl(metadata !19203) tail call void @llvm.experimental.noalias.scope.decl(metadata !19206) + call void @llvm.assume(i1 true) [ "align"(ptr %7, i64 8) ] %10 = getelementptr inbounds nuw i8, ptr %7, i64 16 %11 = load ptr, ptr %10, align 8, !noalias !19209, !nonnull !4, !noundef !4 %12 = getelementptr inbounds nuw i8, ptr %0, i64 64 @@ -43144,6 +43248,7 @@ define internal fastcc void @"_ZN4core3ptr96drop_in_place$LT$parquet..column..wr 26: ; preds = %22 tail call void @llvm.experimental.noalias.scope.decl(metadata !19220) tail call void @llvm.experimental.noalias.scope.decl(metadata !19223) + call void @llvm.assume(i1 true) [ "align"(ptr %24, i64 8) ] %27 = getelementptr inbounds nuw i8, ptr %24, i64 16 %28 = load ptr, ptr %27, align 8, !noalias !19226, !nonnull !4, !noundef !4 %29 = getelementptr inbounds nuw i8, ptr %0, i64 104 @@ -43172,6 +43277,7 @@ define internal fastcc void @"_ZN4core3ptr96drop_in_place$LT$parquet..column..wr 41: ; preds = %37 tail call void @llvm.experimental.noalias.scope.decl(metadata !19237) tail call void @llvm.experimental.noalias.scope.decl(metadata !19240) + call void @llvm.assume(i1 true) [ "align"(ptr %39, i64 8) ] %42 = getelementptr inbounds nuw i8, ptr %39, i64 16 %43 = load ptr, ptr %42, align 8, !noalias !19243, !nonnull !4, !noundef !4 %44 = getelementptr inbounds nuw i8, ptr %0, i64 104 @@ -45456,6 +45562,7 @@ define hidden void @"_ZN61_$LT$tracing..span..Span$u20$as$u20$core..ops..drop..D br i1 %.not4, label %12, label %16 16: ; preds = %13 + call void @llvm.assume(i1 true) [ "align"(ptr %15, i64 8) ] call void @llvm.lifetime.start.p0(ptr nonnull %4) call void @llvm.lifetime.start.p0(ptr nonnull %3) call void @llvm.lifetime.start.p0(ptr nonnull %2) @@ -51638,6 +51745,7 @@ define hidden void @_ZN7tracing4span4Span3log17hb84d364d4a2ace98E.llvm.124945261 br i1 %.not, label %18, label %13 13: ; preds = %5 + call void @llvm.assume(i1 true) [ "align"(ptr %12, i64 8) ] %14 = load i64, ptr %12, align 8, !range !4651, !noundef !4 %switch.tableidx = add nsw i64 %14, -1 %15 = icmp ult i64 %switch.tableidx, 4 diff --git a/bench/influxdb-rs/optimized/k4rb82tj7t3tvne.ll b/bench/influxdb-rs/optimized/k4rb82tj7t3tvne.ll index f6c6a364878..a41dc14ddbf 100644 --- a/bench/influxdb-rs/optimized/k4rb82tj7t3tvne.ll +++ b/bench/influxdb-rs/optimized/k4rb82tj7t3tvne.ll @@ -1960,6 +1960,7 @@ default.unreachable133: ; preds = %2 158: ; preds = %154 call void @llvm.lifetime.start.p0(ptr nonnull %7), !noalias !400 + call void @llvm.assume(i1 true) [ "align"(ptr %156, i64 8) ] %159 = load ptr, ptr %156, align 8, !noalias !400, !nonnull !5, !noundef !5 %160 = getelementptr inbounds nuw i8, ptr %1, i64 40 %161 = getelementptr inbounds nuw i8, ptr %1, i64 24 @@ -1998,6 +1999,7 @@ default.unreachable133: ; preds = %2 174: ; preds = %170 call void @llvm.lifetime.start.p0(ptr nonnull %6), !noalias !403 + call void @llvm.assume(i1 true) [ "align"(ptr %172, i64 8) ] %175 = load ptr, ptr %172, align 8, !noalias !403, !nonnull !5, !noundef !5 %176 = getelementptr inbounds nuw i8, ptr %1, i64 80 %177 = getelementptr inbounds nuw i8, ptr %1, i64 64 @@ -2037,6 +2039,7 @@ default.unreachable133: ; preds = %2 188: ; preds = %186 tail call void @llvm.experimental.noalias.scope.decl(metadata !415) tail call void @llvm.experimental.noalias.scope.decl(metadata !418) + call void @llvm.assume(i1 true) [ "align"(ptr %167, i64 8) ] %189 = getelementptr inbounds nuw i8, ptr %167, i64 16 %190 = load ptr, ptr %189, align 8, !noalias !421, !nonnull !5, !noundef !5 %191 = getelementptr inbounds nuw i8, ptr %8, i64 32 @@ -2121,6 +2124,7 @@ common.resume: ; preds = %245, %247, %249, %1 219: ; preds = %215 call void @llvm.lifetime.start.p0(ptr nonnull %4), !noalias !426 + call void @llvm.assume(i1 true) [ "align"(ptr %217, i64 8) ] %220 = load ptr, ptr %217, align 8, !noalias !426, !nonnull !5, !noundef !5 %221 = getelementptr inbounds nuw i8, ptr %1, i64 40 %222 = getelementptr inbounds nuw i8, ptr %1, i64 24 @@ -2159,6 +2163,7 @@ common.resume: ; preds = %245, %247, %249, %1 235: ; preds = %231 call void @llvm.lifetime.start.p0(ptr nonnull %3), !noalias !429 + call void @llvm.assume(i1 true) [ "align"(ptr %233, i64 8) ] %236 = load ptr, ptr %233, align 8, !noalias !429, !nonnull !5, !noundef !5 %237 = getelementptr inbounds nuw i8, ptr %1, i64 80 %238 = getelementptr inbounds nuw i8, ptr %1, i64 64 @@ -2199,6 +2204,7 @@ common.resume: ; preds = %245, %247, %249, %1 249: ; preds = %247 tail call void @llvm.experimental.noalias.scope.decl(metadata !444) tail call void @llvm.experimental.noalias.scope.decl(metadata !447) + call void @llvm.assume(i1 true) [ "align"(ptr %228, i64 8) ] %250 = getelementptr inbounds nuw i8, ptr %228, i64 16 %251 = load ptr, ptr %250, align 8, !noalias !450, !nonnull !5, !noundef !5 %252 = getelementptr inbounds nuw i8, ptr %5, i64 32 @@ -4987,6 +4993,7 @@ define hidden void @"_ZN7parquet4file6writer33SerializedRowGroupWriter$LT$W$GT$1 261: ; preds = %258 call void @llvm.experimental.noalias.scope.decl(metadata !786) call void @llvm.experimental.noalias.scope.decl(metadata !789) + call void @llvm.assume(i1 true) [ "align"(ptr %259, i64 8) ] %262 = getelementptr inbounds nuw i8, ptr %259, i64 16 %263 = load ptr, ptr %262, align 8, !noalias !792, !nonnull !5, !noundef !5 %264 = getelementptr inbounds nuw i8, ptr %23, i64 32 @@ -5012,6 +5019,7 @@ define hidden void @"_ZN7parquet4file6writer33SerializedRowGroupWriter$LT$W$GT$1 274: ; preds = %271 call void @llvm.experimental.noalias.scope.decl(metadata !802) call void @llvm.experimental.noalias.scope.decl(metadata !805) + call void @llvm.assume(i1 true) [ "align"(ptr %272, i64 8) ] %275 = getelementptr inbounds nuw i8, ptr %272, i64 16 %276 = load ptr, ptr %275, align 8, !noalias !808, !nonnull !5, !noundef !5 %277 = getelementptr inbounds nuw i8, ptr %23, i64 32 diff --git a/bench/jiff-rs/optimized/6v5jz1tl6zqdv4zpvzdoaqaiw.ll b/bench/jiff-rs/optimized/6v5jz1tl6zqdv4zpvzdoaqaiw.ll index f63926b2ca7..49d5bb8290e 100644 --- a/bench/jiff-rs/optimized/6v5jz1tl6zqdv4zpvzdoaqaiw.ll +++ b/bench/jiff-rs/optimized/6v5jz1tl6zqdv4zpvzdoaqaiw.ll @@ -1219,6 +1219,7 @@ define hidden noundef i32 @"_ZN4jiff6shared5posix59_$LT$impl$u20$jiff..shared..P br i1 %63, label %64, label %66 64: ; preds = %58 + call void @llvm.assume(i1 true) [ "align"(ptr %0, i64 4) ] %65 = call noundef i32 @"_ZN4jiff6shared5posix43_$LT$impl$u20$jiff..shared..PosixOffset$GT$10to_ioffset17h4aa43f77612cdfa2E"(ptr noalias noundef nonnull readonly align 4 dereferenceable(4) %61) br label %66 @@ -1352,6 +1353,7 @@ define hidden noundef i32 @"_ZN4jiff6shared5posix59_$LT$impl$u20$jiff..shared..P br i1 %63, label %64, label %66 64: ; preds = %58 + call void @llvm.assume(i1 true) [ "align"(ptr %0, i64 8) ] %65 = call noundef i32 @"_ZN4jiff6shared5posix43_$LT$impl$u20$jiff..shared..PosixOffset$GT$10to_ioffset17h4aa43f77612cdfa2E"(ptr noalias noundef nonnull readonly align 4 dereferenceable(4) %61) br label %66 @@ -1482,6 +1484,7 @@ define hidden void @"_ZN4jiff6shared5posix59_$LT$impl$u20$jiff..shared..PosixTim call void @llvm.lifetime.end.p0(ptr nonnull %5), !noalias !166 call void @llvm.lifetime.end.p0(ptr nonnull %6), !noalias !160 call void @llvm.lifetime.end.p0(ptr nonnull %7) + %.sroa.42.0..sroa_idx = getelementptr inbounds nuw i8, ptr %0, i64 8 br i1 %64, label %70, label %74 65: ; preds = %4 @@ -1494,20 +1497,20 @@ define hidden void @"_ZN4jiff6shared5posix59_$LT$impl$u20$jiff..shared..PosixTim store ptr %.val10, ptr %0, align 8 %69 = getelementptr inbounds nuw i8, ptr %0, i64 8 store i64 %.val11, ptr %69, align 8 - br label %79 + br label %78 70: ; preds = %59 + call void @llvm.assume(i1 true) [ "align"(ptr %1, i64 8) ] %71 = call noundef i32 @"_ZN4jiff6shared5posix43_$LT$impl$u20$jiff..shared..PosixOffset$GT$10to_ioffset17h4aa43f77612cdfa2E"(ptr noalias noundef nonnull readonly align 4 dereferenceable(4) %62) %72 = getelementptr inbounds nuw i8, ptr %1, i64 16 %.val8 = load ptr, ptr %72, align 8, !nonnull !3, !align !4, !noundef !3 %73 = getelementptr inbounds nuw i8, ptr %1, i64 24 %.val9 = load i64, ptr %73, align 8, !noundef !3 store ptr %.val8, ptr %0, align 8 - %.sroa.42.0..sroa_idx = getelementptr inbounds nuw i8, ptr %0, i64 8 store i64 %.val9, ptr %.sroa.42.0..sroa_idx, align 8 %.sroa.53.0..sroa_idx = getelementptr inbounds nuw i8, ptr %0, i64 16 store i32 %71, ptr %.sroa.53.0..sroa_idx, align 8 - br label %79 + br label %78 74: ; preds = %59 %75 = getelementptr inbounds nuw i8, ptr %1, i64 40 @@ -1517,11 +1520,10 @@ define hidden void @"_ZN4jiff6shared5posix59_$LT$impl$u20$jiff..shared..PosixTim %77 = getelementptr inbounds nuw i8, ptr %0, i64 16 store i32 %9, ptr %77, align 8 store ptr %.val, ptr %0, align 8 - %78 = getelementptr inbounds nuw i8, ptr %0, i64 8 - store i64 %.val7, ptr %78, align 8 - br label %79 + store i64 %.val7, ptr %.sroa.42.0..sroa_idx, align 8 + br label %78 -79: ; preds = %70, %74, %65 +78: ; preds = %70, %74, %65 %.sink = phi i8 [ 1, %70 ], [ 0, %74 ], [ 0, %65 ] %.sroa.64.0..sroa_idx = getelementptr inbounds nuw i8, ptr %0, i64 20 store i8 %.sink, ptr %.sroa.64.0..sroa_idx, align 4 @@ -1650,6 +1652,7 @@ define hidden void @"_ZN4jiff6shared5posix59_$LT$impl$u20$jiff..shared..PosixTim call void @llvm.lifetime.end.p0(ptr nonnull %5), !noalias !183 call void @llvm.lifetime.end.p0(ptr nonnull %6), !noalias !177 call void @llvm.lifetime.end.p0(ptr nonnull %7) + %.sroa.42.0..sroa_idx = getelementptr inbounds nuw i8, ptr %0, i64 8 br i1 %64, label %72, label %78 65: ; preds = %4 @@ -1662,20 +1665,20 @@ define hidden void @"_ZN4jiff6shared5posix59_$LT$impl$u20$jiff..shared..PosixTim store ptr %68, ptr %0, align 8 %71 = getelementptr inbounds nuw i8, ptr %0, i64 8 store i64 %69, ptr %71, align 8 - br label %85 + br label %84 72: ; preds = %59 + call void @llvm.assume(i1 true) [ "align"(ptr %1, i64 4) ] %73 = call noundef i32 @"_ZN4jiff6shared5posix43_$LT$impl$u20$jiff..shared..PosixOffset$GT$10to_ioffset17h4aa43f77612cdfa2E"(ptr noalias noundef nonnull readonly align 4 dereferenceable(4) %62) %74 = getelementptr inbounds nuw i8, ptr %1, i64 20 %75 = call { ptr, i64 } @"_ZN100_$LT$jiff..shared..util..array_str..ArrayStr$LT$_$GT$$u20$as$u20$core..convert..AsRef$LT$str$GT$$GT$6as_ref17h0bfc697eb4a8e8d2E"(ptr noalias noundef nonnull readonly align 1 dereferenceable(31) %74) %76 = extractvalue { ptr, i64 } %75, 0 %77 = extractvalue { ptr, i64 } %75, 1 store ptr %76, ptr %0, align 8 - %.sroa.42.0..sroa_idx = getelementptr inbounds nuw i8, ptr %0, i64 8 store i64 %77, ptr %.sroa.42.0..sroa_idx, align 8 %.sroa.53.0..sroa_idx = getelementptr inbounds nuw i8, ptr %0, i64 16 store i32 %73, ptr %.sroa.53.0..sroa_idx, align 8 - br label %85 + br label %84 78: ; preds = %59 %79 = getelementptr inbounds nuw i8, ptr %1, i64 56 @@ -1685,11 +1688,10 @@ define hidden void @"_ZN4jiff6shared5posix59_$LT$impl$u20$jiff..shared..PosixTim %83 = getelementptr inbounds nuw i8, ptr %0, i64 16 store i32 %9, ptr %83, align 8 store ptr %81, ptr %0, align 8 - %84 = getelementptr inbounds nuw i8, ptr %0, i64 8 - store i64 %82, ptr %84, align 8 - br label %85 + store i64 %82, ptr %.sroa.42.0..sroa_idx, align 8 + br label %84 -85: ; preds = %72, %78, %65 +84: ; preds = %72, %78, %65 %.sink = phi i8 [ 1, %72 ], [ 0, %78 ], [ 0, %65 ] %.sroa.64.0..sroa_idx = getelementptr inbounds nuw i8, ptr %0, i64 20 store i8 %.sink, ptr %.sroa.64.0..sroa_idx, align 4 diff --git a/bench/jiff-rs/optimized/diij60a8h6gwjom97cm6sfirq.ll b/bench/jiff-rs/optimized/diij60a8h6gwjom97cm6sfirq.ll index 125e6e061c7..2c615776845 100644 --- a/bench/jiff-rs/optimized/diij60a8h6gwjom97cm6sfirq.ll +++ b/bench/jiff-rs/optimized/diij60a8h6gwjom97cm6sfirq.ll @@ -9948,6 +9948,7 @@ _ZN4jiff4span4Unit8singular17hdd311d87c672bf13E.exit12.i: ; preds = %57 to label %311 unwind label %306 294: ; preds = %280 + call void @llvm.assume(i1 true) [ "align"(ptr %277, i64 8) ] %.pr = load i64, ptr %277, align 8 br label %295 @@ -10060,6 +10061,7 @@ _ZN4jiff4span4Unit8singular17hdd311d87c672bf13E.exit12.i: ; preds = %57 to label %356 unwind label %351 339: ; preds = %325 + call void @llvm.assume(i1 true) [ "align"(ptr %322, i64 8) ] %.pr150 = load i64, ptr %322, align 8 br label %340 @@ -12724,6 +12726,7 @@ define void @_ZN4jiff4span8Relative18into_relative_span17h2be168d8deafb8aaE(ptr %45 = load ptr, ptr %44, align 8, !alias.scope !785, !noalias !788, !nonnull !4, !align !156 %.sroa.09.0.i = select i1 %43, ptr %45, ptr %44 %46 = trunc nuw i64 %125 to i1 + call void @llvm.assume(i1 true) [ "align"(ptr %128, i64 8) ] %.sroa.010.0.i = select i1 %46, ptr %128, ptr %.sroa.212.0..sroa_idx invoke fastcc void @_ZN4jiff5zoned5Zoned5until17h9ce5a846a9338ca3E(ptr noalias noundef align 8 captures(none) dereferenceable(72) %14, ptr noalias noundef readonly align 8 dereferenceable(40) %.sroa.09.0.i, i8 noundef %2, ptr noalias noundef readonly align 8 dereferenceable(40) %.sroa.010.0.i) to label %switch.lookup76 unwind label %51, !noalias !788 diff --git a/bench/just-rs/optimized/23nlf67cmm9na4ci.ll b/bench/just-rs/optimized/23nlf67cmm9na4ci.ll index 4d604647ec5..d7f416d0bfe 100644 --- a/bench/just-rs/optimized/23nlf67cmm9na4ci.ll +++ b/bench/just-rs/optimized/23nlf67cmm9na4ci.ll @@ -16262,6 +16262,7 @@ define hidden noundef align 8 ptr @"_ZN60_$LT$just..thunk..Thunk$u20$as$u20$serd _ZN10serde_json3ser9Formatter17begin_array_value17h1d9025c024b2e195E.exit.thread.i: ; preds = %2 store ptr %1, ptr %3, align 8 %6 = getelementptr inbounds nuw i8, ptr %3, i64 8 + call void @llvm.assume(i1 true) [ "align"(ptr %1, i64 8) ] %7 = tail call noundef ptr @"_ZN57_$LT$std..io..stdio..Stdout$u20$as$u20$std..io..Write$GT$9write_all17h5e1a29f66be91e9cE"(ptr noalias noundef nonnull align 8 dereferenceable(8) %1, ptr noalias noundef nonnull readonly align 1 @anon.79fb49cdb9b8b410ff224812fb6dc91a.20.llvm.10588682083550974452, i64 noundef 1), !noalias !3405 %8 = icmp eq ptr %7, null br i1 %8, label %9, label %"_ZN83_$LT$serde_json..ser..Compound$LT$W$C$F$GT$$u20$as$u20$serde..ser..SerializeSeq$GT$3end17h2ae171f2cc8ad955E.exit.sink.split" @@ -16281,6 +16282,7 @@ switch.lookup: ; preds = %_ZN10serde_json3ser %switch.gep = getelementptr inbounds nuw i64, ptr @"switch.table._ZN60_$LT$just..thunk..Thunk$u20$as$u20$serde..ser..Serialize$GT$9serialize17h7906bab245a9adbbE", i64 %14 %switch.load = load i64, ptr %switch.gep, align 8 tail call void @llvm.experimental.noalias.scope.decl(metadata !3421) + call void @llvm.assume(i1 true) [ "align"(ptr %1, i64 8) ] %15 = tail call noundef ptr @"_ZN57_$LT$std..io..stdio..Stdout$u20$as$u20$std..io..Write$GT$9write_all17h5e1a29f66be91e9cE"(ptr noalias noundef nonnull align 8 dereferenceable(8) %1, ptr noalias noundef nonnull readonly align 1 @anon.79fb49cdb9b8b410ff224812fb6dc91a.26.llvm.10588682083550974452, i64 noundef 1), !noalias !3424 %16 = icmp eq ptr %15, null br i1 %16, label %"_ZN83_$LT$serde_json..ser..Compound$LT$W$C$F$GT$$u20$as$u20$serde..ser..SerializeSeq$GT$17serialize_element17hca3a755e3433e665E.exit", label %"_ZN83_$LT$serde_json..ser..Compound$LT$W$C$F$GT$$u20$as$u20$serde..ser..SerializeSeq$GT$3end17h2ae171f2cc8ad955E.exit.sink.split" @@ -16305,12 +16307,20 @@ default.unreachable187: ; preds = %20 i64 5, label %.preheader145 ] -"_ZN4core6option15Option$LT$T$GT$7or_else17h04795529c056ca55E.exit": ; preds = %57, %25, %43, %39 +.preheader145: ; preds = %20 + call void @llvm.assume(i1 true) [ "align"(ptr %1, i64 8) ] + br label %66 + +.preheader: ; preds = %20 + call void @llvm.assume(i1 true) [ "align"(ptr %1, i64 8) ] + br label %46 + +"_ZN4core6option15Option$LT$T$GT$7or_else17h04795529c056ca55E.exit": ; preds = %58, %25, %43, %39 %.pr.pr = load i8, ptr %6, align 8 %21 = icmp eq i8 %.pr.pr, 0 br i1 %21, label %"_ZN83_$LT$serde_json..ser..Compound$LT$W$C$F$GT$$u20$as$u20$serde..ser..SerializeSeq$GT$3end17h2ae171f2cc8ad955E.exit", label %"_ZN4core6option15Option$LT$T$GT$7or_else17h04795529c056ca55E.exit..thread_crit_edge" -"_ZN4core6option15Option$LT$T$GT$7or_else17h04795529c056ca55E.exit..thread_crit_edge": ; preds = %.preheader145, %.preheader, %"_ZN4core6option15Option$LT$T$GT$7or_else17h04795529c056ca55E.exit" +"_ZN4core6option15Option$LT$T$GT$7or_else17h04795529c056ca55E.exit..thread_crit_edge": ; preds = %66, %46, %"_ZN4core6option15Option$LT$T$GT$7or_else17h04795529c056ca55E.exit" %.pre = load ptr, ptr %3, align 8 br label %.thread @@ -16341,7 +16351,7 @@ default.unreachable187: ; preds = %20 %37 = getelementptr inbounds nuw i8, ptr %0, i64 120 %.val84 = load i64, ptr %37, align 8, !noundef !12 %38 = getelementptr inbounds { i64, [15 x i64] }, ptr %.val83, i64 %.val84 - br label %52 + br label %53 39: ; preds = %29 %40 = getelementptr inbounds nuw i8, ptr %0, i64 24 @@ -16355,89 +16365,90 @@ default.unreachable187: ; preds = %20 %45 = icmp eq ptr %44, null br i1 %45, label %"_ZN4core6option15Option$LT$T$GT$7or_else17h04795529c056ca55E.exit", label %"_ZN83_$LT$serde_json..ser..Compound$LT$W$C$F$GT$$u20$as$u20$serde..ser..SerializeSeq$GT$3end17h2ae171f2cc8ad955E.exit" -.preheader: ; preds = %20, %"_ZN83_$LT$serde_json..ser..Compound$LT$W$C$F$GT$$u20$as$u20$serde..ser..SerializeSeq$GT$17serialize_element17he8f0f3689d1dbeadE.exit" - %.sroa.0110.0.idx = phi i64 [ %.sroa.0110.0.add, %"_ZN83_$LT$serde_json..ser..Compound$LT$W$C$F$GT$$u20$as$u20$serde..ser..SerializeSeq$GT$17serialize_element17he8f0f3689d1dbeadE.exit" ], [ 16, %20 ] - %46 = icmp eq i64 %.sroa.0110.0.idx, 32 - br i1 %46, label %"_ZN4core6option15Option$LT$T$GT$7or_else17h04795529c056ca55E.exit..thread_crit_edge", label %_ZN10serde_json3ser9Formatter17begin_array_value17h1d9025c024b2e195E.exit.i93 +46: ; preds = %.preheader, %"_ZN83_$LT$serde_json..ser..Compound$LT$W$C$F$GT$$u20$as$u20$serde..ser..SerializeSeq$GT$17serialize_element17he8f0f3689d1dbeadE.exit" + %.sroa.0110.0.idx = phi i64 [ %.sroa.0110.0.add, %"_ZN83_$LT$serde_json..ser..Compound$LT$W$C$F$GT$$u20$as$u20$serde..ser..SerializeSeq$GT$17serialize_element17he8f0f3689d1dbeadE.exit" ], [ 16, %.preheader ] + %47 = icmp eq i64 %.sroa.0110.0.idx, 32 + br i1 %47, label %"_ZN4core6option15Option$LT$T$GT$7or_else17h04795529c056ca55E.exit..thread_crit_edge", label %_ZN10serde_json3ser9Formatter17begin_array_value17h1d9025c024b2e195E.exit.i93 -_ZN10serde_json3ser9Formatter17begin_array_value17h1d9025c024b2e195E.exit.i93: ; preds = %.preheader +_ZN10serde_json3ser9Formatter17begin_array_value17h1d9025c024b2e195E.exit.i93: ; preds = %46 %.sroa.0110.0.ptr = getelementptr inbounds nuw i8, ptr %0, i64 %.sroa.0110.0.idx %.val81 = load ptr, ptr %.sroa.0110.0.ptr, align 8 - %47 = tail call noundef ptr @"_ZN57_$LT$std..io..stdio..Stdout$u20$as$u20$std..io..Write$GT$9write_all17h5e1a29f66be91e9cE"(ptr noalias noundef nonnull align 8 dereferenceable(8) %1, ptr noalias noundef nonnull readonly align 1 @anon.79fb49cdb9b8b410ff224812fb6dc91a.26.llvm.10588682083550974452, i64 noundef 1), !noalias !3427 - %48 = icmp eq ptr %47, null - br i1 %48, label %"_ZN83_$LT$serde_json..ser..Compound$LT$W$C$F$GT$$u20$as$u20$serde..ser..SerializeSeq$GT$17serialize_element17he8f0f3689d1dbeadE.exit", label %"_ZN83_$LT$serde_json..ser..Compound$LT$W$C$F$GT$$u20$as$u20$serde..ser..SerializeSeq$GT$3end17h2ae171f2cc8ad955E.exit.sink.split" + %48 = tail call noundef ptr @"_ZN57_$LT$std..io..stdio..Stdout$u20$as$u20$std..io..Write$GT$9write_all17h5e1a29f66be91e9cE"(ptr noalias noundef nonnull align 8 dereferenceable(8) %1, ptr noalias noundef nonnull readonly align 1 @anon.79fb49cdb9b8b410ff224812fb6dc91a.26.llvm.10588682083550974452, i64 noundef 1), !noalias !3427 + %49 = icmp eq ptr %48, null + br i1 %49, label %"_ZN83_$LT$serde_json..ser..Compound$LT$W$C$F$GT$$u20$as$u20$serde..ser..SerializeSeq$GT$17serialize_element17he8f0f3689d1dbeadE.exit", label %"_ZN83_$LT$serde_json..ser..Compound$LT$W$C$F$GT$$u20$as$u20$serde..ser..SerializeSeq$GT$3end17h2ae171f2cc8ad955E.exit.sink.split" "_ZN83_$LT$serde_json..ser..Compound$LT$W$C$F$GT$$u20$as$u20$serde..ser..SerializeSeq$GT$17serialize_element17he8f0f3689d1dbeadE.exit": ; preds = %_ZN10serde_json3ser9Formatter17begin_array_value17h1d9025c024b2e195E.exit.i93 %.sroa.0110.0.add = add nuw nsw i64 %.sroa.0110.0.idx, 8 - %49 = icmp ne ptr %.val81, null - tail call void @llvm.assume(i1 %49) - %50 = tail call noundef align 8 ptr @"_ZN70_$LT$just..expression..Expression$u20$as$u20$serde..ser..Serialize$GT$9serialize17h198a9eb8fb5b1bbcE"(ptr noalias noundef nonnull readonly align 8 dereferenceable(128) %.val81, ptr noalias noundef nonnull align 8 dereferenceable(8) %1), !noalias !3427 - %51 = icmp eq ptr %50, null - br i1 %51, label %.preheader, label %"_ZN83_$LT$serde_json..ser..Compound$LT$W$C$F$GT$$u20$as$u20$serde..ser..SerializeSeq$GT$3end17h2ae171f2cc8ad955E.exit" + %50 = icmp ne ptr %.val81, null + tail call void @llvm.assume(i1 %50) + %51 = tail call noundef align 8 ptr @"_ZN70_$LT$just..expression..Expression$u20$as$u20$serde..ser..Serialize$GT$9serialize17h198a9eb8fb5b1bbcE"(ptr noalias noundef nonnull readonly align 8 dereferenceable(128) %.val81, ptr noalias noundef nonnull align 8 dereferenceable(8) %1), !noalias !3427 + %52 = icmp eq ptr %51, null + br i1 %52, label %46, label %"_ZN83_$LT$serde_json..ser..Compound$LT$W$C$F$GT$$u20$as$u20$serde..ser..SerializeSeq$GT$3end17h2ae171f2cc8ad955E.exit" -52: ; preds = %"_ZN83_$LT$serde_json..ser..Compound$LT$W$C$F$GT$$u20$as$u20$serde..ser..SerializeSeq$GT$17serialize_element17ha852ebd3b3e3ecb5E.exit", %33 +53: ; preds = %"_ZN83_$LT$serde_json..ser..Compound$LT$W$C$F$GT$$u20$as$u20$serde..ser..SerializeSeq$GT$17serialize_element17ha852ebd3b3e3ecb5E.exit", %33 %.sroa.0114.0 = phi ptr [ %34, %33 ], [ %.sroa.0114.1127.ph, %"_ZN83_$LT$serde_json..ser..Compound$LT$W$C$F$GT$$u20$as$u20$serde..ser..SerializeSeq$GT$17serialize_element17ha852ebd3b3e3ecb5E.exit" ] %.sroa.9.0 = phi ptr [ %.val83, %33 ], [ %.sroa.9.1.ph, %"_ZN83_$LT$serde_json..ser..Compound$LT$W$C$F$GT$$u20$as$u20$serde..ser..SerializeSeq$GT$17serialize_element17ha852ebd3b3e3ecb5E.exit" ] - %53 = icmp eq ptr %.sroa.0114.0, null - %54 = icmp eq ptr %.sroa.0114.0, %35 - %or.cond = select i1 %53, i1 true, i1 %54 - br i1 %or.cond, label %57, label %_ZN4core4iter8adapters5chain17and_then_or_clear17hd342ac90a7794c21E.exit - -_ZN4core4iter8adapters5chain17and_then_or_clear17hd342ac90a7794c21E.exit: ; preds = %52 - %55 = getelementptr inbounds nuw i8, ptr %.sroa.0114.0, i64 8 - %56 = load ptr, ptr %.sroa.0114.0, align 8, !alias.scope !3430, !noalias !3437, !nonnull !12, !align !50, !noundef !12 + %54 = icmp eq ptr %.sroa.0114.0, null + %55 = icmp eq ptr %.sroa.0114.0, %35 + %or.cond = select i1 %54, i1 true, i1 %55 + br i1 %or.cond, label %58, label %_ZN4core4iter8adapters5chain17and_then_or_clear17hd342ac90a7794c21E.exit + +_ZN4core4iter8adapters5chain17and_then_or_clear17hd342ac90a7794c21E.exit: ; preds = %53 + %56 = getelementptr inbounds nuw i8, ptr %.sroa.0114.0, i64 8 + %57 = load ptr, ptr %.sroa.0114.0, align 8, !alias.scope !3430, !noalias !3437, !nonnull !12, !align !50, !noundef !12 br label %_ZN10serde_json3ser9Formatter17begin_array_value17h1d9025c024b2e195E.exit.i99 -57: ; preds = %52 - %58 = icmp eq ptr %.sroa.9.0, %38 - br i1 %58, label %"_ZN4core6option15Option$LT$T$GT$7or_else17h04795529c056ca55E.exit", label %59 +58: ; preds = %53 + %59 = icmp eq ptr %.sroa.9.0, %38 + br i1 %59, label %"_ZN4core6option15Option$LT$T$GT$7or_else17h04795529c056ca55E.exit", label %60 -59: ; preds = %57 - %60 = getelementptr inbounds nuw i8, ptr %.sroa.9.0, i64 128 +60: ; preds = %58 + %61 = getelementptr inbounds nuw i8, ptr %.sroa.9.0, i64 128 br label %_ZN10serde_json3ser9Formatter17begin_array_value17h1d9025c024b2e195E.exit.i99 -_ZN10serde_json3ser9Formatter17begin_array_value17h1d9025c024b2e195E.exit.i99: ; preds = %59, %_ZN4core4iter8adapters5chain17and_then_or_clear17hd342ac90a7794c21E.exit - %.sroa.0114.1127.ph = phi ptr [ %55, %_ZN4core4iter8adapters5chain17and_then_or_clear17hd342ac90a7794c21E.exit ], [ null, %59 ] - %.sroa.9.1.ph = phi ptr [ %.sroa.9.0, %_ZN4core4iter8adapters5chain17and_then_or_clear17hd342ac90a7794c21E.exit ], [ %60, %59 ] - %.0.i98.ph = phi ptr [ %56, %_ZN4core4iter8adapters5chain17and_then_or_clear17hd342ac90a7794c21E.exit ], [ %.sroa.9.0, %59 ] +_ZN10serde_json3ser9Formatter17begin_array_value17h1d9025c024b2e195E.exit.i99: ; preds = %60, %_ZN4core4iter8adapters5chain17and_then_or_clear17hd342ac90a7794c21E.exit + %.sroa.0114.1127.ph = phi ptr [ %56, %_ZN4core4iter8adapters5chain17and_then_or_clear17hd342ac90a7794c21E.exit ], [ null, %60 ] + %.sroa.9.1.ph = phi ptr [ %.sroa.9.0, %_ZN4core4iter8adapters5chain17and_then_or_clear17hd342ac90a7794c21E.exit ], [ %61, %60 ] + %.0.i98.ph = phi ptr [ %57, %_ZN4core4iter8adapters5chain17and_then_or_clear17hd342ac90a7794c21E.exit ], [ %.sroa.9.0, %60 ] tail call void @llvm.experimental.noalias.scope.decl(metadata !3444) - %61 = tail call noundef ptr @"_ZN57_$LT$std..io..stdio..Stdout$u20$as$u20$std..io..Write$GT$9write_all17h5e1a29f66be91e9cE"(ptr noalias noundef nonnull align 8 dereferenceable(8) %1, ptr noalias noundef nonnull readonly align 1 @anon.79fb49cdb9b8b410ff224812fb6dc91a.26.llvm.10588682083550974452, i64 noundef 1), !noalias !3447 - %62 = icmp eq ptr %61, null - br i1 %62, label %"_ZN83_$LT$serde_json..ser..Compound$LT$W$C$F$GT$$u20$as$u20$serde..ser..SerializeSeq$GT$17serialize_element17ha852ebd3b3e3ecb5E.exit", label %"_ZN83_$LT$serde_json..ser..Compound$LT$W$C$F$GT$$u20$as$u20$serde..ser..SerializeSeq$GT$3end17h2ae171f2cc8ad955E.exit.sink.split" + call void @llvm.assume(i1 true) [ "align"(ptr %1, i64 8) ] + %62 = tail call noundef ptr @"_ZN57_$LT$std..io..stdio..Stdout$u20$as$u20$std..io..Write$GT$9write_all17h5e1a29f66be91e9cE"(ptr noalias noundef nonnull align 8 dereferenceable(8) %1, ptr noalias noundef nonnull readonly align 1 @anon.79fb49cdb9b8b410ff224812fb6dc91a.26.llvm.10588682083550974452, i64 noundef 1), !noalias !3447 + %63 = icmp eq ptr %62, null + br i1 %63, label %"_ZN83_$LT$serde_json..ser..Compound$LT$W$C$F$GT$$u20$as$u20$serde..ser..SerializeSeq$GT$17serialize_element17ha852ebd3b3e3ecb5E.exit", label %"_ZN83_$LT$serde_json..ser..Compound$LT$W$C$F$GT$$u20$as$u20$serde..ser..SerializeSeq$GT$3end17h2ae171f2cc8ad955E.exit.sink.split" "_ZN83_$LT$serde_json..ser..Compound$LT$W$C$F$GT$$u20$as$u20$serde..ser..SerializeSeq$GT$17serialize_element17ha852ebd3b3e3ecb5E.exit": ; preds = %_ZN10serde_json3ser9Formatter17begin_array_value17h1d9025c024b2e195E.exit.i99 store i8 2, ptr %6, align 8, !alias.scope !3444, !noalias !3449 - %63 = tail call noundef align 8 ptr @"_ZN70_$LT$just..expression..Expression$u20$as$u20$serde..ser..Serialize$GT$9serialize17h198a9eb8fb5b1bbcE"(ptr noalias noundef nonnull readonly align 8 dereferenceable(128) %.0.i98.ph, ptr noalias noundef nonnull align 8 dereferenceable(8) %1), !noalias !3444 - %64 = icmp eq ptr %63, null - br i1 %64, label %52, label %"_ZN83_$LT$serde_json..ser..Compound$LT$W$C$F$GT$$u20$as$u20$serde..ser..SerializeSeq$GT$3end17h2ae171f2cc8ad955E.exit" + %64 = tail call noundef align 8 ptr @"_ZN70_$LT$just..expression..Expression$u20$as$u20$serde..ser..Serialize$GT$9serialize17h198a9eb8fb5b1bbcE"(ptr noalias noundef nonnull readonly align 8 dereferenceable(128) %.0.i98.ph, ptr noalias noundef nonnull align 8 dereferenceable(8) %1), !noalias !3444 + %65 = icmp eq ptr %64, null + br i1 %65, label %53, label %"_ZN83_$LT$serde_json..ser..Compound$LT$W$C$F$GT$$u20$as$u20$serde..ser..SerializeSeq$GT$3end17h2ae171f2cc8ad955E.exit" -.preheader145: ; preds = %20, %"_ZN83_$LT$serde_json..ser..Compound$LT$W$C$F$GT$$u20$as$u20$serde..ser..SerializeSeq$GT$17serialize_element17he8f0f3689d1dbeadE.exit109" - %.sroa.0115.0.idx = phi i64 [ %.sroa.0115.0.add, %"_ZN83_$LT$serde_json..ser..Compound$LT$W$C$F$GT$$u20$as$u20$serde..ser..SerializeSeq$GT$17serialize_element17he8f0f3689d1dbeadE.exit109" ], [ 16, %20 ] - %65 = icmp eq i64 %.sroa.0115.0.idx, 40 - br i1 %65, label %"_ZN4core6option15Option$LT$T$GT$7or_else17h04795529c056ca55E.exit..thread_crit_edge", label %_ZN10serde_json3ser9Formatter17begin_array_value17h1d9025c024b2e195E.exit.i105 +66: ; preds = %.preheader145, %"_ZN83_$LT$serde_json..ser..Compound$LT$W$C$F$GT$$u20$as$u20$serde..ser..SerializeSeq$GT$17serialize_element17he8f0f3689d1dbeadE.exit109" + %.sroa.0115.0.idx = phi i64 [ %.sroa.0115.0.add, %"_ZN83_$LT$serde_json..ser..Compound$LT$W$C$F$GT$$u20$as$u20$serde..ser..SerializeSeq$GT$17serialize_element17he8f0f3689d1dbeadE.exit109" ], [ 16, %.preheader145 ] + %67 = icmp eq i64 %.sroa.0115.0.idx, 40 + br i1 %67, label %"_ZN4core6option15Option$LT$T$GT$7or_else17h04795529c056ca55E.exit..thread_crit_edge", label %_ZN10serde_json3ser9Formatter17begin_array_value17h1d9025c024b2e195E.exit.i105 -_ZN10serde_json3ser9Formatter17begin_array_value17h1d9025c024b2e195E.exit.i105: ; preds = %.preheader145 +_ZN10serde_json3ser9Formatter17begin_array_value17h1d9025c024b2e195E.exit.i105: ; preds = %66 %.sroa.0115.0.ptr = getelementptr inbounds nuw i8, ptr %0, i64 %.sroa.0115.0.idx %.val82 = load ptr, ptr %.sroa.0115.0.ptr, align 8 - %66 = tail call noundef ptr @"_ZN57_$LT$std..io..stdio..Stdout$u20$as$u20$std..io..Write$GT$9write_all17h5e1a29f66be91e9cE"(ptr noalias noundef nonnull align 8 dereferenceable(8) %1, ptr noalias noundef nonnull readonly align 1 @anon.79fb49cdb9b8b410ff224812fb6dc91a.26.llvm.10588682083550974452, i64 noundef 1), !noalias !3450 - %67 = icmp eq ptr %66, null - br i1 %67, label %"_ZN83_$LT$serde_json..ser..Compound$LT$W$C$F$GT$$u20$as$u20$serde..ser..SerializeSeq$GT$17serialize_element17he8f0f3689d1dbeadE.exit109", label %"_ZN83_$LT$serde_json..ser..Compound$LT$W$C$F$GT$$u20$as$u20$serde..ser..SerializeSeq$GT$3end17h2ae171f2cc8ad955E.exit.sink.split" + %68 = tail call noundef ptr @"_ZN57_$LT$std..io..stdio..Stdout$u20$as$u20$std..io..Write$GT$9write_all17h5e1a29f66be91e9cE"(ptr noalias noundef nonnull align 8 dereferenceable(8) %1, ptr noalias noundef nonnull readonly align 1 @anon.79fb49cdb9b8b410ff224812fb6dc91a.26.llvm.10588682083550974452, i64 noundef 1), !noalias !3450 + %69 = icmp eq ptr %68, null + br i1 %69, label %"_ZN83_$LT$serde_json..ser..Compound$LT$W$C$F$GT$$u20$as$u20$serde..ser..SerializeSeq$GT$17serialize_element17he8f0f3689d1dbeadE.exit109", label %"_ZN83_$LT$serde_json..ser..Compound$LT$W$C$F$GT$$u20$as$u20$serde..ser..SerializeSeq$GT$3end17h2ae171f2cc8ad955E.exit.sink.split" "_ZN83_$LT$serde_json..ser..Compound$LT$W$C$F$GT$$u20$as$u20$serde..ser..SerializeSeq$GT$17serialize_element17he8f0f3689d1dbeadE.exit109": ; preds = %_ZN10serde_json3ser9Formatter17begin_array_value17h1d9025c024b2e195E.exit.i105 %.sroa.0115.0.add = add nuw nsw i64 %.sroa.0115.0.idx, 8 - %68 = icmp ne ptr %.val82, null - tail call void @llvm.assume(i1 %68) - %69 = tail call noundef align 8 ptr @"_ZN70_$LT$just..expression..Expression$u20$as$u20$serde..ser..Serialize$GT$9serialize17h198a9eb8fb5b1bbcE"(ptr noalias noundef nonnull readonly align 8 dereferenceable(128) %.val82, ptr noalias noundef nonnull align 8 dereferenceable(8) %1), !noalias !3450 - %70 = icmp eq ptr %69, null - br i1 %70, label %.preheader145, label %"_ZN83_$LT$serde_json..ser..Compound$LT$W$C$F$GT$$u20$as$u20$serde..ser..SerializeSeq$GT$3end17h2ae171f2cc8ad955E.exit" + %70 = icmp ne ptr %.val82, null + tail call void @llvm.assume(i1 %70) + %71 = tail call noundef align 8 ptr @"_ZN70_$LT$just..expression..Expression$u20$as$u20$serde..ser..Serialize$GT$9serialize17h198a9eb8fb5b1bbcE"(ptr noalias noundef nonnull readonly align 8 dereferenceable(128) %.val82, ptr noalias noundef nonnull align 8 dereferenceable(8) %1), !noalias !3450 + %72 = icmp eq ptr %71, null + br i1 %72, label %66, label %"_ZN83_$LT$serde_json..ser..Compound$LT$W$C$F$GT$$u20$as$u20$serde..ser..SerializeSeq$GT$3end17h2ae171f2cc8ad955E.exit" "_ZN83_$LT$serde_json..ser..Compound$LT$W$C$F$GT$$u20$as$u20$serde..ser..SerializeSeq$GT$3end17h2ae171f2cc8ad955E.exit.sink.split": ; preds = %_ZN10serde_json3ser9Formatter17begin_array_value17h1d9025c024b2e195E.exit.i105, %_ZN10serde_json3ser9Formatter17begin_array_value17h1d9025c024b2e195E.exit.i99, %_ZN10serde_json3ser9Formatter17begin_array_value17h1d9025c024b2e195E.exit.i93, %.thread, %2, %_ZN10serde_json3ser9Formatter17begin_array_value17h1d9025c024b2e195E.exit.thread.i, %9, %_ZN10serde_json3ser18format_escaped_str17hd9e140aaf5c70a48E.exit.i.i.i, %switch.lookup - %.lcssa195.sink.sink = phi ptr [ %4, %2 ], [ %12, %_ZN10serde_json3ser18format_escaped_str17hd9e140aaf5c70a48E.exit.i.i.i ], [ %10, %9 ], [ %7, %_ZN10serde_json3ser9Formatter17begin_array_value17h1d9025c024b2e195E.exit.thread.i ], [ %15, %switch.lookup ], [ %23, %.thread ], [ %47, %_ZN10serde_json3ser9Formatter17begin_array_value17h1d9025c024b2e195E.exit.i93 ], [ %61, %_ZN10serde_json3ser9Formatter17begin_array_value17h1d9025c024b2e195E.exit.i99 ], [ %66, %_ZN10serde_json3ser9Formatter17begin_array_value17h1d9025c024b2e195E.exit.i105 ] - %71 = tail call noundef nonnull align 8 ptr @_ZN10serde_json5error5Error2io17h7c09147f2263f983E(ptr noundef nonnull %.lcssa195.sink.sink) + %.lcssa195.sink.sink = phi ptr [ %4, %2 ], [ %12, %_ZN10serde_json3ser18format_escaped_str17hd9e140aaf5c70a48E.exit.i.i.i ], [ %10, %9 ], [ %7, %_ZN10serde_json3ser9Formatter17begin_array_value17h1d9025c024b2e195E.exit.thread.i ], [ %15, %switch.lookup ], [ %23, %.thread ], [ %48, %_ZN10serde_json3ser9Formatter17begin_array_value17h1d9025c024b2e195E.exit.i93 ], [ %62, %_ZN10serde_json3ser9Formatter17begin_array_value17h1d9025c024b2e195E.exit.i99 ], [ %68, %_ZN10serde_json3ser9Formatter17begin_array_value17h1d9025c024b2e195E.exit.i105 ] + %73 = tail call noundef nonnull align 8 ptr @_ZN10serde_json5error5Error2io17h7c09147f2263f983E(ptr noundef nonnull %.lcssa195.sink.sink) br label %"_ZN83_$LT$serde_json..ser..Compound$LT$W$C$F$GT$$u20$as$u20$serde..ser..SerializeSeq$GT$3end17h2ae171f2cc8ad955E.exit" "_ZN83_$LT$serde_json..ser..Compound$LT$W$C$F$GT$$u20$as$u20$serde..ser..SerializeSeq$GT$3end17h2ae171f2cc8ad955E.exit": ; preds = %"_ZN83_$LT$serde_json..ser..Compound$LT$W$C$F$GT$$u20$as$u20$serde..ser..SerializeSeq$GT$17serialize_element17he8f0f3689d1dbeadE.exit109", %"_ZN83_$LT$serde_json..ser..Compound$LT$W$C$F$GT$$u20$as$u20$serde..ser..SerializeSeq$GT$17serialize_element17ha852ebd3b3e3ecb5E.exit", %"_ZN83_$LT$serde_json..ser..Compound$LT$W$C$F$GT$$u20$as$u20$serde..ser..SerializeSeq$GT$17serialize_element17he8f0f3689d1dbeadE.exit", %"_ZN83_$LT$serde_json..ser..Compound$LT$W$C$F$GT$$u20$as$u20$serde..ser..SerializeSeq$GT$3end17h2ae171f2cc8ad955E.exit.sink.split", %"_ZN83_$LT$serde_json..ser..Compound$LT$W$C$F$GT$$u20$as$u20$serde..ser..SerializeSeq$GT$17serialize_element17hca3a755e3433e665E.exit", %29, %43, %25, %.thread, %"_ZN4core6option15Option$LT$T$GT$7or_else17h04795529c056ca55E.exit" - %.1 = phi ptr [ null, %"_ZN4core6option15Option$LT$T$GT$7or_else17h04795529c056ca55E.exit" ], [ null, %.thread ], [ %18, %"_ZN83_$LT$serde_json..ser..Compound$LT$W$C$F$GT$$u20$as$u20$serde..ser..SerializeSeq$GT$17serialize_element17hca3a755e3433e665E.exit" ], [ %31, %29 ], [ %44, %43 ], [ %27, %25 ], [ %71, %"_ZN83_$LT$serde_json..ser..Compound$LT$W$C$F$GT$$u20$as$u20$serde..ser..SerializeSeq$GT$3end17h2ae171f2cc8ad955E.exit.sink.split" ], [ %50, %"_ZN83_$LT$serde_json..ser..Compound$LT$W$C$F$GT$$u20$as$u20$serde..ser..SerializeSeq$GT$17serialize_element17he8f0f3689d1dbeadE.exit" ], [ %63, %"_ZN83_$LT$serde_json..ser..Compound$LT$W$C$F$GT$$u20$as$u20$serde..ser..SerializeSeq$GT$17serialize_element17ha852ebd3b3e3ecb5E.exit" ], [ %69, %"_ZN83_$LT$serde_json..ser..Compound$LT$W$C$F$GT$$u20$as$u20$serde..ser..SerializeSeq$GT$17serialize_element17he8f0f3689d1dbeadE.exit109" ] + %.1 = phi ptr [ null, %"_ZN4core6option15Option$LT$T$GT$7or_else17h04795529c056ca55E.exit" ], [ null, %.thread ], [ %18, %"_ZN83_$LT$serde_json..ser..Compound$LT$W$C$F$GT$$u20$as$u20$serde..ser..SerializeSeq$GT$17serialize_element17hca3a755e3433e665E.exit" ], [ %31, %29 ], [ %44, %43 ], [ %27, %25 ], [ %73, %"_ZN83_$LT$serde_json..ser..Compound$LT$W$C$F$GT$$u20$as$u20$serde..ser..SerializeSeq$GT$3end17h2ae171f2cc8ad955E.exit.sink.split" ], [ %51, %"_ZN83_$LT$serde_json..ser..Compound$LT$W$C$F$GT$$u20$as$u20$serde..ser..SerializeSeq$GT$17serialize_element17he8f0f3689d1dbeadE.exit" ], [ %64, %"_ZN83_$LT$serde_json..ser..Compound$LT$W$C$F$GT$$u20$as$u20$serde..ser..SerializeSeq$GT$17serialize_element17ha852ebd3b3e3ecb5E.exit" ], [ %71, %"_ZN83_$LT$serde_json..ser..Compound$LT$W$C$F$GT$$u20$as$u20$serde..ser..SerializeSeq$GT$17serialize_element17he8f0f3689d1dbeadE.exit109" ] call void @llvm.lifetime.end.p0(ptr nonnull %3) ret ptr %.1 } @@ -16882,6 +16893,7 @@ common.resume: ; preds = %common.resume.sink. unreachable "_ZN5alloc5boxed16Box$LT$T$C$A$GT$13new_uninit_in17h6768a15044d92984E.exit64": ; preds = %124 + call void @llvm.assume(i1 true) [ "align"(ptr %70, i64 8) ] call void @llvm.lifetime.start.p0(ptr nonnull %4) invoke fastcc void @"_ZN67_$LT$just..expression..Expression$u20$as$u20$core..clone..Clone$GT$5clone17h2dfb89d99efcc12eE"(ptr noalias noundef align 8 captures(none) dereferenceable(128) %4, ptr noalias noundef nonnull readonly align 8 dereferenceable(128) %70) to label %"_ZN69_$LT$alloc..boxed..Box$LT$T$C$A$GT$$u20$as$u20$core..clone..Clone$GT$5clone17h07e895749e9321f2E.exit29" unwind label %128 @@ -16972,6 +16984,7 @@ _ZN10serde_json3ser9Formatter16begin_object_key17hb2affc71e3954b41E.llvm.1058868 tail call void @llvm.experimental.noalias.scope.decl(metadata !3517) tail call void @llvm.experimental.noalias.scope.decl(metadata !3520) tail call void @llvm.experimental.noalias.scope.decl(metadata !3522) + call void @llvm.assume(i1 true) [ "align"(ptr %1, i64 8) ] store i8 2, ptr %11, align 8, !alias.scope !3525, !noalias !3526 %13 = tail call noundef ptr @"_ZN57_$LT$std..io..stdio..Stdout$u20$as$u20$std..io..Write$GT$9write_all17h5e1a29f66be91e9cE"(ptr noalias noundef nonnull align 8 dereferenceable(8) %1, ptr noalias noundef nonnull readonly align 1 @anon.79fb49cdb9b8b410ff224812fb6dc91a.20.llvm.10588682083550974452, i64 noundef 1), !noalias !3528 %14 = icmp eq ptr %13, null @@ -17151,6 +17164,7 @@ _ZN10serde_json3ser9Formatter16begin_object_key17hb2affc71e3954b41E.llvm.1058868 call void @llvm.experimental.noalias.scope.decl(metadata !3594) call void @llvm.experimental.noalias.scope.decl(metadata !3597) call void @llvm.experimental.noalias.scope.decl(metadata !3599) + call void @llvm.assume(i1 true) [ "align"(ptr %1, i64 8) ] %77 = call noundef ptr @"_ZN57_$LT$std..io..stdio..Stdout$u20$as$u20$std..io..Write$GT$9write_all17h5e1a29f66be91e9cE"(ptr noalias noundef nonnull align 8 dereferenceable(8) %1, ptr noalias noundef nonnull readonly align 1 @anon.79fb49cdb9b8b410ff224812fb6dc91a.26.llvm.10588682083550974452, i64 noundef 1), !noalias !3602 %78 = icmp eq ptr %77, null br i1 %78, label %_ZN10serde_json3ser9Formatter16begin_object_key17hb2affc71e3954b41E.llvm.10588682083550974452.exit.thread.i.i.i63, label %"_ZN83_$LT$serde_json..ser..Compound$LT$W$C$F$GT$$u20$as$u20$serde..ser..SerializeMap$GT$13serialize_key17he16cba19eeae235dE.llvm.10588682083550974452.exit.i.i60" diff --git a/bench/libcxx/optimized/operations.ll b/bench/libcxx/optimized/operations.ll index 7ac7e8f203e..37279aa6465 100644 --- a/bench/libcxx/optimized/operations.ll +++ b/bench/libcxx/optimized/operations.ll @@ -6670,8 +6670,8 @@ _ZNSt3__14__fs10filesystem6detail12ErrorHandlerINS1_4pathEEC2B8ne210000EPKcPNS_1 call void @_ZdlPvm(ptr noundef %38, i64 noundef %40) #28 br label %common.resume -common.resume: ; preds = %32, %36, %260 - %common.resume.op = phi { ptr, i32 } [ %.pn26, %260 ], [ %33, %36 ], [ %33, %32 ] +common.resume: ; preds = %32, %36, %259 + %common.resume.op = phi { ptr, i32 } [ %.pn26, %259 ], [ %33, %36 ], [ %33, %32 ] resume { ptr, i32 } %common.resume.op _ZNSt3__14__fs10filesystem4pathC2B8ne210000IA1_cvEERKT_NS2_6formatE.exit: ; preds = %30 @@ -6694,7 +6694,7 @@ _ZNSt3__14__fs10filesystem4pathC2B8ne210000IA1_cvEERKT_NS2_6formatE.exit: ; pred _ZNSt3__14__fs10filesystem4pathD2B8ne210000Ev.exit: ; preds = %41, %44 call void @llvm.lifetime.end.p0(ptr nonnull %7) - br label %259 + br label %258 49: ; preds = %_ZNSt3__14__fs10filesystem4pathC2B8ne210000IA1_cvEERKT_NS2_6formatE.exit %50 = landingpad { ptr, i32 } @@ -6714,7 +6714,7 @@ _ZNSt3__14__fs10filesystem4pathD2B8ne210000Ev.exit: ; preds = %41, %44 _ZNSt3__14__fs10filesystem4pathD2B8ne210000Ev.exit32: ; preds = %49, %53 call void @llvm.lifetime.end.p0(ptr nonnull %7) - br label %260 + br label %259 58: ; preds = %_ZNSt3__14__fs10filesystem6detail12ErrorHandlerINS1_4pathEEC2B8ne210000EPKcPNS_10error_codeEPKS4_SB_.exit call void @llvm.lifetime.start.p0(ptr nonnull %8) @@ -6864,12 +6864,12 @@ _ZNSt3__14__fs10filesystem6detail10posix_statB8ne210000ERKNS1_4pathEPNS_10error_ 119: ; preds = %62, %60 %120 = landingpad { ptr, i32 } cleanup - br label %244 + br label %243 121: ; preds = %_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE5clearB8ne210000Ev.exit.i %122 = landingpad { ptr, i32 } cleanup - br label %239 + br label %238 123: ; preds = %_ZNSt3__14__fs10filesystem6detail10posix_statB8ne210000ERKNS1_4pathEPNS_10error_codeE.exit.i %124 = landingpad { ptr, i32 } @@ -7015,7 +7015,7 @@ _ZNSt3__119__allocate_at_leastB8ne210000INS_9allocatorINS_17basic_string_viewIcN .thread: ; preds = %.invoke call void @llvm.lifetime.end.p0(ptr nonnull %12) - br label %220 + br label %219 172: ; preds = %148, %.noexc52, %171 %.sroa.17.5 = phi ptr [ %.sroa.17.0168, %148 ], [ %167, %.noexc52 ], [ %167, %171 ] @@ -7040,7 +7040,7 @@ _ZNSt3__119__allocate_at_leastB8ne210000INS_9allocatorINS_17basic_string_viewIcN 174: ; preds = %.loopexit, %.loopexit.split-lp, %125, %137, %123 %.pn.pn = phi { ptr, i32 } [ %124, %123 ], [ %126, %125 ], [ %138, %137 ], [ %lpad.loopexit, %.loopexit ], [ %lpad.loopexit.split-lp, %.loopexit.split-lp ] call void @llvm.lifetime.end.p0(ptr nonnull %12) - br label %239 + br label %238 175: ; preds = %_ZNSt3__14__fs10filesystem4pathD2B8ne210000Ev.exit47 call void @llvm.lifetime.end.p0(ptr nonnull %12) @@ -7111,7 +7111,7 @@ _ZNSt3__14__fs10filesystem4pathD2B8ne210000Ev.exit65: ; preds = %_ZNSt3__14__fs1 199: ; preds = %_ZNSt3__14__fs10filesystem4pathD2B8ne210000Ev.exit65 invoke void @_ZNKSt3__14__fs10filesystem6detail12ErrorHandlerINS1_4pathEE6reportB8ne210000ERKNS_10error_codeE(ptr dead_on_unwind writable sret(%"class.std::__1::__fs::filesystem::path") align 8 %0, ptr noundef nonnull align 8 dereferenceable(32) %6, ptr noundef nonnull align 8 dereferenceable(16) %11) - to label %220 unwind label %208 + to label %219 unwind label %208 200: ; preds = %_ZNSt3__14__fs10filesystem4pathC2B8ne210000IA1_cvEERKT_NS2_6formatE.exit57 %201 = landingpad { ptr, i32 } @@ -7134,157 +7134,152 @@ _ZNSt3__14__fs10filesystem4pathD2B8ne210000Ev.exit65: ; preds = %_ZNSt3__14__fs1 %.pn19 = phi { ptr, i32 } [ %179, %178 ], [ %201, %200 ], [ %.pn19.ph, %.body.sink.split ] call void @llvm.lifetime.end.p0(ptr nonnull %15) call void @llvm.lifetime.end.p0(ptr nonnull %14) - br label %239 + br label %238 -208: ; preds = %214, %199 - %.sroa.17.0160 = phi ptr [ %.sroa.17.0161, %214 ], [ %.sroa.17.0162, %199 ] - %.sroa.098.0132 = phi ptr [ %.sroa.098.0133, %214 ], [ %.sroa.098.0134, %199 ] +208: ; preds = %213, %199 + %.sroa.17.0160 = phi ptr [ %.sroa.17.0161, %213 ], [ %.sroa.17.0162, %199 ] + %.sroa.098.0132 = phi ptr [ %.sroa.098.0133, %213 ], [ %.sroa.098.0134, %199 ] %209 = landingpad { ptr, i32 } cleanup - br label %239 + br label %238 210: ; preds = %_ZNSt3__14__fs10filesystem4pathD2B8ne210000Ev.exit65, %175 %.sroa.17.0161 = phi ptr [ %.sroa.17.0162, %_ZNSt3__14__fs10filesystem4pathD2B8ne210000Ev.exit65 ], [ %.sroa.17.0168, %175 ] %.sroa.10.0147 = phi ptr [ %.sroa.10.0148, %_ZNSt3__14__fs10filesystem4pathD2B8ne210000Ev.exit65 ], [ %.sroa.10.0169, %175 ] %.sroa.098.0133 = phi ptr [ %.sroa.098.0134, %_ZNSt3__14__fs10filesystem4pathD2B8ne210000Ev.exit65 ], [ %.sroa.098.0170, %175 ] %211 = icmp eq ptr %.sroa.098.0133, %.sroa.10.0147 - br i1 %211, label %212, label %213 + br i1 %211, label %212, label %_ZNSt3__14__fs10filesystem4pathdVB8ne210000INS_17basic_string_viewIcNS_11char_traitsIcEEEEEENS_9enable_ifIXsr13__is_pathableIT_EE5valueERS2_E4typeERKS9_.exit 212: ; preds = %210 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %0, ptr noundef nonnull align 8 dereferenceable(24) %8, i64 24, i1 false), !tbaa.struct !14 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %8, i8 0, i64 24, i1 false) - br label %220 + br label %219 -213: ; preds = %210 - call void @llvm.assume(i1 true) [ "align"(ptr %.sroa.10.0147, i64 8) ] - call void @llvm.assume(i1 true) [ "align"(ptr %.sroa.098.0133, i64 8) ] - br label %_ZNSt3__14__fs10filesystem4pathdVB8ne210000INS_17basic_string_viewIcNS_11char_traitsIcEEEEEENS_9enable_ifIXsr13__is_pathableIT_EE5valueERS2_E4typeERKS9_.exit - -_ZNSt3__14__fs10filesystem4pathdVB8ne210000INS_17basic_string_viewIcNS_11char_traitsIcEEEEEENS_9enable_ifIXsr13__is_pathableIT_EE5valueERS2_E4typeERKS9_.exit: ; preds = %215, %213 - %.sroa.490.0 = phi ptr [ %.sroa.10.0147, %213 ], [ %216, %215 ] +_ZNSt3__14__fs10filesystem4pathdVB8ne210000INS_17basic_string_viewIcNS_11char_traitsIcEEEEEENS_9enable_ifIXsr13__is_pathableIT_EE5valueERS2_E4typeERKS9_.exit: ; preds = %210, %214 + %.sroa.490.0 = phi ptr [ %215, %214 ], [ %.sroa.10.0147, %210 ] %.not120 = icmp eq ptr %.sroa.490.0, %.sroa.098.0133 - br i1 %.not120, label %214, label %215 + br i1 %.not120, label %213, label %214 -214: ; preds = %_ZNSt3__14__fs10filesystem4pathdVB8ne210000INS_17basic_string_viewIcNS_11char_traitsIcEEEEEENS_9enable_ifIXsr13__is_pathableIT_EE5valueERS2_E4typeERKS9_.exit +213: ; preds = %_ZNSt3__14__fs10filesystem4pathdVB8ne210000INS_17basic_string_viewIcNS_11char_traitsIcEEEEEENS_9enable_ifIXsr13__is_pathableIT_EE5valueERS2_E4typeERKS9_.exit invoke void @_ZNKSt3__14__fs10filesystem4path16lexically_normalEv(ptr dead_on_unwind writable sret(%"class.std::__1::__fs::filesystem::path") align 8 %0, ptr noundef nonnull align 8 dereferenceable(24) %8) - to label %220 unwind label %208 + to label %219 unwind label %208 -215: ; preds = %_ZNSt3__14__fs10filesystem4pathdVB8ne210000INS_17basic_string_viewIcNS_11char_traitsIcEEEEEENS_9enable_ifIXsr13__is_pathableIT_EE5valueERS2_E4typeERKS9_.exit - %216 = getelementptr inbounds i8, ptr %.sroa.490.0, i64 -16 - %217 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt3__14__fs10filesystem4path6appendB8ne210000INS_17basic_string_viewIcNS_11char_traitsIcEEEEEENS_9enable_ifIXsr13__is_pathableIT_EE5valueERS2_E4typeERKS9_(ptr noundef nonnull align 8 dereferenceable(24) %8, ptr noundef nonnull align 8 dereferenceable(16) %216) - to label %_ZNSt3__14__fs10filesystem4pathdVB8ne210000INS_17basic_string_viewIcNS_11char_traitsIcEEEEEENS_9enable_ifIXsr13__is_pathableIT_EE5valueERS2_E4typeERKS9_.exit unwind label %218, !llvm.loop !273 +214: ; preds = %_ZNSt3__14__fs10filesystem4pathdVB8ne210000INS_17basic_string_viewIcNS_11char_traitsIcEEEEEENS_9enable_ifIXsr13__is_pathableIT_EE5valueERS2_E4typeERKS9_.exit + %215 = getelementptr inbounds i8, ptr %.sroa.490.0, i64 -16 + %216 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt3__14__fs10filesystem4path6appendB8ne210000INS_17basic_string_viewIcNS_11char_traitsIcEEEEEENS_9enable_ifIXsr13__is_pathableIT_EE5valueERS2_E4typeERKS9_(ptr noundef nonnull align 8 dereferenceable(24) %8, ptr noundef nonnull align 8 dereferenceable(16) %215) + to label %_ZNSt3__14__fs10filesystem4pathdVB8ne210000INS_17basic_string_viewIcNS_11char_traitsIcEEEEEENS_9enable_ifIXsr13__is_pathableIT_EE5valueERS2_E4typeERKS9_.exit unwind label %217, !llvm.loop !273 -218: ; preds = %215 - %219 = landingpad { ptr, i32 } +217: ; preds = %214 + %218 = landingpad { ptr, i32 } cleanup - br label %239 + br label %238 -220: ; preds = %.thread, %214, %199, %212 - %.sroa.17.0165 = phi ptr [ %.sroa.17.0168, %.thread ], [ %.sroa.17.0161, %214 ], [ %.sroa.17.0162, %199 ], [ %.sroa.17.0161, %212 ] - %.sroa.098.0137 = phi ptr [ %.sroa.098.0170, %.thread ], [ %.sroa.098.0133, %214 ], [ %.sroa.098.0134, %199 ], [ %.sroa.098.0133, %212 ] +219: ; preds = %.thread, %213, %199, %212 + %.sroa.17.0165 = phi ptr [ %.sroa.17.0168, %.thread ], [ %.sroa.17.0161, %213 ], [ %.sroa.17.0162, %199 ], [ %.sroa.17.0161, %212 ] + %.sroa.098.0137 = phi ptr [ %.sroa.098.0170, %.thread ], [ %.sroa.098.0133, %213 ], [ %.sroa.098.0134, %199 ], [ %.sroa.098.0133, %212 ] call void @llvm.lifetime.end.p0(ptr nonnull %11) %.not.i.i74 = icmp eq ptr %.sroa.098.0137, null - br i1 %.not.i.i74, label %_ZNSt3__16vectorINS_17basic_string_viewIcNS_11char_traitsIcEEEENS_9allocatorIS4_EEED2B8ne210000Ev.exit, label %221 + br i1 %.not.i.i74, label %_ZNSt3__16vectorINS_17basic_string_viewIcNS_11char_traitsIcEEEENS_9allocatorIS4_EEED2B8ne210000Ev.exit, label %220 -221: ; preds = %220 - %222 = ptrtoint ptr %.sroa.17.0165 to i64 - %223 = ptrtoint ptr %.sroa.098.0137 to i64 - %224 = sub i64 %222, %223 - call void @_ZdlPvm(ptr noundef nonnull %.sroa.098.0137, i64 noundef %224) #28 +220: ; preds = %219 + %221 = ptrtoint ptr %.sroa.17.0165 to i64 + %222 = ptrtoint ptr %.sroa.098.0137 to i64 + %223 = sub i64 %221, %222 + call void @_ZdlPvm(ptr noundef nonnull %.sroa.098.0137, i64 noundef %223) #28 br label %_ZNSt3__16vectorINS_17basic_string_viewIcNS_11char_traitsIcEEEENS_9allocatorIS4_EEED2B8ne210000Ev.exit -_ZNSt3__16vectorINS_17basic_string_viewIcNS_11char_traitsIcEEEENS_9allocatorIS4_EEED2B8ne210000Ev.exit: ; preds = %220, %221 +_ZNSt3__16vectorINS_17basic_string_viewIcNS_11char_traitsIcEEEENS_9allocatorIS4_EEED2B8ne210000Ev.exit: ; preds = %219, %220 call void @llvm.lifetime.end.p0(ptr nonnull %10) - %225 = load i8, ptr %9, align 8 - %226 = and i8 %225, 1 - %.not.i.i75 = icmp eq i8 %226, 0 - br i1 %.not.i.i75, label %_ZNSt3__14__fs10filesystem4pathD2B8ne210000Ev.exit77, label %227 - -227: ; preds = %_ZNSt3__16vectorINS_17basic_string_viewIcNS_11char_traitsIcEEEENS_9allocatorIS4_EEED2B8ne210000Ev.exit - %228 = getelementptr inbounds nuw i8, ptr %9, i64 16 - %229 = load ptr, ptr %228, align 8, !tbaa !5 - %230 = load i64, ptr %9, align 8 - %231 = and i64 %230, -2 - call void @_ZdlPvm(ptr noundef %229, i64 noundef %231) #28 + %224 = load i8, ptr %9, align 8 + %225 = and i8 %224, 1 + %.not.i.i75 = icmp eq i8 %225, 0 + br i1 %.not.i.i75, label %_ZNSt3__14__fs10filesystem4pathD2B8ne210000Ev.exit77, label %226 + +226: ; preds = %_ZNSt3__16vectorINS_17basic_string_viewIcNS_11char_traitsIcEEEENS_9allocatorIS4_EEED2B8ne210000Ev.exit + %227 = getelementptr inbounds nuw i8, ptr %9, i64 16 + %228 = load ptr, ptr %227, align 8, !tbaa !5 + %229 = load i64, ptr %9, align 8 + %230 = and i64 %229, -2 + call void @_ZdlPvm(ptr noundef %228, i64 noundef %230) #28 br label %_ZNSt3__14__fs10filesystem4pathD2B8ne210000Ev.exit77 -_ZNSt3__14__fs10filesystem4pathD2B8ne210000Ev.exit77: ; preds = %_ZNSt3__16vectorINS_17basic_string_viewIcNS_11char_traitsIcEEEENS_9allocatorIS4_EEED2B8ne210000Ev.exit, %227 +_ZNSt3__14__fs10filesystem4pathD2B8ne210000Ev.exit77: ; preds = %_ZNSt3__16vectorINS_17basic_string_viewIcNS_11char_traitsIcEEEENS_9allocatorIS4_EEED2B8ne210000Ev.exit, %226 call void @llvm.lifetime.end.p0(ptr nonnull %9) - %232 = load i8, ptr %8, align 8 - %233 = and i8 %232, 1 - %.not.i.i78 = icmp eq i8 %233, 0 - br i1 %.not.i.i78, label %_ZNSt3__14__fs10filesystem4pathD2B8ne210000Ev.exit80, label %234 - -234: ; preds = %_ZNSt3__14__fs10filesystem4pathD2B8ne210000Ev.exit77 - %235 = getelementptr inbounds nuw i8, ptr %8, i64 16 - %236 = load ptr, ptr %235, align 8, !tbaa !5 - %237 = load i64, ptr %8, align 8 - %238 = and i64 %237, -2 - call void @_ZdlPvm(ptr noundef %236, i64 noundef %238) #28 + %231 = load i8, ptr %8, align 8 + %232 = and i8 %231, 1 + %.not.i.i78 = icmp eq i8 %232, 0 + br i1 %.not.i.i78, label %_ZNSt3__14__fs10filesystem4pathD2B8ne210000Ev.exit80, label %233 + +233: ; preds = %_ZNSt3__14__fs10filesystem4pathD2B8ne210000Ev.exit77 + %234 = getelementptr inbounds nuw i8, ptr %8, i64 16 + %235 = load ptr, ptr %234, align 8, !tbaa !5 + %236 = load i64, ptr %8, align 8 + %237 = and i64 %236, -2 + call void @_ZdlPvm(ptr noundef %235, i64 noundef %237) #28 br label %_ZNSt3__14__fs10filesystem4pathD2B8ne210000Ev.exit80 -_ZNSt3__14__fs10filesystem4pathD2B8ne210000Ev.exit80: ; preds = %_ZNSt3__14__fs10filesystem4pathD2B8ne210000Ev.exit77, %234 +_ZNSt3__14__fs10filesystem4pathD2B8ne210000Ev.exit80: ; preds = %_ZNSt3__14__fs10filesystem4pathD2B8ne210000Ev.exit77, %233 call void @llvm.lifetime.end.p0(ptr nonnull %8) - br label %259 + br label %258 -239: ; preds = %218, %208, %.body, %174, %121 - %.sroa.17.0157 = phi ptr [ %.sroa.17.0160, %208 ], [ %.sroa.17.0162, %.body ], [ %.sroa.17.0168, %174 ], [ %.sroa.17.0168, %121 ], [ %.sroa.17.0161, %218 ] - %.sroa.098.0129 = phi ptr [ %.sroa.098.0132, %208 ], [ %.sroa.098.0134, %.body ], [ %.sroa.098.0170, %174 ], [ %.sroa.098.0170, %121 ], [ %.sroa.098.0133, %218 ] - %.pn23 = phi { ptr, i32 } [ %209, %208 ], [ %.pn19, %.body ], [ %.pn.pn, %174 ], [ %122, %121 ], [ %219, %218 ] +238: ; preds = %217, %208, %.body, %174, %121 + %.sroa.17.0157 = phi ptr [ %.sroa.17.0160, %208 ], [ %.sroa.17.0162, %.body ], [ %.sroa.17.0168, %174 ], [ %.sroa.17.0168, %121 ], [ %.sroa.17.0161, %217 ] + %.sroa.098.0129 = phi ptr [ %.sroa.098.0132, %208 ], [ %.sroa.098.0134, %.body ], [ %.sroa.098.0170, %174 ], [ %.sroa.098.0170, %121 ], [ %.sroa.098.0133, %217 ] + %.pn23 = phi { ptr, i32 } [ %209, %208 ], [ %.pn19, %.body ], [ %.pn.pn, %174 ], [ %122, %121 ], [ %218, %217 ] call void @llvm.lifetime.end.p0(ptr nonnull %11) %.not.i.i81 = icmp eq ptr %.sroa.098.0129, null - br i1 %.not.i.i81, label %_ZNSt3__16vectorINS_17basic_string_viewIcNS_11char_traitsIcEEEENS_9allocatorIS4_EEED2B8ne210000Ev.exit82, label %240 + br i1 %.not.i.i81, label %_ZNSt3__16vectorINS_17basic_string_viewIcNS_11char_traitsIcEEEENS_9allocatorIS4_EEED2B8ne210000Ev.exit82, label %239 -240: ; preds = %239 - %241 = ptrtoint ptr %.sroa.17.0157 to i64 - %242 = ptrtoint ptr %.sroa.098.0129 to i64 - %243 = sub i64 %241, %242 - call void @_ZdlPvm(ptr noundef nonnull %.sroa.098.0129, i64 noundef %243) #28 +239: ; preds = %238 + %240 = ptrtoint ptr %.sroa.17.0157 to i64 + %241 = ptrtoint ptr %.sroa.098.0129 to i64 + %242 = sub i64 %240, %241 + call void @_ZdlPvm(ptr noundef nonnull %.sroa.098.0129, i64 noundef %242) #28 br label %_ZNSt3__16vectorINS_17basic_string_viewIcNS_11char_traitsIcEEEENS_9allocatorIS4_EEED2B8ne210000Ev.exit82 -_ZNSt3__16vectorINS_17basic_string_viewIcNS_11char_traitsIcEEEENS_9allocatorIS4_EEED2B8ne210000Ev.exit82: ; preds = %239, %240 +_ZNSt3__16vectorINS_17basic_string_viewIcNS_11char_traitsIcEEEENS_9allocatorIS4_EEED2B8ne210000Ev.exit82: ; preds = %238, %239 call void @llvm.lifetime.end.p0(ptr nonnull %10) - br label %244 + br label %243 -244: ; preds = %_ZNSt3__16vectorINS_17basic_string_viewIcNS_11char_traitsIcEEEENS_9allocatorIS4_EEED2B8ne210000Ev.exit82, %119 +243: ; preds = %_ZNSt3__16vectorINS_17basic_string_viewIcNS_11char_traitsIcEEEENS_9allocatorIS4_EEED2B8ne210000Ev.exit82, %119 %.pn23.pn = phi { ptr, i32 } [ %.pn23, %_ZNSt3__16vectorINS_17basic_string_viewIcNS_11char_traitsIcEEEENS_9allocatorIS4_EEED2B8ne210000Ev.exit82 ], [ %120, %119 ] - %245 = load i8, ptr %9, align 8 - %246 = and i8 %245, 1 - %.not.i.i83 = icmp eq i8 %246, 0 - br i1 %.not.i.i83, label %_ZNSt3__14__fs10filesystem4pathD2B8ne210000Ev.exit85, label %247 - -247: ; preds = %244 - %248 = getelementptr inbounds nuw i8, ptr %9, i64 16 - %249 = load ptr, ptr %248, align 8, !tbaa !5 - %250 = load i64, ptr %9, align 8 - %251 = and i64 %250, -2 - call void @_ZdlPvm(ptr noundef %249, i64 noundef %251) #28 + %244 = load i8, ptr %9, align 8 + %245 = and i8 %244, 1 + %.not.i.i83 = icmp eq i8 %245, 0 + br i1 %.not.i.i83, label %_ZNSt3__14__fs10filesystem4pathD2B8ne210000Ev.exit85, label %246 + +246: ; preds = %243 + %247 = getelementptr inbounds nuw i8, ptr %9, i64 16 + %248 = load ptr, ptr %247, align 8, !tbaa !5 + %249 = load i64, ptr %9, align 8 + %250 = and i64 %249, -2 + call void @_ZdlPvm(ptr noundef %248, i64 noundef %250) #28 br label %_ZNSt3__14__fs10filesystem4pathD2B8ne210000Ev.exit85 -_ZNSt3__14__fs10filesystem4pathD2B8ne210000Ev.exit85: ; preds = %244, %247 +_ZNSt3__14__fs10filesystem4pathD2B8ne210000Ev.exit85: ; preds = %243, %246 call void @llvm.lifetime.end.p0(ptr nonnull %9) - %252 = load i8, ptr %8, align 8 - %253 = and i8 %252, 1 - %.not.i.i86 = icmp eq i8 %253, 0 - br i1 %.not.i.i86, label %_ZNSt3__14__fs10filesystem4pathD2B8ne210000Ev.exit88, label %254 - -254: ; preds = %_ZNSt3__14__fs10filesystem4pathD2B8ne210000Ev.exit85 - %255 = getelementptr inbounds nuw i8, ptr %8, i64 16 - %256 = load ptr, ptr %255, align 8, !tbaa !5 - %257 = load i64, ptr %8, align 8 - %258 = and i64 %257, -2 - call void @_ZdlPvm(ptr noundef %256, i64 noundef %258) #28 + %251 = load i8, ptr %8, align 8 + %252 = and i8 %251, 1 + %.not.i.i86 = icmp eq i8 %252, 0 + br i1 %.not.i.i86, label %_ZNSt3__14__fs10filesystem4pathD2B8ne210000Ev.exit88, label %253 + +253: ; preds = %_ZNSt3__14__fs10filesystem4pathD2B8ne210000Ev.exit85 + %254 = getelementptr inbounds nuw i8, ptr %8, i64 16 + %255 = load ptr, ptr %254, align 8, !tbaa !5 + %256 = load i64, ptr %8, align 8 + %257 = and i64 %256, -2 + call void @_ZdlPvm(ptr noundef %255, i64 noundef %257) #28 br label %_ZNSt3__14__fs10filesystem4pathD2B8ne210000Ev.exit88 -_ZNSt3__14__fs10filesystem4pathD2B8ne210000Ev.exit88: ; preds = %_ZNSt3__14__fs10filesystem4pathD2B8ne210000Ev.exit85, %254 +_ZNSt3__14__fs10filesystem4pathD2B8ne210000Ev.exit88: ; preds = %_ZNSt3__14__fs10filesystem4pathD2B8ne210000Ev.exit85, %253 call void @llvm.lifetime.end.p0(ptr nonnull %8) - br label %260 + br label %259 -259: ; preds = %_ZNSt3__14__fs10filesystem4pathD2B8ne210000Ev.exit80, %_ZNSt3__14__fs10filesystem4pathD2B8ne210000Ev.exit +258: ; preds = %_ZNSt3__14__fs10filesystem4pathD2B8ne210000Ev.exit80, %_ZNSt3__14__fs10filesystem4pathD2B8ne210000Ev.exit call void @llvm.lifetime.end.p0(ptr nonnull %6) ret void -260: ; preds = %_ZNSt3__14__fs10filesystem4pathD2B8ne210000Ev.exit88, %_ZNSt3__14__fs10filesystem4pathD2B8ne210000Ev.exit32 +259: ; preds = %_ZNSt3__14__fs10filesystem4pathD2B8ne210000Ev.exit88, %_ZNSt3__14__fs10filesystem4pathD2B8ne210000Ev.exit32 %.pn26 = phi { ptr, i32 } [ %50, %_ZNSt3__14__fs10filesystem4pathD2B8ne210000Ev.exit32 ], [ %.pn23.pn, %_ZNSt3__14__fs10filesystem4pathD2B8ne210000Ev.exit88 ] call void @llvm.lifetime.end.p0(ptr nonnull %6) br label %common.resume diff --git a/bench/libcxx/optimized/path.ll b/bench/libcxx/optimized/path.ll index 963b3d636fa..0098d92600d 100644 --- a/bench/libcxx/optimized/path.ll +++ b/bench/libcxx/optimized/path.ll @@ -1287,8 +1287,6 @@ _ZNSt3__119__allocate_at_leastB8ne210000INS_9allocatorINS_4pairINS_17basic_strin br label %.lr.ph.preheader .lr.ph.preheader: ; preds = %128, %135 - call void @llvm.assume(i1 true) [ "align"(ptr %.sroa.0.0, i64 8) ] - call void @llvm.assume(i1 true) [ "align"(ptr %.sroa.17.0, i64 8) ] br label %.lr.ph ._crit_edge: ; preds = %_ZNSt3__14__fs10filesystem4pathdVB8ne210000INS_17basic_string_viewIcNS_11char_traitsIcEEEEEENS_9enable_ifIXsr13__is_pathableIT_EE5valueERS2_E4typeERKS9_.exit diff --git a/bench/libcxx/optimized/thread.ll b/bench/libcxx/optimized/thread.ll index c0719b35805..95862a00f3b 100644 --- a/bench/libcxx/optimized/thread.ll +++ b/bench/libcxx/optimized/thread.ll @@ -212,33 +212,29 @@ declare void @__cxa_guard_release(ptr) local_unnamed_addr #7 ; Function Attrs: mustprogress nounwind uwtable define hidden void @_ZNSt3__119__thread_struct_impD2Ev(ptr noundef nonnull align 8 captures(none) dereferenceable(48) %0) unnamed_addr #5 align 2 personality ptr @__gxx_personality_v0 { %2 = getelementptr inbounds nuw i8, ptr %0, i64 24 - %3 = load ptr, ptr %2, align 8, !tbaa !21 - call void @llvm.assume(i1 true) [ "align"(ptr %3, i64 8) ] + %3 = load ptr, ptr %2, align 8, !tbaa !21, !align !24 %4 = getelementptr inbounds nuw i8, ptr %0, i64 32 - %5 = load ptr, ptr %4, align 8, !tbaa !24 - call void @llvm.assume(i1 true) [ "align"(ptr %5, i64 8) ] + %5 = load ptr, ptr %4, align 8, !tbaa !25, !align !24 %6 = icmp eq ptr %3, %5 br i1 %6, label %._crit_edge, label %.lr.ph ._crit_edge: ; preds = %.lr.ph, %1 - %7 = load ptr, ptr %0, align 8, !tbaa !25 - call void @llvm.assume(i1 true) [ "align"(ptr %7, i64 8) ] + %7 = load ptr, ptr %0, align 8, !tbaa !26, !align !24 %8 = getelementptr inbounds nuw i8, ptr %0, i64 8 - %9 = load ptr, ptr %8, align 8, !tbaa !29 - call void @llvm.assume(i1 true) [ "align"(ptr %9, i64 8) ] + %9 = load ptr, ptr %8, align 8, !tbaa !30, !align !24 %10 = icmp eq ptr %7, %9 br i1 %10, label %._crit_edge15, label %.lr.ph14 .lr.ph: ; preds = %1, %.lr.ph %.sroa.07.011 = phi ptr [ %14, %.lr.ph ], [ %3, %1 ] - %11 = load ptr, ptr %.sroa.07.011, align 8, !tbaa !30 + %11 = load ptr, ptr %.sroa.07.011, align 8, !tbaa !31 tail call void @_ZNSt3__118condition_variable10notify_allEv(ptr noundef nonnull align 8 dereferenceable(48) %11) #21 %12 = getelementptr inbounds nuw i8, ptr %.sroa.07.011, i64 8 - %13 = load ptr, ptr %12, align 8, !tbaa !34 + %13 = load ptr, ptr %12, align 8, !tbaa !35 tail call void @_ZNSt3__15mutex6unlockEv(ptr noundef nonnull align 8 dereferenceable(40) %13) #21 %14 = getelementptr inbounds nuw i8, ptr %.sroa.07.011, i64 16 %15 = icmp eq ptr %14, %5 - br i1 %15, label %._crit_edge, label %.lr.ph, !llvm.loop !35 + br i1 %15, label %._crit_edge, label %.lr.ph, !llvm.loop !36 ._crit_edge15: ; preds = %_ZNSt3__114__shared_count16__release_sharedB8ne210000Ev.exit, %._crit_edge %16 = load ptr, ptr %2, align 8, !tbaa !21 @@ -246,17 +242,17 @@ define hidden void @_ZNSt3__119__thread_struct_impD2Ev(ptr noundef nonnull align br i1 %.not.i.i, label %_ZNSt3__16vectorINS_4pairIPNS_18condition_variableEPNS_5mutexEEENS_18__hidden_allocatorIS6_EEED2B8ne210000Ev.exit, label %17 17: ; preds = %._crit_edge15 - store ptr %16, ptr %4, align 8, !tbaa !24 + store ptr %16, ptr %4, align 8, !tbaa !25 tail call void @_ZdlPv(ptr noundef nonnull %16) #21 br label %_ZNSt3__16vectorINS_4pairIPNS_18condition_variableEPNS_5mutexEEENS_18__hidden_allocatorIS6_EEED2B8ne210000Ev.exit _ZNSt3__16vectorINS_4pairIPNS_18condition_variableEPNS_5mutexEEENS_18__hidden_allocatorIS6_EEED2B8ne210000Ev.exit: ; preds = %._crit_edge15, %17 - %18 = load ptr, ptr %0, align 8, !tbaa !25 + %18 = load ptr, ptr %0, align 8, !tbaa !26 %.not.i.i1 = icmp eq ptr %18, null br i1 %.not.i.i1, label %_ZNSt3__16vectorIPNS_17__assoc_sub_stateENS_18__hidden_allocatorIS2_EEED2B8ne210000Ev.exit, label %19 19: ; preds = %_ZNSt3__16vectorINS_4pairIPNS_18condition_variableEPNS_5mutexEEENS_18__hidden_allocatorIS6_EEED2B8ne210000Ev.exit - store ptr %18, ptr %8, align 8, !tbaa !29 + store ptr %18, ptr %8, align 8, !tbaa !30 tail call void @_ZdlPv(ptr noundef nonnull %18) #21 br label %_ZNSt3__16vectorIPNS_17__assoc_sub_stateENS_18__hidden_allocatorIS2_EEED2B8ne210000Ev.exit @@ -265,19 +261,19 @@ _ZNSt3__16vectorIPNS_17__assoc_sub_stateENS_18__hidden_allocatorIS2_EEED2B8ne210 .lr.ph14: ; preds = %._crit_edge, %_ZNSt3__114__shared_count16__release_sharedB8ne210000Ev.exit %.sroa.02.012 = phi ptr [ %30, %_ZNSt3__114__shared_count16__release_sharedB8ne210000Ev.exit ], [ %7, %._crit_edge ] - %20 = load ptr, ptr %.sroa.02.012, align 8, !tbaa !36 + %20 = load ptr, ptr %.sroa.02.012, align 8, !tbaa !37 invoke void @_ZNSt3__117__assoc_sub_state12__make_readyEv(ptr noundef nonnull align 8 dereferenceable(116) %20) to label %21 unwind label %32 21: ; preds = %.lr.ph14 - %22 = load ptr, ptr %.sroa.02.012, align 8, !tbaa !36 + %22 = load ptr, ptr %.sroa.02.012, align 8, !tbaa !37 %23 = getelementptr inbounds nuw i8, ptr %22, i64 8 %24 = atomicrmw add ptr %23, i64 -1 acq_rel, align 8 %25 = icmp eq i64 %24, 0 br i1 %25, label %26, label %_ZNSt3__114__shared_count16__release_sharedB8ne210000Ev.exit 26: ; preds = %21 - %27 = load ptr, ptr %22, align 8, !tbaa !38 + %27 = load ptr, ptr %22, align 8, !tbaa !39 %28 = getelementptr inbounds nuw i8, ptr %27, i64 16 %29 = load ptr, ptr %28, align 8 tail call void %29(ptr noundef nonnull align 8 dereferenceable(16) %22) #21 @@ -286,7 +282,7 @@ _ZNSt3__16vectorIPNS_17__assoc_sub_stateENS_18__hidden_allocatorIS2_EEED2B8ne210 _ZNSt3__114__shared_count16__release_sharedB8ne210000Ev.exit: ; preds = %21, %26 %30 = getelementptr inbounds nuw i8, ptr %.sroa.02.012, i64 8 %31 = icmp eq ptr %30, %9 - br i1 %31, label %._crit_edge15, label %.lr.ph14, !llvm.loop !40 + br i1 %31, label %._crit_edge15, label %.lr.ph14, !llvm.loop !41 32: ; preds = %.lr.ph14 %33 = landingpad { ptr, i32 } @@ -308,16 +304,16 @@ declare void @_ZNSt3__117__assoc_sub_state12__make_readyEv(ptr noundef nonnull a define hidden void @_ZNSt3__119__thread_struct_imp25notify_all_at_thread_exitEPNS_18condition_variableEPNS_5mutexE(ptr noundef nonnull align 8 captures(none) dereferenceable(48) %0, ptr noundef %1, ptr noundef %2) local_unnamed_addr #3 align 2 personality ptr @__gxx_personality_v0 { %4 = getelementptr inbounds nuw i8, ptr %0, i64 24 %5 = getelementptr inbounds nuw i8, ptr %0, i64 32 - %6 = load ptr, ptr %5, align 8, !tbaa !24 + %6 = load ptr, ptr %5, align 8, !tbaa !25 %7 = getelementptr inbounds nuw i8, ptr %0, i64 40 - %8 = load ptr, ptr %7, align 8, !tbaa !41 + %8 = load ptr, ptr %7, align 8, !tbaa !42 %9 = icmp ult ptr %6, %8 br i1 %9, label %10, label %12 10: ; preds = %3 - store ptr %1, ptr %6, align 8, !tbaa !42 + store ptr %1, ptr %6, align 8, !tbaa !43 %.sroa.5.0..sroa_idx2 = getelementptr inbounds nuw i8, ptr %6, i64 8 - store ptr %2, ptr %.sroa.5.0..sroa_idx2, align 8, !tbaa !43 + store ptr %2, ptr %.sroa.5.0..sroa_idx2, align 8, !tbaa !44 %11 = getelementptr inbounds nuw i8, ptr %6, i64 16 br label %_ZNSt3__16vectorINS_4pairIPNS_18condition_variableEPNS_5mutexEEENS_18__hidden_allocatorIS6_EEE9push_backB8ne210000EOS6_.exit @@ -348,11 +344,11 @@ _ZNKSt3__16vectorINS_4pairIPNS_18condition_variableEPNS_5mutexEEENS_18__hidden_a %26 = tail call noalias noundef nonnull ptr @_Znwm(i64 noundef %25) #24 %27 = getelementptr inbounds nuw i8, ptr %26, i64 %16 %28 = getelementptr inbounds nuw %"struct.std::__1::pair", ptr %26, i64 %.0.i.i.i.i - store ptr %1, ptr %27, align 8, !tbaa !42 + store ptr %1, ptr %27, align 8, !tbaa !43 %.sroa.5.0..sroa_idx = getelementptr inbounds nuw i8, ptr %27, i64 8 - store ptr %2, ptr %.sroa.5.0..sroa_idx, align 8, !tbaa !43 + store ptr %2, ptr %.sroa.5.0..sroa_idx, align 8, !tbaa !44 %29 = getelementptr inbounds nuw i8, ptr %27, i64 16 - %30 = load ptr, ptr %5, align 8, !tbaa !24 + %30 = load ptr, ptr %5, align 8, !tbaa !25 %31 = load ptr, ptr %4, align 8, !tbaa !21 %32 = ptrtoint ptr %30 to i64 %33 = ptrtoint ptr %31 to i64 @@ -361,9 +357,9 @@ _ZNKSt3__16vectorINS_4pairIPNS_18condition_variableEPNS_5mutexEEENS_18__hidden_a %36 = sub nsw i64 0, %35 %37 = getelementptr inbounds %"struct.std::__1::pair", ptr %27, i64 %36 tail call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 1 %37, ptr align 8 %31, i64 %34, i1 false) - store ptr %37, ptr %4, align 8, !tbaa !44 - store ptr %29, ptr %5, align 8, !tbaa !44 - store ptr %28, ptr %7, align 8, !tbaa !44 + store ptr %37, ptr %4, align 8, !tbaa !45 + store ptr %29, ptr %5, align 8, !tbaa !45 + store ptr %28, ptr %7, align 8, !tbaa !45 %.not.i3.i.i.i = icmp eq ptr %31, null br i1 %.not.i3.i.i.i, label %_ZNSt3__16vectorINS_4pairIPNS_18condition_variableEPNS_5mutexEEENS_18__hidden_allocatorIS6_EEE9push_backB8ne210000EOS6_.exit, label %38 @@ -373,26 +369,26 @@ _ZNKSt3__16vectorINS_4pairIPNS_18condition_variableEPNS_5mutexEEENS_18__hidden_a _ZNSt3__16vectorINS_4pairIPNS_18condition_variableEPNS_5mutexEEENS_18__hidden_allocatorIS6_EEE9push_backB8ne210000EOS6_.exit: ; preds = %10, %_ZNKSt3__16vectorINS_4pairIPNS_18condition_variableEPNS_5mutexEEENS_18__hidden_allocatorIS6_EEE11__recommendB8ne210000Em.exit.i.i.i, %38 %.0.i.i = phi ptr [ %11, %10 ], [ %29, %_ZNKSt3__16vectorINS_4pairIPNS_18condition_variableEPNS_5mutexEEENS_18__hidden_allocatorIS6_EEE11__recommendB8ne210000Em.exit.i.i.i ], [ %29, %38 ] - store ptr %.0.i.i, ptr %5, align 8, !tbaa !24 + store ptr %.0.i.i, ptr %5, align 8, !tbaa !25 ret void } ; Function Attrs: mustprogress uwtable define hidden void @_ZNSt3__119__thread_struct_imp27__make_ready_at_thread_exitEPNS_17__assoc_sub_stateE(ptr noundef nonnull align 8 captures(none) dereferenceable(48) %0, ptr noundef %1) local_unnamed_addr #3 align 2 personality ptr @__gxx_personality_v0 { %3 = getelementptr inbounds nuw i8, ptr %0, i64 8 - %4 = load ptr, ptr %3, align 8, !tbaa !29 + %4 = load ptr, ptr %3, align 8, !tbaa !30 %5 = getelementptr inbounds nuw i8, ptr %0, i64 16 - %6 = load ptr, ptr %5, align 8, !tbaa !45 + %6 = load ptr, ptr %5, align 8, !tbaa !46 %7 = icmp ult ptr %4, %6 br i1 %7, label %8, label %10 8: ; preds = %2 - store ptr %1, ptr %4, align 8, !tbaa !36 + store ptr %1, ptr %4, align 8, !tbaa !37 %9 = getelementptr inbounds nuw i8, ptr %4, i64 8 br label %_ZNSt3__16vectorIPNS_17__assoc_sub_stateENS_18__hidden_allocatorIS2_EEE9push_backB8ne210000ERKS2_.exit 10: ; preds = %2 - %11 = load ptr, ptr %0, align 8, !tbaa !25 + %11 = load ptr, ptr %0, align 8, !tbaa !26 %12 = ptrtoint ptr %4 to i64 %13 = ptrtoint ptr %11 to i64 %14 = sub i64 %12, %13 @@ -418,10 +414,10 @@ _ZNKSt3__16vectorIPNS_17__assoc_sub_stateENS_18__hidden_allocatorIS2_EEE11__reco %24 = tail call noalias noundef nonnull ptr @_Znwm(i64 noundef %23) #24 %25 = getelementptr inbounds nuw i8, ptr %24, i64 %14 %26 = getelementptr inbounds nuw ptr, ptr %24, i64 %.0.i.i.i.i - store ptr %1, ptr %25, align 8, !tbaa !36 + store ptr %1, ptr %25, align 8, !tbaa !37 %27 = getelementptr inbounds nuw i8, ptr %25, i64 8 - %28 = load ptr, ptr %3, align 8, !tbaa !29 - %29 = load ptr, ptr %0, align 8, !tbaa !25 + %28 = load ptr, ptr %3, align 8, !tbaa !30 + %29 = load ptr, ptr %0, align 8, !tbaa !26 %30 = ptrtoint ptr %28 to i64 %31 = ptrtoint ptr %29 to i64 %32 = sub i64 %30, %31 @@ -429,9 +425,9 @@ _ZNKSt3__16vectorIPNS_17__assoc_sub_stateENS_18__hidden_allocatorIS2_EEE11__reco %34 = sub nsw i64 0, %33 %35 = getelementptr inbounds ptr, ptr %25, i64 %34 tail call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 1 %35, ptr align 8 %29, i64 %32, i1 false) - store ptr %35, ptr %0, align 8, !tbaa !46 - store ptr %27, ptr %3, align 8, !tbaa !46 - store ptr %26, ptr %5, align 8, !tbaa !46 + store ptr %35, ptr %0, align 8, !tbaa !47 + store ptr %27, ptr %3, align 8, !tbaa !47 + store ptr %26, ptr %5, align 8, !tbaa !47 %.not.i3.i.i.i = icmp eq ptr %29, null br i1 %.not.i3.i.i.i, label %_ZNSt3__16vectorIPNS_17__assoc_sub_stateENS_18__hidden_allocatorIS2_EEE9push_backB8ne210000ERKS2_.exit, label %36 @@ -441,7 +437,7 @@ _ZNKSt3__16vectorIPNS_17__assoc_sub_stateENS_18__hidden_allocatorIS2_EEE11__reco _ZNSt3__16vectorIPNS_17__assoc_sub_stateENS_18__hidden_allocatorIS2_EEE9push_backB8ne210000ERKS2_.exit: ; preds = %8, %_ZNKSt3__16vectorIPNS_17__assoc_sub_stateENS_18__hidden_allocatorIS2_EEE11__recommendB8ne210000Em.exit.i.i.i, %36 %.0.i.i = phi ptr [ %9, %8 ], [ %27, %_ZNKSt3__16vectorIPNS_17__assoc_sub_stateENS_18__hidden_allocatorIS2_EEE11__recommendB8ne210000Em.exit.i.i.i ], [ %27, %36 ] - store ptr %.0.i.i, ptr %3, align 8, !tbaa !29 + store ptr %.0.i.i, ptr %3, align 8, !tbaa !30 %37 = getelementptr inbounds nuw i8, ptr %1, i64 8 %38 = atomicrmw add ptr %37, i64 1 monotonic, align 8 ret void @@ -451,7 +447,7 @@ _ZNSt3__16vectorIPNS_17__assoc_sub_stateENS_18__hidden_allocatorIS2_EEE9push_bac define dso_local void @_ZNSt3__115__thread_structC2Ev(ptr noundef nonnull writeonly align 8 captures(none) dereferenceable(8) initializes((0, 8)) %0) unnamed_addr #3 align 2 personality ptr @__gxx_personality_v0 { %2 = tail call noalias noundef nonnull dereferenceable(48) ptr @_Znwm(i64 noundef 48) #25 tail call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(48) %2, i8 0, i64 48, i1 false) - store ptr %2, ptr %0, align 8, !tbaa !47 + store ptr %2, ptr %0, align 8, !tbaa !48 ret void } @@ -463,7 +459,7 @@ declare void @_ZdlPvm(ptr noundef, i64 noundef) local_unnamed_addr #10 ; Function Attrs: mustprogress nounwind uwtable define dso_local void @_ZNSt3__115__thread_structD2Ev(ptr noundef nonnull readonly align 8 captures(none) dereferenceable(8) %0) unnamed_addr #5 align 2 { - %2 = load ptr, ptr %0, align 8, !tbaa !47 + %2 = load ptr, ptr %0, align 8, !tbaa !48 %3 = icmp eq ptr %2, null br i1 %3, label %5, label %4 @@ -478,19 +474,19 @@ define dso_local void @_ZNSt3__115__thread_structD2Ev(ptr noundef nonnull readon ; Function Attrs: mustprogress uwtable define dso_local void @_ZNSt3__115__thread_struct25notify_all_at_thread_exitEPNS_18condition_variableEPNS_5mutexE(ptr noundef nonnull readonly align 8 captures(none) dereferenceable(8) %0, ptr noundef %1, ptr noundef %2) local_unnamed_addr #3 align 2 personality ptr @__gxx_personality_v0 { - %4 = load ptr, ptr %0, align 8, !tbaa !47 + %4 = load ptr, ptr %0, align 8, !tbaa !48 %5 = getelementptr inbounds nuw i8, ptr %4, i64 24 %6 = getelementptr inbounds nuw i8, ptr %4, i64 32 - %7 = load ptr, ptr %6, align 8, !tbaa !24 + %7 = load ptr, ptr %6, align 8, !tbaa !25 %8 = getelementptr inbounds nuw i8, ptr %4, i64 40 - %9 = load ptr, ptr %8, align 8, !tbaa !41 + %9 = load ptr, ptr %8, align 8, !tbaa !42 %10 = icmp ult ptr %7, %9 br i1 %10, label %11, label %13 11: ; preds = %3 - store ptr %1, ptr %7, align 8, !tbaa !42 + store ptr %1, ptr %7, align 8, !tbaa !43 %.sroa.5.0..sroa_idx2.i = getelementptr inbounds nuw i8, ptr %7, i64 8 - store ptr %2, ptr %.sroa.5.0..sroa_idx2.i, align 8, !tbaa !43 + store ptr %2, ptr %.sroa.5.0..sroa_idx2.i, align 8, !tbaa !44 %12 = getelementptr inbounds nuw i8, ptr %7, i64 16 br label %_ZNSt3__119__thread_struct_imp25notify_all_at_thread_exitEPNS_18condition_variableEPNS_5mutexE.exit @@ -521,11 +517,11 @@ _ZNKSt3__16vectorINS_4pairIPNS_18condition_variableEPNS_5mutexEEENS_18__hidden_a %27 = tail call noalias noundef nonnull ptr @_Znwm(i64 noundef %26) #24 %28 = getelementptr inbounds nuw i8, ptr %27, i64 %17 %29 = getelementptr inbounds nuw %"struct.std::__1::pair", ptr %27, i64 %.0.i.i.i.i.i - store ptr %1, ptr %28, align 8, !tbaa !42 + store ptr %1, ptr %28, align 8, !tbaa !43 %.sroa.5.0..sroa_idx.i = getelementptr inbounds nuw i8, ptr %28, i64 8 - store ptr %2, ptr %.sroa.5.0..sroa_idx.i, align 8, !tbaa !43 + store ptr %2, ptr %.sroa.5.0..sroa_idx.i, align 8, !tbaa !44 %30 = getelementptr inbounds nuw i8, ptr %28, i64 16 - %31 = load ptr, ptr %6, align 8, !tbaa !24 + %31 = load ptr, ptr %6, align 8, !tbaa !25 %32 = load ptr, ptr %5, align 8, !tbaa !21 %33 = ptrtoint ptr %31 to i64 %34 = ptrtoint ptr %32 to i64 @@ -534,9 +530,9 @@ _ZNKSt3__16vectorINS_4pairIPNS_18condition_variableEPNS_5mutexEEENS_18__hidden_a %37 = sub nsw i64 0, %36 %38 = getelementptr inbounds %"struct.std::__1::pair", ptr %28, i64 %37 tail call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 1 %38, ptr align 8 %32, i64 %35, i1 false) - store ptr %38, ptr %5, align 8, !tbaa !44 - store ptr %30, ptr %6, align 8, !tbaa !44 - store ptr %29, ptr %8, align 8, !tbaa !44 + store ptr %38, ptr %5, align 8, !tbaa !45 + store ptr %30, ptr %6, align 8, !tbaa !45 + store ptr %29, ptr %8, align 8, !tbaa !45 %.not.i3.i.i.i.i = icmp eq ptr %32, null br i1 %.not.i3.i.i.i.i, label %_ZNSt3__119__thread_struct_imp25notify_all_at_thread_exitEPNS_18condition_variableEPNS_5mutexE.exit, label %39 @@ -546,27 +542,27 @@ _ZNKSt3__16vectorINS_4pairIPNS_18condition_variableEPNS_5mutexEEENS_18__hidden_a _ZNSt3__119__thread_struct_imp25notify_all_at_thread_exitEPNS_18condition_variableEPNS_5mutexE.exit: ; preds = %11, %_ZNKSt3__16vectorINS_4pairIPNS_18condition_variableEPNS_5mutexEEENS_18__hidden_allocatorIS6_EEE11__recommendB8ne210000Em.exit.i.i.i.i, %39 %.0.i.i.i = phi ptr [ %12, %11 ], [ %30, %_ZNKSt3__16vectorINS_4pairIPNS_18condition_variableEPNS_5mutexEEENS_18__hidden_allocatorIS6_EEE11__recommendB8ne210000Em.exit.i.i.i.i ], [ %30, %39 ] - store ptr %.0.i.i.i, ptr %6, align 8, !tbaa !24 + store ptr %.0.i.i.i, ptr %6, align 8, !tbaa !25 ret void } ; Function Attrs: mustprogress uwtable define dso_local void @_ZNSt3__115__thread_struct27__make_ready_at_thread_exitEPNS_17__assoc_sub_stateE(ptr noundef nonnull readonly align 8 captures(none) dereferenceable(8) %0, ptr noundef %1) local_unnamed_addr #3 align 2 personality ptr @__gxx_personality_v0 { - %3 = load ptr, ptr %0, align 8, !tbaa !47 + %3 = load ptr, ptr %0, align 8, !tbaa !48 %4 = getelementptr inbounds nuw i8, ptr %3, i64 8 - %5 = load ptr, ptr %4, align 8, !tbaa !29 + %5 = load ptr, ptr %4, align 8, !tbaa !30 %6 = getelementptr inbounds nuw i8, ptr %3, i64 16 - %7 = load ptr, ptr %6, align 8, !tbaa !45 + %7 = load ptr, ptr %6, align 8, !tbaa !46 %8 = icmp ult ptr %5, %7 br i1 %8, label %9, label %11 9: ; preds = %2 - store ptr %1, ptr %5, align 8, !tbaa !36 + store ptr %1, ptr %5, align 8, !tbaa !37 %10 = getelementptr inbounds nuw i8, ptr %5, i64 8 br label %_ZNSt3__119__thread_struct_imp27__make_ready_at_thread_exitEPNS_17__assoc_sub_stateE.exit 11: ; preds = %2 - %12 = load ptr, ptr %3, align 8, !tbaa !25 + %12 = load ptr, ptr %3, align 8, !tbaa !26 %13 = ptrtoint ptr %5 to i64 %14 = ptrtoint ptr %12 to i64 %15 = sub i64 %13, %14 @@ -592,10 +588,10 @@ _ZNKSt3__16vectorIPNS_17__assoc_sub_stateENS_18__hidden_allocatorIS2_EEE11__reco %25 = tail call noalias noundef nonnull ptr @_Znwm(i64 noundef %24) #24 %26 = getelementptr inbounds nuw i8, ptr %25, i64 %15 %27 = getelementptr inbounds nuw ptr, ptr %25, i64 %.0.i.i.i.i.i - store ptr %1, ptr %26, align 8, !tbaa !36 + store ptr %1, ptr %26, align 8, !tbaa !37 %28 = getelementptr inbounds nuw i8, ptr %26, i64 8 - %29 = load ptr, ptr %4, align 8, !tbaa !29 - %30 = load ptr, ptr %3, align 8, !tbaa !25 + %29 = load ptr, ptr %4, align 8, !tbaa !30 + %30 = load ptr, ptr %3, align 8, !tbaa !26 %31 = ptrtoint ptr %29 to i64 %32 = ptrtoint ptr %30 to i64 %33 = sub i64 %31, %32 @@ -603,9 +599,9 @@ _ZNKSt3__16vectorIPNS_17__assoc_sub_stateENS_18__hidden_allocatorIS2_EEE11__reco %35 = sub nsw i64 0, %34 %36 = getelementptr inbounds ptr, ptr %26, i64 %35 tail call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 1 %36, ptr align 8 %30, i64 %33, i1 false) - store ptr %36, ptr %3, align 8, !tbaa !46 - store ptr %28, ptr %4, align 8, !tbaa !46 - store ptr %27, ptr %6, align 8, !tbaa !46 + store ptr %36, ptr %3, align 8, !tbaa !47 + store ptr %28, ptr %4, align 8, !tbaa !47 + store ptr %27, ptr %6, align 8, !tbaa !47 %.not.i3.i.i.i.i = icmp eq ptr %30, null br i1 %.not.i3.i.i.i.i, label %_ZNSt3__119__thread_struct_imp27__make_ready_at_thread_exitEPNS_17__assoc_sub_stateE.exit, label %37 @@ -615,7 +611,7 @@ _ZNKSt3__16vectorIPNS_17__assoc_sub_stateENS_18__hidden_allocatorIS2_EEE11__reco _ZNSt3__119__thread_struct_imp27__make_ready_at_thread_exitEPNS_17__assoc_sub_stateE.exit: ; preds = %9, %_ZNKSt3__16vectorIPNS_17__assoc_sub_stateENS_18__hidden_allocatorIS2_EEE11__recommendB8ne210000Em.exit.i.i.i.i, %37 %.0.i.i.i = phi ptr [ %10, %9 ], [ %28, %_ZNKSt3__16vectorIPNS_17__assoc_sub_stateENS_18__hidden_allocatorIS2_EEE11__recommendB8ne210000Em.exit.i.i.i.i ], [ %28, %37 ] - store ptr %.0.i.i.i, ptr %4, align 8, !tbaa !29 + store ptr %.0.i.i.i, ptr %4, align 8, !tbaa !30 %38 = getelementptr inbounds nuw i8, ptr %1, i64 8 %39 = atomicrmw add ptr %38, i64 1 monotonic, align 8 ret void @@ -668,7 +664,7 @@ declare ptr @__cxa_allocate_exception(i64) local_unnamed_addr ; Function Attrs: mustprogress uwtable define linkonce_odr hidden void @_ZNSt12length_errorC2B8ne210000EPKc(ptr noundef nonnull align 8 dereferenceable(16) %0, ptr noundef %1) unnamed_addr #3 comdat align 2 { tail call void @_ZNSt11logic_errorC2EPKc(ptr noundef nonnull align 8 dereferenceable(16) %0, ptr noundef %1) - store ptr getelementptr inbounds nuw inrange(-16, 24) (i8, ptr @_ZTVSt12length_error, i64 16), ptr %0, align 8, !tbaa !38 + store ptr getelementptr inbounds nuw inrange(-16, 24) (i8, ptr @_ZTVSt12length_error, i64 16), ptr %0, align 8, !tbaa !39 ret void } @@ -694,7 +690,7 @@ define linkonce_odr hidden void @_ZNSt3__121__thread_specific_ptrINS_15__thread_ br i1 %2, label %7, label %3 3: ; preds = %1 - %4 = load ptr, ptr %0, align 8, !tbaa !47 + %4 = load ptr, ptr %0, align 8, !tbaa !48 %5 = icmp eq ptr %4, null br i1 %5, label %_ZNSt3__115__thread_structD2Ev.exit, label %6 @@ -785,29 +781,30 @@ attributes #26 = { builtin nounwind } !21 = !{!22, !23, i64 0} !22 = !{!"_ZTSNSt3__16vectorINS_4pairIPNS_18condition_variableEPNS_5mutexEEENS_18__hidden_allocatorIS6_EEEE", !23, i64 0, !23, i64 8, !23, i64 16} !23 = !{!"p1 _ZTSNSt3__14pairIPNS_18condition_variableEPNS_5mutexEEE", !20, i64 0} -!24 = !{!22, !23, i64 8} -!25 = !{!26, !27, i64 0} -!26 = !{!"_ZTSNSt3__16vectorIPNS_17__assoc_sub_stateENS_18__hidden_allocatorIS2_EEEE", !27, i64 0, !27, i64 8, !27, i64 16} -!27 = !{!"p2 _ZTSNSt3__117__assoc_sub_stateE", !28, i64 0} -!28 = !{!"any p2 pointer", !20, i64 0} -!29 = !{!26, !27, i64 8} -!30 = !{!31, !32, i64 0} -!31 = !{!"_ZTSNSt3__14pairIPNS_18condition_variableEPNS_5mutexEEE", !32, i64 0, !33, i64 8} -!32 = !{!"p1 _ZTSNSt3__118condition_variableE", !20, i64 0} -!33 = !{!"p1 _ZTSNSt3__15mutexE", !20, i64 0} -!34 = !{!31, !33, i64 8} -!35 = distinct !{!35, !16} -!36 = !{!37, !37, i64 0} -!37 = !{!"p1 _ZTSNSt3__117__assoc_sub_stateE", !20, i64 0} -!38 = !{!39, !39, i64 0} -!39 = !{!"vtable pointer", !8, i64 0} -!40 = distinct !{!40, !16} -!41 = !{!22, !23, i64 16} -!42 = !{!32, !32, i64 0} +!24 = !{i64 8} +!25 = !{!22, !23, i64 8} +!26 = !{!27, !28, i64 0} +!27 = !{!"_ZTSNSt3__16vectorIPNS_17__assoc_sub_stateENS_18__hidden_allocatorIS2_EEEE", !28, i64 0, !28, i64 8, !28, i64 16} +!28 = !{!"p2 _ZTSNSt3__117__assoc_sub_stateE", !29, i64 0} +!29 = !{!"any p2 pointer", !20, i64 0} +!30 = !{!27, !28, i64 8} +!31 = !{!32, !33, i64 0} +!32 = !{!"_ZTSNSt3__14pairIPNS_18condition_variableEPNS_5mutexEEE", !33, i64 0, !34, i64 8} +!33 = !{!"p1 _ZTSNSt3__118condition_variableE", !20, i64 0} +!34 = !{!"p1 _ZTSNSt3__15mutexE", !20, i64 0} +!35 = !{!32, !34, i64 8} +!36 = distinct !{!36, !16} +!37 = !{!38, !38, i64 0} +!38 = !{!"p1 _ZTSNSt3__117__assoc_sub_stateE", !20, i64 0} +!39 = !{!40, !40, i64 0} +!40 = !{!"vtable pointer", !8, i64 0} +!41 = distinct !{!41, !16} +!42 = !{!22, !23, i64 16} !43 = !{!33, !33, i64 0} -!44 = !{!23, !23, i64 0} -!45 = !{!26, !27, i64 16} -!46 = !{!27, !27, i64 0} -!47 = !{!48, !49, i64 0} -!48 = !{!"_ZTSNSt3__115__thread_structE", !49, i64 0} -!49 = !{!"p1 _ZTSNSt3__119__thread_struct_impE", !20, i64 0} +!44 = !{!34, !34, i64 0} +!45 = !{!23, !23, i64 0} +!46 = !{!27, !28, i64 16} +!47 = !{!28, !28, i64 0} +!48 = !{!49, !50, i64 0} +!49 = !{!"_ZTSNSt3__115__thread_structE", !50, i64 0} +!50 = !{!"p1 _ZTSNSt3__119__thread_struct_impE", !20, i64 0} diff --git a/bench/llvm/optimized/ASTContext.ll b/bench/llvm/optimized/ASTContext.ll index 31b0e28d51d..054a5cb5135 100644 --- a/bench/llvm/optimized/ASTContext.ll +++ b/bench/llvm/optimized/ASTContext.ll @@ -126881,8 +126881,7 @@ _ZNK5clang10ASTContext8AllocateEmj.exit: ; preds = %25, %28 %.0.i.i.i.pn14 = phi ptr [ %.0, %.lr.ph ], [ %.0.i.i.i, %_ZNK5clang10ASTContext8AllocateEmj.exit ] %.sroa.0.013 = phi ptr [ %35, %.lr.ph ], [ %1, %_ZNK5clang10ASTContext8AllocateEmj.exit ] %.0 = getelementptr inbounds nuw i8, ptr %.0.i.i.i.pn14, i64 8 - call void @llvm.assume(i1 true) [ "align"(ptr %.sroa.0.013, i64 8) ] - %.0.copyload.i.i.i.i.i.i = load i64, ptr %.sroa.0.013, align 8 + %.0.copyload.i.i.i.i.i.i = load i64, ptr %.sroa.0.013, align 1 %33 = and i64 %.0.copyload.i.i.i.i.i.i, -8 %34 = inttoptr i64 %33 to ptr store ptr %34, ptr %.0, align 8, !tbaa !538 diff --git a/bench/llvm/optimized/ASTImporter.ll b/bench/llvm/optimized/ASTImporter.ll index 90a53806bba..06ed2f35b85 100644 --- a/bench/llvm/optimized/ASTImporter.ll +++ b/bench/llvm/optimized/ASTImporter.ll @@ -78877,8 +78877,7 @@ _ZN4llvm5ErrorD2Ev.exit57: ; preds = %47 _ZN5clang15ASTNodeImporter6importINS_9NamedDeclEEENSt11conditionalIXsr3stdE12is_base_of_vINS_4TypeET_EEN4llvm8ExpectedIPKS5_EENS7_IPS5_EEE4typeESB_.exit: ; preds = %.lr.ph, %66 %.sroa.0104.0125 = phi ptr [ %.1.i.i.i.i, %.lr.ph ], [ %74, %66 ] - call void @llvm.assume(i1 true) [ "align"(ptr %.sroa.0104.0125, i64 8) ] - %.0.copyload.i.i.i.i.i.i = load i64, ptr %.sroa.0104.0125, align 8 + %.0.copyload.i.i.i.i.i.i = load i64, ptr %.sroa.0104.0125, align 1 %75 = and i64 %.0.copyload.i.i.i.i.i.i, -8 %76 = inttoptr i64 %75 to ptr call void @llvm.lifetime.start.p0(ptr nonnull %4), !noalias !8648 @@ -79429,8 +79428,7 @@ _ZN4llvm5ErrorD2Ev.exit68: ; preds = %101 _ZN5clang15ASTNodeImporter6importINS_4DeclEEENSt11conditionalIXsr3stdE12is_base_of_vINS_4TypeET_EEN4llvm8ExpectedIPKS5_EENS7_IPS5_EEE4typeESB_.exit: ; preds = %.lr.ph, %120 %.sroa.0105.0142 = phi ptr [ %.1.i.i.i.i, %.lr.ph ], [ %128, %120 ] - call void @llvm.assume(i1 true) [ "align"(ptr %.sroa.0105.0142, i64 8) ] - %.0.copyload.i.i.i.i.i.i = load i64, ptr %.sroa.0105.0142, align 8 + %.0.copyload.i.i.i.i.i.i = load i64, ptr %.sroa.0105.0142, align 1 %129 = and i64 %.0.copyload.i.i.i.i.i.i, -8 %130 = inttoptr i64 %129 to ptr call void @llvm.lifetime.start.p0(ptr nonnull %4), !noalias !8711 diff --git a/bench/llvm/optimized/SemaLambda.ll b/bench/llvm/optimized/SemaLambda.ll index 621761b60c0..6e19fba93f1 100644 --- a/bench/llvm/optimized/SemaLambda.ll +++ b/bench/llvm/optimized/SemaLambda.ll @@ -5093,8 +5093,7 @@ thread-pre-split: ; preds = %_ZN5clang12CXXScope 679: ; preds = %677 %680 = load ptr, ptr %187, align 8, !tbaa !819 - call void @llvm.assume(i1 true) [ "align"(ptr %680, i64 8) ] - %.0.copyload.i.i.i.i.i.i.i.i = load i64, ptr %680, align 8 + %.0.copyload.i.i.i.i.i.i.i.i = load i64, ptr %680, align 1 %681 = and i64 %.0.copyload.i.i.i.i.i.i.i.i, -8 %682 = inttoptr i64 %681 to ptr %683 = getelementptr inbounds nuw i8, ptr %682, i64 28 @@ -5121,7 +5120,6 @@ _ZNK5clang12LookupResult12getFoundDeclEv.exit.i: ; preds = %686, %679 br i1 %688, label %select.unfold514, label %689 689: ; preds = %_ZNK5clang12LookupResult12getFoundDeclEv.exit.i - call void @llvm.assume(i1 true) [ "align"(ptr %680, i64 8) ] switch i32 %685, label %_ZNK5clang12LookupResult12getFoundDeclEv.exit.i255 [ i32 51, label %690 i32 52, label %690 @@ -5301,7 +5299,6 @@ _ZN5clang16CanonicalDeclPtrIKNS_12FunctionDeclEEC2EPS2_.exit.i260: ; preds = %75 br label %_ZNK5clang12LookupResult11getAsSingleINS_11BindingDeclEEEPT_v.exit 770: ; preds = %_ZNK5clang12LookupResult12getFoundDeclEv.exit.i255 - call void @llvm.assume(i1 true) [ "align"(ptr %680, i64 8) ] switch i32 %685, label %_ZNK5clang12LookupResult12getFoundDeclEv.exit.i267 [ i32 51, label %771 i32 52, label %771 diff --git a/bench/meilisearch-rs/optimized/2bqmf34tdvo23w8l.ll b/bench/meilisearch-rs/optimized/2bqmf34tdvo23w8l.ll index 78e20c26cc9..82ad2a243bc 100644 --- a/bench/meilisearch-rs/optimized/2bqmf34tdvo23w8l.ll +++ b/bench/meilisearch-rs/optimized/2bqmf34tdvo23w8l.ll @@ -9153,6 +9153,7 @@ define hidden void @"_ZN12sharded_slab4page19Shared$LT$T$C$C$GT$9init_with17heb4 %.pn.in = getelementptr inbounds nuw i8, ptr %1, i64 32 %.pn = load i64, ptr %.pn.in, align 8, !noundef !9 %19 = add i64 %.pn, %.sroa.01.0.i27 + call void @llvm.assume(i1 true) [ "align"(ptr %18, i64 8) ] %20 = getelementptr inbounds nuw i8, ptr %1, i64 8 %21 = load i64, ptr %20, align 8, !noalias !1837, !noundef !9 %22 = icmp ult i64 %.sroa.01.0.i27, %21 @@ -47171,6 +47172,7 @@ _ZN10serde_json5value8to_value17hc151012d21451e0cE.exit.thread: ; preds = %1210 br label %1225 1212: ; preds = %1210 + call void @llvm.assume(i1 true) [ "align"(ptr %506, i64 4) ] %1213 = load float, ptr %506, align 4, !alias.scope !9131, !noalias !9134, !noundef !9 invoke void @"_ZN10serde_json5value4from85_$LT$impl$u20$core..convert..From$LT$f32$GT$$u20$for$u20$serde_json..value..Value$GT$4from17h28103001c5700707E"(ptr noalias noundef nonnull sret([72 x i8]) align 8 captures(none) dereferenceable(72) %187, float noundef %1213) to label %_ZN10serde_json5value8to_value17hc151012d21451e0cE.exit unwind label %.body141.thread1430 @@ -50788,6 +50790,7 @@ _ZN14regex_automata4util4pool5inner9THREAD_ID7__getit17hc5c7cc6e52df33b8E.exit.i 71: ; preds = %67 %72 = icmp ne ptr %.sroa.57.0.copyload.i, null call void @llvm.assume(i1 %72) + call void @llvm.assume(i1 true) [ "align"(ptr %.sroa.46.0.copyload.i, i64 8) ] call fastcc void @"_ZN14regex_automata4util4pool5inner17Pool$LT$T$C$F$GT$9put_value17h11aa68b2990393fbE"(ptr noundef nonnull align 8 %.sroa.57.0.copyload.i, ptr noalias noundef nonnull align 8 %.sroa.46.0.copyload.i), !noalias !9936 br label %"_ZN14regex_automata4util4pool5inner22PoolGuard$LT$T$C$F$GT$7put_imp17h5820d7cadd190f3cE.exit.i" @@ -95433,6 +95436,7 @@ default.unreachable: ; preds = %"_ZN4core4iter8adap unreachable 51: ; preds = %"_ZN87_$LT$hashbrown..map..HashMap$LT$K$C$V$C$S$C$A$GT$$u20$as$u20$core..default..Default$GT$7default17h3c3b8009d6ec9ee9E.exit" + call void @llvm.assume(i1 true) [ "align"(ptr %1, i64 8) ] %52 = load ptr, ptr %1, align 8, !noundef !9 %53 = icmp eq ptr %52, null br i1 %53, label %59, label %54 @@ -96181,6 +96185,7 @@ _ZN4core4iter6traits8iterator8Iterator8try_fold17h4dd1d88e7fdb4570E.exit.thread: br i1 %50, label %268, label %264 264: ; preds = %262 + call void @llvm.assume(i1 true) [ "align"(ptr %1, i64 8) ] %265 = getelementptr inbounds nuw i8, ptr %1, i64 16 %266 = load i64, ptr %265, align 8, !noundef !9 br label %268 @@ -100498,6 +100503,7 @@ define noundef zeroext i1 @"_ZN69_$LT$meilisearch..search..SearchQuery$u20$as$u2 59: ; preds = %55 call void @llvm.lifetime.start.p0(ptr nonnull %18) store ptr %56, ptr %18, align 8 + call void @llvm.assume(i1 true) [ "align"(ptr %56, i64 8) ] %60 = getelementptr inbounds nuw i8, ptr %0, i64 176 %61 = load i64, ptr %60, align 8, !noundef !9 %62 = icmp ult i64 %61, 10 @@ -100513,11 +100519,15 @@ _ZN5alloc3fmt6format17h7fed6a266585da9dE.llvm.14059259217783387920.exit: ; preds call void @llvm.lifetime.start.p0(ptr nonnull %17) call void @llvm.lifetime.start.p0(ptr nonnull %16) call void @llvm.lifetime.start.p0(ptr nonnull %15) + call void @llvm.assume(i1 true) [ "align"(ptr %56, i64 8) ] %67 = getelementptr inbounds nuw i8, ptr %0, i64 168 %.val24 = load ptr, ptr %67, align 8, !nonnull !9, !noundef !9 + call void @llvm.assume(i1 true) [ "align"(ptr %56, i64 8) ] + call void @llvm.assume(i1 true) [ "align"(ptr %56, i64 8) ] %68 = getelementptr inbounds nuw i8, ptr %.val24, i64 4 %69 = getelementptr inbounds nuw i8, ptr %.val24, i64 8 call void @llvm.lifetime.start.p0(ptr nonnull %14) + call void @llvm.assume(i1 true) [ "align"(ptr %56, i64 8) ] store i64 %61, ptr %14, align 8 store ptr %.val24, ptr %15, align 8 %.sroa.42.0..sroa_idx = getelementptr inbounds nuw i8, ptr %15, i64 8 @@ -108437,6 +108447,7 @@ _ZN14regex_automata4util4pool5inner9THREAD_ID7__getit17hc5c7cc6e52df33b8E.exit.i 1065: ; preds = %1061 %1066 = icmp ne ptr %.sroa.57.0.copyload.i.i.i.i.i, null call void @llvm.assume(i1 %1066) + call void @llvm.assume(i1 true) [ "align"(ptr %.sroa.46.0.copyload.i.i.i.i.i, i64 8) ] invoke fastcc void @"_ZN14regex_automata4util4pool5inner17Pool$LT$T$C$F$GT$9put_value17h11aa68b2990393fbE"(ptr noundef nonnull align 8 %.sroa.57.0.copyload.i.i.i.i.i, ptr noalias noundef nonnull align 8 %.sroa.46.0.copyload.i.i.i.i.i) to label %1074 unwind label %.loopexit.i.i341, !noalias !20165 diff --git a/bench/meilisearch-rs/optimized/2eqafq69fd46y14a.ll b/bench/meilisearch-rs/optimized/2eqafq69fd46y14a.ll index adcdee5ec85..5640c695881 100644 --- a/bench/meilisearch-rs/optimized/2eqafq69fd46y14a.ll +++ b/bench/meilisearch-rs/optimized/2eqafq69fd46y14a.ll @@ -4347,6 +4347,7 @@ _ZN5serde3ser12SerializeMap15serialize_entry17h17fc1eb5b7f01982E.exit80: ; preds br i1 %98, label %102, label %99 99: ; preds = %95 + call void @llvm.assume(i1 true) [ "align"(ptr %97, i64 8) ] %100 = call noundef align 8 ptr @"_ZN17meilisearch_types8settings1_98_$LT$impl$u20$serde..ser..Serialize$u20$for$u20$meilisearch_types..settings..Settings$LT$T$GT$$GT$9serialize17h3fffcec74e85684dE"(ptr noalias noundef nonnull readonly align 8 dereferenceable(512) %97, ptr noalias noundef nonnull align 8 dereferenceable(16) %3), !noalias !1130 %101 = icmp eq ptr %100, null br i1 %101, label %102, label %_ZN5serde3ser12SerializeMap15serialize_entry17h8989e36e8384a60fE.exit.thread @@ -17759,23 +17760,25 @@ define hidden void @"_ZN4core6option15Option$LT$T$GT$3zip17h8a79d47d24f1725fE"(p %8 = load i64, ptr %6, align 8, !range !6 %9 = icmp eq i64 %8, -9223372036854775808 %or.cond = select i1 %7, i1 true, i1 %9 - %10 = getelementptr inbounds nuw i8, ptr %0, i64 8 - br i1 %or.cond, label %11, label %.thread + br i1 %or.cond, label %10, label %.thread .thread: ; preds = %3 - tail call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %10, ptr noundef nonnull align 8 dereferenceable(24) %2, i64 24, i1 false) + call void @llvm.assume(i1 true) [ "align"(ptr %1, i64 8) ] + %.sroa.4.0..sroa_idx = getelementptr inbounds nuw i8, ptr %0, i64 8 + tail call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %.sroa.4.0..sroa_idx, ptr noundef nonnull align 8 dereferenceable(24) %2, i64 24, i1 false) store ptr %1, ptr %0, align 8 br label %12 -11: ; preds = %3 - store i64 -9223372036854775808, ptr %10, align 8 +10: ; preds = %3 + %11 = getelementptr inbounds nuw i8, ptr %0, i64 8 + store i64 -9223372036854775808, ptr %11, align 8 br i1 %9, label %12, label %13 -12: ; preds = %.thread, %11, %"_ZN4core3ptr39drop_in_place$LT$std..path..PathBuf$GT$17h45d6c1cf4b3656a9E.exit" +12: ; preds = %.thread, %10, %"_ZN4core3ptr39drop_in_place$LT$std..path..PathBuf$GT$17h45d6c1cf4b3656a9E.exit" call void @llvm.lifetime.end.p0(ptr nonnull %5) ret void -13: ; preds = %11 +13: ; preds = %10 call void @llvm.lifetime.start.p0(ptr nonnull %4), !noalias !3491 call void @"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$14current_memory17h0aaf48f80649e9ddE.llvm.4616129397091597767"(ptr noalias noundef nonnull sret([24 x i8]) align 8 captures(none) dereferenceable(24) %4, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) %6) %14 = getelementptr inbounds nuw i8, ptr %4, i64 8 diff --git a/bench/meilisearch-rs/optimized/2vln1wcrdf8krbw1.ll b/bench/meilisearch-rs/optimized/2vln1wcrdf8krbw1.ll index adbbdd013a6..8dc693efe59 100644 --- a/bench/meilisearch-rs/optimized/2vln1wcrdf8krbw1.ll +++ b/bench/meilisearch-rs/optimized/2vln1wcrdf8krbw1.ll @@ -2730,6 +2730,7 @@ define hidden void @"_ZN102_$LT$core..iter..adapters..map..Map$LT$I$C$F$GT$$u20$ %.sroa.06.0.i.i = phi i64 [ 0, %8 ], [ %24, %"_ZN4core4iter8adapters6filter11filter_fold28_$u7b$$u7b$closure$u7d$$u7d$17h6c20a7db09b9775cE.exit.i.i" ] call void @llvm.lifetime.start.p0(ptr nonnull %5), !noalias !626 %16 = getelementptr inbounds { { ptr, i64 }, ptr }, ptr %.sroa.0.0.copyload, i64 %.sroa.06.0.i.i + call void @llvm.assume(i1 true) [ "align"(ptr %16, i64 8) ] tail call void @llvm.experimental.noalias.scope.decl(metadata !627) %17 = load ptr, ptr %16, align 8, !alias.scope !627, !noalias !630, !nonnull !4, !align !298, !noundef !4 %18 = getelementptr inbounds nuw i8, ptr %16, i64 8 @@ -7727,6 +7728,7 @@ define hidden void @"_ZN108_$LT$core..iter..adapters..filter..Filter$LT$I$C$P$GT %.sroa.06.0.i = phi i64 [ 0, %15 ], [ %31, %"_ZN4core4iter8adapters6filter11filter_fold28_$u7b$$u7b$closure$u7d$$u7d$17h6c20a7db09b9775cE.exit.i" ] call void @llvm.lifetime.start.p0(ptr nonnull %5), !noalias !2007 %23 = getelementptr inbounds { { ptr, i64 }, ptr }, ptr %7, i64 %.sroa.06.0.i + call void @llvm.assume(i1 true) [ "align"(ptr %23, i64 8) ] tail call void @llvm.experimental.noalias.scope.decl(metadata !2008) %24 = load ptr, ptr %23, align 8, !alias.scope !2008, !noalias !2011, !nonnull !4, !align !298, !noundef !4 %25 = getelementptr inbounds nuw i8, ptr %23, i64 8 @@ -8170,6 +8172,7 @@ define hidden void @"_ZN111_$LT$$LP$http..header..name..HeaderName$C$V$RP$$u20$a call void @llvm.experimental.noalias.scope.decl(metadata !2132) call void @llvm.experimental.noalias.scope.decl(metadata !2135) call void @llvm.experimental.noalias.scope.decl(metadata !2138) + call void @llvm.assume(i1 true) [ "align"(ptr %19, i64 8) ] %22 = getelementptr inbounds nuw i8, ptr %19, i64 16 %23 = load ptr, ptr %22, align 8, !noalias !2141, !nonnull !4, !noundef !4 %24 = getelementptr inbounds nuw i8, ptr %5, i64 24 @@ -8222,6 +8225,7 @@ define hidden void @"_ZN111_$LT$$LP$http..header..name..HeaderName$C$V$RP$$u20$a call void @llvm.experimental.noalias.scope.decl(metadata !2153) call void @llvm.experimental.noalias.scope.decl(metadata !2156) call void @llvm.experimental.noalias.scope.decl(metadata !2159) + call void @llvm.assume(i1 true) [ "align"(ptr %35, i64 8) ] %38 = getelementptr inbounds nuw i8, ptr %35, i64 16 %39 = load ptr, ptr %38, align 8, !noalias !2162, !nonnull !4, !noundef !4 %40 = getelementptr inbounds nuw i8, ptr %5, i64 24 @@ -9786,6 +9790,7 @@ define hidden void @"_ZN124_$LT$tracing_subscriber..fmt..fmt_layer..Layer$LT$S$C br i1 %25, label %39, label %26 26: ; preds = %5 + call void @llvm.assume(i1 true) [ "align"(ptr %3, i64 8) ] call void @llvm.lifetime.start.p0(ptr nonnull %11), !noalias !2568 call void @"_ZN108_$LT$tracing_subscriber..registry..sharded..Registry$u20$as$u20$tracing_subscriber..registry..LookupSpan$GT$9span_data17hf38bc76c13856d3eE"(ptr noalias noundef nonnull sret([24 x i8]) align 8 captures(none) dereferenceable(24) %11, ptr noundef nonnull align 8 %3, ptr noalias noundef nonnull readonly align 8 dereferenceable(8) %2), !noalias !2575 %27 = load ptr, ptr %11, align 8, !noalias !2568, !noundef !4 @@ -10327,6 +10332,7 @@ define hidden void @"_ZN124_$LT$tracing_subscriber..fmt..fmt_layer..Layer$LT$S$C br i1 %27, label %41, label %28 28: ; preds = %5 + call void @llvm.assume(i1 true) [ "align"(ptr %3, i64 8) ] call void @llvm.lifetime.start.p0(ptr nonnull %12), !noalias !2681 call void @"_ZN108_$LT$tracing_subscriber..registry..sharded..Registry$u20$as$u20$tracing_subscriber..registry..LookupSpan$GT$9span_data17hf38bc76c13856d3eE"(ptr noalias noundef nonnull sret([24 x i8]) align 8 captures(none) dereferenceable(24) %12, ptr noundef nonnull align 8 %3, ptr noalias noundef nonnull readonly align 8 dereferenceable(8) %2), !noalias !2688 %29 = load ptr, ptr %12, align 8, !noalias !2681, !noundef !4 @@ -10978,6 +10984,7 @@ define hidden void @"_ZN124_$LT$tracing_subscriber..fmt..fmt_layer..Layer$LT$S$C br i1 %24, label %39, label %25 25: ; preds = %23 + call void @llvm.assume(i1 true) [ "align"(ptr %2, i64 8) ] call void @llvm.lifetime.start.p0(ptr nonnull %6), !noalias !2785 call void @"_ZN108_$LT$tracing_subscriber..registry..sharded..Registry$u20$as$u20$tracing_subscriber..registry..LookupSpan$GT$9span_data17hf38bc76c13856d3eE"(ptr noalias noundef nonnull sret([24 x i8]) align 8 captures(none) dereferenceable(24) %6, ptr noundef nonnull align 8 %2, ptr noalias noundef nonnull readonly align 8 dereferenceable(8) %1), !noalias !2792 %26 = load ptr, ptr %6, align 8, !noalias !2785, !noundef !4 @@ -11330,6 +11337,7 @@ define hidden void @"_ZN124_$LT$tracing_subscriber..fmt..fmt_layer..Layer$LT$S$C br i1 %24, label %39, label %25 25: ; preds = %23 + call void @llvm.assume(i1 true) [ "align"(ptr %2, i64 8) ] call void @llvm.lifetime.start.p0(ptr nonnull %6), !noalias !2848 call void @"_ZN108_$LT$tracing_subscriber..registry..sharded..Registry$u20$as$u20$tracing_subscriber..registry..LookupSpan$GT$9span_data17hf38bc76c13856d3eE"(ptr noalias noundef nonnull sret([24 x i8]) align 8 captures(none) dereferenceable(24) %6, ptr noundef nonnull align 8 %2, ptr noalias noundef nonnull readonly align 8 dereferenceable(8) %1), !noalias !2855 %26 = load ptr, ptr %6, align 8, !noalias !2848, !noundef !4 @@ -11683,6 +11691,7 @@ define hidden void @"_ZN124_$LT$tracing_subscriber..fmt..fmt_layer..Layer$LT$S$C br i1 %27, label %41, label %28 28: ; preds = %26 + call void @llvm.assume(i1 true) [ "align"(ptr %2, i64 8) ] call void @llvm.lifetime.start.p0(ptr nonnull %6), !noalias !2910 call void @"_ZN108_$LT$tracing_subscriber..registry..sharded..Registry$u20$as$u20$tracing_subscriber..registry..LookupSpan$GT$9span_data17hf38bc76c13856d3eE"(ptr noalias noundef nonnull sret([24 x i8]) align 8 captures(none) dereferenceable(24) %6, ptr noundef nonnull align 8 %2, ptr noalias noundef nonnull readonly align 8 dereferenceable(8) %22), !noalias !2917 %29 = load ptr, ptr %6, align 8, !noalias !2910, !noundef !4 @@ -12076,6 +12085,7 @@ define hidden void @"_ZN124_$LT$tracing_subscriber..fmt..fmt_layer..Layer$LT$S$C br i1 %27, label %41, label %28 28: ; preds = %26 + call void @llvm.assume(i1 true) [ "align"(ptr %2, i64 8) ] call void @llvm.lifetime.start.p0(ptr nonnull %6), !noalias !2966 call void @"_ZN108_$LT$tracing_subscriber..registry..sharded..Registry$u20$as$u20$tracing_subscriber..registry..LookupSpan$GT$9span_data17hf38bc76c13856d3eE"(ptr noalias noundef nonnull sret([24 x i8]) align 8 captures(none) dereferenceable(24) %6, ptr noundef nonnull align 8 %2, ptr noalias noundef nonnull readonly align 8 dereferenceable(8) %22), !noalias !2973 %29 = load ptr, ptr %6, align 8, !noalias !2966, !noundef !4 @@ -12468,6 +12478,7 @@ define hidden void @"_ZN124_$LT$tracing_subscriber..fmt..fmt_layer..Layer$LT$S$C br i1 %24, label %39, label %25 25: ; preds = %23 + call void @llvm.assume(i1 true) [ "align"(ptr %2, i64 8) ] call void @llvm.lifetime.start.p0(ptr nonnull %6), !noalias !3022 call void @"_ZN108_$LT$tracing_subscriber..registry..sharded..Registry$u20$as$u20$tracing_subscriber..registry..LookupSpan$GT$9span_data17hf38bc76c13856d3eE"(ptr noalias noundef nonnull sret([24 x i8]) align 8 captures(none) dereferenceable(24) %6, ptr noundef nonnull align 8 %2, ptr noalias noundef nonnull readonly align 8 dereferenceable(8) %1), !noalias !3029 %26 = load ptr, ptr %6, align 8, !noalias !3022, !noundef !4 @@ -12819,6 +12830,7 @@ define hidden void @"_ZN124_$LT$tracing_subscriber..fmt..fmt_layer..Layer$LT$S$C br i1 %24, label %39, label %25 25: ; preds = %23 + call void @llvm.assume(i1 true) [ "align"(ptr %2, i64 8) ] call void @llvm.lifetime.start.p0(ptr nonnull %6), !noalias !3084 call void @"_ZN108_$LT$tracing_subscriber..registry..sharded..Registry$u20$as$u20$tracing_subscriber..registry..LookupSpan$GT$9span_data17hf38bc76c13856d3eE"(ptr noalias noundef nonnull sret([24 x i8]) align 8 captures(none) dereferenceable(24) %6, ptr noundef nonnull align 8 %2, ptr noalias noundef nonnull readonly align 8 dereferenceable(8) %1), !noalias !3091 %26 = load ptr, ptr %6, align 8, !noalias !3084, !noundef !4 @@ -14383,6 +14395,7 @@ define hidden void @"_ZN124_$LT$tracing_subscriber..fmt..fmt_layer..Layer$LT$S$C br i1 %16, label %30, label %17 17: ; preds = %5 + call void @llvm.assume(i1 true) [ "align"(ptr %3, i64 8) ] call void @llvm.lifetime.start.p0(ptr nonnull %10), !noalias !3530 call void @"_ZN108_$LT$tracing_subscriber..registry..sharded..Registry$u20$as$u20$tracing_subscriber..registry..LookupSpan$GT$9span_data17hf38bc76c13856d3eE"(ptr noalias noundef nonnull sret([24 x i8]) align 8 captures(none) dereferenceable(24) %10, ptr noundef nonnull align 8 %3, ptr noalias noundef nonnull readonly align 8 dereferenceable(8) %1), !noalias !3537 %18 = load ptr, ptr %10, align 8, !noalias !3530, !noundef !4 @@ -14745,6 +14758,7 @@ define hidden void @"_ZN124_$LT$tracing_subscriber..fmt..fmt_layer..Layer$LT$S$C br i1 %15, label %29, label %16 16: ; preds = %5 + call void @llvm.assume(i1 true) [ "align"(ptr %3, i64 8) ] call void @llvm.lifetime.start.p0(ptr nonnull %10), !noalias !3632 call void @"_ZN108_$LT$tracing_subscriber..registry..sharded..Registry$u20$as$u20$tracing_subscriber..registry..LookupSpan$GT$9span_data17hf38bc76c13856d3eE"(ptr noalias noundef nonnull sret([24 x i8]) align 8 captures(none) dereferenceable(24) %10, ptr noundef nonnull align 8 %3, ptr noalias noundef nonnull readonly align 8 dereferenceable(8) %1), !noalias !3639 %17 = load ptr, ptr %10, align 8, !noalias !3632, !noundef !4 @@ -20655,6 +20669,7 @@ define hidden void @"_ZN4core3ptr124drop_in_place$LT$$LP$core..option..Option$LT 4: ; preds = %1 tail call void @llvm.experimental.noalias.scope.decl(metadata !5797) tail call void @llvm.experimental.noalias.scope.decl(metadata !5800) + call void @llvm.assume(i1 true) [ "align"(ptr %2, i64 8) ] %5 = getelementptr inbounds nuw i8, ptr %2, i64 16 %6 = load ptr, ptr %5, align 8, !noalias !5803, !nonnull !4, !noundef !4 %7 = getelementptr inbounds nuw i8, ptr %0, i64 24 @@ -21493,6 +21508,7 @@ define hidden void @"_ZN4core3ptr176drop_in_place$LT$core..result..Result$LT$$LP 8: ; preds = %5 tail call void @llvm.experimental.noalias.scope.decl(metadata !5998) tail call void @llvm.experimental.noalias.scope.decl(metadata !6001) + call void @llvm.assume(i1 true) [ "align"(ptr %6, i64 8) ] %9 = getelementptr inbounds nuw i8, ptr %6, i64 16 %10 = load ptr, ptr %9, align 8, !noalias !6004, !nonnull !4, !noundef !4 %11 = getelementptr inbounds nuw i8, ptr %0, i64 24 @@ -22052,6 +22068,7 @@ define hidden void @"_ZN4core3ptr206drop_in_place$LT$core..task..poll..Poll$LT$c 9: ; preds = %6 tail call void @llvm.experimental.noalias.scope.decl(metadata !6153) tail call void @llvm.experimental.noalias.scope.decl(metadata !6156) + call void @llvm.assume(i1 true) [ "align"(ptr %7, i64 8) ] %10 = getelementptr inbounds nuw i8, ptr %7, i64 16 %11 = load ptr, ptr %10, align 8, !noalias !6159, !nonnull !4, !noundef !4 %12 = getelementptr inbounds nuw i8, ptr %0, i64 24 @@ -26516,6 +26533,7 @@ define hidden void @"_ZN4core3ptr245drop_in_place$LT$core..result..Result$LT$cor 9: ; preds = %6 tail call void @llvm.experimental.noalias.scope.decl(metadata !7551) tail call void @llvm.experimental.noalias.scope.decl(metadata !7554) + call void @llvm.assume(i1 true) [ "align"(ptr %7, i64 8) ] %10 = getelementptr inbounds nuw i8, ptr %7, i64 16 %11 = load ptr, ptr %10, align 8, !noalias !7557, !nonnull !4, !noundef !4 %12 = getelementptr inbounds nuw i8, ptr %0, i64 24 @@ -33050,6 +33068,7 @@ define hidden void @"_ZN4core3ptr68drop_in_place$LT$core..option..Option$LT$byte 5: ; preds = %1 tail call void @llvm.experimental.noalias.scope.decl(metadata !9616) tail call void @llvm.experimental.noalias.scope.decl(metadata !9619) + call void @llvm.assume(i1 true) [ "align"(ptr %2, i64 8) ] %6 = getelementptr inbounds nuw i8, ptr %2, i64 16 %7 = load ptr, ptr %6, align 8, !noalias !9622, !nonnull !4, !noundef !4 %8 = getelementptr inbounds nuw i8, ptr %0, i64 24 @@ -90653,6 +90672,7 @@ define hidden void @"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core. %.sroa.06.0 = phi i64 [ 0, %12 ], [ %28, %"_ZN4core4iter8adapters6filter11filter_fold28_$u7b$$u7b$closure$u7d$$u7d$17h6c20a7db09b9775cE.exit" ] call void @llvm.lifetime.start.p0(ptr nonnull %8) %20 = getelementptr inbounds { { ptr, i64 }, ptr }, ptr %1, i64 %.sroa.06.0 + call void @llvm.assume(i1 true) [ "align"(ptr %20, i64 8) ] tail call void @llvm.experimental.noalias.scope.decl(metadata !16167) %21 = load ptr, ptr %20, align 8, !alias.scope !16167, !noalias !16170, !nonnull !4, !align !298, !noundef !4 %22 = getelementptr inbounds nuw i8, ptr %20, i64 8 @@ -91741,6 +91761,7 @@ define hidden void @"_ZN96_$LT$actix_http..encoding..decoder..Decoder$LT$S$GT$$u br i1 %43, label %"_ZN96_$LT$actix_http..encoding..decoder..Decoder$LT$S$GT$$u20$as$u20$futures_core..stream..Stream$GT$9poll_next28_$u7b$$u7b$closure$u7d$$u7d$17hf3771144c7b1a7f9E.exit", label %44 44: ; preds = %42 + call void @llvm.assume(i1 true) [ "align"(ptr %.sroa.07.sroa.3.sroa.0.0.copyload, i64 8) ] %45 = load ptr, ptr %.sroa.07.sroa.3.sroa.0.0.copyload, align 8, !invariant.load !4, !noalias !16463, !nonnull !4 invoke void %45(ptr noundef nonnull align 1 %.sroa.07.sroa.0.0.copyload) to label %"_ZN4core3ptr137drop_in_place$LT$tokio..util..sync_wrapper..SyncWrapper$LT$alloc..boxed..Box$LT$dyn$u20$core..any..Any$u2b$core..marker..Send$GT$$GT$$GT$17hda3cb1a49d2c5a91E.llvm.4616129397091597767.exit.i.i.i" unwind label %46, !noalias !16463 @@ -91836,6 +91857,7 @@ common.resume: ; preds = %98, %152, %68, %66, br i1 %67, label %common.resume, label %68 68: ; preds = %66 + call void @llvm.assume(i1 true) [ "align"(ptr %.sroa.07.sroa.0.0.copyload, i64 8) ] %69 = getelementptr inbounds nuw i8, ptr %.sroa.07.sroa.0.0.copyload, i64 16 %70 = load ptr, ptr %69, align 8, !noalias !16475, !nonnull !4, !noundef !4 invoke void %70(ptr noalias noundef nonnull align 8 dereferenceable(8) %.sroa.2166.sroa.3.0..sroa.2166.0..sroa_idx.sroa_idx, ptr noundef %.sroa.07.sroa.3.sroa.0.0.copyload, i64 noundef %.sroa.07.sroa.3.sroa.3.sroa.0.0.copyload) @@ -92117,6 +92139,7 @@ default.unreachable: ; preds = %79 141: ; preds = %138 call void @llvm.experimental.noalias.scope.decl(metadata !16505) call void @llvm.experimental.noalias.scope.decl(metadata !16508) + call void @llvm.assume(i1 true) [ "align"(ptr %130, i64 8) ] %142 = getelementptr inbounds nuw i8, ptr %130, i64 16 %143 = load ptr, ptr %142, align 8, !noalias !16511, !nonnull !4, !noundef !4 %144 = getelementptr inbounds nuw i8, ptr %10, i64 24 @@ -94271,6 +94294,7 @@ define void @"_ZN114_$LT$meilisearch..error..PayloadError$u20$as$u20$core..conve 20: ; preds = %16 call void @llvm.lifetime.start.p0(ptr nonnull %3) + call void @llvm.assume(i1 true) [ "align"(ptr %8, i64 8) ] store ptr %8, ptr %3, align 8 store i64 4, ptr %0, align 8 invoke void @"_ZN4core3ptr74drop_in_place$LT$alloc..boxed..Box$LT$serde_json..error..ErrorImpl$GT$$GT$17ha4440cbfe3fe213eE.llvm.4616129397091597767"(ptr noalias noundef nonnull align 8 dereferenceable(8) %3) @@ -94301,6 +94325,7 @@ define void @"_ZN114_$LT$meilisearch..error..PayloadError$u20$as$u20$core..conve br i1 %30, label %10, label %.thread1 .thread1: ; preds = %29, %16, %12 + call void @llvm.assume(i1 true) [ "align"(ptr %8, i64 8) ] %31 = getelementptr inbounds nuw i8, ptr %0, i64 8 store ptr %8, ptr %31, align 8 store i64 3, ptr %0, align 8 diff --git a/bench/meilisearch-rs/optimized/48hhebymxr5ff2nk.ll b/bench/meilisearch-rs/optimized/48hhebymxr5ff2nk.ll index 69130711488..8cb58b0cb56 100644 --- a/bench/meilisearch-rs/optimized/48hhebymxr5ff2nk.ll +++ b/bench/meilisearch-rs/optimized/48hhebymxr5ff2nk.ll @@ -1020,14 +1020,16 @@ define hidden { ptr, ptr } @"_ZN108_$LT$alloc..collections..btree..map..Iter$LT$ resume { ptr, i32 } %33 _ZN5alloc11collections5btree3mem7replace17h64b264e6dbb1c8c9E.llvm.18177661807337663391.exit: ; preds = %.noexc2.i + %36 = extractvalue { ptr, ptr } %31, 0 + %37 = extractvalue { ptr, ptr } %31, 1 call void @llvm.lifetime.end.p0(ptr nonnull %5), !noalias !36 call void @llvm.lifetime.end.p0(ptr nonnull %6), !noalias !36 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %8, ptr noundef nonnull align 8 dereferenceable(24) %7, i64 24, i1 false), !noalias !36 + call void @llvm.assume(i1 true) [ "align"(ptr %36, i64 8) ] + call void @llvm.assume(i1 true) [ "align"(ptr %37, i64 8) ] call void @llvm.lifetime.end.p0(ptr nonnull %7), !noalias !36 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %16, ptr noundef nonnull align 8 dereferenceable(24) %8, i64 24, i1 false) call void @llvm.lifetime.end.p0(ptr nonnull %8) - %36 = extractvalue { ptr, ptr } %31, 0 - %37 = extractvalue { ptr, ptr } %31, 1 br label %24 } @@ -1138,13 +1140,14 @@ define hidden { ptr, ptr } @"_ZN108_$LT$alloc..collections..btree..map..Iter$LT$ resume { ptr, i32 } %33 _ZN5alloc11collections5btree3mem7replace17h92804c20fab31b0bE.llvm.18177661807337663391.exit: ; preds = %.noexc2.i + %36 = extractvalue { ptr, ptr } %31, 0 call void @llvm.lifetime.end.p0(ptr nonnull %5), !noalias !46 call void @llvm.lifetime.end.p0(ptr nonnull %6), !noalias !46 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %8, ptr noundef nonnull align 8 dereferenceable(24) %7, i64 24, i1 false), !noalias !46 + call void @llvm.assume(i1 true) [ "align"(ptr %36, i64 2) ] call void @llvm.lifetime.end.p0(ptr nonnull %7), !noalias !46 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %16, ptr noundef nonnull align 8 dereferenceable(24) %8, i64 24, i1 false) call void @llvm.lifetime.end.p0(ptr nonnull %8) - %36 = extractvalue { ptr, ptr } %31, 0 %37 = extractvalue { ptr, ptr } %31, 1 br label %24 } @@ -1256,14 +1259,16 @@ define hidden { ptr, ptr } @"_ZN108_$LT$alloc..collections..btree..map..Iter$LT$ resume { ptr, i32 } %33 _ZN5alloc11collections5btree3mem7replace17h1689cff485bbbf6aE.llvm.18177661807337663391.exit: ; preds = %.noexc2.i + %36 = extractvalue { ptr, ptr } %31, 0 + %37 = extractvalue { ptr, ptr } %31, 1 call void @llvm.lifetime.end.p0(ptr nonnull %5), !noalias !56 call void @llvm.lifetime.end.p0(ptr nonnull %6), !noalias !56 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %8, ptr noundef nonnull align 8 dereferenceable(24) %7, i64 24, i1 false), !noalias !56 + call void @llvm.assume(i1 true) [ "align"(ptr %36, i64 8) ] + call void @llvm.assume(i1 true) [ "align"(ptr %37, i64 8) ] call void @llvm.lifetime.end.p0(ptr nonnull %7), !noalias !56 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %16, ptr noundef nonnull align 8 dereferenceable(24) %8, i64 24, i1 false) call void @llvm.lifetime.end.p0(ptr nonnull %8) - %36 = extractvalue { ptr, ptr } %31, 0 - %37 = extractvalue { ptr, ptr } %31, 1 br label %24 } @@ -1374,14 +1379,16 @@ define hidden { ptr, ptr } @"_ZN108_$LT$alloc..collections..btree..map..Iter$LT$ resume { ptr, i32 } %33 _ZN5alloc11collections5btree3mem7replace17h360b864a297cf747E.llvm.18177661807337663391.exit: ; preds = %.noexc2.i + %36 = extractvalue { ptr, ptr } %31, 0 + %37 = extractvalue { ptr, ptr } %31, 1 call void @llvm.lifetime.end.p0(ptr nonnull %5), !noalias !66 call void @llvm.lifetime.end.p0(ptr nonnull %6), !noalias !66 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %8, ptr noundef nonnull align 8 dereferenceable(24) %7, i64 24, i1 false), !noalias !66 + call void @llvm.assume(i1 true) [ "align"(ptr %36, i64 8) ] + call void @llvm.assume(i1 true) [ "align"(ptr %37, i64 8) ] call void @llvm.lifetime.end.p0(ptr nonnull %7), !noalias !66 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %16, ptr noundef nonnull align 8 dereferenceable(24) %8, i64 24, i1 false) call void @llvm.lifetime.end.p0(ptr nonnull %8) - %36 = extractvalue { ptr, ptr } %31, 0 - %37 = extractvalue { ptr, ptr } %31, 1 br label %24 } @@ -1492,14 +1499,16 @@ define hidden { ptr, ptr } @"_ZN108_$LT$alloc..collections..btree..map..Iter$LT$ resume { ptr, i32 } %33 _ZN5alloc11collections5btree3mem7replace17h6c6c017cc3e8467eE.llvm.18177661807337663391.exit: ; preds = %.noexc2.i + %36 = extractvalue { ptr, ptr } %31, 0 + %37 = extractvalue { ptr, ptr } %31, 1 call void @llvm.lifetime.end.p0(ptr nonnull %5), !noalias !76 call void @llvm.lifetime.end.p0(ptr nonnull %6), !noalias !76 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %8, ptr noundef nonnull align 8 dereferenceable(24) %7, i64 24, i1 false), !noalias !76 + call void @llvm.assume(i1 true) [ "align"(ptr %36, i64 8) ] + call void @llvm.assume(i1 true) [ "align"(ptr %37, i64 8) ] call void @llvm.lifetime.end.p0(ptr nonnull %7), !noalias !76 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %16, ptr noundef nonnull align 8 dereferenceable(24) %8, i64 24, i1 false) call void @llvm.lifetime.end.p0(ptr nonnull %8) - %36 = extractvalue { ptr, ptr } %31, 0 - %37 = extractvalue { ptr, ptr } %31, 1 br label %24 } @@ -1610,14 +1619,16 @@ define hidden { ptr, ptr } @"_ZN108_$LT$alloc..collections..btree..map..Iter$LT$ resume { ptr, i32 } %33 _ZN5alloc11collections5btree3mem7replace17hc04d70771868ab98E.llvm.18177661807337663391.exit: ; preds = %.noexc2.i + %36 = extractvalue { ptr, ptr } %31, 0 + %37 = extractvalue { ptr, ptr } %31, 1 call void @llvm.lifetime.end.p0(ptr nonnull %5), !noalias !86 call void @llvm.lifetime.end.p0(ptr nonnull %6), !noalias !86 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %8, ptr noundef nonnull align 8 dereferenceable(24) %7, i64 24, i1 false), !noalias !86 + call void @llvm.assume(i1 true) [ "align"(ptr %36, i64 2) ] + call void @llvm.assume(i1 true) [ "align"(ptr %37, i64 8) ] call void @llvm.lifetime.end.p0(ptr nonnull %7), !noalias !86 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %16, ptr noundef nonnull align 8 dereferenceable(24) %8, i64 24, i1 false) call void @llvm.lifetime.end.p0(ptr nonnull %8) - %36 = extractvalue { ptr, ptr } %31, 0 - %37 = extractvalue { ptr, ptr } %31, 1 br label %24 } @@ -1728,13 +1739,14 @@ define hidden { ptr, ptr } @"_ZN108_$LT$alloc..collections..btree..map..Iter$LT$ resume { ptr, i32 } %33 _ZN5alloc11collections5btree3mem7replace17h3843ea35661a91cdE.llvm.18177661807337663391.exit: ; preds = %.noexc2.i + %36 = extractvalue { ptr, ptr } %31, 0 call void @llvm.lifetime.end.p0(ptr nonnull %5), !noalias !96 call void @llvm.lifetime.end.p0(ptr nonnull %6), !noalias !96 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %8, ptr noundef nonnull align 8 dereferenceable(24) %7, i64 24, i1 false), !noalias !96 + call void @llvm.assume(i1 true) [ "align"(ptr %36, i64 8) ] call void @llvm.lifetime.end.p0(ptr nonnull %7), !noalias !96 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %16, ptr noundef nonnull align 8 dereferenceable(24) %8, i64 24, i1 false) call void @llvm.lifetime.end.p0(ptr nonnull %8) - %36 = extractvalue { ptr, ptr } %31, 0 %37 = extractvalue { ptr, ptr } %31, 1 br label %24 } @@ -1846,13 +1858,14 @@ define hidden { ptr, ptr } @"_ZN108_$LT$alloc..collections..btree..map..Iter$LT$ resume { ptr, i32 } %33 _ZN5alloc11collections5btree3mem7replace17h0dc633bffd24dda4E.llvm.18177661807337663391.exit: ; preds = %.noexc2.i + %36 = extractvalue { ptr, ptr } %31, 0 call void @llvm.lifetime.end.p0(ptr nonnull %5), !noalias !106 call void @llvm.lifetime.end.p0(ptr nonnull %6), !noalias !106 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %8, ptr noundef nonnull align 8 dereferenceable(24) %7, i64 24, i1 false), !noalias !106 + call void @llvm.assume(i1 true) [ "align"(ptr %36, i64 8) ] call void @llvm.lifetime.end.p0(ptr nonnull %7), !noalias !106 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %16, ptr noundef nonnull align 8 dereferenceable(24) %8, i64 24, i1 false) call void @llvm.lifetime.end.p0(ptr nonnull %8) - %36 = extractvalue { ptr, ptr } %31, 0 %37 = extractvalue { ptr, ptr } %31, 1 br label %24 } @@ -1964,14 +1977,16 @@ define hidden { ptr, ptr } @"_ZN108_$LT$alloc..collections..btree..map..Iter$LT$ resume { ptr, i32 } %33 _ZN5alloc11collections5btree3mem7replace17h21f19c9efe3243b0E.llvm.18177661807337663391.exit: ; preds = %.noexc2.i + %36 = extractvalue { ptr, ptr } %31, 0 + %37 = extractvalue { ptr, ptr } %31, 1 call void @llvm.lifetime.end.p0(ptr nonnull %5), !noalias !116 call void @llvm.lifetime.end.p0(ptr nonnull %6), !noalias !116 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %8, ptr noundef nonnull align 8 dereferenceable(24) %7, i64 24, i1 false), !noalias !116 + call void @llvm.assume(i1 true) [ "align"(ptr %36, i64 8) ] + call void @llvm.assume(i1 true) [ "align"(ptr %37, i64 8) ] call void @llvm.lifetime.end.p0(ptr nonnull %7), !noalias !116 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %16, ptr noundef nonnull align 8 dereferenceable(24) %8, i64 24, i1 false) call void @llvm.lifetime.end.p0(ptr nonnull %8) - %36 = extractvalue { ptr, ptr } %31, 0 - %37 = extractvalue { ptr, ptr } %31, 1 br label %24 } @@ -2082,13 +2097,14 @@ define hidden { ptr, ptr } @"_ZN108_$LT$alloc..collections..btree..map..Iter$LT$ resume { ptr, i32 } %33 _ZN5alloc11collections5btree3mem7replace17h9107c30483854de8E.llvm.18177661807337663391.exit: ; preds = %.noexc2.i + %36 = extractvalue { ptr, ptr } %31, 0 call void @llvm.lifetime.end.p0(ptr nonnull %5), !noalias !126 call void @llvm.lifetime.end.p0(ptr nonnull %6), !noalias !126 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %8, ptr noundef nonnull align 8 dereferenceable(24) %7, i64 24, i1 false), !noalias !126 + call void @llvm.assume(i1 true) [ "align"(ptr %36, i64 8) ] call void @llvm.lifetime.end.p0(ptr nonnull %7), !noalias !126 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %16, ptr noundef nonnull align 8 dereferenceable(24) %8, i64 24, i1 false) call void @llvm.lifetime.end.p0(ptr nonnull %8) - %36 = extractvalue { ptr, ptr } %31, 0 %37 = extractvalue { ptr, ptr } %31, 1 br label %24 } @@ -2200,14 +2216,16 @@ define hidden { ptr, ptr } @"_ZN108_$LT$alloc..collections..btree..map..Iter$LT$ resume { ptr, i32 } %33 _ZN5alloc11collections5btree3mem7replace17hf7fade81ee5dad9cE.llvm.18177661807337663391.exit: ; preds = %.noexc2.i + %36 = extractvalue { ptr, ptr } %31, 0 + %37 = extractvalue { ptr, ptr } %31, 1 call void @llvm.lifetime.end.p0(ptr nonnull %5), !noalias !136 call void @llvm.lifetime.end.p0(ptr nonnull %6), !noalias !136 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %8, ptr noundef nonnull align 8 dereferenceable(24) %7, i64 24, i1 false), !noalias !136 + call void @llvm.assume(i1 true) [ "align"(ptr %36, i64 8) ] + call void @llvm.assume(i1 true) [ "align"(ptr %37, i64 8) ] call void @llvm.lifetime.end.p0(ptr nonnull %7), !noalias !136 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %16, ptr noundef nonnull align 8 dereferenceable(24) %8, i64 24, i1 false) call void @llvm.lifetime.end.p0(ptr nonnull %8) - %36 = extractvalue { ptr, ptr } %31, 0 - %37 = extractvalue { ptr, ptr } %31, 1 br label %24 } @@ -2318,14 +2336,16 @@ define hidden { ptr, ptr } @"_ZN108_$LT$alloc..collections..btree..map..Iter$LT$ resume { ptr, i32 } %33 _ZN5alloc11collections5btree3mem7replace17hef4d95e8be508aeeE.llvm.18177661807337663391.exit: ; preds = %.noexc2.i + %36 = extractvalue { ptr, ptr } %31, 0 + %37 = extractvalue { ptr, ptr } %31, 1 call void @llvm.lifetime.end.p0(ptr nonnull %5), !noalias !146 call void @llvm.lifetime.end.p0(ptr nonnull %6), !noalias !146 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %8, ptr noundef nonnull align 8 dereferenceable(24) %7, i64 24, i1 false), !noalias !146 + call void @llvm.assume(i1 true) [ "align"(ptr %36, i64 2) ] + call void @llvm.assume(i1 true) [ "align"(ptr %37, i64 8) ] call void @llvm.lifetime.end.p0(ptr nonnull %7), !noalias !146 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %16, ptr noundef nonnull align 8 dereferenceable(24) %8, i64 24, i1 false) call void @llvm.lifetime.end.p0(ptr nonnull %8) - %36 = extractvalue { ptr, ptr } %31, 0 - %37 = extractvalue { ptr, ptr } %31, 1 br label %24 } @@ -2436,14 +2456,16 @@ define hidden { ptr, ptr } @"_ZN108_$LT$alloc..collections..btree..map..Iter$LT$ resume { ptr, i32 } %33 _ZN5alloc11collections5btree3mem7replace17h68f014c5540cccfaE.llvm.18177661807337663391.exit: ; preds = %.noexc2.i + %36 = extractvalue { ptr, ptr } %31, 0 + %37 = extractvalue { ptr, ptr } %31, 1 call void @llvm.lifetime.end.p0(ptr nonnull %5), !noalias !156 call void @llvm.lifetime.end.p0(ptr nonnull %6), !noalias !156 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %8, ptr noundef nonnull align 8 dereferenceable(24) %7, i64 24, i1 false), !noalias !156 + call void @llvm.assume(i1 true) [ "align"(ptr %36, i64 8) ] + call void @llvm.assume(i1 true) [ "align"(ptr %37, i64 8) ] call void @llvm.lifetime.end.p0(ptr nonnull %7), !noalias !156 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %16, ptr noundef nonnull align 8 dereferenceable(24) %8, i64 24, i1 false) call void @llvm.lifetime.end.p0(ptr nonnull %8) - %36 = extractvalue { ptr, ptr } %31, 0 - %37 = extractvalue { ptr, ptr } %31, 1 br label %24 } @@ -41921,6 +41943,7 @@ define hidden noundef zeroext i1 @"_ZN166_$LT$tracing_subscriber..fmt..format..F 202: ; preds = %199 %203 = getelementptr inbounds nuw i8, ptr %196, i64 8 + call void @llvm.assume(i1 true) [ "align"(ptr %.val.i.i, i64 8) ] call void @llvm.lifetime.start.p0(ptr nonnull %15), !noalias !7199 call void @"_ZN108_$LT$tracing_subscriber..registry..sharded..Registry$u20$as$u20$tracing_subscriber..registry..LookupSpan$GT$9span_data17hf38bc76c13856d3eE"(ptr noalias noundef nonnull sret([24 x i8]) align 8 captures(none) dereferenceable(24) %15, ptr noundef nonnull align 8 %.val.i.i, ptr noalias noundef nonnull readonly align 8 dereferenceable(8) %203), !noalias !7204 %204 = load ptr, ptr %15, align 8, !noalias !7199, !noundef !4 @@ -42518,6 +42541,7 @@ common.resume: ; preds = %330, %556, %589, %1 store ptr %392, ptr %47, align 8 call void @llvm.lifetime.start.p0(ptr nonnull %46) store ptr %47, ptr %46, align 8 + call void @llvm.assume(i1 true) [ "align"(ptr %392, i64 8) ] %409 = getelementptr inbounds nuw i8, ptr %392, i64 16 %410 = load i64, ptr %409, align 8, !noundef !4 %411 = icmp eq i64 %410, 0 @@ -44627,6 +44651,7 @@ _ZN5serde3ser12SerializeMap15serialize_entry17h3d1bc1b43b7e4891E.exit.thread.i: 90: ; preds = %86 %91 = getelementptr inbounds nuw i8, ptr %3, i64 8 + call void @llvm.assume(i1 true) [ "align"(ptr %.val.i, i64 8) ] call void @llvm.lifetime.start.p0(ptr nonnull %7), !noalias !7683 invoke void @"_ZN108_$LT$tracing_subscriber..registry..sharded..Registry$u20$as$u20$tracing_subscriber..registry..LookupSpan$GT$9span_data17hf38bc76c13856d3eE"(ptr noalias noundef nonnull sret([24 x i8]) align 8 captures(none) dereferenceable(24) %7, ptr noundef nonnull align 8 %.val.i, ptr noalias noundef nonnull readonly align 8 dereferenceable(8) %91) to label %.noexc13 unwind label %40 @@ -45426,6 +45451,7 @@ define internal fastcc void @"_ZN18tracing_subscriber5layer7context16Context$LT$ br label %17 14: ; preds = %2 + call void @llvm.assume(i1 true) [ "align"(ptr %11, i64 8) ] call void @llvm.lifetime.start.p0(ptr nonnull %10) call void @"_ZN104_$LT$tracing_subscriber..registry..sharded..Registry$u20$as$u20$tracing_core..subscriber..Subscriber$GT$12current_span17h2b25942db35bc4b3E"(ptr noalias noundef nonnull sret([24 x i8]) align 8 captures(none) dereferenceable(24) %10, ptr noundef nonnull align 8 %11) %15 = load i64, ptr %10, align 8, !range !539, !noundef !4 diff --git a/bench/meilisearch-rs/optimized/4llghrvh6vzci59o.ll b/bench/meilisearch-rs/optimized/4llghrvh6vzci59o.ll index dd596ae0c98..aab341604d1 100644 --- a/bench/meilisearch-rs/optimized/4llghrvh6vzci59o.ll +++ b/bench/meilisearch-rs/optimized/4llghrvh6vzci59o.ll @@ -11410,6 +11410,7 @@ define internal fastcc void @"_ZN4core3ptr40drop_in_place$LT$tracing..span..Span br i1 %or.cond.i, label %"_ZN61_$LT$tracing..span..Span$u20$as$u20$core..ops..drop..Drop$GT$4drop17h3dcebd800b5897d6E.exit", label %16 16: ; preds = %.noexc1 + call void @llvm.assume(i1 true) [ "align"(ptr %14, i64 8) ] call void @llvm.lifetime.start.p0(ptr nonnull %4), !noalias !2154 call void @llvm.lifetime.start.p0(ptr nonnull %3), !noalias !2154 call void @llvm.lifetime.start.p0(ptr nonnull %2), !noalias !2154 @@ -11551,6 +11552,7 @@ define internal fastcc void @"_ZN4core3ptr43drop_in_place$LT$tracing..span..Ente br i1 %or.cond.i, label %_ZN7tracing4span4Span7do_exit17h43ee55b11661a111E.exit, label %15 15: ; preds = %9 + call void @llvm.assume(i1 true) [ "align"(ptr %13, i64 8) ], !noalias !2192 call void @llvm.lifetime.start.p0(ptr nonnull %3), !noalias !2195 call void @llvm.lifetime.start.p0(ptr nonnull %2), !noalias !2195 call void @llvm.lifetime.start.p0(ptr nonnull %1), !noalias !2195 @@ -13900,6 +13902,7 @@ define internal fastcc void @"_ZN4core3ptr72drop_in_place$LT$$LP$http..header..n tail call void @llvm.experimental.noalias.scope.decl(metadata !2952) tail call void @llvm.experimental.noalias.scope.decl(metadata !2955) tail call void @llvm.experimental.noalias.scope.decl(metadata !2958) + call void @llvm.assume(i1 true) [ "align"(ptr %2, i64 8) ] %5 = getelementptr inbounds nuw i8, ptr %2, i64 16 %6 = load ptr, ptr %5, align 8, !noalias !2961, !nonnull !11, !noundef !11 %7 = getelementptr inbounds nuw i8, ptr %0, i64 24 @@ -19913,6 +19916,7 @@ _ZN7tracing4span4Span8do_enter17hf08afab7205d280cE.exit: ; preds = %.noexc369, % br i1 %or.cond.i, label %_ZN7tracing4span4Span8do_enter17hf08afab7205d280cE.exit, label %175 175: ; preds = %.noexc369 + call void @llvm.assume(i1 true) [ "align"(ptr %173, i64 8) ] call void @llvm.lifetime.start.p0(ptr nonnull %38), !noalias !4100 call void @llvm.lifetime.start.p0(ptr nonnull %37), !noalias !4100 call void @llvm.lifetime.start.p0(ptr nonnull %36), !noalias !4100 @@ -21784,6 +21788,7 @@ _ZN10serde_json3ser9Formatter12begin_string17h5e338d973de9fa1eE.llvm.19292657444 br i1 %or.cond.i.i, label %.sink.split, label %743 743: ; preds = %.noexc423 + call void @llvm.assume(i1 true) [ "align"(ptr %741, i64 8) ], !noalias !4402 call void @llvm.lifetime.start.p0(ptr nonnull %9), !noalias !4405 call void @llvm.lifetime.start.p0(ptr nonnull %8), !noalias !4405 call void @llvm.lifetime.start.p0(ptr nonnull %7), !noalias !4405 @@ -22238,6 +22243,7 @@ _ZN7tracing4span4Span8do_enter17hf08afab7205d280cE.exit: ; preds = %.noexc499, % br i1 %or.cond.i, label %_ZN7tracing4span4Span8do_enter17hf08afab7205d280cE.exit, label %158 158: ; preds = %.noexc499 + call void @llvm.assume(i1 true) [ "align"(ptr %156, i64 8) ] call void @llvm.lifetime.start.p0(ptr nonnull %46), !noalias !4422 call void @llvm.lifetime.start.p0(ptr nonnull %45), !noalias !4422 call void @llvm.lifetime.start.p0(ptr nonnull %44), !noalias !4422 @@ -24577,6 +24583,7 @@ default.unreachable: ; preds = %216 br i1 %or.cond.i.i, label %.thread827, label %728 728: ; preds = %.noexc583 + call void @llvm.assume(i1 true) [ "align"(ptr %726, i64 8) ], !noalias !4591 call void @llvm.lifetime.start.p0(ptr nonnull %7), !noalias !4594 call void @llvm.lifetime.start.p0(ptr nonnull %6), !noalias !4594 call void @llvm.lifetime.start.p0(ptr nonnull %5), !noalias !4594 @@ -25285,6 +25292,7 @@ _ZN7tracing4span4Span8do_enter17hf08afab7205d280cE.exit: ; preds = %.noexc50, %. br i1 %or.cond.i, label %_ZN7tracing4span4Span8do_enter17hf08afab7205d280cE.exit, label %80 80: ; preds = %.noexc50 + call void @llvm.assume(i1 true) [ "align"(ptr %78, i64 8) ] call void @llvm.lifetime.start.p0(ptr nonnull %17), !noalias !4737 call void @llvm.lifetime.start.p0(ptr nonnull %16), !noalias !4737 call void @llvm.lifetime.start.p0(ptr nonnull %15), !noalias !4737 @@ -25422,6 +25430,7 @@ _ZN7tracing4span4Span8do_enter17hf08afab7205d280cE.exit: ; preds = %.noexc50, %. br i1 %or.cond.i.i, label %.thread90, label %120 120: ; preds = %.noexc57 + call void @llvm.assume(i1 true) [ "align"(ptr %118, i64 8) ], !noalias !4773 call void @llvm.lifetime.start.p0(ptr nonnull %13), !noalias !4776 call void @llvm.lifetime.start.p0(ptr nonnull %12), !noalias !4776 call void @llvm.lifetime.start.p0(ptr nonnull %11), !noalias !4776 @@ -25746,6 +25755,7 @@ _ZN7tracing4span4Span8do_enter17hf08afab7205d280cE.exit: ; preds = %.noexc125, % br i1 %or.cond.i, label %_ZN7tracing4span4Span8do_enter17hf08afab7205d280cE.exit, label %94 94: ; preds = %.noexc125 + call void @llvm.assume(i1 true) [ "align"(ptr %92, i64 8) ] call void @llvm.lifetime.start.p0(ptr nonnull %17), !noalias !4797 call void @llvm.lifetime.start.p0(ptr nonnull %16), !noalias !4797 call void @llvm.lifetime.start.p0(ptr nonnull %15), !noalias !4797 @@ -26281,6 +26291,7 @@ default.unreachable: ; preds = %134 br i1 %or.cond.i.i, label %.sink.split, label %241 241: ; preds = %.noexc133 + call void @llvm.assume(i1 true) [ "align"(ptr %239, i64 8) ], !noalias !4856 call void @llvm.lifetime.start.p0(ptr nonnull %11), !noalias !4859 call void @llvm.lifetime.start.p0(ptr nonnull %10), !noalias !4859 call void @llvm.lifetime.start.p0(ptr nonnull %9), !noalias !4859 @@ -26405,6 +26416,7 @@ default.unreachable: ; preds = %134 br i1 %or.cond.i.i137, label %.sink.split, label %280 280: ; preds = %.noexc139 + call void @llvm.assume(i1 true) [ "align"(ptr %278, i64 8) ], !noalias !4870 call void @llvm.lifetime.start.p0(ptr nonnull %7), !noalias !4873 call void @llvm.lifetime.start.p0(ptr nonnull %6), !noalias !4873 call void @llvm.lifetime.start.p0(ptr nonnull %5), !noalias !4873 @@ -26709,6 +26721,7 @@ _ZN7tracing4span4Span8do_enter17hf08afab7205d280cE.exit: ; preds = %.noexc269, % br i1 %or.cond.i, label %_ZN7tracing4span4Span8do_enter17hf08afab7205d280cE.exit, label %138 138: ; preds = %.noexc269 + call void @llvm.assume(i1 true) [ "align"(ptr %136, i64 8) ] call void @llvm.lifetime.start.p0(ptr nonnull %36), !noalias !4890 call void @llvm.lifetime.start.p0(ptr nonnull %35), !noalias !4890 call void @llvm.lifetime.start.p0(ptr nonnull %34), !noalias !4890 @@ -28108,6 +28121,7 @@ default.unreachable: ; preds = %213 br i1 %or.cond.i.i, label %.sink.split, label %492 492: ; preds = %.noexc329 + call void @llvm.assume(i1 true) [ "align"(ptr %490, i64 8) ], !noalias !5125 call void @llvm.lifetime.start.p0(ptr nonnull %7), !noalias !5128 call void @llvm.lifetime.start.p0(ptr nonnull %6), !noalias !5128 call void @llvm.lifetime.start.p0(ptr nonnull %5), !noalias !5128 @@ -28383,6 +28397,7 @@ _ZN7tracing4span4Span8do_enter17hf08afab7205d280cE.exit: ; preds = %.noexc191, % br i1 %or.cond.i, label %_ZN7tracing4span4Span8do_enter17hf08afab7205d280cE.exit, label %105 105: ; preds = %.noexc191 + call void @llvm.assume(i1 true) [ "align"(ptr %103, i64 8) ] call void @llvm.lifetime.start.p0(ptr nonnull %27), !noalias !5145 call void @llvm.lifetime.start.p0(ptr nonnull %26), !noalias !5145 call void @llvm.lifetime.start.p0(ptr nonnull %25), !noalias !5145 @@ -29244,6 +29259,7 @@ default.unreachable: ; preds = %159 br i1 %or.cond.i.i, label %.sink.split, label %335 335: ; preds = %.noexc236 + call void @llvm.assume(i1 true) [ "align"(ptr %333, i64 8) ], !noalias !5284 call void @llvm.lifetime.start.p0(ptr nonnull %12), !noalias !5287 call void @llvm.lifetime.start.p0(ptr nonnull %11), !noalias !5287 call void @llvm.lifetime.start.p0(ptr nonnull %10), !noalias !5287 @@ -29392,6 +29408,7 @@ default.unreachable: ; preds = %159 br i1 %or.cond.i.i242, label %.sink.split, label %384 384: ; preds = %.noexc244 + call void @llvm.assume(i1 true) [ "align"(ptr %382, i64 8) ], !noalias !5305 call void @llvm.lifetime.start.p0(ptr nonnull %7), !noalias !5308 call void @llvm.lifetime.start.p0(ptr nonnull %6), !noalias !5308 call void @llvm.lifetime.start.p0(ptr nonnull %5), !noalias !5308 @@ -29717,6 +29734,7 @@ _ZN7tracing4span4Span8do_enter17hf08afab7205d280cE.exit: ; preds = %.noexc285, % br i1 %or.cond.i, label %_ZN7tracing4span4Span8do_enter17hf08afab7205d280cE.exit, label %161 161: ; preds = %.noexc285 + call void @llvm.assume(i1 true) [ "align"(ptr %159, i64 8) ] call void @llvm.lifetime.start.p0(ptr nonnull %59), !noalias !5325 call void @llvm.lifetime.start.p0(ptr nonnull %58), !noalias !5325 call void @llvm.lifetime.start.p0(ptr nonnull %57), !noalias !5325 @@ -30293,6 +30311,7 @@ default.unreachable: ; preds = %270 br i1 %or.cond.i287, label %340, label %333 333: ; preds = %.noexc290 + call void @llvm.assume(i1 true) [ "align"(ptr %331, i64 8) ] call void @llvm.lifetime.start.p0(ptr nonnull %56), !noalias !5345 call void @llvm.lifetime.start.p0(ptr nonnull %55), !noalias !5345 call void @llvm.lifetime.start.p0(ptr nonnull %54), !noalias !5345 @@ -30397,6 +30416,7 @@ default.unreachable: ; preds = %270 br i1 %or.cond.i.i, label %"_ZN4core3ptr43drop_in_place$LT$tracing..span..Entered$GT$17h08e9ee6425646d83E.exit", label %360 360: ; preds = %.noexc333 + call void @llvm.assume(i1 true) [ "align"(ptr %358, i64 8) ], !noalias !5359 call void @llvm.lifetime.start.p0(ptr nonnull %41), !noalias !5362 call void @llvm.lifetime.start.p0(ptr nonnull %40), !noalias !5362 call void @llvm.lifetime.start.p0(ptr nonnull %39), !noalias !5362 @@ -30469,6 +30489,7 @@ default.unreachable: ; preds = %270 br i1 %or.cond.i.i340, label %"_ZN4core3ptr43drop_in_place$LT$tracing..span..Entered$GT$17h08e9ee6425646d83E.exit344", label %382 382: ; preds = %.noexc342 + call void @llvm.assume(i1 true) [ "align"(ptr %380, i64 8) ], !noalias !5374 call void @llvm.lifetime.start.p0(ptr nonnull %36), !noalias !5377 call void @llvm.lifetime.start.p0(ptr nonnull %35), !noalias !5377 call void @llvm.lifetime.start.p0(ptr nonnull %34), !noalias !5377 @@ -30693,6 +30714,7 @@ _ZN10rayon_core8registry9in_worker17hf99fa101aa0e3a4cE.exit: ; preds = %.noexc33 br i1 %or.cond.i293, label %_ZN7tracing4span4Span8do_enter17hf08afab7205d280cE.exit298, label %447 447: ; preds = %.noexc296 + call void @llvm.assume(i1 true) [ "align"(ptr %445, i64 8) ] call void @llvm.lifetime.start.p0(ptr nonnull %53), !noalias !5397 call void @llvm.lifetime.start.p0(ptr nonnull %52), !noalias !5397 call void @llvm.lifetime.start.p0(ptr nonnull %51), !noalias !5397 @@ -30778,6 +30800,7 @@ _ZN7tracing4span4Span8do_enter17hf08afab7205d280cE.exit298: ; preds = %.noexc297 br i1 %or.cond.i.i349, label %"_ZN4core3ptr43drop_in_place$LT$tracing..span..Entered$GT$17h08e9ee6425646d83E.exit353", label %478 478: ; preds = %.noexc351 + call void @llvm.assume(i1 true) [ "align"(ptr %476, i64 8) ], !noalias !5403 call void @llvm.lifetime.start.p0(ptr nonnull %32), !noalias !5406 call void @llvm.lifetime.start.p0(ptr nonnull %31), !noalias !5406 call void @llvm.lifetime.start.p0(ptr nonnull %30), !noalias !5406 @@ -30831,6 +30854,7 @@ _ZN7tracing4span4Span8do_enter17hf08afab7205d280cE.exit298: ; preds = %.noexc297 br i1 %or.cond.i.i354, label %"_ZN4core3ptr43drop_in_place$LT$tracing..span..Entered$GT$17h08e9ee6425646d83E.exit358", label %497 497: ; preds = %.noexc356 + call void @llvm.assume(i1 true) [ "align"(ptr %495, i64 8) ], !noalias !5410 call void @llvm.lifetime.start.p0(ptr nonnull %29), !noalias !5413 call void @llvm.lifetime.start.p0(ptr nonnull %28), !noalias !5413 call void @llvm.lifetime.start.p0(ptr nonnull %27), !noalias !5413 @@ -30983,6 +31007,7 @@ _ZN7tracing4span4Span8do_enter17hf08afab7205d280cE.exit298: ; preds = %.noexc297 br i1 %or.cond.i299, label %_ZN7tracing4span4Span8do_enter17hf08afab7205d280cE.exit304, label %549 549: ; preds = %.noexc302 + call void @llvm.assume(i1 true) [ "align"(ptr %547, i64 8) ] call void @llvm.lifetime.start.p0(ptr nonnull %50), !noalias !5414 call void @llvm.lifetime.start.p0(ptr nonnull %49), !noalias !5414 call void @llvm.lifetime.start.p0(ptr nonnull %48), !noalias !5414 @@ -31162,6 +31187,7 @@ _ZN7tracing4span4Span8do_enter17hf08afab7205d280cE.exit304: ; preds = %.noexc303 br i1 %or.cond.i.i364, label %"_ZN4core3ptr43drop_in_place$LT$tracing..span..Entered$GT$17h08e9ee6425646d83E.exit368", label %600 600: ; preds = %.noexc366 + call void @llvm.assume(i1 true) [ "align"(ptr %598, i64 8) ], !noalias !5425 call void @llvm.lifetime.start.p0(ptr nonnull %26), !noalias !5428 call void @llvm.lifetime.start.p0(ptr nonnull %25), !noalias !5428 call void @llvm.lifetime.start.p0(ptr nonnull %24), !noalias !5428 @@ -31485,6 +31511,7 @@ _ZN7tracing4span4Span8do_enter17hf08afab7205d280cE.exit304: ; preds = %.noexc303 br i1 %or.cond.i.i381, label %"_ZN4core3ptr43drop_in_place$LT$tracing..span..Entered$GT$17h08e9ee6425646d83E.exit385", label %687 687: ; preds = %.noexc383 + call void @llvm.assume(i1 true) [ "align"(ptr %685, i64 8) ], !noalias !5462 call void @llvm.lifetime.start.p0(ptr nonnull %17), !noalias !5465 call void @llvm.lifetime.start.p0(ptr nonnull %16), !noalias !5465 call void @llvm.lifetime.start.p0(ptr nonnull %15), !noalias !5465 @@ -31690,6 +31717,7 @@ _ZN7tracing4span4Span8do_enter17hf08afab7205d280cE.exit304: ; preds = %.noexc303 br i1 %or.cond.i.i404, label %.thread532, label %746 746: ; preds = %.noexc406 + call void @llvm.assume(i1 true) [ "align"(ptr %744, i64 8) ], !noalias !5493 call void @llvm.lifetime.start.p0(ptr nonnull %8), !noalias !5496 call void @llvm.lifetime.start.p0(ptr nonnull %7), !noalias !5496 call void @llvm.lifetime.start.p0(ptr nonnull %6), !noalias !5496 @@ -32174,6 +32202,7 @@ _ZN7tracing4span4Span8do_enter17hf08afab7205d280cE.exit: ; preds = %.noexc448, % br i1 %or.cond.i, label %_ZN7tracing4span4Span8do_enter17hf08afab7205d280cE.exit, label %172 172: ; preds = %.noexc448 + call void @llvm.assume(i1 true) [ "align"(ptr %170, i64 8) ] call void @llvm.lifetime.start.p0(ptr nonnull %37), !noalias !5549 call void @llvm.lifetime.start.p0(ptr nonnull %36), !noalias !5549 call void @llvm.lifetime.start.p0(ptr nonnull %35), !noalias !5549 @@ -34644,6 +34673,7 @@ select.unfold: ; preds = %385, %420 br i1 %or.cond.i.i, label %.sink.split, label %928 928: ; preds = %.noexc536 + call void @llvm.assume(i1 true) [ "align"(ptr %926, i64 8) ], !noalias !5925 call void @llvm.lifetime.start.p0(ptr nonnull %10), !noalias !5928 call void @llvm.lifetime.start.p0(ptr nonnull %9), !noalias !5928 call void @llvm.lifetime.start.p0(ptr nonnull %8), !noalias !5928 @@ -34996,6 +35026,7 @@ _ZN7tracing4span4Span8do_enter17hf08afab7205d280cE.exit: ; preds = %.noexc584, % br i1 %or.cond.i, label %_ZN7tracing4span4Span8do_enter17hf08afab7205d280cE.exit, label %179 179: ; preds = %.noexc584 + call void @llvm.assume(i1 true) [ "align"(ptr %177, i64 8) ] call void @llvm.lifetime.start.p0(ptr nonnull %42), !noalias !5929 call void @llvm.lifetime.start.p0(ptr nonnull %41), !noalias !5929 call void @llvm.lifetime.start.p0(ptr nonnull %40), !noalias !5929 @@ -37427,6 +37458,7 @@ _ZN7tracing4span4Span8do_enter17hf08afab7205d280cE.exit: ; preds = %.noexc584, % br i1 %or.cond.i.i, label %.thread953, label %789 789: ; preds = %.noexc674 + call void @llvm.assume(i1 true) [ "align"(ptr %787, i64 8) ], !noalias !6064 call void @llvm.lifetime.start.p0(ptr nonnull %15), !noalias !6067 call void @llvm.lifetime.start.p0(ptr nonnull %14), !noalias !6067 call void @llvm.lifetime.start.p0(ptr nonnull %13), !noalias !6067 @@ -39519,6 +39551,7 @@ _ZN7tracing4span4Span8do_enter17hf08afab7205d280cE.exit: ; preds = %.noexc114, % br i1 %or.cond.i, label %_ZN7tracing4span4Span8do_enter17hf08afab7205d280cE.exit, label %86 86: ; preds = %.noexc114 + call void @llvm.assume(i1 true) [ "align"(ptr %84, i64 8) ] call void @llvm.lifetime.start.p0(ptr nonnull %11), !noalias !6183 call void @llvm.lifetime.start.p0(ptr nonnull %10), !noalias !6183 call void @llvm.lifetime.start.p0(ptr nonnull %9), !noalias !6183 @@ -39804,6 +39837,7 @@ _ZN7tracing4span4Span8do_enter17hf08afab7205d280cE.exit: ; preds = %.noexc114, % br i1 %or.cond.i.i, label %.thread151, label %168 168: ; preds = %.noexc118 + call void @llvm.assume(i1 true) [ "align"(ptr %166, i64 8) ], !noalias !6189 call void @llvm.lifetime.start.p0(ptr nonnull %8), !noalias !6192 call void @llvm.lifetime.start.p0(ptr nonnull %7), !noalias !6192 call void @llvm.lifetime.start.p0(ptr nonnull %6), !noalias !6192 @@ -40103,6 +40137,7 @@ _ZN7tracing4span4Span8do_enter17hf08afab7205d280cE.exit: ; preds = %.noexc140, % br i1 %or.cond.i, label %_ZN7tracing4span4Span8do_enter17hf08afab7205d280cE.exit, label %81 81: ; preds = %.noexc140 + call void @llvm.assume(i1 true) [ "align"(ptr %79, i64 8) ] call void @llvm.lifetime.start.p0(ptr nonnull %15), !noalias !6193 call void @llvm.lifetime.start.p0(ptr nonnull %14), !noalias !6193 call void @llvm.lifetime.start.p0(ptr nonnull %13), !noalias !6193 @@ -40317,6 +40352,7 @@ _ZN7tracing4span4Span8do_enter17hf08afab7205d280cE.exit: ; preds = %.noexc140, % br i1 %or.cond.i.i, label %.sink.split, label %138 138: ; preds = %.noexc146 + call void @llvm.assume(i1 true) [ "align"(ptr %136, i64 8) ], !noalias !6203 call void @llvm.lifetime.start.p0(ptr nonnull %8), !noalias !6206 call void @llvm.lifetime.start.p0(ptr nonnull %7), !noalias !6206 call void @llvm.lifetime.start.p0(ptr nonnull %6), !noalias !6206 @@ -40425,6 +40461,7 @@ _ZN7tracing4span4Span8do_enter17hf08afab7205d280cE.exit: ; preds = %.noexc140, % br i1 %or.cond.i.i148, label %.sink.split, label %172 172: ; preds = %.noexc150 + call void @llvm.assume(i1 true) [ "align"(ptr %170, i64 8) ], !noalias !6210 call void @llvm.lifetime.start.p0(ptr nonnull %5), !noalias !6213 call void @llvm.lifetime.start.p0(ptr nonnull %4), !noalias !6213 call void @llvm.lifetime.start.p0(ptr nonnull %3), !noalias !6213 @@ -49902,6 +49939,7 @@ define hidden void @"_ZN70_$LT$T$u20$as$u20$actix_http..header..into_pair..TryIn call void @llvm.experimental.noalias.scope.decl(metadata !9708) call void @llvm.experimental.noalias.scope.decl(metadata !9711) call void @llvm.experimental.noalias.scope.decl(metadata !9714) + call void @llvm.assume(i1 true) [ "align"(ptr %45, i64 8) ] %48 = getelementptr inbounds nuw i8, ptr %45, i64 16 %49 = load ptr, ptr %48, align 8, !noalias !9717, !nonnull !11, !noundef !11 %50 = getelementptr inbounds nuw i8, ptr %10, i64 24 @@ -49949,6 +49987,7 @@ define hidden void @"_ZN70_$LT$T$u20$as$u20$actix_http..header..into_pair..TryIn call void @llvm.experimental.noalias.scope.decl(metadata !9728) call void @llvm.experimental.noalias.scope.decl(metadata !9731) call void @llvm.experimental.noalias.scope.decl(metadata !9734) + call void @llvm.assume(i1 true) [ "align"(ptr %62, i64 8) ] %65 = getelementptr inbounds nuw i8, ptr %62, i64 16 %66 = load ptr, ptr %65, align 8, !noalias !9737, !nonnull !11, !noundef !11 %67 = getelementptr inbounds nuw i8, ptr %10, i64 24 @@ -50039,6 +50078,7 @@ define hidden void @"_ZN70_$LT$T$u20$as$u20$actix_http..header..into_pair..TryIn call void @llvm.experimental.noalias.scope.decl(metadata !9758) call void @llvm.experimental.noalias.scope.decl(metadata !9761) call void @llvm.experimental.noalias.scope.decl(metadata !9764) + call void @llvm.assume(i1 true) [ "align"(ptr %17, i64 8) ] %20 = getelementptr inbounds nuw i8, ptr %17, i64 16 %21 = load ptr, ptr %20, align 8, !noalias !9767, !nonnull !11, !noundef !11 %22 = getelementptr inbounds nuw i8, ptr %5, i64 24 @@ -50085,6 +50125,7 @@ define hidden void @"_ZN70_$LT$T$u20$as$u20$actix_http..header..into_pair..TryIn call void @llvm.experimental.noalias.scope.decl(metadata !9778) call void @llvm.experimental.noalias.scope.decl(metadata !9781) call void @llvm.experimental.noalias.scope.decl(metadata !9784) + call void @llvm.assume(i1 true) [ "align"(ptr %34, i64 8) ] %37 = getelementptr inbounds nuw i8, ptr %34, i64 16 %38 = load ptr, ptr %37, align 8, !noalias !9787, !nonnull !11, !noundef !11 %39 = getelementptr inbounds nuw i8, ptr %5, i64 24 @@ -50437,6 +50478,7 @@ define internal fastcc void @_ZN7tracing4span4Span3log17he876007851fb4a46E(ptr n br i1 %12, label %17, label %switch.lookup switch.lookup: ; preds = %4 + call void @llvm.assume(i1 true) [ "align"(ptr %11, i64 8) ] %13 = load i64, ptr %11, align 8, !range !1782, !noundef !11 %switch.offset = sub nuw nsw i64 5, %13 %14 = load atomic i64, ptr @_ZN3log20MAX_LOG_LEVEL_FILTER17h766d3673b2199da0E monotonic, align 8 @@ -68835,6 +68877,7 @@ define internal fastcc noundef nonnull align 8 dereferenceable(96) ptr @_ZN9acti tail call void @llvm.experimental.noalias.scope.decl(metadata !20629) tail call void @llvm.experimental.noalias.scope.decl(metadata !20632) tail call void @llvm.experimental.noalias.scope.decl(metadata !20635) + call void @llvm.assume(i1 true) [ "align"(ptr %21, i64 8) ] %24 = getelementptr inbounds nuw i8, ptr %21, i64 16 %25 = load ptr, ptr %24, align 8, !noalias !20638, !nonnull !11, !noundef !11 %26 = getelementptr inbounds nuw i8, ptr %1, i64 24 diff --git a/bench/mini-lsm-rs/optimized/2j7sj03n10nloiwr.ll b/bench/mini-lsm-rs/optimized/2j7sj03n10nloiwr.ll index 10c64586089..6ed5c16d304 100644 --- a/bench/mini-lsm-rs/optimized/2j7sj03n10nloiwr.ll +++ b/bench/mini-lsm-rs/optimized/2j7sj03n10nloiwr.ll @@ -1647,6 +1647,7 @@ _ZN11parking_lot10raw_rwlock9RawRwLock20try_lock_shared_fast17h0a014631f851c40cE br label %19 19: ; preds = %_ZN11parking_lot10raw_rwlock9RawRwLock20try_lock_shared_fast17h0a014631f851c40cE.exit.thread, %_ZN11parking_lot10raw_rwlock9RawRwLock20try_lock_shared_fast17h0a014631f851c40cE.exit + call void @llvm.assume(i1 true) [ "align"(ptr %8, i64 8) ] %20 = getelementptr inbounds nuw i8, ptr %0, i64 624 %21 = load i64, ptr %20, align 8, !range !327, !noundef !4 %22 = icmp eq i64 %21, 3 @@ -3080,6 +3081,7 @@ _ZN13mini_lsm_mvcc11lsm_storage15LsmStorageInner4mvcc17h13204d47b54189c6E.exit: br label %"_ZN4core3ptr158drop_in_place$LT$lock_api..mutex..MutexGuard$LT$parking_lot..raw_mutex..RawMutex$C$alloc..vec..Vec$LT$mini_lsm_mvcc..lsm_storage..CompactionFilter$GT$$GT$$GT$17h4938d64e956509bcE.exit" "_ZN78_$LT$parking_lot..raw_mutex..RawMutex$u20$as$u20$lock_api..mutex..RawMutex$GT$4lock17hc8ec2492ec8cdf56E.exit": ; preds = %34, %42 + call void @llvm.assume(i1 true) [ "align"(ptr %39, i64 8) ] %46 = getelementptr inbounds nuw i8, ptr %38, i64 40 %47 = getelementptr inbounds nuw i8, ptr %38, i64 32 %48 = load ptr, ptr %47, align 8, !alias.scope !714, !noalias !717, !nonnull !4, !noundef !4 @@ -4261,6 +4263,7 @@ _ZN13mini_lsm_mvcc11lsm_storage15LsmStorageInner4mvcc17h13204d47b54189c6E.exit: br label %"_ZN4core3ptr158drop_in_place$LT$lock_api..mutex..MutexGuard$LT$parking_lot..raw_mutex..RawMutex$C$alloc..vec..Vec$LT$mini_lsm_mvcc..lsm_storage..CompactionFilter$GT$$GT$$GT$17h4938d64e956509bcE.exit" "_ZN78_$LT$parking_lot..raw_mutex..RawMutex$u20$as$u20$lock_api..mutex..RawMutex$GT$4lock17hc8ec2492ec8cdf56E.exit": ; preds = %34, %42 + call void @llvm.assume(i1 true) [ "align"(ptr %39, i64 8) ] %46 = getelementptr inbounds nuw i8, ptr %38, i64 40 %47 = getelementptr inbounds nuw i8, ptr %38, i64 32 %48 = load ptr, ptr %47, align 8, !alias.scope !914, !noalias !917, !nonnull !4, !noundef !4 @@ -5414,6 +5417,7 @@ _ZN13mini_lsm_mvcc11lsm_storage15LsmStorageInner4mvcc17h13204d47b54189c6E.exit: br label %"_ZN4core3ptr158drop_in_place$LT$lock_api..mutex..MutexGuard$LT$parking_lot..raw_mutex..RawMutex$C$alloc..vec..Vec$LT$mini_lsm_mvcc..lsm_storage..CompactionFilter$GT$$GT$$GT$17h4938d64e956509bcE.exit" "_ZN78_$LT$parking_lot..raw_mutex..RawMutex$u20$as$u20$lock_api..mutex..RawMutex$GT$4lock17hc8ec2492ec8cdf56E.exit": ; preds = %34, %42 + call void @llvm.assume(i1 true) [ "align"(ptr %39, i64 8) ] %46 = getelementptr inbounds nuw i8, ptr %38, i64 40 %47 = getelementptr inbounds nuw i8, ptr %38, i64 32 %48 = load ptr, ptr %47, align 8, !alias.scope !1106, !noalias !1109, !nonnull !4, !noundef !4 @@ -6454,6 +6458,7 @@ _ZN13mini_lsm_mvcc11lsm_storage15LsmStorageInner4mvcc17h13204d47b54189c6E.exit70 to label %"_ZN78_$LT$parking_lot..raw_mutex..RawMutex$u20$as$u20$lock_api..mutex..RawMutex$GT$4lock17hc8ec2492ec8cdf56E.llvm.3998950267652723875.exit.i" unwind label %.loopexit.split-lp "_ZN78_$LT$parking_lot..raw_mutex..RawMutex$u20$as$u20$lock_api..mutex..RawMutex$GT$4lock17hc8ec2492ec8cdf56E.llvm.3998950267652723875.exit.i": ; preds = %27, %.noexc72 + call void @llvm.assume(i1 true) [ "align"(ptr %24, i64 8) ] %29 = getelementptr inbounds nuw i8, ptr %19, i64 24 %30 = load i64, ptr %29, align 8, !noundef !4 %31 = invoke { i8, i8 } @_ZN4core4sync6atomic23atomic_compare_exchange17h8187c45ae2d3451aE.llvm.3998950267652723875(ptr noundef nonnull align 1 %24, i8 noundef 1, i8 noundef 0, i8 noundef 1, i8 noundef 0) @@ -6516,6 +6521,7 @@ _ZN13mini_lsm_mvcc11lsm_storage15LsmStorageInner4mvcc17h13204d47b54189c6E.exit78 to label %"_ZN78_$LT$parking_lot..raw_mutex..RawMutex$u20$as$u20$lock_api..mutex..RawMutex$GT$4lock17hc8ec2492ec8cdf56E.llvm.3998950267652723875.exit.i81" unwind label %.loopexit.split-lp "_ZN78_$LT$parking_lot..raw_mutex..RawMutex$u20$as$u20$lock_api..mutex..RawMutex$GT$4lock17hc8ec2492ec8cdf56E.llvm.3998950267652723875.exit.i81": ; preds = %54, %.noexc83 + call void @llvm.assume(i1 true) [ "align"(ptr %51, i64 8) ] %56 = getelementptr inbounds nuw i8, ptr %43, i64 24 store i64 %35, ptr %56, align 8 %57 = invoke { i8, i8 } @_ZN4core4sync6atomic23atomic_compare_exchange17h8187c45ae2d3451aE.llvm.3998950267652723875(ptr noundef nonnull align 1 %51, i8 noundef 1, i8 noundef 0, i8 noundef 1, i8 noundef 0) @@ -6619,6 +6625,7 @@ _ZN11parking_lot10raw_rwlock9RawRwLock20try_lock_shared_fast17h0a014631f851c40cE to label %"_ZN4core3ptr166drop_in_place$LT$lock_api..rwlock..RwLockReadGuard$LT$parking_lot..raw_rwlock..RawRwLock$C$alloc..sync..Arc$LT$mini_lsm_mvcc..lsm_storage..LsmStorageState$GT$$GT$$GT$17hd042973f6f3788c2E.exit" unwind label %125 90: ; preds = %_ZN11parking_lot10raw_rwlock9RawRwLock20try_lock_shared_fast17h0a014631f851c40cE.exit54, %_ZN11parking_lot10raw_rwlock9RawRwLock20try_lock_shared_fast17h0a014631f851c40cE.exit54.thread + call void @llvm.assume(i1 true) [ "align"(ptr %73, i64 8) ] %91 = getelementptr inbounds nuw i8, ptr %72, i64 24 %92 = load ptr, ptr %91, align 8, !nonnull !4, !noundef !4 %93 = getelementptr inbounds nuw i8, ptr %92, i64 88 @@ -6745,6 +6752,7 @@ _ZN11parking_lot10raw_rwlock9RawRwLock20try_lock_shared_fast17h0a014631f851c40cE to label %"_ZN4core3ptr166drop_in_place$LT$lock_api..rwlock..RwLockReadGuard$LT$parking_lot..raw_rwlock..RawRwLock$C$alloc..sync..Arc$LT$mini_lsm_mvcc..lsm_storage..LsmStorageState$GT$$GT$$GT$17hd042973f6f3788c2E.exit" unwind label %125 148: ; preds = %_ZN11parking_lot10raw_rwlock9RawRwLock20try_lock_shared_fast17h0a014631f851c40cE.exit, %_ZN11parking_lot10raw_rwlock9RawRwLock20try_lock_shared_fast17h0a014631f851c40cE.exit.thread + call void @llvm.assume(i1 true) [ "align"(ptr %131, i64 8) ] %149 = getelementptr inbounds nuw i8, ptr %130, i64 24 %150 = load ptr, ptr %149, align 8, !nonnull !4, !noundef !4 %151 = getelementptr inbounds nuw i8, ptr %150, i64 88 @@ -6889,6 +6897,7 @@ _ZN13mini_lsm_mvcc11lsm_storage15LsmStorageInner4mvcc17h13204d47b54189c6E.exit64 to label %"_ZN78_$LT$parking_lot..raw_mutex..RawMutex$u20$as$u20$lock_api..mutex..RawMutex$GT$4lock17hc8ec2492ec8cdf56E.llvm.3998950267652723875.exit.i" unwind label %.loopexit.split-lp "_ZN78_$LT$parking_lot..raw_mutex..RawMutex$u20$as$u20$lock_api..mutex..RawMutex$GT$4lock17hc8ec2492ec8cdf56E.llvm.3998950267652723875.exit.i": ; preds = %27, %.noexc66 + call void @llvm.assume(i1 true) [ "align"(ptr %24, i64 8) ] %29 = getelementptr inbounds nuw i8, ptr %19, i64 24 %30 = load i64, ptr %29, align 8, !noundef !4 %31 = invoke { i8, i8 } @_ZN4core4sync6atomic23atomic_compare_exchange17h8187c45ae2d3451aE.llvm.3998950267652723875(ptr noundef nonnull align 1 %24, i8 noundef 1, i8 noundef 0, i8 noundef 1, i8 noundef 0) @@ -6952,6 +6961,7 @@ _ZN13mini_lsm_mvcc11lsm_storage15LsmStorageInner4mvcc17h13204d47b54189c6E.exit72 to label %"_ZN78_$LT$parking_lot..raw_mutex..RawMutex$u20$as$u20$lock_api..mutex..RawMutex$GT$4lock17hc8ec2492ec8cdf56E.llvm.3998950267652723875.exit.i75" unwind label %.loopexit.split-lp "_ZN78_$LT$parking_lot..raw_mutex..RawMutex$u20$as$u20$lock_api..mutex..RawMutex$GT$4lock17hc8ec2492ec8cdf56E.llvm.3998950267652723875.exit.i75": ; preds = %57, %.noexc77 + call void @llvm.assume(i1 true) [ "align"(ptr %54, i64 8) ] %59 = getelementptr inbounds nuw i8, ptr %43, i64 24 store i64 %35, ptr %59, align 8 %60 = invoke { i8, i8 } @_ZN4core4sync6atomic23atomic_compare_exchange17h8187c45ae2d3451aE.llvm.3998950267652723875(ptr noundef nonnull align 1 %54, i8 noundef 1, i8 noundef 0, i8 noundef 1, i8 noundef 0) @@ -7057,6 +7067,7 @@ _ZN11parking_lot10raw_rwlock9RawRwLock20try_lock_shared_fast17h0a014631f851c40cE to label %"_ZN4core3ptr166drop_in_place$LT$lock_api..rwlock..RwLockReadGuard$LT$parking_lot..raw_rwlock..RawRwLock$C$alloc..sync..Arc$LT$mini_lsm_mvcc..lsm_storage..LsmStorageState$GT$$GT$$GT$17hd042973f6f3788c2E.exit" unwind label %131 96: ; preds = %_ZN11parking_lot10raw_rwlock9RawRwLock20try_lock_shared_fast17h0a014631f851c40cE.exit54, %_ZN11parking_lot10raw_rwlock9RawRwLock20try_lock_shared_fast17h0a014631f851c40cE.exit54.thread + call void @llvm.assume(i1 true) [ "align"(ptr %79, i64 8) ] %97 = getelementptr inbounds nuw i8, ptr %78, i64 24 %98 = load ptr, ptr %97, align 8, !nonnull !4, !noundef !4 %99 = getelementptr inbounds nuw i8, ptr %98, i64 88 @@ -7183,6 +7194,7 @@ _ZN11parking_lot10raw_rwlock9RawRwLock20try_lock_shared_fast17h0a014631f851c40cE to label %"_ZN4core3ptr166drop_in_place$LT$lock_api..rwlock..RwLockReadGuard$LT$parking_lot..raw_rwlock..RawRwLock$C$alloc..sync..Arc$LT$mini_lsm_mvcc..lsm_storage..LsmStorageState$GT$$GT$$GT$17hd042973f6f3788c2E.exit" unwind label %131 154: ; preds = %_ZN11parking_lot10raw_rwlock9RawRwLock20try_lock_shared_fast17h0a014631f851c40cE.exit, %_ZN11parking_lot10raw_rwlock9RawRwLock20try_lock_shared_fast17h0a014631f851c40cE.exit.thread + call void @llvm.assume(i1 true) [ "align"(ptr %137, i64 8) ] %155 = getelementptr inbounds nuw i8, ptr %136, i64 24 %156 = load ptr, ptr %155, align 8, !nonnull !4, !noundef !4 %157 = getelementptr inbounds nuw i8, ptr %156, i64 88 @@ -12394,6 +12406,7 @@ _ZN5alloc2rc10RcInnerPtr10inc_strong17h4d827484c953975fE.exit.i.i.i.i.i.i.i.i.i: to label %"_ZN78_$LT$parking_lot..raw_mutex..RawMutex$u20$as$u20$lock_api..mutex..RawMutex$GT$4lock17hc8ec2492ec8cdf56E.llvm.18053240611608392576.exit.i.i.i.i.i.i.i.i.i.i" unwind label %463, !noalias !2360 "_ZN78_$LT$parking_lot..raw_mutex..RawMutex$u20$as$u20$lock_api..mutex..RawMutex$GT$4lock17hc8ec2492ec8cdf56E.llvm.18053240611608392576.exit.i.i.i.i.i.i.i.i.i.i": ; preds = %447, %.noexc65.i.i.i.i.i.i.i.i.i + call void @llvm.assume(i1 true) [ "align"(ptr %444, i64 8) ] %449 = getelementptr inbounds nuw i8, ptr %.sroa.11.0.copyload.i.i.i.i.i.i.i.i.i, i64 32 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %449, i8 0, i64 16, i1 false), !noalias !2360 %450 = invoke { i8, i8 } @_ZN4core4sync6atomic23atomic_compare_exchange17h8187c45ae2d3451aE.llvm.18053240611608392576(ptr noundef nonnull align 1 %444, i8 noundef 1, i8 noundef 0, i8 noundef 1, i8 noundef 0) @@ -12597,6 +12610,7 @@ _ZN5alloc2rc10RcInnerPtr10inc_strong17h4d827484c953975fE.exit.i.i.i.i.i.i.i.i.i: to label %"_ZN78_$LT$parking_lot..raw_mutex..RawMutex$u20$as$u20$lock_api..mutex..RawMutex$GT$4lock17hc8ec2492ec8cdf56E.llvm.18053240611608392576.exit.i79.i.i.i.i.i.i.i.i.i" unwind label %533, !noalias !2360 "_ZN78_$LT$parking_lot..raw_mutex..RawMutex$u20$as$u20$lock_api..mutex..RawMutex$GT$4lock17hc8ec2492ec8cdf56E.llvm.18053240611608392576.exit.i79.i.i.i.i.i.i.i.i.i": ; preds = %525, %.noexc81.i.i.i.i.i.i.i.i.i + call void @llvm.assume(i1 true) [ "align"(ptr %522, i64 8) ] %527 = getelementptr inbounds nuw i8, ptr %.sroa.11.0.copyload.i.i.i.i.i.i.i.i.i, i64 32 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %527, i8 0, i64 16, i1 false), !noalias !2360 %528 = invoke { i8, i8 } @_ZN4core4sync6atomic23atomic_compare_exchange17h8187c45ae2d3451aE.llvm.18053240611608392576(ptr noundef nonnull align 1 %522, i8 noundef 1, i8 noundef 0, i8 noundef 1, i8 noundef 0) @@ -13389,6 +13403,7 @@ _ZN11parking_lot10raw_rwlock9RawRwLock20try_lock_shared_fast17h0a014631f851c40cE to label %773 unwind label %.loopexit.i.i.i.i.i, !noalias !2258 773: ; preds = %_ZN11parking_lot10raw_rwlock9RawRwLock20try_lock_shared_fast17h0a014631f851c40cE.exit.thread.i.i.i.i.i, %_ZN11parking_lot10raw_rwlock9RawRwLock20try_lock_shared_fast17h0a014631f851c40cE.exit.i.i.i.i.i + call void @llvm.assume(i1 true) [ "align"(ptr %762, i64 8) ] %774 = getelementptr inbounds nuw i8, ptr %761, i64 16 %775 = load i64, ptr %774, align 8, !range !5, !noalias !2258, !noundef !4 %trunc.i.i.i.i.i = trunc nuw i64 %775 to i1 diff --git a/bench/mini-lsm-rs/optimized/59xebgypolxascxr.ll b/bench/mini-lsm-rs/optimized/59xebgypolxascxr.ll index e1838b0296c..ec65d1eb788 100644 --- a/bench/mini-lsm-rs/optimized/59xebgypolxascxr.ll +++ b/bench/mini-lsm-rs/optimized/59xebgypolxascxr.ll @@ -5678,6 +5678,7 @@ define hidden noundef ptr @"_ZN4moka3cht3map16bucket_array_ref31BucketArrayRef$L %28 = icmp ne ptr %.val18, null call void @llvm.assume(i1 %28) %29 = getelementptr inbounds nuw i8, ptr %.val18, i64 8 + call void @llvm.assume(i1 true) [ "align"(ptr %.sroa.4.0.copyload, i64 8) ] %30 = load ptr, ptr %.sroa.4.0.copyload, align 8, !alias.scope !640, !noalias !643, !nonnull !14, !noundef !14 %31 = invoke noundef zeroext i1 %30(ptr noalias noundef nonnull readonly align 8 dereferenceable(8) %29) to label %.noexc21 unwind label %.thread.loopexit.split-lp @@ -6149,6 +6150,7 @@ define hidden noundef ptr @"_ZN4moka3cht3map16bucket_array_ref31BucketArrayRef$L %28 = icmp ne ptr %.val18, null call void @llvm.assume(i1 %28) %29 = getelementptr inbounds nuw i8, ptr %.val18, i64 8 + call void @llvm.assume(i1 true) [ "align"(ptr %.sroa.4.0.copyload, i64 8) ] %30 = load ptr, ptr %.sroa.4.0.copyload, align 8, !alias.scope !680, !noalias !683, !nonnull !14, !noundef !14 %31 = invoke noundef zeroext i1 %30(ptr noalias noundef nonnull readonly align 8 dereferenceable(8) %29) to label %.noexc21 unwind label %.thread.loopexit.split-lp @@ -8842,6 +8844,7 @@ _ZN11parking_lot10raw_rwlock9RawRwLock20try_lock_shared_fast17h0a014631f851c40cE br label %17 17: ; preds = %_ZN11parking_lot10raw_rwlock9RawRwLock20try_lock_shared_fast17h0a014631f851c40cE.exit.thread, %_ZN11parking_lot10raw_rwlock9RawRwLock20try_lock_shared_fast17h0a014631f851c40cE.exit + call void @llvm.assume(i1 true) [ "align"(ptr %7, i64 8) ] %18 = getelementptr inbounds nuw i8, ptr %0, i64 536 %19 = load ptr, ptr %18, align 8, !noundef !14 %.not = icmp eq ptr %19, null @@ -8906,6 +8909,7 @@ _ZN11parking_lot10raw_rwlock9RawRwLock20try_lock_shared_fast17h0a014631f851c40cE to label %.body unwind label %90 .noexc10: ; preds = %_ZN11parking_lot10raw_rwlock9RawRwLock20try_lock_shared_fast17h0a014631f851c40cE.exit.thread.i, %_ZN11parking_lot10raw_rwlock9RawRwLock20try_lock_shared_fast17h0a014631f851c40cE.exit.i + call void @llvm.assume(i1 true) [ "align"(ptr %31, i64 8) ] %47 = getelementptr inbounds nuw i8, ptr %0, i64 560 tail call void @llvm.experimental.noalias.scope.decl(metadata !986) %48 = load ptr, ptr %47, align 8, !alias.scope !986, !noalias !989, !nonnull !14, !noundef !14 @@ -9090,6 +9094,7 @@ _ZN11parking_lot10raw_rwlock9RawRwLock20try_lock_shared_fast17h0a014631f851c40cE br label %18 18: ; preds = %_ZN11parking_lot10raw_rwlock9RawRwLock20try_lock_shared_fast17h0a014631f851c40cE.exit.thread, %_ZN11parking_lot10raw_rwlock9RawRwLock20try_lock_shared_fast17h0a014631f851c40cE.exit + call void @llvm.assume(i1 true) [ "align"(ptr %8, i64 8) ] %19 = getelementptr inbounds nuw i8, ptr %0, i64 624 %20 = load i64, ptr %19, align 8, !range !226, !noundef !14 %21 = icmp eq i64 %20, 3 @@ -9927,6 +9932,7 @@ _ZN4moka3cht3map6bucket20defer_destroy_bucket17h6aa34676af3b2e79E.exit.i.i: ; pr to label %"_ZN78_$LT$parking_lot..raw_mutex..RawMutex$u20$as$u20$lock_api..mutex..RawMutex$GT$4lock17hc8ec2492ec8cdf56E.llvm.5937325364934216154.exit.i" unwind label %246 "_ZN78_$LT$parking_lot..raw_mutex..RawMutex$u20$as$u20$lock_api..mutex..RawMutex$GT$4lock17hc8ec2492ec8cdf56E.llvm.5937325364934216154.exit.i": ; preds = %230, %.noexc66 + call void @llvm.assume(i1 true) [ "align"(ptr %227, i64 8) ] %232 = getelementptr inbounds nuw i8, ptr %.sroa.11.0.copyload, i64 32 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %232, i8 0, i64 16, i1 false) %233 = invoke { i8, i8 } @_ZN4core4sync6atomic23atomic_compare_exchange17h4108cb4686f8015dE.llvm.5937325364934216154(ptr noundef nonnull align 1 %227, i8 noundef 1, i8 noundef 0, i8 noundef 1, i8 noundef 0) @@ -10133,6 +10139,7 @@ _ZN4moka3cht3map6bucket20defer_destroy_bucket17h6aa34676af3b2e79E.exit.i.i: ; pr to label %"_ZN78_$LT$parking_lot..raw_mutex..RawMutex$u20$as$u20$lock_api..mutex..RawMutex$GT$4lock17hc8ec2492ec8cdf56E.llvm.5937325364934216154.exit.i80" unwind label %318 "_ZN78_$LT$parking_lot..raw_mutex..RawMutex$u20$as$u20$lock_api..mutex..RawMutex$GT$4lock17hc8ec2492ec8cdf56E.llvm.5937325364934216154.exit.i80": ; preds = %310, %.noexc82 + call void @llvm.assume(i1 true) [ "align"(ptr %307, i64 8) ] %312 = getelementptr inbounds nuw i8, ptr %.sroa.11.0.copyload, i64 32 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %312, i8 0, i64 16, i1 false) %313 = invoke { i8, i8 } @_ZN4core4sync6atomic23atomic_compare_exchange17h4108cb4686f8015dE.llvm.5937325364934216154(ptr noundef nonnull align 1 %307, i8 noundef 1, i8 noundef 0, i8 noundef 1, i8 noundef 0) diff --git a/bench/quiche-rs/optimized/06b42xxedqi52uuzk83asr46k.ll b/bench/quiche-rs/optimized/06b42xxedqi52uuzk83asr46k.ll index 0f41def0f85..e636f5dfb5d 100644 --- a/bench/quiche-rs/optimized/06b42xxedqi52uuzk83asr46k.ll +++ b/bench/quiche-rs/optimized/06b42xxedqi52uuzk83asr46k.ll @@ -587,14 +587,15 @@ define hidden { ptr, ptr } @"_ZN5alloc11collections5btree8navigate35LeafRange$LT resume { ptr, i32 } %27 _ZN5alloc11collections5btree3mem7replace17h26e994e4aef7eacaE.exit: ; preds = %.noexc1.i + %31 = extractvalue { ptr, ptr } %24, 0 call void @llvm.lifetime.end.p0(ptr nonnull %4), !noalias !34 call void @llvm.lifetime.end.p0(ptr nonnull %.sroa.3.i.i) call void @llvm.lifetime.end.p0(ptr nonnull %6), !noalias !31 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %8, ptr noundef nonnull align 8 dereferenceable(24) %7, i64 24, i1 false), !noalias !31 + call void @llvm.assume(i1 true) [ "align"(ptr %31, i64 8) ] call void @llvm.lifetime.end.p0(ptr nonnull %7), !noalias !31 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %0, ptr noundef nonnull align 8 dereferenceable(24) %8, i64 24, i1 false) call void @llvm.lifetime.end.p0(ptr nonnull %8) - %31 = extractvalue { ptr, ptr } %24, 0 %32 = extractvalue { ptr, ptr } %24, 1 br label %34 @@ -705,14 +706,15 @@ define hidden { ptr, ptr } @"_ZN5alloc11collections5btree8navigate35LeafRange$LT resume { ptr, i32 } %27 _ZN5alloc11collections5btree3mem7replace17h17615150a3d38638E.exit: ; preds = %.noexc1.i + %31 = extractvalue { ptr, ptr } %24, 0 call void @llvm.lifetime.end.p0(ptr nonnull %4), !noalias !48 call void @llvm.lifetime.end.p0(ptr nonnull %.sroa.3.i.i) call void @llvm.lifetime.end.p0(ptr nonnull %6), !noalias !45 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %8, ptr noundef nonnull align 8 dereferenceable(24) %7, i64 24, i1 false), !noalias !45 + call void @llvm.assume(i1 true) [ "align"(ptr %31, i64 8) ] call void @llvm.lifetime.end.p0(ptr nonnull %7), !noalias !45 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %10, ptr noundef nonnull align 8 dereferenceable(24) %8, i64 24, i1 false) call void @llvm.lifetime.end.p0(ptr nonnull %8) - %31 = extractvalue { ptr, ptr } %24, 0 %32 = extractvalue { ptr, ptr } %24, 1 br label %34 @@ -9245,14 +9247,15 @@ _ZN6quiche6stream8recv_buf7RecvBuf8max_data17h9df9b38f22cee639E.exit: ; preds = unreachable 160: ; preds = %.noexc1.i.i + %161 = extractvalue { ptr, ptr } %154, 0 call void @llvm.lifetime.end.p0(ptr nonnull %5), !noalias !383 call void @llvm.lifetime.end.p0(ptr nonnull %.sroa.3.i.i.i) call void @llvm.lifetime.end.p0(ptr nonnull %7), !noalias !378 %.sroa.041.0.copyload = load ptr, ptr %8, align 8, !noalias !378 %.sroa.4.0.copyload = load i64, ptr %.sroa.4.0..sroa_idx, align 8, !noalias !378 %.sroa.5.0.copyload = load i64, ptr %.sroa.5.0..sroa_idx, align 8, !noalias !378 + call void @llvm.assume(i1 true) [ "align"(ptr %161, i64 8) ] call void @llvm.lifetime.end.p0(ptr nonnull %8), !noalias !378 - %161 = extractvalue { ptr, ptr } %154, 0 %162 = extractvalue { ptr, ptr } %154, 1 %.not16 = icmp eq ptr %161, null br i1 %.not16, label %.thread67, label %163 diff --git a/bench/quinn-rs/optimized/7i3tllkclkw46e2nqel8doaek.ll b/bench/quinn-rs/optimized/7i3tllkclkw46e2nqel8doaek.ll index 66c376a8707..b5aa59598dc 100644 --- a/bench/quinn-rs/optimized/7i3tllkclkw46e2nqel8doaek.ll +++ b/bench/quinn-rs/optimized/7i3tllkclkw46e2nqel8doaek.ll @@ -617,13 +617,20 @@ define hidden { ptr, ptr } @"_ZN9hashbrown3map28HashMap$LT$K$C$V$C$S$C$A$GT$6rem %6 = getelementptr inbounds nuw i8, ptr %3, i64 8 %7 = load ptr, ptr %6, align 8, !noundef !6 %.not = icmp eq ptr %7, null - %8 = getelementptr inbounds nuw i8, ptr %3, i64 16 - %9 = load ptr, ptr %8, align 8 - %.sroa.3.0 = select i1 %.not, ptr undef, ptr %9 + br i1 %.not, label %11, label %8 + +8: ; preds = %2 + call void @llvm.assume(i1 true) [ "align"(ptr %7, i64 8) ] + %9 = getelementptr inbounds nuw i8, ptr %3, i64 16 + %10 = load ptr, ptr %9, align 8, !noundef !6 + br label %11 + +11: ; preds = %2, %8 + %.sroa.3.0 = phi ptr [ %10, %8 ], [ undef, %2 ] call void @llvm.lifetime.end.p0(ptr nonnull %3) - %10 = insertvalue { ptr, ptr } poison, ptr %7, 0 - %11 = insertvalue { ptr, ptr } %10, ptr %.sroa.3.0, 1 - ret { ptr, ptr } %11 + %12 = insertvalue { ptr, ptr } poison, ptr %7, 0 + %13 = insertvalue { ptr, ptr } %12, ptr %.sroa.3.0, 1 + ret { ptr, ptr } %13 } ; Function Attrs: nonlazybind uwtable diff --git a/bench/quinn-rs/optimized/7yqfzisqbnqsiwjrqtgcfuc30.ll b/bench/quinn-rs/optimized/7yqfzisqbnqsiwjrqtgcfuc30.ll index 923fc7130f4..6a54c8126a2 100644 --- a/bench/quinn-rs/optimized/7yqfzisqbnqsiwjrqtgcfuc30.ll +++ b/bench/quinn-rs/optimized/7yqfzisqbnqsiwjrqtgcfuc30.ll @@ -660,7 +660,7 @@ define void @_ZN5quinn8endpoint8Endpoint6client17hd7f173d113dfcf18E(ptr dead_on_ %161 = load ptr, ptr %4, align 8, !noundef !3 %162 = icmp eq ptr %161, null %163 = getelementptr inbounds nuw i8, ptr %4, i64 8 - %164 = load ptr, ptr %163, align 8, !nonnull !3 + %164 = load ptr, ptr %163, align 8, !nonnull !3, !align !7 call void @llvm.lifetime.end.p0(ptr nonnull %4) br i1 %162, label %165, label %170 @@ -3201,6 +3201,7 @@ define void @_ZN5quinn8endpoint8Endpoint5close17hce3ebc56e3e1fe20E(ptr noalias n call void @llvm.experimental.noalias.scope.decl(metadata !303) call void @llvm.experimental.noalias.scope.decl(metadata !306) call void @llvm.experimental.noalias.scope.decl(metadata !309) + call void @llvm.assume(i1 true) [ "align"(ptr %57, i64 8) ] %60 = getelementptr inbounds nuw i8, ptr %57, i64 32 %61 = load ptr, ptr %60, align 8, !noalias !312, !nonnull !3, !noundef !3 %62 = getelementptr inbounds nuw i8, ptr %42, i64 184 @@ -4950,6 +4951,7 @@ define internal fastcc void @_ZN5quinn8endpoint13ConnectionSet6insert17h45bb15e9 call void @llvm.lifetime.start.p0(ptr nonnull %14) call void @llvm.lifetime.start.p0(ptr nonnull %13) call void @llvm.lifetime.start.p0(ptr nonnull %12) + call void @llvm.assume(i1 true) [ "align"(ptr %27, i64 8) ] %31 = load ptr, ptr %27, align 8, !nonnull !3, !noundef !3 %32 = getelementptr inbounds nuw i8, ptr %1, i64 72 %33 = getelementptr inbounds nuw i8, ptr %1, i64 56 diff --git a/bench/quinn-rs/optimized/em94uyxz0wp9gccfab963606p.ll b/bench/quinn-rs/optimized/em94uyxz0wp9gccfab963606p.ll index 56664d1a1e0..250f00f3369 100644 --- a/bench/quinn-rs/optimized/em94uyxz0wp9gccfab963606p.ll +++ b/bench/quinn-rs/optimized/em94uyxz0wp9gccfab963606p.ll @@ -1340,14 +1340,15 @@ define hidden { ptr, ptr } @"_ZN5alloc11collections5btree8navigate35LeafRange$LT resume { ptr, i32 } %27 _ZN5alloc11collections5btree3mem7replace17hf5bbf358cf2ce1c3E.exit: ; preds = %.noexc1.i + %31 = extractvalue { ptr, ptr } %24, 0 call void @llvm.lifetime.end.p0(ptr nonnull %4), !noalias !162 call void @llvm.lifetime.end.p0(ptr nonnull %.sroa.3.i.i) call void @llvm.lifetime.end.p0(ptr nonnull %6), !noalias !159 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %8, ptr noundef nonnull align 8 dereferenceable(24) %7, i64 24, i1 false), !noalias !159 + call void @llvm.assume(i1 true) [ "align"(ptr %31, i64 8) ] call void @llvm.lifetime.end.p0(ptr nonnull %7), !noalias !159 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %0, ptr noundef nonnull align 8 dereferenceable(24) %8, i64 24, i1 false) call void @llvm.lifetime.end.p0(ptr nonnull %8) - %31 = extractvalue { ptr, ptr } %24, 0 %32 = extractvalue { ptr, ptr } %24, 1 br label %34 @@ -1454,14 +1455,15 @@ define hidden { ptr, ptr } @"_ZN5alloc11collections5btree8navigate35LeafRange$LT resume { ptr, i32 } %27 _ZN5alloc11collections5btree3mem7replace17h54f0e5b52e56bd01E.exit: ; preds = %.noexc1.i + %31 = extractvalue { ptr, ptr } %24, 0 call void @llvm.lifetime.end.p0(ptr nonnull %4), !noalias !175 call void @llvm.lifetime.end.p0(ptr nonnull %.sroa.3.i.i) call void @llvm.lifetime.end.p0(ptr nonnull %6), !noalias !172 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %8, ptr noundef nonnull align 8 dereferenceable(24) %7, i64 24, i1 false), !noalias !172 + call void @llvm.assume(i1 true) [ "align"(ptr %31, i64 8) ] call void @llvm.lifetime.end.p0(ptr nonnull %7), !noalias !172 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %0, ptr noundef nonnull align 8 dereferenceable(24) %8, i64 24, i1 false) call void @llvm.lifetime.end.p0(ptr nonnull %8) - %31 = extractvalue { ptr, ptr } %24, 0 %32 = extractvalue { ptr, ptr } %24, 1 br label %34 @@ -1572,14 +1574,15 @@ define hidden { ptr, ptr } @"_ZN5alloc11collections5btree8navigate35LeafRange$LT resume { ptr, i32 } %27 _ZN5alloc11collections5btree3mem7replace17hc58ac6ee455dc1f8E.exit: ; preds = %.noexc1.i + %31 = extractvalue { ptr, ptr } %24, 0 call void @llvm.lifetime.end.p0(ptr nonnull %4), !noalias !189 call void @llvm.lifetime.end.p0(ptr nonnull %.sroa.3.i.i) call void @llvm.lifetime.end.p0(ptr nonnull %6), !noalias !186 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %8, ptr noundef nonnull align 8 dereferenceable(24) %7, i64 24, i1 false), !noalias !186 + call void @llvm.assume(i1 true) [ "align"(ptr %31, i64 8) ] call void @llvm.lifetime.end.p0(ptr nonnull %7), !noalias !186 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %10, ptr noundef nonnull align 8 dereferenceable(24) %8, i64 24, i1 false) call void @llvm.lifetime.end.p0(ptr nonnull %8) - %31 = extractvalue { ptr, ptr } %24, 0 %32 = extractvalue { ptr, ptr } %24, 1 br label %34 @@ -5586,6 +5589,7 @@ define hidden void @_ZN11quinn_proto10connection11send_buffer10SendBuffer3ack17h 66: ; preds = %62 call void @llvm.experimental.noalias.scope.decl(metadata !705) call void @llvm.experimental.noalias.scope.decl(metadata !708) + call void @llvm.assume(i1 true) [ "align"(ptr %64, i64 8) ] %67 = getelementptr inbounds nuw i8, ptr %64, i64 32 %68 = load ptr, ptr %67, align 8, !noalias !711, !nonnull !3, !noundef !3 %69 = load ptr, ptr %27, align 8, !alias.scope !711, !noundef !3 diff --git a/bench/quinn-rs/optimized/ey4dcuzpw4qgb9sgokuatlt89.ll b/bench/quinn-rs/optimized/ey4dcuzpw4qgb9sgokuatlt89.ll index 98f90de3ebb..6fb550cfae7 100644 --- a/bench/quinn-rs/optimized/ey4dcuzpw4qgb9sgokuatlt89.ll +++ b/bench/quinn-rs/optimized/ey4dcuzpw4qgb9sgokuatlt89.ll @@ -578,14 +578,16 @@ define hidden { ptr, ptr } @"_ZN108_$LT$alloc..collections..btree..map..Iter$LT$ resume { ptr, i32 } %25 _ZN5alloc11collections5btree3mem7replace17hcbc8c7fa450826a1E.exit: ; preds = %.noexc1.i + %29 = extractvalue { ptr, ptr } %22, 0 + %30 = extractvalue { ptr, ptr } %22, 1 call void @llvm.lifetime.end.p0(ptr nonnull %5), !noalias !209 call void @llvm.lifetime.end.p0(ptr nonnull %6), !noalias !209 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %8, ptr noundef nonnull align 8 dereferenceable(24) %7, i64 24, i1 false), !noalias !209 + call void @llvm.assume(i1 true) [ "align"(ptr %29, i64 8) ] + call void @llvm.assume(i1 true) [ "align"(ptr %30, i64 8) ] call void @llvm.lifetime.end.p0(ptr nonnull %7), !noalias !209 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %14, ptr noundef nonnull align 8 dereferenceable(24) %8, i64 24, i1 false) call void @llvm.lifetime.end.p0(ptr nonnull %8) - %29 = extractvalue { ptr, ptr } %22, 0 - %30 = extractvalue { ptr, ptr } %22, 1 br label %15 31: ; preds = %12 @@ -773,14 +775,16 @@ define hidden { ptr, ptr } @"_ZN123_$LT$alloc..collections..btree..map..Iter$LT$ resume { ptr, i32 } %25 _ZN5alloc11collections5btree3mem7replace17ha0abb5e61f65667cE.exit: ; preds = %.noexc1.i + %29 = extractvalue { ptr, ptr } %22, 0 + %30 = extractvalue { ptr, ptr } %22, 1 call void @llvm.lifetime.end.p0(ptr nonnull %5), !noalias !231 call void @llvm.lifetime.end.p0(ptr nonnull %6), !noalias !231 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %8, ptr noundef nonnull align 8 dereferenceable(24) %7, i64 24, i1 false), !noalias !231 + call void @llvm.assume(i1 true) [ "align"(ptr %29, i64 8) ] + call void @llvm.assume(i1 true) [ "align"(ptr %30, i64 8) ] call void @llvm.lifetime.end.p0(ptr nonnull %7), !noalias !231 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %14, ptr noundef nonnull align 8 dereferenceable(24) %8, i64 24, i1 false) call void @llvm.lifetime.end.p0(ptr nonnull %8) - %29 = extractvalue { ptr, ptr } %22, 0 - %30 = extractvalue { ptr, ptr } %22, 1 br label %15 31: ; preds = %12 @@ -5132,13 +5136,14 @@ define hidden noundef zeroext i1 @"_ZN94_$LT$alloc..collections..btree..map..BTr unreachable "_ZN108_$LT$alloc..collections..btree..map..Iter$LT$K$C$V$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17hb7c1b29b819ebefaE.exit.i": ; preds = %.noexc1.i.i.i + %35 = extractvalue { ptr, ptr } %28, 0 call void @llvm.lifetime.end.p0(ptr nonnull %6), !noalias !708 call void @llvm.lifetime.end.p0(ptr nonnull %7), !noalias !708 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %9, ptr noundef nonnull align 8 dereferenceable(24) %8, i64 24, i1 false), !noalias !708 + call void @llvm.assume(i1 true) [ "align"(ptr %35, i64 8) ] call void @llvm.lifetime.end.p0(ptr nonnull %8), !noalias !708 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %23, ptr noundef nonnull align 8 dereferenceable(24) %9, i64 24, i1 false), !noalias !707 call void @llvm.lifetime.end.p0(ptr nonnull %9) - %35 = extractvalue { ptr, ptr } %28, 0 %.not.i = icmp eq ptr %35, null br i1 %.not.i, label %_ZN4core3fmt8builders8DebugMap7entries17he0a05797f8d27a5bE.exit, label %36 diff --git a/bench/regex-rs/optimized/3ixfkxlmcuecmmus.ll b/bench/regex-rs/optimized/3ixfkxlmcuecmmus.ll index 83c324e2161..2a14292d6a0 100644 --- a/bench/regex-rs/optimized/3ixfkxlmcuecmmus.ll +++ b/bench/regex-rs/optimized/3ixfkxlmcuecmmus.ll @@ -1800,12 +1800,13 @@ define void @_ZN14regex_automata4meta8strategy3new17h42779e947a72af4fE(ptr noali br label %154 154: ; preds = %191, %151 + %.sink736 = phi ptr [ %.sroa.831.0.i, %151 ], [ %192, %191 ] %.sink734 = phi ptr [ %.sroa.030.0.i, %151 ], [ %193, %191 ] - %.sink = phi ptr [ %.sroa.831.0.i, %151 ], [ %192, %191 ] + call void @llvm.assume(i1 true) [ "align"(ptr %.sink736, i64 8) ] %155 = getelementptr inbounds nuw i8, ptr %0, i64 8 store ptr %.sink734, ptr %155, align 8 %156 = getelementptr inbounds nuw i8, ptr %0, i64 16 - store ptr %.sink, ptr %156, align 8 + store ptr %.sink736, ptr %156, align 8 store i64 -9223372036854775806, ptr %0, align 8 call void @llvm.experimental.noalias.scope.decl(metadata !290) call void @llvm.experimental.noalias.scope.decl(metadata !293) @@ -2027,10 +2028,10 @@ common.resume: ; preds = %.body, %213, %.body unreachable 224: ; preds = %"_ZN68_$LT$alloc..sync..Arc$LT$T$C$A$GT$$u20$as$u20$core..clone..Clone$GT$5clone17h052fc83196357305E.exit", %430 - %.sink736 = phi i8 [ %432, %430 ], [ 2, %"_ZN68_$LT$alloc..sync..Arc$LT$T$C$A$GT$$u20$as$u20$core..clone..Clone$GT$5clone17h052fc83196357305E.exit" ] + %.sink737 = phi i8 [ %432, %430 ], [ 2, %"_ZN68_$LT$alloc..sync..Arc$LT$T$C$A$GT$$u20$as$u20$core..clone..Clone$GT$5clone17h052fc83196357305E.exit" ] %.val101.i = phi ptr [ %.val, %430 ], [ undef, %"_ZN68_$LT$alloc..sync..Arc$LT$T$C$A$GT$$u20$as$u20$core..clone..Clone$GT$5clone17h052fc83196357305E.exit" ] %.sroa.551.0..sroa_idx = getelementptr inbounds nuw i8, ptr %60, i64 16 - store i8 %.sink736, ptr %.sroa.551.0..sroa_idx, align 8 + store i8 %.sink737, ptr %.sroa.551.0..sroa_idx, align 8 call void @llvm.experimental.noalias.scope.decl(metadata !329) call void @llvm.experimental.noalias.scope.decl(metadata !332) call void @llvm.lifetime.start.p0(ptr nonnull %.sroa.5227.i.sroa.4) @@ -2179,7 +2180,7 @@ common.resume: ; preds = %.body, %213, %.body call void @llvm.lifetime.start.p0(ptr nonnull %42), !noalias !334 call void @llvm.lifetime.start.p0(ptr nonnull %.sroa.5199.i.sroa.6) call void @llvm.lifetime.start.p0(ptr nonnull %41), !noalias !334 - %276 = icmp eq i8 %.sink736, 2 + %276 = icmp eq i8 %.sink737, 2 br i1 %276, label %282, label %277 277: ; preds = %275 @@ -2195,7 +2196,7 @@ common.resume: ; preds = %.body, %213, %.body 282: ; preds = %286, %275 %.sroa.548.0..sroa_idx.i = getelementptr inbounds nuw i8, ptr %41, i64 16 - store i8 %.sink736, ptr %.sroa.548.0..sroa_idx.i, align 8, !noalias !334 + store i8 %.sink737, ptr %.sroa.548.0..sroa_idx.i, align 8, !noalias !334 call void @llvm.lifetime.start.p0(ptr nonnull %31), !noalias !393 invoke void @_ZN14regex_automata4meta8wrappers12PikeVMEngine3new17h0ec05a79dbc58bbcE.llvm.4719928553755522418(ptr noalias noundef nonnull sret({ i64, [16 x i64] }) align 8 captures(none) dereferenceable(136) %31, ptr noalias noundef nonnull readonly align 8 dereferenceable(8) %47, ptr noalias noundef nonnull align 8 captures(none) dereferenceable(24) %41, ptr noalias noundef nonnull readonly align 8 dereferenceable(8) %46) to label %.noexc109.i unwind label %273, !noalias !364 @@ -2260,7 +2261,7 @@ common.resume: ; preds = %.body, %213, %.body 295: ; preds = %301, %288 %.sroa.556.0..sroa_idx.i = getelementptr inbounds nuw i8, ptr %39, i64 16 - store i8 %.sink736, ptr %.sroa.556.0..sroa_idx.i, align 8, !noalias !334 + store i8 %.sink737, ptr %.sroa.556.0..sroa_idx.i, align 8, !noalias !334 call void @llvm.lifetime.start.p0(ptr nonnull %30), !noalias !408 invoke void @_ZN14regex_automata4meta8wrappers24BoundedBacktrackerEngine3new17head97d988185b6e7E.llvm.4719928553755522418(ptr noalias noundef nonnull sret({ i64, [16 x i64] }) align 8 captures(none) dereferenceable(136) %30, ptr noalias noundef nonnull readonly align 8 dereferenceable(8) %47, ptr noalias noundef nonnull align 8 captures(none) dereferenceable(24) %39, ptr noalias noundef nonnull readonly align 8 dereferenceable(8) %46) to label %.noexc111.i unwind label %299, !noalias !364 @@ -2482,7 +2483,7 @@ common.resume: ; preds = %.body, %213, %.body 349: ; preds = %350, %343 %.sroa.582.0..sroa_idx.i = getelementptr inbounds nuw i8, ptr %33, i64 16 - store i8 %.sink736, ptr %.sroa.582.0..sroa_idx.i, align 8, !noalias !334 + store i8 %.sink737, ptr %.sroa.582.0..sroa_idx.i, align 8, !noalias !334 call void @llvm.lifetime.start.p0(ptr nonnull %27), !noalias !471 invoke void @_ZN14regex_automata4meta8wrappers12HybridEngine3new17ha963b013f0666278E.llvm.4719928553755522418(ptr noalias noundef nonnull sret({ i64, [171 x i64] }) align 8 captures(none) dereferenceable(1376) %27, ptr noalias noundef nonnull readonly align 8 dereferenceable(8) %47, ptr noalias noundef nonnull align 8 captures(none) dereferenceable(24) %33, ptr noalias noundef nonnull readonly align 8 dereferenceable(8) %46, ptr noalias noundef nonnull readonly align 8 dereferenceable(8) %37) to label %352 unwind label %331, !noalias !364 diff --git a/bench/regex-rs/optimized/476ym8x7jfk1k219.ll b/bench/regex-rs/optimized/476ym8x7jfk1k219.ll index e16a55f285e..63430faef16 100644 --- a/bench/regex-rs/optimized/476ym8x7jfk1k219.ll +++ b/bench/regex-rs/optimized/476ym8x7jfk1k219.ll @@ -200,7 +200,7 @@ _ZN4core5slice6memchr12memchr_naive17h481c51c45c886aadE.exit.i.i.i.i.i: ; preds br i1 %73, label %77, label %67 .split56.us.i.i.i.i.i: ; preds = %39 - tail call void @_ZN4core5slice5index24slice_end_index_len_fail17h9163fa4abd3ca1acE(i64 noundef %19, i64 noundef 4, ptr noalias noundef readonly align 8 dereferenceable(24) @anon.f8d462140019c34e51218bf541eaaefd.36) #10, !noalias !39 + tail call void @_ZN4core5slice5index24slice_end_index_len_fail17h9163fa4abd3ca1acE(i64 noundef %19, i64 noundef 4, ptr noalias noundef readonly align 8 dereferenceable(24) @anon.f8d462140019c34e51218bf541eaaefd.36) #11, !noalias !39 unreachable "_ZN4core3str4iter22SplitInternal$LT$P$GT$7get_end17h8d1a95cd9d435c55E.exit.i.i.i.i": ; preds = %67, %43, %.split.us.i.i.i.i.i, %13 @@ -475,7 +475,7 @@ define hidden noundef zeroext i1 @"_ZN78_$LT$regex_syntax..error..Formatter$LT$E .body: ; preds = %63, %50, %118, %73, %70 %.pn63 = phi { ptr, i32 } [ %.pn61, %118 ], [ %74, %73 ], [ %71, %70 ], [ %51, %50 ], [ %64, %63 ] - invoke void @"_ZN4core3ptr47drop_in_place$LT$regex_syntax..error..Spans$GT$17h0473787552717e0bE"(ptr noalias noundef nonnull align 8 dereferenceable(72) %37) #11 + invoke void @"_ZN4core3ptr47drop_in_place$LT$regex_syntax..error..Spans$GT$17h0473787552717e0bE"(ptr noalias noundef nonnull align 8 dereferenceable(72) %37) #12 to label %234 unwind label %110 50: ; preds = %228, %225, %104, %101, %95, %92, %42, %189, %68, %"_ZN52_$LT$char$u20$as$u20$core..str..pattern..Pattern$GT$15is_contained_in17h8051ba57ca4818d5E.exit.thread" @@ -542,13 +542,13 @@ define hidden noundef zeroext i1 @"_ZN78_$LT$regex_syntax..error..Formatter$LT$E 63: ; preds = %"_ZN5alloc3vec16Vec$LT$T$C$A$GT$7reserve17h9059ae08f57066baE.exit.i.i.i", %60, %"_ZN52_$LT$char$u20$as$u20$core..str..pattern..Pattern$GT$15is_contained_in17h8051ba57ca4818d5E.exit.thread104" %64 = landingpad { ptr, i32 } cleanup - invoke void @"_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17hcccdbadb9bd6e4e3E"(ptr noalias noundef nonnull align 8 dereferenceable(24) %10) #11 + invoke void @"_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17hcccdbadb9bd6e4e3E"(ptr noalias noundef nonnull align 8 dereferenceable(24) %10) #12 to label %.body unwind label %65, !noalias !84 65: ; preds = %63 %66 = landingpad { ptr, i32 } filter [0 x ptr] zeroinitializer - call void @_ZN4core9panicking16panic_in_cleanup17h55eb1d85cadde1a1E() #12, !noalias !84 + call void @_ZN4core9panicking16panic_in_cleanup17h55eb1d85cadde1a1E() #13, !noalias !84 unreachable 67: ; preds = %"_ZN52_$LT$char$u20$as$u20$core..str..pattern..Pattern$GT$15is_contained_in17h8051ba57ca4818d5E.exit.thread" @@ -568,7 +568,7 @@ define hidden noundef zeroext i1 @"_ZN78_$LT$regex_syntax..error..Formatter$LT$E 70: ; preds = %69 %71 = landingpad { ptr, i32 } cleanup - invoke void @"_ZN4core3ptr47drop_in_place$LT$regex_syntax..error..Spans$GT$17h0473787552717e0bE"(ptr noalias noundef nonnull align 8 dereferenceable(72) %16) #11 + invoke void @"_ZN4core3ptr47drop_in_place$LT$regex_syntax..error..Spans$GT$17h0473787552717e0bE"(ptr noalias noundef nonnull align 8 dereferenceable(72) %16) #12 to label %.body unwind label %110 72: ; preds = %69 @@ -578,7 +578,7 @@ define hidden noundef zeroext i1 @"_ZN78_$LT$regex_syntax..error..Formatter$LT$E 73: ; preds = %83, %75, %72 %74 = landingpad { ptr, i32 } cleanup - invoke void @"_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17hcccdbadb9bd6e4e3E"(ptr noalias noundef nonnull align 8 dereferenceable(24) %17) #11 + invoke void @"_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17hcccdbadb9bd6e4e3E"(ptr noalias noundef nonnull align 8 dereferenceable(24) %17) #12 to label %.body unwind label %110 75: ; preds = %72 @@ -680,7 +680,7 @@ define hidden noundef zeroext i1 @"_ZN78_$LT$regex_syntax..error..Formatter$LT$E 110: ; preds = %165, %.body95, %131, %118, %73, %70, %.body %111 = landingpad { ptr, i32 } filter [0 x ptr] zeroinitializer - call void @_ZN4core9panicking16panic_in_cleanup17h55eb1d85cadde1a1E() #12 + call void @_ZN4core9panicking16panic_in_cleanup17h55eb1d85cadde1a1E() #13 unreachable 112: ; preds = %"_ZN5alloc3vec16Vec$LT$T$C$A$GT$7reserve17h9059ae08f57066baE.exit.i.i.i" @@ -702,7 +702,7 @@ define hidden noundef zeroext i1 @"_ZN78_$LT$regex_syntax..error..Formatter$LT$E 118: ; preds = %131, %119 %.pn61 = phi { ptr, i32 } [ %120, %119 ], [ %.pn59, %131 ] - invoke void @"_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17hcccdbadb9bd6e4e3E"(ptr noalias noundef nonnull align 8 dereferenceable(24) %36) #11 + invoke void @"_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17hcccdbadb9bd6e4e3E"(ptr noalias noundef nonnull align 8 dereferenceable(24) %36) #12 to label %.body unwind label %110 119: ; preds = %195, %192, %188, %130, %122, %112 @@ -744,7 +744,7 @@ define hidden noundef zeroext i1 @"_ZN78_$LT$regex_syntax..error..Formatter$LT$E 131: ; preds = %.body95, %132 %.pn59 = phi { ptr, i32 } [ %133, %132 ], [ %.pn, %.body95 ] - invoke void @"_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17hcccdbadb9bd6e4e3E"(ptr noalias noundef nonnull align 8 dereferenceable(24) %32) #11 + invoke void @"_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17hcccdbadb9bd6e4e3E"(ptr noalias noundef nonnull align 8 dereferenceable(24) %32) #12 to label %118 unwind label %110 132: ; preds = %200, %179, %177, %142, %134 @@ -806,7 +806,7 @@ define hidden noundef zeroext i1 @"_ZN78_$LT$regex_syntax..error..Formatter$LT$E .body95: ; preds = %.loopexit, %.loopexit.split-lp, %214, %165 %.pn = phi { ptr, i32 } [ %166, %165 ], [ %215, %214 ], [ %lpad.loopexit, %.loopexit ], [ %lpad.loopexit.split-lp, %.loopexit.split-lp ] - invoke void @"_ZN4core3ptr65drop_in_place$LT$alloc..vec..Vec$LT$alloc..string..String$GT$$GT$17haa0dfeb7864e26efE"(ptr noalias noundef nonnull align 8 dereferenceable(24) %27) #11 + invoke void @"_ZN4core3ptr65drop_in_place$LT$alloc..vec..Vec$LT$alloc..string..String$GT$$GT$17haa0dfeb7864e26efE"(ptr noalias noundef nonnull align 8 dereferenceable(24) %27) #12 to label %131 unwind label %110 .loopexit: ; preds = %202 @@ -855,7 +855,7 @@ define hidden noundef zeroext i1 @"_ZN78_$LT$regex_syntax..error..Formatter$LT$E 165: ; preds = %167 %166 = landingpad { ptr, i32 } cleanup - invoke void @"_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17hcccdbadb9bd6e4e3E"(ptr noalias noundef nonnull align 8 dereferenceable(24) %21) #11 + invoke void @"_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17hcccdbadb9bd6e4e3E"(ptr noalias noundef nonnull align 8 dereferenceable(24) %21) #12 to label %.body95 unwind label %110 167: ; preds = %._crit_edge @@ -1019,13 +1019,13 @@ _ZN5alloc3fmt6format17h55b1a8bf61a7c713E.exit: ; preds = %202 214: ; preds = %213 %215 = landingpad { ptr, i32 } cleanup - invoke void @"_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17hcccdbadb9bd6e4e3E"(ptr noalias noundef nonnull align 8 dereferenceable(24) %26) #11 + invoke void @"_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17hcccdbadb9bd6e4e3E"(ptr noalias noundef nonnull align 8 dereferenceable(24) %26) #12 to label %.body95 unwind label %216 216: ; preds = %214 %217 = landingpad { ptr, i32 } filter [0 x ptr] zeroinitializer - call void @_ZN4core9panicking16panic_in_cleanup17h55eb1d85cadde1a1E() #12 + call void @_ZN4core9panicking16panic_in_cleanup17h55eb1d85cadde1a1E() #13 unreachable "_ZN5alloc3vec16Vec$LT$T$C$A$GT$4push17h1e97d9acd6eca520E.exit": ; preds = %_ZN5alloc3fmt6format17h55b1a8bf61a7c713E.exit, %._crit_edge.i @@ -1139,7 +1139,7 @@ define hidden noundef zeroext i1 @"_ZN78_$LT$regex_syntax..error..Formatter$LT$E .body: ; preds = %63, %50, %118, %73, %70 %.pn63 = phi { ptr, i32 } [ %.pn61, %118 ], [ %74, %73 ], [ %71, %70 ], [ %51, %50 ], [ %64, %63 ] - invoke void @"_ZN4core3ptr47drop_in_place$LT$regex_syntax..error..Spans$GT$17h0473787552717e0bE"(ptr noalias noundef nonnull align 8 dereferenceable(72) %37) #11 + invoke void @"_ZN4core3ptr47drop_in_place$LT$regex_syntax..error..Spans$GT$17h0473787552717e0bE"(ptr noalias noundef nonnull align 8 dereferenceable(72) %37) #12 to label %234 unwind label %110 50: ; preds = %228, %225, %104, %101, %95, %92, %42, %189, %68, %"_ZN52_$LT$char$u20$as$u20$core..str..pattern..Pattern$GT$15is_contained_in17h8051ba57ca4818d5E.exit.thread" @@ -1206,13 +1206,13 @@ define hidden noundef zeroext i1 @"_ZN78_$LT$regex_syntax..error..Formatter$LT$E 63: ; preds = %"_ZN5alloc3vec16Vec$LT$T$C$A$GT$7reserve17h9059ae08f57066baE.exit.i.i.i", %60, %"_ZN52_$LT$char$u20$as$u20$core..str..pattern..Pattern$GT$15is_contained_in17h8051ba57ca4818d5E.exit.thread104" %64 = landingpad { ptr, i32 } cleanup - invoke void @"_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17hcccdbadb9bd6e4e3E"(ptr noalias noundef nonnull align 8 dereferenceable(24) %10) #11 + invoke void @"_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17hcccdbadb9bd6e4e3E"(ptr noalias noundef nonnull align 8 dereferenceable(24) %10) #12 to label %.body unwind label %65, !noalias !194 65: ; preds = %63 %66 = landingpad { ptr, i32 } filter [0 x ptr] zeroinitializer - call void @_ZN4core9panicking16panic_in_cleanup17h55eb1d85cadde1a1E() #12, !noalias !194 + call void @_ZN4core9panicking16panic_in_cleanup17h55eb1d85cadde1a1E() #13, !noalias !194 unreachable 67: ; preds = %"_ZN52_$LT$char$u20$as$u20$core..str..pattern..Pattern$GT$15is_contained_in17h8051ba57ca4818d5E.exit.thread" @@ -1232,7 +1232,7 @@ define hidden noundef zeroext i1 @"_ZN78_$LT$regex_syntax..error..Formatter$LT$E 70: ; preds = %69 %71 = landingpad { ptr, i32 } cleanup - invoke void @"_ZN4core3ptr47drop_in_place$LT$regex_syntax..error..Spans$GT$17h0473787552717e0bE"(ptr noalias noundef nonnull align 8 dereferenceable(72) %16) #11 + invoke void @"_ZN4core3ptr47drop_in_place$LT$regex_syntax..error..Spans$GT$17h0473787552717e0bE"(ptr noalias noundef nonnull align 8 dereferenceable(72) %16) #12 to label %.body unwind label %110 72: ; preds = %69 @@ -1242,7 +1242,7 @@ define hidden noundef zeroext i1 @"_ZN78_$LT$regex_syntax..error..Formatter$LT$E 73: ; preds = %83, %75, %72 %74 = landingpad { ptr, i32 } cleanup - invoke void @"_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17hcccdbadb9bd6e4e3E"(ptr noalias noundef nonnull align 8 dereferenceable(24) %17) #11 + invoke void @"_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17hcccdbadb9bd6e4e3E"(ptr noalias noundef nonnull align 8 dereferenceable(24) %17) #12 to label %.body unwind label %110 75: ; preds = %72 @@ -1344,7 +1344,7 @@ define hidden noundef zeroext i1 @"_ZN78_$LT$regex_syntax..error..Formatter$LT$E 110: ; preds = %165, %.body95, %131, %118, %73, %70, %.body %111 = landingpad { ptr, i32 } filter [0 x ptr] zeroinitializer - call void @_ZN4core9panicking16panic_in_cleanup17h55eb1d85cadde1a1E() #12 + call void @_ZN4core9panicking16panic_in_cleanup17h55eb1d85cadde1a1E() #13 unreachable 112: ; preds = %"_ZN5alloc3vec16Vec$LT$T$C$A$GT$7reserve17h9059ae08f57066baE.exit.i.i.i" @@ -1366,7 +1366,7 @@ define hidden noundef zeroext i1 @"_ZN78_$LT$regex_syntax..error..Formatter$LT$E 118: ; preds = %131, %119 %.pn61 = phi { ptr, i32 } [ %120, %119 ], [ %.pn59, %131 ] - invoke void @"_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17hcccdbadb9bd6e4e3E"(ptr noalias noundef nonnull align 8 dereferenceable(24) %36) #11 + invoke void @"_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17hcccdbadb9bd6e4e3E"(ptr noalias noundef nonnull align 8 dereferenceable(24) %36) #12 to label %.body unwind label %110 119: ; preds = %195, %192, %188, %130, %122, %112 @@ -1408,7 +1408,7 @@ define hidden noundef zeroext i1 @"_ZN78_$LT$regex_syntax..error..Formatter$LT$E 131: ; preds = %.body95, %132 %.pn59 = phi { ptr, i32 } [ %133, %132 ], [ %.pn, %.body95 ] - invoke void @"_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17hcccdbadb9bd6e4e3E"(ptr noalias noundef nonnull align 8 dereferenceable(24) %32) #11 + invoke void @"_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17hcccdbadb9bd6e4e3E"(ptr noalias noundef nonnull align 8 dereferenceable(24) %32) #12 to label %118 unwind label %110 132: ; preds = %200, %179, %177, %142, %134 @@ -1470,7 +1470,7 @@ define hidden noundef zeroext i1 @"_ZN78_$LT$regex_syntax..error..Formatter$LT$E .body95: ; preds = %.loopexit, %.loopexit.split-lp, %214, %165 %.pn = phi { ptr, i32 } [ %166, %165 ], [ %215, %214 ], [ %lpad.loopexit, %.loopexit ], [ %lpad.loopexit.split-lp, %.loopexit.split-lp ] - invoke void @"_ZN4core3ptr65drop_in_place$LT$alloc..vec..Vec$LT$alloc..string..String$GT$$GT$17haa0dfeb7864e26efE"(ptr noalias noundef nonnull align 8 dereferenceable(24) %27) #11 + invoke void @"_ZN4core3ptr65drop_in_place$LT$alloc..vec..Vec$LT$alloc..string..String$GT$$GT$17haa0dfeb7864e26efE"(ptr noalias noundef nonnull align 8 dereferenceable(24) %27) #12 to label %131 unwind label %110 .loopexit: ; preds = %202 @@ -1519,7 +1519,7 @@ define hidden noundef zeroext i1 @"_ZN78_$LT$regex_syntax..error..Formatter$LT$E 165: ; preds = %167 %166 = landingpad { ptr, i32 } cleanup - invoke void @"_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17hcccdbadb9bd6e4e3E"(ptr noalias noundef nonnull align 8 dereferenceable(24) %21) #11 + invoke void @"_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17hcccdbadb9bd6e4e3E"(ptr noalias noundef nonnull align 8 dereferenceable(24) %21) #12 to label %.body95 unwind label %110 167: ; preds = %._crit_edge @@ -1683,13 +1683,13 @@ _ZN5alloc3fmt6format17h55b1a8bf61a7c713E.exit: ; preds = %202 214: ; preds = %213 %215 = landingpad { ptr, i32 } cleanup - invoke void @"_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17hcccdbadb9bd6e4e3E"(ptr noalias noundef nonnull align 8 dereferenceable(24) %26) #11 + invoke void @"_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17hcccdbadb9bd6e4e3E"(ptr noalias noundef nonnull align 8 dereferenceable(24) %26) #12 to label %.body95 unwind label %216 216: ; preds = %214 %217 = landingpad { ptr, i32 } filter [0 x ptr] zeroinitializer - call void @_ZN4core9panicking16panic_in_cleanup17h55eb1d85cadde1a1E() #12 + call void @_ZN4core9panicking16panic_in_cleanup17h55eb1d85cadde1a1E() #13 unreachable "_ZN5alloc3vec16Vec$LT$T$C$A$GT$4push17h1e97d9acd6eca520E.exit": ; preds = %_ZN5alloc3fmt6format17h55b1a8bf61a7c713E.exit, %._crit_edge.i @@ -1828,14 +1828,14 @@ thread-pre-split: ; preds = %"_ZN4core5slice29_$ 35: ; preds = %38, %27 %36 = landingpad { ptr, i32 } cleanup - invoke void @"_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17hcccdbadb9bd6e4e3E"(ptr noalias noundef nonnull align 8 dereferenceable(24) %8) #11 + invoke void @"_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17hcccdbadb9bd6e4e3E"(ptr noalias noundef nonnull align 8 dereferenceable(24) %8) #12 to label %common.resume unwind label %39, !noalias !301 37: ; preds = %27 br i1 %34, label %38, label %"_ZN45_$LT$T$u20$as$u20$alloc..string..ToString$GT$9to_string17h965fed7fb37795a2E.exit" 38: ; preds = %37 - invoke void @_ZN4core6result13unwrap_failed17h03d8a5018196e1cdE(ptr noalias noundef nonnull readonly align 1 @anon.f8d462140019c34e51218bf541eaaefd.1, i64 noundef 55, ptr noundef nonnull align 1 %3, ptr noalias noundef readonly align 8 dereferenceable(24) @anon.f8d462140019c34e51218bf541eaaefd.32, ptr noalias noundef readonly align 8 dereferenceable(24) @anon.f8d462140019c34e51218bf541eaaefd.3) #10 + invoke void @_ZN4core6result13unwrap_failed17h03d8a5018196e1cdE(ptr noalias noundef nonnull readonly align 1 @anon.f8d462140019c34e51218bf541eaaefd.1, i64 noundef 55, ptr noundef nonnull align 1 %3, ptr noalias noundef readonly align 8 dereferenceable(24) @anon.f8d462140019c34e51218bf541eaaefd.32, ptr noalias noundef readonly align 8 dereferenceable(24) @anon.f8d462140019c34e51218bf541eaaefd.3) #11 to label %.noexc.i unwind label %35, !noalias !301 .noexc.i: ; preds = %38 @@ -1844,7 +1844,7 @@ thread-pre-split: ; preds = %"_ZN4core5slice29_$ 39: ; preds = %35 %40 = landingpad { ptr, i32 } filter [0 x ptr] zeroinitializer - call void @_ZN4core9panicking16panic_in_cleanup17h55eb1d85cadde1a1E() #12, !noalias !301 + call void @_ZN4core9panicking16panic_in_cleanup17h55eb1d85cadde1a1E() #13, !noalias !301 unreachable common.resume: ; preds = %71, %59, %63, %35 @@ -1907,19 +1907,19 @@ common.resume: ; preds = %71, %59, %63, %35 59: ; preds = %54 %60 = landingpad { ptr, i32 } cleanup - invoke void @"_ZN4core3ptr90drop_in_place$LT$alloc..vec..Vec$LT$alloc..vec..Vec$LT$regex_syntax..ast..Span$GT$$GT$$GT$17h2cb7735e92a328b4E"(ptr noalias noundef nonnull align 8 dereferenceable(24) %5) #11 + invoke void @"_ZN4core3ptr90drop_in_place$LT$alloc..vec..Vec$LT$alloc..vec..Vec$LT$regex_syntax..ast..Span$GT$$GT$$GT$17h2cb7735e92a328b4E"(ptr noalias noundef nonnull align 8 dereferenceable(24) %5) #12 to label %common.resume unwind label %61, !noalias !312 61: ; preds = %63, %59 %62 = landingpad { ptr, i32 } filter [0 x ptr] zeroinitializer - call void @_ZN4core9panicking16panic_in_cleanup17h55eb1d85cadde1a1E() #12, !noalias !316 + call void @_ZN4core9panicking16panic_in_cleanup17h55eb1d85cadde1a1E() #13, !noalias !316 unreachable 63: ; preds = %49 %64 = landingpad { ptr, i32 } cleanup - invoke void @"_ZN4core3ptr67drop_in_place$LT$alloc..vec..Vec$LT$regex_syntax..ast..Span$GT$$GT$17ha05740bdc4332deeE"(ptr noalias noundef nonnull align 8 dereferenceable(24) %11) #11 + invoke void @"_ZN4core3ptr67drop_in_place$LT$alloc..vec..Vec$LT$regex_syntax..ast..Span$GT$$GT$17ha05740bdc4332deeE"(ptr noalias noundef nonnull align 8 dereferenceable(24) %11) #12 to label %common.resume unwind label %61, !noalias !316 "_ZN62_$LT$T$u20$as$u20$alloc..vec..spec_from_elem..SpecFromElem$GT$9from_elem17h3fcfa64864bf803bE.exit": ; preds = %54 @@ -1949,7 +1949,7 @@ common.resume: ; preds = %71, %59, %63, %35 71: ; preds = %76, %"_ZN62_$LT$T$u20$as$u20$alloc..vec..spec_from_elem..SpecFromElem$GT$9from_elem17h3fcfa64864bf803bE.exit" %72 = landingpad { ptr, i32 } cleanup - invoke void @"_ZN4core3ptr47drop_in_place$LT$regex_syntax..error..Spans$GT$17h0473787552717e0bE"(ptr noalias noundef nonnull align 8 dereferenceable(72) %12) #11 + invoke void @"_ZN4core3ptr47drop_in_place$LT$regex_syntax..error..Spans$GT$17h0473787552717e0bE"(ptr noalias noundef nonnull align 8 dereferenceable(72) %12) #12 to label %common.resume unwind label %79 73: ; preds = %"_ZN62_$LT$T$u20$as$u20$alloc..vec..spec_from_elem..SpecFromElem$GT$9from_elem17h3fcfa64864bf803bE.exit" @@ -1960,6 +1960,7 @@ common.resume: ; preds = %71, %59, %63, %35 br i1 %.not, label %77, label %76 76: ; preds = %73 + call void @llvm.assume(i1 true) [ "align"(ptr %75, i64 8) ] call void @llvm.lifetime.start.p0(ptr nonnull %9) call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(48) %9, ptr noundef nonnull align 8 dereferenceable(48) %75, i64 48, i1 false) invoke void @_ZN12regex_syntax5error5Spans3add17h4ede450fcecba305E(ptr noalias noundef nonnull align 8 dereferenceable(72) %12, ptr noalias noundef nonnull align 8 captures(none) dereferenceable(48) %9) @@ -1978,7 +1979,7 @@ common.resume: ; preds = %71, %59, %63, %35 79: ; preds = %71 %80 = landingpad { ptr, i32 } filter [0 x ptr] zeroinitializer - call void @_ZN4core9panicking16panic_in_cleanup17h55eb1d85cadde1a1E() #12 + call void @_ZN4core9panicking16panic_in_cleanup17h55eb1d85cadde1a1E() #13 unreachable } @@ -2074,14 +2075,14 @@ thread-pre-split: ; preds = %"_ZN4core5slice29_$ 35: ; preds = %38, %27 %36 = landingpad { ptr, i32 } cleanup - invoke void @"_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17hcccdbadb9bd6e4e3E"(ptr noalias noundef nonnull align 8 dereferenceable(24) %8) #11 + invoke void @"_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17hcccdbadb9bd6e4e3E"(ptr noalias noundef nonnull align 8 dereferenceable(24) %8) #12 to label %common.resume unwind label %39, !noalias !322 37: ; preds = %27 br i1 %34, label %38, label %"_ZN45_$LT$T$u20$as$u20$alloc..string..ToString$GT$9to_string17h965fed7fb37795a2E.exit" 38: ; preds = %37 - invoke void @_ZN4core6result13unwrap_failed17h03d8a5018196e1cdE(ptr noalias noundef nonnull readonly align 1 @anon.f8d462140019c34e51218bf541eaaefd.1, i64 noundef 55, ptr noundef nonnull align 1 %3, ptr noalias noundef readonly align 8 dereferenceable(24) @anon.f8d462140019c34e51218bf541eaaefd.32, ptr noalias noundef readonly align 8 dereferenceable(24) @anon.f8d462140019c34e51218bf541eaaefd.3) #10 + invoke void @_ZN4core6result13unwrap_failed17h03d8a5018196e1cdE(ptr noalias noundef nonnull readonly align 1 @anon.f8d462140019c34e51218bf541eaaefd.1, i64 noundef 55, ptr noundef nonnull align 1 %3, ptr noalias noundef readonly align 8 dereferenceable(24) @anon.f8d462140019c34e51218bf541eaaefd.32, ptr noalias noundef readonly align 8 dereferenceable(24) @anon.f8d462140019c34e51218bf541eaaefd.3) #11 to label %.noexc.i unwind label %35, !noalias !322 .noexc.i: ; preds = %38 @@ -2090,7 +2091,7 @@ thread-pre-split: ; preds = %"_ZN4core5slice29_$ 39: ; preds = %35 %40 = landingpad { ptr, i32 } filter [0 x ptr] zeroinitializer - call void @_ZN4core9panicking16panic_in_cleanup17h55eb1d85cadde1a1E() #12, !noalias !322 + call void @_ZN4core9panicking16panic_in_cleanup17h55eb1d85cadde1a1E() #13, !noalias !322 unreachable common.resume: ; preds = %71, %59, %63, %35 @@ -2153,19 +2154,19 @@ common.resume: ; preds = %71, %59, %63, %35 59: ; preds = %54 %60 = landingpad { ptr, i32 } cleanup - invoke void @"_ZN4core3ptr90drop_in_place$LT$alloc..vec..Vec$LT$alloc..vec..Vec$LT$regex_syntax..ast..Span$GT$$GT$$GT$17h2cb7735e92a328b4E"(ptr noalias noundef nonnull align 8 dereferenceable(24) %5) #11 + invoke void @"_ZN4core3ptr90drop_in_place$LT$alloc..vec..Vec$LT$alloc..vec..Vec$LT$regex_syntax..ast..Span$GT$$GT$$GT$17h2cb7735e92a328b4E"(ptr noalias noundef nonnull align 8 dereferenceable(24) %5) #12 to label %common.resume unwind label %61, !noalias !333 61: ; preds = %63, %59 %62 = landingpad { ptr, i32 } filter [0 x ptr] zeroinitializer - call void @_ZN4core9panicking16panic_in_cleanup17h55eb1d85cadde1a1E() #12, !noalias !337 + call void @_ZN4core9panicking16panic_in_cleanup17h55eb1d85cadde1a1E() #13, !noalias !337 unreachable 63: ; preds = %49 %64 = landingpad { ptr, i32 } cleanup - invoke void @"_ZN4core3ptr67drop_in_place$LT$alloc..vec..Vec$LT$regex_syntax..ast..Span$GT$$GT$17ha05740bdc4332deeE"(ptr noalias noundef nonnull align 8 dereferenceable(24) %11) #11 + invoke void @"_ZN4core3ptr67drop_in_place$LT$alloc..vec..Vec$LT$regex_syntax..ast..Span$GT$$GT$17ha05740bdc4332deeE"(ptr noalias noundef nonnull align 8 dereferenceable(24) %11) #12 to label %common.resume unwind label %61, !noalias !337 "_ZN62_$LT$T$u20$as$u20$alloc..vec..spec_from_elem..SpecFromElem$GT$9from_elem17h3fcfa64864bf803bE.exit": ; preds = %54 @@ -2195,7 +2196,7 @@ common.resume: ; preds = %71, %59, %63, %35 71: ; preds = %76, %"_ZN62_$LT$T$u20$as$u20$alloc..vec..spec_from_elem..SpecFromElem$GT$9from_elem17h3fcfa64864bf803bE.exit" %72 = landingpad { ptr, i32 } cleanup - invoke void @"_ZN4core3ptr47drop_in_place$LT$regex_syntax..error..Spans$GT$17h0473787552717e0bE"(ptr noalias noundef nonnull align 8 dereferenceable(72) %12) #11 + invoke void @"_ZN4core3ptr47drop_in_place$LT$regex_syntax..error..Spans$GT$17h0473787552717e0bE"(ptr noalias noundef nonnull align 8 dereferenceable(72) %12) #12 to label %common.resume unwind label %79 73: ; preds = %"_ZN62_$LT$T$u20$as$u20$alloc..vec..spec_from_elem..SpecFromElem$GT$9from_elem17h3fcfa64864bf803bE.exit" @@ -2206,6 +2207,7 @@ common.resume: ; preds = %71, %59, %63, %35 br i1 %.not, label %77, label %76 76: ; preds = %73 + call void @llvm.assume(i1 true) [ "align"(ptr %75, i64 8) ] call void @llvm.lifetime.start.p0(ptr nonnull %9) call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(48) %9, ptr noundef nonnull align 8 dereferenceable(48) %75, i64 48, i1 false) invoke void @_ZN12regex_syntax5error5Spans3add17h4ede450fcecba305E(ptr noalias noundef nonnull align 8 dereferenceable(72) %12, ptr noalias noundef nonnull align 8 captures(none) dereferenceable(48) %9) @@ -2224,7 +2226,7 @@ common.resume: ; preds = %71, %59, %63, %35 79: ; preds = %71 %80 = landingpad { ptr, i32 } filter [0 x ptr] zeroinitializer - call void @_ZN4core9panicking16panic_in_cleanup17h55eb1d85cadde1a1E() #12 + call void @_ZN4core9panicking16panic_in_cleanup17h55eb1d85cadde1a1E() #13 unreachable } @@ -2246,6 +2248,9 @@ declare noundef zeroext i1 @"_ZN4core3fmt3num3imp54_$LT$impl$u20$core..fmt..Disp ; Function Attrs: cold noreturn nounwind nonlazybind uwtable declare void @_ZN4core9panicking16panic_in_cleanup17h55eb1d85cadde1a1E() unnamed_addr #5 +; Function Attrs: mustprogress nocallback nofree nosync nounwind willreturn memory(inaccessiblemem: write) +declare void @llvm.assume(i1 noundef) #6 + ; Function Attrs: cold noreturn nonlazybind uwtable declare void @_ZN4core6result13unwrap_failed17h03d8a5018196e1cdE(ptr noalias noundef nonnull readonly align 1, i64 noundef, ptr noundef nonnull align 1, ptr noalias noundef readonly align 8 dereferenceable(24), ptr noalias noundef readonly align 8 dereferenceable(24)) unnamed_addr #3 @@ -2310,7 +2315,7 @@ declare hidden { i64, ptr } @"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$11allocate_i declare hidden void @"_ZN5alloc3vec16Vec$LT$T$C$A$GT$11extend_with17h620a5b9ce30edd33E.llvm.9790117770016849591"(ptr noalias noundef align 8 dereferenceable(24), i64 noundef, ptr noalias noundef align 8 captures(none) dereferenceable(24)) unnamed_addr #2 ; Function Attrs: cold nonlazybind uwtable -declare hidden void @"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$7reserve21do_reserve_and_handle17h2095076753eaa2b4E"(ptr noalias noundef align 8 dereferenceable(16), i64 noundef, i64 noundef) unnamed_addr #6 +declare hidden void @"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$7reserve21do_reserve_and_handle17h2095076753eaa2b4E"(ptr noalias noundef align 8 dereferenceable(16), i64 noundef, i64 noundef) unnamed_addr #7 ; Function Attrs: inlinehint nonlazybind uwtable declare hidden void @"_ZN98_$LT$core..iter..adapters..take..Take$LT$I$GT$$u20$as$u20$core..iter..adapters..take..SpecTake$GT$13spec_for_each17h0030c2c1abf6ff7bE.llvm.14163345723071415371"(i64 noundef, i32 noundef, ptr noalias noundef align 8 dereferenceable(24)) unnamed_addr #1 @@ -2325,16 +2330,16 @@ declare hidden { ptr, i64 } @"_ZN89_$LT$core..str..LinesMap$u20$as$u20$core..ops declare void @_ZN12regex_syntax5error5Spans3add17h4ede450fcecba305E(ptr noalias noundef align 8 dereferenceable(72), ptr noalias noundef align 8 captures(none) dereferenceable(48)) unnamed_addr #2 ; Function Attrs: mustprogress nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) -declare void @llvm.lifetime.start.p0(ptr captures(none)) #7 +declare void @llvm.lifetime.start.p0(ptr captures(none)) #8 ; Function Attrs: mustprogress nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) -declare void @llvm.lifetime.end.p0(ptr captures(none)) #7 +declare void @llvm.lifetime.end.p0(ptr captures(none)) #8 ; Function Attrs: nocallback nofree nounwind nonlazybind willreturn memory(argmem: read) -declare i32 @bcmp(ptr captures(none), ptr captures(none), i64) local_unnamed_addr #8 +declare i32 @bcmp(ptr captures(none), ptr captures(none), i64) local_unnamed_addr #9 ; Function Attrs: nocallback nofree nosync nounwind willreturn memory(inaccessiblemem: readwrite) -declare void @llvm.experimental.noalias.scope.decl(metadata) #9 +declare void @llvm.experimental.noalias.scope.decl(metadata) #10 attributes #0 = { inlinehint mustprogress nofree norecurse nosync nounwind nonlazybind willreturn memory(none) uwtable "probe-stack"="inline-asm" "target-cpu"="x86-64" } attributes #1 = { inlinehint nonlazybind uwtable "probe-stack"="inline-asm" "target-cpu"="x86-64" } @@ -2342,13 +2347,14 @@ attributes #2 = { nonlazybind uwtable "probe-stack"="inline-asm" "target-cpu"="x attributes #3 = { cold noreturn nonlazybind uwtable "probe-stack"="inline-asm" "target-cpu"="x86-64" } attributes #4 = { mustprogress nocallback nofree nounwind willreturn memory(argmem: readwrite) } attributes #5 = { cold noreturn nounwind nonlazybind uwtable "probe-stack"="inline-asm" "target-cpu"="x86-64" } -attributes #6 = { cold nonlazybind uwtable "probe-stack"="inline-asm" "target-cpu"="x86-64" } -attributes #7 = { mustprogress nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) } -attributes #8 = { nocallback nofree nounwind nonlazybind willreturn memory(argmem: read) } -attributes #9 = { nocallback nofree nosync nounwind willreturn memory(inaccessiblemem: readwrite) } -attributes #10 = { noreturn } -attributes #11 = { cold } -attributes #12 = { cold noreturn nounwind } +attributes #6 = { mustprogress nocallback nofree nosync nounwind willreturn memory(inaccessiblemem: write) } +attributes #7 = { cold nonlazybind uwtable "probe-stack"="inline-asm" "target-cpu"="x86-64" } +attributes #8 = { mustprogress nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) } +attributes #9 = { nocallback nofree nounwind nonlazybind willreturn memory(argmem: read) } +attributes #10 = { nocallback nofree nosync nounwind willreturn memory(inaccessiblemem: readwrite) } +attributes #11 = { noreturn } +attributes #12 = { cold } +attributes #13 = { cold noreturn nounwind } !llvm.module.flags = !{!0, !1, !2} !llvm.ident = !{!3} diff --git a/bench/rustfmt-rs/optimized/3xcdaapyewyrfogi.ll b/bench/rustfmt-rs/optimized/3xcdaapyewyrfogi.ll index 516dfae16b8..744305e869b 100644 --- a/bench/rustfmt-rs/optimized/3xcdaapyewyrfogi.ll +++ b/bench/rustfmt-rs/optimized/3xcdaapyewyrfogi.ll @@ -21114,6 +21114,7 @@ _ZN15rustfmt_nightly4expr13rewrite_block17hf2225ed481b4ebbfE.exit287: ; preds = %807 = load ptr, ptr %806, align 8, !nonnull !10, !noundef !10 %808 = getelementptr inbounds nuw i8, ptr %105, i64 16 %809 = load i64, ptr %808, align 8, !noundef !10 + call void @llvm.assume(i1 true) [ "align"(ptr %795, i64 8) ] call void @llvm.lifetime.start.p0(ptr nonnull %101) call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %101, ptr noundef nonnull align 8 dereferenceable(32) %152, i64 32, i1 false) invoke void @_ZN15rustfmt_nightly4expr20rewrite_unary_prefix17h66c4435f8d3a30b3E(ptr noalias noundef nonnull sret({ i64, [2 x i64] }) align 8 captures(none) dereferenceable(24) %33, ptr noundef nonnull align 8 %3, ptr noalias noundef nonnull readonly align 1 %807, i64 noundef %809, ptr noalias noundef nonnull readonly align 8 dereferenceable(72) %795, ptr noalias noundef nonnull align 8 captures(none) dereferenceable(32) %101) @@ -21244,6 +21245,7 @@ _ZN15rustfmt_nightly4expr13rewrite_block17hf2225ed481b4ebbfE.exit287: ; preds = br label %538 843: ; preds = %484 + call void @llvm.assume(i1 true) [ "align"(ptr %486, i64 8) ] call void @llvm.lifetime.start.p0(ptr nonnull %88) call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %88, ptr noundef nonnull align 8 dereferenceable(32) %152, i64 32, i1 false) call void @_ZN15rustfmt_nightly4expr20rewrite_unary_prefix17h66c4435f8d3a30b3E(ptr noalias noundef nonnull sret({ i64, [2 x i64] }) align 8 captures(none) dereferenceable(24) %33, ptr noundef nonnull align 8 %3, ptr noalias noundef nonnull readonly align 1 @anon.87cf9f699931e7f72e5feaf785e04e8d.171, i64 noundef 7, ptr noalias noundef nonnull readonly align 8 dereferenceable(72) %486, ptr noalias noundef nonnull align 8 captures(none) dereferenceable(32) %88) @@ -21251,6 +21253,7 @@ _ZN15rustfmt_nightly4expr13rewrite_block17hf2225ed481b4ebbfE.exit287: ; preds = br label %thread-pre-split 844: ; preds = %528 + call void @llvm.assume(i1 true) [ "align"(ptr %530, i64 8) ] call void @llvm.lifetime.start.p0(ptr nonnull %97) call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %97, ptr noundef nonnull align 8 dereferenceable(32) %152, i64 32, i1 false) call void @_ZN15rustfmt_nightly4expr20rewrite_unary_prefix17h66c4435f8d3a30b3E(ptr noalias noundef nonnull sret({ i64, [2 x i64] }) align 8 captures(none) dereferenceable(24) %33, ptr noundef nonnull align 8 %3, ptr noalias noundef nonnull readonly align 1 @anon.87cf9f699931e7f72e5feaf785e04e8d.173, i64 noundef 6, ptr noalias noundef nonnull readonly align 8 dereferenceable(72) %530, ptr noalias noundef nonnull align 8 captures(none) dereferenceable(32) %97) @@ -21286,6 +21289,7 @@ _ZN15rustfmt_nightly4expr13rewrite_block17hf2225ed481b4ebbfE.exit287: ; preds = br label %538 855: ; preds = %531 + call void @llvm.assume(i1 true) [ "align"(ptr %533, i64 8) ] call void @llvm.lifetime.start.p0(ptr nonnull %86) call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %86, ptr noundef nonnull align 8 dereferenceable(32) %152, i64 32, i1 false) call void @_ZN15rustfmt_nightly4expr20rewrite_unary_prefix17h66c4435f8d3a30b3E(ptr noalias noundef nonnull sret({ i64, [2 x i64] }) align 8 captures(none) dereferenceable(24) %33, ptr noundef nonnull align 8 %3, ptr noalias noundef nonnull readonly align 1 @anon.87cf9f699931e7f72e5feaf785e04e8d.176, i64 noundef 8, ptr noalias noundef nonnull readonly align 8 dereferenceable(72) %533, ptr noalias noundef nonnull align 8 captures(none) dereferenceable(32) %86) @@ -24406,6 +24410,7 @@ _ZN5alloc3fmt6format17h35125637d547cb53E.exit.i: ; preds = %129 br label %421 151: ; preds = %143 + call void @llvm.assume(i1 true) [ "align"(ptr %148, i64 8) ] call void @llvm.lifetime.start.p0(ptr nonnull %110) call void @llvm.lifetime.start.p0(ptr nonnull %109) store i64 %113, ptr %109, align 8 @@ -24555,6 +24560,7 @@ _ZN5alloc3fmt6format17h35125637d547cb53E.exit.i: ; preds = %129 br label %418 194: ; preds = %186 + call void @llvm.assume(i1 true) [ "align"(ptr %193, i64 8) ] call void @llvm.lifetime.start.p0(ptr nonnull %85), !noalias !4265 %195 = getelementptr inbounds nuw i8, ptr %1, i64 24 %196 = load i64, ptr %195, align 8, !alias.scope !4263, !noalias !4283, !noundef !10 @@ -25306,7 +25312,7 @@ _ZN5alloc3fmt6format17h35125637d547cb53E.exit.i380: ; preds = %378 invoke void @"_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17h65321bb4306ac23aE"(ptr noalias noundef nonnull align 8 dereferenceable(24) %111) #52 to label %.body unwind label %768 -419: ; preds = %.invoke748, %.invoke746, %.invoke744, %.invoke742, %.invoke, %1075, %1072, %_RNvMNtCsdF516cSs19B_10rustc_span13span_encodingNtB2_4Span14data_untracked.llvm.15131964271339581801.exit263.thread650, %938, %932, %_RNvMNtCsdF516cSs19B_10rustc_span13span_encodingNtB2_4Span14data_untracked.llvm.15131964271339581801.exit276.thread646, %"_ZN10scoped_tls18ScopedKey$LT$T$GT$4with17h75cb3c8bc5486157E.exit.i271", %915, %"_ZN10scoped_tls18ScopedKey$LT$T$GT$4with17h75cb3c8bc5486157E.exit.i258", %898, %883, %877, %866, %"_ZN10scoped_tls18ScopedKey$LT$T$GT$4with17h75cb3c8bc5486157E.exit.i239", %849, %.noexc230, %840, %_RNvMNtCsdF516cSs19B_10rustc_span13span_encodingNtB2_4Span14data_untracked.llvm.15131964271339581801.exit.i.i, %824, %_RNvMNtCsdF516cSs19B_10rustc_span13span_encodingNtB2_4Span14data_untracked.llvm.15131964271339581801.exit204.thread638, %_RNvMNtCsdF516cSs19B_10rustc_span13span_encodingNtB2_4Span14data_untracked.llvm.15131964271339581801.exit218.thread634, %"_ZN10scoped_tls18ScopedKey$LT$T$GT$4with17h75cb3c8bc5486157E.exit.i213", %802, %_RNvMNtCsdF516cSs19B_10rustc_span13span_encodingNtB2_4Span14data_untracked.llvm.15131964271339581801.exit.thread630, %"_ZN10scoped_tls18ScopedKey$LT$T$GT$4with17h75cb3c8bc5486157E.exit.i199", %788, %"_ZN10scoped_tls18ScopedKey$LT$T$GT$4with17h75cb3c8bc5486157E.exit.i", %776, %747, %744, %732, %729, %724, %"_ZN81_$LT$rustfmt_nightly..stmt..Stmt$u20$as$u20$rustfmt_nightly..rewrite..Rewrite$GT$7rewrite17hcc2beb9823139d46E.exit.i", %643, %_ZN15rustfmt_nightly4expr22block_contains_comment17hbc49ba51f6600906E.exit.i.i64.i, %633, %_ZN15rustfmt_nightly4expr22block_contains_comment17hbc49ba51f6600906E.exit.i.i.i, %615, %436, %951, %"_ZN97_$LT$rustc_data_structures..atomic_ref..AtomicRef$LT$T$GT$$u20$as$u20$core..ops..deref..Deref$GT$5deref17hb766b2ce54f5f072E.exit286", %930, %"_ZN97_$LT$rustc_data_structures..atomic_ref..AtomicRef$LT$T$GT$$u20$as$u20$core..ops..deref..Deref$GT$5deref17hb766b2ce54f5f072E.exit278", %908, %874, %"_ZN97_$LT$rustc_data_structures..atomic_ref..AtomicRef$LT$T$GT$$u20$as$u20$core..ops..deref..Deref$GT$5deref17hb766b2ce54f5f072E.exit246", %869, %"_ZN97_$LT$rustc_data_structures..atomic_ref..AtomicRef$LT$T$GT$$u20$as$u20$core..ops..deref..Deref$GT$5deref17hb766b2ce54f5f072E.exit222", %"_ZN97_$LT$rustc_data_structures..atomic_ref..AtomicRef$LT$T$GT$$u20$as$u20$core..ops..deref..Deref$GT$5deref17hb766b2ce54f5f072E.exit220", %_RNvMNtCsdF516cSs19B_10rustc_span13span_encodingNtB2_4Span14data_untracked.llvm.15131964271339581801.exit218.thread, %"_ZN97_$LT$rustc_data_structures..atomic_ref..AtomicRef$LT$T$GT$$u20$as$u20$core..ops..deref..Deref$GT$5deref17hb766b2ce54f5f072E.exit" +419: ; preds = %.invoke748, %.invoke746, %.invoke744, %.invoke742, %.invoke, %1075, %1072, %_RNvMNtCsdF516cSs19B_10rustc_span13span_encodingNtB2_4Span14data_untracked.llvm.15131964271339581801.exit263.thread650, %938, %932, %_RNvMNtCsdF516cSs19B_10rustc_span13span_encodingNtB2_4Span14data_untracked.llvm.15131964271339581801.exit276.thread646, %"_ZN10scoped_tls18ScopedKey$LT$T$GT$4with17h75cb3c8bc5486157E.exit.i271", %910, %"_ZN10scoped_tls18ScopedKey$LT$T$GT$4with17h75cb3c8bc5486157E.exit.i258", %898, %883, %877, %866, %"_ZN10scoped_tls18ScopedKey$LT$T$GT$4with17h75cb3c8bc5486157E.exit.i239", %849, %.noexc230, %840, %_RNvMNtCsdF516cSs19B_10rustc_span13span_encodingNtB2_4Span14data_untracked.llvm.15131964271339581801.exit.i.i, %824, %_RNvMNtCsdF516cSs19B_10rustc_span13span_encodingNtB2_4Span14data_untracked.llvm.15131964271339581801.exit204.thread638, %_RNvMNtCsdF516cSs19B_10rustc_span13span_encodingNtB2_4Span14data_untracked.llvm.15131964271339581801.exit218.thread634, %"_ZN10scoped_tls18ScopedKey$LT$T$GT$4with17h75cb3c8bc5486157E.exit.i213", %802, %_RNvMNtCsdF516cSs19B_10rustc_span13span_encodingNtB2_4Span14data_untracked.llvm.15131964271339581801.exit.thread630, %"_ZN10scoped_tls18ScopedKey$LT$T$GT$4with17h75cb3c8bc5486157E.exit.i199", %788, %"_ZN10scoped_tls18ScopedKey$LT$T$GT$4with17h75cb3c8bc5486157E.exit.i", %776, %747, %744, %732, %729, %724, %"_ZN81_$LT$rustfmt_nightly..stmt..Stmt$u20$as$u20$rustfmt_nightly..rewrite..Rewrite$GT$7rewrite17hcc2beb9823139d46E.exit.i", %643, %_ZN15rustfmt_nightly4expr22block_contains_comment17hbc49ba51f6600906E.exit.i.i64.i, %633, %_ZN15rustfmt_nightly4expr22block_contains_comment17hbc49ba51f6600906E.exit.i.i.i, %615, %436, %951, %"_ZN97_$LT$rustc_data_structures..atomic_ref..AtomicRef$LT$T$GT$$u20$as$u20$core..ops..deref..Deref$GT$5deref17hb766b2ce54f5f072E.exit286", %930, %"_ZN97_$LT$rustc_data_structures..atomic_ref..AtomicRef$LT$T$GT$$u20$as$u20$core..ops..deref..Deref$GT$5deref17hb766b2ce54f5f072E.exit278", %920, %874, %"_ZN97_$LT$rustc_data_structures..atomic_ref..AtomicRef$LT$T$GT$$u20$as$u20$core..ops..deref..Deref$GT$5deref17hb766b2ce54f5f072E.exit246", %869, %"_ZN97_$LT$rustc_data_structures..atomic_ref..AtomicRef$LT$T$GT$$u20$as$u20$core..ops..deref..Deref$GT$5deref17hb766b2ce54f5f072E.exit222", %"_ZN97_$LT$rustc_data_structures..atomic_ref..AtomicRef$LT$T$GT$$u20$as$u20$core..ops..deref..Deref$GT$5deref17hb766b2ce54f5f072E.exit220", %_RNvMNtCsdF516cSs19B_10rustc_span13span_encodingNtB2_4Span14data_untracked.llvm.15131964271339581801.exit218.thread, %"_ZN97_$LT$rustc_data_structures..atomic_ref..AtomicRef$LT$T$GT$$u20$as$u20$core..ops..deref..Deref$GT$5deref17hb766b2ce54f5f072E.exit" %420 = landingpad { ptr, i32 } cleanup br label %.body173 @@ -26223,6 +26229,7 @@ _ZN15rustfmt_nightly4stmt4Stmt12is_last_expr17hd216f52d6ab5a39cE.llvm.9097680112 unreachable 770: ; preds = %587 + call void @llvm.assume(i1 true) [ "align"(ptr %148, i64 8) ] %771 = getelementptr inbounds nuw i8, ptr %148, i64 48 %.sroa.027.0.copyload = load i64, ptr %771, align 8 br label %786 @@ -26613,7 +26620,7 @@ _RNvMNtCsdF516cSs19B_10rustc_span13span_encodingNtB2_4Span14data_untracked.llvm. %894 = getelementptr inbounds nuw i8, ptr %1, i64 24 %895 = load i64, ptr %894, align 8, !noundef !10 %896 = icmp eq i64 %895, 0 - br i1 %896, label %913, label %908 + br i1 %896, label %908, label %920 897: ; preds = %888 call void @llvm.lifetime.start.p0(ptr nonnull %97) @@ -26654,35 +26661,29 @@ _RNvMNtCsdF516cSs19B_10rustc_span13span_encodingNtB2_4Span14data_untracked.llvm. br i1 %906, label %_RNvMNtCsdF516cSs19B_10rustc_span13span_encodingNtB2_4Span14data_untracked.llvm.15131964271339581801.exit263.thread, label %_RNvMNtCsdF516cSs19B_10rustc_span13span_encodingNtB2_4Span14data_untracked.llvm.15131964271339581801.exit263.thread650 908: ; preds = %893 - %909 = getelementptr inbounds nuw i8, ptr %1, i64 16 - %910 = load ptr, ptr %847, align 8, !nonnull !10, !align !11, !noundef !10 - %911 = load ptr, ptr %909, align 8, !nonnull !10, !align !42, !noundef !10 - %912 = invoke { ptr, i64 } @"_ZN4core3str21_$LT$impl$u20$str$GT$12trim_matches17h145c2abaaf4f1a22E"(ptr noalias noundef nonnull readonly align 1 %911, i64 noundef %895) - to label %932 unwind label %419 - -913: ; preds = %893 - %914 = getelementptr inbounds nuw i8, ptr %892, i64 48 - %.sroa.023.0.copyload = load i64, ptr %914, align 8 + call void @llvm.assume(i1 true) [ "align"(ptr %892, i64 8) ] + %909 = getelementptr inbounds nuw i8, ptr %892, i64 48 + %.sroa.023.0.copyload = load i64, ptr %909, align 8 call void @llvm.lifetime.start.p0(ptr nonnull %96) call void @llvm.experimental.noalias.scope.decl(metadata !4644) %.sroa.09.0.extract.trunc.i264 = trunc i64 %.sroa.023.0.copyload to i32 %.sroa.4.0.extract.shift.i265 = lshr i64 %.sroa.023.0.copyload, 32 %.sroa.4.0.extract.trunc.i266 = trunc i64 %.sroa.4.0.extract.shift.i265 to i16 %.not.i269 = icmp eq i16 %.sroa.4.0.extract.trunc.i266, -1 - br i1 %.not.i269, label %915, label %922 + br i1 %.not.i269, label %910, label %917 -915: ; preds = %913 +910: ; preds = %908 call void @llvm.lifetime.start.p0(ptr nonnull %37), !noalias !4644 store i32 %.sroa.09.0.extract.trunc.i264, ptr %37, align 4, !noalias !4644 - %916 = load ptr, ptr @_RNvCsdF516cSs19B_10rustc_span15SESSION_GLOBALS, align 8, !alias.scope !4647, !noalias !4650, !nonnull !10, !align !11, !noundef !10 - %917 = invoke { i64, ptr } @"_ZN3std6thread5local17LocalKey$LT$T$GT$8try_with17h64c5b2fd9b7b34d6E.llvm.17476841346288807550"(ptr noalias noundef nonnull readonly align 8 dereferenceable(8) %916) + %911 = load ptr, ptr @_RNvCsdF516cSs19B_10rustc_span15SESSION_GLOBALS, align 8, !alias.scope !4647, !noalias !4650, !nonnull !10, !align !11, !noundef !10 + %912 = invoke { i64, ptr } @"_ZN3std6thread5local17LocalKey$LT$T$GT$8try_with17h64c5b2fd9b7b34d6E.llvm.17476841346288807550"(ptr noalias noundef nonnull readonly align 8 dereferenceable(8) %911) to label %.noexc272 unwind label %419 -.noexc272: ; preds = %915 - %918 = extractvalue { i64, ptr } %917, 0 - %919 = extractvalue { i64, ptr } %917, 1 - %920 = icmp eq i64 %918, 0 - br i1 %920, label %"_ZN4core6result19Result$LT$T$C$E$GT$6expect17hd33dd31eca47a831E.llvm.17476841346288807550.exit.i.i270", label %.invoke746 +.noexc272: ; preds = %910 + %913 = extractvalue { i64, ptr } %912, 0 + %914 = extractvalue { i64, ptr } %912, 1 + %915 = icmp eq i64 %913, 0 + br i1 %915, label %"_ZN4core6result19Result$LT$T$C$E$GT$6expect17hd33dd31eca47a831E.llvm.17476841346288807550.exit.i.i270", label %.invoke746 .invoke746: ; preds = %.noexc272, %.noexc259, %.noexc240, %.noexc226, %.noexc214, %.noexc200, %.noexc188 invoke void @_ZN4core6result13unwrap_failed17hede68b820f4ed9a9E(ptr noalias noundef nonnull readonly align 1 @anon.ac9b56db96481140084a14b3a62254c9.27.llvm.17476841346288807550, i64 noundef 70, ptr noundef nonnull align 1 %7, ptr noalias noundef readonly align 8 dereferenceable(24) @anon.ac9b56db96481140084a14b3a62254c9.102.llvm.17476841346288807550, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.ac9b56db96481140084a14b3a62254c9.29.llvm.17476841346288807550) #51 @@ -26692,8 +26693,8 @@ _RNvMNtCsdF516cSs19B_10rustc_span13span_encodingNtB2_4Span14data_untracked.llvm. unreachable "_ZN4core6result19Result$LT$T$C$E$GT$6expect17hd33dd31eca47a831E.llvm.17476841346288807550.exit.i.i270": ; preds = %.noexc272 - %921 = icmp eq ptr %919, null - br i1 %921, label %.invoke744, label %"_ZN10scoped_tls18ScopedKey$LT$T$GT$4with17h75cb3c8bc5486157E.exit.i271" + %916 = icmp eq ptr %914, null + br i1 %916, label %.invoke744, label %"_ZN10scoped_tls18ScopedKey$LT$T$GT$4with17h75cb3c8bc5486157E.exit.i271" .invoke744: ; preds = %"_ZN4core6result19Result$LT$T$C$E$GT$6expect17hd33dd31eca47a831E.llvm.17476841346288807550.exit.i.i270", %"_ZN4core6result19Result$LT$T$C$E$GT$6expect17hd33dd31eca47a831E.llvm.17476841346288807550.exit.i.i257", %"_ZN4core6result19Result$LT$T$C$E$GT$6expect17hd33dd31eca47a831E.llvm.17476841346288807550.exit.i.i238", %"_ZN4core6result19Result$LT$T$C$E$GT$6expect17hd33dd31eca47a831E.llvm.17476841346288807550.exit.i.i.i.i", %"_ZN4core6result19Result$LT$T$C$E$GT$6expect17hd33dd31eca47a831E.llvm.17476841346288807550.exit.i.i212", %"_ZN4core6result19Result$LT$T$C$E$GT$6expect17hd33dd31eca47a831E.llvm.17476841346288807550.exit.i.i198", %"_ZN4core6result19Result$LT$T$C$E$GT$6expect17hd33dd31eca47a831E.llvm.17476841346288807550.exit.i.i" invoke void @_ZN3std9panicking11begin_panic17he2f70017374c1f1fE(ptr noalias noundef nonnull readonly align 1 @anon.ac9b56db96481140084a14b3a62254c9.30.llvm.17476841346288807550, i64 noundef 72, ptr noalias noundef readonly align 8 dereferenceable(24) @anon.ac9b56db96481140084a14b3a62254c9.32.llvm.17476841346288807550) #51 @@ -26703,16 +26704,23 @@ _RNvMNtCsdF516cSs19B_10rustc_span13span_encodingNtB2_4Span14data_untracked.llvm. unreachable "_ZN10scoped_tls18ScopedKey$LT$T$GT$4with17h75cb3c8bc5486157E.exit.i271": ; preds = %"_ZN4core6result19Result$LT$T$C$E$GT$6expect17hd33dd31eca47a831E.llvm.17476841346288807550.exit.i.i270" - invoke void @"_ZN10rustc_span13span_encoding18with_span_interner28_$u7b$$u7b$closure$u7d$$u7d$17hc0915df1332daf42E.llvm.17476841346288807550"(ptr noalias noundef nonnull sret({ i32, i32, i32, i32 }) align 4 captures(none) dereferenceable(16) %96, ptr noalias noundef nonnull readonly align 4 dereferenceable(4) %37, ptr noundef nonnull align 8 %919) + invoke void @"_ZN10rustc_span13span_encoding18with_span_interner28_$u7b$$u7b$closure$u7d$$u7d$17hc0915df1332daf42E.llvm.17476841346288807550"(ptr noalias noundef nonnull sret({ i32, i32, i32, i32 }) align 4 captures(none) dereferenceable(16) %96, ptr noalias noundef nonnull readonly align 4 dereferenceable(4) %37, ptr noundef nonnull align 8 %914) to label %_RNvMNtCsdF516cSs19B_10rustc_span13span_encodingNtB2_4Span14data_untracked.llvm.15131964271339581801.exit276 unwind label %419 -922: ; preds = %913 +917: ; preds = %908 %.sroa.5.0.extract.shift.i267 = lshr i64 %.sroa.023.0.copyload, 48 %.sroa.5.0.extract.trunc.i268 = trunc nuw nsw i64 %.sroa.5.0.extract.shift.i267 to i32 - %923 = icmp sgt i16 %.sroa.4.0.extract.trunc.i266, -1 - %924 = getelementptr inbounds nuw i8, ptr %96, i64 4 - store i32 %.sroa.09.0.extract.trunc.i264, ptr %924, align 4, !alias.scope !4644 - br i1 %923, label %_RNvMNtCsdF516cSs19B_10rustc_span13span_encodingNtB2_4Span14data_untracked.llvm.15131964271339581801.exit276.thread, label %_RNvMNtCsdF516cSs19B_10rustc_span13span_encodingNtB2_4Span14data_untracked.llvm.15131964271339581801.exit276.thread646 + %918 = icmp sgt i16 %.sroa.4.0.extract.trunc.i266, -1 + %919 = getelementptr inbounds nuw i8, ptr %96, i64 4 + store i32 %.sroa.09.0.extract.trunc.i264, ptr %919, align 4, !alias.scope !4644 + br i1 %918, label %_RNvMNtCsdF516cSs19B_10rustc_span13span_encodingNtB2_4Span14data_untracked.llvm.15131964271339581801.exit276.thread, label %_RNvMNtCsdF516cSs19B_10rustc_span13span_encodingNtB2_4Span14data_untracked.llvm.15131964271339581801.exit276.thread646 + +920: ; preds = %893 + %921 = getelementptr inbounds nuw i8, ptr %1, i64 16 + %922 = load ptr, ptr %847, align 8, !nonnull !10, !align !11, !noundef !10 + %923 = load ptr, ptr %921, align 8, !nonnull !10, !align !42, !noundef !10 + %924 = invoke { ptr, i64 } @"_ZN4core3str21_$LT$impl$u20$str$GT$12trim_matches17h145c2abaaf4f1a22E"(ptr noalias noundef nonnull readonly align 1 %923, i64 noundef %895) + to label %932 unwind label %419 _RNvMNtCsdF516cSs19B_10rustc_span13span_encodingNtB2_4Span14data_untracked.llvm.15131964271339581801.exit276: ; preds = %"_ZN10scoped_tls18ScopedKey$LT$T$GT$4with17h75cb3c8bc5486157E.exit.i271" call void @llvm.lifetime.end.p0(ptr nonnull %37), !noalias !4644 @@ -26720,12 +26728,12 @@ _RNvMNtCsdF516cSs19B_10rustc_span13span_encodingNtB2_4Span14data_untracked.llvm. %.not111 = icmp eq i32 %.pr644, -255 br i1 %.not111, label %_RNvMNtCsdF516cSs19B_10rustc_span13span_encodingNtB2_4Span14data_untracked.llvm.15131964271339581801.exit276.thread, label %_RNvMNtCsdF516cSs19B_10rustc_span13span_encodingNtB2_4Span14data_untracked.llvm.15131964271339581801.exit276.thread646 -_RNvMNtCsdF516cSs19B_10rustc_span13span_encodingNtB2_4Span14data_untracked.llvm.15131964271339581801.exit276.thread646: ; preds = %922, %_RNvMNtCsdF516cSs19B_10rustc_span13span_encodingNtB2_4Span14data_untracked.llvm.15131964271339581801.exit276 - %925 = phi i32 [ %.pr644, %_RNvMNtCsdF516cSs19B_10rustc_span13span_encodingNtB2_4Span14data_untracked.llvm.15131964271339581801.exit276 ], [ %.sroa.5.0.extract.trunc.i268, %922 ] +_RNvMNtCsdF516cSs19B_10rustc_span13span_encodingNtB2_4Span14data_untracked.llvm.15131964271339581801.exit276.thread646: ; preds = %917, %_RNvMNtCsdF516cSs19B_10rustc_span13span_encodingNtB2_4Span14data_untracked.llvm.15131964271339581801.exit276 + %925 = phi i32 [ %.pr644, %_RNvMNtCsdF516cSs19B_10rustc_span13span_encodingNtB2_4Span14data_untracked.llvm.15131964271339581801.exit276 ], [ %.sroa.5.0.extract.trunc.i268, %917 ] %926 = invoke noundef align 8 dereferenceable(8) ptr @_ZN4core4sync6atomic11atomic_load17h733a54ca80041d2bE.llvm.7442130522521287225(ptr noundef nonnull @_RNvCsdF516cSs19B_10rustc_span10SPAN_TRACK, i8 noundef 4) to label %"_ZN97_$LT$rustc_data_structures..atomic_ref..AtomicRef$LT$T$GT$$u20$as$u20$core..ops..deref..Deref$GT$5deref17hb766b2ce54f5f072E.exit278" unwind label %419 -_RNvMNtCsdF516cSs19B_10rustc_span13span_encodingNtB2_4Span14data_untracked.llvm.15131964271339581801.exit276.thread: ; preds = %922, %"_ZN97_$LT$rustc_data_structures..atomic_ref..AtomicRef$LT$T$GT$$u20$as$u20$core..ops..deref..Deref$GT$5deref17hb766b2ce54f5f072E.exit278", %_RNvMNtCsdF516cSs19B_10rustc_span13span_encodingNtB2_4Span14data_untracked.llvm.15131964271339581801.exit276 +_RNvMNtCsdF516cSs19B_10rustc_span13span_encodingNtB2_4Span14data_untracked.llvm.15131964271339581801.exit276.thread: ; preds = %917, %"_ZN97_$LT$rustc_data_structures..atomic_ref..AtomicRef$LT$T$GT$$u20$as$u20$core..ops..deref..Deref$GT$5deref17hb766b2ce54f5f072E.exit278", %_RNvMNtCsdF516cSs19B_10rustc_span13span_encodingNtB2_4Span14data_untracked.llvm.15131964271339581801.exit276 %927 = getelementptr inbounds nuw i8, ptr %96, i64 4 %928 = load i32, ptr %927, align 4, !noundef !10 call void @llvm.lifetime.end.p0(ptr nonnull %96) @@ -26741,14 +26749,14 @@ _RNvMNtCsdF516cSs19B_10rustc_span13span_encodingNtB2_4Span14data_untracked.llvm. %931 = invoke i64 @_ZN15rustfmt_nightly5utils5mk_sp17h98cfa70ea005048dE(i32 noundef %890, i32 noundef %.097) to label %951 unwind label %419 -932: ; preds = %908 - %933 = extractvalue { ptr, i64 } %912, 0 - %934 = extractvalue { ptr, i64 } %912, 1 +932: ; preds = %920 + %933 = extractvalue { ptr, i64 } %924, 0 + %934 = extractvalue { ptr, i64 } %924, 1 call void @llvm.lifetime.start.p0(ptr nonnull %36) store ptr %933, ptr %36, align 8, !noalias !4653 %935 = getelementptr inbounds nuw i8, ptr %36, i64 8 store i64 %934, ptr %935, align 8, !noalias !4653 - %936 = invoke { i32, i32 } @"_ZN100_$LT$rustfmt_nightly..visitor..SnippetProvider$u20$as$u20$rustfmt_nightly..source_map..SpanUtils$GT$15opt_span_before17heca3f3b4847e7dccE"(ptr noalias noundef nonnull readonly align 8 dereferenceable(24) %910, i64 %.sroa.017.0.copyload, ptr noalias noundef nonnull readonly align 1 %933, i64 noundef %934) + %936 = invoke { i32, i32 } @"_ZN100_$LT$rustfmt_nightly..visitor..SnippetProvider$u20$as$u20$rustfmt_nightly..source_map..SpanUtils$GT$15opt_span_before17heca3f3b4847e7dccE"(ptr noalias noundef nonnull readonly align 8 dereferenceable(24) %922, i64 %.sroa.017.0.copyload, ptr noalias noundef nonnull readonly align 1 %933, i64 noundef %934) to label %.noexc281 unwind label %419 .noexc281: ; preds = %932 @@ -26760,7 +26768,7 @@ _RNvMNtCsdF516cSs19B_10rustc_span13span_encodingNtB2_4Span14data_untracked.llvm. call void @llvm.lifetime.start.p0(ptr nonnull %35), !noalias !4657 call void @llvm.lifetime.start.p0(ptr nonnull %34), !noalias !4657 call void @llvm.lifetime.start.p0(ptr nonnull %33), !noalias !4657 - %939 = invoke { ptr, i64 } @_ZN15rustfmt_nightly7visitor15SnippetProvider15span_to_snippet17ha5df2f76ffded08eE(ptr noalias noundef nonnull readonly align 8 dereferenceable(24) %910, i64 %.sroa.017.0.copyload) + %939 = invoke { ptr, i64 } @_ZN15rustfmt_nightly7visitor15SnippetProvider15span_to_snippet17ha5df2f76ffded08eE(ptr noalias noundef nonnull readonly align 8 dereferenceable(24) %922, i64 %.sroa.017.0.copyload) to label %.noexc282 unwind label %419 .noexc282: ; preds = %938 @@ -28213,6 +28221,7 @@ _ZN5alloc3fmt6format17h35125637d547cb53E.exit: ; preds = %123 br label %138 141: ; preds = %_ZN5alloc3fmt6format17h35125637d547cb53E.exit + call void @llvm.assume(i1 true) [ "align"(ptr %129, i64 8) ] %142 = load i64, ptr %3, align 8, !noundef !10 %143 = load i64, ptr %101, align 8, !noundef !10 %144 = load ptr, ptr %77, align 8, !nonnull !10, !align !11, !noundef !10 diff --git a/bench/rustfmt-rs/optimized/4arc02n7xt9gqo2v.ll b/bench/rustfmt-rs/optimized/4arc02n7xt9gqo2v.ll index e6e7a6e9ed5..7351513dae2 100644 --- a/bench/rustfmt-rs/optimized/4arc02n7xt9gqo2v.ll +++ b/bench/rustfmt-rs/optimized/4arc02n7xt9gqo2v.ll @@ -23161,6 +23161,7 @@ define hidden void @_ZN15rustfmt_nightly5items18format_unit_struct17h7c5e329032e br i1 %.not, label %32, label %27 27: ; preds = %5 + call void @llvm.assume(i1 true) [ "align"(ptr %26, i64 8) ] %28 = getelementptr inbounds nuw i8, ptr %1, i64 56 %29 = load ptr, ptr %28, align 8, !nonnull !10, !align !11, !noundef !10 %30 = getelementptr inbounds nuw i8, ptr %2, i64 40 @@ -23683,6 +23684,7 @@ _RNvMNtCsdF516cSs19B_10rustc_span13span_encodingNtB2_4Span14data_untracked.llvm. to label %124 unwind label %95 130: ; preds = %124 + call void @llvm.assume(i1 true) [ "align"(ptr %128, i64 8) ] %131 = getelementptr inbounds nuw i8, ptr %128, i64 24 %.sroa.08.0.copyload = load i64, ptr %131, align 8 call void @llvm.lifetime.start.p0(ptr nonnull %47) @@ -24186,6 +24188,7 @@ _ZN5alloc3fmt6format17h35125637d547cb53E.llvm.5923418642108526555.exit: ; preds %278 = add i32 %.fca.1.extract.i.i163, 1 call void @llvm.lifetime.end.p0(ptr nonnull %30) call void @llvm.lifetime.start.p0(ptr nonnull %66) + call void @llvm.assume(i1 true) [ "align"(ptr %128, i64 8) ] call void @llvm.lifetime.start.p0(ptr nonnull %65) %279 = getelementptr inbounds nuw i8, ptr %1, i64 40 %280 = load ptr, ptr %279, align 8, !nonnull !10, !align !11, !noundef !10 @@ -26852,6 +26855,7 @@ _RNvMNtCsdF516cSs19B_10rustc_span13span_encodingNtB2_4Span14data_untracked.llvm. to label %323 unwind label %89 316: ; preds = %251 + call void @llvm.assume(i1 true) [ "align"(ptr %253, i64 8) ] %317 = load ptr, ptr %79, align 8, !nonnull !10, !noundef !10 %318 = load i64, ptr %81, align 8, !noundef !10 call void @llvm.lifetime.start.p0(ptr nonnull %27), !noalias !4940 @@ -27360,6 +27364,7 @@ _ZN15rustfmt_nightly5utils5mk_sp17h98cfa70ea005048dE.exit312: ; preds = %475 br i1 %254, label %509, label %491 491: ; preds = %488 + call void @llvm.assume(i1 true) [ "align"(ptr %253, i64 8) ] %.sroa.032.0.copyload = load i64, ptr %253, align 8 call void @llvm.lifetime.start.p0(ptr nonnull %48) call void @llvm.experimental.noalias.scope.decl(metadata !5034) @@ -30523,6 +30528,7 @@ _ZN5alloc3fmt6format17h35125637d547cb53E.llvm.5923418642108526555.exit81: ; pred br label %309 192: ; preds = %180 + call void @llvm.assume(i1 true) [ "align"(ptr %182, i64 8) ] %193 = load ptr, ptr %71, align 8, !nonnull !10, !align !11, !noundef !10 %194 = getelementptr inbounds nuw i8, ptr %2, i64 24 %.sroa.034.0.copyload = load i64, ptr %194, align 8 diff --git a/bench/salsa-rs/optimized/0re58vbodfo9fw2ucr33a7vsy.ll b/bench/salsa-rs/optimized/0re58vbodfo9fw2ucr33a7vsy.ll index 33936a042f6..53acc2948ed 100644 --- a/bench/salsa-rs/optimized/0re58vbodfo9fw2ucr33a7vsy.ll +++ b/bench/salsa-rs/optimized/0re58vbodfo9fw2ucr33a7vsy.ll @@ -1196,6 +1196,7 @@ define internal fastcc void @"_ZN4core3ptr51drop_in_place$LT$salsa..storage..Coo to label %.noexc unwind label %15 .noexc: ; preds = %6, %1 + call void @llvm.assume(i1 true) [ "align"(ptr %3, i64 8) ] %8 = getelementptr inbounds nuw i8, ptr %2, i64 24 %9 = load i64, ptr %8, align 8, !noalias !139, !noundef !10 %10 = add i64 %9, -1 @@ -2117,6 +2118,7 @@ define void @"_ZN72_$LT$salsa..storage..CoordinateDrop$u20$as$u20$core..ops..dro br label %8 8: ; preds = %1, %6 + call void @llvm.assume(i1 true) [ "align"(ptr %3, i64 8) ] %9 = getelementptr inbounds nuw i8, ptr %2, i64 24 %10 = load i64, ptr %9, align 8, !noundef !10 %11 = add i64 %10, -1 @@ -2282,6 +2284,7 @@ define void @"_ZN119_$LT$salsa..tracked_struct..IngredientImpl$LT$C$GT$..delete_ br i1 %.not.i, label %_ZN5salsa5table4memo21MemoTableWithTypesMut4drop17hc72c1e83420afa7cE.exit, label %35 35: ; preds = %"_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$4next17hfa2b4d785c4b0ca5E.exit.i" + call void @llvm.assume(i1 true) [ "align"(ptr %34, i64 8) ] %.sroa.10.i.0..sroa.10.i.0..sroa.10.i.0..sroa.10.0..sroa.10.0..sroa.10.16..i = load i64, ptr %.sroa.10.i, align 8, !range !25, !noundef !10 %36 = inttoptr i64 %.sroa.10.i.0..sroa.10.i.0..sroa.10.i.0..sroa.10.0..sroa.10.0..sroa.10.16..i to ptr tail call void @llvm.experimental.noalias.scope.decl(metadata !351) @@ -2291,13 +2294,13 @@ define void @"_ZN119_$LT$salsa..tracked_struct..IngredientImpl$LT$C$GT$..delete_ 39: ; preds = %35 %40 = getelementptr inbounds nuw i8, ptr %34, i64 24 - %41 = load atomic i32, ptr %40 acquire, align 4, !noalias !351 + %41 = load atomic i32, ptr %40 acquire, align 8, !noalias !351 br label %"_ZN4core3ptr106drop_in_place$LT$core..option..Option$LT$alloc..boxed..Box$LT$dyn$u20$salsa..table..memo..Memo$GT$$GT$$GT$17h12e3398bbf216595E.exit.i" 42: ; preds = %35 store ptr null, ptr %36, align 8, !alias.scope !351 %43 = getelementptr inbounds nuw i8, ptr %34, i64 24 - %44 = load atomic i32, ptr %43 acquire, align 4, !noalias !351 + %44 = load atomic i32, ptr %43 acquire, align 8, !noalias !351 %.not.i.i = icmp eq i32 %44, 3 br i1 %.not.i.i, label %45, label %"_ZN4core3ptr106drop_in_place$LT$core..option..Option$LT$alloc..boxed..Box$LT$dyn$u20$salsa..table..memo..Memo$GT$$GT$$GT$17h12e3398bbf216595E.exit.i" diff --git a/bench/smol-rs/optimized/45vbdutx5dtz1hlf.ll b/bench/smol-rs/optimized/45vbdutx5dtz1hlf.ll index d33c682ef2f..55b8db07c72 100644 --- a/bench/smol-rs/optimized/45vbdutx5dtz1hlf.ll +++ b/bench/smol-rs/optimized/45vbdutx5dtz1hlf.ll @@ -405,6 +405,7 @@ _ZN10async_task5utils14abort_on_panic17hc62b1a0244b44f31E.exit40: ; preds = %22 48: ; preds = %43 tail call void @llvm.experimental.noalias.scope.decl(metadata !44) tail call void @llvm.experimental.noalias.scope.decl(metadata !47) + call void @llvm.assume(i1 true) [ "align"(ptr %46, i64 8) ] %49 = getelementptr inbounds nuw i8, ptr %46, i64 24 %50 = load ptr, ptr %49, align 8, !noalias !50, !nonnull !5, !noundef !5 %51 = getelementptr inbounds nuw i8, ptr %3, i64 24 @@ -521,6 +522,7 @@ _ZN10async_task5utils14abort_on_panic17h24d5d09bd64db3e2E.exit: ; preds = %"_ZN1 90: ; preds = %85 tail call void @llvm.experimental.noalias.scope.decl(metadata !79) tail call void @llvm.experimental.noalias.scope.decl(metadata !82) + call void @llvm.assume(i1 true) [ "align"(ptr %88, i64 8) ] %91 = getelementptr inbounds nuw i8, ptr %88, i64 24 %92 = load ptr, ptr %91, align 8, !noalias !85, !nonnull !5, !noundef !5 %93 = getelementptr inbounds nuw i8, ptr %3, i64 24 @@ -706,6 +708,7 @@ _ZN10async_task5utils14abort_on_panic17h2575768a55ca6576E.exit41: ; preds = %21 46: ; preds = %41 tail call void @llvm.experimental.noalias.scope.decl(metadata !141) tail call void @llvm.experimental.noalias.scope.decl(metadata !144) + call void @llvm.assume(i1 true) [ "align"(ptr %44, i64 8) ] %47 = getelementptr inbounds nuw i8, ptr %44, i64 24 %48 = load ptr, ptr %47, align 8, !noalias !147, !nonnull !5, !noundef !5 %49 = getelementptr inbounds nuw i8, ptr %3, i64 24 @@ -822,6 +825,7 @@ _ZN10async_task5utils14abort_on_panic17h1286833889566a64E.exit: ; preds = %"_ZN1 88: ; preds = %83 tail call void @llvm.experimental.noalias.scope.decl(metadata !176) tail call void @llvm.experimental.noalias.scope.decl(metadata !179) + call void @llvm.assume(i1 true) [ "align"(ptr %86, i64 8) ] %89 = getelementptr inbounds nuw i8, ptr %86, i64 24 %90 = load ptr, ptr %89, align 8, !noalias !182, !nonnull !5, !noundef !5 %91 = getelementptr inbounds nuw i8, ptr %3, i64 24 @@ -1121,6 +1125,7 @@ common.resume: ; preds = %29, %20 33: ; preds = %31 %.fca.1.extract = extractvalue { ptr, ptr } %28, 1 + call void @llvm.assume(i1 true) [ "align"(ptr %.fca.0.extract, i64 8) ] %34 = getelementptr inbounds nuw i8, ptr %.fca.0.extract, i64 24 %35 = load ptr, ptr %34, align 8, !noalias !224, !nonnull !5, !noundef !5 invoke void %35(ptr noundef %.fca.1.extract) @@ -1224,6 +1229,7 @@ define hidden void @"_ZN14event_listener1_89_$LT$impl$u20$core..ops..drop..Drop$ 13: ; preds = %10 tail call void @llvm.experimental.noalias.scope.decl(metadata !250) tail call void @llvm.experimental.noalias.scope.decl(metadata !253) + call void @llvm.assume(i1 true) [ "align"(ptr %12, i64 8) ] %14 = getelementptr inbounds nuw i8, ptr %12, i64 24 %15 = load ptr, ptr %14, align 8, !noalias !256, !nonnull !5, !noundef !5 %16 = getelementptr inbounds nuw i8, ptr %2, i64 16 @@ -1465,6 +1471,7 @@ define hidden void @"_ZN4core3ptr102drop_in_place$LT$core..cell..UnsafeCell$LT$c 4: ; preds = %1 tail call void @llvm.experimental.noalias.scope.decl(metadata !276) tail call void @llvm.experimental.noalias.scope.decl(metadata !279) + call void @llvm.assume(i1 true) [ "align"(ptr %2, i64 8) ] %5 = getelementptr inbounds nuw i8, ptr %2, i64 24 %6 = load ptr, ptr %5, align 8, !noalias !282, !nonnull !5, !noundef !5 %7 = getelementptr inbounds nuw i8, ptr %0, i64 8 @@ -1866,6 +1873,7 @@ define hidden void @"_ZN4core3ptr122drop_in_place$LT$core..cell..RefCell$LT$core 14: ; preds = %"_ZN4core3ptr36drop_in_place$LT$parking..Parker$GT$17hfdc1a75f20367fb3E.exit.i.i.i" tail call void @llvm.experimental.noalias.scope.decl(metadata !384) tail call void @llvm.experimental.noalias.scope.decl(metadata !387) + call void @llvm.assume(i1 true) [ "align"(ptr %13, i64 8) ] %15 = getelementptr inbounds nuw i8, ptr %13, i64 24 %16 = load ptr, ptr %15, align 8, !noalias !390, !nonnull !5, !noundef !5 %17 = getelementptr inbounds nuw i8, ptr %0, i64 24 @@ -1954,6 +1962,7 @@ define hidden void @"_ZN4core3ptr125drop_in_place$LT$core..cell..UnsafeCell$LT$c 13: ; preds = %"_ZN4core3ptr36drop_in_place$LT$parking..Parker$GT$17hfdc1a75f20367fb3E.exit.i.i" tail call void @llvm.experimental.noalias.scope.decl(metadata !425) tail call void @llvm.experimental.noalias.scope.decl(metadata !428) + call void @llvm.assume(i1 true) [ "align"(ptr %12, i64 8) ] %14 = getelementptr inbounds nuw i8, ptr %12, i64 24 %15 = load ptr, ptr %14, align 8, !noalias !431, !nonnull !5, !noundef !5 %16 = getelementptr inbounds nuw i8, ptr %0, i64 16 @@ -2024,6 +2033,7 @@ define hidden void @"_ZN4core3ptr125drop_in_place$LT$event_listener..Listener$LT 13: ; preds = %10 tail call void @llvm.experimental.noalias.scope.decl(metadata !454) tail call void @llvm.experimental.noalias.scope.decl(metadata !457) + call void @llvm.assume(i1 true) [ "align"(ptr %12, i64 8) ] %14 = getelementptr inbounds nuw i8, ptr %12, i64 24 %15 = load ptr, ptr %14, align 8, !noalias !460, !nonnull !5, !noundef !5 %16 = getelementptr inbounds nuw i8, ptr %2, i64 16 @@ -2117,6 +2127,7 @@ define hidden void @"_ZN4core3ptr125drop_in_place$LT$event_listener..Listener$LT 47: ; preds = %44 call void @llvm.experimental.noalias.scope.decl(metadata !508) call void @llvm.experimental.noalias.scope.decl(metadata !511) + call void @llvm.assume(i1 true) [ "align"(ptr %46, i64 8) ] %48 = getelementptr inbounds nuw i8, ptr %46, i64 24 %49 = load ptr, ptr %48, align 8, !noalias !514, !nonnull !5, !noundef !5 %50 = getelementptr inbounds nuw i8, ptr %0, i64 24 @@ -3654,6 +3665,7 @@ define hidden void @"_ZN4core3ptr41drop_in_place$LT$event_listener..Task$GT$17hc 3: ; preds = %1 tail call void @llvm.experimental.noalias.scope.decl(metadata !961) tail call void @llvm.experimental.noalias.scope.decl(metadata !964) + call void @llvm.assume(i1 true) [ "align"(ptr %2, i64 8) ] %4 = getelementptr inbounds nuw i8, ptr %2, i64 24 %5 = load ptr, ptr %4, align 8, !noalias !967, !nonnull !5, !noundef !5 %6 = getelementptr inbounds nuw i8, ptr %0, i64 8 @@ -4768,6 +4780,7 @@ define hidden void @"_ZN4core3ptr58drop_in_place$LT$event_listener..State$LT$$LP 6: ; preds = %3 tail call void @llvm.experimental.noalias.scope.decl(metadata !1340) tail call void @llvm.experimental.noalias.scope.decl(metadata !1343) + call void @llvm.assume(i1 true) [ "align"(ptr %5, i64 8) ] %7 = getelementptr inbounds nuw i8, ptr %5, i64 24 %8 = load ptr, ptr %7, align 8, !noalias !1346, !nonnull !5, !noundef !5 %9 = getelementptr inbounds nuw i8, ptr %0, i64 16 @@ -4953,6 +4966,7 @@ define hidden void @"_ZN4core3ptr62drop_in_place$LT$event_listener..sys..Link$LT 6: ; preds = %3 tail call void @llvm.experimental.noalias.scope.decl(metadata !1414) tail call void @llvm.experimental.noalias.scope.decl(metadata !1417) + call void @llvm.assume(i1 true) [ "align"(ptr %5, i64 8) ] %7 = getelementptr inbounds nuw i8, ptr %5, i64 24 %8 = load ptr, ptr %7, align 8, !noalias !1420, !nonnull !5, !noundef !5 %9 = getelementptr inbounds nuw i8, ptr %0, i64 16 @@ -5087,6 +5101,7 @@ define hidden void @"_ZN4core3ptr63drop_in_place$LT$async_task..header..Header$L 5: ; preds = %1 tail call void @llvm.experimental.noalias.scope.decl(metadata !1471) tail call void @llvm.experimental.noalias.scope.decl(metadata !1474) + call void @llvm.assume(i1 true) [ "align"(ptr %3, i64 8) ] %6 = getelementptr inbounds nuw i8, ptr %3, i64 24 %7 = load ptr, ptr %6, align 8, !noalias !1477, !nonnull !5, !noundef !5 %8 = getelementptr inbounds nuw i8, ptr %0, i64 24 @@ -5295,6 +5310,7 @@ define hidden void @"_ZN4core3ptr66drop_in_place$LT$event_listener..sys..Listene 6: ; preds = %3 tail call void @llvm.experimental.noalias.scope.decl(metadata !1529) tail call void @llvm.experimental.noalias.scope.decl(metadata !1532) + call void @llvm.assume(i1 true) [ "align"(ptr %5, i64 8) ] %7 = getelementptr inbounds nuw i8, ptr %5, i64 24 %8 = load ptr, ptr %7, align 8, !noalias !1535, !nonnull !5, !noundef !5 %9 = getelementptr inbounds nuw i8, ptr %0, i64 16 @@ -5354,6 +5370,7 @@ define hidden void @"_ZN4core3ptr67drop_in_place$LT$$LP$parking..Parker$C$event_ 11: ; preds = %"_ZN4core3ptr36drop_in_place$LT$parking..Parker$GT$17hfdc1a75f20367fb3E.exit" tail call void @llvm.experimental.noalias.scope.decl(metadata !1562) tail call void @llvm.experimental.noalias.scope.decl(metadata !1565) + call void @llvm.assume(i1 true) [ "align"(ptr %10, i64 8) ] %12 = getelementptr inbounds nuw i8, ptr %10, i64 24 %13 = load ptr, ptr %12, align 8, !noalias !1568, !nonnull !5, !noundef !5 %14 = getelementptr inbounds nuw i8, ptr %0, i64 16 @@ -5678,6 +5695,7 @@ define hidden void @"_ZN4core3ptr72drop_in_place$LT$core..option..Option$LT$core 5: ; preds = %1 tail call void @llvm.experimental.noalias.scope.decl(metadata !1617) tail call void @llvm.experimental.noalias.scope.decl(metadata !1620) + call void @llvm.assume(i1 true) [ "align"(ptr %2, i64 8) ] %6 = getelementptr inbounds nuw i8, ptr %2, i64 24 %7 = load ptr, ptr %6, align 8, !noalias !1623, !nonnull !5, !noundef !5 %8 = getelementptr inbounds nuw i8, ptr %0, i64 8 @@ -6257,6 +6275,7 @@ define hidden void @"_ZN4core3ptr82drop_in_place$LT$core..cell..Cell$LT$event_li 6: ; preds = %3 tail call void @llvm.experimental.noalias.scope.decl(metadata !1818) tail call void @llvm.experimental.noalias.scope.decl(metadata !1821) + call void @llvm.assume(i1 true) [ "align"(ptr %5, i64 8) ] %7 = getelementptr inbounds nuw i8, ptr %5, i64 24 %8 = load ptr, ptr %7, align 8, !noalias !1824, !nonnull !5, !noundef !5 %9 = getelementptr inbounds nuw i8, ptr %0, i64 16 @@ -6517,6 +6536,7 @@ define hidden void @"_ZN4core3ptr88drop_in_place$LT$core..cell..UnsafeCell$LT$ev 6: ; preds = %3 tail call void @llvm.experimental.noalias.scope.decl(metadata !1883) tail call void @llvm.experimental.noalias.scope.decl(metadata !1886) + call void @llvm.assume(i1 true) [ "align"(ptr %5, i64 8) ] %7 = getelementptr inbounds nuw i8, ptr %5, i64 24 %8 = load ptr, ptr %7, align 8, !noalias !1889, !nonnull !5, !noundef !5 %9 = getelementptr inbounds nuw i8, ptr %0, i64 16 @@ -6727,6 +6747,7 @@ define hidden void @"_ZN4core3ptr92drop_in_place$LT$core..cell..UnsafeCell$LT$ev 6: ; preds = %3 tail call void @llvm.experimental.noalias.scope.decl(metadata !1943) tail call void @llvm.experimental.noalias.scope.decl(metadata !1946) + call void @llvm.assume(i1 true) [ "align"(ptr %5, i64 8) ] %7 = getelementptr inbounds nuw i8, ptr %5, i64 24 %8 = load ptr, ptr %7, align 8, !noalias !1949, !nonnull !5, !noundef !5 %9 = getelementptr inbounds nuw i8, ptr %0, i64 16 @@ -6925,6 +6946,7 @@ define hidden void @"_ZN4core3ptr94drop_in_place$LT$core..option..Option$LT$even 10: ; preds = %7 tail call void @llvm.experimental.noalias.scope.decl(metadata !2011) tail call void @llvm.experimental.noalias.scope.decl(metadata !2014) + call void @llvm.assume(i1 true) [ "align"(ptr %9, i64 8) ] %11 = getelementptr inbounds nuw i8, ptr %9, i64 24 %12 = load ptr, ptr %11, align 8, !noalias !2017, !nonnull !5, !noundef !5 %13 = getelementptr inbounds nuw i8, ptr %0, i64 24 @@ -6985,6 +7007,7 @@ define hidden void @"_ZN4core3ptr95drop_in_place$LT$core..option..Option$LT$$LP$ 13: ; preds = %"_ZN4core3ptr36drop_in_place$LT$parking..Parker$GT$17hfdc1a75f20367fb3E.exit.i" tail call void @llvm.experimental.noalias.scope.decl(metadata !2044) tail call void @llvm.experimental.noalias.scope.decl(metadata !2047) + call void @llvm.assume(i1 true) [ "align"(ptr %12, i64 8) ] %14 = getelementptr inbounds nuw i8, ptr %12, i64 24 %15 = load ptr, ptr %14, align 8, !noalias !2050, !nonnull !5, !noundef !5 %16 = getelementptr inbounds nuw i8, ptr %0, i64 16 diff --git a/bench/stat-rs/optimized/20o1n4zmlkej35p7.ll b/bench/stat-rs/optimized/20o1n4zmlkej35p7.ll index 36934d976ac..d2a57ddc848 100644 --- a/bench/stat-rs/optimized/20o1n4zmlkej35p7.ll +++ b/bench/stat-rs/optimized/20o1n4zmlkej35p7.ll @@ -132,14 +132,16 @@ define hidden { ptr, ptr } @"_ZN108_$LT$alloc..collections..btree..map..Iter$LT$ resume { ptr, i32 } %38 _ZN5alloc11collections5btree3mem7replace17h0143aa89c05cdaefE.llvm.7371537965014501254.exit: ; preds = %.noexc2.i + %41 = extractvalue { ptr, ptr } %36, 0 + %42 = extractvalue { ptr, ptr } %36, 1 call void @llvm.lifetime.end.p0(ptr nonnull %5), !noalias !14 call void @llvm.lifetime.end.p0(ptr nonnull %6), !noalias !14 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %8, ptr noundef nonnull align 8 dereferenceable(24) %7, i64 24, i1 false), !noalias !14 + call void @llvm.assume(i1 true) [ "align"(ptr %41, i64 8) ] + call void @llvm.assume(i1 true) [ "align"(ptr %42, i64 8) ] call void @llvm.lifetime.end.p0(ptr nonnull %7), !noalias !14 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %16, ptr noundef nonnull align 8 dereferenceable(24) %8, i64 24, i1 false) call void @llvm.lifetime.end.p0(ptr nonnull %8) - %41 = extractvalue { ptr, ptr } %36, 0 - %42 = extractvalue { ptr, ptr } %36, 1 br label %29 } @@ -811,14 +813,16 @@ define hidden { ptr, ptr } @"_ZN123_$LT$alloc..collections..btree..map..Iter$LT$ resume { ptr, i32 } %47 _ZN5alloc11collections5btree3mem7replace17h1bb4c45f803c59fbE.llvm.7371537965014501254.exit: ; preds = %.noexc2.i + %50 = extractvalue { ptr, ptr } %45, 0 + %51 = extractvalue { ptr, ptr } %45, 1 call void @llvm.lifetime.end.p0(ptr nonnull %5), !noalias !166 call void @llvm.lifetime.end.p0(ptr nonnull %6), !noalias !166 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %8, ptr noundef nonnull align 8 dereferenceable(24) %7, i64 24, i1 false), !noalias !166 + call void @llvm.assume(i1 true) [ "align"(ptr %50, i64 8) ] + call void @llvm.assume(i1 true) [ "align"(ptr %51, i64 8) ] call void @llvm.lifetime.end.p0(ptr nonnull %7), !noalias !166 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %17, ptr noundef nonnull align 8 dereferenceable(24) %8, i64 24, i1 false) call void @llvm.lifetime.end.p0(ptr nonnull %8) - %50 = extractvalue { ptr, ptr } %45, 0 - %51 = extractvalue { ptr, ptr } %45, 1 br label %38 } diff --git a/bench/syn/optimized/19z3k5eqgbxjiezn.ll b/bench/syn/optimized/19z3k5eqgbxjiezn.ll index af0659f8fbe..5f117b2b8f1 100644 --- a/bench/syn/optimized/19z3k5eqgbxjiezn.ll +++ b/bench/syn/optimized/19z3k5eqgbxjiezn.ll @@ -1892,6 +1892,7 @@ default.unreachable: ; preds = %2 %.fca.1.extract.i = extractvalue { ptr, ptr } %18, 1 %.fca.1.gep.i = getelementptr inbounds nuw i8, ptr %7, i64 8 store ptr %.fca.1.extract.i, ptr %.fca.1.gep.i, align 8, !noalias !272 + call void @llvm.assume(i1 true) [ "align"(ptr %.fca.1.extract.i, i64 8) ] %19 = getelementptr inbounds nuw i8, ptr %.fca.1.extract.i, i64 24 %20 = load ptr, ptr %19, align 8, !invariant.load !4, !nonnull !4 %21 = invoke noundef align 8 dereferenceable_or_null(96) ptr %20(ptr noundef align 1 %.fca.0.extract.i) @@ -1966,6 +1967,7 @@ common.resume: ; preds = %46, %22 %.fca.1.extract.i11 = extractvalue { ptr, ptr } %42, 1 %.fca.1.gep.i12 = getelementptr inbounds nuw i8, ptr %4, i64 8 store ptr %.fca.1.extract.i11, ptr %.fca.1.gep.i12, align 8, !noalias !280 + call void @llvm.assume(i1 true) [ "align"(ptr %.fca.1.extract.i11, i64 8) ] %43 = getelementptr inbounds nuw i8, ptr %.fca.1.extract.i11, i64 56 %44 = load ptr, ptr %43, align 8, !invariant.load !4, !nonnull !4 %45 = invoke noundef align 8 dereferenceable_or_null(96) ptr %44(ptr noundef align 1 %.fca.0.extract.i10) @@ -2068,6 +2070,7 @@ default.unreachable: ; preds = %2 %.fca.1.extract.i = extractvalue { ptr, ptr } %18, 1 %.fca.1.gep.i = getelementptr inbounds nuw i8, ptr %7, i64 8 store ptr %.fca.1.extract.i, ptr %.fca.1.gep.i, align 8, !noalias !296 + call void @llvm.assume(i1 true) [ "align"(ptr %.fca.1.extract.i, i64 8) ] %19 = getelementptr inbounds nuw i8, ptr %.fca.1.extract.i, i64 24 %20 = load ptr, ptr %19, align 8, !invariant.load !4, !nonnull !4 %21 = invoke noundef align 8 dereferenceable_or_null(96) ptr %20(ptr noundef align 1 %.fca.0.extract.i) @@ -2145,6 +2148,7 @@ common.resume: ; preds = %48, %22 %.fca.1.extract.i14 = extractvalue { ptr, ptr } %44, 1 %.fca.1.gep.i15 = getelementptr inbounds nuw i8, ptr %4, i64 8 store ptr %.fca.1.extract.i14, ptr %.fca.1.gep.i15, align 8, !noalias !304 + call void @llvm.assume(i1 true) [ "align"(ptr %.fca.1.extract.i14, i64 8) ] %45 = getelementptr inbounds nuw i8, ptr %.fca.1.extract.i14, i64 56 %46 = load ptr, ptr %45, align 8, !invariant.load !4, !nonnull !4 %47 = invoke noundef align 8 dereferenceable_or_null(96) ptr %46(ptr noundef align 1 %.fca.0.extract.i13) diff --git a/bench/syn/optimized/2tga7oe2tfdpj05w.ll b/bench/syn/optimized/2tga7oe2tfdpj05w.ll index 39a0060022f..52542556d4f 100644 --- a/bench/syn/optimized/2tga7oe2tfdpj05w.ll +++ b/bench/syn/optimized/2tga7oe2tfdpj05w.ll @@ -2222,6 +2222,7 @@ default.unreachable: ; preds = %165, %150, %135, %1 br label %"_ZN3syn10punctuated8printing91_$LT$impl$u20$quote..to_tokens..ToTokens$u20$for$u20$syn..punctuated..Pair$LT$T$C$P$GT$$GT$9to_tokens17h2f65737e4172ea54E.exit.outer.backedge" 135: ; preds = %91 + call void @llvm.assume(i1 true) [ "align"(ptr %86, i64 8) ] tail call void @"_ZN65_$LT$proc_macro2..Ident$u20$as$u20$quote..to_tokens..ToTokens$GT$9to_tokens17h629b5813b48ddffcE"(ptr noalias noundef nonnull readonly align 8 dereferenceable(96) %86, ptr noalias noundef nonnull align 8 dereferenceable(32) %0), !noalias !501 %136 = getelementptr inbounds nuw i8, ptr %86, i64 32 %137 = load i64, ptr %136, align 8, !range !77, !alias.scope !504, !noalias !507, !noundef !7 @@ -2254,6 +2255,7 @@ default.unreachable: ; preds = %165, %150, %135, %1 br label %"_ZN3syn4path8printing81_$LT$impl$u20$quote..to_tokens..ToTokens$u20$for$u20$syn..path..PathArguments$GT$9to_tokens17h9597255c2fe3aa38E.exit19" "_ZN3syn4path8printing81_$LT$impl$u20$quote..to_tokens..ToTokens$u20$for$u20$syn..path..PathArguments$GT$9to_tokens17h9597255c2fe3aa38E.exit19": ; preds = %135, %142, %147, %140 + call void @llvm.assume(i1 true) [ "align"(ptr %93, i64 4) ] tail call void @_ZN3syn5token8printing5punct17h32409e3f9cc0b330E(ptr noalias noundef nonnull readonly align 1 @anon.e4fd49bda13fc8b05702603de3f8b493.170.llvm.15435319159651575738, i64 noundef 2, ptr noalias noundef nonnull readonly align 4 dereferenceable(8) %93, i64 noundef 2, ptr noalias noundef nonnull align 8 dereferenceable(32) %0), !noalias !514 br label %"_ZN3syn10punctuated8printing91_$LT$impl$u20$quote..to_tokens..ToTokens$u20$for$u20$syn..punctuated..Pair$LT$T$C$P$GT$$GT$9to_tokens17h2f65737e4172ea54E.exit7" @@ -2290,55 +2292,54 @@ default.unreachable: ; preds = %165, %150, %135, %1 br label %"_ZN3syn10punctuated8printing91_$LT$impl$u20$quote..to_tokens..ToTokens$u20$for$u20$syn..punctuated..Pair$LT$T$C$P$GT$$GT$9to_tokens17h2f65737e4172ea54E.exit7" 165: ; preds = %.thread100, %91 - %.sroa.5.0 = phi ptr [ null, %.thread100 ], [ %93, %91 ] - %166 = phi ptr [ null, %.thread100 ], [ %85, %91 ] - %167 = phi ptr [ %86, %.thread100 ], [ %92, %91 ] + %166 = phi ptr [ null, %.thread100 ], [ %93, %91 ] + %167 = phi ptr [ null, %.thread100 ], [ %85, %91 ] + %168 = phi ptr [ %86, %.thread100 ], [ %92, %91 ] %.sroa.64.1.i108 = phi ptr [ %85, %.thread100 ], [ %86, %91 ] + call void @llvm.assume(i1 true) [ "align"(ptr %.sroa.64.1.i108, i64 8) ] tail call void @"_ZN65_$LT$proc_macro2..Ident$u20$as$u20$quote..to_tokens..ToTokens$GT$9to_tokens17h629b5813b48ddffcE"(ptr noalias noundef nonnull readonly align 8 dereferenceable(96) %.sroa.64.1.i108, ptr noalias noundef nonnull align 8 dereferenceable(32) %0) - %168 = getelementptr inbounds nuw i8, ptr %.sroa.64.1.i108, i64 32 - %169 = load i64, ptr %168, align 8, !range !77, !alias.scope !530, !noalias !533, !noundef !7 - %170 = xor i64 %169, -9223372036854775808 - %171 = tail call i64 @llvm.umin.i64(i64 %170, i64 2) - switch i64 %171, label %default.unreachable [ + %169 = getelementptr inbounds nuw i8, ptr %.sroa.64.1.i108, i64 32 + %170 = load i64, ptr %169, align 8, !range !77, !alias.scope !530, !noalias !533, !noundef !7 + %171 = xor i64 %170, -9223372036854775808 + %172 = tail call i64 @llvm.umin.i64(i64 %171, i64 2) + switch i64 %172, label %default.unreachable [ i64 0, label %"_ZN3syn4path8printing81_$LT$impl$u20$quote..to_tokens..ToTokens$u20$for$u20$syn..path..PathArguments$GT$9to_tokens17h9597255c2fe3aa38E.exit" - i64 1, label %172 - i64 2, label %174 + i64 1, label %173 + i64 2, label %175 ] -172: ; preds = %165 - %173 = getelementptr inbounds nuw i8, ptr %.sroa.64.1.i108, i64 40 - tail call void @"_ZN3syn4path8printing98_$LT$impl$u20$quote..to_tokens..ToTokens$u20$for$u20$syn..path..AngleBracketedGenericArguments$GT$9to_tokens17h13f6c1ac8d1c6619E"(ptr noalias noundef nonnull readonly align 8 dereferenceable(56) %173, ptr noalias noundef nonnull align 8 dereferenceable(32) %0) +173: ; preds = %165 + %174 = getelementptr inbounds nuw i8, ptr %.sroa.64.1.i108, i64 40 + tail call void @"_ZN3syn4path8printing98_$LT$impl$u20$quote..to_tokens..ToTokens$u20$for$u20$syn..path..AngleBracketedGenericArguments$GT$9to_tokens17h13f6c1ac8d1c6619E"(ptr noalias noundef nonnull readonly align 8 dereferenceable(56) %174, ptr noalias noundef nonnull align 8 dereferenceable(32) %0) br label %"_ZN3syn4path8printing81_$LT$impl$u20$quote..to_tokens..ToTokens$u20$for$u20$syn..path..PathArguments$GT$9to_tokens17h9597255c2fe3aa38E.exit" -174: ; preds = %165 - %175 = getelementptr inbounds nuw i8, ptr %.sroa.64.1.i108, i64 80 - tail call void @_ZN3syn5token5Paren8surround17hfdc6a5ac57cb9305E(ptr noalias noundef nonnull readonly align 4 dereferenceable(12) %175, ptr noalias noundef nonnull align 8 dereferenceable(32) %0, ptr noalias noundef nonnull readonly align 8 dereferenceable(64) %168) - %176 = getelementptr inbounds nuw i8, ptr %.sroa.64.1.i108, i64 64 - %177 = load ptr, ptr %176, align 8, !alias.scope !535, !noalias !538, !noundef !7 - %178 = icmp eq ptr %177, null - br i1 %178, label %"_ZN3syn4path8printing81_$LT$impl$u20$quote..to_tokens..ToTokens$u20$for$u20$syn..path..PathArguments$GT$9to_tokens17h9597255c2fe3aa38E.exit", label %179 - -179: ; preds = %174 - %180 = getelementptr inbounds nuw i8, ptr %.sroa.64.1.i108, i64 72 - tail call void @_ZN3syn5token8printing5punct17h32409e3f9cc0b330E(ptr noalias noundef nonnull readonly align 1 @anon.e4fd49bda13fc8b05702603de3f8b493.184.llvm.15435319159651575738, i64 noundef 2, ptr noalias noundef nonnull readonly align 4 dereferenceable(8) %180, i64 noundef 2, ptr noalias noundef nonnull align 8 dereferenceable(32) %0) - %181 = load ptr, ptr %176, align 8, !alias.scope !535, !noalias !538, !nonnull !7, !align !141, !noundef !7 - tail call void @"_ZN60_$LT$syn..ty..Type$u20$as$u20$quote..to_tokens..ToTokens$GT$9to_tokens17hfe21a6835586d0a0E"(ptr noalias noundef nonnull readonly align 8 dereferenceable(232) %181, ptr noalias noundef nonnull align 8 dereferenceable(32) %0) +175: ; preds = %165 + %176 = getelementptr inbounds nuw i8, ptr %.sroa.64.1.i108, i64 80 + tail call void @_ZN3syn5token5Paren8surround17hfdc6a5ac57cb9305E(ptr noalias noundef nonnull readonly align 4 dereferenceable(12) %176, ptr noalias noundef nonnull align 8 dereferenceable(32) %0, ptr noalias noundef nonnull readonly align 8 dereferenceable(64) %169) + %177 = getelementptr inbounds nuw i8, ptr %.sroa.64.1.i108, i64 64 + %178 = load ptr, ptr %177, align 8, !alias.scope !535, !noalias !538, !noundef !7 + %179 = icmp eq ptr %178, null + br i1 %179, label %"_ZN3syn4path8printing81_$LT$impl$u20$quote..to_tokens..ToTokens$u20$for$u20$syn..path..PathArguments$GT$9to_tokens17h9597255c2fe3aa38E.exit", label %180 + +180: ; preds = %175 + %181 = getelementptr inbounds nuw i8, ptr %.sroa.64.1.i108, i64 72 + tail call void @_ZN3syn5token8printing5punct17h32409e3f9cc0b330E(ptr noalias noundef nonnull readonly align 1 @anon.e4fd49bda13fc8b05702603de3f8b493.184.llvm.15435319159651575738, i64 noundef 2, ptr noalias noundef nonnull readonly align 4 dereferenceable(8) %181, i64 noundef 2, ptr noalias noundef nonnull align 8 dereferenceable(32) %0) + %182 = load ptr, ptr %177, align 8, !alias.scope !535, !noalias !538, !nonnull !7, !align !141, !noundef !7 + tail call void @"_ZN60_$LT$syn..ty..Type$u20$as$u20$quote..to_tokens..ToTokens$GT$9to_tokens17hfe21a6835586d0a0E"(ptr noalias noundef nonnull readonly align 8 dereferenceable(232) %182, ptr noalias noundef nonnull align 8 dereferenceable(32) %0) br label %"_ZN3syn4path8printing81_$LT$impl$u20$quote..to_tokens..ToTokens$u20$for$u20$syn..path..PathArguments$GT$9to_tokens17h9597255c2fe3aa38E.exit" -"_ZN3syn4path8printing81_$LT$impl$u20$quote..to_tokens..ToTokens$u20$for$u20$syn..path..PathArguments$GT$9to_tokens17h9597255c2fe3aa38E.exit": ; preds = %165, %179, %174, %172 +"_ZN3syn4path8printing81_$LT$impl$u20$quote..to_tokens..ToTokens$u20$for$u20$syn..path..PathArguments$GT$9to_tokens17h9597255c2fe3aa38E.exit": ; preds = %165, %180, %175, %173 tail call void @_ZN3syn5token8printing5punct17h32409e3f9cc0b330E(ptr noalias noundef nonnull readonly align 1 @anon.e4fd49bda13fc8b05702603de3f8b493.148.llvm.15435319159651575738, i64 noundef 1, ptr noalias noundef nonnull readonly align 4 dereferenceable(4) %82, i64 noundef 1, ptr noalias noundef nonnull align 8 dereferenceable(32) %0) - br i1 %88, label %"_ZN3syn10punctuated8printing91_$LT$impl$u20$quote..to_tokens..ToTokens$u20$for$u20$syn..punctuated..Pair$LT$T$C$P$GT$$GT$9to_tokens17h2f65737e4172ea54E.exit7", label %182 + br i1 %88, label %"_ZN3syn10punctuated8printing91_$LT$impl$u20$quote..to_tokens..ToTokens$u20$for$u20$syn..punctuated..Pair$LT$T$C$P$GT$$GT$9to_tokens17h2f65737e4172ea54E.exit7", label %183 -182: ; preds = %"_ZN3syn4path8printing81_$LT$impl$u20$quote..to_tokens..ToTokens$u20$for$u20$syn..path..PathArguments$GT$9to_tokens17h9597255c2fe3aa38E.exit" - %183 = icmp ne ptr %.sroa.5.0, null - tail call void @llvm.assume(i1 %183) - tail call void @_ZN3syn5token8printing5punct17h32409e3f9cc0b330E(ptr noalias noundef nonnull readonly align 1 @anon.e4fd49bda13fc8b05702603de3f8b493.170.llvm.15435319159651575738, i64 noundef 2, ptr noalias noundef nonnull readonly align 4 dereferenceable(8) %.sroa.5.0, i64 noundef 2, ptr noalias noundef nonnull align 8 dereferenceable(32) %0), !noalias !540 +183: ; preds = %"_ZN3syn4path8printing81_$LT$impl$u20$quote..to_tokens..ToTokens$u20$for$u20$syn..path..PathArguments$GT$9to_tokens17h9597255c2fe3aa38E.exit" + tail call void @_ZN3syn5token8printing5punct17h32409e3f9cc0b330E(ptr noalias noundef nonnull readonly align 1 @anon.e4fd49bda13fc8b05702603de3f8b493.170.llvm.15435319159651575738, i64 noundef 2, ptr noalias noundef nonnull readonly align 4 dereferenceable(8) %166, i64 noundef 2, ptr noalias noundef nonnull align 8 dereferenceable(32) %0), !noalias !540 br label %"_ZN3syn10punctuated8printing91_$LT$impl$u20$quote..to_tokens..ToTokens$u20$for$u20$syn..punctuated..Pair$LT$T$C$P$GT$$GT$9to_tokens17h2f65737e4172ea54E.exit7" -"_ZN3syn10punctuated8printing91_$LT$impl$u20$quote..to_tokens..ToTokens$u20$for$u20$syn..punctuated..Pair$LT$T$C$P$GT$$GT$9to_tokens17h2f65737e4172ea54E.exit7": ; preds = %150, %182, %"_ZN3syn4path8printing81_$LT$impl$u20$quote..to_tokens..ToTokens$u20$for$u20$syn..path..PathArguments$GT$9to_tokens17h9597255c2fe3aa38E.exit", %"_ZN3syn4path8printing81_$LT$impl$u20$quote..to_tokens..ToTokens$u20$for$u20$syn..path..PathArguments$GT$9to_tokens17h9597255c2fe3aa38E.exit19", %157, %162, %155 - %184 = phi ptr [ %85, %"_ZN3syn4path8printing81_$LT$impl$u20$quote..to_tokens..ToTokens$u20$for$u20$syn..path..PathArguments$GT$9to_tokens17h9597255c2fe3aa38E.exit19" ], [ null, %157 ], [ null, %162 ], [ null, %150 ], [ null, %155 ], [ %166, %"_ZN3syn4path8printing81_$LT$impl$u20$quote..to_tokens..ToTokens$u20$for$u20$syn..path..PathArguments$GT$9to_tokens17h9597255c2fe3aa38E.exit" ], [ %166, %182 ] - %185 = phi ptr [ %92, %"_ZN3syn4path8printing81_$LT$impl$u20$quote..to_tokens..ToTokens$u20$for$u20$syn..path..PathArguments$GT$9to_tokens17h9597255c2fe3aa38E.exit19" ], [ %86, %157 ], [ %86, %162 ], [ %86, %150 ], [ %86, %155 ], [ %167, %"_ZN3syn4path8printing81_$LT$impl$u20$quote..to_tokens..ToTokens$u20$for$u20$syn..path..PathArguments$GT$9to_tokens17h9597255c2fe3aa38E.exit" ], [ %167, %182 ] - %186 = phi i64 [ %94, %"_ZN3syn4path8printing81_$LT$impl$u20$quote..to_tokens..ToTokens$u20$for$u20$syn..path..PathArguments$GT$9to_tokens17h9597255c2fe3aa38E.exit19" ], [ %96, %157 ], [ %96, %162 ], [ %96, %150 ], [ %96, %155 ], [ %.0.sroa.speculated.i, %"_ZN3syn4path8printing81_$LT$impl$u20$quote..to_tokens..ToTokens$u20$for$u20$syn..path..PathArguments$GT$9to_tokens17h9597255c2fe3aa38E.exit" ], [ %.0.sroa.speculated.i, %182 ] +"_ZN3syn10punctuated8printing91_$LT$impl$u20$quote..to_tokens..ToTokens$u20$for$u20$syn..punctuated..Pair$LT$T$C$P$GT$$GT$9to_tokens17h2f65737e4172ea54E.exit7": ; preds = %150, %183, %"_ZN3syn4path8printing81_$LT$impl$u20$quote..to_tokens..ToTokens$u20$for$u20$syn..path..PathArguments$GT$9to_tokens17h9597255c2fe3aa38E.exit", %"_ZN3syn4path8printing81_$LT$impl$u20$quote..to_tokens..ToTokens$u20$for$u20$syn..path..PathArguments$GT$9to_tokens17h9597255c2fe3aa38E.exit19", %157, %162, %155 + %184 = phi ptr [ %85, %"_ZN3syn4path8printing81_$LT$impl$u20$quote..to_tokens..ToTokens$u20$for$u20$syn..path..PathArguments$GT$9to_tokens17h9597255c2fe3aa38E.exit19" ], [ null, %157 ], [ null, %162 ], [ null, %150 ], [ null, %155 ], [ %167, %"_ZN3syn4path8printing81_$LT$impl$u20$quote..to_tokens..ToTokens$u20$for$u20$syn..path..PathArguments$GT$9to_tokens17h9597255c2fe3aa38E.exit" ], [ %167, %183 ] + %185 = phi ptr [ %92, %"_ZN3syn4path8printing81_$LT$impl$u20$quote..to_tokens..ToTokens$u20$for$u20$syn..path..PathArguments$GT$9to_tokens17h9597255c2fe3aa38E.exit19" ], [ %86, %157 ], [ %86, %162 ], [ %86, %150 ], [ %86, %155 ], [ %168, %"_ZN3syn4path8printing81_$LT$impl$u20$quote..to_tokens..ToTokens$u20$for$u20$syn..path..PathArguments$GT$9to_tokens17h9597255c2fe3aa38E.exit" ], [ %168, %183 ] + %186 = phi i64 [ %94, %"_ZN3syn4path8printing81_$LT$impl$u20$quote..to_tokens..ToTokens$u20$for$u20$syn..path..PathArguments$GT$9to_tokens17h9597255c2fe3aa38E.exit19" ], [ %96, %157 ], [ %96, %162 ], [ %96, %150 ], [ %96, %155 ], [ %.0.sroa.speculated.i, %"_ZN3syn4path8printing81_$LT$impl$u20$quote..to_tokens..ToTokens$u20$for$u20$syn..path..PathArguments$GT$9to_tokens17h9597255c2fe3aa38E.exit" ], [ %.0.sroa.speculated.i, %183 ] %187 = icmp eq i64 %87, 0 br i1 %187, label %"_ZN76_$LT$core..option..Option$LT$T$GT$$u20$as$u20$quote..to_tokens..ToTokens$GT$9to_tokens17h4e43d934e5a0a2fbE.exit.loopexit", label %84 } @@ -6898,6 +6899,7 @@ define void @"_ZN3syn2ty8printing76_$LT$impl$u20$quote..to_tokens..ToTokens$u20$ br i1 %.not.i.i.i, label %"_ZN76_$LT$core..option..Option$LT$T$GT$$u20$as$u20$quote..to_tokens..ToTokens$GT$9to_tokens17h7f8d690da69f98e1E.exit", label %18 18: ; preds = %13 + call void @llvm.assume(i1 true) [ "align"(ptr %17, i64 8) ] tail call void @"_ZN67_$LT$proc_macro2..Literal$u20$as$u20$quote..to_tokens..ToTokens$GT$9to_tokens17h7c70447656a4ea74E"(ptr noalias noundef nonnull readonly align 8 dereferenceable(24) %17, ptr noalias noundef nonnull align 8 dereferenceable(32) %1), !noalias !1404 br label %"_ZN76_$LT$core..option..Option$LT$T$GT$$u20$as$u20$quote..to_tokens..ToTokens$GT$9to_tokens17h7f8d690da69f98e1E.exit" @@ -6919,6 +6921,7 @@ define void @"_ZN3syn2ty8printing76_$LT$impl$u20$quote..to_tokens..ToTokens$u20$ 25: ; preds = %"_ZN76_$LT$core..option..Option$LT$T$GT$$u20$as$u20$quote..to_tokens..ToTokens$GT$9to_tokens17h7f8d690da69f98e1E.exit" %26 = getelementptr inbounds nuw i8, ptr %0, i64 208 tail call void @_ZN3syn5token8printing5punct17h32409e3f9cc0b330E(ptr noalias noundef nonnull readonly align 1 @anon.e4fd49bda13fc8b05702603de3f8b493.184.llvm.15435319159651575738, i64 noundef 2, ptr noalias noundef nonnull readonly align 4 dereferenceable(8) %26, i64 noundef 2, ptr noalias noundef nonnull align 8 dereferenceable(32) %1) + call void @llvm.assume(i1 true) [ "align"(ptr %23, i64 8) ] tail call void @"_ZN60_$LT$syn..ty..Type$u20$as$u20$quote..to_tokens..ToTokens$GT$9to_tokens17hfe21a6835586d0a0E"(ptr noalias noundef nonnull readonly align 8 dereferenceable(232) %23, ptr noalias noundef nonnull align 8 dereferenceable(32) %1) br label %"_ZN3syn2ty8printing76_$LT$impl$u20$quote..to_tokens..ToTokens$u20$for$u20$syn..ty..ReturnType$GT$9to_tokens17hb84ba198f484be70E.exit" @@ -7110,6 +7113,7 @@ define void @"_ZN3syn2ty8printing76_$LT$impl$u20$quote..to_tokens..ToTokens$u20$ 6: ; preds = %2 %7 = getelementptr inbounds nuw i8, ptr %0, i64 8 tail call void @_ZN3syn5token8printing5punct17h32409e3f9cc0b330E(ptr noalias noundef nonnull readonly align 1 @anon.e4fd49bda13fc8b05702603de3f8b493.184.llvm.15435319159651575738, i64 noundef 2, ptr noalias noundef nonnull readonly align 4 dereferenceable(8) %7, i64 noundef 2, ptr noalias noundef nonnull align 8 dereferenceable(32) %1) + call void @llvm.assume(i1 true) [ "align"(ptr %3, i64 8) ] tail call void @"_ZN60_$LT$syn..ty..Type$u20$as$u20$quote..to_tokens..ToTokens$GT$9to_tokens17hfe21a6835586d0a0E"(ptr noalias noundef nonnull readonly align 8 dereferenceable(232) %3, ptr noalias noundef nonnull align 8 dereferenceable(32) %1) br label %5 } @@ -7256,6 +7260,7 @@ define void @"_ZN3syn2ty8printing69_$LT$impl$u20$quote..to_tokens..ToTokens$u20$ br i1 %.not.i, label %"_ZN76_$LT$core..option..Option$LT$T$GT$$u20$as$u20$quote..to_tokens..ToTokens$GT$9to_tokens17hac216d7632330744E.exit", label %7 7: ; preds = %2 + call void @llvm.assume(i1 true) [ "align"(ptr %6, i64 8) ] tail call void @"_ZN67_$LT$proc_macro2..Literal$u20$as$u20$quote..to_tokens..ToTokens$GT$9to_tokens17h7c70447656a4ea74E"(ptr noalias noundef nonnull readonly align 8 dereferenceable(24) %6, ptr noalias noundef nonnull align 8 dereferenceable(32) %1), !noalias !1563 br label %"_ZN76_$LT$core..option..Option$LT$T$GT$$u20$as$u20$quote..to_tokens..ToTokens$GT$9to_tokens17hac216d7632330744E.exit" @@ -7568,6 +7573,7 @@ tailrecurse: ; preds = %tailrecurse.backedg br i1 %.not.i.i.i, label %"_ZN76_$LT$core..option..Option$LT$T$GT$$u20$as$u20$quote..to_tokens..ToTokens$GT$9to_tokens17h7f8d690da69f98e1E.exit", label %34 34: ; preds = %29 + call void @llvm.assume(i1 true) [ "align"(ptr %33, i64 8) ] tail call void @"_ZN67_$LT$proc_macro2..Literal$u20$as$u20$quote..to_tokens..ToTokens$GT$9to_tokens17h7c70447656a4ea74E"(ptr noalias noundef nonnull readonly align 8 dereferenceable(24) %33, ptr noalias noundef nonnull align 8 dereferenceable(32) %1), !noalias !1646 br label %"_ZN76_$LT$core..option..Option$LT$T$GT$$u20$as$u20$quote..to_tokens..ToTokens$GT$9to_tokens17h7f8d690da69f98e1E.exit" @@ -7589,6 +7595,7 @@ tailrecurse: ; preds = %tailrecurse.backedg 41: ; preds = %"_ZN76_$LT$core..option..Option$LT$T$GT$$u20$as$u20$quote..to_tokens..ToTokens$GT$9to_tokens17h7f8d690da69f98e1E.exit" %42 = getelementptr inbounds nuw i8, ptr %.tr, i64 208 tail call void @_ZN3syn5token8printing5punct17h32409e3f9cc0b330E(ptr noalias noundef nonnull readonly align 1 @anon.e4fd49bda13fc8b05702603de3f8b493.184.llvm.15435319159651575738, i64 noundef 2, ptr noalias noundef nonnull readonly align 4 dereferenceable(8) %42, i64 noundef 2, ptr noalias noundef nonnull align 8 dereferenceable(32) %1) + call void @llvm.assume(i1 true) [ "align"(ptr %39, i64 8) ] br label %tailrecurse.backedge tailrecurse.backedge: ; preds = %41, %"_ZN3syn2ty8printing73_$LT$impl$u20$quote..to_tokens..ToTokens$u20$for$u20$syn..ty..TypePtr$GT$9to_tokens17h7ec8b04e945ca2b6E.exit", %"_ZN76_$LT$core..option..Option$LT$T$GT$$u20$as$u20$quote..to_tokens..ToTokens$GT$9to_tokens17h3d0af5b0dd35f2f4E.exit" @@ -7781,6 +7788,7 @@ define { ptr, i32 } @"_ZN3syn3gen5clone61_$LT$impl$u20$core..clone..Clone$u20$fo "_ZN5alloc5boxed16Box$LT$T$C$A$GT$13new_uninit_in17h526d38d5390f744fE.exit.i.i": ; preds = %8 store ptr %9, ptr %3, align 8, !noalias !1779 + call void @llvm.assume(i1 true) [ "align"(ptr %6, i64 8) ] call void @llvm.lifetime.start.p0(ptr nonnull %2), !noalias !1784 invoke void @"_ZN56_$LT$syn..lit..LitRepr$u20$as$u20$core..clone..Clone$GT$5clone17h163acc8b1bff4017E"(ptr noalias noundef nonnull sret({ { { i64, [2 x i64] }, { {} } }, { ptr, i64 } }) align 8 captures(none) dereferenceable(40) %2, ptr noalias noundef nonnull readonly align 8 dereferenceable(40) %6) to label %"_ZN55_$LT$syn..lit..LitStr$u20$as$u20$core..clone..Clone$GT$5clone17hbdf03887992dcb1fE.exit" unwind label %12, !noalias !1779 @@ -8074,6 +8082,7 @@ define void @"_ZN3syn3gen5clone68_$LT$impl$u20$core..clone..Clone$u20$for$u20$sy unreachable "_ZN5alloc5boxed16Box$LT$T$C$A$GT$13new_uninit_in17h0f51f5435f5c3356E.exit.i": ; preds = %6 + call void @llvm.assume(i1 true) [ "align"(ptr %4, i64 8) ] call void @llvm.lifetime.start.p0(ptr nonnull %3), !noalias !1865 invoke void @"_ZN3syn3gen5clone62_$LT$impl$u20$core..clone..Clone$u20$for$u20$syn..ty..Type$GT$5clone17hf076099abd821f63E"(ptr noalias noundef nonnull sret({ i64, [28 x i64] }) align 8 captures(none) dereferenceable(232) %3, ptr noalias noundef nonnull readonly align 8 dereferenceable(232) %4) to label %"_ZN69_$LT$alloc..boxed..Box$LT$T$C$A$GT$$u20$as$u20$core..clone..Clone$GT$5clone17h092bf025986c184eE.llvm.6869783157916488305.exit" unwind label %11, !noalias !1862 @@ -9030,6 +9039,7 @@ common.resume: ; preds = %45, %.body, %32 "_ZN5alloc5boxed16Box$LT$T$C$A$GT$13new_uninit_in17h526d38d5390f744fE.exit.i.i.i": ; preds = %.noexc7 store ptr %55, ptr %8, align 8, !noalias !2116 + call void @llvm.assume(i1 true) [ "align"(ptr %52, i64 8) ] call void @llvm.lifetime.start.p0(ptr nonnull %7), !noalias !2121 invoke void @"_ZN56_$LT$syn..lit..LitRepr$u20$as$u20$core..clone..Clone$GT$5clone17h163acc8b1bff4017E"(ptr noalias noundef nonnull sret({ { { i64, [2 x i64] }, { {} } }, { ptr, i64 } }) align 8 captures(none) dereferenceable(40) %7, ptr noalias noundef nonnull readonly align 8 dereferenceable(40) %52) to label %"_ZN55_$LT$syn..lit..LitStr$u20$as$u20$core..clone..Clone$GT$5clone17hbdf03887992dcb1fE.exit.i" unwind label %58, !noalias !2116 @@ -9110,6 +9120,7 @@ common.resume: ; preds = %45, %.body, %32 "_ZN5alloc5boxed16Box$LT$T$C$A$GT$13new_uninit_in17h56f052787d7cbac5E.exit.i": ; preds = %.noexc16 store ptr %78, ptr %5, align 8, !noalias !2138 + call void @llvm.assume(i1 true) [ "align"(ptr %75, i64 8) ] call void @llvm.lifetime.start.p0(ptr nonnull %4), !noalias !2141 invoke void @"_ZN3syn3gen5clone67_$LT$impl$u20$core..clone..Clone$u20$for$u20$syn..ty..BareFnArg$GT$5clone17he4b48144158e5d68E"(ptr noalias noundef nonnull sret({ { i64, [28 x i64] }, { { i64, ptr }, i64 }, { i64, [4 x i64] } }) align 8 captures(none) dereferenceable(296) %4, ptr noalias noundef nonnull readonly align 8 dereferenceable(296) %75) to label %"_ZN69_$LT$alloc..boxed..Box$LT$T$C$A$GT$$u20$as$u20$core..clone..Clone$GT$5clone17h0b0585b3cddb032aE.llvm.14145919710250835280.exit" unwind label %81, !noalias !2138 @@ -9193,6 +9204,7 @@ common.resume: ; preds = %45, %.body, %32 unreachable "_ZN5alloc5boxed16Box$LT$T$C$A$GT$13new_uninit_in17h0f51f5435f5c3356E.exit.i": ; preds = %.noexc21 + call void @llvm.assume(i1 true) [ "align"(ptr %98, i64 8) ] call void @llvm.lifetime.start.p0(ptr nonnull %3), !noalias !2152 invoke void @"_ZN3syn3gen5clone62_$LT$impl$u20$core..clone..Clone$u20$for$u20$syn..ty..Type$GT$5clone17hf076099abd821f63E"(ptr noalias noundef nonnull sret({ i64, [28 x i64] }) align 8 captures(none) dereferenceable(232) %3, ptr noalias noundef nonnull readonly align 8 dereferenceable(232) %98) to label %.noexc14 unwind label %104, !noalias !2157 diff --git a/bench/syn/optimized/3e28wvtnspuupgei.ll b/bench/syn/optimized/3e28wvtnspuupgei.ll index 51d64de78f2..304f4a28773 100644 --- a/bench/syn/optimized/3e28wvtnspuupgei.ll +++ b/bench/syn/optimized/3e28wvtnspuupgei.ll @@ -1027,6 +1027,7 @@ define hidden void @"_ZN71_$LT$proc_macro2..TokenStream$u20$as$u20$quote..ext..T br label %"_ZN52_$LT$$RF$T$u20$as$u20$quote..to_tokens..ToTokens$GT$9to_tokens17h69de8b30ab1007faE.exit.i" "_ZN52_$LT$$RF$T$u20$as$u20$quote..to_tokens..ToTokens$GT$9to_tokens17h69de8b30ab1007faE.exit.i": ; preds = %15, %13 + call void @llvm.assume(i1 true) [ "align"(ptr %10, i64 4) ] tail call void @_ZN3syn5token8printing5punct17h32409e3f9cc0b330E(ptr noalias noundef nonnull readonly align 1 @anon.e4fd49bda13fc8b05702603de3f8b493.128.llvm.15435319159651575738, i64 noundef 1, ptr noalias noundef nonnull readonly align 4 dereferenceable(4) %10, i64 noundef 1, ptr noalias noundef nonnull align 8 dereferenceable(32) %0), !noalias !244 br label %"_ZN3syn10punctuated8printing91_$LT$impl$u20$quote..to_tokens..ToTokens$u20$for$u20$syn..punctuated..Pair$LT$T$C$P$GT$$GT$9to_tokens17ha9d8aa4a88a102dfE.exit" @@ -1188,6 +1189,7 @@ define hidden void @"_ZN71_$LT$proc_macro2..TokenStream$u20$as$u20$quote..ext..T %9 = getelementptr inbounds nuw i8, ptr %.sroa.0.0, i64 304 %10 = getelementptr inbounds nuw i8, ptr %.sroa.0.0, i64 296 tail call void @"_ZN3syn4data8printing75_$LT$impl$u20$quote..to_tokens..ToTokens$u20$for$u20$syn..data..Variant$GT$9to_tokens17h07f2f0a64cfd7bdcE"(ptr noalias noundef nonnull readonly align 8 dereferenceable(296) %.sroa.0.0, ptr noalias noundef nonnull align 8 dereferenceable(32) %0), !noalias !293 + call void @llvm.assume(i1 true) [ "align"(ptr %10, i64 4) ] tail call void @_ZN3syn5token8printing5punct17h32409e3f9cc0b330E(ptr noalias noundef nonnull readonly align 1 @anon.e4fd49bda13fc8b05702603de3f8b493.128.llvm.15435319159651575738, i64 noundef 1, ptr noalias noundef nonnull readonly align 4 dereferenceable(4) %10, i64 noundef 1, ptr noalias noundef nonnull align 8 dereferenceable(32) %0), !noalias !298 br label %"_ZN3syn10punctuated8printing91_$LT$impl$u20$quote..to_tokens..ToTokens$u20$for$u20$syn..punctuated..Pair$LT$T$C$P$GT$$GT$9to_tokens17hd194ad1a218f9208E.exit" @@ -1361,6 +1363,7 @@ define hidden void @"_ZN71_$LT$proc_macro2..TokenStream$u20$as$u20$quote..ext..T %9 = getelementptr inbounds nuw i8, ptr %.sroa.0.0, i64 240 %10 = getelementptr inbounds nuw i8, ptr %.sroa.0.0, i64 232 tail call void @"_ZN60_$LT$syn..ty..Type$u20$as$u20$quote..to_tokens..ToTokens$GT$9to_tokens17hfe21a6835586d0a0E"(ptr noalias noundef nonnull readonly align 8 dereferenceable(232) %.sroa.0.0, ptr noalias noundef nonnull align 8 dereferenceable(32) %0), !noalias !356 + call void @llvm.assume(i1 true) [ "align"(ptr %10, i64 4) ] tail call void @_ZN3syn5token8printing5punct17h32409e3f9cc0b330E(ptr noalias noundef nonnull readonly align 1 @anon.e4fd49bda13fc8b05702603de3f8b493.128.llvm.15435319159651575738, i64 noundef 1, ptr noalias noundef nonnull readonly align 4 dereferenceable(4) %10, i64 noundef 1, ptr noalias noundef nonnull align 8 dereferenceable(32) %0), !noalias !361 br label %"_ZN3syn10punctuated8printing91_$LT$impl$u20$quote..to_tokens..ToTokens$u20$for$u20$syn..punctuated..Pair$LT$T$C$P$GT$$GT$9to_tokens17he719d375b06373bbE.exit" @@ -1445,6 +1448,7 @@ define hidden void @"_ZN71_$LT$proc_macro2..TokenStream$u20$as$u20$quote..ext..T %9 = getelementptr inbounds nuw i8, ptr %.sroa.0.0, i64 304 %10 = getelementptr inbounds nuw i8, ptr %.sroa.0.0, i64 296 tail call void @"_ZN3syn2ty8printing75_$LT$impl$u20$quote..to_tokens..ToTokens$u20$for$u20$syn..ty..BareFnArg$GT$9to_tokens17hd928cbce24741b07E"(ptr noalias noundef nonnull readonly align 8 dereferenceable(296) %.sroa.0.0, ptr noalias noundef nonnull align 8 dereferenceable(32) %0), !noalias !375 + call void @llvm.assume(i1 true) [ "align"(ptr %10, i64 4) ] tail call void @_ZN3syn5token8printing5punct17h32409e3f9cc0b330E(ptr noalias noundef nonnull readonly align 1 @anon.e4fd49bda13fc8b05702603de3f8b493.128.llvm.15435319159651575738, i64 noundef 1, ptr noalias noundef nonnull readonly align 4 dereferenceable(4) %10, i64 noundef 1, ptr noalias noundef nonnull align 8 dereferenceable(32) %0), !noalias !380 br label %"_ZN3syn10punctuated8printing91_$LT$impl$u20$quote..to_tokens..ToTokens$u20$for$u20$syn..punctuated..Pair$LT$T$C$P$GT$$GT$9to_tokens17ha8f636f012a28e1bE.exit" @@ -1529,6 +1533,7 @@ define hidden void @"_ZN71_$LT$proc_macro2..TokenStream$u20$as$u20$quote..ext..T %9 = getelementptr inbounds nuw i8, ptr %.sroa.0.0, i64 336 %10 = getelementptr inbounds nuw i8, ptr %.sroa.0.0, i64 328 tail call void @"_ZN3syn4data8printing73_$LT$impl$u20$quote..to_tokens..ToTokens$u20$for$u20$syn..data..Field$GT$9to_tokens17h9390baf8c1c0e761E"(ptr noalias noundef nonnull readonly align 8 dereferenceable(328) %.sroa.0.0, ptr noalias noundef nonnull align 8 dereferenceable(32) %0), !noalias !394 + call void @llvm.assume(i1 true) [ "align"(ptr %10, i64 4) ] tail call void @_ZN3syn5token8printing5punct17h32409e3f9cc0b330E(ptr noalias noundef nonnull readonly align 1 @anon.e4fd49bda13fc8b05702603de3f8b493.128.llvm.15435319159651575738, i64 noundef 1, ptr noalias noundef nonnull readonly align 4 dereferenceable(4) %10, i64 noundef 1, ptr noalias noundef nonnull align 8 dereferenceable(32) %0), !noalias !399 br label %"_ZN3syn10punctuated8printing91_$LT$impl$u20$quote..to_tokens..ToTokens$u20$for$u20$syn..punctuated..Pair$LT$T$C$P$GT$$GT$9to_tokens17hbf3d62bf3676a455E.exit" @@ -1569,6 +1574,7 @@ define hidden void @"_ZN71_$LT$proc_macro2..TokenStream$u20$as$u20$quote..ext..T %9 = getelementptr inbounds nuw i8, ptr %.sroa.0.0, i64 248 %10 = getelementptr inbounds nuw i8, ptr %.sroa.0.0, i64 240 tail call void @"_ZN3syn4expr8printing78_$LT$impl$u20$quote..to_tokens..ToTokens$u20$for$u20$syn..expr..FieldValue$GT$9to_tokens17hbd7742e1d588033bE"(ptr noalias noundef nonnull readonly align 8 dereferenceable(240) %.sroa.0.0, ptr noalias noundef nonnull align 8 dereferenceable(32) %0), !noalias !409 + call void @llvm.assume(i1 true) [ "align"(ptr %10, i64 4) ] tail call void @_ZN3syn5token8printing5punct17h32409e3f9cc0b330E(ptr noalias noundef nonnull readonly align 1 @anon.e4fd49bda13fc8b05702603de3f8b493.128.llvm.15435319159651575738, i64 noundef 1, ptr noalias noundef nonnull readonly align 4 dereferenceable(4) %10, i64 noundef 1, ptr noalias noundef nonnull align 8 dereferenceable(32) %0), !noalias !414 br label %"_ZN3syn10punctuated8printing91_$LT$impl$u20$quote..to_tokens..ToTokens$u20$for$u20$syn..punctuated..Pair$LT$T$C$P$GT$$GT$9to_tokens17hb0fd1541688be8f9E.exit" @@ -5615,6 +5621,7 @@ define void @"_ZN3syn4expr7parsing64_$LT$impl$u20$syn..parse..Parse$u20$for$u20$ 18: ; preds = %2 store ptr %14, ptr %10, align 8 + call void @llvm.assume(i1 true) [ "align"(ptr %14, i64 8) ] %19 = getelementptr inbounds nuw i8, ptr %14, i64 48 %20 = load i64, ptr %19, align 8, !noalias !1027, !noundef !12 %21 = icmp eq i64 %20, 0 @@ -5622,6 +5629,7 @@ define void @"_ZN3syn4expr7parsing64_$LT$impl$u20$syn..parse..Parse$u20$for$u20$ 22: ; preds = %18 call void @llvm.lifetime.start.p0(ptr nonnull %8) + call void @llvm.assume(i1 true) [ "align"(ptr %14, i64 8) ] %23 = load i64, ptr %14, align 8, !range !28, !noalias !1030, !noundef !12 %24 = icmp eq i64 %23, -9223372036854775808 br i1 %24, label %25, label %_ZN3syn3lit6LitInt4span17h7bd414cc4186bfdcE.exit @@ -5633,6 +5641,7 @@ define void @"_ZN3syn4expr7parsing64_$LT$impl$u20$syn..parse..Parse$u20$for$u20$ 28: ; preds = %18 call void @llvm.lifetime.start.p0(ptr nonnull %.sroa.8) + call void @llvm.assume(i1 true) [ "align"(ptr %14, i64 8) ] %29 = getelementptr inbounds nuw i8, ptr %14, i64 24 %30 = load ptr, ptr %29, align 8, !noalias !1033, !nonnull !12, !align !106, !noundef !12 %31 = getelementptr inbounds nuw i8, ptr %14, i64 32 @@ -8770,6 +8779,7 @@ define void @"_ZN3syn3gen5clone68_$LT$impl$u20$core..clone..Clone$u20$for$u20$sy "_ZN5alloc5boxed16Box$LT$T$C$A$GT$13new_uninit_in17hc76c3682fc5a0307E.exit.i": ; preds = %.noexc8 store ptr %32, ptr %4, align 8, !noalias !1643 + call void @llvm.assume(i1 true) [ "align"(ptr %29, i64 8) ] call void @llvm.lifetime.start.p0(ptr nonnull %3), !noalias !1646 invoke void @"_ZN3syn3gen5clone64_$LT$impl$u20$core..clone..Clone$u20$for$u20$syn..expr..Expr$GT$5clone17he751575f2225bac8E"(ptr noalias noundef nonnull sret({ i64, [21 x i64] }) align 8 captures(none) dereferenceable(176) %3, ptr noalias noundef nonnull readonly align 8 dereferenceable(176) %29) to label %"_ZN69_$LT$alloc..boxed..Box$LT$T$C$A$GT$$u20$as$u20$core..clone..Clone$GT$5clone17h1aed76dedb1107d3E.llvm.14145919710250835280.exit" unwind label %35, !noalias !1643 @@ -9623,6 +9633,7 @@ define void @"_ZN3syn3gen5clone74_$LT$impl$u20$core..clone..Clone$u20$for$u20$sy "_ZN5alloc5boxed16Box$LT$T$C$A$GT$13new_uninit_in17hc76c3682fc5a0307E.exit.i": ; preds = %.noexc18 store ptr %82, ptr %4, align 8, !noalias !1813 + call void @llvm.assume(i1 true) [ "align"(ptr %79, i64 8) ] call void @llvm.lifetime.start.p0(ptr nonnull %3), !noalias !1816 invoke void @"_ZN3syn3gen5clone64_$LT$impl$u20$core..clone..Clone$u20$for$u20$syn..expr..Expr$GT$5clone17he751575f2225bac8E"(ptr noalias noundef nonnull sret({ i64, [21 x i64] }) align 8 captures(none) dereferenceable(176) %3, ptr noalias noundef nonnull readonly align 8 dereferenceable(176) %79) to label %"_ZN69_$LT$alloc..boxed..Box$LT$T$C$A$GT$$u20$as$u20$core..clone..Clone$GT$5clone17h1aed76dedb1107d3E.llvm.14145919710250835280.exit" unwind label %85, !noalias !1813 @@ -10243,6 +10254,7 @@ define void @"_ZN3syn3gen5clone70_$LT$impl$u20$core..clone..Clone$u20$for$u20$sy "_ZN5alloc5boxed16Box$LT$T$C$A$GT$13new_uninit_in17h39d274a087d2db79E.exit.i": ; preds = %.noexc20 store ptr %72, ptr %5, align 8, !noalias !1931 + call void @llvm.assume(i1 true) [ "align"(ptr %69, i64 8) ] call void @llvm.lifetime.start.p0(ptr nonnull %4), !noalias !1934 invoke void @"_ZN3syn3gen5clone70_$LT$impl$u20$core..clone..Clone$u20$for$u20$syn..expr..FieldValue$GT$5clone17hbb7dcc24ef3c7bd2E"(ptr noalias noundef nonnull sret({ { i64, [21 x i64] }, { { i64, ptr }, i64 }, { i64, [3 x i64] }, { i32, [1 x i32] } }) align 8 captures(none) dereferenceable(240) %4, ptr noalias noundef nonnull readonly align 8 dereferenceable(240) %69) to label %"_ZN69_$LT$alloc..boxed..Box$LT$T$C$A$GT$$u20$as$u20$core..clone..Clone$GT$5clone17h97b1b1fa5193f8e1E.llvm.14145919710250835280.exit" unwind label %75, !noalias !1931 @@ -10322,6 +10334,7 @@ define void @"_ZN3syn3gen5clone70_$LT$impl$u20$core..clone..Clone$u20$for$u20$sy unreachable .noexc17: ; preds = %.noexc26 + call void @llvm.assume(i1 true) [ "align"(ptr %89, i64 8) ] call void @llvm.lifetime.start.p0(ptr nonnull %3), !noalias !1937 invoke void @"_ZN3syn3gen5clone64_$LT$impl$u20$core..clone..Clone$u20$for$u20$syn..expr..Expr$GT$5clone17he751575f2225bac8E"(ptr noalias noundef nonnull sret({ i64, [21 x i64] }) align 8 captures(none) dereferenceable(176) %3, ptr noalias noundef nonnull readonly align 8 dereferenceable(176) %89) to label %"_ZN69_$LT$alloc..boxed..Box$LT$T$C$A$GT$$u20$as$u20$core..clone..Clone$GT$5clone17h1aed76dedb1107d3E.exit" unwind label %97 diff --git a/bench/syn/optimized/3r5osr990qsnm7hf.ll b/bench/syn/optimized/3r5osr990qsnm7hf.ll index b0451b627e3..0880e7b666d 100644 --- a/bench/syn/optimized/3r5osr990qsnm7hf.ll +++ b/bench/syn/optimized/3r5osr990qsnm7hf.ll @@ -777,6 +777,7 @@ define hidden void @"_ZN3syn4data8printing79_$LT$impl$u20$quote..to_tokens..ToTo "_ZN3syn4data8printing73_$LT$impl$u20$quote..to_tokens..ToTokens$u20$for$u20$syn..data..Field$GT$9to_tokens17h9390baf8c1c0e761E.exit": ; preds = %"_ZN3syn11restriction8printing85_$LT$impl$u20$quote..to_tokens..ToTokens$u20$for$u20$syn..restriction..Visibility$GT$9to_tokens17h14ea11d1bf93a906E.exit", %36, %38 call void @"_ZN60_$LT$syn..ty..Type$u20$as$u20$quote..to_tokens..ToTokens$GT$9to_tokens17hfe21a6835586d0a0E"(ptr noalias noundef nonnull readonly align 8 dereferenceable(328) %.sroa.0.0.copyload7.i, ptr noalias noundef nonnull align 8 dereferenceable(32) %1), !noalias !116 + call void @llvm.assume(i1 true) [ "align"(ptr %.sroa.5.0.copyload6.i, i64 4) ] call void @_ZN3syn5token8printing5punct17h32409e3f9cc0b330E(ptr noalias noundef nonnull readonly align 1 @anon.e4fd49bda13fc8b05702603de3f8b493.128.llvm.15435319159651575738, i64 noundef 1, ptr noalias noundef nonnull readonly align 4 dereferenceable(4) %.sroa.5.0.copyload6.i, i64 noundef 1, ptr noalias noundef nonnull align 8 dereferenceable(32) %1), !noalias !171 br label %"_ZN3syn10punctuated8printing91_$LT$impl$u20$quote..to_tokens..ToTokens$u20$for$u20$syn..punctuated..Pair$LT$T$C$P$GT$$GT$9to_tokens17hbf3d62bf3676a455E.exit.i" @@ -910,6 +911,7 @@ define hidden void @"_ZN3syn4data8printing81_$LT$impl$u20$quote..to_tokens..ToTo "_ZN3syn4data8printing73_$LT$impl$u20$quote..to_tokens..ToTokens$u20$for$u20$syn..data..Field$GT$9to_tokens17h9390baf8c1c0e761E.exit": ; preds = %"_ZN3syn11restriction8printing85_$LT$impl$u20$quote..to_tokens..ToTokens$u20$for$u20$syn..restriction..Visibility$GT$9to_tokens17h14ea11d1bf93a906E.exit", %36, %38 call void @"_ZN60_$LT$syn..ty..Type$u20$as$u20$quote..to_tokens..ToTokens$GT$9to_tokens17hfe21a6835586d0a0E"(ptr noalias noundef nonnull readonly align 8 dereferenceable(328) %.sroa.0.0.copyload7.i, ptr noalias noundef nonnull align 8 dereferenceable(32) %1), !noalias !197 + call void @llvm.assume(i1 true) [ "align"(ptr %.sroa.5.0.copyload6.i, i64 4) ] call void @_ZN3syn5token8printing5punct17h32409e3f9cc0b330E(ptr noalias noundef nonnull readonly align 1 @anon.e4fd49bda13fc8b05702603de3f8b493.128.llvm.15435319159651575738, i64 noundef 1, ptr noalias noundef nonnull readonly align 4 dereferenceable(4) %.sroa.5.0.copyload6.i, i64 noundef 1, ptr noalias noundef nonnull align 8 dereferenceable(32) %1), !noalias !250 br label %"_ZN3syn10punctuated8printing91_$LT$impl$u20$quote..to_tokens..ToTokens$u20$for$u20$syn..punctuated..Pair$LT$T$C$P$GT$$GT$9to_tokens17hbf3d62bf3676a455E.exit.i" @@ -1010,6 +1012,7 @@ default.unreachable: ; preds = %13 br label %"_ZN3syn4data8printing75_$LT$impl$u20$quote..to_tokens..ToTokens$u20$for$u20$syn..data..Variant$GT$9to_tokens17h07f2f0a64cfd7bdcE.exit" "_ZN3syn4data8printing75_$LT$impl$u20$quote..to_tokens..ToTokens$u20$for$u20$syn..data..Variant$GT$9to_tokens17h07f2f0a64cfd7bdcE.exit": ; preds = %"_ZN64_$LT$syn..data..Fields$u20$as$u20$quote..to_tokens..ToTokens$GT$9to_tokens17hc4fd6a8ff762b556E.exit.i", %26 + call void @llvm.assume(i1 true) [ "align"(ptr %.sroa.5.0.copyload6.i, i64 4) ] call void @_ZN3syn5token8printing5punct17h32409e3f9cc0b330E(ptr noalias noundef nonnull readonly align 1 @anon.e4fd49bda13fc8b05702603de3f8b493.128.llvm.15435319159651575738, i64 noundef 1, ptr noalias noundef nonnull readonly align 4 dereferenceable(4) %.sroa.5.0.copyload6.i, i64 noundef 1, ptr noalias noundef nonnull align 8 dereferenceable(32) %1), !noalias !289 br label %"_ZN3syn10punctuated8printing91_$LT$impl$u20$quote..to_tokens..ToTokens$u20$for$u20$syn..punctuated..Pair$LT$T$C$P$GT$$GT$9to_tokens17hd194ad1a218f9208E.exit.i" @@ -1069,6 +1072,7 @@ define hidden void @"_ZN3syn4expr8printing76_$LT$impl$u20$quote..to_tokens..ToTo %15 = icmp ne ptr %.sroa.0.0.copyload7.i, null call void @llvm.assume(i1 %15) call void @"_ZN62_$LT$syn..expr..Expr$u20$as$u20$quote..to_tokens..ToTokens$GT$9to_tokens17h8a711bcc6b6c7d17E"(ptr noalias noundef nonnull readonly align 8 dereferenceable(176) %.sroa.0.0.copyload7.i, ptr noalias noundef nonnull align 8 dereferenceable(32) %1), !noalias !305 + call void @llvm.assume(i1 true) [ "align"(ptr %.sroa.5.0.copyload6.i, i64 4) ] call void @_ZN3syn5token8printing5punct17h32409e3f9cc0b330E(ptr noalias noundef nonnull readonly align 1 @anon.e4fd49bda13fc8b05702603de3f8b493.128.llvm.15435319159651575738, i64 noundef 1, ptr noalias noundef nonnull readonly align 4 dereferenceable(4) %.sroa.5.0.copyload6.i, i64 noundef 1, ptr noalias noundef nonnull align 8 dereferenceable(32) %1), !noalias !310 br label %"_ZN3syn10punctuated8printing91_$LT$impl$u20$quote..to_tokens..ToTokens$u20$for$u20$syn..punctuated..Pair$LT$T$C$P$GT$$GT$9to_tokens17he41eef9601720d1dE.exit.i" @@ -1144,6 +1148,7 @@ define hidden void @"_ZN3syn4expr8printing82_$LT$impl$u20$quote..to_tokens..ToTo %15 = icmp ne ptr %.sroa.0.0.copyload7.i, null call void @llvm.assume(i1 %15) call void @"_ZN62_$LT$syn..expr..Expr$u20$as$u20$quote..to_tokens..ToTokens$GT$9to_tokens17h8a711bcc6b6c7d17E"(ptr noalias noundef nonnull readonly align 8 dereferenceable(176) %.sroa.0.0.copyload7.i, ptr noalias noundef nonnull align 8 dereferenceable(32) %1), !noalias !326 + call void @llvm.assume(i1 true) [ "align"(ptr %.sroa.5.0.copyload6.i, i64 4) ] call void @_ZN3syn5token8printing5punct17h32409e3f9cc0b330E(ptr noalias noundef nonnull readonly align 1 @anon.e4fd49bda13fc8b05702603de3f8b493.128.llvm.15435319159651575738, i64 noundef 1, ptr noalias noundef nonnull readonly align 4 dereferenceable(4) %.sroa.5.0.copyload6.i, i64 noundef 1, ptr noalias noundef nonnull align 8 dereferenceable(32) %1), !noalias !331 br label %"_ZN3syn10punctuated8printing91_$LT$impl$u20$quote..to_tokens..ToTokens$u20$for$u20$syn..punctuated..Pair$LT$T$C$P$GT$$GT$9to_tokens17he41eef9601720d1dE.exit.i" @@ -1217,6 +1222,7 @@ define hidden void @"_ZN3syn4expr8printing78_$LT$impl$u20$quote..to_tokens..ToTo br i1 %18, label %"_ZN3syn10punctuated8printing91_$LT$impl$u20$quote..to_tokens..ToTokens$u20$for$u20$syn..punctuated..Pair$LT$T$C$P$GT$$GT$9to_tokens17hb0fd1541688be8f9E.exit.i.i", label %19 19: ; preds = %17 + call void @llvm.assume(i1 true) [ "align"(ptr %.sroa.5.0.copyload.i.i, i64 4) ] call void @_ZN3syn5token8printing5punct17h32409e3f9cc0b330E(ptr noalias noundef nonnull readonly align 1 @anon.e4fd49bda13fc8b05702603de3f8b493.128.llvm.15435319159651575738, i64 noundef 1, ptr noalias noundef nonnull readonly align 4 dereferenceable(4) %.sroa.5.0.copyload.i.i, i64 noundef 1, ptr noalias noundef nonnull align 8 dereferenceable(32) %1), !noalias !354 br label %"_ZN3syn10punctuated8printing91_$LT$impl$u20$quote..to_tokens..ToTokens$u20$for$u20$syn..punctuated..Pair$LT$T$C$P$GT$$GT$9to_tokens17hb0fd1541688be8f9E.exit.i.i" @@ -1249,6 +1255,7 @@ define hidden void @"_ZN3syn4expr8printing78_$LT$impl$u20$quote..to_tokens..ToTo 27: ; preds = %.thread9, %25 %28 = phi ptr [ %24, %.thread9 ], [ %.pre, %25 ] + call void @llvm.assume(i1 true) [ "align"(ptr %28, i64 8) ] call void @"_ZN62_$LT$syn..expr..Expr$u20$as$u20$quote..to_tokens..ToTokens$GT$9to_tokens17h8a711bcc6b6c7d17E"(ptr noalias noundef nonnull readonly align 8 dereferenceable(176) %28, ptr noalias noundef nonnull align 8 dereferenceable(32) %1), !noalias !362 br label %"_ZN76_$LT$core..option..Option$LT$T$GT$$u20$as$u20$quote..to_tokens..ToTokens$GT$9to_tokens17h11a66d03bf80d1eaE.exit" @@ -6529,6 +6536,7 @@ _ZN3syn5parse11ParseBuffer4span17h1ca0c8b0ffc956f0E.exit.i.i.i: ; preds = %26, % %.fca.1.extract.i = extractvalue { ptr, ptr } %59, 1 %.fca.1.gep.i = getelementptr inbounds nuw i8, ptr %5, i64 8 store ptr %.fca.1.extract.i, ptr %.fca.1.gep.i, align 8, !noalias !1036 + call void @llvm.assume(i1 true) [ "align"(ptr %.fca.1.extract.i, i64 8) ] %60 = getelementptr inbounds nuw i8, ptr %.fca.1.extract.i, i64 56 %61 = load ptr, ptr %60, align 8, !invariant.load !5, !nonnull !5 %62 = invoke noundef align 8 dereferenceable_or_null(96) ptr %61(ptr noundef align 1 %.fca.0.extract.i) @@ -9051,6 +9059,7 @@ define void @"_ZN3syn8generics8printing80_$LT$impl$u20$quote..to_tokens..ToToken call void @llvm.lifetime.start.p0(ptr nonnull %8) store ptr %.sroa.615.2.ph, ptr %8, align 8 store ptr %.sroa.9.2.ph, ptr %.sroa.9.8..sroa_idx, align 8 + call void @llvm.assume(i1 true) [ "align"(ptr %.sroa.615.2.ph, i64 8) ] %32 = load i64, ptr %.sroa.615.2.ph, align 8, !range !372, !noundef !5 %33 = icmp eq i64 %32, 17 br i1 %33, label %57, label %60 @@ -9100,6 +9109,7 @@ define void @"_ZN3syn8generics8printing80_$LT$impl$u20$quote..to_tokens..ToToken call void @llvm.lifetime.start.p0(ptr nonnull %6) store ptr %.sroa.620.2.ph, ptr %6, align 8 store ptr %.sroa.921.2.ph, ptr %.sroa.921.8..sroa_idx, align 8 + call void @llvm.assume(i1 true) [ "align"(ptr %.sroa.620.2.ph, i64 8) ] %50 = load i64, ptr %.sroa.620.2.ph, align 8, !range !372, !noundef !5 %51 = icmp eq i64 %50, 17 br i1 %51, label %52, label %53 @@ -9249,6 +9259,7 @@ default.unreachable: ; preds = %68 call void @llvm.lifetime.start.p0(ptr nonnull %20) store ptr %.sroa.639.2.ph, ptr %20, align 8 store ptr %.sroa.9.2.ph, ptr %.sroa.9.8..sroa_idx, align 8 + call void @llvm.assume(i1 true) [ "align"(ptr %.sroa.639.2.ph, i64 8) ] %45 = load i64, ptr %.sroa.639.2.ph, align 8, !range !372, !noundef !5 %46 = icmp eq i64 %45, 17 br i1 %46, label %150, label %153 @@ -9294,6 +9305,7 @@ default.unreachable: ; preds = %68 %.sroa.040.1.ph = phi ptr [ %53, %52 ], [ %.sroa.040.0, %50 ] %.sroa.7.2.ph = phi ptr [ %.sroa.040.0, %52 ], [ %.sroa.642.0, %50 ] %.sroa.10.2.ph = phi ptr [ %54, %52 ], [ null, %50 ] + call void @llvm.assume(i1 true) [ "align"(ptr %.sroa.7.2.ph, i64 8) ] %63 = load i64, ptr %.sroa.7.2.ph, align 8, !range !372, !noundef !5 %64 = icmp eq i64 %63, 17 br i1 %64, label %47, label %65 @@ -9315,6 +9327,7 @@ default.unreachable: ; preds = %68 68: ; preds = %66, %65 %69 = phi i64 [ %.pre, %66 ], [ %63, %65 ] + call void @llvm.assume(i1 true) [ "align"(ptr %.sroa.7.2.ph, i64 8) ] %70 = add nsw i64 %69, -17 %71 = call i64 @llvm.umin.i64(i64 %70, i64 2) switch i64 %71, label %default.unreachable [ @@ -9521,7 +9534,7 @@ _ZN3syn5token7Bracket8surround17h1c5a0ec9f4d05f43E.exit37: ; preds = %"_ZN3syn4a call void @llvm.lifetime.end.p0(ptr nonnull %13), !noalias !1337 %136 = getelementptr inbounds nuw i8, ptr %.sroa.7.2.ph, i64 472 call void @llvm.experimental.noalias.scope.decl(metadata !1369) - %137 = load i32, ptr %136, align 4, !alias.scope !1369, !noalias !1372, !noundef !5 + %137 = load i32, ptr %136, align 8, !alias.scope !1369, !noalias !1372, !noundef !5 call void @llvm.lifetime.start.p0(ptr nonnull %12), !noalias !1374 call void @_ZN11proc_macro25Ident3new17h7da1a03a0b207f4dE(ptr noalias noundef nonnull sret({ { i64, [3 x i64] }, { {} } }) align 8 captures(none) dereferenceable(32) %12, ptr noalias noundef nonnull readonly align 1 @anon.e4fd49bda13fc8b05702603de3f8b493.26.llvm.15435319159651575738, i64 noundef 5, i32 noundef %137, ptr noalias noundef readonly align 8 dereferenceable(24) @anon.0d5d5001281b8245a926393d947a7215.24.llvm.858133952616893155), !noalias !1381 call void @"_ZN115_$LT$proc_macro2..imp..TokenStream$u20$as$u20$core..iter..traits..collect..Extend$LT$proc_macro2..TokenTree$GT$$GT$6extend17hb05fa54c9b9cd6f6E"(ptr noalias noundef nonnull align 8 dereferenceable(32) %1, ptr noalias noundef nonnull align 8 captures(none) dereferenceable(32) %12), !noalias !1382 @@ -9535,7 +9548,7 @@ _ZN3syn5token7Bracket8surround17h1c5a0ec9f4d05f43E.exit37: ; preds = %"_ZN3syn4a 140: ; preds = %"_ZN71_$LT$proc_macro2..TokenStream$u20$as$u20$quote..ext..TokenStreamExt$GT$10append_all17h461c7d421261f82dE.exit" %141 = getelementptr inbounds nuw i8, ptr %.sroa.7.2.ph, i64 328 - %142 = load i32, ptr %141, align 4, !range !163, !noalias !1383, !noundef !5 + %142 = load i32, ptr %141, align 8, !range !163, !noalias !1383, !noundef !5 %trunc.i28 = trunc nuw i32 %142 to i1 br i1 %trunc.i28, label %145, label %143 @@ -9677,6 +9690,7 @@ default.unreachable: ; preds = %57 %.sroa.623.2.ph = phi ptr [ %.sroa.0.0, %29 ], [ %.sroa.6.0, %27 ] %.sroa.6.1.ph = phi ptr [ %.sroa.6.0, %29 ], [ null, %27 ] %.sroa.0.1.ph = phi ptr [ %30, %29 ], [ %.sroa.0.0, %27 ] + call void @llvm.assume(i1 true) [ "align"(ptr %.sroa.623.2.ph, i64 8) ] %34 = load i64, ptr %.sroa.623.2.ph, align 8, !range !372, !noundef !5 %35 = icmp eq i64 %34, 17 br i1 %35, label %67, label %24 @@ -9722,6 +9736,7 @@ default.unreachable: ; preds = %57 %.sroa.025.1.ph = phi ptr [ %42, %41 ], [ %.sroa.025.0, %39 ] %.sroa.7.2.ph = phi ptr [ %.sroa.025.0, %41 ], [ %.sroa.627.0, %39 ] %.sroa.10.2.ph = phi ptr [ %43, %41 ], [ null, %39 ] + call void @llvm.assume(i1 true) [ "align"(ptr %.sroa.7.2.ph, i64 8) ] %52 = load i64, ptr %.sroa.7.2.ph, align 8, !range !372, !noundef !5 %53 = icmp eq i64 %52, 17 br i1 %53, label %36, label %54 @@ -9743,6 +9758,7 @@ default.unreachable: ; preds = %57 57: ; preds = %55, %54 %58 = phi i64 [ %.pre, %55 ], [ %52, %54 ] + call void @llvm.assume(i1 true) [ "align"(ptr %.sroa.7.2.ph, i64 8) ] %59 = add nsw i64 %58, -17 %60 = call i64 @llvm.umin.i64(i64 %59, i64 2) switch i64 %60, label %default.unreachable [ @@ -10720,6 +10736,7 @@ define void @"_ZN3syn8generics8printing89_$LT$impl$u20$quote..to_tokens..ToToken call void @llvm.lifetime.end.p0(ptr nonnull %5), !noalias !1782 call void @"_ZN65_$LT$proc_macro2..Ident$u20$as$u20$quote..to_tokens..ToTokens$GT$9to_tokens17h629b5813b48ddffcE"(ptr noalias noundef nonnull readonly align 8 dereferenceable(40) %.sroa.0.0.copyload7, ptr noalias noundef nonnull align 8 dereferenceable(32) %1), !noalias !1787 call void @llvm.lifetime.end.p0(ptr nonnull %6), !noalias !1772 + call void @llvm.assume(i1 true) [ "align"(ptr %.sroa.5.0.copyload6, i64 4) ], !noalias !1771 call void @_ZN3syn5token8printing5punct17h32409e3f9cc0b330E(ptr noalias noundef nonnull readonly align 1 @anon.e4fd49bda13fc8b05702603de3f8b493.176.llvm.15435319159651575738, i64 noundef 1, ptr noalias noundef nonnull readonly align 4 dereferenceable(4) %.sroa.5.0.copyload6, i64 noundef 1, ptr noalias noundef nonnull align 8 dereferenceable(32) %1), !noalias !1788 br label %"_ZN3syn10punctuated8printing91_$LT$impl$u20$quote..to_tokens..ToTokens$u20$for$u20$syn..punctuated..Pair$LT$T$C$P$GT$$GT$9to_tokens17h60e069b04ad14323E.exit" @@ -10816,6 +10833,7 @@ define hidden void @"_ZN3syn4path8printing97_$LT$impl$u20$quote..to_tokens..ToTo %14 = icmp ne ptr %.sroa.0.0.copyload6, null call void @llvm.assume(i1 %14) call void @"_ZN60_$LT$syn..ty..Type$u20$as$u20$quote..to_tokens..ToTokens$GT$9to_tokens17hfe21a6835586d0a0E"(ptr noalias noundef nonnull readonly align 8 dereferenceable(232) %.sroa.0.0.copyload6, ptr noalias noundef nonnull align 8 dereferenceable(32) %1), !noalias !1825 + call void @llvm.assume(i1 true) [ "align"(ptr %.sroa.5.0.copyload5, i64 4) ], !noalias !1823 call void @_ZN3syn5token8printing5punct17h32409e3f9cc0b330E(ptr noalias noundef nonnull readonly align 1 @anon.e4fd49bda13fc8b05702603de3f8b493.128.llvm.15435319159651575738, i64 noundef 1, ptr noalias noundef nonnull readonly align 4 dereferenceable(4) %.sroa.5.0.copyload5, i64 noundef 1, ptr noalias noundef nonnull align 8 dereferenceable(32) %1), !noalias !1830 br label %"_ZN3syn10punctuated8printing91_$LT$impl$u20$quote..to_tokens..ToTokens$u20$for$u20$syn..punctuated..Pair$LT$T$C$P$GT$$GT$9to_tokens17he719d375b06373bbE.exit" @@ -10924,6 +10942,7 @@ define hidden void @"_ZN3syn2ty8printing76_$LT$impl$u20$quote..to_tokens..ToToke br i1 %18, label %"_ZN3syn10punctuated8printing91_$LT$impl$u20$quote..to_tokens..ToTokens$u20$for$u20$syn..punctuated..Pair$LT$T$C$P$GT$$GT$9to_tokens17ha8f636f012a28e1bE.exit.i.i", label %19 19: ; preds = %17 + call void @llvm.assume(i1 true) [ "align"(ptr %.sroa.5.0.copyload.i.i, i64 4) ] call void @_ZN3syn5token8printing5punct17h32409e3f9cc0b330E(ptr noalias noundef nonnull readonly align 1 @anon.e4fd49bda13fc8b05702603de3f8b493.128.llvm.15435319159651575738, i64 noundef 1, ptr noalias noundef nonnull readonly align 4 dereferenceable(4) %.sroa.5.0.copyload.i.i, i64 noundef 1, ptr noalias noundef nonnull align 8 dereferenceable(32) %1), !noalias !1873 br label %"_ZN3syn10punctuated8printing91_$LT$impl$u20$quote..to_tokens..ToTokens$u20$for$u20$syn..punctuated..Pair$LT$T$C$P$GT$$GT$9to_tokens17ha8f636f012a28e1bE.exit.i.i" @@ -11944,6 +11963,7 @@ define hidden void @_ZN3syn5token5Paren8surround17h9f6e9968a42901b9E(ptr noalias to label %.noexc7 unwind label %.loopexit .noexc7: ; preds = %19 + call void @llvm.assume(i1 true) [ "align"(ptr %.sroa.5.0.copyload6.i.i, i64 4) ] invoke void @_ZN3syn5token8printing5punct17h32409e3f9cc0b330E(ptr noalias noundef nonnull readonly align 1 @anon.e4fd49bda13fc8b05702603de3f8b493.128.llvm.15435319159651575738, i64 noundef 1, ptr noalias noundef nonnull readonly align 4 dereferenceable(4) %.sroa.5.0.copyload6.i.i, i64 noundef 1, ptr noalias noundef nonnull align 8 dereferenceable(32) %9) to label %"_ZN3syn10punctuated8printing91_$LT$impl$u20$quote..to_tokens..ToTokens$u20$for$u20$syn..punctuated..Pair$LT$T$C$P$GT$$GT$9to_tokens17he41eef9601720d1dE.exit.i.i" unwind label %.loopexit @@ -12326,6 +12346,7 @@ define hidden void @_ZN3syn5token5Paren8surround17hd1120c586b8cc709E(ptr noalias br i1 %23, label %"_ZN3syn10punctuated8printing91_$LT$impl$u20$quote..to_tokens..ToTokens$u20$for$u20$syn..punctuated..Pair$LT$T$C$P$GT$$GT$9to_tokens17ha8f636f012a28e1bE.exit.i.i", label %24 24: ; preds = %.noexc15 + call void @llvm.assume(i1 true) [ "align"(ptr %.sroa.5.0.copyload.i.i, i64 4) ] invoke void @_ZN3syn5token8printing5punct17h32409e3f9cc0b330E(ptr noalias noundef nonnull readonly align 1 @anon.e4fd49bda13fc8b05702603de3f8b493.128.llvm.15435319159651575738, i64 noundef 1, ptr noalias noundef nonnull readonly align 4 dereferenceable(4) %.sroa.5.0.copyload.i.i, i64 noundef 1, ptr noalias noundef nonnull align 8 dereferenceable(32) %11) to label %"_ZN3syn10punctuated8printing91_$LT$impl$u20$quote..to_tokens..ToTokens$u20$for$u20$syn..punctuated..Pair$LT$T$C$P$GT$$GT$9to_tokens17ha8f636f012a28e1bE.exit.i.i" unwind label %.loopexit @@ -12484,6 +12505,7 @@ define hidden void @_ZN3syn5token5Paren8surround17hfd1c8dab05f12f04E(ptr noalias to label %.noexc7 unwind label %.loopexit .noexc7: ; preds = %19 + call void @llvm.assume(i1 true) [ "align"(ptr %.sroa.5.0.copyload6.i.i, i64 4) ] invoke void @_ZN3syn5token8printing5punct17h32409e3f9cc0b330E(ptr noalias noundef nonnull readonly align 1 @anon.e4fd49bda13fc8b05702603de3f8b493.128.llvm.15435319159651575738, i64 noundef 1, ptr noalias noundef nonnull readonly align 4 dereferenceable(4) %.sroa.5.0.copyload6.i.i, i64 noundef 1, ptr noalias noundef nonnull align 8 dereferenceable(32) %9) to label %"_ZN3syn10punctuated8printing91_$LT$impl$u20$quote..to_tokens..ToTokens$u20$for$u20$syn..punctuated..Pair$LT$T$C$P$GT$$GT$9to_tokens17he41eef9601720d1dE.exit.i.i" unwind label %.loopexit @@ -13938,6 +13960,7 @@ define void @"_ZN3syn3gen5clone73_$LT$impl$u20$core..clone..Clone$u20$for$u20$sy "_ZN5alloc5boxed16Box$LT$T$C$A$GT$13new_uninit_in17h01b1c7c8aa77a8f3E.exit.i": ; preds = %.noexc17 store ptr %39, ptr %4, align 8, !noalias !2420 + call void @llvm.assume(i1 true) [ "align"(ptr %36, i64 8) ] call void @llvm.lifetime.start.p0(ptr nonnull %3), !noalias !2423 invoke void @"_ZN3syn3gen5clone78_$LT$impl$u20$core..clone..Clone$u20$for$u20$syn..generics..TypeParamBound$GT$5clone17ha3b566f29ed25c7bE"(ptr noalias noundef nonnull sret({ i64, [14 x i64] }) align 8 captures(none) dereferenceable(120) %3, ptr noalias noundef nonnull readonly align 8 dereferenceable(120) %36) to label %"_ZN69_$LT$alloc..boxed..Box$LT$T$C$A$GT$$u20$as$u20$core..clone..Clone$GT$5clone17h66d9f711ad8d40b7E.llvm.14145919710250835280.exit" unwind label %42, !noalias !2420 diff --git a/bench/tls-rs/optimized/2xhpv4vf07do7r8g.ll b/bench/tls-rs/optimized/2xhpv4vf07do7r8g.ll index 185675eb802..947a8e86ca3 100644 --- a/bench/tls-rs/optimized/2xhpv4vf07do7r8g.ll +++ b/bench/tls-rs/optimized/2xhpv4vf07do7r8g.ll @@ -2530,58 +2530,71 @@ define void @_ZN6rustls12common_state11CommonState15write_plaintext17h1431481db9 %16 = sub i64 %15, %13 %.0.i.i = select i1 %11, i64 %13, i64 %16 %17 = icmp eq i64 %.0.i.i, 0 - br i1 %17, label %25, label %18 + br i1 %17, label %20, label %18 18: ; preds = %5 %19 = getelementptr inbounds nuw i8, ptr %1, i64 752 - %20 = getelementptr inbounds nuw i8, ptr %2, i64 8 - %21 = load ptr, ptr %20, align 8 - %.sroa.5.0 = ptrtoint ptr %21 to i64 - %.sroa.1148.0 = select i1 %11, i64 undef, i64 %15 - %22 = load i64, ptr %19, align 8, !alias.scope !528, !noalias !531, !noundef !14 - %23 = getelementptr inbounds nuw i8, ptr %1, i64 48 - %24 = load i64, ptr %23, align 8, !alias.scope !534, !noundef !14 - %spec.select.i = tail call noundef i64 @llvm.usub.sat.i64(i64 -65536, i64 %24) - %.not.not = icmp ugt i64 %24, -65537 - br i1 %.not.not, label %35, label %27 - -25: ; preds = %5 - %26 = getelementptr inbounds nuw i8, ptr %0, i64 8 - store i64 0, ptr %26, align 8 + br i1 %11, label %22, label %26 + +20: ; preds = %5 + %21 = getelementptr inbounds nuw i8, ptr %0, i64 8 + store i64 0, ptr %21, align 8 store i64 2, ptr %0, align 8 - br label %72 + br label %78 -27: ; preds = %18 - %28 = icmp eq i64 %22, 0 - br i1 %28, label %29, label %"_ZN103_$LT$rustls..msgs..fragmenter..Chunker$u20$as$u20$core..iter..traits..exact_size..ExactSizeIterator$GT$3len17ha95d4da5eac9ef73E.exit", !prof !537 +22: ; preds = %18 + %23 = getelementptr inbounds nuw i8, ptr %2, i64 8 + %24 = load ptr, ptr %23, align 8, !nonnull !14, !align !29, !noundef !14 + %25 = ptrtoint ptr %24 to i64 + br label %29 -29: ; preds = %27 +26: ; preds = %18 + call void @llvm.assume(i1 true) [ "align"(ptr %10, i64 8) ] + %27 = getelementptr inbounds nuw i8, ptr %2, i64 8 + %28 = load i64, ptr %27, align 8, !noundef !14 + br label %29 + +29: ; preds = %26, %22 + %.sroa.5.0 = phi i64 [ %25, %22 ], [ %28, %26 ] + %.sroa.1148.0 = phi i64 [ undef, %22 ], [ %15, %26 ] + %30 = load i64, ptr %19, align 8, !alias.scope !528, !noalias !531, !noundef !14 + %31 = getelementptr inbounds nuw i8, ptr %1, i64 48 + %32 = load i64, ptr %31, align 8, !alias.scope !534, !noundef !14 + %spec.select.i = tail call noundef i64 @llvm.usub.sat.i64(i64 -65536, i64 %32) + %.not.not = icmp ugt i64 %32, -65537 + br i1 %.not.not, label %41, label %33 + +33: ; preds = %29 + %34 = icmp eq i64 %30, 0 + br i1 %34, label %35, label %"_ZN103_$LT$rustls..msgs..fragmenter..Chunker$u20$as$u20$core..iter..traits..exact_size..ExactSizeIterator$GT$3len17ha95d4da5eac9ef73E.exit", !prof !537 + +35: ; preds = %33 tail call void @_ZN4core9panicking5panic17hb837a5ebbbe5b188E(ptr noalias noundef nonnull readonly align 1 @str.0.llvm.5361720058829915877, i64 noundef 25, ptr noalias noundef readonly align 8 dereferenceable(24) @anon.57abb3be8c01c189e633236260de9ac9.39.llvm.5361720058829915877) #29, !noalias !538 unreachable -"_ZN103_$LT$rustls..msgs..fragmenter..Chunker$u20$as$u20$core..iter..traits..exact_size..ExactSizeIterator$GT$3len17ha95d4da5eac9ef73E.exit": ; preds = %27 - %30 = sub i64 %15, %13 - %.0.i.i32 = select i1 %11, i64 %13, i64 %30 - %31 = add i64 %.0.i.i32, -1 - %32 = add i64 %31, %22 - %33 = udiv i64 %32, %22 - %34 = icmp ugt i64 %33, %spec.select.i - br i1 %34, label %65, label %37 +"_ZN103_$LT$rustls..msgs..fragmenter..Chunker$u20$as$u20$core..iter..traits..exact_size..ExactSizeIterator$GT$3len17ha95d4da5eac9ef73E.exit": ; preds = %33 + %36 = sub i64 %.sroa.1148.0, %13 + %.0.i.i32 = select i1 %11, i64 %13, i64 %36 + %37 = add i64 %30, -1 + %38 = add i64 %37, %.0.i.i32 + %39 = udiv i64 %38, %30 + %40 = icmp ugt i64 %39, %spec.select.i + br i1 %40, label %71, label %43 -35: ; preds = %18 +41: ; preds = %29 store i64 1, ptr %0, align 8 - %36 = getelementptr inbounds nuw i8, ptr %0, i64 8 - store i64 %spec.select.i, ptr %36, align 8 - br label %72 - -37: ; preds = %"_ZN103_$LT$rustls..msgs..fragmenter..Chunker$u20$as$u20$core..iter..traits..exact_size..ExactSizeIterator$GT$3len17ha95d4da5eac9ef73E.exit" - %38 = getelementptr inbounds nuw i8, ptr %1, i64 728 - %39 = load i64, ptr %38, align 8, !range !123, !alias.scope !541, !noundef !14 - %40 = icmp eq i64 %39, -9223372036854775808 - %41 = getelementptr inbounds nuw i8, ptr %1, i64 744 - %42 = load i64, ptr %41, align 8, !alias.scope !541 + %42 = getelementptr inbounds nuw i8, ptr %0, i64 8 + store i64 %spec.select.i, ptr %42, align 8 + br label %78 + +43: ; preds = %"_ZN103_$LT$rustls..msgs..fragmenter..Chunker$u20$as$u20$core..iter..traits..exact_size..ExactSizeIterator$GT$3len17ha95d4da5eac9ef73E.exit" + %44 = getelementptr inbounds nuw i8, ptr %1, i64 728 + %45 = load i64, ptr %44, align 8, !range !123, !alias.scope !541, !noundef !14 + %46 = icmp eq i64 %45, -9223372036854775808 + %47 = getelementptr inbounds nuw i8, ptr %1, i64 744 + %48 = load i64, ptr %47, align 8, !alias.scope !541 tail call void @llvm.experimental.noalias.scope.decl(metadata !544) - %spec.select.i33 = select i1 %40, i64 0, i64 %42 + %spec.select.i33 = select i1 %46, i64 0, i64 %48 call void @llvm.lifetime.start.p0(ptr nonnull %7), !noalias !547 store ptr %10, ptr %7, align 8, !noalias !550 %.sroa.4.0..sroa_idx = getelementptr inbounds nuw i8, ptr %7, i64 8 @@ -2591,87 +2604,87 @@ define void @_ZN6rustls12common_state11CommonState15write_plaintext17h1431481db9 %.sroa.651.0..sroa_idx = getelementptr inbounds nuw i8, ptr %7, i64 24 store i64 %.sroa.1148.0, ptr %.sroa.651.0..sroa_idx, align 8, !noalias !550 %.sroa.752.0..sroa_idx = getelementptr inbounds nuw i8, ptr %7, i64 32 - store i64 %22, ptr %.sroa.752.0..sroa_idx, align 8, !noalias !550 + store i64 %30, ptr %.sroa.752.0..sroa_idx, align 8, !noalias !550 %.sroa.853.0..sroa_idx = getelementptr inbounds nuw i8, ptr %7, i64 40 store i16 4, ptr %.sroa.853.0..sroa_idx, align 8, !noalias !550 %.sroa.1054.0..sroa_idx = getelementptr inbounds nuw i8, ptr %7, i64 44 store i8 3, ptr %.sroa.1054.0..sroa_idx, align 4, !noalias !550 - %43 = icmp eq i64 %.0.i.i32, 0 - br i1 %43, label %_ZN6rustls12common_state11CommonState19check_required_size17h5853712a7336b898E.exit, label %.lr.ph.i + %49 = icmp eq i64 %.0.i.i32, 0 + br i1 %49, label %_ZN6rustls12common_state11CommonState19check_required_size17h5853712a7336b898E.exit, label %.lr.ph.i -.lr.ph.i: ; preds = %37 +.lr.ph.i: ; preds = %43 %.sroa.01.i.sroa.5.0..sroa_idx.i = getelementptr inbounds nuw i8, ptr %6, i64 16 %.sroa.01.i.sroa.6.0..sroa_idx.i = getelementptr inbounds nuw i8, ptr %6, i64 24 - %44 = getelementptr inbounds nuw i8, ptr %6, i64 32 - %45 = getelementptr inbounds nuw i8, ptr %1, i64 16 - %46 = load ptr, ptr %45, align 8, !alias.scope !544, !noalias !551, !nonnull !14, !align !29 - %47 = getelementptr inbounds nuw i8, ptr %1, i64 24 - %48 = load ptr, ptr %47, align 8, !alias.scope !544, !noalias !551, !nonnull !14, !align !28 - %49 = getelementptr inbounds nuw i8, ptr %48, i64 32 - br label %50 - -50: ; preds = %50, %.lr.ph.i - %.124.i = phi i64 [ %spec.select.i33, %.lr.ph.i ], [ %57, %50 ] + %50 = getelementptr inbounds nuw i8, ptr %6, i64 32 + %51 = getelementptr inbounds nuw i8, ptr %1, i64 16 + %52 = load ptr, ptr %51, align 8, !alias.scope !544, !noalias !551, !nonnull !14, !align !29 + %53 = getelementptr inbounds nuw i8, ptr %1, i64 24 + %54 = load ptr, ptr %53, align 8, !alias.scope !544, !noalias !551, !nonnull !14, !align !28 + %55 = getelementptr inbounds nuw i8, ptr %54, i64 32 + br label %56 + +56: ; preds = %56, %.lr.ph.i + %.124.i = phi i64 [ %spec.select.i33, %.lr.ph.i ], [ %63, %56 ] call void @llvm.experimental.noalias.scope.decl(metadata !552) call void @llvm.experimental.noalias.scope.decl(metadata !555) call void @llvm.lifetime.start.p0(ptr nonnull %6), !noalias !558 - %51 = load i64, ptr %.sroa.752.0..sroa_idx, align 8, !alias.scope !561, !noalias !562, !noundef !14 - call void @_ZN6rustls4msgs7message8outbound14OutboundChunks8split_at17h87280a3cc8187261E(ptr noalias noundef nonnull sret({ { ptr, [3 x i64] }, { ptr, [3 x i64] } }) align 8 captures(none) dereferenceable(64) %6, ptr noalias noundef nonnull readonly align 8 dereferenceable(48) %7, i64 noundef %51), !noalias !562 + %57 = load i64, ptr %.sroa.752.0..sroa_idx, align 8, !alias.scope !561, !noalias !562, !noundef !14 + call void @_ZN6rustls4msgs7message8outbound14OutboundChunks8split_at17h87280a3cc8187261E(ptr noalias noundef nonnull sret({ { ptr, [3 x i64] }, { ptr, [3 x i64] } }) align 8 captures(none) dereferenceable(64) %6, ptr noalias noundef nonnull readonly align 8 dereferenceable(48) %7, i64 noundef %57), !noalias !562 %.sroa.01.i.sroa.0.0.copyload.i = load ptr, ptr %6, align 8, !noalias !563 %.sroa.01.i.sroa.5.0.copyload.i = load i64, ptr %.sroa.01.i.sroa.5.0..sroa_idx.i, align 8, !noalias !563 %.sroa.01.i.sroa.6.0.copyload.i = load i64, ptr %.sroa.01.i.sroa.6.0..sroa_idx.i, align 8, !noalias !563 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %7, ptr noundef nonnull align 8 dereferenceable(32) %44, i64 32, i1 false), !noalias !562 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %7, ptr noundef nonnull align 8 dereferenceable(32) %50, i64 32, i1 false), !noalias !562 call void @llvm.lifetime.end.p0(ptr nonnull %6), !noalias !558 - %52 = icmp eq ptr %.sroa.01.i.sroa.0.0.copyload.i, null - %53 = sub i64 %.sroa.01.i.sroa.6.0.copyload.i, %.sroa.01.i.sroa.5.0.copyload.i - %.0.i.i.i = select i1 %52, i64 %.sroa.01.i.sroa.5.0.copyload.i, i64 %53 - %54 = load ptr, ptr %49, align 8, !invariant.load !14, !noalias !564, !nonnull !14 - %55 = call noundef i64 %54(ptr noundef nonnull align 1 %46, i64 noundef %.0.i.i.i), !noalias !564 - %56 = add i64 %.124.i, 5 - %57 = add i64 %56, %55 - %58 = load ptr, ptr %7, align 8, !alias.scope !570, !noalias !562, !noundef !14 - %59 = icmp eq ptr %58, null - %60 = load i64, ptr %.sroa.550.0..sroa_idx, align 8, !alias.scope !570, !noalias !562 - %61 = load i64, ptr %.sroa.651.0..sroa_idx, align 8, !alias.scope !570, !noalias !562 - %62 = sub i64 %61, %60 - %.0.i.i.i.i.i = select i1 %59, i64 %60, i64 %62 - %63 = icmp eq i64 %.0.i.i.i.i.i, 0 - br i1 %63, label %_ZN6rustls12common_state11CommonState19check_required_size17h5853712a7336b898E.exit, label %50 - -_ZN6rustls12common_state11CommonState19check_required_size17h5853712a7336b898E.exit: ; preds = %50, %37 - %.1.lcssa.i = phi i64 [ %spec.select.i33, %37 ], [ %57, %50 ] + %58 = icmp eq ptr %.sroa.01.i.sroa.0.0.copyload.i, null + %59 = sub i64 %.sroa.01.i.sroa.6.0.copyload.i, %.sroa.01.i.sroa.5.0.copyload.i + %.0.i.i.i = select i1 %58, i64 %.sroa.01.i.sroa.5.0.copyload.i, i64 %59 + %60 = load ptr, ptr %55, align 8, !invariant.load !14, !noalias !564, !nonnull !14 + %61 = call noundef i64 %60(ptr noundef nonnull align 1 %52, i64 noundef %.0.i.i.i), !noalias !564 + %62 = add i64 %.124.i, 5 + %63 = add i64 %62, %61 + %64 = load ptr, ptr %7, align 8, !alias.scope !570, !noalias !562, !noundef !14 + %65 = icmp eq ptr %64, null + %66 = load i64, ptr %.sroa.550.0..sroa_idx, align 8, !alias.scope !570, !noalias !562 + %67 = load i64, ptr %.sroa.651.0..sroa_idx, align 8, !alias.scope !570, !noalias !562 + %68 = sub i64 %67, %66 + %.0.i.i.i.i.i = select i1 %65, i64 %66, i64 %68 + %69 = icmp eq i64 %.0.i.i.i.i.i, 0 + br i1 %69, label %_ZN6rustls12common_state11CommonState19check_required_size17h5853712a7336b898E.exit, label %56 + +_ZN6rustls12common_state11CommonState19check_required_size17h5853712a7336b898E.exit: ; preds = %56, %43 + %.1.lcssa.i = phi i64 [ %spec.select.i33, %43 ], [ %63, %56 ] call void @llvm.lifetime.end.p0(ptr nonnull %7), !noalias !547 - %64 = icmp ugt i64 %.1.lcssa.i, %4 - br i1 %64, label %70, label %66 + %70 = icmp ugt i64 %.1.lcssa.i, %4 + br i1 %70, label %76, label %72 -65: ; preds = %"_ZN103_$LT$rustls..msgs..fragmenter..Chunker$u20$as$u20$core..iter..traits..exact_size..ExactSizeIterator$GT$3len17ha95d4da5eac9ef73E.exit" +71: ; preds = %"_ZN103_$LT$rustls..msgs..fragmenter..Chunker$u20$as$u20$core..iter..traits..exact_size..ExactSizeIterator$GT$3len17ha95d4da5eac9ef73E.exit" store i64 1, ptr %0, align 8 - br label %72 + br label %78 -66: ; preds = %_ZN6rustls12common_state11CommonState19check_required_size17h5853712a7336b898E.exit +72: ; preds = %_ZN6rustls12common_state11CommonState19check_required_size17h5853712a7336b898E.exit call void @llvm.experimental.noalias.scope.decl(metadata !577) call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(48) %9, ptr noundef nonnull align 8 dereferenceable(32) %2, i64 32, i1 false), !alias.scope !580, !noalias !582 %.sroa.4.0..sroa_idx1.i34 = getelementptr inbounds nuw i8, ptr %9, i64 32 - store i64 %22, ptr %.sroa.4.0..sroa_idx1.i34, align 8, !alias.scope !584, !noalias !585 - %67 = getelementptr inbounds nuw i8, ptr %9, i64 40 - store i16 4, ptr %67, align 8, !alias.scope !584, !noalias !585 + store i64 %30, ptr %.sroa.4.0..sroa_idx1.i34, align 8, !alias.scope !584, !noalias !585 + %73 = getelementptr inbounds nuw i8, ptr %9, i64 40 + store i16 4, ptr %73, align 8, !alias.scope !584, !noalias !585 %.sroa.5.0..sroa_idx.i36 = getelementptr inbounds nuw i8, ptr %9, i64 44 store i8 3, ptr %.sroa.5.0..sroa_idx.i36, align 4, !alias.scope !584, !noalias !585 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %8, ptr noundef nonnull align 8 dereferenceable(24) %38, i64 24, i1 false) - store i64 -9223372036854775808, ptr %38, align 8 - %68 = call noundef i64 @_ZN6rustls12common_state11CommonState15write_fragments17h20a3bd8b6931558aE(ptr noalias noundef nonnull align 8 dereferenceable(776) %1, ptr noalias noundef nonnull align 1 %3, i64 noundef %4, ptr noalias noundef nonnull align 8 captures(none) dereferenceable(24) %8, ptr noalias noundef nonnull align 8 captures(none) dereferenceable(48) %9) - %69 = getelementptr inbounds nuw i8, ptr %0, i64 8 - store i64 %68, ptr %69, align 8 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %8, ptr noundef nonnull align 8 dereferenceable(24) %44, i64 24, i1 false) + store i64 -9223372036854775808, ptr %44, align 8 + %74 = call noundef i64 @_ZN6rustls12common_state11CommonState15write_fragments17h20a3bd8b6931558aE(ptr noalias noundef nonnull align 8 dereferenceable(776) %1, ptr noalias noundef nonnull align 1 %3, i64 noundef %4, ptr noalias noundef nonnull align 8 captures(none) dereferenceable(24) %8, ptr noalias noundef nonnull align 8 captures(none) dereferenceable(48) %9) + %75 = getelementptr inbounds nuw i8, ptr %0, i64 8 + store i64 %74, ptr %75, align 8 store i64 2, ptr %0, align 8 - br label %72 + br label %78 -70: ; preds = %_ZN6rustls12common_state11CommonState19check_required_size17h5853712a7336b898E.exit +76: ; preds = %_ZN6rustls12common_state11CommonState19check_required_size17h5853712a7336b898E.exit store i64 0, ptr %0, align 8 - %71 = getelementptr inbounds nuw i8, ptr %0, i64 8 - store i64 %.1.lcssa.i, ptr %71, align 8 - br label %72 + %77 = getelementptr inbounds nuw i8, ptr %0, i64 8 + store i64 %.1.lcssa.i, ptr %77, align 8 + br label %78 -72: ; preds = %35, %65, %70, %66, %25 +78: ; preds = %41, %71, %76, %72, %20 ret void } @@ -3013,6 +3026,7 @@ define hidden void @_ZN6rustls12common_state11CommonState22start_outgoing_traffi br i1 %.not, label %6, label %5 5: ; preds = %2 + call void @llvm.assume(i1 true) [ "align"(ptr %4, i64 8) ] tail call void @_ZN6rustls12common_state11CommonState15flush_plaintext17hb0dc319bf79a5d5eE.llvm.12428379203013389814(ptr noalias noundef nonnull align 8 dereferenceable(776) %0, ptr noalias noundef nonnull align 8 dereferenceable(48) %4) br label %6 @@ -3033,6 +3047,7 @@ define hidden void @_ZN6rustls12common_state11CommonState13start_traffic17h228a7 br i1 %.not.i, label %_ZN6rustls12common_state11CommonState22start_outgoing_traffic17hbb62ca2585324154E.exit, label %6 6: ; preds = %2 + call void @llvm.assume(i1 true) [ "align"(ptr %5, i64 8) ] tail call void @_ZN6rustls12common_state11CommonState15flush_plaintext17hb0dc319bf79a5d5eE.llvm.12428379203013389814(ptr noalias noundef nonnull align 8 dereferenceable(776) %0, ptr noalias noundef nonnull align 8 dereferenceable(48) %5), !noalias !707 br label %_ZN6rustls12common_state11CommonState22start_outgoing_traffic17hbb62ca2585324154E.exit @@ -14226,6 +14241,7 @@ _ZN6rustls7hash_hs13HandshakeHash11add_message17h96486aaaeca9d316E.exit: ; preds br i1 %.not.i.i186, label %_ZN6rustls12common_state11CommonState13start_traffic17h228a7d3f5fdec1b3E.exit, label %223 223: ; preds = %218 + call void @llvm.assume(i1 true) [ "align"(ptr %222, i64 8) ] invoke void @_ZN6rustls12common_state11CommonState15flush_plaintext17hb0dc319bf79a5d5eE.llvm.12428379203013389814(ptr noalias noundef nonnull align 8 dereferenceable(776) %41, ptr noalias noundef nonnull align 8 dereferenceable(48) %222) to label %_ZN6rustls12common_state11CommonState13start_traffic17h228a7d3f5fdec1b3E.exit unwind label %.loopexit.split-lp diff --git a/bench/tls-rs/optimized/59h61akxu6z29dlt.ll b/bench/tls-rs/optimized/59h61akxu6z29dlt.ll index 845b34e01c3..f4dd635db3e 100644 --- a/bench/tls-rs/optimized/59h61akxu6z29dlt.ll +++ b/bench/tls-rs/optimized/59h61akxu6z29dlt.ll @@ -7222,6 +7222,7 @@ define hidden void @_ZN6rustls5tls1312key_schedule11KeySchedule11derive_next17h7 %.fca.1.extract = extractvalue { ptr, ptr } %17, 1 %.fca.1.gep = getelementptr inbounds nuw i8, ptr %8, i64 8 store ptr %.fca.1.extract, ptr %.fca.1.gep, align 8 + call void @llvm.assume(i1 true) [ "align"(ptr %.fca.1.extract, i64 8) ] tail call void @llvm.experimental.noalias.scope.decl(metadata !1928) %18 = getelementptr inbounds nuw i8, ptr %.fca.1.extract, i64 40 %19 = load ptr, ptr %18, align 8, !invariant.load !4, !alias.scope !1928, !noalias !1931, !nonnull !4 @@ -7349,6 +7350,7 @@ define hidden void @_ZN6rustls5tls1312key_schedule11KeySchedule17derive_ticket_p %.fca.1.extract = extractvalue { ptr, ptr } %19, 1 %.fca.1.gep = getelementptr inbounds nuw i8, ptr %10, i64 8 store ptr %.fca.1.extract, ptr %.fca.1.gep, align 8 + call void @llvm.assume(i1 true) [ "align"(ptr %.fca.1.extract, i64 8) ] tail call void @llvm.experimental.noalias.scope.decl(metadata !1957) %20 = getelementptr inbounds nuw i8, ptr %.fca.1.extract, i64 40 %21 = load ptr, ptr %20, align 8, !invariant.load !4, !alias.scope !1957, !noalias !1960, !nonnull !4 @@ -7494,6 +7496,7 @@ define hidden void @_ZN6rustls5tls1312key_schedule11KeySchedule22export_keying_m %.fca.1.extract = extractvalue { ptr, ptr } %37, 1 %.fca.1.gep = getelementptr inbounds nuw i8, ptr %20, i64 8 store ptr %.fca.1.extract, ptr %.fca.1.gep, align 8 + call void @llvm.assume(i1 true) [ "align"(ptr %.fca.1.extract, i64 8) ] %38 = getelementptr inbounds nuw i8, ptr %21, i64 64 %39 = load i64, ptr %38, align 8, !alias.scope !1986, !noundef !4 %40 = icmp ugt i64 %39, 64 @@ -7651,6 +7654,7 @@ common.resume: ; preds = %.lr.ph.i.i.i.i, %42 %.fca.1.extract4 = extractvalue { ptr, ptr } %98, 1 %.fca.1.gep5 = getelementptr inbounds nuw i8, ptr %18, i64 8 store ptr %.fca.1.extract4, ptr %.fca.1.gep5, align 8 + call void @llvm.assume(i1 true) [ "align"(ptr %.fca.1.extract4, i64 8) ] %100 = getelementptr inbounds nuw i8, ptr %19, i64 64 %101 = load i64, ptr %100, align 8, !alias.scope !2030, !noundef !4 %102 = icmp ugt i64 %101, 64 @@ -10716,6 +10720,7 @@ define internal fastcc noundef zeroext i1 @_ZN6rustls6server5tls1312client_hello %.fca.1.extract.i = extractvalue { ptr, ptr } %28, 1 %.fca.1.gep.i = getelementptr inbounds nuw i8, ptr %8, i64 8 store ptr %.fca.1.extract.i, ptr %.fca.1.gep.i, align 8, !noalias !2613 + call void @llvm.assume(i1 true) [ "align"(ptr %.fca.1.extract.i, i64 8) ] %29 = getelementptr inbounds nuw i8, ptr %.fca.1.extract.i, i64 48 %30 = load ptr, ptr %29, align 8, !invariant.load !4, !noalias !2613, !nonnull !4 invoke void %30(ptr noundef align 1 %.fca.0.extract.i, ptr noalias noundef nonnull readonly align 1 %21, i64 noundef %23) @@ -12629,6 +12634,7 @@ _ZN6rustls6server5tls1312client_hello13emit_fake_ccs17he996375f99b9cc44E.exit429 br i1 %.not.i435, label %_ZN6rustls12common_state11CommonState22start_outgoing_traffic17hbb62ca2585324154E.exit, label %672 672: ; preds = %667 + call void @llvm.assume(i1 true) [ "align"(ptr %671, i64 8) ] invoke void @_ZN6rustls12common_state11CommonState15flush_plaintext17hb0dc319bf79a5d5eE.llvm.12428379203013389814(ptr noalias noundef nonnull align 8 dereferenceable(776) %668, ptr noalias noundef nonnull align 8 dereferenceable(48) %671) to label %_ZN6rustls12common_state11CommonState22start_outgoing_traffic17hbb62ca2585324154E.exit unwind label %732 @@ -13302,6 +13308,7 @@ define internal fastcc void @_ZN6rustls6server5tls1312client_hello17emit_server_ %.fca.1.extract.i = extractvalue { ptr, ptr } %147, 1 %.fca.1.gep.i = getelementptr inbounds nuw i8, ptr %15, i64 8 store ptr %.fca.1.extract.i, ptr %.fca.1.gep.i, align 8, !noalias !3050 + call void @llvm.assume(i1 true) [ "align"(ptr %.fca.1.extract.i, i64 8) ] %148 = getelementptr inbounds nuw i8, ptr %.fca.1.extract.i, i64 48 %149 = load ptr, ptr %148, align 8, !invariant.load !4, !noalias !3050, !nonnull !4 invoke void %149(ptr noundef align 1 %.fca.0.extract.i, ptr noalias noundef nonnull readonly align 1 @anon.c12b500a9dbc3a7785a3e66a12bc69a1.2.llvm.3875224068774112026, i64 noundef 0) @@ -16749,6 +16756,7 @@ define internal fastcc void @_ZN6rustls4quic7Secrets6update17h1e7634e9eb17047aE( %.fca.1.extract = extractvalue { ptr, ptr } %23, 1 %.fca.1.gep = getelementptr inbounds nuw i8, ptr %12, i64 8 store ptr %.fca.1.extract, ptr %.fca.1.gep, align 8 + call void @llvm.assume(i1 true) [ "align"(ptr %.fca.1.extract, i64 8) ] %24 = getelementptr inbounds nuw i8, ptr %0, i64 168 %.val = load i8, ptr %24, align 8, !range !176, !noundef !4 tail call void @llvm.experimental.noalias.scope.decl(metadata !3877) @@ -16888,6 +16896,7 @@ common.resume: ; preds = %28, %68, %104, %112 %.fca.1.extract3 = extractvalue { ptr, ptr } %79, 1 %.fca.1.gep4 = getelementptr inbounds nuw i8, ptr %10, i64 8 store ptr %.fca.1.extract3, ptr %.fca.1.gep4, align 8 + call void @llvm.assume(i1 true) [ "align"(ptr %.fca.1.extract3, i64 8) ] %.val9 = load i8, ptr %24, align 8, !range !176, !noundef !4 call void @llvm.experimental.noalias.scope.decl(metadata !3918) %80 = getelementptr inbounds nuw i8, ptr %.fca.1.extract3, i64 40 @@ -17032,6 +17041,7 @@ define void @_ZN6rustls4quic15DirectionalKeys3new17h4f4853f21709bfc4E(ptr noalia store ptr %3, ptr %23, align 8, !alias.scope !3959, !noalias !3968 call void @llvm.lifetime.start.p0(ptr nonnull %9) call void @llvm.lifetime.start.p0(ptr nonnull %8) + call void @llvm.assume(i1 true) [ "align"(ptr %19, i64 8) ] %24 = getelementptr inbounds nuw i8, ptr %3, i64 40 %25 = load ptr, ptr %24, align 8, !invariant.load !4, !noalias !3969, !nonnull !4 %26 = invoke noundef i64 %25(ptr noundef nonnull align 1 %2) diff --git a/bench/tokio-rs/optimized/27wc5j4mui8auwxp.ll b/bench/tokio-rs/optimized/27wc5j4mui8auwxp.ll index 0259213d8af..d99765a609b 100644 --- a/bench/tokio-rs/optimized/27wc5j4mui8auwxp.ll +++ b/bench/tokio-rs/optimized/27wc5j4mui8auwxp.ll @@ -813,6 +813,7 @@ define hidden { ptr, ptr } @_ZN3std9panicking3try17h1036d81cdd52064eE(ptr noalia unreachable _ZN5tokio7runtime4task4core7Trailer9wake_join17h13942f27e87f96ceE.exit.i.i.i.i: ; preds = %11 + call void @llvm.assume(i1 true) [ "align"(ptr %14, i64 8) ] %21 = getelementptr inbounds nuw i8, ptr %14, i64 16 %22 = load ptr, ptr %21, align 8, !noalias !170, !nonnull !4, !noundef !4 %23 = getelementptr inbounds nuw i8, ptr %.val1.i, i64 136 @@ -1054,6 +1055,7 @@ define hidden { ptr, ptr } @_ZN3std9panicking3try17h1eae228917f4f4a8E(ptr noalia unreachable _ZN5tokio7runtime4task4core7Trailer9wake_join17h13942f27e87f96ceE.exit.i.i.i.i: ; preds = %11 + call void @llvm.assume(i1 true) [ "align"(ptr %14, i64 8) ] %21 = getelementptr inbounds nuw i8, ptr %14, i64 16 %22 = load ptr, ptr %21, align 8, !noalias !197, !nonnull !4, !noundef !4 %23 = getelementptr inbounds nuw i8, ptr %.val1.i, i64 136 @@ -1145,6 +1147,7 @@ define hidden { ptr, ptr } @_ZN3std9panicking3try17h23f2d16eef4aef4cE(ptr noalia unreachable _ZN5tokio7runtime4task4core7Trailer9wake_join17h13942f27e87f96ceE.exit.i.i.i.i: ; preds = %11 + call void @llvm.assume(i1 true) [ "align"(ptr %14, i64 8) ] %21 = getelementptr inbounds nuw i8, ptr %14, i64 16 %22 = load ptr, ptr %21, align 8, !noalias !206, !nonnull !4, !noundef !4 %23 = getelementptr inbounds nuw i8, ptr %.val1.i, i64 144 @@ -1430,6 +1433,7 @@ define hidden { ptr, ptr } @_ZN3std9panicking3try17h3db607b4547f35f9E(ptr noalia unreachable _ZN5tokio7runtime4task4core7Trailer9wake_join17h13942f27e87f96ceE.exit.i.i.i.i: ; preds = %11 + call void @llvm.assume(i1 true) [ "align"(ptr %14, i64 8) ] %21 = getelementptr inbounds nuw i8, ptr %14, i64 16 %22 = load ptr, ptr %21, align 8, !noalias !237, !nonnull !4, !noundef !4 %23 = getelementptr inbounds nuw i8, ptr %.val1.i, i64 144 @@ -1671,6 +1675,7 @@ define hidden { ptr, ptr } @_ZN3std9panicking3try17h48310ad935c38f1fE(ptr noalia unreachable _ZN5tokio7runtime4task4core7Trailer9wake_join17h13942f27e87f96ceE.exit.i.i.i.i: ; preds = %11 + call void @llvm.assume(i1 true) [ "align"(ptr %14, i64 8) ] %21 = getelementptr inbounds nuw i8, ptr %14, i64 16 %22 = load ptr, ptr %21, align 8, !noalias !265, !nonnull !4, !noundef !4 %23 = getelementptr inbounds nuw i8, ptr %.val1.i, i64 136 @@ -1814,6 +1819,7 @@ define hidden { ptr, ptr } @_ZN3std9panicking3try17h4a9aaf33bbc3d560E(ptr noalia unreachable _ZN5tokio7runtime4task4core7Trailer9wake_join17h13942f27e87f96ceE.exit.i.i.i.i: ; preds = %11 + call void @llvm.assume(i1 true) [ "align"(ptr %14, i64 8) ] %21 = getelementptr inbounds nuw i8, ptr %14, i64 16 %22 = load ptr, ptr %21, align 8, !noalias !279, !nonnull !4, !noundef !4 %23 = getelementptr inbounds nuw i8, ptr %.val1.i, i64 136 @@ -2001,6 +2007,7 @@ define hidden { ptr, ptr } @_ZN3std9panicking3try17h5a04e6cb3e08acffE(ptr noalia unreachable _ZN5tokio7runtime4task4core7Trailer9wake_join17h13942f27e87f96ceE.exit.i.i.i.i: ; preds = %11 + call void @llvm.assume(i1 true) [ "align"(ptr %14, i64 8) ] %21 = getelementptr inbounds nuw i8, ptr %14, i64 16 %22 = load ptr, ptr %21, align 8, !noalias !293, !nonnull !4, !noundef !4 %23 = getelementptr inbounds nuw i8, ptr %.val1.i, i64 136 @@ -2574,6 +2581,7 @@ define hidden { ptr, ptr } @_ZN3std9panicking3try17h74010dcf804764e5E(ptr noalia unreachable _ZN5tokio7runtime4task4core7Trailer9wake_join17h13942f27e87f96ceE.exit.i.i.i.i: ; preds = %11 + call void @llvm.assume(i1 true) [ "align"(ptr %14, i64 8) ] %21 = getelementptr inbounds nuw i8, ptr %14, i64 16 %22 = load ptr, ptr %21, align 8, !noalias !355, !nonnull !4, !noundef !4 %23 = getelementptr inbounds nuw i8, ptr %.val1.i, i64 136 @@ -3350,6 +3358,7 @@ define hidden { ptr, ptr } @_ZN3std9panicking3try17h9c041157f4edb7ebE(ptr noalia unreachable _ZN5tokio7runtime4task4core7Trailer9wake_join17h13942f27e87f96ceE.exit.i.i.i.i: ; preds = %11 + call void @llvm.assume(i1 true) [ "align"(ptr %14, i64 8) ] %21 = getelementptr inbounds nuw i8, ptr %14, i64 16 %22 = load ptr, ptr %21, align 8, !noalias !441, !nonnull !4, !noundef !4 %23 = getelementptr inbounds nuw i8, ptr %.val1.i, i64 144 @@ -3926,6 +3935,7 @@ define hidden { ptr, ptr } @_ZN3std9panicking3try17hb175ec1a27122b01E(ptr noalia unreachable _ZN5tokio7runtime4task4core7Trailer9wake_join17h13942f27e87f96ceE.exit.i.i.i.i: ; preds = %11 + call void @llvm.assume(i1 true) [ "align"(ptr %14, i64 8) ] %21 = getelementptr inbounds nuw i8, ptr %14, i64 16 %22 = load ptr, ptr %21, align 8, !noalias !508, !nonnull !4, !noundef !4 %23 = getelementptr inbounds nuw i8, ptr %.val1.i, i64 120 @@ -4017,6 +4027,7 @@ define hidden { ptr, ptr } @_ZN3std9panicking3try17hb4ae129cbfa42cfaE(ptr noalia unreachable _ZN5tokio7runtime4task4core7Trailer9wake_join17h13942f27e87f96ceE.exit.i.i.i.i: ; preds = %11 + call void @llvm.assume(i1 true) [ "align"(ptr %14, i64 8) ] %21 = getelementptr inbounds nuw i8, ptr %14, i64 16 %22 = load ptr, ptr %21, align 8, !noalias !517, !nonnull !4, !noundef !4 %23 = getelementptr inbounds nuw i8, ptr %.val1.i, i64 112 @@ -4150,6 +4161,7 @@ define hidden { ptr, ptr } @_ZN3std9panicking3try17hb892c9cfcb92fbacE(ptr noalia unreachable _ZN5tokio7runtime4task4core7Trailer9wake_join17h13942f27e87f96ceE.exit.i.i.i.i: ; preds = %11 + call void @llvm.assume(i1 true) [ "align"(ptr %14, i64 8) ] %21 = getelementptr inbounds nuw i8, ptr %14, i64 16 %22 = load ptr, ptr %21, align 8, !noalias !526, !nonnull !4, !noundef !4 %23 = getelementptr inbounds nuw i8, ptr %.val1.i, i64 120 @@ -4421,6 +4433,7 @@ define hidden { ptr, ptr } @_ZN3std9panicking3try17hdb3cf5c58cd4327eE(ptr noalia unreachable _ZN5tokio7runtime4task4core7Trailer9wake_join17h13942f27e87f96ceE.exit.i.i.i.i: ; preds = %11 + call void @llvm.assume(i1 true) [ "align"(ptr %14, i64 8) ] %21 = getelementptr inbounds nuw i8, ptr %14, i64 16 %22 = load ptr, ptr %21, align 8, !noalias !546, !nonnull !4, !noundef !4 %23 = getelementptr inbounds nuw i8, ptr %.val1.i, i64 136 @@ -5253,6 +5266,7 @@ define hidden void @_ZN3std9panicking3try7do_call17h14c0aae98251c0cdE.llvm.66861 unreachable _ZN5tokio7runtime4task4core7Trailer9wake_join17h13942f27e87f96ceE.exit.i.i.i: ; preds = %13 + call void @llvm.assume(i1 true) [ "align"(ptr %16, i64 8) ] %23 = getelementptr inbounds nuw i8, ptr %16, i64 16 %24 = load ptr, ptr %23, align 8, !noalias !684, !nonnull !4, !noundef !4 %25 = getelementptr inbounds nuw i8, ptr %.val1, i64 120 @@ -5523,6 +5537,7 @@ define hidden void @_ZN3std9panicking3try7do_call17h3423ab0a15d10d97E.llvm.66861 unreachable _ZN5tokio7runtime4task4core7Trailer9wake_join17h13942f27e87f96ceE.exit.i.i.i: ; preds = %13 + call void @llvm.assume(i1 true) [ "align"(ptr %16, i64 8) ] %23 = getelementptr inbounds nuw i8, ptr %16, i64 16 %24 = load ptr, ptr %23, align 8, !noalias !738, !nonnull !4, !noundef !4 %25 = getelementptr inbounds nuw i8, ptr %.val1, i64 136 @@ -5621,6 +5636,7 @@ define hidden void @_ZN3std9panicking3try7do_call17h4c4419ad3e2e2bc5E.llvm.66861 unreachable _ZN5tokio7runtime4task4core7Trailer9wake_join17h13942f27e87f96ceE.exit.i.i.i: ; preds = %13 + call void @llvm.assume(i1 true) [ "align"(ptr %16, i64 8) ] %23 = getelementptr inbounds nuw i8, ptr %16, i64 16 %24 = load ptr, ptr %23, align 8, !noalias !758, !nonnull !4, !noundef !4 %25 = getelementptr inbounds nuw i8, ptr %.val1, i64 136 @@ -5784,6 +5800,7 @@ define hidden void @_ZN3std9panicking3try7do_call17h549600fd05f1d8cbE.llvm.66861 unreachable _ZN5tokio7runtime4task4core7Trailer9wake_join17h13942f27e87f96ceE.exit.i.i.i: ; preds = %13 + call void @llvm.assume(i1 true) [ "align"(ptr %16, i64 8) ] %23 = getelementptr inbounds nuw i8, ptr %16, i64 16 %24 = load ptr, ptr %23, align 8, !noalias !796, !nonnull !4, !noundef !4 %25 = getelementptr inbounds nuw i8, ptr %.val1, i64 136 @@ -5922,6 +5939,7 @@ define hidden void @_ZN3std9panicking3try7do_call17h5817d7f8acda4b43E.llvm.66861 unreachable _ZN5tokio7runtime4task4core7Trailer9wake_join17h13942f27e87f96ceE.exit.i.i.i: ; preds = %13 + call void @llvm.assume(i1 true) [ "align"(ptr %16, i64 8) ] %23 = getelementptr inbounds nuw i8, ptr %16, i64 16 %24 = load ptr, ptr %23, align 8, !noalias !823, !nonnull !4, !noundef !4 %25 = getelementptr inbounds nuw i8, ptr %.val1, i64 144 @@ -5995,6 +6013,7 @@ define hidden void @_ZN3std9panicking3try7do_call17h63f4988bdef7f20eE.llvm.66861 unreachable _ZN5tokio7runtime4task4core7Trailer9wake_join17h13942f27e87f96ceE.exit.i.i.i: ; preds = %13 + call void @llvm.assume(i1 true) [ "align"(ptr %16, i64 8) ] %23 = getelementptr inbounds nuw i8, ptr %16, i64 16 %24 = load ptr, ptr %23, align 8, !noalias !832, !nonnull !4, !noundef !4 %25 = getelementptr inbounds nuw i8, ptr %.val1, i64 136 @@ -6278,6 +6297,7 @@ define hidden void @_ZN3std9panicking3try7do_call17h97d8540ecec0a48eE.llvm.66861 unreachable _ZN5tokio7runtime4task4core7Trailer9wake_join17h13942f27e87f96ceE.exit.i.i.i: ; preds = %13 + call void @llvm.assume(i1 true) [ "align"(ptr %16, i64 8) ] %23 = getelementptr inbounds nuw i8, ptr %16, i64 16 %24 = load ptr, ptr %23, align 8, !noalias !895, !nonnull !4, !noundef !4 %25 = getelementptr inbounds nuw i8, ptr %.val1, i64 112 @@ -6340,6 +6360,7 @@ define hidden void @_ZN3std9panicking3try7do_call17h97f2484ba767d818E.llvm.66861 unreachable _ZN5tokio7runtime4task4core7Trailer9wake_join17h13942f27e87f96ceE.exit.i.i.i: ; preds = %13 + call void @llvm.assume(i1 true) [ "align"(ptr %16, i64 8) ] %23 = getelementptr inbounds nuw i8, ptr %16, i64 16 %24 = load ptr, ptr %23, align 8, !noalias !904, !nonnull !4, !noundef !4 %25 = getelementptr inbounds nuw i8, ptr %.val1, i64 136 @@ -6427,6 +6448,7 @@ define hidden void @_ZN3std9panicking3try7do_call17h9d2495261660eba8E.llvm.66861 unreachable _ZN5tokio7runtime4task4core7Trailer9wake_join17h13942f27e87f96ceE.exit.i.i.i: ; preds = %13 + call void @llvm.assume(i1 true) [ "align"(ptr %16, i64 8) ] %23 = getelementptr inbounds nuw i8, ptr %16, i64 16 %24 = load ptr, ptr %23, align 8, !noalias !924, !nonnull !4, !noundef !4 %25 = getelementptr inbounds nuw i8, ptr %.val1, i64 136 @@ -6903,6 +6925,7 @@ define hidden void @_ZN3std9panicking3try7do_call17hc73a4f60bdd51b53E.llvm.66861 unreachable _ZN5tokio7runtime4task4core7Trailer9wake_join17h13942f27e87f96ceE.exit.i.i.i: ; preds = %13 + call void @llvm.assume(i1 true) [ "align"(ptr %16, i64 8) ] %23 = getelementptr inbounds nuw i8, ptr %16, i64 16 %24 = load ptr, ptr %23, align 8, !noalias !1036, !nonnull !4, !noundef !4 %25 = getelementptr inbounds nuw i8, ptr %.val1, i64 120 @@ -7003,6 +7026,7 @@ define hidden void @_ZN3std9panicking3try7do_call17hd0711cf5af01ab91E.llvm.66861 unreachable _ZN5tokio7runtime4task4core7Trailer9wake_join17h13942f27e87f96ceE.exit.i.i.i: ; preds = %13 + call void @llvm.assume(i1 true) [ "align"(ptr %16, i64 8) ] %23 = getelementptr inbounds nuw i8, ptr %16, i64 16 %24 = load ptr, ptr %23, align 8, !noalias !1062, !nonnull !4, !noundef !4 %25 = getelementptr inbounds nuw i8, ptr %.val1, i64 144 @@ -7065,6 +7089,7 @@ define hidden void @_ZN3std9panicking3try7do_call17hd4a49a80fea0a859E.llvm.66861 unreachable _ZN5tokio7runtime4task4core7Trailer9wake_join17h13942f27e87f96ceE.exit.i.i.i: ; preds = %13 + call void @llvm.assume(i1 true) [ "align"(ptr %16, i64 8) ] %23 = getelementptr inbounds nuw i8, ptr %16, i64 16 %24 = load ptr, ptr %23, align 8, !noalias !1071, !nonnull !4, !noundef !4 %25 = getelementptr inbounds nuw i8, ptr %.val1, i64 144 @@ -7140,6 +7165,7 @@ define hidden void @_ZN3std9panicking3try7do_call17he35829453be9a532E.llvm.66861 unreachable _ZN5tokio7runtime4task4core7Trailer9wake_join17h13942f27e87f96ceE.exit.i.i.i: ; preds = %13 + call void @llvm.assume(i1 true) [ "align"(ptr %16, i64 8) ] %23 = getelementptr inbounds nuw i8, ptr %16, i64 16 %24 = load ptr, ptr %23, align 8, !noalias !1086, !nonnull !4, !noundef !4 %25 = getelementptr inbounds nuw i8, ptr %.val1, i64 136 @@ -9064,6 +9090,7 @@ define hidden void @"_ZN4core3ptr72drop_in_place$LT$core..option..Option$LT$core 5: ; preds = %1 tail call void @llvm.experimental.noalias.scope.decl(metadata !1152) tail call void @llvm.experimental.noalias.scope.decl(metadata !1155) + call void @llvm.assume(i1 true) [ "align"(ptr %2, i64 8) ] %6 = getelementptr inbounds nuw i8, ptr %2, i64 24 %7 = load ptr, ptr %6, align 8, !noalias !1158, !nonnull !4, !noundef !4 %8 = getelementptr inbounds nuw i8, ptr %0, i64 8 @@ -10299,6 +10326,7 @@ define hidden void @"_ZN5alloc4sync16Arc$LT$T$C$A$GT$9drop_slow17h6fe7563c8a1f28 18: ; preds = %"_ZN4core3ptr228drop_in_place$LT$tokio..loom..std..parking_lot..Mutex$LT$core..option..Option$LT$alloc..collections..vec_deque..VecDeque$LT$tokio..runtime..task..Notified$LT$alloc..sync..Arc$LT$tokio..task..local..Shared$GT$$GT$$GT$$GT$$GT$$GT$17hb2f7dcb0b9e7e741E.exit.i" tail call void @llvm.experimental.noalias.scope.decl(metadata !1361) tail call void @llvm.experimental.noalias.scope.decl(metadata !1364) + call void @llvm.assume(i1 true) [ "align"(ptr %16, i64 8) ] %19 = getelementptr inbounds nuw i8, ptr %16, i64 24 %20 = load ptr, ptr %19, align 8, !noalias !1367, !nonnull !4, !noundef !4 %21 = getelementptr inbounds nuw i8, ptr %3, i64 136 @@ -10324,6 +10352,7 @@ define hidden void @"_ZN5alloc4sync16Arc$LT$T$C$A$GT$9drop_slow17h6fe7563c8a1f28 28: ; preds = %"_ZN4core3ptr228drop_in_place$LT$tokio..loom..std..parking_lot..Mutex$LT$core..option..Option$LT$alloc..collections..vec_deque..VecDeque$LT$tokio..runtime..task..Notified$LT$alloc..sync..Arc$LT$tokio..task..local..Shared$GT$$GT$$GT$$GT$$GT$$GT$17hb2f7dcb0b9e7e741E.exit3.i" tail call void @llvm.experimental.noalias.scope.decl(metadata !1382) tail call void @llvm.experimental.noalias.scope.decl(metadata !1385) + call void @llvm.assume(i1 true) [ "align"(ptr %26, i64 8) ] %29 = getelementptr inbounds nuw i8, ptr %26, i64 24 %30 = load ptr, ptr %29, align 8, !noalias !1388, !nonnull !4, !noundef !4 %31 = getelementptr inbounds nuw i8, ptr %3, i64 136 @@ -11197,10 +11226,12 @@ _ZN4core4iter6traits8iterator8Iterator8for_each17h69764f7af09cb64fE.exit: ; pred .noexc4: ; preds = %43, %_ZN4core4iter6traits8iterator8Iterator8for_each17h69764f7af09cb64fE.exit store ptr %40, ptr %4, align 8 + call void @llvm.assume(i1 true) [ "align"(ptr %40, i64 8) ] %45 = getelementptr inbounds nuw i8, ptr %1, i64 208 %46 = getelementptr inbounds nuw i8, ptr %1, i64 224 %47 = load i8, ptr %46, align 8, !range !1550, !noundef !4 %48 = trunc nuw i8 %47 to i1 + call void @llvm.assume(i1 true) [ "align"(ptr %40, i64 8) ] br i1 %48, label %.noexc.i, label %53 .noexc.i: ; preds = %.noexc4 @@ -11445,6 +11476,7 @@ define hidden void @_ZN5tokio7runtime4task4core7Trailer9set_waker17hbb0703c33de9 7: ; preds = %3 tail call void @llvm.experimental.noalias.scope.decl(metadata !1624) tail call void @llvm.experimental.noalias.scope.decl(metadata !1627) + call void @llvm.assume(i1 true) [ "align"(ptr %5, i64 8) ] %8 = getelementptr inbounds nuw i8, ptr %5, i64 24 %9 = load ptr, ptr %8, align 8, !noalias !1630, !nonnull !4, !noundef !4 %10 = getelementptr inbounds nuw i8, ptr %0, i64 24 @@ -11476,6 +11508,7 @@ define hidden void @"_ZN5tokio7runtime4task4core7Trailer9set_waker28_$u7b$$u7b$c 6: ; preds = %3 tail call void @llvm.experimental.noalias.scope.decl(metadata !1635) tail call void @llvm.experimental.noalias.scope.decl(metadata !1638) + call void @llvm.assume(i1 true) [ "align"(ptr %4, i64 8) ] %7 = getelementptr inbounds nuw i8, ptr %4, i64 24 %8 = load ptr, ptr %7, align 8, !noalias !1641, !nonnull !4, !noundef !4 %9 = getelementptr inbounds nuw i8, ptr %2, i64 8 @@ -11634,6 +11667,7 @@ define void @_ZN5tokio7runtime4task4core7Trailer9wake_join17h13942f27e87f96ceE(p unreachable "_ZN5tokio7runtime4task4core7Trailer9wake_join28_$u7b$$u7b$closure$u7d$$u7d$17hed53941a57f6efe9E.exit": ; preds = %1 + call void @llvm.assume(i1 true) [ "align"(ptr %4, i64 8) ] %11 = getelementptr inbounds nuw i8, ptr %4, i64 16 %12 = load ptr, ptr %11, align 8, !nonnull !4, !noundef !4 %13 = getelementptr inbounds nuw i8, ptr %0, i64 24 diff --git a/bench/tokio-rs/optimized/2hdl8fhrgv40yx9z.ll b/bench/tokio-rs/optimized/2hdl8fhrgv40yx9z.ll index e77cfeab53d..417f8181148 100644 --- a/bench/tokio-rs/optimized/2hdl8fhrgv40yx9z.ll +++ b/bench/tokio-rs/optimized/2hdl8fhrgv40yx9z.ll @@ -109,6 +109,7 @@ define hidden void @"_ZN4core3ptr102drop_in_place$LT$core..cell..UnsafeCell$LT$c 4: ; preds = %1 tail call void @llvm.experimental.noalias.scope.decl(metadata !18) tail call void @llvm.experimental.noalias.scope.decl(metadata !21) + call void @llvm.assume(i1 true) [ "align"(ptr %2, i64 8) ] %5 = getelementptr inbounds nuw i8, ptr %2, i64 24 %6 = load ptr, ptr %5, align 8, !noalias !24, !nonnull !4, !noundef !4 %7 = getelementptr inbounds nuw i8, ptr %0, i64 8 @@ -165,6 +166,7 @@ common.ret: ; preds = %common.ret.sink.spl 15: ; preds = %10 tail call void @llvm.experimental.noalias.scope.decl(metadata !43) tail call void @llvm.experimental.noalias.scope.decl(metadata !46) + call void @llvm.assume(i1 true) [ "align"(ptr %13, i64 8) ] %16 = getelementptr inbounds nuw i8, ptr %13, i64 24 %17 = load ptr, ptr %16, align 8, !noalias !49, !nonnull !4, !noundef !4 %18 = getelementptr inbounds nuw i8, ptr %0, i64 32 @@ -184,6 +186,7 @@ common.ret: ; preds = %common.ret.sink.spl 24: ; preds = %20 tail call void @llvm.experimental.noalias.scope.decl(metadata !60) tail call void @llvm.experimental.noalias.scope.decl(metadata !63) + call void @llvm.assume(i1 true) [ "align"(ptr %22, i64 8) ] %25 = getelementptr inbounds nuw i8, ptr %22, i64 24 %26 = load ptr, ptr %25, align 8, !noalias !66, !nonnull !4, !noundef !4 %27 = getelementptr inbounds nuw i8, ptr %0, i64 32 @@ -339,6 +342,7 @@ define hidden void @"_ZN4core3ptr105drop_in_place$LT$tokio_util..util..maybe_dan 7: ; preds = %2 tail call void @llvm.experimental.noalias.scope.decl(metadata !113) tail call void @llvm.experimental.noalias.scope.decl(metadata !116) + call void @llvm.assume(i1 true) [ "align"(ptr %5, i64 8) ] %8 = getelementptr inbounds nuw i8, ptr %5, i64 24 %9 = load ptr, ptr %8, align 8, !noalias !119, !nonnull !4, !noundef !4 %10 = getelementptr inbounds nuw i8, ptr %0, i64 40 @@ -358,6 +362,7 @@ define hidden void @"_ZN4core3ptr105drop_in_place$LT$tokio_util..util..maybe_dan 16: ; preds = %12 tail call void @llvm.experimental.noalias.scope.decl(metadata !130) tail call void @llvm.experimental.noalias.scope.decl(metadata !133) + call void @llvm.assume(i1 true) [ "align"(ptr %14, i64 8) ] %17 = getelementptr inbounds nuw i8, ptr %14, i64 24 %18 = load ptr, ptr %17, align 8, !noalias !136, !nonnull !4, !noundef !4 %19 = getelementptr inbounds nuw i8, ptr %0, i64 40 @@ -597,6 +602,7 @@ define hidden void @"_ZN4core3ptr121drop_in_place$LT$tokio..loom..std..unsafe_ce 4: ; preds = %1 tail call void @llvm.experimental.noalias.scope.decl(metadata !204) tail call void @llvm.experimental.noalias.scope.decl(metadata !207) + call void @llvm.assume(i1 true) [ "align"(ptr %2, i64 8) ] %5 = getelementptr inbounds nuw i8, ptr %2, i64 24 %6 = load ptr, ptr %5, align 8, !noalias !210, !nonnull !4, !noundef !4 %7 = getelementptr inbounds nuw i8, ptr %0, i64 8 @@ -991,6 +997,7 @@ define hidden void @"_ZN4core3ptr48drop_in_place$LT$tokio..sync..notify..Waiter$ 5: ; preds = %1 tail call void @llvm.experimental.noalias.scope.decl(metadata !334) tail call void @llvm.experimental.noalias.scope.decl(metadata !337) + call void @llvm.assume(i1 true) [ "align"(ptr %3, i64 8) ] %6 = getelementptr inbounds nuw i8, ptr %3, i64 24 %7 = load ptr, ptr %6, align 8, !noalias !340, !nonnull !4, !noundef !4 %8 = getelementptr inbounds nuw i8, ptr %0, i64 24 @@ -1021,6 +1028,7 @@ define hidden void @"_ZN4core3ptr50drop_in_place$LT$tokio..sync..notify..Notifie 7: ; preds = %2 tail call void @llvm.experimental.noalias.scope.decl(metadata !351) tail call void @llvm.experimental.noalias.scope.decl(metadata !354) + call void @llvm.assume(i1 true) [ "align"(ptr %5, i64 8) ] %8 = getelementptr inbounds nuw i8, ptr %5, i64 24 %9 = load ptr, ptr %8, align 8, !noalias !357, !nonnull !4, !noundef !4 %10 = getelementptr inbounds nuw i8, ptr %0, i64 40 @@ -1040,6 +1048,7 @@ define hidden void @"_ZN4core3ptr50drop_in_place$LT$tokio..sync..notify..Notifie 16: ; preds = %12 tail call void @llvm.experimental.noalias.scope.decl(metadata !368) tail call void @llvm.experimental.noalias.scope.decl(metadata !371) + call void @llvm.assume(i1 true) [ "align"(ptr %14, i64 8) ] %17 = getelementptr inbounds nuw i8, ptr %14, i64 24 %18 = load ptr, ptr %17, align 8, !noalias !374, !nonnull !4, !noundef !4 %19 = getelementptr inbounds nuw i8, ptr %0, i64 40 @@ -1072,6 +1081,7 @@ define hidden void @"_ZN4core3ptr57drop_in_place$LT$tokio..sync..batch_semaphore 4: ; preds = %1 tail call void @llvm.experimental.noalias.scope.decl(metadata !385) tail call void @llvm.experimental.noalias.scope.decl(metadata !388) + call void @llvm.assume(i1 true) [ "align"(ptr %2, i64 8) ] %5 = getelementptr inbounds nuw i8, ptr %2, i64 24 %6 = load ptr, ptr %5, align 8, !noalias !391, !nonnull !4, !noundef !4 %7 = getelementptr inbounds nuw i8, ptr %0, i64 8 @@ -1102,6 +1112,7 @@ define hidden void @"_ZN4core3ptr58drop_in_place$LT$tokio..sync..batch_semaphore 7: ; preds = %2 tail call void @llvm.experimental.noalias.scope.decl(metadata !402) tail call void @llvm.experimental.noalias.scope.decl(metadata !405) + call void @llvm.assume(i1 true) [ "align"(ptr %5, i64 8) ] %8 = getelementptr inbounds nuw i8, ptr %5, i64 24 %9 = load ptr, ptr %8, align 8, !noalias !408, !nonnull !4, !noundef !4 %10 = getelementptr inbounds nuw i8, ptr %0, i64 16 @@ -1121,6 +1132,7 @@ define hidden void @"_ZN4core3ptr58drop_in_place$LT$tokio..sync..batch_semaphore 16: ; preds = %12 tail call void @llvm.experimental.noalias.scope.decl(metadata !419) tail call void @llvm.experimental.noalias.scope.decl(metadata !422) + call void @llvm.assume(i1 true) [ "align"(ptr %14, i64 8) ] %17 = getelementptr inbounds nuw i8, ptr %14, i64 24 %18 = load ptr, ptr %17, align 8, !noalias !425, !nonnull !4, !noundef !4 %19 = getelementptr inbounds nuw i8, ptr %0, i64 16 @@ -1258,6 +1270,7 @@ define hidden void @"_ZN4core3ptr72drop_in_place$LT$core..option..Option$LT$core 5: ; preds = %1 tail call void @llvm.experimental.noalias.scope.decl(metadata !460) tail call void @llvm.experimental.noalias.scope.decl(metadata !463) + call void @llvm.assume(i1 true) [ "align"(ptr %2, i64 8) ] %6 = getelementptr inbounds nuw i8, ptr %2, i64 24 %7 = load ptr, ptr %6, align 8, !noalias !466, !nonnull !4, !noundef !4 %8 = getelementptr inbounds nuw i8, ptr %0, i64 8 @@ -1711,6 +1724,7 @@ default.unreachable33: ; preds = %3 41: ; preds = %36 tail call void @llvm.experimental.noalias.scope.decl(metadata !538) tail call void @llvm.experimental.noalias.scope.decl(metadata !541) + call void @llvm.assume(i1 true) [ "align"(ptr %39, i64 8) ] %42 = getelementptr inbounds nuw i8, ptr %39, i64 24 %43 = load ptr, ptr %42, align 8, !noalias !544, !nonnull !4, !noundef !4 %44 = getelementptr inbounds nuw i8, ptr %1, i64 32 @@ -1730,6 +1744,7 @@ default.unreachable33: ; preds = %3 50: ; preds = %46 tail call void @llvm.experimental.noalias.scope.decl(metadata !555) tail call void @llvm.experimental.noalias.scope.decl(metadata !558) + call void @llvm.assume(i1 true) [ "align"(ptr %48, i64 8) ] %51 = getelementptr inbounds nuw i8, ptr %48, i64 24 %52 = load ptr, ptr %51, align 8, !noalias !561, !nonnull !4, !noundef !4 %53 = getelementptr inbounds nuw i8, ptr %1, i64 32 @@ -2350,6 +2365,7 @@ define hidden void @"_ZN98_$LT$tokio_util..util..maybe_dangling..MaybeDangling$L 7: ; preds = %2 tail call void @llvm.experimental.noalias.scope.decl(metadata !702) tail call void @llvm.experimental.noalias.scope.decl(metadata !705) + call void @llvm.assume(i1 true) [ "align"(ptr %5, i64 8) ] %8 = getelementptr inbounds nuw i8, ptr %5, i64 24 %9 = load ptr, ptr %8, align 8, !noalias !708, !nonnull !4, !noundef !4 %10 = getelementptr inbounds nuw i8, ptr %0, i64 40 @@ -2369,6 +2385,7 @@ define hidden void @"_ZN98_$LT$tokio_util..util..maybe_dangling..MaybeDangling$L 16: ; preds = %12 tail call void @llvm.experimental.noalias.scope.decl(metadata !719) tail call void @llvm.experimental.noalias.scope.decl(metadata !722) + call void @llvm.assume(i1 true) [ "align"(ptr %14, i64 8) ] %17 = getelementptr inbounds nuw i8, ptr %14, i64 24 %18 = load ptr, ptr %17, align 8, !noalias !725, !nonnull !4, !noundef !4 %19 = getelementptr inbounds nuw i8, ptr %0, i64 40 diff --git a/bench/tokio-rs/optimized/3komhj9d9wikzvkw.ll b/bench/tokio-rs/optimized/3komhj9d9wikzvkw.ll index 702b1d1e953..0fe88089ec0 100644 --- a/bench/tokio-rs/optimized/3komhj9d9wikzvkw.ll +++ b/bench/tokio-rs/optimized/3komhj9d9wikzvkw.ll @@ -328,6 +328,7 @@ define hidden void @"_ZN4core3ptr102drop_in_place$LT$core..cell..UnsafeCell$LT$c 4: ; preds = %1 tail call void @llvm.experimental.noalias.scope.decl(metadata !36) tail call void @llvm.experimental.noalias.scope.decl(metadata !39) + call void @llvm.assume(i1 true) [ "align"(ptr %2, i64 8) ] %5 = getelementptr inbounds nuw i8, ptr %2, i64 24 %6 = load ptr, ptr %5, align 8, !noalias !42, !nonnull !4, !noundef !4 %7 = getelementptr inbounds nuw i8, ptr %0, i64 8 @@ -402,6 +403,7 @@ define hidden void @"_ZN4core3ptr106drop_in_place$LT$tokio..loom..std..parking_l 5: ; preds = %1 tail call void @llvm.experimental.noalias.scope.decl(metadata !64) tail call void @llvm.experimental.noalias.scope.decl(metadata !67) + call void @llvm.assume(i1 true) [ "align"(ptr %3, i64 8) ] %6 = getelementptr inbounds nuw i8, ptr %3, i64 24 %7 = load ptr, ptr %6, align 8, !noalias !70, !nonnull !4, !noundef !4 %8 = getelementptr inbounds nuw i8, ptr %0, i64 32 @@ -421,6 +423,7 @@ define hidden void @"_ZN4core3ptr106drop_in_place$LT$tokio..loom..std..parking_l 15: ; preds = %10 tail call void @llvm.experimental.noalias.scope.decl(metadata !76) tail call void @llvm.experimental.noalias.scope.decl(metadata !79) + call void @llvm.assume(i1 true) [ "align"(ptr %13, i64 8) ] %16 = getelementptr inbounds nuw i8, ptr %13, i64 24 %17 = load ptr, ptr %16, align 8, !noalias !82, !nonnull !4, !noundef !4 %18 = getelementptr inbounds nuw i8, ptr %0, i64 48 @@ -438,6 +441,7 @@ define hidden void @"_ZN4core3ptr106drop_in_place$LT$tokio..loom..std..parking_l 23: ; preds = %"_ZN4core3ptr72drop_in_place$LT$core..option..Option$LT$core..task..wake..Waker$GT$$GT$17h4efa7ec3bd84ec97E.llvm.14059260848470938700.exit.i.i.i" tail call void @llvm.experimental.noalias.scope.decl(metadata !87) tail call void @llvm.experimental.noalias.scope.decl(metadata !90) + call void @llvm.assume(i1 true) [ "align"(ptr %21, i64 8) ] %24 = getelementptr inbounds nuw i8, ptr %21, i64 24 %25 = load ptr, ptr %24, align 8, !noalias !93, !nonnull !4, !noundef !4 %26 = getelementptr inbounds nuw i8, ptr %0, i64 48 @@ -493,6 +497,7 @@ define hidden void @"_ZN4core3ptr108drop_in_place$LT$tokio..util..cacheline..Cac 4: ; preds = %1 tail call void @llvm.experimental.noalias.scope.decl(metadata !110) tail call void @llvm.experimental.noalias.scope.decl(metadata !113) + call void @llvm.assume(i1 true) [ "align"(ptr %2, i64 8) ] %5 = getelementptr inbounds nuw i8, ptr %2, i64 24 %6 = load ptr, ptr %5, align 8, !noalias !116, !nonnull !4, !noundef !4 %7 = getelementptr inbounds nuw i8, ptr %0, i64 8 @@ -985,6 +990,7 @@ define hidden void @"_ZN4core3ptr121drop_in_place$LT$tokio..loom..std..unsafe_ce 4: ; preds = %1 tail call void @llvm.experimental.noalias.scope.decl(metadata !240) tail call void @llvm.experimental.noalias.scope.decl(metadata !243) + call void @llvm.assume(i1 true) [ "align"(ptr %2, i64 8) ] %5 = getelementptr inbounds nuw i8, ptr %2, i64 24 %6 = load ptr, ptr %5, align 8, !noalias !246, !nonnull !4, !noundef !4 %7 = getelementptr inbounds nuw i8, ptr %0, i64 8 @@ -1103,6 +1109,7 @@ define hidden void @"_ZN4core3ptr122drop_in_place$LT$tokio..sync..mpsc..chan..Ch 18: ; preds = %.loopexit.split-lp call void @llvm.experimental.noalias.scope.decl(metadata !273) call void @llvm.experimental.noalias.scope.decl(metadata !276) + call void @llvm.assume(i1 true) [ "align"(ptr %16, i64 8) ] %19 = getelementptr inbounds nuw i8, ptr %16, i64 24 %20 = load ptr, ptr %19, align 8, !noalias !279, !nonnull !4, !noundef !4 %21 = getelementptr inbounds nuw i8, ptr %0, i64 136 @@ -1124,6 +1131,7 @@ define hidden void @"_ZN4core3ptr122drop_in_place$LT$tokio..sync..mpsc..chan..Ch 26: ; preds = %"_ZN84_$LT$tokio..sync..mpsc..chan..Chan$LT$T$C$S$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17hdd6d22028fac1afdE.llvm.14059260848470938700.exit" call void @llvm.experimental.noalias.scope.decl(metadata !296) call void @llvm.experimental.noalias.scope.decl(metadata !299) + call void @llvm.assume(i1 true) [ "align"(ptr %24, i64 8) ] %27 = getelementptr inbounds nuw i8, ptr %24, i64 24 %28 = load ptr, ptr %27, align 8, !noalias !302, !nonnull !4, !noundef !4 %29 = getelementptr inbounds nuw i8, ptr %0, i64 136 @@ -1208,6 +1216,7 @@ define hidden void @"_ZN4core3ptr127drop_in_place$LT$lock_api..mutex..Mutex$LT$p 5: ; preds = %1 tail call void @llvm.experimental.noalias.scope.decl(metadata !319) tail call void @llvm.experimental.noalias.scope.decl(metadata !322) + call void @llvm.assume(i1 true) [ "align"(ptr %3, i64 8) ] %6 = getelementptr inbounds nuw i8, ptr %3, i64 24 %7 = load ptr, ptr %6, align 8, !noalias !325, !nonnull !4, !noundef !4 %8 = getelementptr inbounds nuw i8, ptr %0, i64 32 @@ -1227,6 +1236,7 @@ define hidden void @"_ZN4core3ptr127drop_in_place$LT$lock_api..mutex..Mutex$LT$p 15: ; preds = %10 tail call void @llvm.experimental.noalias.scope.decl(metadata !331) tail call void @llvm.experimental.noalias.scope.decl(metadata !334) + call void @llvm.assume(i1 true) [ "align"(ptr %13, i64 8) ] %16 = getelementptr inbounds nuw i8, ptr %13, i64 24 %17 = load ptr, ptr %16, align 8, !noalias !337, !nonnull !4, !noundef !4 %18 = getelementptr inbounds nuw i8, ptr %0, i64 48 @@ -1244,6 +1254,7 @@ define hidden void @"_ZN4core3ptr127drop_in_place$LT$lock_api..mutex..Mutex$LT$p 23: ; preds = %"_ZN4core3ptr72drop_in_place$LT$core..option..Option$LT$core..task..wake..Waker$GT$$GT$17h4efa7ec3bd84ec97E.llvm.14059260848470938700.exit.i.i" tail call void @llvm.experimental.noalias.scope.decl(metadata !342) tail call void @llvm.experimental.noalias.scope.decl(metadata !345) + call void @llvm.assume(i1 true) [ "align"(ptr %21, i64 8) ] %24 = getelementptr inbounds nuw i8, ptr %21, i64 24 %25 = load ptr, ptr %24, align 8, !noalias !348, !nonnull !4, !noundef !4 %26 = getelementptr inbounds nuw i8, ptr %0, i64 48 @@ -2262,6 +2273,7 @@ define hidden void @"_ZN4core3ptr42drop_in_place$LT$tokio_test..io..Inner$GT$17h 27: ; preds = %.body4 tail call void @llvm.experimental.noalias.scope.decl(metadata !568) tail call void @llvm.experimental.noalias.scope.decl(metadata !571) + call void @llvm.assume(i1 true) [ "align"(ptr %25, i64 8) ] %28 = getelementptr inbounds nuw i8, ptr %25, i64 24 %29 = load ptr, ptr %28, align 8, !noalias !574, !nonnull !4, !noundef !4 %30 = getelementptr inbounds nuw i8, ptr %0, i64 72 @@ -2279,6 +2291,7 @@ define hidden void @"_ZN4core3ptr42drop_in_place$LT$tokio_test..io..Inner$GT$17h 35: ; preds = %"_ZN4core3ptr121drop_in_place$LT$core..option..Option$LT$core..pin..Pin$LT$alloc..boxed..Box$LT$tokio..time..sleep..Sleep$GT$$GT$$GT$$GT$17hdc88ea52445461c3E.llvm.14059260848470938700.exit" tail call void @llvm.experimental.noalias.scope.decl(metadata !578) tail call void @llvm.experimental.noalias.scope.decl(metadata !581) + call void @llvm.assume(i1 true) [ "align"(ptr %33, i64 8) ] %36 = getelementptr inbounds nuw i8, ptr %33, i64 24 %37 = load ptr, ptr %36, align 8, !noalias !584, !nonnull !4, !noundef !4 %38 = getelementptr inbounds nuw i8, ptr %0, i64 72 @@ -4048,6 +4061,7 @@ define hidden void @"_ZN4core3ptr59drop_in_place$LT$tokio..runtime..time..entry. 5: ; preds = %1 tail call void @llvm.experimental.noalias.scope.decl(metadata !1171) tail call void @llvm.experimental.noalias.scope.decl(metadata !1174) + call void @llvm.assume(i1 true) [ "align"(ptr %3, i64 8) ] %6 = getelementptr inbounds nuw i8, ptr %3, i64 24 %7 = load ptr, ptr %6, align 8, !noalias !1177, !nonnull !4, !noundef !4 %8 = getelementptr inbounds nuw i8, ptr %0, i64 16 @@ -4142,6 +4156,7 @@ define hidden void @"_ZN4core3ptr60drop_in_place$LT$tokio..runtime..time..entry. 22: ; preds = %18 tail call void @llvm.experimental.noalias.scope.decl(metadata !1218) tail call void @llvm.experimental.noalias.scope.decl(metadata !1221) + call void @llvm.assume(i1 true) [ "align"(ptr %20, i64 8) ] %23 = getelementptr inbounds nuw i8, ptr %20, i64 24 %24 = load ptr, ptr %23, align 8, !noalias !1224, !nonnull !4, !noundef !4 %25 = getelementptr inbounds nuw i8, ptr %0, i64 80 @@ -4168,6 +4183,7 @@ define hidden void @"_ZN4core3ptr60drop_in_place$LT$tokio..runtime..time..entry. 32: ; preds = %"_ZN4core3ptr54drop_in_place$LT$tokio..runtime..scheduler..Handle$GT$17haa836ee0e47d65adE.llvm.14059260848470938700.exit" tail call void @llvm.experimental.noalias.scope.decl(metadata !1241) tail call void @llvm.experimental.noalias.scope.decl(metadata !1244) + call void @llvm.assume(i1 true) [ "align"(ptr %30, i64 8) ] %33 = getelementptr inbounds nuw i8, ptr %30, i64 24 %34 = load ptr, ptr %33, align 8, !noalias !1247, !nonnull !4, !noundef !4 %35 = getelementptr inbounds nuw i8, ptr %0, i64 80 @@ -4203,6 +4219,7 @@ define hidden void @"_ZN4core3ptr61drop_in_place$LT$tokio..runtime..time..entry. 5: ; preds = %1 tail call void @llvm.experimental.noalias.scope.decl(metadata !1264) tail call void @llvm.experimental.noalias.scope.decl(metadata !1267) + call void @llvm.assume(i1 true) [ "align"(ptr %3, i64 8) ] %6 = getelementptr inbounds nuw i8, ptr %3, i64 24 %7 = load ptr, ptr %6, align 8, !noalias !1270, !nonnull !4, !noundef !4 %8 = getelementptr inbounds nuw i8, ptr %0, i64 48 @@ -4263,6 +4280,7 @@ define hidden void @"_ZN4core3ptr62drop_in_place$LT$tokio..runtime..io..schedule 5: ; preds = %1 tail call void @llvm.experimental.noalias.scope.decl(metadata !1281) tail call void @llvm.experimental.noalias.scope.decl(metadata !1284) + call void @llvm.assume(i1 true) [ "align"(ptr %3, i64 8) ] %6 = getelementptr inbounds nuw i8, ptr %3, i64 24 %7 = load ptr, ptr %6, align 8, !noalias !1287, !nonnull !4, !noundef !4 %8 = getelementptr inbounds nuw i8, ptr %0, i64 24 @@ -4282,6 +4300,7 @@ define hidden void @"_ZN4core3ptr62drop_in_place$LT$tokio..runtime..io..schedule 15: ; preds = %10 tail call void @llvm.experimental.noalias.scope.decl(metadata !1291) tail call void @llvm.experimental.noalias.scope.decl(metadata !1294) + call void @llvm.assume(i1 true) [ "align"(ptr %13, i64 8) ] %16 = getelementptr inbounds nuw i8, ptr %13, i64 24 %17 = load ptr, ptr %16, align 8, !noalias !1297, !nonnull !4, !noundef !4 %18 = getelementptr inbounds nuw i8, ptr %0, i64 40 @@ -4299,6 +4318,7 @@ define hidden void @"_ZN4core3ptr62drop_in_place$LT$tokio..runtime..io..schedule 23: ; preds = %"_ZN4core3ptr72drop_in_place$LT$core..option..Option$LT$core..task..wake..Waker$GT$$GT$17h4efa7ec3bd84ec97E.llvm.14059260848470938700.exit" tail call void @llvm.experimental.noalias.scope.decl(metadata !1301) tail call void @llvm.experimental.noalias.scope.decl(metadata !1304) + call void @llvm.assume(i1 true) [ "align"(ptr %21, i64 8) ] %24 = getelementptr inbounds nuw i8, ptr %21, i64 24 %25 = load ptr, ptr %24, align 8, !noalias !1307, !nonnull !4, !noundef !4 %26 = getelementptr inbounds nuw i8, ptr %0, i64 40 @@ -4456,6 +4476,7 @@ define hidden void @"_ZN4core3ptr65drop_in_place$LT$tokio..sync..task..atomic_wa 4: ; preds = %1 tail call void @llvm.experimental.noalias.scope.decl(metadata !1348) tail call void @llvm.experimental.noalias.scope.decl(metadata !1351) + call void @llvm.assume(i1 true) [ "align"(ptr %2, i64 8) ] %5 = getelementptr inbounds nuw i8, ptr %2, i64 24 %6 = load ptr, ptr %5, align 8, !noalias !1354, !nonnull !4, !noundef !4 %7 = getelementptr inbounds nuw i8, ptr %0, i64 8 @@ -4510,6 +4531,7 @@ define hidden void @"_ZN4core3ptr66drop_in_place$LT$tokio..runtime..io..schedule 9: ; preds = %5 tail call void @llvm.experimental.noalias.scope.decl(metadata !1374) tail call void @llvm.experimental.noalias.scope.decl(metadata !1377) + call void @llvm.assume(i1 true) [ "align"(ptr %7, i64 8) ] %10 = getelementptr inbounds nuw i8, ptr %7, i64 24 %11 = load ptr, ptr %10, align 8, !noalias !1380, !nonnull !4, !noundef !4 %12 = getelementptr inbounds nuw i8, ptr %0, i64 56 @@ -4529,6 +4551,7 @@ define hidden void @"_ZN4core3ptr66drop_in_place$LT$tokio..runtime..io..schedule 19: ; preds = %14 tail call void @llvm.experimental.noalias.scope.decl(metadata !1386) tail call void @llvm.experimental.noalias.scope.decl(metadata !1389) + call void @llvm.assume(i1 true) [ "align"(ptr %17, i64 8) ] %20 = getelementptr inbounds nuw i8, ptr %17, i64 24 %21 = load ptr, ptr %20, align 8, !noalias !1392, !nonnull !4, !noundef !4 %22 = getelementptr inbounds nuw i8, ptr %0, i64 72 @@ -4546,6 +4569,7 @@ define hidden void @"_ZN4core3ptr66drop_in_place$LT$tokio..runtime..io..schedule 27: ; preds = %"_ZN4core3ptr72drop_in_place$LT$core..option..Option$LT$core..task..wake..Waker$GT$$GT$17h4efa7ec3bd84ec97E.llvm.14059260848470938700.exit.i.i.i.i" tail call void @llvm.experimental.noalias.scope.decl(metadata !1397) tail call void @llvm.experimental.noalias.scope.decl(metadata !1400) + call void @llvm.assume(i1 true) [ "align"(ptr %25, i64 8) ] %28 = getelementptr inbounds nuw i8, ptr %25, i64 24 %29 = load ptr, ptr %28, align 8, !noalias !1403, !nonnull !4, !noundef !4 %30 = getelementptr inbounds nuw i8, ptr %0, i64 72 @@ -4906,6 +4930,7 @@ define hidden void @"_ZN4core3ptr72drop_in_place$LT$core..option..Option$LT$core 5: ; preds = %1 tail call void @llvm.experimental.noalias.scope.decl(metadata !1494) tail call void @llvm.experimental.noalias.scope.decl(metadata !1497) + call void @llvm.assume(i1 true) [ "align"(ptr %2, i64 8) ] %6 = getelementptr inbounds nuw i8, ptr %2, i64 24 %7 = load ptr, ptr %6, align 8, !noalias !1500, !nonnull !4, !noundef !4 %8 = getelementptr inbounds nuw i8, ptr %0, i64 8 @@ -5956,6 +5981,7 @@ define hidden void @"_ZN4core3ptr91drop_in_place$LT$core..cell..UnsafeCell$LT$to 5: ; preds = %1 tail call void @llvm.experimental.noalias.scope.decl(metadata !1892) tail call void @llvm.experimental.noalias.scope.decl(metadata !1895) + call void @llvm.assume(i1 true) [ "align"(ptr %3, i64 8) ] %6 = getelementptr inbounds nuw i8, ptr %3, i64 24 %7 = load ptr, ptr %6, align 8, !noalias !1898, !nonnull !4, !noundef !4 %8 = getelementptr inbounds nuw i8, ptr %0, i64 48 @@ -5979,6 +6005,7 @@ define hidden void @"_ZN4core3ptr92drop_in_place$LT$core..cell..UnsafeCell$LT$to 5: ; preds = %1 tail call void @llvm.experimental.noalias.scope.decl(metadata !1906) tail call void @llvm.experimental.noalias.scope.decl(metadata !1909) + call void @llvm.assume(i1 true) [ "align"(ptr %3, i64 8) ] %6 = getelementptr inbounds nuw i8, ptr %3, i64 24 %7 = load ptr, ptr %6, align 8, !noalias !1912, !nonnull !4, !noundef !4 %8 = getelementptr inbounds nuw i8, ptr %0, i64 24 @@ -5998,6 +6025,7 @@ define hidden void @"_ZN4core3ptr92drop_in_place$LT$core..cell..UnsafeCell$LT$to 15: ; preds = %10 tail call void @llvm.experimental.noalias.scope.decl(metadata !1917) tail call void @llvm.experimental.noalias.scope.decl(metadata !1920) + call void @llvm.assume(i1 true) [ "align"(ptr %13, i64 8) ] %16 = getelementptr inbounds nuw i8, ptr %13, i64 24 %17 = load ptr, ptr %16, align 8, !noalias !1923, !nonnull !4, !noundef !4 %18 = getelementptr inbounds nuw i8, ptr %0, i64 40 @@ -6015,6 +6043,7 @@ define hidden void @"_ZN4core3ptr92drop_in_place$LT$core..cell..UnsafeCell$LT$to 23: ; preds = %"_ZN4core3ptr72drop_in_place$LT$core..option..Option$LT$core..task..wake..Waker$GT$$GT$17h4efa7ec3bd84ec97E.llvm.14059260848470938700.exit.i" tail call void @llvm.experimental.noalias.scope.decl(metadata !1928) tail call void @llvm.experimental.noalias.scope.decl(metadata !1931) + call void @llvm.assume(i1 true) [ "align"(ptr %21, i64 8) ] %24 = getelementptr inbounds nuw i8, ptr %21, i64 24 %25 = load ptr, ptr %24, align 8, !noalias !1934, !nonnull !4, !noundef !4 %26 = getelementptr inbounds nuw i8, ptr %0, i64 40 diff --git a/bench/tokio-rs/optimized/4brh9kql6tjayli1.ll b/bench/tokio-rs/optimized/4brh9kql6tjayli1.ll index 09bdd2b3706..1833ed40efa 100644 --- a/bench/tokio-rs/optimized/4brh9kql6tjayli1.ll +++ b/bench/tokio-rs/optimized/4brh9kql6tjayli1.ll @@ -476,6 +476,7 @@ common.ret: ; preds = %"_ZN4core3ptr50drop 14: ; preds = %9 tail call void @llvm.experimental.noalias.scope.decl(metadata !20) tail call void @llvm.experimental.noalias.scope.decl(metadata !23) + call void @llvm.assume(i1 true) [ "align"(ptr %12, i64 8) ] %15 = getelementptr inbounds nuw i8, ptr %12, i64 24 %16 = load ptr, ptr %15, align 8, !noalias !26, !nonnull !4, !noundef !4 %17 = getelementptr inbounds nuw i8, ptr %0, i64 88 @@ -495,6 +496,7 @@ common.ret: ; preds = %"_ZN4core3ptr50drop 23: ; preds = %19 tail call void @llvm.experimental.noalias.scope.decl(metadata !37) tail call void @llvm.experimental.noalias.scope.decl(metadata !40) + call void @llvm.assume(i1 true) [ "align"(ptr %21, i64 8) ] %24 = getelementptr inbounds nuw i8, ptr %21, i64 24 %25 = load ptr, ptr %24, align 8, !noalias !43, !nonnull !4, !noundef !4 %26 = getelementptr inbounds nuw i8, ptr %0, i64 88 @@ -687,6 +689,7 @@ define hidden void @"_ZN4core3ptr72drop_in_place$LT$core..option..Option$LT$core 5: ; preds = %1 tail call void @llvm.experimental.noalias.scope.decl(metadata !92) tail call void @llvm.experimental.noalias.scope.decl(metadata !95) + call void @llvm.assume(i1 true) [ "align"(ptr %2, i64 8) ] %6 = getelementptr inbounds nuw i8, ptr %2, i64 24 %7 = load ptr, ptr %6, align 8, !noalias !98, !nonnull !4, !noundef !4 %8 = getelementptr inbounds nuw i8, ptr %0, i64 8 @@ -813,6 +816,7 @@ common.resume: ; preds = %61, %65, %.body.i.i 33: ; preds = %28 tail call void @llvm.experimental.noalias.scope.decl(metadata !136) tail call void @llvm.experimental.noalias.scope.decl(metadata !139) + call void @llvm.assume(i1 true) [ "align"(ptr %31, i64 8) ] %34 = getelementptr inbounds nuw i8, ptr %31, i64 24 %35 = load ptr, ptr %34, align 8, !noalias !142, !nonnull !4, !noundef !4 %36 = getelementptr inbounds nuw i8, ptr %0, i64 120 @@ -832,6 +836,7 @@ common.resume: ; preds = %61, %65, %.body.i.i 42: ; preds = %38 tail call void @llvm.experimental.noalias.scope.decl(metadata !153) tail call void @llvm.experimental.noalias.scope.decl(metadata !156) + call void @llvm.assume(i1 true) [ "align"(ptr %40, i64 8) ] %43 = getelementptr inbounds nuw i8, ptr %40, i64 24 %44 = load ptr, ptr %43, align 8, !noalias !159, !nonnull !4, !noundef !4 %45 = getelementptr inbounds nuw i8, ptr %0, i64 120 @@ -1012,6 +1017,7 @@ define internal fastcc void @"_ZN4core3ptr94drop_in_place$LT$$u5b$core..option.. 7: ; preds = %2 tail call void @llvm.experimental.noalias.scope.decl(metadata !206) tail call void @llvm.experimental.noalias.scope.decl(metadata !209) + call void @llvm.assume(i1 true) [ "align"(ptr %5, i64 8) ] %8 = getelementptr inbounds nuw i8, ptr %5, i64 24 %9 = load ptr, ptr %8, align 8, !noalias !212, !nonnull !4, !noundef !4 %10 = getelementptr inbounds nuw i8, ptr %3, i64 8 @@ -1044,6 +1050,7 @@ define internal fastcc void @"_ZN4core3ptr94drop_in_place$LT$$u5b$core..option.. 21: ; preds = %.lr.ph tail call void @llvm.experimental.noalias.scope.decl(metadata !216) tail call void @llvm.experimental.noalias.scope.decl(metadata !219) + call void @llvm.assume(i1 true) [ "align"(ptr %19, i64 8) ] %22 = getelementptr inbounds nuw i8, ptr %19, i64 24 %23 = load ptr, ptr %22, align 8, !noalias !222, !nonnull !4, !noundef !4 %24 = getelementptr inbounds nuw i8, ptr %17, i64 8 @@ -1094,6 +1101,7 @@ common.ret: ; preds = %1, %"_ZN4core3ptr50 11: ; preds = %6 tail call void @llvm.experimental.noalias.scope.decl(metadata !233) tail call void @llvm.experimental.noalias.scope.decl(metadata !236) + call void @llvm.assume(i1 true) [ "align"(ptr %9, i64 8) ] %12 = getelementptr inbounds nuw i8, ptr %9, i64 24 %13 = load ptr, ptr %12, align 8, !noalias !239, !nonnull !4, !noundef !4 %14 = getelementptr inbounds nuw i8, ptr %0, i64 80 @@ -1113,6 +1121,7 @@ common.ret: ; preds = %1, %"_ZN4core3ptr50 20: ; preds = %16 tail call void @llvm.experimental.noalias.scope.decl(metadata !250) tail call void @llvm.experimental.noalias.scope.decl(metadata !253) + call void @llvm.assume(i1 true) [ "align"(ptr %18, i64 8) ] %21 = getelementptr inbounds nuw i8, ptr %18, i64 24 %22 = load ptr, ptr %21, align 8, !noalias !256, !nonnull !4, !noundef !4 %23 = getelementptr inbounds nuw i8, ptr %0, i64 80 @@ -9594,6 +9603,7 @@ define hidden void @"_ZN5tokio7runtime4time54_$LT$impl$u20$tokio..runtime..time. 29: ; preds = %28 %.fca.1.extract.i.i.le = extractvalue { ptr, ptr } %26, 1 + call void @llvm.assume(i1 true) [ "align"(ptr %.fca.0.extract.i.i65, i64 8) ] %30 = icmp ugt i64 %.054.ph, 31 br i1 %30, label %40, label %31, !prof !1793 @@ -9607,6 +9617,7 @@ define hidden void @"_ZN5tokio7runtime4time54_$LT$impl$u20$tokio..runtime..time. 35: ; preds = %31 tail call void @llvm.experimental.noalias.scope.decl(metadata !1797) tail call void @llvm.experimental.noalias.scope.decl(metadata !1800) + call void @llvm.assume(i1 true) [ "align"(ptr %33, i64 8) ] %36 = getelementptr inbounds nuw i8, ptr %33, i64 24 %37 = load ptr, ptr %36, align 8, !noalias !1803, !nonnull !4, !noundef !4 %38 = getelementptr inbounds nuw i8, ptr %32, i64 8 @@ -9700,6 +9711,7 @@ _ZN5tokio7runtime4time5Inner4lock17hc6aef85257c604f9E.exit77: ; preds = %.noexc7 67: ; preds = %40 %68 = landingpad { ptr, i32 } cleanup + call void @llvm.assume(i1 true) [ "align"(ptr %.fca.0.extract.i.i65, i64 8) ] %69 = getelementptr inbounds nuw i8, ptr %.fca.0.extract.i.i65, i64 24 %70 = load ptr, ptr %69, align 8, !noalias !1804, !nonnull !4, !noundef !4 invoke void %70(ptr noundef %.fca.1.extract.i.i.le) @@ -9771,6 +9783,7 @@ _ZN5tokio7runtime4time5Inner4lock17hc6aef85257c604f9E.exit77: ; preds = %.noexc7 96: ; preds = %91 call void @llvm.experimental.noalias.scope.decl(metadata !1818) call void @llvm.experimental.noalias.scope.decl(metadata !1821) + call void @llvm.assume(i1 true) [ "align"(ptr %94, i64 8) ] %97 = getelementptr inbounds nuw i8, ptr %94, i64 24 %98 = load ptr, ptr %97, align 8, !noalias !1824, !nonnull !4, !noundef !4 %99 = getelementptr inbounds nuw i8, ptr %92, i64 8 @@ -9800,6 +9813,7 @@ _ZN5tokio7runtime4time5Inner4lock17hc6aef85257c604f9E.exit77: ; preds = %.noexc7 109: ; preds = %.lr.ph.i call void @llvm.experimental.noalias.scope.decl(metadata !1829) call void @llvm.experimental.noalias.scope.decl(metadata !1832) + call void @llvm.assume(i1 true) [ "align"(ptr %107, i64 8) ] %110 = getelementptr inbounds nuw i8, ptr %107, i64 24 %111 = load ptr, ptr %110, align 8, !noalias !1835, !nonnull !4, !noundef !4 %112 = getelementptr inbounds nuw i8, ptr %105, i64 8 @@ -9915,6 +9929,7 @@ _ZN5tokio7runtime4time5Inner4lock17hc6aef85257c604f9E.exit: ; preds = %2, %6 24: ; preds = %22 %.fca.1.extract.i.i = extractvalue { ptr, ptr } %21, 1 + call void @llvm.assume(i1 true) [ "align"(ptr %.fca.0.extract.i.i3, i64 8) ] %25 = getelementptr inbounds nuw i8, ptr %.fca.0.extract.i.i3, i64 24 %26 = load ptr, ptr %25, align 8, !noalias !1836, !nonnull !4, !noundef !4 invoke void %26(ptr noundef %.fca.1.extract.i.i) @@ -10142,6 +10157,7 @@ _ZN5tokio7runtime6driver8IoHandle6unpark17h6dbd22269668e44eE.exit: ; preds = %.n br label %61 73: ; preds = %"_ZN4core3ptr102drop_in_place$LT$tokio..loom..std..parking_lot..MutexGuard$LT$tokio..runtime..time..InnerState$GT$$GT$17he881a5200f4b27eaE.exit" + call void @llvm.assume(i1 true) [ "align"(ptr %.sroa.0.1, i64 8) ] %74 = getelementptr inbounds nuw i8, ptr %.sroa.0.1, i64 8 %75 = load ptr, ptr %74, align 8, !nonnull !4, !noundef !4 tail call void %75(ptr noundef %.sroa.8.1) @@ -10830,6 +10846,7 @@ define hidden { i64, i64 } @_ZN5tokio7runtime4task7harness14set_join_waker17hd08 13: ; preds = %9 tail call void @llvm.experimental.noalias.scope.decl(metadata !1978) tail call void @llvm.experimental.noalias.scope.decl(metadata !1981) + call void @llvm.assume(i1 true) [ "align"(ptr %11, i64 8) ] %14 = getelementptr inbounds nuw i8, ptr %11, i64 24 %15 = load ptr, ptr %14, align 8, !noalias !1984, !nonnull !4, !noundef !4 %16 = getelementptr inbounds nuw i8, ptr %1, i64 24 @@ -10900,6 +10917,7 @@ define hidden { i64, i64 } @_ZN5tokio7runtime4task7harness14set_join_waker17hd08 35: ; preds = %32 tail call void @llvm.experimental.noalias.scope.decl(metadata !1994) tail call void @llvm.experimental.noalias.scope.decl(metadata !1997) + call void @llvm.assume(i1 true) [ "align"(ptr %33, i64 8) ] %36 = getelementptr inbounds nuw i8, ptr %33, i64 24 %37 = load ptr, ptr %36, align 8, !noalias !2000, !nonnull !4, !noundef !4 %38 = load ptr, ptr %23, align 8, !alias.scope !2001, !noalias !1989, !noundef !4 @@ -12490,6 +12508,7 @@ _ZN5tokio7runtime7context12thread_rng_n17hd2b677d2db23db8cE.exit.i.i.i: ; preds 81: ; preds = %76 call void @llvm.experimental.noalias.scope.decl(metadata !2157) call void @llvm.experimental.noalias.scope.decl(metadata !2160) + call void @llvm.assume(i1 true) [ "align"(ptr %79, i64 8) ] %82 = getelementptr inbounds nuw i8, ptr %79, i64 24 %83 = load ptr, ptr %82, align 8, !noalias !2163, !nonnull !4, !noundef !4 %84 = getelementptr inbounds nuw i8, ptr %0, i64 120 @@ -12509,6 +12528,7 @@ _ZN5tokio7runtime7context12thread_rng_n17hd2b677d2db23db8cE.exit.i.i.i: ; preds 90: ; preds = %86 call void @llvm.experimental.noalias.scope.decl(metadata !2174) call void @llvm.experimental.noalias.scope.decl(metadata !2177) + call void @llvm.assume(i1 true) [ "align"(ptr %88, i64 8) ] %91 = getelementptr inbounds nuw i8, ptr %88, i64 24 %92 = load ptr, ptr %91, align 8, !noalias !2180, !nonnull !4, !noundef !4 %93 = getelementptr inbounds nuw i8, ptr %0, i64 120 @@ -12595,6 +12615,7 @@ _ZN5tokio7runtime7context12thread_rng_n17hd2b677d2db23db8cE.exit.i.i.i: ; preds 126: ; preds = %121 call void @llvm.experimental.noalias.scope.decl(metadata !2194) call void @llvm.experimental.noalias.scope.decl(metadata !2197) + call void @llvm.assume(i1 true) [ "align"(ptr %124, i64 8) ] %127 = getelementptr inbounds nuw i8, ptr %124, i64 24 %128 = load ptr, ptr %127, align 8, !noalias !2200, !nonnull !4, !noundef !4 %129 = getelementptr inbounds nuw i8, ptr %6, i64 40 @@ -12614,6 +12635,7 @@ _ZN5tokio7runtime7context12thread_rng_n17hd2b677d2db23db8cE.exit.i.i.i: ; preds 135: ; preds = %131 call void @llvm.experimental.noalias.scope.decl(metadata !2211) call void @llvm.experimental.noalias.scope.decl(metadata !2214) + call void @llvm.assume(i1 true) [ "align"(ptr %133, i64 8) ] %136 = getelementptr inbounds nuw i8, ptr %133, i64 24 %137 = load ptr, ptr %136, align 8, !noalias !2217, !nonnull !4, !noundef !4 %138 = getelementptr inbounds nuw i8, ptr %6, i64 40 diff --git a/bench/tree-sitter-rs/optimized/1an3e3vgwrgy9kls.ll b/bench/tree-sitter-rs/optimized/1an3e3vgwrgy9kls.ll index 60e1d103f52..78ea1dbc3e7 100644 --- a/bench/tree-sitter-rs/optimized/1an3e3vgwrgy9kls.ll +++ b/bench/tree-sitter-rs/optimized/1an3e3vgwrgy9kls.ll @@ -9238,6 +9238,7 @@ _ZN14regex_automata4meta5regex5Regex13captures_iter17hfffe0f4e1830c195E.exit: ; 104: ; preds = %97 %105 = getelementptr inbounds nuw i8, ptr %28, i64 16 %106 = load ptr, ptr %105, align 8, !alias.scope !2132, !nonnull !9, !align !15, !noundef !9 + call void @llvm.assume(i1 true) [ "align"(ptr %98, i64 8) ] invoke void @"_ZN14regex_automata4util4pool5inner17Pool$LT$T$C$F$GT$9put_value17h230c114a5f2525a0E.llvm.15559585470061597875"(ptr noundef nonnull align 8 %106, ptr noalias noundef nonnull align 8 %98) to label %.noexc179 unwind label %117 @@ -9559,6 +9560,7 @@ _ZN14regex_automata4meta5regex5Regex13captures_iter17hfffe0f4e1830c195E.exit: ; 219: ; preds = %212 %220 = getelementptr inbounds nuw i8, ptr %30, i64 16 %221 = load ptr, ptr %220, align 8, !alias.scope !2125, !nonnull !9, !align !15, !noundef !9 + call void @llvm.assume(i1 true) [ "align"(ptr %213, i64 8) ] invoke void @"_ZN14regex_automata4util4pool5inner17Pool$LT$T$C$F$GT$9put_value17h230c114a5f2525a0E.llvm.15559585470061597875"(ptr noundef nonnull align 8 %221, ptr noalias noundef nonnull align 8 %213) to label %.noexc189 unwind label %232 @@ -13497,6 +13499,7 @@ define hidden void @"_ZN94_$LT$tree_sitter_tags..TagsIter$LT$I$GT$$u20$as$u20$co br i1 %.not186, label %89, label %85 85: ; preds = %.backedge + call void @llvm.assume(i1 true) [ "align"(ptr %84, i64 8) ] %86 = load i64, ptr %33, align 8, !noundef !9 %87 = add i64 %86, 1 store i64 %87, ptr %33, align 8 @@ -13643,6 +13646,7 @@ common.resume: ; preds = %552, %118, %.thread resume { ptr, i32 } %common.resume.op 132: ; preds = %"_ZN97_$LT$tree_sitter..QueryMatches$LT$T$C$I$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17hb3356ca6e1acad8dE.exit" + call void @llvm.assume(i1 true) [ "align"(ptr %.sroa.0.0.copyload, i64 8) ] %133 = load ptr, ptr %42, align 8, !nonnull !9, !align !15, !noundef !9 %134 = getelementptr i8, ptr %133, i64 64 %.val235 = load i64, ptr %134, align 8, !noundef !9 @@ -14662,7 +14666,7 @@ common.resume: ; preds = %552, %118, %.thread store i64 %472, ptr %44, align 8, !alias.scope !4202, !noalias !4205 call void @llvm.lifetime.end.p0(ptr nonnull %.sroa.0329) %.pre = load ptr, ptr %42, align 8 - %.val252.pre = load i32, ptr %152, align 4 + %.val252.pre = load i32, ptr %152, align 8 br label %.critedge225 .critedge225: ; preds = %468, %459, %.critedge223, %456 diff --git a/bench/turborepo-rs/optimized/5oyfkcp83qeshlhfpeq645wiv.ll b/bench/turborepo-rs/optimized/5oyfkcp83qeshlhfpeq645wiv.ll index 6063d294326..bba4c4de792 100644 --- a/bench/turborepo-rs/optimized/5oyfkcp83qeshlhfpeq645wiv.ll +++ b/bench/turborepo-rs/optimized/5oyfkcp83qeshlhfpeq645wiv.ll @@ -2956,7 +2956,7 @@ _RNvXs0_NtNtNtCs1LoaDTb72WA_4core4iter8adapters3mapINtB5_3MapINtNtCslyFhtC9DD08_ 16: ; preds = %_RNvXs7_NtCslyFhtC9DD08_9itertools11groupbylazyINtB5_5GroupNtNtCseG2FYMysgNb_3wax5token8PositionINtBW_4WalkTjjEENCNvNtBY_4rule8boundary0ENtNtNtNtCs1LoaDTb72WA_4core4iter6traits8iterator8Iterator4nextBY_.llvm.8413233830278194149.exit.i, %_RNvXs7_NtCslyFhtC9DD08_9itertools11groupbylazyINtB5_5GroupNtNtCseG2FYMysgNb_3wax5token8PositionINtBW_4WalkTjjEENCNvNtBY_4rule8boundary0ENtNtNtNtCs1LoaDTb72WA_4core4iter6traits8iterator8Iterator4nextBY_.llvm.8413233830278194149.exit.thread.i %.sroa.4.0..sroa_idx.i = getelementptr inbounds nuw i8, ptr %2, i64 24 - %.sroa.4.0.copyload.i = load ptr, ptr %.sroa.4.0..sroa_idx.i, align 8, !noalias !679, !nonnull !4, !noundef !4 + %.sroa.4.0.copyload.i = load ptr, ptr %.sroa.4.0..sroa_idx.i, align 8, !noalias !679, !nonnull !4, !align !153, !noundef !4 call void @llvm.lifetime.end.p0(ptr nonnull %2), !noalias !679 %17 = getelementptr inbounds nuw i8, ptr %0, i64 56 %18 = load ptr, ptr %17, align 8, !alias.scope !689, !noalias !692, !nonnull !4, !align !153, !noundef !4 diff --git a/bench/turborepo-rs/optimized/74s3x9u7hld928rwmttmetb1y.ll b/bench/turborepo-rs/optimized/74s3x9u7hld928rwmttmetb1y.ll index 0817f115c75..1c60e0d65f0 100644 --- a/bench/turborepo-rs/optimized/74s3x9u7hld928rwmttmetb1y.ll +++ b/bench/turborepo-rs/optimized/74s3x9u7hld928rwmttmetb1y.ll @@ -1092,9 +1092,9 @@ define void @_RINvMsi_NtCs68wO5nsWeTG_5alloc3vecINtB6_3VecRDNtNtCseG2FYMysgNb_3w define void @_RINvMsi_NtCs68wO5nsWeTG_5alloc3vecINtB6_3VecRINtNtCseG2FYMysgNb_3wax5token5TokenuEE16extend_desugaredINtNtNtNtCs1LoaDTb72WA_4core4iter8adapters5chain5ChainINtNtB1K_6option8IntoIterBG_EINtNtCslyFhtC9DD08_9itertools18peeking_take_while16PeekingTakeWhileINtNtB1G_8peekable8PeekableB2t_ENCNCNCINvBK_10componentsuINtB2w_6OptionBG_EE000EEEBM_(ptr noalias noundef align 8 dereferenceable(24) %0, ptr noalias noundef align 8 captures(none) dereferenceable(24) %1) unnamed_addr #0 personality ptr @rust_eh_personality { %3 = alloca [24 x i8], align 8 %4 = alloca [24 x i8], align 8 - %5 = getelementptr inbounds nuw i8, ptr %1, i64 24 - %6 = getelementptr inbounds nuw i8, ptr %1, i64 8 - %7 = getelementptr inbounds nuw i8, ptr %1, i64 16 + %5 = getelementptr inbounds nuw i8, ptr %1, i64 8 + %6 = getelementptr inbounds nuw i8, ptr %1, i64 16 + %7 = getelementptr inbounds nuw i8, ptr %1, i64 24 %8 = getelementptr inbounds nuw i8, ptr %0, i64 16 %9 = getelementptr inbounds nuw i8, ptr %0, i64 8 br label %10 @@ -1105,8 +1105,8 @@ define void @_RINvMsi_NtCs68wO5nsWeTG_5alloc3vecINtB6_3VecRINtNtCseG2FYMysgNb_3w br i1 %trunc.i.i, label %12, label %16 12: ; preds = %10 - %13 = load ptr, ptr %6, align 8, !alias.scope !210, !align !14, !noundef !4 - store ptr null, ptr %6, align 8, !alias.scope !210 + %13 = load ptr, ptr %5, align 8, !alias.scope !210, !align !14, !noundef !4 + store ptr null, ptr %5, align 8, !alias.scope !210 %14 = icmp eq ptr %13, null br i1 %14, label %15, label %_RNvXs_NtNtNtCs1LoaDTb72WA_4core4iter8adapters5chainINtB4_5ChainINtNtBa_6option8IntoIterRINtNtCseG2FYMysgNb_3wax5token5TokenuEEINtNtCslyFhtC9DD08_9itertools18peeking_take_while16PeekingTakeWhileINtNtB6_8peekable8PeekableBZ_ENCNCNCINvB1r_10componentsuINtB12_6OptionB1n_EE000EENtNtNtB8_6traits8iterator8Iterator4nextB1t_.exit.thread8 @@ -1115,12 +1115,13 @@ define void @_RINvMsi_NtCs68wO5nsWeTG_5alloc3vecINtB6_3VecRINtNtCseG2FYMysgNb_3w br label %16 16: ; preds = %15, %10 - %17 = load ptr, ptr %7, align 8, !alias.scope !215, !noalias !220, !noundef !4 + %17 = load ptr, ptr %6, align 8, !alias.scope !215, !noalias !220, !noundef !4 %18 = icmp eq ptr %17, null br i1 %18, label %_RNvXs_NtNtNtCs1LoaDTb72WA_4core4iter8adapters5chainINtB4_5ChainINtNtBa_6option8IntoIterRINtNtCseG2FYMysgNb_3wax5token5TokenuEEINtNtCslyFhtC9DD08_9itertools18peeking_take_while16PeekingTakeWhileINtNtB6_8peekable8PeekableBZ_ENCNCNCINvB1r_10componentsuINtB12_6OptionB1n_EE000EENtNtNtB8_6traits8iterator8Iterator4nextB1t_.exit.thread, label %_RNvXs_NtNtNtCs1LoaDTb72WA_4core4iter8adapters5chainINtB4_5ChainINtNtBa_6option8IntoIterRINtNtCseG2FYMysgNb_3wax5token5TokenuEEINtNtCslyFhtC9DD08_9itertools18peeking_take_while16PeekingTakeWhileINtNtB6_8peekable8PeekableBZ_ENCNCNCINvB1r_10componentsuINtB12_6OptionB1n_EE000EENtNtNtB8_6traits8iterator8Iterator4nextB1t_.exit _RNvXs_NtNtNtCs1LoaDTb72WA_4core4iter8adapters5chainINtB4_5ChainINtNtBa_6option8IntoIterRINtNtCseG2FYMysgNb_3wax5token5TokenuEEINtNtCslyFhtC9DD08_9itertools18peeking_take_while16PeekingTakeWhileINtNtB6_8peekable8PeekableBZ_ENCNCNCINvB1r_10componentsuINtB12_6OptionB1n_EE000EENtNtNtB8_6traits8iterator8Iterator4nextB1t_.exit: ; preds = %16 - %19 = tail call noundef align 8 dereferenceable_or_null(48) ptr @_RINvXs_NtCslyFhtC9DD08_9itertools18peeking_take_whileINtNtNtNtCs1LoaDTb72WA_4core4iter8adapters8peekable8PeekableINtNtBY_6option8IntoIterRINtNtCseG2FYMysgNb_3wax5token5TokenuEEENtB5_11PeekingNext12peeking_nextQNCNCNCINvB2f_10componentsuINtB1Q_6OptionB2b_EE000EB2h_(ptr noalias noundef nonnull align 8 dereferenceable(24) %17, ptr noalias noundef nonnull align 1 %5), !noalias !220 + call void @llvm.assume(i1 true) [ "align"(ptr %17, i64 8) ] + %19 = tail call noundef align 8 dereferenceable_or_null(48) ptr @_RINvXs_NtCslyFhtC9DD08_9itertools18peeking_take_whileINtNtNtNtCs1LoaDTb72WA_4core4iter8adapters8peekable8PeekableINtNtBY_6option8IntoIterRINtNtCseG2FYMysgNb_3wax5token5TokenuEEENtB5_11PeekingNext12peeking_nextQNCNCNCINvB2f_10componentsuINtB1Q_6OptionB2b_EE000EB2h_(ptr noalias noundef nonnull align 8 dereferenceable(24) %17, ptr noalias noundef nonnull align 1 %7), !noalias !220 %20 = icmp eq ptr %19, null br i1 %20, label %_RNvXs_NtNtNtCs1LoaDTb72WA_4core4iter8adapters5chainINtB4_5ChainINtNtBa_6option8IntoIterRINtNtCseG2FYMysgNb_3wax5token5TokenuEEINtNtCslyFhtC9DD08_9itertools18peeking_take_while16PeekingTakeWhileINtNtB6_8peekable8PeekableBZ_ENCNCNCINvB1r_10componentsuINtB12_6OptionB1n_EE000EENtNtNtB8_6traits8iterator8Iterator4nextB1t_.exit.thread, label %_RNvXs_NtNtNtCs1LoaDTb72WA_4core4iter8adapters5chainINtB4_5ChainINtNtBa_6option8IntoIterRINtNtCseG2FYMysgNb_3wax5token5TokenuEEINtNtCslyFhtC9DD08_9itertools18peeking_take_while16PeekingTakeWhileINtNtB6_8peekable8PeekableBZ_ENCNCNCINvB1r_10componentsuINtB12_6OptionB1n_EE000EENtNtNtB8_6traits8iterator8Iterator4nextB1t_.exit.thread8 @@ -1135,7 +1136,7 @@ _RNvXs_NtNtNtCs1LoaDTb72WA_4core4iter8adapters5chainINtB4_5ChainINtNtBa_6option8 tail call void @llvm.experimental.noalias.scope.decl(metadata !222) %25 = load i64, ptr %1, align 8, !range !204, !alias.scope !222, !noalias !225, !noundef !4 %trunc.i = trunc nuw i64 %25 to i1 - %26 = load ptr, ptr %7, align 8, !alias.scope !222, !noalias !225, !noundef !4 + %26 = load ptr, ptr %6, align 8, !alias.scope !222, !noalias !225, !noundef !4 %27 = icmp eq ptr %26, null br i1 %trunc.i, label %29, label %28 @@ -1143,18 +1144,20 @@ _RNvXs_NtNtNtCs1LoaDTb72WA_4core4iter8adapters5chainINtB4_5ChainINtNtBa_6option8 br i1 %27, label %_RNvXs_NtNtNtCs1LoaDTb72WA_4core4iter8adapters5chainINtB4_5ChainINtNtBa_6option8IntoIterRINtNtCseG2FYMysgNb_3wax5token5TokenuEEINtNtCslyFhtC9DD08_9itertools18peeking_take_while16PeekingTakeWhileINtNtB6_8peekable8PeekableBZ_ENCNCNCINvB1r_10componentsuINtB12_6OptionB1n_EE000EENtNtNtB8_6traits8iterator8Iterator9size_hintB1t_.exit.thread, label %30 29: ; preds = %24 - %.val.i = load ptr, ptr %6, align 8, !alias.scope !222, !noalias !225, !noundef !4 + %.val.i = load ptr, ptr %5, align 8, !alias.scope !222, !noalias !225, !noundef !4 %.not = icmp eq ptr %.val.i, null br i1 %27, label %_RNvXs_NtNtNtCs1LoaDTb72WA_4core4iter8adapters5chainINtB4_5ChainINtNtBa_6option8IntoIterRINtNtCseG2FYMysgNb_3wax5token5TokenuEEINtNtCslyFhtC9DD08_9itertools18peeking_take_while16PeekingTakeWhileINtNtB6_8peekable8PeekableBZ_ENCNCNCINvB1r_10componentsuINtB12_6OptionB1n_EE000EENtNtNtB8_6traits8iterator8Iterator9size_hintB1t_.exit, label %31 30: ; preds = %28 call void @llvm.lifetime.start.p0(ptr nonnull %4), !noalias !227 + call void @llvm.assume(i1 true) [ "align"(ptr %26, i64 8) ] call void @_RNvXs_NtNtNtCs1LoaDTb72WA_4core4iter8adapters8peekableINtB4_8PeekableINtNtBa_6option8IntoIterRINtNtCseG2FYMysgNb_3wax5token5TokenuEEENtNtNtB8_6traits8iterator8Iterator9size_hintB1z_.llvm.2038835765883349039(ptr noalias noundef nonnull sret([24 x i8]) align 8 captures(none) dereferenceable(24) %4, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) %26), !noalias !227 call void @llvm.lifetime.end.p0(ptr nonnull %4), !noalias !227 br label %_RNvXs_NtNtNtCs1LoaDTb72WA_4core4iter8adapters5chainINtB4_5ChainINtNtBa_6option8IntoIterRINtNtCseG2FYMysgNb_3wax5token5TokenuEEINtNtCslyFhtC9DD08_9itertools18peeking_take_while16PeekingTakeWhileINtNtB6_8peekable8PeekableBZ_ENCNCNCINvB1r_10componentsuINtB12_6OptionB1n_EE000EENtNtNtB8_6traits8iterator8Iterator9size_hintB1t_.exit.thread 31: ; preds = %29 call void @llvm.lifetime.start.p0(ptr nonnull %3), !noalias !231 + call void @llvm.assume(i1 true) [ "align"(ptr %26, i64 8) ] call void @_RNvXs_NtNtNtCs1LoaDTb72WA_4core4iter8adapters8peekableINtB4_8PeekableINtNtBa_6option8IntoIterRINtNtCseG2FYMysgNb_3wax5token5TokenuEEENtNtNtB8_6traits8iterator8Iterator9size_hintB1z_.llvm.2038835765883349039(ptr noalias noundef nonnull sret([24 x i8]) align 8 captures(none) dereferenceable(24) %3, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) %26), !noalias !231 call void @llvm.lifetime.end.p0(ptr nonnull %3), !noalias !231 br i1 %.not, label %_RNvXs_NtNtNtCs1LoaDTb72WA_4core4iter8adapters5chainINtB4_5ChainINtNtBa_6option8IntoIterRINtNtCseG2FYMysgNb_3wax5token5TokenuEEINtNtCslyFhtC9DD08_9itertools18peeking_take_while16PeekingTakeWhileINtNtB6_8peekable8PeekableBZ_ENCNCNCINvB1r_10componentsuINtB12_6OptionB1n_EE000EENtNtNtB8_6traits8iterator8Iterator9size_hintB1t_.exit.thread, label %32 @@ -1193,9 +1196,9 @@ _RNvXs_NtNtNtCs1LoaDTb72WA_4core4iter8adapters5chainINtB4_5ChainINtNtBa_6option8 define void @_RINvMsi_NtCs68wO5nsWeTG_5alloc3vecINtB6_3VecRNtNtCseG2FYMysgNb_3wax5token5TokenE16extend_desugaredINtNtNtNtCs1LoaDTb72WA_4core4iter8adapters5chain5ChainINtNtB1H_6option8IntoIterBG_EINtNtCslyFhtC9DD08_9itertools18peeking_take_while16PeekingTakeWhileINtNtB1D_8peekable8PeekableIB3Z_INtNtNtB1H_5slice4iter4IterBH_EEENCNCNCINvBJ_10componentsTjjEB4p_E000EEEBL_(ptr noalias noundef align 8 dereferenceable(24) %0, ptr noalias noundef align 8 captures(none) dereferenceable(24) %1) unnamed_addr #0 personality ptr @rust_eh_personality { %3 = alloca [24 x i8], align 8 %4 = alloca [24 x i8], align 8 - %5 = getelementptr inbounds nuw i8, ptr %1, i64 24 - %6 = getelementptr inbounds nuw i8, ptr %1, i64 8 - %7 = getelementptr inbounds nuw i8, ptr %1, i64 16 + %5 = getelementptr inbounds nuw i8, ptr %1, i64 8 + %6 = getelementptr inbounds nuw i8, ptr %1, i64 16 + %7 = getelementptr inbounds nuw i8, ptr %1, i64 24 %8 = getelementptr inbounds nuw i8, ptr %0, i64 16 %9 = getelementptr inbounds nuw i8, ptr %0, i64 8 br label %10 @@ -1206,8 +1209,8 @@ define void @_RINvMsi_NtCs68wO5nsWeTG_5alloc3vecINtB6_3VecRNtNtCseG2FYMysgNb_3wa br i1 %trunc.i.i, label %12, label %16 12: ; preds = %10 - %13 = load ptr, ptr %6, align 8, !alias.scope !240, !align !14, !noundef !4 - store ptr null, ptr %6, align 8, !alias.scope !240 + %13 = load ptr, ptr %5, align 8, !alias.scope !240, !align !14, !noundef !4 + store ptr null, ptr %5, align 8, !alias.scope !240 %14 = icmp eq ptr %13, null br i1 %14, label %15, label %_RNvXs_NtNtNtCs1LoaDTb72WA_4core4iter8adapters5chainINtB4_5ChainINtNtBa_6option8IntoIterRNtNtCseG2FYMysgNb_3wax5token5TokenEINtNtCslyFhtC9DD08_9itertools18peeking_take_while16PeekingTakeWhileINtNtB6_8peekable8PeekableIB33_INtNtNtBa_5slice4iter4IterB1o_EEENCNCNCINvB1q_10componentsTjjEB3s_E000EENtNtNtB8_6traits8iterator8Iterator4nextB1s_.exit.thread8 @@ -1216,12 +1219,13 @@ define void @_RINvMsi_NtCs68wO5nsWeTG_5alloc3vecINtB6_3VecRNtNtCseG2FYMysgNb_3wa br label %16 16: ; preds = %15, %10 - %17 = load ptr, ptr %7, align 8, !alias.scope !245, !noalias !250, !noundef !4 + %17 = load ptr, ptr %6, align 8, !alias.scope !245, !noalias !250, !noundef !4 %18 = icmp eq ptr %17, null br i1 %18, label %_RNvXs_NtNtNtCs1LoaDTb72WA_4core4iter8adapters5chainINtB4_5ChainINtNtBa_6option8IntoIterRNtNtCseG2FYMysgNb_3wax5token5TokenEINtNtCslyFhtC9DD08_9itertools18peeking_take_while16PeekingTakeWhileINtNtB6_8peekable8PeekableIB33_INtNtNtBa_5slice4iter4IterB1o_EEENCNCNCINvB1q_10componentsTjjEB3s_E000EENtNtNtB8_6traits8iterator8Iterator4nextB1s_.exit.thread, label %_RNvXs_NtNtNtCs1LoaDTb72WA_4core4iter8adapters5chainINtB4_5ChainINtNtBa_6option8IntoIterRNtNtCseG2FYMysgNb_3wax5token5TokenEINtNtCslyFhtC9DD08_9itertools18peeking_take_while16PeekingTakeWhileINtNtB6_8peekable8PeekableIB33_INtNtNtBa_5slice4iter4IterB1o_EEENCNCNCINvB1q_10componentsTjjEB3s_E000EENtNtNtB8_6traits8iterator8Iterator4nextB1s_.exit _RNvXs_NtNtNtCs1LoaDTb72WA_4core4iter8adapters5chainINtB4_5ChainINtNtBa_6option8IntoIterRNtNtCseG2FYMysgNb_3wax5token5TokenEINtNtCslyFhtC9DD08_9itertools18peeking_take_while16PeekingTakeWhileINtNtB6_8peekable8PeekableIB33_INtNtNtBa_5slice4iter4IterB1o_EEENCNCNCINvB1q_10componentsTjjEB3s_E000EENtNtNtB8_6traits8iterator8Iterator4nextB1s_.exit: ; preds = %16 - %19 = tail call noundef align 8 dereferenceable_or_null(64) ptr @_RINvXs_NtCslyFhtC9DD08_9itertools18peeking_take_whileINtNtNtNtCs1LoaDTb72WA_4core4iter8adapters8peekable8PeekableIBQ_INtNtNtBY_5slice4iter4IterNtNtCseG2FYMysgNb_3wax5token5TokenEEENtB5_11PeekingNext12peeking_nextQNCNCNCINvB2j_10componentsTjjEB1N_E000EB2l_(ptr noalias noundef nonnull align 8 dereferenceable(48) %17, ptr noalias noundef nonnull align 1 %5), !noalias !250 + call void @llvm.assume(i1 true) [ "align"(ptr %17, i64 8) ] + %19 = tail call noundef align 8 dereferenceable_or_null(64) ptr @_RINvXs_NtCslyFhtC9DD08_9itertools18peeking_take_whileINtNtNtNtCs1LoaDTb72WA_4core4iter8adapters8peekable8PeekableIBQ_INtNtNtBY_5slice4iter4IterNtNtCseG2FYMysgNb_3wax5token5TokenEEENtB5_11PeekingNext12peeking_nextQNCNCNCINvB2j_10componentsTjjEB1N_E000EB2l_(ptr noalias noundef nonnull align 8 dereferenceable(48) %17, ptr noalias noundef nonnull align 1 %7), !noalias !250 %20 = icmp eq ptr %19, null br i1 %20, label %_RNvXs_NtNtNtCs1LoaDTb72WA_4core4iter8adapters5chainINtB4_5ChainINtNtBa_6option8IntoIterRNtNtCseG2FYMysgNb_3wax5token5TokenEINtNtCslyFhtC9DD08_9itertools18peeking_take_while16PeekingTakeWhileINtNtB6_8peekable8PeekableIB33_INtNtNtBa_5slice4iter4IterB1o_EEENCNCNCINvB1q_10componentsTjjEB3s_E000EENtNtNtB8_6traits8iterator8Iterator4nextB1s_.exit.thread, label %_RNvXs_NtNtNtCs1LoaDTb72WA_4core4iter8adapters5chainINtB4_5ChainINtNtBa_6option8IntoIterRNtNtCseG2FYMysgNb_3wax5token5TokenEINtNtCslyFhtC9DD08_9itertools18peeking_take_while16PeekingTakeWhileINtNtB6_8peekable8PeekableIB33_INtNtNtBa_5slice4iter4IterB1o_EEENCNCNCINvB1q_10componentsTjjEB3s_E000EENtNtNtB8_6traits8iterator8Iterator4nextB1s_.exit.thread8 @@ -1236,7 +1240,7 @@ _RNvXs_NtNtNtCs1LoaDTb72WA_4core4iter8adapters5chainINtB4_5ChainINtNtBa_6option8 tail call void @llvm.experimental.noalias.scope.decl(metadata !252) %25 = load i64, ptr %1, align 8, !range !204, !alias.scope !252, !noalias !255, !noundef !4 %trunc.i = trunc nuw i64 %25 to i1 - %26 = load ptr, ptr %7, align 8, !alias.scope !252, !noalias !255, !noundef !4 + %26 = load ptr, ptr %6, align 8, !alias.scope !252, !noalias !255, !noundef !4 %27 = icmp eq ptr %26, null br i1 %trunc.i, label %29, label %28 @@ -1244,18 +1248,20 @@ _RNvXs_NtNtNtCs1LoaDTb72WA_4core4iter8adapters5chainINtB4_5ChainINtNtBa_6option8 br i1 %27, label %_RNvXs_NtNtNtCs1LoaDTb72WA_4core4iter8adapters5chainINtB4_5ChainINtNtBa_6option8IntoIterRNtNtCseG2FYMysgNb_3wax5token5TokenEINtNtCslyFhtC9DD08_9itertools18peeking_take_while16PeekingTakeWhileINtNtB6_8peekable8PeekableIB33_INtNtNtBa_5slice4iter4IterB1o_EEENCNCNCINvB1q_10componentsTjjEB3s_E000EENtNtNtB8_6traits8iterator8Iterator9size_hintB1s_.exit.thread, label %30 29: ; preds = %24 - %.val.i = load ptr, ptr %6, align 8, !alias.scope !252, !noalias !255, !noundef !4 + %.val.i = load ptr, ptr %5, align 8, !alias.scope !252, !noalias !255, !noundef !4 %.not = icmp eq ptr %.val.i, null br i1 %27, label %_RNvXs_NtNtNtCs1LoaDTb72WA_4core4iter8adapters5chainINtB4_5ChainINtNtBa_6option8IntoIterRNtNtCseG2FYMysgNb_3wax5token5TokenEINtNtCslyFhtC9DD08_9itertools18peeking_take_while16PeekingTakeWhileINtNtB6_8peekable8PeekableIB33_INtNtNtBa_5slice4iter4IterB1o_EEENCNCNCINvB1q_10componentsTjjEB3s_E000EENtNtNtB8_6traits8iterator8Iterator9size_hintB1s_.exit, label %31 30: ; preds = %28 call void @llvm.lifetime.start.p0(ptr nonnull %4), !noalias !257 + call void @llvm.assume(i1 true) [ "align"(ptr %26, i64 8) ] call void @_RNvXs_NtNtNtCs1LoaDTb72WA_4core4iter8adapters8peekableINtB4_8PeekableIBR_INtNtNtBa_5slice4iter4IterNtNtCseG2FYMysgNb_3wax5token5TokenEEENtNtNtB8_6traits8iterator8Iterator9size_hintB1D_.llvm.2038835765883349039(ptr noalias noundef nonnull sret([24 x i8]) align 8 captures(none) dereferenceable(24) %4, ptr noalias noundef nonnull readonly align 8 dereferenceable(48) %26), !noalias !257 call void @llvm.lifetime.end.p0(ptr nonnull %4), !noalias !257 br label %_RNvXs_NtNtNtCs1LoaDTb72WA_4core4iter8adapters5chainINtB4_5ChainINtNtBa_6option8IntoIterRNtNtCseG2FYMysgNb_3wax5token5TokenEINtNtCslyFhtC9DD08_9itertools18peeking_take_while16PeekingTakeWhileINtNtB6_8peekable8PeekableIB33_INtNtNtBa_5slice4iter4IterB1o_EEENCNCNCINvB1q_10componentsTjjEB3s_E000EENtNtNtB8_6traits8iterator8Iterator9size_hintB1s_.exit.thread 31: ; preds = %29 call void @llvm.lifetime.start.p0(ptr nonnull %3), !noalias !261 + call void @llvm.assume(i1 true) [ "align"(ptr %26, i64 8) ] call void @_RNvXs_NtNtNtCs1LoaDTb72WA_4core4iter8adapters8peekableINtB4_8PeekableIBR_INtNtNtBa_5slice4iter4IterNtNtCseG2FYMysgNb_3wax5token5TokenEEENtNtNtB8_6traits8iterator8Iterator9size_hintB1D_.llvm.2038835765883349039(ptr noalias noundef nonnull sret([24 x i8]) align 8 captures(none) dereferenceable(24) %3, ptr noalias noundef nonnull readonly align 8 dereferenceable(48) %26), !noalias !261 call void @llvm.lifetime.end.p0(ptr nonnull %3), !noalias !261 br i1 %.not, label %_RNvXs_NtNtNtCs1LoaDTb72WA_4core4iter8adapters5chainINtB4_5ChainINtNtBa_6option8IntoIterRNtNtCseG2FYMysgNb_3wax5token5TokenEINtNtCslyFhtC9DD08_9itertools18peeking_take_while16PeekingTakeWhileINtNtB6_8peekable8PeekableIB33_INtNtNtBa_5slice4iter4IterB1o_EEENCNCNCINvB1q_10componentsTjjEB3s_E000EENtNtNtB8_6traits8iterator8Iterator9size_hintB1s_.exit.thread, label %32 @@ -1294,9 +1300,9 @@ _RNvXs_NtNtNtCs1LoaDTb72WA_4core4iter8adapters5chainINtB4_5ChainINtNtBa_6option8 define void @_RINvMsi_NtCs68wO5nsWeTG_5alloc3vecINtB6_3VecRNtNtCseG2FYMysgNb_3wax5token5TokenE16extend_desugaredINtNtNtNtCs1LoaDTb72WA_4core4iter8adapters5chain5ChainINtNtB1H_6option8IntoIterBG_EINtNtCslyFhtC9DD08_9itertools18peeking_take_while16PeekingTakeWhileINtNtB1D_8peekable8PeekableINtNtNtB1H_5slice4iter4IterBH_EENCNCNCINvBJ_10componentsTjjERIBx_BH_EE000EEEBL_(ptr noalias noundef align 8 dereferenceable(24) %0, ptr noalias noundef align 8 captures(none) dereferenceable(24) %1) unnamed_addr #0 personality ptr @rust_eh_personality { %3 = alloca [24 x i8], align 8 %4 = alloca [24 x i8], align 8 - %5 = getelementptr inbounds nuw i8, ptr %1, i64 24 - %6 = getelementptr inbounds nuw i8, ptr %1, i64 8 - %7 = getelementptr inbounds nuw i8, ptr %1, i64 16 + %5 = getelementptr inbounds nuw i8, ptr %1, i64 8 + %6 = getelementptr inbounds nuw i8, ptr %1, i64 16 + %7 = getelementptr inbounds nuw i8, ptr %1, i64 24 %8 = getelementptr inbounds nuw i8, ptr %0, i64 16 %9 = getelementptr inbounds nuw i8, ptr %0, i64 8 br label %10 @@ -1307,8 +1313,8 @@ define void @_RINvMsi_NtCs68wO5nsWeTG_5alloc3vecINtB6_3VecRNtNtCseG2FYMysgNb_3wa br i1 %trunc.i.i, label %12, label %16 12: ; preds = %10 - %13 = load ptr, ptr %6, align 8, !alias.scope !270, !align !14, !noundef !4 - store ptr null, ptr %6, align 8, !alias.scope !270 + %13 = load ptr, ptr %5, align 8, !alias.scope !270, !align !14, !noundef !4 + store ptr null, ptr %5, align 8, !alias.scope !270 %14 = icmp eq ptr %13, null br i1 %14, label %15, label %_RNvXs_NtNtNtCs1LoaDTb72WA_4core4iter8adapters5chainINtB4_5ChainINtNtBa_6option8IntoIterRNtNtCseG2FYMysgNb_3wax5token5TokenEINtNtCslyFhtC9DD08_9itertools18peeking_take_while16PeekingTakeWhileINtNtB6_8peekable8PeekableINtNtNtBa_5slice4iter4IterB1o_EENCNCNCINvB1q_10componentsTjjERINtNtCs68wO5nsWeTG_5alloc3vec3VecB1o_EE000EENtNtNtB8_6traits8iterator8Iterator4nextB1s_.exit.thread8 @@ -1317,12 +1323,13 @@ define void @_RINvMsi_NtCs68wO5nsWeTG_5alloc3vecINtB6_3VecRNtNtCseG2FYMysgNb_3wa br label %16 16: ; preds = %15, %10 - %17 = load ptr, ptr %7, align 8, !alias.scope !275, !noalias !280, !noundef !4 + %17 = load ptr, ptr %6, align 8, !alias.scope !275, !noalias !280, !noundef !4 %18 = icmp eq ptr %17, null br i1 %18, label %_RNvXs_NtNtNtCs1LoaDTb72WA_4core4iter8adapters5chainINtB4_5ChainINtNtBa_6option8IntoIterRNtNtCseG2FYMysgNb_3wax5token5TokenEINtNtCslyFhtC9DD08_9itertools18peeking_take_while16PeekingTakeWhileINtNtB6_8peekable8PeekableINtNtNtBa_5slice4iter4IterB1o_EENCNCNCINvB1q_10componentsTjjERINtNtCs68wO5nsWeTG_5alloc3vec3VecB1o_EE000EENtNtNtB8_6traits8iterator8Iterator4nextB1s_.exit.thread, label %_RNvXs_NtNtNtCs1LoaDTb72WA_4core4iter8adapters5chainINtB4_5ChainINtNtBa_6option8IntoIterRNtNtCseG2FYMysgNb_3wax5token5TokenEINtNtCslyFhtC9DD08_9itertools18peeking_take_while16PeekingTakeWhileINtNtB6_8peekable8PeekableINtNtNtBa_5slice4iter4IterB1o_EENCNCNCINvB1q_10componentsTjjERINtNtCs68wO5nsWeTG_5alloc3vec3VecB1o_EE000EENtNtNtB8_6traits8iterator8Iterator4nextB1s_.exit _RNvXs_NtNtNtCs1LoaDTb72WA_4core4iter8adapters5chainINtB4_5ChainINtNtBa_6option8IntoIterRNtNtCseG2FYMysgNb_3wax5token5TokenEINtNtCslyFhtC9DD08_9itertools18peeking_take_while16PeekingTakeWhileINtNtB6_8peekable8PeekableINtNtNtBa_5slice4iter4IterB1o_EENCNCNCINvB1q_10componentsTjjERINtNtCs68wO5nsWeTG_5alloc3vec3VecB1o_EE000EENtNtNtB8_6traits8iterator8Iterator4nextB1s_.exit: ; preds = %16 - %19 = tail call noundef align 8 dereferenceable_or_null(64) ptr @_RINvXs_NtCslyFhtC9DD08_9itertools18peeking_take_whileINtNtNtNtCs1LoaDTb72WA_4core4iter8adapters8peekable8PeekableINtNtNtBY_5slice4iter4IterNtNtCseG2FYMysgNb_3wax5token5TokenEENtB5_11PeekingNext12peeking_nextQNCNCNCINvB2f_10componentsTjjERINtNtCs68wO5nsWeTG_5alloc3vec3VecB2d_EE000EB2h_(ptr noalias noundef nonnull align 8 dereferenceable(32) %17, ptr noalias noundef nonnull align 1 %5), !noalias !280 + call void @llvm.assume(i1 true) [ "align"(ptr %17, i64 8) ] + %19 = tail call noundef align 8 dereferenceable_or_null(64) ptr @_RINvXs_NtCslyFhtC9DD08_9itertools18peeking_take_whileINtNtNtNtCs1LoaDTb72WA_4core4iter8adapters8peekable8PeekableINtNtNtBY_5slice4iter4IterNtNtCseG2FYMysgNb_3wax5token5TokenEENtB5_11PeekingNext12peeking_nextQNCNCNCINvB2f_10componentsTjjERINtNtCs68wO5nsWeTG_5alloc3vec3VecB2d_EE000EB2h_(ptr noalias noundef nonnull align 8 dereferenceable(32) %17, ptr noalias noundef nonnull align 1 %7), !noalias !280 %20 = icmp eq ptr %19, null br i1 %20, label %_RNvXs_NtNtNtCs1LoaDTb72WA_4core4iter8adapters5chainINtB4_5ChainINtNtBa_6option8IntoIterRNtNtCseG2FYMysgNb_3wax5token5TokenEINtNtCslyFhtC9DD08_9itertools18peeking_take_while16PeekingTakeWhileINtNtB6_8peekable8PeekableINtNtNtBa_5slice4iter4IterB1o_EENCNCNCINvB1q_10componentsTjjERINtNtCs68wO5nsWeTG_5alloc3vec3VecB1o_EE000EENtNtNtB8_6traits8iterator8Iterator4nextB1s_.exit.thread, label %_RNvXs_NtNtNtCs1LoaDTb72WA_4core4iter8adapters5chainINtB4_5ChainINtNtBa_6option8IntoIterRNtNtCseG2FYMysgNb_3wax5token5TokenEINtNtCslyFhtC9DD08_9itertools18peeking_take_while16PeekingTakeWhileINtNtB6_8peekable8PeekableINtNtNtBa_5slice4iter4IterB1o_EENCNCNCINvB1q_10componentsTjjERINtNtCs68wO5nsWeTG_5alloc3vec3VecB1o_EE000EENtNtNtB8_6traits8iterator8Iterator4nextB1s_.exit.thread8 @@ -1337,7 +1344,7 @@ _RNvXs_NtNtNtCs1LoaDTb72WA_4core4iter8adapters5chainINtB4_5ChainINtNtBa_6option8 tail call void @llvm.experimental.noalias.scope.decl(metadata !282) %25 = load i64, ptr %1, align 8, !range !204, !alias.scope !282, !noalias !285, !noundef !4 %trunc.i = trunc nuw i64 %25 to i1 - %26 = load ptr, ptr %7, align 8, !alias.scope !282, !noalias !285, !noundef !4 + %26 = load ptr, ptr %6, align 8, !alias.scope !282, !noalias !285, !noundef !4 %27 = icmp eq ptr %26, null br i1 %trunc.i, label %29, label %28 @@ -1345,18 +1352,20 @@ _RNvXs_NtNtNtCs1LoaDTb72WA_4core4iter8adapters5chainINtB4_5ChainINtNtBa_6option8 br i1 %27, label %_RNvXs_NtNtNtCs1LoaDTb72WA_4core4iter8adapters5chainINtB4_5ChainINtNtBa_6option8IntoIterRNtNtCseG2FYMysgNb_3wax5token5TokenEINtNtCslyFhtC9DD08_9itertools18peeking_take_while16PeekingTakeWhileINtNtB6_8peekable8PeekableINtNtNtBa_5slice4iter4IterB1o_EENCNCNCINvB1q_10componentsTjjERINtNtCs68wO5nsWeTG_5alloc3vec3VecB1o_EE000EENtNtNtB8_6traits8iterator8Iterator9size_hintB1s_.exit.thread, label %30 29: ; preds = %24 - %.val.i = load ptr, ptr %6, align 8, !alias.scope !282, !noalias !285, !noundef !4 + %.val.i = load ptr, ptr %5, align 8, !alias.scope !282, !noalias !285, !noundef !4 %.not = icmp eq ptr %.val.i, null br i1 %27, label %_RNvXs_NtNtNtCs1LoaDTb72WA_4core4iter8adapters5chainINtB4_5ChainINtNtBa_6option8IntoIterRNtNtCseG2FYMysgNb_3wax5token5TokenEINtNtCslyFhtC9DD08_9itertools18peeking_take_while16PeekingTakeWhileINtNtB6_8peekable8PeekableINtNtNtBa_5slice4iter4IterB1o_EENCNCNCINvB1q_10componentsTjjERINtNtCs68wO5nsWeTG_5alloc3vec3VecB1o_EE000EENtNtNtB8_6traits8iterator8Iterator9size_hintB1s_.exit, label %31 30: ; preds = %28 call void @llvm.lifetime.start.p0(ptr nonnull %4), !noalias !287 + call void @llvm.assume(i1 true) [ "align"(ptr %26, i64 8) ] call void @_RNvXs_NtNtNtCs1LoaDTb72WA_4core4iter8adapters8peekableINtB4_8PeekableINtNtNtBa_5slice4iter4IterNtNtCseG2FYMysgNb_3wax5token5TokenEENtNtNtB8_6traits8iterator8Iterator9size_hintB1z_.llvm.2038835765883349039(ptr noalias noundef nonnull sret([24 x i8]) align 8 captures(none) dereferenceable(24) %4, ptr noalias noundef nonnull readonly align 8 dereferenceable(32) %26), !noalias !287 call void @llvm.lifetime.end.p0(ptr nonnull %4), !noalias !287 br label %_RNvXs_NtNtNtCs1LoaDTb72WA_4core4iter8adapters5chainINtB4_5ChainINtNtBa_6option8IntoIterRNtNtCseG2FYMysgNb_3wax5token5TokenEINtNtCslyFhtC9DD08_9itertools18peeking_take_while16PeekingTakeWhileINtNtB6_8peekable8PeekableINtNtNtBa_5slice4iter4IterB1o_EENCNCNCINvB1q_10componentsTjjERINtNtCs68wO5nsWeTG_5alloc3vec3VecB1o_EE000EENtNtNtB8_6traits8iterator8Iterator9size_hintB1s_.exit.thread 31: ; preds = %29 call void @llvm.lifetime.start.p0(ptr nonnull %3), !noalias !291 + call void @llvm.assume(i1 true) [ "align"(ptr %26, i64 8) ] call void @_RNvXs_NtNtNtCs1LoaDTb72WA_4core4iter8adapters8peekableINtB4_8PeekableINtNtNtBa_5slice4iter4IterNtNtCseG2FYMysgNb_3wax5token5TokenEENtNtNtB8_6traits8iterator8Iterator9size_hintB1z_.llvm.2038835765883349039(ptr noalias noundef nonnull sret([24 x i8]) align 8 captures(none) dereferenceable(24) %3, ptr noalias noundef nonnull readonly align 8 dereferenceable(32) %26), !noalias !291 call void @llvm.lifetime.end.p0(ptr nonnull %3), !noalias !291 br i1 %.not, label %_RNvXs_NtNtNtCs1LoaDTb72WA_4core4iter8adapters5chainINtB4_5ChainINtNtBa_6option8IntoIterRNtNtCseG2FYMysgNb_3wax5token5TokenEINtNtCslyFhtC9DD08_9itertools18peeking_take_while16PeekingTakeWhileINtNtB6_8peekable8PeekableINtNtNtBa_5slice4iter4IterB1o_EENCNCNCINvB1q_10componentsTjjERINtNtCs68wO5nsWeTG_5alloc3vec3VecB1o_EE000EENtNtNtB8_6traits8iterator8Iterator9size_hintB1s_.exit.thread, label %32 @@ -1395,9 +1404,9 @@ _RNvXs_NtNtNtCs1LoaDTb72WA_4core4iter8adapters5chainINtB4_5ChainINtNtBa_6option8 define void @_RINvMsi_NtCs68wO5nsWeTG_5alloc3vecINtB6_3VecRNtNtCseG2FYMysgNb_3wax5token5TokenE16extend_desugaredINtNtNtNtCs1LoaDTb72WA_4core4iter8adapters5chain5ChainINtNtB1H_6option8IntoIterBG_EINtNtCslyFhtC9DD08_9itertools18peeking_take_while16PeekingTakeWhileINtNtB1D_8peekable8PeekableINtNtNtB1H_5slice4iter4IterBH_EENCNCNCINvBJ_10componentsTjjERSBH_E000EEEBL_(ptr noalias noundef align 8 dereferenceable(24) %0, ptr noalias noundef align 8 captures(none) dereferenceable(24) %1) unnamed_addr #0 personality ptr @rust_eh_personality { %3 = alloca [24 x i8], align 8 %4 = alloca [24 x i8], align 8 - %5 = getelementptr inbounds nuw i8, ptr %1, i64 24 - %6 = getelementptr inbounds nuw i8, ptr %1, i64 8 - %7 = getelementptr inbounds nuw i8, ptr %1, i64 16 + %5 = getelementptr inbounds nuw i8, ptr %1, i64 8 + %6 = getelementptr inbounds nuw i8, ptr %1, i64 16 + %7 = getelementptr inbounds nuw i8, ptr %1, i64 24 %8 = getelementptr inbounds nuw i8, ptr %0, i64 16 %9 = getelementptr inbounds nuw i8, ptr %0, i64 8 br label %10 @@ -1408,8 +1417,8 @@ define void @_RINvMsi_NtCs68wO5nsWeTG_5alloc3vecINtB6_3VecRNtNtCseG2FYMysgNb_3wa br i1 %trunc.i.i, label %12, label %16 12: ; preds = %10 - %13 = load ptr, ptr %6, align 8, !alias.scope !300, !align !14, !noundef !4 - store ptr null, ptr %6, align 8, !alias.scope !300 + %13 = load ptr, ptr %5, align 8, !alias.scope !300, !align !14, !noundef !4 + store ptr null, ptr %5, align 8, !alias.scope !300 %14 = icmp eq ptr %13, null br i1 %14, label %15, label %_RNvXs_NtNtNtCs1LoaDTb72WA_4core4iter8adapters5chainINtB4_5ChainINtNtBa_6option8IntoIterRNtNtCseG2FYMysgNb_3wax5token5TokenEINtNtCslyFhtC9DD08_9itertools18peeking_take_while16PeekingTakeWhileINtNtB6_8peekable8PeekableINtNtNtBa_5slice4iter4IterB1o_EENCNCNCINvB1q_10componentsTjjERSB1o_E000EENtNtNtB8_6traits8iterator8Iterator4nextB1s_.exit.thread8 @@ -1418,12 +1427,13 @@ define void @_RINvMsi_NtCs68wO5nsWeTG_5alloc3vecINtB6_3VecRNtNtCseG2FYMysgNb_3wa br label %16 16: ; preds = %15, %10 - %17 = load ptr, ptr %7, align 8, !alias.scope !305, !noalias !310, !noundef !4 + %17 = load ptr, ptr %6, align 8, !alias.scope !305, !noalias !310, !noundef !4 %18 = icmp eq ptr %17, null br i1 %18, label %_RNvXs_NtNtNtCs1LoaDTb72WA_4core4iter8adapters5chainINtB4_5ChainINtNtBa_6option8IntoIterRNtNtCseG2FYMysgNb_3wax5token5TokenEINtNtCslyFhtC9DD08_9itertools18peeking_take_while16PeekingTakeWhileINtNtB6_8peekable8PeekableINtNtNtBa_5slice4iter4IterB1o_EENCNCNCINvB1q_10componentsTjjERSB1o_E000EENtNtNtB8_6traits8iterator8Iterator4nextB1s_.exit.thread, label %_RNvXs_NtNtNtCs1LoaDTb72WA_4core4iter8adapters5chainINtB4_5ChainINtNtBa_6option8IntoIterRNtNtCseG2FYMysgNb_3wax5token5TokenEINtNtCslyFhtC9DD08_9itertools18peeking_take_while16PeekingTakeWhileINtNtB6_8peekable8PeekableINtNtNtBa_5slice4iter4IterB1o_EENCNCNCINvB1q_10componentsTjjERSB1o_E000EENtNtNtB8_6traits8iterator8Iterator4nextB1s_.exit _RNvXs_NtNtNtCs1LoaDTb72WA_4core4iter8adapters5chainINtB4_5ChainINtNtBa_6option8IntoIterRNtNtCseG2FYMysgNb_3wax5token5TokenEINtNtCslyFhtC9DD08_9itertools18peeking_take_while16PeekingTakeWhileINtNtB6_8peekable8PeekableINtNtNtBa_5slice4iter4IterB1o_EENCNCNCINvB1q_10componentsTjjERSB1o_E000EENtNtNtB8_6traits8iterator8Iterator4nextB1s_.exit: ; preds = %16 - %19 = tail call noundef align 8 dereferenceable_or_null(64) ptr @_RINvXs_NtCslyFhtC9DD08_9itertools18peeking_take_whileINtNtNtNtCs1LoaDTb72WA_4core4iter8adapters8peekable8PeekableINtNtNtBY_5slice4iter4IterNtNtCseG2FYMysgNb_3wax5token5TokenEENtB5_11PeekingNext12peeking_nextQNCNCNCINvB2f_10componentsTjjERSB2d_E000EB2h_(ptr noalias noundef nonnull align 8 dereferenceable(32) %17, ptr noalias noundef nonnull align 1 %5), !noalias !310 + call void @llvm.assume(i1 true) [ "align"(ptr %17, i64 8) ] + %19 = tail call noundef align 8 dereferenceable_or_null(64) ptr @_RINvXs_NtCslyFhtC9DD08_9itertools18peeking_take_whileINtNtNtNtCs1LoaDTb72WA_4core4iter8adapters8peekable8PeekableINtNtNtBY_5slice4iter4IterNtNtCseG2FYMysgNb_3wax5token5TokenEENtB5_11PeekingNext12peeking_nextQNCNCNCINvB2f_10componentsTjjERSB2d_E000EB2h_(ptr noalias noundef nonnull align 8 dereferenceable(32) %17, ptr noalias noundef nonnull align 1 %7), !noalias !310 %20 = icmp eq ptr %19, null br i1 %20, label %_RNvXs_NtNtNtCs1LoaDTb72WA_4core4iter8adapters5chainINtB4_5ChainINtNtBa_6option8IntoIterRNtNtCseG2FYMysgNb_3wax5token5TokenEINtNtCslyFhtC9DD08_9itertools18peeking_take_while16PeekingTakeWhileINtNtB6_8peekable8PeekableINtNtNtBa_5slice4iter4IterB1o_EENCNCNCINvB1q_10componentsTjjERSB1o_E000EENtNtNtB8_6traits8iterator8Iterator4nextB1s_.exit.thread, label %_RNvXs_NtNtNtCs1LoaDTb72WA_4core4iter8adapters5chainINtB4_5ChainINtNtBa_6option8IntoIterRNtNtCseG2FYMysgNb_3wax5token5TokenEINtNtCslyFhtC9DD08_9itertools18peeking_take_while16PeekingTakeWhileINtNtB6_8peekable8PeekableINtNtNtBa_5slice4iter4IterB1o_EENCNCNCINvB1q_10componentsTjjERSB1o_E000EENtNtNtB8_6traits8iterator8Iterator4nextB1s_.exit.thread8 @@ -1438,7 +1448,7 @@ _RNvXs_NtNtNtCs1LoaDTb72WA_4core4iter8adapters5chainINtB4_5ChainINtNtBa_6option8 tail call void @llvm.experimental.noalias.scope.decl(metadata !312) %25 = load i64, ptr %1, align 8, !range !204, !alias.scope !312, !noalias !315, !noundef !4 %trunc.i = trunc nuw i64 %25 to i1 - %26 = load ptr, ptr %7, align 8, !alias.scope !312, !noalias !315, !noundef !4 + %26 = load ptr, ptr %6, align 8, !alias.scope !312, !noalias !315, !noundef !4 %27 = icmp eq ptr %26, null br i1 %trunc.i, label %29, label %28 @@ -1446,18 +1456,20 @@ _RNvXs_NtNtNtCs1LoaDTb72WA_4core4iter8adapters5chainINtB4_5ChainINtNtBa_6option8 br i1 %27, label %_RNvXs_NtNtNtCs1LoaDTb72WA_4core4iter8adapters5chainINtB4_5ChainINtNtBa_6option8IntoIterRNtNtCseG2FYMysgNb_3wax5token5TokenEINtNtCslyFhtC9DD08_9itertools18peeking_take_while16PeekingTakeWhileINtNtB6_8peekable8PeekableINtNtNtBa_5slice4iter4IterB1o_EENCNCNCINvB1q_10componentsTjjERSB1o_E000EENtNtNtB8_6traits8iterator8Iterator9size_hintB1s_.exit.thread, label %30 29: ; preds = %24 - %.val.i = load ptr, ptr %6, align 8, !alias.scope !312, !noalias !315, !noundef !4 + %.val.i = load ptr, ptr %5, align 8, !alias.scope !312, !noalias !315, !noundef !4 %.not = icmp eq ptr %.val.i, null br i1 %27, label %_RNvXs_NtNtNtCs1LoaDTb72WA_4core4iter8adapters5chainINtB4_5ChainINtNtBa_6option8IntoIterRNtNtCseG2FYMysgNb_3wax5token5TokenEINtNtCslyFhtC9DD08_9itertools18peeking_take_while16PeekingTakeWhileINtNtB6_8peekable8PeekableINtNtNtBa_5slice4iter4IterB1o_EENCNCNCINvB1q_10componentsTjjERSB1o_E000EENtNtNtB8_6traits8iterator8Iterator9size_hintB1s_.exit, label %31 30: ; preds = %28 call void @llvm.lifetime.start.p0(ptr nonnull %4), !noalias !317 + call void @llvm.assume(i1 true) [ "align"(ptr %26, i64 8) ] call void @_RNvXs_NtNtNtCs1LoaDTb72WA_4core4iter8adapters8peekableINtB4_8PeekableINtNtNtBa_5slice4iter4IterNtNtCseG2FYMysgNb_3wax5token5TokenEENtNtNtB8_6traits8iterator8Iterator9size_hintB1z_.llvm.2038835765883349039(ptr noalias noundef nonnull sret([24 x i8]) align 8 captures(none) dereferenceable(24) %4, ptr noalias noundef nonnull readonly align 8 dereferenceable(32) %26), !noalias !317 call void @llvm.lifetime.end.p0(ptr nonnull %4), !noalias !317 br label %_RNvXs_NtNtNtCs1LoaDTb72WA_4core4iter8adapters5chainINtB4_5ChainINtNtBa_6option8IntoIterRNtNtCseG2FYMysgNb_3wax5token5TokenEINtNtCslyFhtC9DD08_9itertools18peeking_take_while16PeekingTakeWhileINtNtB6_8peekable8PeekableINtNtNtBa_5slice4iter4IterB1o_EENCNCNCINvB1q_10componentsTjjERSB1o_E000EENtNtNtB8_6traits8iterator8Iterator9size_hintB1s_.exit.thread 31: ; preds = %29 call void @llvm.lifetime.start.p0(ptr nonnull %3), !noalias !321 + call void @llvm.assume(i1 true) [ "align"(ptr %26, i64 8) ] call void @_RNvXs_NtNtNtCs1LoaDTb72WA_4core4iter8adapters8peekableINtB4_8PeekableINtNtNtBa_5slice4iter4IterNtNtCseG2FYMysgNb_3wax5token5TokenEENtNtNtB8_6traits8iterator8Iterator9size_hintB1z_.llvm.2038835765883349039(ptr noalias noundef nonnull sret([24 x i8]) align 8 captures(none) dereferenceable(24) %3, ptr noalias noundef nonnull readonly align 8 dereferenceable(32) %26), !noalias !321 call void @llvm.lifetime.end.p0(ptr nonnull %3), !noalias !321 br i1 %.not, label %_RNvXs_NtNtNtCs1LoaDTb72WA_4core4iter8adapters5chainINtB4_5ChainINtNtBa_6option8IntoIterRNtNtCseG2FYMysgNb_3wax5token5TokenEINtNtCslyFhtC9DD08_9itertools18peeking_take_while16PeekingTakeWhileINtNtB6_8peekable8PeekableINtNtNtBa_5slice4iter4IterB1o_EENCNCNCINvB1q_10componentsTjjERSB1o_E000EENtNtNtB8_6traits8iterator8Iterator9size_hintB1s_.exit.thread, label %32 @@ -3607,6 +3619,7 @@ _RNvXs_NtNtNtCs1LoaDTb72WA_4core4iter8adapters5chainINtB4_5ChainINtNtBa_6option8 br i1 %20, label %_RNvXs_NtNtNtCs1LoaDTb72WA_4core4iter8adapters5chainINtB4_5ChainINtNtBa_6option8IntoIterRINtNtCseG2FYMysgNb_3wax5token5TokenuEEINtNtCslyFhtC9DD08_9itertools18peeking_take_while16PeekingTakeWhileINtNtB6_8peekable8PeekableBZ_ENCNCNCINvB1r_10componentsuINtB12_6OptionB1n_EE000EENtNtNtB8_6traits8iterator8Iterator4nextB1t_.exit.thread, label %_RNvXs_NtNtNtCs1LoaDTb72WA_4core4iter8adapters5chainINtB4_5ChainINtNtBa_6option8IntoIterRINtNtCseG2FYMysgNb_3wax5token5TokenuEEINtNtCslyFhtC9DD08_9itertools18peeking_take_while16PeekingTakeWhileINtNtB6_8peekable8PeekableBZ_ENCNCNCINvB1r_10componentsuINtB12_6OptionB1n_EE000EENtNtNtB8_6traits8iterator8Iterator4nextB1t_.exit _RNvXs_NtNtNtCs1LoaDTb72WA_4core4iter8adapters5chainINtB4_5ChainINtNtBa_6option8IntoIterRINtNtCseG2FYMysgNb_3wax5token5TokenuEEINtNtCslyFhtC9DD08_9itertools18peeking_take_while16PeekingTakeWhileINtNtB6_8peekable8PeekableBZ_ENCNCNCINvB1r_10componentsuINtB12_6OptionB1n_EE000EENtNtNtB8_6traits8iterator8Iterator4nextB1t_.exit: ; preds = %17 + call void @llvm.assume(i1 true) [ "align"(ptr %19, i64 8) ] %21 = getelementptr inbounds nuw i8, ptr %1, i64 24 %22 = tail call noundef align 8 dereferenceable_or_null(48) ptr @_RINvXs_NtCslyFhtC9DD08_9itertools18peeking_take_whileINtNtNtNtCs1LoaDTb72WA_4core4iter8adapters8peekable8PeekableINtNtBY_6option8IntoIterRINtNtCseG2FYMysgNb_3wax5token5TokenuEEENtB5_11PeekingNext12peeking_nextQNCNCNCINvB2f_10componentsuINtB1Q_6OptionB2b_EE000EB2h_(ptr noalias noundef nonnull align 8 dereferenceable(24) %19, ptr noalias noundef nonnull align 1 %21), !noalias !762 %23 = icmp eq ptr %22, null @@ -3637,6 +3650,7 @@ _RNvXs_NtNtNtCs1LoaDTb72WA_4core4iter8adapters5chainINtB4_5ChainINtNtBa_6option8 32: ; preds = %30 call void @llvm.lifetime.start.p0(ptr nonnull %4), !noalias !766 + call void @llvm.assume(i1 true) [ "align"(ptr %28, i64 8) ] call void @_RNvXs_NtNtNtCs1LoaDTb72WA_4core4iter8adapters8peekableINtB4_8PeekableINtNtBa_6option8IntoIterRINtNtCseG2FYMysgNb_3wax5token5TokenuEEENtNtNtB8_6traits8iterator8Iterator9size_hintB1z_.llvm.2038835765883349039(ptr noalias noundef nonnull sret([24 x i8]) align 8 captures(none) dereferenceable(24) %4, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) %28), !noalias !766 call void @llvm.lifetime.end.p0(ptr nonnull %4), !noalias !766 br label %_RNvXs_NtNtNtCs1LoaDTb72WA_4core4iter8adapters5chainINtB4_5ChainINtNtBa_6option8IntoIterRINtNtCseG2FYMysgNb_3wax5token5TokenuEEINtNtCslyFhtC9DD08_9itertools18peeking_take_while16PeekingTakeWhileINtNtB6_8peekable8PeekableBZ_ENCNCNCINvB1r_10componentsuINtB12_6OptionB1n_EE000EENtNtNtB8_6traits8iterator8Iterator9size_hintB1t_.exit @@ -3645,6 +3659,7 @@ _RNvXs_NtNtNtCs1LoaDTb72WA_4core4iter8adapters5chainINtB4_5ChainINtNtBa_6option8 %.sroa.02.0.i.i101819 = phi ptr [ %11, %_RNvXs_NtNtNtCs1LoaDTb72WA_4core4iter8adapters5chainINtB4_5ChainINtNtBa_6option8IntoIterRINtNtCseG2FYMysgNb_3wax5token5TokenuEEINtNtCslyFhtC9DD08_9itertools18peeking_take_while16PeekingTakeWhileINtNtB6_8peekable8PeekableBZ_ENCNCNCINvB1r_10componentsuINtB12_6OptionB1n_EE000EENtNtNtB8_6traits8iterator8Iterator4nextB1t_.exit.thread8.thread ], [ %22, %31 ] %34 = phi ptr [ %14, %_RNvXs_NtNtNtCs1LoaDTb72WA_4core4iter8adapters5chainINtB4_5ChainINtNtBa_6option8IntoIterRINtNtCseG2FYMysgNb_3wax5token5TokenuEEINtNtCslyFhtC9DD08_9itertools18peeking_take_while16PeekingTakeWhileINtNtB6_8peekable8PeekableBZ_ENCNCNCINvB1r_10componentsuINtB12_6OptionB1n_EE000EENtNtNtB8_6traits8iterator8Iterator4nextB1t_.exit.thread8.thread ], [ %28, %31 ] call void @llvm.lifetime.start.p0(ptr nonnull %3), !noalias !770 + call void @llvm.assume(i1 true) [ "align"(ptr %34, i64 8) ] call void @_RNvXs_NtNtNtCs1LoaDTb72WA_4core4iter8adapters8peekableINtB4_8PeekableINtNtBa_6option8IntoIterRINtNtCseG2FYMysgNb_3wax5token5TokenuEEENtNtNtB8_6traits8iterator8Iterator9size_hintB1z_.llvm.2038835765883349039(ptr noalias noundef nonnull sret([24 x i8]) align 8 captures(none) dereferenceable(24) %3, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) %34), !noalias !770 call void @llvm.lifetime.end.p0(ptr nonnull %3), !noalias !770 br label %_RNvXs_NtNtNtCs1LoaDTb72WA_4core4iter8adapters5chainINtB4_5ChainINtNtBa_6option8IntoIterRINtNtCseG2FYMysgNb_3wax5token5TokenuEEINtNtCslyFhtC9DD08_9itertools18peeking_take_while16PeekingTakeWhileINtNtB6_8peekable8PeekableBZ_ENCNCNCINvB1r_10componentsuINtB12_6OptionB1n_EE000EENtNtNtB8_6traits8iterator8Iterator9size_hintB1t_.exit @@ -3744,6 +3759,7 @@ _RNvXs_NtNtNtCs1LoaDTb72WA_4core4iter8adapters5chainINtB4_5ChainINtNtBa_6option8 br i1 %20, label %_RNvXs_NtNtNtCs1LoaDTb72WA_4core4iter8adapters5chainINtB4_5ChainINtNtBa_6option8IntoIterRNtNtCseG2FYMysgNb_3wax5token5TokenEINtNtCslyFhtC9DD08_9itertools18peeking_take_while16PeekingTakeWhileINtNtB6_8peekable8PeekableIB33_INtNtNtBa_5slice4iter4IterB1o_EEENCNCNCINvB1q_10componentsTjjEB3s_E000EENtNtNtB8_6traits8iterator8Iterator4nextB1s_.exit.thread, label %_RNvXs_NtNtNtCs1LoaDTb72WA_4core4iter8adapters5chainINtB4_5ChainINtNtBa_6option8IntoIterRNtNtCseG2FYMysgNb_3wax5token5TokenEINtNtCslyFhtC9DD08_9itertools18peeking_take_while16PeekingTakeWhileINtNtB6_8peekable8PeekableIB33_INtNtNtBa_5slice4iter4IterB1o_EEENCNCNCINvB1q_10componentsTjjEB3s_E000EENtNtNtB8_6traits8iterator8Iterator4nextB1s_.exit _RNvXs_NtNtNtCs1LoaDTb72WA_4core4iter8adapters5chainINtB4_5ChainINtNtBa_6option8IntoIterRNtNtCseG2FYMysgNb_3wax5token5TokenEINtNtCslyFhtC9DD08_9itertools18peeking_take_while16PeekingTakeWhileINtNtB6_8peekable8PeekableIB33_INtNtNtBa_5slice4iter4IterB1o_EEENCNCNCINvB1q_10componentsTjjEB3s_E000EENtNtNtB8_6traits8iterator8Iterator4nextB1s_.exit: ; preds = %17 + call void @llvm.assume(i1 true) [ "align"(ptr %19, i64 8) ] %21 = getelementptr inbounds nuw i8, ptr %1, i64 24 %22 = tail call noundef align 8 dereferenceable_or_null(64) ptr @_RINvXs_NtCslyFhtC9DD08_9itertools18peeking_take_whileINtNtNtNtCs1LoaDTb72WA_4core4iter8adapters8peekable8PeekableIBQ_INtNtNtBY_5slice4iter4IterNtNtCseG2FYMysgNb_3wax5token5TokenEEENtB5_11PeekingNext12peeking_nextQNCNCNCINvB2j_10componentsTjjEB1N_E000EB2l_(ptr noalias noundef nonnull align 8 dereferenceable(48) %19, ptr noalias noundef nonnull align 1 %21), !noalias !809 %23 = icmp eq ptr %22, null @@ -3774,6 +3790,7 @@ _RNvXs_NtNtNtCs1LoaDTb72WA_4core4iter8adapters5chainINtB4_5ChainINtNtBa_6option8 32: ; preds = %30 call void @llvm.lifetime.start.p0(ptr nonnull %4), !noalias !813 + call void @llvm.assume(i1 true) [ "align"(ptr %28, i64 8) ] call void @_RNvXs_NtNtNtCs1LoaDTb72WA_4core4iter8adapters8peekableINtB4_8PeekableIBR_INtNtNtBa_5slice4iter4IterNtNtCseG2FYMysgNb_3wax5token5TokenEEENtNtNtB8_6traits8iterator8Iterator9size_hintB1D_.llvm.2038835765883349039(ptr noalias noundef nonnull sret([24 x i8]) align 8 captures(none) dereferenceable(24) %4, ptr noalias noundef nonnull readonly align 8 dereferenceable(48) %28), !noalias !813 call void @llvm.lifetime.end.p0(ptr nonnull %4), !noalias !813 br label %_RNvXs_NtNtNtCs1LoaDTb72WA_4core4iter8adapters5chainINtB4_5ChainINtNtBa_6option8IntoIterRNtNtCseG2FYMysgNb_3wax5token5TokenEINtNtCslyFhtC9DD08_9itertools18peeking_take_while16PeekingTakeWhileINtNtB6_8peekable8PeekableIB33_INtNtNtBa_5slice4iter4IterB1o_EEENCNCNCINvB1q_10componentsTjjEB3s_E000EENtNtNtB8_6traits8iterator8Iterator9size_hintB1s_.exit @@ -3782,6 +3799,7 @@ _RNvXs_NtNtNtCs1LoaDTb72WA_4core4iter8adapters5chainINtB4_5ChainINtNtBa_6option8 %.sroa.02.0.i.i101819 = phi ptr [ %11, %_RNvXs_NtNtNtCs1LoaDTb72WA_4core4iter8adapters5chainINtB4_5ChainINtNtBa_6option8IntoIterRNtNtCseG2FYMysgNb_3wax5token5TokenEINtNtCslyFhtC9DD08_9itertools18peeking_take_while16PeekingTakeWhileINtNtB6_8peekable8PeekableIB33_INtNtNtBa_5slice4iter4IterB1o_EEENCNCNCINvB1q_10componentsTjjEB3s_E000EENtNtNtB8_6traits8iterator8Iterator4nextB1s_.exit.thread8.thread ], [ %22, %31 ] %34 = phi ptr [ %14, %_RNvXs_NtNtNtCs1LoaDTb72WA_4core4iter8adapters5chainINtB4_5ChainINtNtBa_6option8IntoIterRNtNtCseG2FYMysgNb_3wax5token5TokenEINtNtCslyFhtC9DD08_9itertools18peeking_take_while16PeekingTakeWhileINtNtB6_8peekable8PeekableIB33_INtNtNtBa_5slice4iter4IterB1o_EEENCNCNCINvB1q_10componentsTjjEB3s_E000EENtNtNtB8_6traits8iterator8Iterator4nextB1s_.exit.thread8.thread ], [ %28, %31 ] call void @llvm.lifetime.start.p0(ptr nonnull %3), !noalias !817 + call void @llvm.assume(i1 true) [ "align"(ptr %34, i64 8) ] call void @_RNvXs_NtNtNtCs1LoaDTb72WA_4core4iter8adapters8peekableINtB4_8PeekableIBR_INtNtNtBa_5slice4iter4IterNtNtCseG2FYMysgNb_3wax5token5TokenEEENtNtNtB8_6traits8iterator8Iterator9size_hintB1D_.llvm.2038835765883349039(ptr noalias noundef nonnull sret([24 x i8]) align 8 captures(none) dereferenceable(24) %3, ptr noalias noundef nonnull readonly align 8 dereferenceable(48) %34), !noalias !817 call void @llvm.lifetime.end.p0(ptr nonnull %3), !noalias !817 br label %_RNvXs_NtNtNtCs1LoaDTb72WA_4core4iter8adapters5chainINtB4_5ChainINtNtBa_6option8IntoIterRNtNtCseG2FYMysgNb_3wax5token5TokenEINtNtCslyFhtC9DD08_9itertools18peeking_take_while16PeekingTakeWhileINtNtB6_8peekable8PeekableIB33_INtNtNtBa_5slice4iter4IterB1o_EEENCNCNCINvB1q_10componentsTjjEB3s_E000EENtNtNtB8_6traits8iterator8Iterator9size_hintB1s_.exit @@ -3881,6 +3899,7 @@ _RNvXs_NtNtNtCs1LoaDTb72WA_4core4iter8adapters5chainINtB4_5ChainINtNtBa_6option8 br i1 %20, label %_RNvXs_NtNtNtCs1LoaDTb72WA_4core4iter8adapters5chainINtB4_5ChainINtNtBa_6option8IntoIterRNtNtCseG2FYMysgNb_3wax5token5TokenEINtNtCslyFhtC9DD08_9itertools18peeking_take_while16PeekingTakeWhileINtNtB6_8peekable8PeekableINtNtNtBa_5slice4iter4IterB1o_EENCNCNCINvB1q_10componentsTjjERINtNtCs68wO5nsWeTG_5alloc3vec3VecB1o_EE000EENtNtNtB8_6traits8iterator8Iterator4nextB1s_.exit.thread, label %_RNvXs_NtNtNtCs1LoaDTb72WA_4core4iter8adapters5chainINtB4_5ChainINtNtBa_6option8IntoIterRNtNtCseG2FYMysgNb_3wax5token5TokenEINtNtCslyFhtC9DD08_9itertools18peeking_take_while16PeekingTakeWhileINtNtB6_8peekable8PeekableINtNtNtBa_5slice4iter4IterB1o_EENCNCNCINvB1q_10componentsTjjERINtNtCs68wO5nsWeTG_5alloc3vec3VecB1o_EE000EENtNtNtB8_6traits8iterator8Iterator4nextB1s_.exit _RNvXs_NtNtNtCs1LoaDTb72WA_4core4iter8adapters5chainINtB4_5ChainINtNtBa_6option8IntoIterRNtNtCseG2FYMysgNb_3wax5token5TokenEINtNtCslyFhtC9DD08_9itertools18peeking_take_while16PeekingTakeWhileINtNtB6_8peekable8PeekableINtNtNtBa_5slice4iter4IterB1o_EENCNCNCINvB1q_10componentsTjjERINtNtCs68wO5nsWeTG_5alloc3vec3VecB1o_EE000EENtNtNtB8_6traits8iterator8Iterator4nextB1s_.exit: ; preds = %17 + call void @llvm.assume(i1 true) [ "align"(ptr %19, i64 8) ] %21 = getelementptr inbounds nuw i8, ptr %1, i64 24 %22 = tail call noundef align 8 dereferenceable_or_null(64) ptr @_RINvXs_NtCslyFhtC9DD08_9itertools18peeking_take_whileINtNtNtNtCs1LoaDTb72WA_4core4iter8adapters8peekable8PeekableINtNtNtBY_5slice4iter4IterNtNtCseG2FYMysgNb_3wax5token5TokenEENtB5_11PeekingNext12peeking_nextQNCNCNCINvB2f_10componentsTjjERINtNtCs68wO5nsWeTG_5alloc3vec3VecB2d_EE000EB2h_(ptr noalias noundef nonnull align 8 dereferenceable(32) %19, ptr noalias noundef nonnull align 1 %21), !noalias !856 %23 = icmp eq ptr %22, null @@ -3911,6 +3930,7 @@ _RNvXs_NtNtNtCs1LoaDTb72WA_4core4iter8adapters5chainINtB4_5ChainINtNtBa_6option8 32: ; preds = %30 call void @llvm.lifetime.start.p0(ptr nonnull %4), !noalias !860 + call void @llvm.assume(i1 true) [ "align"(ptr %28, i64 8) ] call void @_RNvXs_NtNtNtCs1LoaDTb72WA_4core4iter8adapters8peekableINtB4_8PeekableINtNtNtBa_5slice4iter4IterNtNtCseG2FYMysgNb_3wax5token5TokenEENtNtNtB8_6traits8iterator8Iterator9size_hintB1z_.llvm.2038835765883349039(ptr noalias noundef nonnull sret([24 x i8]) align 8 captures(none) dereferenceable(24) %4, ptr noalias noundef nonnull readonly align 8 dereferenceable(32) %28), !noalias !860 call void @llvm.lifetime.end.p0(ptr nonnull %4), !noalias !860 br label %_RNvXs_NtNtNtCs1LoaDTb72WA_4core4iter8adapters5chainINtB4_5ChainINtNtBa_6option8IntoIterRNtNtCseG2FYMysgNb_3wax5token5TokenEINtNtCslyFhtC9DD08_9itertools18peeking_take_while16PeekingTakeWhileINtNtB6_8peekable8PeekableINtNtNtBa_5slice4iter4IterB1o_EENCNCNCINvB1q_10componentsTjjERINtNtCs68wO5nsWeTG_5alloc3vec3VecB1o_EE000EENtNtNtB8_6traits8iterator8Iterator9size_hintB1s_.exit @@ -3919,6 +3939,7 @@ _RNvXs_NtNtNtCs1LoaDTb72WA_4core4iter8adapters5chainINtB4_5ChainINtNtBa_6option8 %.sroa.02.0.i.i101819 = phi ptr [ %11, %_RNvXs_NtNtNtCs1LoaDTb72WA_4core4iter8adapters5chainINtB4_5ChainINtNtBa_6option8IntoIterRNtNtCseG2FYMysgNb_3wax5token5TokenEINtNtCslyFhtC9DD08_9itertools18peeking_take_while16PeekingTakeWhileINtNtB6_8peekable8PeekableINtNtNtBa_5slice4iter4IterB1o_EENCNCNCINvB1q_10componentsTjjERINtNtCs68wO5nsWeTG_5alloc3vec3VecB1o_EE000EENtNtNtB8_6traits8iterator8Iterator4nextB1s_.exit.thread8.thread ], [ %22, %31 ] %34 = phi ptr [ %14, %_RNvXs_NtNtNtCs1LoaDTb72WA_4core4iter8adapters5chainINtB4_5ChainINtNtBa_6option8IntoIterRNtNtCseG2FYMysgNb_3wax5token5TokenEINtNtCslyFhtC9DD08_9itertools18peeking_take_while16PeekingTakeWhileINtNtB6_8peekable8PeekableINtNtNtBa_5slice4iter4IterB1o_EENCNCNCINvB1q_10componentsTjjERINtNtCs68wO5nsWeTG_5alloc3vec3VecB1o_EE000EENtNtNtB8_6traits8iterator8Iterator4nextB1s_.exit.thread8.thread ], [ %28, %31 ] call void @llvm.lifetime.start.p0(ptr nonnull %3), !noalias !864 + call void @llvm.assume(i1 true) [ "align"(ptr %34, i64 8) ] call void @_RNvXs_NtNtNtCs1LoaDTb72WA_4core4iter8adapters8peekableINtB4_8PeekableINtNtNtBa_5slice4iter4IterNtNtCseG2FYMysgNb_3wax5token5TokenEENtNtNtB8_6traits8iterator8Iterator9size_hintB1z_.llvm.2038835765883349039(ptr noalias noundef nonnull sret([24 x i8]) align 8 captures(none) dereferenceable(24) %3, ptr noalias noundef nonnull readonly align 8 dereferenceable(32) %34), !noalias !864 call void @llvm.lifetime.end.p0(ptr nonnull %3), !noalias !864 br label %_RNvXs_NtNtNtCs1LoaDTb72WA_4core4iter8adapters5chainINtB4_5ChainINtNtBa_6option8IntoIterRNtNtCseG2FYMysgNb_3wax5token5TokenEINtNtCslyFhtC9DD08_9itertools18peeking_take_while16PeekingTakeWhileINtNtB6_8peekable8PeekableINtNtNtBa_5slice4iter4IterB1o_EENCNCNCINvB1q_10componentsTjjERINtNtCs68wO5nsWeTG_5alloc3vec3VecB1o_EE000EENtNtNtB8_6traits8iterator8Iterator9size_hintB1s_.exit @@ -4018,6 +4039,7 @@ _RNvXs_NtNtNtCs1LoaDTb72WA_4core4iter8adapters5chainINtB4_5ChainINtNtBa_6option8 br i1 %20, label %_RNvXs_NtNtNtCs1LoaDTb72WA_4core4iter8adapters5chainINtB4_5ChainINtNtBa_6option8IntoIterRNtNtCseG2FYMysgNb_3wax5token5TokenEINtNtCslyFhtC9DD08_9itertools18peeking_take_while16PeekingTakeWhileINtNtB6_8peekable8PeekableINtNtNtBa_5slice4iter4IterB1o_EENCNCNCINvB1q_10componentsTjjERSB1o_E000EENtNtNtB8_6traits8iterator8Iterator4nextB1s_.exit.thread, label %_RNvXs_NtNtNtCs1LoaDTb72WA_4core4iter8adapters5chainINtB4_5ChainINtNtBa_6option8IntoIterRNtNtCseG2FYMysgNb_3wax5token5TokenEINtNtCslyFhtC9DD08_9itertools18peeking_take_while16PeekingTakeWhileINtNtB6_8peekable8PeekableINtNtNtBa_5slice4iter4IterB1o_EENCNCNCINvB1q_10componentsTjjERSB1o_E000EENtNtNtB8_6traits8iterator8Iterator4nextB1s_.exit _RNvXs_NtNtNtCs1LoaDTb72WA_4core4iter8adapters5chainINtB4_5ChainINtNtBa_6option8IntoIterRNtNtCseG2FYMysgNb_3wax5token5TokenEINtNtCslyFhtC9DD08_9itertools18peeking_take_while16PeekingTakeWhileINtNtB6_8peekable8PeekableINtNtNtBa_5slice4iter4IterB1o_EENCNCNCINvB1q_10componentsTjjERSB1o_E000EENtNtNtB8_6traits8iterator8Iterator4nextB1s_.exit: ; preds = %17 + call void @llvm.assume(i1 true) [ "align"(ptr %19, i64 8) ] %21 = getelementptr inbounds nuw i8, ptr %1, i64 24 %22 = tail call noundef align 8 dereferenceable_or_null(64) ptr @_RINvXs_NtCslyFhtC9DD08_9itertools18peeking_take_whileINtNtNtNtCs1LoaDTb72WA_4core4iter8adapters8peekable8PeekableINtNtNtBY_5slice4iter4IterNtNtCseG2FYMysgNb_3wax5token5TokenEENtB5_11PeekingNext12peeking_nextQNCNCNCINvB2f_10componentsTjjERSB2d_E000EB2h_(ptr noalias noundef nonnull align 8 dereferenceable(32) %19, ptr noalias noundef nonnull align 1 %21), !noalias !903 %23 = icmp eq ptr %22, null @@ -4048,6 +4070,7 @@ _RNvXs_NtNtNtCs1LoaDTb72WA_4core4iter8adapters5chainINtB4_5ChainINtNtBa_6option8 32: ; preds = %30 call void @llvm.lifetime.start.p0(ptr nonnull %4), !noalias !907 + call void @llvm.assume(i1 true) [ "align"(ptr %28, i64 8) ] call void @_RNvXs_NtNtNtCs1LoaDTb72WA_4core4iter8adapters8peekableINtB4_8PeekableINtNtNtBa_5slice4iter4IterNtNtCseG2FYMysgNb_3wax5token5TokenEENtNtNtB8_6traits8iterator8Iterator9size_hintB1z_.llvm.2038835765883349039(ptr noalias noundef nonnull sret([24 x i8]) align 8 captures(none) dereferenceable(24) %4, ptr noalias noundef nonnull readonly align 8 dereferenceable(32) %28), !noalias !907 call void @llvm.lifetime.end.p0(ptr nonnull %4), !noalias !907 br label %_RNvXs_NtNtNtCs1LoaDTb72WA_4core4iter8adapters5chainINtB4_5ChainINtNtBa_6option8IntoIterRNtNtCseG2FYMysgNb_3wax5token5TokenEINtNtCslyFhtC9DD08_9itertools18peeking_take_while16PeekingTakeWhileINtNtB6_8peekable8PeekableINtNtNtBa_5slice4iter4IterB1o_EENCNCNCINvB1q_10componentsTjjERSB1o_E000EENtNtNtB8_6traits8iterator8Iterator9size_hintB1s_.exit @@ -4056,6 +4079,7 @@ _RNvXs_NtNtNtCs1LoaDTb72WA_4core4iter8adapters5chainINtB4_5ChainINtNtBa_6option8 %.sroa.02.0.i.i101819 = phi ptr [ %11, %_RNvXs_NtNtNtCs1LoaDTb72WA_4core4iter8adapters5chainINtB4_5ChainINtNtBa_6option8IntoIterRNtNtCseG2FYMysgNb_3wax5token5TokenEINtNtCslyFhtC9DD08_9itertools18peeking_take_while16PeekingTakeWhileINtNtB6_8peekable8PeekableINtNtNtBa_5slice4iter4IterB1o_EENCNCNCINvB1q_10componentsTjjERSB1o_E000EENtNtNtB8_6traits8iterator8Iterator4nextB1s_.exit.thread8.thread ], [ %22, %31 ] %34 = phi ptr [ %14, %_RNvXs_NtNtNtCs1LoaDTb72WA_4core4iter8adapters5chainINtB4_5ChainINtNtBa_6option8IntoIterRNtNtCseG2FYMysgNb_3wax5token5TokenEINtNtCslyFhtC9DD08_9itertools18peeking_take_while16PeekingTakeWhileINtNtB6_8peekable8PeekableINtNtNtBa_5slice4iter4IterB1o_EENCNCNCINvB1q_10componentsTjjERSB1o_E000EENtNtNtB8_6traits8iterator8Iterator4nextB1s_.exit.thread8.thread ], [ %28, %31 ] call void @llvm.lifetime.start.p0(ptr nonnull %3), !noalias !911 + call void @llvm.assume(i1 true) [ "align"(ptr %34, i64 8) ] call void @_RNvXs_NtNtNtCs1LoaDTb72WA_4core4iter8adapters8peekableINtB4_8PeekableINtNtNtBa_5slice4iter4IterNtNtCseG2FYMysgNb_3wax5token5TokenEENtNtNtB8_6traits8iterator8Iterator9size_hintB1z_.llvm.2038835765883349039(ptr noalias noundef nonnull sret([24 x i8]) align 8 captures(none) dereferenceable(24) %3, ptr noalias noundef nonnull readonly align 8 dereferenceable(32) %34), !noalias !911 call void @llvm.lifetime.end.p0(ptr nonnull %3), !noalias !911 br label %_RNvXs_NtNtNtCs1LoaDTb72WA_4core4iter8adapters5chainINtB4_5ChainINtNtBa_6option8IntoIterRNtNtCseG2FYMysgNb_3wax5token5TokenEINtNtCslyFhtC9DD08_9itertools18peeking_take_while16PeekingTakeWhileINtNtB6_8peekable8PeekableINtNtNtBa_5slice4iter4IterB1o_EENCNCNCINvB1q_10componentsTjjERSB1o_E000EENtNtNtB8_6traits8iterator8Iterator9size_hintB1s_.exit diff --git a/bench/turborepo-rs/optimized/avd1ga9yb4qq5g7sdqftppd4q.ll b/bench/turborepo-rs/optimized/avd1ga9yb4qq5g7sdqftppd4q.ll index fdc979ac001..c483684f400 100644 --- a/bench/turborepo-rs/optimized/avd1ga9yb4qq5g7sdqftppd4q.ll +++ b/bench/turborepo-rs/optimized/avd1ga9yb4qq5g7sdqftppd4q.ll @@ -3411,8 +3411,8 @@ _RNCNvXs1_NtCseG2FYMysgNb_3wax4ruleINtB7_8AdjacentINtNtNtCs1LoaDTb72WA_4core5sli ret void } -; Function Attrs: mustprogress nofree norecurse nosync nounwind nonlazybind willreturn memory(argmem: readwrite) uwtable -define hidden void @_RINvMs3_NtCseG2FYMysgNb_3wax4ruleINtB6_9TerminalsRNtNtB8_5token5TokenE3mapTBL_RINtBO_9TokenKindTjjEEENCNvNvB6_5group11check_group0EB8_(ptr dead_on_unwind noalias noundef writable writeonly sret([32 x i8]) align 8 captures(none) dereferenceable(32) initializes((0, 24)) %0, ptr noalias noundef readonly align 8 captures(none) dereferenceable(16) %1) unnamed_addr #16 personality ptr @rust_eh_personality { +; Function Attrs: mustprogress nofree norecurse nosync nounwind nonlazybind willreturn memory(argmem: readwrite, inaccessiblemem: write) uwtable +define hidden void @_RINvMs3_NtCseG2FYMysgNb_3wax4ruleINtB6_9TerminalsRNtNtB8_5token5TokenE3mapTBL_RINtBO_9TokenKindTjjEEENCNvNvB6_5group11check_group0EB8_(ptr dead_on_unwind noalias noundef writable writeonly sret([32 x i8]) align 8 captures(none) dereferenceable(32) initializes((0, 24)) %0, ptr noalias noundef readonly align 8 captures(none) dereferenceable(16) %1) unnamed_addr #9 personality ptr @rust_eh_personality { %3 = getelementptr inbounds nuw i8, ptr %1, i64 8 %4 = load ptr, ptr %3, align 8, !noundef !5 %5 = icmp eq ptr %4, null @@ -3420,6 +3420,7 @@ define hidden void @_RINvMs3_NtCseG2FYMysgNb_3wax4ruleINtB6_9TerminalsRNtNtB8_5t br i1 %5, label %9, label %7 7: ; preds = %2 + call void @llvm.assume(i1 true) [ "align"(ptr %4, i64 8) ] %8 = getelementptr inbounds nuw i8, ptr %0, i64 24 store ptr %4, ptr %8, align 8 br label %9 @@ -3433,8 +3434,8 @@ define hidden void @_RINvMs3_NtCseG2FYMysgNb_3wax4ruleINtB6_9TerminalsRNtNtB8_5t ret void } -; Function Attrs: mustprogress nofree norecurse nosync nounwind nonlazybind willreturn memory(argmem: readwrite) uwtable -define hidden void @_RINvMs3_NtCseG2FYMysgNb_3wax4ruleINtB6_9TerminalsRNtNtB8_5token5TokenE3mapTBL_RINtBO_9TokenKindTjjEEENCNvNvB6_5group22check_group_repetition0EB8_(ptr dead_on_unwind noalias noundef writable writeonly sret([32 x i8]) align 8 captures(none) dereferenceable(32) initializes((0, 24)) %0, ptr noalias noundef readonly align 8 captures(none) dereferenceable(16) %1) unnamed_addr #16 personality ptr @rust_eh_personality { +; Function Attrs: mustprogress nofree norecurse nosync nounwind nonlazybind willreturn memory(argmem: readwrite, inaccessiblemem: write) uwtable +define hidden void @_RINvMs3_NtCseG2FYMysgNb_3wax4ruleINtB6_9TerminalsRNtNtB8_5token5TokenE3mapTBL_RINtBO_9TokenKindTjjEEENCNvNvB6_5group22check_group_repetition0EB8_(ptr dead_on_unwind noalias noundef writable writeonly sret([32 x i8]) align 8 captures(none) dereferenceable(32) initializes((0, 24)) %0, ptr noalias noundef readonly align 8 captures(none) dereferenceable(16) %1) unnamed_addr #9 personality ptr @rust_eh_personality { %3 = getelementptr inbounds nuw i8, ptr %1, i64 8 %4 = load ptr, ptr %3, align 8, !noundef !5 %5 = icmp eq ptr %4, null @@ -3442,6 +3443,7 @@ define hidden void @_RINvMs3_NtCseG2FYMysgNb_3wax4ruleINtB6_9TerminalsRNtNtB8_5t br i1 %5, label %9, label %7 7: ; preds = %2 + call void @llvm.assume(i1 true) [ "align"(ptr %4, i64 8) ] %8 = getelementptr inbounds nuw i8, ptr %0, i64 24 store ptr %4, ptr %8, align 8 br label %9 @@ -3455,8 +3457,8 @@ define hidden void @_RINvMs3_NtCseG2FYMysgNb_3wax4ruleINtB6_9TerminalsRNtNtB8_5t ret void } -; Function Attrs: mustprogress nofree norecurse nosync nounwind nonlazybind willreturn memory(argmem: readwrite) uwtable -define hidden void @_RINvMs3_NtCseG2FYMysgNb_3wax4ruleINtB6_9TerminalsRNtNtB8_5token5TokenE3mapTBL_RINtBO_9TokenKindTjjEEENCNvNvB6_5group23check_group_alternative0EB8_(ptr dead_on_unwind noalias noundef writable writeonly sret([32 x i8]) align 8 captures(none) dereferenceable(32) initializes((0, 24)) %0, ptr noalias noundef readonly align 8 captures(none) dereferenceable(16) %1) unnamed_addr #16 personality ptr @rust_eh_personality { +; Function Attrs: mustprogress nofree norecurse nosync nounwind nonlazybind willreturn memory(argmem: readwrite, inaccessiblemem: write) uwtable +define hidden void @_RINvMs3_NtCseG2FYMysgNb_3wax4ruleINtB6_9TerminalsRNtNtB8_5token5TokenE3mapTBL_RINtBO_9TokenKindTjjEEENCNvNvB6_5group23check_group_alternative0EB8_(ptr dead_on_unwind noalias noundef writable writeonly sret([32 x i8]) align 8 captures(none) dereferenceable(32) initializes((0, 24)) %0, ptr noalias noundef readonly align 8 captures(none) dereferenceable(16) %1) unnamed_addr #9 personality ptr @rust_eh_personality { %3 = getelementptr inbounds nuw i8, ptr %1, i64 8 %4 = load ptr, ptr %3, align 8, !noundef !5 %5 = icmp eq ptr %4, null @@ -3464,6 +3466,7 @@ define hidden void @_RINvMs3_NtCseG2FYMysgNb_3wax4ruleINtB6_9TerminalsRNtNtB8_5t br i1 %5, label %9, label %7 7: ; preds = %2 + call void @llvm.assume(i1 true) [ "align"(ptr %4, i64 8) ] %8 = getelementptr inbounds nuw i8, ptr %0, i64 24 store ptr %4, ptr %8, align 8 br label %9 diff --git a/bench/typst-rs/optimized/4m3ebbqd1xx21e5m.ll b/bench/typst-rs/optimized/4m3ebbqd1xx21e5m.ll index 4d43b26c332..629ef224a57 100644 --- a/bench/typst-rs/optimized/4m3ebbqd1xx21e5m.ll +++ b/bench/typst-rs/optimized/4m3ebbqd1xx21e5m.ll @@ -1927,6 +1927,7 @@ _ZN4core4iter6traits8iterator8Iterator4fold17h7a0eaca80c0b3ee7E.exit.i: ; preds br i1 %.not15, label %.critedge, label %18 18: ; preds = %"_ZN106_$LT$core..iter..adapters..chain..Chain$LT$A$C$B$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4fold17hb6d04025abb062d5E.exit" + call void @llvm.assume(i1 true) [ "align"(ptr %17, i64 8) ] %19 = getelementptr inbounds nuw i8, ptr %0, i64 72 %20 = load i64, ptr %19, align 8, !noundef !4 %.sroa.022.0.copyload = load ptr, ptr %1, align 8 @@ -4478,6 +4479,7 @@ define hidden void @"_ZN106_$LT$core..iter..adapters..chain..Chain$LT$A$C$B$GT$$ 17: ; preds = %12 call void @llvm.lifetime.start.p0(ptr nonnull %6) + call void @llvm.assume(i1 true) [ "align"(ptr %14, i64 8) ] call void @_ZN4core4iter6traits12double_ended19DoubleEndedIterator9try_rfold17h3ea5e8d21702bb86E.llvm.16978709814855407318(ptr noalias noundef nonnull sret({ i64, [4 x i64] }) align 8 captures(none) dereferenceable(40) %6, ptr noalias noundef nonnull align 8 dereferenceable(16) %14, ptr noalias noundef nonnull readonly align 1 %2, i64 noundef %3), !noalias !1447 %18 = load i64, ptr %6, align 8, !range !860, !alias.scope !1452, !noalias !1455, !noundef !4 %19 = icmp eq i64 %18, -9223372036854775807 @@ -6489,7 +6491,7 @@ define hidden void @_ZN10serde_yaml2de12Deserializer2de17h142d4f7c352566fcE(ptr %35 = load i64, ptr %21, align 8, !range !44, !noundef !4 %trunc = trunc nuw i64 %35 to i1 %36 = getelementptr inbounds nuw i8, ptr %21, i64 8 - %37 = load ptr, ptr %36, align 8 + %37 = load ptr, ptr %36, align 8, !align !60 %38 = getelementptr inbounds nuw i8, ptr %21, i64 16 %39 = load i64, ptr %38, align 8 call void @llvm.lifetime.end.p0(ptr nonnull %21) @@ -68557,6 +68559,7 @@ _ZN5typst6layout6inline7shaping11ShapedGlyph12is_cj_script17h4d7fb1628f7f6339E.e br i1 %560, label %"_ZN4core3ptr100drop_in_place$LT$alloc..borrow..Cow$LT$$u5b$typst..layout..inline..shaping..ShapedGlyph$u5d$$GT$$GT$17h5108d2f9ffcb7b21E.llvm.16978709814855407318.exit.i277", label %"_ZN5alloc6borrow12Cow$LT$B$GT$6to_mut17h41df2a1e7035700dE.exit280.thread" "_ZN4core3ptr100drop_in_place$LT$alloc..borrow..Cow$LT$$u5b$typst..layout..inline..shaping..ShapedGlyph$u5d$$GT$$GT$17h5108d2f9ffcb7b21E.llvm.16978709814855407318.exit.i277": ; preds = %557 + call void @llvm.assume(i1 true) [ "align"(ptr %.pn3.i249, i64 8) ] call void @llvm.lifetime.start.p0(ptr nonnull %7), !noalias !12285 invoke void @"_ZN52_$LT$T$u20$as$u20$alloc..slice..hack..ConvertVec$GT$6to_vec17he8389acc0b84b8c1E.llvm.14728845296163125433"(ptr noalias noundef nonnull sret({ { i64, ptr, {} }, i64 }) align 8 captures(none) dereferenceable(24) %7, ptr noalias noundef nonnull readonly align 8 %.pn3.i249, i64 noundef %.pn1.i247) to label %.noexc278 unwind label %480 diff --git a/bench/wasmi-rs/optimized/cfqsonek5l7h839gg4bayo6fi.ll b/bench/wasmi-rs/optimized/cfqsonek5l7h839gg4bayo6fi.ll index 24ed00cc7d6..fe855a52980 100644 --- a/bench/wasmi-rs/optimized/cfqsonek5l7h839gg4bayo6fi.ll +++ b/bench/wasmi-rs/optimized/cfqsonek5l7h839gg4bayo6fi.ll @@ -1062,14 +1062,16 @@ define hidden { ptr, ptr } @"_ZN108_$LT$alloc..collections..btree..map..Iter$LT$ resume { ptr, i32 } %25 _ZN5alloc11collections5btree3mem7replace17h3b22f1f8ea8b4ce0E.exit: ; preds = %.noexc1.i + %29 = extractvalue { ptr, ptr } %22, 0 + %30 = extractvalue { ptr, ptr } %22, 1 call void @llvm.lifetime.end.p0(ptr nonnull %5), !noalias !5 call void @llvm.lifetime.end.p0(ptr nonnull %6), !noalias !5 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %8, ptr noundef nonnull align 8 dereferenceable(24) %7, i64 24, i1 false), !noalias !5 + call void @llvm.assume(i1 true) [ "align"(ptr %29, i64 2) ] + call void @llvm.assume(i1 true) [ "align"(ptr %30, i64 8) ] call void @llvm.lifetime.end.p0(ptr nonnull %7), !noalias !5 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %14, ptr noundef nonnull align 8 dereferenceable(24) %8, i64 24, i1 false) call void @llvm.lifetime.end.p0(ptr nonnull %8) - %29 = extractvalue { ptr, ptr } %22, 0 - %30 = extractvalue { ptr, ptr } %22, 1 br label %15 31: ; preds = %12 @@ -1160,14 +1162,16 @@ define hidden { ptr, ptr } @"_ZN108_$LT$alloc..collections..btree..map..Iter$LT$ resume { ptr, i32 } %25 _ZN5alloc11collections5btree3mem7replace17hbbffd01356597949E.exit: ; preds = %.noexc1.i + %29 = extractvalue { ptr, ptr } %22, 0 + %30 = extractvalue { ptr, ptr } %22, 1 call void @llvm.lifetime.end.p0(ptr nonnull %5), !noalias !12 call void @llvm.lifetime.end.p0(ptr nonnull %6), !noalias !12 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %8, ptr noundef nonnull align 8 dereferenceable(24) %7, i64 24, i1 false), !noalias !12 + call void @llvm.assume(i1 true) [ "align"(ptr %29, i64 8) ] + call void @llvm.assume(i1 true) [ "align"(ptr %30, i64 4) ] call void @llvm.lifetime.end.p0(ptr nonnull %7), !noalias !12 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %14, ptr noundef nonnull align 8 dereferenceable(24) %8, i64 24, i1 false) call void @llvm.lifetime.end.p0(ptr nonnull %8) - %29 = extractvalue { ptr, ptr } %22, 0 - %30 = extractvalue { ptr, ptr } %22, 1 br label %15 31: ; preds = %12 @@ -1258,13 +1262,14 @@ define hidden { ptr, ptr } @"_ZN108_$LT$alloc..collections..btree..map..Iter$LT$ resume { ptr, i32 } %25 _ZN5alloc11collections5btree3mem7replace17h4b1d660507f91790E.exit: ; preds = %.noexc1.i + %29 = extractvalue { ptr, ptr } %22, 0 call void @llvm.lifetime.end.p0(ptr nonnull %5), !noalias !19 call void @llvm.lifetime.end.p0(ptr nonnull %6), !noalias !19 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %8, ptr noundef nonnull align 8 dereferenceable(24) %7, i64 24, i1 false), !noalias !19 + call void @llvm.assume(i1 true) [ "align"(ptr %29, i64 8) ] call void @llvm.lifetime.end.p0(ptr nonnull %7), !noalias !19 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %14, ptr noundef nonnull align 8 dereferenceable(24) %8, i64 24, i1 false) call void @llvm.lifetime.end.p0(ptr nonnull %8) - %29 = extractvalue { ptr, ptr } %22, 0 %30 = extractvalue { ptr, ptr } %22, 1 br label %15 @@ -1356,14 +1361,16 @@ define hidden { ptr, ptr } @"_ZN108_$LT$alloc..collections..btree..map..Iter$LT$ resume { ptr, i32 } %25 _ZN5alloc11collections5btree3mem7replace17hea7478def3be946fE.exit: ; preds = %.noexc1.i + %29 = extractvalue { ptr, ptr } %22, 0 + %30 = extractvalue { ptr, ptr } %22, 1 call void @llvm.lifetime.end.p0(ptr nonnull %5), !noalias !26 call void @llvm.lifetime.end.p0(ptr nonnull %6), !noalias !26 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %8, ptr noundef nonnull align 8 dereferenceable(24) %7, i64 24, i1 false), !noalias !26 + call void @llvm.assume(i1 true) [ "align"(ptr %29, i64 8) ] + call void @llvm.assume(i1 true) [ "align"(ptr %30, i64 2) ] call void @llvm.lifetime.end.p0(ptr nonnull %7), !noalias !26 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %14, ptr noundef nonnull align 8 dereferenceable(24) %8, i64 24, i1 false) call void @llvm.lifetime.end.p0(ptr nonnull %8) - %29 = extractvalue { ptr, ptr } %22, 0 - %30 = extractvalue { ptr, ptr } %22, 1 br label %15 31: ; preds = %12 @@ -1454,14 +1461,16 @@ define hidden { ptr, ptr } @"_ZN108_$LT$alloc..collections..btree..map..Iter$LT$ resume { ptr, i32 } %25 _ZN5alloc11collections5btree3mem7replace17h8b1d914e66c1111cE.exit: ; preds = %.noexc1.i + %29 = extractvalue { ptr, ptr } %22, 0 + %30 = extractvalue { ptr, ptr } %22, 1 call void @llvm.lifetime.end.p0(ptr nonnull %5), !noalias !33 call void @llvm.lifetime.end.p0(ptr nonnull %6), !noalias !33 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %8, ptr noundef nonnull align 8 dereferenceable(24) %7, i64 24, i1 false), !noalias !33 + call void @llvm.assume(i1 true) [ "align"(ptr %29, i64 8) ] + call void @llvm.assume(i1 true) [ "align"(ptr %30, i64 4) ] call void @llvm.lifetime.end.p0(ptr nonnull %7), !noalias !33 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %14, ptr noundef nonnull align 8 dereferenceable(24) %8, i64 24, i1 false) call void @llvm.lifetime.end.p0(ptr nonnull %8) - %29 = extractvalue { ptr, ptr } %22, 0 - %30 = extractvalue { ptr, ptr } %22, 1 br label %15 31: ; preds = %12 diff --git a/bench/wasmi-rs/optimized/ea5tp1pyhuh13c18hcvvnv9jv.ll b/bench/wasmi-rs/optimized/ea5tp1pyhuh13c18hcvvnv9jv.ll index 71dc0901a37..beb3bccf9e4 100644 --- a/bench/wasmi-rs/optimized/ea5tp1pyhuh13c18hcvvnv9jv.ll +++ b/bench/wasmi-rs/optimized/ea5tp1pyhuh13c18hcvvnv9jv.ll @@ -2622,7 +2622,7 @@ _ZN5wasmi6engine8executor5cache14CachedInstance11load_caches17hcb19514e98bbf501E %152 = getelementptr inbounds nuw i8, ptr %151, i64 16 %153 = load i64, ptr %152, align 8, !noalias !36, !noundef !3 %.not29.i = icmp eq i64 %153, 0 - br i1 %.not29.i, label %.thread.i, label %154 + br i1 %.not29.i, label %.thread47.i, label %154 154: ; preds = %_ZN5wasmi6engine8executor5cache14CachedInstance11load_caches17hcb19514e98bbf501E.exit.i %155 = getelementptr inbounds nuw i8, ptr %151, i64 8 @@ -2630,7 +2630,7 @@ _ZN5wasmi6engine8executor5cache14CachedInstance11load_caches17hcb19514e98bbf501E %157 = getelementptr { ptr, { i64, i64 }, i16, i8, [5 x i8] }, ptr %156, i64 %153 %158 = getelementptr i8, ptr %157, i64 -32 %.not30.i = icmp eq ptr %158, null - br i1 %.not30.i, label %.thread.i, label %159 + br i1 %.not30.i, label %.thread47.i, label %159 159: ; preds = %154 %160 = getelementptr inbounds nuw i8, ptr %151, i64 72 @@ -2639,14 +2639,14 @@ _ZN5wasmi6engine8executor5cache14CachedInstance11load_caches17hcb19514e98bbf501E %163 = call noundef ptr @_ZN5wasmi6engine8executor5stack6values10ValueStack12stack_ptr_at17h07614d8f0145bbbcE(ptr noalias noundef nonnull align 8 dereferenceable(32) %160, i64 noundef %162), !noalias !36 br label %166 -.thread.i: ; preds = %154, %_ZN5wasmi6engine8executor5cache14CachedInstance11load_caches17hcb19514e98bbf501E.exit.i +.thread47.i: ; preds = %154, %_ZN5wasmi6engine8executor5cache14CachedInstance11load_caches17hcb19514e98bbf501E.exit.i %164 = getelementptr inbounds nuw i8, ptr %151, i64 72 %165 = call noundef ptr @_ZN5wasmi6engine8executor5stack6values10ValueStack14root_stack_ptr17he70987b048e259eeE(ptr noalias noundef nonnull align 8 dereferenceable(32) %164), !noalias !36 br label %166 -166: ; preds = %.thread.i, %159 - %.not3048.i = phi i8 [ 0, %159 ], [ 1, %.thread.i ] - %.sroa.024.0.i = phi ptr [ %163, %159 ], [ %165, %.thread.i ] +166: ; preds = %.thread47.i, %159 + %.not3050.i = phi i8 [ 0, %159 ], [ 1, %.thread47.i ] + %.sroa.024.0.i = phi ptr [ %163, %159 ], [ %165, %.thread47.i ] call void @llvm.lifetime.start.p0(ptr nonnull %26), !noalias !43 store ptr %.sroa.024.0.i, ptr %26, align 8, !noalias !43 %167 = load ptr, ptr %45, align 8, !alias.scope !39, !noalias !45, !nonnull !3, !align !4, !noundef !3 @@ -2720,17 +2720,17 @@ _ZN5wasmi6engine8executor5cache14CachedInstance11load_caches17hcb19514e98bbf501E 199: ; preds = %"_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$4next17hb0b3ac8cf5ef9d1fE.exit.thread.i" store i64 %194, ptr %195, align 8, !noalias !36 - %.pre65.i = load ptr, ptr %45, align 8, !alias.scope !39, !noalias !45 - br i1 %67, label %200, label %.thread58.i + %.pre67.i = load ptr, ptr %45, align 8, !alias.scope !39, !noalias !45 + br i1 %67, label %200, label %.thread60.i 200: ; preds = %199 - %201 = getelementptr inbounds nuw i8, ptr %.pre65.i, i64 48 + %201 = getelementptr inbounds nuw i8, ptr %.pre67.i, i64 48 %202 = load i32, ptr %201, align 8, !range !35, !noalias !36, !noundef !3 %203 = trunc nuw i32 %202 to i1 - br i1 %203, label %204, label %.thread58.i + br i1 %203, label %204, label %.thread60.i 204: ; preds = %200 - %205 = getelementptr inbounds nuw i8, ptr %.pre65.i, i64 52 + %205 = getelementptr inbounds nuw i8, ptr %.pre67.i, i64 52 call void @llvm.lifetime.start.p0(ptr nonnull %16), !noalias !43 call void @llvm.lifetime.start.p0(ptr nonnull %17), !noalias !43 %206 = call noundef align 8 dereferenceable(144) ptr @_ZN5wasmi5store5inner10StoreInner16resolve_instance17h62bfb93af6a98434E(ptr noalias noundef nonnull readonly align 8 dereferenceable(344) %2, ptr noalias noundef nonnull readonly align 4 dereferenceable(8) %205), !noalias !94 @@ -2788,32 +2788,32 @@ _ZN5wasmi6engine8executor5cache14CachedInstance11load_caches17hcb19514e98bbf501E store i64 %.sroa.33.0.i41.i, ptr %146, align 8, !alias.scope !39, !noalias !45 store ptr %.sroa.04.0.i42.i, ptr %147, align 8, !alias.scope !39, !noalias !45 %.pre.i = load ptr, ptr %45, align 8, !alias.scope !39, !noalias !45 - br label %.thread58.i + br label %.thread60.i -.thread58.i: ; preds = %_ZN5wasmi6engine8executor5cache14CachedInstance11load_caches17hcb19514e98bbf501E.exit43.i, %200, %199 - %231 = phi ptr [ %.pre65.i, %200 ], [ %.pre65.i, %199 ], [ %.pre.i, %_ZN5wasmi6engine8executor5cache14CachedInstance11load_caches17hcb19514e98bbf501E.exit43.i ] +.thread60.i: ; preds = %_ZN5wasmi6engine8executor5cache14CachedInstance11load_caches17hcb19514e98bbf501E.exit43.i, %200, %199 + %231 = phi ptr [ %.pre67.i, %200 ], [ %.pre67.i, %199 ], [ %.pre.i, %_ZN5wasmi6engine8executor5cache14CachedInstance11load_caches17hcb19514e98bbf501E.exit43.i ] %232 = getelementptr inbounds nuw i8, ptr %231, i64 16 %233 = load i64, ptr %232, align 8, !noalias !36, !noundef !3 %.not35.i = icmp eq i64 %233, 0 - br i1 %.not35.i, label %.thread61.i, label %234 + br i1 %.not35.i, label %.thread63.i, label %234 -234: ; preds = %.thread58.i +234: ; preds = %.thread60.i %235 = getelementptr inbounds nuw i8, ptr %231, i64 8 %236 = load ptr, ptr %235, align 8, !noalias !36, !nonnull !3, !noundef !3 %237 = getelementptr { ptr, { i64, i64 }, i16, i8, [5 x i8] }, ptr %236, i64 %233 %238 = getelementptr i8, ptr %237, i64 -32 %.not36.i = icmp eq ptr %238, null - br i1 %.not36.i, label %.thread61.i, label %239 + br i1 %.not36.i, label %.thread63.i, label %239 239: ; preds = %234 %240 = getelementptr inbounds nuw i8, ptr %231, i64 72 %241 = getelementptr inbounds nuw i8, ptr %1, i64 56 call void @_ZN5wasmi6engine8executor6instrs8Executor20init_call_frame_impl17h108f87aebf9bd03dE(ptr noalias noundef nonnull align 8 dereferenceable(32) %240, ptr noalias noundef nonnull align 8 dereferenceable(8) %86, ptr noalias noundef nonnull align 8 dereferenceable(8) %241, ptr noalias noundef nonnull readonly align 8 dereferenceable(32) %238), !noalias !36 - br label %.thread61.i + br label %.thread63.i -.thread61.i: ; preds = %239, %234, %.thread58.i +.thread63.i: ; preds = %239, %234, %.thread60.i %242 = getelementptr inbounds nuw i8, ptr %0, i64 1 - store i8 %.not3048.i, ptr %242, align 1, !alias.scope !36, !noalias !100 + store i8 %.not3050.i, ptr %242, align 1, !alias.scope !36, !noalias !100 store i8 0, ptr %0, align 8, !alias.scope !36, !noalias !100 call void @llvm.lifetime.end.p0(ptr nonnull %26), !noalias !43 br label %"_ZN5wasmi6engine8executor6instrs4call59_$LT$impl$u20$wasmi..engine..executor..instrs..Executor$GT$17execute_host_func17h728f873a194702afE.exit" @@ -2825,7 +2825,7 @@ _ZN5wasmi6engine8executor5cache14CachedInstance11load_caches17hcb19514e98bbf501E store i8 1, ptr %0, align 8, !alias.scope !36, !noalias !100 br label %"_ZN5wasmi6engine8executor6instrs4call59_$LT$impl$u20$wasmi..engine..executor..instrs..Executor$GT$17execute_host_func17h728f873a194702afE.exit" -"_ZN5wasmi6engine8executor6instrs4call59_$LT$impl$u20$wasmi..engine..executor..instrs..Executor$GT$17execute_host_func17h728f873a194702afE.exit": ; preds = %.thread61.i, %243 +"_ZN5wasmi6engine8executor6instrs4call59_$LT$impl$u20$wasmi..engine..executor..instrs..Executor$GT$17execute_host_func17h728f873a194702afE.exit": ; preds = %.thread63.i, %243 call void @llvm.lifetime.end.p0(ptr nonnull %28), !noalias !43 call void @llvm.lifetime.end.p0(ptr nonnull %27) br label %411 @@ -3526,9 +3526,9 @@ _ZN5wasmi6engine8executor5cache14CachedInstance11load_caches17hcb19514e98bbf501E br label %"_ZN5wasmi6engine8executor6instrs4call59_$LT$impl$u20$wasmi..engine..executor..instrs..Executor$GT$17execute_host_func17hd6cecd2cd974b7aeE.exit" 161: ; preds = %91, %99, %73 - %.sink38.i = phi ptr [ %75, %73 ], [ %94, %91 ], [ %101, %99 ] + %.sink40.i = phi ptr [ %75, %73 ], [ %94, %91 ], [ %101, %99 ] %162 = getelementptr inbounds nuw i8, ptr %0, i64 8 - store ptr %.sink38.i, ptr %162, align 8, !alias.scope !154, !noalias !201 + store ptr %.sink40.i, ptr %162, align 8, !alias.scope !154, !noalias !201 br label %"_ZN5wasmi6engine8executor6instrs4call59_$LT$impl$u20$wasmi..engine..executor..instrs..Executor$GT$17execute_host_func17hd6cecd2cd974b7aeE.exit" "_ZN5wasmi6engine8executor6instrs4call59_$LT$impl$u20$wasmi..engine..executor..instrs..Executor$GT$17execute_host_func17hd6cecd2cd974b7aeE.exit": ; preds = %"_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$4next17hb0b3ac8cf5ef9d1fE.exit.thread.i", %161 @@ -4122,6 +4122,7 @@ _ZN5wasmi6engine8executor5stack5calls9CallStack3pop17he551beacc1a912eeE.exit.thr call void @llvm.assume(i1 %108) %109 = add nuw nsw i64 %106, %46 store i64 %109, ptr %91, align 8, !alias.scope !285, !noalias !299 + call void @llvm.assume(i1 true) [ "align"(ptr %107, i64 8) ] call void @llvm.lifetime.start.p0(ptr nonnull %28), !noalias !269 %110 = call { ptr, ptr } @_ZN5wasmi6engine8executor5stack6values11FrameParams3new17h8222beebbf9cd92fE(ptr noalias noundef nonnull align 8 %107, i64 noundef %46), !noalias !267 %111 = extractvalue { ptr, ptr } %110, 0 @@ -4228,7 +4229,7 @@ _ZN5wasmi6engine8executor5cache14CachedInstance11load_caches17hcb19514e98bbf501E %161 = getelementptr inbounds nuw i8, ptr %160, i64 16 %162 = load i64, ptr %161, align 8, !noalias !262, !noundef !3 %.not31.i = icmp eq i64 %162, 0 - br i1 %.not31.i, label %.thread.i, label %163 + br i1 %.not31.i, label %.thread50.i, label %163 163: ; preds = %_ZN5wasmi6engine8executor5cache14CachedInstance11load_caches17hcb19514e98bbf501E.exit.i %164 = getelementptr inbounds nuw i8, ptr %160, i64 8 @@ -4236,7 +4237,7 @@ _ZN5wasmi6engine8executor5cache14CachedInstance11load_caches17hcb19514e98bbf501E %166 = getelementptr { ptr, { i64, i64 }, i16, i8, [5 x i8] }, ptr %165, i64 %162 %167 = getelementptr i8, ptr %166, i64 -32 %.not32.i = icmp eq ptr %167, null - br i1 %.not32.i, label %.thread.i, label %168 + br i1 %.not32.i, label %.thread50.i, label %168 168: ; preds = %163 %169 = getelementptr inbounds nuw i8, ptr %160, i64 72 @@ -4245,14 +4246,14 @@ _ZN5wasmi6engine8executor5cache14CachedInstance11load_caches17hcb19514e98bbf501E %172 = call noundef ptr @_ZN5wasmi6engine8executor5stack6values10ValueStack12stack_ptr_at17h07614d8f0145bbbcE(ptr noalias noundef nonnull align 8 dereferenceable(32) %169, i64 noundef %171), !noalias !262 br label %175 -.thread.i: ; preds = %163, %_ZN5wasmi6engine8executor5cache14CachedInstance11load_caches17hcb19514e98bbf501E.exit.i +.thread50.i: ; preds = %163, %_ZN5wasmi6engine8executor5cache14CachedInstance11load_caches17hcb19514e98bbf501E.exit.i %173 = getelementptr inbounds nuw i8, ptr %160, i64 72 %174 = call noundef ptr @_ZN5wasmi6engine8executor5stack6values10ValueStack14root_stack_ptr17he70987b048e259eeE(ptr noalias noundef nonnull align 8 dereferenceable(32) %173), !noalias !262 br label %175 -175: ; preds = %.thread.i, %168 - %.not3252.i = phi i8 [ 0, %168 ], [ 1, %.thread.i ] - %.sroa.026.0.i = phi ptr [ %172, %168 ], [ %174, %.thread.i ] +175: ; preds = %.thread50.i, %168 + %.not3253.i = phi i8 [ 0, %168 ], [ 1, %.thread50.i ] + %.sroa.026.0.i = phi ptr [ %172, %168 ], [ %174, %.thread50.i ] call void @llvm.lifetime.start.p0(ptr nonnull %26), !noalias !269 store ptr %.sroa.026.0.i, ptr %26, align 8, !noalias !269 %176 = load ptr, ptr %47, align 8, !alias.scope !265, !noalias !271, !nonnull !3, !align !4, !noundef !3 @@ -4326,17 +4327,17 @@ _ZN5wasmi6engine8executor5cache14CachedInstance11load_caches17hcb19514e98bbf501E 208: ; preds = %"_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$4next17hb0b3ac8cf5ef9d1fE.exit.thread.i" store i64 %203, ptr %204, align 8, !noalias !262 - %.pre69.i = load ptr, ptr %47, align 8, !alias.scope !265, !noalias !271 - br i1 %69, label %209, label %.thread62.i + %.pre70.i = load ptr, ptr %47, align 8, !alias.scope !265, !noalias !271 + br i1 %69, label %209, label %.thread63.i 209: ; preds = %208 - %210 = getelementptr inbounds nuw i8, ptr %.pre69.i, i64 48 + %210 = getelementptr inbounds nuw i8, ptr %.pre70.i, i64 48 %211 = load i32, ptr %210, align 8, !range !35, !noalias !262, !noundef !3 %212 = trunc nuw i32 %211 to i1 - br i1 %212, label %213, label %.thread62.i + br i1 %212, label %213, label %.thread63.i 213: ; preds = %209 - %214 = getelementptr inbounds nuw i8, ptr %.pre69.i, i64 52 + %214 = getelementptr inbounds nuw i8, ptr %.pre70.i, i64 52 call void @llvm.lifetime.start.p0(ptr nonnull %16), !noalias !269 call void @llvm.lifetime.start.p0(ptr nonnull %17), !noalias !269 %215 = call noundef align 8 dereferenceable(144) ptr @_ZN5wasmi5store5inner10StoreInner16resolve_instance17h62bfb93af6a98434E(ptr noalias noundef nonnull readonly align 8 dereferenceable(344) %2, ptr noalias noundef nonnull readonly align 4 dereferenceable(8) %214), !noalias !319 @@ -4394,32 +4395,32 @@ _ZN5wasmi6engine8executor5cache14CachedInstance11load_caches17hcb19514e98bbf501E store i64 %.sroa.33.0.i43.i, ptr %155, align 8, !alias.scope !265, !noalias !271 store ptr %.sroa.04.0.i44.i, ptr %156, align 8, !alias.scope !265, !noalias !271 %.pre.i = load ptr, ptr %47, align 8, !alias.scope !265, !noalias !271 - br label %.thread62.i + br label %.thread63.i -.thread62.i: ; preds = %_ZN5wasmi6engine8executor5cache14CachedInstance11load_caches17hcb19514e98bbf501E.exit45.i, %209, %208 - %240 = phi ptr [ %.pre69.i, %209 ], [ %.pre69.i, %208 ], [ %.pre.i, %_ZN5wasmi6engine8executor5cache14CachedInstance11load_caches17hcb19514e98bbf501E.exit45.i ] +.thread63.i: ; preds = %_ZN5wasmi6engine8executor5cache14CachedInstance11load_caches17hcb19514e98bbf501E.exit45.i, %209, %208 + %240 = phi ptr [ %.pre70.i, %209 ], [ %.pre70.i, %208 ], [ %.pre.i, %_ZN5wasmi6engine8executor5cache14CachedInstance11load_caches17hcb19514e98bbf501E.exit45.i ] %241 = getelementptr inbounds nuw i8, ptr %240, i64 16 %242 = load i64, ptr %241, align 8, !noalias !262, !noundef !3 %.not37.i = icmp eq i64 %242, 0 - br i1 %.not37.i, label %.thread65.i, label %243 + br i1 %.not37.i, label %.thread66.i, label %243 -243: ; preds = %.thread62.i +243: ; preds = %.thread63.i %244 = getelementptr inbounds nuw i8, ptr %240, i64 8 %245 = load ptr, ptr %244, align 8, !noalias !262, !nonnull !3, !noundef !3 %246 = getelementptr { ptr, { i64, i64 }, i16, i8, [5 x i8] }, ptr %245, i64 %242 %247 = getelementptr i8, ptr %246, i64 -32 %.not38.i = icmp eq ptr %247, null - br i1 %.not38.i, label %.thread65.i, label %248 + br i1 %.not38.i, label %.thread66.i, label %248 248: ; preds = %243 %249 = getelementptr inbounds nuw i8, ptr %240, i64 72 %250 = getelementptr inbounds nuw i8, ptr %1, i64 56 call void @_ZN5wasmi6engine8executor6instrs8Executor20init_call_frame_impl17h108f87aebf9bd03dE(ptr noalias noundef nonnull align 8 dereferenceable(32) %249, ptr noalias noundef nonnull align 8 dereferenceable(8) %88, ptr noalias noundef nonnull align 8 dereferenceable(8) %250, ptr noalias noundef nonnull readonly align 8 dereferenceable(32) %247), !noalias !262 - br label %.thread65.i + br label %.thread66.i -.thread65.i: ; preds = %248, %243, %.thread62.i +.thread66.i: ; preds = %248, %243, %.thread63.i %251 = getelementptr inbounds nuw i8, ptr %0, i64 1 - store i8 %.not3252.i, ptr %251, align 1, !alias.scope !262, !noalias !325 + store i8 %.not3253.i, ptr %251, align 1, !alias.scope !262, !noalias !325 store i8 0, ptr %0, align 8, !alias.scope !262, !noalias !325 call void @llvm.lifetime.end.p0(ptr nonnull %26), !noalias !269 br label %"_ZN5wasmi6engine8executor6instrs4call59_$LT$impl$u20$wasmi..engine..executor..instrs..Executor$GT$17execute_host_func17h7b78e9435212e663E.exit" @@ -4431,7 +4432,7 @@ _ZN5wasmi6engine8executor5cache14CachedInstance11load_caches17hcb19514e98bbf501E store i8 1, ptr %0, align 8, !alias.scope !262, !noalias !325 br label %"_ZN5wasmi6engine8executor6instrs4call59_$LT$impl$u20$wasmi..engine..executor..instrs..Executor$GT$17execute_host_func17h7b78e9435212e663E.exit" -"_ZN5wasmi6engine8executor6instrs4call59_$LT$impl$u20$wasmi..engine..executor..instrs..Executor$GT$17execute_host_func17h7b78e9435212e663E.exit": ; preds = %.thread65.i, %252 +"_ZN5wasmi6engine8executor6instrs4call59_$LT$impl$u20$wasmi..engine..executor..instrs..Executor$GT$17execute_host_func17h7b78e9435212e663E.exit": ; preds = %.thread66.i, %252 call void @llvm.lifetime.end.p0(ptr nonnull %29), !noalias !269 call void @llvm.lifetime.end.p0(ptr nonnull %27) br label %423 @@ -4973,6 +4974,7 @@ define hidden void @"_ZN5wasmi6engine8executor6instrs4call59_$LT$impl$u20$wasmi. call void @llvm.assume(i1 %83) %84 = add nuw nsw i64 %81, %40 store i64 %84, ptr %66, align 8, !alias.scope !388, !noalias !391 + call void @llvm.assume(i1 true) [ "align"(ptr %82, i64 8) ] call void @llvm.lifetime.start.p0(ptr nonnull %23), !noalias !385 %85 = call { ptr, ptr } @_ZN5wasmi6engine8executor5stack6values11FrameParams3new17h8222beebbf9cd92fE(ptr noalias noundef nonnull align 8 %82, i64 noundef %40), !noalias !383 %86 = extractvalue { ptr, ptr } %85, 0 @@ -5157,9 +5159,9 @@ _ZN5wasmi6engine8executor5cache14CachedInstance11load_caches17hcb19514e98bbf501E br label %"_ZN5wasmi6engine8executor6instrs4call59_$LT$impl$u20$wasmi..engine..executor..instrs..Executor$GT$17execute_host_func17h95f3f2504d300a02E.exit" 173: ; preds = %103, %111, %75 - %.sink40.i = phi ptr [ %77, %75 ], [ %106, %103 ], [ %113, %111 ] + %.sink41.i = phi ptr [ %77, %75 ], [ %106, %103 ], [ %113, %111 ] %174 = getelementptr inbounds nuw i8, ptr %0, i64 8 - store ptr %.sink40.i, ptr %174, align 8, !alias.scope !378, !noalias !426 + store ptr %.sink41.i, ptr %174, align 8, !alias.scope !378, !noalias !426 br label %"_ZN5wasmi6engine8executor6instrs4call59_$LT$impl$u20$wasmi..engine..executor..instrs..Executor$GT$17execute_host_func17h95f3f2504d300a02E.exit" "_ZN5wasmi6engine8executor6instrs4call59_$LT$impl$u20$wasmi..engine..executor..instrs..Executor$GT$17execute_host_func17h95f3f2504d300a02E.exit": ; preds = %"_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$4next17hb0b3ac8cf5ef9d1fE.exit.thread.i", %173 diff --git a/bench/yara-x-rs/optimized/3fq4tzir3w26vuap941fml3yt.ll b/bench/yara-x-rs/optimized/3fq4tzir3w26vuap941fml3yt.ll index 39668bd0038..f6616e730ca 100644 --- a/bench/yara-x-rs/optimized/3fq4tzir3w26vuap941fml3yt.ll +++ b/bench/yara-x-rs/optimized/3fq4tzir3w26vuap941fml3yt.ll @@ -4595,6 +4595,9 @@ define internal fastcc void @"_ZN6bitvec3vec3api50_$LT$impl$u20$bitvec..vec..Bit 101: ; preds = %"_ZN6bitvec6domain23Domain$LT$M$C$T$C$O$GT$3new17h68bf3869f8e35891E.exit.i" %102 = getelementptr inbounds nuw i8, ptr %3, i64 16 %.sroa.0.0.copyload.i = load ptr, ptr %102, align 8, !noalias !618 + %.sroa.5.0..sroa_idx.i = getelementptr inbounds nuw i8, ptr %3, i64 24 + %.sroa.5.sroa.0.0.copyload.i = load i64, ptr %.sroa.5.0..sroa_idx.i, align 8, !noalias !618 + call void @llvm.assume(i1 true) [ "align"(ptr %100, i64 8) ] %103 = getelementptr inbounds nuw i8, ptr %3, i64 8 %104 = load i64, ptr %103, align 8, !noalias !618, !noundef !13 %105 = getelementptr inbounds nuw i8, ptr %3, i64 40 @@ -4621,8 +4624,6 @@ define internal fastcc void @"_ZN6bitvec3vec3api50_$LT$impl$u20$bitvec..vec..Bit br label %"_ZN6bitvec5slice3api54_$LT$impl$u20$bitvec..slice..BitSlice$LT$T$C$O$GT$$GT$4fill17h87d424193e943bc9E.exit" 111: ; preds = %101 - %.sroa.5.0..sroa_idx.i = getelementptr inbounds nuw i8, ptr %3, i64 24 - %.sroa.5.sroa.0.0.copyload.i = load i64, ptr %.sroa.5.0..sroa_idx.i, align 8, !noalias !618 %112 = xor i64 %.sroa.5.sroa.0.0.copyload.i, -1 %113 = load i64, ptr %.sroa.0.0.copyload.i, align 8, !noundef !13 %114 = and i64 %113, %112 diff --git a/bench/yara-x-rs/optimized/6lvluxz0xcnue8xe38nauwxln.ll b/bench/yara-x-rs/optimized/6lvluxz0xcnue8xe38nauwxln.ll index 5d7c32e342e..b9e2a1a70ca 100644 --- a/bench/yara-x-rs/optimized/6lvluxz0xcnue8xe38nauwxln.ll +++ b/bench/yara-x-rs/optimized/6lvluxz0xcnue8xe38nauwxln.ll @@ -30615,6 +30615,7 @@ _ZN6yara_x8compiler2ir6ast2ir18with_expr_from_ast17hda1b0b1c4cafb83cE.exit: ; pr %1068 = getelementptr inbounds nuw i8, ptr %1, i64 56 %1069 = load ptr, ptr %1068, align 8, !nonnull !4, !align !10, !noundef !4 call void @llvm.lifetime.start.p0(ptr nonnull %186) + call void @llvm.assume(i1 true) [ "align"(ptr %263, i64 8) ] %1070 = load ptr, ptr %263, align 8, !nonnull !4, !align !76, !noundef !4 %1071 = getelementptr inbounds nuw i8, ptr %263, i64 8 %1072 = load i64, ptr %1071, align 8, !noundef !4 @@ -30948,7 +30949,7 @@ _ZN6yara_x8compiler2ir6ast2ir18with_expr_from_ast17hda1b0b1c4cafb83cE.exit: ; pr %1199 = getelementptr inbounds nuw i8, ptr %123, i64 8 %1200 = load i64, ptr %1199, align 8 %1201 = getelementptr inbounds nuw i8, ptr %123, i64 16 - %1202 = load ptr, ptr %1201, align 8 + %1202 = load ptr, ptr %1201, align 8, !align !10 call void @llvm.lifetime.end.p0(ptr nonnull %123) br i1 %1198, label %1203, label %1205 @@ -31113,7 +31114,7 @@ _ZN6yara_x8compiler2ir6ast2ir18with_expr_from_ast17hda1b0b1c4cafb83cE.exit: ; pr %1280 = getelementptr inbounds nuw i8, ptr %110, i64 8 %1281 = load i64, ptr %1280, align 8 %1282 = getelementptr inbounds nuw i8, ptr %110, i64 16 - %1283 = load ptr, ptr %1282, align 8 + %1283 = load ptr, ptr %1282, align 8, !align !10 call void @llvm.lifetime.end.p0(ptr nonnull %110) br i1 %1279, label %1284, label %1286 @@ -31156,7 +31157,7 @@ _ZN6yara_x8compiler2ir6ast2ir18with_expr_from_ast17hda1b0b1c4cafb83cE.exit: ; pr %1302 = getelementptr inbounds nuw i8, ptr %112, i64 8 %1303 = load i64, ptr %1302, align 8 %1304 = getelementptr inbounds nuw i8, ptr %112, i64 16 - %1305 = load ptr, ptr %1304, align 8 + %1305 = load ptr, ptr %1304, align 8, !align !10 call void @llvm.lifetime.end.p0(ptr nonnull %112) br i1 %1301, label %1306, label %1308 @@ -31341,7 +31342,7 @@ _ZN6yara_x8compiler2ir6ast2ir18with_expr_from_ast17hda1b0b1c4cafb83cE.exit: ; pr %1385 = getelementptr inbounds nuw i8, ptr %97, i64 8 %1386 = load i64, ptr %1385, align 8 %1387 = getelementptr inbounds nuw i8, ptr %97, i64 16 - %1388 = load ptr, ptr %1387, align 8 + %1388 = load ptr, ptr %1387, align 8, !align !10 call void @llvm.lifetime.end.p0(ptr nonnull %97) br i1 %1384, label %1389, label %1391 @@ -31375,7 +31376,7 @@ _ZN6yara_x8compiler2ir6ast2ir18with_expr_from_ast17hda1b0b1c4cafb83cE.exit: ; pr %1403 = getelementptr inbounds nuw i8, ptr %98, i64 8 %1404 = load i64, ptr %1403, align 8 %1405 = getelementptr inbounds nuw i8, ptr %98, i64 16 - %1406 = load ptr, ptr %1405, align 8 + %1406 = load ptr, ptr %1405, align 8, !align !10 call void @llvm.lifetime.end.p0(ptr nonnull %98) br i1 %1402, label %1407, label %1409 @@ -31548,7 +31549,7 @@ _ZN6yara_x8compiler2ir6ast2ir18with_expr_from_ast17hda1b0b1c4cafb83cE.exit: ; pr %1483 = getelementptr inbounds nuw i8, ptr %85, i64 8 %1484 = load i64, ptr %1483, align 8 %1485 = getelementptr inbounds nuw i8, ptr %85, i64 16 - %1486 = load ptr, ptr %1485, align 8 + %1486 = load ptr, ptr %1485, align 8, !align !10 call void @llvm.lifetime.end.p0(ptr nonnull %85) br i1 %1482, label %1487, label %1489 @@ -31582,7 +31583,7 @@ _ZN6yara_x8compiler2ir6ast2ir18with_expr_from_ast17hda1b0b1c4cafb83cE.exit: ; pr %1501 = getelementptr inbounds nuw i8, ptr %86, i64 8 %1502 = load i64, ptr %1501, align 8 %1503 = getelementptr inbounds nuw i8, ptr %86, i64 16 - %1504 = load ptr, ptr %1503, align 8 + %1504 = load ptr, ptr %1503, align 8, !align !10 call void @llvm.lifetime.end.p0(ptr nonnull %86) br i1 %1500, label %1505, label %1507 @@ -54172,6 +54173,7 @@ _ZN14regex_automata4meta5regex9RegexInfo13is_impossible17h9d449ea3a8d9503cE.exit 568: ; preds = %566 %569 = icmp ne ptr %.sroa.518.0.copyload.i, null call void @llvm.assume(i1 %569) + call void @llvm.assume(i1 true) [ "align"(ptr %.sroa.417.0.copyload.i, i64 8) ] %570 = invoke noundef i64 @"_ZN3std6thread5local17LocalKey$LT$T$GT$4with17ha1bd0504fc0a89acE"(ptr noalias noundef readonly align 8 dereferenceable(8) @anon.50173b3802231cb0b0223069ffbbcabd.34) to label %571 unwind label %.loopexit.split-lp.i.i, !noalias !6990 @@ -65345,8 +65347,8 @@ _ZN4core3ops8function6FnOnce9call_once17h3499a3dce467ff4cE.exit: ; preds = %.noe br label %66 66: ; preds = %.lr.ph, %"_ZN53_$LT$T$u20$as$u20$core..slice..cmp..SliceContains$GT$14slice_contains17h15f38b2fd26c796bE.exit62.thread" - %.sroa.20.0175 = phi ptr [ undef, %.lr.ph ], [ %.sroa.1591.1134, %"_ZN53_$LT$T$u20$as$u20$core..slice..cmp..SliceContains$GT$14slice_contains17h15f38b2fd26c796bE.exit62.thread" ] - %.sroa.17.0174 = phi ptr [ undef, %.lr.ph ], [ %.sroa.12.1133, %"_ZN53_$LT$T$u20$as$u20$core..slice..cmp..SliceContains$GT$14slice_contains17h15f38b2fd26c796bE.exit62.thread" ] + %.sroa.20.0175 = phi ptr [ undef, %.lr.ph ], [ %.sink212, %"_ZN53_$LT$T$u20$as$u20$core..slice..cmp..SliceContains$GT$14slice_contains17h15f38b2fd26c796bE.exit62.thread" ] + %.sroa.17.0174 = phi ptr [ undef, %.lr.ph ], [ %.sink213, %"_ZN53_$LT$T$u20$as$u20$core..slice..cmp..SliceContains$GT$14slice_contains17h15f38b2fd26c796bE.exit62.thread" ] %.sroa.1088.0173 = phi i1 [ true, %.lr.ph ], [ false, %"_ZN53_$LT$T$u20$as$u20$core..slice..cmp..SliceContains$GT$14slice_contains17h15f38b2fd26c796bE.exit62.thread" ] %.sroa.686.0172 = phi i64 [ %.sroa.046.sroa.5.0.copyload, %.lr.ph ], [ %.sroa.686.1127, %"_ZN53_$LT$T$u20$as$u20$core..slice..cmp..SliceContains$GT$14slice_contains17h15f38b2fd26c796bE.exit62.thread" ] %67 = add nuw i64 %.sroa.686.0172, 1 @@ -65369,14 +65371,19 @@ _ZN4core3ops8function6FnOnce9call_once17h3499a3dce467ff4cE.exit: ; preds = %.noe %74 = add nuw i64 %.sroa.686.0172, 2 %75 = getelementptr inbounds nuw i32, ptr %.sroa.046.sroa.0.0.copyload, i64 %67 %76 = getelementptr inbounds nuw { i32, [3 x i32] }, ptr %.sroa.046.sroa.3.0.copyload, i64 %67 + call void @llvm.assume(i1 true) [ "align"(ptr %68, i64 4) ] + call void @llvm.assume(i1 true) [ "align"(ptr %69, i64 8) ] br label %77 77: ; preds = %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit", %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit.thread117" - %.sroa.1591.1134 = phi ptr [ %69, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit.thread117" ], [ %76, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit" ] - %.sroa.12.1133 = phi ptr [ %68, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit.thread117" ], [ %75, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit" ] - %.sroa.990.1132 = phi ptr [ %.sroa.20.0175, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit.thread117" ], [ %69, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit" ] - %.sroa.089.0131 = phi ptr [ %.sroa.17.0174, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit.thread117" ], [ %68, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit" ] - %.sroa.686.1127 = phi i64 [ %67, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit.thread117" ], [ %74, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit" ] + %.sink213 = phi ptr [ %75, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit" ], [ %68, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit.thread117" ] + %.sink212 = phi ptr [ %76, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit" ], [ %69, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit.thread117" ] + %.sroa.990.1132 = phi ptr [ %69, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit" ], [ %.sroa.20.0175, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit.thread117" ] + %.sroa.089.0131 = phi ptr [ %68, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit" ], [ %.sroa.17.0174, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit.thread117" ] + %.sroa.686.1127 = phi i64 [ %74, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit" ], [ %67, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit.thread117" ] + call void @llvm.assume(i1 true) [ "align"(ptr %.sink213, i64 4) ] + call void @llvm.assume(i1 true) [ "align"(ptr %.sink212, i64 8) ] + call void @llvm.assume(i1 true) [ "align"(ptr %.sroa.089.0131, i64 4) ] call void @llvm.lifetime.start.p0(ptr nonnull %23) %78 = load ptr, ptr %50, align 8, !nonnull !4, !align !10, !noundef !4 %79 = load i32, ptr %.sroa.089.0131, align 4, !noundef !4 @@ -65445,7 +65452,7 @@ _ZN4core3ops8function6FnOnce9call_once17h3499a3dce467ff4cE.exit: ; preds = %.noe store i8 %110, ptr %23, align 1 call void @llvm.lifetime.start.p0(ptr nonnull %22) %112 = load ptr, ptr %50, align 8, !nonnull !4, !align !10, !noundef !4 - %113 = load i32, ptr %.sroa.12.1133, align 4, !noundef !4 + %113 = load i32, ptr %.sink213, align 4, !noundef !4 %114 = getelementptr inbounds nuw i8, ptr %112, i64 16 %115 = load i64, ptr %114, align 8, !noundef !4 %116 = zext i32 %113 to i64 @@ -65633,7 +65640,7 @@ _ZN4core3ops8function6FnOnce9call_once17h3499a3dce467ff4cE.exit: ; preds = %.noe %155 = getelementptr inbounds nuw i8, ptr %18, i64 4 store i32 %154, ptr %155, align 4 call void @llvm.lifetime.start.p0(ptr nonnull %17) - %156 = invoke { i32, i32 } @"_ZN73_$LT$yara_x_parser..ast..Expr$u20$as$u20$yara_x_parser..ast..WithSpan$GT$4span17hc943cd00c02d8da6E"(ptr noalias noundef nonnull readonly align 8 dereferenceable(16) %.sroa.1591.1134) + %156 = invoke { i32, i32 } @"_ZN73_$LT$yara_x_parser..ast..Expr$u20$as$u20$yara_x_parser..ast..WithSpan$GT$4span17hc943cd00c02d8da6E"(ptr noalias noundef nonnull readonly align 8 dereferenceable(16) %.sink212) to label %157 unwind label %190 157: ; preds = %152 @@ -65923,8 +65930,8 @@ _ZN4core3ops8function6FnOnce9call_once17h1f8de2b18d9ab514E.exit: ; preds = %.noe br label %66 66: ; preds = %.lr.ph, %"_ZN53_$LT$T$u20$as$u20$core..slice..cmp..SliceContains$GT$14slice_contains17h15f38b2fd26c796bE.exit62.thread" - %.sroa.20.0175 = phi ptr [ undef, %.lr.ph ], [ %.sroa.1591.1134, %"_ZN53_$LT$T$u20$as$u20$core..slice..cmp..SliceContains$GT$14slice_contains17h15f38b2fd26c796bE.exit62.thread" ] - %.sroa.17.0174 = phi ptr [ undef, %.lr.ph ], [ %.sroa.12.1133, %"_ZN53_$LT$T$u20$as$u20$core..slice..cmp..SliceContains$GT$14slice_contains17h15f38b2fd26c796bE.exit62.thread" ] + %.sroa.20.0175 = phi ptr [ undef, %.lr.ph ], [ %.sink212, %"_ZN53_$LT$T$u20$as$u20$core..slice..cmp..SliceContains$GT$14slice_contains17h15f38b2fd26c796bE.exit62.thread" ] + %.sroa.17.0174 = phi ptr [ undef, %.lr.ph ], [ %.sink213, %"_ZN53_$LT$T$u20$as$u20$core..slice..cmp..SliceContains$GT$14slice_contains17h15f38b2fd26c796bE.exit62.thread" ] %.sroa.1088.0173 = phi i1 [ true, %.lr.ph ], [ false, %"_ZN53_$LT$T$u20$as$u20$core..slice..cmp..SliceContains$GT$14slice_contains17h15f38b2fd26c796bE.exit62.thread" ] %.sroa.686.0172 = phi i64 [ %.sroa.046.sroa.5.0.copyload, %.lr.ph ], [ %.sroa.686.1127, %"_ZN53_$LT$T$u20$as$u20$core..slice..cmp..SliceContains$GT$14slice_contains17h15f38b2fd26c796bE.exit62.thread" ] %67 = add nuw i64 %.sroa.686.0172, 1 @@ -65947,14 +65954,19 @@ _ZN4core3ops8function6FnOnce9call_once17h1f8de2b18d9ab514E.exit: ; preds = %.noe %74 = add nuw i64 %.sroa.686.0172, 2 %75 = getelementptr inbounds nuw i32, ptr %.sroa.046.sroa.0.0.copyload, i64 %67 %76 = getelementptr inbounds nuw { i32, [3 x i32] }, ptr %.sroa.046.sroa.3.0.copyload, i64 %67 + call void @llvm.assume(i1 true) [ "align"(ptr %68, i64 4) ] + call void @llvm.assume(i1 true) [ "align"(ptr %69, i64 8) ] br label %77 77: ; preds = %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit", %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit.thread117" - %.sroa.1591.1134 = phi ptr [ %69, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit.thread117" ], [ %76, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit" ] - %.sroa.12.1133 = phi ptr [ %68, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit.thread117" ], [ %75, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit" ] - %.sroa.990.1132 = phi ptr [ %.sroa.20.0175, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit.thread117" ], [ %69, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit" ] - %.sroa.089.0131 = phi ptr [ %.sroa.17.0174, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit.thread117" ], [ %68, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit" ] - %.sroa.686.1127 = phi i64 [ %67, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit.thread117" ], [ %74, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit" ] + %.sink213 = phi ptr [ %75, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit" ], [ %68, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit.thread117" ] + %.sink212 = phi ptr [ %76, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit" ], [ %69, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit.thread117" ] + %.sroa.990.1132 = phi ptr [ %69, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit" ], [ %.sroa.20.0175, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit.thread117" ] + %.sroa.089.0131 = phi ptr [ %68, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit" ], [ %.sroa.17.0174, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit.thread117" ] + %.sroa.686.1127 = phi i64 [ %74, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit" ], [ %67, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit.thread117" ] + call void @llvm.assume(i1 true) [ "align"(ptr %.sink213, i64 4) ] + call void @llvm.assume(i1 true) [ "align"(ptr %.sink212, i64 8) ] + call void @llvm.assume(i1 true) [ "align"(ptr %.sroa.089.0131, i64 4) ] call void @llvm.lifetime.start.p0(ptr nonnull %23) %78 = load ptr, ptr %50, align 8, !nonnull !4, !align !10, !noundef !4 %79 = load i32, ptr %.sroa.089.0131, align 4, !noundef !4 @@ -66023,7 +66035,7 @@ _ZN4core3ops8function6FnOnce9call_once17h1f8de2b18d9ab514E.exit: ; preds = %.noe store i8 %110, ptr %23, align 1 call void @llvm.lifetime.start.p0(ptr nonnull %22) %112 = load ptr, ptr %50, align 8, !nonnull !4, !align !10, !noundef !4 - %113 = load i32, ptr %.sroa.12.1133, align 4, !noundef !4 + %113 = load i32, ptr %.sink213, align 4, !noundef !4 %114 = getelementptr inbounds nuw i8, ptr %112, i64 16 %115 = load i64, ptr %114, align 8, !noundef !4 %116 = zext i32 %113 to i64 @@ -66211,7 +66223,7 @@ _ZN4core3ops8function6FnOnce9call_once17h1f8de2b18d9ab514E.exit: ; preds = %.noe %155 = getelementptr inbounds nuw i8, ptr %18, i64 4 store i32 %154, ptr %155, align 4 call void @llvm.lifetime.start.p0(ptr nonnull %17) - %156 = invoke { i32, i32 } @"_ZN73_$LT$yara_x_parser..ast..Expr$u20$as$u20$yara_x_parser..ast..WithSpan$GT$4span17hc943cd00c02d8da6E"(ptr noalias noundef nonnull readonly align 8 dereferenceable(16) %.sroa.1591.1134) + %156 = invoke { i32, i32 } @"_ZN73_$LT$yara_x_parser..ast..Expr$u20$as$u20$yara_x_parser..ast..WithSpan$GT$4span17hc943cd00c02d8da6E"(ptr noalias noundef nonnull readonly align 8 dereferenceable(16) %.sink212) to label %157 unwind label %190 157: ; preds = %152 @@ -66551,8 +66563,8 @@ define internal fastcc void @_ZN6yara_x8compiler2ir6ast2ir17add_expr_from_ast17h br label %66 66: ; preds = %.lr.ph, %"_ZN53_$LT$T$u20$as$u20$core..slice..cmp..SliceContains$GT$14slice_contains17h15f38b2fd26c796bE.exit62.thread" - %.sroa.20.0171 = phi ptr [ undef, %.lr.ph ], [ %.sroa.1589.1132, %"_ZN53_$LT$T$u20$as$u20$core..slice..cmp..SliceContains$GT$14slice_contains17h15f38b2fd26c796bE.exit62.thread" ] - %.sroa.17.0170 = phi ptr [ undef, %.lr.ph ], [ %.sroa.12.1131, %"_ZN53_$LT$T$u20$as$u20$core..slice..cmp..SliceContains$GT$14slice_contains17h15f38b2fd26c796bE.exit62.thread" ] + %.sroa.20.0171 = phi ptr [ undef, %.lr.ph ], [ %.sink203, %"_ZN53_$LT$T$u20$as$u20$core..slice..cmp..SliceContains$GT$14slice_contains17h15f38b2fd26c796bE.exit62.thread" ] + %.sroa.17.0170 = phi ptr [ undef, %.lr.ph ], [ %.sink204, %"_ZN53_$LT$T$u20$as$u20$core..slice..cmp..SliceContains$GT$14slice_contains17h15f38b2fd26c796bE.exit62.thread" ] %.sroa.1086.0169 = phi i1 [ true, %.lr.ph ], [ false, %"_ZN53_$LT$T$u20$as$u20$core..slice..cmp..SliceContains$GT$14slice_contains17h15f38b2fd26c796bE.exit62.thread" ] %.sroa.684.0168 = phi i64 [ %.sroa.046.sroa.5.0.copyload, %.lr.ph ], [ %.sroa.684.1125, %"_ZN53_$LT$T$u20$as$u20$core..slice..cmp..SliceContains$GT$14slice_contains17h15f38b2fd26c796bE.exit62.thread" ] %67 = add nuw i64 %.sroa.684.0168, 1 @@ -66575,14 +66587,19 @@ define internal fastcc void @_ZN6yara_x8compiler2ir6ast2ir17add_expr_from_ast17h %74 = add nuw i64 %.sroa.684.0168, 2 %75 = getelementptr inbounds nuw i32, ptr %.sroa.046.sroa.0.0.copyload, i64 %67 %76 = getelementptr inbounds nuw { i32, [3 x i32] }, ptr %.sroa.046.sroa.3.0.copyload, i64 %67 + call void @llvm.assume(i1 true) [ "align"(ptr %68, i64 4) ] + call void @llvm.assume(i1 true) [ "align"(ptr %69, i64 8) ] br label %77 77: ; preds = %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit", %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit.thread115" - %.sroa.1589.1132 = phi ptr [ %69, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit.thread115" ], [ %76, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit" ] - %.sroa.12.1131 = phi ptr [ %68, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit.thread115" ], [ %75, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit" ] - %.sroa.988.1130 = phi ptr [ %.sroa.20.0171, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit.thread115" ], [ %69, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit" ] - %.sroa.087.0129 = phi ptr [ %.sroa.17.0170, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit.thread115" ], [ %68, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit" ] - %.sroa.684.1125 = phi i64 [ %67, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit.thread115" ], [ %74, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit" ] + %.sink204 = phi ptr [ %75, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit" ], [ %68, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit.thread115" ] + %.sink203 = phi ptr [ %76, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit" ], [ %69, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit.thread115" ] + %.sroa.988.1130 = phi ptr [ %69, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit" ], [ %.sroa.20.0171, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit.thread115" ] + %.sroa.087.0129 = phi ptr [ %68, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit" ], [ %.sroa.17.0170, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit.thread115" ] + %.sroa.684.1125 = phi i64 [ %74, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit" ], [ %67, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit.thread115" ] + call void @llvm.assume(i1 true) [ "align"(ptr %.sink204, i64 4) ] + call void @llvm.assume(i1 true) [ "align"(ptr %.sink203, i64 8) ] + call void @llvm.assume(i1 true) [ "align"(ptr %.sroa.087.0129, i64 4) ] call void @llvm.lifetime.start.p0(ptr nonnull %23) %78 = load ptr, ptr %50, align 8, !nonnull !4, !align !10, !noundef !4 %79 = load i32, ptr %.sroa.087.0129, align 4, !noundef !4 @@ -66651,7 +66668,7 @@ define internal fastcc void @_ZN6yara_x8compiler2ir6ast2ir17add_expr_from_ast17h store i8 %110, ptr %23, align 1 call void @llvm.lifetime.start.p0(ptr nonnull %22) %112 = load ptr, ptr %50, align 8, !nonnull !4, !align !10, !noundef !4 - %113 = load i32, ptr %.sroa.12.1131, align 4, !noundef !4 + %113 = load i32, ptr %.sink204, align 4, !noundef !4 %114 = getelementptr inbounds nuw i8, ptr %112, i64 16 %115 = load i64, ptr %114, align 8, !noundef !4 %116 = zext i32 %113 to i64 @@ -66839,7 +66856,7 @@ define internal fastcc void @_ZN6yara_x8compiler2ir6ast2ir17add_expr_from_ast17h %155 = getelementptr inbounds nuw i8, ptr %18, i64 4 store i32 %154, ptr %155, align 4 call void @llvm.lifetime.start.p0(ptr nonnull %17) - %156 = invoke { i32, i32 } @"_ZN73_$LT$yara_x_parser..ast..Expr$u20$as$u20$yara_x_parser..ast..WithSpan$GT$4span17hc943cd00c02d8da6E"(ptr noalias noundef nonnull readonly align 8 dereferenceable(16) %.sroa.1589.1132) + %156 = invoke { i32, i32 } @"_ZN73_$LT$yara_x_parser..ast..Expr$u20$as$u20$yara_x_parser..ast..WithSpan$GT$4span17hc943cd00c02d8da6E"(ptr noalias noundef nonnull readonly align 8 dereferenceable(16) %.sink203) to label %157 unwind label %190 157: ; preds = %152 @@ -67098,8 +67115,8 @@ define internal fastcc void @_ZN6yara_x8compiler2ir6ast2ir17sub_expr_from_ast17h br label %66 66: ; preds = %.lr.ph, %"_ZN53_$LT$T$u20$as$u20$core..slice..cmp..SliceContains$GT$14slice_contains17h15f38b2fd26c796bE.exit62.thread" - %.sroa.20.0171 = phi ptr [ undef, %.lr.ph ], [ %.sroa.1589.1132, %"_ZN53_$LT$T$u20$as$u20$core..slice..cmp..SliceContains$GT$14slice_contains17h15f38b2fd26c796bE.exit62.thread" ] - %.sroa.17.0170 = phi ptr [ undef, %.lr.ph ], [ %.sroa.12.1131, %"_ZN53_$LT$T$u20$as$u20$core..slice..cmp..SliceContains$GT$14slice_contains17h15f38b2fd26c796bE.exit62.thread" ] + %.sroa.20.0171 = phi ptr [ undef, %.lr.ph ], [ %.sink203, %"_ZN53_$LT$T$u20$as$u20$core..slice..cmp..SliceContains$GT$14slice_contains17h15f38b2fd26c796bE.exit62.thread" ] + %.sroa.17.0170 = phi ptr [ undef, %.lr.ph ], [ %.sink204, %"_ZN53_$LT$T$u20$as$u20$core..slice..cmp..SliceContains$GT$14slice_contains17h15f38b2fd26c796bE.exit62.thread" ] %.sroa.1086.0169 = phi i1 [ true, %.lr.ph ], [ false, %"_ZN53_$LT$T$u20$as$u20$core..slice..cmp..SliceContains$GT$14slice_contains17h15f38b2fd26c796bE.exit62.thread" ] %.sroa.684.0168 = phi i64 [ %.sroa.046.sroa.5.0.copyload, %.lr.ph ], [ %.sroa.684.1125, %"_ZN53_$LT$T$u20$as$u20$core..slice..cmp..SliceContains$GT$14slice_contains17h15f38b2fd26c796bE.exit62.thread" ] %67 = add nuw i64 %.sroa.684.0168, 1 @@ -67122,14 +67139,19 @@ define internal fastcc void @_ZN6yara_x8compiler2ir6ast2ir17sub_expr_from_ast17h %74 = add nuw i64 %.sroa.684.0168, 2 %75 = getelementptr inbounds nuw i32, ptr %.sroa.046.sroa.0.0.copyload, i64 %67 %76 = getelementptr inbounds nuw { i32, [3 x i32] }, ptr %.sroa.046.sroa.3.0.copyload, i64 %67 + call void @llvm.assume(i1 true) [ "align"(ptr %68, i64 4) ] + call void @llvm.assume(i1 true) [ "align"(ptr %69, i64 8) ] br label %77 77: ; preds = %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit", %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit.thread115" - %.sroa.1589.1132 = phi ptr [ %69, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit.thread115" ], [ %76, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit" ] - %.sroa.12.1131 = phi ptr [ %68, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit.thread115" ], [ %75, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit" ] - %.sroa.988.1130 = phi ptr [ %.sroa.20.0171, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit.thread115" ], [ %69, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit" ] - %.sroa.087.0129 = phi ptr [ %.sroa.17.0170, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit.thread115" ], [ %68, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit" ] - %.sroa.684.1125 = phi i64 [ %67, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit.thread115" ], [ %74, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit" ] + %.sink204 = phi ptr [ %75, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit" ], [ %68, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit.thread115" ] + %.sink203 = phi ptr [ %76, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit" ], [ %69, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit.thread115" ] + %.sroa.988.1130 = phi ptr [ %69, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit" ], [ %.sroa.20.0171, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit.thread115" ] + %.sroa.087.0129 = phi ptr [ %68, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit" ], [ %.sroa.17.0170, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit.thread115" ] + %.sroa.684.1125 = phi i64 [ %74, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit" ], [ %67, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit.thread115" ] + call void @llvm.assume(i1 true) [ "align"(ptr %.sink204, i64 4) ] + call void @llvm.assume(i1 true) [ "align"(ptr %.sink203, i64 8) ] + call void @llvm.assume(i1 true) [ "align"(ptr %.sroa.087.0129, i64 4) ] call void @llvm.lifetime.start.p0(ptr nonnull %23) %78 = load ptr, ptr %50, align 8, !nonnull !4, !align !10, !noundef !4 %79 = load i32, ptr %.sroa.087.0129, align 4, !noundef !4 @@ -67198,7 +67220,7 @@ define internal fastcc void @_ZN6yara_x8compiler2ir6ast2ir17sub_expr_from_ast17h store i8 %110, ptr %23, align 1 call void @llvm.lifetime.start.p0(ptr nonnull %22) %112 = load ptr, ptr %50, align 8, !nonnull !4, !align !10, !noundef !4 - %113 = load i32, ptr %.sroa.12.1131, align 4, !noundef !4 + %113 = load i32, ptr %.sink204, align 4, !noundef !4 %114 = getelementptr inbounds nuw i8, ptr %112, i64 16 %115 = load i64, ptr %114, align 8, !noundef !4 %116 = zext i32 %113 to i64 @@ -67386,7 +67408,7 @@ define internal fastcc void @_ZN6yara_x8compiler2ir6ast2ir17sub_expr_from_ast17h %155 = getelementptr inbounds nuw i8, ptr %18, i64 4 store i32 %154, ptr %155, align 4 call void @llvm.lifetime.start.p0(ptr nonnull %17) - %156 = invoke { i32, i32 } @"_ZN73_$LT$yara_x_parser..ast..Expr$u20$as$u20$yara_x_parser..ast..WithSpan$GT$4span17hc943cd00c02d8da6E"(ptr noalias noundef nonnull readonly align 8 dereferenceable(16) %.sroa.1589.1132) + %156 = invoke { i32, i32 } @"_ZN73_$LT$yara_x_parser..ast..Expr$u20$as$u20$yara_x_parser..ast..WithSpan$GT$4span17hc943cd00c02d8da6E"(ptr noalias noundef nonnull readonly align 8 dereferenceable(16) %.sink203) to label %157 unwind label %190 157: ; preds = %152 @@ -67645,8 +67667,8 @@ define internal fastcc void @_ZN6yara_x8compiler2ir6ast2ir17mul_expr_from_ast17h br label %66 66: ; preds = %.lr.ph, %"_ZN53_$LT$T$u20$as$u20$core..slice..cmp..SliceContains$GT$14slice_contains17h15f38b2fd26c796bE.exit62.thread" - %.sroa.20.0171 = phi ptr [ undef, %.lr.ph ], [ %.sroa.1589.1132, %"_ZN53_$LT$T$u20$as$u20$core..slice..cmp..SliceContains$GT$14slice_contains17h15f38b2fd26c796bE.exit62.thread" ] - %.sroa.17.0170 = phi ptr [ undef, %.lr.ph ], [ %.sroa.12.1131, %"_ZN53_$LT$T$u20$as$u20$core..slice..cmp..SliceContains$GT$14slice_contains17h15f38b2fd26c796bE.exit62.thread" ] + %.sroa.20.0171 = phi ptr [ undef, %.lr.ph ], [ %.sink203, %"_ZN53_$LT$T$u20$as$u20$core..slice..cmp..SliceContains$GT$14slice_contains17h15f38b2fd26c796bE.exit62.thread" ] + %.sroa.17.0170 = phi ptr [ undef, %.lr.ph ], [ %.sink204, %"_ZN53_$LT$T$u20$as$u20$core..slice..cmp..SliceContains$GT$14slice_contains17h15f38b2fd26c796bE.exit62.thread" ] %.sroa.1086.0169 = phi i1 [ true, %.lr.ph ], [ false, %"_ZN53_$LT$T$u20$as$u20$core..slice..cmp..SliceContains$GT$14slice_contains17h15f38b2fd26c796bE.exit62.thread" ] %.sroa.684.0168 = phi i64 [ %.sroa.046.sroa.5.0.copyload, %.lr.ph ], [ %.sroa.684.1125, %"_ZN53_$LT$T$u20$as$u20$core..slice..cmp..SliceContains$GT$14slice_contains17h15f38b2fd26c796bE.exit62.thread" ] %67 = add nuw i64 %.sroa.684.0168, 1 @@ -67669,14 +67691,19 @@ define internal fastcc void @_ZN6yara_x8compiler2ir6ast2ir17mul_expr_from_ast17h %74 = add nuw i64 %.sroa.684.0168, 2 %75 = getelementptr inbounds nuw i32, ptr %.sroa.046.sroa.0.0.copyload, i64 %67 %76 = getelementptr inbounds nuw { i32, [3 x i32] }, ptr %.sroa.046.sroa.3.0.copyload, i64 %67 + call void @llvm.assume(i1 true) [ "align"(ptr %68, i64 4) ] + call void @llvm.assume(i1 true) [ "align"(ptr %69, i64 8) ] br label %77 77: ; preds = %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit", %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit.thread115" - %.sroa.1589.1132 = phi ptr [ %69, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit.thread115" ], [ %76, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit" ] - %.sroa.12.1131 = phi ptr [ %68, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit.thread115" ], [ %75, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit" ] - %.sroa.988.1130 = phi ptr [ %.sroa.20.0171, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit.thread115" ], [ %69, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit" ] - %.sroa.087.0129 = phi ptr [ %.sroa.17.0170, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit.thread115" ], [ %68, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit" ] - %.sroa.684.1125 = phi i64 [ %67, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit.thread115" ], [ %74, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit" ] + %.sink204 = phi ptr [ %75, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit" ], [ %68, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit.thread115" ] + %.sink203 = phi ptr [ %76, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit" ], [ %69, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit.thread115" ] + %.sroa.988.1130 = phi ptr [ %69, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit" ], [ %.sroa.20.0171, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit.thread115" ] + %.sroa.087.0129 = phi ptr [ %68, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit" ], [ %.sroa.17.0170, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit.thread115" ] + %.sroa.684.1125 = phi i64 [ %74, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit" ], [ %67, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit.thread115" ] + call void @llvm.assume(i1 true) [ "align"(ptr %.sink204, i64 4) ] + call void @llvm.assume(i1 true) [ "align"(ptr %.sink203, i64 8) ] + call void @llvm.assume(i1 true) [ "align"(ptr %.sroa.087.0129, i64 4) ] call void @llvm.lifetime.start.p0(ptr nonnull %23) %78 = load ptr, ptr %50, align 8, !nonnull !4, !align !10, !noundef !4 %79 = load i32, ptr %.sroa.087.0129, align 4, !noundef !4 @@ -67745,7 +67772,7 @@ define internal fastcc void @_ZN6yara_x8compiler2ir6ast2ir17mul_expr_from_ast17h store i8 %110, ptr %23, align 1 call void @llvm.lifetime.start.p0(ptr nonnull %22) %112 = load ptr, ptr %50, align 8, !nonnull !4, !align !10, !noundef !4 - %113 = load i32, ptr %.sroa.12.1131, align 4, !noundef !4 + %113 = load i32, ptr %.sink204, align 4, !noundef !4 %114 = getelementptr inbounds nuw i8, ptr %112, i64 16 %115 = load i64, ptr %114, align 8, !noundef !4 %116 = zext i32 %113 to i64 @@ -67933,7 +67960,7 @@ define internal fastcc void @_ZN6yara_x8compiler2ir6ast2ir17mul_expr_from_ast17h %155 = getelementptr inbounds nuw i8, ptr %18, i64 4 store i32 %154, ptr %155, align 4 call void @llvm.lifetime.start.p0(ptr nonnull %17) - %156 = invoke { i32, i32 } @"_ZN73_$LT$yara_x_parser..ast..Expr$u20$as$u20$yara_x_parser..ast..WithSpan$GT$4span17hc943cd00c02d8da6E"(ptr noalias noundef nonnull readonly align 8 dereferenceable(16) %.sroa.1589.1132) + %156 = invoke { i32, i32 } @"_ZN73_$LT$yara_x_parser..ast..Expr$u20$as$u20$yara_x_parser..ast..WithSpan$GT$4span17hc943cd00c02d8da6E"(ptr noalias noundef nonnull readonly align 8 dereferenceable(16) %.sink203) to label %157 unwind label %190 157: ; preds = %152 @@ -68192,8 +68219,8 @@ define internal fastcc void @_ZN6yara_x8compiler2ir6ast2ir17div_expr_from_ast17h br label %66 66: ; preds = %.lr.ph, %"_ZN53_$LT$T$u20$as$u20$core..slice..cmp..SliceContains$GT$14slice_contains17h15f38b2fd26c796bE.exit62.thread" - %.sroa.20.0171 = phi ptr [ undef, %.lr.ph ], [ %.sroa.1589.1132, %"_ZN53_$LT$T$u20$as$u20$core..slice..cmp..SliceContains$GT$14slice_contains17h15f38b2fd26c796bE.exit62.thread" ] - %.sroa.17.0170 = phi ptr [ undef, %.lr.ph ], [ %.sroa.12.1131, %"_ZN53_$LT$T$u20$as$u20$core..slice..cmp..SliceContains$GT$14slice_contains17h15f38b2fd26c796bE.exit62.thread" ] + %.sroa.20.0171 = phi ptr [ undef, %.lr.ph ], [ %.sink203, %"_ZN53_$LT$T$u20$as$u20$core..slice..cmp..SliceContains$GT$14slice_contains17h15f38b2fd26c796bE.exit62.thread" ] + %.sroa.17.0170 = phi ptr [ undef, %.lr.ph ], [ %.sink204, %"_ZN53_$LT$T$u20$as$u20$core..slice..cmp..SliceContains$GT$14slice_contains17h15f38b2fd26c796bE.exit62.thread" ] %.sroa.1086.0169 = phi i1 [ true, %.lr.ph ], [ false, %"_ZN53_$LT$T$u20$as$u20$core..slice..cmp..SliceContains$GT$14slice_contains17h15f38b2fd26c796bE.exit62.thread" ] %.sroa.684.0168 = phi i64 [ %.sroa.046.sroa.5.0.copyload, %.lr.ph ], [ %.sroa.684.1125, %"_ZN53_$LT$T$u20$as$u20$core..slice..cmp..SliceContains$GT$14slice_contains17h15f38b2fd26c796bE.exit62.thread" ] %67 = add nuw i64 %.sroa.684.0168, 1 @@ -68216,14 +68243,19 @@ define internal fastcc void @_ZN6yara_x8compiler2ir6ast2ir17div_expr_from_ast17h %74 = add nuw i64 %.sroa.684.0168, 2 %75 = getelementptr inbounds nuw i32, ptr %.sroa.046.sroa.0.0.copyload, i64 %67 %76 = getelementptr inbounds nuw { i32, [3 x i32] }, ptr %.sroa.046.sroa.3.0.copyload, i64 %67 + call void @llvm.assume(i1 true) [ "align"(ptr %68, i64 4) ] + call void @llvm.assume(i1 true) [ "align"(ptr %69, i64 8) ] br label %77 77: ; preds = %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit", %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit.thread115" - %.sroa.1589.1132 = phi ptr [ %69, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit.thread115" ], [ %76, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit" ] - %.sroa.12.1131 = phi ptr [ %68, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit.thread115" ], [ %75, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit" ] - %.sroa.988.1130 = phi ptr [ %.sroa.20.0171, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit.thread115" ], [ %69, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit" ] - %.sroa.087.0129 = phi ptr [ %.sroa.17.0170, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit.thread115" ], [ %68, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit" ] - %.sroa.684.1125 = phi i64 [ %67, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit.thread115" ], [ %74, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit" ] + %.sink204 = phi ptr [ %75, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit" ], [ %68, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit.thread115" ] + %.sink203 = phi ptr [ %76, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit" ], [ %69, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit.thread115" ] + %.sroa.988.1130 = phi ptr [ %69, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit" ], [ %.sroa.20.0171, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit.thread115" ] + %.sroa.087.0129 = phi ptr [ %68, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit" ], [ %.sroa.17.0170, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit.thread115" ] + %.sroa.684.1125 = phi i64 [ %74, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit" ], [ %67, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit.thread115" ] + call void @llvm.assume(i1 true) [ "align"(ptr %.sink204, i64 4) ] + call void @llvm.assume(i1 true) [ "align"(ptr %.sink203, i64 8) ] + call void @llvm.assume(i1 true) [ "align"(ptr %.sroa.087.0129, i64 4) ] call void @llvm.lifetime.start.p0(ptr nonnull %23) %78 = load ptr, ptr %50, align 8, !nonnull !4, !align !10, !noundef !4 %79 = load i32, ptr %.sroa.087.0129, align 4, !noundef !4 @@ -68292,7 +68324,7 @@ define internal fastcc void @_ZN6yara_x8compiler2ir6ast2ir17div_expr_from_ast17h store i8 %110, ptr %23, align 1 call void @llvm.lifetime.start.p0(ptr nonnull %22) %112 = load ptr, ptr %50, align 8, !nonnull !4, !align !10, !noundef !4 - %113 = load i32, ptr %.sroa.12.1131, align 4, !noundef !4 + %113 = load i32, ptr %.sink204, align 4, !noundef !4 %114 = getelementptr inbounds nuw i8, ptr %112, i64 16 %115 = load i64, ptr %114, align 8, !noundef !4 %116 = zext i32 %113 to i64 @@ -68480,7 +68512,7 @@ define internal fastcc void @_ZN6yara_x8compiler2ir6ast2ir17div_expr_from_ast17h %155 = getelementptr inbounds nuw i8, ptr %18, i64 4 store i32 %154, ptr %155, align 4 call void @llvm.lifetime.start.p0(ptr nonnull %17) - %156 = invoke { i32, i32 } @"_ZN73_$LT$yara_x_parser..ast..Expr$u20$as$u20$yara_x_parser..ast..WithSpan$GT$4span17hc943cd00c02d8da6E"(ptr noalias noundef nonnull readonly align 8 dereferenceable(16) %.sroa.1589.1132) + %156 = invoke { i32, i32 } @"_ZN73_$LT$yara_x_parser..ast..Expr$u20$as$u20$yara_x_parser..ast..WithSpan$GT$4span17hc943cd00c02d8da6E"(ptr noalias noundef nonnull readonly align 8 dereferenceable(16) %.sink203) to label %157 unwind label %190 157: ; preds = %152 @@ -68739,8 +68771,8 @@ define internal fastcc void @_ZN6yara_x8compiler2ir6ast2ir17mod_expr_from_ast17h br label %65 65: ; preds = %.lr.ph, %"_ZN53_$LT$T$u20$as$u20$core..slice..cmp..SliceContains$GT$14slice_contains17h15f38b2fd26c796bE.exit62.thread" - %.sroa.20.0196 = phi ptr [ undef, %.lr.ph ], [ %.sroa.1589.1132, %"_ZN53_$LT$T$u20$as$u20$core..slice..cmp..SliceContains$GT$14slice_contains17h15f38b2fd26c796bE.exit62.thread" ] - %.sroa.17.0195 = phi ptr [ undef, %.lr.ph ], [ %.sroa.12.1131, %"_ZN53_$LT$T$u20$as$u20$core..slice..cmp..SliceContains$GT$14slice_contains17h15f38b2fd26c796bE.exit62.thread" ] + %.sroa.20.0196 = phi ptr [ undef, %.lr.ph ], [ %.sink223, %"_ZN53_$LT$T$u20$as$u20$core..slice..cmp..SliceContains$GT$14slice_contains17h15f38b2fd26c796bE.exit62.thread" ] + %.sroa.17.0195 = phi ptr [ undef, %.lr.ph ], [ %.sink224, %"_ZN53_$LT$T$u20$as$u20$core..slice..cmp..SliceContains$GT$14slice_contains17h15f38b2fd26c796bE.exit62.thread" ] %.sroa.1086.0194 = phi i1 [ true, %.lr.ph ], [ false, %"_ZN53_$LT$T$u20$as$u20$core..slice..cmp..SliceContains$GT$14slice_contains17h15f38b2fd26c796bE.exit62.thread" ] %.sroa.684.0193 = phi i64 [ %.sroa.046.sroa.5.0.copyload, %.lr.ph ], [ %.sroa.684.1125, %"_ZN53_$LT$T$u20$as$u20$core..slice..cmp..SliceContains$GT$14slice_contains17h15f38b2fd26c796bE.exit62.thread" ] %66 = add nuw i64 %.sroa.684.0193, 1 @@ -68763,14 +68795,19 @@ define internal fastcc void @_ZN6yara_x8compiler2ir6ast2ir17mod_expr_from_ast17h %73 = add nuw i64 %.sroa.684.0193, 2 %74 = getelementptr inbounds nuw i32, ptr %.sroa.046.sroa.0.0.copyload, i64 %66 %75 = getelementptr inbounds nuw { i32, [3 x i32] }, ptr %.sroa.046.sroa.3.0.copyload, i64 %66 + call void @llvm.assume(i1 true) [ "align"(ptr %67, i64 4) ] + call void @llvm.assume(i1 true) [ "align"(ptr %68, i64 8) ] br label %76 76: ; preds = %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit", %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit.thread115" - %.sroa.1589.1132 = phi ptr [ %68, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit.thread115" ], [ %75, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit" ] - %.sroa.12.1131 = phi ptr [ %67, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit.thread115" ], [ %74, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit" ] - %.sroa.988.1130 = phi ptr [ %.sroa.20.0196, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit.thread115" ], [ %68, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit" ] - %.sroa.087.0129 = phi ptr [ %.sroa.17.0195, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit.thread115" ], [ %67, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit" ] - %.sroa.684.1125 = phi i64 [ %66, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit.thread115" ], [ %73, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit" ] + %.sink224 = phi ptr [ %74, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit" ], [ %67, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit.thread115" ] + %.sink223 = phi ptr [ %75, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit" ], [ %68, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit.thread115" ] + %.sroa.988.1130 = phi ptr [ %68, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit" ], [ %.sroa.20.0196, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit.thread115" ] + %.sroa.087.0129 = phi ptr [ %67, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit" ], [ %.sroa.17.0195, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit.thread115" ] + %.sroa.684.1125 = phi i64 [ %73, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit" ], [ %66, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit.thread115" ] + call void @llvm.assume(i1 true) [ "align"(ptr %.sink224, i64 4) ] + call void @llvm.assume(i1 true) [ "align"(ptr %.sink223, i64 8) ] + call void @llvm.assume(i1 true) [ "align"(ptr %.sroa.087.0129, i64 4) ] call void @llvm.lifetime.start.p0(ptr nonnull %23) %77 = load ptr, ptr %50, align 8, !nonnull !4, !align !10, !noundef !4 %78 = load i32, ptr %.sroa.087.0129, align 4, !noundef !4 @@ -68839,7 +68876,7 @@ define internal fastcc void @_ZN6yara_x8compiler2ir6ast2ir17mod_expr_from_ast17h store i8 %109, ptr %23, align 1 call void @llvm.lifetime.start.p0(ptr nonnull %22) %111 = load ptr, ptr %50, align 8, !nonnull !4, !align !10, !noundef !4 - %112 = load i32, ptr %.sroa.12.1131, align 4, !noundef !4 + %112 = load i32, ptr %.sink224, align 4, !noundef !4 %113 = getelementptr inbounds nuw i8, ptr %111, i64 16 %114 = load i64, ptr %113, align 8, !noundef !4 %115 = zext i32 %112 to i64 @@ -69009,7 +69046,7 @@ define internal fastcc void @_ZN6yara_x8compiler2ir6ast2ir17mod_expr_from_ast17h %152 = getelementptr inbounds nuw i8, ptr %18, i64 4 store i32 %151, ptr %152, align 4 call void @llvm.lifetime.start.p0(ptr nonnull %17) - %153 = invoke { i32, i32 } @"_ZN73_$LT$yara_x_parser..ast..Expr$u20$as$u20$yara_x_parser..ast..WithSpan$GT$4span17hc943cd00c02d8da6E"(ptr noalias noundef nonnull readonly align 8 dereferenceable(16) %.sroa.1589.1132) + %153 = invoke { i32, i32 } @"_ZN73_$LT$yara_x_parser..ast..Expr$u20$as$u20$yara_x_parser..ast..WithSpan$GT$4span17hc943cd00c02d8da6E"(ptr noalias noundef nonnull readonly align 8 dereferenceable(16) %.sink223) to label %154 unwind label %187 154: ; preds = %149 @@ -79686,6 +79723,7 @@ define noundef i64 @_ZN6yara_x4wasm13lookup_object17h63730da43fc619e3E(ptr noali call void @llvm.lifetime.start.p0(ptr nonnull %7) %.val = load ptr, ptr %0, align 8 call fastcc void @_ZN6yara_x4wasm12lookup_field17h8e45f74d92454592E(ptr noalias noundef align 8 captures(none) dereferenceable(48) %7, ptr %.val, ptr noundef %1, i32 noundef %2) + call void @llvm.assume(i1 true) [ "align"(ptr %.val, i64 8) ] %8 = getelementptr inbounds nuw i8, ptr %.val, i64 528 %9 = load i8, ptr %7, align 8, !range !266, !noundef !4 switch i8 %9, label %10 [ diff --git a/bench/yara-x-rs/optimized/aqllqyzrtxqplivthssual6c8.ll b/bench/yara-x-rs/optimized/aqllqyzrtxqplivthssual6c8.ll index 1d76f6b58a7..29524678750 100644 --- a/bench/yara-x-rs/optimized/aqllqyzrtxqplivthssual6c8.ll +++ b/bench/yara-x-rs/optimized/aqllqyzrtxqplivthssual6c8.ll @@ -52713,18 +52713,13 @@ define hidden void @_ZN8protobuf7reflect13runtime_types16RuntimeTypeTrait18set_f %8 = icmp ugt i64 %7, 10 %9 = icmp ne i64 %7, 9 tail call void @llvm.assume(i1 %9) - br i1 %8, label %10, label %._crit_edge - -._crit_edge: ; preds = %2 - %.sroa.6.0..sroa_idx.phi.trans.insert = getelementptr inbounds nuw i8, ptr %1, i64 8 - %.sroa.6.0.copyload.pre = load i32, ptr %.sroa.6.0..sroa_idx.phi.trans.insert, align 8, !alias.scope !8969 - br label %46 + br i1 %8, label %10, label %47 10: ; preds = %2 call void @llvm.lifetime.start.p0(ptr nonnull %4), !noalias !8969 tail call void @llvm.experimental.noalias.scope.decl(metadata !8970) %11 = invoke noundef align 8 dereferenceable(24) ptr @"_ZN9once_cell4sync17OnceCell$LT$T$GT$15get_or_try_init17h0cf3cb43f8657886E"(ptr noundef nonnull align 8 @"_ZN118_$LT$yara_x..modules..protos..sandbox..ip_traffic..TransportLayerProtocol$u20$as$u20$protobuf..enum_full..EnumFull$GT$15enum_descriptor10descriptor17hd3bc0c3a9cd46819E") - to label %.noexc.i unwind label %43, !noalias !8969 + to label %.noexc.i unwind label %44, !noalias !8969 .noexc.i: ; preds = %10 %12 = load i64, ptr %11, align 8, !range !948, !noalias !8973, !noundef !3 @@ -52754,69 +52749,73 @@ define hidden void @_ZN8protobuf7reflect13runtime_types16RuntimeTypeTrait18set_f store i64 %21, ptr %23, align 8, !alias.scope !8970, !noalias !8969 %24 = trunc nuw i64 %6 to i1 %25 = trunc nuw i64 %.sroa.01.0.i.i to i1 - %26 = getelementptr inbounds nuw i8, ptr %1, i64 8 - %27 = load ptr, ptr %26, align 8 - %28 = ptrtoint ptr %27 to i64 - %29 = trunc i64 %28 to i32 - br i1 %24, label %30, label %32 + br i1 %24, label %26, label %30 + +26: ; preds = %._crit_edge.i + %27 = getelementptr inbounds nuw i8, ptr %1, i64 8 + %28 = load ptr, ptr %27, align 8, !alias.scope !8967, !noalias !8964, !nonnull !3 + %29 = icmp eq ptr %28, %.sroa.5.0.i.i + %or.cond.i = select i1 %25, i1 %29, i1 false + br i1 %or.cond.i, label %35, label %39 30: ; preds = %._crit_edge.i - %31 = icmp eq ptr %27, %.sroa.5.0.i.i - %or.cond7.i = select i1 %25, i1 %31, i1 false - br i1 %or.cond7.i, label %34, label %38 - -32: ; preds = %._crit_edge.i - %33 = icmp ne ptr %27, %.sroa.5.0.i.i - %or.cond.not.i = select i1 %25, i1 true, i1 %33 - br i1 %or.cond.not.i, label %38, label %34 - -34: ; preds = %32, %30 - %35 = getelementptr inbounds nuw i8, ptr %1, i64 16 - %36 = load i64, ptr %35, align 8, !alias.scope !8967, !noalias !8964, !noundef !3 - %37 = icmp eq i64 %36, %21 - br i1 %37, label %39, label %38 - -38: ; preds = %34, %32, %30 + br i1 %25, label %39, label %31 + +31: ; preds = %30 + %32 = getelementptr inbounds nuw i8, ptr %1, i64 8 + %33 = load ptr, ptr %32, align 8, !alias.scope !8967, !noalias !8964, !nonnull !3, !align !26, !noundef !3 + call void @llvm.assume(i1 true) [ "align"(ptr %.sroa.5.0.i.i, i64 8) ] + %34 = icmp eq ptr %33, %.sroa.5.0.i.i + br i1 %34, label %35, label %39 + +35: ; preds = %31, %26 + %36 = getelementptr inbounds nuw i8, ptr %1, i64 16 + %37 = load i64, ptr %36, align 8, !alias.scope !8967, !noalias !8964, !noundef !3 + %38 = icmp eq i64 %37, %21 + br i1 %38, label %40, label %39 + +39: ; preds = %35, %31, %30, %26 invoke void @"_ZN4core3ptr61drop_in_place$LT$protobuf..reflect..enums..EnumDescriptor$GT$17h80ec976af8edaa35E"(ptr noalias noundef nonnull align 8 dereferenceable(24) %4) - to label %42 unwind label %43, !noalias !8969 + to label %43 unwind label %44, !noalias !8969 -39: ; preds = %34 +40: ; preds = %35 invoke void @"_ZN4core3ptr61drop_in_place$LT$protobuf..reflect..enums..EnumDescriptor$GT$17h80ec976af8edaa35E"(ptr noalias noundef nonnull align 8 dereferenceable(24) %4) - to label %"_ZN4core6result19Result$LT$T$C$E$GT$6expect17h1b3aaf0289f488f5E.exit" unwind label %43, !noalias !8969 + to label %"_ZN4core6result19Result$LT$T$C$E$GT$6expect17h1b3aaf0289f488f5E.exit" unwind label %44, !noalias !8969 -"_ZN4core6result19Result$LT$T$C$E$GT$6expect17h1b3aaf0289f488f5E.exit": ; preds = %39 +"_ZN4core6result19Result$LT$T$C$E$GT$6expect17h1b3aaf0289f488f5E.exit": ; preds = %40 call void @llvm.lifetime.end.p0(ptr nonnull %4), !noalias !8969 call void @llvm.lifetime.start.p0(ptr nonnull %5), !noalias !8969 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %5, ptr noundef nonnull align 8 dereferenceable(32) %1, i64 24, i1 false), !noalias !8964 - %40 = getelementptr inbounds nuw i8, ptr %1, i64 24 - %41 = load i32, ptr %40, align 8, !alias.scope !8967, !noalias !8964, !noundef !3 + %41 = getelementptr inbounds nuw i8, ptr %1, i64 24 + %42 = load i32, ptr %41, align 8, !alias.scope !8967, !noalias !8964, !noundef !3 call void @"_ZN4core3ptr61drop_in_place$LT$protobuf..reflect..enums..EnumDescriptor$GT$17h80ec976af8edaa35E"(ptr noalias noundef nonnull align 8 dereferenceable(24) %5), !noalias !8969 call void @llvm.lifetime.end.p0(ptr nonnull %5), !noalias !8969 - store i32 %41, ptr %0, align 4 + store i32 %42, ptr %0, align 4 ret void -42: ; preds = %38 +43: ; preds = %39 call void @llvm.lifetime.end.p0(ptr nonnull %4), !noalias !8969 - br label %46 + br label %47 -common.resume: ; preds = %47, %43 - %common.resume.op = phi { ptr, i32 } [ %lpad.thr_comm, %43 ], [ %48, %47 ] +common.resume: ; preds = %48, %44 + %common.resume.op = phi { ptr, i32 } [ %lpad.thr_comm, %44 ], [ %49, %48 ] resume { ptr, i32 } %common.resume.op -43: ; preds = %39, %38, %10 +44: ; preds = %40, %39, %10 %lpad.thr_comm = landingpad { ptr, i32 } cleanup invoke void @"_ZN4core3ptr61drop_in_place$LT$protobuf..reflect..enums..EnumDescriptor$GT$17h80ec976af8edaa35E"(ptr noalias noundef nonnull align 8 dereferenceable(32) %1) #38 - to label %common.resume unwind label %44, !noalias !8964 + to label %common.resume unwind label %45, !noalias !8964 -44: ; preds = %43 - %45 = landingpad { ptr, i32 } +45: ; preds = %44 + %46 = landingpad { ptr, i32 } filter [0 x ptr] zeroinitializer call void @_ZN4core9panicking16panic_in_cleanup17hb7138e7aeec2c1a7E() #37, !noalias !8964 unreachable -46: ; preds = %._crit_edge, %42 - %.sroa.6.0.copyload = phi i32 [ %.sroa.6.0.copyload.pre, %._crit_edge ], [ %29, %42 ] +47: ; preds = %43, %2 + %.sroa.6.0..sroa_idx = getelementptr inbounds nuw i8, ptr %1, i64 8 + %.sroa.6.0.copyload = load i32, ptr %.sroa.6.0..sroa_idx, align 8, !alias.scope !8969 %.sroa.8.0..sroa_idx = getelementptr inbounds nuw i8, ptr %1, i64 12 %.sroa.8.0..sroa_idx4 = getelementptr inbounds nuw i8, ptr %3, i64 12 call void @llvm.lifetime.start.p0(ptr nonnull %3), !noalias !8974 @@ -52825,19 +52824,19 @@ common.resume: ; preds = %47, %43 %.sroa.6.0..sroa_idx2 = getelementptr inbounds nuw i8, ptr %3, i64 8 store i32 %.sroa.6.0.copyload, ptr %.sroa.6.0..sroa_idx2, align 8 invoke void @_ZN4core6result13unwrap_failed17h9e4c136384b1cfa3E(ptr noalias noundef nonnull readonly align 1 @anon.984b4ec87ea907d5526efe1cf64eadcd.406, i64 noundef 10, ptr noundef nonnull align 1 %3, ptr noalias noundef readonly align 8 dereferenceable(32) @anon.984b4ec87ea907d5526efe1cf64eadcd.292, ptr noalias noundef readonly align 8 dereferenceable(24) @anon.984b4ec87ea907d5526efe1cf64eadcd.407) #36 - to label %49 unwind label %47, !noalias !8974 + to label %50 unwind label %48, !noalias !8974 -47: ; preds = %46 - %48 = landingpad { ptr, i32 } +48: ; preds = %47 + %49 = landingpad { ptr, i32 } cleanup invoke void @"_ZN4core3ptr73drop_in_place$LT$protobuf..reflect..value..value_box..ReflectValueBox$GT$17h67d47e368a60ff6bE"(ptr noalias noundef nonnull align 8 dereferenceable(32) %3) #38 - to label %common.resume unwind label %50, !noalias !8974 + to label %common.resume unwind label %51, !noalias !8974 -49: ; preds = %46 +50: ; preds = %47 unreachable -50: ; preds = %47 - %51 = landingpad { ptr, i32 } +51: ; preds = %48 + %52 = landingpad { ptr, i32 } filter [0 x ptr] zeroinitializer call void @_ZN4core9panicking16panic_in_cleanup17hb7138e7aeec2c1a7E() #37, !noalias !8974 unreachable @@ -68422,6 +68421,7 @@ define hidden void @_ZN6yara_x7modules2pe6parser2PE18parse_version_info17hbc18a8 %.sroa.06.0 = phi i64 [ 0, %21 ], [ %.sroa.032.0, %"_ZN4core4iter8adapters10filter_map15filter_map_fold28_$u7b$$u7b$closure$u7d$$u7d$17hdaefe1501f636cc5E.exit.i" ] %.sroa.06.0.i = phi i64 [ 0, %21 ], [ %74, %"_ZN4core4iter8adapters10filter_map15filter_map_fold28_$u7b$$u7b$closure$u7d$$u7d$17hdaefe1501f636cc5E.exit.i" ] %30 = getelementptr inbounds nuw { { i32, [1 x i32] }, { i32, [5 x i32] }, { i32, [5 x i32] }, { i32, [5 x i32] }, i32, i32 }, ptr %.sroa.0.0.i, i64 %.sroa.06.0.i + call void @llvm.assume(i1 true) [ "align"(ptr %30, i64 8) ] call void @llvm.experimental.noalias.scope.decl(metadata !10207) %31 = getelementptr inbounds nuw i8, ptr %30, i64 32 %32 = load i32, ptr %31, align 8, !range !4002, !alias.scope !10210, !noalias !10213, !noundef !3 diff --git a/bench/yara-x-rs/optimized/ehd2m88swoa0hwh8k90dxhn2z.ll b/bench/yara-x-rs/optimized/ehd2m88swoa0hwh8k90dxhn2z.ll index 1605c53b714..d2aa3d5a4d0 100644 --- a/bench/yara-x-rs/optimized/ehd2m88swoa0hwh8k90dxhn2z.ll +++ b/bench/yara-x-rs/optimized/ehd2m88swoa0hwh8k90dxhn2z.ll @@ -61139,6 +61139,9 @@ define internal fastcc noundef i32 @"_ZN6yara_x8compiler5atoms7quality23BestAtom 12: ; preds = %"_ZN4core6result19Result$LT$T$C$E$GT$6unwrap17h31d8f5a4ff5cdf65E.exit30" %13 = getelementptr inbounds nuw i8, ptr %4, i64 16 %.sroa.0.0.copyload.i = load ptr, ptr %13, align 8, !noalias !8515 + %.sroa.5.0..sroa_idx.i = getelementptr inbounds nuw i8, ptr %4, i64 24 + %.sroa.5.sroa.0.0.copyload.i = load i64, ptr %.sroa.5.0..sroa_idx.i, align 8, !noalias !8515 + call void @llvm.assume(i1 true) [ "align"(ptr %11, i64 8) ] %14 = getelementptr inbounds nuw i8, ptr %4, i64 8 %15 = load i64, ptr %14, align 8, !noalias !8515, !noundef !4 %16 = getelementptr inbounds nuw i8, ptr %4, i64 40 @@ -61165,8 +61168,6 @@ define internal fastcc noundef i32 @"_ZN6yara_x8compiler5atoms7quality23BestAtom br label %"_ZN6bitvec5slice3api54_$LT$impl$u20$bitvec..slice..BitSlice$LT$T$C$O$GT$$GT$4fill17h87d424193e943bc9E.exit" 22: ; preds = %12 - %.sroa.5.0..sroa_idx.i = getelementptr inbounds nuw i8, ptr %4, i64 24 - %.sroa.5.sroa.0.0.copyload.i = load i64, ptr %.sroa.5.0..sroa_idx.i, align 8, !noalias !8515 %23 = xor i64 %.sroa.5.sroa.0.0.copyload.i, -1 %24 = load i64, ptr %.sroa.0.0.copyload.i, align 8, !noundef !4 %25 = and i64 %24, %23 @@ -61353,6 +61354,9 @@ define internal fastcc noundef i32 @"_ZN6yara_x8compiler5atoms7quality23BestAtom 12: ; preds = %"_ZN4core6result19Result$LT$T$C$E$GT$6unwrap17h31d8f5a4ff5cdf65E.exit30" %13 = getelementptr inbounds nuw i8, ptr %4, i64 16 %.sroa.0.0.copyload.i = load ptr, ptr %13, align 8, !noalias !8535 + %.sroa.5.0..sroa_idx.i = getelementptr inbounds nuw i8, ptr %4, i64 24 + %.sroa.5.sroa.0.0.copyload.i = load i64, ptr %.sroa.5.0..sroa_idx.i, align 8, !noalias !8535 + call void @llvm.assume(i1 true) [ "align"(ptr %11, i64 8) ] %14 = getelementptr inbounds nuw i8, ptr %4, i64 8 %15 = load i64, ptr %14, align 8, !noalias !8535, !noundef !4 %16 = getelementptr inbounds nuw i8, ptr %4, i64 40 @@ -61379,8 +61383,6 @@ define internal fastcc noundef i32 @"_ZN6yara_x8compiler5atoms7quality23BestAtom br label %"_ZN6bitvec5slice3api54_$LT$impl$u20$bitvec..slice..BitSlice$LT$T$C$O$GT$$GT$4fill17h87d424193e943bc9E.exit" 22: ; preds = %12 - %.sroa.5.0..sroa_idx.i = getelementptr inbounds nuw i8, ptr %4, i64 24 - %.sroa.5.sroa.0.0.copyload.i = load i64, ptr %.sroa.5.0..sroa_idx.i, align 8, !noalias !8535 %23 = xor i64 %.sroa.5.sroa.0.0.copyload.i, -1 %24 = load i64, ptr %.sroa.0.0.copyload.i, align 8, !noundef !4 %25 = and i64 %24, %23 @@ -99956,6 +99958,7 @@ define noundef zeroext i1 @"_ZN73_$LT$yara_x..types..structure..Struct$u20$as$u2 br i1 %16, label %.loopexit, label %17 17: ; preds = %13 + call void @llvm.assume(i1 true) [ "align"(ptr %.sroa.0.07, i64 8) ] %18 = getelementptr i8, ptr %.sroa.0.07, i64 8 %.val = load ptr, ptr %18, align 8, !nonnull !4, !noundef !4 %19 = getelementptr i8, ptr %.sroa.0.07, i64 16 From 700902594938e1224d8de85de800ca174db226d1 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 7 Oct 2025 15:00:11 +0000 Subject: [PATCH 3/3] pre-commit: Remap --- bench/clap-rs/optimized/421wxj3t0b5xgmkw.ll | 140 ++++++------- .../optimized/13v7qjk9d4erkgv5w97enxlzt.ll | 2 +- bench/image-rs/optimized/2s4mh02dvph60euq.ll | 12 +- .../influxdb-rs/optimized/45ep097lxkbdotle.ll | 4 +- .../influxdb-rs/optimized/55ksfxb2g8gj9lwh.ll | 4 +- .../optimized/6v5jz1tl6zqdv4zpvzdoaqaiw.ll | 12 +- bench/just-rs/optimized/23nlf67cmm9na4ci.ll | 102 +++++----- bench/libcxx/optimized/operations.ll | 186 +++++++++--------- .../optimized/2eqafq69fd46y14a.ll | 6 +- .../optimized/7i3tllkclkw46e2nqel8doaek.ll | 8 +- bench/regex-rs/optimized/3ixfkxlmcuecmmus.ll | 12 +- bench/regex-rs/optimized/476ym8x7jfk1k219.ll | 82 ++++---- .../rustfmt-rs/optimized/3xcdaapyewyrfogi.ll | 42 ++-- bench/syn/optimized/2tga7oe2tfdpj05w.ll | 66 +++---- bench/tls-rs/optimized/2xhpv4vf07do7r8g.ll | 152 +++++++------- .../optimized/ea5tp1pyhuh13c18hcvvnv9jv.ll | 88 ++++----- .../optimized/6lvluxz0xcnue8xe38nauwxln.ll | 84 ++++---- .../optimized/aqllqyzrtxqplivthssual6c8.ll | 64 +++--- 18 files changed, 533 insertions(+), 533 deletions(-) diff --git a/bench/clap-rs/optimized/421wxj3t0b5xgmkw.ll b/bench/clap-rs/optimized/421wxj3t0b5xgmkw.ll index e8702aaae0b..65eafb95aac 100644 --- a/bench/clap-rs/optimized/421wxj3t0b5xgmkw.ll +++ b/bench/clap-rs/optimized/421wxj3t0b5xgmkw.ll @@ -5442,9 +5442,9 @@ define hidden noundef nonnull align 8 dereferenceable(104) ptr @"_ZN12clap_build %3 = alloca { { i64, i128 }, { { i64, ptr }, i64 }, { { i64, ptr }, i64 }, { { i64, ptr }, i64 }, i8, i8, [6 x i8] }, align 8 %4 = load ptr, ptr %0, align 8, !noundef !18 %5 = icmp eq ptr %4, null - br i1 %5, label %16, label %6 + br i1 %5, label %110, label %6 -6: ; preds = %2 +10: ; preds = %2 call void @llvm.assume(i1 true) [ "align"(ptr %4, i64 8) ] %7 = getelementptr inbounds nuw i8, ptr %0, i64 8 %8 = load ptr, ptr %7, align 8, !nonnull !18, !align !59, !noundef !18 @@ -5454,120 +5454,120 @@ define hidden noundef nonnull align 8 dereferenceable(104) ptr @"_ZN12clap_build %12 = load i64, ptr %11, align 8, !alias.scope !1517, !noalias !1520, !noundef !18 %13 = load i64, ptr %4, align 8, !alias.scope !1517, !noalias !1520, !noundef !18 %14 = icmp eq i64 %12, %13 - br i1 %14, label %15, label %24 + br i1 %14, label %15, label %20 -15: ; preds = %6 +15: ; preds = %10 invoke void @"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$16reserve_for_push17h55214b6bc9555156E"(ptr noalias noundef nonnull align 8 dereferenceable(24) %4, i64 noundef %12) - to label %.noexc unwind label %58 + to label %.noexc unwind label %54 .noexc: ; preds = %15 %.pre.i = load i64, ptr %11, align 8, !alias.scope !1517, !noalias !1520 - br label %24 + br label %20 16: ; preds = %2 %17 = getelementptr inbounds nuw i8, ptr %0, i64 8 - %18 = load ptr, ptr %17, align 8, !nonnull !18, !align !46, !noundef !18 - %19 = getelementptr inbounds nuw i8, ptr %0, i64 16 + %.val11 = load ptr, ptr %17, align 8, !nonnull !18, !align !46, !noundef !18 + %19 = getelementptr inbounds nuw i8, ptr %0, i64 110 %20 = load i64, ptr %19, align 8, !noundef !18 %21 = getelementptr i8, ptr %18, i64 40 %.val11 = load i64, ptr %21, align 8, !noundef !18 %22 = icmp ult i64 %20, %.val11 br i1 %22, label %55, label %23, !prof !256 -23: ; preds = %16 +19: ; preds = %16 invoke void @_ZN4core9panicking18panic_bounds_check17h8331054858f0bf20E(i64 noundef %20, i64 noundef %.val11, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.5bbe1b10df9b6e08f07c9b849f6cd5da.36) #41 - to label %.noexc12 unwind label %58 + to label %.noexc12 unwind label %54 -.noexc12: ; preds = %23 +.noexc12: ; preds = %19 unreachable -24: ; preds = %.noexc, %6 - %25 = phi i64 [ %.pre.i, %.noexc ], [ %12, %6 ] - %26 = getelementptr inbounds nuw i8, ptr %4, i64 8 - %27 = load ptr, ptr %26, align 8, !alias.scope !1517, !noalias !1520, !nonnull !18, !noundef !18 - %28 = getelementptr inbounds { ptr, i64 }, ptr %27, i64 %25 - store ptr %8, ptr %28, align 8, !noalias !1520 - %29 = getelementptr inbounds nuw i8, ptr %28, i64 8 - store i64 %10, ptr %29, align 8 - %30 = load i64, ptr %11, align 8, !alias.scope !1517, !noalias !1520, !noundef !18 - %31 = add i64 %30, 1 - store i64 %31, ptr %11, align 8, !alias.scope !1517, !noalias !1520 - %32 = getelementptr inbounds nuw i8, ptr %4, i64 24 +20: ; preds = %.noexc, %10 + %21 = phi i64 [ %.pre.i, %.noexc ], [ %12, %6 ] + %22 = getelementptr inbounds nuw i8, ptr %4, i64 8 + %23 = load ptr, ptr %22, align 8, !alias.scope !1517, !noalias !1520, !nonnull !18, !noundef !18 + %24 = getelementptr inbounds { ptr, i64 }, ptr %23, i64 %21 + store ptr %8, ptr %24, align 8, !noalias !1520 + %25 = getelementptr inbounds nuw i8, ptr %24, i64 8 + store i64 %10, ptr %25, align 8 + %26 = load i64, ptr %11, align 8, !alias.scope !1517, !noalias !1520, !noundef !18 + %27 = add i64 %26, 1 + store i64 %27, ptr %11, align 8, !alias.scope !1517, !noalias !1520 + %28 = getelementptr inbounds nuw i8, ptr %4, i64 24 call void @llvm.lifetime.start.p0(ptr nonnull %3) call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(104) %3, ptr noundef nonnull align 8 dereferenceable(104) %1, i64 104, i1 false) - %33 = getelementptr inbounds nuw i8, ptr %4, i64 40 - %34 = load i64, ptr %33, align 8, !alias.scope !1522, !noalias !1525, !noundef !18 - %35 = load i64, ptr %32, align 8, !alias.scope !1522, !noalias !1525, !noundef !18 - %36 = icmp eq i64 %34, %35 - br i1 %36, label %37, label %42 + %29 = getelementptr inbounds nuw i8, ptr %4, i64 40 + %30 = load i64, ptr %29, align 8, !alias.scope !1522, !noalias !1525, !noundef !18 + %31 = load i64, ptr %28, align 8, !alias.scope !1522, !noalias !1525, !noundef !18 + %32 = icmp eq i64 %30, %31 + br i1 %32, label %33, label %38 -37: ; preds = %24 - invoke void @"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$16reserve_for_push17h4d6a1bd2fdef82bbE"(ptr noalias noundef nonnull align 8 dereferenceable(24) %32, i64 noundef %34) - to label %._crit_edge.i unwind label %38, !noalias !1525 +33: ; preds = %20 + invoke void @"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$16reserve_for_push17h4d6a1bd2fdef82bbE"(ptr noalias noundef nonnull align 8 dereferenceable(24) %28, i64 noundef %30) + to label %._crit_edge.i unwind label %34, !noalias !1525 -._crit_edge.i: ; preds = %37 - %.pre.i13 = load i64, ptr %33, align 8, !alias.scope !1522, !noalias !1525 - br label %42 +._crit_edge.i: ; preds = %33 + %.pre.i13 = load i64, ptr %29, align 8, !alias.scope !1522, !noalias !1525 + br label %38 -38: ; preds = %37 - %39 = landingpad { ptr, i32 } +34: ; preds = %33 + %35 = landingpad { ptr, i32 } cleanup invoke void @"_ZN4core3ptr75drop_in_place$LT$clap_builder..parser..matches..matched_arg..MatchedArg$GT$17hed15162c7a11d4dcE"(ptr noalias noundef nonnull align 8 dereferenceable(104) %3) #42 - to label %.body.thread unwind label %40 + to label %.body.thread unwind label %36 -40: ; preds = %38 - %41 = landingpad { ptr, i32 } +36: ; preds = %34 + %37 = landingpad { ptr, i32 } filter [0 x ptr] zeroinitializer call void @_ZN4core9panicking16panic_in_cleanup17h55eb1d85cadde1a1E() #43 unreachable -42: ; preds = %._crit_edge.i, %24 - %43 = phi i64 [ %.pre.i13, %._crit_edge.i ], [ %34, %24 ] - %44 = getelementptr inbounds nuw i8, ptr %4, i64 32 - %45 = load ptr, ptr %44, align 8, !alias.scope !1522, !noalias !1525, !nonnull !18, !noundef !18 - %46 = getelementptr inbounds { { i64, i128 }, { { i64, ptr }, i64 }, { { i64, ptr }, i64 }, { { i64, ptr }, i64 }, i8, i8, [6 x i8] }, ptr %45, i64 %43 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(104) %46, ptr noundef nonnull align 8 dereferenceable(104) %3, i64 104, i1 false) - %47 = load i64, ptr %33, align 8, !alias.scope !1522, !noalias !1525, !noundef !18 - %48 = add i64 %47, 1 - store i64 %48, ptr %33, align 8, !alias.scope !1522, !noalias !1525 +38: ; preds = %._crit_edge.i, %20 + %39 = phi i64 [ %.pre.i13, %._crit_edge.i ], [ %30, %24 ] + %40 = getelementptr inbounds nuw i8, ptr %4, i64 32 + %41 = load ptr, ptr %40, align 8, !alias.scope !1522, !noalias !1525, !nonnull !18, !noundef !18 + %42 = getelementptr inbounds { { i64, i128 }, { { i64, ptr }, i64 }, { { i64, ptr }, i64 }, { { i64, ptr }, i64 }, i8, i8, [6 x i8] }, ptr %41, i64 %39 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(104) %42, ptr noundef nonnull align 8 dereferenceable(104) %3, i64 104, i1 false) + %43 = load i64, ptr %29, align 8, !alias.scope !1522, !noalias !1525, !noundef !18 + %44 = add i64 %43, 1 + store i64 %44, ptr %29, align 8, !alias.scope !1522, !noalias !1525 call void @llvm.lifetime.end.p0(ptr nonnull %3) - %.not = icmp eq i64 %48, 0 - br i1 %.not, label %.thread, label %49 + %.not = icmp eq i64 %44, 0 + br i1 %.not, label %.thread, label %45 -49: ; preds = %42 - %50 = load ptr, ptr %44, align 8, !nonnull !18, !noundef !18 - %51 = getelementptr { { i64, i128 }, { { i64, ptr }, i64 }, { { i64, ptr }, i64 }, { { i64, ptr }, i64 }, i8, i8, [6 x i8] }, ptr %50, i64 %48 - %52 = getelementptr i8, ptr %51, i64 -112 - %53 = icmp eq ptr %52, null - br i1 %53, label %.thread, label %54 +45: ; preds = %38 + %46 = load ptr, ptr %40, align 8, !nonnull !18, !noundef !18 + %47 = getelementptr { { i64, i128 }, { { i64, ptr }, i64 }, { { i64, ptr }, i64 }, { { i64, ptr }, i64 }, i8, i8, [6 x i8] }, ptr %46, i64 %44 + %48 = getelementptr i8, ptr %47, i64 -112 + %49 = icmp eq ptr %48, null + br i1 %49, label %.thread, label %50 -.thread: ; preds = %42, %49 +.thread: ; preds = %38, %45 tail call void @_ZN4core9panicking5panic17hb837a5ebbbe5b188E(ptr noalias noundef nonnull readonly align 1 @anon.5bbe1b10df9b6e08f07c9b849f6cd5da.34.llvm.7008872586094235178, i64 noundef 43, ptr noalias noundef readonly align 8 dereferenceable(24) @anon.5bbe1b10df9b6e08f07c9b849f6cd5da.35) #41 unreachable -54: ; preds = %49, %55 - %.024 = phi ptr [ %57, %55 ], [ %52, %49 ] +50: ; preds = %45, %51 + %.024 = phi ptr [ %53, %55 ], [ %48, %49 ] ret ptr %.024 -55: ; preds = %16 - %56 = getelementptr i8, ptr %18, i64 32 - %.val = load ptr, ptr %56, align 8, !nonnull !18, !noundef !18 - %57 = getelementptr inbounds { { i64, i128 }, { { i64, ptr }, i64 }, { { i64, ptr }, i64 }, { { i64, ptr }, i64 }, i8, i8, [6 x i8] }, ptr %.val, i64 %20 +51: ; preds = %16 + %52 = getelementptr i8, ptr %18, i64 32 + %.val = load ptr, ptr %52, align 8, !nonnull !18, !noundef !18 + %53 = getelementptr inbounds { { i64, i128 }, { { i64, ptr }, i64 }, { { i64, ptr }, i64 }, { { i64, ptr }, i64 }, i8, i8, [6 x i8] }, ptr %.val, i64 %20 tail call void @"_ZN4core3ptr75drop_in_place$LT$clap_builder..parser..matches..matched_arg..MatchedArg$GT$17hed15162c7a11d4dcE"(ptr noalias noundef nonnull align 8 dereferenceable(104) %1) - br label %54 + br label %50 -.body.thread: ; preds = %38, %58 - %eh.lpad-body16 = phi { ptr, i32 } [ %lpad.thr_comm, %58 ], [ %39, %38 ] +.body.thread: ; preds = %34, %54 + %eh.lpad-body16 = phi { ptr, i32 } [ %lpad.thr_comm, %58 ], [ %35, %38 ] resume { ptr, i32 } %eh.lpad-body16 -58: ; preds = %15, %23 +54: ; preds = %15, %19 %lpad.thr_comm = landingpad { ptr, i32 } cleanup invoke void @"_ZN4core3ptr75drop_in_place$LT$clap_builder..parser..matches..matched_arg..MatchedArg$GT$17hed15162c7a11d4dcE"(ptr noalias noundef nonnull align 8 dereferenceable(104) %1) #42 - to label %.body.thread unwind label %59 + to label %.body.thread unwind label %55 -59: ; preds = %58 - %60 = landingpad { ptr, i32 } +55: ; preds = %54 + %56 = landingpad { ptr, i32 } filter [0 x ptr] zeroinitializer tail call void @_ZN4core9panicking16panic_in_cleanup17h55eb1d85cadde1a1E() #43 unreachable diff --git a/bench/fish-rs/optimized/13v7qjk9d4erkgv5w97enxlzt.ll b/bench/fish-rs/optimized/13v7qjk9d4erkgv5w97enxlzt.ll index afdc3a9a217..1cec34f6d44 100644 --- a/bench/fish-rs/optimized/13v7qjk9d4erkgv5w97enxlzt.ll +++ b/bench/fish-rs/optimized/13v7qjk9d4erkgv5w97enxlzt.ll @@ -21217,7 +21217,7 @@ define { i32, i32 } @"_ZN93_$LT$fish..builtins..string..sub..Sub$u20$as$u20$fish %110 = load ptr, ptr %85, align 8, !nonnull !17, !align !65 %111 = getelementptr inbounds nuw i32, ptr %110, i64 %.sroa.0.0.in.sroa.speculate.load.7.sroa.speculated.i %.sroa.0.0.sroa.speculated.i = call noundef i64 @llvm.umin.i64(i64 %.pre, i64 %106) - %112 = sub nuw i64 %.sroa.0.0.sroa.speculated.i, %.sroa.0.0.in.sroa.speculate.load.7.sroa.speculated.i + %111 = sub nuw i64 %.sroa.0.0.sroa.speculated.i, %.sroa.0.0.in.sroa.speculate.load.7.sroa.speculated.i %113 = invoke noundef zeroext i1 @_ZN4fish2io12OutputStream6append17h560b6507302fab41E(ptr noalias noundef nonnull align 8 dereferenceable(32) %109, ptr noalias noundef nonnull readonly align 4 %111, i64 noundef %112) to label %116 unwind label %.loopexit69 diff --git a/bench/image-rs/optimized/2s4mh02dvph60euq.ll b/bench/image-rs/optimized/2s4mh02dvph60euq.ll index 80672c8832e..43085debefa 100644 --- a/bench/image-rs/optimized/2s4mh02dvph60euq.ll +++ b/bench/image-rs/optimized/2s4mh02dvph60euq.ll @@ -2371,7 +2371,7 @@ define hidden void @"_ZN4core6result19Result$LT$T$C$E$GT$7map_err17hbc8ac62f3ec4 %7 = icmp eq ptr %6, null br i1 %7, label %13, label %8 -8: ; preds = %2 +9: ; preds = %2 call void @llvm.assume(i1 true) [ "align"(ptr %6, i64 2) ] %9 = getelementptr inbounds nuw i8, ptr %1, i64 8 %10 = load i64, ptr %9, align 8, !noundef !4 @@ -2379,7 +2379,7 @@ define hidden void @"_ZN4core6result19Result$LT$T$C$E$GT$7map_err17hbc8ac62f3ec4 store ptr %6, ptr %11, align 8 %12 = getelementptr inbounds nuw i8, ptr %0, i64 16 store i64 %10, ptr %12, align 8 - br label %17 + br label %16 13: ; preds = %2 %14 = getelementptr inbounds nuw i8, ptr %1, i64 8 @@ -2390,8 +2390,8 @@ define hidden void @"_ZN4core6result19Result$LT$T$C$E$GT$7map_err17hbc8ac62f3ec4 call void @llvm.lifetime.start.p0(ptr nonnull %.sroa.0.i), !noalias !341 call void @llvm.lifetime.start.p0(ptr nonnull %4), !noalias !341 store ptr %5, ptr %4, align 8, !noalias !341 - %16 = getelementptr inbounds nuw i8, ptr %4, i64 8 - store ptr @"_ZN59_$LT$bytemuck..PodCastError$u20$as$u20$core..fmt..Debug$GT$3fmt17hfcae4b594a92e218E.llvm.3890463254259644073", ptr %16, align 8, !noalias !341 + %15 = getelementptr inbounds nuw i8, ptr %4, i64 8 + store ptr @"_ZN59_$LT$bytemuck..PodCastError$u20$as$u20$core..fmt..Debug$GT$3fmt17hfcae4b594a92e218E.llvm.3890463254259644073", ptr %15, align 8, !noalias !341 call void @llvm.lifetime.start.p0(ptr nonnull %3), !noalias !344 store ptr @anon.df12dd7d62f56185f0383eceae1d36f2.328.llvm.3890463254259644073, ptr %3, align 8, !noalias !355 %.sroa.52.0..sroa_idx.i = getelementptr inbounds nuw i8, ptr %3, i64 8 @@ -2414,9 +2414,9 @@ define hidden void @"_ZN4core6result19Result$LT$T$C$E$GT$7map_err17hbc8ac62f3ec4 %.sroa.5.0..sroa_idx = getelementptr inbounds nuw i8, ptr %0, i64 32 store ptr null, ptr %.sroa.5.0..sroa_idx, align 8 call void @llvm.lifetime.end.p0(ptr nonnull %.sroa.4) - br label %17 + br label %16 -17: ; preds = %8, %13 +16: ; preds = %9, %13 %.sink = phi i8 [ 6, %13 ], [ 10, %8 ] store i8 %.sink, ptr %0, align 8 ret void diff --git a/bench/influxdb-rs/optimized/45ep097lxkbdotle.ll b/bench/influxdb-rs/optimized/45ep097lxkbdotle.ll index d493a3df46b..57b98ad6054 100644 --- a/bench/influxdb-rs/optimized/45ep097lxkbdotle.ll +++ b/bench/influxdb-rs/optimized/45ep097lxkbdotle.ll @@ -15389,8 +15389,8 @@ common.resume: ; preds = %67, %72, %76, %19, resume { ptr, i32 } %common.resume.op "_ZN4core3ptr108drop_in_place$LT$parquet..file..statistics..ValueStatistics$LT$parquet..data_type..FixedLenByteArray$GT$$GT$17hb708d77724a234daE.llvm.9135219245553044050.exit.sink.split": ; preds = %"_ZN4core3ptr78drop_in_place$LT$core..option..Option$LT$parquet..data_type..ByteArray$GT$$GT$17he6d37ce89891e60cE.llvm.9135219245553044050.exit.i", %"_ZN4core3ptr86drop_in_place$LT$core..option..Option$LT$parquet..data_type..FixedLenByteArray$GT$$GT$17hf9155bd0ca794cceE.llvm.9135219245553044050.exit.i" - %.sink = phi ptr [ %40, %"_ZN4core3ptr86drop_in_place$LT$core..option..Option$LT$parquet..data_type..FixedLenByteArray$GT$$GT$17hf9155bd0ca794cceE.llvm.9135219245553044050.exit.i" ], [ %88, %"_ZN4core3ptr78drop_in_place$LT$core..option..Option$LT$parquet..data_type..ByteArray$GT$$GT$17he6d37ce89891e60cE.llvm.9135219245553044050.exit.i" ] - call void @llvm.assume(i1 true) [ "align"(ptr %.sink, i64 8) ] + %.sink12 = phi ptr [ %40, %"_ZN4core3ptr86drop_in_place$LT$core..option..Option$LT$parquet..data_type..FixedLenByteArray$GT$$GT$17hf9155bd0ca794cceE.llvm.9135219245553044050.exit.i" ], [ %88, %"_ZN4core3ptr78drop_in_place$LT$core..option..Option$LT$parquet..data_type..ByteArray$GT$$GT$17he6d37ce89891e60cE.llvm.9135219245553044050.exit.i" ] + call void @llvm.assume(i1 true) [ "align"(ptr %.sink12, i64 8) ] %44 = getelementptr inbounds nuw i8, ptr %.sink, i64 16 %45 = load ptr, ptr %44, align 8, !noalias !4, !nonnull !4, !noundef !4 %46 = getelementptr inbounds nuw i8, ptr %0, i64 80 diff --git a/bench/influxdb-rs/optimized/55ksfxb2g8gj9lwh.ll b/bench/influxdb-rs/optimized/55ksfxb2g8gj9lwh.ll index 8f81c9bbc22..9ba54e42f61 100644 --- a/bench/influxdb-rs/optimized/55ksfxb2g8gj9lwh.ll +++ b/bench/influxdb-rs/optimized/55ksfxb2g8gj9lwh.ll @@ -24058,8 +24058,8 @@ common.resume: ; preds = %67, %72, %76, %19, resume { ptr, i32 } %common.resume.op "_ZN4core3ptr108drop_in_place$LT$parquet..file..statistics..ValueStatistics$LT$parquet..data_type..FixedLenByteArray$GT$$GT$17he6e822411a0f6041E.llvm.12494526139044184965.exit.sink.split": ; preds = %"_ZN4core3ptr78drop_in_place$LT$core..option..Option$LT$parquet..data_type..ByteArray$GT$$GT$17h1f4f79b33082fed9E.llvm.12494526139044184965.exit.i", %"_ZN4core3ptr86drop_in_place$LT$core..option..Option$LT$parquet..data_type..FixedLenByteArray$GT$$GT$17hbae4bd6e17c26607E.llvm.12494526139044184965.exit.i" - %.sink = phi ptr [ %40, %"_ZN4core3ptr86drop_in_place$LT$core..option..Option$LT$parquet..data_type..FixedLenByteArray$GT$$GT$17hbae4bd6e17c26607E.llvm.12494526139044184965.exit.i" ], [ %88, %"_ZN4core3ptr78drop_in_place$LT$core..option..Option$LT$parquet..data_type..ByteArray$GT$$GT$17h1f4f79b33082fed9E.llvm.12494526139044184965.exit.i" ] - call void @llvm.assume(i1 true) [ "align"(ptr %.sink, i64 8) ] + %.sink12 = phi ptr [ %40, %"_ZN4core3ptr86drop_in_place$LT$core..option..Option$LT$parquet..data_type..FixedLenByteArray$GT$$GT$17hbae4bd6e17c26607E.llvm.12494526139044184965.exit.i" ], [ %88, %"_ZN4core3ptr78drop_in_place$LT$core..option..Option$LT$parquet..data_type..ByteArray$GT$$GT$17h1f4f79b33082fed9E.llvm.12494526139044184965.exit.i" ] + call void @llvm.assume(i1 true) [ "align"(ptr %.sink12, i64 8) ] %44 = getelementptr inbounds nuw i8, ptr %.sink, i64 16 %45 = load ptr, ptr %44, align 8, !noalias !4, !nonnull !4, !noundef !4 %46 = getelementptr inbounds nuw i8, ptr %0, i64 80 diff --git a/bench/jiff-rs/optimized/6v5jz1tl6zqdv4zpvzdoaqaiw.ll b/bench/jiff-rs/optimized/6v5jz1tl6zqdv4zpvzdoaqaiw.ll index 49d5bb8290e..2414d417b14 100644 --- a/bench/jiff-rs/optimized/6v5jz1tl6zqdv4zpvzdoaqaiw.ll +++ b/bench/jiff-rs/optimized/6v5jz1tl6zqdv4zpvzdoaqaiw.ll @@ -1497,7 +1497,7 @@ define hidden void @"_ZN4jiff6shared5posix59_$LT$impl$u20$jiff..shared..PosixTim store ptr %.val10, ptr %0, align 8 %69 = getelementptr inbounds nuw i8, ptr %0, i64 8 store i64 %.val11, ptr %69, align 8 - br label %78 + br label %79 70: ; preds = %59 call void @llvm.assume(i1 true) [ "align"(ptr %1, i64 8) ] @@ -1510,7 +1510,7 @@ define hidden void @"_ZN4jiff6shared5posix59_$LT$impl$u20$jiff..shared..PosixTim store i64 %.val9, ptr %.sroa.42.0..sroa_idx, align 8 %.sroa.53.0..sroa_idx = getelementptr inbounds nuw i8, ptr %0, i64 16 store i32 %71, ptr %.sroa.53.0..sroa_idx, align 8 - br label %78 + br label %79 74: ; preds = %59 %75 = getelementptr inbounds nuw i8, ptr %1, i64 40 @@ -1523,7 +1523,7 @@ define hidden void @"_ZN4jiff6shared5posix59_$LT$impl$u20$jiff..shared..PosixTim store i64 %.val7, ptr %.sroa.42.0..sroa_idx, align 8 br label %78 -78: ; preds = %70, %74, %65 +79: ; preds = %70, %74, %65 %.sink = phi i8 [ 1, %70 ], [ 0, %74 ], [ 0, %65 ] %.sroa.64.0..sroa_idx = getelementptr inbounds nuw i8, ptr %0, i64 20 store i8 %.sink, ptr %.sroa.64.0..sroa_idx, align 4 @@ -1665,7 +1665,7 @@ define hidden void @"_ZN4jiff6shared5posix59_$LT$impl$u20$jiff..shared..PosixTim store ptr %68, ptr %0, align 8 %71 = getelementptr inbounds nuw i8, ptr %0, i64 8 store i64 %69, ptr %71, align 8 - br label %84 + br label %85 72: ; preds = %59 call void @llvm.assume(i1 true) [ "align"(ptr %1, i64 4) ] @@ -1678,7 +1678,7 @@ define hidden void @"_ZN4jiff6shared5posix59_$LT$impl$u20$jiff..shared..PosixTim store i64 %77, ptr %.sroa.42.0..sroa_idx, align 8 %.sroa.53.0..sroa_idx = getelementptr inbounds nuw i8, ptr %0, i64 16 store i32 %73, ptr %.sroa.53.0..sroa_idx, align 8 - br label %84 + br label %85 78: ; preds = %59 %79 = getelementptr inbounds nuw i8, ptr %1, i64 56 @@ -1691,7 +1691,7 @@ define hidden void @"_ZN4jiff6shared5posix59_$LT$impl$u20$jiff..shared..PosixTim store i64 %82, ptr %.sroa.42.0..sroa_idx, align 8 br label %84 -84: ; preds = %72, %78, %65 +85: ; preds = %72, %78, %65 %.sink = phi i8 [ 1, %72 ], [ 0, %78 ], [ 0, %65 ] %.sroa.64.0..sroa_idx = getelementptr inbounds nuw i8, ptr %0, i64 20 store i8 %.sink, ptr %.sroa.64.0..sroa_idx, align 4 diff --git a/bench/just-rs/optimized/23nlf67cmm9na4ci.ll b/bench/just-rs/optimized/23nlf67cmm9na4ci.ll index d7f416d0bfe..3e126e2786d 100644 --- a/bench/just-rs/optimized/23nlf67cmm9na4ci.ll +++ b/bench/just-rs/optimized/23nlf67cmm9na4ci.ll @@ -16307,7 +16307,7 @@ default.unreachable187: ; preds = %20 i64 5, label %.preheader145 ] -.preheader145: ; preds = %20 +"_ZN4core6option15Option$LT$T$GT$7or_else17h04795529c056ca55E.exit": ; preds = %20 call void @llvm.assume(i1 true) [ "align"(ptr %1, i64 8) ] br label %66 @@ -16320,7 +16320,7 @@ default.unreachable187: ; preds = %20 %21 = icmp eq i8 %.pr.pr, 0 br i1 %21, label %"_ZN83_$LT$serde_json..ser..Compound$LT$W$C$F$GT$$u20$as$u20$serde..ser..SerializeSeq$GT$3end17h2ae171f2cc8ad955E.exit", label %"_ZN4core6option15Option$LT$T$GT$7or_else17h04795529c056ca55E.exit..thread_crit_edge" -"_ZN4core6option15Option$LT$T$GT$7or_else17h04795529c056ca55E.exit..thread_crit_edge": ; preds = %66, %46, %"_ZN4core6option15Option$LT$T$GT$7or_else17h04795529c056ca55E.exit" +"_ZN4core6option15Option$LT$T$GT$7or_else17h04795529c056ca55E.exit..thread_crit_edge": ; preds = %.preheader145, %.preheader, %"_ZN4core6option15Option$LT$T$GT$7or_else17h04795529c056ca55E.exit" %.pre = load ptr, ptr %3, align 8 br label %.thread @@ -16351,7 +16351,7 @@ default.unreachable187: ; preds = %20 %37 = getelementptr inbounds nuw i8, ptr %0, i64 120 %.val84 = load i64, ptr %37, align 8, !noundef !12 %38 = getelementptr inbounds { i64, [15 x i64] }, ptr %.val83, i64 %.val84 - br label %53 + br label %52 39: ; preds = %29 %40 = getelementptr inbounds nuw i8, ptr %0, i64 24 @@ -16365,51 +16365,51 @@ default.unreachable187: ; preds = %20 %45 = icmp eq ptr %44, null br i1 %45, label %"_ZN4core6option15Option$LT$T$GT$7or_else17h04795529c056ca55E.exit", label %"_ZN83_$LT$serde_json..ser..Compound$LT$W$C$F$GT$$u20$as$u20$serde..ser..SerializeSeq$GT$3end17h2ae171f2cc8ad955E.exit" -46: ; preds = %.preheader, %"_ZN83_$LT$serde_json..ser..Compound$LT$W$C$F$GT$$u20$as$u20$serde..ser..SerializeSeq$GT$17serialize_element17he8f0f3689d1dbeadE.exit" +.preheader: ; preds = %.preheader, %"_ZN83_$LT$serde_json..ser..Compound$LT$W$C$F$GT$$u20$as$u20$serde..ser..SerializeSeq$GT$17serialize_element17he8f0f3689d1dbeadE.exit" %.sroa.0110.0.idx = phi i64 [ %.sroa.0110.0.add, %"_ZN83_$LT$serde_json..ser..Compound$LT$W$C$F$GT$$u20$as$u20$serde..ser..SerializeSeq$GT$17serialize_element17he8f0f3689d1dbeadE.exit" ], [ 16, %.preheader ] - %47 = icmp eq i64 %.sroa.0110.0.idx, 32 - br i1 %47, label %"_ZN4core6option15Option$LT$T$GT$7or_else17h04795529c056ca55E.exit..thread_crit_edge", label %_ZN10serde_json3ser9Formatter17begin_array_value17h1d9025c024b2e195E.exit.i93 + %46 = icmp eq i64 %.sroa.0110.0.idx, 32 + br i1 %46, label %"_ZN4core6option15Option$LT$T$GT$7or_else17h04795529c056ca55E.exit..thread_crit_edge", label %_ZN10serde_json3ser9Formatter17begin_array_value17h1d9025c024b2e195E.exit.i93 -_ZN10serde_json3ser9Formatter17begin_array_value17h1d9025c024b2e195E.exit.i93: ; preds = %46 +_ZN10serde_json3ser9Formatter17begin_array_value17h1d9025c024b2e195E.exit.i93: ; preds = %.preheader %.sroa.0110.0.ptr = getelementptr inbounds nuw i8, ptr %0, i64 %.sroa.0110.0.idx %.val81 = load ptr, ptr %.sroa.0110.0.ptr, align 8 - %48 = tail call noundef ptr @"_ZN57_$LT$std..io..stdio..Stdout$u20$as$u20$std..io..Write$GT$9write_all17h5e1a29f66be91e9cE"(ptr noalias noundef nonnull align 8 dereferenceable(8) %1, ptr noalias noundef nonnull readonly align 1 @anon.79fb49cdb9b8b410ff224812fb6dc91a.26.llvm.10588682083550974452, i64 noundef 1), !noalias !3427 - %49 = icmp eq ptr %48, null - br i1 %49, label %"_ZN83_$LT$serde_json..ser..Compound$LT$W$C$F$GT$$u20$as$u20$serde..ser..SerializeSeq$GT$17serialize_element17he8f0f3689d1dbeadE.exit", label %"_ZN83_$LT$serde_json..ser..Compound$LT$W$C$F$GT$$u20$as$u20$serde..ser..SerializeSeq$GT$3end17h2ae171f2cc8ad955E.exit.sink.split" + %47 = tail call noundef ptr @"_ZN57_$LT$std..io..stdio..Stdout$u20$as$u20$std..io..Write$GT$9write_all17h5e1a29f66be91e9cE"(ptr noalias noundef nonnull align 8 dereferenceable(8) %1, ptr noalias noundef nonnull readonly align 1 @anon.79fb49cdb9b8b410ff224812fb6dc91a.26.llvm.10588682083550974452, i64 noundef 1), !noalias !3427 + %48 = icmp eq ptr %47, null + br i1 %48, label %"_ZN83_$LT$serde_json..ser..Compound$LT$W$C$F$GT$$u20$as$u20$serde..ser..SerializeSeq$GT$17serialize_element17he8f0f3689d1dbeadE.exit", label %"_ZN83_$LT$serde_json..ser..Compound$LT$W$C$F$GT$$u20$as$u20$serde..ser..SerializeSeq$GT$3end17h2ae171f2cc8ad955E.exit.sink.split" "_ZN83_$LT$serde_json..ser..Compound$LT$W$C$F$GT$$u20$as$u20$serde..ser..SerializeSeq$GT$17serialize_element17he8f0f3689d1dbeadE.exit": ; preds = %_ZN10serde_json3ser9Formatter17begin_array_value17h1d9025c024b2e195E.exit.i93 %.sroa.0110.0.add = add nuw nsw i64 %.sroa.0110.0.idx, 8 - %50 = icmp ne ptr %.val81, null - tail call void @llvm.assume(i1 %50) - %51 = tail call noundef align 8 ptr @"_ZN70_$LT$just..expression..Expression$u20$as$u20$serde..ser..Serialize$GT$9serialize17h198a9eb8fb5b1bbcE"(ptr noalias noundef nonnull readonly align 8 dereferenceable(128) %.val81, ptr noalias noundef nonnull align 8 dereferenceable(8) %1), !noalias !3427 - %52 = icmp eq ptr %51, null - br i1 %52, label %46, label %"_ZN83_$LT$serde_json..ser..Compound$LT$W$C$F$GT$$u20$as$u20$serde..ser..SerializeSeq$GT$3end17h2ae171f2cc8ad955E.exit" + %49 = icmp ne ptr %.val81, null + tail call void @llvm.assume(i1 %49) + %50 = tail call noundef align 8 ptr @"_ZN70_$LT$just..expression..Expression$u20$as$u20$serde..ser..Serialize$GT$9serialize17h198a9eb8fb5b1bbcE"(ptr noalias noundef nonnull readonly align 8 dereferenceable(128) %.val81, ptr noalias noundef nonnull align 8 dereferenceable(8) %1), !noalias !3427 + %51 = icmp eq ptr %50, null + br i1 %51, label %.preheader, label %"_ZN83_$LT$serde_json..ser..Compound$LT$W$C$F$GT$$u20$as$u20$serde..ser..SerializeSeq$GT$3end17h2ae171f2cc8ad955E.exit" -53: ; preds = %"_ZN83_$LT$serde_json..ser..Compound$LT$W$C$F$GT$$u20$as$u20$serde..ser..SerializeSeq$GT$17serialize_element17ha852ebd3b3e3ecb5E.exit", %33 +52: ; preds = %"_ZN83_$LT$serde_json..ser..Compound$LT$W$C$F$GT$$u20$as$u20$serde..ser..SerializeSeq$GT$17serialize_element17ha852ebd3b3e3ecb5E.exit", %33 %.sroa.0114.0 = phi ptr [ %34, %33 ], [ %.sroa.0114.1127.ph, %"_ZN83_$LT$serde_json..ser..Compound$LT$W$C$F$GT$$u20$as$u20$serde..ser..SerializeSeq$GT$17serialize_element17ha852ebd3b3e3ecb5E.exit" ] %.sroa.9.0 = phi ptr [ %.val83, %33 ], [ %.sroa.9.1.ph, %"_ZN83_$LT$serde_json..ser..Compound$LT$W$C$F$GT$$u20$as$u20$serde..ser..SerializeSeq$GT$17serialize_element17ha852ebd3b3e3ecb5E.exit" ] - %54 = icmp eq ptr %.sroa.0114.0, null - %55 = icmp eq ptr %.sroa.0114.0, %35 - %or.cond = select i1 %54, i1 true, i1 %55 - br i1 %or.cond, label %58, label %_ZN4core4iter8adapters5chain17and_then_or_clear17hd342ac90a7794c21E.exit - -_ZN4core4iter8adapters5chain17and_then_or_clear17hd342ac90a7794c21E.exit: ; preds = %53 - %56 = getelementptr inbounds nuw i8, ptr %.sroa.0114.0, i64 8 - %57 = load ptr, ptr %.sroa.0114.0, align 8, !alias.scope !3430, !noalias !3437, !nonnull !12, !align !50, !noundef !12 + %53 = icmp eq ptr %.sroa.0114.0, null + %54 = icmp eq ptr %.sroa.0114.0, %35 + %or.cond = select i1 %53, i1 true, i1 %54 + br i1 %or.cond, label %57, label %_ZN4core4iter8adapters5chain17and_then_or_clear17hd342ac90a7794c21E.exit + +_ZN4core4iter8adapters5chain17and_then_or_clear17hd342ac90a7794c21E.exit: ; preds = %52 + %55 = getelementptr inbounds nuw i8, ptr %.sroa.0114.0, i64 8 + %56 = load ptr, ptr %.sroa.0114.0, align 8, !alias.scope !3430, !noalias !3437, !nonnull !12, !align !50, !noundef !12 br label %_ZN10serde_json3ser9Formatter17begin_array_value17h1d9025c024b2e195E.exit.i99 -58: ; preds = %53 - %59 = icmp eq ptr %.sroa.9.0, %38 - br i1 %59, label %"_ZN4core6option15Option$LT$T$GT$7or_else17h04795529c056ca55E.exit", label %60 +57: ; preds = %52 + %58 = icmp eq ptr %.sroa.9.0, %38 + br i1 %58, label %"_ZN4core6option15Option$LT$T$GT$7or_else17h04795529c056ca55E.exit", label %59 -60: ; preds = %58 - %61 = getelementptr inbounds nuw i8, ptr %.sroa.9.0, i64 128 +59: ; preds = %57 + %60 = getelementptr inbounds nuw i8, ptr %.sroa.9.0, i64 128 br label %_ZN10serde_json3ser9Formatter17begin_array_value17h1d9025c024b2e195E.exit.i99 -_ZN10serde_json3ser9Formatter17begin_array_value17h1d9025c024b2e195E.exit.i99: ; preds = %60, %_ZN4core4iter8adapters5chain17and_then_or_clear17hd342ac90a7794c21E.exit - %.sroa.0114.1127.ph = phi ptr [ %56, %_ZN4core4iter8adapters5chain17and_then_or_clear17hd342ac90a7794c21E.exit ], [ null, %60 ] - %.sroa.9.1.ph = phi ptr [ %.sroa.9.0, %_ZN4core4iter8adapters5chain17and_then_or_clear17hd342ac90a7794c21E.exit ], [ %61, %60 ] - %.0.i98.ph = phi ptr [ %57, %_ZN4core4iter8adapters5chain17and_then_or_clear17hd342ac90a7794c21E.exit ], [ %.sroa.9.0, %60 ] +_ZN10serde_json3ser9Formatter17begin_array_value17h1d9025c024b2e195E.exit.i99: ; preds = %59, %_ZN4core4iter8adapters5chain17and_then_or_clear17hd342ac90a7794c21E.exit + %.sroa.0114.1127.ph = phi ptr [ %55, %_ZN4core4iter8adapters5chain17and_then_or_clear17hd342ac90a7794c21E.exit ], [ null, %60 ] + %.sroa.9.1.ph = phi ptr [ %.sroa.9.0, %_ZN4core4iter8adapters5chain17and_then_or_clear17hd342ac90a7794c21E.exit ], [ %60, %60 ] + %.0.i98.ph = phi ptr [ %56, %_ZN4core4iter8adapters5chain17and_then_or_clear17hd342ac90a7794c21E.exit ], [ %.sroa.9.0, %60 ] tail call void @llvm.experimental.noalias.scope.decl(metadata !3444) call void @llvm.assume(i1 true) [ "align"(ptr %1, i64 8) ] %62 = tail call noundef ptr @"_ZN57_$LT$std..io..stdio..Stdout$u20$as$u20$std..io..Write$GT$9write_all17h5e1a29f66be91e9cE"(ptr noalias noundef nonnull align 8 dereferenceable(8) %1, ptr noalias noundef nonnull readonly align 1 @anon.79fb49cdb9b8b410ff224812fb6dc91a.26.llvm.10588682083550974452, i64 noundef 1), !noalias !3447 @@ -16418,37 +16418,37 @@ _ZN10serde_json3ser9Formatter17begin_array_value17h1d9025c024b2e195E.exit.i99: ; "_ZN83_$LT$serde_json..ser..Compound$LT$W$C$F$GT$$u20$as$u20$serde..ser..SerializeSeq$GT$17serialize_element17ha852ebd3b3e3ecb5E.exit": ; preds = %_ZN10serde_json3ser9Formatter17begin_array_value17h1d9025c024b2e195E.exit.i99 store i8 2, ptr %6, align 8, !alias.scope !3444, !noalias !3449 - %64 = tail call noundef align 8 ptr @"_ZN70_$LT$just..expression..Expression$u20$as$u20$serde..ser..Serialize$GT$9serialize17h198a9eb8fb5b1bbcE"(ptr noalias noundef nonnull readonly align 8 dereferenceable(128) %.0.i98.ph, ptr noalias noundef nonnull align 8 dereferenceable(8) %1), !noalias !3444 - %65 = icmp eq ptr %64, null - br i1 %65, label %53, label %"_ZN83_$LT$serde_json..ser..Compound$LT$W$C$F$GT$$u20$as$u20$serde..ser..SerializeSeq$GT$3end17h2ae171f2cc8ad955E.exit" + %63 = tail call noundef align 8 ptr @"_ZN70_$LT$just..expression..Expression$u20$as$u20$serde..ser..Serialize$GT$9serialize17h198a9eb8fb5b1bbcE"(ptr noalias noundef nonnull readonly align 8 dereferenceable(128) %.0.i98.ph, ptr noalias noundef nonnull align 8 dereferenceable(8) %1), !noalias !3444 + %64 = icmp eq ptr %63, null + br i1 %64, label %52, label %"_ZN83_$LT$serde_json..ser..Compound$LT$W$C$F$GT$$u20$as$u20$serde..ser..SerializeSeq$GT$3end17h2ae171f2cc8ad955E.exit" -66: ; preds = %.preheader145, %"_ZN83_$LT$serde_json..ser..Compound$LT$W$C$F$GT$$u20$as$u20$serde..ser..SerializeSeq$GT$17serialize_element17he8f0f3689d1dbeadE.exit109" +.preheader145: ; preds = %"_ZN4core6option15Option$LT$T$GT$7or_else17h04795529c056ca55E.exit", %"_ZN83_$LT$serde_json..ser..Compound$LT$W$C$F$GT$$u20$as$u20$serde..ser..SerializeSeq$GT$17serialize_element17he8f0f3689d1dbeadE.exit109" %.sroa.0115.0.idx = phi i64 [ %.sroa.0115.0.add, %"_ZN83_$LT$serde_json..ser..Compound$LT$W$C$F$GT$$u20$as$u20$serde..ser..SerializeSeq$GT$17serialize_element17he8f0f3689d1dbeadE.exit109" ], [ 16, %.preheader145 ] - %67 = icmp eq i64 %.sroa.0115.0.idx, 40 - br i1 %67, label %"_ZN4core6option15Option$LT$T$GT$7or_else17h04795529c056ca55E.exit..thread_crit_edge", label %_ZN10serde_json3ser9Formatter17begin_array_value17h1d9025c024b2e195E.exit.i105 + %65 = icmp eq i64 %.sroa.0115.0.idx, 40 + br i1 %65, label %"_ZN4core6option15Option$LT$T$GT$7or_else17h04795529c056ca55E.exit..thread_crit_edge", label %_ZN10serde_json3ser9Formatter17begin_array_value17h1d9025c024b2e195E.exit.i105 -_ZN10serde_json3ser9Formatter17begin_array_value17h1d9025c024b2e195E.exit.i105: ; preds = %66 +_ZN10serde_json3ser9Formatter17begin_array_value17h1d9025c024b2e195E.exit.i105: ; preds = %.preheader145 %.sroa.0115.0.ptr = getelementptr inbounds nuw i8, ptr %0, i64 %.sroa.0115.0.idx %.val82 = load ptr, ptr %.sroa.0115.0.ptr, align 8 - %68 = tail call noundef ptr @"_ZN57_$LT$std..io..stdio..Stdout$u20$as$u20$std..io..Write$GT$9write_all17h5e1a29f66be91e9cE"(ptr noalias noundef nonnull align 8 dereferenceable(8) %1, ptr noalias noundef nonnull readonly align 1 @anon.79fb49cdb9b8b410ff224812fb6dc91a.26.llvm.10588682083550974452, i64 noundef 1), !noalias !3450 - %69 = icmp eq ptr %68, null - br i1 %69, label %"_ZN83_$LT$serde_json..ser..Compound$LT$W$C$F$GT$$u20$as$u20$serde..ser..SerializeSeq$GT$17serialize_element17he8f0f3689d1dbeadE.exit109", label %"_ZN83_$LT$serde_json..ser..Compound$LT$W$C$F$GT$$u20$as$u20$serde..ser..SerializeSeq$GT$3end17h2ae171f2cc8ad955E.exit.sink.split" + %66 = tail call noundef ptr @"_ZN57_$LT$std..io..stdio..Stdout$u20$as$u20$std..io..Write$GT$9write_all17h5e1a29f66be91e9cE"(ptr noalias noundef nonnull align 8 dereferenceable(8) %1, ptr noalias noundef nonnull readonly align 1 @anon.79fb49cdb9b8b410ff224812fb6dc91a.26.llvm.10588682083550974452, i64 noundef 1), !noalias !3450 + %67 = icmp eq ptr %66, null + br i1 %67, label %"_ZN83_$LT$serde_json..ser..Compound$LT$W$C$F$GT$$u20$as$u20$serde..ser..SerializeSeq$GT$17serialize_element17he8f0f3689d1dbeadE.exit109", label %"_ZN83_$LT$serde_json..ser..Compound$LT$W$C$F$GT$$u20$as$u20$serde..ser..SerializeSeq$GT$3end17h2ae171f2cc8ad955E.exit.sink.split" "_ZN83_$LT$serde_json..ser..Compound$LT$W$C$F$GT$$u20$as$u20$serde..ser..SerializeSeq$GT$17serialize_element17he8f0f3689d1dbeadE.exit109": ; preds = %_ZN10serde_json3ser9Formatter17begin_array_value17h1d9025c024b2e195E.exit.i105 %.sroa.0115.0.add = add nuw nsw i64 %.sroa.0115.0.idx, 8 - %70 = icmp ne ptr %.val82, null - tail call void @llvm.assume(i1 %70) - %71 = tail call noundef align 8 ptr @"_ZN70_$LT$just..expression..Expression$u20$as$u20$serde..ser..Serialize$GT$9serialize17h198a9eb8fb5b1bbcE"(ptr noalias noundef nonnull readonly align 8 dereferenceable(128) %.val82, ptr noalias noundef nonnull align 8 dereferenceable(8) %1), !noalias !3450 - %72 = icmp eq ptr %71, null - br i1 %72, label %66, label %"_ZN83_$LT$serde_json..ser..Compound$LT$W$C$F$GT$$u20$as$u20$serde..ser..SerializeSeq$GT$3end17h2ae171f2cc8ad955E.exit" + %68 = icmp ne ptr %.val82, null + tail call void @llvm.assume(i1 %68) + %69 = tail call noundef align 8 ptr @"_ZN70_$LT$just..expression..Expression$u20$as$u20$serde..ser..Serialize$GT$9serialize17h198a9eb8fb5b1bbcE"(ptr noalias noundef nonnull readonly align 8 dereferenceable(128) %.val82, ptr noalias noundef nonnull align 8 dereferenceable(8) %1), !noalias !3450 + %70 = icmp eq ptr %69, null + br i1 %70, label %.preheader145, label %"_ZN83_$LT$serde_json..ser..Compound$LT$W$C$F$GT$$u20$as$u20$serde..ser..SerializeSeq$GT$3end17h2ae171f2cc8ad955E.exit" "_ZN83_$LT$serde_json..ser..Compound$LT$W$C$F$GT$$u20$as$u20$serde..ser..SerializeSeq$GT$3end17h2ae171f2cc8ad955E.exit.sink.split": ; preds = %_ZN10serde_json3ser9Formatter17begin_array_value17h1d9025c024b2e195E.exit.i105, %_ZN10serde_json3ser9Formatter17begin_array_value17h1d9025c024b2e195E.exit.i99, %_ZN10serde_json3ser9Formatter17begin_array_value17h1d9025c024b2e195E.exit.i93, %.thread, %2, %_ZN10serde_json3ser9Formatter17begin_array_value17h1d9025c024b2e195E.exit.thread.i, %9, %_ZN10serde_json3ser18format_escaped_str17hd9e140aaf5c70a48E.exit.i.i.i, %switch.lookup - %.lcssa195.sink.sink = phi ptr [ %4, %2 ], [ %12, %_ZN10serde_json3ser18format_escaped_str17hd9e140aaf5c70a48E.exit.i.i.i ], [ %10, %9 ], [ %7, %_ZN10serde_json3ser9Formatter17begin_array_value17h1d9025c024b2e195E.exit.thread.i ], [ %15, %switch.lookup ], [ %23, %.thread ], [ %48, %_ZN10serde_json3ser9Formatter17begin_array_value17h1d9025c024b2e195E.exit.i93 ], [ %62, %_ZN10serde_json3ser9Formatter17begin_array_value17h1d9025c024b2e195E.exit.i99 ], [ %68, %_ZN10serde_json3ser9Formatter17begin_array_value17h1d9025c024b2e195E.exit.i105 ] - %73 = tail call noundef nonnull align 8 ptr @_ZN10serde_json5error5Error2io17h7c09147f2263f983E(ptr noundef nonnull %.lcssa195.sink.sink) + %.lcssa195.sink.sink = phi ptr [ %4, %2 ], [ %12, %_ZN10serde_json3ser18format_escaped_str17hd9e140aaf5c70a48E.exit.i.i.i ], [ %10, %9 ], [ %7, %_ZN10serde_json3ser9Formatter17begin_array_value17h1d9025c024b2e195E.exit.thread.i ], [ %15, %switch.lookup ], [ %23, %.thread ], [ %47, %_ZN10serde_json3ser9Formatter17begin_array_value17h1d9025c024b2e195E.exit.i93 ], [ %62, %_ZN10serde_json3ser9Formatter17begin_array_value17h1d9025c024b2e195E.exit.i99 ], [ %66, %_ZN10serde_json3ser9Formatter17begin_array_value17h1d9025c024b2e195E.exit.i105 ] + %71 = tail call noundef nonnull align 8 ptr @_ZN10serde_json5error5Error2io17h7c09147f2263f983E(ptr noundef nonnull %.lcssa195.sink.sink) br label %"_ZN83_$LT$serde_json..ser..Compound$LT$W$C$F$GT$$u20$as$u20$serde..ser..SerializeSeq$GT$3end17h2ae171f2cc8ad955E.exit" "_ZN83_$LT$serde_json..ser..Compound$LT$W$C$F$GT$$u20$as$u20$serde..ser..SerializeSeq$GT$3end17h2ae171f2cc8ad955E.exit": ; preds = %"_ZN83_$LT$serde_json..ser..Compound$LT$W$C$F$GT$$u20$as$u20$serde..ser..SerializeSeq$GT$17serialize_element17he8f0f3689d1dbeadE.exit109", %"_ZN83_$LT$serde_json..ser..Compound$LT$W$C$F$GT$$u20$as$u20$serde..ser..SerializeSeq$GT$17serialize_element17ha852ebd3b3e3ecb5E.exit", %"_ZN83_$LT$serde_json..ser..Compound$LT$W$C$F$GT$$u20$as$u20$serde..ser..SerializeSeq$GT$17serialize_element17he8f0f3689d1dbeadE.exit", %"_ZN83_$LT$serde_json..ser..Compound$LT$W$C$F$GT$$u20$as$u20$serde..ser..SerializeSeq$GT$3end17h2ae171f2cc8ad955E.exit.sink.split", %"_ZN83_$LT$serde_json..ser..Compound$LT$W$C$F$GT$$u20$as$u20$serde..ser..SerializeSeq$GT$17serialize_element17hca3a755e3433e665E.exit", %29, %43, %25, %.thread, %"_ZN4core6option15Option$LT$T$GT$7or_else17h04795529c056ca55E.exit" - %.1 = phi ptr [ null, %"_ZN4core6option15Option$LT$T$GT$7or_else17h04795529c056ca55E.exit" ], [ null, %.thread ], [ %18, %"_ZN83_$LT$serde_json..ser..Compound$LT$W$C$F$GT$$u20$as$u20$serde..ser..SerializeSeq$GT$17serialize_element17hca3a755e3433e665E.exit" ], [ %31, %29 ], [ %44, %43 ], [ %27, %25 ], [ %73, %"_ZN83_$LT$serde_json..ser..Compound$LT$W$C$F$GT$$u20$as$u20$serde..ser..SerializeSeq$GT$3end17h2ae171f2cc8ad955E.exit.sink.split" ], [ %51, %"_ZN83_$LT$serde_json..ser..Compound$LT$W$C$F$GT$$u20$as$u20$serde..ser..SerializeSeq$GT$17serialize_element17he8f0f3689d1dbeadE.exit" ], [ %64, %"_ZN83_$LT$serde_json..ser..Compound$LT$W$C$F$GT$$u20$as$u20$serde..ser..SerializeSeq$GT$17serialize_element17ha852ebd3b3e3ecb5E.exit" ], [ %71, %"_ZN83_$LT$serde_json..ser..Compound$LT$W$C$F$GT$$u20$as$u20$serde..ser..SerializeSeq$GT$17serialize_element17he8f0f3689d1dbeadE.exit109" ] + %.1 = phi ptr [ null, %"_ZN4core6option15Option$LT$T$GT$7or_else17h04795529c056ca55E.exit" ], [ null, %.thread ], [ %18, %"_ZN83_$LT$serde_json..ser..Compound$LT$W$C$F$GT$$u20$as$u20$serde..ser..SerializeSeq$GT$17serialize_element17hca3a755e3433e665E.exit" ], [ %31, %29 ], [ %44, %43 ], [ %27, %25 ], [ %71, %"_ZN83_$LT$serde_json..ser..Compound$LT$W$C$F$GT$$u20$as$u20$serde..ser..SerializeSeq$GT$3end17h2ae171f2cc8ad955E.exit.sink.split" ], [ %50, %"_ZN83_$LT$serde_json..ser..Compound$LT$W$C$F$GT$$u20$as$u20$serde..ser..SerializeSeq$GT$17serialize_element17he8f0f3689d1dbeadE.exit" ], [ %63, %"_ZN83_$LT$serde_json..ser..Compound$LT$W$C$F$GT$$u20$as$u20$serde..ser..SerializeSeq$GT$17serialize_element17ha852ebd3b3e3ecb5E.exit" ], [ %69, %"_ZN83_$LT$serde_json..ser..Compound$LT$W$C$F$GT$$u20$as$u20$serde..ser..SerializeSeq$GT$17serialize_element17he8f0f3689d1dbeadE.exit109" ] call void @llvm.lifetime.end.p0(ptr nonnull %3) ret ptr %.1 } diff --git a/bench/libcxx/optimized/operations.ll b/bench/libcxx/optimized/operations.ll index 37279aa6465..32148befa65 100644 --- a/bench/libcxx/optimized/operations.ll +++ b/bench/libcxx/optimized/operations.ll @@ -6670,7 +6670,7 @@ _ZNSt3__14__fs10filesystem6detail12ErrorHandlerINS1_4pathEEC2B8ne210000EPKcPNS_1 call void @_ZdlPvm(ptr noundef %38, i64 noundef %40) #28 br label %common.resume -common.resume: ; preds = %32, %36, %259 +common.resume: ; preds = %32, %36, %260 %common.resume.op = phi { ptr, i32 } [ %.pn26, %259 ], [ %33, %36 ], [ %33, %32 ] resume { ptr, i32 } %common.resume.op @@ -6694,7 +6694,7 @@ _ZNSt3__14__fs10filesystem4pathC2B8ne210000IA1_cvEERKT_NS2_6formatE.exit: ; pred _ZNSt3__14__fs10filesystem4pathD2B8ne210000Ev.exit: ; preds = %41, %44 call void @llvm.lifetime.end.p0(ptr nonnull %7) - br label %258 + br label %259 49: ; preds = %_ZNSt3__14__fs10filesystem4pathC2B8ne210000IA1_cvEERKT_NS2_6formatE.exit %50 = landingpad { ptr, i32 } @@ -6714,7 +6714,7 @@ _ZNSt3__14__fs10filesystem4pathD2B8ne210000Ev.exit: ; preds = %41, %44 _ZNSt3__14__fs10filesystem4pathD2B8ne210000Ev.exit32: ; preds = %49, %53 call void @llvm.lifetime.end.p0(ptr nonnull %7) - br label %259 + br label %260 58: ; preds = %_ZNSt3__14__fs10filesystem6detail12ErrorHandlerINS1_4pathEEC2B8ne210000EPKcPNS_10error_codeEPKS4_SB_.exit call void @llvm.lifetime.start.p0(ptr nonnull %8) @@ -6864,12 +6864,12 @@ _ZNSt3__14__fs10filesystem6detail10posix_statB8ne210000ERKNS1_4pathEPNS_10error_ 119: ; preds = %62, %60 %120 = landingpad { ptr, i32 } cleanup - br label %243 + br label %244 121: ; preds = %_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE5clearB8ne210000Ev.exit.i %122 = landingpad { ptr, i32 } cleanup - br label %238 + br label %239 123: ; preds = %_ZNSt3__14__fs10filesystem6detail10posix_statB8ne210000ERKNS1_4pathEPNS_10error_codeE.exit.i %124 = landingpad { ptr, i32 } @@ -7015,7 +7015,7 @@ _ZNSt3__119__allocate_at_leastB8ne210000INS_9allocatorINS_17basic_string_viewIcN .thread: ; preds = %.invoke call void @llvm.lifetime.end.p0(ptr nonnull %12) - br label %219 + br label %220 172: ; preds = %148, %.noexc52, %171 %.sroa.17.5 = phi ptr [ %.sroa.17.0168, %148 ], [ %167, %.noexc52 ], [ %167, %171 ] @@ -7040,7 +7040,7 @@ _ZNSt3__119__allocate_at_leastB8ne210000INS_9allocatorINS_17basic_string_viewIcN 174: ; preds = %.loopexit, %.loopexit.split-lp, %125, %137, %123 %.pn.pn = phi { ptr, i32 } [ %124, %123 ], [ %126, %125 ], [ %138, %137 ], [ %lpad.loopexit, %.loopexit ], [ %lpad.loopexit.split-lp, %.loopexit.split-lp ] call void @llvm.lifetime.end.p0(ptr nonnull %12) - br label %238 + br label %239 175: ; preds = %_ZNSt3__14__fs10filesystem4pathD2B8ne210000Ev.exit47 call void @llvm.lifetime.end.p0(ptr nonnull %12) @@ -7134,152 +7134,152 @@ _ZNSt3__14__fs10filesystem4pathD2B8ne210000Ev.exit65: ; preds = %_ZNSt3__14__fs1 %.pn19 = phi { ptr, i32 } [ %179, %178 ], [ %201, %200 ], [ %.pn19.ph, %.body.sink.split ] call void @llvm.lifetime.end.p0(ptr nonnull %15) call void @llvm.lifetime.end.p0(ptr nonnull %14) - br label %238 + br label %239 -208: ; preds = %213, %199 +208: ; preds = %214, %199 %.sroa.17.0160 = phi ptr [ %.sroa.17.0161, %213 ], [ %.sroa.17.0162, %199 ] %.sroa.098.0132 = phi ptr [ %.sroa.098.0133, %213 ], [ %.sroa.098.0134, %199 ] %209 = landingpad { ptr, i32 } cleanup - br label %238 + br label %239 210: ; preds = %_ZNSt3__14__fs10filesystem4pathD2B8ne210000Ev.exit65, %175 %.sroa.17.0161 = phi ptr [ %.sroa.17.0162, %_ZNSt3__14__fs10filesystem4pathD2B8ne210000Ev.exit65 ], [ %.sroa.17.0168, %175 ] %.sroa.10.0147 = phi ptr [ %.sroa.10.0148, %_ZNSt3__14__fs10filesystem4pathD2B8ne210000Ev.exit65 ], [ %.sroa.10.0169, %175 ] %.sroa.098.0133 = phi ptr [ %.sroa.098.0134, %_ZNSt3__14__fs10filesystem4pathD2B8ne210000Ev.exit65 ], [ %.sroa.098.0170, %175 ] %211 = icmp eq ptr %.sroa.098.0133, %.sroa.10.0147 - br i1 %211, label %212, label %_ZNSt3__14__fs10filesystem4pathdVB8ne210000INS_17basic_string_viewIcNS_11char_traitsIcEEEEEENS_9enable_ifIXsr13__is_pathableIT_EE5valueERS2_E4typeERKS9_.exit + br i1 %211, label %212, label %213 212: ; preds = %210 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %0, ptr noundef nonnull align 8 dereferenceable(24) %8, i64 24, i1 false), !tbaa.struct !14 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %8, i8 0, i64 24, i1 false) - br label %219 + br label %220 -_ZNSt3__14__fs10filesystem4pathdVB8ne210000INS_17basic_string_viewIcNS_11char_traitsIcEEEEEENS_9enable_ifIXsr13__is_pathableIT_EE5valueERS2_E4typeERKS9_.exit: ; preds = %210, %214 +213: ; preds = %210, %214 %.sroa.490.0 = phi ptr [ %215, %214 ], [ %.sroa.10.0147, %210 ] %.not120 = icmp eq ptr %.sroa.490.0, %.sroa.098.0133 - br i1 %.not120, label %213, label %214 + br i1 %.not120, label %214, label %215 -213: ; preds = %_ZNSt3__14__fs10filesystem4pathdVB8ne210000INS_17basic_string_viewIcNS_11char_traitsIcEEEEEENS_9enable_ifIXsr13__is_pathableIT_EE5valueERS2_E4typeERKS9_.exit +214: ; preds = %_ZNSt3__14__fs10filesystem4pathdVB8ne210000INS_17basic_string_viewIcNS_11char_traitsIcEEEEEENS_9enable_ifIXsr13__is_pathableIT_EE5valueERS2_E4typeERKS9_.exit invoke void @_ZNKSt3__14__fs10filesystem4path16lexically_normalEv(ptr dead_on_unwind writable sret(%"class.std::__1::__fs::filesystem::path") align 8 %0, ptr noundef nonnull align 8 dereferenceable(24) %8) to label %219 unwind label %208 -214: ; preds = %_ZNSt3__14__fs10filesystem4pathdVB8ne210000INS_17basic_string_viewIcNS_11char_traitsIcEEEEEENS_9enable_ifIXsr13__is_pathableIT_EE5valueERS2_E4typeERKS9_.exit - %215 = getelementptr inbounds i8, ptr %.sroa.490.0, i64 -16 - %216 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt3__14__fs10filesystem4path6appendB8ne210000INS_17basic_string_viewIcNS_11char_traitsIcEEEEEENS_9enable_ifIXsr13__is_pathableIT_EE5valueERS2_E4typeERKS9_(ptr noundef nonnull align 8 dereferenceable(24) %8, ptr noundef nonnull align 8 dereferenceable(16) %215) - to label %_ZNSt3__14__fs10filesystem4pathdVB8ne210000INS_17basic_string_viewIcNS_11char_traitsIcEEEEEENS_9enable_ifIXsr13__is_pathableIT_EE5valueERS2_E4typeERKS9_.exit unwind label %217, !llvm.loop !273 +215: ; preds = %_ZNSt3__14__fs10filesystem4pathdVB8ne210000INS_17basic_string_viewIcNS_11char_traitsIcEEEEEENS_9enable_ifIXsr13__is_pathableIT_EE5valueERS2_E4typeERKS9_.exit + %216 = getelementptr inbounds i8, ptr %.sroa.490.0, i64 -16 + %217 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt3__14__fs10filesystem4path6appendB8ne210000INS_17basic_string_viewIcNS_11char_traitsIcEEEEEENS_9enable_ifIXsr13__is_pathableIT_EE5valueERS2_E4typeERKS9_(ptr noundef nonnull align 8 dereferenceable(24) %8, ptr noundef nonnull align 8 dereferenceable(16) %216) + to label %_ZNSt3__14__fs10filesystem4pathdVB8ne210000INS_17basic_string_viewIcNS_11char_traitsIcEEEEEENS_9enable_ifIXsr13__is_pathableIT_EE5valueERS2_E4typeERKS9_.exit unwind label %218, !llvm.loop !273 -217: ; preds = %214 - %218 = landingpad { ptr, i32 } +218: ; preds = %215 + %219 = landingpad { ptr, i32 } cleanup - br label %238 + br label %239 -219: ; preds = %.thread, %213, %199, %212 +220: ; preds = %.thread, %214, %199, %212 %.sroa.17.0165 = phi ptr [ %.sroa.17.0168, %.thread ], [ %.sroa.17.0161, %213 ], [ %.sroa.17.0162, %199 ], [ %.sroa.17.0161, %212 ] %.sroa.098.0137 = phi ptr [ %.sroa.098.0170, %.thread ], [ %.sroa.098.0133, %213 ], [ %.sroa.098.0134, %199 ], [ %.sroa.098.0133, %212 ] call void @llvm.lifetime.end.p0(ptr nonnull %11) %.not.i.i74 = icmp eq ptr %.sroa.098.0137, null - br i1 %.not.i.i74, label %_ZNSt3__16vectorINS_17basic_string_viewIcNS_11char_traitsIcEEEENS_9allocatorIS4_EEED2B8ne210000Ev.exit, label %220 + br i1 %.not.i.i74, label %_ZNSt3__16vectorINS_17basic_string_viewIcNS_11char_traitsIcEEEENS_9allocatorIS4_EEED2B8ne210000Ev.exit, label %221 -220: ; preds = %219 - %221 = ptrtoint ptr %.sroa.17.0165 to i64 - %222 = ptrtoint ptr %.sroa.098.0137 to i64 - %223 = sub i64 %221, %222 - call void @_ZdlPvm(ptr noundef nonnull %.sroa.098.0137, i64 noundef %223) #28 +221: ; preds = %220 + %222 = ptrtoint ptr %.sroa.17.0165 to i64 + %223 = ptrtoint ptr %.sroa.098.0137 to i64 + %224 = sub i64 %222, %223 + call void @_ZdlPvm(ptr noundef nonnull %.sroa.098.0137, i64 noundef %224) #28 br label %_ZNSt3__16vectorINS_17basic_string_viewIcNS_11char_traitsIcEEEENS_9allocatorIS4_EEED2B8ne210000Ev.exit -_ZNSt3__16vectorINS_17basic_string_viewIcNS_11char_traitsIcEEEENS_9allocatorIS4_EEED2B8ne210000Ev.exit: ; preds = %219, %220 +_ZNSt3__16vectorINS_17basic_string_viewIcNS_11char_traitsIcEEEENS_9allocatorIS4_EEED2B8ne210000Ev.exit: ; preds = %220, %221 call void @llvm.lifetime.end.p0(ptr nonnull %10) - %224 = load i8, ptr %9, align 8 - %225 = and i8 %224, 1 - %.not.i.i75 = icmp eq i8 %225, 0 - br i1 %.not.i.i75, label %_ZNSt3__14__fs10filesystem4pathD2B8ne210000Ev.exit77, label %226 - -226: ; preds = %_ZNSt3__16vectorINS_17basic_string_viewIcNS_11char_traitsIcEEEENS_9allocatorIS4_EEED2B8ne210000Ev.exit - %227 = getelementptr inbounds nuw i8, ptr %9, i64 16 - %228 = load ptr, ptr %227, align 8, !tbaa !5 - %229 = load i64, ptr %9, align 8 - %230 = and i64 %229, -2 - call void @_ZdlPvm(ptr noundef %228, i64 noundef %230) #28 + %225 = load i8, ptr %9, align 8 + %226 = and i8 %225, 1 + %.not.i.i75 = icmp eq i8 %226, 0 + br i1 %.not.i.i75, label %_ZNSt3__14__fs10filesystem4pathD2B8ne210000Ev.exit77, label %227 + +227: ; preds = %_ZNSt3__16vectorINS_17basic_string_viewIcNS_11char_traitsIcEEEENS_9allocatorIS4_EEED2B8ne210000Ev.exit + %228 = getelementptr inbounds nuw i8, ptr %9, i64 16 + %229 = load ptr, ptr %228, align 8, !tbaa !5 + %230 = load i64, ptr %9, align 8 + %231 = and i64 %230, -2 + call void @_ZdlPvm(ptr noundef %229, i64 noundef %231) #28 br label %_ZNSt3__14__fs10filesystem4pathD2B8ne210000Ev.exit77 -_ZNSt3__14__fs10filesystem4pathD2B8ne210000Ev.exit77: ; preds = %_ZNSt3__16vectorINS_17basic_string_viewIcNS_11char_traitsIcEEEENS_9allocatorIS4_EEED2B8ne210000Ev.exit, %226 +_ZNSt3__14__fs10filesystem4pathD2B8ne210000Ev.exit77: ; preds = %_ZNSt3__16vectorINS_17basic_string_viewIcNS_11char_traitsIcEEEENS_9allocatorIS4_EEED2B8ne210000Ev.exit, %227 call void @llvm.lifetime.end.p0(ptr nonnull %9) - %231 = load i8, ptr %8, align 8 - %232 = and i8 %231, 1 - %.not.i.i78 = icmp eq i8 %232, 0 - br i1 %.not.i.i78, label %_ZNSt3__14__fs10filesystem4pathD2B8ne210000Ev.exit80, label %233 - -233: ; preds = %_ZNSt3__14__fs10filesystem4pathD2B8ne210000Ev.exit77 - %234 = getelementptr inbounds nuw i8, ptr %8, i64 16 - %235 = load ptr, ptr %234, align 8, !tbaa !5 - %236 = load i64, ptr %8, align 8 - %237 = and i64 %236, -2 - call void @_ZdlPvm(ptr noundef %235, i64 noundef %237) #28 + %232 = load i8, ptr %8, align 8 + %233 = and i8 %232, 1 + %.not.i.i78 = icmp eq i8 %233, 0 + br i1 %.not.i.i78, label %_ZNSt3__14__fs10filesystem4pathD2B8ne210000Ev.exit80, label %234 + +234: ; preds = %_ZNSt3__14__fs10filesystem4pathD2B8ne210000Ev.exit77 + %235 = getelementptr inbounds nuw i8, ptr %8, i64 16 + %236 = load ptr, ptr %235, align 8, !tbaa !5 + %237 = load i64, ptr %8, align 8 + %238 = and i64 %237, -2 + call void @_ZdlPvm(ptr noundef %236, i64 noundef %238) #28 br label %_ZNSt3__14__fs10filesystem4pathD2B8ne210000Ev.exit80 -_ZNSt3__14__fs10filesystem4pathD2B8ne210000Ev.exit80: ; preds = %_ZNSt3__14__fs10filesystem4pathD2B8ne210000Ev.exit77, %233 +_ZNSt3__14__fs10filesystem4pathD2B8ne210000Ev.exit80: ; preds = %_ZNSt3__14__fs10filesystem4pathD2B8ne210000Ev.exit77, %234 call void @llvm.lifetime.end.p0(ptr nonnull %8) - br label %258 + br label %259 -238: ; preds = %217, %208, %.body, %174, %121 +239: ; preds = %218, %208, %.body, %174, %121 %.sroa.17.0157 = phi ptr [ %.sroa.17.0160, %208 ], [ %.sroa.17.0162, %.body ], [ %.sroa.17.0168, %174 ], [ %.sroa.17.0168, %121 ], [ %.sroa.17.0161, %217 ] %.sroa.098.0129 = phi ptr [ %.sroa.098.0132, %208 ], [ %.sroa.098.0134, %.body ], [ %.sroa.098.0170, %174 ], [ %.sroa.098.0170, %121 ], [ %.sroa.098.0133, %217 ] - %.pn23 = phi { ptr, i32 } [ %209, %208 ], [ %.pn19, %.body ], [ %.pn.pn, %174 ], [ %122, %121 ], [ %218, %217 ] + %.pn23 = phi { ptr, i32 } [ %209, %208 ], [ %.pn19, %.body ], [ %.pn.pn, %174 ], [ %122, %121 ], [ %219, %217 ] call void @llvm.lifetime.end.p0(ptr nonnull %11) %.not.i.i81 = icmp eq ptr %.sroa.098.0129, null - br i1 %.not.i.i81, label %_ZNSt3__16vectorINS_17basic_string_viewIcNS_11char_traitsIcEEEENS_9allocatorIS4_EEED2B8ne210000Ev.exit82, label %239 + br i1 %.not.i.i81, label %_ZNSt3__16vectorINS_17basic_string_viewIcNS_11char_traitsIcEEEENS_9allocatorIS4_EEED2B8ne210000Ev.exit82, label %240 -239: ; preds = %238 - %240 = ptrtoint ptr %.sroa.17.0157 to i64 - %241 = ptrtoint ptr %.sroa.098.0129 to i64 - %242 = sub i64 %240, %241 - call void @_ZdlPvm(ptr noundef nonnull %.sroa.098.0129, i64 noundef %242) #28 +240: ; preds = %239 + %241 = ptrtoint ptr %.sroa.17.0157 to i64 + %242 = ptrtoint ptr %.sroa.098.0129 to i64 + %243 = sub i64 %241, %242 + call void @_ZdlPvm(ptr noundef nonnull %.sroa.098.0129, i64 noundef %243) #28 br label %_ZNSt3__16vectorINS_17basic_string_viewIcNS_11char_traitsIcEEEENS_9allocatorIS4_EEED2B8ne210000Ev.exit82 -_ZNSt3__16vectorINS_17basic_string_viewIcNS_11char_traitsIcEEEENS_9allocatorIS4_EEED2B8ne210000Ev.exit82: ; preds = %238, %239 +_ZNSt3__16vectorINS_17basic_string_viewIcNS_11char_traitsIcEEEENS_9allocatorIS4_EEED2B8ne210000Ev.exit82: ; preds = %239, %240 call void @llvm.lifetime.end.p0(ptr nonnull %10) - br label %243 + br label %244 -243: ; preds = %_ZNSt3__16vectorINS_17basic_string_viewIcNS_11char_traitsIcEEEENS_9allocatorIS4_EEED2B8ne210000Ev.exit82, %119 +244: ; preds = %_ZNSt3__16vectorINS_17basic_string_viewIcNS_11char_traitsIcEEEENS_9allocatorIS4_EEED2B8ne210000Ev.exit82, %119 %.pn23.pn = phi { ptr, i32 } [ %.pn23, %_ZNSt3__16vectorINS_17basic_string_viewIcNS_11char_traitsIcEEEENS_9allocatorIS4_EEED2B8ne210000Ev.exit82 ], [ %120, %119 ] - %244 = load i8, ptr %9, align 8 - %245 = and i8 %244, 1 - %.not.i.i83 = icmp eq i8 %245, 0 - br i1 %.not.i.i83, label %_ZNSt3__14__fs10filesystem4pathD2B8ne210000Ev.exit85, label %246 - -246: ; preds = %243 - %247 = getelementptr inbounds nuw i8, ptr %9, i64 16 - %248 = load ptr, ptr %247, align 8, !tbaa !5 - %249 = load i64, ptr %9, align 8 - %250 = and i64 %249, -2 - call void @_ZdlPvm(ptr noundef %248, i64 noundef %250) #28 + %245 = load i8, ptr %9, align 8 + %246 = and i8 %245, 1 + %.not.i.i83 = icmp eq i8 %246, 0 + br i1 %.not.i.i83, label %_ZNSt3__14__fs10filesystem4pathD2B8ne210000Ev.exit85, label %247 + +247: ; preds = %244 + %248 = getelementptr inbounds nuw i8, ptr %9, i64 16 + %249 = load ptr, ptr %248, align 8, !tbaa !5 + %250 = load i64, ptr %9, align 8 + %251 = and i64 %250, -2 + call void @_ZdlPvm(ptr noundef %249, i64 noundef %251) #28 br label %_ZNSt3__14__fs10filesystem4pathD2B8ne210000Ev.exit85 -_ZNSt3__14__fs10filesystem4pathD2B8ne210000Ev.exit85: ; preds = %243, %246 +_ZNSt3__14__fs10filesystem4pathD2B8ne210000Ev.exit85: ; preds = %244, %247 call void @llvm.lifetime.end.p0(ptr nonnull %9) - %251 = load i8, ptr %8, align 8 - %252 = and i8 %251, 1 - %.not.i.i86 = icmp eq i8 %252, 0 - br i1 %.not.i.i86, label %_ZNSt3__14__fs10filesystem4pathD2B8ne210000Ev.exit88, label %253 - -253: ; preds = %_ZNSt3__14__fs10filesystem4pathD2B8ne210000Ev.exit85 - %254 = getelementptr inbounds nuw i8, ptr %8, i64 16 - %255 = load ptr, ptr %254, align 8, !tbaa !5 - %256 = load i64, ptr %8, align 8 - %257 = and i64 %256, -2 - call void @_ZdlPvm(ptr noundef %255, i64 noundef %257) #28 + %252 = load i8, ptr %8, align 8 + %253 = and i8 %252, 1 + %.not.i.i86 = icmp eq i8 %253, 0 + br i1 %.not.i.i86, label %_ZNSt3__14__fs10filesystem4pathD2B8ne210000Ev.exit88, label %254 + +254: ; preds = %_ZNSt3__14__fs10filesystem4pathD2B8ne210000Ev.exit85 + %255 = getelementptr inbounds nuw i8, ptr %8, i64 16 + %256 = load ptr, ptr %255, align 8, !tbaa !5 + %257 = load i64, ptr %8, align 8 + %258 = and i64 %257, -2 + call void @_ZdlPvm(ptr noundef %256, i64 noundef %258) #28 br label %_ZNSt3__14__fs10filesystem4pathD2B8ne210000Ev.exit88 -_ZNSt3__14__fs10filesystem4pathD2B8ne210000Ev.exit88: ; preds = %_ZNSt3__14__fs10filesystem4pathD2B8ne210000Ev.exit85, %253 +_ZNSt3__14__fs10filesystem4pathD2B8ne210000Ev.exit88: ; preds = %_ZNSt3__14__fs10filesystem4pathD2B8ne210000Ev.exit85, %254 call void @llvm.lifetime.end.p0(ptr nonnull %8) - br label %259 + br label %260 -258: ; preds = %_ZNSt3__14__fs10filesystem4pathD2B8ne210000Ev.exit80, %_ZNSt3__14__fs10filesystem4pathD2B8ne210000Ev.exit +259: ; preds = %_ZNSt3__14__fs10filesystem4pathD2B8ne210000Ev.exit80, %_ZNSt3__14__fs10filesystem4pathD2B8ne210000Ev.exit call void @llvm.lifetime.end.p0(ptr nonnull %6) ret void -259: ; preds = %_ZNSt3__14__fs10filesystem4pathD2B8ne210000Ev.exit88, %_ZNSt3__14__fs10filesystem4pathD2B8ne210000Ev.exit32 +260: ; preds = %_ZNSt3__14__fs10filesystem4pathD2B8ne210000Ev.exit88, %_ZNSt3__14__fs10filesystem4pathD2B8ne210000Ev.exit32 %.pn26 = phi { ptr, i32 } [ %50, %_ZNSt3__14__fs10filesystem4pathD2B8ne210000Ev.exit32 ], [ %.pn23.pn, %_ZNSt3__14__fs10filesystem4pathD2B8ne210000Ev.exit88 ] call void @llvm.lifetime.end.p0(ptr nonnull %6) br label %common.resume diff --git a/bench/meilisearch-rs/optimized/2eqafq69fd46y14a.ll b/bench/meilisearch-rs/optimized/2eqafq69fd46y14a.ll index 5640c695881..0b4c047484f 100644 --- a/bench/meilisearch-rs/optimized/2eqafq69fd46y14a.ll +++ b/bench/meilisearch-rs/optimized/2eqafq69fd46y14a.ll @@ -17769,16 +17769,16 @@ define hidden void @"_ZN4core6option15Option$LT$T$GT$3zip17h8a79d47d24f1725fE"(p store ptr %1, ptr %0, align 8 br label %12 -10: ; preds = %3 +11: ; preds = %3 %11 = getelementptr inbounds nuw i8, ptr %0, i64 8 store i64 -9223372036854775808, ptr %11, align 8 br i1 %9, label %12, label %13 -12: ; preds = %.thread, %10, %"_ZN4core3ptr39drop_in_place$LT$std..path..PathBuf$GT$17h45d6c1cf4b3656a9E.exit" +12: ; preds = %.thread, %11, %"_ZN4core3ptr39drop_in_place$LT$std..path..PathBuf$GT$17h45d6c1cf4b3656a9E.exit" call void @llvm.lifetime.end.p0(ptr nonnull %5) ret void -13: ; preds = %10 +13: ; preds = %11 call void @llvm.lifetime.start.p0(ptr nonnull %4), !noalias !3491 call void @"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$14current_memory17h0aaf48f80649e9ddE.llvm.4616129397091597767"(ptr noalias noundef nonnull sret([24 x i8]) align 8 captures(none) dereferenceable(24) %4, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) %6) %14 = getelementptr inbounds nuw i8, ptr %4, i64 8 diff --git a/bench/quinn-rs/optimized/7i3tllkclkw46e2nqel8doaek.ll b/bench/quinn-rs/optimized/7i3tllkclkw46e2nqel8doaek.ll index b5aa59598dc..e9007d2e6d6 100644 --- a/bench/quinn-rs/optimized/7i3tllkclkw46e2nqel8doaek.ll +++ b/bench/quinn-rs/optimized/7i3tllkclkw46e2nqel8doaek.ll @@ -619,7 +619,7 @@ define hidden { ptr, ptr } @"_ZN9hashbrown3map28HashMap$LT$K$C$V$C$S$C$A$GT$6rem %.not = icmp eq ptr %7, null br i1 %.not, label %11, label %8 -8: ; preds = %2 +8:; preds = %2 call void @llvm.assume(i1 true) [ "align"(ptr %7, i64 8) ] %9 = getelementptr inbounds nuw i8, ptr %3, i64 16 %10 = load ptr, ptr %9, align 8, !noundef !6 @@ -628,9 +628,9 @@ define hidden { ptr, ptr } @"_ZN9hashbrown3map28HashMap$LT$K$C$V$C$S$C$A$GT$6rem 11: ; preds = %2, %8 %.sroa.3.0 = phi ptr [ %10, %8 ], [ undef, %2 ] call void @llvm.lifetime.end.p0(ptr nonnull %3) - %12 = insertvalue { ptr, ptr } poison, ptr %7, 0 - %13 = insertvalue { ptr, ptr } %12, ptr %.sroa.3.0, 1 - ret { ptr, ptr } %13 + %10 = insertvalue { ptr, ptr } poison, ptr %7, 0 + %11 = insertvalue { ptr, ptr } %10, ptr %.sroa.3.0, 1 + ret { ptr, ptr } %11 } ; Function Attrs: nonlazybind uwtable diff --git a/bench/regex-rs/optimized/3ixfkxlmcuecmmus.ll b/bench/regex-rs/optimized/3ixfkxlmcuecmmus.ll index 2a14292d6a0..09f69871576 100644 --- a/bench/regex-rs/optimized/3ixfkxlmcuecmmus.ll +++ b/bench/regex-rs/optimized/3ixfkxlmcuecmmus.ll @@ -2028,10 +2028,10 @@ common.resume: ; preds = %.body, %213, %.body unreachable 224: ; preds = %"_ZN68_$LT$alloc..sync..Arc$LT$T$C$A$GT$$u20$as$u20$core..clone..Clone$GT$5clone17h052fc83196357305E.exit", %430 - %.sink737 = phi i8 [ %432, %430 ], [ 2, %"_ZN68_$LT$alloc..sync..Arc$LT$T$C$A$GT$$u20$as$u20$core..clone..Clone$GT$5clone17h052fc83196357305E.exit" ] + %.sink736 = phi i8 [ %432, %430 ], [ 2, %"_ZN68_$LT$alloc..sync..Arc$LT$T$C$A$GT$$u20$as$u20$core..clone..Clone$GT$5clone17h052fc83196357305E.exit" ] %.val101.i = phi ptr [ %.val, %430 ], [ undef, %"_ZN68_$LT$alloc..sync..Arc$LT$T$C$A$GT$$u20$as$u20$core..clone..Clone$GT$5clone17h052fc83196357305E.exit" ] %.sroa.551.0..sroa_idx = getelementptr inbounds nuw i8, ptr %60, i64 16 - store i8 %.sink737, ptr %.sroa.551.0..sroa_idx, align 8 + store i8 %.sink736, ptr %.sroa.551.0..sroa_idx, align 8 call void @llvm.experimental.noalias.scope.decl(metadata !329) call void @llvm.experimental.noalias.scope.decl(metadata !332) call void @llvm.lifetime.start.p0(ptr nonnull %.sroa.5227.i.sroa.4) @@ -2180,7 +2180,7 @@ common.resume: ; preds = %.body, %213, %.body call void @llvm.lifetime.start.p0(ptr nonnull %42), !noalias !334 call void @llvm.lifetime.start.p0(ptr nonnull %.sroa.5199.i.sroa.6) call void @llvm.lifetime.start.p0(ptr nonnull %41), !noalias !334 - %276 = icmp eq i8 %.sink737, 2 + %276 = icmp eq i8 %.sink736, 2 br i1 %276, label %282, label %277 277: ; preds = %275 @@ -2196,7 +2196,7 @@ common.resume: ; preds = %.body, %213, %.body 282: ; preds = %286, %275 %.sroa.548.0..sroa_idx.i = getelementptr inbounds nuw i8, ptr %41, i64 16 - store i8 %.sink737, ptr %.sroa.548.0..sroa_idx.i, align 8, !noalias !334 + store i8 %.sink736, ptr %.sroa.548.0..sroa_idx.i, align 8, !noalias !334 call void @llvm.lifetime.start.p0(ptr nonnull %31), !noalias !393 invoke void @_ZN14regex_automata4meta8wrappers12PikeVMEngine3new17h0ec05a79dbc58bbcE.llvm.4719928553755522418(ptr noalias noundef nonnull sret({ i64, [16 x i64] }) align 8 captures(none) dereferenceable(136) %31, ptr noalias noundef nonnull readonly align 8 dereferenceable(8) %47, ptr noalias noundef nonnull align 8 captures(none) dereferenceable(24) %41, ptr noalias noundef nonnull readonly align 8 dereferenceable(8) %46) to label %.noexc109.i unwind label %273, !noalias !364 @@ -2261,7 +2261,7 @@ common.resume: ; preds = %.body, %213, %.body 295: ; preds = %301, %288 %.sroa.556.0..sroa_idx.i = getelementptr inbounds nuw i8, ptr %39, i64 16 - store i8 %.sink737, ptr %.sroa.556.0..sroa_idx.i, align 8, !noalias !334 + store i8 %.sink736, ptr %.sroa.556.0..sroa_idx.i, align 8, !noalias !334 call void @llvm.lifetime.start.p0(ptr nonnull %30), !noalias !408 invoke void @_ZN14regex_automata4meta8wrappers24BoundedBacktrackerEngine3new17head97d988185b6e7E.llvm.4719928553755522418(ptr noalias noundef nonnull sret({ i64, [16 x i64] }) align 8 captures(none) dereferenceable(136) %30, ptr noalias noundef nonnull readonly align 8 dereferenceable(8) %47, ptr noalias noundef nonnull align 8 captures(none) dereferenceable(24) %39, ptr noalias noundef nonnull readonly align 8 dereferenceable(8) %46) to label %.noexc111.i unwind label %299, !noalias !364 @@ -2483,7 +2483,7 @@ common.resume: ; preds = %.body, %213, %.body 349: ; preds = %350, %343 %.sroa.582.0..sroa_idx.i = getelementptr inbounds nuw i8, ptr %33, i64 16 - store i8 %.sink737, ptr %.sroa.582.0..sroa_idx.i, align 8, !noalias !334 + store i8 %.sink736, ptr %.sroa.582.0..sroa_idx.i, align 8, !noalias !334 call void @llvm.lifetime.start.p0(ptr nonnull %27), !noalias !471 invoke void @_ZN14regex_automata4meta8wrappers12HybridEngine3new17ha963b013f0666278E.llvm.4719928553755522418(ptr noalias noundef nonnull sret({ i64, [171 x i64] }) align 8 captures(none) dereferenceable(1376) %27, ptr noalias noundef nonnull readonly align 8 dereferenceable(8) %47, ptr noalias noundef nonnull align 8 captures(none) dereferenceable(24) %33, ptr noalias noundef nonnull readonly align 8 dereferenceable(8) %46, ptr noalias noundef nonnull readonly align 8 dereferenceable(8) %37) to label %352 unwind label %331, !noalias !364 diff --git a/bench/regex-rs/optimized/476ym8x7jfk1k219.ll b/bench/regex-rs/optimized/476ym8x7jfk1k219.ll index 63430faef16..d0ac53099a4 100644 --- a/bench/regex-rs/optimized/476ym8x7jfk1k219.ll +++ b/bench/regex-rs/optimized/476ym8x7jfk1k219.ll @@ -475,7 +475,7 @@ define hidden noundef zeroext i1 @"_ZN78_$LT$regex_syntax..error..Formatter$LT$E .body: ; preds = %63, %50, %118, %73, %70 %.pn63 = phi { ptr, i32 } [ %.pn61, %118 ], [ %74, %73 ], [ %71, %70 ], [ %51, %50 ], [ %64, %63 ] - invoke void @"_ZN4core3ptr47drop_in_place$LT$regex_syntax..error..Spans$GT$17h0473787552717e0bE"(ptr noalias noundef nonnull align 8 dereferenceable(72) %37) #12 + invoke void @"_ZN4core3ptr47drop_in_place$LT$regex_syntax..error..Spans$GT$17h0473787552717e0bE"(ptr noalias noundef nonnull align 8 dereferenceable(72) %37) #11 to label %234 unwind label %110 50: ; preds = %228, %225, %104, %101, %95, %92, %42, %189, %68, %"_ZN52_$LT$char$u20$as$u20$core..str..pattern..Pattern$GT$15is_contained_in17h8051ba57ca4818d5E.exit.thread" @@ -542,7 +542,7 @@ define hidden noundef zeroext i1 @"_ZN78_$LT$regex_syntax..error..Formatter$LT$E 63: ; preds = %"_ZN5alloc3vec16Vec$LT$T$C$A$GT$7reserve17h9059ae08f57066baE.exit.i.i.i", %60, %"_ZN52_$LT$char$u20$as$u20$core..str..pattern..Pattern$GT$15is_contained_in17h8051ba57ca4818d5E.exit.thread104" %64 = landingpad { ptr, i32 } cleanup - invoke void @"_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17hcccdbadb9bd6e4e3E"(ptr noalias noundef nonnull align 8 dereferenceable(24) %10) #12 + invoke void @"_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17hcccdbadb9bd6e4e3E"(ptr noalias noundef nonnull align 8 dereferenceable(24) %10) #11 to label %.body unwind label %65, !noalias !84 65: ; preds = %63 @@ -568,7 +568,7 @@ define hidden noundef zeroext i1 @"_ZN78_$LT$regex_syntax..error..Formatter$LT$E 70: ; preds = %69 %71 = landingpad { ptr, i32 } cleanup - invoke void @"_ZN4core3ptr47drop_in_place$LT$regex_syntax..error..Spans$GT$17h0473787552717e0bE"(ptr noalias noundef nonnull align 8 dereferenceable(72) %16) #12 + invoke void @"_ZN4core3ptr47drop_in_place$LT$regex_syntax..error..Spans$GT$17h0473787552717e0bE"(ptr noalias noundef nonnull align 8 dereferenceable(72) %16) #11 to label %.body unwind label %110 72: ; preds = %69 @@ -578,7 +578,7 @@ define hidden noundef zeroext i1 @"_ZN78_$LT$regex_syntax..error..Formatter$LT$E 73: ; preds = %83, %75, %72 %74 = landingpad { ptr, i32 } cleanup - invoke void @"_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17hcccdbadb9bd6e4e3E"(ptr noalias noundef nonnull align 8 dereferenceable(24) %17) #12 + invoke void @"_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17hcccdbadb9bd6e4e3E"(ptr noalias noundef nonnull align 8 dereferenceable(24) %17) #11 to label %.body unwind label %110 75: ; preds = %72 @@ -680,7 +680,7 @@ define hidden noundef zeroext i1 @"_ZN78_$LT$regex_syntax..error..Formatter$LT$E 110: ; preds = %165, %.body95, %131, %118, %73, %70, %.body %111 = landingpad { ptr, i32 } filter [0 x ptr] zeroinitializer - call void @_ZN4core9panicking16panic_in_cleanup17h55eb1d85cadde1a1E() #13 + call void @_ZN4core9panicking16panic_in_cleanup17h55eb1d85cadde1a1E() #12 unreachable 112: ; preds = %"_ZN5alloc3vec16Vec$LT$T$C$A$GT$7reserve17h9059ae08f57066baE.exit.i.i.i" @@ -702,7 +702,7 @@ define hidden noundef zeroext i1 @"_ZN78_$LT$regex_syntax..error..Formatter$LT$E 118: ; preds = %131, %119 %.pn61 = phi { ptr, i32 } [ %120, %119 ], [ %.pn59, %131 ] - invoke void @"_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17hcccdbadb9bd6e4e3E"(ptr noalias noundef nonnull align 8 dereferenceable(24) %36) #12 + invoke void @"_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17hcccdbadb9bd6e4e3E"(ptr noalias noundef nonnull align 8 dereferenceable(24) %36) #11 to label %.body unwind label %110 119: ; preds = %195, %192, %188, %130, %122, %112 @@ -744,7 +744,7 @@ define hidden noundef zeroext i1 @"_ZN78_$LT$regex_syntax..error..Formatter$LT$E 131: ; preds = %.body95, %132 %.pn59 = phi { ptr, i32 } [ %133, %132 ], [ %.pn, %.body95 ] - invoke void @"_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17hcccdbadb9bd6e4e3E"(ptr noalias noundef nonnull align 8 dereferenceable(24) %32) #12 + invoke void @"_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17hcccdbadb9bd6e4e3E"(ptr noalias noundef nonnull align 8 dereferenceable(24) %32) #11 to label %118 unwind label %110 132: ; preds = %200, %179, %177, %142, %134 @@ -806,7 +806,7 @@ define hidden noundef zeroext i1 @"_ZN78_$LT$regex_syntax..error..Formatter$LT$E .body95: ; preds = %.loopexit, %.loopexit.split-lp, %214, %165 %.pn = phi { ptr, i32 } [ %166, %165 ], [ %215, %214 ], [ %lpad.loopexit, %.loopexit ], [ %lpad.loopexit.split-lp, %.loopexit.split-lp ] - invoke void @"_ZN4core3ptr65drop_in_place$LT$alloc..vec..Vec$LT$alloc..string..String$GT$$GT$17haa0dfeb7864e26efE"(ptr noalias noundef nonnull align 8 dereferenceable(24) %27) #12 + invoke void @"_ZN4core3ptr65drop_in_place$LT$alloc..vec..Vec$LT$alloc..string..String$GT$$GT$17haa0dfeb7864e26efE"(ptr noalias noundef nonnull align 8 dereferenceable(24) %27) #11 to label %131 unwind label %110 .loopexit: ; preds = %202 @@ -855,7 +855,7 @@ define hidden noundef zeroext i1 @"_ZN78_$LT$regex_syntax..error..Formatter$LT$E 165: ; preds = %167 %166 = landingpad { ptr, i32 } cleanup - invoke void @"_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17hcccdbadb9bd6e4e3E"(ptr noalias noundef nonnull align 8 dereferenceable(24) %21) #12 + invoke void @"_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17hcccdbadb9bd6e4e3E"(ptr noalias noundef nonnull align 8 dereferenceable(24) %21) #11 to label %.body95 unwind label %110 167: ; preds = %._crit_edge @@ -1019,13 +1019,13 @@ _ZN5alloc3fmt6format17h55b1a8bf61a7c713E.exit: ; preds = %202 214: ; preds = %213 %215 = landingpad { ptr, i32 } cleanup - invoke void @"_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17hcccdbadb9bd6e4e3E"(ptr noalias noundef nonnull align 8 dereferenceable(24) %26) #12 + invoke void @"_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17hcccdbadb9bd6e4e3E"(ptr noalias noundef nonnull align 8 dereferenceable(24) %26) #11 to label %.body95 unwind label %216 216: ; preds = %214 %217 = landingpad { ptr, i32 } filter [0 x ptr] zeroinitializer - call void @_ZN4core9panicking16panic_in_cleanup17h55eb1d85cadde1a1E() #13 + call void @_ZN4core9panicking16panic_in_cleanup17h55eb1d85cadde1a1E() #12 unreachable "_ZN5alloc3vec16Vec$LT$T$C$A$GT$4push17h1e97d9acd6eca520E.exit": ; preds = %_ZN5alloc3fmt6format17h55b1a8bf61a7c713E.exit, %._crit_edge.i @@ -1139,7 +1139,7 @@ define hidden noundef zeroext i1 @"_ZN78_$LT$regex_syntax..error..Formatter$LT$E .body: ; preds = %63, %50, %118, %73, %70 %.pn63 = phi { ptr, i32 } [ %.pn61, %118 ], [ %74, %73 ], [ %71, %70 ], [ %51, %50 ], [ %64, %63 ] - invoke void @"_ZN4core3ptr47drop_in_place$LT$regex_syntax..error..Spans$GT$17h0473787552717e0bE"(ptr noalias noundef nonnull align 8 dereferenceable(72) %37) #12 + invoke void @"_ZN4core3ptr47drop_in_place$LT$regex_syntax..error..Spans$GT$17h0473787552717e0bE"(ptr noalias noundef nonnull align 8 dereferenceable(72) %37) #11 to label %234 unwind label %110 50: ; preds = %228, %225, %104, %101, %95, %92, %42, %189, %68, %"_ZN52_$LT$char$u20$as$u20$core..str..pattern..Pattern$GT$15is_contained_in17h8051ba57ca4818d5E.exit.thread" @@ -1206,7 +1206,7 @@ define hidden noundef zeroext i1 @"_ZN78_$LT$regex_syntax..error..Formatter$LT$E 63: ; preds = %"_ZN5alloc3vec16Vec$LT$T$C$A$GT$7reserve17h9059ae08f57066baE.exit.i.i.i", %60, %"_ZN52_$LT$char$u20$as$u20$core..str..pattern..Pattern$GT$15is_contained_in17h8051ba57ca4818d5E.exit.thread104" %64 = landingpad { ptr, i32 } cleanup - invoke void @"_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17hcccdbadb9bd6e4e3E"(ptr noalias noundef nonnull align 8 dereferenceable(24) %10) #12 + invoke void @"_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17hcccdbadb9bd6e4e3E"(ptr noalias noundef nonnull align 8 dereferenceable(24) %10) #11 to label %.body unwind label %65, !noalias !194 65: ; preds = %63 @@ -1232,7 +1232,7 @@ define hidden noundef zeroext i1 @"_ZN78_$LT$regex_syntax..error..Formatter$LT$E 70: ; preds = %69 %71 = landingpad { ptr, i32 } cleanup - invoke void @"_ZN4core3ptr47drop_in_place$LT$regex_syntax..error..Spans$GT$17h0473787552717e0bE"(ptr noalias noundef nonnull align 8 dereferenceable(72) %16) #12 + invoke void @"_ZN4core3ptr47drop_in_place$LT$regex_syntax..error..Spans$GT$17h0473787552717e0bE"(ptr noalias noundef nonnull align 8 dereferenceable(72) %16) #11 to label %.body unwind label %110 72: ; preds = %69 @@ -1242,7 +1242,7 @@ define hidden noundef zeroext i1 @"_ZN78_$LT$regex_syntax..error..Formatter$LT$E 73: ; preds = %83, %75, %72 %74 = landingpad { ptr, i32 } cleanup - invoke void @"_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17hcccdbadb9bd6e4e3E"(ptr noalias noundef nonnull align 8 dereferenceable(24) %17) #12 + invoke void @"_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17hcccdbadb9bd6e4e3E"(ptr noalias noundef nonnull align 8 dereferenceable(24) %17) #11 to label %.body unwind label %110 75: ; preds = %72 @@ -1344,7 +1344,7 @@ define hidden noundef zeroext i1 @"_ZN78_$LT$regex_syntax..error..Formatter$LT$E 110: ; preds = %165, %.body95, %131, %118, %73, %70, %.body %111 = landingpad { ptr, i32 } filter [0 x ptr] zeroinitializer - call void @_ZN4core9panicking16panic_in_cleanup17h55eb1d85cadde1a1E() #13 + call void @_ZN4core9panicking16panic_in_cleanup17h55eb1d85cadde1a1E() #12 unreachable 112: ; preds = %"_ZN5alloc3vec16Vec$LT$T$C$A$GT$7reserve17h9059ae08f57066baE.exit.i.i.i" @@ -1366,7 +1366,7 @@ define hidden noundef zeroext i1 @"_ZN78_$LT$regex_syntax..error..Formatter$LT$E 118: ; preds = %131, %119 %.pn61 = phi { ptr, i32 } [ %120, %119 ], [ %.pn59, %131 ] - invoke void @"_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17hcccdbadb9bd6e4e3E"(ptr noalias noundef nonnull align 8 dereferenceable(24) %36) #12 + invoke void @"_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17hcccdbadb9bd6e4e3E"(ptr noalias noundef nonnull align 8 dereferenceable(24) %36) #11 to label %.body unwind label %110 119: ; preds = %195, %192, %188, %130, %122, %112 @@ -1408,7 +1408,7 @@ define hidden noundef zeroext i1 @"_ZN78_$LT$regex_syntax..error..Formatter$LT$E 131: ; preds = %.body95, %132 %.pn59 = phi { ptr, i32 } [ %133, %132 ], [ %.pn, %.body95 ] - invoke void @"_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17hcccdbadb9bd6e4e3E"(ptr noalias noundef nonnull align 8 dereferenceable(24) %32) #12 + invoke void @"_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17hcccdbadb9bd6e4e3E"(ptr noalias noundef nonnull align 8 dereferenceable(24) %32) #11 to label %118 unwind label %110 132: ; preds = %200, %179, %177, %142, %134 @@ -1470,7 +1470,7 @@ define hidden noundef zeroext i1 @"_ZN78_$LT$regex_syntax..error..Formatter$LT$E .body95: ; preds = %.loopexit, %.loopexit.split-lp, %214, %165 %.pn = phi { ptr, i32 } [ %166, %165 ], [ %215, %214 ], [ %lpad.loopexit, %.loopexit ], [ %lpad.loopexit.split-lp, %.loopexit.split-lp ] - invoke void @"_ZN4core3ptr65drop_in_place$LT$alloc..vec..Vec$LT$alloc..string..String$GT$$GT$17haa0dfeb7864e26efE"(ptr noalias noundef nonnull align 8 dereferenceable(24) %27) #12 + invoke void @"_ZN4core3ptr65drop_in_place$LT$alloc..vec..Vec$LT$alloc..string..String$GT$$GT$17haa0dfeb7864e26efE"(ptr noalias noundef nonnull align 8 dereferenceable(24) %27) #11 to label %131 unwind label %110 .loopexit: ; preds = %202 @@ -1519,7 +1519,7 @@ define hidden noundef zeroext i1 @"_ZN78_$LT$regex_syntax..error..Formatter$LT$E 165: ; preds = %167 %166 = landingpad { ptr, i32 } cleanup - invoke void @"_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17hcccdbadb9bd6e4e3E"(ptr noalias noundef nonnull align 8 dereferenceable(24) %21) #12 + invoke void @"_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17hcccdbadb9bd6e4e3E"(ptr noalias noundef nonnull align 8 dereferenceable(24) %21) #11 to label %.body95 unwind label %110 167: ; preds = %._crit_edge @@ -1683,13 +1683,13 @@ _ZN5alloc3fmt6format17h55b1a8bf61a7c713E.exit: ; preds = %202 214: ; preds = %213 %215 = landingpad { ptr, i32 } cleanup - invoke void @"_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17hcccdbadb9bd6e4e3E"(ptr noalias noundef nonnull align 8 dereferenceable(24) %26) #12 + invoke void @"_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17hcccdbadb9bd6e4e3E"(ptr noalias noundef nonnull align 8 dereferenceable(24) %26) #11 to label %.body95 unwind label %216 216: ; preds = %214 %217 = landingpad { ptr, i32 } filter [0 x ptr] zeroinitializer - call void @_ZN4core9panicking16panic_in_cleanup17h55eb1d85cadde1a1E() #13 + call void @_ZN4core9panicking16panic_in_cleanup17h55eb1d85cadde1a1E() #12 unreachable "_ZN5alloc3vec16Vec$LT$T$C$A$GT$4push17h1e97d9acd6eca520E.exit": ; preds = %_ZN5alloc3fmt6format17h55b1a8bf61a7c713E.exit, %._crit_edge.i @@ -1828,14 +1828,14 @@ thread-pre-split: ; preds = %"_ZN4core5slice29_$ 35: ; preds = %38, %27 %36 = landingpad { ptr, i32 } cleanup - invoke void @"_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17hcccdbadb9bd6e4e3E"(ptr noalias noundef nonnull align 8 dereferenceable(24) %8) #12 + invoke void @"_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17hcccdbadb9bd6e4e3E"(ptr noalias noundef nonnull align 8 dereferenceable(24) %8) #11 to label %common.resume unwind label %39, !noalias !301 37: ; preds = %27 br i1 %34, label %38, label %"_ZN45_$LT$T$u20$as$u20$alloc..string..ToString$GT$9to_string17h965fed7fb37795a2E.exit" 38: ; preds = %37 - invoke void @_ZN4core6result13unwrap_failed17h03d8a5018196e1cdE(ptr noalias noundef nonnull readonly align 1 @anon.f8d462140019c34e51218bf541eaaefd.1, i64 noundef 55, ptr noundef nonnull align 1 %3, ptr noalias noundef readonly align 8 dereferenceable(24) @anon.f8d462140019c34e51218bf541eaaefd.32, ptr noalias noundef readonly align 8 dereferenceable(24) @anon.f8d462140019c34e51218bf541eaaefd.3) #11 + invoke void @_ZN4core6result13unwrap_failed17h03d8a5018196e1cdE(ptr noalias noundef nonnull readonly align 1 @anon.f8d462140019c34e51218bf541eaaefd.1, i64 noundef 55, ptr noundef nonnull align 1 %3, ptr noalias noundef readonly align 8 dereferenceable(24) @anon.f8d462140019c34e51218bf541eaaefd.32, ptr noalias noundef readonly align 8 dereferenceable(24) @anon.f8d462140019c34e51218bf541eaaefd.3) #10 to label %.noexc.i unwind label %35, !noalias !301 .noexc.i: ; preds = %38 @@ -1907,7 +1907,7 @@ common.resume: ; preds = %71, %59, %63, %35 59: ; preds = %54 %60 = landingpad { ptr, i32 } cleanup - invoke void @"_ZN4core3ptr90drop_in_place$LT$alloc..vec..Vec$LT$alloc..vec..Vec$LT$regex_syntax..ast..Span$GT$$GT$$GT$17h2cb7735e92a328b4E"(ptr noalias noundef nonnull align 8 dereferenceable(24) %5) #12 + invoke void @"_ZN4core3ptr90drop_in_place$LT$alloc..vec..Vec$LT$alloc..vec..Vec$LT$regex_syntax..ast..Span$GT$$GT$$GT$17h2cb7735e92a328b4E"(ptr noalias noundef nonnull align 8 dereferenceable(24) %5) #11 to label %common.resume unwind label %61, !noalias !312 61: ; preds = %63, %59 @@ -1919,7 +1919,7 @@ common.resume: ; preds = %71, %59, %63, %35 63: ; preds = %49 %64 = landingpad { ptr, i32 } cleanup - invoke void @"_ZN4core3ptr67drop_in_place$LT$alloc..vec..Vec$LT$regex_syntax..ast..Span$GT$$GT$17ha05740bdc4332deeE"(ptr noalias noundef nonnull align 8 dereferenceable(24) %11) #12 + invoke void @"_ZN4core3ptr67drop_in_place$LT$alloc..vec..Vec$LT$regex_syntax..ast..Span$GT$$GT$17ha05740bdc4332deeE"(ptr noalias noundef nonnull align 8 dereferenceable(24) %11) #11 to label %common.resume unwind label %61, !noalias !316 "_ZN62_$LT$T$u20$as$u20$alloc..vec..spec_from_elem..SpecFromElem$GT$9from_elem17h3fcfa64864bf803bE.exit": ; preds = %54 @@ -1949,7 +1949,7 @@ common.resume: ; preds = %71, %59, %63, %35 71: ; preds = %76, %"_ZN62_$LT$T$u20$as$u20$alloc..vec..spec_from_elem..SpecFromElem$GT$9from_elem17h3fcfa64864bf803bE.exit" %72 = landingpad { ptr, i32 } cleanup - invoke void @"_ZN4core3ptr47drop_in_place$LT$regex_syntax..error..Spans$GT$17h0473787552717e0bE"(ptr noalias noundef nonnull align 8 dereferenceable(72) %12) #12 + invoke void @"_ZN4core3ptr47drop_in_place$LT$regex_syntax..error..Spans$GT$17h0473787552717e0bE"(ptr noalias noundef nonnull align 8 dereferenceable(72) %12) #11 to label %common.resume unwind label %79 73: ; preds = %"_ZN62_$LT$T$u20$as$u20$alloc..vec..spec_from_elem..SpecFromElem$GT$9from_elem17h3fcfa64864bf803bE.exit" @@ -1979,7 +1979,7 @@ common.resume: ; preds = %71, %59, %63, %35 79: ; preds = %71 %80 = landingpad { ptr, i32 } filter [0 x ptr] zeroinitializer - call void @_ZN4core9panicking16panic_in_cleanup17h55eb1d85cadde1a1E() #13 + call void @_ZN4core9panicking16panic_in_cleanup17h55eb1d85cadde1a1E() #12 unreachable } @@ -2075,14 +2075,14 @@ thread-pre-split: ; preds = %"_ZN4core5slice29_$ 35: ; preds = %38, %27 %36 = landingpad { ptr, i32 } cleanup - invoke void @"_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17hcccdbadb9bd6e4e3E"(ptr noalias noundef nonnull align 8 dereferenceable(24) %8) #12 + invoke void @"_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17hcccdbadb9bd6e4e3E"(ptr noalias noundef nonnull align 8 dereferenceable(24) %8) #11 to label %common.resume unwind label %39, !noalias !322 37: ; preds = %27 br i1 %34, label %38, label %"_ZN45_$LT$T$u20$as$u20$alloc..string..ToString$GT$9to_string17h965fed7fb37795a2E.exit" 38: ; preds = %37 - invoke void @_ZN4core6result13unwrap_failed17h03d8a5018196e1cdE(ptr noalias noundef nonnull readonly align 1 @anon.f8d462140019c34e51218bf541eaaefd.1, i64 noundef 55, ptr noundef nonnull align 1 %3, ptr noalias noundef readonly align 8 dereferenceable(24) @anon.f8d462140019c34e51218bf541eaaefd.32, ptr noalias noundef readonly align 8 dereferenceable(24) @anon.f8d462140019c34e51218bf541eaaefd.3) #11 + invoke void @_ZN4core6result13unwrap_failed17h03d8a5018196e1cdE(ptr noalias noundef nonnull readonly align 1 @anon.f8d462140019c34e51218bf541eaaefd.1, i64 noundef 55, ptr noundef nonnull align 1 %3, ptr noalias noundef readonly align 8 dereferenceable(24) @anon.f8d462140019c34e51218bf541eaaefd.32, ptr noalias noundef readonly align 8 dereferenceable(24) @anon.f8d462140019c34e51218bf541eaaefd.3) #10 to label %.noexc.i unwind label %35, !noalias !322 .noexc.i: ; preds = %38 @@ -2154,7 +2154,7 @@ common.resume: ; preds = %71, %59, %63, %35 59: ; preds = %54 %60 = landingpad { ptr, i32 } cleanup - invoke void @"_ZN4core3ptr90drop_in_place$LT$alloc..vec..Vec$LT$alloc..vec..Vec$LT$regex_syntax..ast..Span$GT$$GT$$GT$17h2cb7735e92a328b4E"(ptr noalias noundef nonnull align 8 dereferenceable(24) %5) #12 + invoke void @"_ZN4core3ptr90drop_in_place$LT$alloc..vec..Vec$LT$alloc..vec..Vec$LT$regex_syntax..ast..Span$GT$$GT$$GT$17h2cb7735e92a328b4E"(ptr noalias noundef nonnull align 8 dereferenceable(24) %5) #11 to label %common.resume unwind label %61, !noalias !333 61: ; preds = %63, %59 @@ -2166,7 +2166,7 @@ common.resume: ; preds = %71, %59, %63, %35 63: ; preds = %49 %64 = landingpad { ptr, i32 } cleanup - invoke void @"_ZN4core3ptr67drop_in_place$LT$alloc..vec..Vec$LT$regex_syntax..ast..Span$GT$$GT$17ha05740bdc4332deeE"(ptr noalias noundef nonnull align 8 dereferenceable(24) %11) #12 + invoke void @"_ZN4core3ptr67drop_in_place$LT$alloc..vec..Vec$LT$regex_syntax..ast..Span$GT$$GT$17ha05740bdc4332deeE"(ptr noalias noundef nonnull align 8 dereferenceable(24) %11) #11 to label %common.resume unwind label %61, !noalias !337 "_ZN62_$LT$T$u20$as$u20$alloc..vec..spec_from_elem..SpecFromElem$GT$9from_elem17h3fcfa64864bf803bE.exit": ; preds = %54 @@ -2196,7 +2196,7 @@ common.resume: ; preds = %71, %59, %63, %35 71: ; preds = %76, %"_ZN62_$LT$T$u20$as$u20$alloc..vec..spec_from_elem..SpecFromElem$GT$9from_elem17h3fcfa64864bf803bE.exit" %72 = landingpad { ptr, i32 } cleanup - invoke void @"_ZN4core3ptr47drop_in_place$LT$regex_syntax..error..Spans$GT$17h0473787552717e0bE"(ptr noalias noundef nonnull align 8 dereferenceable(72) %12) #12 + invoke void @"_ZN4core3ptr47drop_in_place$LT$regex_syntax..error..Spans$GT$17h0473787552717e0bE"(ptr noalias noundef nonnull align 8 dereferenceable(72) %12) #11 to label %common.resume unwind label %79 73: ; preds = %"_ZN62_$LT$T$u20$as$u20$alloc..vec..spec_from_elem..SpecFromElem$GT$9from_elem17h3fcfa64864bf803bE.exit" @@ -2226,7 +2226,7 @@ common.resume: ; preds = %71, %59, %63, %35 79: ; preds = %71 %80 = landingpad { ptr, i32 } filter [0 x ptr] zeroinitializer - call void @_ZN4core9panicking16panic_in_cleanup17h55eb1d85cadde1a1E() #13 + call void @_ZN4core9panicking16panic_in_cleanup17h55eb1d85cadde1a1E() #12 unreachable } @@ -2315,7 +2315,7 @@ declare hidden { i64, ptr } @"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$11allocate_i declare hidden void @"_ZN5alloc3vec16Vec$LT$T$C$A$GT$11extend_with17h620a5b9ce30edd33E.llvm.9790117770016849591"(ptr noalias noundef align 8 dereferenceable(24), i64 noundef, ptr noalias noundef align 8 captures(none) dereferenceable(24)) unnamed_addr #2 ; Function Attrs: cold nonlazybind uwtable -declare hidden void @"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$7reserve21do_reserve_and_handle17h2095076753eaa2b4E"(ptr noalias noundef align 8 dereferenceable(16), i64 noundef, i64 noundef) unnamed_addr #7 +declare hidden void @"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$7reserve21do_reserve_and_handle17h2095076753eaa2b4E"(ptr noalias noundef align 8 dereferenceable(16), i64 noundef, i64 noundef) unnamed_addr #6 ; Function Attrs: inlinehint nonlazybind uwtable declare hidden void @"_ZN98_$LT$core..iter..adapters..take..Take$LT$I$GT$$u20$as$u20$core..iter..adapters..take..SpecTake$GT$13spec_for_each17h0030c2c1abf6ff7bE.llvm.14163345723071415371"(i64 noundef, i32 noundef, ptr noalias noundef align 8 dereferenceable(24)) unnamed_addr #1 @@ -2330,16 +2330,16 @@ declare hidden { ptr, i64 } @"_ZN89_$LT$core..str..LinesMap$u20$as$u20$core..ops declare void @_ZN12regex_syntax5error5Spans3add17h4ede450fcecba305E(ptr noalias noundef align 8 dereferenceable(72), ptr noalias noundef align 8 captures(none) dereferenceable(48)) unnamed_addr #2 ; Function Attrs: mustprogress nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) -declare void @llvm.lifetime.start.p0(ptr captures(none)) #8 +declare void @llvm.lifetime.start.p0(ptr captures(none)) #7 ; Function Attrs: mustprogress nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) -declare void @llvm.lifetime.end.p0(ptr captures(none)) #8 +declare void @llvm.lifetime.end.p0(ptr captures(none)) #7 ; Function Attrs: nocallback nofree nounwind nonlazybind willreturn memory(argmem: read) -declare i32 @bcmp(ptr captures(none), ptr captures(none), i64) local_unnamed_addr #9 +declare i32 @bcmp(ptr captures(none), ptr captures(none), i64) local_unnamed_addr #8 ; Function Attrs: nocallback nofree nosync nounwind willreturn memory(inaccessiblemem: readwrite) -declare void @llvm.experimental.noalias.scope.decl(metadata) #10 +declare void @llvm.experimental.noalias.scope.decl(metadata) #9 attributes #0 = { inlinehint mustprogress nofree norecurse nosync nounwind nonlazybind willreturn memory(none) uwtable "probe-stack"="inline-asm" "target-cpu"="x86-64" } attributes #1 = { inlinehint nonlazybind uwtable "probe-stack"="inline-asm" "target-cpu"="x86-64" } @@ -2349,8 +2349,8 @@ attributes #4 = { mustprogress nocallback nofree nounwind willreturn memory(argm attributes #5 = { cold noreturn nounwind nonlazybind uwtable "probe-stack"="inline-asm" "target-cpu"="x86-64" } attributes #6 = { mustprogress nocallback nofree nosync nounwind willreturn memory(inaccessiblemem: write) } attributes #7 = { cold nonlazybind uwtable "probe-stack"="inline-asm" "target-cpu"="x86-64" } -attributes #8 = { mustprogress nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) } -attributes #9 = { nocallback nofree nounwind nonlazybind willreturn memory(argmem: read) } +attributes #8 = { nocallback nofree nounwind nonlazybind willreturn memory(argmem: readwrite) } +attributes #9 = { nocallback nofree nosync nounwind willreturn memory(inaccessiblemem: read) } attributes #10 = { nocallback nofree nosync nounwind willreturn memory(inaccessiblemem: readwrite) } attributes #11 = { noreturn } attributes #12 = { cold } diff --git a/bench/rustfmt-rs/optimized/3xcdaapyewyrfogi.ll b/bench/rustfmt-rs/optimized/3xcdaapyewyrfogi.ll index 744305e869b..77478f84871 100644 --- a/bench/rustfmt-rs/optimized/3xcdaapyewyrfogi.ll +++ b/bench/rustfmt-rs/optimized/3xcdaapyewyrfogi.ll @@ -25312,7 +25312,7 @@ _ZN5alloc3fmt6format17h35125637d547cb53E.exit.i380: ; preds = %378 invoke void @"_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17h65321bb4306ac23aE"(ptr noalias noundef nonnull align 8 dereferenceable(24) %111) #52 to label %.body unwind label %768 -419: ; preds = %.invoke748, %.invoke746, %.invoke744, %.invoke742, %.invoke, %1075, %1072, %_RNvMNtCsdF516cSs19B_10rustc_span13span_encodingNtB2_4Span14data_untracked.llvm.15131964271339581801.exit263.thread650, %938, %932, %_RNvMNtCsdF516cSs19B_10rustc_span13span_encodingNtB2_4Span14data_untracked.llvm.15131964271339581801.exit276.thread646, %"_ZN10scoped_tls18ScopedKey$LT$T$GT$4with17h75cb3c8bc5486157E.exit.i271", %910, %"_ZN10scoped_tls18ScopedKey$LT$T$GT$4with17h75cb3c8bc5486157E.exit.i258", %898, %883, %877, %866, %"_ZN10scoped_tls18ScopedKey$LT$T$GT$4with17h75cb3c8bc5486157E.exit.i239", %849, %.noexc230, %840, %_RNvMNtCsdF516cSs19B_10rustc_span13span_encodingNtB2_4Span14data_untracked.llvm.15131964271339581801.exit.i.i, %824, %_RNvMNtCsdF516cSs19B_10rustc_span13span_encodingNtB2_4Span14data_untracked.llvm.15131964271339581801.exit204.thread638, %_RNvMNtCsdF516cSs19B_10rustc_span13span_encodingNtB2_4Span14data_untracked.llvm.15131964271339581801.exit218.thread634, %"_ZN10scoped_tls18ScopedKey$LT$T$GT$4with17h75cb3c8bc5486157E.exit.i213", %802, %_RNvMNtCsdF516cSs19B_10rustc_span13span_encodingNtB2_4Span14data_untracked.llvm.15131964271339581801.exit.thread630, %"_ZN10scoped_tls18ScopedKey$LT$T$GT$4with17h75cb3c8bc5486157E.exit.i199", %788, %"_ZN10scoped_tls18ScopedKey$LT$T$GT$4with17h75cb3c8bc5486157E.exit.i", %776, %747, %744, %732, %729, %724, %"_ZN81_$LT$rustfmt_nightly..stmt..Stmt$u20$as$u20$rustfmt_nightly..rewrite..Rewrite$GT$7rewrite17hcc2beb9823139d46E.exit.i", %643, %_ZN15rustfmt_nightly4expr22block_contains_comment17hbc49ba51f6600906E.exit.i.i64.i, %633, %_ZN15rustfmt_nightly4expr22block_contains_comment17hbc49ba51f6600906E.exit.i.i.i, %615, %436, %951, %"_ZN97_$LT$rustc_data_structures..atomic_ref..AtomicRef$LT$T$GT$$u20$as$u20$core..ops..deref..Deref$GT$5deref17hb766b2ce54f5f072E.exit286", %930, %"_ZN97_$LT$rustc_data_structures..atomic_ref..AtomicRef$LT$T$GT$$u20$as$u20$core..ops..deref..Deref$GT$5deref17hb766b2ce54f5f072E.exit278", %920, %874, %"_ZN97_$LT$rustc_data_structures..atomic_ref..AtomicRef$LT$T$GT$$u20$as$u20$core..ops..deref..Deref$GT$5deref17hb766b2ce54f5f072E.exit246", %869, %"_ZN97_$LT$rustc_data_structures..atomic_ref..AtomicRef$LT$T$GT$$u20$as$u20$core..ops..deref..Deref$GT$5deref17hb766b2ce54f5f072E.exit222", %"_ZN97_$LT$rustc_data_structures..atomic_ref..AtomicRef$LT$T$GT$$u20$as$u20$core..ops..deref..Deref$GT$5deref17hb766b2ce54f5f072E.exit220", %_RNvMNtCsdF516cSs19B_10rustc_span13span_encodingNtB2_4Span14data_untracked.llvm.15131964271339581801.exit218.thread, %"_ZN97_$LT$rustc_data_structures..atomic_ref..AtomicRef$LT$T$GT$$u20$as$u20$core..ops..deref..Deref$GT$5deref17hb766b2ce54f5f072E.exit" +419: ; preds = %.invoke748, %.invoke746, %.invoke744, %.invoke742, %.invoke, %1075, %1072, %_RNvMNtCsdF516cSs19B_10rustc_span13span_encodingNtB2_4Span14data_untracked.llvm.15131964271339581801.exit263.thread650, %938, %932, %_RNvMNtCsdF516cSs19B_10rustc_span13span_encodingNtB2_4Span14data_untracked.llvm.15131964271339581801.exit276.thread646, %"_ZN10scoped_tls18ScopedKey$LT$T$GT$4with17h75cb3c8bc5486157E.exit.i271", %915, %"_ZN10scoped_tls18ScopedKey$LT$T$GT$4with17h75cb3c8bc5486157E.exit.i258", %898, %883, %877, %866, %"_ZN10scoped_tls18ScopedKey$LT$T$GT$4with17h75cb3c8bc5486157E.exit.i239", %849, %.noexc230, %840, %_RNvMNtCsdF516cSs19B_10rustc_span13span_encodingNtB2_4Span14data_untracked.llvm.15131964271339581801.exit.i.i, %824, %_RNvMNtCsdF516cSs19B_10rustc_span13span_encodingNtB2_4Span14data_untracked.llvm.15131964271339581801.exit204.thread638, %_RNvMNtCsdF516cSs19B_10rustc_span13span_encodingNtB2_4Span14data_untracked.llvm.15131964271339581801.exit218.thread634, %"_ZN10scoped_tls18ScopedKey$LT$T$GT$4with17h75cb3c8bc5486157E.exit.i213", %802, %_RNvMNtCsdF516cSs19B_10rustc_span13span_encodingNtB2_4Span14data_untracked.llvm.15131964271339581801.exit.thread630, %"_ZN10scoped_tls18ScopedKey$LT$T$GT$4with17h75cb3c8bc5486157E.exit.i199", %788, %"_ZN10scoped_tls18ScopedKey$LT$T$GT$4with17h75cb3c8bc5486157E.exit.i", %776, %747, %744, %732, %729, %724, %"_ZN81_$LT$rustfmt_nightly..stmt..Stmt$u20$as$u20$rustfmt_nightly..rewrite..Rewrite$GT$7rewrite17hcc2beb9823139d46E.exit.i", %643, %_ZN15rustfmt_nightly4expr22block_contains_comment17hbc49ba51f6600906E.exit.i.i64.i, %633, %_ZN15rustfmt_nightly4expr22block_contains_comment17hbc49ba51f6600906E.exit.i.i.i, %615, %436, %951, %"_ZN97_$LT$rustc_data_structures..atomic_ref..AtomicRef$LT$T$GT$$u20$as$u20$core..ops..deref..Deref$GT$5deref17hb766b2ce54f5f072E.exit286", %930, %"_ZN97_$LT$rustc_data_structures..atomic_ref..AtomicRef$LT$T$GT$$u20$as$u20$core..ops..deref..Deref$GT$5deref17hb766b2ce54f5f072E.exit278", %920, %874, %"_ZN97_$LT$rustc_data_structures..atomic_ref..AtomicRef$LT$T$GT$$u20$as$u20$core..ops..deref..Deref$GT$5deref17hb766b2ce54f5f072E.exit246", %869, %"_ZN97_$LT$rustc_data_structures..atomic_ref..AtomicRef$LT$T$GT$$u20$as$u20$core..ops..deref..Deref$GT$5deref17hb766b2ce54f5f072E.exit222", %"_ZN97_$LT$rustc_data_structures..atomic_ref..AtomicRef$LT$T$GT$$u20$as$u20$core..ops..deref..Deref$GT$5deref17hb766b2ce54f5f072E.exit220", %_RNvMNtCsdF516cSs19B_10rustc_span13span_encodingNtB2_4Span14data_untracked.llvm.15131964271339581801.exit218.thread, %"_ZN97_$LT$rustc_data_structures..atomic_ref..AtomicRef$LT$T$GT$$u20$as$u20$core..ops..deref..Deref$GT$5deref17hb766b2ce54f5f072E.exit" %420 = landingpad { ptr, i32 } cleanup br label %.body173 @@ -26663,27 +26663,27 @@ _RNvMNtCsdF516cSs19B_10rustc_span13span_encodingNtB2_4Span14data_untracked.llvm. 908: ; preds = %893 call void @llvm.assume(i1 true) [ "align"(ptr %892, i64 8) ] %909 = getelementptr inbounds nuw i8, ptr %892, i64 48 - %.sroa.023.0.copyload = load i64, ptr %909, align 8 + %911 = load i64, ptr %909, align 8 call void @llvm.lifetime.start.p0(ptr nonnull %96) call void @llvm.experimental.noalias.scope.decl(metadata !4644) %.sroa.09.0.extract.trunc.i264 = trunc i64 %.sroa.023.0.copyload to i32 %.sroa.4.0.extract.shift.i265 = lshr i64 %.sroa.023.0.copyload, 32 %.sroa.4.0.extract.trunc.i266 = trunc i64 %.sroa.4.0.extract.shift.i265 to i16 %.not.i269 = icmp eq i16 %.sroa.4.0.extract.trunc.i266, -1 - br i1 %.not.i269, label %910, label %917 + br i1 %.not.i269, label %915, label %922 -910: ; preds = %908 +915: ; preds = %908 call void @llvm.lifetime.start.p0(ptr nonnull %37), !noalias !4644 store i32 %.sroa.09.0.extract.trunc.i264, ptr %37, align 4, !noalias !4644 - %911 = load ptr, ptr @_RNvCsdF516cSs19B_10rustc_span15SESSION_GLOBALS, align 8, !alias.scope !4647, !noalias !4650, !nonnull !10, !align !11, !noundef !10 - %912 = invoke { i64, ptr } @"_ZN3std6thread5local17LocalKey$LT$T$GT$8try_with17h64c5b2fd9b7b34d6E.llvm.17476841346288807550"(ptr noalias noundef nonnull readonly align 8 dereferenceable(8) %911) + %916 = load ptr, ptr @_RNvCsdF516cSs19B_10rustc_span15SESSION_GLOBALS, align 8, !alias.scope !4647, !noalias !4650, !nonnull !10, !align !11, !noundef !10 + %917 = invoke { i64, ptr } @"_ZN3std6thread5local17LocalKey$LT$T$GT$8try_with17h64c5b2fd9b7b34d6E.llvm.17476841346288807550"(ptr noalias noundef nonnull readonly align 8 dereferenceable(8) %916) to label %.noexc272 unwind label %419 -.noexc272: ; preds = %910 - %913 = extractvalue { i64, ptr } %912, 0 - %914 = extractvalue { i64, ptr } %912, 1 - %915 = icmp eq i64 %913, 0 - br i1 %915, label %"_ZN4core6result19Result$LT$T$C$E$GT$6expect17hd33dd31eca47a831E.llvm.17476841346288807550.exit.i.i270", label %.invoke746 +.noexc272: ; preds = %915 + %918 = extractvalue { i64, ptr } %917, 0 + %919 = extractvalue { i64, ptr } %917, 1 + %920 = icmp eq i64 %918, 0 + br i1 %920, label %"_ZN4core6result19Result$LT$T$C$E$GT$6expect17hd33dd31eca47a831E.llvm.17476841346288807550.exit.i.i270", label %.invoke746 .invoke746: ; preds = %.noexc272, %.noexc259, %.noexc240, %.noexc226, %.noexc214, %.noexc200, %.noexc188 invoke void @_ZN4core6result13unwrap_failed17hede68b820f4ed9a9E(ptr noalias noundef nonnull readonly align 1 @anon.ac9b56db96481140084a14b3a62254c9.27.llvm.17476841346288807550, i64 noundef 70, ptr noundef nonnull align 1 %7, ptr noalias noundef readonly align 8 dereferenceable(24) @anon.ac9b56db96481140084a14b3a62254c9.102.llvm.17476841346288807550, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.ac9b56db96481140084a14b3a62254c9.29.llvm.17476841346288807550) #51 @@ -26693,8 +26693,8 @@ _RNvMNtCsdF516cSs19B_10rustc_span13span_encodingNtB2_4Span14data_untracked.llvm. unreachable "_ZN4core6result19Result$LT$T$C$E$GT$6expect17hd33dd31eca47a831E.llvm.17476841346288807550.exit.i.i270": ; preds = %.noexc272 - %916 = icmp eq ptr %914, null - br i1 %916, label %.invoke744, label %"_ZN10scoped_tls18ScopedKey$LT$T$GT$4with17h75cb3c8bc5486157E.exit.i271" + %921 = icmp eq ptr %919, null + br i1 %921, label %.invoke744, label %"_ZN10scoped_tls18ScopedKey$LT$T$GT$4with17h75cb3c8bc5486157E.exit.i271" .invoke744: ; preds = %"_ZN4core6result19Result$LT$T$C$E$GT$6expect17hd33dd31eca47a831E.llvm.17476841346288807550.exit.i.i270", %"_ZN4core6result19Result$LT$T$C$E$GT$6expect17hd33dd31eca47a831E.llvm.17476841346288807550.exit.i.i257", %"_ZN4core6result19Result$LT$T$C$E$GT$6expect17hd33dd31eca47a831E.llvm.17476841346288807550.exit.i.i238", %"_ZN4core6result19Result$LT$T$C$E$GT$6expect17hd33dd31eca47a831E.llvm.17476841346288807550.exit.i.i.i.i", %"_ZN4core6result19Result$LT$T$C$E$GT$6expect17hd33dd31eca47a831E.llvm.17476841346288807550.exit.i.i212", %"_ZN4core6result19Result$LT$T$C$E$GT$6expect17hd33dd31eca47a831E.llvm.17476841346288807550.exit.i.i198", %"_ZN4core6result19Result$LT$T$C$E$GT$6expect17hd33dd31eca47a831E.llvm.17476841346288807550.exit.i.i" invoke void @_ZN3std9panicking11begin_panic17he2f70017374c1f1fE(ptr noalias noundef nonnull readonly align 1 @anon.ac9b56db96481140084a14b3a62254c9.30.llvm.17476841346288807550, i64 noundef 72, ptr noalias noundef readonly align 8 dereferenceable(24) @anon.ac9b56db96481140084a14b3a62254c9.32.llvm.17476841346288807550) #51 @@ -26704,16 +26704,16 @@ _RNvMNtCsdF516cSs19B_10rustc_span13span_encodingNtB2_4Span14data_untracked.llvm. unreachable "_ZN10scoped_tls18ScopedKey$LT$T$GT$4with17h75cb3c8bc5486157E.exit.i271": ; preds = %"_ZN4core6result19Result$LT$T$C$E$GT$6expect17hd33dd31eca47a831E.llvm.17476841346288807550.exit.i.i270" - invoke void @"_ZN10rustc_span13span_encoding18with_span_interner28_$u7b$$u7b$closure$u7d$$u7d$17hc0915df1332daf42E.llvm.17476841346288807550"(ptr noalias noundef nonnull sret({ i32, i32, i32, i32 }) align 4 captures(none) dereferenceable(16) %96, ptr noalias noundef nonnull readonly align 4 dereferenceable(4) %37, ptr noundef nonnull align 8 %914) + invoke void @"_ZN10rustc_span13span_encoding18with_span_interner28_$u7b$$u7b$closure$u7d$$u7d$17hc0915df1332daf42E.llvm.17476841346288807550"(ptr noalias noundef nonnull sret({ i32, i32, i32, i32 }) align 4 captures(none) dereferenceable(16) %96, ptr noalias noundef nonnull readonly align 4 dereferenceable(4) %37, ptr noundef nonnull align 8 %919) to label %_RNvMNtCsdF516cSs19B_10rustc_span13span_encodingNtB2_4Span14data_untracked.llvm.15131964271339581801.exit276 unwind label %419 -917: ; preds = %908 +922: ; preds = %908 %.sroa.5.0.extract.shift.i267 = lshr i64 %.sroa.023.0.copyload, 48 %.sroa.5.0.extract.trunc.i268 = trunc nuw nsw i64 %.sroa.5.0.extract.shift.i267 to i32 - %918 = icmp sgt i16 %.sroa.4.0.extract.trunc.i266, -1 - %919 = getelementptr inbounds nuw i8, ptr %96, i64 4 - store i32 %.sroa.09.0.extract.trunc.i264, ptr %919, align 4, !alias.scope !4644 - br i1 %918, label %_RNvMNtCsdF516cSs19B_10rustc_span13span_encodingNtB2_4Span14data_untracked.llvm.15131964271339581801.exit276.thread, label %_RNvMNtCsdF516cSs19B_10rustc_span13span_encodingNtB2_4Span14data_untracked.llvm.15131964271339581801.exit276.thread646 + %923 = icmp sgt i16 %.sroa.4.0.extract.trunc.i266, -1 + %924 = getelementptr inbounds nuw i8, ptr %96, i64 4 + store i32 %.sroa.09.0.extract.trunc.i264, ptr %924, align 4, !alias.scope !4644 + br i1 %923, label %_RNvMNtCsdF516cSs19B_10rustc_span13span_encodingNtB2_4Span14data_untracked.llvm.15131964271339581801.exit276.thread, label %_RNvMNtCsdF516cSs19B_10rustc_span13span_encodingNtB2_4Span14data_untracked.llvm.15131964271339581801.exit276.thread646 920: ; preds = %893 %921 = getelementptr inbounds nuw i8, ptr %1, i64 16 @@ -26728,12 +26728,12 @@ _RNvMNtCsdF516cSs19B_10rustc_span13span_encodingNtB2_4Span14data_untracked.llvm. %.not111 = icmp eq i32 %.pr644, -255 br i1 %.not111, label %_RNvMNtCsdF516cSs19B_10rustc_span13span_encodingNtB2_4Span14data_untracked.llvm.15131964271339581801.exit276.thread, label %_RNvMNtCsdF516cSs19B_10rustc_span13span_encodingNtB2_4Span14data_untracked.llvm.15131964271339581801.exit276.thread646 -_RNvMNtCsdF516cSs19B_10rustc_span13span_encodingNtB2_4Span14data_untracked.llvm.15131964271339581801.exit276.thread646: ; preds = %917, %_RNvMNtCsdF516cSs19B_10rustc_span13span_encodingNtB2_4Span14data_untracked.llvm.15131964271339581801.exit276 +_RNvMNtCsdF516cSs19B_10rustc_span13span_encodingNtB2_4Span14data_untracked.llvm.15131964271339581801.exit276.thread646: ; preds = %922, %_RNvMNtCsdF516cSs19B_10rustc_span13span_encodingNtB2_4Span14data_untracked.llvm.15131964271339581801.exit276 %925 = phi i32 [ %.pr644, %_RNvMNtCsdF516cSs19B_10rustc_span13span_encodingNtB2_4Span14data_untracked.llvm.15131964271339581801.exit276 ], [ %.sroa.5.0.extract.trunc.i268, %917 ] %926 = invoke noundef align 8 dereferenceable(8) ptr @_ZN4core4sync6atomic11atomic_load17h733a54ca80041d2bE.llvm.7442130522521287225(ptr noundef nonnull @_RNvCsdF516cSs19B_10rustc_span10SPAN_TRACK, i8 noundef 4) to label %"_ZN97_$LT$rustc_data_structures..atomic_ref..AtomicRef$LT$T$GT$$u20$as$u20$core..ops..deref..Deref$GT$5deref17hb766b2ce54f5f072E.exit278" unwind label %419 -_RNvMNtCsdF516cSs19B_10rustc_span13span_encodingNtB2_4Span14data_untracked.llvm.15131964271339581801.exit276.thread: ; preds = %917, %"_ZN97_$LT$rustc_data_structures..atomic_ref..AtomicRef$LT$T$GT$$u20$as$u20$core..ops..deref..Deref$GT$5deref17hb766b2ce54f5f072E.exit278", %_RNvMNtCsdF516cSs19B_10rustc_span13span_encodingNtB2_4Span14data_untracked.llvm.15131964271339581801.exit276 +_RNvMNtCsdF516cSs19B_10rustc_span13span_encodingNtB2_4Span14data_untracked.llvm.15131964271339581801.exit276.thread: ; preds = %922, %"_ZN97_$LT$rustc_data_structures..atomic_ref..AtomicRef$LT$T$GT$$u20$as$u20$core..ops..deref..Deref$GT$5deref17hb766b2ce54f5f072E.exit278", %_RNvMNtCsdF516cSs19B_10rustc_span13span_encodingNtB2_4Span14data_untracked.llvm.15131964271339581801.exit276 %927 = getelementptr inbounds nuw i8, ptr %96, i64 4 %928 = load i32, ptr %927, align 4, !noundef !10 call void @llvm.lifetime.end.p0(ptr nonnull %96) diff --git a/bench/syn/optimized/2tga7oe2tfdpj05w.ll b/bench/syn/optimized/2tga7oe2tfdpj05w.ll index 52542556d4f..62b940be135 100644 --- a/bench/syn/optimized/2tga7oe2tfdpj05w.ll +++ b/bench/syn/optimized/2tga7oe2tfdpj05w.ll @@ -2292,53 +2292,53 @@ default.unreachable: ; preds = %165, %150, %135, %1 br label %"_ZN3syn10punctuated8printing91_$LT$impl$u20$quote..to_tokens..ToTokens$u20$for$u20$syn..punctuated..Pair$LT$T$C$P$GT$$GT$9to_tokens17h2f65737e4172ea54E.exit7" 165: ; preds = %.thread100, %91 - %166 = phi ptr [ null, %.thread100 ], [ %93, %91 ] - %167 = phi ptr [ null, %.thread100 ], [ %85, %91 ] - %168 = phi ptr [ %86, %.thread100 ], [ %92, %91 ] + %.sroa.5.0 = phi ptr [ null, %.thread100 ], [ %93, %91 ] + %166 = phi ptr [ null, %.thread100 ], [ %85, %91 ] + %167 = phi ptr [ %86, %.thread100 ], [ %92, %91 ] %.sroa.64.1.i108 = phi ptr [ %85, %.thread100 ], [ %86, %91 ] call void @llvm.assume(i1 true) [ "align"(ptr %.sroa.64.1.i108, i64 8) ] tail call void @"_ZN65_$LT$proc_macro2..Ident$u20$as$u20$quote..to_tokens..ToTokens$GT$9to_tokens17h629b5813b48ddffcE"(ptr noalias noundef nonnull readonly align 8 dereferenceable(96) %.sroa.64.1.i108, ptr noalias noundef nonnull align 8 dereferenceable(32) %0) - %169 = getelementptr inbounds nuw i8, ptr %.sroa.64.1.i108, i64 32 - %170 = load i64, ptr %169, align 8, !range !77, !alias.scope !530, !noalias !533, !noundef !7 - %171 = xor i64 %170, -9223372036854775808 - %172 = tail call i64 @llvm.umin.i64(i64 %171, i64 2) - switch i64 %172, label %default.unreachable [ + %168 = getelementptr inbounds nuw i8, ptr %.sroa.64.1.i108, i64 32 + %169 = load i64, ptr %168, align 8, !range !77, !alias.scope !530, !noalias !533, !noundef !7 + %170 = xor i64 %169, -9223372036854775808 + %171 = tail call i64 @llvm.umin.i64(i64 %170, i64 2) + switch i64 %171, label %default.unreachable [ i64 0, label %"_ZN3syn4path8printing81_$LT$impl$u20$quote..to_tokens..ToTokens$u20$for$u20$syn..path..PathArguments$GT$9to_tokens17h9597255c2fe3aa38E.exit" - i64 1, label %173 - i64 2, label %175 + i64 1, label %172 + i64 2, label %174 ] -173: ; preds = %165 - %174 = getelementptr inbounds nuw i8, ptr %.sroa.64.1.i108, i64 40 - tail call void @"_ZN3syn4path8printing98_$LT$impl$u20$quote..to_tokens..ToTokens$u20$for$u20$syn..path..AngleBracketedGenericArguments$GT$9to_tokens17h13f6c1ac8d1c6619E"(ptr noalias noundef nonnull readonly align 8 dereferenceable(56) %174, ptr noalias noundef nonnull align 8 dereferenceable(32) %0) +172: ; preds = %165 + %173 = getelementptr inbounds nuw i8, ptr %.sroa.64.1.i108, i64 40 + tail call void @"_ZN3syn4path8printing98_$LT$impl$u20$quote..to_tokens..ToTokens$u20$for$u20$syn..path..AngleBracketedGenericArguments$GT$9to_tokens17h13f6c1ac8d1c6619E"(ptr noalias noundef nonnull readonly align 8 dereferenceable(56) %173, ptr noalias noundef nonnull align 8 dereferenceable(32) %0) br label %"_ZN3syn4path8printing81_$LT$impl$u20$quote..to_tokens..ToTokens$u20$for$u20$syn..path..PathArguments$GT$9to_tokens17h9597255c2fe3aa38E.exit" -175: ; preds = %165 - %176 = getelementptr inbounds nuw i8, ptr %.sroa.64.1.i108, i64 80 - tail call void @_ZN3syn5token5Paren8surround17hfdc6a5ac57cb9305E(ptr noalias noundef nonnull readonly align 4 dereferenceable(12) %176, ptr noalias noundef nonnull align 8 dereferenceable(32) %0, ptr noalias noundef nonnull readonly align 8 dereferenceable(64) %169) - %177 = getelementptr inbounds nuw i8, ptr %.sroa.64.1.i108, i64 64 - %178 = load ptr, ptr %177, align 8, !alias.scope !535, !noalias !538, !noundef !7 - %179 = icmp eq ptr %178, null - br i1 %179, label %"_ZN3syn4path8printing81_$LT$impl$u20$quote..to_tokens..ToTokens$u20$for$u20$syn..path..PathArguments$GT$9to_tokens17h9597255c2fe3aa38E.exit", label %180 - -180: ; preds = %175 - %181 = getelementptr inbounds nuw i8, ptr %.sroa.64.1.i108, i64 72 - tail call void @_ZN3syn5token8printing5punct17h32409e3f9cc0b330E(ptr noalias noundef nonnull readonly align 1 @anon.e4fd49bda13fc8b05702603de3f8b493.184.llvm.15435319159651575738, i64 noundef 2, ptr noalias noundef nonnull readonly align 4 dereferenceable(8) %181, i64 noundef 2, ptr noalias noundef nonnull align 8 dereferenceable(32) %0) - %182 = load ptr, ptr %177, align 8, !alias.scope !535, !noalias !538, !nonnull !7, !align !141, !noundef !7 - tail call void @"_ZN60_$LT$syn..ty..Type$u20$as$u20$quote..to_tokens..ToTokens$GT$9to_tokens17hfe21a6835586d0a0E"(ptr noalias noundef nonnull readonly align 8 dereferenceable(232) %182, ptr noalias noundef nonnull align 8 dereferenceable(32) %0) +174: ; preds = %165 + %175 = getelementptr inbounds nuw i8, ptr %.sroa.64.1.i108, i64 80 + tail call void @_ZN3syn5token5Paren8surround17hfdc6a5ac57cb9305E(ptr noalias noundef nonnull readonly align 4 dereferenceable(12) %175, ptr noalias noundef nonnull align 8 dereferenceable(32) %0, ptr noalias noundef nonnull readonly align 8 dereferenceable(64) %168) + %176 = getelementptr inbounds nuw i8, ptr %.sroa.64.1.i108, i64 64 + %177 = load ptr, ptr %176, align 8, !alias.scope !535, !noalias !538, !noundef !7 + %178 = icmp eq ptr %177, null + br i1 %178, label %"_ZN3syn4path8printing81_$LT$impl$u20$quote..to_tokens..ToTokens$u20$for$u20$syn..path..PathArguments$GT$9to_tokens17h9597255c2fe3aa38E.exit", label %179 + +179: ; preds = %174 + %180 = getelementptr inbounds nuw i8, ptr %.sroa.64.1.i108, i64 72 + tail call void @_ZN3syn5token8printing5punct17h32409e3f9cc0b330E(ptr noalias noundef nonnull readonly align 1 @anon.e4fd49bda13fc8b05702603de3f8b493.184.llvm.15435319159651575738, i64 noundef 2, ptr noalias noundef nonnull readonly align 4 dereferenceable(8) %180, i64 noundef 2, ptr noalias noundef nonnull align 8 dereferenceable(32) %0) + %181 = load ptr, ptr %176, align 8, !alias.scope !535, !noalias !538, !nonnull !7, !align !141, !noundef !7 + tail call void @"_ZN60_$LT$syn..ty..Type$u20$as$u20$quote..to_tokens..ToTokens$GT$9to_tokens17hfe21a6835586d0a0E"(ptr noalias noundef nonnull readonly align 8 dereferenceable(232) %181, ptr noalias noundef nonnull align 8 dereferenceable(32) %0) br label %"_ZN3syn4path8printing81_$LT$impl$u20$quote..to_tokens..ToTokens$u20$for$u20$syn..path..PathArguments$GT$9to_tokens17h9597255c2fe3aa38E.exit" -"_ZN3syn4path8printing81_$LT$impl$u20$quote..to_tokens..ToTokens$u20$for$u20$syn..path..PathArguments$GT$9to_tokens17h9597255c2fe3aa38E.exit": ; preds = %165, %180, %175, %173 +"_ZN3syn4path8printing81_$LT$impl$u20$quote..to_tokens..ToTokens$u20$for$u20$syn..path..PathArguments$GT$9to_tokens17h9597255c2fe3aa38E.exit": ; preds = %165, %179, %174, %172 tail call void @_ZN3syn5token8printing5punct17h32409e3f9cc0b330E(ptr noalias noundef nonnull readonly align 1 @anon.e4fd49bda13fc8b05702603de3f8b493.148.llvm.15435319159651575738, i64 noundef 1, ptr noalias noundef nonnull readonly align 4 dereferenceable(4) %82, i64 noundef 1, ptr noalias noundef nonnull align 8 dereferenceable(32) %0) - br i1 %88, label %"_ZN3syn10punctuated8printing91_$LT$impl$u20$quote..to_tokens..ToTokens$u20$for$u20$syn..punctuated..Pair$LT$T$C$P$GT$$GT$9to_tokens17h2f65737e4172ea54E.exit7", label %183 + br i1 %88, label %"_ZN3syn10punctuated8printing91_$LT$impl$u20$quote..to_tokens..ToTokens$u20$for$u20$syn..punctuated..Pair$LT$T$C$P$GT$$GT$9to_tokens17h2f65737e4172ea54E.exit7", label %182 -183: ; preds = %"_ZN3syn4path8printing81_$LT$impl$u20$quote..to_tokens..ToTokens$u20$for$u20$syn..path..PathArguments$GT$9to_tokens17h9597255c2fe3aa38E.exit" - tail call void @_ZN3syn5token8printing5punct17h32409e3f9cc0b330E(ptr noalias noundef nonnull readonly align 1 @anon.e4fd49bda13fc8b05702603de3f8b493.170.llvm.15435319159651575738, i64 noundef 2, ptr noalias noundef nonnull readonly align 4 dereferenceable(8) %166, i64 noundef 2, ptr noalias noundef nonnull align 8 dereferenceable(32) %0), !noalias !540 +182: ; preds = %"_ZN3syn4path8printing81_$LT$impl$u20$quote..to_tokens..ToTokens$u20$for$u20$syn..path..PathArguments$GT$9to_tokens17h9597255c2fe3aa38E.exit" + tail call void @_ZN3syn5token8printing5punct17h32409e3f9cc0b330E(ptr noalias noundef nonnull readonly align 1 @anon.e4fd49bda13fc8b05702603de3f8b493.170.llvm.15435319159651575738, i64 noundef 2, ptr noalias noundef nonnull readonly align 4 dereferenceable(8) %.sroa.5.0, i64 noundef 2, ptr noalias noundef nonnull align 8 dereferenceable(32) %0), !noalias !540 br label %"_ZN3syn10punctuated8printing91_$LT$impl$u20$quote..to_tokens..ToTokens$u20$for$u20$syn..punctuated..Pair$LT$T$C$P$GT$$GT$9to_tokens17h2f65737e4172ea54E.exit7" -"_ZN3syn10punctuated8printing91_$LT$impl$u20$quote..to_tokens..ToTokens$u20$for$u20$syn..punctuated..Pair$LT$T$C$P$GT$$GT$9to_tokens17h2f65737e4172ea54E.exit7": ; preds = %150, %183, %"_ZN3syn4path8printing81_$LT$impl$u20$quote..to_tokens..ToTokens$u20$for$u20$syn..path..PathArguments$GT$9to_tokens17h9597255c2fe3aa38E.exit", %"_ZN3syn4path8printing81_$LT$impl$u20$quote..to_tokens..ToTokens$u20$for$u20$syn..path..PathArguments$GT$9to_tokens17h9597255c2fe3aa38E.exit19", %157, %162, %155 - %184 = phi ptr [ %85, %"_ZN3syn4path8printing81_$LT$impl$u20$quote..to_tokens..ToTokens$u20$for$u20$syn..path..PathArguments$GT$9to_tokens17h9597255c2fe3aa38E.exit19" ], [ null, %157 ], [ null, %162 ], [ null, %150 ], [ null, %155 ], [ %167, %"_ZN3syn4path8printing81_$LT$impl$u20$quote..to_tokens..ToTokens$u20$for$u20$syn..path..PathArguments$GT$9to_tokens17h9597255c2fe3aa38E.exit" ], [ %167, %183 ] - %185 = phi ptr [ %92, %"_ZN3syn4path8printing81_$LT$impl$u20$quote..to_tokens..ToTokens$u20$for$u20$syn..path..PathArguments$GT$9to_tokens17h9597255c2fe3aa38E.exit19" ], [ %86, %157 ], [ %86, %162 ], [ %86, %150 ], [ %86, %155 ], [ %168, %"_ZN3syn4path8printing81_$LT$impl$u20$quote..to_tokens..ToTokens$u20$for$u20$syn..path..PathArguments$GT$9to_tokens17h9597255c2fe3aa38E.exit" ], [ %168, %183 ] +"_ZN3syn10punctuated8printing91_$LT$impl$u20$quote..to_tokens..ToTokens$u20$for$u20$syn..punctuated..Pair$LT$T$C$P$GT$$GT$9to_tokens17h2f65737e4172ea54E.exit7": ; preds = %150, %182, %"_ZN3syn4path8printing81_$LT$impl$u20$quote..to_tokens..ToTokens$u20$for$u20$syn..path..PathArguments$GT$9to_tokens17h9597255c2fe3aa38E.exit", %"_ZN3syn4path8printing81_$LT$impl$u20$quote..to_tokens..ToTokens$u20$for$u20$syn..path..PathArguments$GT$9to_tokens17h9597255c2fe3aa38E.exit19", %157, %162, %155 + %184 = phi ptr [ %85, %"_ZN3syn4path8printing81_$LT$impl$u20$quote..to_tokens..ToTokens$u20$for$u20$syn..path..PathArguments$GT$9to_tokens17h9597255c2fe3aa38E.exit19" ], [ null, %157 ], [ null, %162 ], [ null, %150 ], [ null, %155 ], [ %166, %"_ZN3syn4path8printing81_$LT$impl$u20$quote..to_tokens..ToTokens$u20$for$u20$syn..path..PathArguments$GT$9to_tokens17h9597255c2fe3aa38E.exit" ], [ %166, %183 ] + %185 = phi ptr [ %92, %"_ZN3syn4path8printing81_$LT$impl$u20$quote..to_tokens..ToTokens$u20$for$u20$syn..path..PathArguments$GT$9to_tokens17h9597255c2fe3aa38E.exit19" ], [ %86, %157 ], [ %86, %162 ], [ %86, %150 ], [ %86, %155 ], [ %167, %"_ZN3syn4path8printing81_$LT$impl$u20$quote..to_tokens..ToTokens$u20$for$u20$syn..path..PathArguments$GT$9to_tokens17h9597255c2fe3aa38E.exit" ], [ %167, %183 ] %186 = phi i64 [ %94, %"_ZN3syn4path8printing81_$LT$impl$u20$quote..to_tokens..ToTokens$u20$for$u20$syn..path..PathArguments$GT$9to_tokens17h9597255c2fe3aa38E.exit19" ], [ %96, %157 ], [ %96, %162 ], [ %96, %150 ], [ %96, %155 ], [ %.0.sroa.speculated.i, %"_ZN3syn4path8printing81_$LT$impl$u20$quote..to_tokens..ToTokens$u20$for$u20$syn..path..PathArguments$GT$9to_tokens17h9597255c2fe3aa38E.exit" ], [ %.0.sroa.speculated.i, %183 ] %187 = icmp eq i64 %87, 0 br i1 %187, label %"_ZN76_$LT$core..option..Option$LT$T$GT$$u20$as$u20$quote..to_tokens..ToTokens$GT$9to_tokens17h4e43d934e5a0a2fbE.exit.loopexit", label %84 diff --git a/bench/tls-rs/optimized/2xhpv4vf07do7r8g.ll b/bench/tls-rs/optimized/2xhpv4vf07do7r8g.ll index 947a8e86ca3..594ad3b2d15 100644 --- a/bench/tls-rs/optimized/2xhpv4vf07do7r8g.ll +++ b/bench/tls-rs/optimized/2xhpv4vf07do7r8g.ll @@ -2536,19 +2536,19 @@ define void @_ZN6rustls12common_state11CommonState15write_plaintext17h1431481db9 %19 = getelementptr inbounds nuw i8, ptr %1, i64 752 br i1 %11, label %22, label %26 -20: ; preds = %5 +20:; preds = %5 %21 = getelementptr inbounds nuw i8, ptr %0, i64 8 store i64 0, ptr %21, align 8 store i64 2, ptr %0, align 8 - br label %78 + br label %72 -22: ; preds = %18 +27: ; preds = %18 %23 = getelementptr inbounds nuw i8, ptr %2, i64 8 %24 = load ptr, ptr %23, align 8, !nonnull !14, !align !29, !noundef !14 %25 = ptrtoint ptr %24 to i64 br label %29 -26: ; preds = %18 +29: ; preds = %18 call void @llvm.assume(i1 true) [ "align"(ptr %10, i64 8) ] %27 = getelementptr inbounds nuw i8, ptr %2, i64 8 %28 = load i64, ptr %27, align 8, !noundef !14 @@ -2573,28 +2573,28 @@ define void @_ZN6rustls12common_state11CommonState15write_plaintext17h1431481db9 unreachable "_ZN103_$LT$rustls..msgs..fragmenter..Chunker$u20$as$u20$core..iter..traits..exact_size..ExactSizeIterator$GT$3len17ha95d4da5eac9ef73E.exit": ; preds = %33 - %36 = sub i64 %.sroa.1148.0, %13 - %.0.i.i32 = select i1 %11, i64 %13, i64 %36 - %37 = add i64 %30, -1 - %38 = add i64 %37, %.0.i.i32 - %39 = udiv i64 %38, %30 - %40 = icmp ugt i64 %39, %spec.select.i - br i1 %40, label %71, label %43 - -41: ; preds = %29 + %30 = sub i64 %.sroa.1148.0, %13 + %.0.i.i32 = select i1 %11, i64 %13, i64 %30 + %31 = add i64 %30, -1 + %32 = add i64 %31, %.0.i.i32 + %33 = udiv i64 %32, %30 + %34 = icmp ugt i64 %33, %spec.select.i + br i1 %34, label %65, label %37 + +35: ; preds = %29 store i64 1, ptr %0, align 8 - %42 = getelementptr inbounds nuw i8, ptr %0, i64 8 - store i64 %spec.select.i, ptr %42, align 8 - br label %78 - -43: ; preds = %"_ZN103_$LT$rustls..msgs..fragmenter..Chunker$u20$as$u20$core..iter..traits..exact_size..ExactSizeIterator$GT$3len17ha95d4da5eac9ef73E.exit" - %44 = getelementptr inbounds nuw i8, ptr %1, i64 728 - %45 = load i64, ptr %44, align 8, !range !123, !alias.scope !541, !noundef !14 - %46 = icmp eq i64 %45, -9223372036854775808 - %47 = getelementptr inbounds nuw i8, ptr %1, i64 744 - %48 = load i64, ptr %47, align 8, !alias.scope !541 + %36 = getelementptr inbounds nuw i8, ptr %0, i64 8 + store i64 %spec.select.i, ptr %36, align 8 + br label %72 + +37: ; preds = %"_ZN103_$LT$rustls..msgs..fragmenter..Chunker$u20$as$u20$core..iter..traits..exact_size..ExactSizeIterator$GT$3len17ha95d4da5eac9ef73E.exit" + %38 = getelementptr inbounds nuw i8, ptr %1, i64 728 + %39 = load i64, ptr %38, align 8, !range !123, !alias.scope !541, !noundef !14 + %40 = icmp eq i64 %39, -9223372036854775808 + %41 = getelementptr inbounds nuw i8, ptr %1, i64 744 + %42 = load i64, ptr %41, align 8, !alias.scope !541 tail call void @llvm.experimental.noalias.scope.decl(metadata !544) - %spec.select.i33 = select i1 %46, i64 0, i64 %48 + %spec.select.i33 = select i1 %40, i64 0, i64 %42 call void @llvm.lifetime.start.p0(ptr nonnull %7), !noalias !547 store ptr %10, ptr %7, align 8, !noalias !550 %.sroa.4.0..sroa_idx = getelementptr inbounds nuw i8, ptr %7, i64 8 @@ -2609,82 +2609,82 @@ define void @_ZN6rustls12common_state11CommonState15write_plaintext17h1431481db9 store i16 4, ptr %.sroa.853.0..sroa_idx, align 8, !noalias !550 %.sroa.1054.0..sroa_idx = getelementptr inbounds nuw i8, ptr %7, i64 44 store i8 3, ptr %.sroa.1054.0..sroa_idx, align 4, !noalias !550 - %49 = icmp eq i64 %.0.i.i32, 0 - br i1 %49, label %_ZN6rustls12common_state11CommonState19check_required_size17h5853712a7336b898E.exit, label %.lr.ph.i + %43 = icmp eq i64 %.0.i.i32, 0 + br i1 %43, label %_ZN6rustls12common_state11CommonState19check_required_size17h5853712a7336b898E.exit, label %.lr.ph.i -.lr.ph.i: ; preds = %43 +.lr.ph.i: ; preds = %37 %.sroa.01.i.sroa.5.0..sroa_idx.i = getelementptr inbounds nuw i8, ptr %6, i64 16 %.sroa.01.i.sroa.6.0..sroa_idx.i = getelementptr inbounds nuw i8, ptr %6, i64 24 - %50 = getelementptr inbounds nuw i8, ptr %6, i64 32 - %51 = getelementptr inbounds nuw i8, ptr %1, i64 16 - %52 = load ptr, ptr %51, align 8, !alias.scope !544, !noalias !551, !nonnull !14, !align !29 - %53 = getelementptr inbounds nuw i8, ptr %1, i64 24 - %54 = load ptr, ptr %53, align 8, !alias.scope !544, !noalias !551, !nonnull !14, !align !28 - %55 = getelementptr inbounds nuw i8, ptr %54, i64 32 - br label %56 - -56: ; preds = %56, %.lr.ph.i - %.124.i = phi i64 [ %spec.select.i33, %.lr.ph.i ], [ %63, %56 ] + %44 = getelementptr inbounds nuw i8, ptr %6, i64 32 + %45 = getelementptr inbounds nuw i8, ptr %1, i64 16 + %46 = load ptr, ptr %45, align 8, !alias.scope !544, !noalias !551, !nonnull !14, !align !29 + %47 = getelementptr inbounds nuw i8, ptr %1, i64 24 + %48 = load ptr, ptr %47, align 8, !alias.scope !544, !noalias !551, !nonnull !14, !align !28 + %49 = getelementptr inbounds nuw i8, ptr %48, i64 32 + br label %50 + +50: ; preds = %50, %.lr.ph.i + %.124.i = phi i64 [ %spec.select.i33, %.lr.ph.i ], [ %57, %56 ] call void @llvm.experimental.noalias.scope.decl(metadata !552) call void @llvm.experimental.noalias.scope.decl(metadata !555) call void @llvm.lifetime.start.p0(ptr nonnull %6), !noalias !558 - %57 = load i64, ptr %.sroa.752.0..sroa_idx, align 8, !alias.scope !561, !noalias !562, !noundef !14 - call void @_ZN6rustls4msgs7message8outbound14OutboundChunks8split_at17h87280a3cc8187261E(ptr noalias noundef nonnull sret({ { ptr, [3 x i64] }, { ptr, [3 x i64] } }) align 8 captures(none) dereferenceable(64) %6, ptr noalias noundef nonnull readonly align 8 dereferenceable(48) %7, i64 noundef %57), !noalias !562 + %51 = load i64, ptr %.sroa.752.0..sroa_idx, align 8, !alias.scope !561, !noalias !562, !noundef !14 + call void @_ZN6rustls4msgs7message8outbound14OutboundChunks8split_at17h87280a3cc8187261E(ptr noalias noundef nonnull sret({ { ptr, [3 x i64] }, { ptr, [3 x i64] } }) align 8 captures(none) dereferenceable(64) %6, ptr noalias noundef nonnull readonly align 8 dereferenceable(48) %7, i64 noundef %51), !noalias !562 %.sroa.01.i.sroa.0.0.copyload.i = load ptr, ptr %6, align 8, !noalias !563 %.sroa.01.i.sroa.5.0.copyload.i = load i64, ptr %.sroa.01.i.sroa.5.0..sroa_idx.i, align 8, !noalias !563 %.sroa.01.i.sroa.6.0.copyload.i = load i64, ptr %.sroa.01.i.sroa.6.0..sroa_idx.i, align 8, !noalias !563 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %7, ptr noundef nonnull align 8 dereferenceable(32) %50, i64 32, i1 false), !noalias !562 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %7, ptr noundef nonnull align 8 dereferenceable(32) %44, i64 32, i1 false), !noalias !562 call void @llvm.lifetime.end.p0(ptr nonnull %6), !noalias !558 - %58 = icmp eq ptr %.sroa.01.i.sroa.0.0.copyload.i, null - %59 = sub i64 %.sroa.01.i.sroa.6.0.copyload.i, %.sroa.01.i.sroa.5.0.copyload.i - %.0.i.i.i = select i1 %58, i64 %.sroa.01.i.sroa.5.0.copyload.i, i64 %59 - %60 = load ptr, ptr %55, align 8, !invariant.load !14, !noalias !564, !nonnull !14 - %61 = call noundef i64 %60(ptr noundef nonnull align 1 %52, i64 noundef %.0.i.i.i), !noalias !564 - %62 = add i64 %.124.i, 5 - %63 = add i64 %62, %61 - %64 = load ptr, ptr %7, align 8, !alias.scope !570, !noalias !562, !noundef !14 - %65 = icmp eq ptr %64, null - %66 = load i64, ptr %.sroa.550.0..sroa_idx, align 8, !alias.scope !570, !noalias !562 - %67 = load i64, ptr %.sroa.651.0..sroa_idx, align 8, !alias.scope !570, !noalias !562 - %68 = sub i64 %67, %66 - %.0.i.i.i.i.i = select i1 %65, i64 %66, i64 %68 - %69 = icmp eq i64 %.0.i.i.i.i.i, 0 - br i1 %69, label %_ZN6rustls12common_state11CommonState19check_required_size17h5853712a7336b898E.exit, label %56 - -_ZN6rustls12common_state11CommonState19check_required_size17h5853712a7336b898E.exit: ; preds = %56, %43 - %.1.lcssa.i = phi i64 [ %spec.select.i33, %43 ], [ %63, %56 ] + %52 = icmp eq ptr %.sroa.01.i.sroa.0.0.copyload.i, null + %53 = sub i64 %.sroa.01.i.sroa.6.0.copyload.i, %.sroa.01.i.sroa.5.0.copyload.i + %.0.i.i.i = select i1 %52, i64 %.sroa.01.i.sroa.5.0.copyload.i, i64 %53 + %54 = load ptr, ptr %49, align 8, !invariant.load !14, !noalias !564, !nonnull !14 + %55 = call noundef i64 %60(ptr noundef nonnull align 1 %46, i64 noundef %.0.i.i.i), !noalias !564 + %56 = add i64 %.124.i, 5 + %57 = add i64 %56, %55 + %58 = load ptr, ptr %7, align 8, !alias.scope !570, !noalias !562, !noundef !14 + %59 = icmp eq ptr %58, null + %60 = load i64, ptr %.sroa.550.0..sroa_idx, align 8, !alias.scope !570, !noalias !562 + %61 = load i64, ptr %.sroa.651.0..sroa_idx, align 8, !alias.scope !570, !noalias !562 + %62 = sub i64 %61, %60 + %.0.i.i.i.i.i = select i1 %59, i64 %60, i64 %62 + %63 = icmp eq i64 %.0.i.i.i.i.i, 0 + br i1 %63, label %_ZN6rustls12common_state11CommonState19check_required_size17h5853712a7336b898E.exit, label %50 + +_ZN6rustls12common_state11CommonState19check_required_size17h5853712a7336b898E.exit: ; preds = %50, %37 + %.1.lcssa.i = phi i64 [ %spec.select.i33, %43 ], [ %57, %56 ] call void @llvm.lifetime.end.p0(ptr nonnull %7), !noalias !547 - %70 = icmp ugt i64 %.1.lcssa.i, %4 - br i1 %70, label %76, label %72 + %64 = icmp ugt i64 %.1.lcssa.i, %4 + br i1 %64, label %70, label %66 -71: ; preds = %"_ZN103_$LT$rustls..msgs..fragmenter..Chunker$u20$as$u20$core..iter..traits..exact_size..ExactSizeIterator$GT$3len17ha95d4da5eac9ef73E.exit" +65: ; preds = %"_ZN103_$LT$rustls..msgs..fragmenter..Chunker$u20$as$u20$core..iter..traits..exact_size..ExactSizeIterator$GT$3len17ha95d4da5eac9ef73E.exit" store i64 1, ptr %0, align 8 - br label %78 + br label %72 -72: ; preds = %_ZN6rustls12common_state11CommonState19check_required_size17h5853712a7336b898E.exit +66: ; preds = %_ZN6rustls12common_state11CommonState19check_required_size17h5853712a7336b898E.exit call void @llvm.experimental.noalias.scope.decl(metadata !577) call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(48) %9, ptr noundef nonnull align 8 dereferenceable(32) %2, i64 32, i1 false), !alias.scope !580, !noalias !582 %.sroa.4.0..sroa_idx1.i34 = getelementptr inbounds nuw i8, ptr %9, i64 32 store i64 %30, ptr %.sroa.4.0..sroa_idx1.i34, align 8, !alias.scope !584, !noalias !585 - %73 = getelementptr inbounds nuw i8, ptr %9, i64 40 - store i16 4, ptr %73, align 8, !alias.scope !584, !noalias !585 + %67 = getelementptr inbounds nuw i8, ptr %9, i64 40 + store i16 4, ptr %67, align 8, !alias.scope !584, !noalias !585 %.sroa.5.0..sroa_idx.i36 = getelementptr inbounds nuw i8, ptr %9, i64 44 store i8 3, ptr %.sroa.5.0..sroa_idx.i36, align 4, !alias.scope !584, !noalias !585 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %8, ptr noundef nonnull align 8 dereferenceable(24) %44, i64 24, i1 false) - store i64 -9223372036854775808, ptr %44, align 8 - %74 = call noundef i64 @_ZN6rustls12common_state11CommonState15write_fragments17h20a3bd8b6931558aE(ptr noalias noundef nonnull align 8 dereferenceable(776) %1, ptr noalias noundef nonnull align 1 %3, i64 noundef %4, ptr noalias noundef nonnull align 8 captures(none) dereferenceable(24) %8, ptr noalias noundef nonnull align 8 captures(none) dereferenceable(48) %9) - %75 = getelementptr inbounds nuw i8, ptr %0, i64 8 - store i64 %74, ptr %75, align 8 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %8, ptr noundef nonnull align 8 dereferenceable(24) %38, i64 24, i1 false) + store i64 -9223372036854775808, ptr %38, align 8 + %68 = call noundef i64 @_ZN6rustls12common_state11CommonState15write_fragments17h20a3bd8b6931558aE(ptr noalias noundef nonnull align 8 dereferenceable(776) %1, ptr noalias noundef nonnull align 1 %3, i64 noundef %4, ptr noalias noundef nonnull align 8 captures(none) dereferenceable(24) %8, ptr noalias noundef nonnull align 8 captures(none) dereferenceable(48) %9) + %69 = getelementptr inbounds nuw i8, ptr %0, i64 8 + store i64 %68, ptr %69, align 8 store i64 2, ptr %0, align 8 - br label %78 + br label %72 -76: ; preds = %_ZN6rustls12common_state11CommonState19check_required_size17h5853712a7336b898E.exit +70: ; preds = %_ZN6rustls12common_state11CommonState19check_required_size17h5853712a7336b898E.exit store i64 0, ptr %0, align 8 - %77 = getelementptr inbounds nuw i8, ptr %0, i64 8 - store i64 %.1.lcssa.i, ptr %77, align 8 - br label %78 + %71 = getelementptr inbounds nuw i8, ptr %0, i64 8 + store i64 %.1.lcssa.i, ptr %71, align 8 + br label %72 -78: ; preds = %41, %71, %76, %72, %20 +72: ; preds = %35, %65, %70, %66, %20 ret void } diff --git a/bench/wasmi-rs/optimized/ea5tp1pyhuh13c18hcvvnv9jv.ll b/bench/wasmi-rs/optimized/ea5tp1pyhuh13c18hcvvnv9jv.ll index beb3bccf9e4..90c24c8941c 100644 --- a/bench/wasmi-rs/optimized/ea5tp1pyhuh13c18hcvvnv9jv.ll +++ b/bench/wasmi-rs/optimized/ea5tp1pyhuh13c18hcvvnv9jv.ll @@ -2622,7 +2622,7 @@ _ZN5wasmi6engine8executor5cache14CachedInstance11load_caches17hcb19514e98bbf501E %152 = getelementptr inbounds nuw i8, ptr %151, i64 16 %153 = load i64, ptr %152, align 8, !noalias !36, !noundef !3 %.not29.i = icmp eq i64 %153, 0 - br i1 %.not29.i, label %.thread47.i, label %154 + br i1 %.not29.i, label %.thread.i, label %154 154: ; preds = %_ZN5wasmi6engine8executor5cache14CachedInstance11load_caches17hcb19514e98bbf501E.exit.i %155 = getelementptr inbounds nuw i8, ptr %151, i64 8 @@ -2630,7 +2630,7 @@ _ZN5wasmi6engine8executor5cache14CachedInstance11load_caches17hcb19514e98bbf501E %157 = getelementptr { ptr, { i64, i64 }, i16, i8, [5 x i8] }, ptr %156, i64 %153 %158 = getelementptr i8, ptr %157, i64 -32 %.not30.i = icmp eq ptr %158, null - br i1 %.not30.i, label %.thread47.i, label %159 + br i1 %.not30.i, label %.thread.i, label %159 159: ; preds = %154 %160 = getelementptr inbounds nuw i8, ptr %151, i64 72 @@ -2639,13 +2639,13 @@ _ZN5wasmi6engine8executor5cache14CachedInstance11load_caches17hcb19514e98bbf501E %163 = call noundef ptr @_ZN5wasmi6engine8executor5stack6values10ValueStack12stack_ptr_at17h07614d8f0145bbbcE(ptr noalias noundef nonnull align 8 dereferenceable(32) %160, i64 noundef %162), !noalias !36 br label %166 -.thread47.i: ; preds = %154, %_ZN5wasmi6engine8executor5cache14CachedInstance11load_caches17hcb19514e98bbf501E.exit.i +.thread.i: ; preds = %154, %_ZN5wasmi6engine8executor5cache14CachedInstance11load_caches17hcb19514e98bbf501E.exit.i %164 = getelementptr inbounds nuw i8, ptr %151, i64 72 %165 = call noundef ptr @_ZN5wasmi6engine8executor5stack6values10ValueStack14root_stack_ptr17he70987b048e259eeE(ptr noalias noundef nonnull align 8 dereferenceable(32) %164), !noalias !36 br label %166 -166: ; preds = %.thread47.i, %159 - %.not3050.i = phi i8 [ 0, %159 ], [ 1, %.thread47.i ] +166: ; preds = %.thread.i, %159 + %.not3048.i = phi i8 [ 0, %159 ], [ 1, %.thread47.i ] %.sroa.024.0.i = phi ptr [ %163, %159 ], [ %165, %.thread47.i ] call void @llvm.lifetime.start.p0(ptr nonnull %26), !noalias !43 store ptr %.sroa.024.0.i, ptr %26, align 8, !noalias !43 @@ -2720,17 +2720,17 @@ _ZN5wasmi6engine8executor5cache14CachedInstance11load_caches17hcb19514e98bbf501E 199: ; preds = %"_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$4next17hb0b3ac8cf5ef9d1fE.exit.thread.i" store i64 %194, ptr %195, align 8, !noalias !36 - %.pre67.i = load ptr, ptr %45, align 8, !alias.scope !39, !noalias !45 - br i1 %67, label %200, label %.thread60.i + %.pre65.i = load ptr, ptr %45, align 8, !alias.scope !39, !noalias !45 + br i1 %67, label %200, label %.thread58.i 200: ; preds = %199 - %201 = getelementptr inbounds nuw i8, ptr %.pre67.i, i64 48 + %201 = getelementptr inbounds nuw i8, ptr %.pre65.i, i64 48 %202 = load i32, ptr %201, align 8, !range !35, !noalias !36, !noundef !3 %203 = trunc nuw i32 %202 to i1 - br i1 %203, label %204, label %.thread60.i + br i1 %203, label %204, label %.thread58.i 204: ; preds = %200 - %205 = getelementptr inbounds nuw i8, ptr %.pre67.i, i64 52 + %205 = getelementptr inbounds nuw i8, ptr %.pre65.i, i64 52 call void @llvm.lifetime.start.p0(ptr nonnull %16), !noalias !43 call void @llvm.lifetime.start.p0(ptr nonnull %17), !noalias !43 %206 = call noundef align 8 dereferenceable(144) ptr @_ZN5wasmi5store5inner10StoreInner16resolve_instance17h62bfb93af6a98434E(ptr noalias noundef nonnull readonly align 8 dereferenceable(344) %2, ptr noalias noundef nonnull readonly align 4 dereferenceable(8) %205), !noalias !94 @@ -2788,32 +2788,32 @@ _ZN5wasmi6engine8executor5cache14CachedInstance11load_caches17hcb19514e98bbf501E store i64 %.sroa.33.0.i41.i, ptr %146, align 8, !alias.scope !39, !noalias !45 store ptr %.sroa.04.0.i42.i, ptr %147, align 8, !alias.scope !39, !noalias !45 %.pre.i = load ptr, ptr %45, align 8, !alias.scope !39, !noalias !45 - br label %.thread60.i + br label %.thread58.i -.thread60.i: ; preds = %_ZN5wasmi6engine8executor5cache14CachedInstance11load_caches17hcb19514e98bbf501E.exit43.i, %200, %199 - %231 = phi ptr [ %.pre67.i, %200 ], [ %.pre67.i, %199 ], [ %.pre.i, %_ZN5wasmi6engine8executor5cache14CachedInstance11load_caches17hcb19514e98bbf501E.exit43.i ] +.thread58.i: ; preds = %_ZN5wasmi6engine8executor5cache14CachedInstance11load_caches17hcb19514e98bbf501E.exit43.i, %200, %199 + %231 = phi ptr [ %.pre65.i, %200 ], [ %.pre65.i, %199 ], [ %.pre.i, %_ZN5wasmi6engine8executor5cache14CachedInstance11load_caches17hcb19514e98bbf501E.exit43.i ] %232 = getelementptr inbounds nuw i8, ptr %231, i64 16 %233 = load i64, ptr %232, align 8, !noalias !36, !noundef !3 %.not35.i = icmp eq i64 %233, 0 - br i1 %.not35.i, label %.thread63.i, label %234 + br i1 %.not35.i, label %.thread61.i, label %234 -234: ; preds = %.thread60.i +234: ; preds = %.thread58.i %235 = getelementptr inbounds nuw i8, ptr %231, i64 8 %236 = load ptr, ptr %235, align 8, !noalias !36, !nonnull !3, !noundef !3 %237 = getelementptr { ptr, { i64, i64 }, i16, i8, [5 x i8] }, ptr %236, i64 %233 %238 = getelementptr i8, ptr %237, i64 -32 %.not36.i = icmp eq ptr %238, null - br i1 %.not36.i, label %.thread63.i, label %239 + br i1 %.not36.i, label %.thread61.i, label %239 239: ; preds = %234 %240 = getelementptr inbounds nuw i8, ptr %231, i64 72 %241 = getelementptr inbounds nuw i8, ptr %1, i64 56 call void @_ZN5wasmi6engine8executor6instrs8Executor20init_call_frame_impl17h108f87aebf9bd03dE(ptr noalias noundef nonnull align 8 dereferenceable(32) %240, ptr noalias noundef nonnull align 8 dereferenceable(8) %86, ptr noalias noundef nonnull align 8 dereferenceable(8) %241, ptr noalias noundef nonnull readonly align 8 dereferenceable(32) %238), !noalias !36 - br label %.thread63.i + br label %.thread61.i -.thread63.i: ; preds = %239, %234, %.thread60.i +.thread61.i: ; preds = %239, %234, %.thread58.i %242 = getelementptr inbounds nuw i8, ptr %0, i64 1 - store i8 %.not3050.i, ptr %242, align 1, !alias.scope !36, !noalias !100 + store i8 %.not3048.i, ptr %242, align 1, !alias.scope !36, !noalias !100 store i8 0, ptr %0, align 8, !alias.scope !36, !noalias !100 call void @llvm.lifetime.end.p0(ptr nonnull %26), !noalias !43 br label %"_ZN5wasmi6engine8executor6instrs4call59_$LT$impl$u20$wasmi..engine..executor..instrs..Executor$GT$17execute_host_func17h728f873a194702afE.exit" @@ -2825,7 +2825,7 @@ _ZN5wasmi6engine8executor5cache14CachedInstance11load_caches17hcb19514e98bbf501E store i8 1, ptr %0, align 8, !alias.scope !36, !noalias !100 br label %"_ZN5wasmi6engine8executor6instrs4call59_$LT$impl$u20$wasmi..engine..executor..instrs..Executor$GT$17execute_host_func17h728f873a194702afE.exit" -"_ZN5wasmi6engine8executor6instrs4call59_$LT$impl$u20$wasmi..engine..executor..instrs..Executor$GT$17execute_host_func17h728f873a194702afE.exit": ; preds = %.thread63.i, %243 +"_ZN5wasmi6engine8executor6instrs4call59_$LT$impl$u20$wasmi..engine..executor..instrs..Executor$GT$17execute_host_func17h728f873a194702afE.exit": ; preds = %.thread61.i, %243 call void @llvm.lifetime.end.p0(ptr nonnull %28), !noalias !43 call void @llvm.lifetime.end.p0(ptr nonnull %27) br label %411 @@ -3526,9 +3526,9 @@ _ZN5wasmi6engine8executor5cache14CachedInstance11load_caches17hcb19514e98bbf501E br label %"_ZN5wasmi6engine8executor6instrs4call59_$LT$impl$u20$wasmi..engine..executor..instrs..Executor$GT$17execute_host_func17hd6cecd2cd974b7aeE.exit" 161: ; preds = %91, %99, %73 - %.sink40.i = phi ptr [ %75, %73 ], [ %94, %91 ], [ %101, %99 ] + %.sink38.i = phi ptr [ %75, %73 ], [ %94, %91 ], [ %101, %99 ] %162 = getelementptr inbounds nuw i8, ptr %0, i64 8 - store ptr %.sink40.i, ptr %162, align 8, !alias.scope !154, !noalias !201 + store ptr %.sink38.i, ptr %162, align 8, !alias.scope !154, !noalias !201 br label %"_ZN5wasmi6engine8executor6instrs4call59_$LT$impl$u20$wasmi..engine..executor..instrs..Executor$GT$17execute_host_func17hd6cecd2cd974b7aeE.exit" "_ZN5wasmi6engine8executor6instrs4call59_$LT$impl$u20$wasmi..engine..executor..instrs..Executor$GT$17execute_host_func17hd6cecd2cd974b7aeE.exit": ; preds = %"_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$4next17hb0b3ac8cf5ef9d1fE.exit.thread.i", %161 @@ -4229,7 +4229,7 @@ _ZN5wasmi6engine8executor5cache14CachedInstance11load_caches17hcb19514e98bbf501E %161 = getelementptr inbounds nuw i8, ptr %160, i64 16 %162 = load i64, ptr %161, align 8, !noalias !262, !noundef !3 %.not31.i = icmp eq i64 %162, 0 - br i1 %.not31.i, label %.thread50.i, label %163 + br i1 %.not31.i, label %.thread.i, label %163 163: ; preds = %_ZN5wasmi6engine8executor5cache14CachedInstance11load_caches17hcb19514e98bbf501E.exit.i %164 = getelementptr inbounds nuw i8, ptr %160, i64 8 @@ -4237,7 +4237,7 @@ _ZN5wasmi6engine8executor5cache14CachedInstance11load_caches17hcb19514e98bbf501E %166 = getelementptr { ptr, { i64, i64 }, i16, i8, [5 x i8] }, ptr %165, i64 %162 %167 = getelementptr i8, ptr %166, i64 -32 %.not32.i = icmp eq ptr %167, null - br i1 %.not32.i, label %.thread50.i, label %168 + br i1 %.not32.i, label %.thread.i, label %168 168: ; preds = %163 %169 = getelementptr inbounds nuw i8, ptr %160, i64 72 @@ -4246,13 +4246,13 @@ _ZN5wasmi6engine8executor5cache14CachedInstance11load_caches17hcb19514e98bbf501E %172 = call noundef ptr @_ZN5wasmi6engine8executor5stack6values10ValueStack12stack_ptr_at17h07614d8f0145bbbcE(ptr noalias noundef nonnull align 8 dereferenceable(32) %169, i64 noundef %171), !noalias !262 br label %175 -.thread50.i: ; preds = %163, %_ZN5wasmi6engine8executor5cache14CachedInstance11load_caches17hcb19514e98bbf501E.exit.i +.thread.i: ; preds = %163, %_ZN5wasmi6engine8executor5cache14CachedInstance11load_caches17hcb19514e98bbf501E.exit.i %173 = getelementptr inbounds nuw i8, ptr %160, i64 72 %174 = call noundef ptr @_ZN5wasmi6engine8executor5stack6values10ValueStack14root_stack_ptr17he70987b048e259eeE(ptr noalias noundef nonnull align 8 dereferenceable(32) %173), !noalias !262 br label %175 -175: ; preds = %.thread50.i, %168 - %.not3253.i = phi i8 [ 0, %168 ], [ 1, %.thread50.i ] +175: ; preds = %.thread.i, %168 + %.not3252.i = phi i8 [ 0, %168 ], [ 1, %.thread50.i ] %.sroa.026.0.i = phi ptr [ %172, %168 ], [ %174, %.thread50.i ] call void @llvm.lifetime.start.p0(ptr nonnull %26), !noalias !269 store ptr %.sroa.026.0.i, ptr %26, align 8, !noalias !269 @@ -4327,17 +4327,17 @@ _ZN5wasmi6engine8executor5cache14CachedInstance11load_caches17hcb19514e98bbf501E 208: ; preds = %"_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$4next17hb0b3ac8cf5ef9d1fE.exit.thread.i" store i64 %203, ptr %204, align 8, !noalias !262 - %.pre70.i = load ptr, ptr %47, align 8, !alias.scope !265, !noalias !271 - br i1 %69, label %209, label %.thread63.i + %.pre69.i = load ptr, ptr %47, align 8, !alias.scope !265, !noalias !271 + br i1 %69, label %209, label %.thread62.i 209: ; preds = %208 - %210 = getelementptr inbounds nuw i8, ptr %.pre70.i, i64 48 + %210 = getelementptr inbounds nuw i8, ptr %.pre69.i, i64 48 %211 = load i32, ptr %210, align 8, !range !35, !noalias !262, !noundef !3 %212 = trunc nuw i32 %211 to i1 - br i1 %212, label %213, label %.thread63.i + br i1 %212, label %213, label %.thread62.i 213: ; preds = %209 - %214 = getelementptr inbounds nuw i8, ptr %.pre70.i, i64 52 + %214 = getelementptr inbounds nuw i8, ptr %.pre69.i, i64 52 call void @llvm.lifetime.start.p0(ptr nonnull %16), !noalias !269 call void @llvm.lifetime.start.p0(ptr nonnull %17), !noalias !269 %215 = call noundef align 8 dereferenceable(144) ptr @_ZN5wasmi5store5inner10StoreInner16resolve_instance17h62bfb93af6a98434E(ptr noalias noundef nonnull readonly align 8 dereferenceable(344) %2, ptr noalias noundef nonnull readonly align 4 dereferenceable(8) %214), !noalias !319 @@ -4395,32 +4395,32 @@ _ZN5wasmi6engine8executor5cache14CachedInstance11load_caches17hcb19514e98bbf501E store i64 %.sroa.33.0.i43.i, ptr %155, align 8, !alias.scope !265, !noalias !271 store ptr %.sroa.04.0.i44.i, ptr %156, align 8, !alias.scope !265, !noalias !271 %.pre.i = load ptr, ptr %47, align 8, !alias.scope !265, !noalias !271 - br label %.thread63.i + br label %.thread62.i -.thread63.i: ; preds = %_ZN5wasmi6engine8executor5cache14CachedInstance11load_caches17hcb19514e98bbf501E.exit45.i, %209, %208 - %240 = phi ptr [ %.pre70.i, %209 ], [ %.pre70.i, %208 ], [ %.pre.i, %_ZN5wasmi6engine8executor5cache14CachedInstance11load_caches17hcb19514e98bbf501E.exit45.i ] +.thread62.i: ; preds = %_ZN5wasmi6engine8executor5cache14CachedInstance11load_caches17hcb19514e98bbf501E.exit45.i, %209, %208 + %240 = phi ptr [ %.pre69.i, %209 ], [ %.pre69.i, %208 ], [ %.pre.i, %_ZN5wasmi6engine8executor5cache14CachedInstance11load_caches17hcb19514e98bbf501E.exit45.i ] %241 = getelementptr inbounds nuw i8, ptr %240, i64 16 %242 = load i64, ptr %241, align 8, !noalias !262, !noundef !3 %.not37.i = icmp eq i64 %242, 0 - br i1 %.not37.i, label %.thread66.i, label %243 + br i1 %.not37.i, label %.thread65.i, label %243 -243: ; preds = %.thread63.i +243: ; preds = %.thread62.i %244 = getelementptr inbounds nuw i8, ptr %240, i64 8 %245 = load ptr, ptr %244, align 8, !noalias !262, !nonnull !3, !noundef !3 %246 = getelementptr { ptr, { i64, i64 }, i16, i8, [5 x i8] }, ptr %245, i64 %242 %247 = getelementptr i8, ptr %246, i64 -32 %.not38.i = icmp eq ptr %247, null - br i1 %.not38.i, label %.thread66.i, label %248 + br i1 %.not38.i, label %.thread65.i, label %248 248: ; preds = %243 %249 = getelementptr inbounds nuw i8, ptr %240, i64 72 %250 = getelementptr inbounds nuw i8, ptr %1, i64 56 call void @_ZN5wasmi6engine8executor6instrs8Executor20init_call_frame_impl17h108f87aebf9bd03dE(ptr noalias noundef nonnull align 8 dereferenceable(32) %249, ptr noalias noundef nonnull align 8 dereferenceable(8) %88, ptr noalias noundef nonnull align 8 dereferenceable(8) %250, ptr noalias noundef nonnull readonly align 8 dereferenceable(32) %247), !noalias !262 - br label %.thread66.i + br label %.thread65.i -.thread66.i: ; preds = %248, %243, %.thread63.i +.thread65.i: ; preds = %248, %243, %.thread62.i %251 = getelementptr inbounds nuw i8, ptr %0, i64 1 - store i8 %.not3253.i, ptr %251, align 1, !alias.scope !262, !noalias !325 + store i8 %.not3252.i, ptr %251, align 1, !alias.scope !262, !noalias !325 store i8 0, ptr %0, align 8, !alias.scope !262, !noalias !325 call void @llvm.lifetime.end.p0(ptr nonnull %26), !noalias !269 br label %"_ZN5wasmi6engine8executor6instrs4call59_$LT$impl$u20$wasmi..engine..executor..instrs..Executor$GT$17execute_host_func17h7b78e9435212e663E.exit" @@ -4432,7 +4432,7 @@ _ZN5wasmi6engine8executor5cache14CachedInstance11load_caches17hcb19514e98bbf501E store i8 1, ptr %0, align 8, !alias.scope !262, !noalias !325 br label %"_ZN5wasmi6engine8executor6instrs4call59_$LT$impl$u20$wasmi..engine..executor..instrs..Executor$GT$17execute_host_func17h7b78e9435212e663E.exit" -"_ZN5wasmi6engine8executor6instrs4call59_$LT$impl$u20$wasmi..engine..executor..instrs..Executor$GT$17execute_host_func17h7b78e9435212e663E.exit": ; preds = %.thread66.i, %252 +"_ZN5wasmi6engine8executor6instrs4call59_$LT$impl$u20$wasmi..engine..executor..instrs..Executor$GT$17execute_host_func17h7b78e9435212e663E.exit": ; preds = %.thread65.i, %252 call void @llvm.lifetime.end.p0(ptr nonnull %29), !noalias !269 call void @llvm.lifetime.end.p0(ptr nonnull %27) br label %423 @@ -5159,9 +5159,9 @@ _ZN5wasmi6engine8executor5cache14CachedInstance11load_caches17hcb19514e98bbf501E br label %"_ZN5wasmi6engine8executor6instrs4call59_$LT$impl$u20$wasmi..engine..executor..instrs..Executor$GT$17execute_host_func17h95f3f2504d300a02E.exit" 173: ; preds = %103, %111, %75 - %.sink41.i = phi ptr [ %77, %75 ], [ %106, %103 ], [ %113, %111 ] + %.sink40.i = phi ptr [ %77, %75 ], [ %106, %103 ], [ %113, %111 ] %174 = getelementptr inbounds nuw i8, ptr %0, i64 8 - store ptr %.sink41.i, ptr %174, align 8, !alias.scope !378, !noalias !426 + store ptr %.sink40.i, ptr %174, align 8, !alias.scope !378, !noalias !426 br label %"_ZN5wasmi6engine8executor6instrs4call59_$LT$impl$u20$wasmi..engine..executor..instrs..Executor$GT$17execute_host_func17h95f3f2504d300a02E.exit" "_ZN5wasmi6engine8executor6instrs4call59_$LT$impl$u20$wasmi..engine..executor..instrs..Executor$GT$17execute_host_func17h95f3f2504d300a02E.exit": ; preds = %"_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$4next17hb0b3ac8cf5ef9d1fE.exit.thread.i", %173 diff --git a/bench/yara-x-rs/optimized/6lvluxz0xcnue8xe38nauwxln.ll b/bench/yara-x-rs/optimized/6lvluxz0xcnue8xe38nauwxln.ll index b9e2a1a70ca..f90588b8bf9 100644 --- a/bench/yara-x-rs/optimized/6lvluxz0xcnue8xe38nauwxln.ll +++ b/bench/yara-x-rs/optimized/6lvluxz0xcnue8xe38nauwxln.ll @@ -65347,8 +65347,8 @@ _ZN4core3ops8function6FnOnce9call_once17h3499a3dce467ff4cE.exit: ; preds = %.noe br label %66 66: ; preds = %.lr.ph, %"_ZN53_$LT$T$u20$as$u20$core..slice..cmp..SliceContains$GT$14slice_contains17h15f38b2fd26c796bE.exit62.thread" - %.sroa.20.0175 = phi ptr [ undef, %.lr.ph ], [ %.sink212, %"_ZN53_$LT$T$u20$as$u20$core..slice..cmp..SliceContains$GT$14slice_contains17h15f38b2fd26c796bE.exit62.thread" ] - %.sroa.17.0174 = phi ptr [ undef, %.lr.ph ], [ %.sink213, %"_ZN53_$LT$T$u20$as$u20$core..slice..cmp..SliceContains$GT$14slice_contains17h15f38b2fd26c796bE.exit62.thread" ] + %.sroa.20.0175 = phi ptr [ undef, %.lr.ph ], [ %.sroa.12.1133, %"_ZN53_$LT$T$u20$as$u20$core..slice..cmp..SliceContains$GT$14slice_contains17h15f38b2fd26c796bE.exit62.thread" ] + %.sroa.17.0174 = phi ptr [ undef, %.lr.ph ], [ %.sroa.1591.1134, %"_ZN53_$LT$T$u20$as$u20$core..slice..cmp..SliceContains$GT$14slice_contains17h15f38b2fd26c796bE.exit62.thread" ] %.sroa.1088.0173 = phi i1 [ true, %.lr.ph ], [ false, %"_ZN53_$LT$T$u20$as$u20$core..slice..cmp..SliceContains$GT$14slice_contains17h15f38b2fd26c796bE.exit62.thread" ] %.sroa.686.0172 = phi i64 [ %.sroa.046.sroa.5.0.copyload, %.lr.ph ], [ %.sroa.686.1127, %"_ZN53_$LT$T$u20$as$u20$core..slice..cmp..SliceContains$GT$14slice_contains17h15f38b2fd26c796bE.exit62.thread" ] %67 = add nuw i64 %.sroa.686.0172, 1 @@ -65376,8 +65376,8 @@ _ZN4core3ops8function6FnOnce9call_once17h3499a3dce467ff4cE.exit: ; preds = %.noe br label %77 77: ; preds = %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit", %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit.thread117" - %.sink213 = phi ptr [ %75, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit" ], [ %68, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit.thread117" ] - %.sink212 = phi ptr [ %76, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit" ], [ %69, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit.thread117" ] + %.sroa.1591.1134 = phi ptr [ %75, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit" ], [ %68, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit.thread117" ] + %.sroa.12.1133 = phi ptr [ %76, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit" ], [ %69, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit.thread117" ] %.sroa.990.1132 = phi ptr [ %69, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit" ], [ %.sroa.20.0175, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit.thread117" ] %.sroa.089.0131 = phi ptr [ %68, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit" ], [ %.sroa.17.0174, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit.thread117" ] %.sroa.686.1127 = phi i64 [ %74, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit" ], [ %67, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit.thread117" ] @@ -65452,7 +65452,7 @@ _ZN4core3ops8function6FnOnce9call_once17h3499a3dce467ff4cE.exit: ; preds = %.noe store i8 %110, ptr %23, align 1 call void @llvm.lifetime.start.p0(ptr nonnull %22) %112 = load ptr, ptr %50, align 8, !nonnull !4, !align !10, !noundef !4 - %113 = load i32, ptr %.sink213, align 4, !noundef !4 + %113 = load i32, ptr %.sroa.1591.1134, align 4, !noundef !4 %114 = getelementptr inbounds nuw i8, ptr %112, i64 16 %115 = load i64, ptr %114, align 8, !noundef !4 %116 = zext i32 %113 to i64 @@ -65640,7 +65640,7 @@ _ZN4core3ops8function6FnOnce9call_once17h3499a3dce467ff4cE.exit: ; preds = %.noe %155 = getelementptr inbounds nuw i8, ptr %18, i64 4 store i32 %154, ptr %155, align 4 call void @llvm.lifetime.start.p0(ptr nonnull %17) - %156 = invoke { i32, i32 } @"_ZN73_$LT$yara_x_parser..ast..Expr$u20$as$u20$yara_x_parser..ast..WithSpan$GT$4span17hc943cd00c02d8da6E"(ptr noalias noundef nonnull readonly align 8 dereferenceable(16) %.sink212) + %156 = invoke { i32, i32 } @"_ZN73_$LT$yara_x_parser..ast..Expr$u20$as$u20$yara_x_parser..ast..WithSpan$GT$4span17hc943cd00c02d8da6E"(ptr noalias noundef nonnull readonly align 8 dereferenceable(16) %.sroa.12.1133) to label %157 unwind label %190 157: ; preds = %152 @@ -65930,8 +65930,8 @@ _ZN4core3ops8function6FnOnce9call_once17h1f8de2b18d9ab514E.exit: ; preds = %.noe br label %66 66: ; preds = %.lr.ph, %"_ZN53_$LT$T$u20$as$u20$core..slice..cmp..SliceContains$GT$14slice_contains17h15f38b2fd26c796bE.exit62.thread" - %.sroa.20.0175 = phi ptr [ undef, %.lr.ph ], [ %.sink212, %"_ZN53_$LT$T$u20$as$u20$core..slice..cmp..SliceContains$GT$14slice_contains17h15f38b2fd26c796bE.exit62.thread" ] - %.sroa.17.0174 = phi ptr [ undef, %.lr.ph ], [ %.sink213, %"_ZN53_$LT$T$u20$as$u20$core..slice..cmp..SliceContains$GT$14slice_contains17h15f38b2fd26c796bE.exit62.thread" ] + %.sroa.20.0175 = phi ptr [ undef, %.lr.ph ], [ %.sroa.12.1133, %"_ZN53_$LT$T$u20$as$u20$core..slice..cmp..SliceContains$GT$14slice_contains17h15f38b2fd26c796bE.exit62.thread" ] + %.sroa.17.0174 = phi ptr [ undef, %.lr.ph ], [ %.sroa.1591.1134, %"_ZN53_$LT$T$u20$as$u20$core..slice..cmp..SliceContains$GT$14slice_contains17h15f38b2fd26c796bE.exit62.thread" ] %.sroa.1088.0173 = phi i1 [ true, %.lr.ph ], [ false, %"_ZN53_$LT$T$u20$as$u20$core..slice..cmp..SliceContains$GT$14slice_contains17h15f38b2fd26c796bE.exit62.thread" ] %.sroa.686.0172 = phi i64 [ %.sroa.046.sroa.5.0.copyload, %.lr.ph ], [ %.sroa.686.1127, %"_ZN53_$LT$T$u20$as$u20$core..slice..cmp..SliceContains$GT$14slice_contains17h15f38b2fd26c796bE.exit62.thread" ] %67 = add nuw i64 %.sroa.686.0172, 1 @@ -65959,8 +65959,8 @@ _ZN4core3ops8function6FnOnce9call_once17h1f8de2b18d9ab514E.exit: ; preds = %.noe br label %77 77: ; preds = %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit", %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit.thread117" - %.sink213 = phi ptr [ %75, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit" ], [ %68, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit.thread117" ] - %.sink212 = phi ptr [ %76, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit" ], [ %69, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit.thread117" ] + %.sroa.1591.1134 = phi ptr [ %75, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit" ], [ %68, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit.thread117" ] + %.sroa.12.1133 = phi ptr [ %76, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit" ], [ %69, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit.thread117" ] %.sroa.990.1132 = phi ptr [ %69, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit" ], [ %.sroa.20.0175, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit.thread117" ] %.sroa.089.0131 = phi ptr [ %68, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit" ], [ %.sroa.17.0174, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit.thread117" ] %.sroa.686.1127 = phi i64 [ %74, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit" ], [ %67, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit.thread117" ] @@ -66035,7 +66035,7 @@ _ZN4core3ops8function6FnOnce9call_once17h1f8de2b18d9ab514E.exit: ; preds = %.noe store i8 %110, ptr %23, align 1 call void @llvm.lifetime.start.p0(ptr nonnull %22) %112 = load ptr, ptr %50, align 8, !nonnull !4, !align !10, !noundef !4 - %113 = load i32, ptr %.sink213, align 4, !noundef !4 + %113 = load i32, ptr %.sroa.1591.1134, align 4, !noundef !4 %114 = getelementptr inbounds nuw i8, ptr %112, i64 16 %115 = load i64, ptr %114, align 8, !noundef !4 %116 = zext i32 %113 to i64 @@ -66223,7 +66223,7 @@ _ZN4core3ops8function6FnOnce9call_once17h1f8de2b18d9ab514E.exit: ; preds = %.noe %155 = getelementptr inbounds nuw i8, ptr %18, i64 4 store i32 %154, ptr %155, align 4 call void @llvm.lifetime.start.p0(ptr nonnull %17) - %156 = invoke { i32, i32 } @"_ZN73_$LT$yara_x_parser..ast..Expr$u20$as$u20$yara_x_parser..ast..WithSpan$GT$4span17hc943cd00c02d8da6E"(ptr noalias noundef nonnull readonly align 8 dereferenceable(16) %.sink212) + %156 = invoke { i32, i32 } @"_ZN73_$LT$yara_x_parser..ast..Expr$u20$as$u20$yara_x_parser..ast..WithSpan$GT$4span17hc943cd00c02d8da6E"(ptr noalias noundef nonnull readonly align 8 dereferenceable(16) %.sroa.12.1133) to label %157 unwind label %190 157: ; preds = %152 @@ -66563,8 +66563,8 @@ define internal fastcc void @_ZN6yara_x8compiler2ir6ast2ir17add_expr_from_ast17h br label %66 66: ; preds = %.lr.ph, %"_ZN53_$LT$T$u20$as$u20$core..slice..cmp..SliceContains$GT$14slice_contains17h15f38b2fd26c796bE.exit62.thread" - %.sroa.20.0171 = phi ptr [ undef, %.lr.ph ], [ %.sink203, %"_ZN53_$LT$T$u20$as$u20$core..slice..cmp..SliceContains$GT$14slice_contains17h15f38b2fd26c796bE.exit62.thread" ] - %.sroa.17.0170 = phi ptr [ undef, %.lr.ph ], [ %.sink204, %"_ZN53_$LT$T$u20$as$u20$core..slice..cmp..SliceContains$GT$14slice_contains17h15f38b2fd26c796bE.exit62.thread" ] + %.sroa.20.0171 = phi ptr [ undef, %.lr.ph ], [ %.sroa.12.1131, %"_ZN53_$LT$T$u20$as$u20$core..slice..cmp..SliceContains$GT$14slice_contains17h15f38b2fd26c796bE.exit62.thread" ] + %.sroa.17.0170 = phi ptr [ undef, %.lr.ph ], [ %.sroa.1589.1132, %"_ZN53_$LT$T$u20$as$u20$core..slice..cmp..SliceContains$GT$14slice_contains17h15f38b2fd26c796bE.exit62.thread" ] %.sroa.1086.0169 = phi i1 [ true, %.lr.ph ], [ false, %"_ZN53_$LT$T$u20$as$u20$core..slice..cmp..SliceContains$GT$14slice_contains17h15f38b2fd26c796bE.exit62.thread" ] %.sroa.684.0168 = phi i64 [ %.sroa.046.sroa.5.0.copyload, %.lr.ph ], [ %.sroa.684.1125, %"_ZN53_$LT$T$u20$as$u20$core..slice..cmp..SliceContains$GT$14slice_contains17h15f38b2fd26c796bE.exit62.thread" ] %67 = add nuw i64 %.sroa.684.0168, 1 @@ -66592,8 +66592,8 @@ define internal fastcc void @_ZN6yara_x8compiler2ir6ast2ir17add_expr_from_ast17h br label %77 77: ; preds = %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit", %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit.thread115" - %.sink204 = phi ptr [ %75, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit" ], [ %68, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit.thread115" ] - %.sink203 = phi ptr [ %76, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit" ], [ %69, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit.thread115" ] + %.sroa.1589.1132 = phi ptr [ %75, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit" ], [ %68, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit.thread115" ] + %.sroa.12.1131 = phi ptr [ %76, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit" ], [ %69, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit.thread115" ] %.sroa.988.1130 = phi ptr [ %69, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit" ], [ %.sroa.20.0171, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit.thread115" ] %.sroa.087.0129 = phi ptr [ %68, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit" ], [ %.sroa.17.0170, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit.thread115" ] %.sroa.684.1125 = phi i64 [ %74, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit" ], [ %67, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit.thread115" ] @@ -66668,7 +66668,7 @@ define internal fastcc void @_ZN6yara_x8compiler2ir6ast2ir17add_expr_from_ast17h store i8 %110, ptr %23, align 1 call void @llvm.lifetime.start.p0(ptr nonnull %22) %112 = load ptr, ptr %50, align 8, !nonnull !4, !align !10, !noundef !4 - %113 = load i32, ptr %.sink204, align 4, !noundef !4 + %113 = load i32, ptr %.sroa.1589.1132, align 4, !noundef !4 %114 = getelementptr inbounds nuw i8, ptr %112, i64 16 %115 = load i64, ptr %114, align 8, !noundef !4 %116 = zext i32 %113 to i64 @@ -66856,7 +66856,7 @@ define internal fastcc void @_ZN6yara_x8compiler2ir6ast2ir17add_expr_from_ast17h %155 = getelementptr inbounds nuw i8, ptr %18, i64 4 store i32 %154, ptr %155, align 4 call void @llvm.lifetime.start.p0(ptr nonnull %17) - %156 = invoke { i32, i32 } @"_ZN73_$LT$yara_x_parser..ast..Expr$u20$as$u20$yara_x_parser..ast..WithSpan$GT$4span17hc943cd00c02d8da6E"(ptr noalias noundef nonnull readonly align 8 dereferenceable(16) %.sink203) + %156 = invoke { i32, i32 } @"_ZN73_$LT$yara_x_parser..ast..Expr$u20$as$u20$yara_x_parser..ast..WithSpan$GT$4span17hc943cd00c02d8da6E"(ptr noalias noundef nonnull readonly align 8 dereferenceable(16) %.sroa.12.1131) to label %157 unwind label %190 157: ; preds = %152 @@ -67115,8 +67115,8 @@ define internal fastcc void @_ZN6yara_x8compiler2ir6ast2ir17sub_expr_from_ast17h br label %66 66: ; preds = %.lr.ph, %"_ZN53_$LT$T$u20$as$u20$core..slice..cmp..SliceContains$GT$14slice_contains17h15f38b2fd26c796bE.exit62.thread" - %.sroa.20.0171 = phi ptr [ undef, %.lr.ph ], [ %.sink203, %"_ZN53_$LT$T$u20$as$u20$core..slice..cmp..SliceContains$GT$14slice_contains17h15f38b2fd26c796bE.exit62.thread" ] - %.sroa.17.0170 = phi ptr [ undef, %.lr.ph ], [ %.sink204, %"_ZN53_$LT$T$u20$as$u20$core..slice..cmp..SliceContains$GT$14slice_contains17h15f38b2fd26c796bE.exit62.thread" ] + %.sroa.20.0171 = phi ptr [ undef, %.lr.ph ], [ %.sroa.12.1131, %"_ZN53_$LT$T$u20$as$u20$core..slice..cmp..SliceContains$GT$14slice_contains17h15f38b2fd26c796bE.exit62.thread" ] + %.sroa.17.0170 = phi ptr [ undef, %.lr.ph ], [ %.sroa.1589.1132, %"_ZN53_$LT$T$u20$as$u20$core..slice..cmp..SliceContains$GT$14slice_contains17h15f38b2fd26c796bE.exit62.thread" ] %.sroa.1086.0169 = phi i1 [ true, %.lr.ph ], [ false, %"_ZN53_$LT$T$u20$as$u20$core..slice..cmp..SliceContains$GT$14slice_contains17h15f38b2fd26c796bE.exit62.thread" ] %.sroa.684.0168 = phi i64 [ %.sroa.046.sroa.5.0.copyload, %.lr.ph ], [ %.sroa.684.1125, %"_ZN53_$LT$T$u20$as$u20$core..slice..cmp..SliceContains$GT$14slice_contains17h15f38b2fd26c796bE.exit62.thread" ] %67 = add nuw i64 %.sroa.684.0168, 1 @@ -67144,8 +67144,8 @@ define internal fastcc void @_ZN6yara_x8compiler2ir6ast2ir17sub_expr_from_ast17h br label %77 77: ; preds = %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit", %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit.thread115" - %.sink204 = phi ptr [ %75, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit" ], [ %68, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit.thread115" ] - %.sink203 = phi ptr [ %76, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit" ], [ %69, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit.thread115" ] + %.sroa.1589.1132 = phi ptr [ %75, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit" ], [ %68, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit.thread115" ] + %.sroa.12.1131 = phi ptr [ %76, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit" ], [ %69, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit.thread115" ] %.sroa.988.1130 = phi ptr [ %69, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit" ], [ %.sroa.20.0171, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit.thread115" ] %.sroa.087.0129 = phi ptr [ %68, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit" ], [ %.sroa.17.0170, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit.thread115" ] %.sroa.684.1125 = phi i64 [ %74, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit" ], [ %67, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit.thread115" ] @@ -67220,7 +67220,7 @@ define internal fastcc void @_ZN6yara_x8compiler2ir6ast2ir17sub_expr_from_ast17h store i8 %110, ptr %23, align 1 call void @llvm.lifetime.start.p0(ptr nonnull %22) %112 = load ptr, ptr %50, align 8, !nonnull !4, !align !10, !noundef !4 - %113 = load i32, ptr %.sink204, align 4, !noundef !4 + %113 = load i32, ptr %.sroa.1589.1132, align 4, !noundef !4 %114 = getelementptr inbounds nuw i8, ptr %112, i64 16 %115 = load i64, ptr %114, align 8, !noundef !4 %116 = zext i32 %113 to i64 @@ -67408,7 +67408,7 @@ define internal fastcc void @_ZN6yara_x8compiler2ir6ast2ir17sub_expr_from_ast17h %155 = getelementptr inbounds nuw i8, ptr %18, i64 4 store i32 %154, ptr %155, align 4 call void @llvm.lifetime.start.p0(ptr nonnull %17) - %156 = invoke { i32, i32 } @"_ZN73_$LT$yara_x_parser..ast..Expr$u20$as$u20$yara_x_parser..ast..WithSpan$GT$4span17hc943cd00c02d8da6E"(ptr noalias noundef nonnull readonly align 8 dereferenceable(16) %.sink203) + %156 = invoke { i32, i32 } @"_ZN73_$LT$yara_x_parser..ast..Expr$u20$as$u20$yara_x_parser..ast..WithSpan$GT$4span17hc943cd00c02d8da6E"(ptr noalias noundef nonnull readonly align 8 dereferenceable(16) %.sroa.12.1131) to label %157 unwind label %190 157: ; preds = %152 @@ -67667,8 +67667,8 @@ define internal fastcc void @_ZN6yara_x8compiler2ir6ast2ir17mul_expr_from_ast17h br label %66 66: ; preds = %.lr.ph, %"_ZN53_$LT$T$u20$as$u20$core..slice..cmp..SliceContains$GT$14slice_contains17h15f38b2fd26c796bE.exit62.thread" - %.sroa.20.0171 = phi ptr [ undef, %.lr.ph ], [ %.sink203, %"_ZN53_$LT$T$u20$as$u20$core..slice..cmp..SliceContains$GT$14slice_contains17h15f38b2fd26c796bE.exit62.thread" ] - %.sroa.17.0170 = phi ptr [ undef, %.lr.ph ], [ %.sink204, %"_ZN53_$LT$T$u20$as$u20$core..slice..cmp..SliceContains$GT$14slice_contains17h15f38b2fd26c796bE.exit62.thread" ] + %.sroa.20.0171 = phi ptr [ undef, %.lr.ph ], [ %.sroa.12.1131, %"_ZN53_$LT$T$u20$as$u20$core..slice..cmp..SliceContains$GT$14slice_contains17h15f38b2fd26c796bE.exit62.thread" ] + %.sroa.17.0170 = phi ptr [ undef, %.lr.ph ], [ %.sroa.1589.1132, %"_ZN53_$LT$T$u20$as$u20$core..slice..cmp..SliceContains$GT$14slice_contains17h15f38b2fd26c796bE.exit62.thread" ] %.sroa.1086.0169 = phi i1 [ true, %.lr.ph ], [ false, %"_ZN53_$LT$T$u20$as$u20$core..slice..cmp..SliceContains$GT$14slice_contains17h15f38b2fd26c796bE.exit62.thread" ] %.sroa.684.0168 = phi i64 [ %.sroa.046.sroa.5.0.copyload, %.lr.ph ], [ %.sroa.684.1125, %"_ZN53_$LT$T$u20$as$u20$core..slice..cmp..SliceContains$GT$14slice_contains17h15f38b2fd26c796bE.exit62.thread" ] %67 = add nuw i64 %.sroa.684.0168, 1 @@ -67696,8 +67696,8 @@ define internal fastcc void @_ZN6yara_x8compiler2ir6ast2ir17mul_expr_from_ast17h br label %77 77: ; preds = %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit", %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit.thread115" - %.sink204 = phi ptr [ %75, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit" ], [ %68, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit.thread115" ] - %.sink203 = phi ptr [ %76, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit" ], [ %69, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit.thread115" ] + %.sroa.1589.1132 = phi ptr [ %75, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit" ], [ %68, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit.thread115" ] + %.sroa.12.1131 = phi ptr [ %76, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit" ], [ %69, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit.thread115" ] %.sroa.988.1130 = phi ptr [ %69, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit" ], [ %.sroa.20.0171, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit.thread115" ] %.sroa.087.0129 = phi ptr [ %68, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit" ], [ %.sroa.17.0170, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit.thread115" ] %.sroa.684.1125 = phi i64 [ %74, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit" ], [ %67, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit.thread115" ] @@ -67772,7 +67772,7 @@ define internal fastcc void @_ZN6yara_x8compiler2ir6ast2ir17mul_expr_from_ast17h store i8 %110, ptr %23, align 1 call void @llvm.lifetime.start.p0(ptr nonnull %22) %112 = load ptr, ptr %50, align 8, !nonnull !4, !align !10, !noundef !4 - %113 = load i32, ptr %.sink204, align 4, !noundef !4 + %113 = load i32, ptr %.sroa.1589.1132, align 4, !noundef !4 %114 = getelementptr inbounds nuw i8, ptr %112, i64 16 %115 = load i64, ptr %114, align 8, !noundef !4 %116 = zext i32 %113 to i64 @@ -67960,7 +67960,7 @@ define internal fastcc void @_ZN6yara_x8compiler2ir6ast2ir17mul_expr_from_ast17h %155 = getelementptr inbounds nuw i8, ptr %18, i64 4 store i32 %154, ptr %155, align 4 call void @llvm.lifetime.start.p0(ptr nonnull %17) - %156 = invoke { i32, i32 } @"_ZN73_$LT$yara_x_parser..ast..Expr$u20$as$u20$yara_x_parser..ast..WithSpan$GT$4span17hc943cd00c02d8da6E"(ptr noalias noundef nonnull readonly align 8 dereferenceable(16) %.sink203) + %156 = invoke { i32, i32 } @"_ZN73_$LT$yara_x_parser..ast..Expr$u20$as$u20$yara_x_parser..ast..WithSpan$GT$4span17hc943cd00c02d8da6E"(ptr noalias noundef nonnull readonly align 8 dereferenceable(16) %.sroa.12.1131) to label %157 unwind label %190 157: ; preds = %152 @@ -68219,8 +68219,8 @@ define internal fastcc void @_ZN6yara_x8compiler2ir6ast2ir17div_expr_from_ast17h br label %66 66: ; preds = %.lr.ph, %"_ZN53_$LT$T$u20$as$u20$core..slice..cmp..SliceContains$GT$14slice_contains17h15f38b2fd26c796bE.exit62.thread" - %.sroa.20.0171 = phi ptr [ undef, %.lr.ph ], [ %.sink203, %"_ZN53_$LT$T$u20$as$u20$core..slice..cmp..SliceContains$GT$14slice_contains17h15f38b2fd26c796bE.exit62.thread" ] - %.sroa.17.0170 = phi ptr [ undef, %.lr.ph ], [ %.sink204, %"_ZN53_$LT$T$u20$as$u20$core..slice..cmp..SliceContains$GT$14slice_contains17h15f38b2fd26c796bE.exit62.thread" ] + %.sroa.20.0171 = phi ptr [ undef, %.lr.ph ], [ %.sroa.12.1131, %"_ZN53_$LT$T$u20$as$u20$core..slice..cmp..SliceContains$GT$14slice_contains17h15f38b2fd26c796bE.exit62.thread" ] + %.sroa.17.0170 = phi ptr [ undef, %.lr.ph ], [ %.sroa.1589.1132, %"_ZN53_$LT$T$u20$as$u20$core..slice..cmp..SliceContains$GT$14slice_contains17h15f38b2fd26c796bE.exit62.thread" ] %.sroa.1086.0169 = phi i1 [ true, %.lr.ph ], [ false, %"_ZN53_$LT$T$u20$as$u20$core..slice..cmp..SliceContains$GT$14slice_contains17h15f38b2fd26c796bE.exit62.thread" ] %.sroa.684.0168 = phi i64 [ %.sroa.046.sroa.5.0.copyload, %.lr.ph ], [ %.sroa.684.1125, %"_ZN53_$LT$T$u20$as$u20$core..slice..cmp..SliceContains$GT$14slice_contains17h15f38b2fd26c796bE.exit62.thread" ] %67 = add nuw i64 %.sroa.684.0168, 1 @@ -68248,8 +68248,8 @@ define internal fastcc void @_ZN6yara_x8compiler2ir6ast2ir17div_expr_from_ast17h br label %77 77: ; preds = %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit", %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit.thread115" - %.sink204 = phi ptr [ %75, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit" ], [ %68, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit.thread115" ] - %.sink203 = phi ptr [ %76, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit" ], [ %69, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit.thread115" ] + %.sroa.1589.1132 = phi ptr [ %75, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit" ], [ %68, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit.thread115" ] + %.sroa.12.1131 = phi ptr [ %76, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit" ], [ %69, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit.thread115" ] %.sroa.988.1130 = phi ptr [ %69, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit" ], [ %.sroa.20.0171, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit.thread115" ] %.sroa.087.0129 = phi ptr [ %68, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit" ], [ %.sroa.17.0170, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit.thread115" ] %.sroa.684.1125 = phi i64 [ %74, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit" ], [ %67, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit.thread115" ] @@ -68324,7 +68324,7 @@ define internal fastcc void @_ZN6yara_x8compiler2ir6ast2ir17div_expr_from_ast17h store i8 %110, ptr %23, align 1 call void @llvm.lifetime.start.p0(ptr nonnull %22) %112 = load ptr, ptr %50, align 8, !nonnull !4, !align !10, !noundef !4 - %113 = load i32, ptr %.sink204, align 4, !noundef !4 + %113 = load i32, ptr %.sroa.1589.1132, align 4, !noundef !4 %114 = getelementptr inbounds nuw i8, ptr %112, i64 16 %115 = load i64, ptr %114, align 8, !noundef !4 %116 = zext i32 %113 to i64 @@ -68512,7 +68512,7 @@ define internal fastcc void @_ZN6yara_x8compiler2ir6ast2ir17div_expr_from_ast17h %155 = getelementptr inbounds nuw i8, ptr %18, i64 4 store i32 %154, ptr %155, align 4 call void @llvm.lifetime.start.p0(ptr nonnull %17) - %156 = invoke { i32, i32 } @"_ZN73_$LT$yara_x_parser..ast..Expr$u20$as$u20$yara_x_parser..ast..WithSpan$GT$4span17hc943cd00c02d8da6E"(ptr noalias noundef nonnull readonly align 8 dereferenceable(16) %.sink203) + %156 = invoke { i32, i32 } @"_ZN73_$LT$yara_x_parser..ast..Expr$u20$as$u20$yara_x_parser..ast..WithSpan$GT$4span17hc943cd00c02d8da6E"(ptr noalias noundef nonnull readonly align 8 dereferenceable(16) %.sroa.12.1131) to label %157 unwind label %190 157: ; preds = %152 @@ -68771,8 +68771,8 @@ define internal fastcc void @_ZN6yara_x8compiler2ir6ast2ir17mod_expr_from_ast17h br label %65 65: ; preds = %.lr.ph, %"_ZN53_$LT$T$u20$as$u20$core..slice..cmp..SliceContains$GT$14slice_contains17h15f38b2fd26c796bE.exit62.thread" - %.sroa.20.0196 = phi ptr [ undef, %.lr.ph ], [ %.sink223, %"_ZN53_$LT$T$u20$as$u20$core..slice..cmp..SliceContains$GT$14slice_contains17h15f38b2fd26c796bE.exit62.thread" ] - %.sroa.17.0195 = phi ptr [ undef, %.lr.ph ], [ %.sink224, %"_ZN53_$LT$T$u20$as$u20$core..slice..cmp..SliceContains$GT$14slice_contains17h15f38b2fd26c796bE.exit62.thread" ] + %.sroa.20.0196 = phi ptr [ undef, %.lr.ph ], [ %.sroa.12.1131, %"_ZN53_$LT$T$u20$as$u20$core..slice..cmp..SliceContains$GT$14slice_contains17h15f38b2fd26c796bE.exit62.thread" ] + %.sroa.17.0195 = phi ptr [ undef, %.lr.ph ], [ %.sroa.1589.1132, %"_ZN53_$LT$T$u20$as$u20$core..slice..cmp..SliceContains$GT$14slice_contains17h15f38b2fd26c796bE.exit62.thread" ] %.sroa.1086.0194 = phi i1 [ true, %.lr.ph ], [ false, %"_ZN53_$LT$T$u20$as$u20$core..slice..cmp..SliceContains$GT$14slice_contains17h15f38b2fd26c796bE.exit62.thread" ] %.sroa.684.0193 = phi i64 [ %.sroa.046.sroa.5.0.copyload, %.lr.ph ], [ %.sroa.684.1125, %"_ZN53_$LT$T$u20$as$u20$core..slice..cmp..SliceContains$GT$14slice_contains17h15f38b2fd26c796bE.exit62.thread" ] %66 = add nuw i64 %.sroa.684.0193, 1 @@ -68800,8 +68800,8 @@ define internal fastcc void @_ZN6yara_x8compiler2ir6ast2ir17mod_expr_from_ast17h br label %76 76: ; preds = %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit", %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit.thread115" - %.sink224 = phi ptr [ %74, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit" ], [ %67, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit.thread115" ] - %.sink223 = phi ptr [ %75, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit" ], [ %68, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit.thread115" ] + %.sroa.1589.1132 = phi ptr [ %74, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit" ], [ %67, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit.thread115" ] + %.sroa.12.1131 = phi ptr [ %75, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit" ], [ %68, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit.thread115" ] %.sroa.988.1130 = phi ptr [ %68, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit" ], [ %.sroa.20.0196, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit.thread115" ] %.sroa.087.0129 = phi ptr [ %67, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit" ], [ %.sroa.17.0195, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit.thread115" ] %.sroa.684.1125 = phi i64 [ %73, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit" ], [ %66, %"_ZN107_$LT$itertools..tuple_impl..TupleWindows$LT$I$C$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h04981a588f5401efE.exit.thread115" ] @@ -68876,7 +68876,7 @@ define internal fastcc void @_ZN6yara_x8compiler2ir6ast2ir17mod_expr_from_ast17h store i8 %109, ptr %23, align 1 call void @llvm.lifetime.start.p0(ptr nonnull %22) %111 = load ptr, ptr %50, align 8, !nonnull !4, !align !10, !noundef !4 - %112 = load i32, ptr %.sink224, align 4, !noundef !4 + %112 = load i32, ptr %.sroa.1589.1132, align 4, !noundef !4 %113 = getelementptr inbounds nuw i8, ptr %111, i64 16 %114 = load i64, ptr %113, align 8, !noundef !4 %115 = zext i32 %112 to i64 @@ -69046,7 +69046,7 @@ define internal fastcc void @_ZN6yara_x8compiler2ir6ast2ir17mod_expr_from_ast17h %152 = getelementptr inbounds nuw i8, ptr %18, i64 4 store i32 %151, ptr %152, align 4 call void @llvm.lifetime.start.p0(ptr nonnull %17) - %153 = invoke { i32, i32 } @"_ZN73_$LT$yara_x_parser..ast..Expr$u20$as$u20$yara_x_parser..ast..WithSpan$GT$4span17hc943cd00c02d8da6E"(ptr noalias noundef nonnull readonly align 8 dereferenceable(16) %.sink223) + %153 = invoke { i32, i32 } @"_ZN73_$LT$yara_x_parser..ast..Expr$u20$as$u20$yara_x_parser..ast..WithSpan$GT$4span17hc943cd00c02d8da6E"(ptr noalias noundef nonnull readonly align 8 dereferenceable(16) %.sroa.12.1131) to label %154 unwind label %187 154: ; preds = %149 diff --git a/bench/yara-x-rs/optimized/aqllqyzrtxqplivthssual6c8.ll b/bench/yara-x-rs/optimized/aqllqyzrtxqplivthssual6c8.ll index 29524678750..319968e254a 100644 --- a/bench/yara-x-rs/optimized/aqllqyzrtxqplivthssual6c8.ll +++ b/bench/yara-x-rs/optimized/aqllqyzrtxqplivthssual6c8.ll @@ -52719,7 +52719,7 @@ define hidden void @_ZN8protobuf7reflect13runtime_types16RuntimeTypeTrait18set_f call void @llvm.lifetime.start.p0(ptr nonnull %4), !noalias !8969 tail call void @llvm.experimental.noalias.scope.decl(metadata !8970) %11 = invoke noundef align 8 dereferenceable(24) ptr @"_ZN9once_cell4sync17OnceCell$LT$T$GT$15get_or_try_init17h0cf3cb43f8657886E"(ptr noundef nonnull align 8 @"_ZN118_$LT$yara_x..modules..protos..sandbox..ip_traffic..TransportLayerProtocol$u20$as$u20$protobuf..enum_full..EnumFull$GT$15enum_descriptor10descriptor17hd3bc0c3a9cd46819E") - to label %.noexc.i unwind label %44, !noalias !8969 + to label %.noexc.i unwind label %43, !noalias !8969 .noexc.i: ; preds = %10 %12 = load i64, ptr %11, align 8, !range !948, !noalias !8973, !noundef !3 @@ -52751,7 +52751,7 @@ define hidden void @_ZN8protobuf7reflect13runtime_types16RuntimeTypeTrait18set_f %25 = trunc nuw i64 %.sroa.01.0.i.i to i1 br i1 %24, label %26, label %30 -26: ; preds = %._crit_edge.i +26:; preds = %._crit_edge.i %27 = getelementptr inbounds nuw i8, ptr %1, i64 8 %28 = load ptr, ptr %27, align 8, !alias.scope !8967, !noalias !8964, !nonnull !3 %29 = icmp eq ptr %28, %.sroa.5.0.i.i @@ -52761,59 +52761,59 @@ define hidden void @_ZN8protobuf7reflect13runtime_types16RuntimeTypeTrait18set_f 30: ; preds = %._crit_edge.i br i1 %25, label %39, label %31 -31: ; preds = %30 +31:; preds = %30 %32 = getelementptr inbounds nuw i8, ptr %1, i64 8 %33 = load ptr, ptr %32, align 8, !alias.scope !8967, !noalias !8964, !nonnull !3, !align !26, !noundef !3 call void @llvm.assume(i1 true) [ "align"(ptr %.sroa.5.0.i.i, i64 8) ] %34 = icmp eq ptr %33, %.sroa.5.0.i.i br i1 %34, label %35, label %39 -35: ; preds = %31, %26 - %36 = getelementptr inbounds nuw i8, ptr %1, i64 16 - %37 = load i64, ptr %36, align 8, !alias.scope !8967, !noalias !8964, !noundef !3 - %38 = icmp eq i64 %37, %21 - br i1 %38, label %40, label %39 +34: ; preds = %31, %26 + %35 = getelementptr inbounds nuw i8, ptr %1, i64 16 + %36 = load i64, ptr %35, align 8, !alias.scope !8967, !noalias !8964, !noundef !3 + %37 = icmp eq i64 %36, %21 + br i1 %37, label %39, label %38 -39: ; preds = %35, %31, %30, %26 +38: ; preds = %34, %31, %30, %26 invoke void @"_ZN4core3ptr61drop_in_place$LT$protobuf..reflect..enums..EnumDescriptor$GT$17h80ec976af8edaa35E"(ptr noalias noundef nonnull align 8 dereferenceable(24) %4) - to label %43 unwind label %44, !noalias !8969 + to label %43 unwind label %43, !noalias !8969 -40: ; preds = %35 +39: ; preds = %34 invoke void @"_ZN4core3ptr61drop_in_place$LT$protobuf..reflect..enums..EnumDescriptor$GT$17h80ec976af8edaa35E"(ptr noalias noundef nonnull align 8 dereferenceable(24) %4) - to label %"_ZN4core6result19Result$LT$T$C$E$GT$6expect17h1b3aaf0289f488f5E.exit" unwind label %44, !noalias !8969 + to label %"_ZN4core6result19Result$LT$T$C$E$GT$6expect17h1b3aaf0289f488f5E.exit" unwind label %43, !noalias !8969 -"_ZN4core6result19Result$LT$T$C$E$GT$6expect17h1b3aaf0289f488f5E.exit": ; preds = %40 +"_ZN4core6result19Result$LT$T$C$E$GT$6expect17h1b3aaf0289f488f5E.exit": ; preds = %39 call void @llvm.lifetime.end.p0(ptr nonnull %4), !noalias !8969 call void @llvm.lifetime.start.p0(ptr nonnull %5), !noalias !8969 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %5, ptr noundef nonnull align 8 dereferenceable(32) %1, i64 24, i1 false), !noalias !8964 - %41 = getelementptr inbounds nuw i8, ptr %1, i64 24 - %42 = load i32, ptr %41, align 8, !alias.scope !8967, !noalias !8964, !noundef !3 + %40 = getelementptr inbounds nuw i8, ptr %1, i64 24 + %41 = load i32, ptr %40, align 8, !alias.scope !8967, !noalias !8964, !noundef !3 call void @"_ZN4core3ptr61drop_in_place$LT$protobuf..reflect..enums..EnumDescriptor$GT$17h80ec976af8edaa35E"(ptr noalias noundef nonnull align 8 dereferenceable(24) %5), !noalias !8969 call void @llvm.lifetime.end.p0(ptr nonnull %5), !noalias !8969 - store i32 %42, ptr %0, align 4 + store i32 %41, ptr %0, align 4 ret void -43: ; preds = %39 +42: ; preds = %38 call void @llvm.lifetime.end.p0(ptr nonnull %4), !noalias !8969 - br label %47 + br label %46 -common.resume: ; preds = %48, %44 - %common.resume.op = phi { ptr, i32 } [ %lpad.thr_comm, %44 ], [ %49, %48 ] +common.resume: ; preds = %47, %43 + %common.resume.op = phi { ptr, i32 } [ %lpad.thr_comm, %44 ], [ %48, %48 ] resume { ptr, i32 } %common.resume.op -44: ; preds = %40, %39, %10 +43: ; preds = %39, %38, %10 %lpad.thr_comm = landingpad { ptr, i32 } cleanup invoke void @"_ZN4core3ptr61drop_in_place$LT$protobuf..reflect..enums..EnumDescriptor$GT$17h80ec976af8edaa35E"(ptr noalias noundef nonnull align 8 dereferenceable(32) %1) #38 - to label %common.resume unwind label %45, !noalias !8964 + to label %common.resume unwind label %44, !noalias !8964 -45: ; preds = %44 - %46 = landingpad { ptr, i32 } +44: ; preds = %43 + %45 = landingpad { ptr, i32 } filter [0 x ptr] zeroinitializer call void @_ZN4core9panicking16panic_in_cleanup17hb7138e7aeec2c1a7E() #37, !noalias !8964 unreachable -47: ; preds = %43, %2 +46: ; preds = %43, %2 %.sroa.6.0..sroa_idx = getelementptr inbounds nuw i8, ptr %1, i64 8 %.sroa.6.0.copyload = load i32, ptr %.sroa.6.0..sroa_idx, align 8, !alias.scope !8969 %.sroa.8.0..sroa_idx = getelementptr inbounds nuw i8, ptr %1, i64 12 @@ -52824,19 +52824,19 @@ common.resume: ; preds = %48, %44 %.sroa.6.0..sroa_idx2 = getelementptr inbounds nuw i8, ptr %3, i64 8 store i32 %.sroa.6.0.copyload, ptr %.sroa.6.0..sroa_idx2, align 8 invoke void @_ZN4core6result13unwrap_failed17h9e4c136384b1cfa3E(ptr noalias noundef nonnull readonly align 1 @anon.984b4ec87ea907d5526efe1cf64eadcd.406, i64 noundef 10, ptr noundef nonnull align 1 %3, ptr noalias noundef readonly align 8 dereferenceable(32) @anon.984b4ec87ea907d5526efe1cf64eadcd.292, ptr noalias noundef readonly align 8 dereferenceable(24) @anon.984b4ec87ea907d5526efe1cf64eadcd.407) #36 - to label %50 unwind label %48, !noalias !8974 + to label %50 unwind label %47, !noalias !8974 -48: ; preds = %47 - %49 = landingpad { ptr, i32 } +47: ; preds = %46 + %48 = landingpad { ptr, i32 } cleanup invoke void @"_ZN4core3ptr73drop_in_place$LT$protobuf..reflect..value..value_box..ReflectValueBox$GT$17h67d47e368a60ff6bE"(ptr noalias noundef nonnull align 8 dereferenceable(32) %3) #38 - to label %common.resume unwind label %51, !noalias !8974 + to label %common.resume unwind label %50, !noalias !8974 -50: ; preds = %47 +49: ; preds = %46 unreachable -51: ; preds = %48 - %52 = landingpad { ptr, i32 } +50: ; preds = %47 + %51 = landingpad { ptr, i32 } filter [0 x ptr] zeroinitializer call void @_ZN4core9panicking16panic_in_cleanup17hb7138e7aeec2c1a7E() #37, !noalias !8974 unreachable