From b8ef3ad190cd0cc120ed521c60789aeb093822b2 Mon Sep 17 00:00:00 2001 From: dtcxzyw <15650457+dtcxzyw@users.noreply.github.com> Date: Thu, 11 Sep 2025 20:17:05 +0800 Subject: [PATCH 1/3] pre-commit: PR151132 --- 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 c5409e09ef4..1f2f6144bc1 100755 --- a/scripts/setup_pre_commit_patch.sh +++ b/scripts/setup_pre_commit_patch.sh @@ -2,7 +2,7 @@ set -euo pipefail shopt -s inherit_errexit -export GITHUB_PATCH_ID="/llvm-project/commit/" +export GITHUB_PATCH_ID=llvm/llvm-project/pull/151132 export COMPTIME_MODE=0 # Please rebase manually From 311e38e8db12517bb8c60906213c24e00087aaba Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Thu, 11 Sep 2025 13:06:27 +0000 Subject: [PATCH 2/3] pre-commit: Update --- bench/abc/optimized/giaQbf.ll | 4 +- bench/abseil-cpp/optimized/mutex.ll | 26 +-- bench/actix-rs/optimized/1kr0tdq4l6v38mbk.ll | 6 +- bench/actix-rs/optimized/1xpd5itwjglolvjs.ll | 34 +-- bench/arrow/optimized/string.ll | 5 +- bench/assimp/optimized/BlenderLoader.ll | 12 +- bench/bdwgc/optimized/gc.ll | 52 ++--- bench/box2d/optimized/imgui_widgets.ll | 82 +++---- bench/box2d/optimized/solver.ll | 96 ++++---- bench/brotli/optimized/entropy_encode.ll | 20 +- bench/c3c/optimized/bigint.ll | 40 ++-- bench/c3c/optimized/project_creation.ll | 18 +- bench/c3c/optimized/sema_stmts.ll | 118 +++++----- bench/casadi/optimized/map.ll | 8 +- .../dynamic_sparse_normal_cholesky_solver.ll | 156 ++++++------- .../iterative_schur_complement_solver.ll | 144 ++++++------ bench/clamav/optimized/filestr.ll | 38 ++-- bench/clamav/optimized/macho.ll | 78 +++---- .../coreutils-rs/optimized/icw7irkz6mu05a9.ll | 2 +- bench/csmith/optimized/Constant.ll | 56 ++--- bench/csmith/optimized/Function.ll | 162 +++++++------- bench/cvc5/optimized/SimpSolver.ll | 36 +-- bench/cvc5/optimized/theory_sep_rewriter.ll | 24 +- bench/delta-rs/optimized/4zvphat0q9a964bz.ll | 10 +- bench/draco/optimized/mesh_stripifier.ll | 14 +- .../optimized/6luvh0o6z0xeo16dcenatpsob.ll | 68 +++--- bench/flac/optimized/ogg_decoder_aspect.ll | 210 +++++++++--------- bench/fmt/optimized/unicode-test.ll | 66 +++--- bench/folly/optimized/AsyncSocket.ll | 72 +++--- bench/git/optimized/diffcore-rename.ll | 98 ++++---- bench/hwloc/optimized/base64.ll | 122 +++++----- bench/imgui/optimized/imgui_widgets.ll | 106 ++++----- bench/jsonnet/optimized/lexer.ll | 58 ++--- bench/just-rs/optimized/1uppz7l1e89fp8n7.ll | 22 +- bench/libevent/optimized/evdns.ll | 80 +++---- bench/libjpeg-turbo/optimized/transupp.ll | 132 +++++------ .../optimized/stringutil_test.ll | 64 +++--- bench/libpng/optimized/pngset.ll | 112 +++++----- .../optimized/crypto_secretbox_easy.ll | 70 +++--- bench/libwebp/optimized/bit_writer_utils.ll | 32 +-- bench/libwebp/optimized/dwebp.ll | 30 +-- bench/libwebp/optimized/predictor_enc.ll | 102 ++++----- bench/llvm/optimized/SemaDeclCXX.ll | 3 +- bench/lodepng/optimized/lodepng_util.ll | 50 ++--- bench/luajit/optimized/lj_alloc.ll | 150 ++++++------- bench/luajit/optimized/lj_debug.ll | 28 +-- bench/lvgl/optimized/lv_sprintf_builtin.ll | 108 ++++----- .../optimized/4llghrvh6vzci59o.ll | 60 ++--- bench/msdfgen/optimized/edge-segments.ll | 76 +++---- bench/nanosvg/optimized/nanosvgrast.ll | 54 ++--- bench/nuttx/optimized/lib_base64.ll | 124 +++++------ bench/opencc/optimized/Config.ll | 84 +++---- bench/openjdk/optimized/lowMemoryDetector.ll | 127 ++++++----- bench/openmpi/optimized/pmix_pointer_array.ll | 44 ++-- bench/openspiel/optimized/tic_tac_toe.ll | 120 +++++----- bench/pbrt-v4/optimized/parser.ll | 92 ++++---- bench/php/optimized/ir_check.ll | 141 ++++++------ bench/proj/optimized/conversion.ll | 74 +++--- bench/raylib/optimized/rmodels.ll | 184 +++++++-------- bench/ripgrep-rs/optimized/79zj4cmg2a4glb1.ll | 130 +++++------ bench/rocksdb/optimized/clock_cache.ll | 16 +- .../optimized/44ayynfm08lnhjsw.ll | 78 ++----- .../optimized/5fgtm3ees9sdsrsg.ll | 108 ++++----- .../optimized/spm_decode_main.ll | 140 ++++++------ bench/stb/optimized/stb_tilemap_editor.ll | 164 +++++++------- bench/stb/optimized/stb_vorbis.ll | 192 ++++++++-------- .../optimized/1k9vblvd5jyd3qmf.ll | 46 ++-- bench/typst-rs/optimized/3rk2ctuzbghb17s4.ll | 4 +- bench/verilator/optimized/V3Options.ll | 48 ++-- bench/yalantinglibs/optimized/basic_usage.ll | 142 ++++++------ .../optimized/cco05ky1qb53ayhfyotquzvcb.ll | 42 ++-- bench/zlib/optimized/deflate.ll | 148 ++++++------ bench/zstd/optimized/zstd_opt.ll | 104 ++++----- bench/zxing/optimized/zueci.ll | 136 ++++++------ 74 files changed, 2825 insertions(+), 2877 deletions(-) diff --git a/bench/abc/optimized/giaQbf.ll b/bench/abc/optimized/giaQbf.ll index 01233c9d0ff..b6d0feecc4d 100644 --- a/bench/abc/optimized/giaQbf.ll +++ b/bench/abc/optimized/giaQbf.ll @@ -6663,10 +6663,10 @@ define void @Gia_ManGenWriteRel(ptr noundef readonly captures(none) %0, i32 noun br label %.sink.split .sink.split: ; preds = %27, %33, %37 - %.sink73 = phi i32 [ %41, %37 ], [ %35, %33 ], [ %32, %27 ] + %.sink76 = phi i32 [ %41, %37 ], [ %35, %33 ], [ %32, %27 ] %.val48.val.us.sink.in = phi ptr [ %40, %37 ], [ %34, %33 ], [ %31, %27 ] %.val48.val.us.sink = load ptr, ptr %.val48.val.us.sink.in, align 8, !tbaa !152 - %42 = sext i32 %.sink73 to i64 + %42 = sext i32 %.sink76 to i64 %43 = getelementptr inbounds i64, ptr %.val48.val.us.sink, i64 %42 %44 = getelementptr inbounds nuw i32, ptr %43, i64 %20 %45 = load i32, ptr %44, align 4, !tbaa !12 diff --git a/bench/abseil-cpp/optimized/mutex.ll b/bench/abseil-cpp/optimized/mutex.ll index 005f39969d3..28146d0cade 100644 --- a/bench/abseil-cpp/optimized/mutex.ll +++ b/bench/abseil-cpp/optimized/mutex.ll @@ -590,8 +590,8 @@ define dso_local void @_ZN4absl5Mutex9TryRemoveEPNS_13base_internal14PerThreadSy 13: ; preds = %10 %14 = load ptr, ptr %12, align 256, !tbaa !56 - %.not37 = icmp eq ptr %14, %1 - br i1 %.not37, label %.loopexit.thread, label %.preheader + %.not39 = icmp eq ptr %14, %1 + br i1 %.not39, label %.loopexit.thread, label %.preheader .preheader: ; preds = %13 %15 = getelementptr inbounds nuw i8, ptr %1, i64 32 @@ -687,8 +687,8 @@ _ZN4abslL18MuEquivalentWaiterEPNS_13base_internal14PerThreadSynchES2_.exit.threa 63: ; preds = %59 %64 = load ptr, ptr %20, align 8, !tbaa !70 - %.not.i39 = icmp eq ptr %64, null - br i1 %.not.i39, label %65, label %.sink.split.i + %.not.i41 = icmp eq ptr %64, null + br i1 %.not.i41, label %65, label %.sink.split.i 65: ; preds = %63 %66 = load ptr, ptr %.1, align 8, !tbaa !56 @@ -714,23 +714,23 @@ _ZN4abslL4SkipEPNS_13base_internal14PerThreadSynchE.exit: ; preds = %.sink.split br i1 %71, label %.loopexit.thread, label %121 .loopexit.thread: ; preds = %13, %.loopexit - %.02763 = phi ptr [ %.128, %.loopexit ], [ %12, %13 ] + %.02765 = phi ptr [ %.128, %.loopexit ], [ %12, %13 ] %72 = phi ptr [ %67, %.loopexit ], [ %14, %13 ] %73 = load ptr, ptr %72, align 8, !tbaa !56 - store ptr %73, ptr %.02763, align 8, !tbaa !56 + store ptr %73, ptr %.02765, align 8, !tbaa !56 %74 = icmp eq ptr %72, %12 - %75 = icmp eq ptr %.02763, %12 + %75 = icmp eq ptr %.02765, %12 br i1 %74, label %76, label %78 76: ; preds = %.loopexit.thread - %77 = select i1 %75, ptr null, ptr %.02763 + %77 = select i1 %75, ptr null, ptr %.02765 br label %_ZN4abslL7DequeueEPNS_13base_internal14PerThreadSynchES2_.exit 78: ; preds = %.loopexit.thread br i1 %75, label %_ZN4abslL7DequeueEPNS_13base_internal14PerThreadSynchES2_.exit, label %79 79: ; preds = %78 - %80 = getelementptr inbounds nuw i8, ptr %.02763, i64 32 + %80 = getelementptr inbounds nuw i8, ptr %.02765, i64 32 %81 = load ptr, ptr %80, align 8, !tbaa !57 %82 = load ptr, ptr %81, align 8, !tbaa !58 %83 = getelementptr inbounds nuw i8, ptr %73, i64 32 @@ -740,7 +740,7 @@ _ZN4abslL4SkipEPNS_13base_internal14PerThreadSynchE.exit: ; preds = %.sink.split br i1 %86, label %87, label %_ZN4abslL7DequeueEPNS_13base_internal14PerThreadSynchES2_.exit 87: ; preds = %79 - %88 = getelementptr inbounds nuw i8, ptr %.02763, i64 24 + %88 = getelementptr inbounds nuw i8, ptr %.02765, i64 24 %89 = load i32, ptr %88, align 8, !tbaa !65 %90 = getelementptr inbounds nuw i8, ptr %73, i64 24 %91 = load i32, ptr %90, align 8, !tbaa !65 @@ -786,7 +786,7 @@ _ZN4abslL18MuEquivalentWaiterEPNS_13base_internal14PerThreadSynchES2_.exit.i: ; %115 = getelementptr inbounds nuw i8, ptr %73, i64 8 %116 = load ptr, ptr %115, align 8, !tbaa !70 %.not22.i = icmp eq ptr %116, null - %117 = getelementptr inbounds nuw i8, ptr %.02763, i64 8 + %117 = getelementptr inbounds nuw i8, ptr %.02765, i64 8 br i1 %.not22.i, label %119, label %118 118: ; preds = %114 @@ -806,10 +806,10 @@ _ZN4abslL7DequeueEPNS_13base_internal14PerThreadSynchES2_.exit: ; preds = %76, % 121: ; preds = %.loopexit, %_ZN4abslL7DequeueEPNS_13base_internal14PerThreadSynchES2_.exit %.029 = phi ptr [ %.0.i, %_ZN4abslL7DequeueEPNS_13base_internal14PerThreadSynchES2_.exit ], [ %12, %.loopexit ] - %.not38 = icmp eq ptr %.029, null + %.not40 = icmp eq ptr %.029, null %122 = getelementptr inbounds nuw i8, ptr %.029, i64 40 %123 = getelementptr inbounds nuw i8, ptr %.029, i64 19 - br i1 %.not38, label %_ZNSt13__atomic_baseIlE21compare_exchange_weakERllSt12memory_orderS2_.exit.us.preheader, label %_ZNSt13__atomic_baseIlE21compare_exchange_weakERllSt12memory_orderS2_.exit.preheader + br i1 %.not40, label %_ZNSt13__atomic_baseIlE21compare_exchange_weakERllSt12memory_orderS2_.exit.us.preheader, label %_ZNSt13__atomic_baseIlE21compare_exchange_weakERllSt12memory_orderS2_.exit.preheader _ZNSt13__atomic_baseIlE21compare_exchange_weakERllSt12memory_orderS2_.exit.us.preheader: ; preds = %10, %121 br label %_ZNSt13__atomic_baseIlE21compare_exchange_weakERllSt12memory_orderS2_.exit.us diff --git a/bench/actix-rs/optimized/1kr0tdq4l6v38mbk.ll b/bench/actix-rs/optimized/1kr0tdq4l6v38mbk.ll index 5bf745b2d8e..047db9f7477 100644 --- a/bench/actix-rs/optimized/1kr0tdq4l6v38mbk.ll +++ b/bench/actix-rs/optimized/1kr0tdq4l6v38mbk.ll @@ -3431,7 +3431,7 @@ define void @"_ZN101_$LT$actix_web..http..header..cache_control..CacheDirective$ br label %"_ZN4core6result19Result$LT$T$C$E$GT$7map_err17h2f36cec9fbdea1b7E.exit" "_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17hb277773516156c9aE.exit142": ; preds = %3 - %bcmp.i141 = tail call i32 @bcmp(ptr nonnull readonly align 1 %1, ptr nonnull @anon.cf8ce5e1de4a78c7021e8ff3b6c4351c.91, i64 %2), !alias.scope !504 + %bcmp.i141 = tail call i32 @bcmp(ptr noundef nonnull readonly align 1 dereferenceable(6) %1, ptr noundef nonnull dereferenceable(6) @anon.cf8ce5e1de4a78c7021e8ff3b6c4351c.91, i64 6), !alias.scope !504 %15 = icmp eq i32 %bcmp.i141, 0 br i1 %15, label %18, label %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17hb277773516156c9aE.exit150.thread" @@ -3440,7 +3440,7 @@ define void @"_ZN101_$LT$actix_web..http..header..cache_control..CacheDirective$ br label %"_ZN4core6result19Result$LT$T$C$E$GT$7map_err17h2f36cec9fbdea1b7E.exit" "_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17hb277773516156c9aE.exit146": ; preds = %3 - %bcmp.i145 = tail call i32 @bcmp(ptr nonnull readonly align 1 %1, ptr nonnull @anon.cf8ce5e1de4a78c7021e8ff3b6c4351c.92, i64 %2), !alias.scope !508 + %bcmp.i145 = tail call i32 @bcmp(ptr noundef nonnull readonly align 1 dereferenceable(7) %1, ptr noundef nonnull dereferenceable(7) @anon.cf8ce5e1de4a78c7021e8ff3b6c4351c.92, i64 7), !alias.scope !508 %17 = icmp eq i32 %bcmp.i145, 0 br i1 %17, label %20, label %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17hb277773516156c9aE.exit150.thread" @@ -3449,7 +3449,7 @@ define void @"_ZN101_$LT$actix_web..http..header..cache_control..CacheDirective$ br label %"_ZN4core6result19Result$LT$T$C$E$GT$7map_err17h2f36cec9fbdea1b7E.exit" "_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17hb277773516156c9aE.exit150": ; preds = %3 - %bcmp.i149 = tail call i32 @bcmp(ptr nonnull readonly align 1 %1, ptr nonnull @anon.cf8ce5e1de4a78c7021e8ff3b6c4351c.93, i64 %2), !alias.scope !512 + %bcmp.i149 = tail call i32 @bcmp(ptr noundef nonnull readonly align 1 dereferenceable(16) %1, ptr noundef nonnull dereferenceable(16) @anon.cf8ce5e1de4a78c7021e8ff3b6c4351c.93, i64 16), !alias.scope !512 %19 = icmp eq i32 %bcmp.i149, 0 br i1 %19, label %24, label %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17hb277773516156c9aE.exit150.thread" diff --git a/bench/actix-rs/optimized/1xpd5itwjglolvjs.ll b/bench/actix-rs/optimized/1xpd5itwjglolvjs.ll index 8390ef9e491..32eafe105e1 100644 --- a/bench/actix-rs/optimized/1xpd5itwjglolvjs.ll +++ b/bench/actix-rs/optimized/1xpd5itwjglolvjs.ll @@ -1237,14 +1237,14 @@ _ZN15actix_multipart6server6Safety7current17h31dc119cf176b21aE.exit.thread.us.i: store i64 4, ptr %0, align 8, !alias.scope !250, !noalias !253 br label %_ZN15actix_multipart6server14InnerMultipart4poll17h5a08d1a83e3cb7b5E.exit -.preheader.split.i: ; preds = %.preheader.split.i.outer262, %.preheader.split.i - br i1 %.pre336340.i.ph263, label %_ZN15actix_multipart6server6Safety7current17h31dc119cf176b21aE.exit.i50, label %.preheader.split.i, !llvm.loop !256 +.preheader.split.i: ; preds = %.preheader.split.i.outer263, %.preheader.split.i + br i1 %.pre336340.i.ph264, label %_ZN15actix_multipart6server6Safety7current17h31dc119cf176b21aE.exit.i50, label %.preheader.split.i, !llvm.loop !256 _ZN15actix_multipart6server6Safety7current17h31dc119cf176b21aE.exit.i50: ; preds = %.preheader.split.i - br i1 %573, label %96, label %.preheader.split.i.outer262, !llvm.loop !256 + br i1 %573, label %96, label %.preheader.split.i.outer263, !llvm.loop !256 -.preheader.split.i.outer262: ; preds = %.preheader.split.i.outer, %_ZN15actix_multipart6server6Safety7current17h31dc119cf176b21aE.exit.i50 - %.pre336340.i.ph263 = phi i1 [ %569, %.preheader.split.i.outer ], [ true, %_ZN15actix_multipart6server6Safety7current17h31dc119cf176b21aE.exit.i50 ] +.preheader.split.i.outer263: ; preds = %.preheader.split.i.outer, %_ZN15actix_multipart6server6Safety7current17h31dc119cf176b21aE.exit.i50 + %.pre336340.i.ph264 = phi i1 [ %569, %.preheader.split.i.outer ], [ true, %_ZN15actix_multipart6server6Safety7current17h31dc119cf176b21aE.exit.i50 ] br label %.preheader.split.i 96: ; preds = %_ZN15actix_multipart6server6Safety7current17h31dc119cf176b21aE.exit.i50 @@ -1337,10 +1337,10 @@ _ZN15actix_multipart6server6Safety7current17h31dc119cf176b21aE.exit.i.i: ; preds br i1 %123, label %124, label %558 124: ; preds = %_ZN15actix_multipart6server6Safety7current17h31dc119cf176b21aE.exit.i.i.thread, %_ZN15actix_multipart6server6Safety7current17h31dc119cf176b21aE.exit.i.i - %.val375.i180 = phi ptr [ %.val, %_ZN15actix_multipart6server6Safety7current17h31dc119cf176b21aE.exit.i.i.thread ], [ %.val375.i.pre, %_ZN15actix_multipart6server6Safety7current17h31dc119cf176b21aE.exit.i.i ] - %125 = icmp ne ptr %.val375.i180, null + %.val375.i181 = phi ptr [ %.val, %_ZN15actix_multipart6server6Safety7current17h31dc119cf176b21aE.exit.i.i.thread ], [ %.val375.i.pre, %_ZN15actix_multipart6server6Safety7current17h31dc119cf176b21aE.exit.i.i ] + %125 = icmp ne ptr %.val375.i181, null call void @llvm.assume(i1 %125) - %126 = getelementptr inbounds nuw i8, ptr %.val375.i180, i64 16 + %126 = getelementptr inbounds nuw i8, ptr %.val375.i181, i64 16 %127 = load i64, ptr %126, align 8, !noalias !255, !noundef !4 %128 = icmp eq i64 %127, 0 br i1 %128, label %130, label %129 @@ -1351,7 +1351,7 @@ _ZN15actix_multipart6server6Safety7current17h31dc119cf176b21aE.exit.i.i: ; preds 130: ; preds = %124 store i64 -1, ptr %126, align 8, !noalias !255 - %131 = getelementptr inbounds nuw i8, ptr %.val375.i180, i64 24 + %131 = getelementptr inbounds nuw i8, ptr %.val375.i181, i64 24 switch i8 %81, label %default.unreachable [ i8 1, label %132 i8 2, label %200 @@ -1405,7 +1405,7 @@ _ZN15actix_multipart6server6Safety7current17h31dc119cf176b21aE.exit.i.i: ; preds br label %332 147: ; preds = %144 - %148 = getelementptr inbounds nuw i8, ptr %.val375.i180, i64 72 + %148 = getelementptr inbounds nuw i8, ptr %.val375.i181, i64 72 %149 = load i8, ptr %148, align 8, !range !148, !alias.scope !277, !noalias !283, !noundef !4 %150 = trunc nuw i8 %149 to i1 br i1 %150, label %332, label %333 @@ -1553,7 +1553,7 @@ _ZN15actix_multipart6server6Safety7current17h31dc119cf176b21aE.exit.i.i: ; preds .noexc237.i: ; preds = %200 %205 = load i64, ptr %24, align 8, !range !5, !noalias !339, !noundef !4 %206 = icmp eq i64 %205, 5 - %207 = getelementptr inbounds nuw i8, ptr %.val375.i180, i64 72 + %207 = getelementptr inbounds nuw i8, ptr %.val375.i181, i64 72 %208 = load i8, ptr %207, align 8, !range !148, !alias.scope !343, !noalias !344 %209 = trunc nuw i8 %208 to i1 %or.cond4.i.i.i = select i1 %206, i1 %209, i1 false @@ -2039,7 +2039,7 @@ _ZN15actix_multipart6server14InnerMultipart13read_boundary17h45c533dd8c15961dE.e br label %.thread187.i 351: ; preds = %347 - %352 = getelementptr inbounds nuw i8, ptr %.val375.i180, i64 72 + %352 = getelementptr inbounds nuw i8, ptr %.val375.i181, i64 72 %353 = load i8, ptr %352, align 8, !range !148, !alias.scope !445, !noalias !451, !noundef !4 %354 = trunc nuw i8 %353 to i1 br i1 %354, label %.thread187.i, label %.thread208.i @@ -2560,11 +2560,11 @@ _ZN10actix_http6header3map9HeaderMap3get17h2ce05ef7d9937dfaE.exit.i: ; preds = % call void @llvm.lifetime.start.p0(ptr nonnull %32), !noalias !255 call void @llvm.lifetime.start.p0(ptr nonnull %31), !noalias !255 call void @llvm.lifetime.start.p0(ptr nonnull %30), !noalias !255 - %.val.i.i256.i = load i64, ptr %.val375.i180, align 8, !noalias !577, !noundef !4 + %.val.i.i256.i = load i64, ptr %.val375.i181, align 8, !noalias !577, !noundef !4 %498 = icmp ne i64 %.val.i.i256.i, 0 call void @llvm.assume(i1 %498) %499 = add i64 %.val.i.i256.i, 1 - store i64 %499, ptr %.val375.i180, align 8, !noalias !577 + store i64 %499, ptr %.val375.i181, align 8, !noalias !577 %500 = icmp eq i64 %499, 0 br i1 %500, label %501, label %"_ZN74_$LT$actix_multipart..server..PayloadRef$u20$as$u20$core..clone..Clone$GT$5clone17hcf6642911f6ea36eE.exit.i" @@ -2615,7 +2615,7 @@ _ZN10actix_http6header3map9HeaderMap3get17h2ce05ef7d9937dfaE.exit.i: ; preds = % to label %"_ZN4core3ptr59drop_in_place$LT$core..option..Option$LT$mime..Mime$GT$$GT$17hdd7c867c45b2849dE.exit.i" unwind label %482, !noalias !250 "_ZN74_$LT$actix_multipart..server..PayloadRef$u20$as$u20$core..clone..Clone$GT$5clone17hcf6642911f6ea36eE.exit.i": ; preds = %497 - store ptr %.val375.i180, ptr %30, align 8, !noalias !255 + store ptr %.val375.i181, ptr %30, align 8, !noalias !255 call void @llvm.lifetime.start.p0(ptr nonnull %29), !noalias !255 invoke void @"_ZN60_$LT$alloc..string..String$u20$as$u20$core..clone..Clone$GT$5clone17hf54273bb14505f61E"(ptr noalias noundef nonnull sret({ { { i64, ptr, {} }, i64 } }) align 8 captures(none) dereferenceable(24) %29, ptr noalias noundef nonnull readonly align 8 dereferenceable(48) %42) to label %520 unwind label %542, !noalias !250 @@ -2626,7 +2626,7 @@ _ZN10actix_http6header3map9HeaderMap3get17h2ce05ef7d9937dfaE.exit.i: ; preds = % br label %"_ZN4core3ptr56drop_in_place$LT$actix_multipart..server..PayloadRef$GT$17hbe197dd66630070cE.exit.i" 520: ; preds = %"_ZN74_$LT$actix_multipart..server..PayloadRef$u20$as$u20$core..clone..Clone$GT$5clone17hcf6642911f6ea36eE.exit.i" - invoke fastcc void @_ZN15actix_multipart6server10InnerField9new_in_rc17hc75612f9b3bb1862E(ptr noalias noundef align 8 captures(none) dereferenceable(40) %31, ptr noundef nonnull %.val375.i180, ptr noalias noundef align 8 captures(none) dereferenceable(24) %29, ptr noalias noundef readonly align 8 dereferenceable(64) %39) + invoke fastcc void @_ZN15actix_multipart6server10InnerField9new_in_rc17hc75612f9b3bb1862E(ptr noalias noundef align 8 captures(none) dereferenceable(40) %31, ptr noundef nonnull %.val375.i181, ptr noalias noundef align 8 captures(none) dereferenceable(24) %29, ptr noalias noundef readonly align 8 dereferenceable(64) %39) to label %521 unwind label %518, !noalias !250 521: ; preds = %520 @@ -2853,7 +2853,7 @@ common.resume: ; preds = %101, %120, %.body.i %571 = getelementptr inbounds nuw i8, ptr %570, i64 16 %572 = load i8, ptr %571, align 1, !range !148, !noalias !255, !noundef !4 %573 = trunc nuw i8 %572 to i1 - br label %.preheader.split.i.outer262 + br label %.preheader.split.i.outer263 574: ; preds = %105 call void @llvm.experimental.noalias.scope.decl(metadata !626) diff --git a/bench/arrow/optimized/string.ll b/bench/arrow/optimized/string.ll index 78dc8665863..bb712482e97 100644 --- a/bench/arrow/optimized/string.ll +++ b/bench/arrow/optimized/string.ll @@ -58,7 +58,6 @@ $_ZN5arrow4util13StringBuilderIJRA39_KcRSt17basic_string_viewIcSt11char_traitsIc @.str.8 = private unnamed_addr constant [5 x i8] c"true\00", align 1 @.str.9 = private unnamed_addr constant [2 x i8] c"1\00", align 1 @.str.10 = private unnamed_addr constant [6 x i8] c"false\00", align 1 -@.str.11 = private unnamed_addr constant [2 x i8] c"0\00", align 1 @.str.12 = private unnamed_addr constant [39 x i8] c"String is not a valid boolean value: '\00", align 1 @.str.13 = private unnamed_addr constant [3 x i8] c"'.\00", align 1 @__libc_single_threaded = external local_unnamed_addr global i8, align 1 @@ -2079,8 +2078,8 @@ _ZN5arrow8internal26AsciiEqualsCaseInsensitiveESt17basic_string_viewIcSt11char_t br i1 %30, label %_ZNSt11char_traitsIcE7compareEPKcS2_m.exit.i.i15, label %_ZN5arrow8internal26AsciiEqualsCaseInsensitiveESt17basic_string_viewIcSt11char_traitsIcEES4_.exit _ZNSt11char_traitsIcE7compareEPKcS2_m.exit.i.i15: ; preds = %_ZNSt11char_traitsIcE7compareEPKcS2_m.exit.i.i, %_ZN5arrow8internal26AsciiEqualsCaseInsensitiveESt17basic_string_viewIcSt11char_traitsIcEES4_.exit14 - %bcmp.i16 = tail call i32 @bcmp(ptr %2, ptr nonnull @.str.11, i64 %1) - %31 = icmp eq i32 %bcmp.i16, 0 + %lhsc = load i8, ptr %2, align 1 + %31 = icmp eq i8 %lhsc, 48 br i1 %31, label %_ZSteqIcSt11char_traitsIcEEbSt17basic_string_viewIT_T0_ENSt15__type_identityIS5_E4typeE.exit18, label %_ZN5arrow8internal26AsciiEqualsCaseInsensitiveESt17basic_string_viewIcSt11char_traitsIcEES4_.exit _ZSteqIcSt11char_traitsIcEEbSt17basic_string_viewIT_T0_ENSt15__type_identityIS5_E4typeE.exit18: ; preds = %20, %_ZNSt11char_traitsIcE7compareEPKcS2_m.exit.i.i15 diff --git a/bench/assimp/optimized/BlenderLoader.ll b/bench/assimp/optimized/BlenderLoader.ll index 7be97898b15..d0508af7575 100644 --- a/bench/assimp/optimized/BlenderLoader.ll +++ b/bench/assimp/optimized/BlenderLoader.ll @@ -8641,17 +8641,17 @@ _ZNSt6vectorIP9aiTextureSaIS1_EE9push_backEOS1_.exit: ; preds = %48, %_ZNSt6vect br label %.critedge.thread .critedge.thread: ; preds = %_ZNSt6vectorIP9aiTextureSaIS1_EE9push_backEOS1_.exit, %.critedge, %77 - %.0.ptr.lcssa92 = phi ptr [ %.0.ptr.lcssa, %77 ], [ %.0.ptr.lcssa, %.critedge ], [ %.0.ptr74, %_ZNSt6vectorIP9aiTextureSaIS1_EE9push_backEOS1_.exit ] - %.0.idx.lcssa91 = phi i64 [ %.0.idx.lcssa, %77 ], [ %.0.idx.lcssa, %.critedge ], [ %.add, %_ZNSt6vectorIP9aiTextureSaIS1_EE9push_backEOS1_.exit ] + %.0.ptr.lcssa93 = phi ptr [ %.0.ptr.lcssa, %77 ], [ %.0.ptr.lcssa, %.critedge ], [ %.0.ptr74, %_ZNSt6vectorIP9aiTextureSaIS1_EE9push_backEOS1_.exit ] + %.0.idx.lcssa92 = phi i64 [ %.0.idx.lcssa, %77 ], [ %.0.idx.lcssa, %.critedge ], [ %.add, %_ZNSt6vectorIP9aiTextureSaIS1_EE9push_backEOS1_.exit ] %83 = phi i8 [ %82, %77 ], [ 0, %.critedge ], [ 0, %_ZNSt6vectorIP9aiTextureSaIS1_EE9push_backEOS1_.exit ] %84 = getelementptr inbounds nuw i8, ptr %72, i64 8 store i8 %83, ptr %84, align 8 %85 = add nsw i64 %73, 1062 - %86 = icmp sgt i64 %.0.idx.lcssa91, %85 + %86 = icmp sgt i64 %.0.idx.lcssa92, %85 br i1 %86, label %93, label %87 87: ; preds = %.critedge.thread - %88 = getelementptr inbounds nuw i8, ptr %.0.ptr.lcssa92, i64 2 + %88 = getelementptr inbounds nuw i8, ptr %.0.ptr.lcssa93, i64 2 %89 = load i8, ptr %88, align 1 %90 = zext i8 %89 to i32 %91 = tail call i32 @tolower(i32 noundef %90) #31 @@ -8663,11 +8663,11 @@ _ZNSt6vectorIP9aiTextureSaIS1_EE9push_backEOS1_.exit: ; preds = %48, %_ZNSt6vect %95 = getelementptr inbounds nuw i8, ptr %72, i64 9 store i8 %94, ptr %95, align 1 %96 = add nsw i64 %73, 1061 - %97 = icmp sgt i64 %.0.idx.lcssa91, %96 + %97 = icmp sgt i64 %.0.idx.lcssa92, %96 br i1 %97, label %104, label %98 98: ; preds = %93 - %99 = getelementptr inbounds nuw i8, ptr %.0.ptr.lcssa92, i64 3 + %99 = getelementptr inbounds nuw i8, ptr %.0.ptr.lcssa93, i64 3 %100 = load i8, ptr %99, align 1 %101 = zext i8 %100 to i32 %102 = tail call i32 @tolower(i32 noundef %101) #31 diff --git a/bench/bdwgc/optimized/gc.ll b/bench/bdwgc/optimized/gc.ll index 90e0a63306b..6204c2d4550 100644 --- a/bench/bdwgc/optimized/gc.ll +++ b/bench/bdwgc/optimized/gc.ll @@ -2327,9 +2327,9 @@ GC_find_header.exit: ; preds = %10 22: ; preds = %GC_find_header.exit %23 = ptrtoint ptr %1 to i64 - %.not57.unshifted = xor i64 %23, %5 - %.not57 = icmp ult i64 %.not57.unshifted, 4096 - br i1 %.not57, label %86, label %24 + %.not58.unshifted = xor i64 %23, %5 + %.not58 = icmp ult i64 %.not58.unshifted, 4096 + br i1 %.not58, label %86, label %24 24: ; preds = %22 %25 = lshr i64 %23, 22 @@ -2338,23 +2338,23 @@ GC_find_header.exit: ; preds = %10 br label %28 28: ; preds = %28, %24 - %.0.in.i61 = phi ptr [ %27, %24 ], [ %34, %28 ] - %.0.i62 = load ptr, ptr %.0.in.i61, align 8, !tbaa !53 - %29 = getelementptr inbounds nuw i8, ptr %.0.i62, i64 8208 + %.0.in.i62 = phi ptr [ %27, %24 ], [ %34, %28 ] + %.0.i63 = load ptr, ptr %.0.in.i62, align 8, !tbaa !53 + %29 = getelementptr inbounds nuw i8, ptr %.0.i63, i64 8208 %30 = load i64, ptr %29, align 8, !tbaa !54 %31 = icmp ne i64 %30, %25 - %32 = icmp ne ptr %.0.i62, %9 + %32 = icmp ne ptr %.0.i63, %9 %33 = select i1 %31, i1 %32, i1 false - %34 = getelementptr inbounds nuw i8, ptr %.0.i62, i64 8216 - br i1 %33, label %28, label %GC_find_header.exit63, !llvm.loop !56 + %34 = getelementptr inbounds nuw i8, ptr %.0.i63, i64 8216 + br i1 %33, label %28, label %GC_find_header.exit64, !llvm.loop !56 -GC_find_header.exit63: ; preds = %28 +GC_find_header.exit64: ; preds = %28 %35 = lshr i64 %23, 12 %36 = and i64 %35, 1023 - %37 = getelementptr inbounds nuw ptr, ptr %.0.i62, i64 %36 + %37 = getelementptr inbounds nuw ptr, ptr %.0.i63, i64 %36 %38 = load ptr, ptr %37, align 8, !tbaa !57 - %.not58 = icmp eq ptr %38, null - br i1 %.not58, label %86, label %.sink.split + %.not59 = icmp eq ptr %38, null + br i1 %.not59, label %86, label %.sink.split 39: ; preds = %GC_find_header.exit %40 = icmp ult ptr %20, inttoptr (i64 4096 to ptr) @@ -2365,7 +2365,7 @@ GC_find_header.exit63: ; preds = %28 br label %42 42: ; preds = %GC_find_header.exit.i, %.lr.ph.i - %.012.i = phi ptr [ %20, %.lr.ph.i ], [ %.0.i64, %GC_find_header.exit.i ] + %.012.i = phi ptr [ %20, %.lr.ph.i ], [ %.0.i65, %GC_find_header.exit.i ] %.0811.i = phi ptr [ %41, %.lr.ph.i ], [ %45, %GC_find_header.exit.i ] %43 = ptrtoint ptr %.012.i to i64 %44 = sub nsw i64 0, %43 @@ -2391,20 +2391,20 @@ GC_find_header.exit.i: ; preds = %50 %57 = lshr i64 %46, 12 %58 = and i64 %57, 1023 %59 = getelementptr inbounds nuw ptr, ptr %.0.i.i, i64 %58 - %.0.i64 = load ptr, ptr %59, align 8, !tbaa !57 - %60 = icmp ult ptr %.0.i64, inttoptr (i64 4096 to ptr) + %.0.i65 = load ptr, ptr %59, align 8, !tbaa !57 + %60 = icmp ult ptr %.0.i65, inttoptr (i64 4096 to ptr) br i1 %60, label %42, label %GC_find_starting_hblk.exit, !llvm.loop !67 GC_find_starting_hblk.exit: ; preds = %GC_find_header.exit.i - %61 = getelementptr inbounds nuw i8, ptr %.0.i64, i64 32 + %61 = getelementptr inbounds nuw i8, ptr %.0.i65, i64 32 %62 = load i64, ptr %61, align 8, !tbaa !58 %63 = getelementptr inbounds nuw i8, ptr %45, i64 %62 %64 = icmp uge ptr %0, %63 %65 = icmp uge ptr %1, %63 - %or.cond.not69 = or i1 %64, %65 + %or.cond.not70 = or i1 %64, %65 %66 = icmp ult ptr %1, %45 - %or.cond59 = or i1 %66, %or.cond.not69 - br i1 %or.cond59, label %.sink.split, label %86 + %or.cond60 = or i1 %66, %or.cond.not70 + br i1 %or.cond60, label %.sink.split, label %86 67: ; preds = %39 %68 = getelementptr inbounds nuw i8, ptr %20, i64 32 @@ -2439,15 +2439,15 @@ GC_find_starting_hblk.exit: ; preds = %GC_find_header.exit %.046 = phi ptr [ %71, %72 ], [ %80, %.thread ] %83 = icmp uge ptr %1, %.046 %84 = icmp ult ptr %1, %.049 - %or.cond60 = select i1 %83, i1 %84, i1 false - br i1 %or.cond60, label %86, label %.sink.split + %or.cond61 = select i1 %83, i1 %84, i1 false + br i1 %or.cond61, label %86, label %.sink.split -.sink.split: ; preds = %82, %75, %72, %GC_find_starting_hblk.exit, %GC_find_header.exit63 +.sink.split: ; preds = %82, %75, %72, %GC_find_starting_hblk.exit, %GC_find_header.exit64 %85 = load ptr, ptr @GC_same_obj_print_proc, align 8, !tbaa !12 tail call void %85(ptr noundef %0, ptr noundef %1) #46 br label %86 -86: ; preds = %.sink.split, %82, %GC_find_starting_hblk.exit, %22, %GC_find_header.exit63 +86: ; preds = %.sink.split, %82, %GC_find_starting_hblk.exit, %22, %GC_find_header.exit64 ret ptr %0 } @@ -43381,8 +43381,8 @@ define internal fastcc void @soft_set_grungy_pages(ptr noundef %0, ptr noundef % 42: ; preds = %39 %43 = load i64, ptr @pagemap_buf_fpos, align 8, !tbaa !10 %44 = add nsw i64 %43, %40 - %.not43.i = icmp eq i64 %44, %.034.i - br i1 %.not43.i, label %53, label %45 + %.not44.i = icmp eq i64 %44, %.034.i + br i1 %.not44.i, label %53, label %45 45: ; preds = %42, %39 %46 = load i32, ptr @pagemap_fd, align 4, !tbaa !3 diff --git a/bench/box2d/optimized/imgui_widgets.ll b/bench/box2d/optimized/imgui_widgets.ll index cf542c28713..888e0a630b7 100644 --- a/bench/box2d/optimized/imgui_widgets.ll +++ b/bench/box2d/optimized/imgui_widgets.ll @@ -45046,12 +45046,12 @@ define linkonce_odr dso_local noundef i32 @_ZN5ImGui20ScaleValueFromRatioTIiifEE %.pre-phi = phi float [ %.pre, %._crit_edge ], [ %28, %26 ] %31 = phi float [ %23, %._crit_edge ], [ %29, %26 ] %32 = icmp slt i32 %3, %2 - %.093 = select i1 %32, float %31, float %22 - %.091 = select i1 %32, float %22, float %31 + %.095 = select i1 %32, float %31, float %22 + %.093 = select i1 %32, float %22, float %31 %33 = icmp eq i32 %3, 0 %34 = icmp slt i32 %2, 0 - %or.cond81 = and i1 %34, %33 - %.192 = select i1 %or.cond81, float %.pre-phi, float %.091 + %or.cond83 = and i1 %34, %33 + %.194 = select i1 %or.cond83, float %.pre-phi, float %.093 %35 = fsub float 1.000000e+00, %1 %36 = select i1 %32, float %35, float %1 %37 = mul nsw i32 %3, %2 @@ -45069,15 +45069,15 @@ define linkonce_odr dso_local noundef i32 @_ZN5ImGui20ScaleValueFromRatioTIiifEE %47 = fadd float %6, %45 %48 = fcmp ult float %36, %46 %49 = fcmp ugt float %36, %47 - %or.cond82 = or i1 %48, %49 - br i1 %or.cond82, label %50, label %103 + %or.cond84 = or i1 %48, %49 + br i1 %or.cond84, label %50, label %103 50: ; preds = %39 %51 = fcmp olt float %36, %45 br i1 %51, label %52, label %61 52: ; preds = %50 - %53 = fneg float %.093 + %53 = fneg float %.095 %54 = fdiv float %53, %5 %55 = fdiv float %36, %46 %56 = fsub float 1.000000e+00, %55 @@ -45088,7 +45088,7 @@ define linkonce_odr dso_local noundef i32 @_ZN5ImGui20ScaleValueFromRatioTIiifEE br label %103 61: ; preds = %50 - %62 = fdiv float %.192, %5 + %62 = fdiv float %.194, %5 %63 = fsub float %36, %47 %64 = fsub float 1.000000e+00, %47 %65 = fdiv float %63, %64 @@ -45099,21 +45099,21 @@ define linkonce_odr dso_local noundef i32 @_ZN5ImGui20ScaleValueFromRatioTIiifEE 69: ; preds = %30 %70 = or i32 %3, %2 - %or.cond83.not = icmp sgt i32 %70, -1 - br i1 %or.cond83.not, label %77, label %71 + %or.cond85.not = icmp sgt i32 %70, -1 + br i1 %or.cond85.not, label %77, label %71 71: ; preds = %69 - %72 = fdiv float %.093, %.192 + %72 = fdiv float %.095, %.194 %73 = fsub float 1.000000e+00, %36 %74 = tail call noundef float @powf(float noundef %72, float noundef %73) #43, !tbaa !176 - %75 = fmul float %.192, %74 + %75 = fmul float %.194, %74 %76 = fptosi float %75 to i32 br label %103 77: ; preds = %69 - %78 = fdiv float %.192, %.093 + %78 = fdiv float %.194, %.095 %79 = tail call noundef float @powf(float noundef %78, float noundef %36) #43, !tbaa !176 - %80 = fmul float %.093, %79 + %80 = fmul float %.095, %79 %81 = fptosi float %80 to i32 br label %103 @@ -45615,13 +45615,13 @@ define linkonce_odr dso_local noundef i64 @_ZN5ImGui20ScaleValueFromRatioTIxxdEE %.pre-phi = phi float [ %.pre, %._crit_edge ], [ %30, %28 ] %34 = phi double [ %25, %._crit_edge ], [ %32, %28 ] %35 = icmp slt i64 %3, %2 - %.091 = select i1 %35, double %34, double %24 - %.089 = select i1 %35, double %24, double %34 + %.093 = select i1 %35, double %34, double %24 + %.091 = select i1 %35, double %24, double %34 %36 = icmp eq i64 %3, 0 %37 = icmp slt i64 %2, 0 - %or.cond79 = and i1 %37, %36 + %or.cond81 = and i1 %37, %36 %38 = fpext float %.pre-phi to double - %.190 = select i1 %or.cond79, double %38, double %.089 + %.192 = select i1 %or.cond81, double %38, double %.091 %39 = fsub float 1.000000e+00, %1 %40 = select i1 %35, float %39, float %1 %41 = mul nsw i64 %3, %2 @@ -45641,15 +45641,15 @@ define linkonce_odr dso_local noundef i64 @_ZN5ImGui20ScaleValueFromRatioTIxxdEE %53 = fadd float %6, %51 %54 = fcmp ult float %40, %52 %55 = fcmp ugt float %40, %53 - %or.cond80 = or i1 %54, %55 - br i1 %or.cond80, label %56, label %114 + %or.cond82 = or i1 %54, %55 + br i1 %or.cond82, label %56, label %114 56: ; preds = %43 %57 = fcmp olt float %40, %51 br i1 %57, label %58, label %68 58: ; preds = %56 - %59 = fneg double %.091 + %59 = fneg double %.093 %60 = fdiv double %59, %16 %61 = fdiv float %40, %52 %62 = fsub float 1.000000e+00, %61 @@ -45661,7 +45661,7 @@ define linkonce_odr dso_local noundef i64 @_ZN5ImGui20ScaleValueFromRatioTIxxdEE br label %114 68: ; preds = %56 - %69 = fdiv double %.190, %16 + %69 = fdiv double %.192, %16 %70 = fsub float %40, %53 %71 = fsub float 1.000000e+00, %53 %72 = fdiv float %70, %71 @@ -45673,23 +45673,23 @@ define linkonce_odr dso_local noundef i64 @_ZN5ImGui20ScaleValueFromRatioTIxxdEE 77: ; preds = %33 %78 = or i64 %3, %2 - %or.cond81.not = icmp sgt i64 %78, -1 - br i1 %or.cond81.not, label %86, label %79 + %or.cond83.not = icmp sgt i64 %78, -1 + br i1 %or.cond83.not, label %86, label %79 79: ; preds = %77 - %80 = fdiv double %.091, %.190 + %80 = fdiv double %.093, %.192 %81 = fsub float 1.000000e+00, %40 %82 = fpext float %81 to double %83 = tail call noundef double @pow(double noundef %80, double noundef %82) #43, !tbaa !176 - %84 = fmul double %.190, %83 + %84 = fmul double %.192, %83 %85 = fptosi double %84 to i64 br label %114 86: ; preds = %77 - %87 = fdiv double %.190, %.091 + %87 = fdiv double %.192, %.093 %88 = fpext float %40 to double %89 = tail call noundef double @pow(double noundef %87, double noundef %88) #43, !tbaa !176 - %90 = fmul double %.091, %89 + %90 = fmul double %.093, %89 %91 = fptosi double %90 to i64 br label %114 @@ -46577,8 +46577,8 @@ define linkonce_odr dso_local noundef float @_ZN5ImGui20ScaleRatioFromValueTIddd define linkonce_odr dso_local noundef double @_ZN5ImGui20ScaleValueFromRatioTIdddEET_ifS1_S1_bff(i32 noundef %0, float noundef %1, double noundef %2, double noundef %3, i1 noundef zeroext %4, float noundef %5, float noundef %6) local_unnamed_addr #4 comdat { %8 = fcmp ole float %1, 0.000000e+00 %9 = fcmp oeq double %2, %3 - %or.cond83 = or i1 %8, %9 - br i1 %or.cond83, label %105, label %10 + %or.cond85 = or i1 %8, %9 + br i1 %or.cond85, label %105, label %10 10: ; preds = %7 %11 = fcmp ult float %1, 1.000000e+00 @@ -46621,13 +46621,13 @@ define linkonce_odr dso_local noundef double @_ZN5ImGui20ScaleValueFromRatioTIdd %.pre-phi = phi float [ %.pre, %._crit_edge ], [ %28, %26 ] %32 = phi double [ %3, %._crit_edge ], [ %30, %26 ] %33 = fcmp olt double %3, %2 - %.094 = select i1 %33, double %32, double %23 - %.092 = select i1 %33, double %23, double %32 + %.096 = select i1 %33, double %32, double %23 + %.094 = select i1 %33, double %23, double %32 %34 = fcmp oeq double %3, 0.000000e+00 %35 = fcmp olt double %2, 0.000000e+00 %or.cond = and i1 %35, %34 %36 = fpext float %.pre-phi to double - %.193 = select i1 %or.cond, double %36, double %.092 + %.195 = select i1 %or.cond, double %36, double %.094 %37 = fsub float 1.000000e+00, %1 %38 = select i1 %33, float %37, float %1 %39 = fmul double %2, %3 @@ -46648,15 +46648,15 @@ define linkonce_odr dso_local noundef double @_ZN5ImGui20ScaleValueFromRatioTIdd %52 = fadd float %6, %50 %53 = fcmp ult float %38, %51 %54 = fcmp ugt float %38, %52 - %or.cond84 = or i1 %53, %54 - br i1 %or.cond84, label %55, label %105 + %or.cond86 = or i1 %53, %54 + br i1 %or.cond86, label %55, label %105 55: ; preds = %41 %56 = fcmp olt float %38, %50 br i1 %56, label %57, label %66 57: ; preds = %55 - %58 = fneg double %.094 + %58 = fneg double %.096 %59 = fdiv double %58, %15 %60 = fdiv float %38, %51 %61 = fsub float 1.000000e+00, %60 @@ -46667,7 +46667,7 @@ define linkonce_odr dso_local noundef double @_ZN5ImGui20ScaleValueFromRatioTIdd br label %105 66: ; preds = %55 - %67 = fdiv double %.193, %15 + %67 = fdiv double %.195, %15 %68 = fsub float %38, %52 %69 = fsub float 1.000000e+00, %52 %70 = fdiv float %68, %69 @@ -46682,18 +46682,18 @@ define linkonce_odr dso_local noundef double @_ZN5ImGui20ScaleValueFromRatioTIdd br i1 %or.cond3, label %76, label %82 76: ; preds = %74 - %77 = fdiv double %.094, %.193 + %77 = fdiv double %.096, %.195 %78 = fsub float 1.000000e+00, %38 %79 = fpext float %78 to double %80 = tail call noundef double @pow(double noundef %77, double noundef %79) #43, !tbaa !176 - %81 = fmul double %.193, %80 + %81 = fmul double %.195, %80 br label %105 82: ; preds = %74 - %83 = fdiv double %.193, %.094 + %83 = fdiv double %.195, %.096 %84 = fpext float %38 to double %85 = tail call noundef double @pow(double noundef %83, double noundef %84) #43, !tbaa !176 - %86 = fmul double %.094, %85 + %86 = fmul double %.096, %85 br label %105 87: ; preds = %12 diff --git a/bench/box2d/optimized/solver.ll b/bench/box2d/optimized/solver.ll index 56a34dd3e30..0484be02fdc 100644 --- a/bench/box2d/optimized/solver.ll +++ b/bench/box2d/optimized/solver.ll @@ -3667,7 +3667,7 @@ define internal noundef zeroext i1 @b2ContinuousQueryCallback(i32 %0, i32 nounde %12 = load ptr, ptr %11, align 8, !tbaa !295 %13 = load i32, ptr %10, align 8, !tbaa !172 %14 = icmp eq i32 %1, %13 - br i1 %14, label %.critedge132, label %15 + br i1 %14, label %.critedge133, label %15 15: ; preds = %3 %16 = load ptr, ptr %2, align 8, !tbaa !292 @@ -3680,46 +3680,46 @@ define internal noundef zeroext i1 @b2ContinuousQueryCallback(i32 %0, i32 nounde %22 = getelementptr inbounds nuw i8, ptr %10, i64 4 %23 = load i32, ptr %22, align 4, !tbaa !302 %24 = icmp eq i32 %21, %23 - br i1 %24, label %.critedge132, label %25 + br i1 %24, label %.critedge133, label %25 25: ; preds = %15 %26 = getelementptr inbounds nuw i8, ptr %19, i64 16 %27 = load i32, ptr %26, align 8, !tbaa !298 %.not = icmp eq i32 %27, -1 - br i1 %.not, label %28, label %.critedge132 + br i1 %.not, label %28, label %.critedge133 28: ; preds = %25 %29 = getelementptr inbounds nuw i8, ptr %10, i64 96 %30 = getelementptr inbounds nuw i8, ptr %19, i64 96 %31 = tail call zeroext i1 @b2ShouldShapesCollide(ptr noundef nonnull byval(%struct.b2Filter) align 8 %29, ptr noundef nonnull byval(%struct.b2Filter) align 8 %30) #8 - br i1 %31, label %32, label %.critedge132 + br i1 %31, label %32, label %.critedge133 32: ; preds = %28 %33 = getelementptr inbounds nuw i8, ptr %16, i64 1032 %34 = load i32, ptr %20, align 4, !tbaa !302 - %.val134 = load ptr, ptr %33, align 8, !tbaa !291 + %.val135 = load ptr, ptr %33, align 8, !tbaa !291 %35 = sext i32 %34 to i64 - %36 = getelementptr inbounds %struct.b2Body, ptr %.val134, i64 %35 + %36 = getelementptr inbounds %struct.b2Body, ptr %.val135, i64 %35 %37 = tail call ptr @b2GetBodySim(ptr noundef nonnull %16, ptr noundef %36) #8 %38 = getelementptr inbounds nuw i8, ptr %37, i64 93 %39 = load i8, ptr %38, align 1, !tbaa !196, !range !197, !noundef !198 %40 = trunc nuw i8 %39 to i1 - br i1 %40, label %.critedge132, label %41 + br i1 %40, label %.critedge133, label %41 41: ; preds = %32 %42 = getelementptr inbounds nuw i8, ptr %12, i64 88 %43 = load i32, ptr %42, align 4, !tbaa !190 - %.val133 = load ptr, ptr %33, align 8, !tbaa !291 + %.val134 = load ptr, ptr %33, align 8, !tbaa !291 %44 = sext i32 %43 to i64 - %45 = getelementptr inbounds %struct.b2Body, ptr %.val133, i64 %44 + %45 = getelementptr inbounds %struct.b2Body, ptr %.val134, i64 %44 %46 = tail call zeroext i1 @b2ShouldBodiesCollide(ptr noundef nonnull %16, ptr noundef %45, ptr noundef %36) #8 - br i1 %46, label %47, label %.critedge132 + br i1 %46, label %47, label %.critedge133 47: ; preds = %41 %48 = getelementptr inbounds nuw i8, ptr %16, i64 1704 %49 = load ptr, ptr %48, align 8, !tbaa !303 - %.not130 = icmp eq ptr %49, null - br i1 %.not130, label %66, label %50 + %.not131 = icmp eq ptr %49, null + br i1 %.not131, label %66, label %50 50: ; preds = %47 %51 = load i32, ptr %19, align 8, !tbaa !172 @@ -3747,7 +3747,7 @@ define internal noundef zeroext i1 @b2ContinuousQueryCallback(i32 %0, i32 nounde %64 = or disjoint i64 %.sroa.545.0.insert.shift, %.sroa.043.0.insert.ext %.sroa.043.0.insert.insert = or disjoint i64 %64, %.sroa.447.0.insert.shift %65 = tail call zeroext i1 %49(i64 %.sroa.046.0.insert.insert, i64 %.sroa.043.0.insert.insert, ptr noundef %62) #8 - br i1 %65, label %66, label %.critedge132 + br i1 %65, label %66, label %.critedge133 66: ; preds = %50, %47 %67 = getelementptr inbounds nuw i8, ptr %19, i64 20 @@ -3778,15 +3778,15 @@ define internal noundef zeroext i1 @b2ContinuousQueryCallback(i32 %0, i32 nounde %80 = fadd float %.sroa.06.4.vec.extract.i, %79 %81 = getelementptr inbounds nuw i8, ptr %19, i64 148 %82 = load <2 x float>, ptr %81, align 4 - %.sroa.0.0.vec.extract.i136 = extractelement <2 x float> %82, i64 0 - %foldExtExtBinop187 = fmul <2 x float> %.sroa.541.0.copyload, %82 - %83 = extractelement <2 x float> %foldExtExtBinop187, i64 0 - %.sroa.0.4.vec.extract.i138 = extractelement <2 x float> %82, i64 1 - %84 = fmul float %.sroa.3.12.vec.extract.i, %.sroa.0.4.vec.extract.i138 + %.sroa.0.0.vec.extract.i137 = extractelement <2 x float> %82, i64 0 + %foldExtExtBinop188 = fmul <2 x float> %.sroa.541.0.copyload, %82 + %83 = extractelement <2 x float> %foldExtExtBinop188, i64 0 + %.sroa.0.4.vec.extract.i139 = extractelement <2 x float> %82, i64 1 + %84 = fmul float %.sroa.3.12.vec.extract.i, %.sroa.0.4.vec.extract.i139 %85 = fsub float %83, %84 %86 = fadd float %.sroa.06.0.vec.extract.i, %85 - %87 = fmul float %.sroa.3.12.vec.extract.i, %.sroa.0.0.vec.extract.i136 - %88 = fmul float %.sroa.3.8.vec.extract.i, %.sroa.0.4.vec.extract.i138 + %87 = fmul float %.sroa.3.12.vec.extract.i, %.sroa.0.0.vec.extract.i137 + %88 = fmul float %.sroa.3.8.vec.extract.i, %.sroa.0.4.vec.extract.i139 %89 = fadd float %87, %88 %90 = fadd float %.sroa.06.4.vec.extract.i, %89 %91 = fsub float %86, %76 @@ -3820,30 +3820,30 @@ b2GetLengthAndNormalize.exit: ; preds = %70, %97 %106 = fsub float %.sroa.01.0.vec.extract.i, %76 %.sroa.01.4.vec.extract.i = extractelement <2 x float> %.sroa.030.0.copyload, i64 1 %107 = fsub float %.sroa.01.4.vec.extract.i, %80 - %.sroa.0.4.vec.extract.i150 = extractelement <2 x float> %.sroa.06.0.i, i64 1 - %108 = fmul float %.sroa.0.4.vec.extract.i150, %106 - %.sroa.0.0.vec.extract.i152 = extractelement <2 x float> %.sroa.06.0.i, i64 0 - %109 = fmul float %.sroa.0.0.vec.extract.i152, %107 + %.sroa.0.4.vec.extract.i151 = extractelement <2 x float> %.sroa.06.0.i, i64 1 + %108 = fmul float %.sroa.0.4.vec.extract.i151, %106 + %.sroa.0.0.vec.extract.i153 = extractelement <2 x float> %.sroa.06.0.i, i64 0 + %109 = fmul float %.sroa.0.0.vec.extract.i153, %107 %110 = fsub float %108, %109 %111 = fcmp olt float %110, 0.000000e+00 - br i1 %111, label %.critedge132, label %112 + br i1 %111, label %.critedge133, label %112 112: ; preds = %104 %113 = getelementptr inbounds nuw i8, ptr %2, i64 32 %.sroa.026.0.copyload = load <2 x float>, ptr %113, align 8 - %.sroa.01.0.vec.extract.i153 = extractelement <2 x float> %.sroa.026.0.copyload, i64 0 - %114 = fsub float %.sroa.01.0.vec.extract.i153, %76 - %115 = fmul float %.sroa.0.4.vec.extract.i150, %114 - %.sroa.01.4.vec.extract.i156 = extractelement <2 x float> %.sroa.026.0.copyload, i64 1 - %116 = fsub float %.sroa.01.4.vec.extract.i156, %80 - %117 = fmul float %.sroa.0.0.vec.extract.i152, %116 + %.sroa.01.0.vec.extract.i154 = extractelement <2 x float> %.sroa.026.0.copyload, i64 0 + %114 = fsub float %.sroa.01.0.vec.extract.i154, %76 + %115 = fmul float %.sroa.0.4.vec.extract.i151, %114 + %.sroa.01.4.vec.extract.i157 = extractelement <2 x float> %.sroa.026.0.copyload, i64 1 + %116 = fsub float %.sroa.01.4.vec.extract.i157, %80 + %117 = fmul float %.sroa.0.0.vec.extract.i153, %116 %118 = fsub float %115, %117 %119 = fsub float %110, %118 %120 = getelementptr inbounds nuw i8, ptr %12, i64 68 %121 = load float, ptr %120, align 4, !tbaa !264 %122 = fmul float %121, 2.500000e-01 %123 = fcmp olt float %119, %122 - br i1 %123, label %.critedge132, label %.critedge + br i1 %123, label %.critedge133, label %.critedge .critedge: ; preds = %b2GetLengthAndNormalize.exit, %112, %66 call void @llvm.lifetime.start.p0(ptr nonnull %4) @@ -3894,7 +3894,7 @@ b2GetLengthAndNormalize.exit: ; preds = %70, %97 147: ; preds = %144, %.critedge %148 = fcmp oeq float %142, 0.000000e+00 - br i1 %148, label %149, label %.thread175 + br i1 %148, label %149, label %.thread176 149: ; preds = %147 call void @llvm.lifetime.start.p0(ptr nonnull %6) @@ -3912,23 +3912,23 @@ b2GetLengthAndNormalize.exit: ; preds = %70, %97 %.sroa.010.sroa.4.0.extract.trunc = trunc nuw i64 %.sroa.010.sroa.4.0.extract.shift to i32 %155 = bitcast i32 %.sroa.010.sroa.4.0.extract.trunc to float %156 = fcmp ogt float %155, 0.000000e+00 - br i1 %156, label %157, label %.thread171 + br i1 %156, label %157, label %.thread172 157: ; preds = %149 %158 = load float, ptr %138, align 8, !tbaa !296 %159 = fcmp ogt float %158, %155 - br i1 %159, label %160, label %.thread171 + br i1 %159, label %160, label %.thread172 -.thread171: ; preds = %157, %149 +.thread172: ; preds = %157, %149 call void @llvm.lifetime.end.p0(ptr nonnull %6) - br label %.thread175 + br label %.thread176 160: ; preds = %157 call void @llvm.lifetime.end.p0(ptr nonnull %6) br label %.thread .thread: ; preds = %144, %160 - %.0121166 = phi float [ %155, %160 ], [ %142, %144 ] + %.0121167 = phi float [ %155, %160 ], [ %142, %144 ] %161 = getelementptr inbounds nuw i8, ptr %19, i64 280 %162 = load i8, ptr %161, align 8, !tbaa !314, !range !197, !noundef !198 %163 = trunc nuw i8 %162 to i1 @@ -3938,13 +3938,13 @@ b2GetLengthAndNormalize.exit: ; preds = %70, %97 %165 = getelementptr inbounds nuw i8, ptr %10, i64 280 %166 = load i8, ptr %165, align 8, !tbaa !314, !range !197, !noundef !198 %167 = trunc nuw i8 %166 to i1 - br i1 %167, label %168, label %.thread178 + br i1 %167, label %168, label %.thread179 168: ; preds = %.thread, %164 - %169 = call { <2 x float>, <2 x float> } @b2GetSweepTransform(ptr noundef nonnull %125, float noundef %.0121166) #8 + %169 = call { <2 x float>, <2 x float> } @b2GetSweepTransform(ptr noundef nonnull %125, float noundef %.0121167) #8 %170 = extractvalue { <2 x float>, <2 x float> } %169, 0 %171 = extractvalue { <2 x float>, <2 x float> } %169, 1 - %172 = call { <2 x float>, <2 x float> } @b2GetSweepTransform(ptr noundef nonnull %136, float noundef %.0121166) #8 + %172 = call { <2 x float>, <2 x float> } @b2GetSweepTransform(ptr noundef nonnull %136, float noundef %.0121167) #8 %173 = extractvalue { <2 x float>, <2 x float> } %172, 0 %174 = extractvalue { <2 x float>, <2 x float> } %172, 1 call void @llvm.lifetime.start.p0(ptr nonnull %8) @@ -3977,17 +3977,17 @@ b2GetLengthAndNormalize.exit: ; preds = %70, %97 %.sroa.0.0.insert.insert = or disjoint i64 %190, %.sroa.44.0.insert.shift %191 = call zeroext i1 %186(i64 %.sroa.03.0.insert.insert, i64 %.sroa.0.0.insert.insert, ptr noundef nonnull %8, ptr noundef %188) #8 call void @llvm.lifetime.end.p0(ptr nonnull %8) - br i1 %191, label %.thread178, label %.thread175 + br i1 %191, label %.thread179, label %.thread176 -.thread178: ; preds = %164, %168 - store float %.0121166, ptr %138, align 8, !tbaa !296 - br label %.thread175 +.thread179: ; preds = %164, %168 + store float %.0121167, ptr %138, align 8, !tbaa !296 + br label %.thread176 -.thread175: ; preds = %147, %.thread171, %.thread178, %168 +.thread176: ; preds = %147, %.thread172, %.thread179, %168 call void @llvm.lifetime.end.p0(ptr nonnull %4) - br label %.critedge132 + br label %.critedge133 -.critedge132: ; preds = %104, %112, %15, %25, %32, %.thread175, %50, %41, %28, %3 +.critedge133: ; preds = %104, %112, %15, %25, %32, %.thread176, %50, %41, %28, %3 ret i1 true } diff --git a/bench/brotli/optimized/entropy_encode.ll b/bench/brotli/optimized/entropy_encode.ll index 33c8f09739d..d61f90b2204 100644 --- a/bench/brotli/optimized/entropy_encode.ll +++ b/bench/brotli/optimized/entropy_encode.ll @@ -773,8 +773,8 @@ DecideOverRleUse.exit: ; preds = %._crit_edge br i1 %.not.i, label %._crit_edge110, label %.lr.ph109.preheader .lr.ph109.preheader: ; preds = %._crit_edge.loopexit.i, %DecideOverRleUse.exit - %.071137 = phi i1 [ %37, %._crit_edge.loopexit.i ], [ false, %DecideOverRleUse.exit ] - %.072136 = phi i1 [ %35, %._crit_edge.loopexit.i ], [ false, %DecideOverRleUse.exit ] + %.071139 = phi i1 [ %37, %._crit_edge.loopexit.i ], [ false, %DecideOverRleUse.exit ] + %.072138 = phi i1 [ %35, %._crit_edge.loopexit.i ], [ false, %DecideOverRleUse.exit ] br label %.lr.ph109 .lr.ph109: ; preds = %.lr.ph109.preheader, %BrotliWriteHuffmanTreeRepetitionsZeros.exit @@ -783,16 +783,16 @@ DecideOverRleUse.exit: ; preds = %._crit_edge %38 = getelementptr inbounds nuw i8, ptr %0, i64 %.146106 %39 = load i8, ptr %38, align 1, !tbaa !11 %40 = icmp ne i8 %39, 0 - %or.cond = select i1 %40, i1 %.072136, i1 false + %or.cond = select i1 %40, i1 %.072138, i1 false %41 = icmp eq i8 %39, 0 - %or.cond3 = select i1 %41, i1 %.071137, i1 false + %or.cond3 = select i1 %41, i1 %.071139, i1 false %or.cond88 = select i1 %or.cond, i1 true, i1 %or.cond3 br i1 %or.cond88, label %.preheader, label %.critedge.thread .preheader: ; preds = %.lr.ph109 %.099 = add nuw i64 %.146106, 1 %42 = icmp ult i64 %.099, %.04496 - br i1 %42, label %.lr.ph102.preheader, label %.critedge.thread138 + br i1 %42, label %.lr.ph102.preheader, label %.critedge.thread140 .lr.ph102.preheader: ; preds = %.preheader %43 = sub i64 %.04496, %.146106 @@ -816,7 +816,7 @@ DecideOverRleUse.exit: ; preds = %._crit_edge %.1.lcssa = phi i64 [ %43, %47 ], [ %.1100, %.lr.ph102 ] br i1 %41, label %49, label %104 -.critedge.thread138: ; preds = %.preheader +.critedge.thread140: ; preds = %.preheader br i1 %41, label %.lr.ph.preheader.i49, label %104 .critedge.thread: ; preds = %.lr.ph109 @@ -851,8 +851,8 @@ DecideOverRleUse.exit: ; preds = %._crit_edge %.not.i48 = icmp eq i64 %.1.lcssa, 0 br i1 %.not.i48, label %BrotliWriteHuffmanTreeRepetitionsZeros.exit, label %.lr.ph.preheader.i49 -.lr.ph.preheader.i49: ; preds = %.critedge.thread138, %.critedge.thread, %.preheader.i - %.04176808386 = phi i64 [ %.1.lcssa, %.preheader.i ], [ 1, %.critedge.thread ], [ 1, %.critedge.thread138 ] +.lr.ph.preheader.i49: ; preds = %.critedge.thread140, %.critedge.thread, %.preheader.i + %.04176808386 = phi i64 [ %.1.lcssa, %.preheader.i ], [ 1, %.critedge.thread ], [ 1, %.critedge.thread140 ] %.pre.i50 = load i64, ptr %2, align 8, !tbaa !18 br label %.lr.ph.i51 @@ -950,8 +950,8 @@ Reverse.exit.i: ; preds = %Reverse.exit.loopex %103 = icmp ult i64 %102, %.013.i39.i br i1 %103, label %.lr.ph.i36.i, label %BrotliWriteHuffmanTreeRepetitionsZeros.exit, !llvm.loop !36 -104: ; preds = %.critedge.thread138, %.critedge.thread, %.critedge - %.04175 = phi i64 [ 1, %.critedge.thread ], [ %.1.lcssa, %.critedge ], [ 1, %.critedge.thread138 ] +104: ; preds = %.critedge.thread140, %.critedge.thread, %.critedge + %.04175 = phi i64 [ 1, %.critedge.thread ], [ %.1.lcssa, %.critedge ], [ 1, %.critedge.thread140 ] %.not.i53 = icmp eq i8 %.042108, %39 br i1 %.not.i53, label %113, label %105 diff --git a/bench/c3c/optimized/bigint.ll b/bench/c3c/optimized/bigint.ll index 9074a71d2d8..1685ec644ea 100644 --- a/bench/c3c/optimized/bigint.ll +++ b/bench/c3c/optimized/bigint.ll @@ -92,15 +92,15 @@ i128_neg.exit: ; preds = %13, %12, %4 br label %i128_shl64.exit.i.i.preheader i128_shl64.exit.i.i.preheader: ; preds = %41, %38, %34, %32, %29 - %.ph72 = phi i64 [ %2, %29 ], [ 0, %32 ], [ 0, %34 ], [ 0, %38 ], [ %44, %41 ] - %.ph73 = phi i64 [ 0, %29 ], [ 0, %32 ], [ %2, %34 ], [ %40, %38 ], [ %43, %41 ] + %.ph81 = phi i64 [ %2, %29 ], [ 0, %32 ], [ 0, %34 ], [ 0, %38 ], [ %44, %41 ] + %.ph82 = phi i64 [ 0, %29 ], [ 0, %32 ], [ %2, %34 ], [ %40, %38 ], [ %43, %41 ] br label %i128_shl64.exit.i.i i128_shl64.exit.i.i: ; preds = %i128_shl64.exit.i.i.preheader, %i128_ucomp.exit.i.i %45 = phi i64 [ %56, %i128_ucomp.exit.i.i ], [ %.sroa.8.1, %i128_shl64.exit.i.i.preheader ] %46 = phi i64 [ %57, %i128_ucomp.exit.i.i ], [ %.sroa.018.1, %i128_shl64.exit.i.i.preheader ] - %47 = phi i64 [ %58, %i128_ucomp.exit.i.i ], [ %.ph72, %i128_shl64.exit.i.i.preheader ] - %48 = phi i64 [ %59, %i128_ucomp.exit.i.i ], [ %.ph73, %i128_shl64.exit.i.i.preheader ] + %47 = phi i64 [ %58, %i128_ucomp.exit.i.i ], [ %.ph81, %i128_shl64.exit.i.i.preheader ] + %48 = phi i64 [ %59, %i128_ucomp.exit.i.i ], [ %.ph82, %i128_shl64.exit.i.i.preheader ] %.0.i.i = phi i32 [ %60, %i128_ucomp.exit.i.i ], [ %27, %i128_shl64.exit.i.i.preheader ] %49 = icmp ugt i64 %46, %48 br i1 %49, label %select.unfold.i.i, label %50 @@ -178,7 +178,7 @@ i128_urem.exit: ; preds = %i128_ucomp.exit.i.i i128_shl64.exit.i.i28.preheader: ; preds = %80, %77, %73, %71, %68 %.ph = phi i64 [ %2, %68 ], [ 0, %71 ], [ 0, %73 ], [ 0, %77 ], [ %83, %80 ] - %.ph71 = phi i64 [ 0, %68 ], [ 0, %71 ], [ %2, %73 ], [ %79, %77 ], [ %82, %80 ] + %.ph80 = phi i64 [ 0, %68 ], [ 0, %71 ], [ %2, %73 ], [ %79, %77 ], [ %82, %80 ] br label %i128_shl64.exit.i.i28 i128_shl64.exit.i.i28: ; preds = %i128_shl64.exit.i.i28.preheader, %i128_ucomp.exit.i.i36 @@ -187,7 +187,7 @@ i128_shl64.exit.i.i28: ; preds = %i128_shl64.exit.i.i %86 = phi i64 [ %102, %i128_ucomp.exit.i.i36 ], [ 0, %i128_shl64.exit.i.i28.preheader ] %87 = phi i64 [ %90, %i128_ucomp.exit.i.i36 ], [ 0, %i128_shl64.exit.i.i28.preheader ] %88 = phi i64 [ %103, %i128_ucomp.exit.i.i36 ], [ %.ph, %i128_shl64.exit.i.i28.preheader ] - %89 = phi i64 [ %104, %i128_ucomp.exit.i.i36 ], [ %.ph71, %i128_shl64.exit.i.i28.preheader ] + %89 = phi i64 [ %104, %i128_ucomp.exit.i.i36 ], [ %.ph80, %i128_shl64.exit.i.i28.preheader ] %.0.i.i31 = phi i32 [ %105, %i128_ucomp.exit.i.i36 ], [ %66, %i128_shl64.exit.i.i28.preheader ] %90 = tail call i64 @llvm.fshl.i64(i64 %87, i64 %86, i64 1) %91 = shl i64 %86, 1 @@ -338,14 +338,14 @@ define dso_local { i64, i64 } @i128_urem(i64 %0, i64 %1, i64 %2, i64 %3) local_u i128_shl64.exit.i.preheader: ; preds = %25, %22, %18, %16, %13 %.ph = phi i64 [ %3, %13 ], [ 0, %16 ], [ 0, %18 ], [ 0, %22 ], [ %30, %25 ] - %.ph10 = phi i64 [ %2, %13 ], [ 0, %16 ], [ %3, %18 ], [ %24, %22 ], [ %29, %25 ] + %.ph16 = phi i64 [ %2, %13 ], [ 0, %16 ], [ %3, %18 ], [ %24, %22 ], [ %29, %25 ] br label %i128_shl64.exit.i i128_shl64.exit.i: ; preds = %i128_shl64.exit.i.preheader, %i128_ucomp.exit.i %31 = phi i64 [ %42, %i128_ucomp.exit.i ], [ %1, %i128_shl64.exit.i.preheader ] %32 = phi i64 [ %43, %i128_ucomp.exit.i ], [ %0, %i128_shl64.exit.i.preheader ] %33 = phi i64 [ %44, %i128_ucomp.exit.i ], [ %.ph, %i128_shl64.exit.i.preheader ] - %34 = phi i64 [ %45, %i128_ucomp.exit.i ], [ %.ph10, %i128_shl64.exit.i.preheader ] + %34 = phi i64 [ %45, %i128_ucomp.exit.i ], [ %.ph16, %i128_shl64.exit.i.preheader ] %.0.i = phi i32 [ %46, %i128_ucomp.exit.i ], [ %11, %i128_shl64.exit.i.preheader ] %35 = icmp ugt i64 %32, %34 br i1 %35, label %select.unfold.i, label %36 @@ -433,7 +433,7 @@ define dso_local { i64, i64 } @i128_udiv(i64 %0, i64 %1, i64 %2, i64 %3) local_u i128_shl64.exit.i.preheader: ; preds = %25, %22, %18, %16, %13 %.ph = phi i64 [ %3, %13 ], [ 0, %16 ], [ 0, %18 ], [ 0, %22 ], [ %30, %25 ] - %.ph10 = phi i64 [ %2, %13 ], [ 0, %16 ], [ %3, %18 ], [ %24, %22 ], [ %29, %25 ] + %.ph14 = phi i64 [ %2, %13 ], [ 0, %16 ], [ %3, %18 ], [ %24, %22 ], [ %29, %25 ] br label %i128_shl64.exit.i i128_shl64.exit.i: ; preds = %i128_shl64.exit.i.preheader, %i128_ucomp.exit.i @@ -442,7 +442,7 @@ i128_shl64.exit.i: ; preds = %i128_shl64.exit.i.p %33 = phi i64 [ %49, %i128_ucomp.exit.i ], [ 0, %i128_shl64.exit.i.preheader ] %34 = phi i64 [ %37, %i128_ucomp.exit.i ], [ 0, %i128_shl64.exit.i.preheader ] %35 = phi i64 [ %50, %i128_ucomp.exit.i ], [ %.ph, %i128_shl64.exit.i.preheader ] - %36 = phi i64 [ %51, %i128_ucomp.exit.i ], [ %.ph10, %i128_shl64.exit.i.preheader ] + %36 = phi i64 [ %51, %i128_ucomp.exit.i ], [ %.ph14, %i128_shl64.exit.i.preheader ] %.0.i = phi i32 [ %52, %i128_ucomp.exit.i ], [ %11, %i128_shl64.exit.i.preheader ] %37 = tail call i64 @llvm.fshl.i64(i64 %34, i64 %33, i64 1) %38 = shl i64 %33, 1 @@ -1838,7 +1838,7 @@ define dso_local void @i128_udivrem(i64 %0, i64 %1, i64 %2, i64 %3, ptr noundef i128_shl64.exit.preheader: ; preds = %16, %19, %21, %25, %28 %.ph = phi i64 [ %33, %28 ], [ 0, %25 ], [ 0, %21 ], [ 0, %19 ], [ %3, %16 ] - %.ph51 = phi i64 [ %32, %28 ], [ %27, %25 ], [ %3, %21 ], [ 0, %19 ], [ %2, %16 ] + %.ph53 = phi i64 [ %32, %28 ], [ %27, %25 ], [ %3, %21 ], [ 0, %19 ], [ %2, %16 ] br label %i128_shl64.exit i128_shl64.exit: ; preds = %i128_shl64.exit.preheader, %i128_ucomp.exit @@ -1847,7 +1847,7 @@ i128_shl64.exit: ; preds = %i128_shl64.exit.pre %36 = phi i64 [ %52, %i128_ucomp.exit ], [ 0, %i128_shl64.exit.preheader ] %37 = phi i64 [ %40, %i128_ucomp.exit ], [ 0, %i128_shl64.exit.preheader ] %38 = phi i64 [ %53, %i128_ucomp.exit ], [ %.ph, %i128_shl64.exit.preheader ] - %39 = phi i64 [ %54, %i128_ucomp.exit ], [ %.ph51, %i128_shl64.exit.preheader ] + %39 = phi i64 [ %54, %i128_ucomp.exit ], [ %.ph53, %i128_shl64.exit.preheader ] %.0 = phi i32 [ %55, %i128_ucomp.exit ], [ %13, %i128_shl64.exit.preheader ] %40 = tail call i64 @llvm.fshl.i64(i64 %37, i64 %36, i64 1) %41 = shl i64 %36, 1 @@ -1981,14 +1981,14 @@ i128_neg.exit25: ; preds = %18, %17, %i128_neg. i128_shl64.exit.i.i.preheader: ; preds = %43, %40, %36, %34, %31 %.ph = phi i64 [ %.sroa.5.0, %31 ], [ 0, %34 ], [ 0, %36 ], [ 0, %40 ], [ %48, %43 ] - %.ph40 = phi i64 [ %.sroa.07.0, %31 ], [ 0, %34 ], [ %.sroa.5.0, %36 ], [ %42, %40 ], [ %47, %43 ] + %.ph42 = phi i64 [ %.sroa.07.0, %31 ], [ 0, %34 ], [ %.sroa.5.0, %36 ], [ %42, %40 ], [ %47, %43 ] br label %i128_shl64.exit.i.i i128_shl64.exit.i.i: ; preds = %i128_shl64.exit.i.i.preheader, %i128_ucomp.exit.i.i %49 = phi i64 [ %60, %i128_ucomp.exit.i.i ], [ %.sroa.514.0, %i128_shl64.exit.i.i.preheader ] %50 = phi i64 [ %61, %i128_ucomp.exit.i.i ], [ %.sroa.011.0, %i128_shl64.exit.i.i.preheader ] %51 = phi i64 [ %62, %i128_ucomp.exit.i.i ], [ %.ph, %i128_shl64.exit.i.i.preheader ] - %52 = phi i64 [ %63, %i128_ucomp.exit.i.i ], [ %.ph40, %i128_shl64.exit.i.i.preheader ] + %52 = phi i64 [ %63, %i128_ucomp.exit.i.i ], [ %.ph42, %i128_shl64.exit.i.i.preheader ] %.0.i.i = phi i32 [ %64, %i128_ucomp.exit.i.i ], [ %29, %i128_shl64.exit.i.i.preheader ] %53 = icmp ugt i64 %50, %52 br i1 %53, label %select.unfold.i.i, label %54 @@ -2149,7 +2149,7 @@ i128_neg.exit25: ; preds = %18, %17, %i128_neg. i128_shl64.exit.i.i.preheader: ; preds = %43, %40, %36, %34, %31 %.ph = phi i64 [ %.sroa.5.0, %31 ], [ 0, %34 ], [ 0, %36 ], [ 0, %40 ], [ %48, %43 ] - %.ph51 = phi i64 [ %.sroa.07.0, %31 ], [ 0, %34 ], [ %.sroa.5.0, %36 ], [ %42, %40 ], [ %47, %43 ] + %.ph53 = phi i64 [ %.sroa.07.0, %31 ], [ 0, %34 ], [ %.sroa.5.0, %36 ], [ %42, %40 ], [ %47, %43 ] br label %i128_shl64.exit.i.i i128_shl64.exit.i.i: ; preds = %i128_shl64.exit.i.i.preheader, %i128_ucomp.exit.i.i @@ -2158,7 +2158,7 @@ i128_shl64.exit.i.i: ; preds = %i128_shl64.exit.i.i %51 = phi i64 [ %67, %i128_ucomp.exit.i.i ], [ 0, %i128_shl64.exit.i.i.preheader ] %52 = phi i64 [ %55, %i128_ucomp.exit.i.i ], [ 0, %i128_shl64.exit.i.i.preheader ] %53 = phi i64 [ %68, %i128_ucomp.exit.i.i ], [ %.ph, %i128_shl64.exit.i.i.preheader ] - %54 = phi i64 [ %69, %i128_ucomp.exit.i.i ], [ %.ph51, %i128_shl64.exit.i.i.preheader ] + %54 = phi i64 [ %69, %i128_ucomp.exit.i.i ], [ %.ph53, %i128_shl64.exit.i.i.preheader ] %.0.i.i = phi i32 [ %70, %i128_ucomp.exit.i.i ], [ %29, %i128_shl64.exit.i.i.preheader ] %55 = tail call i64 @llvm.fshl.i64(i64 %52, i64 %51, i64 1) %56 = shl i64 %51, 1 @@ -3202,7 +3202,7 @@ define dso_local void @int_div(ptr dead_on_unwind noalias writable writeonly sre i128_shl64.exit.i.i.preheader: ; preds = %37, %34, %30, %28, %25 %.ph = phi i64 [ %15, %25 ], [ 0, %28 ], [ 0, %30 ], [ 0, %34 ], [ %42, %37 ] - %.ph12 = phi i64 [ %13, %25 ], [ 0, %28 ], [ %15, %30 ], [ %36, %34 ], [ %41, %37 ] + %.ph16 = phi i64 [ %13, %25 ], [ 0, %28 ], [ %15, %30 ], [ %36, %34 ], [ %41, %37 ] br label %i128_shl64.exit.i.i i128_shl64.exit.i.i: ; preds = %i128_shl64.exit.i.i.preheader, %i128_ucomp.exit.i.i @@ -3211,7 +3211,7 @@ i128_shl64.exit.i.i: ; preds = %i128_shl64.exit.i.i %45 = phi i64 [ %61, %i128_ucomp.exit.i.i ], [ 0, %i128_shl64.exit.i.i.preheader ] %46 = phi i64 [ %49, %i128_ucomp.exit.i.i ], [ 0, %i128_shl64.exit.i.i.preheader ] %47 = phi i64 [ %62, %i128_ucomp.exit.i.i ], [ %.ph, %i128_shl64.exit.i.i.preheader ] - %48 = phi i64 [ %63, %i128_ucomp.exit.i.i ], [ %.ph12, %i128_shl64.exit.i.i.preheader ] + %48 = phi i64 [ %63, %i128_ucomp.exit.i.i ], [ %.ph16, %i128_shl64.exit.i.i.preheader ] %.0.i.i = phi i32 [ %64, %i128_ucomp.exit.i.i ], [ %23, %i128_shl64.exit.i.i.preheader ] %49 = tail call i64 @llvm.fshl.i64(i64 %46, i64 %45, i64 1) %50 = shl i64 %45, 1 @@ -3331,14 +3331,14 @@ define dso_local void @int_rem(ptr dead_on_unwind noalias writable writeonly sre i128_shl64.exit.i.i.preheader: ; preds = %37, %34, %30, %28, %25 %.ph = phi i64 [ %15, %25 ], [ 0, %28 ], [ 0, %30 ], [ 0, %34 ], [ %42, %37 ] - %.ph12 = phi i64 [ %13, %25 ], [ 0, %28 ], [ %15, %30 ], [ %36, %34 ], [ %41, %37 ] + %.ph14 = phi i64 [ %13, %25 ], [ 0, %28 ], [ %15, %30 ], [ %36, %34 ], [ %41, %37 ] br label %i128_shl64.exit.i.i i128_shl64.exit.i.i: ; preds = %i128_shl64.exit.i.i.preheader, %i128_ucomp.exit.i.i %43 = phi i64 [ %54, %i128_ucomp.exit.i.i ], [ %12, %i128_shl64.exit.i.i.preheader ] %44 = phi i64 [ %55, %i128_ucomp.exit.i.i ], [ %10, %i128_shl64.exit.i.i.preheader ] %45 = phi i64 [ %56, %i128_ucomp.exit.i.i ], [ %.ph, %i128_shl64.exit.i.i.preheader ] - %46 = phi i64 [ %57, %i128_ucomp.exit.i.i ], [ %.ph12, %i128_shl64.exit.i.i.preheader ] + %46 = phi i64 [ %57, %i128_ucomp.exit.i.i ], [ %.ph14, %i128_shl64.exit.i.i.preheader ] %.0.i.i = phi i32 [ %58, %i128_ucomp.exit.i.i ], [ %23, %i128_shl64.exit.i.i.preheader ] %47 = icmp ugt i64 %44, %46 br i1 %47, label %select.unfold.i.i, label %48 diff --git a/bench/c3c/optimized/project_creation.ll b/bench/c3c/optimized/project_creation.ll index ca1b8ebd25e..edd623c9781 100644 --- a/bench/c3c/optimized/project_creation.ll +++ b/bench/c3c/optimized/project_creation.ll @@ -349,17 +349,17 @@ define internal fastcc ptr @module_name(ptr noundef readonly captures(none) %0) br i1 %.not, label %._crit_edge.thread, label %.lr.ph .lr.ph: ; preds = %1, %16 - %.026 = phi i8 [ %.1, %16 ], [ 0, %1 ] - %.02325 = phi i64 [ %17, %16 ], [ 0, %1 ] + %.028 = phi i8 [ %.1, %16 ], [ 0, %1 ] + %.02327 = phi i64 [ %17, %16 ], [ 0, %1 ] %5 = load ptr, ptr %2, align 8 - %6 = getelementptr inbounds i8, ptr %5, i64 %.02325 + %6 = getelementptr inbounds i8, ptr %5, i64 %.02327 %7 = load i8, ptr %6, align 1 %8 = add i8 %7, -48 %or.cond = icmp ult i8 %8, 10 br i1 %or.cond, label %9, label %12 9: ; preds = %.lr.ph - %10 = trunc nuw i8 %.026 to i1 + %10 = trunc nuw i8 %.028 to i1 br i1 %10, label %16, label %11 11: ; preds = %9 @@ -369,17 +369,17 @@ define internal fastcc ptr @module_name(ptr noundef readonly captures(none) %0) 12: ; preds = %.lr.ph %13 = and i8 %7, -33 %14 = add i8 %13, -65 - %or.cond24 = icmp ult i8 %14, 26 + %or.cond26 = icmp ult i8 %14, 26 %15 = or i8 %7, 32 - %spec.select = select i1 %or.cond24, i8 %15, i8 95 - %spec.select29 = select i1 %or.cond24, i8 1, i8 %.026 + %spec.select = select i1 %or.cond26, i8 %15, i8 95 + %spec.select31 = select i1 %or.cond26, i8 1, i8 %.028 br label %16 16: ; preds = %12, %9, %11 %.sink = phi i8 [ %7, %11 ], [ %7, %9 ], [ %spec.select, %12 ] - %.1 = phi i8 [ 1, %11 ], [ 1, %9 ], [ %spec.select29, %12 ] + %.1 = phi i8 [ 1, %11 ], [ 1, %9 ], [ %spec.select31, %12 ] tail call void @scratch_buffer_append_char(i8 noundef signext %.sink) #9 - %17 = add nuw i64 %.02325, 1 + %17 = add nuw i64 %.02327, 1 %exitcond.not = icmp eq i64 %17, %4 br i1 %exitcond.not, label %._crit_edge, label %.lr.ph, !llvm.loop !9 diff --git a/bench/c3c/optimized/sema_stmts.ll b/bench/c3c/optimized/sema_stmts.ll index 3b7dfc9a12b..583302ceddb 100644 --- a/bench/c3c/optimized/sema_stmts.ll +++ b/bench/c3c/optimized/sema_stmts.ll @@ -1116,8 +1116,8 @@ sema_analyse_compound_stmt.exit: ; preds = %248, %234 %337 = load i32, ptr %336, align 8 %.not.i32.i = icmp eq i32 %337, 0 %338 = load ptr, ptr @ast_arena, align 8 - %.not30.i365680 = icmp eq ptr %338, null - %.not30.i365 = select i1 %.not.i32.i, i1 true, i1 %.not30.i365680 + %.not30.i365681 = icmp eq ptr %338, null + %.not30.i365 = select i1 %.not.i32.i, i1 true, i1 %.not30.i365681 br i1 %.not30.i365, label %select.unfold._crit_edge, label %.lr.ph368.preheader .lr.ph368.preheader: ; preds = %335 @@ -1126,7 +1126,7 @@ sema_analyse_compound_stmt.exit: ; preds = %248, %234 %341 = getelementptr inbounds nuw i8, ptr %340, i64 12 %342 = load i8, ptr %341, align 4 %343 = icmp eq i8 %342, 10 - br i1 %343, label %.lr.ph368._crit_edge, label %.lr.ph970 + br i1 %343, label %.lr.ph368._crit_edge, label %.lr.ph971 select.unfold._crit_edge: ; preds = %select.unfold, %335 store i8 24, ptr %20, align 4 @@ -1138,10 +1138,10 @@ select.unfold._crit_edge: ; preds = %select.unfold, %335 %346 = getelementptr inbounds nuw i8, ptr %345, i64 12 %347 = load i8, ptr %346, align 4 %348 = icmp eq i8 %347, 10 - br i1 %348, label %.lr.ph368._crit_edge, label %.lr.ph970 + br i1 %348, label %.lr.ph368._crit_edge, label %.lr.ph971 .lr.ph368._crit_edge: ; preds = %.lr.ph368, %.lr.ph368.preheader - %.lcssa898 = phi ptr [ %338, %.lr.ph368.preheader ], [ %418, %.lr.ph368 ] + %.lcssa899 = phi ptr [ %338, %.lr.ph368.preheader ], [ %418, %.lr.ph368 ] %.0.i89366.lcssa = phi ptr [ %340, %.lr.ph368.preheader ], [ %345, %.lr.ph368 ] %349 = getelementptr inbounds nuw i8, ptr %.0.i89366.lcssa, i64 16 %350 = load i32, ptr %349, align 8 @@ -1156,7 +1156,7 @@ select.unfold._crit_edge: ; preds = %select.unfold, %335 %353 = getelementptr inbounds nuw i8, ptr %1, i64 8 %354 = load i32, ptr %353, align 8 %355 = zext i32 %350 to i64 - %356 = getelementptr inbounds nuw %struct.Ast_, ptr %.lcssa898, i64 %355 + %356 = getelementptr inbounds nuw %struct.Ast_, ptr %.lcssa899, i64 %355 tail call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(48) %1, ptr noundef nonnull align 8 dereferenceable(48) %356, i64 48, i1 false) %357 = load ptr, ptr @ast_arena, align 8 %358 = ptrtoint ptr %1 to i64 @@ -1207,9 +1207,9 @@ select.unfold._crit_edge: ; preds = %select.unfold, %335 store i32 %354, ptr %379, align 8 br label %sema_analyse_then_overwrite.exit.i94.thread -.lr.ph970: ; preds = %.lr.ph368.preheader, %.lr.ph368 - %.0.i89366969 = phi ptr [ %345, %.lr.ph368 ], [ %340, %.lr.ph368.preheader ] - %380 = getelementptr inbounds nuw i8, ptr %.0.i89366969, i64 16 +.lr.ph971: ; preds = %.lr.ph368.preheader, %.lr.ph368 + %.0.i89366970 = phi ptr [ %345, %.lr.ph368 ], [ %340, %.lr.ph368.preheader ] + %380 = getelementptr inbounds nuw i8, ptr %.0.i89366970, i64 16 %381 = load ptr, ptr %380, align 8 %382 = tail call i32 @sema_check_comp_time_bool(ptr noundef %0, ptr noundef %381) #8 switch i32 %382, label %383 [ @@ -1217,8 +1217,8 @@ select.unfold._crit_edge: ; preds = %select.unfold, %335 i32 0, label %select.unfold ] -383: ; preds = %.lr.ph970 - %384 = getelementptr inbounds nuw i8, ptr %.0.i89366969, i64 28 +383: ; preds = %.lr.ph971 + %384 = getelementptr inbounds nuw i8, ptr %.0.i89366970, i64 28 %385 = load i32, ptr %384, align 4 %.not.i41.i = icmp eq i32 %385, 0 br i1 %.not.i41.i, label %386, label %387 @@ -1283,20 +1283,20 @@ select.unfold._crit_edge: ; preds = %select.unfold, %335 store i32 %389, ptr %415, align 8 br label %sema_analyse_then_overwrite.exit.i94.thread -select.unfold: ; preds = %.lr.ph970 - %416 = getelementptr inbounds nuw i8, ptr %.0.i89366969, i64 24 +select.unfold: ; preds = %.lr.ph971 + %416 = getelementptr inbounds nuw i8, ptr %.0.i89366970, i64 24 %417 = load i32, ptr %416, align 8 %.not.i49.i = icmp eq i32 %417, 0 %418 = load ptr, ptr @ast_arena, align 8 - %.not30.i849 = icmp eq ptr %418, null - %.not30.i = select i1 %.not.i49.i, i1 true, i1 %.not30.i849 + %.not30.i850 = icmp eq ptr %418, null + %.not30.i = select i1 %.not.i49.i, i1 true, i1 %.not30.i850 br i1 %.not30.i, label %select.unfold._crit_edge, label %.lr.ph368 sema_analyse_then_overwrite.exit.i94.thread: ; preds = %386, %._crit_edge376, %351, %._crit_edge385, %305, %._crit_edge394, %select.unfold._crit_edge tail call void @sema_context_pop_ct_stack(ptr noundef %0, i32 noundef %298) #8 br label %sema_analyse_statement_inner.exit.thread196 -sema_analyse_then_overwrite.exit.i94: ; preds = %.lr.ph970, %.lr.ph372, %.lr.ph381, %.lr.ph390, %297 +sema_analyse_then_overwrite.exit.i94: ; preds = %.lr.ph971, %.lr.ph372, %.lr.ph381, %.lr.ph390, %297 tail call void @sema_context_pop_ct_stack(ptr noundef %0, i32 noundef %298) #8 br label %.sink.split @@ -2245,9 +2245,9 @@ sema_analyse_defer_stmt_body.exit.i: ; preds = %434 br label %962 962: ; preds = %957, %955 - %.sink838 = phi ptr [ %961, %957 ], [ %956, %955 ] + %.sink839 = phi ptr [ %961, %957 ], [ %956, %955 ] %963 = load ptr, ptr @expr_arena, align 8 - %964 = ptrtoint ptr %.sink838 to i64 + %964 = ptrtoint ptr %.sink839 to i64 %965 = ptrtoint ptr %963 to i64 %966 = sub i64 %964, %965 %.sink.in = sdiv exact i64 %966, 56 @@ -2337,9 +2337,9 @@ sema_analyse_defer_stmt_body.exit.i: ; preds = %434 br label %1016 1016: ; preds = %1014, %1009 - %.sink842 = phi ptr [ %1015, %1014 ], [ %1013, %1009 ] + %.sink843 = phi ptr [ %1015, %1014 ], [ %1013, %1009 ] %1017 = load ptr, ptr @expr_arena, align 8 - %1018 = ptrtoint ptr %.sink842 to i64 + %1018 = ptrtoint ptr %.sink843 to i64 %1019 = ptrtoint ptr %1017 to i64 %1020 = sub i64 %1018, %1019 %.sink562.in = sdiv exact i64 %1020, 56 @@ -2479,7 +2479,7 @@ sema_analyse_foreach_stmt.exit: ; preds = %1028, %1053 %1097 = icmp eq i8 %1096, 22 %1098 = zext i1 %1097 to i32 %1099 = tail call fastcc zeroext i1 @sema_analyse_cond(ptr noundef nonnull %0, ptr noundef %1078, i32 noundef %1098) - br i1 %1099, label %1100, label %.critedge.i58.thread681 + br i1 %1099, label %1100, label %.critedge.i58.thread682 1100: ; preds = %1089 %1101 = load i8, ptr %1084, align 4 @@ -2489,11 +2489,11 @@ sema_analyse_foreach_stmt.exit: ; preds = %1028, %1053 .critedge.i58.thread: ; preds = %1100 %1102 = load i64, ptr %1083, align 8 tail call void (i64, ptr, ...) @sema_error_at(i64 %1102, ptr noundef nonnull @.str.80) #8 - br label %.critedge.i58.thread681 + br label %.critedge.i58.thread682 .critedge.i58: ; preds = %1100 - %.not848 = icmp eq ptr %1094, null - br i1 %.not848, label %.critedge.i58.thread681, label %1103 + %.not849 = icmp eq ptr %1094, null + br i1 %.not849, label %.critedge.i58.thread682, label %1103 1103: ; preds = %.critedge.i58 %1104 = load i8, ptr %1084, align 4 @@ -2505,35 +2505,35 @@ sema_analyse_foreach_stmt.exit: ; preds = %1028, %1053 .thread178: ; preds = %1103 %1105 = load i64, ptr %1083, align 8 tail call void (i64, ptr, ...) @sema_error_at(i64 %1105, ptr noundef nonnull @.str.81) #8 - br label %.critedge.i58.thread681 + br label %.critedge.i58.thread682 1106: ; preds = %1103, %1103 %1107 = getelementptr inbounds nuw i8, ptr %1093, i64 12 %1108 = load i8, ptr %1107, align 4 switch i8 %1108, label %1109 [ - i8 6, label %.critedge.i58.thread681 - i8 23, label %.critedge.i58.thread681 + i8 6, label %.critedge.i58.thread682 + i8 23, label %.critedge.i58.thread682 ] 1109: ; preds = %1106 %1110 = load i64, ptr %1093, align 8 tail call void (i64, ptr, ...) @sema_error_at(i64 %1110, ptr noundef nonnull @.str.82) #8 - br label %.critedge.i58.thread681 + br label %.critedge.i58.thread682 -.critedge.i58.thread681: ; preds = %1089, %.thread178, %.critedge.i58.thread, %1109, %1106, %1106, %.critedge.i58 +.critedge.i58.thread682: ; preds = %1089, %.thread178, %.critedge.i58.thread, %1109, %1106, %1106, %.critedge.i58 %.1.i61 = phi i8 [ 0, %1109 ], [ 1, %1106 ], [ 1, %.critedge.i58 ], [ 1, %1106 ], [ 0, %.critedge.i58.thread ], [ 0, %.thread178 ], [ 0, %1089 ] %1111 = load i8, ptr %24, align 4 %1112 = and i8 %1111, 3 %or.cond103.i.not = icmp eq i8 %1112, 2 br i1 %or.cond103.i.not, label %1113, label %1115 -1113: ; preds = %.critedge.i58.thread681 +1113: ; preds = %.critedge.i58.thread682 %1114 = load i64, ptr %1083, align 8 tail call void (i64, ptr, ...) @sema_error_at(i64 %1114, ptr noundef nonnull @.str.83) #8 br label %1115 -1115: ; preds = %1113, %.critedge.i58.thread681 - %.3.i = phi i8 [ 0, %1113 ], [ %.1.i61, %.critedge.i58.thread681 ] +1115: ; preds = %1113, %.critedge.i58.thread682 + %.3.i = phi i8 [ 0, %1113 ], [ %.1.i61, %.critedge.i58.thread682 ] %1116 = load i8, ptr %1084, align 4 %1117 = icmp eq i8 %1116, 22 br i1 %1117, label %1118, label %1137 @@ -2588,8 +2588,8 @@ sema_analyse_foreach_stmt.exit: ; preds = %1028, %1053 br i1 %1141, label %1143, label %.thread186 .thread186.sink.split: ; preds = %1137, %1132 - %.sink843 = phi ptr [ %10, %1132 ], [ %11, %1137 ] - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(48) %1095, ptr noundef nonnull align 8 dereferenceable(48) %.sink843, i64 48, i1 false) + %.sink844 = phi ptr [ %10, %1132 ], [ %11, %1137 ] + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(48) %1095, ptr noundef nonnull align 8 dereferenceable(48) %.sink844, i64 48, i1 false) br label %.thread186 .thread186: ; preds = %.thread186.sink.split, %1134, %1140 @@ -2598,7 +2598,7 @@ sema_analyse_foreach_stmt.exit: ; preds = %1028, %1053 br label %sema_analyse_if_stmt.exit 1143: ; preds = %1134, %1140 - %.085.in.in.i684 = phi i8 [ %1136, %1134 ], [ %1142, %1140 ] + %.085.in.in.i685 = phi i8 [ %1136, %1134 ], [ %1142, %1140 ] %1144 = load i32, ptr %1090, align 8 %.not99.i65 = icmp eq i32 %1144, 0 br i1 %.not99.i65, label %.thread182, label %1145 @@ -2697,8 +2697,8 @@ sema_remove_unwraps_from_try.exit.i: ; preds = %1182 br i1 %.not.i109.i, label %.thread.i.i, label %sema_remove_unwraps_from_try.exit.i.thread sema_remove_unwraps_from_try.exit.i.thread: ; preds = %1148, %1151, %1156, %1160, %1163, %sema_remove_unwraps_from_try.exit.i - %.val106.i.pr688 = phi ptr [ %.val106.i.pr.pre, %sema_remove_unwraps_from_try.exit.i ], [ %.val.i, %1163 ], [ %.val.i, %1160 ], [ %.val.i, %1156 ], [ %.val.i, %1151 ], [ %.val.i, %1148 ] - %1183 = getelementptr inbounds i8, ptr %.val106.i.pr688, i64 -8 + %.val106.i.pr689 = phi ptr [ %.val106.i.pr.pre, %sema_remove_unwraps_from_try.exit.i ], [ %.val.i, %1163 ], [ %.val.i, %1160 ], [ %.val.i, %1156 ], [ %.val.i, %1151 ], [ %.val.i, %1148 ] + %1183 = getelementptr inbounds i8, ptr %.val106.i.pr689, i64 -8 %1184 = load i32, ptr %1183, align 4 %.not35.i110.i = icmp eq i32 %1184, 0 br i1 %.not35.i110.i, label %.thread.i.i, label %1185 @@ -2706,7 +2706,7 @@ sema_remove_unwraps_from_try.exit.i.thread: ; preds = %1148, %1151, %1156, 1185: ; preds = %sema_remove_unwraps_from_try.exit.i.thread %1186 = add i32 %1184, -1 %1187 = zext i32 %1186 to i64 - %1188 = getelementptr inbounds nuw ptr, ptr %.val106.i.pr688, i64 %1187 + %1188 = getelementptr inbounds nuw ptr, ptr %.val106.i.pr689, i64 %1187 %1189 = load ptr, ptr %1188, align 8 br label %.thread.i.i @@ -2796,7 +2796,7 @@ sema_remove_unwraps_from_try.exit.i.thread: ; preds = %1148, %1151, %1156, 1226: ; preds = %.thread182, %.loopexit222 %.084.i62185 = phi i1 [ false, %.thread182 ], [ %1225, %.loopexit222 ] - %1227 = and i8 %.085.in.in.i684, 2 + %1227 = and i8 %.085.in.in.i685, 2 %.not100.i64 = icmp eq i8 %1227, 0 br i1 %.not100.i64, label %sema_analyse_if_stmt.exit.thread, label %1228 @@ -3393,7 +3393,7 @@ sema_analyse_macro_constant_ensures.exit.i.i: ; preds = %.backedge.i.i.i, %1 %1510 = load i32, ptr %1509, align 8 %1511 = zext i32 %1510 to i64 %1512 = getelementptr inbounds nuw %struct.Expr_, ptr %1499, i64 %1511 - br label %.preheader1023 + br label %.preheader1024 1513: ; preds = %1500 %1514 = getelementptr inbounds nuw i8, ptr %.081.i, i64 32 @@ -3412,14 +3412,14 @@ sema_analyse_macro_constant_ensures.exit.i.i: ; preds = %.backedge.i.i.i, %1 1519: ; preds = %1513 %1520 = getelementptr inbounds nuw i8, ptr %.081.i, i64 24 %1521 = load ptr, ptr %1520, align 8 - br label %.preheader1023 + br label %.preheader1024 -.preheader1023: ; preds = %1519, %1508 +.preheader1024: ; preds = %1519, %1508 %.2.i.ph = phi ptr [ %1521, %1519 ], [ %1512, %1508 ] br label %1522 -1522: ; preds = %.preheader1023, %1525 - %.2.i = phi ptr [ %1527, %1525 ], [ %.2.i.ph, %.preheader1023 ] +1522: ; preds = %.preheader1024, %1525 + %.2.i = phi ptr [ %1527, %1525 ], [ %.2.i.ph, %.preheader1024 ] %1523 = getelementptr inbounds nuw i8, ptr %.2.i, i64 16 %1524 = load i16, ptr %1523, align 8 %trunc117.i = trunc i16 %1524 to i8 @@ -3663,18 +3663,18 @@ sema_return_optional_check_is_valid_in_scope.exit.i: ; preds = %1591, %1571 %1643 = getelementptr inbounds nuw i8, ptr %1, i64 24 %1644 = load i32, ptr %1643, align 8 %.not111.i = icmp eq i32 %1644, 0 - br i1 %.not111.i, label %1649, label %.preheader862 + br i1 %.not111.i, label %1649, label %.preheader863 -.preheader862: ; preds = %1642, %.preheader862 - %.pn.in.i = phi i32 [ %1646, %.preheader862 ], [ %1644, %1642 ] +.preheader863: ; preds = %1642, %.preheader863 + %.pn.in.i = phi i32 [ %1646, %.preheader863 ], [ %1644, %1642 ] %.pn.i = zext i32 %.pn.in.i to i64 %.082.i = getelementptr inbounds nuw %struct.Ast_, ptr %1639, i64 %.pn.i %1645 = getelementptr inbounds nuw i8, ptr %.082.i, i64 8 %1646 = load i32, ptr %1645, align 8 %.not112.i = icmp eq i32 %1646, 0 - br i1 %.not112.i, label %1647, label %.preheader862, !llvm.loop !25 + br i1 %.not112.i, label %1647, label %.preheader863, !llvm.loop !25 -1647: ; preds = %.preheader862 +1647: ; preds = %.preheader863 %1648 = getelementptr inbounds nuw i8, ptr %.082.i, i64 8 store i32 %.pre145.i, ptr %1648, align 8 br label %sema_analyse_return_stmt.exit @@ -4474,12 +4474,12 @@ sema_analyse_return_stmt.exit: ; preds = %1473, %1607, %.loop br i1 %exitcond547.not, label %._crit_edge342, label %1933, !llvm.loop !30 ._crit_edge342: ; preds = %2069, %1928 - %.0127.i692 = phi i32 [ 0, %1928 ], [ %1930, %2069 ] + %.0127.i693 = phi i32 [ 0, %1928 ], [ %1930, %2069 ] %.0133.i.lcssa = phi i32 [ 0, %1928 ], [ %.1134.i, %2069 ] %.0130.i.lcssa = phi i32 [ 0, %1928 ], [ %.1131.i, %2069 ] - %2070 = icmp eq i32 %.0130.i.lcssa, %.0127.i692 + %2070 = icmp eq i32 %.0130.i.lcssa, %.0127.i693 %spec.select154.i = select i1 %2070, i32 %.0133.i.lcssa, i32 %.0130.i.lcssa - %2071 = icmp ult i32 %spec.select154.i, %.0127.i692 + %2071 = icmp ult i32 %spec.select154.i, %.0127.i693 br i1 %2071, label %.lr.ph347.preheader, label %._crit_edge348 .lr.ph347.preheader: ; preds = %._crit_edge342 @@ -4489,7 +4489,7 @@ sema_analyse_return_stmt.exit: ; preds = %1473, %1607, %.loop 2073: ; preds = %.lr.ph347 %indvars.iv.next549 = add nuw nsw i64 %indvars.iv548, 1 %2074 = trunc nsw i64 %indvars.iv.next549 to i32 - %2075 = icmp ugt i32 %.0127.i692, %2074 + %2075 = icmp ugt i32 %.0127.i693, %2074 br i1 %2075, label %.lr.ph347, label %._crit_edge348, !llvm.loop !31 .lr.ph347: ; preds = %.lr.ph347.preheader, %2073 @@ -4605,8 +4605,8 @@ sema_analyse_then_overwrite.exit.i: ; preds = %1974, %1971, %1962, 2128: ; preds = %2123 %2129 = getelementptr inbounds nuw i8, ptr %2121, i64 24 %2130 = load i16, ptr %2129, align 8 - %trunc847 = trunc i16 %2130 to i8 - switch i8 %trunc847, label %.critedge2.i [ + %trunc848 = trunc i16 %2130 to i8 + switch i8 %trunc848, label %.critedge2.i [ i8 10, label %.critedge4.i i8 9, label %2133 ] @@ -5108,9 +5108,9 @@ sema_analyse_statement_inner.exit.thread198: ; preds = %._crit_edge416, %23 unreachable sema_analyse_statement_inner.exit.sink.split: ; preds = %2270, %2276, %2309 - %.lcssa723.sink = phi ptr [ %2307, %2309 ], [ %2265, %2276 ], [ %2265, %2270 ] + %.lcssa724.sink = phi ptr [ %2307, %2309 ], [ %2265, %2276 ], [ %2265, %2270 ] %.str.130.sink = phi ptr [ @.str.131, %2309 ], [ @.str.130, %2276 ], [ @.str.130, %2270 ] - %2357 = getelementptr inbounds nuw i8, ptr %.lcssa723.sink, i64 8 + %2357 = getelementptr inbounds nuw i8, ptr %.lcssa724.sink, i64 8 %2358 = load i64, ptr %2357, align 8 tail call void (i64, ptr, ...) @sema_error_at(i64 %2358, ptr noundef nonnull %.str.130.sink) #8 br label %sema_analyse_statement_inner.exit @@ -5152,9 +5152,9 @@ sema_analyse_statement_inner.exit.thread196: ; preds = %73, %.thread, %sema br label %.sink.split .sink.split: ; preds = %.lr.ph.i127, %74, %42, %40, %2366, %2363, %2363, %sema_analyse_compound_stmt.exit, %295, %419, %sema_analyse_foreach_stmt.exit, %1070, %1650, %sema_analyse_statement_inner.exit, %sema_analyse_foreach_stmt.exit.thread, %sema_analyse_if_stmt.exit, %sema_analyse_return_stmt.exit.thread, %sema_analyse_ct_foreach_stmt.exit, %232, %432, %.critedge.i.i135, %52, %127, %134, %.critedge.i123, %92, %.loopexit.i131, %.critedge70.i, %164, %.loopexit.i120, %context_labels_exist_in_scope.exit.i, %207, %277, %261, %265, %sema_analyse_then_overwrite.exit.i94, %421, %sema_analyse_defer_stmt_body.exit.i.thread, %sema_analyse_defer_stmt_body.exit.i, %473, %477, %1690, %._crit_edge183.i, %1775, %._crit_edge179.i, %._crit_edge.i, %1754, %1697, %1672, %1671, %1679, %1761, %1820, %sema_analyse_then_overwrite.exit.i, %2370 - %.sink846 = phi i8 [ 0, %2370 ], [ 0, %sema_analyse_then_overwrite.exit.i ], [ 0, %1820 ], [ 0, %1761 ], [ 0, %1679 ], [ 0, %1671 ], [ 0, %1672 ], [ 0, %1697 ], [ 0, %1754 ], [ 0, %._crit_edge.i ], [ 0, %._crit_edge179.i ], [ 0, %1775 ], [ 0, %._crit_edge183.i ], [ 0, %1690 ], [ 0, %477 ], [ 0, %473 ], [ 0, %sema_analyse_defer_stmt_body.exit.i ], [ 0, %sema_analyse_defer_stmt_body.exit.i.thread ], [ 0, %421 ], [ 0, %sema_analyse_then_overwrite.exit.i94 ], [ 0, %265 ], [ 0, %261 ], [ 0, %277 ], [ 0, %207 ], [ 0, %context_labels_exist_in_scope.exit.i ], [ 0, %.loopexit.i120 ], [ 0, %164 ], [ 0, %.critedge70.i ], [ 0, %.loopexit.i131 ], [ 0, %92 ], [ 0, %.critedge.i123 ], [ 0, %134 ], [ 0, %127 ], [ 0, %52 ], [ 0, %.critedge.i.i135 ], [ 0, %432 ], [ 0, %232 ], [ 0, %sema_analyse_ct_foreach_stmt.exit ], [ 0, %sema_analyse_return_stmt.exit.thread ], [ 0, %sema_analyse_if_stmt.exit ], [ 0, %sema_analyse_foreach_stmt.exit.thread ], [ 0, %sema_analyse_statement_inner.exit ], [ 0, %1650 ], [ 0, %1070 ], [ 0, %sema_analyse_foreach_stmt.exit ], [ 0, %419 ], [ 0, %295 ], [ 0, %sema_analyse_compound_stmt.exit ], [ 24, %2363 ], [ 24, %2363 ], [ 24, %2366 ], [ 0, %40 ], [ 0, %42 ], [ 0, %74 ], [ 0, %.lr.ph.i127 ] + %.sink847 = phi i8 [ 0, %2370 ], [ 0, %sema_analyse_then_overwrite.exit.i ], [ 0, %1820 ], [ 0, %1761 ], [ 0, %1679 ], [ 0, %1671 ], [ 0, %1672 ], [ 0, %1697 ], [ 0, %1754 ], [ 0, %._crit_edge.i ], [ 0, %._crit_edge179.i ], [ 0, %1775 ], [ 0, %._crit_edge183.i ], [ 0, %1690 ], [ 0, %477 ], [ 0, %473 ], [ 0, %sema_analyse_defer_stmt_body.exit.i ], [ 0, %sema_analyse_defer_stmt_body.exit.i.thread ], [ 0, %421 ], [ 0, %sema_analyse_then_overwrite.exit.i94 ], [ 0, %265 ], [ 0, %261 ], [ 0, %277 ], [ 0, %207 ], [ 0, %context_labels_exist_in_scope.exit.i ], [ 0, %.loopexit.i120 ], [ 0, %164 ], [ 0, %.critedge70.i ], [ 0, %.loopexit.i131 ], [ 0, %92 ], [ 0, %.critedge.i123 ], [ 0, %134 ], [ 0, %127 ], [ 0, %52 ], [ 0, %.critedge.i.i135 ], [ 0, %432 ], [ 0, %232 ], [ 0, %sema_analyse_ct_foreach_stmt.exit ], [ 0, %sema_analyse_return_stmt.exit.thread ], [ 0, %sema_analyse_if_stmt.exit ], [ 0, %sema_analyse_foreach_stmt.exit.thread ], [ 0, %sema_analyse_statement_inner.exit ], [ 0, %1650 ], [ 0, %1070 ], [ 0, %sema_analyse_foreach_stmt.exit ], [ 0, %419 ], [ 0, %295 ], [ 0, %sema_analyse_compound_stmt.exit ], [ 24, %2363 ], [ 24, %2363 ], [ 24, %2366 ], [ 0, %40 ], [ 0, %42 ], [ 0, %74 ], [ 0, %.lr.ph.i127 ] %.0.ph = phi i1 [ false, %2370 ], [ false, %sema_analyse_then_overwrite.exit.i ], [ false, %1820 ], [ false, %1761 ], [ false, %1679 ], [ false, %1671 ], [ false, %1672 ], [ false, %1697 ], [ false, %1754 ], [ false, %._crit_edge.i ], [ false, %._crit_edge179.i ], [ false, %1775 ], [ false, %._crit_edge183.i ], [ false, %1690 ], [ false, %477 ], [ false, %473 ], [ false, %sema_analyse_defer_stmt_body.exit.i ], [ false, %sema_analyse_defer_stmt_body.exit.i.thread ], [ false, %421 ], [ false, %sema_analyse_then_overwrite.exit.i94 ], [ false, %265 ], [ false, %261 ], [ false, %277 ], [ false, %207 ], [ false, %context_labels_exist_in_scope.exit.i ], [ false, %.loopexit.i120 ], [ false, %164 ], [ false, %.critedge70.i ], [ false, %.loopexit.i131 ], [ false, %92 ], [ false, %.critedge.i123 ], [ false, %134 ], [ false, %127 ], [ false, %52 ], [ false, %.critedge.i.i135 ], [ false, %432 ], [ false, %232 ], [ false, %sema_analyse_ct_foreach_stmt.exit ], [ false, %sema_analyse_return_stmt.exit.thread ], [ false, %sema_analyse_if_stmt.exit ], [ false, %sema_analyse_foreach_stmt.exit.thread ], [ false, %sema_analyse_statement_inner.exit ], [ false, %1650 ], [ false, %1070 ], [ false, %sema_analyse_foreach_stmt.exit ], [ false, %419 ], [ false, %295 ], [ false, %sema_analyse_compound_stmt.exit ], [ true, %2363 ], [ true, %2363 ], [ true, %2366 ], [ false, %40 ], [ false, %42 ], [ false, %74 ], [ false, %.lr.ph.i127 ] - store i8 %.sink846, ptr %20, align 4 + store i8 %.sink847, ptr %20, align 4 br label %2372 2372: ; preds = %.sink.split, %sema_analyse_statement_inner.exit.thread196, %2360, %2 diff --git a/bench/casadi/optimized/map.ll b/bench/casadi/optimized/map.ll index 6cf4367beac..c62d9433528 100644 --- a/bench/casadi/optimized/map.ll +++ b/bench/casadi/optimized/map.ll @@ -12545,7 +12545,7 @@ define linkonce_odr hidden void @_ZNK6casadi3Map4infoB5cxx11Ev(ptr dead_on_unwin %6 = getelementptr inbounds nuw i8, ptr %4, i64 40 %7 = getelementptr inbounds nuw i8, ptr %1, i64 1320 invoke void @_ZNSt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN6casadi11GenericTypeEEC2IRA2_KcRKxTnNSt9enable_ifIXaaclsr5_PCCPE22_MoveConstructiblePairIT_T0_EEclsr5_PCCPE30_ImplicitlyMoveConvertiblePairISH_SI_EEEbE4typeELb1EEEOSH_OSI_(ptr noundef nonnull align 8 dereferenceable(40) %6, ptr noundef nonnull align 1 dereferenceable(2) @.str.95, ptr noundef nonnull align 8 dereferenceable(8) %7) - to label %8 unwind label %.loopexit.loopexit9 + to label %8 unwind label %.loopexit.loopexit13 8: ; preds = %2 %9 = getelementptr inbounds nuw i8, ptr %0, i64 8 @@ -12625,7 +12625,7 @@ _ZNSt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN6casadi11Generi call void @llvm.lifetime.end.p0(ptr nonnull %4) ret void -.loopexit.loopexit9: ; preds = %2 +.loopexit.loopexit13: ; preds = %2 %35 = landingpad { ptr, i32 } cleanup call void @_ZNSt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN6casadi11GenericTypeEED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %4) #26 @@ -12638,8 +12638,8 @@ _ZNSt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN6casadi11Generi %39 = icmp eq ptr %38, %4 br i1 %39, label %.loopexit, label %36 -.loopexit: ; preds = %36, %.loopexit.loopexit9 - %.pn = phi { ptr, i32 } [ %35, %.loopexit.loopexit9 ], [ %16, %36 ] +.loopexit: ; preds = %36, %.loopexit.loopexit13 + %.pn = phi { ptr, i32 } [ %35, %.loopexit.loopexit13 ], [ %16, %36 ] call void @llvm.lifetime.end.p0(ptr nonnull %4) resume { ptr, i32 } %.pn } diff --git a/bench/ceres/optimized/dynamic_sparse_normal_cholesky_solver.ll b/bench/ceres/optimized/dynamic_sparse_normal_cholesky_solver.ll index 8040028f3bf..a3f82a4be39 100644 --- a/bench/ceres/optimized/dynamic_sparse_normal_cholesky_solver.ll +++ b/bench/ceres/optimized/dynamic_sparse_normal_cholesky_solver.ll @@ -3745,9 +3745,9 @@ _ZN5Eigen8internal23check_size_for_overflowIdEEvm.exit.thread: ; preds = %_ZN5Ei %17 = tail call ptr @__cxa_allocate_exception(i64 8) #36 store ptr getelementptr inbounds nuw inrange(-16, 24) (i8, ptr @_ZTVSt9bad_alloc, i64 16), ptr %17, align 8, !tbaa !16 invoke void @__cxa_throw(ptr nonnull %17, ptr nonnull @_ZTISt9bad_alloc, ptr nonnull @_ZNSt9bad_allocD1Ev) #40 - to label %.noexc137 unwind label %163 + to label %.noexc138 unwind label %163 -.noexc137: ; preds = %16 +.noexc138: ; preds = %16 unreachable _ZN5Eigen8internal23check_size_for_overflowIdEEvm.exit: ; preds = %3 @@ -3755,9 +3755,9 @@ _ZN5Eigen8internal23check_size_for_overflowIdEEvm.exit: ; preds = %3 %19 = alloca i8, i64 %18, align 16 %20 = shl nuw nsw i64 %5, 3 %21 = icmp samesign ult i64 %5, 16385 - br i1 %21, label %_ZN5Eigen8internal14aligned_mallocEm.exit140.thread, label %26 + br i1 %21, label %_ZN5Eigen8internal14aligned_mallocEm.exit141.thread, label %26 -_ZN5Eigen8internal14aligned_mallocEm.exit140.thread: ; preds = %_ZN5Eigen8internal23check_size_for_overflowIdEEvm.exit +_ZN5Eigen8internal14aligned_mallocEm.exit141.thread: ; preds = %_ZN5Eigen8internal23check_size_for_overflowIdEEvm.exit %22 = add nuw nsw i64 %20, 15 %23 = alloca i8, i64 %22, align 16 %24 = add nuw nsw i64 %20, 15 @@ -3769,36 +3769,36 @@ _ZN5Eigen8internal14aligned_mallocEm.exit140.thread: ; preds = %_ZN5Eigen8intern %28 = phi ptr [ %10, %_ZN5Eigen8internal23check_size_for_overflowIdEEvm.exit.thread ], [ %19, %_ZN5Eigen8internal23check_size_for_overflowIdEEvm.exit ] %29 = tail call noalias ptr @malloc(i64 noundef %27) #39 %30 = icmp eq ptr %29, null - br i1 %30, label %31, label %_ZN5Eigen8internal14aligned_mallocEm.exit140 + br i1 %30, label %31, label %_ZN5Eigen8internal14aligned_mallocEm.exit141 31: ; preds = %26 %32 = tail call ptr @__cxa_allocate_exception(i64 8) #36 store ptr getelementptr inbounds nuw inrange(-16, 24) (i8, ptr @_ZTVSt9bad_alloc, i64 16), ptr %32, align 8, !tbaa !16 invoke void @__cxa_throw(ptr nonnull %32, ptr nonnull @_ZTISt9bad_alloc, ptr nonnull @_ZNSt9bad_allocD1Ev) #40 - to label %.noexc139 unwind label %165 + to label %.noexc140 unwind label %165 -.noexc139: ; preds = %31 +.noexc140: ; preds = %31 unreachable -_ZN5Eigen8internal14aligned_mallocEm.exit140: ; preds = %26 +_ZN5Eigen8internal14aligned_mallocEm.exit141: ; preds = %26 %33 = tail call noalias ptr @malloc(i64 noundef %27) #39 %34 = icmp eq ptr %33, null br i1 %34, label %35, label %37 -35: ; preds = %_ZN5Eigen8internal14aligned_mallocEm.exit140 +35: ; preds = %_ZN5Eigen8internal14aligned_mallocEm.exit141 %36 = tail call ptr @__cxa_allocate_exception(i64 8) #36 store ptr getelementptr inbounds nuw inrange(-16, 24) (i8, ptr @_ZTVSt9bad_alloc, i64 16), ptr %36, align 8, !tbaa !16 invoke void @__cxa_throw(ptr nonnull %36, ptr nonnull @_ZTISt9bad_alloc, ptr nonnull @_ZNSt9bad_allocD1Ev) #40 - to label %.noexc144 unwind label %167 + to label %.noexc145 unwind label %167 -.noexc144: ; preds = %35 +.noexc145: ; preds = %35 unreachable -37: ; preds = %_ZN5Eigen8internal14aligned_mallocEm.exit140.thread, %_ZN5Eigen8internal14aligned_mallocEm.exit140 - %38 = phi i1 [ false, %_ZN5Eigen8internal14aligned_mallocEm.exit140.thread ], [ true, %_ZN5Eigen8internal14aligned_mallocEm.exit140 ] - %39 = phi ptr [ %23, %_ZN5Eigen8internal14aligned_mallocEm.exit140.thread ], [ %29, %_ZN5Eigen8internal14aligned_mallocEm.exit140 ] - %40 = phi ptr [ %19, %_ZN5Eigen8internal14aligned_mallocEm.exit140.thread ], [ %28, %_ZN5Eigen8internal14aligned_mallocEm.exit140 ] - %41 = phi ptr [ %25, %_ZN5Eigen8internal14aligned_mallocEm.exit140.thread ], [ %33, %_ZN5Eigen8internal14aligned_mallocEm.exit140 ] +37: ; preds = %_ZN5Eigen8internal14aligned_mallocEm.exit141.thread, %_ZN5Eigen8internal14aligned_mallocEm.exit141 + %38 = phi i1 [ false, %_ZN5Eigen8internal14aligned_mallocEm.exit141.thread ], [ true, %_ZN5Eigen8internal14aligned_mallocEm.exit141 ] + %39 = phi ptr [ %23, %_ZN5Eigen8internal14aligned_mallocEm.exit141.thread ], [ %29, %_ZN5Eigen8internal14aligned_mallocEm.exit141 ] + %40 = phi ptr [ %19, %_ZN5Eigen8internal14aligned_mallocEm.exit141.thread ], [ %28, %_ZN5Eigen8internal14aligned_mallocEm.exit141 ] + %41 = phi ptr [ %25, %_ZN5Eigen8internal14aligned_mallocEm.exit141.thread ], [ %33, %_ZN5Eigen8internal14aligned_mallocEm.exit141 ] call void @llvm.memset.p0.i64(ptr nonnull align 1 %40, i8 0, i64 %5, i1 false) %42 = getelementptr inbounds nuw i8, ptr %0, i64 28 %43 = load i32, ptr %42, align 4, !tbaa !99 @@ -3983,9 +3983,9 @@ _ZN5Eigen12SparseMatrixIdLi1EiE7setZeroEv.exit: ; preds = %_ZNK5Eigen8internal _ZN5Eigen12SparseMatrixIdLi1EiE7reserveEl.exit.preheader: ; preds = %_ZN5Eigen12SparseMatrixIdLi1EiE7setZeroEv.exit %138 = icmp sgt i64 %7, 0 - br i1 %138, label %.lr.ph212, label %_ZN5Eigen12SparseMatrixIdLi1EiE7reserveEl.exit._crit_edge + br i1 %138, label %.lr.ph213, label %_ZN5Eigen12SparseMatrixIdLi1EiE7reserveEl.exit._crit_edge -.lr.ph212: ; preds = %_ZN5Eigen12SparseMatrixIdLi1EiE7reserveEl.exit.preheader +.lr.ph213: ; preds = %_ZN5Eigen12SparseMatrixIdLi1EiE7reserveEl.exit.preheader %139 = getelementptr inbounds nuw i8, ptr %1, i64 40 %140 = getelementptr inbounds nuw i8, ptr %1, i64 48 %141 = getelementptr inbounds nuw i8, ptr %1, i64 24 @@ -4046,30 +4046,30 @@ _ZN5Eigen12SparseMatrixIdLi1EiE7reserveEl.exit._crit_edge: ; preds = %_ZN5Eigen1 165: ; preds = %31 %166 = landingpad { ptr, i32 } cleanup - br i1 %8, label %288, label %_ZN5Eigen8internal28aligned_stack_memory_handlerIbED2Ev.exit151 + br i1 %8, label %288, label %_ZN5Eigen8internal28aligned_stack_memory_handlerIbED2Ev.exit152 167: ; preds = %35 %168 = landingpad { ptr, i32 } cleanup tail call void @free(ptr noundef nonnull %29) #36 - br i1 %8, label %288, label %_ZN5Eigen8internal28aligned_stack_memory_handlerIbED2Ev.exit151 + br i1 %8, label %288, label %_ZN5Eigen8internal28aligned_stack_memory_handlerIbED2Ev.exit152 169: ; preds = %_ZN5Eigen12SparseMatrixIdLi1EiE7setZeroEv.exit %170 = landingpad { ptr, i32 } cleanup br label %.body -171: ; preds = %.lr.ph212, %_ZN5Eigen12SparseMatrixIdLi1EiE7reserveEl.exit - %.0116211 = phi i64 [ 0, %.lr.ph212 ], [ %284, %_ZN5Eigen12SparseMatrixIdLi1EiE7reserveEl.exit ] +171: ; preds = %.lr.ph213, %_ZN5Eigen12SparseMatrixIdLi1EiE7reserveEl.exit + %.0116212 = phi i64 [ 0, %.lr.ph213 ], [ %284, %_ZN5Eigen12SparseMatrixIdLi1EiE7reserveEl.exit ] %172 = load ptr, ptr %126, align 8, !tbaa !209 - %173 = getelementptr inbounds nuw i32, ptr %172, i64 %.0116211 + %173 = getelementptr inbounds nuw i32, ptr %172, i64 %.0116212 %174 = load i32, ptr %173, align 4, !tbaa !99 %175 = getelementptr i8, ptr %173, i64 4 store i32 %174, ptr %175, align 4, !tbaa !99 %176 = load ptr, ptr %139, align 8, !tbaa !154 %177 = load ptr, ptr %140, align 8, !tbaa !155 %178 = load ptr, ptr %141, align 8, !tbaa !209 - %179 = getelementptr inbounds nuw i32, ptr %178, i64 %.0116211 + %179 = getelementptr inbounds nuw i32, ptr %178, i64 %.0116212 %180 = load i32, ptr %179, align 4, !tbaa !99 %181 = sext i32 %180 to i64 %182 = load ptr, ptr %45, align 8, !tbaa !211 @@ -4083,7 +4083,7 @@ _ZN5Eigen12SparseMatrixIdLi1EiE7reserveEl.exit._crit_edge: ; preds = %_ZN5Eigen1 br label %_ZN5Eigen20SparseCompressedBaseINS_12SparseMatrixIdLi1EiEEE13InnerIteratorC2ERKS3_l.exit 188: ; preds = %171 - %189 = getelementptr inbounds nuw i32, ptr %182, i64 %.0116211 + %189 = getelementptr inbounds nuw i32, ptr %182, i64 %.0116212 %190 = load i32, ptr %189, align 4, !tbaa !99 %191 = sext i32 %190 to i64 %192 = add nsw i64 %191, %181 @@ -4092,9 +4092,9 @@ _ZN5Eigen12SparseMatrixIdLi1EiE7reserveEl.exit._crit_edge: ; preds = %_ZN5Eigen1 _ZN5Eigen20SparseCompressedBaseINS_12SparseMatrixIdLi1EiEEE13InnerIteratorC2ERKS3_l.exit: ; preds = %184, %188 %.sink.i = phi i64 [ %187, %184 ], [ %192, %188 ] %193 = icmp sgt i64 %.sink.i, %181 - br i1 %193, label %.lr.ph206, label %_ZN5Eigen12SparseMatrixIdLi1EiE7reserveEl.exit + br i1 %193, label %.lr.ph207, label %_ZN5Eigen12SparseMatrixIdLi1EiE7reserveEl.exit -.lr.ph206: ; preds = %_ZN5Eigen20SparseCompressedBaseINS_12SparseMatrixIdLi1EiEEE13InnerIteratorC2ERKS3_l.exit +.lr.ph207: ; preds = %_ZN5Eigen20SparseCompressedBaseINS_12SparseMatrixIdLi1EiEEE13InnerIteratorC2ERKS3_l.exit %194 = load ptr, ptr %142, align 8, !tbaa !214 %195 = load ptr, ptr %143, align 8, !tbaa !215 %196 = load ptr, ptr %144, align 8, !tbaa !216 @@ -4104,18 +4104,18 @@ _ZN5Eigen20SparseCompressedBaseINS_12SparseMatrixIdLi1EiEEE13InnerIteratorC2ERKS .preheader: ; preds = %._crit_edge %199 = icmp sgt i64 %.1119.lcssa, 0 - br i1 %199, label %.lr.ph209.preheader, label %_ZN5Eigen12SparseMatrixIdLi1EiE7reserveEl.exit + br i1 %199, label %.lr.ph210.preheader, label %_ZN5Eigen12SparseMatrixIdLi1EiE7reserveEl.exit -.lr.ph209.preheader: ; preds = %.preheader +.lr.ph210.preheader: ; preds = %.preheader %.pre = load i64, ptr %125, align 8, !tbaa !194 - br label %.lr.ph209 + br label %.lr.ph210 -200: ; preds = %.lr.ph206, %._crit_edge - %.0118205 = phi i64 [ 0, %.lr.ph206 ], [ %.1119.lcssa, %._crit_edge ] - %.sroa.8160.0204 = phi i64 [ %181, %.lr.ph206 ], [ %219, %._crit_edge ] - %201 = getelementptr inbounds double, ptr %176, i64 %.sroa.8160.0204 +200: ; preds = %.lr.ph207, %._crit_edge + %.0118206 = phi i64 [ 0, %.lr.ph207 ], [ %.1119.lcssa, %._crit_edge ] + %.sroa.8161.0205 = phi i64 [ %181, %.lr.ph207 ], [ %219, %._crit_edge ] + %201 = getelementptr inbounds double, ptr %176, i64 %.sroa.8161.0205 %202 = load double, ptr %201, align 8, !tbaa !42 - %203 = getelementptr inbounds i32, ptr %177, i64 %.sroa.8160.0204 + %203 = getelementptr inbounds i32, ptr %177, i64 %.sroa.8161.0205 %204 = load i32, ptr %203, align 4, !tbaa !99 %205 = sext i32 %204 to i64 %206 = getelementptr inbounds i32, ptr %196, i64 %205 @@ -4137,23 +4137,23 @@ _ZN5Eigen20SparseCompressedBaseINS_12SparseMatrixIdLi1EiEEE13InnerIteratorC2ERKS br label %_ZN5Eigen20SparseCompressedBaseINS_3MapINS_12SparseMatrixIdLi1EiEELi0ENS_6StrideILi0ELi0EEEEEE13InnerIteratorC2ERKS7_l.exit _ZN5Eigen20SparseCompressedBaseINS_3MapINS_12SparseMatrixIdLi1EiEELi0ENS_6StrideILi0ELi0EEEEEE13InnerIteratorC2ERKS7_l.exit: ; preds = %209, %213 - %.sink.i147 = phi i64 [ %212, %209 ], [ %217, %213 ] - %218 = icmp sgt i64 %.sink.i147, %208 + %.sink.i148 = phi i64 [ %212, %209 ], [ %217, %213 ] + %218 = icmp sgt i64 %.sink.i148, %208 br i1 %218, label %.lr.ph, label %._crit_edge ._crit_edge: ; preds = %237, %_ZN5Eigen20SparseCompressedBaseINS_3MapINS_12SparseMatrixIdLi1EiEELi0ENS_6StrideILi0ELi0EEEEEE13InnerIteratorC2ERKS7_l.exit - %.1119.lcssa = phi i64 [ %.0118205, %_ZN5Eigen20SparseCompressedBaseINS_3MapINS_12SparseMatrixIdLi1EiEELi0ENS_6StrideILi0ELi0EEEEEE13InnerIteratorC2ERKS7_l.exit ], [ %.2120, %237 ] - %219 = add nsw i64 %.sroa.8160.0204, 1 - %exitcond219.not = icmp eq i64 %219, %.sink.i - br i1 %exitcond219.not, label %.preheader, label %200, !llvm.loop !218 + %.1119.lcssa = phi i64 [ %.0118206, %_ZN5Eigen20SparseCompressedBaseINS_3MapINS_12SparseMatrixIdLi1EiEELi0ENS_6StrideILi0ELi0EEEEEE13InnerIteratorC2ERKS7_l.exit ], [ %.2120, %237 ] + %219 = add nsw i64 %.sroa.8161.0205, 1 + %exitcond220.not = icmp eq i64 %219, %.sink.i + br i1 %exitcond220.not, label %.preheader, label %200, !llvm.loop !218 .lr.ph: ; preds = %_ZN5Eigen20SparseCompressedBaseINS_3MapINS_12SparseMatrixIdLi1EiEELi0ENS_6StrideILi0ELi0EEEEEE13InnerIteratorC2ERKS7_l.exit, %237 - %.1119203 = phi i64 [ %.2120, %237 ], [ %.0118205, %_ZN5Eigen20SparseCompressedBaseINS_3MapINS_12SparseMatrixIdLi1EiEELi0ENS_6StrideILi0ELi0EEEEEE13InnerIteratorC2ERKS7_l.exit ] - %.sroa.8.0202 = phi i64 [ %238, %237 ], [ %208, %_ZN5Eigen20SparseCompressedBaseINS_3MapINS_12SparseMatrixIdLi1EiEELi0ENS_6StrideILi0ELi0EEEEEE13InnerIteratorC2ERKS7_l.exit ] - %220 = getelementptr inbounds i32, ptr %195, i64 %.sroa.8.0202 + %.1119204 = phi i64 [ %.2120, %237 ], [ %.0118206, %_ZN5Eigen20SparseCompressedBaseINS_3MapINS_12SparseMatrixIdLi1EiEELi0ENS_6StrideILi0ELi0EEEEEE13InnerIteratorC2ERKS7_l.exit ] + %.sroa.8.0203 = phi i64 [ %238, %237 ], [ %208, %_ZN5Eigen20SparseCompressedBaseINS_3MapINS_12SparseMatrixIdLi1EiEELi0ENS_6StrideILi0ELi0EEEEEE13InnerIteratorC2ERKS7_l.exit ] + %220 = getelementptr inbounds i32, ptr %195, i64 %.sroa.8.0203 %221 = load i32, ptr %220, align 4, !tbaa !99 %222 = sext i32 %221 to i64 - %223 = getelementptr inbounds double, ptr %194, i64 %.sroa.8.0202 + %223 = getelementptr inbounds double, ptr %194, i64 %.sroa.8.0203 %224 = load double, ptr %223, align 8, !tbaa !42 %225 = getelementptr inbounds i8, ptr %40, i64 %222 %226 = load i8, ptr %225, align 1, !tbaa !219, !range !192, !noundef !193 @@ -4165,9 +4165,9 @@ _ZN5Eigen20SparseCompressedBaseINS_3MapINS_12SparseMatrixIdLi1EiEELi0ENS_6Stride %229 = fmul double %202, %224 %230 = getelementptr inbounds double, ptr %39, i64 %222 store double %229, ptr %230, align 8, !tbaa !42 - %231 = getelementptr inbounds i64, ptr %41, i64 %.1119203 + %231 = getelementptr inbounds i64, ptr %41, i64 %.1119204 store i64 %222, ptr %231, align 8, !tbaa !164 - %232 = add nsw i64 %.1119203, 1 + %232 = add nsw i64 %.1119204, 1 br label %237 233: ; preds = %.lr.ph @@ -4178,20 +4178,20 @@ _ZN5Eigen20SparseCompressedBaseINS_3MapINS_12SparseMatrixIdLi1EiEELi0ENS_6Stride br label %237 237: ; preds = %233, %228 - %.2120 = phi i64 [ %.1119203, %233 ], [ %232, %228 ] - %238 = add nsw i64 %.sroa.8.0202, 1 - %exitcond.not = icmp eq i64 %238, %.sink.i147 + %.2120 = phi i64 [ %.1119204, %233 ], [ %232, %228 ] + %238 = add nsw i64 %.sroa.8.0203, 1 + %exitcond.not = icmp eq i64 %238, %.sink.i148 br i1 %exitcond.not, label %._crit_edge, label %.lr.ph, !llvm.loop !220 -.lr.ph209: ; preds = %.lr.ph209.preheader, %275 - %239 = phi i64 [ %250, %275 ], [ %.pre, %.lr.ph209.preheader ] - %.0117208 = phi i64 [ %283, %275 ], [ 0, %.lr.ph209.preheader ] - %240 = getelementptr inbounds nuw i64, ptr %41, i64 %.0117208 +.lr.ph210: ; preds = %.lr.ph210.preheader, %275 + %239 = phi i64 [ %250, %275 ], [ %.pre, %.lr.ph210.preheader ] + %.0117209 = phi i64 [ %283, %275 ], [ 0, %.lr.ph210.preheader ] + %240 = getelementptr inbounds nuw i64, ptr %41, i64 %.0117209 %241 = load i64, ptr %240, align 8, !tbaa !164 %242 = getelementptr inbounds double, ptr %39, i64 %241 %243 = load double, ptr %242, align 8, !tbaa !42 %244 = load ptr, ptr %126, align 8, !tbaa !209 - %245 = getelementptr i32, ptr %244, i64 %.0116211 + %245 = getelementptr i32, ptr %244, i64 %.0116212 %246 = getelementptr i8, ptr %245, i64 4 %247 = load i32, ptr %246, align 4, !tbaa !99 %248 = sext i32 %247 to i64 @@ -4202,21 +4202,21 @@ _ZN5Eigen20SparseCompressedBaseINS_3MapINS_12SparseMatrixIdLi1EiEELi0ENS_6Stride %.not = icmp sgt i64 %251, %239 br i1 %.not, label %275, label %252 -252: ; preds = %.lr.ph209 +252: ; preds = %.lr.ph210 %253 = sitofp i64 %250 to double %254 = fptosi double %253 to i64 %255 = add nsw i64 %250, %254 %.sroa.speculated.i = tail call i64 @llvm.smin.i64(i64 %255, i64 2147483647) - %.not195 = icmp sgt i64 %.sroa.speculated.i, %239 - br i1 %.not195, label %258, label %256 + %.not196 = icmp sgt i64 %.sroa.speculated.i, %239 + br i1 %.not196, label %258, label %256 256: ; preds = %252 %257 = tail call ptr @__cxa_allocate_exception(i64 8) #36 store ptr getelementptr inbounds nuw inrange(-16, 24) (i8, ptr @_ZTVSt9bad_alloc, i64 16), ptr %257, align 8, !tbaa !16 invoke void @__cxa_throw(ptr nonnull %257, ptr nonnull @_ZTISt9bad_alloc, ptr nonnull @_ZNSt9bad_allocD1Ev) #40 - to label %.noexc152 unwind label %.loopexit.split-lp + to label %.noexc153 unwind label %.loopexit.split-lp -.noexc152: ; preds = %256 +.noexc153: ; preds = %256 unreachable 258: ; preds = %252 @@ -4224,16 +4224,16 @@ _ZN5Eigen20SparseCompressedBaseINS_3MapINS_12SparseMatrixIdLi1EiEELi0ENS_6Stride %260 = shl nuw i64 %.sroa.speculated.i, 3 %261 = select i1 %259, i64 -1, i64 %260 %262 = invoke noalias noundef nonnull ptr @_Znam(i64 noundef %261) #34 - to label %.noexc153 unwind label %.loopexit + to label %.noexc154 unwind label %.loopexit -.noexc153: ; preds = %258 +.noexc154: ; preds = %258 %263 = icmp ugt i64 %.sroa.speculated.i, 4611686018427387903 %264 = shl nuw i64 %.sroa.speculated.i, 2 %265 = select i1 %263, i64 -1, i64 %264 %266 = invoke noalias noundef nonnull ptr @_Znam(i64 noundef %265) #34 to label %_ZN5Eigen8internal12scoped_arrayIiEC2El.exit.i.i unwind label %_ZN5Eigen8internal12scoped_arrayIdED2Ev.exit9.i.i -_ZN5Eigen8internal12scoped_arrayIiEC2El.exit.i.i: ; preds = %.noexc153 +_ZN5Eigen8internal12scoped_arrayIiEC2El.exit.i.i: ; preds = %.noexc154 %.sroa.speculated.i.i = tail call i64 @llvm.smin.i64(i64 %239, i64 %.sroa.speculated.i) %267 = icmp sgt i64 %.sroa.speculated.i.i, 0 %.pre.i.i = load ptr, ptr %137, align 8, !tbaa !199 @@ -4251,7 +4251,7 @@ _ZN5Eigen8internal10smart_copyIdEEvPKT_S4_PS2_.exit.i.i: ; preds = %_ZN5Eigen8in tail call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 4 %266, ptr align 4 %268, i64 %.idx22.i.i, i1 false) br label %_ZN5Eigen8internal10smart_copyIiEEvPKT_S4_PS2_.exit.i.i -_ZN5Eigen8internal12scoped_arrayIdED2Ev.exit9.i.i: ; preds = %.noexc153 +_ZN5Eigen8internal12scoped_arrayIdED2Ev.exit9.i.i: ; preds = %.noexc154 %269 = landingpad { ptr, i32 } cleanup tail call void @_ZdaPv(ptr noundef nonnull %262) #35 @@ -4277,7 +4277,7 @@ _ZN5Eigen8internal12scoped_arrayIiED2Ev.exit8.i.i: ; preds = %272, %_ZN5Eigen8in tail call void @_ZdaPv(ptr noundef nonnull %.pre.i.i) #35 br label %275 -275: ; preds = %.lr.ph209, %_ZN5Eigen8internal12scoped_arrayIiED2Ev.exit8.i.i, %274 +275: ; preds = %.lr.ph210, %_ZN5Eigen8internal12scoped_arrayIiED2Ev.exit8.i.i, %274 store i64 %250, ptr %125, align 8, !tbaa !194 %276 = load ptr, ptr %137, align 8, !tbaa !154 %277 = getelementptr inbounds double, ptr %276, i64 %239 @@ -4290,9 +4290,9 @@ _ZN5Eigen8internal12scoped_arrayIiED2Ev.exit8.i.i: ; preds = %272, %_ZN5Eigen8in store double %243, ptr %281, align 8, !tbaa !42 %282 = getelementptr inbounds i8, ptr %40, i64 %241 store i8 0, ptr %282, align 1, !tbaa !219 - %283 = add nuw nsw i64 %.0117208, 1 - %exitcond220.not = icmp eq i64 %283, %.1119.lcssa - br i1 %exitcond220.not, label %_ZN5Eigen12SparseMatrixIdLi1EiE7reserveEl.exit, label %.lr.ph209, !llvm.loop !221 + %283 = add nuw nsw i64 %.0117209, 1 + %exitcond221.not = icmp eq i64 %283, %.1119.lcssa + br i1 %exitcond221.not, label %_ZN5Eigen12SparseMatrixIdLi1EiE7reserveEl.exit, label %.lr.ph210, !llvm.loop !221 .loopexit: ; preds = %258 %lpad.loopexit = landingpad { ptr, i32 } @@ -4305,9 +4305,9 @@ _ZN5Eigen8internal12scoped_arrayIiED2Ev.exit8.i.i: ; preds = %272, %_ZN5Eigen8in br label %.body _ZN5Eigen12SparseMatrixIdLi1EiE7reserveEl.exit: ; preds = %275, %_ZN5Eigen20SparseCompressedBaseINS_12SparseMatrixIdLi1EiEEE13InnerIteratorC2ERKS3_l.exit, %.preheader - %284 = add nuw nsw i64 %.0116211, 1 - %exitcond221.not = icmp eq i64 %284, %7 - br i1 %exitcond221.not, label %_ZN5Eigen12SparseMatrixIdLi1EiE7reserveEl.exit._crit_edge, label %171, !llvm.loop !222 + %284 = add nuw nsw i64 %.0116212, 1 + %exitcond222.not = icmp eq i64 %284, %7 + br i1 %exitcond222.not, label %_ZN5Eigen12SparseMatrixIdLi1EiE7reserveEl.exit._crit_edge, label %171, !llvm.loop !222 _ZN5Eigen12SparseMatrixIdLi1EiE8finalizeEv.exit: ; preds = %.lr.ph13.i, %.critedge.i, %149, %_ZN5Eigen12SparseMatrixIdLi1EiE7reserveEl.exit._crit_edge br i1 %38, label %285, label %_ZN5Eigen8internal28aligned_stack_memory_handlerIdED2Ev.exit @@ -4329,22 +4329,22 @@ _ZN5Eigen8internal28aligned_stack_memory_handlerIbED2Ev.exit: ; preds = %_ZN5Eig .body: ; preds = %.loopexit, %.loopexit.split-lp, %_ZN5Eigen8internal12scoped_arrayIdED2Ev.exit9.i.i, %169 %.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %170, %169 ], [ %269, %_ZN5Eigen8internal12scoped_arrayIdED2Ev.exit9.i.i ], [ %lpad.loopexit, %.loopexit ], [ %lpad.loopexit.split-lp, %.loopexit.split-lp ] - br i1 %38, label %287, label %_ZN5Eigen8internal28aligned_stack_memory_handlerIbED2Ev.exit151 + br i1 %38, label %287, label %_ZN5Eigen8internal28aligned_stack_memory_handlerIbED2Ev.exit152 287: ; preds = %.body call void @free(ptr noundef nonnull %41) #36 call void @free(ptr noundef nonnull %39) #36 - br i1 %8, label %288, label %_ZN5Eigen8internal28aligned_stack_memory_handlerIbED2Ev.exit151 + br i1 %8, label %288, label %_ZN5Eigen8internal28aligned_stack_memory_handlerIbED2Ev.exit152 288: ; preds = %167, %287, %163, %165 - %.pn.pn.pn.pn.pn.pn.pn.pn.pn194 = phi { ptr, i32 } [ %164, %163 ], [ %166, %165 ], [ %.pn.pn.pn.pn.pn, %287 ], [ %168, %167 ] + %.pn.pn.pn.pn.pn.pn.pn.pn.pn195 = phi { ptr, i32 } [ %164, %163 ], [ %166, %165 ], [ %.pn.pn.pn.pn.pn, %287 ], [ %168, %167 ] %289 = phi ptr [ %10, %163 ], [ %28, %165 ], [ %40, %287 ], [ %28, %167 ] call void @free(ptr noundef %289) #36 - br label %_ZN5Eigen8internal28aligned_stack_memory_handlerIbED2Ev.exit151 + br label %_ZN5Eigen8internal28aligned_stack_memory_handlerIbED2Ev.exit152 -_ZN5Eigen8internal28aligned_stack_memory_handlerIbED2Ev.exit151: ; preds = %.body, %167, %287, %165, %288 - %.pn.pn.pn.pn.pn.pn.pn.pn.pn193 = phi { ptr, i32 } [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn194, %288 ], [ %166, %165 ], [ %.pn.pn.pn.pn.pn, %287 ], [ %168, %167 ], [ %.pn.pn.pn.pn.pn, %.body ] - resume { ptr, i32 } %.pn.pn.pn.pn.pn.pn.pn.pn.pn193 +_ZN5Eigen8internal28aligned_stack_memory_handlerIbED2Ev.exit152: ; preds = %.body, %167, %287, %165, %288 + %.pn.pn.pn.pn.pn.pn.pn.pn.pn194 = phi { ptr, i32 } [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn195, %288 ], [ %166, %165 ], [ %.pn.pn.pn.pn.pn, %287 ], [ %168, %167 ], [ %.pn.pn.pn.pn.pn, %.body ] + resume { ptr, i32 } %.pn.pn.pn.pn.pn.pn.pn.pn.pn194 } ; Function Attrs: mustprogress noinline uwtable diff --git a/bench/ceres/optimized/iterative_schur_complement_solver.ll b/bench/ceres/optimized/iterative_schur_complement_solver.ll index 6ebdaf898a3..da39ecff411 100644 --- a/bench/ceres/optimized/iterative_schur_complement_solver.ll +++ b/bench/ceres/optimized/iterative_schur_complement_solver.ll @@ -627,8 +627,8 @@ define hidden void @_ZN5ceres8internal30IterativeSchurComplementSolver9SolveImpl to label %27 unwind label %22 27: ; preds = %.critedge - %.not57 = icmp eq ptr %26, null - br i1 %.not57, label %28, label %.critedge74, !prof !30 + %.not63 = icmp eq ptr %26, null + br i1 %.not63, label %28, label %.critedge80, !prof !30 28: ; preds = %27 call void @llvm.lifetime.start.p0(ptr nonnull %9) @@ -645,7 +645,7 @@ define hidden void @_ZN5ceres8internal30IterativeSchurComplementSolver9SolveImpl call void @llvm.lifetime.end.p0(ptr nonnull %9) br label %.body -.critedge74: ; preds = %27 +.critedge80: ; preds = %27 %32 = getelementptr inbounds nuw i8, ptr %1, i64 96 %33 = getelementptr inbounds nuw i8, ptr %1, i64 160 %34 = load ptr, ptr %33, align 8, !tbaa !18 @@ -655,7 +655,7 @@ define hidden void @_ZN5ceres8internal30IterativeSchurComplementSolver9SolveImpl %.not.i = icmp eq ptr %37, null br i1 %.not.i, label %38, label %_ZNSt10unique_ptrIN5ceres8internal23ImplicitSchurComplementESt14default_deleteIS2_EED2Ev.exit -38: ; preds = %.critedge74 +38: ; preds = %.critedge80 %39 = invoke noundef ptr @_ZNK5ceres8internal17BlockSparseMatrix15block_structureEv(ptr noundef nonnull align 8 dereferenceable(56) %2) to label %40 unwind label %49 @@ -668,19 +668,19 @@ define hidden void @_ZN5ceres8internal30IterativeSchurComplementSolver9SolveImpl 44: ; preds = %40 %45 = invoke noalias noundef nonnull dereferenceable(144) ptr @_Znwm(i64 noundef 144) #38 - to label %.noexc79 unwind label %51 + to label %.noexc85 unwind label %51 -.noexc79: ; preds = %44 +.noexc85: ; preds = %44 invoke void @_ZN5ceres8internal23ImplicitSchurComplementC1ERKNS0_12LinearSolver7OptionsE(ptr noundef nonnull align 8 dereferenceable(144) %45, ptr noundef nonnull align 8 dereferenceable(128) %32) to label %_ZSt11make_uniqueIN5ceres8internal23ImplicitSchurComplementEJRNS1_12LinearSolver7OptionsEEENSt8__detail9_MakeUniqIT_E15__single_objectEDpOT0_.exit unwind label %46, !noalias !33 -46: ; preds = %.noexc79 +46: ; preds = %.noexc85 %47 = landingpad { ptr, i32 } cleanup call void @_ZdlPvm(ptr noundef nonnull %45, i64 noundef 144) #35, !noalias !33 br label %.body -_ZSt11make_uniqueIN5ceres8internal23ImplicitSchurComplementEJRNS1_12LinearSolver7OptionsEEENSt8__detail9_MakeUniqIT_E15__single_objectEDpOT0_.exit: ; preds = %.noexc79 +_ZSt11make_uniqueIN5ceres8internal23ImplicitSchurComplementEJRNS1_12LinearSolver7OptionsEEENSt8__detail9_MakeUniqIT_E15__single_objectEDpOT0_.exit: ; preds = %.noexc85 %48 = load ptr, ptr %36, align 8, !tbaa !28 store ptr %45, ptr %36, align 8, !tbaa !28 %.not.i.i.i.i = icmp eq ptr %48, null @@ -702,8 +702,8 @@ _ZNKSt14default_deleteIN5ceres8internal23ImplicitSchurComplementEEclEPS2_.exit.i cleanup br label %.body -_ZNSt10unique_ptrIN5ceres8internal23ImplicitSchurComplementESt14default_deleteIS2_EED2Ev.exit: ; preds = %_ZSt11make_uniqueIN5ceres8internal23ImplicitSchurComplementEJRNS1_12LinearSolver7OptionsEEENSt8__detail9_MakeUniqIT_E15__single_objectEDpOT0_.exit, %_ZNKSt14default_deleteIN5ceres8internal23ImplicitSchurComplementEEclEPS2_.exit.i.i.i.i, %.critedge74 - %53 = phi ptr [ %45, %_ZSt11make_uniqueIN5ceres8internal23ImplicitSchurComplementEJRNS1_12LinearSolver7OptionsEEENSt8__detail9_MakeUniqIT_E15__single_objectEDpOT0_.exit ], [ %.pre, %_ZNKSt14default_deleteIN5ceres8internal23ImplicitSchurComplementEEclEPS2_.exit.i.i.i.i ], [ %37, %.critedge74 ] +_ZNSt10unique_ptrIN5ceres8internal23ImplicitSchurComplementESt14default_deleteIS2_EED2Ev.exit: ; preds = %_ZSt11make_uniqueIN5ceres8internal23ImplicitSchurComplementEJRNS1_12LinearSolver7OptionsEEENSt8__detail9_MakeUniqIT_E15__single_objectEDpOT0_.exit, %_ZNKSt14default_deleteIN5ceres8internal23ImplicitSchurComplementEEclEPS2_.exit.i.i.i.i, %.critedge80 + %53 = phi ptr [ %45, %_ZSt11make_uniqueIN5ceres8internal23ImplicitSchurComplementEJRNS1_12LinearSolver7OptionsEEENSt8__detail9_MakeUniqIT_E15__single_objectEDpOT0_.exit ], [ %.pre, %_ZNKSt14default_deleteIN5ceres8internal23ImplicitSchurComplementEEclEPS2_.exit.i.i.i.i ], [ %37, %.critedge80 ] %54 = load ptr, ptr %4, align 8, !tbaa !36 invoke void @_ZN5ceres8internal23ImplicitSchurComplement4InitERKNS0_17BlockSparseMatrixEPKdS6_(ptr noundef nonnull align 8 dereferenceable(144) %53, ptr noundef nonnull align 8 dereferenceable(56) %2, ptr noundef %54, ptr noundef %3) to label %55 unwind label %49 @@ -727,14 +727,14 @@ _ZNSt10unique_ptrIN5ceres8internal23ImplicitSchurComplementESt14default_deleteIS 67: ; preds = %57 %68 = load atomic i32, ptr getelementptr inbounds nuw (i8, ptr @"_ZZZN5ceres8internal30IterativeSchurComplementSolver9SolveImplEPNS0_17BlockSparseMatrixEPKdRKNS0_12LinearSolver15PerSolveOptionsEPdENK3$_0clEvE4site", i64 8) monotonic, align 8 %69 = icmp slt i32 %68, 2 - br i1 %69, label %.critedge77, label %70, !prof !44 + br i1 %69, label %.critedge83, label %70, !prof !44 70: ; preds = %67 %71 = invoke noundef zeroext i1 @_ZN4absl12lts_2024011612log_internal8VLogSite14SlowIsEnabled2Ei(ptr noundef nonnull align 8 dereferenceable(24) @"_ZZZN5ceres8internal30IterativeSchurComplementSolver9SolveImplEPNS0_17BlockSparseMatrixEPKdRKNS0_12LinearSolver15PerSolveOptionsEPdENK3$_0clEvE4site", i32 noundef %68) to label %_ZN4absl12lts_2024011612log_internal8VLogSite9IsEnabledEi.exit unwind label %84 _ZN4absl12lts_2024011612log_internal8VLogSite9IsEnabledEi.exit: ; preds = %70 - br i1 %71, label %72, label %.critedge77 + br i1 %71, label %72, label %.critedge83 72: ; preds = %_ZN4absl12lts_2024011612log_internal8VLogSite9IsEnabledEi.exit call void @llvm.lifetime.start.p0(ptr nonnull %10) @@ -747,14 +747,14 @@ _ZN4absl12lts_2024011612log_internal8VLogSite9IsEnabledEi.exit: ; preds = %70 75: ; preds = %73 invoke void @_ZN4absl12lts_2024011612log_internal10LogMessage19CopyToEncodedBufferILNS2_10StringTypeE0EEEvSt17basic_string_viewIcSt11char_traitsIcEE(ptr noundef nonnull align 8 dereferenceable(16) %74, i64 49, ptr nonnull @.str.7) - to label %.critedge76 unwind label %88 + to label %.critedge82 unwind label %88 -.critedge76: ; preds = %75 +.critedge82: ; preds = %75 call void @_ZN4absl12lts_2024011612log_internal10LogMessageD1Ev(ptr noundef nonnull align 8 dereferenceable(16) %10) #39 call void @llvm.lifetime.end.p0(ptr nonnull %10) - br label %.critedge77 + br label %.critedge83 -.critedge77: ; preds = %67, %_ZN4absl12lts_2024011612log_internal8VLogSite9IsEnabledEi.exit, %.critedge76 +.critedge83: ; preds = %67, %_ZN4absl12lts_2024011612log_internal8VLogSite9IsEnabledEi.exit, %.critedge82 store double -1.000000e+00, ptr %0, align 8, !tbaa !45 %76 = getelementptr inbounds nuw i8, ptr %0, i64 8 %77 = getelementptr inbounds nuw i8, ptr %0, i64 12 @@ -792,11 +792,11 @@ _ZN4absl12lts_2024011612log_internal8VLogSite9IsEnabledEi.exit: ; preds = %70 br label %90 90: ; preds = %86, %88 - %.pn66 = phi { ptr, i32 } [ %89, %88 ], [ %87, %86 ] + %.pn72 = phi { ptr, i32 } [ %89, %88 ], [ %87, %86 ] call void @llvm.lifetime.end.p0(ptr nonnull %10) br label %.body -91: ; preds = %.critedge77 +91: ; preds = %.critedge83 %92 = landingpad { ptr, i32 } cleanup %93 = load ptr, ptr %78, align 8, !tbaa !56 @@ -849,9 +849,9 @@ _ZN5Eigen8internal23check_size_for_overflowIdEEvm.exit.i.i.i: ; preds = %111 %118 = call ptr @__cxa_allocate_exception(i64 8) #34 store ptr getelementptr inbounds nuw inrange(-16, 24) (i8, ptr @_ZTVSt9bad_alloc, i64 16), ptr %118, align 8, !tbaa !16 invoke void @__cxa_throw(ptr nonnull %118, ptr nonnull @_ZTISt9bad_alloc, ptr nonnull @_ZNSt9bad_allocD1Ev) #41 - to label %.noexc84 unwind label %82 + to label %.noexc90 unwind label %82 -.noexc84: ; preds = %117 +.noexc90: ; preds = %117 unreachable .sink.split.i.i: ; preds = %_ZN5Eigen8internal23check_size_for_overflowIdEEvm.exit.i.i.i, %111 @@ -906,9 +906,9 @@ _ZN5Eigen9DenseBaseINS_6MatrixIdLin1ELi1ELi0ELin1ELi1EEEE7setZeroEv.exit: ; pred %145 = sub i64 %143, %144 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %139, i8 0, i64 24, i1 false) %.not.i.i.i.i.i = icmp eq ptr %141, %142 - br i1 %.not.i.i.i.i.i, label %.noexc86.thread, label %149 + br i1 %.not.i.i.i.i.i, label %.noexc92.thread, label %149 -.noexc86.thread: ; preds = %125 +.noexc92.thread: ; preds = %125 %146 = getelementptr inbounds nuw i8, ptr %11, i64 32 %147 = getelementptr inbounds i8, ptr null, i64 %145 %148 = getelementptr inbounds nuw i8, ptr %11, i64 40 @@ -922,9 +922,9 @@ _ZN5Eigen9DenseBaseINS_6MatrixIdLin1ELi1ELi0ELin1ELi1EEEE7setZeroEv.exit: ; pred .noexc.i.i.i: ; preds = %149 invoke void @_ZSt28__throw_bad_array_new_lengthv() #41 - to label %.noexc85 unwind label %189 + to label %.noexc91 unwind label %189 -.noexc85: ; preds = %.noexc.i.i.i +.noexc91: ; preds = %.noexc.i.i.i unreachable _ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i: ; preds = %149 @@ -941,10 +941,10 @@ _ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i: ; preds = %149 call void @llvm.memmove.p0.p0.i64(ptr nonnull align 4 %151, ptr align 4 %142, i64 %145, i1 false) br label %156 -156: ; preds = %152, %.noexc86.thread - %157 = phi ptr [ %148, %.noexc86.thread ], [ %155, %152 ] - %158 = phi ptr [ %147, %.noexc86.thread ], [ %154, %152 ] - %159 = phi ptr [ %146, %.noexc86.thread ], [ %153, %152 ] +156: ; preds = %152, %.noexc92.thread + %157 = phi ptr [ %148, %.noexc92.thread ], [ %155, %152 ] + %158 = phi ptr [ %147, %.noexc92.thread ], [ %154, %152 ] + %159 = phi ptr [ %146, %.noexc92.thread ], [ %153, %152 ] store ptr %158, ptr %159, align 8, !tbaa !21 %160 = getelementptr inbounds nuw i8, ptr %11, i64 48 %161 = getelementptr inbounds nuw i8, ptr %1, i64 188 @@ -984,8 +984,8 @@ _ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i: ; preds = %149 call void @_ZN5ceres8internal34PowerSeriesExpansionPreconditionerD1Ev(ptr noundef nonnull align 8 dereferenceable(104) %12) #34 call void @llvm.lifetime.end.p0(ptr nonnull %12) %183 = load ptr, ptr %139, align 8, !tbaa !18 - %.not.i.i.i.i87 = icmp eq ptr %183, null - br i1 %.not.i.i.i.i87, label %_ZN5ceres8internal14Preconditioner7OptionsD2Ev.exit, label %184 + %.not.i.i.i.i93 = icmp eq ptr %183, null + br i1 %.not.i.i.i.i93, label %_ZN5ceres8internal14Preconditioner7OptionsD2Ev.exit, label %184 184: ; preds = %182 %185 = load ptr, ptr %157, align 8, !tbaa !22 @@ -1002,7 +1002,7 @@ _ZN5ceres8internal14Preconditioner7OptionsD2Ev.exit: ; preds = %182, %184 189: ; preds = %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i, %.noexc.i.i.i %190 = landingpad { ptr, i32 } cleanup - br label %_ZN5ceres8internal14Preconditioner7OptionsD2Ev.exit89 + br label %_ZN5ceres8internal14Preconditioner7OptionsD2Ev.exit95 191: ; preds = %156 %192 = landingpad { ptr, i32 } @@ -1019,8 +1019,8 @@ _ZN5ceres8internal14Preconditioner7OptionsD2Ev.exit: ; preds = %182, %184 %.pn = phi { ptr, i32 } [ %194, %193 ], [ %192, %191 ] call void @llvm.lifetime.end.p0(ptr nonnull %12) %196 = load ptr, ptr %139, align 8, !tbaa !18 - %.not.i.i.i.i88 = icmp eq ptr %196, null - br i1 %.not.i.i.i.i88, label %_ZN5ceres8internal14Preconditioner7OptionsD2Ev.exit89, label %197 + %.not.i.i.i.i94 = icmp eq ptr %196, null + br i1 %.not.i.i.i.i94, label %_ZN5ceres8internal14Preconditioner7OptionsD2Ev.exit95, label %197 197: ; preds = %195 %198 = load ptr, ptr %157, align 8, !tbaa !22 @@ -1028,9 +1028,9 @@ _ZN5ceres8internal14Preconditioner7OptionsD2Ev.exit: ; preds = %182, %184 %200 = ptrtoint ptr %196 to i64 %201 = sub i64 %199, %200 call void @_ZdlPvm(ptr noundef nonnull %196, i64 noundef %201) #35 - br label %_ZN5ceres8internal14Preconditioner7OptionsD2Ev.exit89 + br label %_ZN5ceres8internal14Preconditioner7OptionsD2Ev.exit95 -_ZN5ceres8internal14Preconditioner7OptionsD2Ev.exit89: ; preds = %197, %195, %189 +_ZN5ceres8internal14Preconditioner7OptionsD2Ev.exit95: ; preds = %197, %195, %189 %.pn.pn = phi { ptr, i32 } [ %190, %189 ], [ %.pn, %195 ], [ %.pn, %197 ] call void @llvm.lifetime.end.p0(ptr nonnull %11) br label %.body @@ -1042,8 +1042,8 @@ _ZN5ceres8internal14Preconditioner7OptionsD2Ev.exit89: ; preds = %197, %195, %18 203: ; preds = %202 %204 = getelementptr inbounds nuw i8, ptr %1, i64 232 %205 = load ptr, ptr %204, align 8, !tbaa !26 - %.not123 = icmp eq ptr %205, null - br i1 %.not123, label %.preheader.preheader, label %206 + %.not129 = icmp eq ptr %205, null + br i1 %.not129, label %.preheader.preheader, label %206 206: ; preds = %203 %207 = load ptr, ptr %4, align 8, !tbaa !36 @@ -1057,7 +1057,7 @@ _ZN5ceres8internal14Preconditioner7OptionsD2Ev.exit89: ; preds = %197, %195, %18 br i1 %211, label %..preheader.preheader_crit_edge, label %213 ..preheader.preheader_crit_edge: ; preds = %212 - %.pre126 = load ptr, ptr %204, align 8, !tbaa !26 + %.pre132 = load ptr, ptr %204, align 8, !tbaa !26 br label %.preheader.preheader 213: ; preds = %212 @@ -1080,22 +1080,22 @@ _ZN5ceres8internal14Preconditioner7OptionsD2Ev.exit89: ; preds = %197, %195, %18 cleanup %222 = load ptr, ptr %216, align 8, !tbaa !56 %223 = icmp eq ptr %222, %217 - br i1 %223, label %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i.i92, label %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i.i91 + br i1 %223, label %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i.i98, label %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i.i97 -_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i.i92: ; preds = %220 +_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i.i98: ; preds = %220 %224 = load i64, ptr %218, align 8, !tbaa !52 %225 = icmp ult i64 %224, 16 call void @llvm.assume(i1 %225) br label %.body -_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i.i91: ; preds = %220 +_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i.i97: ; preds = %220 %226 = load i64, ptr %217, align 8, !tbaa !53 %227 = add i64 %226, 1 call void @_ZdlPvm(ptr noundef %222, i64 noundef %227) #35 br label %.body .preheader.preheader: ; preds = %..preheader.preheader_crit_edge, %203 - %228 = phi ptr [ %.pre126, %..preheader.preheader_crit_edge ], [ null, %203 ] + %228 = phi ptr [ %.pre132, %..preheader.preheader_crit_edge ], [ null, %203 ] %229 = getelementptr inbounds nuw i8, ptr %1, i64 124 %230 = load i32, ptr %229, align 4, !tbaa !122 %231 = getelementptr inbounds nuw i8, ptr %1, i64 128 @@ -1151,36 +1151,36 @@ _ZNK5ceres8internal23ImplicitSchurComplement8num_colsEv.exit: ; preds = %.prehea %258 = sext i32 %256 to i64 %259 = getelementptr inbounds nuw i8, ptr %257, i64 8 %260 = load i64, ptr %259, align 8, !tbaa !59 - %.not.i.i95 = icmp eq i64 %260, %258 - br i1 %.not.i.i95, label %269, label %261 + %.not.i.i101 = icmp eq i64 %260, %258 + br i1 %.not.i.i101, label %269, label %261 261: ; preds = %_ZNK5ceres8internal23ImplicitSchurComplement8num_colsEv.exit %262 = load ptr, ptr %257, align 16, !tbaa !23 call void @free(ptr noundef %262) #34 %263 = icmp sgt i32 %256, 0 - br i1 %263, label %_ZN5Eigen8internal23check_size_for_overflowIdEEvm.exit.i.i.i98, label %.sink.split.i.i96 + br i1 %263, label %_ZN5Eigen8internal23check_size_for_overflowIdEEvm.exit.i.i.i104, label %.sink.split.i.i102 -_ZN5Eigen8internal23check_size_for_overflowIdEEvm.exit.i.i.i98: ; preds = %261 +_ZN5Eigen8internal23check_size_for_overflowIdEEvm.exit.i.i.i104: ; preds = %261 %264 = shl nuw nsw i64 %258, 3 %265 = call noalias ptr @malloc(i64 noundef %264) #40 %266 = icmp eq ptr %265, null - br i1 %266, label %267, label %.sink.split.i.i96 + br i1 %266, label %267, label %.sink.split.i.i102 -267: ; preds = %_ZN5Eigen8internal23check_size_for_overflowIdEEvm.exit.i.i.i98 +267: ; preds = %_ZN5Eigen8internal23check_size_for_overflowIdEEvm.exit.i.i.i104 %268 = call ptr @__cxa_allocate_exception(i64 8) #34 store ptr getelementptr inbounds nuw inrange(-16, 24) (i8, ptr @_ZTVSt9bad_alloc, i64 16), ptr %268, align 8, !tbaa !16 invoke void @__cxa_throw(ptr nonnull %268, ptr nonnull @_ZTISt9bad_alloc, ptr nonnull @_ZNSt9bad_allocD1Ev) #41 - to label %.noexc100 unwind label %.loopexit.split-lp + to label %.noexc106 unwind label %.loopexit.split-lp -.noexc100: ; preds = %267 +.noexc106: ; preds = %267 unreachable -.sink.split.i.i96: ; preds = %_ZN5Eigen8internal23check_size_for_overflowIdEEvm.exit.i.i.i98, %261 - %.sink.i.i97 = phi ptr [ %265, %_ZN5Eigen8internal23check_size_for_overflowIdEEvm.exit.i.i.i98 ], [ null, %261 ] - store ptr %.sink.i.i97, ptr %257, align 16, !tbaa !23 +.sink.split.i.i102: ; preds = %_ZN5Eigen8internal23check_size_for_overflowIdEEvm.exit.i.i.i104, %261 + %.sink.i.i103 = phi ptr [ %265, %_ZN5Eigen8internal23check_size_for_overflowIdEEvm.exit.i.i.i104 ], [ null, %261 ] + store ptr %.sink.i.i103, ptr %257, align 16, !tbaa !23 br label %269 -269: ; preds = %.sink.split.i.i96, %_ZNK5ceres8internal23ImplicitSchurComplement8num_colsEv.exit +269: ; preds = %.sink.split.i.i102, %_ZNK5ceres8internal23ImplicitSchurComplement8num_colsEv.exit store i64 %258, ptr %259, align 8, !tbaa !59 %indvars.iv.next = add nuw nsw i64 %indvars.iv, 1 %exitcond.not = icmp eq i64 %indvars.iv.next, 4 @@ -1202,14 +1202,14 @@ _ZN5Eigen8internal23check_size_for_overflowIdEEvm.exit.i.i.i98: ; preds = %261 store i32 %232, ptr %.sroa.6.0..sroa_idx, align 4, !tbaa !31 %.sroa.8.0..sroa_idx = getelementptr inbounds nuw i8, ptr %17, i64 8 store i32 %234, ptr %.sroa.8.0..sroa_idx, align 8, !tbaa !31 - %.sroa.10108.0..sroa_idx = getelementptr inbounds nuw i8, ptr %17, i64 16 - store double %238, ptr %.sroa.10108.0..sroa_idx, align 8, !tbaa !60 + %.sroa.10114.0..sroa_idx = getelementptr inbounds nuw i8, ptr %17, i64 16 + store double %238, ptr %.sroa.10114.0..sroa_idx, align 8, !tbaa !60 %.sroa.12.0..sroa_idx = getelementptr inbounds nuw i8, ptr %17, i64 24 store double %236, ptr %.sroa.12.0..sroa_idx, align 8, !tbaa !60 %.sroa.13.0..sroa_idx = getelementptr inbounds nuw i8, ptr %17, i64 32 store ptr null, ptr %.sroa.13.0..sroa_idx, align 8, !tbaa !132 - %.sroa.13109.0..sroa_idx = getelementptr inbounds nuw i8, ptr %17, i64 40 - store i32 1, ptr %.sroa.13109.0..sroa_idx, align 8, !tbaa !31 + %.sroa.13115.0..sroa_idx = getelementptr inbounds nuw i8, ptr %17, i64 40 + store i32 1, ptr %.sroa.13115.0..sroa_idx, align 8, !tbaa !31 %271 = load ptr, ptr %36, align 8, !tbaa !28 %272 = getelementptr inbounds nuw i8, ptr %271, i64 64 invoke void @_ZN5ceres8internal24ConjugateGradientsSolverIN5Eigen6MatrixIdLin1ELi1ELi0ELin1ELi1EEEEENS0_12LinearSolver7SummaryENS0_31ConjugateGradientsSolverOptionsERNS0_32ConjugateGradientsLinearOperatorIT_EERKS9_SB_PPS9_RS9_(ptr dead_on_unwind writable sret(%"struct.ceres::internal::LinearSolver::Summary") align 8 %0, ptr noundef nonnull byval(%"struct.ceres::internal::ConjugateGradientsSolverOptions") align 8 %17, ptr noundef nonnull align 8 dereferenceable(8) %13, ptr noundef nonnull align 8 dereferenceable(16) %272, ptr noundef nonnull align 8 dereferenceable(8) %14, ptr noundef nonnull %16, ptr noundef nonnull align 8 dereferenceable(16) %100) @@ -1231,7 +1231,7 @@ _ZN5Eigen8internal23check_size_for_overflowIdEEvm.exit.i.i.i98: ; preds = %261 280: ; preds = %270, %243 %281 = landingpad { ptr, i32 } cleanup - br label %_ZN5ceres8internal12LinearSolver7SummaryD2Ev.exit104 + br label %_ZN5ceres8internal12LinearSolver7SummaryD2Ev.exit110 282: ; preds = %293, %277 %283 = landingpad { ptr, i32 } @@ -1240,20 +1240,20 @@ _ZN5Eigen8internal23check_size_for_overflowIdEEvm.exit.i.i.i98: ; preds = %261 %285 = load ptr, ptr %284, align 8, !tbaa !56 %286 = getelementptr inbounds nuw i8, ptr %0, i64 32 %287 = icmp eq ptr %285, %286 - br i1 %287, label %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i.i103, label %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i.i102 + br i1 %287, label %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i.i109, label %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i.i108 -_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i.i103: ; preds = %282 +_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i.i109: ; preds = %282 %288 = getelementptr inbounds nuw i8, ptr %0, i64 24 %289 = load i64, ptr %288, align 8, !tbaa !52 %290 = icmp ult i64 %289, 16 call void @llvm.assume(i1 %290) - br label %_ZN5ceres8internal12LinearSolver7SummaryD2Ev.exit104 + br label %_ZN5ceres8internal12LinearSolver7SummaryD2Ev.exit110 -_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i.i102: ; preds = %282 +_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i.i108: ; preds = %282 %291 = load i64, ptr %286, align 8, !tbaa !53 %292 = add i64 %291, 1 call void @_ZdlPvm(ptr noundef %285, i64 noundef %292) #35 - br label %_ZN5ceres8internal12LinearSolver7SummaryD2Ev.exit104 + br label %_ZN5ceres8internal12LinearSolver7SummaryD2Ev.exit110 293: ; preds = %277, %273 invoke void @_ZN5ceres8internal11EventLogger8AddEventESt17basic_string_viewIcSt11char_traitsIcEE(ptr noundef nonnull align 8 dereferenceable(56) %7, i64 5, ptr nonnull @.str.10) @@ -1263,8 +1263,8 @@ _ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i.i call void @llvm.lifetime.end.p0(ptr nonnull %16) br label %295 -_ZN5ceres8internal12LinearSolver7SummaryD2Ev.exit104: ; preds = %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i.i102, %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i.i103, %280 - %.pn61 = phi { ptr, i32 } [ %281, %280 ], [ %283, %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i.i103 ], [ %283, %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i.i102 ] +_ZN5ceres8internal12LinearSolver7SummaryD2Ev.exit110: ; preds = %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i.i108, %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i.i109, %280 + %.pn67 = phi { ptr, i32 } [ %281, %280 ], [ %283, %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i.i109 ], [ %283, %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i.i108 ] call void @llvm.lifetime.end.p0(ptr nonnull %16) br label %301 @@ -1282,8 +1282,8 @@ _ZN5ceres8internal12LinearSolver7SummaryD2Ev.exit104: ; preds = %_ZNKSt7__cxx111 call void @llvm.lifetime.end.p0(ptr nonnull %13) br label %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEPKc.exit -301: ; preds = %.loopexit, %.loopexit.split-lp, %_ZN5ceres8internal12LinearSolver7SummaryD2Ev.exit104 - %.pn63 = phi { ptr, i32 } [ %.pn61, %_ZN5ceres8internal12LinearSolver7SummaryD2Ev.exit104 ], [ %lpad.loopexit, %.loopexit ], [ %lpad.loopexit.split-lp, %.loopexit.split-lp ] +301: ; preds = %.loopexit, %.loopexit.split-lp, %_ZN5ceres8internal12LinearSolver7SummaryD2Ev.exit110 + %.pn69 = phi { ptr, i32 } [ %.pn67, %_ZN5ceres8internal12LinearSolver7SummaryD2Ev.exit110 ], [ %lpad.loopexit, %.loopexit ], [ %lpad.loopexit.split-lp, %.loopexit.split-lp ] br label %302 302: ; preds = %302, %301 @@ -1300,16 +1300,16 @@ _ZN5ceres8internal12LinearSolver7SummaryD2Ev.exit104: ; preds = %_ZNKSt7__cxx111 call void @llvm.lifetime.end.p0(ptr nonnull %13) br label %.body -_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEPKc.exit: ; preds = %213, %.critedge77, %300 +_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEPKc.exit: ; preds = %213, %.critedge83, %300 call void @_ZN5ceres8internal11EventLoggerD1Ev(ptr noundef nonnull align 8 dereferenceable(56) %7) #34 call void @llvm.lifetime.end.p0(ptr nonnull %7) ret void -.body: ; preds = %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i.i91, %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i.i92, %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i.i, %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i.i, %84, %90, %51, %46, %49, %307, %_ZN5ceres8internal14Preconditioner7OptionsD2Ev.exit89, %82, %30, %24, %22 - %.pn69.pn.pn = phi { ptr, i32 } [ %31, %30 ], [ %23, %22 ], [ %25, %24 ], [ %50, %49 ], [ %.pn63, %307 ], [ %83, %82 ], [ %.pn.pn, %_ZN5ceres8internal14Preconditioner7OptionsD2Ev.exit89 ], [ %52, %51 ], [ %47, %46 ], [ %.pn66, %90 ], [ %85, %84 ], [ %92, %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i.i ], [ %92, %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i.i ], [ %221, %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i.i92 ], [ %221, %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i.i91 ] +.body: ; preds = %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i.i97, %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i.i98, %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i.i, %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i.i, %84, %90, %51, %46, %49, %307, %_ZN5ceres8internal14Preconditioner7OptionsD2Ev.exit95, %82, %30, %24, %22 + %.pn75.pn.pn = phi { ptr, i32 } [ %31, %30 ], [ %23, %22 ], [ %25, %24 ], [ %50, %49 ], [ %.pn69, %307 ], [ %83, %82 ], [ %.pn.pn, %_ZN5ceres8internal14Preconditioner7OptionsD2Ev.exit95 ], [ %52, %51 ], [ %47, %46 ], [ %.pn72, %90 ], [ %85, %84 ], [ %92, %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i.i ], [ %92, %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i.i ], [ %221, %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i.i98 ], [ %221, %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i.i97 ] call void @_ZN5ceres8internal11EventLoggerD1Ev(ptr noundef nonnull align 8 dereferenceable(56) %7) #34 call void @llvm.lifetime.end.p0(ptr nonnull %7) - resume { ptr, i32 } %.pn69.pn.pn + resume { ptr, i32 } %.pn75.pn.pn } declare hidden void @_ZN5ceres8internal11EventLoggerC1ESt17basic_string_viewIcSt11char_traitsIcEE(ptr noundef nonnull align 8 dereferenceable(56), i64, ptr) unnamed_addr #1 diff --git a/bench/clamav/optimized/filestr.ll b/bench/clamav/optimized/filestr.ll index 673050a5ce5..e0b4cb23a07 100644 --- a/bench/clamav/optimized/filestr.ll +++ b/bench/clamav/optimized/filestr.ll @@ -127,12 +127,12 @@ _ZN5ArrayIhEC2Em.exit.outer.backedge: ; preds = %44, %38 br label %_ZN5ArrayIhED2Ev.exit202 .loopexit347.loopexit: ; preds = %_ZN5ArrayIhEC2Em.exit - %lpad.loopexit424 = landingpad { ptr, i32 } + %lpad.loopexit427 = landingpad { ptr, i32 } cleanup br label %_ZN5ArrayIwED2Ev.exit200.thread .loopexit347.loopexit.split-lp: ; preds = %44 - %lpad.loopexit.split-lp425 = landingpad { ptr, i32 } + %lpad.loopexit.split-lp428 = landingpad { ptr, i32 } cleanup br label %_ZN5ArrayIwED2Ev.exit200.thread @@ -167,11 +167,11 @@ _ZN5ArrayIhE5AllocEm.exit: ; preds = %47, %55, %49 57: ; preds = %_ZN5ArrayIhE5AllocEm.exit %58 = load i8, ptr %.sroa.0226.8, align 1, !tbaa !16 switch i8 %58, label %67 [ - i8 -1, label %.thread392 + i8 -1, label %.thread395 i8 -2, label %63 ] -.thread392: ; preds = %57 +.thread395: ; preds = %57 %59 = getelementptr inbounds nuw i8, ptr %.sroa.0226.8, i64 1 %60 = load i8, ptr %59, align 1, !tbaa !16 %61 = icmp eq i8 %60, -2 @@ -184,10 +184,10 @@ _ZN5ArrayIhE5AllocEm.exit: ; preds = %47, %55, %49 %66 = icmp eq i8 %65, -1 br label %67 -67: ; preds = %57, %.thread392, %63 - %68 = phi i64 [ 0, %63 ], [ %62, %.thread392 ], [ 0, %57 ] - %.ph394 = phi i1 [ false, %63 ], [ %61, %.thread392 ], [ false, %57 ] - %69 = phi i1 [ %66, %63 ], [ false, %.thread392 ], [ false, %57 ] +67: ; preds = %57, %.thread395, %63 + %68 = phi i64 [ 0, %63 ], [ %62, %.thread395 ], [ 0, %57 ] + %.ph397 = phi i1 [ false, %63 ], [ %61, %.thread395 ], [ false, %57 ] + %69 = phi i1 [ %66, %63 ], [ false, %.thread395 ], [ false, %57 ] %.not341 = icmp eq i32 %.0109, 2 br i1 %.not341, label %.thread279, label %70 @@ -210,7 +210,7 @@ _ZN5ArrayIhE5AllocEm.exit: ; preds = %47, %55, %49 .thread278: ; preds = %_ZN5ArrayIhE5AllocEm.exit, %76, %72, %70 %81 = phi i1 [ %69, %72 ], [ %69, %70 ], [ %69, %76 ], [ false, %_ZN5ArrayIhE5AllocEm.exit ] - %82 = phi i1 [ %.ph394, %72 ], [ %.ph394, %70 ], [ %.ph394, %76 ], [ false, %_ZN5ArrayIhE5AllocEm.exit ] + %82 = phi i1 [ %.ph397, %72 ], [ %.ph397, %70 ], [ %.ph397, %76 ], [ false, %_ZN5ArrayIhE5AllocEm.exit ] %83 = phi i64 [ %68, %72 ], [ %68, %70 ], [ %68, %76 ], [ 0, %_ZN5ArrayIhE5AllocEm.exit ] %84 = phi i64 [ 0, %72 ], [ 0, %70 ], [ %80, %76 ], [ 0, %_ZN5ArrayIhE5AllocEm.exit ] %85 = icmp eq i32 %4, 0 @@ -313,7 +313,7 @@ switch.early.test.i: ; preds = %.lr.ph.i _Z18DetectTextEncodingPKhm.exit: ; preds = %.thread278, %.thread279 %122 = phi i64 [ %84, %.thread278 ], [ 0, %.thread279 ] %123 = phi i64 [ %83, %.thread278 ], [ %68, %.thread279 ] - %124 = phi i1 [ %82, %.thread278 ], [ %.ph394, %.thread279 ] + %124 = phi i1 [ %82, %.thread278 ], [ %.ph397, %.thread279 ] %125 = phi i1 [ %81, %.thread278 ], [ %69, %.thread279 ] switch i32 %4, label %unreachable [ i32 2, label %_Z18DetectTextEncodingPKhm.exit.thread @@ -382,7 +382,7 @@ _ZN5ArrayIwE5AllocEm.exit: ; preds = %138, %134 146: ; preds = %.thread305 invoke void @_ZN12ErrorHandler11MemoryErrorEv(ptr noundef nonnull align 4 dereferenceable(14) @ErrHandler) - to label %_ZN5ArrayIwE5AllocEm.exit173 unwind label %.thread395 + to label %_ZN5ArrayIwE5AllocEm.exit173 unwind label %.thread398 _ZN5ArrayIwE5AllocEm.exit173: ; preds = %146, %.thread305 %147 = and i64 %29, 4294967294 @@ -402,7 +402,7 @@ _ZN5ArrayIwE5AllocEm.exit173: ; preds = %146, %.thread305 store i32 0, ptr %152, align 4, !tbaa !3 br label %182 -.thread395: ; preds = %146 +.thread398: ; preds = %146 %153 = landingpad { ptr, i32 } cleanup br label %_ZN5ArrayIwED2Ev.exit200 @@ -627,15 +627,15 @@ _ZN5ArrayIwED2Ev.exit: ; preds = %216, %.preheader, % call void @free(ptr noundef nonnull %.sroa.0.1) #11 br label %_ZN5ArrayIwED2Ev.exit200 -_ZN5ArrayIwED2Ev.exit200: ; preds = %.thread395, %219, %220 - %.pn128401 = phi { ptr, i32 } [ %153, %.thread395 ], [ %.pn128, %219 ], [ %.pn128, %220 ] - %.sroa.0226.3400 = phi ptr [ %.sroa.0226.8, %.thread395 ], [ %.sroa.0226.3, %219 ], [ %.sroa.0226.3, %220 ] - %.not.i201 = icmp eq ptr %.sroa.0226.3400, null +_ZN5ArrayIwED2Ev.exit200: ; preds = %.thread398, %219, %220 + %.pn128404 = phi { ptr, i32 } [ %153, %.thread398 ], [ %.pn128, %219 ], [ %.pn128, %220 ] + %.sroa.0226.3403 = phi ptr [ %.sroa.0226.8, %.thread398 ], [ %.sroa.0226.3, %219 ], [ %.sroa.0226.3, %220 ] + %.not.i201 = icmp eq ptr %.sroa.0226.3403, null br i1 %.not.i201, label %_ZN5ArrayIhED2Ev.exit202, label %_ZN5ArrayIwED2Ev.exit200.thread _ZN5ArrayIwED2Ev.exit200.thread: ; preds = %.loopexit347.loopexit, %.loopexit347.loopexit.split-lp, %.loopexit.split-lp, %120, %_ZN5ArrayIwED2Ev.exit200 - %.pn132339 = phi { ptr, i32 } [ %.pn128401, %_ZN5ArrayIwED2Ev.exit200 ], [ %121, %120 ], [ %lpad.loopexit.split-lp, %.loopexit.split-lp ], [ %lpad.loopexit424, %.loopexit347.loopexit ], [ %lpad.loopexit.split-lp425, %.loopexit347.loopexit.split-lp ] - %.sroa.0226.1338 = phi ptr [ %.sroa.0226.3400, %_ZN5ArrayIwED2Ev.exit200 ], [ %.sroa.0226.8, %120 ], [ %.sroa.0226.0.ph, %.loopexit.split-lp ], [ %.sroa.0226.0.ph, %.loopexit347.loopexit.split-lp ], [ %.sroa.0226.0.ph, %.loopexit347.loopexit ] + %.pn132339 = phi { ptr, i32 } [ %.pn128404, %_ZN5ArrayIwED2Ev.exit200 ], [ %121, %120 ], [ %lpad.loopexit.split-lp, %.loopexit.split-lp ], [ %lpad.loopexit427, %.loopexit347.loopexit ], [ %lpad.loopexit.split-lp428, %.loopexit347.loopexit.split-lp ] + %.sroa.0226.1338 = phi ptr [ %.sroa.0226.3403, %_ZN5ArrayIwED2Ev.exit200 ], [ %.sroa.0226.8, %120 ], [ %.sroa.0226.0.ph, %.loopexit.split-lp ], [ %.sroa.0226.0.ph, %.loopexit347.loopexit.split-lp ], [ %.sroa.0226.0.ph, %.loopexit347.loopexit ] call void @free(ptr noundef nonnull %.sroa.0226.1338) #11 br label %_ZN5ArrayIhED2Ev.exit202 @@ -647,7 +647,7 @@ _ZN5ArrayIhED2Ev.exit: ; preds = %.thread, %218, %_ZN ret i1 %.1 _ZN5ArrayIhED2Ev.exit202: ; preds = %45, %_ZN5ArrayIwED2Ev.exit200, %_ZN5ArrayIwED2Ev.exit200.thread, %23 - %.pn132.pn.pn = phi { ptr, i32 } [ %24, %23 ], [ %46, %45 ], [ %.pn128401, %_ZN5ArrayIwED2Ev.exit200 ], [ %.pn132339, %_ZN5ArrayIwED2Ev.exit200.thread ] + %.pn132.pn.pn = phi { ptr, i32 } [ %24, %23 ], [ %46, %45 ], [ %.pn128404, %_ZN5ArrayIwED2Ev.exit200 ], [ %.pn132339, %_ZN5ArrayIwED2Ev.exit200.thread ] call void @_ZN4FileD1Ev(ptr noundef nonnull align 8 dereferenceable(8256) %10) #11 call void @llvm.lifetime.end.p0(ptr nonnull %10) call void @llvm.lifetime.end.p0(ptr nonnull %9) diff --git a/bench/clamav/optimized/macho.ll b/bench/clamav/optimized/macho.ll index 1740fa2a697..069f92e4914 100644 --- a/bench/clamav/optimized/macho.ll +++ b/bench/clamav/optimized/macho.ll @@ -153,16 +153,16 @@ fmap_readn.exit.thread: ; preds = %21, %18, %fmap_read 29: ; preds = %25, %27 %30 = phi i1 [ true, %27 ], [ false, %25 ] %31 = phi i1 [ false, %27 ], [ true, %25 ] - %.4..4..4..sroa_idx597 = getelementptr inbounds nuw i8, ptr %3, i64 4 - %.4..4..4.305 = load i32, ptr %.4..4..4..sroa_idx597, align 4 + %.4..4..4..sroa_idx599 = getelementptr inbounds nuw i8, ptr %3, i64 4 + %.4..4..4.305 = load i32, ptr %.4..4..4..sroa_idx599, align 4 %32 = tail call i32 @llvm.bswap.i32(i32 %.4..4..4.305) br label %34 33: ; preds = %26, %25 %.ph = phi i1 [ false, %25 ], [ true, %26 ] %.ph329 = phi i1 [ true, %25 ], [ false, %26 ] - %.4..4..4..sroa_idx598 = getelementptr inbounds nuw i8, ptr %3, i64 4 - %.4..4..4.305332 = load i32, ptr %.4..4..4..sroa_idx598, align 4 + %.4..4..4..sroa_idx600 = getelementptr inbounds nuw i8, ptr %3, i64 4 + %.4..4..4.305332 = load i32, ptr %.4..4..4..sroa_idx600, align 4 br label %34 34: ; preds = %29, %33 @@ -303,12 +303,12 @@ fmap_readn.exit.thread: ; preds = %21, %18, %fmap_read .critedge: ; preds = %40, %42, %44, %50, %38, %46, %48, %66 %.0205342 = phi i32 [ %.0205.ph, %66 ], [ 0, %50 ], [ 0, %40 ], [ 0, %42 ], [ 0, %44 ], [ 1, %38 ], [ 2, %46 ], [ 3, %48 ] %.not225340 = phi i1 [ %53, %66 ], [ false, %50 ], [ false, %40 ], [ false, %42 ], [ false, %44 ], [ true, %38 ], [ true, %46 ], [ true, %48 ] - %.16..16..16..sroa_idx599 = getelementptr inbounds nuw i8, ptr %3, i64 16 - %.16..16..16.321 = load i32, ptr %.16..16..16..sroa_idx599, align 4 + %.16..16..16..sroa_idx601 = getelementptr inbounds nuw i8, ptr %3, i64 16 + %.16..16..16.321 = load i32, ptr %.16..16..16..sroa_idx601, align 4 %71 = tail call i32 @llvm.bswap.i32(i32 %.16..16..16.321) %72 = select i1 %.not221333, i32 %.16..16..16.321, i32 %71 - %.16..16..16..sroa_idx600 = getelementptr inbounds nuw i8, ptr %3, i64 16 - store i32 %72, ptr %.16..16..16..sroa_idx600, align 4, !tbaa !36 + %.16..16..16..sroa_idx602 = getelementptr inbounds nuw i8, ptr %3, i64 16 + store i32 %72, ptr %.16..16..16..sroa_idx602, align 4, !tbaa !36 %73 = add i32 %72, -1025 %or.cond = icmp ult i32 %73, -1024 br i1 %or.cond, label %85, label %.lr.ph @@ -327,7 +327,7 @@ fmap_readn.exit.thread: ; preds = %21, %18, %fmap_read %83 = getelementptr inbounds nuw i8, ptr %8, i64 48 %84 = getelementptr inbounds nuw i8, ptr %8, i64 52 %.4..4..4..sroa_idx = getelementptr inbounds nuw i8, ptr %4, i64 4 - %.16..16..16..sroa_idx601 = getelementptr inbounds nuw i8, ptr %3, i64 16 + %.16..16..16..sroa_idx603 = getelementptr inbounds nuw i8, ptr %3, i64 16 br label %95 85: ; preds = %.critedge @@ -348,12 +348,12 @@ fmap_readn.exit.thread: ; preds = %21, %18, %fmap_read 94: ; preds = %91, %85 br label %.thread359 -95: ; preds = %.lr.ph, %.thread520 - %.1190460 = phi i64 [ %spec.select, %.lr.ph ], [ %.3, %.thread520 ] - %.0198459 = phi ptr [ null, %.lr.ph ], [ %.1199, %.thread520 ] - %.0200458 = phi i32 [ 0, %.lr.ph ], [ %.1201, %.thread520 ] - %.0210457 = phi i32 [ 0, %.lr.ph ], [ %.1211, %.thread520 ] - %.0214456 = phi i32 [ 0, %.lr.ph ], [ %351, %.thread520 ] +95: ; preds = %.lr.ph, %.thread522 + %.1190460 = phi i64 [ %spec.select, %.lr.ph ], [ %.3, %.thread522 ] + %.0198459 = phi ptr [ null, %.lr.ph ], [ %.1199, %.thread522 ] + %.0200458 = phi i32 [ 0, %.lr.ph ], [ %.1201, %.thread522 ] + %.0210457 = phi i32 [ 0, %.lr.ph ], [ %.1211, %.thread522 ] + %.0214456 = phi i32 [ 0, %.lr.ph ], [ %351, %.thread522 ] %96 = load i64, ptr %19, align 8, !tbaa !31 %or.cond391.not = icmp ult i64 %.1190460, %96 br i1 %or.cond391.not, label %97, label %fmap_readn.exit253.thread @@ -489,11 +489,11 @@ fmap_readn.exit263.thread: ; preds = %136, %135, %fmap_re br label %152 152: ; preds = %149, %132 - %.sink543 = phi i32 [ %151, %149 ], [ %134, %132 ] + %.sink545 = phi i32 [ %151, %149 ], [ %134, %132 ] %.sink = phi ptr [ %5, %149 ], [ %6, %132 ] %.2191 = phi i64 [ %150, %149 ], [ %133, %132 ] - %153 = call i32 @llvm.bswap.i32(i32 %.sink543) - %154 = select i1 %.not221333, i32 %.sink543, i32 %153 + %153 = call i32 @llvm.bswap.i32(i32 %.sink545) + %154 = select i1 %.not221333, i32 %.sink545, i32 %153 %155 = call ptr @strncpy(ptr noundef nonnull dereferenceable(1) %9, ptr noundef nonnull dereferenceable(1) %.sink, i64 noundef 16) #8 store i8 0, ptr %75, align 1, !tbaa !42 br i1 %.not.not, label %156, label %157 @@ -531,11 +531,11 @@ fmap_readn.exit263.thread: ; preds = %136, %135, %fmap_re br i1 %.not235, label %170, label %172 170: ; preds = %169 - br i1 %.not.not, label %171, label %.thread520 + br i1 %.not.not, label %171, label %.thread522 171: ; preds = %170 call void (ptr, ...) @cli_dbgmsg(ptr noundef nonnull @.str.29) #8 - br label %.thread520 + br label %.thread522 172: ; preds = %169 %173 = add i32 %154, %.0210457 @@ -702,20 +702,20 @@ fmap_readn.exit273.thread: ; preds = %215, %214, %fmap_re br label %259 259: ; preds = %256, %193 - %.sink556 = phi i32 [ %258, %256 ], [ %213, %193 ] - %.sink555 = phi i32 [ %236, %256 ], [ %204, %193 ] + %.sink558 = phi i32 [ %258, %256 ], [ %213, %193 ] + %.sink557 = phi i32 [ %236, %256 ], [ %204, %193 ] %260 = phi i64 [ %232, %256 ], [ %199, %193 ] - %.sink544 = phi ptr [ %7, %256 ], [ %8, %193 ] + %.sink546 = phi ptr [ %7, %256 ], [ %8, %193 ] %.5 = phi i64 [ %257, %256 ], [ %194, %193 ] %261 = getelementptr inbounds nuw %struct.cli_exe_section, ptr %176, i64 %260 - %262 = add i32 %.sink556, -1 - %263 = and i32 %262, %.sink555 - %264 = sub i32 %.sink556, %263 + %262 = add i32 %.sink558, -1 + %263 = and i32 %262, %.sink557 + %264 = sub i32 %.sink558, %263 %265 = and i32 %264, %262 - %266 = add i32 %265, %.sink555 + %266 = add i32 %265, %.sink557 %267 = getelementptr inbounds nuw i8, ptr %261, i64 12 store i32 %266, ptr %267, align 4, !tbaa !51 - %268 = call ptr @strncpy(ptr noundef nonnull dereferenceable(1) %9, ptr noundef nonnull dereferenceable(1) %.sink544, i64 noundef 16) #8 + %268 = call ptr @strncpy(ptr noundef nonnull dereferenceable(1) %9, ptr noundef nonnull dereferenceable(1) %.sink546, i64 noundef 16) #8 store i8 0, ptr %75, align 1, !tbaa !42 br i1 %.not.not, label %269, label %.thread @@ -752,12 +752,12 @@ fmap_readn.exit273.thread: ; preds = %215, %214, %fmap_re .thread: ; preds = %259 %282 = add i32 %.2212453, 1 - %exitcond.not519 = icmp eq i32 %282, %173 - br i1 %exitcond.not519, label %.thread520, label %.preheader.backedge + %exitcond.not521 = icmp eq i32 %282, %173 + br i1 %exitcond.not521, label %.thread522, label %.preheader.backedge 283: ; preds = %280 call void (ptr, ...) @cli_dbgmsg(ptr noundef nonnull @.str.29) #8 - br label %.thread520 + br label %.thread522 284: ; preds = %110 %285 = and i32 %113, -2 @@ -809,7 +809,7 @@ fmap_readn.exit278.thread: ; preds = %290, %288 303: ; preds = %290 %304 = add i64 %.1190460, 80 - br label %.thread520 + br label %.thread522 305: ; preds = %286 call void @llvm.lifetime.start.p0(ptr nonnull %10) @@ -860,7 +860,7 @@ fmap_readn.exit283.thread: ; preds = %307, %305, %fmap_re %322 = call i32 @llvm.bswap.i32(i32 %.0..0..0.291) %323 = select i1 %.not221333, i32 %.0..0..0.291, i32 %322 call void @llvm.lifetime.end.p0(ptr nonnull %10) - br label %.thread520 + br label %.thread522 324: ; preds = %286 call void @llvm.lifetime.start.p0(ptr nonnull %11) @@ -912,7 +912,7 @@ fmap_readn.exit288.thread: ; preds = %326, %324, %fmap_re %342 = select i1 %.not221333, i64 %.0..0..0., i64 %341 %343 = trunc i64 %342 to i32 call void @llvm.lifetime.end.p0(ptr nonnull %11) - br label %.thread520 + br label %.thread522 default.unreachable: ; preds = %286 unreachable @@ -922,24 +922,24 @@ default.unreachable: ; preds = %286 %345 = call i32 @llvm.bswap.i32(i32 %.4..4..4.296) %346 = select i1 %.not221333, i32 %.4..4..4.296, i32 %345 %347 = icmp ugt i32 %346, 8 - br i1 %347, label %348, label %.thread520 + br i1 %347, label %348, label %.thread522 348: ; preds = %344 %349 = zext i32 %346 to i64 %350 = add i64 %.1190460, %349 - br label %.thread520 + br label %.thread522 -.thread520: ; preds = %.thread, %339, %320, %303, %283, %344, %348, %170, %171 +.thread522: ; preds = %.thread, %339, %320, %303, %283, %344, %348, %170, %171 %.1211 = phi i32 [ %173, %283 ], [ %.0210457, %170 ], [ %.0210457, %171 ], [ %.0210457, %303 ], [ %.0210457, %320 ], [ %.0210457, %339 ], [ %.0210457, %348 ], [ %.0210457, %344 ], [ %173, %.thread ] %.1201 = phi i32 [ %.0200458, %283 ], [ %.0200458, %170 ], [ %.0200458, %171 ], [ %.0200458, %303 ], [ %323, %320 ], [ %343, %339 ], [ %.0200458, %348 ], [ %.0200458, %344 ], [ %.0200458, %.thread ] %.1199 = phi ptr [ %176, %283 ], [ %.0198459, %170 ], [ %.0198459, %171 ], [ %.0198459, %303 ], [ %.0198459, %320 ], [ %.0198459, %339 ], [ %.0198459, %348 ], [ %.0198459, %344 ], [ %176, %.thread ] %.3 = phi i64 [ %.5, %283 ], [ %.2191, %170 ], [ %.2191, %171 ], [ %304, %303 ], [ %321, %320 ], [ %340, %339 ], [ %350, %348 ], [ %111, %344 ], [ %.5, %.thread ] %351 = add nuw i32 %.0214456, 1 - %.16..16..16.323 = load i32, ptr %.16..16..16..sroa_idx601, align 4, !tbaa !36 + %.16..16..16.323 = load i32, ptr %.16..16..16..sroa_idx603, align 4, !tbaa !36 %352 = icmp ult i32 %351, %.16..16..16.323 br i1 %352, label %95, label %._crit_edge -._crit_edge: ; preds = %.thread520 +._crit_edge: ; preds = %.thread522 %.not = icmp eq i32 %.1201, 0 br i1 %.not, label %371, label %353 diff --git a/bench/coreutils-rs/optimized/icw7irkz6mu05a9.ll b/bench/coreutils-rs/optimized/icw7irkz6mu05a9.ll index 9b1dae73c91..09b834d383a 100644 --- a/bench/coreutils-rs/optimized/icw7irkz6mu05a9.ll +++ b/bench/coreutils-rs/optimized/icw7irkz6mu05a9.ll @@ -1830,7 +1830,7 @@ define internal fastcc void @_ZN6uucore8features14backup_control12match_method17 br i1 %41, label %43, label %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17hb4e512201672a880E.exit94.thread" "_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17hb4e512201672a880E.exit90": ; preds = %19 - %bcmp.i89 = call i32 @bcmp(ptr nonnull readonly align 1 %23, ptr nonnull @anon.760280bf321f50b9070dd398863d3d36.34, i64 %25), !alias.scope !400 + %bcmp.i89 = call i32 @bcmp(ptr noundef nonnull readonly align 1 dereferenceable(4) %23, ptr noundef nonnull dereferenceable(4) @anon.760280bf321f50b9070dd398863d3d36.34, i64 4), !alias.scope !400 %42 = icmp eq i32 %bcmp.i89, 0 br i1 %42, label %43, label %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17hb4e512201672a880E.exit94.thread" diff --git a/bench/csmith/optimized/Constant.ll b/bench/csmith/optimized/Constant.ll index 1e8c2a9f4e1..7b3a8cd137d 100644 --- a/bench/csmith/optimized/Constant.ll +++ b/bench/csmith/optimized/Constant.ll @@ -569,7 +569,7 @@ _ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i.i .lr.ph: ; preds = %._crit_edge.i.i, %_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE.exit %93 = phi i64 [ %107, %_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE.exit ], [ 0, %._crit_edge.i.i ] - %.0147 = phi i32 [ %106, %_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE.exit ], [ 0, %._crit_edge.i.i ] + %.0153 = phi i32 [ %106, %_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE.exit ], [ 0, %._crit_edge.i.i ] %94 = load ptr, ptr %1, align 8, !tbaa !20 %95 = getelementptr inbounds nuw i8, ptr %94, i64 %93 %96 = load i8, ptr %95, align 1, !tbaa !23 @@ -578,12 +578,12 @@ _ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i.i %99 = zext nneg i8 %96 to i64 %.sink = select i1 %97, i64 %98, i64 %99 %100 = getelementptr %"class.std::__cxx11::basic_string", ptr %3, i64 %.sink - %.sink162.sroa.sel.v = select i1 %97, i64 -1536, i64 -1760 - %.sink162.sroa.sel = getelementptr i8, ptr %100, i64 %.sink162.sroa.sel.v - %101 = load ptr, ptr %.sink162.sroa.sel, align 16, !tbaa !20 - %.sink160.sroa.sel.v = select i1 %97, i64 -1528, i64 -1752 - %.sink160.sroa.sel = getelementptr i8, ptr %100, i64 %.sink160.sroa.sel.v - %102 = load i64, ptr %.sink160.sroa.sel, align 8, !tbaa !21 + %.sink168.sroa.sel.v = select i1 %97, i64 -1536, i64 -1760 + %.sink168.sroa.sel = getelementptr i8, ptr %100, i64 %.sink168.sroa.sel.v + %101 = load ptr, ptr %.sink168.sroa.sel, align 16, !tbaa !20 + %.sink166.sroa.sel.v = select i1 %97, i64 -1528, i64 -1752 + %.sink166.sroa.sel = getelementptr i8, ptr %100, i64 %.sink166.sroa.sel.v + %102 = load i64, ptr %.sink166.sroa.sel, align 8, !tbaa !21 %103 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l(ptr noundef nonnull align 8 dereferenceable(8) %2, ptr noundef %101, i64 noundef %102) to label %_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE.exit unwind label %104 @@ -593,7 +593,7 @@ _ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i.i br label %.body _ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE.exit: ; preds = %.lr.ph - %106 = add i32 %.0147, 1 + %106 = add i32 %.0153, 1 %107 = zext i32 %106 to i64 %108 = load i64, ptr %67, align 8, !tbaa !21 %109 = icmp ugt i64 %108, %107 @@ -603,32 +603,32 @@ _ZNKSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEE3strEv.exit: ; pred %110 = getelementptr inbounds nuw i8, ptr %3, i64 512 br label %111 -111: ; preds = %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit126, %_ZNKSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEE3strEv.exit - %112 = phi ptr [ %110, %_ZNKSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEE3strEv.exit ], [ %113, %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit126 ] +111: ; preds = %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit132, %_ZNKSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEE3strEv.exit + %112 = phi ptr [ %110, %_ZNKSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEE3strEv.exit ], [ %113, %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit132 ] %113 = getelementptr inbounds i8, ptr %112, i64 -32 %114 = load ptr, ptr %113, align 8, !tbaa !20 %115 = getelementptr inbounds i8, ptr %112, i64 -16 %116 = icmp eq ptr %114, %115 - br i1 %116, label %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i125, label %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i124 + br i1 %116, label %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i131, label %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i130 -_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i125: ; preds = %111 +_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i131: ; preds = %111 %117 = getelementptr inbounds i8, ptr %112, i64 -24 %118 = load i64, ptr %117, align 8, !tbaa !21 %119 = icmp ult i64 %118, 16 call void @llvm.assume(i1 %119) - br label %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit126 + br label %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit132 -_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i124: ; preds = %111 +_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i130: ; preds = %111 %120 = load i64, ptr %115, align 8, !tbaa !23 %121 = add i64 %120, 1 call void @_ZdlPvm(ptr noundef %114, i64 noundef %121) #20 - br label %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit126 + br label %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit132 -_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit126: ; preds = %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i125, %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i124 +_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit132: ; preds = %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i131, %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i130 %122 = icmp eq ptr %113, %3 br i1 %122, label %123, label %111 -123: ; preds = %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit126 +123: ; preds = %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit132 call void @llvm.lifetime.end.p0(ptr nonnull %3) %124 = load ptr, ptr @_ZTTNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEE, align 8 store ptr %124, ptr %2, align 8, !tbaa !4 @@ -668,40 +668,40 @@ _ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev.exit: ; preds = ret void .body: ; preds = %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i.i.i, %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i.i.i, %104 - %.pn58 = phi { ptr, i32 } [ %105, %104 ], [ %84, %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i.i.i ], [ %84, %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i.i.i ] + %.pn64 = phi { ptr, i32 } [ %105, %104 ], [ %84, %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i.i.i ], [ %84, %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i.i.i ] %141 = getelementptr inbounds nuw i8, ptr %3, i64 512 br label %142 -142: ; preds = %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit129, %.body - %143 = phi ptr [ %141, %.body ], [ %144, %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit129 ] +142: ; preds = %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit135, %.body + %143 = phi ptr [ %141, %.body ], [ %144, %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit135 ] %144 = getelementptr inbounds i8, ptr %143, i64 -32 %145 = load ptr, ptr %144, align 8, !tbaa !20 %146 = getelementptr inbounds i8, ptr %143, i64 -16 %147 = icmp eq ptr %145, %146 - br i1 %147, label %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i128, label %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i127 + br i1 %147, label %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i134, label %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i133 -_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i128: ; preds = %142 +_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i134: ; preds = %142 %148 = getelementptr inbounds i8, ptr %143, i64 -24 %149 = load i64, ptr %148, align 8, !tbaa !21 %150 = icmp ult i64 %149, 16 call void @llvm.assume(i1 %150) - br label %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit129 + br label %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit135 -_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i127: ; preds = %142 +_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i133: ; preds = %142 %151 = load i64, ptr %146, align 8, !tbaa !23 %152 = add i64 %151, 1 call void @_ZdlPvm(ptr noundef %145, i64 noundef %152) #20 - br label %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit129 + br label %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit135 -_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit129: ; preds = %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i128, %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i127 +_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit135: ; preds = %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i134, %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i133 %153 = icmp eq ptr %144, %3 br i1 %153, label %154, label %142 -154: ; preds = %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit129 +154: ; preds = %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit135 call void @llvm.lifetime.end.p0(ptr nonnull %3) call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %2) #19 call void @llvm.lifetime.end.p0(ptr nonnull %2) - resume { ptr, i32 } %.pn58 + resume { ptr, i32 } %.pn64 } ; Function Attrs: mustprogress uwtable diff --git a/bench/csmith/optimized/Function.ll b/bench/csmith/optimized/Function.ll index de4063f816b..639cc6ea9f8 100644 --- a/bench/csmith/optimized/Function.ll +++ b/bench/csmith/optimized/Function.ll @@ -6878,9 +6878,9 @@ define dso_local void @_ZN8Function28initialize_builtin_functionsEv() local_unna call void @llvm.lifetime.start.p0(ptr nonnull %19) store i64 31, ptr %19, align 8, !tbaa !34 %30 = invoke noundef ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_createERmm(ptr noundef nonnull align 8 dereferenceable(32) %28, ptr noundef nonnull align 8 dereferenceable(8) %19, i64 noundef 0) - to label %.noexc74 unwind label %170 + to label %.noexc79 unwind label %170 -.noexc74: ; preds = %.noexc.i +.noexc79: ; preds = %.noexc.i store ptr %30, ptr %28, align 16, !tbaa !23 %31 = load i64, ptr %19, align 8, !tbaa !34 store i64 %31, ptr %29, align 16, !tbaa !29 @@ -6897,9 +6897,9 @@ define dso_local void @_ZN8Function28initialize_builtin_functionsEv() local_unna call void @llvm.lifetime.start.p0(ptr nonnull %18) store i64 33, ptr %18, align 8, !tbaa !34 %37 = invoke noundef ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_createERmm(ptr noundef nonnull align 8 dereferenceable(32) %35, ptr noundef nonnull align 8 dereferenceable(8) %18, i64 noundef 0) - to label %.noexc78 unwind label %172 + to label %.noexc83 unwind label %172 -.noexc78: ; preds = %.noexc74 +.noexc83: ; preds = %.noexc79 store ptr %37, ptr %35, align 16, !tbaa !23 %38 = load i64, ptr %18, align 8, !tbaa !34 store i64 %38, ptr %36, align 16, !tbaa !29 @@ -6916,9 +6916,9 @@ define dso_local void @_ZN8Function28initialize_builtin_functionsEv() local_unna call void @llvm.lifetime.start.p0(ptr nonnull %17) store i64 38, ptr %17, align 8, !tbaa !34 %44 = invoke noundef ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_createERmm(ptr noundef nonnull align 8 dereferenceable(32) %42, ptr noundef nonnull align 8 dereferenceable(8) %17, i64 noundef 0) - to label %.noexc82 unwind label %174 + to label %.noexc87 unwind label %174 -.noexc82: ; preds = %.noexc78 +.noexc87: ; preds = %.noexc83 store ptr %44, ptr %42, align 16, !tbaa !23 %45 = load i64, ptr %17, align 8, !tbaa !34 store i64 %45, ptr %43, align 16, !tbaa !29 @@ -6935,9 +6935,9 @@ define dso_local void @_ZN8Function28initialize_builtin_functionsEv() local_unna call void @llvm.lifetime.start.p0(ptr nonnull %16) store i64 31, ptr %16, align 8, !tbaa !34 %51 = invoke noundef ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_createERmm(ptr noundef nonnull align 8 dereferenceable(32) %49, ptr noundef nonnull align 8 dereferenceable(8) %16, i64 noundef 0) - to label %.noexc86 unwind label %176 + to label %.noexc91 unwind label %176 -.noexc86: ; preds = %.noexc82 +.noexc91: ; preds = %.noexc87 store ptr %51, ptr %49, align 16, !tbaa !23 %52 = load i64, ptr %16, align 8, !tbaa !34 store i64 %52, ptr %50, align 16, !tbaa !29 @@ -6954,9 +6954,9 @@ define dso_local void @_ZN8Function28initialize_builtin_functionsEv() local_unna call void @llvm.lifetime.start.p0(ptr nonnull %15) store i64 33, ptr %15, align 8, !tbaa !34 %58 = invoke noundef ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_createERmm(ptr noundef nonnull align 8 dereferenceable(32) %56, ptr noundef nonnull align 8 dereferenceable(8) %15, i64 noundef 0) - to label %.noexc90 unwind label %178 + to label %.noexc95 unwind label %178 -.noexc90: ; preds = %.noexc86 +.noexc95: ; preds = %.noexc91 store ptr %58, ptr %56, align 16, !tbaa !23 %59 = load i64, ptr %15, align 8, !tbaa !34 store i64 %59, ptr %57, align 16, !tbaa !29 @@ -6973,9 +6973,9 @@ define dso_local void @_ZN8Function28initialize_builtin_functionsEv() local_unna call void @llvm.lifetime.start.p0(ptr nonnull %14) store i64 38, ptr %14, align 8, !tbaa !34 %65 = invoke noundef ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_createERmm(ptr noundef nonnull align 8 dereferenceable(32) %63, ptr noundef nonnull align 8 dereferenceable(8) %14, i64 noundef 0) - to label %.noexc94 unwind label %180 + to label %.noexc99 unwind label %180 -.noexc94: ; preds = %.noexc90 +.noexc99: ; preds = %.noexc95 store ptr %65, ptr %63, align 16, !tbaa !23 %66 = load i64, ptr %14, align 8, !tbaa !34 store i64 %66, ptr %64, align 16, !tbaa !29 @@ -6992,9 +6992,9 @@ define dso_local void @_ZN8Function28initialize_builtin_functionsEv() local_unna call void @llvm.lifetime.start.p0(ptr nonnull %13) store i64 30, ptr %13, align 8, !tbaa !34 %72 = invoke noundef ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_createERmm(ptr noundef nonnull align 8 dereferenceable(32) %70, ptr noundef nonnull align 8 dereferenceable(8) %13, i64 noundef 0) - to label %.noexc98 unwind label %182 + to label %.noexc103 unwind label %182 -.noexc98: ; preds = %.noexc94 +.noexc103: ; preds = %.noexc99 store ptr %72, ptr %70, align 16, !tbaa !23 %73 = load i64, ptr %13, align 8, !tbaa !34 store i64 %73, ptr %71, align 16, !tbaa !29 @@ -7011,9 +7011,9 @@ define dso_local void @_ZN8Function28initialize_builtin_functionsEv() local_unna call void @llvm.lifetime.start.p0(ptr nonnull %12) store i64 32, ptr %12, align 8, !tbaa !34 %79 = invoke noundef ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_createERmm(ptr noundef nonnull align 8 dereferenceable(32) %77, ptr noundef nonnull align 8 dereferenceable(8) %12, i64 noundef 0) - to label %.noexc102 unwind label %184 + to label %.noexc107 unwind label %184 -.noexc102: ; preds = %.noexc98 +.noexc107: ; preds = %.noexc103 store ptr %79, ptr %77, align 16, !tbaa !23 %80 = load i64, ptr %12, align 8, !tbaa !34 store i64 %80, ptr %78, align 16, !tbaa !29 @@ -7030,9 +7030,9 @@ define dso_local void @_ZN8Function28initialize_builtin_functionsEv() local_unna call void @llvm.lifetime.start.p0(ptr nonnull %11) store i64 37, ptr %11, align 8, !tbaa !34 %86 = invoke noundef ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_createERmm(ptr noundef nonnull align 8 dereferenceable(32) %84, ptr noundef nonnull align 8 dereferenceable(8) %11, i64 noundef 0) - to label %.noexc106 unwind label %186 + to label %.noexc111 unwind label %186 -.noexc106: ; preds = %.noexc102 +.noexc111: ; preds = %.noexc107 store ptr %86, ptr %84, align 16, !tbaa !23 %87 = load i64, ptr %11, align 8, !tbaa !34 store i64 %87, ptr %85, align 16, !tbaa !29 @@ -7049,9 +7049,9 @@ define dso_local void @_ZN8Function28initialize_builtin_functionsEv() local_unna call void @llvm.lifetime.start.p0(ptr nonnull %10) store i64 34, ptr %10, align 8, !tbaa !34 %93 = invoke noundef ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_createERmm(ptr noundef nonnull align 8 dereferenceable(32) %91, ptr noundef nonnull align 8 dereferenceable(8) %10, i64 noundef 0) - to label %.noexc110 unwind label %188 + to label %.noexc115 unwind label %188 -.noexc110: ; preds = %.noexc106 +.noexc115: ; preds = %.noexc111 store ptr %93, ptr %91, align 16, !tbaa !23 %94 = load i64, ptr %10, align 8, !tbaa !34 store i64 %94, ptr %92, align 16, !tbaa !29 @@ -7068,9 +7068,9 @@ define dso_local void @_ZN8Function28initialize_builtin_functionsEv() local_unna call void @llvm.lifetime.start.p0(ptr nonnull %9) store i64 36, ptr %9, align 8, !tbaa !34 %100 = invoke noundef ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_createERmm(ptr noundef nonnull align 8 dereferenceable(32) %98, ptr noundef nonnull align 8 dereferenceable(8) %9, i64 noundef 0) - to label %.noexc114 unwind label %190 + to label %.noexc119 unwind label %190 -.noexc114: ; preds = %.noexc110 +.noexc119: ; preds = %.noexc115 store ptr %100, ptr %98, align 16, !tbaa !23 %101 = load i64, ptr %9, align 8, !tbaa !34 store i64 %101, ptr %99, align 16, !tbaa !29 @@ -7087,9 +7087,9 @@ define dso_local void @_ZN8Function28initialize_builtin_functionsEv() local_unna call void @llvm.lifetime.start.p0(ptr nonnull %8) store i64 41, ptr %8, align 8, !tbaa !34 %107 = invoke noundef ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_createERmm(ptr noundef nonnull align 8 dereferenceable(32) %105, ptr noundef nonnull align 8 dereferenceable(8) %8, i64 noundef 0) - to label %.noexc118 unwind label %192 + to label %.noexc123 unwind label %192 -.noexc118: ; preds = %.noexc114 +.noexc123: ; preds = %.noexc119 store ptr %107, ptr %105, align 16, !tbaa !23 %108 = load i64, ptr %8, align 8, !tbaa !34 store i64 %108, ptr %106, align 16, !tbaa !29 @@ -7106,9 +7106,9 @@ define dso_local void @_ZN8Function28initialize_builtin_functionsEv() local_unna call void @llvm.lifetime.start.p0(ptr nonnull %7) store i64 36, ptr %7, align 8, !tbaa !34 %114 = invoke noundef ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_createERmm(ptr noundef nonnull align 8 dereferenceable(32) %112, ptr noundef nonnull align 8 dereferenceable(8) %7, i64 noundef 0) - to label %.noexc122 unwind label %194 + to label %.noexc127 unwind label %194 -.noexc122: ; preds = %.noexc118 +.noexc127: ; preds = %.noexc123 store ptr %114, ptr %112, align 16, !tbaa !23 %115 = load i64, ptr %7, align 8, !tbaa !34 store i64 %115, ptr %113, align 16, !tbaa !29 @@ -7125,9 +7125,9 @@ define dso_local void @_ZN8Function28initialize_builtin_functionsEv() local_unna call void @llvm.lifetime.start.p0(ptr nonnull %6) store i64 38, ptr %6, align 8, !tbaa !34 %121 = invoke noundef ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_createERmm(ptr noundef nonnull align 8 dereferenceable(32) %119, ptr noundef nonnull align 8 dereferenceable(8) %6, i64 noundef 0) - to label %.noexc126 unwind label %196 + to label %.noexc131 unwind label %196 -.noexc126: ; preds = %.noexc122 +.noexc131: ; preds = %.noexc127 store ptr %121, ptr %119, align 16, !tbaa !23 %122 = load i64, ptr %6, align 8, !tbaa !34 store i64 %122, ptr %120, align 16, !tbaa !29 @@ -7144,9 +7144,9 @@ define dso_local void @_ZN8Function28initialize_builtin_functionsEv() local_unna call void @llvm.lifetime.start.p0(ptr nonnull %5) store i64 43, ptr %5, align 8, !tbaa !34 %128 = invoke noundef ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_createERmm(ptr noundef nonnull align 8 dereferenceable(32) %126, ptr noundef nonnull align 8 dereferenceable(8) %5, i64 noundef 0) - to label %.noexc130 unwind label %198 + to label %.noexc135 unwind label %198 -.noexc130: ; preds = %.noexc126 +.noexc135: ; preds = %.noexc131 store ptr %128, ptr %126, align 16, !tbaa !23 %129 = load i64, ptr %5, align 8, !tbaa !34 store i64 %129, ptr %127, align 16, !tbaa !29 @@ -7163,9 +7163,9 @@ define dso_local void @_ZN8Function28initialize_builtin_functionsEv() local_unna call void @llvm.lifetime.start.p0(ptr nonnull %4) store i64 36, ptr %4, align 8, !tbaa !34 %135 = invoke noundef ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_createERmm(ptr noundef nonnull align 8 dereferenceable(32) %133, ptr noundef nonnull align 8 dereferenceable(8) %4, i64 noundef 0) - to label %.noexc134 unwind label %200 + to label %.noexc139 unwind label %200 -.noexc134: ; preds = %.noexc130 +.noexc139: ; preds = %.noexc135 store ptr %135, ptr %133, align 16, !tbaa !23 %136 = load i64, ptr %4, align 8, !tbaa !34 store i64 %136, ptr %134, align 16, !tbaa !29 @@ -7182,9 +7182,9 @@ define dso_local void @_ZN8Function28initialize_builtin_functionsEv() local_unna call void @llvm.lifetime.start.p0(ptr nonnull %3) store i64 46, ptr %3, align 8, !tbaa !34 %142 = invoke noundef ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_createERmm(ptr noundef nonnull align 8 dereferenceable(32) %140, ptr noundef nonnull align 8 dereferenceable(8) %3, i64 noundef 0) - to label %.noexc138 unwind label %202 + to label %.noexc143 unwind label %202 -.noexc138: ; preds = %.noexc134 +.noexc143: ; preds = %.noexc139 store ptr %142, ptr %140, align 16, !tbaa !23 %143 = load i64, ptr %3, align 8, !tbaa !34 store i64 %143, ptr %141, align 16, !tbaa !29 @@ -7201,9 +7201,9 @@ define dso_local void @_ZN8Function28initialize_builtin_functionsEv() local_unna call void @llvm.lifetime.start.p0(ptr nonnull %2) store i64 36, ptr %2, align 8, !tbaa !34 %149 = invoke noundef ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_createERmm(ptr noundef nonnull align 8 dereferenceable(32) %147, ptr noundef nonnull align 8 dereferenceable(8) %2, i64 noundef 0) - to label %.noexc142 unwind label %204 + to label %.noexc147 unwind label %204 -.noexc142: ; preds = %.noexc138 +.noexc147: ; preds = %.noexc143 store ptr %149, ptr %147, align 16, !tbaa !23 %150 = load i64, ptr %2, align 8, !tbaa !34 store i64 %150, ptr %148, align 16, !tbaa !29 @@ -7220,9 +7220,9 @@ define dso_local void @_ZN8Function28initialize_builtin_functionsEv() local_unna call void @llvm.lifetime.start.p0(ptr nonnull %1) store i64 36, ptr %1, align 8, !tbaa !34 %156 = invoke noundef ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_createERmm(ptr noundef nonnull align 8 dereferenceable(32) %154, ptr noundef nonnull align 8 dereferenceable(8) %1, i64 noundef 0) - to label %.noexc146 unwind label %206 + to label %.noexc151 unwind label %206 -.noexc146: ; preds = %.noexc142 +.noexc151: ; preds = %.noexc147 store ptr %156, ptr %154, align 16, !tbaa !23 %157 = load i64, ptr %1, align 8, !tbaa !34 store i64 %157, ptr %155, align 16, !tbaa !29 @@ -7239,9 +7239,9 @@ define dso_local void @_ZN8Function28initialize_builtin_functionsEv() local_unna call void @llvm.lifetime.start.p0(ptr nonnull %0) store i64 48, ptr %0, align 8, !tbaa !34 %163 = invoke noundef ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_createERmm(ptr noundef nonnull align 8 dereferenceable(32) %161, ptr noundef nonnull align 8 dereferenceable(8) %0, i64 noundef 0) - to label %.noexc150 unwind label %208 + to label %.noexc155 unwind label %208 -.noexc150: ; preds = %.noexc146 +.noexc155: ; preds = %.noexc151 store ptr %163, ptr %161, align 16, !tbaa !23 %164 = load i64, ptr %0, align 8, !tbaa !34 store i64 %164, ptr %162, align 16, !tbaa !29 @@ -7263,97 +7263,97 @@ define dso_local void @_ZN8Function28initialize_builtin_functionsEv() local_unna cleanup br label %210 -172: ; preds = %.noexc74 +172: ; preds = %.noexc79 %173 = landingpad { ptr, i32 } cleanup br label %210 -174: ; preds = %.noexc78 +174: ; preds = %.noexc83 %175 = landingpad { ptr, i32 } cleanup br label %210 -176: ; preds = %.noexc82 +176: ; preds = %.noexc87 %177 = landingpad { ptr, i32 } cleanup br label %210 -178: ; preds = %.noexc86 +178: ; preds = %.noexc91 %179 = landingpad { ptr, i32 } cleanup br label %210 -180: ; preds = %.noexc90 +180: ; preds = %.noexc95 %181 = landingpad { ptr, i32 } cleanup br label %210 -182: ; preds = %.noexc94 +182: ; preds = %.noexc99 %183 = landingpad { ptr, i32 } cleanup br label %210 -184: ; preds = %.noexc98 +184: ; preds = %.noexc103 %185 = landingpad { ptr, i32 } cleanup br label %210 -186: ; preds = %.noexc102 +186: ; preds = %.noexc107 %187 = landingpad { ptr, i32 } cleanup br label %210 -188: ; preds = %.noexc106 +188: ; preds = %.noexc111 %189 = landingpad { ptr, i32 } cleanup br label %210 -190: ; preds = %.noexc110 +190: ; preds = %.noexc115 %191 = landingpad { ptr, i32 } cleanup br label %210 -192: ; preds = %.noexc114 +192: ; preds = %.noexc119 %193 = landingpad { ptr, i32 } cleanup br label %210 -194: ; preds = %.noexc118 +194: ; preds = %.noexc123 %195 = landingpad { ptr, i32 } cleanup br label %210 -196: ; preds = %.noexc122 +196: ; preds = %.noexc127 %197 = landingpad { ptr, i32 } cleanup br label %210 -198: ; preds = %.noexc126 +198: ; preds = %.noexc131 %199 = landingpad { ptr, i32 } cleanup br label %210 -200: ; preds = %.noexc130 +200: ; preds = %.noexc135 %201 = landingpad { ptr, i32 } cleanup br label %210 -202: ; preds = %.noexc134 +202: ; preds = %.noexc139 %203 = landingpad { ptr, i32 } cleanup br label %210 -204: ; preds = %.noexc138 +204: ; preds = %.noexc143 %205 = landingpad { ptr, i32 } cleanup br label %210 -206: ; preds = %.noexc142 +206: ; preds = %.noexc147 %207 = landingpad { ptr, i32 } cleanup br label %210 -208: ; preds = %.noexc146 +208: ; preds = %.noexc151 %209 = landingpad { ptr, i32 } cleanup br label %210 @@ -7388,8 +7388,8 @@ _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit: ; preds = %_ZNKS %222 = icmp eq ptr %213, %21 br i1 %222, label %.loopexit, label %211 -223: ; preds = %.noexc150, %225 - %indvars.iv = phi i64 [ 0, %.noexc150 ], [ %indvars.iv.next, %225 ] +223: ; preds = %.noexc155, %225 + %indvars.iv = phi i64 [ 0, %.noexc155 ], [ %indvars.iv.next, %225 ] %224 = getelementptr inbounds nuw %"class.std::__cxx11::basic_string", ptr %21, i64 %indvars.iv invoke void @_ZN8Function21make_builtin_functionERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(32) %224) to label %225 unwind label %226 @@ -7405,64 +7405,64 @@ _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit: ; preds = %_ZNKS %228 = getelementptr inbounds nuw i8, ptr %21, i64 672 br label %242 -229: ; preds = %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit154, %168 - %230 = phi ptr [ %169, %168 ], [ %231, %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit154 ] +229: ; preds = %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit159, %168 + %230 = phi ptr [ %169, %168 ], [ %231, %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit159 ] %231 = getelementptr inbounds i8, ptr %230, i64 -32 %232 = load ptr, ptr %231, align 8, !tbaa !23 %233 = getelementptr inbounds i8, ptr %230, i64 -16 %234 = icmp eq ptr %232, %233 - br i1 %234, label %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i153, label %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i152 + br i1 %234, label %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i158, label %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i157 -_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i153: ; preds = %229 +_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i158: ; preds = %229 %235 = getelementptr inbounds i8, ptr %230, i64 -24 %236 = load i64, ptr %235, align 8, !tbaa !28 %237 = icmp ult i64 %236, 16 call void @llvm.assume(i1 %237) - br label %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit154 + br label %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit159 -_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i152: ; preds = %229 +_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i157: ; preds = %229 %238 = load i64, ptr %233, align 8, !tbaa !29 %239 = add i64 %238, 1 call void @_ZdlPvm(ptr noundef %232, i64 noundef %239) #25 - br label %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit154 + br label %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit159 -_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit154: ; preds = %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i153, %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i152 +_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit159: ; preds = %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i158, %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i157 %240 = icmp eq ptr %231, %21 br i1 %240, label %241, label %229 -241: ; preds = %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit154 +241: ; preds = %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit159 call void @llvm.lifetime.end.p0(ptr nonnull %21) ret void -242: ; preds = %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit157, %226 - %243 = phi ptr [ %228, %226 ], [ %244, %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit157 ] +242: ; preds = %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit162, %226 + %243 = phi ptr [ %228, %226 ], [ %244, %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit162 ] %244 = getelementptr inbounds i8, ptr %243, i64 -32 %245 = load ptr, ptr %244, align 8, !tbaa !23 %246 = getelementptr inbounds i8, ptr %243, i64 -16 %247 = icmp eq ptr %245, %246 - br i1 %247, label %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i156, label %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i155 + br i1 %247, label %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i161, label %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i160 -_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i156: ; preds = %242 +_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i161: ; preds = %242 %248 = getelementptr inbounds i8, ptr %243, i64 -24 %249 = load i64, ptr %248, align 8, !tbaa !28 %250 = icmp ult i64 %249, 16 call void @llvm.assume(i1 %250) - br label %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit157 + br label %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit162 -_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i155: ; preds = %242 +_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i160: ; preds = %242 %251 = load i64, ptr %246, align 8, !tbaa !29 %252 = add i64 %251, 1 call void @_ZdlPvm(ptr noundef %245, i64 noundef %252) #25 - br label %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit157 + br label %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit162 -_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit157: ; preds = %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i156, %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i155 +_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit162: ; preds = %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i161, %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i160 %253 = icmp eq ptr %244, %21 br i1 %253, label %.loopexit, label %242 -.loopexit: ; preds = %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit, %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit157 - %.pn70 = phi { ptr, i32 } [ %227, %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit157 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit ] +.loopexit: ; preds = %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit, %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit162 + %.pn75 = phi { ptr, i32 } [ %227, %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit162 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit ] call void @llvm.lifetime.end.p0(ptr nonnull %21) - resume { ptr, i32 } %.pn70 + resume { ptr, i32 } %.pn75 } ; Function Attrs: mustprogress uwtable diff --git a/bench/cvc5/optimized/SimpSolver.ll b/bench/cvc5/optimized/SimpSolver.ll index cfbbae8cb00..7b1ce715d49 100644 --- a/bench/cvc5/optimized/SimpSolver.ll +++ b/bench/cvc5/optimized/SimpSolver.ll @@ -7250,29 +7250,29 @@ define linkonce_odr hidden noundef zeroext i1 @_ZN4cvc58internal7Minisat12Double %7 = load ptr, ptr %6, align 8, !tbaa !392 %8 = load i8, ptr %7, align 1, !tbaa !290 %.not15.i = icmp eq i8 %8, 0 - br i1 %.not15.i, label %.loopexit, label %.lr.ph.i15 + br i1 %.not15.i, label %.loopexit, label %.lr.ph.i16 -9: ; preds = %.lr.ph.i15 - %indvars.iv.next.i19 = add nuw nsw i64 %indvars.iv.i16, 1 - %10 = getelementptr inbounds nuw i8, ptr %7, i64 %indvars.iv.next.i19 +9: ; preds = %.lr.ph.i16 + %indvars.iv.next.i20 = add nuw nsw i64 %indvars.iv.i17, 1 + %10 = getelementptr inbounds nuw i8, ptr %7, i64 %indvars.iv.next.i20 %11 = load i8, ptr %10, align 1, !tbaa !290 - %.not.i20 = icmp eq i8 %11, 0 - br i1 %.not.i20, label %.loopexit, label %.lr.ph.i15, !llvm.loop !404 + %.not.i21 = icmp eq i8 %11, 0 + br i1 %.not.i21, label %.loopexit, label %.lr.ph.i16, !llvm.loop !404 -.lr.ph.i15: ; preds = %4, %9 - %indvars.iv.i16 = phi i64 [ %indvars.iv.next.i19, %9 ], [ 0, %4 ] +.lr.ph.i16: ; preds = %4, %9 + %indvars.iv.i17 = phi i64 [ %indvars.iv.next.i20, %9 ], [ 0, %4 ] %12 = phi i8 [ %11, %9 ], [ %8, %4 ] - %13 = getelementptr inbounds nuw i8, ptr %5, i64 %indvars.iv.i16 + %13 = getelementptr inbounds nuw i8, ptr %5, i64 %indvars.iv.i17 %14 = load i8, ptr %13, align 1, !tbaa !290 - %.not11.i17 = icmp eq i8 %14, %12 - br i1 %.not11.i17, label %9, label %_ZN4cvc58internal7MinisatL5matchIPKcEEbRT_S4_.exit + %.not11.i18 = icmp eq i8 %14, %12 + br i1 %.not11.i18, label %9, label %_ZN4cvc58internal7MinisatL5matchIPKcEEbRT_S4_.exit .loopexit: ; preds = %9, %4 - %.lcssa.i = phi i64 [ 0, %4 ], [ %indvars.iv.next.i19, %9 ] + %.lcssa.i = phi i64 [ 0, %4 ], [ %indvars.iv.next.i20, %9 ] %15 = getelementptr inbounds nuw i8, ptr %5, i64 %.lcssa.i %16 = load i8, ptr %15, align 1, !tbaa !290 - %.not11.i26 = icmp eq i8 %16, 61 - br i1 %.not11.i26, label %17, label %_ZN4cvc58internal7MinisatL5matchIPKcEEbRT_S4_.exit + %.not11.i27 = icmp eq i8 %16, 61 + br i1 %.not11.i27, label %17, label %_ZN4cvc58internal7MinisatL5matchIPKcEEbRT_S4_.exit 17: ; preds = %.loopexit %18 = getelementptr inbounds nuw i8, ptr %15, i64 1 @@ -7314,8 +7314,8 @@ define linkonce_odr hidden noundef zeroext i1 @_ZN4cvc58internal7Minisat12Double %41 = load i8, ptr %40, align 8, !tbaa !419, !range !67, !noundef !68 %42 = trunc nuw i8 %41 to i1 %43 = fcmp oeq double %19, %37 - %or.cond13.not = select i1 %42, i1 %43, i1 false - br i1 %or.cond13.not, label %48, label %44 + %or.cond14.not = select i1 %42, i1 %43, i1 false + br i1 %or.cond14.not, label %48, label %44 44: ; preds = %39 %45 = load ptr, ptr @stderr, align 8, !tbaa !311 @@ -7333,8 +7333,8 @@ define linkonce_odr hidden noundef zeroext i1 @_ZN4cvc58internal7Minisat12Double call void @llvm.lifetime.end.p0(ptr nonnull %2) br label %_ZN4cvc58internal7MinisatL5matchIPKcEEbRT_S4_.exit -_ZN4cvc58internal7MinisatL5matchIPKcEEbRT_S4_.exit: ; preds = %.lr.ph.i15, %.lr.ph.i, %.loopexit, %50 - %.0 = phi i1 [ %21, %50 ], [ false, %.loopexit ], [ false, %.lr.ph.i ], [ false, %.lr.ph.i15 ] +_ZN4cvc58internal7MinisatL5matchIPKcEEbRT_S4_.exit: ; preds = %.lr.ph.i16, %.lr.ph.i, %.loopexit, %50 + %.0 = phi i1 [ %21, %50 ], [ false, %.loopexit ], [ false, %.lr.ph.i ], [ false, %.lr.ph.i16 ] ret i1 %.0 } diff --git a/bench/cvc5/optimized/theory_sep_rewriter.ll b/bench/cvc5/optimized/theory_sep_rewriter.ll index c9331d71646..0736dd55764 100644 --- a/bench/cvc5/optimized/theory_sep_rewriter.ll +++ b/bench/cvc5/optimized/theory_sep_rewriter.ll @@ -1001,13 +1001,13 @@ _ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit88: ; preds = %416, %420, %426 %462 = getelementptr inbounds nuw i8, ptr %.sroa.032.051.i.i.i, i64 8 %463 = load ptr, ptr %462, align 8, !tbaa !28 %464 = icmp eq ptr %463, %456 - br i1 %464, label %_ZSt4findIN9__gnu_cxx17__normal_iteratorIPN4cvc58internal12NodeTemplateILb1EEESt6vectorIS5_SaIS5_EEEES5_ET_SB_SB_RKT0_.exit.loopexit.split.loop.exit201, label %465 + br i1 %464, label %_ZSt4findIN9__gnu_cxx17__normal_iteratorIPN4cvc58internal12NodeTemplateILb1EEESt6vectorIS5_SaIS5_EEEES5_ET_SB_SB_RKT0_.exit.loopexit.split.loop.exit203, label %465 465: ; preds = %461 %466 = getelementptr inbounds nuw i8, ptr %.sroa.032.051.i.i.i, i64 16 %467 = load ptr, ptr %466, align 8, !tbaa !28 %468 = icmp eq ptr %467, %456 - br i1 %468, label %_ZSt4findIN9__gnu_cxx17__normal_iteratorIPN4cvc58internal12NodeTemplateILb1EEESt6vectorIS5_SaIS5_EEEES5_ET_SB_SB_RKT0_.exit.loopexit.split.loop.exit199, label %469 + br i1 %468, label %_ZSt4findIN9__gnu_cxx17__normal_iteratorIPN4cvc58internal12NodeTemplateILb1EEESt6vectorIS5_SaIS5_EEEES5_ET_SB_SB_RKT0_.exit.loopexit.split.loop.exit201, label %469 469: ; preds = %465 %470 = getelementptr inbounds nuw i8, ptr %.sroa.032.051.i.i.i, i64 24 @@ -1077,17 +1077,17 @@ _ZSt4findIN9__gnu_cxx17__normal_iteratorIPN4cvc58internal12NodeTemplateILb1EEESt %494 = getelementptr inbounds nuw i8, ptr %.sroa.032.051.i.i.i, i64 24 br label %_ZSt4findIN9__gnu_cxx17__normal_iteratorIPN4cvc58internal12NodeTemplateILb1EEESt6vectorIS5_SaIS5_EEEES5_ET_SB_SB_RKT0_.exit -_ZSt4findIN9__gnu_cxx17__normal_iteratorIPN4cvc58internal12NodeTemplateILb1EEESt6vectorIS5_SaIS5_EEEES5_ET_SB_SB_RKT0_.exit.loopexit.split.loop.exit199: ; preds = %465 +_ZSt4findIN9__gnu_cxx17__normal_iteratorIPN4cvc58internal12NodeTemplateILb1EEESt6vectorIS5_SaIS5_EEEES5_ET_SB_SB_RKT0_.exit.loopexit.split.loop.exit201: ; preds = %465 %495 = getelementptr inbounds nuw i8, ptr %.sroa.032.051.i.i.i, i64 16 br label %_ZSt4findIN9__gnu_cxx17__normal_iteratorIPN4cvc58internal12NodeTemplateILb1EEESt6vectorIS5_SaIS5_EEEES5_ET_SB_SB_RKT0_.exit -_ZSt4findIN9__gnu_cxx17__normal_iteratorIPN4cvc58internal12NodeTemplateILb1EEESt6vectorIS5_SaIS5_EEEES5_ET_SB_SB_RKT0_.exit.loopexit.split.loop.exit201: ; preds = %461 +_ZSt4findIN9__gnu_cxx17__normal_iteratorIPN4cvc58internal12NodeTemplateILb1EEESt6vectorIS5_SaIS5_EEEES5_ET_SB_SB_RKT0_.exit.loopexit.split.loop.exit203: ; preds = %461 %496 = getelementptr inbounds nuw i8, ptr %.sroa.032.051.i.i.i, i64 8 br label %_ZSt4findIN9__gnu_cxx17__normal_iteratorIPN4cvc58internal12NodeTemplateILb1EEESt6vectorIS5_SaIS5_EEEES5_ET_SB_SB_RKT0_.exit -_ZSt4findIN9__gnu_cxx17__normal_iteratorIPN4cvc58internal12NodeTemplateILb1EEESt6vectorIS5_SaIS5_EEEES5_ET_SB_SB_RKT0_.exit: ; preds = %458, %_ZSt4findIN9__gnu_cxx17__normal_iteratorIPN4cvc58internal12NodeTemplateILb1EEESt6vectorIS5_SaIS5_EEEES5_ET_SB_SB_RKT0_.exit.loopexit.split.loop.exit, %_ZSt4findIN9__gnu_cxx17__normal_iteratorIPN4cvc58internal12NodeTemplateILb1EEESt6vectorIS5_SaIS5_EEEES5_ET_SB_SB_RKT0_.exit.loopexit.split.loop.exit199, %_ZSt4findIN9__gnu_cxx17__normal_iteratorIPN4cvc58internal12NodeTemplateILb1EEESt6vectorIS5_SaIS5_EEEES5_ET_SB_SB_RKT0_.exit.loopexit.split.loop.exit201, %490, %484, %478 - %497 = phi ptr [ %479, %478 ], [ %485, %484 ], [ %491, %490 ], [ %456, %_ZSt4findIN9__gnu_cxx17__normal_iteratorIPN4cvc58internal12NodeTemplateILb1EEESt6vectorIS5_SaIS5_EEEES5_ET_SB_SB_RKT0_.exit.loopexit.split.loop.exit201 ], [ %456, %_ZSt4findIN9__gnu_cxx17__normal_iteratorIPN4cvc58internal12NodeTemplateILb1EEESt6vectorIS5_SaIS5_EEEES5_ET_SB_SB_RKT0_.exit.loopexit.split.loop.exit199 ], [ %456, %_ZSt4findIN9__gnu_cxx17__normal_iteratorIPN4cvc58internal12NodeTemplateILb1EEESt6vectorIS5_SaIS5_EEEES5_ET_SB_SB_RKT0_.exit.loopexit.split.loop.exit ], [ %456, %458 ] - %.sroa.08.0.in.sroa.speculated.i.i.i = phi ptr [ %.sroa.032.0.lcssa.i.i.i, %478 ], [ %.sroa.032.1.i.i.i, %484 ], [ %spec.select.i.i.i, %490 ], [ %496, %_ZSt4findIN9__gnu_cxx17__normal_iteratorIPN4cvc58internal12NodeTemplateILb1EEESt6vectorIS5_SaIS5_EEEES5_ET_SB_SB_RKT0_.exit.loopexit.split.loop.exit201 ], [ %495, %_ZSt4findIN9__gnu_cxx17__normal_iteratorIPN4cvc58internal12NodeTemplateILb1EEESt6vectorIS5_SaIS5_EEEES5_ET_SB_SB_RKT0_.exit.loopexit.split.loop.exit199 ], [ %494, %_ZSt4findIN9__gnu_cxx17__normal_iteratorIPN4cvc58internal12NodeTemplateILb1EEESt6vectorIS5_SaIS5_EEEES5_ET_SB_SB_RKT0_.exit.loopexit.split.loop.exit ], [ %.sroa.032.051.i.i.i, %458 ] +_ZSt4findIN9__gnu_cxx17__normal_iteratorIPN4cvc58internal12NodeTemplateILb1EEESt6vectorIS5_SaIS5_EEEES5_ET_SB_SB_RKT0_.exit: ; preds = %458, %_ZSt4findIN9__gnu_cxx17__normal_iteratorIPN4cvc58internal12NodeTemplateILb1EEESt6vectorIS5_SaIS5_EEEES5_ET_SB_SB_RKT0_.exit.loopexit.split.loop.exit, %_ZSt4findIN9__gnu_cxx17__normal_iteratorIPN4cvc58internal12NodeTemplateILb1EEESt6vectorIS5_SaIS5_EEEES5_ET_SB_SB_RKT0_.exit.loopexit.split.loop.exit201, %_ZSt4findIN9__gnu_cxx17__normal_iteratorIPN4cvc58internal12NodeTemplateILb1EEESt6vectorIS5_SaIS5_EEEES5_ET_SB_SB_RKT0_.exit.loopexit.split.loop.exit203, %490, %484, %478 + %497 = phi ptr [ %479, %478 ], [ %485, %484 ], [ %491, %490 ], [ %456, %_ZSt4findIN9__gnu_cxx17__normal_iteratorIPN4cvc58internal12NodeTemplateILb1EEESt6vectorIS5_SaIS5_EEEES5_ET_SB_SB_RKT0_.exit.loopexit.split.loop.exit203 ], [ %456, %_ZSt4findIN9__gnu_cxx17__normal_iteratorIPN4cvc58internal12NodeTemplateILb1EEESt6vectorIS5_SaIS5_EEEES5_ET_SB_SB_RKT0_.exit.loopexit.split.loop.exit201 ], [ %456, %_ZSt4findIN9__gnu_cxx17__normal_iteratorIPN4cvc58internal12NodeTemplateILb1EEESt6vectorIS5_SaIS5_EEEES5_ET_SB_SB_RKT0_.exit.loopexit.split.loop.exit ], [ %456, %458 ] + %.sroa.08.0.in.sroa.speculated.i.i.i = phi ptr [ %.sroa.032.0.lcssa.i.i.i, %478 ], [ %.sroa.032.1.i.i.i, %484 ], [ %spec.select.i.i.i, %490 ], [ %496, %_ZSt4findIN9__gnu_cxx17__normal_iteratorIPN4cvc58internal12NodeTemplateILb1EEESt6vectorIS5_SaIS5_EEEES5_ET_SB_SB_RKT0_.exit.loopexit.split.loop.exit203 ], [ %495, %_ZSt4findIN9__gnu_cxx17__normal_iteratorIPN4cvc58internal12NodeTemplateILb1EEESt6vectorIS5_SaIS5_EEEES5_ET_SB_SB_RKT0_.exit.loopexit.split.loop.exit201 ], [ %494, %_ZSt4findIN9__gnu_cxx17__normal_iteratorIPN4cvc58internal12NodeTemplateILb1EEESt6vectorIS5_SaIS5_EEEES5_ET_SB_SB_RKT0_.exit.loopexit.split.loop.exit ], [ %.sroa.032.051.i.i.i, %458 ] %498 = icmp ne ptr %.sroa.08.0.in.sroa.speculated.i.i.i, %450 %.not.i = icmp eq ptr %441, %497 %or.cond = select i1 %498, i1 true, i1 %.not.i @@ -1204,11 +1204,11 @@ _ZN4cvc58internal4expr9NodeValue3decEv.exit.i95: ; preds = %540, %534, %531 br i1 %554, label %.invoke, label %_ZN4cvc58internal12NodeTemplateILb1EEaSERKS2_.exit, !prof !31 .invoke: ; preds = %553, %521 - %.sink208 = phi i64 [ %510, %521 ], [ %542, %553 ] - %.sink207 = phi ptr [ %509, %521 ], [ %541, %553 ] - %555 = or i64 %.sink208, 1152920405095219200 - store i64 %555, ptr %.sink207, align 8 - invoke void @_ZN4cvc58internal4expr9NodeValue20markRefCountMaxedOutEv(ptr noundef nonnull align 8 dereferenceable(24) %.sink207) + %.sink210 = phi i64 [ %510, %521 ], [ %542, %553 ] + %.sink209 = phi ptr [ %509, %521 ], [ %541, %553 ] + %555 = or i64 %.sink210, 1152920405095219200 + store i64 %555, ptr %.sink209, align 8 + invoke void @_ZN4cvc58internal4expr9NodeValue20markRefCountMaxedOutEv(ptr noundef nonnull align 8 dereferenceable(24) %.sink209) to label %_ZN4cvc58internal12NodeTemplateILb1EEaSERKS2_.exit unwind label %527 556: ; preds = %440 diff --git a/bench/delta-rs/optimized/4zvphat0q9a964bz.ll b/bench/delta-rs/optimized/4zvphat0q9a964bz.ll index 34c622e51b7..b79d7ff63fa 100644 --- a/bench/delta-rs/optimized/4zvphat0q9a964bz.ll +++ b/bench/delta-rs/optimized/4zvphat0q9a964bz.ll @@ -18508,7 +18508,7 @@ define hidden void @"_ZN117_$LT$futures_util..stream..futures_unordered..Futures switch i8 %118, label %default.unreachable [ i8 0, label %121 i8 1, label %.invoke - i8 2, label %.invoke.loopexit176 + i8 2, label %.invoke.loopexit177 i8 3, label %126 ] @@ -18531,12 +18531,12 @@ default.unreachable: ; preds = %114 store ptr %122, ptr %123, align 8, !noalias !2770 br label %126 -.invoke.loopexit176: ; preds = %114 +.invoke.loopexit177: ; preds = %114 br label %.invoke -.invoke: ; preds = %114, %.invoke.loopexit176 - %124 = phi ptr [ @str.5, %.invoke.loopexit176 ], [ @str.4, %114 ] - %125 = phi i64 [ 34, %.invoke.loopexit176 ], [ 35, %114 ] +.invoke: ; preds = %114, %.invoke.loopexit177 + %124 = phi ptr [ @str.5, %.invoke.loopexit177 ], [ @str.4, %114 ] + %125 = phi i64 [ 34, %.invoke.loopexit177 ], [ 35, %114 ] invoke void @_ZN4core9panicking5panic17h44790a89027c670fE(ptr noalias noundef nonnull readonly align 1 %124, i64 noundef %125, ptr noalias noundef readonly align 8 dereferenceable(24) @anon.fa082ecd109e1e9e48d31b7779f57bae.642) #45 to label %.cont unwind label %112 diff --git a/bench/draco/optimized/mesh_stripifier.ll b/bench/draco/optimized/mesh_stripifier.ll index a4ecf206b71..dca7f84a89d 100644 --- a/bench/draco/optimized/mesh_stripifier.ll +++ b/bench/draco/optimized/mesh_stripifier.ll @@ -54,9 +54,9 @@ _ZNSt6vectorIN5draco9IndexTypeIjNS0_19FaceIndex_tag_type_EEESaIS3_EE5clearEv.exi 16: ; preds = %_ZNSt6vectorIN5draco9IndexTypeIjNS0_19FaceIndex_tag_type_EEESaIS3_EE5clearEv.exit, %_ZNK5draco14MeshStripifier17GetOppositeCornerENS_9IndexTypeIjNS_21CornerIndex_tag_type_EEE.exit.thread.thread %17 = phi i1 [ true, %_ZNSt6vectorIN5draco9IndexTypeIjNS0_19FaceIndex_tag_type_EEESaIS3_EE5clearEv.exit ], [ false, %_ZNK5draco14MeshStripifier17GetOppositeCornerENS_9IndexTypeIjNS_21CornerIndex_tag_type_EEE.exit.thread.thread ] - %.sroa.084.0164 = phi i32 [ %2, %_ZNSt6vectorIN5draco9IndexTypeIjNS0_19FaceIndex_tag_type_EEESaIS3_EE5clearEv.exit ], [ %.sroa.084.3192, %_ZNK5draco14MeshStripifier17GetOppositeCornerENS_9IndexTypeIjNS_21CornerIndex_tag_type_EEE.exit.thread.thread ] - %.sroa.081.0163 = phi i32 [ %2, %_ZNSt6vectorIN5draco9IndexTypeIjNS0_19FaceIndex_tag_type_EEESaIS3_EE5clearEv.exit ], [ %.sroa.081.2191, %_ZNK5draco14MeshStripifier17GetOppositeCornerENS_9IndexTypeIjNS_21CornerIndex_tag_type_EEE.exit.thread.thread ] - %.sroa.077.0162 = phi i32 [ %.sroa.02.0.i, %_ZNSt6vectorIN5draco9IndexTypeIjNS0_19FaceIndex_tag_type_EEESaIS3_EE5clearEv.exit ], [ %.sroa.077.2.lcssa190, %_ZNK5draco14MeshStripifier17GetOppositeCornerENS_9IndexTypeIjNS_21CornerIndex_tag_type_EEE.exit.thread.thread ] + %.sroa.084.0164 = phi i32 [ %2, %_ZNSt6vectorIN5draco9IndexTypeIjNS0_19FaceIndex_tag_type_EEESaIS3_EE5clearEv.exit ], [ %.sroa.084.3193, %_ZNK5draco14MeshStripifier17GetOppositeCornerENS_9IndexTypeIjNS_21CornerIndex_tag_type_EEE.exit.thread.thread ] + %.sroa.081.0163 = phi i32 [ %2, %_ZNSt6vectorIN5draco9IndexTypeIjNS0_19FaceIndex_tag_type_EEESaIS3_EE5clearEv.exit ], [ %.sroa.081.2192, %_ZNK5draco14MeshStripifier17GetOppositeCornerENS_9IndexTypeIjNS_21CornerIndex_tag_type_EEE.exit.thread.thread ] + %.sroa.077.0162 = phi i32 [ %.sroa.02.0.i, %_ZNSt6vectorIN5draco9IndexTypeIjNS0_19FaceIndex_tag_type_EEESaIS3_EE5clearEv.exit ], [ %.sroa.077.2.lcssa191, %_ZNK5draco14MeshStripifier17GetOppositeCornerENS_9IndexTypeIjNS_21CornerIndex_tag_type_EEE.exit.thread.thread ] br i1 %17, label %44, label %18 18: ; preds = %16 @@ -418,13 +418,13 @@ _ZNK5draco14MeshStripifier17GetOppositeCornerENS_9IndexTypeIjNS_21CornerIndex_ta br label %_ZNK5draco11CornerTable9SwingLeftENS_9IndexTypeIjNS_21CornerIndex_tag_type_EEE.exit.thread _ZNK5draco14MeshStripifier17GetOppositeCornerENS_9IndexTypeIjNS_21CornerIndex_tag_type_EEE.exit.thread.thread: ; preds = %44, %_ZNK5draco14MeshStripifier17GetOppositeCornerENS_9IndexTypeIjNS_21CornerIndex_tag_type_EEE.exit.thread - %.sroa.084.3192 = phi i32 [ %.sroa.084.3.ph, %_ZNK5draco14MeshStripifier17GetOppositeCornerENS_9IndexTypeIjNS_21CornerIndex_tag_type_EEE.exit.thread ], [ %.sroa.084.1, %44 ] - %.sroa.081.2191 = phi i32 [ %.sroa.081.2.ph, %_ZNK5draco14MeshStripifier17GetOppositeCornerENS_9IndexTypeIjNS_21CornerIndex_tag_type_EEE.exit.thread ], [ %.sroa.081.0163, %44 ] - %.sroa.077.2.lcssa190 = phi i32 [ %.sroa.077.2.lcssa.ph, %_ZNK5draco14MeshStripifier17GetOppositeCornerENS_9IndexTypeIjNS_21CornerIndex_tag_type_EEE.exit.thread ], [ %.sroa.077.1, %44 ] + %.sroa.084.3193 = phi i32 [ %.sroa.084.3.ph, %_ZNK5draco14MeshStripifier17GetOppositeCornerENS_9IndexTypeIjNS_21CornerIndex_tag_type_EEE.exit.thread ], [ %.sroa.084.1, %44 ] + %.sroa.081.2192 = phi i32 [ %.sroa.081.2.ph, %_ZNK5draco14MeshStripifier17GetOppositeCornerENS_9IndexTypeIjNS_21CornerIndex_tag_type_EEE.exit.thread ], [ %.sroa.081.0163, %44 ] + %.sroa.077.2.lcssa191 = phi i32 [ %.sroa.077.2.lcssa.ph, %_ZNK5draco14MeshStripifier17GetOppositeCornerENS_9IndexTypeIjNS_21CornerIndex_tag_type_EEE.exit.thread ], [ %.sroa.077.1, %44 ] br i1 %17, label %16, label %_ZNK5draco11CornerTable9SwingLeftENS_9IndexTypeIjNS_21CornerIndex_tag_type_EEE.exit.thread, !llvm.loop !53 _ZNK5draco11CornerTable9SwingLeftENS_9IndexTypeIjNS_21CornerIndex_tag_type_EEE.exit.thread: ; preds = %_ZNK5draco11CornerTable8PreviousENS_9IndexTypeIjNS_21CornerIndex_tag_type_EEE.exit, %_ZNK5draco11CornerTable4NextENS_9IndexTypeIjNS_21CornerIndex_tag_type_EEE.exit, %_ZNK5draco11CornerTable4NextENS_9IndexTypeIjNS_21CornerIndex_tag_type_EEE.exit.i, %_ZNK5draco11CornerTable8OppositeENS_9IndexTypeIjNS_21CornerIndex_tag_type_EEE.exit.i, %_ZNK5draco11CornerTable9SwingLeftENS_9IndexTypeIjNS_21CornerIndex_tag_type_EEE.exit, %_ZNK5draco14MeshStripifier17GetOppositeCornerENS_9IndexTypeIjNS_21CornerIndex_tag_type_EEE.exit.thread.thread, %.thread, %_ZNK5draco11CornerTable8PreviousENS_9IndexTypeIjNS_21CornerIndex_tag_type_EEE.exit.thread - %.sroa.081.0126 = phi i32 [ -1, %_ZNK5draco11CornerTable8PreviousENS_9IndexTypeIjNS_21CornerIndex_tag_type_EEE.exit.thread ], [ %.sroa.081.2.ph, %.thread ], [ %.sroa.081.2191, %_ZNK5draco14MeshStripifier17GetOppositeCornerENS_9IndexTypeIjNS_21CornerIndex_tag_type_EEE.exit.thread.thread ], [ %.sroa.081.0163, %_ZNK5draco11CornerTable9SwingLeftENS_9IndexTypeIjNS_21CornerIndex_tag_type_EEE.exit ], [ %.sroa.081.0163, %_ZNK5draco11CornerTable8OppositeENS_9IndexTypeIjNS_21CornerIndex_tag_type_EEE.exit.i ], [ %.sroa.081.0163, %_ZNK5draco11CornerTable4NextENS_9IndexTypeIjNS_21CornerIndex_tag_type_EEE.exit.i ], [ %.sroa.081.0163, %_ZNK5draco11CornerTable4NextENS_9IndexTypeIjNS_21CornerIndex_tag_type_EEE.exit ], [ %.sroa.081.0163, %_ZNK5draco11CornerTable8PreviousENS_9IndexTypeIjNS_21CornerIndex_tag_type_EEE.exit ] + %.sroa.081.0126 = phi i32 [ -1, %_ZNK5draco11CornerTable8PreviousENS_9IndexTypeIjNS_21CornerIndex_tag_type_EEE.exit.thread ], [ %.sroa.081.2.ph, %.thread ], [ %.sroa.081.2192, %_ZNK5draco14MeshStripifier17GetOppositeCornerENS_9IndexTypeIjNS_21CornerIndex_tag_type_EEE.exit.thread.thread ], [ %.sroa.081.0163, %_ZNK5draco11CornerTable9SwingLeftENS_9IndexTypeIjNS_21CornerIndex_tag_type_EEE.exit ], [ %.sroa.081.0163, %_ZNK5draco11CornerTable8OppositeENS_9IndexTypeIjNS_21CornerIndex_tag_type_EEE.exit.i ], [ %.sroa.081.0163, %_ZNK5draco11CornerTable4NextENS_9IndexTypeIjNS_21CornerIndex_tag_type_EEE.exit.i ], [ %.sroa.081.0163, %_ZNK5draco11CornerTable4NextENS_9IndexTypeIjNS_21CornerIndex_tag_type_EEE.exit ], [ %.sroa.081.0163, %_ZNK5draco11CornerTable8PreviousENS_9IndexTypeIjNS_21CornerIndex_tag_type_EEE.exit ] %183 = getelementptr inbounds nuw i8, ptr %0, i64 88 %184 = getelementptr inbounds %"class.draco::IndexType", ptr %183, i64 %5 store i32 %.sroa.081.0126, ptr %184, align 4, !tbaa !54 diff --git a/bench/fish-rs/optimized/6luvh0o6z0xeo16dcenatpsob.ll b/bench/fish-rs/optimized/6luvh0o6z0xeo16dcenatpsob.ll index 9ffb1928351..5de3988c0e5 100644 --- a/bench/fish-rs/optimized/6luvh0o6z0xeo16dcenatpsob.ll +++ b/bench/fish-rs/optimized/6luvh0o6z0xeo16dcenatpsob.ll @@ -42506,12 +42506,12 @@ _ZN4fish6screen10ScreenData4line17h555952dbf2f6f3aaE.exit: ; preds = %184 %196 = getelementptr { { { { i64, ptr, {} }, {} }, i64 }, i64, i8, [7 x i8] }, ptr %195, i64 %.sroa.0.0.sroa.speculated.i %197 = getelementptr inbounds nuw i8, ptr %196, i64 24 %198 = load i64, ptr %197, align 8, !noundef !3 - %.sroa.0.0.sroa.speculated.i50 = call noundef i64 @llvm.umax.i64(i64 %198, i64 %193) + %.sroa.0.0.sroa.speculated.i51 = call noundef i64 @llvm.umax.i64(i64 %198, i64 %193) %199 = getelementptr inbounds nuw i8, ptr %196, i64 8 %200 = load ptr, ptr %199, align 8, !nonnull !3, !noundef !3 %201 = getelementptr inbounds nuw i8, ptr %196, i64 16 %202 = load i64, ptr %201, align 8, !noundef !3 - %203 = icmp uge i64 %.sroa.0.0.sroa.speculated.i50, %202 + %203 = icmp uge i64 %.sroa.0.0.sroa.speculated.i51, %202 br i1 %203, label %204, label %205 204: ; preds = %_ZN4fish6screen10ScreenData4line17h555952dbf2f6f3aaE.exit @@ -42519,60 +42519,60 @@ _ZN4fish6screen10ScreenData4line17h555952dbf2f6f3aaE.exit: ; preds = %184 br i1 %.not, label %207, label %208 205: ; preds = %_ZN4fish6screen10ScreenData4line17h555952dbf2f6f3aaE.exit - %206 = getelementptr inbounds nuw { { i64, [1 x i64] }, i32, { i8, i8, i8, i8 } }, ptr %200, i64 %.sroa.0.0.sroa.speculated.i50 - %.not40 = icmp eq i64 %.sroa.0.0.sroa.speculated.i, 0 - br i1 %.not40, label %.thread, label %_ZN4fish6screen10ScreenData4line17h555952dbf2f6f3aaE.exit51 + %206 = getelementptr inbounds nuw { { i64, [1 x i64] }, i32, { i8, i8, i8, i8 } }, ptr %200, i64 %.sroa.0.0.sroa.speculated.i51 + %.not41 = icmp eq i64 %.sroa.0.0.sroa.speculated.i, 0 + br i1 %.not41, label %.thread, label %_ZN4fish6screen10ScreenData4line17h555952dbf2f6f3aaE.exit52 207: ; preds = %204 - %.not38 = icmp eq i64 %.sroa.0.0.sroa.speculated.i, 0 - br i1 %.not38, label %.thread60, label %_ZN4fish6screen10ScreenData4line17h555952dbf2f6f3aaE.exit51.thread + %.not39 = icmp eq i64 %.sroa.0.0.sroa.speculated.i, 0 + br i1 %.not39, label %.thread61, label %_ZN4fish6screen10ScreenData4line17h555952dbf2f6f3aaE.exit52.thread 208: ; preds = %204 %209 = getelementptr { { i64, [1 x i64] }, i32, { i8, i8, i8, i8 } }, ptr %200, i64 %202 %210 = getelementptr i8, ptr %209, i64 -24 - %.not39 = icmp eq i64 %.sroa.0.0.sroa.speculated.i, 0 - br i1 %.not39, label %215, label %_ZN4fish6screen10ScreenData4line17h555952dbf2f6f3aaE.exit51 + %.not40 = icmp eq i64 %.sroa.0.0.sroa.speculated.i, 0 + br i1 %.not40, label %215, label %_ZN4fish6screen10ScreenData4line17h555952dbf2f6f3aaE.exit52 -_ZN4fish6screen10ScreenData4line17h555952dbf2f6f3aaE.exit51: ; preds = %205, %208 +_ZN4fish6screen10ScreenData4line17h555952dbf2f6f3aaE.exit52: ; preds = %205, %208 %.sroa.030.0 = phi ptr [ %206, %205 ], [ %210, %208 ] %211 = getelementptr i8, ptr %196, i64 -24 %212 = load i64, ptr %211, align 8, !noundef !3 - %.not41 = icmp eq i64 %212, 0 - %.not42 = icmp eq ptr %.sroa.030.0, null - br i1 %.not41, label %216, label %217 + %.not42 = icmp eq i64 %212, 0 + %.not43 = icmp eq ptr %.sroa.030.0, null + br i1 %.not42, label %216, label %217 -_ZN4fish6screen10ScreenData4line17h555952dbf2f6f3aaE.exit51.thread: ; preds = %207 +_ZN4fish6screen10ScreenData4line17h555952dbf2f6f3aaE.exit52.thread: ; preds = %207 %213 = getelementptr i8, ptr %196, i64 -24 %214 = load i64, ptr %213, align 8, !noundef !3 - %.not4172 = icmp eq i64 %214, 0 - br i1 %.not4172, label %.thread60, label %.thread78 + %.not4273 = icmp eq i64 %214, 0 + br i1 %.not4273, label %.thread61, label %.thread79 215: ; preds = %208 - %.not44 = icmp eq ptr %210, null - br i1 %.not44, label %.thread60, label %.thread + %.not45 = icmp eq ptr %210, null + br i1 %.not45, label %.thread61, label %.thread -216: ; preds = %_ZN4fish6screen10ScreenData4line17h555952dbf2f6f3aaE.exit51 - br i1 %.not42, label %.thread60, label %.thread +216: ; preds = %_ZN4fish6screen10ScreenData4line17h555952dbf2f6f3aaE.exit52 + br i1 %.not43, label %.thread61, label %.thread -217: ; preds = %_ZN4fish6screen10ScreenData4line17h555952dbf2f6f3aaE.exit51 - br i1 %.not42, label %.thread78, label %.thread +217: ; preds = %_ZN4fish6screen10ScreenData4line17h555952dbf2f6f3aaE.exit52 + br i1 %.not43, label %.thread79, label %.thread -.thread78: ; preds = %_ZN4fish6screen10ScreenData4line17h555952dbf2f6f3aaE.exit51.thread, %217 - %218 = phi i64 [ %212, %217 ], [ %214, %_ZN4fish6screen10ScreenData4line17h555952dbf2f6f3aaE.exit51.thread ] +.thread79: ; preds = %_ZN4fish6screen10ScreenData4line17h555952dbf2f6f3aaE.exit52.thread, %217 + %218 = phi i64 [ %212, %217 ], [ %214, %_ZN4fish6screen10ScreenData4line17h555952dbf2f6f3aaE.exit52.thread ] %219 = getelementptr i8, ptr %196, i64 -32 %220 = load ptr, ptr %219, align 8, !nonnull !3, !noundef !3 %221 = getelementptr { { i64, [1 x i64] }, i32, { i8, i8, i8, i8 } }, ptr %220, i64 %218 %222 = getelementptr i8, ptr %221, i64 -24 br label %.thread -.thread: ; preds = %205, %216, %217, %215, %.thread78 - %.sroa.07.1 = phi ptr [ %210, %215 ], [ %222, %.thread78 ], [ %206, %205 ], [ %.sroa.030.0, %216 ], [ %.sroa.030.0, %217 ] +.thread: ; preds = %205, %216, %217, %215, %.thread79 + %.sroa.07.1 = phi ptr [ %210, %215 ], [ %222, %.thread79 ], [ %206, %205 ], [ %.sroa.030.0, %216 ], [ %.sroa.030.0, %217 ] %223 = icmp ne ptr %.sroa.07.1, null call void @llvm.assume(i1 %223) %224 = load i64, ptr %.sroa.07.1, align 8, !range !280, !noundef !3 %225 = getelementptr inbounds nuw i8, ptr %.sroa.07.1, i64 8 %226 = load i64, ptr %225, align 8 - switch i64 %224, label %.thread60 [ + switch i64 %224, label %.thread61 [ i64 1, label %227 i64 3, label %230 ] @@ -42582,18 +42582,18 @@ _ZN4fish6screen10ScreenData4line17h555952dbf2f6f3aaE.exit51.thread: ; preds = %2 call void @llvm.assume(i1 %228) %229 = zext i1 %203 to i64 %spec.select = add i64 %226, %229 - br label %.thread60 + br label %.thread61 230: ; preds = %.thread %231 = icmp ult i64 %202, 384307168202282326 call void @llvm.assume(i1 %231) - %spec.select48 = select i1 %203, i64 undef, i64 %226 - %spec.select49 = select i1 %203, i64 0, i64 3 - br label %.thread60 + %spec.select49 = select i1 %203, i64 undef, i64 %226 + %spec.select50 = select i1 %203, i64 0, i64 3 + br label %.thread61 -.thread60: ; preds = %_ZN4fish6screen10ScreenData4line17h555952dbf2f6f3aaE.exit51.thread, %207, %216, %215, %230, %227, %.thread - %.sroa.4.0 = phi i64 [ %226, %.thread ], [ %spec.select, %227 ], [ %spec.select48, %230 ], [ 0, %215 ], [ 0, %216 ], [ 0, %207 ], [ 0, %_ZN4fish6screen10ScreenData4line17h555952dbf2f6f3aaE.exit51.thread ] - %.sroa.0.0 = phi i64 [ %224, %.thread ], [ 1, %227 ], [ %spec.select49, %230 ], [ 2, %215 ], [ 2, %216 ], [ 2, %207 ], [ 2, %_ZN4fish6screen10ScreenData4line17h555952dbf2f6f3aaE.exit51.thread ] +.thread61: ; preds = %_ZN4fish6screen10ScreenData4line17h555952dbf2f6f3aaE.exit52.thread, %207, %216, %215, %230, %227, %.thread + %.sroa.4.0 = phi i64 [ %226, %.thread ], [ %spec.select, %227 ], [ %spec.select49, %230 ], [ 0, %215 ], [ 0, %216 ], [ 0, %207 ], [ 0, %_ZN4fish6screen10ScreenData4line17h555952dbf2f6f3aaE.exit52.thread ] + %.sroa.0.0 = phi i64 [ %224, %.thread ], [ 1, %227 ], [ %spec.select50, %230 ], [ 2, %215 ], [ 2, %216 ], [ 2, %207 ], [ 2, %_ZN4fish6screen10ScreenData4line17h555952dbf2f6f3aaE.exit52.thread ] %232 = insertvalue { i64, i64 } poison, i64 %.sroa.0.0, 0 %233 = insertvalue { i64, i64 } %232, i64 %.sroa.4.0, 1 ret { i64, i64 } %233 diff --git a/bench/flac/optimized/ogg_decoder_aspect.ll b/bench/flac/optimized/ogg_decoder_aspect.ll index 8d0bc52d49e..0cb6c474933 100644 --- a/bench/flac/optimized/ogg_decoder_aspect.ll +++ b/bench/flac/optimized/ogg_decoder_aspect.ll @@ -946,8 +946,8 @@ define hidden range(i32 0, 10) i32 @FLAC__ogg_decoder_aspect_skip_link(ptr nound %45 = getelementptr inbounds nuw %struct.FLAC__OggDecoderAspect_LinkDetails, ptr %43, i64 %44 %46 = getelementptr inbounds nuw i8, ptr %45, i64 48 %47 = load i32, ptr %46, align 8, !tbaa !62 - %.not249 = icmp eq i32 %47, 0 - br i1 %.not249, label %55, label %48 + %.not251 = icmp eq i32 %47, 0 + br i1 %.not251, label %55, label %48 48: ; preds = %41 call void @llvm.lifetime.start.p0(ptr nonnull %9) @@ -966,12 +966,12 @@ define hidden range(i32 0, 10) i32 @FLAC__ogg_decoder_aspect_skip_link(ptr nound %53 = call i32 %2(ptr noundef %5, i64 noundef %52, ptr noundef %6) #15 %switch.selectcmp = icmp eq i32 %53, 1 %switch.select = select i1 %switch.selectcmp, i32 7, i32 1 - %switch.selectcmp256 = icmp eq i32 %53, 2 - %switch.select257 = select i1 %switch.selectcmp256, i32 9, i32 %switch.select + %switch.selectcmp258 = icmp eq i32 %53, 2 + %switch.select259 = select i1 %switch.selectcmp258, i32 9, i32 %switch.select br label %54 54: ; preds = %51, %48, %50 - %.1 = phi i32 [ 7, %50 ], [ 9, %48 ], [ %switch.select257, %51 ] + %.1 = phi i32 [ 7, %50 ], [ 9, %48 ], [ %switch.select259, %51 ] call void @llvm.lifetime.end.p0(ptr nonnull %9) br label %check_size_of_link_allocation_.exit @@ -1001,8 +1001,8 @@ define hidden range(i32 0, 10) i32 @FLAC__ogg_decoder_aspect_skip_link(ptr nound %66 = getelementptr inbounds nuw i8, ptr %0, i64 656 store i32 %65, ptr %66, align 8, !tbaa !34 %67 = tail call fastcc i32 @check_size_of_link_allocation_(ptr noundef nonnull %0) - %.not250 = icmp eq i32 %67, 0 - br i1 %.not250, label %check_size_of_link_allocation_.exit, label %68 + %.not252 = icmp eq i32 %67, 0 + br i1 %.not252, label %check_size_of_link_allocation_.exit, label %68 68: ; preds = %60 %69 = getelementptr inbounds nuw i8, ptr %0, i64 488 @@ -1048,10 +1048,10 @@ define hidden range(i32 0, 10) i32 @FLAC__ogg_decoder_aspect_skip_link(ptr nound %88 = add i64 %84, %87 store i64 %88, ptr %11, align 8, !tbaa !52 %89 = load i64, ptr %10, align 8, !tbaa !52 - %.not226319 = icmp ugt i64 %89, %88 - br i1 %.not226319, label %.lr.ph326, label %.thread + %.not228321 = icmp ugt i64 %89, %88 + br i1 %.not228321, label %.lr.ph328, label %.thread -.lr.ph326: ; preds = %78 +.lr.ph328: ; preds = %78 %90 = getelementptr inbounds nuw i8, ptr %0, i64 468 %91 = getelementptr inbounds nuw i8, ptr %0, i64 16 %92 = getelementptr inbounds nuw i8, ptr %0, i64 496 @@ -1064,26 +1064,26 @@ define hidden range(i32 0, 10) i32 @FLAC__ogg_decoder_aspect_skip_link(ptr nound %99 = getelementptr inbounds nuw i8, ptr %0, i64 480 br label %100 -100: ; preds = %.lr.ph326, %check_size_of_link_allocation_.exit264 - %.0173324 = phi i64 [ %88, %.lr.ph326 ], [ %.1174, %check_size_of_link_allocation_.exit264 ] - %.0180323 = phi i64 [ %89, %.lr.ph326 ], [ %.1181, %check_size_of_link_allocation_.exit264 ] - %.0185322 = phi i32 [ %72, %.lr.ph326 ], [ %.1186, %check_size_of_link_allocation_.exit264 ] - %.0190321 = phi i32 [ 0, %.lr.ph326 ], [ %.1191, %check_size_of_link_allocation_.exit264 ] - %.0197320 = phi i32 [ 0, %.lr.ph326 ], [ %.1198, %check_size_of_link_allocation_.exit264 ] - %101 = sub nuw i64 %.0180323, %.0173324 +100: ; preds = %.lr.ph328, %check_size_of_link_allocation_.exit266 + %.0173326 = phi i64 [ %88, %.lr.ph328 ], [ %.1174, %check_size_of_link_allocation_.exit266 ] + %.0180325 = phi i64 [ %89, %.lr.ph328 ], [ %.1181, %check_size_of_link_allocation_.exit266 ] + %.0185324 = phi i32 [ %72, %.lr.ph328 ], [ %.1186, %check_size_of_link_allocation_.exit266 ] + %.0190323 = phi i32 [ 0, %.lr.ph328 ], [ %.1191, %check_size_of_link_allocation_.exit266 ] + %.0197322 = phi i32 [ 0, %.lr.ph328 ], [ %.1198, %check_size_of_link_allocation_.exit266 ] + %101 = sub nuw i64 %.0180325, %.0173326 %102 = icmp ult i64 %101, 9 br i1 %102, label %.thread, label %103 103: ; preds = %100 %104 = lshr i64 %101, 1 - %105 = add i64 %104, %.0173324 - %.not227 = icmp eq i32 %.0190321, 0 - br i1 %.not227, label %106, label %126 + %105 = add i64 %104, %.0173326 + %.not229 = icmp eq i32 %.0190323, 0 + br i1 %.not229, label %106, label %126 106: ; preds = %103 %107 = load i64, ptr %11, align 8, !tbaa !52 %108 = icmp ult i64 %107, %105 - br i1 %108, label %109, label %.thread269 + br i1 %108, label %109, label %.thread271 109: ; preds = %106 %110 = load i32, ptr %81, align 4, !tbaa !58 @@ -1095,35 +1095,35 @@ define hidden range(i32 0, 10) i32 @FLAC__ogg_decoder_aspect_skip_link(ptr nound %116 = icmp ugt i64 %115, %105 %117 = add i64 %107, 65307 %118 = icmp ugt i64 %117, %105 - %or.cond303 = or i1 %118, %116 - br i1 %or.cond303, label %126, label %.thread269 + %or.cond305 = or i1 %118, %116 + br i1 %or.cond305, label %126, label %.thread271 -.thread269: ; preds = %109, %106 +.thread271: ; preds = %109, %106 %119 = load i32, ptr %90, align 4, !tbaa !35 - %.not228 = icmp eq i32 %119, 0 - br i1 %.not228, label %120, label %126 + %.not230 = icmp eq i32 %119, 0 + br i1 %.not230, label %120, label %126 -120: ; preds = %.thread269 - %.not229 = icmp ne i32 %.0197320, 0 +120: ; preds = %.thread271 + %.not231 = icmp ne i32 %.0197322, 0 %121 = icmp ult i64 %101, 130614 - %or.cond253 = or i1 %.not229, %121 - %.1169 = select i1 %or.cond253, i64 %.0173324, i64 %105 + %or.cond255 = or i1 %.not231, %121 + %.1169 = select i1 %or.cond255, i64 %.0173326, i64 %105 %122 = call i32 %2(ptr noundef %5, i64 noundef %.1169, ptr noundef %6) #15 - %.not230 = icmp eq i32 %122, 0 - br i1 %.not230, label %123, label %.thread + %.not232 = icmp eq i32 %122, 0 + br i1 %.not232, label %123, label %.thread 123: ; preds = %120 - %.3193 = zext i1 %or.cond253 to i32 + %.3193 = zext i1 %or.cond255 to i32 store i64 %.1169, ptr %11, align 8, !tbaa !52 %124 = call i32 @ogg_stream_reset(ptr noundef nonnull %91) #15 %125 = call i32 @ogg_sync_reset(ptr noundef nonnull %80) #15 br label %126 -126: ; preds = %.thread269, %109, %103, %123 - %.not235 = phi i1 [ false, %123 ], [ true, %103 ], [ true, %109 ], [ true, %.thread269 ] - %.2199 = phi i32 [ 0, %123 ], [ %.0197320, %103 ], [ %.0197320, %109 ], [ %.0197320, %.thread269 ] - %.2192 = phi i32 [ %.3193, %123 ], [ 1, %103 ], [ 0, %109 ], [ 0, %.thread269 ] - %.0168 = phi i64 [ %.1169, %123 ], [ %105, %103 ], [ %105, %109 ], [ %105, %.thread269 ] +126: ; preds = %.thread271, %109, %103, %123 + %.not237 = phi i1 [ false, %123 ], [ true, %103 ], [ true, %109 ], [ true, %.thread271 ] + %.2199 = phi i32 [ 0, %123 ], [ %.0197322, %103 ], [ %.0197322, %109 ], [ %.0197322, %.thread271 ] + %.2192 = phi i32 [ %.3193, %123 ], [ 1, %103 ], [ 0, %109 ], [ 0, %.thread271 ] + %.0168 = phi i64 [ %.1169, %123 ], [ %105, %103 ], [ %105, %109 ], [ %105, %.thread271 ] %127 = call i64 @ogg_sync_pageseek(ptr noundef nonnull %80, ptr noundef nonnull %92) #15 %128 = trunc i64 %127 to i32 %129 = icmp slt i32 %128, 1 @@ -1133,8 +1133,8 @@ define hidden range(i32 0, 10) i32 @FLAC__ogg_decoder_aspect_skip_link(ptr nound %130 = phi i32 [ %149, %read_more_data_.exit ], [ %128, %126 ] %131 = phi i64 [ %148, %read_more_data_.exit ], [ %127, %126 ] %132 = load i32, ptr %93, align 4, !tbaa !24 - %.not231 = icmp eq i32 %132, 0 - br i1 %.not231, label %133, label %.critedge + %.not233 = icmp eq i32 %132, 0 + br i1 %.not233, label %133, label %.critedge 133: ; preds = %.lr.ph %134 = icmp slt i32 %130, 0 @@ -1158,11 +1158,11 @@ define hidden range(i32 0, 10) i32 @FLAC__ogg_decoder_aspect_skip_link(ptr nound store i64 8192, ptr %8, align 8, !tbaa !52 %143 = call i32 %1(ptr noundef %5, ptr noundef nonnull %140, ptr noundef nonnull %8, ptr noundef %6) #15 switch i32 %143, label %145 [ - i32 6, label %.thread.i259 + i32 6, label %.thread.i261 i32 1, label %144 ] -.thread.i259: ; preds = %142 +.thread.i261: ; preds = %142 call void @llvm.lifetime.end.p0(ptr nonnull %8) br label %.thread @@ -1197,8 +1197,8 @@ read_more_data_.exit: ; preds = %145, %135 157: ; preds = %.critedge %158 = load i32, ptr %90, align 4, !tbaa !35 - %.not236 = icmp eq i32 %158, 0 - br i1 %.not236, label %159, label %232 + %.not238 = icmp eq i32 %158, 0 + br i1 %.not238, label %159, label %232 159: ; preds = %157 %160 = call i32 @ogg_page_serialno(ptr noundef nonnull %92) #15 @@ -1213,27 +1213,27 @@ read_more_data_.exit: ; preds = %145, %135 %168 = getelementptr inbounds nuw i8, ptr %165, i64 32 %169 = load i32, ptr %168, align 8, !tbaa !68 %.not = icmp eq i32 %169, 0 - br i1 %.not, label %._crit_edge, label %.lr.ph317 + br i1 %.not, label %._crit_edge, label %.lr.ph319 -.lr.ph317: ; preds = %159 +.lr.ph319: ; preds = %159 %170 = getelementptr inbounds nuw i8, ptr %165, i64 40 %171 = load ptr, ptr %170, align 8, !tbaa !29 %wide.trip.count = zext i32 %169 to i64 br label %172 -172: ; preds = %.lr.ph317, %172 - %indvars.iv = phi i64 [ 0, %.lr.ph317 ], [ %indvars.iv.next, %172 ] - %.1171315 = phi i32 [ %spec.select, %.lr.ph317 ], [ %spec.select254, %172 ] +172: ; preds = %.lr.ph319, %172 + %indvars.iv = phi i64 [ 0, %.lr.ph319 ], [ %indvars.iv.next, %172 ] + %.1171317 = phi i32 [ %spec.select, %.lr.ph319 ], [ %spec.select256, %172 ] %173 = getelementptr inbounds nuw i64, ptr %171, i64 %indvars.iv %174 = load i64, ptr %173, align 8, !tbaa !52 %175 = icmp eq i64 %174, %161 - %spec.select254 = select i1 %175, i32 1, i32 %.1171315 + %spec.select256 = select i1 %175, i32 1, i32 %.1171317 %indvars.iv.next = add nuw nsw i64 %indvars.iv, 1 %exitcond.not = icmp eq i64 %indvars.iv.next, %wide.trip.count br i1 %exitcond.not, label %._crit_edge, label %172, !llvm.loop !70 ._crit_edge: ; preds = %172, %159 - %.1171.lcssa = phi i32 [ %spec.select, %159 ], [ %spec.select254, %172 ] + %.1171.lcssa = phi i32 [ %spec.select, %159 ], [ %spec.select256, %172 ] %176 = call i32 @ogg_page_serialno(ptr noundef nonnull %92) #15 %177 = sext i32 %176 to i64 %178 = load ptr, ptr %97, align 8, !tbaa !27 @@ -1246,8 +1246,8 @@ read_more_data_.exit: ; preds = %145, %135 184: ; preds = %._crit_edge %185 = call i32 @ogg_page_eos(ptr noundef nonnull %92) #15 - %.not237 = icmp eq i32 %185, 0 - br i1 %.not237, label %215, label %186 + %.not239 = icmp eq i32 %185, 0 + br i1 %.not239, label %215, label %186 186: ; preds = %184 %187 = load i64, ptr %11, align 8, !tbaa !52 @@ -1270,10 +1270,10 @@ read_more_data_.exit: ; preds = %145, %135 %201 = add i32 %195, 1 store i32 %201, ptr %98, align 8, !tbaa !34 %202 = load i32, ptr %18, align 8, !tbaa !28 - %.not.i260 = icmp ult i32 %195, %202 - %.not16.i263 = icmp ult i32 %201, %202 - %or.cond300 = and i1 %.not.i260, %.not16.i263 - br i1 %or.cond300, label %214, label %203 + %.not.i262 = icmp ult i32 %195, %202 + %.not16.i265 = icmp ult i32 %201, %202 + %or.cond302 = and i1 %.not.i262, %.not16.i265 + br i1 %or.cond302, label %214, label %203 203: ; preds = %186 %204 = shl i32 %202, 1 @@ -1281,9 +1281,9 @@ read_more_data_.exit: ; preds = %145, %135 %206 = mul nuw nsw i64 %205, 56 %207 = call noalias noundef ptr @realloc(ptr noundef nonnull %194, i64 noundef %206) #16 %208 = icmp eq ptr %207, null - br i1 %208, label %.thread, label %.thread.i261 + br i1 %208, label %.thread, label %.thread.i263 -.thread.i261: ; preds = %203 +.thread.i263: ; preds = %203 store ptr %207, ptr %97, align 8, !tbaa !27 %209 = load i32, ptr %18, align 8, !tbaa !28 %210 = zext i32 %209 to i64 @@ -1292,22 +1292,22 @@ read_more_data_.exit: ; preds = %145, %135 call void @llvm.memset.p0.i64(ptr noundef nonnull align 1 %211, i8 noundef 0, i64 noundef range(i64 0, 240518168521) %212, i1 noundef false) #15 %213 = shl i32 %209, 1 store i32 %213, ptr %18, align 8, !tbaa !28 - %.pre346 = load i32, ptr %16, align 4, !tbaa !33 - %.pre347 = add i32 %.pre346, 1 + %.pre348 = load i32, ptr %16, align 4, !tbaa !33 + %.pre349 = add i32 %.pre348, 1 br label %214 -214: ; preds = %186, %.thread.i261 - %.pre-phi = phi i32 [ %201, %186 ], [ %.pre347, %.thread.i261 ] +214: ; preds = %186, %.thread.i263 + %.pre-phi = phi i32 [ %201, %186 ], [ %.pre349, %.thread.i263 ] store i32 1, ptr %71, align 8, !tbaa !23 store i32 0, ptr %99, align 8, !tbaa !26 store i32 %.pre-phi, ptr %16, align 4, !tbaa !33 store i32 1, ptr %90, align 4, !tbaa !35 store i32 0, ptr %96, align 8, !tbaa !36 - br label %check_size_of_link_allocation_.exit264 + br label %check_size_of_link_allocation_.exit266 215: ; preds = %184, %._crit_edge - %.not238 = icmp eq i32 %.1171.lcssa, 0 - br i1 %.not238, label %227, label %216 + %.not240 = icmp eq i32 %.1171.lcssa, 0 + br i1 %.not240, label %227, label %216 216: ; preds = %215 %217 = call i32 @ogg_page_serialno(ptr noundef nonnull %92) #15 @@ -1318,33 +1318,33 @@ read_more_data_.exit: ; preds = %145, %135 %222 = getelementptr inbounds nuw %struct.FLAC__OggDecoderAspect_LinkDetails, ptr %219, i64 %221 %223 = load i64, ptr %222, align 8, !tbaa !39 %224 = icmp eq i64 %223, %218 - br i1 %224, label %225, label %check_size_of_link_allocation_.exit264 + br i1 %224, label %225, label %check_size_of_link_allocation_.exit266 225: ; preds = %216 %226 = load i64, ptr %11, align 8, !tbaa !52 - br label %check_size_of_link_allocation_.exit264 + br label %check_size_of_link_allocation_.exit266 227: ; preds = %215 - %.not239 = icmp eq i32 %.2192, 0 - br i1 %.not239, label %230, label %228 + %.not241 = icmp eq i32 %.2192, 0 + br i1 %.not241, label %230, label %228 228: ; preds = %227 %229 = load i64, ptr %11, align 8, !tbaa !52 - br label %check_size_of_link_allocation_.exit264 + br label %check_size_of_link_allocation_.exit266 230: ; preds = %227 - br i1 %.not235, label %.thread, label %231 + br i1 %.not237, label %.thread, label %231 231: ; preds = %230 - %.not241 = icmp ugt i64 %.0180323, %151 - %.2199. = select i1 %.not241, i32 %.2199, i32 1 - %..0180 = call i64 @llvm.umin.i64(i64 %.0180323, i64 %151) - br label %check_size_of_link_allocation_.exit264 + %.not243 = icmp ugt i64 %.0180325, %151 + %.2199. = select i1 %.not243, i32 %.2199, i32 1 + %..0180 = call i64 @llvm.umin.i64(i64 %.0180325, i64 %151) + br label %check_size_of_link_allocation_.exit266 232: ; preds = %157 %233 = load i32, ptr %93, align 4, !tbaa !24 - %.not243 = icmp eq i32 %233, 0 - br i1 %.not243, label %243, label %234 + %.not245 = icmp eq i32 %233, 0 + br i1 %.not245, label %243, label %234 234: ; preds = %232 %235 = load i32, ptr %16, align 4, !tbaa !33 @@ -1364,39 +1364,39 @@ read_more_data_.exit: ; preds = %145, %135 243: ; preds = %232 %244 = load i32, ptr %71, align 8, !tbaa !23 %245 = call fastcc i32 @process_page_(ptr noundef nonnull %0, ptr noundef %3, ptr noundef %5, ptr noundef %6) - %.not245 = icmp eq i32 %245, 0 - br i1 %.not245, label %246, label %.thread + %.not247 = icmp eq i32 %245, 0 + br i1 %.not247, label %246, label %.thread 246: ; preds = %243 %247 = icmp eq i32 %244, 0 - %.not244 = icmp ne i32 %.0185322, 0 + %.not246 = icmp ne i32 %.0185324, 0 %248 = load i32, ptr %71, align 8, !tbaa !23 - %.not246 = icmp ne i32 %248, 0 - %249 = select i1 %.not246, i1 true, i1 %247 - %brmerge = select i1 %249, i1 true, i1 %.not244 + %.not248 = icmp ne i32 %248, 0 + %249 = select i1 %.not248, i1 true, i1 %247 + %brmerge = select i1 %249, i1 true, i1 %.not246 br i1 %brmerge, label %250, label %.thread 250: ; preds = %246 - %.0185.mux = select i1 %.not246, i32 %.0185322, i32 0 + %.0185.mux = select i1 %.not248, i32 %.0185324, i32 0 %251 = load i32, ptr %90, align 4, !tbaa !35 - %.not247 = icmp eq i32 %251, 0 - %spec.select255 = select i1 %.not247, i64 %151, i64 %.0173324 - br label %check_size_of_link_allocation_.exit264 + %.not249 = icmp eq i32 %251, 0 + %spec.select257 = select i1 %.not249, i64 %151, i64 %.0173326 + br label %check_size_of_link_allocation_.exit266 252: ; preds = %.critedge %253 = load i32, ptr %93, align 4, !tbaa !24 - %.not232 = icmp eq i32 %253, 0 - br i1 %.not232, label %268, label %254 + %.not234 = icmp eq i32 %253, 0 + br i1 %.not234, label %268, label %254 254: ; preds = %252 %255 = load i32, ptr %90, align 4, !tbaa !35 - %.not233 = icmp eq i32 %255, 0 - br i1 %.not233, label %267, label %256 + %.not235 = icmp eq i32 %255, 0 + br i1 %.not235, label %267, label %256 256: ; preds = %254 %257 = load i32, ptr %96, align 8, !tbaa !36 - %.not234 = icmp eq i32 %257, 0 - br i1 %.not234, label %258, label %267 + %.not236 = icmp eq i32 %257, 0 + br i1 %.not236, label %258, label %267 258: ; preds = %256 %259 = load i32, ptr %16, align 4, !tbaa !33 @@ -1414,23 +1414,23 @@ read_more_data_.exit: ; preds = %145, %135 br label %.thread 267: ; preds = %256, %254 - br i1 %.not235, label %.thread, label %check_size_of_link_allocation_.exit264 + br i1 %.not237, label %.thread, label %check_size_of_link_allocation_.exit266 268: ; preds = %252 %269 = icmp eq i32 %.lcssa, 0 - br i1 %269, label %.thread, label %check_size_of_link_allocation_.exit264 + br i1 %269, label %.thread, label %check_size_of_link_allocation_.exit266 -check_size_of_link_allocation_.exit264: ; preds = %268, %267, %250, %231, %216, %228, %225, %214 +check_size_of_link_allocation_.exit266: ; preds = %268, %267, %250, %231, %216, %228, %225, %214 %.1198 = phi i32 [ %.2199, %214 ], [ %.2199, %250 ], [ %.2199, %268 ], [ %.2199, %267 ], [ %.2199., %231 ], [ 1, %216 ], [ %.2199, %228 ], [ %.2199, %225 ] %.1191 = phi i32 [ %.2192, %214 ], [ %.2192, %250 ], [ %.2192, %268 ], [ %.2192, %267 ], [ 0, %231 ], [ %.2192, %216 ], [ 1, %228 ], [ 0, %225 ] - %.1186 = phi i32 [ %.0185322, %214 ], [ %.0185.mux, %250 ], [ %.0185322, %268 ], [ %.0185322, %267 ], [ %.0185322, %231 ], [ %.0185322, %216 ], [ %.0185322, %228 ], [ %.0185322, %225 ] - %.1181 = phi i64 [ %.0180323, %214 ], [ %.0180323, %250 ], [ %.0180323, %268 ], [ %.0168, %267 ], [ %..0180, %231 ], [ %.0180323, %216 ], [ %.0180323, %228 ], [ %.0180323, %225 ] - %.1174 = phi i64 [ %.0173324, %214 ], [ %spec.select255, %250 ], [ %.0173324, %268 ], [ %.0173324, %267 ], [ %.0173324, %231 ], [ %.0173324, %216 ], [ %229, %228 ], [ %226, %225 ] - %.not226 = icmp ugt i64 %.1181, %.1174 - br i1 %.not226, label %100, label %.thread - -.thread: ; preds = %100, %check_size_of_link_allocation_.exit264, %120, %267, %268, %230, %203, %243, %246, %145, %139, %78, %.thread.i259, %258, %234, %261, %237, %75, %70, %77, %74 - %.4 = phi i32 [ 9, %75 ], [ 9, %70 ], [ 7, %77 ], [ 7, %74 ], [ 3, %258 ], [ 3, %234 ], [ 1, %261 ], [ 1, %237 ], [ 6, %.thread.i259 ], [ 7, %78 ], [ 7, %145 ], [ 8, %139 ], [ 7, %100 ], [ 7, %check_size_of_link_allocation_.exit264 ], [ 0, %120 ], [ 7, %267 ], [ 3, %268 ], [ 7, %230 ], [ 8, %203 ], [ %245, %243 ], [ 0, %246 ] + %.1186 = phi i32 [ %.0185324, %214 ], [ %.0185.mux, %250 ], [ %.0185324, %268 ], [ %.0185324, %267 ], [ %.0185324, %231 ], [ %.0185324, %216 ], [ %.0185324, %228 ], [ %.0185324, %225 ] + %.1181 = phi i64 [ %.0180325, %214 ], [ %.0180325, %250 ], [ %.0180325, %268 ], [ %.0168, %267 ], [ %..0180, %231 ], [ %.0180325, %216 ], [ %.0180325, %228 ], [ %.0180325, %225 ] + %.1174 = phi i64 [ %.0173326, %214 ], [ %spec.select257, %250 ], [ %.0173326, %268 ], [ %.0173326, %267 ], [ %.0173326, %231 ], [ %.0173326, %216 ], [ %229, %228 ], [ %226, %225 ] + %.not228 = icmp ugt i64 %.1181, %.1174 + br i1 %.not228, label %100, label %.thread + +.thread: ; preds = %100, %check_size_of_link_allocation_.exit266, %120, %267, %268, %230, %203, %243, %246, %145, %139, %78, %.thread.i261, %258, %234, %261, %237, %75, %70, %77, %74 + %.4 = phi i32 [ 9, %75 ], [ 9, %70 ], [ 7, %77 ], [ 7, %74 ], [ 3, %258 ], [ 3, %234 ], [ 1, %261 ], [ 1, %237 ], [ 6, %.thread.i261 ], [ 7, %78 ], [ 7, %145 ], [ 8, %139 ], [ 7, %100 ], [ 7, %check_size_of_link_allocation_.exit266 ], [ 0, %120 ], [ 7, %267 ], [ 3, %268 ], [ 7, %230 ], [ 8, %203 ], [ %245, %243 ], [ 0, %246 ] call void @llvm.lifetime.end.p0(ptr nonnull %11) call void @llvm.lifetime.end.p0(ptr nonnull %10) br label %check_size_of_link_allocation_.exit diff --git a/bench/fmt/optimized/unicode-test.ll b/bench/fmt/optimized/unicode-test.ll index b314e2b1056..9e3c2423e96 100644 --- a/bench/fmt/optimized/unicode-test.ll +++ b/bench/fmt/optimized/unicode-test.ll @@ -39371,13 +39371,13 @@ _ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c.exit: ; preds = %14, %16 %18 = load ptr, ptr %0, align 8, !tbaa !20 %19 = getelementptr inbounds nuw i8, ptr %0, i64 8 %20 = load ptr, ptr %19, align 8, !tbaa !20 - %.not3840 = icmp eq ptr %18, %20 - br i1 %.not3840, label %._crit_edge.thread, label %.lr.ph + %.not3941 = icmp eq ptr %18, %20 + br i1 %.not3941, label %._crit_edge.thread, label %.lr.ph .lr.ph: ; preds = %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c.exit, %45 - %.042 = phi i64 [ %46, %45 ], [ 0, %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c.exit ] - %.sroa.029.041 = phi ptr [ %47, %45 ], [ %18, %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c.exit ] - %.not = icmp eq i64 %.042, 0 + %.043 = phi i64 [ %46, %45 ], [ 0, %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c.exit ] + %.sroa.030.042 = phi ptr [ %47, %45 ], [ %18, %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c.exit ] + %.not = icmp eq i64 %.043, 0 br i1 %.not, label %33, label %21 21: ; preds = %.lr.ph @@ -39389,23 +39389,23 @@ _ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c.exit: ; preds = %14, %16 %25 = getelementptr inbounds i8, ptr %1, i64 %24 %26 = getelementptr inbounds nuw i8, ptr %25, i64 16 %27 = load i64, ptr %26, align 8, !tbaa !645 - %.not.i17 = icmp eq i64 %27, 0 - br i1 %.not.i17, label %30, label %28 + %.not.i18 = icmp eq i64 %27, 0 + br i1 %.not.i18, label %30, label %28 28: ; preds = %21 %29 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l(ptr noundef nonnull align 8 dereferenceable(8) %1, ptr noundef nonnull %6, i64 noundef 1) - br label %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c.exit19 + br label %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c.exit20 30: ; preds = %21 %31 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSo3putEc(ptr noundef nonnull align 8 dereferenceable(8) %1, i8 noundef signext 44) - br label %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c.exit19 + br label %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c.exit20 -_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c.exit19: ; preds = %28, %30 +_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c.exit20: ; preds = %28, %30 call void @llvm.lifetime.end.p0(ptr nonnull %6) - %32 = icmp eq i64 %.042, 32 - br i1 %32, label %.thread35, label %33 + %32 = icmp eq i64 %.043, 32 + br i1 %32, label %.thread36, label %33 -33: ; preds = %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c.exit19, %.lr.ph +33: ; preds = %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c.exit20, %.lr.ph call void @llvm.lifetime.start.p0(ptr nonnull %5) store i8 32, ptr %5, align 1, !tbaa !27 %34 = load ptr, ptr %1, align 8, !tbaa !4 @@ -39414,8 +39414,8 @@ _ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c.exit19: ; preds = %28, %30 %37 = getelementptr inbounds i8, ptr %1, i64 %36 %38 = getelementptr inbounds nuw i8, ptr %37, i64 16 %39 = load i64, ptr %38, align 8, !tbaa !645 - %.not.i20 = icmp eq i64 %39, 0 - br i1 %.not.i20, label %42, label %40 + %.not.i21 = icmp eq i64 %39, 0 + br i1 %.not.i21, label %42, label %40 40: ; preds = %33 %41 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l(ptr noundef nonnull align 8 dereferenceable(8) %1, ptr noundef nonnull %5, i64 noundef 1) @@ -39425,23 +39425,23 @@ _ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c.exit19: ; preds = %28, %30 %43 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSo3putEc(ptr noundef nonnull align 8 dereferenceable(8) %1, i8 noundef signext 32) br label %45 -.thread35: ; preds = %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c.exit19 +.thread36: ; preds = %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c.exit20 %44 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l(ptr noundef nonnull align 8 dereferenceable(8) %1, ptr noundef nonnull @.str.132, i64 noundef 4) br label %49 45: ; preds = %42, %40 call void @llvm.lifetime.end.p0(ptr nonnull %5) - call void @_ZN7testing8internal13PrintStringToERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPSo(ptr noundef nonnull align 8 dereferenceable(32) %.sroa.029.041, ptr noundef nonnull %1) - %46 = add i64 %.042, 1 - %47 = getelementptr inbounds nuw i8, ptr %.sroa.029.041, i64 32 - %.not38 = icmp eq ptr %47, %20 - br i1 %.not38, label %._crit_edge, label %.lr.ph + call void @_ZN7testing8internal13PrintStringToERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPSo(ptr noundef nonnull align 8 dereferenceable(32) %.sroa.030.042, ptr noundef nonnull %1) + %46 = add i64 %.043, 1 + %47 = getelementptr inbounds nuw i8, ptr %.sroa.030.042, i64 32 + %.not39 = icmp eq ptr %47, %20 + br i1 %.not39, label %._crit_edge, label %.lr.ph ._crit_edge: ; preds = %45 %48 = icmp eq i64 %46, 0 br i1 %48, label %._crit_edge.thread, label %49 -49: ; preds = %.thread35, %._crit_edge +49: ; preds = %.thread36, %._crit_edge call void @llvm.lifetime.start.p0(ptr nonnull %4) store i8 32, ptr %4, align 1, !tbaa !27 %50 = load ptr, ptr %1, align 8, !tbaa !4 @@ -39450,22 +39450,22 @@ _ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c.exit19: ; preds = %28, %30 %53 = getelementptr inbounds i8, ptr %1, i64 %52 %54 = getelementptr inbounds nuw i8, ptr %53, i64 16 %55 = load i64, ptr %54, align 8, !tbaa !645 - %.not.i23 = icmp eq i64 %55, 0 - br i1 %.not.i23, label %58, label %56 + %.not.i24 = icmp eq i64 %55, 0 + br i1 %.not.i24, label %58, label %56 56: ; preds = %49 %57 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l(ptr noundef nonnull align 8 dereferenceable(8) %1, ptr noundef nonnull %4, i64 noundef 1) - br label %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c.exit25 + br label %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c.exit26 58: ; preds = %49 %59 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSo3putEc(ptr noundef nonnull align 8 dereferenceable(8) %1, i8 noundef signext 32) - br label %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c.exit25 + br label %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c.exit26 -_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c.exit25: ; preds = %56, %58 +_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c.exit26: ; preds = %56, %58 call void @llvm.lifetime.end.p0(ptr nonnull %4) br label %._crit_edge.thread -._crit_edge.thread: ; preds = %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c.exit, %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c.exit25, %._crit_edge +._crit_edge.thread: ; preds = %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c.exit, %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c.exit26, %._crit_edge call void @llvm.lifetime.start.p0(ptr nonnull %3) store i8 125, ptr %3, align 1, !tbaa !27 %60 = load ptr, ptr %1, align 8, !tbaa !4 @@ -39474,18 +39474,18 @@ _ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c.exit25: ; preds = %56, %58 %63 = getelementptr inbounds i8, ptr %1, i64 %62 %64 = getelementptr inbounds nuw i8, ptr %63, i64 16 %65 = load i64, ptr %64, align 8, !tbaa !645 - %.not.i26 = icmp eq i64 %65, 0 - br i1 %.not.i26, label %68, label %66 + %.not.i27 = icmp eq i64 %65, 0 + br i1 %.not.i27, label %68, label %66 66: ; preds = %._crit_edge.thread %67 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l(ptr noundef nonnull align 8 dereferenceable(8) %1, ptr noundef nonnull %3, i64 noundef 1) - br label %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c.exit28 + br label %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c.exit29 68: ; preds = %._crit_edge.thread %69 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSo3putEc(ptr noundef nonnull align 8 dereferenceable(8) %1, i8 noundef signext 125) - br label %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c.exit28 + br label %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c.exit29 -_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c.exit28: ; preds = %66, %68 +_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c.exit29: ; preds = %66, %68 call void @llvm.lifetime.end.p0(ptr nonnull %3) ret void } diff --git a/bench/folly/optimized/AsyncSocket.ll b/bench/folly/optimized/AsyncSocket.ll index b18f8aff39a..3be1917658e 100644 --- a/bench/folly/optimized/AsyncSocket.ll +++ b/bench/folly/optimized/AsyncSocket.ll @@ -20826,7 +20826,7 @@ define linkonce_odr void @_ZN5folly22ObserverContainerStoreINS_21ObserverContain %6 = getelementptr inbounds nuw i8, ptr %0, i64 48 %7 = load i8, ptr %6, align 8, !tbaa !583, !range !20, !noundef !233 %8 = trunc nuw i8 %7 to i1 - br i1 %8, label %9, label %.critedge17, !prof !184 + br i1 %8, label %9, label %.critedge18, !prof !184 9: ; preds = %3 call void @llvm.lifetime.start.p0(ptr nonnull %4) @@ -20843,19 +20843,19 @@ define linkonce_odr void @_ZN5folly22ObserverContainerStoreINS_21ObserverContain _ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc.exit: ; preds = %12 %14 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l(ptr noundef nonnull align 8 dereferenceable(8) %11, ptr noundef nonnull @.str.32, i64 noundef 52) - to label %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc.exit20 unwind label %.loopexit.split-lp + to label %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc.exit21 unwind label %.loopexit.split-lp -_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc.exit20: ; preds = %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc.exit +_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc.exit21: ; preds = %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc.exit call void @_ZN6google15LogMessageFatalD1Ev(ptr noundef nonnull align 8 dereferenceable(16) %4) #50 unreachable -.critedge17: ; preds = %3 +.critedge18: ; preds = %3 %15 = getelementptr inbounds nuw i8, ptr %0, i64 56 %16 = load i8, ptr %15, align 8, !tbaa !628, !range !20, !noundef !233 %17 = trunc nuw i8 %16 to i1 br i1 %17, label %18, label %24, !prof !184 -18: ; preds = %.critedge17 +18: ; preds = %.critedge18 call void @llvm.lifetime.start.p0(ptr nonnull %5) invoke void @_ZN6google15LogMessageFatalC1EPKci(ptr noundef nonnull align 8 dereferenceable(16) %5, ptr noundef nonnull @.str.22, i32 noundef 251) to label %19 unwind label %.loopexit.split-lp @@ -20866,17 +20866,17 @@ _ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc.exit20: ; preds = %_ZStl 21: ; preds = %19 %22 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l(ptr noundef nonnull align 8 dereferenceable(8) %20, ptr noundef nonnull @.str.33, i64 noundef 56) - to label %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc.exit21 unwind label %.loopexit.split-lp + to label %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc.exit22 unwind label %.loopexit.split-lp -_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc.exit21: ; preds = %21 +_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc.exit22: ; preds = %21 %23 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l(ptr noundef nonnull align 8 dereferenceable(8) %20, ptr noundef nonnull @.str.32, i64 noundef 52) - to label %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc.exit22 unwind label %.loopexit.split-lp + to label %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc.exit23 unwind label %.loopexit.split-lp -_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc.exit22: ; preds = %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc.exit21 +_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc.exit23: ; preds = %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc.exit22 call void @_ZN6google15LogMessageFatalD1Ev(ptr noundef nonnull align 8 dereferenceable(16) %5) #50 unreachable -24: ; preds = %.critedge17 +24: ; preds = %.critedge18 %25 = getelementptr inbounds nuw i8, ptr %0, i64 52 store i8 1, ptr %6, align 8, !tbaa !583 store i8 1, ptr %15, align 8, !tbaa !628 @@ -20890,26 +20890,26 @@ _ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc.exit22: ; preds = %_ZStl br i1 %29, label %.split, label %.split.us .split.us: ; preds = %24 - %.not37 = icmp eq i64 %28, 0 - br i1 %.not37, label %.split31, label %.critedge.us + %.not38 = icmp eq i64 %28, 0 + br i1 %.not38, label %.split32, label %.critedge.us ._crit_edge.loopexit: ; preds = %_ZN5folly6detail8function14FunctionTraitsIFvRSt10shared_ptrINS_21ObserverContainerBaseINS_28AsyncSocketObserverInterfaceENS_11AsyncSocketENS_34ObserverContainerBasePolicyDefaultINS5_6EventsELm32EEEE8ObserverEEEEclESD_.exit.us %.pre = load i64, ptr %26, align 8, !tbaa !203 - %.pre44 = and i64 %.pre, 4611686018427387903 - br label %.split31 + %.pre45 = and i64 %.pre, 4611686018427387903 + br label %.split32 .critedge.us: ; preds = %.split.us, %_ZN5folly6detail8function14FunctionTraitsIFvRSt10shared_ptrINS_21ObserverContainerBaseINS_28AsyncSocketObserverInterfaceENS_11AsyncSocketENS_34ObserverContainerBasePolicyDefaultINS5_6EventsELm32EEEE8ObserverEEEEclESD_.exit.us - %.012.us36 = phi i64 [ %41, %_ZN5folly6detail8function14FunctionTraitsIFvRSt10shared_ptrINS_21ObserverContainerBaseINS_28AsyncSocketObserverInterfaceENS_11AsyncSocketENS_34ObserverContainerBasePolicyDefaultINS5_6EventsELm32EEEE8ObserverEEEEclESD_.exit.us ], [ 0, %.split.us ] + %.012.us37 = phi i64 [ %41, %_ZN5folly6detail8function14FunctionTraitsIFvRSt10shared_ptrINS_21ObserverContainerBaseINS_28AsyncSocketObserverInterfaceENS_11AsyncSocketENS_34ObserverContainerBasePolicyDefaultINS5_6EventsELm32EEEE8ObserverEEEEclESD_.exit.us ], [ 0, %.split.us ] %32 = load i64, ptr %26, align 8, !tbaa !203 %33 = and i64 %32, 4611686018427387903 - %.not.i.us = icmp samesign ult i64 %.012.us36, %33 - br i1 %.not.i.us, label %34, label %.split34.us + %.not.i.us = icmp samesign ult i64 %.012.us37, %33 + br i1 %.not.i.us, label %34, label %.split35.us 34: ; preds = %.critedge.us %35 = load ptr, ptr %30, align 8 %.not1.i.i.i.i.us = icmp slt i64 %32, 0 %36 = select i1 %.not1.i.i.i.i.us, ptr %35, ptr %30 - %37 = getelementptr inbounds nuw %"class.std::shared_ptr.16", ptr %36, i64 %.012.us36 + %37 = getelementptr inbounds nuw %"class.std::shared_ptr.16", ptr %36, i64 %.012.us37 %38 = load ptr, ptr %37, align 8, !tbaa !333 %.not.us = icmp eq ptr %38, null br i1 %.not.us, label %_ZN5folly6detail8function14FunctionTraitsIFvRSt10shared_ptrINS_21ObserverContainerBaseINS_28AsyncSocketObserverInterfaceENS_11AsyncSocketENS_34ObserverContainerBasePolicyDefaultINS5_6EventsELm32EEEE8ObserverEEEEclESD_.exit.us, label %39 @@ -20920,7 +20920,7 @@ _ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc.exit22: ; preds = %_ZStl to label %_ZN5folly6detail8function14FunctionTraitsIFvRSt10shared_ptrINS_21ObserverContainerBaseINS_28AsyncSocketObserverInterfaceENS_11AsyncSocketENS_34ObserverContainerBasePolicyDefaultINS5_6EventsELm32EEEE8ObserverEEEEclESD_.exit.us unwind label %.loopexit.split.us _ZN5folly6detail8function14FunctionTraitsIFvRSt10shared_ptrINS_21ObserverContainerBaseINS_28AsyncSocketObserverInterfaceENS_11AsyncSocketENS_34ObserverContainerBasePolicyDefaultINS5_6EventsELm32EEEE8ObserverEEEEclESD_.exit.us: ; preds = %39, %34 - %41 = add nuw nsw i64 %.012.us36, 1 + %41 = add nuw nsw i64 %.012.us37, 1 %exitcond.not = icmp eq i64 %41, %28 br i1 %exitcond.not, label %._crit_edge.loopexit, label %.critedge.us, !llvm.loop !634 @@ -20930,29 +20930,29 @@ _ZN5folly6detail8function14FunctionTraitsIFvRSt10shared_ptrINS_21ObserverContain br label %.loopexit .split: ; preds = %24, %_ZN5folly6detail8function14FunctionTraitsIFvRSt10shared_ptrINS_21ObserverContainerBaseINS_28AsyncSocketObserverInterfaceENS_11AsyncSocketENS_34ObserverContainerBasePolicyDefaultINS5_6EventsELm32EEEE8ObserverEEEEclESD_.exit - %.pre40.pre42 = phi i64 [ %.pre40.pre, %_ZN5folly6detail8function14FunctionTraitsIFvRSt10shared_ptrINS_21ObserverContainerBaseINS_28AsyncSocketObserverInterfaceENS_11AsyncSocketENS_34ObserverContainerBasePolicyDefaultINS5_6EventsELm32EEEE8ObserverEEEEclESD_.exit ], [ %27, %24 ] + %.pre41.pre43 = phi i64 [ %.pre41.pre, %_ZN5folly6detail8function14FunctionTraitsIFvRSt10shared_ptrINS_21ObserverContainerBaseINS_28AsyncSocketObserverInterfaceENS_11AsyncSocketENS_34ObserverContainerBasePolicyDefaultINS5_6EventsELm32EEEE8ObserverEEEEclESD_.exit ], [ %27, %24 ] %.012 = phi i64 [ %69, %_ZN5folly6detail8function14FunctionTraitsIFvRSt10shared_ptrINS_21ObserverContainerBaseINS_28AsyncSocketObserverInterfaceENS_11AsyncSocketENS_34ObserverContainerBasePolicyDefaultINS5_6EventsELm32EEEE8ObserverEEEEclESD_.exit ], [ 0, %24 ] %42 = icmp samesign ult i64 %.012, %28 - %.pre45 = and i64 %.pre40.pre42, 4611686018427387903 - %43 = icmp samesign ult i64 %.012, %.pre45 + %.pre46 = and i64 %.pre41.pre43, 4611686018427387903 + %43 = icmp samesign ult i64 %.012, %.pre46 br i1 %42, label %.critedge, label %44 44: ; preds = %.split - br i1 %43, label %.critedge.thread, label %.split31 + br i1 %43, label %.critedge.thread, label %.split32 -.split31: ; preds = %44, %.split.us, %._crit_edge.loopexit - %.us-phi = phi i64 [ %.pre, %._crit_edge.loopexit ], [ %27, %.split.us ], [ %.pre40.pre42, %44 ] - %.us-phi32 = phi i64 [ %.pre44, %._crit_edge.loopexit ], [ 0, %.split.us ], [ %.pre45, %44 ] +.split32: ; preds = %44, %.split.us, %._crit_edge.loopexit + %.us-phi = phi i64 [ %.pre, %._crit_edge.loopexit ], [ %27, %.split.us ], [ %.pre41.pre43, %44 ] + %.us-phi33 = phi i64 [ %.pre45, %._crit_edge.loopexit ], [ 0, %.split.us ], [ %.pre46, %44 ] %45 = getelementptr inbounds nuw i8, ptr %0, i64 60 %46 = load i8, ptr %45, align 4, !tbaa !585, !range !20, !noundef !233 %47 = trunc nuw i8 %46 to i1 br i1 %47, label %48, label %_ZN5folly6detail14ScopeGuardImplIZNS_22ObserverContainerStoreINS_21ObserverContainerBaseINS_28AsyncSocketObserverInterfaceENS_11AsyncSocketENS_34ObserverContainerBasePolicyDefaultINS4_6EventsELm32EEEE8ObserverENS_35ObserverContainerStorePolicyDefaultILj2EEEE21invokeForEachObserverEONS_8FunctionIFvRSt10shared_ptrISA_EEEENS_26ObserverContainerStoreBaseISA_E26InvokeWhileIteratingPolicyEEUlvE_Lb1EED2Ev.exit -48: ; preds = %.split31 +48: ; preds = %.split32 %49 = load ptr, ptr %30, align 8 %.not1.i.i.i.i.i = icmp slt i64 %.us-phi, 0 %50 = select i1 %.not1.i.i.i.i.i, ptr %49, ptr %30 - %51 = getelementptr inbounds nuw %"class.std::shared_ptr.16", ptr %50, i64 %.us-phi32 + %51 = getelementptr inbounds nuw %"class.std::shared_ptr.16", ptr %50, i64 %.us-phi33 %52 = invoke noundef ptr @_ZSt11__remove_ifIPSt10shared_ptrIN5folly21ObserverContainerBaseINS1_28AsyncSocketObserverInterfaceENS1_11AsyncSocketENS1_34ObserverContainerBasePolicyDefaultINS3_6EventsELm32EEEE8ObserverEEN9__gnu_cxx5__ops10_Iter_predIZZNS1_22ObserverContainerStoreIS9_NS1_35ObserverContainerStorePolicyDefaultILj2EEEE21invokeForEachObserverEONS1_8FunctionIFvRSA_EEENS1_26ObserverContainerStoreBaseIS9_E26InvokeWhileIteratingPolicyEENKUlvE_clEvEUlRKT_E_EEESS_SS_SS_T0_(ptr noundef %50, ptr noundef %51) to label %53 unwind label %60 @@ -20973,25 +20973,25 @@ _ZN5folly6detail8function14FunctionTraitsIFvRSt10shared_ptrINS_21ObserverContain tail call void @__clang_call_terminate(ptr %62) #50 unreachable -_ZN5folly6detail14ScopeGuardImplIZNS_22ObserverContainerStoreINS_21ObserverContainerBaseINS_28AsyncSocketObserverInterfaceENS_11AsyncSocketENS_34ObserverContainerBasePolicyDefaultINS4_6EventsELm32EEEE8ObserverENS_35ObserverContainerStorePolicyDefaultILj2EEEE21invokeForEachObserverEONS_8FunctionIFvRSt10shared_ptrISA_EEEENS_26ObserverContainerStoreBaseISA_E26InvokeWhileIteratingPolicyEEUlvE_Lb1EED2Ev.exit: ; preds = %.split31, %53 +_ZN5folly6detail14ScopeGuardImplIZNS_22ObserverContainerStoreINS_21ObserverContainerBaseINS_28AsyncSocketObserverInterfaceENS_11AsyncSocketENS_34ObserverContainerBasePolicyDefaultINS4_6EventsELm32EEEE8ObserverENS_35ObserverContainerStorePolicyDefaultILj2EEEE21invokeForEachObserverEONS_8FunctionIFvRSt10shared_ptrISA_EEEENS_26ObserverContainerStoreBaseISA_E26InvokeWhileIteratingPolicyEEUlvE_Lb1EED2Ev.exit: ; preds = %.split32, %53 store i8 0, ptr %6, align 8, !tbaa !583 store i8 0, ptr %15, align 8, !tbaa !584 store i8 0, ptr %45, align 4, !tbaa !585 ret void .critedge: ; preds = %.split - br i1 %43, label %.critedge.thread, label %.split34.us + br i1 %43, label %.critedge.thread, label %.split35.us -.split34.us: ; preds = %.critedge.us, %.critedge +.split35.us: ; preds = %.critedge.us, %.critedge invoke void @_ZN5folly6detail16throw_exception_ISt12out_of_rangeJPKcEEEvDpT0_(ptr noundef nonnull @.str.34) #21 to label %.noexc unwind label %.loopexit.split-lp -.noexc: ; preds = %.split34.us +.noexc: ; preds = %.split35.us unreachable .critedge.thread: ; preds = %44, %.critedge %63 = load ptr, ptr %30, align 8 - %.not1.i.i.i.i = icmp slt i64 %.pre40.pre42, 0 + %.not1.i.i.i.i = icmp slt i64 %.pre41.pre43, 0 %64 = select i1 %.not1.i.i.i.i, ptr %63, ptr %30 %65 = getelementptr inbounds nuw %"class.std::shared_ptr.16", ptr %64, i64 %.012 %66 = load ptr, ptr %65, align 8, !tbaa !333 @@ -21004,11 +21004,11 @@ _ZN5folly6detail14ScopeGuardImplIZNS_22ObserverContainerStoreINS_21ObserverConta to label %._ZN5folly6detail8function14FunctionTraitsIFvRSt10shared_ptrINS_21ObserverContainerBaseINS_28AsyncSocketObserverInterfaceENS_11AsyncSocketENS_34ObserverContainerBasePolicyDefaultINS5_6EventsELm32EEEE8ObserverEEEEclESD_.exit_crit_edge unwind label %.loopexit.split ._ZN5folly6detail8function14FunctionTraitsIFvRSt10shared_ptrINS_21ObserverContainerBaseINS_28AsyncSocketObserverInterfaceENS_11AsyncSocketENS_34ObserverContainerBasePolicyDefaultINS5_6EventsELm32EEEE8ObserverEEEEclESD_.exit_crit_edge: ; preds = %67 - %.pre40.pre.pre = load i64, ptr %26, align 8, !tbaa !203 + %.pre41.pre.pre = load i64, ptr %26, align 8, !tbaa !203 br label %_ZN5folly6detail8function14FunctionTraitsIFvRSt10shared_ptrINS_21ObserverContainerBaseINS_28AsyncSocketObserverInterfaceENS_11AsyncSocketENS_34ObserverContainerBasePolicyDefaultINS5_6EventsELm32EEEE8ObserverEEEEclESD_.exit _ZN5folly6detail8function14FunctionTraitsIFvRSt10shared_ptrINS_21ObserverContainerBaseINS_28AsyncSocketObserverInterfaceENS_11AsyncSocketENS_34ObserverContainerBasePolicyDefaultINS5_6EventsELm32EEEE8ObserverEEEEclESD_.exit: ; preds = %._ZN5folly6detail8function14FunctionTraitsIFvRSt10shared_ptrINS_21ObserverContainerBaseINS_28AsyncSocketObserverInterfaceENS_11AsyncSocketENS_34ObserverContainerBasePolicyDefaultINS5_6EventsELm32EEEE8ObserverEEEEclESD_.exit_crit_edge, %.critedge.thread - %.pre40.pre = phi i64 [ %.pre40.pre.pre, %._ZN5folly6detail8function14FunctionTraitsIFvRSt10shared_ptrINS_21ObserverContainerBaseINS_28AsyncSocketObserverInterfaceENS_11AsyncSocketENS_34ObserverContainerBasePolicyDefaultINS5_6EventsELm32EEEE8ObserverEEEEclESD_.exit_crit_edge ], [ %.pre40.pre42, %.critedge.thread ] + %.pre41.pre = phi i64 [ %.pre41.pre.pre, %._ZN5folly6detail8function14FunctionTraitsIFvRSt10shared_ptrINS_21ObserverContainerBaseINS_28AsyncSocketObserverInterfaceENS_11AsyncSocketENS_34ObserverContainerBasePolicyDefaultINS5_6EventsELm32EEEE8ObserverEEEEclESD_.exit_crit_edge ], [ %.pre41.pre43, %.critedge.thread ] %69 = add nuw nsw i64 %.012, 1 br label %.split, !llvm.loop !634 @@ -21017,7 +21017,7 @@ _ZN5folly6detail8function14FunctionTraitsIFvRSt10shared_ptrINS_21ObserverContain catch ptr null br label %.loopexit -.loopexit.split-lp: ; preds = %9, %10, %18, %19, %12, %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc.exit, %21, %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc.exit21, %.split34.us +.loopexit.split-lp: ; preds = %9, %10, %18, %19, %12, %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc.exit, %21, %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc.exit22, %.split35.us %lpad.loopexit.split-lp = landingpad { ptr, i32 } catch ptr null br label %.loopexit diff --git a/bench/git/optimized/diffcore-rename.ll b/bench/git/optimized/diffcore-rename.ll index 1a6b87327d0..4ec78535c4e 100644 --- a/bench/git/optimized/diffcore-rename.ll +++ b/bench/git/optimized/diffcore-rename.ll @@ -178,9 +178,9 @@ define dso_local void @diffcore_rename_extended(ptr noundef captures(none) %0, p 38: ; preds = %6 %or.cond = select i1 %37, i1 true, i1 %35 - br i1 %or.cond, label %40, label %.thread467 + br i1 %or.cond, label %40, label %.thread474 -.thread467: ; preds = %38 +.thread474: ; preds = %38 %39 = icmp ne ptr %2, null br label %44 @@ -197,8 +197,8 @@ define dso_local void @diffcore_rename_extended(ptr noundef captures(none) %0, p tail call void (ptr, i32, ptr, ...) @BUG_fl(ptr noundef nonnull @.str, i32 noundef 1414, ptr noundef nonnull @.str.4) #15 unreachable -44: ; preds = %.thread467, %41 - %45 = phi i1 [ %39, %.thread467 ], [ %42, %41 ] +44: ; preds = %.thread474, %41 + %45 = phi i1 [ %39, %.thread474 ], [ %42, %41 ] %.not198 = icmp eq i32 %29, 0 %spec.store.select = select i1 %.not198, i32 30000, i32 %29 %46 = load i32, ptr getelementptr inbounds nuw (i8, ptr @diff_queued_diff, i64 12), align 4, !tbaa !53 @@ -497,8 +497,8 @@ hash_filespec.exit.i.i: ; preds = %189, %180 store ptr null, ptr %18, align 8, !tbaa !101 %190 = call ptr @hashmap_get(ptr noundef nonnull %19, ptr noundef nonnull %18, ptr noundef null) #14 call void @llvm.lifetime.end.p0(ptr nonnull %18) - %.not75.i.i = icmp eq ptr %190, null - br i1 %.not75.i.i, label %find_identical_files.exit.i, label %.lr.ph.i.i + %.not76.i.i = icmp eq ptr %190, null + br i1 %.not76.i.i, label %find_identical_files.exit.i, label %.lr.ph.i.i .lr.ph.i.i: ; preds = %hash_filespec.exit.i.i %191 = getelementptr inbounds nuw i8, ptr %175, i64 80 @@ -506,15 +506,15 @@ hash_filespec.exit.i.i: ; preds = %189, %180 br label %193 193: ; preds = %.thread.i.i, %.lr.ph.i.i - %.03379.i.i = phi ptr [ %190, %.lr.ph.i.i ], [ %244, %.thread.i.i ] - %.03478.i.i = phi i32 [ -1, %.lr.ph.i.i ], [ %.162.i.i, %.thread.i.i ] - %.03577.i.i = phi i32 [ 100, %.lr.ph.i.i ], [ %.13661.i.i, %.thread.i.i ] - %.03776.i.i = phi ptr [ null, %.lr.ph.i.i ], [ %.23960.i.i, %.thread.i.i ] - %194 = getelementptr inbounds nuw i8, ptr %.03379.i.i, i64 24 + %.03380.i.i = phi ptr [ %190, %.lr.ph.i.i ], [ %244, %.thread.i.i ] + %.03479.i.i = phi i32 [ -1, %.lr.ph.i.i ], [ %.163.i.i, %.thread.i.i ] + %.03578.i.i = phi i32 [ 100, %.lr.ph.i.i ], [ %.13662.i.i, %.thread.i.i ] + %.03777.i.i = phi ptr [ null, %.lr.ph.i.i ], [ %.23961.i.i, %.thread.i.i ] + %194 = getelementptr inbounds nuw i8, ptr %.03380.i.i, i64 24 %195 = load ptr, ptr %194, align 8, !tbaa !97 %bcmp.i.i.i = call i32 @bcmp(ptr noundef nonnull readonly dereferenceable(32) %195, ptr noundef nonnull readonly dereferenceable(32) %175, i64 32) - %.not.i51.not.i.i = icmp eq i32 %bcmp.i.i.i, 0 - br i1 %.not.i51.not.i.i, label %196, label %.thread.i.i + %.not.i52.not.i.i = icmp eq i32 %bcmp.i.i.i, 0 + br i1 %.not.i52.not.i.i, label %196, label %.thread.i.i 196: ; preds = %193 %197 = getelementptr inbounds nuw i8, ptr %195, i64 80 @@ -523,28 +523,28 @@ hash_filespec.exit.i.i: ; preds = %189, %180 %.pre.i.i = load i16, ptr %191, align 8, !tbaa !59 %200 = icmp slt i16 %.pre.i.i, -28672 %or.cond.i.i = select i1 %199, i1 %200, i1 false - %.not44.i.i = icmp eq i16 %198, %.pre.i.i - %or.cond100.i.i = select i1 %or.cond.i.i, i1 true, i1 %.not44.i.i - br i1 %or.cond100.i.i, label %201, label %.thread.i.i + %.not45.i.i = icmp eq i16 %198, %.pre.i.i + %or.cond104.i.i = select i1 %or.cond.i.i, i1 true, i1 %.not45.i.i + br i1 %or.cond104.i.i, label %201, label %.thread.i.i 201: ; preds = %196 %202 = getelementptr inbounds nuw i8, ptr %195, i64 76 %203 = load i32, ptr %202, align 4, !tbaa !89 - %.not45.i.i = icmp eq i32 %203, 0 - %204 = zext i1 %.not45.i.i to i32 - br i1 %.not45.i.i, label %207, label %205 + %.not46.i.i = icmp eq i32 %203, 0 + %204 = zext i1 %.not46.i.i to i32 + br i1 %.not46.i.i, label %207, label %205 205: ; preds = %201 %206 = load i32, ptr %26, align 4, !tbaa !25 - %.not46.i.i = icmp eq i32 %206, 2 - br i1 %.not46.i.i, label %207, label %.thread.i.i + %.not47.i.i = icmp eq i32 %206, 2 + br i1 %.not47.i.i, label %207, label %.thread.i.i 207: ; preds = %205, %201 %208 = getelementptr i8, ptr %195, i64 40 %.val.i.i = load ptr, ptr %208, align 8, !tbaa !61 - %.val50.i.i = load ptr, ptr %192, align 8, !tbaa !61 + %.val51.i.i = load ptr, ptr %192, align 8, !tbaa !61 %209 = call i64 @strlen(ptr noundef nonnull readonly dereferenceable(1) %.val.i.i) #16 - %210 = call i64 @strlen(ptr noundef nonnull readonly dereferenceable(1) %.val50.i.i) #16 + %210 = call i64 @strlen(ptr noundef nonnull readonly dereferenceable(1) %.val51.i.i) #16 %sext.i.i.i = shl i64 %210, 32 %211 = ashr exact i64 %sext.i.i.i, 32 %sext19.i.i.i = shl i64 %209, 32 @@ -565,13 +565,13 @@ hash_filespec.exit.i.i: ; preds = %189, %180 %218 = getelementptr inbounds i8, ptr %.val.i.i, i64 %indvars.iv.next15.i.i.i %219 = load i8, ptr %218, align 1, !tbaa !103 %indvars.iv.next.i.i.i = add nsw i64 %indvars.iv.i.i.i, -1 - %220 = getelementptr inbounds i8, ptr %.val50.i.i, i64 %indvars.iv.next.i.i.i + %220 = getelementptr inbounds i8, ptr %.val51.i.i, i64 %indvars.iv.next.i.i.i %221 = load i8, ptr %220, align 1, !tbaa !103 - %.not.i52.i.i = icmp eq i8 %219, %221 + %.not.i53.i.i = icmp eq i8 %219, %221 %222 = icmp ne i8 %219, 47 %..018.i.i.i = select i1 %222, i32 %.018.i.i.i, i32 1 - %.1.i.i.i = select i1 %.not.i52.i.i, i32 %..018.i.i.i, i32 0 - %cond.i.i.i = and i1 %222, %.not.i52.i.i + %.1.i.i.i = select i1 %.not.i53.i.i, i32 %..018.i.i.i, i32 0 + %cond.i.i.i = and i1 %222, %.not.i53.i.i br i1 %cond.i.i.i, label %213, label %basename_same.exit.i.i, !llvm.loop !104 223: ; preds = %213 @@ -594,7 +594,7 @@ hash_filespec.exit.i.i: ; preds = %189, %180 231: ; preds = %230, %224 %sext21.i.i.i = shl i64 %indvars.iv.i.i.i, 32 %232 = ashr exact i64 %sext21.i.i.i, 32 - %233 = getelementptr i8, ptr %.val50.i.i, i64 %232 + %233 = getelementptr i8, ptr %.val51.i.i, i64 %232 %234 = getelementptr i8, ptr %233, i64 -1 %235 = load i8, ptr %234, align 1, !tbaa !103 %236 = icmp eq i8 %235, 47 @@ -604,42 +604,42 @@ hash_filespec.exit.i.i: ; preds = %189, %180 basename_same.exit.i.i: ; preds = %217, %231, %230, %224 %.2.i.i.i = phi i32 [ %.mux.i.i.i, %224 ], [ 1, %230 ], [ %237, %231 ], [ %.1.i.i.i, %217 ] %238 = add nsw i32 %.2.i.i.i, %204 - %239 = icmp sgt i32 %238, %.03478.i.i + %239 = icmp sgt i32 %238, %.03479.i.i br i1 %239, label %240, label %242 240: ; preds = %basename_same.exit.i.i %241 = icmp eq i32 %238, 2 - br i1 %241, label %.thread63.i.i, label %242 + br i1 %241, label %.thread64.i.i, label %242 242: ; preds = %240, %basename_same.exit.i.i - %.3.i.i = phi ptr [ %.03379.i.i, %240 ], [ %.03776.i.i, %basename_same.exit.i.i ] - %.2.i.i = phi i32 [ %238, %240 ], [ %.03478.i.i, %basename_same.exit.i.i ] - %243 = add nsw i32 %.03577.i.i, -1 - %.not47.i.i = icmp eq i32 %243, 0 - br i1 %.not47.i.i, label %.thread63.i.i, label %.thread.i.i + %.3.i.i = phi ptr [ %.03380.i.i, %240 ], [ %.03777.i.i, %basename_same.exit.i.i ] + %.2.i.i = phi i32 [ %238, %240 ], [ %.03479.i.i, %basename_same.exit.i.i ] + %243 = add nsw i32 %.03578.i.i, -1 + %.not48.i.i = icmp eq i32 %243, 0 + br i1 %.not48.i.i, label %.thread64.i.i, label %.thread.i.i .thread.i.i: ; preds = %242, %205, %196, %193 - %.162.i.i = phi i32 [ %.2.i.i, %242 ], [ %.03478.i.i, %193 ], [ %.03478.i.i, %205 ], [ %.03478.i.i, %196 ] - %.13661.i.i = phi i32 [ %243, %242 ], [ %.03577.i.i, %193 ], [ %.03577.i.i, %205 ], [ %.03577.i.i, %196 ] - %.23960.i.i = phi ptr [ %.3.i.i, %242 ], [ %.03776.i.i, %193 ], [ %.03776.i.i, %205 ], [ %.03776.i.i, %196 ] - %244 = call ptr @hashmap_get_next(ptr noundef nonnull %19, ptr noundef nonnull %.03379.i.i) #14 + %.163.i.i = phi i32 [ %.2.i.i, %242 ], [ %.03479.i.i, %193 ], [ %.03479.i.i, %205 ], [ %.03479.i.i, %196 ] + %.13662.i.i = phi i32 [ %243, %242 ], [ %.03578.i.i, %193 ], [ %.03578.i.i, %205 ], [ %.03578.i.i, %196 ] + %.23961.i.i = phi ptr [ %.3.i.i, %242 ], [ %.03777.i.i, %193 ], [ %.03777.i.i, %205 ], [ %.03777.i.i, %196 ] + %244 = call ptr @hashmap_get_next(ptr noundef nonnull %19, ptr noundef nonnull %.03380.i.i) #14 %.not.i.i238 = icmp eq ptr %244, null - br i1 %.not.i.i238, label %.thread63.i.i, label %193, !llvm.loop !105 + br i1 %.not.i.i238, label %.thread64.i.i, label %193, !llvm.loop !105 -.thread63.i.i: ; preds = %.thread.i.i, %242, %240 - %.138.i.i = phi ptr [ %.23960.i.i, %.thread.i.i ], [ %.3.i.i, %242 ], [ %.03379.i.i, %240 ] - %.not48.i.i = icmp eq ptr %.138.i.i, null - br i1 %.not48.i.i, label %find_identical_files.exit.i, label %245 +.thread64.i.i: ; preds = %.thread.i.i, %242, %240 + %.138.i.i = phi ptr [ %.23961.i.i, %.thread.i.i ], [ %.3.i.i, %242 ], [ %.03380.i.i, %240 ] + %.not49.i.i = icmp eq ptr %.138.i.i, null + br i1 %.not49.i.i, label %find_identical_files.exit.i, label %245 -245: ; preds = %.thread63.i.i +245: ; preds = %.thread64.i.i %246 = load ptr, ptr @rename_dst, align 8, !tbaa !82 %247 = getelementptr inbounds nuw %struct.diff_rename_dst, ptr %246, i64 %indvars.iv33.i %248 = load ptr, ptr %247, align 8, !tbaa !84 %249 = getelementptr inbounds nuw i8, ptr %248, i64 19 %250 = load i8, ptr %249, align 1 %251 = and i8 %250, 2 - %.not.i53.i.i = icmp eq i8 %251, 0 - br i1 %.not.i53.i.i, label %253, label %252 + %.not.i54.i.i = icmp eq i8 %251, 0 + br i1 %.not.i54.i.i, label %253, label %252 252: ; preds = %245 call void (ptr, ...) @die(ptr noundef nonnull @.str.16) #15 @@ -691,8 +691,8 @@ record_rename_pair.exit.i.i: ; preds = %279, %253 store i16 %.sink.i.i.i, ptr %282, align 8, !tbaa !88 br label %find_identical_files.exit.i -find_identical_files.exit.i: ; preds = %record_rename_pair.exit.i.i, %.thread63.i.i, %hash_filespec.exit.i.i - %.032.i.i = phi i32 [ 1, %record_rename_pair.exit.i.i ], [ 0, %.thread63.i.i ], [ 0, %hash_filespec.exit.i.i ] +find_identical_files.exit.i: ; preds = %record_rename_pair.exit.i.i, %.thread64.i.i, %hash_filespec.exit.i.i + %.032.i.i = phi i32 [ 1, %record_rename_pair.exit.i.i ], [ 0, %.thread64.i.i ], [ 0, %hash_filespec.exit.i.i ] %283 = add nuw nsw i32 %.032.i.i, %.024.i %indvars.iv.next34.i = add nuw nsw i64 %indvars.iv33.i, 1 %284 = load i32, ptr @rename_dst_nr, align 4, !tbaa !81 diff --git a/bench/hwloc/optimized/base64.ll b/bench/hwloc/optimized/base64.ll index 784ae66cc56..0f58dcefd35 100644 --- a/bench/hwloc/optimized/base64.ll +++ b/bench/hwloc/optimized/base64.ll @@ -154,15 +154,15 @@ define hidden i32 @hwloc_encode_to_base64(ptr noundef readonly captures(none) %0 ; Function Attrs: nofree nounwind memory(read, argmem: readwrite, inaccessiblemem: none) uwtable define hidden i32 @hwloc_decode_from_base64(ptr noundef readonly captures(none) %0, ptr noundef captures(address_is_null) %1, i64 noundef %2) local_unnamed_addr #1 { - %.not74 = icmp eq ptr %1, null + %.not76 = icmp eq ptr %1, null br label %.outer.outer -.unreachabledefault177: ; preds = %18 +.unreachabledefault179: ; preds = %18 unreachable .outer: ; preds = %.outer.backedge, %.outer.outer %.060.ph = phi ptr [ %.060.ph.ph, %.outer.outer ], [ %7, %.outer.backedge ] - %.not83 = phi i1 [ %.not83.ph, %.outer.outer ], [ false, %.outer.backedge ] + %.not85 = phi i1 [ %.not85.ph, %.outer.outer ], [ false, %.outer.backedge ] %.056.ph = phi i32 [ %.056.ph.ph, %.outer.outer ], [ 1, %.outer.backedge ] br label %4 @@ -180,12 +180,12 @@ define hidden i32 @hwloc_decode_from_base64(ptr noundef readonly captures(none) %11 = getelementptr inbounds i16, ptr %9, i64 %10 %12 = load i16, ptr %11, align 2, !tbaa !12 %13 = and i16 %12, 8192 - %.not73 = icmp eq i16 %13, 0 - br i1 %.not73, label %14, label %4, !llvm.loop !14 + %.not75 = icmp eq i16 %13, 0 + br i1 %.not75, label %14, label %4, !llvm.loop !14 14: ; preds = %6 - %cond91 = icmp eq i8 %5, 61 - br i1 %cond91, label %68, label %15 + %cond93 = icmp eq i8 %5, 61 + br i1 %cond93, label %68, label %15 15: ; preds = %14 %16 = sext i8 %5 to i32 @@ -194,7 +194,7 @@ define hidden i32 @hwloc_decode_from_base64(ptr noundef readonly captures(none) br i1 %17, label %.loopexit, label %18 18: ; preds = %15 - switch i32 %.056.ph, label %.unreachabledefault177 [ + switch i32 %.056.ph, label %.unreachabledefault179 [ i32 0, label %19 i32 1, label %26 i32 2, label %40 @@ -202,13 +202,13 @@ define hidden i32 @hwloc_decode_from_base64(ptr noundef readonly captures(none) ], !llvm.loop !14 19: ; preds = %18 - br i1 %.not74, label %.outer.backedge, label %20 + br i1 %.not76, label %.outer.backedge, label %20 .outer.backedge: ; preds = %19, %21 br label %.outer, !llvm.loop !14 20: ; preds = %19 - br i1 %.not82, label %21, label %.loopexit + br i1 %.not84, label %21, label %.loopexit 21: ; preds = %20 %22 = ptrtoint ptr %memchr to i64 @@ -220,12 +220,12 @@ define hidden i32 @hwloc_decode_from_base64(ptr noundef readonly captures(none) 26: ; preds = %18 %.pre = add i32 %.058.ph.ph, 1 - br i1 %.not74, label %.outer.outer.backedge, label %27 + br i1 %.not76, label %.outer.outer.backedge, label %27 27: ; preds = %26 %28 = zext i32 %.pre to i64 - %.not79 = icmp ugt i64 %2, %28 - br i1 %.not79, label %29, label %.loopexit + %.not81 = icmp ugt i64 %2, %28 + br i1 %.not81, label %29, label %.loopexit 29: ; preds = %27 %30 = ptrtoint ptr %memchr to i64 @@ -237,36 +237,36 @@ define hidden i32 @hwloc_decode_from_base64(ptr noundef readonly captures(none) %36 = trunc i64 %32 to i8 %37 = or i8 %35, %36 store i8 %37, ptr %34, align 1, !tbaa !3 - %.tr80 = trunc i64 %30 to i8 - %38 = shl i8 %.tr80, 4 + %.tr82 = trunc i64 %30 to i8 + %38 = shl i8 %.tr82, 4 %39 = getelementptr inbounds nuw i8, ptr %1, i64 %28 store i8 %38, ptr %39, align 1, !tbaa !3 br label %.outer.outer.backedge 40: ; preds = %18 - %.pre137 = add i32 %.058.ph.ph, 1 - br i1 %.not74, label %.outer.outer.backedge, label %43 + %.pre139 = add i32 %.058.ph.ph, 1 + br i1 %.not76, label %.outer.outer.backedge, label %43 .outer.outer.backedge: ; preds = %40, %26, %45, %29, %66 - %.058.ph.ph.be = phi i32 [ %67, %66 ], [ %.pre, %29 ], [ %.pre137, %45 ], [ %.pre, %26 ], [ %.pre137, %40 ] - %.not83.ph.be = phi i1 [ true, %66 ], [ false, %29 ], [ false, %45 ], [ false, %26 ], [ false, %40 ] + %.058.ph.ph.be = phi i32 [ %67, %66 ], [ %.pre, %29 ], [ %.pre139, %45 ], [ %.pre, %26 ], [ %.pre139, %40 ] + %.not85.ph.be = phi i1 [ true, %66 ], [ false, %29 ], [ false, %45 ], [ false, %26 ], [ false, %40 ] %.056.ph.ph.be = phi i32 [ 0, %66 ], [ 2, %29 ], [ 3, %45 ], [ 2, %26 ], [ 3, %40 ] br label %.outer.outer, !llvm.loop !14 .outer.outer: ; preds = %.outer.outer.backedge, %3 %.060.ph.ph = phi ptr [ %0, %3 ], [ %7, %.outer.outer.backedge ] %.058.ph.ph = phi i32 [ 0, %3 ], [ %.058.ph.ph.be, %.outer.outer.backedge ] - %.not83.ph = phi i1 [ true, %3 ], [ %.not83.ph.be, %.outer.outer.backedge ] + %.not85.ph = phi i1 [ true, %3 ], [ %.not85.ph.be, %.outer.outer.backedge ] %.056.ph.ph = phi i32 [ 0, %3 ], [ %.056.ph.ph.be, %.outer.outer.backedge ] %41 = zext i32 %.058.ph.ph to i64 - %.not82 = icmp ugt i64 %2, %41 + %.not84 = icmp ugt i64 %2, %41 %42 = getelementptr inbounds nuw i8, ptr %1, i64 %41 br label %.outer 43: ; preds = %40 - %44 = zext i32 %.pre137 to i64 - %.not77 = icmp ugt i64 %2, %44 - br i1 %.not77, label %45, label %.loopexit + %44 = zext i32 %.pre139 to i64 + %.not79 = icmp ugt i64 %2, %44 + br i1 %.not79, label %45, label %.loopexit 45: ; preds = %43 %46 = ptrtoint ptr %memchr to i64 @@ -285,12 +285,12 @@ define hidden i32 @hwloc_decode_from_base64(ptr noundef readonly captures(none) br label %.outer.outer.backedge 56: ; preds = %18 - br i1 %.not74, label %66, label %57 + br i1 %.not76, label %66, label %57 57: ; preds = %56 %58 = zext i32 %.058.ph.ph to i64 - %.not75 = icmp ugt i64 %2, %58 - br i1 %.not75, label %59, label %.loopexit + %.not77 = icmp ugt i64 %2, %58 + br i1 %.not77, label %59, label %.loopexit 59: ; preds = %57 %60 = ptrtoint ptr %memchr to i64 @@ -318,71 +318,71 @@ define hidden i32 @hwloc_decode_from_base64(ptr noundef readonly captures(none) ] .preheader: ; preds = %68 - %cond92112 = icmp eq i8 %70, 0 - br i1 %cond92112, label %.loopexit, label %.lr.ph + %cond94114 = icmp eq i8 %70, 0 + br i1 %cond94114, label %.loopexit, label %.lr.ph .lr.ph: ; preds = %.preheader, %76 - %.1114 = phi i32 [ %79, %76 ], [ %71, %.preheader ] - %.262113 = phi ptr [ %77, %76 ], [ %69, %.preheader ] - %72 = sext i32 %.1114 to i64 + %.1116 = phi i32 [ %79, %76 ], [ %71, %.preheader ] + %.262115 = phi ptr [ %77, %76 ], [ %69, %.preheader ] + %72 = sext i32 %.1116 to i64 %73 = getelementptr inbounds i16, ptr %9, i64 %72 %74 = load i16, ptr %73, align 2, !tbaa !12 %75 = and i16 %74, 8192 - %.not85 = icmp eq i16 %75, 0 - br i1 %.not85, label %80, label %76 + %.not87 = icmp eq i16 %75, 0 + br i1 %.not87, label %80, label %76 76: ; preds = %.lr.ph - %77 = getelementptr inbounds nuw i8, ptr %.262113, i64 1 - %78 = load i8, ptr %.262113, align 1, !tbaa !3 + %77 = getelementptr inbounds nuw i8, ptr %.262115, i64 1 + %78 = load i8, ptr %.262115, align 1, !tbaa !3 %79 = sext i8 %78 to i32 - %cond92 = icmp eq i8 %78, 0 - br i1 %cond92, label %.loopexit, label %.lr.ph, !llvm.loop !15 + %cond94 = icmp eq i8 %78, 0 + br i1 %cond94, label %.loopexit, label %.lr.ph, !llvm.loop !15 80: ; preds = %.lr.ph - %.not86 = icmp eq i32 %.1114, 61 - br i1 %.not86, label %81, label %.loopexit + %.not88 = icmp eq i32 %.1116, 61 + br i1 %.not88, label %81, label %.loopexit 81: ; preds = %80 - %82 = getelementptr inbounds nuw i8, ptr %.262113, i64 1 - %83 = load i8, ptr %.262113, align 1, !tbaa !3 + %82 = getelementptr inbounds nuw i8, ptr %.262115, i64 1 + %83 = load i8, ptr %.262115, align 1, !tbaa !3 %84 = sext i8 %83 to i32 br label %85 85: ; preds = %81, %68 %.161 = phi ptr [ %82, %81 ], [ %69, %68 ] %.055 = phi i32 [ %84, %81 ], [ %71, %68 ] - %.not87115 = icmp eq i32 %.055, 0 - br i1 %.not87115, label %._crit_edge, label %.lr.ph118 + %.not89117 = icmp eq i32 %.055, 0 + br i1 %.not89117, label %._crit_edge, label %.lr.ph120 -.lr.ph118: ; preds = %85, %90 - %.2117 = phi i32 [ %93, %90 ], [ %.055, %85 ] - %.3116 = phi ptr [ %91, %90 ], [ %.161, %85 ] - %86 = sext i32 %.2117 to i64 +.lr.ph120: ; preds = %85, %90 + %.2119 = phi i32 [ %93, %90 ], [ %.055, %85 ] + %.3118 = phi ptr [ %91, %90 ], [ %.161, %85 ] + %86 = sext i32 %.2119 to i64 %87 = getelementptr inbounds i16, ptr %9, i64 %86 %88 = load i16, ptr %87, align 2, !tbaa !12 %89 = and i16 %88, 8192 - %.not90 = icmp eq i16 %89, 0 - br i1 %.not90, label %.loopexit, label %90 + %.not92 = icmp eq i16 %89, 0 + br i1 %.not92, label %.loopexit, label %90 -90: ; preds = %.lr.ph118 - %91 = getelementptr inbounds nuw i8, ptr %.3116, i64 1 - %92 = load i8, ptr %.3116, align 1, !tbaa !3 +90: ; preds = %.lr.ph120 + %91 = getelementptr inbounds nuw i8, ptr %.3118, i64 1 + %92 = load i8, ptr %.3118, align 1, !tbaa !3 %93 = sext i8 %92 to i32 - %.not87 = icmp eq i8 %92, 0 - br i1 %.not87, label %._crit_edge, label %.lr.ph118, !llvm.loop !16 + %.not89 = icmp eq i8 %92, 0 + br i1 %.not89, label %._crit_edge, label %.lr.ph120, !llvm.loop !16 ._crit_edge: ; preds = %90, %85 - br i1 %.not74, label %99, label %94 + br i1 %.not76, label %99, label %94 94: ; preds = %._crit_edge %95 = zext i32 %.058.ph.ph to i64 %96 = getelementptr inbounds nuw i8, ptr %1, i64 %95 %97 = load i8, ptr %96, align 1, !tbaa !3 - %.not89 = icmp eq i8 %97, 0 - br i1 %.not89, label %99, label %.loopexit + %.not91 = icmp eq i8 %97, 0 + br i1 %.not91, label %99, label %.loopexit 98: ; preds = %4 - br i1 %.not83, label %99, label %.loopexit + br i1 %.not85, label %99, label %.loopexit .unreachabledefault: ; preds = %68 unreachable @@ -390,8 +390,8 @@ define hidden i32 @hwloc_decode_from_base64(ptr noundef readonly captures(none) 99: ; preds = %98, %94, %._crit_edge br label %.loopexit -.loopexit: ; preds = %20, %15, %57, %43, %27, %76, %.lr.ph118, %.preheader, %98, %94, %80, %68, %68, %99 - %.0 = phi i32 [ %.058.ph.ph, %99 ], [ -1, %68 ], [ -1, %68 ], [ -1, %80 ], [ -1, %94 ], [ -1, %98 ], [ -1, %.preheader ], [ -1, %.lr.ph118 ], [ -1, %76 ], [ -1, %27 ], [ -1, %43 ], [ -1, %57 ], [ -1, %15 ], [ -1, %20 ] +.loopexit: ; preds = %20, %15, %57, %43, %27, %76, %.lr.ph120, %.preheader, %98, %94, %80, %68, %68, %99 + %.0 = phi i32 [ %.058.ph.ph, %99 ], [ -1, %68 ], [ -1, %68 ], [ -1, %80 ], [ -1, %94 ], [ -1, %98 ], [ -1, %.preheader ], [ -1, %.lr.ph120 ], [ -1, %76 ], [ -1, %27 ], [ -1, %43 ], [ -1, %57 ], [ -1, %15 ], [ -1, %20 ] ret i32 %.0 } diff --git a/bench/imgui/optimized/imgui_widgets.ll b/bench/imgui/optimized/imgui_widgets.ll index bc91496bbf0..acc57412361 100644 --- a/bench/imgui/optimized/imgui_widgets.ll +++ b/bench/imgui/optimized/imgui_widgets.ll @@ -11350,13 +11350,13 @@ _ZN5ImGui20ScaleRatioFromValueTIjifEEfiT_S1_S1_bff.exit: ; preds = %204, %217, % %236 = uitofp i32 %4 to float %237 = fcmp ogt float %203, %236 %238 = select i1 %237, float %203, float %236 - %.085.i = select i1 %208, float %238, float %..i246 - %.084.i = select i1 %208, float %..i246, float %238 + %.087.i = select i1 %208, float %238, float %..i246 + %.086.i = select i1 %208, float %..i246, float %238 %239 = fsub float 1.000000e+00, %229 %240 = select i1 %208, float %239, float %229 - %241 = fdiv float %.084.i, %.085.i + %241 = fdiv float %.086.i, %.087.i %242 = tail call noundef float @powf(float noundef %241, float noundef %240) #44, !tbaa !177 - %243 = fmul float %.085.i, %242 + %243 = fmul float %.087.i, %242 %244 = fptoui float %243 to i32 br label %_ZN5ImGui20ScaleValueFromRatioTIjifEET_ifS1_S1_bff.exit @@ -16137,13 +16137,13 @@ _ZN5ImGui20ScaleRatioFromValueTIjifEEfiT_S1_S1_bff.exit297: ; preds = %283, %286 %311 = fcmp ogt float %.0218, %310 %312 = select i1 %311, float %.0218, float %310 %313 = icmp ult i32 %5, %4 - %.085.i = select i1 %313, float %312, float %..i300 - %.084.i = select i1 %313, float %..i300, float %312 + %.087.i = select i1 %313, float %312, float %..i300 + %.086.i = select i1 %313, float %..i300, float %312 %314 = fsub float 1.000000e+00, %302 %315 = select i1 %313, float %314, float %302 - %316 = fdiv float %.084.i, %.085.i + %316 = fdiv float %.086.i, %.087.i %317 = tail call noundef float @powf(float noundef %316, float noundef %315) #44, !tbaa !177 - %318 = fmul float %.085.i, %317 + %318 = fmul float %.087.i, %317 %319 = fptoui float %318 to i32 br label %_ZN5ImGui20ScaleValueFromRatioTIjifEET_ifS1_S1_bff.exit @@ -16280,13 +16280,13 @@ _ZN5ImGui20ScaleRatioFromValueTIjifEEfiT_S1_S1_bff.exit307: ; preds = %_ZN5ImGui %392 = fcmp ogt float %.0218, %391 %393 = select i1 %392, float %.0218, float %391 %394 = icmp ult i32 %5, %4 - %.085.i311 = select i1 %394, float %393, float %..i310 - %.084.i312 = select i1 %394, float %..i310, float %393 + %.087.i311 = select i1 %394, float %393, float %..i310 + %.086.i312 = select i1 %394, float %..i310, float %393 %395 = fsub float 1.000000e+00, %.2227343 %396 = select i1 %394, float %395, float %.2227343 - %397 = fdiv float %.084.i312, %.085.i311 + %397 = fdiv float %.086.i312, %.087.i311 %398 = tail call noundef float @powf(float noundef %397, float noundef %396) #44, !tbaa !177 - %399 = fmul float %.085.i311, %398 + %399 = fmul float %.087.i311, %398 %400 = fptoui float %399 to i32 br label %_ZN5ImGui20ScaleValueFromRatioTIjifEET_ifS1_S1_bff.exit313 @@ -46148,12 +46148,12 @@ define linkonce_odr noundef i32 @_ZN5ImGui20ScaleValueFromRatioTIiifEET_ifS1_S1_ %.pre-phi = phi float [ %.pre, %._crit_edge ], [ %28, %26 ] %31 = phi float [ %23, %._crit_edge ], [ %29, %26 ] %32 = icmp slt i32 %3, %2 - %.093 = select i1 %32, float %31, float %22 - %.091 = select i1 %32, float %22, float %31 + %.095 = select i1 %32, float %31, float %22 + %.093 = select i1 %32, float %22, float %31 %33 = icmp eq i32 %3, 0 %34 = icmp slt i32 %2, 0 - %or.cond81 = and i1 %34, %33 - %.192 = select i1 %or.cond81, float %.pre-phi, float %.091 + %or.cond83 = and i1 %34, %33 + %.194 = select i1 %or.cond83, float %.pre-phi, float %.093 %35 = fsub float 1.000000e+00, %1 %36 = select i1 %32, float %35, float %1 %37 = mul nsw i32 %3, %2 @@ -46171,15 +46171,15 @@ define linkonce_odr noundef i32 @_ZN5ImGui20ScaleValueFromRatioTIiifEET_ifS1_S1_ %47 = fadd float %6, %45 %48 = fcmp ult float %36, %46 %49 = fcmp ugt float %36, %47 - %or.cond82 = or i1 %48, %49 - br i1 %or.cond82, label %50, label %102 + %or.cond84 = or i1 %48, %49 + br i1 %or.cond84, label %50, label %102 50: ; preds = %39 %51 = fcmp olt float %36, %45 br i1 %51, label %52, label %61 52: ; preds = %50 - %53 = fneg float %.093 + %53 = fneg float %.095 %54 = fdiv float %53, %5 %55 = fdiv float %36, %46 %56 = fsub float 1.000000e+00, %55 @@ -46190,7 +46190,7 @@ define linkonce_odr noundef i32 @_ZN5ImGui20ScaleValueFromRatioTIiifEET_ifS1_S1_ br label %102 61: ; preds = %50 - %62 = fdiv float %.192, %5 + %62 = fdiv float %.194, %5 %63 = fsub float %36, %47 %64 = fsub float 1.000000e+00, %47 %65 = fdiv float %63, %64 @@ -46201,21 +46201,21 @@ define linkonce_odr noundef i32 @_ZN5ImGui20ScaleValueFromRatioTIiifEET_ifS1_S1_ 69: ; preds = %30 %70 = or i32 %3, %2 - %or.cond83.not = icmp sgt i32 %70, -1 - br i1 %or.cond83.not, label %77, label %71 + %or.cond85.not = icmp sgt i32 %70, -1 + br i1 %or.cond85.not, label %77, label %71 71: ; preds = %69 - %72 = fdiv float %.093, %.192 + %72 = fdiv float %.095, %.194 %73 = fsub float 1.000000e+00, %36 %74 = tail call noundef float @powf(float noundef %72, float noundef %73) #44, !tbaa !177 - %75 = fmul float %.192, %74 + %75 = fmul float %.194, %74 %76 = fptosi float %75 to i32 br label %102 77: ; preds = %69 - %78 = fdiv float %.192, %.093 + %78 = fdiv float %.194, %.095 %79 = tail call noundef float @powf(float noundef %78, float noundef %36) #44, !tbaa !177 - %80 = fmul float %.093, %79 + %80 = fmul float %.095, %79 %81 = fptosi float %80 to i32 br label %102 @@ -46715,13 +46715,13 @@ define linkonce_odr noundef i64 @_ZN5ImGui20ScaleValueFromRatioTIxxdEET_ifS1_S1_ %.pre-phi = phi float [ %.pre, %._crit_edge ], [ %30, %28 ] %34 = phi double [ %25, %._crit_edge ], [ %32, %28 ] %35 = icmp slt i64 %3, %2 - %.091 = select i1 %35, double %34, double %24 - %.089 = select i1 %35, double %24, double %34 + %.093 = select i1 %35, double %34, double %24 + %.091 = select i1 %35, double %24, double %34 %36 = icmp eq i64 %3, 0 %37 = icmp slt i64 %2, 0 - %or.cond79 = and i1 %37, %36 + %or.cond81 = and i1 %37, %36 %38 = fpext float %.pre-phi to double - %.190 = select i1 %or.cond79, double %38, double %.089 + %.192 = select i1 %or.cond81, double %38, double %.091 %39 = fsub float 1.000000e+00, %1 %40 = select i1 %35, float %39, float %1 %41 = mul nsw i64 %3, %2 @@ -46741,15 +46741,15 @@ define linkonce_odr noundef i64 @_ZN5ImGui20ScaleValueFromRatioTIxxdEET_ifS1_S1_ %53 = fadd float %6, %51 %54 = fcmp ult float %40, %52 %55 = fcmp ugt float %40, %53 - %or.cond80 = or i1 %54, %55 - br i1 %or.cond80, label %56, label %113 + %or.cond82 = or i1 %54, %55 + br i1 %or.cond82, label %56, label %113 56: ; preds = %43 %57 = fcmp olt float %40, %51 br i1 %57, label %58, label %68 58: ; preds = %56 - %59 = fneg double %.091 + %59 = fneg double %.093 %60 = fdiv double %59, %16 %61 = fdiv float %40, %52 %62 = fsub float 1.000000e+00, %61 @@ -46761,7 +46761,7 @@ define linkonce_odr noundef i64 @_ZN5ImGui20ScaleValueFromRatioTIxxdEET_ifS1_S1_ br label %113 68: ; preds = %56 - %69 = fdiv double %.190, %16 + %69 = fdiv double %.192, %16 %70 = fsub float %40, %53 %71 = fsub float 1.000000e+00, %53 %72 = fdiv float %70, %71 @@ -46773,23 +46773,23 @@ define linkonce_odr noundef i64 @_ZN5ImGui20ScaleValueFromRatioTIxxdEET_ifS1_S1_ 77: ; preds = %33 %78 = or i64 %3, %2 - %or.cond81.not = icmp sgt i64 %78, -1 - br i1 %or.cond81.not, label %86, label %79 + %or.cond83.not = icmp sgt i64 %78, -1 + br i1 %or.cond83.not, label %86, label %79 79: ; preds = %77 - %80 = fdiv double %.091, %.190 + %80 = fdiv double %.093, %.192 %81 = fsub float 1.000000e+00, %40 %82 = fpext float %81 to double %83 = tail call noundef double @pow(double noundef %80, double noundef %82) #44, !tbaa !177 - %84 = fmul double %.190, %83 + %84 = fmul double %.192, %83 %85 = fptosi double %84 to i64 br label %113 86: ; preds = %77 - %87 = fdiv double %.190, %.091 + %87 = fdiv double %.192, %.093 %88 = fpext float %40 to double %89 = tail call noundef double @pow(double noundef %87, double noundef %88) #44, !tbaa !177 - %90 = fmul double %.091, %89 + %90 = fmul double %.093, %89 %91 = fptosi double %90 to i64 br label %113 @@ -47673,8 +47673,8 @@ define linkonce_odr noundef float @_ZN5ImGui20ScaleRatioFromValueTIdddEEfiT_S1_S define linkonce_odr noundef double @_ZN5ImGui20ScaleValueFromRatioTIdddEET_ifS1_S1_bff(i32 noundef %0, float noundef %1, double noundef %2, double noundef %3, i1 noundef zeroext %4, float noundef %5, float noundef %6) local_unnamed_addr #5 comdat { %8 = fcmp ole float %1, 0.000000e+00 %9 = fcmp oeq double %2, %3 - %or.cond83 = or i1 %8, %9 - br i1 %or.cond83, label %104, label %10 + %or.cond85 = or i1 %8, %9 + br i1 %or.cond85, label %104, label %10 10: ; preds = %7 %11 = fcmp ult float %1, 1.000000e+00 @@ -47717,13 +47717,13 @@ define linkonce_odr noundef double @_ZN5ImGui20ScaleValueFromRatioTIdddEET_ifS1_ %.pre-phi = phi float [ %.pre, %._crit_edge ], [ %28, %26 ] %32 = phi double [ %3, %._crit_edge ], [ %30, %26 ] %33 = fcmp olt double %3, %2 - %.094 = select i1 %33, double %32, double %23 - %.092 = select i1 %33, double %23, double %32 + %.096 = select i1 %33, double %32, double %23 + %.094 = select i1 %33, double %23, double %32 %34 = fcmp oeq double %3, 0.000000e+00 %35 = fcmp olt double %2, 0.000000e+00 %or.cond = and i1 %35, %34 %36 = fpext float %.pre-phi to double - %.193 = select i1 %or.cond, double %36, double %.092 + %.195 = select i1 %or.cond, double %36, double %.094 %37 = fsub float 1.000000e+00, %1 %38 = select i1 %33, float %37, float %1 %39 = fmul double %2, %3 @@ -47744,15 +47744,15 @@ define linkonce_odr noundef double @_ZN5ImGui20ScaleValueFromRatioTIdddEET_ifS1_ %52 = fadd float %6, %50 %53 = fcmp ult float %38, %51 %54 = fcmp ugt float %38, %52 - %or.cond84 = or i1 %53, %54 - br i1 %or.cond84, label %55, label %104 + %or.cond86 = or i1 %53, %54 + br i1 %or.cond86, label %55, label %104 55: ; preds = %41 %56 = fcmp olt float %38, %50 br i1 %56, label %57, label %66 57: ; preds = %55 - %58 = fneg double %.094 + %58 = fneg double %.096 %59 = fdiv double %58, %15 %60 = fdiv float %38, %51 %61 = fsub float 1.000000e+00, %60 @@ -47763,7 +47763,7 @@ define linkonce_odr noundef double @_ZN5ImGui20ScaleValueFromRatioTIdddEET_ifS1_ br label %104 66: ; preds = %55 - %67 = fdiv double %.193, %15 + %67 = fdiv double %.195, %15 %68 = fsub float %38, %52 %69 = fsub float 1.000000e+00, %52 %70 = fdiv float %68, %69 @@ -47778,18 +47778,18 @@ define linkonce_odr noundef double @_ZN5ImGui20ScaleValueFromRatioTIdddEET_ifS1_ br i1 %or.cond3, label %76, label %82 76: ; preds = %74 - %77 = fdiv double %.094, %.193 + %77 = fdiv double %.096, %.195 %78 = fsub float 1.000000e+00, %38 %79 = fpext float %78 to double %80 = tail call noundef double @pow(double noundef %77, double noundef %79) #44, !tbaa !177 - %81 = fmul double %.193, %80 + %81 = fmul double %.195, %80 br label %104 82: ; preds = %74 - %83 = fdiv double %.193, %.094 + %83 = fdiv double %.195, %.096 %84 = fpext float %38 to double %85 = tail call noundef double @pow(double noundef %83, double noundef %84) #44, !tbaa !177 - %86 = fmul double %.094, %85 + %86 = fmul double %.096, %85 br label %104 87: ; preds = %12 diff --git a/bench/jsonnet/optimized/lexer.ll b/bench/jsonnet/optimized/lexer.ll index 6c8115f8be0..f58a8e5d3fc 100644 --- a/bench/jsonnet/optimized/lexer.ll +++ b/bench/jsonnet/optimized/lexer.ll @@ -1244,9 +1244,9 @@ define void @_ZN7jsonnet8internal11jsonnet_lexERKNSt7__cxx1112basic_stringIcSt11 br label %106 106: ; preds = %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit406, %3 - %.0489 = phi ptr [ %2, %3 ], [ %.24911326, %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit406 ] - %.0484 = phi i64 [ 1, %3 ], [ %.24861328, %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit406 ] - %.066 = phi i8 [ 1, %3 ], [ %.1671330, %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit406 ] + %.0489 = phi ptr [ %2, %3 ], [ %.24911336, %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit406 ] + %.0484 = phi i64 [ 1, %3 ], [ %.24861338, %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit406 ] + %.066 = phi i8 [ 1, %3 ], [ %.1671340, %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit406 ] %107 = load ptr, ptr %14, align 8, !tbaa !34 %108 = load i8, ptr %107, align 1, !tbaa !19 %.not = icmp eq i8 %108, 0 @@ -1315,9 +1315,9 @@ define void @_ZN7jsonnet8internal11jsonnet_lexERKNSt7__cxx1112basic_stringIcSt11 _ZN7jsonnet8internalL6lex_wsERPKcRjS4_S3_Rm.exit: ; preds = %110 store ptr %111, ptr %14, align 8 %127 = icmp eq i8 %114, 0 - br i1 %127, label %.thread1322, label %128 + br i1 %127, label %.thread1332, label %128 -.thread1322: ; preds = %_ZN7jsonnet8internalL6lex_wsERPKcRjS4_S3_Rm.exit +.thread1332: ; preds = %_ZN7jsonnet8internalL6lex_wsERPKcRjS4_S3_Rm.exit call void @llvm.lifetime.end.p0(ptr nonnull %19) br label %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i399 @@ -2489,11 +2489,11 @@ _ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i.i _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit.i: ; preds = %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i.i, %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i.i call void @llvm.lifetime.end.p0(ptr nonnull %13) store i32 0, ptr %35, align 4, !tbaa !47 - %.promoted1568 = load ptr, ptr %14, align 8 + %.promoted1578 = load ptr, ptr %14, align 8 br label %523 523: ; preds = %537, %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit.i - %524 = phi ptr [ %.promoted1568, %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit.i ], [ %540, %537 ] + %524 = phi ptr [ %.promoted1578, %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit.i ], [ %540, %537 ] %.13502 = phi ptr [ %.11500, %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit.i ], [ %.14503, %537 ] %.16 = phi i64 [ %.14, %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit.i ], [ %.17, %537 ] %525 = phi i32 [ 0, %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit.i ], [ %538, %537 ] @@ -3195,19 +3195,19 @@ _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit309: ; preds = %_Z store ptr %758, ptr %14, align 8, !tbaa !34 %759 = load i8, ptr %758, align 1, !tbaa !19 %760 = icmp eq i8 %759, 45 - br i1 %760, label %761, label %.preheader1810 + br i1 %760, label %761, label %.preheader1820 761: ; preds = %757 %762 = getelementptr inbounds nuw i8, ptr %.promoted1063, i64 4 store ptr %762, ptr %14, align 8, !tbaa !34 - br label %.preheader1810 + br label %.preheader1820 -.preheader1810: ; preds = %761, %757 +.preheader1820: ; preds = %761, %757 %.ph = phi ptr [ %758, %757 ], [ %762, %761 ] br label %763 -763: ; preds = %.preheader1810, %766 - %764 = phi ptr [ %767, %766 ], [ %.ph, %.preheader1810 ] +763: ; preds = %.preheader1820, %766 + %764 = phi ptr [ %767, %766 ], [ %.ph, %.preheader1820 ] %765 = load i8, ptr %764, align 1, !tbaa !19 switch i8 %765, label %768 [ i8 32, label %766 @@ -3465,8 +3465,8 @@ _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit324: ; preds = %82 %.lcssa10091020 = phi ptr [ %.promoted1021, %_ZN7jsonnet8internalL16whitespace_checkEPKcS2_.exit349 ], [ %.promoted1019, %.preheader568 ] %.12 = phi i64 [ %.13.lcssa, %_ZN7jsonnet8internalL16whitespace_checkEPKcS2_.exit349 ], [ %.11.lcssa, %.preheader568 ] %.0115 = phi i64 [ %indvars.iv.i343, %_ZN7jsonnet8internalL16whitespace_checkEPKcS2_.exit349 ], [ %indvars.iv.i, %.preheader568 ] - %sext1572 = shl i64 %.0115, 32 - %839 = ashr exact i64 %sext1572, 32 + %sext1582 = shl i64 %.0115, 32 + %839 = ashr exact i64 %sext1582, 32 %840 = getelementptr inbounds i8, ptr %.lcssa10091020, i64 %839 br label %841 @@ -3857,10 +3857,10 @@ _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit359: ; preds = %_Z br i1 %976, label %.lr.ph1057, label %.critedge2 .lr.ph1057: ; preds = %._crit_edge1046, %_ZN7jsonnet8internal26allowed_at_end_of_operatorEc.exit - %.idx1317 = phi i64 [ %.add1318, %_ZN7jsonnet8internal26allowed_at_end_of_operatorEc.exit ], [ %.lcssa1044.ph.idx, %._crit_edge1046 ] - %.add1318 = add nsw i64 %.idx1317, -1 - %.ptr1320 = getelementptr inbounds i8, ptr %.promoted1063, i64 %.add1318 - %977 = load i8, ptr %.ptr1320, align 1, !tbaa !19 + %.idx1327 = phi i64 [ %.add1328, %_ZN7jsonnet8internal26allowed_at_end_of_operatorEc.exit ], [ %.lcssa1044.ph.idx, %._crit_edge1046 ] + %.add1328 = add nsw i64 %.idx1327, -1 + %.ptr1330 = getelementptr inbounds i8, ptr %.promoted1063, i64 %.add1328 + %977 = load i8, ptr %.ptr1330, align 1, !tbaa !19 switch i8 %977, label %.critedge2 [ i8 43, label %_ZN7jsonnet8internal26allowed_at_end_of_operatorEc.exit i8 45, label %_ZN7jsonnet8internal26allowed_at_end_of_operatorEc.exit @@ -3870,11 +3870,11 @@ _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit359: ; preds = %_Z ] _ZN7jsonnet8internal26allowed_at_end_of_operatorEc.exit: ; preds = %.lr.ph1057, %.lr.ph1057, %.lr.ph1057, %.lr.ph1057, %.lr.ph1057 - %978 = icmp samesign ugt i64 %.idx1317, 2 + %978 = icmp samesign ugt i64 %.idx1327, 2 br i1 %978, label %.lr.ph1057, label %.critedge2, !llvm.loop !77 .critedge2: ; preds = %.lr.ph1057, %_ZN7jsonnet8internal26allowed_at_end_of_operatorEc.exit, %._crit_edge1046 - %.lcssa1044.ph.idx.pn = phi i64 [ %.lcssa1044.ph.idx, %._crit_edge1046 ], [ %.add1318, %_ZN7jsonnet8internal26allowed_at_end_of_operatorEc.exit ], [ %.idx1317, %.lr.ph1057 ] + %.lcssa1044.ph.idx.pn = phi i64 [ %.lcssa1044.ph.idx, %._crit_edge1046 ], [ %.add1328, %_ZN7jsonnet8internal26allowed_at_end_of_operatorEc.exit ], [ %.idx1327, %.lr.ph1057 ] %.lcssa1055 = getelementptr inbounds i8, ptr %.promoted1063, i64 %.lcssa1044.ph.idx.pn store ptr %.lcssa1055, ptr %14, align 8 call void @llvm.lifetime.start.p0(ptr nonnull %62) @@ -4337,10 +4337,10 @@ _ZSt8_DestroyIPN7jsonnet8internal13FodderElementES2_EvT_S4_RSaIT0_E.exit.i.i: ; %1128 = icmp eq ptr %.pre1167, %76 br i1 %1128, label %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i399, label %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i398 -_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i399: ; preds = %.thread1322, %1127 - %.1671331 = phi i8 [ %.066, %.thread1322 ], [ %.3, %1127 ] - %.24861329 = phi i64 [ %.14, %.thread1322 ], [ %.8, %1127 ] - %.24911327 = phi ptr [ %.11500, %.thread1322 ], [ %.8497, %1127 ] +_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i399: ; preds = %.thread1332, %1127 + %.1671341 = phi i8 [ %.066, %.thread1332 ], [ %.3, %1127 ] + %.24861339 = phi i64 [ %.14, %.thread1332 ], [ %.8, %1127 ] + %.24911337 = phi ptr [ %.11500, %.thread1332 ], [ %.8497, %1127 ] %1129 = load i64, ptr %77, align 8, !tbaa !18 %1130 = icmp ult i64 %1129, 16 call void @llvm.assume(i1 %1130) @@ -4353,9 +4353,9 @@ _ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i39 br label %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit400 _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit400: ; preds = %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i399, %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i398 - %.1671330 = phi i8 [ %.1671331, %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i399 ], [ %.3, %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i398 ] - %.24861328 = phi i64 [ %.24861329, %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i399 ], [ %.8, %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i398 ] - %.24911326 = phi ptr [ %.24911327, %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i399 ], [ %.8497, %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i398 ] + %.1671340 = phi i8 [ %.1671341, %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i399 ], [ %.3, %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i398 ] + %.24861338 = phi i64 [ %.24861339, %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i399 ], [ %.8, %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i398 ] + %.24911336 = phi ptr [ %.24911337, %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i399 ], [ %.8497, %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i398 ] call void @llvm.lifetime.end.p0(ptr nonnull %18) %1133 = load ptr, ptr %17, align 8, !tbaa !13 %1134 = icmp eq ptr %1133, %74 @@ -4498,8 +4498,8 @@ _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit419: ; preds = %_Z split: ; preds = %106, %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit406._crit_edge %1175 = phi ptr [ %.pre1168, %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit406._crit_edge ], [ %107, %106 ] - %.1490 = phi ptr [ %.24911326, %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit406._crit_edge ], [ %.0489, %106 ] - %.1485 = phi i64 [ %.24861328, %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit406._crit_edge ], [ %.0484, %106 ] + %.1490 = phi ptr [ %.24911336, %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit406._crit_edge ], [ %.0489, %106 ] + %.1485 = phi i64 [ %.24861338, %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit406._crit_edge ], [ %.0484, %106 ] %1176 = ptrtoint ptr %1175 to i64 %1177 = ptrtoint ptr %.1490 to i64 %reass.sub = sub i64 %1176, %1177 diff --git a/bench/just-rs/optimized/1uppz7l1e89fp8n7.ll b/bench/just-rs/optimized/1uppz7l1e89fp8n7.ll index c0f9ae4c96f..50e9552f7d2 100644 --- a/bench/just-rs/optimized/1uppz7l1e89fp8n7.ll +++ b/bench/just-rs/optimized/1uppz7l1e89fp8n7.ll @@ -13197,7 +13197,7 @@ define noundef range(i8 0, 22) i8 @"_ZN69_$LT$just..keyword..Keyword$u20$as$u20$ "_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit88": ; preds = %2 %bcmp.i87 = tail call i32 @bcmp(ptr noundef nonnull readonly align 1 dereferenceable(23) %0, ptr noundef nonnull dereferenceable(23) @anon.c7970f49f530d4f5fc2450af5a27db93.286.llvm.7385733070074733004, i64 23), !alias.scope !3137 %4 = icmp eq i32 %bcmp.i87, 0 - br i1 %4, label %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit164.thread", label %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit156.thread.thread400" + br i1 %4, label %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit164.thread", label %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit156.thread.thread406" "_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit92": ; preds = %2 %bcmp.i91 = tail call i32 @bcmp(ptr noundef nonnull readonly align 1 dereferenceable(15) %0, ptr noundef nonnull dereferenceable(15) @anon.c7970f49f530d4f5fc2450af5a27db93.287.llvm.7385733070074733004, i64 15), !alias.scope !3141 @@ -13212,7 +13212,7 @@ define noundef range(i8 0, 22) i8 @"_ZN69_$LT$just..keyword..Keyword$u20$as$u20$ "_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit100": ; preds = %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit96" %bcmp.i99 = tail call i32 @bcmp(ptr noundef nonnull readonly align 1 dereferenceable(11) %0, ptr noundef nonnull dereferenceable(11) @anon.c7970f49f530d4f5fc2450af5a27db93.289.llvm.7385733070074733004, i64 11), !alias.scope !3149 %7 = icmp eq i32 %bcmp.i99, 0 - br i1 %7, label %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit164.thread", label %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit156.thread.thread400" + br i1 %7, label %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit164.thread", label %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit156.thread.thread406" "_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit104": ; preds = %2 %bcmp.i103 = tail call i32 @bcmp(ptr noundef nonnull readonly align 1 dereferenceable(4) %0, ptr noundef nonnull dereferenceable(4) @anon.c7970f49f530d4f5fc2450af5a27db93.290.llvm.7385733070074733004, i64 4), !alias.scope !3153 @@ -13237,17 +13237,17 @@ define noundef range(i8 0, 22) i8 @"_ZN69_$LT$just..keyword..Keyword$u20$as$u20$ "_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit120": ; preds = %2 %bcmp.i119 = tail call i32 @bcmp(ptr noundef nonnull readonly align 1 dereferenceable(2) %0, ptr noundef nonnull dereferenceable(2) @anon.c7970f49f530d4f5fc2450af5a27db93.293.llvm.7385733070074733004, i64 2), !alias.scope !3169 %12 = icmp eq i32 %bcmp.i119, 0 - br i1 %12, label %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit164.thread", label %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit156.thread.thread400" + br i1 %12, label %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit164.thread", label %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit156.thread.thread406" "_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit124": ; preds = %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit92" %bcmp.i123 = tail call i32 @bcmp(ptr nonnull readonly align 1 %0, ptr nonnull @anon.c7970f49f530d4f5fc2450af5a27db93.294.llvm.7385733070074733004, i64 %1), !alias.scope !3173 %13 = icmp eq i32 %bcmp.i123, 0 - br i1 %13, label %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit164.thread", label %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit156.thread.thread400" + br i1 %13, label %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit164.thread", label %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit156.thread.thread406" "_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit128": ; preds = %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit108" %bcmp.i127 = tail call i32 @bcmp(ptr nonnull readonly align 1 %0, ptr nonnull @anon.c7970f49f530d4f5fc2450af5a27db93.295.llvm.7385733070074733004, i64 %1), !alias.scope !3177 %14 = icmp eq i32 %bcmp.i127, 0 - br i1 %14, label %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit164.thread", label %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit156.thread.thread400" + br i1 %14, label %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit164.thread", label %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit156.thread.thread406" "_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit132": ; preds = %2 %bcmp.i131 = tail call i32 @bcmp(ptr noundef nonnull readonly align 1 dereferenceable(3) %0, ptr noundef nonnull dereferenceable(3) @anon.c7970f49f530d4f5fc2450af5a27db93.296.llvm.7385733070074733004, i64 3), !alias.scope !3181 @@ -13277,15 +13277,15 @@ define noundef range(i8 0, 22) i8 @"_ZN69_$LT$just..keyword..Keyword$u20$as$u20$ "_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit152": ; preds = %2 %bcmp.i151 = tail call i32 @bcmp(ptr noundef nonnull readonly align 1 dereferenceable(7) %0, ptr noundef nonnull dereferenceable(7) @anon.c7970f49f530d4f5fc2450af5a27db93.301.llvm.7385733070074733004, i64 7), !alias.scope !3201 %20 = icmp eq i32 %bcmp.i151, 0 - %spec.select402 = select i1 %20, i8 17, i8 21 + %spec.select408 = select i1 %20, i8 17, i8 21 br label %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit164.thread" "_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit156": ; preds = %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit104" %bcmp.i155 = tail call i32 @bcmp(ptr nonnull readonly align 1 %0, ptr nonnull @anon.c7970f49f530d4f5fc2450af5a27db93.78.llvm.7385733070074733004, i64 %1), !alias.scope !3205 %21 = icmp eq i32 %bcmp.i155, 0 - br i1 %21, label %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit164.thread", label %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit156.thread.thread400" + br i1 %21, label %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit164.thread", label %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit156.thread.thread406" -"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit156.thread.thread400": ; preds = %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit100", %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit128", %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit88", %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit120", %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit124", %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit156" +"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit156.thread.thread406": ; preds = %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit100", %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit128", %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit88", %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit120", %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit124", %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit156" br label %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit164.thread" "_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit160": ; preds = %2 @@ -13298,14 +13298,14 @@ define noundef range(i8 0, 22) i8 @"_ZN69_$LT$just..keyword..Keyword$u20$as$u20$ br label %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit164.thread" "_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit164": ; preds = %2 - %bcmp.i163 = tail call i32 @bcmp(ptr nonnull readonly align 1 %0, ptr nonnull @anon.c7970f49f530d4f5fc2450af5a27db93.303.llvm.7385733070074733004, i64 %1), !alias.scope !3213 + %bcmp.i163 = tail call i32 @bcmp(ptr noundef nonnull readonly align 1 dereferenceable(13) %0, ptr noundef nonnull dereferenceable(13) @anon.c7970f49f530d4f5fc2450af5a27db93.303.llvm.7385733070074733004, i64 13), !alias.scope !3213 %bcmp.i163.fr = freeze i32 %bcmp.i163 %23 = icmp eq i32 %bcmp.i163.fr, 0 %spec.select = select i1 %23, i8 20, i8 21 br label %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit164.thread" -"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit164.thread": ; preds = %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit152", %2, %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit156.thread.thread400", %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit156.thread.thread", %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit160", %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit164", %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit", %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit88", %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit92", %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit96", %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit100", %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit104", %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit108", %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit112", %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit116", %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit120", %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit124", %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit128", %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit132", %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit136", %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit140", %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit144", %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit148", %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit156" - %.0 = phi i8 [ 0, %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit" ], [ 1, %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit88" ], [ 2, %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit92" ], [ 3, %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit96" ], [ 4, %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit100" ], [ 5, %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit104" ], [ 6, %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit108" ], [ 7, %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit112" ], [ 8, %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit116" ], [ 9, %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit120" ], [ 10, %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit124" ], [ 11, %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit128" ], [ 12, %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit132" ], [ 13, %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit136" ], [ 14, %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit140" ], [ 15, %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit144" ], [ 16, %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit148" ], [ 18, %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit156" ], [ 21, %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit156.thread.thread" ], [ %spec.select, %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit164" ], [ %spec.select353, %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit160" ], [ 21, %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit156.thread.thread400" ], [ %spec.select402, %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit152" ], [ 21, %2 ] +"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit164.thread": ; preds = %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit152", %2, %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit156.thread.thread406", %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit156.thread.thread", %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit160", %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit164", %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit", %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit88", %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit92", %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit96", %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit100", %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit104", %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit108", %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit112", %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit116", %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit120", %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit124", %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit128", %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit132", %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit136", %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit140", %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit144", %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit148", %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit156" + %.0 = phi i8 [ 0, %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit" ], [ 1, %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit88" ], [ 2, %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit92" ], [ 3, %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit96" ], [ 4, %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit100" ], [ 5, %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit104" ], [ 6, %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit108" ], [ 7, %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit112" ], [ 8, %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit116" ], [ 9, %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit120" ], [ 10, %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit124" ], [ 11, %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit128" ], [ 12, %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit132" ], [ 13, %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit136" ], [ 14, %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit140" ], [ 15, %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit144" ], [ 16, %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit148" ], [ 18, %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit156" ], [ 21, %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit156.thread.thread" ], [ %spec.select, %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit164" ], [ %spec.select353, %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit160" ], [ 21, %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit156.thread.thread406" ], [ %spec.select408, %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit152" ], [ 21, %2 ] ret i8 %.0 } diff --git a/bench/libevent/optimized/evdns.ll b/bench/libevent/optimized/evdns.ll index a613f0c20c1..a4692fdb73c 100644 --- a/bench/libevent/optimized/evdns.ll +++ b/bench/libevent/optimized/evdns.ll @@ -2595,33 +2595,33 @@ define internal fastcc range(i32 -8, 4) i32 @evdns_nameserver_add_impl_(ptr noun %6 = load ptr, ptr %5, align 8 call void @llvm.lifetime.start.p0(ptr nonnull %4) %.not = icmp eq ptr %6, null - br i1 %.not, label %.loopexit90, label %.preheader + br i1 %.not, label %.loopexit91, label %.preheader .preheader: ; preds = %3, %9 %.072 = phi ptr [ %11, %9 ], [ %6, %3 ] %7 = getelementptr inbounds nuw i8, ptr %.072, i64 16 %8 = tail call i32 @evutil_sockaddr_cmp(ptr noundef nonnull %7, ptr noundef %1, i32 noundef 1) #21 - %.not79 = icmp eq i32 %8, 0 - br i1 %.not79, label %.loopexit, label %9 + %.not80 = icmp eq i32 %8, 0 + br i1 %.not80, label %.loopexit, label %9 9: ; preds = %.preheader %10 = getelementptr inbounds nuw i8, ptr %.072, i64 280 %11 = load ptr, ptr %10, align 8 - %.not80 = icmp eq ptr %11, %6 - br i1 %.not80, label %.loopexit90, label %.preheader, !llvm.loop !19 + %.not81 = icmp eq ptr %11, %6 + br i1 %.not81, label %.loopexit91, label %.preheader, !llvm.loop !19 -.loopexit90: ; preds = %9, %3 +.loopexit91: ; preds = %9, %3 %12 = icmp sgt i32 %2, 128 br i1 %12, label %13, label %14 -13: ; preds = %.loopexit90 +13: ; preds = %.loopexit91 tail call void (i32, ptr, ...) @evdns_log_(i32 noundef 0, ptr noundef nonnull @.str.69, i32 noundef %2) br label %.loopexit -14: ; preds = %.loopexit90 +14: ; preds = %.loopexit91 %15 = tail call ptr @event_mm_malloc_(i64 noundef 448) #21 - %.not81 = icmp eq ptr %15, null - br i1 %.not81, label %.loopexit, label %16 + %.not82 = icmp eq ptr %15, null + br i1 %.not82, label %.loopexit, label %16 16: ; preds = %14 tail call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(448) %15, i8 0, i64 448, i1 false) @@ -2641,44 +2641,44 @@ define internal fastcc range(i32 -8, 4) i32 @evdns_nameserver_add_impl_(ptr noun 26: ; preds = %16 %27 = getelementptr inbounds nuw i8, ptr %0, i64 264 %28 = load i32, ptr %27, align 8 - %.not82 = icmp eq i32 %28, 0 - br i1 %.not82, label %37, label %29 + %.not83 = icmp eq i32 %28, 0 + br i1 %.not83, label %37, label %29 29: ; preds = %26 %30 = tail call i32 @evutil_sockaddr_is_loopback_(ptr noundef nonnull %1) #21 - %.not83 = icmp eq i32 %30, 0 - %.pre91.pre93.pre96 = load i32, ptr %15, align 8 - br i1 %.not83, label %31, label %37 + %.not84 = icmp eq i32 %30, 0 + %.pre92.pre94.pre97 = load i32, ptr %15, align 8 + br i1 %.not84, label %31, label %37 31: ; preds = %29 %32 = getelementptr inbounds nuw i8, ptr %0, i64 136 %33 = load i32, ptr %27, align 8 - %34 = tail call i32 @bind(i32 noundef %.pre91.pre93.pre96, ptr nonnull %32, i32 noundef %33) #21 + %34 = tail call i32 @bind(i32 noundef %.pre92.pre94.pre97, ptr nonnull %32, i32 noundef %33) #21 %35 = icmp slt i32 %34, 0 - br i1 %35, label %36, label %._crit_edge95 + br i1 %35, label %36, label %._crit_edge96 -._crit_edge95: ; preds = %31 - %.pre91.pre93.pre = load i32, ptr %15, align 8 +._crit_edge96: ; preds = %31 + %.pre92.pre94.pre = load i32, ptr %15, align 8 br label %37 36: ; preds = %31 tail call void (i32, ptr, ...) @evdns_log_(i32 noundef 2, ptr noundef nonnull @.str.52) br label %86 -37: ; preds = %._crit_edge95, %29, %26 - %.pre91.pre93 = phi i32 [ %.pre91.pre93.pre, %._crit_edge95 ], [ %.pre91.pre93.pre96, %29 ], [ %24, %26 ] +37: ; preds = %._crit_edge96, %29, %26 + %.pre92.pre94 = phi i32 [ %.pre92.pre94.pre, %._crit_edge96 ], [ %.pre92.pre94.pre97, %29 ], [ %24, %26 ] %38 = getelementptr inbounds nuw i8, ptr %0, i64 288 %39 = load i32, ptr %38, align 8 - %.not84 = icmp eq i32 %39, 0 - br i1 %.not84, label %44, label %40 + %.not85 = icmp eq i32 %39, 0 + br i1 %.not85, label %44, label %40 40: ; preds = %37 - %41 = tail call i32 @setsockopt(i32 noundef %.pre91.pre93, i32 noundef 1, i32 noundef 8, ptr noundef nonnull %38, i32 noundef 4) #21 - %.not85 = icmp eq i32 %41, 0 - br i1 %.not85, label %._crit_edge92, label %42 + %41 = tail call i32 @setsockopt(i32 noundef %.pre92.pre94, i32 noundef 1, i32 noundef 8, ptr noundef nonnull %38, i32 noundef 4) #21 + %.not86 = icmp eq i32 %41, 0 + br i1 %.not86, label %._crit_edge93, label %42 -._crit_edge92: ; preds = %40 - %.pre91.pre = load i32, ptr %15, align 8 +._crit_edge93: ; preds = %40 + %.pre92.pre = load i32, ptr %15, align 8 br label %44 42: ; preds = %40 @@ -2686,17 +2686,17 @@ define internal fastcc range(i32 -8, 4) i32 @evdns_nameserver_add_impl_(ptr noun tail call void (i32, ptr, ...) @evdns_log_(i32 noundef 2, ptr noundef nonnull @.str.70, i32 noundef %43) br label %86 -44: ; preds = %._crit_edge92, %37 - %.pre91 = phi i32 [ %.pre91.pre, %._crit_edge92 ], [ %.pre91.pre93, %37 ] +44: ; preds = %._crit_edge93, %37 + %.pre92 = phi i32 [ %.pre92.pre, %._crit_edge93 ], [ %.pre92.pre94, %37 ] %45 = getelementptr inbounds nuw i8, ptr %0, i64 292 %46 = load i32, ptr %45, align 4 - %.not86 = icmp eq i32 %46, 0 - br i1 %.not86, label %51, label %47 + %.not87 = icmp eq i32 %46, 0 + br i1 %.not87, label %51, label %47 47: ; preds = %44 - %48 = tail call i32 @setsockopt(i32 noundef %.pre91, i32 noundef 1, i32 noundef 7, ptr noundef nonnull %45, i32 noundef 4) #21 - %.not87 = icmp eq i32 %48, 0 - br i1 %.not87, label %._crit_edge, label %49 + %48 = tail call i32 @setsockopt(i32 noundef %.pre92, i32 noundef 1, i32 noundef 7, ptr noundef nonnull %45, i32 noundef 4) #21 + %.not88 = icmp eq i32 %48, 0 + br i1 %.not88, label %._crit_edge, label %49 ._crit_edge: ; preds = %47 %.pre = load i32, ptr %15, align 8 @@ -2708,7 +2708,7 @@ define internal fastcc range(i32 -8, 4) i32 @evdns_nameserver_add_impl_(ptr noun br label %86 51: ; preds = %._crit_edge, %44 - %52 = phi i32 [ %.pre, %._crit_edge ], [ %.pre91, %44 ] + %52 = phi i32 [ %.pre, %._crit_edge ], [ %.pre92, %44 ] %53 = getelementptr inbounds nuw i8, ptr %15, i64 16 %54 = sext i32 %2 to i64 tail call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 8 %53, ptr nonnull align 2 %1, i64 %54, i1 false) @@ -2725,8 +2725,8 @@ define internal fastcc range(i32 -8, 4) i32 @evdns_nameserver_add_impl_(ptr noun %62 = tail call i32 @event_assign(ptr noundef nonnull %58, ptr noundef %61, i32 noundef %52, i16 noundef signext 18, ptr noundef nonnull @nameserver_ready_callback, ptr noundef nonnull %15) #21 %63 = getelementptr inbounds nuw i8, ptr %0, i64 352 %64 = load i32, ptr %63, align 8 - %.not88 = icmp eq i32 %64, 0 - br i1 %.not88, label %65, label %68 + %.not89 = icmp eq i32 %64, 0 + br i1 %.not89, label %65, label %68 65: ; preds = %51 %66 = tail call i32 @event_add(ptr noundef nonnull %58, ptr noundef null) #21 @@ -2737,9 +2737,9 @@ define internal fastcc range(i32 -8, 4) i32 @evdns_nameserver_add_impl_(ptr noun %69 = call ptr @evutil_format_sockaddr_port_(ptr noundef nonnull %1, ptr noundef nonnull %4, i64 noundef 128) #21 call void (i32, ptr, ...) @evdns_log_(i32 noundef 0, ptr noundef nonnull @.str.72, ptr noundef %69, ptr noundef nonnull %15) %70 = load ptr, ptr %5, align 8 - %.not89 = icmp eq ptr %70, null + %.not90 = icmp eq ptr %70, null %71 = getelementptr inbounds nuw i8, ptr %15, i64 280 - br i1 %.not89, label %72, label %74 + br i1 %.not90, label %72, label %74 72: ; preds = %68 %73 = getelementptr inbounds nuw i8, ptr %15, i64 288 diff --git a/bench/libjpeg-turbo/optimized/transupp.ll b/bench/libjpeg-turbo/optimized/transupp.ll index d8627feb472..280a18d655c 100644 --- a/bench/libjpeg-turbo/optimized/transupp.ll +++ b/bench/libjpeg-turbo/optimized/transupp.ll @@ -5489,9 +5489,9 @@ define internal fastcc void @do_crop_ext_flat(ptr noundef %0, ptr noundef readon %14 = getelementptr inbounds nuw i8, ptr %1, i64 76 %15 = load i32, ptr %14, align 4, !tbaa !103 %16 = icmp sgt i32 %15, 0 - br i1 %16, label %.lr.ph121, label %._crit_edge122 + br i1 %16, label %.lr.ph123, label %._crit_edge124 -.lr.ph121: ; preds = %6 +.lr.ph123: ; preds = %6 %17 = load i32, ptr %13, align 4, !tbaa !52 %18 = getelementptr inbounds nuw i8, ptr %1, i64 316 %19 = load i32, ptr %18, align 4, !tbaa !139 @@ -5503,11 +5503,11 @@ define internal fastcc void @do_crop_ext_flat(ptr noundef %0, ptr noundef readon %25 = add i32 %21, %3 br label %26 -26: ; preds = %.lr.ph121, %._crit_edge - %27 = phi i32 [ %15, %.lr.ph121 ], [ %132, %._crit_edge ] - %indvars.iv135 = phi i64 [ 0, %.lr.ph121 ], [ %indvars.iv.next136, %._crit_edge ] +26: ; preds = %.lr.ph123, %._crit_edge + %27 = phi i32 [ %15, %.lr.ph123 ], [ %132, %._crit_edge ] + %indvars.iv137 = phi i64 [ 0, %.lr.ph123 ], [ %indvars.iv.next138, %._crit_edge ] %28 = load ptr, ptr %22, align 8, !tbaa !104 - %29 = getelementptr inbounds nuw %struct.jpeg_component_info, ptr %28, i64 %indvars.iv135 + %29 = getelementptr inbounds nuw %struct.jpeg_component_info, ptr %28, i64 %indvars.iv137 %30 = getelementptr inbounds nuw i8, ptr %29, i64 8 %31 = load i32, ptr %30, align 8, !tbaa !75 %32 = mul i32 %31, %12 @@ -5516,15 +5516,15 @@ define internal fastcc void @do_crop_ext_flat(ptr noundef %0, ptr noundef readon %35 = mul i32 %34, %3 %36 = getelementptr inbounds nuw i8, ptr %29, i64 32 %37 = load i32, ptr %36, align 8, !tbaa !117 - %.not123 = icmp eq i32 %37, 0 - br i1 %.not123, label %._crit_edge, label %.lr.ph118 + %.not125 = icmp eq i32 %37, 0 + br i1 %.not125, label %._crit_edge, label %.lr.ph120 -.lr.ph118: ; preds = %26 +.lr.ph120: ; preds = %26 %38 = mul i32 %31, %2 - %39 = getelementptr inbounds nuw ptr, ptr %5, i64 %indvars.iv135 - %40 = getelementptr inbounds nuw ptr, ptr %4, i64 %indvars.iv135 + %39 = getelementptr inbounds nuw ptr, ptr %5, i64 %indvars.iv137 + %40 = getelementptr inbounds nuw ptr, ptr %4, i64 %indvars.iv137 %41 = mul i32 %34, %25 - %.not106 = icmp eq i32 %38, 0 + %.not108 = icmp eq i32 %38, 0 %42 = zext i32 %38 to i64 %43 = shl nuw nsw i64 %42, 7 %44 = getelementptr inbounds nuw i8, ptr %29, i64 28 @@ -5535,32 +5535,32 @@ define internal fastcc void @do_crop_ext_flat(ptr noundef %0, ptr noundef readon %49 = zext i32 %45 to i64 br label %50 -50: ; preds = %.lr.ph118, %.loopexit108 - %51 = phi i32 [ %34, %.lr.ph118 ], [ %128, %.loopexit108 ] - %.097116 = phi i32 [ 0, %.lr.ph118 ], [ %129, %.loopexit108 ] +50: ; preds = %.lr.ph120, %.loopexit110 + %51 = phi i32 [ %34, %.lr.ph120 ], [ %128, %.loopexit110 ] + %.097118 = phi i32 [ 0, %.lr.ph120 ], [ %129, %.loopexit110 ] %52 = load ptr, ptr %23, align 8, !tbaa !83 %53 = getelementptr inbounds nuw i8, ptr %52, i64 64 %54 = load ptr, ptr %53, align 8, !tbaa !118 %55 = load ptr, ptr %39, align 8, !tbaa !87 - %56 = tail call ptr %54(ptr noundef %0, ptr noundef %55, i32 noundef %.097116, i32 noundef %51, i32 noundef 1) #8 + %56 = tail call ptr %54(ptr noundef %0, ptr noundef %55, i32 noundef %.097118, i32 noundef %51, i32 noundef 1) #8 %57 = load i32, ptr %24, align 4, !tbaa !108 %58 = load i32, ptr %13, align 4, !tbaa !52 %59 = icmp ugt i32 %57, %58 br i1 %59, label %60, label %81 60: ; preds = %50 - %61 = icmp uge i32 %.097116, %35 - %.not = icmp ult i32 %.097116, %41 + %61 = icmp uge i32 %.097118, %35 + %.not = icmp ult i32 %.097118, %41 %or.cond = select i1 %61, i1 %.not, i1 false br i1 %or.cond, label %73, label %62 62: ; preds = %60 %63 = load i32, ptr %33, align 4, !tbaa !77 %64 = icmp sgt i32 %63, 0 - br i1 %64, label %.lr.ph115, label %.loopexit108 + br i1 %64, label %.lr.ph117, label %.loopexit110 -.lr.ph115: ; preds = %62, %.lr.ph115 - %indvars.iv = phi i64 [ %indvars.iv.next, %.lr.ph115 ], [ 0, %62 ] +.lr.ph117: ; preds = %62, %.lr.ph117 + %indvars.iv = phi i64 [ %indvars.iv.next, %.lr.ph117 ], [ 0, %62 ] %65 = getelementptr inbounds nuw ptr, ptr %56, i64 %indvars.iv %66 = load ptr, ptr %65, align 8, !tbaa !16 %67 = load i32, ptr %44, align 4, !tbaa !119 @@ -5571,14 +5571,14 @@ define internal fastcc void @do_crop_ext_flat(ptr noundef %0, ptr noundef readon %70 = load i32, ptr %33, align 4, !tbaa !77 %71 = sext i32 %70 to i64 %72 = icmp slt i64 %indvars.iv.next, %71 - br i1 %72, label %.lr.ph115, label %.loopexit108, !llvm.loop !230 + br i1 %72, label %.lr.ph117, label %.loopexit110, !llvm.loop !230 73: ; preds = %60 %74 = load ptr, ptr %23, align 8, !tbaa !83 %75 = getelementptr inbounds nuw i8, ptr %74, i64 64 %76 = load ptr, ptr %75, align 8, !tbaa !118 %77 = load ptr, ptr %40, align 8, !tbaa !87 - %78 = sub nuw i32 %.097116, %35 + %78 = sub nuw i32 %.097118, %35 %79 = load i32, ptr %33, align 4, !tbaa !77 %80 = tail call ptr %76(ptr noundef nonnull %0, ptr noundef %77, i32 noundef %78, i32 noundef %79, i32 noundef 0) #8 br label %89 @@ -5588,7 +5588,7 @@ define internal fastcc void @do_crop_ext_flat(ptr noundef %0, ptr noundef readon %83 = getelementptr inbounds nuw i8, ptr %82, i64 64 %84 = load ptr, ptr %83, align 8, !tbaa !118 %85 = load ptr, ptr %40, align 8, !tbaa !87 - %86 = add i32 %.097116, %35 + %86 = add i32 %.097118, %35 %87 = load i32, ptr %33, align 4, !tbaa !77 %88 = tail call ptr %84(ptr noundef nonnull %0, ptr noundef %85, i32 noundef %86, i32 noundef %87, i32 noundef 0) #8 br label %89 @@ -5597,49 +5597,49 @@ define internal fastcc void @do_crop_ext_flat(ptr noundef %0, ptr noundef readon %.098 = phi ptr [ %80, %73 ], [ %88, %81 ] %90 = load i32, ptr %33, align 4, !tbaa !77 %91 = icmp sgt i32 %90, 0 - br i1 %91, label %.lr.ph113, label %.loopexit108 + br i1 %91, label %.lr.ph115, label %.loopexit110 -.lr.ph113: ; preds = %89, %.loopexit - %indvars.iv132 = phi i64 [ %indvars.iv.next133, %.loopexit ], [ 0, %89 ] - br i1 %.not106, label %.lr.ph113..loopexit107_crit_edge, label %92 +.lr.ph115: ; preds = %89, %.loopexit + %indvars.iv134 = phi i64 [ %indvars.iv.next135, %.loopexit ], [ 0, %89 ] + br i1 %.not108, label %.lr.ph115..loopexit109_crit_edge, label %92 -.lr.ph113..loopexit107_crit_edge: ; preds = %.lr.ph113 - %.phi.trans.insert = getelementptr inbounds nuw ptr, ptr %.098, i64 %indvars.iv132 +.lr.ph115..loopexit109_crit_edge: ; preds = %.lr.ph115 + %.phi.trans.insert = getelementptr inbounds nuw ptr, ptr %.098, i64 %indvars.iv134 %.pre = load ptr, ptr %.phi.trans.insert, align 8, !tbaa !16 - %.phi.trans.insert138 = getelementptr inbounds nuw ptr, ptr %56, i64 %indvars.iv132 - %.pre139 = load ptr, ptr %.phi.trans.insert138, align 8, !tbaa !16 - br label %.loopexit107 + %.phi.trans.insert140 = getelementptr inbounds nuw ptr, ptr %56, i64 %indvars.iv134 + %.pre141 = load ptr, ptr %.phi.trans.insert140, align 8, !tbaa !16 + br label %.loopexit109 -92: ; preds = %.lr.ph113 - %93 = getelementptr inbounds nuw ptr, ptr %56, i64 %indvars.iv132 +92: ; preds = %.lr.ph115 + %93 = getelementptr inbounds nuw ptr, ptr %56, i64 %indvars.iv134 %94 = load ptr, ptr %93, align 8, !tbaa !16 tail call void @llvm.memset.p0.i64(ptr align 2 %94, i8 0, i64 %43, i1 false) - %95 = getelementptr inbounds nuw ptr, ptr %.098, i64 %indvars.iv132 + %95 = getelementptr inbounds nuw ptr, ptr %.098, i64 %indvars.iv134 %96 = load ptr, ptr %95, align 8, !tbaa !16 %97 = load i16, ptr %96, align 2, !tbaa !19 %98 = load ptr, ptr %93, align 8, !tbaa !16 br label %99 99: ; preds = %92, %99 - %indvars.iv126 = phi i64 [ 0, %92 ], [ %indvars.iv.next127, %99 ] - %100 = getelementptr inbounds nuw [64 x i16], ptr %98, i64 %indvars.iv126 + %indvars.iv128 = phi i64 [ 0, %92 ], [ %indvars.iv.next129, %99 ] + %100 = getelementptr inbounds nuw [64 x i16], ptr %98, i64 %indvars.iv128 store i16 %97, ptr %100, align 2, !tbaa !19 - %indvars.iv.next127 = add nuw nsw i64 %indvars.iv126, 1 - %exitcond.not = icmp eq i64 %indvars.iv.next127, %42 - br i1 %exitcond.not, label %.loopexit107, label %99, !llvm.loop !231 - -.loopexit107: ; preds = %99, %.lr.ph113..loopexit107_crit_edge - %101 = phi ptr [ %.pre139, %.lr.ph113..loopexit107_crit_edge ], [ %98, %99 ] - %102 = phi ptr [ %.pre, %.lr.ph113..loopexit107_crit_edge ], [ %96, %99 ] - %103 = getelementptr inbounds nuw ptr, ptr %56, i64 %indvars.iv132 + %indvars.iv.next129 = add nuw nsw i64 %indvars.iv128, 1 + %exitcond.not = icmp eq i64 %indvars.iv.next129, %42 + br i1 %exitcond.not, label %.loopexit109, label %99, !llvm.loop !231 + +.loopexit109: ; preds = %99, %.lr.ph115..loopexit109_crit_edge + %101 = phi ptr [ %.pre141, %.lr.ph115..loopexit109_crit_edge ], [ %98, %99 ] + %102 = phi ptr [ %.pre, %.lr.ph115..loopexit109_crit_edge ], [ %96, %99 ] + %103 = getelementptr inbounds nuw ptr, ptr %56, i64 %indvars.iv134 %104 = getelementptr inbounds nuw [64 x i16], ptr %101, i64 %42 tail call void @jcopy_block_row(ptr noundef %102, ptr noundef %104, i32 noundef %32) #8 %105 = load i32, ptr %44, align 4, !tbaa !119 %106 = icmp ugt i32 %105, %45 br i1 %106, label %107, label %.loopexit -107: ; preds = %.loopexit107 - %108 = getelementptr inbounds nuw ptr, ptr %.098, i64 %indvars.iv132 +107: ; preds = %.loopexit109 + %108 = getelementptr inbounds nuw ptr, ptr %.098, i64 %indvars.iv134 %109 = load ptr, ptr %103, align 8, !tbaa !16 %110 = getelementptr inbounds nuw [64 x i16], ptr %109, i64 %42 %111 = getelementptr inbounds nuw [64 x i16], ptr %110, i64 %46 @@ -5660,39 +5660,39 @@ define internal fastcc void @do_crop_ext_flat(ptr noundef %0, ptr noundef readon br label %122 122: ; preds = %.lr.ph, %122 - %indvars.iv129 = phi i64 [ %49, %.lr.ph ], [ %indvars.iv.next130, %122 ] - %123 = getelementptr inbounds nuw [64 x i16], ptr %120, i64 %indvars.iv129 + %indvars.iv131 = phi i64 [ %49, %.lr.ph ], [ %indvars.iv.next132, %122 ] + %123 = getelementptr inbounds nuw [64 x i16], ptr %120, i64 %indvars.iv131 store i16 %117, ptr %123, align 2, !tbaa !19 - %indvars.iv.next130 = add nuw nsw i64 %indvars.iv129, 1 - %124 = icmp samesign ult i64 %indvars.iv.next130, %121 + %indvars.iv.next132 = add nuw nsw i64 %indvars.iv131, 1 + %124 = icmp samesign ult i64 %indvars.iv.next132, %121 br i1 %124, label %122, label %.loopexit, !llvm.loop !232 -.loopexit: ; preds = %122, %107, %.loopexit107 - %indvars.iv.next133 = add nuw nsw i64 %indvars.iv132, 1 +.loopexit: ; preds = %122, %107, %.loopexit109 + %indvars.iv.next135 = add nuw nsw i64 %indvars.iv134, 1 %125 = load i32, ptr %33, align 4, !tbaa !77 %126 = sext i32 %125 to i64 - %127 = icmp slt i64 %indvars.iv.next133, %126 - br i1 %127, label %.lr.ph113, label %.loopexit108, !llvm.loop !233 + %127 = icmp slt i64 %indvars.iv.next135, %126 + br i1 %127, label %.lr.ph115, label %.loopexit110, !llvm.loop !233 -.loopexit108: ; preds = %.lr.ph115, %.loopexit, %89, %62 - %128 = phi i32 [ %90, %89 ], [ %63, %62 ], [ %125, %.loopexit ], [ %70, %.lr.ph115 ] - %129 = add i32 %128, %.097116 +.loopexit110: ; preds = %.lr.ph117, %.loopexit, %89, %62 + %128 = phi i32 [ %90, %89 ], [ %63, %62 ], [ %125, %.loopexit ], [ %70, %.lr.ph117 ] + %129 = add i32 %128, %.097118 %130 = load i32, ptr %36, align 8, !tbaa !117 %131 = icmp ult i32 %129, %130 br i1 %131, label %50, label %._crit_edge.loopexit, !llvm.loop !234 -._crit_edge.loopexit: ; preds = %.loopexit108 - %.pre140 = load i32, ptr %14, align 4, !tbaa !103 +._crit_edge.loopexit: ; preds = %.loopexit110 + %.pre142 = load i32, ptr %14, align 4, !tbaa !103 br label %._crit_edge ._crit_edge: ; preds = %._crit_edge.loopexit, %26 - %132 = phi i32 [ %.pre140, %._crit_edge.loopexit ], [ %27, %26 ] - %indvars.iv.next136 = add nuw nsw i64 %indvars.iv135, 1 + %132 = phi i32 [ %.pre142, %._crit_edge.loopexit ], [ %27, %26 ] + %indvars.iv.next138 = add nuw nsw i64 %indvars.iv137, 1 %133 = sext i32 %132 to i64 - %134 = icmp slt i64 %indvars.iv.next136, %133 - br i1 %134, label %26, label %._crit_edge122, !llvm.loop !235 + %134 = icmp slt i64 %indvars.iv.next138, %133 + br i1 %134, label %26, label %._crit_edge124, !llvm.loop !235 -._crit_edge122: ; preds = %._crit_edge, %6 +._crit_edge124: ; preds = %._crit_edge, %6 ret void } diff --git a/bench/libphonenumber/optimized/stringutil_test.ll b/bench/libphonenumber/optimized/stringutil_test.ll index 71aba2c9d60..f2839aeeed4 100644 --- a/bench/libphonenumber/optimized/stringutil_test.ll +++ b/bench/libphonenumber/optimized/stringutil_test.ll @@ -21365,14 +21365,14 @@ _ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c.exit: ; preds = %14, %16 %19 = getelementptr inbounds nuw i8, ptr %0, i64 8 %20 = load i64, ptr %19, align 8, !tbaa !226 %21 = getelementptr inbounds nuw i8, ptr %18, i64 %20 - %.not42 = icmp samesign eq i64 %20, 0 - br i1 %.not42, label %._crit_edge.thread, label %.lr.ph + %.not44 = icmp samesign eq i64 %20, 0 + br i1 %.not44, label %._crit_edge.thread, label %.lr.ph .lr.ph: ; preds = %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c.exit, %46 - %.044 = phi i64 [ %48, %46 ], [ 0, %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c.exit ] - %.02043 = phi ptr [ %49, %46 ], [ %18, %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c.exit ] - %.not21 = icmp eq i64 %.044, 0 - br i1 %.not21, label %34, label %22 + %.046 = phi i64 [ %48, %46 ], [ 0, %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c.exit ] + %.02045 = phi ptr [ %49, %46 ], [ %18, %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c.exit ] + %.not23 = icmp eq i64 %.046, 0 + br i1 %.not23, label %34, label %22 22: ; preds = %.lr.ph call void @llvm.lifetime.start.p0(ptr nonnull %6) @@ -21383,23 +21383,23 @@ _ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c.exit: ; preds = %14, %16 %26 = getelementptr inbounds i8, ptr %1, i64 %25 %27 = getelementptr inbounds nuw i8, ptr %26, i64 16 %28 = load i64, ptr %27, align 8, !tbaa !470 - %.not.i23 = icmp eq i64 %28, 0 - br i1 %.not.i23, label %31, label %29 + %.not.i25 = icmp eq i64 %28, 0 + br i1 %.not.i25, label %31, label %29 29: ; preds = %22 %30 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l(ptr noundef nonnull align 8 dereferenceable(8) %1, ptr noundef nonnull %6, i64 noundef 1) - br label %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c.exit25 + br label %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c.exit27 31: ; preds = %22 %32 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSo3putEc(ptr noundef nonnull align 8 dereferenceable(8) %1, i8 noundef signext 44) - br label %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c.exit25 + br label %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c.exit27 -_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c.exit25: ; preds = %29, %31 +_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c.exit27: ; preds = %29, %31 call void @llvm.lifetime.end.p0(ptr nonnull %6) - %33 = icmp eq i64 %.044, 32 - br i1 %33, label %.thread38, label %34 + %33 = icmp eq i64 %.046, 32 + br i1 %33, label %.thread40, label %34 -34: ; preds = %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c.exit25, %.lr.ph +34: ; preds = %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c.exit27, %.lr.ph call void @llvm.lifetime.start.p0(ptr nonnull %5) store i8 32, ptr %5, align 1, !tbaa !25 %35 = load ptr, ptr %1, align 8, !tbaa !4 @@ -21408,8 +21408,8 @@ _ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c.exit25: ; preds = %29, %31 %38 = getelementptr inbounds i8, ptr %1, i64 %37 %39 = getelementptr inbounds nuw i8, ptr %38, i64 16 %40 = load i64, ptr %39, align 8, !tbaa !470 - %.not.i26 = icmp eq i64 %40, 0 - br i1 %.not.i26, label %43, label %41 + %.not.i28 = icmp eq i64 %40, 0 + br i1 %.not.i28, label %43, label %41 41: ; preds = %34 %42 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l(ptr noundef nonnull align 8 dereferenceable(8) %1, ptr noundef nonnull %5, i64 noundef 1) @@ -21419,20 +21419,20 @@ _ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c.exit25: ; preds = %29, %31 %44 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSo3putEc(ptr noundef nonnull align 8 dereferenceable(8) %1, i8 noundef signext 32) br label %46 -.thread38: ; preds = %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c.exit25 +.thread40: ; preds = %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c.exit27 %45 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l(ptr noundef nonnull align 8 dereferenceable(8) %1, ptr noundef nonnull @.str.173, i64 noundef 4) br label %._crit_edge 46: ; preds = %43, %41 call void @llvm.lifetime.end.p0(ptr nonnull %5) - %47 = load i8, ptr %.02043, align 1, !tbaa !25 + %47 = load i8, ptr %.02045, align 1, !tbaa !25 call void @_ZN7testing8internal7PrintToEhPSo(i8 noundef zeroext %47, ptr noundef nonnull %1) - %48 = add nuw i64 %.044, 1 - %49 = getelementptr inbounds nuw i8, ptr %.02043, i64 1 + %48 = add nuw i64 %.046, 1 + %49 = getelementptr inbounds nuw i8, ptr %.02045, i64 1 %.not = icmp eq ptr %49, %21 br i1 %.not, label %._crit_edge, label %.lr.ph -._crit_edge: ; preds = %46, %.thread38 +._crit_edge: ; preds = %46, %.thread40 call void @llvm.lifetime.start.p0(ptr nonnull %4) store i8 32, ptr %4, align 1, !tbaa !25 %50 = load ptr, ptr %1, align 8, !tbaa !4 @@ -21441,22 +21441,22 @@ _ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c.exit25: ; preds = %29, %31 %53 = getelementptr inbounds i8, ptr %1, i64 %52 %54 = getelementptr inbounds nuw i8, ptr %53, i64 16 %55 = load i64, ptr %54, align 8, !tbaa !470 - %.not.i29 = icmp eq i64 %55, 0 - br i1 %.not.i29, label %58, label %56 + %.not.i31 = icmp eq i64 %55, 0 + br i1 %.not.i31, label %58, label %56 56: ; preds = %._crit_edge %57 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l(ptr noundef nonnull align 8 dereferenceable(8) %1, ptr noundef nonnull %4, i64 noundef 1) - br label %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c.exit31 + br label %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c.exit33 58: ; preds = %._crit_edge %59 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSo3putEc(ptr noundef nonnull align 8 dereferenceable(8) %1, i8 noundef signext 32) - br label %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c.exit31 + br label %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c.exit33 -_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c.exit31: ; preds = %56, %58 +_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c.exit33: ; preds = %56, %58 call void @llvm.lifetime.end.p0(ptr nonnull %4) br label %._crit_edge.thread -._crit_edge.thread: ; preds = %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c.exit, %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c.exit31 +._crit_edge.thread: ; preds = %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c.exit, %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c.exit33 call void @llvm.lifetime.start.p0(ptr nonnull %3) store i8 125, ptr %3, align 1, !tbaa !25 %60 = load ptr, ptr %1, align 8, !tbaa !4 @@ -21465,18 +21465,18 @@ _ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c.exit31: ; preds = %56, %58 %63 = getelementptr inbounds i8, ptr %1, i64 %62 %64 = getelementptr inbounds nuw i8, ptr %63, i64 16 %65 = load i64, ptr %64, align 8, !tbaa !470 - %.not.i32 = icmp eq i64 %65, 0 - br i1 %.not.i32, label %68, label %66 + %.not.i34 = icmp eq i64 %65, 0 + br i1 %.not.i34, label %68, label %66 66: ; preds = %._crit_edge.thread %67 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l(ptr noundef nonnull align 8 dereferenceable(8) %1, ptr noundef nonnull %3, i64 noundef 1) - br label %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c.exit34 + br label %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c.exit36 68: ; preds = %._crit_edge.thread %69 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSo3putEc(ptr noundef nonnull align 8 dereferenceable(8) %1, i8 noundef signext 125) - br label %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c.exit34 + br label %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c.exit36 -_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c.exit34: ; preds = %66, %68 +_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c.exit36: ; preds = %66, %68 call void @llvm.lifetime.end.p0(ptr nonnull %3) ret void } diff --git a/bench/libpng/optimized/pngset.ll b/bench/libpng/optimized/pngset.ll index 91de6679b41..dfef67e077a 100644 --- a/bench/libpng/optimized/pngset.ll +++ b/bench/libpng/optimized/pngset.ll @@ -2238,8 +2238,8 @@ define void @png_set_keep_unknown_chunks(ptr noalias noundef %0, i32 noundef %1, %26 = mul nuw i32 %21, 5 %27 = zext i32 %26 to i64 %28 = tail call noalias ptr @png_malloc(ptr noundef nonnull %0, i64 noundef %27) #12 - %.not80 = icmp eq i32 %spec.store.select, 0 - br i1 %.not80, label %34, label %29 + %.not81 = icmp eq i32 %spec.store.select, 0 + br i1 %.not81, label %34, label %29 29: ; preds = %25 %30 = load ptr, ptr %18, align 8, !tbaa !198 @@ -2249,25 +2249,25 @@ define void @png_set_keep_unknown_chunks(ptr noalias noundef %0, i32 noundef %1, br label %34 33: ; preds = %24 - %.not79 = icmp eq i32 %spec.store.select, 0 - br i1 %.not79, label %thread-pre-split, label %.lr.ph.i.preheader.us.preheader + %.not80 = icmp eq i32 %spec.store.select, 0 + br i1 %.not80, label %thread-pre-split, label %.lr.ph.i.preheader.us.preheader 34: ; preds = %25, %29 - %.not81 = icmp eq ptr %28, null - br i1 %.not81, label %thread-pre-split, label %.preheader90 + %.not82 = icmp eq ptr %28, null + br i1 %.not82, label %thread-pre-split, label %.preheader91 -.preheader90: ; preds = %34 +.preheader91: ; preds = %34 %35 = trunc nuw nsw i32 %1 to i8 %wide.trip.count = zext nneg i32 %.066 to i64 - br label %.preheader90.split + br label %.preheader91.split .lr.ph.i.preheader.us.preheader: ; preds = %33 - %wide.trip.count110 = zext nneg i32 %.066 to i64 + %wide.trip.count111 = zext nneg i32 %.066 to i64 br label %.lr.ph.i.preheader.us .lr.ph.i.preheader.us: ; preds = %.lr.ph.i.preheader.us.preheader, %add_one_chunk.exit.us - %indvars.iv106 = phi i64 [ 0, %.lr.ph.i.preheader.us.preheader ], [ %indvars.iv.next107, %add_one_chunk.exit.us ] - %36 = mul i64 %indvars.iv106, 5 + %indvars.iv107 = phi i64 [ 0, %.lr.ph.i.preheader.us.preheader ], [ %indvars.iv.next108, %add_one_chunk.exit.us ] + %36 = mul i64 %indvars.iv107, 5 %37 = and i64 %36, 4294967295 %38 = getelementptr inbounds nuw i8, ptr %.071, i64 %37 br label %.lr.ph.i.us @@ -2286,9 +2286,9 @@ define void @png_set_keep_unknown_chunks(ptr noalias noundef %0, i32 noundef %1, br i1 %exitcond.not.i.us, label %add_one_chunk.exit.us, label %.lr.ph.i.us, !llvm.loop !199 add_one_chunk.exit.us: ; preds = %40, %.sink.split.i.loopexit.us - %indvars.iv.next107 = add nuw nsw i64 %indvars.iv106, 1 - %exitcond111.not = icmp eq i64 %indvars.iv.next107, %wide.trip.count110 - br i1 %exitcond111.not, label %.preheader, label %.lr.ph.i.preheader.us, !llvm.loop !200 + %indvars.iv.next108 = add nuw nsw i64 %indvars.iv107, 1 + %exitcond112.not = icmp eq i64 %indvars.iv.next108, %wide.trip.count111 + br i1 %exitcond112.not, label %.preheader, label %.lr.ph.i.preheader.us, !llvm.loop !200 .sink.split.i.loopexit.us: ; preds = %.lr.ph.i.us %43 = getelementptr inbounds nuw i8, ptr %.01722.i.us, i64 4 @@ -2296,23 +2296,23 @@ add_one_chunk.exit.us: ; preds = %40, %.sink.split.i. br label %add_one_chunk.exit.us .preheader: ; preds = %.sink.split.i, %add_one_chunk.exit.us - %.068125127 = phi ptr [ %19, %add_one_chunk.exit.us ], [ %28, %.sink.split.i ] + %.068126128 = phi ptr [ %19, %add_one_chunk.exit.us ], [ %28, %.sink.split.i ] %.us-phi = phi i32 [ %spec.store.select, %add_one_chunk.exit.us ], [ %.016.ph.i, %.sink.split.i ] - %.not100 = icmp eq i32 %.us-phi, 0 - br i1 %.not100, label %._crit_edge.thread, label %.lr.ph + %.not101 = icmp eq i32 %.us-phi, 0 + br i1 %.not101, label %._crit_edge.thread, label %.lr.ph -.preheader90.split: ; preds = %.preheader90, %.sink.split.i - %indvars.iv = phi i64 [ 0, %.preheader90 ], [ %indvars.iv.next, %.sink.split.i ] - %.06592 = phi i32 [ %spec.store.select, %.preheader90 ], [ %.016.ph.i, %.sink.split.i ] +.preheader91.split: ; preds = %.preheader91, %.sink.split.i + %indvars.iv = phi i64 [ 0, %.preheader91 ], [ %indvars.iv.next, %.sink.split.i ] + %.06593 = phi i32 [ %spec.store.select, %.preheader91 ], [ %.016.ph.i, %.sink.split.i ] %44 = mul i64 %indvars.iv, 5 %45 = and i64 %44, 4294967295 %46 = getelementptr inbounds nuw i8, ptr %.071, i64 %45 - %.not24.i = icmp eq i32 %.06592, 0 + %.not24.i = icmp eq i32 %.06593, 0 br i1 %.not24.i, label %._crit_edge.i, label %.lr.ph.i -.lr.ph.i: ; preds = %.preheader90.split, %48 - %.023.i = phi i32 [ %49, %48 ], [ 0, %.preheader90.split ] - %.01722.i = phi ptr [ %50, %48 ], [ %28, %.preheader90.split ] +.lr.ph.i: ; preds = %.preheader91.split, %48 + %.023.i = phi i32 [ %49, %48 ], [ 0, %.preheader91.split ] + %.01722.i = phi ptr [ %50, %48 ], [ %28, %.preheader91.split ] %bcmp.i = tail call i32 @bcmp(ptr noundef nonnull dereferenceable(4) %.01722.i, ptr noundef nonnull readonly dereferenceable(4) %46, i64 4) %47 = icmp eq i32 %bcmp.i, 0 br i1 %47, label %.sink.split.i, label %48 @@ -2320,55 +2320,55 @@ add_one_chunk.exit.us: ; preds = %40, %.sink.split.i. 48: ; preds = %.lr.ph.i %49 = add nuw i32 %.023.i, 1 %50 = getelementptr inbounds nuw i8, ptr %.01722.i, i64 5 - %exitcond.not.i = icmp eq i32 %49, %.06592 + %exitcond.not.i = icmp eq i32 %49, %.06593 br i1 %exitcond.not.i, label %._crit_edge.i, label %.lr.ph.i, !llvm.loop !199 -._crit_edge.i: ; preds = %48, %.preheader90.split - %.017.lcssa.i = phi ptr [ %28, %.preheader90.split ], [ %50, %48 ] - %51 = add i32 %.06592, 1 +._crit_edge.i: ; preds = %48, %.preheader91.split + %.017.lcssa.i = phi ptr [ %28, %.preheader91.split ], [ %50, %48 ] + %51 = add i32 %.06593, 1 %52 = load i32, ptr %46, align 1 store i32 %52, ptr %.017.lcssa.i, align 1 br label %.sink.split.i .sink.split.i: ; preds = %.lr.ph.i, %._crit_edge.i %.017.lcssa.sink.i = phi ptr [ %.017.lcssa.i, %._crit_edge.i ], [ %.01722.i, %.lr.ph.i ] - %.016.ph.i = phi i32 [ %51, %._crit_edge.i ], [ %.06592, %.lr.ph.i ] + %.016.ph.i = phi i32 [ %51, %._crit_edge.i ], [ %.06593, %.lr.ph.i ] %53 = getelementptr inbounds nuw i8, ptr %.017.lcssa.sink.i, i64 4 store i8 %35, ptr %53, align 1, !tbaa !4 %indvars.iv.next = add nuw nsw i64 %indvars.iv, 1 %exitcond.not = icmp eq i64 %indvars.iv.next, %wide.trip.count - br i1 %exitcond.not, label %.preheader, label %.preheader90.split, !llvm.loop !200 + br i1 %exitcond.not, label %.preheader, label %.preheader91.split, !llvm.loop !200 .lr.ph: ; preds = %.preheader, %61 - %.199 = phi i32 [ %62, %61 ], [ 0, %.preheader ] - %.06298 = phi ptr [ %.163, %61 ], [ %.068125127, %.preheader ] - %.06496 = phi ptr [ %63, %61 ], [ %.068125127, %.preheader ] - %.16795 = phi i32 [ %.2, %61 ], [ 0, %.preheader ] - %54 = getelementptr inbounds nuw i8, ptr %.06496, i64 4 + %.1100 = phi i32 [ %62, %61 ], [ 0, %.preheader ] + %.06299 = phi ptr [ %.163, %61 ], [ %.068126128, %.preheader ] + %.06497 = phi ptr [ %63, %61 ], [ %.068126128, %.preheader ] + %.16796 = phi i32 [ %.2, %61 ], [ 0, %.preheader ] + %54 = getelementptr inbounds nuw i8, ptr %.06497, i64 4 %55 = load i8, ptr %54, align 1, !tbaa !4 - %.not85 = icmp eq i8 %55, 0 - br i1 %.not85, label %61, label %56 + %.not86 = icmp eq i8 %55, 0 + br i1 %.not86, label %61, label %56 56: ; preds = %.lr.ph - %.not86 = icmp eq ptr %.06298, %.06496 - br i1 %.not86, label %58, label %57 + %.not87 = icmp eq ptr %.06299, %.06497 + br i1 %.not87, label %58, label %57 57: ; preds = %56 - tail call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(5) %.06298, ptr noundef nonnull align 1 dereferenceable(5) %.06496, i64 5, i1 false) + tail call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(5) %.06299, ptr noundef nonnull align 1 dereferenceable(5) %.06497, i64 5, i1 false) br label %58 58: ; preds = %57, %56 - %59 = getelementptr inbounds nuw i8, ptr %.06298, i64 5 - %60 = add i32 %.16795, 1 + %59 = getelementptr inbounds nuw i8, ptr %.06299, i64 5 + %60 = add i32 %.16796, 1 br label %61 61: ; preds = %.lr.ph, %58 - %.2 = phi i32 [ %60, %58 ], [ %.16795, %.lr.ph ] - %.163 = phi ptr [ %59, %58 ], [ %.06298, %.lr.ph ] - %62 = add nuw i32 %.199, 1 - %63 = getelementptr inbounds nuw i8, ptr %.06496, i64 5 - %exitcond112.not = icmp eq i32 %62, %.us-phi - br i1 %exitcond112.not, label %._crit_edge, label %.lr.ph, !llvm.loop !201 + %.2 = phi i32 [ %60, %58 ], [ %.16796, %.lr.ph ] + %.163 = phi ptr [ %59, %58 ], [ %.06299, %.lr.ph ] + %62 = add nuw i32 %.1100, 1 + %63 = getelementptr inbounds nuw i8, ptr %.06497, i64 5 + %exitcond113.not = icmp eq i32 %62, %.us-phi + br i1 %exitcond113.not, label %._crit_edge, label %.lr.ph, !llvm.loop !201 ._crit_edge: ; preds = %61 %64 = icmp eq i32 %.2, 0 @@ -2376,15 +2376,15 @@ add_one_chunk.exit.us: ; preds = %40, %.sink.split.i. ._crit_edge.thread: ; preds = %.preheader, %._crit_edge %65 = load ptr, ptr %18, align 8, !tbaa !198 - %.not82 = icmp eq ptr %65, %.068125127 - br i1 %.not82, label %67, label %66 + %.not83 = icmp eq ptr %65, %.068126128 + br i1 %.not83, label %67, label %66 66: ; preds = %._crit_edge.thread - tail call void @png_free(ptr noundef nonnull %0, ptr noundef nonnull %.068125127) #12 + tail call void @png_free(ptr noundef nonnull %0, ptr noundef nonnull %.068126128) #12 br label %thread-pre-split thread-pre-split: ; preds = %33, %66, %._crit_edge, %34 - %.270.ph = phi ptr [ null, %34 ], [ null, %66 ], [ %.068125127, %._crit_edge ], [ null, %33 ] + %.270.ph = phi ptr [ null, %34 ], [ null, %66 ], [ %.068126128, %._crit_edge ], [ null, %33 ] %.3.ph = phi i32 [ 0, %34 ], [ 0, %66 ], [ %.2, %._crit_edge ], [ 0, %33 ] %.pr = load ptr, ptr %18, align 8, !tbaa !198 br label %67 @@ -2394,12 +2394,12 @@ thread-pre-split: ; preds = %33, %66, %._crit_ed %.270 = phi ptr [ %.270.ph, %thread-pre-split ], [ null, %._crit_edge.thread ] %.3 = phi i32 [ %.3.ph, %thread-pre-split ], [ 0, %._crit_edge.thread ] store i32 %.3, ptr %16, align 4, !tbaa !197 - %.not83 = icmp eq ptr %68, %.270 - br i1 %.not83, label %72, label %69 + %.not84 = icmp eq ptr %68, %.270 + br i1 %.not84, label %72, label %69 69: ; preds = %67 - %.not84 = icmp eq ptr %68, null - br i1 %.not84, label %71, label %70 + %.not85 = icmp eq ptr %68, null + br i1 %.not85, label %71, label %70 70: ; preds = %69 tail call void @png_free(ptr noundef nonnull %0, ptr noundef nonnull %68) #12 diff --git a/bench/libsodium/optimized/crypto_secretbox_easy.ll b/bench/libsodium/optimized/crypto_secretbox_easy.ll index 178b51a3b97..ced2d3577a0 100644 --- a/bench/libsodium/optimized/crypto_secretbox_easy.ll +++ b/bench/libsodium/optimized/crypto_secretbox_easy.ll @@ -26,14 +26,14 @@ define dso_local noundef i32 @crypto_secretbox_detached(ptr noundef nonnull %0, %17 = icmp ugt ptr %2, %0 %18 = sub i64 %12, %11 %19 = icmp ult i64 %18, %3 - %or.cond50 = and i1 %17, %19 - br i1 %or.cond50, label %.thread, label %21 + %or.cond51 = and i1 %17, %19 + br i1 %or.cond51, label %.thread, label %21 .thread: ; preds = %6, %16 call void @llvm.memmove.p0.p0.i64(ptr noundef nonnull align 1 %0, ptr noundef nonnull align 1 %2, i64 noundef %3, i1 noundef false) #7 call void @llvm.memset.p0.i64(ptr noundef nonnull align 16 dereferenceable(32) %8, i8 noundef 0, i64 noundef 32, i1 noundef false) #7 %20 = icmp ugt i64 %3, 32 - %spec.store.select59 = call i64 @llvm.umin.i64(i64 %3, i64 32) + %spec.store.select66 = call i64 @llvm.umin.i64(i64 %3, i64 32) br label %.lr.ph.preheader 21: ; preds = %16 @@ -44,40 +44,40 @@ define dso_local noundef i32 @crypto_secretbox_detached(ptr noundef nonnull %0, br i1 %.not, label %._crit_edge, label %.lr.ph.preheader .lr.ph.preheader: ; preds = %.thread, %21 - %spec.store.select63 = phi i64 [ %spec.store.select59, %.thread ], [ %spec.store.select, %21 ] + %spec.store.select70 = phi i64 [ %spec.store.select66, %.thread ], [ %spec.store.select, %21 ] %23 = phi i1 [ %20, %.thread ], [ %22, %21 ] - %.04261 = phi ptr [ %0, %.thread ], [ %2, %21 ] + %.04268 = phi ptr [ %0, %.thread ], [ %2, %21 ] %scevgep = getelementptr inbounds nuw i8, ptr %8, i64 32 - call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 16 %scevgep, ptr align 1 %.04261, i64 %spec.store.select63, i1 false) + call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 16 %scevgep, ptr align 1 %.04268, i64 %spec.store.select70, i1 false) br label %._crit_edge ._crit_edge: ; preds = %.lr.ph.preheader, %21 - %.not66 = phi i1 [ false, %.lr.ph.preheader ], [ true, %21 ] - %spec.store.select64 = phi i64 [ %spec.store.select63, %.lr.ph.preheader ], [ %spec.store.select, %21 ] + %.not73 = phi i1 [ false, %.lr.ph.preheader ], [ true, %21 ] + %spec.store.select71 = phi i64 [ %spec.store.select70, %.lr.ph.preheader ], [ %spec.store.select, %21 ] %24 = phi i1 [ %23, %.lr.ph.preheader ], [ %22, %21 ] - %.04262 = phi ptr [ %.04261, %.lr.ph.preheader ], [ %2, %21 ] + %.04269 = phi ptr [ %.04268, %.lr.ph.preheader ], [ %2, %21 ] %25 = getelementptr i8, ptr %4, i64 16 %26 = call i32 @crypto_stream_salsa20_xor(ptr noundef nonnull %8, ptr noundef nonnull %8, i64 noundef 64, ptr noundef %25, ptr noundef nonnull %9) #7 %27 = call i32 @crypto_onetimeauth_poly1305_init(ptr noundef nonnull %7, ptr noundef nonnull %8) #7 - br i1 %.not66, label %._crit_edge55, label %.lr.ph54.preheader + br i1 %.not73, label %._crit_edge56, label %.lr.ph55.preheader -.lr.ph54.preheader: ; preds = %._crit_edge - %scevgep57 = getelementptr inbounds nuw i8, ptr %8, i64 32 - call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 1 %0, ptr nonnull align 16 %scevgep57, i64 %spec.store.select64, i1 false) - br label %._crit_edge55 +.lr.ph55.preheader: ; preds = %._crit_edge + %scevgep58 = getelementptr inbounds nuw i8, ptr %8, i64 32 + call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 1 %0, ptr nonnull align 16 %scevgep58, i64 %spec.store.select71, i1 false) + br label %._crit_edge56 -._crit_edge55: ; preds = %.lr.ph54.preheader, %._crit_edge +._crit_edge56: ; preds = %.lr.ph55.preheader, %._crit_edge call void @sodium_memzero(ptr noundef nonnull %8, i64 noundef 64) #7 br i1 %24, label %28, label %33 -28: ; preds = %._crit_edge55 - %29 = getelementptr i8, ptr %0, i64 %spec.store.select64 - %30 = getelementptr i8, ptr %.04262, i64 %spec.store.select64 - %31 = sub nuw i64 %3, %spec.store.select64 +28: ; preds = %._crit_edge56 + %29 = getelementptr i8, ptr %0, i64 %spec.store.select71 + %30 = getelementptr i8, ptr %.04269, i64 %spec.store.select71 + %31 = sub nuw i64 %3, %spec.store.select71 %32 = call i32 @crypto_stream_salsa20_xor_ic(ptr noundef %29, ptr noundef %30, i64 noundef %31, ptr noundef %25, i64 noundef 1, ptr noundef nonnull %9) #7 br label %33 -33: ; preds = %28, %._crit_edge55 +33: ; preds = %28, %._crit_edge56 call void @sodium_memzero(ptr noundef nonnull %9, i64 noundef 32) #7 %34 = call i32 @crypto_onetimeauth_poly1305_update(ptr noundef nonnull %7, ptr noundef nonnull %0, i64 noundef %3) #7 %35 = call i32 @crypto_onetimeauth_poly1305_final(ptr noundef nonnull %7, ptr noundef nonnull %1) #7 @@ -130,8 +130,8 @@ define dso_local range(i32 -1, 1) i32 @crypto_secretbox_open_detached(ptr nounde call void @llvm.memset.p0.i64(ptr noundef nonnull align 16 dereferenceable(32) %7, i8 noundef 0, i64 noundef 32, i1 noundef false) #7 %10 = icmp ugt i64 %3, 32 %spec.store.select = call i64 @llvm.umin.i64(i64 %3, i64 32) - %.not60 = icmp eq i64 %3, 0 - br i1 %.not60, label %._crit_edge, label %.lr.ph.preheader + %.not61 = icmp eq i64 %3, 0 + br i1 %.not61, label %._crit_edge, label %.lr.ph.preheader .lr.ph.preheader: ; preds = %6 %scevgep = getelementptr inbounds nuw i8, ptr %7, i64 32 @@ -162,36 +162,36 @@ define dso_local range(i32 -1, 1) i32 @crypto_secretbox_open_detached(ptr nounde %23 = icmp ugt ptr %0, %1 %24 = sub i64 %18, %17 %25 = icmp ult i64 %24, %3 - %or.cond54 = and i1 %23, %25 - br i1 %or.cond54, label %.thread, label %26 + %or.cond55 = and i1 %23, %25 + br i1 %or.cond55, label %.thread, label %26 .thread: ; preds = %16, %22 call void @llvm.memmove.p0.p0.i64(ptr noundef nonnull align 1 %0, ptr noundef nonnull align 1 %1, i64 noundef %3, i1 noundef false) #7 - br label %._crit_edge59 + br label %._crit_edge60 26: ; preds = %22 - br i1 %.not60, label %._crit_edge59.thread, label %._crit_edge59 + br i1 %.not61, label %._crit_edge60.thread, label %._crit_edge60 -._crit_edge59.thread: ; preds = %26 +._crit_edge60.thread: ; preds = %26 call void @sodium_memzero(ptr noundef nonnull %7, i64 noundef 64) #7 br label %.sink.split -._crit_edge59: ; preds = %26, %.thread - %.04565 = phi ptr [ %0, %.thread ], [ %1, %26 ] - %scevgep62 = getelementptr inbounds nuw i8, ptr %7, i64 32 - call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 1 %0, ptr nonnull align 16 %scevgep62, i64 %spec.store.select, i1 false) +._crit_edge60: ; preds = %26, %.thread + %.04572 = phi ptr [ %0, %.thread ], [ %1, %26 ] + %scevgep63 = getelementptr inbounds nuw i8, ptr %7, i64 32 + call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 1 %0, ptr nonnull align 16 %scevgep63, i64 %spec.store.select, i1 false) call void @sodium_memzero(ptr noundef nonnull %7, i64 noundef 64) #7 br i1 %10, label %27, label %.sink.split -27: ; preds = %._crit_edge59 +27: ; preds = %._crit_edge60 %28 = getelementptr i8, ptr %0, i64 %spec.store.select - %29 = getelementptr i8, ptr %.04565, i64 %spec.store.select + %29 = getelementptr i8, ptr %.04572, i64 %spec.store.select %30 = sub nuw i64 %3, %spec.store.select %31 = call i32 @crypto_stream_salsa20_xor_ic(ptr noundef %28, ptr noundef %29, i64 noundef %30, ptr noundef %11, i64 noundef 1, ptr noundef nonnull %8) #7 br label %.sink.split -.sink.split: ; preds = %._crit_edge59, %27, %._crit_edge59.thread, %._crit_edge - %.044.ph = phi i32 [ -1, %._crit_edge ], [ 0, %._crit_edge59.thread ], [ 0, %27 ], [ 0, %._crit_edge59 ] +.sink.split: ; preds = %._crit_edge60, %27, %._crit_edge60.thread, %._crit_edge + %.044.ph = phi i32 [ -1, %._crit_edge ], [ 0, %._crit_edge60.thread ], [ 0, %27 ], [ 0, %._crit_edge60 ] call void @sodium_memzero(ptr noundef nonnull %8, i64 noundef 32) #7 br label %32 diff --git a/bench/libwebp/optimized/bit_writer_utils.ll b/bench/libwebp/optimized/bit_writer_utils.ll index ad065feb6f2..44dbf9f9a0f 100644 --- a/bench/libwebp/optimized/bit_writer_utils.ll +++ b/bench/libwebp/optimized/bit_writer_utils.ll @@ -693,8 +693,8 @@ define hidden range(i32 0, 2) i32 @VP8LBitWriterClone(ptr noundef readonly captu %20 = sub i64 %19, %15 %21 = add i64 %20, %9 %.not.i = icmp eq ptr %11, %13 - %.not40.i = icmp ugt i64 %21, %16 - %or.cond.i = select i1 %.not.i, i1 true, i1 %.not40.i + %.not41.i = icmp ugt i64 %21, %16 + %or.cond.i = select i1 %.not.i, i1 true, i1 %.not41.i br i1 %or.cond.i, label %22, label %37 22: ; preds = %2 @@ -708,8 +708,8 @@ define hidden range(i32 0, 2) i32 @VP8LBitWriterClone(ptr noundef readonly captu br i1 %28, label %VP8LBitWriterResize.exit, label %29 29: ; preds = %22 - %.not41.i = icmp eq ptr %18, %13 - br i1 %.not41.i, label %32, label %30 + %.not42.i = icmp eq ptr %18, %13 + br i1 %.not42.i, label %32, label %30 30: ; preds = %29 %31 = load ptr, ptr %12, align 8, !tbaa !24 @@ -831,8 +831,8 @@ define hidden void @VP8LPutBitsFlushBits(ptr noundef captures(none) %0) local_un %16 = sub i64 %15, %12 %17 = add i64 %14, %16 %.not.i = icmp eq ptr %6, %10 - %.not40.i = icmp ugt i64 %17, %13 - %or.cond.i = or i1 %.not.i, %.not40.i + %.not41.i = icmp ugt i64 %17, %13 + %or.cond.i = or i1 %.not.i, %.not41.i br i1 %or.cond.i, label %18, label %.thread 18: ; preds = %8 @@ -846,8 +846,8 @@ define hidden void @VP8LPutBitsFlushBits(ptr noundef captures(none) %0) local_un br i1 %24, label %32, label %25 25: ; preds = %18 - %.not41.i = icmp eq ptr %3, %10 - br i1 %.not41.i, label %28, label %26 + %.not42.i = icmp eq ptr %3, %10 + br i1 %.not42.i, label %28, label %26 26: ; preds = %25 %27 = load ptr, ptr %9, align 8, !tbaa !24 @@ -928,8 +928,8 @@ define hidden void @VP8LPutBitsInternal(ptr noundef captures(none) %0, i32 nound %25 = sub i64 %24, %21 %26 = add i64 %23, %25 %.not.i = icmp eq ptr %14, %19 - %.not40.i = icmp ugt i64 %26, %22 - %or.cond.i = or i1 %.not.i, %.not40.i + %.not41.i = icmp ugt i64 %26, %22 + %or.cond.i = or i1 %.not.i, %.not41.i br i1 %or.cond.i, label %27, label %.critedge 27: ; preds = %18 @@ -943,8 +943,8 @@ define hidden void @VP8LPutBitsInternal(ptr noundef captures(none) %0, i32 nound br i1 %33, label %41, label %34 34: ; preds = %27 - %.not41.i = icmp eq ptr %15, %19 - br i1 %.not41.i, label %37, label %35 + %.not42.i = icmp eq ptr %15, %19 + br i1 %.not42.i, label %37, label %35 35: ; preds = %34 %36 = load ptr, ptr %12, align 8, !tbaa !24 @@ -1015,8 +1015,8 @@ define hidden ptr @VP8LBitWriterFinish(ptr noundef captures(none) %0) local_unna %17 = sub i64 %16, %12 %18 = add i64 %17, %6 %.not.i = icmp eq ptr %8, %10 - %.not40.i = icmp ugt i64 %18, %13 - %or.cond.i = select i1 %.not.i, i1 true, i1 %.not40.i + %.not41.i = icmp ugt i64 %18, %13 + %or.cond.i = select i1 %.not.i, i1 true, i1 %.not41.i br i1 %or.cond.i, label %19, label %VP8LBitWriterResize.exit 19: ; preds = %1 @@ -1035,8 +1035,8 @@ VP8LBitWriterResize.exit.thread: ; preds = %19 br label %44 27: ; preds = %19 - %.not41.i = icmp eq ptr %15, %10 - br i1 %.not41.i, label %30, label %28 + %.not42.i = icmp eq ptr %15, %10 + br i1 %.not42.i, label %30, label %28 28: ; preds = %27 %29 = load ptr, ptr %9, align 8, !tbaa !24 diff --git a/bench/libwebp/optimized/dwebp.ll b/bench/libwebp/optimized/dwebp.ll index a68c41deec3..4d5ba923a0a 100644 --- a/bench/libwebp/optimized/dwebp.ll +++ b/bench/libwebp/optimized/dwebp.ll @@ -148,7 +148,7 @@ sub_1: ; preds = %sub_0 %38 = getelementptr inbounds nuw i8, ptr %34, i64 2 %39 = load i8, ptr %38, align 1 %40 = icmp eq i8 %39, 0 - br i1 %40, label %44, label %.thread496 + br i1 %40, label %44, label %.thread497 .tail.thread: ; preds = %sub_1 %41 = call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %34, ptr noundef nonnull dereferenceable(6) @.str.2) #9 @@ -157,19 +157,19 @@ sub_1: ; preds = %sub_0 .tail.thread.thread: ; preds = %sub_0 %42 = call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %34, ptr noundef nonnull dereferenceable(6) @.str.2) #9 - %.not223509 = icmp eq i32 %42, 0 - br i1 %.not223509, label %44, label %.tail354.thread + %.not223510 = icmp eq i32 %42, 0 + br i1 %.not223510, label %44, label %.tail354.thread -.thread496: ; preds = %.tail +.thread497: ; preds = %.tail %43 = call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %34, ptr noundef nonnull dereferenceable(6) @.str.2) #9 - %.not223497 = icmp eq i32 %43, 0 - br i1 %.not223497, label %44, label %sub_1356 + %.not223498 = icmp eq i32 %43, 0 + br i1 %.not223498, label %44, label %sub_1356 -44: ; preds = %.tail.thread.thread, %.thread496, %.tail.thread, %.tail +44: ; preds = %.tail.thread.thread, %.thread497, %.tail.thread, %.tail %puts.i = call i32 @puts(ptr nonnull dereferenceable(1) @str) br label %.thread312 -sub_1356: ; preds = %.tail.thread, %.thread496 +sub_1356: ; preds = %.tail.thread, %.thread497 %45 = getelementptr inbounds nuw i8, ptr %34, i64 1 %46 = load i8, ptr %45, align 1 %.not436 = icmp eq i8 %46, 111 @@ -529,13 +529,13 @@ sub_1366: ; preds = %sub_0365 %204 = getelementptr inbounds nuw i8, ptr %34, i64 1 %205 = load i8, ptr %204, align 1 %.not440 = icmp eq i8 %205, 45 - br i1 %.not440, label %.tail364, label %.thread503 + br i1 %.not440, label %.tail364, label %.thread504 .tail364: ; preds = %sub_1366 %206 = getelementptr inbounds nuw i8, ptr %34, i64 2 %207 = load i8, ptr %206, align 1 %208 = icmp eq i8 %207, 0 - br i1 %208, label %209, label %.thread503 + br i1 %208, label %209, label %.thread504 209: ; preds = %.tail364 br i1 %58, label %210, label %216 @@ -545,7 +545,7 @@ sub_1366: ; preds = %sub_0365 %212 = load ptr, ptr %211, align 8, !tbaa !4 br label %216 -.thread503: ; preds = %.tail364, %sub_1366 +.thread504: ; preds = %.tail364, %sub_1366 %213 = load ptr, ptr @stderr, align 8, !tbaa !9 %214 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %213, ptr noundef nonnull @.str.45, ptr noundef nonnull %34) #10 %puts.i287 = call i32 @puts(ptr nonnull dereferenceable(1) @str) @@ -566,8 +566,8 @@ sub_1366: ; preds = %sub_0365 %puts.i288 = call i32 @puts(ptr nonnull dereferenceable(1) @str) br label %.thread312 -.thread312: ; preds = %.thread503, %.loopexit369, %79, %44 - %.3.ph = phi i32 [ 0, %44 ], [ 0, %79 ], [ 1, %.loopexit369 ], [ 1, %.thread503 ] +.thread312: ; preds = %.thread504, %.loopexit369, %79, %44 + %.3.ph = phi i32 [ 0, %44 ], [ 0, %79 ], [ 1, %.loopexit369 ], [ 1, %.thread504 ] call void @llvm.lifetime.end.p0(ptr nonnull %6) br label %427 @@ -623,7 +623,7 @@ sub_1366: ; preds = %sub_0365 br label %427 226: ; preds = %224 - switch i32 %.0206402, label %default.unreachable494 [ + switch i32 %.0206402, label %default.unreachable495 [ i32 0, label %227 i32 1, label %231 i32 2, label %232 @@ -727,7 +727,7 @@ sub_1366: ; preds = %sub_0365 257: ; preds = %226 br label %258 -default.unreachable494: ; preds = %226 +default.unreachable495: ; preds = %226 unreachable 258: ; preds = %226, %257, %256, %255, %254, %253, %252, %251, %250, %249, %248, %247, %246 diff --git a/bench/libwebp/optimized/predictor_enc.ll b/bench/libwebp/optimized/predictor_enc.ll index aa289ad5c84..c4045582f0c 100644 --- a/bench/libwebp/optimized/predictor_enc.ll +++ b/bench/libwebp/optimized/predictor_enc.ll @@ -2292,7 +2292,7 @@ define internal fastcc void @GetResidual(i32 noundef %0, i32 noundef %1, ptr nou %45 = add i32 %1, -1 %46 = icmp eq i32 %8, %45 %47 = add nsw i32 %0, -1 - %.not43.i = icmp eq i32 %11, 0 + %.not44.i = icmp eq i32 %11, 0 %48 = sext i32 %0 to i64 %49 = getelementptr inbounds i32, ptr %2, i64 %48 br i1 %44, label %.lr.ph.split.us.preheader, label %.lr.ph.split @@ -2547,12 +2547,12 @@ define internal fastcc void @GetResidual(i32 noundef %0, i32 noundef %1, ptr nou 181: ; preds = %165 %182 = icmp sgt i32 %170, %167 %or.cond34.i.i = and i1 %178, %182 - %spec.select74.i = select i1 %or.cond34.i.i, i32 %179, i32 %170 + %spec.select75.i = select i1 %or.cond34.i.i, i32 %179, i32 %170 br label %NearLosslessComponent.exit.i NearLosslessComponent.exit.i: ; preds = %181, %180, %164 %.pre-phi.i = phi i32 [ %.pre.i, %164 ], [ %168, %180 ], [ %168, %181 ] - %.039.i = phi i32 [ %.narrow.i.i, %164 ], [ %spec.select.i, %180 ], [ %spec.select74.i, %181 ] + %.039.i = phi i32 [ %.narrow.i.i, %164 ], [ %spec.select.i, %180 ], [ %spec.select75.i, %181 ] %183 = lshr i32 %143, 8 %184 = trunc i32 %183 to i8 %185 = lshr i32 %139, 8 @@ -2576,33 +2576,33 @@ NearLosslessComponent.exit.i: ; preds = %181, %180, %164 br i1 %200, label %203, label %204 203: ; preds = %NearLosslessComponent.exit.i - %.not33.i47.i = icmp samesign ugt i32 %192, %191 - %or.cond.i48.i = select i1 %201, i1 true, i1 %.not33.i47.i - %spec.select75.i = select i1 %or.cond.i48.i, i32 %192, i32 %202 - br label %NearLosslessComponent.exit49.i + %.not33.i48.i = icmp samesign ugt i32 %192, %191 + %or.cond.i49.i = select i1 %201, i1 true, i1 %.not33.i48.i + %spec.select76.i = select i1 %or.cond.i49.i, i32 %192, i32 %202 + br label %NearLosslessComponent.exit50.i 204: ; preds = %NearLosslessComponent.exit.i %205 = icmp sgt i32 %193, %191 - %or.cond34.i44.i = and i1 %201, %205 - %spec.select76.i = select i1 %or.cond34.i44.i, i32 %202, i32 %193 - br label %NearLosslessComponent.exit49.i - -NearLosslessComponent.exit49.i: ; preds = %204, %203 - %.0.in.i45.i = phi i32 [ %spec.select75.i, %203 ], [ %spec.select76.i, %204 ] - %.0.i46.i = trunc i32 %.0.in.i45.i to i8 - %.narrow.i = add i8 %.0.i46.i, %186 - %.narrow.i50.i = sub i8 %.narrow.i, %184 + %or.cond34.i45.i = and i1 %201, %205 + %spec.select77.i = select i1 %or.cond34.i45.i, i32 %202, i32 %193 + br label %NearLosslessComponent.exit50.i + +NearLosslessComponent.exit50.i: ; preds = %204, %203 + %.0.in.i46.i = phi i32 [ %spec.select76.i, %203 ], [ %spec.select77.i, %204 ] + %.0.i47.i = trunc i32 %.0.in.i46.i to i8 + %.narrow.i = add i8 %.0.i47.i, %186 + %.narrow.i51.i = sub i8 %.narrow.i, %184 %206 = xor i8 %.narrow.i, -1 - %.040.i = select i1 %.not43.i, i8 0, i8 %.narrow.i50.i + %.040.i = select i1 %.not44.i, i8 0, i8 %.narrow.i51.i %207 = lshr i32 %143, 16 %208 = trunc i32 %207 to i8 - %.narrow.i51.i = sub i8 %208, %.040.i + %.narrow.i52.i = sub i8 %208, %.040.i %209 = lshr i32 %139, 16 - %210 = zext i8 %.narrow.i51.i to i32 + %210 = zext i8 %.narrow.i52.i to i32 %211 = sub nsw i32 %210, %209 %212 = and i32 %211, 255 %213 = zext i8 %206 to i32 - %214 = select i1 %.not43.i, i32 255, i32 %213 + %214 = select i1 %.not44.i, i32 255, i32 %213 %215 = sub nsw i32 %214, %209 %216 = and i32 %215, 255 %217 = and i32 %212, %.pre-phi.i @@ -2619,23 +2619,23 @@ NearLosslessComponent.exit49.i: ; preds = %204, %203 %228 = add nuw i32 %217, %158 br i1 %226, label %229, label %230 -229: ; preds = %NearLosslessComponent.exit49.i - %.not33.i55.i = icmp samesign ugt i32 %217, %216 - %or.cond.i56.i = select i1 %227, i1 true, i1 %.not33.i55.i - %spec.select77.i = select i1 %or.cond.i56.i, i32 %217, i32 %228 - br label %NearLosslessComponent.exit57.i +229: ; preds = %NearLosslessComponent.exit50.i + %.not33.i56.i = icmp samesign ugt i32 %217, %216 + %or.cond.i57.i = select i1 %227, i1 true, i1 %.not33.i56.i + %spec.select78.i = select i1 %or.cond.i57.i, i32 %217, i32 %228 + br label %NearLosslessComponent.exit58.i -230: ; preds = %NearLosslessComponent.exit49.i +230: ; preds = %NearLosslessComponent.exit50.i %231 = icmp sgt i32 %218, %216 - %or.cond34.i52.i = and i1 %227, %231 - %spec.select78.i = select i1 %or.cond34.i52.i, i32 %228, i32 %218 - br label %NearLosslessComponent.exit57.i + %or.cond34.i53.i = and i1 %227, %231 + %spec.select79.i = select i1 %or.cond34.i53.i, i32 %228, i32 %218 + br label %NearLosslessComponent.exit58.i -NearLosslessComponent.exit57.i: ; preds = %230, %229 - %.0.in.i53.i = phi i32 [ %spec.select77.i, %229 ], [ %spec.select78.i, %230 ] +NearLosslessComponent.exit58.i: ; preds = %230, %229 + %.0.in.i54.i = phi i32 [ %spec.select78.i, %229 ], [ %spec.select79.i, %230 ] %232 = trunc i32 %143 to i8 - %.narrow.i58.i = sub i8 %232, %.040.i - %233 = zext i8 %.narrow.i58.i to i32 + %.narrow.i59.i = sub i8 %232, %.040.i + %233 = zext i8 %.narrow.i59.i to i32 %234 = sub i32 %233, %139 %235 = and i32 %234, 255 %236 = sub i32 %214, %139 @@ -2654,28 +2654,28 @@ NearLosslessComponent.exit57.i: ; preds = %230, %229 %249 = add nuw i32 %238, %158 br i1 %247, label %250, label %251 -250: ; preds = %NearLosslessComponent.exit57.i - %.not33.i62.i = icmp samesign ugt i32 %238, %237 - %or.cond.i63.i = select i1 %248, i1 true, i1 %.not33.i62.i - %spec.select79.i = select i1 %or.cond.i63.i, i32 %238, i32 %249 - br label %NearLosslessComponent.exit64.i +250: ; preds = %NearLosslessComponent.exit58.i + %.not33.i63.i = icmp samesign ugt i32 %238, %237 + %or.cond.i64.i = select i1 %248, i1 true, i1 %.not33.i63.i + %spec.select80.i = select i1 %or.cond.i64.i, i32 %238, i32 %249 + br label %NearLosslessComponent.exit65.i -251: ; preds = %NearLosslessComponent.exit57.i +251: ; preds = %NearLosslessComponent.exit58.i %252 = icmp sgt i32 %239, %237 - %or.cond34.i59.i = and i1 %248, %252 - %spec.select80.i = select i1 %or.cond34.i59.i, i32 %249, i32 %239 - br label %NearLosslessComponent.exit64.i + %or.cond34.i60.i = and i1 %248, %252 + %spec.select81.i = select i1 %or.cond34.i60.i, i32 %249, i32 %239 + br label %NearLosslessComponent.exit65.i -NearLosslessComponent.exit64.i: ; preds = %251, %250 - %.0.in.i60.i = phi i32 [ %spec.select79.i, %250 ], [ %spec.select80.i, %251 ] +NearLosslessComponent.exit65.i: ; preds = %251, %250 + %.0.in.i61.i = phi i32 [ %spec.select80.i, %250 ], [ %spec.select81.i, %251 ] %253 = shl i32 %.039.i, 24 - %254 = shl i32 %.0.in.i53.i, 16 + %254 = shl i32 %.0.in.i54.i, 16 %255 = and i32 %254, 16711680 %256 = or disjoint i32 %255, %253 - %257 = shl i32 %.0.in.i45.i, 8 + %257 = shl i32 %.0.in.i46.i, 8 %258 = and i32 %257, 65280 %259 = or disjoint i32 %256, %258 - %260 = and i32 %.0.in.i60.i, 255 + %260 = and i32 %.0.in.i61.i, 255 %261 = or disjoint i32 %260, %259 %.pre = and i32 %139, -16711936 %.pre114 = and i32 %139, 16711935 @@ -2697,10 +2697,10 @@ NearLosslessComponent.exit64.i: ; preds = %251, %250 %274 = icmp ult i32 %264, 16777216 br i1 %274, label %286, label %292 -.thread126: ; preds = %NearLosslessComponent.exit64.i, %148 - %.pre-phi115 = phi i32 [ %153, %148 ], [ %.pre114, %NearLosslessComponent.exit64.i ] - %.pre-phi = phi i32 [ %150, %148 ], [ %.pre, %NearLosslessComponent.exit64.i ] - %.0.i75 = phi i32 [ %157, %148 ], [ %261, %NearLosslessComponent.exit64.i ] +.thread126: ; preds = %NearLosslessComponent.exit65.i, %148 + %.pre-phi115 = phi i32 [ %153, %148 ], [ %.pre114, %NearLosslessComponent.exit65.i ] + %.pre-phi = phi i32 [ %150, %148 ], [ %.pre, %NearLosslessComponent.exit65.i ] + %.0.i75 = phi i32 [ %157, %148 ], [ %261, %NearLosslessComponent.exit65.i ] %275 = and i32 %.0.i75, -16711936 %276 = add i32 %275, %.pre-phi %277 = and i32 %.0.i75, 16711935 diff --git a/bench/llvm/optimized/SemaDeclCXX.ll b/bench/llvm/optimized/SemaDeclCXX.ll index 15758b4d878..c80a7047ab5 100644 --- a/bench/llvm/optimized/SemaDeclCXX.ll +++ b/bench/llvm/optimized/SemaDeclCXX.ll @@ -127891,7 +127891,6 @@ define dso_local noundef ptr @_ZN5clang4Sema28BuildStaticAssertDeclarationENS_14 %45 = and i64 %43, -2 %46 = inttoptr i64 %45 to ptr %47 = or i1 %40, %44 - %narrow = or i1 %5, %47 %.0 = select i1 %44, ptr %2, ptr %46 call void @llvm.lifetime.start.p0(ptr nonnull %7) %48 = getelementptr inbounds nuw i8, ptr %7, i64 8 @@ -127900,7 +127899,7 @@ define dso_local noundef ptr @_ZN5clang4Sema28BuildStaticAssertDeclarationENS_14 %49 = getelementptr inbounds nuw i8, ptr %7, i64 12 store i8 0, ptr %49, align 4, !tbaa !1297 %50 = getelementptr inbounds nuw i8, ptr %0, i64 232 - br i1 %narrow, label %.critedge.thread, label %.critedge + br i1 %47, label %.critedge.thread, label %.critedge .critedge: ; preds = %38 %51 = load ptr, ptr %50, align 8, !tbaa !1065 diff --git a/bench/lodepng/optimized/lodepng_util.ll b/bench/lodepng/optimized/lodepng_util.ll index e625ba80b1c..f167b4734dc 100644 --- a/bench/lodepng/optimized/lodepng_util.ll +++ b/bench/lodepng/optimized/lodepng_util.ll @@ -5881,11 +5881,11 @@ define internal fastcc noundef float @_ZN7lodepngL12lodepng_powfEff(float nounde %3 = fcmp oeq float %0, 1.000000e+00 %4 = fcmp oeq float %1, 0.000000e+00 %or.cond = or i1 %3, %4 - br i1 %or.cond, label %common.ret231, label %5 + br i1 %or.cond, label %common.ret234, label %5 5: ; preds = %2 %6 = fcmp oeq float %1, 1.000000e+00 - br i1 %6, label %common.ret231, label %7 + br i1 %6, label %common.ret234, label %7 7: ; preds = %5 %8 = fcmp ogt float %0, 0.000000e+00 @@ -5902,7 +5902,7 @@ define internal fastcc noundef float @_ZN7lodepngL12lodepng_powfEff(float nounde 14: ; preds = %13 %15 = fadd float %0, %1 - br label %common.ret231 + br label %common.ret234 16: ; preds = %13 br i1 %8, label %17, label %21 @@ -5914,7 +5914,7 @@ define internal fastcc noundef float @_ZN7lodepngL12lodepng_powfEff(float nounde 19: ; preds = %17 %20 = fcmp ugt float %1, 0.000000e+00 %. = select i1 %20, float %0, float 0.000000e+00 - br label %common.ret231 + br label %common.ret234 21: ; preds = %16 %or.cond9 = fcmp ogt float %10, 0x41D0000000000000 @@ -5933,16 +5933,16 @@ define internal fastcc noundef float @_ZN7lodepngL12lodepng_powfEff(float nounde 28: ; preds = %26 %29 = fcmp olt float %1, 0.000000e+00 %30 = select i1 %29, float 0.000000e+00, float 0x7FF0000000000000 - br label %common.ret231 + br label %common.ret234 31: ; preds = %26 %32 = fcmp oeq float %0, 0.000000e+00 - br i1 %32, label %33, label %common.ret231 + br i1 %32, label %33, label %common.ret234 33: ; preds = %31 %34 = fcmp olt float %1, 0.000000e+00 %35 = select i1 %34, float 0x7FF0000000000000, float 0.000000e+00 - br label %common.ret231 + br label %common.ret234 36: ; preds = %22 %37 = and i32 %23, 1 @@ -5957,17 +5957,17 @@ define internal fastcc noundef float @_ZN7lodepngL12lodepng_powfEff(float nounde %41 = fcmp olt float %1, 0.000000e+00 %42 = fdiv float 1.000000e+00, %0 %43 = select i1 %41, float %42, float %0 - br label %common.ret231 + br label %common.ret234 -common.ret231: ; preds = %120, %._crit_edge160.thread, %67, %64, %60, %57, %55, %40, %28, %33, %31, %5, %2, %97, %50, %19, %14, %44 - %common.ret231.op = phi float [ %47, %44 ], [ %101, %97 ], [ %15, %14 ], [ %., %19 ], [ %52, %50 ], [ 1.000000e+00, %2 ], [ %0, %5 ], [ %30, %28 ], [ %35, %33 ], [ 0x7FF8000000000000, %31 ], [ %43, %40 ], [ %59, %57 ], [ 0.000000e+00, %55 ], [ 1.000000e+00, %60 ], [ %70, %67 ], [ 0.000000e+00, %64 ], [ %125, %120 ], [ %129, %._crit_edge160.thread ] - ret float %common.ret231.op +common.ret234: ; preds = %120, %._crit_edge160.thread, %67, %64, %60, %57, %55, %40, %28, %33, %31, %5, %2, %97, %50, %19, %14, %44 + %common.ret234.op = phi float [ %47, %44 ], [ %101, %97 ], [ %15, %14 ], [ %., %19 ], [ %52, %50 ], [ 1.000000e+00, %2 ], [ %0, %5 ], [ %30, %28 ], [ %35, %33 ], [ 0x7FF8000000000000, %31 ], [ %43, %40 ], [ %59, %57 ], [ 0.000000e+00, %55 ], [ 1.000000e+00, %60 ], [ %70, %67 ], [ 0.000000e+00, %64 ], [ %125, %120 ], [ %129, %._crit_edge160.thread ] + ret float %common.ret234.op 44: ; preds = %38 %45 = fneg float %0 %46 = tail call fastcc noundef float @_ZN7lodepngL12lodepng_powfEff(float noundef %45, float noundef %1) %47 = fneg float %46 - br label %common.ret231 + br label %common.ret234 48: ; preds = %36, %21 %.0 = phi i32 [ 0, %21 ], [ %23, %36 ] @@ -5977,7 +5977,7 @@ common.ret231: ; preds = %120, %._crit_edge16 50: ; preds = %48 %51 = fcmp ole float %1, 0.000000e+00 %52 = select i1 %51, float 0x7FF0000000000000, float 0.000000e+00 - br label %common.ret231 + br label %common.ret234 53: ; preds = %48 %54 = fcmp olt float %0, 0xC7EFFFFFE0000000 @@ -5985,18 +5985,18 @@ common.ret231: ; preds = %120, %._crit_edge16 55: ; preds = %53 %56 = fcmp ugt float %1, 0.000000e+00 - br i1 %56, label %57, label %common.ret231 + br i1 %56, label %57, label %common.ret234 57: ; preds = %55 %58 = and i32 %.0, 1 %.not127 = icmp eq i32 %58, 0 %59 = select i1 %.not127, float 0x7FF0000000000000, float 0xFFF0000000000000 - br label %common.ret231 + br label %common.ret234 60: ; preds = %53 %61 = fneg float %0 %62 = fcmp oeq float %0, -1.000000e+00 - br i1 %62, label %common.ret231, label %63 + br i1 %62, label %common.ret234, label %63 63: ; preds = %60, %17 %.1122 = phi float [ %0, %17 ], [ %61, %60 ] @@ -6007,13 +6007,13 @@ common.ret231: ; preds = %120, %._crit_edge16 %65 = fcmp olt float %.1122, 1.000000e+00 %66 = fcmp ule float %1, 0.000000e+00 %.not128 = xor i1 %66, %65 - br i1 %.not128, label %common.ret231, label %67 + br i1 %.not128, label %common.ret234, label %67 67: ; preds = %64 %68 = fcmp olt float %1, 0.000000e+00 %69 = fneg float %1 %70 = select i1 %68, float %69, float %1 - br label %common.ret231 + br label %common.ret234 71: ; preds = %63, %7 %.0121 = phi float [ %0, %7 ], [ %.1122, %63 ] @@ -6090,7 +6090,7 @@ common.ret231: ; preds = %120, %._crit_edge16 %99 = fcmp ule float %1, 0.000000e+00 %100 = xor i1 %99, %98 %101 = select i1 %100, float 0x7FF0000000000000, float 0.000000e+00 - br label %common.ret231 + br label %common.ret234 102: ; preds = %._crit_edge %103 = fptosi float %95 to i32 @@ -6136,16 +6136,16 @@ common.ret231: ; preds = %120, %._crit_edge16 %123 = uitofp nneg i32 %122 to float %124 = fmul float %110, %123 %125 = fdiv float %.1115.lcssa, %124 - br label %common.ret231 + br label %common.ret234 ._crit_edge160.thread: ; preds = %.lr.ph159, %._crit_edge160 - %.2.lcssa186 = phi i32 [ %.2.lcssa, %._crit_edge160 ], [ %117, %.lr.ph159 ] - %.1115.lcssa185 = phi float [ %.1115.lcssa, %._crit_edge160 ], [ %116, %.lr.ph159 ] - %126 = shl nuw nsw i32 1, %.2.lcssa186 + %.2.lcssa189 = phi i32 [ %.2.lcssa, %._crit_edge160 ], [ %117, %.lr.ph159 ] + %.1115.lcssa188 = phi float [ %.1115.lcssa, %._crit_edge160 ], [ %116, %.lr.ph159 ] + %126 = shl nuw nsw i32 1, %.2.lcssa189 %127 = uitofp nneg i32 %126 to float - %128 = fmul float %.1115.lcssa185, %127 + %128 = fmul float %.1115.lcssa188, %127 %129 = fdiv float %128, %110 - br label %common.ret231 + br label %common.ret234 } ; Function Attrs: mustprogress nofree norecurse nosync nounwind memory(argmem: readwrite) uwtable diff --git a/bench/luajit/optimized/lj_alloc.ll b/bench/luajit/optimized/lj_alloc.ll index 1e6cd1fb488..de2c74e893f 100644 --- a/bench/luajit/optimized/lj_alloc.ll +++ b/bench/luajit/optimized/lj_alloc.ll @@ -362,9 +362,9 @@ define internal fastcc void @lj_alloc_free(ptr noundef %0, ptr noundef %1) unnam 74: ; preds = %67 store ptr %.0283, ptr %71, align 8, !tbaa !45 %cond = icmp eq ptr %.0283, null - br i1 %cond, label %.thread399, label %89 + br i1 %cond, label %.thread402, label %89 -.thread399: ; preds = %74 +.thread402: ; preds = %74 %75 = trunc i64 %70 to i32 %76 = shl nuw i32 1, %75 %77 = xor i32 %76, -1 @@ -439,9 +439,9 @@ define internal fastcc void @lj_alloc_free(ptr noundef %0, ptr noundef %1) unnam store i64 %25, ptr %8, align 8, !tbaa !36 br label %.critedge350 -112: ; preds = %.thread399, %102, %43, %37, %88, %99, %96, %66, %3 - %.0274 = phi i64 [ %7, %3 ], [ %25, %66 ], [ %25, %96 ], [ %25, %99 ], [ %25, %88 ], [ %25, %37 ], [ %25, %43 ], [ %25, %102 ], [ %25, %.thread399 ] - %.0269 = phi ptr [ %4, %3 ], [ %24, %66 ], [ %24, %96 ], [ %24, %99 ], [ %24, %88 ], [ %24, %37 ], [ %24, %43 ], [ %24, %102 ], [ %24, %.thread399 ] +112: ; preds = %.thread402, %102, %43, %37, %88, %99, %96, %66, %3 + %.0274 = phi i64 [ %7, %3 ], [ %25, %66 ], [ %25, %96 ], [ %25, %99 ], [ %25, %88 ], [ %25, %37 ], [ %25, %43 ], [ %25, %102 ], [ %25, %.thread402 ] + %.0269 = phi ptr [ %4, %3 ], [ %24, %66 ], [ %24, %96 ], [ %24, %99 ], [ %24, %88 ], [ %24, %37 ], [ %24, %43 ], [ %24, %102 ], [ %24, %.thread402 ] %113 = getelementptr inbounds nuw i8, ptr %8, i64 8 %114 = load i64, ptr %113, align 8, !tbaa !4 %115 = and i64 %114, 2 @@ -725,9 +725,9 @@ has_segment_link.exit.thread54.i: ; preds = %158, %174, %has_seg 257: ; preds = %250 store ptr %.0291, ptr %254, align 8, !tbaa !45 %cond355 = icmp eq ptr %.0291, null - br i1 %cond355, label %.thread401, label %272 + br i1 %cond355, label %.thread404, label %272 -.thread401: ; preds = %257 +.thread404: ; preds = %257 %258 = trunc i64 %253 to i32 %259 = shl nuw i32 1, %258 %260 = xor i32 %259, -1 @@ -784,7 +784,7 @@ has_segment_link.exit.thread54.i: ; preds = %158, %174, %has_seg store ptr %.0291, ptr %284, align 8, !tbaa !40 br label %285 -285: ; preds = %.thread401, %249, %279, %282, %271, %220, %226 +285: ; preds = %.thread404, %249, %279, %282, %271, %220, %226 %286 = or i64 %211, 1 %287 = getelementptr inbounds nuw i8, ptr %.0269, i64 8 store i64 %286, ptr %287, align 8, !tbaa !4 @@ -932,16 +932,16 @@ has_segment_link.exit.thread54.i: ; preds = %158, %174, %has_seg br label %365 365: ; preds = %.thread, %361, %341 - %.sink410 = phi i64 [ 48, %.thread ], [ 16, %361 ], [ 48, %341 ] - %.0272.lcssa404.sink = phi ptr [ %.0272, %.thread ], [ %363, %361 ], [ %333, %341 ] - %.0269.sink409 = phi ptr [ %.0269, %.thread ], [ %.0272, %361 ], [ %.0269, %341 ] - %.sink408 = phi i64 [ 16, %.thread ], [ 48, %361 ], [ 16, %341 ] + %.sink413 = phi i64 [ 48, %.thread ], [ 16, %361 ], [ 48, %341 ] + %.0272.lcssa407.sink = phi ptr [ %.0272, %.thread ], [ %363, %361 ], [ %333, %341 ] + %.0269.sink412 = phi ptr [ %.0269, %.thread ], [ %.0272, %361 ], [ %.0269, %341 ] + %.sink411 = phi i64 [ 16, %.thread ], [ 48, %361 ], [ 16, %341 ] %.0269.sink = phi ptr [ %.0269, %.thread ], [ null, %361 ], [ %.0269, %341 ] - %366 = getelementptr inbounds nuw i8, ptr %.0269, i64 %.sink410 - store ptr %.0272.lcssa404.sink, ptr %366, align 8, !tbaa !45 + %366 = getelementptr inbounds nuw i8, ptr %.0269, i64 %.sink413 + store ptr %.0272.lcssa407.sink, ptr %366, align 8, !tbaa !45 %367 = getelementptr inbounds nuw i8, ptr %.0269, i64 24 - store ptr %.0269.sink409, ptr %367, align 8, !tbaa !44 - %368 = getelementptr inbounds nuw i8, ptr %.0269, i64 %.sink408 + store ptr %.0269.sink412, ptr %367, align 8, !tbaa !44 + %368 = getelementptr inbounds nuw i8, ptr %.0269, i64 %.sink411 store ptr %.0269.sink, ptr %368, align 8, !tbaa !45 %369 = getelementptr inbounds nuw i8, ptr %0, i64 48 %370 = load i64, ptr %369, align 8, !tbaa !19 @@ -1453,10 +1453,10 @@ tmalloc_small.exit: ; preds = %188, %221 %270 = lshr i64 %.0202.i, 63 %271 = getelementptr inbounds nuw ptr, ptr %267, i64 %270 %272 = load ptr, ptr %271, align 8, !tbaa !45 - %.not236.i = icmp eq ptr %269, null - %.not237.i = icmp eq ptr %269, %272 - %or.cond255.i = or i1 %.not236.i, %.not237.i - %.2207.i = select i1 %or.cond255.i, ptr %.0205.i, ptr %269 + %.not242.i = icmp eq ptr %269, null + %.not243.i = icmp eq ptr %269, %272 + %or.cond261.i = or i1 %.not242.i, %.not243.i + %.2207.i = select i1 %or.cond261.i, ptr %.0205.i, ptr %269 %273 = icmp eq ptr %272, null %274 = shl i64 %.0202.i, 1 br i1 %273, label %.thread.i173, label %258 @@ -1476,8 +1476,8 @@ tmalloc_small.exit: ; preds = %188, %221 %280 = sub i32 0, %279 %281 = or i32 %279, %280 %282 = and i32 %281, %230 - %.not238.i = icmp eq i32 %282, 0 - br i1 %.not238.i, label %tmalloc_large.exit.thread, label %283 + %.not244.i = icmp eq i32 %282, 0 + br i1 %.not244.i, label %tmalloc_large.exit.thread, label %283 283: ; preds = %277 %284 = tail call range(i32 1, 33) i32 @llvm.cttz.i32(i32 %282, i1 true) @@ -1487,48 +1487,48 @@ tmalloc_small.exit: ; preds = %188, %221 br label %.thread.thread.i .thread.thread.i: ; preds = %283, %.thread.i173 - %.0184275.i = phi ptr [ %.0184.i, %.thread.i173 ], [ null, %283 ] + %.0184281.i = phi ptr [ %.0184.i, %.thread.i173 ], [ null, %283 ] %.3197.i = phi ptr [ %.0194.i, %.thread.i173 ], [ %287, %283 ] - %.not239278.i = icmp eq ptr %.3197.i, null - br i1 %.not239278.i, label %._crit_edge.i, label %.lr.ph.i.preheader + %.not245284.i = icmp eq ptr %.3197.i, null + br i1 %.not245284.i, label %._crit_edge.i, label %.lr.ph.i.preheader .lr.ph.i.preheader: ; preds = %264, %.thread.thread.i - %.4281.i.ph = phi ptr [ %.0184275.i, %.thread.thread.i ], [ %.1195.i, %264 ] - %.4192280.i.ph = phi i64 [ %.0188.i, %.thread.thread.i ], [ 0, %264 ] - %.5199279.i.ph = phi ptr [ %.3197.i, %.thread.thread.i ], [ %.1195.i, %264 ] + %.4287.i.ph = phi ptr [ %.0184281.i, %.thread.thread.i ], [ %.1195.i, %264 ] + %.4192286.i.ph = phi i64 [ %.0188.i, %.thread.thread.i ], [ 0, %264 ] + %.5199285.i.ph = phi ptr [ %.3197.i, %.thread.thread.i ], [ %.1195.i, %264 ] br label %.lr.ph.i .lr.ph.i: ; preds = %.lr.ph.i.preheader, %298 - %.4281.i = phi ptr [ %spec.select256.i, %298 ], [ %.4281.i.ph, %.lr.ph.i.preheader ] - %.4192280.i = phi i64 [ %spec.select.i174, %298 ], [ %.4192280.i.ph, %.lr.ph.i.preheader ] - %.5199279.i = phi ptr [ %299, %298 ], [ %.5199279.i.ph, %.lr.ph.i.preheader ] - %288 = getelementptr inbounds nuw i8, ptr %.5199279.i, i64 8 + %.4287.i = phi ptr [ %spec.select262.i, %298 ], [ %.4287.i.ph, %.lr.ph.i.preheader ] + %.4192286.i = phi i64 [ %spec.select.i174, %298 ], [ %.4192286.i.ph, %.lr.ph.i.preheader ] + %.5199285.i = phi ptr [ %299, %298 ], [ %.5199285.i.ph, %.lr.ph.i.preheader ] + %288 = getelementptr inbounds nuw i8, ptr %.5199285.i, i64 8 %289 = load i64, ptr %288, align 8, !tbaa !51 %290 = and i64 %289, -4 %291 = sub i64 %290, %228 - %292 = icmp ult i64 %291, %.4192280.i - %spec.select.i174 = tail call i64 @llvm.umin.i64(i64 %291, i64 %.4192280.i) - %spec.select256.i = select i1 %292, ptr %.5199279.i, ptr %.4281.i - %293 = getelementptr inbounds nuw i8, ptr %.5199279.i, i64 32 + %292 = icmp ult i64 %291, %.4192286.i + %spec.select.i174 = tail call i64 @llvm.umin.i64(i64 %291, i64 %.4192286.i) + %spec.select262.i = select i1 %292, ptr %.5199285.i, ptr %.4287.i + %293 = getelementptr inbounds nuw i8, ptr %.5199285.i, i64 32 %294 = load ptr, ptr %293, align 8, !tbaa !45 - %.not254.i = icmp eq ptr %294, null - br i1 %.not254.i, label %295, label %298 + %.not260.i = icmp eq ptr %294, null + br i1 %.not260.i, label %295, label %298 295: ; preds = %.lr.ph.i - %296 = getelementptr inbounds nuw i8, ptr %.5199279.i, i64 40 + %296 = getelementptr inbounds nuw i8, ptr %.5199285.i, i64 40 %297 = load ptr, ptr %296, align 8, !tbaa !45 br label %298 298: ; preds = %295, %.lr.ph.i %299 = phi ptr [ %297, %295 ], [ %294, %.lr.ph.i ] - %.not239.i = icmp eq ptr %299, null - br i1 %.not239.i, label %._crit_edge.i, label %.lr.ph.i, !llvm.loop !54 + %.not245.i = icmp eq ptr %299, null + br i1 %.not245.i, label %._crit_edge.i, label %.lr.ph.i, !llvm.loop !54 ._crit_edge.i: ; preds = %298, %.thread.thread.i %.4192.lcssa.i = phi i64 [ %.0188.i, %.thread.thread.i ], [ %spec.select.i174, %298 ] - %.4.lcssa.i = phi ptr [ %.0184275.i, %.thread.thread.i ], [ %spec.select256.i, %298 ] - %.not240.i = icmp eq ptr %.4.lcssa.i, null - br i1 %.not240.i, label %tmalloc_large.exit.thread, label %300 + %.4.lcssa.i = phi ptr [ %.0184281.i, %.thread.thread.i ], [ %spec.select262.i, %298 ] + %.not246.i = icmp eq ptr %.4.lcssa.i, null + br i1 %.not246.i, label %tmalloc_large.exit.thread, label %300 300: ; preds = %._crit_edge.i %301 = getelementptr inbounds nuw i8, ptr %0, i64 8 @@ -1543,8 +1543,8 @@ tmalloc_small.exit: ; preds = %188, %221 %308 = load ptr, ptr %307, align 8, !tbaa !40 %309 = getelementptr inbounds nuw i8, ptr %.4.lcssa.i, i64 24 %310 = load ptr, ptr %309, align 8, !tbaa !44 - %.not241.i = icmp eq ptr %310, %.4.lcssa.i - br i1 %.not241.i, label %316, label %311 + %.not247.i = icmp eq ptr %310, %.4.lcssa.i + br i1 %.not247.i, label %316, label %311 311: ; preds = %305 %312 = getelementptr inbounds nuw i8, ptr %.4.lcssa.i, i64 16 @@ -1558,14 +1558,14 @@ tmalloc_small.exit: ; preds = %188, %221 316: ; preds = %305 %317 = getelementptr inbounds nuw i8, ptr %.4.lcssa.i, i64 40 %318 = load ptr, ptr %317, align 8, !tbaa !45 - %.not242.i = icmp eq ptr %318, null - br i1 %.not242.i, label %319, label %.critedge.i178.preheader + %.not248.i = icmp eq ptr %318, null + br i1 %.not248.i, label %319, label %.critedge.i178.preheader 319: ; preds = %316 %320 = getelementptr inbounds nuw i8, ptr %.4.lcssa.i, i64 32 %321 = load ptr, ptr %320, align 8, !tbaa !45 - %.not243.i = icmp eq ptr %321, null - br i1 %.not243.i, label %328, label %.critedge.i178.preheader + %.not249.i = icmp eq ptr %321, null + br i1 %.not249.i, label %328, label %.critedge.i178.preheader .critedge.i178.preheader: ; preds = %319, %316 %.1215.i.ph = phi ptr [ %320, %319 ], [ %317, %316 ] @@ -1577,14 +1577,14 @@ tmalloc_small.exit: ; preds = %188, %221 %.3213.i = phi ptr [ %.3213.i.ph, %.critedge.i178.preheader ], [ %.3213.i.be, %.critedge.i178.backedge ] %322 = getelementptr inbounds nuw i8, ptr %.3213.i, i64 40 %323 = load ptr, ptr %322, align 8, !tbaa !45 - %.not244.i = icmp eq ptr %323, null - br i1 %.not244.i, label %324, label %.critedge.i178.backedge + %.not250.i = icmp eq ptr %323, null + br i1 %.not250.i, label %324, label %.critedge.i178.backedge 324: ; preds = %.critedge.i178 %325 = getelementptr inbounds nuw i8, ptr %.3213.i, i64 32 %326 = load ptr, ptr %325, align 8, !tbaa !45 - %.not245.i = icmp eq ptr %326, null - br i1 %.not245.i, label %327, label %.critedge.i178.backedge + %.not251.i = icmp eq ptr %326, null + br i1 %.not251.i, label %327, label %.critedge.i178.backedge .critedge.i178.backedge: ; preds = %324, %.critedge.i178 %.1215.i.be = phi ptr [ %322, %.critedge.i178 ], [ %325, %324 ] @@ -1597,8 +1597,8 @@ tmalloc_small.exit: ; preds = %188, %221 328: ; preds = %327, %319, %311 %.0210.i = phi ptr [ %310, %311 ], [ %.3213.i, %327 ], [ null, %319 ] - %.not246.i = icmp eq ptr %308, null - br i1 %.not246.i, label %361, label %329 + %.not252.i = icmp eq ptr %308, null + br i1 %.not252.i, label %361, label %329 329: ; preds = %328 %330 = getelementptr inbounds nuw i8, ptr %.4.lcssa.i, i64 56 @@ -1611,9 +1611,9 @@ tmalloc_small.exit: ; preds = %188, %221 335: ; preds = %329 store ptr %.0210.i, ptr %332, align 8, !tbaa !45 %cond.i177 = icmp eq ptr %.0210.i, null - br i1 %cond.i177, label %.thread320.i, label %348 + br i1 %cond.i177, label %.thread328.i, label %348 -.thread320.i: ; preds = %335 +.thread328.i: ; preds = %335 %336 = trunc i64 %331 to i32 %337 = shl nuw i32 1, %336 %338 = xor i32 %337, -1 @@ -1637,16 +1637,16 @@ tmalloc_small.exit: ; preds = %188, %221 br label %347 347: ; preds = %345, %344 - %.not247.i = icmp eq ptr %.0210.i, null - br i1 %.not247.i, label %361, label %348 + %.not253.i = icmp eq ptr %.0210.i, null + br i1 %.not253.i, label %361, label %348 348: ; preds = %347, %335 %349 = getelementptr inbounds nuw i8, ptr %.0210.i, i64 48 store ptr %308, ptr %349, align 8, !tbaa !40 %350 = getelementptr inbounds nuw i8, ptr %.4.lcssa.i, i64 32 %351 = load ptr, ptr %350, align 8, !tbaa !45 - %.not248.i = icmp eq ptr %351, null - br i1 %.not248.i, label %355, label %352 + %.not254.i = icmp eq ptr %351, null + br i1 %.not254.i, label %355, label %352 352: ; preds = %348 %353 = getelementptr inbounds nuw i8, ptr %.0210.i, i64 32 @@ -1658,8 +1658,8 @@ tmalloc_small.exit: ; preds = %188, %221 355: ; preds = %352, %348 %356 = getelementptr inbounds nuw i8, ptr %.4.lcssa.i, i64 40 %357 = load ptr, ptr %356, align 8, !tbaa !45 - %.not249.i = icmp eq ptr %357, null - br i1 %.not249.i, label %361, label %358 + %.not255.i = icmp eq ptr %357, null + br i1 %.not255.i, label %361, label %358 358: ; preds = %355 %359 = getelementptr inbounds nuw i8, ptr %.0210.i, i64 40 @@ -1668,7 +1668,7 @@ tmalloc_small.exit: ; preds = %188, %221 store ptr %.0210.i, ptr %360, align 8, !tbaa !40 br label %361 -361: ; preds = %358, %355, %347, %.thread320.i, %328 +361: ; preds = %358, %355, %347, %.thread328.i, %328 %362 = icmp ult i64 %.4192.lcssa.i, 32 br i1 %362, label %363, label %371 @@ -1705,8 +1705,8 @@ tmalloc_small.exit: ; preds = %188, %221 %383 = trunc nuw nsw i64 %379 to i32 %384 = shl nuw i32 1, %383 %385 = and i32 %382, %384 - %.not253.i = icmp eq i32 %385, 0 - br i1 %.not253.i, label %386, label %388 + %.not259.i = icmp eq i32 %385, 0 + br i1 %.not259.i, label %386, label %388 386: ; preds = %378 %387 = or i32 %382, %384 @@ -1763,8 +1763,8 @@ tmalloc_small.exit: ; preds = %188, %221 %417 = trunc nuw nsw i64 %.0200.i to i32 %418 = shl nuw i32 1, %417 %419 = and i32 %416, %418 - %.not250.i = icmp eq i32 %419, 0 - br i1 %.not250.i, label %420, label %425 + %.not256.i = icmp eq i32 %419, 0 + br i1 %.not256.i, label %420, label %425 420: ; preds = %412 %421 = or i32 %416, %418 @@ -1793,8 +1793,8 @@ tmalloc_small.exit: ; preds = %188, %221 %433 = getelementptr inbounds nuw i8, ptr %.0186.i, i64 8 %434 = load i64, ptr %433, align 8, !tbaa !51 %435 = and i64 %434, -4 - %.not251.i = icmp eq i64 %435, %.4192.lcssa.i - br i1 %.not251.i, label %446, label %436 + %.not257.i = icmp eq i64 %435, %.4192.lcssa.i + br i1 %.not257.i, label %446, label %436 436: ; preds = %432 %437 = getelementptr inbounds nuw i8, ptr %.0186.i, i64 32 @@ -1802,10 +1802,10 @@ tmalloc_small.exit: ; preds = %188, %221 %439 = getelementptr inbounds nuw ptr, ptr %437, i64 %438 %440 = shl i64 %.0185.i, 1 %441 = load ptr, ptr %439, align 8, !tbaa !45 - %.not252.i = icmp eq ptr %441, null - br i1 %.not252.i, label %.thread266.i, label %432 + %.not258.i = icmp eq ptr %441, null + br i1 %.not258.i, label %.thread272.i, label %432 -.thread266.i: ; preds = %436 +.thread272.i: ; preds = %436 %442 = getelementptr inbounds nuw ptr, ptr %437, i64 %438 store ptr %306, ptr %442, align 8, !tbaa !45 %443 = getelementptr inbounds nuw i8, ptr %306, i64 48 @@ -1830,7 +1830,7 @@ tmalloc_small.exit: ; preds = %188, %221 store ptr null, ptr %452, align 8, !tbaa !40 br label %tmalloc_large.exit -tmalloc_large.exit: ; preds = %363, %391, %420, %.thread266.i, %446 +tmalloc_large.exit: ; preds = %363, %391, %420, %.thread272.i, %446 %453 = getelementptr inbounds nuw i8, ptr %.4.lcssa.i, i64 16 br label %alloc_sys.exit diff --git a/bench/luajit/optimized/lj_debug.ll b/bench/luajit/optimized/lj_debug.ll index 0871a9e7f56..fd81588f596 100644 --- a/bench/luajit/optimized/lj_debug.ll +++ b/bench/luajit/optimized/lj_debug.ll @@ -1435,8 +1435,8 @@ define internal fastcc ptr @debug_localname(ptr noundef readonly captures(none) %17 = and i64 %16, 140737488355327 %18 = inttoptr i64 %17 to ptr %19 = tail call fastcc i32 @debug_framepc(ptr noundef %0, ptr noundef %18, ptr noundef %14) - %.not52 = icmp eq ptr %14, null - br i1 %.not52, label %20, label %24 + %.not53 = icmp eq ptr %14, null + br i1 %.not53, label %20, label %24 20: ; preds = %3 %21 = getelementptr inbounds nuw i8, ptr %0, i64 40 @@ -1447,11 +1447,11 @@ define internal fastcc ptr @debug_localname(ptr noundef readonly captures(none) 24: ; preds = %20, %3 %.046 = phi ptr [ %13, %3 ], [ %23, %20 ] %25 = icmp slt i32 %2, 0 - %.not54 = icmp eq i32 %19, -1 + %.not55 = icmp eq i32 %19, -1 br i1 %25, label %26, label %49 26: ; preds = %24 - br i1 %.not54, label %.thread, label %27 + br i1 %.not55, label %.thread, label %27 27: ; preds = %26 %28 = getelementptr inbounds nuw i8, ptr %18, i64 32 @@ -1460,8 +1460,8 @@ define internal fastcc ptr @debug_localname(ptr noundef readonly captures(none) %31 = getelementptr inbounds i8, ptr %30, i64 -43 %32 = load i8, ptr %31, align 1, !tbaa !60 %33 = and i8 %32, 2 - %.not55 = icmp eq i8 %33, 0 - br i1 %.not55, label %.thread, label %34 + %.not56 = icmp eq i8 %33, 0 + br i1 %.not56, label %.thread, label %34 34: ; preds = %27 %35 = getelementptr inbounds i8, ptr %30, i64 -94 @@ -1487,7 +1487,7 @@ define internal fastcc ptr @debug_localname(ptr noundef readonly captures(none) br label %.thread 49: ; preds = %24 - br i1 %.not54, label %90, label %50 + br i1 %.not55, label %90, label %50 50: ; preds = %49 %51 = getelementptr inbounds nuw i8, ptr %18, i64 32 @@ -1589,17 +1589,17 @@ debug_varname.exit: ; preds = %59, %.loopexit.i, % %87 = getelementptr inbounds nuw %union.TValue, ptr %11, i64 %86 %88 = getelementptr inbounds nuw i8, ptr %87, i64 8 %89 = icmp ult ptr %88, %.046 - %or.cond59 = select i1 %85, i1 %89, i1 false - br i1 %or.cond59, label %.sink.split, label %91 + %or.cond60 = select i1 %85, i1 %89, i1 false + br i1 %or.cond60, label %.sink.split, label %91 90: ; preds = %49 %.old1.not = icmp ne i32 %2, 0 %.old = zext nneg i32 %2 to i64 - %.old56 = getelementptr inbounds nuw %union.TValue, ptr %11, i64 %.old - %.old57 = getelementptr inbounds nuw i8, ptr %.old56, i64 8 - %.old58 = icmp ult ptr %.old57, %.046 - %or.cond60 = select i1 %.old1.not, i1 %.old58, i1 false - br i1 %or.cond60, label %.sink.split, label %91 + %.old57 = getelementptr inbounds nuw %union.TValue, ptr %11, i64 %.old + %.old58 = getelementptr inbounds nuw i8, ptr %.old57, i64 8 + %.old59 = icmp ult ptr %.old58, %.046 + %or.cond61 = select i1 %.old1.not, i1 %.old59, i1 false + br i1 %or.cond61, label %.sink.split, label %91 .sink.split: ; preds = %debug_varname.exit, %90, %debug_varname.exit.thread %.2.i.ph.sink = phi ptr [ %.2.i.ph, %debug_varname.exit.thread ], [ @.str.36, %90 ], [ @.str.36, %debug_varname.exit ] diff --git a/bench/lvgl/optimized/lv_sprintf_builtin.ll b/bench/lvgl/optimized/lv_sprintf_builtin.ll index ce5782f9637..3c807f1cc4e 100644 --- a/bench/lvgl/optimized/lv_sprintf_builtin.ll +++ b/bench/lvgl/optimized/lv_sprintf_builtin.ll @@ -1753,22 +1753,22 @@ define internal fastcc i64 @_etoa(ptr noundef readonly captures(none) %0, ptr no _ntoa_long.exit: ; preds = %88 %98 = add i64 %81, 1 %99 = icmp slt i32 %.1107.fr, 0 - %spec.select91.i = add nsw i32 %.0101, -2 - %invariant.umin102.i = zext nneg i32 %spec.select91.i to i64 - %or.cond11104.i = icmp samesign ult i64 %92, %invariant.umin102.i - br i1 %or.cond11104.i, label %.critedge.i.thread, label %.critedge.i + %spec.select93.i = add nsw i32 %.0101, -2 + %invariant.umin104.i = zext nneg i32 %spec.select93.i to i64 + %or.cond11106.i = icmp samesign ult i64 %92, %invariant.umin104.i + br i1 %or.cond11106.i, label %.critedge.i.thread, label %.critedge.i .critedge.i.thread: ; preds = %_ntoa_long.exit - %scevgep112.i = getelementptr i8, ptr %9, i64 %92 - %100 = sub nuw nsw i64 %invariant.umin102.i, %92 - call void @llvm.memset.p0.i64(ptr align 1 %scevgep112.i, i8 48, i64 %100, i1 false), !tbaa !3 + %scevgep114.i = getelementptr i8, ptr %9, i64 %92 + %100 = sub nuw nsw i64 %invariant.umin104.i, %92 + call void @llvm.memset.p0.i64(ptr align 1 %scevgep114.i, i8 48, i64 %100, i1 false), !tbaa !3 br label %.thread.sink.split.i .critedge.i: ; preds = %_ntoa_long.exit br i1 %96, label %.thread.sink.split.i, label %.lr.ph37.i.i.preheader .thread.sink.split.i: ; preds = %.critedge.i.thread, %.critedge.i - %.0.i118120 = phi i64 [ %invariant.umin102.i, %.critedge.i.thread ], [ %92, %.critedge.i ] + %.0.i118120 = phi i64 [ %invariant.umin104.i, %.critedge.i.thread ], [ %92, %.critedge.i ] %spec.select122 = select i1 %99, i8 45, i8 43 %101 = add nuw nsw i64 %.0.i118120, 1 %102 = getelementptr inbounds nuw i8, ptr %9, i64 %.0.i118120 @@ -1820,24 +1820,24 @@ define internal fastcc noundef i64 @_ntoa_format(ptr noundef readonly captures(n br i1 %.not, label %13, label %.critedge 13: ; preds = %11 - %.not78 = icmp eq i32 %9, 0 - br i1 %.not78, label %19, label %14 + %.not80 = icmp eq i32 %9, 0 + br i1 %.not80, label %19, label %14 14: ; preds = %13 %15 = and i32 %10, 1 - %.not79 = icmp eq i32 %15, 0 - br i1 %.not79, label %19, label %16 + %.not81 = icmp eq i32 %15, 0 + br i1 %.not81, label %19, label %16 16: ; preds = %14 %17 = and i32 %10, 12 - %.not80 = icmp ne i32 %17, 0 - %or.cond86.not = or i1 %6, %.not80 - %18 = sext i1 %or.cond86.not to i32 - %spec.select91 = add i32 %9, %18 + %.not82 = icmp ne i32 %17, 0 + %or.cond88.not = or i1 %6, %.not82 + %18 = sext i1 %or.cond88.not to i32 + %spec.select93 = add i32 %9, %18 br label %19 19: ; preds = %16, %14, %13 - %.174 = phi i32 [ %9, %14 ], [ 0, %13 ], [ %spec.select91, %16 ] + %.174 = phi i32 [ %9, %14 ], [ 0, %13 ], [ %spec.select93, %16 ] %20 = tail call i32 @llvm.umin.i32(i32 %8, i32 32) %invariant.umin = zext nneg i32 %20 to i64 %21 = icmp ult i64 %5, %invariant.umin @@ -1852,27 +1852,27 @@ define internal fastcc noundef i64 @_ntoa_format(ptr noundef readonly captures(n .preheader: ; preds = %.lr.ph.preheader, %19 %.1.lcssa = phi i64 [ %5, %19 ], [ %invariant.umin, %.lr.ph.preheader ] %23 = and i32 %10, 1 - %.not81 = icmp eq i32 %23, 0 - br i1 %.not81, label %.critedge, label %.lr.ph98 + %.not83 = icmp eq i32 %23, 0 + br i1 %.not83, label %.critedge, label %.lr.ph100 -.lr.ph98: ; preds = %.preheader +.lr.ph100: ; preds = %.preheader %24 = tail call i32 @llvm.umin.i32(i32 %.174, i32 32) - %invariant.umin102 = zext nneg i32 %24 to i64 - %or.cond11104 = icmp ult i64 %.1.lcssa, %invariant.umin102 - br i1 %or.cond11104, label %.lr.ph106.preheader, label %.critedge - -.lr.ph106.preheader: ; preds = %.lr.ph98 - %scevgep112 = getelementptr i8, ptr %4, i64 %.1.lcssa - %25 = sub nuw nsw i64 %invariant.umin102, %.1.lcssa - tail call void @llvm.memset.p0.i64(ptr align 1 %scevgep112, i8 48, i64 %25, i1 false), !tbaa !3 + %invariant.umin104 = zext nneg i32 %24 to i64 + %or.cond11106 = icmp ult i64 %.1.lcssa, %invariant.umin104 + br i1 %or.cond11106, label %.lr.ph108.preheader, label %.critedge + +.lr.ph108.preheader: ; preds = %.lr.ph100 + %scevgep114 = getelementptr i8, ptr %4, i64 %.1.lcssa + %25 = sub nuw nsw i64 %invariant.umin104, %.1.lcssa + tail call void @llvm.memset.p0.i64(ptr align 1 %scevgep114, i8 48, i64 %25, i1 false), !tbaa !3 br label %.critedge -.critedge: ; preds = %.lr.ph106.preheader, %.preheader, %.lr.ph98, %11 - %.073 = phi i32 [ %9, %11 ], [ %.174, %.lr.ph98 ], [ %.174, %.preheader ], [ %.174, %.lr.ph106.preheader ] - %.0 = phi i64 [ %5, %11 ], [ %.1.lcssa, %.lr.ph98 ], [ %.1.lcssa, %.preheader ], [ %invariant.umin102, %.lr.ph106.preheader ] +.critedge: ; preds = %.lr.ph108.preheader, %.preheader, %.lr.ph100, %11 + %.073 = phi i32 [ %9, %11 ], [ %.174, %.lr.ph100 ], [ %.174, %.preheader ], [ %.174, %.lr.ph108.preheader ] + %.0 = phi i64 [ %5, %11 ], [ %.1.lcssa, %.lr.ph100 ], [ %.1.lcssa, %.preheader ], [ %invariant.umin104, %.lr.ph108.preheader ] %26 = and i32 %10, 16 - %.not82 = icmp eq i32 %26, 0 - br i1 %.not82, label %57, label %27 + %.not84 = icmp eq i32 %26, 0 + br i1 %.not84, label %57, label %27 27: ; preds = %.critedge %28 = and i32 %10, 1024 @@ -1886,8 +1886,8 @@ define internal fastcc noundef i64 @_ntoa_format(ptr noundef readonly captures(n %33 = icmp eq i64 %.0, %32 %34 = zext i32 %.073 to i64 %35 = icmp eq i64 %.0, %34 - %or.cond88 = or i1 %33, %35 - br i1 %or.cond88, label %36, label %41 + %or.cond90 = or i1 %33, %35 + br i1 %or.cond90, label %36, label %41 36: ; preds = %31 %37 = add nsw i64 %.0, -1 @@ -1901,39 +1901,39 @@ define internal fastcc noundef i64 @_ntoa_format(ptr noundef readonly captures(n 41: ; preds = %36, %31, %27 %.4 = phi i64 [ %.0, %27 ], [ %.0, %31 ], [ %spec.select, %36 ] %42 = icmp eq i32 %7, 16 - br i1 %42, label %43, label %.critedge90 + br i1 %42, label %43, label %.critedge92 43: ; preds = %41 %44 = and i32 %10, 32 %45 = icmp eq i32 %44, 0 %46 = icmp ult i64 %.4, 32 %or.cond5 = select i1 %45, i1 %46, i1 false - br i1 %or.cond5, label %.critedge90.thread.sink.split, label %47 + br i1 %or.cond5, label %.critedge92.thread.sink.split, label %47 47: ; preds = %43 %48 = icmp ne i32 %44, 0 %or.cond7 = select i1 %48, i1 %46, i1 false - br i1 %or.cond7, label %.critedge90.thread.sink.split, label %.critedge90.thread + br i1 %or.cond7, label %.critedge92.thread.sink.split, label %.critedge92.thread -.critedge90: ; preds = %41 +.critedge92: ; preds = %41 %49 = icmp eq i32 %7, 2 %50 = icmp ult i64 %.4, 32 %or.cond9 = select i1 %49, i1 %50, i1 false - br i1 %or.cond9, label %.critedge90.thread.sink.split, label %.critedge90.thread + br i1 %or.cond9, label %.critedge92.thread.sink.split, label %.critedge92.thread -.critedge90.thread.sink.split: ; preds = %.critedge90, %47, %43 - %.sink = phi i8 [ 120, %43 ], [ 88, %47 ], [ 98, %.critedge90 ] +.critedge92.thread.sink.split: ; preds = %.critedge92, %47, %43 + %.sink = phi i8 [ 120, %43 ], [ 88, %47 ], [ 98, %.critedge92 ] %51 = add nuw nsw i64 %.4, 1 %52 = getelementptr inbounds nuw i8, ptr %4, i64 %.4 store i8 %.sink, ptr %52, align 1, !tbaa !3 - br label %.critedge90.thread + br label %.critedge92.thread -.critedge90.thread: ; preds = %.critedge90.thread.sink.split, %47, %.critedge90 - %.5 = phi i64 [ %.4, %.critedge90 ], [ %.4, %47 ], [ %51, %.critedge90.thread.sink.split ] +.critedge92.thread: ; preds = %.critedge92.thread.sink.split, %47, %.critedge92 + %.5 = phi i64 [ %.4, %.critedge92 ], [ %.4, %47 ], [ %51, %.critedge92.thread.sink.split ] %53 = icmp ult i64 %.5, 32 br i1 %53, label %54, label %.thread -54: ; preds = %.critedge90.thread +54: ; preds = %.critedge92.thread %55 = add nuw nsw i64 %.5, 1 %56 = getelementptr inbounds nuw i8, ptr %4, i64 %.5 store i8 48, ptr %56, align 1, !tbaa !3 @@ -1949,23 +1949,23 @@ define internal fastcc noundef i64 @_ntoa_format(ptr noundef readonly captures(n 60: ; preds = %59 %61 = and i32 %10, 4 - %.not83 = icmp eq i32 %61, 0 - br i1 %.not83, label %62, label %.thread.sink.split + %.not85 = icmp eq i32 %61, 0 + br i1 %.not85, label %62, label %.thread.sink.split 62: ; preds = %60 %63 = and i32 %10, 8 - %.not84 = icmp eq i32 %63, 0 - br i1 %.not84, label %.thread, label %.thread.sink.split + %.not86 = icmp eq i32 %63, 0 + br i1 %.not86, label %.thread, label %.thread.sink.split .thread.sink.split: ; preds = %62, %60, %59 - %.sink121 = phi i8 [ 45, %59 ], [ 43, %60 ], [ 32, %62 ] + %.sink123 = phi i8 [ 45, %59 ], [ 43, %60 ], [ 32, %62 ] %64 = add nuw nsw i64 %.3, 1 %65 = getelementptr inbounds nuw i8, ptr %4, i64 %.3 - store i8 %.sink121, ptr %65, align 1, !tbaa !3 + store i8 %.sink123, ptr %65, align 1, !tbaa !3 br label %.thread -.thread: ; preds = %.thread.sink.split, %.critedge90.thread, %62, %57 - %.6 = phi i64 [ %.3, %62 ], [ %.3, %57 ], [ %.5, %.critedge90.thread ], [ %64, %.thread.sink.split ] +.thread: ; preds = %.thread.sink.split, %.critedge92.thread, %62, %57 + %.6 = phi i64 [ %.3, %62 ], [ %.3, %57 ], [ %.5, %.critedge92.thread ], [ %64, %.thread.sink.split ] %66 = and i32 %10, 3 %or.cond.i = icmp eq i32 %66, 0 br i1 %or.cond.i, label %.preheader30.i, label %.loopexit31.i diff --git a/bench/meilisearch-rs/optimized/4llghrvh6vzci59o.ll b/bench/meilisearch-rs/optimized/4llghrvh6vzci59o.ll index 019204d2cf6..7c986e8b31e 100644 --- a/bench/meilisearch-rs/optimized/4llghrvh6vzci59o.ll +++ b/bench/meilisearch-rs/optimized/4llghrvh6vzci59o.ll @@ -5335,7 +5335,7 @@ define hidden void @"_ZN216_$LT$meilisearch_types..keys..CreateApiKey$u20$as$u20 store ptr %191, ptr %129, align 8, !alias.scope !1240, !noalias !1230 %.sroa.0.0.copyload1.i.i = load i64, ptr %190, align 8, !noalias !1241 %192 = icmp eq i64 %.sroa.0.0.copyload1.i.i, -9223372036854775808 - br i1 %192, label %._crit_edge.loopexit.split.loop.exit1184, label %202 + br i1 %192, label %._crit_edge.loopexit.split.loop.exit1186, label %202 193: ; preds = %.loopexit985, %.loopexit.split-lp986, %.thread874 %.sroa.063.8 = phi i8 [ %.sroa.063.19, %.thread874 ], [ 1, %.loopexit985 ], [ 0, %.loopexit.split-lp986 ] @@ -5353,14 +5353,14 @@ define hidden void @"_ZN216_$LT$meilisearch_types..keys..CreateApiKey$u20$as$u20 cleanup br label %193 -._crit_edge.loopexit.split.loop.exit1184: ; preds = %"_ZN103_$LT$alloc..vec..into_iter..IntoIter$LT$T$C$A$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17hd46226d103d79187E.llvm.331090089658796353.exit.i.i" +._crit_edge.loopexit.split.loop.exit1186: ; preds = %"_ZN103_$LT$alloc..vec..into_iter..IntoIter$LT$T$C$A$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17hd46226d103d79187E.llvm.331090089658796353.exit.i.i" %194 = getelementptr inbounds nuw i8, ptr %190, i64 104 br label %._crit_edge -._crit_edge: ; preds = %593, %._crit_edge.loopexit.split.loop.exit1184, %127 - %195 = phi ptr [ %131, %127 ], [ %194, %._crit_edge.loopexit.split.loop.exit1184 ], [ %595, %593 ] - %.sroa.2728.0.lcssa = phi i8 [ 2, %127 ], [ %.sroa.2728.01121, %._crit_edge.loopexit.split.loop.exit1184 ], [ %.sroa.2728.1, %593 ] - %.sroa.6730.0.lcssa = phi i32 [ undef, %127 ], [ %.sroa.6730.01122, %._crit_edge.loopexit.split.loop.exit1184 ], [ %.sroa.6730.1, %593 ] +._crit_edge: ; preds = %593, %._crit_edge.loopexit.split.loop.exit1186, %127 + %195 = phi ptr [ %131, %127 ], [ %194, %._crit_edge.loopexit.split.loop.exit1186 ], [ %595, %593 ] + %.sroa.2728.0.lcssa = phi i8 [ 2, %127 ], [ %.sroa.2728.01121, %._crit_edge.loopexit.split.loop.exit1186 ], [ %.sroa.2728.1, %593 ] + %.sroa.6730.0.lcssa = phi i32 [ undef, %127 ], [ %.sroa.6730.01122, %._crit_edge.loopexit.split.loop.exit1186 ], [ %.sroa.6730.1, %593 ] call void @llvm.lifetime.end.p0(ptr nonnull %.sroa.7) call void @llvm.lifetime.end.p0(ptr nonnull %.sroa.8312) call void @llvm.lifetime.start.p0(ptr nonnull %33), !noalias !1242 @@ -5986,7 +5986,7 @@ default.unreachable: ; preds = %396, %386, %376, %3 store i32 %.sroa.6730.0.lcssa, ptr %.sroa.346.sroa.3.0..sroa.346.0..sroa_idx.sroa_idx, align 4 %344 = load i64, ptr %1, align 8, !range !810, !noundef !11 %345 = icmp sgt i64 %344, -9223372036854775802 - br i1 %345, label %349, label %.sink.split1188 + br i1 %345, label %349, label %.sink.split1190 .sink.split: ; preds = %.thread862, %117, %337 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %.sroa.6, ptr noundef nonnull align 8 dereferenceable(32) %.sroa.9, i64 32, i1 false) @@ -5999,13 +5999,13 @@ default.unreachable: ; preds = %396, %386, %376, %3 %347 = load i64, ptr %1, align 8, !range !810 %348 = icmp sgt i64 %347, -9223372036854775802 %or.cond152 = select i1 %115, i1 true, i1 %348 - br i1 %or.cond152, label %349, label %.sink.split1188 + br i1 %or.cond152, label %349, label %.sink.split1190 -.sink.split1188: ; preds = %.critedge148, %.sink.split, %343 +.sink.split1190: ; preds = %.critedge148, %.sink.split, %343 call void @"_ZN4core3ptr73drop_in_place$LT$deserr..value..Value$LT$serde_json..value..Value$GT$$GT$17h42e8fd0d158193feE.llvm.1929265744411185926"(ptr noalias noundef nonnull align 8 dereferenceable(72) %1) br label %349 -349: ; preds = %.sink.split1188, %.critedge148, %.sink.split, %343 +349: ; preds = %.sink.split1190, %.critedge148, %.sink.split, %343 ret void 350: ; preds = %662, %651, %664, %659, %654, %653, %652, %649, %.thread874, %320, %312, %305, %299, %193 @@ -6040,7 +6040,7 @@ default.unreachable: ; preds = %396, %386, %376, %3 %354 = xor i64 %.sroa.0326.0.copyload, -9223372036854775808 %355 = call i64 @llvm.umin.i64(i64 %354, i64 5) switch i64 %355, label %default.unreachable [ - i64 0, label %"_ZN6deserr10serde_json79_$LT$impl$u20$deserr..value..IntoValue$u20$for$u20$serde_json..value..Value$GT$10into_value17hbd07734994dbc5d2E.exit.thread1182" + i64 0, label %"_ZN6deserr10serde_json79_$LT$impl$u20$deserr..value..IntoValue$u20$for$u20$serde_json..value..Value$GT$10into_value17hbd07734994dbc5d2E.exit.thread1184" i64 1, label %356 i64 2, label %357 i64 3, label %358 @@ -6048,7 +6048,7 @@ default.unreachable: ; preds = %396, %386, %376, %3 i64 5, label %"_ZN6deserr10serde_json79_$LT$impl$u20$deserr..value..IntoValue$u20$for$u20$serde_json..value..Value$GT$10into_value17hbd07734994dbc5d2E.exit" ] -"_ZN6deserr10serde_json79_$LT$impl$u20$deserr..value..IntoValue$u20$for$u20$serde_json..value..Value$GT$10into_value17hbd07734994dbc5d2E.exit.thread1182": ; preds = %353 +"_ZN6deserr10serde_json79_$LT$impl$u20$deserr..value..IntoValue$u20$for$u20$serde_json..value..Value$GT$10into_value17hbd07734994dbc5d2E.exit.thread1184": ; preds = %353 store i64 -9223372036854775808, ptr %101, align 8, !alias.scope !1324, !noalias !1321 call void @llvm.lifetime.start.p0(ptr nonnull %100) store ptr %204, ptr %168, align 8 @@ -6095,7 +6095,7 @@ default.unreachable: ; preds = %396, %386, %376, %3 %362 = xor i64 %.sroa.0388.0.copyload, -9223372036854775808 %363 = call i64 @llvm.umin.i64(i64 %362, i64 5) switch i64 %363, label %default.unreachable [ - i64 0, label %"_ZN6deserr10serde_json79_$LT$impl$u20$deserr..value..IntoValue$u20$for$u20$serde_json..value..Value$GT$10into_value17hbd07734994dbc5d2E.exit189.thread1180" + i64 0, label %"_ZN6deserr10serde_json79_$LT$impl$u20$deserr..value..IntoValue$u20$for$u20$serde_json..value..Value$GT$10into_value17hbd07734994dbc5d2E.exit189.thread1182" i64 1, label %364 i64 2, label %365 i64 3, label %366 @@ -6103,7 +6103,7 @@ default.unreachable: ; preds = %396, %386, %376, %3 i64 5, label %"_ZN6deserr10serde_json79_$LT$impl$u20$deserr..value..IntoValue$u20$for$u20$serde_json..value..Value$GT$10into_value17hbd07734994dbc5d2E.exit189" ] -"_ZN6deserr10serde_json79_$LT$impl$u20$deserr..value..IntoValue$u20$for$u20$serde_json..value..Value$GT$10into_value17hbd07734994dbc5d2E.exit189.thread1180": ; preds = %361 +"_ZN6deserr10serde_json79_$LT$impl$u20$deserr..value..IntoValue$u20$for$u20$serde_json..value..Value$GT$10into_value17hbd07734994dbc5d2E.exit189.thread1182": ; preds = %361 store i64 -9223372036854775808, ptr %98, align 8, !alias.scope !1334, !noalias !1331 call void @llvm.lifetime.start.p0(ptr nonnull %97) store ptr %204, ptr %153, align 8 @@ -6319,7 +6319,7 @@ default.unreachable: ; preds = %396, %386, %376, %3 br label %"_ZN6deserr10serde_json79_$LT$impl$u20$deserr..value..IntoValue$u20$for$u20$serde_json..value..Value$GT$10into_value17hbd07734994dbc5d2E.exit228" "_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h4dd919777ea29ee7E.exit219": ; preds = %202 - %bcmp.i218 = call i32 @bcmp(ptr nonnull readonly align 1 %204, ptr nonnull @anon.78eae7f224e6343d741e2d2fcd8941ab.120, i64 %205), !alias.scope !1361 + %bcmp.i218 = call i32 @bcmp(ptr noundef nonnull readonly align 1 dereferenceable(9) %204, ptr noundef nonnull dereferenceable(9) @anon.78eae7f224e6343d741e2d2fcd8941ab.120, i64 9), !alias.scope !1361 %395 = icmp eq i32 %bcmp.i218, 0 br i1 %395, label %396, label %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h4dd919777ea29ee7E.exit219.thread" @@ -6349,7 +6349,7 @@ default.unreachable: ; preds = %396, %386, %376, %3 %397 = xor i64 %.sroa.0647.0.copyload, -9223372036854775808 %398 = call i64 @llvm.umin.i64(i64 %397, i64 5) switch i64 %398, label %default.unreachable [ - i64 0, label %"_ZN6deserr10serde_json79_$LT$impl$u20$deserr..value..IntoValue$u20$for$u20$serde_json..value..Value$GT$10into_value17hbd07734994dbc5d2E.exit237.thread1178" + i64 0, label %"_ZN6deserr10serde_json79_$LT$impl$u20$deserr..value..IntoValue$u20$for$u20$serde_json..value..Value$GT$10into_value17hbd07734994dbc5d2E.exit237.thread1180" i64 1, label %399 i64 2, label %400 i64 3, label %401 @@ -6357,11 +6357,11 @@ default.unreachable: ; preds = %396, %386, %376, %3 i64 5, label %"_ZN6deserr10serde_json79_$LT$impl$u20$deserr..value..IntoValue$u20$for$u20$serde_json..value..Value$GT$10into_value17hbd07734994dbc5d2E.exit237" ] -"_ZN6deserr10serde_json79_$LT$impl$u20$deserr..value..IntoValue$u20$for$u20$serde_json..value..Value$GT$10into_value17hbd07734994dbc5d2E.exit237.thread1178": ; preds = %396 +"_ZN6deserr10serde_json79_$LT$impl$u20$deserr..value..IntoValue$u20$for$u20$serde_json..value..Value$GT$10into_value17hbd07734994dbc5d2E.exit237.thread1180": ; preds = %396 store i64 -9223372036854775808, ptr %77, align 8, !alias.scope !1368, !noalias !1365 call void @llvm.lifetime.start.p0(ptr nonnull %76) store ptr %204, ptr %161, align 8 - store i64 %205, ptr %162, align 8 + store i64 9, ptr %162, align 8 br label %409 399: ; preds = %396 @@ -6416,7 +6416,7 @@ default.unreachable: ; preds = %396, %386, %376, %3 store i64 %.sink, ptr %77, align 8, !alias.scope !1368, !noalias !1365 call void @llvm.lifetime.start.p0(ptr nonnull %76) store ptr %204, ptr %161, align 8 - store i64 %205, ptr %162, align 8 + store i64 9, ptr %162, align 8 store ptr %2, ptr %163, align 8 store i64 1, ptr %76, align 8 br label %410 @@ -6429,13 +6429,13 @@ default.unreachable: ; preds = %396, %386, %376, %3 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %.sroa.10659.sroa.6.0..sroa.10659.0..sroa_idx660.sroa_idx, ptr noundef nonnull align 8 dereferenceable(40) %183, i64 40, i1 false) call void @llvm.lifetime.start.p0(ptr nonnull %76) store ptr %204, ptr %161, align 8 - store i64 %205, ptr %162, align 8 + store i64 9, ptr %162, align 8 store ptr %2, ptr %163, align 8 store i64 1, ptr %76, align 8 %408 = icmp eq i64 %.sroa.0647.0.copyload, -9223372036854775808 br i1 %408, label %409, label %410 -409: ; preds = %"_ZN6deserr10serde_json79_$LT$impl$u20$deserr..value..IntoValue$u20$for$u20$serde_json..value..Value$GT$10into_value17hbd07734994dbc5d2E.exit237.thread1178", %"_ZN6deserr10serde_json79_$LT$impl$u20$deserr..value..IntoValue$u20$for$u20$serde_json..value..Value$GT$10into_value17hbd07734994dbc5d2E.exit237" +409: ; preds = %"_ZN6deserr10serde_json79_$LT$impl$u20$deserr..value..IntoValue$u20$for$u20$serde_json..value..Value$GT$10into_value17hbd07734994dbc5d2E.exit237.thread1180", %"_ZN6deserr10serde_json79_$LT$impl$u20$deserr..value..IntoValue$u20$for$u20$serde_json..value..Value$GT$10into_value17hbd07734994dbc5d2E.exit237" invoke void @"_ZN4core3ptr73drop_in_place$LT$deserr..value..Value$LT$serde_json..value..Value$GT$$GT$17h42e8fd0d158193feE.llvm.784653754634180241"(ptr noalias noundef nonnull align 8 dereferenceable(72) %77) to label %415 unwind label %.thread879.loopexit @@ -7000,8 +7000,8 @@ default.unreachable: ; preds = %396, %386, %376, %3 br label %519 "_ZN6deserr10serde_json79_$LT$impl$u20$deserr..value..IntoValue$u20$for$u20$serde_json..value..Value$GT$10into_value17hbd07734994dbc5d2E.exit189.thread": ; preds = %367, %366, %365, %364 - %.sink1189 = phi i64 [ -9223372036854775802, %367 ], [ -9223372036854775803, %366 ], [ %switch.select11.i187, %365 ], [ -9223372036854775807, %364 ] - store i64 %.sink1189, ptr %98, align 8, !alias.scope !1334, !noalias !1331 + %.sink1191 = phi i64 [ -9223372036854775802, %367 ], [ -9223372036854775803, %366 ], [ %switch.select11.i187, %365 ], [ -9223372036854775807, %364 ] + store i64 %.sink1191, ptr %98, align 8, !alias.scope !1334, !noalias !1331 call void @llvm.lifetime.start.p0(ptr nonnull %97) store ptr %204, ptr %153, align 8 store i64 4, ptr %154, align 8 @@ -7023,12 +7023,12 @@ default.unreachable: ; preds = %396, %386, %376, %3 %521 = icmp eq i64 %.sroa.0388.0.copyload, -9223372036854775808 br i1 %521, label %522, label %523 -522: ; preds = %"_ZN6deserr10serde_json79_$LT$impl$u20$deserr..value..IntoValue$u20$for$u20$serde_json..value..Value$GT$10into_value17hbd07734994dbc5d2E.exit189.thread1180", %"_ZN6deserr10serde_json79_$LT$impl$u20$deserr..value..IntoValue$u20$for$u20$serde_json..value..Value$GT$10into_value17hbd07734994dbc5d2E.exit189" +522: ; preds = %"_ZN6deserr10serde_json79_$LT$impl$u20$deserr..value..IntoValue$u20$for$u20$serde_json..value..Value$GT$10into_value17hbd07734994dbc5d2E.exit189.thread1182", %"_ZN6deserr10serde_json79_$LT$impl$u20$deserr..value..IntoValue$u20$for$u20$serde_json..value..Value$GT$10into_value17hbd07734994dbc5d2E.exit189" invoke void @"_ZN4core3ptr73drop_in_place$LT$deserr..value..Value$LT$serde_json..value..Value$GT$$GT$17h42e8fd0d158193feE.llvm.784653754634180241"(ptr noalias noundef nonnull align 8 dereferenceable(72) %98) to label %528 unwind label %.thread879.loopexit 523: ; preds = %"_ZN6deserr10serde_json79_$LT$impl$u20$deserr..value..IntoValue$u20$for$u20$serde_json..value..Value$GT$10into_value17hbd07734994dbc5d2E.exit189.thread", %"_ZN6deserr10serde_json79_$LT$impl$u20$deserr..value..IntoValue$u20$for$u20$serde_json..value..Value$GT$10into_value17hbd07734994dbc5d2E.exit189" - %524 = phi i64 [ %.sink1189, %"_ZN6deserr10serde_json79_$LT$impl$u20$deserr..value..IntoValue$u20$for$u20$serde_json..value..Value$GT$10into_value17hbd07734994dbc5d2E.exit189.thread" ], [ %.sroa.0388.0.copyload, %"_ZN6deserr10serde_json79_$LT$impl$u20$deserr..value..IntoValue$u20$for$u20$serde_json..value..Value$GT$10into_value17hbd07734994dbc5d2E.exit189" ] + %524 = phi i64 [ %.sink1191, %"_ZN6deserr10serde_json79_$LT$impl$u20$deserr..value..IntoValue$u20$for$u20$serde_json..value..Value$GT$10into_value17hbd07734994dbc5d2E.exit189.thread" ], [ %.sroa.0388.0.copyload, %"_ZN6deserr10serde_json79_$LT$impl$u20$deserr..value..IntoValue$u20$for$u20$serde_json..value..Value$GT$10into_value17hbd07734994dbc5d2E.exit189" ] call void @llvm.lifetime.start.p0(ptr nonnull %.sroa.7.i253.sroa.11) %525 = icmp eq i64 %524, -9223372036854775803 br i1 %525, label %"_ZN6deserr5impls75_$LT$impl$u20$deserr..Deserr$LT$E$GT$$u20$for$u20$alloc..string..String$GT$22deserialize_from_value17hce515468a0cf5346E.exit.thread.i", label %"_ZN6deserr5impls75_$LT$impl$u20$deserr..Deserr$LT$E$GT$$u20$for$u20$alloc..string..String$GT$22deserialize_from_value17hce515468a0cf5346E.exit.i" @@ -7175,8 +7175,8 @@ default.unreachable: ; preds = %396, %386, %376, %3 br label %.critedge142 "_ZN6deserr10serde_json79_$LT$impl$u20$deserr..value..IntoValue$u20$for$u20$serde_json..value..Value$GT$10into_value17hbd07734994dbc5d2E.exit.thread": ; preds = %359, %358, %357, %356 - %.sink1190 = phi i64 [ -9223372036854775802, %359 ], [ -9223372036854775803, %358 ], [ %switch.select11.i, %357 ], [ -9223372036854775807, %356 ] - store i64 %.sink1190, ptr %101, align 8, !alias.scope !1324, !noalias !1321 + %.sink1192 = phi i64 [ -9223372036854775802, %359 ], [ -9223372036854775803, %358 ], [ %switch.select11.i, %357 ], [ -9223372036854775807, %356 ] + store i64 %.sink1192, ptr %101, align 8, !alias.scope !1324, !noalias !1321 call void @llvm.lifetime.start.p0(ptr nonnull %100) store ptr %204, ptr %168, align 8 store i64 11, ptr %169, align 8 @@ -7198,12 +7198,12 @@ default.unreachable: ; preds = %396, %386, %376, %3 %554 = icmp eq i64 %.sroa.0326.0.copyload, -9223372036854775808 br i1 %554, label %555, label %556 -555: ; preds = %"_ZN6deserr10serde_json79_$LT$impl$u20$deserr..value..IntoValue$u20$for$u20$serde_json..value..Value$GT$10into_value17hbd07734994dbc5d2E.exit.thread1182", %"_ZN6deserr10serde_json79_$LT$impl$u20$deserr..value..IntoValue$u20$for$u20$serde_json..value..Value$GT$10into_value17hbd07734994dbc5d2E.exit" +555: ; preds = %"_ZN6deserr10serde_json79_$LT$impl$u20$deserr..value..IntoValue$u20$for$u20$serde_json..value..Value$GT$10into_value17hbd07734994dbc5d2E.exit.thread1184", %"_ZN6deserr10serde_json79_$LT$impl$u20$deserr..value..IntoValue$u20$for$u20$serde_json..value..Value$GT$10into_value17hbd07734994dbc5d2E.exit" invoke void @"_ZN4core3ptr73drop_in_place$LT$deserr..value..Value$LT$serde_json..value..Value$GT$$GT$17h42e8fd0d158193feE.llvm.784653754634180241"(ptr noalias noundef nonnull align 8 dereferenceable(72) %101) to label %561 unwind label %.thread879.loopexit 556: ; preds = %"_ZN6deserr10serde_json79_$LT$impl$u20$deserr..value..IntoValue$u20$for$u20$serde_json..value..Value$GT$10into_value17hbd07734994dbc5d2E.exit.thread", %"_ZN6deserr10serde_json79_$LT$impl$u20$deserr..value..IntoValue$u20$for$u20$serde_json..value..Value$GT$10into_value17hbd07734994dbc5d2E.exit" - %557 = phi i64 [ %.sink1190, %"_ZN6deserr10serde_json79_$LT$impl$u20$deserr..value..IntoValue$u20$for$u20$serde_json..value..Value$GT$10into_value17hbd07734994dbc5d2E.exit.thread" ], [ %.sroa.0326.0.copyload, %"_ZN6deserr10serde_json79_$LT$impl$u20$deserr..value..IntoValue$u20$for$u20$serde_json..value..Value$GT$10into_value17hbd07734994dbc5d2E.exit" ] + %557 = phi i64 [ %.sink1192, %"_ZN6deserr10serde_json79_$LT$impl$u20$deserr..value..IntoValue$u20$for$u20$serde_json..value..Value$GT$10into_value17hbd07734994dbc5d2E.exit.thread" ], [ %.sroa.0326.0.copyload, %"_ZN6deserr10serde_json79_$LT$impl$u20$deserr..value..IntoValue$u20$for$u20$serde_json..value..Value$GT$10into_value17hbd07734994dbc5d2E.exit" ] call void @llvm.lifetime.start.p0(ptr nonnull %.sroa.7.i268.sroa.11) %558 = icmp eq i64 %557, -9223372036854775803 br i1 %558, label %"_ZN6deserr5impls75_$LT$impl$u20$deserr..Deserr$LT$E$GT$$u20$for$u20$alloc..string..String$GT$22deserialize_from_value17hbef9b87fa41e5163E.exit.thread.i", label %"_ZN6deserr5impls75_$LT$impl$u20$deserr..Deserr$LT$E$GT$$u20$for$u20$alloc..string..String$GT$22deserialize_from_value17hbef9b87fa41e5163E.exit.i" @@ -7581,7 +7581,7 @@ default.unreachable: ; preds = %396, %386, %376, %3 call void @llvm.lifetime.end.p0(ptr nonnull %.sroa.6) %.old = load i64, ptr %1, align 8, !range !810, !noundef !11 %.old151 = icmp sgt i64 %.old, -9223372036854775802 - br i1 %.old151, label %349, label %.sink.split1188 + br i1 %.old151, label %349, label %.sink.split1190 649: ; preds = %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h4dd919777ea29ee7E.exit219.thread" %lpad.thr_comm.split-lp = landingpad { ptr, i32 } diff --git a/bench/msdfgen/optimized/edge-segments.ll b/bench/msdfgen/optimized/edge-segments.ll index b324a76e89a..8a2c234afe1 100644 --- a/bench/msdfgen/optimized/edge-segments.ll +++ b/bench/msdfgen/optimized/edge-segments.ll @@ -1546,8 +1546,8 @@ entry: lor.lhs.false: ; preds = %entry %cmp10 = fcmp oge double %y, %1 %cmp15 = fcmp olt double %y, %0 - %or.cond5 = and i1 %cmp15, %cmp10 - br i1 %or.cond5, label %if.then, label %return + %or.cond6 = and i1 %cmp15, %cmp10 + br i1 %or.cond6, label %if.then, label %return if.then: ; preds = %lor.lhs.false, %entry %sub = fsub double %y, %0 @@ -1567,8 +1567,8 @@ if.then: ; preds = %lor.lhs.false, %ent %conv.i = zext i1 %cmp.i to i32 %cmp1.i = fcmp olt double %sub39, 0.000000e+00 %conv2.neg.i = sext i1 %cmp1.i to i32 - %sub.i6 = add nsw i32 %conv2.neg.i, %conv.i - store i32 %sub.i6, ptr %dy, align 4 + %sub.i7 = add nsw i32 %conv2.neg.i, %conv.i + store i32 %sub.i7, ptr %dy, align 4 br label %return return: ; preds = %lor.lhs.false, %if.then @@ -1602,8 +1602,8 @@ lor.lhs.false: ; preds = %if.then %y30 = getelementptr inbounds nuw i8, ptr %this, i64 56 %4 = load double, ptr %y30, align 8 %cmp31 = fcmp olt double %2, %4 - %or.cond51 = select i1 %cmp24, i1 %cmp31, i1 false - br i1 %or.cond51, label %if.then32, label %if.end35 + %or.cond52 = select i1 %cmp24, i1 %cmp31, i1 false + br i1 %or.cond52, label %if.then32, label %if.end35 if.then32: ; preds = %lor.lhs.false, %if.then store i32 1, ptr %dy, align 4 @@ -1626,13 +1626,13 @@ if.end35: ; preds = %lor.lhs.false, %if. %agg.tmp42.sroa.0.0.copyload = load double, ptr %arrayidx44, align 8 %agg.tmp42.sroa.2.0.arrayidx44.sroa_idx = getelementptr inbounds nuw i8, ptr %this, i64 56 %agg.tmp42.sroa.2.0.copyload = load double, ptr %agg.tmp42.sroa.2.0.arrayidx44.sroa_idx, align 8 - %sub.i54 = fsub double %agg.tmp42.sroa.0.0.copyload, %agg.tmp.sroa.0.0.copyload - %sub3.i55 = fsub double %agg.tmp42.sroa.2.0.copyload, %agg.tmp.sroa.2.0.copyload - %sub.i58 = fsub double %sub.i54, %sub.i - %sub3.i59 = fsub double %sub3.i55, %sub3.i + %sub.i55 = fsub double %agg.tmp42.sroa.0.0.copyload, %agg.tmp.sroa.0.0.copyload + %sub3.i56 = fsub double %agg.tmp42.sroa.2.0.copyload, %agg.tmp.sroa.2.0.copyload + %sub.i59 = fsub double %sub.i55, %sub.i + %sub3.i60 = fsub double %sub3.i56, %sub3.i %mul = fmul double %sub3.i, 2.000000e+00 %sub = fsub double %agg.tmp38.sroa.2.0.copyload, %y - %call56 = call noundef i32 @_ZN7msdfgen14solveQuadraticEPdddd(ptr noundef nonnull %t, double noundef %sub3.i59, double noundef %mul, double noundef %sub) + %call56 = call noundef i32 @_ZN7msdfgen14solveQuadraticEPdddd(ptr noundef nonnull %t, double noundef %sub3.i60, double noundef %mul, double noundef %sub) %cmp57 = icmp sgt i32 %call56, 1 br i1 %cmp57, label %land.lhs.true58, label %if.end67 @@ -1649,8 +1649,8 @@ if.then62: ; preds = %land.lhs.true58 br label %for.body.preheader if.end67: ; preds = %if.end35 - %cmp6862 = icmp eq i32 %call56, 1 - br i1 %cmp6862, label %for.body.preheader, label %for.end + %cmp6863 = icmp eq i32 %call56, 1 + br i1 %cmp6863, label %for.body.preheader, label %for.end for.body.preheader: ; preds = %land.lhs.true58, %if.then62, %if.end67 %7 = zext nneg i32 %call56 to i64 @@ -1658,40 +1658,40 @@ for.body.preheader: ; preds = %land.lhs.true58, %i for.body: ; preds = %for.body.preheader, %for.inc %indvars.iv = phi i64 [ 0, %for.body.preheader ], [ %indvars.iv.next, %for.inc ] - %total.164 = phi i32 [ %total.0, %for.body.preheader ], [ %total.2, %for.inc ] - %nextDY.163 = phi i32 [ %nextDY.0, %for.body.preheader ], [ %nextDY.2, %for.inc ] + %total.165 = phi i32 [ %total.0, %for.body.preheader ], [ %total.2, %for.inc ] + %nextDY.164 = phi i32 [ %nextDY.0, %for.body.preheader ], [ %nextDY.2, %for.inc ] %arrayidx71 = getelementptr inbounds nuw double, ptr %t, i64 %indvars.iv %8 = load double, ptr %arrayidx71, align 8 %cmp72 = fcmp ult double %8, 0.000000e+00 %cmp76 = fcmp ugt double %8, 1.000000e+00 - %or.cond52 = or i1 %cmp72, %cmp76 - br i1 %or.cond52, label %for.inc, label %if.then77 + %or.cond53 = or i1 %cmp72, %cmp76 + br i1 %or.cond53, label %for.inc, label %if.then77 if.then77: ; preds = %for.body %9 = load double, ptr %p, align 8 %mul83 = fmul double %8, 2.000000e+00 %10 = call double @llvm.fmuladd.f64(double %mul83, double %sub.i, double %9) %mul90 = fmul double %8, %8 - %11 = call double @llvm.fmuladd.f64(double %mul90, double %sub.i58, double %10) - %idxprom93 = zext nneg i32 %total.164 to i64 + %11 = call double @llvm.fmuladd.f64(double %mul90, double %sub.i59, double %10) + %idxprom93 = zext nneg i32 %total.165 to i64 %arrayidx94 = getelementptr inbounds nuw double, ptr %x, i64 %idxprom93 store double %11, ptr %arrayidx94, align 8 - %conv = sitofp i32 %nextDY.163 to double - %12 = call double @llvm.fmuladd.f64(double %8, double %sub3.i59, double %sub3.i) + %conv = sitofp i32 %nextDY.164 to double + %12 = call double @llvm.fmuladd.f64(double %8, double %sub3.i60, double %sub3.i) %mul100 = fmul double %12, %conv %cmp101 = fcmp ult double %mul100, 0.000000e+00 br i1 %cmp101, label %for.inc, label %if.then102 if.then102: ; preds = %if.then77 - %inc103 = add nuw nsw i32 %total.164, 1 + %inc103 = add nuw nsw i32 %total.165, 1 %arrayidx105 = getelementptr inbounds nuw i32, ptr %dy, i64 %idxprom93 - store i32 %nextDY.163, ptr %arrayidx105, align 4 - %sub106 = sub nsw i32 0, %nextDY.163 + store i32 %nextDY.164, ptr %arrayidx105, align 4 + %sub106 = sub nsw i32 0, %nextDY.164 br label %for.inc for.inc: ; preds = %for.body, %if.then102, %if.then77 - %nextDY.2 = phi i32 [ %sub106, %if.then102 ], [ %nextDY.163, %if.then77 ], [ %nextDY.163, %for.body ] - %total.2 = phi i32 [ %inc103, %if.then102 ], [ %total.164, %if.then77 ], [ %total.164, %for.body ] + %nextDY.2 = phi i32 [ %sub106, %if.then102 ], [ %nextDY.164, %if.then77 ], [ %nextDY.164, %for.body ] + %total.2 = phi i32 [ %inc103, %if.then102 ], [ %total.165, %if.then77 ], [ %total.165, %for.body ] %indvars.iv.next = add nuw nsw i64 %indvars.iv, 1 %cmp68 = icmp samesign ult i64 %indvars.iv.next, %7 %cmp69 = icmp slt i32 %total.2, 2 @@ -1711,7 +1711,7 @@ if.then114: ; preds = %for.end %or.cond = select i1 %cmp115, i1 %cmp117, i1 false %spec.select = select i1 %or.cond, i32 -1, i32 %nextDY.1.lcssa %dec = sext i1 %or.cond to i32 - %spec.select53 = add nsw i32 %total.1.lcssa, %dec + %spec.select54 = add nsw i32 %total.1.lcssa, %dec %15 = load double, ptr %agg.tmp.sroa.2.0.arrayidx37.sroa_idx, align 8 %cmp126 = fcmp olt double %14, %15 br i1 %cmp126, label %land.lhs.true143, label %lor.lhs.false127 @@ -1723,31 +1723,31 @@ lor.lhs.false127: ; preds = %if.then114 land.lhs.true135: ; preds = %lor.lhs.false127 %16 = load double, ptr %y2, align 8 %cmp142 = fcmp olt double %14, %16 - %cmp144 = icmp slt i32 %spec.select53, 2 + %cmp144 = icmp slt i32 %spec.select54, 2 %or.cond1 = select i1 %cmp142, i1 %cmp144, i1 false br i1 %or.cond1, label %if.then145, label %if.end158 land.lhs.true143: ; preds = %if.then114 - %cmp144.old = icmp slt i32 %spec.select53, 2 + %cmp144.old = icmp slt i32 %spec.select54, 2 br i1 %cmp144.old, label %if.then145, label %if.end158.thread if.then145: ; preds = %land.lhs.true135, %land.lhs.true143 %17 = load double, ptr %arrayidx44, align 8 - %idxprom149 = sext i32 %spec.select53 to i64 + %idxprom149 = sext i32 %spec.select54 to i64 %arrayidx150 = getelementptr inbounds double, ptr %x, i64 %idxprom149 store double %17, ptr %arrayidx150, align 8 %cmp151 = icmp slt i32 %spec.select, 0 br i1 %cmp151, label %if.then152, label %if.end158 if.then152: ; preds = %if.then145 - %inc153 = add nsw i32 %spec.select53, 1 + %inc153 = add nsw i32 %spec.select54, 1 %arrayidx155 = getelementptr inbounds i32, ptr %dy, i64 %idxprom149 store i32 -1, ptr %arrayidx155, align 4 br label %if.end158 if.end158: ; preds = %lor.lhs.false127, %land.lhs.true135, %if.then152, %if.then145, %for.end %nextDY.3 = phi i32 [ 1, %if.then152 ], [ %nextDY.1.lcssa, %if.then145 ], [ %spec.select, %land.lhs.true135 ], [ %spec.select, %lor.lhs.false127 ], [ %nextDY.1.lcssa, %for.end ] - %total.3 = phi i32 [ %inc153, %if.then152 ], [ %spec.select53, %if.then145 ], [ %spec.select53, %land.lhs.true135 ], [ %spec.select53, %lor.lhs.false127 ], [ %total.1.lcssa, %for.end ] + %total.3 = phi i32 [ %inc153, %if.then152 ], [ %spec.select54, %if.then145 ], [ %spec.select54, %land.lhs.true135 ], [ %spec.select54, %lor.lhs.false127 ], [ %total.1.lcssa, %for.end ] %18 = load double, ptr %agg.tmp42.sroa.2.0.arrayidx44.sroa_idx, align 8 %cmp162 = fcmp oge double %y, %18 %cond163 = select i1 %cmp162, i32 1, i32 -1 @@ -1756,18 +1756,18 @@ if.end158: ; preds = %lor.lhs.false127, % if.end158.thread: ; preds = %land.lhs.true143 %19 = load double, ptr %agg.tmp42.sroa.2.0.arrayidx44.sroa_idx, align 8 - %cmp16279 = fcmp oge double %y, %19 - %cond16380 = select i1 %cmp16279, i32 1, i32 -1 - %cmp164.not81 = icmp eq i32 %spec.select, %cond16380 - br i1 %cmp164.not81, label %if.end190, label %if.then167 + %cmp16281 = fcmp oge double %y, %19 + %cond16382 = select i1 %cmp16281, i32 1, i32 -1 + %cmp164.not83 = icmp eq i32 %spec.select, %cond16382 + br i1 %cmp164.not83, label %if.end190, label %if.then167 if.then165: ; preds = %if.end158 %cmp166 = icmp sgt i32 %total.3, 0 br i1 %cmp166, label %if.then167, label %if.else169 if.then167: ; preds = %if.end158.thread, %if.then165 - %total.38387 = phi i32 [ %total.3, %if.then165 ], [ 2, %if.end158.thread ] - %dec168 = add nsw i32 %total.38387, -1 + %total.38589 = phi i32 [ %total.3, %if.then165 ], [ 2, %if.end158.thread ] + %dec168 = add nsw i32 %total.38589, -1 br label %if.end190 if.else169: ; preds = %if.then165 diff --git a/bench/nanosvg/optimized/nanosvgrast.ll b/bench/nanosvg/optimized/nanosvgrast.ll index 84f2751472f..f91ef45a22d 100644 --- a/bench/nanosvg/optimized/nanosvgrast.ll +++ b/bench/nanosvg/optimized/nanosvgrast.ll @@ -7533,8 +7533,8 @@ define internal fastcc void @nsvg__parseGradientStop(ptr noundef %0, ptr noundef %9 = getelementptr inbounds nuw i8, ptr %6, i64 300 store float 1.000000e+00, ptr %9, align 4, !tbaa !33 %10 = load ptr, ptr %1, align 8, !tbaa !15 - %.not54 = icmp eq ptr %10, null - br i1 %.not54, label %._crit_edge, label %.lr.ph + %.not55 = icmp eq ptr %10, null + br i1 %.not55, label %._crit_edge, label %.lr.ph .lr.ph: ; preds = %2, %.lr.ph %indvars.iv = phi i64 [ %indvars.iv.next, %.lr.ph ], [ 0, %2 ] @@ -7573,59 +7573,59 @@ define internal fastcc void @nsvg__parseGradientStop(ptr noundef %0, ptr noundef %32 = load i32, ptr %22, align 8, !tbaa !211 %33 = add i32 %32, -1 %34 = icmp sgt i32 %32, 1 - %.pre71 = load float, ptr %7, align 4, !tbaa !208 - br i1 %34, label %.lr.ph58, label %.thread + %.pre72 = load float, ptr %7, align 4, !tbaa !208 + br i1 %34, label %.lr.ph59, label %.thread -.lr.ph58: ; preds = %31 +.lr.ph59: ; preds = %31 %wide.trip.count = zext nneg i32 %33 to i64 br label %35 -35: ; preds = %.lr.ph58, %40 - %indvars.iv64 = phi i64 [ 0, %.lr.ph58 ], [ %indvars.iv.next65, %40 ] - %36 = getelementptr inbounds nuw %struct.NSVGgradientStop, ptr %29, i64 %indvars.iv64 +35: ; preds = %.lr.ph59, %40 + %indvars.iv65 = phi i64 [ 0, %.lr.ph59 ], [ %indvars.iv.next66, %40 ] + %36 = getelementptr inbounds nuw %struct.NSVGgradientStop, ptr %29, i64 %indvars.iv65 %37 = getelementptr inbounds nuw i8, ptr %36, i64 4 %38 = load float, ptr %37, align 4, !tbaa !180 - %39 = fcmp olt float %.pre71, %38 + %39 = fcmp olt float %.pre72, %38 br i1 %39, label %41, label %40 40: ; preds = %35 - %indvars.iv.next65 = add nuw nsw i64 %indvars.iv64, 1 - %exitcond.not = icmp eq i64 %indvars.iv.next65, %wide.trip.count + %indvars.iv.next66 = add nuw nsw i64 %indvars.iv65, 1 + %exitcond.not = icmp eq i64 %indvars.iv.next66, %wide.trip.count br i1 %exitcond.not, label %.thread, label %35, !llvm.loop !212 41: ; preds = %35 - %42 = trunc nuw nsw i64 %indvars.iv64 to i32 + %42 = trunc nuw nsw i64 %indvars.iv65 to i32 %43 = icmp sgt i32 %33, %42 - br i1 %43, label %.lr.ph60.preheader, label %.thread + br i1 %43, label %.lr.ph61.preheader, label %.thread -.lr.ph60.preheader: ; preds = %41 +.lr.ph61.preheader: ; preds = %41 %44 = zext nneg i32 %32 to i64 %45 = add nsw i64 %44, -1 - %sext = shl i64 %indvars.iv64, 32 + %sext = shl i64 %indvars.iv65, 32 %46 = ashr exact i64 %sext, 32 - br label %.lr.ph60 + br label %.lr.ph61 -.lr.ph60: ; preds = %.lr.ph60.preheader, %.lr.ph60 - %indvars.iv67 = phi i64 [ %45, %.lr.ph60.preheader ], [ %indvars.iv.next68, %.lr.ph60 ] +.lr.ph61: ; preds = %.lr.ph61.preheader, %.lr.ph61 + %indvars.iv68 = phi i64 [ %45, %.lr.ph61.preheader ], [ %indvars.iv.next69, %.lr.ph61 ] %47 = load ptr, ptr %25, align 8, !tbaa !78 - %48 = getelementptr inbounds %struct.NSVGgradientStop, ptr %47, i64 %indvars.iv67 + %48 = getelementptr inbounds %struct.NSVGgradientStop, ptr %47, i64 %indvars.iv68 %49 = getelementptr i8, ptr %48, i64 -8 %50 = load i64, ptr %49, align 4 store i64 %50, ptr %48, align 4 - %indvars.iv.next68 = add nsw i64 %indvars.iv67, -1 - %51 = icmp sgt i64 %indvars.iv.next68, %46 - br i1 %51, label %.lr.ph60, label %.thread.loopexit, !llvm.loop !213 + %indvars.iv.next69 = add nsw i64 %indvars.iv68, -1 + %51 = icmp sgt i64 %indvars.iv.next69, %46 + br i1 %51, label %.lr.ph61, label %.thread.loopexit, !llvm.loop !213 -.thread.loopexit: ; preds = %.lr.ph60 +.thread.loopexit: ; preds = %.lr.ph61 %.pre = load ptr, ptr %25, align 8, !tbaa !78 - %.pre70 = load float, ptr %7, align 4, !tbaa !208 + %.pre71 = load float, ptr %7, align 4, !tbaa !208 br label %.thread .thread: ; preds = %40, %.thread.loopexit, %31, %41 - %52 = phi float [ %.pre71, %41 ], [ %.pre71, %31 ], [ %.pre70, %.thread.loopexit ], [ %.pre71, %40 ] + %52 = phi float [ %.pre72, %41 ], [ %.pre72, %31 ], [ %.pre71, %.thread.loopexit ], [ %.pre72, %40 ] %53 = phi ptr [ %29, %41 ], [ %29, %31 ], [ %.pre, %.thread.loopexit ], [ %29, %40 ] - %.051 = phi i32 [ %42, %41 ], [ %33, %31 ], [ %42, %.thread.loopexit ], [ %33, %40 ] - %54 = sext i32 %.051 to i64 + %.052 = phi i32 [ %42, %41 ], [ %33, %31 ], [ %42, %.thread.loopexit ], [ %33, %40 ] + %54 = sext i32 %.052 to i64 %55 = getelementptr inbounds %struct.NSVGgradientStop, ptr %53, i64 %54 %56 = load i32, ptr %8, align 4, !tbaa !209 %57 = load float, ptr %9, align 4, !tbaa !33 diff --git a/bench/nuttx/optimized/lib_base64.ll b/bench/nuttx/optimized/lib_base64.ll index 4a25a6aafeb..baadef5fa5b 100644 --- a/bench/nuttx/optimized/lib_base64.ll +++ b/bench/nuttx/optimized/lib_base64.ll @@ -142,14 +142,14 @@ define i32 @b64_pton(ptr noundef readonly captures(none) %0, ptr noundef capture .outer.outer: ; preds = %.outer.outer.backedge, %.outer.outer.outer %.054.ph.ph = phi ptr [ %.054.ph.ph.ph, %.outer.outer.outer ], [ null, %.outer.outer.backedge ] %.050.ph.ph = phi ptr [ %.050.ph.ph.ph, %.outer.outer.outer ], [ %8, %.outer.outer.backedge ] - %.not72.ph = phi i1 [ %.not72.ph.ph, %.outer.outer.outer ], [ false, %.outer.outer.backedge ] + %.not73.ph = phi i1 [ %.not73.ph.ph, %.outer.outer.outer ], [ false, %.outer.outer.backedge ] %.044.ph.ph = phi i32 [ %.044.ph.ph.ph, %.outer.outer.outer ], [ %.044.ph.ph.be, %.outer.outer.backedge ] - %.not69 = icmp eq ptr %.054.ph.ph, null + %.not70 = icmp eq ptr %.054.ph.ph, null br label %.outer .outer: ; preds = %.outer.outer, %16 %.050.ph = phi ptr [ %8, %16 ], [ %.050.ph.ph, %.outer.outer ] - %.not72 = phi i1 [ false, %16 ], [ %.not72.ph, %.outer.outer ] + %.not73 = phi i1 [ false, %16 ], [ %.not73.ph, %.outer.outer ] %.044.ph = phi i32 [ 1, %16 ], [ %.044.ph.ph, %.outer.outer ] br label %4 @@ -163,12 +163,12 @@ define i32 @b64_pton(ptr noundef readonly captures(none) %0, ptr noundef capture %7 = sext i8 %5 to i32 %8 = getelementptr inbounds nuw i8, ptr %.050, i64 1 %9 = tail call i32 @isspace(i32 noundef %7) #4 - %.not62 = icmp eq i32 %9, 0 - br i1 %.not62, label %10, label %4, !llvm.loop !8 + %.not63 = icmp eq i32 %9, 0 + br i1 %.not63, label %10, label %4, !llvm.loop !8 10: ; preds = %6 - %cond80 = icmp eq i8 %5, 61 - br i1 %cond80, label %54, label %11 + %cond81 = icmp eq i8 %5, 61 + br i1 %cond81, label %54, label %11 11: ; preds = %10 %memchr = tail call ptr @memchr(ptr noundef nonnull dereferenceable(1) @g_base64, i32 %7, i64 65) @@ -176,7 +176,7 @@ define i32 @b64_pton(ptr noundef readonly captures(none) %0, ptr noundef capture br i1 %12, label %.loopexit, label %13 13: ; preds = %11 - switch i32 %.044.ph, label %.unreachabledefault162 [ + switch i32 %.044.ph, label %.unreachabledefault163 [ i32 0, label %14 i32 1, label %20 i32 2, label %32 @@ -184,21 +184,21 @@ define i32 @b64_pton(ptr noundef readonly captures(none) %0, ptr noundef capture ] 14: ; preds = %13 - br i1 %.not69, label %.outer.outer.backedge, label %15, !llvm.loop !8 + br i1 %.not70, label %.outer.outer.backedge, label %15, !llvm.loop !8 15: ; preds = %14 - br i1 %.not70, label %16, label %.loopexit + br i1 %.not71, label %16, label %.loopexit 16: ; preds = %15 %17 = ptrtoint ptr %memchr to i64 %18 = trunc i64 %17 to i8 - %.tr71 = sub i8 %18, ptrtoint (ptr @g_base64 to i8) - %19 = shl i8 %.tr71, 2 + %.tr72 = sub i8 %18, ptrtoint (ptr @g_base64 to i8) + %19 = shl i8 %.tr72, 2 store i8 %19, ptr %.054.ph.ph, align 1 br label %.outer, !llvm.loop !8 20: ; preds = %13 - br i1 %.not69, label %.outer.outer.backedge, label %21 + br i1 %.not70, label %.outer.outer.backedge, label %21 .outer.outer.backedge: ; preds = %14, %20, %32 %.044.ph.ph.be = phi i32 [ 3, %32 ], [ 2, %20 ], [ 1, %14 ] @@ -206,8 +206,8 @@ define i32 @b64_pton(ptr noundef readonly captures(none) %0, ptr noundef capture 21: ; preds = %20 %22 = add i64 %.046.ph.ph.ph, 1 - %.not67 = icmp ult i64 %22, %2 - br i1 %.not67, label %23, label %.loopexit + %.not68 = icmp ult i64 %22, %2 + br i1 %.not68, label %23, label %.loopexit 23: ; preds = %21 %24 = ptrtoint ptr %memchr to i64 @@ -218,18 +218,18 @@ define i32 @b64_pton(ptr noundef readonly captures(none) %0, ptr noundef capture %29 = trunc i64 %26 to i8 %30 = or i8 %28, %29 store i8 %30, ptr %.054.ph.ph, align 1 - %.tr68 = trunc i64 %24 to i8 - %31 = shl i8 %.tr68, 4 + %.tr69 = trunc i64 %24 to i8 + %31 = shl i8 %.tr69, 4 store i8 %31, ptr %27, align 1 br label %.outer.outer.outer.backedge 32: ; preds = %13 - br i1 %.not69, label %.outer.outer.backedge, label %33 + br i1 %.not70, label %.outer.outer.backedge, label %33 33: ; preds = %32 %34 = add i64 %.046.ph.ph.ph, 1 - %.not65 = icmp ult i64 %34, %2 - br i1 %.not65, label %35, label %.loopexit + %.not66 = icmp ult i64 %34, %2 + br i1 %.not66, label %35, label %.loopexit 35: ; preds = %33 %36 = ptrtoint ptr %memchr to i64 @@ -248,7 +248,7 @@ define i32 @b64_pton(ptr noundef readonly captures(none) %0, ptr noundef capture .outer.outer.outer.backedge: ; preds = %35, %23, %52 %.054.ph.ph.ph.be = phi ptr [ %.4, %52 ], [ %27, %23 ], [ %39, %35 ] %.046.ph.ph.ph.be = phi i64 [ %53, %52 ], [ %22, %23 ], [ %34, %35 ] - %.not72.ph.ph.be = phi i1 [ true, %52 ], [ false, %23 ], [ false, %35 ] + %.not73.ph.ph.be = phi i1 [ true, %52 ], [ false, %23 ], [ false, %35 ] %.044.ph.ph.ph.be = phi i32 [ 0, %52 ], [ 2, %23 ], [ 3, %35 ] br label %.outer.outer.outer, !llvm.loop !8 @@ -256,13 +256,13 @@ define i32 @b64_pton(ptr noundef readonly captures(none) %0, ptr noundef capture %.054.ph.ph.ph = phi ptr [ %1, %3 ], [ %.054.ph.ph.ph.be, %.outer.outer.outer.backedge ] %.050.ph.ph.ph = phi ptr [ %0, %3 ], [ %8, %.outer.outer.outer.backedge ] %.046.ph.ph.ph = phi i64 [ 0, %3 ], [ %.046.ph.ph.ph.be, %.outer.outer.outer.backedge ] - %.not72.ph.ph = phi i1 [ true, %3 ], [ %.not72.ph.ph.be, %.outer.outer.outer.backedge ] + %.not73.ph.ph = phi i1 [ true, %3 ], [ %.not73.ph.ph.be, %.outer.outer.outer.backedge ] %.044.ph.ph.ph = phi i32 [ 0, %3 ], [ %.044.ph.ph.ph.be, %.outer.outer.outer.backedge ] - %.not70 = icmp ult i64 %.046.ph.ph.ph, %2 + %.not71 = icmp ult i64 %.046.ph.ph.ph, %2 br label %.outer.outer 44: ; preds = %13 - br i1 %.not69, label %52, label %45 + br i1 %.not70, label %52, label %45 45: ; preds = %44 %46 = ptrtoint ptr %memchr to i64 @@ -291,64 +291,64 @@ define i32 @b64_pton(ptr noundef readonly captures(none) %0, ptr noundef capture ] .preheader: ; preds = %54 - %cond81101 = icmp eq i8 %56, 0 - br i1 %cond81101, label %.loopexit, label %.lr.ph + %cond82102 = icmp eq i8 %56, 0 + br i1 %cond82102, label %.loopexit, label %.lr.ph .lr.ph: ; preds = %.preheader, %59 - %.1103 = phi i32 [ %62, %59 ], [ %57, %.preheader ] - %.252102 = phi ptr [ %60, %59 ], [ %55, %.preheader ] - %58 = tail call i32 @isspace(i32 noundef %.1103) #4 - %.not74 = icmp eq i32 %58, 0 - br i1 %.not74, label %63, label %59 + %.1104 = phi i32 [ %62, %59 ], [ %57, %.preheader ] + %.252103 = phi ptr [ %60, %59 ], [ %55, %.preheader ] + %58 = tail call i32 @isspace(i32 noundef %.1104) #4 + %.not75 = icmp eq i32 %58, 0 + br i1 %.not75, label %63, label %59 59: ; preds = %.lr.ph - %60 = getelementptr inbounds nuw i8, ptr %.252102, i64 1 - %61 = load i8, ptr %.252102, align 1 + %60 = getelementptr inbounds nuw i8, ptr %.252103, i64 1 + %61 = load i8, ptr %.252103, align 1 %62 = sext i8 %61 to i32 - %cond81 = icmp eq i8 %61, 0 - br i1 %cond81, label %.loopexit, label %.lr.ph, !llvm.loop !9 + %cond82 = icmp eq i8 %61, 0 + br i1 %cond82, label %.loopexit, label %.lr.ph, !llvm.loop !9 63: ; preds = %.lr.ph - %.not75 = icmp eq i32 %.1103, 61 - br i1 %.not75, label %64, label %.loopexit + %.not76 = icmp eq i32 %.1104, 61 + br i1 %.not76, label %64, label %.loopexit 64: ; preds = %63 - %65 = getelementptr inbounds nuw i8, ptr %.252102, i64 1 - %66 = load i8, ptr %.252102, align 1 + %65 = getelementptr inbounds nuw i8, ptr %.252103, i64 1 + %66 = load i8, ptr %.252103, align 1 %67 = sext i8 %66 to i32 br label %68 68: ; preds = %64, %54 %.151 = phi ptr [ %65, %64 ], [ %55, %54 ] %.0 = phi i32 [ %67, %64 ], [ %57, %54 ] - %.not76104 = icmp eq i32 %.0, 0 - br i1 %.not76104, label %._crit_edge, label %.lr.ph107 - -.lr.ph107: ; preds = %68, %70 - %.2106 = phi i32 [ %73, %70 ], [ %.0, %68 ] - %.353105 = phi ptr [ %71, %70 ], [ %.151, %68 ] - %69 = tail call i32 @isspace(i32 noundef %.2106) #4 - %.not79 = icmp eq i32 %69, 0 - br i1 %.not79, label %.loopexit, label %70 - -70: ; preds = %.lr.ph107 - %71 = getelementptr inbounds nuw i8, ptr %.353105, i64 1 - %72 = load i8, ptr %.353105, align 1 + %.not77105 = icmp eq i32 %.0, 0 + br i1 %.not77105, label %._crit_edge, label %.lr.ph108 + +.lr.ph108: ; preds = %68, %70 + %.2107 = phi i32 [ %73, %70 ], [ %.0, %68 ] + %.353106 = phi ptr [ %71, %70 ], [ %.151, %68 ] + %69 = tail call i32 @isspace(i32 noundef %.2107) #4 + %.not80 = icmp eq i32 %69, 0 + br i1 %.not80, label %.loopexit, label %70 + +70: ; preds = %.lr.ph108 + %71 = getelementptr inbounds nuw i8, ptr %.353106, i64 1 + %72 = load i8, ptr %.353106, align 1 %73 = sext i8 %72 to i32 - %.not76 = icmp eq i8 %72, 0 - br i1 %.not76, label %._crit_edge, label %.lr.ph107, !llvm.loop !10 + %.not77 = icmp eq i8 %72, 0 + br i1 %.not77, label %._crit_edge, label %.lr.ph108, !llvm.loop !10 ._crit_edge: ; preds = %70, %68 - %.not77 = icmp eq ptr %.054.ph.ph, null - br i1 %.not77, label %77, label %74 + %.not78 = icmp eq ptr %.054.ph.ph, null + br i1 %.not78, label %77, label %74 74: ; preds = %._crit_edge %75 = load i8, ptr %.054.ph.ph, align 1 - %.not78 = icmp eq i8 %75, 0 - br i1 %.not78, label %77, label %.loopexit + %.not79 = icmp eq i8 %75, 0 + br i1 %.not79, label %77, label %.loopexit 76: ; preds = %4 - br i1 %.not72, label %77, label %.loopexit + br i1 %.not73, label %77, label %.loopexit .unreachabledefault: ; preds = %54 unreachable @@ -357,11 +357,11 @@ define i32 @b64_pton(ptr noundef readonly captures(none) %0, ptr noundef capture %78 = trunc i64 %.046.ph.ph.ph to i32 br label %.loopexit -.unreachabledefault162: ; preds = %13 +.unreachabledefault163: ; preds = %13 unreachable -.loopexit: ; preds = %15, %11, %33, %21, %59, %.lr.ph107, %.preheader, %76, %74, %63, %54, %54, %77 - %.049 = phi i32 [ %78, %77 ], [ -1, %54 ], [ -1, %54 ], [ -1, %63 ], [ -1, %74 ], [ -1, %76 ], [ -1, %.preheader ], [ -1, %.lr.ph107 ], [ -1, %59 ], [ -1, %21 ], [ -1, %33 ], [ -1, %11 ], [ -1, %15 ] +.loopexit: ; preds = %15, %11, %33, %21, %59, %.lr.ph108, %.preheader, %76, %74, %63, %54, %54, %77 + %.049 = phi i32 [ %78, %77 ], [ -1, %54 ], [ -1, %54 ], [ -1, %63 ], [ -1, %74 ], [ -1, %76 ], [ -1, %.preheader ], [ -1, %.lr.ph108 ], [ -1, %59 ], [ -1, %21 ], [ -1, %33 ], [ -1, %11 ], [ -1, %15 ] ret i32 %.049 } diff --git a/bench/opencc/optimized/Config.ll b/bench/opencc/optimized/Config.ll index 71fca34bf78..e9aeb7c9997 100644 --- a/bench/opencc/optimized/Config.ll +++ b/bench/opencc/optimized/Config.ll @@ -11414,9 +11414,9 @@ _ZN9rapidjson13GenericReaderINS_4UTF8IcEES2_NS_12CrtAllocatorEE7ConsumeINS4_12Nu %112 = icmp samesign ugt i8 %111, 57 %113 = icmp ugt i64 %.6143515, 9007199254740991 %or.cond = select i1 %112, i1 true, i1 %113 - br i1 %or.cond, label %.thread616, label %115, !prof !328 + br i1 %or.cond, label %.thread617, label %115, !prof !328 -.thread616: ; preds = %.lr.ph518 +.thread617: ; preds = %.lr.ph518 %114 = uitofp i64 %.6143515 to double br label %.lr.ph532.preheader @@ -11439,22 +11439,22 @@ _ZN9rapidjson13GenericReaderINS_4UTF8IcEES2_NS_12CrtAllocatorEE7ConsumeINS4_12Nu %127 = uitofp nneg i64 %121 to double br label %_ZN9rapidjson13GenericReaderINS_4UTF8IcEES2_NS_12CrtAllocatorEE7ConsumeINS4_12NumberStreamINS_25GenericInsituStringStreamIS2_EELb0ELb0EEEEEbRT_NSA_2ChE.exit196.thread -.lr.ph532.preheader: ; preds = %109, %.thread616 - %.398615 = phi double [ %114, %.thread616 ], [ %.196, %109 ] - %.0115614 = phi i32 [ %.1116517, %.thread616 ], [ 0, %109 ] - %.1121613 = phi i8 [ 1, %.thread616 ], [ %.0120369, %109 ] - %.6133612 = phi i32 [ %.7134516, %.thread616 ], [ %.3130368, %109 ] - %.4141611 = phi i64 [ %.6143515, %.thread616 ], [ %.1138367, %109 ] - %.sroa.0.9610 = phi ptr [ %.sroa.0.10514, %.thread616 ], [ %101, %109 ] - %128 = phi i8 [ %111, %.thread616 ], [ %102, %109 ] +.lr.ph532.preheader: ; preds = %109, %.thread617 + %.398616 = phi double [ %114, %.thread617 ], [ %.196, %109 ] + %.0115615 = phi i32 [ %.1116517, %.thread617 ], [ 0, %109 ] + %.1121614 = phi i8 [ 1, %.thread617 ], [ %.0120369, %109 ] + %.6133613 = phi i32 [ %.7134516, %.thread617 ], [ %.3130368, %109 ] + %.4141612 = phi i64 [ %.6143515, %.thread617 ], [ %.1138367, %109 ] + %.sroa.0.9611 = phi ptr [ %.sroa.0.10514, %.thread617 ], [ %101, %109 ] + %128 = phi i8 [ %111, %.thread617 ], [ %102, %109 ] br label %.lr.ph532 .lr.ph532: ; preds = %.lr.ph532.preheader, %142 %129 = phi i8 [ %143, %142 ], [ %128, %.lr.ph532.preheader ] - %.499531 = phi double [ %.5100, %142 ], [ %.398615, %.lr.ph532.preheader ] - %.2117530 = phi i32 [ %.3118, %142 ], [ %.0115614, %.lr.ph532.preheader ] - %.9529 = phi i32 [ %.10, %142 ], [ %.6133612, %.lr.ph532.preheader ] - %.sroa.0.11528 = phi ptr [ %.sroa.0.12, %142 ], [ %.sroa.0.9610, %.lr.ph532.preheader ] + %.499531 = phi double [ %.5100, %142 ], [ %.398616, %.lr.ph532.preheader ] + %.2117530 = phi i32 [ %.3118, %142 ], [ %.0115615, %.lr.ph532.preheader ] + %.9529 = phi i32 [ %.10, %142 ], [ %.6133613, %.lr.ph532.preheader ] + %.sroa.0.11528 = phi ptr [ %.sroa.0.12, %142 ], [ %.sroa.0.9611, %.lr.ph532.preheader ] %130 = icmp samesign ult i8 %129, 58 br i1 %130, label %131, label %.critedge185, !prof !284 @@ -11487,8 +11487,8 @@ _ZN9rapidjson13GenericReaderINS_4UTF8IcEES2_NS_12CrtAllocatorEE7ConsumeINS4_12Nu .critedge185: ; preds = %.lr.ph532, %.critedge180 %.pr398 = phi i8 [ %97, %.critedge180 ], [ %129, %.lr.ph532 ] %.sroa.0.13 = phi ptr [ %.sroa.0.7, %.critedge180 ], [ %.sroa.0.11528, %.lr.ph532 ] - %.7144 = phi i64 [ %.1138367, %.critedge180 ], [ %.4141611, %.lr.ph532 ] - %.2122 = phi i8 [ %.0120369, %.critedge180 ], [ %.1121613, %.lr.ph532 ] + %.7144 = phi i64 [ %.1138367, %.critedge180 ], [ %.4141612, %.lr.ph532 ] + %.2122 = phi i8 [ %.0120369, %.critedge180 ], [ %.1121614, %.lr.ph532 ] %.4119 = phi i32 [ 0, %.critedge180 ], [ %.2117530, %.lr.ph532 ] %.6101 = phi double [ %.196, %.critedge180 ], [ %.499531, %.lr.ph532 ] switch i8 %.pr398, label %_ZN9rapidjson13GenericReaderINS_4UTF8IcEES2_NS_12CrtAllocatorEE7ConsumeINS4_12NumberStreamINS_25GenericInsituStringStreamIS2_EELb0ELb0EEEEEbRT_NSA_2ChE.exit196 [ @@ -11504,8 +11504,8 @@ _ZN9rapidjson13GenericReaderINS_4UTF8IcEES2_NS_12CrtAllocatorEE7ConsumeINS4_12Nu %148 = uitofp i64 %147 to double %.8 = select i1 %145, double %.6101, double %148 %149 = load i8, ptr %.sroa.0.14, align 1, !tbaa !20 - %.not711 = icmp eq i8 %149, 43 - br i1 %.not711, label %_ZN9rapidjson13GenericReaderINS_4UTF8IcEES2_NS_12CrtAllocatorEE7ConsumeINS4_12NumberStreamINS_25GenericInsituStringStreamIS2_EELb0ELb0EEEEEbRT_NSA_2ChE.exit198, label %_ZN9rapidjson13GenericReaderINS_4UTF8IcEES2_NS_12CrtAllocatorEE7ConsumeINS4_12NumberStreamINS_25GenericInsituStringStreamIS2_EELb0ELb0EEEEEbRT_NSA_2ChE.exit197, !prof !284 + %.not712 = icmp eq i8 %149, 43 + br i1 %.not712, label %_ZN9rapidjson13GenericReaderINS_4UTF8IcEES2_NS_12CrtAllocatorEE7ConsumeINS4_12NumberStreamINS_25GenericInsituStringStreamIS2_EELb0ELb0EEEEEbRT_NSA_2ChE.exit198, label %_ZN9rapidjson13GenericReaderINS_4UTF8IcEES2_NS_12CrtAllocatorEE7ConsumeINS4_12NumberStreamINS_25GenericInsituStringStreamIS2_EELb0ELb0EEEEEbRT_NSA_2ChE.exit197, !prof !284 _ZN9rapidjson13GenericReaderINS_4UTF8IcEES2_NS_12CrtAllocatorEE7ConsumeINS4_12NumberStreamINS_25GenericInsituStringStreamIS2_EELb0ELb0EEEEEbRT_NSA_2ChE.exit197: ; preds = %_ZN9rapidjson13GenericReaderINS_4UTF8IcEES2_NS_12CrtAllocatorEE7ConsumeINS4_12NumberStreamINS_25GenericInsituStringStreamIS2_EELb0ELb0EEEEEbRT_NSA_2ChE.exit195 %150 = icmp eq i8 %149, 45 @@ -11520,10 +11520,10 @@ _ZN9rapidjson13GenericReaderINS_4UTF8IcEES2_NS_12CrtAllocatorEE7ConsumeINS4_12Nu _ZN9rapidjson13GenericReaderINS_4UTF8IcEES2_NS_12CrtAllocatorEE7ConsumeINS4_12NumberStreamINS_25GenericInsituStringStreamIS2_EELb0ELb0EEEEEbRT_NSA_2ChE.exit198.thread: ; preds = %_ZN9rapidjson13GenericReaderINS_4UTF8IcEES2_NS_12CrtAllocatorEE7ConsumeINS4_12NumberStreamINS_25GenericInsituStringStreamIS2_EELb0ELb0EEEEEbRT_NSA_2ChE.exit197 %152 = add i8 %149, -48 - %or.cond440623 = icmp ult i8 %152, 10 - br i1 %or.cond440623, label %.thread627, label %190, !prof !318 + %or.cond440624 = icmp ult i8 %152, 10 + br i1 %or.cond440624, label %.thread628, label %190, !prof !318 -.thread627: ; preds = %_ZN9rapidjson13GenericReaderINS_4UTF8IcEES2_NS_12CrtAllocatorEE7ConsumeINS4_12NumberStreamINS_25GenericInsituStringStreamIS2_EELb0ELb0EEEEEbRT_NSA_2ChE.exit198.thread +.thread628: ; preds = %_ZN9rapidjson13GenericReaderINS_4UTF8IcEES2_NS_12CrtAllocatorEE7ConsumeINS4_12NumberStreamINS_25GenericInsituStringStreamIS2_EELb0ELb0EEEEEbRT_NSA_2ChE.exit198.thread %153 = getelementptr inbounds nuw i8, ptr %.sroa.0.13, i64 2 %154 = zext nneg i8 %149 to i32 %155 = add nsw i32 %154, -48 @@ -11533,7 +11533,7 @@ _ZN9rapidjson13GenericReaderINS_4UTF8IcEES2_NS_12CrtAllocatorEE7ConsumeINS4_12Nu %157 = getelementptr inbounds nuw i8, ptr %.sroa.0.13, i64 3 %158 = zext nneg i8 %.pr421 to i32 %159 = add nsw i32 %158, -48 - br i1 %.not711, label %173, label %.preheader444 + br i1 %.not712, label %173, label %.preheader444 .preheader444: ; preds = %156 %160 = load i8, ptr %157, align 1, !tbaa !20 @@ -11567,9 +11567,9 @@ _ZN9rapidjson13GenericReaderINS_4UTF8IcEES2_NS_12CrtAllocatorEE7ConsumeINS4_12Nu %172 = icmp ult i8 %.pre584, 10 br i1 %172, label %.lr.ph539, label %.thread423, !prof !334, !llvm.loop !335 -173: ; preds = %.thread627, %156 - %174 = phi i32 [ %155, %.thread627 ], [ %159, %156 ] - %175 = phi ptr [ %153, %.thread627 ], [ %157, %156 ] +173: ; preds = %.thread628, %156 + %174 = phi i32 [ %155, %.thread628 ], [ %159, %156 ] + %175 = phi ptr [ %153, %.thread628 ], [ %157, %156 ] %176 = sub nsw i32 308, %.4119 br label %177 @@ -11598,8 +11598,8 @@ _ZN9rapidjson13GenericReaderINS_4UTF8IcEES2_NS_12CrtAllocatorEE7ConsumeINS4_12Nu br label %_ZN9rapidjson15GenericDocumentINS_4UTF8IcEENS_19MemoryPoolAllocatorINS_12CrtAllocatorEEES4_E5Int64El.exit 190: ; preds = %_ZN9rapidjson13GenericReaderINS_4UTF8IcEES2_NS_12CrtAllocatorEE7ConsumeINS4_12NumberStreamINS_25GenericInsituStringStreamIS2_EELb0ELb0EEEEEbRT_NSA_2ChE.exit198.thread, %_ZN9rapidjson13GenericReaderINS_4UTF8IcEES2_NS_12CrtAllocatorEE7ConsumeINS4_12NumberStreamINS_25GenericInsituStringStreamIS2_EELb0ELb0EEEEEbRT_NSA_2ChE.exit198 - %.sroa.0.16625 = phi ptr [ %.sroa.0.14, %_ZN9rapidjson13GenericReaderINS_4UTF8IcEES2_NS_12CrtAllocatorEE7ConsumeINS4_12NumberStreamINS_25GenericInsituStringStreamIS2_EELb0ELb0EEEEEbRT_NSA_2ChE.exit198.thread ], [ %.sroa.0.16.ph, %_ZN9rapidjson13GenericReaderINS_4UTF8IcEES2_NS_12CrtAllocatorEE7ConsumeINS4_12NumberStreamINS_25GenericInsituStringStreamIS2_EELb0ELb0EEEEEbRT_NSA_2ChE.exit198 ] - %191 = ptrtoint ptr %.sroa.0.16625 to i64 + %.sroa.0.16626 = phi ptr [ %.sroa.0.14, %_ZN9rapidjson13GenericReaderINS_4UTF8IcEES2_NS_12CrtAllocatorEE7ConsumeINS4_12NumberStreamINS_25GenericInsituStringStreamIS2_EELb0ELb0EEEEEbRT_NSA_2ChE.exit198.thread ], [ %.sroa.0.16.ph, %_ZN9rapidjson13GenericReaderINS_4UTF8IcEES2_NS_12CrtAllocatorEE7ConsumeINS4_12NumberStreamINS_25GenericInsituStringStreamIS2_EELb0ELb0EEEEEbRT_NSA_2ChE.exit198 ] + %191 = ptrtoint ptr %.sroa.0.16626 to i64 %192 = sub i64 %191, %5 %193 = getelementptr inbounds nuw i8, ptr %0, i64 48 store i32 15, ptr %193, align 8, !tbaa !96 @@ -11608,28 +11608,28 @@ _ZN9rapidjson13GenericReaderINS_4UTF8IcEES2_NS_12CrtAllocatorEE7ConsumeINS4_12Nu br label %_ZN9rapidjson15GenericDocumentINS_4UTF8IcEENS_19MemoryPoolAllocatorINS_12CrtAllocatorEEES4_E5Int64El.exit .thread423: ; preds = %.critedge192, %.preheader, %177, %.preheader444 - %.0107626630 = phi i1 [ true, %.preheader444 ], [ false, %177 ], [ true, %.preheader ], [ true, %.critedge192 ] + %.0107627631 = phi i1 [ true, %.preheader444 ], [ false, %177 ], [ true, %.preheader ], [ true, %.critedge192 ] %.sroa.0.23 = phi ptr [ %157, %.preheader444 ], [ %.sroa.0.20, %177 ], [ %.sroa.0.19, %.preheader ], [ %164, %.critedge192 ] %.5113 = phi i32 [ %159, %.preheader444 ], [ %.2110, %177 ], [ %167, %.preheader ], [ %167, %.critedge192 ] %195 = sub nsw i32 0, %.5113 - %spec.select193 = select i1 %.0107626630, i32 %195, i32 %.5113 + %spec.select193 = select i1 %.0107627631, i32 %195, i32 %.5113 br label %_ZN9rapidjson13GenericReaderINS_4UTF8IcEES2_NS_12CrtAllocatorEE7ConsumeINS4_12NumberStreamINS_25GenericInsituStringStreamIS2_EELb0ELb0EEEEEbRT_NSA_2ChE.exit196.thread _ZN9rapidjson13GenericReaderINS_4UTF8IcEES2_NS_12CrtAllocatorEE7ConsumeINS4_12NumberStreamINS_25GenericInsituStringStreamIS2_EELb0ELb0EEEEEbRT_NSA_2ChE.exit196: ; preds = %142, %.critedge185 - %.7144378396 = phi i64 [ %.7144, %.critedge185 ], [ %.4141611, %142 ] + %.7144378396 = phi i64 [ %.7144, %.critedge185 ], [ %.4141612, %142 ] %.4119380389 = phi i32 [ %.4119, %.critedge185 ], [ %.3118, %142 ] %.sroa.0.15 = phi ptr [ %.sroa.0.13, %.critedge185 ], [ %.sroa.0.12, %142 ] - %.3123 = phi i8 [ %.2122, %.critedge185 ], [ %.1121613, %142 ] + %.3123 = phi i8 [ %.2122, %.critedge185 ], [ %.1121614, %142 ] %.7102 = phi double [ %.6101, %.critedge185 ], [ %.5100, %142 ] %196 = trunc nuw i8 %.3123 to i1 br i1 %196, label %_ZN9rapidjson13GenericReaderINS_4UTF8IcEES2_NS_12CrtAllocatorEE7ConsumeINS4_12NumberStreamINS_25GenericInsituStringStreamIS2_EELb0ELb0EEEEEbRT_NSA_2ChE.exit196.thread, label %238 _ZN9rapidjson13GenericReaderINS_4UTF8IcEES2_NS_12CrtAllocatorEE7ConsumeINS4_12NumberStreamINS_25GenericInsituStringStreamIS2_EELb0ELb0EEEEEbRT_NSA_2ChE.exit196.thread: ; preds = %126, %.thread423, %_ZN9rapidjson13GenericReaderINS_4UTF8IcEES2_NS_12CrtAllocatorEE7ConsumeINS4_12NumberStreamINS_25GenericInsituStringStreamIS2_EELb0ELb0EEEEEbRT_NSA_2ChE.exit196 - %.7102645 = phi double [ %.7102, %_ZN9rapidjson13GenericReaderINS_4UTF8IcEES2_NS_12CrtAllocatorEE7ConsumeINS4_12NumberStreamINS_25GenericInsituStringStreamIS2_EELb0ELb0EEEEEbRT_NSA_2ChE.exit196 ], [ %127, %126 ], [ %.8, %.thread423 ] - %.0108644 = phi i32 [ 0, %_ZN9rapidjson13GenericReaderINS_4UTF8IcEES2_NS_12CrtAllocatorEE7ConsumeINS4_12NumberStreamINS_25GenericInsituStringStreamIS2_EELb0ELb0EEEEEbRT_NSA_2ChE.exit196 ], [ 0, %126 ], [ %spec.select193, %.thread423 ] - %.sroa.0.15643 = phi ptr [ %.sroa.0.15, %_ZN9rapidjson13GenericReaderINS_4UTF8IcEES2_NS_12CrtAllocatorEE7ConsumeINS4_12NumberStreamINS_25GenericInsituStringStreamIS2_EELb0ELb0EEEEEbRT_NSA_2ChE.exit196 ], [ %117, %126 ], [ %.sroa.0.23, %.thread423 ] - %.4119380389641 = phi i32 [ %.4119380389, %_ZN9rapidjson13GenericReaderINS_4UTF8IcEES2_NS_12CrtAllocatorEE7ConsumeINS4_12NumberStreamINS_25GenericInsituStringStreamIS2_EELb0ELb0EEEEEbRT_NSA_2ChE.exit196 ], [ %122, %126 ], [ %.4119, %.thread423 ] - %197 = add nsw i32 %.0108644, %.4119380389641 + %.7102646 = phi double [ %.7102, %_ZN9rapidjson13GenericReaderINS_4UTF8IcEES2_NS_12CrtAllocatorEE7ConsumeINS4_12NumberStreamINS_25GenericInsituStringStreamIS2_EELb0ELb0EEEEEbRT_NSA_2ChE.exit196 ], [ %127, %126 ], [ %.8, %.thread423 ] + %.0108645 = phi i32 [ 0, %_ZN9rapidjson13GenericReaderINS_4UTF8IcEES2_NS_12CrtAllocatorEE7ConsumeINS4_12NumberStreamINS_25GenericInsituStringStreamIS2_EELb0ELb0EEEEEbRT_NSA_2ChE.exit196 ], [ 0, %126 ], [ %spec.select193, %.thread423 ] + %.sroa.0.15644 = phi ptr [ %.sroa.0.15, %_ZN9rapidjson13GenericReaderINS_4UTF8IcEES2_NS_12CrtAllocatorEE7ConsumeINS4_12NumberStreamINS_25GenericInsituStringStreamIS2_EELb0ELb0EEEEEbRT_NSA_2ChE.exit196 ], [ %117, %126 ], [ %.sroa.0.23, %.thread423 ] + %.4119380389642 = phi i32 [ %.4119380389, %_ZN9rapidjson13GenericReaderINS_4UTF8IcEES2_NS_12CrtAllocatorEE7ConsumeINS4_12NumberStreamINS_25GenericInsituStringStreamIS2_EELb0ELb0EEEEEbRT_NSA_2ChE.exit196 ], [ %122, %126 ], [ %.4119, %.thread423 ] + %197 = add nsw i32 %.0108645, %.4119380389642 %198 = icmp slt i32 %197, -308 br i1 %198, label %199, label %208 @@ -11638,7 +11638,7 @@ _ZN9rapidjson13GenericReaderINS_4UTF8IcEES2_NS_12CrtAllocatorEE7ConsumeINS4_12Nu br i1 %200, label %_ZN9rapidjson8internal21StrtodNormalPrecisionEdi.exit, label %201 201: ; preds = %199 - %202 = fdiv double %.7102645, 1.000000e+308 + %202 = fdiv double %.7102646, 1.000000e+308 %203 = sub nuw nsw i32 -308, %197 %204 = zext nneg i32 %203 to i64 %205 = getelementptr inbounds nuw double, ptr @_ZZN9rapidjson8internal5Pow10EiE1e, i64 %204 @@ -11654,7 +11654,7 @@ _ZN9rapidjson13GenericReaderINS_4UTF8IcEES2_NS_12CrtAllocatorEE7ConsumeINS4_12Nu %211 = zext nneg i32 %197 to i64 %212 = getelementptr inbounds nuw double, ptr @_ZZN9rapidjson8internal5Pow10EiE1e, i64 %211 %213 = load double, ptr %212, align 8, !tbaa !338 - %214 = fmul double %.7102645, %213 + %214 = fmul double %.7102646, %213 br label %_ZN9rapidjson8internal21StrtodNormalPrecisionEdi.exit 215: ; preds = %208 @@ -11662,7 +11662,7 @@ _ZN9rapidjson13GenericReaderINS_4UTF8IcEES2_NS_12CrtAllocatorEE7ConsumeINS4_12Nu %217 = zext nneg i32 %216 to i64 %218 = getelementptr inbounds nuw double, ptr @_ZZN9rapidjson8internal5Pow10EiE1e, i64 %217 %219 = load double, ptr %218, align 8, !tbaa !338 - %220 = fdiv double %.7102645, %219 + %220 = fdiv double %.7102646, %219 br label %_ZN9rapidjson8internal21StrtodNormalPrecisionEdi.exit _ZN9rapidjson8internal21StrtodNormalPrecisionEdi.exit: ; preds = %215, %210, %201, %199 @@ -11861,16 +11861,16 @@ _ZN9rapidjson15GenericDocumentINS_4UTF8IcEENS_19MemoryPoolAllocatorINS_12CrtAllo br label %_ZN9rapidjson15GenericDocumentINS_4UTF8IcEENS_19MemoryPoolAllocatorINS_12CrtAllocatorEEES4_E5Int64El.exit _ZN9rapidjson15GenericDocumentINS_4UTF8IcEENS_19MemoryPoolAllocatorINS_12CrtAllocatorEEES4_E5Int64El.exit: ; preds = %190, %187, %_ZN9rapidjson15GenericDocumentINS_4UTF8IcEENS_19MemoryPoolAllocatorINS_12CrtAllocatorEEES4_E6DoubleEd.exit, %_ZN9rapidjson15GenericDocumentINS_4UTF8IcEENS_19MemoryPoolAllocatorINS_12CrtAllocatorEEES4_E6Uint64Em.exit, %_ZN9rapidjson15GenericDocumentINS_4UTF8IcEENS_19MemoryPoolAllocatorINS_12CrtAllocatorEEES4_E3IntEi.exit, %_ZN9rapidjson15GenericDocumentINS_4UTF8IcEENS_19MemoryPoolAllocatorINS_12CrtAllocatorEEES4_E4UintEj.exit, %256, %.sink.split.i.i, %104, %86, %51 - %.sroa.0.3 = phi ptr [ %.sroa.0.8509, %86 ], [ %101, %104 ], [ %.sroa.0.24, %51 ], [ %.sroa.0.15, %.sink.split.i.i ], [ %.sroa.0.15, %256 ], [ %.sroa.0.15, %_ZN9rapidjson15GenericDocumentINS_4UTF8IcEENS_19MemoryPoolAllocatorINS_12CrtAllocatorEEES4_E4UintEj.exit ], [ %.sroa.0.15, %_ZN9rapidjson15GenericDocumentINS_4UTF8IcEENS_19MemoryPoolAllocatorINS_12CrtAllocatorEEES4_E3IntEi.exit ], [ %.sroa.0.15, %_ZN9rapidjson15GenericDocumentINS_4UTF8IcEENS_19MemoryPoolAllocatorINS_12CrtAllocatorEEES4_E6Uint64Em.exit ], [ %.sroa.0.15643, %_ZN9rapidjson15GenericDocumentINS_4UTF8IcEENS_19MemoryPoolAllocatorINS_12CrtAllocatorEEES4_E6DoubleEd.exit ], [ %.sroa.0.16625, %190 ], [ %182, %187 ] + %.sroa.0.3 = phi ptr [ %.sroa.0.8509, %86 ], [ %101, %104 ], [ %.sroa.0.24, %51 ], [ %.sroa.0.15, %.sink.split.i.i ], [ %.sroa.0.15, %256 ], [ %.sroa.0.15, %_ZN9rapidjson15GenericDocumentINS_4UTF8IcEENS_19MemoryPoolAllocatorINS_12CrtAllocatorEEES4_E4UintEj.exit ], [ %.sroa.0.15, %_ZN9rapidjson15GenericDocumentINS_4UTF8IcEENS_19MemoryPoolAllocatorINS_12CrtAllocatorEEES4_E3IntEi.exit ], [ %.sroa.0.15, %_ZN9rapidjson15GenericDocumentINS_4UTF8IcEENS_19MemoryPoolAllocatorINS_12CrtAllocatorEEES4_E6Uint64Em.exit ], [ %.sroa.0.15644, %_ZN9rapidjson15GenericDocumentINS_4UTF8IcEENS_19MemoryPoolAllocatorINS_12CrtAllocatorEEES4_E6DoubleEd.exit ], [ %.sroa.0.16626, %190 ], [ %182, %187 ] store ptr %.sroa.0.3, ptr %1, align 8, !tbaa !299 store ptr %.sroa.87.0.copyload, ptr %.sroa.87.0..sroa_idx, align 8, !tbaa !299 store ptr %.sroa.87341.0.copyload, ptr %.sroa.87341.0..sroa_idx, align 8, !tbaa !299 ret void 304: ; preds = %236, %234 - %.sroa.0.15642 = phi ptr [ %.sroa.0.15643, %236 ], [ %.sroa.0.15, %234 ] + %.sroa.0.15643 = phi ptr [ %.sroa.0.15644, %236 ], [ %.sroa.0.15, %234 ] %.pn159.pn.pn = phi { ptr, i32 } [ %237, %236 ], [ %235, %234 ] - store ptr %.sroa.0.15642, ptr %1, align 8, !tbaa !299 + store ptr %.sroa.0.15643, ptr %1, align 8, !tbaa !299 store ptr %.sroa.87.0.copyload, ptr %.sroa.87.0..sroa_idx, align 8, !tbaa !299 store ptr %.sroa.87341.0.copyload, ptr %.sroa.87341.0..sroa_idx, align 8, !tbaa !299 resume { ptr, i32 } %.pn159.pn.pn diff --git a/bench/openjdk/optimized/lowMemoryDetector.ll b/bench/openjdk/optimized/lowMemoryDetector.ll index c561eed1911..0388f922689 100644 --- a/bench/openjdk/optimized/lowMemoryDetector.ll +++ b/bench/openjdk/optimized/lowMemoryDetector.ll @@ -401,10 +401,10 @@ _ZN11MutexLockerC2EP5MutexNS0_18SafepointCheckFlagE.exit: ; preds = %0, %3 %wide.trip.count = zext nneg i32 %5 to i64 br label %7 -7: ; preds = %.lr.ph, %80 - %8 = phi ptr [ %4, %.lr.ph ], [ %81, %80 ] - %indvars.iv = phi i64 [ 0, %.lr.ph ], [ %indvars.iv.next, %80 ] - %.024 = phi i8 [ 0, %.lr.ph ], [ %.1, %80 ] +7: ; preds = %.lr.ph, %79 + %8 = phi ptr [ %4, %.lr.ph ], [ %80, %79 ] + %indvars.iv = phi i64 [ 0, %.lr.ph ], [ %indvars.iv.next, %79 ] + %.024 = phi i8 [ 0, %.lr.ph ], [ %.1, %79 ] %9 = getelementptr inbounds nuw i8, ptr %8, i64 8 %10 = load ptr, ptr %9, align 8 %11 = getelementptr inbounds nuw ptr, ptr %10, i64 %indvars.iv @@ -412,20 +412,20 @@ _ZN11MutexLockerC2EP5MutexNS0_18SafepointCheckFlagE.exit: ; preds = %0, %3 %13 = getelementptr inbounds nuw i8, ptr %12, i64 176 %14 = load ptr, ptr %13, align 8 %.not = icmp eq ptr %14, null - br i1 %.not, label %80, label %15 + br i1 %.not, label %79, label %15 15: ; preds = %7 %16 = getelementptr inbounds nuw i8, ptr %12, i64 160 %17 = load ptr, ptr %16, align 8 %18 = load i8, ptr %17, align 8 %19 = trunc i8 %18 to i1 - br i1 %19, label %20, label %80 + br i1 %19, label %20, label %79 20: ; preds = %15 %21 = getelementptr inbounds nuw i8, ptr %17, i64 8 %22 = load i64, ptr %21, align 8 %.not15 = icmp eq i64 %22, 0 - br i1 %.not15, label %80, label %23 + br i1 %.not15, label %79, label %23 23: ; preds = %20 %24 = load ptr, ptr %12, align 8 @@ -518,50 +518,49 @@ _ZN16ThresholdSupport24is_low_threshold_crossedE11MemoryUsage.exit.i: ; preds = br i1 %or.cond14.i, label %68, label %_ZN10SensorInfo22set_gauge_sensor_levelE11MemoryUsageP16ThresholdSupport.exit 68: ; preds = %64, %57 - %69 = add nuw nsw i32 %62, 1 - store i32 %69, ptr %61, align 4 + store i32 1, ptr %61, align 4 br label %_ZN10SensorInfo22set_gauge_sensor_levelE11MemoryUsageP16ThresholdSupport.exit _ZN10SensorInfo22set_gauge_sensor_levelE11MemoryUsageP16ThresholdSupport.exit: ; preds = %52, %55, %56, %64, %68 call void @llvm.lifetime.end.p0(ptr nonnull %.sroa.5) - %70 = trunc nuw i8 %.024 to i1 - br i1 %70, label %80, label %71 - -71: ; preds = %_ZN10SensorInfo22set_gauge_sensor_levelE11MemoryUsageP16ThresholdSupport.exit - %72 = getelementptr inbounds nuw i8, ptr %14, i64 24 - %73 = load i32, ptr %72, align 8 - %74 = icmp sgt i32 %73, 0 - %75 = getelementptr inbounds nuw i8, ptr %14, i64 28 - %76 = load i32, ptr %75, align 4 - %77 = icmp sgt i32 %76, 0 - %78 = select i1 %74, i1 true, i1 %77 - %79 = zext i1 %78 to i8 - br label %80 - -80: ; preds = %_ZN10SensorInfo22set_gauge_sensor_levelE11MemoryUsageP16ThresholdSupport.exit, %71, %7, %15, %20 - %81 = phi ptr [ %8, %20 ], [ %8, %15 ], [ %8, %7 ], [ %.pre, %_ZN10SensorInfo22set_gauge_sensor_levelE11MemoryUsageP16ThresholdSupport.exit ], [ %.pre, %71 ] - %.1 = phi i8 [ %.024, %20 ], [ %.024, %15 ], [ %.024, %7 ], [ 1, %_ZN10SensorInfo22set_gauge_sensor_levelE11MemoryUsageP16ThresholdSupport.exit ], [ %79, %71 ] + %69 = trunc nuw i8 %.024 to i1 + br i1 %69, label %79, label %70 + +70: ; preds = %_ZN10SensorInfo22set_gauge_sensor_levelE11MemoryUsageP16ThresholdSupport.exit + %71 = getelementptr inbounds nuw i8, ptr %14, i64 24 + %72 = load i32, ptr %71, align 8 + %73 = icmp sgt i32 %72, 0 + %74 = getelementptr inbounds nuw i8, ptr %14, i64 28 + %75 = load i32, ptr %74, align 4 + %76 = icmp sgt i32 %75, 0 + %77 = select i1 %73, i1 true, i1 %76 + %78 = zext i1 %77 to i8 + br label %79 + +79: ; preds = %_ZN10SensorInfo22set_gauge_sensor_levelE11MemoryUsageP16ThresholdSupport.exit, %70, %7, %15, %20 + %80 = phi ptr [ %8, %20 ], [ %8, %15 ], [ %8, %7 ], [ %.pre, %_ZN10SensorInfo22set_gauge_sensor_levelE11MemoryUsageP16ThresholdSupport.exit ], [ %.pre, %70 ] + %.1 = phi i8 [ %.024, %20 ], [ %.024, %15 ], [ %.024, %7 ], [ 1, %_ZN10SensorInfo22set_gauge_sensor_levelE11MemoryUsageP16ThresholdSupport.exit ], [ %78, %70 ] %indvars.iv.next = add nuw nsw i64 %indvars.iv, 1 %exitcond.not = icmp eq i64 %indvars.iv.next, %wide.trip.count br i1 %exitcond.not, label %._crit_edge, label %7, !llvm.loop !9 -._crit_edge: ; preds = %80 - %82 = trunc nuw i8 %.1 to i1 - br i1 %82, label %83, label %._crit_edge.thread +._crit_edge: ; preds = %79 + %81 = trunc nuw i8 %.1 to i1 + br i1 %81, label %82, label %._crit_edge.thread -83: ; preds = %._crit_edge - %84 = load ptr, ptr @Notification_lock, align 8 - call void @_ZN7Monitor10notify_allEv(ptr noundef nonnull align 8 dereferenceable(104) %84) #12 +82: ; preds = %._crit_edge + %83 = load ptr, ptr @Notification_lock, align 8 + call void @_ZN7Monitor10notify_allEv(ptr noundef nonnull align 8 dereferenceable(104) %83) #12 br label %._crit_edge.thread -._crit_edge.thread: ; preds = %_ZN11MutexLockerC2EP5MutexNS0_18SafepointCheckFlagE.exit, %83, %._crit_edge - br i1 %.not.i.i, label %_ZN11MutexLockerD2Ev.exit, label %85 +._crit_edge.thread: ; preds = %_ZN11MutexLockerC2EP5MutexNS0_18SafepointCheckFlagE.exit, %82, %._crit_edge + br i1 %.not.i.i, label %_ZN11MutexLockerD2Ev.exit, label %84 -85: ; preds = %._crit_edge.thread +84: ; preds = %._crit_edge.thread call void @_ZN5Mutex6unlockEv(ptr noundef nonnull align 8 dereferenceable(104) %2) #12 br label %_ZN11MutexLockerD2Ev.exit -_ZN11MutexLockerD2Ev.exit: ; preds = %._crit_edge.thread, %85 +_ZN11MutexLockerD2Ev.exit: ; preds = %._crit_edge.thread, %84 ret void } @@ -618,14 +617,14 @@ _ZN16ThresholdSupport24is_low_threshold_crossedE11MemoryUsage.exit: ; preds = %1 store i32 %29, ptr %22, align 8 %30 = getelementptr inbounds nuw i8, ptr %0, i64 32 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %30, ptr noundef nonnull align 8 dereferenceable(32) %1, i64 32, i1 false) - br i1 %27, label %31, label %46 + br i1 %27, label %31, label %45 31: ; preds = %28 store i32 0, ptr %25, align 4 - br label %46 + br label %45 32: ; preds = %18, %_ZN16ThresholdSupport24is_low_threshold_crossedE11MemoryUsage.exit - br i1 %.0.i15, label %33, label %46 + br i1 %.0.i15, label %33, label %45 33: ; preds = %32 %34 = getelementptr inbounds nuw i8, ptr %0, i64 8 @@ -642,14 +641,13 @@ _ZN16ThresholdSupport24is_low_threshold_crossedE11MemoryUsage.exit: ; preds = %1 %42 = load i32, ptr %41, align 8 %43 = icmp sgt i32 %42, 0 %or.cond14 = select i1 %43, i1 %39, i1 false - br i1 %or.cond14, label %44, label %46 + br i1 %or.cond14, label %44, label %45 44: ; preds = %40, %33 - %45 = add nuw nsw i32 %38, 1 - store i32 %45, ptr %37, align 4 - br label %46 + store i32 1, ptr %37, align 4 + br label %45 -46: ; preds = %32, %40, %44, %28, %31 +45: ; preds = %32, %40, %44, %28, %31 ret void } @@ -783,32 +781,31 @@ _ZN16ThresholdSupport24is_low_threshold_crossedE11MemoryUsage.exit.i: ; preds = br i1 %or.cond14.i, label %_ZN10SensorInfo22set_gauge_sensor_levelE11MemoryUsageP16ThresholdSupport.exit.thread, label %_ZN10SensorInfo22set_gauge_sensor_levelE11MemoryUsageP16ThresholdSupport.exit _ZN10SensorInfo22set_gauge_sensor_levelE11MemoryUsageP16ThresholdSupport.exit.thread: ; preds = %51, %58 - %62 = add nuw nsw i32 %56, 1 - store i32 %62, ptr %55, align 4 - br label %69 + store i32 1, ptr %55, align 4 + br label %68 _ZN10SensorInfo22set_gauge_sensor_levelE11MemoryUsageP16ThresholdSupport.exit: ; preds = %._ZN10SensorInfo22set_gauge_sensor_levelE11MemoryUsageP16ThresholdSupport.exit_crit_edge, %46, %49, %58 - %63 = phi i32 [ %.pre, %._ZN10SensorInfo22set_gauge_sensor_levelE11MemoryUsageP16ThresholdSupport.exit_crit_edge ], [ %44, %46 ], [ 0, %49 ], [ %56, %58 ] - %64 = getelementptr inbounds nuw i8, ptr %4, i64 24 - %65 = load i32, ptr %64, align 8 - %66 = icmp sgt i32 %65, 0 - %67 = icmp sgt i32 %63, 0 - %68 = select i1 %66, i1 true, i1 %67 - br i1 %68, label %69, label %71 - -69: ; preds = %_ZN10SensorInfo22set_gauge_sensor_levelE11MemoryUsageP16ThresholdSupport.exit.thread, %_ZN10SensorInfo22set_gauge_sensor_levelE11MemoryUsageP16ThresholdSupport.exit - %70 = load ptr, ptr @Notification_lock, align 8 - call void @_ZN7Monitor10notify_allEv(ptr noundef nonnull align 8 dereferenceable(104) %70) #12 - br label %71 - -71: ; preds = %69, %_ZN10SensorInfo22set_gauge_sensor_levelE11MemoryUsageP16ThresholdSupport.exit - br i1 %.not.i.i, label %_ZN11MutexLockerD2Ev.exit, label %72 - -72: ; preds = %71 + %62 = phi i32 [ %.pre, %._ZN10SensorInfo22set_gauge_sensor_levelE11MemoryUsageP16ThresholdSupport.exit_crit_edge ], [ %44, %46 ], [ 0, %49 ], [ %56, %58 ] + %63 = getelementptr inbounds nuw i8, ptr %4, i64 24 + %64 = load i32, ptr %63, align 8 + %65 = icmp sgt i32 %64, 0 + %66 = icmp sgt i32 %62, 0 + %67 = select i1 %65, i1 true, i1 %66 + br i1 %67, label %68, label %70 + +68: ; preds = %_ZN10SensorInfo22set_gauge_sensor_levelE11MemoryUsageP16ThresholdSupport.exit.thread, %_ZN10SensorInfo22set_gauge_sensor_levelE11MemoryUsageP16ThresholdSupport.exit + %69 = load ptr, ptr @Notification_lock, align 8 + call void @_ZN7Monitor10notify_allEv(ptr noundef nonnull align 8 dereferenceable(104) %69) #12 + br label %70 + +70: ; preds = %68, %_ZN10SensorInfo22set_gauge_sensor_levelE11MemoryUsageP16ThresholdSupport.exit + br i1 %.not.i.i, label %_ZN11MutexLockerD2Ev.exit, label %71 + +71: ; preds = %70 call void @_ZN5Mutex6unlockEv(ptr noundef nonnull align 8 dereferenceable(104) %16) #12 br label %_ZN11MutexLockerD2Ev.exit -_ZN11MutexLockerD2Ev.exit: ; preds = %72, %71, %1, %6, %11 +_ZN11MutexLockerD2Ev.exit: ; preds = %71, %70, %1, %6, %11 ret void } diff --git a/bench/openmpi/optimized/pmix_pointer_array.ll b/bench/openmpi/optimized/pmix_pointer_array.ll index 2dd6869986d..477f89d8326 100644 --- a/bench/openmpi/optimized/pmix_pointer_array.ll +++ b/bench/openmpi/optimized/pmix_pointer_array.ll @@ -279,9 +279,9 @@ define internal fastcc noundef zeroext i1 @grow_table(ptr noundef %0, i32 nounde %.not.i = icmp eq ptr %4, null %5 = getelementptr inbounds nuw i8, ptr %0, i64 136 %6 = load i32, ptr %5, align 8, !tbaa !16 - %.fr49 = freeze i32 %6 - %7 = add i32 %.fr49, %1 - %8 = srem i32 %7, %.fr49 + %.fr51 = freeze i32 %6 + %7 = add i32 %.fr51, %1 + %8 = srem i32 %7, %.fr51 %9 = sub nsw i32 %7, %8 %10 = getelementptr inbounds nuw i8, ptr %0, i64 132 %11 = load i32, ptr %10, align 4, !tbaa !15 @@ -289,8 +289,8 @@ define internal fastcc noundef zeroext i1 @grow_table(ptr noundef %0, i32 nounde br i1 %.not, label %13, label %12 12: ; preds = %2 - %.not50 = icmp slt i32 %1, %11 - br i1 %.not50, label %13, label %66 + %.not52 = icmp slt i32 %1, %11 + br i1 %.not52, label %13, label %66 13: ; preds = %12, %2 %.042 = phi i32 [ %11, %12 ], [ %9, %2 ] @@ -344,8 +344,8 @@ pmix_tma_realloc.exit: ; preds = %18, %22 %39 = add nsw i64 %33, 63 %40 = lshr i64 %39, 6 %41 = trunc i64 %40 to i32 - %.not51 = icmp eq i32 %41, %38 - br i1 %.not51, label %.loopexit, label %42 + %.not53 = icmp eq i32 %41, %38 + br i1 %.not53, label %.loopexit, label %42 42: ; preds = %._crit_edge %43 = getelementptr inbounds nuw i8, ptr %0, i64 144 @@ -358,31 +358,31 @@ pmix_tma_realloc.exit: ; preds = %18, %22 %47 = getelementptr inbounds nuw i8, ptr %0, i64 72 %48 = load ptr, ptr %47, align 8, !tbaa !27 %49 = tail call ptr %48(ptr noundef nonnull %3, ptr noundef %44, i64 noundef range(i64 -17179869184, 17179869177) %45) #6 - br label %pmix_tma_realloc.exit55 + br label %pmix_tma_realloc.exit57 50: ; preds = %42 %51 = tail call ptr @realloc(ptr noundef %44, i64 noundef range(i64 -17179869184, 17179869177) %45) #8 - br label %pmix_tma_realloc.exit55 + br label %pmix_tma_realloc.exit57 -pmix_tma_realloc.exit55: ; preds = %46, %50 - %.0.i54 = phi ptr [ %49, %46 ], [ %51, %50 ] - %52 = icmp eq ptr %.0.i54, null +pmix_tma_realloc.exit57: ; preds = %46, %50 + %.0.i56 = phi ptr [ %49, %46 ], [ %51, %50 ] + %52 = icmp eq ptr %.0.i56, null br i1 %52, label %66, label %53 -53: ; preds = %pmix_tma_realloc.exit55 - store ptr %.0.i54, ptr %43, align 8, !tbaa !18 +53: ; preds = %pmix_tma_realloc.exit57 + store ptr %.0.i56, ptr %43, align 8, !tbaa !18 %54 = load i32, ptr %26, align 8, !tbaa !14 %55 = sext i32 %54 to i64 %56 = add nsw i64 %55, 63 %57 = lshr i64 %56, 6 %58 = trunc i64 %57 to i32 %59 = icmp slt i32 %58, %38 - br i1 %59, label %.lr.ph59.preheader, label %.loopexit + br i1 %59, label %.lr.ph61.preheader, label %.loopexit -.lr.ph59.preheader: ; preds = %53 - %sext69 = shl i64 %57, 32 - %60 = ashr exact i64 %sext69, 29 - %scevgep = getelementptr i8, ptr %.0.i54, i64 %60 +.lr.ph61.preheader: ; preds = %53 + %sext72 = shl i64 %57, 32 + %60 = ashr exact i64 %sext72, 29 + %scevgep = getelementptr i8, ptr %.0.i56, i64 %60 %61 = xor i64 %57, -1 %62 = add nsw i64 %37, %61 %63 = shl nsw i64 %62, 3 @@ -391,12 +391,12 @@ pmix_tma_realloc.exit55: ; preds = %46, %50 tail call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(1) %scevgep, i8 0, i64 %65, i1 false), !tbaa !23 br label %.loopexit -.loopexit: ; preds = %.lr.ph59.preheader, %53, %._crit_edge +.loopexit: ; preds = %.lr.ph61.preheader, %53, %._crit_edge store i32 %.042, ptr %26, align 8, !tbaa !14 br label %66 -66: ; preds = %pmix_tma_realloc.exit55, %pmix_tma_realloc.exit, %12, %.loopexit - %.0 = phi i1 [ true, %.loopexit ], [ false, %12 ], [ false, %pmix_tma_realloc.exit ], [ false, %pmix_tma_realloc.exit55 ] +66: ; preds = %pmix_tma_realloc.exit57, %pmix_tma_realloc.exit, %12, %.loopexit + %.0 = phi i1 [ true, %.loopexit ], [ false, %12 ], [ false, %pmix_tma_realloc.exit ], [ false, %pmix_tma_realloc.exit57 ] ret i1 %.0 } diff --git a/bench/openspiel/optimized/tic_tac_toe.ll b/bench/openspiel/optimized/tic_tac_toe.ll index 4eeb846fa20..1bf817fc4a4 100644 --- a/bench/openspiel/optimized/tic_tac_toe.ll +++ b/bench/openspiel/optimized/tic_tac_toe.ll @@ -686,8 +686,8 @@ _ZN10open_spiel11tic_tac_toe13PlayerToStateEi.exit: ; preds = %2, %6 %24 = getelementptr inbounds nuw i8, ptr %0, i64 8 %25 = load i32, ptr %24, align 4 %26 = icmp eq i32 %25, %.0.i - %or.cond52 = select i1 %or.cond, i1 %26, i1 false - br i1 %or.cond52, label %49, label %27 + %or.cond58 = select i1 %or.cond, i1 %26, i1 false + br i1 %or.cond58, label %49, label %27 27: ; preds = %_ZN10open_spiel11tic_tac_toe13PlayerToStateEi.exit %28 = getelementptr inbounds nuw i8, ptr %0, i64 12 @@ -696,12 +696,12 @@ _ZN10open_spiel11tic_tac_toe13PlayerToStateEi.exit: ; preds = %2, %6 %31 = getelementptr inbounds nuw i8, ptr %0, i64 16 %32 = load i32, ptr %31, align 4 %33 = icmp eq i32 %32, %.0.i - %or.cond55 = select i1 %30, i1 %33, i1 false + %or.cond61 = select i1 %30, i1 %33, i1 false %34 = getelementptr inbounds nuw i8, ptr %0, i64 20 %35 = load i32, ptr %34, align 4 %36 = icmp eq i32 %35, %.0.i - %or.cond58 = select i1 %or.cond55, i1 %36, i1 false - br i1 %or.cond58, label %49, label %37 + %or.cond64 = select i1 %or.cond61, i1 %36, i1 false + br i1 %or.cond64, label %49, label %37 37: ; preds = %27 %38 = getelementptr inbounds nuw i8, ptr %0, i64 24 @@ -710,32 +710,32 @@ _ZN10open_spiel11tic_tac_toe13PlayerToStateEi.exit: ; preds = %2, %6 %41 = getelementptr inbounds nuw i8, ptr %0, i64 28 %42 = load i32, ptr %41, align 4 %43 = icmp eq i32 %42, %.0.i - %or.cond61 = select i1 %40, i1 %43, i1 false + %or.cond67 = select i1 %40, i1 %43, i1 false %44 = getelementptr inbounds nuw i8, ptr %0, i64 32 %45 = load i32, ptr %44, align 4 %46 = icmp eq i32 %45, %.0.i - %or.cond64 = select i1 %or.cond61, i1 %46, i1 false + %or.cond70 = select i1 %or.cond67, i1 %46, i1 false %brmerge.demorgan = and i1 %20, %30 - %brmerge67.demorgan = and i1 %brmerge.demorgan, %40 - %or.cond88 = or i1 %brmerge67.demorgan, %or.cond64 - %or.cond70 = select i1 %23, i1 %33, i1 false - %or.cond73 = select i1 %or.cond70, i1 %43, i1 false - %or.cond89 = select i1 %or.cond88, i1 true, i1 %or.cond73 - %or.cond76 = select i1 %26, i1 %36, i1 false - %or.cond79 = select i1 %or.cond76, i1 %46, i1 false - %or.cond90 = select i1 %or.cond89, i1 true, i1 %or.cond79 - br i1 %or.cond90, label %49, label %47 + %brmerge73.demorgan = and i1 %brmerge.demorgan, %40 + %or.cond94 = or i1 %brmerge73.demorgan, %or.cond70 + %or.cond76 = select i1 %23, i1 %33, i1 false + %or.cond79 = select i1 %or.cond76, i1 %43, i1 false + %or.cond95 = select i1 %or.cond94, i1 true, i1 %or.cond79 + %or.cond82 = select i1 %26, i1 %36, i1 false + %or.cond85 = select i1 %or.cond82, i1 %46, i1 false + %or.cond96 = select i1 %or.cond95, i1 true, i1 %or.cond85 + br i1 %or.cond96, label %49, label %47 47: ; preds = %37 - %or.cond82 = select i1 %20, i1 %33, i1 false - %or.cond85 = select i1 %or.cond82, i1 %46, i1 false + %or.cond88 = select i1 %20, i1 %33, i1 false + %or.cond91 = select i1 %or.cond88, i1 %46, i1 false %spec.select = and i1 %40, %33 %48 = select i1 %26, i1 %spec.select, i1 false - %spec.select91 = select i1 %or.cond85, i1 true, i1 %48 + %spec.select97 = select i1 %or.cond91, i1 true, i1 %48 br label %49 49: ; preds = %47, %37, %27, %_ZN10open_spiel11tic_tac_toe13PlayerToStateEi.exit - %50 = phi i1 [ true, %_ZN10open_spiel11tic_tac_toe13PlayerToStateEi.exit ], [ true, %27 ], [ true, %37 ], [ %spec.select91, %47 ] + %50 = phi i1 [ true, %_ZN10open_spiel11tic_tac_toe13PlayerToStateEi.exit ], [ true, %27 ], [ true, %37 ], [ %spec.select97, %47 ] ret i1 %50 } @@ -1377,8 +1377,8 @@ define void @_ZNK10open_spiel11tic_tac_toe14TicTacToeState7ReturnsEv(ptr dead_on %9 = getelementptr inbounds nuw i8, ptr %1, i64 68 %10 = load i32, ptr %9, align 4 %11 = icmp eq i32 %10, 2 - %or.cond52.i = select i1 %or.cond.i, i1 %11, i1 false - br i1 %or.cond52.i, label %_ZN10open_spiel11tic_tac_toe12BoardHasLineERKSt5arrayINS0_9CellStateELm9EEi.exit.thread, label %12 + %or.cond58.i = select i1 %or.cond.i, i1 %11, i1 false + br i1 %or.cond58.i, label %_ZN10open_spiel11tic_tac_toe12BoardHasLineERKSt5arrayINS0_9CellStateELm9EEi.exit.thread, label %12 12: ; preds = %2 %13 = getelementptr inbounds nuw i8, ptr %1, i64 72 @@ -1387,12 +1387,12 @@ define void @_ZNK10open_spiel11tic_tac_toe14TicTacToeState7ReturnsEv(ptr dead_on %16 = getelementptr inbounds nuw i8, ptr %1, i64 76 %17 = load i32, ptr %16, align 4 %18 = icmp eq i32 %17, 2 - %or.cond55.i = select i1 %15, i1 %18, i1 false + %or.cond61.i = select i1 %15, i1 %18, i1 false %19 = getelementptr inbounds nuw i8, ptr %1, i64 80 %20 = load i32, ptr %19, align 8 %21 = icmp eq i32 %20, 2 - %or.cond58.i = select i1 %or.cond55.i, i1 %21, i1 false - br i1 %or.cond58.i, label %_ZN10open_spiel11tic_tac_toe12BoardHasLineERKSt5arrayINS0_9CellStateELm9EEi.exit.thread, label %22 + %or.cond64.i = select i1 %or.cond61.i, i1 %21, i1 false + br i1 %or.cond64.i, label %_ZN10open_spiel11tic_tac_toe12BoardHasLineERKSt5arrayINS0_9CellStateELm9EEi.exit.thread, label %22 22: ; preds = %12 %23 = getelementptr inbounds nuw i8, ptr %1, i64 84 @@ -1401,29 +1401,29 @@ define void @_ZNK10open_spiel11tic_tac_toe14TicTacToeState7ReturnsEv(ptr dead_on %26 = getelementptr inbounds nuw i8, ptr %1, i64 88 %27 = load i32, ptr %26, align 8 %28 = icmp eq i32 %27, 2 - %or.cond61.i = select i1 %25, i1 %28, i1 false + %or.cond67.i = select i1 %25, i1 %28, i1 false %29 = getelementptr inbounds nuw i8, ptr %1, i64 92 %30 = load i32, ptr %29, align 4 %31 = icmp eq i32 %30, 2 - %or.cond64.i = select i1 %or.cond61.i, i1 %31, i1 false + %or.cond70.i = select i1 %or.cond67.i, i1 %31, i1 false %brmerge.demorgan.i = and i1 %5, %15 - %brmerge67.demorgan.i = and i1 %brmerge.demorgan.i, %25 - %or.cond88.i = or i1 %brmerge67.demorgan.i, %or.cond64.i - %or.cond70.i = select i1 %8, i1 %18, i1 false - %or.cond73.i = select i1 %or.cond70.i, i1 %28, i1 false - %or.cond89.i = select i1 %or.cond88.i, i1 true, i1 %or.cond73.i - %or.cond76.i = select i1 %11, i1 %21, i1 false - %or.cond79.i = select i1 %or.cond76.i, i1 %31, i1 false - %or.cond90.i = select i1 %or.cond89.i, i1 true, i1 %or.cond79.i - br i1 %or.cond90.i, label %_ZN10open_spiel11tic_tac_toe12BoardHasLineERKSt5arrayINS0_9CellStateELm9EEi.exit.thread, label %_ZN10open_spiel11tic_tac_toe12BoardHasLineERKSt5arrayINS0_9CellStateELm9EEi.exit + %brmerge73.demorgan.i = and i1 %brmerge.demorgan.i, %25 + %or.cond94.i = or i1 %brmerge73.demorgan.i, %or.cond70.i + %or.cond76.i = select i1 %8, i1 %18, i1 false + %or.cond79.i = select i1 %or.cond76.i, i1 %28, i1 false + %or.cond95.i = select i1 %or.cond94.i, i1 true, i1 %or.cond79.i + %or.cond82.i = select i1 %11, i1 %21, i1 false + %or.cond85.i = select i1 %or.cond82.i, i1 %31, i1 false + %or.cond96.i = select i1 %or.cond95.i, i1 true, i1 %or.cond85.i + br i1 %or.cond96.i, label %_ZN10open_spiel11tic_tac_toe12BoardHasLineERKSt5arrayINS0_9CellStateELm9EEi.exit.thread, label %_ZN10open_spiel11tic_tac_toe12BoardHasLineERKSt5arrayINS0_9CellStateELm9EEi.exit _ZN10open_spiel11tic_tac_toe12BoardHasLineERKSt5arrayINS0_9CellStateELm9EEi.exit: ; preds = %22 - %or.cond82.i = select i1 %5, i1 %18, i1 false - %or.cond85.i = select i1 %or.cond82.i, i1 %31, i1 false + %or.cond88.i = select i1 %5, i1 %18, i1 false + %or.cond91.i = select i1 %or.cond88.i, i1 %31, i1 false %spec.select.i = and i1 %18, %25 %32 = select i1 %11, i1 %spec.select.i, i1 false - %spec.select91.i = select i1 %or.cond85.i, i1 true, i1 %32 - br i1 %spec.select91.i, label %_ZN10open_spiel11tic_tac_toe12BoardHasLineERKSt5arrayINS0_9CellStateELm9EEi.exit.thread, label %37 + %spec.select97.i = select i1 %or.cond91.i, i1 true, i1 %32 + br i1 %spec.select97.i, label %_ZN10open_spiel11tic_tac_toe12BoardHasLineERKSt5arrayINS0_9CellStateELm9EEi.exit.thread, label %37 _ZN10open_spiel11tic_tac_toe12BoardHasLineERKSt5arrayINS0_9CellStateELm9EEi.exit.thread: ; preds = %22, %12, %2, %_ZN10open_spiel11tic_tac_toe12BoardHasLineERKSt5arrayINS0_9CellStateELm9EEi.exit tail call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %0, i8 0, i64 24, i1 false) @@ -1444,41 +1444,41 @@ _ZN10open_spiel11tic_tac_toe12BoardHasLineERKSt5arrayINS0_9CellStateELm9EEi.exit %39 = icmp eq i32 %7, 1 %or.cond.i18 = select i1 %38, i1 %39, i1 false %40 = icmp eq i32 %10, 1 - %or.cond52.i19 = select i1 %or.cond.i18, i1 %40, i1 false - br i1 %or.cond52.i19, label %_ZN10open_spiel11tic_tac_toe12BoardHasLineERKSt5arrayINS0_9CellStateELm9EEi.exit37.thread, label %41 + %or.cond58.i19 = select i1 %or.cond.i18, i1 %40, i1 false + br i1 %or.cond58.i19, label %_ZN10open_spiel11tic_tac_toe12BoardHasLineERKSt5arrayINS0_9CellStateELm9EEi.exit37.thread, label %41 41: ; preds = %37 %42 = icmp eq i32 %14, 1 %43 = icmp eq i32 %17, 1 - %or.cond55.i20 = select i1 %42, i1 %43, i1 false + %or.cond61.i20 = select i1 %42, i1 %43, i1 false %44 = icmp eq i32 %20, 1 - %or.cond58.i21 = select i1 %or.cond55.i20, i1 %44, i1 false - br i1 %or.cond58.i21, label %_ZN10open_spiel11tic_tac_toe12BoardHasLineERKSt5arrayINS0_9CellStateELm9EEi.exit37.thread, label %45 + %or.cond64.i21 = select i1 %or.cond61.i20, i1 %44, i1 false + br i1 %or.cond64.i21, label %_ZN10open_spiel11tic_tac_toe12BoardHasLineERKSt5arrayINS0_9CellStateELm9EEi.exit37.thread, label %45 45: ; preds = %41 %46 = icmp eq i32 %24, 1 %47 = icmp eq i32 %27, 1 - %or.cond61.i22 = select i1 %46, i1 %47, i1 false + %or.cond67.i22 = select i1 %46, i1 %47, i1 false %48 = icmp eq i32 %30, 1 - %or.cond64.i23 = select i1 %or.cond61.i22, i1 %48, i1 false + %or.cond70.i23 = select i1 %or.cond67.i22, i1 %48, i1 false %brmerge.demorgan.i24 = and i1 %38, %42 - %brmerge67.demorgan.i25 = and i1 %brmerge.demorgan.i24, %46 - %or.cond88.i26 = or i1 %brmerge67.demorgan.i25, %or.cond64.i23 - %or.cond70.i27 = select i1 %39, i1 %43, i1 false - %or.cond73.i28 = select i1 %or.cond70.i27, i1 %47, i1 false - %or.cond89.i29 = select i1 %or.cond88.i26, i1 true, i1 %or.cond73.i28 - %or.cond76.i30 = select i1 %40, i1 %44, i1 false - %or.cond79.i31 = select i1 %or.cond76.i30, i1 %48, i1 false - %or.cond90.i32 = select i1 %or.cond89.i29, i1 true, i1 %or.cond79.i31 - br i1 %or.cond90.i32, label %_ZN10open_spiel11tic_tac_toe12BoardHasLineERKSt5arrayINS0_9CellStateELm9EEi.exit37.thread, label %_ZN10open_spiel11tic_tac_toe12BoardHasLineERKSt5arrayINS0_9CellStateELm9EEi.exit37 + %brmerge73.demorgan.i25 = and i1 %brmerge.demorgan.i24, %46 + %or.cond94.i26 = or i1 %brmerge73.demorgan.i25, %or.cond70.i23 + %or.cond76.i27 = select i1 %39, i1 %43, i1 false + %or.cond79.i28 = select i1 %or.cond76.i27, i1 %47, i1 false + %or.cond95.i29 = select i1 %or.cond94.i26, i1 true, i1 %or.cond79.i28 + %or.cond82.i30 = select i1 %40, i1 %44, i1 false + %or.cond85.i31 = select i1 %or.cond82.i30, i1 %48, i1 false + %or.cond96.i32 = select i1 %or.cond95.i29, i1 true, i1 %or.cond85.i31 + br i1 %or.cond96.i32, label %_ZN10open_spiel11tic_tac_toe12BoardHasLineERKSt5arrayINS0_9CellStateELm9EEi.exit37.thread, label %_ZN10open_spiel11tic_tac_toe12BoardHasLineERKSt5arrayINS0_9CellStateELm9EEi.exit37 _ZN10open_spiel11tic_tac_toe12BoardHasLineERKSt5arrayINS0_9CellStateELm9EEi.exit37: ; preds = %45 - %or.cond82.i33 = select i1 %38, i1 %43, i1 false - %or.cond85.i34 = select i1 %or.cond82.i33, i1 %48, i1 false + %or.cond88.i33 = select i1 %38, i1 %43, i1 false + %or.cond91.i34 = select i1 %or.cond88.i33, i1 %48, i1 false %spec.select.i35 = and i1 %43, %46 %49 = select i1 %40, i1 %spec.select.i35, i1 false - %spec.select91.i36 = select i1 %or.cond85.i34, i1 true, i1 %49 - br i1 %spec.select91.i36, label %_ZN10open_spiel11tic_tac_toe12BoardHasLineERKSt5arrayINS0_9CellStateELm9EEi.exit37.thread, label %54 + %spec.select97.i36 = select i1 %or.cond91.i34, i1 true, i1 %49 + br i1 %spec.select97.i36, label %_ZN10open_spiel11tic_tac_toe12BoardHasLineERKSt5arrayINS0_9CellStateELm9EEi.exit37.thread, label %54 _ZN10open_spiel11tic_tac_toe12BoardHasLineERKSt5arrayINS0_9CellStateELm9EEi.exit37.thread: ; preds = %45, %41, %37, %_ZN10open_spiel11tic_tac_toe12BoardHasLineERKSt5arrayINS0_9CellStateELm9EEi.exit37 tail call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %0, i8 0, i64 24, i1 false) diff --git a/bench/pbrt-v4/optimized/parser.ll b/bench/pbrt-v4/optimized/parser.ll index 651dda0ef8b..77cb58abb54 100644 --- a/bench/pbrt-v4/optimized/parser.ll +++ b/bench/pbrt-v4/optimized/parser.ll @@ -7304,8 +7304,8 @@ _ZN4pstd8optionalIN4pbrt5TokenEEptEv.exit612: ; preds = %491 _ZNSt11char_traitsIcE7compareEPKcS2_m.exit.i.i.i: ; preds = %_ZN4pstd8optionalIN4pbrt5TokenEEptEv.exit612 %.sroa.2186.0.copyload = load ptr, ptr %.sroa.2186.0..sroa_idx, align 8, !tbaa !86 - %lhsc6622 = load i8, ptr %.sroa.2186.0.copyload, align 1 - %496 = icmp eq i8 %lhsc6622, 91 + %lhsc6623 = load i8, ptr %.sroa.2186.0.copyload, align 1 + %496 = icmp eq i8 %lhsc6623, 91 br i1 %496, label %_ZN4pstd8optionalIN4pbrt5TokenEED2Ev.exit615, label %497 _ZN4pstd8optionalIN4pbrt5TokenEED2Ev.exit615: ; preds = %_ZNSt11char_traitsIcE7compareEPKcS2_m.exit.i.i.i @@ -7546,8 +7546,8 @@ _ZN4pstd8optionalIN4pbrt5TokenEEptEv.exit657: ; preds = %543 _ZNSt11char_traitsIcE7compareEPKcS2_m.exit.i.i.i658: ; preds = %_ZN4pstd8optionalIN4pbrt5TokenEEptEv.exit657 %.sroa.2181.0.copyload = load ptr, ptr %.sroa.2181.0..sroa_idx, align 8, !tbaa !86 - %lhsc6623 = load i8, ptr %.sroa.2181.0.copyload, align 1 - %548 = icmp eq i8 %lhsc6623, 93 + %lhsc6624 = load i8, ptr %.sroa.2181.0.copyload, align 1 + %548 = icmp eq i8 %lhsc6624, 93 br i1 %548, label %_ZN4pstd8optionalIN4pbrt5TokenEED2Ev.exit664, label %551 _ZN4pstd8optionalIN4pbrt5TokenEED2Ev.exit664: ; preds = %_ZNSt11char_traitsIcE7compareEPKcS2_m.exit.i.i.i658 @@ -7707,7 +7707,7 @@ _ZN4pstd8optionalIN4pbrt5TokenEEptEv.exit689: ; preds = %_ZN4pstd8optionalIN _ZNSt11char_traitsIcE7compareEPKcS2_m.exit.i.i693: ; preds = %_ZN4pstd8optionalIN4pbrt5TokenEEptEv.exit601 %bcmp.i694 = call i32 @bcmp(ptr nonnull %424, ptr nonnull @.str.47, i64 %.sroa.0187.0.copyload) %585 = icmp eq i32 %bcmp.i694, 0 - br i1 %585, label %_ZSteqIcSt11char_traitsIcEEbSt17basic_string_viewIT_T0_ENSt15__type_identityIS5_E4typeE.exit696, label %_ZN4pstd8optionalIN4pbrt5TokenEEptEv.exit692.thread6629 + br i1 %585, label %_ZSteqIcSt11char_traitsIcEEbSt17basic_string_viewIT_T0_ENSt15__type_identityIS5_E4typeE.exit696, label %_ZN4pstd8optionalIN4pbrt5TokenEEptEv.exit692.thread6630 _ZSteqIcSt11char_traitsIcEEbSt17basic_string_viewIT_T0_ENSt15__type_identityIS5_E4typeE.exit696: ; preds = %_ZNSt11char_traitsIcE7compareEPKcS2_m.exit.i.i693 call void @llvm.lifetime.start.p0(ptr nonnull %130) @@ -7944,7 +7944,7 @@ _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit728: ; preds = %_Z _ZNSt11char_traitsIcE7compareEPKcS2_m.exit.i.i732: ; preds = %_ZN4pstd8optionalIN4pbrt5TokenEEptEv.exit601 %bcmp.i733 = call i32 @bcmp(ptr nonnull %424, ptr nonnull @.str.48, i64 %.sroa.0187.0.copyload) %653 = icmp eq i32 %bcmp.i733, 0 - br i1 %653, label %_ZSteqIcSt11char_traitsIcEEbSt17basic_string_viewIT_T0_ENSt15__type_identityIS5_E4typeE.exit735, label %_ZN4pstd8optionalIN4pbrt5TokenEEptEv.exit692.thread6629 + br i1 %653, label %_ZSteqIcSt11char_traitsIcEEbSt17basic_string_viewIT_T0_ENSt15__type_identityIS5_E4typeE.exit735, label %_ZN4pstd8optionalIN4pbrt5TokenEEptEv.exit692.thread6630 _ZSteqIcSt11char_traitsIcEEbSt17basic_string_viewIT_T0_ENSt15__type_identityIS5_E4typeE.exit735: ; preds = %_ZNSt11char_traitsIcE7compareEPKcS2_m.exit.i.i732 call void @llvm.lifetime.start.p0(ptr nonnull %132) @@ -8429,7 +8429,7 @@ _ZN4pstd8optionalIN4pbrt5TokenEEptEv.exit692.thread: ; preds = %_ZNSt11char_trai store i64 %.sroa.0187.0.copyload, ptr %82, align 8, !tbaa !45, !noalias !214 br label %._crit_edge.i.i.i.i846 -_ZN4pstd8optionalIN4pbrt5TokenEEptEv.exit692.thread6629: ; preds = %_ZNSt11char_traitsIcE7compareEPKcS2_m.exit.i.i693, %_ZNSt11char_traitsIcE7compareEPKcS2_m.exit.i.i732 +_ZN4pstd8optionalIN4pbrt5TokenEEptEv.exit692.thread6630: ; preds = %_ZNSt11char_traitsIcE7compareEPKcS2_m.exit.i.i693, %_ZNSt11char_traitsIcE7compareEPKcS2_m.exit.i.i732 call void @llvm.lifetime.start.p0(ptr nonnull %83) call void @llvm.experimental.noalias.scope.decl(metadata !217) %791 = getelementptr inbounds nuw i8, ptr %83, i64 16 @@ -8448,8 +8448,8 @@ _ZN4pstd8optionalIN4pbrt5TokenEEptEv.exit692: ; preds = %_ZN4pstd8optionalIN %793 = icmp ugt i64 %.sroa.0187.0.copyload, 15 br i1 %793, label %.noexc.i.i.i851, label %._crit_edge.i.i.i.i846 -.noexc.i.i.i851: ; preds = %_ZN4pstd8optionalIN4pbrt5TokenEEptEv.exit692.thread6629, %_ZN4pstd8optionalIN4pbrt5TokenEEptEv.exit692 - %794 = phi ptr [ %791, %_ZN4pstd8optionalIN4pbrt5TokenEEptEv.exit692.thread6629 ], [ %792, %_ZN4pstd8optionalIN4pbrt5TokenEEptEv.exit692 ] +.noexc.i.i.i851: ; preds = %_ZN4pstd8optionalIN4pbrt5TokenEEptEv.exit692.thread6630, %_ZN4pstd8optionalIN4pbrt5TokenEEptEv.exit692 + %794 = phi ptr [ %791, %_ZN4pstd8optionalIN4pbrt5TokenEEptEv.exit692.thread6630 ], [ %792, %_ZN4pstd8optionalIN4pbrt5TokenEEptEv.exit692 ] %795 = invoke noundef ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_createERmm(ptr noundef nonnull align 8 dereferenceable(32) %83, ptr noundef nonnull align 8 dereferenceable(8) %82, i64 noundef 0) to label %.noexc854 unwind label %.loopexit.split-lp2428 @@ -8566,9 +8566,9 @@ _ZNSt11char_traitsIcE7compareEPKcS2_m.exit.i.i861: ; preds = %_ZN4pstd8optionalI 826: ; preds = %._crit_edge.i.i.i.i875.thread, %._crit_edge.i.i.i.i875 %827 = phi ptr [ %817, %._crit_edge.i.i.i.i875.thread ], [ %823, %._crit_edge.i.i.i.i875 ] - %.sroa.0156.0.copyload.lcssa66346636 = phi i64 [ 4, %._crit_edge.i.i.i.i875.thread ], [ %.sroa.0156.0.copyload, %._crit_edge.i.i.i.i875 ] + %.sroa.0156.0.copyload.lcssa66356637 = phi i64 [ 4, %._crit_edge.i.i.i.i875.thread ], [ %.sroa.0156.0.copyload, %._crit_edge.i.i.i.i875 ] %828 = phi ptr [ %817, %._crit_edge.i.i.i.i875.thread ], [ %819, %._crit_edge.i.i.i.i875 ] - call void @llvm.memcpy.p0.p0.i64(ptr align 1 %827, ptr nonnull readonly align 1 %424, i64 %.sroa.0156.0.copyload.lcssa66346636, i1 false) + call void @llvm.memcpy.p0.p0.i64(ptr align 1 %827, ptr nonnull readonly align 1 %424, i64 %.sroa.0156.0.copyload.lcssa66356637, i1 false) br label %_ZN4pbrtL8toStringB5cxx11ESt17basic_string_viewIcSt11char_traitsIcEE.exit.i876 _ZN4pbrtL8toStringB5cxx11ESt17basic_string_viewIcSt11char_traitsIcEE.exit.i876: ; preds = %826, %824, %._crit_edge.i.i.i.i875 @@ -10769,9 +10769,9 @@ _ZN4pstd8optionalIN4pbrt5TokenEEptEv.exit1192: ; preds = %_ZN4pstd8optionalIN _ZNSt11char_traitsIcE7compareEPKcS2_m.exit.i.i1193: ; preds = %_ZN4pstd8optionalIN4pbrt5TokenEEptEv.exit1192 %bcmp.i1194 = call i32 @bcmp(ptr noundef nonnull dereferenceable(17) %424, ptr noundef nonnull dereferenceable(17) @.str.62, i64 17) %1490 = icmp eq i32 %bcmp.i1194, 0 - br i1 %1490, label %_ZN4pstd8optionalIN4pbrt5TokenEEptEv.exit526.invoke, label %_ZN4pstd8optionalIN4pbrt5TokenEEptEv.exit1202.thread6643 + br i1 %1490, label %_ZN4pstd8optionalIN4pbrt5TokenEEptEv.exit526.invoke, label %_ZN4pstd8optionalIN4pbrt5TokenEEptEv.exit1202.thread6644 -_ZN4pstd8optionalIN4pbrt5TokenEEptEv.exit1202.thread6643: ; preds = %_ZNSt11char_traitsIcE7compareEPKcS2_m.exit.i.i1193 +_ZN4pstd8optionalIN4pbrt5TokenEEptEv.exit1202.thread6644: ; preds = %_ZNSt11char_traitsIcE7compareEPKcS2_m.exit.i.i1193 call void @llvm.lifetime.start.p0(ptr nonnull %54) call void @llvm.experimental.noalias.scope.decl(metadata !373) %1491 = getelementptr inbounds nuw i8, ptr %54, i64 16 @@ -10791,7 +10791,7 @@ _ZNSt11char_traitsIcE7compareEPKcS2_m.exit.i.i1213: ; preds = %_ZN4pstd8optional br i1 %1493, label %_ZN4pstd8optionalIN4pbrt5TokenEEptEv.exit526.invoke, label %_ZN4pstd8optionalIN4pbrt5TokenEEptEv.exit1202.thread _ZNSt11char_traitsIcE7compareEPKcS2_m.exit.i.i1223: ; preds = %_ZNSt11char_traitsIcE7compareEPKcS2_m.exit.i.i1203 - %bcmp.i1224 = call i32 @bcmp(ptr nonnull %424, ptr nonnull @.str.65, i64 %.sroa.0115.0.copyload) + %bcmp.i1224 = call i32 @bcmp(ptr noundef nonnull dereferenceable(15) %424, ptr noundef nonnull dereferenceable(15) @.str.65, i64 15) %1494 = icmp eq i32 %bcmp.i1224, 0 br i1 %1494, label %_ZSteqIcSt11char_traitsIcEEbSt17basic_string_viewIT_T0_ENSt15__type_identityIS5_E4typeE.exit1226, label %_ZN4pstd8optionalIN4pbrt5TokenEEptEv.exit1202.thread @@ -11407,8 +11407,8 @@ _ZN4pstd8optionalIN4pbrt5TokenEEptEv.exit1202: ; preds = %_ZN4pstd8optionalIN %1679 = icmp ugt i64 %.sroa.0115.0.copyload, 15 br i1 %1679, label %.noexc.i.i.i1348, label %._crit_edge.i.i.i.i1343 -.noexc.i.i.i1348: ; preds = %_ZN4pstd8optionalIN4pbrt5TokenEEptEv.exit1202.thread6643, %_ZN4pstd8optionalIN4pbrt5TokenEEptEv.exit1202 - %1680 = phi ptr [ %1491, %_ZN4pstd8optionalIN4pbrt5TokenEEptEv.exit1202.thread6643 ], [ %1678, %_ZN4pstd8optionalIN4pbrt5TokenEEptEv.exit1202 ] +.noexc.i.i.i1348: ; preds = %_ZN4pstd8optionalIN4pbrt5TokenEEptEv.exit1202.thread6644, %_ZN4pstd8optionalIN4pbrt5TokenEEptEv.exit1202 + %1680 = phi ptr [ %1491, %_ZN4pstd8optionalIN4pbrt5TokenEEptEv.exit1202.thread6644 ], [ %1678, %_ZN4pstd8optionalIN4pbrt5TokenEEptEv.exit1202 ] %1681 = invoke noundef ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_createERmm(ptr noundef nonnull align 8 dereferenceable(32) %54, ptr noundef nonnull align 8 dereferenceable(8) %53, i64 noundef 0) to label %.noexc1351 unwind label %.loopexit.split-lp2428 @@ -11757,9 +11757,9 @@ _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit1404: ; preds = %_ 1779: ; preds = %._crit_edge.i.i.i.i1412.thread, %._crit_edge.i.i.i.i1412 %1780 = phi ptr [ %1703, %._crit_edge.i.i.i.i1412.thread ], [ %1776, %._crit_edge.i.i.i.i1412 ] - %.sroa.093.0.copyload.lcssa66486650 = phi i64 [ 13, %._crit_edge.i.i.i.i1412.thread ], [ %.sroa.093.0.copyload, %._crit_edge.i.i.i.i1412 ] + %.sroa.093.0.copyload.lcssa66496651 = phi i64 [ 13, %._crit_edge.i.i.i.i1412.thread ], [ %.sroa.093.0.copyload, %._crit_edge.i.i.i.i1412 ] %1781 = phi ptr [ %1703, %._crit_edge.i.i.i.i1412.thread ], [ %1772, %._crit_edge.i.i.i.i1412 ] - call void @llvm.memcpy.p0.p0.i64(ptr align 1 %1780, ptr nonnull readonly align 1 %424, i64 %.sroa.093.0.copyload.lcssa66486650, i1 false) + call void @llvm.memcpy.p0.p0.i64(ptr align 1 %1780, ptr nonnull readonly align 1 %424, i64 %.sroa.093.0.copyload.lcssa66496651, i1 false) br label %_ZN4pbrtL8toStringB5cxx11ESt17basic_string_viewIcSt11char_traitsIcEE.exit.i1413 _ZN4pbrtL8toStringB5cxx11ESt17basic_string_viewIcSt11char_traitsIcEE.exit.i1413: ; preds = %1779, %1777, %._crit_edge.i.i.i.i1412 @@ -12813,9 +12813,9 @@ _ZNSt11char_traitsIcE7compareEPKcS2_m.exit.i.i1632: ; preds = %_ZN4pstd8optional 2063: ; preds = %._crit_edge.i.i.i.i1646.thread, %._crit_edge.i.i.i.i1646 %2064 = phi ptr [ %2054, %._crit_edge.i.i.i.i1646.thread ], [ %2060, %._crit_edge.i.i.i.i1646 ] - %.sroa.067.0.copyload.lcssa66556657 = phi i64 [ 11, %._crit_edge.i.i.i.i1646.thread ], [ %.sroa.067.0.copyload, %._crit_edge.i.i.i.i1646 ] + %.sroa.067.0.copyload.lcssa66566658 = phi i64 [ 11, %._crit_edge.i.i.i.i1646.thread ], [ %.sroa.067.0.copyload, %._crit_edge.i.i.i.i1646 ] %2065 = phi ptr [ %2054, %._crit_edge.i.i.i.i1646.thread ], [ %2056, %._crit_edge.i.i.i.i1646 ] - call void @llvm.memcpy.p0.p0.i64(ptr align 1 %2064, ptr nonnull readonly align 1 %424, i64 %.sroa.067.0.copyload.lcssa66556657, i1 false) + call void @llvm.memcpy.p0.p0.i64(ptr align 1 %2064, ptr nonnull readonly align 1 %424, i64 %.sroa.067.0.copyload.lcssa66566658, i1 false) br label %_ZN4pbrtL8toStringB5cxx11ESt17basic_string_viewIcSt11char_traitsIcEE.exit.i1647 _ZN4pbrtL8toStringB5cxx11ESt17basic_string_viewIcSt11char_traitsIcEE.exit.i1647: ; preds = %2063, %2061, %._crit_edge.i.i.i.i1646 @@ -12866,9 +12866,9 @@ _ZN4pstd8optionalIN4pbrt5TokenEEptEv.exit1660: ; preds = %_ZN4pstd8optionalIN _ZNSt11char_traitsIcE7compareEPKcS2_m.exit.i.i1661: ; preds = %_ZN4pstd8optionalIN4pbrt5TokenEEptEv.exit1660 %bcmp.i1662 = call i32 @bcmp(ptr noundef nonnull dereferenceable(18) %424, ptr noundef nonnull dereferenceable(18) @.str.72, i64 18) %2080 = icmp eq i32 %bcmp.i1662, 0 - br i1 %2080, label %.invoke, label %.thread6658 + br i1 %2080, label %.invoke, label %.thread6659 -.thread6658: ; preds = %_ZNSt11char_traitsIcE7compareEPKcS2_m.exit.i.i1661 +.thread6659: ; preds = %_ZNSt11char_traitsIcE7compareEPKcS2_m.exit.i.i1661 call void @llvm.lifetime.start.p0(ptr nonnull %31) call void @llvm.experimental.noalias.scope.decl(metadata !439) %2081 = getelementptr inbounds nuw i8, ptr %31, i64 16 @@ -13020,8 +13020,8 @@ _ZN4pstd8optionalIN4pbrt5TokenEEptEv.exit1677: ; preds = %2084 %2112 = icmp ugt i64 %.sroa.063.0.copyload, 15 br i1 %2112, label %.noexc.i.i.i1703, label %._crit_edge.i.i.i.i1698 -.noexc.i.i.i1703: ; preds = %.thread6658, %2110 - %2113 = phi ptr [ %2081, %.thread6658 ], [ %2111, %2110 ] +.noexc.i.i.i1703: ; preds = %.thread6659, %2110 + %2113 = phi ptr [ %2081, %.thread6659 ], [ %2111, %2110 ] %2114 = invoke noundef ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_createERmm(ptr noundef nonnull align 8 dereferenceable(32) %31, ptr noundef nonnull align 8 dereferenceable(8) %30, i64 noundef 0) to label %.noexc1706 unwind label %.loopexit.split-lp2428 @@ -13103,12 +13103,12 @@ _ZNSt11char_traitsIcE7compareEPKcS2_m.exit.i.i1713: ; preds = %_ZN4pstd8optional _ZNSt11char_traitsIcE7compareEPKcS2_m.exit.i.i1723: ; preds = %_ZN4pstd8optionalIN4pbrt5TokenEEptEv.exit1712 %bcmp.i1724 = call i32 @bcmp(ptr nonnull %424, ptr nonnull @.str.75, i64 %.sroa.056.0.copyload) %2138 = icmp eq i32 %bcmp.i1724, 0 - br i1 %2138, label %_ZN4pstd8optionalIN4pbrt5TokenEEptEv.exit526.invoke, label %.thread6660 + br i1 %2138, label %_ZN4pstd8optionalIN4pbrt5TokenEEptEv.exit526.invoke, label %.thread6661 _ZNSt11char_traitsIcE7compareEPKcS2_m.exit.i.i1733: ; preds = %_ZNSt11char_traitsIcE7compareEPKcS2_m.exit.i.i1713 %bcmp.i1734 = call i32 @bcmp(ptr nonnull %424, ptr nonnull @.str.76, i64 %.sroa.056.0.copyload) %2139 = icmp eq i32 %bcmp.i1734, 0 - br i1 %2139, label %_ZSteqIcSt11char_traitsIcEEbSt17basic_string_viewIT_T0_ENSt15__type_identityIS5_E4typeE.exit1736, label %.thread6660 + br i1 %2139, label %_ZSteqIcSt11char_traitsIcEEbSt17basic_string_viewIT_T0_ENSt15__type_identityIS5_E4typeE.exit1736, label %.thread6661 _ZSteqIcSt11char_traitsIcEEbSt17basic_string_viewIT_T0_ENSt15__type_identityIS5_E4typeE.exit1736: ; preds = %_ZNSt11char_traitsIcE7compareEPKcS2_m.exit.i.i1733 call void @llvm.lifetime.start.p0(ptr nonnull %186) @@ -13227,7 +13227,7 @@ _ZN4pstd8optionalIN4pbrt5TokenEEptEv.exit1739: ; preds = %2140 call void @llvm.lifetime.end.p0(ptr nonnull %186) br label %.body597 -.thread6660: ; preds = %_ZNSt11char_traitsIcE7compareEPKcS2_m.exit.i.i1733, %_ZNSt11char_traitsIcE7compareEPKcS2_m.exit.i.i1723 +.thread6661: ; preds = %_ZNSt11char_traitsIcE7compareEPKcS2_m.exit.i.i1733, %_ZNSt11char_traitsIcE7compareEPKcS2_m.exit.i.i1723 call void @llvm.lifetime.start.p0(ptr nonnull %28) call void @llvm.experimental.noalias.scope.decl(metadata !454) %2164 = getelementptr inbounds nuw i8, ptr %28, i64 16 @@ -13256,9 +13256,9 @@ _ZN4pstd8optionalIN4pbrt5TokenEEptEv.exit1739: ; preds = %2140 store i64 %2169, ptr %2166, align 8, !tbaa !34, !alias.scope !457 br label %._crit_edge.i.i.i.i1760 -._crit_edge.i.i.i.i1760: ; preds = %.thread6660, %.noexc1768, %2165 - %2170 = phi ptr [ %2166, %.noexc1768 ], [ %2166, %2165 ], [ %2164, %.thread6660 ] - %2171 = phi ptr [ %2168, %.noexc1768 ], [ %2166, %2165 ], [ %2164, %.thread6660 ] +._crit_edge.i.i.i.i1760: ; preds = %.thread6661, %.noexc1768, %2165 + %2170 = phi ptr [ %2166, %.noexc1768 ], [ %2166, %2165 ], [ %2164, %.thread6661 ] + %2171 = phi ptr [ %2168, %.noexc1768 ], [ %2166, %2165 ], [ %2164, %.thread6661 ] switch i64 %.sroa.056.0.copyload, label %2174 [ i64 1, label %2172 i64 0, label %_ZN4pbrtL8toStringB5cxx11ESt17basic_string_viewIcSt11char_traitsIcEE.exit.i1761 @@ -13357,7 +13357,7 @@ _ZN4pstd8optionalIN4pbrt5TokenEEptEv.exit1784: ; preds = %2192 _ZNSt11char_traitsIcE7compareEPKcS2_m.exit.i.i1791: ; preds = %_ZN4pstd8optionalIN4pbrt5TokenEEptEv.exit1774 %bcmp.i1792 = call i32 @bcmp(ptr nonnull %424, ptr nonnull @.str.79, i64 %.sroa.043.0.copyload) %2199 = icmp eq i32 %bcmp.i1792, 0 - br i1 %2199, label %_ZSteqIcSt11char_traitsIcEEbSt17basic_string_viewIT_T0_ENSt15__type_identityIS5_E4typeE.exit1794, label %.thread6662 + br i1 %2199, label %_ZSteqIcSt11char_traitsIcEEbSt17basic_string_viewIT_T0_ENSt15__type_identityIS5_E4typeE.exit1794, label %.thread6663 _ZSteqIcSt11char_traitsIcEEbSt17basic_string_viewIT_T0_ENSt15__type_identityIS5_E4typeE.exit1794: ; preds = %_ZNSt11char_traitsIcE7compareEPKcS2_m.exit.i.i1791 br i1 %214, label %_ZN4pstd8optionalIN4pbrt5TokenEEptEv.exit1797, label %.invoke @@ -13639,8 +13639,8 @@ _ZN4pstd8optionalIN4pbrt5TokenEEptEv.exit1863: ; preds = %2257 _ZNSt11char_traitsIcE7compareEPKcS2_m.exit.i.i.i1864: ; preds = %_ZN4pstd8optionalIN4pbrt5TokenEEptEv.exit1863 %.sroa.233.0.copyload = load ptr, ptr %.sroa.233.0..sroa_idx, align 8, !tbaa !86 - %lhsc6621 = load i8, ptr %.sroa.233.0.copyload, align 1 - %2262 = icmp eq i8 %lhsc6621, 93 + %lhsc6622 = load i8, ptr %.sroa.233.0.copyload, align 1 + %2262 = icmp eq i8 %lhsc6622, 93 br i1 %2262, label %_ZN4pstd8optionalIN4pbrt5TokenEED2Ev.exit1870, label %2265 _ZN4pstd8optionalIN4pbrt5TokenEED2Ev.exit1870: ; preds = %_ZNSt11char_traitsIcE7compareEPKcS2_m.exit.i.i.i1864 @@ -13800,7 +13800,7 @@ _ZN4pstd8optionalIN4pbrt5TokenEEptEv.exit1895: ; preds = %_ZN4pstd8optionalIN _ZNSt11char_traitsIcE7compareEPKcS2_m.exit.i.i1899: ; preds = %_ZNSt11char_traitsIcE7compareEPKcS2_m.exit.i.i1804 %bcmp.i1900 = call i32 @bcmp(ptr noundef nonnull dereferenceable(9) %424, ptr noundef nonnull dereferenceable(9) @.str.81, i64 9) %2299 = icmp eq i32 %bcmp.i1900, 0 - br i1 %2299, label %_ZSteqIcSt11char_traitsIcEEbSt17basic_string_viewIT_T0_ENSt15__type_identityIS5_E4typeE.exit1902, label %.thread6662 + br i1 %2299, label %_ZSteqIcSt11char_traitsIcEEbSt17basic_string_viewIT_T0_ENSt15__type_identityIS5_E4typeE.exit1902, label %.thread6663 _ZSteqIcSt11char_traitsIcEEbSt17basic_string_viewIT_T0_ENSt15__type_identityIS5_E4typeE.exit1902: ; preds = %_ZNSt11char_traitsIcE7compareEPKcS2_m.exit.i.i1899 call void @llvm.lifetime.start.p0(ptr nonnull %194) @@ -13923,7 +13923,7 @@ _ZN4pstd8optionalIN4pbrt5TokenEEptEv.exit1905: ; preds = %2300 _ZNSt11char_traitsIcE7compareEPKcS2_m.exit.i.i1922: ; preds = %_ZNSt11char_traitsIcE7compareEPKcS2_m.exit.i.i1775 %bcmp.i1923 = call i32 @bcmp(ptr nonnull %424, ptr nonnull @.str.82, i64 %.sroa.043.0.copyload) %2325 = icmp eq i32 %bcmp.i1923, 0 - br i1 %2325, label %_ZSteqIcSt11char_traitsIcEEbSt17basic_string_viewIT_T0_ENSt15__type_identityIS5_E4typeE.exit1925, label %.thread6662 + br i1 %2325, label %_ZSteqIcSt11char_traitsIcEEbSt17basic_string_viewIT_T0_ENSt15__type_identityIS5_E4typeE.exit1925, label %.thread6663 _ZSteqIcSt11char_traitsIcEEbSt17basic_string_viewIT_T0_ENSt15__type_identityIS5_E4typeE.exit1925: ; preds = %_ZNSt11char_traitsIcE7compareEPKcS2_m.exit.i.i1922 call void @llvm.lifetime.start.p0(ptr nonnull %.sroa.0) @@ -14046,7 +14046,7 @@ _ZN4pstd8optionalIN4pbrt5TokenEEptEv.exit1928: ; preds = %2326 _ZNSt11char_traitsIcE7compareEPKcS2_m.exit.i.i1945: ; preds = %_ZN4pstd8optionalIN4pbrt5TokenEEptEv.exit1774 %bcmp.i1946 = call i32 @bcmp(ptr nonnull %424, ptr nonnull @.str.83, i64 %.sroa.043.0.copyload) %2348 = icmp eq i32 %bcmp.i1946, 0 - br i1 %2348, label %_ZSteqIcSt11char_traitsIcEEbSt17basic_string_viewIT_T0_ENSt15__type_identityIS5_E4typeE.exit1948, label %.thread6662 + br i1 %2348, label %_ZSteqIcSt11char_traitsIcEEbSt17basic_string_viewIT_T0_ENSt15__type_identityIS5_E4typeE.exit1948, label %.thread6663 _ZSteqIcSt11char_traitsIcEEbSt17basic_string_viewIT_T0_ENSt15__type_identityIS5_E4typeE.exit1948: ; preds = %_ZNSt11char_traitsIcE7compareEPKcS2_m.exit.i.i1945 call void @llvm.lifetime.start.p0(ptr nonnull %197) @@ -14884,7 +14884,7 @@ _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit2087: ; preds = %_ call void @llvm.lifetime.end.p0(ptr nonnull %198) br label %.body597 -.thread6662: ; preds = %_ZNSt11char_traitsIcE7compareEPKcS2_m.exit.i.i1945, %_ZNSt11char_traitsIcE7compareEPKcS2_m.exit.i.i1791, %_ZNSt11char_traitsIcE7compareEPKcS2_m.exit.i.i1899, %_ZNSt11char_traitsIcE7compareEPKcS2_m.exit.i.i1922 +.thread6663: ; preds = %_ZNSt11char_traitsIcE7compareEPKcS2_m.exit.i.i1945, %_ZNSt11char_traitsIcE7compareEPKcS2_m.exit.i.i1791, %_ZNSt11char_traitsIcE7compareEPKcS2_m.exit.i.i1899, %_ZNSt11char_traitsIcE7compareEPKcS2_m.exit.i.i1922 call void @llvm.lifetime.start.p0(ptr nonnull %8) call void @llvm.experimental.noalias.scope.decl(metadata !510) %2607 = getelementptr inbounds nuw i8, ptr %8, i64 16 @@ -14913,9 +14913,9 @@ _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit2087: ; preds = %_ store i64 %2612, ptr %2609, align 8, !tbaa !34, !alias.scope !513 br label %._crit_edge.i.i.i.i2095 -._crit_edge.i.i.i.i2095: ; preds = %.thread6662, %.noexc2103, %2608 - %2613 = phi ptr [ %2609, %.noexc2103 ], [ %2609, %2608 ], [ %2607, %.thread6662 ] - %2614 = phi ptr [ %2611, %.noexc2103 ], [ %2609, %2608 ], [ %2607, %.thread6662 ] +._crit_edge.i.i.i.i2095: ; preds = %.thread6663, %.noexc2103, %2608 + %2613 = phi ptr [ %2609, %.noexc2103 ], [ %2609, %2608 ], [ %2607, %.thread6663 ] + %2614 = phi ptr [ %2611, %.noexc2103 ], [ %2609, %2608 ], [ %2607, %.thread6663 ] switch i64 %.sroa.043.0.copyload, label %2617 [ i64 1, label %2615 i64 0, label %_ZN4pbrtL8toStringB5cxx11ESt17basic_string_viewIcSt11char_traitsIcEE.exit.i2096 @@ -14977,7 +14977,7 @@ _ZN4pstd8optionalIN4pbrt5TokenEEptEv.exit2109: ; preds = %_ZN4pstd8optionalIN _ZNSt11char_traitsIcE7compareEPKcS2_m.exit.i.i2110: ; preds = %_ZN4pstd8optionalIN4pbrt5TokenEEptEv.exit2109 %bcmp.i2111 = call i32 @bcmp(ptr noundef nonnull dereferenceable(10) %424, ptr noundef nonnull dereferenceable(10) @.str.84, i64 10) %2631 = icmp eq i32 %bcmp.i2111, 0 - br i1 %2631, label %.invoke, label %.thread6664 + br i1 %2631, label %.invoke, label %.thread6665 _ZNSt11char_traitsIcE7compareEPKcS2_m.exit.i.i2120: ; preds = %_ZN4pstd8optionalIN4pbrt5TokenEEptEv.exit2109 %bcmp.i2121 = call i32 @bcmp(ptr noundef nonnull dereferenceable(8) %424, ptr noundef nonnull dereferenceable(8) @.str.85, i64 8) @@ -14985,9 +14985,9 @@ _ZNSt11char_traitsIcE7compareEPKcS2_m.exit.i.i2120: ; preds = %_ZN4pstd8optional %2633 = load i8, ptr %107, align 1, !range !169 %2634 = trunc nuw i8 %2633 to i1 %or.cond2348 = select i1 %2632, i1 %2634, i1 false - br i1 %or.cond2348, label %2681, label %.thread6664 + br i1 %or.cond2348, label %2681, label %.thread6665 -.thread6664: ; preds = %_ZNSt11char_traitsIcE7compareEPKcS2_m.exit.i.i2120, %_ZNSt11char_traitsIcE7compareEPKcS2_m.exit.i.i2110 +.thread6665: ; preds = %_ZNSt11char_traitsIcE7compareEPKcS2_m.exit.i.i2120, %_ZNSt11char_traitsIcE7compareEPKcS2_m.exit.i.i2110 call void @llvm.lifetime.start.p0(ptr nonnull %6) call void @llvm.experimental.noalias.scope.decl(metadata !515) %2635 = getelementptr inbounds nuw i8, ptr %6, i64 16 @@ -15016,9 +15016,9 @@ _ZNSt11char_traitsIcE7compareEPKcS2_m.exit.i.i2120: ; preds = %_ZN4pstd8optional store i64 %2640, ptr %2637, align 8, !tbaa !34, !alias.scope !518 br label %._crit_edge.i.i.i.i2131 -._crit_edge.i.i.i.i2131: ; preds = %.thread6664, %.noexc2139, %2636 - %2641 = phi ptr [ %2637, %.noexc2139 ], [ %2637, %2636 ], [ %2635, %.thread6664 ] - %2642 = phi ptr [ %2639, %.noexc2139 ], [ %2637, %2636 ], [ %2635, %.thread6664 ] +._crit_edge.i.i.i.i2131: ; preds = %.thread6665, %.noexc2139, %2636 + %2641 = phi ptr [ %2637, %.noexc2139 ], [ %2637, %2636 ], [ %2635, %.thread6665 ] + %2642 = phi ptr [ %2639, %.noexc2139 ], [ %2637, %2636 ], [ %2635, %.thread6665 ] switch i64 %.sroa.07.0.copyload, label %2645 [ i64 1, label %2643 i64 0, label %_ZN4pbrtL8toStringB5cxx11ESt17basic_string_viewIcSt11char_traitsIcEE.exit.i2132 diff --git a/bench/php/optimized/ir_check.ll b/bench/php/optimized/ir_check.ll index 27e8ab39ed3..f60d5b228b0 100644 --- a/bench/php/optimized/ir_check.ll +++ b/bench/php/optimized/ir_check.ll @@ -70,10 +70,10 @@ define hidden zeroext i1 @ir_check(ptr noundef readonly captures(none) %0) local %14 = load i8, ptr getelementptr inbounds nuw (i8, ptr @ir_type_size, i64 6), align 1 br label %15 -15: ; preds = %.lr.ph392, %448 - %.0262390 = phi i32 [ 1, %.lr.ph392 ], [ %451, %448 ] - %.0266389 = phi i1 [ true, %.lr.ph392 ], [ %.11, %448 ] - %.0274388 = phi ptr [ %6, %.lr.ph392 ], [ %453, %448 ] +15: ; preds = %.lr.ph392, %447 + %.0262390 = phi i32 [ 1, %.lr.ph392 ], [ %450, %447 ] + %.0266389 = phi i1 [ true, %.lr.ph392 ], [ %.11, %447 ] + %.0274388 = phi ptr [ %6, %.lr.ph392 ], [ %452, %447 ] %16 = load i8, ptr %.0274388, align 8, !tbaa !27 %17 = icmp ugt i8 %16, 107 br i1 %17, label %18, label %22 @@ -304,30 +304,30 @@ ir_input_edges_count.exit: ; preds = %22, %28 br i1 %122, label %123, label %124 123: ; preds = %.thread - switch i8 %108, label %.thread427 [ + switch i8 %108, label %.thread428 [ i8 5, label %131 i8 11, label %131 ] 124: ; preds = %.thread %125 = icmp eq i8 %108, 6 - br i1 %125, label %126, label %.thread427 + br i1 %125, label %126, label %.thread428 126: ; preds = %124 - switch i8 %106, label %.thread427 [ + switch i8 %106, label %.thread428 [ i8 5, label %131 i8 11, label %131 ] -.thread427: ; preds = %123, %126, %124 +.thread428: ; preds = %123, %126, %124 %127 = load ptr, ptr @stderr, align 8, !tbaa !28 %128 = zext i8 %108 to i32 %129 = zext i8 %106 to i32 %130 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %127, ptr noundef nonnull @.str.6, i32 noundef %.0262390, i32 noundef %.0263372, i32 noundef %38, i32 noundef %128, i32 noundef %129) #4 br label %131 -131: ; preds = %123, %123, %119, %126, %126, %101, %103, %111, %.thread427, %105, %100 - %.6 = phi i1 [ %.5, %101 ], [ %.5, %103 ], [ %.5, %111 ], [ %.5, %123 ], [ %.5, %126 ], [ false, %.thread427 ], [ %.5, %105 ], [ %.5, %100 ], [ %.5, %123 ], [ %.5, %126 ], [ %.5, %119 ] +131: ; preds = %123, %123, %119, %126, %126, %101, %103, %111, %.thread428, %105, %100 + %.6 = phi i1 [ %.5, %101 ], [ %.5, %103 ], [ %.5, %111 ], [ %.5, %123 ], [ %.5, %126 ], [ false, %.thread428 ], [ %.5, %105 ], [ %.5, %100 ], [ %.5, %123 ], [ %.5, %126 ], [ %.5, %119 ] %132 = load i32, ptr %7, align 4, !tbaa !33 %133 = and i32 %132, 32 %.not326 = icmp eq i32 %133, 0 @@ -703,7 +703,7 @@ ir_check_use_list.exit: ; preds = %.lr.ph.i345, %47, % %.10 = phi i1 [ %.2268.lcssa, %._crit_edge ], [ false, %261 ], [ %.2268.lcssa, %249 ], [ false, %._crit_edge400 ], [ %.2268.lcssa, %275 ], [ %.2268.lcssa, %264 ], [ false, %289 ], [ %.2268.lcssa, %282 ], [ false, %308 ], [ %.2268.lcssa, %306 ], [ false, %316 ], [ %.2268.lcssa, %311 ], [ false, %327 ], [ %.2268.lcssa, %321 ], [ %.2268.lcssa, %319 ] %331 = load ptr, ptr %10, align 8, !tbaa !36 %.not302 = icmp eq ptr %331, null - br i1 %.not302, label %448, label %332 + br i1 %.not302, label %447, label %332 332: ; preds = %330 %333 = zext nneg i32 %.0262390 to i64 @@ -781,7 +781,7 @@ ir_check_input_list.exit: ; preds = %.lr.ph.i346, %.loop %.lcssa365 = phi i32 [ %336, %332 ], [ %362, %ir_check_input_list.exit ] %366 = and i32 %25, 1536 %or.cond334 = icmp eq i32 %366, 512 - br i1 %or.cond334, label %367, label %448 + br i1 %or.cond334, label %367, label %447 367: ; preds = %._crit_edge378 %368 = load i8, ptr %.0274388, align 8, !tbaa !27 @@ -795,26 +795,26 @@ ir_check_input_list.exit: ; preds = %.lr.ph.i346, %.loop 369: ; preds = %367 %370 = icmp slt i32 %.lcssa365, 1 - br i1 %370, label %371, label %448 + br i1 %370, label %371, label %447 371: ; preds = %369 %372 = load ptr, ptr @stderr, align 8, !tbaa !28 %373 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %372, ptr noundef nonnull @.str.21, i32 noundef %.0262390, i32 noundef %.lcssa365) #4 - br label %448 + br label %447 374: ; preds = %367 %.not306 = icmp eq i32 %.lcssa365, 2 - br i1 %.not306, label %448, label %375 + br i1 %.not306, label %447, label %375 375: ; preds = %374 %376 = load ptr, ptr @stderr, align 8, !tbaa !28 %377 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %376, ptr noundef nonnull @.str.22, i32 noundef %.0262390, i32 noundef %.lcssa365) #4 - br label %448 + br label %447 378: ; preds = %367, %367 switch i32 %.lcssa365, label %.thread357 [ i32 1, label %379 - i32 0, label %448 + i32 0, label %447 ] 379: ; preds = %378 @@ -828,11 +828,11 @@ ir_check_input_list.exit: ; preds = %.lr.ph.i346, %.loop %387 = getelementptr inbounds %struct._ir_insn, ptr %380, i64 %386 %388 = load i8, ptr %387, align 8, !tbaa !27 %389 = icmp eq i8 %388, 92 - br i1 %389, label %448, label %.thread357 + br i1 %389, label %447, label %.thread357 390: ; preds = %367 %.not305 = icmp eq i32 %.lcssa365, 0 - br i1 %.not305, label %448, label %.thread357 + br i1 %.not305, label %447, label %.thread357 .thread357: ; preds = %378, %379, %390 %391 = load ptr, ptr @stderr, align 8, !tbaa !28 @@ -840,7 +840,7 @@ ir_check_input_list.exit: ; preds = %.lr.ph.i346, %.loop %393 = getelementptr inbounds nuw ptr, ptr @ir_op_name, i64 %392 %394 = load ptr, ptr %393, align 8, !tbaa !41 %395 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %391, ptr noundef nonnull @.str.23, i32 noundef %.0262390, ptr noundef %394, i32 noundef %.lcssa365) #4 - br label %448 + br label %447 396: ; preds = %367 %397 = load ptr, ptr %11, align 8, !tbaa !39 @@ -848,7 +848,7 @@ ir_check_input_list.exit: ; preds = %.lr.ph.i346, %.loop %399 = sext i32 %398 to i64 %400 = getelementptr i32, ptr %397, i64 %399 %401 = icmp sgt i32 %.lcssa365, 0 - br i1 %401, label %.lr.ph385, label %.thread431 + br i1 %401, label %.lr.ph385, label %.thread432 .lr.ph385: ; preds = %396 %402 = load ptr, ptr %0, align 8, !tbaa !26 @@ -876,27 +876,27 @@ ir_check_input_list.exit: ; preds = %.lr.ph.i346, %.loop ._crit_edge386: ; preds = %403 %.not307 = icmp eq i32 %spec.select, 1 - br i1 %.not307, label %448, label %415 + br i1 %.not307, label %447, label %415 415: ; preds = %._crit_edge386 %416 = icmp eq i8 %368, 69 %417 = icmp eq i32 %spec.select, 2 %or.cond13 = and i1 %416, %417 - br i1 %or.cond13, label %448, label %.thread431 + br i1 %or.cond13, label %447, label %.thread432 -.thread431: ; preds = %396, %415 +.thread432: ; preds = %396, %415 %418 = phi i1 [ %417, %415 ], [ false, %396 ] - %.0.lcssa430434 = phi i32 [ %spec.select, %415 ], [ %.lcssa365, %396 ] + %.0.lcssa431435 = phi i32 [ %spec.select, %415 ], [ %.lcssa365, %396 ] %419 = icmp eq i8 %368, 101 br i1 %419, label %422, label %420 -420: ; preds = %.thread431 +420: ; preds = %.thread432 %421 = icmp eq i8 %368, 100 %or.cond16 = and i1 %421, %418 - br i1 %or.cond16, label %423, label %439 + br i1 %or.cond16, label %423, label %438 -422: ; preds = %.thread431 - br i1 %418, label %423, label %439 +422: ; preds = %.thread432 + br i1 %418, label %423, label %438 423: ; preds = %420, %422 %424 = load ptr, ptr %0, align 8, !tbaa !26 @@ -905,48 +905,47 @@ ir_check_input_list.exit: ; preds = %.lr.ph.i346, %.loop %427 = getelementptr inbounds %struct._ir_insn, ptr %424, i64 %426 %428 = load i8, ptr %427, align 8, !tbaa !27 %429 = icmp eq i8 %428, 92 - %430 = sext i1 %429 to i32 - %spec.select335 = add nsw i32 %.0.lcssa430434, %430 - %431 = getelementptr i8, ptr %400, i64 4 - %432 = load i32, ptr %431, align 4, !tbaa !30 - %433 = sext i32 %432 to i64 - %434 = getelementptr inbounds %struct._ir_insn, ptr %424, i64 %433 - %435 = load i8, ptr %434, align 8, !tbaa !27 - %436 = icmp eq i8 %435, 92 - %437 = sext i1 %436 to i32 - %.4 = add nsw i32 %spec.select335, %437 - %438 = icmp eq i32 %.4, 1 - br i1 %438, label %448, label %439 - -439: ; preds = %423, %422, %420 - %.2 = phi i32 [ %.4, %423 ], [ %.0.lcssa430434, %422 ], [ %.0.lcssa430434, %420 ] - %440 = icmp eq i32 %.2, 0 - %441 = and i8 %368, -2 - %switch339 = icmp eq i8 %441, 100 - %or.cond361 = and i1 %switch339, %440 - br i1 %or.cond361, label %448, label %442 - -442: ; preds = %439 - %443 = load ptr, ptr @stderr, align 8, !tbaa !28 - %444 = zext i8 %368 to i64 - %445 = getelementptr inbounds nuw ptr, ptr @ir_op_name, i64 %444 - %446 = load ptr, ptr %445, align 8, !tbaa !41 - %447 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %443, ptr noundef nonnull @.str.24, i32 noundef %.0262390, ptr noundef %446, i32 noundef %.2) #4 - br label %448 - -448: ; preds = %439, %378, %._crit_edge378, %._crit_edge386, %442, %423, %415, %390, %.thread357, %379, %374, %375, %369, %371, %330 - %.11 = phi i1 [ %.10, %330 ], [ %.12.lcssa, %415 ], [ %.12.lcssa, %423 ], [ false, %442 ], [ %.12.lcssa, %._crit_edge386 ], [ false, %371 ], [ %.12.lcssa, %369 ], [ false, %375 ], [ %.12.lcssa, %374 ], [ %.12.lcssa, %379 ], [ false, %.thread357 ], [ %.12.lcssa, %390 ], [ %.12.lcssa, %._crit_edge378 ], [ %.12.lcssa, %378 ], [ %.12.lcssa, %439 ] - %449 = lshr i32 %.0.i, 2 - %450 = add nuw nsw i32 %449, 1 - %451 = add nuw nsw i32 %450, %.0262390 - %452 = zext nneg i32 %450 to i64 - %453 = getelementptr inbounds nuw %struct._ir_insn, ptr %.0274388, i64 %452 - %454 = load i32, ptr %2, align 8, !tbaa !4 - %455 = icmp slt i32 %451, %454 - br i1 %455, label %15, label %.loopexit364 - -.loopexit364: ; preds = %448, %1, %18 - %.1267 = phi i1 [ false, %18 ], [ true, %1 ], [ %.11, %448 ] + %spec.select335 = select i1 %429, i32 1, i32 2 + %430 = getelementptr i8, ptr %400, i64 4 + %431 = load i32, ptr %430, align 4, !tbaa !30 + %432 = sext i32 %431 to i64 + %433 = getelementptr inbounds %struct._ir_insn, ptr %424, i64 %432 + %434 = load i8, ptr %433, align 8, !tbaa !27 + %435 = icmp eq i8 %434, 92 + %436 = sext i1 %435 to i32 + %.4 = add nsw i32 %spec.select335, %436 + %437 = icmp eq i32 %.4, 1 + br i1 %437, label %447, label %438 + +438: ; preds = %423, %422, %420 + %.2 = phi i32 [ %.4, %423 ], [ %.0.lcssa431435, %422 ], [ %.0.lcssa431435, %420 ] + %439 = icmp eq i32 %.2, 0 + %440 = and i8 %368, -2 + %switch339 = icmp eq i8 %440, 100 + %or.cond361 = and i1 %switch339, %439 + br i1 %or.cond361, label %447, label %441 + +441: ; preds = %438 + %442 = load ptr, ptr @stderr, align 8, !tbaa !28 + %443 = zext i8 %368 to i64 + %444 = getelementptr inbounds nuw ptr, ptr @ir_op_name, i64 %443 + %445 = load ptr, ptr %444, align 8, !tbaa !41 + %446 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %442, ptr noundef nonnull @.str.24, i32 noundef %.0262390, ptr noundef %445, i32 noundef %.2) #4 + br label %447 + +447: ; preds = %438, %378, %._crit_edge378, %._crit_edge386, %441, %423, %415, %390, %.thread357, %379, %374, %375, %369, %371, %330 + %.11 = phi i1 [ %.10, %330 ], [ %.12.lcssa, %415 ], [ %.12.lcssa, %423 ], [ false, %441 ], [ %.12.lcssa, %._crit_edge386 ], [ false, %371 ], [ %.12.lcssa, %369 ], [ false, %375 ], [ %.12.lcssa, %374 ], [ %.12.lcssa, %379 ], [ false, %.thread357 ], [ %.12.lcssa, %390 ], [ %.12.lcssa, %._crit_edge378 ], [ %.12.lcssa, %378 ], [ %.12.lcssa, %438 ] + %448 = lshr i32 %.0.i, 2 + %449 = add nuw nsw i32 %448, 1 + %450 = add nuw nsw i32 %449, %.0262390 + %451 = zext nneg i32 %449 to i64 + %452 = getelementptr inbounds nuw %struct._ir_insn, ptr %.0274388, i64 %451 + %453 = load i32, ptr %2, align 8, !tbaa !4 + %454 = icmp slt i32 %450, %453 + br i1 %454, label %15, label %.loopexit364 + +.loopexit364: ; preds = %447, %1, %18 + %.1267 = phi i1 [ false, %18 ], [ true, %1 ], [ %.11, %447 ] ret i1 %.1267 } diff --git a/bench/proj/optimized/conversion.ll b/bench/proj/optimized/conversion.ll index ccc0542e4d2..71406fbd47a 100644 --- a/bench/proj/optimized/conversion.ll +++ b/bench/proj/optimized/conversion.ll @@ -5241,8 +5241,8 @@ _ZNSt6vectorIN7dropbox6oxygen2nnISt10shared_ptrIN5osgeo4proj9operation14Paramete %79 = getelementptr inbounds i8, ptr %78, i64 -16 %80 = getelementptr inbounds i8, ptr %78, i64 -8 %81 = load ptr, ptr %80, align 8, !tbaa !20 - %.not.i.i.i17 = icmp eq ptr %81, null - br i1 %.not.i.i.i17, label %_ZN7dropbox6oxygen2nnISt10shared_ptrIN5osgeo4proj9operation14ParameterValueEEED2Ev.exit, label %82 + %.not.i.i.i21 = icmp eq ptr %81, null + br i1 %.not.i.i.i21, label %_ZN7dropbox6oxygen2nnISt10shared_ptrIN5osgeo4proj9operation14ParameterValueEEED2Ev.exit, label %82 82: ; preds = %_ZNSt6vectorIN7dropbox6oxygen2nnISt10shared_ptrIN5osgeo4proj9operation14ParameterValueEEEESaIS9_EED2Ev.exit %83 = getelementptr inbounds nuw i8, ptr %81, i64 8 @@ -5267,8 +5267,8 @@ _ZNSt6vectorIN7dropbox6oxygen2nnISt10shared_ptrIN5osgeo4proj9operation14Paramete 95: ; preds = %82 %96 = load i8, ptr @__libc_single_threaded, align 1, !tbaa !21 - %.not.i.i.i.i18 = icmp eq i8 %96, 0 - br i1 %.not.i.i.i.i18, label %99, label %97 + %.not.i.i.i.i22 = icmp eq i8 %96, 0 + br i1 %.not.i.i.i.i22, label %99, label %97 97: ; preds = %95 %98 = add nsw i32 %86, -1 @@ -20957,7 +20957,7 @@ define void @_ZN5osgeo4proj9operation10Conversion25createGeographic2DOffsetsERKN 11: ; preds = %4 %12 = getelementptr inbounds nuw i8, ptr %7, i64 16 invoke void @_ZN5osgeo4proj9operation25createOpParamNameEPSGCodeEi(ptr dead_on_unwind nonnull writable sret(%"class.dropbox::oxygen::nn.106") align 8 %12, i32 noundef 8602) - to label %13 unwind label %.loopexit.loopexit25 + to label %13 unwind label %.loopexit.loopexit38 13: ; preds = %11 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %6, i8 0, i64 24, i1 false) @@ -21013,17 +21013,17 @@ _ZSt10_ConstructIN7dropbox6oxygen2nnISt10shared_ptrIN5osgeo4proj9operation18Oper call void @llvm.lifetime.start.p0(ptr nonnull %8) call void @llvm.lifetime.start.p0(ptr nonnull %9) invoke void @_ZN5osgeo4proj6common7MeasureC1ERKS2_(ptr noundef nonnull align 8 dereferenceable(24) %9, ptr noundef nonnull align 8 dereferenceable(24) %2) - to label %34 unwind label %.thread19 + to label %34 unwind label %.thread32 -.thread19: ; preds = %31 +.thread32: ; preds = %31 %33 = landingpad { ptr, i32 } cleanup - br label %.loopexit21 + br label %.loopexit34 34: ; preds = %31 %35 = getelementptr inbounds nuw i8, ptr %9, i64 24 invoke void @_ZN5osgeo4proj6common7MeasureC1ERKS2_(ptr noundef nonnull align 8 dereferenceable(24) %35, ptr noundef nonnull align 8 dereferenceable(24) %3) - to label %36 unwind label %.loopexit21.loopexit24 + to label %36 unwind label %.loopexit34.loopexit37 36: ; preds = %34 invoke void @_ZN5osgeo4proj9operation14VectorOfValuesC1ESt16initializer_listINS0_6common7MeasureEE(ptr noundef nonnull align 8 dereferenceable(24) %8, ptr nonnull %9, i64 2) @@ -21114,7 +21114,7 @@ _ZN7dropbox6oxygen2nnISt10shared_ptrIN5osgeo4proj9operation18OperationParameterE call void @llvm.lifetime.end.p0(ptr nonnull %5) ret void -.loopexit.loopexit25: ; preds = %11 +.loopexit.loopexit38: ; preds = %11 %73 = landingpad { ptr, i32 } cleanup call void @_ZN7dropbox6oxygen2nnISt10shared_ptrIN5osgeo4proj9operation18OperationParameterEEED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %7) #32 @@ -21125,11 +21125,11 @@ _ZN7dropbox6oxygen2nnISt10shared_ptrIN5osgeo4proj9operation18OperationParameterE cleanup br label %87 -.loopexit21.loopexit24: ; preds = %34 +.loopexit34.loopexit37: ; preds = %34 %76 = landingpad { ptr, i32 } cleanup call void @_ZN5osgeo4proj6common7MeasureD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %9) #32 - br label %.loopexit21 + br label %.loopexit34 77: ; preds = %36 %78 = landingpad { ptr, i32 } @@ -21152,17 +21152,17 @@ _ZN7dropbox6oxygen2nnISt10shared_ptrIN5osgeo4proj9operation18OperationParameterE %85 = getelementptr inbounds i8, ptr %84, i64 -24 call void @_ZN5osgeo4proj6common7MeasureD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %85) #32 %86 = icmp eq ptr %85, %9 - br i1 %86, label %.loopexit21, label %83 + br i1 %86, label %.loopexit34, label %83 -.loopexit21: ; preds = %83, %.loopexit21.loopexit24, %.thread19 - %.pn.pn = phi { ptr, i32 } [ %33, %.thread19 ], [ %76, %.loopexit21.loopexit24 ], [ %.pn, %83 ] +.loopexit34: ; preds = %83, %.loopexit34.loopexit37, %.thread32 + %.pn.pn = phi { ptr, i32 } [ %33, %.thread32 ], [ %76, %.loopexit34.loopexit37 ], [ %.pn, %83 ] call void @llvm.lifetime.end.p0(ptr nonnull %9) call void @llvm.lifetime.end.p0(ptr nonnull %8) call void @_ZN5osgeo4proj9operation18VectorOfParametersD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %6) #32 br label %87 -87: ; preds = %.loopexit21, %74 - %.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn, %.loopexit21 ], [ %75, %74 ] +87: ; preds = %.loopexit34, %74 + %.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn, %.loopexit34 ], [ %75, %74 ] br label %88 88: ; preds = %88, %87 @@ -21172,8 +21172,8 @@ _ZN7dropbox6oxygen2nnISt10shared_ptrIN5osgeo4proj9operation18OperationParameterE %91 = icmp eq ptr %90, %7 br i1 %91, label %.loopexit, label %88 -.loopexit: ; preds = %88, %.loopexit.loopexit25, %.thread - %.pn.pn.pn.pn = phi { ptr, i32 } [ %10, %.thread ], [ %73, %.loopexit.loopexit25 ], [ %.pn.pn.pn, %88 ] +.loopexit: ; preds = %88, %.loopexit.loopexit38, %.thread + %.pn.pn.pn.pn = phi { ptr, i32 } [ %10, %.thread ], [ %73, %.loopexit.loopexit38 ], [ %.pn.pn.pn, %88 ] call void @llvm.lifetime.end.p0(ptr nonnull %7) call void @llvm.lifetime.end.p0(ptr nonnull %6) call void @_ZN5osgeo4proj4util11PropertyMapD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %5) #32 @@ -21264,12 +21264,12 @@ _ZSt10_ConstructIN7dropbox6oxygen2nnISt10shared_ptrIN5osgeo4proj9operation18Oper call void @llvm.lifetime.start.p0(ptr nonnull %9) call void @llvm.lifetime.start.p0(ptr nonnull %10) invoke void @_ZN5osgeo4proj6common7MeasureC1ERKS2_(ptr noundef nonnull align 8 dereferenceable(24) %10, ptr noundef nonnull align 8 dereferenceable(24) %2) - to label %37 unwind label %.thread20 + to label %37 unwind label %.thread33 -.thread20: ; preds = %34 +.thread33: ; preds = %34 %36 = landingpad { ptr, i32 } cleanup - br label %.loopexit22 + br label %.loopexit35 37: ; preds = %34 %38 = getelementptr inbounds nuw i8, ptr %10, i64 24 @@ -21399,7 +21399,7 @@ _ZN7dropbox6oxygen2nnISt10shared_ptrIN5osgeo4proj9operation18OperationParameterE %90 = getelementptr inbounds i8, ptr %89, i64 -24 call void @_ZN5osgeo4proj6common7MeasureD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %90) #32 %91 = icmp eq ptr %90, %10 - br i1 %91, label %.loopexit22, label %88 + br i1 %91, label %.loopexit35, label %88 92: ; preds = %41 %93 = landingpad { ptr, i32 } @@ -21422,17 +21422,17 @@ _ZN7dropbox6oxygen2nnISt10shared_ptrIN5osgeo4proj9operation18OperationParameterE %100 = getelementptr inbounds i8, ptr %99, i64 -24 call void @_ZN5osgeo4proj6common7MeasureD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %100) #32 %101 = icmp eq ptr %100, %10 - br i1 %101, label %.loopexit22, label %98 + br i1 %101, label %.loopexit35, label %98 -.loopexit22: ; preds = %88, %98, %.thread20 - %.pn.pn = phi { ptr, i32 } [ %36, %.thread20 ], [ %.pn, %98 ], [ %87, %88 ] +.loopexit35: ; preds = %88, %98, %.thread33 + %.pn.pn = phi { ptr, i32 } [ %36, %.thread33 ], [ %.pn, %98 ], [ %87, %88 ] call void @llvm.lifetime.end.p0(ptr nonnull %10) call void @llvm.lifetime.end.p0(ptr nonnull %9) call void @_ZN5osgeo4proj9operation18VectorOfParametersD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %7) #32 br label %102 -102: ; preds = %.loopexit22, %84 - %.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn, %.loopexit22 ], [ %85, %84 ] +102: ; preds = %.loopexit35, %84 + %.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn, %.loopexit35 ], [ %85, %84 ] br label %103 103: ; preds = %103, %102 @@ -21534,12 +21534,12 @@ _ZSt10_ConstructIN7dropbox6oxygen2nnISt10shared_ptrIN5osgeo4proj9operation18Oper call void @llvm.lifetime.start.p0(ptr nonnull %9) call void @llvm.lifetime.start.p0(ptr nonnull %10) invoke void @_ZN5osgeo4proj6common7MeasureC1ERKS2_(ptr noundef nonnull align 8 dereferenceable(24) %10, ptr noundef nonnull align 8 dereferenceable(24) %2) - to label %37 unwind label %.thread20 + to label %37 unwind label %.thread28 -.thread20: ; preds = %34 +.thread28: ; preds = %34 %36 = landingpad { ptr, i32 } cleanup - br label %.loopexit22 + br label %.loopexit30 37: ; preds = %34 %38 = getelementptr inbounds nuw i8, ptr %10, i64 24 @@ -21669,7 +21669,7 @@ _ZN7dropbox6oxygen2nnISt10shared_ptrIN5osgeo4proj9operation18OperationParameterE %90 = getelementptr inbounds i8, ptr %89, i64 -24 call void @_ZN5osgeo4proj6common7MeasureD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %90) #32 %91 = icmp eq ptr %90, %10 - br i1 %91, label %.loopexit22, label %88 + br i1 %91, label %.loopexit30, label %88 92: ; preds = %41 %93 = landingpad { ptr, i32 } @@ -21692,17 +21692,17 @@ _ZN7dropbox6oxygen2nnISt10shared_ptrIN5osgeo4proj9operation18OperationParameterE %100 = getelementptr inbounds i8, ptr %99, i64 -24 call void @_ZN5osgeo4proj6common7MeasureD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %100) #32 %101 = icmp eq ptr %100, %10 - br i1 %101, label %.loopexit22, label %98 + br i1 %101, label %.loopexit30, label %98 -.loopexit22: ; preds = %88, %98, %.thread20 - %.pn.pn = phi { ptr, i32 } [ %36, %.thread20 ], [ %.pn, %98 ], [ %87, %88 ] +.loopexit30: ; preds = %88, %98, %.thread28 + %.pn.pn = phi { ptr, i32 } [ %36, %.thread28 ], [ %.pn, %98 ], [ %87, %88 ] call void @llvm.lifetime.end.p0(ptr nonnull %10) call void @llvm.lifetime.end.p0(ptr nonnull %9) call void @_ZN5osgeo4proj9operation18VectorOfParametersD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %7) #32 br label %102 -102: ; preds = %.loopexit22, %84 - %.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn, %.loopexit22 ], [ %85, %84 ] +102: ; preds = %.loopexit30, %84 + %.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn, %.loopexit30 ], [ %85, %84 ] br label %103 103: ; preds = %103, %102 diff --git a/bench/raylib/optimized/rmodels.ll b/bench/raylib/optimized/rmodels.ll index 4453de84513..88db7f8aacc 100644 --- a/bench/raylib/optimized/rmodels.ll +++ b/bench/raylib/optimized/rmodels.ll @@ -11206,7 +11206,7 @@ cgltf_component_size.exit: ; preds = %8, %switch.lookup %21 = getelementptr inbounds nuw i8, ptr %17, i64 48 %22 = load ptr, ptr %21, align 8 %.not.i = icmp eq ptr %22, null - br i1 %.not.i, label %23, label %cgltf_buffer_view_data.exit.thread60 + br i1 %.not.i, label %23, label %cgltf_buffer_view_data.exit.thread61 23: ; preds = %20 %24 = getelementptr inbounds nuw i8, ptr %17, i64 8 @@ -11220,17 +11220,17 @@ cgltf_buffer_view_data.exit: ; preds = %23 %28 = getelementptr inbounds nuw i8, ptr %17, i64 16 %29 = load i64, ptr %28, align 8 %30 = getelementptr inbounds nuw i8, ptr %27, i64 %29 - br label %cgltf_buffer_view_data.exit.thread60 + br label %cgltf_buffer_view_data.exit.thread61 -cgltf_buffer_view_data.exit.thread60: ; preds = %cgltf_buffer_view_data.exit, %20 - %.0.i5562 = phi ptr [ %30, %cgltf_buffer_view_data.exit ], [ %22, %20 ] +cgltf_buffer_view_data.exit.thread61: ; preds = %cgltf_buffer_view_data.exit, %20 + %.0.i5663 = phi ptr [ %30, %cgltf_buffer_view_data.exit ], [ %22, %20 ] %31 = getelementptr inbounds nuw i8, ptr %0, i64 24 %32 = load i64, ptr %31, align 8 - %33 = getelementptr inbounds nuw i8, ptr %.0.i5562, i64 %32 + %33 = getelementptr inbounds nuw i8, ptr %.0.i5663, i64 %32 %34 = icmp eq i64 %.0.i, %2 br i1 %34, label %35, label %41 -35: ; preds = %cgltf_buffer_view_data.exit.thread60 +35: ; preds = %cgltf_buffer_view_data.exit.thread61 %36 = getelementptr inbounds nuw i8, ptr %0, i64 40 %37 = load i64, ptr %36, align 8 %38 = icmp eq i64 %37, %2 @@ -11241,31 +11241,31 @@ cgltf_buffer_view_data.exit.thread60: ; preds = %cgltf_buffer_view_d tail call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 1 %1, ptr nonnull align 1 %33, i64 %40, i1 false) br label %cgltf_buffer_view_data.exit.thread -41: ; preds = %35, %cgltf_buffer_view_data.exit.thread60 +41: ; preds = %35, %cgltf_buffer_view_data.exit.thread61 switch i64 %2, label %cgltf_buffer_view_data.exit.thread [ i64 2, label %.preheader - i64 4, label %.preheader63 + i64 4, label %.preheader64 ] -.preheader63: ; preds = %41 - %.not70 = icmp eq i64 %., 0 - br i1 %.not70, label %cgltf_buffer_view_data.exit.thread, label %.lr.ph +.preheader64: ; preds = %41 + %.not71 = icmp eq i64 %., 0 + br i1 %.not71, label %cgltf_buffer_view_data.exit.thread, label %.lr.ph -.lr.ph: ; preds = %.preheader63 +.lr.ph: ; preds = %.preheader64 %42 = getelementptr inbounds nuw i8, ptr %0, i64 40 br label %58 .preheader: ; preds = %41 - %.not71 = icmp eq i64 %., 0 - br i1 %.not71, label %cgltf_buffer_view_data.exit.thread, label %.lr.ph69 + %.not72 = icmp eq i64 %., 0 + br i1 %.not72, label %cgltf_buffer_view_data.exit.thread, label %.lr.ph70 -.lr.ph69: ; preds = %.preheader +.lr.ph70: ; preds = %.preheader %43 = getelementptr inbounds nuw i8, ptr %0, i64 40 br label %44 -44: ; preds = %.lr.ph69, %cgltf_component_read_index.exit - %.04468 = phi i64 [ 0, %.lr.ph69 ], [ %55, %cgltf_component_read_index.exit ] - %.04567 = phi ptr [ %33, %.lr.ph69 ], [ %57, %cgltf_component_read_index.exit ] +44: ; preds = %.lr.ph70, %cgltf_component_read_index.exit + %.04469 = phi i64 [ 0, %.lr.ph70 ], [ %55, %cgltf_component_read_index.exit ] + %.04568 = phi ptr [ %33, %.lr.ph70 ], [ %57, %cgltf_component_read_index.exit ] %45 = load i32, ptr %9, align 8 switch i32 %45, label %cgltf_component_read_index.exit [ i32 4, label %46 @@ -11274,65 +11274,65 @@ cgltf_buffer_view_data.exit.thread60: ; preds = %cgltf_buffer_view_d ] 46: ; preds = %44 - %47 = load i16, ptr %.04567, align 2 + %47 = load i16, ptr %.04568, align 2 br label %cgltf_component_read_index.exit 48: ; preds = %44 - %49 = load i32, ptr %.04567, align 4 + %49 = load i32, ptr %.04568, align 4 %50 = trunc i32 %49 to i16 br label %cgltf_component_read_index.exit 51: ; preds = %44 - %52 = load i8, ptr %.04567, align 1 + %52 = load i8, ptr %.04568, align 1 %53 = zext i8 %52 to i16 br label %cgltf_component_read_index.exit cgltf_component_read_index.exit: ; preds = %44, %46, %48, %51 - %.0.i56 = phi i16 [ %47, %46 ], [ %50, %48 ], [ %53, %51 ], [ 0, %44 ] - %54 = getelementptr inbounds nuw i16, ptr %1, i64 %.04468 - store i16 %.0.i56, ptr %54, align 2 - %55 = add nuw i64 %.04468, 1 + %.0.i57 = phi i16 [ %47, %46 ], [ %50, %48 ], [ %53, %51 ], [ 0, %44 ] + %54 = getelementptr inbounds nuw i16, ptr %1, i64 %.04469 + store i16 %.0.i57, ptr %54, align 2 + %55 = add nuw i64 %.04469, 1 %56 = load i64, ptr %43, align 8 - %57 = getelementptr inbounds nuw i8, ptr %.04567, i64 %56 - %exitcond73.not = icmp eq i64 %55, %. - br i1 %exitcond73.not, label %cgltf_buffer_view_data.exit.thread, label %44 + %57 = getelementptr inbounds nuw i8, ptr %.04568, i64 %56 + %exitcond74.not = icmp eq i64 %55, %. + br i1 %exitcond74.not, label %cgltf_buffer_view_data.exit.thread, label %44 -58: ; preds = %.lr.ph, %cgltf_component_read_index.exit58 - %.066 = phi i64 [ 0, %.lr.ph ], [ %69, %cgltf_component_read_index.exit58 ] - %.165 = phi ptr [ %33, %.lr.ph ], [ %71, %cgltf_component_read_index.exit58 ] +58: ; preds = %.lr.ph, %cgltf_component_read_index.exit59 + %.067 = phi i64 [ 0, %.lr.ph ], [ %69, %cgltf_component_read_index.exit59 ] + %.166 = phi ptr [ %33, %.lr.ph ], [ %71, %cgltf_component_read_index.exit59 ] %59 = load i32, ptr %9, align 8 - switch i32 %59, label %cgltf_component_read_index.exit58 [ + switch i32 %59, label %cgltf_component_read_index.exit59 [ i32 4, label %60 i32 5, label %63 i32 2, label %65 ] 60: ; preds = %58 - %61 = load i16, ptr %.165, align 2 + %61 = load i16, ptr %.166, align 2 %62 = zext i16 %61 to i32 - br label %cgltf_component_read_index.exit58 + br label %cgltf_component_read_index.exit59 63: ; preds = %58 - %64 = load i32, ptr %.165, align 4 - br label %cgltf_component_read_index.exit58 + %64 = load i32, ptr %.166, align 4 + br label %cgltf_component_read_index.exit59 65: ; preds = %58 - %66 = load i8, ptr %.165, align 1 + %66 = load i8, ptr %.166, align 1 %67 = zext i8 %66 to i32 - br label %cgltf_component_read_index.exit58 + br label %cgltf_component_read_index.exit59 -cgltf_component_read_index.exit58: ; preds = %58, %60, %63, %65 - %.0.i57 = phi i32 [ %62, %60 ], [ %64, %63 ], [ %67, %65 ], [ 0, %58 ] - %68 = getelementptr inbounds nuw i32, ptr %1, i64 %.066 - store i32 %.0.i57, ptr %68, align 4 - %69 = add nuw i64 %.066, 1 +cgltf_component_read_index.exit59: ; preds = %58, %60, %63, %65 + %.0.i58 = phi i32 [ %62, %60 ], [ %64, %63 ], [ %67, %65 ], [ 0, %58 ] + %68 = getelementptr inbounds nuw i32, ptr %1, i64 %.067 + store i32 %.0.i58, ptr %68, align 4 + %69 = add nuw i64 %.067, 1 %70 = load i64, ptr %42, align 8 - %71 = getelementptr inbounds nuw i8, ptr %.165, i64 %70 + %71 = getelementptr inbounds nuw i8, ptr %.166, i64 %70 %exitcond.not = icmp eq i64 %69, %. br i1 %exitcond.not, label %cgltf_buffer_view_data.exit.thread, label %58 -cgltf_buffer_view_data.exit.thread: ; preds = %cgltf_component_read_index.exit58, %cgltf_component_read_index.exit, %4, %.preheader63, %.preheader, %23, %cgltf_component_size.exit, %15, %41, %39 - %.046 = phi i64 [ 0, %cgltf_component_size.exit ], [ 0, %15 ], [ %., %39 ], [ %., %41 ], [ 0, %23 ], [ 0, %.preheader ], [ 0, %.preheader63 ], [ %7, %4 ], [ %., %cgltf_component_read_index.exit ], [ %., %cgltf_component_read_index.exit58 ] +cgltf_buffer_view_data.exit.thread: ; preds = %cgltf_component_read_index.exit59, %cgltf_component_read_index.exit, %4, %.preheader64, %.preheader, %23, %cgltf_component_size.exit, %15, %41, %39 + %.046 = phi i64 [ 0, %cgltf_component_size.exit ], [ 0, %15 ], [ %., %39 ], [ %., %41 ], [ 0, %23 ], [ 0, %.preheader ], [ 0, %.preheader64 ], [ %7, %4 ], [ %., %cgltf_component_read_index.exit ], [ %., %cgltf_component_read_index.exit59 ] ret i64 %.046 } @@ -25514,32 +25514,32 @@ define hidden noalias noundef ptr @par_shapes_create_parametric_disk(i32 noundef ._crit_edge.i: ; preds = %.lr.ph.i %9 = getelementptr inbounds nuw i8, ptr %3, i64 32 %10 = load ptr, ptr %9, align 8 - %.not65.i = icmp eq ptr %10, null - br i1 %.not65.i, label %par_shapes_scale.exit, label %.lr.ph73.i + %.not66.i = icmp eq ptr %10, null + br i1 %.not66.i, label %par_shapes_scale.exit, label %.lr.ph74.i .lr.ph.i: ; preds = %.lr.ph.i, %.lr.ph.preheader.i - %.05969.i = phi i32 [ %15, %.lr.ph.i ], [ 0, %.lr.ph.preheader.i ] - %.06068.i = phi ptr [ %12, %.lr.ph.i ], [ %8, %.lr.ph.preheader.i ] - %11 = getelementptr inbounds nuw i8, ptr %.06068.i, i64 8 - %12 = getelementptr inbounds nuw i8, ptr %.06068.i, i64 12 + %.05970.i = phi i32 [ %15, %.lr.ph.i ], [ 0, %.lr.ph.preheader.i ] + %.06069.i = phi ptr [ %12, %.lr.ph.i ], [ %8, %.lr.ph.preheader.i ] + %11 = getelementptr inbounds nuw i8, ptr %.06069.i, i64 8 + %12 = getelementptr inbounds nuw i8, ptr %.06069.i, i64 12 %13 = load float, ptr %11, align 4 %14 = fmul float %13, 0.000000e+00 store float %14, ptr %11, align 4 - %15 = add nuw nsw i32 %.05969.i, 1 + %15 = add nuw nsw i32 %.05970.i, 1 %exitcond.not = icmp eq i32 %15, %6 br i1 %exitcond.not, label %._crit_edge.i, label %.lr.ph.i -.lr.ph73.i: ; preds = %._crit_edge.i, %par_shapes__normalize3.exit.i - %.071.i = phi i32 [ %32, %par_shapes__normalize3.exit.i ], [ 0, %._crit_edge.i ] - %.05870.i = phi ptr [ %33, %par_shapes__normalize3.exit.i ], [ %10, %._crit_edge.i ] - %16 = load float, ptr %.05870.i, align 4 +.lr.ph74.i: ; preds = %._crit_edge.i, %par_shapes__normalize3.exit.i + %.072.i = phi i32 [ %32, %par_shapes__normalize3.exit.i ], [ 0, %._crit_edge.i ] + %.05871.i = phi ptr [ %33, %par_shapes__normalize3.exit.i ], [ %10, %._crit_edge.i ] + %16 = load float, ptr %.05871.i, align 4 %17 = fmul float %16, 0.000000e+00 - store float %17, ptr %.05870.i, align 4 - %18 = getelementptr inbounds nuw i8, ptr %.05870.i, i64 4 + store float %17, ptr %.05871.i, align 4 + %18 = getelementptr inbounds nuw i8, ptr %.05871.i, i64 4 %19 = load float, ptr %18, align 4 %20 = fmul float %19, 0.000000e+00 store float %20, ptr %18, align 4 - %21 = getelementptr inbounds nuw i8, ptr %.05870.i, i64 8 + %21 = getelementptr inbounds nuw i8, ptr %.05871.i, i64 8 %22 = load float, ptr %21, align 4 %23 = fmul float %20, %20 %24 = tail call float @llvm.fmuladd.f32(float %17, float %17, float %23) @@ -25547,22 +25547,22 @@ define hidden noalias noundef ptr @par_shapes_create_parametric_disk(i32 noundef %26 = fcmp ogt float %25, 0.000000e+00 br i1 %26, label %27, label %par_shapes__normalize3.exit.i -27: ; preds = %.lr.ph73.i +27: ; preds = %.lr.ph74.i %sqrt.i.i = tail call float @llvm.sqrt.f32(float %25) %28 = fdiv float 1.000000e+00, %sqrt.i.i %29 = fmul float %17, %28 - store float %29, ptr %.05870.i, align 4 + store float %29, ptr %.05871.i, align 4 %30 = fmul float %20, %28 store float %30, ptr %18, align 4 %31 = fmul float %22, %28 store float %31, ptr %21, align 4 br label %par_shapes__normalize3.exit.i -par_shapes__normalize3.exit.i: ; preds = %27, %.lr.ph73.i - %32 = add nuw nsw i32 %.071.i, 1 - %33 = getelementptr inbounds nuw i8, ptr %.05870.i, i64 12 +par_shapes__normalize3.exit.i: ; preds = %27, %.lr.ph74.i + %32 = add nuw nsw i32 %.072.i, 1 + %33 = getelementptr inbounds nuw i8, ptr %.05871.i, i64 12 %exitcond5.not = icmp eq i32 %32, %6 - br i1 %exitcond5.not, label %par_shapes_scale.exit, label %.lr.ph73.i + br i1 %exitcond5.not, label %par_shapes_scale.exit, label %.lr.ph74.i par_shapes_scale.exit: ; preds = %par_shapes__normalize3.exit.i, %4, %._crit_edge.i, %2 ret ptr %3 @@ -25587,25 +25587,25 @@ define hidden void @par_shapes_scale(ptr noundef readonly captures(none) %0, flo %10 = phi i1 [ %9, %._crit_edge.loopexit ], [ false, %4 ] %11 = getelementptr inbounds nuw i8, ptr %0, i64 32 %12 = load ptr, ptr %11, align 8 - %.not65 = icmp eq ptr %12, null - br i1 %.not65, label %.loopexit, label %25 + %.not66 = icmp eq ptr %12, null + br i1 %.not66, label %.loopexit, label %25 .lr.ph: ; preds = %.lr.ph.preheader, %.lr.ph - %.05969 = phi i32 [ %22, %.lr.ph ], [ 0, %.lr.ph.preheader ] - %.06068 = phi ptr [ %19, %.lr.ph ], [ %8, %.lr.ph.preheader ] - %13 = getelementptr inbounds nuw i8, ptr %.06068, i64 4 - %14 = load float, ptr %.06068, align 4 + %.05970 = phi i32 [ %22, %.lr.ph ], [ 0, %.lr.ph.preheader ] + %.06069 = phi ptr [ %19, %.lr.ph ], [ %8, %.lr.ph.preheader ] + %13 = getelementptr inbounds nuw i8, ptr %.06069, i64 4 + %14 = load float, ptr %.06069, align 4 %15 = fmul float %1, %14 - store float %15, ptr %.06068, align 4 - %16 = getelementptr inbounds nuw i8, ptr %.06068, i64 8 + store float %15, ptr %.06069, align 4 + %16 = getelementptr inbounds nuw i8, ptr %.06069, i64 8 %17 = load float, ptr %13, align 4 %18 = fmul float %2, %17 store float %18, ptr %13, align 4 - %19 = getelementptr inbounds nuw i8, ptr %.06068, i64 12 + %19 = getelementptr inbounds nuw i8, ptr %.06069, i64 12 %20 = load float, ptr %16, align 4 %21 = fmul float %3, %20 store float %21, ptr %16, align 4 - %22 = add nuw nsw i32 %.05969, 1 + %22 = add nuw nsw i32 %.05970, 1 %23 = load i32, ptr %5, align 8 %24 = icmp slt i32 %22, %23 br i1 %24, label %.lr.ph, label %._crit_edge.loopexit @@ -25613,8 +25613,8 @@ define hidden void @par_shapes_scale(ptr noundef readonly captures(none) %0, flo 25: ; preds = %._crit_edge %26 = fcmp oeq float %1, %2 %27 = fcmp oeq float %2, %3 - %or.cond67 = and i1 %26, %27 - br i1 %or.cond67, label %.loopexit, label %28 + %or.cond68 = and i1 %26, %27 + br i1 %or.cond68, label %.loopexit, label %28 28: ; preds = %25 %29 = fcmp oeq float %1, 0.000000e+00 @@ -25648,19 +25648,19 @@ define hidden void @par_shapes_scale(ptr noundef readonly captures(none) %0, flo %.057 = phi float [ %47, %36 ], [ %35, %32 ] %.056 = phi float [ %44, %36 ], [ %34, %32 ] %.055 = phi float [ %40, %36 ], [ %33, %32 ] - br i1 %10, label %.lr.ph73, label %.loopexit + br i1 %10, label %.lr.ph74, label %.loopexit -.lr.ph73: ; preds = %48, %par_shapes__normalize3.exit - %.071 = phi i32 [ %66, %par_shapes__normalize3.exit ], [ 0, %48 ] - %.05870 = phi ptr [ %67, %par_shapes__normalize3.exit ], [ %12, %48 ] - %49 = load float, ptr %.05870, align 4 +.lr.ph74: ; preds = %48, %par_shapes__normalize3.exit + %.072 = phi i32 [ %66, %par_shapes__normalize3.exit ], [ 0, %48 ] + %.05871 = phi ptr [ %67, %par_shapes__normalize3.exit ], [ %12, %48 ] + %49 = load float, ptr %.05871, align 4 %50 = fmul float %.055, %49 - store float %50, ptr %.05870, align 4 - %51 = getelementptr inbounds nuw i8, ptr %.05870, i64 4 + store float %50, ptr %.05871, align 4 + %51 = getelementptr inbounds nuw i8, ptr %.05871, i64 4 %52 = load float, ptr %51, align 4 %53 = fmul float %.056, %52 store float %53, ptr %51, align 4 - %54 = getelementptr inbounds nuw i8, ptr %.05870, i64 8 + %54 = getelementptr inbounds nuw i8, ptr %.05871, i64 8 %55 = load float, ptr %54, align 4 %56 = fmul float %.057, %55 store float %56, ptr %54, align 4 @@ -25670,23 +25670,23 @@ define hidden void @par_shapes_scale(ptr noundef readonly captures(none) %0, flo %60 = fcmp ogt float %59, 0.000000e+00 br i1 %60, label %61, label %par_shapes__normalize3.exit -61: ; preds = %.lr.ph73 +61: ; preds = %.lr.ph74 %sqrt.i = tail call float @llvm.sqrt.f32(float %59) %62 = fdiv float 1.000000e+00, %sqrt.i %63 = fmul float %50, %62 - store float %63, ptr %.05870, align 4 + store float %63, ptr %.05871, align 4 %64 = fmul float %53, %62 store float %64, ptr %51, align 4 %65 = fmul float %56, %62 store float %65, ptr %54, align 4 br label %par_shapes__normalize3.exit -par_shapes__normalize3.exit: ; preds = %.lr.ph73, %61 - %66 = add nuw nsw i32 %.071, 1 - %67 = getelementptr inbounds nuw i8, ptr %.05870, i64 12 +par_shapes__normalize3.exit: ; preds = %.lr.ph74, %61 + %66 = add nuw nsw i32 %.072, 1 + %67 = getelementptr inbounds nuw i8, ptr %.05871, i64 12 %68 = load i32, ptr %5, align 8 %69 = icmp slt i32 %66, %68 - br i1 %69, label %.lr.ph73, label %.loopexit + br i1 %69, label %.lr.ph74, label %.loopexit .loopexit: ; preds = %par_shapes__normalize3.exit, %48, %25, %._crit_edge ret void diff --git a/bench/ripgrep-rs/optimized/79zj4cmg2a4glb1.ll b/bench/ripgrep-rs/optimized/79zj4cmg2a4glb1.ll index 202e316fe5e..d174f6cebf8 100644 --- a/bench/ripgrep-rs/optimized/79zj4cmg2a4glb1.ll +++ b/bench/ripgrep-rs/optimized/79zj4cmg2a4glb1.ll @@ -29,17 +29,17 @@ define hidden { i1, i8 } @"_ZN101_$LT$bstr..escape_bytes..UnescapeBytes$LT$I$GT$ %10 = getelementptr inbounds nuw i8, ptr %0, i64 40 %11 = load ptr, ptr %10, align 8, !nonnull !4 %.sroa.441.0..sroa_idx = getelementptr inbounds nuw i8, ptr %0, i64 4 - %.promoted81 = load ptr, ptr %9, align 8 + %.promoted82 = load ptr, ptr %9, align 8 br label %thread-pre-split thread-pre-split: ; preds = %thread-pre-split.backedge, %1 - %12 = phi ptr [ %.promoted81, %1 ], [ %.be176, %thread-pre-split.backedge ] + %12 = phi ptr [ %.promoted82, %1 ], [ %.be177, %thread-pre-split.backedge ] %.pr = load i8, ptr %0, align 8 br label %.backedge .backedge: ; preds = %.backedge.backedge, %thread-pre-split %13 = phi ptr [ %12, %thread-pre-split ], [ %.be, %.backedge.backedge ] - %14 = phi i8 [ %.pr, %thread-pre-split ], [ %.be175, %.backedge.backedge ] + %14 = phi i8 [ %.pr, %thread-pre-split ], [ %.be176, %.backedge.backedge ] switch i8 %14, label %default.unreachable [ i8 0, label %15 i8 1, label %55 @@ -133,16 +133,16 @@ default.unreachable: ; preds = %.backedge tail call void @llvm.experimental.noalias.scope.decl(metadata !25) tail call void @llvm.experimental.noalias.scope.decl(metadata !28) %61 = icmp eq ptr %13, %11 - br i1 %61, label %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit62.thread", label %62 + br i1 %61, label %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit63.thread", label %62 62: ; preds = %60 %63 = getelementptr inbounds nuw i8, ptr %13, i64 1 store ptr %63, ptr %9, align 8, !alias.scope !31 %64 = load i8, ptr %13, align 1, !noalias !34, !noundef !4 %65 = icmp sgt i8 %64, -1 - br i1 %65, label %76, label %"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17he9c021f1ed5e2956E.exit13.i.i59" + br i1 %65, label %76, label %"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17he9c021f1ed5e2956E.exit13.i.i60" -"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17he9c021f1ed5e2956E.exit13.i.i59": ; preds = %62 +"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17he9c021f1ed5e2956E.exit13.i.i60": ; preds = %62 %66 = and i8 %64, 31 %67 = zext nneg i8 %66 to i32 %68 = icmp ne ptr %63, %11 @@ -155,13 +155,13 @@ default.unreachable: ; preds = %.backedge %73 = zext nneg i8 %72 to i32 %74 = or disjoint i32 %71, %73 %75 = icmp samesign ugt i8 %64, -33 - br i1 %75, label %"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17he9c021f1ed5e2956E.exit15.i.i60", label %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit62" + br i1 %75, label %"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17he9c021f1ed5e2956E.exit15.i.i61", label %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit63" 76: ; preds = %62 %77 = zext nneg i8 %64 to i32 - br label %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit62" + br label %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit63" -"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17he9c021f1ed5e2956E.exit15.i.i60": ; preds = %"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17he9c021f1ed5e2956E.exit13.i.i59" +"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17he9c021f1ed5e2956E.exit15.i.i61": ; preds = %"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17he9c021f1ed5e2956E.exit13.i.i60" %78 = icmp ne ptr %69, %11 tail call void @llvm.assume(i1 %78) %79 = getelementptr inbounds nuw i8, ptr %13, i64 3 @@ -174,9 +174,9 @@ default.unreachable: ; preds = %.backedge %85 = shl nuw nsw i32 %67, 12 %86 = or disjoint i32 %84, %85 %87 = icmp samesign ugt i8 %64, -17 - br i1 %87, label %"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17he9c021f1ed5e2956E.exit17.i.i61", label %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit62" + br i1 %87, label %"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17he9c021f1ed5e2956E.exit17.i.i62", label %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit63" -"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17he9c021f1ed5e2956E.exit17.i.i61": ; preds = %"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17he9c021f1ed5e2956E.exit15.i.i60" +"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17he9c021f1ed5e2956E.exit17.i.i62": ; preds = %"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17he9c021f1ed5e2956E.exit15.i.i61" %88 = icmp ne ptr %79, %11 tail call void @llvm.assume(i1 %88) %89 = getelementptr inbounds nuw i8, ptr %13, i64 4 @@ -189,13 +189,13 @@ default.unreachable: ; preds = %.backedge %95 = zext nneg i8 %94 to i32 %96 = or disjoint i32 %93, %95 %97 = or disjoint i32 %96, %92 - br label %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit62" + br label %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit63" -"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit62": ; preds = %"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17he9c021f1ed5e2956E.exit13.i.i59", %76, %"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17he9c021f1ed5e2956E.exit15.i.i60", %"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17he9c021f1ed5e2956E.exit17.i.i61" - %98 = phi ptr [ %69, %"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17he9c021f1ed5e2956E.exit13.i.i59" ], [ %79, %"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17he9c021f1ed5e2956E.exit15.i.i60" ], [ %89, %"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17he9c021f1ed5e2956E.exit17.i.i61" ], [ %63, %76 ] - %99 = phi i32 [ %74, %"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17he9c021f1ed5e2956E.exit13.i.i59" ], [ %86, %"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17he9c021f1ed5e2956E.exit15.i.i60" ], [ %97, %"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17he9c021f1ed5e2956E.exit17.i.i61" ], [ %77, %76 ] +"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit63": ; preds = %"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17he9c021f1ed5e2956E.exit13.i.i60", %76, %"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17he9c021f1ed5e2956E.exit15.i.i61", %"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17he9c021f1ed5e2956E.exit17.i.i62" + %98 = phi ptr [ %69, %"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17he9c021f1ed5e2956E.exit13.i.i60" ], [ %79, %"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17he9c021f1ed5e2956E.exit15.i.i61" ], [ %89, %"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17he9c021f1ed5e2956E.exit17.i.i62" ], [ %63, %76 ] + %99 = phi i32 [ %74, %"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17he9c021f1ed5e2956E.exit13.i.i60" ], [ %86, %"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17he9c021f1ed5e2956E.exit15.i.i61" ], [ %97, %"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17he9c021f1ed5e2956E.exit17.i.i62" ], [ %77, %76 ] switch i32 %99, label %192 [ - i32 1114112, label %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit62.thread" + i32 1114112, label %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit63.thread" i32 48, label %193 i32 92, label %194 i32 114, label %195 @@ -208,16 +208,16 @@ default.unreachable: ; preds = %.backedge tail call void @llvm.experimental.noalias.scope.decl(metadata !44) tail call void @llvm.experimental.noalias.scope.decl(metadata !47) %101 = icmp eq ptr %13, %11 - br i1 %101, label %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit66.thread71", label %102 + br i1 %101, label %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit67.thread72", label %102 102: ; preds = %100 %103 = getelementptr inbounds nuw i8, ptr %13, i64 1 store ptr %103, ptr %9, align 8, !alias.scope !50 %104 = load i8, ptr %13, align 1, !noalias !53, !noundef !4 %105 = icmp sgt i8 %104, -1 - br i1 %105, label %116, label %"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17he9c021f1ed5e2956E.exit13.i.i63" + br i1 %105, label %116, label %"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17he9c021f1ed5e2956E.exit13.i.i64" -"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17he9c021f1ed5e2956E.exit13.i.i63": ; preds = %102 +"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17he9c021f1ed5e2956E.exit13.i.i64": ; preds = %102 %106 = and i8 %104, 31 %107 = zext nneg i8 %106 to i32 %108 = icmp ne ptr %103, %11 @@ -230,13 +230,13 @@ default.unreachable: ; preds = %.backedge %113 = zext nneg i8 %112 to i32 %114 = or disjoint i32 %111, %113 %115 = icmp samesign ugt i8 %104, -33 - br i1 %115, label %"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17he9c021f1ed5e2956E.exit15.i.i64", label %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit66.thread" + br i1 %115, label %"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17he9c021f1ed5e2956E.exit15.i.i65", label %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit67.thread" 116: ; preds = %102 %117 = zext nneg i8 %104 to i32 - br label %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit66.thread" + br label %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit67.thread" -"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17he9c021f1ed5e2956E.exit15.i.i64": ; preds = %"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17he9c021f1ed5e2956E.exit13.i.i63" +"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17he9c021f1ed5e2956E.exit15.i.i65": ; preds = %"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17he9c021f1ed5e2956E.exit13.i.i64" %118 = icmp ne ptr %109, %11 tail call void @llvm.assume(i1 %118) %119 = getelementptr inbounds nuw i8, ptr %13, i64 3 @@ -249,9 +249,9 @@ default.unreachable: ; preds = %.backedge %125 = shl nuw nsw i32 %107, 12 %126 = or disjoint i32 %124, %125 %127 = icmp samesign ugt i8 %104, -17 - br i1 %127, label %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit66", label %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit66.thread" + br i1 %127, label %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit67", label %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit67.thread" -"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit66": ; preds = %"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17he9c021f1ed5e2956E.exit15.i.i64" +"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit67": ; preds = %"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17he9c021f1ed5e2956E.exit15.i.i65" %128 = icmp ne ptr %119, %11 tail call void @llvm.assume(i1 %128) %129 = getelementptr inbounds nuw i8, ptr %13, i64 4 @@ -265,23 +265,23 @@ default.unreachable: ; preds = %.backedge %136 = or disjoint i32 %133, %135 %137 = or disjoint i32 %136, %132 %138 = icmp eq i32 %137, 1114112 - br i1 %138, label %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit66.thread71", label %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit66.thread" + br i1 %138, label %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit67.thread72", label %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit67.thread" 139: ; preds = %.backedge %140 = load i32, ptr %.sroa.441.0..sroa_idx, align 4, !range !63, !noundef !4 tail call void @llvm.experimental.noalias.scope.decl(metadata !64) tail call void @llvm.experimental.noalias.scope.decl(metadata !67) %141 = icmp eq ptr %13, %11 - br i1 %141, label %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit70.thread73", label %142 + br i1 %141, label %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit71.thread74", label %142 142: ; preds = %139 %143 = getelementptr inbounds nuw i8, ptr %13, i64 1 store ptr %143, ptr %9, align 8, !alias.scope !70 %144 = load i8, ptr %13, align 1, !noalias !73, !noundef !4 %145 = icmp sgt i8 %144, -1 - br i1 %145, label %156, label %"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17he9c021f1ed5e2956E.exit13.i.i67" + br i1 %145, label %156, label %"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17he9c021f1ed5e2956E.exit13.i.i68" -"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17he9c021f1ed5e2956E.exit13.i.i67": ; preds = %142 +"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17he9c021f1ed5e2956E.exit13.i.i68": ; preds = %142 %146 = and i8 %144, 31 %147 = zext nneg i8 %146 to i32 %148 = icmp ne ptr %143, %11 @@ -294,13 +294,13 @@ default.unreachable: ; preds = %.backedge %153 = zext nneg i8 %152 to i32 %154 = or disjoint i32 %151, %153 %155 = icmp samesign ugt i8 %144, -33 - br i1 %155, label %"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17he9c021f1ed5e2956E.exit15.i.i68", label %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit70.thread" + br i1 %155, label %"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17he9c021f1ed5e2956E.exit15.i.i69", label %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit71.thread" 156: ; preds = %142 %157 = zext nneg i8 %144 to i32 - br label %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit70.thread" + br label %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit71.thread" -"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17he9c021f1ed5e2956E.exit15.i.i68": ; preds = %"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17he9c021f1ed5e2956E.exit13.i.i67" +"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17he9c021f1ed5e2956E.exit15.i.i69": ; preds = %"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17he9c021f1ed5e2956E.exit13.i.i68" %158 = icmp ne ptr %149, %11 tail call void @llvm.assume(i1 %158) %159 = getelementptr inbounds nuw i8, ptr %13, i64 3 @@ -313,9 +313,9 @@ default.unreachable: ; preds = %.backedge %165 = shl nuw nsw i32 %147, 12 %166 = or disjoint i32 %164, %165 %167 = icmp samesign ugt i8 %144, -17 - br i1 %167, label %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit70", label %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit70.thread" + br i1 %167, label %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit71", label %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit71.thread" -"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit70": ; preds = %"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17he9c021f1ed5e2956E.exit15.i.i68" +"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit71": ; preds = %"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17he9c021f1ed5e2956E.exit15.i.i69" %168 = icmp ne ptr %159, %11 tail call void @llvm.assume(i1 %168) %169 = getelementptr inbounds nuw i8, ptr %13, i64 4 @@ -329,7 +329,7 @@ default.unreachable: ; preds = %.backedge %176 = or disjoint i32 %173, %175 %177 = or disjoint i32 %176, %172 %178 = icmp eq i32 %177, 1114112 - br i1 %178, label %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit70.thread73", label %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit70.thread" + br i1 %178, label %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit71.thread74", label %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit71.thread" 179: ; preds = %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit" store i8 2, ptr %0, align 8 @@ -337,7 +337,7 @@ default.unreachable: ; preds = %.backedge .backedge.backedge: ; preds = %179, %198, %202 %.be = phi ptr [ %199, %202 ], [ %98, %198 ], [ %53, %179 ] - %.be175 = phi i8 [ 4, %202 ], [ 3, %198 ], [ 2, %179 ] + %.be176 = phi i8 [ 4, %202 ], [ 3, %198 ], [ 2, %179 ] br label %.backedge 180: ; preds = %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit" @@ -347,9 +347,9 @@ default.unreachable: ; preds = %.backedge call void @llvm.lifetime.end.p0(ptr nonnull %8) br label %thread-pre-split.backedge -"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit.thread": ; preds = %15, %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit", %190, %191, %211, %206, %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit70.thread73", %203, %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit66.thread71", %197, %196, %195, %194, %193, %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit62.thread" - %.sroa.14.0 = phi i8 [ 92, %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit62.thread" ], [ 0, %193 ], [ 92, %194 ], [ 13, %195 ], [ 10, %196 ], [ 9, %197 ], [ 92, %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit66.thread71" ], [ 92, %203 ], [ 92, %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit70.thread73" ], [ %210, %206 ], [ 92, %211 ], [ %187, %191 ], [ %187, %190 ], [ undef, %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit" ], [ undef, %15 ] - %.sroa.0.0 = phi i1 [ true, %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit62.thread" ], [ true, %193 ], [ true, %194 ], [ true, %195 ], [ true, %196 ], [ true, %197 ], [ true, %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit66.thread71" ], [ true, %203 ], [ true, %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit70.thread73" ], [ true, %206 ], [ true, %211 ], [ true, %191 ], [ true, %190 ], [ false, %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit" ], [ false, %15 ] +"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit.thread": ; preds = %15, %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit", %190, %191, %211, %206, %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit71.thread74", %203, %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit67.thread72", %197, %196, %195, %194, %193, %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit63.thread" + %.sroa.14.0 = phi i8 [ 92, %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit63.thread" ], [ 0, %193 ], [ 92, %194 ], [ 13, %195 ], [ 10, %196 ], [ 9, %197 ], [ 92, %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit67.thread72" ], [ 92, %203 ], [ 92, %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit71.thread74" ], [ %210, %206 ], [ 92, %211 ], [ %187, %191 ], [ %187, %190 ], [ undef, %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit" ], [ undef, %15 ] + %.sroa.0.0 = phi i1 [ true, %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit63.thread" ], [ true, %193 ], [ true, %194 ], [ true, %195 ], [ true, %196 ], [ true, %197 ], [ true, %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit67.thread72" ], [ true, %203 ], [ true, %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit71.thread74" ], [ true, %206 ], [ true, %211 ], [ true, %191 ], [ true, %190 ], [ false, %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit" ], [ false, %15 ] %181 = insertvalue { i1, i8 } poison, i1 %.sroa.0.0, 0 %182 = insertvalue { i1, i8 } %181, i8 %.sroa.14.0, 1 ret { i1, i8 } %182 @@ -376,11 +376,11 @@ default.unreachable: ; preds = %.backedge store i8 0, ptr %0, align 8 br label %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit.thread" -"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit62.thread": ; preds = %60, %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit62" +"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit63.thread": ; preds = %60, %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit63" store i8 0, ptr %0, align 8 br label %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit.thread" -192: ; preds = %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit62" +192: ; preds = %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit63" call void @llvm.lifetime.start.p0(ptr nonnull %6) call void @_ZN4bstr12escape_bytes13UnescapeState5bytes17h04a05055fae2bee0E(ptr noalias noundef nonnull sret({ i8, [31 x i8] }) align 8 captures(none) dereferenceable(32) %6, ptr noalias noundef nonnull readonly align 1 @anon.7b449adc155c7fe945b6e3cfdc3760b6.9, i64 noundef 1, i32 noundef %99) call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %0, ptr noundef nonnull align 8 dereferenceable(32) %6, i64 32, i1 false) @@ -388,50 +388,50 @@ default.unreachable: ; preds = %.backedge br label %thread-pre-split.backedge thread-pre-split.backedge: ; preds = %192, %180 - %.be176 = phi ptr [ %98, %192 ], [ %53, %180 ] + %.be177 = phi ptr [ %98, %192 ], [ %53, %180 ] br label %thread-pre-split -193: ; preds = %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit62" +193: ; preds = %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit63" store i8 0, ptr %0, align 8 br label %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit.thread" -194: ; preds = %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit62" +194: ; preds = %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit63" store i8 0, ptr %0, align 8 br label %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit.thread" -195: ; preds = %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit62" +195: ; preds = %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit63" store i8 0, ptr %0, align 8 br label %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit.thread" -196: ; preds = %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit62" +196: ; preds = %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit63" store i8 0, ptr %0, align 8 br label %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit.thread" -197: ; preds = %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit62" +197: ; preds = %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit63" store i8 0, ptr %0, align 8 br label %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit.thread" -198: ; preds = %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit62" +198: ; preds = %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit63" store i8 3, ptr %0, align 8 br label %.backedge.backedge -"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit66.thread71": ; preds = %100, %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit66" +"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit67.thread72": ; preds = %100, %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit67" call void @llvm.lifetime.start.p0(ptr nonnull %5) call void @_ZN4bstr12escape_bytes13UnescapeState9bytes_raw17h56850da7ab5be9bfE(ptr noalias noundef nonnull sret({ i8, [31 x i8] }) align 8 captures(none) dereferenceable(32) %5, ptr noalias noundef nonnull readonly align 1 @anon.7b449adc155c7fe945b6e3cfdc3760b6.10, i64 noundef 1) call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %0, ptr noundef nonnull align 8 dereferenceable(32) %5, i64 32, i1 false) call void @llvm.lifetime.end.p0(ptr nonnull %5) br label %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit.thread" -"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit66.thread": ; preds = %116, %"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17he9c021f1ed5e2956E.exit15.i.i64", %"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17he9c021f1ed5e2956E.exit13.i.i63", %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit66" - %199 = phi ptr [ %129, %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit66" ], [ %103, %116 ], [ %119, %"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17he9c021f1ed5e2956E.exit15.i.i64" ], [ %109, %"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17he9c021f1ed5e2956E.exit13.i.i63" ] - %200 = phi i32 [ %137, %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit66" ], [ %117, %116 ], [ %126, %"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17he9c021f1ed5e2956E.exit15.i.i64" ], [ %114, %"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17he9c021f1ed5e2956E.exit13.i.i63" ] - %.fr74 = freeze i32 %200 - %201 = add i32 %.fr74, -48 +"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit67.thread": ; preds = %116, %"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17he9c021f1ed5e2956E.exit15.i.i65", %"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17he9c021f1ed5e2956E.exit13.i.i64", %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit67" + %199 = phi ptr [ %129, %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit67" ], [ %103, %116 ], [ %119, %"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17he9c021f1ed5e2956E.exit15.i.i65" ], [ %109, %"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17he9c021f1ed5e2956E.exit13.i.i64" ] + %200 = phi i32 [ %137, %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit67" ], [ %117, %116 ], [ %126, %"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17he9c021f1ed5e2956E.exit15.i.i65" ], [ %114, %"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17he9c021f1ed5e2956E.exit13.i.i64" ] + %.fr75 = freeze i32 %200 + %201 = add i32 %.fr75, -48 %or.cond = icmp ult i32 %201, 10 br i1 %or.cond, label %202, label %switch.early.test -switch.early.test: ; preds = %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit66.thread" - switch i32 %.fr74, label %203 [ +switch.early.test: ; preds = %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit67.thread" + switch i32 %.fr75, label %203 [ i32 102, label %202 i32 101, label %202 i32 100, label %202 @@ -446,33 +446,33 @@ switch.early.test: ; preds = %"_ZN81_$LT$core..st i32 65, label %202 ] -202: ; preds = %switch.early.test, %switch.early.test, %switch.early.test, %switch.early.test, %switch.early.test, %switch.early.test, %switch.early.test, %switch.early.test, %switch.early.test, %switch.early.test, %switch.early.test, %switch.early.test, %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit66.thread" +202: ; preds = %switch.early.test, %switch.early.test, %switch.early.test, %switch.early.test, %switch.early.test, %switch.early.test, %switch.early.test, %switch.early.test, %switch.early.test, %switch.early.test, %switch.early.test, %switch.early.test, %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit67.thread" store i8 4, ptr %0, align 8 - store i32 %.fr74, ptr %.sroa.441.0..sroa_idx, align 4 + store i32 %.fr75, ptr %.sroa.441.0..sroa_idx, align 4 br label %.backedge.backedge 203: ; preds = %switch.early.test call void @llvm.lifetime.start.p0(ptr nonnull %4) - call void @_ZN4bstr12escape_bytes13UnescapeState5bytes17h04a05055fae2bee0E(ptr noalias noundef nonnull sret({ i8, [31 x i8] }) align 8 captures(none) dereferenceable(32) %4, ptr noalias noundef nonnull readonly align 1 @anon.7b449adc155c7fe945b6e3cfdc3760b6.10, i64 noundef 1, i32 noundef %.fr74) + call void @_ZN4bstr12escape_bytes13UnescapeState5bytes17h04a05055fae2bee0E(ptr noalias noundef nonnull sret({ i8, [31 x i8] }) align 8 captures(none) dereferenceable(32) %4, ptr noalias noundef nonnull readonly align 1 @anon.7b449adc155c7fe945b6e3cfdc3760b6.10, i64 noundef 1, i32 noundef %.fr75) call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %0, ptr noundef nonnull align 8 dereferenceable(32) %4, i64 32, i1 false) call void @llvm.lifetime.end.p0(ptr nonnull %4) br label %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit.thread" -"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit70.thread73": ; preds = %139, %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit70" +"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit71.thread74": ; preds = %139, %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit71" call void @llvm.lifetime.start.p0(ptr nonnull %3) call void @_ZN4bstr12escape_bytes13UnescapeState5bytes17h04a05055fae2bee0E(ptr noalias noundef nonnull sret({ i8, [31 x i8] }) align 8 captures(none) dereferenceable(32) %3, ptr noalias noundef nonnull readonly align 1 @anon.7b449adc155c7fe945b6e3cfdc3760b6.10, i64 noundef 1, i32 noundef %140) call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %0, ptr noundef nonnull align 8 dereferenceable(32) %3, i64 32, i1 false) call void @llvm.lifetime.end.p0(ptr nonnull %3) br label %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit.thread" -"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit70.thread": ; preds = %156, %"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17he9c021f1ed5e2956E.exit15.i.i68", %"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17he9c021f1ed5e2956E.exit13.i.i67", %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit70" - %204 = phi i32 [ %177, %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit70" ], [ %157, %156 ], [ %166, %"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17he9c021f1ed5e2956E.exit15.i.i68" ], [ %154, %"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17he9c021f1ed5e2956E.exit13.i.i67" ] +"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit71.thread": ; preds = %156, %"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17he9c021f1ed5e2956E.exit15.i.i69", %"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17he9c021f1ed5e2956E.exit13.i.i68", %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit71" + %204 = phi i32 [ %177, %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit71" ], [ %157, %156 ], [ %166, %"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17he9c021f1ed5e2956E.exit15.i.i69" ], [ %154, %"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17he9c021f1ed5e2956E.exit13.i.i68" ] %.fr = freeze i32 %204 %205 = add i32 %.fr, -48 %or.cond3 = icmp ult i32 %205, 10 - br i1 %or.cond3, label %206, label %switch.early.test58 + br i1 %or.cond3, label %206, label %switch.early.test59 -switch.early.test58: ; preds = %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit70.thread" +switch.early.test59: ; preds = %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit71.thread" switch i32 %.fr, label %211 [ i32 102, label %206 i32 101, label %206 @@ -488,7 +488,7 @@ switch.early.test58: ; preds = %"_ZN81_$LT$core..st i32 65, label %206 ] -206: ; preds = %switch.early.test58, %switch.early.test58, %switch.early.test58, %switch.early.test58, %switch.early.test58, %switch.early.test58, %switch.early.test58, %switch.early.test58, %switch.early.test58, %switch.early.test58, %switch.early.test58, %switch.early.test58, %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit70.thread" +206: ; preds = %switch.early.test59, %switch.early.test59, %switch.early.test59, %switch.early.test59, %switch.early.test59, %switch.early.test59, %switch.early.test59, %switch.early.test59, %switch.early.test59, %switch.early.test59, %switch.early.test59, %switch.early.test59, %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit71.thread" store i8 0, ptr %0, align 8 %207 = tail call noundef i8 @_ZN4bstr12escape_bytes16char_to_hexdigit17he352cee0f12e9c9bE(i32 noundef %140) %208 = tail call noundef i8 @_ZN4bstr12escape_bytes16char_to_hexdigit17he352cee0f12e9c9bE(i32 noundef %.fr) @@ -496,7 +496,7 @@ switch.early.test58: ; preds = %"_ZN81_$LT$core..st %210 = or i8 %209, %208 br label %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit.thread" -211: ; preds = %switch.early.test58 +211: ; preds = %switch.early.test59 call void @llvm.lifetime.start.p0(ptr nonnull %2) call void @_ZN4bstr12escape_bytes13UnescapeState6bytes217h64b41f2f04ab6751E(ptr noalias noundef nonnull sret({ i8, [31 x i8] }) align 8 captures(none) dereferenceable(32) %2, ptr noalias noundef nonnull readonly align 1 @anon.7b449adc155c7fe945b6e3cfdc3760b6.10, i64 noundef 1, i32 noundef %140, i32 noundef %.fr) call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %0, ptr noundef nonnull align 8 dereferenceable(32) %2, i64 32, i1 false) diff --git a/bench/rocksdb/optimized/clock_cache.ll b/bench/rocksdb/optimized/clock_cache.ll index 5dac8522df9..ac5b62ca8b4 100644 --- a/bench/rocksdb/optimized/clock_cache.ll +++ b/bench/rocksdb/optimized/clock_cache.ll @@ -6355,14 +6355,14 @@ _ZN7rocksdb11clock_cache12_GLOBAL__N_19TryInsertERKNS0_20ClockHandleBasicDataERN %61 = lshr i64 %60, 61 switch i64 %61, label %76 [ i64 7, label %62 - i64 6, label %.sink.split261 + i64 6, label %.sink.split264 ], !prof !98 62: ; preds = %59 %63 = getelementptr inbounds nuw i8, ptr %56, i64 16 %bcmp.i.i.i.i.i.i.i136 = tail call i32 @bcmp(ptr noundef nonnull align 8 dereferenceable(16) %63, ptr noundef nonnull readonly align 8 dereferenceable(16) %8, i64 16) %.not9.i.i.i.i.i.i.i137 = icmp eq i32 %bcmp.i.i.i.i.i.i.i136, 0 - br i1 %.not9.i.i.i.i.i.i.i137, label %64, label %.sink.split261 + br i1 %.not9.i.i.i.i.i.i.i137, label %64, label %.sink.split264 64: ; preds = %62 %65 = shl i64 %2, 30 @@ -6388,11 +6388,11 @@ _ZN7rocksdb11clock_cache12_GLOBAL__N_115BeginSlotInsertERKNS0_20ClockHandleBasic store atomic i64 %74, ptr %57 release, align 8 br label %136 -.sink.split261: ; preds = %59, %62 +.sink.split264: ; preds = %59, %62 %75 = atomicrmw sub ptr %57, i64 %2 acq_rel, align 8 br label %76 -76: ; preds = %.sink.split261, %_ZN7rocksdb11clock_cache12_GLOBAL__N_115BeginSlotInsertERKNS0_20ClockHandleBasicDataERNS0_11ClockHandleEmPb.exit.i135, %59 +76: ; preds = %.sink.split264, %_ZN7rocksdb11clock_cache12_GLOBAL__N_115BeginSlotInsertERKNS0_20ClockHandleBasicDataERNS0_11ClockHandleEmPb.exit.i135, %59 %77 = add nuw nsw i64 %.0110212, 1 %exitcond.not = icmp eq i64 %77, 4 br i1 %exitcond.not, label %78, label %53, !llvm.loop !222 @@ -6465,14 +6465,14 @@ _ZN7rocksdb11clock_cache12_GLOBAL__N_115BeginSlotInsertERKNS0_20ClockHandleBasic %119 = lshr i64 %118, 61 switch i64 %119, label %134 [ i64 7, label %120 - i64 6, label %.sink.split262 + i64 6, label %.sink.split265 ], !prof !98 120: ; preds = %117 %121 = getelementptr inbounds nuw i8, ptr %114, i64 16 %bcmp.i.i.i.i.i.i.i143 = tail call i32 @bcmp(ptr noundef nonnull align 8 dereferenceable(16) %121, ptr noundef nonnull readonly align 8 dereferenceable(16) %8, i64 16) %.not9.i.i.i.i.i.i.i144 = icmp eq i32 %bcmp.i.i.i.i.i.i.i143, 0 - br i1 %.not9.i.i.i.i.i.i.i144, label %122, label %.sink.split262 + br i1 %.not9.i.i.i.i.i.i.i144, label %122, label %.sink.split265 122: ; preds = %120 %123 = shl i64 %2, 30 @@ -6498,11 +6498,11 @@ _ZN7rocksdb11clock_cache12_GLOBAL__N_19TryInsertERKNS0_20ClockHandleBasicDataERN store atomic i64 %132, ptr %115 release, align 8 br label %136 -.sink.split262: ; preds = %117, %120 +.sink.split265: ; preds = %117, %120 %133 = atomicrmw sub ptr %115, i64 %2 acq_rel, align 8 br label %134 -134: ; preds = %.sink.split262, %_ZN7rocksdb11clock_cache12_GLOBAL__N_115BeginSlotInsertERKNS0_20ClockHandleBasicDataERNS0_11ClockHandleEmPb.exit.i142, %117 +134: ; preds = %.sink.split265, %_ZN7rocksdb11clock_cache12_GLOBAL__N_115BeginSlotInsertERKNS0_20ClockHandleBasicDataERNS0_11ClockHandleEmPb.exit.i142, %117 %135 = add i64 %.1111, 1 br label %99, !llvm.loop !223 diff --git a/bench/rust-analyzer-rs/optimized/44ayynfm08lnhjsw.ll b/bench/rust-analyzer-rs/optimized/44ayynfm08lnhjsw.ll index 5848c43399b..49c5bc9a8e6 100644 --- a/bench/rust-analyzer-rs/optimized/44ayynfm08lnhjsw.ll +++ b/bench/rust-analyzer-rs/optimized/44ayynfm08lnhjsw.ll @@ -6080,41 +6080,26 @@ define hidden { i64, ptr } @"_ZN4core3ops8function5impls80_$LT$impl$u20$core..op %9 = getelementptr inbounds nuw i8, ptr %1, i64 28 %10 = load i8, ptr %9, align 4, !range !81, !alias.scope !1250, !noalias !1241, !noundef !11 %11 = trunc nuw i8 %10 to i1 - %12 = getelementptr inbounds nuw i8, ptr %1, i64 29 - %13 = load i8, ptr %12, align 1, !range !81, !alias.scope !1250, !noalias !1241, !noundef !11 - %14 = trunc nuw i8 %13 to i1 - br i1 %11, label %19, label %15 + br i1 %11, label %"_ZN11ide_assists8handlers16extract_function9make_call28_$u7b$$u7b$closure$u7d$$u7d$17h6535d11d2b32da8aE.llvm.6977743830891006301.exit", label %12 -15: ; preds = %2 +12: ; preds = %2 + %13 = getelementptr inbounds nuw i8, ptr %1, i64 29 + %14 = load i8, ptr %13, align 1, !range !81, !alias.scope !1250, !noalias !1241, !noundef !11 + %15 = trunc nuw i8 %14 to i1 %16 = getelementptr inbounds nuw i8, ptr %1, i64 30 %17 = load i8, ptr %16, align 2, !range !81, !alias.scope !1250, !noalias !1241, !noundef !11 %18 = trunc nuw i8 %17 to i1 %.not.i.i.i = xor i1 %18, true - %brmerge.i.i.i = select i1 %14, i1 true, i1 %.not.i.i.i - br i1 %brmerge.i.i.i, label %_ZN11ide_assists8handlers16extract_function5Param4kind17h4c0a60a6cf946b48E.llvm.14339125420948612040.exit.i.i, label %20 - -19: ; preds = %2 - br i1 %14, label %"_ZN11ide_assists8handlers16extract_function9make_call28_$u7b$$u7b$closure$u7d$$u7d$17h6535d11d2b32da8aE.llvm.6977743830891006301.exit", label %20 - -20: ; preds = %19, %15 - %21 = xor i1 %14, true - tail call void @llvm.assume(i1 %21) - br label %"_ZN11ide_assists8handlers16extract_function9make_call28_$u7b$$u7b$closure$u7d$$u7d$17h6535d11d2b32da8aE.llvm.6977743830891006301.exit" - -_ZN11ide_assists8handlers16extract_function5Param4kind17h4c0a60a6cf946b48E.llvm.14339125420948612040.exit.i.i: ; preds = %15 - %switch.not.i.i = icmp eq i8 %13, 0 - br i1 %switch.not.i.i, label %22, label %24 - -22: ; preds = %_ZN11ide_assists8handlers16extract_function5Param4kind17h4c0a60a6cf946b48E.llvm.14339125420948612040.exit.i.i - %23 = tail call { i64, ptr } @_ZN6syntax3ast4make8expr_ref17h5efd536a6e9bceccE(i64 noundef %7, ptr noundef %8, i1 noundef zeroext false), !noalias !1249 - br label %"_ZN11ide_assists8handlers16extract_function9make_call28_$u7b$$u7b$closure$u7d$$u7d$17h6535d11d2b32da8aE.llvm.6977743830891006301.exit" + %brmerge.i.i.i = select i1 %15, i1 true, i1 %.not.i.i.i + br i1 %brmerge.i.i.i, label %_ZN11ide_assists8handlers16extract_function5Param4kind17h4c0a60a6cf946b48E.llvm.14339125420948612040.exit.i.i, label %"_ZN11ide_assists8handlers16extract_function9make_call28_$u7b$$u7b$closure$u7d$$u7d$17h6535d11d2b32da8aE.llvm.6977743830891006301.exit" -24: ; preds = %_ZN11ide_assists8handlers16extract_function5Param4kind17h4c0a60a6cf946b48E.llvm.14339125420948612040.exit.i.i - %25 = tail call { i64, ptr } @_ZN6syntax3ast4make8expr_ref17h5efd536a6e9bceccE(i64 noundef %7, ptr noundef %8, i1 noundef zeroext true), !noalias !1249 +_ZN11ide_assists8handlers16extract_function5Param4kind17h4c0a60a6cf946b48E.llvm.14339125420948612040.exit.i.i: ; preds = %12 + %switch.not.i.i = icmp ne i8 %14, 0 + %19 = tail call { i64, ptr } @_ZN6syntax3ast4make8expr_ref17h5efd536a6e9bceccE(i64 noundef %7, ptr noundef %8, i1 noundef zeroext %switch.not.i.i), !noalias !1249 br label %"_ZN11ide_assists8handlers16extract_function9make_call28_$u7b$$u7b$closure$u7d$$u7d$17h6535d11d2b32da8aE.llvm.6977743830891006301.exit" -"_ZN11ide_assists8handlers16extract_function9make_call28_$u7b$$u7b$closure$u7d$$u7d$17h6535d11d2b32da8aE.llvm.6977743830891006301.exit": ; preds = %19, %20, %22, %24 - %.merged.i.i = phi { i64, ptr } [ %23, %22 ], [ %25, %24 ], [ %6, %20 ], [ %6, %19 ] +"_ZN11ide_assists8handlers16extract_function9make_call28_$u7b$$u7b$closure$u7d$$u7d$17h6535d11d2b32da8aE.llvm.6977743830891006301.exit": ; preds = %2, %12, %_ZN11ide_assists8handlers16extract_function5Param4kind17h4c0a60a6cf946b48E.llvm.14339125420948612040.exit.i.i + %.merged.i.i = phi { i64, ptr } [ %6, %12 ], [ %6, %2 ], [ %19, %_ZN11ide_assists8handlers16extract_function5Param4kind17h4c0a60a6cf946b48E.llvm.14339125420948612040.exit.i.i ] ret { i64, ptr } %.merged.i.i } @@ -40204,41 +40189,26 @@ define hidden { i64, ptr } @"_ZN11ide_assists8handlers16extract_function9make_ca %9 = getelementptr inbounds nuw i8, ptr %1, i64 28 %10 = load i8, ptr %9, align 4, !range !81, !alias.scope !9903, !noundef !11 %11 = trunc nuw i8 %10 to i1 - %12 = getelementptr inbounds nuw i8, ptr %1, i64 29 - %13 = load i8, ptr %12, align 1, !range !81, !alias.scope !9903, !noundef !11 - %14 = trunc nuw i8 %13 to i1 - br i1 %11, label %19, label %15 + br i1 %11, label %_ZN11ide_assists8handlers16extract_function5Param6to_arg17h4bd6d3442770a134E.exit, label %12 -15: ; preds = %2 +12: ; preds = %2 + %13 = getelementptr inbounds nuw i8, ptr %1, i64 29 + %14 = load i8, ptr %13, align 1, !range !81, !alias.scope !9903, !noundef !11 + %15 = trunc nuw i8 %14 to i1 %16 = getelementptr inbounds nuw i8, ptr %1, i64 30 %17 = load i8, ptr %16, align 2, !range !81, !alias.scope !9903, !noundef !11 %18 = trunc nuw i8 %17 to i1 %.not.i.i = xor i1 %18, true - %brmerge.i.i = select i1 %14, i1 true, i1 %.not.i.i - br i1 %brmerge.i.i, label %_ZN11ide_assists8handlers16extract_function5Param4kind17h4c0a60a6cf946b48E.llvm.14339125420948612040.exit.i, label %20 - -19: ; preds = %2 - br i1 %14, label %_ZN11ide_assists8handlers16extract_function5Param6to_arg17h4bd6d3442770a134E.exit, label %20 - -20: ; preds = %19, %15 - %21 = xor i1 %14, true - tail call void @llvm.assume(i1 %21) - br label %_ZN11ide_assists8handlers16extract_function5Param6to_arg17h4bd6d3442770a134E.exit - -_ZN11ide_assists8handlers16extract_function5Param4kind17h4c0a60a6cf946b48E.llvm.14339125420948612040.exit.i: ; preds = %15 - %switch.not.i = icmp eq i8 %13, 0 - br i1 %switch.not.i, label %22, label %24 - -22: ; preds = %_ZN11ide_assists8handlers16extract_function5Param4kind17h4c0a60a6cf946b48E.llvm.14339125420948612040.exit.i - %23 = tail call { i64, ptr } @_ZN6syntax3ast4make8expr_ref17h5efd536a6e9bceccE(i64 noundef %7, ptr noundef %8, i1 noundef zeroext false), !noalias !9900 - br label %_ZN11ide_assists8handlers16extract_function5Param6to_arg17h4bd6d3442770a134E.exit + %brmerge.i.i = select i1 %15, i1 true, i1 %.not.i.i + br i1 %brmerge.i.i, label %_ZN11ide_assists8handlers16extract_function5Param4kind17h4c0a60a6cf946b48E.llvm.14339125420948612040.exit.i, label %_ZN11ide_assists8handlers16extract_function5Param6to_arg17h4bd6d3442770a134E.exit -24: ; preds = %_ZN11ide_assists8handlers16extract_function5Param4kind17h4c0a60a6cf946b48E.llvm.14339125420948612040.exit.i - %25 = tail call { i64, ptr } @_ZN6syntax3ast4make8expr_ref17h5efd536a6e9bceccE(i64 noundef %7, ptr noundef %8, i1 noundef zeroext true), !noalias !9900 +_ZN11ide_assists8handlers16extract_function5Param4kind17h4c0a60a6cf946b48E.llvm.14339125420948612040.exit.i: ; preds = %12 + %switch.not.i = icmp ne i8 %14, 0 + %19 = tail call { i64, ptr } @_ZN6syntax3ast4make8expr_ref17h5efd536a6e9bceccE(i64 noundef %7, ptr noundef %8, i1 noundef zeroext %switch.not.i), !noalias !9900 br label %_ZN11ide_assists8handlers16extract_function5Param6to_arg17h4bd6d3442770a134E.exit -_ZN11ide_assists8handlers16extract_function5Param6to_arg17h4bd6d3442770a134E.exit: ; preds = %19, %20, %22, %24 - %.merged.i = phi { i64, ptr } [ %23, %22 ], [ %25, %24 ], [ %6, %20 ], [ %6, %19 ] +_ZN11ide_assists8handlers16extract_function5Param6to_arg17h4bd6d3442770a134E.exit: ; preds = %2, %12, %_ZN11ide_assists8handlers16extract_function5Param4kind17h4c0a60a6cf946b48E.llvm.14339125420948612040.exit.i + %.merged.i = phi { i64, ptr } [ %6, %12 ], [ %6, %2 ], [ %19, %_ZN11ide_assists8handlers16extract_function5Param4kind17h4c0a60a6cf946b48E.llvm.14339125420948612040.exit.i ] ret { i64, ptr } %.merged.i } diff --git a/bench/rust-analyzer-rs/optimized/5fgtm3ees9sdsrsg.ll b/bench/rust-analyzer-rs/optimized/5fgtm3ees9sdsrsg.ll index b6737b4bed4..856be81d5ac 100644 --- a/bench/rust-analyzer-rs/optimized/5fgtm3ees9sdsrsg.ll +++ b/bench/rust-analyzer-rs/optimized/5fgtm3ees9sdsrsg.ll @@ -38681,91 +38681,77 @@ define hidden noundef zeroext i1 @_ZN4core4iter6traits8iterator8Iterator8try_fol %21 = getelementptr inbounds nuw i8, ptr %14, i64 28 %22 = load i8, ptr %21, align 4, !range !2175, !alias.scope !12413, !noalias !12412, !noundef !4 %23 = trunc nuw i8 %22 to i1 - %24 = getelementptr inbounds nuw i8, ptr %14, i64 29 - %25 = load i8, ptr %24, align 1, !range !2175, !alias.scope !12413, !noalias !12412, !noundef !4 - %26 = trunc nuw i8 %25 to i1 - br i1 %23, label %31, label %27 + br i1 %23, label %"_ZN11ide_assists8handlers16extract_function9make_call28_$u7b$$u7b$closure$u7d$$u7d$17h6535d11d2b32da8aE.exit.i", label %24 -27: ; preds = %15 +24: ; preds = %15 + %25 = getelementptr inbounds nuw i8, ptr %14, i64 29 + %26 = load i8, ptr %25, align 1, !range !2175, !alias.scope !12413, !noalias !12412, !noundef !4 + %27 = trunc nuw i8 %26 to i1 %28 = getelementptr inbounds nuw i8, ptr %14, i64 30 %29 = load i8, ptr %28, align 2, !range !2175, !alias.scope !12413, !noalias !12412, !noundef !4 %30 = trunc nuw i8 %29 to i1 %.not.i.i.i.i = xor i1 %30, true - %brmerge.i.i.i.i = select i1 %26, i1 true, i1 %.not.i.i.i.i - br i1 %brmerge.i.i.i.i, label %_ZN11ide_assists8handlers16extract_function5Param4kind17h4c0a60a6cf946b48E.llvm.14339125420948612040.exit.i.i.i, label %32 - -31: ; preds = %15 - br i1 %26, label %"_ZN11ide_assists8handlers16extract_function9make_call28_$u7b$$u7b$closure$u7d$$u7d$17h6535d11d2b32da8aE.exit.i", label %32 - -32: ; preds = %31, %27 - %33 = xor i1 %26, true - call void @llvm.assume(i1 %33) + %brmerge.i.i.i.i = select i1 %27, i1 true, i1 %.not.i.i.i.i + br i1 %brmerge.i.i.i.i, label %_ZN11ide_assists8handlers16extract_function5Param4kind17h4c0a60a6cf946b48E.llvm.14339125420948612040.exit.i.i.i, label %"_ZN11ide_assists8handlers16extract_function9make_call28_$u7b$$u7b$closure$u7d$$u7d$17h6535d11d2b32da8aE.exit.i" + +_ZN11ide_assists8handlers16extract_function5Param4kind17h4c0a60a6cf946b48E.llvm.14339125420948612040.exit.i.i.i: ; preds = %24 + %switch.not.i.i.i = icmp ne i8 %26, 0 + %31 = call { i64, ptr } @_ZN6syntax3ast4make8expr_ref17h5efd536a6e9bceccE(i64 noundef %19, ptr noundef %20, i1 noundef zeroext %switch.not.i.i.i), !noalias !12411 + %.pre.i = extractvalue { i64, ptr } %31, 0 + %.pre3.i = extractvalue { i64, ptr } %31, 1 br label %"_ZN11ide_assists8handlers16extract_function9make_call28_$u7b$$u7b$closure$u7d$$u7d$17h6535d11d2b32da8aE.exit.i" -_ZN11ide_assists8handlers16extract_function5Param4kind17h4c0a60a6cf946b48E.llvm.14339125420948612040.exit.i.i.i: ; preds = %27 - %switch.not.i.i.i = icmp eq i8 %25, 0 - br i1 %switch.not.i.i.i, label %34, label %36 - -34: ; preds = %_ZN11ide_assists8handlers16extract_function5Param4kind17h4c0a60a6cf946b48E.llvm.14339125420948612040.exit.i.i.i - %35 = call { i64, ptr } @_ZN6syntax3ast4make8expr_ref17h5efd536a6e9bceccE(i64 noundef %19, ptr noundef %20, i1 noundef zeroext false), !noalias !12411 - br label %"_ZN11ide_assists8handlers16extract_function9make_call28_$u7b$$u7b$closure$u7d$$u7d$17h6535d11d2b32da8aE.exit.i" - -36: ; preds = %_ZN11ide_assists8handlers16extract_function5Param4kind17h4c0a60a6cf946b48E.llvm.14339125420948612040.exit.i.i.i - %37 = call { i64, ptr } @_ZN6syntax3ast4make8expr_ref17h5efd536a6e9bceccE(i64 noundef %19, ptr noundef %20, i1 noundef zeroext true), !noalias !12411 - br label %"_ZN11ide_assists8handlers16extract_function9make_call28_$u7b$$u7b$closure$u7d$$u7d$17h6535d11d2b32da8aE.exit.i" - -"_ZN11ide_assists8handlers16extract_function9make_call28_$u7b$$u7b$closure$u7d$$u7d$17h6535d11d2b32da8aE.exit.i": ; preds = %36, %34, %32, %31 - %.merged.i.i.i = phi { i64, ptr } [ %35, %34 ], [ %37, %36 ], [ %18, %32 ], [ %18, %31 ] - %38 = extractvalue { i64, ptr } %.merged.i.i.i, 0 - %39 = extractvalue { i64, ptr } %.merged.i.i.i, 1 +"_ZN11ide_assists8handlers16extract_function9make_call28_$u7b$$u7b$closure$u7d$$u7d$17h6535d11d2b32da8aE.exit.i": ; preds = %_ZN11ide_assists8handlers16extract_function5Param4kind17h4c0a60a6cf946b48E.llvm.14339125420948612040.exit.i.i.i, %24, %15 + %.pre-phi4.i = phi ptr [ %20, %15 ], [ %20, %24 ], [ %.pre3.i, %_ZN11ide_assists8handlers16extract_function5Param4kind17h4c0a60a6cf946b48E.llvm.14339125420948612040.exit.i.i.i ] + %.pre-phi.i = phi i64 [ %19, %15 ], [ %19, %24 ], [ %.pre.i, %_ZN11ide_assists8handlers16extract_function5Param4kind17h4c0a60a6cf946b48E.llvm.14339125420948612040.exit.i.i.i ] call void @llvm.lifetime.start.p0(ptr nonnull %3), !noalias !12416 - store i64 %38, ptr %3, align 8, !noalias !12419 - store ptr %39, ptr %9, align 8, !noalias !12419 - %40 = load ptr, ptr %10, align 8, !noalias !12419, !nonnull !4, !align !51, !noundef !4 - %41 = getelementptr inbounds nuw i8, ptr %40, i64 8 - %42 = load i64, ptr %41, align 8, !noalias !12419, !noundef !4 - %43 = icmp eq i64 %42, 0 - br i1 %43, label %._crit_edge.i.i.i, label %44 - -44: ; preds = %"_ZN11ide_assists8handlers16extract_function9make_call28_$u7b$$u7b$closure$u7d$$u7d$17h6535d11d2b32da8aE.exit.i" - %45 = load ptr, ptr %.pre.i.i.i, align 8, !noalias !12419, !nonnull !4, !align !51, !noundef !4 - %46 = load ptr, ptr %40, align 8, !noalias !12419, !nonnull !4, !align !123, !noundef !4 - %47 = invoke noundef zeroext i1 @_ZN4core3fmt9Formatter9write_str17h1ee02ebd428ca6deE(ptr noalias noundef nonnull align 8 dereferenceable(64) %45, ptr noalias noundef nonnull readonly align 1 %46, i64 noundef %42) - to label %53 unwind label %51, !noalias !12419 - -._crit_edge.i.i.i: ; preds = %53, %"_ZN11ide_assists8handlers16extract_function9make_call28_$u7b$$u7b$closure$u7d$$u7d$17h6535d11d2b32da8aE.exit.i" - %48 = load ptr, ptr %12, align 8, !noalias !12419, !nonnull !4, !noundef !4 - %49 = load ptr, ptr %.pre.i.i.i, align 8, !noalias !12419, !nonnull !4, !align !51, !noundef !4 - %50 = invoke noundef zeroext i1 %48(ptr noalias noundef nonnull readonly align 8 dereferenceable(16) %3, ptr noalias noundef nonnull align 8 dereferenceable(64) %49) - to label %"_ZN4core4iter8adapters3map12map_try_fold28_$u7b$$u7b$closure$u7d$$u7d$17h81204b3e08807624E.exit" unwind label %51, !noalias !12419 - -51: ; preds = %._crit_edge.i.i.i, %44 - %52 = landingpad { ptr, i32 } + store i64 %.pre-phi.i, ptr %3, align 8, !noalias !12419 + store ptr %.pre-phi4.i, ptr %9, align 8, !noalias !12419 + %32 = load ptr, ptr %10, align 8, !noalias !12419, !nonnull !4, !align !51, !noundef !4 + %33 = getelementptr inbounds nuw i8, ptr %32, i64 8 + %34 = load i64, ptr %33, align 8, !noalias !12419, !noundef !4 + %35 = icmp eq i64 %34, 0 + br i1 %35, label %._crit_edge.i.i.i, label %36 + +36: ; preds = %"_ZN11ide_assists8handlers16extract_function9make_call28_$u7b$$u7b$closure$u7d$$u7d$17h6535d11d2b32da8aE.exit.i" + %37 = load ptr, ptr %.pre.i.i.i, align 8, !noalias !12419, !nonnull !4, !align !51, !noundef !4 + %38 = load ptr, ptr %32, align 8, !noalias !12419, !nonnull !4, !align !123, !noundef !4 + %39 = invoke noundef zeroext i1 @_ZN4core3fmt9Formatter9write_str17h1ee02ebd428ca6deE(ptr noalias noundef nonnull align 8 dereferenceable(64) %37, ptr noalias noundef nonnull readonly align 1 %38, i64 noundef %34) + to label %45 unwind label %43, !noalias !12419 + +._crit_edge.i.i.i: ; preds = %45, %"_ZN11ide_assists8handlers16extract_function9make_call28_$u7b$$u7b$closure$u7d$$u7d$17h6535d11d2b32da8aE.exit.i" + %40 = load ptr, ptr %12, align 8, !noalias !12419, !nonnull !4, !noundef !4 + %41 = load ptr, ptr %.pre.i.i.i, align 8, !noalias !12419, !nonnull !4, !align !51, !noundef !4 + %42 = invoke noundef zeroext i1 %40(ptr noalias noundef nonnull readonly align 8 dereferenceable(16) %3, ptr noalias noundef nonnull align 8 dereferenceable(64) %41) + to label %"_ZN4core4iter8adapters3map12map_try_fold28_$u7b$$u7b$closure$u7d$$u7d$17h81204b3e08807624E.exit" unwind label %43, !noalias !12419 + +43: ; preds = %._crit_edge.i.i.i, %36 + %44 = landingpad { ptr, i32 } cleanup invoke void @"_ZN4core3ptr56drop_in_place$LT$syntax..ast..generated..nodes..Expr$GT$17h87baedda7c371808E.llvm.6055058659040047083"(ptr noalias noundef nonnull align 8 dereferenceable(16) %3) #38 - to label %56 unwind label %54, !noalias !12419 + to label %48 unwind label %46, !noalias !12419 -53: ; preds = %44 - br i1 %47, label %"_ZN4core4iter8adapters3map12map_try_fold28_$u7b$$u7b$closure$u7d$$u7d$17h81204b3e08807624E.exit.thread", label %._crit_edge.i.i.i +45: ; preds = %36 + br i1 %39, label %"_ZN4core4iter8adapters3map12map_try_fold28_$u7b$$u7b$closure$u7d$$u7d$17h81204b3e08807624E.exit.thread", label %._crit_edge.i.i.i -"_ZN4core4iter8adapters3map12map_try_fold28_$u7b$$u7b$closure$u7d$$u7d$17h81204b3e08807624E.exit.thread": ; preds = %53 +"_ZN4core4iter8adapters3map12map_try_fold28_$u7b$$u7b$closure$u7d$$u7d$17h81204b3e08807624E.exit.thread": ; preds = %45 call void @"_ZN4core3ptr56drop_in_place$LT$syntax..ast..generated..nodes..Expr$GT$17h87baedda7c371808E.llvm.6055058659040047083"(ptr noalias noundef nonnull align 8 dereferenceable(16) %3), !noalias !12419 call void @llvm.lifetime.end.p0(ptr nonnull %3), !noalias !12416 br label %"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h5b0b620a7961bd45E.exit" -54: ; preds = %51 - %55 = landingpad { ptr, i32 } +46: ; preds = %43 + %47 = landingpad { ptr, i32 } filter [0 x ptr] zeroinitializer call void @_ZN4core9panicking16panic_in_cleanup17hbacfddf1bcf21a1eE() #37, !noalias !12419 unreachable -56: ; preds = %51 - resume { ptr, i32 } %52 +48: ; preds = %43 + resume { ptr, i32 } %44 "_ZN4core4iter8adapters3map12map_try_fold28_$u7b$$u7b$closure$u7d$$u7d$17h81204b3e08807624E.exit": ; preds = %._crit_edge.i.i.i call void @"_ZN4core3ptr56drop_in_place$LT$syntax..ast..generated..nodes..Expr$GT$17h87baedda7c371808E.llvm.6055058659040047083"(ptr noalias noundef nonnull align 8 dereferenceable(16) %3), !noalias !12419 call void @llvm.lifetime.end.p0(ptr nonnull %3), !noalias !12416 - br i1 %50, label %"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h5b0b620a7961bd45E.exit", label %13 + br i1 %42, label %"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h5b0b620a7961bd45E.exit", label %13 "_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h5b0b620a7961bd45E.exit": ; preds = %13, %"_ZN4core4iter8adapters3map12map_try_fold28_$u7b$$u7b$closure$u7d$$u7d$17h81204b3e08807624E.exit", %"_ZN4core4iter8adapters3map12map_try_fold28_$u7b$$u7b$closure$u7d$$u7d$17h81204b3e08807624E.exit.thread" %.not.not.not.not.not22 = phi i1 [ true, %"_ZN4core4iter8adapters3map12map_try_fold28_$u7b$$u7b$closure$u7d$$u7d$17h81204b3e08807624E.exit.thread" ], [ %.not.not.not.not.not.not, %"_ZN4core4iter8adapters3map12map_try_fold28_$u7b$$u7b$closure$u7d$$u7d$17h81204b3e08807624E.exit" ], [ %.not.not.not.not.not.not, %13 ] diff --git a/bench/sentencepiece/optimized/spm_decode_main.ll b/bench/sentencepiece/optimized/spm_decode_main.ll index 20abdc3e693..f0bfb973aac 100644 --- a/bench/sentencepiece/optimized/spm_decode_main.ll +++ b/bench/sentencepiece/optimized/spm_decode_main.ll @@ -2481,8 +2481,8 @@ define linkonce_odr void @_ZN4absl8internal8SplitterC2ESt17basic_string_viewIcSt tail call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %0, i8 0, i64 24, i1 false) %.not.i.i = icmp ne i64 %3, 0 %7 = icmp ne i64 %1, 0 - %or.cond15.i.i83 = select i1 %.not.i.i, i1 %7, i1 false - br i1 %or.cond15.i.i83, label %_ZNSt11char_traitsIcE4findEPKcmRS1_.exit.i.i.preheader.lr.ph, label %_ZNKSt17basic_string_viewIcSt11char_traitsIcEE13find_first_ofES2_m.exit.thread + %or.cond15.i.i84 = select i1 %.not.i.i, i1 %7, i1 false + br i1 %or.cond15.i.i84, label %_ZNSt11char_traitsIcE4findEPKcmRS1_.exit.i.i.preheader.lr.ph, label %_ZNKSt17basic_string_viewIcSt11char_traitsIcEE13find_first_ofES2_m.exit.thread _ZNSt11char_traitsIcE4findEPKcmRS1_.exit.i.i.preheader.lr.ph: ; preds = %6 %8 = getelementptr inbounds nuw i8, ptr %0, i64 8 @@ -2493,11 +2493,11 @@ _ZNSt11char_traitsIcE4findEPKcmRS1_.exit.i.i.preheader: ; preds = %_ZNSt11char_t %10 = phi ptr [ null, %_ZNSt11char_traitsIcE4findEPKcmRS1_.exit.i.i.preheader.lr.ph ], [ %46, %_ZNSt6vectorISt17basic_string_viewIcSt11char_traitsIcEESaIS3_EE9push_backEOS3_.exit ] %11 = phi ptr [ null, %_ZNSt11char_traitsIcE4findEPKcmRS1_.exit.i.i.preheader.lr.ph ], [ %47, %_ZNSt6vectorISt17basic_string_viewIcSt11char_traitsIcEESaIS3_EE9push_backEOS3_.exit ] %12 = phi ptr [ null, %_ZNSt11char_traitsIcE4findEPKcmRS1_.exit.i.i.preheader.lr.ph ], [ %48, %_ZNSt6vectorISt17basic_string_viewIcSt11char_traitsIcEESaIS3_EE9push_backEOS3_.exit ] - %.01984 = phi i64 [ 0, %_ZNSt11char_traitsIcE4findEPKcmRS1_.exit.i.i.preheader.lr.ph ], [ %49, %_ZNSt6vectorISt17basic_string_viewIcSt11char_traitsIcEESaIS3_EE9push_backEOS3_.exit ] + %.01985 = phi i64 [ 0, %_ZNSt11char_traitsIcE4findEPKcmRS1_.exit.i.i.preheader.lr.ph ], [ %49, %_ZNSt6vectorISt17basic_string_viewIcSt11char_traitsIcEESaIS3_EE9push_backEOS3_.exit ] br label %_ZNSt11char_traitsIcE4findEPKcmRS1_.exit.i.i _ZNSt11char_traitsIcE4findEPKcmRS1_.exit.i.i: ; preds = %_ZNSt11char_traitsIcE4findEPKcmRS1_.exit.i.i.preheader, %17 - %.01116.i.i = phi i64 [ %18, %17 ], [ %.01984, %_ZNSt11char_traitsIcE4findEPKcmRS1_.exit.i.i.preheader ] + %.01116.i.i = phi i64 [ %18, %17 ], [ %.01985, %_ZNSt11char_traitsIcE4findEPKcmRS1_.exit.i.i.preheader ] %13 = getelementptr inbounds nuw i8, ptr %2, i64 %.01116.i.i %14 = load i8, ptr %13, align 1, !tbaa !23 %15 = sext i8 %14 to i32 @@ -2515,23 +2515,23 @@ _ZNKSt17basic_string_viewIcSt11char_traitsIcEE13find_first_ofES2_m.exit: ; preds br i1 %.not, label %_ZNKSt17basic_string_viewIcSt11char_traitsIcEE13find_first_ofES2_m.exit.thread.thread, label %19 19: ; preds = %_ZNKSt17basic_string_viewIcSt11char_traitsIcEE13find_first_ofES2_m.exit - %.not21 = icmp uge i64 %.01116.i.i, %.01984 - %20 = icmp ugt i64 %.01116.i.i, %.01984 - %or.cond68 = select i1 %5, i1 %.not21, i1 %20 - br i1 %or.cond68, label %21, label %_ZNSt6vectorISt17basic_string_viewIcSt11char_traitsIcEESaIS3_EE9push_backEOS3_.exit + %.not22 = icmp uge i64 %.01116.i.i, %.01985 + %20 = icmp ugt i64 %.01116.i.i, %.01985 + %or.cond69 = select i1 %5, i1 %.not22, i1 %20 + br i1 %or.cond69, label %21, label %_ZNSt6vectorISt17basic_string_viewIcSt11char_traitsIcEESaIS3_EE9push_backEOS3_.exit 21: ; preds = %19 - %22 = sub i64 %.01116.i.i, %.01984 - %23 = sub nuw i64 %1, %.01984 + %22 = sub i64 %.01116.i.i, %.01985 + %23 = sub nuw i64 %1, %.01985 %.sroa.speculated.i = tail call i64 @llvm.umin.i64(i64 %23, i64 %22) - %24 = getelementptr inbounds nuw i8, ptr %2, i64 %.01984 - %.not.i.i26 = icmp eq ptr %12, %11 - br i1 %.not.i.i26, label %27, label %25 + %24 = getelementptr inbounds nuw i8, ptr %2, i64 %.01985 + %.not.i.i27 = icmp eq ptr %12, %11 + br i1 %.not.i.i27, label %27, label %25 25: ; preds = %21 store i64 %.sroa.speculated.i, ptr %12, align 8, !tbaa !21 - %.sroa.655.0..sroa_idx = getelementptr inbounds nuw i8, ptr %12, i64 8 - store ptr %24, ptr %.sroa.655.0..sroa_idx, align 8, !tbaa !19 + %.sroa.656.0..sroa_idx = getelementptr inbounds nuw i8, ptr %12, i64 8 + store ptr %24, ptr %.sroa.656.0..sroa_idx, align 8, !tbaa !19 %26 = getelementptr inbounds nuw i8, ptr %12, i64 16 store ptr %26, ptr %8, align 8, !tbaa !57 br label %_ZNSt6vectorISt17basic_string_viewIcSt11char_traitsIcEESaIS3_EE9push_backEOS3_.exit @@ -2545,9 +2545,9 @@ _ZNKSt17basic_string_viewIcSt11char_traitsIcEE13find_first_ofES2_m.exit: ; preds 32: ; preds = %27 invoke void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.36) #23 - to label %.noexc27 unwind label %.loopexit.split-lp + to label %.noexc28 unwind label %.loopexit.split-lp -.noexc27: ; preds = %32 +.noexc28: ; preds = %32 unreachable _ZNKSt6vectorISt17basic_string_viewIcSt11char_traitsIcEESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i: ; preds = %27 @@ -2561,27 +2561,27 @@ _ZNKSt6vectorISt17basic_string_viewIcSt11char_traitsIcEESaIS3_EE12_M_check_lenEm tail call void @llvm.assume(i1 %.not.i.i.i.i) %38 = shl nuw nsw i64 %37, 4 %39 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %38) #25 - to label %.noexc28 unwind label %.loopexit + to label %.noexc29 unwind label %.loopexit -.noexc28: ; preds = %_ZNKSt6vectorISt17basic_string_viewIcSt11char_traitsIcEESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i +.noexc29: ; preds = %_ZNKSt6vectorISt17basic_string_viewIcSt11char_traitsIcEESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i %40 = getelementptr inbounds nuw i8, ptr %39, i64 %30 store i64 %.sroa.speculated.i, ptr %40, align 8, !tbaa !21 - %.sroa.655.0..sroa_idx56 = getelementptr inbounds nuw i8, ptr %40, i64 8 - store ptr %24, ptr %.sroa.655.0..sroa_idx56, align 8, !tbaa !19 + %.sroa.656.0..sroa_idx57 = getelementptr inbounds nuw i8, ptr %40, i64 8 + store ptr %24, ptr %.sroa.656.0..sroa_idx57, align 8, !tbaa !19 %.not10.i.i.i.i.i.i = icmp eq ptr %10, %11 br i1 %.not10.i.i.i.i.i.i, label %_ZNSt6vectorISt17basic_string_viewIcSt11char_traitsIcEESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit22.i.i.i, label %.lr.ph.i.i.i.i.i.i -.lr.ph.i.i.i.i.i.i: ; preds = %.noexc28, %.lr.ph.i.i.i.i.i.i - %.012.i.i.i.i.i.i = phi ptr [ %42, %.lr.ph.i.i.i.i.i.i ], [ %39, %.noexc28 ] - %.0911.i.i.i.i.i.i = phi ptr [ %41, %.lr.ph.i.i.i.i.i.i ], [ %10, %.noexc28 ] +.lr.ph.i.i.i.i.i.i: ; preds = %.noexc29, %.lr.ph.i.i.i.i.i.i + %.012.i.i.i.i.i.i = phi ptr [ %42, %.lr.ph.i.i.i.i.i.i ], [ %39, %.noexc29 ] + %.0911.i.i.i.i.i.i = phi ptr [ %41, %.lr.ph.i.i.i.i.i.i ], [ %10, %.noexc29 ] tail call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %.012.i.i.i.i.i.i, ptr noundef nonnull align 8 dereferenceable(16) %.0911.i.i.i.i.i.i, i64 16, i1 false), !tbaa.struct !94, !alias.scope !95 %41 = getelementptr inbounds nuw i8, ptr %.0911.i.i.i.i.i.i, i64 16 %42 = getelementptr inbounds nuw i8, ptr %.012.i.i.i.i.i.i, i64 16 %.not.i.i.i.i.i.i = icmp eq ptr %41, %11 br i1 %.not.i.i.i.i.i.i, label %_ZNSt6vectorISt17basic_string_viewIcSt11char_traitsIcEESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit22.i.i.i, label %.lr.ph.i.i.i.i.i.i, !llvm.loop !99 -_ZNSt6vectorISt17basic_string_viewIcSt11char_traitsIcEESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit22.i.i.i: ; preds = %.lr.ph.i.i.i.i.i.i, %.noexc28 - %.0.lcssa.i.i.i.i.i.i = phi ptr [ %39, %.noexc28 ], [ %42, %.lr.ph.i.i.i.i.i.i ] +_ZNSt6vectorISt17basic_string_viewIcSt11char_traitsIcEESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit22.i.i.i: ; preds = %.lr.ph.i.i.i.i.i.i, %.noexc29 + %.0.lcssa.i.i.i.i.i.i = phi ptr [ %39, %.noexc29 ], [ %42, %.lr.ph.i.i.i.i.i.i ] %43 = getelementptr inbounds nuw i8, ptr %.0.lcssa.i.i.i.i.i.i, i64 16 %.not.i23.i.i.i = icmp eq ptr %10, null br i1 %.not.i23.i.i.i, label %_ZNSt6vectorISt17basic_string_viewIcSt11char_traitsIcEESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i, label %44 @@ -2613,22 +2613,22 @@ _ZNSt6vectorISt17basic_string_viewIcSt11char_traitsIcEESaIS3_EE9push_backEOS3_.e %48 = phi ptr [ %12, %19 ], [ %26, %25 ], [ %43, %_ZNSt6vectorISt17basic_string_viewIcSt11char_traitsIcEESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i ] %49 = add nuw i64 %.01116.i.i, 1 %50 = icmp ult i64 %49, %1 - br i1 %50, label %_ZNSt11char_traitsIcE4findEPKcmRS1_.exit.i.i.preheader, label %_ZNSt6vectorISt17basic_string_viewIcSt11char_traitsIcEESaIS3_EE9push_backEOS3_.exit49, !llvm.loop !100 + br i1 %50, label %_ZNSt11char_traitsIcE4findEPKcmRS1_.exit.i.i.preheader, label %_ZNSt6vectorISt17basic_string_viewIcSt11char_traitsIcEESaIS3_EE9push_backEOS3_.exit50, !llvm.loop !100 _ZNKSt17basic_string_viewIcSt11char_traitsIcEE13find_first_ofES2_m.exit.thread: ; preds = %6 - br i1 %7, label %_ZNKSt17basic_string_viewIcSt11char_traitsIcEE13find_first_ofES2_m.exit.thread.thread, label %_ZNSt6vectorISt17basic_string_viewIcSt11char_traitsIcEESaIS3_EE9push_backEOS3_.exit49 + br i1 %7, label %_ZNKSt17basic_string_viewIcSt11char_traitsIcEE13find_first_ofES2_m.exit.thread.thread, label %_ZNSt6vectorISt17basic_string_viewIcSt11char_traitsIcEESaIS3_EE9push_backEOS3_.exit50 _ZNKSt17basic_string_viewIcSt11char_traitsIcEE13find_first_ofES2_m.exit.thread.thread: ; preds = %_ZNKSt17basic_string_viewIcSt11char_traitsIcEE13find_first_ofES2_m.exit, %17, %_ZNKSt17basic_string_viewIcSt11char_traitsIcEE13find_first_ofES2_m.exit.thread - %.01982113 = phi i64 [ 0, %_ZNKSt17basic_string_viewIcSt11char_traitsIcEE13find_first_ofES2_m.exit.thread ], [ %.01984, %17 ], [ %.01984, %_ZNKSt17basic_string_viewIcSt11char_traitsIcEE13find_first_ofES2_m.exit ] + %.01983114 = phi i64 [ 0, %_ZNKSt17basic_string_viewIcSt11char_traitsIcEE13find_first_ofES2_m.exit.thread ], [ %.01985, %17 ], [ %.01985, %_ZNKSt17basic_string_viewIcSt11char_traitsIcEE13find_first_ofES2_m.exit ] %51 = phi ptr [ null, %_ZNKSt17basic_string_viewIcSt11char_traitsIcEE13find_first_ofES2_m.exit.thread ], [ %12, %17 ], [ %12, %_ZNKSt17basic_string_viewIcSt11char_traitsIcEE13find_first_ofES2_m.exit ] %52 = phi ptr [ null, %_ZNKSt17basic_string_viewIcSt11char_traitsIcEE13find_first_ofES2_m.exit.thread ], [ %11, %17 ], [ %11, %_ZNKSt17basic_string_viewIcSt11char_traitsIcEE13find_first_ofES2_m.exit ] %53 = phi ptr [ null, %_ZNKSt17basic_string_viewIcSt11char_traitsIcEE13find_first_ofES2_m.exit.thread ], [ %10, %17 ], [ %10, %_ZNKSt17basic_string_viewIcSt11char_traitsIcEE13find_first_ofES2_m.exit ] - %54 = sub nuw i64 %1, %.01982113 - %55 = getelementptr inbounds nuw i8, ptr %2, i64 %.01982113 + %54 = sub nuw i64 %1, %.01983114 + %55 = getelementptr inbounds nuw i8, ptr %2, i64 %.01983114 %56 = getelementptr inbounds nuw i8, ptr %0, i64 8 %57 = getelementptr inbounds nuw i8, ptr %0, i64 16 - %.not.i.i34 = icmp eq ptr %51, %52 - br i1 %.not.i.i34, label %60, label %58 + %.not.i.i35 = icmp eq ptr %51, %52 + br i1 %.not.i.i35, label %60, label %58 58: ; preds = %_ZNKSt17basic_string_viewIcSt11char_traitsIcEE13find_first_ofES2_m.exit.thread.thread store i64 %54, ptr %51, align 8, !tbaa !21 @@ -2636,75 +2636,75 @@ _ZNKSt17basic_string_viewIcSt11char_traitsIcEE13find_first_ofES2_m.exit.thread.t store ptr %55, ptr %.sroa.6.0..sroa_idx, align 8, !tbaa !19 %59 = getelementptr inbounds nuw i8, ptr %51, i64 16 store ptr %59, ptr %56, align 8, !tbaa !57 - br label %_ZNSt6vectorISt17basic_string_viewIcSt11char_traitsIcEESaIS3_EE9push_backEOS3_.exit49 + br label %_ZNSt6vectorISt17basic_string_viewIcSt11char_traitsIcEESaIS3_EE9push_backEOS3_.exit50 60: ; preds = %_ZNKSt17basic_string_viewIcSt11char_traitsIcEE13find_first_ofES2_m.exit.thread.thread %61 = ptrtoint ptr %52 to i64 %62 = ptrtoint ptr %53 to i64 %63 = sub i64 %61, %62 %64 = icmp eq i64 %63, 9223372036854775792 - br i1 %64, label %65, label %_ZNKSt6vectorISt17basic_string_viewIcSt11char_traitsIcEESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i35 + br i1 %64, label %65, label %_ZNKSt6vectorISt17basic_string_viewIcSt11char_traitsIcEESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i36 65: ; preds = %60 invoke void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.36) #23 - to label %.noexc47 unwind label %79 + to label %.noexc48 unwind label %79 -.noexc47: ; preds = %65 +.noexc48: ; preds = %65 unreachable -_ZNKSt6vectorISt17basic_string_viewIcSt11char_traitsIcEESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i35: ; preds = %60 +_ZNKSt6vectorISt17basic_string_viewIcSt11char_traitsIcEESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i36: ; preds = %60 %66 = ashr exact i64 %63, 4 - %.sroa.speculated.i.i.i.i36 = tail call i64 @llvm.umax.i64(i64 %66, i64 1) - %67 = add nsw i64 %.sroa.speculated.i.i.i.i36, %66 + %.sroa.speculated.i.i.i.i37 = tail call i64 @llvm.umax.i64(i64 %66, i64 1) + %67 = add nsw i64 %.sroa.speculated.i.i.i.i37, %66 %68 = icmp ult i64 %67, %66 %69 = tail call i64 @llvm.umin.i64(i64 %67, i64 576460752303423487) %70 = select i1 %68, i64 576460752303423487, i64 %69 - %.not.i.i.i.i37 = icmp ne i64 %70, 0 - tail call void @llvm.assume(i1 %.not.i.i.i.i37) + %.not.i.i.i.i38 = icmp ne i64 %70, 0 + tail call void @llvm.assume(i1 %.not.i.i.i.i38) %71 = shl nuw nsw i64 %70, 4 %72 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %71) #25 - to label %.noexc48 unwind label %79 + to label %.noexc49 unwind label %79 -.noexc48: ; preds = %_ZNKSt6vectorISt17basic_string_viewIcSt11char_traitsIcEESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i35 +.noexc49: ; preds = %_ZNKSt6vectorISt17basic_string_viewIcSt11char_traitsIcEESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i36 %73 = getelementptr inbounds nuw i8, ptr %72, i64 %63 store i64 %54, ptr %73, align 8, !tbaa !21 - %.sroa.6.0..sroa_idx51 = getelementptr inbounds nuw i8, ptr %73, i64 8 - store ptr %55, ptr %.sroa.6.0..sroa_idx51, align 8, !tbaa !19 - %.not10.i.i.i.i.i.i38 = icmp eq ptr %53, %52 - br i1 %.not10.i.i.i.i.i.i38, label %_ZNSt6vectorISt17basic_string_viewIcSt11char_traitsIcEESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit22.i.i.i43, label %.lr.ph.i.i.i.i.i.i39 - -.lr.ph.i.i.i.i.i.i39: ; preds = %.noexc48, %.lr.ph.i.i.i.i.i.i39 - %.012.i.i.i.i.i.i40 = phi ptr [ %75, %.lr.ph.i.i.i.i.i.i39 ], [ %72, %.noexc48 ] - %.0911.i.i.i.i.i.i41 = phi ptr [ %74, %.lr.ph.i.i.i.i.i.i39 ], [ %53, %.noexc48 ] - tail call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %.012.i.i.i.i.i.i40, ptr noundef nonnull align 8 dereferenceable(16) %.0911.i.i.i.i.i.i41, i64 16, i1 false), !tbaa.struct !94, !alias.scope !101 - %74 = getelementptr inbounds nuw i8, ptr %.0911.i.i.i.i.i.i41, i64 16 - %75 = getelementptr inbounds nuw i8, ptr %.012.i.i.i.i.i.i40, i64 16 - %.not.i.i.i.i.i.i42 = icmp eq ptr %74, %52 - br i1 %.not.i.i.i.i.i.i42, label %_ZNSt6vectorISt17basic_string_viewIcSt11char_traitsIcEESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit22.i.i.i43, label %.lr.ph.i.i.i.i.i.i39, !llvm.loop !99 - -_ZNSt6vectorISt17basic_string_viewIcSt11char_traitsIcEESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit22.i.i.i43: ; preds = %.lr.ph.i.i.i.i.i.i39, %.noexc48 - %.0.lcssa.i.i.i.i.i.i44 = phi ptr [ %72, %.noexc48 ], [ %75, %.lr.ph.i.i.i.i.i.i39 ] - %76 = getelementptr inbounds nuw i8, ptr %.0.lcssa.i.i.i.i.i.i44, i64 16 - %.not.i23.i.i.i45 = icmp eq ptr %53, null - br i1 %.not.i23.i.i.i45, label %_ZNSt6vectorISt17basic_string_viewIcSt11char_traitsIcEESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i46, label %77 - -77: ; preds = %_ZNSt6vectorISt17basic_string_viewIcSt11char_traitsIcEESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit22.i.i.i43 + %.sroa.6.0..sroa_idx52 = getelementptr inbounds nuw i8, ptr %73, i64 8 + store ptr %55, ptr %.sroa.6.0..sroa_idx52, align 8, !tbaa !19 + %.not10.i.i.i.i.i.i39 = icmp eq ptr %53, %52 + br i1 %.not10.i.i.i.i.i.i39, label %_ZNSt6vectorISt17basic_string_viewIcSt11char_traitsIcEESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit22.i.i.i44, label %.lr.ph.i.i.i.i.i.i40 + +.lr.ph.i.i.i.i.i.i40: ; preds = %.noexc49, %.lr.ph.i.i.i.i.i.i40 + %.012.i.i.i.i.i.i41 = phi ptr [ %75, %.lr.ph.i.i.i.i.i.i40 ], [ %72, %.noexc49 ] + %.0911.i.i.i.i.i.i42 = phi ptr [ %74, %.lr.ph.i.i.i.i.i.i40 ], [ %53, %.noexc49 ] + tail call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %.012.i.i.i.i.i.i41, ptr noundef nonnull align 8 dereferenceable(16) %.0911.i.i.i.i.i.i42, i64 16, i1 false), !tbaa.struct !94, !alias.scope !101 + %74 = getelementptr inbounds nuw i8, ptr %.0911.i.i.i.i.i.i42, i64 16 + %75 = getelementptr inbounds nuw i8, ptr %.012.i.i.i.i.i.i41, i64 16 + %.not.i.i.i.i.i.i43 = icmp eq ptr %74, %52 + br i1 %.not.i.i.i.i.i.i43, label %_ZNSt6vectorISt17basic_string_viewIcSt11char_traitsIcEESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit22.i.i.i44, label %.lr.ph.i.i.i.i.i.i40, !llvm.loop !99 + +_ZNSt6vectorISt17basic_string_viewIcSt11char_traitsIcEESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit22.i.i.i44: ; preds = %.lr.ph.i.i.i.i.i.i40, %.noexc49 + %.0.lcssa.i.i.i.i.i.i45 = phi ptr [ %72, %.noexc49 ], [ %75, %.lr.ph.i.i.i.i.i.i40 ] + %76 = getelementptr inbounds nuw i8, ptr %.0.lcssa.i.i.i.i.i.i45, i64 16 + %.not.i23.i.i.i46 = icmp eq ptr %53, null + br i1 %.not.i23.i.i.i46, label %_ZNSt6vectorISt17basic_string_viewIcSt11char_traitsIcEESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i47, label %77 + +77: ; preds = %_ZNSt6vectorISt17basic_string_viewIcSt11char_traitsIcEESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit22.i.i.i44 tail call void @_ZdlPvm(ptr noundef nonnull %53, i64 noundef %63) #22 - br label %_ZNSt6vectorISt17basic_string_viewIcSt11char_traitsIcEESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i46 + br label %_ZNSt6vectorISt17basic_string_viewIcSt11char_traitsIcEESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i47 -_ZNSt6vectorISt17basic_string_viewIcSt11char_traitsIcEESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i46: ; preds = %77, %_ZNSt6vectorISt17basic_string_viewIcSt11char_traitsIcEESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit22.i.i.i43 +_ZNSt6vectorISt17basic_string_viewIcSt11char_traitsIcEESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i47: ; preds = %77, %_ZNSt6vectorISt17basic_string_viewIcSt11char_traitsIcEESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit22.i.i.i44 store ptr %72, ptr %0, align 8, !tbaa !60 store ptr %76, ptr %56, align 8, !tbaa !57 %78 = getelementptr inbounds nuw %"class.std::basic_string_view", ptr %72, i64 %70 store ptr %78, ptr %57, align 8, !tbaa !68 - br label %_ZNSt6vectorISt17basic_string_viewIcSt11char_traitsIcEESaIS3_EE9push_backEOS3_.exit49 + br label %_ZNSt6vectorISt17basic_string_viewIcSt11char_traitsIcEESaIS3_EE9push_backEOS3_.exit50 -79: ; preds = %_ZNKSt6vectorISt17basic_string_viewIcSt11char_traitsIcEESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i35, %65 +79: ; preds = %_ZNKSt6vectorISt17basic_string_viewIcSt11char_traitsIcEESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i36, %65 %80 = landingpad { ptr, i32 } cleanup br label %81 -_ZNSt6vectorISt17basic_string_viewIcSt11char_traitsIcEESaIS3_EE9push_backEOS3_.exit49: ; preds = %_ZNSt6vectorISt17basic_string_viewIcSt11char_traitsIcEESaIS3_EE9push_backEOS3_.exit, %58, %_ZNSt6vectorISt17basic_string_viewIcSt11char_traitsIcEESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i46, %_ZNKSt17basic_string_viewIcSt11char_traitsIcEE13find_first_ofES2_m.exit.thread +_ZNSt6vectorISt17basic_string_viewIcSt11char_traitsIcEESaIS3_EE9push_backEOS3_.exit50: ; preds = %_ZNSt6vectorISt17basic_string_viewIcSt11char_traitsIcEESaIS3_EE9push_backEOS3_.exit, %58, %_ZNSt6vectorISt17basic_string_viewIcSt11char_traitsIcEESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i47, %_ZNKSt17basic_string_viewIcSt11char_traitsIcEE13find_first_ofES2_m.exit.thread ret void 81: ; preds = %.loopexit, %.loopexit.split-lp, %79 diff --git a/bench/stb/optimized/stb_tilemap_editor.ll b/bench/stb/optimized/stb_tilemap_editor.ll index 0ff6f045a58..dafccb776db 100644 --- a/bench/stb/optimized/stb_tilemap_editor.ll +++ b/bench/stb/optimized/stb_tilemap_editor.ll @@ -8431,8 +8431,8 @@ stbte__hittest.exit: ; preds = %6, %13, %25 %or.cond = select i1 %42, i1 %43, i1 false %44 = load i32, ptr getelementptr inbounds nuw (i8, ptr @stbte__ui, i64 1316332), align 4 %45 = icmp slt i32 %38, %44 - %or.cond154 = select i1 %or.cond, i1 %45, i1 false - br i1 %or.cond154, label %46, label %stbte__paste_stack.exit + %or.cond157 = select i1 %or.cond, i1 %45, i1 false + br i1 %or.cond157, label %46, label %stbte__paste_stack.exit 46: ; preds = %40 %47 = mul nsw i32 %41, %38 @@ -8444,8 +8444,8 @@ stbte__hittest.exit: ; preds = %6, %13, %25 %53 = getelementptr inbounds nuw i8, ptr %0, i64 801040 %54 = load i32, ptr %53, align 8, !tbaa !40 %55 = icmp slt i32 %54, 0 - %spec.select.i164 = select i1 %55, i32 %52, i32 %54 - %56 = icmp sgt i32 %spec.select.i164, -1 + %spec.select.i167 = select i1 %55, i32 %52, i32 %54 + %56 = icmp sgt i32 %spec.select.i167, -1 br i1 %56, label %85, label %.preheader.i .preheader.i: ; preds = %46 @@ -8549,7 +8549,7 @@ stbte__hittest.exit: ; preds = %6, %13, %25 br i1 %.not60.i, label %106, label %stbte__paste_stack.exit 106: ; preds = %104, %92, %85 - %107 = zext nneg i32 %spec.select.i164 to i64 + %107 = zext nneg i32 %spec.select.i167 to i64 %108 = getelementptr inbounds nuw i16, ptr %29, i64 %107 %109 = load i16, ptr %108, align 2, !tbaa !21 %110 = getelementptr inbounds nuw i16, ptr %7, i64 %107 @@ -8557,7 +8557,7 @@ stbte__hittest.exit: ; preds = %6, %13, %25 %111 = getelementptr inbounds nuw i16, ptr %50, i64 %107 %112 = load i16, ptr %111, align 2, !tbaa !21 %113 = sext i16 %112 to i32 - %114 = icmp eq i32 %spec.select.i164, 0 + %114 = icmp eq i32 %spec.select.i167, 0 br i1 %114, label %115, label %119 115: ; preds = %106 @@ -8577,22 +8577,22 @@ stbte__hittest.exit: ; preds = %6, %13, %25 122: ; preds = %33 %123 = load i32, ptr getelementptr inbounds nuw (i8, ptr @stbte__ui, i64 5256), align 8, !tbaa !180 - %.not134 = icmp eq i32 %123, 0 - br i1 %.not134, label %195, label %.preheader177 + %.not137 = icmp eq i32 %123, 0 + br i1 %.not137, label %195, label %.preheader180 -.preheader177: ; preds = %122 +.preheader180: ; preds = %122 %124 = getelementptr inbounds nuw i8, ptr %0, i64 800008 %125 = load i32, ptr %124, align 8, !tbaa !28 %126 = icmp sgt i32 %125, 0 br i1 %126, label %.lr.ph.preheader, label %._crit_edge -.lr.ph.preheader: ; preds = %.preheader177 +.lr.ph.preheader: ; preds = %.preheader180 %127 = shl nuw i32 %125, 1 %128 = zext i32 %127 to i64 call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 16 %7, ptr align 2 %29, i64 %128, i1 false), !tbaa !21 br label %._crit_edge -._crit_edge: ; preds = %.lr.ph.preheader, %.preheader177 +._crit_edge: ; preds = %.lr.ph.preheader, %.preheader180 %129 = load i32, ptr getelementptr inbounds nuw (i8, ptr @stbte__ui, i64 5260), align 4, !tbaa !169 %130 = sub nsw i32 %3, %129 %131 = load i32, ptr getelementptr inbounds nuw (i8, ptr @stbte__ui, i64 5264), align 8, !tbaa !170 @@ -8610,8 +8610,8 @@ stbte__hittest.exit: ; preds = %6, %13, %25 %or.cond5 = select i1 %138, i1 %139, i1 false %140 = load i32, ptr getelementptr inbounds nuw (i8, ptr @stbte__ui, i64 5272), align 8 %141 = icmp slt i32 %136, %140 - %or.cond156 = select i1 %or.cond5, i1 %141, i1 false - br i1 %or.cond156, label %142, label %stbte__clear_stack.exit + %or.cond159 = select i1 %or.cond5, i1 %141, i1 false + br i1 %or.cond159, label %142, label %stbte__clear_stack.exit 142: ; preds = %135 %143 = getelementptr inbounds nuw i8, ptr %0, i64 800044 @@ -8619,21 +8619,21 @@ stbte__hittest.exit: ; preds = %6, %13, %25 %145 = getelementptr inbounds nuw i8, ptr %0, i64 801040 %146 = load i32, ptr %145, align 8, !tbaa !40 %147 = icmp slt i32 %146, 0 - %spec.select.i166 = select i1 %147, i32 %144, i32 %146 - %148 = icmp sgt i32 %spec.select.i166, -1 - br i1 %148, label %151, label %.preheader.i167 + %spec.select.i169 = select i1 %147, i32 %144, i32 %146 + %148 = icmp sgt i32 %spec.select.i169, -1 + br i1 %148, label %151, label %.preheader.i170 -.preheader.i167: ; preds = %142 - br i1 %126, label %.lr.ph.i168, label %stbte__clear_stack.exit +.preheader.i170: ; preds = %142 + br i1 %126, label %.lr.ph.i171, label %stbte__clear_stack.exit -.lr.ph.i168: ; preds = %.preheader.i167 +.lr.ph.i171: ; preds = %.preheader.i170 %149 = getelementptr inbounds nuw i8, ptr %0, i64 800896 %150 = getelementptr inbounds nuw i8, ptr %0, i64 801056 %wide.trip.count.i = zext nneg i32 %125 to i64 br label %160 151: ; preds = %142 - %152 = icmp eq i32 %spec.select.i166, 0 + %152 = icmp eq i32 %spec.select.i169, 0 br i1 %152, label %153, label %156 153: ; preds = %151 @@ -8643,18 +8643,18 @@ stbte__hittest.exit: ; preds = %6, %13, %25 156: ; preds = %153, %151 %157 = phi i16 [ %155, %153 ], [ -1, %151 ] - %158 = zext nneg i32 %spec.select.i166 to i64 + %158 = zext nneg i32 %spec.select.i169 to i64 %159 = getelementptr inbounds nuw i16, ptr %7, i64 %158 store i16 %157, ptr %159, align 2, !tbaa !21 br label %stbte__clear_stack.exit -160: ; preds = %175, %.lr.ph.i168 - %indvars.iv.i = phi i64 [ 0, %.lr.ph.i168 ], [ %indvars.iv.next.i, %175 ] +160: ; preds = %175, %.lr.ph.i171 + %indvars.iv.i = phi i64 [ 0, %.lr.ph.i171 ], [ %indvars.iv.next.i, %175 ] %161 = getelementptr inbounds nuw %struct.stbte__layer, ptr %149, i64 %indvars.iv.i %162 = getelementptr inbounds nuw i8, ptr %161, i64 12 %163 = load i32, ptr %162, align 4, !tbaa !131 - %.not.i169 = icmp eq i32 %163, 0 - br i1 %.not.i169, label %164, label %175 + %.not.i172 = icmp eq i32 %163, 0 + br i1 %.not.i172, label %164, label %175 164: ; preds = %160 %165 = getelementptr inbounds nuw i8, ptr %161, i64 8 @@ -8681,7 +8681,7 @@ stbte__hittest.exit: ; preds = %6, %13, %25 %exitcond.not.i = icmp eq i64 %indvars.iv.next.i, %wide.trip.count.i br i1 %exitcond.not.i, label %stbte__clear_stack.exit, label %160, !llvm.loop !147 -stbte__clear_stack.exit: ; preds = %175, %156, %.preheader.i167, %135, %._crit_edge +stbte__clear_stack.exit: ; preds = %175, %156, %.preheader.i170, %135, %._crit_edge %176 = load i32, ptr getelementptr inbounds nuw (i8, ptr @stbte__ui, i64 5284), align 4, !tbaa !171 %177 = sub nsw i32 %3, %176 %178 = load i32, ptr getelementptr inbounds nuw (i8, ptr @stbte__ui, i64 5288), align 8, !tbaa !172 @@ -8696,8 +8696,8 @@ stbte__clear_stack.exit: ; preds = %175, %156, %.prehea %or.cond7 = select i1 %183, i1 %184, i1 false %185 = load i32, ptr getelementptr inbounds nuw (i8, ptr @stbte__ui, i64 5272), align 8 %186 = icmp slt i32 %179, %185 - %or.cond158 = select i1 %or.cond7, i1 %186, i1 false - br i1 %or.cond158, label %187, label %stbte__paste_stack.exit + %or.cond161 = select i1 %or.cond7, i1 %186, i1 false + br i1 %or.cond161, label %187, label %stbte__paste_stack.exit 187: ; preds = %181 %188 = add nsw i32 %179, %131 @@ -8732,51 +8732,51 @@ stbte__clear_stack.exit: ; preds = %175, %156, %.prehea %209 = and i32 %208, 4095 %210 = load i32, ptr getelementptr inbounds nuw (i8, ptr @stbte__ui, i64 5316), align 4, !tbaa !103 %211 = load i32, ptr getelementptr inbounds nuw (i8, ptr @stbte__ui, i64 5320), align 8, !tbaa !128 - %.not135 = icmp slt i32 %3, %210 - %.not136 = icmp sgt i32 %3, %207 - %or.cond159 = or i1 %.not136, %.not135 - br i1 %or.cond159, label %212, label %213 + %.not138 = icmp slt i32 %3, %210 + %.not139 = icmp sgt i32 %3, %207 + %or.cond162 = or i1 %.not139, %.not138 + br i1 %or.cond162, label %212, label %213 212: ; preds = %205 - %.not137 = icmp slt i32 %3, %207 - %.not138 = icmp sgt i32 %3, %210 - %or.cond160 = or i1 %.not137, %.not138 - br i1 %or.cond160, label %stbte__paste_stack.exit, label %213 + %.not140 = icmp slt i32 %3, %207 + %.not141 = icmp sgt i32 %3, %210 + %or.cond163 = or i1 %.not140, %.not141 + br i1 %or.cond163, label %stbte__paste_stack.exit, label %213 213: ; preds = %212, %205 - %.not139 = icmp slt i32 %4, %211 - %.not140 = icmp sgt i32 %4, %209 - %or.cond161 = or i1 %.not140, %.not139 - br i1 %or.cond161, label %214, label %215 + %.not142 = icmp slt i32 %4, %211 + %.not143 = icmp sgt i32 %4, %209 + %or.cond164 = or i1 %.not143, %.not142 + br i1 %or.cond164, label %214, label %215 214: ; preds = %213 - %.not141 = icmp slt i32 %4, %209 - %.not142 = icmp sgt i32 %4, %211 - %or.cond162 = select i1 %.not141, i1 true, i1 %.not142 - br i1 %or.cond162, label %stbte__paste_stack.exit, label %215 + %.not144 = icmp slt i32 %4, %209 + %.not145 = icmp sgt i32 %4, %211 + %or.cond165 = select i1 %.not144, i1 true, i1 %.not145 + br i1 %or.cond165, label %stbte__paste_stack.exit, label %215 215: ; preds = %214, %213 %216 = getelementptr inbounds nuw i8, ptr %0, i64 800008 %217 = load i32, ptr %216, align 8, !tbaa !28 %218 = icmp sgt i32 %217, 0 - br i1 %218, label %.lr.ph183.preheader, label %._crit_edge184 + br i1 %218, label %.lr.ph186.preheader, label %._crit_edge187 -.lr.ph183.preheader: ; preds = %215 +.lr.ph186.preheader: ; preds = %215 %219 = shl nuw i32 %217, 1 %220 = zext i32 %219 to i64 call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 16 %7, ptr align 2 %29, i64 %220, i1 false), !tbaa !21 - br label %._crit_edge184 + br label %._crit_edge187 -._crit_edge184: ; preds = %.lr.ph183.preheader, %215 +._crit_edge187: ; preds = %.lr.ph186.preheader, %215 %221 = load i32, ptr getelementptr inbounds nuw (i8, ptr @stbte__ui, i64 4), align 4, !tbaa !96 %222 = icmp eq i32 %221, 4 br i1 %222, label %223, label %224 -223: ; preds = %._crit_edge184 +223: ; preds = %._crit_edge187 call void @stbte__brush_predict(ptr noundef nonnull %0, ptr noundef nonnull %7) br label %stbte__paste_stack.exit -224: ; preds = %._crit_edge184 +224: ; preds = %._crit_edge187 %225 = call i32 @stbte__erase_predict(ptr noundef nonnull %0, ptr noundef nonnull %7, i32 noundef 1) br label %stbte__paste_stack.exit @@ -8785,12 +8785,12 @@ stbte__paste_stack.exit: ; preds = %84, %121, %119, %10 %226 = icmp eq i32 %30, %11 %227 = load i32, ptr getelementptr inbounds nuw (i8, ptr @stbte__ui, i64 8), align 8 %228 = icmp eq i32 %227, 0 - %or.cond9.not146.not151 = select i1 %226, i1 %228, i1 false + %or.cond9.not149.not154 = select i1 %226, i1 %228, i1 false %229 = icmp eq i32 %.pre, 0 - %or.cond11.not148 = select i1 %or.cond9.not146.not151, i1 %229, i1 false + %or.cond11.not151 = select i1 %or.cond9.not149.not154, i1 %229, i1 false %230 = load i32, ptr @stbte__ui, align 8 %231 = icmp eq i32 %230, 1 - %or.cond15 = select i1 %or.cond11.not148, i1 %231, i1 false + %or.cond15 = select i1 %or.cond11.not151, i1 %231, i1 false br i1 %or.cond15, label %232, label %stbte__brush_predict.exit 232: ; preds = %stbte__paste_stack.exit @@ -8803,18 +8803,18 @@ stbte__paste_stack.exit: ; preds = %84, %121, %119, %10 %236 = getelementptr inbounds nuw i8, ptr %0, i64 800008 %237 = load i32, ptr %236, align 8, !tbaa !28 %238 = icmp sgt i32 %237, 0 - br i1 %238, label %._crit_edge187, label %stbte__brush_predict.exit + br i1 %238, label %._crit_edge190, label %stbte__brush_predict.exit -._crit_edge187: ; preds = %.preheader +._crit_edge190: ; preds = %.preheader %239 = shl nuw i32 %237, 1 %240 = zext i32 %239 to i64 call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 16 %7, ptr align 2 %29, i64 %240, i1 false), !tbaa !21 %241 = getelementptr inbounds nuw i8, ptr %0, i64 800040 %242 = load i32, ptr %241, align 8, !tbaa !39 %243 = icmp slt i32 %242, 0 - br i1 %243, label %stbte__brush_predict.exit, label %.lr.ph.i170 + br i1 %243, label %stbte__brush_predict.exit, label %.lr.ph.i173 -.lr.ph.i170: ; preds = %._crit_edge187 +.lr.ph.i173: ; preds = %._crit_edge190 %244 = getelementptr inbounds nuw i8, ptr %0, i64 800856 %245 = load ptr, ptr %244, align 8, !tbaa !24 %246 = zext nneg i32 %242 to i64 @@ -8825,33 +8825,33 @@ stbte__paste_stack.exit: ; preds = %84, %121, %119, %10 %251 = getelementptr inbounds nuw i8, ptr %0, i64 800044 %252 = getelementptr inbounds nuw i8, ptr %0, i64 800896 %253 = getelementptr inbounds nuw i8, ptr %0, i64 801056 - %wide.trip.count.i171 = zext nneg i32 %237 to i64 + %wide.trip.count.i174 = zext nneg i32 %237 to i64 br label %254 -254: ; preds = %286, %.lr.ph.i170 - %indvars.iv.i172 = phi i64 [ 0, %.lr.ph.i170 ], [ %indvars.iv.next.i175, %286 ] - %255 = trunc nuw nsw i64 %indvars.iv.i172 to i32 +254: ; preds = %286, %.lr.ph.i173 + %indvars.iv.i175 = phi i64 [ 0, %.lr.ph.i173 ], [ %indvars.iv.next.i178, %286 ] + %255 = trunc nuw nsw i64 %indvars.iv.i175 to i32 %256 = shl nuw i32 1, %255 %257 = and i32 %256, %249 - %.not.i173 = icmp eq i32 %257, 0 - br i1 %.not.i173, label %286, label %258 + %.not.i176 = icmp eq i32 %257, 0 + br i1 %.not.i176, label %286, label %258 258: ; preds = %254 %259 = load i32, ptr %250, align 8, !tbaa !40 %260 = zext i32 %259 to i64 - %.not28.i = icmp eq i64 %indvars.iv.i172, %260 + %.not28.i = icmp eq i64 %indvars.iv.i175, %260 br i1 %.not28.i, label %282, label %261 261: ; preds = %258 %262 = load i32, ptr %251, align 4, !tbaa !130 %263 = icmp slt i32 %262, 0 %264 = zext i32 %262 to i64 - %.not29.i = icmp eq i64 %indvars.iv.i172, %264 - %or.cond.i174 = or i1 %263, %.not29.i - br i1 %or.cond.i174, label %265, label %286 + %.not29.i = icmp eq i64 %indvars.iv.i175, %264 + %or.cond.i177 = or i1 %263, %.not29.i + br i1 %or.cond.i177, label %265, label %286 265: ; preds = %261 - %266 = getelementptr inbounds nuw %struct.stbte__layer, ptr %252, i64 %indvars.iv.i172 + %266 = getelementptr inbounds nuw %struct.stbte__layer, ptr %252, i64 %indvars.iv.i175 %267 = getelementptr inbounds nuw i8, ptr %266, i64 12 %268 = load i32, ptr %267, align 4, !tbaa !131 %.not30.i = icmp eq i32 %268, 0 @@ -8866,10 +8866,10 @@ stbte__paste_stack.exit: ; preds = %84, %121, %119, %10 ] 272: ; preds = %269 - %273 = getelementptr inbounds nuw i16, ptr %7, i64 %indvars.iv.i172 + %273 = getelementptr inbounds nuw i16, ptr %7, i64 %indvars.iv.i175 %274 = load i16, ptr %273, align 2, !tbaa !21 %275 = sext i16 %274 to i32 - %276 = icmp eq i64 %indvars.iv.i172, 0 + %276 = icmp eq i64 %indvars.iv.i175, 0 br i1 %276, label %277, label %280 277: ; preds = %272 @@ -8884,35 +8884,35 @@ stbte__paste_stack.exit: ; preds = %84, %121, %119, %10 282: ; preds = %280, %269, %258 %283 = load i16, ptr %247, align 8, !tbaa !60 - %284 = and i64 %indvars.iv.i172, 4294967295 + %284 = and i64 %indvars.iv.i175, 4294967295 %285 = getelementptr inbounds nuw i16, ptr %7, i64 %284 store i16 %283, ptr %285, align 2, !tbaa !21 br label %stbte__brush_predict.exit 286: ; preds = %280, %269, %265, %261, %254 - %indvars.iv.next.i175 = add nuw nsw i64 %indvars.iv.i172, 1 - %exitcond.not.i176 = icmp eq i64 %indvars.iv.next.i175, %wide.trip.count.i171 - br i1 %exitcond.not.i176, label %stbte__brush_predict.exit, label %254, !llvm.loop !133 + %indvars.iv.next.i178 = add nuw nsw i64 %indvars.iv.i175, 1 + %exitcond.not.i179 = icmp eq i64 %indvars.iv.next.i178, %wide.trip.count.i174 + br i1 %exitcond.not.i179, label %stbte__brush_predict.exit, label %254, !llvm.loop !133 -stbte__brush_predict.exit: ; preds = %286, %.preheader, %282, %._crit_edge187, %232, %stbte__paste_stack.exit - %.3 = phi ptr [ %.0119, %232 ], [ %.0119, %stbte__paste_stack.exit ], [ %7, %._crit_edge187 ], [ %7, %282 ], [ %7, %.preheader ], [ %7, %286 ] +stbte__brush_predict.exit: ; preds = %286, %.preheader, %282, %._crit_edge190, %232, %stbte__paste_stack.exit + %.3 = phi ptr [ %.0119, %232 ], [ %.0119, %stbte__paste_stack.exit ], [ %7, %._crit_edge190 ], [ %7, %282 ], [ %7, %.preheader ], [ %7, %286 ] %287 = getelementptr inbounds nuw i8, ptr %0, i64 801040 %288 = load i32, ptr %287, align 8, !tbaa !40 %289 = icmp eq i32 %5, %288 - %.pre193 = sext i32 %5 to i64 + %.pre196 = sext i32 %5 to i64 br i1 %289, label %stbte__brush_predict.exit._crit_edge, label %290 290: ; preds = %stbte__brush_predict.exit - %291 = getelementptr %struct.stbte__layer, ptr %0, i64 %.pre193 + %291 = getelementptr %struct.stbte__layer, ptr %0, i64 %.pre196 %292 = getelementptr i8, ptr %291, i64 800908 %293 = load i32, ptr %292, align 4, !tbaa !131 - %.not152 = icmp eq i32 %293, 0 + %.not155 = icmp eq i32 %293, 0 %294 = icmp slt i32 %288, 0 - %or.cond163 = and i1 %294, %.not152 - br i1 %or.cond163, label %stbte__brush_predict.exit._crit_edge, label %302 + %or.cond166 = and i1 %294, %.not155 + br i1 %or.cond166, label %stbte__brush_predict.exit._crit_edge, label %302 stbte__brush_predict.exit._crit_edge: ; preds = %stbte__brush_predict.exit, %290 - %295 = getelementptr inbounds i16, ptr %.3, i64 %.pre193 + %295 = getelementptr inbounds i16, ptr %.3, i64 %.pre196 %296 = load i16, ptr %295, align 2, !tbaa !21 %297 = icmp sgt i16 %296, -1 br i1 %297, label %298, label %302 diff --git a/bench/stb/optimized/stb_vorbis.ll b/bench/stb/optimized/stb_vorbis.ll index b895a347e32..53b5f21a7c6 100644 --- a/bench/stb/optimized/stb_vorbis.ll +++ b/bench/stb/optimized/stb_vorbis.ll @@ -3205,11 +3205,11 @@ define i32 @get_bits(ptr noundef captures(none) %0, i32 noundef %1) local_unname %3 = getelementptr inbounds nuw i8, ptr %0, i64 1784 %4 = load i32, ptr %3, align 8, !tbaa !80 %5 = icmp slt i32 %4, 0 - br i1 %5, label %common.ret42, label %6 + br i1 %5, label %common.ret43, label %6 6: ; preds = %2 %7 = icmp slt i32 %4, %1 - br i1 %7, label %8, label %.loopexit32 + br i1 %7, label %8, label %.loopexit33 8: ; preds = %6 %9 = icmp samesign ugt i32 %1, 24 @@ -3221,18 +3221,18 @@ define i32 @get_bits(ptr noundef captures(none) %0, i32 noundef %1) local_unname 12: ; preds = %10 %13 = icmp eq i32 %4, 0 - br i1 %13, label %14, label %.lr.ph33 + br i1 %13, label %14, label %.lr.ph34 14: ; preds = %12 %15 = getelementptr inbounds nuw i8, ptr %0, i64 1780 store i32 0, ptr %15, align 4, !tbaa !85 - br label %.lr.ph33 + br label %.lr.ph34 -.lr.ph33: ; preds = %12, %14 +.lr.ph34: ; preds = %12, %14 %16 = getelementptr inbounds nuw i8, ptr %0, i64 1780 br label %17 -17: ; preds = %.lr.ph33, %19 +17: ; preds = %.lr.ph34, %19 %18 = tail call i32 @get8_packet_raw(ptr noundef nonnull %0) %.not.i = icmp eq i32 %18, -1 br i1 %.not.i, label %get_bits.exit, label %19 @@ -3258,9 +3258,9 @@ define i32 @get_bits(ptr noundef captures(none) %0, i32 noundef %1) local_unname %31 = add nsw i32 %26, -24 br label %get_bits.exit -common.ret42: ; preds = %.critedge, %2, %.loopexit32, %get_bits.exit - %common.ret42.op = phi i32 [ %35, %get_bits.exit ], [ %54, %.loopexit32 ], [ 0, %2 ], [ 0, %.critedge ] - ret i32 %common.ret42.op +common.ret43: ; preds = %.critedge, %2, %.loopexit33, %get_bits.exit + %common.ret43.op = phi i32 [ %35, %get_bits.exit ], [ %54, %.loopexit33 ], [ 0, %2 ], [ 0, %.critedge ] + ret i32 %common.ret43.op get_bits.exit: ; preds = %17, %.loopexit %storemerge = phi i32 [ %31, %.loopexit ], [ -1, %17 ] @@ -3270,7 +3270,7 @@ get_bits.exit: ; preds = %17, %.loopexit %33 = tail call i32 @get_bits(ptr noundef nonnull %0, i32 noundef %32) %34 = shl i32 %33, 24 %35 = or disjoint i32 %34, %.0.i - br label %common.ret42 + br label %common.ret43 36: ; preds = %8 %37 = icmp eq i32 %4, 0 @@ -3299,9 +3299,9 @@ get_bits.exit: ; preds = %17, %.loopexit %48 = add nsw i32 %44, 8 store i32 %48, ptr %3, align 8, !tbaa !80 %49 = icmp slt i32 %48, %1 - br i1 %49, label %41, label %.loopexit32, !llvm.loop !86 + br i1 %49, label %41, label %.loopexit33, !llvm.loop !86 -.loopexit32: ; preds = %43, %6 +.loopexit33: ; preds = %43, %6 %50 = phi i32 [ %4, %6 ], [ %48, %43 ] %51 = getelementptr inbounds nuw i8, ptr %0, i64 1780 %52 = load i32, ptr %51, align 4, !tbaa !85 @@ -3312,11 +3312,11 @@ get_bits.exit: ; preds = %17, %.loopexit store i32 %55, ptr %51, align 4, !tbaa !85 %56 = sub nsw i32 %50, %1 store i32 %56, ptr %3, align 8, !tbaa !80 - br label %common.ret42 + br label %common.ret43 .critedge: ; preds = %41 store i32 -1, ptr %3, align 8, !tbaa !80 - br label %common.ret42 + br label %common.ret43 } ; Function Attrs: nofree nounwind uwtable @@ -3766,13 +3766,13 @@ define range(i32 0, 2) i32 @codebook_decode_deinterleave_repeat(ptr noundef capt %12 = getelementptr inbounds nuw i8, ptr %1, i64 25 %13 = load i8, ptr %12, align 1, !tbaa !90 %14 = icmp eq i8 %13, 0 - br i1 %14, label %25, label %.preheader128 + br i1 %14, label %25, label %.preheader129 -.preheader128: ; preds = %8 +.preheader129: ; preds = %8 %15 = icmp sgt i32 %7, 0 - br i1 %15, label %.lr.ph146, label %._crit_edge + br i1 %15, label %.lr.ph147, label %._crit_edge -.lr.ph146: ; preds = %.preheader128 +.lr.ph147: ; preds = %.preheader129 %16 = getelementptr inbounds nuw i8, ptr %0, i64 1784 %17 = getelementptr inbounds nuw i8, ptr %0, i64 1780 %18 = getelementptr inbounds nuw i8, ptr %0, i64 1764 @@ -3787,29 +3787,29 @@ define range(i32 0, 2) i32 @codebook_decode_deinterleave_repeat(ptr noundef capt 25: ; preds = %8 %26 = getelementptr inbounds nuw i8, ptr %0, i64 156 store i32 21, ptr %26, align 4 - br label %.thread120 + br label %.thread121 -27: ; preds = %.lr.ph146, %.loopexit - %.080145 = phi i32 [ %7, %.lr.ph146 ], [ %116, %.loopexit ] - %.082144 = phi i32 [ %9, %.lr.ph146 ], [ %.4, %.loopexit ] - %.087143 = phi i32 [ %11, %.lr.ph146 ], [ %.289, %.loopexit ] - %.094142 = phi i32 [ %10, %.lr.ph146 ], [ %.498, %.loopexit ] +27: ; preds = %.lr.ph147, %.loopexit + %.080146 = phi i32 [ %7, %.lr.ph147 ], [ %116, %.loopexit ] + %.082145 = phi i32 [ %9, %.lr.ph147 ], [ %.4, %.loopexit ] + %.087144 = phi i32 [ %11, %.lr.ph147 ], [ %.289, %.loopexit ] + %.094143 = phi i32 [ %10, %.lr.ph147 ], [ %.498, %.loopexit ] %28 = load i32, ptr %16, align 8, !tbaa !80 %29 = icmp slt i32 %28, 10 br i1 %29, label %30, label %prep_huffman.exit 30: ; preds = %27 %31 = icmp eq i32 %28, 0 - br i1 %31, label %32, label %.preheader167 + br i1 %31, label %32, label %.preheader168 32: ; preds = %30 store i32 0, ptr %17, align 4, !tbaa !85 - br label %.preheader167 + br label %.preheader168 -.preheader167: ; preds = %32, %30 +.preheader168: ; preds = %32, %30 br label %33 -33: ; preds = %.preheader167, %40 +33: ; preds = %.preheader168, %40 %34 = load i32, ptr %19, align 4, !tbaa !79 %.not.i = icmp eq i32 %34, 0 br i1 %.not.i, label %37, label %35 @@ -3858,48 +3858,48 @@ prep_huffman.exit: ; preds = %40, %37, %35, %27 %63 = icmp slt i32 %62, 0 %spec.select = tail call i32 @llvm.smax.i32(i32 %62, i32 0) store i32 %spec.select, ptr %16, align 8, !tbaa !80 - br i1 %63, label %.thread118, label %.thread + br i1 %63, label %.thread119, label %.thread 64: ; preds = %prep_huffman.exit %65 = tail call i32 @codebook_decode_scalar_raw(ptr noundef nonnull %0, ptr noundef nonnull %1) %66 = icmp sgt i32 %65, -1 - br i1 %66, label %.thread, label %.thread118 + br i1 %66, label %.thread, label %.thread119 -.thread118: ; preds = %53, %64 +.thread119: ; preds = %53, %64 %67 = load i8, ptr %18, align 4, !tbaa !82 - %.not109 = icmp eq i8 %67, 0 - br i1 %.not109, label %68, label %70 + %.not110 = icmp eq i8 %67, 0 + br i1 %.not110, label %68, label %70 -68: ; preds = %.thread118 +68: ; preds = %.thread119 %69 = load i32, ptr %19, align 4, !tbaa !79 - %.not110 = icmp eq i32 %69, 0 - br i1 %.not110, label %70, label %.thread120 + %.not111 = icmp eq i32 %69, 0 + br i1 %.not111, label %70, label %.thread121 -70: ; preds = %68, %.thread118 +70: ; preds = %68, %.thread119 %71 = getelementptr inbounds nuw i8, ptr %0, i64 156 store i32 21, ptr %71, align 4 - br label %.thread120 + br label %.thread121 .thread: ; preds = %53, %64 - %.191117 = phi i32 [ %65, %64 ], [ %54, %53 ] - %72 = mul nsw i32 %.094142, %3 - %73 = add i32 %.087143, %72 - %74 = add i32 %73, %.082144 + %.191118 = phi i32 [ %65, %64 ], [ %54, %53 ] + %72 = mul nsw i32 %.094143, %3 + %73 = add i32 %.087144, %72 + %74 = add i32 %73, %.082145 %75 = icmp sgt i32 %74, %22 %.neg = sub i32 %22, %72 - %76 = add i32 %.neg, %.082144 - %.289 = select i1 %75, i32 %76, i32 %.087143 + %76 = add i32 %.neg, %.082145 + %.289 = select i1 %75, i32 %76, i32 %.087144 %77 = load i32, ptr %1, align 8, !tbaa !91 - %78 = mul nsw i32 %77, %.191117 + %78 = mul nsw i32 %77, %.191118 %79 = load i8, ptr %23, align 2, !tbaa !92 %.not = icmp eq i8 %79, 0 %80 = icmp sgt i32 %.289, 0 - br i1 %.not, label %.preheader, label %.preheader126 + br i1 %.not, label %.preheader, label %.preheader127 -.preheader126: ; preds = %.thread +.preheader127: ; preds = %.thread br i1 %80, label %.lr.ph, label %.loopexit -.lr.ph: ; preds = %.preheader126 +.lr.ph: ; preds = %.preheader127 %81 = load ptr, ptr %24, align 8, !tbaa !93 %82 = sext i32 %78 to i64 %wide.trip.count = zext nneg i32 %.289 to i64 @@ -3907,29 +3907,29 @@ prep_huffman.exit: ; preds = %40, %37, %35, %27 br label %84 .preheader: ; preds = %.thread - br i1 %80, label %.lr.ph139.preheader, label %.loopexit + br i1 %80, label %.lr.ph140.preheader, label %.loopexit -.lr.ph139.preheader: ; preds = %.preheader +.lr.ph140.preheader: ; preds = %.preheader %83 = sext i32 %78 to i64 - %wide.trip.count154 = zext nneg i32 %.289 to i64 - br label %.lr.ph139 + %wide.trip.count155 = zext nneg i32 %.289 to i64 + br label %.lr.ph140 84: ; preds = %.lr.ph, %95 %indvars.iv = phi i64 [ 0, %.lr.ph ], [ %indvars.iv.next, %95 ] - %.284134 = phi i32 [ %.082144, %.lr.ph ], [ %spec.select113, %95 ] - %.085133 = phi float [ 0.000000e+00, %.lr.ph ], [ %86, %95 ] - %.296131 = phi i32 [ %.094142, %.lr.ph ], [ %spec.select112, %95 ] + %.284135 = phi i32 [ %.082145, %.lr.ph ], [ %spec.select114, %95 ] + %.085134 = phi float [ 0.000000e+00, %.lr.ph ], [ %86, %95 ] + %.296132 = phi i32 [ %.094143, %.lr.ph ], [ %spec.select113, %95 ] %gep = getelementptr float, ptr %invariant.gep, i64 %indvars.iv %85 = load float, ptr %gep, align 4, !tbaa !48 - %86 = fadd float %.085133, %85 - %87 = sext i32 %.284134 to i64 + %86 = fadd float %.085134, %85 + %87 = sext i32 %.284135 to i64 %88 = getelementptr inbounds ptr, ptr %2, i64 %87 %89 = load ptr, ptr %88, align 8, !tbaa !53 - %.not108 = icmp eq ptr %89, null - br i1 %.not108, label %95, label %90 + %.not109 = icmp eq ptr %89, null + br i1 %.not109, label %95, label %90 90: ; preds = %84 - %91 = sext i32 %.296131 to i64 + %91 = sext i32 %.296132 to i64 %92 = getelementptr inbounds float, ptr %89, i64 %91 %93 = load float, ptr %92, align 4, !tbaa !48 %94 = fadd float %86, %93 @@ -3937,63 +3937,63 @@ prep_huffman.exit: ; preds = %40, %37, %35, %27 br label %95 95: ; preds = %90, %84 - %96 = add nsw i32 %.284134, 1 + %96 = add nsw i32 %.284135, 1 %97 = icmp eq i32 %96, %3 %98 = zext i1 %97 to i32 - %spec.select112 = add nsw i32 %.296131, %98 - %spec.select113 = select i1 %97, i32 0, i32 %96 + %spec.select113 = add nsw i32 %.296132, %98 + %spec.select114 = select i1 %97, i32 0, i32 %96 %indvars.iv.next = add nuw nsw i64 %indvars.iv, 1 %exitcond.not = icmp eq i64 %indvars.iv.next, %wide.trip.count br i1 %exitcond.not, label %.loopexit, label %84, !llvm.loop !98 -.lr.ph139: ; preds = %.lr.ph139.preheader, %112 - %indvars.iv151 = phi i64 [ 0, %.lr.ph139.preheader ], [ %indvars.iv.next152, %112 ] - %.5138 = phi i32 [ %.082144, %.lr.ph139.preheader ], [ %spec.select115, %112 ] - %.599136 = phi i32 [ %.094142, %.lr.ph139.preheader ], [ %spec.select114, %112 ] - %99 = sext i32 %.5138 to i64 +.lr.ph140: ; preds = %.lr.ph140.preheader, %112 + %indvars.iv152 = phi i64 [ 0, %.lr.ph140.preheader ], [ %indvars.iv.next153, %112 ] + %.5139 = phi i32 [ %.082145, %.lr.ph140.preheader ], [ %spec.select116, %112 ] + %.599137 = phi i32 [ %.094143, %.lr.ph140.preheader ], [ %spec.select115, %112 ] + %99 = sext i32 %.5139 to i64 %100 = getelementptr inbounds ptr, ptr %2, i64 %99 %101 = load ptr, ptr %100, align 8, !tbaa !53 - %.not107 = icmp eq ptr %101, null - br i1 %.not107, label %112, label %102 + %.not108 = icmp eq ptr %101, null + br i1 %.not108, label %112, label %102 -102: ; preds = %.lr.ph139 +102: ; preds = %.lr.ph140 %103 = load ptr, ptr %24, align 8, !tbaa !93 - %104 = getelementptr float, ptr %103, i64 %indvars.iv151 + %104 = getelementptr float, ptr %103, i64 %indvars.iv152 %105 = getelementptr float, ptr %104, i64 %83 %106 = load float, ptr %105, align 4, !tbaa !48 %107 = fadd float %106, 0.000000e+00 - %108 = sext i32 %.599136 to i64 + %108 = sext i32 %.599137 to i64 %109 = getelementptr inbounds float, ptr %101, i64 %108 %110 = load float, ptr %109, align 4, !tbaa !48 %111 = fadd float %110, %107 store float %111, ptr %109, align 4, !tbaa !48 br label %112 -112: ; preds = %102, %.lr.ph139 - %113 = add nsw i32 %.5138, 1 +112: ; preds = %102, %.lr.ph140 + %113 = add nsw i32 %.5139, 1 %114 = icmp eq i32 %113, %3 %115 = zext i1 %114 to i32 - %spec.select114 = add nsw i32 %.599136, %115 - %spec.select115 = select i1 %114, i32 0, i32 %113 - %indvars.iv.next152 = add nuw nsw i64 %indvars.iv151, 1 - %exitcond155.not = icmp eq i64 %indvars.iv.next152, %wide.trip.count154 - br i1 %exitcond155.not, label %.loopexit, label %.lr.ph139, !llvm.loop !99 - -.loopexit: ; preds = %95, %112, %.preheader126, %.preheader - %.498 = phi i32 [ %.094142, %.preheader ], [ %.094142, %.preheader126 ], [ %spec.select114, %112 ], [ %spec.select112, %95 ] - %.4 = phi i32 [ %.082144, %.preheader ], [ %.082144, %.preheader126 ], [ %spec.select115, %112 ], [ %spec.select113, %95 ] - %116 = sub nsw i32 %.080145, %.289 + %spec.select115 = add nsw i32 %.599137, %115 + %spec.select116 = select i1 %114, i32 0, i32 %113 + %indvars.iv.next153 = add nuw nsw i64 %indvars.iv152, 1 + %exitcond156.not = icmp eq i64 %indvars.iv.next153, %wide.trip.count155 + br i1 %exitcond156.not, label %.loopexit, label %.lr.ph140, !llvm.loop !99 + +.loopexit: ; preds = %95, %112, %.preheader127, %.preheader + %.498 = phi i32 [ %.094143, %.preheader ], [ %.094143, %.preheader127 ], [ %spec.select115, %112 ], [ %spec.select113, %95 ] + %.4 = phi i32 [ %.082145, %.preheader ], [ %.082145, %.preheader127 ], [ %spec.select116, %112 ], [ %spec.select114, %95 ] + %116 = sub nsw i32 %.080146, %.289 %117 = icmp sgt i32 %116, 0 br i1 %117, label %27, label %._crit_edge, !llvm.loop !100 -._crit_edge: ; preds = %.loopexit, %.preheader128 - %.094.lcssa = phi i32 [ %10, %.preheader128 ], [ %.498, %.loopexit ] - %.082.lcssa = phi i32 [ %9, %.preheader128 ], [ %.4, %.loopexit ] +._crit_edge: ; preds = %.loopexit, %.preheader129 + %.094.lcssa = phi i32 [ %10, %.preheader129 ], [ %.498, %.loopexit ] + %.082.lcssa = phi i32 [ %9, %.preheader129 ], [ %.4, %.loopexit ] store i32 %.082.lcssa, ptr %4, align 4, !tbaa !21 store i32 %.094.lcssa, ptr %5, align 4, !tbaa !21 - br label %.thread120 + br label %.thread121 -.thread120: ; preds = %68, %70, %._crit_edge, %25 +.thread121: ; preds = %68, %70, %._crit_edge, %25 %.0 = phi i32 [ 0, %25 ], [ 1, %._crit_edge ], [ 0, %70 ], [ 0, %68 ] ret i32 %.0 } @@ -8715,7 +8715,7 @@ get_bits.exit66: ; preds = %173, %.get_bits.exi %184 = add nsw i32 %181, -1 store i32 %184, ptr %11, align 8, !tbaa !80 %185 = icmp eq i32 %184, 0 - br i1 %185, label %.lr.ph.i69, label %.loopexit32.i67 + br i1 %185, label %.lr.ph.i69, label %.loopexit33.i67 .lr.ph.i69: ; preds = %get_bits.exit66 store i32 0, ptr %12, align 4, !tbaa !85 @@ -8735,9 +8735,9 @@ get_bits.exit66: ; preds = %173, %.get_bits.exi %193 = add nsw i32 %189, 8 store i32 %193, ptr %11, align 8, !tbaa !80 %194 = icmp slt i32 %189, -7 - br i1 %194, label %186, label %.loopexit32.i67, !llvm.loop !86 + br i1 %194, label %186, label %.loopexit33.i67, !llvm.loop !86 -.loopexit32.i67: ; preds = %188, %get_bits.exit66 +.loopexit33.i67: ; preds = %188, %get_bits.exit66 %195 = phi i32 [ %183, %get_bits.exit66 ], [ %192, %188 ] %196 = phi i32 [ %184, %get_bits.exit66 ], [ %193, %188 ] %197 = and i32 %195, 1 @@ -8758,9 +8758,9 @@ get_bits.exit66: ; preds = %173, %.get_bits.exi %203 = ashr i32 %202, 1 br label %216 -204: ; preds = %.critedge.i71, %.loopexit32.i67, %164, %.critedge.i65 - %common.ret.op.i6278 = phi i32 [ %182, %.loopexit32.i67 ], [ %182, %.critedge.i71 ], [ 0, %164 ], [ 0, %.critedge.i65 ] - %common.ret.op.i68 = phi i1 [ %200, %.loopexit32.i67 ], [ false, %.critedge.i71 ], [ false, %164 ], [ false, %.critedge.i65 ] +204: ; preds = %.critedge.i71, %.loopexit33.i67, %164, %.critedge.i65 + %common.ret.op.i6278 = phi i32 [ %182, %.loopexit33.i67 ], [ %182, %.critedge.i71 ], [ 0, %164 ], [ 0, %.critedge.i65 ] + %common.ret.op.i68 = phi i1 [ %200, %.loopexit33.i67 ], [ false, %.critedge.i71 ], [ false, %164 ], [ false, %.critedge.i65 ] %205 = icmp ne i32 %common.ret.op.i6278, 0 %.pre94 = load i8, ptr %162, align 2, !tbaa !158 %206 = icmp eq i8 %.pre94, 0 diff --git a/bench/tokenizers-rs/optimized/1k9vblvd5jyd3qmf.ll b/bench/tokenizers-rs/optimized/1k9vblvd5jyd3qmf.ll index c52095f6f5c..dc45dc39912 100644 --- a/bench/tokenizers-rs/optimized/1k9vblvd5jyd3qmf.ll +++ b/bench/tokenizers-rs/optimized/1k9vblvd5jyd3qmf.ll @@ -16772,8 +16772,8 @@ define void @_ZN10tokenizers6models7unigram7trainer14UnigramTrainer8do_train17hc %.val = load i8, ptr %139, align 8, !range !123, !noundef !15 tail call void @llvm.experimental.noalias.scope.decl(metadata !3098) %140 = trunc nuw i8 %.val to i1 - %.sink867.sroa.gep = getelementptr inbounds nuw i8, ptr %83, i64 16 - %.sink867.sroa.gep1149 = getelementptr inbounds nuw i8, ptr %101, i64 16 + %.sink869.sroa.gep = getelementptr inbounds nuw i8, ptr %83, i64 16 + %.sink869.sroa.gep1151 = getelementptr inbounds nuw i8, ptr %101, i64 16 br i1 %140, label %142, label %_ZN10tokenizers6models7unigram7trainer14UnigramTrainer14setup_progress17hc62790f2445ab678E.exit.thread _ZN10tokenizers6models7unigram7trainer14UnigramTrainer14setup_progress17hc62790f2445ab678E.exit.thread: ; preds = %4 @@ -16843,7 +16843,7 @@ _ZN10tokenizers6models7unigram7trainer14UnigramTrainer14setup_progress17hc62790f invoke void @"_ZN4core3ptr79drop_in_place$LT$alloc..vec..Vec$LT$$LP$alloc..string..String$C$u32$RP$$GT$$GT$17h47d1cdc450f7b408E"(ptr noalias noundef nonnull align 8 dereferenceable(24) %2) #29 to label %1393 unwind label %1374 -158: ; preds = %.invoke868, %142 +158: ; preds = %.invoke870, %142 %159 = landingpad { ptr, i32 } cleanup br label %.body @@ -16947,7 +16947,7 @@ _ZN10tokenizers6models7unigram7trainer14UnigramTrainer14setup_progress17hc62790f %194 = getelementptr inbounds nuw i8, ptr %101, i64 8 %195 = load i64, ptr %194, align 8, !range !14, !alias.scope !3126, !noalias !3122, !noundef !15 %196 = icmp eq i64 %195, 0 - br i1 %196, label %.invoke, label %.invoke865 + br i1 %196, label %.invoke, label %.invoke867 .invoke: ; preds = %193, %234 invoke void @_ZN5alloc7raw_vec17capacity_overflow17h7ec064f2e7244a51E() #31 @@ -16956,14 +16956,14 @@ _ZN10tokenizers6models7unigram7trainer14UnigramTrainer14setup_progress17hc62790f .cont: ; preds = %.invoke unreachable -.invoke865: ; preds = %193, %234 - %.sink867.sroa.phi = phi ptr [ %.sink867.sroa.gep, %234 ], [ %.sink867.sroa.gep1149, %193 ] +.invoke867: ; preds = %193, %234 + %.sink869.sroa.phi = phi ptr [ %.sink869.sroa.gep, %234 ], [ %.sink869.sroa.gep1151, %193 ] %197 = phi i64 [ %236, %234 ], [ %195, %193 ] - %198 = load i64, ptr %.sink867.sroa.phi, align 8, !noalias !15 + %198 = load i64, ptr %.sink869.sroa.phi, align 8, !noalias !15 invoke void @_ZN5alloc5alloc18handle_alloc_error17h59557ef4a43cd5a6E(i64 noundef %197, i64 noundef %198) #31 - to label %.cont866 unwind label %.loopexit.split-lp368 + to label %.cont868 unwind label %.loopexit.split-lp368 -.cont866: ; preds = %.invoke865 +.cont868: ; preds = %.invoke867 unreachable .body199: ; preds = %.loopexit367, %.loopexit.split-lp368, %777, %.thread333, %665, %245, %209, %1392 @@ -16976,7 +16976,7 @@ _ZN10tokenizers6models7unigram7trainer14UnigramTrainer14setup_progress17hc62790f cleanup br label %.body199 -.loopexit.split-lp368: ; preds = %.invoke865, %.invoke, %590, %607, %185, %"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4fold17h214beebe6280ededE.exit.i", %435, %599, %.noexc217, %.noexc218, %639, %.noexc222, %.noexc223, %_ZN3std4hash6random11RandomState3new4KEYS7__getit17h2e060df0334ea3a6E.exit.i.i.i.i, %658, %1380, %.noexc306, %.noexc307 +.loopexit.split-lp368: ; preds = %.invoke867, %.invoke, %590, %607, %185, %"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4fold17h214beebe6280ededE.exit.i", %435, %599, %.noexc217, %.noexc218, %639, %.noexc222, %.noexc223, %_ZN3std4hash6random11RandomState3new4KEYS7__getit17h2e060df0334ea3a6E.exit.i.i.i.i, %658, %1380, %.noexc306, %.noexc307 %lpad.loopexit.split-lp370 = landingpad { ptr, i32 } cleanup br label %.body199 @@ -17085,7 +17085,7 @@ _ZN10tokenizers6models7unigram7trainer14UnigramTrainer14setup_progress17hc62790f %235 = getelementptr inbounds nuw i8, ptr %83, i64 8 %236 = load i64, ptr %235, align 8, !range !14, !alias.scope !3145, !noalias !3138, !noundef !15 %237 = icmp eq i64 %236, 0 - br i1 %237, label %.invoke, label %.invoke865 + br i1 %237, label %.invoke, label %.invoke867 _ZN5alloc7raw_vec14handle_reserve17h2d131f4fccf45d0bE.llvm.787574339177529159.exit.i: ; preds = %.noexc210 %238 = getelementptr inbounds nuw i8, ptr %83, i64 16 @@ -17425,9 +17425,9 @@ _ZN3std4hash6random11RandomState3new4KEYS7__getit17h2e060df0334ea3a6E.exit.i.i: %.sroa.0113.i.1.i.1.i.1..sroa_idx = getelementptr inbounds nuw i8, ptr %.sroa.0113.i, i64 1 %.sroa.0113.i.2.i.2.i.2..sroa_idx = getelementptr inbounds nuw i8, ptr %.sroa.0113.i, i64 2 %.sroa.0113.i.3.i.3.i.3..sroa_idx = getelementptr inbounds nuw i8, ptr %.sroa.0113.i, i64 3 - %.sroa.0113.i.1.i.1.i.1..sroa_idx1150 = getelementptr inbounds nuw i8, ptr %.sroa.0113.i, i64 1 - %.sroa.0113.i.2.i.2.i.2..sroa_idx1152 = getelementptr inbounds nuw i8, ptr %.sroa.0113.i, i64 2 - %.sroa.0113.i.1.i.1.i.1..sroa_idx1151 = getelementptr inbounds nuw i8, ptr %.sroa.0113.i, i64 1 + %.sroa.0113.i.1.i.1.i.1..sroa_idx1152 = getelementptr inbounds nuw i8, ptr %.sroa.0113.i, i64 1 + %.sroa.0113.i.2.i.2.i.2..sroa_idx1154 = getelementptr inbounds nuw i8, ptr %.sroa.0113.i, i64 2 + %.sroa.0113.i.1.i.1.i.1..sroa_idx1153 = getelementptr inbounds nuw i8, ptr %.sroa.0113.i, i64 1 br label %324 .loopexit91.i: ; preds = %447 @@ -17484,7 +17484,7 @@ _ZN3std4hash6random11RandomState3new4KEYS7__getit17h2e060df0334ea3a6E.exit.i.i: %341 = trunc i32 %329 to i8 %342 = and i8 %341, 63 %343 = or disjoint i8 %342, -128 - store i8 %343, ptr %.sroa.0113.i.1.i.1.i.1..sroa_idx1151, align 1, !alias.scope !3214, !noalias !3138 + store i8 %343, ptr %.sroa.0113.i.1.i.1.i.1..sroa_idx1153, align 1, !alias.scope !3214, !noalias !3138 br label %447 344: ; preds = %333 @@ -17496,11 +17496,11 @@ _ZN3std4hash6random11RandomState3new4KEYS7__getit17h2e060df0334ea3a6E.exit.i.i: %349 = trunc i32 %348 to i8 %350 = and i8 %349, 63 %351 = or disjoint i8 %350, -128 - store i8 %351, ptr %.sroa.0113.i.1.i.1.i.1..sroa_idx1150, align 1, !alias.scope !3214, !noalias !3138 + store i8 %351, ptr %.sroa.0113.i.1.i.1.i.1..sroa_idx1152, align 1, !alias.scope !3214, !noalias !3138 %352 = trunc i32 %329 to i8 %353 = and i8 %352, 63 %354 = or disjoint i8 %353, -128 - store i8 %354, ptr %.sroa.0113.i.2.i.2.i.2..sroa_idx1152, align 2, !alias.scope !3214, !noalias !3138 + store i8 %354, ptr %.sroa.0113.i.2.i.2.i.2..sroa_idx1154, align 2, !alias.scope !3214, !noalias !3138 br label %447 355: ; preds = %333 @@ -19826,9 +19826,9 @@ _ZN5alloc7raw_vec14handle_reserve17he7602332f1c1effcE.exit.i.i: ; preds = %.noex call void @llvm.lifetime.end.p0(ptr nonnull %137) %1216 = load ptr, ptr %138, align 8, !alias.scope !3590, !noundef !15 %1217 = icmp eq ptr %1216, null - br i1 %1217, label %"_ZN4core3ptr85drop_in_place$LT$core..option..Option$LT$indicatif..progress_bar..ProgressBar$GT$$GT$17h9640eb6bfce93946E.exit310", label %.invoke868 + br i1 %1217, label %"_ZN4core3ptr85drop_in_place$LT$core..option..Option$LT$indicatif..progress_bar..ProgressBar$GT$$GT$17h9640eb6bfce93946E.exit310", label %.invoke870 -"_ZN4core3ptr85drop_in_place$LT$core..option..Option$LT$indicatif..progress_bar..ProgressBar$GT$$GT$17h9640eb6bfce93946E.exit310": ; preds = %.invoke868, %1215, %1389 +"_ZN4core3ptr85drop_in_place$LT$core..option..Option$LT$indicatif..progress_bar..ProgressBar$GT$$GT$17h9640eb6bfce93946E.exit310": ; preds = %.invoke870, %1215, %1389 call void @llvm.lifetime.end.p0(ptr nonnull %138) call void @"_ZN4core3ptr79drop_in_place$LT$alloc..vec..Vec$LT$$LP$alloc..string..String$C$u32$RP$$GT$$GT$17h47d1cdc450f7b408E"(ptr noalias noundef nonnull align 8 dereferenceable(24) %2) ret void @@ -20485,9 +20485,9 @@ _ZN5alloc7raw_vec14handle_reserve17he7602332f1c1effcE.exit.i.i: ; preds = %.noex call void @llvm.lifetime.end.p0(ptr nonnull %137) %1390 = load ptr, ptr %138, align 8, !alias.scope !3698, !noundef !15 %1391 = icmp eq ptr %1390, null - br i1 %1391, label %"_ZN4core3ptr85drop_in_place$LT$core..option..Option$LT$indicatif..progress_bar..ProgressBar$GT$$GT$17h9640eb6bfce93946E.exit310", label %.invoke868 + br i1 %1391, label %"_ZN4core3ptr85drop_in_place$LT$core..option..Option$LT$indicatif..progress_bar..ProgressBar$GT$$GT$17h9640eb6bfce93946E.exit310", label %.invoke870 -.invoke868: ; preds = %1389, %1215 +.invoke870: ; preds = %1389, %1215 invoke void @"_ZN4core3ptr57drop_in_place$LT$indicatif..progress_bar..ProgressBar$GT$17h0e7c7b9123c0a497E"(ptr noalias noundef nonnull align 8 dereferenceable(24) %138) to label %"_ZN4core3ptr85drop_in_place$LT$core..option..Option$LT$indicatif..progress_bar..ProgressBar$GT$$GT$17h9640eb6bfce93946E.exit310" unwind label %158 @@ -28358,12 +28358,12 @@ define hidden void @"_ZN348_$LT$$LT$tokenizers..pre_tokenizers..metaspace..Metas br i1 %7, label %10, label %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h5b546449e10d9f38E.exit42.thread" "_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h5b546449e10d9f38E.exit38": ; preds = %3 - %bcmp.i37 = tail call i32 @bcmp(ptr nonnull readonly align 1 %1, ptr nonnull @anon.41830d2d731c18ce2a6132047cfc8f8a.208, i64 %2), !alias.scope !5174 + %bcmp.i37 = tail call i32 @bcmp(ptr noundef nonnull readonly align 1 dereferenceable(5) %1, ptr noundef nonnull dereferenceable(5) @anon.41830d2d731c18ce2a6132047cfc8f8a.208, i64 5), !alias.scope !5174 %8 = icmp eq i32 %bcmp.i37, 0 br i1 %8, label %10, label %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h5b546449e10d9f38E.exit42.thread" "_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h5b546449e10d9f38E.exit42": ; preds = %3 - %bcmp.i41 = tail call i32 @bcmp(ptr nonnull readonly align 1 %1, ptr nonnull @anon.41830d2d731c18ce2a6132047cfc8f8a.209, i64 %2), !alias.scope !5178 + %bcmp.i41 = tail call i32 @bcmp(ptr noundef nonnull readonly align 1 dereferenceable(7) %1, ptr noundef nonnull dereferenceable(7) @anon.41830d2d731c18ce2a6132047cfc8f8a.209, i64 7), !alias.scope !5178 %9 = icmp eq i32 %bcmp.i41, 0 br i1 %9, label %10, label %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h5b546449e10d9f38E.exit42.thread" diff --git a/bench/typst-rs/optimized/3rk2ctuzbghb17s4.ll b/bench/typst-rs/optimized/3rk2ctuzbghb17s4.ll index bd1716118f5..575389e482a 100644 --- a/bench/typst-rs/optimized/3rk2ctuzbghb17s4.ll +++ b/bench/typst-rs/optimized/3rk2ctuzbghb17s4.ll @@ -103140,7 +103140,6 @@ _ZN5typst4util7Numeric7is_zero17h8b8e138031b37f84E.exit: ; preds = %_ZN5typst4ut br label %48 41: ; preds = %31, %30 - tail call void @llvm.assume(i1 %29) call void @llvm.lifetime.start.p0(ptr nonnull %8), !noalias !25267 call void @llvm.lifetime.start.p0(ptr nonnull %7), !noalias !25267 call void @llvm.lifetime.start.p0(ptr nonnull %6), !noalias !25267 @@ -103262,7 +103261,6 @@ _ZN5typst4util7Numeric7is_zero17h8b8e138031b37f84E.exit: ; preds = %_ZN5typst4ut to label %"_ZN74_$LT$typst..layout..abs..Abs$u20$as$u20$typst..foundations..repr..Repr$GT$4repr17h7872e6fe54bf8a67E.exit" unwind label %35 31: ; preds = %29, %28 - tail call void @llvm.assume(i1 %27) tail call void @_ZN5typst11foundations4repr12format_float17h3cb6b2212318be92E(ptr noalias noundef nonnull sret({ { { [2 x i64] } } }) align 8 captures(none) dereferenceable(16) %0, double noundef %11, i1 noundef zeroext true, i8 2, i1 noundef zeroext false, ptr noalias noundef nonnull readonly align 1 @anon.984efe779a4077b66be6415f964eeb42.459.llvm.13383457361836014260, i64 noundef 2), !noalias !25303 br label %68 @@ -135858,7 +135856,7 @@ define noundef range(i8 0, 10) i8 @"_ZN78_$LT$typst..model..figure.._..Fields$u2 br label %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h45ed752b1ddb1024E.exit66.thread" "_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h45ed752b1ddb1024E.exit62": ; preds = %2 - %bcmp.i61 = tail call i32 @bcmp(ptr nonnull readonly align 1 %0, ptr nonnull @anon.9bf146a73cb71d9c7e3fe69f46c42f4a.683, i64 %1), !alias.scope !34277 + %bcmp.i61 = tail call i32 @bcmp(ptr noundef nonnull readonly align 1 dereferenceable(8) %0, ptr noundef nonnull dereferenceable(8) @anon.9bf146a73cb71d9c7e3fe69f46c42f4a.683, i64 8), !alias.scope !34277 %11 = icmp eq i32 %bcmp.i61, 0 %spec.select164 = select i1 %11, i8 7, i8 9 br label %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h45ed752b1ddb1024E.exit66.thread" diff --git a/bench/verilator/optimized/V3Options.ll b/bench/verilator/optimized/V3Options.ll index a74d355733e..25d87af849f 100644 --- a/bench/verilator/optimized/V3Options.ll +++ b/bench/verilator/optimized/V3Options.ll @@ -11878,35 +11878,35 @@ define linkonce_odr dso_local void @_ZN4V3Os12filenameJoinIJNSt7__cxx1112basic_s call void @llvm.lifetime.start.p0(ptr nonnull %4) store i64 %27, ptr %4, align 8, !tbaa !43 %28 = icmp ugt i64 %27, 15 - br i1 %28, label %.noexc.i6, label %._crit_edge.i.i5 + br i1 %28, label %.noexc.i9, label %._crit_edge.i.i8 -.noexc.i6: ; preds = %18 +.noexc.i9: ; preds = %18 %29 = invoke noundef ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_createERmm(ptr noundef nonnull align 8 dereferenceable(32) %23, ptr noundef nonnull align 8 dereferenceable(8) %4, i64 noundef 0) - to label %.noexc7 unwind label %55 + to label %.noexc10 unwind label %55 -.noexc7: ; preds = %.noexc.i6 +.noexc10: ; preds = %.noexc.i9 store ptr %29, ptr %23, align 8, !tbaa !20 %30 = load i64, ptr %4, align 8, !tbaa !43 store i64 %30, ptr %24, align 8, !tbaa !25 - br label %._crit_edge.i.i5 + br label %._crit_edge.i.i8 -._crit_edge.i.i5: ; preds = %.noexc7, %18 - %31 = phi ptr [ %29, %.noexc7 ], [ %24, %18 ] +._crit_edge.i.i8: ; preds = %.noexc10, %18 + %31 = phi ptr [ %29, %.noexc10 ], [ %24, %18 ] switch i64 %27, label %34 [ i64 1, label %32 i64 0, label %35 ] -32: ; preds = %._crit_edge.i.i5 +32: ; preds = %._crit_edge.i.i8 %33 = load i8, ptr %25, align 1, !tbaa !25 store i8 %33, ptr %31, align 1, !tbaa !25 br label %35 -34: ; preds = %._crit_edge.i.i5 +34: ; preds = %._crit_edge.i.i8 call void @llvm.memcpy.p0.p0.i64(ptr align 1 %31, ptr align 1 %25, i64 %27, i1 false) br label %35 -35: ; preds = %34, %32, %._crit_edge.i.i5 +35: ; preds = %34, %32, %._crit_edge.i.i8 %36 = load i64, ptr %4, align 8, !tbaa !43 %37 = getelementptr inbounds nuw i8, ptr %6, i64 40 store i64 %36, ptr %37, align 8, !tbaa !24 @@ -11950,22 +11950,22 @@ _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit: ; preds = %_ZNKS call void @llvm.lifetime.end.p0(ptr nonnull %6) ret void -55: ; preds = %.noexc.i6 +55: ; preds = %.noexc.i9 %56 = landingpad { ptr, i32 } cleanup %57 = load ptr, ptr %6, align 8, !tbaa !20 %58 = getelementptr inbounds nuw i8, ptr %6, i64 16 %59 = icmp eq ptr %57, %58 - br i1 %59, label %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i10, label %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i9 + br i1 %59, label %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i13, label %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i12 -_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i10: ; preds = %55 +_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i13: ; preds = %55 %60 = getelementptr inbounds nuw i8, ptr %6, i64 8 %61 = load i64, ptr %60, align 8, !tbaa !24 %62 = icmp ult i64 %61, 16 call void @llvm.assume(i1 %62) br label %.loopexit -_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i9: ; preds = %55 +_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i12: ; preds = %55 %63 = load i64, ptr %58, align 8, !tbaa !25 %64 = add i64 %63, 1 call void @_ZdlPvm(ptr noundef %57, i64 noundef %64) #42 @@ -11977,33 +11977,33 @@ _ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i9: %67 = getelementptr inbounds nuw i8, ptr %6, i64 64 br label %68 -68: ; preds = %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit14, %65 - %69 = phi ptr [ %67, %65 ], [ %70, %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit14 ] +68: ; preds = %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit17, %65 + %69 = phi ptr [ %67, %65 ], [ %70, %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit17 ] %70 = getelementptr inbounds i8, ptr %69, i64 -32 %71 = load ptr, ptr %70, align 8, !tbaa !20 %72 = getelementptr inbounds i8, ptr %69, i64 -16 %73 = icmp eq ptr %71, %72 - br i1 %73, label %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i13, label %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i12 + br i1 %73, label %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i16, label %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i15 -_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i13: ; preds = %68 +_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i16: ; preds = %68 %74 = getelementptr inbounds i8, ptr %69, i64 -24 %75 = load i64, ptr %74, align 8, !tbaa !24 %76 = icmp ult i64 %75, 16 call void @llvm.assume(i1 %76) - br label %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit14 + br label %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit17 -_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i12: ; preds = %68 +_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i15: ; preds = %68 %77 = load i64, ptr %72, align 8, !tbaa !25 %78 = add i64 %77, 1 call void @_ZdlPvm(ptr noundef %71, i64 noundef %78) #42 - br label %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit14 + br label %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit17 -_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit14: ; preds = %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i13, %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i12 +_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit17: ; preds = %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i16, %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i15 %79 = icmp eq ptr %70, %6 br i1 %79, label %.loopexit, label %68 -.loopexit: ; preds = %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit14, %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i9, %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i10 - %.pn = phi { ptr, i32 } [ %56, %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i10 ], [ %56, %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i9 ], [ %66, %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit14 ] +.loopexit: ; preds = %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit17, %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i12, %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i13 + %.pn = phi { ptr, i32 } [ %56, %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i13 ], [ %56, %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i12 ], [ %66, %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit17 ] call void @llvm.lifetime.end.p0(ptr nonnull %6) resume { ptr, i32 } %.pn } diff --git a/bench/yalantinglibs/optimized/basic_usage.ll b/bench/yalantinglibs/optimized/basic_usage.ll index b5647bc55cd..6dae6d28eec 100644 --- a/bench/yalantinglibs/optimized/basic_usage.ll +++ b/bench/yalantinglibs/optimized/basic_usage.ll @@ -215,9 +215,9 @@ if.else.i.i: ; preds = %.noexc547 %cmp3.i.i = icmp ult i64 %0, 65536 %cmp12.i.i = icmp ult i64 %0, 4294967296 %. = select i1 %cmp12.i.i, i64 8, i64 12 - %.1325 = select i1 %cmp12.i.i, i8 16, i8 24 + %.1329 = select i1 %cmp12.i.i, i8 16, i8 24 %.sink = select i1 %cmp3.i.i, i64 6, i64 %. - %retval.i.i.sroa.10.1 = select i1 %cmp3.i.i, i8 8, i8 %.1325 + %retval.i.i.sroa.10.1 = select i1 %cmp3.i.i, i8 8, i8 %.1329 %add17.i.i = add i64 %0, %.sink %add31.i.i = add i64 %add17.i.i, 1 br label %_ZN11struct_pack6detail26get_serialize_runtime_infoILm0EJ6personEEENS_21serialize_buffer_sizeEDpRKT0_.exit.i @@ -343,11 +343,11 @@ if.then.i468: ; preds = %.noexc472 if.else.i440: ; preds = %.noexc472 %cmp3.i442 = icmp ult i64 %11, 65536 %cmp12.i445 = icmp ult i64 %11, 4294967296 - %.1326 = select i1 %cmp12.i445, i64 8, i64 12 - %.1327 = select i1 %cmp12.i445, i8 16, i8 24 - %.sink1304 = select i1 %cmp3.i442, i64 6, i64 %.1326 - %retval.i430.sroa.10.1 = select i1 %cmp3.i442, i8 8, i8 %.1327 - %add17.i459 = add i64 %11, %.sink1304 + %.1330 = select i1 %cmp12.i445, i64 8, i64 12 + %.1331 = select i1 %cmp12.i445, i8 16, i8 24 + %.sink1308 = select i1 %cmp3.i442, i64 6, i64 %.1330 + %retval.i430.sroa.10.1 = select i1 %cmp3.i442, i8 8, i8 %.1331 + %add17.i459 = add i64 %11, %.sink1308 %add31.i454 = add i64 %add17.i459, 1 br label %_ZN11struct_pack6detail26get_serialize_runtime_infoILm0EJ6personEEENS_21serialize_buffer_sizeEDpRKT0_.exit473 @@ -560,11 +560,11 @@ if.then.i424: ; preds = %.noexc428 if.else.i396: ; preds = %.noexc428 %cmp3.i398 = icmp ult i64 %29, 65536 %cmp12.i401 = icmp ult i64 %29, 4294967296 - %.1328 = select i1 %cmp12.i401, i64 8, i64 12 - %.1329 = select i1 %cmp12.i401, i8 16, i8 24 - %.sink1308 = select i1 %cmp3.i398, i64 6, i64 %.1328 - %retval.i386.sroa.10.1 = select i1 %cmp3.i398, i8 8, i8 %.1329 - %add17.i415 = add i64 %29, %.sink1308 + %.1332 = select i1 %cmp12.i401, i64 8, i64 12 + %.1333 = select i1 %cmp12.i401, i8 16, i8 24 + %.sink1312 = select i1 %cmp3.i398, i64 6, i64 %.1332 + %retval.i386.sroa.10.1 = select i1 %cmp3.i398, i8 8, i8 %.1333 + %add17.i415 = add i64 %29, %.sink1312 %add31.i410 = add i64 %add17.i415, 1 br label %_ZN11struct_pack6detail26get_serialize_runtime_infoILm0EJ6personEEENS_21serialize_buffer_sizeEDpRKT0_.exit429 @@ -776,11 +776,11 @@ if.then.i.i717: ; preds = %.noexc721 if.else.i.i684: ; preds = %.noexc721 %cmp3.i.i686 = icmp ult i64 %47, 65536 %cmp12.i.i689 = icmp ult i64 %47, 4294967296 - %.1330 = select i1 %cmp12.i.i689, i64 8, i64 12 - %.1331 = select i1 %cmp12.i.i689, i8 16, i8 24 - %.sink1312 = select i1 %cmp3.i.i686, i64 6, i64 %.1330 - %retval.i.i669.sroa.10.1 = select i1 %cmp3.i.i686, i8 8, i8 %.1331 - %add17.i.i708 = add i64 %47, %.sink1312 + %.1334 = select i1 %cmp12.i.i689, i64 8, i64 12 + %.1335 = select i1 %cmp12.i.i689, i8 16, i8 24 + %.sink1316 = select i1 %cmp3.i.i686, i64 6, i64 %.1334 + %retval.i.i669.sroa.10.1 = select i1 %cmp3.i.i686, i8 8, i8 %.1335 + %add17.i.i708 = add i64 %47, %.sink1316 %add31.i.i698 = add i64 %add17.i.i708, 1 br label %_ZN11struct_pack6detail26get_serialize_runtime_infoILm0EJ6personEEENS_21serialize_buffer_sizeEDpRKT0_.exit.i699 @@ -896,11 +896,11 @@ if.then.i.i601: ; preds = %.noexc605 if.else.i.i568: ; preds = %.noexc605 %cmp3.i.i570 = icmp ult i64 %55, 65536 %cmp12.i.i573 = icmp ult i64 %55, 4294967296 - %.1332 = select i1 %cmp12.i.i573, i64 8, i64 12 - %.1333 = select i1 %cmp12.i.i573, i8 16, i8 24 - %.sink1314 = select i1 %cmp3.i.i570, i64 6, i64 %.1332 - %retval.i.i551.sroa.10.1 = select i1 %cmp3.i.i570, i8 8, i8 %.1333 - %add17.i.i592 = add i64 %55, %.sink1314 + %.1336 = select i1 %cmp12.i.i573, i64 8, i64 12 + %.1337 = select i1 %cmp12.i.i573, i8 16, i8 24 + %.sink1318 = select i1 %cmp3.i.i570, i64 6, i64 %.1336 + %retval.i.i551.sroa.10.1 = select i1 %cmp3.i.i570, i8 8, i8 %.1337 + %add17.i.i592 = add i64 %55, %.sink1318 %add31.i.i582 = add i64 %add17.i.i592, 1 br label %_ZN11struct_pack6detail26get_serialize_runtime_infoILm0EJ6personEEENS_21serialize_buffer_sizeEDpRKT0_.exit.i583 @@ -1036,11 +1036,11 @@ if.then.i890: ; preds = %.noexc894 if.else.i862: ; preds = %.noexc894 %cmp5.i864 = icmp ult i64 %64, 65536 %cmp14.i867 = icmp ult i64 %64, 4294967296 - %.1334 = select i1 %cmp14.i867, i64 8, i64 12 - %.1335 = select i1 %cmp14.i867, i8 16, i8 24 - %.sink1316 = select i1 %cmp5.i864, i64 6, i64 %.1334 - %retval.i851.sroa.10.1 = select i1 %cmp5.i864, i8 8, i8 %.1335 - %add19.i881 = add i64 %64, %.sink1316 + %.1338 = select i1 %cmp14.i867, i64 8, i64 12 + %.1339 = select i1 %cmp14.i867, i8 16, i8 24 + %.sink1320 = select i1 %cmp5.i864, i64 6, i64 %.1338 + %retval.i851.sroa.10.1 = select i1 %cmp5.i864, i8 8, i8 %.1339 + %add19.i881 = add i64 %64, %.sink1320 %add33.i876 = add i64 %add19.i881, 1 br label %_ZN11struct_pack6detail26get_serialize_runtime_infoILm0EJiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEENS_21serialize_buffer_sizeEDpRKT0_.exit895 @@ -1173,11 +1173,11 @@ if.then.i339: ; preds = %.noexc341 if.else.i: ; preds = %.noexc341 %cmp3.i = icmp ult i64 %75, 65536 %cmp12.i = icmp ult i64 %75, 4294967296 - %.1336 = select i1 %cmp12.i, i64 8, i64 12 - %.1337 = select i1 %cmp12.i, i8 16, i8 24 - %.sink1318 = select i1 %cmp3.i, i64 6, i64 %.1336 - %retval.i336.sroa.10.1 = select i1 %cmp3.i, i8 8, i8 %.1337 - %add17.i = add i64 %75, %.sink1318 + %.1340 = select i1 %cmp12.i, i64 8, i64 12 + %.1341 = select i1 %cmp12.i, i8 16, i8 24 + %.sink1322 = select i1 %cmp3.i, i64 6, i64 %.1340 + %retval.i336.sroa.10.1 = select i1 %cmp3.i, i8 8, i8 %.1341 + %add17.i = add i64 %75, %.sink1322 %add31.i = add i64 %add17.i, 1 br label %_ZN11struct_pack6detail26get_serialize_runtime_infoILm0EJ6personEEENS_21serialize_buffer_sizeEDpRKT0_.exit @@ -1208,11 +1208,11 @@ if.then.i.i660: ; preds = %.noexc664 if.else.i.i627: ; preds = %.noexc664 %cmp3.i.i629 = icmp ult i64 %78, 65536 %cmp12.i.i632 = icmp ult i64 %78, 4294967296 - %.1338 = select i1 %cmp12.i.i632, i64 8, i64 12 - %.1339 = select i1 %cmp12.i.i632, i8 16, i8 24 - %.sink1319 = select i1 %cmp3.i.i629, i64 6, i64 %.1338 - %retval.i.i610.sroa.10.1 = select i1 %cmp3.i.i629, i8 8, i8 %.1339 - %add17.i.i651 = add i64 %78, %.sink1319 + %.1342 = select i1 %cmp12.i.i632, i64 8, i64 12 + %.1343 = select i1 %cmp12.i.i632, i8 16, i8 24 + %.sink1323 = select i1 %cmp3.i.i629, i64 6, i64 %.1342 + %retval.i.i610.sroa.10.1 = select i1 %cmp3.i.i629, i8 8, i8 %.1343 + %add17.i.i651 = add i64 %78, %.sink1323 %add31.i.i641 = add i64 %add17.i.i651, 1 br label %_ZN11struct_pack6detail26get_serialize_runtime_infoILm0EJ6personEEENS_21serialize_buffer_sizeEDpRKT0_.exit.i642 @@ -1373,8 +1373,8 @@ _ZN11struct_pack11deserializeIJ6personETkNS_6detail16deserialize_viewESt6vectorI call void @_ZNSaIcED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %name.i.i.i.i.i.i.i) #22 store i32 %call3.i246247, ptr %ret.i, align 8 store i8 0, ptr %m_has_val.i.i.i.i.i.i.i, align 8 - %m_has_val.i.i.i.i.i.i.i6021287 = getelementptr inbounds nuw i8, ptr %p248, i64 40 - store i8 0, ptr %m_has_val.i.i.i.i.i.i.i6021287, align 8 + %m_has_val.i.i.i.i.i.i.i6021291 = getelementptr inbounds nuw i8, ptr %p248, i64 40 + store i8 0, ptr %m_has_val.i.i.i.i.i.i.i6021291, align 8 br label %if.else.i.i.i.i lpad.i233.body: ; preds = %invoke.cont.i237 @@ -1426,17 +1426,17 @@ _ZN2tl6detail24expected_operations_baseI6personN11struct_pack4errcEE14construct_ br label %_ZN2tl8expectedI6personN11struct_pack4errcEEC2EOS4_.exit if.else.i.i.i.i: ; preds = %_ZN11struct_pack11deserializeIJ6personETkNS_6detail16deserialize_viewESt6vectorIcSaIcEEEEDaRKT0_.exit.thread, %_ZN11struct_pack11deserializeIJ6personETkNS_6detail16deserialize_viewESt6vectorIcSaIcEEEEDaRKT0_.exit - %m_has_val.i.i.i.i.i.i.i6021290 = phi ptr [ %m_has_val.i.i.i.i.i.i.i6021287, %_ZN11struct_pack11deserializeIJ6personETkNS_6detail16deserialize_viewESt6vectorIcSaIcEEEEDaRKT0_.exit.thread ], [ %m_has_val.i.i.i.i.i.i.i602, %_ZN11struct_pack11deserializeIJ6personETkNS_6detail16deserialize_viewESt6vectorIcSaIcEEEEDaRKT0_.exit ] + %m_has_val.i.i.i.i.i.i.i6021294 = phi ptr [ %m_has_val.i.i.i.i.i.i.i6021291, %_ZN11struct_pack11deserializeIJ6personETkNS_6detail16deserialize_viewESt6vectorIcSaIcEEEEDaRKT0_.exit.thread ], [ %m_has_val.i.i.i.i.i.i.i602, %_ZN11struct_pack11deserializeIJ6personETkNS_6detail16deserialize_viewESt6vectorIcSaIcEEEEDaRKT0_.exit ] %99 = phi i8 [ 0, %_ZN11struct_pack11deserializeIJ6personETkNS_6detail16deserialize_viewESt6vectorIcSaIcEEEEDaRKT0_.exit.thread ], [ %.pre, %_ZN11struct_pack11deserializeIJ6personETkNS_6detail16deserialize_viewESt6vectorIcSaIcEEEEDaRKT0_.exit ] %100 = load i32, ptr %ret.i, align 8 store i32 %100, ptr %p248, align 8 br label %_ZN2tl8expectedI6personN11struct_pack4errcEEC2EOS4_.exit _ZN2tl8expectedI6personN11struct_pack4errcEEC2EOS4_.exit: ; preds = %_ZN2tl6detail24expected_operations_baseI6personN11struct_pack4errcEE14construct_withINS0_18expected_move_baseIS2_S4_Lb0EEEEEvOT_.exit.i.i.i.i, %if.else.i.i.i.i - %m_has_val.i.i.i.i.i.i.i6021289 = phi ptr [ %m_has_val.i.i.i.i.i.i.i6021290, %if.else.i.i.i.i ], [ %m_has_val.i.i.i.i.i.i.i602, %_ZN2tl6detail24expected_operations_baseI6personN11struct_pack4errcEE14construct_withINS0_18expected_move_baseIS2_S4_Lb0EEEEEvOT_.exit.i.i.i.i ] + %m_has_val.i.i.i.i.i.i.i6021293 = phi ptr [ %m_has_val.i.i.i.i.i.i.i6021294, %if.else.i.i.i.i ], [ %m_has_val.i.i.i.i.i.i.i602, %_ZN2tl6detail24expected_operations_baseI6personN11struct_pack4errcEE14construct_withINS0_18expected_move_baseIS2_S4_Lb0EEEEEvOT_.exit.i.i.i.i ] %101 = phi i8 [ %99, %if.else.i.i.i.i ], [ %.pre1206, %_ZN2tl6detail24expected_operations_baseI6personN11struct_pack4errcEE14construct_withINS0_18expected_move_baseIS2_S4_Lb0EEEEEvOT_.exit.i.i.i.i ] %storemerge.i.i.i.i = phi i8 [ 0, %if.else.i.i.i.i ], [ 1, %_ZN2tl6detail24expected_operations_baseI6personN11struct_pack4errcEE14construct_withINS0_18expected_move_baseIS2_S4_Lb0EEEEEvOT_.exit.i.i.i.i ] - store i8 %storemerge.i.i.i.i, ptr %m_has_val.i.i.i.i.i.i.i6021289, align 8 + store i8 %storemerge.i.i.i.i, ptr %m_has_val.i.i.i.i.i.i.i6021293, align 8 %tobool.i.i.i.i.i.i.i = trunc i8 %101 to i1 br i1 %tobool.i.i.i.i.i.i.i, label %if.then.i.i.i.i.i.i.i604, label %_ZN2tl8expectedI6personN11struct_pack4errcEED2Ev.exit @@ -1457,7 +1457,7 @@ if.then.i.i.i.i.i.i.i.i.i.i: ; preds = %if.then.i.i.i.i.i.i _ZN6personD2Ev.exit.i.i.i.i.i.i.i: ; preds = %if.then.i.i.i.i.i.i.i.i.i.i, %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i.i.i.i.i.i.i.i.i call void @_ZNSaIcED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %name.i.i.i.i.i.i.i) #22 - %.pre1207 = load i8, ptr %m_has_val.i.i.i.i.i.i.i6021289, align 8 + %.pre1207 = load i8, ptr %m_has_val.i.i.i.i.i.i.i6021293, align 8 br label %_ZN2tl8expectedI6personN11struct_pack4errcEED2Ev.exit _ZN2tl8expectedI6personN11struct_pack4errcEED2Ev.exit: ; preds = %_ZN2tl8expectedI6personN11struct_pack4errcEEC2EOS4_.exit, %_ZN6personD2Ev.exit.i.i.i.i.i.i.i @@ -1590,8 +1590,8 @@ _ZN11struct_pack9get_fieldI6personLm1ELm0ETkNS_6detail16deserialize_viewESt6vect call void @_ZNSaIcED2Ev(ptr noundef nonnull align 8 dereferenceable(33) %ret.i261) #22 store i32 %call3.i491492, ptr %ret.i261, align 8 store i8 0, ptr %m_has_val.i.i.i.i.i.i.i633, align 8 - %m_has_val.i.i.i.i.i.i.i6561291 = getelementptr inbounds nuw i8, ptr %name55, i64 32 - store i8 0, ptr %m_has_val.i.i.i.i.i.i.i6561291, align 8 + %m_has_val.i.i.i.i.i.i.i6561295 = getelementptr inbounds nuw i8, ptr %name55, i64 32 + store i8 0, ptr %m_has_val.i.i.i.i.i.i.i6561295, align 8 br label %if.else.i.i.i.i659 lpad.i266.body: ; preds = %invoke.cont.i271 @@ -1641,17 +1641,17 @@ _ZN2tl6detail24expected_operations_baseINSt7__cxx1112basic_stringIcSt11char_trai br label %_ZN2tl8expectedINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN11struct_pack4errcEEC2EOS9_.exit if.else.i.i.i.i659: ; preds = %_ZN11struct_pack9get_fieldI6personLm1ELm0ETkNS_6detail16deserialize_viewESt6vectorIcSaIcEEEEDaRKT2_.exit.thread, %_ZN11struct_pack9get_fieldI6personLm1ELm0ETkNS_6detail16deserialize_viewESt6vectorIcSaIcEEEEDaRKT2_.exit - %m_has_val.i.i.i.i.i.i.i6561294 = phi ptr [ %m_has_val.i.i.i.i.i.i.i6561291, %_ZN11struct_pack9get_fieldI6personLm1ELm0ETkNS_6detail16deserialize_viewESt6vectorIcSaIcEEEEDaRKT2_.exit.thread ], [ %m_has_val.i.i.i.i.i.i.i656, %_ZN11struct_pack9get_fieldI6personLm1ELm0ETkNS_6detail16deserialize_viewESt6vectorIcSaIcEEEEDaRKT2_.exit ] + %m_has_val.i.i.i.i.i.i.i6561298 = phi ptr [ %m_has_val.i.i.i.i.i.i.i6561295, %_ZN11struct_pack9get_fieldI6personLm1ELm0ETkNS_6detail16deserialize_viewESt6vectorIcSaIcEEEEDaRKT2_.exit.thread ], [ %m_has_val.i.i.i.i.i.i.i656, %_ZN11struct_pack9get_fieldI6personLm1ELm0ETkNS_6detail16deserialize_viewESt6vectorIcSaIcEEEEDaRKT2_.exit ] %126 = phi i8 [ 0, %_ZN11struct_pack9get_fieldI6personLm1ELm0ETkNS_6detail16deserialize_viewESt6vectorIcSaIcEEEEDaRKT2_.exit.thread ], [ %.pre1208, %_ZN11struct_pack9get_fieldI6personLm1ELm0ETkNS_6detail16deserialize_viewESt6vectorIcSaIcEEEEDaRKT2_.exit ] %127 = load i32, ptr %ret.i261, align 8 store i32 %127, ptr %name55, align 8 br label %_ZN2tl8expectedINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN11struct_pack4errcEEC2EOS9_.exit _ZN2tl8expectedINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN11struct_pack4errcEEC2EOS9_.exit: ; preds = %_ZN2tl6detail24expected_operations_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN11struct_pack4errcEE14construct_withINS0_18expected_move_baseIS7_S9_Lb0EEEEEvOT_.exit.i.i.i.i, %if.else.i.i.i.i659 - %m_has_val.i.i.i.i.i.i.i6561293 = phi ptr [ %m_has_val.i.i.i.i.i.i.i6561294, %if.else.i.i.i.i659 ], [ %m_has_val.i.i.i.i.i.i.i656, %_ZN2tl6detail24expected_operations_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN11struct_pack4errcEE14construct_withINS0_18expected_move_baseIS7_S9_Lb0EEEEEvOT_.exit.i.i.i.i ] + %m_has_val.i.i.i.i.i.i.i6561297 = phi ptr [ %m_has_val.i.i.i.i.i.i.i6561298, %if.else.i.i.i.i659 ], [ %m_has_val.i.i.i.i.i.i.i656, %_ZN2tl6detail24expected_operations_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN11struct_pack4errcEE14construct_withINS0_18expected_move_baseIS7_S9_Lb0EEEEEvOT_.exit.i.i.i.i ] %128 = phi i8 [ %126, %if.else.i.i.i.i659 ], [ %.pre1210, %_ZN2tl6detail24expected_operations_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN11struct_pack4errcEE14construct_withINS0_18expected_move_baseIS7_S9_Lb0EEEEEvOT_.exit.i.i.i.i ] %storemerge.i.i.i.i660 = phi i8 [ 0, %if.else.i.i.i.i659 ], [ 1, %_ZN2tl6detail24expected_operations_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN11struct_pack4errcEE14construct_withINS0_18expected_move_baseIS7_S9_Lb0EEEEEvOT_.exit.i.i.i.i ] - store i8 %storemerge.i.i.i.i660, ptr %m_has_val.i.i.i.i.i.i.i6561293, align 8 + store i8 %storemerge.i.i.i.i660, ptr %m_has_val.i.i.i.i.i.i.i6561297, align 8 %tobool.i.i.i.i.i.i.i663 = trunc i8 %128 to i1 br i1 %tobool.i.i.i.i.i.i.i663, label %if.then.i.i.i.i.i.i.i664, label %_ZN2tl8expectedINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN11struct_pack4errcEED2Ev.exit @@ -1672,7 +1672,7 @@ if.then.i.i.i.i.i.i.i.i.i: ; preds = %if.then.i.i.i.i.i.i _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit.i.i.i.i.i.i.i: ; preds = %if.then.i.i.i.i.i.i.i.i.i, %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i.i.i.i.i.i.i.i call void @_ZNSaIcED2Ev(ptr noundef nonnull align 8 dereferenceable(33) %ret.i261) #22 - %.pre1211 = load i8, ptr %m_has_val.i.i.i.i.i.i.i6561293, align 8 + %.pre1211 = load i8, ptr %m_has_val.i.i.i.i.i.i.i6561297, align 8 br label %_ZN2tl8expectedINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN11struct_pack4errcEED2Ev.exit _ZN2tl8expectedINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN11struct_pack4errcEED2Ev.exit: ; preds = %_ZN2tl8expectedINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN11struct_pack4errcEEC2EOS9_.exit, %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit.i.i.i.i.i.i.i @@ -1717,11 +1717,11 @@ if.then.i841: ; preds = %.noexc845 if.else.i813: ; preds = %.noexc845 %cmp5.i815 = icmp ult i64 %135, 65536 %cmp14.i818 = icmp ult i64 %135, 4294967296 - %.1340 = select i1 %cmp14.i818, i64 8, i64 12 - %.1341 = select i1 %cmp14.i818, i8 16, i8 24 - %.sink1321 = select i1 %cmp5.i815, i64 6, i64 %.1340 - %retval.i802.sroa.10.1 = select i1 %cmp5.i815, i8 8, i8 %.1341 - %add19.i832 = add i64 %135, %.sink1321 + %.1344 = select i1 %cmp14.i818, i64 8, i64 12 + %.1345 = select i1 %cmp14.i818, i8 16, i8 24 + %.sink1325 = select i1 %cmp5.i815, i64 6, i64 %.1344 + %retval.i802.sroa.10.1 = select i1 %cmp5.i815, i8 8, i8 %.1345 + %add19.i832 = add i64 %135, %.sink1325 %add33.i827 = add i64 %add19.i832, 1 br label %_ZN11struct_pack6detail26get_serialize_runtime_infoILm0EJiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEENS_21serialize_buffer_sizeEDpRKT0_.exit846 @@ -1882,8 +1882,8 @@ _ZN11struct_pack11deserializeIJiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaI call void @_ZNSaIcED2Ev(ptr noundef nonnull align 8 dereferenceable(41) %ret.i283) #22 store i32 %call3.i513514, ptr %ret.i283, align 8 store i8 0, ptr %m_has_val.i.i.i.i.i.i.i745, align 8 - %m_has_val.i.i.i.i.i.i.i7651295 = getelementptr inbounds nuw i8, ptr %result61, i64 40 - store i8 0, ptr %m_has_val.i.i.i.i.i.i.i7651295, align 8 + %m_has_val.i.i.i.i.i.i.i7651299 = getelementptr inbounds nuw i8, ptr %result61, i64 40 + store i8 0, ptr %m_has_val.i.i.i.i.i.i.i7651299, align 8 br label %if.else.i.i.i.i768 lpad.i289.body: ; preds = %invoke.cont.i294 @@ -1935,17 +1935,17 @@ _ZN2tl6detail24expected_operations_baseISt5tupleIJiNSt7__cxx1112basic_stringIcSt br label %_ZN2tl8expectedISt5tupleIJiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEN11struct_pack4errcEEC2EOSB_.exit if.else.i.i.i.i768: ; preds = %_ZN11struct_pack11deserializeIJiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEETkNS_6detail16deserialize_viewESt6vectorIcS5_EEEDaRKT0_.exit.thread, %_ZN11struct_pack11deserializeIJiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEETkNS_6detail16deserialize_viewESt6vectorIcS5_EEEDaRKT0_.exit - %m_has_val.i.i.i.i.i.i.i7651298 = phi ptr [ %m_has_val.i.i.i.i.i.i.i7651295, %_ZN11struct_pack11deserializeIJiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEETkNS_6detail16deserialize_viewESt6vectorIcS5_EEEDaRKT0_.exit.thread ], [ %m_has_val.i.i.i.i.i.i.i765, %_ZN11struct_pack11deserializeIJiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEETkNS_6detail16deserialize_viewESt6vectorIcS5_EEEDaRKT0_.exit ] + %m_has_val.i.i.i.i.i.i.i7651302 = phi ptr [ %m_has_val.i.i.i.i.i.i.i7651299, %_ZN11struct_pack11deserializeIJiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEETkNS_6detail16deserialize_viewESt6vectorIcS5_EEEDaRKT0_.exit.thread ], [ %m_has_val.i.i.i.i.i.i.i765, %_ZN11struct_pack11deserializeIJiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEETkNS_6detail16deserialize_viewESt6vectorIcS5_EEEDaRKT0_.exit ] %158 = phi i8 [ 0, %_ZN11struct_pack11deserializeIJiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEETkNS_6detail16deserialize_viewESt6vectorIcS5_EEEDaRKT0_.exit.thread ], [ %.pre1212, %_ZN11struct_pack11deserializeIJiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEETkNS_6detail16deserialize_viewESt6vectorIcS5_EEEDaRKT0_.exit ] %159 = load i32, ptr %ret.i283, align 8 store i32 %159, ptr %result61, align 8 br label %_ZN2tl8expectedISt5tupleIJiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEN11struct_pack4errcEEC2EOSB_.exit _ZN2tl8expectedISt5tupleIJiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEN11struct_pack4errcEEC2EOSB_.exit: ; preds = %_ZN2tl6detail24expected_operations_baseISt5tupleIJiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEN11struct_pack4errcEE14construct_withINS0_18expected_move_baseIS9_SB_Lb0EEEEEvOT_.exit.i.i.i.i, %if.else.i.i.i.i768 - %m_has_val.i.i.i.i.i.i.i7651297 = phi ptr [ %m_has_val.i.i.i.i.i.i.i7651298, %if.else.i.i.i.i768 ], [ %m_has_val.i.i.i.i.i.i.i765, %_ZN2tl6detail24expected_operations_baseISt5tupleIJiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEN11struct_pack4errcEE14construct_withINS0_18expected_move_baseIS9_SB_Lb0EEEEEvOT_.exit.i.i.i.i ] + %m_has_val.i.i.i.i.i.i.i7651301 = phi ptr [ %m_has_val.i.i.i.i.i.i.i7651302, %if.else.i.i.i.i768 ], [ %m_has_val.i.i.i.i.i.i.i765, %_ZN2tl6detail24expected_operations_baseISt5tupleIJiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEN11struct_pack4errcEE14construct_withINS0_18expected_move_baseIS9_SB_Lb0EEEEEvOT_.exit.i.i.i.i ] %160 = phi i8 [ %158, %if.else.i.i.i.i768 ], [ %.pre1214, %_ZN2tl6detail24expected_operations_baseISt5tupleIJiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEN11struct_pack4errcEE14construct_withINS0_18expected_move_baseIS9_SB_Lb0EEEEEvOT_.exit.i.i.i.i ] %storemerge.i.i.i.i769 = phi i8 [ 0, %if.else.i.i.i.i768 ], [ 1, %_ZN2tl6detail24expected_operations_baseISt5tupleIJiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEN11struct_pack4errcEE14construct_withINS0_18expected_move_baseIS9_SB_Lb0EEEEEvOT_.exit.i.i.i.i ] - store i8 %storemerge.i.i.i.i769, ptr %m_has_val.i.i.i.i.i.i.i7651297, align 8 + store i8 %storemerge.i.i.i.i769, ptr %m_has_val.i.i.i.i.i.i.i7651301, align 8 %tobool.i.i.i.i.i.i.i776 = trunc i8 %160 to i1 br i1 %tobool.i.i.i.i.i.i.i776, label %if.then.i.i.i.i.i.i.i777, label %_ZN2tl8expectedISt5tupleIJiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEN11struct_pack4errcEED2Ev.exit @@ -1966,7 +1966,7 @@ if.then.i.i.i.i.i.i.i.i.i.i.i.i.i: ; preds = %if.then.i.i.i.i.i.i _ZNSt5tupleIJiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i.i.i.i.i.i.i: ; preds = %if.then.i.i.i.i.i.i.i.i.i.i.i.i.i, %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i.i.i.i.i.i.i.i.i.i.i.i call void @_ZNSaIcED2Ev(ptr noundef nonnull align 8 dereferenceable(41) %ret.i283) #22 - %.pre1215 = load i8, ptr %m_has_val.i.i.i.i.i.i.i7651297, align 8 + %.pre1215 = load i8, ptr %m_has_val.i.i.i.i.i.i.i7651301, align 8 br label %_ZN2tl8expectedISt5tupleIJiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEN11struct_pack4errcEED2Ev.exit _ZN2tl8expectedISt5tupleIJiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEN11struct_pack4errcEED2Ev.exit: ; preds = %_ZN2tl8expectedISt5tupleIJiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEN11struct_pack4errcEEC2EOSB_.exit, %_ZNSt5tupleIJiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i.i.i.i.i.i.i @@ -2048,11 +2048,11 @@ if.then.i793: ; preds = %.noexc797 if.else.i786: ; preds = %.noexc797 %cmp5.i = icmp ult i64 %172, 65536 %cmp14.i = icmp ult i64 %172, 4294967296 - %.1342 = select i1 %cmp14.i, i64 8, i64 12 - %.1343 = select i1 %cmp14.i, i8 16, i8 24 - %.sink1323 = select i1 %cmp5.i, i64 6, i64 %.1342 - %retval.i775.sroa.10.1 = select i1 %cmp5.i, i8 8, i8 %.1343 - %add19.i789 = add i64 %172, %.sink1323 + %.1346 = select i1 %cmp14.i, i64 8, i64 12 + %.1347 = select i1 %cmp14.i, i8 16, i8 24 + %.sink1327 = select i1 %cmp5.i, i64 6, i64 %.1346 + %retval.i775.sroa.10.1 = select i1 %cmp5.i, i8 8, i8 %.1347 + %add19.i789 = add i64 %172, %.sink1327 %add33.i = add i64 %add19.i789, 1 br label %_ZN11struct_pack6detail26get_serialize_runtime_infoILm0EJiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEENS_21serialize_buffer_sizeEDpRKT0_.exit @@ -2265,8 +2265,8 @@ _ZN11struct_pack11deserializeIJ6personETkNS_8reader_tE12fread_streamEEDaRT0_.exi call void @_ZNSaIcED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %name.i.i.i.i.i.i.i895) #22 store i32 %ret.i518.01204, ptr %ret.i316, align 8 store i8 0, ptr %m_has_val.i.i.i.i.i.i.i897, align 8 - %m_has_val.i.i.i.i.i.i.i9251299 = getelementptr inbounds nuw i8, ptr %p4, i64 40 - store i8 0, ptr %m_has_val.i.i.i.i.i.i.i9251299, align 8 + %m_has_val.i.i.i.i.i.i.i9251303 = getelementptr inbounds nuw i8, ptr %p4, i64 40 + store i8 0, ptr %m_has_val.i.i.i.i.i.i.i9251303, align 8 br label %if.else.i.i.i.i928 lpad.i322.body: ; preds = %call.i519.noexc @@ -2321,17 +2321,17 @@ _ZN2tl6detail24expected_operations_baseI6personN11struct_pack4errcEE14construct_ br label %_ZN2tl8expectedI6personN11struct_pack4errcEEC2EOS4_.exit942 if.else.i.i.i.i928: ; preds = %_ZN11struct_pack11deserializeIJ6personETkNS_8reader_tE12fread_streamEEDaRT0_.exit.thread, %_ZN11struct_pack11deserializeIJ6personETkNS_8reader_tE12fread_streamEEDaRT0_.exit - %m_has_val.i.i.i.i.i.i.i9251302 = phi ptr [ %m_has_val.i.i.i.i.i.i.i9251299, %_ZN11struct_pack11deserializeIJ6personETkNS_8reader_tE12fread_streamEEDaRT0_.exit.thread ], [ %m_has_val.i.i.i.i.i.i.i925, %_ZN11struct_pack11deserializeIJ6personETkNS_8reader_tE12fread_streamEEDaRT0_.exit ] + %m_has_val.i.i.i.i.i.i.i9251306 = phi ptr [ %m_has_val.i.i.i.i.i.i.i9251303, %_ZN11struct_pack11deserializeIJ6personETkNS_8reader_tE12fread_streamEEDaRT0_.exit.thread ], [ %m_has_val.i.i.i.i.i.i.i925, %_ZN11struct_pack11deserializeIJ6personETkNS_8reader_tE12fread_streamEEDaRT0_.exit ] %201 = phi i8 [ 0, %_ZN11struct_pack11deserializeIJ6personETkNS_8reader_tE12fread_streamEEDaRT0_.exit.thread ], [ %194, %_ZN11struct_pack11deserializeIJ6personETkNS_8reader_tE12fread_streamEEDaRT0_.exit ] %202 = load i32, ptr %ret.i316, align 8 store i32 %202, ptr %p4, align 8 br label %_ZN2tl8expectedI6personN11struct_pack4errcEEC2EOS4_.exit942 _ZN2tl8expectedI6personN11struct_pack4errcEEC2EOS4_.exit942: ; preds = %_ZN2tl6detail24expected_operations_baseI6personN11struct_pack4errcEE14construct_withINS0_18expected_move_baseIS2_S4_Lb0EEEEEvOT_.exit.i.i.i.i935, %if.else.i.i.i.i928 - %m_has_val.i.i.i.i.i.i.i9251301 = phi ptr [ %m_has_val.i.i.i.i.i.i.i9251302, %if.else.i.i.i.i928 ], [ %m_has_val.i.i.i.i.i.i.i925, %_ZN2tl6detail24expected_operations_baseI6personN11struct_pack4errcEE14construct_withINS0_18expected_move_baseIS2_S4_Lb0EEEEEvOT_.exit.i.i.i.i935 ] + %m_has_val.i.i.i.i.i.i.i9251305 = phi ptr [ %m_has_val.i.i.i.i.i.i.i9251306, %if.else.i.i.i.i928 ], [ %m_has_val.i.i.i.i.i.i.i925, %_ZN2tl6detail24expected_operations_baseI6personN11struct_pack4errcEE14construct_withINS0_18expected_move_baseIS2_S4_Lb0EEEEEvOT_.exit.i.i.i.i935 ] %203 = phi i8 [ %201, %if.else.i.i.i.i928 ], [ %.pre1218, %_ZN2tl6detail24expected_operations_baseI6personN11struct_pack4errcEE14construct_withINS0_18expected_move_baseIS2_S4_Lb0EEEEEvOT_.exit.i.i.i.i935 ] %storemerge.i.i.i.i929 = phi i8 [ 0, %if.else.i.i.i.i928 ], [ 1, %_ZN2tl6detail24expected_operations_baseI6personN11struct_pack4errcEE14construct_withINS0_18expected_move_baseIS2_S4_Lb0EEEEEvOT_.exit.i.i.i.i935 ] - store i8 %storemerge.i.i.i.i929, ptr %m_has_val.i.i.i.i.i.i.i9251301, align 8 + store i8 %storemerge.i.i.i.i929, ptr %m_has_val.i.i.i.i.i.i.i9251305, align 8 %tobool.i.i.i.i.i.i.i944 = trunc i8 %203 to i1 br i1 %tobool.i.i.i.i.i.i.i944, label %if.then.i.i.i.i.i.i.i945, label %_ZN2tl8expectedI6personN11struct_pack4errcEED2Ev.exit953 @@ -2352,7 +2352,7 @@ if.then.i.i.i.i.i.i.i.i.i.i948: ; preds = %if.then.i.i.i.i.i.i _ZN6personD2Ev.exit.i.i.i.i.i.i.i949: ; preds = %if.then.i.i.i.i.i.i.i.i.i.i948, %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i.i.i.i.i.i.i.i.i950 call void @_ZNSaIcED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %name.i.i.i.i.i.i.i895) #22 - %.pre1219 = load i8, ptr %m_has_val.i.i.i.i.i.i.i9251301, align 8 + %.pre1219 = load i8, ptr %m_has_val.i.i.i.i.i.i.i9251305, align 8 br label %_ZN2tl8expectedI6personN11struct_pack4errcEED2Ev.exit953 _ZN2tl8expectedI6personN11struct_pack4errcEED2Ev.exit953: ; preds = %_ZN2tl8expectedI6personN11struct_pack4errcEEC2EOS4_.exit942, %_ZN6personD2Ev.exit.i.i.i.i.i.i.i949 diff --git a/bench/yara-x-rs/optimized/cco05ky1qb53ayhfyotquzvcb.ll b/bench/yara-x-rs/optimized/cco05ky1qb53ayhfyotquzvcb.ll index 1d422b0a983..904506303b8 100644 --- a/bench/yara-x-rs/optimized/cco05ky1qb53ayhfyotquzvcb.ll +++ b/bench/yara-x-rs/optimized/cco05ky1qb53ayhfyotquzvcb.ll @@ -481,15 +481,15 @@ thread-pre-split.i: ; preds = %4 br i1 %.not73101.i, label %.loopexit.i, label %.lr.ph105.i .lr.ph105.i: ; preds = %.preheader.i, %79 - %.sroa.01.1.ph142.i = phi ptr [ %14, %.preheader.i ], [ %1, %79 ] - %.sroa.23.1.ph141.i = phi i64 [ %15, %.preheader.i ], [ %2, %79 ] + %.sroa.01.1.ph146.i = phi ptr [ %14, %.preheader.i ], [ %1, %79 ] + %.sroa.23.1.ph145.i = phi i64 [ %15, %.preheader.i ], [ %2, %79 ] %83 = icmp samesign ugt i32 %3, 10 %84 = zext nneg i32 %3 to i64 br i1 %83, label %.lr.ph105.split.i, label %.lr.ph105.split.us.i .lr.ph105.split.us.i: ; preds = %.lr.ph105.i, %89 - %.sroa.01.1104.us.i = phi ptr [ %92, %89 ], [ %.sroa.01.1.ph142.i, %.lr.ph105.i ] - %.sroa.23.1103.us.i = phi i64 [ %91, %89 ], [ %.sroa.23.1.ph141.i, %.lr.ph105.i ] + %.sroa.01.1104.us.i = phi ptr [ %92, %89 ], [ %.sroa.01.1.ph146.i, %.lr.ph105.i ] + %.sroa.23.1103.us.i = phi i64 [ %91, %89 ], [ %.sroa.23.1.ph145.i, %.lr.ph105.i ] %.sroa.023.2102.us.i = phi i64 [ %94, %89 ], [ 0, %.lr.ph105.i ] %85 = load i8, ptr %.sroa.01.1104.us.i, align 1, !alias.scope !6, !noalias !3, !noundef !8 %86 = zext i8 %85 to i32 @@ -550,8 +550,8 @@ thread-pre-split.i: ; preds = %4 br label %"_ZN4core3num21_$LT$impl$u20$i64$GT$16from_ascii_radix17hb6ce5d501fddc3f3E.exit" .lr.ph105.split.i: ; preds = %.lr.ph105.i, %129 - %.sroa.01.1104.i = phi ptr [ %132, %129 ], [ %.sroa.01.1.ph142.i, %.lr.ph105.i ] - %.sroa.23.1103.i = phi i64 [ %131, %129 ], [ %.sroa.23.1.ph141.i, %.lr.ph105.i ] + %.sroa.01.1104.i = phi ptr [ %132, %129 ], [ %.sroa.01.1.ph146.i, %.lr.ph105.i ] + %.sroa.23.1103.i = phi i64 [ %131, %129 ], [ %.sroa.23.1.ph145.i, %.lr.ph105.i ] %.sroa.023.2102.i = phi i64 [ %134, %129 ], [ 0, %.lr.ph105.i ] %121 = load i8, ptr %.sroa.01.1104.i, align 1, !alias.scope !6, !noalias !3, !noundef !8 %122 = zext i8 %121 to i32 @@ -17776,7 +17776,7 @@ define internal fastcc void @"_ZN13yara_x_parser3ast7cst2ast16Builder$LT$I$GT$11 %.sroa.14.0.us.i.i = phi i64 [ %68, %77 ], [ %.sroa.14.0.us.i.i.ph, %.preheader46.split.us.i.i.preheader ] %.sroa.02.0.us.i.i = phi ptr [ %67, %77 ], [ %.sroa.02.0.us.i.i.ph, %.preheader46.split.us.i.i.preheader ] %.not.us.not.i.not.i.not = icmp eq i64 %.sroa.14.0.us.i.i, 0 - br i1 %.not.us.not.i.not.i.not, label %.loopexit218, label %66 + br i1 %.not.us.not.i.not.i.not, label %.loopexit222, label %66 66: ; preds = %.preheader46.split.us.i.i %67 = getelementptr inbounds nuw i8, ptr %.sroa.02.0.us.i.i, i64 1 @@ -17826,7 +17826,7 @@ define internal fastcc void @"_ZN13yara_x_parser3ast7cst2ast16Builder$LT$I$GT$11 %91 = trunc nuw nsw i32 %86 to i8 %92 = add i8 %88, %91 %.not42.us.i.i = icmp eq i64 %89, 0 - br i1 %.not42.us.i.i, label %.loopexit218, label %.lr.ph.split.us.i.i + br i1 %.not42.us.i.i, label %.loopexit222, label %.lr.ph.split.us.i.i 93: ; preds = %55 %94 = invoke noundef zeroext i1 @"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$11starts_with17h2f2881eb55ee885eE"(ptr noalias noundef nonnull readonly align 1 %56, i64 noundef %57, ptr noalias noundef nonnull readonly align 1 @anon.46ef8a33bb9054b8922de637285ededd.163, i64 noundef 2) @@ -17873,7 +17873,7 @@ define internal fastcc void @"_ZN13yara_x_parser3ast7cst2ast16Builder$LT$I$GT$11 %109 = trunc nuw nsw i32 %113 to i8 %110 = or disjoint i8 %108, %109 %.not.us.not.i.not.i107 = icmp eq i64 %107, 0 - br i1 %.not.us.not.i.not.i107, label %.loopexit218, label %.lr.ph + br i1 %.not.us.not.i.not.i107, label %.loopexit222, label %.lr.ph .lr.ph: ; preds = %.lr.ph.preheader, %.preheader46.split.us.i.i103 %.sroa.02.0.us.i.i106170 = phi ptr [ %106, %.preheader46.split.us.i.i103 ], [ %.sroa.02.0.us.i.i106170.ph, %.lr.ph.preheader ] @@ -17913,7 +17913,7 @@ define internal fastcc void @"_ZN13yara_x_parser3ast7cst2ast16Builder$LT$I$GT$11 %125 = trunc nuw nsw i32 %120 to i8 %126 = or disjoint i8 %122, %125 %.not42.us.i.i97 = icmp eq i64 %123, 0 - br i1 %.not42.us.i.i97, label %.loopexit218, label %.lr.ph.split.us.i.i92 + br i1 %.not42.us.i.i97, label %.loopexit222, label %.lr.ph.split.us.i.i92 127: ; preds = %51 %128 = add i64 %53, -2 @@ -17956,7 +17956,7 @@ define internal fastcc void @"_ZN13yara_x_parser3ast7cst2ast16Builder$LT$I$GT$11 %141 = trunc nuw nsw i32 %spec.select.i.i to i8 %142 = or disjoint i8 %140, %141 %.not.not.i.not.i = icmp eq i64 %139, 0 - br i1 %.not.not.i.not.i, label %.loopexit218, label %.lr.ph181 + br i1 %.not.not.i.not.i, label %.loopexit222, label %.lr.ph181 143: ; preds = %133 %144 = icmp ult i64 %128, 3 @@ -17981,8 +17981,8 @@ define internal fastcc void @"_ZN13yara_x_parser3ast7cst2ast16Builder$LT$I$GT$11 %spec.select.i.i = select i1 %147, i32 %150, i32 %151 %152 = icmp ugt i32 %spec.select.i.i, 15 %153 = icmp ugt i8 %.sroa.014.0.i.i178, 15 - %or.cond234 = select i1 %152, i1 true, i1 %153 - br i1 %or.cond234, label %.loopexit, label %.preheader46.split.i.i + %or.cond238 = select i1 %152, i1 true, i1 %153 + br i1 %or.cond238, label %.loopexit, label %.preheader46.split.i.i .lr.ph.split.i.i: ; preds = %.lr.ph.split.i.i.preheader, %161 %.sroa.02.154.i.i = phi ptr [ %164, %161 ], [ %.sroa.02.154.i.i.ph, %.lr.ph.split.i.i.preheader ] @@ -17996,8 +17996,8 @@ define internal fastcc void @"_ZN13yara_x_parser3ast7cst2ast16Builder$LT$I$GT$11 %159 = add nuw nsw i32 %158, 10 %160 = add nsw i32 %155, -48 %spec.select65.i.i = select i1 %156, i32 %159, i32 %160 - %.not102.i.not.i = icmp ugt i32 %spec.select65.i.i, 15 - br i1 %.not102.i.not.i, label %.loopexit, label %161 + %.not107.i.not.i = icmp ugt i32 %spec.select65.i.i, 15 + br i1 %.not107.i.not.i, label %.loopexit, label %161 161: ; preds = %.lr.ph.split.i.i %162 = shl i8 %.sroa.014.252.i.i, 4 @@ -18006,7 +18006,7 @@ define internal fastcc void @"_ZN13yara_x_parser3ast7cst2ast16Builder$LT$I$GT$11 %165 = trunc nuw nsw i32 %spec.select65.i.i to i8 %166 = or disjoint i8 %162, %165 %.not42.i.i = icmp eq i64 %163, 0 - br i1 %.not42.i.i, label %.loopexit218, label %.lr.ph.split.i.i + br i1 %.not42.i.i, label %.loopexit222, label %.lr.ph.split.i.i .invoke: ; preds = %127, %95 %167 = phi ptr [ @anon.46ef8a33bb9054b8922de637285ededd.164, %95 ], [ @anon.46ef8a33bb9054b8922de637285ededd.165, %127 ] @@ -18095,13 +18095,13 @@ define internal fastcc void @"_ZN13yara_x_parser3ast7cst2ast16Builder$LT$I$GT$11 cleanup br label %.body -.loopexit218: ; preds = %.preheader46.split.us.i.i, %87, %.preheader46.split.us.i.i103, %121, %.preheader46.split.i.i, %161 +.loopexit222: ; preds = %.preheader46.split.us.i.i, %87, %.preheader46.split.us.i.i103, %121, %.preheader46.split.i.i, %161 %.sroa.8.0.i.i.pn = phi i8 [ %166, %161 ], [ %142, %.preheader46.split.i.i ], [ %126, %121 ], [ %110, %.preheader46.split.us.i.i103 ], [ %92, %87 ], [ %.sroa.014.0.us.i.i, %.preheader46.split.us.i.i ] %188 = getelementptr inbounds nuw i8, ptr %1, i64 456 %or.cond.i.i = and i1 %.not, %.not69 br i1 %or.cond.i.i, label %208, label %189 -189: ; preds = %.loopexit218 +189: ; preds = %.loopexit222 call void @llvm.lifetime.start.p0(ptr nonnull %12) %.val = load i32, ptr %16, align 4 %.val75 = load i32, ptr %28, align 4 @@ -18174,7 +18174,7 @@ define internal fastcc void @"_ZN13yara_x_parser3ast7cst2ast16Builder$LT$I$GT$11 call void @llvm.lifetime.end.p0(ptr nonnull %12) br label %210 -208: ; preds = %.loopexit218 +208: ; preds = %.loopexit222 store ptr %.sroa.052.0, ptr %0, align 8 %.sroa.447.0..sroa_idx = getelementptr inbounds nuw i8, ptr %0, i64 8 store i64 %.sroa.857.0, ptr %.sroa.447.0..sroa_idx, align 8 @@ -20095,8 +20095,8 @@ _ZN4bstr7ext_vec7ByteVec9push_char17h357ecda7116013e4E.exit: ; preds = %_ZN4bstr %457 = add nuw nsw i32 %456, 10 %458 = add nsw i32 %453, -48 %spec.select65.i = select i1 %454, i32 %457, i32 %458 - %.not102.i = icmp ult i32 %spec.select65.i, 16 - br i1 %.not102.i, label %459, label %.loopexit + %.not107.i = icmp ult i32 %spec.select65.i, 16 + br i1 %.not107.i, label %459, label %.loopexit 459: ; preds = %.lr.ph.split.i %460 = shl i8 %.sroa.014.252.i, 4 diff --git a/bench/zlib/optimized/deflate.ll b/bench/zlib/optimized/deflate.ll index f3657f1283a..86efe0eef1e 100644 --- a/bench/zlib/optimized/deflate.ll +++ b/bench/zlib/optimized/deflate.ll @@ -3332,11 +3332,11 @@ define internal range(i32 0, 4) i32 @deflate_stored(ptr noundef %0, i32 noundef 44: ; preds = %30 %45 = icmp ne i32 %.1224, 0 - %or.cond.not281 = or i1 %17, %45 + %or.cond.not283 = or i1 %17, %45 %.not = icmp eq i32 %.1224, %42 - %46 = and i1 %or.cond.not281, %.not - %or.cond276 = and i1 %46, %18 - br i1 %or.cond276, label %47, label %split + %46 = and i1 %or.cond.not283, %.not + %or.cond278 = and i1 %46, %18 + br i1 %or.cond278, label %47, label %split 47: ; preds = %44, %30 %48 = icmp eq i32 %.1224, %42 @@ -3416,18 +3416,18 @@ define internal range(i32 0, 4) i32 @deflate_stored(ptr noundef %0, i32 noundef br label %flush_pending.exit flush_pending.exit: ; preds = %47, %82, %100 - %.not256 = icmp eq i32 %32, %34 - br i1 %.not256, label %124, label %103 + %.not258 = icmp eq i32 %32, %34 + br i1 %.not258, label %124, label %103 103: ; preds = %flush_pending.exit - %spec.select267 = tail call i32 @llvm.umin.i32(i32 %35, i32 %.1224) + %spec.select269 = tail call i32 @llvm.umin.i32(i32 %35, i32 %.1224) %104 = load ptr, ptr %0, align 8, !tbaa !17 %105 = getelementptr inbounds nuw i8, ptr %104, i64 24 %106 = load ptr, ptr %105, align 8, !tbaa !91 %107 = load ptr, ptr %21, align 8, !tbaa !36 %108 = load i64, ptr %16, align 8, !tbaa !61 %109 = getelementptr inbounds i8, ptr %107, i64 %108 - %110 = zext i32 %spec.select267 to i64 + %110 = zext i32 %spec.select269 to i64 tail call void @llvm.memcpy.p0.p0.i64(ptr align 1 %106, ptr align 1 %109, i64 %110, i1 false) %111 = load ptr, ptr %0, align 8, !tbaa !17 %112 = getelementptr inbounds nuw i8, ptr %111, i64 24 @@ -3436,7 +3436,7 @@ flush_pending.exit: ; preds = %47, %82, %100 store ptr %114, ptr %112, align 8, !tbaa !91 %115 = getelementptr inbounds nuw i8, ptr %111, i64 32 %116 = load i32, ptr %115, align 8, !tbaa !92 - %117 = sub i32 %116, %spec.select267 + %117 = sub i32 %116, %spec.select269 store i32 %117, ptr %115, align 8, !tbaa !92 %118 = getelementptr inbounds nuw i8, ptr %111, i64 40 %119 = load i64, ptr %118, align 8, !tbaa !93 @@ -3445,13 +3445,13 @@ flush_pending.exit: ; preds = %47, %82, %100 %121 = load i64, ptr %16, align 8, !tbaa !61 %122 = add nsw i64 %121, %110 store i64 %122, ptr %16, align 8, !tbaa !61 - %123 = sub i32 %.1224, %spec.select267 + %123 = sub i32 %.1224, %spec.select269 br label %124 124: ; preds = %103, %flush_pending.exit %.2 = phi i32 [ %123, %103 ], [ %.1224, %flush_pending.exit ] - %.not257 = icmp eq i32 %.2, 0 - br i1 %.not257, label %165, label %125 + %.not259 = icmp eq i32 %.2, 0 + br i1 %.not259, label %165, label %125 125: ; preds = %124 %126 = load ptr, ptr %0, align 8, !tbaa !17 @@ -3459,15 +3459,15 @@ flush_pending.exit: ; preds = %47, %82, %100 %128 = load ptr, ptr %127, align 8, !tbaa !91 %129 = getelementptr inbounds nuw i8, ptr %126, i64 8 %130 = load i32, ptr %129, align 8, !tbaa !69 - %spec.select.i271 = tail call i32 @llvm.umin.i32(i32 %130, i32 %.2) + %spec.select.i273 = tail call i32 @llvm.umin.i32(i32 %130, i32 %.2) %131 = icmp eq i32 %130, 0 br i1 %131, label %read_buf.exit, label %132 132: ; preds = %125 - %133 = sub i32 %130, %spec.select.i271 + %133 = sub i32 %130, %spec.select.i273 store i32 %133, ptr %129, align 8, !tbaa !69 %134 = load ptr, ptr %126, align 8, !tbaa !70 - %135 = zext i32 %spec.select.i271 to i64 + %135 = zext i32 %spec.select.i273 to i64 tail call void @llvm.memcpy.p0.p0.i64(ptr align 1 %128, ptr align 1 %134, i64 %135, i1 false) %136 = getelementptr inbounds nuw i8, ptr %126, i64 56 %137 = load ptr, ptr %136, align 8, !tbaa !16 @@ -3481,14 +3481,14 @@ flush_pending.exit: ; preds = %47, %82, %100 140: ; preds = %132 %141 = getelementptr inbounds nuw i8, ptr %126, i64 96 %142 = load i64, ptr %141, align 8, !tbaa !68 - %143 = tail call i64 @adler32(i64 noundef %142, ptr noundef %128, i32 noundef %spec.select.i271) #11 + %143 = tail call i64 @adler32(i64 noundef %142, ptr noundef %128, i32 noundef %spec.select.i273) #11 store i64 %143, ptr %141, align 8, !tbaa !68 br label %148 144: ; preds = %132 %145 = getelementptr inbounds nuw i8, ptr %126, i64 96 %146 = load i64, ptr %145, align 8, !tbaa !68 - %147 = tail call i64 @crc32(i64 noundef %146, ptr noundef %128, i32 noundef %spec.select.i271) #11 + %147 = tail call i64 @crc32(i64 noundef %146, ptr noundef %128, i32 noundef %spec.select.i273) #11 store i64 %147, ptr %145, align 8, !tbaa !68 br label %148 @@ -3502,11 +3502,11 @@ flush_pending.exit: ; preds = %47, %82, %100 store i64 %153, ptr %151, align 8, !tbaa !77 %.pre = load ptr, ptr %0, align 8, !tbaa !17 %.phi.trans.insert = getelementptr inbounds nuw i8, ptr %.pre, i64 24 - %.pre284 = load ptr, ptr %.phi.trans.insert, align 8, !tbaa !91 + %.pre286 = load ptr, ptr %.phi.trans.insert, align 8, !tbaa !91 br label %read_buf.exit read_buf.exit: ; preds = %125, %148 - %154 = phi ptr [ %128, %125 ], [ %.pre284, %148 ] + %154 = phi ptr [ %128, %125 ], [ %.pre286, %148 ] %155 = phi ptr [ %126, %125 ], [ %.pre, %148 ] %156 = getelementptr inbounds nuw i8, ptr %155, i64 24 %157 = zext i32 %.2 to i64 @@ -3526,27 +3526,27 @@ read_buf.exit: ; preds = %125, %148 br i1 %narrow, label %._crit_edge, label %22, !llvm.loop !107 ._crit_edge: ; preds = %165 - %.pre285 = load ptr, ptr %0, align 8, !tbaa !17 + %.pre287 = load ptr, ptr %0, align 8, !tbaa !17 br label %split, !llvm.loop !107 split: ; preds = %44, %22, %._crit_edge - %166 = phi ptr [ %.pre285, %._crit_edge ], [ %26, %22 ], [ %26, %44 ] - %.not261 = phi i1 [ false, %._crit_edge ], [ true, %22 ], [ true, %44 ] + %166 = phi ptr [ %.pre287, %._crit_edge ], [ %26, %22 ], [ %26, %44 ] + %.not263 = phi i1 [ false, %._crit_edge ], [ true, %22 ], [ true, %44 ] %167 = getelementptr inbounds nuw i8, ptr %166, i64 8 %168 = load i32, ptr %167, align 8, !tbaa !69 %169 = sub i32 %13, %168 - %.not258 = icmp eq i32 %13, %168 - br i1 %.not258, label %._crit_edge286, label %170 + %.not260 = icmp eq i32 %13, %168 + br i1 %.not260, label %._crit_edge288, label %170 -._crit_edge286: ; preds = %split - %.pre287 = load i32, ptr %15, align 4, !tbaa !60 - %.pre288 = zext i32 %.pre287 to i64 +._crit_edge288: ; preds = %split + %.pre289 = load i32, ptr %15, align 4, !tbaa !60 + %.pre290 = zext i32 %.pre289 to i64 br label %224 170: ; preds = %split %171 = load i32, ptr %6, align 8, !tbaa !30 - %.not259 = icmp ult i32 %169, %171 - br i1 %.not259, label %181, label %172 + %.not261 = icmp ult i32 %169, %171 + br i1 %.not261, label %181, label %172 172: ; preds = %170 %173 = getelementptr inbounds nuw i8, ptr %0, i64 5928 @@ -3570,8 +3570,8 @@ split: ; preds = %44, %22, %._crit_ed %185 = zext i32 %184 to i64 %186 = sub i64 %183, %185 %187 = zext i32 %169 to i64 - %.not260 = icmp ugt i64 %186, %187 - br i1 %.not260, label %205, label %188 + %.not262 = icmp ugt i64 %186, %187 + br i1 %.not262, label %205, label %188 188: ; preds = %181 %189 = sub i32 %184, %171 @@ -3630,9 +3630,9 @@ split: ; preds = %44, %22, %._crit_ed store i64 %223, ptr %16, align 8, !tbaa !61 br label %224 -224: ; preds = %._crit_edge286, %221 - %.pre-phi = phi i64 [ %.pre288, %._crit_edge286 ], [ %223, %221 ] - %225 = phi i32 [ %.pre287, %._crit_edge286 ], [ %222, %221 ] +224: ; preds = %._crit_edge288, %221 + %.pre-phi = phi i64 [ %.pre290, %._crit_edge288 ], [ %223, %221 ] + %225 = phi i32 [ %.pre289, %._crit_edge288 ], [ %222, %221 ] %226 = getelementptr inbounds nuw i8, ptr %0, i64 5952 %227 = load i64, ptr %226, align 8, !tbaa !39 %228 = icmp ult i64 %227, %.pre-phi @@ -3643,7 +3643,7 @@ split: ; preds = %44, %22, %._crit_ed br label %230 230: ; preds = %229, %224 - br i1 %.not261, label %231, label %.critedge.sink.split + br i1 %.not263, label %231, label %.critedge.sink.split 231: ; preds = %230 switch i32 %1, label %232 [ @@ -3678,8 +3678,8 @@ split: ; preds = %44, %22, %._crit_ed %250 = load i64, ptr %16, align 8, !tbaa !61 %251 = load i32, ptr %6, align 8, !tbaa !30 %252 = zext i32 %251 to i64 - %.not262 = icmp slt i64 %250, %252 - br i1 %.not262, label %272, label %253 + %.not264 = icmp slt i64 %250, %252 + br i1 %.not264, label %272, label %253 253: ; preds = %249 %254 = sub nsw i64 %250, %252 @@ -3719,24 +3719,24 @@ split: ; preds = %44, %22, %._crit_ed %274 = load ptr, ptr %0, align 8, !tbaa !17 %275 = getelementptr inbounds nuw i8, ptr %274, i64 8 %276 = load i32, ptr %275, align 8, !tbaa !69 - %spec.select268 = tail call i32 @llvm.umin.i32(i32 %.0, i32 %276) - %.not263 = icmp eq i32 %spec.select268, 0 - br i1 %.not263, label %308, label %277 + %spec.select270 = tail call i32 @llvm.umin.i32(i32 %.0, i32 %276) + %.not265 = icmp eq i32 %spec.select270, 0 + br i1 %.not265, label %308, label %277 277: ; preds = %272 %278 = load ptr, ptr %21, align 8, !tbaa !36 %279 = zext i32 %273 to i64 %280 = getelementptr inbounds nuw i8, ptr %278, i64 %279 - %281 = sub i32 %276, %spec.select268 + %281 = sub i32 %276, %spec.select270 store i32 %281, ptr %275, align 8, !tbaa !69 %282 = load ptr, ptr %274, align 8, !tbaa !70 - %283 = zext i32 %spec.select268 to i64 + %283 = zext i32 %spec.select270 to i64 tail call void @llvm.memcpy.p0.p0.i64(ptr align 1 %280, ptr align 1 %282, i64 %283, i1 false) %284 = getelementptr inbounds nuw i8, ptr %274, i64 56 %285 = load ptr, ptr %284, align 8, !tbaa !16 %286 = getelementptr inbounds nuw i8, ptr %285, i64 48 %287 = load i32, ptr %286, align 8, !tbaa !27 - switch i32 %287, label %read_buf.exit273 [ + switch i32 %287, label %read_buf.exit275 [ i32 1, label %288 i32 2, label %292 ] @@ -3744,18 +3744,18 @@ split: ; preds = %44, %22, %._crit_ed 288: ; preds = %277 %289 = getelementptr inbounds nuw i8, ptr %274, i64 96 %290 = load i64, ptr %289, align 8, !tbaa !68 - %291 = tail call i64 @adler32(i64 noundef %290, ptr noundef %280, i32 noundef %spec.select268) #11 + %291 = tail call i64 @adler32(i64 noundef %290, ptr noundef %280, i32 noundef %spec.select270) #11 store i64 %291, ptr %289, align 8, !tbaa !68 - br label %read_buf.exit273 + br label %read_buf.exit275 292: ; preds = %277 %293 = getelementptr inbounds nuw i8, ptr %274, i64 96 %294 = load i64, ptr %293, align 8, !tbaa !68 - %295 = tail call i64 @crc32(i64 noundef %294, ptr noundef %280, i32 noundef %spec.select268) #11 + %295 = tail call i64 @crc32(i64 noundef %294, ptr noundef %280, i32 noundef %spec.select270) #11 store i64 %295, ptr %293, align 8, !tbaa !68 - br label %read_buf.exit273 + br label %read_buf.exit275 -read_buf.exit273: ; preds = %277, %288, %292 +read_buf.exit275: ; preds = %277, %288, %292 %296 = load ptr, ptr %274, align 8, !tbaa !70 %297 = getelementptr inbounds nuw i8, ptr %296, i64 %283 store ptr %297, ptr %274, align 8, !tbaa !70 @@ -3764,19 +3764,19 @@ read_buf.exit273: ; preds = %277, %288, %292 %300 = add i64 %299, %283 store i64 %300, ptr %298, align 8, !tbaa !77 %301 = load i32, ptr %15, align 4, !tbaa !60 - %302 = add i32 %301, %spec.select268 + %302 = add i32 %301, %spec.select270 store i32 %302, ptr %15, align 4, !tbaa !60 %303 = load i32, ptr %6, align 8, !tbaa !30 %304 = getelementptr inbounds nuw i8, ptr %0, i64 5932 %305 = load i32, ptr %304, align 4, !tbaa !63 %306 = sub i32 %303, %305 - %.spec.select268 = tail call i32 @llvm.umin.i32(i32 %spec.select268, i32 %306) - %307 = add i32 %.spec.select268, %305 + %.spec.select270 = tail call i32 @llvm.umin.i32(i32 %spec.select270, i32 %306) + %307 = add i32 %.spec.select270, %305 store i32 %307, ptr %304, align 4, !tbaa !63 br label %308 -308: ; preds = %read_buf.exit273, %272 - %309 = phi i32 [ %302, %read_buf.exit273 ], [ %273, %272 ] +308: ; preds = %read_buf.exit275, %272 + %309 = phi i32 [ %302, %read_buf.exit275 ], [ %273, %272 ] %310 = load i64, ptr %226, align 8, !tbaa !39 %311 = zext i32 %309 to i64 %312 = icmp ult i64 %310, %311 @@ -3793,15 +3793,15 @@ read_buf.exit273: ; preds = %277, %288, %292 %318 = load i64, ptr %3, align 8, !tbaa !42 %319 = zext i32 %317 to i64 %320 = sub i64 %318, %319 - %spec.select269282 = tail call i64 @llvm.umin.i64(i64 %320, i64 65535) - %spec.select269 = trunc nuw nsw i64 %spec.select269282 to i32 + %spec.select271284 = tail call i64 @llvm.umin.i64(i64 %320, i64 65535) + %spec.select271 = trunc nuw nsw i64 %spec.select271284 to i32 %321 = load i32, ptr %6, align 8, !tbaa !30 - %322 = tail call i32 @llvm.umin.i32(i32 %321, i32 %spec.select269) + %322 = tail call i32 @llvm.umin.i32(i32 %321, i32 %spec.select271) %323 = load i64, ptr %16, align 8, !tbaa !61 %324 = trunc i64 %323 to i32 %325 = sub i32 %309, %324 - %.not264 = icmp ult i32 %325, %322 - br i1 %.not264, label %326, label %332 + %.not266 = icmp ult i32 %325, %322 + br i1 %.not266, label %326, label %332 326: ; preds = %314 %327 = icmp ne i32 %309, %324 @@ -3813,11 +3813,11 @@ read_buf.exit273: ; preds = %277, %288, %292 %329 = load ptr, ptr %0, align 8, !tbaa !17 %330 = getelementptr inbounds nuw i8, ptr %329, i64 8 %331 = load i32, ptr %330, align 8, !tbaa !69 - %.not283 = icmp eq i32 %331, 0 - br i1 %.not283, label %332, label %.critedge + %.not285 = icmp eq i32 %331, 0 + br i1 %.not285, label %332, label %.critedge 332: ; preds = %328, %314 - %333 = tail call i32 @llvm.umin.i32(i32 %325, i32 %spec.select269) + %333 = tail call i32 @llvm.umin.i32(i32 %325, i32 %spec.select271) br i1 %17, label %334, label %342 334: ; preds = %332 @@ -3828,7 +3828,7 @@ read_buf.exit273: ; preds = %277, %288, %292 br i1 %338, label %339, label %342 339: ; preds = %334 - %340 = icmp ule i32 %325, %spec.select269 + %340 = icmp ule i32 %325, %spec.select271 %341 = zext i1 %340 to i32 br label %342 @@ -3850,16 +3850,16 @@ read_buf.exit273: ; preds = %277, %288, %292 %354 = trunc i64 %353 to i32 %355 = getelementptr inbounds nuw i8, ptr %349, i64 32 %356 = load i32, ptr %355, align 8, !tbaa !92 - %spec.select.i274 = tail call i32 @llvm.umin.i32(i32 %356, i32 %354) - %357 = icmp eq i32 %spec.select.i274, 0 - br i1 %357, label %flush_pending.exit275, label %358 + %spec.select.i276 = tail call i32 @llvm.umin.i32(i32 %356, i32 %354) + %357 = icmp eq i32 %spec.select.i276, 0 + br i1 %357, label %flush_pending.exit277, label %358 358: ; preds = %342 %359 = getelementptr inbounds nuw i8, ptr %349, i64 24 %360 = load ptr, ptr %359, align 8, !tbaa !91 %361 = getelementptr inbounds nuw i8, ptr %351, i64 32 %362 = load ptr, ptr %361, align 8, !tbaa !83 - %363 = zext i32 %spec.select.i274 to i64 + %363 = zext i32 %spec.select.i276 to i64 tail call void @llvm.memcpy.p0.p0.i64(ptr align 1 %360, ptr align 1 %362, i64 %363, i1 false) %364 = load ptr, ptr %359, align 8, !tbaa !91 %365 = getelementptr inbounds nuw i8, ptr %364, i64 %363 @@ -3872,32 +3872,32 @@ read_buf.exit273: ; preds = %277, %288, %292 %370 = add i64 %369, %363 store i64 %370, ptr %368, align 8, !tbaa !93 %371 = load i32, ptr %355, align 8, !tbaa !92 - %372 = sub i32 %371, %spec.select.i274 + %372 = sub i32 %371, %spec.select.i276 store i32 %372, ptr %355, align 8, !tbaa !92 %373 = load i64, ptr %352, align 8, !tbaa !82 %374 = sub i64 %373, %363 store i64 %374, ptr %352, align 8, !tbaa !82 %375 = icmp eq i64 %373, %363 - br i1 %375, label %376, label %flush_pending.exit275 + br i1 %375, label %376, label %flush_pending.exit277 376: ; preds = %358 %377 = getelementptr inbounds nuw i8, ptr %351, i64 16 %378 = load ptr, ptr %377, align 8, !tbaa !41 store ptr %378, ptr %361, align 8, !tbaa !83 - br label %flush_pending.exit275 + br label %flush_pending.exit277 -flush_pending.exit275: ; preds = %342, %358, %376 +flush_pending.exit277: ; preds = %342, %358, %376 %379 = icmp eq i32 %343, 0 br i1 %379, label %.critedge, label %.critedge.sink.split -.critedge.sink.split: ; preds = %flush_pending.exit275, %230 - %.0228.ph = phi i32 [ 3, %230 ], [ 2, %flush_pending.exit275 ] +.critedge.sink.split: ; preds = %flush_pending.exit277, %230 + %.0228.ph = phi i32 [ 3, %230 ], [ 2, %flush_pending.exit277 ] %380 = getelementptr inbounds nuw i8, ptr %0, i64 5944 store i32 8, ptr %380, align 8, !tbaa !86 br label %.critedge -.critedge: ; preds = %.critedge.sink.split, %flush_pending.exit275, %326, %328, %237 - %.0228 = phi i32 [ 1, %237 ], [ 0, %flush_pending.exit275 ], [ 0, %326 ], [ 0, %328 ], [ %.0228.ph, %.critedge.sink.split ] +.critedge: ; preds = %.critedge.sink.split, %flush_pending.exit277, %326, %328, %237 + %.0228 = phi i32 [ 1, %237 ], [ 0, %flush_pending.exit277 ], [ 0, %326 ], [ 0, %328 ], [ %.0228.ph, %.critedge.sink.split ] ret i32 %.0228 } diff --git a/bench/zstd/optimized/zstd_opt.ll b/bench/zstd/optimized/zstd_opt.ll index e8e68cd2a04..bdb1d494227 100644 --- a/bench/zstd/optimized/zstd_opt.ll +++ b/bench/zstd/optimized/zstd_opt.ll @@ -9697,9 +9697,9 @@ ZSTD_count.exit52: ; preds = %226, %.thread63.i51 %.4417.i = phi i32 [ %.0413.i.lcssa, %.thread88 ], [ %.0413.i.lcssa, %ZSTD_count.exit52 ], [ 1, %263 ], [ %.0413.i.lcssa, %ZSTD_insertAndFindFirstIndexHash3.exit ] store i32 %.pre-phi221, ptr %40, align 4, !tbaa !23 %.not205 = icmp ult i32 %41, %62 - br i1 %.not205, label %.thread101.thread244, label %.lr.ph165 + br i1 %.not205, label %.thread101.thread251, label %.lr.ph165 -.thread101.thread244: ; preds = %.thread95 +.thread101.thread251: ; preds = %.thread95 store i32 0, ptr %67, align 4, !tbaa !23 store i32 0, ptr %66, align 4, !tbaa !23 br label %358 @@ -9901,11 +9901,11 @@ ZSTD_count.exit80: ; preds = %290, %.thread63.i79 %.not = icmp eq i32 %.0427.i.lcssa, 0 br i1 %.not, label %.thread114, label %358 -358: ; preds = %.thread101.thread244, %.thread101 - %.1401.i255 = phi i32 [ %68, %.thread101.thread244 ], [ %.2402.i, %.thread101 ] - %.10423.i254 = phi i32 [ %.4417.i, %.thread101.thread244 ], [ %.11.i, %.thread101 ] - %.10442.i253 = phi i64 [ %.4436.i, %.thread101.thread244 ], [ %.11443.i, %.thread101 ] - %.0427.i.lcssa252 = phi i32 [ %71, %.thread101.thread244 ], [ %.0427.i.lcssa, %.thread101 ] +358: ; preds = %.thread101.thread251, %.thread101 + %.1401.i262 = phi i32 [ %68, %.thread101.thread251 ], [ %.2402.i, %.thread101 ] + %.10423.i261 = phi i32 [ %.4417.i, %.thread101.thread251 ], [ %.11.i, %.thread101 ] + %.10442.i260 = phi i64 [ %.4436.i, %.thread101.thread251 ], [ %.11443.i, %.thread101 ] + %.0427.i.lcssa259 = phi i32 [ %71, %.thread101.thread251 ], [ %.0427.i.lcssa, %.thread101 ] %.val = load i32, ptr %3, align 1, !tbaa !23 %359 = mul i32 %.val, -1640531535 %360 = sub i32 32, %85 @@ -9931,10 +9931,10 @@ ZSTD_count.exit80: ; preds = %290, %.thread63.i79 %.0374.i193 = phi i32 [ %.0374.i186, %.lr.ph194 ], [ %.0374.i, %403 ] %.3380.i192 = phi i64 [ 0, %.lr.ph194 ], [ %.5382.i, %403 ] %.3388.i191 = phi i64 [ 0, %.lr.ph194 ], [ %.5390.i, %403 ] - %.6406.i190 = phi i32 [ %.1401.i255, %.lr.ph194 ], [ %.8.i, %403 ] - %.14.i189 = phi i32 [ %.10423.i254, %.lr.ph194 ], [ %.16.i, %403 ] - %.4431.i188 = phi i32 [ %.0427.i.lcssa252, %.lr.ph194 ], [ %409, %403 ] - %.13445.i187 = phi i64 [ %.10442.i253, %.lr.ph194 ], [ %.14446.i, %403 ] + %.6406.i190 = phi i32 [ %.1401.i262, %.lr.ph194 ], [ %.8.i, %403 ] + %.14.i189 = phi i32 [ %.10423.i261, %.lr.ph194 ], [ %.16.i, %403 ] + %.4431.i188 = phi i32 [ %.0427.i.lcssa259, %.lr.ph194 ], [ %409, %403 ] + %.13445.i187 = phi i64 [ %.10442.i260, %.lr.ph194 ], [ %.14446.i, %403 ] %373 = and i32 %.0374.i193, %89 %374 = shl nuw i32 %373, 1 %375 = zext i32 %374 to i64 @@ -9999,8 +9999,8 @@ ZSTD_count.exit80: ; preds = %290, %.thread63.i79 br i1 %412, label %372, label %.thread114, !llvm.loop !124 .thread114: ; preds = %403, %386, %402, %358, %.thread101.thread, %.thread101 - %.13.i = phi i32 [ %.11.i, %.thread101 ], [ %338, %.thread101.thread ], [ %.10423.i254, %358 ], [ %.16.i, %403 ], [ %397, %386 ], [ %.16.i, %402 ] - %.5405.i = phi i32 [ %.2402.i, %.thread101 ], [ %.3403.i, %.thread101.thread ], [ %.1401.i255, %358 ], [ %.8.i, %403 ], [ %.9.i, %386 ], [ %.8.i, %402 ] + %.13.i = phi i32 [ %.11.i, %.thread101 ], [ %338, %.thread101.thread ], [ %.10423.i261, %358 ], [ %.16.i, %403 ], [ %397, %386 ], [ %.16.i, %402 ] + %.5405.i = phi i32 [ %.2402.i, %.thread101 ], [ %.3403.i, %.thread101.thread ], [ %.1401.i262, %358 ], [ %.8.i, %403 ], [ %.9.i, %386 ], [ %.8.i, %402 ] %413 = add i32 %.5405.i, -8 br label %ZSTD_insertBtAndGetAllMatches.exit.sink.split @@ -10346,9 +10346,9 @@ ZSTD_count.exit: ; preds = %132, %.thread63.i, %.0413.i.lcssa = phi i32 [ 0, %ZSTD_updateTree_internal.exit.i ], [ %.2415.i56, %.thread ] store i32 %.pre-phi177, ptr %40, align 4, !tbaa !23 %.not164 = icmp ult i32 %41, %62 - br i1 %.not164, label %.thread64.thread196, label %.lr.ph124 + br i1 %.not164, label %.thread64.thread202, label %.lr.ph124 -.thread64.thread196: ; preds = %.thread58 +.thread64.thread202: ; preds = %.thread58 store i32 0, ptr %67, align 4, !tbaa !23 store i32 0, ptr %66, align 4, !tbaa !23 br label %278 @@ -10550,11 +10550,11 @@ ZSTD_count.exit50: ; preds = %210, %.thread63.i49 %.not = icmp eq i32 %.0427.i.lcssa, 0 br i1 %.not, label %.thread77, label %278 -278: ; preds = %.thread64.thread196, %.thread64 - %.1401.i207 = phi i32 [ %68, %.thread64.thread196 ], [ %.2402.i, %.thread64 ] - %.10423.i206 = phi i32 [ %.0413.i.lcssa, %.thread64.thread196 ], [ %.11.i, %.thread64 ] - %.10442.i205 = phi i64 [ %.0432.i.lcssa, %.thread64.thread196 ], [ %.11443.i, %.thread64 ] - %.0427.i.lcssa204 = phi i32 [ %71, %.thread64.thread196 ], [ %.0427.i.lcssa, %.thread64 ] +278: ; preds = %.thread64.thread202, %.thread64 + %.1401.i213 = phi i32 [ %68, %.thread64.thread202 ], [ %.2402.i, %.thread64 ] + %.10423.i212 = phi i32 [ %.0413.i.lcssa, %.thread64.thread202 ], [ %.11.i, %.thread64 ] + %.10442.i211 = phi i64 [ %.0432.i.lcssa, %.thread64.thread202 ], [ %.11443.i, %.thread64 ] + %.0427.i.lcssa210 = phi i32 [ %71, %.thread64.thread202 ], [ %.0427.i.lcssa, %.thread64 ] %.val = load i32, ptr %3, align 1, !tbaa !23 %279 = mul i32 %.val, -1640531535 %280 = sub i32 32, %85 @@ -10580,10 +10580,10 @@ ZSTD_count.exit50: ; preds = %210, %.thread63.i49 %.0374.i152 = phi i32 [ %.0374.i145, %.lr.ph153 ], [ %.0374.i, %323 ] %.3380.i151 = phi i64 [ 0, %.lr.ph153 ], [ %.5382.i, %323 ] %.3388.i150 = phi i64 [ 0, %.lr.ph153 ], [ %.5390.i, %323 ] - %.6406.i149 = phi i32 [ %.1401.i207, %.lr.ph153 ], [ %.8.i, %323 ] - %.14.i148 = phi i32 [ %.10423.i206, %.lr.ph153 ], [ %.16.i, %323 ] - %.4431.i147 = phi i32 [ %.0427.i.lcssa204, %.lr.ph153 ], [ %329, %323 ] - %.13445.i146 = phi i64 [ %.10442.i205, %.lr.ph153 ], [ %.14446.i, %323 ] + %.6406.i149 = phi i32 [ %.1401.i213, %.lr.ph153 ], [ %.8.i, %323 ] + %.14.i148 = phi i32 [ %.10423.i212, %.lr.ph153 ], [ %.16.i, %323 ] + %.4431.i147 = phi i32 [ %.0427.i.lcssa210, %.lr.ph153 ], [ %329, %323 ] + %.13445.i146 = phi i64 [ %.10442.i211, %.lr.ph153 ], [ %.14446.i, %323 ] %293 = and i32 %.0374.i152, %89 %294 = shl nuw i32 %293, 1 %295 = zext i32 %294 to i64 @@ -10648,8 +10648,8 @@ ZSTD_count.exit50: ; preds = %210, %.thread63.i49 br i1 %332, label %292, label %.thread77, !llvm.loop !124 .thread77: ; preds = %323, %306, %322, %278, %.thread64.thread, %.thread64 - %.13.i = phi i32 [ %.11.i, %.thread64 ], [ %258, %.thread64.thread ], [ %.10423.i206, %278 ], [ %.16.i, %323 ], [ %317, %306 ], [ %.16.i, %322 ] - %.5405.i = phi i32 [ %.2402.i, %.thread64 ], [ %.3403.i, %.thread64.thread ], [ %.1401.i207, %278 ], [ %.8.i, %323 ], [ %.9.i, %306 ], [ %.8.i, %322 ] + %.13.i = phi i32 [ %.11.i, %.thread64 ], [ %258, %.thread64.thread ], [ %.10423.i212, %278 ], [ %.16.i, %323 ], [ %317, %306 ], [ %.16.i, %322 ] + %.5405.i = phi i32 [ %.2402.i, %.thread64 ], [ %.3403.i, %.thread64.thread ], [ %.1401.i213, %278 ], [ %.8.i, %323 ], [ %.9.i, %306 ], [ %.8.i, %322 ] %333 = add i32 %.5405.i, -8 store i32 %333, ptr %12, align 4, !tbaa !17 br label %ZSTD_insertBtAndGetAllMatches.exit @@ -10990,9 +10990,9 @@ ZSTD_count.exit: ; preds = %132, %.thread63.i, %.0413.i.lcssa = phi i32 [ 0, %ZSTD_updateTree_internal.exit.i ], [ %.2415.i56, %.thread ] store i32 %.pre-phi177, ptr %40, align 4, !tbaa !23 %.not164 = icmp ult i32 %41, %62 - br i1 %.not164, label %.thread64.thread196, label %.lr.ph124 + br i1 %.not164, label %.thread64.thread204, label %.lr.ph124 -.thread64.thread196: ; preds = %.thread58 +.thread64.thread204: ; preds = %.thread58 store i32 0, ptr %67, align 4, !tbaa !23 store i32 0, ptr %66, align 4, !tbaa !23 br label %278 @@ -11194,11 +11194,11 @@ ZSTD_count.exit50: ; preds = %210, %.thread63.i49 %.not = icmp eq i32 %.0427.i.lcssa, 0 br i1 %.not, label %.thread77, label %278 -278: ; preds = %.thread64.thread196, %.thread64 - %.1401.i207 = phi i32 [ %68, %.thread64.thread196 ], [ %.2402.i, %.thread64 ] - %.10423.i206 = phi i32 [ %.0413.i.lcssa, %.thread64.thread196 ], [ %.11.i, %.thread64 ] - %.10442.i205 = phi i64 [ %.0432.i.lcssa, %.thread64.thread196 ], [ %.11443.i, %.thread64 ] - %.0427.i.lcssa204 = phi i32 [ %71, %.thread64.thread196 ], [ %.0427.i.lcssa, %.thread64 ] +278: ; preds = %.thread64.thread204, %.thread64 + %.1401.i215 = phi i32 [ %68, %.thread64.thread204 ], [ %.2402.i, %.thread64 ] + %.10423.i214 = phi i32 [ %.0413.i.lcssa, %.thread64.thread204 ], [ %.11.i, %.thread64 ] + %.10442.i213 = phi i64 [ %.0432.i.lcssa, %.thread64.thread204 ], [ %.11443.i, %.thread64 ] + %.0427.i.lcssa212 = phi i32 [ %71, %.thread64.thread204 ], [ %.0427.i.lcssa, %.thread64 ] %279 = sub i32 64, %85 %280 = zext nneg i32 %279 to i64 %281 = lshr i64 %36, %280 @@ -11222,10 +11222,10 @@ ZSTD_count.exit50: ; preds = %210, %.thread63.i49 %.0374.i152 = phi i32 [ %.0374.i145, %.lr.ph153 ], [ %.0374.i, %322 ] %.3380.i151 = phi i64 [ 0, %.lr.ph153 ], [ %.5382.i, %322 ] %.3388.i150 = phi i64 [ 0, %.lr.ph153 ], [ %.5390.i, %322 ] - %.6406.i149 = phi i32 [ %.1401.i207, %.lr.ph153 ], [ %.8.i, %322 ] - %.14.i148 = phi i32 [ %.10423.i206, %.lr.ph153 ], [ %.16.i, %322 ] - %.4431.i147 = phi i32 [ %.0427.i.lcssa204, %.lr.ph153 ], [ %328, %322 ] - %.13445.i146 = phi i64 [ %.10442.i205, %.lr.ph153 ], [ %.14446.i, %322 ] + %.6406.i149 = phi i32 [ %.1401.i215, %.lr.ph153 ], [ %.8.i, %322 ] + %.14.i148 = phi i32 [ %.10423.i214, %.lr.ph153 ], [ %.16.i, %322 ] + %.4431.i147 = phi i32 [ %.0427.i.lcssa212, %.lr.ph153 ], [ %328, %322 ] + %.13445.i146 = phi i64 [ %.10442.i213, %.lr.ph153 ], [ %.14446.i, %322 ] %292 = and i32 %.0374.i152, %89 %293 = shl nuw i32 %292, 1 %294 = zext i32 %293 to i64 @@ -11290,8 +11290,8 @@ ZSTD_count.exit50: ; preds = %210, %.thread63.i49 br i1 %331, label %291, label %.thread77, !llvm.loop !124 .thread77: ; preds = %322, %305, %321, %278, %.thread64.thread, %.thread64 - %.13.i = phi i32 [ %.11.i, %.thread64 ], [ %258, %.thread64.thread ], [ %.10423.i206, %278 ], [ %.16.i, %322 ], [ %316, %305 ], [ %.16.i, %321 ] - %.5405.i = phi i32 [ %.2402.i, %.thread64 ], [ %.3403.i, %.thread64.thread ], [ %.1401.i207, %278 ], [ %.8.i, %322 ], [ %.9.i, %305 ], [ %.8.i, %321 ] + %.13.i = phi i32 [ %.11.i, %.thread64 ], [ %258, %.thread64.thread ], [ %.10423.i214, %278 ], [ %.16.i, %322 ], [ %316, %305 ], [ %.16.i, %321 ] + %.5405.i = phi i32 [ %.2402.i, %.thread64 ], [ %.3403.i, %.thread64.thread ], [ %.1401.i215, %278 ], [ %.8.i, %322 ], [ %.9.i, %305 ], [ %.8.i, %321 ] %332 = add i32 %.5405.i, -8 store i32 %332, ptr %12, align 4, !tbaa !17 br label %ZSTD_insertBtAndGetAllMatches.exit @@ -11632,9 +11632,9 @@ ZSTD_count.exit: ; preds = %132, %.thread63.i, %.0413.i.lcssa = phi i32 [ 0, %ZSTD_updateTree_internal.exit.i ], [ %.2415.i56, %.thread ] store i32 %.pre-phi177, ptr %40, align 4, !tbaa !23 %.not164 = icmp ult i32 %41, %62 - br i1 %.not164, label %.thread64.thread196, label %.lr.ph124 + br i1 %.not164, label %.thread64.thread201, label %.lr.ph124 -.thread64.thread196: ; preds = %.thread58 +.thread64.thread201: ; preds = %.thread58 store i32 0, ptr %67, align 4, !tbaa !23 store i32 0, ptr %66, align 4, !tbaa !23 br label %278 @@ -11836,11 +11836,11 @@ ZSTD_count.exit50: ; preds = %210, %.thread63.i49 %.not = icmp eq i32 %.0427.i.lcssa, 0 br i1 %.not, label %.thread77, label %278 -278: ; preds = %.thread64.thread196, %.thread64 - %.1401.i207 = phi i32 [ %68, %.thread64.thread196 ], [ %.2402.i, %.thread64 ] - %.10423.i206 = phi i32 [ %.0413.i.lcssa, %.thread64.thread196 ], [ %.11.i, %.thread64 ] - %.10442.i205 = phi i64 [ %.0432.i.lcssa, %.thread64.thread196 ], [ %.11443.i, %.thread64 ] - %.0427.i.lcssa204 = phi i32 [ %71, %.thread64.thread196 ], [ %.0427.i.lcssa, %.thread64 ] +278: ; preds = %.thread64.thread201, %.thread64 + %.1401.i212 = phi i32 [ %68, %.thread64.thread201 ], [ %.2402.i, %.thread64 ] + %.10423.i211 = phi i32 [ %.0413.i.lcssa, %.thread64.thread201 ], [ %.11.i, %.thread64 ] + %.10442.i210 = phi i64 [ %.0432.i.lcssa, %.thread64.thread201 ], [ %.11443.i, %.thread64 ] + %.0427.i.lcssa209 = phi i32 [ %71, %.thread64.thread201 ], [ %.0427.i.lcssa, %.thread64 ] %279 = sub i32 64, %85 %280 = zext nneg i32 %279 to i64 %281 = lshr i64 %36, %280 @@ -11864,10 +11864,10 @@ ZSTD_count.exit50: ; preds = %210, %.thread63.i49 %.0374.i152 = phi i32 [ %.0374.i145, %.lr.ph153 ], [ %.0374.i, %322 ] %.3380.i151 = phi i64 [ 0, %.lr.ph153 ], [ %.5382.i, %322 ] %.3388.i150 = phi i64 [ 0, %.lr.ph153 ], [ %.5390.i, %322 ] - %.6406.i149 = phi i32 [ %.1401.i207, %.lr.ph153 ], [ %.8.i, %322 ] - %.14.i148 = phi i32 [ %.10423.i206, %.lr.ph153 ], [ %.16.i, %322 ] - %.4431.i147 = phi i32 [ %.0427.i.lcssa204, %.lr.ph153 ], [ %328, %322 ] - %.13445.i146 = phi i64 [ %.10442.i205, %.lr.ph153 ], [ %.14446.i, %322 ] + %.6406.i149 = phi i32 [ %.1401.i212, %.lr.ph153 ], [ %.8.i, %322 ] + %.14.i148 = phi i32 [ %.10423.i211, %.lr.ph153 ], [ %.16.i, %322 ] + %.4431.i147 = phi i32 [ %.0427.i.lcssa209, %.lr.ph153 ], [ %328, %322 ] + %.13445.i146 = phi i64 [ %.10442.i210, %.lr.ph153 ], [ %.14446.i, %322 ] %292 = and i32 %.0374.i152, %89 %293 = shl nuw i32 %292, 1 %294 = zext i32 %293 to i64 @@ -11932,8 +11932,8 @@ ZSTD_count.exit50: ; preds = %210, %.thread63.i49 br i1 %331, label %291, label %.thread77, !llvm.loop !124 .thread77: ; preds = %322, %305, %321, %278, %.thread64.thread, %.thread64 - %.13.i = phi i32 [ %.11.i, %.thread64 ], [ %258, %.thread64.thread ], [ %.10423.i206, %278 ], [ %.16.i, %322 ], [ %316, %305 ], [ %.16.i, %321 ] - %.5405.i = phi i32 [ %.2402.i, %.thread64 ], [ %.3403.i, %.thread64.thread ], [ %.1401.i207, %278 ], [ %.8.i, %322 ], [ %.9.i, %305 ], [ %.8.i, %321 ] + %.13.i = phi i32 [ %.11.i, %.thread64 ], [ %258, %.thread64.thread ], [ %.10423.i211, %278 ], [ %.16.i, %322 ], [ %316, %305 ], [ %.16.i, %321 ] + %.5405.i = phi i32 [ %.2402.i, %.thread64 ], [ %.3403.i, %.thread64.thread ], [ %.1401.i212, %278 ], [ %.8.i, %322 ], [ %.9.i, %305 ], [ %.8.i, %321 ] %332 = add i32 %.5405.i, -8 store i32 %332, ptr %12, align 4, !tbaa !17 br label %ZSTD_insertBtAndGetAllMatches.exit diff --git a/bench/zxing/optimized/zueci.ll b/bench/zxing/optimized/zueci.ll index 4439b402faa..a824b1399c0 100644 --- a/bench/zxing/optimized/zueci.ll +++ b/bench/zxing/optimized/zueci.ll @@ -5664,12 +5664,12 @@ switch.early.test: ; preds = %8 %31 = or disjoint i32 %30, %13 %32 = add nsw i32 %31, -41380 %or.cond = icmp ult i32 %32, 23724 - br i1 %or.cond, label %.preheader, label %.critedge112 + br i1 %or.cond, label %.preheader, label %.critedge114 .preheader: ; preds = %29, %49 - %.092118 = phi i32 [ %.294, %49 ], [ 208, %29 ] - %.095117 = phi i32 [ %.297, %49 ], [ 0, %29 ] - %33 = add nuw nsw i32 %.092118, %.095117 + %.092120 = phi i32 [ %.294, %49 ], [ 208, %29 ] + %.095119 = phi i32 [ %.297, %49 ], [ 0, %29 ] + %33 = add nuw nsw i32 %.092120, %.095119 %34 = lshr i32 %33, 1 %35 = zext nneg i32 %34 to i64 %36 = getelementptr inbounds nuw i16, ptr @zueci_gbk_nonuro_mb, i64 %35 @@ -5697,27 +5697,27 @@ switch.early.test: ; preds = %8 br label %.sink.split 49: ; preds = %40, %44 - %.297 = phi i32 [ %41, %40 ], [ %.095117, %44 ] - %.294 = phi i32 [ %.092118, %40 ], [ %45, %44 ] - %.not108 = icmp sgt i32 %.297, %.294 - br i1 %.not108, label %.critedge112, label %.preheader, !llvm.loop !38 + %.297 = phi i32 [ %41, %40 ], [ %.095119, %44 ] + %.294 = phi i32 [ %.092120, %40 ], [ %45, %44 ] + %.not110 = icmp sgt i32 %.297, %.294 + br i1 %.not110, label %.critedge114, label %.preheader, !llvm.loop !38 -.critedge112: ; preds = %49, %29 +.critedge114: ; preds = %49, %29 br i1 %18, label %50, label %53 -50: ; preds = %.critedge112 +50: ; preds = %.critedge114 %51 = icmp samesign ult i8 %5, -88 %52 = icmp ugt i8 %12, -96 - %or.cond113 = or i1 %51, %52 - br i1 %or.cond113, label %67, label %53 + %or.cond115 = or i1 %51, %52 + br i1 %or.cond115, label %67, label %53 -53: ; preds = %.critedge112, %50 - %.sink132 = phi i32 [ 96, %50 ], [ 190, %.critedge112 ] - %.sink130 = phi i32 [ -10112, %50 ], [ -24574, %.critedge112 ] - %54 = mul nuw nsw i32 %.sink132, %6 +53: ; preds = %.critedge114, %50 + %.sink134 = phi i32 [ 96, %50 ], [ 190, %.critedge114 ] + %.sink132 = phi i32 [ -10112, %50 ], [ -24574, %.critedge114 ] + %54 = mul nuw nsw i32 %.sink134, %6 %55 = ashr i8 %12, 7 %56 = sext i8 %55 to i32 - %57 = add nsw i32 %54, %.sink130 + %57 = add nsw i32 %54, %.sink132 %58 = add nsw i32 %57, %13 %59 = add nsw i32 %58, %56 %60 = icmp slt i32 %59, 14352 @@ -5727,8 +5727,8 @@ switch.early.test: ; preds = %8 %62 = sext i32 %59 to i64 %63 = getelementptr inbounds i16, ptr @zueci_gbk_mb_u, i64 %62 %64 = load i16, ptr %63, align 2, !tbaa !14 - %.not110 = icmp eq i16 %64, 0 - br i1 %.not110, label %67, label %65 + %.not112 = icmp eq i16 %64, 0 + br i1 %.not112, label %67, label %65 65: ; preds = %61 %66 = zext i16 %64 to i32 @@ -5750,22 +5750,22 @@ define internal range(i32 0, 5) i32 @zueci_gb18030_u(ptr noundef readonly captur %5 = load i8, ptr %0, align 1, !tbaa !3 %6 = zext i8 %5 to i32 %7 = icmp sgt i8 %5, -1 - br i1 %7, label %.critedge195.sink.split, label %8 + br i1 %7, label %.critedge196.sink.split, label %8 8: ; preds = %4 %9 = icmp ult i32 %1, 2 - br i1 %9, label %.critedge195, label %switch.early.test + br i1 %9, label %.critedge196, label %switch.early.test switch.early.test: ; preds = %8 switch i8 %5, label %10 [ - i8 -1, label %.critedge195 - i8 -128, label %.critedge195 + i8 -1, label %.critedge196 + i8 -128, label %.critedge196 ] 10: ; preds = %switch.early.test %11 = tail call i32 @zueci_gbk_u(ptr noundef nonnull %0, i32 noundef %1, i32 poison, ptr noundef %3) %.not = icmp eq i32 %11, 0 - br i1 %.not, label %12, label %.critedge195 + br i1 %.not, label %12, label %.critedge196 12: ; preds = %10 %13 = getelementptr inbounds nuw i8, ptr %0, i64 1 @@ -5793,7 +5793,7 @@ switch.early.test: ; preds = %8 %31 = zext i8 %24 to i32 %32 = or disjoint i32 %30, %31 %33 = icmp samesign ult i32 %32, -2127527632 - br i1 %33, label %.critedge195, label %34 + br i1 %33, label %.critedge196, label %34 34: ; preds = %20 %35 = add nsw i32 %32, 2077121478 @@ -5806,11 +5806,11 @@ switch.early.test: ; preds = %8 %39 = add i8 %24, -58 %40 = icmp ult i8 %39, -10 %or.cond34 = or i1 %40, %or.cond28 - br i1 %or.cond34, label %.critedge195, label %41 + br i1 %or.cond34, label %.critedge196, label %41 41: ; preds = %34 %42 = icmp eq i32 %32, -2127170505 - br i1 %42, label %.critedge195.sink.split, label %43 + br i1 %42, label %.critedge196.sink.split, label %43 43: ; preds = %41 %44 = icmp samesign ugt i8 %5, -113 @@ -5824,20 +5824,20 @@ switch.early.test: ; preds = %8 %50 = mul nuw nsw i32 %49, 10 %51 = add nuw nsw i32 %31, -1810682 %52 = add nsw i32 %51, %50 - br label %.critedge195.sink.split + br label %.critedge196.sink.split .preheader: ; preds = %43, %.preheader - %.0178209 = phi i32 [ %.1179, %.preheader ], [ 205, %43 ] - %.0180208 = phi i32 [ %.1181, %.preheader ], [ 0, %43 ] - %53 = add nuw nsw i32 %.0178209, %.0180208 + %.0178210 = phi i32 [ %.1179, %.preheader ], [ 205, %43 ] + %.0180209 = phi i32 [ %.1181, %.preheader ], [ 0, %43 ] + %53 = add nuw nsw i32 %.0178210, %.0180209 %54 = lshr i32 %53, 1 %55 = zext nneg i32 %54 to i64 %56 = getelementptr inbounds nuw i32, ptr @zueci_gb18030_4_mb_e, i64 %55 %57 = load i32, ptr %56, align 4, !tbaa !12 %58 = icmp ult i32 %57, %32 %59 = add nuw nsw i32 %54, 1 - %.1181 = select i1 %58, i32 %59, i32 %.0180208 - %.1179 = select i1 %58, i32 %.0178209, i32 %54 + %.1181 = select i1 %58, i32 %59, i32 %.0180209 + %.1179 = select i1 %58, i32 %.0178210, i32 %54 %60 = icmp slt i32 %.1181, %.1179 br i1 %60, label %.preheader, label %61, !llvm.loop !39 @@ -5854,27 +5854,27 @@ switch.early.test: ; preds = %8 %71 = mul nuw nsw i32 %68, 10 %72 = and i32 %69, 255 %73 = add nuw nsw i32 %71, %72 - %.neg210 = mul nsw i32 %73, -126 + %.neg211 = mul nsw i32 %73, -126 %74 = and i32 %70, 255 - %.neg211 = sub nsw i32 %.neg210, %74 + %.neg212 = sub nsw i32 %.neg211, %74 %75 = and i32 %67, 255 %76 = mul nuw nsw i32 %6, 10 %77 = add nuw nsw i32 %76, %16 %78 = mul nuw nsw i32 %77, 126 %79 = add nuw nsw i32 %78, %27 - %reass.add = add nsw i32 %79, %.neg211 + %reass.add = add nsw i32 %79, %.neg212 %reass.mul = mul nsw i32 %reass.add, 10 %80 = add nuw nsw i32 %65, %31 - %.neg193 = sub nsw i32 %80, %75 - %81 = add nsw i32 %.neg193, %reass.mul - br label %.critedge195.sink.split + %.neg194 = sub nsw i32 %80, %75 + %81 = add nsw i32 %.neg194, %reass.mul + br label %.critedge196.sink.split 82: ; preds = %12 %83 = icmp eq i8 %14, 127 %84 = add i8 %14, 1 %85 = icmp ult i8 %84, 65 %or.cond40 = or i1 %83, %85 - br i1 %or.cond40, label %.critedge195, label %86 + br i1 %or.cond40, label %.critedge196, label %86 86: ; preds = %82 %87 = add nsw i8 %5, 86 @@ -5889,7 +5889,7 @@ switch.early.test: ; preds = %8 91: ; preds = %86 %.old48 = icmp ugt i8 %14, -96 - br i1 %.old48, label %92, label %.thread198 + br i1 %.old48, label %92, label %.thread199 92: ; preds = %91, %88 %93 = icmp samesign ugt i8 %5, -9 @@ -5898,7 +5898,7 @@ switch.early.test: ; preds = %8 %95 = mul nsw i32 %94, 94 %96 = add nsw i32 %95, 57183 %97 = add nuw nsw i32 %96, %16 - br label %.critedge195.sink.split + br label %.critedge196.sink.split 98: ; preds = %88 %99 = add nsw i8 %5, 95 @@ -5914,18 +5914,18 @@ switch.early.test: ; preds = %8 %105 = add nuw nsw i32 %102, 43046 %106 = add nuw nsw i32 %105, %16 %107 = add nsw i32 %106, %104 - br label %.critedge195.sink.split + br label %.critedge196.sink.split 108: ; preds = %98 %109 = icmp eq i8 %5, -2 %110 = add i8 %14, -81 %111 = icmp ult i8 %110, 65 %or.cond65 = select i1 %109, i1 %111, i1 false - br i1 %or.cond65, label %112, label %.thread198 + br i1 %or.cond65, label %112, label %.thread199 112: ; preds = %108 - switch i8 %14, label %.thread198 [ - i8 81, label %.critedge195.sink.split + switch i8 %14, label %.thread199 [ + i8 81, label %.critedge196.sink.split i8 82, label %113 i8 83, label %114 i8 108, label %115 @@ -5934,31 +5934,31 @@ switch.early.test: ; preds = %8 ] 113: ; preds = %112 - br label %.critedge195.sink.split + br label %.critedge196.sink.split 114: ; preds = %112 - br label %.critedge195.sink.split + br label %.critedge196.sink.split 115: ; preds = %112 - br label %.critedge195.sink.split + br label %.critedge196.sink.split 116: ; preds = %112 - br label %.critedge195.sink.split + br label %.critedge196.sink.split 117: ; preds = %112 - br label %.critedge195.sink.split + br label %.critedge196.sink.split -.thread198: ; preds = %91, %112, %108 +.thread199: ; preds = %91, %112, %108 %118 = shl nuw nsw i32 %6, 8 %119 = or disjoint i32 %118, %16 %120 = add nsw i32 %119, -41643 %or.cond = icmp ult i32 %120, 23542 - br i1 %or.cond, label %.preheader205, label %.critedge195 + br i1 %or.cond, label %.preheader206, label %.critedge196 -.preheader205: ; preds = %.thread198, %137 - %.0170207 = phi i32 [ %.2172, %137 ], [ 254, %.thread198 ] - %.0173206 = phi i32 [ %.2175, %137 ], [ 0, %.thread198 ] - %121 = add nuw nsw i32 %.0170207, %.0173206 +.preheader206: ; preds = %.thread199, %137 + %.0170208 = phi i32 [ %.2172, %137 ], [ 254, %.thread199 ] + %.0173207 = phi i32 [ %.2175, %137 ], [ 0, %.thread199 ] + %121 = add nuw nsw i32 %.0170208, %.0173207 %122 = lshr i32 %121, 1 %123 = zext nneg i32 %122 to i64 %124 = getelementptr inbounds nuw i16, ptr @zueci_gb18030_2_mb_mb, i64 %123 @@ -5967,11 +5967,11 @@ switch.early.test: ; preds = %8 %127 = icmp samesign ugt i32 %119, %126 br i1 %127, label %128, label %130 -128: ; preds = %.preheader205 +128: ; preds = %.preheader206 %129 = add nuw nsw i32 %122, 1 br label %137 -130: ; preds = %.preheader205 +130: ; preds = %.preheader206 %131 = icmp samesign ult i32 %119, %126 br i1 %131, label %132, label %.critedge @@ -5983,22 +5983,22 @@ switch.early.test: ; preds = %8 %134 = getelementptr inbounds nuw i16, ptr @zueci_gb18030_2_mb_u, i64 %123 %135 = load i16, ptr %134, align 2, !tbaa !14 %136 = zext i16 %135 to i32 - br label %.critedge195.sink.split + br label %.critedge196.sink.split 137: ; preds = %128, %132 - %.2175 = phi i32 [ %129, %128 ], [ %.0173206, %132 ] - %.2172 = phi i32 [ %.0170207, %128 ], [ %133, %132 ] - %.not192 = icmp sgt i32 %.2175, %.2172 - br i1 %.not192, label %.critedge195, label %.preheader205, !llvm.loop !40 + %.2175 = phi i32 [ %129, %128 ], [ %.0173207, %132 ] + %.2172 = phi i32 [ %.0170208, %128 ], [ %133, %132 ] + %.not193 = icmp sgt i32 %.2175, %.2172 + br i1 %.not193, label %.critedge196, label %.preheader206, !llvm.loop !40 -.critedge195.sink.split: ; preds = %112, %45, %61, %41, %4, %92, %101, %113, %114, %115, %116, %117, %.critedge +.critedge196.sink.split: ; preds = %112, %45, %61, %41, %4, %92, %101, %113, %114, %115, %116, %117, %.critedge %.sink = phi i32 [ %136, %.critedge ], [ 147966, %117 ], [ 141711, %116 ], [ 136663, %115 ], [ 131276, %114 ], [ 131209, %113 ], [ %107, %101 ], [ %97, %92 ], [ %6, %4 ], [ 59335, %41 ], [ %81, %61 ], [ %52, %45 ], [ 131207, %112 ] %.0.ph = phi i32 [ 2, %.critedge ], [ 2, %117 ], [ 2, %116 ], [ 2, %115 ], [ 2, %114 ], [ 2, %113 ], [ 2, %101 ], [ 2, %92 ], [ 1, %4 ], [ 4, %41 ], [ 4, %61 ], [ 4, %45 ], [ 2, %112 ] store i32 %.sink, ptr %3, align 4, !tbaa !12 - br label %.critedge195 + br label %.critedge196 -.critedge195: ; preds = %137, %.critedge195.sink.split, %.thread198, %82, %20, %34, %10, %8, %switch.early.test, %switch.early.test - %.0 = phi i32 [ 0, %switch.early.test ], [ 0, %switch.early.test ], [ 0, %8 ], [ %11, %10 ], [ 0, %34 ], [ 0, %20 ], [ 0, %82 ], [ 0, %.thread198 ], [ %.0.ph, %.critedge195.sink.split ], [ 0, %137 ] +.critedge196: ; preds = %137, %.critedge196.sink.split, %.thread199, %82, %20, %34, %10, %8, %switch.early.test, %switch.early.test + %.0 = phi i32 [ 0, %switch.early.test ], [ 0, %switch.early.test ], [ 0, %8 ], [ %11, %10 ], [ 0, %34 ], [ 0, %20 ], [ 0, %82 ], [ 0, %.thread199 ], [ %.0.ph, %.critedge196.sink.split ], [ 0, %137 ] ret i32 %.0 } From c8df6c26bf829832480a69a2cb66f6060baaa38e Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Thu, 11 Sep 2025 13:06:55 +0000 Subject: [PATCH 3/3] pre-commit: Remap --- bench/abc/optimized/giaQbf.ll | 4 +- bench/abseil-cpp/optimized/mutex.ll | 26 +-- bench/actix-rs/optimized/1xpd5itwjglolvjs.ll | 34 +-- bench/assimp/optimized/BlenderLoader.ll | 12 +- bench/bdwgc/optimized/gc.ll | 52 ++--- bench/box2d/optimized/imgui_widgets.ll | 82 +++---- bench/box2d/optimized/solver.ll | 96 ++++----- bench/brotli/optimized/entropy_encode.ll | 16 +- bench/c3c/optimized/bigint.ll | 40 ++-- bench/c3c/optimized/project_creation.ll | 18 +- bench/c3c/optimized/sema_stmts.ll | 112 +++++----- bench/casadi/optimized/map.ll | 6 +- .../dynamic_sparse_normal_cholesky_solver.ll | 136 ++++++------ .../iterative_schur_complement_solver.ll | 126 +++++------ bench/clamav/optimized/filestr.ll | 34 +-- bench/clamav/optimized/macho.ll | 68 +++--- bench/csmith/optimized/Constant.ll | 52 ++--- bench/csmith/optimized/Function.ll | 116 +++++----- bench/cvc5/optimized/SimpSolver.ll | 34 +-- bench/cvc5/optimized/theory_sep_rewriter.ll | 20 +- bench/delta-rs/optimized/4zvphat0q9a964bz.ll | 6 +- bench/draco/optimized/mesh_stripifier.ll | 14 +- .../optimized/6luvh0o6z0xeo16dcenatpsob.ll | 62 +++--- bench/flac/optimized/ogg_decoder_aspect.ll | 200 +++++++++--------- bench/fmt/optimized/unicode-test.ll | 66 +++--- bench/folly/optimized/AsyncSocket.ll | 66 +++--- bench/git/optimized/diffcore-rename.ll | 94 ++++---- bench/hwloc/optimized/base64.ll | 118 +++++------ bench/imgui/optimized/imgui_widgets.ll | 106 +++++----- bench/jsonnet/optimized/lexer.ll | 56 ++--- bench/just-rs/optimized/1uppz7l1e89fp8n7.ll | 20 +- bench/libevent/optimized/evdns.ll | 80 +++---- bench/libjpeg-turbo/optimized/transupp.ll | 120 +++++------ .../optimized/stringutil_test.ll | 64 +++--- bench/libpng/optimized/pngset.ll | 104 ++++----- .../optimized/crypto_secretbox_easy.ll | 68 +++--- bench/libwebp/optimized/bit_writer_utils.ll | 32 +-- bench/libwebp/optimized/dwebp.ll | 26 +-- bench/libwebp/optimized/predictor_enc.ll | 96 ++++----- bench/lodepng/optimized/lodepng_util.ll | 50 ++--- bench/luajit/optimized/lj_alloc.ll | 146 ++++++------- bench/luajit/optimized/lj_debug.ll | 28 +-- bench/lvgl/optimized/lv_sprintf_builtin.ll | 100 ++++----- .../optimized/4llghrvh6vzci59o.ll | 46 ++-- bench/msdfgen/optimized/edge-segments.ll | 76 +++---- bench/nanosvg/optimized/nanosvgrast.ll | 54 ++--- bench/nuttx/optimized/lib_base64.ll | 120 +++++------ bench/opencc/optimized/Config.ll | 78 +++---- bench/openjdk/optimized/lowMemoryDetector.ll | 110 +++++----- bench/openmpi/optimized/pmix_pointer_array.ll | 42 ++-- bench/openspiel/optimized/tic_tac_toe.ll | 120 +++++------ bench/pbrt-v4/optimized/parser.ll | 72 +++---- bench/php/optimized/ir_check.ll | 18 +- bench/proj/optimized/conversion.ll | 60 +++--- bench/raylib/optimized/rmodels.ll | 180 ++++++++-------- bench/ripgrep-rs/optimized/79zj4cmg2a4glb1.ll | 116 +++++----- bench/rocksdb/optimized/clock_cache.ll | 16 +- .../optimized/44ayynfm08lnhjsw.ll | 12 +- .../optimized/5fgtm3ees9sdsrsg.ll | 68 +++--- .../optimized/spm_decode_main.ll | 126 +++++------ bench/stb/optimized/stb_tilemap_editor.ll | 160 +++++++------- bench/stb/optimized/stb_vorbis.ll | 184 ++++++++-------- .../optimized/1k9vblvd5jyd3qmf.ll | 40 ++-- bench/verilator/optimized/V3Options.ll | 40 ++-- bench/yalantinglibs/optimized/basic_usage.ll | 142 ++++++------- .../optimized/cco05ky1qb53ayhfyotquzvcb.ll | 42 ++-- bench/zlib/optimized/deflate.ll | 140 ++++++------ bench/zstd/optimized/zstd_opt.ll | 104 ++++----- bench/zxing/optimized/zueci.ll | 132 ++++++------ 69 files changed, 2552 insertions(+), 2552 deletions(-) diff --git a/bench/abc/optimized/giaQbf.ll b/bench/abc/optimized/giaQbf.ll index b6d0feecc4d..01233c9d0ff 100644 --- a/bench/abc/optimized/giaQbf.ll +++ b/bench/abc/optimized/giaQbf.ll @@ -6663,10 +6663,10 @@ define void @Gia_ManGenWriteRel(ptr noundef readonly captures(none) %0, i32 noun br label %.sink.split .sink.split: ; preds = %27, %33, %37 - %.sink76 = phi i32 [ %41, %37 ], [ %35, %33 ], [ %32, %27 ] + %.sink73 = phi i32 [ %41, %37 ], [ %35, %33 ], [ %32, %27 ] %.val48.val.us.sink.in = phi ptr [ %40, %37 ], [ %34, %33 ], [ %31, %27 ] %.val48.val.us.sink = load ptr, ptr %.val48.val.us.sink.in, align 8, !tbaa !152 - %42 = sext i32 %.sink76 to i64 + %42 = sext i32 %.sink73 to i64 %43 = getelementptr inbounds i64, ptr %.val48.val.us.sink, i64 %42 %44 = getelementptr inbounds nuw i32, ptr %43, i64 %20 %45 = load i32, ptr %44, align 4, !tbaa !12 diff --git a/bench/abseil-cpp/optimized/mutex.ll b/bench/abseil-cpp/optimized/mutex.ll index 28146d0cade..005f39969d3 100644 --- a/bench/abseil-cpp/optimized/mutex.ll +++ b/bench/abseil-cpp/optimized/mutex.ll @@ -590,8 +590,8 @@ define dso_local void @_ZN4absl5Mutex9TryRemoveEPNS_13base_internal14PerThreadSy 13: ; preds = %10 %14 = load ptr, ptr %12, align 256, !tbaa !56 - %.not39 = icmp eq ptr %14, %1 - br i1 %.not39, label %.loopexit.thread, label %.preheader + %.not37 = icmp eq ptr %14, %1 + br i1 %.not37, label %.loopexit.thread, label %.preheader .preheader: ; preds = %13 %15 = getelementptr inbounds nuw i8, ptr %1, i64 32 @@ -687,8 +687,8 @@ _ZN4abslL18MuEquivalentWaiterEPNS_13base_internal14PerThreadSynchES2_.exit.threa 63: ; preds = %59 %64 = load ptr, ptr %20, align 8, !tbaa !70 - %.not.i41 = icmp eq ptr %64, null - br i1 %.not.i41, label %65, label %.sink.split.i + %.not.i39 = icmp eq ptr %64, null + br i1 %.not.i39, label %65, label %.sink.split.i 65: ; preds = %63 %66 = load ptr, ptr %.1, align 8, !tbaa !56 @@ -714,23 +714,23 @@ _ZN4abslL4SkipEPNS_13base_internal14PerThreadSynchE.exit: ; preds = %.sink.split br i1 %71, label %.loopexit.thread, label %121 .loopexit.thread: ; preds = %13, %.loopexit - %.02765 = phi ptr [ %.128, %.loopexit ], [ %12, %13 ] + %.02763 = phi ptr [ %.128, %.loopexit ], [ %12, %13 ] %72 = phi ptr [ %67, %.loopexit ], [ %14, %13 ] %73 = load ptr, ptr %72, align 8, !tbaa !56 - store ptr %73, ptr %.02765, align 8, !tbaa !56 + store ptr %73, ptr %.02763, align 8, !tbaa !56 %74 = icmp eq ptr %72, %12 - %75 = icmp eq ptr %.02765, %12 + %75 = icmp eq ptr %.02763, %12 br i1 %74, label %76, label %78 76: ; preds = %.loopexit.thread - %77 = select i1 %75, ptr null, ptr %.02765 + %77 = select i1 %75, ptr null, ptr %.02763 br label %_ZN4abslL7DequeueEPNS_13base_internal14PerThreadSynchES2_.exit 78: ; preds = %.loopexit.thread br i1 %75, label %_ZN4abslL7DequeueEPNS_13base_internal14PerThreadSynchES2_.exit, label %79 79: ; preds = %78 - %80 = getelementptr inbounds nuw i8, ptr %.02765, i64 32 + %80 = getelementptr inbounds nuw i8, ptr %.02763, i64 32 %81 = load ptr, ptr %80, align 8, !tbaa !57 %82 = load ptr, ptr %81, align 8, !tbaa !58 %83 = getelementptr inbounds nuw i8, ptr %73, i64 32 @@ -740,7 +740,7 @@ _ZN4abslL4SkipEPNS_13base_internal14PerThreadSynchE.exit: ; preds = %.sink.split br i1 %86, label %87, label %_ZN4abslL7DequeueEPNS_13base_internal14PerThreadSynchES2_.exit 87: ; preds = %79 - %88 = getelementptr inbounds nuw i8, ptr %.02765, i64 24 + %88 = getelementptr inbounds nuw i8, ptr %.02763, i64 24 %89 = load i32, ptr %88, align 8, !tbaa !65 %90 = getelementptr inbounds nuw i8, ptr %73, i64 24 %91 = load i32, ptr %90, align 8, !tbaa !65 @@ -786,7 +786,7 @@ _ZN4abslL18MuEquivalentWaiterEPNS_13base_internal14PerThreadSynchES2_.exit.i: ; %115 = getelementptr inbounds nuw i8, ptr %73, i64 8 %116 = load ptr, ptr %115, align 8, !tbaa !70 %.not22.i = icmp eq ptr %116, null - %117 = getelementptr inbounds nuw i8, ptr %.02765, i64 8 + %117 = getelementptr inbounds nuw i8, ptr %.02763, i64 8 br i1 %.not22.i, label %119, label %118 118: ; preds = %114 @@ -806,10 +806,10 @@ _ZN4abslL7DequeueEPNS_13base_internal14PerThreadSynchES2_.exit: ; preds = %76, % 121: ; preds = %.loopexit, %_ZN4abslL7DequeueEPNS_13base_internal14PerThreadSynchES2_.exit %.029 = phi ptr [ %.0.i, %_ZN4abslL7DequeueEPNS_13base_internal14PerThreadSynchES2_.exit ], [ %12, %.loopexit ] - %.not40 = icmp eq ptr %.029, null + %.not38 = icmp eq ptr %.029, null %122 = getelementptr inbounds nuw i8, ptr %.029, i64 40 %123 = getelementptr inbounds nuw i8, ptr %.029, i64 19 - br i1 %.not40, label %_ZNSt13__atomic_baseIlE21compare_exchange_weakERllSt12memory_orderS2_.exit.us.preheader, label %_ZNSt13__atomic_baseIlE21compare_exchange_weakERllSt12memory_orderS2_.exit.preheader + br i1 %.not38, label %_ZNSt13__atomic_baseIlE21compare_exchange_weakERllSt12memory_orderS2_.exit.us.preheader, label %_ZNSt13__atomic_baseIlE21compare_exchange_weakERllSt12memory_orderS2_.exit.preheader _ZNSt13__atomic_baseIlE21compare_exchange_weakERllSt12memory_orderS2_.exit.us.preheader: ; preds = %10, %121 br label %_ZNSt13__atomic_baseIlE21compare_exchange_weakERllSt12memory_orderS2_.exit.us diff --git a/bench/actix-rs/optimized/1xpd5itwjglolvjs.ll b/bench/actix-rs/optimized/1xpd5itwjglolvjs.ll index 32eafe105e1..8390ef9e491 100644 --- a/bench/actix-rs/optimized/1xpd5itwjglolvjs.ll +++ b/bench/actix-rs/optimized/1xpd5itwjglolvjs.ll @@ -1237,14 +1237,14 @@ _ZN15actix_multipart6server6Safety7current17h31dc119cf176b21aE.exit.thread.us.i: store i64 4, ptr %0, align 8, !alias.scope !250, !noalias !253 br label %_ZN15actix_multipart6server14InnerMultipart4poll17h5a08d1a83e3cb7b5E.exit -.preheader.split.i: ; preds = %.preheader.split.i.outer263, %.preheader.split.i - br i1 %.pre336340.i.ph264, label %_ZN15actix_multipart6server6Safety7current17h31dc119cf176b21aE.exit.i50, label %.preheader.split.i, !llvm.loop !256 +.preheader.split.i: ; preds = %.preheader.split.i.outer262, %.preheader.split.i + br i1 %.pre336340.i.ph263, label %_ZN15actix_multipart6server6Safety7current17h31dc119cf176b21aE.exit.i50, label %.preheader.split.i, !llvm.loop !256 _ZN15actix_multipart6server6Safety7current17h31dc119cf176b21aE.exit.i50: ; preds = %.preheader.split.i - br i1 %573, label %96, label %.preheader.split.i.outer263, !llvm.loop !256 + br i1 %573, label %96, label %.preheader.split.i.outer262, !llvm.loop !256 -.preheader.split.i.outer263: ; preds = %.preheader.split.i.outer, %_ZN15actix_multipart6server6Safety7current17h31dc119cf176b21aE.exit.i50 - %.pre336340.i.ph264 = phi i1 [ %569, %.preheader.split.i.outer ], [ true, %_ZN15actix_multipart6server6Safety7current17h31dc119cf176b21aE.exit.i50 ] +.preheader.split.i.outer262: ; preds = %.preheader.split.i.outer, %_ZN15actix_multipart6server6Safety7current17h31dc119cf176b21aE.exit.i50 + %.pre336340.i.ph263 = phi i1 [ %569, %.preheader.split.i.outer ], [ true, %_ZN15actix_multipart6server6Safety7current17h31dc119cf176b21aE.exit.i50 ] br label %.preheader.split.i 96: ; preds = %_ZN15actix_multipart6server6Safety7current17h31dc119cf176b21aE.exit.i50 @@ -1337,10 +1337,10 @@ _ZN15actix_multipart6server6Safety7current17h31dc119cf176b21aE.exit.i.i: ; preds br i1 %123, label %124, label %558 124: ; preds = %_ZN15actix_multipart6server6Safety7current17h31dc119cf176b21aE.exit.i.i.thread, %_ZN15actix_multipart6server6Safety7current17h31dc119cf176b21aE.exit.i.i - %.val375.i181 = phi ptr [ %.val, %_ZN15actix_multipart6server6Safety7current17h31dc119cf176b21aE.exit.i.i.thread ], [ %.val375.i.pre, %_ZN15actix_multipart6server6Safety7current17h31dc119cf176b21aE.exit.i.i ] - %125 = icmp ne ptr %.val375.i181, null + %.val375.i180 = phi ptr [ %.val, %_ZN15actix_multipart6server6Safety7current17h31dc119cf176b21aE.exit.i.i.thread ], [ %.val375.i.pre, %_ZN15actix_multipart6server6Safety7current17h31dc119cf176b21aE.exit.i.i ] + %125 = icmp ne ptr %.val375.i180, null call void @llvm.assume(i1 %125) - %126 = getelementptr inbounds nuw i8, ptr %.val375.i181, i64 16 + %126 = getelementptr inbounds nuw i8, ptr %.val375.i180, i64 16 %127 = load i64, ptr %126, align 8, !noalias !255, !noundef !4 %128 = icmp eq i64 %127, 0 br i1 %128, label %130, label %129 @@ -1351,7 +1351,7 @@ _ZN15actix_multipart6server6Safety7current17h31dc119cf176b21aE.exit.i.i: ; preds 130: ; preds = %124 store i64 -1, ptr %126, align 8, !noalias !255 - %131 = getelementptr inbounds nuw i8, ptr %.val375.i181, i64 24 + %131 = getelementptr inbounds nuw i8, ptr %.val375.i180, i64 24 switch i8 %81, label %default.unreachable [ i8 1, label %132 i8 2, label %200 @@ -1405,7 +1405,7 @@ _ZN15actix_multipart6server6Safety7current17h31dc119cf176b21aE.exit.i.i: ; preds br label %332 147: ; preds = %144 - %148 = getelementptr inbounds nuw i8, ptr %.val375.i181, i64 72 + %148 = getelementptr inbounds nuw i8, ptr %.val375.i180, i64 72 %149 = load i8, ptr %148, align 8, !range !148, !alias.scope !277, !noalias !283, !noundef !4 %150 = trunc nuw i8 %149 to i1 br i1 %150, label %332, label %333 @@ -1553,7 +1553,7 @@ _ZN15actix_multipart6server6Safety7current17h31dc119cf176b21aE.exit.i.i: ; preds .noexc237.i: ; preds = %200 %205 = load i64, ptr %24, align 8, !range !5, !noalias !339, !noundef !4 %206 = icmp eq i64 %205, 5 - %207 = getelementptr inbounds nuw i8, ptr %.val375.i181, i64 72 + %207 = getelementptr inbounds nuw i8, ptr %.val375.i180, i64 72 %208 = load i8, ptr %207, align 8, !range !148, !alias.scope !343, !noalias !344 %209 = trunc nuw i8 %208 to i1 %or.cond4.i.i.i = select i1 %206, i1 %209, i1 false @@ -2039,7 +2039,7 @@ _ZN15actix_multipart6server14InnerMultipart13read_boundary17h45c533dd8c15961dE.e br label %.thread187.i 351: ; preds = %347 - %352 = getelementptr inbounds nuw i8, ptr %.val375.i181, i64 72 + %352 = getelementptr inbounds nuw i8, ptr %.val375.i180, i64 72 %353 = load i8, ptr %352, align 8, !range !148, !alias.scope !445, !noalias !451, !noundef !4 %354 = trunc nuw i8 %353 to i1 br i1 %354, label %.thread187.i, label %.thread208.i @@ -2560,11 +2560,11 @@ _ZN10actix_http6header3map9HeaderMap3get17h2ce05ef7d9937dfaE.exit.i: ; preds = % call void @llvm.lifetime.start.p0(ptr nonnull %32), !noalias !255 call void @llvm.lifetime.start.p0(ptr nonnull %31), !noalias !255 call void @llvm.lifetime.start.p0(ptr nonnull %30), !noalias !255 - %.val.i.i256.i = load i64, ptr %.val375.i181, align 8, !noalias !577, !noundef !4 + %.val.i.i256.i = load i64, ptr %.val375.i180, align 8, !noalias !577, !noundef !4 %498 = icmp ne i64 %.val.i.i256.i, 0 call void @llvm.assume(i1 %498) %499 = add i64 %.val.i.i256.i, 1 - store i64 %499, ptr %.val375.i181, align 8, !noalias !577 + store i64 %499, ptr %.val375.i180, align 8, !noalias !577 %500 = icmp eq i64 %499, 0 br i1 %500, label %501, label %"_ZN74_$LT$actix_multipart..server..PayloadRef$u20$as$u20$core..clone..Clone$GT$5clone17hcf6642911f6ea36eE.exit.i" @@ -2615,7 +2615,7 @@ _ZN10actix_http6header3map9HeaderMap3get17h2ce05ef7d9937dfaE.exit.i: ; preds = % to label %"_ZN4core3ptr59drop_in_place$LT$core..option..Option$LT$mime..Mime$GT$$GT$17hdd7c867c45b2849dE.exit.i" unwind label %482, !noalias !250 "_ZN74_$LT$actix_multipart..server..PayloadRef$u20$as$u20$core..clone..Clone$GT$5clone17hcf6642911f6ea36eE.exit.i": ; preds = %497 - store ptr %.val375.i181, ptr %30, align 8, !noalias !255 + store ptr %.val375.i180, ptr %30, align 8, !noalias !255 call void @llvm.lifetime.start.p0(ptr nonnull %29), !noalias !255 invoke void @"_ZN60_$LT$alloc..string..String$u20$as$u20$core..clone..Clone$GT$5clone17hf54273bb14505f61E"(ptr noalias noundef nonnull sret({ { { i64, ptr, {} }, i64 } }) align 8 captures(none) dereferenceable(24) %29, ptr noalias noundef nonnull readonly align 8 dereferenceable(48) %42) to label %520 unwind label %542, !noalias !250 @@ -2626,7 +2626,7 @@ _ZN10actix_http6header3map9HeaderMap3get17h2ce05ef7d9937dfaE.exit.i: ; preds = % br label %"_ZN4core3ptr56drop_in_place$LT$actix_multipart..server..PayloadRef$GT$17hbe197dd66630070cE.exit.i" 520: ; preds = %"_ZN74_$LT$actix_multipart..server..PayloadRef$u20$as$u20$core..clone..Clone$GT$5clone17hcf6642911f6ea36eE.exit.i" - invoke fastcc void @_ZN15actix_multipart6server10InnerField9new_in_rc17hc75612f9b3bb1862E(ptr noalias noundef align 8 captures(none) dereferenceable(40) %31, ptr noundef nonnull %.val375.i181, ptr noalias noundef align 8 captures(none) dereferenceable(24) %29, ptr noalias noundef readonly align 8 dereferenceable(64) %39) + invoke fastcc void @_ZN15actix_multipart6server10InnerField9new_in_rc17hc75612f9b3bb1862E(ptr noalias noundef align 8 captures(none) dereferenceable(40) %31, ptr noundef nonnull %.val375.i180, ptr noalias noundef align 8 captures(none) dereferenceable(24) %29, ptr noalias noundef readonly align 8 dereferenceable(64) %39) to label %521 unwind label %518, !noalias !250 521: ; preds = %520 @@ -2853,7 +2853,7 @@ common.resume: ; preds = %101, %120, %.body.i %571 = getelementptr inbounds nuw i8, ptr %570, i64 16 %572 = load i8, ptr %571, align 1, !range !148, !noalias !255, !noundef !4 %573 = trunc nuw i8 %572 to i1 - br label %.preheader.split.i.outer263 + br label %.preheader.split.i.outer262 574: ; preds = %105 call void @llvm.experimental.noalias.scope.decl(metadata !626) diff --git a/bench/assimp/optimized/BlenderLoader.ll b/bench/assimp/optimized/BlenderLoader.ll index d0508af7575..7be97898b15 100644 --- a/bench/assimp/optimized/BlenderLoader.ll +++ b/bench/assimp/optimized/BlenderLoader.ll @@ -8641,17 +8641,17 @@ _ZNSt6vectorIP9aiTextureSaIS1_EE9push_backEOS1_.exit: ; preds = %48, %_ZNSt6vect br label %.critedge.thread .critedge.thread: ; preds = %_ZNSt6vectorIP9aiTextureSaIS1_EE9push_backEOS1_.exit, %.critedge, %77 - %.0.ptr.lcssa93 = phi ptr [ %.0.ptr.lcssa, %77 ], [ %.0.ptr.lcssa, %.critedge ], [ %.0.ptr74, %_ZNSt6vectorIP9aiTextureSaIS1_EE9push_backEOS1_.exit ] - %.0.idx.lcssa92 = phi i64 [ %.0.idx.lcssa, %77 ], [ %.0.idx.lcssa, %.critedge ], [ %.add, %_ZNSt6vectorIP9aiTextureSaIS1_EE9push_backEOS1_.exit ] + %.0.ptr.lcssa92 = phi ptr [ %.0.ptr.lcssa, %77 ], [ %.0.ptr.lcssa, %.critedge ], [ %.0.ptr74, %_ZNSt6vectorIP9aiTextureSaIS1_EE9push_backEOS1_.exit ] + %.0.idx.lcssa91 = phi i64 [ %.0.idx.lcssa, %77 ], [ %.0.idx.lcssa, %.critedge ], [ %.add, %_ZNSt6vectorIP9aiTextureSaIS1_EE9push_backEOS1_.exit ] %83 = phi i8 [ %82, %77 ], [ 0, %.critedge ], [ 0, %_ZNSt6vectorIP9aiTextureSaIS1_EE9push_backEOS1_.exit ] %84 = getelementptr inbounds nuw i8, ptr %72, i64 8 store i8 %83, ptr %84, align 8 %85 = add nsw i64 %73, 1062 - %86 = icmp sgt i64 %.0.idx.lcssa92, %85 + %86 = icmp sgt i64 %.0.idx.lcssa91, %85 br i1 %86, label %93, label %87 87: ; preds = %.critedge.thread - %88 = getelementptr inbounds nuw i8, ptr %.0.ptr.lcssa93, i64 2 + %88 = getelementptr inbounds nuw i8, ptr %.0.ptr.lcssa92, i64 2 %89 = load i8, ptr %88, align 1 %90 = zext i8 %89 to i32 %91 = tail call i32 @tolower(i32 noundef %90) #31 @@ -8663,11 +8663,11 @@ _ZNSt6vectorIP9aiTextureSaIS1_EE9push_backEOS1_.exit: ; preds = %48, %_ZNSt6vect %95 = getelementptr inbounds nuw i8, ptr %72, i64 9 store i8 %94, ptr %95, align 1 %96 = add nsw i64 %73, 1061 - %97 = icmp sgt i64 %.0.idx.lcssa92, %96 + %97 = icmp sgt i64 %.0.idx.lcssa91, %96 br i1 %97, label %104, label %98 98: ; preds = %93 - %99 = getelementptr inbounds nuw i8, ptr %.0.ptr.lcssa93, i64 3 + %99 = getelementptr inbounds nuw i8, ptr %.0.ptr.lcssa92, i64 3 %100 = load i8, ptr %99, align 1 %101 = zext i8 %100 to i32 %102 = tail call i32 @tolower(i32 noundef %101) #31 diff --git a/bench/bdwgc/optimized/gc.ll b/bench/bdwgc/optimized/gc.ll index 6204c2d4550..90e0a63306b 100644 --- a/bench/bdwgc/optimized/gc.ll +++ b/bench/bdwgc/optimized/gc.ll @@ -2327,9 +2327,9 @@ GC_find_header.exit: ; preds = %10 22: ; preds = %GC_find_header.exit %23 = ptrtoint ptr %1 to i64 - %.not58.unshifted = xor i64 %23, %5 - %.not58 = icmp ult i64 %.not58.unshifted, 4096 - br i1 %.not58, label %86, label %24 + %.not57.unshifted = xor i64 %23, %5 + %.not57 = icmp ult i64 %.not57.unshifted, 4096 + br i1 %.not57, label %86, label %24 24: ; preds = %22 %25 = lshr i64 %23, 22 @@ -2338,23 +2338,23 @@ GC_find_header.exit: ; preds = %10 br label %28 28: ; preds = %28, %24 - %.0.in.i62 = phi ptr [ %27, %24 ], [ %34, %28 ] - %.0.i63 = load ptr, ptr %.0.in.i62, align 8, !tbaa !53 - %29 = getelementptr inbounds nuw i8, ptr %.0.i63, i64 8208 + %.0.in.i61 = phi ptr [ %27, %24 ], [ %34, %28 ] + %.0.i62 = load ptr, ptr %.0.in.i61, align 8, !tbaa !53 + %29 = getelementptr inbounds nuw i8, ptr %.0.i62, i64 8208 %30 = load i64, ptr %29, align 8, !tbaa !54 %31 = icmp ne i64 %30, %25 - %32 = icmp ne ptr %.0.i63, %9 + %32 = icmp ne ptr %.0.i62, %9 %33 = select i1 %31, i1 %32, i1 false - %34 = getelementptr inbounds nuw i8, ptr %.0.i63, i64 8216 - br i1 %33, label %28, label %GC_find_header.exit64, !llvm.loop !56 + %34 = getelementptr inbounds nuw i8, ptr %.0.i62, i64 8216 + br i1 %33, label %28, label %GC_find_header.exit63, !llvm.loop !56 -GC_find_header.exit64: ; preds = %28 +GC_find_header.exit63: ; preds = %28 %35 = lshr i64 %23, 12 %36 = and i64 %35, 1023 - %37 = getelementptr inbounds nuw ptr, ptr %.0.i63, i64 %36 + %37 = getelementptr inbounds nuw ptr, ptr %.0.i62, i64 %36 %38 = load ptr, ptr %37, align 8, !tbaa !57 - %.not59 = icmp eq ptr %38, null - br i1 %.not59, label %86, label %.sink.split + %.not58 = icmp eq ptr %38, null + br i1 %.not58, label %86, label %.sink.split 39: ; preds = %GC_find_header.exit %40 = icmp ult ptr %20, inttoptr (i64 4096 to ptr) @@ -2365,7 +2365,7 @@ GC_find_header.exit64: ; preds = %28 br label %42 42: ; preds = %GC_find_header.exit.i, %.lr.ph.i - %.012.i = phi ptr [ %20, %.lr.ph.i ], [ %.0.i65, %GC_find_header.exit.i ] + %.012.i = phi ptr [ %20, %.lr.ph.i ], [ %.0.i64, %GC_find_header.exit.i ] %.0811.i = phi ptr [ %41, %.lr.ph.i ], [ %45, %GC_find_header.exit.i ] %43 = ptrtoint ptr %.012.i to i64 %44 = sub nsw i64 0, %43 @@ -2391,20 +2391,20 @@ GC_find_header.exit.i: ; preds = %50 %57 = lshr i64 %46, 12 %58 = and i64 %57, 1023 %59 = getelementptr inbounds nuw ptr, ptr %.0.i.i, i64 %58 - %.0.i65 = load ptr, ptr %59, align 8, !tbaa !57 - %60 = icmp ult ptr %.0.i65, inttoptr (i64 4096 to ptr) + %.0.i64 = load ptr, ptr %59, align 8, !tbaa !57 + %60 = icmp ult ptr %.0.i64, inttoptr (i64 4096 to ptr) br i1 %60, label %42, label %GC_find_starting_hblk.exit, !llvm.loop !67 GC_find_starting_hblk.exit: ; preds = %GC_find_header.exit.i - %61 = getelementptr inbounds nuw i8, ptr %.0.i65, i64 32 + %61 = getelementptr inbounds nuw i8, ptr %.0.i64, i64 32 %62 = load i64, ptr %61, align 8, !tbaa !58 %63 = getelementptr inbounds nuw i8, ptr %45, i64 %62 %64 = icmp uge ptr %0, %63 %65 = icmp uge ptr %1, %63 - %or.cond.not70 = or i1 %64, %65 + %or.cond.not69 = or i1 %64, %65 %66 = icmp ult ptr %1, %45 - %or.cond60 = or i1 %66, %or.cond.not70 - br i1 %or.cond60, label %.sink.split, label %86 + %or.cond59 = or i1 %66, %or.cond.not69 + br i1 %or.cond59, label %.sink.split, label %86 67: ; preds = %39 %68 = getelementptr inbounds nuw i8, ptr %20, i64 32 @@ -2439,15 +2439,15 @@ GC_find_starting_hblk.exit: ; preds = %GC_find_header.exit %.046 = phi ptr [ %71, %72 ], [ %80, %.thread ] %83 = icmp uge ptr %1, %.046 %84 = icmp ult ptr %1, %.049 - %or.cond61 = select i1 %83, i1 %84, i1 false - br i1 %or.cond61, label %86, label %.sink.split + %or.cond60 = select i1 %83, i1 %84, i1 false + br i1 %or.cond60, label %86, label %.sink.split -.sink.split: ; preds = %82, %75, %72, %GC_find_starting_hblk.exit, %GC_find_header.exit64 +.sink.split: ; preds = %82, %75, %72, %GC_find_starting_hblk.exit, %GC_find_header.exit63 %85 = load ptr, ptr @GC_same_obj_print_proc, align 8, !tbaa !12 tail call void %85(ptr noundef %0, ptr noundef %1) #46 br label %86 -86: ; preds = %.sink.split, %82, %GC_find_starting_hblk.exit, %22, %GC_find_header.exit64 +86: ; preds = %.sink.split, %82, %GC_find_starting_hblk.exit, %22, %GC_find_header.exit63 ret ptr %0 } @@ -43381,8 +43381,8 @@ define internal fastcc void @soft_set_grungy_pages(ptr noundef %0, ptr noundef % 42: ; preds = %39 %43 = load i64, ptr @pagemap_buf_fpos, align 8, !tbaa !10 %44 = add nsw i64 %43, %40 - %.not44.i = icmp eq i64 %44, %.034.i - br i1 %.not44.i, label %53, label %45 + %.not43.i = icmp eq i64 %44, %.034.i + br i1 %.not43.i, label %53, label %45 45: ; preds = %42, %39 %46 = load i32, ptr @pagemap_fd, align 4, !tbaa !3 diff --git a/bench/box2d/optimized/imgui_widgets.ll b/bench/box2d/optimized/imgui_widgets.ll index 888e0a630b7..cf542c28713 100644 --- a/bench/box2d/optimized/imgui_widgets.ll +++ b/bench/box2d/optimized/imgui_widgets.ll @@ -45046,12 +45046,12 @@ define linkonce_odr dso_local noundef i32 @_ZN5ImGui20ScaleValueFromRatioTIiifEE %.pre-phi = phi float [ %.pre, %._crit_edge ], [ %28, %26 ] %31 = phi float [ %23, %._crit_edge ], [ %29, %26 ] %32 = icmp slt i32 %3, %2 - %.095 = select i1 %32, float %31, float %22 - %.093 = select i1 %32, float %22, float %31 + %.093 = select i1 %32, float %31, float %22 + %.091 = select i1 %32, float %22, float %31 %33 = icmp eq i32 %3, 0 %34 = icmp slt i32 %2, 0 - %or.cond83 = and i1 %34, %33 - %.194 = select i1 %or.cond83, float %.pre-phi, float %.093 + %or.cond81 = and i1 %34, %33 + %.192 = select i1 %or.cond81, float %.pre-phi, float %.091 %35 = fsub float 1.000000e+00, %1 %36 = select i1 %32, float %35, float %1 %37 = mul nsw i32 %3, %2 @@ -45069,15 +45069,15 @@ define linkonce_odr dso_local noundef i32 @_ZN5ImGui20ScaleValueFromRatioTIiifEE %47 = fadd float %6, %45 %48 = fcmp ult float %36, %46 %49 = fcmp ugt float %36, %47 - %or.cond84 = or i1 %48, %49 - br i1 %or.cond84, label %50, label %103 + %or.cond82 = or i1 %48, %49 + br i1 %or.cond82, label %50, label %103 50: ; preds = %39 %51 = fcmp olt float %36, %45 br i1 %51, label %52, label %61 52: ; preds = %50 - %53 = fneg float %.095 + %53 = fneg float %.093 %54 = fdiv float %53, %5 %55 = fdiv float %36, %46 %56 = fsub float 1.000000e+00, %55 @@ -45088,7 +45088,7 @@ define linkonce_odr dso_local noundef i32 @_ZN5ImGui20ScaleValueFromRatioTIiifEE br label %103 61: ; preds = %50 - %62 = fdiv float %.194, %5 + %62 = fdiv float %.192, %5 %63 = fsub float %36, %47 %64 = fsub float 1.000000e+00, %47 %65 = fdiv float %63, %64 @@ -45099,21 +45099,21 @@ define linkonce_odr dso_local noundef i32 @_ZN5ImGui20ScaleValueFromRatioTIiifEE 69: ; preds = %30 %70 = or i32 %3, %2 - %or.cond85.not = icmp sgt i32 %70, -1 - br i1 %or.cond85.not, label %77, label %71 + %or.cond83.not = icmp sgt i32 %70, -1 + br i1 %or.cond83.not, label %77, label %71 71: ; preds = %69 - %72 = fdiv float %.095, %.194 + %72 = fdiv float %.093, %.192 %73 = fsub float 1.000000e+00, %36 %74 = tail call noundef float @powf(float noundef %72, float noundef %73) #43, !tbaa !176 - %75 = fmul float %.194, %74 + %75 = fmul float %.192, %74 %76 = fptosi float %75 to i32 br label %103 77: ; preds = %69 - %78 = fdiv float %.194, %.095 + %78 = fdiv float %.192, %.093 %79 = tail call noundef float @powf(float noundef %78, float noundef %36) #43, !tbaa !176 - %80 = fmul float %.095, %79 + %80 = fmul float %.093, %79 %81 = fptosi float %80 to i32 br label %103 @@ -45615,13 +45615,13 @@ define linkonce_odr dso_local noundef i64 @_ZN5ImGui20ScaleValueFromRatioTIxxdEE %.pre-phi = phi float [ %.pre, %._crit_edge ], [ %30, %28 ] %34 = phi double [ %25, %._crit_edge ], [ %32, %28 ] %35 = icmp slt i64 %3, %2 - %.093 = select i1 %35, double %34, double %24 - %.091 = select i1 %35, double %24, double %34 + %.091 = select i1 %35, double %34, double %24 + %.089 = select i1 %35, double %24, double %34 %36 = icmp eq i64 %3, 0 %37 = icmp slt i64 %2, 0 - %or.cond81 = and i1 %37, %36 + %or.cond79 = and i1 %37, %36 %38 = fpext float %.pre-phi to double - %.192 = select i1 %or.cond81, double %38, double %.091 + %.190 = select i1 %or.cond79, double %38, double %.089 %39 = fsub float 1.000000e+00, %1 %40 = select i1 %35, float %39, float %1 %41 = mul nsw i64 %3, %2 @@ -45641,15 +45641,15 @@ define linkonce_odr dso_local noundef i64 @_ZN5ImGui20ScaleValueFromRatioTIxxdEE %53 = fadd float %6, %51 %54 = fcmp ult float %40, %52 %55 = fcmp ugt float %40, %53 - %or.cond82 = or i1 %54, %55 - br i1 %or.cond82, label %56, label %114 + %or.cond80 = or i1 %54, %55 + br i1 %or.cond80, label %56, label %114 56: ; preds = %43 %57 = fcmp olt float %40, %51 br i1 %57, label %58, label %68 58: ; preds = %56 - %59 = fneg double %.093 + %59 = fneg double %.091 %60 = fdiv double %59, %16 %61 = fdiv float %40, %52 %62 = fsub float 1.000000e+00, %61 @@ -45661,7 +45661,7 @@ define linkonce_odr dso_local noundef i64 @_ZN5ImGui20ScaleValueFromRatioTIxxdEE br label %114 68: ; preds = %56 - %69 = fdiv double %.192, %16 + %69 = fdiv double %.190, %16 %70 = fsub float %40, %53 %71 = fsub float 1.000000e+00, %53 %72 = fdiv float %70, %71 @@ -45673,23 +45673,23 @@ define linkonce_odr dso_local noundef i64 @_ZN5ImGui20ScaleValueFromRatioTIxxdEE 77: ; preds = %33 %78 = or i64 %3, %2 - %or.cond83.not = icmp sgt i64 %78, -1 - br i1 %or.cond83.not, label %86, label %79 + %or.cond81.not = icmp sgt i64 %78, -1 + br i1 %or.cond81.not, label %86, label %79 79: ; preds = %77 - %80 = fdiv double %.093, %.192 + %80 = fdiv double %.091, %.190 %81 = fsub float 1.000000e+00, %40 %82 = fpext float %81 to double %83 = tail call noundef double @pow(double noundef %80, double noundef %82) #43, !tbaa !176 - %84 = fmul double %.192, %83 + %84 = fmul double %.190, %83 %85 = fptosi double %84 to i64 br label %114 86: ; preds = %77 - %87 = fdiv double %.192, %.093 + %87 = fdiv double %.190, %.091 %88 = fpext float %40 to double %89 = tail call noundef double @pow(double noundef %87, double noundef %88) #43, !tbaa !176 - %90 = fmul double %.093, %89 + %90 = fmul double %.091, %89 %91 = fptosi double %90 to i64 br label %114 @@ -46577,8 +46577,8 @@ define linkonce_odr dso_local noundef float @_ZN5ImGui20ScaleRatioFromValueTIddd define linkonce_odr dso_local noundef double @_ZN5ImGui20ScaleValueFromRatioTIdddEET_ifS1_S1_bff(i32 noundef %0, float noundef %1, double noundef %2, double noundef %3, i1 noundef zeroext %4, float noundef %5, float noundef %6) local_unnamed_addr #4 comdat { %8 = fcmp ole float %1, 0.000000e+00 %9 = fcmp oeq double %2, %3 - %or.cond85 = or i1 %8, %9 - br i1 %or.cond85, label %105, label %10 + %or.cond83 = or i1 %8, %9 + br i1 %or.cond83, label %105, label %10 10: ; preds = %7 %11 = fcmp ult float %1, 1.000000e+00 @@ -46621,13 +46621,13 @@ define linkonce_odr dso_local noundef double @_ZN5ImGui20ScaleValueFromRatioTIdd %.pre-phi = phi float [ %.pre, %._crit_edge ], [ %28, %26 ] %32 = phi double [ %3, %._crit_edge ], [ %30, %26 ] %33 = fcmp olt double %3, %2 - %.096 = select i1 %33, double %32, double %23 - %.094 = select i1 %33, double %23, double %32 + %.094 = select i1 %33, double %32, double %23 + %.092 = select i1 %33, double %23, double %32 %34 = fcmp oeq double %3, 0.000000e+00 %35 = fcmp olt double %2, 0.000000e+00 %or.cond = and i1 %35, %34 %36 = fpext float %.pre-phi to double - %.195 = select i1 %or.cond, double %36, double %.094 + %.193 = select i1 %or.cond, double %36, double %.092 %37 = fsub float 1.000000e+00, %1 %38 = select i1 %33, float %37, float %1 %39 = fmul double %2, %3 @@ -46648,15 +46648,15 @@ define linkonce_odr dso_local noundef double @_ZN5ImGui20ScaleValueFromRatioTIdd %52 = fadd float %6, %50 %53 = fcmp ult float %38, %51 %54 = fcmp ugt float %38, %52 - %or.cond86 = or i1 %53, %54 - br i1 %or.cond86, label %55, label %105 + %or.cond84 = or i1 %53, %54 + br i1 %or.cond84, label %55, label %105 55: ; preds = %41 %56 = fcmp olt float %38, %50 br i1 %56, label %57, label %66 57: ; preds = %55 - %58 = fneg double %.096 + %58 = fneg double %.094 %59 = fdiv double %58, %15 %60 = fdiv float %38, %51 %61 = fsub float 1.000000e+00, %60 @@ -46667,7 +46667,7 @@ define linkonce_odr dso_local noundef double @_ZN5ImGui20ScaleValueFromRatioTIdd br label %105 66: ; preds = %55 - %67 = fdiv double %.195, %15 + %67 = fdiv double %.193, %15 %68 = fsub float %38, %52 %69 = fsub float 1.000000e+00, %52 %70 = fdiv float %68, %69 @@ -46682,18 +46682,18 @@ define linkonce_odr dso_local noundef double @_ZN5ImGui20ScaleValueFromRatioTIdd br i1 %or.cond3, label %76, label %82 76: ; preds = %74 - %77 = fdiv double %.096, %.195 + %77 = fdiv double %.094, %.193 %78 = fsub float 1.000000e+00, %38 %79 = fpext float %78 to double %80 = tail call noundef double @pow(double noundef %77, double noundef %79) #43, !tbaa !176 - %81 = fmul double %.195, %80 + %81 = fmul double %.193, %80 br label %105 82: ; preds = %74 - %83 = fdiv double %.195, %.096 + %83 = fdiv double %.193, %.094 %84 = fpext float %38 to double %85 = tail call noundef double @pow(double noundef %83, double noundef %84) #43, !tbaa !176 - %86 = fmul double %.096, %85 + %86 = fmul double %.094, %85 br label %105 87: ; preds = %12 diff --git a/bench/box2d/optimized/solver.ll b/bench/box2d/optimized/solver.ll index 0484be02fdc..56a34dd3e30 100644 --- a/bench/box2d/optimized/solver.ll +++ b/bench/box2d/optimized/solver.ll @@ -3667,7 +3667,7 @@ define internal noundef zeroext i1 @b2ContinuousQueryCallback(i32 %0, i32 nounde %12 = load ptr, ptr %11, align 8, !tbaa !295 %13 = load i32, ptr %10, align 8, !tbaa !172 %14 = icmp eq i32 %1, %13 - br i1 %14, label %.critedge133, label %15 + br i1 %14, label %.critedge132, label %15 15: ; preds = %3 %16 = load ptr, ptr %2, align 8, !tbaa !292 @@ -3680,46 +3680,46 @@ define internal noundef zeroext i1 @b2ContinuousQueryCallback(i32 %0, i32 nounde %22 = getelementptr inbounds nuw i8, ptr %10, i64 4 %23 = load i32, ptr %22, align 4, !tbaa !302 %24 = icmp eq i32 %21, %23 - br i1 %24, label %.critedge133, label %25 + br i1 %24, label %.critedge132, label %25 25: ; preds = %15 %26 = getelementptr inbounds nuw i8, ptr %19, i64 16 %27 = load i32, ptr %26, align 8, !tbaa !298 %.not = icmp eq i32 %27, -1 - br i1 %.not, label %28, label %.critedge133 + br i1 %.not, label %28, label %.critedge132 28: ; preds = %25 %29 = getelementptr inbounds nuw i8, ptr %10, i64 96 %30 = getelementptr inbounds nuw i8, ptr %19, i64 96 %31 = tail call zeroext i1 @b2ShouldShapesCollide(ptr noundef nonnull byval(%struct.b2Filter) align 8 %29, ptr noundef nonnull byval(%struct.b2Filter) align 8 %30) #8 - br i1 %31, label %32, label %.critedge133 + br i1 %31, label %32, label %.critedge132 32: ; preds = %28 %33 = getelementptr inbounds nuw i8, ptr %16, i64 1032 %34 = load i32, ptr %20, align 4, !tbaa !302 - %.val135 = load ptr, ptr %33, align 8, !tbaa !291 + %.val134 = load ptr, ptr %33, align 8, !tbaa !291 %35 = sext i32 %34 to i64 - %36 = getelementptr inbounds %struct.b2Body, ptr %.val135, i64 %35 + %36 = getelementptr inbounds %struct.b2Body, ptr %.val134, i64 %35 %37 = tail call ptr @b2GetBodySim(ptr noundef nonnull %16, ptr noundef %36) #8 %38 = getelementptr inbounds nuw i8, ptr %37, i64 93 %39 = load i8, ptr %38, align 1, !tbaa !196, !range !197, !noundef !198 %40 = trunc nuw i8 %39 to i1 - br i1 %40, label %.critedge133, label %41 + br i1 %40, label %.critedge132, label %41 41: ; preds = %32 %42 = getelementptr inbounds nuw i8, ptr %12, i64 88 %43 = load i32, ptr %42, align 4, !tbaa !190 - %.val134 = load ptr, ptr %33, align 8, !tbaa !291 + %.val133 = load ptr, ptr %33, align 8, !tbaa !291 %44 = sext i32 %43 to i64 - %45 = getelementptr inbounds %struct.b2Body, ptr %.val134, i64 %44 + %45 = getelementptr inbounds %struct.b2Body, ptr %.val133, i64 %44 %46 = tail call zeroext i1 @b2ShouldBodiesCollide(ptr noundef nonnull %16, ptr noundef %45, ptr noundef %36) #8 - br i1 %46, label %47, label %.critedge133 + br i1 %46, label %47, label %.critedge132 47: ; preds = %41 %48 = getelementptr inbounds nuw i8, ptr %16, i64 1704 %49 = load ptr, ptr %48, align 8, !tbaa !303 - %.not131 = icmp eq ptr %49, null - br i1 %.not131, label %66, label %50 + %.not130 = icmp eq ptr %49, null + br i1 %.not130, label %66, label %50 50: ; preds = %47 %51 = load i32, ptr %19, align 8, !tbaa !172 @@ -3747,7 +3747,7 @@ define internal noundef zeroext i1 @b2ContinuousQueryCallback(i32 %0, i32 nounde %64 = or disjoint i64 %.sroa.545.0.insert.shift, %.sroa.043.0.insert.ext %.sroa.043.0.insert.insert = or disjoint i64 %64, %.sroa.447.0.insert.shift %65 = tail call zeroext i1 %49(i64 %.sroa.046.0.insert.insert, i64 %.sroa.043.0.insert.insert, ptr noundef %62) #8 - br i1 %65, label %66, label %.critedge133 + br i1 %65, label %66, label %.critedge132 66: ; preds = %50, %47 %67 = getelementptr inbounds nuw i8, ptr %19, i64 20 @@ -3778,15 +3778,15 @@ define internal noundef zeroext i1 @b2ContinuousQueryCallback(i32 %0, i32 nounde %80 = fadd float %.sroa.06.4.vec.extract.i, %79 %81 = getelementptr inbounds nuw i8, ptr %19, i64 148 %82 = load <2 x float>, ptr %81, align 4 - %.sroa.0.0.vec.extract.i137 = extractelement <2 x float> %82, i64 0 - %foldExtExtBinop188 = fmul <2 x float> %.sroa.541.0.copyload, %82 - %83 = extractelement <2 x float> %foldExtExtBinop188, i64 0 - %.sroa.0.4.vec.extract.i139 = extractelement <2 x float> %82, i64 1 - %84 = fmul float %.sroa.3.12.vec.extract.i, %.sroa.0.4.vec.extract.i139 + %.sroa.0.0.vec.extract.i136 = extractelement <2 x float> %82, i64 0 + %foldExtExtBinop187 = fmul <2 x float> %.sroa.541.0.copyload, %82 + %83 = extractelement <2 x float> %foldExtExtBinop187, i64 0 + %.sroa.0.4.vec.extract.i138 = extractelement <2 x float> %82, i64 1 + %84 = fmul float %.sroa.3.12.vec.extract.i, %.sroa.0.4.vec.extract.i138 %85 = fsub float %83, %84 %86 = fadd float %.sroa.06.0.vec.extract.i, %85 - %87 = fmul float %.sroa.3.12.vec.extract.i, %.sroa.0.0.vec.extract.i137 - %88 = fmul float %.sroa.3.8.vec.extract.i, %.sroa.0.4.vec.extract.i139 + %87 = fmul float %.sroa.3.12.vec.extract.i, %.sroa.0.0.vec.extract.i136 + %88 = fmul float %.sroa.3.8.vec.extract.i, %.sroa.0.4.vec.extract.i138 %89 = fadd float %87, %88 %90 = fadd float %.sroa.06.4.vec.extract.i, %89 %91 = fsub float %86, %76 @@ -3820,30 +3820,30 @@ b2GetLengthAndNormalize.exit: ; preds = %70, %97 %106 = fsub float %.sroa.01.0.vec.extract.i, %76 %.sroa.01.4.vec.extract.i = extractelement <2 x float> %.sroa.030.0.copyload, i64 1 %107 = fsub float %.sroa.01.4.vec.extract.i, %80 - %.sroa.0.4.vec.extract.i151 = extractelement <2 x float> %.sroa.06.0.i, i64 1 - %108 = fmul float %.sroa.0.4.vec.extract.i151, %106 - %.sroa.0.0.vec.extract.i153 = extractelement <2 x float> %.sroa.06.0.i, i64 0 - %109 = fmul float %.sroa.0.0.vec.extract.i153, %107 + %.sroa.0.4.vec.extract.i150 = extractelement <2 x float> %.sroa.06.0.i, i64 1 + %108 = fmul float %.sroa.0.4.vec.extract.i150, %106 + %.sroa.0.0.vec.extract.i152 = extractelement <2 x float> %.sroa.06.0.i, i64 0 + %109 = fmul float %.sroa.0.0.vec.extract.i152, %107 %110 = fsub float %108, %109 %111 = fcmp olt float %110, 0.000000e+00 - br i1 %111, label %.critedge133, label %112 + br i1 %111, label %.critedge132, label %112 112: ; preds = %104 %113 = getelementptr inbounds nuw i8, ptr %2, i64 32 %.sroa.026.0.copyload = load <2 x float>, ptr %113, align 8 - %.sroa.01.0.vec.extract.i154 = extractelement <2 x float> %.sroa.026.0.copyload, i64 0 - %114 = fsub float %.sroa.01.0.vec.extract.i154, %76 - %115 = fmul float %.sroa.0.4.vec.extract.i151, %114 - %.sroa.01.4.vec.extract.i157 = extractelement <2 x float> %.sroa.026.0.copyload, i64 1 - %116 = fsub float %.sroa.01.4.vec.extract.i157, %80 - %117 = fmul float %.sroa.0.0.vec.extract.i153, %116 + %.sroa.01.0.vec.extract.i153 = extractelement <2 x float> %.sroa.026.0.copyload, i64 0 + %114 = fsub float %.sroa.01.0.vec.extract.i153, %76 + %115 = fmul float %.sroa.0.4.vec.extract.i150, %114 + %.sroa.01.4.vec.extract.i156 = extractelement <2 x float> %.sroa.026.0.copyload, i64 1 + %116 = fsub float %.sroa.01.4.vec.extract.i156, %80 + %117 = fmul float %.sroa.0.0.vec.extract.i152, %116 %118 = fsub float %115, %117 %119 = fsub float %110, %118 %120 = getelementptr inbounds nuw i8, ptr %12, i64 68 %121 = load float, ptr %120, align 4, !tbaa !264 %122 = fmul float %121, 2.500000e-01 %123 = fcmp olt float %119, %122 - br i1 %123, label %.critedge133, label %.critedge + br i1 %123, label %.critedge132, label %.critedge .critedge: ; preds = %b2GetLengthAndNormalize.exit, %112, %66 call void @llvm.lifetime.start.p0(ptr nonnull %4) @@ -3894,7 +3894,7 @@ b2GetLengthAndNormalize.exit: ; preds = %70, %97 147: ; preds = %144, %.critedge %148 = fcmp oeq float %142, 0.000000e+00 - br i1 %148, label %149, label %.thread176 + br i1 %148, label %149, label %.thread175 149: ; preds = %147 call void @llvm.lifetime.start.p0(ptr nonnull %6) @@ -3912,23 +3912,23 @@ b2GetLengthAndNormalize.exit: ; preds = %70, %97 %.sroa.010.sroa.4.0.extract.trunc = trunc nuw i64 %.sroa.010.sroa.4.0.extract.shift to i32 %155 = bitcast i32 %.sroa.010.sroa.4.0.extract.trunc to float %156 = fcmp ogt float %155, 0.000000e+00 - br i1 %156, label %157, label %.thread172 + br i1 %156, label %157, label %.thread171 157: ; preds = %149 %158 = load float, ptr %138, align 8, !tbaa !296 %159 = fcmp ogt float %158, %155 - br i1 %159, label %160, label %.thread172 + br i1 %159, label %160, label %.thread171 -.thread172: ; preds = %157, %149 +.thread171: ; preds = %157, %149 call void @llvm.lifetime.end.p0(ptr nonnull %6) - br label %.thread176 + br label %.thread175 160: ; preds = %157 call void @llvm.lifetime.end.p0(ptr nonnull %6) br label %.thread .thread: ; preds = %144, %160 - %.0121167 = phi float [ %155, %160 ], [ %142, %144 ] + %.0121166 = phi float [ %155, %160 ], [ %142, %144 ] %161 = getelementptr inbounds nuw i8, ptr %19, i64 280 %162 = load i8, ptr %161, align 8, !tbaa !314, !range !197, !noundef !198 %163 = trunc nuw i8 %162 to i1 @@ -3938,13 +3938,13 @@ b2GetLengthAndNormalize.exit: ; preds = %70, %97 %165 = getelementptr inbounds nuw i8, ptr %10, i64 280 %166 = load i8, ptr %165, align 8, !tbaa !314, !range !197, !noundef !198 %167 = trunc nuw i8 %166 to i1 - br i1 %167, label %168, label %.thread179 + br i1 %167, label %168, label %.thread178 168: ; preds = %.thread, %164 - %169 = call { <2 x float>, <2 x float> } @b2GetSweepTransform(ptr noundef nonnull %125, float noundef %.0121167) #8 + %169 = call { <2 x float>, <2 x float> } @b2GetSweepTransform(ptr noundef nonnull %125, float noundef %.0121166) #8 %170 = extractvalue { <2 x float>, <2 x float> } %169, 0 %171 = extractvalue { <2 x float>, <2 x float> } %169, 1 - %172 = call { <2 x float>, <2 x float> } @b2GetSweepTransform(ptr noundef nonnull %136, float noundef %.0121167) #8 + %172 = call { <2 x float>, <2 x float> } @b2GetSweepTransform(ptr noundef nonnull %136, float noundef %.0121166) #8 %173 = extractvalue { <2 x float>, <2 x float> } %172, 0 %174 = extractvalue { <2 x float>, <2 x float> } %172, 1 call void @llvm.lifetime.start.p0(ptr nonnull %8) @@ -3977,17 +3977,17 @@ b2GetLengthAndNormalize.exit: ; preds = %70, %97 %.sroa.0.0.insert.insert = or disjoint i64 %190, %.sroa.44.0.insert.shift %191 = call zeroext i1 %186(i64 %.sroa.03.0.insert.insert, i64 %.sroa.0.0.insert.insert, ptr noundef nonnull %8, ptr noundef %188) #8 call void @llvm.lifetime.end.p0(ptr nonnull %8) - br i1 %191, label %.thread179, label %.thread176 + br i1 %191, label %.thread178, label %.thread175 -.thread179: ; preds = %164, %168 - store float %.0121167, ptr %138, align 8, !tbaa !296 - br label %.thread176 +.thread178: ; preds = %164, %168 + store float %.0121166, ptr %138, align 8, !tbaa !296 + br label %.thread175 -.thread176: ; preds = %147, %.thread172, %.thread179, %168 +.thread175: ; preds = %147, %.thread171, %.thread178, %168 call void @llvm.lifetime.end.p0(ptr nonnull %4) - br label %.critedge133 + br label %.critedge132 -.critedge133: ; preds = %104, %112, %15, %25, %32, %.thread176, %50, %41, %28, %3 +.critedge132: ; preds = %104, %112, %15, %25, %32, %.thread175, %50, %41, %28, %3 ret i1 true } diff --git a/bench/brotli/optimized/entropy_encode.ll b/bench/brotli/optimized/entropy_encode.ll index d61f90b2204..9f864b92fad 100644 --- a/bench/brotli/optimized/entropy_encode.ll +++ b/bench/brotli/optimized/entropy_encode.ll @@ -773,8 +773,8 @@ DecideOverRleUse.exit: ; preds = %._crit_edge br i1 %.not.i, label %._crit_edge110, label %.lr.ph109.preheader .lr.ph109.preheader: ; preds = %._crit_edge.loopexit.i, %DecideOverRleUse.exit - %.071139 = phi i1 [ %37, %._crit_edge.loopexit.i ], [ false, %DecideOverRleUse.exit ] - %.072138 = phi i1 [ %35, %._crit_edge.loopexit.i ], [ false, %DecideOverRleUse.exit ] + %.071137 = phi i1 [ %37, %._crit_edge.loopexit.i ], [ false, %DecideOverRleUse.exit ] + %.072136 = phi i1 [ %35, %._crit_edge.loopexit.i ], [ false, %DecideOverRleUse.exit ] br label %.lr.ph109 .lr.ph109: ; preds = %.lr.ph109.preheader, %BrotliWriteHuffmanTreeRepetitionsZeros.exit @@ -783,16 +783,16 @@ DecideOverRleUse.exit: ; preds = %._crit_edge %38 = getelementptr inbounds nuw i8, ptr %0, i64 %.146106 %39 = load i8, ptr %38, align 1, !tbaa !11 %40 = icmp ne i8 %39, 0 - %or.cond = select i1 %40, i1 %.072138, i1 false + %or.cond = select i1 %40, i1 %.072136, i1 false %41 = icmp eq i8 %39, 0 - %or.cond3 = select i1 %41, i1 %.071139, i1 false + %or.cond3 = select i1 %41, i1 %.071137, i1 false %or.cond88 = select i1 %or.cond, i1 true, i1 %or.cond3 br i1 %or.cond88, label %.preheader, label %.critedge.thread .preheader: ; preds = %.lr.ph109 %.099 = add nuw i64 %.146106, 1 %42 = icmp ult i64 %.099, %.04496 - br i1 %42, label %.lr.ph102.preheader, label %.critedge.thread140 + br i1 %42, label %.lr.ph102.preheader, label %.critedge.thread138 .lr.ph102.preheader: ; preds = %.preheader %43 = sub i64 %.04496, %.146106 @@ -816,7 +816,7 @@ DecideOverRleUse.exit: ; preds = %._crit_edge %.1.lcssa = phi i64 [ %43, %47 ], [ %.1100, %.lr.ph102 ] br i1 %41, label %49, label %104 -.critedge.thread140: ; preds = %.preheader +.critedge.thread138: ; preds = %.preheader br i1 %41, label %.lr.ph.preheader.i49, label %104 .critedge.thread: ; preds = %.lr.ph109 @@ -851,7 +851,7 @@ DecideOverRleUse.exit: ; preds = %._crit_edge %.not.i48 = icmp eq i64 %.1.lcssa, 0 br i1 %.not.i48, label %BrotliWriteHuffmanTreeRepetitionsZeros.exit, label %.lr.ph.preheader.i49 -.lr.ph.preheader.i49: ; preds = %.critedge.thread140, %.critedge.thread, %.preheader.i +.lr.ph.preheader.i49: ; preds = %.critedge.thread138, %.critedge.thread, %.preheader.i %.04176808386 = phi i64 [ %.1.lcssa, %.preheader.i ], [ 1, %.critedge.thread ], [ 1, %.critedge.thread140 ] %.pre.i50 = load i64, ptr %2, align 8, !tbaa !18 br label %.lr.ph.i51 @@ -950,7 +950,7 @@ Reverse.exit.i: ; preds = %Reverse.exit.loopex %103 = icmp ult i64 %102, %.013.i39.i br i1 %103, label %.lr.ph.i36.i, label %BrotliWriteHuffmanTreeRepetitionsZeros.exit, !llvm.loop !36 -104: ; preds = %.critedge.thread140, %.critedge.thread, %.critedge +104: ; preds = %.critedge.thread138, %.critedge.thread, %.critedge %.04175 = phi i64 [ 1, %.critedge.thread ], [ %.1.lcssa, %.critedge ], [ 1, %.critedge.thread140 ] %.not.i53 = icmp eq i8 %.042108, %39 br i1 %.not.i53, label %113, label %105 diff --git a/bench/c3c/optimized/bigint.ll b/bench/c3c/optimized/bigint.ll index 1685ec644ea..9074a71d2d8 100644 --- a/bench/c3c/optimized/bigint.ll +++ b/bench/c3c/optimized/bigint.ll @@ -92,15 +92,15 @@ i128_neg.exit: ; preds = %13, %12, %4 br label %i128_shl64.exit.i.i.preheader i128_shl64.exit.i.i.preheader: ; preds = %41, %38, %34, %32, %29 - %.ph81 = phi i64 [ %2, %29 ], [ 0, %32 ], [ 0, %34 ], [ 0, %38 ], [ %44, %41 ] - %.ph82 = phi i64 [ 0, %29 ], [ 0, %32 ], [ %2, %34 ], [ %40, %38 ], [ %43, %41 ] + %.ph72 = phi i64 [ %2, %29 ], [ 0, %32 ], [ 0, %34 ], [ 0, %38 ], [ %44, %41 ] + %.ph73 = phi i64 [ 0, %29 ], [ 0, %32 ], [ %2, %34 ], [ %40, %38 ], [ %43, %41 ] br label %i128_shl64.exit.i.i i128_shl64.exit.i.i: ; preds = %i128_shl64.exit.i.i.preheader, %i128_ucomp.exit.i.i %45 = phi i64 [ %56, %i128_ucomp.exit.i.i ], [ %.sroa.8.1, %i128_shl64.exit.i.i.preheader ] %46 = phi i64 [ %57, %i128_ucomp.exit.i.i ], [ %.sroa.018.1, %i128_shl64.exit.i.i.preheader ] - %47 = phi i64 [ %58, %i128_ucomp.exit.i.i ], [ %.ph81, %i128_shl64.exit.i.i.preheader ] - %48 = phi i64 [ %59, %i128_ucomp.exit.i.i ], [ %.ph82, %i128_shl64.exit.i.i.preheader ] + %47 = phi i64 [ %58, %i128_ucomp.exit.i.i ], [ %.ph72, %i128_shl64.exit.i.i.preheader ] + %48 = phi i64 [ %59, %i128_ucomp.exit.i.i ], [ %.ph73, %i128_shl64.exit.i.i.preheader ] %.0.i.i = phi i32 [ %60, %i128_ucomp.exit.i.i ], [ %27, %i128_shl64.exit.i.i.preheader ] %49 = icmp ugt i64 %46, %48 br i1 %49, label %select.unfold.i.i, label %50 @@ -178,7 +178,7 @@ i128_urem.exit: ; preds = %i128_ucomp.exit.i.i i128_shl64.exit.i.i28.preheader: ; preds = %80, %77, %73, %71, %68 %.ph = phi i64 [ %2, %68 ], [ 0, %71 ], [ 0, %73 ], [ 0, %77 ], [ %83, %80 ] - %.ph80 = phi i64 [ 0, %68 ], [ 0, %71 ], [ %2, %73 ], [ %79, %77 ], [ %82, %80 ] + %.ph71 = phi i64 [ 0, %68 ], [ 0, %71 ], [ %2, %73 ], [ %79, %77 ], [ %82, %80 ] br label %i128_shl64.exit.i.i28 i128_shl64.exit.i.i28: ; preds = %i128_shl64.exit.i.i28.preheader, %i128_ucomp.exit.i.i36 @@ -187,7 +187,7 @@ i128_shl64.exit.i.i28: ; preds = %i128_shl64.exit.i.i %86 = phi i64 [ %102, %i128_ucomp.exit.i.i36 ], [ 0, %i128_shl64.exit.i.i28.preheader ] %87 = phi i64 [ %90, %i128_ucomp.exit.i.i36 ], [ 0, %i128_shl64.exit.i.i28.preheader ] %88 = phi i64 [ %103, %i128_ucomp.exit.i.i36 ], [ %.ph, %i128_shl64.exit.i.i28.preheader ] - %89 = phi i64 [ %104, %i128_ucomp.exit.i.i36 ], [ %.ph80, %i128_shl64.exit.i.i28.preheader ] + %89 = phi i64 [ %104, %i128_ucomp.exit.i.i36 ], [ %.ph71, %i128_shl64.exit.i.i28.preheader ] %.0.i.i31 = phi i32 [ %105, %i128_ucomp.exit.i.i36 ], [ %66, %i128_shl64.exit.i.i28.preheader ] %90 = tail call i64 @llvm.fshl.i64(i64 %87, i64 %86, i64 1) %91 = shl i64 %86, 1 @@ -338,14 +338,14 @@ define dso_local { i64, i64 } @i128_urem(i64 %0, i64 %1, i64 %2, i64 %3) local_u i128_shl64.exit.i.preheader: ; preds = %25, %22, %18, %16, %13 %.ph = phi i64 [ %3, %13 ], [ 0, %16 ], [ 0, %18 ], [ 0, %22 ], [ %30, %25 ] - %.ph16 = phi i64 [ %2, %13 ], [ 0, %16 ], [ %3, %18 ], [ %24, %22 ], [ %29, %25 ] + %.ph10 = phi i64 [ %2, %13 ], [ 0, %16 ], [ %3, %18 ], [ %24, %22 ], [ %29, %25 ] br label %i128_shl64.exit.i i128_shl64.exit.i: ; preds = %i128_shl64.exit.i.preheader, %i128_ucomp.exit.i %31 = phi i64 [ %42, %i128_ucomp.exit.i ], [ %1, %i128_shl64.exit.i.preheader ] %32 = phi i64 [ %43, %i128_ucomp.exit.i ], [ %0, %i128_shl64.exit.i.preheader ] %33 = phi i64 [ %44, %i128_ucomp.exit.i ], [ %.ph, %i128_shl64.exit.i.preheader ] - %34 = phi i64 [ %45, %i128_ucomp.exit.i ], [ %.ph16, %i128_shl64.exit.i.preheader ] + %34 = phi i64 [ %45, %i128_ucomp.exit.i ], [ %.ph10, %i128_shl64.exit.i.preheader ] %.0.i = phi i32 [ %46, %i128_ucomp.exit.i ], [ %11, %i128_shl64.exit.i.preheader ] %35 = icmp ugt i64 %32, %34 br i1 %35, label %select.unfold.i, label %36 @@ -433,7 +433,7 @@ define dso_local { i64, i64 } @i128_udiv(i64 %0, i64 %1, i64 %2, i64 %3) local_u i128_shl64.exit.i.preheader: ; preds = %25, %22, %18, %16, %13 %.ph = phi i64 [ %3, %13 ], [ 0, %16 ], [ 0, %18 ], [ 0, %22 ], [ %30, %25 ] - %.ph14 = phi i64 [ %2, %13 ], [ 0, %16 ], [ %3, %18 ], [ %24, %22 ], [ %29, %25 ] + %.ph10 = phi i64 [ %2, %13 ], [ 0, %16 ], [ %3, %18 ], [ %24, %22 ], [ %29, %25 ] br label %i128_shl64.exit.i i128_shl64.exit.i: ; preds = %i128_shl64.exit.i.preheader, %i128_ucomp.exit.i @@ -442,7 +442,7 @@ i128_shl64.exit.i: ; preds = %i128_shl64.exit.i.p %33 = phi i64 [ %49, %i128_ucomp.exit.i ], [ 0, %i128_shl64.exit.i.preheader ] %34 = phi i64 [ %37, %i128_ucomp.exit.i ], [ 0, %i128_shl64.exit.i.preheader ] %35 = phi i64 [ %50, %i128_ucomp.exit.i ], [ %.ph, %i128_shl64.exit.i.preheader ] - %36 = phi i64 [ %51, %i128_ucomp.exit.i ], [ %.ph14, %i128_shl64.exit.i.preheader ] + %36 = phi i64 [ %51, %i128_ucomp.exit.i ], [ %.ph10, %i128_shl64.exit.i.preheader ] %.0.i = phi i32 [ %52, %i128_ucomp.exit.i ], [ %11, %i128_shl64.exit.i.preheader ] %37 = tail call i64 @llvm.fshl.i64(i64 %34, i64 %33, i64 1) %38 = shl i64 %33, 1 @@ -1838,7 +1838,7 @@ define dso_local void @i128_udivrem(i64 %0, i64 %1, i64 %2, i64 %3, ptr noundef i128_shl64.exit.preheader: ; preds = %16, %19, %21, %25, %28 %.ph = phi i64 [ %33, %28 ], [ 0, %25 ], [ 0, %21 ], [ 0, %19 ], [ %3, %16 ] - %.ph53 = phi i64 [ %32, %28 ], [ %27, %25 ], [ %3, %21 ], [ 0, %19 ], [ %2, %16 ] + %.ph51 = phi i64 [ %32, %28 ], [ %27, %25 ], [ %3, %21 ], [ 0, %19 ], [ %2, %16 ] br label %i128_shl64.exit i128_shl64.exit: ; preds = %i128_shl64.exit.preheader, %i128_ucomp.exit @@ -1847,7 +1847,7 @@ i128_shl64.exit: ; preds = %i128_shl64.exit.pre %36 = phi i64 [ %52, %i128_ucomp.exit ], [ 0, %i128_shl64.exit.preheader ] %37 = phi i64 [ %40, %i128_ucomp.exit ], [ 0, %i128_shl64.exit.preheader ] %38 = phi i64 [ %53, %i128_ucomp.exit ], [ %.ph, %i128_shl64.exit.preheader ] - %39 = phi i64 [ %54, %i128_ucomp.exit ], [ %.ph53, %i128_shl64.exit.preheader ] + %39 = phi i64 [ %54, %i128_ucomp.exit ], [ %.ph51, %i128_shl64.exit.preheader ] %.0 = phi i32 [ %55, %i128_ucomp.exit ], [ %13, %i128_shl64.exit.preheader ] %40 = tail call i64 @llvm.fshl.i64(i64 %37, i64 %36, i64 1) %41 = shl i64 %36, 1 @@ -1981,14 +1981,14 @@ i128_neg.exit25: ; preds = %18, %17, %i128_neg. i128_shl64.exit.i.i.preheader: ; preds = %43, %40, %36, %34, %31 %.ph = phi i64 [ %.sroa.5.0, %31 ], [ 0, %34 ], [ 0, %36 ], [ 0, %40 ], [ %48, %43 ] - %.ph42 = phi i64 [ %.sroa.07.0, %31 ], [ 0, %34 ], [ %.sroa.5.0, %36 ], [ %42, %40 ], [ %47, %43 ] + %.ph40 = phi i64 [ %.sroa.07.0, %31 ], [ 0, %34 ], [ %.sroa.5.0, %36 ], [ %42, %40 ], [ %47, %43 ] br label %i128_shl64.exit.i.i i128_shl64.exit.i.i: ; preds = %i128_shl64.exit.i.i.preheader, %i128_ucomp.exit.i.i %49 = phi i64 [ %60, %i128_ucomp.exit.i.i ], [ %.sroa.514.0, %i128_shl64.exit.i.i.preheader ] %50 = phi i64 [ %61, %i128_ucomp.exit.i.i ], [ %.sroa.011.0, %i128_shl64.exit.i.i.preheader ] %51 = phi i64 [ %62, %i128_ucomp.exit.i.i ], [ %.ph, %i128_shl64.exit.i.i.preheader ] - %52 = phi i64 [ %63, %i128_ucomp.exit.i.i ], [ %.ph42, %i128_shl64.exit.i.i.preheader ] + %52 = phi i64 [ %63, %i128_ucomp.exit.i.i ], [ %.ph40, %i128_shl64.exit.i.i.preheader ] %.0.i.i = phi i32 [ %64, %i128_ucomp.exit.i.i ], [ %29, %i128_shl64.exit.i.i.preheader ] %53 = icmp ugt i64 %50, %52 br i1 %53, label %select.unfold.i.i, label %54 @@ -2149,7 +2149,7 @@ i128_neg.exit25: ; preds = %18, %17, %i128_neg. i128_shl64.exit.i.i.preheader: ; preds = %43, %40, %36, %34, %31 %.ph = phi i64 [ %.sroa.5.0, %31 ], [ 0, %34 ], [ 0, %36 ], [ 0, %40 ], [ %48, %43 ] - %.ph53 = phi i64 [ %.sroa.07.0, %31 ], [ 0, %34 ], [ %.sroa.5.0, %36 ], [ %42, %40 ], [ %47, %43 ] + %.ph51 = phi i64 [ %.sroa.07.0, %31 ], [ 0, %34 ], [ %.sroa.5.0, %36 ], [ %42, %40 ], [ %47, %43 ] br label %i128_shl64.exit.i.i i128_shl64.exit.i.i: ; preds = %i128_shl64.exit.i.i.preheader, %i128_ucomp.exit.i.i @@ -2158,7 +2158,7 @@ i128_shl64.exit.i.i: ; preds = %i128_shl64.exit.i.i %51 = phi i64 [ %67, %i128_ucomp.exit.i.i ], [ 0, %i128_shl64.exit.i.i.preheader ] %52 = phi i64 [ %55, %i128_ucomp.exit.i.i ], [ 0, %i128_shl64.exit.i.i.preheader ] %53 = phi i64 [ %68, %i128_ucomp.exit.i.i ], [ %.ph, %i128_shl64.exit.i.i.preheader ] - %54 = phi i64 [ %69, %i128_ucomp.exit.i.i ], [ %.ph53, %i128_shl64.exit.i.i.preheader ] + %54 = phi i64 [ %69, %i128_ucomp.exit.i.i ], [ %.ph51, %i128_shl64.exit.i.i.preheader ] %.0.i.i = phi i32 [ %70, %i128_ucomp.exit.i.i ], [ %29, %i128_shl64.exit.i.i.preheader ] %55 = tail call i64 @llvm.fshl.i64(i64 %52, i64 %51, i64 1) %56 = shl i64 %51, 1 @@ -3202,7 +3202,7 @@ define dso_local void @int_div(ptr dead_on_unwind noalias writable writeonly sre i128_shl64.exit.i.i.preheader: ; preds = %37, %34, %30, %28, %25 %.ph = phi i64 [ %15, %25 ], [ 0, %28 ], [ 0, %30 ], [ 0, %34 ], [ %42, %37 ] - %.ph16 = phi i64 [ %13, %25 ], [ 0, %28 ], [ %15, %30 ], [ %36, %34 ], [ %41, %37 ] + %.ph12 = phi i64 [ %13, %25 ], [ 0, %28 ], [ %15, %30 ], [ %36, %34 ], [ %41, %37 ] br label %i128_shl64.exit.i.i i128_shl64.exit.i.i: ; preds = %i128_shl64.exit.i.i.preheader, %i128_ucomp.exit.i.i @@ -3211,7 +3211,7 @@ i128_shl64.exit.i.i: ; preds = %i128_shl64.exit.i.i %45 = phi i64 [ %61, %i128_ucomp.exit.i.i ], [ 0, %i128_shl64.exit.i.i.preheader ] %46 = phi i64 [ %49, %i128_ucomp.exit.i.i ], [ 0, %i128_shl64.exit.i.i.preheader ] %47 = phi i64 [ %62, %i128_ucomp.exit.i.i ], [ %.ph, %i128_shl64.exit.i.i.preheader ] - %48 = phi i64 [ %63, %i128_ucomp.exit.i.i ], [ %.ph16, %i128_shl64.exit.i.i.preheader ] + %48 = phi i64 [ %63, %i128_ucomp.exit.i.i ], [ %.ph12, %i128_shl64.exit.i.i.preheader ] %.0.i.i = phi i32 [ %64, %i128_ucomp.exit.i.i ], [ %23, %i128_shl64.exit.i.i.preheader ] %49 = tail call i64 @llvm.fshl.i64(i64 %46, i64 %45, i64 1) %50 = shl i64 %45, 1 @@ -3331,14 +3331,14 @@ define dso_local void @int_rem(ptr dead_on_unwind noalias writable writeonly sre i128_shl64.exit.i.i.preheader: ; preds = %37, %34, %30, %28, %25 %.ph = phi i64 [ %15, %25 ], [ 0, %28 ], [ 0, %30 ], [ 0, %34 ], [ %42, %37 ] - %.ph14 = phi i64 [ %13, %25 ], [ 0, %28 ], [ %15, %30 ], [ %36, %34 ], [ %41, %37 ] + %.ph12 = phi i64 [ %13, %25 ], [ 0, %28 ], [ %15, %30 ], [ %36, %34 ], [ %41, %37 ] br label %i128_shl64.exit.i.i i128_shl64.exit.i.i: ; preds = %i128_shl64.exit.i.i.preheader, %i128_ucomp.exit.i.i %43 = phi i64 [ %54, %i128_ucomp.exit.i.i ], [ %12, %i128_shl64.exit.i.i.preheader ] %44 = phi i64 [ %55, %i128_ucomp.exit.i.i ], [ %10, %i128_shl64.exit.i.i.preheader ] %45 = phi i64 [ %56, %i128_ucomp.exit.i.i ], [ %.ph, %i128_shl64.exit.i.i.preheader ] - %46 = phi i64 [ %57, %i128_ucomp.exit.i.i ], [ %.ph14, %i128_shl64.exit.i.i.preheader ] + %46 = phi i64 [ %57, %i128_ucomp.exit.i.i ], [ %.ph12, %i128_shl64.exit.i.i.preheader ] %.0.i.i = phi i32 [ %58, %i128_ucomp.exit.i.i ], [ %23, %i128_shl64.exit.i.i.preheader ] %47 = icmp ugt i64 %44, %46 br i1 %47, label %select.unfold.i.i, label %48 diff --git a/bench/c3c/optimized/project_creation.ll b/bench/c3c/optimized/project_creation.ll index edd623c9781..ca1b8ebd25e 100644 --- a/bench/c3c/optimized/project_creation.ll +++ b/bench/c3c/optimized/project_creation.ll @@ -349,17 +349,17 @@ define internal fastcc ptr @module_name(ptr noundef readonly captures(none) %0) br i1 %.not, label %._crit_edge.thread, label %.lr.ph .lr.ph: ; preds = %1, %16 - %.028 = phi i8 [ %.1, %16 ], [ 0, %1 ] - %.02327 = phi i64 [ %17, %16 ], [ 0, %1 ] + %.026 = phi i8 [ %.1, %16 ], [ 0, %1 ] + %.02325 = phi i64 [ %17, %16 ], [ 0, %1 ] %5 = load ptr, ptr %2, align 8 - %6 = getelementptr inbounds i8, ptr %5, i64 %.02327 + %6 = getelementptr inbounds i8, ptr %5, i64 %.02325 %7 = load i8, ptr %6, align 1 %8 = add i8 %7, -48 %or.cond = icmp ult i8 %8, 10 br i1 %or.cond, label %9, label %12 9: ; preds = %.lr.ph - %10 = trunc nuw i8 %.028 to i1 + %10 = trunc nuw i8 %.026 to i1 br i1 %10, label %16, label %11 11: ; preds = %9 @@ -369,17 +369,17 @@ define internal fastcc ptr @module_name(ptr noundef readonly captures(none) %0) 12: ; preds = %.lr.ph %13 = and i8 %7, -33 %14 = add i8 %13, -65 - %or.cond26 = icmp ult i8 %14, 26 + %or.cond24 = icmp ult i8 %14, 26 %15 = or i8 %7, 32 - %spec.select = select i1 %or.cond26, i8 %15, i8 95 - %spec.select31 = select i1 %or.cond26, i8 1, i8 %.028 + %spec.select = select i1 %or.cond24, i8 %15, i8 95 + %spec.select29 = select i1 %or.cond24, i8 1, i8 %.026 br label %16 16: ; preds = %12, %9, %11 %.sink = phi i8 [ %7, %11 ], [ %7, %9 ], [ %spec.select, %12 ] - %.1 = phi i8 [ 1, %11 ], [ 1, %9 ], [ %spec.select31, %12 ] + %.1 = phi i8 [ 1, %11 ], [ 1, %9 ], [ %spec.select29, %12 ] tail call void @scratch_buffer_append_char(i8 noundef signext %.sink) #9 - %17 = add nuw i64 %.02327, 1 + %17 = add nuw i64 %.02325, 1 %exitcond.not = icmp eq i64 %17, %4 br i1 %exitcond.not, label %._crit_edge, label %.lr.ph, !llvm.loop !9 diff --git a/bench/c3c/optimized/sema_stmts.ll b/bench/c3c/optimized/sema_stmts.ll index 583302ceddb..2eff5808216 100644 --- a/bench/c3c/optimized/sema_stmts.ll +++ b/bench/c3c/optimized/sema_stmts.ll @@ -1116,8 +1116,8 @@ sema_analyse_compound_stmt.exit: ; preds = %248, %234 %337 = load i32, ptr %336, align 8 %.not.i32.i = icmp eq i32 %337, 0 %338 = load ptr, ptr @ast_arena, align 8 - %.not30.i365681 = icmp eq ptr %338, null - %.not30.i365 = select i1 %.not.i32.i, i1 true, i1 %.not30.i365681 + %.not30.i365680 = icmp eq ptr %338, null + %.not30.i365 = select i1 %.not.i32.i, i1 true, i1 %.not30.i365680 br i1 %.not30.i365, label %select.unfold._crit_edge, label %.lr.ph368.preheader .lr.ph368.preheader: ; preds = %335 @@ -1126,7 +1126,7 @@ sema_analyse_compound_stmt.exit: ; preds = %248, %234 %341 = getelementptr inbounds nuw i8, ptr %340, i64 12 %342 = load i8, ptr %341, align 4 %343 = icmp eq i8 %342, 10 - br i1 %343, label %.lr.ph368._crit_edge, label %.lr.ph971 + br i1 %343, label %.lr.ph368._crit_edge, label %.lr.ph970 select.unfold._crit_edge: ; preds = %select.unfold, %335 store i8 24, ptr %20, align 4 @@ -1138,10 +1138,10 @@ select.unfold._crit_edge: ; preds = %select.unfold, %335 %346 = getelementptr inbounds nuw i8, ptr %345, i64 12 %347 = load i8, ptr %346, align 4 %348 = icmp eq i8 %347, 10 - br i1 %348, label %.lr.ph368._crit_edge, label %.lr.ph971 + br i1 %348, label %.lr.ph368._crit_edge, label %.lr.ph970 .lr.ph368._crit_edge: ; preds = %.lr.ph368, %.lr.ph368.preheader - %.lcssa899 = phi ptr [ %338, %.lr.ph368.preheader ], [ %418, %.lr.ph368 ] + %.lcssa898 = phi ptr [ %338, %.lr.ph368.preheader ], [ %418, %.lr.ph368 ] %.0.i89366.lcssa = phi ptr [ %340, %.lr.ph368.preheader ], [ %345, %.lr.ph368 ] %349 = getelementptr inbounds nuw i8, ptr %.0.i89366.lcssa, i64 16 %350 = load i32, ptr %349, align 8 @@ -1156,7 +1156,7 @@ select.unfold._crit_edge: ; preds = %select.unfold, %335 %353 = getelementptr inbounds nuw i8, ptr %1, i64 8 %354 = load i32, ptr %353, align 8 %355 = zext i32 %350 to i64 - %356 = getelementptr inbounds nuw %struct.Ast_, ptr %.lcssa899, i64 %355 + %356 = getelementptr inbounds nuw %struct.Ast_, ptr %.lcssa898, i64 %355 tail call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(48) %1, ptr noundef nonnull align 8 dereferenceable(48) %356, i64 48, i1 false) %357 = load ptr, ptr @ast_arena, align 8 %358 = ptrtoint ptr %1 to i64 @@ -1207,9 +1207,9 @@ select.unfold._crit_edge: ; preds = %select.unfold, %335 store i32 %354, ptr %379, align 8 br label %sema_analyse_then_overwrite.exit.i94.thread -.lr.ph971: ; preds = %.lr.ph368.preheader, %.lr.ph368 - %.0.i89366970 = phi ptr [ %345, %.lr.ph368 ], [ %340, %.lr.ph368.preheader ] - %380 = getelementptr inbounds nuw i8, ptr %.0.i89366970, i64 16 +.lr.ph970: ; preds = %.lr.ph368.preheader, %.lr.ph368 + %.0.i89366969 = phi ptr [ %345, %.lr.ph368 ], [ %340, %.lr.ph368.preheader ] + %380 = getelementptr inbounds nuw i8, ptr %.0.i89366969, i64 16 %381 = load ptr, ptr %380, align 8 %382 = tail call i32 @sema_check_comp_time_bool(ptr noundef %0, ptr noundef %381) #8 switch i32 %382, label %383 [ @@ -1217,8 +1217,8 @@ select.unfold._crit_edge: ; preds = %select.unfold, %335 i32 0, label %select.unfold ] -383: ; preds = %.lr.ph971 - %384 = getelementptr inbounds nuw i8, ptr %.0.i89366970, i64 28 +383: ; preds = %.lr.ph970 + %384 = getelementptr inbounds nuw i8, ptr %.0.i89366969, i64 28 %385 = load i32, ptr %384, align 4 %.not.i41.i = icmp eq i32 %385, 0 br i1 %.not.i41.i, label %386, label %387 @@ -1283,20 +1283,20 @@ select.unfold._crit_edge: ; preds = %select.unfold, %335 store i32 %389, ptr %415, align 8 br label %sema_analyse_then_overwrite.exit.i94.thread -select.unfold: ; preds = %.lr.ph971 - %416 = getelementptr inbounds nuw i8, ptr %.0.i89366970, i64 24 +select.unfold: ; preds = %.lr.ph970 + %416 = getelementptr inbounds nuw i8, ptr %.0.i89366969, i64 24 %417 = load i32, ptr %416, align 8 %.not.i49.i = icmp eq i32 %417, 0 %418 = load ptr, ptr @ast_arena, align 8 - %.not30.i850 = icmp eq ptr %418, null - %.not30.i = select i1 %.not.i49.i, i1 true, i1 %.not30.i850 + %.not30.i849 = icmp eq ptr %418, null + %.not30.i = select i1 %.not.i49.i, i1 true, i1 %.not30.i849 br i1 %.not30.i, label %select.unfold._crit_edge, label %.lr.ph368 sema_analyse_then_overwrite.exit.i94.thread: ; preds = %386, %._crit_edge376, %351, %._crit_edge385, %305, %._crit_edge394, %select.unfold._crit_edge tail call void @sema_context_pop_ct_stack(ptr noundef %0, i32 noundef %298) #8 br label %sema_analyse_statement_inner.exit.thread196 -sema_analyse_then_overwrite.exit.i94: ; preds = %.lr.ph971, %.lr.ph372, %.lr.ph381, %.lr.ph390, %297 +sema_analyse_then_overwrite.exit.i94: ; preds = %.lr.ph970, %.lr.ph372, %.lr.ph381, %.lr.ph390, %297 tail call void @sema_context_pop_ct_stack(ptr noundef %0, i32 noundef %298) #8 br label %.sink.split @@ -2245,9 +2245,9 @@ sema_analyse_defer_stmt_body.exit.i: ; preds = %434 br label %962 962: ; preds = %957, %955 - %.sink839 = phi ptr [ %961, %957 ], [ %956, %955 ] + %.sink838 = phi ptr [ %961, %957 ], [ %956, %955 ] %963 = load ptr, ptr @expr_arena, align 8 - %964 = ptrtoint ptr %.sink839 to i64 + %964 = ptrtoint ptr %.sink838 to i64 %965 = ptrtoint ptr %963 to i64 %966 = sub i64 %964, %965 %.sink.in = sdiv exact i64 %966, 56 @@ -2337,9 +2337,9 @@ sema_analyse_defer_stmt_body.exit.i: ; preds = %434 br label %1016 1016: ; preds = %1014, %1009 - %.sink843 = phi ptr [ %1015, %1014 ], [ %1013, %1009 ] + %.sink842 = phi ptr [ %1015, %1014 ], [ %1013, %1009 ] %1017 = load ptr, ptr @expr_arena, align 8 - %1018 = ptrtoint ptr %.sink843 to i64 + %1018 = ptrtoint ptr %.sink842 to i64 %1019 = ptrtoint ptr %1017 to i64 %1020 = sub i64 %1018, %1019 %.sink562.in = sdiv exact i64 %1020, 56 @@ -2479,7 +2479,7 @@ sema_analyse_foreach_stmt.exit: ; preds = %1028, %1053 %1097 = icmp eq i8 %1096, 22 %1098 = zext i1 %1097 to i32 %1099 = tail call fastcc zeroext i1 @sema_analyse_cond(ptr noundef nonnull %0, ptr noundef %1078, i32 noundef %1098) - br i1 %1099, label %1100, label %.critedge.i58.thread682 + br i1 %1099, label %1100, label %.critedge.i58.thread681 1100: ; preds = %1089 %1101 = load i8, ptr %1084, align 4 @@ -2489,11 +2489,11 @@ sema_analyse_foreach_stmt.exit: ; preds = %1028, %1053 .critedge.i58.thread: ; preds = %1100 %1102 = load i64, ptr %1083, align 8 tail call void (i64, ptr, ...) @sema_error_at(i64 %1102, ptr noundef nonnull @.str.80) #8 - br label %.critedge.i58.thread682 + br label %.critedge.i58.thread681 .critedge.i58: ; preds = %1100 - %.not849 = icmp eq ptr %1094, null - br i1 %.not849, label %.critedge.i58.thread682, label %1103 + %.not848 = icmp eq ptr %1094, null + br i1 %.not848, label %.critedge.i58.thread681, label %1103 1103: ; preds = %.critedge.i58 %1104 = load i8, ptr %1084, align 4 @@ -2505,34 +2505,34 @@ sema_analyse_foreach_stmt.exit: ; preds = %1028, %1053 .thread178: ; preds = %1103 %1105 = load i64, ptr %1083, align 8 tail call void (i64, ptr, ...) @sema_error_at(i64 %1105, ptr noundef nonnull @.str.81) #8 - br label %.critedge.i58.thread682 + br label %.critedge.i58.thread681 1106: ; preds = %1103, %1103 %1107 = getelementptr inbounds nuw i8, ptr %1093, i64 12 %1108 = load i8, ptr %1107, align 4 switch i8 %1108, label %1109 [ - i8 6, label %.critedge.i58.thread682 - i8 23, label %.critedge.i58.thread682 + i8 6, label %.critedge.i58.thread681 + i8 23, label %.critedge.i58.thread681 ] 1109: ; preds = %1106 %1110 = load i64, ptr %1093, align 8 tail call void (i64, ptr, ...) @sema_error_at(i64 %1110, ptr noundef nonnull @.str.82) #8 - br label %.critedge.i58.thread682 + br label %.critedge.i58.thread681 -.critedge.i58.thread682: ; preds = %1089, %.thread178, %.critedge.i58.thread, %1109, %1106, %1106, %.critedge.i58 +.critedge.i58.thread681: ; preds = %1089, %.thread178, %.critedge.i58.thread, %1109, %1106, %1106, %.critedge.i58 %.1.i61 = phi i8 [ 0, %1109 ], [ 1, %1106 ], [ 1, %.critedge.i58 ], [ 1, %1106 ], [ 0, %.critedge.i58.thread ], [ 0, %.thread178 ], [ 0, %1089 ] %1111 = load i8, ptr %24, align 4 %1112 = and i8 %1111, 3 %or.cond103.i.not = icmp eq i8 %1112, 2 br i1 %or.cond103.i.not, label %1113, label %1115 -1113: ; preds = %.critedge.i58.thread682 +1113: ; preds = %.critedge.i58.thread681 %1114 = load i64, ptr %1083, align 8 tail call void (i64, ptr, ...) @sema_error_at(i64 %1114, ptr noundef nonnull @.str.83) #8 br label %1115 -1115: ; preds = %1113, %.critedge.i58.thread682 +1115: ; preds = %1113, %.critedge.i58.thread681 %.3.i = phi i8 [ 0, %1113 ], [ %.1.i61, %.critedge.i58.thread682 ] %1116 = load i8, ptr %1084, align 4 %1117 = icmp eq i8 %1116, 22 @@ -2588,8 +2588,8 @@ sema_analyse_foreach_stmt.exit: ; preds = %1028, %1053 br i1 %1141, label %1143, label %.thread186 .thread186.sink.split: ; preds = %1137, %1132 - %.sink844 = phi ptr [ %10, %1132 ], [ %11, %1137 ] - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(48) %1095, ptr noundef nonnull align 8 dereferenceable(48) %.sink844, i64 48, i1 false) + %.sink843 = phi ptr [ %10, %1132 ], [ %11, %1137 ] + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(48) %1095, ptr noundef nonnull align 8 dereferenceable(48) %.sink843, i64 48, i1 false) br label %.thread186 .thread186: ; preds = %.thread186.sink.split, %1134, %1140 @@ -2598,7 +2598,7 @@ sema_analyse_foreach_stmt.exit: ; preds = %1028, %1053 br label %sema_analyse_if_stmt.exit 1143: ; preds = %1134, %1140 - %.085.in.in.i685 = phi i8 [ %1136, %1134 ], [ %1142, %1140 ] + %.085.in.in.i684 = phi i8 [ %1136, %1134 ], [ %1142, %1140 ] %1144 = load i32, ptr %1090, align 8 %.not99.i65 = icmp eq i32 %1144, 0 br i1 %.not99.i65, label %.thread182, label %1145 @@ -2697,8 +2697,8 @@ sema_remove_unwraps_from_try.exit.i: ; preds = %1182 br i1 %.not.i109.i, label %.thread.i.i, label %sema_remove_unwraps_from_try.exit.i.thread sema_remove_unwraps_from_try.exit.i.thread: ; preds = %1148, %1151, %1156, %1160, %1163, %sema_remove_unwraps_from_try.exit.i - %.val106.i.pr689 = phi ptr [ %.val106.i.pr.pre, %sema_remove_unwraps_from_try.exit.i ], [ %.val.i, %1163 ], [ %.val.i, %1160 ], [ %.val.i, %1156 ], [ %.val.i, %1151 ], [ %.val.i, %1148 ] - %1183 = getelementptr inbounds i8, ptr %.val106.i.pr689, i64 -8 + %.val106.i.pr688 = phi ptr [ %.val106.i.pr.pre, %sema_remove_unwraps_from_try.exit.i ], [ %.val.i, %1163 ], [ %.val.i, %1160 ], [ %.val.i, %1156 ], [ %.val.i, %1151 ], [ %.val.i, %1148 ] + %1183 = getelementptr inbounds i8, ptr %.val106.i.pr688, i64 -8 %1184 = load i32, ptr %1183, align 4 %.not35.i110.i = icmp eq i32 %1184, 0 br i1 %.not35.i110.i, label %.thread.i.i, label %1185 @@ -2706,7 +2706,7 @@ sema_remove_unwraps_from_try.exit.i.thread: ; preds = %1148, %1151, %1156, 1185: ; preds = %sema_remove_unwraps_from_try.exit.i.thread %1186 = add i32 %1184, -1 %1187 = zext i32 %1186 to i64 - %1188 = getelementptr inbounds nuw ptr, ptr %.val106.i.pr689, i64 %1187 + %1188 = getelementptr inbounds nuw ptr, ptr %.val106.i.pr688, i64 %1187 %1189 = load ptr, ptr %1188, align 8 br label %.thread.i.i @@ -2796,7 +2796,7 @@ sema_remove_unwraps_from_try.exit.i.thread: ; preds = %1148, %1151, %1156, 1226: ; preds = %.thread182, %.loopexit222 %.084.i62185 = phi i1 [ false, %.thread182 ], [ %1225, %.loopexit222 ] - %1227 = and i8 %.085.in.in.i685, 2 + %1227 = and i8 %.085.in.in.i684, 2 %.not100.i64 = icmp eq i8 %1227, 0 br i1 %.not100.i64, label %sema_analyse_if_stmt.exit.thread, label %1228 @@ -3393,7 +3393,7 @@ sema_analyse_macro_constant_ensures.exit.i.i: ; preds = %.backedge.i.i.i, %1 %1510 = load i32, ptr %1509, align 8 %1511 = zext i32 %1510 to i64 %1512 = getelementptr inbounds nuw %struct.Expr_, ptr %1499, i64 %1511 - br label %.preheader1024 + br label %.preheader1023 1513: ; preds = %1500 %1514 = getelementptr inbounds nuw i8, ptr %.081.i, i64 32 @@ -3412,13 +3412,13 @@ sema_analyse_macro_constant_ensures.exit.i.i: ; preds = %.backedge.i.i.i, %1 1519: ; preds = %1513 %1520 = getelementptr inbounds nuw i8, ptr %.081.i, i64 24 %1521 = load ptr, ptr %1520, align 8 - br label %.preheader1024 + br label %.preheader1023 -.preheader1024: ; preds = %1519, %1508 +.preheader1023: ; preds = %1519, %1508 %.2.i.ph = phi ptr [ %1521, %1519 ], [ %1512, %1508 ] br label %1522 -1522: ; preds = %.preheader1024, %1525 +1522: ; preds = %.preheader1023, %1525 %.2.i = phi ptr [ %1527, %1525 ], [ %.2.i.ph, %.preheader1024 ] %1523 = getelementptr inbounds nuw i8, ptr %.2.i, i64 16 %1524 = load i16, ptr %1523, align 8 @@ -3663,18 +3663,18 @@ sema_return_optional_check_is_valid_in_scope.exit.i: ; preds = %1591, %1571 %1643 = getelementptr inbounds nuw i8, ptr %1, i64 24 %1644 = load i32, ptr %1643, align 8 %.not111.i = icmp eq i32 %1644, 0 - br i1 %.not111.i, label %1649, label %.preheader863 + br i1 %.not111.i, label %1649, label %.preheader862 -.preheader863: ; preds = %1642, %.preheader863 +.preheader862: ; preds = %1642, %.preheader862 %.pn.in.i = phi i32 [ %1646, %.preheader863 ], [ %1644, %1642 ] %.pn.i = zext i32 %.pn.in.i to i64 %.082.i = getelementptr inbounds nuw %struct.Ast_, ptr %1639, i64 %.pn.i %1645 = getelementptr inbounds nuw i8, ptr %.082.i, i64 8 %1646 = load i32, ptr %1645, align 8 %.not112.i = icmp eq i32 %1646, 0 - br i1 %.not112.i, label %1647, label %.preheader863, !llvm.loop !25 + br i1 %.not112.i, label %1647, label %.preheader862, !llvm.loop !25 -1647: ; preds = %.preheader863 +1647: ; preds = %.preheader862 %1648 = getelementptr inbounds nuw i8, ptr %.082.i, i64 8 store i32 %.pre145.i, ptr %1648, align 8 br label %sema_analyse_return_stmt.exit @@ -4474,12 +4474,12 @@ sema_analyse_return_stmt.exit: ; preds = %1473, %1607, %.loop br i1 %exitcond547.not, label %._crit_edge342, label %1933, !llvm.loop !30 ._crit_edge342: ; preds = %2069, %1928 - %.0127.i693 = phi i32 [ 0, %1928 ], [ %1930, %2069 ] + %.0127.i692 = phi i32 [ 0, %1928 ], [ %1930, %2069 ] %.0133.i.lcssa = phi i32 [ 0, %1928 ], [ %.1134.i, %2069 ] %.0130.i.lcssa = phi i32 [ 0, %1928 ], [ %.1131.i, %2069 ] - %2070 = icmp eq i32 %.0130.i.lcssa, %.0127.i693 + %2070 = icmp eq i32 %.0130.i.lcssa, %.0127.i692 %spec.select154.i = select i1 %2070, i32 %.0133.i.lcssa, i32 %.0130.i.lcssa - %2071 = icmp ult i32 %spec.select154.i, %.0127.i693 + %2071 = icmp ult i32 %spec.select154.i, %.0127.i692 br i1 %2071, label %.lr.ph347.preheader, label %._crit_edge348 .lr.ph347.preheader: ; preds = %._crit_edge342 @@ -4489,7 +4489,7 @@ sema_analyse_return_stmt.exit: ; preds = %1473, %1607, %.loop 2073: ; preds = %.lr.ph347 %indvars.iv.next549 = add nuw nsw i64 %indvars.iv548, 1 %2074 = trunc nsw i64 %indvars.iv.next549 to i32 - %2075 = icmp ugt i32 %.0127.i693, %2074 + %2075 = icmp ugt i32 %.0127.i692, %2074 br i1 %2075, label %.lr.ph347, label %._crit_edge348, !llvm.loop !31 .lr.ph347: ; preds = %.lr.ph347.preheader, %2073 @@ -4605,8 +4605,8 @@ sema_analyse_then_overwrite.exit.i: ; preds = %1974, %1971, %1962, 2128: ; preds = %2123 %2129 = getelementptr inbounds nuw i8, ptr %2121, i64 24 %2130 = load i16, ptr %2129, align 8 - %trunc848 = trunc i16 %2130 to i8 - switch i8 %trunc848, label %.critedge2.i [ + %trunc847 = trunc i16 %2130 to i8 + switch i8 %trunc847, label %.critedge2.i [ i8 10, label %.critedge4.i i8 9, label %2133 ] @@ -5108,9 +5108,9 @@ sema_analyse_statement_inner.exit.thread198: ; preds = %._crit_edge416, %23 unreachable sema_analyse_statement_inner.exit.sink.split: ; preds = %2270, %2276, %2309 - %.lcssa724.sink = phi ptr [ %2307, %2309 ], [ %2265, %2276 ], [ %2265, %2270 ] + %.lcssa723.sink = phi ptr [ %2307, %2309 ], [ %2265, %2276 ], [ %2265, %2270 ] %.str.130.sink = phi ptr [ @.str.131, %2309 ], [ @.str.130, %2276 ], [ @.str.130, %2270 ] - %2357 = getelementptr inbounds nuw i8, ptr %.lcssa724.sink, i64 8 + %2357 = getelementptr inbounds nuw i8, ptr %.lcssa723.sink, i64 8 %2358 = load i64, ptr %2357, align 8 tail call void (i64, ptr, ...) @sema_error_at(i64 %2358, ptr noundef nonnull %.str.130.sink) #8 br label %sema_analyse_statement_inner.exit @@ -5152,9 +5152,9 @@ sema_analyse_statement_inner.exit.thread196: ; preds = %73, %.thread, %sema br label %.sink.split .sink.split: ; preds = %.lr.ph.i127, %74, %42, %40, %2366, %2363, %2363, %sema_analyse_compound_stmt.exit, %295, %419, %sema_analyse_foreach_stmt.exit, %1070, %1650, %sema_analyse_statement_inner.exit, %sema_analyse_foreach_stmt.exit.thread, %sema_analyse_if_stmt.exit, %sema_analyse_return_stmt.exit.thread, %sema_analyse_ct_foreach_stmt.exit, %232, %432, %.critedge.i.i135, %52, %127, %134, %.critedge.i123, %92, %.loopexit.i131, %.critedge70.i, %164, %.loopexit.i120, %context_labels_exist_in_scope.exit.i, %207, %277, %261, %265, %sema_analyse_then_overwrite.exit.i94, %421, %sema_analyse_defer_stmt_body.exit.i.thread, %sema_analyse_defer_stmt_body.exit.i, %473, %477, %1690, %._crit_edge183.i, %1775, %._crit_edge179.i, %._crit_edge.i, %1754, %1697, %1672, %1671, %1679, %1761, %1820, %sema_analyse_then_overwrite.exit.i, %2370 - %.sink847 = phi i8 [ 0, %2370 ], [ 0, %sema_analyse_then_overwrite.exit.i ], [ 0, %1820 ], [ 0, %1761 ], [ 0, %1679 ], [ 0, %1671 ], [ 0, %1672 ], [ 0, %1697 ], [ 0, %1754 ], [ 0, %._crit_edge.i ], [ 0, %._crit_edge179.i ], [ 0, %1775 ], [ 0, %._crit_edge183.i ], [ 0, %1690 ], [ 0, %477 ], [ 0, %473 ], [ 0, %sema_analyse_defer_stmt_body.exit.i ], [ 0, %sema_analyse_defer_stmt_body.exit.i.thread ], [ 0, %421 ], [ 0, %sema_analyse_then_overwrite.exit.i94 ], [ 0, %265 ], [ 0, %261 ], [ 0, %277 ], [ 0, %207 ], [ 0, %context_labels_exist_in_scope.exit.i ], [ 0, %.loopexit.i120 ], [ 0, %164 ], [ 0, %.critedge70.i ], [ 0, %.loopexit.i131 ], [ 0, %92 ], [ 0, %.critedge.i123 ], [ 0, %134 ], [ 0, %127 ], [ 0, %52 ], [ 0, %.critedge.i.i135 ], [ 0, %432 ], [ 0, %232 ], [ 0, %sema_analyse_ct_foreach_stmt.exit ], [ 0, %sema_analyse_return_stmt.exit.thread ], [ 0, %sema_analyse_if_stmt.exit ], [ 0, %sema_analyse_foreach_stmt.exit.thread ], [ 0, %sema_analyse_statement_inner.exit ], [ 0, %1650 ], [ 0, %1070 ], [ 0, %sema_analyse_foreach_stmt.exit ], [ 0, %419 ], [ 0, %295 ], [ 0, %sema_analyse_compound_stmt.exit ], [ 24, %2363 ], [ 24, %2363 ], [ 24, %2366 ], [ 0, %40 ], [ 0, %42 ], [ 0, %74 ], [ 0, %.lr.ph.i127 ] + %.sink846 = phi i8 [ 0, %2370 ], [ 0, %sema_analyse_then_overwrite.exit.i ], [ 0, %1820 ], [ 0, %1761 ], [ 0, %1679 ], [ 0, %1671 ], [ 0, %1672 ], [ 0, %1697 ], [ 0, %1754 ], [ 0, %._crit_edge.i ], [ 0, %._crit_edge179.i ], [ 0, %1775 ], [ 0, %._crit_edge183.i ], [ 0, %1690 ], [ 0, %477 ], [ 0, %473 ], [ 0, %sema_analyse_defer_stmt_body.exit.i ], [ 0, %sema_analyse_defer_stmt_body.exit.i.thread ], [ 0, %421 ], [ 0, %sema_analyse_then_overwrite.exit.i94 ], [ 0, %265 ], [ 0, %261 ], [ 0, %277 ], [ 0, %207 ], [ 0, %context_labels_exist_in_scope.exit.i ], [ 0, %.loopexit.i120 ], [ 0, %164 ], [ 0, %.critedge70.i ], [ 0, %.loopexit.i131 ], [ 0, %92 ], [ 0, %.critedge.i123 ], [ 0, %134 ], [ 0, %127 ], [ 0, %52 ], [ 0, %.critedge.i.i135 ], [ 0, %432 ], [ 0, %232 ], [ 0, %sema_analyse_ct_foreach_stmt.exit ], [ 0, %sema_analyse_return_stmt.exit.thread ], [ 0, %sema_analyse_if_stmt.exit ], [ 0, %sema_analyse_foreach_stmt.exit.thread ], [ 0, %sema_analyse_statement_inner.exit ], [ 0, %1650 ], [ 0, %1070 ], [ 0, %sema_analyse_foreach_stmt.exit ], [ 0, %419 ], [ 0, %295 ], [ 0, %sema_analyse_compound_stmt.exit ], [ 24, %2363 ], [ 24, %2363 ], [ 24, %2366 ], [ 0, %40 ], [ 0, %42 ], [ 0, %74 ], [ 0, %.lr.ph.i127 ] %.0.ph = phi i1 [ false, %2370 ], [ false, %sema_analyse_then_overwrite.exit.i ], [ false, %1820 ], [ false, %1761 ], [ false, %1679 ], [ false, %1671 ], [ false, %1672 ], [ false, %1697 ], [ false, %1754 ], [ false, %._crit_edge.i ], [ false, %._crit_edge179.i ], [ false, %1775 ], [ false, %._crit_edge183.i ], [ false, %1690 ], [ false, %477 ], [ false, %473 ], [ false, %sema_analyse_defer_stmt_body.exit.i ], [ false, %sema_analyse_defer_stmt_body.exit.i.thread ], [ false, %421 ], [ false, %sema_analyse_then_overwrite.exit.i94 ], [ false, %265 ], [ false, %261 ], [ false, %277 ], [ false, %207 ], [ false, %context_labels_exist_in_scope.exit.i ], [ false, %.loopexit.i120 ], [ false, %164 ], [ false, %.critedge70.i ], [ false, %.loopexit.i131 ], [ false, %92 ], [ false, %.critedge.i123 ], [ false, %134 ], [ false, %127 ], [ false, %52 ], [ false, %.critedge.i.i135 ], [ false, %432 ], [ false, %232 ], [ false, %sema_analyse_ct_foreach_stmt.exit ], [ false, %sema_analyse_return_stmt.exit.thread ], [ false, %sema_analyse_if_stmt.exit ], [ false, %sema_analyse_foreach_stmt.exit.thread ], [ false, %sema_analyse_statement_inner.exit ], [ false, %1650 ], [ false, %1070 ], [ false, %sema_analyse_foreach_stmt.exit ], [ false, %419 ], [ false, %295 ], [ false, %sema_analyse_compound_stmt.exit ], [ true, %2363 ], [ true, %2363 ], [ true, %2366 ], [ false, %40 ], [ false, %42 ], [ false, %74 ], [ false, %.lr.ph.i127 ] - store i8 %.sink847, ptr %20, align 4 + store i8 %.sink846, ptr %20, align 4 br label %2372 2372: ; preds = %.sink.split, %sema_analyse_statement_inner.exit.thread196, %2360, %2 diff --git a/bench/casadi/optimized/map.ll b/bench/casadi/optimized/map.ll index c62d9433528..289807eb8d0 100644 --- a/bench/casadi/optimized/map.ll +++ b/bench/casadi/optimized/map.ll @@ -12545,7 +12545,7 @@ define linkonce_odr hidden void @_ZNK6casadi3Map4infoB5cxx11Ev(ptr dead_on_unwin %6 = getelementptr inbounds nuw i8, ptr %4, i64 40 %7 = getelementptr inbounds nuw i8, ptr %1, i64 1320 invoke void @_ZNSt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN6casadi11GenericTypeEEC2IRA2_KcRKxTnNSt9enable_ifIXaaclsr5_PCCPE22_MoveConstructiblePairIT_T0_EEclsr5_PCCPE30_ImplicitlyMoveConvertiblePairISH_SI_EEEbE4typeELb1EEEOSH_OSI_(ptr noundef nonnull align 8 dereferenceable(40) %6, ptr noundef nonnull align 1 dereferenceable(2) @.str.95, ptr noundef nonnull align 8 dereferenceable(8) %7) - to label %8 unwind label %.loopexit.loopexit13 + to label %8 unwind label %.loopexit.loopexit9 8: ; preds = %2 %9 = getelementptr inbounds nuw i8, ptr %0, i64 8 @@ -12625,7 +12625,7 @@ _ZNSt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN6casadi11Generi call void @llvm.lifetime.end.p0(ptr nonnull %4) ret void -.loopexit.loopexit13: ; preds = %2 +.loopexit.loopexit9: ; preds = %2 %35 = landingpad { ptr, i32 } cleanup call void @_ZNSt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN6casadi11GenericTypeEED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %4) #26 @@ -12638,7 +12638,7 @@ _ZNSt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN6casadi11Generi %39 = icmp eq ptr %38, %4 br i1 %39, label %.loopexit, label %36 -.loopexit: ; preds = %36, %.loopexit.loopexit13 +.loopexit: ; preds = %36, %.loopexit.loopexit9 %.pn = phi { ptr, i32 } [ %35, %.loopexit.loopexit13 ], [ %16, %36 ] call void @llvm.lifetime.end.p0(ptr nonnull %4) resume { ptr, i32 } %.pn diff --git a/bench/ceres/optimized/dynamic_sparse_normal_cholesky_solver.ll b/bench/ceres/optimized/dynamic_sparse_normal_cholesky_solver.ll index a3f82a4be39..a78553fd892 100644 --- a/bench/ceres/optimized/dynamic_sparse_normal_cholesky_solver.ll +++ b/bench/ceres/optimized/dynamic_sparse_normal_cholesky_solver.ll @@ -3747,7 +3747,7 @@ _ZN5Eigen8internal23check_size_for_overflowIdEEvm.exit.thread: ; preds = %_ZN5Ei invoke void @__cxa_throw(ptr nonnull %17, ptr nonnull @_ZTISt9bad_alloc, ptr nonnull @_ZNSt9bad_allocD1Ev) #40 to label %.noexc138 unwind label %163 -.noexc138: ; preds = %16 +.noexc137: ; preds = %16 unreachable _ZN5Eigen8internal23check_size_for_overflowIdEEvm.exit: ; preds = %3 @@ -3755,9 +3755,9 @@ _ZN5Eigen8internal23check_size_for_overflowIdEEvm.exit: ; preds = %3 %19 = alloca i8, i64 %18, align 16 %20 = shl nuw nsw i64 %5, 3 %21 = icmp samesign ult i64 %5, 16385 - br i1 %21, label %_ZN5Eigen8internal14aligned_mallocEm.exit141.thread, label %26 + br i1 %21, label %_ZN5Eigen8internal14aligned_mallocEm.exit140.thread, label %26 -_ZN5Eigen8internal14aligned_mallocEm.exit141.thread: ; preds = %_ZN5Eigen8internal23check_size_for_overflowIdEEvm.exit +_ZN5Eigen8internal14aligned_mallocEm.exit140.thread: ; preds = %_ZN5Eigen8internal23check_size_for_overflowIdEEvm.exit %22 = add nuw nsw i64 %20, 15 %23 = alloca i8, i64 %22, align 16 %24 = add nuw nsw i64 %20, 15 @@ -3769,7 +3769,7 @@ _ZN5Eigen8internal14aligned_mallocEm.exit141.thread: ; preds = %_ZN5Eigen8intern %28 = phi ptr [ %10, %_ZN5Eigen8internal23check_size_for_overflowIdEEvm.exit.thread ], [ %19, %_ZN5Eigen8internal23check_size_for_overflowIdEEvm.exit ] %29 = tail call noalias ptr @malloc(i64 noundef %27) #39 %30 = icmp eq ptr %29, null - br i1 %30, label %31, label %_ZN5Eigen8internal14aligned_mallocEm.exit141 + br i1 %30, label %31, label %_ZN5Eigen8internal14aligned_mallocEm.exit140 31: ; preds = %26 %32 = tail call ptr @__cxa_allocate_exception(i64 8) #36 @@ -3777,24 +3777,24 @@ _ZN5Eigen8internal14aligned_mallocEm.exit141.thread: ; preds = %_ZN5Eigen8intern invoke void @__cxa_throw(ptr nonnull %32, ptr nonnull @_ZTISt9bad_alloc, ptr nonnull @_ZNSt9bad_allocD1Ev) #40 to label %.noexc140 unwind label %165 -.noexc140: ; preds = %31 +.noexc139: ; preds = %31 unreachable -_ZN5Eigen8internal14aligned_mallocEm.exit141: ; preds = %26 +_ZN5Eigen8internal14aligned_mallocEm.exit140: ; preds = %26 %33 = tail call noalias ptr @malloc(i64 noundef %27) #39 %34 = icmp eq ptr %33, null br i1 %34, label %35, label %37 -35: ; preds = %_ZN5Eigen8internal14aligned_mallocEm.exit141 +35: ; preds = %_ZN5Eigen8internal14aligned_mallocEm.exit140 %36 = tail call ptr @__cxa_allocate_exception(i64 8) #36 store ptr getelementptr inbounds nuw inrange(-16, 24) (i8, ptr @_ZTVSt9bad_alloc, i64 16), ptr %36, align 8, !tbaa !16 invoke void @__cxa_throw(ptr nonnull %36, ptr nonnull @_ZTISt9bad_alloc, ptr nonnull @_ZNSt9bad_allocD1Ev) #40 to label %.noexc145 unwind label %167 -.noexc145: ; preds = %35 +.noexc144: ; preds = %35 unreachable -37: ; preds = %_ZN5Eigen8internal14aligned_mallocEm.exit141.thread, %_ZN5Eigen8internal14aligned_mallocEm.exit141 +37: ; preds = %_ZN5Eigen8internal14aligned_mallocEm.exit140.thread, %_ZN5Eigen8internal14aligned_mallocEm.exit140 %38 = phi i1 [ false, %_ZN5Eigen8internal14aligned_mallocEm.exit141.thread ], [ true, %_ZN5Eigen8internal14aligned_mallocEm.exit141 ] %39 = phi ptr [ %23, %_ZN5Eigen8internal14aligned_mallocEm.exit141.thread ], [ %29, %_ZN5Eigen8internal14aligned_mallocEm.exit141 ] %40 = phi ptr [ %19, %_ZN5Eigen8internal14aligned_mallocEm.exit141.thread ], [ %28, %_ZN5Eigen8internal14aligned_mallocEm.exit141 ] @@ -3983,9 +3983,9 @@ _ZN5Eigen12SparseMatrixIdLi1EiE7setZeroEv.exit: ; preds = %_ZNK5Eigen8internal _ZN5Eigen12SparseMatrixIdLi1EiE7reserveEl.exit.preheader: ; preds = %_ZN5Eigen12SparseMatrixIdLi1EiE7setZeroEv.exit %138 = icmp sgt i64 %7, 0 - br i1 %138, label %.lr.ph213, label %_ZN5Eigen12SparseMatrixIdLi1EiE7reserveEl.exit._crit_edge + br i1 %138, label %.lr.ph212, label %_ZN5Eigen12SparseMatrixIdLi1EiE7reserveEl.exit._crit_edge -.lr.ph213: ; preds = %_ZN5Eigen12SparseMatrixIdLi1EiE7reserveEl.exit.preheader +.lr.ph212: ; preds = %_ZN5Eigen12SparseMatrixIdLi1EiE7reserveEl.exit.preheader %139 = getelementptr inbounds nuw i8, ptr %1, i64 40 %140 = getelementptr inbounds nuw i8, ptr %1, i64 48 %141 = getelementptr inbounds nuw i8, ptr %1, i64 24 @@ -4046,30 +4046,30 @@ _ZN5Eigen12SparseMatrixIdLi1EiE7reserveEl.exit._crit_edge: ; preds = %_ZN5Eigen1 165: ; preds = %31 %166 = landingpad { ptr, i32 } cleanup - br i1 %8, label %288, label %_ZN5Eigen8internal28aligned_stack_memory_handlerIbED2Ev.exit152 + br i1 %8, label %288, label %_ZN5Eigen8internal28aligned_stack_memory_handlerIbED2Ev.exit151 167: ; preds = %35 %168 = landingpad { ptr, i32 } cleanup tail call void @free(ptr noundef nonnull %29) #36 - br i1 %8, label %288, label %_ZN5Eigen8internal28aligned_stack_memory_handlerIbED2Ev.exit152 + br i1 %8, label %288, label %_ZN5Eigen8internal28aligned_stack_memory_handlerIbED2Ev.exit151 169: ; preds = %_ZN5Eigen12SparseMatrixIdLi1EiE7setZeroEv.exit %170 = landingpad { ptr, i32 } cleanup br label %.body -171: ; preds = %.lr.ph213, %_ZN5Eigen12SparseMatrixIdLi1EiE7reserveEl.exit - %.0116212 = phi i64 [ 0, %.lr.ph213 ], [ %284, %_ZN5Eigen12SparseMatrixIdLi1EiE7reserveEl.exit ] +171: ; preds = %.lr.ph212, %_ZN5Eigen12SparseMatrixIdLi1EiE7reserveEl.exit + %.0116211 = phi i64 [ 0, %.lr.ph213 ], [ %284, %_ZN5Eigen12SparseMatrixIdLi1EiE7reserveEl.exit ] %172 = load ptr, ptr %126, align 8, !tbaa !209 - %173 = getelementptr inbounds nuw i32, ptr %172, i64 %.0116212 + %173 = getelementptr inbounds nuw i32, ptr %172, i64 %.0116211 %174 = load i32, ptr %173, align 4, !tbaa !99 %175 = getelementptr i8, ptr %173, i64 4 store i32 %174, ptr %175, align 4, !tbaa !99 %176 = load ptr, ptr %139, align 8, !tbaa !154 %177 = load ptr, ptr %140, align 8, !tbaa !155 %178 = load ptr, ptr %141, align 8, !tbaa !209 - %179 = getelementptr inbounds nuw i32, ptr %178, i64 %.0116212 + %179 = getelementptr inbounds nuw i32, ptr %178, i64 %.0116211 %180 = load i32, ptr %179, align 4, !tbaa !99 %181 = sext i32 %180 to i64 %182 = load ptr, ptr %45, align 8, !tbaa !211 @@ -4083,7 +4083,7 @@ _ZN5Eigen12SparseMatrixIdLi1EiE7reserveEl.exit._crit_edge: ; preds = %_ZN5Eigen1 br label %_ZN5Eigen20SparseCompressedBaseINS_12SparseMatrixIdLi1EiEEE13InnerIteratorC2ERKS3_l.exit 188: ; preds = %171 - %189 = getelementptr inbounds nuw i32, ptr %182, i64 %.0116212 + %189 = getelementptr inbounds nuw i32, ptr %182, i64 %.0116211 %190 = load i32, ptr %189, align 4, !tbaa !99 %191 = sext i32 %190 to i64 %192 = add nsw i64 %191, %181 @@ -4092,9 +4092,9 @@ _ZN5Eigen12SparseMatrixIdLi1EiE7reserveEl.exit._crit_edge: ; preds = %_ZN5Eigen1 _ZN5Eigen20SparseCompressedBaseINS_12SparseMatrixIdLi1EiEEE13InnerIteratorC2ERKS3_l.exit: ; preds = %184, %188 %.sink.i = phi i64 [ %187, %184 ], [ %192, %188 ] %193 = icmp sgt i64 %.sink.i, %181 - br i1 %193, label %.lr.ph207, label %_ZN5Eigen12SparseMatrixIdLi1EiE7reserveEl.exit + br i1 %193, label %.lr.ph206, label %_ZN5Eigen12SparseMatrixIdLi1EiE7reserveEl.exit -.lr.ph207: ; preds = %_ZN5Eigen20SparseCompressedBaseINS_12SparseMatrixIdLi1EiEEE13InnerIteratorC2ERKS3_l.exit +.lr.ph206: ; preds = %_ZN5Eigen20SparseCompressedBaseINS_12SparseMatrixIdLi1EiEEE13InnerIteratorC2ERKS3_l.exit %194 = load ptr, ptr %142, align 8, !tbaa !214 %195 = load ptr, ptr %143, align 8, !tbaa !215 %196 = load ptr, ptr %144, align 8, !tbaa !216 @@ -4104,18 +4104,18 @@ _ZN5Eigen20SparseCompressedBaseINS_12SparseMatrixIdLi1EiEEE13InnerIteratorC2ERKS .preheader: ; preds = %._crit_edge %199 = icmp sgt i64 %.1119.lcssa, 0 - br i1 %199, label %.lr.ph210.preheader, label %_ZN5Eigen12SparseMatrixIdLi1EiE7reserveEl.exit + br i1 %199, label %.lr.ph209.preheader, label %_ZN5Eigen12SparseMatrixIdLi1EiE7reserveEl.exit -.lr.ph210.preheader: ; preds = %.preheader +.lr.ph209.preheader: ; preds = %.preheader %.pre = load i64, ptr %125, align 8, !tbaa !194 - br label %.lr.ph210 + br label %.lr.ph209 -200: ; preds = %.lr.ph207, %._crit_edge - %.0118206 = phi i64 [ 0, %.lr.ph207 ], [ %.1119.lcssa, %._crit_edge ] - %.sroa.8161.0205 = phi i64 [ %181, %.lr.ph207 ], [ %219, %._crit_edge ] - %201 = getelementptr inbounds double, ptr %176, i64 %.sroa.8161.0205 +200: ; preds = %.lr.ph206, %._crit_edge + %.0118205 = phi i64 [ 0, %.lr.ph207 ], [ %.1119.lcssa, %._crit_edge ] + %.sroa.8160.0204 = phi i64 [ %181, %.lr.ph207 ], [ %219, %._crit_edge ] + %201 = getelementptr inbounds double, ptr %176, i64 %.sroa.8160.0204 %202 = load double, ptr %201, align 8, !tbaa !42 - %203 = getelementptr inbounds i32, ptr %177, i64 %.sroa.8161.0205 + %203 = getelementptr inbounds i32, ptr %177, i64 %.sroa.8160.0204 %204 = load i32, ptr %203, align 4, !tbaa !99 %205 = sext i32 %204 to i64 %206 = getelementptr inbounds i32, ptr %196, i64 %205 @@ -4137,23 +4137,23 @@ _ZN5Eigen20SparseCompressedBaseINS_12SparseMatrixIdLi1EiEEE13InnerIteratorC2ERKS br label %_ZN5Eigen20SparseCompressedBaseINS_3MapINS_12SparseMatrixIdLi1EiEELi0ENS_6StrideILi0ELi0EEEEEE13InnerIteratorC2ERKS7_l.exit _ZN5Eigen20SparseCompressedBaseINS_3MapINS_12SparseMatrixIdLi1EiEELi0ENS_6StrideILi0ELi0EEEEEE13InnerIteratorC2ERKS7_l.exit: ; preds = %209, %213 - %.sink.i148 = phi i64 [ %212, %209 ], [ %217, %213 ] - %218 = icmp sgt i64 %.sink.i148, %208 + %.sink.i147 = phi i64 [ %212, %209 ], [ %217, %213 ] + %218 = icmp sgt i64 %.sink.i147, %208 br i1 %218, label %.lr.ph, label %._crit_edge ._crit_edge: ; preds = %237, %_ZN5Eigen20SparseCompressedBaseINS_3MapINS_12SparseMatrixIdLi1EiEELi0ENS_6StrideILi0ELi0EEEEEE13InnerIteratorC2ERKS7_l.exit - %.1119.lcssa = phi i64 [ %.0118206, %_ZN5Eigen20SparseCompressedBaseINS_3MapINS_12SparseMatrixIdLi1EiEELi0ENS_6StrideILi0ELi0EEEEEE13InnerIteratorC2ERKS7_l.exit ], [ %.2120, %237 ] - %219 = add nsw i64 %.sroa.8161.0205, 1 - %exitcond220.not = icmp eq i64 %219, %.sink.i - br i1 %exitcond220.not, label %.preheader, label %200, !llvm.loop !218 + %.1119.lcssa = phi i64 [ %.0118205, %_ZN5Eigen20SparseCompressedBaseINS_3MapINS_12SparseMatrixIdLi1EiEELi0ENS_6StrideILi0ELi0EEEEEE13InnerIteratorC2ERKS7_l.exit ], [ %.2120, %237 ] + %219 = add nsw i64 %.sroa.8160.0204, 1 + %exitcond219.not = icmp eq i64 %219, %.sink.i + br i1 %exitcond219.not, label %.preheader, label %200, !llvm.loop !218 .lr.ph: ; preds = %_ZN5Eigen20SparseCompressedBaseINS_3MapINS_12SparseMatrixIdLi1EiEELi0ENS_6StrideILi0ELi0EEEEEE13InnerIteratorC2ERKS7_l.exit, %237 - %.1119204 = phi i64 [ %.2120, %237 ], [ %.0118206, %_ZN5Eigen20SparseCompressedBaseINS_3MapINS_12SparseMatrixIdLi1EiEELi0ENS_6StrideILi0ELi0EEEEEE13InnerIteratorC2ERKS7_l.exit ] - %.sroa.8.0203 = phi i64 [ %238, %237 ], [ %208, %_ZN5Eigen20SparseCompressedBaseINS_3MapINS_12SparseMatrixIdLi1EiEELi0ENS_6StrideILi0ELi0EEEEEE13InnerIteratorC2ERKS7_l.exit ] - %220 = getelementptr inbounds i32, ptr %195, i64 %.sroa.8.0203 + %.1119203 = phi i64 [ %.2120, %237 ], [ %.0118205, %_ZN5Eigen20SparseCompressedBaseINS_3MapINS_12SparseMatrixIdLi1EiEELi0ENS_6StrideILi0ELi0EEEEEE13InnerIteratorC2ERKS7_l.exit ] + %.sroa.8.0202 = phi i64 [ %238, %237 ], [ %208, %_ZN5Eigen20SparseCompressedBaseINS_3MapINS_12SparseMatrixIdLi1EiEELi0ENS_6StrideILi0ELi0EEEEEE13InnerIteratorC2ERKS7_l.exit ] + %220 = getelementptr inbounds i32, ptr %195, i64 %.sroa.8.0202 %221 = load i32, ptr %220, align 4, !tbaa !99 %222 = sext i32 %221 to i64 - %223 = getelementptr inbounds double, ptr %194, i64 %.sroa.8.0203 + %223 = getelementptr inbounds double, ptr %194, i64 %.sroa.8.0202 %224 = load double, ptr %223, align 8, !tbaa !42 %225 = getelementptr inbounds i8, ptr %40, i64 %222 %226 = load i8, ptr %225, align 1, !tbaa !219, !range !192, !noundef !193 @@ -4165,9 +4165,9 @@ _ZN5Eigen20SparseCompressedBaseINS_3MapINS_12SparseMatrixIdLi1EiEELi0ENS_6Stride %229 = fmul double %202, %224 %230 = getelementptr inbounds double, ptr %39, i64 %222 store double %229, ptr %230, align 8, !tbaa !42 - %231 = getelementptr inbounds i64, ptr %41, i64 %.1119204 + %231 = getelementptr inbounds i64, ptr %41, i64 %.1119203 store i64 %222, ptr %231, align 8, !tbaa !164 - %232 = add nsw i64 %.1119204, 1 + %232 = add nsw i64 %.1119203, 1 br label %237 233: ; preds = %.lr.ph @@ -4178,20 +4178,20 @@ _ZN5Eigen20SparseCompressedBaseINS_3MapINS_12SparseMatrixIdLi1EiEELi0ENS_6Stride br label %237 237: ; preds = %233, %228 - %.2120 = phi i64 [ %.1119204, %233 ], [ %232, %228 ] - %238 = add nsw i64 %.sroa.8.0203, 1 - %exitcond.not = icmp eq i64 %238, %.sink.i148 + %.2120 = phi i64 [ %.1119203, %233 ], [ %232, %228 ] + %238 = add nsw i64 %.sroa.8.0202, 1 + %exitcond.not = icmp eq i64 %238, %.sink.i147 br i1 %exitcond.not, label %._crit_edge, label %.lr.ph, !llvm.loop !220 -.lr.ph210: ; preds = %.lr.ph210.preheader, %275 +.lr.ph209: ; preds = %.lr.ph209.preheader, %275 %239 = phi i64 [ %250, %275 ], [ %.pre, %.lr.ph210.preheader ] - %.0117209 = phi i64 [ %283, %275 ], [ 0, %.lr.ph210.preheader ] - %240 = getelementptr inbounds nuw i64, ptr %41, i64 %.0117209 + %.0117208 = phi i64 [ %283, %275 ], [ 0, %.lr.ph210.preheader ] + %240 = getelementptr inbounds nuw i64, ptr %41, i64 %.0117208 %241 = load i64, ptr %240, align 8, !tbaa !164 %242 = getelementptr inbounds double, ptr %39, i64 %241 %243 = load double, ptr %242, align 8, !tbaa !42 %244 = load ptr, ptr %126, align 8, !tbaa !209 - %245 = getelementptr i32, ptr %244, i64 %.0116212 + %245 = getelementptr i32, ptr %244, i64 %.0116211 %246 = getelementptr i8, ptr %245, i64 4 %247 = load i32, ptr %246, align 4, !tbaa !99 %248 = sext i32 %247 to i64 @@ -4202,13 +4202,13 @@ _ZN5Eigen20SparseCompressedBaseINS_3MapINS_12SparseMatrixIdLi1EiEELi0ENS_6Stride %.not = icmp sgt i64 %251, %239 br i1 %.not, label %275, label %252 -252: ; preds = %.lr.ph210 +252: ; preds = %.lr.ph209 %253 = sitofp i64 %250 to double %254 = fptosi double %253 to i64 %255 = add nsw i64 %250, %254 %.sroa.speculated.i = tail call i64 @llvm.smin.i64(i64 %255, i64 2147483647) - %.not196 = icmp sgt i64 %.sroa.speculated.i, %239 - br i1 %.not196, label %258, label %256 + %.not195 = icmp sgt i64 %.sroa.speculated.i, %239 + br i1 %.not195, label %258, label %256 256: ; preds = %252 %257 = tail call ptr @__cxa_allocate_exception(i64 8) #36 @@ -4216,7 +4216,7 @@ _ZN5Eigen20SparseCompressedBaseINS_3MapINS_12SparseMatrixIdLi1EiEELi0ENS_6Stride invoke void @__cxa_throw(ptr nonnull %257, ptr nonnull @_ZTISt9bad_alloc, ptr nonnull @_ZNSt9bad_allocD1Ev) #40 to label %.noexc153 unwind label %.loopexit.split-lp -.noexc153: ; preds = %256 +.noexc152: ; preds = %256 unreachable 258: ; preds = %252 @@ -4226,14 +4226,14 @@ _ZN5Eigen20SparseCompressedBaseINS_3MapINS_12SparseMatrixIdLi1EiEELi0ENS_6Stride %262 = invoke noalias noundef nonnull ptr @_Znam(i64 noundef %261) #34 to label %.noexc154 unwind label %.loopexit -.noexc154: ; preds = %258 +.noexc153: ; preds = %258 %263 = icmp ugt i64 %.sroa.speculated.i, 4611686018427387903 %264 = shl nuw i64 %.sroa.speculated.i, 2 %265 = select i1 %263, i64 -1, i64 %264 %266 = invoke noalias noundef nonnull ptr @_Znam(i64 noundef %265) #34 to label %_ZN5Eigen8internal12scoped_arrayIiEC2El.exit.i.i unwind label %_ZN5Eigen8internal12scoped_arrayIdED2Ev.exit9.i.i -_ZN5Eigen8internal12scoped_arrayIiEC2El.exit.i.i: ; preds = %.noexc154 +_ZN5Eigen8internal12scoped_arrayIiEC2El.exit.i.i: ; preds = %.noexc153 %.sroa.speculated.i.i = tail call i64 @llvm.smin.i64(i64 %239, i64 %.sroa.speculated.i) %267 = icmp sgt i64 %.sroa.speculated.i.i, 0 %.pre.i.i = load ptr, ptr %137, align 8, !tbaa !199 @@ -4251,7 +4251,7 @@ _ZN5Eigen8internal10smart_copyIdEEvPKT_S4_PS2_.exit.i.i: ; preds = %_ZN5Eigen8in tail call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 4 %266, ptr align 4 %268, i64 %.idx22.i.i, i1 false) br label %_ZN5Eigen8internal10smart_copyIiEEvPKT_S4_PS2_.exit.i.i -_ZN5Eigen8internal12scoped_arrayIdED2Ev.exit9.i.i: ; preds = %.noexc154 +_ZN5Eigen8internal12scoped_arrayIdED2Ev.exit9.i.i: ; preds = %.noexc153 %269 = landingpad { ptr, i32 } cleanup tail call void @_ZdaPv(ptr noundef nonnull %262) #35 @@ -4277,7 +4277,7 @@ _ZN5Eigen8internal12scoped_arrayIiED2Ev.exit8.i.i: ; preds = %272, %_ZN5Eigen8in tail call void @_ZdaPv(ptr noundef nonnull %.pre.i.i) #35 br label %275 -275: ; preds = %.lr.ph210, %_ZN5Eigen8internal12scoped_arrayIiED2Ev.exit8.i.i, %274 +275: ; preds = %.lr.ph209, %_ZN5Eigen8internal12scoped_arrayIiED2Ev.exit8.i.i, %274 store i64 %250, ptr %125, align 8, !tbaa !194 %276 = load ptr, ptr %137, align 8, !tbaa !154 %277 = getelementptr inbounds double, ptr %276, i64 %239 @@ -4290,9 +4290,9 @@ _ZN5Eigen8internal12scoped_arrayIiED2Ev.exit8.i.i: ; preds = %272, %_ZN5Eigen8in store double %243, ptr %281, align 8, !tbaa !42 %282 = getelementptr inbounds i8, ptr %40, i64 %241 store i8 0, ptr %282, align 1, !tbaa !219 - %283 = add nuw nsw i64 %.0117209, 1 - %exitcond221.not = icmp eq i64 %283, %.1119.lcssa - br i1 %exitcond221.not, label %_ZN5Eigen12SparseMatrixIdLi1EiE7reserveEl.exit, label %.lr.ph210, !llvm.loop !221 + %283 = add nuw nsw i64 %.0117208, 1 + %exitcond220.not = icmp eq i64 %283, %.1119.lcssa + br i1 %exitcond220.not, label %_ZN5Eigen12SparseMatrixIdLi1EiE7reserveEl.exit, label %.lr.ph209, !llvm.loop !221 .loopexit: ; preds = %258 %lpad.loopexit = landingpad { ptr, i32 } @@ -4305,9 +4305,9 @@ _ZN5Eigen8internal12scoped_arrayIiED2Ev.exit8.i.i: ; preds = %272, %_ZN5Eigen8in br label %.body _ZN5Eigen12SparseMatrixIdLi1EiE7reserveEl.exit: ; preds = %275, %_ZN5Eigen20SparseCompressedBaseINS_12SparseMatrixIdLi1EiEEE13InnerIteratorC2ERKS3_l.exit, %.preheader - %284 = add nuw nsw i64 %.0116212, 1 - %exitcond222.not = icmp eq i64 %284, %7 - br i1 %exitcond222.not, label %_ZN5Eigen12SparseMatrixIdLi1EiE7reserveEl.exit._crit_edge, label %171, !llvm.loop !222 + %284 = add nuw nsw i64 %.0116211, 1 + %exitcond221.not = icmp eq i64 %284, %7 + br i1 %exitcond221.not, label %_ZN5Eigen12SparseMatrixIdLi1EiE7reserveEl.exit._crit_edge, label %171, !llvm.loop !222 _ZN5Eigen12SparseMatrixIdLi1EiE8finalizeEv.exit: ; preds = %.lr.ph13.i, %.critedge.i, %149, %_ZN5Eigen12SparseMatrixIdLi1EiE7reserveEl.exit._crit_edge br i1 %38, label %285, label %_ZN5Eigen8internal28aligned_stack_memory_handlerIdED2Ev.exit @@ -4329,22 +4329,22 @@ _ZN5Eigen8internal28aligned_stack_memory_handlerIbED2Ev.exit: ; preds = %_ZN5Eig .body: ; preds = %.loopexit, %.loopexit.split-lp, %_ZN5Eigen8internal12scoped_arrayIdED2Ev.exit9.i.i, %169 %.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %170, %169 ], [ %269, %_ZN5Eigen8internal12scoped_arrayIdED2Ev.exit9.i.i ], [ %lpad.loopexit, %.loopexit ], [ %lpad.loopexit.split-lp, %.loopexit.split-lp ] - br i1 %38, label %287, label %_ZN5Eigen8internal28aligned_stack_memory_handlerIbED2Ev.exit152 + br i1 %38, label %287, label %_ZN5Eigen8internal28aligned_stack_memory_handlerIbED2Ev.exit151 287: ; preds = %.body call void @free(ptr noundef nonnull %41) #36 call void @free(ptr noundef nonnull %39) #36 - br i1 %8, label %288, label %_ZN5Eigen8internal28aligned_stack_memory_handlerIbED2Ev.exit152 + br i1 %8, label %288, label %_ZN5Eigen8internal28aligned_stack_memory_handlerIbED2Ev.exit151 288: ; preds = %167, %287, %163, %165 - %.pn.pn.pn.pn.pn.pn.pn.pn.pn195 = phi { ptr, i32 } [ %164, %163 ], [ %166, %165 ], [ %.pn.pn.pn.pn.pn, %287 ], [ %168, %167 ] + %.pn.pn.pn.pn.pn.pn.pn.pn.pn194 = phi { ptr, i32 } [ %164, %163 ], [ %166, %165 ], [ %.pn.pn.pn.pn.pn, %287 ], [ %168, %167 ] %289 = phi ptr [ %10, %163 ], [ %28, %165 ], [ %40, %287 ], [ %28, %167 ] call void @free(ptr noundef %289) #36 - br label %_ZN5Eigen8internal28aligned_stack_memory_handlerIbED2Ev.exit152 + br label %_ZN5Eigen8internal28aligned_stack_memory_handlerIbED2Ev.exit151 -_ZN5Eigen8internal28aligned_stack_memory_handlerIbED2Ev.exit152: ; preds = %.body, %167, %287, %165, %288 - %.pn.pn.pn.pn.pn.pn.pn.pn.pn194 = phi { ptr, i32 } [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn195, %288 ], [ %166, %165 ], [ %.pn.pn.pn.pn.pn, %287 ], [ %168, %167 ], [ %.pn.pn.pn.pn.pn, %.body ] - resume { ptr, i32 } %.pn.pn.pn.pn.pn.pn.pn.pn.pn194 +_ZN5Eigen8internal28aligned_stack_memory_handlerIbED2Ev.exit151: ; preds = %.body, %167, %287, %165, %288 + %.pn.pn.pn.pn.pn.pn.pn.pn.pn193 = phi { ptr, i32 } [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn194, %288 ], [ %166, %165 ], [ %.pn.pn.pn.pn.pn, %287 ], [ %168, %167 ], [ %.pn.pn.pn.pn.pn, %.body ] + resume { ptr, i32 } %.pn.pn.pn.pn.pn.pn.pn.pn.pn193 } ; Function Attrs: mustprogress noinline uwtable diff --git a/bench/ceres/optimized/iterative_schur_complement_solver.ll b/bench/ceres/optimized/iterative_schur_complement_solver.ll index da39ecff411..5f66608f22a 100644 --- a/bench/ceres/optimized/iterative_schur_complement_solver.ll +++ b/bench/ceres/optimized/iterative_schur_complement_solver.ll @@ -627,8 +627,8 @@ define hidden void @_ZN5ceres8internal30IterativeSchurComplementSolver9SolveImpl to label %27 unwind label %22 27: ; preds = %.critedge - %.not63 = icmp eq ptr %26, null - br i1 %.not63, label %28, label %.critedge80, !prof !30 + %.not57 = icmp eq ptr %26, null + br i1 %.not57, label %28, label %.critedge74, !prof !30 28: ; preds = %27 call void @llvm.lifetime.start.p0(ptr nonnull %9) @@ -645,7 +645,7 @@ define hidden void @_ZN5ceres8internal30IterativeSchurComplementSolver9SolveImpl call void @llvm.lifetime.end.p0(ptr nonnull %9) br label %.body -.critedge80: ; preds = %27 +.critedge74: ; preds = %27 %32 = getelementptr inbounds nuw i8, ptr %1, i64 96 %33 = getelementptr inbounds nuw i8, ptr %1, i64 160 %34 = load ptr, ptr %33, align 8, !tbaa !18 @@ -655,7 +655,7 @@ define hidden void @_ZN5ceres8internal30IterativeSchurComplementSolver9SolveImpl %.not.i = icmp eq ptr %37, null br i1 %.not.i, label %38, label %_ZNSt10unique_ptrIN5ceres8internal23ImplicitSchurComplementESt14default_deleteIS2_EED2Ev.exit -38: ; preds = %.critedge80 +38: ; preds = %.critedge74 %39 = invoke noundef ptr @_ZNK5ceres8internal17BlockSparseMatrix15block_structureEv(ptr noundef nonnull align 8 dereferenceable(56) %2) to label %40 unwind label %49 @@ -670,17 +670,17 @@ define hidden void @_ZN5ceres8internal30IterativeSchurComplementSolver9SolveImpl %45 = invoke noalias noundef nonnull dereferenceable(144) ptr @_Znwm(i64 noundef 144) #38 to label %.noexc85 unwind label %51 -.noexc85: ; preds = %44 +.noexc79: ; preds = %44 invoke void @_ZN5ceres8internal23ImplicitSchurComplementC1ERKNS0_12LinearSolver7OptionsE(ptr noundef nonnull align 8 dereferenceable(144) %45, ptr noundef nonnull align 8 dereferenceable(128) %32) to label %_ZSt11make_uniqueIN5ceres8internal23ImplicitSchurComplementEJRNS1_12LinearSolver7OptionsEEENSt8__detail9_MakeUniqIT_E15__single_objectEDpOT0_.exit unwind label %46, !noalias !33 -46: ; preds = %.noexc85 +46: ; preds = %.noexc79 %47 = landingpad { ptr, i32 } cleanup call void @_ZdlPvm(ptr noundef nonnull %45, i64 noundef 144) #35, !noalias !33 br label %.body -_ZSt11make_uniqueIN5ceres8internal23ImplicitSchurComplementEJRNS1_12LinearSolver7OptionsEEENSt8__detail9_MakeUniqIT_E15__single_objectEDpOT0_.exit: ; preds = %.noexc85 +_ZSt11make_uniqueIN5ceres8internal23ImplicitSchurComplementEJRNS1_12LinearSolver7OptionsEEENSt8__detail9_MakeUniqIT_E15__single_objectEDpOT0_.exit: ; preds = %.noexc79 %48 = load ptr, ptr %36, align 8, !tbaa !28 store ptr %45, ptr %36, align 8, !tbaa !28 %.not.i.i.i.i = icmp eq ptr %48, null @@ -702,7 +702,7 @@ _ZNKSt14default_deleteIN5ceres8internal23ImplicitSchurComplementEEclEPS2_.exit.i cleanup br label %.body -_ZNSt10unique_ptrIN5ceres8internal23ImplicitSchurComplementESt14default_deleteIS2_EED2Ev.exit: ; preds = %_ZSt11make_uniqueIN5ceres8internal23ImplicitSchurComplementEJRNS1_12LinearSolver7OptionsEEENSt8__detail9_MakeUniqIT_E15__single_objectEDpOT0_.exit, %_ZNKSt14default_deleteIN5ceres8internal23ImplicitSchurComplementEEclEPS2_.exit.i.i.i.i, %.critedge80 +_ZNSt10unique_ptrIN5ceres8internal23ImplicitSchurComplementESt14default_deleteIS2_EED2Ev.exit: ; preds = %_ZSt11make_uniqueIN5ceres8internal23ImplicitSchurComplementEJRNS1_12LinearSolver7OptionsEEENSt8__detail9_MakeUniqIT_E15__single_objectEDpOT0_.exit, %_ZNKSt14default_deleteIN5ceres8internal23ImplicitSchurComplementEEclEPS2_.exit.i.i.i.i, %.critedge74 %53 = phi ptr [ %45, %_ZSt11make_uniqueIN5ceres8internal23ImplicitSchurComplementEJRNS1_12LinearSolver7OptionsEEENSt8__detail9_MakeUniqIT_E15__single_objectEDpOT0_.exit ], [ %.pre, %_ZNKSt14default_deleteIN5ceres8internal23ImplicitSchurComplementEEclEPS2_.exit.i.i.i.i ], [ %37, %.critedge80 ] %54 = load ptr, ptr %4, align 8, !tbaa !36 invoke void @_ZN5ceres8internal23ImplicitSchurComplement4InitERKNS0_17BlockSparseMatrixEPKdS6_(ptr noundef nonnull align 8 dereferenceable(144) %53, ptr noundef nonnull align 8 dereferenceable(56) %2, ptr noundef %54, ptr noundef %3) @@ -727,14 +727,14 @@ _ZNSt10unique_ptrIN5ceres8internal23ImplicitSchurComplementESt14default_deleteIS 67: ; preds = %57 %68 = load atomic i32, ptr getelementptr inbounds nuw (i8, ptr @"_ZZZN5ceres8internal30IterativeSchurComplementSolver9SolveImplEPNS0_17BlockSparseMatrixEPKdRKNS0_12LinearSolver15PerSolveOptionsEPdENK3$_0clEvE4site", i64 8) monotonic, align 8 %69 = icmp slt i32 %68, 2 - br i1 %69, label %.critedge83, label %70, !prof !44 + br i1 %69, label %.critedge77, label %70, !prof !44 70: ; preds = %67 %71 = invoke noundef zeroext i1 @_ZN4absl12lts_2024011612log_internal8VLogSite14SlowIsEnabled2Ei(ptr noundef nonnull align 8 dereferenceable(24) @"_ZZZN5ceres8internal30IterativeSchurComplementSolver9SolveImplEPNS0_17BlockSparseMatrixEPKdRKNS0_12LinearSolver15PerSolveOptionsEPdENK3$_0clEvE4site", i32 noundef %68) to label %_ZN4absl12lts_2024011612log_internal8VLogSite9IsEnabledEi.exit unwind label %84 _ZN4absl12lts_2024011612log_internal8VLogSite9IsEnabledEi.exit: ; preds = %70 - br i1 %71, label %72, label %.critedge83 + br i1 %71, label %72, label %.critedge77 72: ; preds = %_ZN4absl12lts_2024011612log_internal8VLogSite9IsEnabledEi.exit call void @llvm.lifetime.start.p0(ptr nonnull %10) @@ -749,12 +749,12 @@ _ZN4absl12lts_2024011612log_internal8VLogSite9IsEnabledEi.exit: ; preds = %70 invoke void @_ZN4absl12lts_2024011612log_internal10LogMessage19CopyToEncodedBufferILNS2_10StringTypeE0EEEvSt17basic_string_viewIcSt11char_traitsIcEE(ptr noundef nonnull align 8 dereferenceable(16) %74, i64 49, ptr nonnull @.str.7) to label %.critedge82 unwind label %88 -.critedge82: ; preds = %75 +.critedge76: ; preds = %75 call void @_ZN4absl12lts_2024011612log_internal10LogMessageD1Ev(ptr noundef nonnull align 8 dereferenceable(16) %10) #39 call void @llvm.lifetime.end.p0(ptr nonnull %10) - br label %.critedge83 + br label %.critedge77 -.critedge83: ; preds = %67, %_ZN4absl12lts_2024011612log_internal8VLogSite9IsEnabledEi.exit, %.critedge82 +.critedge77: ; preds = %67, %_ZN4absl12lts_2024011612log_internal8VLogSite9IsEnabledEi.exit, %.critedge76 store double -1.000000e+00, ptr %0, align 8, !tbaa !45 %76 = getelementptr inbounds nuw i8, ptr %0, i64 8 %77 = getelementptr inbounds nuw i8, ptr %0, i64 12 @@ -792,11 +792,11 @@ _ZN4absl12lts_2024011612log_internal8VLogSite9IsEnabledEi.exit: ; preds = %70 br label %90 90: ; preds = %86, %88 - %.pn72 = phi { ptr, i32 } [ %89, %88 ], [ %87, %86 ] + %.pn66 = phi { ptr, i32 } [ %89, %88 ], [ %87, %86 ] call void @llvm.lifetime.end.p0(ptr nonnull %10) br label %.body -91: ; preds = %.critedge83 +91: ; preds = %.critedge77 %92 = landingpad { ptr, i32 } cleanup %93 = load ptr, ptr %78, align 8, !tbaa !56 @@ -851,7 +851,7 @@ _ZN5Eigen8internal23check_size_for_overflowIdEEvm.exit.i.i.i: ; preds = %111 invoke void @__cxa_throw(ptr nonnull %118, ptr nonnull @_ZTISt9bad_alloc, ptr nonnull @_ZNSt9bad_allocD1Ev) #41 to label %.noexc90 unwind label %82 -.noexc90: ; preds = %117 +.noexc84: ; preds = %117 unreachable .sink.split.i.i: ; preds = %_ZN5Eigen8internal23check_size_for_overflowIdEEvm.exit.i.i.i, %111 @@ -906,9 +906,9 @@ _ZN5Eigen9DenseBaseINS_6MatrixIdLin1ELi1ELi0ELin1ELi1EEEE7setZeroEv.exit: ; pred %145 = sub i64 %143, %144 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %139, i8 0, i64 24, i1 false) %.not.i.i.i.i.i = icmp eq ptr %141, %142 - br i1 %.not.i.i.i.i.i, label %.noexc92.thread, label %149 + br i1 %.not.i.i.i.i.i, label %.noexc86.thread, label %149 -.noexc92.thread: ; preds = %125 +.noexc86.thread: ; preds = %125 %146 = getelementptr inbounds nuw i8, ptr %11, i64 32 %147 = getelementptr inbounds i8, ptr null, i64 %145 %148 = getelementptr inbounds nuw i8, ptr %11, i64 40 @@ -924,7 +924,7 @@ _ZN5Eigen9DenseBaseINS_6MatrixIdLin1ELi1ELi0ELin1ELi1EEEE7setZeroEv.exit: ; pred invoke void @_ZSt28__throw_bad_array_new_lengthv() #41 to label %.noexc91 unwind label %189 -.noexc91: ; preds = %.noexc.i.i.i +.noexc85: ; preds = %.noexc.i.i.i unreachable _ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i: ; preds = %149 @@ -941,7 +941,7 @@ _ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i: ; preds = %149 call void @llvm.memmove.p0.p0.i64(ptr nonnull align 4 %151, ptr align 4 %142, i64 %145, i1 false) br label %156 -156: ; preds = %152, %.noexc92.thread +156: ; preds = %152, %.noexc86.thread %157 = phi ptr [ %148, %.noexc92.thread ], [ %155, %152 ] %158 = phi ptr [ %147, %.noexc92.thread ], [ %154, %152 ] %159 = phi ptr [ %146, %.noexc92.thread ], [ %153, %152 ] @@ -984,8 +984,8 @@ _ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i: ; preds = %149 call void @_ZN5ceres8internal34PowerSeriesExpansionPreconditionerD1Ev(ptr noundef nonnull align 8 dereferenceable(104) %12) #34 call void @llvm.lifetime.end.p0(ptr nonnull %12) %183 = load ptr, ptr %139, align 8, !tbaa !18 - %.not.i.i.i.i93 = icmp eq ptr %183, null - br i1 %.not.i.i.i.i93, label %_ZN5ceres8internal14Preconditioner7OptionsD2Ev.exit, label %184 + %.not.i.i.i.i87 = icmp eq ptr %183, null + br i1 %.not.i.i.i.i87, label %_ZN5ceres8internal14Preconditioner7OptionsD2Ev.exit, label %184 184: ; preds = %182 %185 = load ptr, ptr %157, align 8, !tbaa !22 @@ -1002,7 +1002,7 @@ _ZN5ceres8internal14Preconditioner7OptionsD2Ev.exit: ; preds = %182, %184 189: ; preds = %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i, %.noexc.i.i.i %190 = landingpad { ptr, i32 } cleanup - br label %_ZN5ceres8internal14Preconditioner7OptionsD2Ev.exit95 + br label %_ZN5ceres8internal14Preconditioner7OptionsD2Ev.exit89 191: ; preds = %156 %192 = landingpad { ptr, i32 } @@ -1019,8 +1019,8 @@ _ZN5ceres8internal14Preconditioner7OptionsD2Ev.exit: ; preds = %182, %184 %.pn = phi { ptr, i32 } [ %194, %193 ], [ %192, %191 ] call void @llvm.lifetime.end.p0(ptr nonnull %12) %196 = load ptr, ptr %139, align 8, !tbaa !18 - %.not.i.i.i.i94 = icmp eq ptr %196, null - br i1 %.not.i.i.i.i94, label %_ZN5ceres8internal14Preconditioner7OptionsD2Ev.exit95, label %197 + %.not.i.i.i.i88 = icmp eq ptr %196, null + br i1 %.not.i.i.i.i88, label %_ZN5ceres8internal14Preconditioner7OptionsD2Ev.exit89, label %197 197: ; preds = %195 %198 = load ptr, ptr %157, align 8, !tbaa !22 @@ -1028,9 +1028,9 @@ _ZN5ceres8internal14Preconditioner7OptionsD2Ev.exit: ; preds = %182, %184 %200 = ptrtoint ptr %196 to i64 %201 = sub i64 %199, %200 call void @_ZdlPvm(ptr noundef nonnull %196, i64 noundef %201) #35 - br label %_ZN5ceres8internal14Preconditioner7OptionsD2Ev.exit95 + br label %_ZN5ceres8internal14Preconditioner7OptionsD2Ev.exit89 -_ZN5ceres8internal14Preconditioner7OptionsD2Ev.exit95: ; preds = %197, %195, %189 +_ZN5ceres8internal14Preconditioner7OptionsD2Ev.exit89: ; preds = %197, %195, %189 %.pn.pn = phi { ptr, i32 } [ %190, %189 ], [ %.pn, %195 ], [ %.pn, %197 ] call void @llvm.lifetime.end.p0(ptr nonnull %11) br label %.body @@ -1042,8 +1042,8 @@ _ZN5ceres8internal14Preconditioner7OptionsD2Ev.exit95: ; preds = %197, %195, %18 203: ; preds = %202 %204 = getelementptr inbounds nuw i8, ptr %1, i64 232 %205 = load ptr, ptr %204, align 8, !tbaa !26 - %.not129 = icmp eq ptr %205, null - br i1 %.not129, label %.preheader.preheader, label %206 + %.not123 = icmp eq ptr %205, null + br i1 %.not123, label %.preheader.preheader, label %206 206: ; preds = %203 %207 = load ptr, ptr %4, align 8, !tbaa !36 @@ -1057,7 +1057,7 @@ _ZN5ceres8internal14Preconditioner7OptionsD2Ev.exit95: ; preds = %197, %195, %18 br i1 %211, label %..preheader.preheader_crit_edge, label %213 ..preheader.preheader_crit_edge: ; preds = %212 - %.pre132 = load ptr, ptr %204, align 8, !tbaa !26 + %.pre126 = load ptr, ptr %204, align 8, !tbaa !26 br label %.preheader.preheader 213: ; preds = %212 @@ -1080,22 +1080,22 @@ _ZN5ceres8internal14Preconditioner7OptionsD2Ev.exit95: ; preds = %197, %195, %18 cleanup %222 = load ptr, ptr %216, align 8, !tbaa !56 %223 = icmp eq ptr %222, %217 - br i1 %223, label %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i.i98, label %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i.i97 + br i1 %223, label %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i.i92, label %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i.i91 -_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i.i98: ; preds = %220 +_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i.i92: ; preds = %220 %224 = load i64, ptr %218, align 8, !tbaa !52 %225 = icmp ult i64 %224, 16 call void @llvm.assume(i1 %225) br label %.body -_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i.i97: ; preds = %220 +_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i.i91: ; preds = %220 %226 = load i64, ptr %217, align 8, !tbaa !53 %227 = add i64 %226, 1 call void @_ZdlPvm(ptr noundef %222, i64 noundef %227) #35 br label %.body .preheader.preheader: ; preds = %..preheader.preheader_crit_edge, %203 - %228 = phi ptr [ %.pre132, %..preheader.preheader_crit_edge ], [ null, %203 ] + %228 = phi ptr [ %.pre126, %..preheader.preheader_crit_edge ], [ null, %203 ] %229 = getelementptr inbounds nuw i8, ptr %1, i64 124 %230 = load i32, ptr %229, align 4, !tbaa !122 %231 = getelementptr inbounds nuw i8, ptr %1, i64 128 @@ -1151,36 +1151,36 @@ _ZNK5ceres8internal23ImplicitSchurComplement8num_colsEv.exit: ; preds = %.prehea %258 = sext i32 %256 to i64 %259 = getelementptr inbounds nuw i8, ptr %257, i64 8 %260 = load i64, ptr %259, align 8, !tbaa !59 - %.not.i.i101 = icmp eq i64 %260, %258 - br i1 %.not.i.i101, label %269, label %261 + %.not.i.i95 = icmp eq i64 %260, %258 + br i1 %.not.i.i95, label %269, label %261 261: ; preds = %_ZNK5ceres8internal23ImplicitSchurComplement8num_colsEv.exit %262 = load ptr, ptr %257, align 16, !tbaa !23 call void @free(ptr noundef %262) #34 %263 = icmp sgt i32 %256, 0 - br i1 %263, label %_ZN5Eigen8internal23check_size_for_overflowIdEEvm.exit.i.i.i104, label %.sink.split.i.i102 + br i1 %263, label %_ZN5Eigen8internal23check_size_for_overflowIdEEvm.exit.i.i.i98, label %.sink.split.i.i96 -_ZN5Eigen8internal23check_size_for_overflowIdEEvm.exit.i.i.i104: ; preds = %261 +_ZN5Eigen8internal23check_size_for_overflowIdEEvm.exit.i.i.i98: ; preds = %261 %264 = shl nuw nsw i64 %258, 3 %265 = call noalias ptr @malloc(i64 noundef %264) #40 %266 = icmp eq ptr %265, null - br i1 %266, label %267, label %.sink.split.i.i102 + br i1 %266, label %267, label %.sink.split.i.i96 -267: ; preds = %_ZN5Eigen8internal23check_size_for_overflowIdEEvm.exit.i.i.i104 +267: ; preds = %_ZN5Eigen8internal23check_size_for_overflowIdEEvm.exit.i.i.i98 %268 = call ptr @__cxa_allocate_exception(i64 8) #34 store ptr getelementptr inbounds nuw inrange(-16, 24) (i8, ptr @_ZTVSt9bad_alloc, i64 16), ptr %268, align 8, !tbaa !16 invoke void @__cxa_throw(ptr nonnull %268, ptr nonnull @_ZTISt9bad_alloc, ptr nonnull @_ZNSt9bad_allocD1Ev) #41 to label %.noexc106 unwind label %.loopexit.split-lp -.noexc106: ; preds = %267 +.noexc100: ; preds = %267 unreachable -.sink.split.i.i102: ; preds = %_ZN5Eigen8internal23check_size_for_overflowIdEEvm.exit.i.i.i104, %261 - %.sink.i.i103 = phi ptr [ %265, %_ZN5Eigen8internal23check_size_for_overflowIdEEvm.exit.i.i.i104 ], [ null, %261 ] - store ptr %.sink.i.i103, ptr %257, align 16, !tbaa !23 +.sink.split.i.i96: ; preds = %_ZN5Eigen8internal23check_size_for_overflowIdEEvm.exit.i.i.i98, %261 + %.sink.i.i97 = phi ptr [ %265, %_ZN5Eigen8internal23check_size_for_overflowIdEEvm.exit.i.i.i104 ], [ null, %261 ] + store ptr %.sink.i.i97, ptr %257, align 16, !tbaa !23 br label %269 -269: ; preds = %.sink.split.i.i102, %_ZNK5ceres8internal23ImplicitSchurComplement8num_colsEv.exit +269: ; preds = %.sink.split.i.i96, %_ZNK5ceres8internal23ImplicitSchurComplement8num_colsEv.exit store i64 %258, ptr %259, align 8, !tbaa !59 %indvars.iv.next = add nuw nsw i64 %indvars.iv, 1 %exitcond.not = icmp eq i64 %indvars.iv.next, 4 @@ -1202,14 +1202,14 @@ _ZN5Eigen8internal23check_size_for_overflowIdEEvm.exit.i.i.i104: ; preds = %261 store i32 %232, ptr %.sroa.6.0..sroa_idx, align 4, !tbaa !31 %.sroa.8.0..sroa_idx = getelementptr inbounds nuw i8, ptr %17, i64 8 store i32 %234, ptr %.sroa.8.0..sroa_idx, align 8, !tbaa !31 - %.sroa.10114.0..sroa_idx = getelementptr inbounds nuw i8, ptr %17, i64 16 - store double %238, ptr %.sroa.10114.0..sroa_idx, align 8, !tbaa !60 + %.sroa.10108.0..sroa_idx = getelementptr inbounds nuw i8, ptr %17, i64 16 + store double %238, ptr %.sroa.10108.0..sroa_idx, align 8, !tbaa !60 %.sroa.12.0..sroa_idx = getelementptr inbounds nuw i8, ptr %17, i64 24 store double %236, ptr %.sroa.12.0..sroa_idx, align 8, !tbaa !60 %.sroa.13.0..sroa_idx = getelementptr inbounds nuw i8, ptr %17, i64 32 store ptr null, ptr %.sroa.13.0..sroa_idx, align 8, !tbaa !132 - %.sroa.13115.0..sroa_idx = getelementptr inbounds nuw i8, ptr %17, i64 40 - store i32 1, ptr %.sroa.13115.0..sroa_idx, align 8, !tbaa !31 + %.sroa.13109.0..sroa_idx = getelementptr inbounds nuw i8, ptr %17, i64 40 + store i32 1, ptr %.sroa.13109.0..sroa_idx, align 8, !tbaa !31 %271 = load ptr, ptr %36, align 8, !tbaa !28 %272 = getelementptr inbounds nuw i8, ptr %271, i64 64 invoke void @_ZN5ceres8internal24ConjugateGradientsSolverIN5Eigen6MatrixIdLin1ELi1ELi0ELin1ELi1EEEEENS0_12LinearSolver7SummaryENS0_31ConjugateGradientsSolverOptionsERNS0_32ConjugateGradientsLinearOperatorIT_EERKS9_SB_PPS9_RS9_(ptr dead_on_unwind writable sret(%"struct.ceres::internal::LinearSolver::Summary") align 8 %0, ptr noundef nonnull byval(%"struct.ceres::internal::ConjugateGradientsSolverOptions") align 8 %17, ptr noundef nonnull align 8 dereferenceable(8) %13, ptr noundef nonnull align 8 dereferenceable(16) %272, ptr noundef nonnull align 8 dereferenceable(8) %14, ptr noundef nonnull %16, ptr noundef nonnull align 8 dereferenceable(16) %100) @@ -1231,7 +1231,7 @@ _ZN5Eigen8internal23check_size_for_overflowIdEEvm.exit.i.i.i104: ; preds = %261 280: ; preds = %270, %243 %281 = landingpad { ptr, i32 } cleanup - br label %_ZN5ceres8internal12LinearSolver7SummaryD2Ev.exit110 + br label %_ZN5ceres8internal12LinearSolver7SummaryD2Ev.exit104 282: ; preds = %293, %277 %283 = landingpad { ptr, i32 } @@ -1240,20 +1240,20 @@ _ZN5Eigen8internal23check_size_for_overflowIdEEvm.exit.i.i.i104: ; preds = %261 %285 = load ptr, ptr %284, align 8, !tbaa !56 %286 = getelementptr inbounds nuw i8, ptr %0, i64 32 %287 = icmp eq ptr %285, %286 - br i1 %287, label %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i.i109, label %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i.i108 + br i1 %287, label %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i.i103, label %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i.i102 -_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i.i109: ; preds = %282 +_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i.i103: ; preds = %282 %288 = getelementptr inbounds nuw i8, ptr %0, i64 24 %289 = load i64, ptr %288, align 8, !tbaa !52 %290 = icmp ult i64 %289, 16 call void @llvm.assume(i1 %290) - br label %_ZN5ceres8internal12LinearSolver7SummaryD2Ev.exit110 + br label %_ZN5ceres8internal12LinearSolver7SummaryD2Ev.exit104 -_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i.i108: ; preds = %282 +_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i.i102: ; preds = %282 %291 = load i64, ptr %286, align 8, !tbaa !53 %292 = add i64 %291, 1 call void @_ZdlPvm(ptr noundef %285, i64 noundef %292) #35 - br label %_ZN5ceres8internal12LinearSolver7SummaryD2Ev.exit110 + br label %_ZN5ceres8internal12LinearSolver7SummaryD2Ev.exit104 293: ; preds = %277, %273 invoke void @_ZN5ceres8internal11EventLogger8AddEventESt17basic_string_viewIcSt11char_traitsIcEE(ptr noundef nonnull align 8 dereferenceable(56) %7, i64 5, ptr nonnull @.str.10) @@ -1263,8 +1263,8 @@ _ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i.i call void @llvm.lifetime.end.p0(ptr nonnull %16) br label %295 -_ZN5ceres8internal12LinearSolver7SummaryD2Ev.exit110: ; preds = %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i.i108, %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i.i109, %280 - %.pn67 = phi { ptr, i32 } [ %281, %280 ], [ %283, %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i.i109 ], [ %283, %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i.i108 ] +_ZN5ceres8internal12LinearSolver7SummaryD2Ev.exit104: ; preds = %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i.i102, %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i.i103, %280 + %.pn61 = phi { ptr, i32 } [ %281, %280 ], [ %283, %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i.i109 ], [ %283, %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i.i108 ] call void @llvm.lifetime.end.p0(ptr nonnull %16) br label %301 @@ -1282,8 +1282,8 @@ _ZN5ceres8internal12LinearSolver7SummaryD2Ev.exit110: ; preds = %_ZNKSt7__cxx111 call void @llvm.lifetime.end.p0(ptr nonnull %13) br label %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEPKc.exit -301: ; preds = %.loopexit, %.loopexit.split-lp, %_ZN5ceres8internal12LinearSolver7SummaryD2Ev.exit110 - %.pn69 = phi { ptr, i32 } [ %.pn67, %_ZN5ceres8internal12LinearSolver7SummaryD2Ev.exit110 ], [ %lpad.loopexit, %.loopexit ], [ %lpad.loopexit.split-lp, %.loopexit.split-lp ] +301: ; preds = %.loopexit, %.loopexit.split-lp, %_ZN5ceres8internal12LinearSolver7SummaryD2Ev.exit104 + %.pn63 = phi { ptr, i32 } [ %.pn61, %_ZN5ceres8internal12LinearSolver7SummaryD2Ev.exit110 ], [ %lpad.loopexit, %.loopexit ], [ %lpad.loopexit.split-lp, %.loopexit.split-lp ] br label %302 302: ; preds = %302, %301 @@ -1300,16 +1300,16 @@ _ZN5ceres8internal12LinearSolver7SummaryD2Ev.exit110: ; preds = %_ZNKSt7__cxx111 call void @llvm.lifetime.end.p0(ptr nonnull %13) br label %.body -_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEPKc.exit: ; preds = %213, %.critedge83, %300 +_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEPKc.exit: ; preds = %213, %.critedge77, %300 call void @_ZN5ceres8internal11EventLoggerD1Ev(ptr noundef nonnull align 8 dereferenceable(56) %7) #34 call void @llvm.lifetime.end.p0(ptr nonnull %7) ret void -.body: ; preds = %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i.i97, %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i.i98, %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i.i, %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i.i, %84, %90, %51, %46, %49, %307, %_ZN5ceres8internal14Preconditioner7OptionsD2Ev.exit95, %82, %30, %24, %22 - %.pn75.pn.pn = phi { ptr, i32 } [ %31, %30 ], [ %23, %22 ], [ %25, %24 ], [ %50, %49 ], [ %.pn69, %307 ], [ %83, %82 ], [ %.pn.pn, %_ZN5ceres8internal14Preconditioner7OptionsD2Ev.exit95 ], [ %52, %51 ], [ %47, %46 ], [ %.pn72, %90 ], [ %85, %84 ], [ %92, %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i.i ], [ %92, %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i.i ], [ %221, %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i.i98 ], [ %221, %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i.i97 ] +.body: ; preds = %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i.i91, %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i.i92, %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i.i, %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i.i, %84, %90, %51, %46, %49, %307, %_ZN5ceres8internal14Preconditioner7OptionsD2Ev.exit89, %82, %30, %24, %22 + %.pn69.pn.pn = phi { ptr, i32 } [ %31, %30 ], [ %23, %22 ], [ %25, %24 ], [ %50, %49 ], [ %.pn63, %307 ], [ %83, %82 ], [ %.pn.pn, %_ZN5ceres8internal14Preconditioner7OptionsD2Ev.exit95 ], [ %52, %51 ], [ %47, %46 ], [ %.pn66, %90 ], [ %85, %84 ], [ %92, %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i.i ], [ %92, %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i.i ], [ %221, %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i.i98 ], [ %221, %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i.i97 ] call void @_ZN5ceres8internal11EventLoggerD1Ev(ptr noundef nonnull align 8 dereferenceable(56) %7) #34 call void @llvm.lifetime.end.p0(ptr nonnull %7) - resume { ptr, i32 } %.pn75.pn.pn + resume { ptr, i32 } %.pn69.pn.pn } declare hidden void @_ZN5ceres8internal11EventLoggerC1ESt17basic_string_viewIcSt11char_traitsIcEE(ptr noundef nonnull align 8 dereferenceable(56), i64, ptr) unnamed_addr #1 diff --git a/bench/clamav/optimized/filestr.ll b/bench/clamav/optimized/filestr.ll index e0b4cb23a07..e615425e4b0 100644 --- a/bench/clamav/optimized/filestr.ll +++ b/bench/clamav/optimized/filestr.ll @@ -127,12 +127,12 @@ _ZN5ArrayIhEC2Em.exit.outer.backedge: ; preds = %44, %38 br label %_ZN5ArrayIhED2Ev.exit202 .loopexit347.loopexit: ; preds = %_ZN5ArrayIhEC2Em.exit - %lpad.loopexit427 = landingpad { ptr, i32 } + %lpad.loopexit424 = landingpad { ptr, i32 } cleanup br label %_ZN5ArrayIwED2Ev.exit200.thread .loopexit347.loopexit.split-lp: ; preds = %44 - %lpad.loopexit.split-lp428 = landingpad { ptr, i32 } + %lpad.loopexit.split-lp425 = landingpad { ptr, i32 } cleanup br label %_ZN5ArrayIwED2Ev.exit200.thread @@ -167,11 +167,11 @@ _ZN5ArrayIhE5AllocEm.exit: ; preds = %47, %55, %49 57: ; preds = %_ZN5ArrayIhE5AllocEm.exit %58 = load i8, ptr %.sroa.0226.8, align 1, !tbaa !16 switch i8 %58, label %67 [ - i8 -1, label %.thread395 + i8 -1, label %.thread392 i8 -2, label %63 ] -.thread395: ; preds = %57 +.thread392: ; preds = %57 %59 = getelementptr inbounds nuw i8, ptr %.sroa.0226.8, i64 1 %60 = load i8, ptr %59, align 1, !tbaa !16 %61 = icmp eq i8 %60, -2 @@ -184,9 +184,9 @@ _ZN5ArrayIhE5AllocEm.exit: ; preds = %47, %55, %49 %66 = icmp eq i8 %65, -1 br label %67 -67: ; preds = %57, %.thread395, %63 +67: ; preds = %57, %.thread392, %63 %68 = phi i64 [ 0, %63 ], [ %62, %.thread395 ], [ 0, %57 ] - %.ph397 = phi i1 [ false, %63 ], [ %61, %.thread395 ], [ false, %57 ] + %.ph394 = phi i1 [ false, %63 ], [ %61, %.thread395 ], [ false, %57 ] %69 = phi i1 [ %66, %63 ], [ false, %.thread395 ], [ false, %57 ] %.not341 = icmp eq i32 %.0109, 2 br i1 %.not341, label %.thread279, label %70 @@ -210,7 +210,7 @@ _ZN5ArrayIhE5AllocEm.exit: ; preds = %47, %55, %49 .thread278: ; preds = %_ZN5ArrayIhE5AllocEm.exit, %76, %72, %70 %81 = phi i1 [ %69, %72 ], [ %69, %70 ], [ %69, %76 ], [ false, %_ZN5ArrayIhE5AllocEm.exit ] - %82 = phi i1 [ %.ph397, %72 ], [ %.ph397, %70 ], [ %.ph397, %76 ], [ false, %_ZN5ArrayIhE5AllocEm.exit ] + %82 = phi i1 [ %.ph394, %72 ], [ %.ph394, %70 ], [ %.ph394, %76 ], [ false, %_ZN5ArrayIhE5AllocEm.exit ] %83 = phi i64 [ %68, %72 ], [ %68, %70 ], [ %68, %76 ], [ 0, %_ZN5ArrayIhE5AllocEm.exit ] %84 = phi i64 [ 0, %72 ], [ 0, %70 ], [ %80, %76 ], [ 0, %_ZN5ArrayIhE5AllocEm.exit ] %85 = icmp eq i32 %4, 0 @@ -313,7 +313,7 @@ switch.early.test.i: ; preds = %.lr.ph.i _Z18DetectTextEncodingPKhm.exit: ; preds = %.thread278, %.thread279 %122 = phi i64 [ %84, %.thread278 ], [ 0, %.thread279 ] %123 = phi i64 [ %83, %.thread278 ], [ %68, %.thread279 ] - %124 = phi i1 [ %82, %.thread278 ], [ %.ph397, %.thread279 ] + %124 = phi i1 [ %82, %.thread278 ], [ %.ph394, %.thread279 ] %125 = phi i1 [ %81, %.thread278 ], [ %69, %.thread279 ] switch i32 %4, label %unreachable [ i32 2, label %_Z18DetectTextEncodingPKhm.exit.thread @@ -382,7 +382,7 @@ _ZN5ArrayIwE5AllocEm.exit: ; preds = %138, %134 146: ; preds = %.thread305 invoke void @_ZN12ErrorHandler11MemoryErrorEv(ptr noundef nonnull align 4 dereferenceable(14) @ErrHandler) - to label %_ZN5ArrayIwE5AllocEm.exit173 unwind label %.thread398 + to label %_ZN5ArrayIwE5AllocEm.exit173 unwind label %.thread395 _ZN5ArrayIwE5AllocEm.exit173: ; preds = %146, %.thread305 %147 = and i64 %29, 4294967294 @@ -402,7 +402,7 @@ _ZN5ArrayIwE5AllocEm.exit173: ; preds = %146, %.thread305 store i32 0, ptr %152, align 4, !tbaa !3 br label %182 -.thread398: ; preds = %146 +.thread395: ; preds = %146 %153 = landingpad { ptr, i32 } cleanup br label %_ZN5ArrayIwED2Ev.exit200 @@ -627,15 +627,15 @@ _ZN5ArrayIwED2Ev.exit: ; preds = %216, %.preheader, % call void @free(ptr noundef nonnull %.sroa.0.1) #11 br label %_ZN5ArrayIwED2Ev.exit200 -_ZN5ArrayIwED2Ev.exit200: ; preds = %.thread398, %219, %220 - %.pn128404 = phi { ptr, i32 } [ %153, %.thread398 ], [ %.pn128, %219 ], [ %.pn128, %220 ] - %.sroa.0226.3403 = phi ptr [ %.sroa.0226.8, %.thread398 ], [ %.sroa.0226.3, %219 ], [ %.sroa.0226.3, %220 ] - %.not.i201 = icmp eq ptr %.sroa.0226.3403, null +_ZN5ArrayIwED2Ev.exit200: ; preds = %.thread395, %219, %220 + %.pn128401 = phi { ptr, i32 } [ %153, %.thread398 ], [ %.pn128, %219 ], [ %.pn128, %220 ] + %.sroa.0226.3400 = phi ptr [ %.sroa.0226.8, %.thread398 ], [ %.sroa.0226.3, %219 ], [ %.sroa.0226.3, %220 ] + %.not.i201 = icmp eq ptr %.sroa.0226.3400, null br i1 %.not.i201, label %_ZN5ArrayIhED2Ev.exit202, label %_ZN5ArrayIwED2Ev.exit200.thread _ZN5ArrayIwED2Ev.exit200.thread: ; preds = %.loopexit347.loopexit, %.loopexit347.loopexit.split-lp, %.loopexit.split-lp, %120, %_ZN5ArrayIwED2Ev.exit200 - %.pn132339 = phi { ptr, i32 } [ %.pn128404, %_ZN5ArrayIwED2Ev.exit200 ], [ %121, %120 ], [ %lpad.loopexit.split-lp, %.loopexit.split-lp ], [ %lpad.loopexit427, %.loopexit347.loopexit ], [ %lpad.loopexit.split-lp428, %.loopexit347.loopexit.split-lp ] - %.sroa.0226.1338 = phi ptr [ %.sroa.0226.3403, %_ZN5ArrayIwED2Ev.exit200 ], [ %.sroa.0226.8, %120 ], [ %.sroa.0226.0.ph, %.loopexit.split-lp ], [ %.sroa.0226.0.ph, %.loopexit347.loopexit.split-lp ], [ %.sroa.0226.0.ph, %.loopexit347.loopexit ] + %.pn132339 = phi { ptr, i32 } [ %.pn128401, %_ZN5ArrayIwED2Ev.exit200 ], [ %121, %120 ], [ %lpad.loopexit.split-lp, %.loopexit.split-lp ], [ %lpad.loopexit424, %.loopexit347.loopexit ], [ %lpad.loopexit.split-lp425, %.loopexit347.loopexit.split-lp ] + %.sroa.0226.1338 = phi ptr [ %.sroa.0226.3400, %_ZN5ArrayIwED2Ev.exit200 ], [ %.sroa.0226.8, %120 ], [ %.sroa.0226.0.ph, %.loopexit.split-lp ], [ %.sroa.0226.0.ph, %.loopexit347.loopexit.split-lp ], [ %.sroa.0226.0.ph, %.loopexit347.loopexit ] call void @free(ptr noundef nonnull %.sroa.0226.1338) #11 br label %_ZN5ArrayIhED2Ev.exit202 @@ -647,7 +647,7 @@ _ZN5ArrayIhED2Ev.exit: ; preds = %.thread, %218, %_ZN ret i1 %.1 _ZN5ArrayIhED2Ev.exit202: ; preds = %45, %_ZN5ArrayIwED2Ev.exit200, %_ZN5ArrayIwED2Ev.exit200.thread, %23 - %.pn132.pn.pn = phi { ptr, i32 } [ %24, %23 ], [ %46, %45 ], [ %.pn128404, %_ZN5ArrayIwED2Ev.exit200 ], [ %.pn132339, %_ZN5ArrayIwED2Ev.exit200.thread ] + %.pn132.pn.pn = phi { ptr, i32 } [ %24, %23 ], [ %46, %45 ], [ %.pn128401, %_ZN5ArrayIwED2Ev.exit200 ], [ %.pn132339, %_ZN5ArrayIwED2Ev.exit200.thread ] call void @_ZN4FileD1Ev(ptr noundef nonnull align 8 dereferenceable(8256) %10) #11 call void @llvm.lifetime.end.p0(ptr nonnull %10) call void @llvm.lifetime.end.p0(ptr nonnull %9) diff --git a/bench/clamav/optimized/macho.ll b/bench/clamav/optimized/macho.ll index 069f92e4914..b0c82344f83 100644 --- a/bench/clamav/optimized/macho.ll +++ b/bench/clamav/optimized/macho.ll @@ -153,16 +153,16 @@ fmap_readn.exit.thread: ; preds = %21, %18, %fmap_read 29: ; preds = %25, %27 %30 = phi i1 [ true, %27 ], [ false, %25 ] %31 = phi i1 [ false, %27 ], [ true, %25 ] - %.4..4..4..sroa_idx599 = getelementptr inbounds nuw i8, ptr %3, i64 4 - %.4..4..4.305 = load i32, ptr %.4..4..4..sroa_idx599, align 4 + %.4..4..4..sroa_idx597 = getelementptr inbounds nuw i8, ptr %3, i64 4 + %.4..4..4.305 = load i32, ptr %.4..4..4..sroa_idx597, align 4 %32 = tail call i32 @llvm.bswap.i32(i32 %.4..4..4.305) br label %34 33: ; preds = %26, %25 %.ph = phi i1 [ false, %25 ], [ true, %26 ] %.ph329 = phi i1 [ true, %25 ], [ false, %26 ] - %.4..4..4..sroa_idx600 = getelementptr inbounds nuw i8, ptr %3, i64 4 - %.4..4..4.305332 = load i32, ptr %.4..4..4..sroa_idx600, align 4 + %.4..4..4..sroa_idx598 = getelementptr inbounds nuw i8, ptr %3, i64 4 + %.4..4..4.305332 = load i32, ptr %.4..4..4..sroa_idx598, align 4 br label %34 34: ; preds = %29, %33 @@ -303,12 +303,12 @@ fmap_readn.exit.thread: ; preds = %21, %18, %fmap_read .critedge: ; preds = %40, %42, %44, %50, %38, %46, %48, %66 %.0205342 = phi i32 [ %.0205.ph, %66 ], [ 0, %50 ], [ 0, %40 ], [ 0, %42 ], [ 0, %44 ], [ 1, %38 ], [ 2, %46 ], [ 3, %48 ] %.not225340 = phi i1 [ %53, %66 ], [ false, %50 ], [ false, %40 ], [ false, %42 ], [ false, %44 ], [ true, %38 ], [ true, %46 ], [ true, %48 ] - %.16..16..16..sroa_idx601 = getelementptr inbounds nuw i8, ptr %3, i64 16 - %.16..16..16.321 = load i32, ptr %.16..16..16..sroa_idx601, align 4 + %.16..16..16..sroa_idx599 = getelementptr inbounds nuw i8, ptr %3, i64 16 + %.16..16..16.321 = load i32, ptr %.16..16..16..sroa_idx599, align 4 %71 = tail call i32 @llvm.bswap.i32(i32 %.16..16..16.321) %72 = select i1 %.not221333, i32 %.16..16..16.321, i32 %71 - %.16..16..16..sroa_idx602 = getelementptr inbounds nuw i8, ptr %3, i64 16 - store i32 %72, ptr %.16..16..16..sroa_idx602, align 4, !tbaa !36 + %.16..16..16..sroa_idx600 = getelementptr inbounds nuw i8, ptr %3, i64 16 + store i32 %72, ptr %.16..16..16..sroa_idx600, align 4, !tbaa !36 %73 = add i32 %72, -1025 %or.cond = icmp ult i32 %73, -1024 br i1 %or.cond, label %85, label %.lr.ph @@ -327,7 +327,7 @@ fmap_readn.exit.thread: ; preds = %21, %18, %fmap_read %83 = getelementptr inbounds nuw i8, ptr %8, i64 48 %84 = getelementptr inbounds nuw i8, ptr %8, i64 52 %.4..4..4..sroa_idx = getelementptr inbounds nuw i8, ptr %4, i64 4 - %.16..16..16..sroa_idx603 = getelementptr inbounds nuw i8, ptr %3, i64 16 + %.16..16..16..sroa_idx601 = getelementptr inbounds nuw i8, ptr %3, i64 16 br label %95 85: ; preds = %.critedge @@ -348,7 +348,7 @@ fmap_readn.exit.thread: ; preds = %21, %18, %fmap_read 94: ; preds = %91, %85 br label %.thread359 -95: ; preds = %.lr.ph, %.thread522 +95: ; preds = %.lr.ph, %.thread520 %.1190460 = phi i64 [ %spec.select, %.lr.ph ], [ %.3, %.thread522 ] %.0198459 = phi ptr [ null, %.lr.ph ], [ %.1199, %.thread522 ] %.0200458 = phi i32 [ 0, %.lr.ph ], [ %.1201, %.thread522 ] @@ -489,11 +489,11 @@ fmap_readn.exit263.thread: ; preds = %136, %135, %fmap_re br label %152 152: ; preds = %149, %132 - %.sink545 = phi i32 [ %151, %149 ], [ %134, %132 ] + %.sink543 = phi i32 [ %151, %149 ], [ %134, %132 ] %.sink = phi ptr [ %5, %149 ], [ %6, %132 ] %.2191 = phi i64 [ %150, %149 ], [ %133, %132 ] - %153 = call i32 @llvm.bswap.i32(i32 %.sink545) - %154 = select i1 %.not221333, i32 %.sink545, i32 %153 + %153 = call i32 @llvm.bswap.i32(i32 %.sink543) + %154 = select i1 %.not221333, i32 %.sink543, i32 %153 %155 = call ptr @strncpy(ptr noundef nonnull dereferenceable(1) %9, ptr noundef nonnull dereferenceable(1) %.sink, i64 noundef 16) #8 store i8 0, ptr %75, align 1, !tbaa !42 br i1 %.not.not, label %156, label %157 @@ -531,11 +531,11 @@ fmap_readn.exit263.thread: ; preds = %136, %135, %fmap_re br i1 %.not235, label %170, label %172 170: ; preds = %169 - br i1 %.not.not, label %171, label %.thread522 + br i1 %.not.not, label %171, label %.thread520 171: ; preds = %170 call void (ptr, ...) @cli_dbgmsg(ptr noundef nonnull @.str.29) #8 - br label %.thread522 + br label %.thread520 172: ; preds = %169 %173 = add i32 %154, %.0210457 @@ -702,20 +702,20 @@ fmap_readn.exit273.thread: ; preds = %215, %214, %fmap_re br label %259 259: ; preds = %256, %193 - %.sink558 = phi i32 [ %258, %256 ], [ %213, %193 ] - %.sink557 = phi i32 [ %236, %256 ], [ %204, %193 ] + %.sink556 = phi i32 [ %258, %256 ], [ %213, %193 ] + %.sink555 = phi i32 [ %236, %256 ], [ %204, %193 ] %260 = phi i64 [ %232, %256 ], [ %199, %193 ] - %.sink546 = phi ptr [ %7, %256 ], [ %8, %193 ] + %.sink544 = phi ptr [ %7, %256 ], [ %8, %193 ] %.5 = phi i64 [ %257, %256 ], [ %194, %193 ] %261 = getelementptr inbounds nuw %struct.cli_exe_section, ptr %176, i64 %260 - %262 = add i32 %.sink558, -1 - %263 = and i32 %262, %.sink557 - %264 = sub i32 %.sink558, %263 + %262 = add i32 %.sink556, -1 + %263 = and i32 %262, %.sink555 + %264 = sub i32 %.sink556, %263 %265 = and i32 %264, %262 - %266 = add i32 %265, %.sink557 + %266 = add i32 %265, %.sink555 %267 = getelementptr inbounds nuw i8, ptr %261, i64 12 store i32 %266, ptr %267, align 4, !tbaa !51 - %268 = call ptr @strncpy(ptr noundef nonnull dereferenceable(1) %9, ptr noundef nonnull dereferenceable(1) %.sink546, i64 noundef 16) #8 + %268 = call ptr @strncpy(ptr noundef nonnull dereferenceable(1) %9, ptr noundef nonnull dereferenceable(1) %.sink544, i64 noundef 16) #8 store i8 0, ptr %75, align 1, !tbaa !42 br i1 %.not.not, label %269, label %.thread @@ -752,12 +752,12 @@ fmap_readn.exit273.thread: ; preds = %215, %214, %fmap_re .thread: ; preds = %259 %282 = add i32 %.2212453, 1 - %exitcond.not521 = icmp eq i32 %282, %173 - br i1 %exitcond.not521, label %.thread522, label %.preheader.backedge + %exitcond.not519 = icmp eq i32 %282, %173 + br i1 %exitcond.not519, label %.thread520, label %.preheader.backedge 283: ; preds = %280 call void (ptr, ...) @cli_dbgmsg(ptr noundef nonnull @.str.29) #8 - br label %.thread522 + br label %.thread520 284: ; preds = %110 %285 = and i32 %113, -2 @@ -809,7 +809,7 @@ fmap_readn.exit278.thread: ; preds = %290, %288 303: ; preds = %290 %304 = add i64 %.1190460, 80 - br label %.thread522 + br label %.thread520 305: ; preds = %286 call void @llvm.lifetime.start.p0(ptr nonnull %10) @@ -860,7 +860,7 @@ fmap_readn.exit283.thread: ; preds = %307, %305, %fmap_re %322 = call i32 @llvm.bswap.i32(i32 %.0..0..0.291) %323 = select i1 %.not221333, i32 %.0..0..0.291, i32 %322 call void @llvm.lifetime.end.p0(ptr nonnull %10) - br label %.thread522 + br label %.thread520 324: ; preds = %286 call void @llvm.lifetime.start.p0(ptr nonnull %11) @@ -912,7 +912,7 @@ fmap_readn.exit288.thread: ; preds = %326, %324, %fmap_re %342 = select i1 %.not221333, i64 %.0..0..0., i64 %341 %343 = trunc i64 %342 to i32 call void @llvm.lifetime.end.p0(ptr nonnull %11) - br label %.thread522 + br label %.thread520 default.unreachable: ; preds = %286 unreachable @@ -922,24 +922,24 @@ default.unreachable: ; preds = %286 %345 = call i32 @llvm.bswap.i32(i32 %.4..4..4.296) %346 = select i1 %.not221333, i32 %.4..4..4.296, i32 %345 %347 = icmp ugt i32 %346, 8 - br i1 %347, label %348, label %.thread522 + br i1 %347, label %348, label %.thread520 348: ; preds = %344 %349 = zext i32 %346 to i64 %350 = add i64 %.1190460, %349 - br label %.thread522 + br label %.thread520 -.thread522: ; preds = %.thread, %339, %320, %303, %283, %344, %348, %170, %171 +.thread520: ; preds = %.thread, %339, %320, %303, %283, %344, %348, %170, %171 %.1211 = phi i32 [ %173, %283 ], [ %.0210457, %170 ], [ %.0210457, %171 ], [ %.0210457, %303 ], [ %.0210457, %320 ], [ %.0210457, %339 ], [ %.0210457, %348 ], [ %.0210457, %344 ], [ %173, %.thread ] %.1201 = phi i32 [ %.0200458, %283 ], [ %.0200458, %170 ], [ %.0200458, %171 ], [ %.0200458, %303 ], [ %323, %320 ], [ %343, %339 ], [ %.0200458, %348 ], [ %.0200458, %344 ], [ %.0200458, %.thread ] %.1199 = phi ptr [ %176, %283 ], [ %.0198459, %170 ], [ %.0198459, %171 ], [ %.0198459, %303 ], [ %.0198459, %320 ], [ %.0198459, %339 ], [ %.0198459, %348 ], [ %.0198459, %344 ], [ %176, %.thread ] %.3 = phi i64 [ %.5, %283 ], [ %.2191, %170 ], [ %.2191, %171 ], [ %304, %303 ], [ %321, %320 ], [ %340, %339 ], [ %350, %348 ], [ %111, %344 ], [ %.5, %.thread ] %351 = add nuw i32 %.0214456, 1 - %.16..16..16.323 = load i32, ptr %.16..16..16..sroa_idx603, align 4, !tbaa !36 + %.16..16..16.323 = load i32, ptr %.16..16..16..sroa_idx601, align 4, !tbaa !36 %352 = icmp ult i32 %351, %.16..16..16.323 br i1 %352, label %95, label %._crit_edge -._crit_edge: ; preds = %.thread522 +._crit_edge: ; preds = %.thread520 %.not = icmp eq i32 %.1201, 0 br i1 %.not, label %371, label %353 diff --git a/bench/csmith/optimized/Constant.ll b/bench/csmith/optimized/Constant.ll index 7b3a8cd137d..fd521a912e7 100644 --- a/bench/csmith/optimized/Constant.ll +++ b/bench/csmith/optimized/Constant.ll @@ -569,7 +569,7 @@ _ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i.i .lr.ph: ; preds = %._crit_edge.i.i, %_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE.exit %93 = phi i64 [ %107, %_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE.exit ], [ 0, %._crit_edge.i.i ] - %.0153 = phi i32 [ %106, %_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE.exit ], [ 0, %._crit_edge.i.i ] + %.0147 = phi i32 [ %106, %_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE.exit ], [ 0, %._crit_edge.i.i ] %94 = load ptr, ptr %1, align 8, !tbaa !20 %95 = getelementptr inbounds nuw i8, ptr %94, i64 %93 %96 = load i8, ptr %95, align 1, !tbaa !23 @@ -578,12 +578,12 @@ _ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i.i %99 = zext nneg i8 %96 to i64 %.sink = select i1 %97, i64 %98, i64 %99 %100 = getelementptr %"class.std::__cxx11::basic_string", ptr %3, i64 %.sink - %.sink168.sroa.sel.v = select i1 %97, i64 -1536, i64 -1760 - %.sink168.sroa.sel = getelementptr i8, ptr %100, i64 %.sink168.sroa.sel.v - %101 = load ptr, ptr %.sink168.sroa.sel, align 16, !tbaa !20 - %.sink166.sroa.sel.v = select i1 %97, i64 -1528, i64 -1752 - %.sink166.sroa.sel = getelementptr i8, ptr %100, i64 %.sink166.sroa.sel.v - %102 = load i64, ptr %.sink166.sroa.sel, align 8, !tbaa !21 + %.sink162.sroa.sel.v = select i1 %97, i64 -1536, i64 -1760 + %.sink162.sroa.sel = getelementptr i8, ptr %100, i64 %.sink162.sroa.sel.v + %101 = load ptr, ptr %.sink162.sroa.sel, align 16, !tbaa !20 + %.sink160.sroa.sel.v = select i1 %97, i64 -1528, i64 -1752 + %.sink160.sroa.sel = getelementptr i8, ptr %100, i64 %.sink160.sroa.sel.v + %102 = load i64, ptr %.sink160.sroa.sel, align 8, !tbaa !21 %103 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l(ptr noundef nonnull align 8 dereferenceable(8) %2, ptr noundef %101, i64 noundef %102) to label %_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE.exit unwind label %104 @@ -593,7 +593,7 @@ _ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i.i br label %.body _ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE.exit: ; preds = %.lr.ph - %106 = add i32 %.0153, 1 + %106 = add i32 %.0147, 1 %107 = zext i32 %106 to i64 %108 = load i64, ptr %67, align 8, !tbaa !21 %109 = icmp ugt i64 %108, %107 @@ -603,32 +603,32 @@ _ZNKSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEE3strEv.exit: ; pred %110 = getelementptr inbounds nuw i8, ptr %3, i64 512 br label %111 -111: ; preds = %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit132, %_ZNKSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEE3strEv.exit +111: ; preds = %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit126, %_ZNKSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEE3strEv.exit %112 = phi ptr [ %110, %_ZNKSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEE3strEv.exit ], [ %113, %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit132 ] %113 = getelementptr inbounds i8, ptr %112, i64 -32 %114 = load ptr, ptr %113, align 8, !tbaa !20 %115 = getelementptr inbounds i8, ptr %112, i64 -16 %116 = icmp eq ptr %114, %115 - br i1 %116, label %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i131, label %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i130 + br i1 %116, label %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i125, label %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i124 -_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i131: ; preds = %111 +_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i125: ; preds = %111 %117 = getelementptr inbounds i8, ptr %112, i64 -24 %118 = load i64, ptr %117, align 8, !tbaa !21 %119 = icmp ult i64 %118, 16 call void @llvm.assume(i1 %119) - br label %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit132 + br label %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit126 -_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i130: ; preds = %111 +_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i124: ; preds = %111 %120 = load i64, ptr %115, align 8, !tbaa !23 %121 = add i64 %120, 1 call void @_ZdlPvm(ptr noundef %114, i64 noundef %121) #20 - br label %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit132 + br label %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit126 -_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit132: ; preds = %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i131, %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i130 +_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit126: ; preds = %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i125, %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i124 %122 = icmp eq ptr %113, %3 br i1 %122, label %123, label %111 -123: ; preds = %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit132 +123: ; preds = %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit126 call void @llvm.lifetime.end.p0(ptr nonnull %3) %124 = load ptr, ptr @_ZTTNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEE, align 8 store ptr %124, ptr %2, align 8, !tbaa !4 @@ -668,40 +668,40 @@ _ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev.exit: ; preds = ret void .body: ; preds = %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i.i.i, %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i.i.i, %104 - %.pn64 = phi { ptr, i32 } [ %105, %104 ], [ %84, %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i.i.i ], [ %84, %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i.i.i ] + %.pn58 = phi { ptr, i32 } [ %105, %104 ], [ %84, %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i.i.i ], [ %84, %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i.i.i ] %141 = getelementptr inbounds nuw i8, ptr %3, i64 512 br label %142 -142: ; preds = %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit135, %.body +142: ; preds = %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit129, %.body %143 = phi ptr [ %141, %.body ], [ %144, %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit135 ] %144 = getelementptr inbounds i8, ptr %143, i64 -32 %145 = load ptr, ptr %144, align 8, !tbaa !20 %146 = getelementptr inbounds i8, ptr %143, i64 -16 %147 = icmp eq ptr %145, %146 - br i1 %147, label %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i134, label %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i133 + br i1 %147, label %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i128, label %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i127 -_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i134: ; preds = %142 +_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i128: ; preds = %142 %148 = getelementptr inbounds i8, ptr %143, i64 -24 %149 = load i64, ptr %148, align 8, !tbaa !21 %150 = icmp ult i64 %149, 16 call void @llvm.assume(i1 %150) - br label %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit135 + br label %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit129 -_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i133: ; preds = %142 +_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i127: ; preds = %142 %151 = load i64, ptr %146, align 8, !tbaa !23 %152 = add i64 %151, 1 call void @_ZdlPvm(ptr noundef %145, i64 noundef %152) #20 - br label %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit135 + br label %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit129 -_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit135: ; preds = %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i134, %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i133 +_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit129: ; preds = %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i128, %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i127 %153 = icmp eq ptr %144, %3 br i1 %153, label %154, label %142 -154: ; preds = %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit135 +154: ; preds = %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit129 call void @llvm.lifetime.end.p0(ptr nonnull %3) call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %2) #19 call void @llvm.lifetime.end.p0(ptr nonnull %2) - resume { ptr, i32 } %.pn64 + resume { ptr, i32 } %.pn58 } ; Function Attrs: mustprogress uwtable diff --git a/bench/csmith/optimized/Function.ll b/bench/csmith/optimized/Function.ll index 639cc6ea9f8..e2c7f54a13b 100644 --- a/bench/csmith/optimized/Function.ll +++ b/bench/csmith/optimized/Function.ll @@ -6880,7 +6880,7 @@ define dso_local void @_ZN8Function28initialize_builtin_functionsEv() local_unna %30 = invoke noundef ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_createERmm(ptr noundef nonnull align 8 dereferenceable(32) %28, ptr noundef nonnull align 8 dereferenceable(8) %19, i64 noundef 0) to label %.noexc79 unwind label %170 -.noexc79: ; preds = %.noexc.i +.noexc74: ; preds = %.noexc.i store ptr %30, ptr %28, align 16, !tbaa !23 %31 = load i64, ptr %19, align 8, !tbaa !34 store i64 %31, ptr %29, align 16, !tbaa !29 @@ -6899,7 +6899,7 @@ define dso_local void @_ZN8Function28initialize_builtin_functionsEv() local_unna %37 = invoke noundef ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_createERmm(ptr noundef nonnull align 8 dereferenceable(32) %35, ptr noundef nonnull align 8 dereferenceable(8) %18, i64 noundef 0) to label %.noexc83 unwind label %172 -.noexc83: ; preds = %.noexc79 +.noexc78: ; preds = %.noexc74 store ptr %37, ptr %35, align 16, !tbaa !23 %38 = load i64, ptr %18, align 8, !tbaa !34 store i64 %38, ptr %36, align 16, !tbaa !29 @@ -6918,7 +6918,7 @@ define dso_local void @_ZN8Function28initialize_builtin_functionsEv() local_unna %44 = invoke noundef ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_createERmm(ptr noundef nonnull align 8 dereferenceable(32) %42, ptr noundef nonnull align 8 dereferenceable(8) %17, i64 noundef 0) to label %.noexc87 unwind label %174 -.noexc87: ; preds = %.noexc83 +.noexc82: ; preds = %.noexc78 store ptr %44, ptr %42, align 16, !tbaa !23 %45 = load i64, ptr %17, align 8, !tbaa !34 store i64 %45, ptr %43, align 16, !tbaa !29 @@ -6937,7 +6937,7 @@ define dso_local void @_ZN8Function28initialize_builtin_functionsEv() local_unna %51 = invoke noundef ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_createERmm(ptr noundef nonnull align 8 dereferenceable(32) %49, ptr noundef nonnull align 8 dereferenceable(8) %16, i64 noundef 0) to label %.noexc91 unwind label %176 -.noexc91: ; preds = %.noexc87 +.noexc86: ; preds = %.noexc82 store ptr %51, ptr %49, align 16, !tbaa !23 %52 = load i64, ptr %16, align 8, !tbaa !34 store i64 %52, ptr %50, align 16, !tbaa !29 @@ -6956,7 +6956,7 @@ define dso_local void @_ZN8Function28initialize_builtin_functionsEv() local_unna %58 = invoke noundef ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_createERmm(ptr noundef nonnull align 8 dereferenceable(32) %56, ptr noundef nonnull align 8 dereferenceable(8) %15, i64 noundef 0) to label %.noexc95 unwind label %178 -.noexc95: ; preds = %.noexc91 +.noexc90: ; preds = %.noexc86 store ptr %58, ptr %56, align 16, !tbaa !23 %59 = load i64, ptr %15, align 8, !tbaa !34 store i64 %59, ptr %57, align 16, !tbaa !29 @@ -6975,7 +6975,7 @@ define dso_local void @_ZN8Function28initialize_builtin_functionsEv() local_unna %65 = invoke noundef ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_createERmm(ptr noundef nonnull align 8 dereferenceable(32) %63, ptr noundef nonnull align 8 dereferenceable(8) %14, i64 noundef 0) to label %.noexc99 unwind label %180 -.noexc99: ; preds = %.noexc95 +.noexc94: ; preds = %.noexc90 store ptr %65, ptr %63, align 16, !tbaa !23 %66 = load i64, ptr %14, align 8, !tbaa !34 store i64 %66, ptr %64, align 16, !tbaa !29 @@ -6994,7 +6994,7 @@ define dso_local void @_ZN8Function28initialize_builtin_functionsEv() local_unna %72 = invoke noundef ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_createERmm(ptr noundef nonnull align 8 dereferenceable(32) %70, ptr noundef nonnull align 8 dereferenceable(8) %13, i64 noundef 0) to label %.noexc103 unwind label %182 -.noexc103: ; preds = %.noexc99 +.noexc98: ; preds = %.noexc94 store ptr %72, ptr %70, align 16, !tbaa !23 %73 = load i64, ptr %13, align 8, !tbaa !34 store i64 %73, ptr %71, align 16, !tbaa !29 @@ -7013,7 +7013,7 @@ define dso_local void @_ZN8Function28initialize_builtin_functionsEv() local_unna %79 = invoke noundef ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_createERmm(ptr noundef nonnull align 8 dereferenceable(32) %77, ptr noundef nonnull align 8 dereferenceable(8) %12, i64 noundef 0) to label %.noexc107 unwind label %184 -.noexc107: ; preds = %.noexc103 +.noexc102: ; preds = %.noexc98 store ptr %79, ptr %77, align 16, !tbaa !23 %80 = load i64, ptr %12, align 8, !tbaa !34 store i64 %80, ptr %78, align 16, !tbaa !29 @@ -7032,7 +7032,7 @@ define dso_local void @_ZN8Function28initialize_builtin_functionsEv() local_unna %86 = invoke noundef ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_createERmm(ptr noundef nonnull align 8 dereferenceable(32) %84, ptr noundef nonnull align 8 dereferenceable(8) %11, i64 noundef 0) to label %.noexc111 unwind label %186 -.noexc111: ; preds = %.noexc107 +.noexc106: ; preds = %.noexc102 store ptr %86, ptr %84, align 16, !tbaa !23 %87 = load i64, ptr %11, align 8, !tbaa !34 store i64 %87, ptr %85, align 16, !tbaa !29 @@ -7051,7 +7051,7 @@ define dso_local void @_ZN8Function28initialize_builtin_functionsEv() local_unna %93 = invoke noundef ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_createERmm(ptr noundef nonnull align 8 dereferenceable(32) %91, ptr noundef nonnull align 8 dereferenceable(8) %10, i64 noundef 0) to label %.noexc115 unwind label %188 -.noexc115: ; preds = %.noexc111 +.noexc110: ; preds = %.noexc106 store ptr %93, ptr %91, align 16, !tbaa !23 %94 = load i64, ptr %10, align 8, !tbaa !34 store i64 %94, ptr %92, align 16, !tbaa !29 @@ -7070,7 +7070,7 @@ define dso_local void @_ZN8Function28initialize_builtin_functionsEv() local_unna %100 = invoke noundef ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_createERmm(ptr noundef nonnull align 8 dereferenceable(32) %98, ptr noundef nonnull align 8 dereferenceable(8) %9, i64 noundef 0) to label %.noexc119 unwind label %190 -.noexc119: ; preds = %.noexc115 +.noexc114: ; preds = %.noexc110 store ptr %100, ptr %98, align 16, !tbaa !23 %101 = load i64, ptr %9, align 8, !tbaa !34 store i64 %101, ptr %99, align 16, !tbaa !29 @@ -7089,7 +7089,7 @@ define dso_local void @_ZN8Function28initialize_builtin_functionsEv() local_unna %107 = invoke noundef ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_createERmm(ptr noundef nonnull align 8 dereferenceable(32) %105, ptr noundef nonnull align 8 dereferenceable(8) %8, i64 noundef 0) to label %.noexc123 unwind label %192 -.noexc123: ; preds = %.noexc119 +.noexc118: ; preds = %.noexc114 store ptr %107, ptr %105, align 16, !tbaa !23 %108 = load i64, ptr %8, align 8, !tbaa !34 store i64 %108, ptr %106, align 16, !tbaa !29 @@ -7108,7 +7108,7 @@ define dso_local void @_ZN8Function28initialize_builtin_functionsEv() local_unna %114 = invoke noundef ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_createERmm(ptr noundef nonnull align 8 dereferenceable(32) %112, ptr noundef nonnull align 8 dereferenceable(8) %7, i64 noundef 0) to label %.noexc127 unwind label %194 -.noexc127: ; preds = %.noexc123 +.noexc122: ; preds = %.noexc118 store ptr %114, ptr %112, align 16, !tbaa !23 %115 = load i64, ptr %7, align 8, !tbaa !34 store i64 %115, ptr %113, align 16, !tbaa !29 @@ -7127,7 +7127,7 @@ define dso_local void @_ZN8Function28initialize_builtin_functionsEv() local_unna %121 = invoke noundef ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_createERmm(ptr noundef nonnull align 8 dereferenceable(32) %119, ptr noundef nonnull align 8 dereferenceable(8) %6, i64 noundef 0) to label %.noexc131 unwind label %196 -.noexc131: ; preds = %.noexc127 +.noexc126: ; preds = %.noexc122 store ptr %121, ptr %119, align 16, !tbaa !23 %122 = load i64, ptr %6, align 8, !tbaa !34 store i64 %122, ptr %120, align 16, !tbaa !29 @@ -7146,7 +7146,7 @@ define dso_local void @_ZN8Function28initialize_builtin_functionsEv() local_unna %128 = invoke noundef ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_createERmm(ptr noundef nonnull align 8 dereferenceable(32) %126, ptr noundef nonnull align 8 dereferenceable(8) %5, i64 noundef 0) to label %.noexc135 unwind label %198 -.noexc135: ; preds = %.noexc131 +.noexc130: ; preds = %.noexc126 store ptr %128, ptr %126, align 16, !tbaa !23 %129 = load i64, ptr %5, align 8, !tbaa !34 store i64 %129, ptr %127, align 16, !tbaa !29 @@ -7165,7 +7165,7 @@ define dso_local void @_ZN8Function28initialize_builtin_functionsEv() local_unna %135 = invoke noundef ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_createERmm(ptr noundef nonnull align 8 dereferenceable(32) %133, ptr noundef nonnull align 8 dereferenceable(8) %4, i64 noundef 0) to label %.noexc139 unwind label %200 -.noexc139: ; preds = %.noexc135 +.noexc134: ; preds = %.noexc130 store ptr %135, ptr %133, align 16, !tbaa !23 %136 = load i64, ptr %4, align 8, !tbaa !34 store i64 %136, ptr %134, align 16, !tbaa !29 @@ -7184,7 +7184,7 @@ define dso_local void @_ZN8Function28initialize_builtin_functionsEv() local_unna %142 = invoke noundef ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_createERmm(ptr noundef nonnull align 8 dereferenceable(32) %140, ptr noundef nonnull align 8 dereferenceable(8) %3, i64 noundef 0) to label %.noexc143 unwind label %202 -.noexc143: ; preds = %.noexc139 +.noexc138: ; preds = %.noexc134 store ptr %142, ptr %140, align 16, !tbaa !23 %143 = load i64, ptr %3, align 8, !tbaa !34 store i64 %143, ptr %141, align 16, !tbaa !29 @@ -7203,7 +7203,7 @@ define dso_local void @_ZN8Function28initialize_builtin_functionsEv() local_unna %149 = invoke noundef ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_createERmm(ptr noundef nonnull align 8 dereferenceable(32) %147, ptr noundef nonnull align 8 dereferenceable(8) %2, i64 noundef 0) to label %.noexc147 unwind label %204 -.noexc147: ; preds = %.noexc143 +.noexc142: ; preds = %.noexc138 store ptr %149, ptr %147, align 16, !tbaa !23 %150 = load i64, ptr %2, align 8, !tbaa !34 store i64 %150, ptr %148, align 16, !tbaa !29 @@ -7222,7 +7222,7 @@ define dso_local void @_ZN8Function28initialize_builtin_functionsEv() local_unna %156 = invoke noundef ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_createERmm(ptr noundef nonnull align 8 dereferenceable(32) %154, ptr noundef nonnull align 8 dereferenceable(8) %1, i64 noundef 0) to label %.noexc151 unwind label %206 -.noexc151: ; preds = %.noexc147 +.noexc146: ; preds = %.noexc142 store ptr %156, ptr %154, align 16, !tbaa !23 %157 = load i64, ptr %1, align 8, !tbaa !34 store i64 %157, ptr %155, align 16, !tbaa !29 @@ -7241,7 +7241,7 @@ define dso_local void @_ZN8Function28initialize_builtin_functionsEv() local_unna %163 = invoke noundef ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_createERmm(ptr noundef nonnull align 8 dereferenceable(32) %161, ptr noundef nonnull align 8 dereferenceable(8) %0, i64 noundef 0) to label %.noexc155 unwind label %208 -.noexc155: ; preds = %.noexc151 +.noexc150: ; preds = %.noexc146 store ptr %163, ptr %161, align 16, !tbaa !23 %164 = load i64, ptr %0, align 8, !tbaa !34 store i64 %164, ptr %162, align 16, !tbaa !29 @@ -7263,97 +7263,97 @@ define dso_local void @_ZN8Function28initialize_builtin_functionsEv() local_unna cleanup br label %210 -172: ; preds = %.noexc79 +172: ; preds = %.noexc74 %173 = landingpad { ptr, i32 } cleanup br label %210 -174: ; preds = %.noexc83 +174: ; preds = %.noexc78 %175 = landingpad { ptr, i32 } cleanup br label %210 -176: ; preds = %.noexc87 +176: ; preds = %.noexc82 %177 = landingpad { ptr, i32 } cleanup br label %210 -178: ; preds = %.noexc91 +178: ; preds = %.noexc86 %179 = landingpad { ptr, i32 } cleanup br label %210 -180: ; preds = %.noexc95 +180: ; preds = %.noexc90 %181 = landingpad { ptr, i32 } cleanup br label %210 -182: ; preds = %.noexc99 +182: ; preds = %.noexc94 %183 = landingpad { ptr, i32 } cleanup br label %210 -184: ; preds = %.noexc103 +184: ; preds = %.noexc98 %185 = landingpad { ptr, i32 } cleanup br label %210 -186: ; preds = %.noexc107 +186: ; preds = %.noexc102 %187 = landingpad { ptr, i32 } cleanup br label %210 -188: ; preds = %.noexc111 +188: ; preds = %.noexc106 %189 = landingpad { ptr, i32 } cleanup br label %210 -190: ; preds = %.noexc115 +190: ; preds = %.noexc110 %191 = landingpad { ptr, i32 } cleanup br label %210 -192: ; preds = %.noexc119 +192: ; preds = %.noexc114 %193 = landingpad { ptr, i32 } cleanup br label %210 -194: ; preds = %.noexc123 +194: ; preds = %.noexc118 %195 = landingpad { ptr, i32 } cleanup br label %210 -196: ; preds = %.noexc127 +196: ; preds = %.noexc122 %197 = landingpad { ptr, i32 } cleanup br label %210 -198: ; preds = %.noexc131 +198: ; preds = %.noexc126 %199 = landingpad { ptr, i32 } cleanup br label %210 -200: ; preds = %.noexc135 +200: ; preds = %.noexc130 %201 = landingpad { ptr, i32 } cleanup br label %210 -202: ; preds = %.noexc139 +202: ; preds = %.noexc134 %203 = landingpad { ptr, i32 } cleanup br label %210 -204: ; preds = %.noexc143 +204: ; preds = %.noexc138 %205 = landingpad { ptr, i32 } cleanup br label %210 -206: ; preds = %.noexc147 +206: ; preds = %.noexc142 %207 = landingpad { ptr, i32 } cleanup br label %210 -208: ; preds = %.noexc151 +208: ; preds = %.noexc146 %209 = landingpad { ptr, i32 } cleanup br label %210 @@ -7388,7 +7388,7 @@ _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit: ; preds = %_ZNKS %222 = icmp eq ptr %213, %21 br i1 %222, label %.loopexit, label %211 -223: ; preds = %.noexc155, %225 +223: ; preds = %.noexc150, %225 %indvars.iv = phi i64 [ 0, %.noexc155 ], [ %indvars.iv.next, %225 ] %224 = getelementptr inbounds nuw %"class.std::__cxx11::basic_string", ptr %21, i64 %indvars.iv invoke void @_ZN8Function21make_builtin_functionERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(32) %224) @@ -7405,64 +7405,64 @@ _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit: ; preds = %_ZNKS %228 = getelementptr inbounds nuw i8, ptr %21, i64 672 br label %242 -229: ; preds = %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit159, %168 +229: ; preds = %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit154, %168 %230 = phi ptr [ %169, %168 ], [ %231, %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit159 ] %231 = getelementptr inbounds i8, ptr %230, i64 -32 %232 = load ptr, ptr %231, align 8, !tbaa !23 %233 = getelementptr inbounds i8, ptr %230, i64 -16 %234 = icmp eq ptr %232, %233 - br i1 %234, label %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i158, label %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i157 + br i1 %234, label %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i153, label %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i152 -_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i158: ; preds = %229 +_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i153: ; preds = %229 %235 = getelementptr inbounds i8, ptr %230, i64 -24 %236 = load i64, ptr %235, align 8, !tbaa !28 %237 = icmp ult i64 %236, 16 call void @llvm.assume(i1 %237) - br label %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit159 + br label %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit154 -_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i157: ; preds = %229 +_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i152: ; preds = %229 %238 = load i64, ptr %233, align 8, !tbaa !29 %239 = add i64 %238, 1 call void @_ZdlPvm(ptr noundef %232, i64 noundef %239) #25 - br label %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit159 + br label %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit154 -_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit159: ; preds = %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i158, %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i157 +_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit154: ; preds = %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i153, %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i152 %240 = icmp eq ptr %231, %21 br i1 %240, label %241, label %229 -241: ; preds = %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit159 +241: ; preds = %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit154 call void @llvm.lifetime.end.p0(ptr nonnull %21) ret void -242: ; preds = %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit162, %226 +242: ; preds = %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit157, %226 %243 = phi ptr [ %228, %226 ], [ %244, %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit162 ] %244 = getelementptr inbounds i8, ptr %243, i64 -32 %245 = load ptr, ptr %244, align 8, !tbaa !23 %246 = getelementptr inbounds i8, ptr %243, i64 -16 %247 = icmp eq ptr %245, %246 - br i1 %247, label %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i161, label %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i160 + br i1 %247, label %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i156, label %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i155 -_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i161: ; preds = %242 +_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i156: ; preds = %242 %248 = getelementptr inbounds i8, ptr %243, i64 -24 %249 = load i64, ptr %248, align 8, !tbaa !28 %250 = icmp ult i64 %249, 16 call void @llvm.assume(i1 %250) - br label %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit162 + br label %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit157 -_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i160: ; preds = %242 +_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i155: ; preds = %242 %251 = load i64, ptr %246, align 8, !tbaa !29 %252 = add i64 %251, 1 call void @_ZdlPvm(ptr noundef %245, i64 noundef %252) #25 - br label %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit162 + br label %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit157 -_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit162: ; preds = %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i161, %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i160 +_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit157: ; preds = %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i156, %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i155 %253 = icmp eq ptr %244, %21 br i1 %253, label %.loopexit, label %242 -.loopexit: ; preds = %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit, %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit162 - %.pn75 = phi { ptr, i32 } [ %227, %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit162 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit ] +.loopexit: ; preds = %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit, %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit157 + %.pn70 = phi { ptr, i32 } [ %227, %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit162 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit ] call void @llvm.lifetime.end.p0(ptr nonnull %21) - resume { ptr, i32 } %.pn75 + resume { ptr, i32 } %.pn70 } ; Function Attrs: mustprogress uwtable diff --git a/bench/cvc5/optimized/SimpSolver.ll b/bench/cvc5/optimized/SimpSolver.ll index 7b1ce715d49..49a28433fcb 100644 --- a/bench/cvc5/optimized/SimpSolver.ll +++ b/bench/cvc5/optimized/SimpSolver.ll @@ -7250,29 +7250,29 @@ define linkonce_odr hidden noundef zeroext i1 @_ZN4cvc58internal7Minisat12Double %7 = load ptr, ptr %6, align 8, !tbaa !392 %8 = load i8, ptr %7, align 1, !tbaa !290 %.not15.i = icmp eq i8 %8, 0 - br i1 %.not15.i, label %.loopexit, label %.lr.ph.i16 + br i1 %.not15.i, label %.loopexit, label %.lr.ph.i15 -9: ; preds = %.lr.ph.i16 - %indvars.iv.next.i20 = add nuw nsw i64 %indvars.iv.i17, 1 - %10 = getelementptr inbounds nuw i8, ptr %7, i64 %indvars.iv.next.i20 +9: ; preds = %.lr.ph.i15 + %indvars.iv.next.i19 = add nuw nsw i64 %indvars.iv.i16, 1 + %10 = getelementptr inbounds nuw i8, ptr %7, i64 %indvars.iv.next.i19 %11 = load i8, ptr %10, align 1, !tbaa !290 - %.not.i21 = icmp eq i8 %11, 0 - br i1 %.not.i21, label %.loopexit, label %.lr.ph.i16, !llvm.loop !404 + %.not.i20 = icmp eq i8 %11, 0 + br i1 %.not.i20, label %.loopexit, label %.lr.ph.i15, !llvm.loop !404 -.lr.ph.i16: ; preds = %4, %9 - %indvars.iv.i17 = phi i64 [ %indvars.iv.next.i20, %9 ], [ 0, %4 ] +.lr.ph.i15: ; preds = %4, %9 + %indvars.iv.i16 = phi i64 [ %indvars.iv.next.i19, %9 ], [ 0, %4 ] %12 = phi i8 [ %11, %9 ], [ %8, %4 ] - %13 = getelementptr inbounds nuw i8, ptr %5, i64 %indvars.iv.i17 + %13 = getelementptr inbounds nuw i8, ptr %5, i64 %indvars.iv.i16 %14 = load i8, ptr %13, align 1, !tbaa !290 - %.not11.i18 = icmp eq i8 %14, %12 - br i1 %.not11.i18, label %9, label %_ZN4cvc58internal7MinisatL5matchIPKcEEbRT_S4_.exit + %.not11.i17 = icmp eq i8 %14, %12 + br i1 %.not11.i17, label %9, label %_ZN4cvc58internal7MinisatL5matchIPKcEEbRT_S4_.exit .loopexit: ; preds = %9, %4 - %.lcssa.i = phi i64 [ 0, %4 ], [ %indvars.iv.next.i20, %9 ] + %.lcssa.i = phi i64 [ 0, %4 ], [ %indvars.iv.next.i19, %9 ] %15 = getelementptr inbounds nuw i8, ptr %5, i64 %.lcssa.i %16 = load i8, ptr %15, align 1, !tbaa !290 - %.not11.i27 = icmp eq i8 %16, 61 - br i1 %.not11.i27, label %17, label %_ZN4cvc58internal7MinisatL5matchIPKcEEbRT_S4_.exit + %.not11.i26 = icmp eq i8 %16, 61 + br i1 %.not11.i26, label %17, label %_ZN4cvc58internal7MinisatL5matchIPKcEEbRT_S4_.exit 17: ; preds = %.loopexit %18 = getelementptr inbounds nuw i8, ptr %15, i64 1 @@ -7314,8 +7314,8 @@ define linkonce_odr hidden noundef zeroext i1 @_ZN4cvc58internal7Minisat12Double %41 = load i8, ptr %40, align 8, !tbaa !419, !range !67, !noundef !68 %42 = trunc nuw i8 %41 to i1 %43 = fcmp oeq double %19, %37 - %or.cond14.not = select i1 %42, i1 %43, i1 false - br i1 %or.cond14.not, label %48, label %44 + %or.cond13.not = select i1 %42, i1 %43, i1 false + br i1 %or.cond13.not, label %48, label %44 44: ; preds = %39 %45 = load ptr, ptr @stderr, align 8, !tbaa !311 @@ -7333,7 +7333,7 @@ define linkonce_odr hidden noundef zeroext i1 @_ZN4cvc58internal7Minisat12Double call void @llvm.lifetime.end.p0(ptr nonnull %2) br label %_ZN4cvc58internal7MinisatL5matchIPKcEEbRT_S4_.exit -_ZN4cvc58internal7MinisatL5matchIPKcEEbRT_S4_.exit: ; preds = %.lr.ph.i16, %.lr.ph.i, %.loopexit, %50 +_ZN4cvc58internal7MinisatL5matchIPKcEEbRT_S4_.exit: ; preds = %.lr.ph.i15, %.lr.ph.i, %.loopexit, %50 %.0 = phi i1 [ %21, %50 ], [ false, %.loopexit ], [ false, %.lr.ph.i ], [ false, %.lr.ph.i16 ] ret i1 %.0 } diff --git a/bench/cvc5/optimized/theory_sep_rewriter.ll b/bench/cvc5/optimized/theory_sep_rewriter.ll index 0736dd55764..eaca8c988c6 100644 --- a/bench/cvc5/optimized/theory_sep_rewriter.ll +++ b/bench/cvc5/optimized/theory_sep_rewriter.ll @@ -1001,13 +1001,13 @@ _ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit88: ; preds = %416, %420, %426 %462 = getelementptr inbounds nuw i8, ptr %.sroa.032.051.i.i.i, i64 8 %463 = load ptr, ptr %462, align 8, !tbaa !28 %464 = icmp eq ptr %463, %456 - br i1 %464, label %_ZSt4findIN9__gnu_cxx17__normal_iteratorIPN4cvc58internal12NodeTemplateILb1EEESt6vectorIS5_SaIS5_EEEES5_ET_SB_SB_RKT0_.exit.loopexit.split.loop.exit203, label %465 + br i1 %464, label %_ZSt4findIN9__gnu_cxx17__normal_iteratorIPN4cvc58internal12NodeTemplateILb1EEESt6vectorIS5_SaIS5_EEEES5_ET_SB_SB_RKT0_.exit.loopexit.split.loop.exit201, label %465 465: ; preds = %461 %466 = getelementptr inbounds nuw i8, ptr %.sroa.032.051.i.i.i, i64 16 %467 = load ptr, ptr %466, align 8, !tbaa !28 %468 = icmp eq ptr %467, %456 - br i1 %468, label %_ZSt4findIN9__gnu_cxx17__normal_iteratorIPN4cvc58internal12NodeTemplateILb1EEESt6vectorIS5_SaIS5_EEEES5_ET_SB_SB_RKT0_.exit.loopexit.split.loop.exit201, label %469 + br i1 %468, label %_ZSt4findIN9__gnu_cxx17__normal_iteratorIPN4cvc58internal12NodeTemplateILb1EEESt6vectorIS5_SaIS5_EEEES5_ET_SB_SB_RKT0_.exit.loopexit.split.loop.exit199, label %469 469: ; preds = %465 %470 = getelementptr inbounds nuw i8, ptr %.sroa.032.051.i.i.i, i64 24 @@ -1077,15 +1077,15 @@ _ZSt4findIN9__gnu_cxx17__normal_iteratorIPN4cvc58internal12NodeTemplateILb1EEESt %494 = getelementptr inbounds nuw i8, ptr %.sroa.032.051.i.i.i, i64 24 br label %_ZSt4findIN9__gnu_cxx17__normal_iteratorIPN4cvc58internal12NodeTemplateILb1EEESt6vectorIS5_SaIS5_EEEES5_ET_SB_SB_RKT0_.exit -_ZSt4findIN9__gnu_cxx17__normal_iteratorIPN4cvc58internal12NodeTemplateILb1EEESt6vectorIS5_SaIS5_EEEES5_ET_SB_SB_RKT0_.exit.loopexit.split.loop.exit201: ; preds = %465 +_ZSt4findIN9__gnu_cxx17__normal_iteratorIPN4cvc58internal12NodeTemplateILb1EEESt6vectorIS5_SaIS5_EEEES5_ET_SB_SB_RKT0_.exit.loopexit.split.loop.exit199: ; preds = %465 %495 = getelementptr inbounds nuw i8, ptr %.sroa.032.051.i.i.i, i64 16 br label %_ZSt4findIN9__gnu_cxx17__normal_iteratorIPN4cvc58internal12NodeTemplateILb1EEESt6vectorIS5_SaIS5_EEEES5_ET_SB_SB_RKT0_.exit -_ZSt4findIN9__gnu_cxx17__normal_iteratorIPN4cvc58internal12NodeTemplateILb1EEESt6vectorIS5_SaIS5_EEEES5_ET_SB_SB_RKT0_.exit.loopexit.split.loop.exit203: ; preds = %461 +_ZSt4findIN9__gnu_cxx17__normal_iteratorIPN4cvc58internal12NodeTemplateILb1EEESt6vectorIS5_SaIS5_EEEES5_ET_SB_SB_RKT0_.exit.loopexit.split.loop.exit201: ; preds = %461 %496 = getelementptr inbounds nuw i8, ptr %.sroa.032.051.i.i.i, i64 8 br label %_ZSt4findIN9__gnu_cxx17__normal_iteratorIPN4cvc58internal12NodeTemplateILb1EEESt6vectorIS5_SaIS5_EEEES5_ET_SB_SB_RKT0_.exit -_ZSt4findIN9__gnu_cxx17__normal_iteratorIPN4cvc58internal12NodeTemplateILb1EEESt6vectorIS5_SaIS5_EEEES5_ET_SB_SB_RKT0_.exit: ; preds = %458, %_ZSt4findIN9__gnu_cxx17__normal_iteratorIPN4cvc58internal12NodeTemplateILb1EEESt6vectorIS5_SaIS5_EEEES5_ET_SB_SB_RKT0_.exit.loopexit.split.loop.exit, %_ZSt4findIN9__gnu_cxx17__normal_iteratorIPN4cvc58internal12NodeTemplateILb1EEESt6vectorIS5_SaIS5_EEEES5_ET_SB_SB_RKT0_.exit.loopexit.split.loop.exit201, %_ZSt4findIN9__gnu_cxx17__normal_iteratorIPN4cvc58internal12NodeTemplateILb1EEESt6vectorIS5_SaIS5_EEEES5_ET_SB_SB_RKT0_.exit.loopexit.split.loop.exit203, %490, %484, %478 +_ZSt4findIN9__gnu_cxx17__normal_iteratorIPN4cvc58internal12NodeTemplateILb1EEESt6vectorIS5_SaIS5_EEEES5_ET_SB_SB_RKT0_.exit: ; preds = %458, %_ZSt4findIN9__gnu_cxx17__normal_iteratorIPN4cvc58internal12NodeTemplateILb1EEESt6vectorIS5_SaIS5_EEEES5_ET_SB_SB_RKT0_.exit.loopexit.split.loop.exit, %_ZSt4findIN9__gnu_cxx17__normal_iteratorIPN4cvc58internal12NodeTemplateILb1EEESt6vectorIS5_SaIS5_EEEES5_ET_SB_SB_RKT0_.exit.loopexit.split.loop.exit199, %_ZSt4findIN9__gnu_cxx17__normal_iteratorIPN4cvc58internal12NodeTemplateILb1EEESt6vectorIS5_SaIS5_EEEES5_ET_SB_SB_RKT0_.exit.loopexit.split.loop.exit201, %490, %484, %478 %497 = phi ptr [ %479, %478 ], [ %485, %484 ], [ %491, %490 ], [ %456, %_ZSt4findIN9__gnu_cxx17__normal_iteratorIPN4cvc58internal12NodeTemplateILb1EEESt6vectorIS5_SaIS5_EEEES5_ET_SB_SB_RKT0_.exit.loopexit.split.loop.exit203 ], [ %456, %_ZSt4findIN9__gnu_cxx17__normal_iteratorIPN4cvc58internal12NodeTemplateILb1EEESt6vectorIS5_SaIS5_EEEES5_ET_SB_SB_RKT0_.exit.loopexit.split.loop.exit201 ], [ %456, %_ZSt4findIN9__gnu_cxx17__normal_iteratorIPN4cvc58internal12NodeTemplateILb1EEESt6vectorIS5_SaIS5_EEEES5_ET_SB_SB_RKT0_.exit.loopexit.split.loop.exit ], [ %456, %458 ] %.sroa.08.0.in.sroa.speculated.i.i.i = phi ptr [ %.sroa.032.0.lcssa.i.i.i, %478 ], [ %.sroa.032.1.i.i.i, %484 ], [ %spec.select.i.i.i, %490 ], [ %496, %_ZSt4findIN9__gnu_cxx17__normal_iteratorIPN4cvc58internal12NodeTemplateILb1EEESt6vectorIS5_SaIS5_EEEES5_ET_SB_SB_RKT0_.exit.loopexit.split.loop.exit203 ], [ %495, %_ZSt4findIN9__gnu_cxx17__normal_iteratorIPN4cvc58internal12NodeTemplateILb1EEESt6vectorIS5_SaIS5_EEEES5_ET_SB_SB_RKT0_.exit.loopexit.split.loop.exit201 ], [ %494, %_ZSt4findIN9__gnu_cxx17__normal_iteratorIPN4cvc58internal12NodeTemplateILb1EEESt6vectorIS5_SaIS5_EEEES5_ET_SB_SB_RKT0_.exit.loopexit.split.loop.exit ], [ %.sroa.032.051.i.i.i, %458 ] %498 = icmp ne ptr %.sroa.08.0.in.sroa.speculated.i.i.i, %450 @@ -1204,11 +1204,11 @@ _ZN4cvc58internal4expr9NodeValue3decEv.exit.i95: ; preds = %540, %534, %531 br i1 %554, label %.invoke, label %_ZN4cvc58internal12NodeTemplateILb1EEaSERKS2_.exit, !prof !31 .invoke: ; preds = %553, %521 - %.sink210 = phi i64 [ %510, %521 ], [ %542, %553 ] - %.sink209 = phi ptr [ %509, %521 ], [ %541, %553 ] - %555 = or i64 %.sink210, 1152920405095219200 - store i64 %555, ptr %.sink209, align 8 - invoke void @_ZN4cvc58internal4expr9NodeValue20markRefCountMaxedOutEv(ptr noundef nonnull align 8 dereferenceable(24) %.sink209) + %.sink208 = phi i64 [ %510, %521 ], [ %542, %553 ] + %.sink207 = phi ptr [ %509, %521 ], [ %541, %553 ] + %555 = or i64 %.sink208, 1152920405095219200 + store i64 %555, ptr %.sink207, align 8 + invoke void @_ZN4cvc58internal4expr9NodeValue20markRefCountMaxedOutEv(ptr noundef nonnull align 8 dereferenceable(24) %.sink207) to label %_ZN4cvc58internal12NodeTemplateILb1EEaSERKS2_.exit unwind label %527 556: ; preds = %440 diff --git a/bench/delta-rs/optimized/4zvphat0q9a964bz.ll b/bench/delta-rs/optimized/4zvphat0q9a964bz.ll index b79d7ff63fa..e61fb87dd80 100644 --- a/bench/delta-rs/optimized/4zvphat0q9a964bz.ll +++ b/bench/delta-rs/optimized/4zvphat0q9a964bz.ll @@ -18508,7 +18508,7 @@ define hidden void @"_ZN117_$LT$futures_util..stream..futures_unordered..Futures switch i8 %118, label %default.unreachable [ i8 0, label %121 i8 1, label %.invoke - i8 2, label %.invoke.loopexit177 + i8 2, label %.invoke.loopexit176 i8 3, label %126 ] @@ -18531,10 +18531,10 @@ default.unreachable: ; preds = %114 store ptr %122, ptr %123, align 8, !noalias !2770 br label %126 -.invoke.loopexit177: ; preds = %114 +.invoke.loopexit176: ; preds = %114 br label %.invoke -.invoke: ; preds = %114, %.invoke.loopexit177 +.invoke: ; preds = %114, %.invoke.loopexit176 %124 = phi ptr [ @str.5, %.invoke.loopexit177 ], [ @str.4, %114 ] %125 = phi i64 [ 34, %.invoke.loopexit177 ], [ 35, %114 ] invoke void @_ZN4core9panicking5panic17h44790a89027c670fE(ptr noalias noundef nonnull readonly align 1 %124, i64 noundef %125, ptr noalias noundef readonly align 8 dereferenceable(24) @anon.fa082ecd109e1e9e48d31b7779f57bae.642) #45 diff --git a/bench/draco/optimized/mesh_stripifier.ll b/bench/draco/optimized/mesh_stripifier.ll index dca7f84a89d..a4ecf206b71 100644 --- a/bench/draco/optimized/mesh_stripifier.ll +++ b/bench/draco/optimized/mesh_stripifier.ll @@ -54,9 +54,9 @@ _ZNSt6vectorIN5draco9IndexTypeIjNS0_19FaceIndex_tag_type_EEESaIS3_EE5clearEv.exi 16: ; preds = %_ZNSt6vectorIN5draco9IndexTypeIjNS0_19FaceIndex_tag_type_EEESaIS3_EE5clearEv.exit, %_ZNK5draco14MeshStripifier17GetOppositeCornerENS_9IndexTypeIjNS_21CornerIndex_tag_type_EEE.exit.thread.thread %17 = phi i1 [ true, %_ZNSt6vectorIN5draco9IndexTypeIjNS0_19FaceIndex_tag_type_EEESaIS3_EE5clearEv.exit ], [ false, %_ZNK5draco14MeshStripifier17GetOppositeCornerENS_9IndexTypeIjNS_21CornerIndex_tag_type_EEE.exit.thread.thread ] - %.sroa.084.0164 = phi i32 [ %2, %_ZNSt6vectorIN5draco9IndexTypeIjNS0_19FaceIndex_tag_type_EEESaIS3_EE5clearEv.exit ], [ %.sroa.084.3193, %_ZNK5draco14MeshStripifier17GetOppositeCornerENS_9IndexTypeIjNS_21CornerIndex_tag_type_EEE.exit.thread.thread ] - %.sroa.081.0163 = phi i32 [ %2, %_ZNSt6vectorIN5draco9IndexTypeIjNS0_19FaceIndex_tag_type_EEESaIS3_EE5clearEv.exit ], [ %.sroa.081.2192, %_ZNK5draco14MeshStripifier17GetOppositeCornerENS_9IndexTypeIjNS_21CornerIndex_tag_type_EEE.exit.thread.thread ] - %.sroa.077.0162 = phi i32 [ %.sroa.02.0.i, %_ZNSt6vectorIN5draco9IndexTypeIjNS0_19FaceIndex_tag_type_EEESaIS3_EE5clearEv.exit ], [ %.sroa.077.2.lcssa191, %_ZNK5draco14MeshStripifier17GetOppositeCornerENS_9IndexTypeIjNS_21CornerIndex_tag_type_EEE.exit.thread.thread ] + %.sroa.084.0164 = phi i32 [ %2, %_ZNSt6vectorIN5draco9IndexTypeIjNS0_19FaceIndex_tag_type_EEESaIS3_EE5clearEv.exit ], [ %.sroa.084.3192, %_ZNK5draco14MeshStripifier17GetOppositeCornerENS_9IndexTypeIjNS_21CornerIndex_tag_type_EEE.exit.thread.thread ] + %.sroa.081.0163 = phi i32 [ %2, %_ZNSt6vectorIN5draco9IndexTypeIjNS0_19FaceIndex_tag_type_EEESaIS3_EE5clearEv.exit ], [ %.sroa.081.2191, %_ZNK5draco14MeshStripifier17GetOppositeCornerENS_9IndexTypeIjNS_21CornerIndex_tag_type_EEE.exit.thread.thread ] + %.sroa.077.0162 = phi i32 [ %.sroa.02.0.i, %_ZNSt6vectorIN5draco9IndexTypeIjNS0_19FaceIndex_tag_type_EEESaIS3_EE5clearEv.exit ], [ %.sroa.077.2.lcssa190, %_ZNK5draco14MeshStripifier17GetOppositeCornerENS_9IndexTypeIjNS_21CornerIndex_tag_type_EEE.exit.thread.thread ] br i1 %17, label %44, label %18 18: ; preds = %16 @@ -418,13 +418,13 @@ _ZNK5draco14MeshStripifier17GetOppositeCornerENS_9IndexTypeIjNS_21CornerIndex_ta br label %_ZNK5draco11CornerTable9SwingLeftENS_9IndexTypeIjNS_21CornerIndex_tag_type_EEE.exit.thread _ZNK5draco14MeshStripifier17GetOppositeCornerENS_9IndexTypeIjNS_21CornerIndex_tag_type_EEE.exit.thread.thread: ; preds = %44, %_ZNK5draco14MeshStripifier17GetOppositeCornerENS_9IndexTypeIjNS_21CornerIndex_tag_type_EEE.exit.thread - %.sroa.084.3193 = phi i32 [ %.sroa.084.3.ph, %_ZNK5draco14MeshStripifier17GetOppositeCornerENS_9IndexTypeIjNS_21CornerIndex_tag_type_EEE.exit.thread ], [ %.sroa.084.1, %44 ] - %.sroa.081.2192 = phi i32 [ %.sroa.081.2.ph, %_ZNK5draco14MeshStripifier17GetOppositeCornerENS_9IndexTypeIjNS_21CornerIndex_tag_type_EEE.exit.thread ], [ %.sroa.081.0163, %44 ] - %.sroa.077.2.lcssa191 = phi i32 [ %.sroa.077.2.lcssa.ph, %_ZNK5draco14MeshStripifier17GetOppositeCornerENS_9IndexTypeIjNS_21CornerIndex_tag_type_EEE.exit.thread ], [ %.sroa.077.1, %44 ] + %.sroa.084.3192 = phi i32 [ %.sroa.084.3.ph, %_ZNK5draco14MeshStripifier17GetOppositeCornerENS_9IndexTypeIjNS_21CornerIndex_tag_type_EEE.exit.thread ], [ %.sroa.084.1, %44 ] + %.sroa.081.2191 = phi i32 [ %.sroa.081.2.ph, %_ZNK5draco14MeshStripifier17GetOppositeCornerENS_9IndexTypeIjNS_21CornerIndex_tag_type_EEE.exit.thread ], [ %.sroa.081.0163, %44 ] + %.sroa.077.2.lcssa190 = phi i32 [ %.sroa.077.2.lcssa.ph, %_ZNK5draco14MeshStripifier17GetOppositeCornerENS_9IndexTypeIjNS_21CornerIndex_tag_type_EEE.exit.thread ], [ %.sroa.077.1, %44 ] br i1 %17, label %16, label %_ZNK5draco11CornerTable9SwingLeftENS_9IndexTypeIjNS_21CornerIndex_tag_type_EEE.exit.thread, !llvm.loop !53 _ZNK5draco11CornerTable9SwingLeftENS_9IndexTypeIjNS_21CornerIndex_tag_type_EEE.exit.thread: ; preds = %_ZNK5draco11CornerTable8PreviousENS_9IndexTypeIjNS_21CornerIndex_tag_type_EEE.exit, %_ZNK5draco11CornerTable4NextENS_9IndexTypeIjNS_21CornerIndex_tag_type_EEE.exit, %_ZNK5draco11CornerTable4NextENS_9IndexTypeIjNS_21CornerIndex_tag_type_EEE.exit.i, %_ZNK5draco11CornerTable8OppositeENS_9IndexTypeIjNS_21CornerIndex_tag_type_EEE.exit.i, %_ZNK5draco11CornerTable9SwingLeftENS_9IndexTypeIjNS_21CornerIndex_tag_type_EEE.exit, %_ZNK5draco14MeshStripifier17GetOppositeCornerENS_9IndexTypeIjNS_21CornerIndex_tag_type_EEE.exit.thread.thread, %.thread, %_ZNK5draco11CornerTable8PreviousENS_9IndexTypeIjNS_21CornerIndex_tag_type_EEE.exit.thread - %.sroa.081.0126 = phi i32 [ -1, %_ZNK5draco11CornerTable8PreviousENS_9IndexTypeIjNS_21CornerIndex_tag_type_EEE.exit.thread ], [ %.sroa.081.2.ph, %.thread ], [ %.sroa.081.2192, %_ZNK5draco14MeshStripifier17GetOppositeCornerENS_9IndexTypeIjNS_21CornerIndex_tag_type_EEE.exit.thread.thread ], [ %.sroa.081.0163, %_ZNK5draco11CornerTable9SwingLeftENS_9IndexTypeIjNS_21CornerIndex_tag_type_EEE.exit ], [ %.sroa.081.0163, %_ZNK5draco11CornerTable8OppositeENS_9IndexTypeIjNS_21CornerIndex_tag_type_EEE.exit.i ], [ %.sroa.081.0163, %_ZNK5draco11CornerTable4NextENS_9IndexTypeIjNS_21CornerIndex_tag_type_EEE.exit.i ], [ %.sroa.081.0163, %_ZNK5draco11CornerTable4NextENS_9IndexTypeIjNS_21CornerIndex_tag_type_EEE.exit ], [ %.sroa.081.0163, %_ZNK5draco11CornerTable8PreviousENS_9IndexTypeIjNS_21CornerIndex_tag_type_EEE.exit ] + %.sroa.081.0126 = phi i32 [ -1, %_ZNK5draco11CornerTable8PreviousENS_9IndexTypeIjNS_21CornerIndex_tag_type_EEE.exit.thread ], [ %.sroa.081.2.ph, %.thread ], [ %.sroa.081.2191, %_ZNK5draco14MeshStripifier17GetOppositeCornerENS_9IndexTypeIjNS_21CornerIndex_tag_type_EEE.exit.thread.thread ], [ %.sroa.081.0163, %_ZNK5draco11CornerTable9SwingLeftENS_9IndexTypeIjNS_21CornerIndex_tag_type_EEE.exit ], [ %.sroa.081.0163, %_ZNK5draco11CornerTable8OppositeENS_9IndexTypeIjNS_21CornerIndex_tag_type_EEE.exit.i ], [ %.sroa.081.0163, %_ZNK5draco11CornerTable4NextENS_9IndexTypeIjNS_21CornerIndex_tag_type_EEE.exit.i ], [ %.sroa.081.0163, %_ZNK5draco11CornerTable4NextENS_9IndexTypeIjNS_21CornerIndex_tag_type_EEE.exit ], [ %.sroa.081.0163, %_ZNK5draco11CornerTable8PreviousENS_9IndexTypeIjNS_21CornerIndex_tag_type_EEE.exit ] %183 = getelementptr inbounds nuw i8, ptr %0, i64 88 %184 = getelementptr inbounds %"class.draco::IndexType", ptr %183, i64 %5 store i32 %.sroa.081.0126, ptr %184, align 4, !tbaa !54 diff --git a/bench/fish-rs/optimized/6luvh0o6z0xeo16dcenatpsob.ll b/bench/fish-rs/optimized/6luvh0o6z0xeo16dcenatpsob.ll index 5de3988c0e5..097b5498da3 100644 --- a/bench/fish-rs/optimized/6luvh0o6z0xeo16dcenatpsob.ll +++ b/bench/fish-rs/optimized/6luvh0o6z0xeo16dcenatpsob.ll @@ -42506,12 +42506,12 @@ _ZN4fish6screen10ScreenData4line17h555952dbf2f6f3aaE.exit: ; preds = %184 %196 = getelementptr { { { { i64, ptr, {} }, {} }, i64 }, i64, i8, [7 x i8] }, ptr %195, i64 %.sroa.0.0.sroa.speculated.i %197 = getelementptr inbounds nuw i8, ptr %196, i64 24 %198 = load i64, ptr %197, align 8, !noundef !3 - %.sroa.0.0.sroa.speculated.i51 = call noundef i64 @llvm.umax.i64(i64 %198, i64 %193) + %.sroa.0.0.sroa.speculated.i50 = call noundef i64 @llvm.umax.i64(i64 %198, i64 %193) %199 = getelementptr inbounds nuw i8, ptr %196, i64 8 %200 = load ptr, ptr %199, align 8, !nonnull !3, !noundef !3 %201 = getelementptr inbounds nuw i8, ptr %196, i64 16 %202 = load i64, ptr %201, align 8, !noundef !3 - %203 = icmp uge i64 %.sroa.0.0.sroa.speculated.i51, %202 + %203 = icmp uge i64 %.sroa.0.0.sroa.speculated.i50, %202 br i1 %203, label %204, label %205 204: ; preds = %_ZN4fish6screen10ScreenData4line17h555952dbf2f6f3aaE.exit @@ -42519,45 +42519,45 @@ _ZN4fish6screen10ScreenData4line17h555952dbf2f6f3aaE.exit: ; preds = %184 br i1 %.not, label %207, label %208 205: ; preds = %_ZN4fish6screen10ScreenData4line17h555952dbf2f6f3aaE.exit - %206 = getelementptr inbounds nuw { { i64, [1 x i64] }, i32, { i8, i8, i8, i8 } }, ptr %200, i64 %.sroa.0.0.sroa.speculated.i51 - %.not41 = icmp eq i64 %.sroa.0.0.sroa.speculated.i, 0 - br i1 %.not41, label %.thread, label %_ZN4fish6screen10ScreenData4line17h555952dbf2f6f3aaE.exit52 + %206 = getelementptr inbounds nuw { { i64, [1 x i64] }, i32, { i8, i8, i8, i8 } }, ptr %200, i64 %.sroa.0.0.sroa.speculated.i50 + %.not40 = icmp eq i64 %.sroa.0.0.sroa.speculated.i, 0 + br i1 %.not40, label %.thread, label %_ZN4fish6screen10ScreenData4line17h555952dbf2f6f3aaE.exit51 207: ; preds = %204 - %.not39 = icmp eq i64 %.sroa.0.0.sroa.speculated.i, 0 - br i1 %.not39, label %.thread61, label %_ZN4fish6screen10ScreenData4line17h555952dbf2f6f3aaE.exit52.thread + %.not38 = icmp eq i64 %.sroa.0.0.sroa.speculated.i, 0 + br i1 %.not38, label %.thread60, label %_ZN4fish6screen10ScreenData4line17h555952dbf2f6f3aaE.exit51.thread 208: ; preds = %204 %209 = getelementptr { { i64, [1 x i64] }, i32, { i8, i8, i8, i8 } }, ptr %200, i64 %202 %210 = getelementptr i8, ptr %209, i64 -24 - %.not40 = icmp eq i64 %.sroa.0.0.sroa.speculated.i, 0 - br i1 %.not40, label %215, label %_ZN4fish6screen10ScreenData4line17h555952dbf2f6f3aaE.exit52 + %.not39 = icmp eq i64 %.sroa.0.0.sroa.speculated.i, 0 + br i1 %.not39, label %215, label %_ZN4fish6screen10ScreenData4line17h555952dbf2f6f3aaE.exit51 -_ZN4fish6screen10ScreenData4line17h555952dbf2f6f3aaE.exit52: ; preds = %205, %208 +_ZN4fish6screen10ScreenData4line17h555952dbf2f6f3aaE.exit51: ; preds = %205, %208 %.sroa.030.0 = phi ptr [ %206, %205 ], [ %210, %208 ] %211 = getelementptr i8, ptr %196, i64 -24 %212 = load i64, ptr %211, align 8, !noundef !3 - %.not42 = icmp eq i64 %212, 0 - %.not43 = icmp eq ptr %.sroa.030.0, null - br i1 %.not42, label %216, label %217 + %.not41 = icmp eq i64 %212, 0 + %.not42 = icmp eq ptr %.sroa.030.0, null + br i1 %.not41, label %216, label %217 -_ZN4fish6screen10ScreenData4line17h555952dbf2f6f3aaE.exit52.thread: ; preds = %207 +_ZN4fish6screen10ScreenData4line17h555952dbf2f6f3aaE.exit51.thread: ; preds = %207 %213 = getelementptr i8, ptr %196, i64 -24 %214 = load i64, ptr %213, align 8, !noundef !3 - %.not4273 = icmp eq i64 %214, 0 - br i1 %.not4273, label %.thread61, label %.thread79 + %.not4172 = icmp eq i64 %214, 0 + br i1 %.not4172, label %.thread60, label %.thread78 215: ; preds = %208 - %.not45 = icmp eq ptr %210, null - br i1 %.not45, label %.thread61, label %.thread + %.not44 = icmp eq ptr %210, null + br i1 %.not44, label %.thread60, label %.thread -216: ; preds = %_ZN4fish6screen10ScreenData4line17h555952dbf2f6f3aaE.exit52 - br i1 %.not43, label %.thread61, label %.thread +216: ; preds = %_ZN4fish6screen10ScreenData4line17h555952dbf2f6f3aaE.exit51 + br i1 %.not42, label %.thread60, label %.thread -217: ; preds = %_ZN4fish6screen10ScreenData4line17h555952dbf2f6f3aaE.exit52 - br i1 %.not43, label %.thread79, label %.thread +217: ; preds = %_ZN4fish6screen10ScreenData4line17h555952dbf2f6f3aaE.exit51 + br i1 %.not42, label %.thread78, label %.thread -.thread79: ; preds = %_ZN4fish6screen10ScreenData4line17h555952dbf2f6f3aaE.exit52.thread, %217 +.thread78: ; preds = %_ZN4fish6screen10ScreenData4line17h555952dbf2f6f3aaE.exit51.thread, %217 %218 = phi i64 [ %212, %217 ], [ %214, %_ZN4fish6screen10ScreenData4line17h555952dbf2f6f3aaE.exit52.thread ] %219 = getelementptr i8, ptr %196, i64 -32 %220 = load ptr, ptr %219, align 8, !nonnull !3, !noundef !3 @@ -42565,7 +42565,7 @@ _ZN4fish6screen10ScreenData4line17h555952dbf2f6f3aaE.exit52.thread: ; preds = %2 %222 = getelementptr i8, ptr %221, i64 -24 br label %.thread -.thread: ; preds = %205, %216, %217, %215, %.thread79 +.thread: ; preds = %205, %216, %217, %215, %.thread78 %.sroa.07.1 = phi ptr [ %210, %215 ], [ %222, %.thread79 ], [ %206, %205 ], [ %.sroa.030.0, %216 ], [ %.sroa.030.0, %217 ] %223 = icmp ne ptr %.sroa.07.1, null call void @llvm.assume(i1 %223) @@ -42582,18 +42582,18 @@ _ZN4fish6screen10ScreenData4line17h555952dbf2f6f3aaE.exit52.thread: ; preds = %2 call void @llvm.assume(i1 %228) %229 = zext i1 %203 to i64 %spec.select = add i64 %226, %229 - br label %.thread61 + br label %.thread60 230: ; preds = %.thread %231 = icmp ult i64 %202, 384307168202282326 call void @llvm.assume(i1 %231) - %spec.select49 = select i1 %203, i64 undef, i64 %226 - %spec.select50 = select i1 %203, i64 0, i64 3 - br label %.thread61 + %spec.select48 = select i1 %203, i64 undef, i64 %226 + %spec.select49 = select i1 %203, i64 0, i64 3 + br label %.thread60 -.thread61: ; preds = %_ZN4fish6screen10ScreenData4line17h555952dbf2f6f3aaE.exit52.thread, %207, %216, %215, %230, %227, %.thread - %.sroa.4.0 = phi i64 [ %226, %.thread ], [ %spec.select, %227 ], [ %spec.select49, %230 ], [ 0, %215 ], [ 0, %216 ], [ 0, %207 ], [ 0, %_ZN4fish6screen10ScreenData4line17h555952dbf2f6f3aaE.exit52.thread ] - %.sroa.0.0 = phi i64 [ %224, %.thread ], [ 1, %227 ], [ %spec.select50, %230 ], [ 2, %215 ], [ 2, %216 ], [ 2, %207 ], [ 2, %_ZN4fish6screen10ScreenData4line17h555952dbf2f6f3aaE.exit52.thread ] +.thread60: ; preds = %_ZN4fish6screen10ScreenData4line17h555952dbf2f6f3aaE.exit51.thread, %207, %216, %215, %230, %227, %.thread + %.sroa.4.0 = phi i64 [ %226, %.thread ], [ %spec.select, %227 ], [ %spec.select48, %230 ], [ 0, %215 ], [ 0, %216 ], [ 0, %207 ], [ 0, %_ZN4fish6screen10ScreenData4line17h555952dbf2f6f3aaE.exit52.thread ] + %.sroa.0.0 = phi i64 [ %224, %.thread ], [ 1, %227 ], [ %spec.select49, %230 ], [ 2, %215 ], [ 2, %216 ], [ 2, %207 ], [ 2, %_ZN4fish6screen10ScreenData4line17h555952dbf2f6f3aaE.exit52.thread ] %232 = insertvalue { i64, i64 } poison, i64 %.sroa.0.0, 0 %233 = insertvalue { i64, i64 } %232, i64 %.sroa.4.0, 1 ret { i64, i64 } %233 diff --git a/bench/flac/optimized/ogg_decoder_aspect.ll b/bench/flac/optimized/ogg_decoder_aspect.ll index 0cb6c474933..b8645ee0333 100644 --- a/bench/flac/optimized/ogg_decoder_aspect.ll +++ b/bench/flac/optimized/ogg_decoder_aspect.ll @@ -946,8 +946,8 @@ define hidden range(i32 0, 10) i32 @FLAC__ogg_decoder_aspect_skip_link(ptr nound %45 = getelementptr inbounds nuw %struct.FLAC__OggDecoderAspect_LinkDetails, ptr %43, i64 %44 %46 = getelementptr inbounds nuw i8, ptr %45, i64 48 %47 = load i32, ptr %46, align 8, !tbaa !62 - %.not251 = icmp eq i32 %47, 0 - br i1 %.not251, label %55, label %48 + %.not249 = icmp eq i32 %47, 0 + br i1 %.not249, label %55, label %48 48: ; preds = %41 call void @llvm.lifetime.start.p0(ptr nonnull %9) @@ -966,12 +966,12 @@ define hidden range(i32 0, 10) i32 @FLAC__ogg_decoder_aspect_skip_link(ptr nound %53 = call i32 %2(ptr noundef %5, i64 noundef %52, ptr noundef %6) #15 %switch.selectcmp = icmp eq i32 %53, 1 %switch.select = select i1 %switch.selectcmp, i32 7, i32 1 - %switch.selectcmp258 = icmp eq i32 %53, 2 - %switch.select259 = select i1 %switch.selectcmp258, i32 9, i32 %switch.select + %switch.selectcmp256 = icmp eq i32 %53, 2 + %switch.select257 = select i1 %switch.selectcmp256, i32 9, i32 %switch.select br label %54 54: ; preds = %51, %48, %50 - %.1 = phi i32 [ 7, %50 ], [ 9, %48 ], [ %switch.select259, %51 ] + %.1 = phi i32 [ 7, %50 ], [ 9, %48 ], [ %switch.select257, %51 ] call void @llvm.lifetime.end.p0(ptr nonnull %9) br label %check_size_of_link_allocation_.exit @@ -1001,8 +1001,8 @@ define hidden range(i32 0, 10) i32 @FLAC__ogg_decoder_aspect_skip_link(ptr nound %66 = getelementptr inbounds nuw i8, ptr %0, i64 656 store i32 %65, ptr %66, align 8, !tbaa !34 %67 = tail call fastcc i32 @check_size_of_link_allocation_(ptr noundef nonnull %0) - %.not252 = icmp eq i32 %67, 0 - br i1 %.not252, label %check_size_of_link_allocation_.exit, label %68 + %.not250 = icmp eq i32 %67, 0 + br i1 %.not250, label %check_size_of_link_allocation_.exit, label %68 68: ; preds = %60 %69 = getelementptr inbounds nuw i8, ptr %0, i64 488 @@ -1048,10 +1048,10 @@ define hidden range(i32 0, 10) i32 @FLAC__ogg_decoder_aspect_skip_link(ptr nound %88 = add i64 %84, %87 store i64 %88, ptr %11, align 8, !tbaa !52 %89 = load i64, ptr %10, align 8, !tbaa !52 - %.not228321 = icmp ugt i64 %89, %88 - br i1 %.not228321, label %.lr.ph328, label %.thread + %.not226319 = icmp ugt i64 %89, %88 + br i1 %.not226319, label %.lr.ph326, label %.thread -.lr.ph328: ; preds = %78 +.lr.ph326: ; preds = %78 %90 = getelementptr inbounds nuw i8, ptr %0, i64 468 %91 = getelementptr inbounds nuw i8, ptr %0, i64 16 %92 = getelementptr inbounds nuw i8, ptr %0, i64 496 @@ -1064,26 +1064,26 @@ define hidden range(i32 0, 10) i32 @FLAC__ogg_decoder_aspect_skip_link(ptr nound %99 = getelementptr inbounds nuw i8, ptr %0, i64 480 br label %100 -100: ; preds = %.lr.ph328, %check_size_of_link_allocation_.exit266 - %.0173326 = phi i64 [ %88, %.lr.ph328 ], [ %.1174, %check_size_of_link_allocation_.exit266 ] - %.0180325 = phi i64 [ %89, %.lr.ph328 ], [ %.1181, %check_size_of_link_allocation_.exit266 ] - %.0185324 = phi i32 [ %72, %.lr.ph328 ], [ %.1186, %check_size_of_link_allocation_.exit266 ] - %.0190323 = phi i32 [ 0, %.lr.ph328 ], [ %.1191, %check_size_of_link_allocation_.exit266 ] - %.0197322 = phi i32 [ 0, %.lr.ph328 ], [ %.1198, %check_size_of_link_allocation_.exit266 ] - %101 = sub nuw i64 %.0180325, %.0173326 +100: ; preds = %.lr.ph326, %check_size_of_link_allocation_.exit264 + %.0173324 = phi i64 [ %88, %.lr.ph328 ], [ %.1174, %check_size_of_link_allocation_.exit266 ] + %.0180323 = phi i64 [ %89, %.lr.ph328 ], [ %.1181, %check_size_of_link_allocation_.exit266 ] + %.0185322 = phi i32 [ %72, %.lr.ph328 ], [ %.1186, %check_size_of_link_allocation_.exit266 ] + %.0190321 = phi i32 [ 0, %.lr.ph328 ], [ %.1191, %check_size_of_link_allocation_.exit266 ] + %.0197320 = phi i32 [ 0, %.lr.ph328 ], [ %.1198, %check_size_of_link_allocation_.exit266 ] + %101 = sub nuw i64 %.0180323, %.0173324 %102 = icmp ult i64 %101, 9 br i1 %102, label %.thread, label %103 103: ; preds = %100 %104 = lshr i64 %101, 1 - %105 = add i64 %104, %.0173326 - %.not229 = icmp eq i32 %.0190323, 0 - br i1 %.not229, label %106, label %126 + %105 = add i64 %104, %.0173324 + %.not227 = icmp eq i32 %.0190321, 0 + br i1 %.not227, label %106, label %126 106: ; preds = %103 %107 = load i64, ptr %11, align 8, !tbaa !52 %108 = icmp ult i64 %107, %105 - br i1 %108, label %109, label %.thread271 + br i1 %108, label %109, label %.thread269 109: ; preds = %106 %110 = load i32, ptr %81, align 4, !tbaa !58 @@ -1095,33 +1095,33 @@ define hidden range(i32 0, 10) i32 @FLAC__ogg_decoder_aspect_skip_link(ptr nound %116 = icmp ugt i64 %115, %105 %117 = add i64 %107, 65307 %118 = icmp ugt i64 %117, %105 - %or.cond305 = or i1 %118, %116 - br i1 %or.cond305, label %126, label %.thread271 + %or.cond303 = or i1 %118, %116 + br i1 %or.cond303, label %126, label %.thread269 -.thread271: ; preds = %109, %106 +.thread269: ; preds = %109, %106 %119 = load i32, ptr %90, align 4, !tbaa !35 - %.not230 = icmp eq i32 %119, 0 - br i1 %.not230, label %120, label %126 + %.not228 = icmp eq i32 %119, 0 + br i1 %.not228, label %120, label %126 -120: ; preds = %.thread271 - %.not231 = icmp ne i32 %.0197322, 0 +120: ; preds = %.thread269 + %.not229 = icmp ne i32 %.0197320, 0 %121 = icmp ult i64 %101, 130614 - %or.cond255 = or i1 %.not231, %121 - %.1169 = select i1 %or.cond255, i64 %.0173326, i64 %105 + %or.cond253 = or i1 %.not229, %121 + %.1169 = select i1 %or.cond253, i64 %.0173324, i64 %105 %122 = call i32 %2(ptr noundef %5, i64 noundef %.1169, ptr noundef %6) #15 - %.not232 = icmp eq i32 %122, 0 - br i1 %.not232, label %123, label %.thread + %.not230 = icmp eq i32 %122, 0 + br i1 %.not230, label %123, label %.thread 123: ; preds = %120 - %.3193 = zext i1 %or.cond255 to i32 + %.3193 = zext i1 %or.cond253 to i32 store i64 %.1169, ptr %11, align 8, !tbaa !52 %124 = call i32 @ogg_stream_reset(ptr noundef nonnull %91) #15 %125 = call i32 @ogg_sync_reset(ptr noundef nonnull %80) #15 br label %126 -126: ; preds = %.thread271, %109, %103, %123 - %.not237 = phi i1 [ false, %123 ], [ true, %103 ], [ true, %109 ], [ true, %.thread271 ] - %.2199 = phi i32 [ 0, %123 ], [ %.0197322, %103 ], [ %.0197322, %109 ], [ %.0197322, %.thread271 ] +126: ; preds = %.thread269, %109, %103, %123 + %.not235 = phi i1 [ false, %123 ], [ true, %103 ], [ true, %109 ], [ true, %.thread271 ] + %.2199 = phi i32 [ 0, %123 ], [ %.0197320, %103 ], [ %.0197320, %109 ], [ %.0197320, %.thread271 ] %.2192 = phi i32 [ %.3193, %123 ], [ 1, %103 ], [ 0, %109 ], [ 0, %.thread271 ] %.0168 = phi i64 [ %.1169, %123 ], [ %105, %103 ], [ %105, %109 ], [ %105, %.thread271 ] %127 = call i64 @ogg_sync_pageseek(ptr noundef nonnull %80, ptr noundef nonnull %92) #15 @@ -1133,8 +1133,8 @@ define hidden range(i32 0, 10) i32 @FLAC__ogg_decoder_aspect_skip_link(ptr nound %130 = phi i32 [ %149, %read_more_data_.exit ], [ %128, %126 ] %131 = phi i64 [ %148, %read_more_data_.exit ], [ %127, %126 ] %132 = load i32, ptr %93, align 4, !tbaa !24 - %.not233 = icmp eq i32 %132, 0 - br i1 %.not233, label %133, label %.critedge + %.not231 = icmp eq i32 %132, 0 + br i1 %.not231, label %133, label %.critedge 133: ; preds = %.lr.ph %134 = icmp slt i32 %130, 0 @@ -1158,11 +1158,11 @@ define hidden range(i32 0, 10) i32 @FLAC__ogg_decoder_aspect_skip_link(ptr nound store i64 8192, ptr %8, align 8, !tbaa !52 %143 = call i32 %1(ptr noundef %5, ptr noundef nonnull %140, ptr noundef nonnull %8, ptr noundef %6) #15 switch i32 %143, label %145 [ - i32 6, label %.thread.i261 + i32 6, label %.thread.i259 i32 1, label %144 ] -.thread.i261: ; preds = %142 +.thread.i259: ; preds = %142 call void @llvm.lifetime.end.p0(ptr nonnull %8) br label %.thread @@ -1197,8 +1197,8 @@ read_more_data_.exit: ; preds = %145, %135 157: ; preds = %.critedge %158 = load i32, ptr %90, align 4, !tbaa !35 - %.not238 = icmp eq i32 %158, 0 - br i1 %.not238, label %159, label %232 + %.not236 = icmp eq i32 %158, 0 + br i1 %.not236, label %159, label %232 159: ; preds = %157 %160 = call i32 @ogg_page_serialno(ptr noundef nonnull %92) #15 @@ -1213,27 +1213,27 @@ read_more_data_.exit: ; preds = %145, %135 %168 = getelementptr inbounds nuw i8, ptr %165, i64 32 %169 = load i32, ptr %168, align 8, !tbaa !68 %.not = icmp eq i32 %169, 0 - br i1 %.not, label %._crit_edge, label %.lr.ph319 + br i1 %.not, label %._crit_edge, label %.lr.ph317 -.lr.ph319: ; preds = %159 +.lr.ph317: ; preds = %159 %170 = getelementptr inbounds nuw i8, ptr %165, i64 40 %171 = load ptr, ptr %170, align 8, !tbaa !29 %wide.trip.count = zext i32 %169 to i64 br label %172 -172: ; preds = %.lr.ph319, %172 +172: ; preds = %.lr.ph317, %172 %indvars.iv = phi i64 [ 0, %.lr.ph319 ], [ %indvars.iv.next, %172 ] - %.1171317 = phi i32 [ %spec.select, %.lr.ph319 ], [ %spec.select256, %172 ] + %.1171315 = phi i32 [ %spec.select, %.lr.ph319 ], [ %spec.select254, %172 ] %173 = getelementptr inbounds nuw i64, ptr %171, i64 %indvars.iv %174 = load i64, ptr %173, align 8, !tbaa !52 %175 = icmp eq i64 %174, %161 - %spec.select256 = select i1 %175, i32 1, i32 %.1171317 + %spec.select254 = select i1 %175, i32 1, i32 %.1171315 %indvars.iv.next = add nuw nsw i64 %indvars.iv, 1 %exitcond.not = icmp eq i64 %indvars.iv.next, %wide.trip.count br i1 %exitcond.not, label %._crit_edge, label %172, !llvm.loop !70 ._crit_edge: ; preds = %172, %159 - %.1171.lcssa = phi i32 [ %spec.select, %159 ], [ %spec.select256, %172 ] + %.1171.lcssa = phi i32 [ %spec.select, %159 ], [ %spec.select254, %172 ] %176 = call i32 @ogg_page_serialno(ptr noundef nonnull %92) #15 %177 = sext i32 %176 to i64 %178 = load ptr, ptr %97, align 8, !tbaa !27 @@ -1246,8 +1246,8 @@ read_more_data_.exit: ; preds = %145, %135 184: ; preds = %._crit_edge %185 = call i32 @ogg_page_eos(ptr noundef nonnull %92) #15 - %.not239 = icmp eq i32 %185, 0 - br i1 %.not239, label %215, label %186 + %.not237 = icmp eq i32 %185, 0 + br i1 %.not237, label %215, label %186 186: ; preds = %184 %187 = load i64, ptr %11, align 8, !tbaa !52 @@ -1270,10 +1270,10 @@ read_more_data_.exit: ; preds = %145, %135 %201 = add i32 %195, 1 store i32 %201, ptr %98, align 8, !tbaa !34 %202 = load i32, ptr %18, align 8, !tbaa !28 - %.not.i262 = icmp ult i32 %195, %202 - %.not16.i265 = icmp ult i32 %201, %202 - %or.cond302 = and i1 %.not.i262, %.not16.i265 - br i1 %or.cond302, label %214, label %203 + %.not.i260 = icmp ult i32 %195, %202 + %.not16.i263 = icmp ult i32 %201, %202 + %or.cond300 = and i1 %.not.i260, %.not16.i263 + br i1 %or.cond300, label %214, label %203 203: ; preds = %186 %204 = shl i32 %202, 1 @@ -1281,9 +1281,9 @@ read_more_data_.exit: ; preds = %145, %135 %206 = mul nuw nsw i64 %205, 56 %207 = call noalias noundef ptr @realloc(ptr noundef nonnull %194, i64 noundef %206) #16 %208 = icmp eq ptr %207, null - br i1 %208, label %.thread, label %.thread.i263 + br i1 %208, label %.thread, label %.thread.i261 -.thread.i263: ; preds = %203 +.thread.i261: ; preds = %203 store ptr %207, ptr %97, align 8, !tbaa !27 %209 = load i32, ptr %18, align 8, !tbaa !28 %210 = zext i32 %209 to i64 @@ -1292,22 +1292,22 @@ read_more_data_.exit: ; preds = %145, %135 call void @llvm.memset.p0.i64(ptr noundef nonnull align 1 %211, i8 noundef 0, i64 noundef range(i64 0, 240518168521) %212, i1 noundef false) #15 %213 = shl i32 %209, 1 store i32 %213, ptr %18, align 8, !tbaa !28 - %.pre348 = load i32, ptr %16, align 4, !tbaa !33 - %.pre349 = add i32 %.pre348, 1 + %.pre346 = load i32, ptr %16, align 4, !tbaa !33 + %.pre347 = add i32 %.pre346, 1 br label %214 -214: ; preds = %186, %.thread.i263 - %.pre-phi = phi i32 [ %201, %186 ], [ %.pre349, %.thread.i263 ] +214: ; preds = %186, %.thread.i261 + %.pre-phi = phi i32 [ %201, %186 ], [ %.pre347, %.thread.i263 ] store i32 1, ptr %71, align 8, !tbaa !23 store i32 0, ptr %99, align 8, !tbaa !26 store i32 %.pre-phi, ptr %16, align 4, !tbaa !33 store i32 1, ptr %90, align 4, !tbaa !35 store i32 0, ptr %96, align 8, !tbaa !36 - br label %check_size_of_link_allocation_.exit266 + br label %check_size_of_link_allocation_.exit264 215: ; preds = %184, %._crit_edge - %.not240 = icmp eq i32 %.1171.lcssa, 0 - br i1 %.not240, label %227, label %216 + %.not238 = icmp eq i32 %.1171.lcssa, 0 + br i1 %.not238, label %227, label %216 216: ; preds = %215 %217 = call i32 @ogg_page_serialno(ptr noundef nonnull %92) #15 @@ -1318,33 +1318,33 @@ read_more_data_.exit: ; preds = %145, %135 %222 = getelementptr inbounds nuw %struct.FLAC__OggDecoderAspect_LinkDetails, ptr %219, i64 %221 %223 = load i64, ptr %222, align 8, !tbaa !39 %224 = icmp eq i64 %223, %218 - br i1 %224, label %225, label %check_size_of_link_allocation_.exit266 + br i1 %224, label %225, label %check_size_of_link_allocation_.exit264 225: ; preds = %216 %226 = load i64, ptr %11, align 8, !tbaa !52 - br label %check_size_of_link_allocation_.exit266 + br label %check_size_of_link_allocation_.exit264 227: ; preds = %215 - %.not241 = icmp eq i32 %.2192, 0 - br i1 %.not241, label %230, label %228 + %.not239 = icmp eq i32 %.2192, 0 + br i1 %.not239, label %230, label %228 228: ; preds = %227 %229 = load i64, ptr %11, align 8, !tbaa !52 - br label %check_size_of_link_allocation_.exit266 + br label %check_size_of_link_allocation_.exit264 230: ; preds = %227 - br i1 %.not237, label %.thread, label %231 + br i1 %.not235, label %.thread, label %231 231: ; preds = %230 - %.not243 = icmp ugt i64 %.0180325, %151 - %.2199. = select i1 %.not243, i32 %.2199, i32 1 - %..0180 = call i64 @llvm.umin.i64(i64 %.0180325, i64 %151) - br label %check_size_of_link_allocation_.exit266 + %.not241 = icmp ugt i64 %.0180323, %151 + %.2199. = select i1 %.not241, i32 %.2199, i32 1 + %..0180 = call i64 @llvm.umin.i64(i64 %.0180323, i64 %151) + br label %check_size_of_link_allocation_.exit264 232: ; preds = %157 %233 = load i32, ptr %93, align 4, !tbaa !24 - %.not245 = icmp eq i32 %233, 0 - br i1 %.not245, label %243, label %234 + %.not243 = icmp eq i32 %233, 0 + br i1 %.not243, label %243, label %234 234: ; preds = %232 %235 = load i32, ptr %16, align 4, !tbaa !33 @@ -1364,39 +1364,39 @@ read_more_data_.exit: ; preds = %145, %135 243: ; preds = %232 %244 = load i32, ptr %71, align 8, !tbaa !23 %245 = call fastcc i32 @process_page_(ptr noundef nonnull %0, ptr noundef %3, ptr noundef %5, ptr noundef %6) - %.not247 = icmp eq i32 %245, 0 - br i1 %.not247, label %246, label %.thread + %.not245 = icmp eq i32 %245, 0 + br i1 %.not245, label %246, label %.thread 246: ; preds = %243 %247 = icmp eq i32 %244, 0 - %.not246 = icmp ne i32 %.0185324, 0 + %.not244 = icmp ne i32 %.0185322, 0 %248 = load i32, ptr %71, align 8, !tbaa !23 - %.not248 = icmp ne i32 %248, 0 - %249 = select i1 %.not248, i1 true, i1 %247 - %brmerge = select i1 %249, i1 true, i1 %.not246 + %.not246 = icmp ne i32 %248, 0 + %249 = select i1 %.not246, i1 true, i1 %247 + %brmerge = select i1 %249, i1 true, i1 %.not244 br i1 %brmerge, label %250, label %.thread 250: ; preds = %246 - %.0185.mux = select i1 %.not248, i32 %.0185324, i32 0 + %.0185.mux = select i1 %.not246, i32 %.0185322, i32 0 %251 = load i32, ptr %90, align 4, !tbaa !35 - %.not249 = icmp eq i32 %251, 0 - %spec.select257 = select i1 %.not249, i64 %151, i64 %.0173326 - br label %check_size_of_link_allocation_.exit266 + %.not247 = icmp eq i32 %251, 0 + %spec.select255 = select i1 %.not247, i64 %151, i64 %.0173324 + br label %check_size_of_link_allocation_.exit264 252: ; preds = %.critedge %253 = load i32, ptr %93, align 4, !tbaa !24 - %.not234 = icmp eq i32 %253, 0 - br i1 %.not234, label %268, label %254 + %.not232 = icmp eq i32 %253, 0 + br i1 %.not232, label %268, label %254 254: ; preds = %252 %255 = load i32, ptr %90, align 4, !tbaa !35 - %.not235 = icmp eq i32 %255, 0 - br i1 %.not235, label %267, label %256 + %.not233 = icmp eq i32 %255, 0 + br i1 %.not233, label %267, label %256 256: ; preds = %254 %257 = load i32, ptr %96, align 8, !tbaa !36 - %.not236 = icmp eq i32 %257, 0 - br i1 %.not236, label %258, label %267 + %.not234 = icmp eq i32 %257, 0 + br i1 %.not234, label %258, label %267 258: ; preds = %256 %259 = load i32, ptr %16, align 4, !tbaa !33 @@ -1414,22 +1414,22 @@ read_more_data_.exit: ; preds = %145, %135 br label %.thread 267: ; preds = %256, %254 - br i1 %.not237, label %.thread, label %check_size_of_link_allocation_.exit266 + br i1 %.not235, label %.thread, label %check_size_of_link_allocation_.exit264 268: ; preds = %252 %269 = icmp eq i32 %.lcssa, 0 - br i1 %269, label %.thread, label %check_size_of_link_allocation_.exit266 + br i1 %269, label %.thread, label %check_size_of_link_allocation_.exit264 -check_size_of_link_allocation_.exit266: ; preds = %268, %267, %250, %231, %216, %228, %225, %214 +check_size_of_link_allocation_.exit264: ; preds = %268, %267, %250, %231, %216, %228, %225, %214 %.1198 = phi i32 [ %.2199, %214 ], [ %.2199, %250 ], [ %.2199, %268 ], [ %.2199, %267 ], [ %.2199., %231 ], [ 1, %216 ], [ %.2199, %228 ], [ %.2199, %225 ] %.1191 = phi i32 [ %.2192, %214 ], [ %.2192, %250 ], [ %.2192, %268 ], [ %.2192, %267 ], [ 0, %231 ], [ %.2192, %216 ], [ 1, %228 ], [ 0, %225 ] - %.1186 = phi i32 [ %.0185324, %214 ], [ %.0185.mux, %250 ], [ %.0185324, %268 ], [ %.0185324, %267 ], [ %.0185324, %231 ], [ %.0185324, %216 ], [ %.0185324, %228 ], [ %.0185324, %225 ] - %.1181 = phi i64 [ %.0180325, %214 ], [ %.0180325, %250 ], [ %.0180325, %268 ], [ %.0168, %267 ], [ %..0180, %231 ], [ %.0180325, %216 ], [ %.0180325, %228 ], [ %.0180325, %225 ] - %.1174 = phi i64 [ %.0173326, %214 ], [ %spec.select257, %250 ], [ %.0173326, %268 ], [ %.0173326, %267 ], [ %.0173326, %231 ], [ %.0173326, %216 ], [ %229, %228 ], [ %226, %225 ] - %.not228 = icmp ugt i64 %.1181, %.1174 - br i1 %.not228, label %100, label %.thread + %.1186 = phi i32 [ %.0185322, %214 ], [ %.0185.mux, %250 ], [ %.0185322, %268 ], [ %.0185322, %267 ], [ %.0185322, %231 ], [ %.0185322, %216 ], [ %.0185322, %228 ], [ %.0185322, %225 ] + %.1181 = phi i64 [ %.0180323, %214 ], [ %.0180323, %250 ], [ %.0180323, %268 ], [ %.0168, %267 ], [ %..0180, %231 ], [ %.0180323, %216 ], [ %.0180323, %228 ], [ %.0180323, %225 ] + %.1174 = phi i64 [ %.0173324, %214 ], [ %spec.select255, %250 ], [ %.0173324, %268 ], [ %.0173324, %267 ], [ %.0173324, %231 ], [ %.0173324, %216 ], [ %229, %228 ], [ %226, %225 ] + %.not226 = icmp ugt i64 %.1181, %.1174 + br i1 %.not226, label %100, label %.thread -.thread: ; preds = %100, %check_size_of_link_allocation_.exit266, %120, %267, %268, %230, %203, %243, %246, %145, %139, %78, %.thread.i261, %258, %234, %261, %237, %75, %70, %77, %74 +.thread: ; preds = %100, %check_size_of_link_allocation_.exit264, %120, %267, %268, %230, %203, %243, %246, %145, %139, %78, %.thread.i259, %258, %234, %261, %237, %75, %70, %77, %74 %.4 = phi i32 [ 9, %75 ], [ 9, %70 ], [ 7, %77 ], [ 7, %74 ], [ 3, %258 ], [ 3, %234 ], [ 1, %261 ], [ 1, %237 ], [ 6, %.thread.i261 ], [ 7, %78 ], [ 7, %145 ], [ 8, %139 ], [ 7, %100 ], [ 7, %check_size_of_link_allocation_.exit266 ], [ 0, %120 ], [ 7, %267 ], [ 3, %268 ], [ 7, %230 ], [ 8, %203 ], [ %245, %243 ], [ 0, %246 ] call void @llvm.lifetime.end.p0(ptr nonnull %11) call void @llvm.lifetime.end.p0(ptr nonnull %10) diff --git a/bench/fmt/optimized/unicode-test.ll b/bench/fmt/optimized/unicode-test.ll index 9e3c2423e96..b314e2b1056 100644 --- a/bench/fmt/optimized/unicode-test.ll +++ b/bench/fmt/optimized/unicode-test.ll @@ -39371,13 +39371,13 @@ _ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c.exit: ; preds = %14, %16 %18 = load ptr, ptr %0, align 8, !tbaa !20 %19 = getelementptr inbounds nuw i8, ptr %0, i64 8 %20 = load ptr, ptr %19, align 8, !tbaa !20 - %.not3941 = icmp eq ptr %18, %20 - br i1 %.not3941, label %._crit_edge.thread, label %.lr.ph + %.not3840 = icmp eq ptr %18, %20 + br i1 %.not3840, label %._crit_edge.thread, label %.lr.ph .lr.ph: ; preds = %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c.exit, %45 - %.043 = phi i64 [ %46, %45 ], [ 0, %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c.exit ] - %.sroa.030.042 = phi ptr [ %47, %45 ], [ %18, %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c.exit ] - %.not = icmp eq i64 %.043, 0 + %.042 = phi i64 [ %46, %45 ], [ 0, %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c.exit ] + %.sroa.029.041 = phi ptr [ %47, %45 ], [ %18, %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c.exit ] + %.not = icmp eq i64 %.042, 0 br i1 %.not, label %33, label %21 21: ; preds = %.lr.ph @@ -39389,23 +39389,23 @@ _ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c.exit: ; preds = %14, %16 %25 = getelementptr inbounds i8, ptr %1, i64 %24 %26 = getelementptr inbounds nuw i8, ptr %25, i64 16 %27 = load i64, ptr %26, align 8, !tbaa !645 - %.not.i18 = icmp eq i64 %27, 0 - br i1 %.not.i18, label %30, label %28 + %.not.i17 = icmp eq i64 %27, 0 + br i1 %.not.i17, label %30, label %28 28: ; preds = %21 %29 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l(ptr noundef nonnull align 8 dereferenceable(8) %1, ptr noundef nonnull %6, i64 noundef 1) - br label %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c.exit20 + br label %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c.exit19 30: ; preds = %21 %31 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSo3putEc(ptr noundef nonnull align 8 dereferenceable(8) %1, i8 noundef signext 44) - br label %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c.exit20 + br label %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c.exit19 -_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c.exit20: ; preds = %28, %30 +_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c.exit19: ; preds = %28, %30 call void @llvm.lifetime.end.p0(ptr nonnull %6) - %32 = icmp eq i64 %.043, 32 - br i1 %32, label %.thread36, label %33 + %32 = icmp eq i64 %.042, 32 + br i1 %32, label %.thread35, label %33 -33: ; preds = %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c.exit20, %.lr.ph +33: ; preds = %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c.exit19, %.lr.ph call void @llvm.lifetime.start.p0(ptr nonnull %5) store i8 32, ptr %5, align 1, !tbaa !27 %34 = load ptr, ptr %1, align 8, !tbaa !4 @@ -39414,8 +39414,8 @@ _ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c.exit20: ; preds = %28, %30 %37 = getelementptr inbounds i8, ptr %1, i64 %36 %38 = getelementptr inbounds nuw i8, ptr %37, i64 16 %39 = load i64, ptr %38, align 8, !tbaa !645 - %.not.i21 = icmp eq i64 %39, 0 - br i1 %.not.i21, label %42, label %40 + %.not.i20 = icmp eq i64 %39, 0 + br i1 %.not.i20, label %42, label %40 40: ; preds = %33 %41 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l(ptr noundef nonnull align 8 dereferenceable(8) %1, ptr noundef nonnull %5, i64 noundef 1) @@ -39425,23 +39425,23 @@ _ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c.exit20: ; preds = %28, %30 %43 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSo3putEc(ptr noundef nonnull align 8 dereferenceable(8) %1, i8 noundef signext 32) br label %45 -.thread36: ; preds = %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c.exit20 +.thread35: ; preds = %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c.exit19 %44 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l(ptr noundef nonnull align 8 dereferenceable(8) %1, ptr noundef nonnull @.str.132, i64 noundef 4) br label %49 45: ; preds = %42, %40 call void @llvm.lifetime.end.p0(ptr nonnull %5) - call void @_ZN7testing8internal13PrintStringToERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPSo(ptr noundef nonnull align 8 dereferenceable(32) %.sroa.030.042, ptr noundef nonnull %1) - %46 = add i64 %.043, 1 - %47 = getelementptr inbounds nuw i8, ptr %.sroa.030.042, i64 32 - %.not39 = icmp eq ptr %47, %20 - br i1 %.not39, label %._crit_edge, label %.lr.ph + call void @_ZN7testing8internal13PrintStringToERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPSo(ptr noundef nonnull align 8 dereferenceable(32) %.sroa.029.041, ptr noundef nonnull %1) + %46 = add i64 %.042, 1 + %47 = getelementptr inbounds nuw i8, ptr %.sroa.029.041, i64 32 + %.not38 = icmp eq ptr %47, %20 + br i1 %.not38, label %._crit_edge, label %.lr.ph ._crit_edge: ; preds = %45 %48 = icmp eq i64 %46, 0 br i1 %48, label %._crit_edge.thread, label %49 -49: ; preds = %.thread36, %._crit_edge +49: ; preds = %.thread35, %._crit_edge call void @llvm.lifetime.start.p0(ptr nonnull %4) store i8 32, ptr %4, align 1, !tbaa !27 %50 = load ptr, ptr %1, align 8, !tbaa !4 @@ -39450,22 +39450,22 @@ _ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c.exit20: ; preds = %28, %30 %53 = getelementptr inbounds i8, ptr %1, i64 %52 %54 = getelementptr inbounds nuw i8, ptr %53, i64 16 %55 = load i64, ptr %54, align 8, !tbaa !645 - %.not.i24 = icmp eq i64 %55, 0 - br i1 %.not.i24, label %58, label %56 + %.not.i23 = icmp eq i64 %55, 0 + br i1 %.not.i23, label %58, label %56 56: ; preds = %49 %57 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l(ptr noundef nonnull align 8 dereferenceable(8) %1, ptr noundef nonnull %4, i64 noundef 1) - br label %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c.exit26 + br label %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c.exit25 58: ; preds = %49 %59 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSo3putEc(ptr noundef nonnull align 8 dereferenceable(8) %1, i8 noundef signext 32) - br label %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c.exit26 + br label %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c.exit25 -_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c.exit26: ; preds = %56, %58 +_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c.exit25: ; preds = %56, %58 call void @llvm.lifetime.end.p0(ptr nonnull %4) br label %._crit_edge.thread -._crit_edge.thread: ; preds = %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c.exit, %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c.exit26, %._crit_edge +._crit_edge.thread: ; preds = %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c.exit, %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c.exit25, %._crit_edge call void @llvm.lifetime.start.p0(ptr nonnull %3) store i8 125, ptr %3, align 1, !tbaa !27 %60 = load ptr, ptr %1, align 8, !tbaa !4 @@ -39474,18 +39474,18 @@ _ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c.exit26: ; preds = %56, %58 %63 = getelementptr inbounds i8, ptr %1, i64 %62 %64 = getelementptr inbounds nuw i8, ptr %63, i64 16 %65 = load i64, ptr %64, align 8, !tbaa !645 - %.not.i27 = icmp eq i64 %65, 0 - br i1 %.not.i27, label %68, label %66 + %.not.i26 = icmp eq i64 %65, 0 + br i1 %.not.i26, label %68, label %66 66: ; preds = %._crit_edge.thread %67 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l(ptr noundef nonnull align 8 dereferenceable(8) %1, ptr noundef nonnull %3, i64 noundef 1) - br label %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c.exit29 + br label %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c.exit28 68: ; preds = %._crit_edge.thread %69 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSo3putEc(ptr noundef nonnull align 8 dereferenceable(8) %1, i8 noundef signext 125) - br label %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c.exit29 + br label %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c.exit28 -_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c.exit29: ; preds = %66, %68 +_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c.exit28: ; preds = %66, %68 call void @llvm.lifetime.end.p0(ptr nonnull %3) ret void } diff --git a/bench/folly/optimized/AsyncSocket.ll b/bench/folly/optimized/AsyncSocket.ll index 3be1917658e..da64e62feba 100644 --- a/bench/folly/optimized/AsyncSocket.ll +++ b/bench/folly/optimized/AsyncSocket.ll @@ -20826,7 +20826,7 @@ define linkonce_odr void @_ZN5folly22ObserverContainerStoreINS_21ObserverContain %6 = getelementptr inbounds nuw i8, ptr %0, i64 48 %7 = load i8, ptr %6, align 8, !tbaa !583, !range !20, !noundef !233 %8 = trunc nuw i8 %7 to i1 - br i1 %8, label %9, label %.critedge18, !prof !184 + br i1 %8, label %9, label %.critedge17, !prof !184 9: ; preds = %3 call void @llvm.lifetime.start.p0(ptr nonnull %4) @@ -20845,17 +20845,17 @@ _ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc.exit: ; preds = %12 %14 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l(ptr noundef nonnull align 8 dereferenceable(8) %11, ptr noundef nonnull @.str.32, i64 noundef 52) to label %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc.exit21 unwind label %.loopexit.split-lp -_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc.exit21: ; preds = %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc.exit +_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc.exit20: ; preds = %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc.exit call void @_ZN6google15LogMessageFatalD1Ev(ptr noundef nonnull align 8 dereferenceable(16) %4) #50 unreachable -.critedge18: ; preds = %3 +.critedge17: ; preds = %3 %15 = getelementptr inbounds nuw i8, ptr %0, i64 56 %16 = load i8, ptr %15, align 8, !tbaa !628, !range !20, !noundef !233 %17 = trunc nuw i8 %16 to i1 br i1 %17, label %18, label %24, !prof !184 -18: ; preds = %.critedge18 +18: ; preds = %.critedge17 call void @llvm.lifetime.start.p0(ptr nonnull %5) invoke void @_ZN6google15LogMessageFatalC1EPKci(ptr noundef nonnull align 8 dereferenceable(16) %5, ptr noundef nonnull @.str.22, i32 noundef 251) to label %19 unwind label %.loopexit.split-lp @@ -20868,15 +20868,15 @@ _ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc.exit21: ; preds = %_ZStl %22 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l(ptr noundef nonnull align 8 dereferenceable(8) %20, ptr noundef nonnull @.str.33, i64 noundef 56) to label %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc.exit22 unwind label %.loopexit.split-lp -_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc.exit22: ; preds = %21 +_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc.exit21: ; preds = %21 %23 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l(ptr noundef nonnull align 8 dereferenceable(8) %20, ptr noundef nonnull @.str.32, i64 noundef 52) to label %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc.exit23 unwind label %.loopexit.split-lp -_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc.exit23: ; preds = %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc.exit22 +_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc.exit22: ; preds = %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc.exit21 call void @_ZN6google15LogMessageFatalD1Ev(ptr noundef nonnull align 8 dereferenceable(16) %5) #50 unreachable -24: ; preds = %.critedge18 +24: ; preds = %.critedge17 %25 = getelementptr inbounds nuw i8, ptr %0, i64 52 store i8 1, ptr %6, align 8, !tbaa !583 store i8 1, ptr %15, align 8, !tbaa !628 @@ -20890,26 +20890,26 @@ _ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc.exit23: ; preds = %_ZStl br i1 %29, label %.split, label %.split.us .split.us: ; preds = %24 - %.not38 = icmp eq i64 %28, 0 - br i1 %.not38, label %.split32, label %.critedge.us + %.not37 = icmp eq i64 %28, 0 + br i1 %.not37, label %.split31, label %.critedge.us ._crit_edge.loopexit: ; preds = %_ZN5folly6detail8function14FunctionTraitsIFvRSt10shared_ptrINS_21ObserverContainerBaseINS_28AsyncSocketObserverInterfaceENS_11AsyncSocketENS_34ObserverContainerBasePolicyDefaultINS5_6EventsELm32EEEE8ObserverEEEEclESD_.exit.us %.pre = load i64, ptr %26, align 8, !tbaa !203 - %.pre45 = and i64 %.pre, 4611686018427387903 - br label %.split32 + %.pre44 = and i64 %.pre, 4611686018427387903 + br label %.split31 .critedge.us: ; preds = %.split.us, %_ZN5folly6detail8function14FunctionTraitsIFvRSt10shared_ptrINS_21ObserverContainerBaseINS_28AsyncSocketObserverInterfaceENS_11AsyncSocketENS_34ObserverContainerBasePolicyDefaultINS5_6EventsELm32EEEE8ObserverEEEEclESD_.exit.us - %.012.us37 = phi i64 [ %41, %_ZN5folly6detail8function14FunctionTraitsIFvRSt10shared_ptrINS_21ObserverContainerBaseINS_28AsyncSocketObserverInterfaceENS_11AsyncSocketENS_34ObserverContainerBasePolicyDefaultINS5_6EventsELm32EEEE8ObserverEEEEclESD_.exit.us ], [ 0, %.split.us ] + %.012.us36 = phi i64 [ %41, %_ZN5folly6detail8function14FunctionTraitsIFvRSt10shared_ptrINS_21ObserverContainerBaseINS_28AsyncSocketObserverInterfaceENS_11AsyncSocketENS_34ObserverContainerBasePolicyDefaultINS5_6EventsELm32EEEE8ObserverEEEEclESD_.exit.us ], [ 0, %.split.us ] %32 = load i64, ptr %26, align 8, !tbaa !203 %33 = and i64 %32, 4611686018427387903 - %.not.i.us = icmp samesign ult i64 %.012.us37, %33 - br i1 %.not.i.us, label %34, label %.split35.us + %.not.i.us = icmp samesign ult i64 %.012.us36, %33 + br i1 %.not.i.us, label %34, label %.split34.us 34: ; preds = %.critedge.us %35 = load ptr, ptr %30, align 8 %.not1.i.i.i.i.us = icmp slt i64 %32, 0 %36 = select i1 %.not1.i.i.i.i.us, ptr %35, ptr %30 - %37 = getelementptr inbounds nuw %"class.std::shared_ptr.16", ptr %36, i64 %.012.us37 + %37 = getelementptr inbounds nuw %"class.std::shared_ptr.16", ptr %36, i64 %.012.us36 %38 = load ptr, ptr %37, align 8, !tbaa !333 %.not.us = icmp eq ptr %38, null br i1 %.not.us, label %_ZN5folly6detail8function14FunctionTraitsIFvRSt10shared_ptrINS_21ObserverContainerBaseINS_28AsyncSocketObserverInterfaceENS_11AsyncSocketENS_34ObserverContainerBasePolicyDefaultINS5_6EventsELm32EEEE8ObserverEEEEclESD_.exit.us, label %39 @@ -20920,7 +20920,7 @@ _ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc.exit23: ; preds = %_ZStl to label %_ZN5folly6detail8function14FunctionTraitsIFvRSt10shared_ptrINS_21ObserverContainerBaseINS_28AsyncSocketObserverInterfaceENS_11AsyncSocketENS_34ObserverContainerBasePolicyDefaultINS5_6EventsELm32EEEE8ObserverEEEEclESD_.exit.us unwind label %.loopexit.split.us _ZN5folly6detail8function14FunctionTraitsIFvRSt10shared_ptrINS_21ObserverContainerBaseINS_28AsyncSocketObserverInterfaceENS_11AsyncSocketENS_34ObserverContainerBasePolicyDefaultINS5_6EventsELm32EEEE8ObserverEEEEclESD_.exit.us: ; preds = %39, %34 - %41 = add nuw nsw i64 %.012.us37, 1 + %41 = add nuw nsw i64 %.012.us36, 1 %exitcond.not = icmp eq i64 %41, %28 br i1 %exitcond.not, label %._crit_edge.loopexit, label %.critedge.us, !llvm.loop !634 @@ -20930,29 +20930,29 @@ _ZN5folly6detail8function14FunctionTraitsIFvRSt10shared_ptrINS_21ObserverContain br label %.loopexit .split: ; preds = %24, %_ZN5folly6detail8function14FunctionTraitsIFvRSt10shared_ptrINS_21ObserverContainerBaseINS_28AsyncSocketObserverInterfaceENS_11AsyncSocketENS_34ObserverContainerBasePolicyDefaultINS5_6EventsELm32EEEE8ObserverEEEEclESD_.exit - %.pre41.pre43 = phi i64 [ %.pre41.pre, %_ZN5folly6detail8function14FunctionTraitsIFvRSt10shared_ptrINS_21ObserverContainerBaseINS_28AsyncSocketObserverInterfaceENS_11AsyncSocketENS_34ObserverContainerBasePolicyDefaultINS5_6EventsELm32EEEE8ObserverEEEEclESD_.exit ], [ %27, %24 ] + %.pre40.pre42 = phi i64 [ %.pre40.pre, %_ZN5folly6detail8function14FunctionTraitsIFvRSt10shared_ptrINS_21ObserverContainerBaseINS_28AsyncSocketObserverInterfaceENS_11AsyncSocketENS_34ObserverContainerBasePolicyDefaultINS5_6EventsELm32EEEE8ObserverEEEEclESD_.exit ], [ %27, %24 ] %.012 = phi i64 [ %69, %_ZN5folly6detail8function14FunctionTraitsIFvRSt10shared_ptrINS_21ObserverContainerBaseINS_28AsyncSocketObserverInterfaceENS_11AsyncSocketENS_34ObserverContainerBasePolicyDefaultINS5_6EventsELm32EEEE8ObserverEEEEclESD_.exit ], [ 0, %24 ] %42 = icmp samesign ult i64 %.012, %28 - %.pre46 = and i64 %.pre41.pre43, 4611686018427387903 - %43 = icmp samesign ult i64 %.012, %.pre46 + %.pre45 = and i64 %.pre40.pre42, 4611686018427387903 + %43 = icmp samesign ult i64 %.012, %.pre45 br i1 %42, label %.critedge, label %44 44: ; preds = %.split - br i1 %43, label %.critedge.thread, label %.split32 + br i1 %43, label %.critedge.thread, label %.split31 -.split32: ; preds = %44, %.split.us, %._crit_edge.loopexit - %.us-phi = phi i64 [ %.pre, %._crit_edge.loopexit ], [ %27, %.split.us ], [ %.pre41.pre43, %44 ] - %.us-phi33 = phi i64 [ %.pre45, %._crit_edge.loopexit ], [ 0, %.split.us ], [ %.pre46, %44 ] +.split31: ; preds = %44, %.split.us, %._crit_edge.loopexit + %.us-phi = phi i64 [ %.pre, %._crit_edge.loopexit ], [ %27, %.split.us ], [ %.pre40.pre42, %44 ] + %.us-phi32 = phi i64 [ %.pre44, %._crit_edge.loopexit ], [ 0, %.split.us ], [ %.pre45, %44 ] %45 = getelementptr inbounds nuw i8, ptr %0, i64 60 %46 = load i8, ptr %45, align 4, !tbaa !585, !range !20, !noundef !233 %47 = trunc nuw i8 %46 to i1 br i1 %47, label %48, label %_ZN5folly6detail14ScopeGuardImplIZNS_22ObserverContainerStoreINS_21ObserverContainerBaseINS_28AsyncSocketObserverInterfaceENS_11AsyncSocketENS_34ObserverContainerBasePolicyDefaultINS4_6EventsELm32EEEE8ObserverENS_35ObserverContainerStorePolicyDefaultILj2EEEE21invokeForEachObserverEONS_8FunctionIFvRSt10shared_ptrISA_EEEENS_26ObserverContainerStoreBaseISA_E26InvokeWhileIteratingPolicyEEUlvE_Lb1EED2Ev.exit -48: ; preds = %.split32 +48: ; preds = %.split31 %49 = load ptr, ptr %30, align 8 %.not1.i.i.i.i.i = icmp slt i64 %.us-phi, 0 %50 = select i1 %.not1.i.i.i.i.i, ptr %49, ptr %30 - %51 = getelementptr inbounds nuw %"class.std::shared_ptr.16", ptr %50, i64 %.us-phi33 + %51 = getelementptr inbounds nuw %"class.std::shared_ptr.16", ptr %50, i64 %.us-phi32 %52 = invoke noundef ptr @_ZSt11__remove_ifIPSt10shared_ptrIN5folly21ObserverContainerBaseINS1_28AsyncSocketObserverInterfaceENS1_11AsyncSocketENS1_34ObserverContainerBasePolicyDefaultINS3_6EventsELm32EEEE8ObserverEEN9__gnu_cxx5__ops10_Iter_predIZZNS1_22ObserverContainerStoreIS9_NS1_35ObserverContainerStorePolicyDefaultILj2EEEE21invokeForEachObserverEONS1_8FunctionIFvRSA_EEENS1_26ObserverContainerStoreBaseIS9_E26InvokeWhileIteratingPolicyEENKUlvE_clEvEUlRKT_E_EEESS_SS_SS_T0_(ptr noundef %50, ptr noundef %51) to label %53 unwind label %60 @@ -20973,25 +20973,25 @@ _ZN5folly6detail8function14FunctionTraitsIFvRSt10shared_ptrINS_21ObserverContain tail call void @__clang_call_terminate(ptr %62) #50 unreachable -_ZN5folly6detail14ScopeGuardImplIZNS_22ObserverContainerStoreINS_21ObserverContainerBaseINS_28AsyncSocketObserverInterfaceENS_11AsyncSocketENS_34ObserverContainerBasePolicyDefaultINS4_6EventsELm32EEEE8ObserverENS_35ObserverContainerStorePolicyDefaultILj2EEEE21invokeForEachObserverEONS_8FunctionIFvRSt10shared_ptrISA_EEEENS_26ObserverContainerStoreBaseISA_E26InvokeWhileIteratingPolicyEEUlvE_Lb1EED2Ev.exit: ; preds = %.split32, %53 +_ZN5folly6detail14ScopeGuardImplIZNS_22ObserverContainerStoreINS_21ObserverContainerBaseINS_28AsyncSocketObserverInterfaceENS_11AsyncSocketENS_34ObserverContainerBasePolicyDefaultINS4_6EventsELm32EEEE8ObserverENS_35ObserverContainerStorePolicyDefaultILj2EEEE21invokeForEachObserverEONS_8FunctionIFvRSt10shared_ptrISA_EEEENS_26ObserverContainerStoreBaseISA_E26InvokeWhileIteratingPolicyEEUlvE_Lb1EED2Ev.exit: ; preds = %.split31, %53 store i8 0, ptr %6, align 8, !tbaa !583 store i8 0, ptr %15, align 8, !tbaa !584 store i8 0, ptr %45, align 4, !tbaa !585 ret void .critedge: ; preds = %.split - br i1 %43, label %.critedge.thread, label %.split35.us + br i1 %43, label %.critedge.thread, label %.split34.us -.split35.us: ; preds = %.critedge.us, %.critedge +.split34.us: ; preds = %.critedge.us, %.critedge invoke void @_ZN5folly6detail16throw_exception_ISt12out_of_rangeJPKcEEEvDpT0_(ptr noundef nonnull @.str.34) #21 to label %.noexc unwind label %.loopexit.split-lp -.noexc: ; preds = %.split35.us +.noexc: ; preds = %.split34.us unreachable .critedge.thread: ; preds = %44, %.critedge %63 = load ptr, ptr %30, align 8 - %.not1.i.i.i.i = icmp slt i64 %.pre41.pre43, 0 + %.not1.i.i.i.i = icmp slt i64 %.pre40.pre42, 0 %64 = select i1 %.not1.i.i.i.i, ptr %63, ptr %30 %65 = getelementptr inbounds nuw %"class.std::shared_ptr.16", ptr %64, i64 %.012 %66 = load ptr, ptr %65, align 8, !tbaa !333 @@ -21004,11 +21004,11 @@ _ZN5folly6detail14ScopeGuardImplIZNS_22ObserverContainerStoreINS_21ObserverConta to label %._ZN5folly6detail8function14FunctionTraitsIFvRSt10shared_ptrINS_21ObserverContainerBaseINS_28AsyncSocketObserverInterfaceENS_11AsyncSocketENS_34ObserverContainerBasePolicyDefaultINS5_6EventsELm32EEEE8ObserverEEEEclESD_.exit_crit_edge unwind label %.loopexit.split ._ZN5folly6detail8function14FunctionTraitsIFvRSt10shared_ptrINS_21ObserverContainerBaseINS_28AsyncSocketObserverInterfaceENS_11AsyncSocketENS_34ObserverContainerBasePolicyDefaultINS5_6EventsELm32EEEE8ObserverEEEEclESD_.exit_crit_edge: ; preds = %67 - %.pre41.pre.pre = load i64, ptr %26, align 8, !tbaa !203 + %.pre40.pre.pre = load i64, ptr %26, align 8, !tbaa !203 br label %_ZN5folly6detail8function14FunctionTraitsIFvRSt10shared_ptrINS_21ObserverContainerBaseINS_28AsyncSocketObserverInterfaceENS_11AsyncSocketENS_34ObserverContainerBasePolicyDefaultINS5_6EventsELm32EEEE8ObserverEEEEclESD_.exit _ZN5folly6detail8function14FunctionTraitsIFvRSt10shared_ptrINS_21ObserverContainerBaseINS_28AsyncSocketObserverInterfaceENS_11AsyncSocketENS_34ObserverContainerBasePolicyDefaultINS5_6EventsELm32EEEE8ObserverEEEEclESD_.exit: ; preds = %._ZN5folly6detail8function14FunctionTraitsIFvRSt10shared_ptrINS_21ObserverContainerBaseINS_28AsyncSocketObserverInterfaceENS_11AsyncSocketENS_34ObserverContainerBasePolicyDefaultINS5_6EventsELm32EEEE8ObserverEEEEclESD_.exit_crit_edge, %.critedge.thread - %.pre41.pre = phi i64 [ %.pre41.pre.pre, %._ZN5folly6detail8function14FunctionTraitsIFvRSt10shared_ptrINS_21ObserverContainerBaseINS_28AsyncSocketObserverInterfaceENS_11AsyncSocketENS_34ObserverContainerBasePolicyDefaultINS5_6EventsELm32EEEE8ObserverEEEEclESD_.exit_crit_edge ], [ %.pre41.pre43, %.critedge.thread ] + %.pre40.pre = phi i64 [ %.pre40.pre.pre, %._ZN5folly6detail8function14FunctionTraitsIFvRSt10shared_ptrINS_21ObserverContainerBaseINS_28AsyncSocketObserverInterfaceENS_11AsyncSocketENS_34ObserverContainerBasePolicyDefaultINS5_6EventsELm32EEEE8ObserverEEEEclESD_.exit_crit_edge ], [ %.pre40.pre42, %.critedge.thread ] %69 = add nuw nsw i64 %.012, 1 br label %.split, !llvm.loop !634 @@ -21017,7 +21017,7 @@ _ZN5folly6detail8function14FunctionTraitsIFvRSt10shared_ptrINS_21ObserverContain catch ptr null br label %.loopexit -.loopexit.split-lp: ; preds = %9, %10, %18, %19, %12, %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc.exit, %21, %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc.exit22, %.split35.us +.loopexit.split-lp: ; preds = %9, %10, %18, %19, %12, %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc.exit, %21, %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc.exit21, %.split34.us %lpad.loopexit.split-lp = landingpad { ptr, i32 } catch ptr null br label %.loopexit diff --git a/bench/git/optimized/diffcore-rename.ll b/bench/git/optimized/diffcore-rename.ll index 4ec78535c4e..28d39649b7a 100644 --- a/bench/git/optimized/diffcore-rename.ll +++ b/bench/git/optimized/diffcore-rename.ll @@ -178,9 +178,9 @@ define dso_local void @diffcore_rename_extended(ptr noundef captures(none) %0, p 38: ; preds = %6 %or.cond = select i1 %37, i1 true, i1 %35 - br i1 %or.cond, label %40, label %.thread474 + br i1 %or.cond, label %40, label %.thread467 -.thread474: ; preds = %38 +.thread467: ; preds = %38 %39 = icmp ne ptr %2, null br label %44 @@ -197,7 +197,7 @@ define dso_local void @diffcore_rename_extended(ptr noundef captures(none) %0, p tail call void (ptr, i32, ptr, ...) @BUG_fl(ptr noundef nonnull @.str, i32 noundef 1414, ptr noundef nonnull @.str.4) #15 unreachable -44: ; preds = %.thread474, %41 +44: ; preds = %.thread467, %41 %45 = phi i1 [ %39, %.thread474 ], [ %42, %41 ] %.not198 = icmp eq i32 %29, 0 %spec.store.select = select i1 %.not198, i32 30000, i32 %29 @@ -497,8 +497,8 @@ hash_filespec.exit.i.i: ; preds = %189, %180 store ptr null, ptr %18, align 8, !tbaa !101 %190 = call ptr @hashmap_get(ptr noundef nonnull %19, ptr noundef nonnull %18, ptr noundef null) #14 call void @llvm.lifetime.end.p0(ptr nonnull %18) - %.not76.i.i = icmp eq ptr %190, null - br i1 %.not76.i.i, label %find_identical_files.exit.i, label %.lr.ph.i.i + %.not75.i.i = icmp eq ptr %190, null + br i1 %.not75.i.i, label %find_identical_files.exit.i, label %.lr.ph.i.i .lr.ph.i.i: ; preds = %hash_filespec.exit.i.i %191 = getelementptr inbounds nuw i8, ptr %175, i64 80 @@ -506,15 +506,15 @@ hash_filespec.exit.i.i: ; preds = %189, %180 br label %193 193: ; preds = %.thread.i.i, %.lr.ph.i.i - %.03380.i.i = phi ptr [ %190, %.lr.ph.i.i ], [ %244, %.thread.i.i ] - %.03479.i.i = phi i32 [ -1, %.lr.ph.i.i ], [ %.163.i.i, %.thread.i.i ] - %.03578.i.i = phi i32 [ 100, %.lr.ph.i.i ], [ %.13662.i.i, %.thread.i.i ] - %.03777.i.i = phi ptr [ null, %.lr.ph.i.i ], [ %.23961.i.i, %.thread.i.i ] - %194 = getelementptr inbounds nuw i8, ptr %.03380.i.i, i64 24 + %.03379.i.i = phi ptr [ %190, %.lr.ph.i.i ], [ %244, %.thread.i.i ] + %.03478.i.i = phi i32 [ -1, %.lr.ph.i.i ], [ %.162.i.i, %.thread.i.i ] + %.03577.i.i = phi i32 [ 100, %.lr.ph.i.i ], [ %.13661.i.i, %.thread.i.i ] + %.03776.i.i = phi ptr [ null, %.lr.ph.i.i ], [ %.23960.i.i, %.thread.i.i ] + %194 = getelementptr inbounds nuw i8, ptr %.03379.i.i, i64 24 %195 = load ptr, ptr %194, align 8, !tbaa !97 %bcmp.i.i.i = call i32 @bcmp(ptr noundef nonnull readonly dereferenceable(32) %195, ptr noundef nonnull readonly dereferenceable(32) %175, i64 32) - %.not.i52.not.i.i = icmp eq i32 %bcmp.i.i.i, 0 - br i1 %.not.i52.not.i.i, label %196, label %.thread.i.i + %.not.i51.not.i.i = icmp eq i32 %bcmp.i.i.i, 0 + br i1 %.not.i51.not.i.i, label %196, label %.thread.i.i 196: ; preds = %193 %197 = getelementptr inbounds nuw i8, ptr %195, i64 80 @@ -523,28 +523,28 @@ hash_filespec.exit.i.i: ; preds = %189, %180 %.pre.i.i = load i16, ptr %191, align 8, !tbaa !59 %200 = icmp slt i16 %.pre.i.i, -28672 %or.cond.i.i = select i1 %199, i1 %200, i1 false - %.not45.i.i = icmp eq i16 %198, %.pre.i.i - %or.cond104.i.i = select i1 %or.cond.i.i, i1 true, i1 %.not45.i.i - br i1 %or.cond104.i.i, label %201, label %.thread.i.i + %.not44.i.i = icmp eq i16 %198, %.pre.i.i + %or.cond100.i.i = select i1 %or.cond.i.i, i1 true, i1 %.not44.i.i + br i1 %or.cond100.i.i, label %201, label %.thread.i.i 201: ; preds = %196 %202 = getelementptr inbounds nuw i8, ptr %195, i64 76 %203 = load i32, ptr %202, align 4, !tbaa !89 - %.not46.i.i = icmp eq i32 %203, 0 - %204 = zext i1 %.not46.i.i to i32 - br i1 %.not46.i.i, label %207, label %205 + %.not45.i.i = icmp eq i32 %203, 0 + %204 = zext i1 %.not45.i.i to i32 + br i1 %.not45.i.i, label %207, label %205 205: ; preds = %201 %206 = load i32, ptr %26, align 4, !tbaa !25 - %.not47.i.i = icmp eq i32 %206, 2 - br i1 %.not47.i.i, label %207, label %.thread.i.i + %.not46.i.i = icmp eq i32 %206, 2 + br i1 %.not46.i.i, label %207, label %.thread.i.i 207: ; preds = %205, %201 %208 = getelementptr i8, ptr %195, i64 40 %.val.i.i = load ptr, ptr %208, align 8, !tbaa !61 - %.val51.i.i = load ptr, ptr %192, align 8, !tbaa !61 + %.val50.i.i = load ptr, ptr %192, align 8, !tbaa !61 %209 = call i64 @strlen(ptr noundef nonnull readonly dereferenceable(1) %.val.i.i) #16 - %210 = call i64 @strlen(ptr noundef nonnull readonly dereferenceable(1) %.val51.i.i) #16 + %210 = call i64 @strlen(ptr noundef nonnull readonly dereferenceable(1) %.val50.i.i) #16 %sext.i.i.i = shl i64 %210, 32 %211 = ashr exact i64 %sext.i.i.i, 32 %sext19.i.i.i = shl i64 %209, 32 @@ -565,13 +565,13 @@ hash_filespec.exit.i.i: ; preds = %189, %180 %218 = getelementptr inbounds i8, ptr %.val.i.i, i64 %indvars.iv.next15.i.i.i %219 = load i8, ptr %218, align 1, !tbaa !103 %indvars.iv.next.i.i.i = add nsw i64 %indvars.iv.i.i.i, -1 - %220 = getelementptr inbounds i8, ptr %.val51.i.i, i64 %indvars.iv.next.i.i.i + %220 = getelementptr inbounds i8, ptr %.val50.i.i, i64 %indvars.iv.next.i.i.i %221 = load i8, ptr %220, align 1, !tbaa !103 - %.not.i53.i.i = icmp eq i8 %219, %221 + %.not.i52.i.i = icmp eq i8 %219, %221 %222 = icmp ne i8 %219, 47 %..018.i.i.i = select i1 %222, i32 %.018.i.i.i, i32 1 - %.1.i.i.i = select i1 %.not.i53.i.i, i32 %..018.i.i.i, i32 0 - %cond.i.i.i = and i1 %222, %.not.i53.i.i + %.1.i.i.i = select i1 %.not.i52.i.i, i32 %..018.i.i.i, i32 0 + %cond.i.i.i = and i1 %222, %.not.i52.i.i br i1 %cond.i.i.i, label %213, label %basename_same.exit.i.i, !llvm.loop !104 223: ; preds = %213 @@ -594,7 +594,7 @@ hash_filespec.exit.i.i: ; preds = %189, %180 231: ; preds = %230, %224 %sext21.i.i.i = shl i64 %indvars.iv.i.i.i, 32 %232 = ashr exact i64 %sext21.i.i.i, 32 - %233 = getelementptr i8, ptr %.val51.i.i, i64 %232 + %233 = getelementptr i8, ptr %.val50.i.i, i64 %232 %234 = getelementptr i8, ptr %233, i64 -1 %235 = load i8, ptr %234, align 1, !tbaa !103 %236 = icmp eq i8 %235, 47 @@ -604,42 +604,42 @@ hash_filespec.exit.i.i: ; preds = %189, %180 basename_same.exit.i.i: ; preds = %217, %231, %230, %224 %.2.i.i.i = phi i32 [ %.mux.i.i.i, %224 ], [ 1, %230 ], [ %237, %231 ], [ %.1.i.i.i, %217 ] %238 = add nsw i32 %.2.i.i.i, %204 - %239 = icmp sgt i32 %238, %.03479.i.i + %239 = icmp sgt i32 %238, %.03478.i.i br i1 %239, label %240, label %242 240: ; preds = %basename_same.exit.i.i %241 = icmp eq i32 %238, 2 - br i1 %241, label %.thread64.i.i, label %242 + br i1 %241, label %.thread63.i.i, label %242 242: ; preds = %240, %basename_same.exit.i.i - %.3.i.i = phi ptr [ %.03380.i.i, %240 ], [ %.03777.i.i, %basename_same.exit.i.i ] - %.2.i.i = phi i32 [ %238, %240 ], [ %.03479.i.i, %basename_same.exit.i.i ] - %243 = add nsw i32 %.03578.i.i, -1 - %.not48.i.i = icmp eq i32 %243, 0 - br i1 %.not48.i.i, label %.thread64.i.i, label %.thread.i.i + %.3.i.i = phi ptr [ %.03379.i.i, %240 ], [ %.03776.i.i, %basename_same.exit.i.i ] + %.2.i.i = phi i32 [ %238, %240 ], [ %.03478.i.i, %basename_same.exit.i.i ] + %243 = add nsw i32 %.03577.i.i, -1 + %.not47.i.i = icmp eq i32 %243, 0 + br i1 %.not47.i.i, label %.thread63.i.i, label %.thread.i.i .thread.i.i: ; preds = %242, %205, %196, %193 - %.163.i.i = phi i32 [ %.2.i.i, %242 ], [ %.03479.i.i, %193 ], [ %.03479.i.i, %205 ], [ %.03479.i.i, %196 ] - %.13662.i.i = phi i32 [ %243, %242 ], [ %.03578.i.i, %193 ], [ %.03578.i.i, %205 ], [ %.03578.i.i, %196 ] - %.23961.i.i = phi ptr [ %.3.i.i, %242 ], [ %.03777.i.i, %193 ], [ %.03777.i.i, %205 ], [ %.03777.i.i, %196 ] - %244 = call ptr @hashmap_get_next(ptr noundef nonnull %19, ptr noundef nonnull %.03380.i.i) #14 + %.162.i.i = phi i32 [ %.2.i.i, %242 ], [ %.03478.i.i, %193 ], [ %.03478.i.i, %205 ], [ %.03478.i.i, %196 ] + %.13661.i.i = phi i32 [ %243, %242 ], [ %.03577.i.i, %193 ], [ %.03577.i.i, %205 ], [ %.03577.i.i, %196 ] + %.23960.i.i = phi ptr [ %.3.i.i, %242 ], [ %.03776.i.i, %193 ], [ %.03776.i.i, %205 ], [ %.03776.i.i, %196 ] + %244 = call ptr @hashmap_get_next(ptr noundef nonnull %19, ptr noundef nonnull %.03379.i.i) #14 %.not.i.i238 = icmp eq ptr %244, null - br i1 %.not.i.i238, label %.thread64.i.i, label %193, !llvm.loop !105 + br i1 %.not.i.i238, label %.thread63.i.i, label %193, !llvm.loop !105 -.thread64.i.i: ; preds = %.thread.i.i, %242, %240 - %.138.i.i = phi ptr [ %.23961.i.i, %.thread.i.i ], [ %.3.i.i, %242 ], [ %.03380.i.i, %240 ] - %.not49.i.i = icmp eq ptr %.138.i.i, null - br i1 %.not49.i.i, label %find_identical_files.exit.i, label %245 +.thread63.i.i: ; preds = %.thread.i.i, %242, %240 + %.138.i.i = phi ptr [ %.23960.i.i, %.thread.i.i ], [ %.3.i.i, %242 ], [ %.03379.i.i, %240 ] + %.not48.i.i = icmp eq ptr %.138.i.i, null + br i1 %.not48.i.i, label %find_identical_files.exit.i, label %245 -245: ; preds = %.thread64.i.i +245: ; preds = %.thread63.i.i %246 = load ptr, ptr @rename_dst, align 8, !tbaa !82 %247 = getelementptr inbounds nuw %struct.diff_rename_dst, ptr %246, i64 %indvars.iv33.i %248 = load ptr, ptr %247, align 8, !tbaa !84 %249 = getelementptr inbounds nuw i8, ptr %248, i64 19 %250 = load i8, ptr %249, align 1 %251 = and i8 %250, 2 - %.not.i54.i.i = icmp eq i8 %251, 0 - br i1 %.not.i54.i.i, label %253, label %252 + %.not.i53.i.i = icmp eq i8 %251, 0 + br i1 %.not.i53.i.i, label %253, label %252 252: ; preds = %245 call void (ptr, ...) @die(ptr noundef nonnull @.str.16) #15 @@ -691,7 +691,7 @@ record_rename_pair.exit.i.i: ; preds = %279, %253 store i16 %.sink.i.i.i, ptr %282, align 8, !tbaa !88 br label %find_identical_files.exit.i -find_identical_files.exit.i: ; preds = %record_rename_pair.exit.i.i, %.thread64.i.i, %hash_filespec.exit.i.i +find_identical_files.exit.i: ; preds = %record_rename_pair.exit.i.i, %.thread63.i.i, %hash_filespec.exit.i.i %.032.i.i = phi i32 [ 1, %record_rename_pair.exit.i.i ], [ 0, %.thread64.i.i ], [ 0, %hash_filespec.exit.i.i ] %283 = add nuw nsw i32 %.032.i.i, %.024.i %indvars.iv.next34.i = add nuw nsw i64 %indvars.iv33.i, 1 diff --git a/bench/hwloc/optimized/base64.ll b/bench/hwloc/optimized/base64.ll index 0f58dcefd35..8efd666f40c 100644 --- a/bench/hwloc/optimized/base64.ll +++ b/bench/hwloc/optimized/base64.ll @@ -154,15 +154,15 @@ define hidden i32 @hwloc_encode_to_base64(ptr noundef readonly captures(none) %0 ; Function Attrs: nofree nounwind memory(read, argmem: readwrite, inaccessiblemem: none) uwtable define hidden i32 @hwloc_decode_from_base64(ptr noundef readonly captures(none) %0, ptr noundef captures(address_is_null) %1, i64 noundef %2) local_unnamed_addr #1 { - %.not76 = icmp eq ptr %1, null + %.not74 = icmp eq ptr %1, null br label %.outer.outer -.unreachabledefault179: ; preds = %18 +.unreachabledefault177: ; preds = %18 unreachable .outer: ; preds = %.outer.backedge, %.outer.outer %.060.ph = phi ptr [ %.060.ph.ph, %.outer.outer ], [ %7, %.outer.backedge ] - %.not85 = phi i1 [ %.not85.ph, %.outer.outer ], [ false, %.outer.backedge ] + %.not83 = phi i1 [ %.not83.ph, %.outer.outer ], [ false, %.outer.backedge ] %.056.ph = phi i32 [ %.056.ph.ph, %.outer.outer ], [ 1, %.outer.backedge ] br label %4 @@ -180,12 +180,12 @@ define hidden i32 @hwloc_decode_from_base64(ptr noundef readonly captures(none) %11 = getelementptr inbounds i16, ptr %9, i64 %10 %12 = load i16, ptr %11, align 2, !tbaa !12 %13 = and i16 %12, 8192 - %.not75 = icmp eq i16 %13, 0 - br i1 %.not75, label %14, label %4, !llvm.loop !14 + %.not73 = icmp eq i16 %13, 0 + br i1 %.not73, label %14, label %4, !llvm.loop !14 14: ; preds = %6 - %cond93 = icmp eq i8 %5, 61 - br i1 %cond93, label %68, label %15 + %cond91 = icmp eq i8 %5, 61 + br i1 %cond91, label %68, label %15 15: ; preds = %14 %16 = sext i8 %5 to i32 @@ -202,13 +202,13 @@ define hidden i32 @hwloc_decode_from_base64(ptr noundef readonly captures(none) ], !llvm.loop !14 19: ; preds = %18 - br i1 %.not76, label %.outer.backedge, label %20 + br i1 %.not74, label %.outer.backedge, label %20 .outer.backedge: ; preds = %19, %21 br label %.outer, !llvm.loop !14 20: ; preds = %19 - br i1 %.not84, label %21, label %.loopexit + br i1 %.not82, label %21, label %.loopexit 21: ; preds = %20 %22 = ptrtoint ptr %memchr to i64 @@ -220,12 +220,12 @@ define hidden i32 @hwloc_decode_from_base64(ptr noundef readonly captures(none) 26: ; preds = %18 %.pre = add i32 %.058.ph.ph, 1 - br i1 %.not76, label %.outer.outer.backedge, label %27 + br i1 %.not74, label %.outer.outer.backedge, label %27 27: ; preds = %26 %28 = zext i32 %.pre to i64 - %.not81 = icmp ugt i64 %2, %28 - br i1 %.not81, label %29, label %.loopexit + %.not79 = icmp ugt i64 %2, %28 + br i1 %.not79, label %29, label %.loopexit 29: ; preds = %27 %30 = ptrtoint ptr %memchr to i64 @@ -237,36 +237,36 @@ define hidden i32 @hwloc_decode_from_base64(ptr noundef readonly captures(none) %36 = trunc i64 %32 to i8 %37 = or i8 %35, %36 store i8 %37, ptr %34, align 1, !tbaa !3 - %.tr82 = trunc i64 %30 to i8 - %38 = shl i8 %.tr82, 4 + %.tr80 = trunc i64 %30 to i8 + %38 = shl i8 %.tr80, 4 %39 = getelementptr inbounds nuw i8, ptr %1, i64 %28 store i8 %38, ptr %39, align 1, !tbaa !3 br label %.outer.outer.backedge 40: ; preds = %18 - %.pre139 = add i32 %.058.ph.ph, 1 - br i1 %.not76, label %.outer.outer.backedge, label %43 + %.pre137 = add i32 %.058.ph.ph, 1 + br i1 %.not74, label %.outer.outer.backedge, label %43 .outer.outer.backedge: ; preds = %40, %26, %45, %29, %66 - %.058.ph.ph.be = phi i32 [ %67, %66 ], [ %.pre, %29 ], [ %.pre139, %45 ], [ %.pre, %26 ], [ %.pre139, %40 ] - %.not85.ph.be = phi i1 [ true, %66 ], [ false, %29 ], [ false, %45 ], [ false, %26 ], [ false, %40 ] + %.058.ph.ph.be = phi i32 [ %67, %66 ], [ %.pre, %29 ], [ %.pre137, %45 ], [ %.pre, %26 ], [ %.pre137, %40 ] + %.not83.ph.be = phi i1 [ true, %66 ], [ false, %29 ], [ false, %45 ], [ false, %26 ], [ false, %40 ] %.056.ph.ph.be = phi i32 [ 0, %66 ], [ 2, %29 ], [ 3, %45 ], [ 2, %26 ], [ 3, %40 ] br label %.outer.outer, !llvm.loop !14 .outer.outer: ; preds = %.outer.outer.backedge, %3 %.060.ph.ph = phi ptr [ %0, %3 ], [ %7, %.outer.outer.backedge ] %.058.ph.ph = phi i32 [ 0, %3 ], [ %.058.ph.ph.be, %.outer.outer.backedge ] - %.not85.ph = phi i1 [ true, %3 ], [ %.not85.ph.be, %.outer.outer.backedge ] + %.not83.ph = phi i1 [ true, %3 ], [ %.not83.ph.be, %.outer.outer.backedge ] %.056.ph.ph = phi i32 [ 0, %3 ], [ %.056.ph.ph.be, %.outer.outer.backedge ] %41 = zext i32 %.058.ph.ph to i64 - %.not84 = icmp ugt i64 %2, %41 + %.not82 = icmp ugt i64 %2, %41 %42 = getelementptr inbounds nuw i8, ptr %1, i64 %41 br label %.outer 43: ; preds = %40 - %44 = zext i32 %.pre139 to i64 - %.not79 = icmp ugt i64 %2, %44 - br i1 %.not79, label %45, label %.loopexit + %44 = zext i32 %.pre137 to i64 + %.not77 = icmp ugt i64 %2, %44 + br i1 %.not77, label %45, label %.loopexit 45: ; preds = %43 %46 = ptrtoint ptr %memchr to i64 @@ -285,12 +285,12 @@ define hidden i32 @hwloc_decode_from_base64(ptr noundef readonly captures(none) br label %.outer.outer.backedge 56: ; preds = %18 - br i1 %.not76, label %66, label %57 + br i1 %.not74, label %66, label %57 57: ; preds = %56 %58 = zext i32 %.058.ph.ph to i64 - %.not77 = icmp ugt i64 %2, %58 - br i1 %.not77, label %59, label %.loopexit + %.not75 = icmp ugt i64 %2, %58 + br i1 %.not75, label %59, label %.loopexit 59: ; preds = %57 %60 = ptrtoint ptr %memchr to i64 @@ -318,71 +318,71 @@ define hidden i32 @hwloc_decode_from_base64(ptr noundef readonly captures(none) ] .preheader: ; preds = %68 - %cond94114 = icmp eq i8 %70, 0 - br i1 %cond94114, label %.loopexit, label %.lr.ph + %cond92112 = icmp eq i8 %70, 0 + br i1 %cond92112, label %.loopexit, label %.lr.ph .lr.ph: ; preds = %.preheader, %76 - %.1116 = phi i32 [ %79, %76 ], [ %71, %.preheader ] - %.262115 = phi ptr [ %77, %76 ], [ %69, %.preheader ] - %72 = sext i32 %.1116 to i64 + %.1114 = phi i32 [ %79, %76 ], [ %71, %.preheader ] + %.262113 = phi ptr [ %77, %76 ], [ %69, %.preheader ] + %72 = sext i32 %.1114 to i64 %73 = getelementptr inbounds i16, ptr %9, i64 %72 %74 = load i16, ptr %73, align 2, !tbaa !12 %75 = and i16 %74, 8192 - %.not87 = icmp eq i16 %75, 0 - br i1 %.not87, label %80, label %76 + %.not85 = icmp eq i16 %75, 0 + br i1 %.not85, label %80, label %76 76: ; preds = %.lr.ph - %77 = getelementptr inbounds nuw i8, ptr %.262115, i64 1 - %78 = load i8, ptr %.262115, align 1, !tbaa !3 + %77 = getelementptr inbounds nuw i8, ptr %.262113, i64 1 + %78 = load i8, ptr %.262113, align 1, !tbaa !3 %79 = sext i8 %78 to i32 - %cond94 = icmp eq i8 %78, 0 - br i1 %cond94, label %.loopexit, label %.lr.ph, !llvm.loop !15 + %cond92 = icmp eq i8 %78, 0 + br i1 %cond92, label %.loopexit, label %.lr.ph, !llvm.loop !15 80: ; preds = %.lr.ph - %.not88 = icmp eq i32 %.1116, 61 - br i1 %.not88, label %81, label %.loopexit + %.not86 = icmp eq i32 %.1114, 61 + br i1 %.not86, label %81, label %.loopexit 81: ; preds = %80 - %82 = getelementptr inbounds nuw i8, ptr %.262115, i64 1 - %83 = load i8, ptr %.262115, align 1, !tbaa !3 + %82 = getelementptr inbounds nuw i8, ptr %.262113, i64 1 + %83 = load i8, ptr %.262113, align 1, !tbaa !3 %84 = sext i8 %83 to i32 br label %85 85: ; preds = %81, %68 %.161 = phi ptr [ %82, %81 ], [ %69, %68 ] %.055 = phi i32 [ %84, %81 ], [ %71, %68 ] - %.not89117 = icmp eq i32 %.055, 0 - br i1 %.not89117, label %._crit_edge, label %.lr.ph120 + %.not87115 = icmp eq i32 %.055, 0 + br i1 %.not87115, label %._crit_edge, label %.lr.ph118 -.lr.ph120: ; preds = %85, %90 - %.2119 = phi i32 [ %93, %90 ], [ %.055, %85 ] - %.3118 = phi ptr [ %91, %90 ], [ %.161, %85 ] - %86 = sext i32 %.2119 to i64 +.lr.ph118: ; preds = %85, %90 + %.2117 = phi i32 [ %93, %90 ], [ %.055, %85 ] + %.3116 = phi ptr [ %91, %90 ], [ %.161, %85 ] + %86 = sext i32 %.2117 to i64 %87 = getelementptr inbounds i16, ptr %9, i64 %86 %88 = load i16, ptr %87, align 2, !tbaa !12 %89 = and i16 %88, 8192 - %.not92 = icmp eq i16 %89, 0 - br i1 %.not92, label %.loopexit, label %90 + %.not90 = icmp eq i16 %89, 0 + br i1 %.not90, label %.loopexit, label %90 -90: ; preds = %.lr.ph120 - %91 = getelementptr inbounds nuw i8, ptr %.3118, i64 1 - %92 = load i8, ptr %.3118, align 1, !tbaa !3 +90: ; preds = %.lr.ph118 + %91 = getelementptr inbounds nuw i8, ptr %.3116, i64 1 + %92 = load i8, ptr %.3116, align 1, !tbaa !3 %93 = sext i8 %92 to i32 - %.not89 = icmp eq i8 %92, 0 - br i1 %.not89, label %._crit_edge, label %.lr.ph120, !llvm.loop !16 + %.not87 = icmp eq i8 %92, 0 + br i1 %.not87, label %._crit_edge, label %.lr.ph118, !llvm.loop !16 ._crit_edge: ; preds = %90, %85 - br i1 %.not76, label %99, label %94 + br i1 %.not74, label %99, label %94 94: ; preds = %._crit_edge %95 = zext i32 %.058.ph.ph to i64 %96 = getelementptr inbounds nuw i8, ptr %1, i64 %95 %97 = load i8, ptr %96, align 1, !tbaa !3 - %.not91 = icmp eq i8 %97, 0 - br i1 %.not91, label %99, label %.loopexit + %.not89 = icmp eq i8 %97, 0 + br i1 %.not89, label %99, label %.loopexit 98: ; preds = %4 - br i1 %.not85, label %99, label %.loopexit + br i1 %.not83, label %99, label %.loopexit .unreachabledefault: ; preds = %68 unreachable @@ -390,7 +390,7 @@ define hidden i32 @hwloc_decode_from_base64(ptr noundef readonly captures(none) 99: ; preds = %98, %94, %._crit_edge br label %.loopexit -.loopexit: ; preds = %20, %15, %57, %43, %27, %76, %.lr.ph120, %.preheader, %98, %94, %80, %68, %68, %99 +.loopexit: ; preds = %20, %15, %57, %43, %27, %76, %.lr.ph118, %.preheader, %98, %94, %80, %68, %68, %99 %.0 = phi i32 [ %.058.ph.ph, %99 ], [ -1, %68 ], [ -1, %68 ], [ -1, %80 ], [ -1, %94 ], [ -1, %98 ], [ -1, %.preheader ], [ -1, %.lr.ph120 ], [ -1, %76 ], [ -1, %27 ], [ -1, %43 ], [ -1, %57 ], [ -1, %15 ], [ -1, %20 ] ret i32 %.0 } diff --git a/bench/imgui/optimized/imgui_widgets.ll b/bench/imgui/optimized/imgui_widgets.ll index acc57412361..bc91496bbf0 100644 --- a/bench/imgui/optimized/imgui_widgets.ll +++ b/bench/imgui/optimized/imgui_widgets.ll @@ -11350,13 +11350,13 @@ _ZN5ImGui20ScaleRatioFromValueTIjifEEfiT_S1_S1_bff.exit: ; preds = %204, %217, % %236 = uitofp i32 %4 to float %237 = fcmp ogt float %203, %236 %238 = select i1 %237, float %203, float %236 - %.087.i = select i1 %208, float %238, float %..i246 - %.086.i = select i1 %208, float %..i246, float %238 + %.085.i = select i1 %208, float %238, float %..i246 + %.084.i = select i1 %208, float %..i246, float %238 %239 = fsub float 1.000000e+00, %229 %240 = select i1 %208, float %239, float %229 - %241 = fdiv float %.086.i, %.087.i + %241 = fdiv float %.084.i, %.085.i %242 = tail call noundef float @powf(float noundef %241, float noundef %240) #44, !tbaa !177 - %243 = fmul float %.087.i, %242 + %243 = fmul float %.085.i, %242 %244 = fptoui float %243 to i32 br label %_ZN5ImGui20ScaleValueFromRatioTIjifEET_ifS1_S1_bff.exit @@ -16137,13 +16137,13 @@ _ZN5ImGui20ScaleRatioFromValueTIjifEEfiT_S1_S1_bff.exit297: ; preds = %283, %286 %311 = fcmp ogt float %.0218, %310 %312 = select i1 %311, float %.0218, float %310 %313 = icmp ult i32 %5, %4 - %.087.i = select i1 %313, float %312, float %..i300 - %.086.i = select i1 %313, float %..i300, float %312 + %.085.i = select i1 %313, float %312, float %..i300 + %.084.i = select i1 %313, float %..i300, float %312 %314 = fsub float 1.000000e+00, %302 %315 = select i1 %313, float %314, float %302 - %316 = fdiv float %.086.i, %.087.i + %316 = fdiv float %.084.i, %.085.i %317 = tail call noundef float @powf(float noundef %316, float noundef %315) #44, !tbaa !177 - %318 = fmul float %.087.i, %317 + %318 = fmul float %.085.i, %317 %319 = fptoui float %318 to i32 br label %_ZN5ImGui20ScaleValueFromRatioTIjifEET_ifS1_S1_bff.exit @@ -16280,13 +16280,13 @@ _ZN5ImGui20ScaleRatioFromValueTIjifEEfiT_S1_S1_bff.exit307: ; preds = %_ZN5ImGui %392 = fcmp ogt float %.0218, %391 %393 = select i1 %392, float %.0218, float %391 %394 = icmp ult i32 %5, %4 - %.087.i311 = select i1 %394, float %393, float %..i310 - %.086.i312 = select i1 %394, float %..i310, float %393 + %.085.i311 = select i1 %394, float %393, float %..i310 + %.084.i312 = select i1 %394, float %..i310, float %393 %395 = fsub float 1.000000e+00, %.2227343 %396 = select i1 %394, float %395, float %.2227343 - %397 = fdiv float %.086.i312, %.087.i311 + %397 = fdiv float %.084.i312, %.085.i311 %398 = tail call noundef float @powf(float noundef %397, float noundef %396) #44, !tbaa !177 - %399 = fmul float %.087.i311, %398 + %399 = fmul float %.085.i311, %398 %400 = fptoui float %399 to i32 br label %_ZN5ImGui20ScaleValueFromRatioTIjifEET_ifS1_S1_bff.exit313 @@ -46148,12 +46148,12 @@ define linkonce_odr noundef i32 @_ZN5ImGui20ScaleValueFromRatioTIiifEET_ifS1_S1_ %.pre-phi = phi float [ %.pre, %._crit_edge ], [ %28, %26 ] %31 = phi float [ %23, %._crit_edge ], [ %29, %26 ] %32 = icmp slt i32 %3, %2 - %.095 = select i1 %32, float %31, float %22 - %.093 = select i1 %32, float %22, float %31 + %.093 = select i1 %32, float %31, float %22 + %.091 = select i1 %32, float %22, float %31 %33 = icmp eq i32 %3, 0 %34 = icmp slt i32 %2, 0 - %or.cond83 = and i1 %34, %33 - %.194 = select i1 %or.cond83, float %.pre-phi, float %.093 + %or.cond81 = and i1 %34, %33 + %.192 = select i1 %or.cond81, float %.pre-phi, float %.091 %35 = fsub float 1.000000e+00, %1 %36 = select i1 %32, float %35, float %1 %37 = mul nsw i32 %3, %2 @@ -46171,15 +46171,15 @@ define linkonce_odr noundef i32 @_ZN5ImGui20ScaleValueFromRatioTIiifEET_ifS1_S1_ %47 = fadd float %6, %45 %48 = fcmp ult float %36, %46 %49 = fcmp ugt float %36, %47 - %or.cond84 = or i1 %48, %49 - br i1 %or.cond84, label %50, label %102 + %or.cond82 = or i1 %48, %49 + br i1 %or.cond82, label %50, label %102 50: ; preds = %39 %51 = fcmp olt float %36, %45 br i1 %51, label %52, label %61 52: ; preds = %50 - %53 = fneg float %.095 + %53 = fneg float %.093 %54 = fdiv float %53, %5 %55 = fdiv float %36, %46 %56 = fsub float 1.000000e+00, %55 @@ -46190,7 +46190,7 @@ define linkonce_odr noundef i32 @_ZN5ImGui20ScaleValueFromRatioTIiifEET_ifS1_S1_ br label %102 61: ; preds = %50 - %62 = fdiv float %.194, %5 + %62 = fdiv float %.192, %5 %63 = fsub float %36, %47 %64 = fsub float 1.000000e+00, %47 %65 = fdiv float %63, %64 @@ -46201,21 +46201,21 @@ define linkonce_odr noundef i32 @_ZN5ImGui20ScaleValueFromRatioTIiifEET_ifS1_S1_ 69: ; preds = %30 %70 = or i32 %3, %2 - %or.cond85.not = icmp sgt i32 %70, -1 - br i1 %or.cond85.not, label %77, label %71 + %or.cond83.not = icmp sgt i32 %70, -1 + br i1 %or.cond83.not, label %77, label %71 71: ; preds = %69 - %72 = fdiv float %.095, %.194 + %72 = fdiv float %.093, %.192 %73 = fsub float 1.000000e+00, %36 %74 = tail call noundef float @powf(float noundef %72, float noundef %73) #44, !tbaa !177 - %75 = fmul float %.194, %74 + %75 = fmul float %.192, %74 %76 = fptosi float %75 to i32 br label %102 77: ; preds = %69 - %78 = fdiv float %.194, %.095 + %78 = fdiv float %.192, %.093 %79 = tail call noundef float @powf(float noundef %78, float noundef %36) #44, !tbaa !177 - %80 = fmul float %.095, %79 + %80 = fmul float %.093, %79 %81 = fptosi float %80 to i32 br label %102 @@ -46715,13 +46715,13 @@ define linkonce_odr noundef i64 @_ZN5ImGui20ScaleValueFromRatioTIxxdEET_ifS1_S1_ %.pre-phi = phi float [ %.pre, %._crit_edge ], [ %30, %28 ] %34 = phi double [ %25, %._crit_edge ], [ %32, %28 ] %35 = icmp slt i64 %3, %2 - %.093 = select i1 %35, double %34, double %24 - %.091 = select i1 %35, double %24, double %34 + %.091 = select i1 %35, double %34, double %24 + %.089 = select i1 %35, double %24, double %34 %36 = icmp eq i64 %3, 0 %37 = icmp slt i64 %2, 0 - %or.cond81 = and i1 %37, %36 + %or.cond79 = and i1 %37, %36 %38 = fpext float %.pre-phi to double - %.192 = select i1 %or.cond81, double %38, double %.091 + %.190 = select i1 %or.cond79, double %38, double %.089 %39 = fsub float 1.000000e+00, %1 %40 = select i1 %35, float %39, float %1 %41 = mul nsw i64 %3, %2 @@ -46741,15 +46741,15 @@ define linkonce_odr noundef i64 @_ZN5ImGui20ScaleValueFromRatioTIxxdEET_ifS1_S1_ %53 = fadd float %6, %51 %54 = fcmp ult float %40, %52 %55 = fcmp ugt float %40, %53 - %or.cond82 = or i1 %54, %55 - br i1 %or.cond82, label %56, label %113 + %or.cond80 = or i1 %54, %55 + br i1 %or.cond80, label %56, label %113 56: ; preds = %43 %57 = fcmp olt float %40, %51 br i1 %57, label %58, label %68 58: ; preds = %56 - %59 = fneg double %.093 + %59 = fneg double %.091 %60 = fdiv double %59, %16 %61 = fdiv float %40, %52 %62 = fsub float 1.000000e+00, %61 @@ -46761,7 +46761,7 @@ define linkonce_odr noundef i64 @_ZN5ImGui20ScaleValueFromRatioTIxxdEET_ifS1_S1_ br label %113 68: ; preds = %56 - %69 = fdiv double %.192, %16 + %69 = fdiv double %.190, %16 %70 = fsub float %40, %53 %71 = fsub float 1.000000e+00, %53 %72 = fdiv float %70, %71 @@ -46773,23 +46773,23 @@ define linkonce_odr noundef i64 @_ZN5ImGui20ScaleValueFromRatioTIxxdEET_ifS1_S1_ 77: ; preds = %33 %78 = or i64 %3, %2 - %or.cond83.not = icmp sgt i64 %78, -1 - br i1 %or.cond83.not, label %86, label %79 + %or.cond81.not = icmp sgt i64 %78, -1 + br i1 %or.cond81.not, label %86, label %79 79: ; preds = %77 - %80 = fdiv double %.093, %.192 + %80 = fdiv double %.091, %.190 %81 = fsub float 1.000000e+00, %40 %82 = fpext float %81 to double %83 = tail call noundef double @pow(double noundef %80, double noundef %82) #44, !tbaa !177 - %84 = fmul double %.192, %83 + %84 = fmul double %.190, %83 %85 = fptosi double %84 to i64 br label %113 86: ; preds = %77 - %87 = fdiv double %.192, %.093 + %87 = fdiv double %.190, %.091 %88 = fpext float %40 to double %89 = tail call noundef double @pow(double noundef %87, double noundef %88) #44, !tbaa !177 - %90 = fmul double %.093, %89 + %90 = fmul double %.091, %89 %91 = fptosi double %90 to i64 br label %113 @@ -47673,8 +47673,8 @@ define linkonce_odr noundef float @_ZN5ImGui20ScaleRatioFromValueTIdddEEfiT_S1_S define linkonce_odr noundef double @_ZN5ImGui20ScaleValueFromRatioTIdddEET_ifS1_S1_bff(i32 noundef %0, float noundef %1, double noundef %2, double noundef %3, i1 noundef zeroext %4, float noundef %5, float noundef %6) local_unnamed_addr #5 comdat { %8 = fcmp ole float %1, 0.000000e+00 %9 = fcmp oeq double %2, %3 - %or.cond85 = or i1 %8, %9 - br i1 %or.cond85, label %104, label %10 + %or.cond83 = or i1 %8, %9 + br i1 %or.cond83, label %104, label %10 10: ; preds = %7 %11 = fcmp ult float %1, 1.000000e+00 @@ -47717,13 +47717,13 @@ define linkonce_odr noundef double @_ZN5ImGui20ScaleValueFromRatioTIdddEET_ifS1_ %.pre-phi = phi float [ %.pre, %._crit_edge ], [ %28, %26 ] %32 = phi double [ %3, %._crit_edge ], [ %30, %26 ] %33 = fcmp olt double %3, %2 - %.096 = select i1 %33, double %32, double %23 - %.094 = select i1 %33, double %23, double %32 + %.094 = select i1 %33, double %32, double %23 + %.092 = select i1 %33, double %23, double %32 %34 = fcmp oeq double %3, 0.000000e+00 %35 = fcmp olt double %2, 0.000000e+00 %or.cond = and i1 %35, %34 %36 = fpext float %.pre-phi to double - %.195 = select i1 %or.cond, double %36, double %.094 + %.193 = select i1 %or.cond, double %36, double %.092 %37 = fsub float 1.000000e+00, %1 %38 = select i1 %33, float %37, float %1 %39 = fmul double %2, %3 @@ -47744,15 +47744,15 @@ define linkonce_odr noundef double @_ZN5ImGui20ScaleValueFromRatioTIdddEET_ifS1_ %52 = fadd float %6, %50 %53 = fcmp ult float %38, %51 %54 = fcmp ugt float %38, %52 - %or.cond86 = or i1 %53, %54 - br i1 %or.cond86, label %55, label %104 + %or.cond84 = or i1 %53, %54 + br i1 %or.cond84, label %55, label %104 55: ; preds = %41 %56 = fcmp olt float %38, %50 br i1 %56, label %57, label %66 57: ; preds = %55 - %58 = fneg double %.096 + %58 = fneg double %.094 %59 = fdiv double %58, %15 %60 = fdiv float %38, %51 %61 = fsub float 1.000000e+00, %60 @@ -47763,7 +47763,7 @@ define linkonce_odr noundef double @_ZN5ImGui20ScaleValueFromRatioTIdddEET_ifS1_ br label %104 66: ; preds = %55 - %67 = fdiv double %.195, %15 + %67 = fdiv double %.193, %15 %68 = fsub float %38, %52 %69 = fsub float 1.000000e+00, %52 %70 = fdiv float %68, %69 @@ -47778,18 +47778,18 @@ define linkonce_odr noundef double @_ZN5ImGui20ScaleValueFromRatioTIdddEET_ifS1_ br i1 %or.cond3, label %76, label %82 76: ; preds = %74 - %77 = fdiv double %.096, %.195 + %77 = fdiv double %.094, %.193 %78 = fsub float 1.000000e+00, %38 %79 = fpext float %78 to double %80 = tail call noundef double @pow(double noundef %77, double noundef %79) #44, !tbaa !177 - %81 = fmul double %.195, %80 + %81 = fmul double %.193, %80 br label %104 82: ; preds = %74 - %83 = fdiv double %.195, %.096 + %83 = fdiv double %.193, %.094 %84 = fpext float %38 to double %85 = tail call noundef double @pow(double noundef %83, double noundef %84) #44, !tbaa !177 - %86 = fmul double %.096, %85 + %86 = fmul double %.094, %85 br label %104 87: ; preds = %12 diff --git a/bench/jsonnet/optimized/lexer.ll b/bench/jsonnet/optimized/lexer.ll index f58a8e5d3fc..a5d9ba48ea5 100644 --- a/bench/jsonnet/optimized/lexer.ll +++ b/bench/jsonnet/optimized/lexer.ll @@ -1244,9 +1244,9 @@ define void @_ZN7jsonnet8internal11jsonnet_lexERKNSt7__cxx1112basic_stringIcSt11 br label %106 106: ; preds = %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit406, %3 - %.0489 = phi ptr [ %2, %3 ], [ %.24911336, %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit406 ] - %.0484 = phi i64 [ 1, %3 ], [ %.24861338, %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit406 ] - %.066 = phi i8 [ 1, %3 ], [ %.1671340, %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit406 ] + %.0489 = phi ptr [ %2, %3 ], [ %.24911326, %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit406 ] + %.0484 = phi i64 [ 1, %3 ], [ %.24861328, %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit406 ] + %.066 = phi i8 [ 1, %3 ], [ %.1671330, %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit406 ] %107 = load ptr, ptr %14, align 8, !tbaa !34 %108 = load i8, ptr %107, align 1, !tbaa !19 %.not = icmp eq i8 %108, 0 @@ -1315,9 +1315,9 @@ define void @_ZN7jsonnet8internal11jsonnet_lexERKNSt7__cxx1112basic_stringIcSt11 _ZN7jsonnet8internalL6lex_wsERPKcRjS4_S3_Rm.exit: ; preds = %110 store ptr %111, ptr %14, align 8 %127 = icmp eq i8 %114, 0 - br i1 %127, label %.thread1332, label %128 + br i1 %127, label %.thread1322, label %128 -.thread1332: ; preds = %_ZN7jsonnet8internalL6lex_wsERPKcRjS4_S3_Rm.exit +.thread1322: ; preds = %_ZN7jsonnet8internalL6lex_wsERPKcRjS4_S3_Rm.exit call void @llvm.lifetime.end.p0(ptr nonnull %19) br label %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i399 @@ -2489,11 +2489,11 @@ _ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i.i _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit.i: ; preds = %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i.i, %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i.i call void @llvm.lifetime.end.p0(ptr nonnull %13) store i32 0, ptr %35, align 4, !tbaa !47 - %.promoted1578 = load ptr, ptr %14, align 8 + %.promoted1568 = load ptr, ptr %14, align 8 br label %523 523: ; preds = %537, %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit.i - %524 = phi ptr [ %.promoted1578, %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit.i ], [ %540, %537 ] + %524 = phi ptr [ %.promoted1568, %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit.i ], [ %540, %537 ] %.13502 = phi ptr [ %.11500, %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit.i ], [ %.14503, %537 ] %.16 = phi i64 [ %.14, %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit.i ], [ %.17, %537 ] %525 = phi i32 [ 0, %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit.i ], [ %538, %537 ] @@ -3195,18 +3195,18 @@ _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit309: ; preds = %_Z store ptr %758, ptr %14, align 8, !tbaa !34 %759 = load i8, ptr %758, align 1, !tbaa !19 %760 = icmp eq i8 %759, 45 - br i1 %760, label %761, label %.preheader1820 + br i1 %760, label %761, label %.preheader1810 761: ; preds = %757 %762 = getelementptr inbounds nuw i8, ptr %.promoted1063, i64 4 store ptr %762, ptr %14, align 8, !tbaa !34 - br label %.preheader1820 + br label %.preheader1810 -.preheader1820: ; preds = %761, %757 +.preheader1810: ; preds = %761, %757 %.ph = phi ptr [ %758, %757 ], [ %762, %761 ] br label %763 -763: ; preds = %.preheader1820, %766 +763: ; preds = %.preheader1810, %766 %764 = phi ptr [ %767, %766 ], [ %.ph, %.preheader1820 ] %765 = load i8, ptr %764, align 1, !tbaa !19 switch i8 %765, label %768 [ @@ -3465,8 +3465,8 @@ _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit324: ; preds = %82 %.lcssa10091020 = phi ptr [ %.promoted1021, %_ZN7jsonnet8internalL16whitespace_checkEPKcS2_.exit349 ], [ %.promoted1019, %.preheader568 ] %.12 = phi i64 [ %.13.lcssa, %_ZN7jsonnet8internalL16whitespace_checkEPKcS2_.exit349 ], [ %.11.lcssa, %.preheader568 ] %.0115 = phi i64 [ %indvars.iv.i343, %_ZN7jsonnet8internalL16whitespace_checkEPKcS2_.exit349 ], [ %indvars.iv.i, %.preheader568 ] - %sext1582 = shl i64 %.0115, 32 - %839 = ashr exact i64 %sext1582, 32 + %sext1572 = shl i64 %.0115, 32 + %839 = ashr exact i64 %sext1572, 32 %840 = getelementptr inbounds i8, ptr %.lcssa10091020, i64 %839 br label %841 @@ -3857,10 +3857,10 @@ _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit359: ; preds = %_Z br i1 %976, label %.lr.ph1057, label %.critedge2 .lr.ph1057: ; preds = %._crit_edge1046, %_ZN7jsonnet8internal26allowed_at_end_of_operatorEc.exit - %.idx1327 = phi i64 [ %.add1328, %_ZN7jsonnet8internal26allowed_at_end_of_operatorEc.exit ], [ %.lcssa1044.ph.idx, %._crit_edge1046 ] - %.add1328 = add nsw i64 %.idx1327, -1 - %.ptr1330 = getelementptr inbounds i8, ptr %.promoted1063, i64 %.add1328 - %977 = load i8, ptr %.ptr1330, align 1, !tbaa !19 + %.idx1317 = phi i64 [ %.add1318, %_ZN7jsonnet8internal26allowed_at_end_of_operatorEc.exit ], [ %.lcssa1044.ph.idx, %._crit_edge1046 ] + %.add1318 = add nsw i64 %.idx1317, -1 + %.ptr1320 = getelementptr inbounds i8, ptr %.promoted1063, i64 %.add1318 + %977 = load i8, ptr %.ptr1320, align 1, !tbaa !19 switch i8 %977, label %.critedge2 [ i8 43, label %_ZN7jsonnet8internal26allowed_at_end_of_operatorEc.exit i8 45, label %_ZN7jsonnet8internal26allowed_at_end_of_operatorEc.exit @@ -3870,11 +3870,11 @@ _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit359: ; preds = %_Z ] _ZN7jsonnet8internal26allowed_at_end_of_operatorEc.exit: ; preds = %.lr.ph1057, %.lr.ph1057, %.lr.ph1057, %.lr.ph1057, %.lr.ph1057 - %978 = icmp samesign ugt i64 %.idx1327, 2 + %978 = icmp samesign ugt i64 %.idx1317, 2 br i1 %978, label %.lr.ph1057, label %.critedge2, !llvm.loop !77 .critedge2: ; preds = %.lr.ph1057, %_ZN7jsonnet8internal26allowed_at_end_of_operatorEc.exit, %._crit_edge1046 - %.lcssa1044.ph.idx.pn = phi i64 [ %.lcssa1044.ph.idx, %._crit_edge1046 ], [ %.add1328, %_ZN7jsonnet8internal26allowed_at_end_of_operatorEc.exit ], [ %.idx1327, %.lr.ph1057 ] + %.lcssa1044.ph.idx.pn = phi i64 [ %.lcssa1044.ph.idx, %._crit_edge1046 ], [ %.add1318, %_ZN7jsonnet8internal26allowed_at_end_of_operatorEc.exit ], [ %.idx1317, %.lr.ph1057 ] %.lcssa1055 = getelementptr inbounds i8, ptr %.promoted1063, i64 %.lcssa1044.ph.idx.pn store ptr %.lcssa1055, ptr %14, align 8 call void @llvm.lifetime.start.p0(ptr nonnull %62) @@ -4337,10 +4337,10 @@ _ZSt8_DestroyIPN7jsonnet8internal13FodderElementES2_EvT_S4_RSaIT0_E.exit.i.i: ; %1128 = icmp eq ptr %.pre1167, %76 br i1 %1128, label %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i399, label %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i398 -_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i399: ; preds = %.thread1332, %1127 - %.1671341 = phi i8 [ %.066, %.thread1332 ], [ %.3, %1127 ] - %.24861339 = phi i64 [ %.14, %.thread1332 ], [ %.8, %1127 ] - %.24911337 = phi ptr [ %.11500, %.thread1332 ], [ %.8497, %1127 ] +_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i399: ; preds = %.thread1322, %1127 + %.1671331 = phi i8 [ %.066, %.thread1332 ], [ %.3, %1127 ] + %.24861329 = phi i64 [ %.14, %.thread1332 ], [ %.8, %1127 ] + %.24911327 = phi ptr [ %.11500, %.thread1332 ], [ %.8497, %1127 ] %1129 = load i64, ptr %77, align 8, !tbaa !18 %1130 = icmp ult i64 %1129, 16 call void @llvm.assume(i1 %1130) @@ -4353,9 +4353,9 @@ _ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i39 br label %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit400 _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit400: ; preds = %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i399, %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i398 - %.1671340 = phi i8 [ %.1671341, %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i399 ], [ %.3, %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i398 ] - %.24861338 = phi i64 [ %.24861339, %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i399 ], [ %.8, %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i398 ] - %.24911336 = phi ptr [ %.24911337, %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i399 ], [ %.8497, %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i398 ] + %.1671330 = phi i8 [ %.1671331, %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i399 ], [ %.3, %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i398 ] + %.24861328 = phi i64 [ %.24861329, %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i399 ], [ %.8, %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i398 ] + %.24911326 = phi ptr [ %.24911327, %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i399 ], [ %.8497, %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i398 ] call void @llvm.lifetime.end.p0(ptr nonnull %18) %1133 = load ptr, ptr %17, align 8, !tbaa !13 %1134 = icmp eq ptr %1133, %74 @@ -4498,8 +4498,8 @@ _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit419: ; preds = %_Z split: ; preds = %106, %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit406._crit_edge %1175 = phi ptr [ %.pre1168, %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit406._crit_edge ], [ %107, %106 ] - %.1490 = phi ptr [ %.24911336, %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit406._crit_edge ], [ %.0489, %106 ] - %.1485 = phi i64 [ %.24861338, %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit406._crit_edge ], [ %.0484, %106 ] + %.1490 = phi ptr [ %.24911326, %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit406._crit_edge ], [ %.0489, %106 ] + %.1485 = phi i64 [ %.24861328, %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit406._crit_edge ], [ %.0484, %106 ] %1176 = ptrtoint ptr %1175 to i64 %1177 = ptrtoint ptr %.1490 to i64 %reass.sub = sub i64 %1176, %1177 diff --git a/bench/just-rs/optimized/1uppz7l1e89fp8n7.ll b/bench/just-rs/optimized/1uppz7l1e89fp8n7.ll index 50e9552f7d2..e9fc89127a2 100644 --- a/bench/just-rs/optimized/1uppz7l1e89fp8n7.ll +++ b/bench/just-rs/optimized/1uppz7l1e89fp8n7.ll @@ -13197,7 +13197,7 @@ define noundef range(i8 0, 22) i8 @"_ZN69_$LT$just..keyword..Keyword$u20$as$u20$ "_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit88": ; preds = %2 %bcmp.i87 = tail call i32 @bcmp(ptr noundef nonnull readonly align 1 dereferenceable(23) %0, ptr noundef nonnull dereferenceable(23) @anon.c7970f49f530d4f5fc2450af5a27db93.286.llvm.7385733070074733004, i64 23), !alias.scope !3137 %4 = icmp eq i32 %bcmp.i87, 0 - br i1 %4, label %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit164.thread", label %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit156.thread.thread406" + br i1 %4, label %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit164.thread", label %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit156.thread.thread400" "_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit92": ; preds = %2 %bcmp.i91 = tail call i32 @bcmp(ptr noundef nonnull readonly align 1 dereferenceable(15) %0, ptr noundef nonnull dereferenceable(15) @anon.c7970f49f530d4f5fc2450af5a27db93.287.llvm.7385733070074733004, i64 15), !alias.scope !3141 @@ -13212,7 +13212,7 @@ define noundef range(i8 0, 22) i8 @"_ZN69_$LT$just..keyword..Keyword$u20$as$u20$ "_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit100": ; preds = %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit96" %bcmp.i99 = tail call i32 @bcmp(ptr noundef nonnull readonly align 1 dereferenceable(11) %0, ptr noundef nonnull dereferenceable(11) @anon.c7970f49f530d4f5fc2450af5a27db93.289.llvm.7385733070074733004, i64 11), !alias.scope !3149 %7 = icmp eq i32 %bcmp.i99, 0 - br i1 %7, label %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit164.thread", label %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit156.thread.thread406" + br i1 %7, label %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit164.thread", label %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit156.thread.thread400" "_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit104": ; preds = %2 %bcmp.i103 = tail call i32 @bcmp(ptr noundef nonnull readonly align 1 dereferenceable(4) %0, ptr noundef nonnull dereferenceable(4) @anon.c7970f49f530d4f5fc2450af5a27db93.290.llvm.7385733070074733004, i64 4), !alias.scope !3153 @@ -13237,17 +13237,17 @@ define noundef range(i8 0, 22) i8 @"_ZN69_$LT$just..keyword..Keyword$u20$as$u20$ "_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit120": ; preds = %2 %bcmp.i119 = tail call i32 @bcmp(ptr noundef nonnull readonly align 1 dereferenceable(2) %0, ptr noundef nonnull dereferenceable(2) @anon.c7970f49f530d4f5fc2450af5a27db93.293.llvm.7385733070074733004, i64 2), !alias.scope !3169 %12 = icmp eq i32 %bcmp.i119, 0 - br i1 %12, label %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit164.thread", label %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit156.thread.thread406" + br i1 %12, label %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit164.thread", label %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit156.thread.thread400" "_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit124": ; preds = %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit92" %bcmp.i123 = tail call i32 @bcmp(ptr nonnull readonly align 1 %0, ptr nonnull @anon.c7970f49f530d4f5fc2450af5a27db93.294.llvm.7385733070074733004, i64 %1), !alias.scope !3173 %13 = icmp eq i32 %bcmp.i123, 0 - br i1 %13, label %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit164.thread", label %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit156.thread.thread406" + br i1 %13, label %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit164.thread", label %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit156.thread.thread400" "_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit128": ; preds = %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit108" %bcmp.i127 = tail call i32 @bcmp(ptr nonnull readonly align 1 %0, ptr nonnull @anon.c7970f49f530d4f5fc2450af5a27db93.295.llvm.7385733070074733004, i64 %1), !alias.scope !3177 %14 = icmp eq i32 %bcmp.i127, 0 - br i1 %14, label %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit164.thread", label %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit156.thread.thread406" + br i1 %14, label %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit164.thread", label %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit156.thread.thread400" "_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit132": ; preds = %2 %bcmp.i131 = tail call i32 @bcmp(ptr noundef nonnull readonly align 1 dereferenceable(3) %0, ptr noundef nonnull dereferenceable(3) @anon.c7970f49f530d4f5fc2450af5a27db93.296.llvm.7385733070074733004, i64 3), !alias.scope !3181 @@ -13277,15 +13277,15 @@ define noundef range(i8 0, 22) i8 @"_ZN69_$LT$just..keyword..Keyword$u20$as$u20$ "_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit152": ; preds = %2 %bcmp.i151 = tail call i32 @bcmp(ptr noundef nonnull readonly align 1 dereferenceable(7) %0, ptr noundef nonnull dereferenceable(7) @anon.c7970f49f530d4f5fc2450af5a27db93.301.llvm.7385733070074733004, i64 7), !alias.scope !3201 %20 = icmp eq i32 %bcmp.i151, 0 - %spec.select408 = select i1 %20, i8 17, i8 21 + %spec.select402 = select i1 %20, i8 17, i8 21 br label %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit164.thread" "_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit156": ; preds = %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit104" %bcmp.i155 = tail call i32 @bcmp(ptr nonnull readonly align 1 %0, ptr nonnull @anon.c7970f49f530d4f5fc2450af5a27db93.78.llvm.7385733070074733004, i64 %1), !alias.scope !3205 %21 = icmp eq i32 %bcmp.i155, 0 - br i1 %21, label %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit164.thread", label %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit156.thread.thread406" + br i1 %21, label %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit164.thread", label %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit156.thread.thread400" -"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit156.thread.thread406": ; preds = %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit100", %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit128", %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit88", %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit120", %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit124", %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit156" +"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit156.thread.thread400": ; preds = %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit100", %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit128", %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit88", %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit120", %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit124", %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit156" br label %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit164.thread" "_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit160": ; preds = %2 @@ -13304,8 +13304,8 @@ define noundef range(i8 0, 22) i8 @"_ZN69_$LT$just..keyword..Keyword$u20$as$u20$ %spec.select = select i1 %23, i8 20, i8 21 br label %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit164.thread" -"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit164.thread": ; preds = %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit152", %2, %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit156.thread.thread406", %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit156.thread.thread", %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit160", %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit164", %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit", %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit88", %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit92", %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit96", %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit100", %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit104", %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit108", %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit112", %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit116", %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit120", %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit124", %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit128", %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit132", %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit136", %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit140", %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit144", %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit148", %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit156" - %.0 = phi i8 [ 0, %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit" ], [ 1, %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit88" ], [ 2, %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit92" ], [ 3, %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit96" ], [ 4, %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit100" ], [ 5, %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit104" ], [ 6, %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit108" ], [ 7, %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit112" ], [ 8, %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit116" ], [ 9, %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit120" ], [ 10, %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit124" ], [ 11, %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit128" ], [ 12, %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit132" ], [ 13, %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit136" ], [ 14, %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit140" ], [ 15, %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit144" ], [ 16, %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit148" ], [ 18, %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit156" ], [ 21, %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit156.thread.thread" ], [ %spec.select, %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit164" ], [ %spec.select353, %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit160" ], [ 21, %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit156.thread.thread406" ], [ %spec.select408, %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit152" ], [ 21, %2 ] +"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit164.thread": ; preds = %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit152", %2, %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit156.thread.thread400", %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit156.thread.thread", %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit160", %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit164", %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit", %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit88", %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit92", %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit96", %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit100", %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit104", %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit108", %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit112", %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit116", %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit120", %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit124", %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit128", %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit132", %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit136", %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit140", %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit144", %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit148", %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit156" + %.0 = phi i8 [ 0, %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit" ], [ 1, %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit88" ], [ 2, %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit92" ], [ 3, %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit96" ], [ 4, %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit100" ], [ 5, %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit104" ], [ 6, %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit108" ], [ 7, %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit112" ], [ 8, %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit116" ], [ 9, %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit120" ], [ 10, %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit124" ], [ 11, %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit128" ], [ 12, %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit132" ], [ 13, %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit136" ], [ 14, %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit140" ], [ 15, %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit144" ], [ 16, %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit148" ], [ 18, %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit156" ], [ 21, %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit156.thread.thread" ], [ %spec.select, %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit164" ], [ %spec.select353, %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit160" ], [ 21, %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit156.thread.thread406" ], [ %spec.select402, %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit152" ], [ 21, %2 ] ret i8 %.0 } diff --git a/bench/libevent/optimized/evdns.ll b/bench/libevent/optimized/evdns.ll index a4692fdb73c..6acd5734ed9 100644 --- a/bench/libevent/optimized/evdns.ll +++ b/bench/libevent/optimized/evdns.ll @@ -2595,33 +2595,33 @@ define internal fastcc range(i32 -8, 4) i32 @evdns_nameserver_add_impl_(ptr noun %6 = load ptr, ptr %5, align 8 call void @llvm.lifetime.start.p0(ptr nonnull %4) %.not = icmp eq ptr %6, null - br i1 %.not, label %.loopexit91, label %.preheader + br i1 %.not, label %.loopexit90, label %.preheader .preheader: ; preds = %3, %9 %.072 = phi ptr [ %11, %9 ], [ %6, %3 ] %7 = getelementptr inbounds nuw i8, ptr %.072, i64 16 %8 = tail call i32 @evutil_sockaddr_cmp(ptr noundef nonnull %7, ptr noundef %1, i32 noundef 1) #21 - %.not80 = icmp eq i32 %8, 0 - br i1 %.not80, label %.loopexit, label %9 + %.not79 = icmp eq i32 %8, 0 + br i1 %.not79, label %.loopexit, label %9 9: ; preds = %.preheader %10 = getelementptr inbounds nuw i8, ptr %.072, i64 280 %11 = load ptr, ptr %10, align 8 - %.not81 = icmp eq ptr %11, %6 - br i1 %.not81, label %.loopexit91, label %.preheader, !llvm.loop !19 + %.not80 = icmp eq ptr %11, %6 + br i1 %.not80, label %.loopexit90, label %.preheader, !llvm.loop !19 -.loopexit91: ; preds = %9, %3 +.loopexit90: ; preds = %9, %3 %12 = icmp sgt i32 %2, 128 br i1 %12, label %13, label %14 -13: ; preds = %.loopexit91 +13: ; preds = %.loopexit90 tail call void (i32, ptr, ...) @evdns_log_(i32 noundef 0, ptr noundef nonnull @.str.69, i32 noundef %2) br label %.loopexit -14: ; preds = %.loopexit91 +14: ; preds = %.loopexit90 %15 = tail call ptr @event_mm_malloc_(i64 noundef 448) #21 - %.not82 = icmp eq ptr %15, null - br i1 %.not82, label %.loopexit, label %16 + %.not81 = icmp eq ptr %15, null + br i1 %.not81, label %.loopexit, label %16 16: ; preds = %14 tail call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(448) %15, i8 0, i64 448, i1 false) @@ -2641,44 +2641,44 @@ define internal fastcc range(i32 -8, 4) i32 @evdns_nameserver_add_impl_(ptr noun 26: ; preds = %16 %27 = getelementptr inbounds nuw i8, ptr %0, i64 264 %28 = load i32, ptr %27, align 8 - %.not83 = icmp eq i32 %28, 0 - br i1 %.not83, label %37, label %29 + %.not82 = icmp eq i32 %28, 0 + br i1 %.not82, label %37, label %29 29: ; preds = %26 %30 = tail call i32 @evutil_sockaddr_is_loopback_(ptr noundef nonnull %1) #21 - %.not84 = icmp eq i32 %30, 0 - %.pre92.pre94.pre97 = load i32, ptr %15, align 8 - br i1 %.not84, label %31, label %37 + %.not83 = icmp eq i32 %30, 0 + %.pre91.pre93.pre96 = load i32, ptr %15, align 8 + br i1 %.not83, label %31, label %37 31: ; preds = %29 %32 = getelementptr inbounds nuw i8, ptr %0, i64 136 %33 = load i32, ptr %27, align 8 - %34 = tail call i32 @bind(i32 noundef %.pre92.pre94.pre97, ptr nonnull %32, i32 noundef %33) #21 + %34 = tail call i32 @bind(i32 noundef %.pre91.pre93.pre96, ptr nonnull %32, i32 noundef %33) #21 %35 = icmp slt i32 %34, 0 - br i1 %35, label %36, label %._crit_edge96 + br i1 %35, label %36, label %._crit_edge95 -._crit_edge96: ; preds = %31 - %.pre92.pre94.pre = load i32, ptr %15, align 8 +._crit_edge95: ; preds = %31 + %.pre91.pre93.pre = load i32, ptr %15, align 8 br label %37 36: ; preds = %31 tail call void (i32, ptr, ...) @evdns_log_(i32 noundef 2, ptr noundef nonnull @.str.52) br label %86 -37: ; preds = %._crit_edge96, %29, %26 - %.pre92.pre94 = phi i32 [ %.pre92.pre94.pre, %._crit_edge96 ], [ %.pre92.pre94.pre97, %29 ], [ %24, %26 ] +37: ; preds = %._crit_edge95, %29, %26 + %.pre91.pre93 = phi i32 [ %.pre91.pre93.pre, %._crit_edge96 ], [ %.pre91.pre93.pre96, %29 ], [ %24, %26 ] %38 = getelementptr inbounds nuw i8, ptr %0, i64 288 %39 = load i32, ptr %38, align 8 - %.not85 = icmp eq i32 %39, 0 - br i1 %.not85, label %44, label %40 + %.not84 = icmp eq i32 %39, 0 + br i1 %.not84, label %44, label %40 40: ; preds = %37 - %41 = tail call i32 @setsockopt(i32 noundef %.pre92.pre94, i32 noundef 1, i32 noundef 8, ptr noundef nonnull %38, i32 noundef 4) #21 - %.not86 = icmp eq i32 %41, 0 - br i1 %.not86, label %._crit_edge93, label %42 + %41 = tail call i32 @setsockopt(i32 noundef %.pre91.pre93, i32 noundef 1, i32 noundef 8, ptr noundef nonnull %38, i32 noundef 4) #21 + %.not85 = icmp eq i32 %41, 0 + br i1 %.not85, label %._crit_edge92, label %42 -._crit_edge93: ; preds = %40 - %.pre92.pre = load i32, ptr %15, align 8 +._crit_edge92: ; preds = %40 + %.pre91.pre = load i32, ptr %15, align 8 br label %44 42: ; preds = %40 @@ -2686,17 +2686,17 @@ define internal fastcc range(i32 -8, 4) i32 @evdns_nameserver_add_impl_(ptr noun tail call void (i32, ptr, ...) @evdns_log_(i32 noundef 2, ptr noundef nonnull @.str.70, i32 noundef %43) br label %86 -44: ; preds = %._crit_edge93, %37 - %.pre92 = phi i32 [ %.pre92.pre, %._crit_edge93 ], [ %.pre92.pre94, %37 ] +44: ; preds = %._crit_edge92, %37 + %.pre91 = phi i32 [ %.pre91.pre, %._crit_edge93 ], [ %.pre91.pre93, %37 ] %45 = getelementptr inbounds nuw i8, ptr %0, i64 292 %46 = load i32, ptr %45, align 4 - %.not87 = icmp eq i32 %46, 0 - br i1 %.not87, label %51, label %47 + %.not86 = icmp eq i32 %46, 0 + br i1 %.not86, label %51, label %47 47: ; preds = %44 - %48 = tail call i32 @setsockopt(i32 noundef %.pre92, i32 noundef 1, i32 noundef 7, ptr noundef nonnull %45, i32 noundef 4) #21 - %.not88 = icmp eq i32 %48, 0 - br i1 %.not88, label %._crit_edge, label %49 + %48 = tail call i32 @setsockopt(i32 noundef %.pre91, i32 noundef 1, i32 noundef 7, ptr noundef nonnull %45, i32 noundef 4) #21 + %.not87 = icmp eq i32 %48, 0 + br i1 %.not87, label %._crit_edge, label %49 ._crit_edge: ; preds = %47 %.pre = load i32, ptr %15, align 8 @@ -2708,7 +2708,7 @@ define internal fastcc range(i32 -8, 4) i32 @evdns_nameserver_add_impl_(ptr noun br label %86 51: ; preds = %._crit_edge, %44 - %52 = phi i32 [ %.pre, %._crit_edge ], [ %.pre92, %44 ] + %52 = phi i32 [ %.pre, %._crit_edge ], [ %.pre91, %44 ] %53 = getelementptr inbounds nuw i8, ptr %15, i64 16 %54 = sext i32 %2 to i64 tail call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 8 %53, ptr nonnull align 2 %1, i64 %54, i1 false) @@ -2725,8 +2725,8 @@ define internal fastcc range(i32 -8, 4) i32 @evdns_nameserver_add_impl_(ptr noun %62 = tail call i32 @event_assign(ptr noundef nonnull %58, ptr noundef %61, i32 noundef %52, i16 noundef signext 18, ptr noundef nonnull @nameserver_ready_callback, ptr noundef nonnull %15) #21 %63 = getelementptr inbounds nuw i8, ptr %0, i64 352 %64 = load i32, ptr %63, align 8 - %.not89 = icmp eq i32 %64, 0 - br i1 %.not89, label %65, label %68 + %.not88 = icmp eq i32 %64, 0 + br i1 %.not88, label %65, label %68 65: ; preds = %51 %66 = tail call i32 @event_add(ptr noundef nonnull %58, ptr noundef null) #21 @@ -2737,9 +2737,9 @@ define internal fastcc range(i32 -8, 4) i32 @evdns_nameserver_add_impl_(ptr noun %69 = call ptr @evutil_format_sockaddr_port_(ptr noundef nonnull %1, ptr noundef nonnull %4, i64 noundef 128) #21 call void (i32, ptr, ...) @evdns_log_(i32 noundef 0, ptr noundef nonnull @.str.72, ptr noundef %69, ptr noundef nonnull %15) %70 = load ptr, ptr %5, align 8 - %.not90 = icmp eq ptr %70, null + %.not89 = icmp eq ptr %70, null %71 = getelementptr inbounds nuw i8, ptr %15, i64 280 - br i1 %.not90, label %72, label %74 + br i1 %.not89, label %72, label %74 72: ; preds = %68 %73 = getelementptr inbounds nuw i8, ptr %15, i64 288 diff --git a/bench/libjpeg-turbo/optimized/transupp.ll b/bench/libjpeg-turbo/optimized/transupp.ll index 280a18d655c..b04c35fe29b 100644 --- a/bench/libjpeg-turbo/optimized/transupp.ll +++ b/bench/libjpeg-turbo/optimized/transupp.ll @@ -5489,9 +5489,9 @@ define internal fastcc void @do_crop_ext_flat(ptr noundef %0, ptr noundef readon %14 = getelementptr inbounds nuw i8, ptr %1, i64 76 %15 = load i32, ptr %14, align 4, !tbaa !103 %16 = icmp sgt i32 %15, 0 - br i1 %16, label %.lr.ph123, label %._crit_edge124 + br i1 %16, label %.lr.ph121, label %._crit_edge122 -.lr.ph123: ; preds = %6 +.lr.ph121: ; preds = %6 %17 = load i32, ptr %13, align 4, !tbaa !52 %18 = getelementptr inbounds nuw i8, ptr %1, i64 316 %19 = load i32, ptr %18, align 4, !tbaa !139 @@ -5503,11 +5503,11 @@ define internal fastcc void @do_crop_ext_flat(ptr noundef %0, ptr noundef readon %25 = add i32 %21, %3 br label %26 -26: ; preds = %.lr.ph123, %._crit_edge +26: ; preds = %.lr.ph121, %._crit_edge %27 = phi i32 [ %15, %.lr.ph123 ], [ %132, %._crit_edge ] - %indvars.iv137 = phi i64 [ 0, %.lr.ph123 ], [ %indvars.iv.next138, %._crit_edge ] + %indvars.iv135 = phi i64 [ 0, %.lr.ph123 ], [ %indvars.iv.next136, %._crit_edge ] %28 = load ptr, ptr %22, align 8, !tbaa !104 - %29 = getelementptr inbounds nuw %struct.jpeg_component_info, ptr %28, i64 %indvars.iv137 + %29 = getelementptr inbounds nuw %struct.jpeg_component_info, ptr %28, i64 %indvars.iv135 %30 = getelementptr inbounds nuw i8, ptr %29, i64 8 %31 = load i32, ptr %30, align 8, !tbaa !75 %32 = mul i32 %31, %12 @@ -5516,15 +5516,15 @@ define internal fastcc void @do_crop_ext_flat(ptr noundef %0, ptr noundef readon %35 = mul i32 %34, %3 %36 = getelementptr inbounds nuw i8, ptr %29, i64 32 %37 = load i32, ptr %36, align 8, !tbaa !117 - %.not125 = icmp eq i32 %37, 0 - br i1 %.not125, label %._crit_edge, label %.lr.ph120 + %.not123 = icmp eq i32 %37, 0 + br i1 %.not123, label %._crit_edge, label %.lr.ph118 -.lr.ph120: ; preds = %26 +.lr.ph118: ; preds = %26 %38 = mul i32 %31, %2 - %39 = getelementptr inbounds nuw ptr, ptr %5, i64 %indvars.iv137 - %40 = getelementptr inbounds nuw ptr, ptr %4, i64 %indvars.iv137 + %39 = getelementptr inbounds nuw ptr, ptr %5, i64 %indvars.iv135 + %40 = getelementptr inbounds nuw ptr, ptr %4, i64 %indvars.iv135 %41 = mul i32 %34, %25 - %.not108 = icmp eq i32 %38, 0 + %.not106 = icmp eq i32 %38, 0 %42 = zext i32 %38 to i64 %43 = shl nuw nsw i64 %42, 7 %44 = getelementptr inbounds nuw i8, ptr %29, i64 28 @@ -5535,31 +5535,31 @@ define internal fastcc void @do_crop_ext_flat(ptr noundef %0, ptr noundef readon %49 = zext i32 %45 to i64 br label %50 -50: ; preds = %.lr.ph120, %.loopexit110 +50: ; preds = %.lr.ph118, %.loopexit108 %51 = phi i32 [ %34, %.lr.ph120 ], [ %128, %.loopexit110 ] - %.097118 = phi i32 [ 0, %.lr.ph120 ], [ %129, %.loopexit110 ] + %.097116 = phi i32 [ 0, %.lr.ph120 ], [ %129, %.loopexit110 ] %52 = load ptr, ptr %23, align 8, !tbaa !83 %53 = getelementptr inbounds nuw i8, ptr %52, i64 64 %54 = load ptr, ptr %53, align 8, !tbaa !118 %55 = load ptr, ptr %39, align 8, !tbaa !87 - %56 = tail call ptr %54(ptr noundef %0, ptr noundef %55, i32 noundef %.097118, i32 noundef %51, i32 noundef 1) #8 + %56 = tail call ptr %54(ptr noundef %0, ptr noundef %55, i32 noundef %.097116, i32 noundef %51, i32 noundef 1) #8 %57 = load i32, ptr %24, align 4, !tbaa !108 %58 = load i32, ptr %13, align 4, !tbaa !52 %59 = icmp ugt i32 %57, %58 br i1 %59, label %60, label %81 60: ; preds = %50 - %61 = icmp uge i32 %.097118, %35 - %.not = icmp ult i32 %.097118, %41 + %61 = icmp uge i32 %.097116, %35 + %.not = icmp ult i32 %.097116, %41 %or.cond = select i1 %61, i1 %.not, i1 false br i1 %or.cond, label %73, label %62 62: ; preds = %60 %63 = load i32, ptr %33, align 4, !tbaa !77 %64 = icmp sgt i32 %63, 0 - br i1 %64, label %.lr.ph117, label %.loopexit110 + br i1 %64, label %.lr.ph115, label %.loopexit108 -.lr.ph117: ; preds = %62, %.lr.ph117 +.lr.ph115: ; preds = %62, %.lr.ph115 %indvars.iv = phi i64 [ %indvars.iv.next, %.lr.ph117 ], [ 0, %62 ] %65 = getelementptr inbounds nuw ptr, ptr %56, i64 %indvars.iv %66 = load ptr, ptr %65, align 8, !tbaa !16 @@ -5571,14 +5571,14 @@ define internal fastcc void @do_crop_ext_flat(ptr noundef %0, ptr noundef readon %70 = load i32, ptr %33, align 4, !tbaa !77 %71 = sext i32 %70 to i64 %72 = icmp slt i64 %indvars.iv.next, %71 - br i1 %72, label %.lr.ph117, label %.loopexit110, !llvm.loop !230 + br i1 %72, label %.lr.ph115, label %.loopexit108, !llvm.loop !230 73: ; preds = %60 %74 = load ptr, ptr %23, align 8, !tbaa !83 %75 = getelementptr inbounds nuw i8, ptr %74, i64 64 %76 = load ptr, ptr %75, align 8, !tbaa !118 %77 = load ptr, ptr %40, align 8, !tbaa !87 - %78 = sub nuw i32 %.097118, %35 + %78 = sub nuw i32 %.097116, %35 %79 = load i32, ptr %33, align 4, !tbaa !77 %80 = tail call ptr %76(ptr noundef nonnull %0, ptr noundef %77, i32 noundef %78, i32 noundef %79, i32 noundef 0) #8 br label %89 @@ -5588,7 +5588,7 @@ define internal fastcc void @do_crop_ext_flat(ptr noundef %0, ptr noundef readon %83 = getelementptr inbounds nuw i8, ptr %82, i64 64 %84 = load ptr, ptr %83, align 8, !tbaa !118 %85 = load ptr, ptr %40, align 8, !tbaa !87 - %86 = add i32 %.097118, %35 + %86 = add i32 %.097116, %35 %87 = load i32, ptr %33, align 4, !tbaa !77 %88 = tail call ptr %84(ptr noundef nonnull %0, ptr noundef %85, i32 noundef %86, i32 noundef %87, i32 noundef 0) #8 br label %89 @@ -5597,49 +5597,49 @@ define internal fastcc void @do_crop_ext_flat(ptr noundef %0, ptr noundef readon %.098 = phi ptr [ %80, %73 ], [ %88, %81 ] %90 = load i32, ptr %33, align 4, !tbaa !77 %91 = icmp sgt i32 %90, 0 - br i1 %91, label %.lr.ph115, label %.loopexit110 + br i1 %91, label %.lr.ph113, label %.loopexit108 -.lr.ph115: ; preds = %89, %.loopexit - %indvars.iv134 = phi i64 [ %indvars.iv.next135, %.loopexit ], [ 0, %89 ] - br i1 %.not108, label %.lr.ph115..loopexit109_crit_edge, label %92 +.lr.ph113: ; preds = %89, %.loopexit + %indvars.iv132 = phi i64 [ %indvars.iv.next133, %.loopexit ], [ 0, %89 ] + br i1 %.not106, label %.lr.ph113..loopexit107_crit_edge, label %92 -.lr.ph115..loopexit109_crit_edge: ; preds = %.lr.ph115 - %.phi.trans.insert = getelementptr inbounds nuw ptr, ptr %.098, i64 %indvars.iv134 +.lr.ph113..loopexit107_crit_edge: ; preds = %.lr.ph113 + %.phi.trans.insert = getelementptr inbounds nuw ptr, ptr %.098, i64 %indvars.iv132 %.pre = load ptr, ptr %.phi.trans.insert, align 8, !tbaa !16 - %.phi.trans.insert140 = getelementptr inbounds nuw ptr, ptr %56, i64 %indvars.iv134 - %.pre141 = load ptr, ptr %.phi.trans.insert140, align 8, !tbaa !16 - br label %.loopexit109 + %.phi.trans.insert138 = getelementptr inbounds nuw ptr, ptr %56, i64 %indvars.iv132 + %.pre139 = load ptr, ptr %.phi.trans.insert138, align 8, !tbaa !16 + br label %.loopexit107 -92: ; preds = %.lr.ph115 - %93 = getelementptr inbounds nuw ptr, ptr %56, i64 %indvars.iv134 +92: ; preds = %.lr.ph113 + %93 = getelementptr inbounds nuw ptr, ptr %56, i64 %indvars.iv132 %94 = load ptr, ptr %93, align 8, !tbaa !16 tail call void @llvm.memset.p0.i64(ptr align 2 %94, i8 0, i64 %43, i1 false) - %95 = getelementptr inbounds nuw ptr, ptr %.098, i64 %indvars.iv134 + %95 = getelementptr inbounds nuw ptr, ptr %.098, i64 %indvars.iv132 %96 = load ptr, ptr %95, align 8, !tbaa !16 %97 = load i16, ptr %96, align 2, !tbaa !19 %98 = load ptr, ptr %93, align 8, !tbaa !16 br label %99 99: ; preds = %92, %99 - %indvars.iv128 = phi i64 [ 0, %92 ], [ %indvars.iv.next129, %99 ] - %100 = getelementptr inbounds nuw [64 x i16], ptr %98, i64 %indvars.iv128 + %indvars.iv126 = phi i64 [ 0, %92 ], [ %indvars.iv.next127, %99 ] + %100 = getelementptr inbounds nuw [64 x i16], ptr %98, i64 %indvars.iv126 store i16 %97, ptr %100, align 2, !tbaa !19 - %indvars.iv.next129 = add nuw nsw i64 %indvars.iv128, 1 - %exitcond.not = icmp eq i64 %indvars.iv.next129, %42 - br i1 %exitcond.not, label %.loopexit109, label %99, !llvm.loop !231 + %indvars.iv.next127 = add nuw nsw i64 %indvars.iv126, 1 + %exitcond.not = icmp eq i64 %indvars.iv.next127, %42 + br i1 %exitcond.not, label %.loopexit107, label %99, !llvm.loop !231 -.loopexit109: ; preds = %99, %.lr.ph115..loopexit109_crit_edge - %101 = phi ptr [ %.pre141, %.lr.ph115..loopexit109_crit_edge ], [ %98, %99 ] +.loopexit107: ; preds = %99, %.lr.ph113..loopexit107_crit_edge + %101 = phi ptr [ %.pre139, %.lr.ph115..loopexit109_crit_edge ], [ %98, %99 ] %102 = phi ptr [ %.pre, %.lr.ph115..loopexit109_crit_edge ], [ %96, %99 ] - %103 = getelementptr inbounds nuw ptr, ptr %56, i64 %indvars.iv134 + %103 = getelementptr inbounds nuw ptr, ptr %56, i64 %indvars.iv132 %104 = getelementptr inbounds nuw [64 x i16], ptr %101, i64 %42 tail call void @jcopy_block_row(ptr noundef %102, ptr noundef %104, i32 noundef %32) #8 %105 = load i32, ptr %44, align 4, !tbaa !119 %106 = icmp ugt i32 %105, %45 br i1 %106, label %107, label %.loopexit -107: ; preds = %.loopexit109 - %108 = getelementptr inbounds nuw ptr, ptr %.098, i64 %indvars.iv134 +107: ; preds = %.loopexit107 + %108 = getelementptr inbounds nuw ptr, ptr %.098, i64 %indvars.iv132 %109 = load ptr, ptr %103, align 8, !tbaa !16 %110 = getelementptr inbounds nuw [64 x i16], ptr %109, i64 %42 %111 = getelementptr inbounds nuw [64 x i16], ptr %110, i64 %46 @@ -5660,39 +5660,39 @@ define internal fastcc void @do_crop_ext_flat(ptr noundef %0, ptr noundef readon br label %122 122: ; preds = %.lr.ph, %122 - %indvars.iv131 = phi i64 [ %49, %.lr.ph ], [ %indvars.iv.next132, %122 ] - %123 = getelementptr inbounds nuw [64 x i16], ptr %120, i64 %indvars.iv131 + %indvars.iv129 = phi i64 [ %49, %.lr.ph ], [ %indvars.iv.next130, %122 ] + %123 = getelementptr inbounds nuw [64 x i16], ptr %120, i64 %indvars.iv129 store i16 %117, ptr %123, align 2, !tbaa !19 - %indvars.iv.next132 = add nuw nsw i64 %indvars.iv131, 1 - %124 = icmp samesign ult i64 %indvars.iv.next132, %121 + %indvars.iv.next130 = add nuw nsw i64 %indvars.iv129, 1 + %124 = icmp samesign ult i64 %indvars.iv.next130, %121 br i1 %124, label %122, label %.loopexit, !llvm.loop !232 -.loopexit: ; preds = %122, %107, %.loopexit109 - %indvars.iv.next135 = add nuw nsw i64 %indvars.iv134, 1 +.loopexit: ; preds = %122, %107, %.loopexit107 + %indvars.iv.next133 = add nuw nsw i64 %indvars.iv132, 1 %125 = load i32, ptr %33, align 4, !tbaa !77 %126 = sext i32 %125 to i64 - %127 = icmp slt i64 %indvars.iv.next135, %126 - br i1 %127, label %.lr.ph115, label %.loopexit110, !llvm.loop !233 + %127 = icmp slt i64 %indvars.iv.next133, %126 + br i1 %127, label %.lr.ph113, label %.loopexit108, !llvm.loop !233 -.loopexit110: ; preds = %.lr.ph117, %.loopexit, %89, %62 +.loopexit108: ; preds = %.lr.ph115, %.loopexit, %89, %62 %128 = phi i32 [ %90, %89 ], [ %63, %62 ], [ %125, %.loopexit ], [ %70, %.lr.ph117 ] - %129 = add i32 %128, %.097118 + %129 = add i32 %128, %.097116 %130 = load i32, ptr %36, align 8, !tbaa !117 %131 = icmp ult i32 %129, %130 br i1 %131, label %50, label %._crit_edge.loopexit, !llvm.loop !234 -._crit_edge.loopexit: ; preds = %.loopexit110 - %.pre142 = load i32, ptr %14, align 4, !tbaa !103 +._crit_edge.loopexit: ; preds = %.loopexit108 + %.pre140 = load i32, ptr %14, align 4, !tbaa !103 br label %._crit_edge ._crit_edge: ; preds = %._crit_edge.loopexit, %26 - %132 = phi i32 [ %.pre142, %._crit_edge.loopexit ], [ %27, %26 ] - %indvars.iv.next138 = add nuw nsw i64 %indvars.iv137, 1 + %132 = phi i32 [ %.pre140, %._crit_edge.loopexit ], [ %27, %26 ] + %indvars.iv.next136 = add nuw nsw i64 %indvars.iv135, 1 %133 = sext i32 %132 to i64 - %134 = icmp slt i64 %indvars.iv.next138, %133 - br i1 %134, label %26, label %._crit_edge124, !llvm.loop !235 + %134 = icmp slt i64 %indvars.iv.next136, %133 + br i1 %134, label %26, label %._crit_edge122, !llvm.loop !235 -._crit_edge124: ; preds = %._crit_edge, %6 +._crit_edge122: ; preds = %._crit_edge, %6 ret void } diff --git a/bench/libphonenumber/optimized/stringutil_test.ll b/bench/libphonenumber/optimized/stringutil_test.ll index f2839aeeed4..71aba2c9d60 100644 --- a/bench/libphonenumber/optimized/stringutil_test.ll +++ b/bench/libphonenumber/optimized/stringutil_test.ll @@ -21365,14 +21365,14 @@ _ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c.exit: ; preds = %14, %16 %19 = getelementptr inbounds nuw i8, ptr %0, i64 8 %20 = load i64, ptr %19, align 8, !tbaa !226 %21 = getelementptr inbounds nuw i8, ptr %18, i64 %20 - %.not44 = icmp samesign eq i64 %20, 0 - br i1 %.not44, label %._crit_edge.thread, label %.lr.ph + %.not42 = icmp samesign eq i64 %20, 0 + br i1 %.not42, label %._crit_edge.thread, label %.lr.ph .lr.ph: ; preds = %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c.exit, %46 - %.046 = phi i64 [ %48, %46 ], [ 0, %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c.exit ] - %.02045 = phi ptr [ %49, %46 ], [ %18, %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c.exit ] - %.not23 = icmp eq i64 %.046, 0 - br i1 %.not23, label %34, label %22 + %.044 = phi i64 [ %48, %46 ], [ 0, %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c.exit ] + %.02043 = phi ptr [ %49, %46 ], [ %18, %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c.exit ] + %.not21 = icmp eq i64 %.044, 0 + br i1 %.not21, label %34, label %22 22: ; preds = %.lr.ph call void @llvm.lifetime.start.p0(ptr nonnull %6) @@ -21383,23 +21383,23 @@ _ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c.exit: ; preds = %14, %16 %26 = getelementptr inbounds i8, ptr %1, i64 %25 %27 = getelementptr inbounds nuw i8, ptr %26, i64 16 %28 = load i64, ptr %27, align 8, !tbaa !470 - %.not.i25 = icmp eq i64 %28, 0 - br i1 %.not.i25, label %31, label %29 + %.not.i23 = icmp eq i64 %28, 0 + br i1 %.not.i23, label %31, label %29 29: ; preds = %22 %30 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l(ptr noundef nonnull align 8 dereferenceable(8) %1, ptr noundef nonnull %6, i64 noundef 1) - br label %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c.exit27 + br label %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c.exit25 31: ; preds = %22 %32 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSo3putEc(ptr noundef nonnull align 8 dereferenceable(8) %1, i8 noundef signext 44) - br label %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c.exit27 + br label %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c.exit25 -_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c.exit27: ; preds = %29, %31 +_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c.exit25: ; preds = %29, %31 call void @llvm.lifetime.end.p0(ptr nonnull %6) - %33 = icmp eq i64 %.046, 32 - br i1 %33, label %.thread40, label %34 + %33 = icmp eq i64 %.044, 32 + br i1 %33, label %.thread38, label %34 -34: ; preds = %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c.exit27, %.lr.ph +34: ; preds = %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c.exit25, %.lr.ph call void @llvm.lifetime.start.p0(ptr nonnull %5) store i8 32, ptr %5, align 1, !tbaa !25 %35 = load ptr, ptr %1, align 8, !tbaa !4 @@ -21408,8 +21408,8 @@ _ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c.exit27: ; preds = %29, %31 %38 = getelementptr inbounds i8, ptr %1, i64 %37 %39 = getelementptr inbounds nuw i8, ptr %38, i64 16 %40 = load i64, ptr %39, align 8, !tbaa !470 - %.not.i28 = icmp eq i64 %40, 0 - br i1 %.not.i28, label %43, label %41 + %.not.i26 = icmp eq i64 %40, 0 + br i1 %.not.i26, label %43, label %41 41: ; preds = %34 %42 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l(ptr noundef nonnull align 8 dereferenceable(8) %1, ptr noundef nonnull %5, i64 noundef 1) @@ -21419,20 +21419,20 @@ _ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c.exit27: ; preds = %29, %31 %44 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSo3putEc(ptr noundef nonnull align 8 dereferenceable(8) %1, i8 noundef signext 32) br label %46 -.thread40: ; preds = %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c.exit27 +.thread38: ; preds = %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c.exit25 %45 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l(ptr noundef nonnull align 8 dereferenceable(8) %1, ptr noundef nonnull @.str.173, i64 noundef 4) br label %._crit_edge 46: ; preds = %43, %41 call void @llvm.lifetime.end.p0(ptr nonnull %5) - %47 = load i8, ptr %.02045, align 1, !tbaa !25 + %47 = load i8, ptr %.02043, align 1, !tbaa !25 call void @_ZN7testing8internal7PrintToEhPSo(i8 noundef zeroext %47, ptr noundef nonnull %1) - %48 = add nuw i64 %.046, 1 - %49 = getelementptr inbounds nuw i8, ptr %.02045, i64 1 + %48 = add nuw i64 %.044, 1 + %49 = getelementptr inbounds nuw i8, ptr %.02043, i64 1 %.not = icmp eq ptr %49, %21 br i1 %.not, label %._crit_edge, label %.lr.ph -._crit_edge: ; preds = %46, %.thread40 +._crit_edge: ; preds = %46, %.thread38 call void @llvm.lifetime.start.p0(ptr nonnull %4) store i8 32, ptr %4, align 1, !tbaa !25 %50 = load ptr, ptr %1, align 8, !tbaa !4 @@ -21441,22 +21441,22 @@ _ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c.exit27: ; preds = %29, %31 %53 = getelementptr inbounds i8, ptr %1, i64 %52 %54 = getelementptr inbounds nuw i8, ptr %53, i64 16 %55 = load i64, ptr %54, align 8, !tbaa !470 - %.not.i31 = icmp eq i64 %55, 0 - br i1 %.not.i31, label %58, label %56 + %.not.i29 = icmp eq i64 %55, 0 + br i1 %.not.i29, label %58, label %56 56: ; preds = %._crit_edge %57 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l(ptr noundef nonnull align 8 dereferenceable(8) %1, ptr noundef nonnull %4, i64 noundef 1) - br label %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c.exit33 + br label %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c.exit31 58: ; preds = %._crit_edge %59 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSo3putEc(ptr noundef nonnull align 8 dereferenceable(8) %1, i8 noundef signext 32) - br label %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c.exit33 + br label %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c.exit31 -_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c.exit33: ; preds = %56, %58 +_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c.exit31: ; preds = %56, %58 call void @llvm.lifetime.end.p0(ptr nonnull %4) br label %._crit_edge.thread -._crit_edge.thread: ; preds = %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c.exit, %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c.exit33 +._crit_edge.thread: ; preds = %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c.exit, %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c.exit31 call void @llvm.lifetime.start.p0(ptr nonnull %3) store i8 125, ptr %3, align 1, !tbaa !25 %60 = load ptr, ptr %1, align 8, !tbaa !4 @@ -21465,18 +21465,18 @@ _ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c.exit33: ; preds = %56, %58 %63 = getelementptr inbounds i8, ptr %1, i64 %62 %64 = getelementptr inbounds nuw i8, ptr %63, i64 16 %65 = load i64, ptr %64, align 8, !tbaa !470 - %.not.i34 = icmp eq i64 %65, 0 - br i1 %.not.i34, label %68, label %66 + %.not.i32 = icmp eq i64 %65, 0 + br i1 %.not.i32, label %68, label %66 66: ; preds = %._crit_edge.thread %67 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l(ptr noundef nonnull align 8 dereferenceable(8) %1, ptr noundef nonnull %3, i64 noundef 1) - br label %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c.exit36 + br label %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c.exit34 68: ; preds = %._crit_edge.thread %69 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSo3putEc(ptr noundef nonnull align 8 dereferenceable(8) %1, i8 noundef signext 125) - br label %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c.exit36 + br label %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c.exit34 -_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c.exit36: ; preds = %66, %68 +_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c.exit34: ; preds = %66, %68 call void @llvm.lifetime.end.p0(ptr nonnull %3) ret void } diff --git a/bench/libpng/optimized/pngset.ll b/bench/libpng/optimized/pngset.ll index dfef67e077a..6adbece5439 100644 --- a/bench/libpng/optimized/pngset.ll +++ b/bench/libpng/optimized/pngset.ll @@ -2238,8 +2238,8 @@ define void @png_set_keep_unknown_chunks(ptr noalias noundef %0, i32 noundef %1, %26 = mul nuw i32 %21, 5 %27 = zext i32 %26 to i64 %28 = tail call noalias ptr @png_malloc(ptr noundef nonnull %0, i64 noundef %27) #12 - %.not81 = icmp eq i32 %spec.store.select, 0 - br i1 %.not81, label %34, label %29 + %.not80 = icmp eq i32 %spec.store.select, 0 + br i1 %.not80, label %34, label %29 29: ; preds = %25 %30 = load ptr, ptr %18, align 8, !tbaa !198 @@ -2249,25 +2249,25 @@ define void @png_set_keep_unknown_chunks(ptr noalias noundef %0, i32 noundef %1, br label %34 33: ; preds = %24 - %.not80 = icmp eq i32 %spec.store.select, 0 - br i1 %.not80, label %thread-pre-split, label %.lr.ph.i.preheader.us.preheader + %.not79 = icmp eq i32 %spec.store.select, 0 + br i1 %.not79, label %thread-pre-split, label %.lr.ph.i.preheader.us.preheader 34: ; preds = %25, %29 - %.not82 = icmp eq ptr %28, null - br i1 %.not82, label %thread-pre-split, label %.preheader91 + %.not81 = icmp eq ptr %28, null + br i1 %.not81, label %thread-pre-split, label %.preheader90 -.preheader91: ; preds = %34 +.preheader90: ; preds = %34 %35 = trunc nuw nsw i32 %1 to i8 %wide.trip.count = zext nneg i32 %.066 to i64 - br label %.preheader91.split + br label %.preheader90.split .lr.ph.i.preheader.us.preheader: ; preds = %33 - %wide.trip.count111 = zext nneg i32 %.066 to i64 + %wide.trip.count110 = zext nneg i32 %.066 to i64 br label %.lr.ph.i.preheader.us .lr.ph.i.preheader.us: ; preds = %.lr.ph.i.preheader.us.preheader, %add_one_chunk.exit.us - %indvars.iv107 = phi i64 [ 0, %.lr.ph.i.preheader.us.preheader ], [ %indvars.iv.next108, %add_one_chunk.exit.us ] - %36 = mul i64 %indvars.iv107, 5 + %indvars.iv106 = phi i64 [ 0, %.lr.ph.i.preheader.us.preheader ], [ %indvars.iv.next107, %add_one_chunk.exit.us ] + %36 = mul i64 %indvars.iv106, 5 %37 = and i64 %36, 4294967295 %38 = getelementptr inbounds nuw i8, ptr %.071, i64 %37 br label %.lr.ph.i.us @@ -2286,9 +2286,9 @@ define void @png_set_keep_unknown_chunks(ptr noalias noundef %0, i32 noundef %1, br i1 %exitcond.not.i.us, label %add_one_chunk.exit.us, label %.lr.ph.i.us, !llvm.loop !199 add_one_chunk.exit.us: ; preds = %40, %.sink.split.i.loopexit.us - %indvars.iv.next108 = add nuw nsw i64 %indvars.iv107, 1 - %exitcond112.not = icmp eq i64 %indvars.iv.next108, %wide.trip.count111 - br i1 %exitcond112.not, label %.preheader, label %.lr.ph.i.preheader.us, !llvm.loop !200 + %indvars.iv.next107 = add nuw nsw i64 %indvars.iv106, 1 + %exitcond111.not = icmp eq i64 %indvars.iv.next107, %wide.trip.count110 + br i1 %exitcond111.not, label %.preheader, label %.lr.ph.i.preheader.us, !llvm.loop !200 .sink.split.i.loopexit.us: ; preds = %.lr.ph.i.us %43 = getelementptr inbounds nuw i8, ptr %.01722.i.us, i64 4 @@ -2296,21 +2296,21 @@ add_one_chunk.exit.us: ; preds = %40, %.sink.split.i. br label %add_one_chunk.exit.us .preheader: ; preds = %.sink.split.i, %add_one_chunk.exit.us - %.068126128 = phi ptr [ %19, %add_one_chunk.exit.us ], [ %28, %.sink.split.i ] + %.068125127 = phi ptr [ %19, %add_one_chunk.exit.us ], [ %28, %.sink.split.i ] %.us-phi = phi i32 [ %spec.store.select, %add_one_chunk.exit.us ], [ %.016.ph.i, %.sink.split.i ] - %.not101 = icmp eq i32 %.us-phi, 0 - br i1 %.not101, label %._crit_edge.thread, label %.lr.ph + %.not100 = icmp eq i32 %.us-phi, 0 + br i1 %.not100, label %._crit_edge.thread, label %.lr.ph -.preheader91.split: ; preds = %.preheader91, %.sink.split.i +.preheader90.split: ; preds = %.preheader90, %.sink.split.i %indvars.iv = phi i64 [ 0, %.preheader91 ], [ %indvars.iv.next, %.sink.split.i ] - %.06593 = phi i32 [ %spec.store.select, %.preheader91 ], [ %.016.ph.i, %.sink.split.i ] + %.06592 = phi i32 [ %spec.store.select, %.preheader91 ], [ %.016.ph.i, %.sink.split.i ] %44 = mul i64 %indvars.iv, 5 %45 = and i64 %44, 4294967295 %46 = getelementptr inbounds nuw i8, ptr %.071, i64 %45 - %.not24.i = icmp eq i32 %.06593, 0 + %.not24.i = icmp eq i32 %.06592, 0 br i1 %.not24.i, label %._crit_edge.i, label %.lr.ph.i -.lr.ph.i: ; preds = %.preheader91.split, %48 +.lr.ph.i: ; preds = %.preheader90.split, %48 %.023.i = phi i32 [ %49, %48 ], [ 0, %.preheader91.split ] %.01722.i = phi ptr [ %50, %48 ], [ %28, %.preheader91.split ] %bcmp.i = tail call i32 @bcmp(ptr noundef nonnull dereferenceable(4) %.01722.i, ptr noundef nonnull readonly dereferenceable(4) %46, i64 4) @@ -2320,55 +2320,55 @@ add_one_chunk.exit.us: ; preds = %40, %.sink.split.i. 48: ; preds = %.lr.ph.i %49 = add nuw i32 %.023.i, 1 %50 = getelementptr inbounds nuw i8, ptr %.01722.i, i64 5 - %exitcond.not.i = icmp eq i32 %49, %.06593 + %exitcond.not.i = icmp eq i32 %49, %.06592 br i1 %exitcond.not.i, label %._crit_edge.i, label %.lr.ph.i, !llvm.loop !199 -._crit_edge.i: ; preds = %48, %.preheader91.split +._crit_edge.i: ; preds = %48, %.preheader90.split %.017.lcssa.i = phi ptr [ %28, %.preheader91.split ], [ %50, %48 ] - %51 = add i32 %.06593, 1 + %51 = add i32 %.06592, 1 %52 = load i32, ptr %46, align 1 store i32 %52, ptr %.017.lcssa.i, align 1 br label %.sink.split.i .sink.split.i: ; preds = %.lr.ph.i, %._crit_edge.i %.017.lcssa.sink.i = phi ptr [ %.017.lcssa.i, %._crit_edge.i ], [ %.01722.i, %.lr.ph.i ] - %.016.ph.i = phi i32 [ %51, %._crit_edge.i ], [ %.06593, %.lr.ph.i ] + %.016.ph.i = phi i32 [ %51, %._crit_edge.i ], [ %.06592, %.lr.ph.i ] %53 = getelementptr inbounds nuw i8, ptr %.017.lcssa.sink.i, i64 4 store i8 %35, ptr %53, align 1, !tbaa !4 %indvars.iv.next = add nuw nsw i64 %indvars.iv, 1 %exitcond.not = icmp eq i64 %indvars.iv.next, %wide.trip.count - br i1 %exitcond.not, label %.preheader, label %.preheader91.split, !llvm.loop !200 + br i1 %exitcond.not, label %.preheader, label %.preheader90.split, !llvm.loop !200 .lr.ph: ; preds = %.preheader, %61 - %.1100 = phi i32 [ %62, %61 ], [ 0, %.preheader ] - %.06299 = phi ptr [ %.163, %61 ], [ %.068126128, %.preheader ] - %.06497 = phi ptr [ %63, %61 ], [ %.068126128, %.preheader ] - %.16796 = phi i32 [ %.2, %61 ], [ 0, %.preheader ] - %54 = getelementptr inbounds nuw i8, ptr %.06497, i64 4 + %.199 = phi i32 [ %62, %61 ], [ 0, %.preheader ] + %.06298 = phi ptr [ %.163, %61 ], [ %.068125127, %.preheader ] + %.06496 = phi ptr [ %63, %61 ], [ %.068125127, %.preheader ] + %.16795 = phi i32 [ %.2, %61 ], [ 0, %.preheader ] + %54 = getelementptr inbounds nuw i8, ptr %.06496, i64 4 %55 = load i8, ptr %54, align 1, !tbaa !4 - %.not86 = icmp eq i8 %55, 0 - br i1 %.not86, label %61, label %56 + %.not85 = icmp eq i8 %55, 0 + br i1 %.not85, label %61, label %56 56: ; preds = %.lr.ph - %.not87 = icmp eq ptr %.06299, %.06497 - br i1 %.not87, label %58, label %57 + %.not86 = icmp eq ptr %.06298, %.06496 + br i1 %.not86, label %58, label %57 57: ; preds = %56 - tail call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(5) %.06299, ptr noundef nonnull align 1 dereferenceable(5) %.06497, i64 5, i1 false) + tail call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(5) %.06298, ptr noundef nonnull align 1 dereferenceable(5) %.06496, i64 5, i1 false) br label %58 58: ; preds = %57, %56 - %59 = getelementptr inbounds nuw i8, ptr %.06299, i64 5 - %60 = add i32 %.16796, 1 + %59 = getelementptr inbounds nuw i8, ptr %.06298, i64 5 + %60 = add i32 %.16795, 1 br label %61 61: ; preds = %.lr.ph, %58 - %.2 = phi i32 [ %60, %58 ], [ %.16796, %.lr.ph ] - %.163 = phi ptr [ %59, %58 ], [ %.06299, %.lr.ph ] - %62 = add nuw i32 %.1100, 1 - %63 = getelementptr inbounds nuw i8, ptr %.06497, i64 5 - %exitcond113.not = icmp eq i32 %62, %.us-phi - br i1 %exitcond113.not, label %._crit_edge, label %.lr.ph, !llvm.loop !201 + %.2 = phi i32 [ %60, %58 ], [ %.16795, %.lr.ph ] + %.163 = phi ptr [ %59, %58 ], [ %.06298, %.lr.ph ] + %62 = add nuw i32 %.199, 1 + %63 = getelementptr inbounds nuw i8, ptr %.06496, i64 5 + %exitcond112.not = icmp eq i32 %62, %.us-phi + br i1 %exitcond112.not, label %._crit_edge, label %.lr.ph, !llvm.loop !201 ._crit_edge: ; preds = %61 %64 = icmp eq i32 %.2, 0 @@ -2376,15 +2376,15 @@ add_one_chunk.exit.us: ; preds = %40, %.sink.split.i. ._crit_edge.thread: ; preds = %.preheader, %._crit_edge %65 = load ptr, ptr %18, align 8, !tbaa !198 - %.not83 = icmp eq ptr %65, %.068126128 - br i1 %.not83, label %67, label %66 + %.not82 = icmp eq ptr %65, %.068125127 + br i1 %.not82, label %67, label %66 66: ; preds = %._crit_edge.thread - tail call void @png_free(ptr noundef nonnull %0, ptr noundef nonnull %.068126128) #12 + tail call void @png_free(ptr noundef nonnull %0, ptr noundef nonnull %.068125127) #12 br label %thread-pre-split thread-pre-split: ; preds = %33, %66, %._crit_edge, %34 - %.270.ph = phi ptr [ null, %34 ], [ null, %66 ], [ %.068126128, %._crit_edge ], [ null, %33 ] + %.270.ph = phi ptr [ null, %34 ], [ null, %66 ], [ %.068125127, %._crit_edge ], [ null, %33 ] %.3.ph = phi i32 [ 0, %34 ], [ 0, %66 ], [ %.2, %._crit_edge ], [ 0, %33 ] %.pr = load ptr, ptr %18, align 8, !tbaa !198 br label %67 @@ -2394,12 +2394,12 @@ thread-pre-split: ; preds = %33, %66, %._crit_ed %.270 = phi ptr [ %.270.ph, %thread-pre-split ], [ null, %._crit_edge.thread ] %.3 = phi i32 [ %.3.ph, %thread-pre-split ], [ 0, %._crit_edge.thread ] store i32 %.3, ptr %16, align 4, !tbaa !197 - %.not84 = icmp eq ptr %68, %.270 - br i1 %.not84, label %72, label %69 + %.not83 = icmp eq ptr %68, %.270 + br i1 %.not83, label %72, label %69 69: ; preds = %67 - %.not85 = icmp eq ptr %68, null - br i1 %.not85, label %71, label %70 + %.not84 = icmp eq ptr %68, null + br i1 %.not84, label %71, label %70 70: ; preds = %69 tail call void @png_free(ptr noundef nonnull %0, ptr noundef nonnull %68) #12 diff --git a/bench/libsodium/optimized/crypto_secretbox_easy.ll b/bench/libsodium/optimized/crypto_secretbox_easy.ll index ced2d3577a0..0bc9657636f 100644 --- a/bench/libsodium/optimized/crypto_secretbox_easy.ll +++ b/bench/libsodium/optimized/crypto_secretbox_easy.ll @@ -26,14 +26,14 @@ define dso_local noundef i32 @crypto_secretbox_detached(ptr noundef nonnull %0, %17 = icmp ugt ptr %2, %0 %18 = sub i64 %12, %11 %19 = icmp ult i64 %18, %3 - %or.cond51 = and i1 %17, %19 - br i1 %or.cond51, label %.thread, label %21 + %or.cond50 = and i1 %17, %19 + br i1 %or.cond50, label %.thread, label %21 .thread: ; preds = %6, %16 call void @llvm.memmove.p0.p0.i64(ptr noundef nonnull align 1 %0, ptr noundef nonnull align 1 %2, i64 noundef %3, i1 noundef false) #7 call void @llvm.memset.p0.i64(ptr noundef nonnull align 16 dereferenceable(32) %8, i8 noundef 0, i64 noundef 32, i1 noundef false) #7 %20 = icmp ugt i64 %3, 32 - %spec.store.select66 = call i64 @llvm.umin.i64(i64 %3, i64 32) + %spec.store.select59 = call i64 @llvm.umin.i64(i64 %3, i64 32) br label %.lr.ph.preheader 21: ; preds = %16 @@ -44,40 +44,40 @@ define dso_local noundef i32 @crypto_secretbox_detached(ptr noundef nonnull %0, br i1 %.not, label %._crit_edge, label %.lr.ph.preheader .lr.ph.preheader: ; preds = %.thread, %21 - %spec.store.select70 = phi i64 [ %spec.store.select66, %.thread ], [ %spec.store.select, %21 ] + %spec.store.select63 = phi i64 [ %spec.store.select59, %.thread ], [ %spec.store.select, %21 ] %23 = phi i1 [ %20, %.thread ], [ %22, %21 ] - %.04268 = phi ptr [ %0, %.thread ], [ %2, %21 ] + %.04261 = phi ptr [ %0, %.thread ], [ %2, %21 ] %scevgep = getelementptr inbounds nuw i8, ptr %8, i64 32 - call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 16 %scevgep, ptr align 1 %.04268, i64 %spec.store.select70, i1 false) + call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 16 %scevgep, ptr align 1 %.04261, i64 %spec.store.select63, i1 false) br label %._crit_edge ._crit_edge: ; preds = %.lr.ph.preheader, %21 - %.not73 = phi i1 [ false, %.lr.ph.preheader ], [ true, %21 ] - %spec.store.select71 = phi i64 [ %spec.store.select70, %.lr.ph.preheader ], [ %spec.store.select, %21 ] + %.not66 = phi i1 [ false, %.lr.ph.preheader ], [ true, %21 ] + %spec.store.select64 = phi i64 [ %spec.store.select63, %.lr.ph.preheader ], [ %spec.store.select, %21 ] %24 = phi i1 [ %23, %.lr.ph.preheader ], [ %22, %21 ] - %.04269 = phi ptr [ %.04268, %.lr.ph.preheader ], [ %2, %21 ] + %.04262 = phi ptr [ %.04261, %.lr.ph.preheader ], [ %2, %21 ] %25 = getelementptr i8, ptr %4, i64 16 %26 = call i32 @crypto_stream_salsa20_xor(ptr noundef nonnull %8, ptr noundef nonnull %8, i64 noundef 64, ptr noundef %25, ptr noundef nonnull %9) #7 %27 = call i32 @crypto_onetimeauth_poly1305_init(ptr noundef nonnull %7, ptr noundef nonnull %8) #7 - br i1 %.not73, label %._crit_edge56, label %.lr.ph55.preheader + br i1 %.not66, label %._crit_edge55, label %.lr.ph54.preheader -.lr.ph55.preheader: ; preds = %._crit_edge - %scevgep58 = getelementptr inbounds nuw i8, ptr %8, i64 32 - call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 1 %0, ptr nonnull align 16 %scevgep58, i64 %spec.store.select71, i1 false) - br label %._crit_edge56 +.lr.ph54.preheader: ; preds = %._crit_edge + %scevgep57 = getelementptr inbounds nuw i8, ptr %8, i64 32 + call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 1 %0, ptr nonnull align 16 %scevgep57, i64 %spec.store.select64, i1 false) + br label %._crit_edge55 -._crit_edge56: ; preds = %.lr.ph55.preheader, %._crit_edge +._crit_edge55: ; preds = %.lr.ph54.preheader, %._crit_edge call void @sodium_memzero(ptr noundef nonnull %8, i64 noundef 64) #7 br i1 %24, label %28, label %33 -28: ; preds = %._crit_edge56 - %29 = getelementptr i8, ptr %0, i64 %spec.store.select71 - %30 = getelementptr i8, ptr %.04269, i64 %spec.store.select71 - %31 = sub nuw i64 %3, %spec.store.select71 +28: ; preds = %._crit_edge55 + %29 = getelementptr i8, ptr %0, i64 %spec.store.select64 + %30 = getelementptr i8, ptr %.04262, i64 %spec.store.select64 + %31 = sub nuw i64 %3, %spec.store.select64 %32 = call i32 @crypto_stream_salsa20_xor_ic(ptr noundef %29, ptr noundef %30, i64 noundef %31, ptr noundef %25, i64 noundef 1, ptr noundef nonnull %9) #7 br label %33 -33: ; preds = %28, %._crit_edge56 +33: ; preds = %28, %._crit_edge55 call void @sodium_memzero(ptr noundef nonnull %9, i64 noundef 32) #7 %34 = call i32 @crypto_onetimeauth_poly1305_update(ptr noundef nonnull %7, ptr noundef nonnull %0, i64 noundef %3) #7 %35 = call i32 @crypto_onetimeauth_poly1305_final(ptr noundef nonnull %7, ptr noundef nonnull %1) #7 @@ -130,8 +130,8 @@ define dso_local range(i32 -1, 1) i32 @crypto_secretbox_open_detached(ptr nounde call void @llvm.memset.p0.i64(ptr noundef nonnull align 16 dereferenceable(32) %7, i8 noundef 0, i64 noundef 32, i1 noundef false) #7 %10 = icmp ugt i64 %3, 32 %spec.store.select = call i64 @llvm.umin.i64(i64 %3, i64 32) - %.not61 = icmp eq i64 %3, 0 - br i1 %.not61, label %._crit_edge, label %.lr.ph.preheader + %.not60 = icmp eq i64 %3, 0 + br i1 %.not60, label %._crit_edge, label %.lr.ph.preheader .lr.ph.preheader: ; preds = %6 %scevgep = getelementptr inbounds nuw i8, ptr %7, i64 32 @@ -162,35 +162,35 @@ define dso_local range(i32 -1, 1) i32 @crypto_secretbox_open_detached(ptr nounde %23 = icmp ugt ptr %0, %1 %24 = sub i64 %18, %17 %25 = icmp ult i64 %24, %3 - %or.cond55 = and i1 %23, %25 - br i1 %or.cond55, label %.thread, label %26 + %or.cond54 = and i1 %23, %25 + br i1 %or.cond54, label %.thread, label %26 .thread: ; preds = %16, %22 call void @llvm.memmove.p0.p0.i64(ptr noundef nonnull align 1 %0, ptr noundef nonnull align 1 %1, i64 noundef %3, i1 noundef false) #7 - br label %._crit_edge60 + br label %._crit_edge59 26: ; preds = %22 - br i1 %.not61, label %._crit_edge60.thread, label %._crit_edge60 + br i1 %.not60, label %._crit_edge59.thread, label %._crit_edge59 -._crit_edge60.thread: ; preds = %26 +._crit_edge59.thread: ; preds = %26 call void @sodium_memzero(ptr noundef nonnull %7, i64 noundef 64) #7 br label %.sink.split -._crit_edge60: ; preds = %26, %.thread - %.04572 = phi ptr [ %0, %.thread ], [ %1, %26 ] - %scevgep63 = getelementptr inbounds nuw i8, ptr %7, i64 32 - call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 1 %0, ptr nonnull align 16 %scevgep63, i64 %spec.store.select, i1 false) +._crit_edge59: ; preds = %26, %.thread + %.04565 = phi ptr [ %0, %.thread ], [ %1, %26 ] + %scevgep62 = getelementptr inbounds nuw i8, ptr %7, i64 32 + call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 1 %0, ptr nonnull align 16 %scevgep62, i64 %spec.store.select, i1 false) call void @sodium_memzero(ptr noundef nonnull %7, i64 noundef 64) #7 br i1 %10, label %27, label %.sink.split -27: ; preds = %._crit_edge60 +27: ; preds = %._crit_edge59 %28 = getelementptr i8, ptr %0, i64 %spec.store.select - %29 = getelementptr i8, ptr %.04572, i64 %spec.store.select + %29 = getelementptr i8, ptr %.04565, i64 %spec.store.select %30 = sub nuw i64 %3, %spec.store.select %31 = call i32 @crypto_stream_salsa20_xor_ic(ptr noundef %28, ptr noundef %29, i64 noundef %30, ptr noundef %11, i64 noundef 1, ptr noundef nonnull %8) #7 br label %.sink.split -.sink.split: ; preds = %._crit_edge60, %27, %._crit_edge60.thread, %._crit_edge +.sink.split: ; preds = %._crit_edge59, %27, %._crit_edge59.thread, %._crit_edge %.044.ph = phi i32 [ -1, %._crit_edge ], [ 0, %._crit_edge60.thread ], [ 0, %27 ], [ 0, %._crit_edge60 ] call void @sodium_memzero(ptr noundef nonnull %8, i64 noundef 32) #7 br label %32 diff --git a/bench/libwebp/optimized/bit_writer_utils.ll b/bench/libwebp/optimized/bit_writer_utils.ll index 44dbf9f9a0f..ad065feb6f2 100644 --- a/bench/libwebp/optimized/bit_writer_utils.ll +++ b/bench/libwebp/optimized/bit_writer_utils.ll @@ -693,8 +693,8 @@ define hidden range(i32 0, 2) i32 @VP8LBitWriterClone(ptr noundef readonly captu %20 = sub i64 %19, %15 %21 = add i64 %20, %9 %.not.i = icmp eq ptr %11, %13 - %.not41.i = icmp ugt i64 %21, %16 - %or.cond.i = select i1 %.not.i, i1 true, i1 %.not41.i + %.not40.i = icmp ugt i64 %21, %16 + %or.cond.i = select i1 %.not.i, i1 true, i1 %.not40.i br i1 %or.cond.i, label %22, label %37 22: ; preds = %2 @@ -708,8 +708,8 @@ define hidden range(i32 0, 2) i32 @VP8LBitWriterClone(ptr noundef readonly captu br i1 %28, label %VP8LBitWriterResize.exit, label %29 29: ; preds = %22 - %.not42.i = icmp eq ptr %18, %13 - br i1 %.not42.i, label %32, label %30 + %.not41.i = icmp eq ptr %18, %13 + br i1 %.not41.i, label %32, label %30 30: ; preds = %29 %31 = load ptr, ptr %12, align 8, !tbaa !24 @@ -831,8 +831,8 @@ define hidden void @VP8LPutBitsFlushBits(ptr noundef captures(none) %0) local_un %16 = sub i64 %15, %12 %17 = add i64 %14, %16 %.not.i = icmp eq ptr %6, %10 - %.not41.i = icmp ugt i64 %17, %13 - %or.cond.i = or i1 %.not.i, %.not41.i + %.not40.i = icmp ugt i64 %17, %13 + %or.cond.i = or i1 %.not.i, %.not40.i br i1 %or.cond.i, label %18, label %.thread 18: ; preds = %8 @@ -846,8 +846,8 @@ define hidden void @VP8LPutBitsFlushBits(ptr noundef captures(none) %0) local_un br i1 %24, label %32, label %25 25: ; preds = %18 - %.not42.i = icmp eq ptr %3, %10 - br i1 %.not42.i, label %28, label %26 + %.not41.i = icmp eq ptr %3, %10 + br i1 %.not41.i, label %28, label %26 26: ; preds = %25 %27 = load ptr, ptr %9, align 8, !tbaa !24 @@ -928,8 +928,8 @@ define hidden void @VP8LPutBitsInternal(ptr noundef captures(none) %0, i32 nound %25 = sub i64 %24, %21 %26 = add i64 %23, %25 %.not.i = icmp eq ptr %14, %19 - %.not41.i = icmp ugt i64 %26, %22 - %or.cond.i = or i1 %.not.i, %.not41.i + %.not40.i = icmp ugt i64 %26, %22 + %or.cond.i = or i1 %.not.i, %.not40.i br i1 %or.cond.i, label %27, label %.critedge 27: ; preds = %18 @@ -943,8 +943,8 @@ define hidden void @VP8LPutBitsInternal(ptr noundef captures(none) %0, i32 nound br i1 %33, label %41, label %34 34: ; preds = %27 - %.not42.i = icmp eq ptr %15, %19 - br i1 %.not42.i, label %37, label %35 + %.not41.i = icmp eq ptr %15, %19 + br i1 %.not41.i, label %37, label %35 35: ; preds = %34 %36 = load ptr, ptr %12, align 8, !tbaa !24 @@ -1015,8 +1015,8 @@ define hidden ptr @VP8LBitWriterFinish(ptr noundef captures(none) %0) local_unna %17 = sub i64 %16, %12 %18 = add i64 %17, %6 %.not.i = icmp eq ptr %8, %10 - %.not41.i = icmp ugt i64 %18, %13 - %or.cond.i = select i1 %.not.i, i1 true, i1 %.not41.i + %.not40.i = icmp ugt i64 %18, %13 + %or.cond.i = select i1 %.not.i, i1 true, i1 %.not40.i br i1 %or.cond.i, label %19, label %VP8LBitWriterResize.exit 19: ; preds = %1 @@ -1035,8 +1035,8 @@ VP8LBitWriterResize.exit.thread: ; preds = %19 br label %44 27: ; preds = %19 - %.not42.i = icmp eq ptr %15, %10 - br i1 %.not42.i, label %30, label %28 + %.not41.i = icmp eq ptr %15, %10 + br i1 %.not41.i, label %30, label %28 28: ; preds = %27 %29 = load ptr, ptr %9, align 8, !tbaa !24 diff --git a/bench/libwebp/optimized/dwebp.ll b/bench/libwebp/optimized/dwebp.ll index 4d5ba923a0a..513c6afe39d 100644 --- a/bench/libwebp/optimized/dwebp.ll +++ b/bench/libwebp/optimized/dwebp.ll @@ -148,7 +148,7 @@ sub_1: ; preds = %sub_0 %38 = getelementptr inbounds nuw i8, ptr %34, i64 2 %39 = load i8, ptr %38, align 1 %40 = icmp eq i8 %39, 0 - br i1 %40, label %44, label %.thread497 + br i1 %40, label %44, label %.thread496 .tail.thread: ; preds = %sub_1 %41 = call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %34, ptr noundef nonnull dereferenceable(6) @.str.2) #9 @@ -157,19 +157,19 @@ sub_1: ; preds = %sub_0 .tail.thread.thread: ; preds = %sub_0 %42 = call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %34, ptr noundef nonnull dereferenceable(6) @.str.2) #9 - %.not223510 = icmp eq i32 %42, 0 - br i1 %.not223510, label %44, label %.tail354.thread + %.not223509 = icmp eq i32 %42, 0 + br i1 %.not223509, label %44, label %.tail354.thread -.thread497: ; preds = %.tail +.thread496: ; preds = %.tail %43 = call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %34, ptr noundef nonnull dereferenceable(6) @.str.2) #9 - %.not223498 = icmp eq i32 %43, 0 - br i1 %.not223498, label %44, label %sub_1356 + %.not223497 = icmp eq i32 %43, 0 + br i1 %.not223497, label %44, label %sub_1356 -44: ; preds = %.tail.thread.thread, %.thread497, %.tail.thread, %.tail +44: ; preds = %.tail.thread.thread, %.thread496, %.tail.thread, %.tail %puts.i = call i32 @puts(ptr nonnull dereferenceable(1) @str) br label %.thread312 -sub_1356: ; preds = %.tail.thread, %.thread497 +sub_1356: ; preds = %.tail.thread, %.thread496 %45 = getelementptr inbounds nuw i8, ptr %34, i64 1 %46 = load i8, ptr %45, align 1 %.not436 = icmp eq i8 %46, 111 @@ -529,13 +529,13 @@ sub_1366: ; preds = %sub_0365 %204 = getelementptr inbounds nuw i8, ptr %34, i64 1 %205 = load i8, ptr %204, align 1 %.not440 = icmp eq i8 %205, 45 - br i1 %.not440, label %.tail364, label %.thread504 + br i1 %.not440, label %.tail364, label %.thread503 .tail364: ; preds = %sub_1366 %206 = getelementptr inbounds nuw i8, ptr %34, i64 2 %207 = load i8, ptr %206, align 1 %208 = icmp eq i8 %207, 0 - br i1 %208, label %209, label %.thread504 + br i1 %208, label %209, label %.thread503 209: ; preds = %.tail364 br i1 %58, label %210, label %216 @@ -545,7 +545,7 @@ sub_1366: ; preds = %sub_0365 %212 = load ptr, ptr %211, align 8, !tbaa !4 br label %216 -.thread504: ; preds = %.tail364, %sub_1366 +.thread503: ; preds = %.tail364, %sub_1366 %213 = load ptr, ptr @stderr, align 8, !tbaa !9 %214 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %213, ptr noundef nonnull @.str.45, ptr noundef nonnull %34) #10 %puts.i287 = call i32 @puts(ptr nonnull dereferenceable(1) @str) @@ -566,7 +566,7 @@ sub_1366: ; preds = %sub_0365 %puts.i288 = call i32 @puts(ptr nonnull dereferenceable(1) @str) br label %.thread312 -.thread312: ; preds = %.thread504, %.loopexit369, %79, %44 +.thread312: ; preds = %.thread503, %.loopexit369, %79, %44 %.3.ph = phi i32 [ 0, %44 ], [ 0, %79 ], [ 1, %.loopexit369 ], [ 1, %.thread504 ] call void @llvm.lifetime.end.p0(ptr nonnull %6) br label %427 @@ -727,7 +727,7 @@ sub_1366: ; preds = %sub_0365 257: ; preds = %226 br label %258 -default.unreachable495: ; preds = %226 +default.unreachable494: ; preds = %226 unreachable 258: ; preds = %226, %257, %256, %255, %254, %253, %252, %251, %250, %249, %248, %247, %246 diff --git a/bench/libwebp/optimized/predictor_enc.ll b/bench/libwebp/optimized/predictor_enc.ll index c4045582f0c..f65b17d9395 100644 --- a/bench/libwebp/optimized/predictor_enc.ll +++ b/bench/libwebp/optimized/predictor_enc.ll @@ -2292,7 +2292,7 @@ define internal fastcc void @GetResidual(i32 noundef %0, i32 noundef %1, ptr nou %45 = add i32 %1, -1 %46 = icmp eq i32 %8, %45 %47 = add nsw i32 %0, -1 - %.not44.i = icmp eq i32 %11, 0 + %.not43.i = icmp eq i32 %11, 0 %48 = sext i32 %0 to i64 %49 = getelementptr inbounds i32, ptr %2, i64 %48 br i1 %44, label %.lr.ph.split.us.preheader, label %.lr.ph.split @@ -2547,12 +2547,12 @@ define internal fastcc void @GetResidual(i32 noundef %0, i32 noundef %1, ptr nou 181: ; preds = %165 %182 = icmp sgt i32 %170, %167 %or.cond34.i.i = and i1 %178, %182 - %spec.select75.i = select i1 %or.cond34.i.i, i32 %179, i32 %170 + %spec.select74.i = select i1 %or.cond34.i.i, i32 %179, i32 %170 br label %NearLosslessComponent.exit.i NearLosslessComponent.exit.i: ; preds = %181, %180, %164 %.pre-phi.i = phi i32 [ %.pre.i, %164 ], [ %168, %180 ], [ %168, %181 ] - %.039.i = phi i32 [ %.narrow.i.i, %164 ], [ %spec.select.i, %180 ], [ %spec.select75.i, %181 ] + %.039.i = phi i32 [ %.narrow.i.i, %164 ], [ %spec.select.i, %180 ], [ %spec.select74.i, %181 ] %183 = lshr i32 %143, 8 %184 = trunc i32 %183 to i8 %185 = lshr i32 %139, 8 @@ -2576,33 +2576,33 @@ NearLosslessComponent.exit.i: ; preds = %181, %180, %164 br i1 %200, label %203, label %204 203: ; preds = %NearLosslessComponent.exit.i - %.not33.i48.i = icmp samesign ugt i32 %192, %191 - %or.cond.i49.i = select i1 %201, i1 true, i1 %.not33.i48.i - %spec.select76.i = select i1 %or.cond.i49.i, i32 %192, i32 %202 - br label %NearLosslessComponent.exit50.i + %.not33.i47.i = icmp samesign ugt i32 %192, %191 + %or.cond.i48.i = select i1 %201, i1 true, i1 %.not33.i47.i + %spec.select75.i = select i1 %or.cond.i48.i, i32 %192, i32 %202 + br label %NearLosslessComponent.exit49.i 204: ; preds = %NearLosslessComponent.exit.i %205 = icmp sgt i32 %193, %191 - %or.cond34.i45.i = and i1 %201, %205 - %spec.select77.i = select i1 %or.cond34.i45.i, i32 %202, i32 %193 - br label %NearLosslessComponent.exit50.i - -NearLosslessComponent.exit50.i: ; preds = %204, %203 - %.0.in.i46.i = phi i32 [ %spec.select76.i, %203 ], [ %spec.select77.i, %204 ] - %.0.i47.i = trunc i32 %.0.in.i46.i to i8 - %.narrow.i = add i8 %.0.i47.i, %186 - %.narrow.i51.i = sub i8 %.narrow.i, %184 + %or.cond34.i44.i = and i1 %201, %205 + %spec.select76.i = select i1 %or.cond34.i44.i, i32 %202, i32 %193 + br label %NearLosslessComponent.exit49.i + +NearLosslessComponent.exit49.i: ; preds = %204, %203 + %.0.in.i45.i = phi i32 [ %spec.select75.i, %203 ], [ %spec.select76.i, %204 ] + %.0.i46.i = trunc i32 %.0.in.i45.i to i8 + %.narrow.i = add i8 %.0.i46.i, %186 + %.narrow.i50.i = sub i8 %.narrow.i, %184 %206 = xor i8 %.narrow.i, -1 - %.040.i = select i1 %.not44.i, i8 0, i8 %.narrow.i51.i + %.040.i = select i1 %.not43.i, i8 0, i8 %.narrow.i50.i %207 = lshr i32 %143, 16 %208 = trunc i32 %207 to i8 - %.narrow.i52.i = sub i8 %208, %.040.i + %.narrow.i51.i = sub i8 %208, %.040.i %209 = lshr i32 %139, 16 - %210 = zext i8 %.narrow.i52.i to i32 + %210 = zext i8 %.narrow.i51.i to i32 %211 = sub nsw i32 %210, %209 %212 = and i32 %211, 255 %213 = zext i8 %206 to i32 - %214 = select i1 %.not44.i, i32 255, i32 %213 + %214 = select i1 %.not43.i, i32 255, i32 %213 %215 = sub nsw i32 %214, %209 %216 = and i32 %215, 255 %217 = and i32 %212, %.pre-phi.i @@ -2619,23 +2619,23 @@ NearLosslessComponent.exit50.i: ; preds = %204, %203 %228 = add nuw i32 %217, %158 br i1 %226, label %229, label %230 -229: ; preds = %NearLosslessComponent.exit50.i - %.not33.i56.i = icmp samesign ugt i32 %217, %216 - %or.cond.i57.i = select i1 %227, i1 true, i1 %.not33.i56.i - %spec.select78.i = select i1 %or.cond.i57.i, i32 %217, i32 %228 - br label %NearLosslessComponent.exit58.i +229: ; preds = %NearLosslessComponent.exit49.i + %.not33.i55.i = icmp samesign ugt i32 %217, %216 + %or.cond.i56.i = select i1 %227, i1 true, i1 %.not33.i55.i + %spec.select77.i = select i1 %or.cond.i56.i, i32 %217, i32 %228 + br label %NearLosslessComponent.exit57.i -230: ; preds = %NearLosslessComponent.exit50.i +230: ; preds = %NearLosslessComponent.exit49.i %231 = icmp sgt i32 %218, %216 - %or.cond34.i53.i = and i1 %227, %231 - %spec.select79.i = select i1 %or.cond34.i53.i, i32 %228, i32 %218 - br label %NearLosslessComponent.exit58.i + %or.cond34.i52.i = and i1 %227, %231 + %spec.select78.i = select i1 %or.cond34.i52.i, i32 %228, i32 %218 + br label %NearLosslessComponent.exit57.i -NearLosslessComponent.exit58.i: ; preds = %230, %229 - %.0.in.i54.i = phi i32 [ %spec.select78.i, %229 ], [ %spec.select79.i, %230 ] +NearLosslessComponent.exit57.i: ; preds = %230, %229 + %.0.in.i53.i = phi i32 [ %spec.select77.i, %229 ], [ %spec.select78.i, %230 ] %232 = trunc i32 %143 to i8 - %.narrow.i59.i = sub i8 %232, %.040.i - %233 = zext i8 %.narrow.i59.i to i32 + %.narrow.i58.i = sub i8 %232, %.040.i + %233 = zext i8 %.narrow.i58.i to i32 %234 = sub i32 %233, %139 %235 = and i32 %234, 255 %236 = sub i32 %214, %139 @@ -2654,28 +2654,28 @@ NearLosslessComponent.exit58.i: ; preds = %230, %229 %249 = add nuw i32 %238, %158 br i1 %247, label %250, label %251 -250: ; preds = %NearLosslessComponent.exit58.i - %.not33.i63.i = icmp samesign ugt i32 %238, %237 - %or.cond.i64.i = select i1 %248, i1 true, i1 %.not33.i63.i - %spec.select80.i = select i1 %or.cond.i64.i, i32 %238, i32 %249 - br label %NearLosslessComponent.exit65.i +250: ; preds = %NearLosslessComponent.exit57.i + %.not33.i62.i = icmp samesign ugt i32 %238, %237 + %or.cond.i63.i = select i1 %248, i1 true, i1 %.not33.i62.i + %spec.select79.i = select i1 %or.cond.i63.i, i32 %238, i32 %249 + br label %NearLosslessComponent.exit64.i -251: ; preds = %NearLosslessComponent.exit58.i +251: ; preds = %NearLosslessComponent.exit57.i %252 = icmp sgt i32 %239, %237 - %or.cond34.i60.i = and i1 %248, %252 - %spec.select81.i = select i1 %or.cond34.i60.i, i32 %249, i32 %239 - br label %NearLosslessComponent.exit65.i + %or.cond34.i59.i = and i1 %248, %252 + %spec.select80.i = select i1 %or.cond34.i59.i, i32 %249, i32 %239 + br label %NearLosslessComponent.exit64.i -NearLosslessComponent.exit65.i: ; preds = %251, %250 - %.0.in.i61.i = phi i32 [ %spec.select80.i, %250 ], [ %spec.select81.i, %251 ] +NearLosslessComponent.exit64.i: ; preds = %251, %250 + %.0.in.i60.i = phi i32 [ %spec.select79.i, %250 ], [ %spec.select80.i, %251 ] %253 = shl i32 %.039.i, 24 - %254 = shl i32 %.0.in.i54.i, 16 + %254 = shl i32 %.0.in.i53.i, 16 %255 = and i32 %254, 16711680 %256 = or disjoint i32 %255, %253 - %257 = shl i32 %.0.in.i46.i, 8 + %257 = shl i32 %.0.in.i45.i, 8 %258 = and i32 %257, 65280 %259 = or disjoint i32 %256, %258 - %260 = and i32 %.0.in.i61.i, 255 + %260 = and i32 %.0.in.i60.i, 255 %261 = or disjoint i32 %260, %259 %.pre = and i32 %139, -16711936 %.pre114 = and i32 %139, 16711935 @@ -2697,7 +2697,7 @@ NearLosslessComponent.exit65.i: ; preds = %251, %250 %274 = icmp ult i32 %264, 16777216 br i1 %274, label %286, label %292 -.thread126: ; preds = %NearLosslessComponent.exit65.i, %148 +.thread126: ; preds = %NearLosslessComponent.exit64.i, %148 %.pre-phi115 = phi i32 [ %153, %148 ], [ %.pre114, %NearLosslessComponent.exit65.i ] %.pre-phi = phi i32 [ %150, %148 ], [ %.pre, %NearLosslessComponent.exit65.i ] %.0.i75 = phi i32 [ %157, %148 ], [ %261, %NearLosslessComponent.exit65.i ] diff --git a/bench/lodepng/optimized/lodepng_util.ll b/bench/lodepng/optimized/lodepng_util.ll index f167b4734dc..e625ba80b1c 100644 --- a/bench/lodepng/optimized/lodepng_util.ll +++ b/bench/lodepng/optimized/lodepng_util.ll @@ -5881,11 +5881,11 @@ define internal fastcc noundef float @_ZN7lodepngL12lodepng_powfEff(float nounde %3 = fcmp oeq float %0, 1.000000e+00 %4 = fcmp oeq float %1, 0.000000e+00 %or.cond = or i1 %3, %4 - br i1 %or.cond, label %common.ret234, label %5 + br i1 %or.cond, label %common.ret231, label %5 5: ; preds = %2 %6 = fcmp oeq float %1, 1.000000e+00 - br i1 %6, label %common.ret234, label %7 + br i1 %6, label %common.ret231, label %7 7: ; preds = %5 %8 = fcmp ogt float %0, 0.000000e+00 @@ -5902,7 +5902,7 @@ define internal fastcc noundef float @_ZN7lodepngL12lodepng_powfEff(float nounde 14: ; preds = %13 %15 = fadd float %0, %1 - br label %common.ret234 + br label %common.ret231 16: ; preds = %13 br i1 %8, label %17, label %21 @@ -5914,7 +5914,7 @@ define internal fastcc noundef float @_ZN7lodepngL12lodepng_powfEff(float nounde 19: ; preds = %17 %20 = fcmp ugt float %1, 0.000000e+00 %. = select i1 %20, float %0, float 0.000000e+00 - br label %common.ret234 + br label %common.ret231 21: ; preds = %16 %or.cond9 = fcmp ogt float %10, 0x41D0000000000000 @@ -5933,16 +5933,16 @@ define internal fastcc noundef float @_ZN7lodepngL12lodepng_powfEff(float nounde 28: ; preds = %26 %29 = fcmp olt float %1, 0.000000e+00 %30 = select i1 %29, float 0.000000e+00, float 0x7FF0000000000000 - br label %common.ret234 + br label %common.ret231 31: ; preds = %26 %32 = fcmp oeq float %0, 0.000000e+00 - br i1 %32, label %33, label %common.ret234 + br i1 %32, label %33, label %common.ret231 33: ; preds = %31 %34 = fcmp olt float %1, 0.000000e+00 %35 = select i1 %34, float 0x7FF0000000000000, float 0.000000e+00 - br label %common.ret234 + br label %common.ret231 36: ; preds = %22 %37 = and i32 %23, 1 @@ -5957,17 +5957,17 @@ define internal fastcc noundef float @_ZN7lodepngL12lodepng_powfEff(float nounde %41 = fcmp olt float %1, 0.000000e+00 %42 = fdiv float 1.000000e+00, %0 %43 = select i1 %41, float %42, float %0 - br label %common.ret234 + br label %common.ret231 -common.ret234: ; preds = %120, %._crit_edge160.thread, %67, %64, %60, %57, %55, %40, %28, %33, %31, %5, %2, %97, %50, %19, %14, %44 - %common.ret234.op = phi float [ %47, %44 ], [ %101, %97 ], [ %15, %14 ], [ %., %19 ], [ %52, %50 ], [ 1.000000e+00, %2 ], [ %0, %5 ], [ %30, %28 ], [ %35, %33 ], [ 0x7FF8000000000000, %31 ], [ %43, %40 ], [ %59, %57 ], [ 0.000000e+00, %55 ], [ 1.000000e+00, %60 ], [ %70, %67 ], [ 0.000000e+00, %64 ], [ %125, %120 ], [ %129, %._crit_edge160.thread ] - ret float %common.ret234.op +common.ret231: ; preds = %120, %._crit_edge160.thread, %67, %64, %60, %57, %55, %40, %28, %33, %31, %5, %2, %97, %50, %19, %14, %44 + %common.ret231.op = phi float [ %47, %44 ], [ %101, %97 ], [ %15, %14 ], [ %., %19 ], [ %52, %50 ], [ 1.000000e+00, %2 ], [ %0, %5 ], [ %30, %28 ], [ %35, %33 ], [ 0x7FF8000000000000, %31 ], [ %43, %40 ], [ %59, %57 ], [ 0.000000e+00, %55 ], [ 1.000000e+00, %60 ], [ %70, %67 ], [ 0.000000e+00, %64 ], [ %125, %120 ], [ %129, %._crit_edge160.thread ] + ret float %common.ret231.op 44: ; preds = %38 %45 = fneg float %0 %46 = tail call fastcc noundef float @_ZN7lodepngL12lodepng_powfEff(float noundef %45, float noundef %1) %47 = fneg float %46 - br label %common.ret234 + br label %common.ret231 48: ; preds = %36, %21 %.0 = phi i32 [ 0, %21 ], [ %23, %36 ] @@ -5977,7 +5977,7 @@ common.ret234: ; preds = %120, %._crit_edge16 50: ; preds = %48 %51 = fcmp ole float %1, 0.000000e+00 %52 = select i1 %51, float 0x7FF0000000000000, float 0.000000e+00 - br label %common.ret234 + br label %common.ret231 53: ; preds = %48 %54 = fcmp olt float %0, 0xC7EFFFFFE0000000 @@ -5985,18 +5985,18 @@ common.ret234: ; preds = %120, %._crit_edge16 55: ; preds = %53 %56 = fcmp ugt float %1, 0.000000e+00 - br i1 %56, label %57, label %common.ret234 + br i1 %56, label %57, label %common.ret231 57: ; preds = %55 %58 = and i32 %.0, 1 %.not127 = icmp eq i32 %58, 0 %59 = select i1 %.not127, float 0x7FF0000000000000, float 0xFFF0000000000000 - br label %common.ret234 + br label %common.ret231 60: ; preds = %53 %61 = fneg float %0 %62 = fcmp oeq float %0, -1.000000e+00 - br i1 %62, label %common.ret234, label %63 + br i1 %62, label %common.ret231, label %63 63: ; preds = %60, %17 %.1122 = phi float [ %0, %17 ], [ %61, %60 ] @@ -6007,13 +6007,13 @@ common.ret234: ; preds = %120, %._crit_edge16 %65 = fcmp olt float %.1122, 1.000000e+00 %66 = fcmp ule float %1, 0.000000e+00 %.not128 = xor i1 %66, %65 - br i1 %.not128, label %common.ret234, label %67 + br i1 %.not128, label %common.ret231, label %67 67: ; preds = %64 %68 = fcmp olt float %1, 0.000000e+00 %69 = fneg float %1 %70 = select i1 %68, float %69, float %1 - br label %common.ret234 + br label %common.ret231 71: ; preds = %63, %7 %.0121 = phi float [ %0, %7 ], [ %.1122, %63 ] @@ -6090,7 +6090,7 @@ common.ret234: ; preds = %120, %._crit_edge16 %99 = fcmp ule float %1, 0.000000e+00 %100 = xor i1 %99, %98 %101 = select i1 %100, float 0x7FF0000000000000, float 0.000000e+00 - br label %common.ret234 + br label %common.ret231 102: ; preds = %._crit_edge %103 = fptosi float %95 to i32 @@ -6136,16 +6136,16 @@ common.ret234: ; preds = %120, %._crit_edge16 %123 = uitofp nneg i32 %122 to float %124 = fmul float %110, %123 %125 = fdiv float %.1115.lcssa, %124 - br label %common.ret234 + br label %common.ret231 ._crit_edge160.thread: ; preds = %.lr.ph159, %._crit_edge160 - %.2.lcssa189 = phi i32 [ %.2.lcssa, %._crit_edge160 ], [ %117, %.lr.ph159 ] - %.1115.lcssa188 = phi float [ %.1115.lcssa, %._crit_edge160 ], [ %116, %.lr.ph159 ] - %126 = shl nuw nsw i32 1, %.2.lcssa189 + %.2.lcssa186 = phi i32 [ %.2.lcssa, %._crit_edge160 ], [ %117, %.lr.ph159 ] + %.1115.lcssa185 = phi float [ %.1115.lcssa, %._crit_edge160 ], [ %116, %.lr.ph159 ] + %126 = shl nuw nsw i32 1, %.2.lcssa186 %127 = uitofp nneg i32 %126 to float - %128 = fmul float %.1115.lcssa188, %127 + %128 = fmul float %.1115.lcssa185, %127 %129 = fdiv float %128, %110 - br label %common.ret234 + br label %common.ret231 } ; Function Attrs: mustprogress nofree norecurse nosync nounwind memory(argmem: readwrite) uwtable diff --git a/bench/luajit/optimized/lj_alloc.ll b/bench/luajit/optimized/lj_alloc.ll index de2c74e893f..f304945350b 100644 --- a/bench/luajit/optimized/lj_alloc.ll +++ b/bench/luajit/optimized/lj_alloc.ll @@ -362,9 +362,9 @@ define internal fastcc void @lj_alloc_free(ptr noundef %0, ptr noundef %1) unnam 74: ; preds = %67 store ptr %.0283, ptr %71, align 8, !tbaa !45 %cond = icmp eq ptr %.0283, null - br i1 %cond, label %.thread402, label %89 + br i1 %cond, label %.thread399, label %89 -.thread402: ; preds = %74 +.thread399: ; preds = %74 %75 = trunc i64 %70 to i32 %76 = shl nuw i32 1, %75 %77 = xor i32 %76, -1 @@ -439,7 +439,7 @@ define internal fastcc void @lj_alloc_free(ptr noundef %0, ptr noundef %1) unnam store i64 %25, ptr %8, align 8, !tbaa !36 br label %.critedge350 -112: ; preds = %.thread402, %102, %43, %37, %88, %99, %96, %66, %3 +112: ; preds = %.thread399, %102, %43, %37, %88, %99, %96, %66, %3 %.0274 = phi i64 [ %7, %3 ], [ %25, %66 ], [ %25, %96 ], [ %25, %99 ], [ %25, %88 ], [ %25, %37 ], [ %25, %43 ], [ %25, %102 ], [ %25, %.thread402 ] %.0269 = phi ptr [ %4, %3 ], [ %24, %66 ], [ %24, %96 ], [ %24, %99 ], [ %24, %88 ], [ %24, %37 ], [ %24, %43 ], [ %24, %102 ], [ %24, %.thread402 ] %113 = getelementptr inbounds nuw i8, ptr %8, i64 8 @@ -725,9 +725,9 @@ has_segment_link.exit.thread54.i: ; preds = %158, %174, %has_seg 257: ; preds = %250 store ptr %.0291, ptr %254, align 8, !tbaa !45 %cond355 = icmp eq ptr %.0291, null - br i1 %cond355, label %.thread404, label %272 + br i1 %cond355, label %.thread401, label %272 -.thread404: ; preds = %257 +.thread401: ; preds = %257 %258 = trunc i64 %253 to i32 %259 = shl nuw i32 1, %258 %260 = xor i32 %259, -1 @@ -784,7 +784,7 @@ has_segment_link.exit.thread54.i: ; preds = %158, %174, %has_seg store ptr %.0291, ptr %284, align 8, !tbaa !40 br label %285 -285: ; preds = %.thread404, %249, %279, %282, %271, %220, %226 +285: ; preds = %.thread401, %249, %279, %282, %271, %220, %226 %286 = or i64 %211, 1 %287 = getelementptr inbounds nuw i8, ptr %.0269, i64 8 store i64 %286, ptr %287, align 8, !tbaa !4 @@ -932,16 +932,16 @@ has_segment_link.exit.thread54.i: ; preds = %158, %174, %has_seg br label %365 365: ; preds = %.thread, %361, %341 - %.sink413 = phi i64 [ 48, %.thread ], [ 16, %361 ], [ 48, %341 ] - %.0272.lcssa407.sink = phi ptr [ %.0272, %.thread ], [ %363, %361 ], [ %333, %341 ] - %.0269.sink412 = phi ptr [ %.0269, %.thread ], [ %.0272, %361 ], [ %.0269, %341 ] - %.sink411 = phi i64 [ 16, %.thread ], [ 48, %361 ], [ 16, %341 ] + %.sink410 = phi i64 [ 48, %.thread ], [ 16, %361 ], [ 48, %341 ] + %.0272.lcssa404.sink = phi ptr [ %.0272, %.thread ], [ %363, %361 ], [ %333, %341 ] + %.0269.sink409 = phi ptr [ %.0269, %.thread ], [ %.0272, %361 ], [ %.0269, %341 ] + %.sink408 = phi i64 [ 16, %.thread ], [ 48, %361 ], [ 16, %341 ] %.0269.sink = phi ptr [ %.0269, %.thread ], [ null, %361 ], [ %.0269, %341 ] - %366 = getelementptr inbounds nuw i8, ptr %.0269, i64 %.sink413 - store ptr %.0272.lcssa407.sink, ptr %366, align 8, !tbaa !45 + %366 = getelementptr inbounds nuw i8, ptr %.0269, i64 %.sink410 + store ptr %.0272.lcssa404.sink, ptr %366, align 8, !tbaa !45 %367 = getelementptr inbounds nuw i8, ptr %.0269, i64 24 - store ptr %.0269.sink412, ptr %367, align 8, !tbaa !44 - %368 = getelementptr inbounds nuw i8, ptr %.0269, i64 %.sink411 + store ptr %.0269.sink409, ptr %367, align 8, !tbaa !44 + %368 = getelementptr inbounds nuw i8, ptr %.0269, i64 %.sink408 store ptr %.0269.sink, ptr %368, align 8, !tbaa !45 %369 = getelementptr inbounds nuw i8, ptr %0, i64 48 %370 = load i64, ptr %369, align 8, !tbaa !19 @@ -1453,10 +1453,10 @@ tmalloc_small.exit: ; preds = %188, %221 %270 = lshr i64 %.0202.i, 63 %271 = getelementptr inbounds nuw ptr, ptr %267, i64 %270 %272 = load ptr, ptr %271, align 8, !tbaa !45 - %.not242.i = icmp eq ptr %269, null - %.not243.i = icmp eq ptr %269, %272 - %or.cond261.i = or i1 %.not242.i, %.not243.i - %.2207.i = select i1 %or.cond261.i, ptr %.0205.i, ptr %269 + %.not236.i = icmp eq ptr %269, null + %.not237.i = icmp eq ptr %269, %272 + %or.cond255.i = or i1 %.not236.i, %.not237.i + %.2207.i = select i1 %or.cond255.i, ptr %.0205.i, ptr %269 %273 = icmp eq ptr %272, null %274 = shl i64 %.0202.i, 1 br i1 %273, label %.thread.i173, label %258 @@ -1476,8 +1476,8 @@ tmalloc_small.exit: ; preds = %188, %221 %280 = sub i32 0, %279 %281 = or i32 %279, %280 %282 = and i32 %281, %230 - %.not244.i = icmp eq i32 %282, 0 - br i1 %.not244.i, label %tmalloc_large.exit.thread, label %283 + %.not238.i = icmp eq i32 %282, 0 + br i1 %.not238.i, label %tmalloc_large.exit.thread, label %283 283: ; preds = %277 %284 = tail call range(i32 1, 33) i32 @llvm.cttz.i32(i32 %282, i1 true) @@ -1487,48 +1487,48 @@ tmalloc_small.exit: ; preds = %188, %221 br label %.thread.thread.i .thread.thread.i: ; preds = %283, %.thread.i173 - %.0184281.i = phi ptr [ %.0184.i, %.thread.i173 ], [ null, %283 ] + %.0184275.i = phi ptr [ %.0184.i, %.thread.i173 ], [ null, %283 ] %.3197.i = phi ptr [ %.0194.i, %.thread.i173 ], [ %287, %283 ] - %.not245284.i = icmp eq ptr %.3197.i, null - br i1 %.not245284.i, label %._crit_edge.i, label %.lr.ph.i.preheader + %.not239278.i = icmp eq ptr %.3197.i, null + br i1 %.not239278.i, label %._crit_edge.i, label %.lr.ph.i.preheader .lr.ph.i.preheader: ; preds = %264, %.thread.thread.i - %.4287.i.ph = phi ptr [ %.0184281.i, %.thread.thread.i ], [ %.1195.i, %264 ] - %.4192286.i.ph = phi i64 [ %.0188.i, %.thread.thread.i ], [ 0, %264 ] - %.5199285.i.ph = phi ptr [ %.3197.i, %.thread.thread.i ], [ %.1195.i, %264 ] + %.4281.i.ph = phi ptr [ %.0184275.i, %.thread.thread.i ], [ %.1195.i, %264 ] + %.4192280.i.ph = phi i64 [ %.0188.i, %.thread.thread.i ], [ 0, %264 ] + %.5199279.i.ph = phi ptr [ %.3197.i, %.thread.thread.i ], [ %.1195.i, %264 ] br label %.lr.ph.i .lr.ph.i: ; preds = %.lr.ph.i.preheader, %298 - %.4287.i = phi ptr [ %spec.select262.i, %298 ], [ %.4287.i.ph, %.lr.ph.i.preheader ] - %.4192286.i = phi i64 [ %spec.select.i174, %298 ], [ %.4192286.i.ph, %.lr.ph.i.preheader ] - %.5199285.i = phi ptr [ %299, %298 ], [ %.5199285.i.ph, %.lr.ph.i.preheader ] - %288 = getelementptr inbounds nuw i8, ptr %.5199285.i, i64 8 + %.4281.i = phi ptr [ %spec.select256.i, %298 ], [ %.4281.i.ph, %.lr.ph.i.preheader ] + %.4192280.i = phi i64 [ %spec.select.i174, %298 ], [ %.4192280.i.ph, %.lr.ph.i.preheader ] + %.5199279.i = phi ptr [ %299, %298 ], [ %.5199279.i.ph, %.lr.ph.i.preheader ] + %288 = getelementptr inbounds nuw i8, ptr %.5199279.i, i64 8 %289 = load i64, ptr %288, align 8, !tbaa !51 %290 = and i64 %289, -4 %291 = sub i64 %290, %228 - %292 = icmp ult i64 %291, %.4192286.i - %spec.select.i174 = tail call i64 @llvm.umin.i64(i64 %291, i64 %.4192286.i) - %spec.select262.i = select i1 %292, ptr %.5199285.i, ptr %.4287.i - %293 = getelementptr inbounds nuw i8, ptr %.5199285.i, i64 32 + %292 = icmp ult i64 %291, %.4192280.i + %spec.select.i174 = tail call i64 @llvm.umin.i64(i64 %291, i64 %.4192280.i) + %spec.select256.i = select i1 %292, ptr %.5199279.i, ptr %.4281.i + %293 = getelementptr inbounds nuw i8, ptr %.5199279.i, i64 32 %294 = load ptr, ptr %293, align 8, !tbaa !45 - %.not260.i = icmp eq ptr %294, null - br i1 %.not260.i, label %295, label %298 + %.not254.i = icmp eq ptr %294, null + br i1 %.not254.i, label %295, label %298 295: ; preds = %.lr.ph.i - %296 = getelementptr inbounds nuw i8, ptr %.5199285.i, i64 40 + %296 = getelementptr inbounds nuw i8, ptr %.5199279.i, i64 40 %297 = load ptr, ptr %296, align 8, !tbaa !45 br label %298 298: ; preds = %295, %.lr.ph.i %299 = phi ptr [ %297, %295 ], [ %294, %.lr.ph.i ] - %.not245.i = icmp eq ptr %299, null - br i1 %.not245.i, label %._crit_edge.i, label %.lr.ph.i, !llvm.loop !54 + %.not239.i = icmp eq ptr %299, null + br i1 %.not239.i, label %._crit_edge.i, label %.lr.ph.i, !llvm.loop !54 ._crit_edge.i: ; preds = %298, %.thread.thread.i %.4192.lcssa.i = phi i64 [ %.0188.i, %.thread.thread.i ], [ %spec.select.i174, %298 ] - %.4.lcssa.i = phi ptr [ %.0184281.i, %.thread.thread.i ], [ %spec.select262.i, %298 ] - %.not246.i = icmp eq ptr %.4.lcssa.i, null - br i1 %.not246.i, label %tmalloc_large.exit.thread, label %300 + %.4.lcssa.i = phi ptr [ %.0184275.i, %.thread.thread.i ], [ %spec.select256.i, %298 ] + %.not240.i = icmp eq ptr %.4.lcssa.i, null + br i1 %.not240.i, label %tmalloc_large.exit.thread, label %300 300: ; preds = %._crit_edge.i %301 = getelementptr inbounds nuw i8, ptr %0, i64 8 @@ -1543,8 +1543,8 @@ tmalloc_small.exit: ; preds = %188, %221 %308 = load ptr, ptr %307, align 8, !tbaa !40 %309 = getelementptr inbounds nuw i8, ptr %.4.lcssa.i, i64 24 %310 = load ptr, ptr %309, align 8, !tbaa !44 - %.not247.i = icmp eq ptr %310, %.4.lcssa.i - br i1 %.not247.i, label %316, label %311 + %.not241.i = icmp eq ptr %310, %.4.lcssa.i + br i1 %.not241.i, label %316, label %311 311: ; preds = %305 %312 = getelementptr inbounds nuw i8, ptr %.4.lcssa.i, i64 16 @@ -1558,14 +1558,14 @@ tmalloc_small.exit: ; preds = %188, %221 316: ; preds = %305 %317 = getelementptr inbounds nuw i8, ptr %.4.lcssa.i, i64 40 %318 = load ptr, ptr %317, align 8, !tbaa !45 - %.not248.i = icmp eq ptr %318, null - br i1 %.not248.i, label %319, label %.critedge.i178.preheader + %.not242.i = icmp eq ptr %318, null + br i1 %.not242.i, label %319, label %.critedge.i178.preheader 319: ; preds = %316 %320 = getelementptr inbounds nuw i8, ptr %.4.lcssa.i, i64 32 %321 = load ptr, ptr %320, align 8, !tbaa !45 - %.not249.i = icmp eq ptr %321, null - br i1 %.not249.i, label %328, label %.critedge.i178.preheader + %.not243.i = icmp eq ptr %321, null + br i1 %.not243.i, label %328, label %.critedge.i178.preheader .critedge.i178.preheader: ; preds = %319, %316 %.1215.i.ph = phi ptr [ %320, %319 ], [ %317, %316 ] @@ -1577,14 +1577,14 @@ tmalloc_small.exit: ; preds = %188, %221 %.3213.i = phi ptr [ %.3213.i.ph, %.critedge.i178.preheader ], [ %.3213.i.be, %.critedge.i178.backedge ] %322 = getelementptr inbounds nuw i8, ptr %.3213.i, i64 40 %323 = load ptr, ptr %322, align 8, !tbaa !45 - %.not250.i = icmp eq ptr %323, null - br i1 %.not250.i, label %324, label %.critedge.i178.backedge + %.not244.i = icmp eq ptr %323, null + br i1 %.not244.i, label %324, label %.critedge.i178.backedge 324: ; preds = %.critedge.i178 %325 = getelementptr inbounds nuw i8, ptr %.3213.i, i64 32 %326 = load ptr, ptr %325, align 8, !tbaa !45 - %.not251.i = icmp eq ptr %326, null - br i1 %.not251.i, label %327, label %.critedge.i178.backedge + %.not245.i = icmp eq ptr %326, null + br i1 %.not245.i, label %327, label %.critedge.i178.backedge .critedge.i178.backedge: ; preds = %324, %.critedge.i178 %.1215.i.be = phi ptr [ %322, %.critedge.i178 ], [ %325, %324 ] @@ -1597,8 +1597,8 @@ tmalloc_small.exit: ; preds = %188, %221 328: ; preds = %327, %319, %311 %.0210.i = phi ptr [ %310, %311 ], [ %.3213.i, %327 ], [ null, %319 ] - %.not252.i = icmp eq ptr %308, null - br i1 %.not252.i, label %361, label %329 + %.not246.i = icmp eq ptr %308, null + br i1 %.not246.i, label %361, label %329 329: ; preds = %328 %330 = getelementptr inbounds nuw i8, ptr %.4.lcssa.i, i64 56 @@ -1611,9 +1611,9 @@ tmalloc_small.exit: ; preds = %188, %221 335: ; preds = %329 store ptr %.0210.i, ptr %332, align 8, !tbaa !45 %cond.i177 = icmp eq ptr %.0210.i, null - br i1 %cond.i177, label %.thread328.i, label %348 + br i1 %cond.i177, label %.thread320.i, label %348 -.thread328.i: ; preds = %335 +.thread320.i: ; preds = %335 %336 = trunc i64 %331 to i32 %337 = shl nuw i32 1, %336 %338 = xor i32 %337, -1 @@ -1637,16 +1637,16 @@ tmalloc_small.exit: ; preds = %188, %221 br label %347 347: ; preds = %345, %344 - %.not253.i = icmp eq ptr %.0210.i, null - br i1 %.not253.i, label %361, label %348 + %.not247.i = icmp eq ptr %.0210.i, null + br i1 %.not247.i, label %361, label %348 348: ; preds = %347, %335 %349 = getelementptr inbounds nuw i8, ptr %.0210.i, i64 48 store ptr %308, ptr %349, align 8, !tbaa !40 %350 = getelementptr inbounds nuw i8, ptr %.4.lcssa.i, i64 32 %351 = load ptr, ptr %350, align 8, !tbaa !45 - %.not254.i = icmp eq ptr %351, null - br i1 %.not254.i, label %355, label %352 + %.not248.i = icmp eq ptr %351, null + br i1 %.not248.i, label %355, label %352 352: ; preds = %348 %353 = getelementptr inbounds nuw i8, ptr %.0210.i, i64 32 @@ -1658,8 +1658,8 @@ tmalloc_small.exit: ; preds = %188, %221 355: ; preds = %352, %348 %356 = getelementptr inbounds nuw i8, ptr %.4.lcssa.i, i64 40 %357 = load ptr, ptr %356, align 8, !tbaa !45 - %.not255.i = icmp eq ptr %357, null - br i1 %.not255.i, label %361, label %358 + %.not249.i = icmp eq ptr %357, null + br i1 %.not249.i, label %361, label %358 358: ; preds = %355 %359 = getelementptr inbounds nuw i8, ptr %.0210.i, i64 40 @@ -1668,7 +1668,7 @@ tmalloc_small.exit: ; preds = %188, %221 store ptr %.0210.i, ptr %360, align 8, !tbaa !40 br label %361 -361: ; preds = %358, %355, %347, %.thread328.i, %328 +361: ; preds = %358, %355, %347, %.thread320.i, %328 %362 = icmp ult i64 %.4192.lcssa.i, 32 br i1 %362, label %363, label %371 @@ -1705,8 +1705,8 @@ tmalloc_small.exit: ; preds = %188, %221 %383 = trunc nuw nsw i64 %379 to i32 %384 = shl nuw i32 1, %383 %385 = and i32 %382, %384 - %.not259.i = icmp eq i32 %385, 0 - br i1 %.not259.i, label %386, label %388 + %.not253.i = icmp eq i32 %385, 0 + br i1 %.not253.i, label %386, label %388 386: ; preds = %378 %387 = or i32 %382, %384 @@ -1763,8 +1763,8 @@ tmalloc_small.exit: ; preds = %188, %221 %417 = trunc nuw nsw i64 %.0200.i to i32 %418 = shl nuw i32 1, %417 %419 = and i32 %416, %418 - %.not256.i = icmp eq i32 %419, 0 - br i1 %.not256.i, label %420, label %425 + %.not250.i = icmp eq i32 %419, 0 + br i1 %.not250.i, label %420, label %425 420: ; preds = %412 %421 = or i32 %416, %418 @@ -1793,8 +1793,8 @@ tmalloc_small.exit: ; preds = %188, %221 %433 = getelementptr inbounds nuw i8, ptr %.0186.i, i64 8 %434 = load i64, ptr %433, align 8, !tbaa !51 %435 = and i64 %434, -4 - %.not257.i = icmp eq i64 %435, %.4192.lcssa.i - br i1 %.not257.i, label %446, label %436 + %.not251.i = icmp eq i64 %435, %.4192.lcssa.i + br i1 %.not251.i, label %446, label %436 436: ; preds = %432 %437 = getelementptr inbounds nuw i8, ptr %.0186.i, i64 32 @@ -1802,10 +1802,10 @@ tmalloc_small.exit: ; preds = %188, %221 %439 = getelementptr inbounds nuw ptr, ptr %437, i64 %438 %440 = shl i64 %.0185.i, 1 %441 = load ptr, ptr %439, align 8, !tbaa !45 - %.not258.i = icmp eq ptr %441, null - br i1 %.not258.i, label %.thread272.i, label %432 + %.not252.i = icmp eq ptr %441, null + br i1 %.not252.i, label %.thread266.i, label %432 -.thread272.i: ; preds = %436 +.thread266.i: ; preds = %436 %442 = getelementptr inbounds nuw ptr, ptr %437, i64 %438 store ptr %306, ptr %442, align 8, !tbaa !45 %443 = getelementptr inbounds nuw i8, ptr %306, i64 48 @@ -1830,7 +1830,7 @@ tmalloc_small.exit: ; preds = %188, %221 store ptr null, ptr %452, align 8, !tbaa !40 br label %tmalloc_large.exit -tmalloc_large.exit: ; preds = %363, %391, %420, %.thread272.i, %446 +tmalloc_large.exit: ; preds = %363, %391, %420, %.thread266.i, %446 %453 = getelementptr inbounds nuw i8, ptr %.4.lcssa.i, i64 16 br label %alloc_sys.exit diff --git a/bench/luajit/optimized/lj_debug.ll b/bench/luajit/optimized/lj_debug.ll index fd81588f596..0871a9e7f56 100644 --- a/bench/luajit/optimized/lj_debug.ll +++ b/bench/luajit/optimized/lj_debug.ll @@ -1435,8 +1435,8 @@ define internal fastcc ptr @debug_localname(ptr noundef readonly captures(none) %17 = and i64 %16, 140737488355327 %18 = inttoptr i64 %17 to ptr %19 = tail call fastcc i32 @debug_framepc(ptr noundef %0, ptr noundef %18, ptr noundef %14) - %.not53 = icmp eq ptr %14, null - br i1 %.not53, label %20, label %24 + %.not52 = icmp eq ptr %14, null + br i1 %.not52, label %20, label %24 20: ; preds = %3 %21 = getelementptr inbounds nuw i8, ptr %0, i64 40 @@ -1447,11 +1447,11 @@ define internal fastcc ptr @debug_localname(ptr noundef readonly captures(none) 24: ; preds = %20, %3 %.046 = phi ptr [ %13, %3 ], [ %23, %20 ] %25 = icmp slt i32 %2, 0 - %.not55 = icmp eq i32 %19, -1 + %.not54 = icmp eq i32 %19, -1 br i1 %25, label %26, label %49 26: ; preds = %24 - br i1 %.not55, label %.thread, label %27 + br i1 %.not54, label %.thread, label %27 27: ; preds = %26 %28 = getelementptr inbounds nuw i8, ptr %18, i64 32 @@ -1460,8 +1460,8 @@ define internal fastcc ptr @debug_localname(ptr noundef readonly captures(none) %31 = getelementptr inbounds i8, ptr %30, i64 -43 %32 = load i8, ptr %31, align 1, !tbaa !60 %33 = and i8 %32, 2 - %.not56 = icmp eq i8 %33, 0 - br i1 %.not56, label %.thread, label %34 + %.not55 = icmp eq i8 %33, 0 + br i1 %.not55, label %.thread, label %34 34: ; preds = %27 %35 = getelementptr inbounds i8, ptr %30, i64 -94 @@ -1487,7 +1487,7 @@ define internal fastcc ptr @debug_localname(ptr noundef readonly captures(none) br label %.thread 49: ; preds = %24 - br i1 %.not55, label %90, label %50 + br i1 %.not54, label %90, label %50 50: ; preds = %49 %51 = getelementptr inbounds nuw i8, ptr %18, i64 32 @@ -1589,17 +1589,17 @@ debug_varname.exit: ; preds = %59, %.loopexit.i, % %87 = getelementptr inbounds nuw %union.TValue, ptr %11, i64 %86 %88 = getelementptr inbounds nuw i8, ptr %87, i64 8 %89 = icmp ult ptr %88, %.046 - %or.cond60 = select i1 %85, i1 %89, i1 false - br i1 %or.cond60, label %.sink.split, label %91 + %or.cond59 = select i1 %85, i1 %89, i1 false + br i1 %or.cond59, label %.sink.split, label %91 90: ; preds = %49 %.old1.not = icmp ne i32 %2, 0 %.old = zext nneg i32 %2 to i64 - %.old57 = getelementptr inbounds nuw %union.TValue, ptr %11, i64 %.old - %.old58 = getelementptr inbounds nuw i8, ptr %.old57, i64 8 - %.old59 = icmp ult ptr %.old58, %.046 - %or.cond61 = select i1 %.old1.not, i1 %.old59, i1 false - br i1 %or.cond61, label %.sink.split, label %91 + %.old56 = getelementptr inbounds nuw %union.TValue, ptr %11, i64 %.old + %.old57 = getelementptr inbounds nuw i8, ptr %.old56, i64 8 + %.old58 = icmp ult ptr %.old57, %.046 + %or.cond60 = select i1 %.old1.not, i1 %.old58, i1 false + br i1 %or.cond60, label %.sink.split, label %91 .sink.split: ; preds = %debug_varname.exit, %90, %debug_varname.exit.thread %.2.i.ph.sink = phi ptr [ %.2.i.ph, %debug_varname.exit.thread ], [ @.str.36, %90 ], [ @.str.36, %debug_varname.exit ] diff --git a/bench/lvgl/optimized/lv_sprintf_builtin.ll b/bench/lvgl/optimized/lv_sprintf_builtin.ll index 3c807f1cc4e..47b58c69d7e 100644 --- a/bench/lvgl/optimized/lv_sprintf_builtin.ll +++ b/bench/lvgl/optimized/lv_sprintf_builtin.ll @@ -1753,22 +1753,22 @@ define internal fastcc i64 @_etoa(ptr noundef readonly captures(none) %0, ptr no _ntoa_long.exit: ; preds = %88 %98 = add i64 %81, 1 %99 = icmp slt i32 %.1107.fr, 0 - %spec.select93.i = add nsw i32 %.0101, -2 - %invariant.umin104.i = zext nneg i32 %spec.select93.i to i64 - %or.cond11106.i = icmp samesign ult i64 %92, %invariant.umin104.i - br i1 %or.cond11106.i, label %.critedge.i.thread, label %.critedge.i + %spec.select91.i = add nsw i32 %.0101, -2 + %invariant.umin102.i = zext nneg i32 %spec.select91.i to i64 + %or.cond11104.i = icmp samesign ult i64 %92, %invariant.umin102.i + br i1 %or.cond11104.i, label %.critedge.i.thread, label %.critedge.i .critedge.i.thread: ; preds = %_ntoa_long.exit - %scevgep114.i = getelementptr i8, ptr %9, i64 %92 - %100 = sub nuw nsw i64 %invariant.umin104.i, %92 - call void @llvm.memset.p0.i64(ptr align 1 %scevgep114.i, i8 48, i64 %100, i1 false), !tbaa !3 + %scevgep112.i = getelementptr i8, ptr %9, i64 %92 + %100 = sub nuw nsw i64 %invariant.umin102.i, %92 + call void @llvm.memset.p0.i64(ptr align 1 %scevgep112.i, i8 48, i64 %100, i1 false), !tbaa !3 br label %.thread.sink.split.i .critedge.i: ; preds = %_ntoa_long.exit br i1 %96, label %.thread.sink.split.i, label %.lr.ph37.i.i.preheader .thread.sink.split.i: ; preds = %.critedge.i.thread, %.critedge.i - %.0.i118120 = phi i64 [ %invariant.umin104.i, %.critedge.i.thread ], [ %92, %.critedge.i ] + %.0.i118120 = phi i64 [ %invariant.umin102.i, %.critedge.i.thread ], [ %92, %.critedge.i ] %spec.select122 = select i1 %99, i8 45, i8 43 %101 = add nuw nsw i64 %.0.i118120, 1 %102 = getelementptr inbounds nuw i8, ptr %9, i64 %.0.i118120 @@ -1820,24 +1820,24 @@ define internal fastcc noundef i64 @_ntoa_format(ptr noundef readonly captures(n br i1 %.not, label %13, label %.critedge 13: ; preds = %11 - %.not80 = icmp eq i32 %9, 0 - br i1 %.not80, label %19, label %14 + %.not78 = icmp eq i32 %9, 0 + br i1 %.not78, label %19, label %14 14: ; preds = %13 %15 = and i32 %10, 1 - %.not81 = icmp eq i32 %15, 0 - br i1 %.not81, label %19, label %16 + %.not79 = icmp eq i32 %15, 0 + br i1 %.not79, label %19, label %16 16: ; preds = %14 %17 = and i32 %10, 12 - %.not82 = icmp ne i32 %17, 0 - %or.cond88.not = or i1 %6, %.not82 - %18 = sext i1 %or.cond88.not to i32 - %spec.select93 = add i32 %9, %18 + %.not80 = icmp ne i32 %17, 0 + %or.cond86.not = or i1 %6, %.not80 + %18 = sext i1 %or.cond86.not to i32 + %spec.select91 = add i32 %9, %18 br label %19 19: ; preds = %16, %14, %13 - %.174 = phi i32 [ %9, %14 ], [ 0, %13 ], [ %spec.select93, %16 ] + %.174 = phi i32 [ %9, %14 ], [ 0, %13 ], [ %spec.select91, %16 ] %20 = tail call i32 @llvm.umin.i32(i32 %8, i32 32) %invariant.umin = zext nneg i32 %20 to i64 %21 = icmp ult i64 %5, %invariant.umin @@ -1852,27 +1852,27 @@ define internal fastcc noundef i64 @_ntoa_format(ptr noundef readonly captures(n .preheader: ; preds = %.lr.ph.preheader, %19 %.1.lcssa = phi i64 [ %5, %19 ], [ %invariant.umin, %.lr.ph.preheader ] %23 = and i32 %10, 1 - %.not83 = icmp eq i32 %23, 0 - br i1 %.not83, label %.critedge, label %.lr.ph100 + %.not81 = icmp eq i32 %23, 0 + br i1 %.not81, label %.critedge, label %.lr.ph98 -.lr.ph100: ; preds = %.preheader +.lr.ph98: ; preds = %.preheader %24 = tail call i32 @llvm.umin.i32(i32 %.174, i32 32) - %invariant.umin104 = zext nneg i32 %24 to i64 - %or.cond11106 = icmp ult i64 %.1.lcssa, %invariant.umin104 - br i1 %or.cond11106, label %.lr.ph108.preheader, label %.critedge - -.lr.ph108.preheader: ; preds = %.lr.ph100 - %scevgep114 = getelementptr i8, ptr %4, i64 %.1.lcssa - %25 = sub nuw nsw i64 %invariant.umin104, %.1.lcssa - tail call void @llvm.memset.p0.i64(ptr align 1 %scevgep114, i8 48, i64 %25, i1 false), !tbaa !3 + %invariant.umin102 = zext nneg i32 %24 to i64 + %or.cond11104 = icmp ult i64 %.1.lcssa, %invariant.umin102 + br i1 %or.cond11104, label %.lr.ph106.preheader, label %.critedge + +.lr.ph106.preheader: ; preds = %.lr.ph98 + %scevgep112 = getelementptr i8, ptr %4, i64 %.1.lcssa + %25 = sub nuw nsw i64 %invariant.umin102, %.1.lcssa + tail call void @llvm.memset.p0.i64(ptr align 1 %scevgep112, i8 48, i64 %25, i1 false), !tbaa !3 br label %.critedge -.critedge: ; preds = %.lr.ph108.preheader, %.preheader, %.lr.ph100, %11 +.critedge: ; preds = %.lr.ph106.preheader, %.preheader, %.lr.ph98, %11 %.073 = phi i32 [ %9, %11 ], [ %.174, %.lr.ph100 ], [ %.174, %.preheader ], [ %.174, %.lr.ph108.preheader ] - %.0 = phi i64 [ %5, %11 ], [ %.1.lcssa, %.lr.ph100 ], [ %.1.lcssa, %.preheader ], [ %invariant.umin104, %.lr.ph108.preheader ] + %.0 = phi i64 [ %5, %11 ], [ %.1.lcssa, %.lr.ph100 ], [ %.1.lcssa, %.preheader ], [ %invariant.umin102, %.lr.ph108.preheader ] %26 = and i32 %10, 16 - %.not84 = icmp eq i32 %26, 0 - br i1 %.not84, label %57, label %27 + %.not82 = icmp eq i32 %26, 0 + br i1 %.not82, label %57, label %27 27: ; preds = %.critedge %28 = and i32 %10, 1024 @@ -1886,8 +1886,8 @@ define internal fastcc noundef i64 @_ntoa_format(ptr noundef readonly captures(n %33 = icmp eq i64 %.0, %32 %34 = zext i32 %.073 to i64 %35 = icmp eq i64 %.0, %34 - %or.cond90 = or i1 %33, %35 - br i1 %or.cond90, label %36, label %41 + %or.cond88 = or i1 %33, %35 + br i1 %or.cond88, label %36, label %41 36: ; preds = %31 %37 = add nsw i64 %.0, -1 @@ -1901,39 +1901,39 @@ define internal fastcc noundef i64 @_ntoa_format(ptr noundef readonly captures(n 41: ; preds = %36, %31, %27 %.4 = phi i64 [ %.0, %27 ], [ %.0, %31 ], [ %spec.select, %36 ] %42 = icmp eq i32 %7, 16 - br i1 %42, label %43, label %.critedge92 + br i1 %42, label %43, label %.critedge90 43: ; preds = %41 %44 = and i32 %10, 32 %45 = icmp eq i32 %44, 0 %46 = icmp ult i64 %.4, 32 %or.cond5 = select i1 %45, i1 %46, i1 false - br i1 %or.cond5, label %.critedge92.thread.sink.split, label %47 + br i1 %or.cond5, label %.critedge90.thread.sink.split, label %47 47: ; preds = %43 %48 = icmp ne i32 %44, 0 %or.cond7 = select i1 %48, i1 %46, i1 false - br i1 %or.cond7, label %.critedge92.thread.sink.split, label %.critedge92.thread + br i1 %or.cond7, label %.critedge90.thread.sink.split, label %.critedge90.thread -.critedge92: ; preds = %41 +.critedge90: ; preds = %41 %49 = icmp eq i32 %7, 2 %50 = icmp ult i64 %.4, 32 %or.cond9 = select i1 %49, i1 %50, i1 false - br i1 %or.cond9, label %.critedge92.thread.sink.split, label %.critedge92.thread + br i1 %or.cond9, label %.critedge90.thread.sink.split, label %.critedge90.thread -.critedge92.thread.sink.split: ; preds = %.critedge92, %47, %43 +.critedge90.thread.sink.split: ; preds = %.critedge90, %47, %43 %.sink = phi i8 [ 120, %43 ], [ 88, %47 ], [ 98, %.critedge92 ] %51 = add nuw nsw i64 %.4, 1 %52 = getelementptr inbounds nuw i8, ptr %4, i64 %.4 store i8 %.sink, ptr %52, align 1, !tbaa !3 - br label %.critedge92.thread + br label %.critedge90.thread -.critedge92.thread: ; preds = %.critedge92.thread.sink.split, %47, %.critedge92 +.critedge90.thread: ; preds = %.critedge90.thread.sink.split, %47, %.critedge90 %.5 = phi i64 [ %.4, %.critedge92 ], [ %.4, %47 ], [ %51, %.critedge92.thread.sink.split ] %53 = icmp ult i64 %.5, 32 br i1 %53, label %54, label %.thread -54: ; preds = %.critedge92.thread +54: ; preds = %.critedge90.thread %55 = add nuw nsw i64 %.5, 1 %56 = getelementptr inbounds nuw i8, ptr %4, i64 %.5 store i8 48, ptr %56, align 1, !tbaa !3 @@ -1949,22 +1949,22 @@ define internal fastcc noundef i64 @_ntoa_format(ptr noundef readonly captures(n 60: ; preds = %59 %61 = and i32 %10, 4 - %.not85 = icmp eq i32 %61, 0 - br i1 %.not85, label %62, label %.thread.sink.split + %.not83 = icmp eq i32 %61, 0 + br i1 %.not83, label %62, label %.thread.sink.split 62: ; preds = %60 %63 = and i32 %10, 8 - %.not86 = icmp eq i32 %63, 0 - br i1 %.not86, label %.thread, label %.thread.sink.split + %.not84 = icmp eq i32 %63, 0 + br i1 %.not84, label %.thread, label %.thread.sink.split .thread.sink.split: ; preds = %62, %60, %59 - %.sink123 = phi i8 [ 45, %59 ], [ 43, %60 ], [ 32, %62 ] + %.sink121 = phi i8 [ 45, %59 ], [ 43, %60 ], [ 32, %62 ] %64 = add nuw nsw i64 %.3, 1 %65 = getelementptr inbounds nuw i8, ptr %4, i64 %.3 - store i8 %.sink123, ptr %65, align 1, !tbaa !3 + store i8 %.sink121, ptr %65, align 1, !tbaa !3 br label %.thread -.thread: ; preds = %.thread.sink.split, %.critedge92.thread, %62, %57 +.thread: ; preds = %.thread.sink.split, %.critedge90.thread, %62, %57 %.6 = phi i64 [ %.3, %62 ], [ %.3, %57 ], [ %.5, %.critedge92.thread ], [ %64, %.thread.sink.split ] %66 = and i32 %10, 3 %or.cond.i = icmp eq i32 %66, 0 diff --git a/bench/meilisearch-rs/optimized/4llghrvh6vzci59o.ll b/bench/meilisearch-rs/optimized/4llghrvh6vzci59o.ll index 7c986e8b31e..7bf9497aee6 100644 --- a/bench/meilisearch-rs/optimized/4llghrvh6vzci59o.ll +++ b/bench/meilisearch-rs/optimized/4llghrvh6vzci59o.ll @@ -5335,7 +5335,7 @@ define hidden void @"_ZN216_$LT$meilisearch_types..keys..CreateApiKey$u20$as$u20 store ptr %191, ptr %129, align 8, !alias.scope !1240, !noalias !1230 %.sroa.0.0.copyload1.i.i = load i64, ptr %190, align 8, !noalias !1241 %192 = icmp eq i64 %.sroa.0.0.copyload1.i.i, -9223372036854775808 - br i1 %192, label %._crit_edge.loopexit.split.loop.exit1186, label %202 + br i1 %192, label %._crit_edge.loopexit.split.loop.exit1184, label %202 193: ; preds = %.loopexit985, %.loopexit.split-lp986, %.thread874 %.sroa.063.8 = phi i8 [ %.sroa.063.19, %.thread874 ], [ 1, %.loopexit985 ], [ 0, %.loopexit.split-lp986 ] @@ -5353,11 +5353,11 @@ define hidden void @"_ZN216_$LT$meilisearch_types..keys..CreateApiKey$u20$as$u20 cleanup br label %193 -._crit_edge.loopexit.split.loop.exit1186: ; preds = %"_ZN103_$LT$alloc..vec..into_iter..IntoIter$LT$T$C$A$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17hd46226d103d79187E.llvm.331090089658796353.exit.i.i" +._crit_edge.loopexit.split.loop.exit1184: ; preds = %"_ZN103_$LT$alloc..vec..into_iter..IntoIter$LT$T$C$A$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17hd46226d103d79187E.llvm.331090089658796353.exit.i.i" %194 = getelementptr inbounds nuw i8, ptr %190, i64 104 br label %._crit_edge -._crit_edge: ; preds = %593, %._crit_edge.loopexit.split.loop.exit1186, %127 +._crit_edge: ; preds = %593, %._crit_edge.loopexit.split.loop.exit1184, %127 %195 = phi ptr [ %131, %127 ], [ %194, %._crit_edge.loopexit.split.loop.exit1186 ], [ %595, %593 ] %.sroa.2728.0.lcssa = phi i8 [ 2, %127 ], [ %.sroa.2728.01121, %._crit_edge.loopexit.split.loop.exit1186 ], [ %.sroa.2728.1, %593 ] %.sroa.6730.0.lcssa = phi i32 [ undef, %127 ], [ %.sroa.6730.01122, %._crit_edge.loopexit.split.loop.exit1186 ], [ %.sroa.6730.1, %593 ] @@ -5986,7 +5986,7 @@ default.unreachable: ; preds = %396, %386, %376, %3 store i32 %.sroa.6730.0.lcssa, ptr %.sroa.346.sroa.3.0..sroa.346.0..sroa_idx.sroa_idx, align 4 %344 = load i64, ptr %1, align 8, !range !810, !noundef !11 %345 = icmp sgt i64 %344, -9223372036854775802 - br i1 %345, label %349, label %.sink.split1190 + br i1 %345, label %349, label %.sink.split1188 .sink.split: ; preds = %.thread862, %117, %337 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %.sroa.6, ptr noundef nonnull align 8 dereferenceable(32) %.sroa.9, i64 32, i1 false) @@ -5999,13 +5999,13 @@ default.unreachable: ; preds = %396, %386, %376, %3 %347 = load i64, ptr %1, align 8, !range !810 %348 = icmp sgt i64 %347, -9223372036854775802 %or.cond152 = select i1 %115, i1 true, i1 %348 - br i1 %or.cond152, label %349, label %.sink.split1190 + br i1 %or.cond152, label %349, label %.sink.split1188 -.sink.split1190: ; preds = %.critedge148, %.sink.split, %343 +.sink.split1188: ; preds = %.critedge148, %.sink.split, %343 call void @"_ZN4core3ptr73drop_in_place$LT$deserr..value..Value$LT$serde_json..value..Value$GT$$GT$17h42e8fd0d158193feE.llvm.1929265744411185926"(ptr noalias noundef nonnull align 8 dereferenceable(72) %1) br label %349 -349: ; preds = %.sink.split1190, %.critedge148, %.sink.split, %343 +349: ; preds = %.sink.split1188, %.critedge148, %.sink.split, %343 ret void 350: ; preds = %662, %651, %664, %659, %654, %653, %652, %649, %.thread874, %320, %312, %305, %299, %193 @@ -6040,7 +6040,7 @@ default.unreachable: ; preds = %396, %386, %376, %3 %354 = xor i64 %.sroa.0326.0.copyload, -9223372036854775808 %355 = call i64 @llvm.umin.i64(i64 %354, i64 5) switch i64 %355, label %default.unreachable [ - i64 0, label %"_ZN6deserr10serde_json79_$LT$impl$u20$deserr..value..IntoValue$u20$for$u20$serde_json..value..Value$GT$10into_value17hbd07734994dbc5d2E.exit.thread1184" + i64 0, label %"_ZN6deserr10serde_json79_$LT$impl$u20$deserr..value..IntoValue$u20$for$u20$serde_json..value..Value$GT$10into_value17hbd07734994dbc5d2E.exit.thread1182" i64 1, label %356 i64 2, label %357 i64 3, label %358 @@ -6048,7 +6048,7 @@ default.unreachable: ; preds = %396, %386, %376, %3 i64 5, label %"_ZN6deserr10serde_json79_$LT$impl$u20$deserr..value..IntoValue$u20$for$u20$serde_json..value..Value$GT$10into_value17hbd07734994dbc5d2E.exit" ] -"_ZN6deserr10serde_json79_$LT$impl$u20$deserr..value..IntoValue$u20$for$u20$serde_json..value..Value$GT$10into_value17hbd07734994dbc5d2E.exit.thread1184": ; preds = %353 +"_ZN6deserr10serde_json79_$LT$impl$u20$deserr..value..IntoValue$u20$for$u20$serde_json..value..Value$GT$10into_value17hbd07734994dbc5d2E.exit.thread1182": ; preds = %353 store i64 -9223372036854775808, ptr %101, align 8, !alias.scope !1324, !noalias !1321 call void @llvm.lifetime.start.p0(ptr nonnull %100) store ptr %204, ptr %168, align 8 @@ -6095,7 +6095,7 @@ default.unreachable: ; preds = %396, %386, %376, %3 %362 = xor i64 %.sroa.0388.0.copyload, -9223372036854775808 %363 = call i64 @llvm.umin.i64(i64 %362, i64 5) switch i64 %363, label %default.unreachable [ - i64 0, label %"_ZN6deserr10serde_json79_$LT$impl$u20$deserr..value..IntoValue$u20$for$u20$serde_json..value..Value$GT$10into_value17hbd07734994dbc5d2E.exit189.thread1182" + i64 0, label %"_ZN6deserr10serde_json79_$LT$impl$u20$deserr..value..IntoValue$u20$for$u20$serde_json..value..Value$GT$10into_value17hbd07734994dbc5d2E.exit189.thread1180" i64 1, label %364 i64 2, label %365 i64 3, label %366 @@ -6103,7 +6103,7 @@ default.unreachable: ; preds = %396, %386, %376, %3 i64 5, label %"_ZN6deserr10serde_json79_$LT$impl$u20$deserr..value..IntoValue$u20$for$u20$serde_json..value..Value$GT$10into_value17hbd07734994dbc5d2E.exit189" ] -"_ZN6deserr10serde_json79_$LT$impl$u20$deserr..value..IntoValue$u20$for$u20$serde_json..value..Value$GT$10into_value17hbd07734994dbc5d2E.exit189.thread1182": ; preds = %361 +"_ZN6deserr10serde_json79_$LT$impl$u20$deserr..value..IntoValue$u20$for$u20$serde_json..value..Value$GT$10into_value17hbd07734994dbc5d2E.exit189.thread1180": ; preds = %361 store i64 -9223372036854775808, ptr %98, align 8, !alias.scope !1334, !noalias !1331 call void @llvm.lifetime.start.p0(ptr nonnull %97) store ptr %204, ptr %153, align 8 @@ -6349,7 +6349,7 @@ default.unreachable: ; preds = %396, %386, %376, %3 %397 = xor i64 %.sroa.0647.0.copyload, -9223372036854775808 %398 = call i64 @llvm.umin.i64(i64 %397, i64 5) switch i64 %398, label %default.unreachable [ - i64 0, label %"_ZN6deserr10serde_json79_$LT$impl$u20$deserr..value..IntoValue$u20$for$u20$serde_json..value..Value$GT$10into_value17hbd07734994dbc5d2E.exit237.thread1180" + i64 0, label %"_ZN6deserr10serde_json79_$LT$impl$u20$deserr..value..IntoValue$u20$for$u20$serde_json..value..Value$GT$10into_value17hbd07734994dbc5d2E.exit237.thread1178" i64 1, label %399 i64 2, label %400 i64 3, label %401 @@ -6357,7 +6357,7 @@ default.unreachable: ; preds = %396, %386, %376, %3 i64 5, label %"_ZN6deserr10serde_json79_$LT$impl$u20$deserr..value..IntoValue$u20$for$u20$serde_json..value..Value$GT$10into_value17hbd07734994dbc5d2E.exit237" ] -"_ZN6deserr10serde_json79_$LT$impl$u20$deserr..value..IntoValue$u20$for$u20$serde_json..value..Value$GT$10into_value17hbd07734994dbc5d2E.exit237.thread1180": ; preds = %396 +"_ZN6deserr10serde_json79_$LT$impl$u20$deserr..value..IntoValue$u20$for$u20$serde_json..value..Value$GT$10into_value17hbd07734994dbc5d2E.exit237.thread1178": ; preds = %396 store i64 -9223372036854775808, ptr %77, align 8, !alias.scope !1368, !noalias !1365 call void @llvm.lifetime.start.p0(ptr nonnull %76) store ptr %204, ptr %161, align 8 @@ -6435,7 +6435,7 @@ default.unreachable: ; preds = %396, %386, %376, %3 %408 = icmp eq i64 %.sroa.0647.0.copyload, -9223372036854775808 br i1 %408, label %409, label %410 -409: ; preds = %"_ZN6deserr10serde_json79_$LT$impl$u20$deserr..value..IntoValue$u20$for$u20$serde_json..value..Value$GT$10into_value17hbd07734994dbc5d2E.exit237.thread1180", %"_ZN6deserr10serde_json79_$LT$impl$u20$deserr..value..IntoValue$u20$for$u20$serde_json..value..Value$GT$10into_value17hbd07734994dbc5d2E.exit237" +409: ; preds = %"_ZN6deserr10serde_json79_$LT$impl$u20$deserr..value..IntoValue$u20$for$u20$serde_json..value..Value$GT$10into_value17hbd07734994dbc5d2E.exit237.thread1178", %"_ZN6deserr10serde_json79_$LT$impl$u20$deserr..value..IntoValue$u20$for$u20$serde_json..value..Value$GT$10into_value17hbd07734994dbc5d2E.exit237" invoke void @"_ZN4core3ptr73drop_in_place$LT$deserr..value..Value$LT$serde_json..value..Value$GT$$GT$17h42e8fd0d158193feE.llvm.784653754634180241"(ptr noalias noundef nonnull align 8 dereferenceable(72) %77) to label %415 unwind label %.thread879.loopexit @@ -7000,8 +7000,8 @@ default.unreachable: ; preds = %396, %386, %376, %3 br label %519 "_ZN6deserr10serde_json79_$LT$impl$u20$deserr..value..IntoValue$u20$for$u20$serde_json..value..Value$GT$10into_value17hbd07734994dbc5d2E.exit189.thread": ; preds = %367, %366, %365, %364 - %.sink1191 = phi i64 [ -9223372036854775802, %367 ], [ -9223372036854775803, %366 ], [ %switch.select11.i187, %365 ], [ -9223372036854775807, %364 ] - store i64 %.sink1191, ptr %98, align 8, !alias.scope !1334, !noalias !1331 + %.sink1189 = phi i64 [ -9223372036854775802, %367 ], [ -9223372036854775803, %366 ], [ %switch.select11.i187, %365 ], [ -9223372036854775807, %364 ] + store i64 %.sink1189, ptr %98, align 8, !alias.scope !1334, !noalias !1331 call void @llvm.lifetime.start.p0(ptr nonnull %97) store ptr %204, ptr %153, align 8 store i64 4, ptr %154, align 8 @@ -7023,12 +7023,12 @@ default.unreachable: ; preds = %396, %386, %376, %3 %521 = icmp eq i64 %.sroa.0388.0.copyload, -9223372036854775808 br i1 %521, label %522, label %523 -522: ; preds = %"_ZN6deserr10serde_json79_$LT$impl$u20$deserr..value..IntoValue$u20$for$u20$serde_json..value..Value$GT$10into_value17hbd07734994dbc5d2E.exit189.thread1182", %"_ZN6deserr10serde_json79_$LT$impl$u20$deserr..value..IntoValue$u20$for$u20$serde_json..value..Value$GT$10into_value17hbd07734994dbc5d2E.exit189" +522: ; preds = %"_ZN6deserr10serde_json79_$LT$impl$u20$deserr..value..IntoValue$u20$for$u20$serde_json..value..Value$GT$10into_value17hbd07734994dbc5d2E.exit189.thread1180", %"_ZN6deserr10serde_json79_$LT$impl$u20$deserr..value..IntoValue$u20$for$u20$serde_json..value..Value$GT$10into_value17hbd07734994dbc5d2E.exit189" invoke void @"_ZN4core3ptr73drop_in_place$LT$deserr..value..Value$LT$serde_json..value..Value$GT$$GT$17h42e8fd0d158193feE.llvm.784653754634180241"(ptr noalias noundef nonnull align 8 dereferenceable(72) %98) to label %528 unwind label %.thread879.loopexit 523: ; preds = %"_ZN6deserr10serde_json79_$LT$impl$u20$deserr..value..IntoValue$u20$for$u20$serde_json..value..Value$GT$10into_value17hbd07734994dbc5d2E.exit189.thread", %"_ZN6deserr10serde_json79_$LT$impl$u20$deserr..value..IntoValue$u20$for$u20$serde_json..value..Value$GT$10into_value17hbd07734994dbc5d2E.exit189" - %524 = phi i64 [ %.sink1191, %"_ZN6deserr10serde_json79_$LT$impl$u20$deserr..value..IntoValue$u20$for$u20$serde_json..value..Value$GT$10into_value17hbd07734994dbc5d2E.exit189.thread" ], [ %.sroa.0388.0.copyload, %"_ZN6deserr10serde_json79_$LT$impl$u20$deserr..value..IntoValue$u20$for$u20$serde_json..value..Value$GT$10into_value17hbd07734994dbc5d2E.exit189" ] + %524 = phi i64 [ %.sink1189, %"_ZN6deserr10serde_json79_$LT$impl$u20$deserr..value..IntoValue$u20$for$u20$serde_json..value..Value$GT$10into_value17hbd07734994dbc5d2E.exit189.thread" ], [ %.sroa.0388.0.copyload, %"_ZN6deserr10serde_json79_$LT$impl$u20$deserr..value..IntoValue$u20$for$u20$serde_json..value..Value$GT$10into_value17hbd07734994dbc5d2E.exit189" ] call void @llvm.lifetime.start.p0(ptr nonnull %.sroa.7.i253.sroa.11) %525 = icmp eq i64 %524, -9223372036854775803 br i1 %525, label %"_ZN6deserr5impls75_$LT$impl$u20$deserr..Deserr$LT$E$GT$$u20$for$u20$alloc..string..String$GT$22deserialize_from_value17hce515468a0cf5346E.exit.thread.i", label %"_ZN6deserr5impls75_$LT$impl$u20$deserr..Deserr$LT$E$GT$$u20$for$u20$alloc..string..String$GT$22deserialize_from_value17hce515468a0cf5346E.exit.i" @@ -7175,8 +7175,8 @@ default.unreachable: ; preds = %396, %386, %376, %3 br label %.critedge142 "_ZN6deserr10serde_json79_$LT$impl$u20$deserr..value..IntoValue$u20$for$u20$serde_json..value..Value$GT$10into_value17hbd07734994dbc5d2E.exit.thread": ; preds = %359, %358, %357, %356 - %.sink1192 = phi i64 [ -9223372036854775802, %359 ], [ -9223372036854775803, %358 ], [ %switch.select11.i, %357 ], [ -9223372036854775807, %356 ] - store i64 %.sink1192, ptr %101, align 8, !alias.scope !1324, !noalias !1321 + %.sink1190 = phi i64 [ -9223372036854775802, %359 ], [ -9223372036854775803, %358 ], [ %switch.select11.i, %357 ], [ -9223372036854775807, %356 ] + store i64 %.sink1190, ptr %101, align 8, !alias.scope !1324, !noalias !1321 call void @llvm.lifetime.start.p0(ptr nonnull %100) store ptr %204, ptr %168, align 8 store i64 11, ptr %169, align 8 @@ -7198,12 +7198,12 @@ default.unreachable: ; preds = %396, %386, %376, %3 %554 = icmp eq i64 %.sroa.0326.0.copyload, -9223372036854775808 br i1 %554, label %555, label %556 -555: ; preds = %"_ZN6deserr10serde_json79_$LT$impl$u20$deserr..value..IntoValue$u20$for$u20$serde_json..value..Value$GT$10into_value17hbd07734994dbc5d2E.exit.thread1184", %"_ZN6deserr10serde_json79_$LT$impl$u20$deserr..value..IntoValue$u20$for$u20$serde_json..value..Value$GT$10into_value17hbd07734994dbc5d2E.exit" +555: ; preds = %"_ZN6deserr10serde_json79_$LT$impl$u20$deserr..value..IntoValue$u20$for$u20$serde_json..value..Value$GT$10into_value17hbd07734994dbc5d2E.exit.thread1182", %"_ZN6deserr10serde_json79_$LT$impl$u20$deserr..value..IntoValue$u20$for$u20$serde_json..value..Value$GT$10into_value17hbd07734994dbc5d2E.exit" invoke void @"_ZN4core3ptr73drop_in_place$LT$deserr..value..Value$LT$serde_json..value..Value$GT$$GT$17h42e8fd0d158193feE.llvm.784653754634180241"(ptr noalias noundef nonnull align 8 dereferenceable(72) %101) to label %561 unwind label %.thread879.loopexit 556: ; preds = %"_ZN6deserr10serde_json79_$LT$impl$u20$deserr..value..IntoValue$u20$for$u20$serde_json..value..Value$GT$10into_value17hbd07734994dbc5d2E.exit.thread", %"_ZN6deserr10serde_json79_$LT$impl$u20$deserr..value..IntoValue$u20$for$u20$serde_json..value..Value$GT$10into_value17hbd07734994dbc5d2E.exit" - %557 = phi i64 [ %.sink1192, %"_ZN6deserr10serde_json79_$LT$impl$u20$deserr..value..IntoValue$u20$for$u20$serde_json..value..Value$GT$10into_value17hbd07734994dbc5d2E.exit.thread" ], [ %.sroa.0326.0.copyload, %"_ZN6deserr10serde_json79_$LT$impl$u20$deserr..value..IntoValue$u20$for$u20$serde_json..value..Value$GT$10into_value17hbd07734994dbc5d2E.exit" ] + %557 = phi i64 [ %.sink1190, %"_ZN6deserr10serde_json79_$LT$impl$u20$deserr..value..IntoValue$u20$for$u20$serde_json..value..Value$GT$10into_value17hbd07734994dbc5d2E.exit.thread" ], [ %.sroa.0326.0.copyload, %"_ZN6deserr10serde_json79_$LT$impl$u20$deserr..value..IntoValue$u20$for$u20$serde_json..value..Value$GT$10into_value17hbd07734994dbc5d2E.exit" ] call void @llvm.lifetime.start.p0(ptr nonnull %.sroa.7.i268.sroa.11) %558 = icmp eq i64 %557, -9223372036854775803 br i1 %558, label %"_ZN6deserr5impls75_$LT$impl$u20$deserr..Deserr$LT$E$GT$$u20$for$u20$alloc..string..String$GT$22deserialize_from_value17hbef9b87fa41e5163E.exit.thread.i", label %"_ZN6deserr5impls75_$LT$impl$u20$deserr..Deserr$LT$E$GT$$u20$for$u20$alloc..string..String$GT$22deserialize_from_value17hbef9b87fa41e5163E.exit.i" @@ -7581,7 +7581,7 @@ default.unreachable: ; preds = %396, %386, %376, %3 call void @llvm.lifetime.end.p0(ptr nonnull %.sroa.6) %.old = load i64, ptr %1, align 8, !range !810, !noundef !11 %.old151 = icmp sgt i64 %.old, -9223372036854775802 - br i1 %.old151, label %349, label %.sink.split1190 + br i1 %.old151, label %349, label %.sink.split1188 649: ; preds = %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h4dd919777ea29ee7E.exit219.thread" %lpad.thr_comm.split-lp = landingpad { ptr, i32 } diff --git a/bench/msdfgen/optimized/edge-segments.ll b/bench/msdfgen/optimized/edge-segments.ll index 8a2c234afe1..b324a76e89a 100644 --- a/bench/msdfgen/optimized/edge-segments.ll +++ b/bench/msdfgen/optimized/edge-segments.ll @@ -1546,8 +1546,8 @@ entry: lor.lhs.false: ; preds = %entry %cmp10 = fcmp oge double %y, %1 %cmp15 = fcmp olt double %y, %0 - %or.cond6 = and i1 %cmp15, %cmp10 - br i1 %or.cond6, label %if.then, label %return + %or.cond5 = and i1 %cmp15, %cmp10 + br i1 %or.cond5, label %if.then, label %return if.then: ; preds = %lor.lhs.false, %entry %sub = fsub double %y, %0 @@ -1567,8 +1567,8 @@ if.then: ; preds = %lor.lhs.false, %ent %conv.i = zext i1 %cmp.i to i32 %cmp1.i = fcmp olt double %sub39, 0.000000e+00 %conv2.neg.i = sext i1 %cmp1.i to i32 - %sub.i7 = add nsw i32 %conv2.neg.i, %conv.i - store i32 %sub.i7, ptr %dy, align 4 + %sub.i6 = add nsw i32 %conv2.neg.i, %conv.i + store i32 %sub.i6, ptr %dy, align 4 br label %return return: ; preds = %lor.lhs.false, %if.then @@ -1602,8 +1602,8 @@ lor.lhs.false: ; preds = %if.then %y30 = getelementptr inbounds nuw i8, ptr %this, i64 56 %4 = load double, ptr %y30, align 8 %cmp31 = fcmp olt double %2, %4 - %or.cond52 = select i1 %cmp24, i1 %cmp31, i1 false - br i1 %or.cond52, label %if.then32, label %if.end35 + %or.cond51 = select i1 %cmp24, i1 %cmp31, i1 false + br i1 %or.cond51, label %if.then32, label %if.end35 if.then32: ; preds = %lor.lhs.false, %if.then store i32 1, ptr %dy, align 4 @@ -1626,13 +1626,13 @@ if.end35: ; preds = %lor.lhs.false, %if. %agg.tmp42.sroa.0.0.copyload = load double, ptr %arrayidx44, align 8 %agg.tmp42.sroa.2.0.arrayidx44.sroa_idx = getelementptr inbounds nuw i8, ptr %this, i64 56 %agg.tmp42.sroa.2.0.copyload = load double, ptr %agg.tmp42.sroa.2.0.arrayidx44.sroa_idx, align 8 - %sub.i55 = fsub double %agg.tmp42.sroa.0.0.copyload, %agg.tmp.sroa.0.0.copyload - %sub3.i56 = fsub double %agg.tmp42.sroa.2.0.copyload, %agg.tmp.sroa.2.0.copyload - %sub.i59 = fsub double %sub.i55, %sub.i - %sub3.i60 = fsub double %sub3.i56, %sub3.i + %sub.i54 = fsub double %agg.tmp42.sroa.0.0.copyload, %agg.tmp.sroa.0.0.copyload + %sub3.i55 = fsub double %agg.tmp42.sroa.2.0.copyload, %agg.tmp.sroa.2.0.copyload + %sub.i58 = fsub double %sub.i54, %sub.i + %sub3.i59 = fsub double %sub3.i55, %sub3.i %mul = fmul double %sub3.i, 2.000000e+00 %sub = fsub double %agg.tmp38.sroa.2.0.copyload, %y - %call56 = call noundef i32 @_ZN7msdfgen14solveQuadraticEPdddd(ptr noundef nonnull %t, double noundef %sub3.i60, double noundef %mul, double noundef %sub) + %call56 = call noundef i32 @_ZN7msdfgen14solveQuadraticEPdddd(ptr noundef nonnull %t, double noundef %sub3.i59, double noundef %mul, double noundef %sub) %cmp57 = icmp sgt i32 %call56, 1 br i1 %cmp57, label %land.lhs.true58, label %if.end67 @@ -1649,8 +1649,8 @@ if.then62: ; preds = %land.lhs.true58 br label %for.body.preheader if.end67: ; preds = %if.end35 - %cmp6863 = icmp eq i32 %call56, 1 - br i1 %cmp6863, label %for.body.preheader, label %for.end + %cmp6862 = icmp eq i32 %call56, 1 + br i1 %cmp6862, label %for.body.preheader, label %for.end for.body.preheader: ; preds = %land.lhs.true58, %if.then62, %if.end67 %7 = zext nneg i32 %call56 to i64 @@ -1658,40 +1658,40 @@ for.body.preheader: ; preds = %land.lhs.true58, %i for.body: ; preds = %for.body.preheader, %for.inc %indvars.iv = phi i64 [ 0, %for.body.preheader ], [ %indvars.iv.next, %for.inc ] - %total.165 = phi i32 [ %total.0, %for.body.preheader ], [ %total.2, %for.inc ] - %nextDY.164 = phi i32 [ %nextDY.0, %for.body.preheader ], [ %nextDY.2, %for.inc ] + %total.164 = phi i32 [ %total.0, %for.body.preheader ], [ %total.2, %for.inc ] + %nextDY.163 = phi i32 [ %nextDY.0, %for.body.preheader ], [ %nextDY.2, %for.inc ] %arrayidx71 = getelementptr inbounds nuw double, ptr %t, i64 %indvars.iv %8 = load double, ptr %arrayidx71, align 8 %cmp72 = fcmp ult double %8, 0.000000e+00 %cmp76 = fcmp ugt double %8, 1.000000e+00 - %or.cond53 = or i1 %cmp72, %cmp76 - br i1 %or.cond53, label %for.inc, label %if.then77 + %or.cond52 = or i1 %cmp72, %cmp76 + br i1 %or.cond52, label %for.inc, label %if.then77 if.then77: ; preds = %for.body %9 = load double, ptr %p, align 8 %mul83 = fmul double %8, 2.000000e+00 %10 = call double @llvm.fmuladd.f64(double %mul83, double %sub.i, double %9) %mul90 = fmul double %8, %8 - %11 = call double @llvm.fmuladd.f64(double %mul90, double %sub.i59, double %10) - %idxprom93 = zext nneg i32 %total.165 to i64 + %11 = call double @llvm.fmuladd.f64(double %mul90, double %sub.i58, double %10) + %idxprom93 = zext nneg i32 %total.164 to i64 %arrayidx94 = getelementptr inbounds nuw double, ptr %x, i64 %idxprom93 store double %11, ptr %arrayidx94, align 8 - %conv = sitofp i32 %nextDY.164 to double - %12 = call double @llvm.fmuladd.f64(double %8, double %sub3.i60, double %sub3.i) + %conv = sitofp i32 %nextDY.163 to double + %12 = call double @llvm.fmuladd.f64(double %8, double %sub3.i59, double %sub3.i) %mul100 = fmul double %12, %conv %cmp101 = fcmp ult double %mul100, 0.000000e+00 br i1 %cmp101, label %for.inc, label %if.then102 if.then102: ; preds = %if.then77 - %inc103 = add nuw nsw i32 %total.165, 1 + %inc103 = add nuw nsw i32 %total.164, 1 %arrayidx105 = getelementptr inbounds nuw i32, ptr %dy, i64 %idxprom93 - store i32 %nextDY.164, ptr %arrayidx105, align 4 - %sub106 = sub nsw i32 0, %nextDY.164 + store i32 %nextDY.163, ptr %arrayidx105, align 4 + %sub106 = sub nsw i32 0, %nextDY.163 br label %for.inc for.inc: ; preds = %for.body, %if.then102, %if.then77 - %nextDY.2 = phi i32 [ %sub106, %if.then102 ], [ %nextDY.164, %if.then77 ], [ %nextDY.164, %for.body ] - %total.2 = phi i32 [ %inc103, %if.then102 ], [ %total.165, %if.then77 ], [ %total.165, %for.body ] + %nextDY.2 = phi i32 [ %sub106, %if.then102 ], [ %nextDY.163, %if.then77 ], [ %nextDY.163, %for.body ] + %total.2 = phi i32 [ %inc103, %if.then102 ], [ %total.164, %if.then77 ], [ %total.164, %for.body ] %indvars.iv.next = add nuw nsw i64 %indvars.iv, 1 %cmp68 = icmp samesign ult i64 %indvars.iv.next, %7 %cmp69 = icmp slt i32 %total.2, 2 @@ -1711,7 +1711,7 @@ if.then114: ; preds = %for.end %or.cond = select i1 %cmp115, i1 %cmp117, i1 false %spec.select = select i1 %or.cond, i32 -1, i32 %nextDY.1.lcssa %dec = sext i1 %or.cond to i32 - %spec.select54 = add nsw i32 %total.1.lcssa, %dec + %spec.select53 = add nsw i32 %total.1.lcssa, %dec %15 = load double, ptr %agg.tmp.sroa.2.0.arrayidx37.sroa_idx, align 8 %cmp126 = fcmp olt double %14, %15 br i1 %cmp126, label %land.lhs.true143, label %lor.lhs.false127 @@ -1723,31 +1723,31 @@ lor.lhs.false127: ; preds = %if.then114 land.lhs.true135: ; preds = %lor.lhs.false127 %16 = load double, ptr %y2, align 8 %cmp142 = fcmp olt double %14, %16 - %cmp144 = icmp slt i32 %spec.select54, 2 + %cmp144 = icmp slt i32 %spec.select53, 2 %or.cond1 = select i1 %cmp142, i1 %cmp144, i1 false br i1 %or.cond1, label %if.then145, label %if.end158 land.lhs.true143: ; preds = %if.then114 - %cmp144.old = icmp slt i32 %spec.select54, 2 + %cmp144.old = icmp slt i32 %spec.select53, 2 br i1 %cmp144.old, label %if.then145, label %if.end158.thread if.then145: ; preds = %land.lhs.true135, %land.lhs.true143 %17 = load double, ptr %arrayidx44, align 8 - %idxprom149 = sext i32 %spec.select54 to i64 + %idxprom149 = sext i32 %spec.select53 to i64 %arrayidx150 = getelementptr inbounds double, ptr %x, i64 %idxprom149 store double %17, ptr %arrayidx150, align 8 %cmp151 = icmp slt i32 %spec.select, 0 br i1 %cmp151, label %if.then152, label %if.end158 if.then152: ; preds = %if.then145 - %inc153 = add nsw i32 %spec.select54, 1 + %inc153 = add nsw i32 %spec.select53, 1 %arrayidx155 = getelementptr inbounds i32, ptr %dy, i64 %idxprom149 store i32 -1, ptr %arrayidx155, align 4 br label %if.end158 if.end158: ; preds = %lor.lhs.false127, %land.lhs.true135, %if.then152, %if.then145, %for.end %nextDY.3 = phi i32 [ 1, %if.then152 ], [ %nextDY.1.lcssa, %if.then145 ], [ %spec.select, %land.lhs.true135 ], [ %spec.select, %lor.lhs.false127 ], [ %nextDY.1.lcssa, %for.end ] - %total.3 = phi i32 [ %inc153, %if.then152 ], [ %spec.select54, %if.then145 ], [ %spec.select54, %land.lhs.true135 ], [ %spec.select54, %lor.lhs.false127 ], [ %total.1.lcssa, %for.end ] + %total.3 = phi i32 [ %inc153, %if.then152 ], [ %spec.select53, %if.then145 ], [ %spec.select53, %land.lhs.true135 ], [ %spec.select53, %lor.lhs.false127 ], [ %total.1.lcssa, %for.end ] %18 = load double, ptr %agg.tmp42.sroa.2.0.arrayidx44.sroa_idx, align 8 %cmp162 = fcmp oge double %y, %18 %cond163 = select i1 %cmp162, i32 1, i32 -1 @@ -1756,18 +1756,18 @@ if.end158: ; preds = %lor.lhs.false127, % if.end158.thread: ; preds = %land.lhs.true143 %19 = load double, ptr %agg.tmp42.sroa.2.0.arrayidx44.sroa_idx, align 8 - %cmp16281 = fcmp oge double %y, %19 - %cond16382 = select i1 %cmp16281, i32 1, i32 -1 - %cmp164.not83 = icmp eq i32 %spec.select, %cond16382 - br i1 %cmp164.not83, label %if.end190, label %if.then167 + %cmp16279 = fcmp oge double %y, %19 + %cond16380 = select i1 %cmp16279, i32 1, i32 -1 + %cmp164.not81 = icmp eq i32 %spec.select, %cond16380 + br i1 %cmp164.not81, label %if.end190, label %if.then167 if.then165: ; preds = %if.end158 %cmp166 = icmp sgt i32 %total.3, 0 br i1 %cmp166, label %if.then167, label %if.else169 if.then167: ; preds = %if.end158.thread, %if.then165 - %total.38589 = phi i32 [ %total.3, %if.then165 ], [ 2, %if.end158.thread ] - %dec168 = add nsw i32 %total.38589, -1 + %total.38387 = phi i32 [ %total.3, %if.then165 ], [ 2, %if.end158.thread ] + %dec168 = add nsw i32 %total.38387, -1 br label %if.end190 if.else169: ; preds = %if.then165 diff --git a/bench/nanosvg/optimized/nanosvgrast.ll b/bench/nanosvg/optimized/nanosvgrast.ll index f91ef45a22d..b7667bf13de 100644 --- a/bench/nanosvg/optimized/nanosvgrast.ll +++ b/bench/nanosvg/optimized/nanosvgrast.ll @@ -7533,8 +7533,8 @@ define internal fastcc void @nsvg__parseGradientStop(ptr noundef %0, ptr noundef %9 = getelementptr inbounds nuw i8, ptr %6, i64 300 store float 1.000000e+00, ptr %9, align 4, !tbaa !33 %10 = load ptr, ptr %1, align 8, !tbaa !15 - %.not55 = icmp eq ptr %10, null - br i1 %.not55, label %._crit_edge, label %.lr.ph + %.not54 = icmp eq ptr %10, null + br i1 %.not54, label %._crit_edge, label %.lr.ph .lr.ph: ; preds = %2, %.lr.ph %indvars.iv = phi i64 [ %indvars.iv.next, %.lr.ph ], [ 0, %2 ] @@ -7573,59 +7573,59 @@ define internal fastcc void @nsvg__parseGradientStop(ptr noundef %0, ptr noundef %32 = load i32, ptr %22, align 8, !tbaa !211 %33 = add i32 %32, -1 %34 = icmp sgt i32 %32, 1 - %.pre72 = load float, ptr %7, align 4, !tbaa !208 - br i1 %34, label %.lr.ph59, label %.thread + %.pre71 = load float, ptr %7, align 4, !tbaa !208 + br i1 %34, label %.lr.ph58, label %.thread -.lr.ph59: ; preds = %31 +.lr.ph58: ; preds = %31 %wide.trip.count = zext nneg i32 %33 to i64 br label %35 -35: ; preds = %.lr.ph59, %40 - %indvars.iv65 = phi i64 [ 0, %.lr.ph59 ], [ %indvars.iv.next66, %40 ] - %36 = getelementptr inbounds nuw %struct.NSVGgradientStop, ptr %29, i64 %indvars.iv65 +35: ; preds = %.lr.ph58, %40 + %indvars.iv64 = phi i64 [ 0, %.lr.ph59 ], [ %indvars.iv.next65, %40 ] + %36 = getelementptr inbounds nuw %struct.NSVGgradientStop, ptr %29, i64 %indvars.iv64 %37 = getelementptr inbounds nuw i8, ptr %36, i64 4 %38 = load float, ptr %37, align 4, !tbaa !180 - %39 = fcmp olt float %.pre72, %38 + %39 = fcmp olt float %.pre71, %38 br i1 %39, label %41, label %40 40: ; preds = %35 - %indvars.iv.next66 = add nuw nsw i64 %indvars.iv65, 1 - %exitcond.not = icmp eq i64 %indvars.iv.next66, %wide.trip.count + %indvars.iv.next65 = add nuw nsw i64 %indvars.iv64, 1 + %exitcond.not = icmp eq i64 %indvars.iv.next65, %wide.trip.count br i1 %exitcond.not, label %.thread, label %35, !llvm.loop !212 41: ; preds = %35 - %42 = trunc nuw nsw i64 %indvars.iv65 to i32 + %42 = trunc nuw nsw i64 %indvars.iv64 to i32 %43 = icmp sgt i32 %33, %42 - br i1 %43, label %.lr.ph61.preheader, label %.thread + br i1 %43, label %.lr.ph60.preheader, label %.thread -.lr.ph61.preheader: ; preds = %41 +.lr.ph60.preheader: ; preds = %41 %44 = zext nneg i32 %32 to i64 %45 = add nsw i64 %44, -1 - %sext = shl i64 %indvars.iv65, 32 + %sext = shl i64 %indvars.iv64, 32 %46 = ashr exact i64 %sext, 32 - br label %.lr.ph61 + br label %.lr.ph60 -.lr.ph61: ; preds = %.lr.ph61.preheader, %.lr.ph61 - %indvars.iv68 = phi i64 [ %45, %.lr.ph61.preheader ], [ %indvars.iv.next69, %.lr.ph61 ] +.lr.ph60: ; preds = %.lr.ph60.preheader, %.lr.ph60 + %indvars.iv67 = phi i64 [ %45, %.lr.ph61.preheader ], [ %indvars.iv.next68, %.lr.ph61 ] %47 = load ptr, ptr %25, align 8, !tbaa !78 - %48 = getelementptr inbounds %struct.NSVGgradientStop, ptr %47, i64 %indvars.iv68 + %48 = getelementptr inbounds %struct.NSVGgradientStop, ptr %47, i64 %indvars.iv67 %49 = getelementptr i8, ptr %48, i64 -8 %50 = load i64, ptr %49, align 4 store i64 %50, ptr %48, align 4 - %indvars.iv.next69 = add nsw i64 %indvars.iv68, -1 - %51 = icmp sgt i64 %indvars.iv.next69, %46 - br i1 %51, label %.lr.ph61, label %.thread.loopexit, !llvm.loop !213 + %indvars.iv.next68 = add nsw i64 %indvars.iv67, -1 + %51 = icmp sgt i64 %indvars.iv.next68, %46 + br i1 %51, label %.lr.ph60, label %.thread.loopexit, !llvm.loop !213 -.thread.loopexit: ; preds = %.lr.ph61 +.thread.loopexit: ; preds = %.lr.ph60 %.pre = load ptr, ptr %25, align 8, !tbaa !78 - %.pre71 = load float, ptr %7, align 4, !tbaa !208 + %.pre70 = load float, ptr %7, align 4, !tbaa !208 br label %.thread .thread: ; preds = %40, %.thread.loopexit, %31, %41 - %52 = phi float [ %.pre72, %41 ], [ %.pre72, %31 ], [ %.pre71, %.thread.loopexit ], [ %.pre72, %40 ] + %52 = phi float [ %.pre71, %41 ], [ %.pre71, %31 ], [ %.pre70, %.thread.loopexit ], [ %.pre71, %40 ] %53 = phi ptr [ %29, %41 ], [ %29, %31 ], [ %.pre, %.thread.loopexit ], [ %29, %40 ] - %.052 = phi i32 [ %42, %41 ], [ %33, %31 ], [ %42, %.thread.loopexit ], [ %33, %40 ] - %54 = sext i32 %.052 to i64 + %.051 = phi i32 [ %42, %41 ], [ %33, %31 ], [ %42, %.thread.loopexit ], [ %33, %40 ] + %54 = sext i32 %.051 to i64 %55 = getelementptr inbounds %struct.NSVGgradientStop, ptr %53, i64 %54 %56 = load i32, ptr %8, align 4, !tbaa !209 %57 = load float, ptr %9, align 4, !tbaa !33 diff --git a/bench/nuttx/optimized/lib_base64.ll b/bench/nuttx/optimized/lib_base64.ll index baadef5fa5b..637647c950d 100644 --- a/bench/nuttx/optimized/lib_base64.ll +++ b/bench/nuttx/optimized/lib_base64.ll @@ -142,14 +142,14 @@ define i32 @b64_pton(ptr noundef readonly captures(none) %0, ptr noundef capture .outer.outer: ; preds = %.outer.outer.backedge, %.outer.outer.outer %.054.ph.ph = phi ptr [ %.054.ph.ph.ph, %.outer.outer.outer ], [ null, %.outer.outer.backedge ] %.050.ph.ph = phi ptr [ %.050.ph.ph.ph, %.outer.outer.outer ], [ %8, %.outer.outer.backedge ] - %.not73.ph = phi i1 [ %.not73.ph.ph, %.outer.outer.outer ], [ false, %.outer.outer.backedge ] + %.not72.ph = phi i1 [ %.not72.ph.ph, %.outer.outer.outer ], [ false, %.outer.outer.backedge ] %.044.ph.ph = phi i32 [ %.044.ph.ph.ph, %.outer.outer.outer ], [ %.044.ph.ph.be, %.outer.outer.backedge ] - %.not70 = icmp eq ptr %.054.ph.ph, null + %.not69 = icmp eq ptr %.054.ph.ph, null br label %.outer .outer: ; preds = %.outer.outer, %16 %.050.ph = phi ptr [ %8, %16 ], [ %.050.ph.ph, %.outer.outer ] - %.not73 = phi i1 [ false, %16 ], [ %.not73.ph, %.outer.outer ] + %.not72 = phi i1 [ false, %16 ], [ %.not72.ph, %.outer.outer ] %.044.ph = phi i32 [ 1, %16 ], [ %.044.ph.ph, %.outer.outer ] br label %4 @@ -163,12 +163,12 @@ define i32 @b64_pton(ptr noundef readonly captures(none) %0, ptr noundef capture %7 = sext i8 %5 to i32 %8 = getelementptr inbounds nuw i8, ptr %.050, i64 1 %9 = tail call i32 @isspace(i32 noundef %7) #4 - %.not63 = icmp eq i32 %9, 0 - br i1 %.not63, label %10, label %4, !llvm.loop !8 + %.not62 = icmp eq i32 %9, 0 + br i1 %.not62, label %10, label %4, !llvm.loop !8 10: ; preds = %6 - %cond81 = icmp eq i8 %5, 61 - br i1 %cond81, label %54, label %11 + %cond80 = icmp eq i8 %5, 61 + br i1 %cond80, label %54, label %11 11: ; preds = %10 %memchr = tail call ptr @memchr(ptr noundef nonnull dereferenceable(1) @g_base64, i32 %7, i64 65) @@ -184,21 +184,21 @@ define i32 @b64_pton(ptr noundef readonly captures(none) %0, ptr noundef capture ] 14: ; preds = %13 - br i1 %.not70, label %.outer.outer.backedge, label %15, !llvm.loop !8 + br i1 %.not69, label %.outer.outer.backedge, label %15, !llvm.loop !8 15: ; preds = %14 - br i1 %.not71, label %16, label %.loopexit + br i1 %.not70, label %16, label %.loopexit 16: ; preds = %15 %17 = ptrtoint ptr %memchr to i64 %18 = trunc i64 %17 to i8 - %.tr72 = sub i8 %18, ptrtoint (ptr @g_base64 to i8) - %19 = shl i8 %.tr72, 2 + %.tr71 = sub i8 %18, ptrtoint (ptr @g_base64 to i8) + %19 = shl i8 %.tr71, 2 store i8 %19, ptr %.054.ph.ph, align 1 br label %.outer, !llvm.loop !8 20: ; preds = %13 - br i1 %.not70, label %.outer.outer.backedge, label %21 + br i1 %.not69, label %.outer.outer.backedge, label %21 .outer.outer.backedge: ; preds = %14, %20, %32 %.044.ph.ph.be = phi i32 [ 3, %32 ], [ 2, %20 ], [ 1, %14 ] @@ -206,8 +206,8 @@ define i32 @b64_pton(ptr noundef readonly captures(none) %0, ptr noundef capture 21: ; preds = %20 %22 = add i64 %.046.ph.ph.ph, 1 - %.not68 = icmp ult i64 %22, %2 - br i1 %.not68, label %23, label %.loopexit + %.not67 = icmp ult i64 %22, %2 + br i1 %.not67, label %23, label %.loopexit 23: ; preds = %21 %24 = ptrtoint ptr %memchr to i64 @@ -218,18 +218,18 @@ define i32 @b64_pton(ptr noundef readonly captures(none) %0, ptr noundef capture %29 = trunc i64 %26 to i8 %30 = or i8 %28, %29 store i8 %30, ptr %.054.ph.ph, align 1 - %.tr69 = trunc i64 %24 to i8 - %31 = shl i8 %.tr69, 4 + %.tr68 = trunc i64 %24 to i8 + %31 = shl i8 %.tr68, 4 store i8 %31, ptr %27, align 1 br label %.outer.outer.outer.backedge 32: ; preds = %13 - br i1 %.not70, label %.outer.outer.backedge, label %33 + br i1 %.not69, label %.outer.outer.backedge, label %33 33: ; preds = %32 %34 = add i64 %.046.ph.ph.ph, 1 - %.not66 = icmp ult i64 %34, %2 - br i1 %.not66, label %35, label %.loopexit + %.not65 = icmp ult i64 %34, %2 + br i1 %.not65, label %35, label %.loopexit 35: ; preds = %33 %36 = ptrtoint ptr %memchr to i64 @@ -248,7 +248,7 @@ define i32 @b64_pton(ptr noundef readonly captures(none) %0, ptr noundef capture .outer.outer.outer.backedge: ; preds = %35, %23, %52 %.054.ph.ph.ph.be = phi ptr [ %.4, %52 ], [ %27, %23 ], [ %39, %35 ] %.046.ph.ph.ph.be = phi i64 [ %53, %52 ], [ %22, %23 ], [ %34, %35 ] - %.not73.ph.ph.be = phi i1 [ true, %52 ], [ false, %23 ], [ false, %35 ] + %.not72.ph.ph.be = phi i1 [ true, %52 ], [ false, %23 ], [ false, %35 ] %.044.ph.ph.ph.be = phi i32 [ 0, %52 ], [ 2, %23 ], [ 3, %35 ] br label %.outer.outer.outer, !llvm.loop !8 @@ -256,13 +256,13 @@ define i32 @b64_pton(ptr noundef readonly captures(none) %0, ptr noundef capture %.054.ph.ph.ph = phi ptr [ %1, %3 ], [ %.054.ph.ph.ph.be, %.outer.outer.outer.backedge ] %.050.ph.ph.ph = phi ptr [ %0, %3 ], [ %8, %.outer.outer.outer.backedge ] %.046.ph.ph.ph = phi i64 [ 0, %3 ], [ %.046.ph.ph.ph.be, %.outer.outer.outer.backedge ] - %.not73.ph.ph = phi i1 [ true, %3 ], [ %.not73.ph.ph.be, %.outer.outer.outer.backedge ] + %.not72.ph.ph = phi i1 [ true, %3 ], [ %.not72.ph.ph.be, %.outer.outer.outer.backedge ] %.044.ph.ph.ph = phi i32 [ 0, %3 ], [ %.044.ph.ph.ph.be, %.outer.outer.outer.backedge ] - %.not71 = icmp ult i64 %.046.ph.ph.ph, %2 + %.not70 = icmp ult i64 %.046.ph.ph.ph, %2 br label %.outer.outer 44: ; preds = %13 - br i1 %.not70, label %52, label %45 + br i1 %.not69, label %52, label %45 45: ; preds = %44 %46 = ptrtoint ptr %memchr to i64 @@ -291,64 +291,64 @@ define i32 @b64_pton(ptr noundef readonly captures(none) %0, ptr noundef capture ] .preheader: ; preds = %54 - %cond82102 = icmp eq i8 %56, 0 - br i1 %cond82102, label %.loopexit, label %.lr.ph + %cond81101 = icmp eq i8 %56, 0 + br i1 %cond81101, label %.loopexit, label %.lr.ph .lr.ph: ; preds = %.preheader, %59 - %.1104 = phi i32 [ %62, %59 ], [ %57, %.preheader ] - %.252103 = phi ptr [ %60, %59 ], [ %55, %.preheader ] - %58 = tail call i32 @isspace(i32 noundef %.1104) #4 - %.not75 = icmp eq i32 %58, 0 - br i1 %.not75, label %63, label %59 + %.1103 = phi i32 [ %62, %59 ], [ %57, %.preheader ] + %.252102 = phi ptr [ %60, %59 ], [ %55, %.preheader ] + %58 = tail call i32 @isspace(i32 noundef %.1103) #4 + %.not74 = icmp eq i32 %58, 0 + br i1 %.not74, label %63, label %59 59: ; preds = %.lr.ph - %60 = getelementptr inbounds nuw i8, ptr %.252103, i64 1 - %61 = load i8, ptr %.252103, align 1 + %60 = getelementptr inbounds nuw i8, ptr %.252102, i64 1 + %61 = load i8, ptr %.252102, align 1 %62 = sext i8 %61 to i32 - %cond82 = icmp eq i8 %61, 0 - br i1 %cond82, label %.loopexit, label %.lr.ph, !llvm.loop !9 + %cond81 = icmp eq i8 %61, 0 + br i1 %cond81, label %.loopexit, label %.lr.ph, !llvm.loop !9 63: ; preds = %.lr.ph - %.not76 = icmp eq i32 %.1104, 61 - br i1 %.not76, label %64, label %.loopexit + %.not75 = icmp eq i32 %.1103, 61 + br i1 %.not75, label %64, label %.loopexit 64: ; preds = %63 - %65 = getelementptr inbounds nuw i8, ptr %.252103, i64 1 - %66 = load i8, ptr %.252103, align 1 + %65 = getelementptr inbounds nuw i8, ptr %.252102, i64 1 + %66 = load i8, ptr %.252102, align 1 %67 = sext i8 %66 to i32 br label %68 68: ; preds = %64, %54 %.151 = phi ptr [ %65, %64 ], [ %55, %54 ] %.0 = phi i32 [ %67, %64 ], [ %57, %54 ] - %.not77105 = icmp eq i32 %.0, 0 - br i1 %.not77105, label %._crit_edge, label %.lr.ph108 - -.lr.ph108: ; preds = %68, %70 - %.2107 = phi i32 [ %73, %70 ], [ %.0, %68 ] - %.353106 = phi ptr [ %71, %70 ], [ %.151, %68 ] - %69 = tail call i32 @isspace(i32 noundef %.2107) #4 - %.not80 = icmp eq i32 %69, 0 - br i1 %.not80, label %.loopexit, label %70 - -70: ; preds = %.lr.ph108 - %71 = getelementptr inbounds nuw i8, ptr %.353106, i64 1 - %72 = load i8, ptr %.353106, align 1 + %.not76104 = icmp eq i32 %.0, 0 + br i1 %.not76104, label %._crit_edge, label %.lr.ph107 + +.lr.ph107: ; preds = %68, %70 + %.2106 = phi i32 [ %73, %70 ], [ %.0, %68 ] + %.353105 = phi ptr [ %71, %70 ], [ %.151, %68 ] + %69 = tail call i32 @isspace(i32 noundef %.2106) #4 + %.not79 = icmp eq i32 %69, 0 + br i1 %.not79, label %.loopexit, label %70 + +70: ; preds = %.lr.ph107 + %71 = getelementptr inbounds nuw i8, ptr %.353105, i64 1 + %72 = load i8, ptr %.353105, align 1 %73 = sext i8 %72 to i32 - %.not77 = icmp eq i8 %72, 0 - br i1 %.not77, label %._crit_edge, label %.lr.ph108, !llvm.loop !10 + %.not76 = icmp eq i8 %72, 0 + br i1 %.not76, label %._crit_edge, label %.lr.ph107, !llvm.loop !10 ._crit_edge: ; preds = %70, %68 - %.not78 = icmp eq ptr %.054.ph.ph, null - br i1 %.not78, label %77, label %74 + %.not77 = icmp eq ptr %.054.ph.ph, null + br i1 %.not77, label %77, label %74 74: ; preds = %._crit_edge %75 = load i8, ptr %.054.ph.ph, align 1 - %.not79 = icmp eq i8 %75, 0 - br i1 %.not79, label %77, label %.loopexit + %.not78 = icmp eq i8 %75, 0 + br i1 %.not78, label %77, label %.loopexit 76: ; preds = %4 - br i1 %.not73, label %77, label %.loopexit + br i1 %.not72, label %77, label %.loopexit .unreachabledefault: ; preds = %54 unreachable @@ -357,10 +357,10 @@ define i32 @b64_pton(ptr noundef readonly captures(none) %0, ptr noundef capture %78 = trunc i64 %.046.ph.ph.ph to i32 br label %.loopexit -.unreachabledefault163: ; preds = %13 +.unreachabledefault162: ; preds = %13 unreachable -.loopexit: ; preds = %15, %11, %33, %21, %59, %.lr.ph108, %.preheader, %76, %74, %63, %54, %54, %77 +.loopexit: ; preds = %15, %11, %33, %21, %59, %.lr.ph107, %.preheader, %76, %74, %63, %54, %54, %77 %.049 = phi i32 [ %78, %77 ], [ -1, %54 ], [ -1, %54 ], [ -1, %63 ], [ -1, %74 ], [ -1, %76 ], [ -1, %.preheader ], [ -1, %.lr.ph108 ], [ -1, %59 ], [ -1, %21 ], [ -1, %33 ], [ -1, %11 ], [ -1, %15 ] ret i32 %.049 } diff --git a/bench/opencc/optimized/Config.ll b/bench/opencc/optimized/Config.ll index e9aeb7c9997..c257a26640b 100644 --- a/bench/opencc/optimized/Config.ll +++ b/bench/opencc/optimized/Config.ll @@ -11414,9 +11414,9 @@ _ZN9rapidjson13GenericReaderINS_4UTF8IcEES2_NS_12CrtAllocatorEE7ConsumeINS4_12Nu %112 = icmp samesign ugt i8 %111, 57 %113 = icmp ugt i64 %.6143515, 9007199254740991 %or.cond = select i1 %112, i1 true, i1 %113 - br i1 %or.cond, label %.thread617, label %115, !prof !328 + br i1 %or.cond, label %.thread616, label %115, !prof !328 -.thread617: ; preds = %.lr.ph518 +.thread616: ; preds = %.lr.ph518 %114 = uitofp i64 %.6143515 to double br label %.lr.ph532.preheader @@ -11439,22 +11439,22 @@ _ZN9rapidjson13GenericReaderINS_4UTF8IcEES2_NS_12CrtAllocatorEE7ConsumeINS4_12Nu %127 = uitofp nneg i64 %121 to double br label %_ZN9rapidjson13GenericReaderINS_4UTF8IcEES2_NS_12CrtAllocatorEE7ConsumeINS4_12NumberStreamINS_25GenericInsituStringStreamIS2_EELb0ELb0EEEEEbRT_NSA_2ChE.exit196.thread -.lr.ph532.preheader: ; preds = %109, %.thread617 - %.398616 = phi double [ %114, %.thread617 ], [ %.196, %109 ] - %.0115615 = phi i32 [ %.1116517, %.thread617 ], [ 0, %109 ] - %.1121614 = phi i8 [ 1, %.thread617 ], [ %.0120369, %109 ] - %.6133613 = phi i32 [ %.7134516, %.thread617 ], [ %.3130368, %109 ] - %.4141612 = phi i64 [ %.6143515, %.thread617 ], [ %.1138367, %109 ] - %.sroa.0.9611 = phi ptr [ %.sroa.0.10514, %.thread617 ], [ %101, %109 ] +.lr.ph532.preheader: ; preds = %109, %.thread616 + %.398615 = phi double [ %114, %.thread617 ], [ %.196, %109 ] + %.0115614 = phi i32 [ %.1116517, %.thread617 ], [ 0, %109 ] + %.1121613 = phi i8 [ 1, %.thread617 ], [ %.0120369, %109 ] + %.6133612 = phi i32 [ %.7134516, %.thread617 ], [ %.3130368, %109 ] + %.4141611 = phi i64 [ %.6143515, %.thread617 ], [ %.1138367, %109 ] + %.sroa.0.9610 = phi ptr [ %.sroa.0.10514, %.thread617 ], [ %101, %109 ] %128 = phi i8 [ %111, %.thread617 ], [ %102, %109 ] br label %.lr.ph532 .lr.ph532: ; preds = %.lr.ph532.preheader, %142 %129 = phi i8 [ %143, %142 ], [ %128, %.lr.ph532.preheader ] - %.499531 = phi double [ %.5100, %142 ], [ %.398616, %.lr.ph532.preheader ] - %.2117530 = phi i32 [ %.3118, %142 ], [ %.0115615, %.lr.ph532.preheader ] - %.9529 = phi i32 [ %.10, %142 ], [ %.6133613, %.lr.ph532.preheader ] - %.sroa.0.11528 = phi ptr [ %.sroa.0.12, %142 ], [ %.sroa.0.9611, %.lr.ph532.preheader ] + %.499531 = phi double [ %.5100, %142 ], [ %.398615, %.lr.ph532.preheader ] + %.2117530 = phi i32 [ %.3118, %142 ], [ %.0115614, %.lr.ph532.preheader ] + %.9529 = phi i32 [ %.10, %142 ], [ %.6133612, %.lr.ph532.preheader ] + %.sroa.0.11528 = phi ptr [ %.sroa.0.12, %142 ], [ %.sroa.0.9610, %.lr.ph532.preheader ] %130 = icmp samesign ult i8 %129, 58 br i1 %130, label %131, label %.critedge185, !prof !284 @@ -11487,8 +11487,8 @@ _ZN9rapidjson13GenericReaderINS_4UTF8IcEES2_NS_12CrtAllocatorEE7ConsumeINS4_12Nu .critedge185: ; preds = %.lr.ph532, %.critedge180 %.pr398 = phi i8 [ %97, %.critedge180 ], [ %129, %.lr.ph532 ] %.sroa.0.13 = phi ptr [ %.sroa.0.7, %.critedge180 ], [ %.sroa.0.11528, %.lr.ph532 ] - %.7144 = phi i64 [ %.1138367, %.critedge180 ], [ %.4141612, %.lr.ph532 ] - %.2122 = phi i8 [ %.0120369, %.critedge180 ], [ %.1121614, %.lr.ph532 ] + %.7144 = phi i64 [ %.1138367, %.critedge180 ], [ %.4141611, %.lr.ph532 ] + %.2122 = phi i8 [ %.0120369, %.critedge180 ], [ %.1121613, %.lr.ph532 ] %.4119 = phi i32 [ 0, %.critedge180 ], [ %.2117530, %.lr.ph532 ] %.6101 = phi double [ %.196, %.critedge180 ], [ %.499531, %.lr.ph532 ] switch i8 %.pr398, label %_ZN9rapidjson13GenericReaderINS_4UTF8IcEES2_NS_12CrtAllocatorEE7ConsumeINS4_12NumberStreamINS_25GenericInsituStringStreamIS2_EELb0ELb0EEEEEbRT_NSA_2ChE.exit196 [ @@ -11504,8 +11504,8 @@ _ZN9rapidjson13GenericReaderINS_4UTF8IcEES2_NS_12CrtAllocatorEE7ConsumeINS4_12Nu %148 = uitofp i64 %147 to double %.8 = select i1 %145, double %.6101, double %148 %149 = load i8, ptr %.sroa.0.14, align 1, !tbaa !20 - %.not712 = icmp eq i8 %149, 43 - br i1 %.not712, label %_ZN9rapidjson13GenericReaderINS_4UTF8IcEES2_NS_12CrtAllocatorEE7ConsumeINS4_12NumberStreamINS_25GenericInsituStringStreamIS2_EELb0ELb0EEEEEbRT_NSA_2ChE.exit198, label %_ZN9rapidjson13GenericReaderINS_4UTF8IcEES2_NS_12CrtAllocatorEE7ConsumeINS4_12NumberStreamINS_25GenericInsituStringStreamIS2_EELb0ELb0EEEEEbRT_NSA_2ChE.exit197, !prof !284 + %.not711 = icmp eq i8 %149, 43 + br i1 %.not711, label %_ZN9rapidjson13GenericReaderINS_4UTF8IcEES2_NS_12CrtAllocatorEE7ConsumeINS4_12NumberStreamINS_25GenericInsituStringStreamIS2_EELb0ELb0EEEEEbRT_NSA_2ChE.exit198, label %_ZN9rapidjson13GenericReaderINS_4UTF8IcEES2_NS_12CrtAllocatorEE7ConsumeINS4_12NumberStreamINS_25GenericInsituStringStreamIS2_EELb0ELb0EEEEEbRT_NSA_2ChE.exit197, !prof !284 _ZN9rapidjson13GenericReaderINS_4UTF8IcEES2_NS_12CrtAllocatorEE7ConsumeINS4_12NumberStreamINS_25GenericInsituStringStreamIS2_EELb0ELb0EEEEEbRT_NSA_2ChE.exit197: ; preds = %_ZN9rapidjson13GenericReaderINS_4UTF8IcEES2_NS_12CrtAllocatorEE7ConsumeINS4_12NumberStreamINS_25GenericInsituStringStreamIS2_EELb0ELb0EEEEEbRT_NSA_2ChE.exit195 %150 = icmp eq i8 %149, 45 @@ -11520,10 +11520,10 @@ _ZN9rapidjson13GenericReaderINS_4UTF8IcEES2_NS_12CrtAllocatorEE7ConsumeINS4_12Nu _ZN9rapidjson13GenericReaderINS_4UTF8IcEES2_NS_12CrtAllocatorEE7ConsumeINS4_12NumberStreamINS_25GenericInsituStringStreamIS2_EELb0ELb0EEEEEbRT_NSA_2ChE.exit198.thread: ; preds = %_ZN9rapidjson13GenericReaderINS_4UTF8IcEES2_NS_12CrtAllocatorEE7ConsumeINS4_12NumberStreamINS_25GenericInsituStringStreamIS2_EELb0ELb0EEEEEbRT_NSA_2ChE.exit197 %152 = add i8 %149, -48 - %or.cond440624 = icmp ult i8 %152, 10 - br i1 %or.cond440624, label %.thread628, label %190, !prof !318 + %or.cond440623 = icmp ult i8 %152, 10 + br i1 %or.cond440623, label %.thread627, label %190, !prof !318 -.thread628: ; preds = %_ZN9rapidjson13GenericReaderINS_4UTF8IcEES2_NS_12CrtAllocatorEE7ConsumeINS4_12NumberStreamINS_25GenericInsituStringStreamIS2_EELb0ELb0EEEEEbRT_NSA_2ChE.exit198.thread +.thread627: ; preds = %_ZN9rapidjson13GenericReaderINS_4UTF8IcEES2_NS_12CrtAllocatorEE7ConsumeINS4_12NumberStreamINS_25GenericInsituStringStreamIS2_EELb0ELb0EEEEEbRT_NSA_2ChE.exit198.thread %153 = getelementptr inbounds nuw i8, ptr %.sroa.0.13, i64 2 %154 = zext nneg i8 %149 to i32 %155 = add nsw i32 %154, -48 @@ -11533,7 +11533,7 @@ _ZN9rapidjson13GenericReaderINS_4UTF8IcEES2_NS_12CrtAllocatorEE7ConsumeINS4_12Nu %157 = getelementptr inbounds nuw i8, ptr %.sroa.0.13, i64 3 %158 = zext nneg i8 %.pr421 to i32 %159 = add nsw i32 %158, -48 - br i1 %.not712, label %173, label %.preheader444 + br i1 %.not711, label %173, label %.preheader444 .preheader444: ; preds = %156 %160 = load i8, ptr %157, align 1, !tbaa !20 @@ -11567,7 +11567,7 @@ _ZN9rapidjson13GenericReaderINS_4UTF8IcEES2_NS_12CrtAllocatorEE7ConsumeINS4_12Nu %172 = icmp ult i8 %.pre584, 10 br i1 %172, label %.lr.ph539, label %.thread423, !prof !334, !llvm.loop !335 -173: ; preds = %.thread628, %156 +173: ; preds = %.thread627, %156 %174 = phi i32 [ %155, %.thread628 ], [ %159, %156 ] %175 = phi ptr [ %153, %.thread628 ], [ %157, %156 ] %176 = sub nsw i32 308, %.4119 @@ -11598,8 +11598,8 @@ _ZN9rapidjson13GenericReaderINS_4UTF8IcEES2_NS_12CrtAllocatorEE7ConsumeINS4_12Nu br label %_ZN9rapidjson15GenericDocumentINS_4UTF8IcEENS_19MemoryPoolAllocatorINS_12CrtAllocatorEEES4_E5Int64El.exit 190: ; preds = %_ZN9rapidjson13GenericReaderINS_4UTF8IcEES2_NS_12CrtAllocatorEE7ConsumeINS4_12NumberStreamINS_25GenericInsituStringStreamIS2_EELb0ELb0EEEEEbRT_NSA_2ChE.exit198.thread, %_ZN9rapidjson13GenericReaderINS_4UTF8IcEES2_NS_12CrtAllocatorEE7ConsumeINS4_12NumberStreamINS_25GenericInsituStringStreamIS2_EELb0ELb0EEEEEbRT_NSA_2ChE.exit198 - %.sroa.0.16626 = phi ptr [ %.sroa.0.14, %_ZN9rapidjson13GenericReaderINS_4UTF8IcEES2_NS_12CrtAllocatorEE7ConsumeINS4_12NumberStreamINS_25GenericInsituStringStreamIS2_EELb0ELb0EEEEEbRT_NSA_2ChE.exit198.thread ], [ %.sroa.0.16.ph, %_ZN9rapidjson13GenericReaderINS_4UTF8IcEES2_NS_12CrtAllocatorEE7ConsumeINS4_12NumberStreamINS_25GenericInsituStringStreamIS2_EELb0ELb0EEEEEbRT_NSA_2ChE.exit198 ] - %191 = ptrtoint ptr %.sroa.0.16626 to i64 + %.sroa.0.16625 = phi ptr [ %.sroa.0.14, %_ZN9rapidjson13GenericReaderINS_4UTF8IcEES2_NS_12CrtAllocatorEE7ConsumeINS4_12NumberStreamINS_25GenericInsituStringStreamIS2_EELb0ELb0EEEEEbRT_NSA_2ChE.exit198.thread ], [ %.sroa.0.16.ph, %_ZN9rapidjson13GenericReaderINS_4UTF8IcEES2_NS_12CrtAllocatorEE7ConsumeINS4_12NumberStreamINS_25GenericInsituStringStreamIS2_EELb0ELb0EEEEEbRT_NSA_2ChE.exit198 ] + %191 = ptrtoint ptr %.sroa.0.16625 to i64 %192 = sub i64 %191, %5 %193 = getelementptr inbounds nuw i8, ptr %0, i64 48 store i32 15, ptr %193, align 8, !tbaa !96 @@ -11608,28 +11608,28 @@ _ZN9rapidjson13GenericReaderINS_4UTF8IcEES2_NS_12CrtAllocatorEE7ConsumeINS4_12Nu br label %_ZN9rapidjson15GenericDocumentINS_4UTF8IcEENS_19MemoryPoolAllocatorINS_12CrtAllocatorEEES4_E5Int64El.exit .thread423: ; preds = %.critedge192, %.preheader, %177, %.preheader444 - %.0107627631 = phi i1 [ true, %.preheader444 ], [ false, %177 ], [ true, %.preheader ], [ true, %.critedge192 ] + %.0107626630 = phi i1 [ true, %.preheader444 ], [ false, %177 ], [ true, %.preheader ], [ true, %.critedge192 ] %.sroa.0.23 = phi ptr [ %157, %.preheader444 ], [ %.sroa.0.20, %177 ], [ %.sroa.0.19, %.preheader ], [ %164, %.critedge192 ] %.5113 = phi i32 [ %159, %.preheader444 ], [ %.2110, %177 ], [ %167, %.preheader ], [ %167, %.critedge192 ] %195 = sub nsw i32 0, %.5113 - %spec.select193 = select i1 %.0107627631, i32 %195, i32 %.5113 + %spec.select193 = select i1 %.0107626630, i32 %195, i32 %.5113 br label %_ZN9rapidjson13GenericReaderINS_4UTF8IcEES2_NS_12CrtAllocatorEE7ConsumeINS4_12NumberStreamINS_25GenericInsituStringStreamIS2_EELb0ELb0EEEEEbRT_NSA_2ChE.exit196.thread _ZN9rapidjson13GenericReaderINS_4UTF8IcEES2_NS_12CrtAllocatorEE7ConsumeINS4_12NumberStreamINS_25GenericInsituStringStreamIS2_EELb0ELb0EEEEEbRT_NSA_2ChE.exit196: ; preds = %142, %.critedge185 - %.7144378396 = phi i64 [ %.7144, %.critedge185 ], [ %.4141612, %142 ] + %.7144378396 = phi i64 [ %.7144, %.critedge185 ], [ %.4141611, %142 ] %.4119380389 = phi i32 [ %.4119, %.critedge185 ], [ %.3118, %142 ] %.sroa.0.15 = phi ptr [ %.sroa.0.13, %.critedge185 ], [ %.sroa.0.12, %142 ] - %.3123 = phi i8 [ %.2122, %.critedge185 ], [ %.1121614, %142 ] + %.3123 = phi i8 [ %.2122, %.critedge185 ], [ %.1121613, %142 ] %.7102 = phi double [ %.6101, %.critedge185 ], [ %.5100, %142 ] %196 = trunc nuw i8 %.3123 to i1 br i1 %196, label %_ZN9rapidjson13GenericReaderINS_4UTF8IcEES2_NS_12CrtAllocatorEE7ConsumeINS4_12NumberStreamINS_25GenericInsituStringStreamIS2_EELb0ELb0EEEEEbRT_NSA_2ChE.exit196.thread, label %238 _ZN9rapidjson13GenericReaderINS_4UTF8IcEES2_NS_12CrtAllocatorEE7ConsumeINS4_12NumberStreamINS_25GenericInsituStringStreamIS2_EELb0ELb0EEEEEbRT_NSA_2ChE.exit196.thread: ; preds = %126, %.thread423, %_ZN9rapidjson13GenericReaderINS_4UTF8IcEES2_NS_12CrtAllocatorEE7ConsumeINS4_12NumberStreamINS_25GenericInsituStringStreamIS2_EELb0ELb0EEEEEbRT_NSA_2ChE.exit196 - %.7102646 = phi double [ %.7102, %_ZN9rapidjson13GenericReaderINS_4UTF8IcEES2_NS_12CrtAllocatorEE7ConsumeINS4_12NumberStreamINS_25GenericInsituStringStreamIS2_EELb0ELb0EEEEEbRT_NSA_2ChE.exit196 ], [ %127, %126 ], [ %.8, %.thread423 ] - %.0108645 = phi i32 [ 0, %_ZN9rapidjson13GenericReaderINS_4UTF8IcEES2_NS_12CrtAllocatorEE7ConsumeINS4_12NumberStreamINS_25GenericInsituStringStreamIS2_EELb0ELb0EEEEEbRT_NSA_2ChE.exit196 ], [ 0, %126 ], [ %spec.select193, %.thread423 ] - %.sroa.0.15644 = phi ptr [ %.sroa.0.15, %_ZN9rapidjson13GenericReaderINS_4UTF8IcEES2_NS_12CrtAllocatorEE7ConsumeINS4_12NumberStreamINS_25GenericInsituStringStreamIS2_EELb0ELb0EEEEEbRT_NSA_2ChE.exit196 ], [ %117, %126 ], [ %.sroa.0.23, %.thread423 ] - %.4119380389642 = phi i32 [ %.4119380389, %_ZN9rapidjson13GenericReaderINS_4UTF8IcEES2_NS_12CrtAllocatorEE7ConsumeINS4_12NumberStreamINS_25GenericInsituStringStreamIS2_EELb0ELb0EEEEEbRT_NSA_2ChE.exit196 ], [ %122, %126 ], [ %.4119, %.thread423 ] - %197 = add nsw i32 %.0108645, %.4119380389642 + %.7102645 = phi double [ %.7102, %_ZN9rapidjson13GenericReaderINS_4UTF8IcEES2_NS_12CrtAllocatorEE7ConsumeINS4_12NumberStreamINS_25GenericInsituStringStreamIS2_EELb0ELb0EEEEEbRT_NSA_2ChE.exit196 ], [ %127, %126 ], [ %.8, %.thread423 ] + %.0108644 = phi i32 [ 0, %_ZN9rapidjson13GenericReaderINS_4UTF8IcEES2_NS_12CrtAllocatorEE7ConsumeINS4_12NumberStreamINS_25GenericInsituStringStreamIS2_EELb0ELb0EEEEEbRT_NSA_2ChE.exit196 ], [ 0, %126 ], [ %spec.select193, %.thread423 ] + %.sroa.0.15643 = phi ptr [ %.sroa.0.15, %_ZN9rapidjson13GenericReaderINS_4UTF8IcEES2_NS_12CrtAllocatorEE7ConsumeINS4_12NumberStreamINS_25GenericInsituStringStreamIS2_EELb0ELb0EEEEEbRT_NSA_2ChE.exit196 ], [ %117, %126 ], [ %.sroa.0.23, %.thread423 ] + %.4119380389641 = phi i32 [ %.4119380389, %_ZN9rapidjson13GenericReaderINS_4UTF8IcEES2_NS_12CrtAllocatorEE7ConsumeINS4_12NumberStreamINS_25GenericInsituStringStreamIS2_EELb0ELb0EEEEEbRT_NSA_2ChE.exit196 ], [ %122, %126 ], [ %.4119, %.thread423 ] + %197 = add nsw i32 %.0108644, %.4119380389641 %198 = icmp slt i32 %197, -308 br i1 %198, label %199, label %208 @@ -11638,7 +11638,7 @@ _ZN9rapidjson13GenericReaderINS_4UTF8IcEES2_NS_12CrtAllocatorEE7ConsumeINS4_12Nu br i1 %200, label %_ZN9rapidjson8internal21StrtodNormalPrecisionEdi.exit, label %201 201: ; preds = %199 - %202 = fdiv double %.7102646, 1.000000e+308 + %202 = fdiv double %.7102645, 1.000000e+308 %203 = sub nuw nsw i32 -308, %197 %204 = zext nneg i32 %203 to i64 %205 = getelementptr inbounds nuw double, ptr @_ZZN9rapidjson8internal5Pow10EiE1e, i64 %204 @@ -11654,7 +11654,7 @@ _ZN9rapidjson13GenericReaderINS_4UTF8IcEES2_NS_12CrtAllocatorEE7ConsumeINS4_12Nu %211 = zext nneg i32 %197 to i64 %212 = getelementptr inbounds nuw double, ptr @_ZZN9rapidjson8internal5Pow10EiE1e, i64 %211 %213 = load double, ptr %212, align 8, !tbaa !338 - %214 = fmul double %.7102646, %213 + %214 = fmul double %.7102645, %213 br label %_ZN9rapidjson8internal21StrtodNormalPrecisionEdi.exit 215: ; preds = %208 @@ -11662,7 +11662,7 @@ _ZN9rapidjson13GenericReaderINS_4UTF8IcEES2_NS_12CrtAllocatorEE7ConsumeINS4_12Nu %217 = zext nneg i32 %216 to i64 %218 = getelementptr inbounds nuw double, ptr @_ZZN9rapidjson8internal5Pow10EiE1e, i64 %217 %219 = load double, ptr %218, align 8, !tbaa !338 - %220 = fdiv double %.7102646, %219 + %220 = fdiv double %.7102645, %219 br label %_ZN9rapidjson8internal21StrtodNormalPrecisionEdi.exit _ZN9rapidjson8internal21StrtodNormalPrecisionEdi.exit: ; preds = %215, %210, %201, %199 @@ -11861,16 +11861,16 @@ _ZN9rapidjson15GenericDocumentINS_4UTF8IcEENS_19MemoryPoolAllocatorINS_12CrtAllo br label %_ZN9rapidjson15GenericDocumentINS_4UTF8IcEENS_19MemoryPoolAllocatorINS_12CrtAllocatorEEES4_E5Int64El.exit _ZN9rapidjson15GenericDocumentINS_4UTF8IcEENS_19MemoryPoolAllocatorINS_12CrtAllocatorEEES4_E5Int64El.exit: ; preds = %190, %187, %_ZN9rapidjson15GenericDocumentINS_4UTF8IcEENS_19MemoryPoolAllocatorINS_12CrtAllocatorEEES4_E6DoubleEd.exit, %_ZN9rapidjson15GenericDocumentINS_4UTF8IcEENS_19MemoryPoolAllocatorINS_12CrtAllocatorEEES4_E6Uint64Em.exit, %_ZN9rapidjson15GenericDocumentINS_4UTF8IcEENS_19MemoryPoolAllocatorINS_12CrtAllocatorEEES4_E3IntEi.exit, %_ZN9rapidjson15GenericDocumentINS_4UTF8IcEENS_19MemoryPoolAllocatorINS_12CrtAllocatorEEES4_E4UintEj.exit, %256, %.sink.split.i.i, %104, %86, %51 - %.sroa.0.3 = phi ptr [ %.sroa.0.8509, %86 ], [ %101, %104 ], [ %.sroa.0.24, %51 ], [ %.sroa.0.15, %.sink.split.i.i ], [ %.sroa.0.15, %256 ], [ %.sroa.0.15, %_ZN9rapidjson15GenericDocumentINS_4UTF8IcEENS_19MemoryPoolAllocatorINS_12CrtAllocatorEEES4_E4UintEj.exit ], [ %.sroa.0.15, %_ZN9rapidjson15GenericDocumentINS_4UTF8IcEENS_19MemoryPoolAllocatorINS_12CrtAllocatorEEES4_E3IntEi.exit ], [ %.sroa.0.15, %_ZN9rapidjson15GenericDocumentINS_4UTF8IcEENS_19MemoryPoolAllocatorINS_12CrtAllocatorEEES4_E6Uint64Em.exit ], [ %.sroa.0.15644, %_ZN9rapidjson15GenericDocumentINS_4UTF8IcEENS_19MemoryPoolAllocatorINS_12CrtAllocatorEEES4_E6DoubleEd.exit ], [ %.sroa.0.16626, %190 ], [ %182, %187 ] + %.sroa.0.3 = phi ptr [ %.sroa.0.8509, %86 ], [ %101, %104 ], [ %.sroa.0.24, %51 ], [ %.sroa.0.15, %.sink.split.i.i ], [ %.sroa.0.15, %256 ], [ %.sroa.0.15, %_ZN9rapidjson15GenericDocumentINS_4UTF8IcEENS_19MemoryPoolAllocatorINS_12CrtAllocatorEEES4_E4UintEj.exit ], [ %.sroa.0.15, %_ZN9rapidjson15GenericDocumentINS_4UTF8IcEENS_19MemoryPoolAllocatorINS_12CrtAllocatorEEES4_E3IntEi.exit ], [ %.sroa.0.15, %_ZN9rapidjson15GenericDocumentINS_4UTF8IcEENS_19MemoryPoolAllocatorINS_12CrtAllocatorEEES4_E6Uint64Em.exit ], [ %.sroa.0.15643, %_ZN9rapidjson15GenericDocumentINS_4UTF8IcEENS_19MemoryPoolAllocatorINS_12CrtAllocatorEEES4_E6DoubleEd.exit ], [ %.sroa.0.16625, %190 ], [ %182, %187 ] store ptr %.sroa.0.3, ptr %1, align 8, !tbaa !299 store ptr %.sroa.87.0.copyload, ptr %.sroa.87.0..sroa_idx, align 8, !tbaa !299 store ptr %.sroa.87341.0.copyload, ptr %.sroa.87341.0..sroa_idx, align 8, !tbaa !299 ret void 304: ; preds = %236, %234 - %.sroa.0.15643 = phi ptr [ %.sroa.0.15644, %236 ], [ %.sroa.0.15, %234 ] + %.sroa.0.15642 = phi ptr [ %.sroa.0.15643, %236 ], [ %.sroa.0.15, %234 ] %.pn159.pn.pn = phi { ptr, i32 } [ %237, %236 ], [ %235, %234 ] - store ptr %.sroa.0.15643, ptr %1, align 8, !tbaa !299 + store ptr %.sroa.0.15642, ptr %1, align 8, !tbaa !299 store ptr %.sroa.87.0.copyload, ptr %.sroa.87.0..sroa_idx, align 8, !tbaa !299 store ptr %.sroa.87341.0.copyload, ptr %.sroa.87341.0..sroa_idx, align 8, !tbaa !299 resume { ptr, i32 } %.pn159.pn.pn diff --git a/bench/openjdk/optimized/lowMemoryDetector.ll b/bench/openjdk/optimized/lowMemoryDetector.ll index 0388f922689..32a99a2d228 100644 --- a/bench/openjdk/optimized/lowMemoryDetector.ll +++ b/bench/openjdk/optimized/lowMemoryDetector.ll @@ -401,8 +401,8 @@ _ZN11MutexLockerC2EP5MutexNS0_18SafepointCheckFlagE.exit: ; preds = %0, %3 %wide.trip.count = zext nneg i32 %5 to i64 br label %7 -7: ; preds = %.lr.ph, %79 - %8 = phi ptr [ %4, %.lr.ph ], [ %80, %79 ] +7: ; preds = %.lr.ph, %80 + %8 = phi ptr [ %4, %.lr.ph ], [ %81, %79 ] %indvars.iv = phi i64 [ 0, %.lr.ph ], [ %indvars.iv.next, %79 ] %.024 = phi i8 [ 0, %.lr.ph ], [ %.1, %79 ] %9 = getelementptr inbounds nuw i8, ptr %8, i64 8 @@ -412,20 +412,20 @@ _ZN11MutexLockerC2EP5MutexNS0_18SafepointCheckFlagE.exit: ; preds = %0, %3 %13 = getelementptr inbounds nuw i8, ptr %12, i64 176 %14 = load ptr, ptr %13, align 8 %.not = icmp eq ptr %14, null - br i1 %.not, label %79, label %15 + br i1 %.not, label %80, label %15 15: ; preds = %7 %16 = getelementptr inbounds nuw i8, ptr %12, i64 160 %17 = load ptr, ptr %16, align 8 %18 = load i8, ptr %17, align 8 %19 = trunc i8 %18 to i1 - br i1 %19, label %20, label %79 + br i1 %19, label %20, label %80 20: ; preds = %15 %21 = getelementptr inbounds nuw i8, ptr %17, i64 8 %22 = load i64, ptr %21, align 8 %.not15 = icmp eq i64 %22, 0 - br i1 %.not15, label %79, label %23 + br i1 %.not15, label %80, label %23 23: ; preds = %20 %24 = load ptr, ptr %12, align 8 @@ -523,44 +523,44 @@ _ZN16ThresholdSupport24is_low_threshold_crossedE11MemoryUsage.exit.i: ; preds = _ZN10SensorInfo22set_gauge_sensor_levelE11MemoryUsageP16ThresholdSupport.exit: ; preds = %52, %55, %56, %64, %68 call void @llvm.lifetime.end.p0(ptr nonnull %.sroa.5) - %69 = trunc nuw i8 %.024 to i1 - br i1 %69, label %79, label %70 - -70: ; preds = %_ZN10SensorInfo22set_gauge_sensor_levelE11MemoryUsageP16ThresholdSupport.exit - %71 = getelementptr inbounds nuw i8, ptr %14, i64 24 - %72 = load i32, ptr %71, align 8 - %73 = icmp sgt i32 %72, 0 - %74 = getelementptr inbounds nuw i8, ptr %14, i64 28 - %75 = load i32, ptr %74, align 4 - %76 = icmp sgt i32 %75, 0 - %77 = select i1 %73, i1 true, i1 %76 - %78 = zext i1 %77 to i8 - br label %79 - -79: ; preds = %_ZN10SensorInfo22set_gauge_sensor_levelE11MemoryUsageP16ThresholdSupport.exit, %70, %7, %15, %20 - %80 = phi ptr [ %8, %20 ], [ %8, %15 ], [ %8, %7 ], [ %.pre, %_ZN10SensorInfo22set_gauge_sensor_levelE11MemoryUsageP16ThresholdSupport.exit ], [ %.pre, %70 ] - %.1 = phi i8 [ %.024, %20 ], [ %.024, %15 ], [ %.024, %7 ], [ 1, %_ZN10SensorInfo22set_gauge_sensor_levelE11MemoryUsageP16ThresholdSupport.exit ], [ %78, %70 ] + %70 = trunc nuw i8 %.024 to i1 + br i1 %70, label %80, label %71 + +71: ; preds = %_ZN10SensorInfo22set_gauge_sensor_levelE11MemoryUsageP16ThresholdSupport.exit + %72 = getelementptr inbounds nuw i8, ptr %14, i64 24 + %73 = load i32, ptr %72, align 8 + %74 = icmp sgt i32 %73, 0 + %75 = getelementptr inbounds nuw i8, ptr %14, i64 28 + %76 = load i32, ptr %75, align 4 + %77 = icmp sgt i32 %76, 0 + %78 = select i1 %74, i1 true, i1 %77 + %79 = zext i1 %78 to i8 + br label %80 + +80: ; preds = %_ZN10SensorInfo22set_gauge_sensor_levelE11MemoryUsageP16ThresholdSupport.exit, %71, %7, %15, %20 + %81 = phi ptr [ %8, %20 ], [ %8, %15 ], [ %8, %7 ], [ %.pre, %_ZN10SensorInfo22set_gauge_sensor_levelE11MemoryUsageP16ThresholdSupport.exit ], [ %.pre, %70 ] + %.1 = phi i8 [ %.024, %20 ], [ %.024, %15 ], [ %.024, %7 ], [ 1, %_ZN10SensorInfo22set_gauge_sensor_levelE11MemoryUsageP16ThresholdSupport.exit ], [ %79, %70 ] %indvars.iv.next = add nuw nsw i64 %indvars.iv, 1 %exitcond.not = icmp eq i64 %indvars.iv.next, %wide.trip.count br i1 %exitcond.not, label %._crit_edge, label %7, !llvm.loop !9 -._crit_edge: ; preds = %79 - %81 = trunc nuw i8 %.1 to i1 - br i1 %81, label %82, label %._crit_edge.thread +._crit_edge: ; preds = %80 + %82 = trunc nuw i8 %.1 to i1 + br i1 %82, label %83, label %._crit_edge.thread -82: ; preds = %._crit_edge - %83 = load ptr, ptr @Notification_lock, align 8 - call void @_ZN7Monitor10notify_allEv(ptr noundef nonnull align 8 dereferenceable(104) %83) #12 +83: ; preds = %._crit_edge + %84 = load ptr, ptr @Notification_lock, align 8 + call void @_ZN7Monitor10notify_allEv(ptr noundef nonnull align 8 dereferenceable(104) %84) #12 br label %._crit_edge.thread -._crit_edge.thread: ; preds = %_ZN11MutexLockerC2EP5MutexNS0_18SafepointCheckFlagE.exit, %82, %._crit_edge - br i1 %.not.i.i, label %_ZN11MutexLockerD2Ev.exit, label %84 +._crit_edge.thread: ; preds = %_ZN11MutexLockerC2EP5MutexNS0_18SafepointCheckFlagE.exit, %83, %._crit_edge + br i1 %.not.i.i, label %_ZN11MutexLockerD2Ev.exit, label %85 -84: ; preds = %._crit_edge.thread +85: ; preds = %._crit_edge.thread call void @_ZN5Mutex6unlockEv(ptr noundef nonnull align 8 dereferenceable(104) %2) #12 br label %_ZN11MutexLockerD2Ev.exit -_ZN11MutexLockerD2Ev.exit: ; preds = %._crit_edge.thread, %84 +_ZN11MutexLockerD2Ev.exit: ; preds = %._crit_edge.thread, %85 ret void } @@ -617,14 +617,14 @@ _ZN16ThresholdSupport24is_low_threshold_crossedE11MemoryUsage.exit: ; preds = %1 store i32 %29, ptr %22, align 8 %30 = getelementptr inbounds nuw i8, ptr %0, i64 32 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %30, ptr noundef nonnull align 8 dereferenceable(32) %1, i64 32, i1 false) - br i1 %27, label %31, label %45 + br i1 %27, label %31, label %46 31: ; preds = %28 store i32 0, ptr %25, align 4 - br label %45 + br label %46 32: ; preds = %18, %_ZN16ThresholdSupport24is_low_threshold_crossedE11MemoryUsage.exit - br i1 %.0.i15, label %33, label %45 + br i1 %.0.i15, label %33, label %46 33: ; preds = %32 %34 = getelementptr inbounds nuw i8, ptr %0, i64 8 @@ -641,13 +641,13 @@ _ZN16ThresholdSupport24is_low_threshold_crossedE11MemoryUsage.exit: ; preds = %1 %42 = load i32, ptr %41, align 8 %43 = icmp sgt i32 %42, 0 %or.cond14 = select i1 %43, i1 %39, i1 false - br i1 %or.cond14, label %44, label %45 + br i1 %or.cond14, label %44, label %46 44: ; preds = %40, %33 store i32 1, ptr %37, align 4 br label %45 -45: ; preds = %32, %40, %44, %28, %31 +46: ; preds = %32, %40, %44, %28, %31 ret void } @@ -785,27 +785,27 @@ _ZN10SensorInfo22set_gauge_sensor_levelE11MemoryUsageP16ThresholdSupport.exit.th br label %68 _ZN10SensorInfo22set_gauge_sensor_levelE11MemoryUsageP16ThresholdSupport.exit: ; preds = %._ZN10SensorInfo22set_gauge_sensor_levelE11MemoryUsageP16ThresholdSupport.exit_crit_edge, %46, %49, %58 - %62 = phi i32 [ %.pre, %._ZN10SensorInfo22set_gauge_sensor_levelE11MemoryUsageP16ThresholdSupport.exit_crit_edge ], [ %44, %46 ], [ 0, %49 ], [ %56, %58 ] - %63 = getelementptr inbounds nuw i8, ptr %4, i64 24 - %64 = load i32, ptr %63, align 8 - %65 = icmp sgt i32 %64, 0 - %66 = icmp sgt i32 %62, 0 - %67 = select i1 %65, i1 true, i1 %66 - br i1 %67, label %68, label %70 - -68: ; preds = %_ZN10SensorInfo22set_gauge_sensor_levelE11MemoryUsageP16ThresholdSupport.exit.thread, %_ZN10SensorInfo22set_gauge_sensor_levelE11MemoryUsageP16ThresholdSupport.exit - %69 = load ptr, ptr @Notification_lock, align 8 - call void @_ZN7Monitor10notify_allEv(ptr noundef nonnull align 8 dereferenceable(104) %69) #12 - br label %70 - -70: ; preds = %68, %_ZN10SensorInfo22set_gauge_sensor_levelE11MemoryUsageP16ThresholdSupport.exit - br i1 %.not.i.i, label %_ZN11MutexLockerD2Ev.exit, label %71 - -71: ; preds = %70 + %63 = phi i32 [ %.pre, %._ZN10SensorInfo22set_gauge_sensor_levelE11MemoryUsageP16ThresholdSupport.exit_crit_edge ], [ %44, %46 ], [ 0, %49 ], [ %56, %58 ] + %64 = getelementptr inbounds nuw i8, ptr %4, i64 24 + %65 = load i32, ptr %64, align 8 + %66 = icmp sgt i32 %65, 0 + %67 = icmp sgt i32 %63, 0 + %68 = select i1 %66, i1 true, i1 %67 + br i1 %68, label %69, label %71 + +69: ; preds = %_ZN10SensorInfo22set_gauge_sensor_levelE11MemoryUsageP16ThresholdSupport.exit.thread, %_ZN10SensorInfo22set_gauge_sensor_levelE11MemoryUsageP16ThresholdSupport.exit + %70 = load ptr, ptr @Notification_lock, align 8 + call void @_ZN7Monitor10notify_allEv(ptr noundef nonnull align 8 dereferenceable(104) %70) #12 + br label %71 + +71: ; preds = %69, %_ZN10SensorInfo22set_gauge_sensor_levelE11MemoryUsageP16ThresholdSupport.exit + br i1 %.not.i.i, label %_ZN11MutexLockerD2Ev.exit, label %72 + +72: ; preds = %71 call void @_ZN5Mutex6unlockEv(ptr noundef nonnull align 8 dereferenceable(104) %16) #12 br label %_ZN11MutexLockerD2Ev.exit -_ZN11MutexLockerD2Ev.exit: ; preds = %71, %70, %1, %6, %11 +_ZN11MutexLockerD2Ev.exit: ; preds = %72, %71, %1, %6, %11 ret void } diff --git a/bench/openmpi/optimized/pmix_pointer_array.ll b/bench/openmpi/optimized/pmix_pointer_array.ll index 477f89d8326..e8fe455d127 100644 --- a/bench/openmpi/optimized/pmix_pointer_array.ll +++ b/bench/openmpi/optimized/pmix_pointer_array.ll @@ -279,9 +279,9 @@ define internal fastcc noundef zeroext i1 @grow_table(ptr noundef %0, i32 nounde %.not.i = icmp eq ptr %4, null %5 = getelementptr inbounds nuw i8, ptr %0, i64 136 %6 = load i32, ptr %5, align 8, !tbaa !16 - %.fr51 = freeze i32 %6 - %7 = add i32 %.fr51, %1 - %8 = srem i32 %7, %.fr51 + %.fr49 = freeze i32 %6 + %7 = add i32 %.fr49, %1 + %8 = srem i32 %7, %.fr49 %9 = sub nsw i32 %7, %8 %10 = getelementptr inbounds nuw i8, ptr %0, i64 132 %11 = load i32, ptr %10, align 4, !tbaa !15 @@ -289,8 +289,8 @@ define internal fastcc noundef zeroext i1 @grow_table(ptr noundef %0, i32 nounde br i1 %.not, label %13, label %12 12: ; preds = %2 - %.not52 = icmp slt i32 %1, %11 - br i1 %.not52, label %13, label %66 + %.not50 = icmp slt i32 %1, %11 + br i1 %.not50, label %13, label %66 13: ; preds = %12, %2 %.042 = phi i32 [ %11, %12 ], [ %9, %2 ] @@ -344,8 +344,8 @@ pmix_tma_realloc.exit: ; preds = %18, %22 %39 = add nsw i64 %33, 63 %40 = lshr i64 %39, 6 %41 = trunc i64 %40 to i32 - %.not53 = icmp eq i32 %41, %38 - br i1 %.not53, label %.loopexit, label %42 + %.not51 = icmp eq i32 %41, %38 + br i1 %.not51, label %.loopexit, label %42 42: ; preds = %._crit_edge %43 = getelementptr inbounds nuw i8, ptr %0, i64 144 @@ -358,31 +358,31 @@ pmix_tma_realloc.exit: ; preds = %18, %22 %47 = getelementptr inbounds nuw i8, ptr %0, i64 72 %48 = load ptr, ptr %47, align 8, !tbaa !27 %49 = tail call ptr %48(ptr noundef nonnull %3, ptr noundef %44, i64 noundef range(i64 -17179869184, 17179869177) %45) #6 - br label %pmix_tma_realloc.exit57 + br label %pmix_tma_realloc.exit55 50: ; preds = %42 %51 = tail call ptr @realloc(ptr noundef %44, i64 noundef range(i64 -17179869184, 17179869177) %45) #8 - br label %pmix_tma_realloc.exit57 + br label %pmix_tma_realloc.exit55 -pmix_tma_realloc.exit57: ; preds = %46, %50 - %.0.i56 = phi ptr [ %49, %46 ], [ %51, %50 ] - %52 = icmp eq ptr %.0.i56, null +pmix_tma_realloc.exit55: ; preds = %46, %50 + %.0.i54 = phi ptr [ %49, %46 ], [ %51, %50 ] + %52 = icmp eq ptr %.0.i54, null br i1 %52, label %66, label %53 -53: ; preds = %pmix_tma_realloc.exit57 - store ptr %.0.i56, ptr %43, align 8, !tbaa !18 +53: ; preds = %pmix_tma_realloc.exit55 + store ptr %.0.i54, ptr %43, align 8, !tbaa !18 %54 = load i32, ptr %26, align 8, !tbaa !14 %55 = sext i32 %54 to i64 %56 = add nsw i64 %55, 63 %57 = lshr i64 %56, 6 %58 = trunc i64 %57 to i32 %59 = icmp slt i32 %58, %38 - br i1 %59, label %.lr.ph61.preheader, label %.loopexit + br i1 %59, label %.lr.ph59.preheader, label %.loopexit -.lr.ph61.preheader: ; preds = %53 - %sext72 = shl i64 %57, 32 - %60 = ashr exact i64 %sext72, 29 - %scevgep = getelementptr i8, ptr %.0.i56, i64 %60 +.lr.ph59.preheader: ; preds = %53 + %sext69 = shl i64 %57, 32 + %60 = ashr exact i64 %sext69, 29 + %scevgep = getelementptr i8, ptr %.0.i54, i64 %60 %61 = xor i64 %57, -1 %62 = add nsw i64 %37, %61 %63 = shl nsw i64 %62, 3 @@ -391,11 +391,11 @@ pmix_tma_realloc.exit57: ; preds = %46, %50 tail call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(1) %scevgep, i8 0, i64 %65, i1 false), !tbaa !23 br label %.loopexit -.loopexit: ; preds = %.lr.ph61.preheader, %53, %._crit_edge +.loopexit: ; preds = %.lr.ph59.preheader, %53, %._crit_edge store i32 %.042, ptr %26, align 8, !tbaa !14 br label %66 -66: ; preds = %pmix_tma_realloc.exit57, %pmix_tma_realloc.exit, %12, %.loopexit +66: ; preds = %pmix_tma_realloc.exit55, %pmix_tma_realloc.exit, %12, %.loopexit %.0 = phi i1 [ true, %.loopexit ], [ false, %12 ], [ false, %pmix_tma_realloc.exit ], [ false, %pmix_tma_realloc.exit57 ] ret i1 %.0 } diff --git a/bench/openspiel/optimized/tic_tac_toe.ll b/bench/openspiel/optimized/tic_tac_toe.ll index 1bf817fc4a4..4eeb846fa20 100644 --- a/bench/openspiel/optimized/tic_tac_toe.ll +++ b/bench/openspiel/optimized/tic_tac_toe.ll @@ -686,8 +686,8 @@ _ZN10open_spiel11tic_tac_toe13PlayerToStateEi.exit: ; preds = %2, %6 %24 = getelementptr inbounds nuw i8, ptr %0, i64 8 %25 = load i32, ptr %24, align 4 %26 = icmp eq i32 %25, %.0.i - %or.cond58 = select i1 %or.cond, i1 %26, i1 false - br i1 %or.cond58, label %49, label %27 + %or.cond52 = select i1 %or.cond, i1 %26, i1 false + br i1 %or.cond52, label %49, label %27 27: ; preds = %_ZN10open_spiel11tic_tac_toe13PlayerToStateEi.exit %28 = getelementptr inbounds nuw i8, ptr %0, i64 12 @@ -696,12 +696,12 @@ _ZN10open_spiel11tic_tac_toe13PlayerToStateEi.exit: ; preds = %2, %6 %31 = getelementptr inbounds nuw i8, ptr %0, i64 16 %32 = load i32, ptr %31, align 4 %33 = icmp eq i32 %32, %.0.i - %or.cond61 = select i1 %30, i1 %33, i1 false + %or.cond55 = select i1 %30, i1 %33, i1 false %34 = getelementptr inbounds nuw i8, ptr %0, i64 20 %35 = load i32, ptr %34, align 4 %36 = icmp eq i32 %35, %.0.i - %or.cond64 = select i1 %or.cond61, i1 %36, i1 false - br i1 %or.cond64, label %49, label %37 + %or.cond58 = select i1 %or.cond55, i1 %36, i1 false + br i1 %or.cond58, label %49, label %37 37: ; preds = %27 %38 = getelementptr inbounds nuw i8, ptr %0, i64 24 @@ -710,32 +710,32 @@ _ZN10open_spiel11tic_tac_toe13PlayerToStateEi.exit: ; preds = %2, %6 %41 = getelementptr inbounds nuw i8, ptr %0, i64 28 %42 = load i32, ptr %41, align 4 %43 = icmp eq i32 %42, %.0.i - %or.cond67 = select i1 %40, i1 %43, i1 false + %or.cond61 = select i1 %40, i1 %43, i1 false %44 = getelementptr inbounds nuw i8, ptr %0, i64 32 %45 = load i32, ptr %44, align 4 %46 = icmp eq i32 %45, %.0.i - %or.cond70 = select i1 %or.cond67, i1 %46, i1 false + %or.cond64 = select i1 %or.cond61, i1 %46, i1 false %brmerge.demorgan = and i1 %20, %30 - %brmerge73.demorgan = and i1 %brmerge.demorgan, %40 - %or.cond94 = or i1 %brmerge73.demorgan, %or.cond70 - %or.cond76 = select i1 %23, i1 %33, i1 false - %or.cond79 = select i1 %or.cond76, i1 %43, i1 false - %or.cond95 = select i1 %or.cond94, i1 true, i1 %or.cond79 - %or.cond82 = select i1 %26, i1 %36, i1 false - %or.cond85 = select i1 %or.cond82, i1 %46, i1 false - %or.cond96 = select i1 %or.cond95, i1 true, i1 %or.cond85 - br i1 %or.cond96, label %49, label %47 + %brmerge67.demorgan = and i1 %brmerge.demorgan, %40 + %or.cond88 = or i1 %brmerge67.demorgan, %or.cond64 + %or.cond70 = select i1 %23, i1 %33, i1 false + %or.cond73 = select i1 %or.cond70, i1 %43, i1 false + %or.cond89 = select i1 %or.cond88, i1 true, i1 %or.cond73 + %or.cond76 = select i1 %26, i1 %36, i1 false + %or.cond79 = select i1 %or.cond76, i1 %46, i1 false + %or.cond90 = select i1 %or.cond89, i1 true, i1 %or.cond79 + br i1 %or.cond90, label %49, label %47 47: ; preds = %37 - %or.cond88 = select i1 %20, i1 %33, i1 false - %or.cond91 = select i1 %or.cond88, i1 %46, i1 false + %or.cond82 = select i1 %20, i1 %33, i1 false + %or.cond85 = select i1 %or.cond82, i1 %46, i1 false %spec.select = and i1 %40, %33 %48 = select i1 %26, i1 %spec.select, i1 false - %spec.select97 = select i1 %or.cond91, i1 true, i1 %48 + %spec.select91 = select i1 %or.cond85, i1 true, i1 %48 br label %49 49: ; preds = %47, %37, %27, %_ZN10open_spiel11tic_tac_toe13PlayerToStateEi.exit - %50 = phi i1 [ true, %_ZN10open_spiel11tic_tac_toe13PlayerToStateEi.exit ], [ true, %27 ], [ true, %37 ], [ %spec.select97, %47 ] + %50 = phi i1 [ true, %_ZN10open_spiel11tic_tac_toe13PlayerToStateEi.exit ], [ true, %27 ], [ true, %37 ], [ %spec.select91, %47 ] ret i1 %50 } @@ -1377,8 +1377,8 @@ define void @_ZNK10open_spiel11tic_tac_toe14TicTacToeState7ReturnsEv(ptr dead_on %9 = getelementptr inbounds nuw i8, ptr %1, i64 68 %10 = load i32, ptr %9, align 4 %11 = icmp eq i32 %10, 2 - %or.cond58.i = select i1 %or.cond.i, i1 %11, i1 false - br i1 %or.cond58.i, label %_ZN10open_spiel11tic_tac_toe12BoardHasLineERKSt5arrayINS0_9CellStateELm9EEi.exit.thread, label %12 + %or.cond52.i = select i1 %or.cond.i, i1 %11, i1 false + br i1 %or.cond52.i, label %_ZN10open_spiel11tic_tac_toe12BoardHasLineERKSt5arrayINS0_9CellStateELm9EEi.exit.thread, label %12 12: ; preds = %2 %13 = getelementptr inbounds nuw i8, ptr %1, i64 72 @@ -1387,12 +1387,12 @@ define void @_ZNK10open_spiel11tic_tac_toe14TicTacToeState7ReturnsEv(ptr dead_on %16 = getelementptr inbounds nuw i8, ptr %1, i64 76 %17 = load i32, ptr %16, align 4 %18 = icmp eq i32 %17, 2 - %or.cond61.i = select i1 %15, i1 %18, i1 false + %or.cond55.i = select i1 %15, i1 %18, i1 false %19 = getelementptr inbounds nuw i8, ptr %1, i64 80 %20 = load i32, ptr %19, align 8 %21 = icmp eq i32 %20, 2 - %or.cond64.i = select i1 %or.cond61.i, i1 %21, i1 false - br i1 %or.cond64.i, label %_ZN10open_spiel11tic_tac_toe12BoardHasLineERKSt5arrayINS0_9CellStateELm9EEi.exit.thread, label %22 + %or.cond58.i = select i1 %or.cond55.i, i1 %21, i1 false + br i1 %or.cond58.i, label %_ZN10open_spiel11tic_tac_toe12BoardHasLineERKSt5arrayINS0_9CellStateELm9EEi.exit.thread, label %22 22: ; preds = %12 %23 = getelementptr inbounds nuw i8, ptr %1, i64 84 @@ -1401,29 +1401,29 @@ define void @_ZNK10open_spiel11tic_tac_toe14TicTacToeState7ReturnsEv(ptr dead_on %26 = getelementptr inbounds nuw i8, ptr %1, i64 88 %27 = load i32, ptr %26, align 8 %28 = icmp eq i32 %27, 2 - %or.cond67.i = select i1 %25, i1 %28, i1 false + %or.cond61.i = select i1 %25, i1 %28, i1 false %29 = getelementptr inbounds nuw i8, ptr %1, i64 92 %30 = load i32, ptr %29, align 4 %31 = icmp eq i32 %30, 2 - %or.cond70.i = select i1 %or.cond67.i, i1 %31, i1 false + %or.cond64.i = select i1 %or.cond61.i, i1 %31, i1 false %brmerge.demorgan.i = and i1 %5, %15 - %brmerge73.demorgan.i = and i1 %brmerge.demorgan.i, %25 - %or.cond94.i = or i1 %brmerge73.demorgan.i, %or.cond70.i - %or.cond76.i = select i1 %8, i1 %18, i1 false - %or.cond79.i = select i1 %or.cond76.i, i1 %28, i1 false - %or.cond95.i = select i1 %or.cond94.i, i1 true, i1 %or.cond79.i - %or.cond82.i = select i1 %11, i1 %21, i1 false - %or.cond85.i = select i1 %or.cond82.i, i1 %31, i1 false - %or.cond96.i = select i1 %or.cond95.i, i1 true, i1 %or.cond85.i - br i1 %or.cond96.i, label %_ZN10open_spiel11tic_tac_toe12BoardHasLineERKSt5arrayINS0_9CellStateELm9EEi.exit.thread, label %_ZN10open_spiel11tic_tac_toe12BoardHasLineERKSt5arrayINS0_9CellStateELm9EEi.exit + %brmerge67.demorgan.i = and i1 %brmerge.demorgan.i, %25 + %or.cond88.i = or i1 %brmerge67.demorgan.i, %or.cond64.i + %or.cond70.i = select i1 %8, i1 %18, i1 false + %or.cond73.i = select i1 %or.cond70.i, i1 %28, i1 false + %or.cond89.i = select i1 %or.cond88.i, i1 true, i1 %or.cond73.i + %or.cond76.i = select i1 %11, i1 %21, i1 false + %or.cond79.i = select i1 %or.cond76.i, i1 %31, i1 false + %or.cond90.i = select i1 %or.cond89.i, i1 true, i1 %or.cond79.i + br i1 %or.cond90.i, label %_ZN10open_spiel11tic_tac_toe12BoardHasLineERKSt5arrayINS0_9CellStateELm9EEi.exit.thread, label %_ZN10open_spiel11tic_tac_toe12BoardHasLineERKSt5arrayINS0_9CellStateELm9EEi.exit _ZN10open_spiel11tic_tac_toe12BoardHasLineERKSt5arrayINS0_9CellStateELm9EEi.exit: ; preds = %22 - %or.cond88.i = select i1 %5, i1 %18, i1 false - %or.cond91.i = select i1 %or.cond88.i, i1 %31, i1 false + %or.cond82.i = select i1 %5, i1 %18, i1 false + %or.cond85.i = select i1 %or.cond82.i, i1 %31, i1 false %spec.select.i = and i1 %18, %25 %32 = select i1 %11, i1 %spec.select.i, i1 false - %spec.select97.i = select i1 %or.cond91.i, i1 true, i1 %32 - br i1 %spec.select97.i, label %_ZN10open_spiel11tic_tac_toe12BoardHasLineERKSt5arrayINS0_9CellStateELm9EEi.exit.thread, label %37 + %spec.select91.i = select i1 %or.cond85.i, i1 true, i1 %32 + br i1 %spec.select91.i, label %_ZN10open_spiel11tic_tac_toe12BoardHasLineERKSt5arrayINS0_9CellStateELm9EEi.exit.thread, label %37 _ZN10open_spiel11tic_tac_toe12BoardHasLineERKSt5arrayINS0_9CellStateELm9EEi.exit.thread: ; preds = %22, %12, %2, %_ZN10open_spiel11tic_tac_toe12BoardHasLineERKSt5arrayINS0_9CellStateELm9EEi.exit tail call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %0, i8 0, i64 24, i1 false) @@ -1444,41 +1444,41 @@ _ZN10open_spiel11tic_tac_toe12BoardHasLineERKSt5arrayINS0_9CellStateELm9EEi.exit %39 = icmp eq i32 %7, 1 %or.cond.i18 = select i1 %38, i1 %39, i1 false %40 = icmp eq i32 %10, 1 - %or.cond58.i19 = select i1 %or.cond.i18, i1 %40, i1 false - br i1 %or.cond58.i19, label %_ZN10open_spiel11tic_tac_toe12BoardHasLineERKSt5arrayINS0_9CellStateELm9EEi.exit37.thread, label %41 + %or.cond52.i19 = select i1 %or.cond.i18, i1 %40, i1 false + br i1 %or.cond52.i19, label %_ZN10open_spiel11tic_tac_toe12BoardHasLineERKSt5arrayINS0_9CellStateELm9EEi.exit37.thread, label %41 41: ; preds = %37 %42 = icmp eq i32 %14, 1 %43 = icmp eq i32 %17, 1 - %or.cond61.i20 = select i1 %42, i1 %43, i1 false + %or.cond55.i20 = select i1 %42, i1 %43, i1 false %44 = icmp eq i32 %20, 1 - %or.cond64.i21 = select i1 %or.cond61.i20, i1 %44, i1 false - br i1 %or.cond64.i21, label %_ZN10open_spiel11tic_tac_toe12BoardHasLineERKSt5arrayINS0_9CellStateELm9EEi.exit37.thread, label %45 + %or.cond58.i21 = select i1 %or.cond55.i20, i1 %44, i1 false + br i1 %or.cond58.i21, label %_ZN10open_spiel11tic_tac_toe12BoardHasLineERKSt5arrayINS0_9CellStateELm9EEi.exit37.thread, label %45 45: ; preds = %41 %46 = icmp eq i32 %24, 1 %47 = icmp eq i32 %27, 1 - %or.cond67.i22 = select i1 %46, i1 %47, i1 false + %or.cond61.i22 = select i1 %46, i1 %47, i1 false %48 = icmp eq i32 %30, 1 - %or.cond70.i23 = select i1 %or.cond67.i22, i1 %48, i1 false + %or.cond64.i23 = select i1 %or.cond61.i22, i1 %48, i1 false %brmerge.demorgan.i24 = and i1 %38, %42 - %brmerge73.demorgan.i25 = and i1 %brmerge.demorgan.i24, %46 - %or.cond94.i26 = or i1 %brmerge73.demorgan.i25, %or.cond70.i23 - %or.cond76.i27 = select i1 %39, i1 %43, i1 false - %or.cond79.i28 = select i1 %or.cond76.i27, i1 %47, i1 false - %or.cond95.i29 = select i1 %or.cond94.i26, i1 true, i1 %or.cond79.i28 - %or.cond82.i30 = select i1 %40, i1 %44, i1 false - %or.cond85.i31 = select i1 %or.cond82.i30, i1 %48, i1 false - %or.cond96.i32 = select i1 %or.cond95.i29, i1 true, i1 %or.cond85.i31 - br i1 %or.cond96.i32, label %_ZN10open_spiel11tic_tac_toe12BoardHasLineERKSt5arrayINS0_9CellStateELm9EEi.exit37.thread, label %_ZN10open_spiel11tic_tac_toe12BoardHasLineERKSt5arrayINS0_9CellStateELm9EEi.exit37 + %brmerge67.demorgan.i25 = and i1 %brmerge.demorgan.i24, %46 + %or.cond88.i26 = or i1 %brmerge67.demorgan.i25, %or.cond64.i23 + %or.cond70.i27 = select i1 %39, i1 %43, i1 false + %or.cond73.i28 = select i1 %or.cond70.i27, i1 %47, i1 false + %or.cond89.i29 = select i1 %or.cond88.i26, i1 true, i1 %or.cond73.i28 + %or.cond76.i30 = select i1 %40, i1 %44, i1 false + %or.cond79.i31 = select i1 %or.cond76.i30, i1 %48, i1 false + %or.cond90.i32 = select i1 %or.cond89.i29, i1 true, i1 %or.cond79.i31 + br i1 %or.cond90.i32, label %_ZN10open_spiel11tic_tac_toe12BoardHasLineERKSt5arrayINS0_9CellStateELm9EEi.exit37.thread, label %_ZN10open_spiel11tic_tac_toe12BoardHasLineERKSt5arrayINS0_9CellStateELm9EEi.exit37 _ZN10open_spiel11tic_tac_toe12BoardHasLineERKSt5arrayINS0_9CellStateELm9EEi.exit37: ; preds = %45 - %or.cond88.i33 = select i1 %38, i1 %43, i1 false - %or.cond91.i34 = select i1 %or.cond88.i33, i1 %48, i1 false + %or.cond82.i33 = select i1 %38, i1 %43, i1 false + %or.cond85.i34 = select i1 %or.cond82.i33, i1 %48, i1 false %spec.select.i35 = and i1 %43, %46 %49 = select i1 %40, i1 %spec.select.i35, i1 false - %spec.select97.i36 = select i1 %or.cond91.i34, i1 true, i1 %49 - br i1 %spec.select97.i36, label %_ZN10open_spiel11tic_tac_toe12BoardHasLineERKSt5arrayINS0_9CellStateELm9EEi.exit37.thread, label %54 + %spec.select91.i36 = select i1 %or.cond85.i34, i1 true, i1 %49 + br i1 %spec.select91.i36, label %_ZN10open_spiel11tic_tac_toe12BoardHasLineERKSt5arrayINS0_9CellStateELm9EEi.exit37.thread, label %54 _ZN10open_spiel11tic_tac_toe12BoardHasLineERKSt5arrayINS0_9CellStateELm9EEi.exit37.thread: ; preds = %45, %41, %37, %_ZN10open_spiel11tic_tac_toe12BoardHasLineERKSt5arrayINS0_9CellStateELm9EEi.exit37 tail call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %0, i8 0, i64 24, i1 false) diff --git a/bench/pbrt-v4/optimized/parser.ll b/bench/pbrt-v4/optimized/parser.ll index 77cb58abb54..615a8c2cf43 100644 --- a/bench/pbrt-v4/optimized/parser.ll +++ b/bench/pbrt-v4/optimized/parser.ll @@ -7304,8 +7304,8 @@ _ZN4pstd8optionalIN4pbrt5TokenEEptEv.exit612: ; preds = %491 _ZNSt11char_traitsIcE7compareEPKcS2_m.exit.i.i.i: ; preds = %_ZN4pstd8optionalIN4pbrt5TokenEEptEv.exit612 %.sroa.2186.0.copyload = load ptr, ptr %.sroa.2186.0..sroa_idx, align 8, !tbaa !86 - %lhsc6623 = load i8, ptr %.sroa.2186.0.copyload, align 1 - %496 = icmp eq i8 %lhsc6623, 91 + %lhsc6622 = load i8, ptr %.sroa.2186.0.copyload, align 1 + %496 = icmp eq i8 %lhsc6622, 91 br i1 %496, label %_ZN4pstd8optionalIN4pbrt5TokenEED2Ev.exit615, label %497 _ZN4pstd8optionalIN4pbrt5TokenEED2Ev.exit615: ; preds = %_ZNSt11char_traitsIcE7compareEPKcS2_m.exit.i.i.i @@ -7546,8 +7546,8 @@ _ZN4pstd8optionalIN4pbrt5TokenEEptEv.exit657: ; preds = %543 _ZNSt11char_traitsIcE7compareEPKcS2_m.exit.i.i.i658: ; preds = %_ZN4pstd8optionalIN4pbrt5TokenEEptEv.exit657 %.sroa.2181.0.copyload = load ptr, ptr %.sroa.2181.0..sroa_idx, align 8, !tbaa !86 - %lhsc6624 = load i8, ptr %.sroa.2181.0.copyload, align 1 - %548 = icmp eq i8 %lhsc6624, 93 + %lhsc6623 = load i8, ptr %.sroa.2181.0.copyload, align 1 + %548 = icmp eq i8 %lhsc6623, 93 br i1 %548, label %_ZN4pstd8optionalIN4pbrt5TokenEED2Ev.exit664, label %551 _ZN4pstd8optionalIN4pbrt5TokenEED2Ev.exit664: ; preds = %_ZNSt11char_traitsIcE7compareEPKcS2_m.exit.i.i.i658 @@ -7707,7 +7707,7 @@ _ZN4pstd8optionalIN4pbrt5TokenEEptEv.exit689: ; preds = %_ZN4pstd8optionalIN _ZNSt11char_traitsIcE7compareEPKcS2_m.exit.i.i693: ; preds = %_ZN4pstd8optionalIN4pbrt5TokenEEptEv.exit601 %bcmp.i694 = call i32 @bcmp(ptr nonnull %424, ptr nonnull @.str.47, i64 %.sroa.0187.0.copyload) %585 = icmp eq i32 %bcmp.i694, 0 - br i1 %585, label %_ZSteqIcSt11char_traitsIcEEbSt17basic_string_viewIT_T0_ENSt15__type_identityIS5_E4typeE.exit696, label %_ZN4pstd8optionalIN4pbrt5TokenEEptEv.exit692.thread6630 + br i1 %585, label %_ZSteqIcSt11char_traitsIcEEbSt17basic_string_viewIT_T0_ENSt15__type_identityIS5_E4typeE.exit696, label %_ZN4pstd8optionalIN4pbrt5TokenEEptEv.exit692.thread6629 _ZSteqIcSt11char_traitsIcEEbSt17basic_string_viewIT_T0_ENSt15__type_identityIS5_E4typeE.exit696: ; preds = %_ZNSt11char_traitsIcE7compareEPKcS2_m.exit.i.i693 call void @llvm.lifetime.start.p0(ptr nonnull %130) @@ -7944,7 +7944,7 @@ _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit728: ; preds = %_Z _ZNSt11char_traitsIcE7compareEPKcS2_m.exit.i.i732: ; preds = %_ZN4pstd8optionalIN4pbrt5TokenEEptEv.exit601 %bcmp.i733 = call i32 @bcmp(ptr nonnull %424, ptr nonnull @.str.48, i64 %.sroa.0187.0.copyload) %653 = icmp eq i32 %bcmp.i733, 0 - br i1 %653, label %_ZSteqIcSt11char_traitsIcEEbSt17basic_string_viewIT_T0_ENSt15__type_identityIS5_E4typeE.exit735, label %_ZN4pstd8optionalIN4pbrt5TokenEEptEv.exit692.thread6630 + br i1 %653, label %_ZSteqIcSt11char_traitsIcEEbSt17basic_string_viewIT_T0_ENSt15__type_identityIS5_E4typeE.exit735, label %_ZN4pstd8optionalIN4pbrt5TokenEEptEv.exit692.thread6629 _ZSteqIcSt11char_traitsIcEEbSt17basic_string_viewIT_T0_ENSt15__type_identityIS5_E4typeE.exit735: ; preds = %_ZNSt11char_traitsIcE7compareEPKcS2_m.exit.i.i732 call void @llvm.lifetime.start.p0(ptr nonnull %132) @@ -8429,7 +8429,7 @@ _ZN4pstd8optionalIN4pbrt5TokenEEptEv.exit692.thread: ; preds = %_ZNSt11char_trai store i64 %.sroa.0187.0.copyload, ptr %82, align 8, !tbaa !45, !noalias !214 br label %._crit_edge.i.i.i.i846 -_ZN4pstd8optionalIN4pbrt5TokenEEptEv.exit692.thread6630: ; preds = %_ZNSt11char_traitsIcE7compareEPKcS2_m.exit.i.i693, %_ZNSt11char_traitsIcE7compareEPKcS2_m.exit.i.i732 +_ZN4pstd8optionalIN4pbrt5TokenEEptEv.exit692.thread6629: ; preds = %_ZNSt11char_traitsIcE7compareEPKcS2_m.exit.i.i693, %_ZNSt11char_traitsIcE7compareEPKcS2_m.exit.i.i732 call void @llvm.lifetime.start.p0(ptr nonnull %83) call void @llvm.experimental.noalias.scope.decl(metadata !217) %791 = getelementptr inbounds nuw i8, ptr %83, i64 16 @@ -8448,7 +8448,7 @@ _ZN4pstd8optionalIN4pbrt5TokenEEptEv.exit692: ; preds = %_ZN4pstd8optionalIN %793 = icmp ugt i64 %.sroa.0187.0.copyload, 15 br i1 %793, label %.noexc.i.i.i851, label %._crit_edge.i.i.i.i846 -.noexc.i.i.i851: ; preds = %_ZN4pstd8optionalIN4pbrt5TokenEEptEv.exit692.thread6630, %_ZN4pstd8optionalIN4pbrt5TokenEEptEv.exit692 +.noexc.i.i.i851: ; preds = %_ZN4pstd8optionalIN4pbrt5TokenEEptEv.exit692.thread6629, %_ZN4pstd8optionalIN4pbrt5TokenEEptEv.exit692 %794 = phi ptr [ %791, %_ZN4pstd8optionalIN4pbrt5TokenEEptEv.exit692.thread6630 ], [ %792, %_ZN4pstd8optionalIN4pbrt5TokenEEptEv.exit692 ] %795 = invoke noundef ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_createERmm(ptr noundef nonnull align 8 dereferenceable(32) %83, ptr noundef nonnull align 8 dereferenceable(8) %82, i64 noundef 0) to label %.noexc854 unwind label %.loopexit.split-lp2428 @@ -8566,9 +8566,9 @@ _ZNSt11char_traitsIcE7compareEPKcS2_m.exit.i.i861: ; preds = %_ZN4pstd8optionalI 826: ; preds = %._crit_edge.i.i.i.i875.thread, %._crit_edge.i.i.i.i875 %827 = phi ptr [ %817, %._crit_edge.i.i.i.i875.thread ], [ %823, %._crit_edge.i.i.i.i875 ] - %.sroa.0156.0.copyload.lcssa66356637 = phi i64 [ 4, %._crit_edge.i.i.i.i875.thread ], [ %.sroa.0156.0.copyload, %._crit_edge.i.i.i.i875 ] + %.sroa.0156.0.copyload.lcssa66346636 = phi i64 [ 4, %._crit_edge.i.i.i.i875.thread ], [ %.sroa.0156.0.copyload, %._crit_edge.i.i.i.i875 ] %828 = phi ptr [ %817, %._crit_edge.i.i.i.i875.thread ], [ %819, %._crit_edge.i.i.i.i875 ] - call void @llvm.memcpy.p0.p0.i64(ptr align 1 %827, ptr nonnull readonly align 1 %424, i64 %.sroa.0156.0.copyload.lcssa66356637, i1 false) + call void @llvm.memcpy.p0.p0.i64(ptr align 1 %827, ptr nonnull readonly align 1 %424, i64 %.sroa.0156.0.copyload.lcssa66346636, i1 false) br label %_ZN4pbrtL8toStringB5cxx11ESt17basic_string_viewIcSt11char_traitsIcEE.exit.i876 _ZN4pbrtL8toStringB5cxx11ESt17basic_string_viewIcSt11char_traitsIcEE.exit.i876: ; preds = %826, %824, %._crit_edge.i.i.i.i875 @@ -10769,9 +10769,9 @@ _ZN4pstd8optionalIN4pbrt5TokenEEptEv.exit1192: ; preds = %_ZN4pstd8optionalIN _ZNSt11char_traitsIcE7compareEPKcS2_m.exit.i.i1193: ; preds = %_ZN4pstd8optionalIN4pbrt5TokenEEptEv.exit1192 %bcmp.i1194 = call i32 @bcmp(ptr noundef nonnull dereferenceable(17) %424, ptr noundef nonnull dereferenceable(17) @.str.62, i64 17) %1490 = icmp eq i32 %bcmp.i1194, 0 - br i1 %1490, label %_ZN4pstd8optionalIN4pbrt5TokenEEptEv.exit526.invoke, label %_ZN4pstd8optionalIN4pbrt5TokenEEptEv.exit1202.thread6644 + br i1 %1490, label %_ZN4pstd8optionalIN4pbrt5TokenEEptEv.exit526.invoke, label %_ZN4pstd8optionalIN4pbrt5TokenEEptEv.exit1202.thread6643 -_ZN4pstd8optionalIN4pbrt5TokenEEptEv.exit1202.thread6644: ; preds = %_ZNSt11char_traitsIcE7compareEPKcS2_m.exit.i.i1193 +_ZN4pstd8optionalIN4pbrt5TokenEEptEv.exit1202.thread6643: ; preds = %_ZNSt11char_traitsIcE7compareEPKcS2_m.exit.i.i1193 call void @llvm.lifetime.start.p0(ptr nonnull %54) call void @llvm.experimental.noalias.scope.decl(metadata !373) %1491 = getelementptr inbounds nuw i8, ptr %54, i64 16 @@ -11407,7 +11407,7 @@ _ZN4pstd8optionalIN4pbrt5TokenEEptEv.exit1202: ; preds = %_ZN4pstd8optionalIN %1679 = icmp ugt i64 %.sroa.0115.0.copyload, 15 br i1 %1679, label %.noexc.i.i.i1348, label %._crit_edge.i.i.i.i1343 -.noexc.i.i.i1348: ; preds = %_ZN4pstd8optionalIN4pbrt5TokenEEptEv.exit1202.thread6644, %_ZN4pstd8optionalIN4pbrt5TokenEEptEv.exit1202 +.noexc.i.i.i1348: ; preds = %_ZN4pstd8optionalIN4pbrt5TokenEEptEv.exit1202.thread6643, %_ZN4pstd8optionalIN4pbrt5TokenEEptEv.exit1202 %1680 = phi ptr [ %1491, %_ZN4pstd8optionalIN4pbrt5TokenEEptEv.exit1202.thread6644 ], [ %1678, %_ZN4pstd8optionalIN4pbrt5TokenEEptEv.exit1202 ] %1681 = invoke noundef ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_createERmm(ptr noundef nonnull align 8 dereferenceable(32) %54, ptr noundef nonnull align 8 dereferenceable(8) %53, i64 noundef 0) to label %.noexc1351 unwind label %.loopexit.split-lp2428 @@ -11757,9 +11757,9 @@ _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit1404: ; preds = %_ 1779: ; preds = %._crit_edge.i.i.i.i1412.thread, %._crit_edge.i.i.i.i1412 %1780 = phi ptr [ %1703, %._crit_edge.i.i.i.i1412.thread ], [ %1776, %._crit_edge.i.i.i.i1412 ] - %.sroa.093.0.copyload.lcssa66496651 = phi i64 [ 13, %._crit_edge.i.i.i.i1412.thread ], [ %.sroa.093.0.copyload, %._crit_edge.i.i.i.i1412 ] + %.sroa.093.0.copyload.lcssa66486650 = phi i64 [ 13, %._crit_edge.i.i.i.i1412.thread ], [ %.sroa.093.0.copyload, %._crit_edge.i.i.i.i1412 ] %1781 = phi ptr [ %1703, %._crit_edge.i.i.i.i1412.thread ], [ %1772, %._crit_edge.i.i.i.i1412 ] - call void @llvm.memcpy.p0.p0.i64(ptr align 1 %1780, ptr nonnull readonly align 1 %424, i64 %.sroa.093.0.copyload.lcssa66496651, i1 false) + call void @llvm.memcpy.p0.p0.i64(ptr align 1 %1780, ptr nonnull readonly align 1 %424, i64 %.sroa.093.0.copyload.lcssa66486650, i1 false) br label %_ZN4pbrtL8toStringB5cxx11ESt17basic_string_viewIcSt11char_traitsIcEE.exit.i1413 _ZN4pbrtL8toStringB5cxx11ESt17basic_string_viewIcSt11char_traitsIcEE.exit.i1413: ; preds = %1779, %1777, %._crit_edge.i.i.i.i1412 @@ -12813,9 +12813,9 @@ _ZNSt11char_traitsIcE7compareEPKcS2_m.exit.i.i1632: ; preds = %_ZN4pstd8optional 2063: ; preds = %._crit_edge.i.i.i.i1646.thread, %._crit_edge.i.i.i.i1646 %2064 = phi ptr [ %2054, %._crit_edge.i.i.i.i1646.thread ], [ %2060, %._crit_edge.i.i.i.i1646 ] - %.sroa.067.0.copyload.lcssa66566658 = phi i64 [ 11, %._crit_edge.i.i.i.i1646.thread ], [ %.sroa.067.0.copyload, %._crit_edge.i.i.i.i1646 ] + %.sroa.067.0.copyload.lcssa66556657 = phi i64 [ 11, %._crit_edge.i.i.i.i1646.thread ], [ %.sroa.067.0.copyload, %._crit_edge.i.i.i.i1646 ] %2065 = phi ptr [ %2054, %._crit_edge.i.i.i.i1646.thread ], [ %2056, %._crit_edge.i.i.i.i1646 ] - call void @llvm.memcpy.p0.p0.i64(ptr align 1 %2064, ptr nonnull readonly align 1 %424, i64 %.sroa.067.0.copyload.lcssa66566658, i1 false) + call void @llvm.memcpy.p0.p0.i64(ptr align 1 %2064, ptr nonnull readonly align 1 %424, i64 %.sroa.067.0.copyload.lcssa66556657, i1 false) br label %_ZN4pbrtL8toStringB5cxx11ESt17basic_string_viewIcSt11char_traitsIcEE.exit.i1647 _ZN4pbrtL8toStringB5cxx11ESt17basic_string_viewIcSt11char_traitsIcEE.exit.i1647: ; preds = %2063, %2061, %._crit_edge.i.i.i.i1646 @@ -12866,9 +12866,9 @@ _ZN4pstd8optionalIN4pbrt5TokenEEptEv.exit1660: ; preds = %_ZN4pstd8optionalIN _ZNSt11char_traitsIcE7compareEPKcS2_m.exit.i.i1661: ; preds = %_ZN4pstd8optionalIN4pbrt5TokenEEptEv.exit1660 %bcmp.i1662 = call i32 @bcmp(ptr noundef nonnull dereferenceable(18) %424, ptr noundef nonnull dereferenceable(18) @.str.72, i64 18) %2080 = icmp eq i32 %bcmp.i1662, 0 - br i1 %2080, label %.invoke, label %.thread6659 + br i1 %2080, label %.invoke, label %.thread6658 -.thread6659: ; preds = %_ZNSt11char_traitsIcE7compareEPKcS2_m.exit.i.i1661 +.thread6658: ; preds = %_ZNSt11char_traitsIcE7compareEPKcS2_m.exit.i.i1661 call void @llvm.lifetime.start.p0(ptr nonnull %31) call void @llvm.experimental.noalias.scope.decl(metadata !439) %2081 = getelementptr inbounds nuw i8, ptr %31, i64 16 @@ -13020,7 +13020,7 @@ _ZN4pstd8optionalIN4pbrt5TokenEEptEv.exit1677: ; preds = %2084 %2112 = icmp ugt i64 %.sroa.063.0.copyload, 15 br i1 %2112, label %.noexc.i.i.i1703, label %._crit_edge.i.i.i.i1698 -.noexc.i.i.i1703: ; preds = %.thread6659, %2110 +.noexc.i.i.i1703: ; preds = %.thread6658, %2110 %2113 = phi ptr [ %2081, %.thread6659 ], [ %2111, %2110 ] %2114 = invoke noundef ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_createERmm(ptr noundef nonnull align 8 dereferenceable(32) %31, ptr noundef nonnull align 8 dereferenceable(8) %30, i64 noundef 0) to label %.noexc1706 unwind label %.loopexit.split-lp2428 @@ -13103,12 +13103,12 @@ _ZNSt11char_traitsIcE7compareEPKcS2_m.exit.i.i1713: ; preds = %_ZN4pstd8optional _ZNSt11char_traitsIcE7compareEPKcS2_m.exit.i.i1723: ; preds = %_ZN4pstd8optionalIN4pbrt5TokenEEptEv.exit1712 %bcmp.i1724 = call i32 @bcmp(ptr nonnull %424, ptr nonnull @.str.75, i64 %.sroa.056.0.copyload) %2138 = icmp eq i32 %bcmp.i1724, 0 - br i1 %2138, label %_ZN4pstd8optionalIN4pbrt5TokenEEptEv.exit526.invoke, label %.thread6661 + br i1 %2138, label %_ZN4pstd8optionalIN4pbrt5TokenEEptEv.exit526.invoke, label %.thread6660 _ZNSt11char_traitsIcE7compareEPKcS2_m.exit.i.i1733: ; preds = %_ZNSt11char_traitsIcE7compareEPKcS2_m.exit.i.i1713 %bcmp.i1734 = call i32 @bcmp(ptr nonnull %424, ptr nonnull @.str.76, i64 %.sroa.056.0.copyload) %2139 = icmp eq i32 %bcmp.i1734, 0 - br i1 %2139, label %_ZSteqIcSt11char_traitsIcEEbSt17basic_string_viewIT_T0_ENSt15__type_identityIS5_E4typeE.exit1736, label %.thread6661 + br i1 %2139, label %_ZSteqIcSt11char_traitsIcEEbSt17basic_string_viewIT_T0_ENSt15__type_identityIS5_E4typeE.exit1736, label %.thread6660 _ZSteqIcSt11char_traitsIcEEbSt17basic_string_viewIT_T0_ENSt15__type_identityIS5_E4typeE.exit1736: ; preds = %_ZNSt11char_traitsIcE7compareEPKcS2_m.exit.i.i1733 call void @llvm.lifetime.start.p0(ptr nonnull %186) @@ -13227,7 +13227,7 @@ _ZN4pstd8optionalIN4pbrt5TokenEEptEv.exit1739: ; preds = %2140 call void @llvm.lifetime.end.p0(ptr nonnull %186) br label %.body597 -.thread6661: ; preds = %_ZNSt11char_traitsIcE7compareEPKcS2_m.exit.i.i1733, %_ZNSt11char_traitsIcE7compareEPKcS2_m.exit.i.i1723 +.thread6660: ; preds = %_ZNSt11char_traitsIcE7compareEPKcS2_m.exit.i.i1733, %_ZNSt11char_traitsIcE7compareEPKcS2_m.exit.i.i1723 call void @llvm.lifetime.start.p0(ptr nonnull %28) call void @llvm.experimental.noalias.scope.decl(metadata !454) %2164 = getelementptr inbounds nuw i8, ptr %28, i64 16 @@ -13256,7 +13256,7 @@ _ZN4pstd8optionalIN4pbrt5TokenEEptEv.exit1739: ; preds = %2140 store i64 %2169, ptr %2166, align 8, !tbaa !34, !alias.scope !457 br label %._crit_edge.i.i.i.i1760 -._crit_edge.i.i.i.i1760: ; preds = %.thread6661, %.noexc1768, %2165 +._crit_edge.i.i.i.i1760: ; preds = %.thread6660, %.noexc1768, %2165 %2170 = phi ptr [ %2166, %.noexc1768 ], [ %2166, %2165 ], [ %2164, %.thread6661 ] %2171 = phi ptr [ %2168, %.noexc1768 ], [ %2166, %2165 ], [ %2164, %.thread6661 ] switch i64 %.sroa.056.0.copyload, label %2174 [ @@ -13357,7 +13357,7 @@ _ZN4pstd8optionalIN4pbrt5TokenEEptEv.exit1784: ; preds = %2192 _ZNSt11char_traitsIcE7compareEPKcS2_m.exit.i.i1791: ; preds = %_ZN4pstd8optionalIN4pbrt5TokenEEptEv.exit1774 %bcmp.i1792 = call i32 @bcmp(ptr nonnull %424, ptr nonnull @.str.79, i64 %.sroa.043.0.copyload) %2199 = icmp eq i32 %bcmp.i1792, 0 - br i1 %2199, label %_ZSteqIcSt11char_traitsIcEEbSt17basic_string_viewIT_T0_ENSt15__type_identityIS5_E4typeE.exit1794, label %.thread6663 + br i1 %2199, label %_ZSteqIcSt11char_traitsIcEEbSt17basic_string_viewIT_T0_ENSt15__type_identityIS5_E4typeE.exit1794, label %.thread6662 _ZSteqIcSt11char_traitsIcEEbSt17basic_string_viewIT_T0_ENSt15__type_identityIS5_E4typeE.exit1794: ; preds = %_ZNSt11char_traitsIcE7compareEPKcS2_m.exit.i.i1791 br i1 %214, label %_ZN4pstd8optionalIN4pbrt5TokenEEptEv.exit1797, label %.invoke @@ -13639,8 +13639,8 @@ _ZN4pstd8optionalIN4pbrt5TokenEEptEv.exit1863: ; preds = %2257 _ZNSt11char_traitsIcE7compareEPKcS2_m.exit.i.i.i1864: ; preds = %_ZN4pstd8optionalIN4pbrt5TokenEEptEv.exit1863 %.sroa.233.0.copyload = load ptr, ptr %.sroa.233.0..sroa_idx, align 8, !tbaa !86 - %lhsc6622 = load i8, ptr %.sroa.233.0.copyload, align 1 - %2262 = icmp eq i8 %lhsc6622, 93 + %lhsc6621 = load i8, ptr %.sroa.233.0.copyload, align 1 + %2262 = icmp eq i8 %lhsc6621, 93 br i1 %2262, label %_ZN4pstd8optionalIN4pbrt5TokenEED2Ev.exit1870, label %2265 _ZN4pstd8optionalIN4pbrt5TokenEED2Ev.exit1870: ; preds = %_ZNSt11char_traitsIcE7compareEPKcS2_m.exit.i.i.i1864 @@ -13800,7 +13800,7 @@ _ZN4pstd8optionalIN4pbrt5TokenEEptEv.exit1895: ; preds = %_ZN4pstd8optionalIN _ZNSt11char_traitsIcE7compareEPKcS2_m.exit.i.i1899: ; preds = %_ZNSt11char_traitsIcE7compareEPKcS2_m.exit.i.i1804 %bcmp.i1900 = call i32 @bcmp(ptr noundef nonnull dereferenceable(9) %424, ptr noundef nonnull dereferenceable(9) @.str.81, i64 9) %2299 = icmp eq i32 %bcmp.i1900, 0 - br i1 %2299, label %_ZSteqIcSt11char_traitsIcEEbSt17basic_string_viewIT_T0_ENSt15__type_identityIS5_E4typeE.exit1902, label %.thread6663 + br i1 %2299, label %_ZSteqIcSt11char_traitsIcEEbSt17basic_string_viewIT_T0_ENSt15__type_identityIS5_E4typeE.exit1902, label %.thread6662 _ZSteqIcSt11char_traitsIcEEbSt17basic_string_viewIT_T0_ENSt15__type_identityIS5_E4typeE.exit1902: ; preds = %_ZNSt11char_traitsIcE7compareEPKcS2_m.exit.i.i1899 call void @llvm.lifetime.start.p0(ptr nonnull %194) @@ -13923,7 +13923,7 @@ _ZN4pstd8optionalIN4pbrt5TokenEEptEv.exit1905: ; preds = %2300 _ZNSt11char_traitsIcE7compareEPKcS2_m.exit.i.i1922: ; preds = %_ZNSt11char_traitsIcE7compareEPKcS2_m.exit.i.i1775 %bcmp.i1923 = call i32 @bcmp(ptr nonnull %424, ptr nonnull @.str.82, i64 %.sroa.043.0.copyload) %2325 = icmp eq i32 %bcmp.i1923, 0 - br i1 %2325, label %_ZSteqIcSt11char_traitsIcEEbSt17basic_string_viewIT_T0_ENSt15__type_identityIS5_E4typeE.exit1925, label %.thread6663 + br i1 %2325, label %_ZSteqIcSt11char_traitsIcEEbSt17basic_string_viewIT_T0_ENSt15__type_identityIS5_E4typeE.exit1925, label %.thread6662 _ZSteqIcSt11char_traitsIcEEbSt17basic_string_viewIT_T0_ENSt15__type_identityIS5_E4typeE.exit1925: ; preds = %_ZNSt11char_traitsIcE7compareEPKcS2_m.exit.i.i1922 call void @llvm.lifetime.start.p0(ptr nonnull %.sroa.0) @@ -14046,7 +14046,7 @@ _ZN4pstd8optionalIN4pbrt5TokenEEptEv.exit1928: ; preds = %2326 _ZNSt11char_traitsIcE7compareEPKcS2_m.exit.i.i1945: ; preds = %_ZN4pstd8optionalIN4pbrt5TokenEEptEv.exit1774 %bcmp.i1946 = call i32 @bcmp(ptr nonnull %424, ptr nonnull @.str.83, i64 %.sroa.043.0.copyload) %2348 = icmp eq i32 %bcmp.i1946, 0 - br i1 %2348, label %_ZSteqIcSt11char_traitsIcEEbSt17basic_string_viewIT_T0_ENSt15__type_identityIS5_E4typeE.exit1948, label %.thread6663 + br i1 %2348, label %_ZSteqIcSt11char_traitsIcEEbSt17basic_string_viewIT_T0_ENSt15__type_identityIS5_E4typeE.exit1948, label %.thread6662 _ZSteqIcSt11char_traitsIcEEbSt17basic_string_viewIT_T0_ENSt15__type_identityIS5_E4typeE.exit1948: ; preds = %_ZNSt11char_traitsIcE7compareEPKcS2_m.exit.i.i1945 call void @llvm.lifetime.start.p0(ptr nonnull %197) @@ -14884,7 +14884,7 @@ _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit2087: ; preds = %_ call void @llvm.lifetime.end.p0(ptr nonnull %198) br label %.body597 -.thread6663: ; preds = %_ZNSt11char_traitsIcE7compareEPKcS2_m.exit.i.i1945, %_ZNSt11char_traitsIcE7compareEPKcS2_m.exit.i.i1791, %_ZNSt11char_traitsIcE7compareEPKcS2_m.exit.i.i1899, %_ZNSt11char_traitsIcE7compareEPKcS2_m.exit.i.i1922 +.thread6662: ; preds = %_ZNSt11char_traitsIcE7compareEPKcS2_m.exit.i.i1945, %_ZNSt11char_traitsIcE7compareEPKcS2_m.exit.i.i1791, %_ZNSt11char_traitsIcE7compareEPKcS2_m.exit.i.i1899, %_ZNSt11char_traitsIcE7compareEPKcS2_m.exit.i.i1922 call void @llvm.lifetime.start.p0(ptr nonnull %8) call void @llvm.experimental.noalias.scope.decl(metadata !510) %2607 = getelementptr inbounds nuw i8, ptr %8, i64 16 @@ -14913,7 +14913,7 @@ _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit2087: ; preds = %_ store i64 %2612, ptr %2609, align 8, !tbaa !34, !alias.scope !513 br label %._crit_edge.i.i.i.i2095 -._crit_edge.i.i.i.i2095: ; preds = %.thread6663, %.noexc2103, %2608 +._crit_edge.i.i.i.i2095: ; preds = %.thread6662, %.noexc2103, %2608 %2613 = phi ptr [ %2609, %.noexc2103 ], [ %2609, %2608 ], [ %2607, %.thread6663 ] %2614 = phi ptr [ %2611, %.noexc2103 ], [ %2609, %2608 ], [ %2607, %.thread6663 ] switch i64 %.sroa.043.0.copyload, label %2617 [ @@ -14977,7 +14977,7 @@ _ZN4pstd8optionalIN4pbrt5TokenEEptEv.exit2109: ; preds = %_ZN4pstd8optionalIN _ZNSt11char_traitsIcE7compareEPKcS2_m.exit.i.i2110: ; preds = %_ZN4pstd8optionalIN4pbrt5TokenEEptEv.exit2109 %bcmp.i2111 = call i32 @bcmp(ptr noundef nonnull dereferenceable(10) %424, ptr noundef nonnull dereferenceable(10) @.str.84, i64 10) %2631 = icmp eq i32 %bcmp.i2111, 0 - br i1 %2631, label %.invoke, label %.thread6665 + br i1 %2631, label %.invoke, label %.thread6664 _ZNSt11char_traitsIcE7compareEPKcS2_m.exit.i.i2120: ; preds = %_ZN4pstd8optionalIN4pbrt5TokenEEptEv.exit2109 %bcmp.i2121 = call i32 @bcmp(ptr noundef nonnull dereferenceable(8) %424, ptr noundef nonnull dereferenceable(8) @.str.85, i64 8) @@ -14985,9 +14985,9 @@ _ZNSt11char_traitsIcE7compareEPKcS2_m.exit.i.i2120: ; preds = %_ZN4pstd8optional %2633 = load i8, ptr %107, align 1, !range !169 %2634 = trunc nuw i8 %2633 to i1 %or.cond2348 = select i1 %2632, i1 %2634, i1 false - br i1 %or.cond2348, label %2681, label %.thread6665 + br i1 %or.cond2348, label %2681, label %.thread6664 -.thread6665: ; preds = %_ZNSt11char_traitsIcE7compareEPKcS2_m.exit.i.i2120, %_ZNSt11char_traitsIcE7compareEPKcS2_m.exit.i.i2110 +.thread6664: ; preds = %_ZNSt11char_traitsIcE7compareEPKcS2_m.exit.i.i2120, %_ZNSt11char_traitsIcE7compareEPKcS2_m.exit.i.i2110 call void @llvm.lifetime.start.p0(ptr nonnull %6) call void @llvm.experimental.noalias.scope.decl(metadata !515) %2635 = getelementptr inbounds nuw i8, ptr %6, i64 16 @@ -15016,7 +15016,7 @@ _ZNSt11char_traitsIcE7compareEPKcS2_m.exit.i.i2120: ; preds = %_ZN4pstd8optional store i64 %2640, ptr %2637, align 8, !tbaa !34, !alias.scope !518 br label %._crit_edge.i.i.i.i2131 -._crit_edge.i.i.i.i2131: ; preds = %.thread6665, %.noexc2139, %2636 +._crit_edge.i.i.i.i2131: ; preds = %.thread6664, %.noexc2139, %2636 %2641 = phi ptr [ %2637, %.noexc2139 ], [ %2637, %2636 ], [ %2635, %.thread6665 ] %2642 = phi ptr [ %2639, %.noexc2139 ], [ %2637, %2636 ], [ %2635, %.thread6665 ] switch i64 %.sroa.07.0.copyload, label %2645 [ diff --git a/bench/php/optimized/ir_check.ll b/bench/php/optimized/ir_check.ll index f60d5b228b0..4abd590791b 100644 --- a/bench/php/optimized/ir_check.ll +++ b/bench/php/optimized/ir_check.ll @@ -311,7 +311,7 @@ ir_input_edges_count.exit: ; preds = %22, %28 124: ; preds = %.thread %125 = icmp eq i8 %108, 6 - br i1 %125, label %126, label %.thread428 + br i1 %125, label %126, label %.thread427 126: ; preds = %124 switch i8 %106, label %.thread428 [ @@ -319,14 +319,14 @@ ir_input_edges_count.exit: ; preds = %22, %28 i8 11, label %131 ] -.thread428: ; preds = %123, %126, %124 +.thread427: ; preds = %123, %126, %124 %127 = load ptr, ptr @stderr, align 8, !tbaa !28 %128 = zext i8 %108 to i32 %129 = zext i8 %106 to i32 %130 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %127, ptr noundef nonnull @.str.6, i32 noundef %.0262390, i32 noundef %.0263372, i32 noundef %38, i32 noundef %128, i32 noundef %129) #4 br label %131 -131: ; preds = %123, %123, %119, %126, %126, %101, %103, %111, %.thread428, %105, %100 +131: ; preds = %123, %123, %119, %126, %126, %101, %103, %111, %.thread427, %105, %100 %.6 = phi i1 [ %.5, %101 ], [ %.5, %103 ], [ %.5, %111 ], [ %.5, %123 ], [ %.5, %126 ], [ false, %.thread428 ], [ %.5, %105 ], [ %.5, %100 ], [ %.5, %123 ], [ %.5, %126 ], [ %.5, %119 ] %132 = load i32, ptr %7, align 4, !tbaa !33 %133 = and i32 %132, 32 @@ -848,7 +848,7 @@ ir_check_input_list.exit: ; preds = %.lr.ph.i346, %.loop %399 = sext i32 %398 to i64 %400 = getelementptr i32, ptr %397, i64 %399 %401 = icmp sgt i32 %.lcssa365, 0 - br i1 %401, label %.lr.ph385, label %.thread432 + br i1 %401, label %.lr.ph385, label %.thread431 .lr.ph385: ; preds = %396 %402 = load ptr, ptr %0, align 8, !tbaa !26 @@ -882,20 +882,20 @@ ir_check_input_list.exit: ; preds = %.lr.ph.i346, %.loop %416 = icmp eq i8 %368, 69 %417 = icmp eq i32 %spec.select, 2 %or.cond13 = and i1 %416, %417 - br i1 %or.cond13, label %447, label %.thread432 + br i1 %or.cond13, label %447, label %.thread431 -.thread432: ; preds = %396, %415 +.thread431: ; preds = %396, %415 %418 = phi i1 [ %417, %415 ], [ false, %396 ] - %.0.lcssa431435 = phi i32 [ %spec.select, %415 ], [ %.lcssa365, %396 ] + %.0.lcssa430434 = phi i32 [ %spec.select, %415 ], [ %.lcssa365, %396 ] %419 = icmp eq i8 %368, 101 br i1 %419, label %422, label %420 -420: ; preds = %.thread432 +420: ; preds = %.thread431 %421 = icmp eq i8 %368, 100 %or.cond16 = and i1 %421, %418 br i1 %or.cond16, label %423, label %438 -422: ; preds = %.thread432 +422: ; preds = %.thread431 br i1 %418, label %423, label %438 423: ; preds = %420, %422 diff --git a/bench/proj/optimized/conversion.ll b/bench/proj/optimized/conversion.ll index 71406fbd47a..de010e188e4 100644 --- a/bench/proj/optimized/conversion.ll +++ b/bench/proj/optimized/conversion.ll @@ -5241,8 +5241,8 @@ _ZNSt6vectorIN7dropbox6oxygen2nnISt10shared_ptrIN5osgeo4proj9operation14Paramete %79 = getelementptr inbounds i8, ptr %78, i64 -16 %80 = getelementptr inbounds i8, ptr %78, i64 -8 %81 = load ptr, ptr %80, align 8, !tbaa !20 - %.not.i.i.i21 = icmp eq ptr %81, null - br i1 %.not.i.i.i21, label %_ZN7dropbox6oxygen2nnISt10shared_ptrIN5osgeo4proj9operation14ParameterValueEEED2Ev.exit, label %82 + %.not.i.i.i17 = icmp eq ptr %81, null + br i1 %.not.i.i.i17, label %_ZN7dropbox6oxygen2nnISt10shared_ptrIN5osgeo4proj9operation14ParameterValueEEED2Ev.exit, label %82 82: ; preds = %_ZNSt6vectorIN7dropbox6oxygen2nnISt10shared_ptrIN5osgeo4proj9operation14ParameterValueEEEESaIS9_EED2Ev.exit %83 = getelementptr inbounds nuw i8, ptr %81, i64 8 @@ -5267,8 +5267,8 @@ _ZNSt6vectorIN7dropbox6oxygen2nnISt10shared_ptrIN5osgeo4proj9operation14Paramete 95: ; preds = %82 %96 = load i8, ptr @__libc_single_threaded, align 1, !tbaa !21 - %.not.i.i.i.i22 = icmp eq i8 %96, 0 - br i1 %.not.i.i.i.i22, label %99, label %97 + %.not.i.i.i.i18 = icmp eq i8 %96, 0 + br i1 %.not.i.i.i.i18, label %99, label %97 97: ; preds = %95 %98 = add nsw i32 %86, -1 @@ -20957,7 +20957,7 @@ define void @_ZN5osgeo4proj9operation10Conversion25createGeographic2DOffsetsERKN 11: ; preds = %4 %12 = getelementptr inbounds nuw i8, ptr %7, i64 16 invoke void @_ZN5osgeo4proj9operation25createOpParamNameEPSGCodeEi(ptr dead_on_unwind nonnull writable sret(%"class.dropbox::oxygen::nn.106") align 8 %12, i32 noundef 8602) - to label %13 unwind label %.loopexit.loopexit38 + to label %13 unwind label %.loopexit.loopexit25 13: ; preds = %11 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %6, i8 0, i64 24, i1 false) @@ -21013,17 +21013,17 @@ _ZSt10_ConstructIN7dropbox6oxygen2nnISt10shared_ptrIN5osgeo4proj9operation18Oper call void @llvm.lifetime.start.p0(ptr nonnull %8) call void @llvm.lifetime.start.p0(ptr nonnull %9) invoke void @_ZN5osgeo4proj6common7MeasureC1ERKS2_(ptr noundef nonnull align 8 dereferenceable(24) %9, ptr noundef nonnull align 8 dereferenceable(24) %2) - to label %34 unwind label %.thread32 + to label %34 unwind label %.thread19 -.thread32: ; preds = %31 +.thread19: ; preds = %31 %33 = landingpad { ptr, i32 } cleanup - br label %.loopexit34 + br label %.loopexit21 34: ; preds = %31 %35 = getelementptr inbounds nuw i8, ptr %9, i64 24 invoke void @_ZN5osgeo4proj6common7MeasureC1ERKS2_(ptr noundef nonnull align 8 dereferenceable(24) %35, ptr noundef nonnull align 8 dereferenceable(24) %3) - to label %36 unwind label %.loopexit34.loopexit37 + to label %36 unwind label %.loopexit21.loopexit24 36: ; preds = %34 invoke void @_ZN5osgeo4proj9operation14VectorOfValuesC1ESt16initializer_listINS0_6common7MeasureEE(ptr noundef nonnull align 8 dereferenceable(24) %8, ptr nonnull %9, i64 2) @@ -21114,7 +21114,7 @@ _ZN7dropbox6oxygen2nnISt10shared_ptrIN5osgeo4proj9operation18OperationParameterE call void @llvm.lifetime.end.p0(ptr nonnull %5) ret void -.loopexit.loopexit38: ; preds = %11 +.loopexit.loopexit25: ; preds = %11 %73 = landingpad { ptr, i32 } cleanup call void @_ZN7dropbox6oxygen2nnISt10shared_ptrIN5osgeo4proj9operation18OperationParameterEEED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %7) #32 @@ -21125,11 +21125,11 @@ _ZN7dropbox6oxygen2nnISt10shared_ptrIN5osgeo4proj9operation18OperationParameterE cleanup br label %87 -.loopexit34.loopexit37: ; preds = %34 +.loopexit21.loopexit24: ; preds = %34 %76 = landingpad { ptr, i32 } cleanup call void @_ZN5osgeo4proj6common7MeasureD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %9) #32 - br label %.loopexit34 + br label %.loopexit21 77: ; preds = %36 %78 = landingpad { ptr, i32 } @@ -21152,16 +21152,16 @@ _ZN7dropbox6oxygen2nnISt10shared_ptrIN5osgeo4proj9operation18OperationParameterE %85 = getelementptr inbounds i8, ptr %84, i64 -24 call void @_ZN5osgeo4proj6common7MeasureD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %85) #32 %86 = icmp eq ptr %85, %9 - br i1 %86, label %.loopexit34, label %83 + br i1 %86, label %.loopexit21, label %83 -.loopexit34: ; preds = %83, %.loopexit34.loopexit37, %.thread32 +.loopexit21: ; preds = %83, %.loopexit21.loopexit24, %.thread19 %.pn.pn = phi { ptr, i32 } [ %33, %.thread32 ], [ %76, %.loopexit34.loopexit37 ], [ %.pn, %83 ] call void @llvm.lifetime.end.p0(ptr nonnull %9) call void @llvm.lifetime.end.p0(ptr nonnull %8) call void @_ZN5osgeo4proj9operation18VectorOfParametersD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %6) #32 br label %87 -87: ; preds = %.loopexit34, %74 +87: ; preds = %.loopexit21, %74 %.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn, %.loopexit34 ], [ %75, %74 ] br label %88 @@ -21172,7 +21172,7 @@ _ZN7dropbox6oxygen2nnISt10shared_ptrIN5osgeo4proj9operation18OperationParameterE %91 = icmp eq ptr %90, %7 br i1 %91, label %.loopexit, label %88 -.loopexit: ; preds = %88, %.loopexit.loopexit38, %.thread +.loopexit: ; preds = %88, %.loopexit.loopexit25, %.thread %.pn.pn.pn.pn = phi { ptr, i32 } [ %10, %.thread ], [ %73, %.loopexit.loopexit38 ], [ %.pn.pn.pn, %88 ] call void @llvm.lifetime.end.p0(ptr nonnull %7) call void @llvm.lifetime.end.p0(ptr nonnull %6) @@ -21264,12 +21264,12 @@ _ZSt10_ConstructIN7dropbox6oxygen2nnISt10shared_ptrIN5osgeo4proj9operation18Oper call void @llvm.lifetime.start.p0(ptr nonnull %9) call void @llvm.lifetime.start.p0(ptr nonnull %10) invoke void @_ZN5osgeo4proj6common7MeasureC1ERKS2_(ptr noundef nonnull align 8 dereferenceable(24) %10, ptr noundef nonnull align 8 dereferenceable(24) %2) - to label %37 unwind label %.thread33 + to label %37 unwind label %.thread20 -.thread33: ; preds = %34 +.thread20: ; preds = %34 %36 = landingpad { ptr, i32 } cleanup - br label %.loopexit35 + br label %.loopexit22 37: ; preds = %34 %38 = getelementptr inbounds nuw i8, ptr %10, i64 24 @@ -21399,7 +21399,7 @@ _ZN7dropbox6oxygen2nnISt10shared_ptrIN5osgeo4proj9operation18OperationParameterE %90 = getelementptr inbounds i8, ptr %89, i64 -24 call void @_ZN5osgeo4proj6common7MeasureD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %90) #32 %91 = icmp eq ptr %90, %10 - br i1 %91, label %.loopexit35, label %88 + br i1 %91, label %.loopexit22, label %88 92: ; preds = %41 %93 = landingpad { ptr, i32 } @@ -21422,16 +21422,16 @@ _ZN7dropbox6oxygen2nnISt10shared_ptrIN5osgeo4proj9operation18OperationParameterE %100 = getelementptr inbounds i8, ptr %99, i64 -24 call void @_ZN5osgeo4proj6common7MeasureD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %100) #32 %101 = icmp eq ptr %100, %10 - br i1 %101, label %.loopexit35, label %98 + br i1 %101, label %.loopexit22, label %98 -.loopexit35: ; preds = %88, %98, %.thread33 +.loopexit22: ; preds = %88, %98, %.thread20 %.pn.pn = phi { ptr, i32 } [ %36, %.thread33 ], [ %.pn, %98 ], [ %87, %88 ] call void @llvm.lifetime.end.p0(ptr nonnull %10) call void @llvm.lifetime.end.p0(ptr nonnull %9) call void @_ZN5osgeo4proj9operation18VectorOfParametersD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %7) #32 br label %102 -102: ; preds = %.loopexit35, %84 +102: ; preds = %.loopexit22, %84 %.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn, %.loopexit35 ], [ %85, %84 ] br label %103 @@ -21534,12 +21534,12 @@ _ZSt10_ConstructIN7dropbox6oxygen2nnISt10shared_ptrIN5osgeo4proj9operation18Oper call void @llvm.lifetime.start.p0(ptr nonnull %9) call void @llvm.lifetime.start.p0(ptr nonnull %10) invoke void @_ZN5osgeo4proj6common7MeasureC1ERKS2_(ptr noundef nonnull align 8 dereferenceable(24) %10, ptr noundef nonnull align 8 dereferenceable(24) %2) - to label %37 unwind label %.thread28 + to label %37 unwind label %.thread20 -.thread28: ; preds = %34 +.thread20: ; preds = %34 %36 = landingpad { ptr, i32 } cleanup - br label %.loopexit30 + br label %.loopexit22 37: ; preds = %34 %38 = getelementptr inbounds nuw i8, ptr %10, i64 24 @@ -21669,7 +21669,7 @@ _ZN7dropbox6oxygen2nnISt10shared_ptrIN5osgeo4proj9operation18OperationParameterE %90 = getelementptr inbounds i8, ptr %89, i64 -24 call void @_ZN5osgeo4proj6common7MeasureD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %90) #32 %91 = icmp eq ptr %90, %10 - br i1 %91, label %.loopexit30, label %88 + br i1 %91, label %.loopexit22, label %88 92: ; preds = %41 %93 = landingpad { ptr, i32 } @@ -21692,16 +21692,16 @@ _ZN7dropbox6oxygen2nnISt10shared_ptrIN5osgeo4proj9operation18OperationParameterE %100 = getelementptr inbounds i8, ptr %99, i64 -24 call void @_ZN5osgeo4proj6common7MeasureD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %100) #32 %101 = icmp eq ptr %100, %10 - br i1 %101, label %.loopexit30, label %98 + br i1 %101, label %.loopexit22, label %98 -.loopexit30: ; preds = %88, %98, %.thread28 +.loopexit22: ; preds = %88, %98, %.thread20 %.pn.pn = phi { ptr, i32 } [ %36, %.thread28 ], [ %.pn, %98 ], [ %87, %88 ] call void @llvm.lifetime.end.p0(ptr nonnull %10) call void @llvm.lifetime.end.p0(ptr nonnull %9) call void @_ZN5osgeo4proj9operation18VectorOfParametersD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %7) #32 br label %102 -102: ; preds = %.loopexit30, %84 +102: ; preds = %.loopexit22, %84 %.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn, %.loopexit30 ], [ %85, %84 ] br label %103 diff --git a/bench/raylib/optimized/rmodels.ll b/bench/raylib/optimized/rmodels.ll index 88db7f8aacc..cb28df892e7 100644 --- a/bench/raylib/optimized/rmodels.ll +++ b/bench/raylib/optimized/rmodels.ll @@ -11206,7 +11206,7 @@ cgltf_component_size.exit: ; preds = %8, %switch.lookup %21 = getelementptr inbounds nuw i8, ptr %17, i64 48 %22 = load ptr, ptr %21, align 8 %.not.i = icmp eq ptr %22, null - br i1 %.not.i, label %23, label %cgltf_buffer_view_data.exit.thread61 + br i1 %.not.i, label %23, label %cgltf_buffer_view_data.exit.thread60 23: ; preds = %20 %24 = getelementptr inbounds nuw i8, ptr %17, i64 8 @@ -11220,17 +11220,17 @@ cgltf_buffer_view_data.exit: ; preds = %23 %28 = getelementptr inbounds nuw i8, ptr %17, i64 16 %29 = load i64, ptr %28, align 8 %30 = getelementptr inbounds nuw i8, ptr %27, i64 %29 - br label %cgltf_buffer_view_data.exit.thread61 + br label %cgltf_buffer_view_data.exit.thread60 -cgltf_buffer_view_data.exit.thread61: ; preds = %cgltf_buffer_view_data.exit, %20 - %.0.i5663 = phi ptr [ %30, %cgltf_buffer_view_data.exit ], [ %22, %20 ] +cgltf_buffer_view_data.exit.thread60: ; preds = %cgltf_buffer_view_data.exit, %20 + %.0.i5562 = phi ptr [ %30, %cgltf_buffer_view_data.exit ], [ %22, %20 ] %31 = getelementptr inbounds nuw i8, ptr %0, i64 24 %32 = load i64, ptr %31, align 8 - %33 = getelementptr inbounds nuw i8, ptr %.0.i5663, i64 %32 + %33 = getelementptr inbounds nuw i8, ptr %.0.i5562, i64 %32 %34 = icmp eq i64 %.0.i, %2 br i1 %34, label %35, label %41 -35: ; preds = %cgltf_buffer_view_data.exit.thread61 +35: ; preds = %cgltf_buffer_view_data.exit.thread60 %36 = getelementptr inbounds nuw i8, ptr %0, i64 40 %37 = load i64, ptr %36, align 8 %38 = icmp eq i64 %37, %2 @@ -11241,31 +11241,31 @@ cgltf_buffer_view_data.exit.thread61: ; preds = %cgltf_buffer_view_d tail call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 1 %1, ptr nonnull align 1 %33, i64 %40, i1 false) br label %cgltf_buffer_view_data.exit.thread -41: ; preds = %35, %cgltf_buffer_view_data.exit.thread61 +41: ; preds = %35, %cgltf_buffer_view_data.exit.thread60 switch i64 %2, label %cgltf_buffer_view_data.exit.thread [ i64 2, label %.preheader - i64 4, label %.preheader64 + i64 4, label %.preheader63 ] -.preheader64: ; preds = %41 - %.not71 = icmp eq i64 %., 0 - br i1 %.not71, label %cgltf_buffer_view_data.exit.thread, label %.lr.ph +.preheader63: ; preds = %41 + %.not70 = icmp eq i64 %., 0 + br i1 %.not70, label %cgltf_buffer_view_data.exit.thread, label %.lr.ph -.lr.ph: ; preds = %.preheader64 +.lr.ph: ; preds = %.preheader63 %42 = getelementptr inbounds nuw i8, ptr %0, i64 40 br label %58 .preheader: ; preds = %41 - %.not72 = icmp eq i64 %., 0 - br i1 %.not72, label %cgltf_buffer_view_data.exit.thread, label %.lr.ph70 + %.not71 = icmp eq i64 %., 0 + br i1 %.not71, label %cgltf_buffer_view_data.exit.thread, label %.lr.ph69 -.lr.ph70: ; preds = %.preheader +.lr.ph69: ; preds = %.preheader %43 = getelementptr inbounds nuw i8, ptr %0, i64 40 br label %44 -44: ; preds = %.lr.ph70, %cgltf_component_read_index.exit - %.04469 = phi i64 [ 0, %.lr.ph70 ], [ %55, %cgltf_component_read_index.exit ] - %.04568 = phi ptr [ %33, %.lr.ph70 ], [ %57, %cgltf_component_read_index.exit ] +44: ; preds = %.lr.ph69, %cgltf_component_read_index.exit + %.04468 = phi i64 [ 0, %.lr.ph70 ], [ %55, %cgltf_component_read_index.exit ] + %.04567 = phi ptr [ %33, %.lr.ph70 ], [ %57, %cgltf_component_read_index.exit ] %45 = load i32, ptr %9, align 8 switch i32 %45, label %cgltf_component_read_index.exit [ i32 4, label %46 @@ -11274,32 +11274,32 @@ cgltf_buffer_view_data.exit.thread61: ; preds = %cgltf_buffer_view_d ] 46: ; preds = %44 - %47 = load i16, ptr %.04568, align 2 + %47 = load i16, ptr %.04567, align 2 br label %cgltf_component_read_index.exit 48: ; preds = %44 - %49 = load i32, ptr %.04568, align 4 + %49 = load i32, ptr %.04567, align 4 %50 = trunc i32 %49 to i16 br label %cgltf_component_read_index.exit 51: ; preds = %44 - %52 = load i8, ptr %.04568, align 1 + %52 = load i8, ptr %.04567, align 1 %53 = zext i8 %52 to i16 br label %cgltf_component_read_index.exit cgltf_component_read_index.exit: ; preds = %44, %46, %48, %51 - %.0.i57 = phi i16 [ %47, %46 ], [ %50, %48 ], [ %53, %51 ], [ 0, %44 ] - %54 = getelementptr inbounds nuw i16, ptr %1, i64 %.04469 - store i16 %.0.i57, ptr %54, align 2 - %55 = add nuw i64 %.04469, 1 + %.0.i56 = phi i16 [ %47, %46 ], [ %50, %48 ], [ %53, %51 ], [ 0, %44 ] + %54 = getelementptr inbounds nuw i16, ptr %1, i64 %.04468 + store i16 %.0.i56, ptr %54, align 2 + %55 = add nuw i64 %.04468, 1 %56 = load i64, ptr %43, align 8 - %57 = getelementptr inbounds nuw i8, ptr %.04568, i64 %56 - %exitcond74.not = icmp eq i64 %55, %. - br i1 %exitcond74.not, label %cgltf_buffer_view_data.exit.thread, label %44 + %57 = getelementptr inbounds nuw i8, ptr %.04567, i64 %56 + %exitcond73.not = icmp eq i64 %55, %. + br i1 %exitcond73.not, label %cgltf_buffer_view_data.exit.thread, label %44 -58: ; preds = %.lr.ph, %cgltf_component_read_index.exit59 - %.067 = phi i64 [ 0, %.lr.ph ], [ %69, %cgltf_component_read_index.exit59 ] - %.166 = phi ptr [ %33, %.lr.ph ], [ %71, %cgltf_component_read_index.exit59 ] +58: ; preds = %.lr.ph, %cgltf_component_read_index.exit58 + %.066 = phi i64 [ 0, %.lr.ph ], [ %69, %cgltf_component_read_index.exit59 ] + %.165 = phi ptr [ %33, %.lr.ph ], [ %71, %cgltf_component_read_index.exit59 ] %59 = load i32, ptr %9, align 8 switch i32 %59, label %cgltf_component_read_index.exit59 [ i32 4, label %60 @@ -11308,30 +11308,30 @@ cgltf_component_read_index.exit: ; preds = %44, %46, %48, %51 ] 60: ; preds = %58 - %61 = load i16, ptr %.166, align 2 + %61 = load i16, ptr %.165, align 2 %62 = zext i16 %61 to i32 - br label %cgltf_component_read_index.exit59 + br label %cgltf_component_read_index.exit58 63: ; preds = %58 - %64 = load i32, ptr %.166, align 4 - br label %cgltf_component_read_index.exit59 + %64 = load i32, ptr %.165, align 4 + br label %cgltf_component_read_index.exit58 65: ; preds = %58 - %66 = load i8, ptr %.166, align 1 + %66 = load i8, ptr %.165, align 1 %67 = zext i8 %66 to i32 - br label %cgltf_component_read_index.exit59 + br label %cgltf_component_read_index.exit58 -cgltf_component_read_index.exit59: ; preds = %58, %60, %63, %65 - %.0.i58 = phi i32 [ %62, %60 ], [ %64, %63 ], [ %67, %65 ], [ 0, %58 ] - %68 = getelementptr inbounds nuw i32, ptr %1, i64 %.067 - store i32 %.0.i58, ptr %68, align 4 - %69 = add nuw i64 %.067, 1 +cgltf_component_read_index.exit58: ; preds = %58, %60, %63, %65 + %.0.i57 = phi i32 [ %62, %60 ], [ %64, %63 ], [ %67, %65 ], [ 0, %58 ] + %68 = getelementptr inbounds nuw i32, ptr %1, i64 %.066 + store i32 %.0.i57, ptr %68, align 4 + %69 = add nuw i64 %.066, 1 %70 = load i64, ptr %42, align 8 - %71 = getelementptr inbounds nuw i8, ptr %.166, i64 %70 + %71 = getelementptr inbounds nuw i8, ptr %.165, i64 %70 %exitcond.not = icmp eq i64 %69, %. br i1 %exitcond.not, label %cgltf_buffer_view_data.exit.thread, label %58 -cgltf_buffer_view_data.exit.thread: ; preds = %cgltf_component_read_index.exit59, %cgltf_component_read_index.exit, %4, %.preheader64, %.preheader, %23, %cgltf_component_size.exit, %15, %41, %39 +cgltf_buffer_view_data.exit.thread: ; preds = %cgltf_component_read_index.exit58, %cgltf_component_read_index.exit, %4, %.preheader63, %.preheader, %23, %cgltf_component_size.exit, %15, %41, %39 %.046 = phi i64 [ 0, %cgltf_component_size.exit ], [ 0, %15 ], [ %., %39 ], [ %., %41 ], [ 0, %23 ], [ 0, %.preheader ], [ 0, %.preheader64 ], [ %7, %4 ], [ %., %cgltf_component_read_index.exit ], [ %., %cgltf_component_read_index.exit59 ] ret i64 %.046 } @@ -25514,32 +25514,32 @@ define hidden noalias noundef ptr @par_shapes_create_parametric_disk(i32 noundef ._crit_edge.i: ; preds = %.lr.ph.i %9 = getelementptr inbounds nuw i8, ptr %3, i64 32 %10 = load ptr, ptr %9, align 8 - %.not66.i = icmp eq ptr %10, null - br i1 %.not66.i, label %par_shapes_scale.exit, label %.lr.ph74.i + %.not65.i = icmp eq ptr %10, null + br i1 %.not65.i, label %par_shapes_scale.exit, label %.lr.ph73.i .lr.ph.i: ; preds = %.lr.ph.i, %.lr.ph.preheader.i - %.05970.i = phi i32 [ %15, %.lr.ph.i ], [ 0, %.lr.ph.preheader.i ] - %.06069.i = phi ptr [ %12, %.lr.ph.i ], [ %8, %.lr.ph.preheader.i ] - %11 = getelementptr inbounds nuw i8, ptr %.06069.i, i64 8 - %12 = getelementptr inbounds nuw i8, ptr %.06069.i, i64 12 + %.05969.i = phi i32 [ %15, %.lr.ph.i ], [ 0, %.lr.ph.preheader.i ] + %.06068.i = phi ptr [ %12, %.lr.ph.i ], [ %8, %.lr.ph.preheader.i ] + %11 = getelementptr inbounds nuw i8, ptr %.06068.i, i64 8 + %12 = getelementptr inbounds nuw i8, ptr %.06068.i, i64 12 %13 = load float, ptr %11, align 4 %14 = fmul float %13, 0.000000e+00 store float %14, ptr %11, align 4 - %15 = add nuw nsw i32 %.05970.i, 1 + %15 = add nuw nsw i32 %.05969.i, 1 %exitcond.not = icmp eq i32 %15, %6 br i1 %exitcond.not, label %._crit_edge.i, label %.lr.ph.i -.lr.ph74.i: ; preds = %._crit_edge.i, %par_shapes__normalize3.exit.i - %.072.i = phi i32 [ %32, %par_shapes__normalize3.exit.i ], [ 0, %._crit_edge.i ] - %.05871.i = phi ptr [ %33, %par_shapes__normalize3.exit.i ], [ %10, %._crit_edge.i ] - %16 = load float, ptr %.05871.i, align 4 +.lr.ph73.i: ; preds = %._crit_edge.i, %par_shapes__normalize3.exit.i + %.071.i = phi i32 [ %32, %par_shapes__normalize3.exit.i ], [ 0, %._crit_edge.i ] + %.05870.i = phi ptr [ %33, %par_shapes__normalize3.exit.i ], [ %10, %._crit_edge.i ] + %16 = load float, ptr %.05870.i, align 4 %17 = fmul float %16, 0.000000e+00 - store float %17, ptr %.05871.i, align 4 - %18 = getelementptr inbounds nuw i8, ptr %.05871.i, i64 4 + store float %17, ptr %.05870.i, align 4 + %18 = getelementptr inbounds nuw i8, ptr %.05870.i, i64 4 %19 = load float, ptr %18, align 4 %20 = fmul float %19, 0.000000e+00 store float %20, ptr %18, align 4 - %21 = getelementptr inbounds nuw i8, ptr %.05871.i, i64 8 + %21 = getelementptr inbounds nuw i8, ptr %.05870.i, i64 8 %22 = load float, ptr %21, align 4 %23 = fmul float %20, %20 %24 = tail call float @llvm.fmuladd.f32(float %17, float %17, float %23) @@ -25547,22 +25547,22 @@ define hidden noalias noundef ptr @par_shapes_create_parametric_disk(i32 noundef %26 = fcmp ogt float %25, 0.000000e+00 br i1 %26, label %27, label %par_shapes__normalize3.exit.i -27: ; preds = %.lr.ph74.i +27: ; preds = %.lr.ph73.i %sqrt.i.i = tail call float @llvm.sqrt.f32(float %25) %28 = fdiv float 1.000000e+00, %sqrt.i.i %29 = fmul float %17, %28 - store float %29, ptr %.05871.i, align 4 + store float %29, ptr %.05870.i, align 4 %30 = fmul float %20, %28 store float %30, ptr %18, align 4 %31 = fmul float %22, %28 store float %31, ptr %21, align 4 br label %par_shapes__normalize3.exit.i -par_shapes__normalize3.exit.i: ; preds = %27, %.lr.ph74.i - %32 = add nuw nsw i32 %.072.i, 1 - %33 = getelementptr inbounds nuw i8, ptr %.05871.i, i64 12 +par_shapes__normalize3.exit.i: ; preds = %27, %.lr.ph73.i + %32 = add nuw nsw i32 %.071.i, 1 + %33 = getelementptr inbounds nuw i8, ptr %.05870.i, i64 12 %exitcond5.not = icmp eq i32 %32, %6 - br i1 %exitcond5.not, label %par_shapes_scale.exit, label %.lr.ph74.i + br i1 %exitcond5.not, label %par_shapes_scale.exit, label %.lr.ph73.i par_shapes_scale.exit: ; preds = %par_shapes__normalize3.exit.i, %4, %._crit_edge.i, %2 ret ptr %3 @@ -25587,25 +25587,25 @@ define hidden void @par_shapes_scale(ptr noundef readonly captures(none) %0, flo %10 = phi i1 [ %9, %._crit_edge.loopexit ], [ false, %4 ] %11 = getelementptr inbounds nuw i8, ptr %0, i64 32 %12 = load ptr, ptr %11, align 8 - %.not66 = icmp eq ptr %12, null - br i1 %.not66, label %.loopexit, label %25 + %.not65 = icmp eq ptr %12, null + br i1 %.not65, label %.loopexit, label %25 .lr.ph: ; preds = %.lr.ph.preheader, %.lr.ph - %.05970 = phi i32 [ %22, %.lr.ph ], [ 0, %.lr.ph.preheader ] - %.06069 = phi ptr [ %19, %.lr.ph ], [ %8, %.lr.ph.preheader ] - %13 = getelementptr inbounds nuw i8, ptr %.06069, i64 4 - %14 = load float, ptr %.06069, align 4 + %.05969 = phi i32 [ %22, %.lr.ph ], [ 0, %.lr.ph.preheader ] + %.06068 = phi ptr [ %19, %.lr.ph ], [ %8, %.lr.ph.preheader ] + %13 = getelementptr inbounds nuw i8, ptr %.06068, i64 4 + %14 = load float, ptr %.06068, align 4 %15 = fmul float %1, %14 - store float %15, ptr %.06069, align 4 - %16 = getelementptr inbounds nuw i8, ptr %.06069, i64 8 + store float %15, ptr %.06068, align 4 + %16 = getelementptr inbounds nuw i8, ptr %.06068, i64 8 %17 = load float, ptr %13, align 4 %18 = fmul float %2, %17 store float %18, ptr %13, align 4 - %19 = getelementptr inbounds nuw i8, ptr %.06069, i64 12 + %19 = getelementptr inbounds nuw i8, ptr %.06068, i64 12 %20 = load float, ptr %16, align 4 %21 = fmul float %3, %20 store float %21, ptr %16, align 4 - %22 = add nuw nsw i32 %.05970, 1 + %22 = add nuw nsw i32 %.05969, 1 %23 = load i32, ptr %5, align 8 %24 = icmp slt i32 %22, %23 br i1 %24, label %.lr.ph, label %._crit_edge.loopexit @@ -25613,8 +25613,8 @@ define hidden void @par_shapes_scale(ptr noundef readonly captures(none) %0, flo 25: ; preds = %._crit_edge %26 = fcmp oeq float %1, %2 %27 = fcmp oeq float %2, %3 - %or.cond68 = and i1 %26, %27 - br i1 %or.cond68, label %.loopexit, label %28 + %or.cond67 = and i1 %26, %27 + br i1 %or.cond67, label %.loopexit, label %28 28: ; preds = %25 %29 = fcmp oeq float %1, 0.000000e+00 @@ -25648,19 +25648,19 @@ define hidden void @par_shapes_scale(ptr noundef readonly captures(none) %0, flo %.057 = phi float [ %47, %36 ], [ %35, %32 ] %.056 = phi float [ %44, %36 ], [ %34, %32 ] %.055 = phi float [ %40, %36 ], [ %33, %32 ] - br i1 %10, label %.lr.ph74, label %.loopexit + br i1 %10, label %.lr.ph73, label %.loopexit -.lr.ph74: ; preds = %48, %par_shapes__normalize3.exit - %.072 = phi i32 [ %66, %par_shapes__normalize3.exit ], [ 0, %48 ] - %.05871 = phi ptr [ %67, %par_shapes__normalize3.exit ], [ %12, %48 ] - %49 = load float, ptr %.05871, align 4 +.lr.ph73: ; preds = %48, %par_shapes__normalize3.exit + %.071 = phi i32 [ %66, %par_shapes__normalize3.exit ], [ 0, %48 ] + %.05870 = phi ptr [ %67, %par_shapes__normalize3.exit ], [ %12, %48 ] + %49 = load float, ptr %.05870, align 4 %50 = fmul float %.055, %49 - store float %50, ptr %.05871, align 4 - %51 = getelementptr inbounds nuw i8, ptr %.05871, i64 4 + store float %50, ptr %.05870, align 4 + %51 = getelementptr inbounds nuw i8, ptr %.05870, i64 4 %52 = load float, ptr %51, align 4 %53 = fmul float %.056, %52 store float %53, ptr %51, align 4 - %54 = getelementptr inbounds nuw i8, ptr %.05871, i64 8 + %54 = getelementptr inbounds nuw i8, ptr %.05870, i64 8 %55 = load float, ptr %54, align 4 %56 = fmul float %.057, %55 store float %56, ptr %54, align 4 @@ -25670,23 +25670,23 @@ define hidden void @par_shapes_scale(ptr noundef readonly captures(none) %0, flo %60 = fcmp ogt float %59, 0.000000e+00 br i1 %60, label %61, label %par_shapes__normalize3.exit -61: ; preds = %.lr.ph74 +61: ; preds = %.lr.ph73 %sqrt.i = tail call float @llvm.sqrt.f32(float %59) %62 = fdiv float 1.000000e+00, %sqrt.i %63 = fmul float %50, %62 - store float %63, ptr %.05871, align 4 + store float %63, ptr %.05870, align 4 %64 = fmul float %53, %62 store float %64, ptr %51, align 4 %65 = fmul float %56, %62 store float %65, ptr %54, align 4 br label %par_shapes__normalize3.exit -par_shapes__normalize3.exit: ; preds = %.lr.ph74, %61 - %66 = add nuw nsw i32 %.072, 1 - %67 = getelementptr inbounds nuw i8, ptr %.05871, i64 12 +par_shapes__normalize3.exit: ; preds = %.lr.ph73, %61 + %66 = add nuw nsw i32 %.071, 1 + %67 = getelementptr inbounds nuw i8, ptr %.05870, i64 12 %68 = load i32, ptr %5, align 8 %69 = icmp slt i32 %66, %68 - br i1 %69, label %.lr.ph74, label %.loopexit + br i1 %69, label %.lr.ph73, label %.loopexit .loopexit: ; preds = %par_shapes__normalize3.exit, %48, %25, %._crit_edge ret void diff --git a/bench/ripgrep-rs/optimized/79zj4cmg2a4glb1.ll b/bench/ripgrep-rs/optimized/79zj4cmg2a4glb1.ll index d174f6cebf8..a31276561e0 100644 --- a/bench/ripgrep-rs/optimized/79zj4cmg2a4glb1.ll +++ b/bench/ripgrep-rs/optimized/79zj4cmg2a4glb1.ll @@ -29,17 +29,17 @@ define hidden { i1, i8 } @"_ZN101_$LT$bstr..escape_bytes..UnescapeBytes$LT$I$GT$ %10 = getelementptr inbounds nuw i8, ptr %0, i64 40 %11 = load ptr, ptr %10, align 8, !nonnull !4 %.sroa.441.0..sroa_idx = getelementptr inbounds nuw i8, ptr %0, i64 4 - %.promoted82 = load ptr, ptr %9, align 8 + %.promoted81 = load ptr, ptr %9, align 8 br label %thread-pre-split thread-pre-split: ; preds = %thread-pre-split.backedge, %1 - %12 = phi ptr [ %.promoted82, %1 ], [ %.be177, %thread-pre-split.backedge ] + %12 = phi ptr [ %.promoted81, %1 ], [ %.be176, %thread-pre-split.backedge ] %.pr = load i8, ptr %0, align 8 br label %.backedge .backedge: ; preds = %.backedge.backedge, %thread-pre-split %13 = phi ptr [ %12, %thread-pre-split ], [ %.be, %.backedge.backedge ] - %14 = phi i8 [ %.pr, %thread-pre-split ], [ %.be176, %.backedge.backedge ] + %14 = phi i8 [ %.pr, %thread-pre-split ], [ %.be175, %.backedge.backedge ] switch i8 %14, label %default.unreachable [ i8 0, label %15 i8 1, label %55 @@ -133,16 +133,16 @@ default.unreachable: ; preds = %.backedge tail call void @llvm.experimental.noalias.scope.decl(metadata !25) tail call void @llvm.experimental.noalias.scope.decl(metadata !28) %61 = icmp eq ptr %13, %11 - br i1 %61, label %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit63.thread", label %62 + br i1 %61, label %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit62.thread", label %62 62: ; preds = %60 %63 = getelementptr inbounds nuw i8, ptr %13, i64 1 store ptr %63, ptr %9, align 8, !alias.scope !31 %64 = load i8, ptr %13, align 1, !noalias !34, !noundef !4 %65 = icmp sgt i8 %64, -1 - br i1 %65, label %76, label %"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17he9c021f1ed5e2956E.exit13.i.i60" + br i1 %65, label %76, label %"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17he9c021f1ed5e2956E.exit13.i.i59" -"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17he9c021f1ed5e2956E.exit13.i.i60": ; preds = %62 +"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17he9c021f1ed5e2956E.exit13.i.i59": ; preds = %62 %66 = and i8 %64, 31 %67 = zext nneg i8 %66 to i32 %68 = icmp ne ptr %63, %11 @@ -155,13 +155,13 @@ default.unreachable: ; preds = %.backedge %73 = zext nneg i8 %72 to i32 %74 = or disjoint i32 %71, %73 %75 = icmp samesign ugt i8 %64, -33 - br i1 %75, label %"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17he9c021f1ed5e2956E.exit15.i.i61", label %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit63" + br i1 %75, label %"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17he9c021f1ed5e2956E.exit15.i.i60", label %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit62" 76: ; preds = %62 %77 = zext nneg i8 %64 to i32 - br label %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit63" + br label %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit62" -"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17he9c021f1ed5e2956E.exit15.i.i61": ; preds = %"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17he9c021f1ed5e2956E.exit13.i.i60" +"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17he9c021f1ed5e2956E.exit15.i.i60": ; preds = %"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17he9c021f1ed5e2956E.exit13.i.i59" %78 = icmp ne ptr %69, %11 tail call void @llvm.assume(i1 %78) %79 = getelementptr inbounds nuw i8, ptr %13, i64 3 @@ -174,9 +174,9 @@ default.unreachable: ; preds = %.backedge %85 = shl nuw nsw i32 %67, 12 %86 = or disjoint i32 %84, %85 %87 = icmp samesign ugt i8 %64, -17 - br i1 %87, label %"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17he9c021f1ed5e2956E.exit17.i.i62", label %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit63" + br i1 %87, label %"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17he9c021f1ed5e2956E.exit17.i.i61", label %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit62" -"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17he9c021f1ed5e2956E.exit17.i.i62": ; preds = %"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17he9c021f1ed5e2956E.exit15.i.i61" +"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17he9c021f1ed5e2956E.exit17.i.i61": ; preds = %"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17he9c021f1ed5e2956E.exit15.i.i60" %88 = icmp ne ptr %79, %11 tail call void @llvm.assume(i1 %88) %89 = getelementptr inbounds nuw i8, ptr %13, i64 4 @@ -189,13 +189,13 @@ default.unreachable: ; preds = %.backedge %95 = zext nneg i8 %94 to i32 %96 = or disjoint i32 %93, %95 %97 = or disjoint i32 %96, %92 - br label %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit63" + br label %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit62" -"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit63": ; preds = %"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17he9c021f1ed5e2956E.exit13.i.i60", %76, %"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17he9c021f1ed5e2956E.exit15.i.i61", %"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17he9c021f1ed5e2956E.exit17.i.i62" +"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit62": ; preds = %"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17he9c021f1ed5e2956E.exit13.i.i59", %76, %"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17he9c021f1ed5e2956E.exit15.i.i60", %"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17he9c021f1ed5e2956E.exit17.i.i61" %98 = phi ptr [ %69, %"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17he9c021f1ed5e2956E.exit13.i.i60" ], [ %79, %"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17he9c021f1ed5e2956E.exit15.i.i61" ], [ %89, %"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17he9c021f1ed5e2956E.exit17.i.i62" ], [ %63, %76 ] %99 = phi i32 [ %74, %"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17he9c021f1ed5e2956E.exit13.i.i60" ], [ %86, %"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17he9c021f1ed5e2956E.exit15.i.i61" ], [ %97, %"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17he9c021f1ed5e2956E.exit17.i.i62" ], [ %77, %76 ] switch i32 %99, label %192 [ - i32 1114112, label %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit63.thread" + i32 1114112, label %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit62.thread" i32 48, label %193 i32 92, label %194 i32 114, label %195 @@ -208,16 +208,16 @@ default.unreachable: ; preds = %.backedge tail call void @llvm.experimental.noalias.scope.decl(metadata !44) tail call void @llvm.experimental.noalias.scope.decl(metadata !47) %101 = icmp eq ptr %13, %11 - br i1 %101, label %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit67.thread72", label %102 + br i1 %101, label %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit66.thread71", label %102 102: ; preds = %100 %103 = getelementptr inbounds nuw i8, ptr %13, i64 1 store ptr %103, ptr %9, align 8, !alias.scope !50 %104 = load i8, ptr %13, align 1, !noalias !53, !noundef !4 %105 = icmp sgt i8 %104, -1 - br i1 %105, label %116, label %"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17he9c021f1ed5e2956E.exit13.i.i64" + br i1 %105, label %116, label %"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17he9c021f1ed5e2956E.exit13.i.i63" -"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17he9c021f1ed5e2956E.exit13.i.i64": ; preds = %102 +"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17he9c021f1ed5e2956E.exit13.i.i63": ; preds = %102 %106 = and i8 %104, 31 %107 = zext nneg i8 %106 to i32 %108 = icmp ne ptr %103, %11 @@ -230,13 +230,13 @@ default.unreachable: ; preds = %.backedge %113 = zext nneg i8 %112 to i32 %114 = or disjoint i32 %111, %113 %115 = icmp samesign ugt i8 %104, -33 - br i1 %115, label %"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17he9c021f1ed5e2956E.exit15.i.i65", label %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit67.thread" + br i1 %115, label %"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17he9c021f1ed5e2956E.exit15.i.i64", label %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit66.thread" 116: ; preds = %102 %117 = zext nneg i8 %104 to i32 - br label %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit67.thread" + br label %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit66.thread" -"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17he9c021f1ed5e2956E.exit15.i.i65": ; preds = %"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17he9c021f1ed5e2956E.exit13.i.i64" +"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17he9c021f1ed5e2956E.exit15.i.i64": ; preds = %"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17he9c021f1ed5e2956E.exit13.i.i63" %118 = icmp ne ptr %109, %11 tail call void @llvm.assume(i1 %118) %119 = getelementptr inbounds nuw i8, ptr %13, i64 3 @@ -249,9 +249,9 @@ default.unreachable: ; preds = %.backedge %125 = shl nuw nsw i32 %107, 12 %126 = or disjoint i32 %124, %125 %127 = icmp samesign ugt i8 %104, -17 - br i1 %127, label %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit67", label %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit67.thread" + br i1 %127, label %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit66", label %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit66.thread" -"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit67": ; preds = %"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17he9c021f1ed5e2956E.exit15.i.i65" +"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit66": ; preds = %"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17he9c021f1ed5e2956E.exit15.i.i64" %128 = icmp ne ptr %119, %11 tail call void @llvm.assume(i1 %128) %129 = getelementptr inbounds nuw i8, ptr %13, i64 4 @@ -265,23 +265,23 @@ default.unreachable: ; preds = %.backedge %136 = or disjoint i32 %133, %135 %137 = or disjoint i32 %136, %132 %138 = icmp eq i32 %137, 1114112 - br i1 %138, label %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit67.thread72", label %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit67.thread" + br i1 %138, label %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit66.thread71", label %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit66.thread" 139: ; preds = %.backedge %140 = load i32, ptr %.sroa.441.0..sroa_idx, align 4, !range !63, !noundef !4 tail call void @llvm.experimental.noalias.scope.decl(metadata !64) tail call void @llvm.experimental.noalias.scope.decl(metadata !67) %141 = icmp eq ptr %13, %11 - br i1 %141, label %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit71.thread74", label %142 + br i1 %141, label %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit70.thread73", label %142 142: ; preds = %139 %143 = getelementptr inbounds nuw i8, ptr %13, i64 1 store ptr %143, ptr %9, align 8, !alias.scope !70 %144 = load i8, ptr %13, align 1, !noalias !73, !noundef !4 %145 = icmp sgt i8 %144, -1 - br i1 %145, label %156, label %"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17he9c021f1ed5e2956E.exit13.i.i68" + br i1 %145, label %156, label %"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17he9c021f1ed5e2956E.exit13.i.i67" -"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17he9c021f1ed5e2956E.exit13.i.i68": ; preds = %142 +"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17he9c021f1ed5e2956E.exit13.i.i67": ; preds = %142 %146 = and i8 %144, 31 %147 = zext nneg i8 %146 to i32 %148 = icmp ne ptr %143, %11 @@ -294,13 +294,13 @@ default.unreachable: ; preds = %.backedge %153 = zext nneg i8 %152 to i32 %154 = or disjoint i32 %151, %153 %155 = icmp samesign ugt i8 %144, -33 - br i1 %155, label %"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17he9c021f1ed5e2956E.exit15.i.i69", label %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit71.thread" + br i1 %155, label %"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17he9c021f1ed5e2956E.exit15.i.i68", label %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit70.thread" 156: ; preds = %142 %157 = zext nneg i8 %144 to i32 - br label %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit71.thread" + br label %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit70.thread" -"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17he9c021f1ed5e2956E.exit15.i.i69": ; preds = %"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17he9c021f1ed5e2956E.exit13.i.i68" +"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17he9c021f1ed5e2956E.exit15.i.i68": ; preds = %"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17he9c021f1ed5e2956E.exit13.i.i67" %158 = icmp ne ptr %149, %11 tail call void @llvm.assume(i1 %158) %159 = getelementptr inbounds nuw i8, ptr %13, i64 3 @@ -313,9 +313,9 @@ default.unreachable: ; preds = %.backedge %165 = shl nuw nsw i32 %147, 12 %166 = or disjoint i32 %164, %165 %167 = icmp samesign ugt i8 %144, -17 - br i1 %167, label %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit71", label %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit71.thread" + br i1 %167, label %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit70", label %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit70.thread" -"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit71": ; preds = %"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17he9c021f1ed5e2956E.exit15.i.i69" +"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit70": ; preds = %"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17he9c021f1ed5e2956E.exit15.i.i68" %168 = icmp ne ptr %159, %11 tail call void @llvm.assume(i1 %168) %169 = getelementptr inbounds nuw i8, ptr %13, i64 4 @@ -329,7 +329,7 @@ default.unreachable: ; preds = %.backedge %176 = or disjoint i32 %173, %175 %177 = or disjoint i32 %176, %172 %178 = icmp eq i32 %177, 1114112 - br i1 %178, label %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit71.thread74", label %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit71.thread" + br i1 %178, label %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit70.thread73", label %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit70.thread" 179: ; preds = %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit" store i8 2, ptr %0, align 8 @@ -337,7 +337,7 @@ default.unreachable: ; preds = %.backedge .backedge.backedge: ; preds = %179, %198, %202 %.be = phi ptr [ %199, %202 ], [ %98, %198 ], [ %53, %179 ] - %.be176 = phi i8 [ 4, %202 ], [ 3, %198 ], [ 2, %179 ] + %.be175 = phi i8 [ 4, %202 ], [ 3, %198 ], [ 2, %179 ] br label %.backedge 180: ; preds = %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit" @@ -347,7 +347,7 @@ default.unreachable: ; preds = %.backedge call void @llvm.lifetime.end.p0(ptr nonnull %8) br label %thread-pre-split.backedge -"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit.thread": ; preds = %15, %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit", %190, %191, %211, %206, %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit71.thread74", %203, %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit67.thread72", %197, %196, %195, %194, %193, %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit63.thread" +"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit.thread": ; preds = %15, %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit", %190, %191, %211, %206, %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit70.thread73", %203, %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit66.thread71", %197, %196, %195, %194, %193, %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit62.thread" %.sroa.14.0 = phi i8 [ 92, %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit63.thread" ], [ 0, %193 ], [ 92, %194 ], [ 13, %195 ], [ 10, %196 ], [ 9, %197 ], [ 92, %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit67.thread72" ], [ 92, %203 ], [ 92, %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit71.thread74" ], [ %210, %206 ], [ 92, %211 ], [ %187, %191 ], [ %187, %190 ], [ undef, %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit" ], [ undef, %15 ] %.sroa.0.0 = phi i1 [ true, %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit63.thread" ], [ true, %193 ], [ true, %194 ], [ true, %195 ], [ true, %196 ], [ true, %197 ], [ true, %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit67.thread72" ], [ true, %203 ], [ true, %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit71.thread74" ], [ true, %206 ], [ true, %211 ], [ true, %191 ], [ true, %190 ], [ false, %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit" ], [ false, %15 ] %181 = insertvalue { i1, i8 } poison, i1 %.sroa.0.0, 0 @@ -376,11 +376,11 @@ default.unreachable: ; preds = %.backedge store i8 0, ptr %0, align 8 br label %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit.thread" -"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit63.thread": ; preds = %60, %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit63" +"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit62.thread": ; preds = %60, %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit62" store i8 0, ptr %0, align 8 br label %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit.thread" -192: ; preds = %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit63" +192: ; preds = %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit62" call void @llvm.lifetime.start.p0(ptr nonnull %6) call void @_ZN4bstr12escape_bytes13UnescapeState5bytes17h04a05055fae2bee0E(ptr noalias noundef nonnull sret({ i8, [31 x i8] }) align 8 captures(none) dereferenceable(32) %6, ptr noalias noundef nonnull readonly align 1 @anon.7b449adc155c7fe945b6e3cfdc3760b6.9, i64 noundef 1, i32 noundef %99) call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %0, ptr noundef nonnull align 8 dereferenceable(32) %6, i64 32, i1 false) @@ -388,50 +388,50 @@ default.unreachable: ; preds = %.backedge br label %thread-pre-split.backedge thread-pre-split.backedge: ; preds = %192, %180 - %.be177 = phi ptr [ %98, %192 ], [ %53, %180 ] + %.be176 = phi ptr [ %98, %192 ], [ %53, %180 ] br label %thread-pre-split -193: ; preds = %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit63" +193: ; preds = %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit62" store i8 0, ptr %0, align 8 br label %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit.thread" -194: ; preds = %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit63" +194: ; preds = %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit62" store i8 0, ptr %0, align 8 br label %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit.thread" -195: ; preds = %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit63" +195: ; preds = %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit62" store i8 0, ptr %0, align 8 br label %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit.thread" -196: ; preds = %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit63" +196: ; preds = %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit62" store i8 0, ptr %0, align 8 br label %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit.thread" -197: ; preds = %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit63" +197: ; preds = %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit62" store i8 0, ptr %0, align 8 br label %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit.thread" -198: ; preds = %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit63" +198: ; preds = %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit62" store i8 3, ptr %0, align 8 br label %.backedge.backedge -"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit67.thread72": ; preds = %100, %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit67" +"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit66.thread71": ; preds = %100, %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit66" call void @llvm.lifetime.start.p0(ptr nonnull %5) call void @_ZN4bstr12escape_bytes13UnescapeState9bytes_raw17h56850da7ab5be9bfE(ptr noalias noundef nonnull sret({ i8, [31 x i8] }) align 8 captures(none) dereferenceable(32) %5, ptr noalias noundef nonnull readonly align 1 @anon.7b449adc155c7fe945b6e3cfdc3760b6.10, i64 noundef 1) call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %0, ptr noundef nonnull align 8 dereferenceable(32) %5, i64 32, i1 false) call void @llvm.lifetime.end.p0(ptr nonnull %5) br label %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit.thread" -"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit67.thread": ; preds = %116, %"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17he9c021f1ed5e2956E.exit15.i.i65", %"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17he9c021f1ed5e2956E.exit13.i.i64", %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit67" +"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit66.thread": ; preds = %116, %"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17he9c021f1ed5e2956E.exit15.i.i64", %"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17he9c021f1ed5e2956E.exit13.i.i63", %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit66" %199 = phi ptr [ %129, %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit67" ], [ %103, %116 ], [ %119, %"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17he9c021f1ed5e2956E.exit15.i.i65" ], [ %109, %"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17he9c021f1ed5e2956E.exit13.i.i64" ] %200 = phi i32 [ %137, %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit67" ], [ %117, %116 ], [ %126, %"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17he9c021f1ed5e2956E.exit15.i.i65" ], [ %114, %"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17he9c021f1ed5e2956E.exit13.i.i64" ] - %.fr75 = freeze i32 %200 - %201 = add i32 %.fr75, -48 + %.fr74 = freeze i32 %200 + %201 = add i32 %.fr74, -48 %or.cond = icmp ult i32 %201, 10 br i1 %or.cond, label %202, label %switch.early.test -switch.early.test: ; preds = %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit67.thread" - switch i32 %.fr75, label %203 [ +switch.early.test: ; preds = %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit66.thread" + switch i32 %.fr74, label %203 [ i32 102, label %202 i32 101, label %202 i32 100, label %202 @@ -446,33 +446,33 @@ switch.early.test: ; preds = %"_ZN81_$LT$core..st i32 65, label %202 ] -202: ; preds = %switch.early.test, %switch.early.test, %switch.early.test, %switch.early.test, %switch.early.test, %switch.early.test, %switch.early.test, %switch.early.test, %switch.early.test, %switch.early.test, %switch.early.test, %switch.early.test, %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit67.thread" +202: ; preds = %switch.early.test, %switch.early.test, %switch.early.test, %switch.early.test, %switch.early.test, %switch.early.test, %switch.early.test, %switch.early.test, %switch.early.test, %switch.early.test, %switch.early.test, %switch.early.test, %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit66.thread" store i8 4, ptr %0, align 8 - store i32 %.fr75, ptr %.sroa.441.0..sroa_idx, align 4 + store i32 %.fr74, ptr %.sroa.441.0..sroa_idx, align 4 br label %.backedge.backedge 203: ; preds = %switch.early.test call void @llvm.lifetime.start.p0(ptr nonnull %4) - call void @_ZN4bstr12escape_bytes13UnescapeState5bytes17h04a05055fae2bee0E(ptr noalias noundef nonnull sret({ i8, [31 x i8] }) align 8 captures(none) dereferenceable(32) %4, ptr noalias noundef nonnull readonly align 1 @anon.7b449adc155c7fe945b6e3cfdc3760b6.10, i64 noundef 1, i32 noundef %.fr75) + call void @_ZN4bstr12escape_bytes13UnescapeState5bytes17h04a05055fae2bee0E(ptr noalias noundef nonnull sret({ i8, [31 x i8] }) align 8 captures(none) dereferenceable(32) %4, ptr noalias noundef nonnull readonly align 1 @anon.7b449adc155c7fe945b6e3cfdc3760b6.10, i64 noundef 1, i32 noundef %.fr74) call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %0, ptr noundef nonnull align 8 dereferenceable(32) %4, i64 32, i1 false) call void @llvm.lifetime.end.p0(ptr nonnull %4) br label %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit.thread" -"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit71.thread74": ; preds = %139, %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit71" +"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit70.thread73": ; preds = %139, %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit70" call void @llvm.lifetime.start.p0(ptr nonnull %3) call void @_ZN4bstr12escape_bytes13UnescapeState5bytes17h04a05055fae2bee0E(ptr noalias noundef nonnull sret({ i8, [31 x i8] }) align 8 captures(none) dereferenceable(32) %3, ptr noalias noundef nonnull readonly align 1 @anon.7b449adc155c7fe945b6e3cfdc3760b6.10, i64 noundef 1, i32 noundef %140) call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %0, ptr noundef nonnull align 8 dereferenceable(32) %3, i64 32, i1 false) call void @llvm.lifetime.end.p0(ptr nonnull %3) br label %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit.thread" -"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit71.thread": ; preds = %156, %"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17he9c021f1ed5e2956E.exit15.i.i69", %"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17he9c021f1ed5e2956E.exit13.i.i68", %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit71" +"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit70.thread": ; preds = %156, %"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17he9c021f1ed5e2956E.exit15.i.i68", %"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17he9c021f1ed5e2956E.exit13.i.i67", %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit70" %204 = phi i32 [ %177, %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit71" ], [ %157, %156 ], [ %166, %"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17he9c021f1ed5e2956E.exit15.i.i69" ], [ %154, %"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17he9c021f1ed5e2956E.exit13.i.i68" ] %.fr = freeze i32 %204 %205 = add i32 %.fr, -48 %or.cond3 = icmp ult i32 %205, 10 - br i1 %or.cond3, label %206, label %switch.early.test59 + br i1 %or.cond3, label %206, label %switch.early.test58 -switch.early.test59: ; preds = %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit71.thread" +switch.early.test58: ; preds = %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit70.thread" switch i32 %.fr, label %211 [ i32 102, label %206 i32 101, label %206 @@ -488,7 +488,7 @@ switch.early.test59: ; preds = %"_ZN81_$LT$core..st i32 65, label %206 ] -206: ; preds = %switch.early.test59, %switch.early.test59, %switch.early.test59, %switch.early.test59, %switch.early.test59, %switch.early.test59, %switch.early.test59, %switch.early.test59, %switch.early.test59, %switch.early.test59, %switch.early.test59, %switch.early.test59, %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit71.thread" +206: ; preds = %switch.early.test58, %switch.early.test58, %switch.early.test58, %switch.early.test58, %switch.early.test58, %switch.early.test58, %switch.early.test58, %switch.early.test58, %switch.early.test58, %switch.early.test58, %switch.early.test58, %switch.early.test58, %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit70.thread" store i8 0, ptr %0, align 8 %207 = tail call noundef i8 @_ZN4bstr12escape_bytes16char_to_hexdigit17he352cee0f12e9c9bE(i32 noundef %140) %208 = tail call noundef i8 @_ZN4bstr12escape_bytes16char_to_hexdigit17he352cee0f12e9c9bE(i32 noundef %.fr) @@ -496,7 +496,7 @@ switch.early.test59: ; preds = %"_ZN81_$LT$core..st %210 = or i8 %209, %208 br label %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit.thread" -211: ; preds = %switch.early.test59 +211: ; preds = %switch.early.test58 call void @llvm.lifetime.start.p0(ptr nonnull %2) call void @_ZN4bstr12escape_bytes13UnescapeState6bytes217h64b41f2f04ab6751E(ptr noalias noundef nonnull sret({ i8, [31 x i8] }) align 8 captures(none) dereferenceable(32) %2, ptr noalias noundef nonnull readonly align 1 @anon.7b449adc155c7fe945b6e3cfdc3760b6.10, i64 noundef 1, i32 noundef %140, i32 noundef %.fr) call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %0, ptr noundef nonnull align 8 dereferenceable(32) %2, i64 32, i1 false) diff --git a/bench/rocksdb/optimized/clock_cache.ll b/bench/rocksdb/optimized/clock_cache.ll index ac5b62ca8b4..5dac8522df9 100644 --- a/bench/rocksdb/optimized/clock_cache.ll +++ b/bench/rocksdb/optimized/clock_cache.ll @@ -6355,14 +6355,14 @@ _ZN7rocksdb11clock_cache12_GLOBAL__N_19TryInsertERKNS0_20ClockHandleBasicDataERN %61 = lshr i64 %60, 61 switch i64 %61, label %76 [ i64 7, label %62 - i64 6, label %.sink.split264 + i64 6, label %.sink.split261 ], !prof !98 62: ; preds = %59 %63 = getelementptr inbounds nuw i8, ptr %56, i64 16 %bcmp.i.i.i.i.i.i.i136 = tail call i32 @bcmp(ptr noundef nonnull align 8 dereferenceable(16) %63, ptr noundef nonnull readonly align 8 dereferenceable(16) %8, i64 16) %.not9.i.i.i.i.i.i.i137 = icmp eq i32 %bcmp.i.i.i.i.i.i.i136, 0 - br i1 %.not9.i.i.i.i.i.i.i137, label %64, label %.sink.split264 + br i1 %.not9.i.i.i.i.i.i.i137, label %64, label %.sink.split261 64: ; preds = %62 %65 = shl i64 %2, 30 @@ -6388,11 +6388,11 @@ _ZN7rocksdb11clock_cache12_GLOBAL__N_115BeginSlotInsertERKNS0_20ClockHandleBasic store atomic i64 %74, ptr %57 release, align 8 br label %136 -.sink.split264: ; preds = %59, %62 +.sink.split261: ; preds = %59, %62 %75 = atomicrmw sub ptr %57, i64 %2 acq_rel, align 8 br label %76 -76: ; preds = %.sink.split264, %_ZN7rocksdb11clock_cache12_GLOBAL__N_115BeginSlotInsertERKNS0_20ClockHandleBasicDataERNS0_11ClockHandleEmPb.exit.i135, %59 +76: ; preds = %.sink.split261, %_ZN7rocksdb11clock_cache12_GLOBAL__N_115BeginSlotInsertERKNS0_20ClockHandleBasicDataERNS0_11ClockHandleEmPb.exit.i135, %59 %77 = add nuw nsw i64 %.0110212, 1 %exitcond.not = icmp eq i64 %77, 4 br i1 %exitcond.not, label %78, label %53, !llvm.loop !222 @@ -6465,14 +6465,14 @@ _ZN7rocksdb11clock_cache12_GLOBAL__N_115BeginSlotInsertERKNS0_20ClockHandleBasic %119 = lshr i64 %118, 61 switch i64 %119, label %134 [ i64 7, label %120 - i64 6, label %.sink.split265 + i64 6, label %.sink.split262 ], !prof !98 120: ; preds = %117 %121 = getelementptr inbounds nuw i8, ptr %114, i64 16 %bcmp.i.i.i.i.i.i.i143 = tail call i32 @bcmp(ptr noundef nonnull align 8 dereferenceable(16) %121, ptr noundef nonnull readonly align 8 dereferenceable(16) %8, i64 16) %.not9.i.i.i.i.i.i.i144 = icmp eq i32 %bcmp.i.i.i.i.i.i.i143, 0 - br i1 %.not9.i.i.i.i.i.i.i144, label %122, label %.sink.split265 + br i1 %.not9.i.i.i.i.i.i.i144, label %122, label %.sink.split262 122: ; preds = %120 %123 = shl i64 %2, 30 @@ -6498,11 +6498,11 @@ _ZN7rocksdb11clock_cache12_GLOBAL__N_19TryInsertERKNS0_20ClockHandleBasicDataERN store atomic i64 %132, ptr %115 release, align 8 br label %136 -.sink.split265: ; preds = %117, %120 +.sink.split262: ; preds = %117, %120 %133 = atomicrmw sub ptr %115, i64 %2 acq_rel, align 8 br label %134 -134: ; preds = %.sink.split265, %_ZN7rocksdb11clock_cache12_GLOBAL__N_115BeginSlotInsertERKNS0_20ClockHandleBasicDataERNS0_11ClockHandleEmPb.exit.i142, %117 +134: ; preds = %.sink.split262, %_ZN7rocksdb11clock_cache12_GLOBAL__N_115BeginSlotInsertERKNS0_20ClockHandleBasicDataERNS0_11ClockHandleEmPb.exit.i142, %117 %135 = add i64 %.1111, 1 br label %99, !llvm.loop !223 diff --git a/bench/rust-analyzer-rs/optimized/44ayynfm08lnhjsw.ll b/bench/rust-analyzer-rs/optimized/44ayynfm08lnhjsw.ll index 49c5bc9a8e6..754c41a26ed 100644 --- a/bench/rust-analyzer-rs/optimized/44ayynfm08lnhjsw.ll +++ b/bench/rust-analyzer-rs/optimized/44ayynfm08lnhjsw.ll @@ -6082,7 +6082,7 @@ define hidden { i64, ptr } @"_ZN4core3ops8function5impls80_$LT$impl$u20$core..op %11 = trunc nuw i8 %10 to i1 br i1 %11, label %"_ZN11ide_assists8handlers16extract_function9make_call28_$u7b$$u7b$closure$u7d$$u7d$17h6535d11d2b32da8aE.llvm.6977743830891006301.exit", label %12 -12: ; preds = %2 +15: ; preds = %2 %13 = getelementptr inbounds nuw i8, ptr %1, i64 29 %14 = load i8, ptr %13, align 1, !range !81, !alias.scope !1250, !noalias !1241, !noundef !11 %15 = trunc nuw i8 %14 to i1 @@ -6093,12 +6093,12 @@ define hidden { i64, ptr } @"_ZN4core3ops8function5impls80_$LT$impl$u20$core..op %brmerge.i.i.i = select i1 %15, i1 true, i1 %.not.i.i.i br i1 %brmerge.i.i.i, label %_ZN11ide_assists8handlers16extract_function5Param4kind17h4c0a60a6cf946b48E.llvm.14339125420948612040.exit.i.i, label %"_ZN11ide_assists8handlers16extract_function9make_call28_$u7b$$u7b$closure$u7d$$u7d$17h6535d11d2b32da8aE.llvm.6977743830891006301.exit" -_ZN11ide_assists8handlers16extract_function5Param4kind17h4c0a60a6cf946b48E.llvm.14339125420948612040.exit.i.i: ; preds = %12 +_ZN11ide_assists8handlers16extract_function5Param4kind17h4c0a60a6cf946b48E.llvm.14339125420948612040.exit.i.i:; preds = %12 %switch.not.i.i = icmp ne i8 %14, 0 %19 = tail call { i64, ptr } @_ZN6syntax3ast4make8expr_ref17h5efd536a6e9bceccE(i64 noundef %7, ptr noundef %8, i1 noundef zeroext %switch.not.i.i), !noalias !1249 br label %"_ZN11ide_assists8handlers16extract_function9make_call28_$u7b$$u7b$closure$u7d$$u7d$17h6535d11d2b32da8aE.llvm.6977743830891006301.exit" -"_ZN11ide_assists8handlers16extract_function9make_call28_$u7b$$u7b$closure$u7d$$u7d$17h6535d11d2b32da8aE.llvm.6977743830891006301.exit": ; preds = %2, %12, %_ZN11ide_assists8handlers16extract_function5Param4kind17h4c0a60a6cf946b48E.llvm.14339125420948612040.exit.i.i +"_ZN11ide_assists8handlers16extract_function9make_call28_$u7b$$u7b$closure$u7d$$u7d$17h6535d11d2b32da8aE.llvm.6977743830891006301.exit": ; preds = %2, %12, %24 %.merged.i.i = phi { i64, ptr } [ %6, %12 ], [ %6, %2 ], [ %19, %_ZN11ide_assists8handlers16extract_function5Param4kind17h4c0a60a6cf946b48E.llvm.14339125420948612040.exit.i.i ] ret { i64, ptr } %.merged.i.i } @@ -40191,7 +40191,7 @@ define hidden { i64, ptr } @"_ZN11ide_assists8handlers16extract_function9make_ca %11 = trunc nuw i8 %10 to i1 br i1 %11, label %_ZN11ide_assists8handlers16extract_function5Param6to_arg17h4bd6d3442770a134E.exit, label %12 -12: ; preds = %2 +15: ; preds = %2 %13 = getelementptr inbounds nuw i8, ptr %1, i64 29 %14 = load i8, ptr %13, align 1, !range !81, !alias.scope !9903, !noundef !11 %15 = trunc nuw i8 %14 to i1 @@ -40202,12 +40202,12 @@ define hidden { i64, ptr } @"_ZN11ide_assists8handlers16extract_function9make_ca %brmerge.i.i = select i1 %15, i1 true, i1 %.not.i.i br i1 %brmerge.i.i, label %_ZN11ide_assists8handlers16extract_function5Param4kind17h4c0a60a6cf946b48E.llvm.14339125420948612040.exit.i, label %_ZN11ide_assists8handlers16extract_function5Param6to_arg17h4bd6d3442770a134E.exit -_ZN11ide_assists8handlers16extract_function5Param4kind17h4c0a60a6cf946b48E.llvm.14339125420948612040.exit.i: ; preds = %12 +_ZN11ide_assists8handlers16extract_function5Param4kind17h4c0a60a6cf946b48E.llvm.14339125420948612040.exit.i:; preds = %12 %switch.not.i = icmp ne i8 %14, 0 %19 = tail call { i64, ptr } @_ZN6syntax3ast4make8expr_ref17h5efd536a6e9bceccE(i64 noundef %7, ptr noundef %8, i1 noundef zeroext %switch.not.i), !noalias !9900 br label %_ZN11ide_assists8handlers16extract_function5Param6to_arg17h4bd6d3442770a134E.exit -_ZN11ide_assists8handlers16extract_function5Param6to_arg17h4bd6d3442770a134E.exit: ; preds = %2, %12, %_ZN11ide_assists8handlers16extract_function5Param4kind17h4c0a60a6cf946b48E.llvm.14339125420948612040.exit.i +_ZN11ide_assists8handlers16extract_function5Param6to_arg17h4bd6d3442770a134E.exit: ; preds = %2, %12, %24 %.merged.i = phi { i64, ptr } [ %6, %12 ], [ %6, %2 ], [ %19, %_ZN11ide_assists8handlers16extract_function5Param4kind17h4c0a60a6cf946b48E.llvm.14339125420948612040.exit.i ] ret { i64, ptr } %.merged.i } diff --git a/bench/rust-analyzer-rs/optimized/5fgtm3ees9sdsrsg.ll b/bench/rust-analyzer-rs/optimized/5fgtm3ees9sdsrsg.ll index 856be81d5ac..b5b9750884e 100644 --- a/bench/rust-analyzer-rs/optimized/5fgtm3ees9sdsrsg.ll +++ b/bench/rust-analyzer-rs/optimized/5fgtm3ees9sdsrsg.ll @@ -38681,9 +38681,9 @@ define hidden noundef zeroext i1 @_ZN4core4iter6traits8iterator8Iterator8try_fol %21 = getelementptr inbounds nuw i8, ptr %14, i64 28 %22 = load i8, ptr %21, align 4, !range !2175, !alias.scope !12413, !noalias !12412, !noundef !4 %23 = trunc nuw i8 %22 to i1 - br i1 %23, label %"_ZN11ide_assists8handlers16extract_function9make_call28_$u7b$$u7b$closure$u7d$$u7d$17h6535d11d2b32da8aE.exit.i", label %24 + br i1 %23, label %31, label %24 -24: ; preds = %15 +27: ; preds = %15 %25 = getelementptr inbounds nuw i8, ptr %14, i64 29 %26 = load i8, ptr %25, align 1, !range !2175, !alias.scope !12413, !noalias !12412, !noundef !4 %27 = trunc nuw i8 %26 to i1 @@ -38692,66 +38692,66 @@ define hidden noundef zeroext i1 @_ZN4core4iter6traits8iterator8Iterator8try_fol %30 = trunc nuw i8 %29 to i1 %.not.i.i.i.i = xor i1 %30, true %brmerge.i.i.i.i = select i1 %27, i1 true, i1 %.not.i.i.i.i - br i1 %brmerge.i.i.i.i, label %_ZN11ide_assists8handlers16extract_function5Param4kind17h4c0a60a6cf946b48E.llvm.14339125420948612040.exit.i.i.i, label %"_ZN11ide_assists8handlers16extract_function9make_call28_$u7b$$u7b$closure$u7d$$u7d$17h6535d11d2b32da8aE.exit.i" + br i1 %brmerge.i.i.i.i, label %_ZN11ide_assists8handlers16extract_function5Param4kind17h4c0a60a6cf946b48E.llvm.14339125420948612040.exit.i.i.i, label %31 -_ZN11ide_assists8handlers16extract_function5Param4kind17h4c0a60a6cf946b48E.llvm.14339125420948612040.exit.i.i.i: ; preds = %24 +31: ; preds = %24 %switch.not.i.i.i = icmp ne i8 %26, 0 %31 = call { i64, ptr } @_ZN6syntax3ast4make8expr_ref17h5efd536a6e9bceccE(i64 noundef %19, ptr noundef %20, i1 noundef zeroext %switch.not.i.i.i), !noalias !12411 %.pre.i = extractvalue { i64, ptr } %31, 0 %.pre3.i = extractvalue { i64, ptr } %31, 1 br label %"_ZN11ide_assists8handlers16extract_function9make_call28_$u7b$$u7b$closure$u7d$$u7d$17h6535d11d2b32da8aE.exit.i" -"_ZN11ide_assists8handlers16extract_function9make_call28_$u7b$$u7b$closure$u7d$$u7d$17h6535d11d2b32da8aE.exit.i": ; preds = %_ZN11ide_assists8handlers16extract_function5Param4kind17h4c0a60a6cf946b48E.llvm.14339125420948612040.exit.i.i.i, %24, %15 +_ZN11ide_assists8handlers16extract_function5Param4kind17h4c0a60a6cf946b48E.llvm.14339125420948612040.exit.i.i.i: ; preds = %31, %27, %15 %.pre-phi4.i = phi ptr [ %20, %15 ], [ %20, %24 ], [ %.pre3.i, %_ZN11ide_assists8handlers16extract_function5Param4kind17h4c0a60a6cf946b48E.llvm.14339125420948612040.exit.i.i.i ] %.pre-phi.i = phi i64 [ %19, %15 ], [ %19, %24 ], [ %.pre.i, %_ZN11ide_assists8handlers16extract_function5Param4kind17h4c0a60a6cf946b48E.llvm.14339125420948612040.exit.i.i.i ] call void @llvm.lifetime.start.p0(ptr nonnull %3), !noalias !12416 store i64 %.pre-phi.i, ptr %3, align 8, !noalias !12419 store ptr %.pre-phi4.i, ptr %9, align 8, !noalias !12419 - %32 = load ptr, ptr %10, align 8, !noalias !12419, !nonnull !4, !align !51, !noundef !4 - %33 = getelementptr inbounds nuw i8, ptr %32, i64 8 - %34 = load i64, ptr %33, align 8, !noalias !12419, !noundef !4 - %35 = icmp eq i64 %34, 0 - br i1 %35, label %._crit_edge.i.i.i, label %36 - -36: ; preds = %"_ZN11ide_assists8handlers16extract_function9make_call28_$u7b$$u7b$closure$u7d$$u7d$17h6535d11d2b32da8aE.exit.i" - %37 = load ptr, ptr %.pre.i.i.i, align 8, !noalias !12419, !nonnull !4, !align !51, !noundef !4 - %38 = load ptr, ptr %32, align 8, !noalias !12419, !nonnull !4, !align !123, !noundef !4 - %39 = invoke noundef zeroext i1 @_ZN4core3fmt9Formatter9write_str17h1ee02ebd428ca6deE(ptr noalias noundef nonnull align 8 dereferenceable(64) %37, ptr noalias noundef nonnull readonly align 1 %38, i64 noundef %34) - to label %45 unwind label %43, !noalias !12419 - -._crit_edge.i.i.i: ; preds = %45, %"_ZN11ide_assists8handlers16extract_function9make_call28_$u7b$$u7b$closure$u7d$$u7d$17h6535d11d2b32da8aE.exit.i" - %40 = load ptr, ptr %12, align 8, !noalias !12419, !nonnull !4, !noundef !4 - %41 = load ptr, ptr %.pre.i.i.i, align 8, !noalias !12419, !nonnull !4, !align !51, !noundef !4 - %42 = invoke noundef zeroext i1 %40(ptr noalias noundef nonnull readonly align 8 dereferenceable(16) %3, ptr noalias noundef nonnull align 8 dereferenceable(64) %41) - to label %"_ZN4core4iter8adapters3map12map_try_fold28_$u7b$$u7b$closure$u7d$$u7d$17h81204b3e08807624E.exit" unwind label %43, !noalias !12419 - -43: ; preds = %._crit_edge.i.i.i, %36 - %44 = landingpad { ptr, i32 } + %40 = load ptr, ptr %10, align 8, !noalias !12419, !nonnull !4, !align !51, !noundef !4 + %41 = getelementptr inbounds nuw i8, ptr %40, i64 8 + %42 = load i64, ptr %41, align 8, !noalias !12419, !noundef !4 + %43 = icmp eq i64 %42, 0 + br i1 %43, label %._crit_edge.i.i.i, label %44 + +44: ; preds = %"_ZN11ide_assists8handlers16extract_function9make_call28_$u7b$$u7b$closure$u7d$$u7d$17h6535d11d2b32da8aE.exit.i" + %45 = load ptr, ptr %.pre.i.i.i, align 8, !noalias !12419, !nonnull !4, !align !51, !noundef !4 + %46 = load ptr, ptr %40, align 8, !noalias !12419, !nonnull !4, !align !123, !noundef !4 + %47 = invoke noundef zeroext i1 @_ZN4core3fmt9Formatter9write_str17h1ee02ebd428ca6deE(ptr noalias noundef nonnull align 8 dereferenceable(64) %45, ptr noalias noundef nonnull readonly align 1 %46, i64 noundef %42) + to label %45 unwind label %51, !noalias !12419 + +._crit_edge.i.i.i: ; preds = %53, %"_ZN11ide_assists8handlers16extract_function9make_call28_$u7b$$u7b$closure$u7d$$u7d$17h6535d11d2b32da8aE.exit.i" + %48 = load ptr, ptr %12, align 8, !noalias !12419, !nonnull !4, !noundef !4 + %49 = load ptr, ptr %.pre.i.i.i, align 8, !noalias !12419, !nonnull !4, !align !51, !noundef !4 + %50 = invoke noundef zeroext i1 %40(ptr noalias noundef nonnull readonly align 8 dereferenceable(16) %3, ptr noalias noundef nonnull align 8 dereferenceable(64) %49) + to label %"_ZN4core4iter8adapters3map12map_try_fold28_$u7b$$u7b$closure$u7d$$u7d$17h81204b3e08807624E.exit" unwind label %51, !noalias !12419 + +51: ; preds = %._crit_edge.i.i.i, %44 + %52 = landingpad { ptr, i32 } cleanup invoke void @"_ZN4core3ptr56drop_in_place$LT$syntax..ast..generated..nodes..Expr$GT$17h87baedda7c371808E.llvm.6055058659040047083"(ptr noalias noundef nonnull align 8 dereferenceable(16) %3) #38 - to label %48 unwind label %46, !noalias !12419 + to label %48 unwind label %54, !noalias !12419 -45: ; preds = %36 - br i1 %39, label %"_ZN4core4iter8adapters3map12map_try_fold28_$u7b$$u7b$closure$u7d$$u7d$17h81204b3e08807624E.exit.thread", label %._crit_edge.i.i.i +53: ; preds = %44 + br i1 %47, label %"_ZN4core4iter8adapters3map12map_try_fold28_$u7b$$u7b$closure$u7d$$u7d$17h81204b3e08807624E.exit.thread", label %._crit_edge.i.i.i -"_ZN4core4iter8adapters3map12map_try_fold28_$u7b$$u7b$closure$u7d$$u7d$17h81204b3e08807624E.exit.thread": ; preds = %45 +"_ZN4core4iter8adapters3map12map_try_fold28_$u7b$$u7b$closure$u7d$$u7d$17h81204b3e08807624E.exit.thread": ; preds = %53 call void @"_ZN4core3ptr56drop_in_place$LT$syntax..ast..generated..nodes..Expr$GT$17h87baedda7c371808E.llvm.6055058659040047083"(ptr noalias noundef nonnull align 8 dereferenceable(16) %3), !noalias !12419 call void @llvm.lifetime.end.p0(ptr nonnull %3), !noalias !12416 br label %"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h5b0b620a7961bd45E.exit" -46: ; preds = %43 - %47 = landingpad { ptr, i32 } +54: ; preds = %51 + %55 = landingpad { ptr, i32 } filter [0 x ptr] zeroinitializer call void @_ZN4core9panicking16panic_in_cleanup17hbacfddf1bcf21a1eE() #37, !noalias !12419 unreachable -48: ; preds = %43 - resume { ptr, i32 } %44 +56: ; preds = %51 + resume { ptr, i32 } %52 "_ZN4core4iter8adapters3map12map_try_fold28_$u7b$$u7b$closure$u7d$$u7d$17h81204b3e08807624E.exit": ; preds = %._crit_edge.i.i.i call void @"_ZN4core3ptr56drop_in_place$LT$syntax..ast..generated..nodes..Expr$GT$17h87baedda7c371808E.llvm.6055058659040047083"(ptr noalias noundef nonnull align 8 dereferenceable(16) %3), !noalias !12419 call void @llvm.lifetime.end.p0(ptr nonnull %3), !noalias !12416 - br i1 %42, label %"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h5b0b620a7961bd45E.exit", label %13 + br i1 %50, label %"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h5b0b620a7961bd45E.exit", label %13 "_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h5b0b620a7961bd45E.exit": ; preds = %13, %"_ZN4core4iter8adapters3map12map_try_fold28_$u7b$$u7b$closure$u7d$$u7d$17h81204b3e08807624E.exit", %"_ZN4core4iter8adapters3map12map_try_fold28_$u7b$$u7b$closure$u7d$$u7d$17h81204b3e08807624E.exit.thread" %.not.not.not.not.not22 = phi i1 [ true, %"_ZN4core4iter8adapters3map12map_try_fold28_$u7b$$u7b$closure$u7d$$u7d$17h81204b3e08807624E.exit.thread" ], [ %.not.not.not.not.not.not, %"_ZN4core4iter8adapters3map12map_try_fold28_$u7b$$u7b$closure$u7d$$u7d$17h81204b3e08807624E.exit" ], [ %.not.not.not.not.not.not, %13 ] diff --git a/bench/sentencepiece/optimized/spm_decode_main.ll b/bench/sentencepiece/optimized/spm_decode_main.ll index f0bfb973aac..2c1c4708090 100644 --- a/bench/sentencepiece/optimized/spm_decode_main.ll +++ b/bench/sentencepiece/optimized/spm_decode_main.ll @@ -2481,8 +2481,8 @@ define linkonce_odr void @_ZN4absl8internal8SplitterC2ESt17basic_string_viewIcSt tail call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %0, i8 0, i64 24, i1 false) %.not.i.i = icmp ne i64 %3, 0 %7 = icmp ne i64 %1, 0 - %or.cond15.i.i84 = select i1 %.not.i.i, i1 %7, i1 false - br i1 %or.cond15.i.i84, label %_ZNSt11char_traitsIcE4findEPKcmRS1_.exit.i.i.preheader.lr.ph, label %_ZNKSt17basic_string_viewIcSt11char_traitsIcEE13find_first_ofES2_m.exit.thread + %or.cond15.i.i83 = select i1 %.not.i.i, i1 %7, i1 false + br i1 %or.cond15.i.i83, label %_ZNSt11char_traitsIcE4findEPKcmRS1_.exit.i.i.preheader.lr.ph, label %_ZNKSt17basic_string_viewIcSt11char_traitsIcEE13find_first_ofES2_m.exit.thread _ZNSt11char_traitsIcE4findEPKcmRS1_.exit.i.i.preheader.lr.ph: ; preds = %6 %8 = getelementptr inbounds nuw i8, ptr %0, i64 8 @@ -2493,11 +2493,11 @@ _ZNSt11char_traitsIcE4findEPKcmRS1_.exit.i.i.preheader: ; preds = %_ZNSt11char_t %10 = phi ptr [ null, %_ZNSt11char_traitsIcE4findEPKcmRS1_.exit.i.i.preheader.lr.ph ], [ %46, %_ZNSt6vectorISt17basic_string_viewIcSt11char_traitsIcEESaIS3_EE9push_backEOS3_.exit ] %11 = phi ptr [ null, %_ZNSt11char_traitsIcE4findEPKcmRS1_.exit.i.i.preheader.lr.ph ], [ %47, %_ZNSt6vectorISt17basic_string_viewIcSt11char_traitsIcEESaIS3_EE9push_backEOS3_.exit ] %12 = phi ptr [ null, %_ZNSt11char_traitsIcE4findEPKcmRS1_.exit.i.i.preheader.lr.ph ], [ %48, %_ZNSt6vectorISt17basic_string_viewIcSt11char_traitsIcEESaIS3_EE9push_backEOS3_.exit ] - %.01985 = phi i64 [ 0, %_ZNSt11char_traitsIcE4findEPKcmRS1_.exit.i.i.preheader.lr.ph ], [ %49, %_ZNSt6vectorISt17basic_string_viewIcSt11char_traitsIcEESaIS3_EE9push_backEOS3_.exit ] + %.01984 = phi i64 [ 0, %_ZNSt11char_traitsIcE4findEPKcmRS1_.exit.i.i.preheader.lr.ph ], [ %49, %_ZNSt6vectorISt17basic_string_viewIcSt11char_traitsIcEESaIS3_EE9push_backEOS3_.exit ] br label %_ZNSt11char_traitsIcE4findEPKcmRS1_.exit.i.i _ZNSt11char_traitsIcE4findEPKcmRS1_.exit.i.i: ; preds = %_ZNSt11char_traitsIcE4findEPKcmRS1_.exit.i.i.preheader, %17 - %.01116.i.i = phi i64 [ %18, %17 ], [ %.01985, %_ZNSt11char_traitsIcE4findEPKcmRS1_.exit.i.i.preheader ] + %.01116.i.i = phi i64 [ %18, %17 ], [ %.01984, %_ZNSt11char_traitsIcE4findEPKcmRS1_.exit.i.i.preheader ] %13 = getelementptr inbounds nuw i8, ptr %2, i64 %.01116.i.i %14 = load i8, ptr %13, align 1, !tbaa !23 %15 = sext i8 %14 to i32 @@ -2515,23 +2515,23 @@ _ZNKSt17basic_string_viewIcSt11char_traitsIcEE13find_first_ofES2_m.exit: ; preds br i1 %.not, label %_ZNKSt17basic_string_viewIcSt11char_traitsIcEE13find_first_ofES2_m.exit.thread.thread, label %19 19: ; preds = %_ZNKSt17basic_string_viewIcSt11char_traitsIcEE13find_first_ofES2_m.exit - %.not22 = icmp uge i64 %.01116.i.i, %.01985 - %20 = icmp ugt i64 %.01116.i.i, %.01985 - %or.cond69 = select i1 %5, i1 %.not22, i1 %20 - br i1 %or.cond69, label %21, label %_ZNSt6vectorISt17basic_string_viewIcSt11char_traitsIcEESaIS3_EE9push_backEOS3_.exit + %.not21 = icmp uge i64 %.01116.i.i, %.01984 + %20 = icmp ugt i64 %.01116.i.i, %.01984 + %or.cond68 = select i1 %5, i1 %.not21, i1 %20 + br i1 %or.cond68, label %21, label %_ZNSt6vectorISt17basic_string_viewIcSt11char_traitsIcEESaIS3_EE9push_backEOS3_.exit 21: ; preds = %19 - %22 = sub i64 %.01116.i.i, %.01985 - %23 = sub nuw i64 %1, %.01985 + %22 = sub i64 %.01116.i.i, %.01984 + %23 = sub nuw i64 %1, %.01984 %.sroa.speculated.i = tail call i64 @llvm.umin.i64(i64 %23, i64 %22) - %24 = getelementptr inbounds nuw i8, ptr %2, i64 %.01985 - %.not.i.i27 = icmp eq ptr %12, %11 - br i1 %.not.i.i27, label %27, label %25 + %24 = getelementptr inbounds nuw i8, ptr %2, i64 %.01984 + %.not.i.i26 = icmp eq ptr %12, %11 + br i1 %.not.i.i26, label %27, label %25 25: ; preds = %21 store i64 %.sroa.speculated.i, ptr %12, align 8, !tbaa !21 - %.sroa.656.0..sroa_idx = getelementptr inbounds nuw i8, ptr %12, i64 8 - store ptr %24, ptr %.sroa.656.0..sroa_idx, align 8, !tbaa !19 + %.sroa.655.0..sroa_idx = getelementptr inbounds nuw i8, ptr %12, i64 8 + store ptr %24, ptr %.sroa.655.0..sroa_idx, align 8, !tbaa !19 %26 = getelementptr inbounds nuw i8, ptr %12, i64 16 store ptr %26, ptr %8, align 8, !tbaa !57 br label %_ZNSt6vectorISt17basic_string_viewIcSt11char_traitsIcEESaIS3_EE9push_backEOS3_.exit @@ -2547,7 +2547,7 @@ _ZNKSt17basic_string_viewIcSt11char_traitsIcEE13find_first_ofES2_m.exit: ; preds invoke void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.36) #23 to label %.noexc28 unwind label %.loopexit.split-lp -.noexc28: ; preds = %32 +.noexc27: ; preds = %32 unreachable _ZNKSt6vectorISt17basic_string_viewIcSt11char_traitsIcEESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i: ; preds = %27 @@ -2563,15 +2563,15 @@ _ZNKSt6vectorISt17basic_string_viewIcSt11char_traitsIcEESaIS3_EE12_M_check_lenEm %39 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %38) #25 to label %.noexc29 unwind label %.loopexit -.noexc29: ; preds = %_ZNKSt6vectorISt17basic_string_viewIcSt11char_traitsIcEESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i +.noexc28: ; preds = %_ZNKSt6vectorISt17basic_string_viewIcSt11char_traitsIcEESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i %40 = getelementptr inbounds nuw i8, ptr %39, i64 %30 store i64 %.sroa.speculated.i, ptr %40, align 8, !tbaa !21 - %.sroa.656.0..sroa_idx57 = getelementptr inbounds nuw i8, ptr %40, i64 8 - store ptr %24, ptr %.sroa.656.0..sroa_idx57, align 8, !tbaa !19 + %.sroa.655.0..sroa_idx56 = getelementptr inbounds nuw i8, ptr %40, i64 8 + store ptr %24, ptr %.sroa.655.0..sroa_idx56, align 8, !tbaa !19 %.not10.i.i.i.i.i.i = icmp eq ptr %10, %11 br i1 %.not10.i.i.i.i.i.i, label %_ZNSt6vectorISt17basic_string_viewIcSt11char_traitsIcEESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit22.i.i.i, label %.lr.ph.i.i.i.i.i.i -.lr.ph.i.i.i.i.i.i: ; preds = %.noexc29, %.lr.ph.i.i.i.i.i.i +.lr.ph.i.i.i.i.i.i: ; preds = %.noexc28, %.lr.ph.i.i.i.i.i.i %.012.i.i.i.i.i.i = phi ptr [ %42, %.lr.ph.i.i.i.i.i.i ], [ %39, %.noexc29 ] %.0911.i.i.i.i.i.i = phi ptr [ %41, %.lr.ph.i.i.i.i.i.i ], [ %10, %.noexc29 ] tail call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %.012.i.i.i.i.i.i, ptr noundef nonnull align 8 dereferenceable(16) %.0911.i.i.i.i.i.i, i64 16, i1 false), !tbaa.struct !94, !alias.scope !95 @@ -2580,7 +2580,7 @@ _ZNKSt6vectorISt17basic_string_viewIcSt11char_traitsIcEESaIS3_EE12_M_check_lenEm %.not.i.i.i.i.i.i = icmp eq ptr %41, %11 br i1 %.not.i.i.i.i.i.i, label %_ZNSt6vectorISt17basic_string_viewIcSt11char_traitsIcEESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit22.i.i.i, label %.lr.ph.i.i.i.i.i.i, !llvm.loop !99 -_ZNSt6vectorISt17basic_string_viewIcSt11char_traitsIcEESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit22.i.i.i: ; preds = %.lr.ph.i.i.i.i.i.i, %.noexc29 +_ZNSt6vectorISt17basic_string_viewIcSt11char_traitsIcEESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit22.i.i.i: ; preds = %.lr.ph.i.i.i.i.i.i, %.noexc28 %.0.lcssa.i.i.i.i.i.i = phi ptr [ %39, %.noexc29 ], [ %42, %.lr.ph.i.i.i.i.i.i ] %43 = getelementptr inbounds nuw i8, ptr %.0.lcssa.i.i.i.i.i.i, i64 16 %.not.i23.i.i.i = icmp eq ptr %10, null @@ -2613,22 +2613,22 @@ _ZNSt6vectorISt17basic_string_viewIcSt11char_traitsIcEESaIS3_EE9push_backEOS3_.e %48 = phi ptr [ %12, %19 ], [ %26, %25 ], [ %43, %_ZNSt6vectorISt17basic_string_viewIcSt11char_traitsIcEESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i ] %49 = add nuw i64 %.01116.i.i, 1 %50 = icmp ult i64 %49, %1 - br i1 %50, label %_ZNSt11char_traitsIcE4findEPKcmRS1_.exit.i.i.preheader, label %_ZNSt6vectorISt17basic_string_viewIcSt11char_traitsIcEESaIS3_EE9push_backEOS3_.exit50, !llvm.loop !100 + br i1 %50, label %_ZNSt11char_traitsIcE4findEPKcmRS1_.exit.i.i.preheader, label %_ZNSt6vectorISt17basic_string_viewIcSt11char_traitsIcEESaIS3_EE9push_backEOS3_.exit49, !llvm.loop !100 _ZNKSt17basic_string_viewIcSt11char_traitsIcEE13find_first_ofES2_m.exit.thread: ; preds = %6 - br i1 %7, label %_ZNKSt17basic_string_viewIcSt11char_traitsIcEE13find_first_ofES2_m.exit.thread.thread, label %_ZNSt6vectorISt17basic_string_viewIcSt11char_traitsIcEESaIS3_EE9push_backEOS3_.exit50 + br i1 %7, label %_ZNKSt17basic_string_viewIcSt11char_traitsIcEE13find_first_ofES2_m.exit.thread.thread, label %_ZNSt6vectorISt17basic_string_viewIcSt11char_traitsIcEESaIS3_EE9push_backEOS3_.exit49 _ZNKSt17basic_string_viewIcSt11char_traitsIcEE13find_first_ofES2_m.exit.thread.thread: ; preds = %_ZNKSt17basic_string_viewIcSt11char_traitsIcEE13find_first_ofES2_m.exit, %17, %_ZNKSt17basic_string_viewIcSt11char_traitsIcEE13find_first_ofES2_m.exit.thread - %.01983114 = phi i64 [ 0, %_ZNKSt17basic_string_viewIcSt11char_traitsIcEE13find_first_ofES2_m.exit.thread ], [ %.01985, %17 ], [ %.01985, %_ZNKSt17basic_string_viewIcSt11char_traitsIcEE13find_first_ofES2_m.exit ] + %.01982113 = phi i64 [ 0, %_ZNKSt17basic_string_viewIcSt11char_traitsIcEE13find_first_ofES2_m.exit.thread ], [ %.01984, %17 ], [ %.01984, %_ZNKSt17basic_string_viewIcSt11char_traitsIcEE13find_first_ofES2_m.exit ] %51 = phi ptr [ null, %_ZNKSt17basic_string_viewIcSt11char_traitsIcEE13find_first_ofES2_m.exit.thread ], [ %12, %17 ], [ %12, %_ZNKSt17basic_string_viewIcSt11char_traitsIcEE13find_first_ofES2_m.exit ] %52 = phi ptr [ null, %_ZNKSt17basic_string_viewIcSt11char_traitsIcEE13find_first_ofES2_m.exit.thread ], [ %11, %17 ], [ %11, %_ZNKSt17basic_string_viewIcSt11char_traitsIcEE13find_first_ofES2_m.exit ] %53 = phi ptr [ null, %_ZNKSt17basic_string_viewIcSt11char_traitsIcEE13find_first_ofES2_m.exit.thread ], [ %10, %17 ], [ %10, %_ZNKSt17basic_string_viewIcSt11char_traitsIcEE13find_first_ofES2_m.exit ] - %54 = sub nuw i64 %1, %.01983114 - %55 = getelementptr inbounds nuw i8, ptr %2, i64 %.01983114 + %54 = sub nuw i64 %1, %.01982113 + %55 = getelementptr inbounds nuw i8, ptr %2, i64 %.01982113 %56 = getelementptr inbounds nuw i8, ptr %0, i64 8 %57 = getelementptr inbounds nuw i8, ptr %0, i64 16 - %.not.i.i35 = icmp eq ptr %51, %52 - br i1 %.not.i.i35, label %60, label %58 + %.not.i.i34 = icmp eq ptr %51, %52 + br i1 %.not.i.i34, label %60, label %58 58: ; preds = %_ZNKSt17basic_string_viewIcSt11char_traitsIcEE13find_first_ofES2_m.exit.thread.thread store i64 %54, ptr %51, align 8, !tbaa !21 @@ -2636,75 +2636,75 @@ _ZNKSt17basic_string_viewIcSt11char_traitsIcEE13find_first_ofES2_m.exit.thread.t store ptr %55, ptr %.sroa.6.0..sroa_idx, align 8, !tbaa !19 %59 = getelementptr inbounds nuw i8, ptr %51, i64 16 store ptr %59, ptr %56, align 8, !tbaa !57 - br label %_ZNSt6vectorISt17basic_string_viewIcSt11char_traitsIcEESaIS3_EE9push_backEOS3_.exit50 + br label %_ZNSt6vectorISt17basic_string_viewIcSt11char_traitsIcEESaIS3_EE9push_backEOS3_.exit49 60: ; preds = %_ZNKSt17basic_string_viewIcSt11char_traitsIcEE13find_first_ofES2_m.exit.thread.thread %61 = ptrtoint ptr %52 to i64 %62 = ptrtoint ptr %53 to i64 %63 = sub i64 %61, %62 %64 = icmp eq i64 %63, 9223372036854775792 - br i1 %64, label %65, label %_ZNKSt6vectorISt17basic_string_viewIcSt11char_traitsIcEESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i36 + br i1 %64, label %65, label %_ZNKSt6vectorISt17basic_string_viewIcSt11char_traitsIcEESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i35 65: ; preds = %60 invoke void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.36) #23 to label %.noexc48 unwind label %79 -.noexc48: ; preds = %65 +.noexc47: ; preds = %65 unreachable -_ZNKSt6vectorISt17basic_string_viewIcSt11char_traitsIcEESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i36: ; preds = %60 +_ZNKSt6vectorISt17basic_string_viewIcSt11char_traitsIcEESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i35: ; preds = %60 %66 = ashr exact i64 %63, 4 - %.sroa.speculated.i.i.i.i37 = tail call i64 @llvm.umax.i64(i64 %66, i64 1) - %67 = add nsw i64 %.sroa.speculated.i.i.i.i37, %66 + %.sroa.speculated.i.i.i.i36 = tail call i64 @llvm.umax.i64(i64 %66, i64 1) + %67 = add nsw i64 %.sroa.speculated.i.i.i.i36, %66 %68 = icmp ult i64 %67, %66 %69 = tail call i64 @llvm.umin.i64(i64 %67, i64 576460752303423487) %70 = select i1 %68, i64 576460752303423487, i64 %69 - %.not.i.i.i.i38 = icmp ne i64 %70, 0 - tail call void @llvm.assume(i1 %.not.i.i.i.i38) + %.not.i.i.i.i37 = icmp ne i64 %70, 0 + tail call void @llvm.assume(i1 %.not.i.i.i.i37) %71 = shl nuw nsw i64 %70, 4 %72 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %71) #25 to label %.noexc49 unwind label %79 -.noexc49: ; preds = %_ZNKSt6vectorISt17basic_string_viewIcSt11char_traitsIcEESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i36 +.noexc48: ; preds = %_ZNKSt6vectorISt17basic_string_viewIcSt11char_traitsIcEESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i35 %73 = getelementptr inbounds nuw i8, ptr %72, i64 %63 store i64 %54, ptr %73, align 8, !tbaa !21 - %.sroa.6.0..sroa_idx52 = getelementptr inbounds nuw i8, ptr %73, i64 8 - store ptr %55, ptr %.sroa.6.0..sroa_idx52, align 8, !tbaa !19 - %.not10.i.i.i.i.i.i39 = icmp eq ptr %53, %52 - br i1 %.not10.i.i.i.i.i.i39, label %_ZNSt6vectorISt17basic_string_viewIcSt11char_traitsIcEESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit22.i.i.i44, label %.lr.ph.i.i.i.i.i.i40 - -.lr.ph.i.i.i.i.i.i40: ; preds = %.noexc49, %.lr.ph.i.i.i.i.i.i40 - %.012.i.i.i.i.i.i41 = phi ptr [ %75, %.lr.ph.i.i.i.i.i.i40 ], [ %72, %.noexc49 ] - %.0911.i.i.i.i.i.i42 = phi ptr [ %74, %.lr.ph.i.i.i.i.i.i40 ], [ %53, %.noexc49 ] - tail call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %.012.i.i.i.i.i.i41, ptr noundef nonnull align 8 dereferenceable(16) %.0911.i.i.i.i.i.i42, i64 16, i1 false), !tbaa.struct !94, !alias.scope !101 - %74 = getelementptr inbounds nuw i8, ptr %.0911.i.i.i.i.i.i42, i64 16 - %75 = getelementptr inbounds nuw i8, ptr %.012.i.i.i.i.i.i41, i64 16 - %.not.i.i.i.i.i.i43 = icmp eq ptr %74, %52 - br i1 %.not.i.i.i.i.i.i43, label %_ZNSt6vectorISt17basic_string_viewIcSt11char_traitsIcEESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit22.i.i.i44, label %.lr.ph.i.i.i.i.i.i40, !llvm.loop !99 - -_ZNSt6vectorISt17basic_string_viewIcSt11char_traitsIcEESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit22.i.i.i44: ; preds = %.lr.ph.i.i.i.i.i.i40, %.noexc49 - %.0.lcssa.i.i.i.i.i.i45 = phi ptr [ %72, %.noexc49 ], [ %75, %.lr.ph.i.i.i.i.i.i40 ] - %76 = getelementptr inbounds nuw i8, ptr %.0.lcssa.i.i.i.i.i.i45, i64 16 - %.not.i23.i.i.i46 = icmp eq ptr %53, null - br i1 %.not.i23.i.i.i46, label %_ZNSt6vectorISt17basic_string_viewIcSt11char_traitsIcEESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i47, label %77 - -77: ; preds = %_ZNSt6vectorISt17basic_string_viewIcSt11char_traitsIcEESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit22.i.i.i44 + %.sroa.6.0..sroa_idx51 = getelementptr inbounds nuw i8, ptr %73, i64 8 + store ptr %55, ptr %.sroa.6.0..sroa_idx51, align 8, !tbaa !19 + %.not10.i.i.i.i.i.i38 = icmp eq ptr %53, %52 + br i1 %.not10.i.i.i.i.i.i38, label %_ZNSt6vectorISt17basic_string_viewIcSt11char_traitsIcEESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit22.i.i.i43, label %.lr.ph.i.i.i.i.i.i39 + +.lr.ph.i.i.i.i.i.i39: ; preds = %.noexc48, %.lr.ph.i.i.i.i.i.i39 + %.012.i.i.i.i.i.i40 = phi ptr [ %75, %.lr.ph.i.i.i.i.i.i40 ], [ %72, %.noexc49 ] + %.0911.i.i.i.i.i.i41 = phi ptr [ %74, %.lr.ph.i.i.i.i.i.i40 ], [ %53, %.noexc49 ] + tail call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %.012.i.i.i.i.i.i40, ptr noundef nonnull align 8 dereferenceable(16) %.0911.i.i.i.i.i.i41, i64 16, i1 false), !tbaa.struct !94, !alias.scope !101 + %74 = getelementptr inbounds nuw i8, ptr %.0911.i.i.i.i.i.i41, i64 16 + %75 = getelementptr inbounds nuw i8, ptr %.012.i.i.i.i.i.i40, i64 16 + %.not.i.i.i.i.i.i42 = icmp eq ptr %74, %52 + br i1 %.not.i.i.i.i.i.i42, label %_ZNSt6vectorISt17basic_string_viewIcSt11char_traitsIcEESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit22.i.i.i43, label %.lr.ph.i.i.i.i.i.i39, !llvm.loop !99 + +_ZNSt6vectorISt17basic_string_viewIcSt11char_traitsIcEESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit22.i.i.i43: ; preds = %.lr.ph.i.i.i.i.i.i39, %.noexc48 + %.0.lcssa.i.i.i.i.i.i44 = phi ptr [ %72, %.noexc49 ], [ %75, %.lr.ph.i.i.i.i.i.i40 ] + %76 = getelementptr inbounds nuw i8, ptr %.0.lcssa.i.i.i.i.i.i44, i64 16 + %.not.i23.i.i.i45 = icmp eq ptr %53, null + br i1 %.not.i23.i.i.i45, label %_ZNSt6vectorISt17basic_string_viewIcSt11char_traitsIcEESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i46, label %77 + +77: ; preds = %_ZNSt6vectorISt17basic_string_viewIcSt11char_traitsIcEESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit22.i.i.i43 tail call void @_ZdlPvm(ptr noundef nonnull %53, i64 noundef %63) #22 - br label %_ZNSt6vectorISt17basic_string_viewIcSt11char_traitsIcEESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i47 + br label %_ZNSt6vectorISt17basic_string_viewIcSt11char_traitsIcEESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i46 -_ZNSt6vectorISt17basic_string_viewIcSt11char_traitsIcEESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i47: ; preds = %77, %_ZNSt6vectorISt17basic_string_viewIcSt11char_traitsIcEESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit22.i.i.i44 +_ZNSt6vectorISt17basic_string_viewIcSt11char_traitsIcEESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i46: ; preds = %77, %_ZNSt6vectorISt17basic_string_viewIcSt11char_traitsIcEESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit22.i.i.i43 store ptr %72, ptr %0, align 8, !tbaa !60 store ptr %76, ptr %56, align 8, !tbaa !57 %78 = getelementptr inbounds nuw %"class.std::basic_string_view", ptr %72, i64 %70 store ptr %78, ptr %57, align 8, !tbaa !68 - br label %_ZNSt6vectorISt17basic_string_viewIcSt11char_traitsIcEESaIS3_EE9push_backEOS3_.exit50 + br label %_ZNSt6vectorISt17basic_string_viewIcSt11char_traitsIcEESaIS3_EE9push_backEOS3_.exit49 -79: ; preds = %_ZNKSt6vectorISt17basic_string_viewIcSt11char_traitsIcEESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i36, %65 +79: ; preds = %_ZNKSt6vectorISt17basic_string_viewIcSt11char_traitsIcEESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i35, %65 %80 = landingpad { ptr, i32 } cleanup br label %81 -_ZNSt6vectorISt17basic_string_viewIcSt11char_traitsIcEESaIS3_EE9push_backEOS3_.exit50: ; preds = %_ZNSt6vectorISt17basic_string_viewIcSt11char_traitsIcEESaIS3_EE9push_backEOS3_.exit, %58, %_ZNSt6vectorISt17basic_string_viewIcSt11char_traitsIcEESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i47, %_ZNKSt17basic_string_viewIcSt11char_traitsIcEE13find_first_ofES2_m.exit.thread +_ZNSt6vectorISt17basic_string_viewIcSt11char_traitsIcEESaIS3_EE9push_backEOS3_.exit49: ; preds = %_ZNSt6vectorISt17basic_string_viewIcSt11char_traitsIcEESaIS3_EE9push_backEOS3_.exit, %58, %_ZNSt6vectorISt17basic_string_viewIcSt11char_traitsIcEESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i46, %_ZNKSt17basic_string_viewIcSt11char_traitsIcEE13find_first_ofES2_m.exit.thread ret void 81: ; preds = %.loopexit, %.loopexit.split-lp, %79 diff --git a/bench/stb/optimized/stb_tilemap_editor.ll b/bench/stb/optimized/stb_tilemap_editor.ll index dafccb776db..ec0b5b70f9f 100644 --- a/bench/stb/optimized/stb_tilemap_editor.ll +++ b/bench/stb/optimized/stb_tilemap_editor.ll @@ -8431,8 +8431,8 @@ stbte__hittest.exit: ; preds = %6, %13, %25 %or.cond = select i1 %42, i1 %43, i1 false %44 = load i32, ptr getelementptr inbounds nuw (i8, ptr @stbte__ui, i64 1316332), align 4 %45 = icmp slt i32 %38, %44 - %or.cond157 = select i1 %or.cond, i1 %45, i1 false - br i1 %or.cond157, label %46, label %stbte__paste_stack.exit + %or.cond154 = select i1 %or.cond, i1 %45, i1 false + br i1 %or.cond154, label %46, label %stbte__paste_stack.exit 46: ; preds = %40 %47 = mul nsw i32 %41, %38 @@ -8444,8 +8444,8 @@ stbte__hittest.exit: ; preds = %6, %13, %25 %53 = getelementptr inbounds nuw i8, ptr %0, i64 801040 %54 = load i32, ptr %53, align 8, !tbaa !40 %55 = icmp slt i32 %54, 0 - %spec.select.i167 = select i1 %55, i32 %52, i32 %54 - %56 = icmp sgt i32 %spec.select.i167, -1 + %spec.select.i164 = select i1 %55, i32 %52, i32 %54 + %56 = icmp sgt i32 %spec.select.i164, -1 br i1 %56, label %85, label %.preheader.i .preheader.i: ; preds = %46 @@ -8549,7 +8549,7 @@ stbte__hittest.exit: ; preds = %6, %13, %25 br i1 %.not60.i, label %106, label %stbte__paste_stack.exit 106: ; preds = %104, %92, %85 - %107 = zext nneg i32 %spec.select.i167 to i64 + %107 = zext nneg i32 %spec.select.i164 to i64 %108 = getelementptr inbounds nuw i16, ptr %29, i64 %107 %109 = load i16, ptr %108, align 2, !tbaa !21 %110 = getelementptr inbounds nuw i16, ptr %7, i64 %107 @@ -8557,7 +8557,7 @@ stbte__hittest.exit: ; preds = %6, %13, %25 %111 = getelementptr inbounds nuw i16, ptr %50, i64 %107 %112 = load i16, ptr %111, align 2, !tbaa !21 %113 = sext i16 %112 to i32 - %114 = icmp eq i32 %spec.select.i167, 0 + %114 = icmp eq i32 %spec.select.i164, 0 br i1 %114, label %115, label %119 115: ; preds = %106 @@ -8577,22 +8577,22 @@ stbte__hittest.exit: ; preds = %6, %13, %25 122: ; preds = %33 %123 = load i32, ptr getelementptr inbounds nuw (i8, ptr @stbte__ui, i64 5256), align 8, !tbaa !180 - %.not137 = icmp eq i32 %123, 0 - br i1 %.not137, label %195, label %.preheader180 + %.not134 = icmp eq i32 %123, 0 + br i1 %.not134, label %195, label %.preheader177 -.preheader180: ; preds = %122 +.preheader177: ; preds = %122 %124 = getelementptr inbounds nuw i8, ptr %0, i64 800008 %125 = load i32, ptr %124, align 8, !tbaa !28 %126 = icmp sgt i32 %125, 0 br i1 %126, label %.lr.ph.preheader, label %._crit_edge -.lr.ph.preheader: ; preds = %.preheader180 +.lr.ph.preheader: ; preds = %.preheader177 %127 = shl nuw i32 %125, 1 %128 = zext i32 %127 to i64 call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 16 %7, ptr align 2 %29, i64 %128, i1 false), !tbaa !21 br label %._crit_edge -._crit_edge: ; preds = %.lr.ph.preheader, %.preheader180 +._crit_edge: ; preds = %.lr.ph.preheader, %.preheader177 %129 = load i32, ptr getelementptr inbounds nuw (i8, ptr @stbte__ui, i64 5260), align 4, !tbaa !169 %130 = sub nsw i32 %3, %129 %131 = load i32, ptr getelementptr inbounds nuw (i8, ptr @stbte__ui, i64 5264), align 8, !tbaa !170 @@ -8610,8 +8610,8 @@ stbte__hittest.exit: ; preds = %6, %13, %25 %or.cond5 = select i1 %138, i1 %139, i1 false %140 = load i32, ptr getelementptr inbounds nuw (i8, ptr @stbte__ui, i64 5272), align 8 %141 = icmp slt i32 %136, %140 - %or.cond159 = select i1 %or.cond5, i1 %141, i1 false - br i1 %or.cond159, label %142, label %stbte__clear_stack.exit + %or.cond156 = select i1 %or.cond5, i1 %141, i1 false + br i1 %or.cond156, label %142, label %stbte__clear_stack.exit 142: ; preds = %135 %143 = getelementptr inbounds nuw i8, ptr %0, i64 800044 @@ -8619,21 +8619,21 @@ stbte__hittest.exit: ; preds = %6, %13, %25 %145 = getelementptr inbounds nuw i8, ptr %0, i64 801040 %146 = load i32, ptr %145, align 8, !tbaa !40 %147 = icmp slt i32 %146, 0 - %spec.select.i169 = select i1 %147, i32 %144, i32 %146 - %148 = icmp sgt i32 %spec.select.i169, -1 - br i1 %148, label %151, label %.preheader.i170 + %spec.select.i166 = select i1 %147, i32 %144, i32 %146 + %148 = icmp sgt i32 %spec.select.i166, -1 + br i1 %148, label %151, label %.preheader.i167 -.preheader.i170: ; preds = %142 - br i1 %126, label %.lr.ph.i171, label %stbte__clear_stack.exit +.preheader.i167: ; preds = %142 + br i1 %126, label %.lr.ph.i168, label %stbte__clear_stack.exit -.lr.ph.i171: ; preds = %.preheader.i170 +.lr.ph.i168: ; preds = %.preheader.i167 %149 = getelementptr inbounds nuw i8, ptr %0, i64 800896 %150 = getelementptr inbounds nuw i8, ptr %0, i64 801056 %wide.trip.count.i = zext nneg i32 %125 to i64 br label %160 151: ; preds = %142 - %152 = icmp eq i32 %spec.select.i169, 0 + %152 = icmp eq i32 %spec.select.i166, 0 br i1 %152, label %153, label %156 153: ; preds = %151 @@ -8643,18 +8643,18 @@ stbte__hittest.exit: ; preds = %6, %13, %25 156: ; preds = %153, %151 %157 = phi i16 [ %155, %153 ], [ -1, %151 ] - %158 = zext nneg i32 %spec.select.i169 to i64 + %158 = zext nneg i32 %spec.select.i166 to i64 %159 = getelementptr inbounds nuw i16, ptr %7, i64 %158 store i16 %157, ptr %159, align 2, !tbaa !21 br label %stbte__clear_stack.exit -160: ; preds = %175, %.lr.ph.i171 +160: ; preds = %175, %.lr.ph.i168 %indvars.iv.i = phi i64 [ 0, %.lr.ph.i171 ], [ %indvars.iv.next.i, %175 ] %161 = getelementptr inbounds nuw %struct.stbte__layer, ptr %149, i64 %indvars.iv.i %162 = getelementptr inbounds nuw i8, ptr %161, i64 12 %163 = load i32, ptr %162, align 4, !tbaa !131 - %.not.i172 = icmp eq i32 %163, 0 - br i1 %.not.i172, label %164, label %175 + %.not.i169 = icmp eq i32 %163, 0 + br i1 %.not.i169, label %164, label %175 164: ; preds = %160 %165 = getelementptr inbounds nuw i8, ptr %161, i64 8 @@ -8681,7 +8681,7 @@ stbte__hittest.exit: ; preds = %6, %13, %25 %exitcond.not.i = icmp eq i64 %indvars.iv.next.i, %wide.trip.count.i br i1 %exitcond.not.i, label %stbte__clear_stack.exit, label %160, !llvm.loop !147 -stbte__clear_stack.exit: ; preds = %175, %156, %.preheader.i170, %135, %._crit_edge +stbte__clear_stack.exit: ; preds = %175, %156, %.preheader.i167, %135, %._crit_edge %176 = load i32, ptr getelementptr inbounds nuw (i8, ptr @stbte__ui, i64 5284), align 4, !tbaa !171 %177 = sub nsw i32 %3, %176 %178 = load i32, ptr getelementptr inbounds nuw (i8, ptr @stbte__ui, i64 5288), align 8, !tbaa !172 @@ -8696,8 +8696,8 @@ stbte__clear_stack.exit: ; preds = %175, %156, %.prehea %or.cond7 = select i1 %183, i1 %184, i1 false %185 = load i32, ptr getelementptr inbounds nuw (i8, ptr @stbte__ui, i64 5272), align 8 %186 = icmp slt i32 %179, %185 - %or.cond161 = select i1 %or.cond7, i1 %186, i1 false - br i1 %or.cond161, label %187, label %stbte__paste_stack.exit + %or.cond158 = select i1 %or.cond7, i1 %186, i1 false + br i1 %or.cond158, label %187, label %stbte__paste_stack.exit 187: ; preds = %181 %188 = add nsw i32 %179, %131 @@ -8732,51 +8732,51 @@ stbte__clear_stack.exit: ; preds = %175, %156, %.prehea %209 = and i32 %208, 4095 %210 = load i32, ptr getelementptr inbounds nuw (i8, ptr @stbte__ui, i64 5316), align 4, !tbaa !103 %211 = load i32, ptr getelementptr inbounds nuw (i8, ptr @stbte__ui, i64 5320), align 8, !tbaa !128 - %.not138 = icmp slt i32 %3, %210 - %.not139 = icmp sgt i32 %3, %207 - %or.cond162 = or i1 %.not139, %.not138 - br i1 %or.cond162, label %212, label %213 + %.not135 = icmp slt i32 %3, %210 + %.not136 = icmp sgt i32 %3, %207 + %or.cond159 = or i1 %.not136, %.not135 + br i1 %or.cond159, label %212, label %213 212: ; preds = %205 - %.not140 = icmp slt i32 %3, %207 - %.not141 = icmp sgt i32 %3, %210 - %or.cond163 = or i1 %.not140, %.not141 - br i1 %or.cond163, label %stbte__paste_stack.exit, label %213 + %.not137 = icmp slt i32 %3, %207 + %.not138 = icmp sgt i32 %3, %210 + %or.cond160 = or i1 %.not137, %.not138 + br i1 %or.cond160, label %stbte__paste_stack.exit, label %213 213: ; preds = %212, %205 - %.not142 = icmp slt i32 %4, %211 - %.not143 = icmp sgt i32 %4, %209 - %or.cond164 = or i1 %.not143, %.not142 - br i1 %or.cond164, label %214, label %215 + %.not139 = icmp slt i32 %4, %211 + %.not140 = icmp sgt i32 %4, %209 + %or.cond161 = or i1 %.not140, %.not139 + br i1 %or.cond161, label %214, label %215 214: ; preds = %213 - %.not144 = icmp slt i32 %4, %209 - %.not145 = icmp sgt i32 %4, %211 - %or.cond165 = select i1 %.not144, i1 true, i1 %.not145 - br i1 %or.cond165, label %stbte__paste_stack.exit, label %215 + %.not141 = icmp slt i32 %4, %209 + %.not142 = icmp sgt i32 %4, %211 + %or.cond162 = select i1 %.not141, i1 true, i1 %.not142 + br i1 %or.cond162, label %stbte__paste_stack.exit, label %215 215: ; preds = %214, %213 %216 = getelementptr inbounds nuw i8, ptr %0, i64 800008 %217 = load i32, ptr %216, align 8, !tbaa !28 %218 = icmp sgt i32 %217, 0 - br i1 %218, label %.lr.ph186.preheader, label %._crit_edge187 + br i1 %218, label %.lr.ph183.preheader, label %._crit_edge184 -.lr.ph186.preheader: ; preds = %215 +.lr.ph183.preheader: ; preds = %215 %219 = shl nuw i32 %217, 1 %220 = zext i32 %219 to i64 call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 16 %7, ptr align 2 %29, i64 %220, i1 false), !tbaa !21 - br label %._crit_edge187 + br label %._crit_edge184 -._crit_edge187: ; preds = %.lr.ph186.preheader, %215 +._crit_edge184: ; preds = %.lr.ph183.preheader, %215 %221 = load i32, ptr getelementptr inbounds nuw (i8, ptr @stbte__ui, i64 4), align 4, !tbaa !96 %222 = icmp eq i32 %221, 4 br i1 %222, label %223, label %224 -223: ; preds = %._crit_edge187 +223: ; preds = %._crit_edge184 call void @stbte__brush_predict(ptr noundef nonnull %0, ptr noundef nonnull %7) br label %stbte__paste_stack.exit -224: ; preds = %._crit_edge187 +224: ; preds = %._crit_edge184 %225 = call i32 @stbte__erase_predict(ptr noundef nonnull %0, ptr noundef nonnull %7, i32 noundef 1) br label %stbte__paste_stack.exit @@ -8785,12 +8785,12 @@ stbte__paste_stack.exit: ; preds = %84, %121, %119, %10 %226 = icmp eq i32 %30, %11 %227 = load i32, ptr getelementptr inbounds nuw (i8, ptr @stbte__ui, i64 8), align 8 %228 = icmp eq i32 %227, 0 - %or.cond9.not149.not154 = select i1 %226, i1 %228, i1 false + %or.cond9.not146.not151 = select i1 %226, i1 %228, i1 false %229 = icmp eq i32 %.pre, 0 - %or.cond11.not151 = select i1 %or.cond9.not149.not154, i1 %229, i1 false + %or.cond11.not148 = select i1 %or.cond9.not146.not151, i1 %229, i1 false %230 = load i32, ptr @stbte__ui, align 8 %231 = icmp eq i32 %230, 1 - %or.cond15 = select i1 %or.cond11.not151, i1 %231, i1 false + %or.cond15 = select i1 %or.cond11.not148, i1 %231, i1 false br i1 %or.cond15, label %232, label %stbte__brush_predict.exit 232: ; preds = %stbte__paste_stack.exit @@ -8803,18 +8803,18 @@ stbte__paste_stack.exit: ; preds = %84, %121, %119, %10 %236 = getelementptr inbounds nuw i8, ptr %0, i64 800008 %237 = load i32, ptr %236, align 8, !tbaa !28 %238 = icmp sgt i32 %237, 0 - br i1 %238, label %._crit_edge190, label %stbte__brush_predict.exit + br i1 %238, label %._crit_edge187, label %stbte__brush_predict.exit -._crit_edge190: ; preds = %.preheader +._crit_edge187: ; preds = %.preheader %239 = shl nuw i32 %237, 1 %240 = zext i32 %239 to i64 call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 16 %7, ptr align 2 %29, i64 %240, i1 false), !tbaa !21 %241 = getelementptr inbounds nuw i8, ptr %0, i64 800040 %242 = load i32, ptr %241, align 8, !tbaa !39 %243 = icmp slt i32 %242, 0 - br i1 %243, label %stbte__brush_predict.exit, label %.lr.ph.i173 + br i1 %243, label %stbte__brush_predict.exit, label %.lr.ph.i170 -.lr.ph.i173: ; preds = %._crit_edge190 +.lr.ph.i170: ; preds = %._crit_edge187 %244 = getelementptr inbounds nuw i8, ptr %0, i64 800856 %245 = load ptr, ptr %244, align 8, !tbaa !24 %246 = zext nneg i32 %242 to i64 @@ -8825,33 +8825,33 @@ stbte__paste_stack.exit: ; preds = %84, %121, %119, %10 %251 = getelementptr inbounds nuw i8, ptr %0, i64 800044 %252 = getelementptr inbounds nuw i8, ptr %0, i64 800896 %253 = getelementptr inbounds nuw i8, ptr %0, i64 801056 - %wide.trip.count.i174 = zext nneg i32 %237 to i64 + %wide.trip.count.i171 = zext nneg i32 %237 to i64 br label %254 -254: ; preds = %286, %.lr.ph.i173 - %indvars.iv.i175 = phi i64 [ 0, %.lr.ph.i173 ], [ %indvars.iv.next.i178, %286 ] - %255 = trunc nuw nsw i64 %indvars.iv.i175 to i32 +254: ; preds = %286, %.lr.ph.i170 + %indvars.iv.i172 = phi i64 [ 0, %.lr.ph.i173 ], [ %indvars.iv.next.i175, %286 ] + %255 = trunc nuw nsw i64 %indvars.iv.i172 to i32 %256 = shl nuw i32 1, %255 %257 = and i32 %256, %249 - %.not.i176 = icmp eq i32 %257, 0 - br i1 %.not.i176, label %286, label %258 + %.not.i173 = icmp eq i32 %257, 0 + br i1 %.not.i173, label %286, label %258 258: ; preds = %254 %259 = load i32, ptr %250, align 8, !tbaa !40 %260 = zext i32 %259 to i64 - %.not28.i = icmp eq i64 %indvars.iv.i175, %260 + %.not28.i = icmp eq i64 %indvars.iv.i172, %260 br i1 %.not28.i, label %282, label %261 261: ; preds = %258 %262 = load i32, ptr %251, align 4, !tbaa !130 %263 = icmp slt i32 %262, 0 %264 = zext i32 %262 to i64 - %.not29.i = icmp eq i64 %indvars.iv.i175, %264 - %or.cond.i177 = or i1 %263, %.not29.i - br i1 %or.cond.i177, label %265, label %286 + %.not29.i = icmp eq i64 %indvars.iv.i172, %264 + %or.cond.i174 = or i1 %263, %.not29.i + br i1 %or.cond.i174, label %265, label %286 265: ; preds = %261 - %266 = getelementptr inbounds nuw %struct.stbte__layer, ptr %252, i64 %indvars.iv.i175 + %266 = getelementptr inbounds nuw %struct.stbte__layer, ptr %252, i64 %indvars.iv.i172 %267 = getelementptr inbounds nuw i8, ptr %266, i64 12 %268 = load i32, ptr %267, align 4, !tbaa !131 %.not30.i = icmp eq i32 %268, 0 @@ -8866,10 +8866,10 @@ stbte__paste_stack.exit: ; preds = %84, %121, %119, %10 ] 272: ; preds = %269 - %273 = getelementptr inbounds nuw i16, ptr %7, i64 %indvars.iv.i175 + %273 = getelementptr inbounds nuw i16, ptr %7, i64 %indvars.iv.i172 %274 = load i16, ptr %273, align 2, !tbaa !21 %275 = sext i16 %274 to i32 - %276 = icmp eq i64 %indvars.iv.i175, 0 + %276 = icmp eq i64 %indvars.iv.i172, 0 br i1 %276, label %277, label %280 277: ; preds = %272 @@ -8884,35 +8884,35 @@ stbte__paste_stack.exit: ; preds = %84, %121, %119, %10 282: ; preds = %280, %269, %258 %283 = load i16, ptr %247, align 8, !tbaa !60 - %284 = and i64 %indvars.iv.i175, 4294967295 + %284 = and i64 %indvars.iv.i172, 4294967295 %285 = getelementptr inbounds nuw i16, ptr %7, i64 %284 store i16 %283, ptr %285, align 2, !tbaa !21 br label %stbte__brush_predict.exit 286: ; preds = %280, %269, %265, %261, %254 - %indvars.iv.next.i178 = add nuw nsw i64 %indvars.iv.i175, 1 - %exitcond.not.i179 = icmp eq i64 %indvars.iv.next.i178, %wide.trip.count.i174 - br i1 %exitcond.not.i179, label %stbte__brush_predict.exit, label %254, !llvm.loop !133 + %indvars.iv.next.i175 = add nuw nsw i64 %indvars.iv.i172, 1 + %exitcond.not.i176 = icmp eq i64 %indvars.iv.next.i175, %wide.trip.count.i171 + br i1 %exitcond.not.i176, label %stbte__brush_predict.exit, label %254, !llvm.loop !133 -stbte__brush_predict.exit: ; preds = %286, %.preheader, %282, %._crit_edge190, %232, %stbte__paste_stack.exit +stbte__brush_predict.exit: ; preds = %286, %.preheader, %282, %._crit_edge187, %232, %stbte__paste_stack.exit %.3 = phi ptr [ %.0119, %232 ], [ %.0119, %stbte__paste_stack.exit ], [ %7, %._crit_edge190 ], [ %7, %282 ], [ %7, %.preheader ], [ %7, %286 ] %287 = getelementptr inbounds nuw i8, ptr %0, i64 801040 %288 = load i32, ptr %287, align 8, !tbaa !40 %289 = icmp eq i32 %5, %288 - %.pre196 = sext i32 %5 to i64 + %.pre193 = sext i32 %5 to i64 br i1 %289, label %stbte__brush_predict.exit._crit_edge, label %290 290: ; preds = %stbte__brush_predict.exit - %291 = getelementptr %struct.stbte__layer, ptr %0, i64 %.pre196 + %291 = getelementptr %struct.stbte__layer, ptr %0, i64 %.pre193 %292 = getelementptr i8, ptr %291, i64 800908 %293 = load i32, ptr %292, align 4, !tbaa !131 - %.not155 = icmp eq i32 %293, 0 + %.not152 = icmp eq i32 %293, 0 %294 = icmp slt i32 %288, 0 - %or.cond166 = and i1 %294, %.not155 - br i1 %or.cond166, label %stbte__brush_predict.exit._crit_edge, label %302 + %or.cond163 = and i1 %294, %.not152 + br i1 %or.cond163, label %stbte__brush_predict.exit._crit_edge, label %302 stbte__brush_predict.exit._crit_edge: ; preds = %stbte__brush_predict.exit, %290 - %295 = getelementptr inbounds i16, ptr %.3, i64 %.pre196 + %295 = getelementptr inbounds i16, ptr %.3, i64 %.pre193 %296 = load i16, ptr %295, align 2, !tbaa !21 %297 = icmp sgt i16 %296, -1 br i1 %297, label %298, label %302 diff --git a/bench/stb/optimized/stb_vorbis.ll b/bench/stb/optimized/stb_vorbis.ll index 53b5f21a7c6..4bd7bd06409 100644 --- a/bench/stb/optimized/stb_vorbis.ll +++ b/bench/stb/optimized/stb_vorbis.ll @@ -3205,11 +3205,11 @@ define i32 @get_bits(ptr noundef captures(none) %0, i32 noundef %1) local_unname %3 = getelementptr inbounds nuw i8, ptr %0, i64 1784 %4 = load i32, ptr %3, align 8, !tbaa !80 %5 = icmp slt i32 %4, 0 - br i1 %5, label %common.ret43, label %6 + br i1 %5, label %common.ret42, label %6 6: ; preds = %2 %7 = icmp slt i32 %4, %1 - br i1 %7, label %8, label %.loopexit33 + br i1 %7, label %8, label %.loopexit32 8: ; preds = %6 %9 = icmp samesign ugt i32 %1, 24 @@ -3221,18 +3221,18 @@ define i32 @get_bits(ptr noundef captures(none) %0, i32 noundef %1) local_unname 12: ; preds = %10 %13 = icmp eq i32 %4, 0 - br i1 %13, label %14, label %.lr.ph34 + br i1 %13, label %14, label %.lr.ph33 14: ; preds = %12 %15 = getelementptr inbounds nuw i8, ptr %0, i64 1780 store i32 0, ptr %15, align 4, !tbaa !85 - br label %.lr.ph34 + br label %.lr.ph33 -.lr.ph34: ; preds = %12, %14 +.lr.ph33: ; preds = %12, %14 %16 = getelementptr inbounds nuw i8, ptr %0, i64 1780 br label %17 -17: ; preds = %.lr.ph34, %19 +17: ; preds = %.lr.ph33, %19 %18 = tail call i32 @get8_packet_raw(ptr noundef nonnull %0) %.not.i = icmp eq i32 %18, -1 br i1 %.not.i, label %get_bits.exit, label %19 @@ -3258,9 +3258,9 @@ define i32 @get_bits(ptr noundef captures(none) %0, i32 noundef %1) local_unname %31 = add nsw i32 %26, -24 br label %get_bits.exit -common.ret43: ; preds = %.critedge, %2, %.loopexit33, %get_bits.exit - %common.ret43.op = phi i32 [ %35, %get_bits.exit ], [ %54, %.loopexit33 ], [ 0, %2 ], [ 0, %.critedge ] - ret i32 %common.ret43.op +common.ret42: ; preds = %.critedge, %2, %.loopexit32, %get_bits.exit + %common.ret42.op = phi i32 [ %35, %get_bits.exit ], [ %54, %.loopexit33 ], [ 0, %2 ], [ 0, %.critedge ] + ret i32 %common.ret42.op get_bits.exit: ; preds = %17, %.loopexit %storemerge = phi i32 [ %31, %.loopexit ], [ -1, %17 ] @@ -3270,7 +3270,7 @@ get_bits.exit: ; preds = %17, %.loopexit %33 = tail call i32 @get_bits(ptr noundef nonnull %0, i32 noundef %32) %34 = shl i32 %33, 24 %35 = or disjoint i32 %34, %.0.i - br label %common.ret43 + br label %common.ret42 36: ; preds = %8 %37 = icmp eq i32 %4, 0 @@ -3299,9 +3299,9 @@ get_bits.exit: ; preds = %17, %.loopexit %48 = add nsw i32 %44, 8 store i32 %48, ptr %3, align 8, !tbaa !80 %49 = icmp slt i32 %48, %1 - br i1 %49, label %41, label %.loopexit33, !llvm.loop !86 + br i1 %49, label %41, label %.loopexit32, !llvm.loop !86 -.loopexit33: ; preds = %43, %6 +.loopexit32: ; preds = %43, %6 %50 = phi i32 [ %4, %6 ], [ %48, %43 ] %51 = getelementptr inbounds nuw i8, ptr %0, i64 1780 %52 = load i32, ptr %51, align 4, !tbaa !85 @@ -3312,11 +3312,11 @@ get_bits.exit: ; preds = %17, %.loopexit store i32 %55, ptr %51, align 4, !tbaa !85 %56 = sub nsw i32 %50, %1 store i32 %56, ptr %3, align 8, !tbaa !80 - br label %common.ret43 + br label %common.ret42 .critedge: ; preds = %41 store i32 -1, ptr %3, align 8, !tbaa !80 - br label %common.ret43 + br label %common.ret42 } ; Function Attrs: nofree nounwind uwtable @@ -3766,13 +3766,13 @@ define range(i32 0, 2) i32 @codebook_decode_deinterleave_repeat(ptr noundef capt %12 = getelementptr inbounds nuw i8, ptr %1, i64 25 %13 = load i8, ptr %12, align 1, !tbaa !90 %14 = icmp eq i8 %13, 0 - br i1 %14, label %25, label %.preheader129 + br i1 %14, label %25, label %.preheader128 -.preheader129: ; preds = %8 +.preheader128: ; preds = %8 %15 = icmp sgt i32 %7, 0 - br i1 %15, label %.lr.ph147, label %._crit_edge + br i1 %15, label %.lr.ph146, label %._crit_edge -.lr.ph147: ; preds = %.preheader129 +.lr.ph146: ; preds = %.preheader128 %16 = getelementptr inbounds nuw i8, ptr %0, i64 1784 %17 = getelementptr inbounds nuw i8, ptr %0, i64 1780 %18 = getelementptr inbounds nuw i8, ptr %0, i64 1764 @@ -3787,29 +3787,29 @@ define range(i32 0, 2) i32 @codebook_decode_deinterleave_repeat(ptr noundef capt 25: ; preds = %8 %26 = getelementptr inbounds nuw i8, ptr %0, i64 156 store i32 21, ptr %26, align 4 - br label %.thread121 + br label %.thread120 -27: ; preds = %.lr.ph147, %.loopexit - %.080146 = phi i32 [ %7, %.lr.ph147 ], [ %116, %.loopexit ] - %.082145 = phi i32 [ %9, %.lr.ph147 ], [ %.4, %.loopexit ] - %.087144 = phi i32 [ %11, %.lr.ph147 ], [ %.289, %.loopexit ] - %.094143 = phi i32 [ %10, %.lr.ph147 ], [ %.498, %.loopexit ] +27: ; preds = %.lr.ph146, %.loopexit + %.080145 = phi i32 [ %7, %.lr.ph147 ], [ %116, %.loopexit ] + %.082144 = phi i32 [ %9, %.lr.ph147 ], [ %.4, %.loopexit ] + %.087143 = phi i32 [ %11, %.lr.ph147 ], [ %.289, %.loopexit ] + %.094142 = phi i32 [ %10, %.lr.ph147 ], [ %.498, %.loopexit ] %28 = load i32, ptr %16, align 8, !tbaa !80 %29 = icmp slt i32 %28, 10 br i1 %29, label %30, label %prep_huffman.exit 30: ; preds = %27 %31 = icmp eq i32 %28, 0 - br i1 %31, label %32, label %.preheader168 + br i1 %31, label %32, label %.preheader167 32: ; preds = %30 store i32 0, ptr %17, align 4, !tbaa !85 - br label %.preheader168 + br label %.preheader167 -.preheader168: ; preds = %32, %30 +.preheader167: ; preds = %32, %30 br label %33 -33: ; preds = %.preheader168, %40 +33: ; preds = %.preheader167, %40 %34 = load i32, ptr %19, align 4, !tbaa !79 %.not.i = icmp eq i32 %34, 0 br i1 %.not.i, label %37, label %35 @@ -3858,48 +3858,48 @@ prep_huffman.exit: ; preds = %40, %37, %35, %27 %63 = icmp slt i32 %62, 0 %spec.select = tail call i32 @llvm.smax.i32(i32 %62, i32 0) store i32 %spec.select, ptr %16, align 8, !tbaa !80 - br i1 %63, label %.thread119, label %.thread + br i1 %63, label %.thread118, label %.thread 64: ; preds = %prep_huffman.exit %65 = tail call i32 @codebook_decode_scalar_raw(ptr noundef nonnull %0, ptr noundef nonnull %1) %66 = icmp sgt i32 %65, -1 - br i1 %66, label %.thread, label %.thread119 + br i1 %66, label %.thread, label %.thread118 -.thread119: ; preds = %53, %64 +.thread118: ; preds = %53, %64 %67 = load i8, ptr %18, align 4, !tbaa !82 - %.not110 = icmp eq i8 %67, 0 - br i1 %.not110, label %68, label %70 + %.not109 = icmp eq i8 %67, 0 + br i1 %.not109, label %68, label %70 -68: ; preds = %.thread119 +68: ; preds = %.thread118 %69 = load i32, ptr %19, align 4, !tbaa !79 - %.not111 = icmp eq i32 %69, 0 - br i1 %.not111, label %70, label %.thread121 + %.not110 = icmp eq i32 %69, 0 + br i1 %.not110, label %70, label %.thread120 -70: ; preds = %68, %.thread119 +70: ; preds = %68, %.thread118 %71 = getelementptr inbounds nuw i8, ptr %0, i64 156 store i32 21, ptr %71, align 4 - br label %.thread121 + br label %.thread120 .thread: ; preds = %53, %64 - %.191118 = phi i32 [ %65, %64 ], [ %54, %53 ] - %72 = mul nsw i32 %.094143, %3 - %73 = add i32 %.087144, %72 - %74 = add i32 %73, %.082145 + %.191117 = phi i32 [ %65, %64 ], [ %54, %53 ] + %72 = mul nsw i32 %.094142, %3 + %73 = add i32 %.087143, %72 + %74 = add i32 %73, %.082144 %75 = icmp sgt i32 %74, %22 %.neg = sub i32 %22, %72 - %76 = add i32 %.neg, %.082145 - %.289 = select i1 %75, i32 %76, i32 %.087144 + %76 = add i32 %.neg, %.082144 + %.289 = select i1 %75, i32 %76, i32 %.087143 %77 = load i32, ptr %1, align 8, !tbaa !91 - %78 = mul nsw i32 %77, %.191118 + %78 = mul nsw i32 %77, %.191117 %79 = load i8, ptr %23, align 2, !tbaa !92 %.not = icmp eq i8 %79, 0 %80 = icmp sgt i32 %.289, 0 - br i1 %.not, label %.preheader, label %.preheader127 + br i1 %.not, label %.preheader, label %.preheader126 -.preheader127: ; preds = %.thread +.preheader126: ; preds = %.thread br i1 %80, label %.lr.ph, label %.loopexit -.lr.ph: ; preds = %.preheader127 +.lr.ph: ; preds = %.preheader126 %81 = load ptr, ptr %24, align 8, !tbaa !93 %82 = sext i32 %78 to i64 %wide.trip.count = zext nneg i32 %.289 to i64 @@ -3907,29 +3907,29 @@ prep_huffman.exit: ; preds = %40, %37, %35, %27 br label %84 .preheader: ; preds = %.thread - br i1 %80, label %.lr.ph140.preheader, label %.loopexit + br i1 %80, label %.lr.ph139.preheader, label %.loopexit -.lr.ph140.preheader: ; preds = %.preheader +.lr.ph139.preheader: ; preds = %.preheader %83 = sext i32 %78 to i64 - %wide.trip.count155 = zext nneg i32 %.289 to i64 - br label %.lr.ph140 + %wide.trip.count154 = zext nneg i32 %.289 to i64 + br label %.lr.ph139 84: ; preds = %.lr.ph, %95 %indvars.iv = phi i64 [ 0, %.lr.ph ], [ %indvars.iv.next, %95 ] - %.284135 = phi i32 [ %.082145, %.lr.ph ], [ %spec.select114, %95 ] - %.085134 = phi float [ 0.000000e+00, %.lr.ph ], [ %86, %95 ] - %.296132 = phi i32 [ %.094143, %.lr.ph ], [ %spec.select113, %95 ] + %.284134 = phi i32 [ %.082144, %.lr.ph ], [ %spec.select113, %95 ] + %.085133 = phi float [ 0.000000e+00, %.lr.ph ], [ %86, %95 ] + %.296131 = phi i32 [ %.094142, %.lr.ph ], [ %spec.select112, %95 ] %gep = getelementptr float, ptr %invariant.gep, i64 %indvars.iv %85 = load float, ptr %gep, align 4, !tbaa !48 - %86 = fadd float %.085134, %85 - %87 = sext i32 %.284135 to i64 + %86 = fadd float %.085133, %85 + %87 = sext i32 %.284134 to i64 %88 = getelementptr inbounds ptr, ptr %2, i64 %87 %89 = load ptr, ptr %88, align 8, !tbaa !53 - %.not109 = icmp eq ptr %89, null - br i1 %.not109, label %95, label %90 + %.not108 = icmp eq ptr %89, null + br i1 %.not108, label %95, label %90 90: ; preds = %84 - %91 = sext i32 %.296132 to i64 + %91 = sext i32 %.296131 to i64 %92 = getelementptr inbounds float, ptr %89, i64 %91 %93 = load float, ptr %92, align 4, !tbaa !48 %94 = fadd float %86, %93 @@ -3937,63 +3937,63 @@ prep_huffman.exit: ; preds = %40, %37, %35, %27 br label %95 95: ; preds = %90, %84 - %96 = add nsw i32 %.284135, 1 + %96 = add nsw i32 %.284134, 1 %97 = icmp eq i32 %96, %3 %98 = zext i1 %97 to i32 - %spec.select113 = add nsw i32 %.296132, %98 - %spec.select114 = select i1 %97, i32 0, i32 %96 + %spec.select112 = add nsw i32 %.296131, %98 + %spec.select113 = select i1 %97, i32 0, i32 %96 %indvars.iv.next = add nuw nsw i64 %indvars.iv, 1 %exitcond.not = icmp eq i64 %indvars.iv.next, %wide.trip.count br i1 %exitcond.not, label %.loopexit, label %84, !llvm.loop !98 -.lr.ph140: ; preds = %.lr.ph140.preheader, %112 - %indvars.iv152 = phi i64 [ 0, %.lr.ph140.preheader ], [ %indvars.iv.next153, %112 ] - %.5139 = phi i32 [ %.082145, %.lr.ph140.preheader ], [ %spec.select116, %112 ] - %.599137 = phi i32 [ %.094143, %.lr.ph140.preheader ], [ %spec.select115, %112 ] - %99 = sext i32 %.5139 to i64 +.lr.ph139: ; preds = %.lr.ph139.preheader, %112 + %indvars.iv151 = phi i64 [ 0, %.lr.ph140.preheader ], [ %indvars.iv.next152, %112 ] + %.5138 = phi i32 [ %.082144, %.lr.ph140.preheader ], [ %spec.select115, %112 ] + %.599136 = phi i32 [ %.094142, %.lr.ph140.preheader ], [ %spec.select114, %112 ] + %99 = sext i32 %.5138 to i64 %100 = getelementptr inbounds ptr, ptr %2, i64 %99 %101 = load ptr, ptr %100, align 8, !tbaa !53 - %.not108 = icmp eq ptr %101, null - br i1 %.not108, label %112, label %102 + %.not107 = icmp eq ptr %101, null + br i1 %.not107, label %112, label %102 -102: ; preds = %.lr.ph140 +102: ; preds = %.lr.ph139 %103 = load ptr, ptr %24, align 8, !tbaa !93 - %104 = getelementptr float, ptr %103, i64 %indvars.iv152 + %104 = getelementptr float, ptr %103, i64 %indvars.iv151 %105 = getelementptr float, ptr %104, i64 %83 %106 = load float, ptr %105, align 4, !tbaa !48 %107 = fadd float %106, 0.000000e+00 - %108 = sext i32 %.599137 to i64 + %108 = sext i32 %.599136 to i64 %109 = getelementptr inbounds float, ptr %101, i64 %108 %110 = load float, ptr %109, align 4, !tbaa !48 %111 = fadd float %110, %107 store float %111, ptr %109, align 4, !tbaa !48 br label %112 -112: ; preds = %102, %.lr.ph140 - %113 = add nsw i32 %.5139, 1 +112: ; preds = %102, %.lr.ph139 + %113 = add nsw i32 %.5138, 1 %114 = icmp eq i32 %113, %3 %115 = zext i1 %114 to i32 - %spec.select115 = add nsw i32 %.599137, %115 - %spec.select116 = select i1 %114, i32 0, i32 %113 - %indvars.iv.next153 = add nuw nsw i64 %indvars.iv152, 1 - %exitcond156.not = icmp eq i64 %indvars.iv.next153, %wide.trip.count155 - br i1 %exitcond156.not, label %.loopexit, label %.lr.ph140, !llvm.loop !99 - -.loopexit: ; preds = %95, %112, %.preheader127, %.preheader - %.498 = phi i32 [ %.094143, %.preheader ], [ %.094143, %.preheader127 ], [ %spec.select115, %112 ], [ %spec.select113, %95 ] - %.4 = phi i32 [ %.082145, %.preheader ], [ %.082145, %.preheader127 ], [ %spec.select116, %112 ], [ %spec.select114, %95 ] - %116 = sub nsw i32 %.080146, %.289 + %spec.select114 = add nsw i32 %.599136, %115 + %spec.select115 = select i1 %114, i32 0, i32 %113 + %indvars.iv.next152 = add nuw nsw i64 %indvars.iv151, 1 + %exitcond155.not = icmp eq i64 %indvars.iv.next152, %wide.trip.count154 + br i1 %exitcond155.not, label %.loopexit, label %.lr.ph139, !llvm.loop !99 + +.loopexit: ; preds = %95, %112, %.preheader126, %.preheader + %.498 = phi i32 [ %.094142, %.preheader ], [ %.094142, %.preheader127 ], [ %spec.select114, %112 ], [ %spec.select112, %95 ] + %.4 = phi i32 [ %.082144, %.preheader ], [ %.082144, %.preheader127 ], [ %spec.select115, %112 ], [ %spec.select113, %95 ] + %116 = sub nsw i32 %.080145, %.289 %117 = icmp sgt i32 %116, 0 br i1 %117, label %27, label %._crit_edge, !llvm.loop !100 -._crit_edge: ; preds = %.loopexit, %.preheader129 +._crit_edge: ; preds = %.loopexit, %.preheader128 %.094.lcssa = phi i32 [ %10, %.preheader129 ], [ %.498, %.loopexit ] %.082.lcssa = phi i32 [ %9, %.preheader129 ], [ %.4, %.loopexit ] store i32 %.082.lcssa, ptr %4, align 4, !tbaa !21 store i32 %.094.lcssa, ptr %5, align 4, !tbaa !21 - br label %.thread121 + br label %.thread120 -.thread121: ; preds = %68, %70, %._crit_edge, %25 +.thread120: ; preds = %68, %70, %._crit_edge, %25 %.0 = phi i32 [ 0, %25 ], [ 1, %._crit_edge ], [ 0, %70 ], [ 0, %68 ] ret i32 %.0 } @@ -8715,7 +8715,7 @@ get_bits.exit66: ; preds = %173, %.get_bits.exi %184 = add nsw i32 %181, -1 store i32 %184, ptr %11, align 8, !tbaa !80 %185 = icmp eq i32 %184, 0 - br i1 %185, label %.lr.ph.i69, label %.loopexit33.i67 + br i1 %185, label %.lr.ph.i69, label %.loopexit32.i67 .lr.ph.i69: ; preds = %get_bits.exit66 store i32 0, ptr %12, align 4, !tbaa !85 @@ -8735,9 +8735,9 @@ get_bits.exit66: ; preds = %173, %.get_bits.exi %193 = add nsw i32 %189, 8 store i32 %193, ptr %11, align 8, !tbaa !80 %194 = icmp slt i32 %189, -7 - br i1 %194, label %186, label %.loopexit33.i67, !llvm.loop !86 + br i1 %194, label %186, label %.loopexit32.i67, !llvm.loop !86 -.loopexit33.i67: ; preds = %188, %get_bits.exit66 +.loopexit32.i67: ; preds = %188, %get_bits.exit66 %195 = phi i32 [ %183, %get_bits.exit66 ], [ %192, %188 ] %196 = phi i32 [ %184, %get_bits.exit66 ], [ %193, %188 ] %197 = and i32 %195, 1 @@ -8758,7 +8758,7 @@ get_bits.exit66: ; preds = %173, %.get_bits.exi %203 = ashr i32 %202, 1 br label %216 -204: ; preds = %.critedge.i71, %.loopexit33.i67, %164, %.critedge.i65 +204: ; preds = %.critedge.i71, %.loopexit32.i67, %164, %.critedge.i65 %common.ret.op.i6278 = phi i32 [ %182, %.loopexit33.i67 ], [ %182, %.critedge.i71 ], [ 0, %164 ], [ 0, %.critedge.i65 ] %common.ret.op.i68 = phi i1 [ %200, %.loopexit33.i67 ], [ false, %.critedge.i71 ], [ false, %164 ], [ false, %.critedge.i65 ] %205 = icmp ne i32 %common.ret.op.i6278, 0 diff --git a/bench/tokenizers-rs/optimized/1k9vblvd5jyd3qmf.ll b/bench/tokenizers-rs/optimized/1k9vblvd5jyd3qmf.ll index dc45dc39912..c630acbb357 100644 --- a/bench/tokenizers-rs/optimized/1k9vblvd5jyd3qmf.ll +++ b/bench/tokenizers-rs/optimized/1k9vblvd5jyd3qmf.ll @@ -16772,8 +16772,8 @@ define void @_ZN10tokenizers6models7unigram7trainer14UnigramTrainer8do_train17hc %.val = load i8, ptr %139, align 8, !range !123, !noundef !15 tail call void @llvm.experimental.noalias.scope.decl(metadata !3098) %140 = trunc nuw i8 %.val to i1 - %.sink869.sroa.gep = getelementptr inbounds nuw i8, ptr %83, i64 16 - %.sink869.sroa.gep1151 = getelementptr inbounds nuw i8, ptr %101, i64 16 + %.sink867.sroa.gep = getelementptr inbounds nuw i8, ptr %83, i64 16 + %.sink867.sroa.gep1149 = getelementptr inbounds nuw i8, ptr %101, i64 16 br i1 %140, label %142, label %_ZN10tokenizers6models7unigram7trainer14UnigramTrainer14setup_progress17hc62790f2445ab678E.exit.thread _ZN10tokenizers6models7unigram7trainer14UnigramTrainer14setup_progress17hc62790f2445ab678E.exit.thread: ; preds = %4 @@ -16843,7 +16843,7 @@ _ZN10tokenizers6models7unigram7trainer14UnigramTrainer14setup_progress17hc62790f invoke void @"_ZN4core3ptr79drop_in_place$LT$alloc..vec..Vec$LT$$LP$alloc..string..String$C$u32$RP$$GT$$GT$17h47d1cdc450f7b408E"(ptr noalias noundef nonnull align 8 dereferenceable(24) %2) #29 to label %1393 unwind label %1374 -158: ; preds = %.invoke870, %142 +158: ; preds = %.invoke868, %142 %159 = landingpad { ptr, i32 } cleanup br label %.body @@ -16947,7 +16947,7 @@ _ZN10tokenizers6models7unigram7trainer14UnigramTrainer14setup_progress17hc62790f %194 = getelementptr inbounds nuw i8, ptr %101, i64 8 %195 = load i64, ptr %194, align 8, !range !14, !alias.scope !3126, !noalias !3122, !noundef !15 %196 = icmp eq i64 %195, 0 - br i1 %196, label %.invoke, label %.invoke867 + br i1 %196, label %.invoke, label %.invoke865 .invoke: ; preds = %193, %234 invoke void @_ZN5alloc7raw_vec17capacity_overflow17h7ec064f2e7244a51E() #31 @@ -16956,14 +16956,14 @@ _ZN10tokenizers6models7unigram7trainer14UnigramTrainer14setup_progress17hc62790f .cont: ; preds = %.invoke unreachable -.invoke867: ; preds = %193, %234 - %.sink869.sroa.phi = phi ptr [ %.sink869.sroa.gep, %234 ], [ %.sink869.sroa.gep1151, %193 ] +.invoke865: ; preds = %193, %234 + %.sink867.sroa.phi = phi ptr [ %.sink867.sroa.gep, %234 ], [ %.sink867.sroa.gep1149, %193 ] %197 = phi i64 [ %236, %234 ], [ %195, %193 ] - %198 = load i64, ptr %.sink869.sroa.phi, align 8, !noalias !15 + %198 = load i64, ptr %.sink867.sroa.phi, align 8, !noalias !15 invoke void @_ZN5alloc5alloc18handle_alloc_error17h59557ef4a43cd5a6E(i64 noundef %197, i64 noundef %198) #31 to label %.cont868 unwind label %.loopexit.split-lp368 -.cont868: ; preds = %.invoke867 +.cont866: ; preds = %.invoke865 unreachable .body199: ; preds = %.loopexit367, %.loopexit.split-lp368, %777, %.thread333, %665, %245, %209, %1392 @@ -16976,7 +16976,7 @@ _ZN10tokenizers6models7unigram7trainer14UnigramTrainer14setup_progress17hc62790f cleanup br label %.body199 -.loopexit.split-lp368: ; preds = %.invoke867, %.invoke, %590, %607, %185, %"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4fold17h214beebe6280ededE.exit.i", %435, %599, %.noexc217, %.noexc218, %639, %.noexc222, %.noexc223, %_ZN3std4hash6random11RandomState3new4KEYS7__getit17h2e060df0334ea3a6E.exit.i.i.i.i, %658, %1380, %.noexc306, %.noexc307 +.loopexit.split-lp368: ; preds = %.invoke865, %.invoke, %590, %607, %185, %"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4fold17h214beebe6280ededE.exit.i", %435, %599, %.noexc217, %.noexc218, %639, %.noexc222, %.noexc223, %_ZN3std4hash6random11RandomState3new4KEYS7__getit17h2e060df0334ea3a6E.exit.i.i.i.i, %658, %1380, %.noexc306, %.noexc307 %lpad.loopexit.split-lp370 = landingpad { ptr, i32 } cleanup br label %.body199 @@ -17085,7 +17085,7 @@ _ZN10tokenizers6models7unigram7trainer14UnigramTrainer14setup_progress17hc62790f %235 = getelementptr inbounds nuw i8, ptr %83, i64 8 %236 = load i64, ptr %235, align 8, !range !14, !alias.scope !3145, !noalias !3138, !noundef !15 %237 = icmp eq i64 %236, 0 - br i1 %237, label %.invoke, label %.invoke867 + br i1 %237, label %.invoke, label %.invoke865 _ZN5alloc7raw_vec14handle_reserve17h2d131f4fccf45d0bE.llvm.787574339177529159.exit.i: ; preds = %.noexc210 %238 = getelementptr inbounds nuw i8, ptr %83, i64 16 @@ -17425,9 +17425,9 @@ _ZN3std4hash6random11RandomState3new4KEYS7__getit17h2e060df0334ea3a6E.exit.i.i: %.sroa.0113.i.1.i.1.i.1..sroa_idx = getelementptr inbounds nuw i8, ptr %.sroa.0113.i, i64 1 %.sroa.0113.i.2.i.2.i.2..sroa_idx = getelementptr inbounds nuw i8, ptr %.sroa.0113.i, i64 2 %.sroa.0113.i.3.i.3.i.3..sroa_idx = getelementptr inbounds nuw i8, ptr %.sroa.0113.i, i64 3 - %.sroa.0113.i.1.i.1.i.1..sroa_idx1152 = getelementptr inbounds nuw i8, ptr %.sroa.0113.i, i64 1 - %.sroa.0113.i.2.i.2.i.2..sroa_idx1154 = getelementptr inbounds nuw i8, ptr %.sroa.0113.i, i64 2 - %.sroa.0113.i.1.i.1.i.1..sroa_idx1153 = getelementptr inbounds nuw i8, ptr %.sroa.0113.i, i64 1 + %.sroa.0113.i.1.i.1.i.1..sroa_idx1150 = getelementptr inbounds nuw i8, ptr %.sroa.0113.i, i64 1 + %.sroa.0113.i.2.i.2.i.2..sroa_idx1152 = getelementptr inbounds nuw i8, ptr %.sroa.0113.i, i64 2 + %.sroa.0113.i.1.i.1.i.1..sroa_idx1151 = getelementptr inbounds nuw i8, ptr %.sroa.0113.i, i64 1 br label %324 .loopexit91.i: ; preds = %447 @@ -17484,7 +17484,7 @@ _ZN3std4hash6random11RandomState3new4KEYS7__getit17h2e060df0334ea3a6E.exit.i.i: %341 = trunc i32 %329 to i8 %342 = and i8 %341, 63 %343 = or disjoint i8 %342, -128 - store i8 %343, ptr %.sroa.0113.i.1.i.1.i.1..sroa_idx1153, align 1, !alias.scope !3214, !noalias !3138 + store i8 %343, ptr %.sroa.0113.i.1.i.1.i.1..sroa_idx1151, align 1, !alias.scope !3214, !noalias !3138 br label %447 344: ; preds = %333 @@ -17496,11 +17496,11 @@ _ZN3std4hash6random11RandomState3new4KEYS7__getit17h2e060df0334ea3a6E.exit.i.i: %349 = trunc i32 %348 to i8 %350 = and i8 %349, 63 %351 = or disjoint i8 %350, -128 - store i8 %351, ptr %.sroa.0113.i.1.i.1.i.1..sroa_idx1152, align 1, !alias.scope !3214, !noalias !3138 + store i8 %351, ptr %.sroa.0113.i.1.i.1.i.1..sroa_idx1150, align 1, !alias.scope !3214, !noalias !3138 %352 = trunc i32 %329 to i8 %353 = and i8 %352, 63 %354 = or disjoint i8 %353, -128 - store i8 %354, ptr %.sroa.0113.i.2.i.2.i.2..sroa_idx1154, align 2, !alias.scope !3214, !noalias !3138 + store i8 %354, ptr %.sroa.0113.i.2.i.2.i.2..sroa_idx1152, align 2, !alias.scope !3214, !noalias !3138 br label %447 355: ; preds = %333 @@ -19826,9 +19826,9 @@ _ZN5alloc7raw_vec14handle_reserve17he7602332f1c1effcE.exit.i.i: ; preds = %.noex call void @llvm.lifetime.end.p0(ptr nonnull %137) %1216 = load ptr, ptr %138, align 8, !alias.scope !3590, !noundef !15 %1217 = icmp eq ptr %1216, null - br i1 %1217, label %"_ZN4core3ptr85drop_in_place$LT$core..option..Option$LT$indicatif..progress_bar..ProgressBar$GT$$GT$17h9640eb6bfce93946E.exit310", label %.invoke870 + br i1 %1217, label %"_ZN4core3ptr85drop_in_place$LT$core..option..Option$LT$indicatif..progress_bar..ProgressBar$GT$$GT$17h9640eb6bfce93946E.exit310", label %.invoke868 -"_ZN4core3ptr85drop_in_place$LT$core..option..Option$LT$indicatif..progress_bar..ProgressBar$GT$$GT$17h9640eb6bfce93946E.exit310": ; preds = %.invoke870, %1215, %1389 +"_ZN4core3ptr85drop_in_place$LT$core..option..Option$LT$indicatif..progress_bar..ProgressBar$GT$$GT$17h9640eb6bfce93946E.exit310": ; preds = %.invoke868, %1215, %1389 call void @llvm.lifetime.end.p0(ptr nonnull %138) call void @"_ZN4core3ptr79drop_in_place$LT$alloc..vec..Vec$LT$$LP$alloc..string..String$C$u32$RP$$GT$$GT$17h47d1cdc450f7b408E"(ptr noalias noundef nonnull align 8 dereferenceable(24) %2) ret void @@ -20485,9 +20485,9 @@ _ZN5alloc7raw_vec14handle_reserve17he7602332f1c1effcE.exit.i.i: ; preds = %.noex call void @llvm.lifetime.end.p0(ptr nonnull %137) %1390 = load ptr, ptr %138, align 8, !alias.scope !3698, !noundef !15 %1391 = icmp eq ptr %1390, null - br i1 %1391, label %"_ZN4core3ptr85drop_in_place$LT$core..option..Option$LT$indicatif..progress_bar..ProgressBar$GT$$GT$17h9640eb6bfce93946E.exit310", label %.invoke870 + br i1 %1391, label %"_ZN4core3ptr85drop_in_place$LT$core..option..Option$LT$indicatif..progress_bar..ProgressBar$GT$$GT$17h9640eb6bfce93946E.exit310", label %.invoke868 -.invoke870: ; preds = %1389, %1215 +.invoke868: ; preds = %1389, %1215 invoke void @"_ZN4core3ptr57drop_in_place$LT$indicatif..progress_bar..ProgressBar$GT$17h0e7c7b9123c0a497E"(ptr noalias noundef nonnull align 8 dereferenceable(24) %138) to label %"_ZN4core3ptr85drop_in_place$LT$core..option..Option$LT$indicatif..progress_bar..ProgressBar$GT$$GT$17h9640eb6bfce93946E.exit310" unwind label %158 diff --git a/bench/verilator/optimized/V3Options.ll b/bench/verilator/optimized/V3Options.ll index 25d87af849f..71ef2e6abbf 100644 --- a/bench/verilator/optimized/V3Options.ll +++ b/bench/verilator/optimized/V3Options.ll @@ -11878,35 +11878,35 @@ define linkonce_odr dso_local void @_ZN4V3Os12filenameJoinIJNSt7__cxx1112basic_s call void @llvm.lifetime.start.p0(ptr nonnull %4) store i64 %27, ptr %4, align 8, !tbaa !43 %28 = icmp ugt i64 %27, 15 - br i1 %28, label %.noexc.i9, label %._crit_edge.i.i8 + br i1 %28, label %.noexc.i6, label %._crit_edge.i.i5 -.noexc.i9: ; preds = %18 +.noexc.i6: ; preds = %18 %29 = invoke noundef ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_createERmm(ptr noundef nonnull align 8 dereferenceable(32) %23, ptr noundef nonnull align 8 dereferenceable(8) %4, i64 noundef 0) to label %.noexc10 unwind label %55 -.noexc10: ; preds = %.noexc.i9 +.noexc7: ; preds = %.noexc.i6 store ptr %29, ptr %23, align 8, !tbaa !20 %30 = load i64, ptr %4, align 8, !tbaa !43 store i64 %30, ptr %24, align 8, !tbaa !25 - br label %._crit_edge.i.i8 + br label %._crit_edge.i.i5 -._crit_edge.i.i8: ; preds = %.noexc10, %18 +._crit_edge.i.i5: ; preds = %.noexc7, %18 %31 = phi ptr [ %29, %.noexc10 ], [ %24, %18 ] switch i64 %27, label %34 [ i64 1, label %32 i64 0, label %35 ] -32: ; preds = %._crit_edge.i.i8 +32: ; preds = %._crit_edge.i.i5 %33 = load i8, ptr %25, align 1, !tbaa !25 store i8 %33, ptr %31, align 1, !tbaa !25 br label %35 -34: ; preds = %._crit_edge.i.i8 +34: ; preds = %._crit_edge.i.i5 call void @llvm.memcpy.p0.p0.i64(ptr align 1 %31, ptr align 1 %25, i64 %27, i1 false) br label %35 -35: ; preds = %34, %32, %._crit_edge.i.i8 +35: ; preds = %34, %32, %._crit_edge.i.i5 %36 = load i64, ptr %4, align 8, !tbaa !43 %37 = getelementptr inbounds nuw i8, ptr %6, i64 40 store i64 %36, ptr %37, align 8, !tbaa !24 @@ -11950,22 +11950,22 @@ _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit: ; preds = %_ZNKS call void @llvm.lifetime.end.p0(ptr nonnull %6) ret void -55: ; preds = %.noexc.i9 +55: ; preds = %.noexc.i6 %56 = landingpad { ptr, i32 } cleanup %57 = load ptr, ptr %6, align 8, !tbaa !20 %58 = getelementptr inbounds nuw i8, ptr %6, i64 16 %59 = icmp eq ptr %57, %58 - br i1 %59, label %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i13, label %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i12 + br i1 %59, label %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i10, label %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i9 -_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i13: ; preds = %55 +_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i10: ; preds = %55 %60 = getelementptr inbounds nuw i8, ptr %6, i64 8 %61 = load i64, ptr %60, align 8, !tbaa !24 %62 = icmp ult i64 %61, 16 call void @llvm.assume(i1 %62) br label %.loopexit -_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i12: ; preds = %55 +_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i9: ; preds = %55 %63 = load i64, ptr %58, align 8, !tbaa !25 %64 = add i64 %63, 1 call void @_ZdlPvm(ptr noundef %57, i64 noundef %64) #42 @@ -11977,32 +11977,32 @@ _ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i12 %67 = getelementptr inbounds nuw i8, ptr %6, i64 64 br label %68 -68: ; preds = %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit17, %65 +68: ; preds = %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit14, %65 %69 = phi ptr [ %67, %65 ], [ %70, %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit17 ] %70 = getelementptr inbounds i8, ptr %69, i64 -32 %71 = load ptr, ptr %70, align 8, !tbaa !20 %72 = getelementptr inbounds i8, ptr %69, i64 -16 %73 = icmp eq ptr %71, %72 - br i1 %73, label %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i16, label %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i15 + br i1 %73, label %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i13, label %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i12 -_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i16: ; preds = %68 +_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i13: ; preds = %68 %74 = getelementptr inbounds i8, ptr %69, i64 -24 %75 = load i64, ptr %74, align 8, !tbaa !24 %76 = icmp ult i64 %75, 16 call void @llvm.assume(i1 %76) - br label %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit17 + br label %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit14 -_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i15: ; preds = %68 +_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i12: ; preds = %68 %77 = load i64, ptr %72, align 8, !tbaa !25 %78 = add i64 %77, 1 call void @_ZdlPvm(ptr noundef %71, i64 noundef %78) #42 - br label %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit17 + br label %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit14 -_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit17: ; preds = %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i16, %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i15 +_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit14: ; preds = %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i13, %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i12 %79 = icmp eq ptr %70, %6 br i1 %79, label %.loopexit, label %68 -.loopexit: ; preds = %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit17, %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i12, %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i13 +.loopexit: ; preds = %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit14, %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i9, %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i10 %.pn = phi { ptr, i32 } [ %56, %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i13 ], [ %56, %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i12 ], [ %66, %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit17 ] call void @llvm.lifetime.end.p0(ptr nonnull %6) resume { ptr, i32 } %.pn diff --git a/bench/yalantinglibs/optimized/basic_usage.ll b/bench/yalantinglibs/optimized/basic_usage.ll index 6dae6d28eec..b5647bc55cd 100644 --- a/bench/yalantinglibs/optimized/basic_usage.ll +++ b/bench/yalantinglibs/optimized/basic_usage.ll @@ -215,9 +215,9 @@ if.else.i.i: ; preds = %.noexc547 %cmp3.i.i = icmp ult i64 %0, 65536 %cmp12.i.i = icmp ult i64 %0, 4294967296 %. = select i1 %cmp12.i.i, i64 8, i64 12 - %.1329 = select i1 %cmp12.i.i, i8 16, i8 24 + %.1325 = select i1 %cmp12.i.i, i8 16, i8 24 %.sink = select i1 %cmp3.i.i, i64 6, i64 %. - %retval.i.i.sroa.10.1 = select i1 %cmp3.i.i, i8 8, i8 %.1329 + %retval.i.i.sroa.10.1 = select i1 %cmp3.i.i, i8 8, i8 %.1325 %add17.i.i = add i64 %0, %.sink %add31.i.i = add i64 %add17.i.i, 1 br label %_ZN11struct_pack6detail26get_serialize_runtime_infoILm0EJ6personEEENS_21serialize_buffer_sizeEDpRKT0_.exit.i @@ -343,11 +343,11 @@ if.then.i468: ; preds = %.noexc472 if.else.i440: ; preds = %.noexc472 %cmp3.i442 = icmp ult i64 %11, 65536 %cmp12.i445 = icmp ult i64 %11, 4294967296 - %.1330 = select i1 %cmp12.i445, i64 8, i64 12 - %.1331 = select i1 %cmp12.i445, i8 16, i8 24 - %.sink1308 = select i1 %cmp3.i442, i64 6, i64 %.1330 - %retval.i430.sroa.10.1 = select i1 %cmp3.i442, i8 8, i8 %.1331 - %add17.i459 = add i64 %11, %.sink1308 + %.1326 = select i1 %cmp12.i445, i64 8, i64 12 + %.1327 = select i1 %cmp12.i445, i8 16, i8 24 + %.sink1304 = select i1 %cmp3.i442, i64 6, i64 %.1326 + %retval.i430.sroa.10.1 = select i1 %cmp3.i442, i8 8, i8 %.1327 + %add17.i459 = add i64 %11, %.sink1304 %add31.i454 = add i64 %add17.i459, 1 br label %_ZN11struct_pack6detail26get_serialize_runtime_infoILm0EJ6personEEENS_21serialize_buffer_sizeEDpRKT0_.exit473 @@ -560,11 +560,11 @@ if.then.i424: ; preds = %.noexc428 if.else.i396: ; preds = %.noexc428 %cmp3.i398 = icmp ult i64 %29, 65536 %cmp12.i401 = icmp ult i64 %29, 4294967296 - %.1332 = select i1 %cmp12.i401, i64 8, i64 12 - %.1333 = select i1 %cmp12.i401, i8 16, i8 24 - %.sink1312 = select i1 %cmp3.i398, i64 6, i64 %.1332 - %retval.i386.sroa.10.1 = select i1 %cmp3.i398, i8 8, i8 %.1333 - %add17.i415 = add i64 %29, %.sink1312 + %.1328 = select i1 %cmp12.i401, i64 8, i64 12 + %.1329 = select i1 %cmp12.i401, i8 16, i8 24 + %.sink1308 = select i1 %cmp3.i398, i64 6, i64 %.1328 + %retval.i386.sroa.10.1 = select i1 %cmp3.i398, i8 8, i8 %.1329 + %add17.i415 = add i64 %29, %.sink1308 %add31.i410 = add i64 %add17.i415, 1 br label %_ZN11struct_pack6detail26get_serialize_runtime_infoILm0EJ6personEEENS_21serialize_buffer_sizeEDpRKT0_.exit429 @@ -776,11 +776,11 @@ if.then.i.i717: ; preds = %.noexc721 if.else.i.i684: ; preds = %.noexc721 %cmp3.i.i686 = icmp ult i64 %47, 65536 %cmp12.i.i689 = icmp ult i64 %47, 4294967296 - %.1334 = select i1 %cmp12.i.i689, i64 8, i64 12 - %.1335 = select i1 %cmp12.i.i689, i8 16, i8 24 - %.sink1316 = select i1 %cmp3.i.i686, i64 6, i64 %.1334 - %retval.i.i669.sroa.10.1 = select i1 %cmp3.i.i686, i8 8, i8 %.1335 - %add17.i.i708 = add i64 %47, %.sink1316 + %.1330 = select i1 %cmp12.i.i689, i64 8, i64 12 + %.1331 = select i1 %cmp12.i.i689, i8 16, i8 24 + %.sink1312 = select i1 %cmp3.i.i686, i64 6, i64 %.1330 + %retval.i.i669.sroa.10.1 = select i1 %cmp3.i.i686, i8 8, i8 %.1331 + %add17.i.i708 = add i64 %47, %.sink1312 %add31.i.i698 = add i64 %add17.i.i708, 1 br label %_ZN11struct_pack6detail26get_serialize_runtime_infoILm0EJ6personEEENS_21serialize_buffer_sizeEDpRKT0_.exit.i699 @@ -896,11 +896,11 @@ if.then.i.i601: ; preds = %.noexc605 if.else.i.i568: ; preds = %.noexc605 %cmp3.i.i570 = icmp ult i64 %55, 65536 %cmp12.i.i573 = icmp ult i64 %55, 4294967296 - %.1336 = select i1 %cmp12.i.i573, i64 8, i64 12 - %.1337 = select i1 %cmp12.i.i573, i8 16, i8 24 - %.sink1318 = select i1 %cmp3.i.i570, i64 6, i64 %.1336 - %retval.i.i551.sroa.10.1 = select i1 %cmp3.i.i570, i8 8, i8 %.1337 - %add17.i.i592 = add i64 %55, %.sink1318 + %.1332 = select i1 %cmp12.i.i573, i64 8, i64 12 + %.1333 = select i1 %cmp12.i.i573, i8 16, i8 24 + %.sink1314 = select i1 %cmp3.i.i570, i64 6, i64 %.1332 + %retval.i.i551.sroa.10.1 = select i1 %cmp3.i.i570, i8 8, i8 %.1333 + %add17.i.i592 = add i64 %55, %.sink1314 %add31.i.i582 = add i64 %add17.i.i592, 1 br label %_ZN11struct_pack6detail26get_serialize_runtime_infoILm0EJ6personEEENS_21serialize_buffer_sizeEDpRKT0_.exit.i583 @@ -1036,11 +1036,11 @@ if.then.i890: ; preds = %.noexc894 if.else.i862: ; preds = %.noexc894 %cmp5.i864 = icmp ult i64 %64, 65536 %cmp14.i867 = icmp ult i64 %64, 4294967296 - %.1338 = select i1 %cmp14.i867, i64 8, i64 12 - %.1339 = select i1 %cmp14.i867, i8 16, i8 24 - %.sink1320 = select i1 %cmp5.i864, i64 6, i64 %.1338 - %retval.i851.sroa.10.1 = select i1 %cmp5.i864, i8 8, i8 %.1339 - %add19.i881 = add i64 %64, %.sink1320 + %.1334 = select i1 %cmp14.i867, i64 8, i64 12 + %.1335 = select i1 %cmp14.i867, i8 16, i8 24 + %.sink1316 = select i1 %cmp5.i864, i64 6, i64 %.1334 + %retval.i851.sroa.10.1 = select i1 %cmp5.i864, i8 8, i8 %.1335 + %add19.i881 = add i64 %64, %.sink1316 %add33.i876 = add i64 %add19.i881, 1 br label %_ZN11struct_pack6detail26get_serialize_runtime_infoILm0EJiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEENS_21serialize_buffer_sizeEDpRKT0_.exit895 @@ -1173,11 +1173,11 @@ if.then.i339: ; preds = %.noexc341 if.else.i: ; preds = %.noexc341 %cmp3.i = icmp ult i64 %75, 65536 %cmp12.i = icmp ult i64 %75, 4294967296 - %.1340 = select i1 %cmp12.i, i64 8, i64 12 - %.1341 = select i1 %cmp12.i, i8 16, i8 24 - %.sink1322 = select i1 %cmp3.i, i64 6, i64 %.1340 - %retval.i336.sroa.10.1 = select i1 %cmp3.i, i8 8, i8 %.1341 - %add17.i = add i64 %75, %.sink1322 + %.1336 = select i1 %cmp12.i, i64 8, i64 12 + %.1337 = select i1 %cmp12.i, i8 16, i8 24 + %.sink1318 = select i1 %cmp3.i, i64 6, i64 %.1336 + %retval.i336.sroa.10.1 = select i1 %cmp3.i, i8 8, i8 %.1337 + %add17.i = add i64 %75, %.sink1318 %add31.i = add i64 %add17.i, 1 br label %_ZN11struct_pack6detail26get_serialize_runtime_infoILm0EJ6personEEENS_21serialize_buffer_sizeEDpRKT0_.exit @@ -1208,11 +1208,11 @@ if.then.i.i660: ; preds = %.noexc664 if.else.i.i627: ; preds = %.noexc664 %cmp3.i.i629 = icmp ult i64 %78, 65536 %cmp12.i.i632 = icmp ult i64 %78, 4294967296 - %.1342 = select i1 %cmp12.i.i632, i64 8, i64 12 - %.1343 = select i1 %cmp12.i.i632, i8 16, i8 24 - %.sink1323 = select i1 %cmp3.i.i629, i64 6, i64 %.1342 - %retval.i.i610.sroa.10.1 = select i1 %cmp3.i.i629, i8 8, i8 %.1343 - %add17.i.i651 = add i64 %78, %.sink1323 + %.1338 = select i1 %cmp12.i.i632, i64 8, i64 12 + %.1339 = select i1 %cmp12.i.i632, i8 16, i8 24 + %.sink1319 = select i1 %cmp3.i.i629, i64 6, i64 %.1338 + %retval.i.i610.sroa.10.1 = select i1 %cmp3.i.i629, i8 8, i8 %.1339 + %add17.i.i651 = add i64 %78, %.sink1319 %add31.i.i641 = add i64 %add17.i.i651, 1 br label %_ZN11struct_pack6detail26get_serialize_runtime_infoILm0EJ6personEEENS_21serialize_buffer_sizeEDpRKT0_.exit.i642 @@ -1373,8 +1373,8 @@ _ZN11struct_pack11deserializeIJ6personETkNS_6detail16deserialize_viewESt6vectorI call void @_ZNSaIcED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %name.i.i.i.i.i.i.i) #22 store i32 %call3.i246247, ptr %ret.i, align 8 store i8 0, ptr %m_has_val.i.i.i.i.i.i.i, align 8 - %m_has_val.i.i.i.i.i.i.i6021291 = getelementptr inbounds nuw i8, ptr %p248, i64 40 - store i8 0, ptr %m_has_val.i.i.i.i.i.i.i6021291, align 8 + %m_has_val.i.i.i.i.i.i.i6021287 = getelementptr inbounds nuw i8, ptr %p248, i64 40 + store i8 0, ptr %m_has_val.i.i.i.i.i.i.i6021287, align 8 br label %if.else.i.i.i.i lpad.i233.body: ; preds = %invoke.cont.i237 @@ -1426,17 +1426,17 @@ _ZN2tl6detail24expected_operations_baseI6personN11struct_pack4errcEE14construct_ br label %_ZN2tl8expectedI6personN11struct_pack4errcEEC2EOS4_.exit if.else.i.i.i.i: ; preds = %_ZN11struct_pack11deserializeIJ6personETkNS_6detail16deserialize_viewESt6vectorIcSaIcEEEEDaRKT0_.exit.thread, %_ZN11struct_pack11deserializeIJ6personETkNS_6detail16deserialize_viewESt6vectorIcSaIcEEEEDaRKT0_.exit - %m_has_val.i.i.i.i.i.i.i6021294 = phi ptr [ %m_has_val.i.i.i.i.i.i.i6021291, %_ZN11struct_pack11deserializeIJ6personETkNS_6detail16deserialize_viewESt6vectorIcSaIcEEEEDaRKT0_.exit.thread ], [ %m_has_val.i.i.i.i.i.i.i602, %_ZN11struct_pack11deserializeIJ6personETkNS_6detail16deserialize_viewESt6vectorIcSaIcEEEEDaRKT0_.exit ] + %m_has_val.i.i.i.i.i.i.i6021290 = phi ptr [ %m_has_val.i.i.i.i.i.i.i6021287, %_ZN11struct_pack11deserializeIJ6personETkNS_6detail16deserialize_viewESt6vectorIcSaIcEEEEDaRKT0_.exit.thread ], [ %m_has_val.i.i.i.i.i.i.i602, %_ZN11struct_pack11deserializeIJ6personETkNS_6detail16deserialize_viewESt6vectorIcSaIcEEEEDaRKT0_.exit ] %99 = phi i8 [ 0, %_ZN11struct_pack11deserializeIJ6personETkNS_6detail16deserialize_viewESt6vectorIcSaIcEEEEDaRKT0_.exit.thread ], [ %.pre, %_ZN11struct_pack11deserializeIJ6personETkNS_6detail16deserialize_viewESt6vectorIcSaIcEEEEDaRKT0_.exit ] %100 = load i32, ptr %ret.i, align 8 store i32 %100, ptr %p248, align 8 br label %_ZN2tl8expectedI6personN11struct_pack4errcEEC2EOS4_.exit _ZN2tl8expectedI6personN11struct_pack4errcEEC2EOS4_.exit: ; preds = %_ZN2tl6detail24expected_operations_baseI6personN11struct_pack4errcEE14construct_withINS0_18expected_move_baseIS2_S4_Lb0EEEEEvOT_.exit.i.i.i.i, %if.else.i.i.i.i - %m_has_val.i.i.i.i.i.i.i6021293 = phi ptr [ %m_has_val.i.i.i.i.i.i.i6021294, %if.else.i.i.i.i ], [ %m_has_val.i.i.i.i.i.i.i602, %_ZN2tl6detail24expected_operations_baseI6personN11struct_pack4errcEE14construct_withINS0_18expected_move_baseIS2_S4_Lb0EEEEEvOT_.exit.i.i.i.i ] + %m_has_val.i.i.i.i.i.i.i6021289 = phi ptr [ %m_has_val.i.i.i.i.i.i.i6021290, %if.else.i.i.i.i ], [ %m_has_val.i.i.i.i.i.i.i602, %_ZN2tl6detail24expected_operations_baseI6personN11struct_pack4errcEE14construct_withINS0_18expected_move_baseIS2_S4_Lb0EEEEEvOT_.exit.i.i.i.i ] %101 = phi i8 [ %99, %if.else.i.i.i.i ], [ %.pre1206, %_ZN2tl6detail24expected_operations_baseI6personN11struct_pack4errcEE14construct_withINS0_18expected_move_baseIS2_S4_Lb0EEEEEvOT_.exit.i.i.i.i ] %storemerge.i.i.i.i = phi i8 [ 0, %if.else.i.i.i.i ], [ 1, %_ZN2tl6detail24expected_operations_baseI6personN11struct_pack4errcEE14construct_withINS0_18expected_move_baseIS2_S4_Lb0EEEEEvOT_.exit.i.i.i.i ] - store i8 %storemerge.i.i.i.i, ptr %m_has_val.i.i.i.i.i.i.i6021293, align 8 + store i8 %storemerge.i.i.i.i, ptr %m_has_val.i.i.i.i.i.i.i6021289, align 8 %tobool.i.i.i.i.i.i.i = trunc i8 %101 to i1 br i1 %tobool.i.i.i.i.i.i.i, label %if.then.i.i.i.i.i.i.i604, label %_ZN2tl8expectedI6personN11struct_pack4errcEED2Ev.exit @@ -1457,7 +1457,7 @@ if.then.i.i.i.i.i.i.i.i.i.i: ; preds = %if.then.i.i.i.i.i.i _ZN6personD2Ev.exit.i.i.i.i.i.i.i: ; preds = %if.then.i.i.i.i.i.i.i.i.i.i, %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i.i.i.i.i.i.i.i.i call void @_ZNSaIcED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %name.i.i.i.i.i.i.i) #22 - %.pre1207 = load i8, ptr %m_has_val.i.i.i.i.i.i.i6021293, align 8 + %.pre1207 = load i8, ptr %m_has_val.i.i.i.i.i.i.i6021289, align 8 br label %_ZN2tl8expectedI6personN11struct_pack4errcEED2Ev.exit _ZN2tl8expectedI6personN11struct_pack4errcEED2Ev.exit: ; preds = %_ZN2tl8expectedI6personN11struct_pack4errcEEC2EOS4_.exit, %_ZN6personD2Ev.exit.i.i.i.i.i.i.i @@ -1590,8 +1590,8 @@ _ZN11struct_pack9get_fieldI6personLm1ELm0ETkNS_6detail16deserialize_viewESt6vect call void @_ZNSaIcED2Ev(ptr noundef nonnull align 8 dereferenceable(33) %ret.i261) #22 store i32 %call3.i491492, ptr %ret.i261, align 8 store i8 0, ptr %m_has_val.i.i.i.i.i.i.i633, align 8 - %m_has_val.i.i.i.i.i.i.i6561295 = getelementptr inbounds nuw i8, ptr %name55, i64 32 - store i8 0, ptr %m_has_val.i.i.i.i.i.i.i6561295, align 8 + %m_has_val.i.i.i.i.i.i.i6561291 = getelementptr inbounds nuw i8, ptr %name55, i64 32 + store i8 0, ptr %m_has_val.i.i.i.i.i.i.i6561291, align 8 br label %if.else.i.i.i.i659 lpad.i266.body: ; preds = %invoke.cont.i271 @@ -1641,17 +1641,17 @@ _ZN2tl6detail24expected_operations_baseINSt7__cxx1112basic_stringIcSt11char_trai br label %_ZN2tl8expectedINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN11struct_pack4errcEEC2EOS9_.exit if.else.i.i.i.i659: ; preds = %_ZN11struct_pack9get_fieldI6personLm1ELm0ETkNS_6detail16deserialize_viewESt6vectorIcSaIcEEEEDaRKT2_.exit.thread, %_ZN11struct_pack9get_fieldI6personLm1ELm0ETkNS_6detail16deserialize_viewESt6vectorIcSaIcEEEEDaRKT2_.exit - %m_has_val.i.i.i.i.i.i.i6561298 = phi ptr [ %m_has_val.i.i.i.i.i.i.i6561295, %_ZN11struct_pack9get_fieldI6personLm1ELm0ETkNS_6detail16deserialize_viewESt6vectorIcSaIcEEEEDaRKT2_.exit.thread ], [ %m_has_val.i.i.i.i.i.i.i656, %_ZN11struct_pack9get_fieldI6personLm1ELm0ETkNS_6detail16deserialize_viewESt6vectorIcSaIcEEEEDaRKT2_.exit ] + %m_has_val.i.i.i.i.i.i.i6561294 = phi ptr [ %m_has_val.i.i.i.i.i.i.i6561291, %_ZN11struct_pack9get_fieldI6personLm1ELm0ETkNS_6detail16deserialize_viewESt6vectorIcSaIcEEEEDaRKT2_.exit.thread ], [ %m_has_val.i.i.i.i.i.i.i656, %_ZN11struct_pack9get_fieldI6personLm1ELm0ETkNS_6detail16deserialize_viewESt6vectorIcSaIcEEEEDaRKT2_.exit ] %126 = phi i8 [ 0, %_ZN11struct_pack9get_fieldI6personLm1ELm0ETkNS_6detail16deserialize_viewESt6vectorIcSaIcEEEEDaRKT2_.exit.thread ], [ %.pre1208, %_ZN11struct_pack9get_fieldI6personLm1ELm0ETkNS_6detail16deserialize_viewESt6vectorIcSaIcEEEEDaRKT2_.exit ] %127 = load i32, ptr %ret.i261, align 8 store i32 %127, ptr %name55, align 8 br label %_ZN2tl8expectedINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN11struct_pack4errcEEC2EOS9_.exit _ZN2tl8expectedINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN11struct_pack4errcEEC2EOS9_.exit: ; preds = %_ZN2tl6detail24expected_operations_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN11struct_pack4errcEE14construct_withINS0_18expected_move_baseIS7_S9_Lb0EEEEEvOT_.exit.i.i.i.i, %if.else.i.i.i.i659 - %m_has_val.i.i.i.i.i.i.i6561297 = phi ptr [ %m_has_val.i.i.i.i.i.i.i6561298, %if.else.i.i.i.i659 ], [ %m_has_val.i.i.i.i.i.i.i656, %_ZN2tl6detail24expected_operations_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN11struct_pack4errcEE14construct_withINS0_18expected_move_baseIS7_S9_Lb0EEEEEvOT_.exit.i.i.i.i ] + %m_has_val.i.i.i.i.i.i.i6561293 = phi ptr [ %m_has_val.i.i.i.i.i.i.i6561294, %if.else.i.i.i.i659 ], [ %m_has_val.i.i.i.i.i.i.i656, %_ZN2tl6detail24expected_operations_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN11struct_pack4errcEE14construct_withINS0_18expected_move_baseIS7_S9_Lb0EEEEEvOT_.exit.i.i.i.i ] %128 = phi i8 [ %126, %if.else.i.i.i.i659 ], [ %.pre1210, %_ZN2tl6detail24expected_operations_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN11struct_pack4errcEE14construct_withINS0_18expected_move_baseIS7_S9_Lb0EEEEEvOT_.exit.i.i.i.i ] %storemerge.i.i.i.i660 = phi i8 [ 0, %if.else.i.i.i.i659 ], [ 1, %_ZN2tl6detail24expected_operations_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN11struct_pack4errcEE14construct_withINS0_18expected_move_baseIS7_S9_Lb0EEEEEvOT_.exit.i.i.i.i ] - store i8 %storemerge.i.i.i.i660, ptr %m_has_val.i.i.i.i.i.i.i6561297, align 8 + store i8 %storemerge.i.i.i.i660, ptr %m_has_val.i.i.i.i.i.i.i6561293, align 8 %tobool.i.i.i.i.i.i.i663 = trunc i8 %128 to i1 br i1 %tobool.i.i.i.i.i.i.i663, label %if.then.i.i.i.i.i.i.i664, label %_ZN2tl8expectedINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN11struct_pack4errcEED2Ev.exit @@ -1672,7 +1672,7 @@ if.then.i.i.i.i.i.i.i.i.i: ; preds = %if.then.i.i.i.i.i.i _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit.i.i.i.i.i.i.i: ; preds = %if.then.i.i.i.i.i.i.i.i.i, %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i.i.i.i.i.i.i.i call void @_ZNSaIcED2Ev(ptr noundef nonnull align 8 dereferenceable(33) %ret.i261) #22 - %.pre1211 = load i8, ptr %m_has_val.i.i.i.i.i.i.i6561297, align 8 + %.pre1211 = load i8, ptr %m_has_val.i.i.i.i.i.i.i6561293, align 8 br label %_ZN2tl8expectedINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN11struct_pack4errcEED2Ev.exit _ZN2tl8expectedINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN11struct_pack4errcEED2Ev.exit: ; preds = %_ZN2tl8expectedINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN11struct_pack4errcEEC2EOS9_.exit, %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit.i.i.i.i.i.i.i @@ -1717,11 +1717,11 @@ if.then.i841: ; preds = %.noexc845 if.else.i813: ; preds = %.noexc845 %cmp5.i815 = icmp ult i64 %135, 65536 %cmp14.i818 = icmp ult i64 %135, 4294967296 - %.1344 = select i1 %cmp14.i818, i64 8, i64 12 - %.1345 = select i1 %cmp14.i818, i8 16, i8 24 - %.sink1325 = select i1 %cmp5.i815, i64 6, i64 %.1344 - %retval.i802.sroa.10.1 = select i1 %cmp5.i815, i8 8, i8 %.1345 - %add19.i832 = add i64 %135, %.sink1325 + %.1340 = select i1 %cmp14.i818, i64 8, i64 12 + %.1341 = select i1 %cmp14.i818, i8 16, i8 24 + %.sink1321 = select i1 %cmp5.i815, i64 6, i64 %.1340 + %retval.i802.sroa.10.1 = select i1 %cmp5.i815, i8 8, i8 %.1341 + %add19.i832 = add i64 %135, %.sink1321 %add33.i827 = add i64 %add19.i832, 1 br label %_ZN11struct_pack6detail26get_serialize_runtime_infoILm0EJiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEENS_21serialize_buffer_sizeEDpRKT0_.exit846 @@ -1882,8 +1882,8 @@ _ZN11struct_pack11deserializeIJiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaI call void @_ZNSaIcED2Ev(ptr noundef nonnull align 8 dereferenceable(41) %ret.i283) #22 store i32 %call3.i513514, ptr %ret.i283, align 8 store i8 0, ptr %m_has_val.i.i.i.i.i.i.i745, align 8 - %m_has_val.i.i.i.i.i.i.i7651299 = getelementptr inbounds nuw i8, ptr %result61, i64 40 - store i8 0, ptr %m_has_val.i.i.i.i.i.i.i7651299, align 8 + %m_has_val.i.i.i.i.i.i.i7651295 = getelementptr inbounds nuw i8, ptr %result61, i64 40 + store i8 0, ptr %m_has_val.i.i.i.i.i.i.i7651295, align 8 br label %if.else.i.i.i.i768 lpad.i289.body: ; preds = %invoke.cont.i294 @@ -1935,17 +1935,17 @@ _ZN2tl6detail24expected_operations_baseISt5tupleIJiNSt7__cxx1112basic_stringIcSt br label %_ZN2tl8expectedISt5tupleIJiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEN11struct_pack4errcEEC2EOSB_.exit if.else.i.i.i.i768: ; preds = %_ZN11struct_pack11deserializeIJiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEETkNS_6detail16deserialize_viewESt6vectorIcS5_EEEDaRKT0_.exit.thread, %_ZN11struct_pack11deserializeIJiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEETkNS_6detail16deserialize_viewESt6vectorIcS5_EEEDaRKT0_.exit - %m_has_val.i.i.i.i.i.i.i7651302 = phi ptr [ %m_has_val.i.i.i.i.i.i.i7651299, %_ZN11struct_pack11deserializeIJiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEETkNS_6detail16deserialize_viewESt6vectorIcS5_EEEDaRKT0_.exit.thread ], [ %m_has_val.i.i.i.i.i.i.i765, %_ZN11struct_pack11deserializeIJiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEETkNS_6detail16deserialize_viewESt6vectorIcS5_EEEDaRKT0_.exit ] + %m_has_val.i.i.i.i.i.i.i7651298 = phi ptr [ %m_has_val.i.i.i.i.i.i.i7651295, %_ZN11struct_pack11deserializeIJiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEETkNS_6detail16deserialize_viewESt6vectorIcS5_EEEDaRKT0_.exit.thread ], [ %m_has_val.i.i.i.i.i.i.i765, %_ZN11struct_pack11deserializeIJiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEETkNS_6detail16deserialize_viewESt6vectorIcS5_EEEDaRKT0_.exit ] %158 = phi i8 [ 0, %_ZN11struct_pack11deserializeIJiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEETkNS_6detail16deserialize_viewESt6vectorIcS5_EEEDaRKT0_.exit.thread ], [ %.pre1212, %_ZN11struct_pack11deserializeIJiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEETkNS_6detail16deserialize_viewESt6vectorIcS5_EEEDaRKT0_.exit ] %159 = load i32, ptr %ret.i283, align 8 store i32 %159, ptr %result61, align 8 br label %_ZN2tl8expectedISt5tupleIJiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEN11struct_pack4errcEEC2EOSB_.exit _ZN2tl8expectedISt5tupleIJiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEN11struct_pack4errcEEC2EOSB_.exit: ; preds = %_ZN2tl6detail24expected_operations_baseISt5tupleIJiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEN11struct_pack4errcEE14construct_withINS0_18expected_move_baseIS9_SB_Lb0EEEEEvOT_.exit.i.i.i.i, %if.else.i.i.i.i768 - %m_has_val.i.i.i.i.i.i.i7651301 = phi ptr [ %m_has_val.i.i.i.i.i.i.i7651302, %if.else.i.i.i.i768 ], [ %m_has_val.i.i.i.i.i.i.i765, %_ZN2tl6detail24expected_operations_baseISt5tupleIJiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEN11struct_pack4errcEE14construct_withINS0_18expected_move_baseIS9_SB_Lb0EEEEEvOT_.exit.i.i.i.i ] + %m_has_val.i.i.i.i.i.i.i7651297 = phi ptr [ %m_has_val.i.i.i.i.i.i.i7651298, %if.else.i.i.i.i768 ], [ %m_has_val.i.i.i.i.i.i.i765, %_ZN2tl6detail24expected_operations_baseISt5tupleIJiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEN11struct_pack4errcEE14construct_withINS0_18expected_move_baseIS9_SB_Lb0EEEEEvOT_.exit.i.i.i.i ] %160 = phi i8 [ %158, %if.else.i.i.i.i768 ], [ %.pre1214, %_ZN2tl6detail24expected_operations_baseISt5tupleIJiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEN11struct_pack4errcEE14construct_withINS0_18expected_move_baseIS9_SB_Lb0EEEEEvOT_.exit.i.i.i.i ] %storemerge.i.i.i.i769 = phi i8 [ 0, %if.else.i.i.i.i768 ], [ 1, %_ZN2tl6detail24expected_operations_baseISt5tupleIJiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEN11struct_pack4errcEE14construct_withINS0_18expected_move_baseIS9_SB_Lb0EEEEEvOT_.exit.i.i.i.i ] - store i8 %storemerge.i.i.i.i769, ptr %m_has_val.i.i.i.i.i.i.i7651301, align 8 + store i8 %storemerge.i.i.i.i769, ptr %m_has_val.i.i.i.i.i.i.i7651297, align 8 %tobool.i.i.i.i.i.i.i776 = trunc i8 %160 to i1 br i1 %tobool.i.i.i.i.i.i.i776, label %if.then.i.i.i.i.i.i.i777, label %_ZN2tl8expectedISt5tupleIJiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEN11struct_pack4errcEED2Ev.exit @@ -1966,7 +1966,7 @@ if.then.i.i.i.i.i.i.i.i.i.i.i.i.i: ; preds = %if.then.i.i.i.i.i.i _ZNSt5tupleIJiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i.i.i.i.i.i.i: ; preds = %if.then.i.i.i.i.i.i.i.i.i.i.i.i.i, %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i.i.i.i.i.i.i.i.i.i.i.i call void @_ZNSaIcED2Ev(ptr noundef nonnull align 8 dereferenceable(41) %ret.i283) #22 - %.pre1215 = load i8, ptr %m_has_val.i.i.i.i.i.i.i7651301, align 8 + %.pre1215 = load i8, ptr %m_has_val.i.i.i.i.i.i.i7651297, align 8 br label %_ZN2tl8expectedISt5tupleIJiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEN11struct_pack4errcEED2Ev.exit _ZN2tl8expectedISt5tupleIJiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEN11struct_pack4errcEED2Ev.exit: ; preds = %_ZN2tl8expectedISt5tupleIJiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEN11struct_pack4errcEEC2EOSB_.exit, %_ZNSt5tupleIJiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i.i.i.i.i.i.i @@ -2048,11 +2048,11 @@ if.then.i793: ; preds = %.noexc797 if.else.i786: ; preds = %.noexc797 %cmp5.i = icmp ult i64 %172, 65536 %cmp14.i = icmp ult i64 %172, 4294967296 - %.1346 = select i1 %cmp14.i, i64 8, i64 12 - %.1347 = select i1 %cmp14.i, i8 16, i8 24 - %.sink1327 = select i1 %cmp5.i, i64 6, i64 %.1346 - %retval.i775.sroa.10.1 = select i1 %cmp5.i, i8 8, i8 %.1347 - %add19.i789 = add i64 %172, %.sink1327 + %.1342 = select i1 %cmp14.i, i64 8, i64 12 + %.1343 = select i1 %cmp14.i, i8 16, i8 24 + %.sink1323 = select i1 %cmp5.i, i64 6, i64 %.1342 + %retval.i775.sroa.10.1 = select i1 %cmp5.i, i8 8, i8 %.1343 + %add19.i789 = add i64 %172, %.sink1323 %add33.i = add i64 %add19.i789, 1 br label %_ZN11struct_pack6detail26get_serialize_runtime_infoILm0EJiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEENS_21serialize_buffer_sizeEDpRKT0_.exit @@ -2265,8 +2265,8 @@ _ZN11struct_pack11deserializeIJ6personETkNS_8reader_tE12fread_streamEEDaRT0_.exi call void @_ZNSaIcED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %name.i.i.i.i.i.i.i895) #22 store i32 %ret.i518.01204, ptr %ret.i316, align 8 store i8 0, ptr %m_has_val.i.i.i.i.i.i.i897, align 8 - %m_has_val.i.i.i.i.i.i.i9251303 = getelementptr inbounds nuw i8, ptr %p4, i64 40 - store i8 0, ptr %m_has_val.i.i.i.i.i.i.i9251303, align 8 + %m_has_val.i.i.i.i.i.i.i9251299 = getelementptr inbounds nuw i8, ptr %p4, i64 40 + store i8 0, ptr %m_has_val.i.i.i.i.i.i.i9251299, align 8 br label %if.else.i.i.i.i928 lpad.i322.body: ; preds = %call.i519.noexc @@ -2321,17 +2321,17 @@ _ZN2tl6detail24expected_operations_baseI6personN11struct_pack4errcEE14construct_ br label %_ZN2tl8expectedI6personN11struct_pack4errcEEC2EOS4_.exit942 if.else.i.i.i.i928: ; preds = %_ZN11struct_pack11deserializeIJ6personETkNS_8reader_tE12fread_streamEEDaRT0_.exit.thread, %_ZN11struct_pack11deserializeIJ6personETkNS_8reader_tE12fread_streamEEDaRT0_.exit - %m_has_val.i.i.i.i.i.i.i9251306 = phi ptr [ %m_has_val.i.i.i.i.i.i.i9251303, %_ZN11struct_pack11deserializeIJ6personETkNS_8reader_tE12fread_streamEEDaRT0_.exit.thread ], [ %m_has_val.i.i.i.i.i.i.i925, %_ZN11struct_pack11deserializeIJ6personETkNS_8reader_tE12fread_streamEEDaRT0_.exit ] + %m_has_val.i.i.i.i.i.i.i9251302 = phi ptr [ %m_has_val.i.i.i.i.i.i.i9251299, %_ZN11struct_pack11deserializeIJ6personETkNS_8reader_tE12fread_streamEEDaRT0_.exit.thread ], [ %m_has_val.i.i.i.i.i.i.i925, %_ZN11struct_pack11deserializeIJ6personETkNS_8reader_tE12fread_streamEEDaRT0_.exit ] %201 = phi i8 [ 0, %_ZN11struct_pack11deserializeIJ6personETkNS_8reader_tE12fread_streamEEDaRT0_.exit.thread ], [ %194, %_ZN11struct_pack11deserializeIJ6personETkNS_8reader_tE12fread_streamEEDaRT0_.exit ] %202 = load i32, ptr %ret.i316, align 8 store i32 %202, ptr %p4, align 8 br label %_ZN2tl8expectedI6personN11struct_pack4errcEEC2EOS4_.exit942 _ZN2tl8expectedI6personN11struct_pack4errcEEC2EOS4_.exit942: ; preds = %_ZN2tl6detail24expected_operations_baseI6personN11struct_pack4errcEE14construct_withINS0_18expected_move_baseIS2_S4_Lb0EEEEEvOT_.exit.i.i.i.i935, %if.else.i.i.i.i928 - %m_has_val.i.i.i.i.i.i.i9251305 = phi ptr [ %m_has_val.i.i.i.i.i.i.i9251306, %if.else.i.i.i.i928 ], [ %m_has_val.i.i.i.i.i.i.i925, %_ZN2tl6detail24expected_operations_baseI6personN11struct_pack4errcEE14construct_withINS0_18expected_move_baseIS2_S4_Lb0EEEEEvOT_.exit.i.i.i.i935 ] + %m_has_val.i.i.i.i.i.i.i9251301 = phi ptr [ %m_has_val.i.i.i.i.i.i.i9251302, %if.else.i.i.i.i928 ], [ %m_has_val.i.i.i.i.i.i.i925, %_ZN2tl6detail24expected_operations_baseI6personN11struct_pack4errcEE14construct_withINS0_18expected_move_baseIS2_S4_Lb0EEEEEvOT_.exit.i.i.i.i935 ] %203 = phi i8 [ %201, %if.else.i.i.i.i928 ], [ %.pre1218, %_ZN2tl6detail24expected_operations_baseI6personN11struct_pack4errcEE14construct_withINS0_18expected_move_baseIS2_S4_Lb0EEEEEvOT_.exit.i.i.i.i935 ] %storemerge.i.i.i.i929 = phi i8 [ 0, %if.else.i.i.i.i928 ], [ 1, %_ZN2tl6detail24expected_operations_baseI6personN11struct_pack4errcEE14construct_withINS0_18expected_move_baseIS2_S4_Lb0EEEEEvOT_.exit.i.i.i.i935 ] - store i8 %storemerge.i.i.i.i929, ptr %m_has_val.i.i.i.i.i.i.i9251305, align 8 + store i8 %storemerge.i.i.i.i929, ptr %m_has_val.i.i.i.i.i.i.i9251301, align 8 %tobool.i.i.i.i.i.i.i944 = trunc i8 %203 to i1 br i1 %tobool.i.i.i.i.i.i.i944, label %if.then.i.i.i.i.i.i.i945, label %_ZN2tl8expectedI6personN11struct_pack4errcEED2Ev.exit953 @@ -2352,7 +2352,7 @@ if.then.i.i.i.i.i.i.i.i.i.i948: ; preds = %if.then.i.i.i.i.i.i _ZN6personD2Ev.exit.i.i.i.i.i.i.i949: ; preds = %if.then.i.i.i.i.i.i.i.i.i.i948, %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i.i.i.i.i.i.i.i.i950 call void @_ZNSaIcED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %name.i.i.i.i.i.i.i895) #22 - %.pre1219 = load i8, ptr %m_has_val.i.i.i.i.i.i.i9251305, align 8 + %.pre1219 = load i8, ptr %m_has_val.i.i.i.i.i.i.i9251301, align 8 br label %_ZN2tl8expectedI6personN11struct_pack4errcEED2Ev.exit953 _ZN2tl8expectedI6personN11struct_pack4errcEED2Ev.exit953: ; preds = %_ZN2tl8expectedI6personN11struct_pack4errcEEC2EOS4_.exit942, %_ZN6personD2Ev.exit.i.i.i.i.i.i.i949 diff --git a/bench/yara-x-rs/optimized/cco05ky1qb53ayhfyotquzvcb.ll b/bench/yara-x-rs/optimized/cco05ky1qb53ayhfyotquzvcb.ll index 904506303b8..1d422b0a983 100644 --- a/bench/yara-x-rs/optimized/cco05ky1qb53ayhfyotquzvcb.ll +++ b/bench/yara-x-rs/optimized/cco05ky1qb53ayhfyotquzvcb.ll @@ -481,15 +481,15 @@ thread-pre-split.i: ; preds = %4 br i1 %.not73101.i, label %.loopexit.i, label %.lr.ph105.i .lr.ph105.i: ; preds = %.preheader.i, %79 - %.sroa.01.1.ph146.i = phi ptr [ %14, %.preheader.i ], [ %1, %79 ] - %.sroa.23.1.ph145.i = phi i64 [ %15, %.preheader.i ], [ %2, %79 ] + %.sroa.01.1.ph142.i = phi ptr [ %14, %.preheader.i ], [ %1, %79 ] + %.sroa.23.1.ph141.i = phi i64 [ %15, %.preheader.i ], [ %2, %79 ] %83 = icmp samesign ugt i32 %3, 10 %84 = zext nneg i32 %3 to i64 br i1 %83, label %.lr.ph105.split.i, label %.lr.ph105.split.us.i .lr.ph105.split.us.i: ; preds = %.lr.ph105.i, %89 - %.sroa.01.1104.us.i = phi ptr [ %92, %89 ], [ %.sroa.01.1.ph146.i, %.lr.ph105.i ] - %.sroa.23.1103.us.i = phi i64 [ %91, %89 ], [ %.sroa.23.1.ph145.i, %.lr.ph105.i ] + %.sroa.01.1104.us.i = phi ptr [ %92, %89 ], [ %.sroa.01.1.ph142.i, %.lr.ph105.i ] + %.sroa.23.1103.us.i = phi i64 [ %91, %89 ], [ %.sroa.23.1.ph141.i, %.lr.ph105.i ] %.sroa.023.2102.us.i = phi i64 [ %94, %89 ], [ 0, %.lr.ph105.i ] %85 = load i8, ptr %.sroa.01.1104.us.i, align 1, !alias.scope !6, !noalias !3, !noundef !8 %86 = zext i8 %85 to i32 @@ -550,8 +550,8 @@ thread-pre-split.i: ; preds = %4 br label %"_ZN4core3num21_$LT$impl$u20$i64$GT$16from_ascii_radix17hb6ce5d501fddc3f3E.exit" .lr.ph105.split.i: ; preds = %.lr.ph105.i, %129 - %.sroa.01.1104.i = phi ptr [ %132, %129 ], [ %.sroa.01.1.ph146.i, %.lr.ph105.i ] - %.sroa.23.1103.i = phi i64 [ %131, %129 ], [ %.sroa.23.1.ph145.i, %.lr.ph105.i ] + %.sroa.01.1104.i = phi ptr [ %132, %129 ], [ %.sroa.01.1.ph142.i, %.lr.ph105.i ] + %.sroa.23.1103.i = phi i64 [ %131, %129 ], [ %.sroa.23.1.ph141.i, %.lr.ph105.i ] %.sroa.023.2102.i = phi i64 [ %134, %129 ], [ 0, %.lr.ph105.i ] %121 = load i8, ptr %.sroa.01.1104.i, align 1, !alias.scope !6, !noalias !3, !noundef !8 %122 = zext i8 %121 to i32 @@ -17776,7 +17776,7 @@ define internal fastcc void @"_ZN13yara_x_parser3ast7cst2ast16Builder$LT$I$GT$11 %.sroa.14.0.us.i.i = phi i64 [ %68, %77 ], [ %.sroa.14.0.us.i.i.ph, %.preheader46.split.us.i.i.preheader ] %.sroa.02.0.us.i.i = phi ptr [ %67, %77 ], [ %.sroa.02.0.us.i.i.ph, %.preheader46.split.us.i.i.preheader ] %.not.us.not.i.not.i.not = icmp eq i64 %.sroa.14.0.us.i.i, 0 - br i1 %.not.us.not.i.not.i.not, label %.loopexit222, label %66 + br i1 %.not.us.not.i.not.i.not, label %.loopexit218, label %66 66: ; preds = %.preheader46.split.us.i.i %67 = getelementptr inbounds nuw i8, ptr %.sroa.02.0.us.i.i, i64 1 @@ -17826,7 +17826,7 @@ define internal fastcc void @"_ZN13yara_x_parser3ast7cst2ast16Builder$LT$I$GT$11 %91 = trunc nuw nsw i32 %86 to i8 %92 = add i8 %88, %91 %.not42.us.i.i = icmp eq i64 %89, 0 - br i1 %.not42.us.i.i, label %.loopexit222, label %.lr.ph.split.us.i.i + br i1 %.not42.us.i.i, label %.loopexit218, label %.lr.ph.split.us.i.i 93: ; preds = %55 %94 = invoke noundef zeroext i1 @"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$11starts_with17h2f2881eb55ee885eE"(ptr noalias noundef nonnull readonly align 1 %56, i64 noundef %57, ptr noalias noundef nonnull readonly align 1 @anon.46ef8a33bb9054b8922de637285ededd.163, i64 noundef 2) @@ -17873,7 +17873,7 @@ define internal fastcc void @"_ZN13yara_x_parser3ast7cst2ast16Builder$LT$I$GT$11 %109 = trunc nuw nsw i32 %113 to i8 %110 = or disjoint i8 %108, %109 %.not.us.not.i.not.i107 = icmp eq i64 %107, 0 - br i1 %.not.us.not.i.not.i107, label %.loopexit222, label %.lr.ph + br i1 %.not.us.not.i.not.i107, label %.loopexit218, label %.lr.ph .lr.ph: ; preds = %.lr.ph.preheader, %.preheader46.split.us.i.i103 %.sroa.02.0.us.i.i106170 = phi ptr [ %106, %.preheader46.split.us.i.i103 ], [ %.sroa.02.0.us.i.i106170.ph, %.lr.ph.preheader ] @@ -17913,7 +17913,7 @@ define internal fastcc void @"_ZN13yara_x_parser3ast7cst2ast16Builder$LT$I$GT$11 %125 = trunc nuw nsw i32 %120 to i8 %126 = or disjoint i8 %122, %125 %.not42.us.i.i97 = icmp eq i64 %123, 0 - br i1 %.not42.us.i.i97, label %.loopexit222, label %.lr.ph.split.us.i.i92 + br i1 %.not42.us.i.i97, label %.loopexit218, label %.lr.ph.split.us.i.i92 127: ; preds = %51 %128 = add i64 %53, -2 @@ -17956,7 +17956,7 @@ define internal fastcc void @"_ZN13yara_x_parser3ast7cst2ast16Builder$LT$I$GT$11 %141 = trunc nuw nsw i32 %spec.select.i.i to i8 %142 = or disjoint i8 %140, %141 %.not.not.i.not.i = icmp eq i64 %139, 0 - br i1 %.not.not.i.not.i, label %.loopexit222, label %.lr.ph181 + br i1 %.not.not.i.not.i, label %.loopexit218, label %.lr.ph181 143: ; preds = %133 %144 = icmp ult i64 %128, 3 @@ -17981,8 +17981,8 @@ define internal fastcc void @"_ZN13yara_x_parser3ast7cst2ast16Builder$LT$I$GT$11 %spec.select.i.i = select i1 %147, i32 %150, i32 %151 %152 = icmp ugt i32 %spec.select.i.i, 15 %153 = icmp ugt i8 %.sroa.014.0.i.i178, 15 - %or.cond238 = select i1 %152, i1 true, i1 %153 - br i1 %or.cond238, label %.loopexit, label %.preheader46.split.i.i + %or.cond234 = select i1 %152, i1 true, i1 %153 + br i1 %or.cond234, label %.loopexit, label %.preheader46.split.i.i .lr.ph.split.i.i: ; preds = %.lr.ph.split.i.i.preheader, %161 %.sroa.02.154.i.i = phi ptr [ %164, %161 ], [ %.sroa.02.154.i.i.ph, %.lr.ph.split.i.i.preheader ] @@ -17996,8 +17996,8 @@ define internal fastcc void @"_ZN13yara_x_parser3ast7cst2ast16Builder$LT$I$GT$11 %159 = add nuw nsw i32 %158, 10 %160 = add nsw i32 %155, -48 %spec.select65.i.i = select i1 %156, i32 %159, i32 %160 - %.not107.i.not.i = icmp ugt i32 %spec.select65.i.i, 15 - br i1 %.not107.i.not.i, label %.loopexit, label %161 + %.not102.i.not.i = icmp ugt i32 %spec.select65.i.i, 15 + br i1 %.not102.i.not.i, label %.loopexit, label %161 161: ; preds = %.lr.ph.split.i.i %162 = shl i8 %.sroa.014.252.i.i, 4 @@ -18006,7 +18006,7 @@ define internal fastcc void @"_ZN13yara_x_parser3ast7cst2ast16Builder$LT$I$GT$11 %165 = trunc nuw nsw i32 %spec.select65.i.i to i8 %166 = or disjoint i8 %162, %165 %.not42.i.i = icmp eq i64 %163, 0 - br i1 %.not42.i.i, label %.loopexit222, label %.lr.ph.split.i.i + br i1 %.not42.i.i, label %.loopexit218, label %.lr.ph.split.i.i .invoke: ; preds = %127, %95 %167 = phi ptr [ @anon.46ef8a33bb9054b8922de637285ededd.164, %95 ], [ @anon.46ef8a33bb9054b8922de637285ededd.165, %127 ] @@ -18095,13 +18095,13 @@ define internal fastcc void @"_ZN13yara_x_parser3ast7cst2ast16Builder$LT$I$GT$11 cleanup br label %.body -.loopexit222: ; preds = %.preheader46.split.us.i.i, %87, %.preheader46.split.us.i.i103, %121, %.preheader46.split.i.i, %161 +.loopexit218: ; preds = %.preheader46.split.us.i.i, %87, %.preheader46.split.us.i.i103, %121, %.preheader46.split.i.i, %161 %.sroa.8.0.i.i.pn = phi i8 [ %166, %161 ], [ %142, %.preheader46.split.i.i ], [ %126, %121 ], [ %110, %.preheader46.split.us.i.i103 ], [ %92, %87 ], [ %.sroa.014.0.us.i.i, %.preheader46.split.us.i.i ] %188 = getelementptr inbounds nuw i8, ptr %1, i64 456 %or.cond.i.i = and i1 %.not, %.not69 br i1 %or.cond.i.i, label %208, label %189 -189: ; preds = %.loopexit222 +189: ; preds = %.loopexit218 call void @llvm.lifetime.start.p0(ptr nonnull %12) %.val = load i32, ptr %16, align 4 %.val75 = load i32, ptr %28, align 4 @@ -18174,7 +18174,7 @@ define internal fastcc void @"_ZN13yara_x_parser3ast7cst2ast16Builder$LT$I$GT$11 call void @llvm.lifetime.end.p0(ptr nonnull %12) br label %210 -208: ; preds = %.loopexit222 +208: ; preds = %.loopexit218 store ptr %.sroa.052.0, ptr %0, align 8 %.sroa.447.0..sroa_idx = getelementptr inbounds nuw i8, ptr %0, i64 8 store i64 %.sroa.857.0, ptr %.sroa.447.0..sroa_idx, align 8 @@ -20095,8 +20095,8 @@ _ZN4bstr7ext_vec7ByteVec9push_char17h357ecda7116013e4E.exit: ; preds = %_ZN4bstr %457 = add nuw nsw i32 %456, 10 %458 = add nsw i32 %453, -48 %spec.select65.i = select i1 %454, i32 %457, i32 %458 - %.not107.i = icmp ult i32 %spec.select65.i, 16 - br i1 %.not107.i, label %459, label %.loopexit + %.not102.i = icmp ult i32 %spec.select65.i, 16 + br i1 %.not102.i, label %459, label %.loopexit 459: ; preds = %.lr.ph.split.i %460 = shl i8 %.sroa.014.252.i, 4 diff --git a/bench/zlib/optimized/deflate.ll b/bench/zlib/optimized/deflate.ll index 86efe0eef1e..ba60299c6aa 100644 --- a/bench/zlib/optimized/deflate.ll +++ b/bench/zlib/optimized/deflate.ll @@ -3332,11 +3332,11 @@ define internal range(i32 0, 4) i32 @deflate_stored(ptr noundef %0, i32 noundef 44: ; preds = %30 %45 = icmp ne i32 %.1224, 0 - %or.cond.not283 = or i1 %17, %45 + %or.cond.not281 = or i1 %17, %45 %.not = icmp eq i32 %.1224, %42 - %46 = and i1 %or.cond.not283, %.not - %or.cond278 = and i1 %46, %18 - br i1 %or.cond278, label %47, label %split + %46 = and i1 %or.cond.not281, %.not + %or.cond276 = and i1 %46, %18 + br i1 %or.cond276, label %47, label %split 47: ; preds = %44, %30 %48 = icmp eq i32 %.1224, %42 @@ -3416,18 +3416,18 @@ define internal range(i32 0, 4) i32 @deflate_stored(ptr noundef %0, i32 noundef br label %flush_pending.exit flush_pending.exit: ; preds = %47, %82, %100 - %.not258 = icmp eq i32 %32, %34 - br i1 %.not258, label %124, label %103 + %.not256 = icmp eq i32 %32, %34 + br i1 %.not256, label %124, label %103 103: ; preds = %flush_pending.exit - %spec.select269 = tail call i32 @llvm.umin.i32(i32 %35, i32 %.1224) + %spec.select267 = tail call i32 @llvm.umin.i32(i32 %35, i32 %.1224) %104 = load ptr, ptr %0, align 8, !tbaa !17 %105 = getelementptr inbounds nuw i8, ptr %104, i64 24 %106 = load ptr, ptr %105, align 8, !tbaa !91 %107 = load ptr, ptr %21, align 8, !tbaa !36 %108 = load i64, ptr %16, align 8, !tbaa !61 %109 = getelementptr inbounds i8, ptr %107, i64 %108 - %110 = zext i32 %spec.select269 to i64 + %110 = zext i32 %spec.select267 to i64 tail call void @llvm.memcpy.p0.p0.i64(ptr align 1 %106, ptr align 1 %109, i64 %110, i1 false) %111 = load ptr, ptr %0, align 8, !tbaa !17 %112 = getelementptr inbounds nuw i8, ptr %111, i64 24 @@ -3436,7 +3436,7 @@ flush_pending.exit: ; preds = %47, %82, %100 store ptr %114, ptr %112, align 8, !tbaa !91 %115 = getelementptr inbounds nuw i8, ptr %111, i64 32 %116 = load i32, ptr %115, align 8, !tbaa !92 - %117 = sub i32 %116, %spec.select269 + %117 = sub i32 %116, %spec.select267 store i32 %117, ptr %115, align 8, !tbaa !92 %118 = getelementptr inbounds nuw i8, ptr %111, i64 40 %119 = load i64, ptr %118, align 8, !tbaa !93 @@ -3445,13 +3445,13 @@ flush_pending.exit: ; preds = %47, %82, %100 %121 = load i64, ptr %16, align 8, !tbaa !61 %122 = add nsw i64 %121, %110 store i64 %122, ptr %16, align 8, !tbaa !61 - %123 = sub i32 %.1224, %spec.select269 + %123 = sub i32 %.1224, %spec.select267 br label %124 124: ; preds = %103, %flush_pending.exit %.2 = phi i32 [ %123, %103 ], [ %.1224, %flush_pending.exit ] - %.not259 = icmp eq i32 %.2, 0 - br i1 %.not259, label %165, label %125 + %.not257 = icmp eq i32 %.2, 0 + br i1 %.not257, label %165, label %125 125: ; preds = %124 %126 = load ptr, ptr %0, align 8, !tbaa !17 @@ -3459,15 +3459,15 @@ flush_pending.exit: ; preds = %47, %82, %100 %128 = load ptr, ptr %127, align 8, !tbaa !91 %129 = getelementptr inbounds nuw i8, ptr %126, i64 8 %130 = load i32, ptr %129, align 8, !tbaa !69 - %spec.select.i273 = tail call i32 @llvm.umin.i32(i32 %130, i32 %.2) + %spec.select.i271 = tail call i32 @llvm.umin.i32(i32 %130, i32 %.2) %131 = icmp eq i32 %130, 0 br i1 %131, label %read_buf.exit, label %132 132: ; preds = %125 - %133 = sub i32 %130, %spec.select.i273 + %133 = sub i32 %130, %spec.select.i271 store i32 %133, ptr %129, align 8, !tbaa !69 %134 = load ptr, ptr %126, align 8, !tbaa !70 - %135 = zext i32 %spec.select.i273 to i64 + %135 = zext i32 %spec.select.i271 to i64 tail call void @llvm.memcpy.p0.p0.i64(ptr align 1 %128, ptr align 1 %134, i64 %135, i1 false) %136 = getelementptr inbounds nuw i8, ptr %126, i64 56 %137 = load ptr, ptr %136, align 8, !tbaa !16 @@ -3481,14 +3481,14 @@ flush_pending.exit: ; preds = %47, %82, %100 140: ; preds = %132 %141 = getelementptr inbounds nuw i8, ptr %126, i64 96 %142 = load i64, ptr %141, align 8, !tbaa !68 - %143 = tail call i64 @adler32(i64 noundef %142, ptr noundef %128, i32 noundef %spec.select.i273) #11 + %143 = tail call i64 @adler32(i64 noundef %142, ptr noundef %128, i32 noundef %spec.select.i271) #11 store i64 %143, ptr %141, align 8, !tbaa !68 br label %148 144: ; preds = %132 %145 = getelementptr inbounds nuw i8, ptr %126, i64 96 %146 = load i64, ptr %145, align 8, !tbaa !68 - %147 = tail call i64 @crc32(i64 noundef %146, ptr noundef %128, i32 noundef %spec.select.i273) #11 + %147 = tail call i64 @crc32(i64 noundef %146, ptr noundef %128, i32 noundef %spec.select.i271) #11 store i64 %147, ptr %145, align 8, !tbaa !68 br label %148 @@ -3502,11 +3502,11 @@ flush_pending.exit: ; preds = %47, %82, %100 store i64 %153, ptr %151, align 8, !tbaa !77 %.pre = load ptr, ptr %0, align 8, !tbaa !17 %.phi.trans.insert = getelementptr inbounds nuw i8, ptr %.pre, i64 24 - %.pre286 = load ptr, ptr %.phi.trans.insert, align 8, !tbaa !91 + %.pre284 = load ptr, ptr %.phi.trans.insert, align 8, !tbaa !91 br label %read_buf.exit read_buf.exit: ; preds = %125, %148 - %154 = phi ptr [ %128, %125 ], [ %.pre286, %148 ] + %154 = phi ptr [ %128, %125 ], [ %.pre284, %148 ] %155 = phi ptr [ %126, %125 ], [ %.pre, %148 ] %156 = getelementptr inbounds nuw i8, ptr %155, i64 24 %157 = zext i32 %.2 to i64 @@ -3526,27 +3526,27 @@ read_buf.exit: ; preds = %125, %148 br i1 %narrow, label %._crit_edge, label %22, !llvm.loop !107 ._crit_edge: ; preds = %165 - %.pre287 = load ptr, ptr %0, align 8, !tbaa !17 + %.pre285 = load ptr, ptr %0, align 8, !tbaa !17 br label %split, !llvm.loop !107 split: ; preds = %44, %22, %._crit_edge - %166 = phi ptr [ %.pre287, %._crit_edge ], [ %26, %22 ], [ %26, %44 ] - %.not263 = phi i1 [ false, %._crit_edge ], [ true, %22 ], [ true, %44 ] + %166 = phi ptr [ %.pre285, %._crit_edge ], [ %26, %22 ], [ %26, %44 ] + %.not261 = phi i1 [ false, %._crit_edge ], [ true, %22 ], [ true, %44 ] %167 = getelementptr inbounds nuw i8, ptr %166, i64 8 %168 = load i32, ptr %167, align 8, !tbaa !69 %169 = sub i32 %13, %168 - %.not260 = icmp eq i32 %13, %168 - br i1 %.not260, label %._crit_edge288, label %170 + %.not258 = icmp eq i32 %13, %168 + br i1 %.not258, label %._crit_edge286, label %170 -._crit_edge288: ; preds = %split - %.pre289 = load i32, ptr %15, align 4, !tbaa !60 - %.pre290 = zext i32 %.pre289 to i64 +._crit_edge286: ; preds = %split + %.pre287 = load i32, ptr %15, align 4, !tbaa !60 + %.pre288 = zext i32 %.pre287 to i64 br label %224 170: ; preds = %split %171 = load i32, ptr %6, align 8, !tbaa !30 - %.not261 = icmp ult i32 %169, %171 - br i1 %.not261, label %181, label %172 + %.not259 = icmp ult i32 %169, %171 + br i1 %.not259, label %181, label %172 172: ; preds = %170 %173 = getelementptr inbounds nuw i8, ptr %0, i64 5928 @@ -3570,8 +3570,8 @@ split: ; preds = %44, %22, %._crit_ed %185 = zext i32 %184 to i64 %186 = sub i64 %183, %185 %187 = zext i32 %169 to i64 - %.not262 = icmp ugt i64 %186, %187 - br i1 %.not262, label %205, label %188 + %.not260 = icmp ugt i64 %186, %187 + br i1 %.not260, label %205, label %188 188: ; preds = %181 %189 = sub i32 %184, %171 @@ -3630,9 +3630,9 @@ split: ; preds = %44, %22, %._crit_ed store i64 %223, ptr %16, align 8, !tbaa !61 br label %224 -224: ; preds = %._crit_edge288, %221 - %.pre-phi = phi i64 [ %.pre290, %._crit_edge288 ], [ %223, %221 ] - %225 = phi i32 [ %.pre289, %._crit_edge288 ], [ %222, %221 ] +224: ; preds = %._crit_edge286, %221 + %.pre-phi = phi i64 [ %.pre288, %._crit_edge288 ], [ %223, %221 ] + %225 = phi i32 [ %.pre287, %._crit_edge288 ], [ %222, %221 ] %226 = getelementptr inbounds nuw i8, ptr %0, i64 5952 %227 = load i64, ptr %226, align 8, !tbaa !39 %228 = icmp ult i64 %227, %.pre-phi @@ -3643,7 +3643,7 @@ split: ; preds = %44, %22, %._crit_ed br label %230 230: ; preds = %229, %224 - br i1 %.not263, label %231, label %.critedge.sink.split + br i1 %.not261, label %231, label %.critedge.sink.split 231: ; preds = %230 switch i32 %1, label %232 [ @@ -3678,8 +3678,8 @@ split: ; preds = %44, %22, %._crit_ed %250 = load i64, ptr %16, align 8, !tbaa !61 %251 = load i32, ptr %6, align 8, !tbaa !30 %252 = zext i32 %251 to i64 - %.not264 = icmp slt i64 %250, %252 - br i1 %.not264, label %272, label %253 + %.not262 = icmp slt i64 %250, %252 + br i1 %.not262, label %272, label %253 253: ; preds = %249 %254 = sub nsw i64 %250, %252 @@ -3719,18 +3719,18 @@ split: ; preds = %44, %22, %._crit_ed %274 = load ptr, ptr %0, align 8, !tbaa !17 %275 = getelementptr inbounds nuw i8, ptr %274, i64 8 %276 = load i32, ptr %275, align 8, !tbaa !69 - %spec.select270 = tail call i32 @llvm.umin.i32(i32 %.0, i32 %276) - %.not265 = icmp eq i32 %spec.select270, 0 - br i1 %.not265, label %308, label %277 + %spec.select268 = tail call i32 @llvm.umin.i32(i32 %.0, i32 %276) + %.not263 = icmp eq i32 %spec.select268, 0 + br i1 %.not263, label %308, label %277 277: ; preds = %272 %278 = load ptr, ptr %21, align 8, !tbaa !36 %279 = zext i32 %273 to i64 %280 = getelementptr inbounds nuw i8, ptr %278, i64 %279 - %281 = sub i32 %276, %spec.select270 + %281 = sub i32 %276, %spec.select268 store i32 %281, ptr %275, align 8, !tbaa !69 %282 = load ptr, ptr %274, align 8, !tbaa !70 - %283 = zext i32 %spec.select270 to i64 + %283 = zext i32 %spec.select268 to i64 tail call void @llvm.memcpy.p0.p0.i64(ptr align 1 %280, ptr align 1 %282, i64 %283, i1 false) %284 = getelementptr inbounds nuw i8, ptr %274, i64 56 %285 = load ptr, ptr %284, align 8, !tbaa !16 @@ -3744,18 +3744,18 @@ split: ; preds = %44, %22, %._crit_ed 288: ; preds = %277 %289 = getelementptr inbounds nuw i8, ptr %274, i64 96 %290 = load i64, ptr %289, align 8, !tbaa !68 - %291 = tail call i64 @adler32(i64 noundef %290, ptr noundef %280, i32 noundef %spec.select270) #11 + %291 = tail call i64 @adler32(i64 noundef %290, ptr noundef %280, i32 noundef %spec.select268) #11 store i64 %291, ptr %289, align 8, !tbaa !68 - br label %read_buf.exit275 + br label %read_buf.exit273 292: ; preds = %277 %293 = getelementptr inbounds nuw i8, ptr %274, i64 96 %294 = load i64, ptr %293, align 8, !tbaa !68 - %295 = tail call i64 @crc32(i64 noundef %294, ptr noundef %280, i32 noundef %spec.select270) #11 + %295 = tail call i64 @crc32(i64 noundef %294, ptr noundef %280, i32 noundef %spec.select268) #11 store i64 %295, ptr %293, align 8, !tbaa !68 - br label %read_buf.exit275 + br label %read_buf.exit273 -read_buf.exit275: ; preds = %277, %288, %292 +read_buf.exit273: ; preds = %277, %288, %292 %296 = load ptr, ptr %274, align 8, !tbaa !70 %297 = getelementptr inbounds nuw i8, ptr %296, i64 %283 store ptr %297, ptr %274, align 8, !tbaa !70 @@ -3764,18 +3764,18 @@ read_buf.exit275: ; preds = %277, %288, %292 %300 = add i64 %299, %283 store i64 %300, ptr %298, align 8, !tbaa !77 %301 = load i32, ptr %15, align 4, !tbaa !60 - %302 = add i32 %301, %spec.select270 + %302 = add i32 %301, %spec.select268 store i32 %302, ptr %15, align 4, !tbaa !60 %303 = load i32, ptr %6, align 8, !tbaa !30 %304 = getelementptr inbounds nuw i8, ptr %0, i64 5932 %305 = load i32, ptr %304, align 4, !tbaa !63 %306 = sub i32 %303, %305 - %.spec.select270 = tail call i32 @llvm.umin.i32(i32 %spec.select270, i32 %306) - %307 = add i32 %.spec.select270, %305 + %.spec.select268 = tail call i32 @llvm.umin.i32(i32 %spec.select268, i32 %306) + %307 = add i32 %.spec.select268, %305 store i32 %307, ptr %304, align 4, !tbaa !63 br label %308 -308: ; preds = %read_buf.exit275, %272 +308: ; preds = %read_buf.exit273, %272 %309 = phi i32 [ %302, %read_buf.exit275 ], [ %273, %272 ] %310 = load i64, ptr %226, align 8, !tbaa !39 %311 = zext i32 %309 to i64 @@ -3793,15 +3793,15 @@ read_buf.exit275: ; preds = %277, %288, %292 %318 = load i64, ptr %3, align 8, !tbaa !42 %319 = zext i32 %317 to i64 %320 = sub i64 %318, %319 - %spec.select271284 = tail call i64 @llvm.umin.i64(i64 %320, i64 65535) - %spec.select271 = trunc nuw nsw i64 %spec.select271284 to i32 + %spec.select269282 = tail call i64 @llvm.umin.i64(i64 %320, i64 65535) + %spec.select269 = trunc nuw nsw i64 %spec.select269282 to i32 %321 = load i32, ptr %6, align 8, !tbaa !30 - %322 = tail call i32 @llvm.umin.i32(i32 %321, i32 %spec.select271) + %322 = tail call i32 @llvm.umin.i32(i32 %321, i32 %spec.select269) %323 = load i64, ptr %16, align 8, !tbaa !61 %324 = trunc i64 %323 to i32 %325 = sub i32 %309, %324 - %.not266 = icmp ult i32 %325, %322 - br i1 %.not266, label %326, label %332 + %.not264 = icmp ult i32 %325, %322 + br i1 %.not264, label %326, label %332 326: ; preds = %314 %327 = icmp ne i32 %309, %324 @@ -3813,11 +3813,11 @@ read_buf.exit275: ; preds = %277, %288, %292 %329 = load ptr, ptr %0, align 8, !tbaa !17 %330 = getelementptr inbounds nuw i8, ptr %329, i64 8 %331 = load i32, ptr %330, align 8, !tbaa !69 - %.not285 = icmp eq i32 %331, 0 - br i1 %.not285, label %332, label %.critedge + %.not283 = icmp eq i32 %331, 0 + br i1 %.not283, label %332, label %.critedge 332: ; preds = %328, %314 - %333 = tail call i32 @llvm.umin.i32(i32 %325, i32 %spec.select271) + %333 = tail call i32 @llvm.umin.i32(i32 %325, i32 %spec.select269) br i1 %17, label %334, label %342 334: ; preds = %332 @@ -3828,7 +3828,7 @@ read_buf.exit275: ; preds = %277, %288, %292 br i1 %338, label %339, label %342 339: ; preds = %334 - %340 = icmp ule i32 %325, %spec.select271 + %340 = icmp ule i32 %325, %spec.select269 %341 = zext i1 %340 to i32 br label %342 @@ -3850,16 +3850,16 @@ read_buf.exit275: ; preds = %277, %288, %292 %354 = trunc i64 %353 to i32 %355 = getelementptr inbounds nuw i8, ptr %349, i64 32 %356 = load i32, ptr %355, align 8, !tbaa !92 - %spec.select.i276 = tail call i32 @llvm.umin.i32(i32 %356, i32 %354) - %357 = icmp eq i32 %spec.select.i276, 0 - br i1 %357, label %flush_pending.exit277, label %358 + %spec.select.i274 = tail call i32 @llvm.umin.i32(i32 %356, i32 %354) + %357 = icmp eq i32 %spec.select.i274, 0 + br i1 %357, label %flush_pending.exit275, label %358 358: ; preds = %342 %359 = getelementptr inbounds nuw i8, ptr %349, i64 24 %360 = load ptr, ptr %359, align 8, !tbaa !91 %361 = getelementptr inbounds nuw i8, ptr %351, i64 32 %362 = load ptr, ptr %361, align 8, !tbaa !83 - %363 = zext i32 %spec.select.i276 to i64 + %363 = zext i32 %spec.select.i274 to i64 tail call void @llvm.memcpy.p0.p0.i64(ptr align 1 %360, ptr align 1 %362, i64 %363, i1 false) %364 = load ptr, ptr %359, align 8, !tbaa !91 %365 = getelementptr inbounds nuw i8, ptr %364, i64 %363 @@ -3872,31 +3872,31 @@ read_buf.exit275: ; preds = %277, %288, %292 %370 = add i64 %369, %363 store i64 %370, ptr %368, align 8, !tbaa !93 %371 = load i32, ptr %355, align 8, !tbaa !92 - %372 = sub i32 %371, %spec.select.i276 + %372 = sub i32 %371, %spec.select.i274 store i32 %372, ptr %355, align 8, !tbaa !92 %373 = load i64, ptr %352, align 8, !tbaa !82 %374 = sub i64 %373, %363 store i64 %374, ptr %352, align 8, !tbaa !82 %375 = icmp eq i64 %373, %363 - br i1 %375, label %376, label %flush_pending.exit277 + br i1 %375, label %376, label %flush_pending.exit275 376: ; preds = %358 %377 = getelementptr inbounds nuw i8, ptr %351, i64 16 %378 = load ptr, ptr %377, align 8, !tbaa !41 store ptr %378, ptr %361, align 8, !tbaa !83 - br label %flush_pending.exit277 + br label %flush_pending.exit275 -flush_pending.exit277: ; preds = %342, %358, %376 +flush_pending.exit275: ; preds = %342, %358, %376 %379 = icmp eq i32 %343, 0 br i1 %379, label %.critedge, label %.critedge.sink.split -.critedge.sink.split: ; preds = %flush_pending.exit277, %230 +.critedge.sink.split: ; preds = %flush_pending.exit275, %230 %.0228.ph = phi i32 [ 3, %230 ], [ 2, %flush_pending.exit277 ] %380 = getelementptr inbounds nuw i8, ptr %0, i64 5944 store i32 8, ptr %380, align 8, !tbaa !86 br label %.critedge -.critedge: ; preds = %.critedge.sink.split, %flush_pending.exit277, %326, %328, %237 +.critedge: ; preds = %.critedge.sink.split, %flush_pending.exit275, %326, %328, %237 %.0228 = phi i32 [ 1, %237 ], [ 0, %flush_pending.exit277 ], [ 0, %326 ], [ 0, %328 ], [ %.0228.ph, %.critedge.sink.split ] ret i32 %.0228 } diff --git a/bench/zstd/optimized/zstd_opt.ll b/bench/zstd/optimized/zstd_opt.ll index bdb1d494227..c975bfa0d89 100644 --- a/bench/zstd/optimized/zstd_opt.ll +++ b/bench/zstd/optimized/zstd_opt.ll @@ -9697,9 +9697,9 @@ ZSTD_count.exit52: ; preds = %226, %.thread63.i51 %.4417.i = phi i32 [ %.0413.i.lcssa, %.thread88 ], [ %.0413.i.lcssa, %ZSTD_count.exit52 ], [ 1, %263 ], [ %.0413.i.lcssa, %ZSTD_insertAndFindFirstIndexHash3.exit ] store i32 %.pre-phi221, ptr %40, align 4, !tbaa !23 %.not205 = icmp ult i32 %41, %62 - br i1 %.not205, label %.thread101.thread251, label %.lr.ph165 + br i1 %.not205, label %.thread101.thread244, label %.lr.ph165 -.thread101.thread251: ; preds = %.thread95 +.thread101.thread244: ; preds = %.thread95 store i32 0, ptr %67, align 4, !tbaa !23 store i32 0, ptr %66, align 4, !tbaa !23 br label %358 @@ -9901,11 +9901,11 @@ ZSTD_count.exit80: ; preds = %290, %.thread63.i79 %.not = icmp eq i32 %.0427.i.lcssa, 0 br i1 %.not, label %.thread114, label %358 -358: ; preds = %.thread101.thread251, %.thread101 - %.1401.i262 = phi i32 [ %68, %.thread101.thread251 ], [ %.2402.i, %.thread101 ] - %.10423.i261 = phi i32 [ %.4417.i, %.thread101.thread251 ], [ %.11.i, %.thread101 ] - %.10442.i260 = phi i64 [ %.4436.i, %.thread101.thread251 ], [ %.11443.i, %.thread101 ] - %.0427.i.lcssa259 = phi i32 [ %71, %.thread101.thread251 ], [ %.0427.i.lcssa, %.thread101 ] +358: ; preds = %.thread101.thread244, %.thread101 + %.1401.i255 = phi i32 [ %68, %.thread101.thread251 ], [ %.2402.i, %.thread101 ] + %.10423.i254 = phi i32 [ %.4417.i, %.thread101.thread251 ], [ %.11.i, %.thread101 ] + %.10442.i253 = phi i64 [ %.4436.i, %.thread101.thread251 ], [ %.11443.i, %.thread101 ] + %.0427.i.lcssa252 = phi i32 [ %71, %.thread101.thread251 ], [ %.0427.i.lcssa, %.thread101 ] %.val = load i32, ptr %3, align 1, !tbaa !23 %359 = mul i32 %.val, -1640531535 %360 = sub i32 32, %85 @@ -9931,10 +9931,10 @@ ZSTD_count.exit80: ; preds = %290, %.thread63.i79 %.0374.i193 = phi i32 [ %.0374.i186, %.lr.ph194 ], [ %.0374.i, %403 ] %.3380.i192 = phi i64 [ 0, %.lr.ph194 ], [ %.5382.i, %403 ] %.3388.i191 = phi i64 [ 0, %.lr.ph194 ], [ %.5390.i, %403 ] - %.6406.i190 = phi i32 [ %.1401.i262, %.lr.ph194 ], [ %.8.i, %403 ] - %.14.i189 = phi i32 [ %.10423.i261, %.lr.ph194 ], [ %.16.i, %403 ] - %.4431.i188 = phi i32 [ %.0427.i.lcssa259, %.lr.ph194 ], [ %409, %403 ] - %.13445.i187 = phi i64 [ %.10442.i260, %.lr.ph194 ], [ %.14446.i, %403 ] + %.6406.i190 = phi i32 [ %.1401.i255, %.lr.ph194 ], [ %.8.i, %403 ] + %.14.i189 = phi i32 [ %.10423.i254, %.lr.ph194 ], [ %.16.i, %403 ] + %.4431.i188 = phi i32 [ %.0427.i.lcssa252, %.lr.ph194 ], [ %409, %403 ] + %.13445.i187 = phi i64 [ %.10442.i253, %.lr.ph194 ], [ %.14446.i, %403 ] %373 = and i32 %.0374.i193, %89 %374 = shl nuw i32 %373, 1 %375 = zext i32 %374 to i64 @@ -9999,8 +9999,8 @@ ZSTD_count.exit80: ; preds = %290, %.thread63.i79 br i1 %412, label %372, label %.thread114, !llvm.loop !124 .thread114: ; preds = %403, %386, %402, %358, %.thread101.thread, %.thread101 - %.13.i = phi i32 [ %.11.i, %.thread101 ], [ %338, %.thread101.thread ], [ %.10423.i261, %358 ], [ %.16.i, %403 ], [ %397, %386 ], [ %.16.i, %402 ] - %.5405.i = phi i32 [ %.2402.i, %.thread101 ], [ %.3403.i, %.thread101.thread ], [ %.1401.i262, %358 ], [ %.8.i, %403 ], [ %.9.i, %386 ], [ %.8.i, %402 ] + %.13.i = phi i32 [ %.11.i, %.thread101 ], [ %338, %.thread101.thread ], [ %.10423.i254, %358 ], [ %.16.i, %403 ], [ %397, %386 ], [ %.16.i, %402 ] + %.5405.i = phi i32 [ %.2402.i, %.thread101 ], [ %.3403.i, %.thread101.thread ], [ %.1401.i255, %358 ], [ %.8.i, %403 ], [ %.9.i, %386 ], [ %.8.i, %402 ] %413 = add i32 %.5405.i, -8 br label %ZSTD_insertBtAndGetAllMatches.exit.sink.split @@ -10346,9 +10346,9 @@ ZSTD_count.exit: ; preds = %132, %.thread63.i, %.0413.i.lcssa = phi i32 [ 0, %ZSTD_updateTree_internal.exit.i ], [ %.2415.i56, %.thread ] store i32 %.pre-phi177, ptr %40, align 4, !tbaa !23 %.not164 = icmp ult i32 %41, %62 - br i1 %.not164, label %.thread64.thread202, label %.lr.ph124 + br i1 %.not164, label %.thread64.thread196, label %.lr.ph124 -.thread64.thread202: ; preds = %.thread58 +.thread64.thread196: ; preds = %.thread58 store i32 0, ptr %67, align 4, !tbaa !23 store i32 0, ptr %66, align 4, !tbaa !23 br label %278 @@ -10550,11 +10550,11 @@ ZSTD_count.exit50: ; preds = %210, %.thread63.i49 %.not = icmp eq i32 %.0427.i.lcssa, 0 br i1 %.not, label %.thread77, label %278 -278: ; preds = %.thread64.thread202, %.thread64 - %.1401.i213 = phi i32 [ %68, %.thread64.thread202 ], [ %.2402.i, %.thread64 ] - %.10423.i212 = phi i32 [ %.0413.i.lcssa, %.thread64.thread202 ], [ %.11.i, %.thread64 ] - %.10442.i211 = phi i64 [ %.0432.i.lcssa, %.thread64.thread202 ], [ %.11443.i, %.thread64 ] - %.0427.i.lcssa210 = phi i32 [ %71, %.thread64.thread202 ], [ %.0427.i.lcssa, %.thread64 ] +278: ; preds = %.thread64.thread196, %.thread64 + %.1401.i207 = phi i32 [ %68, %.thread64.thread202 ], [ %.2402.i, %.thread64 ] + %.10423.i206 = phi i32 [ %.0413.i.lcssa, %.thread64.thread202 ], [ %.11.i, %.thread64 ] + %.10442.i205 = phi i64 [ %.0432.i.lcssa, %.thread64.thread202 ], [ %.11443.i, %.thread64 ] + %.0427.i.lcssa204 = phi i32 [ %71, %.thread64.thread202 ], [ %.0427.i.lcssa, %.thread64 ] %.val = load i32, ptr %3, align 1, !tbaa !23 %279 = mul i32 %.val, -1640531535 %280 = sub i32 32, %85 @@ -10580,10 +10580,10 @@ ZSTD_count.exit50: ; preds = %210, %.thread63.i49 %.0374.i152 = phi i32 [ %.0374.i145, %.lr.ph153 ], [ %.0374.i, %323 ] %.3380.i151 = phi i64 [ 0, %.lr.ph153 ], [ %.5382.i, %323 ] %.3388.i150 = phi i64 [ 0, %.lr.ph153 ], [ %.5390.i, %323 ] - %.6406.i149 = phi i32 [ %.1401.i213, %.lr.ph153 ], [ %.8.i, %323 ] - %.14.i148 = phi i32 [ %.10423.i212, %.lr.ph153 ], [ %.16.i, %323 ] - %.4431.i147 = phi i32 [ %.0427.i.lcssa210, %.lr.ph153 ], [ %329, %323 ] - %.13445.i146 = phi i64 [ %.10442.i211, %.lr.ph153 ], [ %.14446.i, %323 ] + %.6406.i149 = phi i32 [ %.1401.i207, %.lr.ph153 ], [ %.8.i, %323 ] + %.14.i148 = phi i32 [ %.10423.i206, %.lr.ph153 ], [ %.16.i, %323 ] + %.4431.i147 = phi i32 [ %.0427.i.lcssa204, %.lr.ph153 ], [ %329, %323 ] + %.13445.i146 = phi i64 [ %.10442.i205, %.lr.ph153 ], [ %.14446.i, %323 ] %293 = and i32 %.0374.i152, %89 %294 = shl nuw i32 %293, 1 %295 = zext i32 %294 to i64 @@ -10648,8 +10648,8 @@ ZSTD_count.exit50: ; preds = %210, %.thread63.i49 br i1 %332, label %292, label %.thread77, !llvm.loop !124 .thread77: ; preds = %323, %306, %322, %278, %.thread64.thread, %.thread64 - %.13.i = phi i32 [ %.11.i, %.thread64 ], [ %258, %.thread64.thread ], [ %.10423.i212, %278 ], [ %.16.i, %323 ], [ %317, %306 ], [ %.16.i, %322 ] - %.5405.i = phi i32 [ %.2402.i, %.thread64 ], [ %.3403.i, %.thread64.thread ], [ %.1401.i213, %278 ], [ %.8.i, %323 ], [ %.9.i, %306 ], [ %.8.i, %322 ] + %.13.i = phi i32 [ %.11.i, %.thread64 ], [ %258, %.thread64.thread ], [ %.10423.i206, %278 ], [ %.16.i, %323 ], [ %317, %306 ], [ %.16.i, %322 ] + %.5405.i = phi i32 [ %.2402.i, %.thread64 ], [ %.3403.i, %.thread64.thread ], [ %.1401.i207, %278 ], [ %.8.i, %323 ], [ %.9.i, %306 ], [ %.8.i, %322 ] %333 = add i32 %.5405.i, -8 store i32 %333, ptr %12, align 4, !tbaa !17 br label %ZSTD_insertBtAndGetAllMatches.exit @@ -10990,9 +10990,9 @@ ZSTD_count.exit: ; preds = %132, %.thread63.i, %.0413.i.lcssa = phi i32 [ 0, %ZSTD_updateTree_internal.exit.i ], [ %.2415.i56, %.thread ] store i32 %.pre-phi177, ptr %40, align 4, !tbaa !23 %.not164 = icmp ult i32 %41, %62 - br i1 %.not164, label %.thread64.thread204, label %.lr.ph124 + br i1 %.not164, label %.thread64.thread196, label %.lr.ph124 -.thread64.thread204: ; preds = %.thread58 +.thread64.thread196: ; preds = %.thread58 store i32 0, ptr %67, align 4, !tbaa !23 store i32 0, ptr %66, align 4, !tbaa !23 br label %278 @@ -11194,11 +11194,11 @@ ZSTD_count.exit50: ; preds = %210, %.thread63.i49 %.not = icmp eq i32 %.0427.i.lcssa, 0 br i1 %.not, label %.thread77, label %278 -278: ; preds = %.thread64.thread204, %.thread64 - %.1401.i215 = phi i32 [ %68, %.thread64.thread204 ], [ %.2402.i, %.thread64 ] - %.10423.i214 = phi i32 [ %.0413.i.lcssa, %.thread64.thread204 ], [ %.11.i, %.thread64 ] - %.10442.i213 = phi i64 [ %.0432.i.lcssa, %.thread64.thread204 ], [ %.11443.i, %.thread64 ] - %.0427.i.lcssa212 = phi i32 [ %71, %.thread64.thread204 ], [ %.0427.i.lcssa, %.thread64 ] +278: ; preds = %.thread64.thread196, %.thread64 + %.1401.i207 = phi i32 [ %68, %.thread64.thread204 ], [ %.2402.i, %.thread64 ] + %.10423.i206 = phi i32 [ %.0413.i.lcssa, %.thread64.thread204 ], [ %.11.i, %.thread64 ] + %.10442.i205 = phi i64 [ %.0432.i.lcssa, %.thread64.thread204 ], [ %.11443.i, %.thread64 ] + %.0427.i.lcssa204 = phi i32 [ %71, %.thread64.thread204 ], [ %.0427.i.lcssa, %.thread64 ] %279 = sub i32 64, %85 %280 = zext nneg i32 %279 to i64 %281 = lshr i64 %36, %280 @@ -11222,10 +11222,10 @@ ZSTD_count.exit50: ; preds = %210, %.thread63.i49 %.0374.i152 = phi i32 [ %.0374.i145, %.lr.ph153 ], [ %.0374.i, %322 ] %.3380.i151 = phi i64 [ 0, %.lr.ph153 ], [ %.5382.i, %322 ] %.3388.i150 = phi i64 [ 0, %.lr.ph153 ], [ %.5390.i, %322 ] - %.6406.i149 = phi i32 [ %.1401.i215, %.lr.ph153 ], [ %.8.i, %322 ] - %.14.i148 = phi i32 [ %.10423.i214, %.lr.ph153 ], [ %.16.i, %322 ] - %.4431.i147 = phi i32 [ %.0427.i.lcssa212, %.lr.ph153 ], [ %328, %322 ] - %.13445.i146 = phi i64 [ %.10442.i213, %.lr.ph153 ], [ %.14446.i, %322 ] + %.6406.i149 = phi i32 [ %.1401.i207, %.lr.ph153 ], [ %.8.i, %322 ] + %.14.i148 = phi i32 [ %.10423.i206, %.lr.ph153 ], [ %.16.i, %322 ] + %.4431.i147 = phi i32 [ %.0427.i.lcssa204, %.lr.ph153 ], [ %328, %322 ] + %.13445.i146 = phi i64 [ %.10442.i205, %.lr.ph153 ], [ %.14446.i, %322 ] %292 = and i32 %.0374.i152, %89 %293 = shl nuw i32 %292, 1 %294 = zext i32 %293 to i64 @@ -11290,8 +11290,8 @@ ZSTD_count.exit50: ; preds = %210, %.thread63.i49 br i1 %331, label %291, label %.thread77, !llvm.loop !124 .thread77: ; preds = %322, %305, %321, %278, %.thread64.thread, %.thread64 - %.13.i = phi i32 [ %.11.i, %.thread64 ], [ %258, %.thread64.thread ], [ %.10423.i214, %278 ], [ %.16.i, %322 ], [ %316, %305 ], [ %.16.i, %321 ] - %.5405.i = phi i32 [ %.2402.i, %.thread64 ], [ %.3403.i, %.thread64.thread ], [ %.1401.i215, %278 ], [ %.8.i, %322 ], [ %.9.i, %305 ], [ %.8.i, %321 ] + %.13.i = phi i32 [ %.11.i, %.thread64 ], [ %258, %.thread64.thread ], [ %.10423.i206, %278 ], [ %.16.i, %322 ], [ %316, %305 ], [ %.16.i, %321 ] + %.5405.i = phi i32 [ %.2402.i, %.thread64 ], [ %.3403.i, %.thread64.thread ], [ %.1401.i207, %278 ], [ %.8.i, %322 ], [ %.9.i, %305 ], [ %.8.i, %321 ] %332 = add i32 %.5405.i, -8 store i32 %332, ptr %12, align 4, !tbaa !17 br label %ZSTD_insertBtAndGetAllMatches.exit @@ -11632,9 +11632,9 @@ ZSTD_count.exit: ; preds = %132, %.thread63.i, %.0413.i.lcssa = phi i32 [ 0, %ZSTD_updateTree_internal.exit.i ], [ %.2415.i56, %.thread ] store i32 %.pre-phi177, ptr %40, align 4, !tbaa !23 %.not164 = icmp ult i32 %41, %62 - br i1 %.not164, label %.thread64.thread201, label %.lr.ph124 + br i1 %.not164, label %.thread64.thread196, label %.lr.ph124 -.thread64.thread201: ; preds = %.thread58 +.thread64.thread196: ; preds = %.thread58 store i32 0, ptr %67, align 4, !tbaa !23 store i32 0, ptr %66, align 4, !tbaa !23 br label %278 @@ -11836,11 +11836,11 @@ ZSTD_count.exit50: ; preds = %210, %.thread63.i49 %.not = icmp eq i32 %.0427.i.lcssa, 0 br i1 %.not, label %.thread77, label %278 -278: ; preds = %.thread64.thread201, %.thread64 - %.1401.i212 = phi i32 [ %68, %.thread64.thread201 ], [ %.2402.i, %.thread64 ] - %.10423.i211 = phi i32 [ %.0413.i.lcssa, %.thread64.thread201 ], [ %.11.i, %.thread64 ] - %.10442.i210 = phi i64 [ %.0432.i.lcssa, %.thread64.thread201 ], [ %.11443.i, %.thread64 ] - %.0427.i.lcssa209 = phi i32 [ %71, %.thread64.thread201 ], [ %.0427.i.lcssa, %.thread64 ] +278: ; preds = %.thread64.thread196, %.thread64 + %.1401.i207 = phi i32 [ %68, %.thread64.thread201 ], [ %.2402.i, %.thread64 ] + %.10423.i206 = phi i32 [ %.0413.i.lcssa, %.thread64.thread201 ], [ %.11.i, %.thread64 ] + %.10442.i205 = phi i64 [ %.0432.i.lcssa, %.thread64.thread201 ], [ %.11443.i, %.thread64 ] + %.0427.i.lcssa204 = phi i32 [ %71, %.thread64.thread201 ], [ %.0427.i.lcssa, %.thread64 ] %279 = sub i32 64, %85 %280 = zext nneg i32 %279 to i64 %281 = lshr i64 %36, %280 @@ -11864,10 +11864,10 @@ ZSTD_count.exit50: ; preds = %210, %.thread63.i49 %.0374.i152 = phi i32 [ %.0374.i145, %.lr.ph153 ], [ %.0374.i, %322 ] %.3380.i151 = phi i64 [ 0, %.lr.ph153 ], [ %.5382.i, %322 ] %.3388.i150 = phi i64 [ 0, %.lr.ph153 ], [ %.5390.i, %322 ] - %.6406.i149 = phi i32 [ %.1401.i212, %.lr.ph153 ], [ %.8.i, %322 ] - %.14.i148 = phi i32 [ %.10423.i211, %.lr.ph153 ], [ %.16.i, %322 ] - %.4431.i147 = phi i32 [ %.0427.i.lcssa209, %.lr.ph153 ], [ %328, %322 ] - %.13445.i146 = phi i64 [ %.10442.i210, %.lr.ph153 ], [ %.14446.i, %322 ] + %.6406.i149 = phi i32 [ %.1401.i207, %.lr.ph153 ], [ %.8.i, %322 ] + %.14.i148 = phi i32 [ %.10423.i206, %.lr.ph153 ], [ %.16.i, %322 ] + %.4431.i147 = phi i32 [ %.0427.i.lcssa204, %.lr.ph153 ], [ %328, %322 ] + %.13445.i146 = phi i64 [ %.10442.i205, %.lr.ph153 ], [ %.14446.i, %322 ] %292 = and i32 %.0374.i152, %89 %293 = shl nuw i32 %292, 1 %294 = zext i32 %293 to i64 @@ -11932,8 +11932,8 @@ ZSTD_count.exit50: ; preds = %210, %.thread63.i49 br i1 %331, label %291, label %.thread77, !llvm.loop !124 .thread77: ; preds = %322, %305, %321, %278, %.thread64.thread, %.thread64 - %.13.i = phi i32 [ %.11.i, %.thread64 ], [ %258, %.thread64.thread ], [ %.10423.i211, %278 ], [ %.16.i, %322 ], [ %316, %305 ], [ %.16.i, %321 ] - %.5405.i = phi i32 [ %.2402.i, %.thread64 ], [ %.3403.i, %.thread64.thread ], [ %.1401.i212, %278 ], [ %.8.i, %322 ], [ %.9.i, %305 ], [ %.8.i, %321 ] + %.13.i = phi i32 [ %.11.i, %.thread64 ], [ %258, %.thread64.thread ], [ %.10423.i206, %278 ], [ %.16.i, %322 ], [ %316, %305 ], [ %.16.i, %321 ] + %.5405.i = phi i32 [ %.2402.i, %.thread64 ], [ %.3403.i, %.thread64.thread ], [ %.1401.i207, %278 ], [ %.8.i, %322 ], [ %.9.i, %305 ], [ %.8.i, %321 ] %332 = add i32 %.5405.i, -8 store i32 %332, ptr %12, align 4, !tbaa !17 br label %ZSTD_insertBtAndGetAllMatches.exit diff --git a/bench/zxing/optimized/zueci.ll b/bench/zxing/optimized/zueci.ll index a824b1399c0..75ed88a9607 100644 --- a/bench/zxing/optimized/zueci.ll +++ b/bench/zxing/optimized/zueci.ll @@ -5664,12 +5664,12 @@ switch.early.test: ; preds = %8 %31 = or disjoint i32 %30, %13 %32 = add nsw i32 %31, -41380 %or.cond = icmp ult i32 %32, 23724 - br i1 %or.cond, label %.preheader, label %.critedge114 + br i1 %or.cond, label %.preheader, label %.critedge112 .preheader: ; preds = %29, %49 - %.092120 = phi i32 [ %.294, %49 ], [ 208, %29 ] - %.095119 = phi i32 [ %.297, %49 ], [ 0, %29 ] - %33 = add nuw nsw i32 %.092120, %.095119 + %.092118 = phi i32 [ %.294, %49 ], [ 208, %29 ] + %.095117 = phi i32 [ %.297, %49 ], [ 0, %29 ] + %33 = add nuw nsw i32 %.092118, %.095117 %34 = lshr i32 %33, 1 %35 = zext nneg i32 %34 to i64 %36 = getelementptr inbounds nuw i16, ptr @zueci_gbk_nonuro_mb, i64 %35 @@ -5697,27 +5697,27 @@ switch.early.test: ; preds = %8 br label %.sink.split 49: ; preds = %40, %44 - %.297 = phi i32 [ %41, %40 ], [ %.095119, %44 ] - %.294 = phi i32 [ %.092120, %40 ], [ %45, %44 ] - %.not110 = icmp sgt i32 %.297, %.294 - br i1 %.not110, label %.critedge114, label %.preheader, !llvm.loop !38 + %.297 = phi i32 [ %41, %40 ], [ %.095117, %44 ] + %.294 = phi i32 [ %.092118, %40 ], [ %45, %44 ] + %.not108 = icmp sgt i32 %.297, %.294 + br i1 %.not108, label %.critedge112, label %.preheader, !llvm.loop !38 -.critedge114: ; preds = %49, %29 +.critedge112: ; preds = %49, %29 br i1 %18, label %50, label %53 -50: ; preds = %.critedge114 +50: ; preds = %.critedge112 %51 = icmp samesign ult i8 %5, -88 %52 = icmp ugt i8 %12, -96 - %or.cond115 = or i1 %51, %52 - br i1 %or.cond115, label %67, label %53 + %or.cond113 = or i1 %51, %52 + br i1 %or.cond113, label %67, label %53 -53: ; preds = %.critedge114, %50 - %.sink134 = phi i32 [ 96, %50 ], [ 190, %.critedge114 ] - %.sink132 = phi i32 [ -10112, %50 ], [ -24574, %.critedge114 ] - %54 = mul nuw nsw i32 %.sink134, %6 +53: ; preds = %.critedge112, %50 + %.sink132 = phi i32 [ 96, %50 ], [ 190, %.critedge114 ] + %.sink130 = phi i32 [ -10112, %50 ], [ -24574, %.critedge114 ] + %54 = mul nuw nsw i32 %.sink132, %6 %55 = ashr i8 %12, 7 %56 = sext i8 %55 to i32 - %57 = add nsw i32 %54, %.sink132 + %57 = add nsw i32 %54, %.sink130 %58 = add nsw i32 %57, %13 %59 = add nsw i32 %58, %56 %60 = icmp slt i32 %59, 14352 @@ -5727,8 +5727,8 @@ switch.early.test: ; preds = %8 %62 = sext i32 %59 to i64 %63 = getelementptr inbounds i16, ptr @zueci_gbk_mb_u, i64 %62 %64 = load i16, ptr %63, align 2, !tbaa !14 - %.not112 = icmp eq i16 %64, 0 - br i1 %.not112, label %67, label %65 + %.not110 = icmp eq i16 %64, 0 + br i1 %.not110, label %67, label %65 65: ; preds = %61 %66 = zext i16 %64 to i32 @@ -5750,22 +5750,22 @@ define internal range(i32 0, 5) i32 @zueci_gb18030_u(ptr noundef readonly captur %5 = load i8, ptr %0, align 1, !tbaa !3 %6 = zext i8 %5 to i32 %7 = icmp sgt i8 %5, -1 - br i1 %7, label %.critedge196.sink.split, label %8 + br i1 %7, label %.critedge195.sink.split, label %8 8: ; preds = %4 %9 = icmp ult i32 %1, 2 - br i1 %9, label %.critedge196, label %switch.early.test + br i1 %9, label %.critedge195, label %switch.early.test switch.early.test: ; preds = %8 switch i8 %5, label %10 [ - i8 -1, label %.critedge196 - i8 -128, label %.critedge196 + i8 -1, label %.critedge195 + i8 -128, label %.critedge195 ] 10: ; preds = %switch.early.test %11 = tail call i32 @zueci_gbk_u(ptr noundef nonnull %0, i32 noundef %1, i32 poison, ptr noundef %3) %.not = icmp eq i32 %11, 0 - br i1 %.not, label %12, label %.critedge196 + br i1 %.not, label %12, label %.critedge195 12: ; preds = %10 %13 = getelementptr inbounds nuw i8, ptr %0, i64 1 @@ -5793,7 +5793,7 @@ switch.early.test: ; preds = %8 %31 = zext i8 %24 to i32 %32 = or disjoint i32 %30, %31 %33 = icmp samesign ult i32 %32, -2127527632 - br i1 %33, label %.critedge196, label %34 + br i1 %33, label %.critedge195, label %34 34: ; preds = %20 %35 = add nsw i32 %32, 2077121478 @@ -5806,11 +5806,11 @@ switch.early.test: ; preds = %8 %39 = add i8 %24, -58 %40 = icmp ult i8 %39, -10 %or.cond34 = or i1 %40, %or.cond28 - br i1 %or.cond34, label %.critedge196, label %41 + br i1 %or.cond34, label %.critedge195, label %41 41: ; preds = %34 %42 = icmp eq i32 %32, -2127170505 - br i1 %42, label %.critedge196.sink.split, label %43 + br i1 %42, label %.critedge195.sink.split, label %43 43: ; preds = %41 %44 = icmp samesign ugt i8 %5, -113 @@ -5824,20 +5824,20 @@ switch.early.test: ; preds = %8 %50 = mul nuw nsw i32 %49, 10 %51 = add nuw nsw i32 %31, -1810682 %52 = add nsw i32 %51, %50 - br label %.critedge196.sink.split + br label %.critedge195.sink.split .preheader: ; preds = %43, %.preheader - %.0178210 = phi i32 [ %.1179, %.preheader ], [ 205, %43 ] - %.0180209 = phi i32 [ %.1181, %.preheader ], [ 0, %43 ] - %53 = add nuw nsw i32 %.0178210, %.0180209 + %.0178209 = phi i32 [ %.1179, %.preheader ], [ 205, %43 ] + %.0180208 = phi i32 [ %.1181, %.preheader ], [ 0, %43 ] + %53 = add nuw nsw i32 %.0178209, %.0180208 %54 = lshr i32 %53, 1 %55 = zext nneg i32 %54 to i64 %56 = getelementptr inbounds nuw i32, ptr @zueci_gb18030_4_mb_e, i64 %55 %57 = load i32, ptr %56, align 4, !tbaa !12 %58 = icmp ult i32 %57, %32 %59 = add nuw nsw i32 %54, 1 - %.1181 = select i1 %58, i32 %59, i32 %.0180209 - %.1179 = select i1 %58, i32 %.0178210, i32 %54 + %.1181 = select i1 %58, i32 %59, i32 %.0180208 + %.1179 = select i1 %58, i32 %.0178209, i32 %54 %60 = icmp slt i32 %.1181, %.1179 br i1 %60, label %.preheader, label %61, !llvm.loop !39 @@ -5854,27 +5854,27 @@ switch.early.test: ; preds = %8 %71 = mul nuw nsw i32 %68, 10 %72 = and i32 %69, 255 %73 = add nuw nsw i32 %71, %72 - %.neg211 = mul nsw i32 %73, -126 + %.neg210 = mul nsw i32 %73, -126 %74 = and i32 %70, 255 - %.neg212 = sub nsw i32 %.neg211, %74 + %.neg211 = sub nsw i32 %.neg210, %74 %75 = and i32 %67, 255 %76 = mul nuw nsw i32 %6, 10 %77 = add nuw nsw i32 %76, %16 %78 = mul nuw nsw i32 %77, 126 %79 = add nuw nsw i32 %78, %27 - %reass.add = add nsw i32 %79, %.neg212 + %reass.add = add nsw i32 %79, %.neg211 %reass.mul = mul nsw i32 %reass.add, 10 %80 = add nuw nsw i32 %65, %31 - %.neg194 = sub nsw i32 %80, %75 - %81 = add nsw i32 %.neg194, %reass.mul - br label %.critedge196.sink.split + %.neg193 = sub nsw i32 %80, %75 + %81 = add nsw i32 %.neg193, %reass.mul + br label %.critedge195.sink.split 82: ; preds = %12 %83 = icmp eq i8 %14, 127 %84 = add i8 %14, 1 %85 = icmp ult i8 %84, 65 %or.cond40 = or i1 %83, %85 - br i1 %or.cond40, label %.critedge196, label %86 + br i1 %or.cond40, label %.critedge195, label %86 86: ; preds = %82 %87 = add nsw i8 %5, 86 @@ -5889,7 +5889,7 @@ switch.early.test: ; preds = %8 91: ; preds = %86 %.old48 = icmp ugt i8 %14, -96 - br i1 %.old48, label %92, label %.thread199 + br i1 %.old48, label %92, label %.thread198 92: ; preds = %91, %88 %93 = icmp samesign ugt i8 %5, -9 @@ -5898,7 +5898,7 @@ switch.early.test: ; preds = %8 %95 = mul nsw i32 %94, 94 %96 = add nsw i32 %95, 57183 %97 = add nuw nsw i32 %96, %16 - br label %.critedge196.sink.split + br label %.critedge195.sink.split 98: ; preds = %88 %99 = add nsw i8 %5, 95 @@ -5914,18 +5914,18 @@ switch.early.test: ; preds = %8 %105 = add nuw nsw i32 %102, 43046 %106 = add nuw nsw i32 %105, %16 %107 = add nsw i32 %106, %104 - br label %.critedge196.sink.split + br label %.critedge195.sink.split 108: ; preds = %98 %109 = icmp eq i8 %5, -2 %110 = add i8 %14, -81 %111 = icmp ult i8 %110, 65 %or.cond65 = select i1 %109, i1 %111, i1 false - br i1 %or.cond65, label %112, label %.thread199 + br i1 %or.cond65, label %112, label %.thread198 112: ; preds = %108 switch i8 %14, label %.thread199 [ - i8 81, label %.critedge196.sink.split + i8 81, label %.critedge195.sink.split i8 82, label %113 i8 83, label %114 i8 108, label %115 @@ -5934,31 +5934,31 @@ switch.early.test: ; preds = %8 ] 113: ; preds = %112 - br label %.critedge196.sink.split + br label %.critedge195.sink.split 114: ; preds = %112 - br label %.critedge196.sink.split + br label %.critedge195.sink.split 115: ; preds = %112 - br label %.critedge196.sink.split + br label %.critedge195.sink.split 116: ; preds = %112 - br label %.critedge196.sink.split + br label %.critedge195.sink.split 117: ; preds = %112 - br label %.critedge196.sink.split + br label %.critedge195.sink.split -.thread199: ; preds = %91, %112, %108 +.thread198: ; preds = %91, %112, %108 %118 = shl nuw nsw i32 %6, 8 %119 = or disjoint i32 %118, %16 %120 = add nsw i32 %119, -41643 %or.cond = icmp ult i32 %120, 23542 - br i1 %or.cond, label %.preheader206, label %.critedge196 + br i1 %or.cond, label %.preheader205, label %.critedge195 -.preheader206: ; preds = %.thread199, %137 - %.0170208 = phi i32 [ %.2172, %137 ], [ 254, %.thread199 ] - %.0173207 = phi i32 [ %.2175, %137 ], [ 0, %.thread199 ] - %121 = add nuw nsw i32 %.0170208, %.0173207 +.preheader205: ; preds = %.thread198, %137 + %.0170207 = phi i32 [ %.2172, %137 ], [ 254, %.thread199 ] + %.0173206 = phi i32 [ %.2175, %137 ], [ 0, %.thread199 ] + %121 = add nuw nsw i32 %.0170207, %.0173206 %122 = lshr i32 %121, 1 %123 = zext nneg i32 %122 to i64 %124 = getelementptr inbounds nuw i16, ptr @zueci_gb18030_2_mb_mb, i64 %123 @@ -5967,11 +5967,11 @@ switch.early.test: ; preds = %8 %127 = icmp samesign ugt i32 %119, %126 br i1 %127, label %128, label %130 -128: ; preds = %.preheader206 +128: ; preds = %.preheader205 %129 = add nuw nsw i32 %122, 1 br label %137 -130: ; preds = %.preheader206 +130: ; preds = %.preheader205 %131 = icmp samesign ult i32 %119, %126 br i1 %131, label %132, label %.critedge @@ -5983,21 +5983,21 @@ switch.early.test: ; preds = %8 %134 = getelementptr inbounds nuw i16, ptr @zueci_gb18030_2_mb_u, i64 %123 %135 = load i16, ptr %134, align 2, !tbaa !14 %136 = zext i16 %135 to i32 - br label %.critedge196.sink.split + br label %.critedge195.sink.split 137: ; preds = %128, %132 - %.2175 = phi i32 [ %129, %128 ], [ %.0173207, %132 ] - %.2172 = phi i32 [ %.0170208, %128 ], [ %133, %132 ] - %.not193 = icmp sgt i32 %.2175, %.2172 - br i1 %.not193, label %.critedge196, label %.preheader206, !llvm.loop !40 + %.2175 = phi i32 [ %129, %128 ], [ %.0173206, %132 ] + %.2172 = phi i32 [ %.0170207, %128 ], [ %133, %132 ] + %.not192 = icmp sgt i32 %.2175, %.2172 + br i1 %.not192, label %.critedge195, label %.preheader205, !llvm.loop !40 -.critedge196.sink.split: ; preds = %112, %45, %61, %41, %4, %92, %101, %113, %114, %115, %116, %117, %.critedge +.critedge195.sink.split: ; preds = %112, %45, %61, %41, %4, %92, %101, %113, %114, %115, %116, %117, %.critedge %.sink = phi i32 [ %136, %.critedge ], [ 147966, %117 ], [ 141711, %116 ], [ 136663, %115 ], [ 131276, %114 ], [ 131209, %113 ], [ %107, %101 ], [ %97, %92 ], [ %6, %4 ], [ 59335, %41 ], [ %81, %61 ], [ %52, %45 ], [ 131207, %112 ] %.0.ph = phi i32 [ 2, %.critedge ], [ 2, %117 ], [ 2, %116 ], [ 2, %115 ], [ 2, %114 ], [ 2, %113 ], [ 2, %101 ], [ 2, %92 ], [ 1, %4 ], [ 4, %41 ], [ 4, %61 ], [ 4, %45 ], [ 2, %112 ] store i32 %.sink, ptr %3, align 4, !tbaa !12 - br label %.critedge196 + br label %.critedge195 -.critedge196: ; preds = %137, %.critedge196.sink.split, %.thread199, %82, %20, %34, %10, %8, %switch.early.test, %switch.early.test +.critedge195: ; preds = %137, %.critedge195.sink.split, %.thread198, %82, %20, %34, %10, %8, %switch.early.test, %switch.early.test %.0 = phi i32 [ 0, %switch.early.test ], [ 0, %switch.early.test ], [ 0, %8 ], [ %11, %10 ], [ 0, %34 ], [ 0, %20 ], [ 0, %82 ], [ 0, %.thread199 ], [ %.0.ph, %.critedge196.sink.split ], [ 0, %137 ] ret i32 %.0 }