From 7a7e33f2effd60aedcb47076c6375d8c00e2db34 Mon Sep 17 00:00:00 2001 From: dtcxzyw <15650457+dtcxzyw@users.noreply.github.com> Date: Wed, 23 Apr 2025 15:22:01 +0800 Subject: [PATCH 1/3] pre-commit: PR134403 --- 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..1a4c250e70b 100755 --- a/scripts/setup_pre_commit_patch.sh +++ b/scripts/setup_pre_commit_patch.sh @@ -2,7 +2,7 @@ set -euo pipefail shopt -s inherit_errexit -export GITHUB_PATCH_ID="/llvm-project/commit/" +export GITHUB_PATCH_ID=llvm/llvm-project/pull/134403 export COMPTIME_MODE=0 # Please rebase manually From 690ffdbcbb72f5dde692580c3c8c68ef4a73cdc7 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Wed, 23 Apr 2025 07:54:29 +0000 Subject: [PATCH 2/3] pre-commit: Update --- bench/abc/optimized/casDec.ll | 13 ++- bench/abc/optimized/nwkSpeedup.ll | 21 ++-- bench/abseil-cpp/optimized/cord_analysis.ll | 34 +++--- bench/abseil-cpp/optimized/cordz_handle.ll | 21 ++-- bench/abseil-cpp/optimized/int128.ll | 44 +++----- bench/actix-rs/optimized/4j8yieid8zrlsuh3.ll | 3 +- bench/anki-rs/optimized/9pty11lf7aq32pj.ll | 39 +++---- bench/arrow/optimized/string.ll | 9 +- bench/boost/optimized/close_handles.ll | 17 ++- bench/boost/optimized/test_ifstream.ll | 41 +++---- bench/box2d/optimized/osmesa_context.ll | 85 +++++++------- .../optimized/MultiBodyTreeInitCache.ll | 12 +- .../optimized/btDiscreteDynamicsWorldMt.ll | 35 +++--- .../casadi/optimized/casadi_error_handling.ll | 31 +++--- bench/casadi/optimized/importer.ll | 45 ++++---- bench/casadi/optimized/symbolic_mx.ll | 29 ++--- .../block_random_access_sparse_matrix.ll | 23 ++-- bench/ceres/optimized/block_structure.ll | 9 +- bench/ceres/optimized/preprocessor.ll | 38 ++++--- bench/clamav/optimized/autoit.ll | 39 ++++--- bench/clamav/optimized/client.ll | 39 ++++--- bench/cmake/optimized/frm_def.ll | 7 +- .../optimized/1w8bjqmsfkf0ntfz.ll | 41 ++++--- bench/cpython/optimized/timemodule.ll | 20 ++-- bench/csmith/optimized/ArrayVariable.ll | 54 ++++----- bench/csmith/optimized/StatementGoto.ll | 73 ++++++------ bench/cvc5/optimized/parser.ll | 17 +-- bench/darktable/optimized/cr3_parser.ll | 26 +++-- bench/darktable/optimized/exr.ll | 15 ++- bench/diesel-rs/optimized/6qvzky2suxi9qri.ll | 25 +++-- .../optimized/string-to-double.ll | 62 ++++++----- bench/duckdb/optimized/sec.ll | 13 +-- bench/eastl/optimized/TestFixedList.ll | 15 ++- bench/faiss/optimized/IndexRefine.ll | 33 +++--- bench/folly/optimized/AsyncLogWriter.ll | 29 ++--- bench/folly/optimized/SSLSessionManager.ll | 13 ++- bench/freetype/optimized/pshinter.ll | 59 +++++----- bench/g2o/optimized/robust_kernel_impl.ll | 11 +- bench/g2o/optimized/structure_only.ll | 20 ++-- bench/glog/optimized/mock-log_unittest.ll | 37 ++++--- bench/graphviz/optimized/shapes.ll | 35 +++--- bench/graphviz/optimized/tree_map.ll | 13 +-- .../gromacs/optimized/colvarspreprocessor.ll | 7 +- .../grpc/optimized/random_early_detection.ll | 26 ++--- .../optimized/xds_channel_stack_modifier.ll | 3 +- bench/harfbuzz/optimized/hb-static.ll | 102 +++++++++-------- bench/hdf5/optimized/H5C.ll | 27 ++--- bench/hdf5/optimized/h5repack_opttable.ll | 10 +- .../optimized/2p0p1zz6gwjy9c4w.ll | 36 +++--- .../optimized/ng_small_literal_set.ll | 23 ++-- bench/image-rs/optimized/1njpscpjlgoe3i07.ll | 30 +++-- bench/ipopt/optimized/IpFilterLSAcceptor.ll | 27 +++-- bench/ipopt/optimized/IpPiecewisePenalty.ll | 51 ++++----- bench/jq/optimized/lexer.ll | 73 ++++++------ bench/libjpeg-turbo/optimized/djpeg.ll | 29 +++-- .../libphonenumber/optimized/string_piece.ll | 58 +++++----- bench/libwebp/optimized/pnmdec.ll | 62 +++++------ bench/lief/optimized/ImportEntry.ll | 63 ++++++----- bench/lightgbm/optimized/linker_topo.ll | 8 +- bench/linux/optimized/reboot.ll | 99 ++++++++--------- bench/llama.cpp/optimized/llama-context.ll | 59 +++++----- bench/llama.cpp/optimized/log.ll | 37 +++---- bench/lua/optimized/ldo.ll | 35 +++--- bench/luau/optimized/IrUtils.ll | 31 ++---- bench/luau/optimized/Lexer.ll | 40 ++++--- bench/lvgl/optimized/lv_flex.ll | 104 +++++++++--------- bench/memcached/optimized/proto_bin.ll | 17 ++- bench/mimalloc/optimized/segment.ll | 80 +++++++------- bench/minetest/optimized/CGUITTFont.ll | 9 +- bench/minetest/optimized/COpenGLDriver.ll | 13 +-- bench/ncnn/optimized/groupnorm_x86.ll | 12 +- bench/ncnn/optimized/groupnorm_x86_avx.ll | 13 +-- bench/ninja/optimized/build_log.ll | 31 +++--- bench/node/optimized/libnode.logstream.ll | 70 ++++++------ bench/nori/optimized/screen.ll | 82 +++++++------- bench/ockam-rs/optimized/4ie0aygpnuk5bzdx.ll | 5 +- bench/oiio/optimized/ustring.ll | 61 +++++----- bench/openblas/optimized/dgedmd.ll | 15 +-- bench/openexr/optimized/ImfFastHuf.ll | 11 +- bench/openspiel/optimized/go_board.ll | 79 +++++++------ bench/openssl/optimized/quic_rcidm.ll | 10 +- bench/openssl/optimized/test_test.ll | 6 +- bench/openusd/optimized/faceTopology.ll | 29 +++-- .../optimized/irregularPatchBuilder.ll | 7 +- bench/pbrt-v4/optimized/rgb2spec_opt.ll | 49 ++++----- bench/pcg-cpp/optimized/pcg-demo.ll | 14 +-- bench/php/optimized/tokenizer.ll | 42 ++++--- bench/postgres/optimized/psqlscanslash.ll | 17 +-- bench/proj/optimized/coordinates.ll | 23 ++-- bench/protobuf/optimized/context.ll | 23 ++-- bench/qdrant-rs/optimized/58hgu3rrppg9eakf.ll | 22 ++-- bench/quantlib/optimized/multisteptarn.ll | 14 +-- bench/quantlib/optimized/pascaltriangle.ll | 11 +- bench/re2/optimized/compile.ll | 103 ++++++++--------- bench/regex-rs/optimized/1ezs5fkqov3a1527.ll | 25 ++--- .../ripgrep-rs/optimized/1rzxgyr0fo8f0ob1.ll | 5 +- bench/ripgrep-rs/optimized/rwbxp5vay147miz.ll | 62 +++++------ .../rocksdb/optimized/histogram_windowing.ll | 22 ++-- bench/rocksdb/optimized/volatile_tier_impl.ll | 31 +++--- bench/ruby/optimized/sprintf.ll | 46 ++++---- .../optimized/4nk4vk785ylcn5k7.ll | 11 +- bench/sentencepiece/optimized/int128.ll | 38 +++---- .../optimized/2bynnyw1do6foacb.ll | 101 +++++++++-------- bench/spike/optimized/htif_hexwriter.ll | 38 +++---- bench/sundials/optimized/arkode_mri_tables.ll | 40 ++++--- bench/syn/optimized/ofvfd67uyaewjlc.ll | 31 +++--- bench/verilator/optimized/V3ActiveTop.ll | 63 +++++------ bench/verilator/optimized/V3Global.ll | 58 +++++----- bench/wasmedge/optimized/inode-linux.ll | 93 ++++++++-------- .../wasmtime-rs/optimized/322yw2dra6hhv794.ll | 5 +- .../wireshark/optimized/rtp_player_dialog.ll | 51 +++++---- bench/yaml-cpp/optimized/memory.ll | 25 +++-- bench/yosys/optimized/sha1.ll | 16 +-- bench/z3/optimized/smt_context_stat.ll | 19 ++-- bench/zstd/optimized/zstdmt_compress.ll | 70 ++++++------ bench/zxing/optimized/AZDecoder.ll | 37 ++++--- 116 files changed, 1932 insertions(+), 2108 deletions(-) diff --git a/bench/abc/optimized/casDec.ll b/bench/abc/optimized/casDec.ll index 1960d27b05c..81e77e5e95d 100644 --- a/bench/abc/optimized/casDec.ll +++ b/bench/abc/optimized/casDec.ll @@ -451,7 +451,7 @@ Abc_Clock.exit292: ; preds = %Abc_Clock.exit290, br i1 %241, label %.lr.ph336.preheader, label %._crit_edge337 .lr.ph336.preheader: ; preds = %._crit_edge333 - %.pre = load ptr, ptr %237, align 8, !tbaa !22 + %.pre = load ptr, ptr %237, align 8 br label %.lr.ph336 .lr.ph336: ; preds = %.lr.ph336.preheader, %.lr.ph336 @@ -756,7 +756,7 @@ define void @WriteLUTSintoBLIFfile(ptr noundef %0, ptr noundef %1, ptr noundef r %18 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %0, ptr noundef nonnull @.str.14, i32 noundef %17) #10 %.not = icmp ne i64 %indvars.iv126, 0 %.phi.trans.insert = getelementptr inbounds nuw i8, ptr %16, i64 4 - %.pre = load i32, ptr %.phi.trans.insert, align 4, !tbaa !17 + %.pre = load i32, ptr %.phi.trans.insert, align 4 %19 = icmp sgt i32 %.pre, 0 %or.cond = select i1 %.not, i1 %19, i1 false br i1 %or.cond, label %.lr.ph, label %.loopexit @@ -792,8 +792,8 @@ define void @WriteLUTSintoBLIFfile(ptr noundef %0, ptr noundef %1, ptr noundef r .lr.ph91: ; preds = %.loopexit %38 = getelementptr inbounds nuw i8, ptr %16, i64 20 - %.pre129 = load ptr, ptr %11, align 8, !tbaa !43 - %.pre130 = load i32, ptr %38, align 4, !tbaa !20 + %.pre129 = load ptr, ptr %11, align 8 + %.pre130 = load i32, ptr %38, align 4 br label %49 .preheader87: ; preds = %49, %.loopexit @@ -918,7 +918,8 @@ define void @WriteLUTSintoBLIFfile(ptr noundef %0, ptr noundef %1, ptr noundef r 107: ; preds = %.lr.ph100 tail call void @free(ptr noundef nonnull %106) #10 - %.pre131 = load i32, ptr %12, align 8, !tbaa !50 + store ptr null, ptr %105, align 8, !tbaa !56 + %.pre131 = load i32, ptr %12, align 8 br label %108 108: ; preds = %107, %.lr.ph100 @@ -940,7 +941,7 @@ define void @WriteLUTSintoBLIFfile(ptr noundef %0, ptr noundef %1, ptr noundef r 115: ; preds = %.lr.ph102 tail call void @free(ptr noundef nonnull %114) #10 store ptr null, ptr %113, align 8, !tbaa !56 - %.pre132 = load i32, ptr %39, align 4, !tbaa !19 + %.pre132 = load i32, ptr %39, align 4 br label %116 116: ; preds = %115, %.lr.ph102 diff --git a/bench/abc/optimized/nwkSpeedup.ll b/bench/abc/optimized/nwkSpeedup.ll index 5ba4f684154..438997ff456 100644 --- a/bench/abc/optimized/nwkSpeedup.ll +++ b/bench/abc/optimized/nwkSpeedup.ll @@ -61,7 +61,7 @@ define range(i32 0, 2) i32 @Aig_ManSpeedupNode_rec(ptr noundef %0, ptr noundef % .Vec_PtrGrow.exit11_crit_edge.i: ; preds = %21 %.phi.trans.insert.i = getelementptr inbounds nuw i8, ptr %2, i64 8 - %.pre.i = load ptr, ptr %.phi.trans.insert.i, align 8, !tbaa !27 + %.pre.i = load ptr, ptr %.phi.trans.insert.i, align 8 br label %Vec_PtrPush.exit 26: ; preds = %21 @@ -750,7 +750,7 @@ define ptr @Nwk_ManSpeedup(ptr noundef %0, i32 noundef %1, i32 noundef %2, i32 n %50 = sext i32 %49 to i64 %51 = getelementptr inbounds i32, ptr %calloc, i64 %50 store i32 %47, ptr %51, align 4, !tbaa !67 - %.pre = load ptr, ptr %30, align 8, !tbaa !70 + %.pre = load ptr, ptr %30, align 8 br label %52 52: ; preds = %46, %40, %.lr.ph, %43 @@ -1102,7 +1102,7 @@ define ptr @Nwk_ManSpeedup(ptr noundef %0, i32 noundef %1, i32 noundef %2, i32 n br i1 %226, label %227, label %.Vec_PtrGrow.exit11_crit_edge.i.i .Vec_PtrGrow.exit11_crit_edge.i.i: ; preds = %._crit_edge.i - %.pre.i.i = load ptr, ptr %130, align 8, !tbaa !27 + %.pre.i.i = load ptr, ptr %130, align 8 br label %Vec_PtrPush.exit.i 227: ; preds = %._crit_edge.i @@ -1158,7 +1158,7 @@ Vec_PtrPush.exit.i: ; preds = %245, %Vec_PtrGrow.e %250 = sext i32 %206 to i64 %251 = getelementptr inbounds ptr, ptr %248, i64 %250 store ptr %209, ptr %251, align 8, !tbaa !28 - %.pre487 = load i32, ptr %199, align 4, !tbaa !57 + %.pre487 = load i32, ptr %199, align 4 br label %Vec_PtrPushUnique.exit Vec_PtrPushUnique.exit: ; preds = %222, %Vec_PtrPush.exit.i, %210 @@ -1173,7 +1173,7 @@ Vec_PtrPushUnique.exit: ; preds = %222, %Vec_PtrPush.e .critedge13.loopexit: ; preds = %Vec_PtrPushUnique.exit, %203 %257 = phi i32 [ %253, %Vec_PtrPushUnique.exit ], [ %205, %203 ] %258 = phi i32 [ %254, %Vec_PtrPushUnique.exit ], [ %206, %203 ] - %.pre488 = load i32, ptr %154, align 4, !tbaa !57 + %.pre488 = load i32, ptr %154, align 4 br label %.critedge13 .critedge13: ; preds = %.critedge13.loopexit, %.preheader397, %187, %190 @@ -1252,7 +1252,7 @@ Vec_PtrPushUnique.exit: ; preds = %222, %Vec_PtrPush.e br i1 %293, label %294, label %.Vec_PtrGrow.exit11_crit_edge.i.i351 .Vec_PtrGrow.exit11_crit_edge.i.i351: ; preds = %._crit_edge.i350 - %.pre.i.i353 = load ptr, ptr %134, align 8, !tbaa !27 + %.pre.i.i353 = load ptr, ptr %134, align 8 br label %Vec_PtrPush.exit.i354 294: ; preds = %._crit_edge.i350 @@ -1349,7 +1349,7 @@ Vec_PtrPush.exit.i354: ; preds = %312, %Vec_PtrGrow.e br i1 %335, label %336, label %.Vec_PtrGrow.exit11_crit_edge.i.i366 .Vec_PtrGrow.exit11_crit_edge.i.i366: ; preds = %._crit_edge.i365 - %.pre.i.i368 = load ptr, ptr %134, align 8, !tbaa !27 + %.pre.i.i368 = load ptr, ptr %134, align 8 br label %Vec_PtrPush.exit.i369 336: ; preds = %._crit_edge.i365 @@ -1406,7 +1406,7 @@ Vec_PtrPush.exit.i369: ; preds = %354, %Vec_PtrGrow.e %360 = sext i32 %323 to i64 %361 = getelementptr inbounds ptr, ptr %358, i64 %360 store ptr %326, ptr %361, align 8, !tbaa !28 - %.pre491 = load i32, ptr %282, align 4, !tbaa !57 + %.pre491 = load i32, ptr %282, align 4 br label %Vec_PtrPushUnique.exit379 Vec_PtrPushUnique.exit379: ; preds = %331, %Vec_PtrPush.exit.i369 @@ -1519,10 +1519,11 @@ Vec_PtrPushUnique.exit379: ; preds = %331, %Vec_PtrPush.e 423: ; preds = %417 store ptr %419, ptr %408, align 8, !tbaa !28 store ptr %416, ptr %418, align 8, !tbaa !28 + %.val334.pre = load float, ptr %421, align 8 br label %424 424: ; preds = %423, %417 - %.val334 = phi float [ %.val332, %423 ], [ %.val331, %417 ] + %.val334 = phi float [ %.val334.pre, %423 ], [ %.val331, %417 ] %425 = phi ptr [ %419, %423 ], [ %416, %417 ] %426 = getelementptr i8, ptr %415, i64 56 %.val333 = load float, ptr %426, align 8, !tbaa !71 @@ -1553,7 +1554,7 @@ Vec_PtrPushUnique.exit379: ; preds = %331, %Vec_PtrPush.e br i1 %435, label %139, label %.critedge6.loopexit, !llvm.loop !84 .critedge6.loopexit: ; preds = %.critedge11.thread - %.pre495 = load ptr, ptr %130, align 8, !tbaa !27 + %.pre495 = load ptr, ptr %130, align 8 br label %.critedge6 .critedge6: ; preds = %.critedge6.loopexit, %116 diff --git a/bench/abseil-cpp/optimized/cord_analysis.ll b/bench/abseil-cpp/optimized/cord_analysis.ll index c7fb17287d3..2c697f07f6d 100644 --- a/bench/abseil-cpp/optimized/cord_analysis.ll +++ b/bench/abseil-cpp/optimized/cord_analysis.ll @@ -40,7 +40,7 @@ define dso_local noundef i64 @_ZN4absl13cord_internal23GetEstimatedMemoryUsageEP ._crit_edge.i: ; preds = %6 %.phi.trans.insert.i = getelementptr inbounds nuw i8, ptr %8, i64 12 - %.pre.i = load i8, ptr %.phi.trans.insert.i, align 4, !tbaa !9 + %.pre.i = load i8, ptr %.phi.trans.insert.i, align 4 br label %10 10: ; preds = %._crit_edge.i, %1 @@ -60,7 +60,7 @@ _ZN4absl13cord_internal10IsDataEdgeEPKNS0_7CordRepE.exit.i: ; preds = %13 %14 = getelementptr inbounds nuw i8, ptr %.sroa.0.0.i, i64 24 %15 = load ptr, ptr %14, align 8, !tbaa !21 %.phi.trans.insert.i.i = getelementptr inbounds nuw i8, ptr %15, i64 12 - %.pre.i.i = load i8, ptr %.phi.trans.insert.i.i, align 4, !tbaa !9 + %.pre.i.i = load i8, ptr %.phi.trans.insert.i.i, align 4 %16 = icmp ugt i8 %.pre.i.i, 4 br i1 %16, label %17, label %_ZN4absl13cord_internal12_GLOBAL__N_117GetEstimatedUsageILNS1_4ModeE1EEEmPKNS0_7CordRepE.exit @@ -100,7 +100,7 @@ _ZN4absl13cord_internal12_GLOBAL__N_115AnalyzeDataEdgeILNS1_4ModeE1EEEvNS1_10Cor 35: ; preds = %13 call fastcc void @_ZN4absl13cord_internal12_GLOBAL__N_112AnalyzeBtreeILNS1_4ModeE1EEEvNS1_10CordRepRefIXT_EEERNS1_8RawUsageIXT_EEE(ptr nonnull %.sroa.0.0.i, ptr noundef nonnull align 8 dereferenceable(8) %2) - %.0.pre.i = load i64, ptr %2, align 8, !tbaa !4 + %.0.pre.i = load i64, ptr %2, align 8 br label %_ZN4absl13cord_internal12_GLOBAL__N_117GetEstimatedUsageILNS1_4ModeE1EEEmPKNS0_7CordRepE.exit _ZN4absl13cord_internal12_GLOBAL__N_117GetEstimatedUsageILNS1_4ModeE1EEEmPKNS0_7CordRepE.exit: ; preds = %6, %13, %_ZN4absl13cord_internal10IsDataEdgeEPKNS0_7CordRepE.exit.i, %_ZN4absl13cord_internal12_GLOBAL__N_115AnalyzeDataEdgeILNS1_4ModeE1EEEvNS1_10CordRepRefIXT_EEERNS1_8RawUsageIXT_EEE.exit.i, %35 @@ -142,7 +142,7 @@ define dso_local noundef i64 @_ZN4absl13cord_internal32GetEstimatedFairShareMemo %23 = uitofp i64 %22 to double %24 = fdiv double %8, %23 %.phi.trans.insert.i = getelementptr inbounds nuw i8, ptr %16, i64 12 - %.pre.i = load i8, ptr %.phi.trans.insert.i, align 4, !tbaa !9 + %.pre.i = load i8, ptr %.phi.trans.insert.i, align 4 br label %25 25: ; preds = %18, %1 @@ -162,7 +162,7 @@ _ZN4absl13cord_internal10IsDataEdgeEPKNS0_7CordRepE.exit.i: ; preds = %27 %28 = getelementptr inbounds nuw i8, ptr %.sroa.0.0.i, i64 24 %29 = load ptr, ptr %28, align 8, !tbaa !21 %.phi.trans.insert.i.i = getelementptr inbounds nuw i8, ptr %29, i64 12 - %.pre.i.i = load i8, ptr %.phi.trans.insert.i.i, align 4, !tbaa !9 + %.pre.i.i = load i8, ptr %.phi.trans.insert.i.i, align 4 %30 = icmp ugt i8 %.pre.i.i, 4 br i1 %30, label %31, label %_ZN4absl13cord_internal12_GLOBAL__N_117GetEstimatedUsageILNS1_4ModeE0EEEmPKNS0_7CordRepE.exit @@ -178,7 +178,7 @@ _ZN4absl13cord_internal10IsDataEdgeEPKNS0_7CordRepE.exit.i: ; preds = %27 %39 = uitofp i64 %37 to double %40 = fdiv double %.sroa.10.0.i, %39 %41 = select i1 %38, double %.sroa.10.0.i, double %40 - %.pre.i7.i = load i8, ptr %.phi.trans.insert.i.i, align 4, !tbaa !9 + %.pre.i7.i = load i8, ptr %.phi.trans.insert.i.i, align 4 br label %42 42: ; preds = %31, %25 @@ -281,7 +281,7 @@ define dso_local noundef i64 @_ZN4absl13cord_internal25GetMorePreciseMemoryUsage ._crit_edge.i: ; preds = %24 %.phi.trans.insert.i = getelementptr inbounds nuw i8, ptr %26, i64 12 - %.pre.i = load i8, ptr %.phi.trans.insert.i, align 4, !tbaa !9 + %.pre.i = load i8, ptr %.phi.trans.insert.i, align 4 br label %30 28: ; preds = %63, %56, %36, %18 @@ -307,7 +307,7 @@ _ZN4absl13cord_internal10IsDataEdgeEPKNS0_7CordRepE.exit.i: ; preds = %32 %33 = getelementptr inbounds nuw i8, ptr %.sroa.0.0.i, i64 24 %34 = load ptr, ptr %33, align 8, !tbaa !21 %.phi.trans.insert.i.i = getelementptr inbounds nuw i8, ptr %34, i64 12 - %.pre.i.i = load i8, ptr %.phi.trans.insert.i.i, align 4, !tbaa !9 + %.pre.i.i = load i8, ptr %.phi.trans.insert.i.i, align 4 %35 = icmp ugt i8 %.pre.i.i, 4 br i1 %35, label %36, label %.thread20.i @@ -335,7 +335,7 @@ _ZN4absl13cord_internal12_GLOBAL__N_18RawUsageILNS1_4ModeE2EE3AddEmNS1_10CordRep call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %5) %42 = load ptr, ptr %33, align 8, !tbaa !21 %.phi.trans.insert.i9.i = getelementptr inbounds nuw i8, ptr %42, i64 12 - %.pre.i10.i = load i8, ptr %.phi.trans.insert.i9.i, align 4, !tbaa !9 + %.pre.i10.i = load i8, ptr %.phi.trans.insert.i9.i, align 4 br label %43 43: ; preds = %_ZN4absl13cord_internal12_GLOBAL__N_18RawUsageILNS1_4ModeE2EE3AddEmNS1_10CordRepRefILS3_2EEE.exit.i.i, %30 @@ -484,10 +484,11 @@ define internal fastcc void @_ZN4absl13cord_internal12_GLOBAL__N_112AnalyzeBtree 27: ; preds = %.lr.ph37 %28 = add i64 %22, 32 + store i64 %28, ptr %1, align 8, !tbaa !4 %29 = getelementptr inbounds nuw i8, ptr %23, i64 24 %30 = load ptr, ptr %29, align 8, !tbaa !21 %.phi.trans.insert.i = getelementptr inbounds nuw i8, ptr %30, i64 12 - %.pre.i = load i8, ptr %.phi.trans.insert.i, align 4, !tbaa !9 + %.pre.i = load i8, ptr %.phi.trans.insert.i, align 4 br label %31 31: ; preds = %27, %.lr.ph37 @@ -518,15 +519,12 @@ define internal fastcc void @_ZN4absl13cord_internal12_GLOBAL__N_112AnalyzeBtree _ZN4absl13cord_internal12_GLOBAL__N_115AnalyzeDataEdgeILNS1_4ModeE1EEEvNS1_10CordRepRefIXT_EEERNS1_8RawUsageIXT_EEE.exit: ; preds = %35, %42 %45 = phi i64 [ %41, %35 ], [ %44, %42 ] %46 = add i64 %32, %45 + store i64 %46, ptr %1, align 8, !tbaa !4 %47 = getelementptr inbounds nuw i8, ptr %.02236, i64 8 %.not = icmp eq ptr %47, %13 - br i1 %.not, label %..loopexit_crit_edge, label %.lr.ph37 - -..loopexit_crit_edge: ; preds = %_ZN4absl13cord_internal12_GLOBAL__N_115AnalyzeDataEdgeILNS1_4ModeE1EEEvNS1_10CordRepRefIXT_EEERNS1_8RawUsageIXT_EEE.exit - store i64 %46, ptr %1, align 8, !tbaa !4 - br label %.loopexit + br i1 %.not, label %.loopexit, label %.lr.ph37 -.loopexit: ; preds = %.lr.ph, %14, %19, %..loopexit_crit_edge +.loopexit: ; preds = %.lr.ph, %_ZN4absl13cord_internal12_GLOBAL__N_115AnalyzeDataEdgeILNS1_4ModeE1EEEvNS1_10CordRepRefIXT_EEERNS1_8RawUsageIXT_EEE.exit, %14, %19 ret void } @@ -611,7 +609,7 @@ define internal fastcc void @_ZN4absl13cord_internal12_GLOBAL__N_112AnalyzeBtree %54 = fdiv double %39, %53 %55 = select i1 %52, double %39, double %54 %.phi.trans.insert.i = getelementptr inbounds nuw i8, ptr %47, i64 12 - %.pre.i = load i8, ptr %.phi.trans.insert.i, align 4, !tbaa !9 + %.pre.i = load i8, ptr %.phi.trans.insert.i, align 4 br label %56 56: ; preds = %43, %.lr.ph44 @@ -764,7 +762,7 @@ _ZN4absl13cord_internal12_GLOBAL__N_18RawUsageILNS1_4ModeE2EE3AddEmNS1_10CordRep %42 = getelementptr inbounds nuw i8, ptr %32, i64 24 %43 = load ptr, ptr %42, align 8, !tbaa !21 %.phi.trans.insert.i = getelementptr inbounds nuw i8, ptr %43, i64 12 - %.pre.i = load i8, ptr %.phi.trans.insert.i, align 4, !tbaa !9 + %.pre.i = load i8, ptr %.phi.trans.insert.i, align 4 br label %44 44: ; preds = %_ZN4absl13cord_internal12_GLOBAL__N_18RawUsageILNS1_4ModeE2EE3AddEmNS1_10CordRepRefILS3_2EEE.exit.i, %.lr.ph37 diff --git a/bench/abseil-cpp/optimized/cordz_handle.ll b/bench/abseil-cpp/optimized/cordz_handle.ll index b6694819c95..6e4eda7e23d 100644 --- a/bench/abseil-cpp/optimized/cordz_handle.ll +++ b/bench/abseil-cpp/optimized/cordz_handle.ll @@ -201,7 +201,7 @@ _ZNSt6vectorIPN4absl13cord_internal11CordzHandleESaIS3_EE9push_backERKS3_.exit: br i1 %.not9, label %.critedge.thread, label %.critedge.thread37 .critedge.thread37.loopexit: ; preds = %.lr.ph - %.pre = load ptr, ptr %13, align 8, !tbaa !14 + %.pre = load ptr, ptr %13, align 8 br label %.critedge.thread37 .critedge.thread37: ; preds = %.critedge.thread37.loopexit, %.critedge @@ -215,7 +215,7 @@ _ZNSt6vectorIPN4absl13cord_internal11CordzHandleESaIS3_EE9push_backERKS3_.exit: br label %46 .critedge.thread.loopexit: ; preds = %_ZNSt6vectorIPN4absl13cord_internal11CordzHandleESaIS3_EE9push_backERKS3_.exit - %.pre82 = load ptr, ptr %13, align 8, !tbaa !14 + %.pre82 = load ptr, ptr %13, align 8 br label %.critedge.thread .critedge.thread: ; preds = %.critedge.thread.loopexit, %.preheader, %.critedge @@ -473,8 +473,8 @@ _ZN4absl9MutexLockC2EPNS_5MutexE.exit: ; preds = %_ZN4absl13cord_inte %.0.i.i = inttoptr i64 %7 to ptr %8 = getelementptr inbounds nuw i8, ptr %0, i64 8 %9 = getelementptr inbounds nuw i8, ptr %0, i64 16 - %.pre = load ptr, ptr %8, align 8, !tbaa !21 - %.pre24 = load ptr, ptr %9, align 8, !tbaa !24 + %.pre = load ptr, ptr %8, align 8 + %.pre24 = load ptr, ptr %9, align 8 br label %15 ._crit_edge: ; preds = %_ZNSt6vectorIPKN4absl13cord_internal11CordzHandleESaIS4_EE9push_backERKS4_.exit, %_ZN4absl9MutexLockC2EPNS_5MutexE.exit @@ -496,7 +496,7 @@ _ZN4absl9MutexLockD2Ev.exit: ; preds = %._crit_edge 13: ; preds = %_ZN4absl13cord_internal12_GLOBAL__N_111GlobalQueueEv.exit %14 = landingpad { ptr, i32 } cleanup - %.pre25 = load ptr, ptr %0, align 8, !tbaa !25 + %.pre25 = load ptr, ptr %0, align 8 br label %_ZN4absl9MutexLockD2Ev.exit11 15: ; preds = %.lr.ph, %_ZNSt6vectorIPKN4absl13cord_internal11CordzHandleESaIS4_EE9push_backERKS4_.exit @@ -573,7 +573,7 @@ _ZNSt6vectorIPKN4absl13cord_internal11CordzHandleESaIS4_EE9push_backERKS4_.exit: %43 = getelementptr inbounds nuw i8, ptr %storemerge19, i64 16 %44 = load ptr, ptr %43, align 8, !tbaa !14 %.not = icmp eq ptr %44, null - br i1 %.not, label %._crit_edge, label %15, !llvm.loop !26 + br i1 %.not, label %._crit_edge, label %15, !llvm.loop !25 .loopexit: ; preds = %_ZNKSt6vectorIPKN4absl13cord_internal11CordzHandleESaIS4_EE12_M_check_lenEmPKc.exit.i.i %lpad.loopexit = landingpad { ptr, i32 } @@ -675,7 +675,7 @@ _ZN4absl13cord_internal12_GLOBAL__N_111GlobalQueueEv.exit: ; preds = %12, %15, % %24 = getelementptr inbounds nuw i8, ptr %.01221, i64 16 %25 = load ptr, ptr %24, align 8, !tbaa !14 %.not = icmp eq ptr %25, null - br i1 %.not, label %.loopexit, label %.lr.ph, !llvm.loop !27 + br i1 %.not, label %.loopexit, label %.lr.ph, !llvm.loop !26 .loopexit: ; preds = %22, %_ZN4absl13cord_internal12_GLOBAL__N_111GlobalQueueEv.exit, %20 %spec.select17 = phi i1 [ %21, %20 ], [ true, %_ZN4absl13cord_internal12_GLOBAL__N_111GlobalQueueEv.exit ], [ true, %22 ] @@ -749,7 +749,7 @@ _ZN4absl9MutexLockC2EPNS_5MutexE.exit._crit_edge: ; preds = %_ZNSt6vectorIPKN4ab 17: ; preds = %_ZN4absl13cord_internal12_GLOBAL__N_111GlobalQueueEv.exit %18 = landingpad { ptr, i32 } cleanup - %.pre = load ptr, ptr %0, align 8, !tbaa !25 + %.pre = load ptr, ptr %0, align 8 br label %_ZN4absl9MutexLockD2Ev.exit12 19: ; preds = %.lr.ph, %_ZNSt6vectorIPKN4absl13cord_internal11CordzHandleESaIS4_EE9push_backERKS4_.exit @@ -853,7 +853,7 @@ _ZNSt6vectorIPKN4absl13cord_internal11CordzHandleESaIS4_EE9push_backERKS4_.exit: %storemerge.in = getelementptr inbounds nuw i8, ptr %storemerge22, i64 24 %storemerge = load ptr, ptr %storemerge.in, align 8, !tbaa !15 %.not = icmp eq ptr %storemerge, null - br i1 %.not, label %_ZN4absl9MutexLockC2EPNS_5MutexE.exit._crit_edge, label %19, !llvm.loop !28 + br i1 %.not, label %_ZN4absl9MutexLockC2EPNS_5MutexE.exit._crit_edge, label %19, !llvm.loop !27 _ZN4absl9MutexLockD2Ev.exit12: ; preds = %17, %48 %53 = phi ptr [ %.pre, %17 ], [ %20, %48 ] @@ -955,7 +955,6 @@ attributes #18 = { builtin nounwind } !22 = !{!"_ZTSNSt12_Vector_baseIPKN4absl13cord_internal11CordzHandleESaIS4_EE17_Vector_impl_dataE", !23, i64 0, !23, i64 8, !23, i64 16} !23 = !{!"p2 _ZTSN4absl13cord_internal11CordzHandleE", !12, i64 0} !24 = !{!22, !23, i64 16} -!25 = !{!22, !23, i64 0} +!25 = distinct !{!25, !20} !26 = distinct !{!26, !20} !27 = distinct !{!27, !20} -!28 = distinct !{!28, !20} diff --git a/bench/abseil-cpp/optimized/int128.ll b/bench/abseil-cpp/optimized/int128.ll index 8bb067ad652..6f9064df65e 100644 --- a/bench/abseil-cpp/optimized/int128.ll +++ b/bench/abseil-cpp/optimized/int128.ll @@ -339,15 +339,11 @@ _ZSt13__check_facetISt5ctypeIcEERKT_PS3_.exit.i.i.i.i: ; preds = %68 %75 = getelementptr inbounds nuw i8, ptr %74, i64 48 %76 = load ptr, ptr %75, align 8 %77 = invoke noundef signext i8 %76(ptr noundef nonnull align 8 dereferenceable(570) %70, i8 noundef signext 32) - to label %.noexc104._ZNKSt9basic_iosIcSt11char_traitsIcEE5widenEc.exit.i.i.i_crit_edge unwind label %87 + to label %_ZNKSt9basic_iosIcSt11char_traitsIcEE5widenEc.exit.i.i.i unwind label %87 -.noexc104._ZNKSt9basic_iosIcSt11char_traitsIcEE5widenEc.exit.i.i.i_crit_edge: ; preds = %.noexc104 - %.pre.pre = load ptr, ptr %5, align 8, !tbaa !10 - br label %_ZNKSt9basic_iosIcSt11char_traitsIcEE5widenEc.exit.i.i.i - -_ZNKSt9basic_iosIcSt11char_traitsIcEE5widenEc.exit.i.i.i: ; preds = %.noexc104._ZNKSt9basic_iosIcSt11char_traitsIcEE5widenEc.exit.i.i.i_crit_edge, %_ZSt13__check_facetISt5ctypeIcEERKT_PS3_.exit.i.i.i.i - %.pre = phi ptr [ %.pre.pre, %.noexc104._ZNKSt9basic_iosIcSt11char_traitsIcEE5widenEc.exit.i.i.i_crit_edge ], [ %56, %_ZSt13__check_facetISt5ctypeIcEERKT_PS3_.exit.i.i.i.i ] +_ZNKSt9basic_iosIcSt11char_traitsIcEE5widenEc.exit.i.i.i: ; preds = %.noexc104, %_ZSt13__check_facetISt5ctypeIcEERKT_PS3_.exit.i.i.i.i store i8 1, ptr %65, align 1, !tbaa !25 + %.pre = load ptr, ptr %5, align 8 br label %78 78: ; preds = %55, %_ZNKSt9basic_iosIcSt11char_traitsIcEE5widenEc.exit.i.i.i @@ -424,15 +420,11 @@ _ZSt13__check_facetISt5ctypeIcEERKT_PS3_.exit.i.i.i.i113: ; preds = %104 %111 = getelementptr inbounds nuw i8, ptr %110, i64 48 %112 = load ptr, ptr %111, align 8 %113 = invoke noundef signext i8 %112(ptr noundef nonnull align 8 dereferenceable(570) %106, i8 noundef signext 32) - to label %.noexc117._ZNKSt9basic_iosIcSt11char_traitsIcEE5widenEc.exit.i.i.i115_crit_edge unwind label %87 - -.noexc117._ZNKSt9basic_iosIcSt11char_traitsIcEE5widenEc.exit.i.i.i115_crit_edge: ; preds = %.noexc117 - %.pre148.pre = load ptr, ptr %5, align 8, !tbaa !10 - br label %_ZNKSt9basic_iosIcSt11char_traitsIcEE5widenEc.exit.i.i.i115 + to label %_ZNKSt9basic_iosIcSt11char_traitsIcEE5widenEc.exit.i.i.i115 unwind label %87 -_ZNKSt9basic_iosIcSt11char_traitsIcEE5widenEc.exit.i.i.i115: ; preds = %.noexc117._ZNKSt9basic_iosIcSt11char_traitsIcEE5widenEc.exit.i.i.i115_crit_edge, %_ZSt13__check_facetISt5ctypeIcEERKT_PS3_.exit.i.i.i.i113 - %.pre148 = phi ptr [ %.pre148.pre, %.noexc117._ZNKSt9basic_iosIcSt11char_traitsIcEE5widenEc.exit.i.i.i115_crit_edge ], [ %92, %_ZSt13__check_facetISt5ctypeIcEERKT_PS3_.exit.i.i.i.i113 ] +_ZNKSt9basic_iosIcSt11char_traitsIcEE5widenEc.exit.i.i.i115: ; preds = %.noexc117, %_ZSt13__check_facetISt5ctypeIcEERKT_PS3_.exit.i.i.i.i113 store i8 1, ptr %101, align 1, !tbaa !25 + %.pre148 = load ptr, ptr %5, align 8 br label %114 114: ; preds = %_ZNKSt9basic_iosIcSt11char_traitsIcEE5widenEc.exit.i.i.i115, %91 @@ -593,7 +585,7 @@ define dso_local noundef nonnull align 8 dereferenceable(8) ptr @_ZN4absllsERSoN ._crit_edge.i: ; preds = %23 %.phi.trans.insert.i = getelementptr inbounds nuw i8, ptr %25, i64 224 - %.pre.i = load i8, ptr %.phi.trans.insert.i, align 8, !tbaa !42 + %.pre.i = load i8, ptr %.phi.trans.insert.i, align 8 br label %_ZNKSt9basic_iosIcSt11char_traitsIcEE4fillEv.exit55.invoke 29: ; preds = %23 @@ -625,7 +617,7 @@ _ZSt13__check_facetISt5ctypeIcEERKT_PS3_.exit.i.i: ; preds = %29 to label %.noexc27._ZNKSt9basic_iosIcSt11char_traitsIcEE5widenEc.exit.i_crit_edge unwind label %45 .noexc27._ZNKSt9basic_iosIcSt11char_traitsIcEE5widenEc.exit.i_crit_edge: ; preds = %.noexc27 - %.pre64.pre = load i64, ptr %17, align 8, !tbaa !54 + %.pre64.pre = load i64, ptr %17, align 8 br label %_ZNKSt9basic_iosIcSt11char_traitsIcEE5widenEc.exit.i _ZNKSt9basic_iosIcSt11char_traitsIcEE5widenEc.exit.i: ; preds = %.noexc27._ZNKSt9basic_iosIcSt11char_traitsIcEE5widenEc.exit.i_crit_edge, %34 @@ -669,7 +661,7 @@ _ZNKSt9basic_iosIcSt11char_traitsIcEE5widenEc.exit.i: ; preds = %.noexc27._ZNKSt ._crit_edge.i35: ; preds = %50 %.phi.trans.insert.i36 = getelementptr inbounds nuw i8, ptr %52, i64 224 - %.pre.i37 = load i8, ptr %.phi.trans.insert.i36, align 8, !tbaa !42 + %.pre.i37 = load i8, ptr %.phi.trans.insert.i36, align 8 br label %_ZNKSt9basic_iosIcSt11char_traitsIcEE4fillEv.exit41 56: ; preds = %50 @@ -701,7 +693,7 @@ _ZSt13__check_facetISt5ctypeIcEERKT_PS3_.exit.i.i31: ; preds = %56 to label %.noexc39._ZNKSt9basic_iosIcSt11char_traitsIcEE5widenEc.exit.i33_crit_edge unwind label %45 .noexc39._ZNKSt9basic_iosIcSt11char_traitsIcEE5widenEc.exit.i33_crit_edge: ; preds = %.noexc39 - %.pre.pre = load i64, ptr %17, align 8, !tbaa !54 + %.pre.pre = load i64, ptr %17, align 8 br label %_ZNKSt9basic_iosIcSt11char_traitsIcEE5widenEc.exit.i33 _ZNKSt9basic_iosIcSt11char_traitsIcEE5widenEc.exit.i33: ; preds = %.noexc39._ZNKSt9basic_iosIcSt11char_traitsIcEE5widenEc.exit.i33_crit_edge, %61 @@ -735,7 +727,7 @@ _ZNKSt9basic_iosIcSt11char_traitsIcEE4fillEv.exit41: ; preds = %_ZNKSt9basic_ios ._crit_edge.i49: ; preds = %74 %.phi.trans.insert.i50 = getelementptr inbounds nuw i8, ptr %76, i64 224 - %.pre.i51 = load i8, ptr %.phi.trans.insert.i50, align 8, !tbaa !42 + %.pre.i51 = load i8, ptr %.phi.trans.insert.i50, align 8 br label %_ZNKSt9basic_iosIcSt11char_traitsIcEE4fillEv.exit55.invoke 80: ; preds = %74 @@ -874,7 +866,7 @@ _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEPKc.exit.thread: ; preds br label %41 _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEPKc.exit: ; preds = %7 - %.sroa.2.0.copyload.pr = load i64, ptr %.sroa.24.0..sroa_idx, align 8, !tbaa !61 + %.sroa.2.0.copyload.pr = load i64, ptr %.sroa.24.0..sroa_idx, align 8 call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %3) #12 %.sroa.0.0.copyload = load i64, ptr %1, align 16 %11 = icmp slt i64 %.sroa.2.0.copyload.pr, 0 @@ -1178,7 +1170,7 @@ _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit52: ; preds = %_ZN ._crit_edge.i: ; preds = %76 %.phi.trans.insert.i = getelementptr inbounds nuw i8, ptr %78, i64 224 - %.pre.i = load i8, ptr %.phi.trans.insert.i, align 8, !tbaa !42 + %.pre.i = load i8, ptr %.phi.trans.insert.i, align 8 br label %_ZNKSt9basic_iosIcSt11char_traitsIcEE4fillEv.exit97.invoke 82: ; preds = %76 @@ -1210,7 +1202,7 @@ _ZSt13__check_facetISt5ctypeIcEERKT_PS3_.exit.i.i: ; preds = %82 to label %.noexc54._ZNKSt9basic_iosIcSt11char_traitsIcEE5widenEc.exit.i_crit_edge unwind label %74 .noexc54._ZNKSt9basic_iosIcSt11char_traitsIcEE5widenEc.exit.i_crit_edge: ; preds = %.noexc54 - %.pre111.pre = load i64, ptr %13, align 8, !tbaa !54 + %.pre111.pre = load i64, ptr %13, align 8 br label %_ZNKSt9basic_iosIcSt11char_traitsIcEE5widenEc.exit.i _ZNKSt9basic_iosIcSt11char_traitsIcEE5widenEc.exit.i: ; preds = %.noexc54._ZNKSt9basic_iosIcSt11char_traitsIcEE5widenEc.exit.i_crit_edge, %87 @@ -1242,7 +1234,7 @@ _ZNKSt9basic_iosIcSt11char_traitsIcEE5widenEc.exit.i: ; preds = %.noexc54._ZNKSt ._crit_edge.i62: ; preds = %100 %.phi.trans.insert.i63 = getelementptr inbounds nuw i8, ptr %102, i64 224 - %.pre.i64 = load i8, ptr %.phi.trans.insert.i63, align 8, !tbaa !42 + %.pre.i64 = load i8, ptr %.phi.trans.insert.i63, align 8 br label %_ZNKSt9basic_iosIcSt11char_traitsIcEE4fillEv.exit68 106: ; preds = %100 @@ -1274,7 +1266,7 @@ _ZSt13__check_facetISt5ctypeIcEERKT_PS3_.exit.i.i58: ; preds = %106 to label %.noexc66._ZNKSt9basic_iosIcSt11char_traitsIcEE5widenEc.exit.i60_crit_edge unwind label %74 .noexc66._ZNKSt9basic_iosIcSt11char_traitsIcEE5widenEc.exit.i60_crit_edge: ; preds = %.noexc66 - %.pre.pre = load i64, ptr %13, align 8, !tbaa !54 + %.pre.pre = load i64, ptr %13, align 8 br label %_ZNKSt9basic_iosIcSt11char_traitsIcEE5widenEc.exit.i60 _ZNKSt9basic_iosIcSt11char_traitsIcEE5widenEc.exit.i60: ; preds = %.noexc66._ZNKSt9basic_iosIcSt11char_traitsIcEE5widenEc.exit.i60_crit_edge, %111 @@ -1331,7 +1323,7 @@ _ZNKSt9basic_iosIcSt11char_traitsIcEE4fillEv.exit68: ; preds = %_ZNKSt9basic_ios ._crit_edge.i76: ; preds = %133 %.phi.trans.insert.i77 = getelementptr inbounds nuw i8, ptr %135, i64 224 - %.pre.i78 = load i8, ptr %.phi.trans.insert.i77, align 8, !tbaa !42 + %.pre.i78 = load i8, ptr %.phi.trans.insert.i77, align 8 br label %_ZNKSt9basic_iosIcSt11char_traitsIcEE4fillEv.exit97.invoke 139: ; preds = %133 @@ -1379,7 +1371,7 @@ _ZNKSt9basic_iosIcSt11char_traitsIcEE5widenEc.exit.i74: ; preds = %.noexc80, %14 ._crit_edge.i91: ; preds = %153 %.phi.trans.insert.i92 = getelementptr inbounds nuw i8, ptr %155, i64 224 - %.pre.i93 = load i8, ptr %.phi.trans.insert.i92, align 8, !tbaa !42 + %.pre.i93 = load i8, ptr %.phi.trans.insert.i92, align 8 br label %_ZNKSt9basic_iosIcSt11char_traitsIcEE4fillEv.exit97.invoke 159: ; preds = %153 diff --git a/bench/actix-rs/optimized/4j8yieid8zrlsuh3.ll b/bench/actix-rs/optimized/4j8yieid8zrlsuh3.ll index 2f59090c671..f8190b8b666 100644 --- a/bench/actix-rs/optimized/4j8yieid8zrlsuh3.ll +++ b/bench/actix-rs/optimized/4j8yieid8zrlsuh3.ll @@ -100,7 +100,7 @@ define void @_ZN4core4iter6traits8iterator8Iterator4fold17h58a46eaa2eebc5a8E(ptr %12 = getelementptr inbounds nuw i8, ptr %9, i64 24 store ptr %12, ptr %6, align 8 call void @llvm.memmove.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %4, ptr noundef nonnull align 8 dereferenceable(24) %9, i64 24, i1 false) - %.pr = load i64, ptr %4, align 8 + %.pr = load i64, ptr %4, align 8, !range !4 %.not = icmp eq i64 %.pr, -9223372036854775808 br i1 %.not, label %.loopexit, label %13 @@ -205,3 +205,4 @@ attributes #11 = { cold noreturn nounwind } !1 = !{i32 2, !"RtLibUseGOT", i32 1} !2 = !{!"rustc version 1.77.2 (25ef9e3d8 2024-04-09)"} !3 = !{} +!4 = !{i64 0, i64 -9223372036854775807} diff --git a/bench/anki-rs/optimized/9pty11lf7aq32pj.ll b/bench/anki-rs/optimized/9pty11lf7aq32pj.ll index 2910242c15c..e900858f5bf 100644 --- a/bench/anki-rs/optimized/9pty11lf7aq32pj.ll +++ b/bench/anki-rs/optimized/9pty11lf7aq32pj.ll @@ -572,7 +572,7 @@ common.resume: ; preds = %.thread111, %.body8 unreachable ..body83_crit_edge146: ; preds = %79 - %.pre = load i32, ptr %15, align 4, !alias.scope !192 + %.pre = load i32, ptr %15, align 4 br label %.body83 "_ZN4core3ptr34drop_in_place$LT$std..fs..File$GT$17h5f9d399bb2888804E.exit88": ; preds = %76 @@ -590,7 +590,7 @@ common.resume: ; preds = %.thread111, %.body8 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(48) %.sroa.259.0..sroa_idx, ptr noundef nonnull align 8 dereferenceable(48) %.sroa.0.i77.sroa.4, i64 48, i1 false) %.sroa.259.sroa.2.0..sroa.259.0..sroa_idx.sroa_idx = getelementptr inbounds nuw i8, ptr %0, i64 56 store ptr %70, ptr %.sroa.259.sroa.2.0..sroa.259.0..sroa_idx.sroa_idx, align 8 - %85 = load i32, ptr %15, align 4, !alias.scope !203, !noundef !4 + %85 = load i32, ptr %15, align 4, !alias.scope !192, !noundef !4 %86 = call noundef i32 @close(i32 noundef %85) br label %"_ZN4core3ptr34drop_in_place$LT$std..fs..File$GT$17h5f9d399bb2888804E.exit90" @@ -622,7 +622,7 @@ define noundef zeroext i1 @_ZN7anki_io16filename_is_safe17hbdbd26e076d3515dE(ptr call void @_ZN3std4path4Path10components17h1e1a50d69cc8b4a3E(ptr noalias noundef nonnull sret({ { ptr, i64 }, { i8, [39 x i8] }, i8, i8, i8, [5 x i8] }) align 8 captures(none) dereferenceable(64) %5, ptr noalias noundef nonnull readonly align 1 %0, i64 noundef %1) call void @llvm.lifetime.start.p0(i64 56, ptr nonnull %4) call void @"_ZN80_$LT$std..path..Components$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h897b44223c9dfb99E"(ptr noalias noundef nonnull sret({ i8, [55 x i8] }) align 8 captures(none) dereferenceable(56) %4, ptr noalias noundef nonnull align 8 dereferenceable(64) %5) - %6 = load i8, ptr %4, align 8, !range !214, !noundef !4 + %6 = load i8, ptr %4, align 8, !range !203, !noundef !4 %7 = icmp eq i8 %6, 9 call void @llvm.lifetime.end.p0(i64 56, ptr nonnull %4) br i1 %7, label %8, label %10 @@ -630,7 +630,7 @@ define noundef zeroext i1 @_ZN7anki_io16filename_is_safe17hbdbd26e076d3515dE(ptr 8: ; preds = %2 call void @llvm.lifetime.start.p0(i64 56, ptr nonnull %3) call void @"_ZN80_$LT$std..path..Components$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h897b44223c9dfb99E"(ptr noalias noundef nonnull sret({ i8, [55 x i8] }) align 8 captures(none) dereferenceable(56) %3, ptr noalias noundef nonnull align 8 dereferenceable(64) %5) - %9 = load i8, ptr %3, align 8, !range !214, !noundef !4 + %9 = load i8, ptr %3, align 8, !range !203, !noundef !4 %.not = icmp eq i8 %9, 10 call void @llvm.lifetime.end.p0(i64 56, ptr nonnull %3) br label %10 @@ -671,13 +671,13 @@ define void @"_ZN80_$LT$anki_io..ReadDirFiles$u20$as$u20$core..iter..traits..ite to label %25 unwind label %23 11: ; preds = %8 - %12 = load i64, ptr %3, align 8, !range !215, !alias.scope !216, !noalias !219, !noundef !4 + %12 = load i64, ptr %3, align 8, !range !204, !alias.scope !205, !noalias !208, !noundef !4 %13 = icmp eq i64 %12, 2 br i1 %13, label %17, label %14 14: ; preds = %11 %.sroa.0.sroa.2.0..sroa_idx.i = getelementptr inbounds nuw i8, ptr %3, i64 56 - %.sroa.0.sroa.2.0.copyload.i = load i32, ptr %.sroa.0.sroa.2.0..sroa_idx.i, align 8, !alias.scope !216, !noalias !219 + %.sroa.0.sroa.2.0.copyload.i = load i32, ptr %.sroa.0.sroa.2.0..sroa_idx.i, align 8, !alias.scope !205, !noalias !208 %15 = and i32 %.sroa.0.sroa.2.0.copyload.i, 61440 %16 = icmp eq i32 %15, 32768 call void @llvm.lifetime.end.p0(i64 176, ptr nonnull %3) @@ -685,7 +685,7 @@ define void @"_ZN80_$LT$anki_io..ReadDirFiles$u20$as$u20$core..iter..traits..ite 17: ; preds = %11 %18 = getelementptr inbounds nuw i8, ptr %3, i64 8 - %19 = load ptr, ptr %18, align 8, !alias.scope !216, !noalias !219, !nonnull !4, !noundef !4 + %19 = load ptr, ptr %18, align 8, !alias.scope !205, !noalias !208, !nonnull !4, !noundef !4 call void @llvm.lifetime.end.p0(i64 176, ptr nonnull %3) %20 = getelementptr inbounds nuw i8, ptr %0, i64 8 store ptr null, ptr %20, align 8 @@ -1032,21 +1032,10 @@ attributes #8 = { cold } !200 = distinct !{!200, !"_ZN4core3ptr45drop_in_place$LT$std..sys..unix..fs..File$GT$17h8ad41a028c88a1e2E.llvm.469525117986682804"} !201 = distinct !{!201, !202, !"_ZN4core3ptr34drop_in_place$LT$std..fs..File$GT$17h5f9d399bb2888804E: argument 0"} !202 = distinct !{!202, !"_ZN4core3ptr34drop_in_place$LT$std..fs..File$GT$17h5f9d399bb2888804E"} -!203 = !{!204, !206, !208, !210, !212} -!204 = distinct !{!204, !205, !"_ZN69_$LT$std..os..fd..owned..OwnedFd$u20$as$u20$core..ops..drop..Drop$GT$4drop17hd16fe7beed0b769fE.llvm.469525117986682804: argument 0"} -!205 = distinct !{!205, !"_ZN69_$LT$std..os..fd..owned..OwnedFd$u20$as$u20$core..ops..drop..Drop$GT$4drop17hd16fe7beed0b769fE.llvm.469525117986682804"} -!206 = distinct !{!206, !207, !"_ZN4core3ptr48drop_in_place$LT$std..os..fd..owned..OwnedFd$GT$17ha2701313071df5d5E.llvm.469525117986682804: argument 0"} -!207 = distinct !{!207, !"_ZN4core3ptr48drop_in_place$LT$std..os..fd..owned..OwnedFd$GT$17ha2701313071df5d5E.llvm.469525117986682804"} -!208 = distinct !{!208, !209, !"_ZN4core3ptr49drop_in_place$LT$std..sys..unix..fd..FileDesc$GT$17h2ce9a6edd6d6c66dE.llvm.469525117986682804: argument 0"} -!209 = distinct !{!209, !"_ZN4core3ptr49drop_in_place$LT$std..sys..unix..fd..FileDesc$GT$17h2ce9a6edd6d6c66dE.llvm.469525117986682804"} -!210 = distinct !{!210, !211, !"_ZN4core3ptr45drop_in_place$LT$std..sys..unix..fs..File$GT$17h8ad41a028c88a1e2E.llvm.469525117986682804: argument 0"} -!211 = distinct !{!211, !"_ZN4core3ptr45drop_in_place$LT$std..sys..unix..fs..File$GT$17h8ad41a028c88a1e2E.llvm.469525117986682804"} -!212 = distinct !{!212, !213, !"_ZN4core3ptr34drop_in_place$LT$std..fs..File$GT$17h5f9d399bb2888804E: argument 0"} -!213 = distinct !{!213, !"_ZN4core3ptr34drop_in_place$LT$std..fs..File$GT$17h5f9d399bb2888804E"} -!214 = !{i8 0, i8 11} -!215 = !{i64 0, i64 3} -!216 = !{!217} -!217 = distinct !{!217, !218, !"_ZN4core6result19Result$LT$T$C$E$GT$3map17h3170d27a06e5478aE: argument 1"} -!218 = distinct !{!218, !"_ZN4core6result19Result$LT$T$C$E$GT$3map17h3170d27a06e5478aE"} -!219 = !{!220} -!220 = distinct !{!220, !218, !"_ZN4core6result19Result$LT$T$C$E$GT$3map17h3170d27a06e5478aE: argument 0"} +!203 = !{i8 0, i8 11} +!204 = !{i64 0, i64 3} +!205 = !{!206} +!206 = distinct !{!206, !207, !"_ZN4core6result19Result$LT$T$C$E$GT$3map17h3170d27a06e5478aE: argument 1"} +!207 = distinct !{!207, !"_ZN4core6result19Result$LT$T$C$E$GT$3map17h3170d27a06e5478aE"} +!208 = !{!209} +!209 = distinct !{!209, !207, !"_ZN4core6result19Result$LT$T$C$E$GT$3map17h3170d27a06e5478aE: argument 0"} diff --git a/bench/arrow/optimized/string.ll b/bench/arrow/optimized/string.ll index 7c56ad09e7c..97554476b28 100644 --- a/bench/arrow/optimized/string.ll +++ b/bench/arrow/optimized/string.ll @@ -219,7 +219,7 @@ _ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE8capacityEv.exit.i: ; pred to label %.noexc30 unwind label %.loopexit .noexc30: ; preds = %37 - %.pre.i = load ptr, ptr %0, align 8, !tbaa !10 + %.pre.i = load ptr, ptr %0, align 8 br label %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9push_backEc.exit _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9push_backEc.exit: ; preds = %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE8capacityEv.exit.i, %.noexc30 @@ -443,8 +443,7 @@ _ZN5arrow6StatusD2Ev.exit.thread: ; preds = %.lr.ph _ZN5arrow6StatusD2Ev.exit: ; preds = %.lr.ph call void @_ZN5arrow6Status8FromArgsIJRA26_KcEEES0_NS_10StatusCodeEDpOT_(ptr dead_on_unwind nonnull writable sret(%"class.arrow::Status") align 8 %5, i8 noundef signext 4, ptr noundef nonnull align 1 dereferenceable(26) @.str.6) - %.pr = load ptr, ptr %5, align 8, !tbaa !27, !noalias !36 - call void @llvm.experimental.noalias.scope.decl(metadata !36) + %.pr = load ptr, ptr %5, align 8 store ptr %.pr, ptr %0, align 8, !tbaa !27, !alias.scope !36 call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %5) #23 %25 = icmp eq ptr %.pr, null @@ -1006,7 +1005,7 @@ _ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i: ; store ptr %31, ptr %0, align 8, !tbaa !10 %38 = load i64, ptr %32, align 8, !tbaa !9 store i64 %38, ptr %30, align 8, !tbaa !9 - %.pre = load i64, ptr %3, align 8, !tbaa !15 + %.pre = load i64, ptr %3, align 8 br label %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2EOS4_.exit _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2EOS4_.exit: ; preds = %34, %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i @@ -1706,7 +1705,7 @@ _ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i.i %202 = load i64, ptr %195, align 8, !tbaa !9 store i64 %202, ptr %193, align 8, !tbaa !9 %.phi.trans.insert = getelementptr inbounds nuw i8, ptr %10, i64 8 - %.pre = load i64, ptr %.phi.trans.insert, align 8, !tbaa !15 + %.pre = load i64, ptr %.phi.trans.insert, align 8 br label %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit: ; preds = %197, %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i.i.i.i.i.i diff --git a/bench/boost/optimized/close_handles.ll b/bench/boost/optimized/close_handles.ll index c6b07aedc9f..fd520d71307 100644 --- a/bench/boost/optimized/close_handles.ll +++ b/bench/boost/optimized/close_handles.ll @@ -19,8 +19,8 @@ define void @_ZN5boost7process2v25posix6detail9close_allERKSt6vectorIiSaIiEERNS_ 9: ; preds = %7 %10 = add nsw i32 %8, -1 %11 = tail call i32 @close_range(i32 noundef 0, i32 noundef %10, i32 noundef 2) #2 - %.pre = load ptr, ptr %4, align 8, !tbaa !9 - %.pre23 = load ptr, ptr %0, align 8, !tbaa !11 + %.pre = load ptr, ptr %4, align 8 + %.pre23 = load ptr, ptr %0, align 8 br label %12 12: ; preds = %9, %7 @@ -57,8 +57,8 @@ define void @_ZN5boost7process2v25posix6detail9close_allERKSt6vectorIiSaIiEERNS_ 29: ; preds = %.lr.ph %30 = add nsw i32 %27, -1 %31 = tail call i32 @close_range(i32 noundef %28, i32 noundef %30, i32 noundef 2) #2 - %.pre24 = load ptr, ptr %4, align 8, !tbaa !9 - %.pre25 = load ptr, ptr %0, align 8, !tbaa !11 + %.pre24 = load ptr, ptr %4, align 8 + %.pre25 = load ptr, ptr %0, align 8 br label %32 32: ; preds = %29, %.lr.ph @@ -70,7 +70,7 @@ define void @_ZN5boost7process2v25posix6detail9close_allERKSt6vectorIiSaIiEERNS_ %38 = ashr exact i64 %37, 2 %39 = add nsw i64 %38, -1 %40 = icmp ult i64 %25, %39 - br i1 %40, label %.lr.ph, label %._crit_edge, !llvm.loop !12 + br i1 %40, label %.lr.ph, label %._crit_edge, !llvm.loop !9 41: ; preds = %2, %._crit_edge %.sink = phi i32 [ %20, %._crit_edge ], [ 0, %2 ] @@ -96,8 +96,5 @@ attributes #2 = { nounwind } !6 = !{!"Simple C++ TBAA"} !7 = !{!8, !8, i64 0} !8 = !{!"int", !5, i64 0} -!9 = !{!10, !4, i64 8} -!10 = !{!"_ZTSNSt12_Vector_baseIiSaIiEE17_Vector_impl_dataE", !4, i64 0, !4, i64 8, !4, i64 16} -!11 = !{!10, !4, i64 0} -!12 = distinct !{!12, !13} -!13 = !{!"llvm.loop.mustprogress"} +!9 = distinct !{!9, !10} +!10 = !{!"llvm.loop.mustprogress"} diff --git a/bench/boost/optimized/test_ifstream.ll b/bench/boost/optimized/test_ifstream.ll index ea441e9f28c..34d0d6c338e 100644 --- a/bench/boost/optimized/test_ifstream.ll +++ b/bench/boost/optimized/test_ifstream.ll @@ -439,7 +439,7 @@ _ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i: %41 = load i64, ptr %34, align 8, !tbaa !16 store i64 %41, ptr %32, align 8, !tbaa !16, !alias.scope !18 %.phi.trans.insert.i = getelementptr inbounds nuw i8, ptr %31, i64 8 - %.pre.i = load i64, ptr %.phi.trans.insert.i, align 8, !tbaa !17 + %.pre.i = load i64, ptr %.phi.trans.insert.i, align 8 br label %42 42: ; preds = %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i, %36 @@ -465,7 +465,7 @@ _ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i12 %51 = load i64, ptr %10, align 8, !tbaa !16 %52 = add i64 %51, 1 call void @_ZdlPvm(ptr noundef %47, i64 noundef %52) #29 - %.pre = load ptr, ptr %5, align 8, !tbaa !14 + %.pre = load ptr, ptr %5, align 8 br label %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit: ; preds = %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i, %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i12 @@ -845,7 +845,7 @@ _ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i53 store ptr %85, ptr %8, align 8, !tbaa !14 %91 = load i64, ptr %69, align 8, !tbaa !16 store i64 %91, ptr %84, align 8, !tbaa !16 - %.pre = load i64, ptr %81, align 8, !tbaa !17 + %.pre = load i64, ptr %81, align 8 br label %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit56 _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit56: ; preds = %87, %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i53 @@ -917,7 +917,7 @@ _ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i61 store ptr %110, ptr %10, align 8, !tbaa !14 %116 = load i64, ptr %94, align 8, !tbaa !16 store i64 %116, ptr %109, align 8, !tbaa !16 - %.pre188 = load i64, ptr %106, align 8, !tbaa !17 + %.pre188 = load i64, ptr %106, align 8 br label %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit65 _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit65: ; preds = %112, %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i61 @@ -4056,7 +4056,7 @@ _ZN5boost6nowide4test8test_monEv.exit115: ; preds = %312, %310, %307 to label %._crit_edge unwind label %298 ._crit_edge: ; preds = %321 - %.pre = load ptr, ptr %15, align 8, !tbaa !4 + %.pre = load ptr, ptr %15, align 8 %.phi.trans.insert = getelementptr i8, ptr %.pre, i64 -24 %.pre188 = load i64, ptr %.phi.trans.insert, align 8 br label %322 @@ -5182,7 +5182,7 @@ _ZN5boost6nowide4test8test_monEv.exit65: ; preds = %197, %195, %192 to label %._crit_edge unwind label %183 ._crit_edge: ; preds = %206 - %.pre = load ptr, ptr %7, align 8, !tbaa !4 + %.pre = load ptr, ptr %7, align 8 %.phi.trans.insert = getelementptr i8, ptr %.pre, i64 -24 %.pre111 = load i64, ptr %.phi.trans.insert, align 8 br label %207 @@ -6437,7 +6437,7 @@ _ZN5boost6nowide4test8test_monEv.exit115: ; preds = %315, %313, %310 to label %._crit_edge unwind label %301 ._crit_edge: ; preds = %324 - %.pre = load ptr, ptr %15, align 8, !tbaa !4 + %.pre = load ptr, ptr %15, align 8 %.phi.trans.insert = getelementptr i8, ptr %.pre, i64 -24 %.pre188 = load i64, ptr %.phi.trans.insert, align 8 br label %325 @@ -7582,7 +7582,7 @@ _ZN5boost6nowide4test8test_monEv.exit69: ; preds = %200, %198, %195 to label %._crit_edge unwind label %186 ._crit_edge: ; preds = %209 - %.pre = load ptr, ptr %7, align 8, !tbaa !4 + %.pre = load ptr, ptr %7, align 8 %.phi.trans.insert = getelementptr i8, ptr %.pre, i64 -24 %.pre117 = load i64, ptr %.phi.trans.insert, align 8 br label %210 @@ -8258,7 +8258,7 @@ _ZN5boost6nowide13basic_filebufIcSt11char_traitsIcEE12stop_readingEv.exit.i: ; p br i1 %24, label %.noexc6._ZN5boost6nowide13basic_filebufIcSt11char_traitsIcEE12stop_readingEv.exit.thread.i_crit_edge, label %.noexc2 .noexc6._ZN5boost6nowide13basic_filebufIcSt11char_traitsIcEE12stop_readingEv.exit.thread.i_crit_edge: ; preds = %.noexc6 - %.pre = load ptr, ptr %5, align 8, !tbaa !58 + %.pre = load ptr, ptr %5, align 8 br label %_ZN5boost6nowide13basic_filebufIcSt11char_traitsIcEE12stop_readingEv.exit.thread.i _ZN5boost6nowide13basic_filebufIcSt11char_traitsIcEE12stop_readingEv.exit.thread.i: ; preds = %.noexc6._ZN5boost6nowide13basic_filebufIcSt11char_traitsIcEE12stop_readingEv.exit.thread.i_crit_edge, %16, %13 @@ -8616,7 +8616,7 @@ define linkonce_odr hidden noundef i64 @_ZN5boost6nowide13basic_filebufIcSt11cha 39: ; preds = %33 tail call void @llvm.memcpy.p0.p0.i64(ptr align 1 %1, ptr align 1 %32, i64 %37, i1 false) - %.pre = load ptr, ptr %31, align 8, !tbaa !68 + %.pre = load ptr, ptr %31, align 8 br label %_ZNSt11char_traitsIcE4copyEPcPKcm.exit _ZNSt11char_traitsIcE4copyEPcPKcm.exit: ; preds = %33, %39 @@ -8718,7 +8718,7 @@ define linkonce_odr hidden noundef i32 @_ZN5boost6nowide13basic_filebufIcSt11cha %34 = load ptr, ptr %33, align 8, !tbaa !47 %.not.i8 = icmp eq ptr %34, null %35 = getelementptr inbounds nuw i8, ptr %0, i64 80 - %36 = load i64, ptr %35, align 8, !tbaa !48 + %36 = load i64, ptr %35, align 8 br i1 %.not.i8, label %37, label %_ZN5boost6nowide13basic_filebufIcSt11char_traitsIcEE11make_bufferEv.exit 37: ; preds = %32 @@ -8750,7 +8750,7 @@ _ZN5boost6nowide13basic_filebufIcSt11char_traitsIcEE11make_bufferEv.exit: ; pred br i1 %.not11, label %_ZN5boost6nowide13basic_filebufIcSt11char_traitsIcEE12stop_writingEv.exit, label %_ZN5boost6nowide13basic_filebufIcSt11char_traitsIcEE11make_bufferEv.exit._crit_edge _ZN5boost6nowide13basic_filebufIcSt11char_traitsIcEE11make_bufferEv.exit._crit_edge: ; preds = %_ZN5boost6nowide13basic_filebufIcSt11char_traitsIcEE11make_bufferEv.exit - %.pre12 = load i8, ptr %46, align 1, !tbaa !16 + %.pre12 = load i8, ptr %46, align 1 br label %51 51: ; preds = %_ZN5boost6nowide13basic_filebufIcSt11char_traitsIcEE11make_bufferEv.exit._crit_edge, %.thread @@ -9362,7 +9362,7 @@ define linkonce_odr hidden void @_ZN5boost6nowide6detail12fstream_implIcSt11char %strlen.i.i.i.i = tail call noundef i64 @strlen(ptr nonnull dereferenceable(1) %1) %9 = getelementptr inbounds nuw i8, ptr %1, i64 %strlen.i.i.i.i %10 = call noundef ptr @_ZN5boost6nowide17basic_stackstringIwcLm256EE7convertEPKcS4_(ptr noundef nonnull align 8 dereferenceable(1032) %4, ptr noundef nonnull %1, ptr noundef nonnull %9) - %.pre.i = load ptr, ptr %7, align 8, !tbaa !74 + %.pre.i = load ptr, ptr %7, align 8 br label %_ZN5boost6nowide17basic_stackstringIwcLm256EEC2EPKc.exit.i _ZN5boost6nowide17basic_stackstringIwcLm256EEC2EPKc.exit.i: ; preds = %8, %3 @@ -9637,7 +9637,7 @@ _ZN5boost6nowide3utf14convert_bufferIwcEEPT_S4_mPKT0_S7_.exit: ; preds = %.lr.ph %.02336.i18 = add i64 %.02336.in.i16, -1 %29 = call noundef i32 @_ZN5boost6nowide3utf10utf_traitsIcLi1EE6decodeIPKcEEjRT_S7_(ptr noundef nonnull align 8 dereferenceable(8) %4, ptr noundef %2) %30 = icmp eq i64 %.02336.i18, 0 - br i1 %30, label %.thread.i.loopexit, label %31 + br i1 %30, label %.thread.i, label %31 31: ; preds = %.lr.ph.i15 %or.cond.i19 = icmp ugt i32 %29, -3 @@ -9646,17 +9646,12 @@ _ZN5boost6nowide3utf14convert_bufferIwcEEPT_S4_mPKT0_S7_.exit: ; preds = %.lr.ph store i32 %spec.store.select.i20, ptr %.02035.i17, align 4, !tbaa !76 %33 = load ptr, ptr %4, align 8, !tbaa !7 %.not.i21 = icmp eq ptr %33, %2 - br i1 %.not.i21, label %.thread.i.loopexit, label %.lr.ph.i15 + br i1 %.not.i21, label %.thread.i, label %.lr.ph.i15 -.thread.i.loopexit: ; preds = %.lr.ph.i15, %31 - %.020.lcssa.i22.ph = phi ptr [ %.02035.i17, %.lr.ph.i15 ], [ %32, %31 ] - %.pre.pre.pre = load ptr, ptr %6, align 8, !tbaa !74 - br label %.thread.i - -.thread.i: ; preds = %.thread.i.loopexit, %.preheader.i - %.pre.pre = phi ptr [ %27, %.preheader.i ], [ %.pre.pre.pre, %.thread.i.loopexit ] - %.020.lcssa.i22 = phi ptr [ %27, %.preheader.i ], [ %.020.lcssa.i22.ph, %.thread.i.loopexit ] +.thread.i: ; preds = %31, %.lr.ph.i15, %.preheader.i + %.020.lcssa.i22 = phi ptr [ %27, %.preheader.i ], [ %32, %31 ], [ %.02035.i17, %.lr.ph.i15 ] store i32 0, ptr %.020.lcssa.i22, align 4, !tbaa !76 + %.pre.pre = load ptr, ptr %6, align 8 br label %_ZN5boost6nowide3utf14convert_bufferIwcEEPT_S4_mPKT0_S7_.exit24 _ZN5boost6nowide3utf14convert_bufferIwcEEPT_S4_mPKT0_S7_.exit24: ; preds = %23, %.thread.i diff --git a/bench/box2d/optimized/osmesa_context.ll b/bench/box2d/optimized/osmesa_context.ll index 7099c3fab7a..ec04648b385 100644 --- a/bench/box2d/optimized/osmesa_context.ll +++ b/bench/box2d/optimized/osmesa_context.ll @@ -273,7 +273,7 @@ define hidden range(i32 0, 2) i32 @_glfwCreateContextOSMesa(ptr noundef writeonl %46 = load i32, ptr %45, align 8, !tbaa !145 %.not59 = icmp eq i32 %46, 1 %47 = getelementptr inbounds nuw i8, ptr %1, i64 12 - %48 = load i32, ptr %47, align 4, !tbaa !146 + %48 = load i32, ptr %47, align 4 %.not60 = icmp eq i32 %48, 0 %or.cond = select i1 %.not59, i1 %.not60, i1 false br i1 %or.cond, label %61, label %._crit_edge @@ -300,7 +300,7 @@ define hidden range(i32 0, 2) i32 @_glfwCreateContextOSMesa(ptr noundef writeonl 61: ; preds = %44, %._crit_edge %.1 = phi i32 [ %58, %._crit_edge ], [ %.0, %44 ] %62 = getelementptr inbounds nuw i8, ptr %1, i64 16 - %63 = load i32, ptr %62, align 8, !tbaa !147 + %63 = load i32, ptr %62, align 8, !tbaa !146 %.not61 = icmp eq i32 %63, 0 br i1 %.not61, label %.thread, label %71 @@ -355,17 +355,17 @@ define hidden range(i32 0, 2) i32 @_glfwCreateContextOSMesa(ptr noundef writeonl 88: ; preds = %84 %89 = getelementptr inbounds nuw i8, ptr %0, i64 600 - store ptr @makeContextCurrentOSMesa, ptr %89, align 8, !tbaa !148 + store ptr @makeContextCurrentOSMesa, ptr %89, align 8, !tbaa !147 %90 = getelementptr inbounds nuw i8, ptr %0, i64 608 - store ptr @swapBuffersOSMesa, ptr %90, align 8, !tbaa !149 + store ptr @swapBuffersOSMesa, ptr %90, align 8, !tbaa !148 %91 = getelementptr inbounds nuw i8, ptr %0, i64 616 - store ptr @swapIntervalOSMesa, ptr %91, align 8, !tbaa !150 + store ptr @swapIntervalOSMesa, ptr %91, align 8, !tbaa !149 %92 = getelementptr inbounds nuw i8, ptr %0, i64 624 - store ptr @extensionSupportedOSMesa, ptr %92, align 8, !tbaa !151 + store ptr @extensionSupportedOSMesa, ptr %92, align 8, !tbaa !150 %93 = getelementptr inbounds nuw i8, ptr %0, i64 632 - store ptr @getProcAddressOSMesa, ptr %93, align 8, !tbaa !152 + store ptr @getProcAddressOSMesa, ptr %93, align 8, !tbaa !151 %94 = getelementptr inbounds nuw i8, ptr %0, i64 640 - store ptr @destroyContextOSMesa, ptr %94, align 8, !tbaa !153 + store ptr @destroyContextOSMesa, ptr %94, align 8, !tbaa !152 br label %95 95: ; preds = %71, %88, %87, %75, %18 @@ -383,25 +383,25 @@ define internal void @makeContextCurrentOSMesa(ptr noundef %0) #0 { 4: ; preds = %1 call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %2) #4 call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %3) #4 - %5 = load ptr, ptr getelementptr inbounds nuw (i8, ptr @_glfw, i64 352), align 8, !tbaa !154 + %5 = load ptr, ptr getelementptr inbounds nuw (i8, ptr @_glfw, i64 352), align 8, !tbaa !153 call void %5(ptr noundef nonnull %0, ptr noundef nonnull %2, ptr noundef nonnull %3) #4 %6 = getelementptr inbounds nuw i8, ptr %0, i64 680 %7 = getelementptr inbounds nuw i8, ptr %0, i64 696 - %8 = load ptr, ptr %7, align 8, !tbaa !155 + %8 = load ptr, ptr %7, align 8, !tbaa !154 %9 = icmp eq ptr %8, null br i1 %9, label %18, label %10 10: ; preds = %4 %11 = load i32, ptr %2, align 4, !tbaa !141 %12 = getelementptr inbounds nuw i8, ptr %0, i64 688 - %13 = load i32, ptr %12, align 8, !tbaa !156 + %13 = load i32, ptr %12, align 8, !tbaa !155 %.not13 = icmp eq i32 %11, %13 br i1 %.not13, label %14, label %18 14: ; preds = %10 %15 = load i32, ptr %3, align 4, !tbaa !141 %16 = getelementptr inbounds nuw i8, ptr %0, i64 692 - %17 = load i32, ptr %16, align 4, !tbaa !157 + %17 = load i32, ptr %16, align 4, !tbaa !156 %.not14 = icmp eq i32 %15, %17 br i1 %.not14, label %29, label %18 @@ -413,13 +413,13 @@ define internal void @makeContextCurrentOSMesa(ptr noundef %0) #0 { %22 = sext i32 %21 to i64 %23 = mul nsw i64 %22, %20 %24 = call ptr @_glfw_calloc(i64 noundef 4, i64 noundef %23) #4 - store ptr %24, ptr %7, align 8, !tbaa !155 + store ptr %24, ptr %7, align 8, !tbaa !154 %25 = load i32, ptr %2, align 4, !tbaa !141 %26 = getelementptr inbounds nuw i8, ptr %0, i64 688 - store i32 %25, ptr %26, align 8, !tbaa !156 + store i32 %25, ptr %26, align 8, !tbaa !155 %27 = load i32, ptr %3, align 4, !tbaa !141 %28 = getelementptr inbounds nuw i8, ptr %0, i64 692 - store i32 %27, ptr %28, align 4, !tbaa !157 + store i32 %27, ptr %28, align 4, !tbaa !156 br label %29 29: ; preds = %18, %14 @@ -488,16 +488,16 @@ define internal void @destroyContextOSMesa(ptr noundef captures(none) %0) #0 { 6: ; preds = %4, %1 %7 = getelementptr inbounds nuw i8, ptr %0, i64 696 - %8 = load ptr, ptr %7, align 8, !tbaa !155 + %8 = load ptr, ptr %7, align 8, !tbaa !154 %.not8 = icmp eq ptr %8, null br i1 %.not8, label %12, label %9 9: ; preds = %6 tail call void @_glfw_free(ptr noundef nonnull %8) #4 %10 = getelementptr inbounds nuw i8, ptr %0, i64 688 - store i32 0, ptr %10, align 8, !tbaa !156 + store i32 0, ptr %10, align 8, !tbaa !155 %11 = getelementptr inbounds nuw i8, ptr %0, i64 692 - store i32 0, ptr %11, align 4, !tbaa !157 + store i32 0, ptr %11, align 4, !tbaa !156 br label %12 12: ; preds = %9, %6 @@ -514,7 +514,7 @@ define range(i32 0, 2) i32 @glfwGetOSMesaColorBuffer(ptr noundef readonly captur call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %7) #4 call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %8) #4 call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %9) #4 - %10 = load i32, ptr @_glfw, align 8, !tbaa !158 + %10 = load i32, ptr @_glfw, align 8, !tbaa !157 %.not = icmp eq i32 %10, 0 br i1 %.not, label %11, label %12 @@ -524,7 +524,7 @@ define range(i32 0, 2) i32 @glfwGetOSMesaColorBuffer(ptr noundef readonly captur 12: ; preds = %5 %13 = getelementptr inbounds nuw i8, ptr %0, i64 532 - %14 = load i32, ptr %13, align 4, !tbaa !159 + %14 = load i32, ptr %13, align 4, !tbaa !158 %.not15 = icmp eq i32 %14, 221187 br i1 %.not15, label %16, label %15 @@ -576,8 +576,8 @@ define range(i32 0, 2) i32 @glfwGetOSMesaColorBuffer(ptr noundef readonly captur br i1 %.not20, label %34, label %32 32: ; preds = %31 - %33 = load ptr, ptr %6, align 8, !tbaa !160 - store ptr %33, ptr %4, align 8, !tbaa !160 + %33 = load ptr, ptr %6, align 8, !tbaa !159 + store ptr %33, ptr %4, align 8, !tbaa !159 br label %34 34: ; preds = %31, %32, %21, %15, %11 @@ -599,7 +599,7 @@ define range(i32 0, 2) i32 @glfwGetOSMesaDepthBuffer(ptr noundef readonly captur call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %7) #4 call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %8) #4 call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %9) #4 - %10 = load i32, ptr @_glfw, align 8, !tbaa !158 + %10 = load i32, ptr @_glfw, align 8, !tbaa !157 %.not = icmp eq i32 %10, 0 br i1 %.not, label %11, label %12 @@ -609,7 +609,7 @@ define range(i32 0, 2) i32 @glfwGetOSMesaDepthBuffer(ptr noundef readonly captur 12: ; preds = %5 %13 = getelementptr inbounds nuw i8, ptr %0, i64 532 - %14 = load i32, ptr %13, align 4, !tbaa !159 + %14 = load i32, ptr %13, align 4, !tbaa !158 %.not15 = icmp eq i32 %14, 221187 br i1 %.not15, label %16, label %15 @@ -661,8 +661,8 @@ define range(i32 0, 2) i32 @glfwGetOSMesaDepthBuffer(ptr noundef readonly captur br i1 %.not20, label %34, label %32 32: ; preds = %31 - %33 = load ptr, ptr %6, align 8, !tbaa !160 - store ptr %33, ptr %4, align 8, !tbaa !160 + %33 = load ptr, ptr %6, align 8, !tbaa !159 + store ptr %33, ptr %4, align 8, !tbaa !159 br label %34 34: ; preds = %31, %32, %21, %15, %11 @@ -676,7 +676,7 @@ define range(i32 0, 2) i32 @glfwGetOSMesaDepthBuffer(ptr noundef readonly captur ; Function Attrs: nounwind uwtable define ptr @glfwGetOSMesaContext(ptr noundef readonly captures(none) %0) local_unnamed_addr #0 { - %2 = load i32, ptr @_glfw, align 8, !tbaa !158 + %2 = load i32, ptr @_glfw, align 8, !tbaa !157 %.not = icmp eq i32 %2, 0 br i1 %.not, label %3, label %4 @@ -686,7 +686,7 @@ define ptr @glfwGetOSMesaContext(ptr noundef readonly captures(none) %0) local_u 4: ; preds = %1 %5 = getelementptr inbounds nuw i8, ptr %0, i64 532 - %6 = load i32, ptr %5, align 4, !tbaa !159 + %6 = load i32, ptr %5, align 4, !tbaa !158 %.not4 = icmp eq i32 %6, 221187 br i1 %.not4, label %8, label %7 @@ -864,18 +864,17 @@ attributes #4 = { nounwind } !143 = !{!15, !5, i64 20} !144 = !{!21, !5, i64 28} !145 = !{!21, !5, i64 8} -!146 = !{!21, !5, i64 12} -!147 = !{!21, !5, i64 16} -!148 = !{!108, !9, i64 600} -!149 = !{!108, !9, i64 608} -!150 = !{!108, !9, i64 616} -!151 = !{!108, !9, i64 624} -!152 = !{!108, !9, i64 632} -!153 = !{!108, !9, i64 640} -!154 = !{!4, !9, i64 352} -!155 = !{!108, !9, i64 696} -!156 = !{!108, !5, i64 688} -!157 = !{!108, !5, i64 692} -!158 = !{!4, !5, i64 0} -!159 = !{!108, !5, i64 532} -!160 = !{!9, !9, i64 0} +!146 = !{!21, !5, i64 16} +!147 = !{!108, !9, i64 600} +!148 = !{!108, !9, i64 608} +!149 = !{!108, !9, i64 616} +!150 = !{!108, !9, i64 624} +!151 = !{!108, !9, i64 632} +!152 = !{!108, !9, i64 640} +!153 = !{!4, !9, i64 352} +!154 = !{!108, !9, i64 696} +!155 = !{!108, !5, i64 688} +!156 = !{!108, !5, i64 692} +!157 = !{!4, !5, i64 0} +!158 = !{!108, !5, i64 532} +!159 = !{!9, !9, i64 0} diff --git a/bench/bullet3/optimized/MultiBodyTreeInitCache.ll b/bench/bullet3/optimized/MultiBodyTreeInitCache.ll index 4972b8a39e1..2b695bb52c7 100644 --- a/bench/bullet3/optimized/MultiBodyTreeInitCache.ll +++ b/bench/bullet3/optimized/MultiBodyTreeInitCache.ll @@ -243,7 +243,7 @@ _ZN20b3AlignedObjectArrayIiE10deallocateEv.exit.i.i: ; preds = %74, %_ZNK20b3Ali store i8 1, ptr %71, align 8, !tbaa !21 store ptr %.0.i18.i.i, ptr %69, align 8, !tbaa !25 store i32 %.0.i.i, ptr %49, align 8, !tbaa !27 - %.pre.i = load i32, ptr %47, align 4, !tbaa !26 + %.pre.i = load i32, ptr %47, align 4 br label %_ZN20b3AlignedObjectArrayIiE9push_backERKi.exit _ZN20b3AlignedObjectArrayIiE9push_backERKi.exit: ; preds = %30, %52, %_ZN20b3AlignedObjectArrayIiE10deallocateEv.exit.i.i @@ -309,7 +309,6 @@ _ZNK20b3AlignedObjectArrayIPvE4copyEiiPS0_.exit15.i.i: ; preds = %_ZN20b3Aligned br label %_ZNK20b3AlignedObjectArrayIPvE4copyEiiPS0_.exit.i.i _ZNK20b3AlignedObjectArrayIPvE4copyEiiPS0_.exit.i.i: ; preds = %99, %_ZNK20b3AlignedObjectArrayIPvE4copyEiiPS0_.exit15.i.i, %.split.i.i17 - %.pre3.i = phi i32 [ 0, %_ZNK20b3AlignedObjectArrayIPvE4copyEiiPS0_.exit15.i.i ], [ %96, %.split.i.i17 ], [ %96, %99 ] %.0.i18.i.i18 = phi ptr [ null, %_ZNK20b3AlignedObjectArrayIPvE4copyEiiPS0_.exit15.i.i ], [ %94, %.split.i.i17 ], [ %94, %99 ] %.0.i.i19 = phi i32 [ 0, %_ZNK20b3AlignedObjectArrayIPvE4copyEiiPS0_.exit15.i.i ], [ %89, %.split.i.i17 ], [ %89, %99 ] %104 = getelementptr inbounds nuw i8, ptr %0, i64 152 @@ -323,14 +322,13 @@ _ZNK20b3AlignedObjectArrayIPvE4copyEiiPS0_.exit.i.i: ; preds = %99, %_ZNK20b3Ali 109: ; preds = %_ZNK20b3AlignedObjectArrayIPvE4copyEiiPS0_.exit.i.i call void @_Z21b3AlignedFreeInternalPv(ptr noundef nonnull %105) - %.pre.pre.i = load i32, ptr %82, align 4, !tbaa !32 br label %_ZN20b3AlignedObjectArrayIPvE10deallocateEv.exit.i.i _ZN20b3AlignedObjectArrayIPvE10deallocateEv.exit.i.i: ; preds = %109, %_ZNK20b3AlignedObjectArrayIPvE4copyEiiPS0_.exit.i.i - %.pre.i22 = phi i32 [ %.pre.pre.i, %109 ], [ %.pre3.i, %_ZNK20b3AlignedObjectArrayIPvE4copyEiiPS0_.exit.i.i ] store i8 1, ptr %106, align 8, !tbaa !28 store ptr %.0.i18.i.i18, ptr %104, align 8, !tbaa !31 store i32 %.0.i.i19, ptr %84, align 8, !tbaa !33 + %.pre.i22 = load i32, ptr %82, align 4 br label %_ZN20b3AlignedObjectArrayIPvE9push_backERKS0_.exit _ZN20b3AlignedObjectArrayIPvE9push_backERKS0_.exit: ; preds = %_ZN20b3AlignedObjectArrayIiE9push_backERKi.exit, %87, %_ZN20b3AlignedObjectArrayIPvE10deallocateEv.exit.i.i @@ -438,7 +436,7 @@ _ZN20b3AlignedObjectArrayIN24btInverseDynamicsBullet311InertiaDataEE10deallocate store i8 1, ptr %32, align 8, !tbaa !4 store ptr %.0.i18.i, ptr %30, align 8, !tbaa !13 store i32 %.0.i, ptr %5, align 8, !tbaa !14 - %.pre = load i32, ptr %3, align 4, !tbaa !34 + %.pre = load i32, ptr %3, align 4 br label %36 36: ; preds = %2, %8, %_ZN20b3AlignedObjectArrayIN24btInverseDynamicsBullet311InertiaDataEE10deallocateEv.exit.i @@ -548,7 +546,7 @@ _ZN20b3AlignedObjectArrayIN24btInverseDynamicsBullet39JointDataEE10deallocateEv. store i8 1, ptr %34, align 8, !tbaa !15 store ptr %.0.i18.i, ptr %32, align 8, !tbaa !19 store i32 %.0.i, ptr %5, align 8, !tbaa !20 - %.pre = load i32, ptr %3, align 4, !tbaa !35 + %.pre = load i32, ptr %3, align 4 br label %38 38: ; preds = %2, %8, %_ZN20b3AlignedObjectArrayIN24btInverseDynamicsBullet39JointDataEE10deallocateEv.exit.i @@ -724,7 +722,7 @@ define dso_local noundef i32 @_ZN24btInverseDynamicsBullet313MultiBodyTree9InitC ..lr.ph.i_crit_edge: ; preds = %7 %.phi.trans.insert = getelementptr inbounds nuw i8, ptr %0, i64 88 - %.pre = load ptr, ptr %.phi.trans.insert, align 8, !tbaa !25 + %.pre = load ptr, ptr %.phi.trans.insert, align 8 br label %.lr.ph.i 11: ; preds = %7 diff --git a/bench/bullet3/optimized/btDiscreteDynamicsWorldMt.ll b/bench/bullet3/optimized/btDiscreteDynamicsWorldMt.ll index 554659e1fcc..ed2c0c6b14e 100644 --- a/bench/bullet3/optimized/btDiscreteDynamicsWorldMt.ll +++ b/bench/bullet3/optimized/btDiscreteDynamicsWorldMt.ll @@ -169,7 +169,7 @@ define dso_local void @_ZN24btConstraintSolverPoolMt4initEPP18btConstraintSolver %14 = sext i32 %2 to i64 %15 = shl nsw i64 %14, 7 %16 = tail call noundef ptr @_Z22btAlignedAllocInternalmi(i64 noundef %15, i32 noundef 16) - %.pre.i = load i32, ptr %5, align 4, !tbaa !13 + %.pre.i = load i32, ptr %5, align 4 br label %_ZN20btAlignedObjectArrayIN24btConstraintSolverPoolMt12ThreadSolverEE8allocateEi.exit.i.i _ZN20btAlignedObjectArrayIN24btConstraintSolverPoolMt12ThreadSolverEE8allocateEi.exit.i.i: ; preds = %13, %12 @@ -364,19 +364,19 @@ _ZN20btAlignedObjectArrayIP18btConstraintSolverE8allocateEi.exit.i.i: ; preds = br i1 %exitcond.not.i.i.i, label %_ZNK20btAlignedObjectArrayIP18btConstraintSolverE4copyEiiPS1_.exit.thread.i.i, label %35, !llvm.loop !42 _ZNK20btAlignedObjectArrayIP18btConstraintSolverE4copyEiiPS1_.exit.i.i: ; preds = %_ZN20btAlignedObjectArrayIP18btConstraintSolverE8allocateEi.exit.i.i - %.not.i5.i.i.not = icmp eq ptr %20, null - br i1 %.not.i5.i.i.not, label %_ZN20btAlignedObjectArrayIP18btConstraintSolverE10deallocateEv.exit.i.i, label %_ZNK20btAlignedObjectArrayIP18btConstraintSolverE4copyEiiPS1_.exit.thread.i.i + %.not.i5.i.i = icmp eq ptr %20, null + br i1 %.not.i5.i.i, label %_ZN20btAlignedObjectArrayIP18btConstraintSolverE10deallocateEv.exit.i.i, label %_ZNK20btAlignedObjectArrayIP18btConstraintSolverE4copyEiiPS1_.exit.thread.i.i _ZNK20btAlignedObjectArrayIP18btConstraintSolverE4copyEiiPS1_.exit.thread.i.i: ; preds = %35, %_ZNK20btAlignedObjectArrayIP18btConstraintSolverE4copyEiiPS1_.exit.i.i invoke void @_Z21btAlignedFreeInternalPv(ptr noundef nonnull %20) to label %.noexc21 unwind label %47 .noexc21: ; preds = %_ZNK20btAlignedObjectArrayIP18btConstraintSolverE4copyEiiPS1_.exit.thread.i.i - %.pre2.pre.pre.i = load i32, ptr %10, align 4, !tbaa !40 + %.pre2.pre.i.pre = load i32, ptr %10, align 4 br label %_ZN20btAlignedObjectArrayIP18btConstraintSolverE10deallocateEv.exit.i.i _ZN20btAlignedObjectArrayIP18btConstraintSolverE10deallocateEv.exit.i.i: ; preds = %.noexc21, %_ZNK20btAlignedObjectArrayIP18btConstraintSolverE4copyEiiPS1_.exit.i.i - %.pre2.i = phi i32 [ %21, %_ZNK20btAlignedObjectArrayIP18btConstraintSolverE4copyEiiPS1_.exit.i.i ], [ %.pre2.pre.pre.i, %.noexc21 ] + %.pre2.i = phi i32 [ %.pre2.pre.i.pre, %.noexc21 ], [ %21, %_ZNK20btAlignedObjectArrayIP18btConstraintSolverE4copyEiiPS1_.exit.i.i ] store i8 1, ptr %8, align 8, !tbaa !35 store ptr %.0.i.i.i, ptr %9, align 8, !tbaa !39 store i32 %27, ptr %11, align 8, !tbaa !41 @@ -414,26 +414,31 @@ _ZN20btAlignedObjectArrayIP18btConstraintSolverE10deallocateEv.exit.i.i: ; preds unreachable 54: ; preds = %._crit_edge + %55 = load i8, ptr %8, align 8, !range !26 + %56 = trunc nuw i8 %55 to i1 + br i1 %56, label %57, label %_ZN20btAlignedObjectArrayIP18btConstraintSolverED2Ev.exit + +57: ; preds = %54 invoke void @_Z21btAlignedFreeInternalPv(ptr noundef nonnull %17) - to label %_ZN20btAlignedObjectArrayIP18btConstraintSolverED2Ev.exit unwind label %55 + to label %_ZN20btAlignedObjectArrayIP18btConstraintSolverED2Ev.exit unwind label %58 -55: ; preds = %54 - %56 = landingpad { ptr, i32 } +58: ; preds = %57 + %59 = landingpad { ptr, i32 } catch ptr null - %57 = extractvalue { ptr, i32 } %56, 0 - tail call void @__clang_call_terminate(ptr %57) #12 + %60 = extractvalue { ptr, i32 } %59, 0 + tail call void @__clang_call_terminate(ptr %60) #12 unreachable -_ZN20btAlignedObjectArrayIP18btConstraintSolverED2Ev.exit: ; preds = %54 +_ZN20btAlignedObjectArrayIP18btConstraintSolverED2Ev.exit: ; preds = %54, %57 call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %3) #11 ret void _ZN35btSequentialImpulseConstraintSolverdlEPv.exit: ; preds = %47, %49, %18 %.pn.pn = phi { ptr, i32 } [ %19, %18 ], [ %48, %47 ], [ %50, %49 ] - %58 = getelementptr inbounds nuw i8, ptr %0, i64 8 + %61 = getelementptr inbounds nuw i8, ptr %0, i64 8 call void @_ZN20btAlignedObjectArrayIP18btConstraintSolverED2Ev(ptr noundef nonnull align 8 dereferenceable(25) %3) #11 call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %3) #11 - call void @_ZN20btAlignedObjectArrayIN24btConstraintSolverPoolMt12ThreadSolverEED2Ev(ptr noundef nonnull align 8 dereferenceable(25) %58) #11 + call void @_ZN20btAlignedObjectArrayIN24btConstraintSolverPoolMt12ThreadSolverEED2Ev(ptr noundef nonnull align 8 dereferenceable(25) %61) #11 resume { ptr, i32 } %.pn.pn } @@ -585,7 +590,7 @@ _ZN20btAlignedObjectArrayIN24btConstraintSolverPoolMt12ThreadSolverEED2Ev.exit: %24 = getelementptr inbounds nuw i8, ptr %23, i64 8 %25 = load ptr, ptr %24, align 8 tail call void %25(ptr noundef nonnull align 8 dereferenceable(8) %20) #11 - %.pre = load i32, ptr %2, align 4, !tbaa !13 + %.pre = load i32, ptr %2, align 4 br label %26 26: ; preds = %22, %16 @@ -656,7 +661,7 @@ define dso_local void @_ZN24btConstraintSolverPoolMtD0Ev(ptr noundef nonnull ali %23 = getelementptr inbounds nuw i8, ptr %22, i64 8 %24 = load ptr, ptr %23, align 8 tail call void %24(ptr noundef nonnull align 8 dereferenceable(8) %19) #11 - %.pre.i = load i32, ptr %2, align 4, !tbaa !13 + %.pre.i = load i32, ptr %2, align 4 br label %25 25: ; preds = %21, %15 diff --git a/bench/casadi/optimized/casadi_error_handling.ll b/bench/casadi/optimized/casadi_error_handling.ll index 6934b405f77..cc376383d08 100644 --- a/bench/casadi/optimized/casadi_error_handling.ll +++ b/bench/casadi/optimized/casadi_error_handling.ll @@ -190,7 +190,7 @@ _ZSt8_DestroyINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEvPT_.exit.i.i br i1 %.not.i.i.i, label %_ZSt8_DestroyIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_EvT_S7_RSaIT0_E.exitthread-pre-split, label %.lr.ph.i.i.i, !llvm.loop !19 _ZSt8_DestroyIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_EvT_S7_RSaIT0_E.exitthread-pre-split: ; preds = %_ZSt8_DestroyINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEvPT_.exit.i.i.i - %.pr = load ptr, ptr %0, align 8, !tbaa !15 + %.pr = load ptr, ptr %0, align 8 br label %_ZSt8_DestroyIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_EvT_S7_RSaIT0_E.exit _ZSt8_DestroyIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_EvT_S7_RSaIT0_E.exit: ; preds = %_ZSt8_DestroyIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_EvT_S7_RSaIT0_E.exitthread-pre-split, %1 @@ -299,7 +299,7 @@ _ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i: %41 = load i64, ptr %34, align 8, !tbaa !13 store i64 %41, ptr %32, align 8, !tbaa !13, !alias.scope !22 %.phi.trans.insert.i = getelementptr inbounds nuw i8, ptr %31, i64 8 - %.pre.i = load i64, ptr %.phi.trans.insert.i, align 8, !tbaa !14 + %.pre.i = load i64, ptr %.phi.trans.insert.i, align 8 br label %._crit_edge.i.i54 ._crit_edge.i.i54: ; preds = %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i, %36 @@ -345,7 +345,7 @@ _ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i58 %58 = load i64, ptr %51, align 8, !tbaa !13 store i64 %58, ptr %49, align 8, !tbaa !13, !alias.scope !25 %.phi.trans.insert.i59 = getelementptr inbounds nuw i8, ptr %48, i64 8 - %.pre.i60 = load i64, ptr %.phi.trans.insert.i59, align 8, !tbaa !14 + %.pre.i60 = load i64, ptr %.phi.trans.insert.i59, align 8 br label %59 59: ; preds = %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i58, %53 @@ -482,7 +482,7 @@ _ZSt8_DestroyINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEvPT_.exit.i.i br i1 %.not.i.i.i.i, label %_ZSt8_DestroyIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_EvT_S7_RSaIT0_E.exitthread-pre-split.i, label %.lr.ph.i.i.i.i, !llvm.loop !19 _ZSt8_DestroyIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_EvT_S7_RSaIT0_E.exitthread-pre-split.i: ; preds = %_ZSt8_DestroyINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEvPT_.exit.i.i.i.i - %.pr.i = load ptr, ptr %8, align 8, !tbaa !15 + %.pr.i = load ptr, ptr %8, align 8 br label %_ZSt8_DestroyIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_EvT_S7_RSaIT0_E.exit.i _ZSt8_DestroyIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_EvT_S7_RSaIT0_E.exit.i: ; preds = %_ZSt8_DestroyIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_EvT_S7_RSaIT0_E.exitthread-pre-split.i, %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit65 @@ -1108,7 +1108,7 @@ _ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i: ; %20 = load i64, ptr %13, align 8, !tbaa !13 store i64 %20, ptr %11, align 8, !tbaa !13 %.phi.trans.insert = getelementptr inbounds nuw i8, ptr %10, i64 8 - %.pre = load i64, ptr %.phi.trans.insert, align 8, !tbaa !14 + %.pre = load i64, ptr %.phi.trans.insert, align 8 br label %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2EOS4_.exit _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2EOS4_.exit: ; preds = %15, %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i @@ -1380,7 +1380,7 @@ _ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i: ; store ptr %44, ptr %0, align 8, !tbaa !11 %50 = load i64, ptr %6, align 8, !tbaa !13 store i64 %50, ptr %43, align 8, !tbaa !13 - %.pre = load i64, ptr %18, align 8, !tbaa !14 + %.pre = load i64, ptr %18, align 8 br label %.thread .thread: ; preds = %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i, %46 @@ -1391,7 +1391,7 @@ _ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i: ; br label %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i17 53: ; preds = %25 - %.pre35 = load ptr, ptr %5, align 8, !tbaa !11 + %.pre35 = load ptr, ptr %5, align 8 %54 = icmp eq ptr %.pre35, %6 br i1 %54, label %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i17, label %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i16 @@ -1437,7 +1437,7 @@ _ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i: ; %15 = load i64, ptr %8, align 8, !tbaa !13 store i64 %15, ptr %6, align 8, !tbaa !13 %.phi.trans.insert = getelementptr inbounds nuw i8, ptr %5, i64 8 - %.pre = load i64, ptr %.phi.trans.insert, align 8, !tbaa !14 + %.pre = load i64, ptr %.phi.trans.insert, align 8 br label %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2EOS4_.exit _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2EOS4_.exit: ; preds = %10, %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i @@ -1739,12 +1739,11 @@ _ZSt13__check_facetISt5ctypeIcEERKT_PS3_.exit.i.i.i.i: ; preds = %31 %39 = getelementptr inbounds nuw i8, ptr %38, i64 48 %40 = load ptr, ptr %39, align 8 %41 = call noundef signext i8 %40(ptr noundef nonnull align 8 dereferenceable(570) %33, i8 noundef signext 32) - %.pre.pre = load ptr, ptr %0, align 8, !tbaa !31 br label %_ZNKSt9basic_iosIcSt11char_traitsIcEE5widenEc.exit.i.i.i _ZNKSt9basic_iosIcSt11char_traitsIcEE5widenEc.exit.i.i.i: ; preds = %37, %_ZSt13__check_facetISt5ctypeIcEERKT_PS3_.exit.i.i.i.i - %.pre = phi ptr [ %.pre.pre, %37 ], [ %24, %_ZSt13__check_facetISt5ctypeIcEERKT_PS3_.exit.i.i.i.i ] store i8 1, ptr %28, align 1, !tbaa !48 + %.pre = load ptr, ptr %0, align 8 br label %_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St8_SetfillIS3_E.exit _ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St8_SetfillIS3_E.exit: ; preds = %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c.exit, %_ZNKSt9basic_iosIcSt11char_traitsIcEE5widenEc.exit.i.i.i @@ -1810,12 +1809,11 @@ _ZSt13__check_facetISt5ctypeIcEERKT_PS3_.exit.i.i.i.i22: ; preds = %67 %75 = getelementptr inbounds nuw i8, ptr %74, i64 48 %76 = load ptr, ptr %75, align 8 %77 = call noundef signext i8 %76(ptr noundef nonnull align 8 dereferenceable(570) %69, i8 noundef signext 32) - %.pre50.pre = load ptr, ptr %0, align 8, !tbaa !31 br label %_ZNKSt9basic_iosIcSt11char_traitsIcEE5widenEc.exit.i.i.i24 _ZNKSt9basic_iosIcSt11char_traitsIcEE5widenEc.exit.i.i.i24: ; preds = %73, %_ZSt13__check_facetISt5ctypeIcEERKT_PS3_.exit.i.i.i.i22 - %.pre50 = phi ptr [ %.pre50.pre, %73 ], [ %60, %_ZSt13__check_facetISt5ctypeIcEERKT_PS3_.exit.i.i.i.i22 ] store i8 1, ptr %64, align 1, !tbaa !48 + %.pre50 = load ptr, ptr %0, align 8 br label %_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St8_SetfillIS3_E.exit25 _ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St8_SetfillIS3_E.exit25: ; preds = %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c.exit20, %_ZNKSt9basic_iosIcSt11char_traitsIcEE5widenEc.exit.i.i.i24 @@ -1880,12 +1878,11 @@ _ZSt13__check_facetISt5ctypeIcEERKT_PS3_.exit.i.i.i.i30: ; preds = %102 %110 = getelementptr inbounds nuw i8, ptr %109, i64 48 %111 = load ptr, ptr %110, align 8 %112 = call noundef signext i8 %111(ptr noundef nonnull align 8 dereferenceable(570) %104, i8 noundef signext 32) - %.pre51.pre = load ptr, ptr %0, align 8, !tbaa !31 br label %_ZNKSt9basic_iosIcSt11char_traitsIcEE5widenEc.exit.i.i.i32 _ZNKSt9basic_iosIcSt11char_traitsIcEE5widenEc.exit.i.i.i32: ; preds = %108, %_ZSt13__check_facetISt5ctypeIcEERKT_PS3_.exit.i.i.i.i30 - %.pre51 = phi ptr [ %.pre51.pre, %108 ], [ %95, %_ZSt13__check_facetISt5ctypeIcEERKT_PS3_.exit.i.i.i.i30 ] store i8 1, ptr %99, align 1, !tbaa !48 + %.pre51 = load ptr, ptr %0, align 8 br label %_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St8_SetfillIS3_E.exit33 _ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St8_SetfillIS3_E.exit33: ; preds = %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c.exit28, %_ZNKSt9basic_iosIcSt11char_traitsIcEE5widenEc.exit.i.i.i32 @@ -1950,12 +1947,11 @@ _ZSt13__check_facetISt5ctypeIcEERKT_PS3_.exit.i.i.i.i38: ; preds = %137 %145 = getelementptr inbounds nuw i8, ptr %144, i64 48 %146 = load ptr, ptr %145, align 8 %147 = call noundef signext i8 %146(ptr noundef nonnull align 8 dereferenceable(570) %139, i8 noundef signext 32) - %.pre52.pre = load ptr, ptr %0, align 8, !tbaa !31 br label %_ZNKSt9basic_iosIcSt11char_traitsIcEE5widenEc.exit.i.i.i40 _ZNKSt9basic_iosIcSt11char_traitsIcEE5widenEc.exit.i.i.i40: ; preds = %143, %_ZSt13__check_facetISt5ctypeIcEERKT_PS3_.exit.i.i.i.i38 - %.pre52 = phi ptr [ %.pre52.pre, %143 ], [ %130, %_ZSt13__check_facetISt5ctypeIcEERKT_PS3_.exit.i.i.i.i38 ] store i8 1, ptr %134, align 1, !tbaa !48 + %.pre52 = load ptr, ptr %0, align 8 br label %_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St8_SetfillIS3_E.exit41 _ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St8_SetfillIS3_E.exit41: ; preds = %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c.exit36, %_ZNKSt9basic_iosIcSt11char_traitsIcEE5widenEc.exit.i.i.i40 @@ -2020,12 +2016,11 @@ _ZSt13__check_facetISt5ctypeIcEERKT_PS3_.exit.i.i.i.i46: ; preds = %172 %180 = getelementptr inbounds nuw i8, ptr %179, i64 48 %181 = load ptr, ptr %180, align 8 %182 = call noundef signext i8 %181(ptr noundef nonnull align 8 dereferenceable(570) %174, i8 noundef signext 32) - %.pre53.pre = load ptr, ptr %0, align 8, !tbaa !31 br label %_ZNKSt9basic_iosIcSt11char_traitsIcEE5widenEc.exit.i.i.i48 _ZNKSt9basic_iosIcSt11char_traitsIcEE5widenEc.exit.i.i.i48: ; preds = %178, %_ZSt13__check_facetISt5ctypeIcEERKT_PS3_.exit.i.i.i.i46 - %.pre53 = phi ptr [ %.pre53.pre, %178 ], [ %165, %_ZSt13__check_facetISt5ctypeIcEERKT_PS3_.exit.i.i.i.i46 ] store i8 1, ptr %169, align 1, !tbaa !48 + %.pre53 = load ptr, ptr %0, align 8 br label %_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St8_SetfillIS3_E.exit49 _ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St8_SetfillIS3_E.exit49: ; preds = %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c.exit44, %_ZNKSt9basic_iosIcSt11char_traitsIcEE5widenEc.exit.i.i.i48 diff --git a/bench/casadi/optimized/importer.ll b/bench/casadi/optimized/importer.ll index ccaf75714ae..342e8382da9 100644 --- a/bench/casadi/optimized/importer.ll +++ b/bench/casadi/optimized/importer.ll @@ -1215,7 +1215,7 @@ _ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i: %70 = load i64, ptr %63, align 8, !tbaa !31 store i64 %70, ptr %61, align 8, !tbaa !31, !alias.scope !34 %.phi.trans.insert.i = getelementptr inbounds nuw i8, ptr %60, i64 8 - %.pre.i = load i64, ptr %.phi.trans.insert.i, align 8, !tbaa !21 + %.pre.i = load i64, ptr %.phi.trans.insert.i, align 8 br label %71 71: ; preds = %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i, %65 @@ -1505,7 +1505,7 @@ _ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i10 %171 = load i64, ptr %164, align 8, !tbaa !31 store i64 %171, ptr %162, align 8, !tbaa !31, !alias.scope !39 %.phi.trans.insert.i101 = getelementptr inbounds nuw i8, ptr %161, i64 8 - %.pre.i102 = load i64, ptr %.phi.trans.insert.i101, align 8, !tbaa !21 + %.pre.i102 = load i64, ptr %.phi.trans.insert.i101, align 8 br label %172 172: ; preds = %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i100, %166 @@ -1558,7 +1558,7 @@ _ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i10 %193 = load i64, ptr %186, align 8, !tbaa !31 store i64 %193, ptr %184, align 8, !tbaa !31, !alias.scope !42 %.phi.trans.insert.i107 = getelementptr inbounds nuw i8, ptr %183, i64 8 - %.pre.i108 = load i64, ptr %.phi.trans.insert.i107, align 8, !tbaa !21 + %.pre.i108 = load i64, ptr %.phi.trans.insert.i107, align 8 br label %194 194: ; preds = %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i106, %188 @@ -1658,7 +1658,7 @@ _ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i11 %228 = load i64, ptr %221, align 8, !tbaa !31 store i64 %228, ptr %219, align 8, !tbaa !31, !alias.scope !45 %.phi.trans.insert.i119 = getelementptr inbounds nuw i8, ptr %218, i64 8 - %.pre.i120 = load i64, ptr %.phi.trans.insert.i119, align 8, !tbaa !21 + %.pre.i120 = load i64, ptr %.phi.trans.insert.i119, align 8 br label %229 229: ; preds = %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i118, %223 @@ -1710,7 +1710,7 @@ _ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i12 %249 = load i64, ptr %242, align 8, !tbaa !31 store i64 %249, ptr %240, align 8, !tbaa !31, !alias.scope !48 %.phi.trans.insert.i126 = getelementptr inbounds nuw i8, ptr %239, i64 8 - %.pre.i127 = load i64, ptr %.phi.trans.insert.i126, align 8, !tbaa !21 + %.pre.i127 = load i64, ptr %.phi.trans.insert.i126, align 8 br label %250 250: ; preds = %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i125, %244 @@ -2926,7 +2926,7 @@ _ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i: ; %20 = load i64, ptr %13, align 8, !tbaa !31 store i64 %20, ptr %11, align 8, !tbaa !31 %.phi.trans.insert = getelementptr inbounds nuw i8, ptr %10, i64 8 - %.pre = load i64, ptr %.phi.trans.insert, align 8, !tbaa !21 + %.pre = load i64, ptr %.phi.trans.insert, align 8 br label %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2EOS4_.exit _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2EOS4_.exit: ; preds = %15, %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i @@ -3198,7 +3198,7 @@ _ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i: ; store ptr %44, ptr %0, align 8, !tbaa !24 %50 = load i64, ptr %6, align 8, !tbaa !31 store i64 %50, ptr %43, align 8, !tbaa !31 - %.pre = load i64, ptr %18, align 8, !tbaa !21 + %.pre = load i64, ptr %18, align 8 br label %.thread .thread: ; preds = %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i, %46 @@ -3209,7 +3209,7 @@ _ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i: ; br label %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i17 53: ; preds = %25 - %.pre35 = load ptr, ptr %5, align 8, !tbaa !24 + %.pre35 = load ptr, ptr %5, align 8 %54 = icmp eq ptr %.pre35, %6 br i1 %54, label %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i17, label %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i16 @@ -3255,7 +3255,7 @@ _ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i: ; %15 = load i64, ptr %8, align 8, !tbaa !31 store i64 %15, ptr %6, align 8, !tbaa !31 %.phi.trans.insert = getelementptr inbounds nuw i8, ptr %5, i64 8 - %.pre = load i64, ptr %.phi.trans.insert, align 8, !tbaa !21 + %.pre = load i64, ptr %.phi.trans.insert, align 8 br label %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2EOS4_.exit _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2EOS4_.exit: ; preds = %10, %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i @@ -3391,7 +3391,7 @@ _ZSt8_DestroyINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEvPT_.exit.i.i br i1 %.not.i.i.i, label %_ZSt8_DestroyIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_EvT_S7_RSaIT0_E.exitthread-pre-split, label %.lr.ph.i.i.i, !llvm.loop !60 _ZSt8_DestroyIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_EvT_S7_RSaIT0_E.exitthread-pre-split: ; preds = %_ZSt8_DestroyINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEvPT_.exit.i.i.i - %.pr = load ptr, ptr %0, align 8, !tbaa !57 + %.pr = load ptr, ptr %0, align 8 br label %_ZSt8_DestroyIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_EvT_S7_RSaIT0_E.exit _ZSt8_DestroyIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_EvT_S7_RSaIT0_E.exit: ; preds = %_ZSt8_DestroyIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_EvT_S7_RSaIT0_E.exitthread-pre-split, %1 @@ -3630,12 +3630,11 @@ _ZSt13__check_facetISt5ctypeIcEERKT_PS3_.exit.i.i.i.i: ; preds = %31 %39 = getelementptr inbounds nuw i8, ptr %38, i64 48 %40 = load ptr, ptr %39, align 8 %41 = call noundef signext i8 %40(ptr noundef nonnull align 8 dereferenceable(570) %33, i8 noundef signext 32) - %.pre.pre = load ptr, ptr %0, align 8, !tbaa !32 br label %_ZNKSt9basic_iosIcSt11char_traitsIcEE5widenEc.exit.i.i.i _ZNKSt9basic_iosIcSt11char_traitsIcEE5widenEc.exit.i.i.i: ; preds = %37, %_ZSt13__check_facetISt5ctypeIcEERKT_PS3_.exit.i.i.i.i - %.pre = phi ptr [ %.pre.pre, %37 ], [ %24, %_ZSt13__check_facetISt5ctypeIcEERKT_PS3_.exit.i.i.i.i ] store i8 1, ptr %28, align 1, !tbaa !72 + %.pre = load ptr, ptr %0, align 8 br label %_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St8_SetfillIS3_E.exit _ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St8_SetfillIS3_E.exit: ; preds = %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c.exit, %_ZNKSt9basic_iosIcSt11char_traitsIcEE5widenEc.exit.i.i.i @@ -3701,12 +3700,11 @@ _ZSt13__check_facetISt5ctypeIcEERKT_PS3_.exit.i.i.i.i22: ; preds = %67 %75 = getelementptr inbounds nuw i8, ptr %74, i64 48 %76 = load ptr, ptr %75, align 8 %77 = call noundef signext i8 %76(ptr noundef nonnull align 8 dereferenceable(570) %69, i8 noundef signext 32) - %.pre50.pre = load ptr, ptr %0, align 8, !tbaa !32 br label %_ZNKSt9basic_iosIcSt11char_traitsIcEE5widenEc.exit.i.i.i24 _ZNKSt9basic_iosIcSt11char_traitsIcEE5widenEc.exit.i.i.i24: ; preds = %73, %_ZSt13__check_facetISt5ctypeIcEERKT_PS3_.exit.i.i.i.i22 - %.pre50 = phi ptr [ %.pre50.pre, %73 ], [ %60, %_ZSt13__check_facetISt5ctypeIcEERKT_PS3_.exit.i.i.i.i22 ] store i8 1, ptr %64, align 1, !tbaa !72 + %.pre50 = load ptr, ptr %0, align 8 br label %_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St8_SetfillIS3_E.exit25 _ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St8_SetfillIS3_E.exit25: ; preds = %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c.exit20, %_ZNKSt9basic_iosIcSt11char_traitsIcEE5widenEc.exit.i.i.i24 @@ -3771,12 +3769,11 @@ _ZSt13__check_facetISt5ctypeIcEERKT_PS3_.exit.i.i.i.i30: ; preds = %102 %110 = getelementptr inbounds nuw i8, ptr %109, i64 48 %111 = load ptr, ptr %110, align 8 %112 = call noundef signext i8 %111(ptr noundef nonnull align 8 dereferenceable(570) %104, i8 noundef signext 32) - %.pre51.pre = load ptr, ptr %0, align 8, !tbaa !32 br label %_ZNKSt9basic_iosIcSt11char_traitsIcEE5widenEc.exit.i.i.i32 _ZNKSt9basic_iosIcSt11char_traitsIcEE5widenEc.exit.i.i.i32: ; preds = %108, %_ZSt13__check_facetISt5ctypeIcEERKT_PS3_.exit.i.i.i.i30 - %.pre51 = phi ptr [ %.pre51.pre, %108 ], [ %95, %_ZSt13__check_facetISt5ctypeIcEERKT_PS3_.exit.i.i.i.i30 ] store i8 1, ptr %99, align 1, !tbaa !72 + %.pre51 = load ptr, ptr %0, align 8 br label %_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St8_SetfillIS3_E.exit33 _ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St8_SetfillIS3_E.exit33: ; preds = %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c.exit28, %_ZNKSt9basic_iosIcSt11char_traitsIcEE5widenEc.exit.i.i.i32 @@ -3841,12 +3838,11 @@ _ZSt13__check_facetISt5ctypeIcEERKT_PS3_.exit.i.i.i.i38: ; preds = %137 %145 = getelementptr inbounds nuw i8, ptr %144, i64 48 %146 = load ptr, ptr %145, align 8 %147 = call noundef signext i8 %146(ptr noundef nonnull align 8 dereferenceable(570) %139, i8 noundef signext 32) - %.pre52.pre = load ptr, ptr %0, align 8, !tbaa !32 br label %_ZNKSt9basic_iosIcSt11char_traitsIcEE5widenEc.exit.i.i.i40 _ZNKSt9basic_iosIcSt11char_traitsIcEE5widenEc.exit.i.i.i40: ; preds = %143, %_ZSt13__check_facetISt5ctypeIcEERKT_PS3_.exit.i.i.i.i38 - %.pre52 = phi ptr [ %.pre52.pre, %143 ], [ %130, %_ZSt13__check_facetISt5ctypeIcEERKT_PS3_.exit.i.i.i.i38 ] store i8 1, ptr %134, align 1, !tbaa !72 + %.pre52 = load ptr, ptr %0, align 8 br label %_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St8_SetfillIS3_E.exit41 _ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St8_SetfillIS3_E.exit41: ; preds = %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c.exit36, %_ZNKSt9basic_iosIcSt11char_traitsIcEE5widenEc.exit.i.i.i40 @@ -3911,12 +3907,11 @@ _ZSt13__check_facetISt5ctypeIcEERKT_PS3_.exit.i.i.i.i46: ; preds = %172 %180 = getelementptr inbounds nuw i8, ptr %179, i64 48 %181 = load ptr, ptr %180, align 8 %182 = call noundef signext i8 %181(ptr noundef nonnull align 8 dereferenceable(570) %174, i8 noundef signext 32) - %.pre53.pre = load ptr, ptr %0, align 8, !tbaa !32 br label %_ZNKSt9basic_iosIcSt11char_traitsIcEE5widenEc.exit.i.i.i48 _ZNKSt9basic_iosIcSt11char_traitsIcEE5widenEc.exit.i.i.i48: ; preds = %178, %_ZSt13__check_facetISt5ctypeIcEERKT_PS3_.exit.i.i.i.i46 - %.pre53 = phi ptr [ %.pre53.pre, %178 ], [ %165, %_ZSt13__check_facetISt5ctypeIcEERKT_PS3_.exit.i.i.i.i46 ] store i8 1, ptr %169, align 1, !tbaa !72 + %.pre53 = load ptr, ptr %0, align 8 br label %_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St8_SetfillIS3_E.exit49 _ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St8_SetfillIS3_E.exit49: ; preds = %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c.exit44, %_ZNKSt9basic_iosIcSt11char_traitsIcEE5widenEc.exit.i.i.i48 @@ -3998,7 +3993,7 @@ _ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i: ; %22 = load i64, ptr %15, align 8, !tbaa !31 store i64 %22, ptr %13, align 8, !tbaa !31 %.phi.trans.insert = getelementptr inbounds nuw i8, ptr %12, i64 8 - %.pre = load i64, ptr %.phi.trans.insert, align 8, !tbaa !21 + %.pre = load i64, ptr %.phi.trans.insert, align 8 br label %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2EOS4_.exit _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2EOS4_.exit: ; preds = %17, %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i @@ -4062,7 +4057,7 @@ _ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i: %24 = load i64, ptr %17, align 8, !tbaa !31 store i64 %24, ptr %15, align 8, !tbaa !31, !alias.scope !90 %.phi.trans.insert.i = getelementptr inbounds nuw i8, ptr %14, i64 8 - %.pre.i = load i64, ptr %.phi.trans.insert.i, align 8, !tbaa !21 + %.pre.i = load i64, ptr %.phi.trans.insert.i, align 8 br label %25 25: ; preds = %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i, %19 @@ -4170,7 +4165,7 @@ _ZSt8_DestroyINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEvPT_.exit.i.i br i1 %.not.i.i.i.i, label %_ZSt8_DestroyIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_EvT_S7_RSaIT0_E.exitthread-pre-split.i, label %.lr.ph.i.i.i.i, !llvm.loop !60 _ZSt8_DestroyIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_EvT_S7_RSaIT0_E.exitthread-pre-split.i: ; preds = %_ZSt8_DestroyINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEvPT_.exit.i.i.i.i - %.pr.i = load ptr, ptr %7, align 8, !tbaa !57 + %.pr.i = load ptr, ptr %7, align 8 br label %_ZSt8_DestroyIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_EvT_S7_RSaIT0_E.exit.i _ZSt8_DestroyIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_EvT_S7_RSaIT0_E.exit.i: ; preds = %_ZSt8_DestroyIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_EvT_S7_RSaIT0_E.exitthread-pre-split.i, %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit15 @@ -4673,7 +4668,7 @@ define linkonce_odr hidden void @_ZN6casadi15PluginInterfaceINS_16ImporterIntern call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %4) #25 %36 = load ptr, ptr getelementptr inbounds nuw (i8, ptr @_ZN6casadi16ImporterInternal8solvers_B5cxx11E, i64 16), align 8, !tbaa !15 %.not10.i.i.i = icmp eq ptr %36, null - %.pre = load ptr, ptr %5, align 8, !tbaa !24 + %.pre = load ptr, ptr %5, align 8 br i1 %.not10.i.i.i, label %_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN6casadi15PluginInterfaceINS6_16ImporterInternalEE6PluginESt4lessIS5_ESaISt4pairIKS5_SA_EEE4findERSE_.exit, label %.lr.ph.i.i.i .lr.ph.i.i.i: ; preds = %31 @@ -5501,7 +5496,7 @@ _ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i.i %20 = load i64, ptr %13, align 8, !tbaa !31 store i64 %20, ptr %11, align 8, !tbaa !31 %.phi.trans.insert.i.i = getelementptr inbounds nuw i8, ptr %10, i64 8 - %.pre.i.i = load i64, ptr %.phi.trans.insert.i.i, align 8, !tbaa !21 + %.pre.i.i = load i64, ptr %.phi.trans.insert.i.i, align 8 br label %21 21: ; preds = %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i.i.i.i.i.i.i, %15 diff --git a/bench/casadi/optimized/symbolic_mx.ll b/bench/casadi/optimized/symbolic_mx.ll index b607e96ce06..e5e0b2d40f0 100644 --- a/bench/casadi/optimized/symbolic_mx.ll +++ b/bench/casadi/optimized/symbolic_mx.ll @@ -814,12 +814,11 @@ _ZSt13__check_facetISt5ctypeIcEERKT_PS3_.exit.i.i.i.i: ; preds = %31 %39 = getelementptr inbounds nuw i8, ptr %38, i64 48 %40 = load ptr, ptr %39, align 8 %41 = call noundef signext i8 %40(ptr noundef nonnull align 8 dereferenceable(570) %33, i8 noundef signext 32) - %.pre.pre = load ptr, ptr %0, align 8, !tbaa !3 br label %_ZNKSt9basic_iosIcSt11char_traitsIcEE5widenEc.exit.i.i.i _ZNKSt9basic_iosIcSt11char_traitsIcEE5widenEc.exit.i.i.i: ; preds = %37, %_ZSt13__check_facetISt5ctypeIcEERKT_PS3_.exit.i.i.i.i - %.pre = phi ptr [ %.pre.pre, %37 ], [ %24, %_ZSt13__check_facetISt5ctypeIcEERKT_PS3_.exit.i.i.i.i ] store i8 1, ptr %28, align 1, !tbaa !46 + %.pre = load ptr, ptr %0, align 8 br label %_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St8_SetfillIS3_E.exit _ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St8_SetfillIS3_E.exit: ; preds = %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c.exit, %_ZNKSt9basic_iosIcSt11char_traitsIcEE5widenEc.exit.i.i.i @@ -885,12 +884,11 @@ _ZSt13__check_facetISt5ctypeIcEERKT_PS3_.exit.i.i.i.i22: ; preds = %67 %75 = getelementptr inbounds nuw i8, ptr %74, i64 48 %76 = load ptr, ptr %75, align 8 %77 = call noundef signext i8 %76(ptr noundef nonnull align 8 dereferenceable(570) %69, i8 noundef signext 32) - %.pre50.pre = load ptr, ptr %0, align 8, !tbaa !3 br label %_ZNKSt9basic_iosIcSt11char_traitsIcEE5widenEc.exit.i.i.i24 _ZNKSt9basic_iosIcSt11char_traitsIcEE5widenEc.exit.i.i.i24: ; preds = %73, %_ZSt13__check_facetISt5ctypeIcEERKT_PS3_.exit.i.i.i.i22 - %.pre50 = phi ptr [ %.pre50.pre, %73 ], [ %60, %_ZSt13__check_facetISt5ctypeIcEERKT_PS3_.exit.i.i.i.i22 ] store i8 1, ptr %64, align 1, !tbaa !46 + %.pre50 = load ptr, ptr %0, align 8 br label %_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St8_SetfillIS3_E.exit25 _ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St8_SetfillIS3_E.exit25: ; preds = %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c.exit20, %_ZNKSt9basic_iosIcSt11char_traitsIcEE5widenEc.exit.i.i.i24 @@ -955,12 +953,11 @@ _ZSt13__check_facetISt5ctypeIcEERKT_PS3_.exit.i.i.i.i30: ; preds = %102 %110 = getelementptr inbounds nuw i8, ptr %109, i64 48 %111 = load ptr, ptr %110, align 8 %112 = call noundef signext i8 %111(ptr noundef nonnull align 8 dereferenceable(570) %104, i8 noundef signext 32) - %.pre51.pre = load ptr, ptr %0, align 8, !tbaa !3 br label %_ZNKSt9basic_iosIcSt11char_traitsIcEE5widenEc.exit.i.i.i32 _ZNKSt9basic_iosIcSt11char_traitsIcEE5widenEc.exit.i.i.i32: ; preds = %108, %_ZSt13__check_facetISt5ctypeIcEERKT_PS3_.exit.i.i.i.i30 - %.pre51 = phi ptr [ %.pre51.pre, %108 ], [ %95, %_ZSt13__check_facetISt5ctypeIcEERKT_PS3_.exit.i.i.i.i30 ] store i8 1, ptr %99, align 1, !tbaa !46 + %.pre51 = load ptr, ptr %0, align 8 br label %_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St8_SetfillIS3_E.exit33 _ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St8_SetfillIS3_E.exit33: ; preds = %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c.exit28, %_ZNKSt9basic_iosIcSt11char_traitsIcEE5widenEc.exit.i.i.i32 @@ -1025,12 +1022,11 @@ _ZSt13__check_facetISt5ctypeIcEERKT_PS3_.exit.i.i.i.i38: ; preds = %137 %145 = getelementptr inbounds nuw i8, ptr %144, i64 48 %146 = load ptr, ptr %145, align 8 %147 = call noundef signext i8 %146(ptr noundef nonnull align 8 dereferenceable(570) %139, i8 noundef signext 32) - %.pre52.pre = load ptr, ptr %0, align 8, !tbaa !3 br label %_ZNKSt9basic_iosIcSt11char_traitsIcEE5widenEc.exit.i.i.i40 _ZNKSt9basic_iosIcSt11char_traitsIcEE5widenEc.exit.i.i.i40: ; preds = %143, %_ZSt13__check_facetISt5ctypeIcEERKT_PS3_.exit.i.i.i.i38 - %.pre52 = phi ptr [ %.pre52.pre, %143 ], [ %130, %_ZSt13__check_facetISt5ctypeIcEERKT_PS3_.exit.i.i.i.i38 ] store i8 1, ptr %134, align 1, !tbaa !46 + %.pre52 = load ptr, ptr %0, align 8 br label %_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St8_SetfillIS3_E.exit41 _ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St8_SetfillIS3_E.exit41: ; preds = %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c.exit36, %_ZNKSt9basic_iosIcSt11char_traitsIcEE5widenEc.exit.i.i.i40 @@ -1095,12 +1091,11 @@ _ZSt13__check_facetISt5ctypeIcEERKT_PS3_.exit.i.i.i.i46: ; preds = %172 %180 = getelementptr inbounds nuw i8, ptr %179, i64 48 %181 = load ptr, ptr %180, align 8 %182 = call noundef signext i8 %181(ptr noundef nonnull align 8 dereferenceable(570) %174, i8 noundef signext 32) - %.pre53.pre = load ptr, ptr %0, align 8, !tbaa !3 br label %_ZNKSt9basic_iosIcSt11char_traitsIcEE5widenEc.exit.i.i.i48 _ZNKSt9basic_iosIcSt11char_traitsIcEE5widenEc.exit.i.i.i48: ; preds = %178, %_ZSt13__check_facetISt5ctypeIcEERKT_PS3_.exit.i.i.i.i46 - %.pre53 = phi ptr [ %.pre53.pre, %178 ], [ %165, %_ZSt13__check_facetISt5ctypeIcEERKT_PS3_.exit.i.i.i.i46 ] store i8 1, ptr %169, align 1, !tbaa !46 + %.pre53 = load ptr, ptr %0, align 8 br label %_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St8_SetfillIS3_E.exit49 _ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St8_SetfillIS3_E.exit49: ; preds = %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c.exit44, %_ZNKSt9basic_iosIcSt11char_traitsIcEE5widenEc.exit.i.i.i48 @@ -1595,7 +1590,7 @@ define linkonce_odr hidden void @_ZN6casadi19DeserializingStream6unpackINSt7__cx 28: ; preds = %23 %29 = icmp eq i64 %24, 0 - %.pre = load ptr, ptr %4, align 8, !tbaa !11 + %.pre = load ptr, ptr %4, align 8 br i1 %29, label %_ZSteqIcEN9__gnu_cxx11__enable_ifIXsr9__is_charIT_EE7__valueEbE6__typeERKNSt7__cxx1112basic_stringIS2_St11char_traitsIS2_ESaIS2_EEESC_.exit.thread, label %_ZSteqIcEN9__gnu_cxx11__enable_ifIXsr9__is_charIT_EE7__valueEbE6__typeERKNSt7__cxx1112basic_stringIS2_St11char_traitsIS2_ESaIS2_EEESC_.exit _ZSteqIcEN9__gnu_cxx11__enable_ifIXsr9__is_charIT_EE7__valueEbE6__typeERKNSt7__cxx1112basic_stringIS2_St11char_traitsIS2_ESaIS2_EEESC_.exit: ; preds = %28 @@ -2577,7 +2572,7 @@ _ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i: ; %20 = load i64, ptr %13, align 8, !tbaa !16 store i64 %20, ptr %11, align 8, !tbaa !16 %.phi.trans.insert = getelementptr inbounds nuw i8, ptr %10, i64 8 - %.pre = load i64, ptr %.phi.trans.insert, align 8, !tbaa !14 + %.pre = load i64, ptr %.phi.trans.insert, align 8 br label %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2EOS4_.exit _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2EOS4_.exit: ; preds = %15, %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i @@ -2730,7 +2725,7 @@ _ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i: ; store ptr %44, ptr %0, align 8, !tbaa !11 %50 = load i64, ptr %6, align 8, !tbaa !16 store i64 %50, ptr %43, align 8, !tbaa !16 - %.pre = load i64, ptr %18, align 8, !tbaa !14 + %.pre = load i64, ptr %18, align 8 br label %.thread .thread: ; preds = %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i, %46 @@ -2741,7 +2736,7 @@ _ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i: ; br label %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i17 53: ; preds = %25 - %.pre35 = load ptr, ptr %5, align 8, !tbaa !11 + %.pre35 = load ptr, ptr %5, align 8 %54 = icmp eq ptr %.pre35, %6 br i1 %54, label %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i17, label %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i16 @@ -2787,7 +2782,7 @@ _ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i: ; %15 = load i64, ptr %8, align 8, !tbaa !16 store i64 %15, ptr %6, align 8, !tbaa !16 %.phi.trans.insert = getelementptr inbounds nuw i8, ptr %5, i64 8 - %.pre = load i64, ptr %.phi.trans.insert, align 8, !tbaa !14 + %.pre = load i64, ptr %.phi.trans.insert, align 8 br label %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2EOS4_.exit _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2EOS4_.exit: ; preds = %10, %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i @@ -2839,7 +2834,7 @@ _ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i: ; %22 = load i64, ptr %15, align 8, !tbaa !16 store i64 %22, ptr %13, align 8, !tbaa !16 %.phi.trans.insert = getelementptr inbounds nuw i8, ptr %12, i64 8 - %.pre = load i64, ptr %.phi.trans.insert, align 8, !tbaa !14 + %.pre = load i64, ptr %.phi.trans.insert, align 8 br label %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2EOS4_.exit _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2EOS4_.exit: ; preds = %17, %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i @@ -2975,7 +2970,7 @@ _ZSt8_DestroyINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEvPT_.exit.i.i br i1 %.not.i.i.i, label %_ZSt8_DestroyIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_EvT_S7_RSaIT0_E.exitthread-pre-split, label %.lr.ph.i.i.i, !llvm.loop !91 _ZSt8_DestroyIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_EvT_S7_RSaIT0_E.exitthread-pre-split: ; preds = %_ZSt8_DestroyINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEvPT_.exit.i.i.i - %.pr = load ptr, ptr %0, align 8, !tbaa !88 + %.pr = load ptr, ptr %0, align 8 br label %_ZSt8_DestroyIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_EvT_S7_RSaIT0_E.exit _ZSt8_DestroyIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_EvT_S7_RSaIT0_E.exit: ; preds = %_ZSt8_DestroyIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_EvT_S7_RSaIT0_E.exitthread-pre-split, %1 diff --git a/bench/ceres/optimized/block_random_access_sparse_matrix.ll b/bench/ceres/optimized/block_random_access_sparse_matrix.ll index c08e6893257..021dc8ce2c1 100644 --- a/bench/ceres/optimized/block_random_access_sparse_matrix.ll +++ b/bench/ceres/optimized/block_random_access_sparse_matrix.ll @@ -266,7 +266,7 @@ _ZN4absl12lts_2024011612log_internal12Check_LEImplImiEEPNSt7__cxx1112basic_strin br label %_ZNSt6vectorIiSaIiEED2Ev.exit167 _ZNSt6vectorIiSaIiEE17_S_check_init_lenEmRKS0_.exit.i.thread: ; preds = %47, %_ZSt6fill_nIPimiET_S1_T0_RKT1_.exit.loopexit.i.i.i.i.i, %.noexc114, %_ZNSt6vectorIiSaIiEE17_S_check_init_lenEmRKS0_.exit.i - %.0.i111346351 = phi i32 [ %53, %.noexc114 ], [ %53, %_ZSt6fill_nIPimiET_S1_T0_RKT1_.exit.loopexit.i.i.i.i.i ], [ %53, %_ZNSt6vectorIiSaIiEE17_S_check_init_lenEmRKS0_.exit.i ], [ 0, %47 ] + %.0.i111343348 = phi i32 [ %53, %.noexc114 ], [ %53, %_ZSt6fill_nIPimiET_S1_T0_RKT1_.exit.loopexit.i.i.i.i.i ], [ %53, %_ZNSt6vectorIiSaIiEE17_S_check_init_lenEmRKS0_.exit.i ], [ 0, %47 ] %76 = phi i64 [ %54, %.noexc114 ], [ %54, %_ZSt6fill_nIPimiET_S1_T0_RKT1_.exit.loopexit.i.i.i.i.i ], [ %54, %_ZNSt6vectorIiSaIiEE17_S_check_init_lenEmRKS0_.exit.i ], [ 0, %47 ] %77 = phi i32 [ %55, %.noexc114 ], [ %55, %_ZSt6fill_nIPimiET_S1_T0_RKT1_.exit.loopexit.i.i.i.i.i ], [ %55, %_ZNSt6vectorIiSaIiEE17_S_check_init_lenEmRKS0_.exit.i ], [ 0, %47 ] %78 = phi i64 [ %56, %.noexc114 ], [ %56, %_ZSt6fill_nIPimiET_S1_T0_RKT1_.exit.loopexit.i.i.i.i.i ], [ %56, %_ZNSt6vectorIiSaIiEE17_S_check_init_lenEmRKS0_.exit.i ], [ 0, %47 ] @@ -428,7 +428,7 @@ _ZSt8_DestroyIPN5ceres8internal14CompressedListES2_EvT_S4_RSaIT0_E.exit.i.i: ; p %159 = load ptr, ptr %2, align 8, !tbaa !53 %160 = load ptr, ptr %159, align 8, !tbaa !59 %wide.trip.count = and i64 %76, 2147483647 - %.pre = load ptr, ptr %1, align 8, !tbaa !11 + %.pre = load ptr, ptr %1, align 8 br label %.lr.ph304 ._crit_edge305: ; preds = %.critedge, %157 @@ -548,7 +548,6 @@ _ZNSt6vectorIN5ceres8internal4CellESaIS2_EE7reserveEm.exit: ; preds = %_ZNSt12_V br label %210 210: ; preds = %.lr.ph292, %_ZN4absl12lts_2024011618container_internal14btree_iteratorIKNS1_10btree_nodeINS1_10set_paramsISt4pairIiiESt4lessIS6_ESaIS6_ELi256ELb0EEEEERKS6_PSD_EppEv.exit153 - %.pre339341 = phi ptr [ %200, %.lr.ph292 ], [ %.pre339342, %_ZN4absl12lts_2024011618container_internal14btree_iteratorIKNS1_10btree_nodeINS1_10set_paramsISt4pairIiiESt4lessIS6_ESaIS6_ELi256ELb0EEEEERKS6_PSD_EppEv.exit153 ] %211 = phi ptr [ %200, %.lr.ph292 ], [ %249, %_ZN4absl12lts_2024011618container_internal14btree_iteratorIKNS1_10btree_nodeINS1_10set_paramsISt4pairIiiESt4lessIS6_ESaIS6_ELi256ELb0EEEEERKS6_PSD_EppEv.exit153 ] %212 = phi ptr [ %198, %.lr.ph292 ], [ %250, %_ZN4absl12lts_2024011618container_internal14btree_iteratorIKNS1_10btree_nodeINS1_10set_paramsISt4pairIiiESt4lessIS6_ESaIS6_ELi256ELb0EEEEERKS6_PSD_EppEv.exit153 ] %213 = phi ptr [ %199, %.lr.ph292 ], [ %251, %_ZN4absl12lts_2024011618container_internal14btree_iteratorIKNS1_10btree_nodeINS1_10set_paramsISt4pairIiiESt4lessIS6_ESaIS6_ELi256ELb0EEEEERKS6_PSD_EppEv.exit153 ] @@ -634,19 +633,17 @@ _ZNSt6vectorIN5ceres8internal4CellESaIS2_EE11_S_relocateEPS2_S5_S5_RS3_.exit23.i 247: ; preds = %_ZNSt6vectorIN5ceres8internal4CellESaIS2_EE11_S_relocateEPS2_S5_S5_RS3_.exit23.i.i tail call void @_ZdlPvm(ptr noundef nonnull %212, i64 noundef %231) #30 - %.pre339.pre = load ptr, ptr %1, align 8, !tbaa !11 br label %_ZNSt6vectorIN5ceres8internal4CellESaIS2_EE17_M_realloc_insertIJRKiRiEEEvN9__gnu_cxx17__normal_iteratorIPS2_S4_EEDpOT_.exit.i _ZNSt6vectorIN5ceres8internal4CellESaIS2_EE17_M_realloc_insertIJRKiRiEEEvN9__gnu_cxx17__normal_iteratorIPS2_S4_EEDpOT_.exit.i: ; preds = %247, %_ZNSt6vectorIN5ceres8internal4CellESaIS2_EE11_S_relocateEPS2_S5_S5_RS3_.exit23.i.i - %.pre339 = phi ptr [ %.pre339.pre, %247 ], [ %.pre339341, %_ZNSt6vectorIN5ceres8internal4CellESaIS2_EE11_S_relocateEPS2_S5_S5_RS3_.exit23.i.i ] store ptr %240, ptr %171, align 8, !tbaa !69 store ptr %246, ptr %209, align 8, !tbaa !77 %248 = getelementptr inbounds nuw %"struct.ceres::internal::Cell", ptr %240, i64 %238 store ptr %248, ptr %178, align 8, !tbaa !72 + %.pre339 = load ptr, ptr %1, align 8 br label %_ZNSt6vectorIN5ceres8internal4CellESaIS2_EE12emplace_backIJRKiRiEEERS2_DpOT_.exit _ZNSt6vectorIN5ceres8internal4CellESaIS2_EE12emplace_backIJRKiRiEEERS2_DpOT_.exit: ; preds = %_ZNSt6vectorIN5ceres8internal4CellESaIS2_EE17_M_realloc_insertIJRKiRiEEEvN9__gnu_cxx17__normal_iteratorIPS2_S4_EEDpOT_.exit.i, %225 - %.pre339342 = phi ptr [ %.pre339, %_ZNSt6vectorIN5ceres8internal4CellESaIS2_EE17_M_realloc_insertIJRKiRiEEEvN9__gnu_cxx17__normal_iteratorIPS2_S4_EEDpOT_.exit.i ], [ %.pre339341, %225 ] %249 = phi ptr [ %.pre339, %_ZNSt6vectorIN5ceres8internal4CellESaIS2_EE17_M_realloc_insertIJRKiRiEEEvN9__gnu_cxx17__normal_iteratorIPS2_S4_EEDpOT_.exit.i ], [ %211, %225 ] %250 = phi ptr [ %240, %_ZNSt6vectorIN5ceres8internal4CellESaIS2_EE17_M_realloc_insertIJRKiRiEEEvN9__gnu_cxx17__normal_iteratorIPS2_S4_EEDpOT_.exit.i ], [ %212, %225 ] %251 = phi ptr [ %248, %_ZNSt6vectorIN5ceres8internal4CellESaIS2_EE17_M_realloc_insertIJRKiRiEEEvN9__gnu_cxx17__normal_iteratorIPS2_S4_EEDpOT_.exit.i ], [ %213, %225 ] @@ -784,7 +781,7 @@ _ZN4absl12lts_2024011612log_internal8VLogSite9IsEnabledEi.exit: ; preds = %295 _ZN4absl12lts_2024011612log_internal10LogMessagelsILi14EEERS2_RAT__Kc.exit: ; preds = %300 call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %8) - store i32 %.0.i111346351, ptr %8, align 4, !tbaa !47 + store i32 %.0.i111343348, ptr %8, align 4, !tbaa !47 %301 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZN4absl12lts_2024011612log_internal10LogMessagelsIiTnNSt9enable_ifIXntsr4absl16HasAbslStringifyIT_EE5valueEiE4typeELi0EEERS2_RKS5_(ptr noundef nonnull align 8 dereferenceable(16) %299, ptr noundef nonnull align 4 dereferenceable(4) %8) to label %302 unwind label %320 @@ -795,7 +792,7 @@ _ZN4absl12lts_2024011612log_internal10LogMessagelsILi14EEERS2_RAT__Kc.exit: ; pr _ZN4absl12lts_2024011612log_internal10LogMessagelsILi2EEERS2_RAT__Kc.exit: ; preds = %302 call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %7) - store i32 %.0.i111346351, ptr %7, align 4, !tbaa !47 + store i32 %.0.i111343348, ptr %7, align 4, !tbaa !47 %303 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZN4absl12lts_2024011612log_internal10LogMessagelsIiTnNSt9enable_ifIXntsr4absl16HasAbslStringifyIT_EE5valueEiE4typeELi0EEERS2_RKS5_(ptr noundef nonnull align 8 dereferenceable(16) %301, ptr noundef nonnull align 4 dereferenceable(4) %7) to label %304 unwind label %320 @@ -976,7 +973,7 @@ _ZNSt6vectorIiSaIiEED2Ev.exit: ; preds = %._crit_edge314, %31 br i1 %372, label %373, label %.noexc179._crit_edge .noexc179._crit_edge: ; preds = %.noexc179 - %.pre340 = load ptr, ptr %32, align 8, !tbaa !41 + %.pre340 = load ptr, ptr %32, align 8 br label %414 373: ; preds = %.noexc179 @@ -1313,10 +1310,10 @@ _ZNSt12_Vector_baseIN5ceres8internal5BlockESaIS2_EE13_M_deallocateEPS2_m.exit: ; 35: ; preds = %34 tail call void @llvm.memmove.p0.p0.i64(ptr align 4 %12, ptr align 4 %6, i64 %31, i1 false) - %.pre = load ptr, ptr %1, align 8, !tbaa !11 - %.pre26 = load ptr, ptr %28, align 8, !tbaa !6 - %.pre27 = load ptr, ptr %0, align 8, !tbaa !11 - %.pre28 = load ptr, ptr %4, align 8, !tbaa !6 + %.pre = load ptr, ptr %1, align 8 + %.pre26 = load ptr, ptr %28, align 8 + %.pre27 = load ptr, ptr %0, align 8 + %.pre28 = load ptr, ptr %4, align 8 %.pre29 = ptrtoint ptr %.pre26 to i64 %.pre30 = ptrtoint ptr %.pre27 to i64 %.pre32 = sub i64 %.pre29, %.pre30 diff --git a/bench/ceres/optimized/block_structure.ll b/bench/ceres/optimized/block_structure.ll index f91c92e5d98..0fcf203714b 100644 --- a/bench/ceres/optimized/block_structure.ll +++ b/bench/ceres/optimized/block_structure.ll @@ -84,8 +84,8 @@ define hidden void @_ZN5ceres8internal4TailERKSt6vectorINS0_5BlockESaIS2_EEi(ptr 17: ; preds = %13 %18 = getelementptr inbounds nuw i8, ptr %0, i64 16 - %.not57 = icmp eq i32 %2, 0 - br i1 %.not57, label %._crit_edge, label %_ZNSt12_Vector_baseIN5ceres8internal5BlockESaIS2_EE11_M_allocateEm.exit.i + %.not54 = icmp eq i32 %2, 0 + br i1 %.not54, label %._crit_edge, label %_ZNSt12_Vector_baseIN5ceres8internal5BlockESaIS2_EE11_M_allocateEm.exit.i _ZNSt12_Vector_baseIN5ceres8internal5BlockESaIS2_EE11_M_allocateEm.exit.i: ; preds = %17 %19 = getelementptr inbounds nuw i8, ptr %0, i64 8 @@ -120,7 +120,6 @@ _ZNSt12_Vector_baseIN5ceres8internal5BlockESaIS2_EE11_M_allocateEm.exit.i: ; pre ret void 32: ; preds = %_ZNSt12_Vector_baseIN5ceres8internal5BlockESaIS2_EE11_M_allocateEm.exit.i, %_ZNSt6vectorIN5ceres8internal5BlockESaIS2_EE12emplace_backIJRKiRiEEERS2_DpOT_.exit - %.pre54 = phi ptr [ %7, %_ZNSt12_Vector_baseIN5ceres8internal5BlockESaIS2_EE11_M_allocateEm.exit.i ], [ %.pre55, %_ZNSt6vectorIN5ceres8internal5BlockESaIS2_EE12emplace_backIJRKiRiEEERS2_DpOT_.exit ] %33 = phi ptr [ %7, %_ZNSt12_Vector_baseIN5ceres8internal5BlockESaIS2_EE11_M_allocateEm.exit.i ], [ %64, %_ZNSt6vectorIN5ceres8internal5BlockESaIS2_EE12emplace_backIJRKiRiEEERS2_DpOT_.exit ] %34 = phi ptr [ %21, %_ZNSt12_Vector_baseIN5ceres8internal5BlockESaIS2_EE11_M_allocateEm.exit.i ], [ %65, %_ZNSt6vectorIN5ceres8internal5BlockESaIS2_EE12emplace_backIJRKiRiEEERS2_DpOT_.exit ] %indvars.iv = phi i64 [ %25, %_ZNSt12_Vector_baseIN5ceres8internal5BlockESaIS2_EE11_M_allocateEm.exit.i ], [ %indvars.iv.next, %_ZNSt6vectorIN5ceres8internal5BlockESaIS2_EE12emplace_backIJRKiRiEEERS2_DpOT_.exit ] @@ -198,17 +197,15 @@ _ZNSt6vectorIN5ceres8internal5BlockESaIS2_EE11_S_relocateEPS2_S5_S5_RS3_.exit23. 62: ; preds = %_ZNSt6vectorIN5ceres8internal5BlockESaIS2_EE11_S_relocateEPS2_S5_S5_RS3_.exit23.i.i tail call void @_ZdlPvm(ptr noundef nonnull %36, i64 noundef %45) #22 - %.pre.pre = load ptr, ptr %1, align 8, !tbaa !12 br label %_ZNSt6vectorIN5ceres8internal5BlockESaIS2_EE17_M_realloc_insertIJRKiRiEEEvN9__gnu_cxx17__normal_iteratorIPS2_S4_EEDpOT_.exit.i _ZNSt6vectorIN5ceres8internal5BlockESaIS2_EE17_M_realloc_insertIJRKiRiEEEvN9__gnu_cxx17__normal_iteratorIPS2_S4_EEDpOT_.exit.i: ; preds = %62, %_ZNSt6vectorIN5ceres8internal5BlockESaIS2_EE11_S_relocateEPS2_S5_S5_RS3_.exit23.i.i - %.pre = phi ptr [ %.pre.pre, %62 ], [ %.pre54, %_ZNSt6vectorIN5ceres8internal5BlockESaIS2_EE11_S_relocateEPS2_S5_S5_RS3_.exit23.i.i ] store ptr %61, ptr %24, align 8, !tbaa !8 %63 = getelementptr inbounds nuw %"struct.ceres::internal::Block", ptr %54, i64 %52 + %.pre = load ptr, ptr %1, align 8 br label %_ZNSt6vectorIN5ceres8internal5BlockESaIS2_EE12emplace_backIJRKiRiEEERS2_DpOT_.exit _ZNSt6vectorIN5ceres8internal5BlockESaIS2_EE12emplace_backIJRKiRiEEERS2_DpOT_.exit: ; preds = %_ZNSt6vectorIN5ceres8internal5BlockESaIS2_EE17_M_realloc_insertIJRKiRiEEEvN9__gnu_cxx17__normal_iteratorIPS2_S4_EEDpOT_.exit.i, %38 - %.pre55 = phi ptr [ %.pre, %_ZNSt6vectorIN5ceres8internal5BlockESaIS2_EE17_M_realloc_insertIJRKiRiEEEvN9__gnu_cxx17__normal_iteratorIPS2_S4_EEDpOT_.exit.i ], [ %.pre54, %38 ] %64 = phi ptr [ %.pre, %_ZNSt6vectorIN5ceres8internal5BlockESaIS2_EE17_M_realloc_insertIJRKiRiEEEvN9__gnu_cxx17__normal_iteratorIPS2_S4_EEDpOT_.exit.i ], [ %33, %38 ] %65 = phi ptr [ %61, %_ZNSt6vectorIN5ceres8internal5BlockESaIS2_EE17_M_realloc_insertIJRKiRiEEEvN9__gnu_cxx17__normal_iteratorIPS2_S4_EEDpOT_.exit.i ], [ %41, %38 ] %66 = phi ptr [ %54, %_ZNSt6vectorIN5ceres8internal5BlockESaIS2_EE17_M_realloc_insertIJRKiRiEEEvN9__gnu_cxx17__normal_iteratorIPS2_S4_EEDpOT_.exit.i ], [ %36, %38 ] diff --git a/bench/ceres/optimized/preprocessor.ll b/bench/ceres/optimized/preprocessor.ll index 11eeb771c89..fe98263d99f 100644 --- a/bench/ceres/optimized/preprocessor.ll +++ b/bench/ceres/optimized/preprocessor.ll @@ -290,7 +290,7 @@ define hidden void @_ZN5ceres8internal27SetupCommonMinimizerOptionsEPNS0_19Prepr %11 = getelementptr inbounds nuw i8, ptr %0, i64 1168 %12 = load i64, ptr %11, align 8, !tbaa !64 %.not.i.i = icmp eq i64 %12, %10 - %.pre = load ptr, ptr %8, align 8, !tbaa !67 + %.pre = load ptr, ptr %8, align 8 br i1 %.not.i.i, label %_ZN5Eigen15PlainObjectBaseINS_6MatrixIdLin1ELi1ELi0ELin1ELi1EEEE6resizeEl.exit, label %13 13: ; preds = %1 @@ -354,15 +354,18 @@ _ZN5Eigen15PlainObjectBaseINS_6MatrixIdLin1ELi1ELi0ELin1ELi1EEEE6resizeEl.exit: %39 = load i32, ptr %36, align 4, !tbaa !61 %40 = add nsw i32 %39, 1 store i32 %40, ptr %36, align 4, !tbaa !61 - br label %_ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE15_M_add_ref_copyEv.exit.i.i.i + br label %_ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE15_M_add_ref_copyEv.exitthread-pre-split.i.i.i 41: ; preds = %35 %42 = atomicrmw volatile add ptr %36, i32 1 acq_rel, align 4 - %.pr.pre.i.i.i = load ptr, ptr %30, align 8, !tbaa !166 + br label %_ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE15_M_add_ref_copyEv.exitthread-pre-split.i.i.i + +_ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE15_M_add_ref_copyEv.exitthread-pre-split.i.i.i: ; preds = %41, %38 + %.pr.i.i.i = load ptr, ptr %30, align 8 br label %_ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE15_M_add_ref_copyEv.exit.i.i.i -_ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE15_M_add_ref_copyEv.exit.i.i.i: ; preds = %41, %38, %34 - %43 = phi ptr [ %33, %34 ], [ %33, %38 ], [ %.pr.pre.i.i.i, %41 ] +_ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE15_M_add_ref_copyEv.exit.i.i.i: ; preds = %_ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE15_M_add_ref_copyEv.exitthread-pre-split.i.i.i, %34 + %43 = phi ptr [ %.pr.i.i.i, %_ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE15_M_add_ref_copyEv.exitthread-pre-split.i.i.i ], [ %33, %34 ] %.not8.i.i.i = icmp eq ptr %43, null br i1 %.not8.i.i.i, label %_ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE10_M_releaseEv.exit.i.i.i, label %44 @@ -453,7 +456,7 @@ _ZNKSt14default_deleteIN5ceres17IterationCallbackEEclEPS1_.exit.i.i.i: ; preds = %79 = getelementptr inbounds nuw i8, ptr %78, i64 8 %80 = load ptr, ptr %79, align 8 call void %80(ptr noundef nonnull align 8 dereferenceable(8) %77) #26 - %.pre38 = load ptr, ptr %76, align 8, !tbaa !179 + %.pre38 = load ptr, ptr %76, align 8 br label %_ZNSt10unique_ptrIN5ceres8internal15LoggingCallbackESt14default_deleteIS2_EED2Ev.exit _ZNSt10unique_ptrIN5ceres8internal15LoggingCallbackESt14default_deleteIS2_EED2Ev.exit: ; preds = %_ZNKSt14default_deleteIN5ceres17IterationCallbackEEclEPS1_.exit.i.i.i, %_ZSt11make_uniqueIN5ceres8internal15LoggingCallbackEJRKNS0_13MinimizerTypeERKbEENSt8__detail9_MakeUniqIT_E15__single_objectEDpOT0_.exit @@ -495,7 +498,7 @@ _ZNKSt14default_deleteIN5ceres17IterationCallbackEEclEPS1_.exit.i.i.i27: ; preds %96 = getelementptr inbounds nuw i8, ptr %95, i64 8 %97 = load ptr, ptr %96, align 8 call void %97(ptr noundef nonnull align 8 dereferenceable(8) %94) #26 - %.pre39 = load ptr, ptr %93, align 8, !tbaa !179 + %.pre39 = load ptr, ptr %93, align 8 br label %_ZNSt10unique_ptrIN5ceres8internal21StateUpdatingCallbackESt14default_deleteIS2_EED2Ev.exit _ZNSt10unique_ptrIN5ceres8internal21StateUpdatingCallbackESt14default_deleteIS2_EED2Ev.exit: ; preds = %_ZNKSt14default_deleteIN5ceres17IterationCallbackEEclEPS1_.exit.i.i.i27, %_ZSt11make_uniqueIN5ceres8internal21StateUpdatingCallbackEJRPNS1_7ProgramERPdEENSt8__detail9_MakeUniqIT_E15__single_objectEDpOT0_.exit @@ -682,7 +685,7 @@ _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7_S_copyEPcPKcm.exit.i: ; p %46 = load ptr, ptr %21, align 8, !tbaa !189 %47 = getelementptr inbounds nuw i8, ptr %46, i64 %44 store i8 0, ptr %47, align 1, !tbaa !167 - %.pre.i = load ptr, ptr %22, align 8, !tbaa !189 + %.pre.i = load ptr, ptr %22, align 8 br label %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEOS4_.exit .thread.i: ; preds = %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i @@ -1457,10 +1460,10 @@ _ZNSt12_Vector_baseIiSaIiEE13_M_deallocateEPim.exit: ; preds = %_ZNSt6vectorIiSa 32: ; preds = %31 tail call void @llvm.memmove.p0.p0.i64(ptr align 4 %12, ptr align 4 %6, i64 %28, i1 false) - %.pre = load ptr, ptr %1, align 8, !tbaa !190 - %.pre26 = load ptr, ptr %25, align 8, !tbaa !192 - %.pre27 = load ptr, ptr %0, align 8, !tbaa !190 - %.pre28 = load ptr, ptr %4, align 8, !tbaa !192 + %.pre = load ptr, ptr %1, align 8 + %.pre26 = load ptr, ptr %25, align 8 + %.pre27 = load ptr, ptr %0, align 8 + %.pre28 = load ptr, ptr %4, align 8 %.pre29 = ptrtoint ptr %.pre26 to i64 %.pre30 = ptrtoint ptr %.pre27 to i64 %.pre32 = sub i64 %.pre29, %.pre30 @@ -1567,10 +1570,10 @@ _ZNSt12_Vector_baseIPN5ceres17IterationCallbackESaIS2_EE13_M_deallocateEPS2_m.ex 32: ; preds = %31 tail call void @llvm.memmove.p0.p0.i64(ptr align 8 %12, ptr align 8 %6, i64 %28, i1 false) - %.pre = load ptr, ptr %1, align 8, !tbaa !187 - %.pre26 = load ptr, ptr %25, align 8, !tbaa !194 - %.pre27 = load ptr, ptr %0, align 8, !tbaa !187 - %.pre28 = load ptr, ptr %4, align 8, !tbaa !194 + %.pre = load ptr, ptr %1, align 8 + %.pre26 = load ptr, ptr %25, align 8 + %.pre27 = load ptr, ptr %0, align 8 + %.pre28 = load ptr, ptr %4, align 8 %.pre29 = ptrtoint ptr %.pre26 to i64 %.pre30 = ptrtoint ptr %.pre27 to i64 %.pre32 = sub i64 %.pre29, %.pre30 @@ -1953,13 +1956,12 @@ define linkonce_odr ptr @_ZNSt6vectorIPN5ceres17IterationCallbackESaIS2_EE14_M_i %26 = sub nsw i64 0, %25 %27 = getelementptr inbounds ptr, ptr %9, i64 %26 tail call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %27, ptr align 8 %18, i64 %24, i1 false) - %.pre.pre = load ptr, ptr %0, align 8, !tbaa !187 br label %_ZNSt6vectorIPN5ceres17IterationCallbackESaIS2_EE13_M_insert_auxIS2_EEvN9__gnu_cxx17__normal_iteratorIPS2_S4_EEOT_.exit _ZNSt6vectorIPN5ceres17IterationCallbackESaIS2_EE13_M_insert_auxIS2_EEvN9__gnu_cxx17__normal_iteratorIPS2_S4_EEOT_.exit: ; preds = %17, %22 - %.pre = phi ptr [ %4, %17 ], [ %.pre.pre, %22 ] %28 = load ptr, ptr %2, align 8, !tbaa !179 store ptr %28, ptr %18, align 8, !tbaa !179 + %.pre = load ptr, ptr %0, align 8 br label %53 29: ; preds = %3 diff --git a/bench/clamav/optimized/autoit.ll b/bench/clamav/optimized/autoit.ll index 454c4dded55..bba6e9aabe2 100644 --- a/bench/clamav/optimized/autoit.ll +++ b/bench/clamav/optimized/autoit.ll @@ -2182,7 +2182,7 @@ u2a.exit389.i: ; preds = %.lr.ph49.i383.i, %. br i1 %.not310.i, label %.thread._crit_edge.i, label %774 .thread._crit_edge.i: ; preds = %.thread.i37 - %.pre572.i = load i32, ptr %485, align 8, !tbaa !53 + %.pre572.i = load i32, ptr %485, align 8 br label %780 774: ; preds = %.thread.i37 @@ -2345,7 +2345,7 @@ u2a.exit389.i: ; preds = %.lr.ph49.i383.i, %. br i1 %.not346.not.i, label %.thread396.i, label %._crit_edge588.i ._crit_edge588.i: ; preds = %829 - %.pre585.pre.i = load ptr, ptr %821, align 8, !tbaa !59 + %.pre585.pre.i = load ptr, ptr %821, align 8 br label %833 .thread396.i: ; preds = %829 @@ -2368,7 +2368,7 @@ u2a.exit389.i: ; preds = %.lr.ph49.i383.i, %. 839: ; preds = %835 call void (ptr, ...) @cli_dbgmsg(ptr noundef nonnull @.str.515, ptr noundef %.pre585.i) #14 - %.pre584.i = load ptr, ptr %821, align 8, !tbaa !59 + %.pre584.i = load ptr, ptr %821, align 8 br label %840 840: ; preds = %839, %835, %833 @@ -2431,7 +2431,7 @@ u2a.exit389.i: ; preds = %.lr.ph49.i383.i, %. br i1 %.not342.not.i, label %.thread398.i, label %._crit_edge586.i ._crit_edge586.i: ; preds = %871 - %.pre583.pre.i = load ptr, ptr %863, align 8, !tbaa !59 + %.pre583.pre.i = load ptr, ptr %863, align 8 br label %875 .thread398.i: ; preds = %871 @@ -2454,7 +2454,7 @@ u2a.exit389.i: ; preds = %.lr.ph49.i383.i, %. 881: ; preds = %877 call void (ptr, ...) @cli_dbgmsg(ptr noundef nonnull @.str.519, ptr noundef %.pre583.i) #14 - %.pre582.i = load ptr, ptr %863, align 8, !tbaa !59 + %.pre582.i = load ptr, ptr %863, align 8 br label %882 882: ; preds = %881, %877, %875 @@ -2497,9 +2497,9 @@ u2a.exit389.i: ; preds = %.lr.ph49.i383.i, %. br i1 %.not339.i, label %904, label %..thread400_crit_edge.i ..thread400_crit_edge.i: ; preds = %900 - %.pre579.i = load i32, ptr %486, align 8, !tbaa !55 - %.pre580.i = load ptr, ptr %5, align 8, !tbaa !54 - %.pre581.i = load i32, ptr %487, align 4, !tbaa !56 + %.pre579.i = load i32, ptr %486, align 8 + %.pre580.i = load ptr, ptr %5, align 8 + %.pre581.i = load i32, ptr %487, align 4 br label %.thread400.i 904: ; preds = %900 @@ -2553,9 +2553,9 @@ u2a.exit389.i: ; preds = %.lr.ph49.i383.i, %. br i1 %.not336.not.i, label %.thread404.i, label %._crit_edge575.i ._crit_edge575.i: ; preds = %926 - %.pre576.i = load ptr, ptr %5, align 8, !tbaa !54 - %.pre577.i = load i32, ptr %487, align 4, !tbaa !56 - %.pre578.i = load i32, ptr %486, align 8, !tbaa !55 + %.pre576.i = load ptr, ptr %5, align 8 + %.pre577.i = load i32, ptr %487, align 4 + %.pre578.i = load i32, ptr %486, align 8 br label %930 .thread404.i: ; preds = %926 @@ -2860,7 +2860,7 @@ u2a.exit389.i: ; preds = %.lr.ph49.i383.i, %. br i1 %.not323.i, label %1103, label %..thread412_crit_edge.i ..thread412_crit_edge.i: ; preds = %1099 - %.pre574.i = load i32, ptr %486, align 8, !tbaa !55 + %.pre574.i = load i32, ptr %486, align 8 br label %.thread412.i 1103: ; preds = %1099 @@ -2900,7 +2900,7 @@ u2a.exit389.i: ; preds = %.lr.ph49.i383.i, %. br i1 %.not321.i, label %1123, label %..thread416_crit_edge.i ..thread416_crit_edge.i: ; preds = %1119 - %.pre573.i = load i32, ptr %486, align 8, !tbaa !55 + %.pre573.i = load i32, ptr %486, align 8 %.pre590.i = add i32 %.pre573.i, 1 br label %.thread416.i @@ -3128,6 +3128,7 @@ define internal fastcc void @MT_decrypt(ptr noundef captures(none) %0, i32 nound 14: ; preds = %6 %15 = getelementptr inbounds nuw i8, ptr %4, i64 8 + store ptr %5, ptr %4, align 8, !tbaa !62 %.not16 = icmp eq i32 %1, 0 br i1 %.not16, label %._crit_edge, label %.lr.ph @@ -3145,20 +3146,20 @@ define internal fastcc void @MT_decrypt(ptr noundef captures(none) %0, i32 nound %20 = phi ptr [ %5, %.lr.ph ], [ %70, %MT_getnext.exit ] %21 = add i32 %.01317, -1 %22 = add i32 %19, -1 - store i32 %22, ptr %15, align 8, !tbaa !62 + store i32 %22, ptr %15, align 8, !tbaa !65 %.not.i = icmp eq i32 %22, 0 br i1 %.not.i, label %23, label %._crit_edge58.i ._crit_edge58.i: ; preds = %18 - %.pre60.i = load i32, ptr %20, align 4, !tbaa !49 + %.pre60.i = load i32, ptr %20, align 4 br label %MT_getnext.exit 23: ; preds = %18 - store i32 624, ptr %15, align 8, !tbaa !62 + store i32 624, ptr %15, align 8, !tbaa !65 br label %24 .lr.ph.preheader.i: ; preds = %24 - %.pre57.i = load i32, ptr %.phi.trans.insert.i, align 8, !tbaa !49 + %.pre57.i = load i32, ptr %.phi.trans.insert.i, align 8 br label %.lr.ph.i 24: ; preds = %24, %23 @@ -3227,6 +3228,7 @@ MT_getnext.exit: ; preds = %._crit_edge58.i, %. %68 = phi i32 [ %.pre60.i, %._crit_edge58.i ], [ %56, %._crit_edge.i ] %69 = phi ptr [ %20, %._crit_edge58.i ], [ %5, %._crit_edge.i ] %70 = getelementptr inbounds nuw i8, ptr %69, i64 4 + store ptr %70, ptr %4, align 8, !tbaa !62 %71 = lshr i32 %68, 11 %72 = xor i32 %71, %68 %73 = shl i32 %72, 7 @@ -3718,6 +3720,7 @@ attributes #15 = { nounwind willreturn memory(read) } !59 = !{!5, !5, i64 0} !60 = !{!61, !61, i64 0} !61 = !{!"double", !7, i64 0} -!62 = !{!63, !14, i64 8} +!62 = !{!63, !64, i64 0} !63 = !{!"MT", !64, i64 0, !14, i64 8, !7, i64 12} !64 = !{!"p1 int", !6, i64 0} +!65 = !{!63, !14, i64 8} diff --git a/bench/clamav/optimized/client.ll b/bench/clamav/optimized/client.ll index 61d9f95d0b3..d4bcfbeb2f5 100644 --- a/bench/clamav/optimized/client.ll +++ b/bench/clamav/optimized/client.ll @@ -421,7 +421,7 @@ define internal fastcc range(i32 0, 2) i32 @isremote() unnamed_addr #0 { 49: ; preds = %.lr.ph %50 = load i32, ptr %36, align 4, !tbaa !29 %.phi.trans.insert = getelementptr inbounds nuw i8, ptr %.0253, i64 24 - %.pre = load ptr, ptr %.phi.trans.insert, align 8, !tbaa !32 + %.pre = load ptr, ptr %.phi.trans.insert, align 8 switch i32 %50, label %._crit_edge9 [ i32 2, label %._crit_edge9.sink.split i32 10, label %._crit_edge9.sink.split @@ -429,12 +429,12 @@ define internal fastcc range(i32 0, 2) i32 @isremote() unnamed_addr #0 { ._crit_edge9.sink.split: ; preds = %49, %49 %51 = getelementptr inbounds nuw i8, ptr %.pre, i64 2 - store i16 0, ptr %51, align 2, !tbaa !33 + store i16 0, ptr %51, align 2, !tbaa !32 br label %._crit_edge9 ._crit_edge9: ; preds = %._crit_edge9.sink.split, %49 %52 = getelementptr inbounds nuw i8, ptr %.0253, i64 16 - %53 = load i32, ptr %52, align 8, !tbaa !34 + %53 = load i32, ptr %52, align 8, !tbaa !33 %54 = call i32 @bind(i32 noundef %42, ptr %.pre, i32 noundef %53) #15 %.not36 = icmp eq i32 %54, 0 br i1 %.not36, label %61, label %55 @@ -460,7 +460,7 @@ define internal fastcc range(i32 0, 2) i32 @isremote() unnamed_addr #0 { br i1 %.not35, label %._crit_edge.loopexit, label %.lr.ph ._crit_edge.loopexit: ; preds = %63 - %.pre10 = load ptr, ptr %3, align 8, !tbaa !27 + %.pre10 = load ptr, ptr %3, align 8 br label %._crit_edge ._crit_edge: ; preds = %._crit_edge.loopexit, %.preheader @@ -618,7 +618,7 @@ define dso_local range(i32 0, 35) i32 @client(ptr noundef %0, ptr noundef %1, pt 12: ; preds = %9, %3 %13 = getelementptr inbounds nuw i8, ptr %0, i64 64 - %14 = load ptr, ptr %13, align 8, !tbaa !35 + %14 = load ptr, ptr %13, align 8, !tbaa !34 %.not75 = icmp eq ptr %14, null br i1 %.not75, label %.tail.thread, label %15 @@ -646,7 +646,7 @@ sub_0: ; preds = %15 br i1 %.not78, label %25, label %.tail.thread 25: ; preds = %21 - %26 = load ptr, ptr %13, align 8, !tbaa !35 + %26 = load ptr, ptr %13, align 8, !tbaa !34 %27 = getelementptr inbounds nuw i8, ptr %26, i64 8 %28 = load ptr, ptr %27, align 8, !tbaa !4 %.not79 = icmp eq ptr %28, null @@ -720,7 +720,7 @@ sub_0: ; preds = %15 %68 = tail call ptr @optget(ptr noundef %67, ptr noundef nonnull @.str.26) #15 %69 = getelementptr inbounds nuw i8, ptr %68, i64 24 %70 = load i64, ptr %69, align 8, !tbaa !21 - store i64 %70, ptr @maxstream, align 8, !tbaa !36 + store i64 %70, ptr @maxstream, align 8, !tbaa !35 %71 = load ptr, ptr @clamdopts, align 8, !tbaa !16 %72 = tail call ptr @optget(ptr noundef %71, ptr noundef nonnull @.str.27) #15 %73 = getelementptr inbounds nuw i8, ptr %72, i64 32 @@ -746,7 +746,7 @@ sub_0: ; preds = %15 84: ; preds = %81 %85 = getelementptr inbounds nuw i8, ptr %5, i64 24 - %86 = load i32, ptr %85, align 8, !tbaa !38 + %86 = load i32, ptr %85, align 8, !tbaa !37 %87 = load ptr, ptr @clamdopts, align 8, !tbaa !16 %88 = tail call i32 @dconnect(ptr noundef %87) #15 %89 = icmp sgt i32 %88, -1 @@ -778,7 +778,7 @@ sub_0: ; preds = %15 br label %.loopexit 98: ; preds = %81 - %99 = load ptr, ptr %13, align 8, !tbaa !35 + %99 = load ptr, ptr %13, align 8, !tbaa !34 %100 = load ptr, ptr %99, align 8, !tbaa !4 %101 = tail call ptr @__errno_location() #17 %102 = load i32, ptr %101, align 4, !tbaa !31 @@ -789,7 +789,7 @@ sub_0: ; preds = %15 br label %.thread 105: ; preds = %61 - %106 = load ptr, ptr %13, align 8, !tbaa !35 + %106 = load ptr, ptr %13, align 8, !tbaa !34 %.not86 = icmp eq ptr %106, null br i1 %.not86, label %107, label %.thread106 @@ -801,7 +801,7 @@ sub_0: ; preds = %15 br i1 %.not87, label %131, label %111 111: ; preds = %107 - %.pr = load ptr, ptr %13, align 8, !tbaa !35 + %.pr = load ptr, ptr %13, align 8, !tbaa !34 %.not88 = icmp eq ptr %.pr, null br i1 %.not88, label %117, label %.thread106 @@ -1080,12 +1080,11 @@ attributes #18 = { nounwind allocsize(0) } !29 = !{!23, !12, i64 4} !30 = !{!23, !12, i64 12} !31 = !{!12, !12, i64 0} -!32 = !{!23, !24, i64 24} -!33 = !{!20, !20, i64 0} -!34 = !{!23, !12, i64 16} -!35 = !{!10, !14, i64 64} -!36 = !{!37, !37, i64 0} -!37 = !{!"long", !7, i64 0} -!38 = !{!39, !12, i64 24} -!39 = !{!"stat", !37, i64 0, !37, i64 8, !37, i64 16, !12, i64 24, !12, i64 28, !12, i64 32, !12, i64 36, !37, i64 40, !37, i64 48, !37, i64 56, !37, i64 64, !40, i64 72, !40, i64 88, !40, i64 104, !7, i64 120} -!40 = !{!"timespec", !37, i64 0, !37, i64 8} +!32 = !{!20, !20, i64 0} +!33 = !{!23, !12, i64 16} +!34 = !{!10, !14, i64 64} +!35 = !{!36, !36, i64 0} +!36 = !{!"long", !7, i64 0} +!37 = !{!38, !12, i64 24} +!38 = !{!"stat", !36, i64 0, !36, i64 8, !36, i64 16, !12, i64 24, !12, i64 28, !12, i64 32, !12, i64 36, !36, i64 40, !36, i64 48, !36, i64 56, !36, i64 64, !39, i64 72, !39, i64 88, !39, i64 104, !7, i64 120} +!39 = !{!"timespec", !36, i64 0, !36, i64 8} diff --git a/bench/cmake/optimized/frm_def.ll b/bench/cmake/optimized/frm_def.ll index 5e75867058a..54a45807acb 100644 --- a/bench/cmake/optimized/frm_def.ll +++ b/bench/cmake/optimized/frm_def.ll @@ -95,7 +95,7 @@ Associate_Fields.exit: ; preds = %3 Disconnect_Fields.exit.i: ; preds = %18 %.phi.trans.insert.i = getelementptr inbounds nuw i8, ptr %2, i64 80 - %.pre.i = load ptr, ptr %.phi.trans.insert.i, align 8, !tbaa !36 + %.pre.i = load ptr, ptr %.phi.trans.insert.i, align 8 %.not9.i = icmp eq ptr %.pre.i, null br i1 %.not9.i, label %Disconnect_Fields.exit.thread.i, label %Disconnect_Fields.exit.thread.sink.split.i @@ -188,7 +188,7 @@ define dso_local range(i32 -3, 1) i32 @free_form(ptr noundef captures(address) % Disconnect_Fields.exit: ; preds = %5 %.phi.trans.insert = getelementptr inbounds nuw i8, ptr %0, i64 80 - %.pre = load ptr, ptr %.phi.trans.insert, align 8, !tbaa !36 + %.pre = load ptr, ptr %.phi.trans.insert, align 8 %.not9 = icmp eq ptr %.pre, null br i1 %.not9, label %Disconnect_Fields.exit.thread, label %Disconnect_Fields.exit.thread.sink.split @@ -386,6 +386,7 @@ define internal fastcc range(i32 -4, 1) i32 @Connect_Fields(ptr noundef nonnull 31: ; preds = %27 store i16 0, ptr %.080106, align 2, !tbaa !39 + %.pre = load ptr, ptr %1, align 8 br label %42 32: ; preds = %27 @@ -406,7 +407,7 @@ define internal fastcc range(i32 -4, 1) i32 @Connect_Fields(ptr noundef nonnull br label %42 42: ; preds = %32, %37, %31 - %43 = phi ptr [ %6, %31 ], [ %34, %37 ], [ %34, %32 ] + %43 = phi ptr [ %.pre, %31 ], [ %34, %37 ], [ %34, %32 ] %.1 = phi ptr [ %.080106, %31 ], [ %41, %37 ], [ %.080106, %32 ] %44 = getelementptr inbounds nuw i8, ptr %43, i64 6 %45 = load i16, ptr %44, align 2, !tbaa !42 diff --git a/bench/coreutils-rs/optimized/1w8bjqmsfkf0ntfz.ll b/bench/coreutils-rs/optimized/1w8bjqmsfkf0ntfz.ll index 06bc392a018..80863353bea 100644 --- a/bench/coreutils-rs/optimized/1w8bjqmsfkf0ntfz.ll +++ b/bench/coreutils-rs/optimized/1w8bjqmsfkf0ntfz.ll @@ -72,8 +72,8 @@ define hidden { i1, i8 } @"_ZN104_$LT$core..iter..adapters..copied..Copied$LT$I$ %19 = tail call { i64, i1 } @llvm.uadd.with.overflow.i64(i64 %10, i64 %1) %20 = extractvalue { i64, i1 } %19, 1 %21 = getelementptr inbounds nuw i8, ptr %0, i64 8 - %22 = load ptr, ptr %21, align 8, !alias.scope !11 - %23 = load ptr, ptr %0, align 8, !alias.scope !11 + %22 = load ptr, ptr %21, align 8, !alias.scope !11, !nonnull !7 + %23 = load ptr, ptr %0, align 8, !alias.scope !11, !nonnull !7 %24 = ptrtoint ptr %22 to i64 br i1 %20, label %26, label %._crit_edge.i.i @@ -124,8 +124,8 @@ define hidden { i1, i8 } @"_ZN104_$LT$core..iter..adapters..copied..Copied$LT$I$ %49 = tail call { i64, i1 } @llvm.uadd.with.overflow.i64(i64 %38, i64 %36) %50 = extractvalue { i64, i1 } %49, 1 %51 = getelementptr inbounds nuw i8, ptr %0, i64 8 - %52 = load ptr, ptr %51, align 8, !alias.scope !20 - %53 = load ptr, ptr %0, align 8, !alias.scope !20 + %52 = load ptr, ptr %51, align 8, !alias.scope !20, !nonnull !7 + %53 = load ptr, ptr %0, align 8, !alias.scope !20, !nonnull !7 %54 = ptrtoint ptr %52 to i64 br i1 %50, label %56, label %._crit_edge.i4.i @@ -165,9 +165,7 @@ define hidden { i1, i8 } @"_ZN104_$LT$core..iter..adapters..copied..Copied$LT$I$ "_ZN100_$LT$core..iter..adapters..take..Take$LT$I$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$3nth17h32a5d8e30e22e347E.exit.thread8": ; preds = %11 %67 = getelementptr inbounds i8, ptr %14, i64 %1 - %68 = getelementptr inbounds nuw i8, ptr %67, i64 1 - store ptr %68, ptr %0, align 8, !alias.scope !11 - br label %71 + br label %69 "_ZN100_$LT$core..iter..adapters..take..Take$LT$I$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$3nth17h32a5d8e30e22e347E.exit.thread5": ; preds = %11, %31 %storemerge.i.sink.i.i.ph = phi ptr [ %22, %31 ], [ %13, %11 ] @@ -175,23 +173,22 @@ define hidden { i1, i8 } @"_ZN104_$LT$core..iter..adapters..copied..Copied$LT$I$ br label %"_ZN100_$LT$core..iter..adapters..take..Take$LT$I$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$3nth17h32a5d8e30e22e347E.exit.thread" "_ZN100_$LT$core..iter..adapters..take..Take$LT$I$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$3nth17h32a5d8e30e22e347E.exit": ; preds = %31 - %69 = getelementptr inbounds i8, ptr %32, i64 %.05.i.i - %70 = getelementptr inbounds nuw i8, ptr %69, i64 1 - store ptr %70, ptr %0, align 8, !alias.scope !11 - %.not = icmp eq ptr %32, null - br i1 %.not, label %"_ZN100_$LT$core..iter..adapters..take..Take$LT$I$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$3nth17h32a5d8e30e22e347E.exit.thread", label %71 - -71: ; preds = %"_ZN100_$LT$core..iter..adapters..take..Take$LT$I$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$3nth17h32a5d8e30e22e347E.exit.thread8", %"_ZN100_$LT$core..iter..adapters..take..Take$LT$I$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$3nth17h32a5d8e30e22e347E.exit" - %.0.ph.i.i11 = phi ptr [ %67, %"_ZN100_$LT$core..iter..adapters..take..Take$LT$I$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$3nth17h32a5d8e30e22e347E.exit.thread8" ], [ %69, %"_ZN100_$LT$core..iter..adapters..take..Take$LT$I$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$3nth17h32a5d8e30e22e347E.exit" ] - %72 = load i8, ptr %.0.ph.i.i11, align 1, !noundef !7 + %68 = getelementptr inbounds i8, ptr %32, i64 %.05.i.i + br label %69 + +69: ; preds = %"_ZN100_$LT$core..iter..adapters..take..Take$LT$I$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$3nth17h32a5d8e30e22e347E.exit", %"_ZN100_$LT$core..iter..adapters..take..Take$LT$I$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$3nth17h32a5d8e30e22e347E.exit.thread8" + %.pn = phi ptr [ %68, %"_ZN100_$LT$core..iter..adapters..take..Take$LT$I$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$3nth17h32a5d8e30e22e347E.exit" ], [ %67, %"_ZN100_$LT$core..iter..adapters..take..Take$LT$I$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$3nth17h32a5d8e30e22e347E.exit.thread8" ] + %storemerge = getelementptr inbounds nuw i8, ptr %.pn, i64 1 + store ptr %storemerge, ptr %0, align 8, !alias.scope !11 + %70 = load i8, ptr %.pn, align 1, !noundef !7 br label %"_ZN100_$LT$core..iter..adapters..take..Take$LT$I$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$3nth17h32a5d8e30e22e347E.exit.thread" -"_ZN100_$LT$core..iter..adapters..take..Take$LT$I$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$3nth17h32a5d8e30e22e347E.exit.thread": ; preds = %26, %"_ZN100_$LT$core..iter..adapters..skip..Skip$LT$I$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$3nth17h1e484e2d243b49a8E.exit18.i", %6, %"_ZN100_$LT$core..iter..adapters..take..Take$LT$I$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$3nth17h32a5d8e30e22e347E.exit.thread5", %"_ZN100_$LT$core..iter..adapters..take..Take$LT$I$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$3nth17h32a5d8e30e22e347E.exit", %71 - %73 = phi i1 [ true, %71 ], [ false, %"_ZN100_$LT$core..iter..adapters..take..Take$LT$I$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$3nth17h32a5d8e30e22e347E.exit" ], [ false, %"_ZN100_$LT$core..iter..adapters..take..Take$LT$I$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$3nth17h32a5d8e30e22e347E.exit.thread5" ], [ false, %6 ], [ false, %"_ZN100_$LT$core..iter..adapters..skip..Skip$LT$I$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$3nth17h1e484e2d243b49a8E.exit18.i" ], [ false, %26 ] - %.sroa.3.0 = phi i8 [ %72, %71 ], [ undef, %"_ZN100_$LT$core..iter..adapters..take..Take$LT$I$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$3nth17h32a5d8e30e22e347E.exit" ], [ undef, %"_ZN100_$LT$core..iter..adapters..take..Take$LT$I$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$3nth17h32a5d8e30e22e347E.exit.thread5" ], [ undef, %6 ], [ undef, %"_ZN100_$LT$core..iter..adapters..skip..Skip$LT$I$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$3nth17h1e484e2d243b49a8E.exit18.i" ], [ undef, %26 ] - %74 = insertvalue { i1, i8 } poison, i1 %73, 0 - %75 = insertvalue { i1, i8 } %74, i8 %.sroa.3.0, 1 - ret { i1, i8 } %75 +"_ZN100_$LT$core..iter..adapters..take..Take$LT$I$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$3nth17h32a5d8e30e22e347E.exit.thread": ; preds = %26, %"_ZN100_$LT$core..iter..adapters..skip..Skip$LT$I$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$3nth17h1e484e2d243b49a8E.exit18.i", %6, %"_ZN100_$LT$core..iter..adapters..take..Take$LT$I$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$3nth17h32a5d8e30e22e347E.exit.thread5", %69 + %71 = phi i1 [ true, %69 ], [ false, %"_ZN100_$LT$core..iter..adapters..take..Take$LT$I$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$3nth17h32a5d8e30e22e347E.exit.thread5" ], [ false, %6 ], [ false, %"_ZN100_$LT$core..iter..adapters..skip..Skip$LT$I$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$3nth17h1e484e2d243b49a8E.exit18.i" ], [ false, %26 ] + %.sroa.3.0 = phi i8 [ %70, %69 ], [ undef, %"_ZN100_$LT$core..iter..adapters..take..Take$LT$I$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$3nth17h32a5d8e30e22e347E.exit.thread5" ], [ undef, %6 ], [ undef, %"_ZN100_$LT$core..iter..adapters..skip..Skip$LT$I$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$3nth17h1e484e2d243b49a8E.exit18.i" ], [ undef, %26 ] + %72 = insertvalue { i1, i8 } poison, i1 %71, 0 + %73 = insertvalue { i1, i8 } %72, i8 %.sroa.3.0, 1 + ret { i1, i8 } %73 } ; Function Attrs: nofree norecurse nosync nounwind nonlazybind memory(write, argmem: readwrite) uwtable diff --git a/bench/cpython/optimized/timemodule.ll b/bench/cpython/optimized/timemodule.ll index 42cd3ac4c5f..0fda3ac4aa0 100644 --- a/bench/cpython/optimized/timemodule.ll +++ b/bench/cpython/optimized/timemodule.ll @@ -687,7 +687,7 @@ define internal ptr @time_gmtime(ptr noundef readonly captures(none) %0, ptr nou br i1 %15, label %parse_time_t_args.exit.thread, label %._crit_edge.i ._crit_edge.i: ; preds = %13 - %.pre.i = load i64, ptr %4, align 8, !tbaa !19 + %.pre.i = load i64, ptr %4, align 8 br label %16 parse_time_t_args.exit.thread: ; preds = %2, %13 @@ -748,7 +748,7 @@ define internal ptr @time_localtime(ptr noundef readonly captures(none) %0, ptr br i1 %15, label %parse_time_t_args.exit.thread, label %._crit_edge.i ._crit_edge.i: ; preds = %13 - %.pre.i = load i64, ptr %4, align 8, !tbaa !19 + %.pre.i = load i64, ptr %4, align 8 br label %16 parse_time_t_args.exit.thread: ; preds = %2, %13 @@ -870,7 +870,7 @@ define internal ptr @time_ctime(ptr readnone captures(none) %0, ptr noundef %1) br i1 %15, label %parse_time_t_args.exit.thread, label %._crit_edge.i ._crit_edge.i: ; preds = %13 - %.pre.i = load i64, ptr %4, align 8, !tbaa !19 + %.pre.i = load i64, ptr %4, align 8 br label %16 parse_time_t_args.exit.thread: ; preds = %2, %13 @@ -1190,17 +1190,13 @@ time_strftime1.exit: ; preds = %83 br label %Py_DECREF.exit Py_DECREF.exit: ; preds = %92, %96, %99 - br i1 %94, label %.thread118, label %Py_DECREF.exit._crit_edge + br i1 %94, label %.thread118, label %100 -Py_DECREF.exit._crit_edge: ; preds = %Py_DECREF.exit - %.pre.pre = load ptr, ptr %5, align 8, !tbaa !20 - br label %100 - -100: ; preds = %Py_DECREF.exit._crit_edge, %74 - %.pre = phi ptr [ %41, %74 ], [ %.pre.pre, %Py_DECREF.exit._crit_edge ] - %.2106 = phi ptr [ %.1105, %74 ], [ %81, %Py_DECREF.exit._crit_edge ] - %.1 = phi i64 [ %.0103, %74 ], [ %.2, %Py_DECREF.exit._crit_edge ] +100: ; preds = %Py_DECREF.exit, %74 + %.2106 = phi ptr [ %.1105, %74 ], [ %81, %Py_DECREF.exit ] + %.1 = phi i64 [ %.0103, %74 ], [ %.2, %Py_DECREF.exit ] %101 = icmp slt i64 %.157.lcssa, %.val75 + %.pre = load ptr, ptr %5, align 8 br i1 %101, label %.lr.ph, label %PyUnicode_READ_CHAR.exit97._crit_edge .lr.ph: ; preds = %100 diff --git a/bench/csmith/optimized/ArrayVariable.ll b/bench/csmith/optimized/ArrayVariable.ll index 92707dcb124..5ff61d15e1a 100644 --- a/bench/csmith/optimized/ArrayVariable.ll +++ b/bench/csmith/optimized/ArrayVariable.ll @@ -1060,8 +1060,8 @@ define dso_local void @_ZN13ArrayVariableD2Ev(ptr noundef nonnull align 8 derefe %15 = getelementptr inbounds nuw i8, ptr %14, i64 8 %16 = load ptr, ptr %15, align 8 tail call void %16(ptr noundef nonnull align 8 dereferenceable(24) %11) #23 - %.pre = load ptr, ptr %5, align 8, !tbaa !73 - %.pre9 = load ptr, ptr %4, align 8, !tbaa !76 + %.pre = load ptr, ptr %5, align 8 + %.pre9 = load ptr, ptr %4, align 8 br label %17 17: ; preds = %.lr.ph, %13 @@ -2197,13 +2197,11 @@ _ZNSt6vectorIP8VariableSaIS1_EE9push_backEOS1_.exit: ; preds = %8, %_ZNSt6vector %34 = getelementptr inbounds nuw i8, ptr %4, i64 240 %35 = getelementptr inbounds nuw i8, ptr %4, i64 248 %36 = getelementptr inbounds nuw i8, ptr %4, i64 256 - %.pre = load ptr, ptr %35, align 8, !tbaa !73 - %.pre31 = load ptr, ptr %36, align 8, !tbaa !74 + %.pre = load ptr, ptr %35, align 8 + %.pre31 = load ptr, ptr %36, align 8 br label %37 37: ; preds = %.lr.ph, %_ZN13ArrayVariable9add_indexEPK10Expression.exit - %.pre3337 = phi ptr [ %33, %.lr.ph ], [ %.pre3338, %_ZN13ArrayVariable9add_indexEPK10Expression.exit ] - %.pre3234 = phi ptr [ %32, %.lr.ph ], [ %.pre3235, %_ZN13ArrayVariable9add_indexEPK10Expression.exit ] %38 = phi ptr [ %33, %.lr.ph ], [ %67, %_ZN13ArrayVariable9add_indexEPK10Expression.exit ] %39 = phi ptr [ %32, %.lr.ph ], [ %68, %_ZN13ArrayVariable9add_indexEPK10Expression.exit ] %40 = phi ptr [ %.pre31, %.lr.ph ], [ %69, %_ZN13ArrayVariable9add_indexEPK10Expression.exit ] @@ -2260,22 +2258,18 @@ _ZNSt6vectorIPK10ExpressionSaIS2_EE11_S_relocateEPS2_S5_S5_RS3_.exit16.i.i.i: ; 65: ; preds = %_ZNSt6vectorIPK10ExpressionSaIS2_EE11_S_relocateEPS2_S5_S5_RS3_.exit16.i.i.i tail call void @_ZdlPvm(ptr noundef nonnull %48, i64 noundef %51) #22 - %.pre32.pre = load ptr, ptr %31, align 8, !tbaa !53 - %.pre33.pre = load ptr, ptr %30, align 8, !tbaa !52 br label %_ZNSt6vectorIPK10ExpressionSaIS2_EE17_M_realloc_insertIJRKS2_EEEvN9__gnu_cxx17__normal_iteratorIPS2_S4_EEDpOT_.exit.i.i _ZNSt6vectorIPK10ExpressionSaIS2_EE17_M_realloc_insertIJRKS2_EEEvN9__gnu_cxx17__normal_iteratorIPS2_S4_EEDpOT_.exit.i.i: ; preds = %65, %_ZNSt6vectorIPK10ExpressionSaIS2_EE11_S_relocateEPS2_S5_S5_RS3_.exit16.i.i.i - %.pre33 = phi ptr [ %.pre33.pre, %65 ], [ %.pre3337, %_ZNSt6vectorIPK10ExpressionSaIS2_EE11_S_relocateEPS2_S5_S5_RS3_.exit16.i.i.i ] - %.pre32 = phi ptr [ %.pre32.pre, %65 ], [ %.pre3234, %_ZNSt6vectorIPK10ExpressionSaIS2_EE11_S_relocateEPS2_S5_S5_RS3_.exit16.i.i.i ] store ptr %60, ptr %34, align 8, !tbaa !76 store ptr %64, ptr %35, align 8, !tbaa !73 %66 = getelementptr inbounds nuw ptr, ptr %60, i64 %58 store ptr %66, ptr %36, align 8, !tbaa !74 + %.pre32 = load ptr, ptr %31, align 8 + %.pre33 = load ptr, ptr %30, align 8 br label %_ZN13ArrayVariable9add_indexEPK10Expression.exit _ZN13ArrayVariable9add_indexEPK10Expression.exit: ; preds = %45, %_ZNSt6vectorIPK10ExpressionSaIS2_EE17_M_realloc_insertIJRKS2_EEEvN9__gnu_cxx17__normal_iteratorIPS2_S4_EEDpOT_.exit.i.i - %.pre3338 = phi ptr [ %.pre3337, %45 ], [ %.pre33, %_ZNSt6vectorIPK10ExpressionSaIS2_EE17_M_realloc_insertIJRKS2_EEEvN9__gnu_cxx17__normal_iteratorIPS2_S4_EEDpOT_.exit.i.i ] - %.pre3235 = phi ptr [ %.pre3234, %45 ], [ %.pre32, %_ZNSt6vectorIPK10ExpressionSaIS2_EE17_M_realloc_insertIJRKS2_EEEvN9__gnu_cxx17__normal_iteratorIPS2_S4_EEDpOT_.exit.i.i ] %67 = phi ptr [ %38, %45 ], [ %.pre33, %_ZNSt6vectorIPK10ExpressionSaIS2_EE17_M_realloc_insertIJRKS2_EEEvN9__gnu_cxx17__normal_iteratorIPS2_S4_EEDpOT_.exit.i.i ] %68 = phi ptr [ %39, %45 ], [ %.pre32, %_ZNSt6vectorIPK10ExpressionSaIS2_EE17_M_realloc_insertIJRKS2_EEEvN9__gnu_cxx17__normal_iteratorIPS2_S4_EEDpOT_.exit.i.i ] %69 = phi ptr [ %40, %45 ], [ %66, %_ZNSt6vectorIPK10ExpressionSaIS2_EE17_M_realloc_insertIJRKS2_EEEvN9__gnu_cxx17__normal_iteratorIPS2_S4_EEDpOT_.exit.i.i ] @@ -2418,7 +2412,7 @@ define dso_local noundef ptr @_ZN13ArrayVariable10rnd_mutateEv(ptr noundef nonnu to label %24 unwind label %.loopexit145 24: ; preds = %19 - %.pre228 = load ptr, ptr %11, align 8, !tbaa !50 + %.pre228 = load ptr, ptr %11, align 8 br i1 %23, label %25, label %_ZNSt6vectorIP8VariableSaIS1_EE9push_backERKS1_.exit 25: ; preds = %24 @@ -2483,7 +2477,7 @@ _ZNSt6vectorIP8VariableSaIS1_EE11_S_relocateEPS1_S4_S4_RS2_.exit16.i.i: ; preds 53: ; preds = %_ZNSt6vectorIP8VariableSaIS1_EE11_S_relocateEPS1_S4_S4_RS2_.exit16.i.i tail call void @_ZdlPvm(ptr noundef nonnull %35, i64 noundef %38) #22 - %.pre.pre = load ptr, ptr %11, align 8, !tbaa !50 + %.pre.pre = load ptr, ptr %11, align 8 br label %_ZNSt6vectorIP8VariableSaIS1_EE17_M_realloc_insertIJRKS1_EEEvN9__gnu_cxx17__normal_iteratorIPS1_S3_EEDpOT_.exit.i _ZNSt6vectorIP8VariableSaIS1_EE17_M_realloc_insertIJRKS1_EEEvN9__gnu_cxx17__normal_iteratorIPS1_S3_EEDpOT_.exit.i: ; preds = %53, %_ZNSt6vectorIP8VariableSaIS1_EE11_S_relocateEPS1_S4_S4_RS2_.exit16.i.i @@ -3577,7 +3571,7 @@ define dso_local void @_ZNK13ArrayVariable20build_init_recursiveEmRKSt6vectorINS br label %20 ._crit_edge: ; preds = %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLEPKc.exit41 - %.pre59 = load i64, ptr %6, align 8, !tbaa !91 + %.pre59 = load i64, ptr %6, align 8 %17 = icmp eq i64 %.pre59, 4611686018427387903 br i1 %17, label %18, label %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6appendEPKc.exit.i @@ -3765,9 +3759,9 @@ _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6appendEPKc.exit.i38: ; pre to label %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6appendEPKc.exit.i38._ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLEPKc.exit41_crit_edge unwind label %.loopexit50 _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6appendEPKc.exit.i38._ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLEPKc.exit41_crit_edge: ; preds = %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6appendEPKc.exit.i38 - %.pre = load ptr, ptr %8, align 8, !tbaa !52 + %.pre = load ptr, ptr %8, align 8 %.phi.trans.insert = getelementptr inbounds nuw i32, ptr %.pre, i64 %2 - %.pre58 = load i32, ptr %.phi.trans.insert, align 4, !tbaa !4 + %.pre58 = load i32, ptr %.phi.trans.insert, align 4 br label %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLEPKc.exit41 .loopexit50: ; preds = %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6appendEPKc.exit.i38 @@ -3888,7 +3882,7 @@ _ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i: ; store ptr %30, ptr %0, align 8, !tbaa !90 %36 = load i64, ptr %6, align 8, !tbaa !92 store i64 %36, ptr %29, align 8, !tbaa !92 - %.pre = load i64, ptr %7, align 8, !tbaa !91 + %.pre = load i64, ptr %7, align 8 br label %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2EOS4_.exit _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2EOS4_.exit: ; preds = %32, %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i @@ -4221,7 +4215,7 @@ _ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i.i %50 = load i64, ptr %43, align 8, !tbaa !92 store i64 %50, ptr %41, align 8, !tbaa !92 %.phi.trans.insert = getelementptr inbounds nuw i8, ptr %5, i64 8 - %.pre = load i64, ptr %.phi.trans.insert, align 8, !tbaa !91 + %.pre = load i64, ptr %.phi.trans.insert, align 8 br label %_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE9push_backEOS5_.exit.thread _ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE9push_backEOS5_.exit.thread: ; preds = %45, %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i.i.i.i @@ -4240,7 +4234,7 @@ _ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE9push_b to label %_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE9push_backEOS5_.exit unwind label %104 _ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE9push_backEOS5_.exit: ; preds = %55 - %.pre79 = load ptr, ptr %5, align 8, !tbaa !90 + %.pre79 = load ptr, ptr %5, align 8 %56 = getelementptr inbounds nuw i8, ptr %5, i64 16 %57 = icmp eq ptr %.pre79, %56 br i1 %57, label %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i, label %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i @@ -4306,7 +4300,7 @@ _ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i.i store ptr %78, ptr %74, align 8, !tbaa !90 %84 = load i64, ptr %67, align 8, !tbaa !92 store i64 %84, ptr %77, align 8, !tbaa !92 - %.pre80 = load i64, ptr %68, align 8, !tbaa !91 + %.pre80 = load i64, ptr %68, align 8 br label %_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE9push_backEOS5_.exit38.thread _ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE9push_backEOS5_.exit38.thread: ; preds = %80, %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i.i.i.i35 @@ -4324,7 +4318,7 @@ _ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE9push_b to label %_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE9push_backEOS5_.exit38 unwind label %116 _ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE9push_backEOS5_.exit38: ; preds = %88 - %.pre81 = load ptr, ptr %6, align 8, !tbaa !90 + %.pre81 = load ptr, ptr %6, align 8 %89 = icmp eq ptr %.pre81, %67 br i1 %89, label %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i40, label %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i39 @@ -4625,7 +4619,7 @@ _ZSt8_DestroyINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEvPT_.exit.i.i br i1 %.not.i.i.i.i, label %_ZSt8_DestroyIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_EvT_S7_RSaIT0_E.exitthread-pre-split.i, label %.lr.ph.i.i.i.i, !llvm.loop !147 _ZSt8_DestroyIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_EvT_S7_RSaIT0_E.exitthread-pre-split.i: ; preds = %_ZSt8_DestroyINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEvPT_.exit.i.i.i.i - %.pr.i = load ptr, ptr %4, align 8, !tbaa !141 + %.pr.i = load ptr, ptr %4, align 8 br label %_ZSt8_DestroyIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_EvT_S7_RSaIT0_E.exit.i _ZSt8_DestroyIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_EvT_S7_RSaIT0_E.exit.i: ; preds = %_ZSt8_DestroyIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_EvT_S7_RSaIT0_E.exitthread-pre-split.i, %197 @@ -4727,7 +4721,7 @@ _ZSt8_DestroyINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEvPT_.exit.i.i br i1 %.not.i.i.i, label %_ZSt8_DestroyIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_EvT_S7_RSaIT0_E.exitthread-pre-split, label %.lr.ph.i.i.i, !llvm.loop !147 _ZSt8_DestroyIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_EvT_S7_RSaIT0_E.exitthread-pre-split: ; preds = %_ZSt8_DestroyINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEvPT_.exit.i.i.i - %.pr = load ptr, ptr %0, align 8, !tbaa !141 + %.pr = load ptr, ptr %0, align 8 br label %_ZSt8_DestroyIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_EvT_S7_RSaIT0_E.exit _ZSt8_DestroyIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_EvT_S7_RSaIT0_E.exit: ; preds = %_ZSt8_DestroyIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_EvT_S7_RSaIT0_E.exitthread-pre-split, %1 @@ -5924,7 +5918,7 @@ _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit85: ; preds = %_ZN br i1 %146, label %31, label %._crit_edge.loopexit, !llvm.loop !157 ._crit_edge.loopexit: ; preds = %140 - %.pre = load i32, ptr %6, align 4, !tbaa !4 + %.pre = load i32, ptr %6, align 4 br label %._crit_edge ._crit_edge: ; preds = %._crit_edge.loopexit, %5 @@ -7144,7 +7138,7 @@ _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7_S_copyEPcPKcm.exit.i: ; p %286 = load ptr, ptr %12, align 8, !tbaa !90 %287 = getelementptr inbounds nuw i8, ptr %286, i64 %285 store i8 0, ptr %287, align 1, !tbaa !92 - %.pre.i = load ptr, ptr %14, align 8, !tbaa !90 + %.pre.i = load ptr, ptr %14, align 8 br label %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEOS4_.exit .thread.i: ; preds = %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i @@ -7759,7 +7753,7 @@ _ZSt8_DestroyINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEvPT_.exit.i.i br i1 %.not.i.i.i.i213, label %_ZSt8_DestroyIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_EvT_S7_RSaIT0_E.exitthread-pre-split.i, label %.lr.ph.i.i.i.i, !llvm.loop !147 _ZSt8_DestroyIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_EvT_S7_RSaIT0_E.exitthread-pre-split.i: ; preds = %_ZSt8_DestroyINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEvPT_.exit.i.i.i.i - %.pr.i = load ptr, ptr %3, align 8, !tbaa !141 + %.pr.i = load ptr, ptr %3, align 8 br label %_ZSt8_DestroyIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_EvT_S7_RSaIT0_E.exit.i _ZSt8_DestroyIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_EvT_S7_RSaIT0_E.exit.i: ; preds = %_ZSt8_DestroyIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_EvT_S7_RSaIT0_E.exitthread-pre-split.i, %_ZNSt6vectorIPK4TypeSaIS2_EED2Ev.exit @@ -8291,7 +8285,7 @@ _ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i.i %33 = load i64, ptr %26, align 8, !tbaa !92 store i64 %33, ptr %24, align 8, !tbaa !92 %.phi.trans.insert = getelementptr inbounds nuw i8, ptr %2, i64 8 - %.pre = load i64, ptr %.phi.trans.insert, align 8, !tbaa !91 + %.pre = load i64, ptr %.phi.trans.insert, align 8 br label %_ZNSt16allocator_traitsISaINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEE9constructIS5_JS5_EEEvRS6_PT_DpOT0_.exit _ZNSt16allocator_traitsISaINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEE9constructIS5_JS5_EEEvRS6_PT_DpOT0_.exit: ; preds = %28, %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i.i @@ -8331,7 +8325,7 @@ _ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i.i %46 = load i64, ptr %39, align 8, !tbaa !92, !alias.scope !204, !noalias !201 store i64 %46, ptr %37, align 8, !tbaa !92, !alias.scope !201, !noalias !204 %.phi.trans.insert.i.i.i.i.i = getelementptr inbounds nuw i8, ptr %.0911.i.i.i.i, i64 8 - %.pre.i.i.i.i.i = load i64, ptr %.phi.trans.insert.i.i.i.i.i, align 8, !tbaa !91, !alias.scope !204, !noalias !201 + %.pre.i.i.i.i.i = load i64, ptr %.phi.trans.insert.i.i.i.i.i, align 8, !alias.scope !204, !noalias !201 br label %_ZSt19__relocate_object_aINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_SaIS5_EEvPT_PT0_RT1_.exit.i.i.i.i _ZSt19__relocate_object_aINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_SaIS5_EEvPT_PT0_RT1_.exit.i.i.i.i: ; preds = %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i.i.i.i.i.i.i, %41 @@ -8379,7 +8373,7 @@ _ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i.i %62 = load i64, ptr %55, align 8, !tbaa !92, !alias.scope !211, !noalias !208 store i64 %62, ptr %53, align 8, !tbaa !92, !alias.scope !208, !noalias !211 %.phi.trans.insert.i.i.i.i.i21 = getelementptr inbounds nuw i8, ptr %.0911.i.i.i.i19, i64 8 - %.pre.i.i.i.i.i22 = load i64, ptr %.phi.trans.insert.i.i.i.i.i21, align 8, !tbaa !91, !alias.scope !211, !noalias !208 + %.pre.i.i.i.i.i22 = load i64, ptr %.phi.trans.insert.i.i.i.i.i21, align 8, !alias.scope !211, !noalias !208 br label %_ZSt19__relocate_object_aINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_SaIS5_EEvPT_PT0_RT1_.exit.i.i.i.i23 _ZSt19__relocate_object_aINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_SaIS5_EEvPT_PT0_RT1_.exit.i.i.i.i23: ; preds = %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i.i.i.i.i.i.i20, %57 diff --git a/bench/csmith/optimized/StatementGoto.ll b/bench/csmith/optimized/StatementGoto.ll index 9e9925ac7a9..aa70d66454b 100644 --- a/bench/csmith/optimized/StatementGoto.ll +++ b/bench/csmith/optimized/StatementGoto.ll @@ -249,8 +249,8 @@ _ZNSt6vectorIP5BlockSaIS1_EEC2ERKS3_.exit: ; preds = %.thread282, %35 br i1 %53, label %..thread_crit_edge, label %.thread213 ..thread_crit_edge: ; preds = %52 - %.pre = load ptr, ptr %40, align 8, !tbaa !42 - %.pre272 = load ptr, ptr %6, align 8, !tbaa !40 + %.pre = load ptr, ptr %40, align 8 + %.pre272 = load ptr, ptr %6, align 8 br label %.thread .thread: ; preds = %..thread_crit_edge, %49 @@ -325,8 +325,8 @@ _ZNSt12_Vector_baseIP5BlockSaIS1_EE13_M_deallocateEPS1_m.exit.i: ; preds = %70, 79: ; preds = %78 tail call void @llvm.memmove.p0.p0.i64(ptr align 8 %54, ptr align 8 %57, i64 %75, i1 false) - %.pre.i = load ptr, ptr %24, align 8, !tbaa !40 - %.pre28.i = load ptr, ptr %25, align 8, !tbaa !38 + %.pre.i = load ptr, ptr %24, align 8 + %.pre28.i = load ptr, ptr %25, align 8 br label %_ZSt4copyIPP5BlockS2_ET0_T_S4_S3_.exit.i _ZSt4copyIPP5BlockS2_ET0_T_S4_S3_.exit.i: ; preds = %79, %78 @@ -681,8 +681,8 @@ _ZNSt16allocator_traitsISaIPK8VariableEE8allocateERS3_m.exit.i.i.i.i149: ; preds to label %_ZNSt16allocator_traitsISaIPK8VariableEE8allocateERS3_m.exit.i.i.i.i149..noexc153_crit_edge unwind label %194 _ZNSt16allocator_traitsISaIPK8VariableEE8allocateERS3_m.exit.i.i.i.i149..noexc153_crit_edge: ; preds = %_ZNSt16allocator_traitsISaIPK8VariableEE8allocateERS3_m.exit.i.i.i.i149 - %.pre273 = load ptr, ptr %221, align 8, !tbaa !59 - %.pre274 = load ptr, ptr %222, align 8, !tbaa !59 + %.pre273 = load ptr, ptr %221, align 8 + %.pre274 = load ptr, ptr %222, align 8 %.pre275 = ptrtoint ptr %.pre274 to i64 %.pre276 = ptrtoint ptr %.pre273 to i64 %.pre278 = sub i64 %.pre275, %.pre276 @@ -1480,7 +1480,7 @@ tailrecurse.outer.backedge.sink.split: ; preds = %43, %75 %47 = ptrtoint ptr %.sink138 to i64 %48 = sub i64 %46, %47 tail call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %38, ptr nonnull align 8 %.sink138, i64 %48, i1 false) - %.pre.i.i83 = load ptr, ptr %4, align 8, !tbaa !38 + %.pre.i.i83 = load ptr, ptr %4, align 8 br label %tailrecurse.outer.backedge tailrecurse.outer.backedge: ; preds = %tailrecurse.outer.backedge.sink.split, %75, %43 @@ -1511,7 +1511,7 @@ _ZSt4moveIN9__gnu_cxx17__normal_iteratorIPP5BlockSt6vectorIS3_SaIS3_EEEES8_ET0_T %61 = ptrtoint ptr %58 to i64 %62 = sub i64 %60, %61 tail call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %38, ptr nonnull align 8 %58, i64 %62, i1 false) - %.pre.i.i79 = load ptr, ptr %4, align 8, !tbaa !38 + %.pre.i.i79 = load ptr, ptr %4, align 8 br label %tailrecurse.backedge tailrecurse.backedge: ; preds = %_ZSt4moveIN9__gnu_cxx17__normal_iteratorIPP5BlockSt6vectorIS3_SaIS3_EEEES8_ET0_T_SA_S9_.exit.i.i86, %87, %_ZSt4moveIN9__gnu_cxx17__normal_iteratorIPP5BlockSt6vectorIS3_SaIS3_EEEES8_ET0_T_SA_S9_.exit.i.i78, %57 @@ -1574,7 +1574,7 @@ _ZSt4moveIN9__gnu_cxx17__normal_iteratorIPP5BlockSt6vectorIS3_SaIS3_EEEES8_ET0_T %93 = ptrtoint ptr %90 to i64 %94 = sub i64 %92, %93 tail call void @llvm.memmove.p0.p0.i64(ptr align 8 %89, ptr nonnull align 8 %90, i64 %94, i1 false) - %.pre.i.i87 = load ptr, ptr %4, align 8, !tbaa !38 + %.pre.i.i87 = load ptr, ptr %4, align 8 br label %tailrecurse.backedge tailrecurse.outer._crit_edge: ; preds = %tailrecurse.outer.backedge, %tailrecurse.backedge, %11, %14, %25, %.critedge, %78, %20, %81, %3 @@ -1787,10 +1787,10 @@ _ZNSt12_Vector_baseIPK4FactSaIS2_EE13_M_deallocateEPS2_m.exit: ; preds = %_ZNSt6 32: ; preds = %31 tail call void @llvm.memmove.p0.p0.i64(ptr align 8 %12, ptr align 8 %6, i64 %28, i1 false) - %.pre = load ptr, ptr %1, align 8, !tbaa !101 - %.pre26 = load ptr, ptr %25, align 8, !tbaa !108 - %.pre27 = load ptr, ptr %0, align 8, !tbaa !101 - %.pre28 = load ptr, ptr %4, align 8, !tbaa !108 + %.pre = load ptr, ptr %1, align 8 + %.pre26 = load ptr, ptr %25, align 8 + %.pre27 = load ptr, ptr %0, align 8 + %.pre28 = load ptr, ptr %4, align 8 %.pre29 = ptrtoint ptr %.pre26 to i64 %.pre30 = ptrtoint ptr %.pre27 to i64 %.pre32 = sub i64 %.pre29, %.pre30 @@ -1937,7 +1937,7 @@ define linkonce_odr dso_local noundef nonnull align 1 dereferenceable(1) ptr @_Z %4 = load ptr, ptr %3, align 8, !tbaa !4 %5 = getelementptr inbounds nuw i8, ptr %0, i64 8 %.not10.i.i.i = icmp eq ptr %4, null - %.pre = load ptr, ptr %1, align 8, !tbaa !44 + %.pre = load ptr, ptr %1, align 8 br i1 %.not10.i.i.i, label %.critedge, label %.lr.ph.i.i.i .lr.ph.i.i.i: ; preds = %2, %.lr.ph.i.i.i @@ -2224,7 +2224,7 @@ _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7_S_copyEPcPKcm.exit.i: ; p %84 = load ptr, ptr %14, align 8, !tbaa !128 %85 = getelementptr inbounds nuw i8, ptr %84, i64 %83 store i8 0, ptr %85, align 1, !tbaa !124 - %.pre.i = load ptr, ptr %11, align 8, !tbaa !128 + %.pre.i = load ptr, ptr %11, align 8 br label %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEOS4_.exit .thread.i: ; preds = %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i @@ -2838,7 +2838,7 @@ _ZNSt6vectorIPK8VariableSaIS2_EE5clearEv.exit: ; preds = %.critedge to label %.critedge unwind label %.split .critedge: ; preds = %.lr.ph.split - %.pre.pre = load ptr, ptr %3, align 8, !tbaa !145 + %.pre.pre = load ptr, ptr %3, align 8 br i1 %37, label %_ZNSt6vectorIPK8VariableSaIS2_EE5clearEv.exit, label %_ZNSt6vectorIPK8VariableSaIS2_EED2Ev.exit.loopexit .split: ; preds = %.lr.ph.split @@ -3278,7 +3278,7 @@ define linkonce_odr dso_local noundef nonnull align 1 dereferenceable(1) ptr @_Z %4 = load ptr, ptr %3, align 8, !tbaa !4 %5 = getelementptr inbounds nuw i8, ptr %0, i64 8 %.not10.i.i.i = icmp eq ptr %4, null - %.pre = load ptr, ptr %1, align 8, !tbaa !44 + %.pre = load ptr, ptr %1, align 8 br i1 %.not10.i.i.i, label %.critedge, label %.lr.ph.i.i.i .lr.ph.i.i.i: ; preds = %2, %.lr.ph.i.i.i @@ -3734,8 +3734,8 @@ define linkonce_odr dso_local { ptr, ptr } @_ZNSt8_Rb_treeIPK9StatementSt4pairIK 26: ; preds = %._crit_edge.thread.i %27 = tail call noundef ptr @_ZSt18_Rb_tree_decrementPSt18_Rb_tree_node_base(ptr noundef nonnull %.019.lcssa28.i) #22 %.phi.trans.insert80 = getelementptr inbounds nuw i8, ptr %27, i64 32 - %.pre81 = load ptr, ptr %.phi.trans.insert80, align 8, !tbaa !44 - %.pre82 = load ptr, ptr %2, align 8, !tbaa !44 + %.pre81 = load ptr, ptr %.phi.trans.insert80, align 8 + %.pre82 = load ptr, ptr %2, align 8 br label %28 28: ; preds = %26, %._crit_edge.i @@ -3804,7 +3804,7 @@ define linkonce_odr dso_local { ptr, ptr } @_ZNSt8_Rb_treeIPK9StatementSt4pairIK 56: ; preds = %._crit_edge.thread.i27 %57 = tail call noundef ptr @_ZSt18_Rb_tree_decrementPSt18_Rb_tree_node_base(ptr noundef nonnull %.019.lcssa28.i28) #22 %.phi.trans.insert78 = getelementptr inbounds nuw i8, ptr %57, i64 32 - %.pre79 = load ptr, ptr %.phi.trans.insert78, align 8, !tbaa !44 + %.pre79 = load ptr, ptr %.phi.trans.insert78, align 8 br label %58 58: ; preds = %56, %._crit_edge.i18 @@ -3871,7 +3871,7 @@ define linkonce_odr dso_local { ptr, ptr } @_ZNSt8_Rb_treeIPK9StatementSt4pairIK 84: ; preds = %._crit_edge.thread.i47 %85 = tail call noundef ptr @_ZSt18_Rb_tree_decrementPSt18_Rb_tree_node_base(ptr noundef nonnull %.019.lcssa28.i48) #22 %.phi.trans.insert = getelementptr inbounds nuw i8, ptr %85, i64 32 - %.pre = load ptr, ptr %.phi.trans.insert, align 8, !tbaa !44 + %.pre = load ptr, ptr %.phi.trans.insert, align 8 br label %86 86: ; preds = %84, %._crit_edge.i38 @@ -4050,8 +4050,8 @@ define linkonce_odr dso_local { ptr, ptr } @_ZNSt8_Rb_treeIPK9StatementSt4pairIK 26: ; preds = %._crit_edge.thread.i %27 = tail call noundef ptr @_ZSt18_Rb_tree_decrementPSt18_Rb_tree_node_base(ptr noundef nonnull %.019.lcssa28.i) #22 %.phi.trans.insert80 = getelementptr inbounds nuw i8, ptr %27, i64 32 - %.pre81 = load ptr, ptr %.phi.trans.insert80, align 8, !tbaa !44 - %.pre82 = load ptr, ptr %2, align 8, !tbaa !44 + %.pre81 = load ptr, ptr %.phi.trans.insert80, align 8 + %.pre82 = load ptr, ptr %2, align 8 br label %28 28: ; preds = %26, %._crit_edge.i @@ -4120,7 +4120,7 @@ define linkonce_odr dso_local { ptr, ptr } @_ZNSt8_Rb_treeIPK9StatementSt4pairIK 56: ; preds = %._crit_edge.thread.i27 %57 = tail call noundef ptr @_ZSt18_Rb_tree_decrementPSt18_Rb_tree_node_base(ptr noundef nonnull %.019.lcssa28.i28) #22 %.phi.trans.insert78 = getelementptr inbounds nuw i8, ptr %57, i64 32 - %.pre79 = load ptr, ptr %.phi.trans.insert78, align 8, !tbaa !44 + %.pre79 = load ptr, ptr %.phi.trans.insert78, align 8 br label %58 58: ; preds = %56, %._crit_edge.i18 @@ -4187,7 +4187,7 @@ define linkonce_odr dso_local { ptr, ptr } @_ZNSt8_Rb_treeIPK9StatementSt4pairIK 84: ; preds = %._crit_edge.thread.i47 %85 = tail call noundef ptr @_ZSt18_Rb_tree_decrementPSt18_Rb_tree_node_base(ptr noundef nonnull %.019.lcssa28.i48) #22 %.phi.trans.insert = getelementptr inbounds nuw i8, ptr %85, i64 32 - %.pre = load ptr, ptr %.phi.trans.insert, align 8, !tbaa !44 + %.pre = load ptr, ptr %.phi.trans.insert, align 8 br label %86 86: ; preds = %84, %._crit_edge.i38 @@ -4281,13 +4281,12 @@ define linkonce_odr dso_local ptr @_ZNSt6vectorIP9StatementSaIS1_EE14_M_insert_r %26 = sub nsw i64 0, %25 %27 = getelementptr inbounds ptr, ptr %9, i64 %26 tail call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %27, ptr align 8 %18, i64 %24, i1 false) - %.pre.pre = load ptr, ptr %0, align 8, !tbaa !50 br label %_ZNSt6vectorIP9StatementSaIS1_EE13_M_insert_auxIS1_EEvN9__gnu_cxx17__normal_iteratorIPS1_S3_EEOT_.exit _ZNSt6vectorIP9StatementSaIS1_EE13_M_insert_auxIS1_EEvN9__gnu_cxx17__normal_iteratorIPS1_S3_EEOT_.exit: ; preds = %17, %22 - %.pre = phi ptr [ %4, %17 ], [ %.pre.pre, %22 ] %28 = load ptr, ptr %2, align 8, !tbaa !44 store ptr %28, ptr %18, align 8, !tbaa !44 + %.pre = load ptr, ptr %0, align 8 br label %53 29: ; preds = %3 @@ -4487,8 +4486,8 @@ define linkonce_odr dso_local { ptr, ptr } @_ZNSt8_Rb_treeIPK9StatementSt4pairIK 26: ; preds = %._crit_edge.thread.i %27 = tail call noundef ptr @_ZSt18_Rb_tree_decrementPSt18_Rb_tree_node_base(ptr noundef nonnull %.019.lcssa28.i) #22 %.phi.trans.insert80 = getelementptr inbounds nuw i8, ptr %27, i64 32 - %.pre81 = load ptr, ptr %.phi.trans.insert80, align 8, !tbaa !44 - %.pre82 = load ptr, ptr %2, align 8, !tbaa !44 + %.pre81 = load ptr, ptr %.phi.trans.insert80, align 8 + %.pre82 = load ptr, ptr %2, align 8 br label %28 28: ; preds = %26, %._crit_edge.i @@ -4557,7 +4556,7 @@ define linkonce_odr dso_local { ptr, ptr } @_ZNSt8_Rb_treeIPK9StatementSt4pairIK 56: ; preds = %._crit_edge.thread.i27 %57 = tail call noundef ptr @_ZSt18_Rb_tree_decrementPSt18_Rb_tree_node_base(ptr noundef nonnull %.019.lcssa28.i28) #22 %.phi.trans.insert78 = getelementptr inbounds nuw i8, ptr %57, i64 32 - %.pre79 = load ptr, ptr %.phi.trans.insert78, align 8, !tbaa !44 + %.pre79 = load ptr, ptr %.phi.trans.insert78, align 8 br label %58 58: ; preds = %56, %._crit_edge.i18 @@ -4624,7 +4623,7 @@ define linkonce_odr dso_local { ptr, ptr } @_ZNSt8_Rb_treeIPK9StatementSt4pairIK 84: ; preds = %._crit_edge.thread.i47 %85 = tail call noundef ptr @_ZSt18_Rb_tree_decrementPSt18_Rb_tree_node_base(ptr noundef nonnull %.019.lcssa28.i48) #22 %.phi.trans.insert = getelementptr inbounds nuw i8, ptr %85, i64 32 - %.pre = load ptr, ptr %.phi.trans.insert, align 8, !tbaa !44 + %.pre = load ptr, ptr %.phi.trans.insert, align 8 br label %86 86: ; preds = %84, %._crit_edge.i38 @@ -4784,8 +4783,8 @@ define linkonce_odr dso_local { ptr, ptr } @_ZNSt8_Rb_treeIPK9StatementSt4pairIK 26: ; preds = %._crit_edge.thread.i %27 = tail call noundef ptr @_ZSt18_Rb_tree_decrementPSt18_Rb_tree_node_base(ptr noundef nonnull %.019.lcssa28.i) #22 %.phi.trans.insert80 = getelementptr inbounds nuw i8, ptr %27, i64 32 - %.pre81 = load ptr, ptr %.phi.trans.insert80, align 8, !tbaa !44 - %.pre82 = load ptr, ptr %2, align 8, !tbaa !44 + %.pre81 = load ptr, ptr %.phi.trans.insert80, align 8 + %.pre82 = load ptr, ptr %2, align 8 br label %28 28: ; preds = %26, %._crit_edge.i @@ -4854,7 +4853,7 @@ define linkonce_odr dso_local { ptr, ptr } @_ZNSt8_Rb_treeIPK9StatementSt4pairIK 56: ; preds = %._crit_edge.thread.i27 %57 = tail call noundef ptr @_ZSt18_Rb_tree_decrementPSt18_Rb_tree_node_base(ptr noundef nonnull %.019.lcssa28.i28) #22 %.phi.trans.insert78 = getelementptr inbounds nuw i8, ptr %57, i64 32 - %.pre79 = load ptr, ptr %.phi.trans.insert78, align 8, !tbaa !44 + %.pre79 = load ptr, ptr %.phi.trans.insert78, align 8 br label %58 58: ; preds = %56, %._crit_edge.i18 @@ -4921,7 +4920,7 @@ define linkonce_odr dso_local { ptr, ptr } @_ZNSt8_Rb_treeIPK9StatementSt4pairIK 84: ; preds = %._crit_edge.thread.i47 %85 = tail call noundef ptr @_ZSt18_Rb_tree_decrementPSt18_Rb_tree_node_base(ptr noundef nonnull %.019.lcssa28.i48) #22 %.phi.trans.insert = getelementptr inbounds nuw i8, ptr %85, i64 32 - %.pre = load ptr, ptr %.phi.trans.insert, align 8, !tbaa !44 + %.pre = load ptr, ptr %.phi.trans.insert, align 8 br label %86 86: ; preds = %84, %._crit_edge.i38 @@ -5037,7 +5036,7 @@ _ZSt7advanceIN9__gnu_cxx17__normal_iteratorIPP8VariableSt6vectorIS3_SaIS3_EEEEmE %34 = ptrtoint ptr %32 to i64 %35 = sub i64 %6, %34 tail call void @llvm.memmove.p0.p0.i64(ptr align 8 %13, ptr align 8 %32, i64 %35, i1 false) - %.pre = load ptr, ptr %12, align 8, !tbaa !147 + %.pre = load ptr, ptr %12, align 8 br label %_ZSt22__uninitialized_copy_aIN9__gnu_cxx17__normal_iteratorIPP8VariableSt6vectorIS3_SaIS3_EEEES4_S3_ET0_T_SA_S9_RSaIT1_E.exit _ZSt22__uninitialized_copy_aIN9__gnu_cxx17__normal_iteratorIPP8VariableSt6vectorIS3_SaIS3_EEEES4_S3_ET0_T_SA_S9_RSaIT1_E.exit: ; preds = %_ZSt7advanceIN9__gnu_cxx17__normal_iteratorIPP8VariableSt6vectorIS3_SaIS3_EEEEmEvRT_T0_.exit, %33 @@ -5050,7 +5049,7 @@ _ZSt22__uninitialized_copy_aIN9__gnu_cxx17__normal_iteratorIPP8VariableSt6vector 39: ; preds = %_ZSt22__uninitialized_copy_aIN9__gnu_cxx17__normal_iteratorIPP8VariableSt6vectorIS3_SaIS3_EEEES4_S3_ET0_T_SA_S9_RSaIT1_E.exit tail call void @llvm.memmove.p0.p0.i64(ptr align 8 %38, ptr align 8 %1, i64 %19, i1 false) - %.pre74 = load ptr, ptr %12, align 8, !tbaa !147 + %.pre74 = load ptr, ptr %12, align 8 br label %_ZSt22__uninitialized_move_aIPP8VariableS2_SaIS1_EET0_T_S5_S4_RT1_.exit53 _ZSt22__uninitialized_move_aIPP8VariableS2_SaIS1_EET0_T_S5_S4_RT1_.exit53: ; preds = %_ZSt22__uninitialized_copy_aIN9__gnu_cxx17__normal_iteratorIPP8VariableSt6vectorIS3_SaIS3_EEEES4_S3_ET0_T_SA_S9_RSaIT1_E.exit, %39 diff --git a/bench/cvc5/optimized/parser.ll b/bench/cvc5/optimized/parser.ll index 162303b0ba1..96b557fd3ae 100644 --- a/bench/cvc5/optimized/parser.ll +++ b/bench/cvc5/optimized/parser.ll @@ -282,7 +282,7 @@ _ZNSt10unique_ptrIN4cvc56parser5InputESt14default_deleteIS2_EEaSEOS5_.exit: ; pr %8 = getelementptr inbounds nuw i8, ptr %7, i64 8 %9 = load ptr, ptr %8, align 8 call void %9(ptr noundef nonnull align 8 dereferenceable(8) %6) #24 - %.pr = load ptr, ptr %3, align 8, !tbaa !33 + %.pr = load ptr, ptr %3, align 8 %.not.i = icmp eq ptr %.pr, null br i1 %.not.i, label %_ZNSt10unique_ptrIN4cvc56parser5InputESt14default_deleteIS2_EED2Ev.exit, label %_ZNKSt14default_deleteIN4cvc56parser5InputEEclEPS2_.exit.i @@ -342,7 +342,7 @@ _ZNSt10unique_ptrIN4cvc56parser5InputESt14default_deleteIS2_EEaSEOS5_.exit: ; pr %9 = getelementptr inbounds nuw i8, ptr %8, i64 8 %10 = load ptr, ptr %9, align 8 call void %10(ptr noundef nonnull align 8 dereferenceable(8) %7) #24 - %.pr = load ptr, ptr %4, align 8, !tbaa !33 + %.pr = load ptr, ptr %4, align 8 %.not.i = icmp eq ptr %.pr, null br i1 %.not.i, label %_ZNSt10unique_ptrIN4cvc56parser5InputESt14default_deleteIS2_EED2Ev.exit, label %_ZNKSt14default_deleteIN4cvc56parser5InputEEclEPS2_.exit.i @@ -387,7 +387,7 @@ _ZNSt10unique_ptrIN4cvc56parser5InputESt14default_deleteIS2_EEaSEOS5_.exit: ; pr %9 = getelementptr inbounds nuw i8, ptr %8, i64 8 %10 = load ptr, ptr %9, align 8 call void %10(ptr noundef nonnull align 8 dereferenceable(8) %7) #24 - %.pr = load ptr, ptr %4, align 8, !tbaa !33 + %.pr = load ptr, ptr %4, align 8 %.not.i = icmp eq ptr %.pr, null br i1 %.not.i, label %_ZNSt10unique_ptrIN4cvc56parser5InputESt14default_deleteIS2_EED2Ev.exit, label %_ZNKSt14default_deleteIN4cvc56parser5InputEEclEPS2_.exit.i @@ -666,15 +666,18 @@ define hidden void @_ZN4cvc56parser6Parser8nextTermEv(ptr dead_on_unwind noalias %27 = load i32, ptr %24, align 4, !tbaa !51 %28 = add nsw i32 %27, 1 store i32 %28, ptr %24, align 4, !tbaa !51 - br label %_ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE15_M_add_ref_copyEv.exit.i.i.i.i + br label %_ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE15_M_add_ref_copyEv.exitthread-pre-split.i.i.i.i 29: ; preds = %23 %30 = atomicrmw volatile add ptr %24, i32 1 acq_rel, align 4 - %.pr.pre.i.i.i.i = load ptr, ptr %18, align 8, !tbaa !50 + br label %_ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE15_M_add_ref_copyEv.exitthread-pre-split.i.i.i.i + +_ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE15_M_add_ref_copyEv.exitthread-pre-split.i.i.i.i: ; preds = %29, %26 + %.pr.i.i.i.i = load ptr, ptr %18, align 8 br label %_ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE15_M_add_ref_copyEv.exit.i.i.i.i -_ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE15_M_add_ref_copyEv.exit.i.i.i.i: ; preds = %29, %26, %22 - %31 = phi ptr [ %21, %22 ], [ %21, %26 ], [ %.pr.pre.i.i.i.i, %29 ] +_ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE15_M_add_ref_copyEv.exit.i.i.i.i: ; preds = %_ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE15_M_add_ref_copyEv.exitthread-pre-split.i.i.i.i, %22 + %31 = phi ptr [ %.pr.i.i.i.i, %_ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE15_M_add_ref_copyEv.exitthread-pre-split.i.i.i.i ], [ %21, %22 ] %.not8.i.i.i.i = icmp eq ptr %31, null br i1 %.not8.i.i.i.i, label %_ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE10_M_releaseEv.exit.i.i.i.i, label %32 diff --git a/bench/darktable/optimized/cr3_parser.ll b/bench/darktable/optimized/cr3_parser.ll index 1e39b843aa0..1a8ac240532 100644 --- a/bench/darktable/optimized/cr3_parser.ll +++ b/bench/darktable/optimized/cr3_parser.ll @@ -1174,8 +1174,9 @@ define noundef range(i32 -14, 2) i32 @_ZN6LibRaw8parseCR3ExxRsPcS0_S0_(ptr nound %83 = getelementptr inbounds nuw i8, ptr %16, i64 7 %84 = getelementptr inbounds nuw i8, ptr %0, i64 381636 %invariant.gep = getelementptr inbounds nuw i8, ptr %0, i64 382104 - %invariant.gep646 = getelementptr inbounds nuw i8, ptr %0, i64 382056 - %invariant.gep648 = getelementptr inbounds nuw i8, ptr %0, i64 382080 + %invariant.gep645 = getelementptr inbounds nuw i8, ptr %0, i64 382112 + %invariant.gep647 = getelementptr inbounds nuw i8, ptr %0, i64 382056 + %invariant.gep649 = getelementptr inbounds nuw i8, ptr %0, i64 382080 br label %85 85: ; preds = %.lr.ph514, %689 @@ -2097,8 +2098,8 @@ _ZN6LibRaw5sgetnEiPh.exit: ; preds = %.lr.ph.i .lr.ph500.preheader: ; preds = %579 %.idx637 = shl nsw i64 %583, 7 - %gep649 = getelementptr i8, ptr %invariant.gep648, i64 %.idx637 - store i32 %577, ptr %gep649, align 8, !tbaa !17 + %gep650 = getelementptr i8, ptr %invariant.gep649, i64 %.idx637 + store i32 %577, ptr %gep650, align 8, !tbaa !17 %wide.trip.count612 = zext nneg i32 %577 to i64 br label %.lr.ph500 @@ -2243,8 +2244,8 @@ _ZN6LibRaw5sgetnEiPh.exit: ; preds = %.lr.ph.i .lr.ph486.preheader: ; preds = %649 %.idx635 = shl nsw i64 %654, 7 - %gep645 = getelementptr i8, ptr %invariant.gep, i64 %.idx635 - store i32 %647, ptr %gep645, align 8, !tbaa !15 + %gep644 = getelementptr i8, ptr %invariant.gep, i64 %.idx635 + store i32 %647, ptr %gep644, align 8, !tbaa !15 %wide.trip.count602 = zext nneg i32 %647 to i64 br label %.lr.ph486 @@ -2268,18 +2269,21 @@ _ZN6LibRaw5sgetnEiPh.exit: ; preds = %.lr.ph.i br i1 %exitcond603.not, label %._crit_edge, label %.lr.ph486, !llvm.loop !156 ._crit_edge: ; preds = %.lr.ph486 + %.phi.trans.insert632.idx = shl nsw i64 %662, 7 + %gep646 = getelementptr i8, ptr %invariant.gep645, i64 %.phi.trans.insert632.idx + %.pre = load ptr, ptr %gep646, align 8 %gep581 = getelementptr i8, ptr %invariant.gep580, i64 %.idx374 store i32 %647, ptr %gep581, align 8, !tbaa !15 - %665 = load i64, ptr %663, align 8, !tbaa !19 + %665 = load i64, ptr %.pre, align 8, !tbaa !19 %.idx636 = shl nsw i64 %662, 7 - %gep647 = getelementptr i8, ptr %invariant.gep646, i64 %.idx636 - store i64 %665, ptr %gep647, align 8, !tbaa !28 + %gep648 = getelementptr i8, ptr %invariant.gep647, i64 %.idx636 + store i64 %665, ptr %gep648, align 8, !tbaa !28 br label %.thread455thread-pre-split .thread455thread-pre-split: ; preds = %.lr.ph500, %398, %254, %429, %601, %637, %569, %455, %468, %_ZN6LibRaw5sgetnEiPh.exit, %457, %396, %.loopexit, %248, %260, %432, %276, %337, %349, %366, %._crit_edge, %438, %._crit_edge491, %615 %.1267.ph = phi i64 [ %.0266, %615 ], [ %.0266, %._crit_edge491 ], [ %.0266, %438 ], [ 82, %432 ], [ 12, %260 ], [ 16, %248 ], [ 16, %254 ], [ %.0266, %276 ], [ %.0266, %337 ], [ %.0266, %349 ], [ %.0266, %366 ], [ %.0266, %396 ], [ %.2268, %429 ], [ %.0266, %455 ], [ %.0266, %_ZN6LibRaw5sgetnEiPh.exit ], [ %.0266, %468 ], [ %.0266, %457 ], [ %.0266, %569 ], [ %.0266, %601 ], [ %.0266, %637 ], [ %.0266, %._crit_edge ], [ %.0266, %.loopexit ], [ %.0266, %398 ], [ %.0266, %.lr.ph500 ] %.1251.ph = phi i16 [ %.0250433, %615 ], [ %.0250433, %._crit_edge491 ], [ %.0250433, %438 ], [ %.0250433, %432 ], [ %.0250433, %260 ], [ 1, %248 ], [ %.0250433, %254 ], [ %.0250433, %276 ], [ %.0250433, %337 ], [ %.0250433, %349 ], [ %.0250433, %366 ], [ %.0250433, %396 ], [ %.2, %429 ], [ %.0250433, %455 ], [ %.0250433, %_ZN6LibRaw5sgetnEiPh.exit ], [ %.0250433, %468 ], [ %.0250433, %457 ], [ %.0250433, %569 ], [ %.0250433, %601 ], [ %.0250433, %637 ], [ %.0250433, %._crit_edge ], [ %.0250433, %.loopexit ], [ %.0250433, %398 ], [ %.0250433, %.lr.ph500 ] - %.pr = load i16, ptr %5, align 2, !tbaa !138 + %.pr = load i16, ptr %5, align 2 br label %.thread455 .thread455: ; preds = %.thread455thread-pre-split, %449, %563 @@ -2344,7 +2348,7 @@ _ZN6LibRaw5sgetnEiPh.exit: ; preds = %.lr.ph.i .thread435.loopexit: ; preds = %649, %641, %579, %571, %358, %362, %364, %361, %341, %345, %347, %344, %325, %329, %331, %328, %264, %268, %270, %267, %618, %621, %436, %421, %401, %145, %140, %137, %138, %689, %241, %685 %.2258.ph = phi i32 [ %688, %685 ], [ %.1257, %241 ], [ %.12, %689 ], [ 0, %138 ], [ 0, %137 ], [ -2, %140 ], [ -3, %145 ], [ -7, %401 ], [ -8, %421 ], [ -7, %436 ], [ -10, %621 ], [ -10, %618 ], [ -4, %267 ], [ -4, %270 ], [ -4, %268 ], [ -4, %264 ], [ -5, %328 ], [ -5, %331 ], [ -5, %329 ], [ -5, %325 ], [ -6, %344 ], [ -6, %347 ], [ -6, %345 ], [ -6, %341 ], [ -6, %361 ], [ -6, %364 ], [ -6, %362 ], [ -6, %358 ], [ -9, %571 ], [ -9, %579 ], [ -11, %641 ], [ -11, %649 ] - %.pre633 = load i16, ptr %3, align 2, !tbaa !138 + %.pre633 = load i16, ptr %3, align 2 %692 = add i16 %.pre633, -1 br label %.thread435 diff --git a/bench/darktable/optimized/exr.ll b/bench/darktable/optimized/exr.ll index 92d3466b35a..3cd9831be40 100644 --- a/bench/darktable/optimized/exr.ll +++ b/bench/darktable/optimized/exr.ll @@ -1783,7 +1783,7 @@ _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7_S_copyEPcPKcm.exit.i: ; p %592 = load ptr, ptr %47, align 8, !tbaa !47 %593 = getelementptr inbounds nuw i8, ptr %592, i64 %591 store i8 0, ptr %593, align 1, !tbaa !19 - %.pre.i = load ptr, ptr %48, align 8, !tbaa !47 + %.pre.i = load ptr, ptr %48, align 8 br label %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEOS4_.exit .thread.i: ; preds = %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i @@ -1960,7 +1960,7 @@ _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7_S_copyEPcPKcm.exit.i371: %649 = load ptr, ptr %47, align 8, !tbaa !47 %650 = getelementptr inbounds nuw i8, ptr %649, i64 %648 store i8 0, ptr %650, align 1, !tbaa !19 - %.pre.i372 = load ptr, ptr %49, align 8, !tbaa !47 + %.pre.i372 = load ptr, ptr %49, align 8 br label %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEOS4_.exit375 .thread.i374: ; preds = %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i373 @@ -3355,15 +3355,18 @@ _ZN7Imf_2_514TypedAttributeINS_4BlobEE4castERKNS_9AttributeE.exit: ; preds = %2 %21 = load i32, ptr %18, align 4, !tbaa !23 %22 = add nsw i32 %21, 1 store i32 %22, ptr %18, align 4, !tbaa !23 - br label %_ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE15_M_add_ref_copyEv.exit.i.i.i.i + br label %_ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE15_M_add_ref_copyEv.exitthread-pre-split.i.i.i.i 23: ; preds = %17 %24 = atomicrmw volatile add ptr %18, i32 1 acq_rel, align 4 - %.pr.pre.i.i.i.i = load ptr, ptr %12, align 8, !tbaa !30 + br label %_ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE15_M_add_ref_copyEv.exitthread-pre-split.i.i.i.i + +_ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE15_M_add_ref_copyEv.exitthread-pre-split.i.i.i.i: ; preds = %23, %20 + %.pr.i.i.i.i = load ptr, ptr %12, align 8 br label %_ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE15_M_add_ref_copyEv.exit.i.i.i.i -_ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE15_M_add_ref_copyEv.exit.i.i.i.i: ; preds = %23, %20, %16 - %25 = phi ptr [ %15, %16 ], [ %15, %20 ], [ %.pr.pre.i.i.i.i, %23 ] +_ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE15_M_add_ref_copyEv.exit.i.i.i.i: ; preds = %_ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE15_M_add_ref_copyEv.exitthread-pre-split.i.i.i.i, %16 + %25 = phi ptr [ %.pr.i.i.i.i, %_ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE15_M_add_ref_copyEv.exitthread-pre-split.i.i.i.i ], [ %15, %16 ] %.not8.i.i.i.i = icmp eq ptr %25, null br i1 %.not8.i.i.i.i, label %_ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE10_M_releaseEv.exit.i.i.i.i, label %26 diff --git a/bench/diesel-rs/optimized/6qvzky2suxi9qri.ll b/bench/diesel-rs/optimized/6qvzky2suxi9qri.ll index 21b47e46929..9f13f5bcb64 100644 --- a/bench/diesel-rs/optimized/6qvzky2suxi9qri.ll +++ b/bench/diesel-rs/optimized/6qvzky2suxi9qri.ll @@ -680,8 +680,8 @@ define hidden void @_ZN13dsl_auto_type9auto_type14auto_type_impl17h3d135053200db br i1 %253, label %312, label %.backedge389 .backedge389: ; preds = %251, %317 - %.pre = load ptr, ptr %59, align 8 - %.pre392 = load ptr, ptr %240, align 8 + %.pre = load ptr, ptr %59, align 8, !nonnull !4, !align !13 + %.pre392 = load ptr, ptr %240, align 8, !nonnull !4, !align !11 br label %241 254: ; preds = %250 @@ -712,12 +712,12 @@ define hidden void @_ZN13dsl_auto_type9auto_type14auto_type_impl17h3d135053200db br i1 %268, label %269, label %272 269: ; preds = %267 - %270 = load i64, ptr %.sroa.453.0310, align 8, !range !13, !noundef !4 + %270 = load i64, ptr %.sroa.453.0310, align 8, !range !14, !noundef !4 %271 = icmp eq i64 %270, 20 br i1 %271, label %275, label %280 272: ; preds = %267 - %273 = load i64, ptr %266, align 8, !range !13, !noundef !4 + %273 = load i64, ptr %266, align 8, !range !14, !noundef !4 %274 = icmp eq i64 %273, 18 br i1 %274, label %304, label %.backedge383.backedge @@ -736,7 +736,7 @@ define hidden void @_ZN13dsl_auto_type9auto_type14auto_type_impl17h3d135053200db to label %299 unwind label %.loopexit.split-lp 281: ; preds = %275 - %282 = load i64, ptr %279, align 8, !range !14, !noundef !4 + %282 = load i64, ptr %279, align 8, !range !15, !noundef !4 %283 = icmp eq i64 %282, 29 br i1 %283, label %285, label %280 @@ -1157,7 +1157,7 @@ define hidden void @_ZN13dsl_auto_type9auto_type14auto_type_impl17h3d135053200db to label %402 unwind label %399 398: ; preds = %402 - %.pr = load i64, ptr %29, align 8 + %.pr = load i64, ptr %29, align 8, !range !10 %.not232 = icmp eq i64 %.pr, -9223372036854775808 br i1 %.not232, label %.thread342, label %.backedge.backedge @@ -1653,7 +1653,7 @@ define void @"_ZN96_$LT$dsl_auto_type..auto_type..DeriveParameters$u20$as$u20$da br i1 %60, label %64, label %63 61: ; preds = %56 - %62 = load i64, ptr %54, align 8, !range !15, !noundef !4 + %62 = load i64, ptr %54, align 8, !range !16, !noundef !4 %.not = icmp eq i64 %62, 41 br i1 %.not, label %120, label %116 @@ -1862,7 +1862,7 @@ define void @"_ZN96_$LT$dsl_auto_type..auto_type..DeriveParameters$u20$as$u20$da 116: ; preds = %61 store ptr %54, ptr %39, align 8 - %117 = load i64, ptr %54, align 8, !range !16, !noundef !4 + %117 = load i64, ptr %54, align 8, !range !17, !noundef !4 %118 = add nsw i64 %117, -39 %switch = icmp ult i64 %118, 2 %. = select i1 %switch, i64 8, i64 176 @@ -2548,7 +2548,8 @@ attributes #9 = { noreturn } !10 = !{i64 0, i64 -9223372036854775807} !11 = !{i64 8} !12 = !{i64 0, i64 17} -!13 = !{i64 0, i64 22} -!14 = !{i64 0, i64 39} -!15 = !{i64 0, i64 42} -!16 = !{i64 0, i64 41} +!13 = !{i64 1} +!14 = !{i64 0, i64 22} +!15 = !{i64 0, i64 39} +!16 = !{i64 0, i64 42} +!17 = !{i64 0, i64 41} diff --git a/bench/double_conversion/optimized/string-to-double.ll b/bench/double_conversion/optimized/string-to-double.ll index baa9bf5181b..4e9349aae55 100644 --- a/bench/double_conversion/optimized/string-to-double.ll +++ b/bench/double_conversion/optimized/string-to-double.ll @@ -55,7 +55,7 @@ define linkonce_odr noundef double @_ZNK17double_conversion23StringToDoubleConve br i1 %or.cond.not, label %._crit_edge533, label %.lr.ph.i ._crit_edge533: ; preds = %25 - %.pre = load i8, ptr %1, align 1, !tbaa !15 + %.pre = load i8, ptr %1, align 1 br label %41 .lr.ph.i: ; preds = %25, %33 @@ -216,7 +216,7 @@ _ZN17double_conversion12_GLOBAL__N_121ConsumeFirstCharacterEcPKcb.exit: ; preds br i1 %82, label %83, label %_ZN17double_conversion12_GLOBAL__N_121ConsumeFirstCharacterEcPKcb.exit._crit_edge _ZN17double_conversion12_GLOBAL__N_121ConsumeFirstCharacterEcPKcb.exit._crit_edge: ; preds = %_ZN17double_conversion12_GLOBAL__N_121ConsumeFirstCharacterEcPKcb.exit - %.pre535.pre = load ptr, ptr %6, align 8, !tbaa !3 + %.pre535.pre = load ptr, ptr %6, align 8 br label %112 83: ; preds = %_ZN17double_conversion12_GLOBAL__N_121ConsumeFirstCharacterEcPKcb.exit @@ -339,7 +339,7 @@ _ZN17double_conversion12_GLOBAL__N_121ConsumeFirstCharacterEcPKcb.exit260: ; pre br i1 %135, label %136, label %_ZN17double_conversion12_GLOBAL__N_121ConsumeFirstCharacterEcPKcb.exit260._crit_edge _ZN17double_conversion12_GLOBAL__N_121ConsumeFirstCharacterEcPKcb.exit260._crit_edge: ; preds = %_ZN17double_conversion12_GLOBAL__N_121ConsumeFirstCharacterEcPKcb.exit260 - %.pre534 = load ptr, ptr %6, align 8, !tbaa !3 + %.pre534 = load ptr, ptr %6, align 8 br label %165 136: ; preds = %_ZN17double_conversion12_GLOBAL__N_121ConsumeFirstCharacterEcPKcb.exit260 @@ -436,7 +436,7 @@ _ZN17double_conversionL7isDigitEii.exit.thread.i: ; preds = %169 br i1 %179, label %_ZN17double_conversionL7AdvanceIPKcEEbPT_tiRS3_.exit.threadthread-pre-split, label %180 180: ; preds = %177 - %181 = load i8, ptr %174, align 1, !tbaa !15 + %181 = load i8, ptr %174, align 1 %182 = sext i8 %181 to i32 %183 = icmp eq i32 %182, %172 br i1 %183, label %184, label %_ZN17double_conversionL7AdvanceIPKcEEbPT_tiRS3_.exit.thread @@ -461,7 +461,7 @@ _ZN17double_conversionL7AdvanceIPKcEEbPT_tiRS3_.exit.thread360: ; preds = %_ZN17 _ZN17double_conversionL7AdvanceIPKcEEbPT_tiRS3_.exit.threadthread-pre-split: ; preds = %176, %177, %_ZN17double_conversionL7isDigitEii.exit30.thread.i, %184 %.promoted443.ph = phi ptr [ %174, %176 ], [ %174, %177 ], [ %178, %_ZN17double_conversionL7isDigitEii.exit30.thread.i ], [ %174, %184 ] - %.pre536.pr = load i8, ptr %.promoted443.ph, align 1, !tbaa !15 + %.pre536.pr = load i8, ptr %.promoted443.ph, align 1 br label %_ZN17double_conversionL7AdvanceIPKcEEbPT_tiRS3_.exit.thread _ZN17double_conversionL7AdvanceIPKcEEbPT_tiRS3_.exit.thread: ; preds = %_ZN17double_conversionL7AdvanceIPKcEEbPT_tiRS3_.exit.threadthread-pre-split, %180 @@ -604,7 +604,7 @@ _ZN17double_conversionL7isDigitEii.exit.thread.i285: ; preds = %.lr.ph, %_ZN17do 243: ; preds = %_ZN17double_conversionL7isDigitEii.exit.thread.i285 %244 = getelementptr inbounds nuw i8, ptr %240, i64 2 %245 = icmp ne ptr %244, %12 - %.pre537 = load i8, ptr %241, align 1, !tbaa !15 + %.pre537 = load i8, ptr %241, align 1 %246 = sext i8 %.pre537 to i32 %247 = icmp eq i32 %246, %172 %or.cond582 = select i1 %245, i1 %247, i1 false @@ -642,7 +642,7 @@ _ZN17double_conversionL7AdvanceIPKcEEbPT_tiRS3_.exit289.thread: ; preds = %_ZN17 store ptr %.lcssa444, ptr %6, align 8 %262 = trunc i32 %190 to i8 %263 = lshr i8 %262, 1 - %.pre539 = load i8, ptr %.lcssa444, align 1, !tbaa !15 + %.pre539 = load i8, ptr %.lcssa444, align 1 br label %.critedge227 .critedge227: ; preds = %165, %._crit_edge @@ -801,8 +801,8 @@ _ZN17double_conversionL7isDigitEii.exit.thread.i294: ; preds = %299 br label %.thread368 336: ; preds = %327 - %.promoted467.pre = load ptr, ptr %6, align 8, !tbaa !3 - %337 = load i8, ptr %.promoted467.pre, align 1, !tbaa !15 + %.promoted467.pre = load ptr, ptr %6, align 8 + %337 = load i8, ptr %.promoted467.pre, align 1 %338 = icmp eq i8 %337, 48 %or.cond583 = select i1 %319, i1 %338, i1 false br i1 %or.cond583, label %.lr.ph465, label %.loopexit @@ -1318,7 +1318,7 @@ define linkonce_odr noundef double @_ZNK17double_conversion23StringToDoubleConve br i1 %or.cond.not, label %._crit_edge468, label %.lr.ph.i ._crit_edge468: ; preds = %25 - %.pre = load i16, ptr %1, align 2, !tbaa !40 + %.pre = load i16, ptr %1, align 2 br label %46 .lr.ph.i: ; preds = %25, %.loopexit.i @@ -1509,7 +1509,7 @@ _ZN17double_conversion12_GLOBAL__N_121ConsumeFirstCharacterEcPKcb.exit: ; preds br i1 %94, label %95, label %_ZN17double_conversion12_GLOBAL__N_121ConsumeFirstCharacterEcPKcb.exit._crit_edge _ZN17double_conversion12_GLOBAL__N_121ConsumeFirstCharacterEcPKcb.exit._crit_edge: ; preds = %_ZN17double_conversion12_GLOBAL__N_121ConsumeFirstCharacterEcPKcb.exit - %.pre474.pre = load ptr, ptr %6, align 8, !tbaa !38 + %.pre474.pre = load ptr, ptr %6, align 8 br label %121 95: ; preds = %_ZN17double_conversion12_GLOBAL__N_121ConsumeFirstCharacterEcPKcb.exit @@ -1543,7 +1543,7 @@ _ZN17double_conversion12_GLOBAL__N_121ConsumeFirstCharacterEcPKcb.exit._crit_edg br i1 %109, label %110, label %._crit_edge469 ._crit_edge469: ; preds = %108 - %.pre470 = load ptr, ptr %6, align 8, !tbaa !38 + %.pre470 = load ptr, ptr %6, align 8 br label %113 110: ; preds = %108 @@ -1619,7 +1619,7 @@ _ZN17double_conversion12_GLOBAL__N_121ConsumeFirstCharacterEcPKcb.exit255: ; pre br i1 %145, label %146, label %_ZN17double_conversion12_GLOBAL__N_121ConsumeFirstCharacterEcPKcb.exit255._crit_edge _ZN17double_conversion12_GLOBAL__N_121ConsumeFirstCharacterEcPKcb.exit255._crit_edge: ; preds = %_ZN17double_conversion12_GLOBAL__N_121ConsumeFirstCharacterEcPKcb.exit255 - %.pre473 = load ptr, ptr %6, align 8, !tbaa !38 + %.pre473 = load ptr, ptr %6, align 8 br label %172 146: ; preds = %_ZN17double_conversion12_GLOBAL__N_121ConsumeFirstCharacterEcPKcb.exit255 @@ -1653,7 +1653,7 @@ _ZN17double_conversion12_GLOBAL__N_121ConsumeFirstCharacterEcPKcb.exit255._crit_ br i1 %160, label %161, label %._crit_edge471 ._crit_edge471: ; preds = %159 - %.pre472 = load ptr, ptr %6, align 8, !tbaa !38 + %.pre472 = load ptr, ptr %6, align 8 br label %164 161: ; preds = %159 @@ -1685,6 +1685,7 @@ _ZN17double_conversion12_GLOBAL__N_121ConsumeFirstCharacterEcPKcb.exit255._crit_ %178 = load i16, ptr %177, align 8, !tbaa !27 %179 = icmp eq i16 %178, 0 %180 = getelementptr inbounds nuw i8, ptr %173, i64 2 + store ptr %180, ptr %6, align 8, !tbaa !38 %181 = icmp eq ptr %180, %12 br i1 %179, label %182, label %_ZN17double_conversionL7isDigitEii.exit.thread.i @@ -1700,7 +1701,7 @@ _ZN17double_conversionL7isDigitEii.exit.thread.i: ; preds = %176 br i1 %185, label %_ZN17double_conversionL7AdvanceIPKtEEbPT_tiRS3_.exit.threadthread-pre-split, label %186 186: ; preds = %183 - %187 = load i16, ptr %180, align 2, !tbaa !40 + %187 = load i16, ptr %180, align 2 %188 = icmp eq i16 %187, %178 br i1 %188, label %189, label %_ZN17double_conversionL7AdvanceIPKtEEbPT_tiRS3_.exit.thread @@ -1708,20 +1709,25 @@ _ZN17double_conversionL7isDigitEii.exit.thread.i: ; preds = %176 %190 = load i16, ptr %184, align 2, !tbaa !40 %191 = add i16 %190, -48 %or.cond19.i26.i = icmp ult i16 %191, 10 - br i1 %or.cond19.i26.i, label %_ZN17double_conversionL7AdvanceIPKtEEbPT_tiRS3_.exit.thread, label %_ZN17double_conversionL7AdvanceIPKtEEbPT_tiRS3_.exit.threadthread-pre-split + br i1 %or.cond19.i26.i, label %_ZN17double_conversionL7isDigitEii.exit30.thread.i, label %_ZN17double_conversionL7AdvanceIPKtEEbPT_tiRS3_.exit.threadthread-pre-split + +_ZN17double_conversionL7isDigitEii.exit30.thread.i: ; preds = %189 + store ptr %184, ptr %6, align 8, !tbaa !38 + br label %_ZN17double_conversionL7AdvanceIPKtEEbPT_tiRS3_.exit.threadthread-pre-split _ZN17double_conversionL7AdvanceIPKtEEbPT_tiRS3_.exit.thread314: ; preds = %_ZN17double_conversionL7isDigitEii.exit.thread.i, %182 store i32 %2, ptr %4, align 4, !tbaa !8 %192 = select i1 %.0180, double -0.000000e+00, double 0.000000e+00 br label %.thread -_ZN17double_conversionL7AdvanceIPKtEEbPT_tiRS3_.exit.threadthread-pre-split: ; preds = %182, %183, %189 - %.pre475.pr = load i16, ptr %180, align 2, !tbaa !40 +_ZN17double_conversionL7AdvanceIPKtEEbPT_tiRS3_.exit.threadthread-pre-split: ; preds = %182, %183, %_ZN17double_conversionL7isDigitEii.exit30.thread.i, %189 + %.promoted393.ph = phi ptr [ %180, %182 ], [ %180, %183 ], [ %184, %_ZN17double_conversionL7isDigitEii.exit30.thread.i ], [ %180, %189 ] + %.pre475.pr = load i16, ptr %.promoted393.ph, align 2 br label %_ZN17double_conversionL7AdvanceIPKtEEbPT_tiRS3_.exit.thread -_ZN17double_conversionL7AdvanceIPKtEEbPT_tiRS3_.exit.thread: ; preds = %189, %_ZN17double_conversionL7AdvanceIPKtEEbPT_tiRS3_.exit.threadthread-pre-split, %186 - %.pre475 = phi i16 [ %.pre475.pr, %_ZN17double_conversionL7AdvanceIPKtEEbPT_tiRS3_.exit.threadthread-pre-split ], [ %187, %186 ], [ %190, %189 ] - %.promoted393 = phi ptr [ %180, %_ZN17double_conversionL7AdvanceIPKtEEbPT_tiRS3_.exit.threadthread-pre-split ], [ %180, %186 ], [ %184, %189 ] +_ZN17double_conversionL7AdvanceIPKtEEbPT_tiRS3_.exit.thread: ; preds = %_ZN17double_conversionL7AdvanceIPKtEEbPT_tiRS3_.exit.threadthread-pre-split, %186 + %.pre475 = phi i16 [ %.pre475.pr, %_ZN17double_conversionL7AdvanceIPKtEEbPT_tiRS3_.exit.threadthread-pre-split ], [ %187, %186 ] + %.promoted393 = phi ptr [ %.promoted393.ph, %_ZN17double_conversionL7AdvanceIPKtEEbPT_tiRS3_.exit.threadthread-pre-split ], [ %180, %186 ] %193 = load i32, ptr %0, align 8, !tbaa !10 %194 = and i32 %193, 128 %.not218 = icmp eq i32 %194, 0 @@ -1836,7 +1842,7 @@ _ZN17double_conversionL7isDigitEii.exit.thread.i260: ; preds = %.lr.ph, %_ZN17do 239: ; preds = %_ZN17double_conversionL7isDigitEii.exit.thread.i260 %240 = getelementptr inbounds nuw i8, ptr %236, i64 4 %241 = icmp ne ptr %240, %12 - %.pre476 = load i16, ptr %237, align 2, !tbaa !40 + %.pre476 = load i16, ptr %237, align 2 %242 = icmp eq i16 %.pre476, %178 %or.cond529 = select i1 %241, i1 %242, i1 false br i1 %or.cond529, label %243, label %_ZN17double_conversionL7AdvanceIPKtEEbPT_tiRS3_.exit264 @@ -1871,7 +1877,7 @@ _ZN17double_conversionL7AdvanceIPKtEEbPT_tiRS3_.exit264.thread: ; preds = %_ZN17 store ptr %.lcssa394, ptr %6, align 8 %256 = trunc i32 %193 to i8 %257 = lshr i8 %256, 1 - %.pre478 = load i16, ptr %.lcssa394, align 2, !tbaa !40 + %.pre478 = load i16, ptr %.lcssa394, align 2 br label %.critedge227 .critedge227: ; preds = %172, %._crit_edge @@ -2023,8 +2029,8 @@ _ZN17double_conversionL7isDigitEii.exit.thread.i269: ; preds = %293 br label %.thread322 325: ; preds = %316 - %.promoted417.pre = load ptr, ptr %6, align 8, !tbaa !38 - %326 = load i16, ptr %.promoted417.pre, align 2, !tbaa !40 + %.promoted417.pre = load ptr, ptr %6, align 8 + %326 = load i16, ptr %.promoted417.pre, align 2 %327 = icmp eq i16 %326, 48 %or.cond530 = select i1 %308, i1 %327, i1 false br i1 %or.cond530, label %.lr.ph415, label %.loopexit @@ -2349,7 +2355,7 @@ _ZN17double_conversionL7AdvanceIPKtEEbPT_tiRS3_.exit273.thread: ; preds = %_ZN17 br i1 %462, label %_ZN17double_conversionL7AdvanceIPKtEEbPT_tiRS3_.exit273.thread..thread332_crit_edge, label %476 _ZN17double_conversionL7AdvanceIPKtEEbPT_tiRS3_.exit273.thread..thread332_crit_edge: ; preds = %_ZN17double_conversionL7AdvanceIPKtEEbPT_tiRS3_.exit273.thread - %.pre481 = load ptr, ptr %6, align 8, !tbaa !38 + %.pre481 = load ptr, ptr %6, align 8 br label %.thread332 .thread332: ; preds = %_ZN17double_conversionL7AdvanceIPKtEEbPT_tiRS3_.exit273.thread..thread332_crit_edge, %395, %315 @@ -3595,7 +3601,7 @@ _ZN17double_conversionL7AdvanceIPKcEEbPT_tiRS3_.exit175: ; preds = %_ZN17double_ %.1130 = phi i8 [ %.0129, %154 ], [ %.0129, %_ZN17double_conversionL7AdvanceIPKcEEbPT_tiRS3_.exit226 ], [ %.0129, %163 ], [ %.0129, %166 ], [ %.0129, %switch.early.test349 ], [ %.1130.ph, %_ZN17double_conversionL7AdvanceIPKcEEbPT_tiRS3_.exit175.sink.split ] %.2124 = phi i32 [ %spec.select148, %154 ], [ %spec.select148, %_ZN17double_conversionL7AdvanceIPKcEEbPT_tiRS3_.exit226 ], [ %spec.select148, %163 ], [ %spec.select148, %166 ], [ %spec.select148, %switch.early.test349 ], [ %.2124.ph470, %_ZN17double_conversionL7AdvanceIPKcEEbPT_tiRS3_.exit175.sink.split ] %.1117 = phi i64 [ %71, %154 ], [ %71, %_ZN17double_conversionL7AdvanceIPKcEEbPT_tiRS3_.exit226 ], [ %71, %163 ], [ %71, %166 ], [ %71, %switch.early.test349 ], [ %.1117.ph471, %_ZN17double_conversionL7AdvanceIPKcEEbPT_tiRS3_.exit175.sink.split ] - %.pre = load i8, ptr %176, align 1, !tbaa !15 + %.pre = load i8, ptr %176, align 1 br label %42 .thread314: ; preds = %55, %55 @@ -5525,7 +5531,7 @@ _ZN17double_conversionL7AdvanceIPKtEEbPT_tiRS3_.exit177: ; preds = %_ZN17double_ %.1130 = phi i8 [ %.0129, %148 ], [ %.0129, %_ZN17double_conversionL7AdvanceIPKtEEbPT_tiRS3_.exit233 ], [ %.0129, %156 ], [ %.0129, %159 ], [ %.0129, %switch.early.test355 ], [ %.1130.ph, %_ZN17double_conversionL7AdvanceIPKtEEbPT_tiRS3_.exit177.sink.split ] %.2124 = phi i32 [ %spec.select150, %148 ], [ %spec.select150, %_ZN17double_conversionL7AdvanceIPKtEEbPT_tiRS3_.exit233 ], [ %spec.select150, %156 ], [ %spec.select150, %159 ], [ %spec.select150, %switch.early.test355 ], [ %.2124.ph505, %_ZN17double_conversionL7AdvanceIPKtEEbPT_tiRS3_.exit177.sink.split ] %.1117 = phi i64 [ %70, %148 ], [ %70, %_ZN17double_conversionL7AdvanceIPKtEEbPT_tiRS3_.exit233 ], [ %70, %156 ], [ %70, %159 ], [ %70, %switch.early.test355 ], [ %.1117.ph506, %_ZN17double_conversionL7AdvanceIPKtEEbPT_tiRS3_.exit177.sink.split ] - %.pre = load i16, ptr %165, align 2, !tbaa !40 + %.pre = load i16, ptr %165, align 2 br label %37 .thread321: ; preds = %47, %47 diff --git a/bench/duckdb/optimized/sec.ll b/bench/duckdb/optimized/sec.ll index 76290427286..513a8420568 100644 --- a/bench/duckdb/optimized/sec.ll +++ b/bench/duckdb/optimized/sec.ll @@ -812,7 +812,6 @@ malloc_mutex_lock.exit: ; preds = %17, %23 br label %32 32: ; preds = %edata_list_active_concat.exit.i, %.lr.ph.i - %.pre13.i = phi i32 [ %30, %.lr.ph.i ], [ %.pre14.i, %edata_list_active_concat.exit.i ] %33 = phi i32 [ %30, %.lr.ph.i ], [ %65, %edata_list_active_concat.exit.i ] %34 = phi ptr [ null, %.lr.ph.i ], [ %66, %edata_list_active_concat.exit.i ] %indvars.iv.i = phi i64 [ 0, %.lr.ph.i ], [ %indvars.iv.next.i, %edata_list_active_concat.exit.i ] @@ -858,17 +857,15 @@ malloc_mutex_lock.exit: ; preds = %17, %23 %62 = load ptr, ptr %61, align 8, !tbaa !43 %63 = getelementptr inbounds nuw i8, ptr %62, i64 40 store ptr %60, ptr %63, align 8, !tbaa !43 - %.pre.pre.i = load i32, ptr %8, align 8, !tbaa !33 br label %.sink.split.i.i .sink.split.i.i: ; preds = %44, %41 - %.pre.i = phi i32 [ %.pre.pre.i, %44 ], [ %.pre13.i, %41 ] %64 = phi ptr [ %34, %44 ], [ %40, %41 ] store ptr null, ptr %38, align 8, !tbaa !53 + %.pre.i = load i32, ptr %8, align 8 br label %edata_list_active_concat.exit.i edata_list_active_concat.exit.i: ; preds = %.sink.split.i.i, %42 - %.pre14.i = phi i32 [ %.pre13.i, %42 ], [ %.pre.i, %.sink.split.i.i ] %65 = phi i32 [ %33, %42 ], [ %.pre.i, %.sink.split.i.i ] %66 = phi ptr [ %34, %42 ], [ %64, %.sink.split.i.i ] %indvars.iv.next.i = add nuw nsw i64 %indvars.iv.i, 1 @@ -966,7 +963,6 @@ malloc_mutex_lock.exit: ; preds = %17, %23 br label %33 33: ; preds = %edata_list_active_concat.exit.i, %.lr.ph.i - %.pre13.i = phi i32 [ %31, %.lr.ph.i ], [ %.pre14.i, %edata_list_active_concat.exit.i ] %34 = phi i32 [ %31, %.lr.ph.i ], [ %66, %edata_list_active_concat.exit.i ] %35 = phi ptr [ null, %.lr.ph.i ], [ %67, %edata_list_active_concat.exit.i ] %indvars.iv.i = phi i64 [ 0, %.lr.ph.i ], [ %indvars.iv.next.i, %edata_list_active_concat.exit.i ] @@ -1012,17 +1008,15 @@ malloc_mutex_lock.exit: ; preds = %17, %23 %63 = load ptr, ptr %62, align 8, !tbaa !43 %64 = getelementptr inbounds nuw i8, ptr %63, i64 40 store ptr %61, ptr %64, align 8, !tbaa !43 - %.pre.pre.i = load i32, ptr %8, align 8, !tbaa !33 br label %.sink.split.i.i .sink.split.i.i: ; preds = %45, %42 - %.pre.i = phi i32 [ %.pre.pre.i, %45 ], [ %.pre13.i, %42 ] %65 = phi ptr [ %35, %45 ], [ %41, %42 ] store ptr null, ptr %39, align 8, !tbaa !53 + %.pre.i = load i32, ptr %8, align 8 br label %edata_list_active_concat.exit.i edata_list_active_concat.exit.i: ; preds = %.sink.split.i.i, %43 - %.pre14.i = phi i32 [ %.pre13.i, %43 ], [ %.pre.i, %.sink.split.i.i ] %66 = phi i32 [ %34, %43 ], [ %.pre.i, %.sink.split.i.i ] %67 = phi ptr [ %35, %43 ], [ %65, %.sink.split.i.i ] %indvars.iv.next.i = add nuw nsw i64 %indvars.iv.i, 1 @@ -1396,13 +1390,12 @@ define internal fastcc void @sec_flush_some_and_unlock(ptr noundef %0, ptr nound %52 = load ptr, ptr %51, align 8, !tbaa !43 %53 = getelementptr inbounds nuw i8, ptr %52, i64 40 store ptr %50, ptr %53, align 8, !tbaa !43 - %.pre.pre = load i64, ptr %6, align 8, !tbaa !28 br label %.sink.split.i .sink.split.i: ; preds = %34, %31 - %.pre = phi i64 [ %.pre.pre, %34 ], [ %27, %31 ] %54 = phi ptr [ %16, %34 ], [ %30, %31 ] store ptr null, ptr %28, align 8, !tbaa !53 + %.pre = load i64, ptr %6, align 8 br label %edata_list_active_concat.exit edata_list_active_concat.exit: ; preds = %.sink.split.i, %32, %14 diff --git a/bench/eastl/optimized/TestFixedList.ll b/bench/eastl/optimized/TestFixedList.ll index b7a29125a5e..7dac0846bdb 100644 --- a/bench/eastl/optimized/TestFixedList.ll +++ b/bench/eastl/optimized/TestFixedList.ll @@ -6287,12 +6287,11 @@ if.end.i1414: ; preds = %_ZN5eastl4listIiNS_ br i1 %cmp.i1.not.i, label %invoke.cont651.loopexit, label %while.body.i1411, !llvm.loop !335 invoke.cont651.loopexit: ; preds = %if.end.i1414 - %.pre2336 = load ptr, ptr %listA646, align 8, !noalias !336 + %.pre2336 = load ptr, ptr %listA646, align 8 br label %invoke.cont651 invoke.cont651: ; preds = %invoke.cont651.loopexit, %while.cond.preheader.i, %_ZN5eastl10fixed_listIiLm32ELb1ENS_9allocatorEEC2IPKiEET_S6_.exit1405 %572 = phi ptr [ %.pre2336, %invoke.cont651.loopexit ], [ %559, %while.cond.preheader.i ], [ %559, %_ZN5eastl10fixed_listIiLm32ELb1ENS_9allocatorEEC2IPKiEET_S6_.exit1405 ] - call void @llvm.experimental.noalias.scope.decl(metadata !336) store ptr %572, ptr %agg.tmp652, align 8, !alias.scope !336 store ptr %listA646, ptr %agg.tmp653, align 8, !alias.scope !339 %call655 = invoke noundef zeroext i1 (ptr, ptr, i32, ptr, ...) @_Z14VerifySequenceIN5eastl12ListIteratorIiPiRiEEiEbT_S5_T0_PKcz(ptr noundef nonnull %agg.tmp652, ptr noundef nonnull %agg.tmp653, i32 noundef 0, ptr noundef nonnull @.str.49, i32 noundef 1, i32 noundef 2, i32 noundef 3, i32 noundef 4, i32 noundef 5, i32 noundef 9, i32 noundef -1) @@ -7442,8 +7441,8 @@ if.else8.i.i.i.i.i.i.i.i1814: ; preds = %if.else.i.i.i.i.i.i to label %if.else8.i.i.i.i.i.i.i.i1814._ZN10TestObjectD2Ev.exit1824_crit_edge unwind label %_ZN10TestObjectD2Ev.exit2077 if.else8.i.i.i.i.i.i.i.i1814._ZN10TestObjectD2Ev.exit1824_crit_edge: ; preds = %if.else8.i.i.i.i.i.i.i.i1814 - %.pre2337 = load i64, ptr @_ZN10TestObject8sTOCountE, align 8, !noalias !363 - %.pre2338 = load i64, ptr @_ZN10TestObject12sTOCtorCountE, align 8, !noalias !363 + %.pre2337 = load i64, ptr @_ZN10TestObject8sTOCountE, align 8 + %.pre2338 = load i64, ptr @_ZN10TestObject12sTOCtorCountE, align 8 br label %_ZN10TestObjectD2Ev.exit1824 _ZN10TestObjectD2Ev.exit1824: ; preds = %if.else8.i.i.i.i.i.i.i.i1814._ZN10TestObjectD2Ev.exit1824_crit_edge, %if.then.i.i.i.i.i.i.i.i1799, %if.then4.i.i.i.i.i.i.i.i1812 @@ -7539,8 +7538,8 @@ if.else8.i.i.i.i.i.i.i.i1858: ; preds = %if.else.i.i.i.i.i.i to label %if.else8.i.i.i.i.i.i.i.i1858._ZN10TestObjectD2Ev.exit1868_crit_edge unwind label %_ZN10TestObjectD2Ev.exit2085 if.else8.i.i.i.i.i.i.i.i1858._ZN10TestObjectD2Ev.exit1868_crit_edge: ; preds = %if.else8.i.i.i.i.i.i.i.i1858 - %.pre2339 = load i64, ptr @_ZN10TestObject8sTOCountE, align 8, !noalias !366 - %.pre2340 = load i64, ptr @_ZN10TestObject12sTOCtorCountE, align 8, !noalias !366 + %.pre2339 = load i64, ptr @_ZN10TestObject8sTOCountE, align 8 + %.pre2340 = load i64, ptr @_ZN10TestObject12sTOCtorCountE, align 8 br label %_ZN10TestObjectD2Ev.exit1868 _ZN10TestObjectD2Ev.exit1868: ; preds = %if.else8.i.i.i.i.i.i.i.i1858._ZN10TestObjectD2Ev.exit1868_crit_edge, %if.then.i.i.i.i.i.i.i.i1835, %if.then4.i.i.i.i.i.i.i.i1856 @@ -7635,8 +7634,8 @@ if.else8.i.i.i.i.i.i.i.i1903: ; preds = %if.else.i.i.i.i.i.i to label %if.else8.i.i.i.i.i.i.i.i1903._ZN10TestObjectD2Ev.exit1913_crit_edge unwind label %_ZN10TestObjectD2Ev.exit2093 if.else8.i.i.i.i.i.i.i.i1903._ZN10TestObjectD2Ev.exit1913_crit_edge: ; preds = %if.else8.i.i.i.i.i.i.i.i1903 - %.pre2341 = load i64, ptr @_ZN10TestObject8sTOCountE, align 8, !noalias !372 - %.pre2342 = load i64, ptr @_ZN10TestObject12sTOCtorCountE, align 8, !noalias !372 + %.pre2341 = load i64, ptr @_ZN10TestObject8sTOCountE, align 8 + %.pre2342 = load i64, ptr @_ZN10TestObject12sTOCtorCountE, align 8 br label %_ZN10TestObjectD2Ev.exit1913 _ZN10TestObjectD2Ev.exit1913: ; preds = %if.else8.i.i.i.i.i.i.i.i1903._ZN10TestObjectD2Ev.exit1913_crit_edge, %if.then.i.i.i.i.i.i.i.i1880, %if.then4.i.i.i.i.i.i.i.i1901 diff --git a/bench/faiss/optimized/IndexRefine.ll b/bench/faiss/optimized/IndexRefine.ll index 9634ec635d7..a7c7b0e9552 100644 --- a/bench/faiss/optimized/IndexRefine.ll +++ b/bench/faiss/optimized/IndexRefine.ll @@ -1915,7 +1915,7 @@ define void @_ZN5faiss11IndexRefineC2EPNS_5IndexES2_(ptr noundef nonnull align 8 ._crit_edge: ; preds = %3 %.phi.trans.insert = getelementptr inbounds nuw i8, ptr %1, i64 16 - %.pre = load i64, ptr %.phi.trans.insert, align 8, !tbaa !29 + %.pre = load i64, ptr %.phi.trans.insert, align 8 br label %110 22: ; preds = %3 @@ -2254,7 +2254,7 @@ define internal void @_ZNK5faiss11IndexRefine6searchElPKflPfPlPKNS_16SearchParam 19: ; preds = %8 %20 = load i64, ptr %3, align 8, !tbaa !30 %21 = icmp sgt i64 %20, 0 - %.pre = load i32, ptr %0, align 4, !tbaa !42 + %.pre = load i32, ptr %0, align 4 br i1 %21, label %22, label %58 22: ; preds = %19 @@ -2690,7 +2690,7 @@ _ZN5faiss12heap_heapifyINS_4CMaxIflEEEEvmPNT_1TEPNS3_2TIEPKS4_PKS6_m.exit: ; pre to label %thread-pre-split unwind label %153 thread-pre-split: ; preds = %78 - %.pr = load i64, ptr %4, align 8, !tbaa !30 + %.pr = load i64, ptr %4, align 8 br label %82 82: ; preds = %thread-pre-split, %_ZN5faiss12heap_heapifyINS_4CMaxIflEEEEvmPNT_1TEPNS3_2TIEPKS4_PKS6_m.exit @@ -2724,7 +2724,7 @@ thread-pre-split: ; preds = %78 br i1 %97, label %.lr.ph._ZN5faiss4CMaxIflE4cmp2Effll.exit.thread_crit_edge.i.i, label %98 .lr.ph._ZN5faiss4CMaxIflE4cmp2Effll.exit.thread_crit_edge.i.i: ; preds = %.lr.ph.i.i34 - %.pre.i.i = load float, ptr %90, align 4, !tbaa !54 + %.pre.i.i = load float, ptr %90, align 4 br label %_ZN5faiss4CMaxIflE4cmp2Effll.exit.thread.i.i40 98: ; preds = %.lr.ph.i.i34 @@ -2783,8 +2783,8 @@ _ZN5faiss4CMaxIflE4cmp2Effll.exit61.i.i: ; preds = %118 _ZN5faiss4CMaxIflE4cmp2Effll.exit60.thread.loopexit.i.i: ; preds = %123, %_ZN5faiss4CMaxIflE4cmp2Effll.exit61.i.i, %118, %_ZN5faiss4CMaxIflE4cmp2Effll.exit60.i.i, %_ZN5faiss4CMaxIflE4cmp2Effll.exit.thread.i.i40 %.0.lcssa.ph.i.i = phi i64 [ %.1.i.i, %123 ], [ %.062.i.i, %_ZN5faiss4CMaxIflE4cmp2Effll.exit60.i.i ], [ %.062.i.i, %_ZN5faiss4CMaxIflE4cmp2Effll.exit61.i.i ], [ %.062.i.i, %_ZN5faiss4CMaxIflE4cmp2Effll.exit.thread.i.i40 ], [ %.062.i.i, %118 ] - %.pre68.i.i = load float, ptr %90, align 4, !tbaa !54 - %.pre69.i.i = load i64, ptr %92, align 8, !tbaa !30 + %.pre68.i.i = load float, ptr %90, align 4 + %.pre69.i.i = load i64, ptr %92, align 8 br label %_ZN5faiss8heap_popINS_4CMaxIflEEEEvmPNT_1TEPNS3_2TIE.exit.i _ZN5faiss8heap_popINS_4CMaxIflEEEEvmPNT_1TEPNS3_2TIE.exit.i: ; preds = %_ZN5faiss4CMaxIflE4cmp2Effll.exit60.thread.loopexit.i.i, %86 @@ -2952,7 +2952,7 @@ _ZN5faiss16heap_replace_topINS_4CMaxIflEEEEvmPNT_1TEPNS3_2TIES4_S6_.exit40.us: ; br i1 %39, label %.lr.ph._ZN5faiss4CMaxIflE4cmp2Effll.exit.thread_crit_edge.i, label %40 .lr.ph._ZN5faiss4CMaxIflE4cmp2Effll.exit.thread_crit_edge.i: ; preds = %.lr.ph.i - %.pre.i = load float, ptr %.phi.trans.insert.i, align 4, !tbaa !54 + %.pre.i = load float, ptr %.phi.trans.insert.i, align 4 br label %_ZN5faiss4CMaxIflE4cmp2Effll.exit.thread.i 40: ; preds = %.lr.ph.i @@ -3038,7 +3038,7 @@ _ZN5faiss16heap_replace_topINS_4CMaxIflEEEEvmPNT_1TEPNS3_2TIES4_S6_.exit.loopexi br i1 %81, label %.lr.ph._ZN5faiss4CMaxIflE4cmp2Effll.exit.thread_crit_edge.i38, label %82 .lr.ph._ZN5faiss4CMaxIflE4cmp2Effll.exit.thread_crit_edge.i38: ; preds = %.lr.ph.i28 - %.pre.i39 = load float, ptr %.phi.trans.insert.i27, align 4, !tbaa !54 + %.pre.i39 = load float, ptr %.phi.trans.insert.i27, align 4 br label %_ZN5faiss4CMaxIflE4cmp2Effll.exit.thread.i36 82: ; preds = %.lr.ph.i28 @@ -3276,7 +3276,7 @@ _ZN5faiss12heap_heapifyINS_4CMinIflEEEEvmPNT_1TEPNS3_2TIEPKS4_PKS6_m.exit: ; pre to label %thread-pre-split unwind label %153 thread-pre-split: ; preds = %78 - %.pr = load i64, ptr %4, align 8, !tbaa !30 + %.pr = load i64, ptr %4, align 8 br label %82 82: ; preds = %thread-pre-split, %_ZN5faiss12heap_heapifyINS_4CMinIflEEEEvmPNT_1TEPNS3_2TIEPKS4_PKS6_m.exit @@ -3310,7 +3310,7 @@ thread-pre-split: ; preds = %78 br i1 %97, label %.lr.ph._ZN5faiss4CMinIflE4cmp2Effll.exit.thread_crit_edge.i.i, label %98 .lr.ph._ZN5faiss4CMinIflE4cmp2Effll.exit.thread_crit_edge.i.i: ; preds = %.lr.ph.i.i34 - %.pre.i.i = load float, ptr %90, align 4, !tbaa !54 + %.pre.i.i = load float, ptr %90, align 4 br label %_ZN5faiss4CMinIflE4cmp2Effll.exit.thread.i.i40 98: ; preds = %.lr.ph.i.i34 @@ -3369,8 +3369,8 @@ _ZN5faiss4CMinIflE4cmp2Effll.exit61.i.i: ; preds = %118 _ZN5faiss4CMinIflE4cmp2Effll.exit60.thread.loopexit.i.i: ; preds = %123, %_ZN5faiss4CMinIflE4cmp2Effll.exit61.i.i, %118, %_ZN5faiss4CMinIflE4cmp2Effll.exit60.i.i, %_ZN5faiss4CMinIflE4cmp2Effll.exit.thread.i.i40 %.0.lcssa.ph.i.i = phi i64 [ %.1.i.i, %123 ], [ %.062.i.i, %_ZN5faiss4CMinIflE4cmp2Effll.exit60.i.i ], [ %.062.i.i, %_ZN5faiss4CMinIflE4cmp2Effll.exit61.i.i ], [ %.062.i.i, %_ZN5faiss4CMinIflE4cmp2Effll.exit.thread.i.i40 ], [ %.062.i.i, %118 ] - %.pre68.i.i = load float, ptr %90, align 4, !tbaa !54 - %.pre69.i.i = load i64, ptr %92, align 8, !tbaa !30 + %.pre68.i.i = load float, ptr %90, align 4 + %.pre69.i.i = load i64, ptr %92, align 8 br label %_ZN5faiss8heap_popINS_4CMinIflEEEEvmPNT_1TEPNS3_2TIE.exit.i _ZN5faiss8heap_popINS_4CMinIflEEEEvmPNT_1TEPNS3_2TIE.exit.i: ; preds = %_ZN5faiss4CMinIflE4cmp2Effll.exit60.thread.loopexit.i.i, %86 @@ -3538,7 +3538,7 @@ _ZN5faiss16heap_replace_topINS_4CMinIflEEEEvmPNT_1TEPNS3_2TIES4_S6_.exit40.us: ; br i1 %39, label %.lr.ph._ZN5faiss4CMinIflE4cmp2Effll.exit.thread_crit_edge.i, label %40 .lr.ph._ZN5faiss4CMinIflE4cmp2Effll.exit.thread_crit_edge.i: ; preds = %.lr.ph.i - %.pre.i = load float, ptr %.phi.trans.insert.i, align 4, !tbaa !54 + %.pre.i = load float, ptr %.phi.trans.insert.i, align 4 br label %_ZN5faiss4CMinIflE4cmp2Effll.exit.thread.i 40: ; preds = %.lr.ph.i @@ -3624,7 +3624,7 @@ _ZN5faiss16heap_replace_topINS_4CMinIflEEEEvmPNT_1TEPNS3_2TIES4_S6_.exit.loopexi br i1 %81, label %.lr.ph._ZN5faiss4CMinIflE4cmp2Effll.exit.thread_crit_edge.i38, label %82 .lr.ph._ZN5faiss4CMinIflE4cmp2Effll.exit.thread_crit_edge.i38: ; preds = %.lr.ph.i28 - %.pre.i39 = load float, ptr %.phi.trans.insert.i27, align 4, !tbaa !54 + %.pre.i39 = load float, ptr %.phi.trans.insert.i27, align 4 br label %_ZN5faiss4CMinIflE4cmp2Effll.exit.thread.i36 82: ; preds = %.lr.ph.i28 @@ -3726,7 +3726,7 @@ define internal void @_ZNK5faiss11IndexRefine12range_searchElPKffPNS_17RangeSear 17: ; preds = %6 %18 = load i64, ptr %3, align 8, !tbaa !30 %19 = icmp sgt i64 %18, 0 - %.pre = load i32, ptr %0, align 4, !tbaa !42 + %.pre = load i32, ptr %0, align 4 br i1 %19, label %20, label %60 20: ; preds = %17 @@ -3973,6 +3973,7 @@ define void @_ZN5faiss15IndexRefineFlatC2EPNS_5IndexEPKf(ptr noundef nonnull ali store i32 %7, ptr %12, align 4, !tbaa !43 %13 = getelementptr inbounds nuw i8, ptr %0, i64 32 store float 0.000000e+00, ptr %13, align 8, !tbaa !53 + store ptr getelementptr inbounds nuw inrange(-16, 184) (i8, ptr @_ZTVN5faiss11IndexRefineE, i64 16), ptr %0, align 8, !tbaa !16 %14 = getelementptr inbounds nuw i8, ptr %0, i64 40 store ptr %1, ptr %14, align 8, !tbaa !4 %15 = getelementptr inbounds nuw i8, ptr %0, i64 48 @@ -3984,7 +3985,7 @@ define void @_ZN5faiss15IndexRefineFlatC2EPNS_5IndexEPKf(ptr noundef nonnull ali %18 = getelementptr inbounds nuw i8, ptr %0, i64 56 store i8 0, ptr %18, align 8, !tbaa !49 %.phi.trans.insert.i = getelementptr inbounds nuw i8, ptr %1, i64 16 - %.pre.i = load i64, ptr %.phi.trans.insert.i, align 8, !tbaa !29 + %.pre.i = load i64, ptr %.phi.trans.insert.i, align 8 store i64 %.pre.i, ptr %9, align 8, !tbaa !29 store ptr getelementptr inbounds nuw inrange(-16, 184) (i8, ptr @_ZTVN5faiss15IndexRefineFlatE, i64 16), ptr %0, align 8, !tbaa !16 %19 = getelementptr inbounds nuw i8, ptr %1, i64 25 diff --git a/bench/folly/optimized/AsyncLogWriter.ll b/bench/folly/optimized/AsyncLogWriter.ll index 72bf5a18b84..4b1d7c7363b 100644 --- a/bench/folly/optimized/AsyncLogWriter.ll +++ b/bench/folly/optimized/AsyncLogWriter.ll @@ -682,7 +682,7 @@ _ZSt8_DestroyINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEvPT_.exit.i.i br i1 %.not.i.i.i.i.i.i, label %_ZSt8_DestroyIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_EvT_S7_RSaIT0_E.exitthread-pre-split.i.i.i, label %.lr.ph.i.i.i.i.i.i, !llvm.loop !72 _ZSt8_DestroyIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_EvT_S7_RSaIT0_E.exitthread-pre-split.i.i.i: ; preds = %_ZSt8_DestroyINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEvPT_.exit.i.i.i.i.i.i - %.pr.i.i.i = load ptr, ptr %7, align 8, !tbaa !71 + %.pr.i.i.i = load ptr, ptr %7, align 8 br label %_ZSt8_DestroyIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_EvT_S7_RSaIT0_E.exit.i.i.i _ZSt8_DestroyIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_EvT_S7_RSaIT0_E.exit.i.i.i: ; preds = %_ZSt8_DestroyIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_EvT_S7_RSaIT0_E.exitthread-pre-split.i.i.i, %5 @@ -764,7 +764,7 @@ _ZN5folly16SynchronizedBaseINS_12SynchronizedINS_14AsyncLogWriter4DataESt5mutexE %6 = getelementptr inbounds nuw i8, ptr %0, i64 248 %7 = load i8, ptr %6, align 8, !tbaa !51, !range !54, !noundef !55 %8 = trunc nuw i8 %7 to i1 - %.pre7 = load ptr, ptr %5, align 8, !tbaa !78 + %.pre7 = load ptr, ptr %5, align 8 %.not.i.i.i = icmp ne ptr %.pre7, null %or.cond.not = select i1 %8, i1 %.not.i.i.i, i1 false br i1 %or.cond.not, label %9, label %_ZN5folly9LockedPtrINS_12SynchronizedINS_14AsyncLogWriter4DataESt5mutexEENS_6detail22SynchronizedLockPolicyILNS6_22SynchronizedMutexLevelE1ELNS6_23SynchronizedMutexMethodE0EEEED2Ev.exit @@ -890,7 +890,7 @@ _ZSt8_DestroyINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEvPT_.exit.i.i _ZSt8_DestroyIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_EvT_S7_RSaIT0_E.exit.i.i.i.i: ; preds = %_ZSt8_DestroyINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEvPT_.exit.i.i.i.i.i.i.i store ptr %5, ptr %6, align 8, !tbaa !40 - %.pre.i.i = load ptr, ptr %2, align 8, !tbaa !47 + %.pre.i.i = load ptr, ptr %2, align 8 br label %_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE5clearEv.exit.i.i _ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE5clearEv.exit.i.i: ; preds = %_ZSt8_DestroyIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_EvT_S7_RSaIT0_E.exit.i.i.i.i, %1 @@ -979,7 +979,7 @@ _ZSt8_DestroyINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEvPT_.exit.i.i _ZSt8_DestroyIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_EvT_S7_RSaIT0_E.exit.i.i: ; preds = %_ZSt8_DestroyINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEvPT_.exit.i.i.i.i.i store ptr %5, ptr %6, align 8, !tbaa !40 - %.pre = load ptr, ptr %2, align 8, !tbaa !47 + %.pre = load ptr, ptr %2, align 8 br label %_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE5clearEv.exit _ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE5clearEv.exit: ; preds = %1, %_ZSt8_DestroyIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_EvT_S7_RSaIT0_E.exit.i.i @@ -1099,7 +1099,7 @@ define void @_ZN5folly14AsyncLogWriter8ioThreadEv(ptr noundef nonnull align 8 de %18 = load ptr, ptr %15, align 8, !tbaa !92 %19 = load ptr, ptr %16, align 8, !tbaa !92 %20 = icmp eq ptr %18, %19 - %.pre = load ptr, ptr %2, align 8, !tbaa !47 + %.pre = load ptr, ptr %2, align 8 br i1 %20, label %21, label %._crit_edge42 21: ; preds = %17 @@ -1151,10 +1151,13 @@ _ZN5folly9LockedPtrINS_12SynchronizedINS_14AsyncLogWriter4DataESt5mutexEENS_6det store i32 %40, ptr %36, align 8, !tbaa !67 %41 = load i8, ptr %6, align 8, !tbaa !51, !range !54, !noundef !55 %42 = trunc nuw i8 %41 to i1 - br i1 %42, label %43, label %_ZN5folly9LockedPtrINS_12SynchronizedINS_14AsyncLogWriter4DataESt5mutexEENS_6detail22SynchronizedLockPolicyILNS6_22SynchronizedMutexLevelE1ELNS6_23SynchronizedMutexMethodE0EEEE6unlockEv.exit + %.pre5.i = load ptr, ptr %2, align 8 + %.not.i.i.i20 = icmp ne ptr %.pre5.i, null + %or.cond.not.i = select i1 %42, i1 %.not.i.i.i20, i1 false + br i1 %or.cond.not.i, label %43, label %_ZN5folly9LockedPtrINS_12SynchronizedINS_14AsyncLogWriter4DataESt5mutexEENS_6detail22SynchronizedLockPolicyILNS6_22SynchronizedMutexLevelE1ELNS6_23SynchronizedMutexMethodE0EEEE6unlockEv.exit 43: ; preds = %39 - %44 = call noundef i32 @pthread_mutex_unlock(ptr noundef nonnull align 8 dereferenceable(40) %.pre) #21 + %44 = call noundef i32 @pthread_mutex_unlock(ptr noundef nonnull align 8 dereferenceable(40) %.pre5.i) #21 br label %_ZN5folly9LockedPtrINS_12SynchronizedINS_14AsyncLogWriter4DataESt5mutexEENS_6detail22SynchronizedLockPolicyILNS6_22SynchronizedMutexLevelE1ELNS6_23SynchronizedMutexMethodE0EEEE6unlockEv.exit _ZN5folly9LockedPtrINS_12SynchronizedINS_14AsyncLogWriter4DataESt5mutexEENS_6detail22SynchronizedLockPolicyILNS6_22SynchronizedMutexLevelE1ELNS6_23SynchronizedMutexMethodE0EEEE6unlockEv.exit: ; preds = %39, %43 @@ -1426,7 +1429,7 @@ _ZSt8_DestroyINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEvPT_.exit.i.i br i1 %.not.i.i.i.i.i.i.i, label %_ZSt8_DestroyIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_EvT_S7_RSaIT0_E.exitthread-pre-split.i.i.i.i, label %.lr.ph.i.i.i.i.i.i.i, !llvm.loop !72 _ZSt8_DestroyIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_EvT_S7_RSaIT0_E.exitthread-pre-split.i.i.i.i: ; preds = %_ZSt8_DestroyINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEvPT_.exit.i.i.i.i.i.i.i - %.pr.i.i.i.i = load ptr, ptr %.ptr9, align 8, !tbaa !71 + %.pr.i.i.i.i = load ptr, ptr %.ptr9, align 8 br label %_ZSt8_DestroyIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_EvT_S7_RSaIT0_E.exit.i.i.i.i _ZSt8_DestroyIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_EvT_S7_RSaIT0_E.exit.i.i.i.i: ; preds = %_ZSt8_DestroyIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_EvT_S7_RSaIT0_E.exitthread-pre-split.i.i.i.i, %_ZNSt6threadD2Ev.exit.i.i @@ -1858,7 +1861,7 @@ _ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i.i %33 = load i64, ptr %26, align 8, !tbaa !24 store i64 %33, ptr %24, align 8, !tbaa !24 %.phi.trans.insert = getelementptr inbounds nuw i8, ptr %2, i64 8 - %.pre = load i64, ptr %.phi.trans.insert, align 8, !tbaa !25 + %.pre = load i64, ptr %.phi.trans.insert, align 8 br label %_ZNSt16allocator_traitsISaINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEE9constructIS5_JS5_EEEvRS6_PT_DpOT0_.exit _ZNSt16allocator_traitsISaINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEE9constructIS5_JS5_EEEvRS6_PT_DpOT0_.exit: ; preds = %28, %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i.i @@ -1898,7 +1901,7 @@ _ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i.i %46 = load i64, ptr %39, align 8, !tbaa !24, !alias.scope !108, !noalias !105 store i64 %46, ptr %37, align 8, !tbaa !24, !alias.scope !105, !noalias !108 %.phi.trans.insert.i.i.i.i = getelementptr inbounds nuw i8, ptr %.0911.i.i.i, i64 8 - %.pre.i.i.i.i = load i64, ptr %.phi.trans.insert.i.i.i.i, align 8, !tbaa !25, !alias.scope !108, !noalias !105 + %.pre.i.i.i.i = load i64, ptr %.phi.trans.insert.i.i.i.i, align 8, !alias.scope !108, !noalias !105 br label %_ZSt19__relocate_object_aINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_SaIS5_EEvPT_PT0_RT1_.exit.i.i.i _ZSt19__relocate_object_aINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_SaIS5_EEvPT_PT0_RT1_.exit.i.i.i: ; preds = %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i.i.i.i.i.i, %41 @@ -1946,7 +1949,7 @@ _ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i.i %62 = load i64, ptr %55, align 8, !tbaa !24, !alias.scope !115, !noalias !112 store i64 %62, ptr %53, align 8, !tbaa !24, !alias.scope !112, !noalias !115 %.phi.trans.insert.i.i.i.i21 = getelementptr inbounds nuw i8, ptr %.0911.i.i.i19, i64 8 - %.pre.i.i.i.i22 = load i64, ptr %.phi.trans.insert.i.i.i.i21, align 8, !tbaa !25, !alias.scope !115, !noalias !112 + %.pre.i.i.i.i22 = load i64, ptr %.phi.trans.insert.i.i.i.i21, align 8, !alias.scope !115, !noalias !112 br label %_ZSt19__relocate_object_aINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_SaIS5_EEvPT_PT0_RT1_.exit.i.i.i23 _ZSt19__relocate_object_aINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_SaIS5_EEvPT_PT0_RT1_.exit.i.i.i23: ; preds = %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i.i.i.i.i.i20, %57 @@ -2048,7 +2051,7 @@ _ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i.i %32 = load i64, ptr %25, align 8, !tbaa !24, !alias.scope !121, !noalias !118 store i64 %32, ptr %23, align 8, !tbaa !24, !alias.scope !118, !noalias !121 %.phi.trans.insert.i.i.i.i = getelementptr inbounds nuw i8, ptr %.0911.i.i.i, i64 8 - %.pre.i.i.i.i = load i64, ptr %.phi.trans.insert.i.i.i.i, align 8, !tbaa !25, !alias.scope !121, !noalias !118 + %.pre.i.i.i.i = load i64, ptr %.phi.trans.insert.i.i.i.i, align 8, !alias.scope !121, !noalias !118 br label %_ZSt19__relocate_object_aINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_SaIS5_EEvPT_PT0_RT1_.exit.i.i.i _ZSt19__relocate_object_aINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_SaIS5_EEvPT_PT0_RT1_.exit.i.i.i: ; preds = %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i.i.i.i.i.i, %27 @@ -2096,7 +2099,7 @@ _ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i.i %48 = load i64, ptr %41, align 8, !tbaa !24, !alias.scope !127, !noalias !124 store i64 %48, ptr %39, align 8, !tbaa !24, !alias.scope !124, !noalias !127 %.phi.trans.insert.i.i.i.i20 = getelementptr inbounds nuw i8, ptr %.0911.i.i.i18, i64 8 - %.pre.i.i.i.i21 = load i64, ptr %.phi.trans.insert.i.i.i.i20, align 8, !tbaa !25, !alias.scope !127, !noalias !124 + %.pre.i.i.i.i21 = load i64, ptr %.phi.trans.insert.i.i.i.i20, align 8, !alias.scope !127, !noalias !124 br label %_ZSt19__relocate_object_aINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_SaIS5_EEvPT_PT0_RT1_.exit.i.i.i22 _ZSt19__relocate_object_aINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_SaIS5_EEvPT_PT0_RT1_.exit.i.i.i22: ; preds = %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i.i.i.i.i.i19, %43 diff --git a/bench/folly/optimized/SSLSessionManager.ll b/bench/folly/optimized/SSLSessionManager.ll index 54ac29c1950..cb6ba6686f8 100644 --- a/bench/folly/optimized/SSLSessionManager.ll +++ b/bench/folly/optimized/SSLSessionManager.ll @@ -625,7 +625,7 @@ _ZNSt10shared_ptrIN5folly3ssl6detail14OpenSSLSessionEEC2INS1_10SSLSessionEEERKS_ _ZSt20dynamic_pointer_castIN5folly3ssl6detail14OpenSSLSessionENS1_10SSLSessionEESt10shared_ptrIT_ERKS5_IT0_E.exitthread-pre-split: ; preds = %67 %73 = atomicrmw volatile add ptr %68, i32 1 acq_rel, align 4, !noalias !42 - %.pr.pre = load ptr, ptr %3, align 8, !tbaa !24 + %.pr.pre = load ptr, ptr %3, align 8 %74 = icmp eq ptr %.pr.pre, null br i1 %74, label %76, label %_ZSt20dynamic_pointer_castIN5folly3ssl6detail14OpenSSLSessionENS1_10SSLSessionEESt10shared_ptrIT_ERKS5_IT0_E.exitthread-pre-split.thread @@ -722,15 +722,18 @@ _ZSt3getILm1EJSt10unique_ptrI14ssl_session_stN5folly23static_function_deleterIS1 %16 = load i32, ptr %13, align 4, !tbaa !32 %17 = add nsw i32 %16, 1 store i32 %17, ptr %13, align 4, !tbaa !32 - br label %_ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE15_M_add_ref_copyEv.exit.i.i.i + br label %_ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE15_M_add_ref_copyEv.exitthread-pre-split.i.i.i 18: ; preds = %12 %19 = atomicrmw volatile add ptr %13, i32 1 acq_rel, align 4 - %.pr.pre.i.i.i = load ptr, ptr %7, align 8, !tbaa !29 + br label %_ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE15_M_add_ref_copyEv.exitthread-pre-split.i.i.i + +_ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE15_M_add_ref_copyEv.exitthread-pre-split.i.i.i: ; preds = %18, %15 + %.pr.i.i.i = load ptr, ptr %7, align 8 br label %_ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE15_M_add_ref_copyEv.exit.i.i.i -_ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE15_M_add_ref_copyEv.exit.i.i.i: ; preds = %18, %15, %11 - %20 = phi ptr [ %10, %11 ], [ %10, %15 ], [ %.pr.pre.i.i.i, %18 ] +_ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE15_M_add_ref_copyEv.exit.i.i.i: ; preds = %_ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE15_M_add_ref_copyEv.exitthread-pre-split.i.i.i, %11 + %20 = phi ptr [ %.pr.i.i.i, %_ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE15_M_add_ref_copyEv.exitthread-pre-split.i.i.i ], [ %10, %11 ] %.not8.i.i.i = icmp eq ptr %20, null br i1 %.not8.i.i.i, label %_ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE10_M_releaseEv.exit.i.i.i, label %21 diff --git a/bench/freetype/optimized/pshinter.ll b/bench/freetype/optimized/pshinter.ll index 23203c7a47a..76060c6b6f8 100644 --- a/bench/freetype/optimized/pshinter.ll +++ b/bench/freetype/optimized/pshinter.ll @@ -260,7 +260,7 @@ psh_compute_dir.exit128.i: ; preds = %119, %116, %113 br i1 %.not125.i, label %131, label %._crit_edge186.i ._crit_edge186.i: ; preds = %126 - %.pre.i = load i32, ptr %71, align 8, !tbaa !47 + %.pre.i = load i32, ptr %71, align 8 br label %128 128: ; preds = %._crit_edge186.i, %125 @@ -401,9 +401,9 @@ psh_glyph_load_points.exit.i: ; preds = %.lr.ph.split.us.i.i %.068.i.i = phi ptr [ %.173.i.i, %.preheader83.i.i ], [ %201, %212 ] %.1.i.i = phi i32 [ 0, %.preheader83.i.i ], [ %spec.select.i.i, %212 ] %.phi.trans.insert.i.i = getelementptr inbounds nuw i8, ptr %.068.i.i, i64 48 - %.pre.i.i = load i64, ptr %.phi.trans.insert.i.i, align 8, !tbaa !58 + %.pre.i.i = load i64, ptr %.phi.trans.insert.i.i, align 8 %.phi.trans.insert122.i.i = getelementptr inbounds nuw i8, ptr %.068.i.i, i64 56 - %.pre123.i.i = load i64, ptr %.phi.trans.insert122.i.i, align 8, !tbaa !59 + %.pre123.i.i = load i64, ptr %.phi.trans.insert122.i.i, align 8 br label %197 197: ; preds = %197, %196 @@ -819,7 +819,7 @@ psh_glyph_compute_extrema.exit: ; preds = %.loopexit92.i br i1 %.not.i93, label %psh_hint_table_align_hints.exit.loopexit, label %.lr.ph.i92, !llvm.loop !92 psh_hint_table_align_hints.exit.loopexit: ; preds = %.lr.ph.i92 - %.pre = load ptr, ptr %240, align 8, !tbaa !46 + %.pre = load ptr, ptr %240, align 8 br label %psh_hint_table_align_hints.exit psh_hint_table_align_hints.exit: ; preds = %psh_hint_table_align_hints.exit.loopexit, %psh_glyph_compute_extrema.exit @@ -901,7 +901,7 @@ psh_hint_table_deactivate.exit.i.i: ; preds = %.lr.ph.i.i.i, %428 ._crit_edge.thread.i.i: ; preds = %psh_hint_table_deactivate.exit.i.i store i32 0, ptr %422, align 4, !tbaa !106 - %.val73.pre.i = load ptr, ptr %421, align 8, !tbaa !107 + %.val73.pre.i = load ptr, ptr %421, align 8 br label %psh_hint_table_activate_mask.exit.i .lr.ph.i.i99: ; preds = %psh_hint_table_deactivate.exit.i.i @@ -1058,7 +1058,7 @@ psh_hint_table_deactivate.exit.i84.i: ; preds = %.lr.ph.i.i80.i, %.t %498 = getelementptr inbounds nuw i8, ptr %398, i64 4 store i32 0, ptr %498, align 4, !tbaa !106 %.phi.trans.insert.i = getelementptr i8, ptr %398, i64 16 - %.val75.pre.i = load ptr, ptr %.phi.trans.insert.i, align 8, !tbaa !107 + %.val75.pre.i = load ptr, ptr %.phi.trans.insert.i, align 8 br label %psh_hint_table_activate_mask.exit113.i .lr.ph.i86.i: ; preds = %psh_hint_table_deactivate.exit.i84.i @@ -1244,7 +1244,7 @@ psh_glyph_find_strong_points.exit: ; preds = %551, %417, %.thread %570 = load i8, ptr %569, align 1, !tbaa !49 %571 = or i8 %570, 32 store i8 %571, ptr %569, align 1, !tbaa !49 - %.pre26.i = load i32, ptr %6, align 8, !tbaa !29 + %.pre26.i = load i32, ptr %6, align 8 br label %572 572: ; preds = %568, %.lr.ph.split.us.i105 @@ -1447,7 +1447,7 @@ psh_glyph_find_blue_points.exit: ; preds = %.loopexit.i109, %.s %673 = load i8, ptr %672, align 1, !tbaa !49 %674 = or i8 %673, 64 store i8 %674, ptr %672, align 1, !tbaa !49 - %.pre.i121 = load i32, ptr %6, align 8, !tbaa !29 + %.pre.i121 = load i32, ptr %6, align 8 br label %675 675: ; preds = %671, %.lr.ph.split.i118 @@ -2016,7 +2016,7 @@ define internal fastcc void @psh_glyph_interpolate_strong_points(ptr noundef non %76 = add nsw i64 %75, %58 %77 = getelementptr inbounds nuw i8, ptr %.03752, i64 64 store i64 %76, ptr %77, align 8, !tbaa !115 - %.pre = load i32, ptr %18, align 4, !tbaa !56 + %.pre = load i32, ptr %18, align 4 br label %78 78: ; preds = %27, %61, %74, %41, %21 @@ -2330,7 +2330,7 @@ define internal fastcc void @psh_glyph_interpolate_normal_points(ptr noundef non %168 = add nsw i64 %167, %161 %169 = getelementptr inbounds nuw i8, ptr %.2149, i64 64 store i64 %168, ptr %169, align 8, !tbaa !115 - %.pre = load i32, ptr %57, align 4, !tbaa !56 + %.pre = load i32, ptr %57, align 4 br label %170 170: ; preds = %147, %159, %155, %124, %._crit_edge145.thread @@ -2528,7 +2528,7 @@ define internal fastcc void @psh_glyph_interpolate_other_points(ptr noundef nonn %89 = tail call i64 @FT_DivFix(i64 noundef %88, i64 noundef %.090) #12 %sext124 = shl i64 %89, 32 %90 = ashr exact i64 %sext124, 32 - %.pre = load ptr, ptr %67, align 8, !tbaa !40 + %.pre = load ptr, ptr %67, align 8 br label %91 91: ; preds = %87, %83 @@ -3205,8 +3205,8 @@ psh_blues_snap_stem.exit: ; preds = %97, %95, %113, %108 133: ; preds = %129 tail call fastcc void @psh_hint_align(ptr noundef nonnull %128, ptr noundef %1, i32 noundef %2, ptr noundef %3) - %.pre = load i32, ptr %0, align 8, !tbaa !110 - %.pre180 = load i32, ptr %26, align 4, !tbaa !152 + %.pre = load i32, ptr %0, align 8 + %.pre180 = load i32, ptr %26, align 4 br label %134 134: ; preds = %133, %129 @@ -3836,7 +3836,7 @@ psh_calc_max_height.exit106: ; preds = %.lr.ph.i100, %psh_c %103 = getelementptr inbounds nuw i8, ptr %5, i64 808 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %102, i8 0, i64 16, i1 false) call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %103, i8 0, i64 16, i1 false) - %.pre = load i32, ptr %4, align 4, !tbaa !27 + %.pre = load i32, ptr %4, align 4 br label %104 104: ; preds = %psh_calc_max_height.exit106, %3 @@ -4093,9 +4093,9 @@ psh_blues_set_zones_0.exit140: ; preds = %69, %psh_blues_set_ ] ._crit_edge183: ; preds = %75 - %.pre = load i32, ptr %.094, align 8, !tbaa !72 + %.pre = load i32, ptr %.094, align 8 %.phi.trans.insert = getelementptr inbounds nuw i8, ptr %.094, i64 4 - %.pre184 = load i32, ptr %.phi.trans.insert, align 4, !tbaa !142 + %.pre184 = load i32, ptr %.phi.trans.insert, align 4 br label %85 76: ; preds = %75 @@ -4144,9 +4144,9 @@ psh_blues_set_zones_0.exit140: ; preds = %69, %psh_blues_set_ ] ._crit_edge185: ; preds = %95 - %.pre186 = load i32, ptr %.093, align 8, !tbaa !72 + %.pre186 = load i32, ptr %.093, align 8 %.phi.trans.insert187 = getelementptr inbounds nuw i8, ptr %.093, i64 4 - %.pre188 = load i32, ptr %.phi.trans.insert187, align 4, !tbaa !142 + %.pre188 = load i32, ptr %.phi.trans.insert187, align 4 br label %105 96: ; preds = %95 @@ -4452,7 +4452,7 @@ ps_mask_test_bit.exit34.thread.i: ; preds = %ps_mask_test_bit.ex ._crit_edge.i.i: ; preds = %._crit_edge.i %.phi.trans.insert.i.i = getelementptr inbounds nuw i8, ptr %16, i64 40 - %.pre.i.i = load ptr, ptr %.phi.trans.insert.i.i, align 8, !tbaa !94 + %.pre.i.i = load ptr, ptr %.phi.trans.insert.i.i, align 8 br label %90 81: ; preds = %._crit_edge.i @@ -4494,12 +4494,11 @@ ps_mask_table_ensure.exit.thread.i.i: ; preds = %81 %101 = lshr i32 %97, 3 %102 = zext nneg i32 %101 to i64 call void @llvm.memset.p0.i64(ptr align 1 %100, i8 0, i64 %102, i1 false) - %.pre.pre.i = load i32, ptr %94, align 8, !tbaa !100 br label %ps_mask_table_alloc.exit.thread.i ps_mask_table_alloc.exit.thread.i: ; preds = %98, %90 - %.pre.i = phi i32 [ 0, %90 ], [ %.pre.pre.i, %98 ] store i32 %77, ptr %39, align 8, !tbaa !97 + %.pre.i = load i32, ptr %94, align 8 br label %.loopexit.i ps_mask_table_alloc.exit.i: ; preds = %81 @@ -4722,7 +4721,7 @@ ps_dimension_end_mask.exit.i: ; preds = %15, %12 ._crit_edge.i.i: ; preds = %ps_dimension_end_mask.exit.i %.phi.trans.insert.i.i = getelementptr inbounds nuw i8, ptr %0, i64 48 - %.pre.i.i = load ptr, ptr %.phi.trans.insert.i.i, align 8, !tbaa !94 + %.pre.i.i = load ptr, ptr %.phi.trans.insert.i.i, align 8 br label %34 25: ; preds = %ps_dimension_end_mask.exit.i @@ -4795,7 +4794,7 @@ ps_dimension_end_mask.exit.i22: ; preds = %50, %47 ._crit_edge.i.i23: ; preds = %ps_dimension_end_mask.exit.i22 %.phi.trans.insert.i.i24 = getelementptr inbounds nuw i8, ptr %0, i64 96 - %.pre.i.i25 = load ptr, ptr %.phi.trans.insert.i.i24, align 8, !tbaa !94 + %.pre.i.i25 = load ptr, ptr %.phi.trans.insert.i.i24, align 8 br label %69 60: ; preds = %ps_dimension_end_mask.exit.i22 @@ -5069,7 +5068,7 @@ ps_mask_table_test_intersect.exit.thread27.i: ; preds = %ps_mask_table_test_ %100 = getelementptr inbounds nuw %struct.PS_MaskRec_, ptr %57, i64 %98 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %100, ptr noundef nonnull align 8 dereferenceable(24) %5, i64 24, i1 false), !tbaa.struct !262 call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %5) - %.pre.i.i = load i32, ptr %14, align 8, !tbaa !97 + %.pre.i.i = load i32, ptr %14, align 8 br label %101 101: ; preds = %96, %.thread.i.i @@ -5198,7 +5197,7 @@ ps_hint_table_alloc.exit: ; preds = %28 ._crit_edge.i.i: ; preds = %45 %.phi.trans.insert.i.i = getelementptr inbounds nuw i8, ptr %0, i64 24 - %.pre.i.i = load ptr, ptr %.phi.trans.insert.i.i, align 8, !tbaa !94 + %.pre.i.i = load ptr, ptr %.phi.trans.insert.i.i, align 8 br label %54 49: ; preds = %45 @@ -5563,7 +5562,7 @@ ps_dimension_end_mask.exit.i: ; preds = %12, %6 ._crit_edge.i.i: ; preds = %ps_dimension_end_mask.exit.i %.phi.trans.insert.i.i = getelementptr inbounds nuw i8, ptr %0, i64 24 - %.pre.i.i = load ptr, ptr %.phi.trans.insert.i.i, align 8, !tbaa !94 + %.pre.i.i = load ptr, ptr %.phi.trans.insert.i.i, align 8 br label %31 22: ; preds = %ps_dimension_end_mask.exit.i @@ -5623,7 +5622,7 @@ ps_dimension_reset_mask.exit: ; preds = %22 ._crit_edge.i.i.i: ; preds = %46 %.phi.trans.insert.i.i.i = getelementptr inbounds nuw i8, ptr %0, i64 24 - %.pre.i.i.i = load ptr, ptr %.phi.trans.insert.i.i.i, align 8, !tbaa !94 + %.pre.i.i.i = load ptr, ptr %.phi.trans.insert.i.i.i, align 8 br label %54 49: ; preds = %46 @@ -5689,7 +5688,7 @@ ps_mask_table_last.exit.i: ; preds = %49 ._crit_edge.i: ; preds = %70 %.phi.trans.insert.i = getelementptr inbounds nuw i8, ptr %.08.i.ph.i, i64 8 - %.pre.i = load ptr, ptr %.phi.trans.insert.i, align 8, !tbaa !101 + %.pre.i = load ptr, ptr %.phi.trans.insert.i, align 8 br label %88 77: ; preds = %70 @@ -5789,7 +5788,7 @@ define internal fastcc void @ps_dimension_done(ptr noundef captures(none) %0, pt br i1 %.not.i, label %._crit_edge.loopexit.i, label %.lr.ph.i, !llvm.loop !274 ._crit_edge.loopexit.i: ; preds = %.lr.ph.i - %.pre.i = load ptr, ptr %6, align 8, !tbaa !94 + %.pre.i = load ptr, ptr %6, align 8 br label %ps_mask_table_done.exit ps_mask_table_done.exit: ; preds = %2, %._crit_edge.loopexit.i @@ -5816,7 +5815,7 @@ ps_mask_table_done.exit: ; preds = %2, %._crit_edge.loo br i1 %.not.i10, label %._crit_edge.loopexit.i11, label %.lr.ph.i7, !llvm.loop !274 ._crit_edge.loopexit.i11: ; preds = %.lr.ph.i7 - %.pre.i12 = load ptr, ptr %15, align 8, !tbaa !94 + %.pre.i12 = load ptr, ptr %15, align 8 br label %ps_mask_table_done.exit13 ps_mask_table_done.exit13: ; preds = %ps_mask_table_done.exit, %._crit_edge.loopexit.i11 diff --git a/bench/g2o/optimized/robust_kernel_impl.ll b/bench/g2o/optimized/robust_kernel_impl.ll index b9a94789574..b7b9ef8a6a6 100644 --- a/bench/g2o/optimized/robust_kernel_impl.ll +++ b/bench/g2o/optimized/robust_kernel_impl.ll @@ -524,15 +524,18 @@ define void @_ZN3g2o22RobustKernelScaleDelta9setKernelERKSt10shared_ptrINS_12Rob %14 = load i32, ptr %11, align 4, !tbaa !15 %15 = add nsw i32 %14, 1 store i32 %15, ptr %11, align 4, !tbaa !15 - br label %_ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE15_M_add_ref_copyEv.exit.i.i.i + br label %_ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE15_M_add_ref_copyEv.exitthread-pre-split.i.i.i 16: ; preds = %10 %17 = atomicrmw volatile add ptr %11, i32 1 acq_rel, align 4 - %.pr.pre.i.i.i = load ptr, ptr %5, align 8, !tbaa !13 + br label %_ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE15_M_add_ref_copyEv.exitthread-pre-split.i.i.i + +_ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE15_M_add_ref_copyEv.exitthread-pre-split.i.i.i: ; preds = %16, %13 + %.pr.i.i.i = load ptr, ptr %5, align 8 br label %_ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE15_M_add_ref_copyEv.exit.i.i.i -_ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE15_M_add_ref_copyEv.exit.i.i.i: ; preds = %16, %13, %9 - %18 = phi ptr [ %8, %9 ], [ %8, %13 ], [ %.pr.pre.i.i.i, %16 ] +_ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE15_M_add_ref_copyEv.exit.i.i.i: ; preds = %_ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE15_M_add_ref_copyEv.exitthread-pre-split.i.i.i, %9 + %18 = phi ptr [ %.pr.i.i.i, %_ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE15_M_add_ref_copyEv.exitthread-pre-split.i.i.i ], [ %8, %9 ] %.not8.i.i.i = icmp eq ptr %18, null br i1 %.not8.i.i.i, label %_ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE10_M_releaseEv.exit.i.i.i, label %19 diff --git a/bench/g2o/optimized/structure_only.ll b/bench/g2o/optimized/structure_only.ll index 2299e4be0b6..33efc969cbe 100644 --- a/bench/g2o/optimized/structure_only.ll +++ b/bench/g2o/optimized/structure_only.ll @@ -878,7 +878,6 @@ _ZNSt6vectorIPN3g2o16OptimizableGraph6VertexESaIS3_EE5clearEv.exit: ; preds = %2 ret i1 true 16: ; preds = %.lr.ph, %_ZNSt6vectorIPN3g2o16OptimizableGraph6VertexESaIS3_EE9push_backERKS3_.exit - %.pre7 = phi ptr [ %10, %.lr.ph ], [ %.pre8, %_ZNSt6vectorIPN3g2o16OptimizableGraph6VertexESaIS3_EE9push_backERKS3_.exit ] %17 = phi ptr [ %10, %.lr.ph ], [ %47, %_ZNSt6vectorIPN3g2o16OptimizableGraph6VertexESaIS3_EE9push_backERKS3_.exit ] %18 = phi ptr [ %4, %.lr.ph ], [ %48, %_ZNSt6vectorIPN3g2o16OptimizableGraph6VertexESaIS3_EE9push_backERKS3_.exit ] %19 = phi ptr [ %8, %.lr.ph ], [ %49, %_ZNSt6vectorIPN3g2o16OptimizableGraph6VertexESaIS3_EE9push_backERKS3_.exit ] @@ -938,19 +937,17 @@ _ZNSt6vectorIPN3g2o16OptimizableGraph6VertexESaIS3_EE11_S_relocateEPS3_S6_S6_RS4 45: ; preds = %_ZNSt6vectorIPN3g2o16OptimizableGraph6VertexESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit16.i.i tail call void @_ZdlPvm(ptr noundef nonnull %18, i64 noundef %31) #26 - %.pre.pre = load ptr, ptr %9, align 8, !tbaa !37 br label %_ZNSt6vectorIPN3g2o16OptimizableGraph6VertexESaIS3_EE17_M_realloc_insertIJRKS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i _ZNSt6vectorIPN3g2o16OptimizableGraph6VertexESaIS3_EE17_M_realloc_insertIJRKS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i: ; preds = %45, %_ZNSt6vectorIPN3g2o16OptimizableGraph6VertexESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit16.i.i - %.pre = phi ptr [ %.pre.pre, %45 ], [ %.pre7, %_ZNSt6vectorIPN3g2o16OptimizableGraph6VertexESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit16.i.i ] store ptr %40, ptr %3, align 8, !tbaa !32 store ptr %44, ptr %5, align 8, !tbaa !36 %46 = getelementptr inbounds nuw ptr, ptr %40, i64 %38 store ptr %46, ptr %15, align 8, !tbaa !35 + %.pre = load ptr, ptr %9, align 8 br label %_ZNSt6vectorIPN3g2o16OptimizableGraph6VertexESaIS3_EE9push_backERKS3_.exit _ZNSt6vectorIPN3g2o16OptimizableGraph6VertexESaIS3_EE9push_backERKS3_.exit: ; preds = %_ZNSt6vectorIPN3g2o16OptimizableGraph6VertexESaIS3_EE17_M_realloc_insertIJRKS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i, %26, %16 - %.pre8 = phi ptr [ %.pre, %_ZNSt6vectorIPN3g2o16OptimizableGraph6VertexESaIS3_EE17_M_realloc_insertIJRKS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i ], [ %.pre7, %26 ], [ %.pre7, %16 ] %47 = phi ptr [ %.pre, %_ZNSt6vectorIPN3g2o16OptimizableGraph6VertexESaIS3_EE17_M_realloc_insertIJRKS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i ], [ %17, %26 ], [ %17, %16 ] %48 = phi ptr [ %40, %_ZNSt6vectorIPN3g2o16OptimizableGraph6VertexESaIS3_EE17_M_realloc_insertIJRKS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i ], [ %18, %26 ], [ %18, %16 ] %49 = phi ptr [ %44, %_ZNSt6vectorIPN3g2o16OptimizableGraph6VertexESaIS3_EE17_M_realloc_insertIJRKS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i ], [ %27, %26 ], [ %19, %16 ] @@ -1193,8 +1190,8 @@ define linkonce_odr noundef i32 @_ZN3g2o19StructureOnlySolverILi2EE4calcERSt6vec %100 = getelementptr inbounds nuw i64, ptr %97, i64 %99 %.idx.i.i = shl nuw nsw i64 %99, 3 call void @llvm.memset.p0.i64(ptr nonnull align 8 %97, i8 0, i64 %.idx.i.i, i1 false) - %.pre = load ptr, ptr %86, align 8, !tbaa !103 - %.pre326 = load ptr, ptr %85, align 8, !tbaa !104 + %.pre = load ptr, ptr %86, align 8 + %.pre326 = load ptr, ptr %85, align 8 br label %_ZNSt6vectorIbSaIbEEC2EmRKS0_.exit _ZNSt13_Bvector_baseISaIbEED2Ev.exit161: ; preds = %89 @@ -1893,7 +1890,7 @@ _ZN5Eigen9DenseBaseINS_5BlockINS1_INS_6MatrixIdLi2ELi2ELi0ELi2ELi2EEELi2ELi1ELb1 .loopexit._crit_edge: ; preds = %.lr.ph, %_ZNK5Eigen9DenseBaseINS_12CwiseUnaryOpINS_8internal13scalar_abs_opIdEEKNS_5BlockINS_8DiagonalINS_6MatrixIdLi2ELi2ELi0ELi2ELi2EEELi0EEELin1ELi1ELb0EEEEEE8maxCoeffIlEEdPT_.exit, %_ZN5Eigen9DenseBaseINS_5BlockINS1_INS_6MatrixIdLi2ELi2ELi0ELi2ELi2EEELi2ELi1ELb1EEELin1ELi1ELb0EEEE4swapIS5_EEvRKNS0_IT_EE.exit %60 = getelementptr double, ptr %0, i64 %.0124 - %.pre = load double, ptr %60, align 8, !tbaa !100 + %.pre = load double, ptr %60, align 8 br label %79 .lr.ph.i.i.i.i.i.i.i.i.i.i.preheader: ; preds = %7 @@ -2181,7 +2178,6 @@ _ZNSt6vectorIPN3g2o16OptimizableGraph6VertexESaIS3_EE5clearEv.exit: ; preds = %2 ret i1 true 16: ; preds = %.lr.ph, %_ZNSt6vectorIPN3g2o16OptimizableGraph6VertexESaIS3_EE9push_backERKS3_.exit - %.pre7 = phi ptr [ %10, %.lr.ph ], [ %.pre8, %_ZNSt6vectorIPN3g2o16OptimizableGraph6VertexESaIS3_EE9push_backERKS3_.exit ] %17 = phi ptr [ %10, %.lr.ph ], [ %47, %_ZNSt6vectorIPN3g2o16OptimizableGraph6VertexESaIS3_EE9push_backERKS3_.exit ] %18 = phi ptr [ %4, %.lr.ph ], [ %48, %_ZNSt6vectorIPN3g2o16OptimizableGraph6VertexESaIS3_EE9push_backERKS3_.exit ] %19 = phi ptr [ %8, %.lr.ph ], [ %49, %_ZNSt6vectorIPN3g2o16OptimizableGraph6VertexESaIS3_EE9push_backERKS3_.exit ] @@ -2241,19 +2237,17 @@ _ZNSt6vectorIPN3g2o16OptimizableGraph6VertexESaIS3_EE11_S_relocateEPS3_S6_S6_RS4 45: ; preds = %_ZNSt6vectorIPN3g2o16OptimizableGraph6VertexESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit16.i.i tail call void @_ZdlPvm(ptr noundef nonnull %18, i64 noundef %31) #26 - %.pre.pre = load ptr, ptr %9, align 8, !tbaa !37 br label %_ZNSt6vectorIPN3g2o16OptimizableGraph6VertexESaIS3_EE17_M_realloc_insertIJRKS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i _ZNSt6vectorIPN3g2o16OptimizableGraph6VertexESaIS3_EE17_M_realloc_insertIJRKS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i: ; preds = %45, %_ZNSt6vectorIPN3g2o16OptimizableGraph6VertexESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit16.i.i - %.pre = phi ptr [ %.pre.pre, %45 ], [ %.pre7, %_ZNSt6vectorIPN3g2o16OptimizableGraph6VertexESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit16.i.i ] store ptr %40, ptr %3, align 8, !tbaa !32 store ptr %44, ptr %5, align 8, !tbaa !36 %46 = getelementptr inbounds nuw ptr, ptr %40, i64 %38 store ptr %46, ptr %15, align 8, !tbaa !35 + %.pre = load ptr, ptr %9, align 8 br label %_ZNSt6vectorIPN3g2o16OptimizableGraph6VertexESaIS3_EE9push_backERKS3_.exit _ZNSt6vectorIPN3g2o16OptimizableGraph6VertexESaIS3_EE9push_backERKS3_.exit: ; preds = %_ZNSt6vectorIPN3g2o16OptimizableGraph6VertexESaIS3_EE17_M_realloc_insertIJRKS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i, %26, %16 - %.pre8 = phi ptr [ %.pre, %_ZNSt6vectorIPN3g2o16OptimizableGraph6VertexESaIS3_EE17_M_realloc_insertIJRKS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i ], [ %.pre7, %26 ], [ %.pre7, %16 ] %47 = phi ptr [ %.pre, %_ZNSt6vectorIPN3g2o16OptimizableGraph6VertexESaIS3_EE17_M_realloc_insertIJRKS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i ], [ %17, %26 ], [ %17, %16 ] %48 = phi ptr [ %40, %_ZNSt6vectorIPN3g2o16OptimizableGraph6VertexESaIS3_EE17_M_realloc_insertIJRKS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i ], [ %18, %26 ], [ %18, %16 ] %49 = phi ptr [ %44, %_ZNSt6vectorIPN3g2o16OptimizableGraph6VertexESaIS3_EE17_M_realloc_insertIJRKS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i ], [ %27, %26 ], [ %19, %16 ] @@ -2490,8 +2484,8 @@ define linkonce_odr noundef i32 @_ZN3g2o19StructureOnlySolverILi3EE4calcERSt6vec %104 = getelementptr inbounds nuw i64, ptr %101, i64 %103 %.idx.i.i = shl nuw nsw i64 %103, 3 call void @llvm.memset.p0.i64(ptr nonnull align 8 %101, i8 0, i64 %.idx.i.i, i1 false) - %.pre = load ptr, ptr %90, align 8, !tbaa !103 - %.pre334 = load ptr, ptr %89, align 8, !tbaa !104 + %.pre = load ptr, ptr %90, align 8 + %.pre334 = load ptr, ptr %89, align 8 br label %_ZNSt6vectorIbSaIbEEC2EmRKS0_.exit _ZNSt13_Bvector_baseISaIbEED2Ev.exit161: ; preds = %93 diff --git a/bench/glog/optimized/mock-log_unittest.ll b/bench/glog/optimized/mock-log_unittest.ll index afb2f4e87e3..d8d16c04aab 100644 --- a/bench/glog/optimized/mock-log_unittest.ll +++ b/bench/glog/optimized/mock-log_unittest.ll @@ -2957,7 +2957,7 @@ _ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i: %28 = load i64, ptr %21, align 8, !tbaa !47 store i64 %28, ptr %19, align 8, !tbaa !47, !alias.scope !78 %.phi.trans.insert.i = getelementptr inbounds nuw i8, ptr %18, i64 8 - %.pre.i = load i64, ptr %.phi.trans.insert.i, align 8, !tbaa !45 + %.pre.i = load i64, ptr %.phi.trans.insert.i, align 8 br label %29 29: ; preds = %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i, %23 @@ -3007,7 +3007,7 @@ _ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i27 %47 = load i64, ptr %40, align 8, !tbaa !47 store i64 %47, ptr %38, align 8, !tbaa !47, !alias.scope !81 %.phi.trans.insert.i28 = getelementptr inbounds nuw i8, ptr %37, i64 8 - %.pre.i29 = load i64, ptr %.phi.trans.insert.i28, align 8, !tbaa !45 + %.pre.i29 = load i64, ptr %.phi.trans.insert.i28, align 8 br label %48 48: ; preds = %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i27, %42 @@ -3058,7 +3058,7 @@ _ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i34 %67 = load i64, ptr %60, align 8, !tbaa !47 store i64 %67, ptr %58, align 8, !tbaa !47, !alias.scope !84 %.phi.trans.insert.i35 = getelementptr inbounds nuw i8, ptr %57, i64 8 - %.pre.i36 = load i64, ptr %.phi.trans.insert.i35, align 8, !tbaa !45 + %.pre.i36 = load i64, ptr %.phi.trans.insert.i35, align 8 br label %68 68: ; preds = %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i34, %62 @@ -3107,7 +3107,7 @@ _ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i41 %85 = load i64, ptr %78, align 8, !tbaa !47 store i64 %85, ptr %76, align 8, !tbaa !47, !alias.scope !87 %.phi.trans.insert.i42 = getelementptr inbounds nuw i8, ptr %75, i64 8 - %.pre.i43 = load i64, ptr %.phi.trans.insert.i42, align 8, !tbaa !45 + %.pre.i43 = load i64, ptr %.phi.trans.insert.i42, align 8 br label %86 86: ; preds = %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i41, %80 @@ -3884,7 +3884,7 @@ _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7_S_copyEPcPKcm.exit.i: ; p %54 = load ptr, ptr %33, align 8, !tbaa !55 %55 = getelementptr inbounds nuw i8, ptr %54, i64 %52 store i8 0, ptr %55, align 1, !tbaa !47 - %.pre.i = load ptr, ptr %10, align 8, !tbaa !55 + %.pre.i = load ptr, ptr %10, align 8 br label %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEOS4_.exit .thread.i: ; preds = %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i @@ -4221,14 +4221,14 @@ _ZN7testing6ActionIFvN6google11LogSeverityERKNSt7__cxx1112basic_stringIcSt11char to label %.noexc unwind label %53 .noexc: ; preds = %34 - %.pre.i.i = load ptr, ptr %6, align 8, !tbaa !126 + %.pre.i.i = load ptr, ptr %6, align 8 %38 = icmp eq ptr %.pre.i.i, null call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %4) store i32 %35, ptr %4, align 4, !tbaa !137 br i1 %38, label %39, label %.noexc._ZNK7testing6ActionIFvN6google11LogSeverityERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESA_EE7PerformESt5tupleIJS2_SA_SA_EE.exit.i_crit_edge .noexc._ZNK7testing6ActionIFvN6google11LogSeverityERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESA_EE7PerformESt5tupleIJS2_SA_SA_EE.exit.i_crit_edge: ; preds = %.noexc - %.pre = load ptr, ptr %7, align 8, !tbaa !138 + %.pre = load ptr, ptr %7, align 8 br label %_ZNK7testing6ActionIFvN6google11LogSeverityERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESA_EE7PerformESt5tupleIJS2_SA_SA_EE.exit.i 39: ; preds = %.noexc @@ -4946,7 +4946,7 @@ _ZNK7testing8internal14FunctionMockerIFvN6google11LogSeverityERKNSt7__cxx1112bas 26: ; preds = %_ZNK7testing8internal14FunctionMockerIFvN6google11LogSeverityERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESB_EE14FindOnCallSpecERKSt5tupleIJS3_SB_SB_EE.exit tail call void @_ZN7testing8internal16IllegalDoDefaultEPKci(ptr noundef nonnull @.str.24, i32 noundef 496) - %.pre.i = load ptr, ptr %24, align 8, !tbaa !126 + %.pre.i = load ptr, ptr %24, align 8 %27 = icmp eq ptr %.pre.i, null call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %5) store i32 %23, ptr %5, align 4, !tbaa !137 @@ -8684,12 +8684,12 @@ _ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6substrEmm.exit: ; preds = br i1 %27, label %28, label %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6substrEmm.exit._crit_edge _ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6substrEmm.exit._crit_edge: ; preds = %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6substrEmm.exit - %.pre = load ptr, ptr %5, align 8, !tbaa !55 + %.pre = load ptr, ptr %5, align 8 br label %33 28: ; preds = %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6substrEmm.exit %29 = icmp eq i64 %25, 0 - %.pre9 = load ptr, ptr %5, align 8, !tbaa !55 + %.pre9 = load ptr, ptr %5, align 8 br i1 %29, label %33, label %30 30: ; preds = %28 @@ -8954,7 +8954,7 @@ _ZNSt10shared_ptrIN7testing8internal15ExpectationBaseEEC2INS1_16TypedExpectation 77: ; preds = %73 %78 = atomicrmw volatile add ptr %66, i32 1 acq_rel, align 4 - %.pre.i = load ptr, ptr %69, align 8, !tbaa !209 + %.pre.i = load ptr, ptr %69, align 8 br label %_ZNSt16allocator_traitsISaISt10shared_ptrIN7testing8internal15ExpectationBaseEEEE9constructIS4_JRKS4_EEEvRS5_PT_DpOT0_.exit.i _ZNSt16allocator_traitsISaISt10shared_ptrIN7testing8internal15ExpectationBaseEEEE9constructIS4_JRKS4_EEEvRS5_PT_DpOT0_.exit.i: ; preds = %77, %76 @@ -9251,7 +9251,7 @@ _ZN7testing8internal11MatcherBaseIRKSt5tupleIJN6google11LogSeverityERKNSt7__cxx1 _ZN7testing6ActionIFvN6google11LogSeverityERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESA_EED2Ev.exit3: ; preds = %37, %40 tail call void @_ZdlPvm(ptr noundef nonnull %35, i64 noundef 32) #29 - %.pre = load ptr, ptr %5, align 8, !tbaa !125 + %.pre = load ptr, ptr %5, align 8 br label %45 45: ; preds = %.lr.ph, %_ZN7testing6ActionIFvN6google11LogSeverityERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESA_EED2Ev.exit3 @@ -11783,15 +11783,18 @@ _ZNSt6vectorIPKvSaIS1_EE9push_backEOS1_.exit: ; preds = %52, %_ZNSt6vectorIP %97 = load i32, ptr %94, align 4, !tbaa !41 %98 = add nsw i32 %97, 1 store i32 %98, ptr %94, align 4, !tbaa !41 - br label %_ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE15_M_add_ref_copyEv.exit.i.i.i.i.i + br label %_ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE15_M_add_ref_copyEv.exitthread-pre-split.i.i.i.i.i 99: ; preds = %93 %100 = atomicrmw volatile add ptr %94, i32 1 acq_rel, align 4 - %.pr.pre.i.i.i.i.i = load ptr, ptr %88, align 8, !tbaa !68 + br label %_ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE15_M_add_ref_copyEv.exitthread-pre-split.i.i.i.i.i + +_ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE15_M_add_ref_copyEv.exitthread-pre-split.i.i.i.i.i: ; preds = %99, %96 + %.pr.i.i.i.i.i = load ptr, ptr %88, align 8 br label %_ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE15_M_add_ref_copyEv.exit.i.i.i.i.i -_ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE15_M_add_ref_copyEv.exit.i.i.i.i.i: ; preds = %99, %96, %92 - %101 = phi ptr [ %91, %92 ], [ %91, %96 ], [ %.pr.pre.i.i.i.i.i, %99 ] +_ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE15_M_add_ref_copyEv.exit.i.i.i.i.i: ; preds = %_ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE15_M_add_ref_copyEv.exitthread-pre-split.i.i.i.i.i, %92 + %101 = phi ptr [ %.pr.i.i.i.i.i, %_ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE15_M_add_ref_copyEv.exitthread-pre-split.i.i.i.i.i ], [ %91, %92 ] %.not8.i.i.i.i.i = icmp eq ptr %101, null br i1 %.not8.i.i.i.i.i, label %_ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE10_M_releaseEv.exit.i.i.i.i.i, label %102 @@ -11841,7 +11844,7 @@ _ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i: ; preds = %119, _ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE10_M_releaseEv.exit.i.i.i.i.i: ; preds = %122, %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i, %107, %_ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE15_M_add_ref_copyEv.exit.i.i.i.i.i store ptr %90, ptr %88, align 8, !tbaa !68 - %.pr = load ptr, ptr %89, align 8, !tbaa !68 + %.pr = load ptr, ptr %89, align 8 br label %_ZN7testing8internal15ExpectationBase15set_cardinalityERKNS_11CardinalityE.exit _ZN7testing8internal15ExpectationBase15set_cardinalityERKNS_11CardinalityE.exit: ; preds = %79, %_ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE10_M_releaseEv.exit.i.i.i.i.i diff --git a/bench/graphviz/optimized/shapes.ll b/bench/graphviz/optimized/shapes.ll index 5a4a014c630..e00a45a88e4 100644 --- a/bench/graphviz/optimized/shapes.ll +++ b/bench/graphviz/optimized/shapes.ll @@ -3513,7 +3513,7 @@ gv_alloc.exit: ; preds = %1 br i1 %.not.i.i541, label %._crit_edge658, label %.thread ._crit_edge658: ; preds = %201 - %.sroa.3.0.copyload.pre = load double, ptr %171, align 8, !tbaa !4 + %.sroa.3.0.copyload.pre = load double, ptr %171, align 8 br label %239 .thread: ; preds = %193, %196, %200, %201 @@ -3553,6 +3553,7 @@ gv_alloc.exit: ; preds = %1 %225 = load double, ptr %4, align 8, !tbaa !16 %226 = fmul double %224, %225 store double %226, ptr %4, align 8, !tbaa !16 + %.sroa.3.0.copyload.pre659.pre = load double, ptr %171, align 8 br label %230 227: ; preds = %215 @@ -3563,7 +3564,7 @@ gv_alloc.exit: ; preds = %1 br label %230 230: ; preds = %227, %219 - %.sroa.3.0.copyload.pre659 = phi double [ %217, %227 ], [ %216, %219 ] + %.sroa.3.0.copyload.pre659 = phi double [ %217, %227 ], [ %.sroa.3.0.copyload.pre659.pre, %219 ] %231 = phi double [ %229, %227 ], [ %226, %219 ] %232 = icmp ugt i64 %.1492, 2 br i1 %232, label %233, label %239 @@ -4653,7 +4654,7 @@ define noundef ptr @bind_shape(ptr noundef readonly captures(none) %0, ptr nound .loopexit: ; preds = %15, %8 %18 = load ptr, ptr @UserShape, align 8, !tbaa !109 %.not.i.i = icmp eq ptr %18, null - %.pre.i = load i64, ptr @N_UserShape, align 8, !tbaa !111 + %.pre.i = load i64, ptr @N_UserShape, align 8 br i1 %.not.i.i, label %.loopexit.i, label %.preheader.i.i .preheader.i.i: ; preds = %.loopexit @@ -4958,7 +4959,7 @@ default.unreachable.i: ; preds = %82 br i1 %exitcond.not.i, label %closestSide.exit.loopexit, label %77, !llvm.loop !134 closestSide.exit.loopexit: ; preds = %97 - %.pre = load i8, ptr %50, align 1, !tbaa !129 + %.pre = load i8, ptr %50, align 1 br label %closestSide.exit closestSide.exit: ; preds = %closestSide.exit.loopexit, %cvtPt.exit63.i, %cvtPt.exit63.i @@ -5414,7 +5415,7 @@ define void @resolvePorts(ptr noundef readonly captures(none) %0) local_unnamed_ call void @resolvePort(ptr dead_on_unwind nonnull writable sret(%struct.port) align 8 %2, ptr noundef %16, ptr noundef %20, ptr noundef nonnull %10) call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(48) %10, ptr noundef nonnull align 8 dereferenceable(48) %2, i64 48, i1 false), !tbaa.struct !148 call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %2) #27 - %.pre = load ptr, ptr %4, align 8, !tbaa !21 + %.pre = load ptr, ptr %4, align 8 br label %21 21: ; preds = %9, %1 @@ -5886,7 +5887,7 @@ gv_alloc.exit206: ; preds = %112 store ptr %145, ptr %146, align 8, !tbaa !162 %147 = getelementptr inbounds nuw i8, ptr %.2133, i64 80 store i8 1, ptr %147, align 8, !tbaa !153 - %.pre = load ptr, ptr @reclblp, align 8, !tbaa !103 + %.pre = load ptr, ptr @reclblp, align 8 br label %148 148: ; preds = %138, %129 @@ -6034,7 +6035,7 @@ ISCTRL.exit.thread: ; preds = %156, %156, %156, %1 200: ; preds = %196, %190 %201 = getelementptr inbounds nuw i8, ptr %.0157.ph246.ph, i64 1 store i8 %191, ptr %.0157.ph246.ph, align 1, !tbaa !81 - %.pre271.pre = load ptr, ptr @reclblp, align 8, !tbaa !103 + %.pre271.pre = load ptr, ptr @reclblp, align 8 br label %202 202: ; preds = %200, %196, %194 @@ -6335,12 +6336,12 @@ define internal fastcc void @pos_reclbl(ptr noundef captures(none) initializes(( .lr.ph.split.preheader: ; preds = %.lr.ph %19 = zext nneg i32 %15 to i64 %wide.trip.count = zext nneg i32 %14 to i64 - %.pre = load i8, ptr %16, align 8, !tbaa !153 + %.pre = load i8, ptr %16, align 8 br label %.lr.ph.split .lr.ph.split.us.preheader: ; preds = %.lr.ph %wide.trip.count55 = zext nneg i32 %14 to i64 - %.pre57 = load ptr, ptr %18, align 8, !tbaa !152 + %.pre57 = load ptr, ptr %18, align 8 br label %.lr.ph.split.us .lr.ph.split.us: ; preds = %.lr.ph.split.us.preheader, %34 @@ -6538,7 +6539,7 @@ define internal void @poly_port(ptr dead_on_unwind noalias writable writeonly sr br i1 %.not, label %._crit_edge, label %22 ._crit_edge: ; preds = %20 - %.val.pre = load ptr, ptr %13, align 8, !tbaa !21 + %.val.pre = load ptr, ptr %13, align 8 br label %27 22: ; preds = %20 @@ -8082,7 +8083,7 @@ define internal zeroext i1 @point_inside(ptr noundef captures(address_is_null) % ._crit_edge: ; preds = %4 %.phi.trans.insert = getelementptr inbounds nuw i8, ptr %0, i64 24 - %.pre = load double, ptr %.phi.trans.insert, align 8, !tbaa !81 + %.pre = load double, ptr %.phi.trans.insert, align 8 br label %43 18: ; preds = %4 @@ -8680,11 +8681,11 @@ define internal noundef i32 @record_path(ptr noundef %0, ptr noundef readonly ca call void @flip_rec_boxf(ptr dead_on_unwind nonnull writable sret(%struct.boxf) align 8 %6, ptr noundef nonnull byval(%struct.boxf) align 8 %45, double %48, double %50) #27 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %3, ptr noundef nonnull align 8 dereferenceable(32) %6, i64 32, i1 false), !tbaa.struct !213 call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %6) #27 - %.pre = load ptr, ptr %11, align 8, !tbaa !21 + %.pre = load ptr, ptr %11, align 8 %.phi.trans.insert = getelementptr inbounds nuw i8, ptr %.pre, i64 40 - %.pre47 = load double, ptr %.phi.trans.insert, align 8, !tbaa !202 + %.pre47 = load double, ptr %.phi.trans.insert, align 8 %.phi.trans.insert48 = getelementptr inbounds nuw i8, ptr %.pre, i64 96 - %.pre49 = load double, ptr %.phi.trans.insert48, align 8, !tbaa !132 + %.pre49 = load double, ptr %.phi.trans.insert48, align 8 %.pre50 = fmul double %.pre49, 5.000000e-01 br label %65 @@ -9226,7 +9227,7 @@ define internal void @epsf_gencode(ptr noundef %0, ptr noundef readonly captures %24 = getelementptr inbounds nuw i8, ptr %4, i64 256 %25 = load ptr, ptr %24, align 8, !tbaa !198 tail call void @gvrender_begin_anchor(ptr noundef nonnull %0, ptr noundef %6, ptr noundef %21, ptr noundef %23, ptr noundef %25) #27 - %.pre = load ptr, ptr %7, align 8, !tbaa !21 + %.pre = load ptr, ptr %7, align 8 br label %26 26: ; preds = %12, %.thread34, %19 @@ -9558,8 +9559,8 @@ define internal fastcc { double, double } @compassPoint(ptr noundef nonnull %0, %27 = getelementptr inbounds nuw i8, ptr %26, i64 24 %28 = load ptr, ptr %27, align 8, !tbaa !226 call void @bezier_clip(ptr noundef nonnull %0, ptr noundef %28, ptr noundef nonnull %4, i1 noundef zeroext true) #27 - %.sroa.013.0.copyload.pre = load double, ptr %4, align 16, !tbaa !4 - %.sroa.2.0.copyload.pre = load double, ptr %18, align 8, !tbaa !4 + %.sroa.013.0.copyload.pre = load double, ptr %4, align 16 + %.sroa.2.0.copyload.pre = load double, ptr %18, align 8 br i1 %.not, label %34, label %29 29: ; preds = %17 diff --git a/bench/graphviz/optimized/tree_map.ll b/bench/graphviz/optimized/tree_map.ll index e0a8a021c48..70241c36221 100644 --- a/bench/graphviz/optimized/tree_map.ll +++ b/bench/graphviz/optimized/tree_map.ll @@ -80,7 +80,7 @@ gv_calloc.exit: ; preds = %.thread %.sroa.5.0.copyload = load double, ptr %.sroa.5.0..sroa_idx, align 8 %.sroa.0.0.copyload = load double, ptr %2, align 8 %33 = tail call double @llvm.minnum.f64(double %24, double %25) - %.pre183.i.pre24 = load i8, ptr @Verbose, align 1, !tbaa !12 + %.pre183.i.pre24 = load i8, ptr @Verbose, align 1 br label %.lr.ph.i .lr.ph.i: ; preds = %tailrecurse.outer.i, %.lr.ph.lr.ph.i @@ -115,7 +115,7 @@ gv_calloc.exit: ; preds = %.thread %46 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %45, ptr noundef nonnull @.str.2, double noundef %35, double noundef %38, double noundef %34, double noundef %37) #6 %47 = load ptr, ptr @stderr, align 8, !tbaa !9 %48 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %47, ptr noundef nonnull @.str.3, i64 noundef %indvars.iv.i) #6 - %.pre.i = load i8, ptr @Verbose, align 1, !tbaa !12 + %.pre.i = load i8, ptr @Verbose, align 1 br label %49 49: ; preds = %44, %40 @@ -172,7 +172,7 @@ tailrecurse.backedge.i: ; preds = %61, %53 %75 = load ptr, ptr @stderr, align 8, !tbaa !9 %76 = fdiv double %.tr136156.i, %43 %77 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %75, ptr noundef nonnull @.str.4, i64 noundef %indvars.iv.i, double noundef %.tr136156.i, double noundef %43, double noundef %76) #6 - %.pre183.i.pre = load i8, ptr @Verbose, align 1, !tbaa !12 + %.pre183.i.pre = load i8, ptr @Verbose, align 1 br label %78 78: ; preds = %.thread.i._crit_edge, %74 @@ -213,7 +213,7 @@ tailrecurse.backedge.i: ; preds = %61, %53 %99 = fadd double %.0114158.i, %95 %100 = add nuw i64 %.0112159.i, 1 %exitcond.not.i = icmp eq i64 %100, %indvars.iv.i - br i1 %exitcond.not.i, label %86, label %89, !llvm.loop !13 + br i1 %exitcond.not.i, label %86, label %89, !llvm.loop !12 101: ; preds = %78 %102 = fmul double %37, 5.000000e-01 @@ -246,7 +246,7 @@ tailrecurse.backedge.i: ; preds = %61, %53 %119 = fsub double %.0113160.i, %114 %120 = add nuw i64 %.0161.i, 1 %exitcond182.not.i = icmp eq i64 %120, %indvars.iv.i - br i1 %exitcond182.not.i, label %106, label %109, !llvm.loop !14 + br i1 %exitcond182.not.i, label %106, label %109, !llvm.loop !13 tailrecurse.outer.i: ; preds = %106, %86 %121 = phi double [ %37, %106 ], [ %88, %86 ] @@ -314,6 +314,5 @@ attributes #9 = { cold noreturn nounwind } !9 = !{!10, !10, i64 0} !10 = !{!"p1 _ZTS8_IO_FILE", !11, i64 0} !11 = !{!"any pointer", !5, i64 0} -!12 = !{!5, !5, i64 0} +!12 = distinct !{!12, !8} !13 = distinct !{!13, !8} -!14 = distinct !{!14, !8} diff --git a/bench/gromacs/optimized/colvarspreprocessor.ll b/bench/gromacs/optimized/colvarspreprocessor.ll index 09b4428275e..cd4eaf36aac 100644 --- a/bench/gromacs/optimized/colvarspreprocessor.ll +++ b/bench/gromacs/optimized/colvarspreprocessor.ll @@ -1142,7 +1142,7 @@ define noundef zeroext i1 @_ZN3gmx19ColvarsPreProcessor17inputStreamsToKVTENS_25 br label %._crit_edge.i.i ._crit_edge.loopexit: ; preds = %_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev.exit - %.pre = load ptr, ptr %6, align 8, !tbaa !50 + %.pre = load ptr, ptr %6, align 8 br label %._crit_edge ._crit_edge: ; preds = %._crit_edge.loopexit, %3 @@ -1814,16 +1814,15 @@ _ZNSt6vectorIN3gmx20KeyValueTreePropertyESaIS1_EE11_S_relocateEPS1_S4_S4_RS2_.ex 56: ; preds = %_ZNSt6vectorIN3gmx20KeyValueTreePropertyESaIS1_EE11_S_relocateEPS1_S4_S4_RS2_.exit.i tail call void @_ZdlPvm(ptr noundef nonnull %36, i64 noundef %48) #23 - %.pre.pre = load ptr, ptr %0, align 8, !tbaa !88 br label %_ZNSt12_Vector_baseIN3gmx20KeyValueTreePropertyESaIS1_EE13_M_deallocateEPS1_m.exit.i _ZNSt12_Vector_baseIN3gmx20KeyValueTreePropertyESaIS1_EE13_M_deallocateEPS1_m.exit.i: ; preds = %56, %_ZNSt6vectorIN3gmx20KeyValueTreePropertyESaIS1_EE11_S_relocateEPS1_S4_S4_RS2_.exit.i - %.pre = phi ptr [ %.pre.pre, %56 ], [ %6, %_ZNSt6vectorIN3gmx20KeyValueTreePropertyESaIS1_EE11_S_relocateEPS1_S4_S4_RS2_.exit.i ] store ptr %52, ptr %33, align 8, !tbaa !96 %57 = getelementptr inbounds nuw i8, ptr %52, i64 %39 store ptr %57, ptr %34, align 8, !tbaa !93 %58 = getelementptr inbounds nuw %"class.gmx::KeyValueTreeProperty", ptr %52, i64 %41 store ptr %58, ptr %45, align 8, !tbaa !97 + %.pre = load ptr, ptr %0, align 8 br label %_ZNSt6vectorIN3gmx20KeyValueTreePropertyESaIS1_EE7reserveEm.exit _ZNSt6vectorIN3gmx20KeyValueTreePropertyESaIS1_EE7reserveEm.exit: ; preds = %44, %_ZNSt12_Vector_baseIN3gmx20KeyValueTreePropertyESaIS1_EE13_M_deallocateEPS1_m.exit.i @@ -2158,7 +2157,7 @@ _ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i.i %16 = load i64, ptr %9, align 8, !tbaa !28 store i64 %16, ptr %7, align 8, !tbaa !28 %.phi.trans.insert.i.i = getelementptr inbounds nuw i8, ptr %2, i64 8 - %.pre.i.i = load i64, ptr %.phi.trans.insert.i.i, align 8, !tbaa !29 + %.pre.i.i = load i64, ptr %.phi.trans.insert.i.i, align 8 br label %17 17: ; preds = %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i.i.i.i.i.i, %11 diff --git a/bench/grpc/optimized/random_early_detection.ll b/bench/grpc/optimized/random_early_detection.ll index e6286322ce7..d54ea03e719 100644 --- a/bench/grpc/optimized/random_early_detection.ll +++ b/bench/grpc/optimized/random_early_detection.ll @@ -52,7 +52,7 @@ define noundef zeroext i1 @_ZNK9grpc_core20RandomEarlyDetection6RejectEmN4absl12 %17 = getelementptr inbounds nuw i8, ptr %2, i64 8 %18 = load ptr, ptr %17, align 8, !tbaa !12 %19 = icmp eq ptr %18, @_ZN4absl12lts_202407229BitGenRef8NotAMockEmPKvPvS4_ - %.pre = load i64, ptr %2, align 8, !tbaa !15 + %.pre = load i64, ptr %2, align 8 br i1 %19, label %_ZN4absl12lts_202407229BitGenRef10InvokeMockEPKvPvS4_.exit.thread.i.i.i, label %_ZN4absl12lts_202407229BitGenRef10InvokeMockEPKvPvS4_.exit.i.i.i _ZN4absl12lts_202407229BitGenRef10InvokeMockEPKvPvS4_.exit.i.i.i: ; preds = %11 @@ -60,18 +60,18 @@ _ZN4absl12lts_202407229BitGenRef10InvokeMockEPKvPvS4_.exit.i.i.i: ; preds = %11 br i1 %20, label %_ZN4absl12lts_202407229BitGenRef10InvokeMockEPKvPvS4_.exit._crit_edge.i.i.i, label %_ZN4absl12lts_202407229BitGenRef10InvokeMockEPKvPvS4_.exit._ZN4absl12lts_202407229BitGenRef10InvokeMockEPKvPvS4_.exit.thread_crit_edge.i.i.i _ZN4absl12lts_202407229BitGenRef10InvokeMockEPKvPvS4_.exit._crit_edge.i.i.i: ; preds = %_ZN4absl12lts_202407229BitGenRef10InvokeMockEPKvPvS4_.exit.i.i.i - %.pre10.i.i.i = load i8, ptr %5, align 1, !tbaa !16, !range !18 + %.pre10.i.i.i = load i8, ptr %5, align 1, !range !15 %21 = trunc nuw i8 %.pre10.i.i.i to i1 br label %_ZN4absl12lts_202407229BernoulliIRNS0_9BitGenRefEEEbOT_d.exit _ZN4absl12lts_202407229BitGenRef10InvokeMockEPKvPvS4_.exit._ZN4absl12lts_202407229BitGenRef10InvokeMockEPKvPvS4_.exit.thread_crit_edge.i.i.i: ; preds = %_ZN4absl12lts_202407229BitGenRef10InvokeMockEPKvPvS4_.exit.i.i.i - %.pre.i.i.i = load double, ptr %4, align 8, !tbaa !19 + %.pre.i.i.i = load double, ptr %4, align 8 br label %_ZN4absl12lts_202407229BitGenRef10InvokeMockEPKvPvS4_.exit.thread.i.i.i _ZN4absl12lts_202407229BitGenRef10InvokeMockEPKvPvS4_.exit.thread.i.i.i: ; preds = %_ZN4absl12lts_202407229BitGenRef10InvokeMockEPKvPvS4_.exit._ZN4absl12lts_202407229BitGenRef10InvokeMockEPKvPvS4_.exit.thread_crit_edge.i.i.i, %11 %22 = phi double [ %.pre.i.i.i, %_ZN4absl12lts_202407229BitGenRef10InvokeMockEPKvPvS4_.exit._ZN4absl12lts_202407229BitGenRef10InvokeMockEPKvPvS4_.exit.thread_crit_edge.i.i.i ], [ %16, %11 ] %23 = getelementptr inbounds nuw i8, ptr %2, i64 16 - %24 = load ptr, ptr %23, align 8, !tbaa !20 + %24 = load ptr, ptr %23, align 8, !tbaa !16 br label %25 25: ; preds = %31, %_ZN4absl12lts_202407229BitGenRef10InvokeMockEPKvPvS4_.exit.thread.i.i.i @@ -81,7 +81,7 @@ _ZN4absl12lts_202407229BitGenRef10InvokeMockEPKvPvS4_.exit.thread.i.i.i: ; preds %28 = call noundef i64 %24(i64 noundef %.pre) %29 = and i64 %28, 4294967295 %.not.i.i.i.i.i = icmp eq i64 %29, %27 - br i1 %.not.i.i.i.i.i, label %31, label %.thread.i.i.i.i.i, !prof !21 + br i1 %.not.i.i.i.i.i, label %31, label %.thread.i.i.i.i.i, !prof !17 .thread.i.i.i.i.i: ; preds = %25 %30 = icmp ult i64 %29, %27 @@ -93,7 +93,7 @@ _ZN4absl12lts_202407229BitGenRef10InvokeMockEPKvPvS4_.exit.thread.i.i.i: ; preds %34 = fsub double %.013.i.i.i.i.i, %33 %35 = fmul double %34, 0x41F0000000000000 %36 = fcmp une double %35, 0.000000e+00 - br i1 %36, label %25, label %_ZN4absl12lts_202407229BernoulliIRNS0_9BitGenRefEEEbOT_d.exit, !llvm.loop !22 + br i1 %36, label %25, label %_ZN4absl12lts_202407229BernoulliIRNS0_9BitGenRefEEEbOT_d.exit, !llvm.loop !18 _ZN4absl12lts_202407229BernoulliIRNS0_9BitGenRefEEEbOT_d.exit: ; preds = %31, %_ZN4absl12lts_202407229BitGenRef10InvokeMockEPKvPvS4_.exit._crit_edge.i.i.i, %.thread.i.i.i.i.i %37 = phi i1 [ %21, %_ZN4absl12lts_202407229BitGenRef10InvokeMockEPKvPvS4_.exit._crit_edge.i.i.i ], [ %30, %.thread.i.i.i.i.i ], [ false, %31 ] @@ -152,12 +152,8 @@ attributes #7 = { nounwind } !12 = !{!13, !14, i64 8} !13 = !{!"_ZTSN4absl12lts_202407229BitGenRefE", !5, i64 0, !14, i64 8, !14, i64 16} !14 = !{!"any pointer", !6, i64 0} -!15 = !{!13, !5, i64 0} -!16 = !{!17, !17, i64 0} -!17 = !{!"bool", !6, i64 0} -!18 = !{i8 0, i8 2} -!19 = !{!11, !11, i64 0} -!20 = !{!13, !14, i64 16} -!21 = !{!"branch_weights", !"expected", i32 1, i32 2000} -!22 = distinct !{!22, !23} -!23 = !{!"llvm.loop.mustprogress"} +!15 = !{i8 0, i8 2} +!16 = !{!13, !14, i64 16} +!17 = !{!"branch_weights", !"expected", i32 1, i32 2000} +!18 = distinct !{!18, !19} +!19 = !{!"llvm.loop.mustprogress"} diff --git a/bench/grpc/optimized/xds_channel_stack_modifier.ll b/bench/grpc/optimized/xds_channel_stack_modifier.ll index b4959a7ffdb..92802876153 100644 --- a/bench/grpc/optimized/xds_channel_stack_modifier.ll +++ b/bench/grpc/optimized/xds_channel_stack_modifier.ll @@ -204,12 +204,11 @@ define linkonce_odr ptr @_ZNSt6vectorIPK19grpc_channel_filterSaIS2_EE6insertEN9_ %27 = sub nsw i64 0, %26 %28 = getelementptr inbounds ptr, ptr %9, i64 %27 tail call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %28, ptr align 8 %18, i64 %25, i1 false) - %.pre.pre = load ptr, ptr %0, align 8, !tbaa !20 br label %29 29: ; preds = %23, %17 - %.pre = phi ptr [ %.pre.pre, %23 ], [ %4, %17 ] store ptr %19, ptr %18, align 8, !tbaa !11 + %.pre = load ptr, ptr %0, align 8 br label %54 30: ; preds = %3 diff --git a/bench/harfbuzz/optimized/hb-static.ll b/bench/harfbuzz/optimized/hb-static.ll index 8df43e8323e..c361bf15e9f 100644 --- a/bench/harfbuzz/optimized/hb-static.ll +++ b/bench/harfbuzz/optimized/hb-static.ll @@ -1215,8 +1215,8 @@ _ZNK2OT18glyf_accelerator_t13glyph_for_gidEjb.exit: ; preds = %.critedge.i, %_ZN br i1 %.not102, label %._crit_edge134, label %.lr.ph93 ._crit_edge134: ; preds = %78 - %.pre = load float, ptr %.phi.trans.insert, align 4, !tbaa !58 - %.pre136 = load float, ptr %.phi.trans.insert135, align 4, !tbaa !60 + %.pre = load float, ptr %.phi.trans.insert, align 4 + %.pre136 = load float, ptr %.phi.trans.insert135, align 4 %.phi.trans.insert137 = getelementptr inbounds nuw i8, ptr %3, i64 32 %.pre138 = load float, ptr %.phi.trans.insert137, align 8 %.phi.trans.insert139 = getelementptr inbounds nuw i8, ptr %3, i64 40 @@ -1557,7 +1557,7 @@ define linkonce_odr dso_local noundef zeroext i1 @_ZNK2OT9glyf_impl5Glyph10get_p %64 = icmp ne ptr %6, null %or.cond8 = and i1 %64, %63 %65 = getelementptr inbounds nuw i8, ptr %0, i64 16 - %66 = load ptr, ptr %65, align 8, !tbaa !125 + %66 = load ptr, ptr %65, align 8 br i1 %or.cond8, label %67, label %._crit_edge692 67: ; preds = %62 @@ -1696,11 +1696,11 @@ _ZNR9hb_iter_tIN2OT9glyf_impl19composite_iter_tmplINS1_20CompositeGlyphRecordEEE br i1 %.not.i.i.i, label %.critedgethread-pre-split, label %_ZNR9hb_iter_tIN2OT9glyf_impl19composite_iter_tmplINS1_20CompositeGlyphRecordEEERKS3_EppEv.exit .critedgethread-pre-split: ; preds = %126, %105, %111, %108, %98, %76, %80, %._crit_edge692 - %.pr714 = load i32, ptr %.sroa.sel, align 4, !tbaa !130 + %.pr713 = load i32, ptr %.sroa.sel, align 4 br label %.critedge .critedge: ; preds = %.critedgethread-pre-split, %47 - %129 = phi i32 [ %.pr714, %.critedgethread-pre-split ], [ %52, %47 ] + %129 = phi i32 [ %.pr713, %.critedgethread-pre-split ], [ %52, %47 ] %130 = add i32 %129, 4 %131 = call i32 @llvm.smax.i32(i32 %130, i32 0) %132 = load i32, ptr %51, align 8, !tbaa !146 @@ -1809,7 +1809,7 @@ _ZN11hb_vector_tI15contour_point_tLb0EE5allocEjb.exit.thread.i: ; preds = %_ZN11 ._ZNK2OT8hmtxvmtxINS_4hmtxENS_4hheaENS_4HVAREE13accelerator_t40get_leading_bearing_without_var_unscaledEjPi.exit_crit_edge: ; preds = %175 %.phi.trans.insert693 = getelementptr inbounds nuw i8, ptr %0, i64 16 - %.pre694 = load ptr, ptr %.phi.trans.insert693, align 8, !tbaa !125 + %.pre694 = load ptr, ptr %.phi.trans.insert693, align 8 br label %_ZNK2OT8hmtxvmtxINS_4hmtxENS_4hheaENS_4HVAREE13accelerator_t40get_leading_bearing_without_var_unscaledEjPi.exit 178: ; preds = %175 @@ -2124,7 +2124,7 @@ _ZN11hb_vector_tI15contour_point_tLb0EE5allocEjb.exit.thread.i224: ; preds = %_Z %336 = getelementptr inbounds nuw %struct.contour_point_t, ptr %334, i64 %335 %337 = zext i32 %331 to i64 call void @llvm.memset.p0.i64(ptr align 1 %336, i8 0, i64 %337, i1 false) - %.pre695 = load i32, ptr %4, align 8, !tbaa !146 + %.pre695 = load i32, ptr %4, align 8 br label %338 338: ; preds = %332, %329, %_ZN11hb_vector_tI15contour_point_tLb0EE5allocEjb.exit.thread.i224 @@ -2197,7 +2197,7 @@ _ZN11hb_vector_tI15contour_point_tLb0EE11alloc_exactEj.exit.i.i: ; preds = %.sin br i1 %360, label %_ZN22contour_point_vector_taSERKS_.exitthread-pre-split, label %_ZN11hb_vector_tI15contour_point_tLb0EE11alloc_exactEj.exit.threadthread-pre-split.i.i, !prof !172 _ZN11hb_vector_tI15contour_point_tLb0EE11alloc_exactEj.exit.threadthread-pre-split.i.i: ; preds = %_ZN11hb_vector_tI15contour_point_tLb0EE11alloc_exactEj.exit.i.i - %.pr4.i.i = load i32, ptr %.sroa.sel, align 4, !tbaa !130 + %.pr4.i.i = load i32, ptr %.sroa.sel, align 4 br label %_ZN11hb_vector_tI15contour_point_tLb0EE11alloc_exactEj.exit.thread.i.i _ZN11hb_vector_tI15contour_point_tLb0EE11alloc_exactEj.exit.thread.i.i: ; preds = %_ZN11hb_vector_tI15contour_point_tLb0EE11alloc_exactEj.exit.threadthread-pre-split.i.i, %343 @@ -2224,7 +2224,7 @@ _ZN11hb_vector_tI15contour_point_tLb0EE11alloc_exactEj.exit.thread.i.i: ; preds br i1 %370, label %364, label %_ZN22contour_point_vector_taSERKS_.exitthread-pre-split, !llvm.loop !173 _ZN22contour_point_vector_taSERKS_.exitthread-pre-split: ; preds = %364, %_ZN11hb_vector_tI15contour_point_tLb0EE11alloc_exactEj.exit.i.i, %_ZN11hb_vector_tI15contour_point_tLb0EE11alloc_exactEj.exit.thread.i.i - %.pr = load i32, ptr %48, align 4, !tbaa !157 + %.pr = load i32, ptr %48, align 4 br label %_ZN22contour_point_vector_taSERKS_.exit _ZN22contour_point_vector_taSERKS_.exit: ; preds = %_ZN22contour_point_vector_taSERKS_.exitthread-pre-split, %301 @@ -2486,17 +2486,17 @@ _ZN2OT9glyf_impl5GlyphC2E10hb_array_tIKcEj.exit.i: ; preds = %488 _ZNK2OT18glyf_accelerator_t13glyph_for_gidEjb.exit: ; preds = %456, %.critedge.i, %_ZN2OT9glyf_impl5GlyphC2E10hb_array_tIKcEj.exit.i %_hb_NullPool.sink = phi ptr [ @_hb_NullPool, %456 ], [ @_hb_NullPool, %.critedge.i ], [ %spec.select.i.i24.i, %_ZN2OT9glyf_impl5GlyphC2E10hb_array_tIKcEj.exit.i ] - %.sink743 = phi i32 [ -1, %456 ], [ -1, %.critedge.i ], [ %454, %_ZN2OT9glyf_impl5GlyphC2E10hb_array_tIKcEj.exit.i ] + %.sink742 = phi i32 [ -1, %456 ], [ -1, %.critedge.i ], [ %454, %_ZN2OT9glyf_impl5GlyphC2E10hb_array_tIKcEj.exit.i ] %.sink = phi i32 [ 0, %456 ], [ 0, %.critedge.i ], [ %.sroa.7.0, %_ZN2OT9glyf_impl5GlyphC2E10hb_array_tIKcEj.exit.i ] store ptr %_hb_NullPool.sink, ptr %403, align 8 - store i32 %.sink743, ptr %404, align 8 + store i32 %.sink742, ptr %404, align 8 store i32 %.sink, ptr %405, align 4 %503 = call noundef zeroext i1 @_ZNK2OT9glyf_impl5Glyph10get_pointsINS_18glyf_accelerator_tEEEbP9hb_font_tRKT_R22contour_point_vector_tPS9_P16head_maxp_info_tPjbbb10hb_array_tIKiEP8hb_map_tjSE_(ptr noundef nonnull align 8 dereferenceable(32) %20, ptr noundef %1, ptr noundef nonnull align 8 dereferenceable(48) %2, ptr noundef nonnull align 8 dereferenceable(16) %3, ptr noundef %4, ptr noundef %5, ptr noundef %6, i1 noundef zeroext %7, i1 noundef zeroext %8, i1 noundef zeroext %9, ptr noundef nonnull byval(%struct.hb_array_t.161) align 8 %10, ptr noundef nonnull %spec.store.select5, i32 noundef %409, ptr noundef nonnull %spec.store.select) call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %20) #13 br i1 %503, label %_ZNK2OT18glyf_accelerator_t13glyph_for_gidEjb.exit._crit_edge, label %504, !prof !16 _ZNK2OT18glyf_accelerator_t13glyph_for_gidEjb.exit._crit_edge: ; preds = %_ZNK2OT18glyf_accelerator_t13glyph_for_gidEjb.exit - %.pre696 = load i32, ptr %.sroa.gep, align 4, !tbaa !130 + %.pre696 = load i32, ptr %.sroa.gep, align 4 br label %505 504: ; preds = %_ZNK2OT18glyf_accelerator_t13glyph_for_gidEjb.exit @@ -2523,11 +2523,11 @@ _ZNK10hb_array_tI15contour_point_tE9sub_arrayEjPj.exit286: ; preds = %505, %508 %.sroa.3.0.i279.in = phi i32 [ %storemerge.i283, %508 ], [ %506, %505 ] %.sroa.0.0.i280 = phi ptr [ %510, %508 ], [ %507, %505 ] %.sroa.3.0.i279 = zext i32 %.sroa.3.0.i279.in to i64 - %.pre698.pre705 = load i16, ptr %.sroa.5424.0647, align 1, !tbaa !29 - %511 = and i16 %.pre698.pre705, 2 + %.pre698.pre704 = load i16, ptr %.sroa.5424.0647, align 1 + %511 = and i16 %.pre698.pre704, 2 %.not619 = icmp ne i16 %511, 0 - %or.cond744.not = select i1 %8, i1 %.not619, i1 false - br i1 %or.cond744.not, label %.preheader, label %.loopexit624 + %or.cond743.not = select i1 %8, i1 %.not619, i1 false + br i1 %or.cond743.not, label %.preheader, label %.loopexit624 .preheader: ; preds = %_ZNK10hb_array_tI15contour_point_tE9sub_arrayEjPj.exit286 %512 = add i32 %.sroa.3.0.i279.in, -4 @@ -2570,11 +2570,11 @@ _ZN9hb_iter_tI10hb_array_tI15contour_point_tERS1_EixEj.exit292: ; preds = %520, br i1 %exitcond.not, label %.loopexit624.loopexit, label %513, !llvm.loop !187 .loopexit624.loopexit: ; preds = %_ZN9hb_iter_tI10hb_array_tI15contour_point_tERS1_EixEj.exit292 - %.pre698.pre = load i16, ptr %.sroa.5424.0647, align 1, !tbaa !29 + %.pre698.pre = load i16, ptr %.sroa.5424.0647, align 1 br label %.loopexit624 .loopexit624: ; preds = %.loopexit624.loopexit, %_ZNK10hb_array_tI15contour_point_tE9sub_arrayEjPj.exit286 - %.pre698 = phi i16 [ %.pre698.pre, %.loopexit624.loopexit ], [ %.pre698.pre705, %_ZNK10hb_array_tI15contour_point_tE9sub_arrayEjPj.exit286 ] + %.pre698 = phi i16 [ %.pre698.pre, %.loopexit624.loopexit ], [ %.pre698.pre704, %_ZNK10hb_array_tI15contour_point_tE9sub_arrayEjPj.exit286 ] %.not620 = icmp eq i32 %.sroa.3.0.i279.in, 0 br i1 %.not620, label %573, label %523 @@ -2672,7 +2672,7 @@ _ZN11hb_vector_tI15contour_point_tLb0EEixEi.exit: ; preds = %568, %569 %.0.i297 = phi ptr [ @_hb_CrapPool, %568 ], [ %572, %569 ] call void @_ZNK2OT9glyf_impl20CompositeGlyphRecord16transform_pointsE10hb_array_tI15contour_point_tERA4_KfRKS3_(ptr noundef nonnull align 1 dereferenceable(5) %.sroa.5424.0647, ptr %.sroa.0.0.i280, i64 %.sroa.3.0.i279, ptr noundef nonnull align 4 dereferenceable(16) %21, ptr noundef nonnull align 4 dereferenceable(12) %.0.i297) call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %21) #13 - %.pre697 = load i16, ptr %.sroa.5424.0647, align 1, !tbaa !29 + %.pre697 = load i16, ptr %.sroa.5424.0647, align 1 br label %573 573: ; preds = %_ZN11hb_vector_tI15contour_point_tLb0EEixEi.exit, %.loopexit624 @@ -2683,7 +2683,7 @@ _ZN11hb_vector_tI15contour_point_tLb0EEixEi.exit: ; preds = %568, %569 br i1 %or.cond14, label %._ZN2OT9glyf_impl20CompositeGlyphRecord9translateERK15contour_point_t10hb_array_tIS2_E.exit_crit_edge, label %576 ._ZN2OT9glyf_impl20CompositeGlyphRecord9translateERK15contour_point_t10hb_array_tIS2_E.exit_crit_edge: ; preds = %573 - %.pre703 = load i32, ptr %.sroa.gep, align 4, !tbaa !130 + %.pre703 = load i32, ptr %.sroa.gep, align 4 br label %_ZN2OT9glyf_impl20CompositeGlyphRecord9translateERK15contour_point_t10hb_array_tIS2_E.exit 576: ; preds = %573 @@ -2729,9 +2729,9 @@ _ZN9hb_iter_tI10hb_array_tI15contour_point_tERS1_EixEj.exit313: ; preds = %_ZNK2 %603 = load float, ptr %602, align 4, !tbaa !73 %604 = fsub float %600, %603 %.phi.trans.insert701 = getelementptr inbounds nuw %struct.contour_point_t, ptr %.sroa.0.0.i280, i64 %601, i32 1 - %.pre702 = load float, ptr %.phi.trans.insert701, align 4, !tbaa !69 + %.pre702 = load float, ptr %.phi.trans.insert701, align 4 %.phi.trans.insert699 = getelementptr inbounds nuw i8, ptr %599, i64 4 - %.pre700 = load float, ptr %.phi.trans.insert699, align 4, !tbaa !69 + %.pre700 = load float, ptr %.phi.trans.insert699, align 4 %605 = fsub float %.pre700, %.pre702 %606 = fcmp une float %604, 0.000000e+00 %607 = fcmp une float %605, 0.000000e+00 @@ -2823,17 +2823,13 @@ _ZN2OT9glyf_impl20CompositeGlyphRecord9translateERK15contour_point_t10hb_array_t 645: ; preds = %640 %646 = load i32, ptr %3, align 8, !tbaa !146 %.not22.i.i326 = icmp ugt i32 %637, %646 - br i1 %.not22.i.i326, label %._ZN11hb_vector_tI15contour_point_tLb0EE5allocEjb.exit.thread21.i327_crit_edge, label %_ZN11hb_vector_tI15contour_point_tLb0EE5allocEjb.exit.thread.i317 + br i1 %.not22.i.i326, label %_ZN11hb_vector_tI15contour_point_tLb0EE5allocEjb.exit.thread21.i327, label %_ZN11hb_vector_tI15contour_point_tLb0EE5allocEjb.exit.thread.i317 -._ZN11hb_vector_tI15contour_point_tLb0EE5allocEjb.exit.thread21.i327_crit_edge: ; preds = %645 - %.pr596.pre = load i32, ptr %.sroa.gep, align 4, !tbaa !130 - br label %_ZN11hb_vector_tI15contour_point_tLb0EE5allocEjb.exit.thread21.i327 - -_ZN11hb_vector_tI15contour_point_tLb0EE5allocEjb.exit.thread21.i327: ; preds = %._ZN11hb_vector_tI15contour_point_tLb0EE5allocEjb.exit.thread21.i327_crit_edge, %.thread.i.i323 - %.pr596 = phi i32 [ %629, %.thread.i.i323 ], [ %.pr596.pre, %._ZN11hb_vector_tI15contour_point_tLb0EE5allocEjb.exit.thread21.i327_crit_edge ] - %.sink.i.ph.in.i328 = phi i32 [ %632, %.thread.i.i323 ], [ %646, %._ZN11hb_vector_tI15contour_point_tLb0EE5allocEjb.exit.thread21.i327_crit_edge ] +_ZN11hb_vector_tI15contour_point_tLb0EE5allocEjb.exit.thread21.i327: ; preds = %645, %.thread.i.i323 + %.sink.i.ph.in.i328 = phi i32 [ %632, %.thread.i.i323 ], [ %646, %645 ] %.sink.i.ph.i329 = xor i32 %.sink.i.ph.in.i328, -1 store i32 %.sink.i.ph.i329, ptr %3, align 8, !tbaa !146 + %.pr596 = load i32, ptr %.sroa.gep, align 4 br label %_ZN11hb_vector_tI15contour_point_tLb0EE6resizeEibb.exit330 _ZN11hb_vector_tI15contour_point_tLb0EE5allocEjb.exit.i325: ; preds = %640 @@ -4005,7 +4001,7 @@ _ZN2OT18TupleVariationData16tuple_iterator_t18get_shared_indicesER11hb_vector_tI %92 = sub i64 %90, %91 %93 = trunc i64 %92 to i32 call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %8) #13 - %.pre11.i = load i16, ptr %65, align 1, !tbaa !29 + %.pre11.i = load i16, ptr %65, align 1 br label %_ZN2OT18TupleVariationData16tuple_iterator_t18get_shared_indicesER11hb_vector_tIjLb0EE.exit.thread.i _ZN2OT18TupleVariationData16tuple_iterator_t18get_shared_indicesER11hb_vector_tIjLb0EE.exit.i: ; preds = %80 @@ -4483,7 +4479,7 @@ _ZL9hb_memsetPvij.exit290.thread: ; preds = %244 301: ; preds = %.lr.ph640 %302 = getelementptr inbounds nuw i32, ptr %204, i64 %indvars.iv727 - %.pre757 = load i32, ptr %302, align 4, !tbaa !74 + %.pre757 = load i32, ptr %302, align 4 br label %_ZNK9hb_iter_tI10hb_array_tIjERjEixEj.exit _ZNK9hb_iter_tI10hb_array_tIjERjEixEj.exit: ; preds = %300, %301 @@ -4558,7 +4554,7 @@ _ZNK9hb_iter_tI10hb_array_tIjERjEixEj.exit: ; preds = %300, %301 337: ; preds = %.lr.ph638 %338 = getelementptr inbounds nuw i32, ptr %204, i64 %indvars.iv722 - %.pre = load i32, ptr %338, align 4, !tbaa !74 + %.pre = load i32, ptr %338, align 4 br label %_ZNK9hb_iter_tI10hb_array_tIjERjEixEj.exit295 _ZNK9hb_iter_tI10hb_array_tIjERjEixEj.exit295: ; preds = %336, %337 @@ -4765,7 +4761,7 @@ _ZN11hb_vector_tIjLb0EE4pushIJRjEEEPjDpOT_.exit: ; preds = %.critedge.i, %_ZN11 %.not227 = icmp eq i8 %405, 0 %408 = zext i32 %407 to i64 %409 = getelementptr inbounds nuw %struct.contour_point_t, ptr %.sroa.0361.3, i64 %408, i32 2 - %410 = load i8, ptr %409, align 4, !tbaa !136 + %410 = load i8, ptr %409, align 4 br i1 %.not227, label %411, label %.preheader582.backedge .preheader582.backedge: ; preds = %.preheader582, %411 @@ -5711,7 +5707,7 @@ _ZN11hb_vector_tIjLb0EE6resizeEibb.exit: ; preds = %22 .lr.ph84: ; preds = %_ZN11hb_vector_tIjLb0EE6resizeEibb.exit.thread106, %_ZN11hb_vector_tIjLb0EE6resizeEibb.exit %36 = getelementptr inbounds nuw i8, ptr %1, i64 8 %37 = load ptr, ptr %36, align 8 - %.pre = load ptr, ptr %0, align 8, !tbaa !221 + %.pre = load ptr, ptr %0, align 8 br label %38 38: ; preds = %.lr.ph84, %.loopexit @@ -6819,14 +6815,14 @@ _ZN21hb_sanitize_context_t16start_processingEv.exit: ; preds = %13, %22 br i1 %28, label %_ZNK2OT4head8sanitizeEP21hb_sanitize_context_t.exit, label %._ZNK2OT4head8sanitizeEP21hb_sanitize_context_t.exit.thread_crit_edge ._ZNK2OT4head8sanitizeEP21hb_sanitize_context_t.exit.thread_crit_edge: ; preds = %26 - %.pre = load i32, ptr %10, align 4, !tbaa !117 + %.pre = load i32, ptr %10, align 4 br label %_ZNK2OT4head8sanitizeEP21hb_sanitize_context_t.exit.thread _ZNK2OT4head8sanitizeEP21hb_sanitize_context_t.exit: ; preds = %26 %29 = getelementptr inbounds nuw i8, ptr %16, i64 12 %30 = load i32, ptr %29, align 1, !tbaa !102 %31 = icmp eq i32 %30, -180613281 - %.pre53 = load i32, ptr %10, align 4, !tbaa !117 + %.pre53 = load i32, ptr %10, align 4 br i1 %31, label %32, label %_ZNK2OT4head8sanitizeEP21hb_sanitize_context_t.exit.thread 32: ; preds = %_ZNK2OT4head8sanitizeEP21hb_sanitize_context_t.exit @@ -7284,7 +7280,7 @@ _ZNK16hb_lazy_loader_tIN2OT18vmtx_accelerator_tE21hb_face_lazy_loader_tIS1_Lj12E 142: ; preds = %_ZNK16hb_lazy_loader_tIN2OT18vmtx_accelerator_tE21hb_face_lazy_loader_tIS1_Lj12EE9hb_face_tLj12ES1_EcvPKT_IS1_EEv.exit %143 = tail call noundef i32 @_ZNK9hb_face_t15load_num_glyphsEv(ptr noundef nonnull align 8 dereferenceable(440) %1) - %.pre = load i32, ptr %6, align 4, !tbaa !74 + %.pre = load i32, ptr %6, align 4 br label %_ZNK9hb_face_t14get_num_glyphsEv.exit _ZNK9hb_face_t14get_num_glyphsEv.exit: ; preds = %_ZNK16hb_lazy_loader_tIN2OT18vmtx_accelerator_tE21hb_face_lazy_loader_tIS1_Lj12EE9hb_face_tLj12ES1_EcvPKT_IS1_EEv.exit, %142 @@ -7415,7 +7411,7 @@ _ZN21hb_sanitize_context_t15reference_tableIN2OT4gvarEEEP9hb_blob_tPK9hb_face_tj 14: ; preds = %_ZN21hb_sanitize_context_t15reference_tableIN2OT4gvarEEEP9hb_blob_tPK9hb_face_tj.exit call void @hb_blob_destroy(ptr noundef nonnull %13) #13 - %.pre = load ptr, ptr %0, align 8, !tbaa !83 + %.pre = load ptr, ptr %0, align 8 br label %_ZN21hb_sanitize_context_tD2Ev.exit _ZN21hb_sanitize_context_tD2Ev.exit: ; preds = %_ZN21hb_sanitize_context_t15reference_tableIN2OT4gvarEEEP9hb_blob_tPK9hb_face_tj.exit, %14 @@ -7441,7 +7437,7 @@ _ZN21hb_sanitize_context_tD2Ev.exit: ; preds = %_ZN21hb_sanitize_co 26: ; preds = %22 %27 = call noundef i32 @_ZNK9hb_face_t15load_num_glyphsEv(ptr noundef nonnull align 8 dereferenceable(440) %1) - %.pre81 = load ptr, ptr %0, align 8, !tbaa !83 + %.pre81 = load ptr, ptr %0, align 8 br label %_ZNK9hb_face_t14get_num_glyphsEv.exit _ZNK9hb_face_t14get_num_glyphsEv.exit: ; preds = %26, %22, %_ZN21hb_sanitize_context_tD2Ev.exit @@ -8118,7 +8114,7 @@ _ZNK16hb_lazy_loader_tIN2OT4maxpE22hb_table_lazy_loader_tIS1_Lj2ELb1EE9hb_face_t 114: ; preds = %105 %115 = call noundef i32 @_ZNK9hb_face_t15load_num_glyphsEv(ptr noundef nonnull align 8 dereferenceable(440) %1) - %.pre = load i32, ptr %110, align 8, !tbaa !93 + %.pre = load i32, ptr %110, align 8 br label %_ZNK9hb_face_t14get_num_glyphsEv.exit _ZNK9hb_face_t14get_num_glyphsEv.exit: ; preds = %105, %114 @@ -8484,8 +8480,8 @@ define linkonce_odr dso_local noundef zeroext i1 @_ZNK2OT18ItemVariationStore8sa tail call void asm sideeffect "", "~{memory},~{dirflag},~{fpsr},~{flags}"() #13, !srcloc !119 %26 = load i32, ptr %17, align 1, !tbaa !102 %27 = icmp eq i32 %26, 0 - %.pre27 = load ptr, ptr %4, align 8, !tbaa !113 - %.pre29 = load i32, ptr %9, align 8, !tbaa !115 + %.pre27 = load ptr, ptr %4, align 8 + %.pre29 = load i32, ptr %9, align 8 br i1 %27, label %_ZNK2OT8OffsetToINS_13VarRegionListENS_7IntTypeIjLj4EEEvLb1EE8sanitizeIJEEEbP21hb_sanitize_context_tPKvDpOT_.exit.thread, label %28 28: ; preds = %25 @@ -8556,8 +8552,8 @@ _ZN21hb_sanitize_context_t8may_editEPKvj.exit.i.i: ; preds = %_ZN21hb_sanitize_c _ZNK2OT8OffsetToINS_13VarRegionListENS_7IntTypeIjLj4EEEvLb1EE8sanitizeIJEEEbP21hb_sanitize_context_tPKvDpOT_.exit: ; preds = %_ZN21hb_sanitize_context_t8may_editEPKvj.exit.i.i store i32 0, ptr %17, align 1, !tbaa !143 - %.pre = load ptr, ptr %4, align 8, !tbaa !113 - %.pre28 = load i32, ptr %9, align 8, !tbaa !115 + %.pre = load ptr, ptr %4, align 8 + %.pre28 = load i32, ptr %9, align 8 br label %_ZNK2OT8OffsetToINS_13VarRegionListENS_7IntTypeIjLj4EEEvLb1EE8sanitizeIJEEEbP21hb_sanitize_context_tPKvDpOT_.exit.thread _ZNK2OT8OffsetToINS_13VarRegionListENS_7IntTypeIjLj4EEEvLb1EE8sanitizeIJEEEbP21hb_sanitize_context_tPKvDpOT_.exit.thread: ; preds = %25, %_ZN21hb_sanitize_context_t8dispatchIN2OT13VarRegionListEJEEEDTcl9_dispatchfp_cv11hb_priorityILj16EE_Espclsr3stdE7forwardIT0_Efp0_EEERKT_DpOS5_.exit, %_ZNK2OT8OffsetToINS_13VarRegionListENS_7IntTypeIjLj4EEEvLb1EE8sanitizeIJEEEbP21hb_sanitize_context_tPKvDpOT_.exit @@ -9004,7 +9000,7 @@ _ZNK2OT4_heaINS_4hheaEE8sanitizeEP21hb_sanitize_context_t.exit: ; preds = %25 tail call void asm sideeffect "", "~{memory},~{dirflag},~{fpsr},~{flags}"() #13, !srcloc !119 %26 = load i16, ptr %16, align 1, !tbaa !29 %27 = icmp eq i16 %26, 256 - %.pre53 = load i32, ptr %10, align 4, !tbaa !117 + %.pre53 = load i32, ptr %10, align 4 br i1 %27, label %28, label %_ZNK2OT4_heaINS_4hheaEE8sanitizeEP21hb_sanitize_context_t.exit.thread 28: ; preds = %_ZNK2OT4_heaINS_4hheaEE8sanitizeEP21hb_sanitize_context_t.exit @@ -9025,7 +9021,7 @@ _ZNK2OT4_heaINS_4hheaEE8sanitizeEP21hb_sanitize_context_t.exit: ; preds = %25 _ZNK2OT4_heaINS_4hheaEE8sanitizeEP21hb_sanitize_context_t.exit23: ; preds = %29 tail call void asm sideeffect "", "~{memory},~{dirflag},~{fpsr},~{flags}"() #13, !srcloc !119 - %.pre = load i32, ptr %10, align 4, !tbaa !117 + %.pre = load i32, ptr %10, align 4 %37 = icmp eq i32 %.pre, 0 br i1 %37, label %_ZNK2OT4_heaINS_4hheaEE8sanitizeEP21hb_sanitize_context_t.exit23.thread, label %.sink.split @@ -9362,7 +9358,7 @@ _ZNK16hb_lazy_loader_tIN2OT4maxpE22hb_table_lazy_loader_tIS1_Lj2ELb1EE9hb_face_t 113: ; preds = %104 %114 = call noundef i32 @_ZNK9hb_face_t15load_num_glyphsEv(ptr noundef nonnull align 8 dereferenceable(440) %1) - %.pre = load i32, ptr %109, align 8, !tbaa !85 + %.pre = load i32, ptr %109, align 8 br label %_ZNK9hb_face_t14get_num_glyphsEv.exit _ZNK9hb_face_t14get_num_glyphsEv.exit: ; preds = %104, %113 @@ -9459,7 +9455,7 @@ _ZN21hb_sanitize_context_t16start_processingEv.exit: ; preds = %13, %22 44: ; preds = %39 %45 = load i32, ptr %10, align 4, !tbaa !117 %46 = icmp ugt i32 %45, 31 - %.old.pre = load i8, ptr %5, align 8, !tbaa !112, !range !97 + %.old.pre = load i8, ptr %5, align 8, !range !97 br i1 %46, label %.thread, label %_ZN21hb_sanitize_context_t8may_editEPKvj.exit.i.i.i _ZN21hb_sanitize_context_t8may_editEPKvj.exit.i.i.i: ; preds = %44 @@ -9523,12 +9519,12 @@ _ZN21hb_sanitize_context_t8may_editEPKvj.exit.i.i.i23: ; preds = %67 _ZNK2OT4VVAR8sanitizeEP21hb_sanitize_context_t.exit24: ; preds = %51, %53, %59, %62, %73 %.ph = phi i1 [ true, %73 ], [ false, %53 ], [ true, %59 ], [ true, %62 ], [ false, %51 ] - %.pr = load i32, ptr %10, align 4, !tbaa !117 + %.pr = load i32, ptr %10, align 4 %.not21 = icmp eq i32 %.pr, 0 br i1 %.not21, label %81, label %.sink.split 74: ; preds = %25, %27 - %.pr27 = load i32, ptr %10, align 4, !tbaa !117 + %.pr27 = load i32, ptr %10, align 4 %.not18 = icmp eq i32 %.pr27, 0 %75 = load i8, ptr %5, align 8, !range !97 %76 = trunc nuw i8 %75 to i1 @@ -9693,7 +9689,7 @@ _ZNK2OT4_heaINS_4vheaEE8sanitizeEP21hb_sanitize_context_t.exit: ; preds = %25 tail call void asm sideeffect "", "~{memory},~{dirflag},~{fpsr},~{flags}"() #13, !srcloc !119 %26 = load i16, ptr %16, align 1, !tbaa !29 %27 = icmp eq i16 %26, 256 - %.pre53 = load i32, ptr %10, align 4, !tbaa !117 + %.pre53 = load i32, ptr %10, align 4 br i1 %27, label %28, label %_ZNK2OT4_heaINS_4vheaEE8sanitizeEP21hb_sanitize_context_t.exit.thread 28: ; preds = %_ZNK2OT4_heaINS_4vheaEE8sanitizeEP21hb_sanitize_context_t.exit @@ -9714,7 +9710,7 @@ _ZNK2OT4_heaINS_4vheaEE8sanitizeEP21hb_sanitize_context_t.exit: ; preds = %25 _ZNK2OT4_heaINS_4vheaEE8sanitizeEP21hb_sanitize_context_t.exit23: ; preds = %29 tail call void asm sideeffect "", "~{memory},~{dirflag},~{fpsr},~{flags}"() #13, !srcloc !119 - %.pre = load i32, ptr %10, align 4, !tbaa !117 + %.pre = load i32, ptr %10, align 4 %37 = icmp eq i32 %.pre, 0 br i1 %37, label %_ZNK2OT4_heaINS_4vheaEE8sanitizeEP21hb_sanitize_context_t.exit23.thread, label %.sink.split diff --git a/bench/hdf5/optimized/H5C.ll b/bench/hdf5/optimized/H5C.ll index 1d73cbe5808..678703832bd 100644 --- a/bench/hdf5/optimized/H5C.ll +++ b/bench/hdf5/optimized/H5C.ll @@ -573,14 +573,14 @@ define range(i32 -1, 1) i32 @H5C_dest(ptr noundef %0) local_unnamed_addr #0 { br i1 %51, label %52, label %.lr.ph._crit_edge .lr.ph._crit_edge: ; preds = %.lr.ph - %.pre = load ptr, ptr %44, align 8, !tbaa !26 + %.pre = load ptr, ptr %44, align 8 br label %63 52: ; preds = %.lr.ph %53 = getelementptr inbounds nuw i8, ptr %.sink104, i64 48 %54 = load ptr, ptr %53, align 8, !tbaa !119 %55 = icmp eq ptr %54, null - %.pre94 = load ptr, ptr %44, align 8, !tbaa !26 + %.pre94 = load ptr, ptr %44, align 8 br i1 %55, label %56, label %63 56: ; preds = %52 @@ -632,7 +632,7 @@ define range(i32 -1, 1) i32 @H5C_dest(ptr noundef %0) local_unnamed_addr #0 { %84 = phi ptr [ %76, %82 ], [ %64, %77 ] %.not81 = icmp eq ptr %76, null %.phi.trans.insert = getelementptr inbounds nuw i8, ptr %84, i64 32 - %.pre96 = load ptr, ptr %.phi.trans.insert, align 8, !tbaa !85 + %.pre96 = load ptr, ptr %.phi.trans.insert, align 8 br i1 %.not81, label %._crit_edge95, label %85 85: ; preds = %83 @@ -672,7 +672,7 @@ define range(i32 -1, 1) i32 @H5C_dest(ptr noundef %0) local_unnamed_addr #0 { %109 = load ptr, ptr %108, align 8, !tbaa !128 %.not82 = icmp eq ptr %109, null %.phi.trans.insert98 = getelementptr inbounds nuw i8, ptr %.sink104, i64 64 - %.pre99 = load ptr, ptr %.phi.trans.insert98, align 8, !tbaa !127 + %.pre99 = load ptr, ptr %.phi.trans.insert98, align 8 br i1 %.not82, label %._crit_edge97, label %110 110: ; preds = %107 @@ -1149,7 +1149,7 @@ define range(i32 -1, 1) i32 @H5C_flush_to_min_clean(ptr noundef %0) local_unname br i1 %20, label %21, label %._crit_edge ._crit_edge: ; preds = %18 - %.pre = load i8, ptr %2, align 1, !tbaa !3, !range !7 + %.pre = load i8, ptr %2, align 1, !range !7 br label %28 21: ; preds = %18 @@ -1295,7 +1295,7 @@ define range(i32 -1, 1) i32 @H5C_set_cache_auto_resize_config(ptr noundef %0, pt ._crit_edge: ; preds = %56 %.phi.trans.insert = getelementptr inbounds nuw i8, ptr %1, i64 64 - %.pre = load i32, ptr %.phi.trans.insert, align 8, !tbaa !146 + %.pre = load i32, ptr %.phi.trans.insert, align 8 br label %88 59: ; preds = %.thread.i, %56 @@ -1542,7 +1542,7 @@ H5C_validate_resize_config.exit: ; preds = %78, %61 %197 = getelementptr inbounds nuw i8, ptr %0, i64 524888 %198 = load i64, ptr %197, align 8, !tbaa !45 %.phi.trans.insert99 = getelementptr inbounds nuw i8, ptr %0, i64 40 - %.pre100 = load i64, ptr %.phi.trans.insert99, align 8, !tbaa !32 + %.pre100 = load i64, ptr %.phi.trans.insert99, align 8 br label %211 199: ; preds = %189 @@ -2497,8 +2497,8 @@ define range(i32 -1, 1) i32 @H5C_cork(ptr noundef captures(none) %0, i64 noundef store ptr %137, ptr %223, align 8, !tbaa !119 store ptr %198, ptr %216, align 8, !tbaa !120 %.phi.trans.insert = getelementptr inbounds nuw i8, ptr %214, i64 8 - %.pre = load i32, ptr %.phi.trans.insert, align 8, !tbaa !123 - %.pre700 = load ptr, ptr %214, align 8, !tbaa !90 + %.pre = load i32, ptr %.phi.trans.insert, align 8 + %.pre700 = load ptr, ptr %214, align 8 br label %.critedge651 .critedge651: ; preds = %.critedge, %212 @@ -2675,6 +2675,7 @@ define range(i32 -1, 1) i32 @H5C_cork(ptr noundef captures(none) %0, i64 noundef br label %.critedge655 319: ; preds = %253 + store i32 %238, ptr %237, align 8, !tbaa !124 store ptr %240, ptr %236, align 8, !tbaa !126 %320 = load ptr, ptr %242, align 8, !tbaa !187 %.not640 = icmp eq ptr %320, null @@ -2683,7 +2684,7 @@ define range(i32 -1, 1) i32 @H5C_cork(ptr noundef captures(none) %0, i64 noundef 321: ; preds = %319 %322 = getelementptr inbounds nuw i8, ptr %320, i64 32 store ptr %240, ptr %322, align 8, !tbaa !127 - %.pre701 = load ptr, ptr %241, align 8, !tbaa !180 + %.pre701 = load ptr, ptr %241, align 8 br label %323 323: ; preds = %321, %319 @@ -2743,7 +2744,7 @@ define range(i32 -1, 1) i32 @H5C_cork(ptr noundef captures(none) %0, i64 noundef %352 = phi ptr [ %349, %345 ], [ %342, %338 ] %.not646 = icmp eq ptr %352, null %.phi.trans.insert704 = getelementptr inbounds nuw i8, ptr %351, i64 32 - %.pre705 = load ptr, ptr %.phi.trans.insert704, align 8, !tbaa !85 + %.pre705 = load ptr, ptr %.phi.trans.insert704, align 8 br i1 %.not646, label %._crit_edge703, label %353 353: ; preds = %350 @@ -2904,7 +2905,7 @@ define range(i32 -1, 1) i32 @H5C_cork(ptr noundef captures(none) %0, i64 noundef %445 = phi ptr [ %437, %443 ], [ %29, %438 ] %.not626 = icmp eq ptr %437, null %.phi.trans.insert707 = getelementptr inbounds nuw i8, ptr %445, i64 32 - %.pre708 = load ptr, ptr %.phi.trans.insert707, align 8, !tbaa !85 + %.pre708 = load ptr, ptr %.phi.trans.insert707, align 8 br i1 %.not626, label %._crit_edge706, label %446 446: ; preds = %444 @@ -2944,7 +2945,7 @@ define range(i32 -1, 1) i32 @H5C_cork(ptr noundef captures(none) %0, i64 noundef %470 = load ptr, ptr %469, align 8, !tbaa !128 %.not627 = icmp eq ptr %470, null %.phi.trans.insert710 = getelementptr inbounds nuw i8, ptr %.4, i64 64 - %.pre711 = load ptr, ptr %.phi.trans.insert710, align 8, !tbaa !127 + %.pre711 = load ptr, ptr %.phi.trans.insert710, align 8 br i1 %.not627, label %._crit_edge709, label %471 471: ; preds = %468 diff --git a/bench/hdf5/optimized/h5repack_opttable.ll b/bench/hdf5/optimized/h5repack_opttable.ll index 78aca5e37d4..d62d80a92d3 100644 --- a/bench/hdf5/optimized/h5repack_opttable.ll +++ b/bench/hdf5/optimized/h5repack_opttable.ll @@ -230,7 +230,6 @@ thread-pre-split: ; preds = %9 %16 = getelementptr inbounds nuw i8, ptr %2, i64 840 %17 = getelementptr inbounds nuw i8, ptr %2, i64 1096 %wide.trip.count141 = zext i32 %1 to i64 - %.pre.pre.pre = load ptr, ptr %14, align 8, !tbaa !27 br label %.preheader103 .preheader: ; preds = %12 @@ -242,16 +241,16 @@ thread-pre-split: ; preds = %9 %20 = getelementptr inbounds nuw i8, ptr %2, i64 840 %21 = getelementptr inbounds nuw i8, ptr %2, i64 1096 %wide.trip.count148 = zext i32 %1 to i64 - %.pre150 = load ptr, ptr %18, align 8, !tbaa !27 + %.pre150 = load ptr, ptr %18, align 8 br label %120 .preheader103: ; preds = %.preheader103.lr.ph, %aux_tblinsert_layout.exit86 - %.pre.pre = phi ptr [ %.pre.pre.pre, %.preheader103.lr.ph ], [ %.pre.pre151, %aux_tblinsert_layout.exit86 ] %indvars.iv139 = phi i64 [ 0, %.preheader103.lr.ph ], [ %indvars.iv.next140, %aux_tblinsert_layout.exit86 ] %.068120 = phi i1 [ false, %.preheader103.lr.ph ], [ %.1100, %aux_tblinsert_layout.exit86 ] %.069119 = phi i32 [ 0, %.preheader103.lr.ph ], [ %.170, %aux_tblinsert_layout.exit86 ] %22 = load i32, ptr %5, align 4, !tbaa !26 %.not127 = icmp eq i32 %22, 0 + %.pre.pre = load ptr, ptr %14, align 8 br i1 %.not127, label %aux_tblinsert_layout.exit, label %.lr.ph .lr.ph: ; preds = %.preheader103 @@ -454,7 +453,6 @@ aux_tblinsert_layout.exit.thread: ; preds = %64, %59, %57, %50, br i1 %exitcond.not.i91, label %aux_tblinsert_layout.exit86, label %116, !llvm.loop !30 aux_tblinsert_layout.exit86: ; preds = %89, %116, %111, %109, %97, %84, %82, %69, %aux_tblinsert_layout.exit.thread - %.pre.pre151 = phi ptr [ %.pre.pre, %aux_tblinsert_layout.exit.thread ], [ %.val78, %69 ], [ %.val78, %82 ], [ %.val78, %84 ], [ %.val79, %97 ], [ %.val79, %109 ], [ %.val79, %111 ], [ %.val79, %116 ], [ %.val78, %89 ] %.1100 = phi i1 [ true, %aux_tblinsert_layout.exit.thread ], [ false, %69 ], [ false, %82 ], [ false, %84 ], [ true, %97 ], [ true, %109 ], [ true, %111 ], [ true, %116 ], [ false, %89 ] %.170 = phi i32 [ %.069119, %aux_tblinsert_layout.exit.thread ], [ %71, %69 ], [ %71, %82 ], [ %71, %84 ], [ %99, %97 ], [ %99, %109 ], [ %99, %111 ], [ %99, %116 ], [ %71, %89 ] %indvars.iv.next140 = add nuw nsw i64 %indvars.iv139, 1 @@ -673,7 +671,7 @@ thread-pre-split: ; preds = %9 %.05688 = phi i32 [ 0, %.preheader79.lr.ph ], [ %.157, %aux_tblinsert_filter.exit69 ] %16 = load i32, ptr %5, align 4, !tbaa !26 %.not96 = icmp eq i32 %16, 0 - %.pre115.pre = load ptr, ptr %14, align 8, !tbaa !27 + %.pre115.pre = load ptr, ptr %14, align 8 br i1 %.not96, label %._crit_edge, label %.lr.ph .lr.ph: ; preds = %.preheader79 @@ -731,7 +729,7 @@ thread-pre-split: ; preds = %9 br label %.thread .thread: ; preds = %44, %40, %32, %27 - %.pre = load ptr, ptr %14, align 8, !tbaa !27 + %.pre = load ptr, ptr %14, align 8 br label %81 48: ; preds = %18 diff --git a/bench/html5ever-rs/optimized/2p0p1zz6gwjy9c4w.ll b/bench/html5ever-rs/optimized/2p0p1zz6gwjy9c4w.ll index cd9aed97018..d991b8f0ad3 100644 --- a/bench/html5ever-rs/optimized/2p0p1zz6gwjy9c4w.ll +++ b/bench/html5ever-rs/optimized/2p0p1zz6gwjy9c4w.ll @@ -3697,8 +3697,8 @@ define void @"_ZN65_$LT$markup5ever_rcdom..Node$u20$as$u20$core..ops..drop..Drop to label %"._ZN5alloc3vec16Vec$LT$T$C$A$GT$7reserve17h286b4de4b2f08090E.llvm.2171480472617847398.exit_crit_edge" unwind label %36 "._ZN5alloc3vec16Vec$LT$T$C$A$GT$7reserve17h286b4de4b2f08090E.llvm.2171480472617847398.exit_crit_edge": ; preds = %43 - %.pre = load i64, ptr %15, align 8, !alias.scope !964, !noalias !967 - %.pre95 = load ptr, ptr %18, align 8, !alias.scope !964, !noalias !967 + %.pre = load i64, ptr %15, align 8 + %.pre95 = load ptr, ptr %18, align 8, !nonnull !4 br label %"_ZN5alloc3vec16Vec$LT$T$C$A$GT$7reserve17h286b4de4b2f08090E.llvm.2171480472617847398.exit" "_ZN5alloc3vec16Vec$LT$T$C$A$GT$7reserve17h286b4de4b2f08090E.llvm.2171480472617847398.exit": ; preds = %"._ZN5alloc3vec16Vec$LT$T$C$A$GT$7reserve17h286b4de4b2f08090E.llvm.2171480472617847398.exit_crit_edge", %38 @@ -3780,7 +3780,7 @@ define void @"_ZN65_$LT$markup5ever_rcdom..Node$u20$as$u20$core..ops..drop..Drop to label %"._ZN5alloc3vec16Vec$LT$T$C$A$GT$4push17ha56e516a13139feaE.exit_crit_edge" unwind label %77 "._ZN5alloc3vec16Vec$LT$T$C$A$GT$4push17ha56e516a13139feaE.exit_crit_edge": ; preds = %76 - %.pre96 = load i64, ptr %15, align 8, !alias.scope !974 + %.pre96 = load i64, ptr %15, align 8 br label %"_ZN5alloc3vec16Vec$LT$T$C$A$GT$4push17ha56e516a13139feaE.exit" 77: ; preds = %76 @@ -3804,14 +3804,14 @@ define void @"_ZN65_$LT$markup5ever_rcdom..Node$u20$as$u20$core..ops..drop..Drop %85 = add i64 %84, 1 store i64 %85, ptr %15, align 8, !alias.scope !974 call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %2) - %.pre97 = load i64, ptr %55, align 8, !noalias !977 + %.pre97 = load i64, ptr %55, align 8 %86 = add i64 %.pre97, 1 br label %91 .body35: ; preds = %77 - %87 = load i64, ptr %55, align 8, !noalias !982, !noundef !4 + %87 = load i64, ptr %55, align 8, !noalias !977, !noundef !4 %88 = add i64 %87, 1 - store i64 %88, ptr %55, align 8, !noalias !982 + store i64 %88, ptr %55, align 8, !noalias !977 br label %.body 89: ; preds = %.body, %10 @@ -3822,7 +3822,7 @@ define void @"_ZN65_$LT$markup5ever_rcdom..Node$u20$as$u20$core..ops..drop..Drop 91: ; preds = %68, %"_ZN5alloc3vec16Vec$LT$T$C$A$GT$4push17ha56e516a13139feaE.exit" %92 = phi i64 [ 0, %68 ], [ %86, %"_ZN5alloc3vec16Vec$LT$T$C$A$GT$4push17ha56e516a13139feaE.exit" ] - store i64 %92, ptr %55, align 8, !noalias !977 + store i64 %92, ptr %55, align 8, !noalias !982 br label %58 93: ; preds = %71, %35 @@ -3838,20 +3838,18 @@ common.resume: ; preds = %10 resume { ptr, i32 } %.pn23.pn "_ZN4core3ptr88drop_in_place$LT$alloc..vec..Vec$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$$GT$17hed298f06e372a7d7E.llvm.10022686776672290337.exit": ; preds = %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h38e6e968ed04c345E.exit", %13 - %96 = getelementptr inbounds nuw i8, ptr %5, i64 8 - %97 = load ptr, ptr %96, align 8, !alias.scope !989, !nonnull !4, !noundef !4 - %.val.i.i.pre = load i64, ptr %5, align 8, !alias.scope !992 - call void @llvm.experimental.noalias.scope.decl(metadata !997) - call void @llvm.experimental.noalias.scope.decl(metadata !998) - %98 = icmp eq i64 %.val.i.i.pre, 0 - br i1 %98, label %"_ZN4core3ptr95drop_in_place$LT$alloc..raw_vec..RawVec$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$$GT$17hd17a675eb3f69549E.llvm.10022686776672290337.exit", label %99 - -99: ; preds = %"_ZN4core3ptr88drop_in_place$LT$alloc..vec..Vec$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$$GT$17hed298f06e372a7d7E.llvm.10022686776672290337.exit" + %.val.i.i.pre = load i64, ptr %5, align 8 + %96 = icmp eq i64 %.val.i.i.pre, 0 + br i1 %96, label %"_ZN4core3ptr95drop_in_place$LT$alloc..raw_vec..RawVec$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$$GT$17hd17a675eb3f69549E.llvm.10022686776672290337.exit", label %97 + +97: ; preds = %"_ZN4core3ptr88drop_in_place$LT$alloc..vec..Vec$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$$GT$17hed298f06e372a7d7E.llvm.10022686776672290337.exit" + %98 = getelementptr inbounds nuw i8, ptr %5, i64 8 + %99 = load ptr, ptr %98, align 8, !alias.scope !989, !nonnull !4, !noundef !4 %100 = shl nuw i64 %.val.i.i.pre, 3 - call void @__rust_dealloc(ptr noundef nonnull %97, i64 noundef %100, i64 noundef 8) #22, !noalias !992 + call void @__rust_dealloc(ptr noundef nonnull %99, i64 noundef %100, i64 noundef 8) #22, !noalias !992 br label %"_ZN4core3ptr95drop_in_place$LT$alloc..raw_vec..RawVec$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$$GT$17hd17a675eb3f69549E.llvm.10022686776672290337.exit" -"_ZN4core3ptr95drop_in_place$LT$alloc..raw_vec..RawVec$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$$GT$17hd17a675eb3f69549E.llvm.10022686776672290337.exit": ; preds = %"_ZN4core3ptr88drop_in_place$LT$alloc..vec..Vec$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$$GT$17hed298f06e372a7d7E.llvm.10022686776672290337.exit", %99 +"_ZN4core3ptr95drop_in_place$LT$alloc..raw_vec..RawVec$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$$GT$17hd17a675eb3f69549E.llvm.10022686776672290337.exit": ; preds = %"_ZN4core3ptr88drop_in_place$LT$alloc..vec..Vec$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$$GT$17hed298f06e372a7d7E.llvm.10022686776672290337.exit", %97 call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %5) ret void } @@ -4926,5 +4924,3 @@ attributes #26 = { noreturn } !994 = distinct !{!994, !"_ZN77_$LT$alloc..raw_vec..RawVec$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h4e09c7a98c411accE.llvm.10022686776672290337"} !995 = distinct !{!995, !996, !"_ZN4core3ptr95drop_in_place$LT$alloc..raw_vec..RawVec$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$$GT$17hd17a675eb3f69549E.llvm.10022686776672290337: argument 0"} !996 = distinct !{!996, !"_ZN4core3ptr95drop_in_place$LT$alloc..raw_vec..RawVec$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$$GT$17hd17a675eb3f69549E.llvm.10022686776672290337"} -!997 = !{!995} -!998 = !{!993} diff --git a/bench/hyperscan/optimized/ng_small_literal_set.ll b/bench/hyperscan/optimized/ng_small_literal_set.ll index fd8e5c91910..92fb5f0e782 100644 --- a/bench/hyperscan/optimized/ng_small_literal_set.ll +++ b/bench/hyperscan/optimized/ng_small_literal_set.ll @@ -1845,7 +1845,7 @@ _ZN3ue2L10min_periodERKSt3mapINS_12_GLOBAL__N_111sls_literalENS_8flat_setIjSt4le br i1 %or.cond42, label %_ZN3ue2L33checkLongMixedSensitivityLiteralsERKSt3mapINS_12_GLOBAL__N_111sls_literalENS_8flat_setIjSt4lessIjESaIjEEES4_IS2_ESaISt4pairIKS2_S7_EEE.exit, label %_ZN3ue2L10min_periodERKSt3mapINS_12_GLOBAL__N_111sls_literalENS_8flat_setIjSt4lessIjESaIjEEES4_IS2_ESaISt4pairIKS2_S7_EEE.exit._ZN3ue2L10min_periodERKSt3mapINS_12_GLOBAL__N_111sls_literalENS_8flat_setIjSt4lessIjESaIjEEES4_IS2_ESaISt4pairIKS2_S7_EEE.exit.thread_crit_edge _ZN3ue2L10min_periodERKSt3mapINS_12_GLOBAL__N_111sls_literalENS_8flat_setIjSt4lessIjESaIjEEES4_IS2_ESaISt4pairIKS2_S7_EEE.exit._ZN3ue2L10min_periodERKSt3mapINS_12_GLOBAL__N_111sls_literalENS_8flat_setIjSt4lessIjESaIjEEES4_IS2_ESaISt4pairIKS2_S7_EEE.exit.thread_crit_edge: ; preds = %_ZN3ue2L10min_periodERKSt3mapINS_12_GLOBAL__N_111sls_literalENS_8flat_setIjSt4lessIjESaIjEEES4_IS2_ESaISt4pairIKS2_S7_EEE.exit - %.val.i.i.i.i33.pre = load ptr, ptr %21, align 8, !noalias !80 + %.val.i.i.i.i33.pre = load ptr, ptr %21, align 8 br label %_ZN3ue2L10min_periodERKSt3mapINS_12_GLOBAL__N_111sls_literalENS_8flat_setIjSt4lessIjESaIjEEES4_IS2_ESaISt4pairIKS2_S7_EEE.exit.thread 686: ; preds = %.lr.ph.i30 @@ -1894,7 +1894,7 @@ _ZN3ue2L10min_periodERKSt3mapINS_12_GLOBAL__N_111sls_literalENS_8flat_setIjSt4le %.1.i.i.i36 = select i1 %704, i1 %.021.i.i.i, i1 %..0.i.i.i %706 = add nuw i64 %.sroa.6.019.i.i.i, 1 %.not.i.i.i37 = icmp eq i64 %706, %689 - br i1 %.not.i.i.i37, label %_ZN3ue217mixed_sensitivityERKNS_11ue2_literalE.exit.i, label %.lr.ph.split.i.i.i, !llvm.loop !85 + br i1 %.not.i.i.i37, label %_ZN3ue217mixed_sensitivityERKNS_11ue2_literalE.exit.i, label %.lr.ph.split.i.i.i, !llvm.loop !80 _ZN3ue217mixed_sensitivityERKNS_11ue2_literalE.exit.i: ; preds = %.lr.ph.split.i.i.i %707 = select i1 %.13.i.i.i, i1 %.1.i.i.i36, i1 false @@ -2032,7 +2032,7 @@ _ZNKSt4lessIN3ue212_GLOBAL__N_111sls_literalEEclERKS2_S5_.exit.i.i: ; preds = %2 %26 = getelementptr i8, ptr %.02633.i.i, i64 %.sink.i.i %.026.i.i = load ptr, ptr %26, align 8 %.not.i.i = icmp eq ptr %.026.i.i, null - br i1 %.not.i.i, label %._crit_edge.i.i, label %7, !llvm.loop !86 + br i1 %.not.i.i, label %._crit_edge.i.i, label %7, !llvm.loop !81 ._crit_edge.i.i: ; preds = %_ZNKSt4lessIN3ue212_GLOBAL__N_111sls_literalEEclERKS2_S5_.exit.i.i br i1 %.0.i.i28.i.i, label %._crit_edge.thread.i.i, label %31 @@ -2284,7 +2284,7 @@ _ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i.i _ZNSt8_Rb_treeIN3ue212_GLOBAL__N_111sls_literalES2_St9_IdentityIS2_ESt4lessIS2_ESaIS2_EE12_M_drop_nodeEPSt13_Rb_tree_nodeIS2_E.exit: ; preds = %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i.i.i.i.i.i.i, %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i.i.i.i.i.i.i tail call void @_ZdlPv(ptr noundef nonnull %.02) #23 %.not = icmp eq ptr %.0.val, null - br i1 %.not, label %._crit_edge, label %.lr.ph, !llvm.loop !87 + br i1 %.not, label %._crit_edge, label %.lr.ph, !llvm.loop !82 ._crit_edge: ; preds = %_ZNSt8_Rb_treeIN3ue212_GLOBAL__N_111sls_literalES2_St9_IdentityIS2_ESt4lessIS2_ESaIS2_EE12_M_drop_nodeEPSt13_Rb_tree_nodeIS2_E.exit, %1 ret void @@ -2695,7 +2695,7 @@ _ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i.i _ZNSt8_Rb_treeIN3ue212_GLOBAL__N_111sls_literalESt4pairIKS2_NS0_8flat_setIjSt4lessIjESaIjEEEESt10_Select1stISA_ES6_IS2_ESaISA_EE12_M_drop_nodeEPSt13_Rb_tree_nodeISA_E.exit: ; preds = %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i.i.i.i.i.i.i.i, %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i.i.i.i.i.i.i.i tail call void @_ZdlPv(ptr noundef nonnull %.02) #23 %.not = icmp eq ptr %.0.val, null - br i1 %.not, label %._crit_edge, label %.lr.ph, !llvm.loop !88 + br i1 %.not, label %._crit_edge, label %.lr.ph, !llvm.loop !83 ._crit_edge: ; preds = %_ZNSt8_Rb_treeIN3ue212_GLOBAL__N_111sls_literalESt4pairIKS2_NS0_8flat_setIjSt4lessIjESaIjEEEESt10_Select1stISA_ES6_IS2_ESaISA_EE12_M_drop_nodeEPSt13_Rb_tree_nodeISA_E.exit, %1 ret void @@ -2825,12 +2825,7 @@ attributes #25 = { nounwind willreturn memory(read) } !77 = distinct !{!77, !"_ZN5boost12range_detailorISt3mapIN3ue212_GLOBAL__N_111sls_literalENS3_8flat_setIjSt4lessIjESaIjEEES7_IS5_ESaISt4pairIKS5_SA_EEENS0_12select_firstISG_EEEENS0_17transformed_rangeIT0_KT_EERSM_RKNS0_16transform_holderISK_EE"} !78 = distinct !{!78, !79, !"_ZN5boost12range_detailorISt3mapIN3ue212_GLOBAL__N_111sls_literalENS3_8flat_setIjSt4lessIjESaIjEEES7_IS5_ESaISt4pairIKS5_SA_EEEEENS0_18select_first_rangeIT_EERKSI_NS0_18map_keys_forwarderE: argument 0"} !79 = distinct !{!79, !"_ZN5boost12range_detailorISt3mapIN3ue212_GLOBAL__N_111sls_literalENS3_8flat_setIjSt4lessIjESaIjEEES7_IS5_ESaISt4pairIKS5_SA_EEEEENS0_18select_first_rangeIT_EERKSI_NS0_18map_keys_forwarderE"} -!80 = !{!81, !83} -!81 = distinct !{!81, !82, !"_ZN5boost12range_detailorISt3mapIN3ue212_GLOBAL__N_111sls_literalENS3_8flat_setIjSt4lessIjESaIjEEES7_IS5_ESaISt4pairIKS5_SA_EEENS0_12select_firstISG_EEEENS0_17transformed_rangeIT0_KT_EERSM_RKNS0_16transform_holderISK_EE: argument 0"} -!82 = distinct !{!82, !"_ZN5boost12range_detailorISt3mapIN3ue212_GLOBAL__N_111sls_literalENS3_8flat_setIjSt4lessIjESaIjEEES7_IS5_ESaISt4pairIKS5_SA_EEENS0_12select_firstISG_EEEENS0_17transformed_rangeIT0_KT_EERSM_RKNS0_16transform_holderISK_EE"} -!83 = distinct !{!83, !84, !"_ZN5boost12range_detailorISt3mapIN3ue212_GLOBAL__N_111sls_literalENS3_8flat_setIjSt4lessIjESaIjEEES7_IS5_ESaISt4pairIKS5_SA_EEEEENS0_18select_first_rangeIT_EERKSI_NS0_18map_keys_forwarderE: argument 0"} -!84 = distinct !{!84, !"_ZN5boost12range_detailorISt3mapIN3ue212_GLOBAL__N_111sls_literalENS3_8flat_setIjSt4lessIjESaIjEEES7_IS5_ESaISt4pairIKS5_SA_EEEEENS0_18select_first_rangeIT_EERKSI_NS0_18map_keys_forwarderE"} -!85 = distinct !{!85, !8} -!86 = distinct !{!86, !8} -!87 = distinct !{!87, !8} -!88 = distinct !{!88, !8} +!80 = distinct !{!80, !8} +!81 = distinct !{!81, !8} +!82 = distinct !{!82, !8} +!83 = distinct !{!83, !8} diff --git a/bench/image-rs/optimized/1njpscpjlgoe3i07.ll b/bench/image-rs/optimized/1njpscpjlgoe3i07.ll index 0ddbbc386d3..f1040e82e3d 100644 --- a/bench/image-rs/optimized/1njpscpjlgoe3i07.ll +++ b/bench/image-rs/optimized/1njpscpjlgoe3i07.ll @@ -515,9 +515,9 @@ default.unreachable2: ; preds = %5 15: ; preds = %8 call void @"_ZN3std2io8buffered9bufwriter18BufWriter$LT$W$GT$10write_cold17h44ddcdec382dda78E"(ptr noalias noundef nonnull sret({ i64, [1 x i64] }) align 8 captures(none) dereferenceable(16) %6, ptr noalias noundef nonnull align 8 dereferenceable(32) %9, ptr noalias noundef nonnull readonly align 1 %3, i64 noundef %4), !noalias !6 - %.pre = load i64, ptr %6, align 8, !range !19, !alias.scope !20, !noalias !23 + %.pre = load i64, ptr %6, align 8, !range !19 %.phi.trans.insert = getelementptr inbounds nuw i8, ptr %6, i64 8 - %.pre1 = load ptr, ptr %.phi.trans.insert, align 8, !alias.scope !20, !noalias !23 + %.pre1 = load ptr, ptr %.phi.trans.insert, align 8 %16 = ptrtoint ptr %.pre1 to i64 br label %"_ZN3std2io5impls58_$LT$impl$u20$std..io..Write$u20$for$u20$$RF$mut$u20$W$GT$5write17hf0e9ec49d0ef6bf0E.llvm.98706352026558795.exit" @@ -525,7 +525,7 @@ default.unreachable2: ; preds = %5 %18 = getelementptr inbounds nuw i8, ptr %9, i64 8 %19 = load ptr, ptr %18, align 8, !alias.scope !13, !noalias !16, !nonnull !5, !noundef !5 %20 = getelementptr inbounds i8, ptr %19, i64 %12 - tail call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 1 %20, ptr nonnull readonly align 1 %3, i64 %4, i1 false), !noalias !25 + tail call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 1 %20, ptr nonnull readonly align 1 %3, i64 %4, i1 false), !noalias !20 %21 = add i64 %12, %4 store i64 %21, ptr %11, align 8, !alias.scope !13, !noalias !16 br label %"_ZN3std2io5impls58_$LT$impl$u20$std..io..Write$u20$for$u20$$RF$mut$u20$W$GT$5write17hf0e9ec49d0ef6bf0E.llvm.98706352026558795.exit" @@ -533,11 +533,9 @@ default.unreachable2: ; preds = %5 "_ZN3std2io5impls58_$LT$impl$u20$std..io..Write$u20$for$u20$$RF$mut$u20$W$GT$5write17hf0e9ec49d0ef6bf0E.llvm.98706352026558795.exit": ; preds = %15, %17 %.sink.i = phi i64 [ %16, %15 ], [ %4, %17 ] %22 = phi i64 [ %.pre, %15 ], [ 0, %17 ] - tail call void @llvm.experimental.noalias.scope.decl(metadata !23) - tail call void @llvm.experimental.noalias.scope.decl(metadata !20) %23 = getelementptr inbounds nuw i8, ptr %0, i64 8 - store i64 %.sink.i, ptr %23, align 8, !alias.scope !23, !noalias !20 - store i64 %22, ptr %0, align 8, !alias.scope !23, !noalias !20 + store i64 %.sink.i, ptr %23, align 8, !alias.scope !21, !noalias !24 + store i64 %22, ptr %0, align 8, !alias.scope !21, !noalias !24 call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %6) br label %30 @@ -1210,7 +1208,7 @@ define hidden noundef ptr @"_ZN3exr2io17Tracking$LT$T$GT$13seek_write_to17hb93f2 call void @"_ZN47_$LT$std..fs..File$u20$as$u20$std..io..Seek$GT$4seek17h155d14e543025dc3E"(ptr noalias noundef nonnull sret({ i64, [1 x i64] }) align 8 captures(none) dereferenceable(16) %6, ptr noalias noundef nonnull align 4 dereferenceable(4) %16, ptr noalias noundef nonnull align 8 captures(none) dereferenceable(16) %5) %.pre = load i64, ptr %6, align 8, !range !19 %.phi.trans.insert = getelementptr inbounds nuw i8, ptr %6, i64 8 - %.pre22 = load ptr, ptr %.phi.trans.insert, align 8 + %.pre22 = load ptr, ptr %.phi.trans.insert, align 8, !nonnull !5 %17 = trunc nuw i64 %.pre to i1 call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %5) call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %6) @@ -1685,7 +1683,7 @@ define hidden noalias noundef ptr @_ZN3std2io5Write9write_all17hda6d87d1c6cd9aea %8 = tail call i64 @llvm.uadd.sat.i64(i64 %.promoted, i64 range(i64 1, 0) %2) %9 = load i64, ptr %0, align 8, !alias.scope !271, !noalias !274, !noundef !5 %10 = icmp ugt i64 %8, %9 - %.pre19 = load i64, ptr %6, align 8, !alias.scope !271, !noalias !274 + %.pre19 = load i64, ptr %6, align 8 br i1 %10, label %11, label %"_ZN5alloc3vec16Vec$LT$T$C$A$GT$7reserve17h4775764c3360a65dE.exit.i.i.i.us" 11: ; preds = %.lr.ph.split.us @@ -1696,7 +1694,7 @@ define hidden noalias noundef ptr @_ZN3std2io5Write9write_all17hda6d87d1c6cd9aea 15: ; preds = %11 tail call void @"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$7reserve21do_reserve_and_handle17hf4ac459b374fe018E"(ptr noalias noundef nonnull align 8 dereferenceable(32) %0, i64 noundef %.pre19, i64 noundef %12), !noalias !274 - %.pre = load i64, ptr %6, align 8, !alias.scope !271, !noalias !274 + %.pre = load i64, ptr %6, align 8 br label %"_ZN5alloc3vec16Vec$LT$T$C$A$GT$7reserve17h4775764c3360a65dE.exit.i.i.i.us" "_ZN5alloc3vec16Vec$LT$T$C$A$GT$7reserve17h4775764c3360a65dE.exit.i.i.i.us": ; preds = %15, %11, %.lr.ph.split.us @@ -34384,12 +34382,12 @@ attributes #38 = { cold } !17 = distinct !{!17, !15, !"_ZN83_$LT$std..io..buffered..bufwriter..BufWriter$LT$W$GT$$u20$as$u20$std..io..Write$GT$5write17h0822b85f7b132acfE.llvm.98706352026558795: argument 0"} !18 = distinct !{!18, !15, !"_ZN83_$LT$std..io..buffered..bufwriter..BufWriter$LT$W$GT$$u20$as$u20$std..io..Write$GT$5write17h0822b85f7b132acfE.llvm.98706352026558795: argument 2"} !19 = !{i64 0, i64 2} -!20 = !{!21} -!21 = distinct !{!21, !22, !"_ZN4core6result19Result$LT$T$C$E$GT$3map17ha2ca90b6e9a1f4bbE.llvm.98706352026558795: argument 1"} -!22 = distinct !{!22, !"_ZN4core6result19Result$LT$T$C$E$GT$3map17ha2ca90b6e9a1f4bbE.llvm.98706352026558795"} -!23 = !{!24} -!24 = distinct !{!24, !22, !"_ZN4core6result19Result$LT$T$C$E$GT$3map17ha2ca90b6e9a1f4bbE.llvm.98706352026558795: argument 0"} -!25 = !{!17, !14, !10, !7} +!20 = !{!17, !14, !10, !7} +!21 = !{!22} +!22 = distinct !{!22, !23, !"_ZN4core6result19Result$LT$T$C$E$GT$3map17ha2ca90b6e9a1f4bbE.llvm.98706352026558795: argument 0"} +!23 = distinct !{!23, !"_ZN4core6result19Result$LT$T$C$E$GT$3map17ha2ca90b6e9a1f4bbE.llvm.98706352026558795"} +!24 = !{!25} +!25 = distinct !{!25, !23, !"_ZN4core6result19Result$LT$T$C$E$GT$3map17ha2ca90b6e9a1f4bbE.llvm.98706352026558795: argument 1"} !26 = !{!27} !27 = distinct !{!27, !28, !"_ZN3std2io5impls69_$LT$impl$u20$std..io..Write$u20$for$u20$$RF$mut$u20$$u5b$u8$u5d$$GT$5write17h606ec0cbd419965bE.llvm.98706352026558795: argument 1"} !28 = distinct !{!28, !"_ZN3std2io5impls69_$LT$impl$u20$std..io..Write$u20$for$u20$$RF$mut$u20$$u5b$u8$u5d$$GT$5write17h606ec0cbd419965bE.llvm.98706352026558795"} diff --git a/bench/ipopt/optimized/IpFilterLSAcceptor.ll b/bench/ipopt/optimized/IpFilterLSAcceptor.ll index 5d5a873b287..45c08252f47 100644 --- a/bench/ipopt/optimized/IpFilterLSAcceptor.ll +++ b/bench/ipopt/optimized/IpFilterLSAcceptor.ll @@ -6061,7 +6061,7 @@ define noundef zeroext i1 @_ZN5Ipopt16FilterLSAcceptor7IsFtypeEd(ptr noundef non br label %thread-pre-split thread-pre-split: ; preds = %2, %18 - %.pr = load double, ptr %7, align 8, !tbaa !67 + %.pr = load double, ptr %7, align 8 br label %23 23: ; preds = %thread-pre-split, %14 @@ -6387,7 +6387,7 @@ _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit46: ; preds = %_ZN br label %thread-pre-split.i thread-pre-split.i: ; preds = %117, %103 - %.pr.i = load double, ptr %106, align 8, !tbaa !67 + %.pr.i = load double, ptr %106, align 8 br label %122 122: ; preds = %thread-pre-split.i, %113 @@ -9843,7 +9843,7 @@ define noundef zeroext i1 @_ZN5Ipopt16FilterLSAcceptor12TryCorrectorEdRdRNS_8Sma %49 = load i8, ptr %48, align 1, !tbaa !182, !range !95, !noundef !96 %50 = trunc nuw i8 %49 to i1 %51 = getelementptr inbounds nuw i8, ptr %0, i64 32 - %52 = load ptr, ptr %51, align 8, !tbaa !22 + %52 = load ptr, ptr %51, align 8 br i1 %50, label %53, label %._crit_edge 53: ; preds = %47 @@ -9919,7 +9919,7 @@ _ZNK5Ipopt14CompoundVector9ConstCompEi.exit.thread.i.i.i354: ; preds = %_ZNK5Ipo %90 = load i32, ptr %89, align 8, !tbaa !3, !noalias !206 %91 = add nsw i32 %90, 1 store i32 %91, ptr %89, align 8, !tbaa !3, !noalias !206 - %.pre1838 = load i32, ptr %80, align 8, !tbaa !3, !noalias !209 + %.pre1838 = load i32, ptr %80, align 8 br label %92 92: ; preds = %_ZNK5Ipopt14CompoundVector10IsCompNullEi.exit.i.i357, %_ZNK5Ipopt14CompoundVector9ConstCompEi.exit.thread.i.i.i354 @@ -9951,7 +9951,7 @@ _ZNK5Ipopt14CompoundVector9ConstCompEi.exit.thread.i.i.i362: ; preds = %_ZNK5Ipo %107 = load i32, ptr %106, align 8, !tbaa !3, !noalias !217 %108 = add nsw i32 %107, 1 store i32 %108, ptr %106, align 8, !tbaa !3, !noalias !217 - %.pre1839 = load i32, ptr %80, align 8, !tbaa !3, !noalias !220 + %.pre1839 = load i32, ptr %80, align 8 br label %109 109: ; preds = %_ZNK5Ipopt14CompoundVector10IsCompNullEi.exit.i.i365, %_ZNK5Ipopt14CompoundVector9ConstCompEi.exit.thread.i.i.i362 @@ -9978,7 +9978,7 @@ _ZNK5Ipopt14CompoundVector10IsCompNullEi.exit.i.i373: ; preds = %109 br i1 %.not3.i.i.i374, label %_ZNK5Ipopt14CompoundVector10IsCompNullEi.exit.i.i373._crit_edge, label %_ZNK5Ipopt14CompoundVector9ConstCompEi.exit.thread.i.i.i370 _ZNK5Ipopt14CompoundVector10IsCompNullEi.exit.i.i373._crit_edge: ; preds = %_ZNK5Ipopt14CompoundVector10IsCompNullEi.exit.i.i373 - %.pre1840 = load i32, ptr inttoptr (i64 8 to ptr), align 8, !tbaa !3 + %.pre1840 = load i32, ptr inttoptr (i64 8 to ptr), align 8 %123 = add nsw i32 %.pre1840, -1 br label %127 @@ -10547,12 +10547,11 @@ _ZN5Ipopt8SmartPtrINS_14IteratesVectorEED2Ev.exit: ; preds = %387, %382, %_ZN5Ip %401 = getelementptr inbounds nuw i8, ptr %400, i64 8 %402 = load ptr, ptr %401, align 8 call void %402(ptr noundef nonnull align 8 dereferenceable(280) %393) #24 - %.pre1841.pre = load ptr, ptr %57, align 8, !tbaa !22 br label %_ZN5Ipopt8SmartPtrINS_14IteratesVectorEED2Ev.exit423 _ZN5Ipopt8SmartPtrINS_14IteratesVectorEED2Ev.exit423: ; preds = %_ZN5Ipopt8SmartPtrINS_14IteratesVectorEED2Ev.exit, %394, %399 - %.pre1841 = phi ptr [ %391, %_ZN5Ipopt8SmartPtrINS_14IteratesVectorEED2Ev.exit ], [ %391, %394 ], [ %.pre1841.pre, %399 ] call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %6) #24 + %.pre1841 = load ptr, ptr %57, align 8 br label %544 403: ; preds = %.noexc718, %1474, %214 @@ -18049,13 +18048,13 @@ _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit1442: ; preds = %_ to label %_ZN5Ipopt9TimedTask3EndEv.exit.sink.split unwind label %3942 _ZN5Ipopt9TimedTask3EndEv.exit.sink.split: ; preds = %.noexc1444, %.noexc1394 - %.sink1849 = phi ptr [ %3814, %.noexc1394 ], [ %4075, %.noexc1444 ] + %.sink1848 = phi ptr [ %3814, %.noexc1394 ], [ %4075, %.noexc1444 ] %.sink = phi double [ %3835, %.noexc1394 ], [ %4096, %.noexc1444 ] %.2.ph = phi i1 [ false, %.noexc1394 ], [ %.01681837, %.noexc1444 ] - %4097 = getelementptr inbounds nuw i8, ptr %.sink1849, i64 1440 + %4097 = getelementptr inbounds nuw i8, ptr %.sink1848, i64 1440 %4098 = load double, ptr %4097, align 8, !tbaa !236 %4099 = fsub double %.sink, %4098 - %4100 = getelementptr inbounds nuw i8, ptr %.sink1849, i64 1448 + %4100 = getelementptr inbounds nuw i8, ptr %.sink1848, i64 1448 %4101 = load double, ptr %4100, align 8, !tbaa !807 %4102 = fadd double %4101, %4099 store double %4102, ptr %4100, align 8, !tbaa !807 @@ -18183,12 +18182,12 @@ define noundef signext range(i8 102, 105) i8 @_ZN5Ipopt16FilterLSAcceptor22Updat %21 = getelementptr inbounds nuw i8, ptr %20, i64 16 %22 = load ptr, ptr %21, align 8 tail call void (ptr, i32, i32, ptr, ...) %22(ptr noundef nonnull align 8 dereferenceable(40) %19, i32 noundef 4, i32 noundef 8, ptr noundef nonnull @.str.68, double noundef 0xBCB0000000000000) - %.pre3.pre.pre = load double, ptr %5, align 8, !tbaa !62 + %.pre3.pre.pre = load double, ptr %5, align 8 br label %thread-pre-split.i thread-pre-split.i: ; preds = %18, %2 %.pre3.pre = phi double [ %.pre3.pre.pre, %18 ], [ %12, %2 ] - %.pr.i = load double, ptr %7, align 8, !tbaa !67 + %.pr.i = load double, ptr %7, align 8 br label %23 23: ; preds = %thread-pre-split.i, %14 @@ -18231,7 +18230,7 @@ _ZN5Ipopt16FilterLSAcceptor7IsFtypeEd.exit: ; preds = %23 br i1 %53, label %70, label %._ZN5Ipopt16FilterLSAcceptor7IsFtypeEd.exit.thread_crit_edge ._ZN5Ipopt16FilterLSAcceptor7IsFtypeEd.exit.thread_crit_edge: ; preds = %38 - %.pre = load double, ptr %5, align 8, !tbaa !62 + %.pre = load double, ptr %5, align 8 br label %_ZN5Ipopt16FilterLSAcceptor7IsFtypeEd.exit.thread _ZN5Ipopt16FilterLSAcceptor7IsFtypeEd.exit.thread: ; preds = %._ZN5Ipopt16FilterLSAcceptor7IsFtypeEd.exit.thread_crit_edge, %23, %_ZN5Ipopt16FilterLSAcceptor7IsFtypeEd.exit diff --git a/bench/ipopt/optimized/IpPiecewisePenalty.ll b/bench/ipopt/optimized/IpPiecewisePenalty.ll index 067beeef7c8..d798ffe0a6b 100644 --- a/bench/ipopt/optimized/IpPiecewisePenalty.ll +++ b/bench/ipopt/optimized/IpPiecewisePenalty.ll @@ -123,7 +123,7 @@ define noundef zeroext i1 @_ZN5Ipopt16PiecewisePenalty10AcceptableEdd(ptr nounde br i1 %.not105111, label %.loopexit, label %.lr.ph.preheader .lr.ph.preheader: ; preds = %65 - %.pre = load double, ptr %.sroa.061.0110, align 8, !tbaa !21 + %.pre = load double, ptr %.sroa.061.0110, align 8 br label %.lr.ph 66: ; preds = %.lr.ph @@ -279,14 +279,14 @@ _ZNSt6vectorIN5Ipopt17PiecewisePenEntryESaIS1_EE5clearEv.exit: ; preds = %11 36: ; preds = %.lr.ph, %_ZN5Ipopt16PiecewisePenalty8AddEntryEddd.exit126 %37 = phi ptr [ %20, %.lr.ph ], [ %227, %_ZN5Ipopt16PiecewisePenalty8AddEntryEddd.exit126 ] - %38 = phi ptr [ %7, %.lr.ph ], [ %.pre178, %_ZN5Ipopt16PiecewisePenalty8AddEntryEddd.exit126 ] - %39 = phi ptr [ %7, %.lr.ph ], [ %228, %_ZN5Ipopt16PiecewisePenalty8AddEntryEddd.exit126 ] - %40 = phi ptr [ %7, %.lr.ph ], [ %229, %_ZN5Ipopt16PiecewisePenalty8AddEntryEddd.exit126 ] - %41 = phi ptr [ %7, %.lr.ph ], [ %230, %_ZN5Ipopt16PiecewisePenalty8AddEntryEddd.exit126 ] - %42 = phi ptr [ %20, %.lr.ph ], [ %231, %_ZN5Ipopt16PiecewisePenalty8AddEntryEddd.exit126 ] - %43 = phi ptr [ %7, %.lr.ph ], [ %232, %_ZN5Ipopt16PiecewisePenalty8AddEntryEddd.exit126 ] + %38 = phi ptr [ %7, %.lr.ph ], [ %228, %_ZN5Ipopt16PiecewisePenalty8AddEntryEddd.exit126 ] + %39 = phi ptr [ %7, %.lr.ph ], [ %229, %_ZN5Ipopt16PiecewisePenalty8AddEntryEddd.exit126 ] + %40 = phi ptr [ %7, %.lr.ph ], [ %230, %_ZN5Ipopt16PiecewisePenalty8AddEntryEddd.exit126 ] + %41 = phi ptr [ %7, %.lr.ph ], [ %231, %_ZN5Ipopt16PiecewisePenalty8AddEntryEddd.exit126 ] + %42 = phi ptr [ %20, %.lr.ph ], [ %232, %_ZN5Ipopt16PiecewisePenalty8AddEntryEddd.exit126 ] + %43 = phi ptr [ %7, %.lr.ph ], [ %233, %_ZN5Ipopt16PiecewisePenalty8AddEntryEddd.exit126 ] %.0177 = phi double [ %28, %.lr.ph ], [ %54, %_ZN5Ipopt16PiecewisePenalty8AddEntryEddd.exit126 ] - %.sroa.0137.0176 = phi ptr [ %19, %.lr.ph ], [ %233, %_ZN5Ipopt16PiecewisePenalty8AddEntryEddd.exit126 ] + %.sroa.0137.0176 = phi ptr [ %19, %.lr.ph ], [ %234, %_ZN5Ipopt16PiecewisePenalty8AddEntryEddd.exit126 ] %44 = icmp ule ptr %.sroa.0137.0176, %34 %or.cond167 = select i1 %33, i1 %44, i1 false br i1 %or.cond167, label %45, label %.critedge @@ -476,7 +476,7 @@ _ZN5Ipopt16PiecewisePenalty8AddEntryEddd.exit66: ; preds = %_ZNSt6vectorIN5Ipop 113: ; preds = %_ZN5Ipopt16PiecewisePenalty8AddEntryEddd.exit66 %114 = fcmp ogt double %.0177, 0.000000e+00 - %.pre = load ptr, ptr %35, align 8, !tbaa !29 + %.pre = load ptr, ptr %35, align 8 br i1 %114, label %115, label %_ZN5Ipopt16PiecewisePenalty8AddEntryEddd.exit81 115: ; preds = %113 @@ -771,31 +771,32 @@ _ZNSt6vectorIN5Ipopt17PiecewisePenEntryESaIS1_EE17_M_realloc_insertIJRKS1_EEEvN9 _ZN5Ipopt16PiecewisePenalty8AddEntryEddd.exit126: ; preds = %_ZNSt6vectorIN5Ipopt17PiecewisePenEntryESaIS1_EE17_M_realloc_insertIJRKS1_EEEvN9__gnu_cxx17__normal_iteratorIPS1_S3_EEDpOT_.exit.i.i123, %222, %_ZN5Ipopt16PiecewisePenalty8AddEntryEddd.exit111, %218 %227 = phi ptr [ %225, %_ZNSt6vectorIN5Ipopt17PiecewisePenEntryESaIS1_EE17_M_realloc_insertIJRKS1_EEEvN9__gnu_cxx17__normal_iteratorIPS1_S3_EEDpOT_.exit.i.i123 ], [ %223, %222 ], [ %210, %_ZN5Ipopt16PiecewisePenalty8AddEntryEddd.exit111 ], [ %210, %218 ] - %.pre178 = phi ptr [ %224, %_ZNSt6vectorIN5Ipopt17PiecewisePenEntryESaIS1_EE17_M_realloc_insertIJRKS1_EEEvN9__gnu_cxx17__normal_iteratorIPS1_S3_EEDpOT_.exit.i.i123 ], [ %211, %222 ], [ %211, %_ZN5Ipopt16PiecewisePenalty8AddEntryEddd.exit111 ], [ %211, %218 ] - %228 = phi ptr [ %224, %_ZNSt6vectorIN5Ipopt17PiecewisePenEntryESaIS1_EE17_M_realloc_insertIJRKS1_EEEvN9__gnu_cxx17__normal_iteratorIPS1_S3_EEDpOT_.exit.i.i123 ], [ %211, %222 ], [ %212, %_ZN5Ipopt16PiecewisePenalty8AddEntryEddd.exit111 ], [ %211, %218 ] - %229 = phi ptr [ %224, %_ZNSt6vectorIN5Ipopt17PiecewisePenEntryESaIS1_EE17_M_realloc_insertIJRKS1_EEEvN9__gnu_cxx17__normal_iteratorIPS1_S3_EEDpOT_.exit.i.i123 ], [ %211, %222 ], [ %213, %_ZN5Ipopt16PiecewisePenalty8AddEntryEddd.exit111 ], [ %211, %218 ] - %230 = phi ptr [ %224, %_ZNSt6vectorIN5Ipopt17PiecewisePenEntryESaIS1_EE17_M_realloc_insertIJRKS1_EEEvN9__gnu_cxx17__normal_iteratorIPS1_S3_EEDpOT_.exit.i.i123 ], [ %211, %222 ], [ %214, %_ZN5Ipopt16PiecewisePenalty8AddEntryEddd.exit111 ], [ %211, %218 ] - %231 = phi ptr [ %225, %_ZNSt6vectorIN5Ipopt17PiecewisePenEntryESaIS1_EE17_M_realloc_insertIJRKS1_EEEvN9__gnu_cxx17__normal_iteratorIPS1_S3_EEDpOT_.exit.i.i123 ], [ %223, %222 ], [ %215, %_ZN5Ipopt16PiecewisePenalty8AddEntryEddd.exit111 ], [ %210, %218 ] - %232 = phi ptr [ %224, %_ZNSt6vectorIN5Ipopt17PiecewisePenEntryESaIS1_EE17_M_realloc_insertIJRKS1_EEEvN9__gnu_cxx17__normal_iteratorIPS1_S3_EEDpOT_.exit.i.i123 ], [ %211, %222 ], [ %216, %_ZN5Ipopt16PiecewisePenalty8AddEntryEddd.exit111 ], [ %211, %218 ] - %233 = getelementptr inbounds nuw i8, ptr %.sroa.0137.0176, i64 24 - %.not168 = icmp ugt ptr %233, %17 + %228 = phi ptr [ %224, %_ZNSt6vectorIN5Ipopt17PiecewisePenEntryESaIS1_EE17_M_realloc_insertIJRKS1_EEEvN9__gnu_cxx17__normal_iteratorIPS1_S3_EEDpOT_.exit.i.i123 ], [ %211, %222 ], [ %211, %_ZN5Ipopt16PiecewisePenalty8AddEntryEddd.exit111 ], [ %211, %218 ] + %229 = phi ptr [ %224, %_ZNSt6vectorIN5Ipopt17PiecewisePenEntryESaIS1_EE17_M_realloc_insertIJRKS1_EEEvN9__gnu_cxx17__normal_iteratorIPS1_S3_EEDpOT_.exit.i.i123 ], [ %211, %222 ], [ %212, %_ZN5Ipopt16PiecewisePenalty8AddEntryEddd.exit111 ], [ %211, %218 ] + %230 = phi ptr [ %224, %_ZNSt6vectorIN5Ipopt17PiecewisePenEntryESaIS1_EE17_M_realloc_insertIJRKS1_EEEvN9__gnu_cxx17__normal_iteratorIPS1_S3_EEDpOT_.exit.i.i123 ], [ %211, %222 ], [ %213, %_ZN5Ipopt16PiecewisePenalty8AddEntryEddd.exit111 ], [ %211, %218 ] + %231 = phi ptr [ %224, %_ZNSt6vectorIN5Ipopt17PiecewisePenEntryESaIS1_EE17_M_realloc_insertIJRKS1_EEEvN9__gnu_cxx17__normal_iteratorIPS1_S3_EEDpOT_.exit.i.i123 ], [ %211, %222 ], [ %214, %_ZN5Ipopt16PiecewisePenalty8AddEntryEddd.exit111 ], [ %211, %218 ] + %232 = phi ptr [ %225, %_ZNSt6vectorIN5Ipopt17PiecewisePenEntryESaIS1_EE17_M_realloc_insertIJRKS1_EEEvN9__gnu_cxx17__normal_iteratorIPS1_S3_EEDpOT_.exit.i.i123 ], [ %223, %222 ], [ %215, %_ZN5Ipopt16PiecewisePenalty8AddEntryEddd.exit111 ], [ %210, %218 ] + %233 = phi ptr [ %224, %_ZNSt6vectorIN5Ipopt17PiecewisePenEntryESaIS1_EE17_M_realloc_insertIJRKS1_EEEvN9__gnu_cxx17__normal_iteratorIPS1_S3_EEDpOT_.exit.i.i123 ], [ %211, %222 ], [ %216, %_ZN5Ipopt16PiecewisePenalty8AddEntryEddd.exit111 ], [ %211, %218 ] + %234 = getelementptr inbounds nuw i8, ptr %.sroa.0137.0176, i64 24 + %.not168 = icmp ugt ptr %234, %17 br i1 %.not168, label %_ZNSt6vectorIN5Ipopt17PiecewisePenEntryESaIS1_EED2Ev.exit128.loopexit, label %36, !llvm.loop !30 _ZNSt6vectorIN5Ipopt17PiecewisePenEntryESaIS1_EED2Ev.exit128.loopexit: ; preds = %_ZN5Ipopt16PiecewisePenalty8AddEntryEddd.exit126 + %.pre178 = load ptr, ptr %4, align 8 %.pre179 = ptrtoint ptr %.pre178 to i64 br label %_ZNSt6vectorIN5Ipopt17PiecewisePenEntryESaIS1_EED2Ev.exit128 _ZNSt6vectorIN5Ipopt17PiecewisePenEntryESaIS1_EED2Ev.exit128: ; preds = %_ZNSt6vectorIN5Ipopt17PiecewisePenEntryESaIS1_EE5clearEv.exit, %_ZNSt6vectorIN5Ipopt17PiecewisePenEntryESaIS1_EED2Ev.exit128.loopexit - %234 = phi ptr [ %19, %_ZNSt6vectorIN5Ipopt17PiecewisePenEntryESaIS1_EED2Ev.exit128.loopexit ], [ %14, %_ZNSt6vectorIN5Ipopt17PiecewisePenEntryESaIS1_EE5clearEv.exit ] + %235 = phi ptr [ %19, %_ZNSt6vectorIN5Ipopt17PiecewisePenEntryESaIS1_EED2Ev.exit128.loopexit ], [ %14, %_ZNSt6vectorIN5Ipopt17PiecewisePenEntryESaIS1_EE5clearEv.exit ] %.pre-phi185 = phi i64 [ %31, %_ZNSt6vectorIN5Ipopt17PiecewisePenEntryESaIS1_EED2Ev.exit128.loopexit ], [ %10, %_ZNSt6vectorIN5Ipopt17PiecewisePenEntryESaIS1_EE5clearEv.exit ] %.pre-phi = phi i64 [ %.pre179, %_ZNSt6vectorIN5Ipopt17PiecewisePenEntryESaIS1_EED2Ev.exit128.loopexit ], [ %9, %_ZNSt6vectorIN5Ipopt17PiecewisePenEntryESaIS1_EE5clearEv.exit ] - %235 = phi ptr [ %227, %_ZNSt6vectorIN5Ipopt17PiecewisePenEntryESaIS1_EED2Ev.exit128.loopexit ], [ %7, %_ZNSt6vectorIN5Ipopt17PiecewisePenEntryESaIS1_EE5clearEv.exit ] - %236 = ptrtoint ptr %235 to i64 - %237 = sub i64 %236, %.pre-phi - %238 = sdiv exact i64 %237, 24 - %239 = trunc i64 %238 to i32 - store i32 %239, ptr %0, align 8, !tbaa !3 - tail call void @_ZdlPvm(ptr noundef nonnull %234, i64 noundef %.pre-phi185) #17 + %236 = phi ptr [ %227, %_ZNSt6vectorIN5Ipopt17PiecewisePenEntryESaIS1_EED2Ev.exit128.loopexit ], [ %7, %_ZNSt6vectorIN5Ipopt17PiecewisePenEntryESaIS1_EE5clearEv.exit ] + %237 = ptrtoint ptr %236 to i64 + %238 = sub i64 %237, %.pre-phi + %239 = sdiv exact i64 %238, 24 + %240 = trunc i64 %239 to i32 + store i32 %240, ptr %0, align 8, !tbaa !3 + tail call void @_ZdlPvm(ptr noundef nonnull %235, i64 noundef %.pre-phi185) #17 ret void } diff --git a/bench/jq/optimized/lexer.ll b/bench/jq/optimized/lexer.ll index bc51ee8e67f..ff776994f53 100644 --- a/bench/jq/optimized/lexer.ll +++ b/bench/jq/optimized/lexer.ll @@ -1091,7 +1091,7 @@ jq_yy_create_buffer.exit: ; preds = %51 br i1 %543, label %544, label %._crit_edge1116 ._crit_edge1116: ; preds = %534 - %.pre = load i32, ptr %83, align 4, !tbaa !32 + %.pre = load i32, ptr %83, align 4 br label %548 544: ; preds = %534 @@ -1283,7 +1283,16 @@ yy_try_NUL_trans.exit: ; preds = %.lr.ph.i569, %612 647: ; preds = %641 %648 = sub i64 %645, %646 %649 = icmp eq i64 %648, 1 - br i1 %649, label %yy_get_previous_state.exit590, label %yy_get_next_buffer.exit.thread607 + br i1 %649, label %yy_get_previous_state.exit590, label %.yy_get_next_buffer.exit.thread607_crit_edge + +.yy_get_next_buffer.exit.thread607_crit_edge: ; preds = %647 + %.pre1118 = load ptr, ptr %81, align 8 + %.pre1119 = load i64, ptr %82, align 8 + %.phi.trans.insert1120 = getelementptr inbounds nuw ptr, ptr %.pre1118, i64 %.pre1119 + %.pre1121 = load ptr, ptr %.phi.trans.insert1120, align 8 + %.phi.trans.insert1122 = getelementptr inbounds nuw i8, ptr %.pre1121, i64 8 + %.pre1123 = load ptr, ptr %.phi.trans.insert1122, align 8 + br label %yy_get_next_buffer.exit.thread607 650: ; preds = %641 %651 = xor i64 %646, -1 @@ -1305,12 +1314,12 @@ yy_try_NUL_trans.exit: ; preds = %.lr.ph.i569, %612 br i1 %exitcond.not.i575, label %._crit_edge.loopexit.i, label %.lr.ph.i574, !llvm.loop !56 ._crit_edge.loopexit.i: ; preds = %.lr.ph.i574 - %.pre.i = load ptr, ptr %81, align 8, !tbaa !22 - %.pre182.i = load i64, ptr %82, align 8, !tbaa !23 + %.pre.i = load ptr, ptr %81, align 8 + %.pre182.i = load i64, ptr %82, align 8 %.phi.trans.insert.i = getelementptr inbounds nuw ptr, ptr %.pre.i, i64 %.pre182.i - %.pre183.i = load ptr, ptr %.phi.trans.insert.i, align 8, !tbaa !24 + %.pre183.i = load ptr, ptr %.phi.trans.insert.i, align 8 %.phi.trans.insert = getelementptr inbounds nuw i8, ptr %.pre183.i, i64 56 - %.pre1117 = load i32, ptr %.phi.trans.insert, align 8, !tbaa !51 + %.pre1117 = load i32, ptr %.phi.trans.insert, align 8 br label %._crit_edge.i572 ._crit_edge.i572: ; preds = %._crit_edge.loopexit.i, %650 @@ -1332,7 +1341,7 @@ yy_try_NUL_trans.exit: ; preds = %.lr.ph.i569, %612 br i1 %664, label %.lr.ph170.preheader.i, label %._crit_edge171.i .lr.ph170.preheader.i: ; preds = %662 - %.pre184.i = load ptr, ptr %74, align 8, !tbaa !34 + %.pre184.i = load ptr, ptr %74, align 8 br label %.lr.ph170.i .lr.ph170.i: ; preds = %684, %.lr.ph170.preheader.i @@ -1559,11 +1568,11 @@ yy_try_NUL_trans.exit: ; preds = %.lr.ph.i569, %612 777: ; preds = %774 %778 = load ptr, ptr %84, align 8, !tbaa !19 tail call void @jq_yyrestart(ptr noundef %778, ptr noundef nonnull %2) - %.pre185.i = load i32, ptr %83, align 4, !tbaa !32 - %.pre186.i = load ptr, ptr %81, align 8, !tbaa !22 - %.pre187.i = load i64, ptr %82, align 8, !tbaa !23 + %.pre185.i = load i32, ptr %83, align 4 + %.pre186.i = load ptr, ptr %81, align 8 + %.pre187.i = load i64, ptr %82, align 8 %.phi.trans.insert188.i = getelementptr inbounds nuw ptr, ptr %.pre186.i, i64 %.pre187.i - %.pre189.i = load ptr, ptr %.phi.trans.insert188.i, align 8, !tbaa !24 + %.pre189.i = load ptr, ptr %.phi.trans.insert188.i, align 8 br label %781 779: ; preds = %774 @@ -1583,7 +1592,7 @@ yy_try_NUL_trans.exit: ; preds = %.lr.ph.i569, %612 ._crit_edge191.i: ; preds = %781 %.phi.trans.insert192.i = getelementptr inbounds nuw i8, ptr %782, i64 8 - %.pre193.i = load ptr, ptr %.phi.trans.insert192.i, align 8, !tbaa !29 + %.pre193.i = load ptr, ptr %.phi.trans.insert192.i, align 8 br label %yy_get_next_buffer.exit 788: ; preds = %781 @@ -1610,7 +1619,7 @@ yy_try_NUL_trans.exit: ; preds = %.lr.ph.i569, %612 %802 = add nsw i32 %790, -2 %803 = getelementptr inbounds nuw i8, ptr %798, i64 24 store i32 %802, ptr %803, align 8, !tbaa !27 - %.pre190.i = load i32, ptr %83, align 4, !tbaa !32 + %.pre190.i = load i32, ptr %83, align 4 %.pre194.i = add nsw i32 %.pre190.i, %653 br label %yy_get_next_buffer.exit @@ -1639,15 +1648,15 @@ yy_get_next_buffer.exit: ; preds = %._crit_edge191.i, % %821 = getelementptr inbounds nuw i8, ptr %820, i64 8 %822 = load ptr, ptr %821, align 8, !tbaa !29 store ptr %822, ptr %79, align 8, !tbaa !35 - switch i32 %.0135.i, label %default.unreachable1120 [ + switch i32 %.0135.i, label %default.unreachable1126 [ i32 1, label %yy_get_previous_state.exit590 i32 0, label %823 i32 2, label %yy_get_next_buffer.exit.yy_get_next_buffer.exit.thread607_crit_edge ] yy_get_next_buffer.exit.yy_get_next_buffer.exit.thread607_crit_edge: ; preds = %yy_get_next_buffer.exit - %.pre1118 = load i32, ptr %83, align 4, !tbaa !32 - %.pre1119 = sext i32 %.pre1118 to i64 + %.pre1124 = load i32, ptr %83, align 4 + %.pre1125 = sext i32 %.pre1124 to i64 br label %yy_get_next_buffer.exit.thread607 823: ; preds = %yy_get_next_buffer.exit @@ -1656,8 +1665,8 @@ yy_get_next_buffer.exit.yy_get_next_buffer.exit.thread607_crit_edge: ; preds = % %826 = sub i64 %824, %825 %827 = trunc i64 %826 to i32 %828 = shl i64 %826, 32 - %sext1227 = add i64 %828, -4294967296 - %829 = ashr exact i64 %sext1227, 32 + %sext1222 = add i64 %828, -4294967296 + %829 = ashr exact i64 %sext1222, 32 %830 = getelementptr inbounds i8, ptr %822, i64 %829 store ptr %830, ptr %74, align 8, !tbaa !34 %831 = load i32, ptr %76, align 4, !tbaa !18 @@ -1738,10 +1747,10 @@ yy_get_next_buffer.exit.yy_get_next_buffer.exit.thread607_crit_edge: ; preds = % %exitcond.not.i589 = icmp eq ptr %873, %830 br i1 %exitcond.not.i589, label %.loopexit611.backedge, label %.lr.ph31.i577, !llvm.loop !53 -yy_get_next_buffer.exit.thread607: ; preds = %647, %yy_get_next_buffer.exit.yy_get_next_buffer.exit.thread607_crit_edge - %.pre-phi = phi i64 [ %.pre1119, %yy_get_next_buffer.exit.yy_get_next_buffer.exit.thread607_crit_edge ], [ %554, %647 ] - %874 = phi ptr [ %822, %yy_get_next_buffer.exit.yy_get_next_buffer.exit.thread607_crit_edge ], [ %637, %647 ] - %875 = phi ptr [ %822, %yy_get_next_buffer.exit.yy_get_next_buffer.exit.thread607_crit_edge ], [ %553, %647 ] +yy_get_next_buffer.exit.thread607: ; preds = %yy_get_next_buffer.exit.yy_get_next_buffer.exit.thread607_crit_edge, %.yy_get_next_buffer.exit.thread607_crit_edge + %.pre-phi = phi i64 [ %.pre1125, %yy_get_next_buffer.exit.yy_get_next_buffer.exit.thread607_crit_edge ], [ %554, %.yy_get_next_buffer.exit.thread607_crit_edge ] + %874 = phi ptr [ %822, %yy_get_next_buffer.exit.yy_get_next_buffer.exit.thread607_crit_edge ], [ %637, %.yy_get_next_buffer.exit.thread607_crit_edge ] + %875 = phi ptr [ %822, %yy_get_next_buffer.exit.yy_get_next_buffer.exit.thread607_crit_edge ], [ %.pre1123, %.yy_get_next_buffer.exit.thread607_crit_edge ] %876 = getelementptr inbounds i8, ptr %875, i64 %.pre-phi store ptr %876, ptr %74, align 8, !tbaa !34 %877 = load i32, ptr %76, align 4, !tbaa !18 @@ -1828,7 +1837,7 @@ yy_get_next_buffer.exit.thread607: ; preds = %647, %yy_get_next_b %exitcond.not.i604 = icmp eq ptr %919, %876 br i1 %exitcond.not.i604, label %.preheader.outer.backedge, label %.lr.ph31.i592, !llvm.loop !53 -default.unreachable1120: ; preds = %yy_get_next_buffer.exit +default.unreachable1126: ; preds = %yy_get_next_buffer.exit unreachable yy_get_previous_state.exit590: ; preds = %yy_get_next_buffer.exit, %647 @@ -1905,7 +1914,7 @@ define internal fastcc void @yy_push_state(i32 noundef range(i32 0, 7) %0, ptr n ._crit_edge: ; preds = %2 %.phi.trans.insert = getelementptr inbounds nuw i8, ptr %1, i64 96 - %.pre = load ptr, ptr %.phi.trans.insert, align 8, !tbaa !65 + %.pre = load ptr, ptr %.phi.trans.insert, align 8 br label %19 7: ; preds = %2 @@ -1933,7 +1942,7 @@ define internal fastcc void @yy_push_state(i32 noundef range(i32 0, 7) %0, ptr n br i1 %.not21, label %18, label %._crit_edge22 ._crit_edge22: ; preds = %17 - %.pre23 = load i32, ptr %3, align 4, !tbaa !63 + %.pre23 = load i32, ptr %3, align 4 br label %19 18: ; preds = %17 @@ -2016,7 +2025,7 @@ define internal fastcc noundef range(i32 -128, 300) i32 @enter(i32 noundef retur ._crit_edge.i: ; preds = %7 %.phi.trans.insert.i = getelementptr inbounds nuw i8, ptr %1, i64 96 - %.pre.i = load ptr, ptr %.phi.trans.insert.i, align 8, !tbaa !65 + %.pre.i = load ptr, ptr %.phi.trans.insert.i, align 8 br label %yy_push_state.exit 12: ; preds = %7 @@ -2044,7 +2053,7 @@ define internal fastcc noundef range(i32 -128, 300) i32 @enter(i32 noundef retur br i1 %.not21.i, label %23, label %._crit_edge22.i ._crit_edge22.i: ; preds = %22 - %.pre23.i = load i32, ptr %8, align 4, !tbaa !63 + %.pre23.i = load i32, ptr %8, align 4 br label %yy_push_state.exit 23: ; preds = %22 @@ -2326,7 +2335,7 @@ jq_yy_flush_buffer.exit.thread: ; preds = %19, %25 jq_yy_flush_buffer.exit: ; preds = %3 %.phi.trans.insert = getelementptr inbounds nuw i8, ptr %2, i64 40 - %.pre = load ptr, ptr %.phi.trans.insert, align 8, !tbaa !22 + %.pre = load ptr, ptr %.phi.trans.insert, align 8 store ptr %1, ptr %0, align 8, !tbaa !36 %38 = getelementptr inbounds nuw i8, ptr %0, i64 52 store i32 1, ptr %38, align 4, !tbaa !55 @@ -2658,7 +2667,7 @@ define dso_local void @jq_yypush_buffer_state(ptr noundef %0, ptr noundef captur %26 = getelementptr inbounds nuw ptr, ptr %22, i64 %25 tail call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(64) %26, i8 0, i64 64, i1 false) store i64 %20, ptr %16, align 8, !tbaa !26 - %.pre = load i64, ptr %14, align 8, !tbaa !23 + %.pre = load i64, ptr %14, align 8 br label %jq_yyensure_buffer_stack.exit jq_yyensure_buffer_stack.exit: ; preds = %10, %13, %24 @@ -2761,7 +2770,7 @@ jq_yy_delete_buffer.exit: ; preds = %.thread.i, %11 %18 = add i64 %15, -1 store i64 %18, ptr %5, align 8, !tbaa !23 %.phi.trans.insert = getelementptr inbounds nuw ptr, ptr %14, i64 %18 - %.pre = load ptr, ptr %.phi.trans.insert, align 8, !tbaa !24 + %.pre = load ptr, ptr %.phi.trans.insert, align 8 %.not23 = icmp eq ptr %.pre, null br i1 %.not23, label %.thread, label %19 @@ -3225,9 +3234,9 @@ define dso_local noundef i32 @jq_yylex_destroy(ptr noundef %0) local_unnamed_add br i1 %.not26, label %.critedge, label %.lr.ph.preheader .lr.ph.preheader: ; preds = %1 - %.pre = load i64, ptr %2, align 8, !tbaa !23 + %.pre = load i64, ptr %2, align 8 %.phi.trans.insert = getelementptr inbounds nuw ptr, ptr %4, i64 %.pre - %.pre31 = load ptr, ptr %.phi.trans.insert, align 8, !tbaa !24 + %.pre31 = load ptr, ptr %.phi.trans.insert, align 8 %5 = icmp eq ptr %.pre31, null br i1 %5, label %.critedge, label %.thread.i diff --git a/bench/libjpeg-turbo/optimized/djpeg.ll b/bench/libjpeg-turbo/optimized/djpeg.ll index 0ede3f11e14..6a4ec82c603 100644 --- a/bench/libjpeg-turbo/optimized/djpeg.ll +++ b/bench/libjpeg-turbo/optimized/djpeg.ll @@ -652,7 +652,7 @@ default.unreachable: ; preds = %96 ._crit_edge232: ; preds = %233 %.phi.trans.insert = getelementptr inbounds nuw i8, ptr %3, i64 140 - %.pre = load i32, ptr %.phi.trans.insert, align 4, !tbaa !54 + %.pre = load i32, ptr %.phi.trans.insert, align 4 br label %253 243: ; preds = %233 @@ -1757,13 +1757,13 @@ define internal fastcc range(i32 -2147483646, -2147483648) i32 @parse_switches(p %194 = load i8, ptr %7, align 1, !tbaa !9 %195 = and i8 %194, -33 %or.cond = icmp eq i8 %195, 77 - %.pre = load i64, ptr %6, align 8, !tbaa !95 + %.pre = load i64, ptr %6, align 8 %196 = mul nsw i64 %.pre, 1000 %spec.select = select i1 %or.cond, i64 %196, i64 %.pre %197 = mul nsw i64 %spec.select, 1000 - %198 = load ptr, ptr %26, align 8, !tbaa !96 + %198 = load ptr, ptr %26, align 8, !tbaa !95 %199 = getelementptr inbounds nuw i8, ptr %198, i64 88 - store i64 %197, ptr %199, align 8, !tbaa !97 + store i64 %197, ptr %199, align 8, !tbaa !96 call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %7) #12 call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %6) #12 br label %299 @@ -2038,7 +2038,7 @@ define internal fastcc range(i32 -2147483646, -2147483648) i32 @parse_switches(p %.1 = phi i32 [ %.0232, %36 ], [ %.0232, %40 ], [ %50, %58 ], [ %63, %70 ], [ %63, %74 ], [ %63, %78 ], [ %83, %90 ], [ %83, %94 ], [ %83, %98 ], [ %.0232, %114 ], [ %.0232, %129 ], [ %.0232, %132 ], [ %.0232, %135 ], [ %.0232, %140 ], [ %.0232, %143 ], [ %.0232, %146 ], [ %150, %152 ], [ %159, %179 ], [ %159, %161 ], [ %184, %193 ], [ %203, %205 ], [ %.0232, %213 ], [ %.0232, %216 ], [ %.0232, %219 ], [ %223, %225 ], [ %.0232, %231 ], [ %.0232, %236 ], [ %.0232, %239 ], [ %243, %245 ], [ %254, %268 ], [ %272, %291 ], [ %.0232, %294 ], [ %.0232, %297 ] %300 = add nsw i32 %.1, 1 %301 = icmp slt i32 %300, %1 - br i1 %301, label %29, label %._crit_edge, !llvm.loop !99 + br i1 %301, label %29, label %._crit_edge, !llvm.loop !98 ._crit_edge: ; preds = %299, %34, %4 %.0.lcssa = phi i32 [ 1, %4 ], [ %.0232, %34 ], [ %300, %299 ] @@ -2048,7 +2048,7 @@ define internal fastcc range(i32 -2147483646, -2147483648) i32 @parse_switches(p ; Function Attrs: nounwind uwtable define internal void @my_emit_message(ptr noundef %0, i32 noundef %1) #3 { %3 = icmp slt i32 %1, 0 - %4 = load ptr, ptr %0, align 8, !tbaa !100 + %4 = load ptr, ptr %0, align 8, !tbaa !99 br i1 %3, label %.sink.split, label %5 5: ; preds = %2 @@ -2063,7 +2063,7 @@ define internal void @my_emit_message(ptr noundef %0, i32 noundef %1) #3 { .sink.split: ; preds = %2, %8 %.sink.in = phi ptr [ %9, %8 ], [ %4, %2 ] - %.sink = load ptr, ptr %.sink.in, align 8, !tbaa !102 + %.sink = load ptr, ptr %.sink.in, align 8, !tbaa !101 tail call void %.sink(ptr noundef nonnull %0) #12 br label %10 @@ -2373,11 +2373,10 @@ attributes #18 = { nounwind willreturn memory(none) } !92 = !{!11, !15, i64 116} !93 = !{!11, !15, i64 100} !94 = !{!11, !15, i64 64} -!95 = !{!35, !35, i64 0} -!96 = !{!11, !13, i64 8} -!97 = !{!98, !35, i64 88} -!98 = !{!"jpeg_memory_mgr", !6, i64 0, !6, i64 8, !6, i64 16, !6, i64 24, !6, i64 32, !6, i64 40, !6, i64 48, !6, i64 56, !6, i64 64, !6, i64 72, !6, i64 80, !35, i64 88, !35, i64 96} -!99 = distinct !{!99, !47} -!100 = !{!101, !12, i64 0} -!101 = !{!"jpeg_common_struct", !12, i64 0, !13, i64 8, !14, i64 16, !6, i64 24, !15, i64 32, !15, i64 36} -!102 = !{!6, !6, i64 0} +!95 = !{!11, !13, i64 8} +!96 = !{!97, !35, i64 88} +!97 = !{!"jpeg_memory_mgr", !6, i64 0, !6, i64 8, !6, i64 16, !6, i64 24, !6, i64 32, !6, i64 40, !6, i64 48, !6, i64 56, !6, i64 64, !6, i64 72, !6, i64 80, !35, i64 88, !35, i64 96} +!98 = distinct !{!98, !47} +!99 = !{!100, !12, i64 0} +!100 = !{!"jpeg_common_struct", !12, i64 0, !13, i64 8, !14, i64 16, !6, i64 24, !15, i64 32, !15, i64 36} +!101 = !{!6, !6, i64 0} diff --git a/bench/libphonenumber/optimized/string_piece.ll b/bench/libphonenumber/optimized/string_piece.ll index 1ce59b788ed..2488cf52167 100644 --- a/bench/libphonenumber/optimized/string_piece.ll +++ b/bench/libphonenumber/optimized/string_piece.ll @@ -951,11 +951,11 @@ define linkonce_odr dso_local noundef ptr @_ZSt8__searchIPKcS1_N9__gnu_cxx5__ops ] ._crit_edge._crit_edge52.i.i: ; preds = %._crit_edge.i.i - %.pre53.i.i = load i8, ptr %2, align 1, !tbaa !15 + %.pre53.i.i = load i8, ptr %2, align 1 br label %50 ._crit_edge._crit_edge.i.i: ; preds = %._crit_edge.i.i - %.pre.i.i = load i8, ptr %2, align 1, !tbaa !15 + %.pre.i.i = load i8, ptr %2, align 1 br label %44 38: ; preds = %._crit_edge.i.i @@ -1049,11 +1049,11 @@ define linkonce_odr dso_local noundef ptr @_ZSt8__searchIPKcS1_N9__gnu_cxx5__ops ] ._crit_edge._crit_edge52.i.i51: ; preds = %._crit_edge.i.i48 - %.pre53.i.i52 = load i8, ptr %2, align 1, !tbaa !15 + %.pre53.i.i52 = load i8, ptr %2, align 1 br label %93 ._crit_edge._crit_edge.i.i55: ; preds = %._crit_edge.i.i48 - %.pre.i.i56 = load i8, ptr %2, align 1, !tbaa !15 + %.pre.i.i56 = load i8, ptr %2, align 1 br label %87 81: ; preds = %._crit_edge.i.i48 @@ -1219,11 +1219,11 @@ define linkonce_odr dso_local void @_ZSt8__searchISt16reverse_iteratorIPKcES3_N9 ] ._crit_edge.i._crit_edge24.i: ; preds = %._crit_edge.i.i - %.pre26.i = load i8, ptr %14, align 1, !tbaa !15, !noalias !35 + %.pre26.i = load i8, ptr %14, align 1, !noalias !41 br label %56 ._crit_edge.i._crit_edge.i: ; preds = %._crit_edge.i.i - %.pre.i = load i8, ptr %14, align 1, !tbaa !15, !noalias !35 + %.pre.i = load i8, ptr %14, align 1, !noalias !41 br label %50 45: ; preds = %._crit_edge.i.i @@ -1275,7 +1275,7 @@ _ZSt9__find_ifISt16reverse_iteratorIPKcEN9__gnu_cxx5__ops17_Iter_equals_iterIS3_ .lr.ph.i.preheader.i11: ; preds = %.preheader42 %73 = getelementptr inbounds i8, ptr %65, i64 -1 - %74 = load i8, ptr %73, align 1, !tbaa !15, !noalias !41 + %74 = load i8, ptr %73, align 1, !tbaa !15, !noalias !42 %75 = mul nsw i64 %71, -4 %scevgep.i12 = getelementptr i8, ptr %67, i64 %75 br label %.lr.ph.i.i13 @@ -1284,25 +1284,25 @@ _ZSt9__find_ifISt16reverse_iteratorIPKcEN9__gnu_cxx5__ops17_Iter_equals_iterIS3_ %76 = phi ptr [ %89, %92 ], [ %67, %.lr.ph.i.preheader.i11 ] %.020.i.i14 = phi i64 [ %93, %92 ], [ %71, %.lr.ph.i.preheader.i11 ] %77 = getelementptr inbounds i8, ptr %76, i64 -1 - %78 = load i8, ptr %77, align 1, !tbaa !15, !noalias !41 + %78 = load i8, ptr %77, align 1, !tbaa !15, !noalias !42 %79 = icmp eq i8 %78, %74 br i1 %79, label %_ZSt9__find_ifISt16reverse_iteratorIPKcEN9__gnu_cxx5__ops17_Iter_equals_iterIS3_EEET_S8_S8_T0_.exit20, label %80 80: ; preds = %.lr.ph.i.i13 %81 = getelementptr inbounds i8, ptr %76, i64 -2 - %82 = load i8, ptr %81, align 1, !tbaa !15, !noalias !41 + %82 = load i8, ptr %81, align 1, !tbaa !15, !noalias !42 %83 = icmp eq i8 %82, %74 br i1 %83, label %_ZSt9__find_ifISt16reverse_iteratorIPKcEN9__gnu_cxx5__ops17_Iter_equals_iterIS3_EEET_S8_S8_T0_.exit20.loopexit.split.loop.exit86, label %84 84: ; preds = %80 %85 = getelementptr inbounds i8, ptr %76, i64 -3 - %86 = load i8, ptr %85, align 1, !tbaa !15, !noalias !41 + %86 = load i8, ptr %85, align 1, !tbaa !15, !noalias !42 %87 = icmp eq i8 %86, %74 br i1 %87, label %_ZSt9__find_ifISt16reverse_iteratorIPKcEN9__gnu_cxx5__ops17_Iter_equals_iterIS3_EEET_S8_S8_T0_.exit20.loopexit.split.loop.exit84, label %88 88: ; preds = %84 %89 = getelementptr inbounds i8, ptr %76, i64 -4 - %90 = load i8, ptr %89, align 1, !tbaa !15, !noalias !41 + %90 = load i8, ptr %89, align 1, !tbaa !15, !noalias !42 %91 = icmp eq i8 %90, %74 br i1 %91, label %_ZSt9__find_ifISt16reverse_iteratorIPKcEN9__gnu_cxx5__ops17_Iter_equals_iterIS3_EEET_S8_S8_T0_.exit20.loopexit.split.loop.exit, label %92 @@ -1327,19 +1327,19 @@ _ZSt9__find_ifISt16reverse_iteratorIPKcEN9__gnu_cxx5__ops17_Iter_equals_iterIS3_ ._crit_edge.i._crit_edge24.i3: ; preds = %._crit_edge.i.i1 %.phi.trans.insert25.i4 = getelementptr inbounds i8, ptr %65, i64 -1 - %.pre26.i5 = load i8, ptr %.phi.trans.insert25.i4, align 1, !tbaa !15, !noalias !41 + %.pre26.i5 = load i8, ptr %.phi.trans.insert25.i4, align 1, !noalias !47 br label %109 ._crit_edge.i._crit_edge.i8: ; preds = %._crit_edge.i.i1 %.phi.trans.insert.i9 = getelementptr inbounds i8, ptr %65, i64 -1 - %.pre.i10 = load i8, ptr %.phi.trans.insert.i9, align 1, !tbaa !15, !noalias !41 + %.pre.i10 = load i8, ptr %.phi.trans.insert.i9, align 1, !noalias !47 br label %103 97: ; preds = %._crit_edge.i.i1 %98 = getelementptr inbounds i8, ptr %95, i64 -1 - %99 = load i8, ptr %98, align 1, !tbaa !15, !noalias !41 + %99 = load i8, ptr %98, align 1, !tbaa !15, !noalias !42 %100 = getelementptr inbounds i8, ptr %65, i64 -1 - %101 = load i8, ptr %100, align 1, !tbaa !15, !noalias !41 + %101 = load i8, ptr %100, align 1, !tbaa !15, !noalias !42 %102 = icmp eq i8 %99, %101 br i1 %102, label %_ZSt9__find_ifISt16reverse_iteratorIPKcEN9__gnu_cxx5__ops17_Iter_equals_iterIS3_EEET_S8_S8_T0_.exit20, label %103 @@ -1347,7 +1347,7 @@ _ZSt9__find_ifISt16reverse_iteratorIPKcEN9__gnu_cxx5__ops17_Iter_equals_iterIS3_ %104 = phi i8 [ %.pre.i10, %._crit_edge.i._crit_edge.i8 ], [ %101, %97 ] %105 = phi ptr [ %95, %._crit_edge.i._crit_edge.i8 ], [ %98, %97 ] %106 = getelementptr inbounds i8, ptr %105, i64 -1 - %107 = load i8, ptr %106, align 1, !tbaa !15, !noalias !41 + %107 = load i8, ptr %106, align 1, !tbaa !15, !noalias !42 %108 = icmp eq i8 %107, %104 br i1 %108, label %_ZSt9__find_ifISt16reverse_iteratorIPKcEN9__gnu_cxx5__ops17_Iter_equals_iterIS3_EEET_S8_S8_T0_.exit20, label %109 @@ -1355,7 +1355,7 @@ _ZSt9__find_ifISt16reverse_iteratorIPKcEN9__gnu_cxx5__ops17_Iter_equals_iterIS3_ %110 = phi i8 [ %.pre26.i5, %._crit_edge.i._crit_edge24.i3 ], [ %104, %103 ] %111 = phi ptr [ %95, %._crit_edge.i._crit_edge24.i3 ], [ %106, %103 ] %112 = getelementptr inbounds i8, ptr %111, i64 -1 - %113 = load i8, ptr %112, align 1, !tbaa !15, !noalias !41 + %113 = load i8, ptr %112, align 1, !tbaa !15, !noalias !42 %114 = icmp eq i8 %113, %110 %spec.select.i6 = select i1 %114, ptr %111, ptr %66 br label %_ZSt9__find_ifISt16reverse_iteratorIPKcEN9__gnu_cxx5__ops17_Iter_equals_iterIS3_EEET_S8_S8_T0_.exit20 @@ -1402,13 +1402,13 @@ _ZSt9__find_ifISt16reverse_iteratorIPKcEN9__gnu_cxx5__ops17_Iter_equals_iterIS3_ 132: ; preds = %129 %133 = icmp eq ptr %124, %119 - br i1 %133, label %.critedge, label %.preheader, !llvm.loop !46 + br i1 %133, label %.critedge, label %.preheader, !llvm.loop !48 134: ; preds = %.preheader store ptr %122, ptr %1, align 8, !tbaa !18 - %.pre = load ptr, ptr %2, align 8, !tbaa !18 - %.pre77 = load ptr, ptr %3, align 8, !tbaa !18 - br label %.preheader42, !llvm.loop !47 + %.pre = load ptr, ptr %2, align 8 + %.pre77 = load ptr, ptr %3, align 8 + br label %.preheader42, !llvm.loop !49 .critedge: ; preds = %121, %_ZSt9__find_ifISt16reverse_iteratorIPKcEN9__gnu_cxx5__ops17_Iter_equals_iterIS3_EEET_S8_S8_T0_.exit20, %132, %129, %.lr.ph.i.i, %56, %50, %45, %._crit_edge.i.i, %_ZSt9__find_ifISt16reverse_iteratorIPKcEN9__gnu_cxx5__ops17_Iter_equals_iterIS3_EEET_S8_S8_T0_.exit.loopexit.split.loop.exit95, %_ZSt9__find_ifISt16reverse_iteratorIPKcEN9__gnu_cxx5__ops17_Iter_equals_iterIS3_EEET_S8_S8_T0_.exit.loopexit.split.loop.exit93, %_ZSt9__find_ifISt16reverse_iteratorIPKcEN9__gnu_cxx5__ops17_Iter_equals_iterIS3_EEET_S8_S8_T0_.exit.loopexit.split.loop.exit, %5, %9 %.sink.i.i.sink = phi ptr [ %6, %9 ], [ %6, %5 ], [ %43, %45 ], [ %52, %50 ], [ %7, %._crit_edge.i.i ], [ %spec.select.i, %56 ], [ %62, %_ZSt9__find_ifISt16reverse_iteratorIPKcEN9__gnu_cxx5__ops17_Iter_equals_iterIS3_EEET_S8_S8_T0_.exit.loopexit.split.loop.exit ], [ %63, %_ZSt9__find_ifISt16reverse_iteratorIPKcEN9__gnu_cxx5__ops17_Iter_equals_iterIS3_EEET_S8_S8_T0_.exit.loopexit.split.loop.exit93 ], [ %64, %_ZSt9__find_ifISt16reverse_iteratorIPKcEN9__gnu_cxx5__ops17_Iter_equals_iterIS3_EEET_S8_S8_T0_.exit.loopexit.split.loop.exit95 ], [ %24, %.lr.ph.i.i ], [ %.sink.i.i7, %129 ], [ %119, %132 ], [ %119, %_ZSt9__find_ifISt16reverse_iteratorIPKcEN9__gnu_cxx5__ops17_Iter_equals_iterIS3_EEET_S8_S8_T0_.exit20 ], [ %119, %121 ] @@ -1480,10 +1480,12 @@ attributes #13 = { nounwind } !38 = distinct !{!38, !39, !"_ZSt9__find_ifISt16reverse_iteratorIPKcEN9__gnu_cxx5__ops17_Iter_equals_iterIS3_EEET_S8_S8_T0_: argument 0"} !39 = distinct !{!39, !"_ZSt9__find_ifISt16reverse_iteratorIPKcEN9__gnu_cxx5__ops17_Iter_equals_iterIS3_EEET_S8_S8_T0_"} !40 = distinct !{!40, !17} -!41 = !{!42, !44} -!42 = distinct !{!42, !43, !"_ZSt9__find_ifISt16reverse_iteratorIPKcEN9__gnu_cxx5__ops17_Iter_equals_iterIS3_EEET_S8_S8_T0_St26random_access_iterator_tag: argument 0"} -!43 = distinct !{!43, !"_ZSt9__find_ifISt16reverse_iteratorIPKcEN9__gnu_cxx5__ops17_Iter_equals_iterIS3_EEET_S8_S8_T0_St26random_access_iterator_tag"} -!44 = distinct !{!44, !45, !"_ZSt9__find_ifISt16reverse_iteratorIPKcEN9__gnu_cxx5__ops17_Iter_equals_iterIS3_EEET_S8_S8_T0_: argument 0"} -!45 = distinct !{!45, !"_ZSt9__find_ifISt16reverse_iteratorIPKcEN9__gnu_cxx5__ops17_Iter_equals_iterIS3_EEET_S8_S8_T0_"} -!46 = distinct !{!46, !17} -!47 = distinct !{!47, !17} +!41 = !{!38} +!42 = !{!43, !45} +!43 = distinct !{!43, !44, !"_ZSt9__find_ifISt16reverse_iteratorIPKcEN9__gnu_cxx5__ops17_Iter_equals_iterIS3_EEET_S8_S8_T0_St26random_access_iterator_tag: argument 0"} +!44 = distinct !{!44, !"_ZSt9__find_ifISt16reverse_iteratorIPKcEN9__gnu_cxx5__ops17_Iter_equals_iterIS3_EEET_S8_S8_T0_St26random_access_iterator_tag"} +!45 = distinct !{!45, !46, !"_ZSt9__find_ifISt16reverse_iteratorIPKcEN9__gnu_cxx5__ops17_Iter_equals_iterIS3_EEET_S8_S8_T0_: argument 0"} +!46 = distinct !{!46, !"_ZSt9__find_ifISt16reverse_iteratorIPKcEN9__gnu_cxx5__ops17_Iter_equals_iterIS3_EEET_S8_S8_T0_"} +!47 = !{!45} +!48 = distinct !{!48, !17} +!49 = distinct !{!49, !17} diff --git a/bench/libwebp/optimized/pnmdec.ll b/bench/libwebp/optimized/pnmdec.ll index 00c2aa6b5b4..0de292e6071 100644 --- a/bench/libwebp/optimized/pnmdec.ll +++ b/bench/libwebp/optimized/pnmdec.ll @@ -328,7 +328,7 @@ define hidden range(i32 0, 2) i32 @ReadPNM(ptr noundef %0, i64 noundef %1, ptr n .lr.ph.i56.i: ; preds = %132 %136 = tail call ptr @__ctype_b_loc() #15 - %.pre.i.i = load ptr, ptr %136, align 8, !tbaa !26 + %.pre.i.i = load ptr, ptr %136, align 8 br label %137 137: ; preds = %145, %.lr.ph.i56.i @@ -337,7 +337,7 @@ define hidden range(i32 0, 2) i32 @ReadPNM(ptr noundef %0, i64 noundef %1, ptr n %139 = load i8, ptr %138, align 1, !tbaa !20 %140 = sext i8 %139 to i64 %141 = getelementptr inbounds i16, ptr %.pre.i.i, i64 %140 - %142 = load i16, ptr %141, align 2, !tbaa !28 + %142 = load i16, ptr %141, align 2, !tbaa !26 %143 = and i16 %142, 16384 %.not51.i.i = icmp eq i16 %143, 0 br i1 %.not51.i.i, label %144, label %145 @@ -352,7 +352,7 @@ define hidden range(i32 0, 2) i32 @ReadPNM(ptr noundef %0, i64 noundef %1, ptr n %sext.i.i = shl i64 %146, 32 %147 = ashr exact i64 %sext.i.i, 32 %148 = icmp slt i64 %indvars.iv.next.i.i, %147 - br i1 %148, label %137, label %._crit_edge.i55.i, !llvm.loop !30 + br i1 %148, label %137, label %._crit_edge.i55.i, !llvm.loop !28 ._crit_edge.i55.i: ; preds = %145, %132 %149 = load ptr, ptr @stderr, align 8, !tbaa !23 @@ -602,7 +602,7 @@ ReadHeader.exit: ; preds = %222 .preheader135: ; preds = %263 %269 = icmp sgt i32 %264, 0 - %.pre = load i32, ptr %15, align 8, !tbaa !14 + %.pre = load i32, ptr %15, align 8 br i1 %269, label %.lr.ph160, label %._crit_edge .lr.ph160: ; preds = %.preheader135 @@ -642,7 +642,7 @@ ReadHeader.exit: ; preds = %222 %288 = getelementptr inbounds nuw i8, ptr %.0107156.us.us, i64 %261 %289 = add nuw nsw i32 %.0109155.us.us, 1 %exitcond268.not = icmp eq i32 %289, %264 - br i1 %exitcond268.not, label %._crit_edge, label %.lr.ph160.split.us.split.us, !llvm.loop !31 + br i1 %exitcond268.not, label %._crit_edge, label %.lr.ph160.split.us.split.us, !llvm.loop !29 .lr.ph160.split.us.split: ; preds = %.lr.ph160.split.us br i1 %283, label %.preheader.us.us.preheader, label %._crit_edge @@ -676,14 +676,14 @@ ReadHeader.exit: ; preds = %222 store i8 %301, ptr %302, align 1, !tbaa !20 %indvars.iv.next263 = add nuw nsw i64 %indvars.iv262, 1 %exitcond266.not = icmp eq i64 %indvars.iv.next263, %wide.trip.count265 - br i1 %exitcond266.not, label %..loopexit_crit_edge.us.us, label %291, !llvm.loop !32 + br i1 %exitcond266.not, label %..loopexit_crit_edge.us.us, label %291, !llvm.loop !30 ..loopexit_crit_edge.us.us: ; preds = %291 %303 = add i64 %.0106159.us.us193, %272 %304 = getelementptr inbounds nuw i8, ptr %.0107156.us.us194, i64 %261 %305 = add nuw nsw i32 %.0109155.us.us195, 1 %exitcond267.not = icmp eq i32 %305, %264 - br i1 %exitcond267.not, label %._crit_edge, label %.preheader.us.us, !llvm.loop !31 + br i1 %exitcond267.not, label %._crit_edge, label %.preheader.us.us, !llvm.loop !29 .lr.ph160.split: ; preds = %.lr.ph160 %306 = icmp sgt i32 %278, 0 @@ -738,14 +738,14 @@ ReadHeader.exit: ; preds = %222 %.1.us.us.us.us.us.us.us.us = phi i32 [ %324, %311 ], [ %.0102152.us.us.us.us.us.us.us188.us, %308 ] %indvars.iv.next257 = add nuw nsw i64 %indvars.iv256, 1 %exitcond260.not = icmp eq i64 %indvars.iv.next257, %wide.trip.count259 - br i1 %exitcond260.not, label %..loopexit134_crit_edge.split.us.us.split.us.us.us.split.us.split.us191.us, label %308, !llvm.loop !33 + br i1 %exitcond260.not, label %..loopexit134_crit_edge.split.us.us.split.us.us.us.split.us.split.us191.us, label %308, !llvm.loop !31 ..loopexit134_crit_edge.split.us.us.split.us.us.us.split.us.split.us191.us: ; preds = %325 %326 = add i64 %.0106159.us161.us.us.us.us, %272 %327 = getelementptr inbounds nuw i8, ptr %.0107156.us162.us.us.us.us, i64 %261 %328 = add nuw nsw i32 %.0109155.us163.us.us.us.us, 1 %exitcond261.not = icmp eq i32 %328, %264 - br i1 %exitcond261.not, label %._crit_edge, label %.lr.ph.us.us.us.us.us, !llvm.loop !31 + br i1 %exitcond261.not, label %._crit_edge, label %.lr.ph.us.us.us.us.us, !llvm.loop !29 .lr.ph.us.us.us.us: ; preds = %.lr.ph160.split.split.us.split.us.split.us.split.us, %..loopexit134_crit_edge.split.us.us.split.us.us.us.split.us.split.us.us %.0106159.us161.us.us.us = phi i64 [ %342, %..loopexit134_crit_edge.split.us.us.split.us.us.us.split.us.split.us.us ], [ %.0.i, %.lr.ph160.split.split.us.split.us.split.us.split.us ] @@ -771,14 +771,14 @@ ReadHeader.exit: ; preds = %222 store i8 %340, ptr %341, align 1, !tbaa !20 %indvars.iv.next249 = add nuw nsw i64 %indvars.iv248, 1 %exitcond254.not = icmp eq i64 %indvars.iv.next249, %wide.trip.count259 - br i1 %exitcond254.not, label %..loopexit134_crit_edge.split.us.us.split.us.us.us.split.us.split.us.us, label %330, !llvm.loop !33 + br i1 %exitcond254.not, label %..loopexit134_crit_edge.split.us.us.split.us.us.us.split.us.split.us.us, label %330, !llvm.loop !31 ..loopexit134_crit_edge.split.us.us.split.us.us.us.split.us.split.us.us: ; preds = %330 %342 = add i64 %.0106159.us161.us.us.us, %272 %343 = getelementptr inbounds nuw i8, ptr %.0107156.us162.us.us.us, i64 %261 %344 = add nuw nsw i32 %.0109155.us163.us.us.us, 1 %exitcond255.not = icmp eq i32 %344, %264 - br i1 %exitcond255.not, label %._crit_edge, label %.lr.ph.us.us.us.us, !llvm.loop !31 + br i1 %exitcond255.not, label %._crit_edge, label %.lr.ph.us.us.us.us, !llvm.loop !29 .lr.ph.us.us.us: ; preds = %.lr.ph160.split.split.us.split.us.split.us, %..loopexit134_crit_edge.split.us.us.split.us.us.us.split %.0106159.us161.us.us = phi i64 [ %367, %..loopexit134_crit_edge.split.us.us.split.us.us.us.split ], [ %.0.i, %.lr.ph160.split.split.us.split.us.split.us ] @@ -820,14 +820,14 @@ ReadHeader.exit: ; preds = %222 %.1.us.us.us.us.us = phi i32 [ %365, %349 ], [ %.0102152.us.us.us.us.us, %346 ] %indvars.iv.next243 = add nuw nsw i64 %indvars.iv242, 1 %exitcond246.not = icmp eq i64 %indvars.iv.next243, %wide.trip.count259 - br i1 %exitcond246.not, label %..loopexit134_crit_edge.split.us.us.split.us.us.us.split, label %346, !llvm.loop !33 + br i1 %exitcond246.not, label %..loopexit134_crit_edge.split.us.us.split.us.us.us.split, label %346, !llvm.loop !31 ..loopexit134_crit_edge.split.us.us.split.us.us.us.split: ; preds = %366 %367 = add i64 %.0106159.us161.us.us, %272 %368 = getelementptr inbounds nuw i8, ptr %.0107156.us162.us.us, i64 %261 %369 = add nuw nsw i32 %.0109155.us163.us.us, 1 %exitcond247.not = icmp eq i32 %369, %264 - br i1 %exitcond247.not, label %._crit_edge, label %.lr.ph.us.us.us, !llvm.loop !31 + br i1 %exitcond247.not, label %._crit_edge, label %.lr.ph.us.us.us, !llvm.loop !29 .lr.ph160.split.split.us.split.us.split: ; preds = %.lr.ph160.split.split.us.split.us br i1 %274, label %.lr.ph160.split.split.us.split.us.split.split.us, label %.lr.ph.us.us @@ -862,14 +862,14 @@ ReadHeader.exit: ; preds = %222 %.1.us.us.us176.us.us.us = phi i32 [ %379, %374 ], [ %.0102152.us.us.us171.us.us183.us, %371 ] %indvars.iv.next237 = add nuw nsw i64 %indvars.iv236, 1 %exitcond240.not = icmp eq i64 %indvars.iv.next237, %wide.trip.count259 - br i1 %exitcond240.not, label %..loopexit134_crit_edge.split.us.us.split.us177.split.us.split.us185.us, label %371, !llvm.loop !33 + br i1 %exitcond240.not, label %..loopexit134_crit_edge.split.us.us.split.us177.split.us.split.us185.us, label %371, !llvm.loop !31 ..loopexit134_crit_edge.split.us.us.split.us177.split.us.split.us185.us: ; preds = %380 %381 = add i64 %.0106159.us161.us.us180.us, %272 %382 = getelementptr inbounds nuw i8, ptr %.0107156.us162.us.us181.us, i64 %261 %383 = add nuw nsw i32 %.0109155.us163.us.us182.us, 1 %exitcond241.not = icmp eq i32 %383, %264 - br i1 %exitcond241.not, label %._crit_edge, label %.lr.ph.us.us.us179.us, !llvm.loop !31 + br i1 %exitcond241.not, label %._crit_edge, label %.lr.ph.us.us.us179.us, !llvm.loop !29 .lr.ph.us.us.us179: ; preds = %.lr.ph160.split.split.us.split.us.split.split.us, %.lr.ph.us.us.us179 %.0106159.us161.us.us180 = phi i64 [ %384, %.lr.ph.us.us.us179 ], [ %.0.i, %.lr.ph160.split.split.us.split.us.split.split.us ] @@ -881,7 +881,7 @@ ReadHeader.exit: ; preds = %222 %385 = getelementptr inbounds nuw i8, ptr %.0107156.us162.us.us181, i64 %261 %386 = add nuw nsw i32 %.0109155.us163.us.us182, 1 %exitcond235.not = icmp eq i32 %386, %264 - br i1 %exitcond235.not, label %._crit_edge, label %.lr.ph.us.us.us179, !llvm.loop !31 + br i1 %exitcond235.not, label %._crit_edge, label %.lr.ph.us.us.us179, !llvm.loop !29 .lr.ph.us.us: ; preds = %.lr.ph160.split.split.us.split.us.split, %..loopexit134_crit_edge.split.us.us.split.us177.split %.0106159.us161.us = phi i64 [ %403, %..loopexit134_crit_edge.split.us.us.split.us177.split ], [ %.0.i, %.lr.ph160.split.split.us.split.us.split ] @@ -917,14 +917,14 @@ ReadHeader.exit: ; preds = %222 %.1.us.us.us176 = phi i32 [ %401, %391 ], [ %.0102152.us.us.us171, %388 ] %indvars.iv.next225 = add nuw nsw i64 %indvars.iv224, 1 %exitcond228.not = icmp eq i64 %indvars.iv.next225, %wide.trip.count259 - br i1 %exitcond228.not, label %..loopexit134_crit_edge.split.us.us.split.us177.split, label %388, !llvm.loop !33 + br i1 %exitcond228.not, label %..loopexit134_crit_edge.split.us.us.split.us177.split, label %388, !llvm.loop !31 ..loopexit134_crit_edge.split.us.us.split.us177.split: ; preds = %402 %403 = add i64 %.0106159.us161.us, %272 %404 = getelementptr inbounds nuw i8, ptr %.0107156.us162.us, i64 %261 %405 = add nuw nsw i32 %.0109155.us163.us, 1 %exitcond229.not = icmp eq i32 %405, %264 - br i1 %exitcond229.not, label %._crit_edge, label %.lr.ph.us.us, !llvm.loop !31 + br i1 %exitcond229.not, label %._crit_edge, label %.lr.ph.us.us, !llvm.loop !29 .lr.ph.us: ; preds = %.lr.ph160.split.split.us, %..loopexit134_crit_edge.split.us169 %.0106159.us161 = phi i64 [ %445, %..loopexit134_crit_edge.split.us169 ], [ %.0.i, %.lr.ph160.split.split.us ] @@ -1001,20 +1001,20 @@ ReadHeader.exit: ; preds = %222 %.1.us168 = phi i32 [ %443, %437 ], [ %436, %432 ], [ %.0102152.us164, %431 ] %indvars.iv.next = add nuw nsw i64 %indvars.iv, 1 %exitcond.not = icmp eq i64 %indvars.iv.next, %wide.trip.count259 - br i1 %exitcond.not, label %..loopexit134_crit_edge.split.us169, label %407, !llvm.loop !33 + br i1 %exitcond.not, label %..loopexit134_crit_edge.split.us169, label %407, !llvm.loop !31 ..loopexit134_crit_edge.split.us169: ; preds = %444 %445 = add i64 %.0106159.us161, %272 %446 = getelementptr inbounds nuw i8, ptr %.0107156.us162, i64 %261 %447 = add nuw nsw i32 %.0109155.us163, 1 %exitcond223.not = icmp eq i32 %447, %264 - br i1 %exitcond223.not, label %._crit_edge, label %.lr.ph.us, !llvm.loop !31 + br i1 %exitcond223.not, label %._crit_edge, label %.lr.ph.us, !llvm.loop !29 ._crit_edge: ; preds = %..loopexit134_crit_edge.split.us169, %..loopexit134_crit_edge.split.us.us.split.us177.split, %.lr.ph.us.us.us179, %..loopexit134_crit_edge.split.us.us.split.us177.split.us.split.us185.us, %..loopexit134_crit_edge.split.us.us.split.us.us.us.split, %..loopexit134_crit_edge.split.us.us.split.us.us.us.split.us.split.us.us, %..loopexit134_crit_edge.split.us.us.split.us.us.us.split.us.split.us191.us, %..loopexit_crit_edge.us.us, %.lr.ph160.split.us.split.us, %.lr.ph160.split, %.lr.ph160.split.us.split, %.preheader135 %448 = getelementptr inbounds nuw i8, ptr %2, i64 8 - store i32 %.pre, ptr %448, align 8, !tbaa !34 + store i32 %.pre, ptr %448, align 8, !tbaa !32 %449 = getelementptr inbounds nuw i8, ptr %2, i64 12 - store i32 %264, ptr %449, align 4, !tbaa !38 + store i32 %264, ptr %449, align 4, !tbaa !36 %450 = trunc nuw i64 %261 to i32 br i1 %.not, label %451, label %453 @@ -1130,15 +1130,13 @@ attributes #17 = { nounwind allocsize(0) } !24 = !{!"p1 _ZTS8_IO_FILE", !7, i64 0} !25 = !{!11, !11, i64 0} !26 = !{!27, !27, i64 0} -!27 = !{!"p1 short", !7, i64 0} -!28 = !{!29, !29, i64 0} -!29 = !{!"short", !8, i64 0} +!27 = !{!"short", !8, i64 0} +!28 = distinct !{!28, !22} +!29 = distinct !{!29, !22} !30 = distinct !{!30, !22} !31 = distinct !{!31, !22} -!32 = distinct !{!32, !22} -!33 = distinct !{!33, !22} -!34 = !{!35, !11, i64 8} -!35 = !{!"WebPPicture", !11, i64 0, !11, i64 4, !11, i64 8, !11, i64 12, !6, i64 16, !6, i64 24, !6, i64 32, !11, i64 40, !11, i64 44, !6, i64 48, !11, i64 56, !8, i64 60, !36, i64 72, !11, i64 80, !8, i64 84, !7, i64 96, !7, i64 104, !11, i64 112, !6, i64 120, !37, i64 128, !11, i64 136, !7, i64 144, !7, i64 152, !8, i64 160, !6, i64 176, !6, i64 184, !8, i64 192, !7, i64 224, !7, i64 232, !8, i64 240} -!36 = !{!"p1 int", !7, i64 0} -!37 = !{!"p1 _ZTS12WebPAuxStats", !7, i64 0} -!38 = !{!35, !11, i64 12} +!32 = !{!33, !11, i64 8} +!33 = !{!"WebPPicture", !11, i64 0, !11, i64 4, !11, i64 8, !11, i64 12, !6, i64 16, !6, i64 24, !6, i64 32, !11, i64 40, !11, i64 44, !6, i64 48, !11, i64 56, !8, i64 60, !34, i64 72, !11, i64 80, !8, i64 84, !7, i64 96, !7, i64 104, !11, i64 112, !6, i64 120, !35, i64 128, !11, i64 136, !7, i64 144, !7, i64 152, !8, i64 160, !6, i64 176, !6, i64 184, !8, i64 192, !7, i64 224, !7, i64 232, !8, i64 240} +!34 = !{!"p1 int", !7, i64 0} +!35 = !{!"p1 _ZTS12WebPAuxStats", !7, i64 0} +!36 = !{!33, !11, i64 12} diff --git a/bench/lief/optimized/ImportEntry.ll b/bench/lief/optimized/ImportEntry.ll index ea606281db1..c099e93387e 100644 --- a/bench/lief/optimized/ImportEntry.ll +++ b/bench/lief/optimized/ImportEntry.ll @@ -72,7 +72,7 @@ _ZN4LIEF12ref_iteratorIRSt6vectorINS_2PE11ImportEntryESaIS3_EES3_N9__gnu_cxx17__ ._crit_edge38: ; preds = %34 %.phi.trans.insert = getelementptr inbounds nuw i8, ptr %19, i64 56 - %.pre = load i64, ptr %.phi.trans.insert, align 8, !tbaa !32 + %.pre = load i64, ptr %.phi.trans.insert, align 8 br label %47 41: ; preds = %34 @@ -90,32 +90,32 @@ _ZN4LIEF12ref_iteratorIRSt6vectorINS_2PE11ImportEntryESaIS3_EES3_N9__gnu_cxx17__ %51 = getelementptr inbounds nuw ptr, ptr %50, i64 %.036 %52 = load ptr, ptr %51, align 8, !tbaa !19 %53 = getelementptr inbounds nuw i8, ptr %52, i64 16 - store i16 %49, ptr %53, align 8, !tbaa !37 + store i16 %49, ptr %53, align 8, !tbaa !32 %54 = getelementptr inbounds nuw i8, ptr %52, i64 24 - store i64 %48, ptr %54, align 8, !tbaa !38 + store i64 %48, ptr %54, align 8, !tbaa !33 %55 = getelementptr inbounds nuw i8, ptr %19, i64 64 - %56 = load i16, ptr %55, align 8, !tbaa !39 + %56 = load i16, ptr %55, align 8, !tbaa !34 %57 = getelementptr inbounds nuw i8, ptr %52, i64 32 - store i16 %56, ptr %57, align 8, !tbaa !40 + store i16 %56, ptr %57, align 8, !tbaa !39 %58 = getelementptr inbounds nuw i8, ptr %19, i64 72 - %59 = load i64, ptr %58, align 8, !tbaa !41 + %59 = load i64, ptr %58, align 8, !tbaa !40 %60 = getelementptr inbounds nuw i8, ptr %52, i64 40 - store i64 %59, ptr %60, align 8, !tbaa !42 + store i64 %59, ptr %60, align 8, !tbaa !41 %61 = getelementptr inbounds nuw i8, ptr %52, i64 48 - store i64 %48, ptr %61, align 8, !tbaa !43 + store i64 %48, ptr %61, align 8, !tbaa !42 %62 = getelementptr inbounds nuw i8, ptr %19, i64 88 - %63 = load i64, ptr %62, align 8, !tbaa !44 + %63 = load i64, ptr %62, align 8, !tbaa !43 %64 = getelementptr inbounds nuw i8, ptr %52, i64 56 - store i64 %63, ptr %64, align 8, !tbaa !45 + store i64 %63, ptr %64, align 8, !tbaa !44 %65 = add nuw i64 %.036, 1 %66 = load ptr, ptr %5, align 8, !tbaa !11 - %67 = load ptr, ptr %3, align 8, !tbaa !46 + %67 = load ptr, ptr %3, align 8, !tbaa !45 %68 = ptrtoint ptr %66 to i64 %69 = ptrtoint ptr %67 to i64 %70 = sub i64 %68, %69 %71 = sdiv exact i64 %70, 104 %72 = icmp ult i64 %65, %71 - br i1 %72, label %_ZN4LIEF12ref_iteratorIRSt6vectorINS_2PE11ImportEntryESaIS3_EES3_N9__gnu_cxx17__normal_iteratorIPS3_S5_EEEixEm.exit, label %._crit_edge, !llvm.loop !47 + br i1 %72, label %_ZN4LIEF12ref_iteratorIRSt6vectorINS_2PE11ImportEntryESaIS3_EES3_N9__gnu_cxx17__normal_iteratorIPS3_S5_EEEixEm.exit, label %._crit_edge, !llvm.loop !46 } ; Function Attrs: mustprogress nofree nounwind willreturn allockind("alloc,uninitialized") allocsize(0) memory(inaccessiblemem: readwrite) @@ -132,7 +132,7 @@ define hidden void @_ZN4LIEF2PE22destroy_import_entriesEP11Pe_Import_t(ptr nound br i1 %.not7, label %._crit_edge, label %.lr.ph ._crit_edge.loopexit: ; preds = %.lr.ph - %.pre = load ptr, ptr %2, align 8, !tbaa !13 + %.pre = load ptr, ptr %2, align 8 br label %._crit_edge ._crit_edge: ; preds = %._crit_edge.loopexit, %1 @@ -148,7 +148,7 @@ define hidden void @_ZN4LIEF2PE22destroy_import_entriesEP11Pe_Import_t(ptr nound %8 = getelementptr inbounds nuw ptr, ptr %3, i64 %7 %9 = load ptr, ptr %8, align 8, !tbaa !19 %.not = icmp eq ptr %9, null - br i1 %.not, label %._crit_edge.loopexit, label %.lr.ph, !llvm.loop !49 + br i1 %.not, label %._crit_edge.loopexit, label %.lr.ph, !llvm.loop !48 } ; Function Attrs: mustprogress nounwind willreturn allockind("free") memory(argmem: readwrite, inaccessiblemem: readwrite) @@ -195,21 +195,20 @@ attributes #5 = { nounwind } !29 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", !30, i64 0, !25, i64 8, !6, i64 16} !30 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_Alloc_hiderE", !15, i64 0} !31 = !{!22, !15, i64 8} -!32 = !{!33, !25, i64 56} -!33 = !{!"_ZTSN4LIEF2PE11ImportEntryE", !34, i64 0, !25, i64 56, !24, i64 64, !25, i64 72, !25, i64 80, !25, i64 88, !36, i64 96} -!34 = !{!"_ZTSN4LIEF6SymbolE", !35, i64 0, !29, i64 8, !25, i64 40, !25, i64 48} -!35 = !{!"_ZTSN4LIEF6ObjectE"} -!36 = !{!"_ZTSN4LIEF2PE7PE_TYPEE", !6, i64 0} -!37 = !{!22, !24, i64 16} -!38 = !{!22, !25, i64 24} -!39 = !{!33, !24, i64 64} -!40 = !{!22, !24, i64 32} -!41 = !{!33, !25, i64 72} -!42 = !{!22, !25, i64 40} -!43 = !{!22, !25, i64 48} -!44 = !{!33, !25, i64 88} -!45 = !{!22, !25, i64 56} -!46 = !{!12, !4, i64 0} -!47 = distinct !{!47, !48} -!48 = !{!"llvm.loop.mustprogress"} -!49 = distinct !{!49, !48} +!32 = !{!22, !24, i64 16} +!33 = !{!22, !25, i64 24} +!34 = !{!35, !24, i64 64} +!35 = !{!"_ZTSN4LIEF2PE11ImportEntryE", !36, i64 0, !25, i64 56, !24, i64 64, !25, i64 72, !25, i64 80, !25, i64 88, !38, i64 96} +!36 = !{!"_ZTSN4LIEF6SymbolE", !37, i64 0, !29, i64 8, !25, i64 40, !25, i64 48} +!37 = !{!"_ZTSN4LIEF6ObjectE"} +!38 = !{!"_ZTSN4LIEF2PE7PE_TYPEE", !6, i64 0} +!39 = !{!22, !24, i64 32} +!40 = !{!35, !25, i64 72} +!41 = !{!22, !25, i64 40} +!42 = !{!22, !25, i64 48} +!43 = !{!35, !25, i64 88} +!44 = !{!22, !25, i64 56} +!45 = !{!12, !4, i64 0} +!46 = distinct !{!46, !47} +!47 = !{!"llvm.loop.mustprogress"} +!48 = distinct !{!48, !47} diff --git a/bench/lightgbm/optimized/linker_topo.ll b/bench/lightgbm/optimized/linker_topo.ll index 03d7981f0bd..66d9fd870a0 100644 --- a/bench/lightgbm/optimized/linker_topo.ll +++ b/bench/lightgbm/optimized/linker_topo.ll @@ -64,7 +64,6 @@ define void @_ZN8LightGBM8BruckMapC2Ei(ptr noundef nonnull align 8 captures(none ret void 10: ; preds = %.lr.ph, %_ZNSt6vectorIiSaIiEE9push_backEOi.exit19 - %.pre3133 = phi ptr [ null, %.lr.ph ], [ %.pre3134, %_ZNSt6vectorIiSaIiEE9push_backEOi.exit19 ] %11 = phi ptr [ null, %.lr.ph ], [ %61, %_ZNSt6vectorIiSaIiEE9push_backEOi.exit19 ] %12 = phi ptr [ null, %.lr.ph ], [ %62, %_ZNSt6vectorIiSaIiEE9push_backEOi.exit19 ] %.0730 = phi i32 [ 0, %.lr.ph ], [ %63, %_ZNSt6vectorIiSaIiEE9push_backEOi.exit19 ] @@ -124,21 +123,19 @@ _ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit16.i.i.i: ; preds = %33, %.no 35: ; preds = %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit16.i.i.i tail call void @_ZdlPv(ptr noundef nonnull %18) #16 - %.pre.pre = load ptr, ptr %8, align 8, !tbaa !15 - %.pre31.pre = load ptr, ptr %9, align 8, !tbaa !16 + %.pre.pre = load ptr, ptr %8, align 8 br label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i _ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i: ; preds = %35, %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit16.i.i.i - %.pre31 = phi ptr [ %.pre31.pre, %35 ], [ %.pre3133, %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit16.i.i.i ] %.pre = phi ptr [ %.pre.pre, %35 ], [ %12, %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit16.i.i.i ] store ptr %30, ptr %3, align 8, !tbaa !18 store ptr %34, ptr %6, align 8, !tbaa !15 %36 = getelementptr inbounds nuw i32, ptr %30, i64 %28 store ptr %36, ptr %7, align 8, !tbaa !16 + %.pre31 = load ptr, ptr %9, align 8 br label %_ZNSt6vectorIiSaIiEE9push_backEOi.exit _ZNSt6vectorIiSaIiEE9push_backEOi.exit: ; preds = %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i, %15 - %.pre3135 = phi ptr [ %.pre31, %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i ], [ %.pre3133, %15 ] %37 = phi ptr [ %.pre31, %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i ], [ %11, %15 ] %38 = phi ptr [ %.pre, %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i ], [ %12, %15 ] %.not.i.i10 = icmp eq ptr %38, %37 @@ -205,7 +202,6 @@ _ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS br label %_ZNSt6vectorIiSaIiEE9push_backEOi.exit19 _ZNSt6vectorIiSaIiEE9push_backEOi.exit19: ; preds = %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i16, %39 - %.pre3134 = phi ptr [ %60, %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i16 ], [ %.pre3135, %39 ] %61 = phi ptr [ %60, %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i16 ], [ %37, %39 ] %62 = phi ptr [ %58, %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i16 ], [ %40, %39 ] %63 = add nuw nsw i32 %.0730, 1 diff --git a/bench/linux/optimized/reboot.ll b/bench/linux/optimized/reboot.ll index cbd2624fd7f..ec9f9535118 100644 --- a/bench/linux/optimized/reboot.ll +++ b/bench/linux/optimized/reboot.ll @@ -318,7 +318,7 @@ define internal void @native_machine_emergency_restart() #0 align 16 { br label %37 35: ; preds = %9 - %.pr2 = load i8, ptr @port_cf9_safe, align 1 + %.pr2 = load i8, ptr @port_cf9_safe, align 1, !range !14 %36 = icmp eq i8 %.pr2, 0 br i1 %36, label %47, label %37 @@ -339,14 +339,14 @@ define internal void @native_machine_emergency_restart() #0 align 16 { 46: ; preds = %9 tail call void @idt_invalidate() #7 - tail call void asm sideeffect "int3", "~{dirflag},~{fpsr},~{flags}"() #7, !srcloc !14 + tail call void asm sideeffect "int3", "~{dirflag},~{fpsr},~{flags}"() #7, !srcloc !15 br label %47 47: ; preds = %46, %37, %35, %32, %27, %12 %48 = phi i32 [ 107, %46 ], [ 98, %32 ], [ 107, %12 ], [ %30, %27 ], [ 116, %37 ], [ 116, %35 ] %49 = phi i32 [ %11, %46 ], [ %11, %32 ], [ %11, %12 ], [ %31, %27 ], [ %11, %37 ], [ %11, %35 ] store i32 %48, ptr @reboot_type, align 4 - br label %9, !llvm.loop !15 + br label %9, !llvm.loop !16 } ; Function Attrs: fn_ret_thunk_extern nounwind null_pointer_is_valid @@ -396,16 +396,16 @@ define dso_local void @nmi_shootdown_cpus(ptr noundef %0) local_unnamed_addr #3 tail call void asm sideeffect "cli", "~{memory},~{dirflag},~{fpsr},~{flags}"() #7, !srcloc !5 %2 = load i32, ptr @crash_ipi_issued, align 4 %3 = icmp eq i32 %2, 0 - br i1 %3, label %5, label %4, !prof !16 + br i1 %3, label %5, label %4, !prof !17 4: ; preds = %1 - tail call void asm sideeffect "528: nop\0A\09.pushsection .discard.instr_begin\0A\09.long 528b - .\0A\09.popsection\0A\09", "i,~{dirflag},~{fpsr},~{flags}"(i32 528) #7, !srcloc !17 - tail call void asm sideeffect "1:\09.byte 0x0f, 0x0b\0A.pushsection __bug_table,\22aw\22\0A2:\09.long 1b - .\09# bug_entry::bug_addr\0A\09.long ${0:c} - .\09# bug_entry::file\0A\09.word ${1:c}\09# bug_entry::line\0A\09.word ${2:c}\09# bug_entry::flags\0A\09.org 2b+${3:c}\0A.popsection\0A998:\0A\09.pushsection .discard.reachable\0A\09.long 998b\0A\09.popsection\0A\09", "i,i,i,i,~{dirflag},~{fpsr},~{flags}"(ptr nonnull @.str, i32 902, i32 2307, i64 12) #7, !srcloc !18 - tail call void asm sideeffect "529: nop\0A\09.pushsection .discard.instr_end\0A\09.long 529b - .\0A\09.popsection\0A\09", "i,~{dirflag},~{fpsr},~{flags}"(i32 529) #7, !srcloc !19 + tail call void asm sideeffect "528: nop\0A\09.pushsection .discard.instr_begin\0A\09.long 528b - .\0A\09.popsection\0A\09", "i,~{dirflag},~{fpsr},~{flags}"(i32 528) #7, !srcloc !18 + tail call void asm sideeffect "1:\09.byte 0x0f, 0x0b\0A.pushsection __bug_table,\22aw\22\0A2:\09.long 1b - .\09# bug_entry::bug_addr\0A\09.long ${0:c} - .\09# bug_entry::file\0A\09.word ${1:c}\09# bug_entry::line\0A\09.word ${2:c}\09# bug_entry::flags\0A\09.org 2b+${3:c}\0A.popsection\0A998:\0A\09.pushsection .discard.reachable\0A\09.long 998b\0A\09.popsection\0A\09", "i,i,i,i,~{dirflag},~{fpsr},~{flags}"(ptr nonnull @.str, i32 902, i32 2307, i64 12) #7, !srcloc !19 + tail call void asm sideeffect "529: nop\0A\09.pushsection .discard.instr_end\0A\09.long 529b - .\0A\09.popsection\0A\09", "i,~{dirflag},~{fpsr},~{flags}"(i32 529) #7, !srcloc !20 br label %.loopexit 5: ; preds = %1 - %6 = tail call i32 asm "movl %gs:$1, $0", "=r,*m,~{dirflag},~{fpsr},~{flags}"(ptr nonnull elementtype(i32) getelementptr inbounds nuw (i8, ptr @pcpu_hot, i64 12)) #11, !srcloc !20 + %6 = tail call i32 asm "movl %gs:$1, $0", "=r,*m,~{dirflag},~{fpsr},~{flags}"(ptr nonnull elementtype(i32) getelementptr inbounds nuw (i8, ptr @pcpu_hot, i64 12)) #11, !srcloc !21 store i32 %6, ptr @crashing_cpu, align 4 store ptr %0, ptr @shootdown_callback, align 8 %7 = load volatile i32, ptr @__num_online_cpus, align 4 @@ -416,7 +416,7 @@ define dso_local void @nmi_shootdown_cpus(ptr noundef %0) local_unnamed_addr #3 br i1 %10, label %11, label %.loopexit 11: ; preds = %5 - tail call void asm sideeffect "sfence", "~{memory},~{dirflag},~{fpsr},~{flags}"() #7, !srcloc !21 + tail call void asm sideeffect "sfence", "~{memory},~{dirflag},~{fpsr},~{flags}"() #7, !srcloc !22 tail call void @apic_send_IPI_allbutself(i32 noundef 2) #7 store volatile i32 1, ptr @crash_ipi_issued, align 4 %12 = load volatile i32, ptr @waiting_for_crash_ipi, align 4 @@ -431,7 +431,7 @@ define dso_local void @nmi_shootdown_cpus(ptr noundef %0) local_unnamed_addr #3 %17 = icmp sgt i32 %16, 0 %18 = icmp ne i64 %15, 0 %19 = select i1 %17, i1 %18, i1 false - br i1 %19, label %.preheader, label %.loopexit, !llvm.loop !22 + br i1 %19, label %.preheader, label %.loopexit, !llvm.loop !23 .loopexit: ; preds = %.preheader, %11, %5, %4 ret void @@ -439,7 +439,7 @@ define dso_local void @nmi_shootdown_cpus(ptr noundef %0) local_unnamed_addr #3 ; Function Attrs: fn_ret_thunk_extern nounwind null_pointer_is_valid define internal noundef i32 @crash_nmi_callback(i32 %0, ptr noundef %1) #3 align 16 { - %3 = tail call i32 asm sideeffect "movl %gs:$1, $0", "=r,*m,~{dirflag},~{fpsr},~{flags}"(ptr nonnull elementtype(i32) getelementptr inbounds nuw (i8, ptr @pcpu_hot, i64 12)) #7, !srcloc !23 + %3 = tail call i32 asm sideeffect "movl %gs:$1, $0", "=r,*m,~{dirflag},~{fpsr},~{flags}"(ptr nonnull elementtype(i32) getelementptr inbounds nuw (i8, ptr @pcpu_hot, i64 12)) #7, !srcloc !24 %4 = load i32, ptr @crashing_cpu, align 4 %5 = icmp eq i32 %3, %4 br i1 %5, label %6, label %7 @@ -458,21 +458,21 @@ define internal noundef i32 @crash_nmi_callback(i32 %0, ptr noundef %1) #3 align br label %11 11: ; preds = %10, %7 - tail call void asm sideeffect ".pushsection .smp_locks,\22a\22\0A.balign 4\0A.long 671f - .\0A.popsection\0A671:\0A\09lock; decl $0", "=*m,*m,~{memory},~{dirflag},~{fpsr},~{flags}"(ptr nonnull elementtype(i32) @waiting_for_crash_ipi, ptr nonnull elementtype(i32) @waiting_for_crash_ipi) #7, !srcloc !24 + tail call void asm sideeffect ".pushsection .smp_locks,\22a\22\0A.balign 4\0A.long 671f - .\0A.popsection\0A671:\0A\09lock; decl $0", "=*m,*m,~{memory},~{dirflag},~{fpsr},~{flags}"(ptr nonnull elementtype(i32) @waiting_for_crash_ipi, ptr nonnull elementtype(i32) @waiting_for_crash_ipi) #7, !srcloc !25 callbr void asm sideeffect "1:jmp ${2:l}\0A\09.pushsection __jump_table, \22aw\22 \0A\09 .balign 8 \0A\09.long 1b - . \0A\09.long ${2:l} - . \0A\09 .quad ${0:c} + ${1:c} - .\0A\09.popsection \0A\09", "i,i,!i,~{dirflag},~{fpsr},~{flags}"(ptr nonnull @mds_idle_clear, i1 true) #7 - to label %12 [label %13], !srcloc !25 + to label %12 [label %13], !srcloc !26 12: ; preds = %11 - tail call void asm sideeffect "verw $0", "*m,~{cc},~{dirflag},~{fpsr},~{flags}"(ptr nonnull elementtype(i16) @mds_clear_cpu_buffers.ds) #7, !srcloc !26 + tail call void asm sideeffect "verw $0", "*m,~{cc},~{dirflag},~{fpsr},~{flags}"(ptr nonnull elementtype(i16) @mds_clear_cpu_buffers.ds) #7, !srcloc !27 br label %13 13: ; preds = %12, %11 - tail call void asm sideeffect "hlt", "~{memory},~{dirflag},~{fpsr},~{flags}"() #7, !srcloc !27 + tail call void asm sideeffect "hlt", "~{memory},~{dirflag},~{fpsr},~{flags}"() #7, !srcloc !28 br label %14 14: ; preds = %14, %13 - tail call void asm sideeffect "rep; nop", "~{memory},~{dirflag},~{fpsr},~{flags}"() #7, !srcloc !28 - br label %14, !llvm.loop !29 + tail call void asm sideeffect "rep; nop", "~{memory},~{dirflag},~{fpsr},~{flags}"() #7, !srcloc !29 + br label %14, !llvm.loop !30 } ; Function Attrs: null_pointer_is_valid @@ -491,7 +491,7 @@ define dso_local void @run_crash_ipi_callback(ptr noundef %0) local_unnamed_addr br i1 %3, label %16, label %4 4: ; preds = %1 - %5 = tail call i32 asm sideeffect "movl %gs:$1, $0", "=r,*m,~{dirflag},~{fpsr},~{flags}"(ptr nonnull elementtype(i32) getelementptr inbounds nuw (i8, ptr @pcpu_hot, i64 12)) #7, !srcloc !23 + %5 = tail call i32 asm sideeffect "movl %gs:$1, $0", "=r,*m,~{dirflag},~{fpsr},~{flags}"(ptr nonnull elementtype(i32) getelementptr inbounds nuw (i8, ptr @pcpu_hot, i64 12)) #7, !srcloc !24 %6 = load i32, ptr @crashing_cpu, align 4 %7 = icmp eq i32 %5, %6 br i1 %7, label %16, label %8 @@ -507,21 +507,21 @@ define dso_local void @run_crash_ipi_callback(ptr noundef %0) local_unnamed_addr br label %12 12: ; preds = %11, %8 - tail call void asm sideeffect ".pushsection .smp_locks,\22a\22\0A.balign 4\0A.long 671f - .\0A.popsection\0A671:\0A\09lock; decl $0", "=*m,*m,~{memory},~{dirflag},~{fpsr},~{flags}"(ptr nonnull elementtype(i32) @waiting_for_crash_ipi, ptr nonnull elementtype(i32) @waiting_for_crash_ipi) #7, !srcloc !24 + tail call void asm sideeffect ".pushsection .smp_locks,\22a\22\0A.balign 4\0A.long 671f - .\0A.popsection\0A671:\0A\09lock; decl $0", "=*m,*m,~{memory},~{dirflag},~{fpsr},~{flags}"(ptr nonnull elementtype(i32) @waiting_for_crash_ipi, ptr nonnull elementtype(i32) @waiting_for_crash_ipi) #7, !srcloc !25 callbr void asm sideeffect "1:jmp ${2:l}\0A\09.pushsection __jump_table, \22aw\22 \0A\09 .balign 8 \0A\09.long 1b - . \0A\09.long ${2:l} - . \0A\09 .quad ${0:c} + ${1:c} - .\0A\09.popsection \0A\09", "i,i,!i,~{dirflag},~{fpsr},~{flags}"(ptr nonnull @mds_idle_clear, i1 true) #7 - to label %13 [label %14], !srcloc !25 + to label %13 [label %14], !srcloc !26 13: ; preds = %12 - tail call void asm sideeffect "verw $0", "*m,~{cc},~{dirflag},~{fpsr},~{flags}"(ptr nonnull elementtype(i16) @mds_clear_cpu_buffers.ds) #7, !srcloc !26 + tail call void asm sideeffect "verw $0", "*m,~{cc},~{dirflag},~{fpsr},~{flags}"(ptr nonnull elementtype(i16) @mds_clear_cpu_buffers.ds) #7, !srcloc !27 br label %14 14: ; preds = %13, %12 - tail call void asm sideeffect "hlt", "~{memory},~{dirflag},~{fpsr},~{flags}"() #7, !srcloc !27 + tail call void asm sideeffect "hlt", "~{memory},~{dirflag},~{fpsr},~{flags}"() #7, !srcloc !28 br label %15 15: ; preds = %15, %14 - tail call void asm sideeffect "rep; nop", "~{memory},~{dirflag},~{fpsr},~{flags}"() #7, !srcloc !28 - br label %15, !llvm.loop !29 + tail call void asm sideeffect "rep; nop", "~{memory},~{dirflag},~{fpsr},~{flags}"() #7, !srcloc !29 + br label %15, !llvm.loop !30 16: ; preds = %4, %1 ret void @@ -537,7 +537,7 @@ define dso_local void @nmi_panic_self_stop(ptr noundef %0) local_unnamed_addr #0 br i1 %4, label %17, label %5 5: ; preds = %2 - %6 = tail call i32 asm sideeffect "movl %gs:$1, $0", "=r,*m,~{dirflag},~{fpsr},~{flags}"(ptr nonnull elementtype(i32) getelementptr inbounds nuw (i8, ptr @pcpu_hot, i64 12)) #7, !srcloc !23 + %6 = tail call i32 asm sideeffect "movl %gs:$1, $0", "=r,*m,~{dirflag},~{fpsr},~{flags}"(ptr nonnull elementtype(i32) getelementptr inbounds nuw (i8, ptr @pcpu_hot, i64 12)) #7, !srcloc !24 %7 = load i32, ptr @crashing_cpu, align 4 %8 = icmp eq i32 %6, %7 br i1 %8, label %17, label %9 @@ -553,25 +553,25 @@ define dso_local void @nmi_panic_self_stop(ptr noundef %0) local_unnamed_addr #0 br label %13 13: ; preds = %12, %9 - tail call void asm sideeffect ".pushsection .smp_locks,\22a\22\0A.balign 4\0A.long 671f - .\0A.popsection\0A671:\0A\09lock; decl $0", "=*m,*m,~{memory},~{dirflag},~{fpsr},~{flags}"(ptr nonnull elementtype(i32) @waiting_for_crash_ipi, ptr nonnull elementtype(i32) @waiting_for_crash_ipi) #7, !srcloc !24 + tail call void asm sideeffect ".pushsection .smp_locks,\22a\22\0A.balign 4\0A.long 671f - .\0A.popsection\0A671:\0A\09lock; decl $0", "=*m,*m,~{memory},~{dirflag},~{fpsr},~{flags}"(ptr nonnull elementtype(i32) @waiting_for_crash_ipi, ptr nonnull elementtype(i32) @waiting_for_crash_ipi) #7, !srcloc !25 callbr void asm sideeffect "1:jmp ${2:l}\0A\09.pushsection __jump_table, \22aw\22 \0A\09 .balign 8 \0A\09.long 1b - . \0A\09.long ${2:l} - . \0A\09 .quad ${0:c} + ${1:c} - .\0A\09.popsection \0A\09", "i,i,!i,~{dirflag},~{fpsr},~{flags}"(ptr nonnull @mds_idle_clear, i1 true) #7 - to label %14 [label %15], !srcloc !25 + to label %14 [label %15], !srcloc !26 14: ; preds = %13 - tail call void asm sideeffect "verw $0", "*m,~{cc},~{dirflag},~{fpsr},~{flags}"(ptr nonnull elementtype(i16) @mds_clear_cpu_buffers.ds) #7, !srcloc !26 + tail call void asm sideeffect "verw $0", "*m,~{cc},~{dirflag},~{fpsr},~{flags}"(ptr nonnull elementtype(i16) @mds_clear_cpu_buffers.ds) #7, !srcloc !27 br label %15 15: ; preds = %14, %13 - tail call void asm sideeffect "hlt", "~{memory},~{dirflag},~{fpsr},~{flags}"() #7, !srcloc !27 + tail call void asm sideeffect "hlt", "~{memory},~{dirflag},~{fpsr},~{flags}"() #7, !srcloc !28 br label %16 16: ; preds = %16, %15 - tail call void asm sideeffect "rep; nop", "~{memory},~{dirflag},~{fpsr},~{flags}"() #7, !srcloc !28 - br label %16, !llvm.loop !29 + tail call void asm sideeffect "rep; nop", "~{memory},~{dirflag},~{fpsr},~{flags}"() #7, !srcloc !29 + br label %16, !llvm.loop !30 17: ; preds = %5, %2 - tail call void asm sideeffect "rep; nop", "~{memory},~{dirflag},~{fpsr},~{flags}"() #7, !srcloc !28 - br label %2, !llvm.loop !30 + tail call void asm sideeffect "rep; nop", "~{memory},~{dirflag},~{fpsr},~{flags}"() #7, !srcloc !29 + br label %2, !llvm.loop !31 } ; Function Attrs: null_pointer_is_valid @@ -728,20 +728,21 @@ attributes #11 = { nounwind memory(read) } !11 = !{!"llvm.loop.unroll.disable"} !12 = !{i64 2154517000} !13 = distinct !{!13, !10, !11} -!14 = !{i64 19535} -!15 = distinct !{!15, !11} -!16 = !{!"branch_weights", i32 2000, i32 1} -!17 = !{i64 2156484373, i64 2156484182, i64 2156484234, i64 2156484280, i64 2156484308} -!18 = !{i64 2156484447, i64 2156484476, i64 2156484522, i64 2156484580, i64 2156484634, i64 2156484688, i64 2156484743, i64 2156484774, i64 2156485082, i64 2156485088, i64 2156485135, i64 2156485158, i64 2156485184} -!19 = !{i64 2156485641, i64 2156485452, i64 2156485502, i64 2156485548, i64 2156485576} -!20 = !{i64 2156488379} -!21 = !{i64 2156489681} -!22 = distinct !{!22, !10, !11} -!23 = !{i64 2156482675} -!24 = !{i64 2148490286, i64 2148490325, i64 2148490346, i64 2148490383, i64 2148490406, i64 2148490276} -!25 = !{i64 963314, i64 963337, i64 2148448084, i64 2148448105, i64 2148448131, i64 2148448164, i64 2148448198, i64 2148448222} -!26 = !{i64 1848852} -!27 = !{i64 1980780} -!28 = !{i64 2021467} -!29 = distinct !{!29, !11} +!14 = !{i8 0, i8 2} +!15 = !{i64 19535} +!16 = distinct !{!16, !11} +!17 = !{!"branch_weights", i32 2000, i32 1} +!18 = !{i64 2156484373, i64 2156484182, i64 2156484234, i64 2156484280, i64 2156484308} +!19 = !{i64 2156484447, i64 2156484476, i64 2156484522, i64 2156484580, i64 2156484634, i64 2156484688, i64 2156484743, i64 2156484774, i64 2156485082, i64 2156485088, i64 2156485135, i64 2156485158, i64 2156485184} +!20 = !{i64 2156485641, i64 2156485452, i64 2156485502, i64 2156485548, i64 2156485576} +!21 = !{i64 2156488379} +!22 = !{i64 2156489681} +!23 = distinct !{!23, !10, !11} +!24 = !{i64 2156482675} +!25 = !{i64 2148490286, i64 2148490325, i64 2148490346, i64 2148490383, i64 2148490406, i64 2148490276} +!26 = !{i64 963314, i64 963337, i64 2148448084, i64 2148448105, i64 2148448131, i64 2148448164, i64 2148448198, i64 2148448222} +!27 = !{i64 1848852} +!28 = !{i64 1980780} +!29 = !{i64 2021467} !30 = distinct !{!30, !11} +!31 = distinct !{!31, !11} diff --git a/bench/llama.cpp/optimized/llama-context.ll b/bench/llama.cpp/optimized/llama-context.ll index d5acbfdca14..99bdd99ce19 100644 --- a/bench/llama.cpp/optimized/llama-context.ll +++ b/bench/llama.cpp/optimized/llama-context.ll @@ -486,7 +486,7 @@ define void @_Z16llama_set_inputsR13llama_contextRK12llama_ubatch(ptr noundef no br i1 %.not921, label %._crit_edge, label %.lr.ph ._crit_edge.loopexit: ; preds = %86 - %.pre = load i32, ptr %68, align 8, !tbaa !161 + %.pre = load i32, ptr %68, align 8 br label %._crit_edge ._crit_edge: ; preds = %._crit_edge.loopexit, %.preheader805 @@ -596,7 +596,7 @@ define void @_Z16llama_set_inputsR13llama_contextRK12llama_ubatch(ptr noundef no %125 = load ptr, ptr %99, align 8, !tbaa !166 %126 = getelementptr inbounds nuw i8, ptr %125, i64 248 %127 = load ptr, ptr %126, align 8, !tbaa !123 - %.pre1135 = load ptr, ptr %101, align 8, !tbaa !170 + %.pre1135 = load ptr, ptr %101, align 8 br label %128 128: ; preds = %124, %107 @@ -1242,7 +1242,7 @@ _ZNSt6vectorIfSaIfEED2Ev.exit: ; preds = %._crit_edge875, %37 %387 = mul nuw nsw i64 %indvars.iv1053, %318 %388 = getelementptr float, ptr %332, i64 %386 %389 = getelementptr float, ptr %388, i64 %387 - %.pre1136 = load float, ptr %385, align 4, !tbaa !178 + %.pre1136 = load float, ptr %385, align 4 br label %390 ._crit_edge872: ; preds = %390, %380 @@ -1696,7 +1696,7 @@ _ZNSt6vectorIiSaIiEED2Ev.exit706: ; preds = %503, %_ZNSt6vectorI .loopexit786..critedge676_crit_edge: ; preds = %.loopexit786 %.phi.trans.insert = getelementptr inbounds nuw i8, ptr %0, i64 896 - %.pre1137 = load i8, ptr %.phi.trans.insert, align 8, !tbaa !213, !range !157 + %.pre1137 = load i8, ptr %.phi.trans.insert, align 8, !range !157 br label %.critedge676 581: ; preds = %.loopexit786 @@ -1713,7 +1713,7 @@ _ZNSt6vectorIiSaIiEED2Ev.exit706: ; preds = %503, %_ZNSt6vectorI unreachable 589: ; preds = %581 - %590 = load i8, ptr %1, align 8, !tbaa !214, !range !157, !noundef !158 + %590 = load i8, ptr %1, align 8, !tbaa !213, !range !157, !noundef !158 %591 = trunc nuw i8 %590 to i1 br i1 %591, label %592, label %593 @@ -1726,7 +1726,7 @@ _ZNSt6vectorIiSaIiEED2Ev.exit706: ; preds = %503, %_ZNSt6vectorI %595 = getelementptr inbounds nuw i8, ptr %594, i64 248 %596 = load ptr, ptr %595, align 8, !tbaa !123 %597 = getelementptr inbounds nuw i8, ptr %0, i64 896 - %598 = load i8, ptr %597, align 8, !tbaa !213, !range !157, !noundef !158 + %598 = load i8, ptr %597, align 8, !tbaa !214, !range !157, !noundef !158 %599 = trunc nuw i8 %598 to i1 br i1 %599, label %.preheader783, label %.critedge674 @@ -1874,7 +1874,7 @@ _ZL30llama_relative_position_bucketiimb.exit714: ; preds = %.preheader782, %_ZL %685 = load ptr, ptr %684, align 8, !tbaa !221 %686 = tail call i64 @ggml_nbytes(ptr noundef nonnull %681) tail call void @ggml_backend_tensor_set(ptr noundef nonnull %681, ptr noundef %685, i64 noundef 0, i64 noundef %686) - %.pre1138 = load i8, ptr %683, align 8, !tbaa !213, !range !157 + %.pre1138 = load i8, ptr %683, align 8, !range !157 %687 = trunc nuw i8 %.pre1138 to i1 br i1 %687, label %.loopexit, label %.thread1145 @@ -1910,7 +1910,7 @@ _ZL30llama_relative_position_bucketiimb.exit714: ; preds = %.preheader782, %_ZL unreachable 710: ; preds = %690 - %711 = load i8, ptr %1, align 8, !tbaa !214, !range !157, !noundef !158 + %711 = load i8, ptr %1, align 8, !tbaa !213, !range !157, !noundef !158 %712 = trunc nuw i8 %711 to i1 br i1 %712, label %713, label %.critedge678 @@ -2143,7 +2143,7 @@ _ZNSt6vectorIiSaIiEE6resizeEm.exit: ; preds = %31, %2 37: ; preds = %_ZNSt6vectorIiSaIiEE6resizeEm.exit %38 = tail call i64 @ggml_backend_buffer_get_size(ptr noundef nonnull %34) - %.pr = load ptr, ptr %33, align 8, !tbaa !232 + %.pr = load ptr, ptr %33, align 8 %39 = add i64 %25, %22 %40 = shl i64 %39, 2 %.not76 = icmp eq ptr %.pr, null @@ -2207,7 +2207,7 @@ _ZNSt10unique_ptrI19ggml_backend_buffer27ggml_backend_buffer_deleterEaSEDn.exit: unreachable _ZNSt10unique_ptrI19ggml_backend_buffer27ggml_backend_buffer_deleterE5resetEPS0_.exitthread-pre-split: ; preds = %60 - %.pr71 = load ptr, ptr %33, align 8, !tbaa !232 + %.pr71 = load ptr, ptr %33, align 8 br label %_ZNSt10unique_ptrI19ggml_backend_buffer27ggml_backend_buffer_deleterE5resetEPS0_.exit _ZNSt10unique_ptrI19ggml_backend_buffer27ggml_backend_buffer_deleterE5resetEPS0_.exit: ; preds = %_ZNSt10unique_ptrI19ggml_backend_buffer27ggml_backend_buffer_deleterE5resetEPS0_.exitthread-pre-split, %56 @@ -2622,7 +2622,7 @@ _ZSt8_DestroyISt3setIiSt4lessIiESaIiEEEvPT_.exit.i.i.i.i: ; preds = %.lr.ph.i.i. br i1 %.not.i.i.i.i, label %_ZSt8_DestroyIPSt3setIiSt4lessIiESaIiEES4_EvT_S6_RSaIT0_E.exitthread-pre-split.i, label %.lr.ph.i.i.i.i, !llvm.loop !292 _ZSt8_DestroyIPSt3setIiSt4lessIiESaIiEES4_EvT_S6_RSaIT0_E.exitthread-pre-split.i: ; preds = %_ZSt8_DestroyISt3setIiSt4lessIiESaIiEEEvPT_.exit.i.i.i.i - %.pr.i = load ptr, ptr %16, align 8, !tbaa !290 + %.pr.i = load ptr, ptr %16, align 8 br label %_ZSt8_DestroyIPSt3setIiSt4lessIiESaIiEES4_EvT_S6_RSaIT0_E.exit.i _ZSt8_DestroyIPSt3setIiSt4lessIiESaIiEES4_EvT_S6_RSaIT0_E.exit.i: ; preds = %_ZSt8_DestroyIPSt3setIiSt4lessIiESaIiEES4_EvT_S6_RSaIT0_E.exitthread-pre-split.i, %_ZNSt6vectorIhSaIhEED2Ev.exit @@ -2748,7 +2748,7 @@ _ZSt8_DestroyISt10unique_ptrI12ggml_backend20ggml_backend_deleterEEvPT_.exit.i.i br i1 %.not.i.i.i.i9, label %_ZSt8_DestroyIPSt10unique_ptrI12ggml_backend20ggml_backend_deleterES3_EvT_S5_RSaIT0_E.exitthread-pre-split.i, label %.lr.ph.i.i.i.i7, !llvm.loop !302 _ZSt8_DestroyIPSt10unique_ptrI12ggml_backend20ggml_backend_deleterES3_EvT_S5_RSaIT0_E.exitthread-pre-split.i: ; preds = %_ZSt8_DestroyISt10unique_ptrI12ggml_backend20ggml_backend_deleterEEvPT_.exit.i.i.i.i - %.pr.i10 = load ptr, ptr %69, align 8, !tbaa !299 + %.pr.i10 = load ptr, ptr %69, align 8 br label %_ZSt8_DestroyIPSt10unique_ptrI12ggml_backend20ggml_backend_deleterES3_EvT_S5_RSaIT0_E.exit.i _ZSt8_DestroyIPSt10unique_ptrI12ggml_backend20ggml_backend_deleterES3_EvT_S5_RSaIT0_E.exit.i: ; preds = %_ZSt8_DestroyIPSt10unique_ptrI12ggml_backend20ggml_backend_deleterES3_EvT_S5_RSaIT0_E.exitthread-pre-split.i, %_ZNSt6vectorISt4pairIP12ggml_backendPFvS2_iEESaIS5_EED2Ev.exit @@ -2977,7 +2977,7 @@ define void @llama_synchronize(ptr noundef captures(none) %0) local_unnamed_addr %17 = load i64, ptr %16, align 8, !tbaa !325 %18 = add nsw i64 %15, %17 store i64 %18, ptr %16, align 8, !tbaa !325 - %.pr.pre.pre = load i64, ptr %4, align 8, !tbaa !322 + %.pr.pre.pre = load i64, ptr %4, align 8 br label %19 19: ; preds = %11, %7 @@ -3007,7 +3007,7 @@ define void @llama_synchronize(ptr noundef captures(none) %0) local_unnamed_addr %35 = load i64, ptr %34, align 8, !tbaa !327 %36 = add nsw i64 %33, %35 store i64 %36, ptr %34, align 8, !tbaa !327 - %.pre = load i64, ptr %4, align 8, !tbaa !322 + %.pre = load i64, ptr %4, align 8 br label %37 37: ; preds = %29, %25 @@ -3234,7 +3234,7 @@ _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit63: ; preds = %62 ..thread_crit_edge: ; preds = %73 %.phi.trans.insert = getelementptr inbounds nuw i8, ptr %0, i64 824 - %.pre = load i32, ptr %.phi.trans.insert, align 8, !tbaa !161 + %.pre = load i32, ptr %.phi.trans.insert, align 8 br label %.thread 77: ; preds = %73 @@ -3622,7 +3622,7 @@ _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit63: ; preds = %62 ..thread_crit_edge: ; preds = %73 %.phi.trans.insert = getelementptr inbounds nuw i8, ptr %0, i64 824 - %.pre = load i32, ptr %.phi.trans.insert, align 8, !tbaa !161 + %.pre = load i32, ptr %.phi.trans.insert, align 8 br label %.thread 77: ; preds = %73 @@ -5226,7 +5226,7 @@ _ZSt8_DestroyISt10unique_ptrI19ggml_backend_buffer27ggml_backend_buffer_deleterE br i1 %.not.i.i.i.i, label %_ZSt8_DestroyIPSt10unique_ptrI19ggml_backend_buffer27ggml_backend_buffer_deleterES3_EvT_S5_RSaIT0_E.exitthread-pre-split.i, label %.lr.ph.i.i.i.i, !llvm.loop !360 _ZSt8_DestroyIPSt10unique_ptrI19ggml_backend_buffer27ggml_backend_buffer_deleterES3_EvT_S5_RSaIT0_E.exitthread-pre-split.i: ; preds = %_ZSt8_DestroyISt10unique_ptrI19ggml_backend_buffer27ggml_backend_buffer_deleterEEvPT_.exit.i.i.i.i - %.pr.i = load ptr, ptr %10, align 8, !tbaa !358 + %.pr.i = load ptr, ptr %10, align 8 br label %_ZSt8_DestroyIPSt10unique_ptrI19ggml_backend_buffer27ggml_backend_buffer_deleterES3_EvT_S5_RSaIT0_E.exit.i _ZSt8_DestroyIPSt10unique_ptrI19ggml_backend_buffer27ggml_backend_buffer_deleterES3_EvT_S5_RSaIT0_E.exit.i: ; preds = %_ZSt8_DestroyIPSt10unique_ptrI19ggml_backend_buffer27ggml_backend_buffer_deleterES3_EvT_S5_RSaIT0_E.exitthread-pre-split.i, %_ZNSt6vectorIP11ggml_tensorSaIS1_EED2Ev.exit @@ -5275,7 +5275,7 @@ _ZSt8_DestroyISt10unique_ptrI12ggml_context20ggml_context_deleterEEvPT_.exit.i.i br i1 %.not.i.i.i.i6, label %_ZSt8_DestroyIPSt10unique_ptrI12ggml_context20ggml_context_deleterES3_EvT_S5_RSaIT0_E.exitthread-pre-split.i, label %.lr.ph.i.i.i.i3, !llvm.loop !366 _ZSt8_DestroyIPSt10unique_ptrI12ggml_context20ggml_context_deleterES3_EvT_S5_RSaIT0_E.exitthread-pre-split.i: ; preds = %_ZSt8_DestroyISt10unique_ptrI12ggml_context20ggml_context_deleterEEvPT_.exit.i.i.i.i - %.pr.i7 = load ptr, ptr %27, align 8, !tbaa !362 + %.pr.i7 = load ptr, ptr %27, align 8 br label %_ZSt8_DestroyIPSt10unique_ptrI12ggml_context20ggml_context_deleterES3_EvT_S5_RSaIT0_E.exit.i _ZSt8_DestroyIPSt10unique_ptrI12ggml_context20ggml_context_deleterES3_EvT_S5_RSaIT0_E.exit.i: ; preds = %_ZSt8_DestroyIPSt10unique_ptrI12ggml_context20ggml_context_deleterES3_EvT_S5_RSaIT0_E.exitthread-pre-split.i, %_ZNSt6vectorISt10unique_ptrI19ggml_backend_buffer27ggml_backend_buffer_deleterESaIS3_EED2Ev.exit @@ -5329,7 +5329,7 @@ _ZSt8_DestroyISt10unique_ptrI19ggml_backend_buffer27ggml_backend_buffer_deleterE br i1 %.not.i.i.i.i, label %_ZSt8_DestroyIPSt10unique_ptrI19ggml_backend_buffer27ggml_backend_buffer_deleterES3_EvT_S5_RSaIT0_E.exitthread-pre-split.i, label %.lr.ph.i.i.i.i, !llvm.loop !360 _ZSt8_DestroyIPSt10unique_ptrI19ggml_backend_buffer27ggml_backend_buffer_deleterES3_EvT_S5_RSaIT0_E.exitthread-pre-split.i: ; preds = %_ZSt8_DestroyISt10unique_ptrI19ggml_backend_buffer27ggml_backend_buffer_deleterEEvPT_.exit.i.i.i.i - %.pr.i = load ptr, ptr %2, align 8, !tbaa !358 + %.pr.i = load ptr, ptr %2, align 8 br label %_ZSt8_DestroyIPSt10unique_ptrI19ggml_backend_buffer27ggml_backend_buffer_deleterES3_EvT_S5_RSaIT0_E.exit.i _ZSt8_DestroyIPSt10unique_ptrI19ggml_backend_buffer27ggml_backend_buffer_deleterES3_EvT_S5_RSaIT0_E.exit.i: ; preds = %_ZSt8_DestroyIPSt10unique_ptrI19ggml_backend_buffer27ggml_backend_buffer_deleterES3_EvT_S5_RSaIT0_E.exitthread-pre-split.i, %1 @@ -5378,7 +5378,7 @@ _ZSt8_DestroyISt10unique_ptrI12ggml_context20ggml_context_deleterEEvPT_.exit.i.i br i1 %.not.i.i.i.i5, label %_ZSt8_DestroyIPSt10unique_ptrI12ggml_context20ggml_context_deleterES3_EvT_S5_RSaIT0_E.exitthread-pre-split.i, label %.lr.ph.i.i.i.i2, !llvm.loop !366 _ZSt8_DestroyIPSt10unique_ptrI12ggml_context20ggml_context_deleterES3_EvT_S5_RSaIT0_E.exitthread-pre-split.i: ; preds = %_ZSt8_DestroyISt10unique_ptrI12ggml_context20ggml_context_deleterEEvPT_.exit.i.i.i.i - %.pr.i6 = load ptr, ptr %19, align 8, !tbaa !362 + %.pr.i6 = load ptr, ptr %19, align 8 br label %_ZSt8_DestroyIPSt10unique_ptrI12ggml_context20ggml_context_deleterES3_EvT_S5_RSaIT0_E.exit.i _ZSt8_DestroyIPSt10unique_ptrI12ggml_context20ggml_context_deleterES3_EvT_S5_RSaIT0_E.exit.i: ; preds = %_ZSt8_DestroyIPSt10unique_ptrI12ggml_context20ggml_context_deleterES3_EvT_S5_RSaIT0_E.exitthread-pre-split.i, %_ZNSt6vectorISt10unique_ptrI19ggml_backend_buffer27ggml_backend_buffer_deleterESaIS3_EED2Ev.exit @@ -5454,7 +5454,7 @@ _ZSt8_DestroyI13llama_kv_cellEvPT_.exit.i.i.i.i: ; preds = %.lr.ph.i.i.i.i12 br i1 %.not.i.i.i.i14, label %_ZSt8_DestroyIP13llama_kv_cellS0_EvT_S2_RSaIT0_E.exitthread-pre-split.i, label %.lr.ph.i.i.i.i12, !llvm.loop !369 _ZSt8_DestroyIP13llama_kv_cellS0_EvT_S2_RSaIT0_E.exitthread-pre-split.i: ; preds = %_ZSt8_DestroyI13llama_kv_cellEvPT_.exit.i.i.i.i - %.pr.i15 = load ptr, ptr %52, align 8, !tbaa !126 + %.pr.i15 = load ptr, ptr %52, align 8 br label %_ZSt8_DestroyIP13llama_kv_cellS0_EvT_S2_RSaIT0_E.exit.i _ZSt8_DestroyIP13llama_kv_cellS0_EvT_S2_RSaIT0_E.exit.i: ; preds = %_ZSt8_DestroyIP13llama_kv_cellS0_EvT_S2_RSaIT0_E.exitthread-pre-split.i, %_ZNSt6vectorIP11ggml_tensorSaIS1_EED2Ev.exit10 @@ -6072,7 +6072,6 @@ define linkonce_odr void @_ZN16llama_data_write14write_kv_cacheEPK13llama_contex br i1 %.not, label %_ZNSt6vectorISt4pairIjjESaIS1_EE12emplace_backIJRjRKjEEERS1_DpOT_.exit, label %74 13: ; preds = %.lr.ph, %_ZNSt6vectorISt4pairIjjESaIS1_EE12emplace_backIJRjS5_EEERS1_DpOT_.exit - %.pre86 = phi i32 [ %8, %.lr.ph ], [ %.pre87, %_ZNSt6vectorISt4pairIjjESaIS1_EE12emplace_backIJRjS5_EEERS1_DpOT_.exit ] %14 = phi i32 [ %8, %.lr.ph ], [ %68, %_ZNSt6vectorISt4pairIjjESaIS1_EE12emplace_backIJRjS5_EEERS1_DpOT_.exit ] %indvars.iv = phi i64 [ 0, %.lr.ph ], [ %indvars.iv.next, %_ZNSt6vectorISt4pairIjjESaIS1_EE12emplace_backIJRjS5_EEERS1_DpOT_.exit ] %15 = phi ptr [ null, %.lr.ph ], [ %69, %_ZNSt6vectorISt4pairIjjESaIS1_EE12emplace_backIJRjS5_EEERS1_DpOT_.exit ] @@ -6211,19 +6210,17 @@ _ZNSt6vectorISt4pairIjjESaIS1_EE11_S_relocateEPS1_S4_S4_RS2_.exit33.i.i: ; preds 66: ; preds = %_ZNSt6vectorISt4pairIjjESaIS1_EE11_S_relocateEPS1_S4_S4_RS2_.exit33.i.i tail call void @_ZdlPvm(ptr noundef nonnull %17, i64 noundef %49) #28 - %.pre.pre = load i32, ptr %7, align 4, !tbaa !385 br label %_ZNSt6vectorISt4pairIjjESaIS1_EE17_M_realloc_insertIJRjS5_EEEvN9__gnu_cxx17__normal_iteratorIPS1_S3_EEDpOT_.exit.i _ZNSt6vectorISt4pairIjjESaIS1_EE17_M_realloc_insertIJRjS5_EEEvN9__gnu_cxx17__normal_iteratorIPS1_S3_EEDpOT_.exit.i: ; preds = %66, %_ZNSt6vectorISt4pairIjjESaIS1_EE11_S_relocateEPS1_S4_S4_RS2_.exit33.i.i - %.pre = phi i32 [ %.pre.pre, %66 ], [ %.pre86, %_ZNSt6vectorISt4pairIjjESaIS1_EE11_S_relocateEPS1_S4_S4_RS2_.exit33.i.i ] store ptr %58, ptr %4, align 8, !tbaa !399 store ptr %65, ptr %11, align 8, !tbaa !390 %67 = getelementptr inbounds nuw %"struct.std::pair.173", ptr %58, i64 %56 store ptr %67, ptr %12, align 8, !tbaa !400 + %.pre = load i32, ptr %7, align 4 br label %_ZNSt6vectorISt4pairIjjESaIS1_EE12emplace_backIJRjS5_EEERS1_DpOT_.exit _ZNSt6vectorISt4pairIjjESaIS1_EE12emplace_backIJRjS5_EEERS1_DpOT_.exit: ; preds = %42, %_ZNSt6vectorISt4pairIjjESaIS1_EE17_M_realloc_insertIJRjS5_EEEvN9__gnu_cxx17__normal_iteratorIPS1_S3_EEDpOT_.exit.i, %36, %.thread - %.pre87 = phi i32 [ %.pre86, %.thread ], [ %.pre86, %36 ], [ %.pre, %_ZNSt6vectorISt4pairIjjESaIS1_EE17_M_realloc_insertIJRjS5_EEEvN9__gnu_cxx17__normal_iteratorIPS1_S3_EEDpOT_.exit.i ], [ %.pre86, %42 ] %68 = phi i32 [ %14, %.thread ], [ %14, %36 ], [ %.pre, %_ZNSt6vectorISt4pairIjjESaIS1_EE17_M_realloc_insertIJRjS5_EEEvN9__gnu_cxx17__normal_iteratorIPS1_S3_EEDpOT_.exit.i ], [ %14, %42 ] %69 = phi ptr [ %15, %.thread ], [ %15, %36 ], [ %67, %_ZNSt6vectorISt4pairIjjESaIS1_EE17_M_realloc_insertIJRjS5_EEEvN9__gnu_cxx17__normal_iteratorIPS1_S3_EEDpOT_.exit.i ], [ %15, %42 ] %70 = phi ptr [ %16, %.thread ], [ %16, %36 ], [ %65, %_ZNSt6vectorISt4pairIjjESaIS1_EE17_M_realloc_insertIJRjS5_EEEvN9__gnu_cxx17__normal_iteratorIPS1_S3_EEDpOT_.exit.i ], [ %45, %42 ] @@ -6930,7 +6927,7 @@ define linkonce_odr void @_ZN16llama_data_write19write_kv_cache_dataEPK13llama_c br label %187 ._crit_edge136.loopexit: ; preds = %205 - %.pre = load i32, ptr %10, align 4, !tbaa !132 + %.pre = load i32, ptr %10, align 4 br label %._crit_edge136 ._crit_edge136: ; preds = %._crit_edge136.loopexit, %.lr.ph138.split @@ -7204,7 +7201,7 @@ define linkonce_odr void @_ZN15llama_data_read15read_model_infoEPK13llama_contex 46: ; preds = %42 %47 = icmp eq i64 %43, 0 - %.pre = load ptr, ptr %6, align 8, !tbaa !332 + %.pre = load ptr, ptr %6, align 8 br i1 %47, label %_ZStneIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EESA_.exit.thread28, label %_ZStneIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EESA_.exit _ZStneIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EESA_.exit: ; preds = %46 @@ -7831,7 +7828,7 @@ _ZNK13llama_kv_cell10has_seq_idERKi.exit117.thread: ; preds = %83, %_ZNKSt8_Rb_t call void %122(ptr noundef nonnull align 8 dereferenceable(8) %0, ptr noundef nonnull %11, i64 noundef 4) %123 = load i32, ptr %11, align 4, !tbaa !132 %124 = icmp sgt i32 %123, -1 - %.pre = load i32, ptr %96, align 4, !tbaa !3 + %.pre = load i32, ptr %96, align 4 %.not90 = icmp ult i32 %123, %.pre %or.cond170 = select i1 %124, i1 %.not90, i1 false br i1 %or.cond170, label %126, label %125 @@ -7868,7 +7865,7 @@ _ZNK13llama_kv_cell10has_seq_idERKi.exit117.thread: ; preds = %83, %_ZNKSt8_Rb_t 132: ; preds = %._crit_edge.thread.i.i.i %133 = call noundef ptr @_ZSt18_Rb_tree_decrementPSt18_Rb_tree_node_base(ptr noundef nonnull %.019.lcssa28.i.i.i) #31 %.phi.trans.insert.i.i = getelementptr inbounds nuw i8, ptr %133, i64 32 - %.pre.i.i = load i32, ptr %.phi.trans.insert.i.i, align 4, !tbaa !132 + %.pre.i.i = load i32, ptr %.phi.trans.insert.i.i, align 4 br label %134 134: ; preds = %132, %._crit_edge.i.i.i @@ -9039,8 +9036,8 @@ attributes #31 = { nounwind willreturn memory(read) } !210 = distinct !{!210, !134} !211 = distinct !{!211, !134} !212 = !{!4, !121, i64 1096} -!213 = !{!4, !12, i64 896} -!214 = !{!140, !12, i64 0} +!213 = !{!140, !12, i64 0} +!214 = !{!4, !12, i64 896} !215 = !{!145, !10, i64 44} !216 = distinct !{!216, !134} !217 = distinct !{!217, !134} diff --git a/bench/llama.cpp/optimized/log.ll b/bench/llama.cpp/optimized/log.ll index 92b91fb50d0..15f4ff62ff4 100644 --- a/bench/llama.cpp/optimized/log.ll +++ b/bench/llama.cpp/optimized/log.ll @@ -261,7 +261,7 @@ _ZSt8_DestroyI16common_log_entryEvPT_.exit.i.i.i.i: ; preds = %22, %.lr.ph.i.i.i br i1 %.not.i.i.i.i1, label %_ZSt8_DestroyIP16common_log_entryS0_EvT_S2_RSaIT0_E.exitthread-pre-split.i, label %.lr.ph.i.i.i.i, !llvm.loop !41 _ZSt8_DestroyIP16common_log_entryS0_EvT_S2_RSaIT0_E.exitthread-pre-split.i: ; preds = %_ZSt8_DestroyI16common_log_entryEvPT_.exit.i.i.i.i - %.pr.i = load ptr, ptr %16, align 8, !tbaa !39 + %.pr.i = load ptr, ptr %16, align 8 br label %_ZSt8_DestroyIP16common_log_entryS0_EvT_S2_RSaIT0_E.exit.i _ZSt8_DestroyIP16common_log_entryS0_EvT_S2_RSaIT0_E.exit.i: ; preds = %_ZSt8_DestroyIP16common_log_entryS0_EvT_S2_RSaIT0_E.exitthread-pre-split.i, %_ZN16common_log_entryD2Ev.exit @@ -685,8 +685,8 @@ _ZN16common_log_entryaSEOS_.exit: ; preds = %81, %97 br i1 %118, label %.lr.ph, label %._crit_edge ._crit_edge.loopexit: ; preds = %140 - %.pre = load ptr, ptr %13, align 8, !tbaa !39 - %.pre48 = load ptr, ptr %61, align 8, !tbaa !40 + %.pre = load ptr, ptr %13, align 8 + %.pre48 = load ptr, ptr %61, align 8 br label %._crit_edge ._crit_edge: ; preds = %._crit_edge.loopexit, %115 @@ -935,7 +935,7 @@ define linkonce_odr void @_ZN10common_logC2Em(ptr noundef nonnull align 8 derefe to label %._ZNSt6vectorI16common_log_entrySaIS0_EE6resizeEm.exit_crit_edge unwind label %37 ._ZNSt6vectorI16common_log_entrySaIS0_EE6resizeEm.exit_crit_edge: ; preds = %19 - %.pre = load ptr, ptr %11, align 8, !tbaa !70 + %.pre = load ptr, ptr %11, align 8 br label %_ZNSt6vectorI16common_log_entrySaIS0_EE6resizeEm.exit 21: ; preds = %2 @@ -1179,7 +1179,7 @@ _ZSt8_DestroyI16common_log_entryEvPT_.exit.i.i.i: ; preds = %7, %.lr.ph.i.i.i br i1 %.not.i.i.i, label %_ZSt8_DestroyIP16common_log_entryS0_EvT_S2_RSaIT0_E.exitthread-pre-split, label %.lr.ph.i.i.i, !llvm.loop !41 _ZSt8_DestroyIP16common_log_entryS0_EvT_S2_RSaIT0_E.exitthread-pre-split: ; preds = %_ZSt8_DestroyI16common_log_entryEvPT_.exit.i.i.i - %.pr = load ptr, ptr %0, align 8, !tbaa !39 + %.pr = load ptr, ptr %0, align 8 br label %_ZSt8_DestroyIP16common_log_entryS0_EvT_S2_RSaIT0_E.exit _ZSt8_DestroyIP16common_log_entryS0_EvT_S2_RSaIT0_E.exit: ; preds = %_ZSt8_DestroyIP16common_log_entryS0_EvT_S2_RSaIT0_E.exitthread-pre-split, %1 @@ -1450,7 +1450,7 @@ _ZNSt18condition_variable4waitIZZN10common_log6resumeEvENKUlvE_clEvEUlvE_EEvRSt1 40: ; preds = %38 %41 = call noundef i32 @pthread_mutex_unlock(ptr noundef nonnull align 8 dereferenceable(40) %39) #24 - %.pre = load i8, ptr %12, align 8, !tbaa !86, !range !46 + %.pre = load i8, ptr %12, align 8, !range !46 br label %_ZNSt11unique_lockISt5mutexED2Ev.exit _ZNSt11unique_lockISt5mutexED2Ev.exit: ; preds = %24, %38, %40 @@ -1504,7 +1504,7 @@ _ZNSt11unique_lockISt5mutexED2Ev.exit4: ; preds = %44, %47, %49 store i8 0, ptr %4, align 8, !tbaa !84 %55 = call noundef i32 @pthread_mutex_lock(ptr noundef nonnull align 8 dereferenceable(40) %3) #24 %.not.i.i.i = icmp eq i32 %55, 0 - br i1 %.not.i.i.i, label %_ZNSt11unique_lockISt5mutexEC2ERS0_.exit, label %._crit_edge, !llvm.loop !87 + br i1 %.not.i.i.i, label %_ZNSt11unique_lockISt5mutexEC2ERS0_.exit, label %._crit_edge, !llvm.loop !86 56: ; preds = %_ZNSt11unique_lockISt5mutexED2Ev.exit ret void @@ -1513,7 +1513,7 @@ _ZNSt11unique_lockISt5mutexED2Ev.exit4: ; preds = %44, %47, %49 ; Function Attrs: mustprogress uwtable define linkonce_odr void @_ZNK16common_log_entry5printEP8_IO_FILE(ptr noundef nonnull align 8 dereferenceable(41) %0, ptr noundef %1) local_unnamed_addr #5 comdat align 2 { %.not = icmp eq ptr %1, null - %.pre = load i32, ptr %0, align 8, !tbaa !58 + %.pre = load i32, ptr %0, align 8 br i1 %.not, label %3, label %10 3: ; preds = %2 @@ -1524,7 +1524,7 @@ define linkonce_odr void @_ZNK16common_log_entry5printEP8_IO_FILE(ptr noundef no br i1 %or.cond, label %66, label %7 7: ; preds = %3 - %8 = load ptr, ptr @stdout, align 8, !tbaa !88 + %8 = load ptr, ptr @stdout, align 8, !tbaa !87 %.not15 = icmp eq i32 %.pre, 0 %9 = load ptr, ptr @stderr, align 8 %spec.select = select i1 %.not15, ptr %8, ptr %9 @@ -1565,7 +1565,7 @@ define linkonce_odr void @_ZNK16common_log_entry5printEP8_IO_FILE(ptr noundef no %31 = trunc nsw i64 %30 to i32 %32 = load ptr, ptr %19, align 8, !tbaa !68 %33 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %.0, ptr noundef nonnull @.str.2, ptr noundef %21, i32 noundef %24, i32 noundef %26, i32 noundef %29, i32 noundef %31, ptr noundef %32) #24 - %.pre20 = load i32, ptr %0, align 8, !tbaa !58 + %.pre20 = load i32, ptr %0, align 8 br label %34 34: ; preds = %18, %15 @@ -1656,7 +1656,7 @@ define linkonce_odr noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vecto 17: ; preds = %3 %18 = icmp slt i64 %9, 0 - br i1 %18, label %19, label %_ZNSt12_Vector_baseIcSaIcEE11_M_allocateEm.exit.i, !prof !89 + br i1 %18, label %19, label %_ZNSt12_Vector_baseIcSaIcEE11_M_allocateEm.exit.i, !prof !88 19: ; preds = %17 tail call void @_ZSt17__throw_bad_allocv() #26 @@ -1707,10 +1707,10 @@ _ZNSt12_Vector_baseIcSaIcEE13_M_deallocateEPcm.exit: ; preds = %_ZNSt6vectorIcSa 32: ; preds = %31 tail call void @llvm.memmove.p0.p0.i64(ptr align 1 %12, ptr align 1 %6, i64 %28, i1 false) - %.pre = load ptr, ptr %1, align 8, !tbaa !37 - %.pre26 = load ptr, ptr %25, align 8, !tbaa !57 - %.pre27 = load ptr, ptr %0, align 8, !tbaa !37 - %.pre28 = load ptr, ptr %4, align 8, !tbaa !57 + %.pre = load ptr, ptr %1, align 8 + %.pre26 = load ptr, ptr %25, align 8 + %.pre27 = load ptr, ptr %0, align 8 + %.pre28 = load ptr, ptr %4, align 8 %.pre29 = ptrtoint ptr %.pre26 to i64 %.pre30 = ptrtoint ptr %.pre27 to i64 %.pre32 = sub i64 %.pre29, %.pre30 @@ -1902,7 +1902,6 @@ attributes #26 = { noreturn } !83 = !{!"p1 _ZTSSt5mutex", !11, i64 0} !84 = !{!82, !24, i64 8} !85 = distinct !{!85, !42} -!86 = !{!15, !24, i64 200} -!87 = distinct !{!87, !42} -!88 = !{!23, !23, i64 0} -!89 = !{!"branch_weights", !"expected", i32 1, i32 2000} +!86 = distinct !{!86, !42} +!87 = !{!23, !23, i64 0} +!88 = !{!"branch_weights", !"expected", i32 1, i32 2000} diff --git a/bench/lua/optimized/ldo.ll b/bench/lua/optimized/ldo.ll index b656a8acb18..3ff0dcbe93b 100644 --- a/bench/lua/optimized/ldo.ll +++ b/bench/lua/optimized/ldo.ll @@ -641,7 +641,7 @@ define hidden void @luaD_hook(ptr noundef %0, i32 noundef %1, i32 noundef %2, i3 44: ; preds = %37 %45 = tail call i32 @luaD_growstack(ptr noundef nonnull %0, i32 noundef 20, i32 noundef 1) - %.pre = load ptr, ptr %15, align 8, !tbaa !27 + %.pre = load ptr, ptr %15, align 8 br label %46 46: ; preds = %37, %44 @@ -768,7 +768,7 @@ define hidden void @luaD_hookcall(ptr noundef initializes((180, 184)) %0, ptr no 60: ; preds = %53 %61 = tail call i32 @luaD_growstack(ptr noundef nonnull %0, i32 noundef 20, i32 noundef 1) - %.pre.i = load ptr, ptr %31, align 8, !tbaa !27 + %.pre.i = load ptr, ptr %31, align 8 br label %62 62: ; preds = %60, %53 @@ -799,7 +799,7 @@ define hidden void @luaD_hookcall(ptr noundef initializes((180, 184)) %0, ptr no %76 = and i32 %75, -1048577 store i32 %76, ptr %46, align 4, !tbaa !43 call void @llvm.lifetime.end.p0(i64 144, ptr nonnull %3) #13 - %.pre = load ptr, ptr %17, align 8, !tbaa !27 + %.pre = load ptr, ptr %17, align 8 br label %luaD_hook.exit luaD_hook.exit: ; preds = %8, %25, %68 @@ -1025,7 +1025,7 @@ define internal fastcc void @rethook(ptr noundef %0, ptr noundef captures(none) %15 = load i32, ptr %14, align 4, !tbaa !43 %16 = and i32 %15, 32768 %.not20 = icmp eq i32 %16, 0 - %.pre = load ptr, ptr %1, align 8, !tbaa !27 + %.pre = load ptr, ptr %1, align 8 br i1 %.not20, label %17, label %33 17: ; preds = %8 @@ -1120,7 +1120,7 @@ define internal fastcc void @rethook(ptr noundef %0, ptr noundef captures(none) 76: ; preds = %69 %77 = tail call i32 @luaD_growstack(ptr noundef nonnull %0, i32 noundef 20, i32 noundef 1) - %.pre.i = load ptr, ptr %9, align 8, !tbaa !27 + %.pre.i = load ptr, ptr %9, align 8 br label %78 78: ; preds = %76, %69 @@ -1151,7 +1151,7 @@ define internal fastcc void @rethook(ptr noundef %0, ptr noundef captures(none) %92 = and i32 %91, -1048577 store i32 %92, ptr %62, align 4, !tbaa !43 call void @llvm.lifetime.end.p0(i64 144, ptr nonnull %4) #13 - %.pre23 = load ptr, ptr %1, align 8, !tbaa !27 + %.pre23 = load ptr, ptr %1, align 8 br label %luaD_hook.exit luaD_hook.exit: ; preds = %33, %42, %84 @@ -1200,7 +1200,7 @@ define hidden noundef i32 @luaD_pretailcall(ptr noundef %0, ptr noundef captures %8 = getelementptr inbounds nuw i8, ptr %0, i64 48 %9 = sext i32 %3 to i64 %.phi.trans.insert = getelementptr inbounds nuw i8, ptr %2, i64 8 - %.pre = load i8, ptr %.phi.trans.insert, align 8, !tbaa !27 + %.pre = load i8, ptr %.phi.trans.insert, align 8 br label %10 10: ; preds = %tryfuncTM.exit, %5 @@ -1236,7 +1236,7 @@ define hidden noundef i32 @luaD_pretailcall(ptr noundef %0, ptr noundef captures %28 = tail call i32 @luaD_growstack(ptr noundef nonnull %0, i32 noundef 20, i32 noundef 1) %29 = load ptr, ptr %8, align 8, !tbaa !27 %30 = getelementptr inbounds i8, ptr %29, i64 %27 - %.pre.i = load ptr, ptr %7, align 8, !tbaa !27 + %.pre.i = load ptr, ptr %7, align 8 br label %31 31: ; preds = %23, %13 @@ -1303,7 +1303,7 @@ precallC.exit: ; preds = %prepCallInfo.exit.i %69 = tail call i32 @luaD_growstack(ptr noundef nonnull %0, i32 noundef 20, i32 noundef 1) %70 = load ptr, ptr %8, align 8, !tbaa !27 %71 = getelementptr inbounds i8, ptr %70, i64 %68 - %.pre.i72 = load ptr, ptr %7, align 8, !tbaa !27 + %.pre.i72 = load ptr, ptr %7, align 8 br label %72 72: ; preds = %64, %56 @@ -1413,7 +1413,7 @@ precallC.exit73: ; preds = %prepCallInfo.exit.i br i1 %exitcond.not, label %._crit_edge.loopexit, label %.lr.ph ._crit_edge.loopexit: ; preds = %.lr.ph - %.pre122 = load ptr, ptr %1, align 8, !tbaa !27 + %.pre122 = load ptr, ptr %1, align 8 br label %._crit_edge ._crit_edge: ; preds = %._crit_edge.loopexit, %123 @@ -1504,7 +1504,7 @@ precallC.exit73: ; preds = %prepCallInfo.exit.i br i1 %181, label %.lr.ph.i, label %._crit_edge.loopexit.i ._crit_edge.loopexit.i: ; preds = %.lr.ph.i - %.pre.i74 = load ptr, ptr %7, align 8, !tbaa !27 + %.pre.i74 = load ptr, ptr %7, align 8 br label %._crit_edge.i ._crit_edge.i: ; preds = %._crit_edge.loopexit.i, %173 @@ -1542,7 +1542,7 @@ define hidden noundef ptr @luaD_precall(ptr noundef %0, ptr noundef %1, i32 noun %6 = getelementptr inbounds nuw i8, ptr %0, i64 16 %7 = getelementptr inbounds nuw i8, ptr %0, i64 48 %.phi.trans.insert = getelementptr inbounds nuw i8, ptr %1, i64 8 - %.pre = load i8, ptr %.phi.trans.insert, align 8, !tbaa !27 + %.pre = load i8, ptr %.phi.trans.insert, align 8 br label %8 8: ; preds = %tryfuncTM.exit, %3 @@ -1576,7 +1576,7 @@ define hidden noundef ptr @luaD_precall(ptr noundef %0, ptr noundef %1, i32 noun %26 = tail call i32 @luaD_growstack(ptr noundef nonnull %0, i32 noundef 20, i32 noundef 1) %27 = load ptr, ptr %7, align 8, !tbaa !27 %28 = getelementptr inbounds i8, ptr %27, i64 %25 - %.pre.i = load ptr, ptr %6, align 8, !tbaa !27 + %.pre.i = load ptr, ptr %6, align 8 br label %29 29: ; preds = %21, %11 @@ -1627,7 +1627,7 @@ prepCallInfo.exit.i: ; preds = %37, %29 %58 = tail call i32 @luaD_growstack(ptr noundef nonnull %0, i32 noundef 20, i32 noundef 1) %59 = load ptr, ptr %7, align 8, !tbaa !27 %60 = getelementptr inbounds i8, ptr %59, i64 %57 - %.pre.i54 = load ptr, ptr %6, align 8, !tbaa !27 + %.pre.i54 = load ptr, ptr %6, align 8 br label %61 61: ; preds = %53, %45 @@ -1785,7 +1785,7 @@ prepCallInfo.exit: ; preds = %106, %113 br i1 %155, label %.lr.ph.i, label %._crit_edge.loopexit.i ._crit_edge.loopexit.i: ; preds = %.lr.ph.i - %.pre.i57 = load ptr, ptr %6, align 8, !tbaa !27 + %.pre.i57 = load ptr, ptr %6, align 8 br label %._crit_edge.i ._crit_edge.i: ; preds = %._crit_edge.loopexit.i, %147 @@ -2137,7 +2137,7 @@ precover.exit.thread: ; preds = %findpcall.exit.i, % precover.exit.thread._crit_edge: ; preds = %precover.exit.thread %.phi.trans.insert = getelementptr inbounds nuw i8, ptr %0, i64 16 - %.pre = load ptr, ptr %.phi.trans.insert, align 8, !tbaa !27 + %.pre = load ptr, ptr %.phi.trans.insert, align 8 br label %110 105: ; preds = %precover.exit.thread @@ -2657,11 +2657,9 @@ define internal void @unroll(ptr noundef %0, ptr readnone captures(none) %1) #0 tail call void @luaD_shrinkstack(ptr noundef nonnull %0) %36 = load i32, ptr %12, align 4, !tbaa !43 %37 = and i32 %36, -28673 - %.pre.pre = load ptr, ptr %3, align 8, !tbaa !46 br label %finishpcallk.exit.i finishpcallk.exit.i: ; preds = %26, %22 - %.pre = phi ptr [ %.pre.pre, %26 ], [ %11, %22 ] %38 = phi i32 [ %37, %26 ], [ %13, %22 ] %.0.i.i = phi i32 [ %24, %26 ], [ 1, %22 ] %39 = and i32 %38, -2097153 @@ -2669,6 +2667,7 @@ finishpcallk.exit.i: ; preds = %26, %22 %40 = getelementptr inbounds nuw i8, ptr %11, i64 40 %41 = load i64, ptr %40, align 8, !tbaa !27 store i64 %41, ptr %8, align 8, !tbaa !82 + %.pre = load ptr, ptr %3, align 8 br label %42 42: ; preds = %finishpcallk.exit.i, %20 diff --git a/bench/luau/optimized/IrUtils.ll b/bench/luau/optimized/IrUtils.ll index c23f71dcfdb..7cc68491f05 100644 --- a/bench/luau/optimized/IrUtils.ll +++ b/bench/luau/optimized/IrUtils.ll @@ -4270,8 +4270,6 @@ define dso_local void @_ZN4Luau7CodeGen16killUnusedBlocksERNS0_10IrFunctionE(ptr ret void 10: ; preds = %.lr.ph, %34 - %.pre1014 = phi ptr [ %4, %.lr.ph ], [ %.pre1015, %34 ] - %.pre11 = phi ptr [ %3, %.lr.ph ], [ %.pre12, %34 ] %11 = phi ptr [ %4, %.lr.ph ], [ %35, %34 ] %12 = phi ptr [ %3, %.lr.ph ], [ %36, %34 ] %13 = phi i64 [ 1, %.lr.ph ], [ %38, %34 ] @@ -4316,23 +4314,16 @@ define dso_local void @_ZN4Luau7CodeGen16killUnusedBlocksERNS0_10IrFunctionE(ptr 33: ; preds = %32, %27 %indvars.iv.next.i = add nsw i64 %indvars.iv.i, -1 %.not.i.not.i = icmp sgt i64 %indvars.iv.i, %26 - br i1 %.not.i.not.i, label %27, label %_ZN4Luau7CodeGen4killERNS0_10IrFunctionERNS0_7IrBlockE.exit.loopexit, !llvm.loop !33 + br i1 %.not.i.not.i, label %27, label %_ZN4Luau7CodeGen4killERNS0_10IrFunctionERNS0_7IrBlockE.exit, !llvm.loop !33 -_ZN4Luau7CodeGen4killERNS0_10IrFunctionERNS0_7IrBlockE.exit.loopexit: ; preds = %33 - %.pre.pre = load ptr, ptr %2, align 8, !tbaa !44 - %.pre10.pre = load ptr, ptr %0, align 8, !tbaa !22 - br label %_ZN4Luau7CodeGen4killERNS0_10IrFunctionERNS0_7IrBlockE.exit - -_ZN4Luau7CodeGen4killERNS0_10IrFunctionERNS0_7IrBlockE.exit: ; preds = %_ZN4Luau7CodeGen4killERNS0_10IrFunctionERNS0_7IrBlockE.exit.loopexit, %20 - %.pre10 = phi ptr [ %.pre10.pre, %_ZN4Luau7CodeGen4killERNS0_10IrFunctionERNS0_7IrBlockE.exit.loopexit ], [ %.pre1014, %20 ] - %.pre = phi ptr [ %.pre.pre, %_ZN4Luau7CodeGen4killERNS0_10IrFunctionERNS0_7IrBlockE.exit.loopexit ], [ %.pre11, %20 ] +_ZN4Luau7CodeGen4killERNS0_10IrFunctionERNS0_7IrBlockE.exit: ; preds = %33, %20 store i32 -1, ptr %21, align 4, !tbaa !30 store i32 -1, ptr %23, align 4, !tbaa !31 + %.pre = load ptr, ptr %2, align 8 + %.pre10 = load ptr, ptr %0, align 8 br label %34 34: ; preds = %_ZN4Luau7CodeGen4killERNS0_10IrFunctionERNS0_7IrBlockE.exit, %16, %10 - %.pre1015 = phi ptr [ %.pre10, %_ZN4Luau7CodeGen4killERNS0_10IrFunctionERNS0_7IrBlockE.exit ], [ %.pre1014, %16 ], [ %.pre1014, %10 ] - %.pre12 = phi ptr [ %.pre, %_ZN4Luau7CodeGen4killERNS0_10IrFunctionERNS0_7IrBlockE.exit ], [ %.pre11, %16 ], [ %.pre11, %10 ] %35 = phi ptr [ %.pre10, %_ZN4Luau7CodeGen4killERNS0_10IrFunctionERNS0_7IrBlockE.exit ], [ %11, %16 ], [ %11, %10 ] %36 = phi ptr [ %.pre, %_ZN4Luau7CodeGen4killERNS0_10IrFunctionERNS0_7IrBlockE.exit ], [ %12, %16 ], [ %12, %10 ] %37 = add i32 %.09, 1 @@ -4364,8 +4355,8 @@ define dso_local void @_ZN4Luau7CodeGen19getSortedBlockOrderERNS0_10IrFunctionE( 11: ; preds = %2 %12 = getelementptr inbounds nuw i8, ptr %0, i64 16 - %.not42 = icmp eq ptr %4, %5 - br i1 %.not42, label %_ZNSt6vectorIjSaIjEE7reserveEm.exit, label %_ZNSt12_Vector_baseIjSaIjEE11_M_allocateEm.exit.i + %.not36 = icmp eq ptr %4, %5 + br i1 %.not36, label %_ZNSt6vectorIjSaIjEE7reserveEm.exit, label %_ZNSt12_Vector_baseIjSaIjEE11_M_allocateEm.exit.i _ZNSt12_Vector_baseIjSaIjEE11_M_allocateEm.exit.i: ; preds = %11 %13 = getelementptr inbounds nuw i8, ptr %0, i64 8 @@ -4517,8 +4508,6 @@ _ZNSt6vectorIjSaIjEE7reserveEm.exit: ; preds = %_ZNSt12_Vector_base br label %"_ZSt4sortIN9__gnu_cxx17__normal_iteratorIPjSt6vectorIjSaIjEEEEZN4Luau7CodeGen19getSortedBlockOrderERNS8_10IrFunctionEE3$_0EvT_SC_T0_.exit" 75: ; preds = %.lr.ph, %_ZNSt6vectorIjSaIjEE9push_backERKj.exit - %.pre3539 = phi ptr [ %5, %.lr.ph ], [ %.pre3540, %_ZNSt6vectorIjSaIjEE9push_backERKj.exit ] - %.pre36 = phi ptr [ %4, %.lr.ph ], [ %.pre37, %_ZNSt6vectorIjSaIjEE9push_backERKj.exit ] %76 = phi ptr [ %5, %.lr.ph ], [ %102, %_ZNSt6vectorIjSaIjEE9push_backERKj.exit ] %77 = phi ptr [ %4, %.lr.ph ], [ %103, %_ZNSt6vectorIjSaIjEE9push_backERKj.exit ] %78 = phi ptr [ %.promoted18, %.lr.ph ], [ %104, %_ZNSt6vectorIjSaIjEE9push_backERKj.exit ] @@ -4580,20 +4569,16 @@ _ZNSt6vectorIjSaIjEE11_S_relocateEPjS2_S2_RS0_.exit16.i.i: ; preds = %98, %.noex 100: ; preds = %_ZNSt6vectorIjSaIjEE11_S_relocateEPjS2_S2_RS0_.exit16.i.i tail call void @_ZdlPvm(ptr noundef nonnull %80, i64 noundef %86) #21 - %.pre.pre = load ptr, ptr %3, align 8, !tbaa !44 - %.pre35.pre = load ptr, ptr %1, align 8, !tbaa !22 br label %_ZNSt6vectorIjSaIjEE17_M_realloc_insertIJRKjEEEvN9__gnu_cxx17__normal_iteratorIPjS1_EEDpOT_.exit.i _ZNSt6vectorIjSaIjEE17_M_realloc_insertIJRKjEEEvN9__gnu_cxx17__normal_iteratorIPjS1_EEDpOT_.exit.i: ; preds = %100, %_ZNSt6vectorIjSaIjEE11_S_relocateEPjS2_S2_RS0_.exit16.i.i - %.pre35 = phi ptr [ %.pre35.pre, %100 ], [ %.pre3539, %_ZNSt6vectorIjSaIjEE11_S_relocateEPjS2_S2_RS0_.exit16.i.i ] - %.pre = phi ptr [ %.pre.pre, %100 ], [ %.pre36, %_ZNSt6vectorIjSaIjEE11_S_relocateEPjS2_S2_RS0_.exit16.i.i ] store ptr %99, ptr %17, align 8, !tbaa !49 %101 = getelementptr inbounds nuw i32, ptr %95, i64 %93 + %.pre = load ptr, ptr %3, align 8 + %.pre35 = load ptr, ptr %1, align 8 br label %_ZNSt6vectorIjSaIjEE9push_backERKj.exit _ZNSt6vectorIjSaIjEE9push_backERKj.exit: ; preds = %_ZNSt6vectorIjSaIjEE17_M_realloc_insertIJRKjEEEvN9__gnu_cxx17__normal_iteratorIPjS1_EEDpOT_.exit.i, %81 - %.pre3540 = phi ptr [ %.pre35, %_ZNSt6vectorIjSaIjEE17_M_realloc_insertIJRKjEEEvN9__gnu_cxx17__normal_iteratorIPjS1_EEDpOT_.exit.i ], [ %.pre3539, %81 ] - %.pre37 = phi ptr [ %.pre, %_ZNSt6vectorIjSaIjEE17_M_realloc_insertIJRKjEEEvN9__gnu_cxx17__normal_iteratorIPjS1_EEDpOT_.exit.i ], [ %.pre36, %81 ] %102 = phi ptr [ %.pre35, %_ZNSt6vectorIjSaIjEE17_M_realloc_insertIJRKjEEEvN9__gnu_cxx17__normal_iteratorIPjS1_EEDpOT_.exit.i ], [ %76, %81 ] %103 = phi ptr [ %.pre, %_ZNSt6vectorIjSaIjEE17_M_realloc_insertIJRKjEEEvN9__gnu_cxx17__normal_iteratorIPjS1_EEDpOT_.exit.i ], [ %77, %81 ] %104 = phi ptr [ %99, %_ZNSt6vectorIjSaIjEE17_M_realloc_insertIJRKjEEEvN9__gnu_cxx17__normal_iteratorIPjS1_EEDpOT_.exit.i ], [ %82, %81 ] diff --git a/bench/luau/optimized/Lexer.ll b/bench/luau/optimized/Lexer.ll index 91feac3566d..8855574c0a2 100644 --- a/bench/luau/optimized/Lexer.ll +++ b/bench/luau/optimized/Lexer.ll @@ -4016,7 +4016,7 @@ define dso_local void @_ZN4Luau5Lexer15readCommentBodyEv(ptr dead_on_unwind noal %11 = getelementptr inbounds nuw i8, ptr %1, i64 8 %12 = load i64, ptr %11, align 8, !tbaa !59 %13 = icmp ugt i64 %12, %10 - %.pre.pre = load ptr, ptr %1, align 8, !tbaa !51 + %.pre.pre = load ptr, ptr %1, align 8 br i1 %13, label %_ZNK4Luau5Lexer6peekchEv.exit11, label %.critedge8 _ZNK4Luau5Lexer6peekchEv.exit11: ; preds = %2 @@ -4303,7 +4303,7 @@ define dso_local void @_ZN4Luau5Lexer14readLongStringERKNS_8PositionEiNS_6Lexeme ._ZNK4Luau5Lexer6peekchEv.exit9.thread_crit_edge: ; preds = %6 %.phi.trans.insert = getelementptr inbounds nuw i8, ptr %1, i64 20 - %.pre = load i32, ptr %.phi.trans.insert, align 4, !tbaa !66 + %.pre = load i32, ptr %.phi.trans.insert, align 4 br label %_ZNK4Luau5Lexer6peekchEv.exit9.thread _ZNK4Luau5Lexer6peekchEv.exit9.lr.ph: ; preds = %6 @@ -4599,7 +4599,7 @@ _ZNK4Luau5Lexer6peekchEv.exit3.thread: ; preds = %_ZN4Luau5Lexer21rea br i1 %.not17, label %_ZNK4Luau5Lexer6peekchEv.exit3.thread..loopexit_crit_edge, label %_ZNK4Luau5Lexer6peekchEv.exit.thread _ZNK4Luau5Lexer6peekchEv.exit3.thread..loopexit_crit_edge: ; preds = %_ZNK4Luau5Lexer6peekchEv.exit3.thread - %.pre = load ptr, ptr %1, align 8, !tbaa !51 + %.pre = load ptr, ptr %1, align 8 br label %.loopexit _ZNK4Luau5Lexer6peekchEv.exit: ; preds = %_ZNK4Luau5Lexer6peekchEv.exit3 @@ -4803,7 +4803,7 @@ define dso_local void @_ZN4Luau5Lexer29readInterpolatedStringSectionENS_8Positio ._ZNK4Luau5Lexer6peekchEv.exit.thread_crit_edge: ; preds = %5 %.phi.trans.insert = getelementptr inbounds nuw i8, ptr %1, i64 20 - %.pre52 = load i32, ptr %.phi.trans.insert, align 4, !tbaa !66 + %.pre52 = load i32, ptr %.phi.trans.insert, align 4 br label %_ZNK4Luau5Lexer6peekchEv.exit.thread _ZNK4Luau5Lexer6peekchEv.exit8.lr.ph: ; preds = %5 @@ -5015,13 +5015,11 @@ _ZNSt6vectorIN4Luau5Lexer9BraceTypeESaIS2_EE11_S_relocateEPS2_S5_S5_RS3_.exit16. 98: ; preds = %_ZNSt6vectorIN4Luau5Lexer9BraceTypeESaIS2_EE11_S_relocateEPS2_S5_S5_RS3_.exit16.i.i.i tail call void @_ZdlPvm(ptr noundef nonnull %81, i64 noundef %84) #29 - %.pre.pre = load i32, ptr %6, align 8, !tbaa !60 - %.pre50.pre = load i64, ptr %8, align 8, !tbaa !59 - %.pre51.pre.pre = load ptr, ptr %1, align 8, !tbaa !51 + %.pre.pre = load i32, ptr %6, align 8 + %.pre50.pre = load i64, ptr %8, align 8 br label %_ZNSt6vectorIN4Luau5Lexer9BraceTypeESaIS2_EE17_M_realloc_insertIJS2_EEEvN9__gnu_cxx17__normal_iteratorIPS2_S4_EEDpOT_.exit.i.i _ZNSt6vectorIN4Luau5Lexer9BraceTypeESaIS2_EE17_M_realloc_insertIJS2_EEEvN9__gnu_cxx17__normal_iteratorIPS2_S4_EEDpOT_.exit.i.i: ; preds = %98, %_ZNSt6vectorIN4Luau5Lexer9BraceTypeESaIS2_EE11_S_relocateEPS2_S5_S5_RS3_.exit16.i.i.i - %.pre51.pre = phi ptr [ %.pre51.pre.pre, %98 ], [ %12, %_ZNSt6vectorIN4Luau5Lexer9BraceTypeESaIS2_EE11_S_relocateEPS2_S5_S5_RS3_.exit16.i.i.i ] %.pre50 = phi i64 [ %.pre50.pre, %98 ], [ %9, %_ZNSt6vectorIN4Luau5Lexer9BraceTypeESaIS2_EE11_S_relocateEPS2_S5_S5_RS3_.exit16.i.i.i ] %.pre = phi i32 [ %.pre.pre, %98 ], [ %17, %_ZNSt6vectorIN4Luau5Lexer9BraceTypeESaIS2_EE11_S_relocateEPS2_S5_S5_RS3_.exit16.i.i.i ] store ptr %93, ptr %73, align 8, !tbaa !88 @@ -5031,32 +5029,32 @@ _ZNSt6vectorIN4Luau5Lexer9BraceTypeESaIS2_EE17_M_realloc_insertIJS2_EEEvN9__gnu_ br label %_ZNSt6vectorIN4Luau5Lexer9BraceTypeESaIS2_EE9push_backEOS2_.exit _ZNSt6vectorIN4Luau5Lexer9BraceTypeESaIS2_EE9push_backEOS2_.exit: ; preds = %78, %_ZNSt6vectorIN4Luau5Lexer9BraceTypeESaIS2_EE17_M_realloc_insertIJS2_EEEvN9__gnu_cxx17__normal_iteratorIPS2_S4_EEDpOT_.exit.i.i - %.pre51 = phi ptr [ %12, %78 ], [ %.pre51.pre, %_ZNSt6vectorIN4Luau5Lexer9BraceTypeESaIS2_EE17_M_realloc_insertIJS2_EEEvN9__gnu_cxx17__normal_iteratorIPS2_S4_EEDpOT_.exit.i.i ] %100 = phi i64 [ %9, %78 ], [ %.pre50, %_ZNSt6vectorIN4Luau5Lexer9BraceTypeESaIS2_EE17_M_realloc_insertIJS2_EEEvN9__gnu_cxx17__normal_iteratorIPS2_S4_EEDpOT_.exit.i.i ] %101 = phi i32 [ %17, %78 ], [ %.pre, %_ZNSt6vectorIN4Luau5Lexer9BraceTypeESaIS2_EE17_M_realloc_insertIJS2_EEEvN9__gnu_cxx17__normal_iteratorIPS2_S4_EEDpOT_.exit.i.i ] %102 = add i32 %101, 1 %103 = zext i32 %102 to i64 %104 = icmp ugt i64 %100, %103 + %.pre51 = load ptr, ptr %1, align 8 br i1 %104, label %_ZNK4Luau5Lexer6peekchEj.exit10, label %_ZNSt6vectorIN4Luau5Lexer9BraceTypeESaIS2_EE9push_backEOS2_.exit._ZNK4Luau5Lexer6peekchEj.exit10.thread_crit_edge _ZNSt6vectorIN4Luau5Lexer9BraceTypeESaIS2_EE9push_backEOS2_.exit._ZNK4Luau5Lexer6peekchEj.exit10.thread_crit_edge: ; preds = %_ZNSt6vectorIN4Luau5Lexer9BraceTypeESaIS2_EE9push_backEOS2_.exit - %.pre56 = load i32, ptr %13, align 4, !tbaa !66 - %.pre58 = load i32, ptr %14, align 8, !tbaa !67 + %.pre55 = load i32, ptr %13, align 4 + %.pre57 = load i32, ptr %14, align 8 br label %_ZNK4Luau5Lexer6peekchEj.exit10.thread _ZNK4Luau5Lexer6peekchEj.exit10: ; preds = %_ZNSt6vectorIN4Luau5Lexer9BraceTypeESaIS2_EE9push_backEOS2_.exit %105 = getelementptr inbounds nuw i8, ptr %.pre51, i64 %103 %106 = load i8, ptr %105, align 1, !tbaa !15 %107 = icmp eq i8 %106, 123 - %.pre57 = load i32, ptr %13, align 4, !tbaa !66 - %.pre59 = load i32, ptr %14, align 8, !tbaa !67 + %.pre56 = load i32, ptr %13, align 4 + %.pre58 = load i32, ptr %14, align 8 br i1 %107, label %108, label %_ZNK4Luau5Lexer6peekchEj.exit10.thread 108: ; preds = %_ZNK4Luau5Lexer6peekchEj.exit10 - %109 = sub i32 %101, %.pre59 + %109 = sub i32 %101, %.pre58 %.sroa.431.0.insert.ext = zext i32 %109 to i64 %.sroa.431.0.insert.shift = shl nuw i64 %.sroa.431.0.insert.ext, 32 - %.sroa.030.0.insert.ext = zext i32 %.pre57 to i64 + %.sroa.030.0.insert.ext = zext i32 %.pre56 to i64 %.sroa.030.0.insert.insert = or disjoint i64 %.sroa.431.0.insert.shift, %.sroa.030.0.insert.ext %110 = getelementptr inbounds nuw i8, ptr %.pre51, i64 %10 %111 = sub i32 %101, %7 @@ -5074,8 +5072,8 @@ _ZNK4Luau5Lexer6peekchEj.exit10: ; preds = %_ZNSt6vectorIN4Luau br label %139 _ZNK4Luau5Lexer6peekchEj.exit10.thread: ; preds = %_ZNSt6vectorIN4Luau5Lexer9BraceTypeESaIS2_EE9push_backEOS2_.exit._ZNK4Luau5Lexer6peekchEj.exit10.thread_crit_edge, %_ZNK4Luau5Lexer6peekchEj.exit10 - %116 = phi i32 [ %.pre58, %_ZNSt6vectorIN4Luau5Lexer9BraceTypeESaIS2_EE9push_backEOS2_.exit._ZNK4Luau5Lexer6peekchEj.exit10.thread_crit_edge ], [ %.pre59, %_ZNK4Luau5Lexer6peekchEj.exit10 ] - %117 = phi i32 [ %.pre56, %_ZNSt6vectorIN4Luau5Lexer9BraceTypeESaIS2_EE9push_backEOS2_.exit._ZNK4Luau5Lexer6peekchEj.exit10.thread_crit_edge ], [ %.pre57, %_ZNK4Luau5Lexer6peekchEj.exit10 ] + %116 = phi i32 [ %.pre57, %_ZNSt6vectorIN4Luau5Lexer9BraceTypeESaIS2_EE9push_backEOS2_.exit._ZNK4Luau5Lexer6peekchEj.exit10.thread_crit_edge ], [ %.pre58, %_ZNK4Luau5Lexer6peekchEj.exit10 ] + %117 = phi i32 [ %.pre55, %_ZNSt6vectorIN4Luau5Lexer9BraceTypeESaIS2_EE9push_backEOS2_.exit._ZNK4Luau5Lexer6peekchEj.exit10.thread_crit_edge ], [ %.pre56, %_ZNK4Luau5Lexer6peekchEj.exit10 ] store i32 %102, ptr %6, align 8, !tbaa !60 %118 = sub i32 %102, %116 %.sroa.429.0.insert.ext = zext i32 %118 to i64 @@ -5217,7 +5215,7 @@ define dso_local void @_ZN4Luau5Lexer10readNumberERKNS_8PositionEj(ptr dead_on_u store i32 %8, ptr %5, align 8, !tbaa !60 %9 = zext i32 %8 to i64 %10 = icmp ugt i64 %7, %9 - %.pre.pre.pre = load ptr, ptr %1, align 8, !tbaa !51 + %.pre.pre.pre = load ptr, ptr %1, align 8 br i1 %10, label %_ZNK4Luau5Lexer6peekchEv.exit13, label %_ZNK4Luau5Lexer6peekchEv.exit9.thread _ZNK4Luau5Lexer6peekchEv.exit13: ; preds = %4, %.backedge @@ -6189,7 +6187,7 @@ define linkonce_odr dso_local void @_ZN4Luau6detail14DenseHashTableINS_12AstName br i1 %exitcond.not.i.i, label %_ZN4Luau6detail14DenseHashTableINS_12AstNameTable5EntryES3_S3_NS0_16ItemInterfaceSetIS3_EENS2_9EntryHashESt8equal_toIS3_EEC2ERKS3_m.exit.loopexit, label %.lr.ph.i.i, !llvm.loop !39 _ZN4Luau6detail14DenseHashTableINS_12AstNameTable5EntryES3_S3_NS0_16ItemInterfaceSetIS3_EENS2_9EntryHashESt8equal_toIS3_EEC2ERKS3_m.exit.loopexit: ; preds = %.lr.ph.i.i - %.pre = load i64, ptr %2, align 8, !tbaa !38 + %.pre = load i64, ptr %2, align 8 br label %_ZN4Luau6detail14DenseHashTableINS_12AstNameTable5EntryES3_S3_NS0_16ItemInterfaceSetIS3_EENS2_9EntryHashESt8equal_toIS3_EEC2ERKS3_m.exit _ZN4Luau6detail14DenseHashTableINS_12AstNameTable5EntryES3_S3_NS0_16ItemInterfaceSetIS3_EENS2_9EntryHashESt8equal_toIS3_EEC2ERKS3_m.exit: ; preds = %_ZN4Luau6detail14DenseHashTableINS_12AstNameTable5EntryES3_S3_NS0_16ItemInterfaceSetIS3_EENS2_9EntryHashESt8equal_toIS3_EEC2ERKS3_m.exit.loopexit, %1 @@ -6201,11 +6199,11 @@ _ZN4Luau6detail14DenseHashTableINS_12AstNameTable5EntryES3_S3_NS0_16ItemInterfac .lr.ph: ; preds = %_ZN4Luau6detail14DenseHashTableINS_12AstNameTable5EntryES3_S3_NS0_16ItemInterfaceSetIS3_EENS2_9EntryHashESt8equal_toIS3_EEC2ERKS3_m.exit %13 = add i64 %spec.select, -1 %14 = zext i32 %.sroa.20.24.copyload to i64 - %.pre33 = load ptr, ptr %0, align 8, !tbaa !33 + %.pre33 = load ptr, ptr %0, align 8 br label %17 ._crit_edge: ; preds = %_ZN4Luau6detail14DenseHashTableINS_12AstNameTable5EntryES3_S3_NS0_16ItemInterfaceSetIS3_EENS2_9EntryHashESt8equal_toIS3_EEC2ERKS3_m.exit - %.pre32 = load ptr, ptr %0, align 8, !tbaa !110 + %.pre32 = load ptr, ptr %0, align 8 store ptr %.sroa.0.0, ptr %0, align 8, !tbaa !110 store i64 %spec.select, ptr %2, align 8, !tbaa !23 %.not.i11 = icmp eq ptr %.pre32, null diff --git a/bench/lvgl/optimized/lv_flex.ll b/bench/lvgl/optimized/lv_flex.ll index 9bcc3248363..c818db197e5 100644 --- a/bench/lvgl/optimized/lv_flex.ll +++ b/bench/lvgl/optimized/lv_flex.ll @@ -179,9 +179,9 @@ define internal void @flex_update(ptr noundef %0, ptr readnone captures(none) %1 %88 = and i8 %8, 8 %.not94 = icmp eq i8 %88, 0 %.phi.trans.insert = getelementptr inbounds nuw i8, ptr %0, i64 16 - %.pre = load ptr, ptr %.phi.trans.insert, align 8, !tbaa !45 + %.pre = load ptr, ptr %.phi.trans.insert, align 8 %.phi.trans.insert243 = getelementptr inbounds nuw i8, ptr %.pre, i64 64 - %.pre244 = load i16, ptr %.phi.trans.insert243, align 8, !tbaa !46 + %.pre244 = load i16, ptr %.phi.trans.insert243, align 8 %.pre250 = zext i16 %.pre244 to i32 %89 = add nsw i32 %.pre250, -1 %90 = select i1 %.not94, i32 0, i32 %89 @@ -206,13 +206,13 @@ define internal void @flex_update(ptr noundef %0, ptr readnone captures(none) %1 %97 = and i8 %96, -2 store i8 %97, ptr %94, align 4 %98 = call fastcc i32 @find_track_end(ptr noundef nonnull %0, ptr noundef %3, i32 noundef %.084226, i32 noundef %36, i32 noundef %38, ptr noundef %4) - %99 = load i32, ptr %4, align 8, !tbaa !52 + %99 = load i32, ptr %4, align 8, !tbaa !45 %100 = add i32 %.188224, %37 %101 = add i32 %100, %99 %102 = add i32 %.086225, 1 - %103 = load ptr, ptr %91, align 8, !tbaa !45 + %103 = load ptr, ptr %91, align 8, !tbaa !47 %104 = getelementptr inbounds nuw i8, ptr %103, i64 64 - %105 = load i16, ptr %104, align 8, !tbaa !46 + %105 = load i16, ptr %104, align 8, !tbaa !48 %106 = zext i16 %105 to i32 %107 = icmp ult i32 %98, %106 br i1 %107, label %95, label %._crit_edge, !llvm.loop !54 @@ -319,9 +319,9 @@ place_content.exit: ; preds = %139, %134, %125, %1 %145 = and i8 %144, 4 %.not97 = icmp eq i8 %145, 0 %.phi.trans.insert246 = getelementptr inbounds nuw i8, ptr %0, i64 16 - %.pre247 = load ptr, ptr %.phi.trans.insert246, align 8, !tbaa !45 + %.pre247 = load ptr, ptr %.phi.trans.insert246, align 8 %.phi.trans.insert248 = getelementptr inbounds nuw i8, ptr %.pre247, i64 64 - %.pre249 = load i16, ptr %.phi.trans.insert248, align 8, !tbaa !46 + %.pre249 = load i16, ptr %.phi.trans.insert248, align 8 %.pre251 = zext i16 %.pre249 to i32 %146 = add nsw i32 %.pre251, -1 %147 = select i1 %.not97, i32 0, i32 %146 @@ -362,7 +362,7 @@ place_content.exit: ; preds = %139, %134, %125, %1 br i1 %.not99.us, label %161, label %.else146.us 161: ; preds = %.lr.ph231.split.us - %162 = load i32, ptr %5, align 8, !tbaa !52 + %162 = load i32, ptr %5, align 8, !tbaa !45 %.sroa.speculated149.us = select i1 %.not, i32 %.2229.us, i32 %.2182228.us %163 = sub nsw i32 %.sroa.speculated149.us, %162 %spec.select216.us = select i1 %.not, i32 %.2182228.us, i32 %163 @@ -378,7 +378,7 @@ place_content.exit: ; preds = %139, %134, %125, %1 br i1 %.not99.us, label %169, label %165 165: ; preds = %.else146.us - %166 = load i32, ptr %5, align 8, !tbaa !52 + %166 = load i32, ptr %5, align 8, !tbaa !45 %.sroa.speculated155.us = select i1 %.not, i32 %.3.us, i32 %.3183.us %167 = add i32 %155, %166 %168 = add nsw i32 %167, %.sroa.speculated155.us @@ -394,9 +394,9 @@ place_content.exit: ; preds = %139, %134, %125, %1 %spec.select218.us = select i1 %.not, i32 %.3183.us, i32 %storemerge.us %spec.select219.us = select i1 %.not, i32 %storemerge.us, i32 %.3.us call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %5) #7 - %171 = load ptr, ptr %151, align 8, !tbaa !45 + %171 = load ptr, ptr %151, align 8, !tbaa !47 %172 = getelementptr inbounds nuw i8, ptr %171, i64 64 - %173 = load i16, ptr %172, align 8, !tbaa !46 + %173 = load i16, ptr %172, align 8, !tbaa !48 %174 = zext i16 %173 to i32 %175 = icmp ult i32 %158, %174 br i1 %175, label %.lr.ph231.split.us, label %._crit_edge232, !llvm.loop !57 @@ -415,13 +415,13 @@ place_content.exit: ; preds = %139, %134, %125, %1 call fastcc void @children_repos(ptr noundef nonnull %0, ptr noundef %3, i32 noundef %.185230.us233, i32 noundef %178, i32 noundef %.2229.us234, i32 noundef %.0180, i32 noundef %36, i32 noundef %38, ptr noundef %5) %179 = load ptr, ptr %154, align 8, !tbaa !56 tail call void @lv_free(ptr noundef %179) #7 - %180 = load i32, ptr %5, align 8, !tbaa !52 + %180 = load i32, ptr %5, align 8, !tbaa !45 %181 = add i32 %155, %180 %182 = add nsw i32 %181, %.2229.us234 call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %5) #7 - %183 = load ptr, ptr %151, align 8, !tbaa !45 + %183 = load ptr, ptr %151, align 8, !tbaa !47 %184 = getelementptr inbounds nuw i8, ptr %183, i64 64 - %185 = load i16, ptr %184, align 8, !tbaa !46 + %185 = load i16, ptr %184, align 8, !tbaa !48 %186 = zext i16 %185 to i32 %187 = icmp ult i32 %178, %186 br i1 %187, label %.critedge.us, label %._crit_edge232, !llvm.loop !57 @@ -437,13 +437,13 @@ place_content.exit: ; preds = %139, %134, %125, %1 call fastcc void @children_repos(ptr noundef nonnull %0, ptr noundef %3, i32 noundef %.185230, i32 noundef %190, i32 noundef %.0178, i32 noundef %.2182228, i32 noundef %36, i32 noundef %38, ptr noundef %5) %191 = load ptr, ptr %154, align 8, !tbaa !56 tail call void @lv_free(ptr noundef %191) #7 - %192 = load i32, ptr %5, align 8, !tbaa !52 + %192 = load i32, ptr %5, align 8, !tbaa !45 %193 = add i32 %155, %192 %194 = add nsw i32 %193, %.2182228 call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %5) #7 - %195 = load ptr, ptr %151, align 8, !tbaa !45 + %195 = load ptr, ptr %151, align 8, !tbaa !47 %196 = getelementptr inbounds nuw i8, ptr %195, i64 64 - %197 = load i16, ptr %196, align 8, !tbaa !46 + %197 = load i16, ptr %196, align 8, !tbaa !48 %198 = zext i16 %197 to i32 %199 = icmp ult i32 %190, %198 br i1 %199, label %.critedge, label %._crit_edge232, !llvm.loop !57 @@ -693,7 +693,7 @@ define internal fastcc i32 @find_track_end(ptr noundef %0, ptr noundef nonnull c %103 = load i8, ptr %10, align 4 %104 = and i8 %103, 2 %.not142 = icmp eq i8 %104, 0 - %.pre = load i32, ptr %31, align 8, !tbaa !58 + %.pre = load i32, ptr %31, align 8 br i1 %.not142, label %.thread171, label %105 105: ; preds = %100 @@ -710,7 +710,7 @@ define internal fastcc i32 @find_track_end(ptr noundef %0, ptr noundef nonnull c .thread: ; preds = %63, %73, %.thread171 %.4121 = phi i32 [ %.0117191, %.thread171 ], [ %.pre-phi, %73 ], [ %.pre-phi, %63 ] %110 = tail call i32 %29(ptr noundef nonnull %.0127189) #7, !callees !65 - %111 = load i32, ptr %5, align 8, !tbaa !52 + %111 = load i32, ptr %5, align 8, !tbaa !45 %112 = icmp sgt i32 %110, %111 br i1 %112, label %113, label %115 @@ -720,7 +720,7 @@ define internal fastcc i32 @find_track_end(ptr noundef %0, ptr noundef nonnull c 115: ; preds = %113, %.thread %116 = phi i32 [ %114, %113 ], [ %111, %.thread ] - store i32 %116, ptr %5, align 8, !tbaa !52 + store i32 %116, ptr %5, align 8, !tbaa !45 %117 = load i32, ptr %33, align 4, !tbaa !66 %118 = add i32 %117, 1 store i32 %118, ptr %33, align 4, !tbaa !66 @@ -762,7 +762,7 @@ define internal fastcc i32 @find_track_end(ptr noundef %0, ptr noundef nonnull c get_next_item.exit: ; preds = %130 %133 = getelementptr inbounds nuw i8, ptr %0, i64 16 - %134 = load ptr, ptr %133, align 8, !tbaa !45 + %134 = load ptr, ptr %133, align 8, !tbaa !47 %135 = load ptr, ptr %134, align 8, !tbaa !69 %136 = zext nneg i32 %2 to i64 %137 = getelementptr inbounds nuw ptr, ptr %135, i64 %136 @@ -777,7 +777,7 @@ get_next_item.exit: ; preds = %130 141: ; preds = %get_next_item.exit %142 = tail call i32 %29(ptr noundef nonnull %138) #7, !callees !65 - store i32 %142, ptr %5, align 8, !tbaa !52 + store i32 %142, ptr %5, align 8, !tbaa !45 %143 = tail call i32 %28(ptr noundef nonnull %138) #7, !callees !65 store i32 %143, ptr %30, align 4, !tbaa !68 store i32 1, ptr %33, align 4, !tbaa !66 @@ -810,14 +810,13 @@ define internal fastcc void @children_repos(ptr noundef %0, ptr noundef nonnull %21 = getelementptr inbounds nuw i8, ptr %8, i64 4 %22 = getelementptr inbounds nuw i8, ptr %8, i64 8 %23 = getelementptr inbounds nuw i8, ptr %8, i64 16 - %.pre = load i32, ptr %20, align 8, !tbaa !59 + %.pre = load i32, ptr %20, align 8 br label %24 ._crit_edge: ; preds = %75 br i1 %.3, label %24, label %.critedge 24: ; preds = %.critedge258, %._crit_edge - %.pre302305 = phi i32 [ %.pre, %.critedge258 ], [ %.pre302307, %._crit_edge ] %25 = phi i32 [ %.pre, %.critedge258 ], [ %76, %._crit_edge ] %.not215 = icmp eq i32 %25, 0 br i1 %.not215, label %.critedge, label %26 @@ -864,7 +863,6 @@ define internal fastcc void @children_repos(ptr noundef %0, ptr noundef nonnull br i1 %exitcond.not, label %.lr.ph, label %31, !llvm.loop !73 46: ; preds = %.lr.ph, %75 - %.pre302306 = phi i32 [ %.pre302305, %.lr.ph ], [ %.pre302307, %75 ] %47 = phi i32 [ %25, %.lr.ph ], [ %76, %75 ] %48 = phi ptr [ %30, %.lr.ph ], [ %77, %75 ] %49 = phi ptr [ %30, %.lr.ph ], [ %78, %75 ] @@ -904,12 +902,10 @@ define internal fastcc void @children_repos(ptr noundef %0, ptr noundef nonnull %66 = getelementptr inbounds nuw %struct.grow_dsc_t, ptr %49, i64 %indvars.iv294, i32 5 %67 = or disjoint i8 %52, 1 store i8 %67, ptr %66, align 8 - %.pre301 = load ptr, ptr %23, align 8, !tbaa !56 - %.pre302.pre = load i32, ptr %20, align 8, !tbaa !59 + %.pre301 = load ptr, ptr %23, align 8 br label %68 68: ; preds = %65, %56 - %.pre302 = phi i32 [ %.pre302.pre, %65 ], [ %.pre302306, %56 ] %69 = phi ptr [ %.pre301, %65 ], [ %48, %56 ] %.2194 = phi i1 [ true, %65 ], [ %.1193275, %56 ] %70 = getelementptr inbounds nuw %struct.grow_dsc_t, ptr %69, i64 %indvars.iv294, i32 3 @@ -918,10 +914,10 @@ define internal fastcc void @children_repos(ptr noundef %0, ptr noundef nonnull %72 = load i32, ptr %71, align 4, !tbaa !64 %73 = sub i32 %.2201274, %72 %74 = sub nsw i32 %.2206273, %spec.select + %.pre302 = load i32, ptr %20, align 8 br label %75 75: ; preds = %46, %68 - %.pre302307 = phi i32 [ %.pre302, %68 ], [ %.pre302306, %46 ] %76 = phi i32 [ %.pre302, %68 ], [ %47, %46 ] %77 = phi ptr [ %69, %68 ], [ %48, %46 ] %78 = phi ptr [ %69, %68 ], [ %49, %46 ] @@ -1041,7 +1037,7 @@ place_content.exit: ; preds = %.critedge, %90, %93 133: ; preds = %131 %134 = add nsw i32 %.0252277, -1 - %135 = load ptr, ptr %120, align 8, !tbaa !45 + %135 = load ptr, ptr %120, align 8, !tbaa !47 %136 = load ptr, ptr %135, align 8, !tbaa !69 %137 = zext nneg i32 %134 to i64 %138 = getelementptr inbounds nuw ptr, ptr %136, i64 %137 @@ -1049,9 +1045,9 @@ place_content.exit: ; preds = %.critedge, %90, %93 139: ; preds = %128 %140 = add nsw i32 %.0252277, 1 - %141 = load ptr, ptr %120, align 8, !tbaa !45 + %141 = load ptr, ptr %120, align 8, !tbaa !47 %142 = getelementptr inbounds nuw i8, ptr %141, i64 64 - %143 = load i16, ptr %142, align 8, !tbaa !46 + %143 = load i16, ptr %142, align 8, !tbaa !48 %144 = zext i16 %143 to i32 %145 = icmp slt i32 %140, %144 br i1 %145, label %146, label %.outer._crit_edge @@ -1113,8 +1109,8 @@ get_next_item.exit: ; preds = %133, %146 %169 = getelementptr inbounds nuw i8, ptr %.0203278, i64 62 %170 = load i16, ptr %169, align 2 %171 = and i16 %170, -3073 - %.319 = select i1 %.not217, i16 1024, i16 2048 - %172 = or disjoint i16 %171, %.319 + %.315 = select i1 %.not217, i16 1024, i16 2048 + %172 = or disjoint i16 %171, %.315 store i16 %172, ptr %169, align 2 %173 = getelementptr inbounds nuw i8, ptr %.0203278, i64 40 %174 = call i32 %14(ptr noundef nonnull %173) #7, !callees !77 @@ -1158,7 +1154,7 @@ get_next_item.exit: ; preds = %133, %146 ] 192: ; preds = %190 - %193 = load i32, ptr %8, align 8, !tbaa !52 + %193 = load i32, ptr %8, align 8, !tbaa !45 %194 = add nsw i32 %193, 1 %195 = and i32 %194, -2 %196 = getelementptr inbounds nuw i8, ptr %.0203278, i64 40 @@ -1173,7 +1169,7 @@ get_next_item.exit: ; preds = %133, %146 br label %214 205: ; preds = %190 - %206 = load i32, ptr %8, align 8, !tbaa !52 + %206 = load i32, ptr %8, align 8, !tbaa !45 %207 = getelementptr inbounds nuw i8, ptr %.0203278, i64 40 %208 = call i32 %15(ptr noundef nonnull %207) #7, !callees !77 %209 = call i32 %19(ptr noundef nonnull %.0203278, i32 noundef 0) #7, !callees !84 @@ -1342,7 +1338,7 @@ get_next_item.exit: ; preds = %133, %146 307: ; preds = %305 %308 = add nsw i32 %.0252277, -1 - %309 = load ptr, ptr %120, align 8, !tbaa !45 + %309 = load ptr, ptr %120, align 8, !tbaa !47 %310 = load ptr, ptr %309, align 8, !tbaa !69 %311 = zext nneg i32 %308 to i64 %312 = getelementptr inbounds nuw ptr, ptr %310, i64 %311 @@ -1350,9 +1346,9 @@ get_next_item.exit: ; preds = %133, %146 313: ; preds = %302 %314 = add nsw i32 %.0252277, 1 - %315 = load ptr, ptr %120, align 8, !tbaa !45 + %315 = load ptr, ptr %120, align 8, !tbaa !47 %316 = getelementptr inbounds nuw i8, ptr %315, i64 64 - %317 = load i16, ptr %316, align 8, !tbaa !46 + %317 = load i16, ptr %316, align 8, !tbaa !48 %318 = zext i16 %317 to i32 %319 = icmp slt i32 %314, %318 br i1 %319, label %320, label %.outer._crit_edge @@ -1533,31 +1529,31 @@ attributes #7 = { nounwind } !42 = !{!"", !9, i64 0, !9, i64 4, !9, i64 8, !9, i64 12} !43 = !{!"short", !6, i64 0} !44 = !{!38, !9, i64 40} -!45 = !{!38, !40, i64 16} -!46 = !{!47, !43, i64 64} -!47 = !{!"_lv_obj_spec_attr_t", !48, i64 0, !13, i64 8, !49, i64 16, !51, i64 48, !9, i64 56, !9, i64 60, !43, i64 64, !43, i64 66, !43, i64 66, !43, i64 66, !43, i64 66, !43, i64 67} -!48 = !{!"p2 _ZTS9_lv_obj_t", !11, i64 0} -!49 = !{!"", !50, i64 0, !6, i64 24, !6, i64 24} -!50 = !{!"_lv_array_t", !10, i64 0, !9, i64 8, !9, i64 12, !9, i64 16, !5, i64 20} -!51 = !{!"", !9, i64 0, !9, i64 4} -!52 = !{!53, !9, i64 0} -!53 = !{!"", !9, i64 0, !9, i64 4, !9, i64 8, !9, i64 12, !11, i64 16, !9, i64 24, !9, i64 28} +!45 = !{!46, !9, i64 0} +!46 = !{!"", !9, i64 0, !9, i64 4, !9, i64 8, !9, i64 12, !11, i64 16, !9, i64 24, !9, i64 28} +!47 = !{!38, !40, i64 16} +!48 = !{!49, !43, i64 64} +!49 = !{!"_lv_obj_spec_attr_t", !50, i64 0, !13, i64 8, !51, i64 16, !53, i64 48, !9, i64 56, !9, i64 60, !43, i64 64, !43, i64 66, !43, i64 66, !43, i64 66, !43, i64 66, !43, i64 67} +!50 = !{!"p2 _ZTS9_lv_obj_t", !11, i64 0} +!51 = !{!"", !52, i64 0, !6, i64 24, !6, i64 24} +!52 = !{!"_lv_array_t", !10, i64 0, !9, i64 8, !9, i64 12, !9, i64 16, !5, i64 20} +!53 = !{!"", !9, i64 0, !9, i64 4} !54 = distinct !{!54, !55} !55 = !{!"llvm.loop.mustprogress"} -!56 = !{!53, !11, i64 16} +!56 = !{!46, !11, i64 16} !57 = distinct !{!57, !55} -!58 = !{!53, !9, i64 8} -!59 = !{!53, !9, i64 24} +!58 = !{!46, !9, i64 8} +!59 = !{!46, !9, i64 24} !60 = !{!61, !15, i64 0} !61 = !{!"", !15, i64 0, !9, i64 8, !9, i64 12, !9, i64 16, !9, i64 20, !9, i64 24} !62 = !{!61, !9, i64 8} !63 = !{!61, !9, i64 12} !64 = !{!61, !9, i64 20} !65 = !{ptr @lv_obj_get_height_with_margin, ptr @lv_obj_get_width_with_margin} -!66 = !{!53, !9, i64 12} +!66 = !{!46, !9, i64 12} !67 = distinct !{!67, !55} -!68 = !{!53, !9, i64 4} -!69 = !{!47, !48, i64 0} +!68 = !{!46, !9, i64 4} +!69 = !{!49, !50, i64 0} !70 = !{!15, !15, i64 0} !71 = distinct !{!71, !55} !72 = !{!61, !9, i64 16} diff --git a/bench/memcached/optimized/proto_bin.ll b/bench/memcached/optimized/proto_bin.ll index 57326bf1697..e7fe2f83cc4 100644 --- a/bench/memcached/optimized/proto_bin.ll +++ b/bench/memcached/optimized/proto_bin.ll @@ -157,7 +157,7 @@ define dso_local void @complete_nread_binary(ptr noundef %0) local_unnamed_addr 74: ; preds = %66 %75 = load ptr, ptr %68, align 8, !tbaa !34 %.phi.trans.insert.i = getelementptr inbounds nuw i8, ptr %75, i64 28 - %.pre.i = load i32, ptr %.phi.trans.insert.i, align 4, !tbaa !32 + %.pre.i = load i32, ptr %.phi.trans.insert.i, align 4 br label %76 76: ; preds = %74, %66 @@ -405,7 +405,7 @@ write_bin_error.exit: ; preds = %33, %37 55: ; preds = %39 %56 = load ptr, ptr @stderr, align 8, !tbaa !58 %57 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %56, ptr noundef nonnull @.str.20, ptr noundef nonnull %43, i32 noundef %18) #12 - %.pre.pre = load ptr, ptr %19, align 8, !tbaa !26 + %.pre.pre = load ptr, ptr %19, align 8 br label %58 58: ; preds = %55, %39 @@ -516,7 +516,7 @@ write_bin_error.exit63: ; preds = %91, %95 119: ; preds = %103, %116, %109, %101 %cond = phi i1 [ false, %103 ], [ false, %101 ], [ true, %109 ], [ true, %116 ] %.0.ph = phi i32 [ 1, %103 ], [ 1, %101 ], [ -1, %109 ], [ -1, %116 ] - %.pr = load i32, ptr getelementptr inbounds nuw (i8, ptr @settings, i64 32), align 8, !tbaa !57 + %.pr = load i32, ptr getelementptr inbounds nuw (i8, ptr @settings, i64 32), align 8 %.not59 = icmp eq i32 %.pr, 0 br i1 %.not59, label %123, label %120 @@ -541,7 +541,7 @@ write_bin_error.exit63: ; preds = %91, %95 126: ; preds = %124 %127 = load ptr, ptr @stderr, align 8, !tbaa !58 %128 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %127, ptr noundef nonnull @.str.25, i32 noundef %.0.ph) #12 - %.pr73 = load i32, ptr getelementptr inbounds nuw (i8, ptr @settings, i64 32), align 8, !tbaa !57 + %.pr73 = load i32, ptr getelementptr inbounds nuw (i8, ptr @settings, i64 32), align 8 %129 = icmp sgt i32 %.pr73, 1 br i1 %129, label %130, label %.thread74 @@ -1693,7 +1693,7 @@ switch.lookup: ; preds = %109 121: ; preds = %117 store i16 6, ptr %110, align 8, !tbaa !48 - %.pre = load i16, ptr %102, align 2, !tbaa !31 + %.pre = load i16, ptr %102, align 2 br label %.critedge .critedge: ; preds = %114, %121, %117 @@ -2969,7 +2969,7 @@ define internal fastcc void @bin_list_sasl_mechs(ptr noundef %0) unnamed_addr #0 store i8 0, ptr %25, align 1, !tbaa !62 %26 = load ptr, ptr %0, align 8, !tbaa !63 %.not.i = icmp eq ptr %26, null - %.pre11 = load i32, ptr getelementptr inbounds nuw (i8, ptr @settings, i64 32), align 8, !tbaa !57 + %.pre11 = load i32, ptr getelementptr inbounds nuw (i8, ptr @settings, i64 32), align 8 br i1 %.not.i, label %27, label %init_sasl_conn.exit 27: ; preds = %24 @@ -2979,12 +2979,11 @@ define internal fastcc void @bin_list_sasl_mechs(ptr noundef %0) unnamed_addr #0 28: ; preds = %27 %29 = load ptr, ptr @stderr, align 8, !tbaa !58 %30 = tail call i64 @fwrite(ptr nonnull @.str.26, i64 32, i64 1, ptr %29) #13 - %.pre.pre = load i32, ptr getelementptr inbounds nuw (i8, ptr @settings, i64 32), align 8, !tbaa !57 br label %31 31: ; preds = %28, %27 - %.pre = phi i32 [ %.pre.pre, %28 ], [ 0, %27 ] store ptr null, ptr %0, align 8, !tbaa !63 + %.pre = load i32, ptr getelementptr inbounds nuw (i8, ptr @settings, i64 32), align 8 br label %init_sasl_conn.exit init_sasl_conn.exit: ; preds = %24, %31 @@ -2995,7 +2994,7 @@ init_sasl_conn.exit: ; preds = %24, %31 33: ; preds = %init_sasl_conn.exit %34 = load ptr, ptr @stderr, align 8, !tbaa !58 %35 = tail call i64 @fwrite(ptr nonnull @.str.59, i64 32, i64 1, ptr %34) #13 - %.pr = load i32, ptr getelementptr inbounds nuw (i8, ptr @settings, i64 32), align 8, !tbaa !57 + %.pr = load i32, ptr getelementptr inbounds nuw (i8, ptr @settings, i64 32), align 8 %36 = icmp sgt i32 %.pr, 1 br i1 %36, label %37, label %.thread diff --git a/bench/mimalloc/optimized/segment.ll b/bench/mimalloc/optimized/segment.ll index 492be36962e..dcc7738e2de 100644 --- a/bench/mimalloc/optimized/segment.ll +++ b/bench/mimalloc/optimized/segment.ll @@ -159,7 +159,7 @@ mi_page_not_in_queue.exit.thread.i: ; preds = %.critedge2 mi_page_not_in_queue.exit.thread.thread26.i: ; preds = %20, %mi_page_not_in_queue.exit.thread.i %24 = getelementptr inbounds nuw i8, ptr %17, i64 64 store ptr %19, ptr %24, align 8, !tbaa !29 - %.pre24.i = load ptr, ptr %18, align 8, !tbaa !29 + %.pre24.i = load ptr, ptr %18, align 8 %.not21.i = icmp eq ptr %.pre24.i, null br i1 %.not21.i, label %.thread.i, label %.thread29.i @@ -526,7 +526,7 @@ define internal fastcc void @mi_segment_free(ptr noundef %0, ptr noundef capture %21 = load ptr, ptr %20, align 8, !tbaa !29 %.not.i.i.i = icmp eq ptr %21, null %22 = getelementptr inbounds nuw i8, ptr %15, i64 72 - %23 = load ptr, ptr %22, align 8, !tbaa !28 + %23 = load ptr, ptr %22, align 8 %.not8.i.i.i = icmp eq ptr %23, null br i1 %.not.i.i.i, label %24, label %mi_page_not_in_queue.exit.thread.i.i @@ -549,7 +549,7 @@ mi_page_not_in_queue.exit.thread.i.i: ; preds = %19 mi_page_not_in_queue.exit.thread.thread26.i.i: ; preds = %mi_page_not_in_queue.exit.thread.i.i, %24 %28 = getelementptr inbounds nuw i8, ptr %23, i64 64 store ptr %21, ptr %28, align 8, !tbaa !29 - %.pre24.i.i = load ptr, ptr %20, align 8, !tbaa !29 + %.pre24.i.i = load ptr, ptr %20, align 8 %.not21.i.i = icmp eq ptr %.pre24.i.i, null br i1 %.not21.i.i, label %.thread.i.i, label %.thread29.i.i @@ -613,7 +613,7 @@ mi_segment_free_queue.exit.i: ; preds = %mi_segment_remove_a %48 = load ptr, ptr %47, align 8, !tbaa !44 %.not9.i = icmp eq ptr %48, null %49 = getelementptr inbounds nuw i8, ptr %0, i64 56 - %50 = load ptr, ptr %49, align 8, !tbaa !46 + %50 = load ptr, ptr %49, align 8 %.not10.i = icmp eq ptr %50, null br i1 %.not9.i, label %51, label %.critedge12.i @@ -833,7 +833,7 @@ define internal fastcc void @mi_segment_abandon(ptr noundef %0, ptr noundef capt %28 = load ptr, ptr %27, align 8, !tbaa !29 %.not.i.i.us.i = icmp eq ptr %28, null %29 = getelementptr inbounds nuw i8, ptr %22, i64 72 - %30 = load ptr, ptr %29, align 8, !tbaa !28 + %30 = load ptr, ptr %29, align 8 %.not8.i.i.us.i = icmp eq ptr %30, null br i1 %.not.i.i.us.i, label %31, label %mi_page_not_in_queue.exit.thread.i.us.i @@ -846,7 +846,7 @@ mi_page_not_in_queue.exit.thread.i.us.i: ; preds = %26 mi_page_not_in_queue.exit.thread.thread26.i.us.i: ; preds = %31, %mi_page_not_in_queue.exit.thread.i.us.i %32 = getelementptr inbounds nuw i8, ptr %30, i64 64 store ptr %28, ptr %32, align 8, !tbaa !29 - %.pre24.i.us.i = load ptr, ptr %27, align 8, !tbaa !29 + %.pre24.i.us.i = load ptr, ptr %27, align 8 %.not21.i.us.i = icmp eq ptr %.pre24.i.us.i, null br i1 %.not21.i.us.i, label %.thread.i.us.i, label %.thread29.i.us.i @@ -966,7 +966,7 @@ mi_page_purge.exit.us.i: ; preds = %74, %mi_segment_raw %86 = load ptr, ptr %85, align 8, !tbaa !29 %.not.i.i.i = icmp eq ptr %86, null %87 = getelementptr inbounds nuw i8, ptr %80, i64 72 - %88 = load ptr, ptr %87, align 8, !tbaa !28 + %88 = load ptr, ptr %87, align 8 %.not8.i.i.i = icmp eq ptr %88, null br i1 %.not.i.i.i, label %89, label %mi_page_not_in_queue.exit.thread.i.i @@ -989,7 +989,7 @@ mi_page_not_in_queue.exit.thread.i.i: ; preds = %84 mi_page_not_in_queue.exit.thread.thread26.i.i: ; preds = %mi_page_not_in_queue.exit.thread.i.i, %89 %93 = getelementptr inbounds nuw i8, ptr %88, i64 64 store ptr %86, ptr %93, align 8, !tbaa !29 - %.pre24.i.i = load ptr, ptr %85, align 8, !tbaa !29 + %.pre24.i.i = load ptr, ptr %85, align 8 %.not21.i.i = icmp eq ptr %.pre24.i.i, null br i1 %.not21.i.i, label %.thread.i.i, label %.thread29.i.i @@ -1053,7 +1053,7 @@ mi_segment_free_queue.exit.i: ; preds = %mi_segment_remove_a %113 = load ptr, ptr %112, align 8, !tbaa !44 %.not9.i = icmp eq ptr %113, null %114 = getelementptr inbounds nuw i8, ptr %0, i64 56 - %115 = load ptr, ptr %114, align 8, !tbaa !46 + %115 = load ptr, ptr %114, align 8 %.not10.i = icmp eq ptr %115, null br i1 %.not9.i, label %116, label %.critedge12.i @@ -1628,7 +1628,7 @@ define internal fastcc void @mi_segments_try_abandon_to_target(ptr noundef reado 41: ; preds = %36 tail call void @_mi_page_force_abandon(ptr noundef nonnull %32) #8 - %.pre.i = load i64, ptr %25, align 32, !tbaa !43 + %.pre.i = load i64, ptr %25, align 32 br label %42 42: ; preds = %41, %30 @@ -1879,7 +1879,7 @@ mi_segment_visit_page.exit.us.us: ; preds = %.lr.ph.split.us.spl br i1 %19, label %mi_segment_visit_page.exit.us.us..critedge.us.us_crit_edge, label %._crit_edge mi_segment_visit_page.exit.us.us..critedge.us.us_crit_edge: ; preds = %mi_segment_visit_page.exit.us.us - %.pre45 = load i64, ptr %7, align 8, !tbaa !43 + %.pre45 = load i64, ptr %7, align 8 br label %.critedge.us.us .critedge.us.us: ; preds = %mi_segment_visit_page.exit.us.us..critedge.us.us_crit_edge, %.lr.ph.split.us.split.us @@ -1914,7 +1914,7 @@ mi_segment_visit_page.exit.us: ; preds = %27 br i1 %33, label %mi_segment_visit_page.exit.us..critedge.us_crit_edge, label %._crit_edge mi_segment_visit_page.exit.us..critedge.us_crit_edge: ; preds = %mi_segment_visit_page.exit.us - %.pre = load i64, ptr %7, align 8, !tbaa !43 + %.pre = load i64, ptr %7, align 8 br label %.critedge.us .critedge.us: ; preds = %mi_segment_visit_page.exit.us..critedge.us_crit_edge, %27, %.lr.ph.split.us.split @@ -1949,7 +1949,7 @@ mi_segment_visit_page.exit.us..critedge.us_crit_edge: ; preds = %mi_segment_visi br i1 %45, label %..critedge.us27_crit_edge, label %._crit_edge ..critedge.us27_crit_edge: ; preds = %44 - %.pre47 = load i64, ptr %7, align 8, !tbaa !43 + %.pre47 = load i64, ptr %7, align 8 br label %.critedge.us27 .critedge.us27: ; preds = %..critedge.us27_crit_edge, %.lr.ph.split.split.us @@ -1988,7 +1988,7 @@ mi_segment_visit_page.exit.us..critedge.us_crit_edge: ; preds = %mi_segment_visi br i1 %62, label %..critedge_crit_edge, label %._crit_edge ..critedge_crit_edge: ; preds = %61 - %.pre46 = load i64, ptr %7, align 8, !tbaa !43 + %.pre46 = load i64, ptr %7, align 8 br label %.critedge .critedge: ; preds = %..critedge_crit_edge, %53, %.lr.ph.split.split @@ -2186,8 +2186,8 @@ mi_segment_os_alloc.exit.thread: ; preds = %40, %28 %83 = getelementptr inbounds nuw i8, ptr %32, i64 17 %84 = getelementptr inbounds nuw i8, ptr %32, i64 18 %85 = select i1 %8, i8 8, i8 0 - %.pre = load i8, ptr %83, align 1, !tbaa !102, !range !37 - %.pre58 = load i8, ptr %84, align 2, !tbaa !103, !range !37 + %.pre = load i8, ptr %83, align 1, !range !37 + %.pre58 = load i8, ptr %84, align 2, !range !37 %86 = shl nuw nsw i8 %.pre, 1 %87 = shl nuw nsw i8 %.pre58, 2 %invariant.op = or disjoint i8 %86, %87 @@ -2207,10 +2207,10 @@ mi_segment_os_alloc.exit.thread: ; preds = %40, %28 %93 = getelementptr inbounds nuw i8, ptr %32, i64 136 store atomic i64 %92, ptr %93 seq_cst, align 8, !tbaa !57 %94 = ptrtoint ptr %32 to i64 - %95 = load i64, ptr getelementptr inbounds nuw (i8, ptr @_mi_heap_main, i64 32), align 8, !tbaa !104 + %95 = load i64, ptr getelementptr inbounds nuw (i8, ptr @_mi_heap_main, i64 32), align 8, !tbaa !102 %96 = xor i64 %95, %94 %97 = getelementptr inbounds nuw i8, ptr %32, i64 112 - store i64 %96, ptr %97, align 8, !tbaa !105 + store i64 %96, ptr %97, align 8, !tbaa !103 br i1 %18, label %105, label %115 98: ; preds = %.lr.ph, %98 @@ -2225,7 +2225,7 @@ mi_segment_os_alloc.exit.thread: ; preds = %40, %28 store i8 %.reass60, ptr %101, align 1 %104 = add nuw nsw i64 %.057, 1 %exitcond.not = icmp eq i64 %104, %.051 - br i1 %exitcond.not, label %._crit_edge, label %98, !llvm.loop !106 + br i1 %exitcond.not, label %._crit_edge, label %98, !llvm.loop !104 105: ; preds = %._crit_edge %.val.i = load i32, ptr %88, align 8, !tbaa !3 @@ -2302,7 +2302,7 @@ define internal fastcc ptr @mi_segment_find_free(ptr noundef nonnull %0, ptr nou %21 = load ptr, ptr %20, align 8, !tbaa !29 %.not.i.i.i = icmp eq ptr %21, null %22 = getelementptr inbounds nuw i8, ptr %15, i64 72 - %23 = load ptr, ptr %22, align 8, !tbaa !28 + %23 = load ptr, ptr %22, align 8 %.not8.i.i.i = icmp eq ptr %23, null br i1 %.not.i.i.i, label %24, label %mi_page_not_in_queue.exit.thread.i.i @@ -2325,7 +2325,7 @@ mi_page_not_in_queue.exit.thread.i.i: ; preds = %19 mi_page_not_in_queue.exit.thread.thread26.i.i: ; preds = %mi_page_not_in_queue.exit.thread.i.i, %24 %28 = getelementptr inbounds nuw i8, ptr %23, i64 64 store ptr %21, ptr %28, align 8, !tbaa !29 - %.pre24.i.i = load ptr, ptr %20, align 8, !tbaa !29 + %.pre24.i.i = load ptr, ptr %20, align 8 %.not21.i.i = icmp eq ptr %.pre24.i.i, null br i1 %.not21.i.i, label %.thread.i.i, label %.thread29.i.i @@ -2418,7 +2418,7 @@ mi_page_ensure_committed.exit.thread19.i: ; preds = %mi_segment_raw_page %70 = or disjoint i8 %69, 2 %71 = or disjoint i8 %68, %70 call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %3) #9 - %.pre47 = load i64, ptr %4, align 8, !tbaa !43 + %.pre47 = load i64, ptr %4, align 8 br label %mi_page_ensure_committed.exit.thread.i mi_page_ensure_committed.exit.thread.i: ; preds = %mi_page_purge_remove.exit.i, %mi_page_ensure_committed.exit.thread19.i @@ -2446,7 +2446,7 @@ mi_segment_free_queue.exit.i.i: ; preds = %79 %83 = load ptr, ptr %82, align 8, !tbaa !44 %.not9.i.i = icmp eq ptr %83, null %84 = getelementptr inbounds nuw i8, ptr %0, i64 56 - %85 = load ptr, ptr %84, align 8, !tbaa !46 + %85 = load ptr, ptr %84, align 8 %.not10.i.i = icmp eq ptr %85, null br i1 %.not9.i.i, label %86, label %.critedge12.i.i @@ -2502,14 +2502,14 @@ mi_segment_queue_remove.exit.i.i: ; preds = %100, %96 102: ; preds = %mi_segment_raw_page_start.exit.i.i call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %3) #9 - %.pre46 = load i64, ptr %4, align 8, !tbaa !43 + %.pre46 = load i64, ptr %4, align 8 br label %103 103: ; preds = %13, %102 %104 = phi i64 [ %14, %13 ], [ %.pre46, %102 ] %105 = add nuw i64 %.01538, 1 %.not28 = icmp ult i64 %105, %104 - br i1 %.not28, label %13, label %.thread25, !llvm.loop !107 + br i1 %.not28, label %13, label %.thread25, !llvm.loop !105 .thread25: ; preds = %103, %2, %mi_segment_queue_remove.exit.i.i, %88, %79, %mi_page_ensure_committed.exit.thread.i %spec.select = phi ptr [ %15, %mi_page_ensure_committed.exit.thread.i ], [ %15, %79 ], [ %15, %88 ], [ %15, %mi_segment_queue_remove.exit.i.i ], [ null, %2 ], [ null, %103 ] @@ -2532,7 +2532,7 @@ define internal fastcc ptr @mi_segment_page_alloc(ptr noundef %0, i64 noundef ra %switch.not.not.i = icmp eq i32 %2, 0 %spec.select14.idx.i = select i1 %switch.not.not.i, i64 0, i64 16 %spec.select14.i = getelementptr inbounds nuw i8, ptr %4, i64 %spec.select14.idx.i - %.01116.i = load ptr, ptr %spec.select14.i, align 8, !tbaa !108 + %.01116.i = load ptr, ptr %spec.select14.i, align 8, !tbaa !106 %.not17.i = icmp eq ptr %.01116.i, null br i1 %.not17.i, label %mi_segment_page_try_alloc_in_queue.exit.thread, label %.lr.ph.i @@ -2556,9 +2556,9 @@ define internal fastcc ptr @mi_segment_page_alloc(ptr noundef %0, i64 noundef ra 14: ; preds = %10, %7 %15 = getelementptr inbounds nuw i8, ptr %.01118.i, i64 48 - %.011.i = load ptr, ptr %15, align 8, !tbaa !108 + %.011.i = load ptr, ptr %15, align 8, !tbaa !106 %.not.i = icmp eq ptr %.011.i, null - br i1 %.not.i, label %mi_segment_page_try_alloc_in_queue.exit.thread, label %7, !llvm.loop !109 + br i1 %.not.i, label %mi_segment_page_try_alloc_in_queue.exit.thread, label %7, !llvm.loop !107 mi_segment_page_try_alloc_in_queue.exit: ; preds = %10 %16 = tail call fastcc ptr @mi_segment_find_free(ptr noundef nonnull %.01118.i, ptr noundef %4) #7 @@ -2571,7 +2571,7 @@ mi_segment_page_try_alloc_in_queue.exit.thread: ; preds = %14, %5, %mi_segment br i1 %.not, label %mi_segment_page_try_alloc_in_queue.exit32, label %19 19: ; preds = %mi_segment_page_try_alloc_in_queue.exit.thread - %.01116.i23 = load ptr, ptr %spec.select14.i, align 8, !tbaa !108 + %.01116.i23 = load ptr, ptr %spec.select14.i, align 8, !tbaa !106 %.not17.i24 = icmp eq ptr %.01116.i23, null br i1 %.not17.i24, label %mi_segment_page_try_alloc_in_queue.exit32, label %.lr.ph.i25 @@ -2599,9 +2599,9 @@ mi_segment_page_try_alloc_in_queue.exit.thread: ; preds = %14, %5, %mi_segment 30: ; preds = %24, %21 %31 = getelementptr inbounds nuw i8, ptr %.01118.i26, i64 48 - %.011.i27 = load ptr, ptr %31, align 8, !tbaa !108 + %.011.i27 = load ptr, ptr %31, align 8, !tbaa !106 %.not.i28 = icmp eq ptr %.011.i27, null - br i1 %.not.i28, label %mi_segment_page_try_alloc_in_queue.exit32, label %21, !llvm.loop !109 + br i1 %.not.i28, label %mi_segment_page_try_alloc_in_queue.exit32, label %21, !llvm.loop !107 mi_segment_page_try_alloc_in_queue.exit32: ; preds = %30, %mi_segment_page_try_alloc_in_queue.exit.thread, %19, %28, %mi_segment_page_try_alloc_in_queue.exit %.1 = phi ptr [ %16, %mi_segment_page_try_alloc_in_queue.exit ], [ null, %mi_segment_page_try_alloc_in_queue.exit.thread ], [ %29, %28 ], [ null, %19 ], [ null, %30 ] @@ -2761,7 +2761,7 @@ mi_page_has_any_available.exit.thread.i.i: ; preds = %mi_page_has_any_ava %73 = add nuw i64 %.01727.i.i, 1 %74 = load i64, ptr %48, align 8, !tbaa !43 %75 = icmp ult i64 %73, %74 - br i1 %75, label %51, label %mi_segment_check_free.exit.i, !llvm.loop !110 + br i1 %75, label %51, label %mi_segment_check_free.exit.i, !llvm.loop !108 mi_segment_check_free.exit.i: ; preds = %72 %76 = icmp eq i64 %.121.i.i, %.119.i.i @@ -2808,7 +2808,7 @@ mi_segment_try_reclaim.exit.thread18: ; preds = %segment_count_is_wi mi_segment_try_reclaim.exit: ; preds = %81 %92 = call fastcc ptr @mi_segment_reclaim(ptr noundef nonnull %42, ptr noundef %0, i64 noundef range(i64 0, 1048577) %1, ptr noundef nonnull %7, ptr noundef %4) #7 - %.pre.pre = load i8, ptr %7, align 1, !tbaa !81, !range !37 + %.pre.pre = load i8, ptr %7, align 1, !range !37 %93 = trunc nuw i8 %.pre.pre to i1 call void @_mi_arena_field_cursor_done(ptr noundef nonnull %6) #8 call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %6) #9 @@ -2960,12 +2960,10 @@ attributes #9 = { nounwind } !99 = !{!6, !6, i64 0} !100 = !{!9, !9, i64 0} !101 = !{!5, !8, i64 16} -!102 = !{!4, !8, i64 17} -!103 = !{!4, !8, i64 18} -!104 = !{!69, !10, i64 32} -!105 = !{!4, !10, i64 112} -!106 = distinct !{!106, !40} +!102 = !{!69, !10, i64 32} +!103 = !{!4, !10, i64 112} +!104 = distinct !{!104, !40} +!105 = distinct !{!105, !40} +!106 = !{!13, !13, i64 0} !107 = distinct !{!107, !40} -!108 = !{!13, !13, i64 0} -!109 = distinct !{!109, !40} -!110 = distinct !{!110, !40} +!108 = distinct !{!108, !40} diff --git a/bench/minetest/optimized/CGUITTFont.ll b/bench/minetest/optimized/CGUITTFont.ll index 5d5e965458b..c7301df5ec1 100644 --- a/bench/minetest/optimized/CGUITTFont.ll +++ b/bench/minetest/optimized/CGUITTFont.ll @@ -598,7 +598,7 @@ for.body18.us: ; preds = %for.cond14.preheade if.then.us: ; preds = %for.body18.us store i16 -1, ptr %row.0162.us, align 2, !tbaa !42 - %.pre26 = load i8, ptr %arrayidx.us, align 1, !tbaa !41 + %.pre26 = load i8, ptr %arrayidx.us, align 1 %.pre27 = zext i8 %.pre26 to i32 br label %if.end.us @@ -6145,6 +6145,7 @@ if.then.i762: ; preds = %do.end call void @llvm.memset.p0.i64(ptr align 4 %174, i8 0, i64 %177, i1 false), !tbaa !30 %scevgep.i.i.i.i.i = getelementptr i8, ptr %174, i64 %177 store ptr %scevgep.i.i.i.i.i, ptr %_M_finish.i.i753, align 8, !tbaa !220 + %.pre72 = load ptr, ptr %tmp_positions, align 8 br label %if.then.i.i.i.i.i.i _ZNKSt6vectorIN3irr4core8vector2dIiEESaIS3_EE12_M_check_lenEmPKc.exit.i.i: ; preds = %if.then.i762 @@ -6252,7 +6253,7 @@ invoke.cont.i.i: ; preds = %if.then5.i br i1 %tobool.not.i.i.i.i.i.i, label %invoke.cont288, label %if.then.i.i.i.i.i.i if.then.i.i.i.i.i.i: ; preds = %.noexc701.thread56, %.noexc701, %.noexc701.thread - %189 = phi ptr [ %call5.i.i.i.i.i771, %.noexc701.thread56 ], [ %175, %.noexc701 ], [ %175, %.noexc701.thread ] + %189 = phi ptr [ %call5.i.i.i.i.i771, %.noexc701.thread56 ], [ %175, %.noexc701 ], [ %.pre72, %.noexc701.thread ] %add.ptr.idx.i = shl nuw nsw i64 %conv.i698, 3 call void @llvm.memmove.p0.p0.i64(ptr align 4 %189, ptr align 4 %add.ptr.i.i697, i64 %add.ptr.idx.i, i1 false) br label %invoke.cont288 @@ -11899,9 +11900,9 @@ if.then: ; preds = %while.end, %entry if.else: ; preds = %if.then %call.i = tail call noundef ptr @_ZSt18_Rb_tree_decrementPSt18_Rb_tree_node_base(ptr noundef nonnull %__y.0.lcssa61) #31 %_M_string_length.i.i.i.i.i27.phi.trans.insert = getelementptr inbounds nuw i8, ptr %call.i, i64 40 - %.pre = load i64, ptr %_M_string_length.i.i.i.i.i27.phi.trans.insert, align 8, !tbaa !101 + %.pre = load i64, ptr %_M_string_length.i.i.i.i.i27.phi.trans.insert, align 8 %_M_string_length.i10.i.i.i.i28.phi.trans.insert = getelementptr inbounds nuw i8, ptr %__k, i64 8 - %.pre1 = load i64, ptr %_M_string_length.i10.i.i.i.i28.phi.trans.insert, align 8, !tbaa !101 + %.pre1 = load i64, ptr %_M_string_length.i10.i.i.i.i28.phi.trans.insert, align 8 %.pre2 = tail call i64 @llvm.umin.i64(i64 %.pre1, i64 %.pre) br label %if.end12 diff --git a/bench/minetest/optimized/COpenGLDriver.ll b/bench/minetest/optimized/COpenGLDriver.ll index 9439983bfc2..1ac164893e1 100644 --- a/bench/minetest/optimized/COpenGLDriver.ll +++ b/bench/minetest/optimized/COpenGLDriver.ll @@ -1699,7 +1699,7 @@ for.body.lr.ph: ; preds = %_ZN3irr4core5arrayI %_M_finish.i.i.i206 = getelementptr inbounds nuw i8, ptr %this, i64 3952 %is_sorted.i = getelementptr inbounds nuw i8, ptr %this, i64 3968 %.pre = load ptr, ptr %_M_finish.i.i.i206, align 8, !tbaa !135 - %.pre12 = load ptr, ptr %_M_end_of_storage.i.i, align 8, !tbaa !162 + %.pre12 = load ptr, ptr %_M_end_of_storage.i.i, align 8 br label %for.body for.cond115.preheader: ; preds = %_ZN3irr4core5arrayINS_5video13COpenGLDriver14SUserClipPlaneEE9push_backEOS4_.exit, %_ZN3irr4core5arrayINS_5video13COpenGLDriver14SUserClipPlaneEE10reallocateEjb.exit @@ -1744,7 +1744,6 @@ for.cond115.preheader: ; preds = %_ZN3irr4core5arrayI br i1 %tobool127.not, label %if.end129, label %if.then128 for.body: ; preds = %_ZN3irr4core5arrayINS_5video13COpenGLDriver14SUserClipPlaneEE9push_backEOS4_.exit, %for.body.lr.ph - %.pre1314 = phi i8 [ %82, %for.body.lr.ph ], [ %.pre1315, %_ZN3irr4core5arrayINS_5video13COpenGLDriver14SUserClipPlaneEE9push_backEOS4_.exit ] %92 = phi i8 [ %82, %for.body.lr.ph ], [ %97, %_ZN3irr4core5arrayINS_5video13COpenGLDriver14SUserClipPlaneEE9push_backEOS4_.exit ] %93 = phi ptr [ %.pre12, %for.body.lr.ph ], [ %98, %_ZN3irr4core5arrayINS_5video13COpenGLDriver14SUserClipPlaneEE9push_backEOS4_.exit ] %94 = phi ptr [ %.pre, %for.body.lr.ph ], [ %99, %_ZN3irr4core5arrayINS_5video13COpenGLDriver14SUserClipPlaneEE9push_backEOS4_.exit ] @@ -1807,19 +1806,17 @@ _ZNSt6vectorIN3irr5video13COpenGLDriver14SUserClipPlaneESaIS3_EE11_S_relocateEPS if.then.i41.i.i.i.i: ; preds = %_ZNSt6vectorIN3irr5video13COpenGLDriver14SUserClipPlaneESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit40.i.i.i.i call void @_ZdlPv(ptr noundef nonnull %95) #26 - %.pre13.pre = load i8, ptr %MaxUserClipPlanes, align 4, !tbaa !154 br label %_ZNSt6vectorIN3irr5video13COpenGLDriver14SUserClipPlaneESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i _ZNSt6vectorIN3irr5video13COpenGLDriver14SUserClipPlaneESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i: ; preds = %if.then.i41.i.i.i.i, %_ZNSt6vectorIN3irr5video13COpenGLDriver14SUserClipPlaneESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit40.i.i.i.i - %.pre13 = phi i8 [ %.pre13.pre, %if.then.i41.i.i.i.i ], [ %.pre1314, %_ZNSt6vectorIN3irr5video13COpenGLDriver14SUserClipPlaneESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit40.i.i.i.i ] store ptr %call5.i.i.i.i.i.i.i, ptr %UserClipPlanes, align 8, !tbaa !163 store ptr %incdec.ptr.i.i.i.i, ptr %_M_finish.i.i.i206, align 8, !tbaa !164 %add.ptr19.i.i.i.i = getelementptr inbounds nuw %"struct.irr::video::COpenGLDriver::SUserClipPlane", ptr %call5.i.i.i.i.i.i.i, i64 %cond.i.i.i.i.i store ptr %add.ptr19.i.i.i.i, ptr %_M_end_of_storage.i.i, align 8, !tbaa !162 + %.pre13 = load i8, ptr %MaxUserClipPlanes, align 4 br label %_ZN3irr4core5arrayINS_5video13COpenGLDriver14SUserClipPlaneEE9push_backEOS4_.exit _ZN3irr4core5arrayINS_5video13COpenGLDriver14SUserClipPlaneEE9push_backEOS4_.exit: ; preds = %_ZNSt6vectorIN3irr5video13COpenGLDriver14SUserClipPlaneESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i, %if.then.i.i.i207 - %.pre1315 = phi i8 [ %.pre1314, %if.then.i.i.i207 ], [ %.pre13, %_ZNSt6vectorIN3irr5video13COpenGLDriver14SUserClipPlaneESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i ] %97 = phi i8 [ %92, %if.then.i.i.i207 ], [ %.pre13, %_ZNSt6vectorIN3irr5video13COpenGLDriver14SUserClipPlaneESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i ] %98 = phi ptr [ %93, %if.then.i.i.i207 ], [ %add.ptr19.i.i.i.i, %_ZNSt6vectorIN3irr5video13COpenGLDriver14SUserClipPlaneESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i ] %99 = phi ptr [ %incdec.ptr.i.i.i, %if.then.i.i.i207 ], [ %incdec.ptr.i.i.i.i, %_ZNSt6vectorIN3irr5video13COpenGLDriver14SUserClipPlaneESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i ] @@ -13554,7 +13551,7 @@ if.then.i979: ; preds = %if.end449 for.cond.cleanup.i: ; preds = %for.body.i, %if.then.i979 store i8 0, ptr %ColorMaskInvalid.i, align 8, !tbaa !426 %bf.load454.pre = load i16, ptr %ColorMask, align 2 - %.pre25 = load ptr, ptr %CacheHandler450, align 8, !tbaa !6 + %.pre25 = load ptr, ptr %CacheHandler450, align 8 br label %_ZN3irr5video23COpenGLCoreCacheHandlerINS0_13COpenGLDriverENS0_18COpenGLCoreTextureIS2_EEE12setColorMaskEh.exit for.body.i: ; preds = %if.then.i979, %for.body.i @@ -14436,7 +14433,7 @@ if.end606: ; preds = %if.else604, %if.the if.end606.if.then611_crit_edge: ; preds = %if.end606 %Thickness631.phi.trans.insert = getelementptr inbounds nuw i8, ptr %material, i64 156 - %.pre26 = load float, ptr %Thickness631.phi.trans.insert, align 4, !tbaa !120 + %.pre26 = load float, ptr %Thickness631.phi.trans.insert, align 4 br label %if.then611 lor.lhs.false608: ; preds = %if.end606, %lor.lhs.false564 @@ -15338,7 +15335,7 @@ if.end182.sink.split: ; preds = %if.then170, %cond.e store i32 %.sink592, ptr %MinFilter179, align 4, !tbaa !438 %MipMapStatus180 = getelementptr inbounds nuw i8, ptr %5, i64 236 store i8 %.sink591, ptr %MipMapStatus180, align 4, !tbaa !439 - %.pre580.pre = load i8, ptr %IsCached111, align 1, !tbaa !435, !range !131 + %.pre580.pre = load i8, ptr %IsCached111, align 1, !range !131 br label %if.end182 if.end182: ; preds = %if.end182.sink.split, %lor.lhs.false160, %lor.lhs.false132 diff --git a/bench/ncnn/optimized/groupnorm_x86.ll b/bench/ncnn/optimized/groupnorm_x86.ll index 4607eebea54..bb76ef08c7d 100644 --- a/bench/ncnn/optimized/groupnorm_x86.ll +++ b/bench/ncnn/optimized/groupnorm_x86.ll @@ -267,7 +267,7 @@ define internal void @_ZNK4ncnn13GroupNorm_x8615forward_inplaceERNS_3MatERKNS_6O %23 = getelementptr inbounds nuw i8, ptr %2, i64 312 %24 = getelementptr inbounds nuw i8, ptr %2, i64 216 %25 = getelementptr inbounds nuw i8, ptr %2, i64 220 - %.pre = load i32, ptr %4, align 4, !tbaa !37 + %.pre = load i32, ptr %4, align 4 br label %26 26: ; preds = %.lr.ph229, %_ZN4ncnn3MatD2Ev.exit106 @@ -717,7 +717,7 @@ define internal void @_ZNK4ncnn13GroupNorm_x8615forward_inplaceERNS_3MatERKNS_6O br i1 %98, label %.lr.ph209.preheader, label %_ZN4ncnn3MatD2Ev.exit .lr.ph209.preheader: ; preds = %.preheader160 - %.pre = load i32, ptr %6, align 4, !tbaa !37 + %.pre = load i32, ptr %6, align 4 br label %.lr.ph209 .lr.ph209: ; preds = %.lr.ph209.preheader, %._crit_edge203 @@ -879,12 +879,10 @@ define internal void @_ZNK4ncnn13GroupNorm_x8615forward_inplaceERNS_3MatERKNS_6O %28 = getelementptr inbounds nuw i8, ptr %2, i64 312 %29 = getelementptr inbounds nuw i8, ptr %2, i64 216 %30 = getelementptr inbounds nuw i8, ptr %2, i64 220 - %.pre = load i32, ptr %4, align 4, !tbaa !37 - %.pre339.pre = load i32, ptr %5, align 4, !tbaa !37 + %.pre = load i32, ptr %4, align 4 br label %31 31: ; preds = %.lr.ph314, %_ZN4ncnn3MatD2Ev.exit - %.pre339 = phi i32 [ %.pre339.pre, %.lr.ph314 ], [ %.pre339340, %_ZN4ncnn3MatD2Ev.exit ] %32 = phi i32 [ %.pre, %.lr.ph314 ], [ %127, %_ZN4ncnn3MatD2Ev.exit ] %.087312 = phi i32 [ %19, %.lr.ph314 ], [ %128, %_ZN4ncnn3MatD2Ev.exit ] %33 = mul nsw i32 %32, %.087312 @@ -916,6 +914,7 @@ define internal void @_ZNK4ncnn13GroupNorm_x8615forward_inplaceERNS_3MatERKNS_6O %59 = mul i64 %58, %39 %60 = getelementptr inbounds nuw i8, ptr %57, i64 %59 %61 = icmp sgt i32 %32, 0 + %.pre339 = load i32, ptr %5, align 4 br i1 %61, label %_ZN4ncnn3MatD2Ev.exit110.lr.ph, label %._crit_edge272.thread ._crit_edge272.thread: ; preds = %31 @@ -1062,14 +1061,12 @@ _ZN4ncnn3MatD2Ev.exit109: ; preds = %._crit_edge272, %._ br i1 %exitcond333.not, label %._crit_edge293, label %_ZN4ncnn3MatD2Ev.exit109, !llvm.loop !101 _ZN4ncnn3MatD2Ev.exit: ; preds = %._crit_edge305, %._crit_edge293 - %.pre339340 = phi i32 [ %.pre339, %._crit_edge293 ], [ %.pre339341, %._crit_edge305 ] %127 = phi i32 [ %32, %._crit_edge293 ], [ %162, %._crit_edge305 ] %128 = add i32 %.087312, 1 %exitcond338.not = icmp eq i32 %.087312, %18 br i1 %exitcond338.not, label %._crit_edge315, label %31 129: ; preds = %.lr.ph310, %._crit_edge305 - %.pre339342 = phi i32 [ %.pre339, %.lr.ph310 ], [ %.pre339341, %._crit_edge305 ] %130 = phi i32 [ %.pre339, %.lr.ph310 ], [ %145, %._crit_edge305 ] %indvars.iv335 = phi i64 [ 0, %.lr.ph310 ], [ %indvars.iv.next336, %._crit_edge305 ] %.085307 = phi ptr [ %60, %.lr.ph310 ], [ %161, %._crit_edge305 ] @@ -1099,7 +1096,6 @@ _ZN4ncnn3MatD2Ev.exit108: ; preds = %132, %129 br i1 %144, label %.lr.ph298, label %.preheader .preheader: ; preds = %.lr.ph298, %_ZN4ncnn3MatD2Ev.exit108 - %.pre339341 = phi i32 [ %.pre339342, %_ZN4ncnn3MatD2Ev.exit108 ], [ %153, %.lr.ph298 ] %145 = phi i32 [ %130, %_ZN4ncnn3MatD2Ev.exit108 ], [ %153, %.lr.ph298 ] %.080.lcssa = phi ptr [ %139, %_ZN4ncnn3MatD2Ev.exit108 ], [ %150, %.lr.ph298 ] %.0.lcssa = phi i32 [ 0, %_ZN4ncnn3MatD2Ev.exit108 ], [ %151, %.lr.ph298 ] diff --git a/bench/ncnn/optimized/groupnorm_x86_avx.ll b/bench/ncnn/optimized/groupnorm_x86_avx.ll index b6752bff219..4125edc54e1 100644 --- a/bench/ncnn/optimized/groupnorm_x86_avx.ll +++ b/bench/ncnn/optimized/groupnorm_x86_avx.ll @@ -267,7 +267,7 @@ define internal void @_ZNK4ncnn17GroupNorm_x86_avx15forward_inplaceERNS_3MatERKN %23 = getelementptr inbounds nuw i8, ptr %2, i64 312 %24 = getelementptr inbounds nuw i8, ptr %2, i64 216 %25 = getelementptr inbounds nuw i8, ptr %2, i64 220 - %.pre = load i32, ptr %4, align 4, !tbaa !37 + %.pre = load i32, ptr %4, align 4 br label %26 26: ; preds = %.lr.ph322, %_ZN4ncnn3MatD2Ev.exit146 @@ -899,7 +899,7 @@ define internal void @_ZNK4ncnn17GroupNorm_x86_avx15forward_inplaceERNS_3MatERKN br i1 %132, label %.lr.ph278.preheader, label %_ZN4ncnn3MatD2Ev.exit .lr.ph278.preheader: ; preds = %.preheader204 - %.pre = load i32, ptr %6, align 4, !tbaa !37 + %.pre = load i32, ptr %6, align 4 br label %.lr.ph278 .lr.ph278: ; preds = %.lr.ph278.preheader, %._crit_edge272 @@ -1113,12 +1113,10 @@ define internal void @_ZNK4ncnn17GroupNorm_x86_avx15forward_inplaceERNS_3MatERKN %28 = getelementptr inbounds nuw i8, ptr %2, i64 312 %29 = getelementptr inbounds nuw i8, ptr %2, i64 216 %30 = getelementptr inbounds nuw i8, ptr %2, i64 220 - %.pre = load i32, ptr %4, align 4, !tbaa !37 - %.pre408.pre = load i32, ptr %5, align 4, !tbaa !37 + %.pre = load i32, ptr %4, align 4 br label %31 31: ; preds = %.lr.ph375, %_ZN4ncnn3MatD2Ev.exit - %.pre408 = phi i32 [ %.pre408.pre, %.lr.ph375 ], [ %.pre408409, %_ZN4ncnn3MatD2Ev.exit ] %32 = phi i32 [ %.pre, %.lr.ph375 ], [ %165, %_ZN4ncnn3MatD2Ev.exit ] %.0109373 = phi i32 [ %19, %.lr.ph375 ], [ %166, %_ZN4ncnn3MatD2Ev.exit ] %33 = mul nsw i32 %32, %.0109373 @@ -1150,6 +1148,7 @@ define internal void @_ZNK4ncnn17GroupNorm_x86_avx15forward_inplaceERNS_3MatERKN %59 = mul i64 %58, %39 %60 = getelementptr inbounds nuw i8, ptr %57, i64 %59 %61 = icmp sgt i32 %32, 0 + %.pre408 = load i32, ptr %5, align 4 br i1 %61, label %_ZN4ncnn3MatD2Ev.exit137.lr.ph, label %._crit_edge316.thread ._crit_edge316.thread: ; preds = %31 @@ -1358,14 +1357,12 @@ _ZN4ncnn3MatD2Ev.exit136: ; preds = %._crit_edge316, %._ br i1 %exitcond402.not, label %._crit_edge346, label %_ZN4ncnn3MatD2Ev.exit136, !llvm.loop !111 _ZN4ncnn3MatD2Ev.exit: ; preds = %._crit_edge366, %._crit_edge346 - %.pre408409 = phi i32 [ %.pre408, %._crit_edge346 ], [ %.pre408410, %._crit_edge366 ] %165 = phi i32 [ %32, %._crit_edge346 ], [ %216, %._crit_edge366 ] %166 = add i32 %.0109373, 1 %exitcond407.not = icmp eq i32 %.0109373, %18 br i1 %exitcond407.not, label %._crit_edge376, label %31 167: ; preds = %.lr.ph371, %._crit_edge366 - %.pre408412 = phi i32 [ %.pre408, %.lr.ph371 ], [ %.pre408410, %._crit_edge366 ] %168 = phi i32 [ %.pre408, %.lr.ph371 ], [ %199, %._crit_edge366 ] %indvars.iv404 = phi i64 [ 0, %.lr.ph371 ], [ %indvars.iv.next405, %._crit_edge366 ] %.0107368 = phi ptr [ %60, %.lr.ph371 ], [ %215, %._crit_edge366 ] @@ -1409,7 +1406,6 @@ _ZN4ncnn3MatD2Ev.exit: ; preds = %._crit_edge366, %._ br i1 %191, label %.lr.ph352, label %._crit_edge353, !llvm.loop !112 ._crit_edge353: ; preds = %.lr.ph352, %176 - %.pre408411 = phi i32 [ %.pre408412, %176 ], [ %190, %.lr.ph352 ] %192 = phi i32 [ %168, %176 ], [ %190, %.lr.ph352 ] %.0101.lcssa = phi ptr [ %178, %176 ], [ %187, %.lr.ph352 ] %.0.lcssa = phi i32 [ 0, %176 ], [ %188, %.lr.ph352 ] @@ -1422,7 +1418,6 @@ _ZN4ncnn3MatD2Ev.exit: ; preds = %._crit_edge366, %._ br i1 %198, label %.lr.ph359, label %.preheader .preheader: ; preds = %.lr.ph359, %._crit_edge353 - %.pre408410 = phi i32 [ %.pre408411, %._crit_edge353 ], [ %207, %.lr.ph359 ] %199 = phi i32 [ %192, %._crit_edge353 ], [ %207, %.lr.ph359 ] %.1102.lcssa = phi ptr [ %.0101.lcssa, %._crit_edge353 ], [ %204, %.lr.ph359 ] %.1.lcssa = phi i32 [ %.0.lcssa, %._crit_edge353 ], [ %205, %.lr.ph359 ] diff --git a/bench/ninja/optimized/build_log.ll b/bench/ninja/optimized/build_log.ll index 3cbc0fe39b4..d4407c84246 100644 --- a/bench/ninja/optimized/build_log.ll +++ b/bench/ninja/optimized/build_log.ll @@ -271,7 +271,7 @@ _ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i.i _ZNKSt14default_deleteIN8BuildLog8LogEntryEEclEPS1_.exit.i.i.i.i: ; preds = %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.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 tail call void @_ZdlPvm(ptr noundef nonnull %26, i64 noundef 56) #28 - %.pre.i.i = load i32, ptr %17, align 8, !tbaa !29 + %.pre.i.i = load i32, ptr %17, align 8 br label %_ZNSt4pairI11StringPieceSt10unique_ptrIN8BuildLog8LogEntryESt14default_deleteIS3_EEED2Ev.exit.i.i _ZNSt4pairI11StringPieceSt10unique_ptrIN8BuildLog8LogEntryESt14default_deleteIS3_EEED2Ev.exit.i.i: ; preds = %_ZNKSt14default_deleteIN8BuildLog8LogEntryEEclEPS1_.exit.i.i.i.i, %21 @@ -1070,7 +1070,7 @@ _ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i: store ptr %52, ptr %35, align 8, !tbaa !10 %58 = load i64, ptr %20, align 8, !tbaa !14 store i64 %58, ptr %51, align 8, !tbaa !14 - %.pre = load i64, ptr %21, align 8, !tbaa !13 + %.pre = load i64, ptr %21, align 8 br label %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit: ; preds = %54, %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i @@ -1262,9 +1262,9 @@ _ZN7emhash87HashMapI11StringPieceSt10unique_ptrIN8BuildLog8LogEntryESt14default_ ._crit_edge.i: ; preds = %_ZN7emhash87HashMapI11StringPieceSt10unique_ptrIN8BuildLog8LogEntryESt14default_deleteIS4_EESt4hashIS1_ESt8equal_toIS1_ESaISt4pairIS1_S7_EENS_13DefaultPolicyEE17check_expand_needEv.exit %.phi.trans.insert.i = getelementptr inbounds nuw %"struct.emhash8::HashMap>::Index", ptr %22, i64 %23, i32 1 - %.pre.i = load i32, ptr %.phi.trans.insert.i, align 4, !tbaa !65 + %.pre.i = load i32, ptr %.phi.trans.insert.i, align 4 %.phi.trans.insert13.i = getelementptr inbounds nuw i8, ptr %0, i64 8 - %.pre14.i = load ptr, ptr %.phi.trans.insert13.i, align 8, !tbaa !36 + %.pre14.i = load ptr, ptr %.phi.trans.insert13.i, align 8 br label %_ZN7emhash87HashMapI11StringPieceSt10unique_ptrIN8BuildLog8LogEntryESt14default_deleteIS4_EESt4hashIS1_ESt8equal_toIS1_ESaISt4pairIS1_S7_EENS_13DefaultPolicyEE9do_insertIRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES7_EESC_INSG_8iteratorEbEOT_OT0_.exit 27: ; preds = %_ZN7emhash87HashMapI11StringPieceSt10unique_ptrIN8BuildLog8LogEntryESt14default_deleteIS4_EESt4hashIS1_ESt8equal_toIS1_ESaISt4pairIS1_S7_EENS_13DefaultPolicyEE17check_expand_needEv.exit @@ -1764,7 +1764,7 @@ _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2EOS4_.exit.thread: ; pred _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2EOS4_.exit: ; preds = %159 %166 = load i64, ptr %66, align 8, !tbaa !14 store i64 %166, ptr %70, align 8, !tbaa !14 - %.pre = load i64, ptr %67, align 8, !tbaa !13 + %.pre = load i64, ptr %67, align 8 store ptr %66, ptr %12, align 8, !tbaa !10 store i64 0, ptr %67, align 8, !tbaa !13 store i8 0, ptr %66, align 8, !tbaa !14 @@ -2259,8 +2259,8 @@ _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit: ; preds = %_ZNKS 49: ; preds = %._crit_edge.i.i.i, %.noexc97 %50 = phi ptr [ %45, %.noexc97 ], [ %40, %._crit_edge.i.i.i ] call void @llvm.memcpy.p0.p0.i64(ptr align 1 %50, ptr nonnull align 1 %1, i64 %2, i1 false) - %.pre = load i64, ptr %8, align 8, !tbaa !15, !noalias !87 - %.pre147 = load ptr, ptr %13, align 8, !tbaa !10, !alias.scope !87 + %.pre = load i64, ptr %8, align 8 + %.pre147 = load ptr, ptr %13, align 8 br label %_ZNK11StringPiece8AsStringB5cxx11Ev.exit _ZNK11StringPiece8AsStringB5cxx11Ev.exit.thread: ; preds = %39 @@ -2278,10 +2278,9 @@ _ZNK11StringPiece8AsStringB5cxx11Ev.exit: ; preds = %47, %49 %56 = getelementptr inbounds nuw i8, ptr %53, i64 %54 store i8 0, ptr %56, align 1, !tbaa !14 call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %8) #27, !noalias !87 - %.pre148 = load i64, ptr %55, align 8, !tbaa !13, !noalias !90 + %.pre148 = load i64, ptr %55, align 8 %57 = add i64 %.pre148, -4611686018427387897 %58 = icmp ult i64 %57, 7 - call void @llvm.experimental.noalias.scope.decl(metadata !90) %59 = getelementptr inbounds nuw i8, ptr %13, i64 8 br i1 %58, label %60, label %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6appendEPKc.exit.i @@ -2319,7 +2318,7 @@ _ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i98 %72 = load i64, ptr %65, align 8, !tbaa !14 store i64 %72, ptr %63, align 8, !tbaa !14, !alias.scope !90 %.phi.trans.insert.i = getelementptr inbounds nuw i8, ptr %62, i64 8 - %.pre.i = load i64, ptr %.phi.trans.insert.i, align 8, !tbaa !13 + %.pre.i = load i64, ptr %.phi.trans.insert.i, align 8 br label %73 73: ; preds = %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i98, %67 @@ -2496,9 +2495,9 @@ _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit110: ; preds = %_Z br label %._crit_edge.us.us ._crit_edge.us.us.loopexit: ; preds = %136 - %.pre149 = load ptr, ptr %133, align 8, !tbaa !37 + %.pre149 = load ptr, ptr %133, align 8 %.phi.trans.insert150 = getelementptr inbounds nuw i8, ptr %.pre149, i64 48 - %.pre151 = load i64, ptr %.phi.trans.insert150, align 8, !tbaa !21 + %.pre151 = load i64, ptr %.phi.trans.insert150, align 8 br label %._crit_edge.us.us ._crit_edge.us.us: ; preds = %._crit_edge.us.us.loopexit, %144 @@ -3031,7 +3030,7 @@ define linkonce_odr dso_local void @_ZN7emhash87HashMapI11StringPieceSt10unique_ %31 = load i32, ptr %3, align 8, !tbaa !29 %.not.i = icmp eq i32 %31, 0 %.phi.trans.insert.i = getelementptr inbounds nuw i8, ptr %0, i64 8 - %.pre.i = load ptr, ptr %.phi.trans.insert.i, align 8, !tbaa !36 + %.pre.i = load ptr, ptr %.phi.trans.insert.i, align 8 br i1 %.not.i, label %_ZN7emhash87HashMapI11StringPieceSt10unique_ptrIN8BuildLog8LogEntryESt14default_deleteIS4_EESt4hashIS1_ESt8equal_toIS1_ESaISt4pairIS1_S7_EENS_13DefaultPolicyEE7rebuildEj.exit, label %_ZNSt4pairI11StringPieceSt10unique_ptrIN8BuildLog8LogEntryESt14default_deleteIS3_EEED2Ev.exit.lr.ph.i _ZNSt4pairI11StringPieceSt10unique_ptrIN8BuildLog8LogEntryESt14default_deleteIS3_EEED2Ev.exit.lr.ph.i: ; preds = %14 @@ -3138,7 +3137,7 @@ define linkonce_odr dso_local noundef i32 @_ZN7emhash87HashMapI11StringPieceSt10 26: ; preds = %12 %.not20 = icmp eq i32 %10, %6 - %.pre = load ptr, ptr %0, align 8, !tbaa !41 + %.pre = load ptr, ptr %0, align 8 br i1 %.not20, label %_ZNK7emhash87HashMapI11StringPieceSt10unique_ptrIN8BuildLog8LogEntryESt14default_deleteIS4_EESt4hashIS1_ESt8equal_toIS1_ESaISt4pairIS1_S7_EENS_13DefaultPolicyEE16find_last_bucketEj.exit, label %27, !prof !79 27: ; preds = %26 @@ -3503,7 +3502,7 @@ define linkonce_odr dso_local noundef i32 @_ZN7emhash87HashMapI11StringPieceSt10 ._ZNKSt8equal_toI11StringPieceEclERKS0_S3_.exit.thread_crit_edge: ; preds = %16 %.phi.trans.insert = zext i32 %19 to i64 %.sroa.2.0..sroa_idx.i.i.phi.trans.insert = getelementptr inbounds nuw %"struct.std::pair", ptr %13, i64 %.phi.trans.insert, i32 0, i32 1 - %.sroa.2.0.copyload.i.i.pre = load i64, ptr %.sroa.2.0..sroa_idx.i.i.phi.trans.insert, align 8, !tbaa !15 + %.sroa.2.0.copyload.i.i.pre = load i64, ptr %.sroa.2.0..sroa_idx.i.i.phi.trans.insert, align 8 br label %_ZNKSt8equal_toI11StringPieceEclERKS0_S3_.exit.thread 24: ; preds = %16 @@ -4054,7 +4053,7 @@ _ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i.i _ZNKSt14default_deleteIN8BuildLog8LogEntryEEclEPS1_.exit.i.i: ; preds = %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i.i.i.i.i, %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i.i.i.i.i tail call void @_ZdlPvm(ptr noundef nonnull %96, i64 noundef 56) #28 - %.pre = load ptr, ptr %0, align 8, !tbaa !41 + %.pre = load ptr, ptr %0, align 8 br label %_ZNSt4pairI11StringPieceSt10unique_ptrIN8BuildLog8LogEntryESt14default_deleteIS3_EEED2Ev.exit _ZNSt4pairI11StringPieceSt10unique_ptrIN8BuildLog8LogEntryESt14default_deleteIS3_EEED2Ev.exit: ; preds = %91, %_ZNKSt14default_deleteIN8BuildLog8LogEntryEEclEPS1_.exit.i.i diff --git a/bench/node/optimized/libnode.logstream.ll b/bench/node/optimized/libnode.logstream.ll index fc77b0118e6..cbf8d167a6a 100644 --- a/bench/node/optimized/libnode.logstream.ll +++ b/bench/node/optimized/libnode.logstream.ll @@ -352,7 +352,7 @@ if.else: ; preds = %while.body br i1 %cmp2.i, label %while.body.lr.ph.i, label %_ZN4node4quic9LogStream12ensure_spaceEm.exit while.body.lr.ph.i: ; preds = %if.else - %.pre.i = load ptr, ptr %_M_start.i.i.i, align 8, !noalias !8 + %.pre.i = load ptr, ptr %_M_start.i.i.i, align 8 %.pre3.i = load ptr, ptr %_M_last.i.i, align 8 br label %while.body.i @@ -392,7 +392,7 @@ _ZNSt5dequeIN4node4quic9LogStream5ChunkESaIS3_EE9pop_frontEv.exit.i: ; preds = % store ptr %storemerge.i.i, ptr %_M_start.i.i.i, align 8 %add.i11 = add i64 %19, %10 %cmp.i12 = icmp ugt i64 %add.i11, 10240 - br i1 %cmp.i12, label %while.body.i, label %_ZN4node4quic9LogStream12ensure_spaceEm.exit.loopexit, !llvm.loop !11 + br i1 %cmp.i12, label %while.body.i, label %_ZN4node4quic9LogStream12ensure_spaceEm.exit.loopexit, !llvm.loop !8 _ZN4node4quic9LogStream12ensure_spaceEm.exit.loopexit: ; preds = %_ZNSt5dequeIN4node4quic9LogStream5ChunkESaIS3_EE9pop_frontEv.exit.i %.pre = load i64, ptr %1, align 8 @@ -423,7 +423,7 @@ if.else.i.i18: ; preds = %_ZN4node4quic9LogSt if.end15: ; preds = %if.else.i.i18, %if.then.i.i16, %_ZN4node14StreamResource8EmitReadElRK8uv_buf_t.exit %cmp3.not = icmp eq i64 %sub, 0 - br i1 %cmp3.not, label %while.end, label %while.body, !llvm.loop !13 + br i1 %cmp3.not, label %while.end, label %while.body, !llvm.loop !10 while.end: ; preds = %if.end15, %if.end %ended_ = getelementptr inbounds nuw i8, ptr %this, i64 129 @@ -468,7 +468,7 @@ while.body.lr.ph: ; preds = %entry %_M_last.i = getelementptr inbounds nuw i8, ptr %this, i64 168 %_M_first.i.i = getelementptr inbounds nuw i8, ptr %this, i64 160 %_M_node.i.i = getelementptr inbounds nuw i8, ptr %this, i64 176 - %.pre = load ptr, ptr %_M_start.i.i, align 8, !noalias !14 + %.pre = load ptr, ptr %_M_start.i.i, align 8 %.pre3 = load ptr, ptr %_M_last.i, align 8 br label %while.body @@ -508,7 +508,7 @@ _ZNSt5dequeIN4node4quic9LogStream5ChunkESaIS3_EE9pop_frontEv.exit: ; preds = %if store ptr %storemerge.i, ptr %_M_start.i.i, align 8 %add = add i64 %8, %amt %cmp = icmp ugt i64 %add, 10240 - br i1 %cmp, label %while.body, label %while.end, !llvm.loop !11 + br i1 %cmp, label %while.body, label %while.end, !llvm.loop !8 while.end: ; preds = %_ZNSt5dequeIN4node4quic9LogStream5ChunkESaIS3_EE9pop_frontEv.exit, %entry ret void @@ -542,12 +542,12 @@ entry: if.end: ; preds = %entry %_M_start.i = getelementptr inbounds nuw i8, ptr %this, i64 152 - %1 = load ptr, ptr %_M_start.i, align 8, !noalias !17 + %1 = load ptr, ptr %_M_start.i, align 8, !noalias !11 %_M_first3.i.i = getelementptr inbounds nuw i8, ptr %this, i64 160 %_M_last4.i.i = getelementptr inbounds nuw i8, ptr %this, i64 168 %_M_node5.i.i = getelementptr inbounds nuw i8, ptr %this, i64 176 %_M_finish.i = getelementptr inbounds nuw i8, ptr %this, i64 184 - %2 = load ptr, ptr %_M_finish.i, align 8, !noalias !20 + %2 = load ptr, ptr %_M_finish.i, align 8, !noalias !14 %_M_first3.i.i4 = getelementptr inbounds nuw i8, ptr %this, i64 192 %_M_last4.i.i6 = getelementptr inbounds nuw i8, ptr %this, i64 200 %_M_node5.i.i8 = getelementptr inbounds nuw i8, ptr %this, i64 208 @@ -555,8 +555,8 @@ if.end: ; preds = %entry br i1 %cmp.i.i.not17, label %for.end, label %for.body.lr.ph for.body.lr.ph: ; preds = %if.end - %3 = load ptr, ptr %_M_node5.i.i, align 8, !noalias !17 - %4 = load ptr, ptr %_M_last4.i.i, align 8, !noalias !17 + %3 = load ptr, ptr %_M_node5.i.i, align 8, !noalias !11 + %4 = load ptr, ptr %_M_last4.i.i, align 8, !noalias !11 %bytes_read_.i = getelementptr inbounds nuw i8, ptr %this, i64 72 %listener_.i = getelementptr inbounds nuw i8, ptr %this, i64 64 br label %for.body @@ -600,16 +600,16 @@ _ZNSt15_Deque_iteratorIN4node4quic9LogStream5ChunkERS3_PS3_EppEv.exit: ; preds = br i1 %cmp.i.i.not, label %for.end.loopexit, label %for.body for.end.loopexit: ; preds = %_ZNSt15_Deque_iteratorIN4node4quic9LogStream5ChunkERS3_PS3_EppEv.exit - %.pre = load ptr, ptr %_M_start.i, align 8, !noalias !23 + %.pre = load ptr, ptr %_M_start.i, align 8 br label %for.end for.end: ; preds = %for.end.loopexit, %if.end %10 = phi ptr [ %.pre, %for.end.loopexit ], [ %1, %if.end ] %total_ = getelementptr inbounds nuw i8, ptr %this, i64 120 store i64 0, ptr %total_, align 8 - %11 = load ptr, ptr %_M_first3.i.i, align 8, !noalias !23 - %12 = load ptr, ptr %_M_last4.i.i, align 8, !noalias !23 - %13 = load ptr, ptr %_M_node5.i.i, align 8, !noalias !23 + %11 = load ptr, ptr %_M_first3.i.i, align 8, !noalias !17 + %12 = load ptr, ptr %_M_last4.i.i, align 8, !noalias !17 + %13 = load ptr, ptr %_M_node5.i.i, align 8, !noalias !17 %14 = load ptr, ptr %_M_node5.i.i8, align 8 %cmp3.i.i.i = icmp ult ptr %13, %14 br i1 %cmp3.i.i.i, label %for.body.i.i.i, label %_ZNSt5dequeIN4node4quic9LogStream5ChunkESaIS3_EE5clearEv.exit @@ -620,7 +620,7 @@ for.body.i.i.i: ; preds = %for.end, %for.body. %15 = load ptr, ptr %__n.04.i.i.i, align 8 tail call void @_ZdlPv(ptr noundef %15) #21 %cmp.i.i.i = icmp ult ptr %__n.04.i.i.i, %14 - br i1 %cmp.i.i.i, label %for.body.i.i.i, label %_ZNSt5dequeIN4node4quic9LogStream5ChunkESaIS3_EE5clearEv.exit, !llvm.loop !26 + br i1 %cmp.i.i.i, label %for.body.i.i.i, label %_ZNSt5dequeIN4node4quic9LogStream5ChunkESaIS3_EE5clearEv.exit, !llvm.loop !20 _ZNSt5dequeIN4node4quic9LogStream5ChunkESaIS3_EE5clearEv.exit: ; preds = %for.body.i.i.i, %for.end store ptr %10, ptr %_M_finish.i, align 8 @@ -824,13 +824,13 @@ _ZNSt10unique_ptrIN2v813EmbedderGraph4NodeESt14default_deleteIS2_EED2Ev.exit.i.i if.end.i.i.i: ; preds = %_ZNSt10unique_ptrIN2v813EmbedderGraph4NodeESt14default_deleteIS2_EED2Ev.exit.i.i %_M_first3.i.i.i.i.i.i.i = getelementptr inbounds nuw i8, ptr %tracker, i64 72 - %7 = load ptr, ptr %_M_first3.i.i.i.i.i.i.i, align 8, !noalias !27 + %7 = load ptr, ptr %_M_first3.i.i.i.i.i.i.i, align 8, !noalias !21 %cmp.i.i.i1.i.i.i = icmp eq ptr %5, %7 br i1 %cmp.i.i.i1.i.i.i, label %_ZNK4node13MemoryTracker11CurrentNodeEv.exit.i.i, label %_ZNK4node13MemoryTracker11CurrentNodeEv.exit.thread.i.i _ZNK4node13MemoryTracker11CurrentNodeEv.exit.i.i: ; preds = %if.end.i.i.i %_M_node5.i.i.i.i.i.i.i = getelementptr inbounds nuw i8, ptr %tracker, i64 88 - %8 = load ptr, ptr %_M_node5.i.i.i.i.i.i.i, align 8, !noalias !27 + %8 = load ptr, ptr %_M_node5.i.i.i.i.i.i.i, align 8, !noalias !21 %add.ptr.i.i.i.i.i.i = getelementptr inbounds i8, ptr %8, i64 -8 %9 = load ptr, ptr %add.ptr.i.i.i.i.i.i, align 8 %incdec.ptr.i.i.i.i.i.i = getelementptr inbounds nuw i8, ptr %9, i64 504 @@ -887,7 +887,7 @@ for.body.i.i.i: ; preds = %if.then.i.i, %for.b tail call void @_ZdlPv(ptr noundef %3) #21 %incdec.ptr.i.i.i = getelementptr inbounds nuw i8, ptr %__n.04.i.i.i, i64 8 %cmp.i.i.i = icmp ult ptr %__n.04.i.i.i, %2 - br i1 %cmp.i.i.i, label %for.body.i.i.i, label %_ZNSt11_Deque_baseIN4node4quic9LogStream5ChunkESaIS3_EE16_M_destroy_nodesEPPS3_S7_.exit.loopexit.i.i, !llvm.loop !26 + br i1 %cmp.i.i.i, label %for.body.i.i.i, label %_ZNSt11_Deque_baseIN4node4quic9LogStream5ChunkESaIS3_EE16_M_destroy_nodesEPPS3_S7_.exit.loopexit.i.i, !llvm.loop !20 _ZNSt11_Deque_baseIN4node4quic9LogStream5ChunkESaIS3_EE16_M_destroy_nodesEPPS3_S7_.exit.loopexit.i.i: ; preds = %for.body.i.i.i %.pre.i.i = load ptr, ptr %buffer_, align 8 @@ -933,7 +933,7 @@ for.body.i.i.i.i: ; preds = %if.then.i.i.i, %for tail call void @_ZdlPv(ptr noundef %3) #21 %incdec.ptr.i.i.i.i = getelementptr inbounds nuw i8, ptr %__n.04.i.i.i.i, i64 8 %cmp.i.i.i.i = icmp ult ptr %__n.04.i.i.i.i, %2 - br i1 %cmp.i.i.i.i, label %for.body.i.i.i.i, label %_ZNSt11_Deque_baseIN4node4quic9LogStream5ChunkESaIS3_EE16_M_destroy_nodesEPPS3_S7_.exit.loopexit.i.i.i, !llvm.loop !26 + br i1 %cmp.i.i.i.i, label %for.body.i.i.i.i, label %_ZNSt11_Deque_baseIN4node4quic9LogStream5ChunkESaIS3_EE16_M_destroy_nodesEPPS3_S7_.exit.loopexit.i.i.i, !llvm.loop !20 _ZNSt11_Deque_baseIN4node4quic9LogStream5ChunkESaIS3_EE16_M_destroy_nodesEPPS3_S7_.exit.loopexit.i.i.i: ; preds = %for.body.i.i.i.i %.pre.i.i.i = load ptr, ptr %buffer_.i, align 8 @@ -1071,7 +1071,7 @@ for.body.i.i.i.i: ; preds = %if.then.i.i.i, %for tail call void @_ZdlPv(ptr noundef %4) #21 %incdec.ptr.i.i.i.i = getelementptr inbounds nuw i8, ptr %__n.04.i.i.i.i, i64 8 %cmp.i.i.i.i = icmp ult ptr %__n.04.i.i.i.i, %3 - br i1 %cmp.i.i.i.i, label %for.body.i.i.i.i, label %_ZNSt11_Deque_baseIN4node4quic9LogStream5ChunkESaIS3_EE16_M_destroy_nodesEPPS3_S7_.exit.loopexit.i.i.i, !llvm.loop !26 + br i1 %cmp.i.i.i.i, label %for.body.i.i.i.i, label %_ZNSt11_Deque_baseIN4node4quic9LogStream5ChunkESaIS3_EE16_M_destroy_nodesEPPS3_S7_.exit.loopexit.i.i.i, !llvm.loop !20 _ZNSt11_Deque_baseIN4node4quic9LogStream5ChunkESaIS3_EE16_M_destroy_nodesEPPS3_S7_.exit.loopexit.i.i.i: ; preds = %for.body.i.i.i.i %.pre.i.i.i = load ptr, ptr %buffer_.i, align 8 @@ -1117,7 +1117,7 @@ for.body.i.i.i.i.i: ; preds = %if.then.i.i.i.i, %f tail call void @_ZdlPv(ptr noundef %4) #21 %incdec.ptr.i.i.i.i.i = getelementptr inbounds nuw i8, ptr %__n.04.i.i.i.i.i, i64 8 %cmp.i.i.i.i.i = icmp ult ptr %__n.04.i.i.i.i.i, %3 - br i1 %cmp.i.i.i.i.i, label %for.body.i.i.i.i.i, label %_ZNSt11_Deque_baseIN4node4quic9LogStream5ChunkESaIS3_EE16_M_destroy_nodesEPPS3_S7_.exit.loopexit.i.i.i.i, !llvm.loop !26 + br i1 %cmp.i.i.i.i.i, label %for.body.i.i.i.i.i, label %_ZNSt11_Deque_baseIN4node4quic9LogStream5ChunkESaIS3_EE16_M_destroy_nodesEPPS3_S7_.exit.loopexit.i.i.i.i, !llvm.loop !20 _ZNSt11_Deque_baseIN4node4quic9LogStream5ChunkESaIS3_EE16_M_destroy_nodesEPPS3_S7_.exit.loopexit.i.i.i.i: ; preds = %for.body.i.i.i.i.i %.pre.i.i.i.i = load ptr, ptr %buffer_.i.i, align 8 @@ -1607,25 +1607,19 @@ attributes #21 = { builtin nounwind } !5 = !{!6} !6 = distinct !{!6, !7, !"_ZN4node22MakeDetachedBaseObjectINS_4quic9LogStreamEJRPNS_11EnvironmentERN2v85LocalINS6_6ObjectEEEEEENS_17BaseObjectPtrImplIT_Lb0EEEDpOT0_: %agg.result"} !7 = distinct !{!7, !"_ZN4node22MakeDetachedBaseObjectINS_4quic9LogStreamEJRPNS_11EnvironmentERN2v85LocalINS6_6ObjectEEEEEENS_17BaseObjectPtrImplIT_Lb0EEEDpOT0_"} -!8 = !{!9} -!9 = distinct !{!9, !10, !"_ZNSt5dequeIN4node4quic9LogStream5ChunkESaIS3_EE5beginEv: %agg.result"} -!10 = distinct !{!10, !"_ZNSt5dequeIN4node4quic9LogStream5ChunkESaIS3_EE5beginEv"} -!11 = distinct !{!11, !12} -!12 = !{!"llvm.loop.mustprogress"} -!13 = distinct !{!13, !12} +!8 = distinct !{!8, !9} +!9 = !{!"llvm.loop.mustprogress"} +!10 = distinct !{!10, !9} +!11 = !{!12} +!12 = distinct !{!12, !13, !"_ZNSt5dequeIN4node4quic9LogStream5ChunkESaIS3_EE5beginEv: %agg.result"} +!13 = distinct !{!13, !"_ZNSt5dequeIN4node4quic9LogStream5ChunkESaIS3_EE5beginEv"} !14 = !{!15} -!15 = distinct !{!15, !16, !"_ZNSt5dequeIN4node4quic9LogStream5ChunkESaIS3_EE5beginEv: %agg.result"} -!16 = distinct !{!16, !"_ZNSt5dequeIN4node4quic9LogStream5ChunkESaIS3_EE5beginEv"} +!15 = distinct !{!15, !16, !"_ZNSt5dequeIN4node4quic9LogStream5ChunkESaIS3_EE3endEv: %agg.result"} +!16 = distinct !{!16, !"_ZNSt5dequeIN4node4quic9LogStream5ChunkESaIS3_EE3endEv"} !17 = !{!18} !18 = distinct !{!18, !19, !"_ZNSt5dequeIN4node4quic9LogStream5ChunkESaIS3_EE5beginEv: %agg.result"} !19 = distinct !{!19, !"_ZNSt5dequeIN4node4quic9LogStream5ChunkESaIS3_EE5beginEv"} -!20 = !{!21} -!21 = distinct !{!21, !22, !"_ZNSt5dequeIN4node4quic9LogStream5ChunkESaIS3_EE3endEv: %agg.result"} -!22 = distinct !{!22, !"_ZNSt5dequeIN4node4quic9LogStream5ChunkESaIS3_EE3endEv"} -!23 = !{!24} -!24 = distinct !{!24, !25, !"_ZNSt5dequeIN4node4quic9LogStream5ChunkESaIS3_EE5beginEv: %agg.result"} -!25 = distinct !{!25, !"_ZNSt5dequeIN4node4quic9LogStream5ChunkESaIS3_EE5beginEv"} -!26 = distinct !{!26, !12} -!27 = !{!28} -!28 = distinct !{!28, !29, !"_ZNKSt5dequeIPN4node18MemoryRetainerNodeESaIS2_EE3endEv: %agg.result"} -!29 = distinct !{!29, !"_ZNKSt5dequeIPN4node18MemoryRetainerNodeESaIS2_EE3endEv"} +!20 = distinct !{!20, !9} +!21 = !{!22} +!22 = distinct !{!22, !23, !"_ZNKSt5dequeIPN4node18MemoryRetainerNodeESaIS2_EE3endEv: %agg.result"} +!23 = distinct !{!23, !"_ZNKSt5dequeIPN4node18MemoryRetainerNodeESaIS2_EE3endEv"} diff --git a/bench/nori/optimized/screen.ll b/bench/nori/optimized/screen.ll index 8bbbca1efa6..7e32e649e4c 100644 --- a/bench/nori/optimized/screen.ll +++ b/bench/nori/optimized/screen.ll @@ -4424,13 +4424,13 @@ define hidden noundef zeroext i1 @_ZN7nanogui6Screen14keyboard_eventEiiii(ptr no br i1 %21, label %.loopexit, label %._crit_edge ._crit_edge: ; preds = %17 - %.pre = load ptr, ptr %6, align 8, !noalias !31 + %.pre = load ptr, ptr %6, align 8 br label %22 22: ; preds = %._crit_edge, %.lr.ph %23 = phi ptr [ %.pre, %._crit_edge ], [ %11, %.lr.ph ] %.not8 = icmp eq ptr %12, %23 - br i1 %.not8, label %.loopexit, label %.lr.ph, !llvm.loop !34 + br i1 %.not8, label %.loopexit, label %.lr.ph, !llvm.loop !31 .loopexit: ; preds = %17, %22, %5 %.0 = phi i1 [ false, %5 ], [ true, %17 ], [ false, %22 ] @@ -4467,13 +4467,13 @@ define hidden noundef zeroext i1 @_ZN7nanogui6Screen24keyboard_character_eventEj br i1 %18, label %.loopexit, label %._crit_edge ._crit_edge: ; preds = %14 - %.pre = load ptr, ptr %3, align 8, !noalias !35 + %.pre = load ptr, ptr %3, align 8 br label %19 19: ; preds = %._crit_edge, %.lr.ph %20 = phi ptr [ %.pre, %._crit_edge ], [ %8, %.lr.ph ] %.not5 = icmp eq ptr %9, %20 - br i1 %.not5, label %.loopexit, label %.lr.ph, !llvm.loop !38 + br i1 %.not5, label %.loopexit, label %.lr.ph, !llvm.loop !32 .loopexit: ; preds = %14, %19, %2 %.0 = phi i1 [ false, %2 ], [ true, %14 ], [ false, %19 ] @@ -5156,10 +5156,10 @@ _ZNSt6vectorIPN7nanogui6WidgetESaIS2_EE17_M_realloc_insertIJRKS2_EEEvN9__gnu_cxx %53 = getelementptr inbounds nuw i8, ptr %.02027, i64 16 %54 = load ptr, ptr %53, align 8 %.not = icmp eq ptr %54, null - br i1 %.not, label %._crit_edge30.loopexit, label %23, !llvm.loop !39 + br i1 %.not, label %._crit_edge30.loopexit, label %23, !llvm.loop !33 ._crit_edge30.loopexit: ; preds = %49 - %.pre37 = load ptr, ptr %3, align 8, !noalias !40 + %.pre37 = load ptr, ptr %3, align 8 br label %._crit_edge30 ._crit_edge30: ; preds = %._crit_edge30.loopexit, %_ZNSt6vectorIPN7nanogui6WidgetESaIS2_EE5clearEv.exit @@ -5177,9 +5177,9 @@ _ZNSt6vectorIPN7nanogui6WidgetESaIS2_EE17_M_realloc_insertIJRKS2_EEEvN9__gnu_cxx %60 = getelementptr inbounds nuw i8, ptr %59, i64 72 %61 = load ptr, ptr %60, align 8 %62 = tail call noundef zeroext i1 %61(ptr noundef nonnull align 8 dereferenceable(140) %58, i1 noundef zeroext true) - %63 = load ptr, ptr %3, align 8, !noalias !40 + %63 = load ptr, ptr %3, align 8, !noalias !34 %.not22 = icmp eq ptr %57, %63 - br i1 %.not22, label %._crit_edge35, label %.lr.ph34, !llvm.loop !43 + br i1 %.not22, label %._crit_edge35, label %.lr.ph34, !llvm.loop !37 ._crit_edge35: ; preds = %.lr.ph34, %._crit_edge30 %.not8 = icmp eq ptr %.0.lcssa, null @@ -5371,7 +5371,7 @@ _ZNSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE %12 = add nsw i64 %.057.i.i.i.i.i, -1 %13 = getelementptr inbounds nuw i8, ptr %.08.i.i.i.i.i, i64 32 %.not.i.i.i.i.i = icmp eq i64 %12, 0 - br i1 %.not.i.i.i.i.i, label %.lr.ph.preheader, label %.lr.ph.i.i.i.i.i, !llvm.loop !44 + br i1 %.not.i.i.i.i.i, label %.lr.ph.preheader, label %.lr.ph.i.i.i.i.i, !llvm.loop !38 .lr.ph.preheader: ; preds = %.lr.ph.i.i.i.i.i store ptr %13, ptr %9, align 8 @@ -5390,7 +5390,7 @@ _ZNSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE 19: ; preds = %.lr.ph %indvars.iv.next = add nuw nsw i64 %indvars.iv, 1 %exitcond.not = icmp eq i64 %indvars.iv.next, %wide.trip.count - br i1 %exitcond.not, label %._crit_edge, label %.lr.ph, !llvm.loop !45 + br i1 %exitcond.not, label %._crit_edge, label %.lr.ph, !llvm.loop !39 .loopexit: ; preds = %.lr.ph %lpad.loopexit = landingpad { ptr, i32 } @@ -5432,7 +5432,7 @@ _ZNSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.05.i.i.i.i) #32 %34 = getelementptr inbounds nuw i8, ptr %.05.i.i.i.i, i64 32 %.not.i.i.i.i13 = icmp eq ptr %34, %33 - br i1 %.not.i.i.i.i13, label %_ZSt8_DestroyIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_EvT_S7_RSaIT0_E.exitthread-pre-split.i, label %.lr.ph.i.i.i.i, !llvm.loop !46 + br i1 %.not.i.i.i.i13, label %_ZSt8_DestroyIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_EvT_S7_RSaIT0_E.exitthread-pre-split.i, label %.lr.ph.i.i.i.i, !llvm.loop !40 _ZSt8_DestroyIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_EvT_S7_RSaIT0_E.exitthread-pre-split.i: ; preds = %.lr.ph.i.i.i.i %.pr.i = load ptr, ptr %4, align 8 @@ -5466,7 +5466,7 @@ define linkonce_odr dso_local void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11 tail call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.05.i.i.i) #32 %5 = getelementptr inbounds nuw i8, ptr %.05.i.i.i, i64 32 %.not.i.i.i = icmp eq ptr %5, %4 - br i1 %.not.i.i.i, label %_ZSt8_DestroyIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_EvT_S7_RSaIT0_E.exitthread-pre-split, label %.lr.ph.i.i.i, !llvm.loop !46 + br i1 %.not.i.i.i, label %_ZSt8_DestroyIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_EvT_S7_RSaIT0_E.exitthread-pre-split, label %.lr.ph.i.i.i, !llvm.loop !40 _ZSt8_DestroyIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_EvT_S7_RSaIT0_E.exitthread-pre-split: ; preds = %.lr.ph.i.i.i %.pr = load ptr, ptr %0, align 8 @@ -5637,7 +5637,7 @@ define hidden void @_ZN7nanogui6Screen21resize_callback_eventEii(ptr noundef non %12 = load i32, ptr %.07.i.sroa.phi, align 4 %.not.i = icmp eq i32 %12, 0 %or.cond.i = and i1 %.not8.i, %.not.i - br i1 %or.cond.i, label %11, label %_ZNK7nanogui5ArrayIiLm2EEeqERKS1_.exit, !llvm.loop !47 + br i1 %or.cond.i, label %11, label %_ZNK7nanogui5ArrayIiLm2EEeqERKS1_.exit, !llvm.loop !41 _ZNK7nanogui5ArrayIiLm2EEeqERKS1_.exit: ; preds = %11 br i1 %.not.i, label %.critedge, label %.preheader @@ -5648,7 +5648,7 @@ _ZNK7nanogui5ArrayIiLm2EEeqERKS1_.exit: ; preds = %11 %13 = load i32, ptr %.07.i8.sroa.phi, align 4 %.not.i9 = icmp eq i32 %13, 0 %or.cond.i10 = and i1 %.not8.i7, %.not.i9 - br i1 %or.cond.i10, label %.preheader, label %_ZNK7nanogui5ArrayIiLm2EEeqERKS1_.exit11, !llvm.loop !47 + br i1 %or.cond.i10, label %.preheader, label %_ZNK7nanogui5ArrayIiLm2EEeqERKS1_.exit11, !llvm.loop !41 _ZNK7nanogui5ArrayIiLm2EEeqERKS1_.exit11: ; preds = %.preheader br i1 %.not.i9, label %.critedge, label %_ZN7nanogui5ArrayIfLm2EEC2IiEERKNS0_IT_Lm2EEE.exit.critedge @@ -5791,7 +5791,7 @@ define hidden void @_ZN7nanogui6Screen20move_window_to_frontEPNS_6WindowE(ptr no %29 = getelementptr inbounds nuw i8, ptr %.sroa.032.051.i.i.i.i, i64 32 %30 = add nsw i64 %.052.i.i.i.i, -1 %31 = icmp sgt i64 %.052.i.i.i.i, 1 - br i1 %31, label %13, label %._crit_edge.loopexit.i.i.i.i, !llvm.loop !48 + br i1 %31, label %13, label %._crit_edge.loopexit.i.i.i.i, !llvm.loop !42 ._crit_edge.loopexit.i.i.i.i: ; preds = %28 %.pre59.i.i.i.i = ptrtoint ptr %scevgep.i.i.i.i to i64 @@ -5870,7 +5870,7 @@ _ZSt9__find_ifIN9__gnu_cxx17__normal_iteratorIPPN7nanogui6WidgetESt6vectorIS4_Sa %.sroa.013.2.i.i = phi ptr [ %.sroa.013.128.i.i, %.lr.ph.i.i ], [ %51, %50 ] %.sroa.07.0.i.i = getelementptr inbounds nuw i8, ptr %.sroa.07.029.i.i, i64 8 %.not.i.i = icmp eq ptr %.sroa.07.0.i.i, %6 - br i1 %.not.i.i, label %_ZSt6removeIN9__gnu_cxx17__normal_iteratorIPPN7nanogui6WidgetESt6vectorIS4_SaIS4_EEEEPNS2_6WindowEET_SC_SC_RKT0_.exit.loopexit, label %.lr.ph.i.i, !llvm.loop !49 + br i1 %.not.i.i, label %_ZSt6removeIN9__gnu_cxx17__normal_iteratorIPPN7nanogui6WidgetESt6vectorIS4_SaIS4_EEEEPNS2_6WindowEET_SC_SC_RKT0_.exit.loopexit, label %.lr.ph.i.i, !llvm.loop !43 _ZSt6removeIN9__gnu_cxx17__normal_iteratorIPPN7nanogui6WidgetESt6vectorIS4_SaIS4_EEEEPNS2_6WindowEET_SC_SC_RKT0_.exit.loopexit: ; preds = %52 %.pre = load ptr, ptr %5, align 8 @@ -5985,7 +5985,7 @@ _ZNSt6vectorIPN7nanogui6WidgetESaIS2_EE9push_backEOS2_.exit: ; preds = %62, %_ZN %spec.select = select i1 %94, i64 %.01644, i64 %.01743 %95 = add nuw i64 %.01644, 1 %exitcond.not = icmp eq i64 %95, %umax - br i1 %exitcond.not, label %.lr.ph48.preheader, label %.lr.ph, !llvm.loop !50 + br i1 %exitcond.not, label %.lr.ph48.preheader, label %.lr.ph, !llvm.loop !44 .lr.ph48: ; preds = %.lr.ph48.preheader, %.thread %.01547 = phi i64 [ %111, %.thread ], [ 0, %.lr.ph48.preheader ] @@ -6015,12 +6015,12 @@ _ZNSt6vectorIPN7nanogui6WidgetESaIS2_EE9push_backEOS2_.exit: ; preds = %62, %_ZN %109 = ptrtoint ptr %107 to i64 %110 = sub i64 %108, %109 %.not49 = icmp eq ptr %.pre58, %107 - br i1 %.not49, label %.critedge, label %.lr.ph.preheader, !llvm.loop !51 + br i1 %.not49, label %.critedge, label %.lr.ph.preheader, !llvm.loop !45 .thread: ; preds = %.lr.ph48, %99, %101 %111 = add nuw i64 %.01547, 1 %exitcond57.not = icmp eq i64 %111, %umax56 - br i1 %exitcond57.not, label %.critedge, label %.lr.ph48, !llvm.loop !52 + br i1 %exitcond57.not, label %.critedge, label %.lr.ph48, !llvm.loop !46 .critedge: ; preds = %106, %.thread, %_ZNSt6vectorIPN7nanogui6WidgetESaIS2_EE9push_backEOS2_.exit ret void @@ -6073,7 +6073,7 @@ define hidden void @_ZN7nanogui6Screen14dispose_windowEPNS_6WindowE(ptr noundef %29 = getelementptr inbounds nuw i8, ptr %.sroa.032.051.i.i.i, i64 32 %30 = add nsw i64 %.052.i.i.i, -1 %31 = icmp sgt i64 %.052.i.i.i, 1 - br i1 %31, label %13, label %._crit_edge.loopexit.i.i.i, !llvm.loop !48 + br i1 %31, label %13, label %._crit_edge.loopexit.i.i.i, !llvm.loop !42 ._crit_edge.loopexit.i.i.i: ; preds = %28 %.pre59.i.i.i = ptrtoint ptr %scevgep.i.i.i to i64 @@ -6169,7 +6169,7 @@ _ZN7nanogui5ArrayIiLm2EEC2Ei.exit.critedge: %5 = load i32, ptr %4, align 4 %.not.i = icmp eq i32 %5, 0 %or.cond.i = and i1 %.not8.i, %.not.i - br i1 %or.cond.i, label %3, label %_ZNK7nanogui5ArrayIiLm2EEeqERKS1_.exit, !llvm.loop !47 + br i1 %or.cond.i, label %3, label %_ZNK7nanogui5ArrayIiLm2EEeqERKS1_.exit, !llvm.loop !41 _ZNK7nanogui5ArrayIiLm2EEeqERKS1_.exit: ; preds = %3 br i1 %.not.i, label %6, label %_ZN7nanoguimiERKNS_5ArrayIiLm2EEES3_.exit.critedge @@ -7124,7 +7124,7 @@ define linkonce_odr hidden void @_ZNSt8_Rb_treeIP10GLFWwindowSt4pairIKS1_PN7nano %6 = load ptr, ptr %5, align 8 tail call void @_ZdlPv(ptr noundef nonnull %.07) #34 %.not = icmp eq ptr %6, null - br i1 %.not, label %._crit_edge, label %.lr.ph, !llvm.loop !53 + br i1 %.not, label %._crit_edge, label %.lr.ph, !llvm.loop !47 ._crit_edge: ; preds = %.lr.ph, %2 ret void @@ -7613,7 +7613,7 @@ define linkonce_odr hidden { ptr, ptr } @_ZNSt8_Rb_treeIP10GLFWwindowSt4pairIKS1 %.in.i = getelementptr inbounds nuw i8, ptr %.02024.i, i64 %.in.v.i %.020.i = load ptr, ptr %.in.i, align 8 %.not.i = icmp eq ptr %.020.i, null - br i1 %.not.i, label %._crit_edge.i, label %19, !llvm.loop !54 + br i1 %.not.i, label %._crit_edge.i, label %19, !llvm.loop !48 ._crit_edge.i: ; preds = %19 br i1 %22, label %._crit_edge.thread.i, label %28 @@ -7685,7 +7685,7 @@ define linkonce_odr hidden { ptr, ptr } @_ZNSt8_Rb_treeIP10GLFWwindowSt4pairIKS1 %.in.i15 = getelementptr inbounds nuw i8, ptr %.02024.i13, i64 %.in.v.i14 %.020.i16 = load ptr, ptr %.in.i15, align 8 %.not.i17 = icmp eq ptr %.020.i16, null - br i1 %.not.i17, label %._crit_edge.i18, label %.lr.ph.i12, !llvm.loop !54 + br i1 %.not.i17, label %._crit_edge.i18, label %.lr.ph.i12, !llvm.loop !48 ._crit_edge.i18: ; preds = %.lr.ph.i12 br i1 %54, label %._crit_edge.thread.i27, label %58 @@ -7750,7 +7750,7 @@ define linkonce_odr hidden { ptr, ptr } @_ZNSt8_Rb_treeIP10GLFWwindowSt4pairIKS1 %.in.i35 = getelementptr inbounds nuw i8, ptr %.02024.i33, i64 %.in.v.i34 %.020.i36 = load ptr, ptr %.in.i35, align 8 %.not.i37 = icmp eq ptr %.020.i36, null - br i1 %.not.i37, label %._crit_edge.i38, label %.lr.ph.i32, !llvm.loop !54 + br i1 %.not.i37, label %._crit_edge.i38, label %.lr.ph.i32, !llvm.loop !48 ._crit_edge.i38: ; preds = %.lr.ph.i32 br i1 %80, label %._crit_edge.thread.i47, label %86 @@ -7855,7 +7855,7 @@ _ZNSt8_Rb_treeIP10GLFWwindowSt4pairIKS1_PN7nanogui6ScreenEESt10_Select1stIS7_ESt %.1.in.i30.i = getelementptr inbounds nuw i8, ptr %.012.i26.i, i64 %.1.in.v.i29.i %.1.i31.i = load ptr, ptr %.1.in.i30.i, align 8 %.not.i32.i = icmp eq ptr %.1.i31.i, null - br i1 %.not.i32.i, label %_ZNSt8_Rb_treeIP10GLFWwindowSt4pairIKS1_PN7nanogui6ScreenEESt10_Select1stIS7_ESt4lessIS1_ESaIS7_EE11equal_rangeERS3_.exit, label %.lr.ph.i25.i, !llvm.loop !55 + br i1 %.not.i32.i, label %_ZNSt8_Rb_treeIP10GLFWwindowSt4pairIKS1_PN7nanogui6ScreenEESt10_Select1stIS7_ESt4lessIS1_ESaIS7_EE11equal_rangeERS3_.exit, label %.lr.ph.i25.i, !llvm.loop !49 23: ; preds = %10, %6 %.sink.i = phi i64 [ 24, %6 ], [ 16, %10 ] @@ -7863,7 +7863,7 @@ _ZNSt8_Rb_treeIP10GLFWwindowSt4pairIKS1_PN7nanogui6ScreenEESt10_Select1stIS7_ESt %24 = getelementptr inbounds nuw i8, ptr %.044.i, i64 %.sink.i %.0.i = load ptr, ptr %24, align 8 %.not.i = icmp eq ptr %.0.i, null - br i1 %.not.i, label %_ZNSt8_Rb_treeIP10GLFWwindowSt4pairIKS1_PN7nanogui6ScreenEESt10_Select1stIS7_ESt4lessIS1_ESaIS7_EE11equal_rangeERS3_.exit, label %6, !llvm.loop !56 + br i1 %.not.i, label %_ZNSt8_Rb_treeIP10GLFWwindowSt4pairIKS1_PN7nanogui6ScreenEESt10_Select1stIS7_ESt4lessIS1_ESaIS7_EE11equal_rangeERS3_.exit, label %6, !llvm.loop !50 _ZNSt8_Rb_treeIP10GLFWwindowSt4pairIKS1_PN7nanogui6ScreenEESt10_Select1stIS7_ESt4lessIS1_ESaIS7_EE11equal_rangeERS3_.exit: ; preds = %23, %.lr.ph.i25.i, %2, %_ZNSt8_Rb_treeIP10GLFWwindowSt4pairIKS1_PN7nanogui6ScreenEESt10_Select1stIS7_ESt4lessIS1_ESaIS7_EE14_M_lower_boundEPSt13_Rb_tree_nodeIS7_EPSt18_Rb_tree_node_baseRS3_.exit.i %.sroa.037.0.i = phi ptr [ %.08.lcssa.i.i, %_ZNSt8_Rb_treeIP10GLFWwindowSt4pairIKS1_PN7nanogui6ScreenEESt10_Select1stIS7_ESt4lessIS1_ESaIS7_EE14_M_lower_boundEPSt13_Rb_tree_nodeIS7_EPSt18_Rb_tree_node_baseRS3_.exit.i ], [ %4, %2 ], [ %.08.lcssa.i.i, %.lr.ph.i25.i ], [ %.123.i, %23 ] @@ -7909,7 +7909,7 @@ _ZNSt8_Rb_treeIP10GLFWwindowSt4pairIKS1_PN7nanogui6ScreenEESt10_Select1stIS7_ESt %39 = add i64 %38, -1 store i64 %39, ptr %25, align 8 %.not.i3 = icmp eq ptr %36, %.sroa.3.0.i - br i1 %.not.i3, label %_ZNSt8_Rb_treeIP10GLFWwindowSt4pairIKS1_PN7nanogui6ScreenEESt10_Select1stIS7_ESt4lessIS1_ESaIS7_EE12_M_erase_auxESt23_Rb_tree_const_iteratorIS7_ESF_.exit, label %.lr.ph.i2, !llvm.loop !57 + br i1 %.not.i3, label %_ZNSt8_Rb_treeIP10GLFWwindowSt4pairIKS1_PN7nanogui6ScreenEESt10_Select1stIS7_ESt4lessIS1_ESaIS7_EE12_M_erase_auxESt23_Rb_tree_const_iteratorIS7_ESF_.exit, label %.lr.ph.i2, !llvm.loop !51 _ZNSt8_Rb_treeIP10GLFWwindowSt4pairIKS1_PN7nanogui6ScreenEESt10_Select1stIS7_ESt4lessIS1_ESaIS7_EE12_M_erase_auxESt23_Rb_tree_const_iteratorIS7_ESF_.exit: ; preds = %.lr.ph.i2, %_ZNSt8_Rb_treeIP10GLFWwindowSt4pairIKS1_PN7nanogui6ScreenEESt10_Select1stIS7_ESt4lessIS1_ESaIS7_EE5clearEv.exit.i, %.critedge.i %40 = phi i64 [ 0, %_ZNSt8_Rb_treeIP10GLFWwindowSt4pairIKS1_PN7nanogui6ScreenEESt10_Select1stIS7_ESt4lessIS1_ESaIS7_EE5clearEv.exit.i ], [ %26, %.critedge.i ], [ %39, %.lr.ph.i2 ] @@ -8051,18 +8051,18 @@ attributes #38 = { nounwind willreturn memory(read) } !28 = distinct !{!28, !6} !29 = distinct !{!29, !6} !30 = distinct !{!30, !6} -!31 = !{!32} -!32 = distinct !{!32, !33, !"_ZNSt6vectorIPN7nanogui6WidgetESaIS2_EE4rendEv: argument 0"} -!33 = distinct !{!33, !"_ZNSt6vectorIPN7nanogui6WidgetESaIS2_EE4rendEv"} -!34 = distinct !{!34, !6} -!35 = !{!36} -!36 = distinct !{!36, !37, !"_ZNSt6vectorIPN7nanogui6WidgetESaIS2_EE4rendEv: argument 0"} -!37 = distinct !{!37, !"_ZNSt6vectorIPN7nanogui6WidgetESaIS2_EE4rendEv"} +!31 = distinct !{!31, !6} +!32 = distinct !{!32, !6} +!33 = distinct !{!33, !6} +!34 = !{!35} +!35 = distinct !{!35, !36, !"_ZNSt6vectorIPN7nanogui6WidgetESaIS2_EE4rendEv: argument 0"} +!36 = distinct !{!36, !"_ZNSt6vectorIPN7nanogui6WidgetESaIS2_EE4rendEv"} +!37 = distinct !{!37, !6} !38 = distinct !{!38, !6} !39 = distinct !{!39, !6} -!40 = !{!41} -!41 = distinct !{!41, !42, !"_ZNSt6vectorIPN7nanogui6WidgetESaIS2_EE4rendEv: argument 0"} -!42 = distinct !{!42, !"_ZNSt6vectorIPN7nanogui6WidgetESaIS2_EE4rendEv"} +!40 = distinct !{!40, !6} +!41 = distinct !{!41, !6} +!42 = distinct !{!42, !6} !43 = distinct !{!43, !6} !44 = distinct !{!44, !6} !45 = distinct !{!45, !6} @@ -8072,9 +8072,3 @@ attributes #38 = { nounwind willreturn memory(read) } !49 = distinct !{!49, !6} !50 = distinct !{!50, !6} !51 = distinct !{!51, !6} -!52 = distinct !{!52, !6} -!53 = distinct !{!53, !6} -!54 = distinct !{!54, !6} -!55 = distinct !{!55, !6} -!56 = distinct !{!56, !6} -!57 = distinct !{!57, !6} diff --git a/bench/ockam-rs/optimized/4ie0aygpnuk5bzdx.ll b/bench/ockam-rs/optimized/4ie0aygpnuk5bzdx.ll index 2d1d60722c1..69591ba19d3 100644 --- a/bench/ockam-rs/optimized/4ie0aygpnuk5bzdx.ll +++ b/bench/ockam-rs/optimized/4ie0aygpnuk5bzdx.ll @@ -2905,7 +2905,7 @@ define hidden void @_ZN10ockam_core7routing5route12RouteBuilder7prepend17h505c41 to label %._crit_edge.i unwind label %11, !noalias !406 ._crit_edge.i: ; preds = %10 - %.pre.i = load i64, ptr %7, align 8, !alias.scope !408, !noalias !406 + %.pre.i = load i64, ptr %7, align 8, !alias.scope !403, !noalias !406 %.pre1.i = load i64, ptr %5, align 8, !alias.scope !403, !noalias !406 br label %15 @@ -3494,6 +3494,3 @@ attributes #32 = { nounwind } !405 = distinct !{!405, !"_ZN5alloc11collections9vec_deque21VecDeque$LT$T$C$A$GT$10push_front17hd40ff7c93482aab2E"} !406 = !{!407} !407 = distinct !{!407, !405, !"_ZN5alloc11collections9vec_deque21VecDeque$LT$T$C$A$GT$10push_front17hd40ff7c93482aab2E: argument 1"} -!408 = !{!409, !404} -!409 = distinct !{!409, !410, !"_ZN5alloc11collections9vec_deque21VecDeque$LT$T$C$A$GT$8wrap_sub17h5fc800b89c4e4b79E.llvm.15130365213601569483: argument 0"} -!410 = distinct !{!410, !"_ZN5alloc11collections9vec_deque21VecDeque$LT$T$C$A$GT$8wrap_sub17h5fc800b89c4e4b79E.llvm.15130365213601569483"} diff --git a/bench/oiio/optimized/ustring.ll b/bench/oiio/optimized/ustring.ll index 3a74f64b8d2..132c1b3e121 100644 --- a/bench/oiio/optimized/ustring.ll +++ b/bench/oiio/optimized/ustring.ll @@ -265,7 +265,7 @@ _ZN11OpenImageIO6v3_1_012_GLOBAL__N_113ustring_tableEv.exit: ; preds = %1, %9, % 17: ; preds = %_ZN11OpenImageIO6v3_1_012_GLOBAL__N_113ustring_tableEv.exit %.phi.trans.insert = getelementptr inbounds nuw i8, ptr %0, i64 8 - %.pre = load i64, ptr %.phi.trans.insert, align 8, !tbaa !20 + %.pre = load i64, ptr %.phi.trans.insert, align 8 call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %5) #24 %18 = getelementptr inbounds nuw i8, ptr %0, i64 8 %.not.i39 = icmp eq i64 %.pre, 0 @@ -273,8 +273,8 @@ _ZN11OpenImageIO6v3_1_012_GLOBAL__N_113ustring_tableEv.exit: ; preds = %1, %9, % 19: ; preds = %17 %20 = tail call noundef i64 @_ZN11OpenImageIO6v3_1_08farmhash10farmhashxo6Hash64EPKcm(ptr noundef nonnull %15, i64 noundef %.pre) - %.pre199 = load ptr, ptr %0, align 8, !tbaa !23 - %.pre200 = load i64, ptr %18, align 8, !tbaa !20 + %.pre199 = load ptr, ptr %0, align 8 + %.pre200 = load i64, ptr %18, align 8 br label %_ZN11OpenImageIO6v3_1_07Strutil9strhash64ENS0_17basic_string_viewIcSt11char_traitsIcEEE.exit _ZN11OpenImageIO6v3_1_07Strutil9strhash64ENS0_17basic_string_viewIcSt11char_traitsIcEEE.exit: ; preds = %.thread203, %17, %19 @@ -420,8 +420,8 @@ _ZNK11OpenImageIO6v3_1_017basic_string_viewIcSt11char_traitsIcEE6substrEmm.exit: _ZNK11OpenImageIO6v3_1_017basic_string_viewIcSt11char_traitsIcEE6substrEmm.exit.thread111: ; preds = %77, %_ZNK11OpenImageIO6v3_1_017basic_string_viewIcSt11char_traitsIcEE6substrEmm.exit %.sroa.5.0115 = phi i64 [ %75, %_ZNK11OpenImageIO6v3_1_017basic_string_viewIcSt11char_traitsIcEE6substrEmm.exit ], [ %30, %77 ] %79 = call noundef i64 @_ZN11OpenImageIO6v3_1_08farmhash10farmhashxo6Hash64EPKcm(ptr noundef %31, i64 noundef %.sroa.5.0115) - %.pre201 = load ptr, ptr %0, align 8, !tbaa !23 - %.pre202 = load i64, ptr %21, align 8, !tbaa !20 + %.pre201 = load ptr, ptr %0, align 8 + %.pre202 = load i64, ptr %21, align 8 br label %_ZN11OpenImageIO6v3_1_07Strutil9strhash64ENS0_17basic_string_viewIcSt11char_traitsIcEEE.exit42 _ZN11OpenImageIO6v3_1_07Strutil9strhash64ENS0_17basic_string_viewIcSt11char_traitsIcEEE.exit42: ; preds = %_ZNK11OpenImageIO6v3_1_017basic_string_viewIcSt11char_traitsIcEE6substrEmm.exit.thread, %_ZNK11OpenImageIO6v3_1_017basic_string_viewIcSt11char_traitsIcEE6substrEmm.exit, %_ZNK11OpenImageIO6v3_1_017basic_string_viewIcSt11char_traitsIcEE6substrEmm.exit.thread111 @@ -1597,8 +1597,8 @@ define noundef range(i64 -576460752303423488, 576460752303423488) i64 @_ZN11Open _ZNSt10lock_guardISt5mutexEC2ERS0_.exit: ; preds = %1 %.not = icmp eq ptr %0, null - %.pre18 = load ptr, ptr getelementptr inbounds nuw (i8, ptr @_ZN11OpenImageIO6v3_1_012_GLOBAL__N_119all_hash_collisionsE, i64 8), align 8, !tbaa !57 - %.pre20 = load ptr, ptr @_ZN11OpenImageIO6v3_1_012_GLOBAL__N_119all_hash_collisionsE, align 8, !tbaa !3 + %.pre18 = load ptr, ptr getelementptr inbounds nuw (i8, ptr @_ZN11OpenImageIO6v3_1_012_GLOBAL__N_119all_hash_collisionsE, i64 8), align 8 + %.pre20 = load ptr, ptr @_ZN11OpenImageIO6v3_1_012_GLOBAL__N_119all_hash_collisionsE, align 8 br i1 %.not, label %.loopexit, label %4 4: ; preds = %_ZNSt10lock_guardISt5mutexEC2ERS0_.exit @@ -1608,8 +1608,8 @@ _ZNSt10lock_guardISt5mutexEC2ERS0_.exit: ; preds = %1 .lr.ph: ; preds = %4 %5 = getelementptr inbounds nuw i8, ptr %0, i64 8 %6 = getelementptr inbounds nuw i8, ptr %0, i64 16 - %.pre = load ptr, ptr %5, align 8, !tbaa !96 - %.pre16 = load ptr, ptr %6, align 8, !tbaa !99 + %.pre = load ptr, ptr %5, align 8 + %.pre16 = load ptr, ptr %6, align 8 br label %7 7: ; preds = %.lr.ph, %_ZNSt6vectorIN11OpenImageIO6v3_1_07ustringESaIS2_EE12emplace_backIJS2_EEERS2_DpOT_.exit @@ -1628,7 +1628,7 @@ _ZNSt10lock_guardISt5mutexEC2ERS0_.exit: ; preds = %1 br label %_ZNSt6vectorIN11OpenImageIO6v3_1_07ustringESaIS2_EE12emplace_backIJS2_EEERS2_DpOT_.exit 14: ; preds = %7 - %15 = load ptr, ptr %0, align 8, !tbaa !100 + %15 = load ptr, ptr %0, align 8, !tbaa !99 %16 = ptrtoint ptr %8 to i64 %17 = ptrtoint ptr %15 to i64 %18 = sub i64 %16, %17 @@ -1665,14 +1665,14 @@ _ZNKSt6vectorIN11OpenImageIO6v3_1_07ustringESaIS2_EE12_M_check_lenEmPKc.exit.i.i .lr.ph.i.i.i.i.i: ; preds = %.noexc4, %.lr.ph.i.i.i.i.i %.012.i.i.i.i.i = phi ptr [ %32, %.lr.ph.i.i.i.i.i ], [ %27, %.noexc4 ] %.0911.i.i.i.i.i = phi ptr [ %31, %.lr.ph.i.i.i.i.i ], [ %15, %.noexc4 ] - tail call void @llvm.experimental.noalias.scope.decl(metadata !101) - tail call void @llvm.experimental.noalias.scope.decl(metadata !104) - %30 = load i64, ptr %.0911.i.i.i.i.i, align 8, !tbaa !26, !alias.scope !104, !noalias !101 - store i64 %30, ptr %.012.i.i.i.i.i, align 8, !tbaa !26, !alias.scope !101, !noalias !104 + tail call void @llvm.experimental.noalias.scope.decl(metadata !100) + tail call void @llvm.experimental.noalias.scope.decl(metadata !103) + %30 = load i64, ptr %.0911.i.i.i.i.i, align 8, !tbaa !26, !alias.scope !103, !noalias !100 + store i64 %30, ptr %.012.i.i.i.i.i, align 8, !tbaa !26, !alias.scope !100, !noalias !103 %31 = getelementptr inbounds nuw i8, ptr %.0911.i.i.i.i.i, i64 8 %32 = getelementptr inbounds nuw i8, ptr %.012.i.i.i.i.i, i64 8 %.not.i.i.i.i.i = icmp eq ptr %31, %8 - br i1 %.not.i.i.i.i.i, label %_ZNSt6vectorIN11OpenImageIO6v3_1_07ustringESaIS2_EE11_S_relocateEPS2_S5_S5_RS3_.exit22.i.i, label %.lr.ph.i.i.i.i.i, !llvm.loop !106 + br i1 %.not.i.i.i.i.i, label %_ZNSt6vectorIN11OpenImageIO6v3_1_07ustringESaIS2_EE11_S_relocateEPS2_S5_S5_RS3_.exit22.i.i, label %.lr.ph.i.i.i.i.i, !llvm.loop !105 _ZNSt6vectorIN11OpenImageIO6v3_1_07ustringESaIS2_EE11_S_relocateEPS2_S5_S5_RS3_.exit22.i.i: ; preds = %.lr.ph.i.i.i.i.i, %.noexc4 %.0.lcssa.i.i.i.i.i = phi ptr [ %27, %.noexc4 ], [ %32, %.lr.ph.i.i.i.i.i ] @@ -1685,10 +1685,10 @@ _ZNSt6vectorIN11OpenImageIO6v3_1_07ustringESaIS2_EE11_S_relocateEPS2_S5_S5_RS3_. br label %_ZNSt6vectorIN11OpenImageIO6v3_1_07ustringESaIS2_EE17_M_realloc_insertIJS2_EEEvN9__gnu_cxx17__normal_iteratorIPS2_S4_EEDpOT_.exit.i _ZNSt6vectorIN11OpenImageIO6v3_1_07ustringESaIS2_EE17_M_realloc_insertIJS2_EEEvN9__gnu_cxx17__normal_iteratorIPS2_S4_EEDpOT_.exit.i: ; preds = %34, %_ZNSt6vectorIN11OpenImageIO6v3_1_07ustringESaIS2_EE11_S_relocateEPS2_S5_S5_RS3_.exit22.i.i - store ptr %27, ptr %0, align 8, !tbaa !100 + store ptr %27, ptr %0, align 8, !tbaa !99 store ptr %33, ptr %5, align 8, !tbaa !96 %35 = getelementptr inbounds nuw %"class.OpenImageIO::v3_1_0::ustring", ptr %27, i64 %25 - store ptr %35, ptr %6, align 8, !tbaa !99 + store ptr %35, ptr %6, align 8, !tbaa !106 br label %_ZNSt6vectorIN11OpenImageIO6v3_1_07ustringESaIS2_EE12emplace_backIJS2_EEERS2_DpOT_.exit _ZNSt6vectorIN11OpenImageIO6v3_1_07ustringESaIS2_EE12emplace_backIJS2_EEERS2_DpOT_.exit: ; preds = %_ZNSt6vectorIN11OpenImageIO6v3_1_07ustringESaIS2_EE17_M_realloc_insertIJS2_EEEvN9__gnu_cxx17__normal_iteratorIPS2_S4_EEDpOT_.exit.i, %11 @@ -1714,8 +1714,8 @@ _ZNSt6vectorIN11OpenImageIO6v3_1_07ustringESaIS2_EE12emplace_backIJS2_EEERS2_DpO resume { ptr, i32 } %lpad.phi .loopexit.loopexit: ; preds = %_ZNSt6vectorIN11OpenImageIO6v3_1_07ustringESaIS2_EE12emplace_backIJS2_EEERS2_DpOT_.exit - %.pre17 = load ptr, ptr getelementptr inbounds nuw (i8, ptr @_ZN11OpenImageIO6v3_1_012_GLOBAL__N_119all_hash_collisionsE, i64 8), align 8, !tbaa !57 - %.pre19 = load ptr, ptr @_ZN11OpenImageIO6v3_1_012_GLOBAL__N_119all_hash_collisionsE, align 8, !tbaa !3 + %.pre17 = load ptr, ptr getelementptr inbounds nuw (i8, ptr @_ZN11OpenImageIO6v3_1_012_GLOBAL__N_119all_hash_collisionsE, i64 8), align 8 + %.pre19 = load ptr, ptr @_ZN11OpenImageIO6v3_1_012_GLOBAL__N_119all_hash_collisionsE, align 8 br label %.loopexit .loopexit: ; preds = %.loopexit.loopexit, %4, %_ZNSt10lock_guardISt5mutexEC2ERS0_.exit @@ -2942,7 +2942,7 @@ _ZN11OpenImageIO6v3_1_013spin_rw_mutex16write_lock_guardC2ERS1_.exit: ; preds = ._crit_edge.i.i: ; preds = %53 %.phi.trans.insert.i.i = getelementptr inbounds nuw i8, ptr %0, i64 32 - %.pre.i.i = load ptr, ptr %.phi.trans.insert.i.i, align 32, !tbaa !107 + %.pre.i.i = load ptr, ptr %.phi.trans.insert.i.i, align 32 br label %64 58: ; preds = %53 @@ -2997,12 +2997,13 @@ _ZN11OpenImageIO6v3_1_011TableRepMapILj256ELj4096EE10pool_allocEm.exit.i: ; pred %87 = add i64 %80, 2 %88 = call noalias ptr @calloc(i64 noundef %87, i64 noundef 8) #30 %.not25.i = icmp eq i64 %75, 0 + %.pre.i = load ptr, ptr %17, align 16 br i1 %.not25.i, label %_ZN11OpenImageIO6v3_1_011TableRepMapILj256ELj4096EE4growEv.exit, label %.lr.ph29.i .lr.ph29.i: ; preds = %79, %104 %.01927.i = phi i64 [ %105, %104 ], [ 0, %79 ] %.02026.i = phi i64 [ %.1.i, %104 ], [ %75, %79 ] - %89 = getelementptr inbounds nuw ptr, ptr %71, i64 %.01927.i + %89 = getelementptr inbounds nuw ptr, ptr %.pre.i, i64 %.01927.i %90 = load ptr, ptr %89, align 8, !tbaa !77 %91 = icmp eq ptr %90, null br i1 %91, label %104, label %92 @@ -3040,7 +3041,7 @@ _ZN11OpenImageIO6v3_1_011TableRepMapILj256ELj4096EE10pool_allocEm.exit.i: ; pred br i1 %.not.i, label %_ZN11OpenImageIO6v3_1_011TableRepMapILj256ELj4096EE4growEv.exit, label %.lr.ph29.i, !llvm.loop !116 _ZN11OpenImageIO6v3_1_011TableRepMapILj256ELj4096EE4growEv.exit: ; preds = %104, %79 - call void @free(ptr noundef nonnull %71) #24 + call void @free(ptr noundef %.pre.i) #24 store ptr %88, ptr %17, align 16, !tbaa !76 store i64 %81, ptr %15, align 8, !tbaa !71 br label %109 @@ -3567,14 +3568,14 @@ attributes #31 = { nounwind allocsize(0) } !96 = !{!97, !98, i64 8} !97 = !{!"_ZTSNSt12_Vector_baseIN11OpenImageIO6v3_1_07ustringESaIS2_EE17_Vector_impl_dataE", !98, i64 0, !98, i64 8, !98, i64 16} !98 = !{!"p1 _ZTSN11OpenImageIO6v3_1_07ustringE", !6, i64 0} -!99 = !{!97, !98, i64 16} -!100 = !{!97, !98, i64 0} -!101 = !{!102} -!102 = distinct !{!102, !103, !"_ZSt19__relocate_object_aIN11OpenImageIO6v3_1_07ustringES2_SaIS2_EEvPT_PT0_RT1_: argument 0"} -!103 = distinct !{!103, !"_ZSt19__relocate_object_aIN11OpenImageIO6v3_1_07ustringES2_SaIS2_EEvPT_PT0_RT1_"} -!104 = !{!105} -!105 = distinct !{!105, !103, !"_ZSt19__relocate_object_aIN11OpenImageIO6v3_1_07ustringES2_SaIS2_EEvPT_PT0_RT1_: argument 1"} -!106 = distinct !{!106, !29} +!99 = !{!97, !98, i64 0} +!100 = !{!101} +!101 = distinct !{!101, !102, !"_ZSt19__relocate_object_aIN11OpenImageIO6v3_1_07ustringES2_SaIS2_EEvPT_PT0_RT1_: argument 0"} +!102 = distinct !{!102, !"_ZSt19__relocate_object_aIN11OpenImageIO6v3_1_07ustringES2_SaIS2_EEvPT_PT0_RT1_"} +!103 = !{!104} +!104 = distinct !{!104, !102, !"_ZSt19__relocate_object_aIN11OpenImageIO6v3_1_07ustringES2_SaIS2_EEvPT_PT0_RT1_: argument 1"} +!105 = distinct !{!105, !29} +!106 = !{!97, !98, i64 16} !107 = !{!72, !15, i64 32} !108 = !{!72, !12, i64 40} !109 = distinct !{!109, !29} diff --git a/bench/openblas/optimized/dgedmd.ll b/bench/openblas/optimized/dgedmd.ll index b324ec5c5d6..67f7b865819 100644 --- a/bench/openblas/optimized/dgedmd.ll +++ b/bench/openblas/optimized/dgedmd.ll @@ -562,8 +562,8 @@ default.unreachable: ; preds = %142 br i1 %.not959.not, label %.lr.ph, label %._crit_edge.loopexit, !llvm.loop !10 ._crit_edge.loopexit: ; preds = %294 - %.pre = load i32, ptr %13, align 4, !tbaa !3 - %.pre1183 = load i32, ptr %6, align 4, !tbaa !3 + %.pre = load i32, ptr %13, align 4 + %.pre1183 = load i32, ptr %6, align 4 br label %._crit_edge ._crit_edge: ; preds = %._crit_edge.loopexit, %253 @@ -655,7 +655,7 @@ default.unreachable: ; preds = %142 .loopexit1058: ; preds = %336, %302, %.thread1032 %.0864 = phi i32 [ 0, %.thread1032 ], [ 0, %302 ], [ %.2866, %336 ] - %.pre1186 = load i32, ptr %6, align 4, !tbaa !3 + %.pre1186 = load i32, ptr %6, align 4 br i1 %84, label %339, label %.loopexit1057 339: ; preds = %.loopexit1058 @@ -743,7 +743,7 @@ default.unreachable: ; preds = %142 br i1 %.not961.not, label %.lr.ph1077, label %._crit_edge1078, !llvm.loop !13 ._crit_edge1078: ; preds = %377 - %.pre1184 = load i32, ptr %6, align 4, !tbaa !3 + %.pre1184 = load i32, ptr %6, align 4 store i32 %.pre1184, ptr %31, align 4, !tbaa !3 %invariant.gep1079 = getelementptr i8, ptr %52, i64 8 %.not9621085 = icmp slt i32 %.pre1184, 1 @@ -812,7 +812,7 @@ default.unreachable: ; preds = %142 br i1 %.not962.not, label %.lr.ph1089, label %.loopexit1057.loopexit, !llvm.loop !14 .loopexit1057.loopexit: ; preds = %410 - %.pre1185 = load i32, ptr %6, align 4, !tbaa !3 + %.pre1185 = load i32, ptr %6, align 4 br label %.loopexit1057 .loopexit1057: ; preds = %339, %.loopexit1057.loopexit, %._crit_edge1078, %.loopexit1058 @@ -964,11 +964,12 @@ default.unreachable: ; preds = %142 .lr.ph1094: ; preds = %485 %488 = load double, ptr %12, align 8, !tbaa !7 %wide.trip.count = zext nneg i32 %486 to i64 + %.pre1187 = load double, ptr %25, align 8 br label %489 489: ; preds = %.lr.ph1094, %497 %490 = phi i32 [ 1, %.lr.ph1094 ], [ %498, %497 ] - %491 = phi double [ %465, %.lr.ph1094 ], [ %493, %497 ] + %491 = phi double [ %.pre1187, %.lr.ph1094 ], [ %493, %497 ] %indvars.iv1152 = phi i64 [ 1, %.lr.ph1094 ], [ %indvars.iv.next1153, %497 ] %492 = getelementptr double, ptr %25, i64 %indvars.iv1152 %493 = load double, ptr %492, align 8, !tbaa !7 @@ -1045,7 +1046,7 @@ default.unreachable: ; preds = %142 520: ; preds = %.loopexit1054 %.not9671112 = icmp slt i32 %509, 1 - %.pre1188 = load i32, ptr %6, align 4, !tbaa !3 + %.pre1188 = load i32, ptr %6, align 4 br i1 %.not9671112, label %._crit_edge1116, label %.lr.ph1115 .lr.ph1115: ; preds = %520 diff --git a/bench/openexr/optimized/ImfFastHuf.ll b/bench/openexr/optimized/ImfFastHuf.ll index 97e2217da25..dfd1a0474d9 100644 --- a/bench/openexr/optimized/ImfFastHuf.ll +++ b/bench/openexr/optimized/ImfFastHuf.ll @@ -55,7 +55,7 @@ define hidden void @_ZN7Imf_3_414FastHufDecoderC2ERPKciiii(ptr noundef nonnull a br label %23 .preheader166.loopexit: ; preds = %147 - %.promoted.pre = load i32, ptr %11, align 4, !tbaa !11 + %.promoted.pre = load i32, ptr %11, align 4 br label %.preheader166 .preheader166: ; preds = %.preheader166.loopexit, %6 @@ -69,7 +69,6 @@ define hidden void @_ZN7Imf_3_414FastHufDecoderC2ERPKciiii(ptr noundef nonnull a br label %156 23: ; preds = %.lr.ph, %147 - %.pre291 = phi i8 [ -1, %.lr.ph ], [ %.pre292, %147 ] %24 = phi i8 [ 0, %.lr.ph ], [ %148, %147 ] %25 = phi i8 [ -1, %.lr.ph ], [ %149, %147 ] %.078210 = phi i64 [ %17, %.lr.ph ], [ %150, %147 ] @@ -309,16 +308,14 @@ _ZNSt6vectorImSaImEE11_S_relocateEPmS2_S2_RS0_.exit16.i.i.i: ; preds = %127, %.n 128: ; preds = %_ZNSt6vectorImSaImEE11_S_relocateEPmS2_S2_RS0_.exit16.i.i.i tail call void @_ZdlPvm(ptr noundef nonnull %.sroa.0148.0209, i64 noundef %115) #21 - %.pre.pre = load i8, ptr %12, align 8, !tbaa !12 br label %_ZNSt6vectorImSaImEE17_M_realloc_insertIJmEEEvN9__gnu_cxx17__normal_iteratorIPmS1_EEDpOT_.exit.i.i _ZNSt6vectorImSaImEE17_M_realloc_insertIJmEEEvN9__gnu_cxx17__normal_iteratorIPmS1_EEDpOT_.exit.i.i: ; preds = %128, %_ZNSt6vectorImSaImEE11_S_relocateEPmS2_S2_RS0_.exit16.i.i.i - %.pre = phi i8 [ %.pre.pre, %128 ], [ %.pre291, %_ZNSt6vectorImSaImEE11_S_relocateEPmS2_S2_RS0_.exit16.i.i.i ] %129 = getelementptr inbounds nuw i64, ptr %124, i64 %122 + %.pre = load i8, ptr %12, align 8 br label %_ZNSt6vectorImSaImEE9push_backEOm.exit _ZNSt6vectorImSaImEE9push_backEOm.exit: ; preds = %_ZNSt6vectorImSaImEE17_M_realloc_insertIJmEEEvN9__gnu_cxx17__normal_iteratorIPmS1_EEDpOT_.exit.i.i, %111 - %.pre294 = phi i8 [ %.pre, %_ZNSt6vectorImSaImEE17_M_realloc_insertIJmEEEvN9__gnu_cxx17__normal_iteratorIPmS1_EEDpOT_.exit.i.i ], [ %.pre291, %111 ] %130 = phi i8 [ %.pre, %_ZNSt6vectorImSaImEE17_M_realloc_insertIJmEEEvN9__gnu_cxx17__normal_iteratorIPmS1_EEDpOT_.exit.i.i ], [ %25, %111 ] %.sroa.13.2 = phi ptr [ %129, %_ZNSt6vectorImSaImEE17_M_realloc_insertIJmEEEvN9__gnu_cxx17__normal_iteratorIPmS1_EEDpOT_.exit.i.i ], [ %.sroa.13.0207, %111 ] %.pn = phi ptr [ %125, %_ZNSt6vectorImSaImEE17_M_realloc_insertIJmEEEvN9__gnu_cxx17__normal_iteratorIPmS1_EEDpOT_.exit.i.i ], [ %.sroa.9.0208, %111 ] @@ -344,7 +341,6 @@ _ZNSt6vectorImSaImEE9push_backEOm.exit: ; preds = %_ZNSt6vectorImSaImE br label %246 135: ; preds = %133, %_ZNSt6vectorImSaImEE9push_backEOm.exit - %.pre293 = phi i8 [ %134, %133 ], [ %.pre294, %_ZNSt6vectorImSaImEE9push_backEOm.exit ] %136 = phi i8 [ %134, %133 ], [ %130, %_ZNSt6vectorImSaImEE9push_backEOm.exit ] %137 = load i8, ptr %13, align 1, !tbaa !13 %138 = zext i8 %137 to i64 @@ -365,7 +361,6 @@ _ZNSt6vectorImSaImEE9push_backEOm.exit: ; preds = %_ZNSt6vectorImSaImE br label %147 147: ; preds = %104, %142, %107, %87 - %.pre292 = phi i8 [ %.pre291, %87 ], [ %.pre291, %104 ], [ %.pre291, %107 ], [ %.pre293, %142 ] %148 = phi i8 [ %24, %87 ], [ %24, %104 ], [ %24, %107 ], [ %143, %142 ] %149 = phi i8 [ %25, %87 ], [ %25, %104 ], [ %25, %107 ], [ %136, %142 ] %.1160 = phi ptr [ %.3162, %87 ], [ %.2161, %104 ], [ %.2161, %107 ], [ %.2161, %142 ] @@ -1234,7 +1229,7 @@ _ZN7Imf_3_414FastHufDecoder6refillERmiS1_RiRPKhS2_.exit92: ; preds = %._ZN7Imf_3 .lr.ph: ; preds = %171 %173 = zext nneg i32 %.059227 to i64 %gep = getelementptr i16, ptr %invariant.gep, i64 %173 - %.pre = load i16, ptr %gep, align 2, !tbaa !39 + %.pre = load i16, ptr %gep, align 2 %invariant.gep258 = getelementptr inbounds nuw i16, ptr %3, i64 %173 br label %181 diff --git a/bench/openspiel/optimized/go_board.ll b/bench/openspiel/optimized/go_board.ll index 55762dfb419..aa64fc089c7 100644 --- a/bench/openspiel/optimized/go_board.ll +++ b/bench/openspiel/optimized/go_board.ll @@ -4767,9 +4767,9 @@ _ZNK4absl7debian211string_view6substrEmm.exit.i.i.i: ; preds = %25 store i64 %34, ptr %.sroa.22.0..sroa_idx.i.i.i, align 8, !alias.scope !23 %35 = add i64 %26, %21 %36 = add i64 %35, %34 - %.sroa.2.0.copyload.i.i.i23.pre = load i64, ptr %.sroa.2.0..sroa_idx.i1.i, align 8, !noalias !26 + %.sroa.2.0.copyload.i.i.i23.pre = load i64, ptr %.sroa.2.0..sroa_idx.i1.i, align 8 %.pre = load i32, ptr %12, align 8 - br label %_ZNK4absl7debian216strings_internal8SplitterINS0_6ByCharENS0_10AllowEmptyENS0_11string_viewEE5beginEv.exit, !llvm.loop !29 + br label %_ZNK4absl7debian216strings_internal8SplitterINS0_6ByCharENS0_10AllowEmptyENS0_11string_viewEE5beginEv.exit, !llvm.loop !26 _ZNK4absl7debian216strings_internal8SplitterINS0_6ByCharENS0_10AllowEmptyENS0_11string_viewEE5beginEv.exit: ; preds = %17, %_ZNK4absl7debian211string_view6substrEmm.exit.i.i.i %37 = phi i32 [ %.pre, %_ZNK4absl7debian211string_view6substrEmm.exit.i.i.i ], [ 2, %17 ] @@ -4926,7 +4926,7 @@ _ZNK4absl7debian211string_view6substrEmm.exit.i: ; preds = %84 %93 = add i64 %92, %89 store i64 %93, ptr %4, align 8 %.pre49 = load i32, ptr %12, align 8 - br label %_ZN4absl7debian216strings_internal13SplitIteratorINS1_8SplitterINS0_6ByCharENS0_10AllowEmptyENS0_11string_viewEEEEppEv.exit, !llvm.loop !29 + br label %_ZN4absl7debian216strings_internal13SplitIteratorINS1_8SplitterINS0_6ByCharENS0_10AllowEmptyENS0_11string_viewEEEEppEv.exit, !llvm.loop !26 _ZN4absl7debian216strings_internal13SplitIteratorINS1_8SplitterINS0_6ByCharENS0_10AllowEmptyENS0_11string_viewEEEEppEv.exit: ; preds = %69, %_ZNK4absl7debian211string_view6substrEmm.exit.i %94 = phi i64 [ %.pre50, %69 ], [ %93, %_ZNK4absl7debian211string_view6substrEmm.exit.i ] @@ -5220,12 +5220,12 @@ _ZNSt6vectorItSaItEE9push_backEOt.exit.us: ; preds = %_ZNSt6vectorItSaItE %40 = phi ptr [ %36, %_ZNSt6vectorItSaItEE17_M_realloc_insertIJtEEEvN9__gnu_cxx17__normal_iteratorIPtS1_EEDpOT_.exit.i.i.us ], [ %19, %18 ] %41 = add nuw nsw i32 %storemerge614.us, 1 %exitcond.not = icmp eq i32 %41, %1 - br i1 %exitcond.not, label %._crit_edge.us, label %14, !llvm.loop !30 + br i1 %exitcond.not, label %._crit_edge.us, label %14, !llvm.loop !27 ._crit_edge.us: ; preds = %_ZNSt6vectorItSaItEE9push_backEOt.exit.us %42 = add nuw nsw i32 %storemerge16.us, 1 %exitcond18.not = icmp eq i32 %42, %1 - br i1 %exitcond18.not, label %._crit_edge17, label %.preheader.us, !llvm.loop !31 + br i1 %exitcond18.not, label %._crit_edge17, label %.preheader.us, !llvm.loop !28 .loopexit.split.us: ; preds = %_ZNKSt6vectorItSaItEE12_M_check_lenEmPKc.exit.i.i.i.us %lpad.loopexit.us = landingpad { ptr, i32 } @@ -5492,23 +5492,23 @@ _ZN4absl7debian224uniform_int_distributionImEclISt23mersenne_twister_engineImLm6 .lr.ph.i.i.i: ; preds = %48, %.lr.ph.i.i.i %.012.i.i.i = phi ptr [ %57, %.lr.ph.i.i.i ], [ %21, %48 ] %.0911.i.i.i = phi ptr [ %56, %.lr.ph.i.i.i ], [ %7, %48 ] + call void @llvm.experimental.noalias.scope.decl(metadata !29) call void @llvm.experimental.noalias.scope.decl(metadata !32) - call void @llvm.experimental.noalias.scope.decl(metadata !35) - %49 = load ptr, ptr %.0911.i.i.i, align 8, !alias.scope !35, !noalias !32 - store ptr %49, ptr %.012.i.i.i, align 8, !alias.scope !32, !noalias !35 + %49 = load ptr, ptr %.0911.i.i.i, align 8, !alias.scope !32, !noalias !29 + store ptr %49, ptr %.012.i.i.i, align 8, !alias.scope !29, !noalias !32 %50 = getelementptr inbounds nuw i8, ptr %.012.i.i.i, i64 8 %51 = getelementptr inbounds nuw i8, ptr %.0911.i.i.i, i64 8 - %52 = load ptr, ptr %51, align 8, !alias.scope !35, !noalias !32 - store ptr %52, ptr %50, align 8, !alias.scope !32, !noalias !35 + %52 = load ptr, ptr %51, align 8, !alias.scope !32, !noalias !29 + store ptr %52, ptr %50, align 8, !alias.scope !29, !noalias !32 %53 = getelementptr inbounds nuw i8, ptr %.012.i.i.i, i64 16 %54 = getelementptr inbounds nuw i8, ptr %.0911.i.i.i, i64 16 - %55 = load ptr, ptr %54, align 8, !alias.scope !35, !noalias !32 - store ptr %55, ptr %53, align 8, !alias.scope !32, !noalias !35 - call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %.0911.i.i.i, i8 0, i64 24, i1 false), !alias.scope !35, !noalias !32 + %55 = load ptr, ptr %54, align 8, !alias.scope !32, !noalias !29 + store ptr %55, ptr %53, align 8, !alias.scope !29, !noalias !32 + call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %.0911.i.i.i, i8 0, i64 24, i1 false), !alias.scope !32, !noalias !29 %56 = getelementptr inbounds nuw i8, ptr %.0911.i.i.i, i64 24 %57 = getelementptr inbounds nuw i8, ptr %.012.i.i.i, i64 24 %.not.i.i.i26 = icmp eq ptr %56, %1 - br i1 %.not.i.i.i26, label %_ZNSt6vectorIN10open_spiel12chess_common12ZobristTableImLm2EJEEESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit, label %.lr.ph.i.i.i, !llvm.loop !37 + br i1 %.not.i.i.i26, label %_ZNSt6vectorIN10open_spiel12chess_common12ZobristTableImLm2EJEEESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit, label %.lr.ph.i.i.i, !llvm.loop !34 _ZNSt6vectorIN10open_spiel12chess_common12ZobristTableImLm2EJEEESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit: ; preds = %.lr.ph.i.i.i, %48 %.0.lcssa.i.i.i = phi ptr [ %21, %48 ], [ %57, %.lr.ph.i.i.i ] @@ -5519,23 +5519,23 @@ _ZNSt6vectorIN10open_spiel12chess_common12ZobristTableImLm2EJEEESaIS3_EE11_S_rel .lr.ph.i.i.i28: ; preds = %_ZNSt6vectorIN10open_spiel12chess_common12ZobristTableImLm2EJEEESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit, %.lr.ph.i.i.i28 %.012.i.i.i29 = phi ptr [ %67, %.lr.ph.i.i.i28 ], [ %58, %_ZNSt6vectorIN10open_spiel12chess_common12ZobristTableImLm2EJEEESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit ] %.0911.i.i.i30 = phi ptr [ %66, %.lr.ph.i.i.i28 ], [ %1, %_ZNSt6vectorIN10open_spiel12chess_common12ZobristTableImLm2EJEEESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit ] + call void @llvm.experimental.noalias.scope.decl(metadata !35) call void @llvm.experimental.noalias.scope.decl(metadata !38) - call void @llvm.experimental.noalias.scope.decl(metadata !41) - %59 = load ptr, ptr %.0911.i.i.i30, align 8, !alias.scope !41, !noalias !38 - store ptr %59, ptr %.012.i.i.i29, align 8, !alias.scope !38, !noalias !41 + %59 = load ptr, ptr %.0911.i.i.i30, align 8, !alias.scope !38, !noalias !35 + store ptr %59, ptr %.012.i.i.i29, align 8, !alias.scope !35, !noalias !38 %60 = getelementptr inbounds nuw i8, ptr %.012.i.i.i29, i64 8 %61 = getelementptr inbounds nuw i8, ptr %.0911.i.i.i30, i64 8 - %62 = load ptr, ptr %61, align 8, !alias.scope !41, !noalias !38 - store ptr %62, ptr %60, align 8, !alias.scope !38, !noalias !41 + %62 = load ptr, ptr %61, align 8, !alias.scope !38, !noalias !35 + store ptr %62, ptr %60, align 8, !alias.scope !35, !noalias !38 %63 = getelementptr inbounds nuw i8, ptr %.012.i.i.i29, i64 16 %64 = getelementptr inbounds nuw i8, ptr %.0911.i.i.i30, i64 16 - %65 = load ptr, ptr %64, align 8, !alias.scope !41, !noalias !38 - store ptr %65, ptr %63, align 8, !alias.scope !38, !noalias !41 - call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %.0911.i.i.i30, i8 0, i64 24, i1 false), !alias.scope !41, !noalias !38 + %65 = load ptr, ptr %64, align 8, !alias.scope !38, !noalias !35 + store ptr %65, ptr %63, align 8, !alias.scope !35, !noalias !38 + call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %.0911.i.i.i30, i8 0, i64 24, i1 false), !alias.scope !38, !noalias !35 %66 = getelementptr inbounds nuw i8, ptr %.0911.i.i.i30, i64 24 %67 = getelementptr inbounds nuw i8, ptr %.012.i.i.i29, i64 24 %.not.i.i.i31 = icmp eq ptr %66, %6 - br i1 %.not.i.i.i31, label %_ZNSt6vectorIN10open_spiel12chess_common12ZobristTableImLm2EJEEESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit33, label %.lr.ph.i.i.i28, !llvm.loop !37 + br i1 %.not.i.i.i31, label %_ZNSt6vectorIN10open_spiel12chess_common12ZobristTableImLm2EJEEESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit33, label %.lr.ph.i.i.i28, !llvm.loop !34 _ZNSt6vectorIN10open_spiel12chess_common12ZobristTableImLm2EJEEESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit33: ; preds = %.lr.ph.i.i.i28, %_ZNSt6vectorIN10open_spiel12chess_common12ZobristTableImLm2EJEEESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit %.0.lcssa.i.i.i32 = phi ptr [ %58, %_ZNSt6vectorIN10open_spiel12chess_common12ZobristTableImLm2EJEEESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit ], [ %67, %.lr.ph.i.i.i28 ] @@ -5626,7 +5626,7 @@ define linkonce_odr noundef i64 @_ZNSt23mersenne_twister_engineImLm64ELm312ELm15 %22 = xor i64 %19, %21 store i64 %22, ptr %8, align 8 %exitcond.not.i = icmp eq i64 %10, 156 - br i1 %exitcond.not.i, label %.preheader.preheader.i, label %6, !llvm.loop !43 + br i1 %exitcond.not.i, label %.preheader.preheader.i, label %6, !llvm.loop !40 .preheader.preheader.i: ; preds = %6 %.phi.trans.insert.i = getelementptr inbounds nuw i8, ptr %0, i64 1248 @@ -5654,7 +5654,7 @@ define linkonce_odr noundef i64 @_ZNSt23mersenne_twister_engineImLm64ELm312ELm15 %38 = xor i64 %35, %37 store i64 %38, ptr %24, align 8 %exitcond23.not.i = icmp eq i64 %26, 311 - br i1 %exitcond23.not.i, label %_ZNSt23mersenne_twister_engineImLm64ELm312ELm156ELm31ELm13043109905998158313ELm29ELm6148914691236517205ELm17ELm8202884508482404352ELm37ELm18444473444759240704ELm43ELm6364136223846793005EE11_M_gen_randEv.exit, label %.preheader.i, !llvm.loop !44 + br i1 %exitcond23.not.i, label %_ZNSt23mersenne_twister_engineImLm64ELm312ELm156ELm31ELm13043109905998158313ELm29ELm6148914691236517205ELm17ELm8202884508482404352ELm37ELm18444473444759240704ELm43ELm6364136223846793005EE11_M_gen_randEv.exit, label %.preheader.i, !llvm.loop !41 _ZNSt23mersenne_twister_engineImLm64ELm312ELm156ELm31ELm13043109905998158313ELm29ELm6148914691236517205ELm17ELm8202884508482404352ELm37ELm18444473444759240704ELm43ELm6364136223846793005EE11_M_gen_randEv.exit: ; preds = %.preheader.i %39 = getelementptr inbounds nuw i8, ptr %0, i64 2488 @@ -5869,22 +5869,19 @@ attributes #31 = { noreturn nounwind } !23 = !{!24} !24 = distinct !{!24, !25, !"_ZNK4absl7debian216strings_internal8SplitterINS0_6ByCharENS0_10AllowEmptyENS0_11string_viewEE5beginEv: argument 0"} !25 = distinct !{!25, !"_ZNK4absl7debian216strings_internal8SplitterINS0_6ByCharENS0_10AllowEmptyENS0_11string_viewEE5beginEv"} -!26 = !{!27} -!27 = distinct !{!27, !28, !"_ZNK4absl7debian216strings_internal8SplitterINS0_6ByCharENS0_10AllowEmptyENS0_11string_viewEE3endEv: argument 0"} -!28 = distinct !{!28, !"_ZNK4absl7debian216strings_internal8SplitterINS0_6ByCharENS0_10AllowEmptyENS0_11string_viewEE3endEv"} -!29 = distinct !{!29, !6} -!30 = distinct !{!30, !6} -!31 = distinct !{!31, !6} +!26 = distinct !{!26, !6} +!27 = distinct !{!27, !6} +!28 = distinct !{!28, !6} +!29 = !{!30} +!30 = distinct !{!30, !31, !"_ZSt19__relocate_object_aIN10open_spiel12chess_common12ZobristTableImLm2EJEEES3_SaIS3_EEvPT_PT0_RT1_: argument 0"} +!31 = distinct !{!31, !"_ZSt19__relocate_object_aIN10open_spiel12chess_common12ZobristTableImLm2EJEEES3_SaIS3_EEvPT_PT0_RT1_"} !32 = !{!33} -!33 = distinct !{!33, !34, !"_ZSt19__relocate_object_aIN10open_spiel12chess_common12ZobristTableImLm2EJEEES3_SaIS3_EEvPT_PT0_RT1_: argument 0"} -!34 = distinct !{!34, !"_ZSt19__relocate_object_aIN10open_spiel12chess_common12ZobristTableImLm2EJEEES3_SaIS3_EEvPT_PT0_RT1_"} +!33 = distinct !{!33, !31, !"_ZSt19__relocate_object_aIN10open_spiel12chess_common12ZobristTableImLm2EJEEES3_SaIS3_EEvPT_PT0_RT1_: argument 1"} +!34 = distinct !{!34, !6} !35 = !{!36} -!36 = distinct !{!36, !34, !"_ZSt19__relocate_object_aIN10open_spiel12chess_common12ZobristTableImLm2EJEEES3_SaIS3_EEvPT_PT0_RT1_: argument 1"} -!37 = distinct !{!37, !6} +!36 = distinct !{!36, !37, !"_ZSt19__relocate_object_aIN10open_spiel12chess_common12ZobristTableImLm2EJEEES3_SaIS3_EEvPT_PT0_RT1_: argument 0"} +!37 = distinct !{!37, !"_ZSt19__relocate_object_aIN10open_spiel12chess_common12ZobristTableImLm2EJEEES3_SaIS3_EEvPT_PT0_RT1_"} !38 = !{!39} -!39 = distinct !{!39, !40, !"_ZSt19__relocate_object_aIN10open_spiel12chess_common12ZobristTableImLm2EJEEES3_SaIS3_EEvPT_PT0_RT1_: argument 0"} -!40 = distinct !{!40, !"_ZSt19__relocate_object_aIN10open_spiel12chess_common12ZobristTableImLm2EJEEES3_SaIS3_EEvPT_PT0_RT1_"} -!41 = !{!42} -!42 = distinct !{!42, !40, !"_ZSt19__relocate_object_aIN10open_spiel12chess_common12ZobristTableImLm2EJEEES3_SaIS3_EEvPT_PT0_RT1_: argument 1"} -!43 = distinct !{!43, !6} -!44 = distinct !{!44, !6} +!39 = distinct !{!39, !37, !"_ZSt19__relocate_object_aIN10open_spiel12chess_common12ZobristTableImLm2EJEEES3_SaIS3_EEvPT_PT0_RT1_: argument 1"} +!40 = distinct !{!40, !6} +!41 = distinct !{!41, !6} diff --git a/bench/openssl/optimized/quic_rcidm.ll b/bench/openssl/optimized/quic_rcidm.ll index 5d872b107e3..3be69701b61 100644 --- a/bench/openssl/optimized/quic_rcidm.ll +++ b/bench/openssl/optimized/quic_rcidm.ll @@ -856,27 +856,29 @@ define range(i32 0, 2) i32 @ossl_quic_rcidm_pop_retire_seq_num(ptr noundef captu %24 = load ptr, ptr %23, align 8, !tbaa !31 %25 = icmp eq ptr %24, %.val.i %26 = getelementptr inbounds nuw i8, ptr %.val.i, i64 8 - %27 = load ptr, ptr %26, align 8, !tbaa !32 + %27 = load ptr, ptr %26, align 8 br i1 %25, label %28, label %._crit_edge.i.i.i 28: ; preds = %21 store ptr %27, ptr %23, align 8, !tbaa !31 + %.pre19.i.i.pre.i = load ptr, ptr %.val.i, align 8 br label %._crit_edge.i.i.i ._crit_edge.i.i.i: ; preds = %28, %21 + %.pre19.i.i.i = phi ptr [ %.pre19.i.i.pre.i, %28 ], [ %22, %21 ] %.not.i.i.i = icmp eq ptr %27, null br i1 %.not.i.i.i, label %30, label %29 29: ; preds = %._crit_edge.i.i.i - store ptr %22, ptr %27, align 8, !tbaa !24 + store ptr %.pre19.i.i.i, ptr %27, align 8, !tbaa !24 br label %30 30: ; preds = %29, %._crit_edge.i.i.i - %.not18.i.i.i = icmp eq ptr %22, null + %.not18.i.i.i = icmp eq ptr %.pre19.i.i.i, null br i1 %.not18.i.i.i, label %ossl_list_retiring_remove.exit.i.i, label %31 31: ; preds = %30 - %32 = getelementptr inbounds nuw i8, ptr %22, i64 8 + %32 = getelementptr inbounds nuw i8, ptr %.pre19.i.i.i, i64 8 store ptr %27, ptr %32, align 8, !tbaa !32 br label %ossl_list_retiring_remove.exit.i.i diff --git a/bench/openssl/optimized/test_test.ll b/bench/openssl/optimized/test_test.ll index 9c8734d3a68..952fcd8605c 100644 --- a/bench/openssl/optimized/test_test.ll +++ b/bench/openssl/optimized/test_test.ll @@ -3187,7 +3187,7 @@ define internal range(i32 0, 2) i32 @test_bn_output(i32 noundef %0) #0 { %3 = sext i32 %0 to i64 %4 = getelementptr inbounds [4 x ptr], ptr @bn_output_tests, i64 0, i64 %3 %.not = icmp eq i32 %0, 0 - %.pre = load ptr, ptr %4, align 8, !tbaa !14 + %.pre = load ptr, ptr %4, align 8 br i1 %.not, label %10, label %5 5: ; preds = %1 @@ -3199,7 +3199,7 @@ define internal range(i32 0, 2) i32 @test_bn_output(i32 noundef %0) #0 { br i1 %.not5, label %13, label %._crit_edge ._crit_edge: ; preds = %5 - %.pre6 = load ptr, ptr %2, align 8, !tbaa !12 + %.pre6 = load ptr, ptr %2, align 8 br label %10 10: ; preds = %._crit_edge, %1 @@ -3437,5 +3437,3 @@ attributes #6 = { cold nounwind } !11 = !{!7, !7, i64 0} !12 = !{!13, !13, i64 0} !13 = !{!"p1 _ZTS9bignum_st", !6, i64 0} -!14 = !{!15, !15, i64 0} -!15 = !{!"p1 omnipotent char", !6, i64 0} diff --git a/bench/openusd/optimized/faceTopology.ll b/bench/openusd/optimized/faceTopology.ll index 0bc13b77a39..436629200b0 100644 --- a/bench/openusd/optimized/faceTopology.ll +++ b/bench/openusd/optimized/faceTopology.ll @@ -277,7 +277,7 @@ define void @_ZN10OpenSubdiv6v3_6_03Bfr12FaceTopology23ResolveUnOrderedCornersEP 15: ; preds = %8 tail call void @_ZN10OpenSubdiv6v3_6_03Bfr10FaceVertex21ConnectUnOrderedFacesEPKi(ptr noundef nonnull align 8 dereferenceable(224) %11, ptr noundef %.014) - %.pre = load i16, ptr %12, align 8, !noalias !15 + %.pre = load i16, ptr %12, align 8 %.0.copyload.i.i.pre = load i16, ptr %3, align 4 %.pre18 = load i32, ptr %4, align 8 br label %16 @@ -295,7 +295,7 @@ define void @_ZN10OpenSubdiv6v3_6_03Bfr12FaceTopology23ResolveUnOrderedCornersEP %indvars.iv.next = add nuw nsw i64 %indvars.iv, 1 %24 = sext i32 %17 to i64 %25 = icmp slt i64 %indvars.iv.next, %24 - br i1 %25, label %8, label %._crit_edge, !llvm.loop !18 + br i1 %25, label %8, label %._crit_edge, !llvm.loop !15 ._crit_edge: ; preds = %16, %2 ret void @@ -375,7 +375,7 @@ define void @_ZNK10OpenSubdiv6v3_6_03Bfr12FaceTopology5printEPKi(ptr noundef non %51 = load i16, ptr %50, align 2 %52 = sext i16 %51 to i32 %53 = getelementptr inbounds nuw i8, ptr %49, i64 152 - %54 = load i16, ptr %53, align 8, !noalias !19 + %54 = load i16, ptr %53, align 8, !noalias !16 %55 = and i16 %54, 1 %56 = zext nneg i16 %55 to i32 %57 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.13, i32 noundef %52, i32 noundef %56) @@ -429,7 +429,7 @@ _ZNK10OpenSubdiv6v3_6_03Bfr10FaceVertex11GetFaceSizeEi.exit: ; preds = %66, %68 %81 = add nuw nsw i32 %.045, 1 %indvars.iv.next = add nsw i64 %indvars.iv, 1 %exitcond.not = icmp eq i32 %81, %75 - br i1 %exitcond.not, label %._crit_edge.loopexit, label %.lr.ph, !llvm.loop !22 + br i1 %exitcond.not, label %._crit_edge.loopexit, label %.lr.ph, !llvm.loop !19 ._crit_edge.loopexit: ; preds = %.lr.ph %82 = trunc nsw i64 %indvars.iv.next to i32 @@ -442,7 +442,7 @@ _ZNK10OpenSubdiv6v3_6_03Bfr10FaceVertex11GetFaceSizeEi.exit: ; preds = %66, %68 %83 = load i16, ptr %50, align 2 %84 = sext i16 %83 to i64 %85 = icmp slt i64 %indvars.iv.next57, %84 - br i1 %85, label %62, label %._crit_edge50, !llvm.loop !23 + br i1 %85, label %62, label %._crit_edge50, !llvm.loop !20 ._crit_edge50: ; preds = %._crit_edge, %45 %86 = getelementptr inbounds nuw i8, ptr %49, i64 160 @@ -453,7 +453,7 @@ _ZNK10OpenSubdiv6v3_6_03Bfr10FaceVertex11GetFaceSizeEi.exit: ; preds = %66, %68 %90 = load i32, ptr %4, align 8 %91 = sext i32 %90 to i64 %92 = icmp slt i64 %indvars.iv.next60, %91 - br i1 %92, label %45, label %.loopexit, !llvm.loop !24 + br i1 %92, label %45, label %.loopexit, !llvm.loop !21 .loopexit: ; preds = %._crit_edge50, %2 ret void @@ -496,13 +496,10 @@ attributes #9 = { allocsize(0) } !12 = !{!13} !13 = distinct !{!13, !14, !"_ZNK10OpenSubdiv6v3_6_03Bfr10FaceVertex6GetTagEv: argument 0"} !14 = distinct !{!14, !"_ZNK10OpenSubdiv6v3_6_03Bfr10FaceVertex6GetTagEv"} -!15 = !{!16} -!16 = distinct !{!16, !17, !"_ZNK10OpenSubdiv6v3_6_03Bfr10FaceVertex6GetTagEv: argument 0"} -!17 = distinct !{!17, !"_ZNK10OpenSubdiv6v3_6_03Bfr10FaceVertex6GetTagEv"} -!18 = distinct !{!18, !6} -!19 = !{!20} -!20 = distinct !{!20, !21, !"_ZNK10OpenSubdiv6v3_6_03Bfr10FaceVertex6GetTagEv: argument 0"} -!21 = distinct !{!21, !"_ZNK10OpenSubdiv6v3_6_03Bfr10FaceVertex6GetTagEv"} -!22 = distinct !{!22, !6} -!23 = distinct !{!23, !6} -!24 = distinct !{!24, !6} +!15 = distinct !{!15, !6} +!16 = !{!17} +!17 = distinct !{!17, !18, !"_ZNK10OpenSubdiv6v3_6_03Bfr10FaceVertex6GetTagEv: argument 0"} +!18 = distinct !{!18, !"_ZNK10OpenSubdiv6v3_6_03Bfr10FaceVertex6GetTagEv"} +!19 = distinct !{!19, !6} +!20 = distinct !{!20, !6} +!21 = distinct !{!21, !6} diff --git a/bench/openusd/optimized/irregularPatchBuilder.ll b/bench/openusd/optimized/irregularPatchBuilder.ll index d69184b0311..2fba31ebed8 100644 --- a/bench/openusd/optimized/irregularPatchBuilder.ll +++ b/bench/openusd/optimized/irregularPatchBuilder.ll @@ -5130,7 +5130,7 @@ _ZN10OpenSubdiv6v3_6_03Vtr8internal11StackBufferIfLj64ELb1EEC2Ej.exit: ; preds = .loopexit.loopexit: ; preds = %86 %.phi.trans.insert = getelementptr inbounds nuw i8, ptr %88, i64 136 - %.pre89 = load i16, ptr %.phi.trans.insert, align 8, !noalias !46 + %.pre89 = load i16, ptr %.phi.trans.insert, align 8 br label %.loopexit .loopexit: ; preds = %.loopexit.loopexit, %_ZN10OpenSubdiv6v3_6_03Vtr8internal11StackBufferIfLj64ELb1EEC2Ej.exit, %56 @@ -5283,7 +5283,7 @@ _ZNK10OpenSubdiv6v3_6_03Bfr21IrregularPatchBuilder27removeDuplicateControlFacesE %.1 = phi i32 [ %11, %103 ], [ %.3, %150 ] %157 = load ptr, ptr %1, align 8 %158 = getelementptr inbounds nuw i8, ptr %157, i64 136 - %159 = load i16, ptr %158, align 8, !noalias !49 + %159 = load i16, ptr %158, align 8, !noalias !46 %160 = and i16 %159, 1 %.not82 = icmp eq i16 %160, 0 br i1 %.not82, label %_ZNK10OpenSubdiv6v3_6_03Bfr21IrregularPatchBuilder27sharpenBoundaryControlEdgesEPiPfS3_.exit, label %161 @@ -5749,6 +5749,3 @@ attributes #24 = { nounwind willreturn memory(read) } !46 = !{!47} !47 = distinct !{!47, !48, !"_ZNK10OpenSubdiv6v3_6_03Bfr11FaceSurface6GetTagEv: argument 0"} !48 = distinct !{!48, !"_ZNK10OpenSubdiv6v3_6_03Bfr11FaceSurface6GetTagEv"} -!49 = !{!50} -!50 = distinct !{!50, !51, !"_ZNK10OpenSubdiv6v3_6_03Bfr11FaceSurface6GetTagEv: argument 0"} -!51 = distinct !{!51, !"_ZNK10OpenSubdiv6v3_6_03Bfr11FaceSurface6GetTagEv"} diff --git a/bench/pbrt-v4/optimized/rgb2spec_opt.ll b/bench/pbrt-v4/optimized/rgb2spec_opt.ll index df75208c4ba..2aa626f9a19 100644 --- a/bench/pbrt-v4/optimized/rgb2spec_opt.ll +++ b/bench/pbrt-v4/optimized/rgb2spec_opt.ll @@ -375,9 +375,9 @@ define dso_local void @_Z8LUPSolvePPdPKiPKdiS_(ptr noundef readonly captures(non .preheader.._crit_edge49_crit_edge: ; preds = %.preheader %.phi.trans.insert = getelementptr inbounds nuw double, ptr %4, i64 %indvars.iv.next62 - %.pre = load double, ptr %.phi.trans.insert, align 8, !tbaa !4 + %.pre = load double, ptr %.phi.trans.insert, align 8 %.phi.trans.insert67 = getelementptr inbounds nuw ptr, ptr %0, i64 %indvars.iv.next62 - %.pre68 = load ptr, ptr %.phi.trans.insert67, align 8, !tbaa !13 + %.pre68 = load ptr, ptr %.phi.trans.insert67, align 8 br label %._crit_edge49 .lr.ph48: ; preds = %.preheader @@ -1325,9 +1325,9 @@ _Z12LUPDecomposePPdidPi.exit: ; preds = %.loopexit.i .preheader.._crit_edge49_crit_edge.i: ; preds = %.preheader.i46 %.phi.trans.insert.i = getelementptr inbounds nuw double, ptr %11, i64 %indvars.iv.next62.i - %.pre.i = load double, ptr %.phi.trans.insert.i, align 8, !tbaa !4 + %.pre.i = load double, ptr %.phi.trans.insert.i, align 8 %.phi.trans.insert67.i = getelementptr inbounds nuw ptr, ptr %8, i64 %indvars.iv.next62.i - %.pre68.i = load ptr, ptr %.phi.trans.insert67.i, align 8, !tbaa !13 + %.pre68.i = load ptr, ptr %.phi.trans.insert67.i, align 8 br label %._crit_edge49.i .lr.ph48.i: ; preds = %.preheader.i46 @@ -1624,7 +1624,7 @@ _ZNSt6vectorISt6threadSaIS0_EE9push_backEOS0_.exit: ; preds = %_ZNSt6vectorISt6t store ptr %52, ptr %8, align 8, !tbaa !39 %54 = getelementptr inbounds nuw %"class.std::thread", ptr %46, i64 %44 store ptr %54, ptr %9, align 8, !tbaa !56 - %.sroa.0.0.copyload.i.i.pr = load i64, ptr %4, align 8, !tbaa !57 + %.sroa.0.0.copyload.i.i.pr = load i64, ptr %4, align 8 %.not.i = icmp eq i64 %.sroa.0.0.copyload.i.i.pr, 0 br i1 %.not.i, label %_ZNSt6threadD2Ev.exit, label %55 @@ -1828,8 +1828,8 @@ _ZNSt10lock_guardISt5mutexEC2ERS0_.exit: ; preds = %7 br i1 %.not, label %thread-pre-split, label %.lr.ph thread-pre-split: ; preds = %16 - %.pr.pre = load ptr, ptr %2, align 8, !tbaa !42 - %.pre.pre = load ptr, ptr %4, align 8, !tbaa !39 + %.pr.pre = load ptr, ptr %2, align 8 + %.pre.pre = load ptr, ptr %4, align 8 %.not4.i.i.i.i = icmp eq ptr %.pr.pre, %.pre.pre br i1 %.not4.i.i.i.i, label %_ZSt8_DestroyIPSt6threadS0_EvT_S2_RSaIT0_E.exit.i, label %_ZSt8_DestroyISt6threadEvPT_.exit.i.i.i.i @@ -3046,8 +3046,8 @@ define internal void @"_ZNSt17_Function_handlerIFvlEZ4mainE3$_0E9_M_invokeERKSt9 .lr.ph.preheader.i.i.i: ; preds = %22 %31 = zext nneg i32 %29 to i64 - %.pre.i.i.i = load ptr, ptr %17, align 8, !tbaa !143 - %.pre78.i.i.i = load i32, ptr %.pre.i.i.i, align 4, !tbaa !8 + %.pre.i.i.i = load ptr, ptr %17, align 8 + %.pre78.i.i.i = load i32, ptr %.pre.i.i.i, align 4 br label %.lr.ph.i.i.i ._crit_edge.i.i.i: ; preds = %22 @@ -3055,20 +3055,19 @@ define internal void @"_ZNSt17_Function_handlerIFvlEZ4mainE3$_0E9_M_invokeERKSt9 br i1 %32, label %._crit_edge.i..lr.ph68.preheader.i_crit_edge.i.i, label %._crit_edge69.i.i.i ._crit_edge.i..lr.ph68.preheader.i_crit_edge.i.i: ; preds = %._crit_edge.i.i.i - %.pre79.i.pre.i.i = load ptr, ptr %17, align 8, !tbaa !143 - %.pre80.i.pre.i.i = load i32, ptr %.pre79.i.pre.i.i, align 4, !tbaa !8 %.pre.i.i = zext i32 %29 to i64 - br label %.lr.ph68.i.i.i.preheader + br label %.lr.ph68.preheader.i.i.i -.lr.ph68.i.i.i.preheader: ; preds = %._crit_edge.thread.i.i.i, %._crit_edge.i..lr.ph68.preheader.i_crit_edge.i.i - %.ph = phi i32 [ %55, %._crit_edge.thread.i.i.i ], [ %.pre80.i.pre.i.i, %._crit_edge.i..lr.ph68.preheader.i_crit_edge.i.i ] - %indvars.iv75.i.i.i.ph = phi i64 [ %31, %._crit_edge.thread.i.i.i ], [ %.pre.i.i, %._crit_edge.i..lr.ph68.preheader.i_crit_edge.i.i ] +.lr.ph68.preheader.i.i.i: ; preds = %._crit_edge.thread.i.i.i, %._crit_edge.i..lr.ph68.preheader.i_crit_edge.i.i + %.pre-phi.i.i = phi i64 [ %.pre.i.i, %._crit_edge.i..lr.ph68.preheader.i_crit_edge.i.i ], [ %31, %._crit_edge.thread.i.i.i ] + %.pre79.i.i.i = load ptr, ptr %17, align 8 + %.pre80.i.i.i = load i32, ptr %.pre79.i.i.i, align 4 br label %.lr.ph68.i.i.i .lr.ph.i.i.i: ; preds = %.lr.ph.i.i.i, %.lr.ph.preheader.i.i.i %33 = phi i32 [ %.pre78.i.i.i, %.lr.ph.preheader.i.i.i ], [ %55, %.lr.ph.i.i.i ] %indvars.iv.i.i.i = phi i64 [ %31, %.lr.ph.preheader.i.i.i ], [ %indvars.iv.next.i.i.i, %.lr.ph.i.i.i ] - %34 = load ptr, ptr %16, align 8, !tbaa !144 + %34 = load ptr, ptr %16, align 8, !tbaa !143 %35 = load ptr, ptr %34, align 8, !tbaa !114 %36 = getelementptr inbounds nuw float, ptr %35, i64 %indvars.iv.i.i.i %37 = load float, ptr %36, align 4, !tbaa !116 @@ -3092,7 +3091,7 @@ define internal void @"_ZNSt17_Function_handlerIFvlEZ4mainE3$_0E9_M_invokeERKSt9 %51 = load double, ptr %3, align 16, !tbaa !4 %52 = load double, ptr %18, align 8, !tbaa !4 %53 = load double, ptr %19, align 16, !tbaa !4 - %54 = load ptr, ptr %17, align 8, !tbaa !143 + %54 = load ptr, ptr %17, align 8, !tbaa !144 %55 = load i32, ptr %54, align 4, !tbaa !8 %56 = load ptr, ptr %.val, align 8, !tbaa !141 %57 = load i32, ptr %56, align 4, !tbaa !8 @@ -3134,7 +3133,7 @@ define internal void @"_ZNSt17_Function_handlerIFvlEZ4mainE3$_0E9_M_invokeERKSt9 ._crit_edge.thread.i.i.i: ; preds = %.lr.ph.i.i.i call void @llvm.memset.p0.i64(ptr noundef nonnull align 16 dereferenceable(24) %3, i8 0, i64 24, i1 false) - br label %.lr.ph68.i.i.i.preheader + br label %.lr.ph68.preheader.i.i.i ._crit_edge69.i.i.i: ; preds = %.lr.ph68.i.i.i, %._crit_edge.i.i.i %88 = phi ptr [ %23, %._crit_edge.i.i.i ], [ %115, %.lr.ph68.i.i.i ] @@ -3145,10 +3144,10 @@ define internal void @"_ZNSt17_Function_handlerIFvlEZ4mainE3$_0E9_M_invokeERKSt9 %91 = icmp slt i32 %89, %90 br i1 %91, label %22, label %"_ZSt10__invoke_rIvRZ4mainE3$_0JlEENSt9enable_ifIX16is_invocable_r_vIT_T0_DpT1_EES3_E4typeEOS4_DpOS5_.exit", !llvm.loop !147 -.lr.ph68.i.i.i: ; preds = %.lr.ph68.i.i.i.preheader, %.lr.ph68.i.i.i - %92 = phi i32 [ %114, %.lr.ph68.i.i.i ], [ %.ph, %.lr.ph68.i.i.i.preheader ] - %indvars.iv75.i.i.i = phi i64 [ %indvars.iv.next76.i.i.i, %.lr.ph68.i.i.i ], [ %indvars.iv75.i.i.i.ph, %.lr.ph68.i.i.i.preheader ] - %93 = load ptr, ptr %16, align 8, !tbaa !144 +.lr.ph68.i.i.i: ; preds = %.lr.ph68.i.i.i, %.lr.ph68.preheader.i.i.i + %92 = phi i32 [ %.pre80.i.i.i, %.lr.ph68.preheader.i.i.i ], [ %114, %.lr.ph68.i.i.i ] + %indvars.iv75.i.i.i = phi i64 [ %.pre-phi.i.i, %.lr.ph68.preheader.i.i.i ], [ %indvars.iv.next76.i.i.i, %.lr.ph68.i.i.i ] + %93 = load ptr, ptr %16, align 8, !tbaa !143 %94 = load ptr, ptr %93, align 8, !tbaa !114 %95 = getelementptr inbounds nuw float, ptr %94, i64 %indvars.iv75.i.i.i %96 = load float, ptr %95, align 4, !tbaa !116 @@ -3172,7 +3171,7 @@ define internal void @"_ZNSt17_Function_handlerIFvlEZ4mainE3$_0E9_M_invokeERKSt9 %110 = load double, ptr %3, align 16, !tbaa !4 %111 = load double, ptr %18, align 8, !tbaa !4 %112 = load double, ptr %19, align 16, !tbaa !4 - %113 = load ptr, ptr %17, align 8, !tbaa !143 + %113 = load ptr, ptr %17, align 8, !tbaa !144 %114 = load i32, ptr %113, align 4, !tbaa !8 %115 = load ptr, ptr %.val, align 8, !tbaa !141 %116 = load i32, ptr %115, align 4, !tbaa !8 @@ -3483,8 +3482,8 @@ attributes #42 = { cold nounwind } !140 = !{!"p1 _ZTSSt9type_info", !15, i64 0} !141 = !{!142, !120, i64 0} !142 = !{!"_ZTSZ4mainE3$_0", !120, i64 0, !122, i64 8, !120, i64 16, !122, i64 24} -!143 = !{!142, !120, i64 16} -!144 = !{!142, !122, i64 8} +!143 = !{!142, !122, i64 8} +!144 = !{!142, !120, i64 16} !145 = !{!142, !122, i64 24} !146 = distinct !{!146, !11} !147 = distinct !{!147, !11} diff --git a/bench/pcg-cpp/optimized/pcg-demo.ll b/bench/pcg-cpp/optimized/pcg-demo.ll index 78fefe87506..5c9970a005b 100644 --- a/bench/pcg-cpp/optimized/pcg-demo.ll +++ b/bench/pcg-cpp/optimized/pcg-demo.ll @@ -124,7 +124,7 @@ sub_1: ; preds = %sub_0 .thread: ; preds = %23 %27 = getelementptr inbounds nuw i8, ptr %1, i64 16 - %.pre = load ptr, ptr %27, align 8, !tbaa !11 + %.pre = load ptr, ptr %27, align 8 %28 = tail call i64 @strtol(ptr noundef nonnull captures(none) %.pre, ptr noundef null, i32 noundef 10) #16 %29 = trunc i64 %28 to i32 br label %.thread197 @@ -474,12 +474,11 @@ _ZSt13__check_facetISt5ctypeIcEERKT_PS3_.exit.i.i.i.i65: ; preds = %166 %174 = getelementptr inbounds nuw i8, ptr %173, i64 48 %175 = load ptr, ptr %174, align 8 %176 = call noundef signext i8 %175(ptr noundef nonnull align 8 dereferenceable(570) %168, i8 noundef signext 32) - %.pre244.pre = load ptr, ptr @_ZSt4cout, align 8, !tbaa !27 br label %_ZNKSt9basic_iosIcSt11char_traitsIcEE5widenEc.exit.i.i.i67 _ZNKSt9basic_iosIcSt11char_traitsIcEE5widenEc.exit.i.i.i67: ; preds = %172, %_ZSt13__check_facetISt5ctypeIcEERKT_PS3_.exit.i.i.i.i65 - %.pre244 = phi ptr [ %.pre244.pre, %172 ], [ %155, %_ZSt13__check_facetISt5ctypeIcEERKT_PS3_.exit.i.i.i.i65 ] store i8 1, ptr %163, align 1, !tbaa !38 + %.pre244 = load ptr, ptr @_ZSt4cout, align 8 br label %_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St8_SetfillIS3_E.exit68 _ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St8_SetfillIS3_E.exit68: ; preds = %153, %_ZNKSt9basic_iosIcSt11char_traitsIcEE5widenEc.exit.i.i.i67 @@ -593,12 +592,11 @@ _ZSt13__check_facetISt5ctypeIcEERKT_PS3_.exit.i.i.i.i70: ; preds = %231 %239 = getelementptr inbounds nuw i8, ptr %238, i64 48 %240 = load ptr, ptr %239, align 8 %241 = call noundef signext i8 %240(ptr noundef nonnull align 8 dereferenceable(570) %233, i8 noundef signext 32) - %.pre245.pre = load ptr, ptr @_ZSt4cout, align 8, !tbaa !27 br label %_ZNKSt9basic_iosIcSt11char_traitsIcEE5widenEc.exit.i.i.i72 _ZNKSt9basic_iosIcSt11char_traitsIcEE5widenEc.exit.i.i.i72: ; preds = %237, %_ZSt13__check_facetISt5ctypeIcEERKT_PS3_.exit.i.i.i.i70 - %.pre245 = phi ptr [ %.pre245.pre, %237 ], [ %220, %_ZSt13__check_facetISt5ctypeIcEERKT_PS3_.exit.i.i.i.i70 ] store i8 1, ptr %228, align 1, !tbaa !38 + %.pre245 = load ptr, ptr @_ZSt4cout, align 8 br label %_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St8_SetfillIS3_E.exit73 _ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St8_SetfillIS3_E.exit73: ; preds = %218, %_ZNKSt9basic_iosIcSt11char_traitsIcEE5widenEc.exit.i.i.i72 @@ -958,7 +956,7 @@ _ZSt4iotaIPciEvT_S1_T0_.exit113.preheader: ; preds = %.lr.ph.i109 br label %_ZSt4iotaIPciEvT_S1_T0_.exit113 _ZSt4iotaIPciEvT_S1_T0_.exit113: ; preds = %_ZSt4iotaIPciEvT_S1_T0_.exit113.preheader, %_ZN10pcg_extras12bounded_randIN10pcg_detail6engineIjmNS1_12xsh_rr_mixinIjmEELb1ENS1_15specific_streamImEENS1_18default_multiplierImEEEEEENT_11result_typeERSA_SB_.exit.i - %.promoted.i.i115264 = phi i64 [ %405, %_ZN10pcg_extras12bounded_randIN10pcg_detail6engineIjmNS1_12xsh_rr_mixinIjmEELb1ENS1_15specific_streamImEENS1_18default_multiplierImEEEEEENT_11result_typeERSA_SB_.exit.i ], [ %.promoted, %_ZSt4iotaIPciEvT_S1_T0_.exit113.preheader ] + %.promoted.i.i115262 = phi i64 [ %405, %_ZN10pcg_extras12bounded_randIN10pcg_detail6engineIjmNS1_12xsh_rr_mixinIjmEELb1ENS1_15specific_streamImEENS1_18default_multiplierImEEEEEENT_11result_typeERSA_SB_.exit.i ], [ %.promoted, %_ZSt4iotaIPciEvT_S1_T0_.exit113.preheader ] %.012.i = phi ptr [ %416, %_ZN10pcg_extras12bounded_randIN10pcg_detail6engineIjmNS1_12xsh_rr_mixinIjmEELb1ENS1_15specific_streamImEENS1_18default_multiplierImEEEEEENT_11result_typeERSA_SB_.exit.i ], [ %92, %_ZSt4iotaIPciEvT_S1_T0_.exit113.preheader ] %.0911.i = phi i64 [ %415, %_ZN10pcg_extras12bounded_randIN10pcg_detail6engineIjmNS1_12xsh_rr_mixinIjmEELb1ENS1_15specific_streamImEENS1_18default_multiplierImEEEEEENT_11result_typeERSA_SB_.exit.i ], [ 52, %_ZSt4iotaIPciEvT_S1_T0_.exit113.preheader ] %399 = trunc i64 %.0911.i to i32 @@ -967,7 +965,7 @@ _ZSt4iotaIPciEvT_S1_T0_.exit113: ; preds = %_ZSt4iotaIPciEvT_S1 br label %402 402: ; preds = %402, %_ZSt4iotaIPciEvT_S1_T0_.exit113 - %403 = phi i64 [ %405, %402 ], [ %.promoted.i.i115264, %_ZSt4iotaIPciEvT_S1_T0_.exit113 ] + %403 = phi i64 [ %405, %402 ], [ %.promoted.i.i115262, %_ZSt4iotaIPciEvT_S1_T0_.exit113 ] %404 = mul i64 %403, 6364136223846793005 %405 = add i64 %404, %.sroa.0.0.copyload176 %406 = lshr i64 %403, 59 @@ -1359,7 +1357,7 @@ _ZNSt24uniform_int_distributionImE5_S_ndImN10pcg_detail6engineIjmNS2_12xsh_rr_mi br label %.loopexit .loopexit.loopexit: ; preds = %52 - %.pre = load i64, ptr %2, align 8, !tbaa !64 + %.pre = load i64, ptr %2, align 8 br label %.loopexit .loopexit: ; preds = %.loopexit.loopexit, %69, %_ZNSt24uniform_int_distributionImE5_S_ndImN10pcg_detail6engineIjmNS2_12xsh_rr_mixinIjmEELb1ENS2_15specific_streamImEENS2_18default_multiplierImEEEEjEET1_RT0_SB_.exit diff --git a/bench/php/optimized/tokenizer.ll b/bench/php/optimized/tokenizer.ll index 069038d67f2..bc1023b3de7 100644 --- a/bench/php/optimized/tokenizer.ll +++ b/bench/php/optimized/tokenizer.ll @@ -234,7 +234,7 @@ define hidden noalias noundef ptr @lxb_html_tokenizer_unref(ptr noundef %0) loca 10: ; preds = %7 %11 = tail call ptr @lxb_html_tokenizer_unref(ptr noundef nonnull %9) store ptr null, ptr %8, align 8, !tbaa !30 - %.pre = load i64, ptr %4, align 8, !tbaa !31 + %.pre = load i64, ptr %4, align 8 br label %12 12: ; preds = %10, %7 @@ -275,7 +275,7 @@ define hidden ptr @lxb_html_tokenizer_destroy(ptr noundef %0) local_unnamed_addr %13 = load ptr, ptr %12, align 8, !tbaa !32 %14 = tail call ptr @lexbor_hash_destroy(ptr noundef %13, i1 noundef zeroext true) #8 store ptr %14, ptr %12, align 8, !tbaa !32 - %.pre = load i32, ptr %8, align 4, !tbaa !37 + %.pre = load i32, ptr %8, align 4 br label %15 15: ; preds = %11, %7 @@ -498,7 +498,7 @@ define hidden i32 @lxb_html_tokenizer_chunk(ptr noundef initializes((160, 168), .lr.ph31: ; preds = %3 %8 = getelementptr inbounds nuw i8, ptr %0, i64 176 %9 = getelementptr inbounds nuw i8, ptr %0, i64 168 - %.pre = load i64, ptr %8, align 8, !tbaa !36 + %.pre = load i64, ptr %8, align 8 br label %10 10: ; preds = %.lr.ph31, %._crit_edge @@ -549,7 +549,7 @@ define hidden i32 @lxb_html_tokenizer_chunk(ptr noundef initializes((160, 168), br i1 %27, label %10, label %._crit_edge32.loopexit ._crit_edge32.loopexit: ; preds = %._crit_edge - %.pre34 = load i32, ptr %6, align 8, !tbaa !29 + %.pre34 = load i32, ptr %6, align 8 br label %._crit_edge32 ._crit_edge32: ; preds = %._crit_edge32.loopexit, %3 @@ -593,7 +593,7 @@ define hidden i32 @lxb_html_tokenizer_end(ptr noundef initializes((232, 237)) %0 %21 = tail call ptr %18(ptr noundef nonnull %0, ptr noundef %15, ptr noundef %20) #8 store ptr %21, ptr %13, align 8, !tbaa !16 %22 = icmp eq ptr %21, null - %.pre = load i32, ptr %2, align 8, !tbaa !29 + %.pre = load i32, ptr %2, align 8 %23 = icmp eq i32 %.pre, 0 %or.cond = select i1 %22, i1 %23, i1 false br i1 %or.cond, label %24, label %25 @@ -619,9 +619,9 @@ define hidden i64 @lxb_html_tokenizer_current_namespace(ptr noundef readonly cap %7 = load ptr, ptr %6, align 8, !tbaa !44 %.not.i = icmp ne ptr %7, null %.phi.trans.insert.i = getelementptr i8, ptr %3, i64 32 - %.val.pre.i = load ptr, ptr %.phi.trans.insert.i, align 8, !tbaa !50 + %.val.pre.i = load ptr, ptr %.phi.trans.insert.i, align 8 %.phi.trans.insert7.i = getelementptr inbounds nuw i8, ptr %.val.pre.i, i64 16 - %.pre.i = load i64, ptr %.phi.trans.insert7.i, align 8, !tbaa !51 + %.pre.i = load i64, ptr %.phi.trans.insert7.i, align 8 %8 = icmp eq i64 %.pre.i, 1 %or.cond.i = select i1 %.not.i, i1 %8, i1 false br i1 %or.cond.i, label %lxb_html_tree_adjusted_current_node.exit.thread7, label %._crit_edge.i @@ -631,17 +631,17 @@ define hidden i64 @lxb_html_tokenizer_current_namespace(ptr noundef readonly cap br i1 %9, label %lxb_html_tree_adjusted_current_node.exit.thread, label %lxb_html_tree_adjusted_current_node.exit lxb_html_tree_adjusted_current_node.exit: ; preds = %._crit_edge.i - %10 = load ptr, ptr %.val.pre.i, align 8, !tbaa !53 + %10 = load ptr, ptr %.val.pre.i, align 8, !tbaa !50 %11 = getelementptr ptr, ptr %10, i64 %.pre.i %12 = getelementptr i8, ptr %11, i64 -8 - %13 = load ptr, ptr %12, align 8, !tbaa !54 + %13 = load ptr, ptr %12, align 8, !tbaa !52 %14 = icmp eq ptr %13, null br i1 %14, label %lxb_html_tree_adjusted_current_node.exit.thread, label %lxb_html_tree_adjusted_current_node.exit.thread7 lxb_html_tree_adjusted_current_node.exit.thread7: ; preds = %5, %lxb_html_tree_adjusted_current_node.exit %.0.i9 = phi ptr [ %13, %lxb_html_tree_adjusted_current_node.exit ], [ %7, %5 ] %15 = getelementptr inbounds nuw i8, ptr %.0.i9, i64 24 - %16 = load i64, ptr %15, align 8, !tbaa !55 + %16 = load i64, ptr %15, align 8, !tbaa !53 br label %lxb_html_tree_adjusted_current_node.exit.thread lxb_html_tree_adjusted_current_node.exit.thread: ; preds = %._crit_edge.i, %lxb_html_tree_adjusted_current_node.exit.thread7, %lxb_html_tree_adjusted_current_node.exit, %1 @@ -681,7 +681,7 @@ define hidden void @lxb_html_tokenizer_set_state_by_tag(ptr noundef writeonly ca %.sink = phi i64 [ %2, %6 ], [ %2, %7 ], [ %2, %5 ], [ %2, %5 ], [ 139, %8 ] %lxb_html_tokenizer_state_plaintext_before.sink.ph = phi ptr [ @lxb_html_tokenizer_state_rawtext_before, %6 ], [ @lxb_html_tokenizer_state_script_data_before, %7 ], [ @lxb_html_tokenizer_state_rcdata_before, %5 ], [ @lxb_html_tokenizer_state_rcdata_before, %5 ], [ @lxb_html_tokenizer_state_rawtext_before, %8 ] %9 = getelementptr inbounds nuw i8, ptr %0, i64 120 - store i64 %.sink, ptr %9, align 8, !tbaa !59 + store i64 %.sink, ptr %9, align 8, !tbaa !57 br label %.sink.split .sink.split: ; preds = %.sink.split.sink.split, %5, %8, %4 @@ -733,7 +733,7 @@ define hidden void @lxb_html_tokenizer_state_set_noi(ptr noundef writeonly captu ; Function Attrs: mustprogress nofree norecurse nosync nounwind willreturn memory(argmem: write) uwtable define hidden void @lxb_html_tokenizer_tmp_tag_id_set_noi(ptr noundef writeonly captures(none) initializes((120, 128)) %0, i64 noundef %1) local_unnamed_addr #5 { %3 = getelementptr inbounds nuw i8, ptr %0, i64 120 - store i64 %1, ptr %3, align 8, !tbaa !59 + store i64 %1, ptr %3, align 8, !tbaa !57 ret void } @@ -830,13 +830,11 @@ attributes #8 = { nounwind } !47 = !{!"p1 _ZTS12lxb_dom_node", !6, i64 0} !48 = !{!"p1 _ZTS21lxb_html_form_element", !6, i64 0} !49 = !{!"", !6, i64 0, !14, i64 8} -!50 = !{!45, !6, i64 32} -!51 = !{!52, !12, i64 16} -!52 = !{!"", !6, i64 0, !12, i64 8, !12, i64 16} -!53 = !{!52, !6, i64 0} -!54 = !{!6, !6, i64 0} -!55 = !{!56, !12, i64 24} -!56 = !{!"lxb_dom_node", !57, i64 0, !12, i64 8, !12, i64 16, !12, i64 24, !58, i64 32, !47, i64 40, !47, i64 48, !47, i64 56, !47, i64 64, !47, i64 72, !6, i64 80, !13, i64 88, !12, i64 96} -!57 = !{!"lxb_dom_event_target", !6, i64 0} -!58 = !{!"p1 _ZTS16lxb_dom_document", !6, i64 0} -!59 = !{!5, !12, i64 120} +!50 = !{!51, !6, i64 0} +!51 = !{!"", !6, i64 0, !12, i64 8, !12, i64 16} +!52 = !{!6, !6, i64 0} +!53 = !{!54, !12, i64 24} +!54 = !{!"lxb_dom_node", !55, i64 0, !12, i64 8, !12, i64 16, !12, i64 24, !56, i64 32, !47, i64 40, !47, i64 48, !47, i64 56, !47, i64 64, !47, i64 72, !6, i64 80, !13, i64 88, !12, i64 96} +!55 = !{!"lxb_dom_event_target", !6, i64 0} +!56 = !{!"p1 _ZTS16lxb_dom_document", !6, i64 0} +!57 = !{!5, !12, i64 120} diff --git a/bench/postgres/optimized/psqlscanslash.ll b/bench/postgres/optimized/psqlscanslash.ll index 8b6f46d28d7..86a5398837a 100644 --- a/bench/postgres/optimized/psqlscanslash.ll +++ b/bench/postgres/optimized/psqlscanslash.ll @@ -2112,7 +2112,7 @@ slash_yyensure_buffer_stack.exit: ; preds = %10, %13, %24 %48 = load ptr, ptr %47, align 8 %49 = getelementptr inbounds nuw i8, ptr %48, i64 28 store i32 %44, ptr %49, align 4 - %.pr.pre = load ptr, ptr %5, align 8 + %.pr.pre = load ptr, ptr %5, align 8, !nonnull !12 %.pre30 = load i64, ptr %29, align 8 %.phi.trans.insert31 = getelementptr inbounds nuw ptr, ptr %.pr.pre, i64 %.pre30 %.pre32 = load ptr, ptr %.phi.trans.insert31, align 8 @@ -2757,7 +2757,7 @@ slash_yypop_buffer_state.exit: ; preds = %26, %44, %47 %58 = getelementptr inbounds nuw ptr, ptr %56, i64 %57 %59 = load ptr, ptr %58, align 8 %60 = icmp eq ptr %59, null - br i1 %60, label %.critedge, label %.thread.i, !llvm.loop !12 + br i1 %60, label %.critedge, label %.thread.i, !llvm.loop !13 .critedge: ; preds = %slash_yypop_buffer_state.exit, %slash_yy_delete_buffer.exit, %41, %.lr.ph, %1 %.lcssa = phi ptr [ null, %1 ], [ %4, %.lr.ph ], [ null, %41 ], [ null, %slash_yy_delete_buffer.exit ], [ %56, %slash_yypop_buffer_state.exit ] @@ -2886,7 +2886,7 @@ define dso_local ptr @psql_scan_slash_option(ptr noundef initializes((8, 16)) %0 %37 = load i64, ptr %19, align 8 %38 = icmp ne i64 %37, 0 %or.cond = select i1 %36, i1 %38, i1 false - br i1 %or.cond, label %.lr.ph, label %.critedge, !llvm.loop !13 + br i1 %or.cond, label %.lr.ph, label %.critedge, !llvm.loop !14 .critedge: ; preds = %31, %.lr.ph, %.preheader, %18 %39 = add i32 %1, -1 @@ -3013,7 +3013,7 @@ define dso_local void @dequote_downcase_identifier(ptr noundef %0, i1 noundef ze %14 = getelementptr inbounds nuw i8, ptr %.1.us, i64 1 %15 = tail call i64 @strlen(ptr noundef nonnull dereferenceable(1) %.1.us) #32 tail call void @llvm.memmove.p0.p0.i64(ptr nonnull align 1 %.1.us, ptr nonnull align 1 %14, i64 %15, i1 false) - br label %.split.us.outer, !llvm.loop !14 + br label %.split.us.outer, !llvm.loop !15 .split.us.outer: ; preds = %3, %13 %.017.us.ph = phi i8 [ %.118.us, %13 ], [ 0, %3 ] @@ -3024,7 +3024,7 @@ define dso_local void @dequote_downcase_identifier(ptr noundef %0, i1 noundef ze %17 = tail call i32 @PQmblenBounded(ptr noundef nonnull %.0.us, i32 noundef %2) #29 %18 = sext i32 %17 to i64 %19 = getelementptr inbounds i8, ptr %.0.us, i64 %18 - br label %.split.us, !llvm.loop !14 + br label %.split.us, !llvm.loop !15 .split: ; preds = %.split.outer, %36 %.0 = phi ptr [ %39, %36 ], [ %.0.ph, %.split.outer ] @@ -3054,7 +3054,7 @@ define dso_local void @dequote_downcase_identifier(ptr noundef %0, i1 noundef ze %30 = getelementptr inbounds nuw i8, ptr %.1, i64 1 %31 = tail call i64 @strlen(ptr noundef nonnull dereferenceable(1) %.1) #32 tail call void @llvm.memmove.p0.p0.i64(ptr nonnull align 1 %.1, ptr nonnull align 1 %30, i64 %31, i1 false) - br label %.split.outer, !llvm.loop !14 + br label %.split.outer, !llvm.loop !15 .split.outer: ; preds = %3, %29 %.017.ph = phi i8 [ %.118, %29 ], [ 0, %3 ] @@ -3074,7 +3074,7 @@ define dso_local void @dequote_downcase_identifier(ptr noundef %0, i1 noundef ze %37 = tail call i32 @PQmblenBounded(ptr noundef nonnull %.0, i32 noundef %2) #29 %38 = sext i32 %37 to i64 %39 = getelementptr inbounds i8, ptr %.0, i64 %38 - br label %.split, !llvm.loop !14 + br label %.split, !llvm.loop !15 .split23.us: ; preds = %.split.us, %.split ret void @@ -3218,6 +3218,7 @@ attributes #32 = { nounwind willreturn memory(read) } !9 = distinct !{!9, !5} !10 = distinct !{!10, !5} !11 = distinct !{!11, !5} -!12 = distinct !{!12, !5} +!12 = !{} !13 = distinct !{!13, !5} !14 = distinct !{!14, !5} +!15 = distinct !{!15, !5} diff --git a/bench/proj/optimized/coordinates.ll b/bench/proj/optimized/coordinates.ll index 5d38ddb984a..cb886451589 100644 --- a/bench/proj/optimized/coordinates.ll +++ b/bench/proj/optimized/coordinates.ll @@ -924,7 +924,7 @@ _ZSt8_DestroyIN7dropbox6oxygen2nnISt10shared_ptrIN5osgeo4proj9operation20PointMo br i1 %.not.i.i.i.i25, label %_ZSt8_DestroyIPN7dropbox6oxygen2nnISt10shared_ptrIN5osgeo4proj9operation20PointMotionOperationEEEES9_EvT_SB_RSaIT0_E.exitthread-pre-split.i, label %.lr.ph.i.i.i.i, !llvm.loop !68 _ZSt8_DestroyIPN7dropbox6oxygen2nnISt10shared_ptrIN5osgeo4proj9operation20PointMotionOperationEEEES9_EvT_SB_RSaIT0_E.exitthread-pre-split.i: ; preds = %_ZSt8_DestroyIN7dropbox6oxygen2nnISt10shared_ptrIN5osgeo4proj9operation20PointMotionOperationEEEEEvPT_.exit.i.i.i.i - %.pr.i = load ptr, ptr %10, align 8, !tbaa !70 + %.pr.i = load ptr, ptr %10, align 8 br label %_ZSt8_DestroyIPN7dropbox6oxygen2nnISt10shared_ptrIN5osgeo4proj9operation20PointMotionOperationEEEES9_EvT_SB_RSaIT0_E.exit.i _ZSt8_DestroyIPN7dropbox6oxygen2nnISt10shared_ptrIN5osgeo4proj9operation20PointMotionOperationEEEES9_EvT_SB_RSaIT0_E.exit.i: ; preds = %_ZSt8_DestroyIPN7dropbox6oxygen2nnISt10shared_ptrIN5osgeo4proj9operation20PointMotionOperationEEEES9_EvT_SB_RSaIT0_E.exitthread-pre-split.i, %77 @@ -934,7 +934,7 @@ _ZSt8_DestroyIPN7dropbox6oxygen2nnISt10shared_ptrIN5osgeo4proj9operation20PointM 106: ; preds = %_ZSt8_DestroyIPN7dropbox6oxygen2nnISt10shared_ptrIN5osgeo4proj9operation20PointMotionOperationEEEES9_EvT_SB_RSaIT0_E.exit.i %107 = getelementptr inbounds nuw i8, ptr %10, i64 16 - %108 = load ptr, ptr %107, align 8, !tbaa !72 + %108 = load ptr, ptr %107, align 8, !tbaa !70 %109 = ptrtoint ptr %108 to i64 %110 = ptrtoint ptr %105 to i64 %111 = sub i64 %109, %110 @@ -1571,7 +1571,7 @@ define noundef double @_ZNK5osgeo4proj11coordinates18CoordinateMetadata28coordin %2 = getelementptr inbounds nuw i8, ptr %0, i64 32 %3 = load ptr, ptr %2, align 8, !tbaa !31 %4 = getelementptr inbounds nuw i8, ptr %3, i64 16 - %5 = load i8, ptr %4, align 8, !tbaa !20, !range !73, !noundef !74 + %5 = load i8, ptr %4, align 8, !tbaa !20, !range !72, !noundef !73 %6 = trunc nuw i8 %5 to i1 br i1 %6, label %7, label %13 @@ -1629,7 +1629,7 @@ define void @_ZNK5osgeo4proj11coordinates18CoordinateMetadata11promoteTo3DERKNSt call void @_ZNK5osgeo4proj3crs3CRS11promoteTo3DERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKSt10shared_ptrINS0_2io15DatabaseContextEE(ptr dead_on_unwind nonnull writable sret(%"class.dropbox::oxygen::nn") align 8 %5, ptr noundef nonnull align 8 dereferenceable(64) %11, ptr noundef nonnull align 8 dereferenceable(32) %2, ptr noundef nonnull align 8 dereferenceable(16) %3) %12 = load ptr, ptr %9, align 8, !tbaa !31 %13 = getelementptr inbounds nuw i8, ptr %12, i64 16 - %14 = load i8, ptr %13, align 8, !tbaa !20, !range !73, !noundef !74 + %14 = load i8, ptr %13, align 8, !tbaa !20, !range !72, !noundef !73 %15 = trunc nuw i8 %14 to i1 br i1 %15, label %16, label %43 @@ -2029,7 +2029,7 @@ define hidden void @_ZNK5osgeo4proj11coordinates18CoordinateMetadata12_exportToW tail call void %14(ptr noundef nonnull align 8 dereferenceable(8) %11, ptr noundef nonnull %1) %15 = load ptr, ptr %8, align 8, !tbaa !31 %16 = getelementptr inbounds nuw i8, ptr %15, i64 16 - %17 = load i8, ptr %16, align 8, !tbaa !20, !range !73, !noundef !74 + %17 = load i8, ptr %16, align 8, !tbaa !20, !range !72, !noundef !73 %18 = trunc nuw i8 %17 to i1 br i1 %18, label %19, label %33 @@ -2037,7 +2037,7 @@ define hidden void @_ZNK5osgeo4proj11coordinates18CoordinateMetadata12_exportToW tail call void @_ZN5osgeo4proj2io12WKTFormatter9startNodeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEb(ptr noundef nonnull align 8 dereferenceable(8) %1, ptr noundef nonnull align 8 dereferenceable(32) @_ZN5osgeo4proj2io12WKTConstants5EPOCHB5cxx11E, i1 noundef zeroext false) %20 = load ptr, ptr %8, align 8, !tbaa !31 %21 = getelementptr inbounds nuw i8, ptr %20, i64 16 - %22 = load i8, ptr %21, align 8, !tbaa !20, !range !73, !noundef !74 + %22 = load i8, ptr %21, align 8, !tbaa !20, !range !72, !noundef !73 %23 = trunc nuw i8 %22 to i1 br i1 %23, label %24, label %_ZNK5osgeo4proj11coordinates18CoordinateMetadata28coordinateEpochAsDecimalYearEv.exit @@ -2141,7 +2141,7 @@ _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit: ; preds = %_ZNKS 23: ; preds = %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit %24 = load ptr, ptr %16, align 8, !tbaa !31 %25 = getelementptr inbounds nuw i8, ptr %24, i64 16 - %26 = load i8, ptr %25, align 8, !tbaa !20, !range !73, !noundef !74 + %26 = load i8, ptr %25, align 8, !tbaa !20, !range !72, !noundef !73 %27 = trunc nuw i8 %26 to i1 br i1 %27, label %._crit_edge.i.i16, label %69 @@ -2178,7 +2178,7 @@ _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit22: ; preds = %_ZN call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %4) #23 %38 = load ptr, ptr %16, align 8, !tbaa !31 %39 = getelementptr inbounds nuw i8, ptr %38, i64 16 - %40 = load i8, ptr %39, align 8, !tbaa !20, !range !73, !noundef !74 + %40 = load i8, ptr %39, align 8, !tbaa !20, !range !72, !noundef !73 %41 = trunc nuw i8 %40 to i1 br i1 %41, label %42, label %_ZNK5osgeo4proj11coordinates18CoordinateMetadata28coordinateEpochAsDecimalYearEv.exit @@ -2486,8 +2486,7 @@ attributes #27 = { nounwind willreturn memory(read) } !67 = !{!"p1 _ZTSN7dropbox6oxygen2nnISt10shared_ptrIN5osgeo4proj9operation20PointMotionOperationEEEE", !12, i64 0} !68 = distinct !{!68, !69} !69 = !{!"llvm.loop.mustprogress"} -!70 = !{!71, !67, i64 0} +!70 = !{!71, !67, i64 16} !71 = !{!"_ZTSNSt12_Vector_baseIN7dropbox6oxygen2nnISt10shared_ptrIN5osgeo4proj9operation20PointMotionOperationEEEESaIS9_EE17_Vector_impl_dataE", !67, i64 0, !67, i64 8, !67, i64 16} -!72 = !{!71, !67, i64 16} -!73 = !{i8 0, i8 2} -!74 = !{} +!72 = !{i8 0, i8 2} +!73 = !{} diff --git a/bench/protobuf/optimized/context.ll b/bench/protobuf/optimized/context.ll index b65af507a56..da37a7f45e4 100644 --- a/bench/protobuf/optimized/context.ll +++ b/bench/protobuf/optimized/context.ll @@ -2030,7 +2030,7 @@ if.then: ; preds = %for.end.i tail call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(64) %second.i.i.i.i.i.i.i.i) #24 %capitalized_name.i.i.i.i.i.i.i.i.i = getelementptr inbounds nuw i8, ptr %add.ptr.i3, i64 40 tail call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(32) %capitalized_name.i.i.i.i.i.i.i.i.i) #24 - %.pre = load ptr, ptr %this, align 8 + %.pre = load ptr, ptr %this, align 8, !nonnull !38 %.pre20 = load ptr, ptr %slots_.i.i.i, align 8 br label %if.end @@ -2249,7 +2249,7 @@ if.then: ; preds = %for.body for.inc: ; preds = %for.body, %if.then %inc = add nuw i64 %i.021, 1 %cmp.not = icmp eq i64 %inc, %2 - br i1 %cmp.not, label %if.then18, label %for.body, !llvm.loop !38 + br i1 %cmp.not, label %if.then18, label %for.body, !llvm.loop !39 if.then18: ; preds = %for.inc %add.ptr21 = getelementptr inbounds i8, ptr %0, i64 -8 @@ -2349,7 +2349,7 @@ entry: %xor.i.i.i.i.i.i.i.i.i.i.i.i.i = xor i128 %shr.i.i.i.i.i.i.i.i.i.i.i.i.i, %mul.i.i.i.i.i.i.i.i.i.i.i.i.i %conv1.i.i.i.i.i.i.i.i.i.i.i.i.i = trunc i128 %xor.i.i.i.i.i.i.i.i.i.i.i.i.i to i64 %capacity_.i.i.i = getelementptr inbounds nuw i8, ptr %this, i64 16 - %3 = load i64, ptr %capacity_.i.i.i, align 8, !noalias !39 + %3 = load i64, ptr %capacity_.i.i.i, align 8, !noalias !40 %shr.i.i.i.i = lshr i64 %conv1.i.i.i.i.i.i.i.i.i.i.i.i.i, 7 %4 = ptrtoint ptr %0 to i64 %shr.i.i.i.i.i = lshr i64 %4, 12 @@ -2403,7 +2403,7 @@ for.end.i: ; preds = %for.inc.i, %while.b if.end36.i: ; preds = %for.end.i %add.i13.i = add i64 %seq.sroa.10.0.i, 16 %add3.i.i = add i64 %add.i13.i, %seq.sroa.4.0.i - br label %while.body.i, !llvm.loop !42 + br label %while.body.i, !llvm.loop !43 if.then: ; preds = %for.end.i %call38.i = tail call noundef i64 @_ZN4absl12lts_2023080218container_internal12raw_hash_setINS1_17FlatHashMapPolicyIPKN6google8protobuf15FieldDescriptorENS5_8compiler4java18FieldGeneratorInfoEEENS1_6HashEqIS8_vE4HashENSE_2EqESaISt4pairIKS8_SB_EEE14prepare_insertEm(ptr noundef nonnull align 8 dereferenceable(32) %this, i64 noundef %conv1.i.i.i.i.i.i.i.i.i.i.i.i.i) @@ -2418,7 +2418,7 @@ if.then: ; preds = %for.end.i tail call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(32) %capitalized_name.i.i.i.i.i.i.i.i.i) #24 %disambiguated_reason.i.i.i.i.i.i.i.i.i = getelementptr inbounds nuw i8, ptr %add.ptr.i3, i64 72 tail call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(32) %disambiguated_reason.i.i.i.i.i.i.i.i.i) #24 - %.pre = load ptr, ptr %this, align 8 + %.pre = load ptr, ptr %this, align 8, !nonnull !38 %.pre20 = load ptr, ptr %slots_.i.i.i, align 8 br label %if.end @@ -2632,7 +2632,7 @@ if.then: ; preds = %for.body for.inc: ; preds = %for.body, %if.then %inc = add nuw i64 %i.021, 1 %cmp.not = icmp eq i64 %inc, %2 - br i1 %cmp.not, label %if.then18, label %for.body, !llvm.loop !43 + br i1 %cmp.not, label %if.then18, label %for.body, !llvm.loop !44 if.then18: ; preds = %for.inc %add.ptr21 = getelementptr inbounds i8, ptr %0, i64 -8 @@ -2777,9 +2777,10 @@ attributes #29 = { noreturn nounwind } !35 = distinct !{!35, !36, !"_ZN4absl12lts_2023080218container_internal5probeERKNS1_12CommonFieldsEm: %agg.result"} !36 = distinct !{!36, !"_ZN4absl12lts_2023080218container_internal5probeERKNS1_12CommonFieldsEm"} !37 = distinct !{!37, !5} -!38 = distinct !{!38, !5} -!39 = !{!40} -!40 = distinct !{!40, !41, !"_ZN4absl12lts_2023080218container_internal5probeERKNS1_12CommonFieldsEm: %agg.result"} -!41 = distinct !{!41, !"_ZN4absl12lts_2023080218container_internal5probeERKNS1_12CommonFieldsEm"} -!42 = distinct !{!42, !5} +!38 = !{} +!39 = distinct !{!39, !5} +!40 = !{!41} +!41 = distinct !{!41, !42, !"_ZN4absl12lts_2023080218container_internal5probeERKNS1_12CommonFieldsEm: %agg.result"} +!42 = distinct !{!42, !"_ZN4absl12lts_2023080218container_internal5probeERKNS1_12CommonFieldsEm"} !43 = distinct !{!43, !5} +!44 = distinct !{!44, !5} diff --git a/bench/qdrant-rs/optimized/58hgu3rrppg9eakf.ll b/bench/qdrant-rs/optimized/58hgu3rrppg9eakf.ll index 5b9cd5babf4..ac19e31c3c1 100644 --- a/bench/qdrant-rs/optimized/58hgu3rrppg9eakf.ll +++ b/bench/qdrant-rs/optimized/58hgu3rrppg9eakf.ll @@ -5263,21 +5263,20 @@ define internal fastcc void @"_ZN4core3ptr79drop_in_place$LT$alloc..boxed..Box$L to label %"._ZN4core3ptr70drop_in_place$LT$alloc..boxed..Box$LT$schemars..schema..Schema$GT$$GT$17h5bc326854ec283f0E.llvm.4482545766329047864.exit.i4_crit_edge" unwind label %23 "._ZN4core3ptr70drop_in_place$LT$alloc..boxed..Box$LT$schemars..schema..Schema$GT$$GT$17h5bc326854ec283f0E.llvm.4482545766329047864.exit.i4_crit_edge": ; preds = %22 - %.pre = load ptr, ptr %16, align 8, !alias.scope !2290 + %.pre = load ptr, ptr %16, align 8, !nonnull !4 br label %"_ZN4core3ptr70drop_in_place$LT$alloc..boxed..Box$LT$schemars..schema..Schema$GT$$GT$17h5bc326854ec283f0E.llvm.4482545766329047864.exit.i4" 23: ; preds = %22 %24 = landingpad { ptr, i32 } cleanup - tail call void @llvm.experimental.noalias.scope.decl(metadata !2293) - %25 = load ptr, ptr %16, align 8, !alias.scope !2293, !nonnull !4, !noundef !4 - tail call void @__rust_dealloc(ptr noundef nonnull %25, i64 noundef 248, i64 noundef 8) #18, !noalias !2293 + tail call void @llvm.experimental.noalias.scope.decl(metadata !2290) + %25 = load ptr, ptr %16, align 8, !alias.scope !2290, !nonnull !4, !noundef !4 + tail call void @__rust_dealloc(ptr noundef nonnull %25, i64 noundef 248, i64 noundef 8) #18, !noalias !2290 br label %.body5 "_ZN4core3ptr70drop_in_place$LT$alloc..boxed..Box$LT$schemars..schema..Schema$GT$$GT$17h5bc326854ec283f0E.llvm.4482545766329047864.exit.i4": ; preds = %"._ZN4core3ptr70drop_in_place$LT$alloc..boxed..Box$LT$schemars..schema..Schema$GT$$GT$17h5bc326854ec283f0E.llvm.4482545766329047864.exit.i4_crit_edge", %19 %26 = phi ptr [ %.pre, %"._ZN4core3ptr70drop_in_place$LT$alloc..boxed..Box$LT$schemars..schema..Schema$GT$$GT$17h5bc326854ec283f0E.llvm.4482545766329047864.exit.i4_crit_edge" ], [ %17, %19 ] - tail call void @llvm.experimental.noalias.scope.decl(metadata !2290) - tail call void @__rust_dealloc(ptr noundef nonnull %26, i64 noundef 248, i64 noundef 8) #18, !noalias !2290 + tail call void @__rust_dealloc(ptr noundef nonnull %26, i64 noundef 248, i64 noundef 8) #18, !noalias !2293 br label %"_ZN4core3ptr98drop_in_place$LT$core..option..Option$LT$alloc..boxed..Box$LT$schemars..schema..Schema$GT$$GT$$GT$17ha7b05df96cff4c0eE.llvm.4482545766329047864.exit7" .body5: ; preds = %23, %.body12 @@ -5303,21 +5302,20 @@ define internal fastcc void @"_ZN4core3ptr79drop_in_place$LT$alloc..boxed..Box$L to label %"._ZN4core3ptr70drop_in_place$LT$alloc..boxed..Box$LT$schemars..schema..Schema$GT$$GT$17h5bc326854ec283f0E.llvm.4482545766329047864.exit.i_crit_edge" unwind label %35 "._ZN4core3ptr70drop_in_place$LT$alloc..boxed..Box$LT$schemars..schema..Schema$GT$$GT$17h5bc326854ec283f0E.llvm.4482545766329047864.exit.i_crit_edge": ; preds = %34 - %.pre14 = load ptr, ptr %28, align 8, !alias.scope !2305 + %.pre14 = load ptr, ptr %28, align 8, !nonnull !4 br label %"_ZN4core3ptr70drop_in_place$LT$alloc..boxed..Box$LT$schemars..schema..Schema$GT$$GT$17h5bc326854ec283f0E.llvm.4482545766329047864.exit.i" 35: ; preds = %34 %36 = landingpad { ptr, i32 } cleanup - tail call void @llvm.experimental.noalias.scope.decl(metadata !2308) - %37 = load ptr, ptr %28, align 8, !alias.scope !2308, !nonnull !4, !noundef !4 - tail call void @__rust_dealloc(ptr noundef nonnull %37, i64 noundef 248, i64 noundef 8) #18, !noalias !2308 + tail call void @llvm.experimental.noalias.scope.decl(metadata !2305) + %37 = load ptr, ptr %28, align 8, !alias.scope !2305, !nonnull !4, !noundef !4 + tail call void @__rust_dealloc(ptr noundef nonnull %37, i64 noundef 248, i64 noundef 8) #18, !noalias !2305 br label %41 "_ZN4core3ptr70drop_in_place$LT$alloc..boxed..Box$LT$schemars..schema..Schema$GT$$GT$17h5bc326854ec283f0E.llvm.4482545766329047864.exit.i": ; preds = %"._ZN4core3ptr70drop_in_place$LT$alloc..boxed..Box$LT$schemars..schema..Schema$GT$$GT$17h5bc326854ec283f0E.llvm.4482545766329047864.exit.i_crit_edge", %31 %38 = phi ptr [ %.pre14, %"._ZN4core3ptr70drop_in_place$LT$alloc..boxed..Box$LT$schemars..schema..Schema$GT$$GT$17h5bc326854ec283f0E.llvm.4482545766329047864.exit.i_crit_edge" ], [ %29, %31 ] - tail call void @llvm.experimental.noalias.scope.decl(metadata !2305) - tail call void @__rust_dealloc(ptr noundef nonnull %38, i64 noundef 248, i64 noundef 8) #18, !noalias !2305 + tail call void @__rust_dealloc(ptr noundef nonnull %38, i64 noundef 248, i64 noundef 8) #18, !noalias !2308 br label %"_ZN4core3ptr54drop_in_place$LT$schemars..schema..ArrayValidation$GT$17hed9ca4f6f1c1d5a0E.exit" 39: ; preds = %.body5, %.body12 diff --git a/bench/quantlib/optimized/multisteptarn.ll b/bench/quantlib/optimized/multisteptarn.ll index 1cdd04edb4b..93cca630e3e 100644 --- a/bench/quantlib/optimized/multisteptarn.ll +++ b/bench/quantlib/optimized/multisteptarn.ll @@ -1652,16 +1652,14 @@ do.end275: ; preds = %do.body230 br i1 %cmp279649.not, label %for.cond.cleanup, label %for.body.preheader for.body.preheader: ; preds = %do.end275 - %.pre = load ptr, ptr %_M_finish.i.i.i172, align 8, !tbaa !3 - %.pre651 = load ptr, ptr %_M_end_of_storage.i.i.i174, align 8, !tbaa !10 + %.pre = load ptr, ptr %_M_finish.i.i.i172, align 8 + %.pre651 = load ptr, ptr %_M_end_of_storage.i.i.i174, align 8 br label %for.body for.cond.cleanup: ; preds = %for.inc, %do.end275 ret void for.body: ; preds = %for.body.preheader, %for.inc - %.pre653657 = phi ptr [ %.pre653658, %for.inc ], [ %193, %for.body.preheader ] - %.pre652654 = phi ptr [ %.pre652655, %for.inc ], [ %192, %for.body.preheader ] %194 = phi ptr [ %203, %for.inc ], [ %193, %for.body.preheader ] %195 = phi ptr [ %204, %for.inc ], [ %192, %for.body.preheader ] %196 = phi ptr [ %205, %for.inc ], [ %.pre651, %for.body.preheader ] @@ -1725,22 +1723,18 @@ _ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit17.i.i: ; preds = %if.then.i. if.then.i18.i.i: ; preds = %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit17.i.i call void @_ZdlPvm(ptr noundef nonnull %200, i64 noundef %sub.ptr.sub.i.i.i.i) #23 - %.pre652.pre = load ptr, ptr %_M_finish.i.i.i148, align 8, !tbaa !3 - %.pre653.pre = load ptr, ptr %paymentTimesFloating_, align 8, !tbaa !8 br label %_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJRKdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i _ZNSt6vectorIdSaIdEE17_M_realloc_insertIJRKdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i: ; preds = %if.then.i18.i.i, %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit17.i.i - %.pre653 = phi ptr [ %.pre653.pre, %if.then.i18.i.i ], [ %.pre653657, %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit17.i.i ] - %.pre652 = phi ptr [ %.pre652.pre, %if.then.i18.i.i ], [ %.pre652654, %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit17.i.i ] store ptr %call5.i.i.i.i.i465, ptr %allPaymentTimes_, align 8, !tbaa !8 store ptr %incdec.ptr.i.i, ptr %_M_finish.i.i.i172, align 8, !tbaa !3 %add.ptr19.i.i = getelementptr inbounds nuw double, ptr %call5.i.i.i.i.i465, i64 %cond.i.i.i store ptr %add.ptr19.i.i, ptr %_M_end_of_storage.i.i.i174, align 8, !tbaa !10 + %.pre652 = load ptr, ptr %_M_finish.i.i.i148, align 8 + %.pre653 = load ptr, ptr %paymentTimesFloating_, align 8 br label %for.inc for.inc: ; preds = %_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJRKdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i, %if.then.i - %.pre653658 = phi ptr [ %.pre653, %_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJRKdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i ], [ %.pre653657, %if.then.i ] - %.pre652655 = phi ptr [ %.pre652, %_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJRKdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i ], [ %.pre652654, %if.then.i ] %203 = phi ptr [ %.pre653, %_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJRKdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i ], [ %194, %if.then.i ] %204 = phi ptr [ %.pre652, %_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJRKdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i ], [ %195, %if.then.i ] %205 = phi ptr [ %add.ptr19.i.i, %_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJRKdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i ], [ %196, %if.then.i ] diff --git a/bench/quantlib/optimized/pascaltriangle.ll b/bench/quantlib/optimized/pascaltriangle.ll index 42c7cb79ea4..82b6c4692e4 100644 --- a/bench/quantlib/optimized/pascaltriangle.ll +++ b/bench/quantlib/optimized/pascaltriangle.ll @@ -56,7 +56,7 @@ _ZSt8_DestroyISt6vectorImSaImEEEvPT_.exit.i.i.i: ; preds = %if.then.i.i.i.i.i.i br i1 %cmp.not.i.i.i, label %invoke.contthread-pre-split, label %for.body.i.i.i, !llvm.loop !12 invoke.contthread-pre-split: ; preds = %_ZSt8_DestroyISt6vectorImSaImEEEvPT_.exit.i.i.i - %.pr = load ptr, ptr %this, align 8, !tbaa !3 + %.pr = load ptr, ptr %this, align 8 br label %invoke.cont invoke.cont: ; preds = %invoke.contthread-pre-split, %entry @@ -122,7 +122,7 @@ if.end.i.i.i.i.i.i.i.i.i.i: ; preds = %if.then if.else.i: ; preds = %if.then call void @_ZNSt6vectorIS_ImSaImEESaIS1_EE17_M_realloc_insertIJiiEEEvN9__gnu_cxx17__normal_iteratorIPS1_S3_EEDpOT_(ptr noundef nonnull align 8 dereferenceable(24) @_ZN8QuantLib14PascalTriangle13coefficients_E, ptr %1, ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp, ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp1) - %.pre = load ptr, ptr getelementptr inbounds nuw (i8, ptr @_ZN8QuantLib14PascalTriangle13coefficients_E, i64 8), align 8, !tbaa !8 + %.pre = load ptr, ptr getelementptr inbounds nuw (i8, ptr @_ZN8QuantLib14PascalTriangle13coefficients_E, i64 8), align 8 br label %_ZNSt6vectorIS_ImSaImEESaIS1_EE12emplace_backIJiiEEERS1_DpOT_.exit _ZNSt6vectorIS_ImSaImEESaIS1_EE12emplace_backIJiiEEERS1_DpOT_.exit: ; preds = %if.end.i.i.i.i.i.i.i.i.i.i, %if.else.i @@ -164,7 +164,7 @@ _ZNSt16allocator_traitsISaISt6vectorImSaImEEEE9constructIS2_JiiEEEvRS3_PT_DpOT0_ if.else.i24: ; preds = %_ZNSt6vectorIS_ImSaImEESaIS1_EE12emplace_backIJiiEEERS1_DpOT_.exit call void @_ZNSt6vectorIS_ImSaImEESaIS1_EE17_M_realloc_insertIJiiEEEvN9__gnu_cxx17__normal_iteratorIPS1_S3_EEDpOT_(ptr noundef nonnull align 8 dereferenceable(24) @_ZN8QuantLib14PascalTriangle13coefficients_E, ptr %4, ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp3, ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp4) - %.pre89 = load ptr, ptr getelementptr inbounds nuw (i8, ptr @_ZN8QuantLib14PascalTriangle13coefficients_E, i64 8), align 8, !tbaa !8 + %.pre89 = load ptr, ptr getelementptr inbounds nuw (i8, ptr @_ZN8QuantLib14PascalTriangle13coefficients_E, i64 8), align 8 br label %_ZNSt6vectorIS_ImSaImEESaIS1_EE12emplace_backIJiiEEERS1_DpOT_.exit26 _ZNSt6vectorIS_ImSaImEESaIS1_EE12emplace_backIJiiEEERS1_DpOT_.exit26: ; preds = %_ZNSt16allocator_traitsISaISt6vectorImSaImEEEE9constructIS2_JiiEEEvRS3_PT_DpOT0_.exit.i18, %if.else.i24 @@ -206,7 +206,7 @@ _ZNSt16allocator_traitsISaISt6vectorImSaImEEEE9constructIS2_JiiEEEvRS3_PT_DpOT0_ if.else.i49: ; preds = %_ZNSt6vectorIS_ImSaImEESaIS1_EE12emplace_backIJiiEEERS1_DpOT_.exit26 call void @_ZNSt6vectorIS_ImSaImEESaIS1_EE17_M_realloc_insertIJiiEEEvN9__gnu_cxx17__normal_iteratorIPS1_S3_EEDpOT_(ptr noundef nonnull align 8 dereferenceable(24) @_ZN8QuantLib14PascalTriangle13coefficients_E, ptr %7, ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp6, ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp7) - %.pre90 = load ptr, ptr getelementptr inbounds nuw (i8, ptr @_ZN8QuantLib14PascalTriangle13coefficients_E, i64 8), align 8, !tbaa !8 + %.pre90 = load ptr, ptr getelementptr inbounds nuw (i8, ptr @_ZN8QuantLib14PascalTriangle13coefficients_E, i64 8), align 8 br label %_ZNSt6vectorIS_ImSaImEESaIS1_EE12emplace_backIJiiEEERS1_DpOT_.exit51 _ZNSt6vectorIS_ImSaImEESaIS1_EE12emplace_backIJiiEEERS1_DpOT_.exit51: ; preds = %_ZNSt16allocator_traitsISaISt6vectorImSaImEEEE9constructIS2_JiiEEEvRS3_PT_DpOT0_.exit.i43, %if.else.i49 @@ -253,11 +253,9 @@ _ZNSt16allocator_traitsISaISt6vectorImSaImEEEE9constructIS2_JiiEEEvRS3_PT_DpOT0_ if.else.i75: ; preds = %_ZNSt6vectorIS_ImSaImEESaIS1_EE12emplace_backIJiiEEERS1_DpOT_.exit51 call void @_ZNSt6vectorIS_ImSaImEESaIS1_EE17_M_realloc_insertIJiiEEEvN9__gnu_cxx17__normal_iteratorIPS1_S3_EEDpOT_(ptr noundef nonnull align 8 dereferenceable(24) @_ZN8QuantLib14PascalTriangle13coefficients_E, ptr %10, ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp11, ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp12) - %.pre91.pre = load ptr, ptr getelementptr inbounds nuw (i8, ptr @_ZN8QuantLib14PascalTriangle13coefficients_E, i64 8), align 8, !tbaa !8 br label %_ZNSt6vectorIS_ImSaImEESaIS1_EE12emplace_backIJiiEEERS1_DpOT_.exit77 _ZNSt6vectorIS_ImSaImEESaIS1_EE12emplace_backIJiiEEERS1_DpOT_.exit77: ; preds = %_ZNSt16allocator_traitsISaISt6vectorImSaImEEEE9constructIS2_JiiEEEvRS3_PT_DpOT0_.exit.i69, %if.else.i75 - %.pre91 = phi ptr [ %incdec.ptr.i72, %_ZNSt16allocator_traitsISaISt6vectorImSaImEEEE9constructIS2_JiiEEEvRS3_PT_DpOT0_.exit.i69 ], [ %.pre91.pre, %if.else.i75 ] call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp12) #14 call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp11) #14 %15 = load ptr, ptr @_ZN8QuantLib14PascalTriangle13coefficients_E, align 8, !tbaa !3 @@ -267,6 +265,7 @@ _ZNSt6vectorIS_ImSaImEESaIS1_EE12emplace_backIJiiEEERS1_DpOT_.exit77: ; preds = store i64 3, ptr %add.ptr.i79, align 8, !tbaa !18 %add.ptr.i81 = getelementptr inbounds nuw i8, ptr %16, i64 8 store i64 3, ptr %add.ptr.i81, align 8, !tbaa !18 + %.pre91 = load ptr, ptr getelementptr inbounds nuw (i8, ptr @_ZN8QuantLib14PascalTriangle13coefficients_E, i64 8), align 8 br label %if.end if.end: ; preds = %_ZNSt6vectorIS_ImSaImEESaIS1_EE12emplace_backIJiiEEERS1_DpOT_.exit77, %entry diff --git a/bench/re2/optimized/compile.ll b/bench/re2/optimized/compile.ll index ca15ea07976..aa700dc3a57 100644 --- a/bench/re2/optimized/compile.ll +++ b/bench/re2/optimized/compile.ll @@ -1855,33 +1855,33 @@ for.end.i.i.i.i: ; preds = %for.inc.i.i.i.i, %w %cmp.i.i.i13.i.i.i.i = icmp eq <16 x i8> %19, splat (i8 -128) %24 = bitcast <16 x i1> %cmp.i.i.i13.i.i.i.i to i16 %cmp.i14.not.i.i.i.i = icmp eq i16 %24, 0 - br i1 %cmp.i14.not.i.i.i.i, label %if.end31.i.i.i.i, label %if.then.i.i.i + br i1 %cmp.i14.not.i.i.i.i, label %if.end31.i.i.i.i, label %_ZN4absl7debian218container_internal12raw_hash_mapINS1_17FlatHashMapPolicyImiEENS0_13hash_internal4HashImEESt8equal_toImESaISt4pairIKmiEEE11try_emplaceImJETnNSt9enable_ifIXntsr3std14is_convertibleIT_NS1_12raw_hash_setIS4_S7_S9_SD_E14const_iteratorEEE5valueEiE4typeELi0EEESA_INSJ_8iteratorEbERSB_DpOT0_.exit.thread.i if.end31.i.i.i.i: ; preds = %for.end.i.i.i.i %add.i15.i.i.i.i = add i64 %seq.sroa.10.0.i.i.i.i, 16 %add3.i.i.i.i.i = add i64 %add.i15.i.i.i.i, %seq.sroa.4.0.i.i.i.i br label %while.body.i.i.i.i, !llvm.loop !14 -if.then.i.i.i: ; preds = %for.end.i.i.i.i +_ZN4absl7debian218container_internal12raw_hash_mapINS1_17FlatHashMapPolicyImiEENS0_13hash_internal4HashImEESt8equal_toImESaISt4pairIKmiEEE11try_emplaceImJETnNSt9enable_ifIXntsr3std14is_convertibleIT_NS1_12raw_hash_setIS4_S7_S9_SD_E14const_iteratorEEE5valueEiE4typeELi0EEESA_INSJ_8iteratorEbERSB_DpOT0_.exit.thread.i: ; preds = %for.end.i.i.i.i %call33.i.i.i.i = tail call noundef i64 @_ZN4absl7debian218container_internal12raw_hash_setINS1_17FlatHashMapPolicyImiEENS0_13hash_internal4HashImEESt8equal_toImESaISt4pairIKmiEEE14prepare_insertEm(ptr noundef nonnull align 8 dereferenceable(40) %rune_cache_, i64 noundef %conv1.i.i.i.i), !noalias !9 %25 = load ptr, ptr %slots_.i.i, align 8, !noalias !9 %add.ptr.i3.i.i.i = getelementptr inbounds %"union.absl::debian2::container_internal::map_slot_type", ptr %25, i64 %call33.i.i.i.i store i64 %or7.i, ptr %add.ptr.i3.i.i.i, align 8, !noalias !9 %second.i.i.i.i.i.i.i.i.i.i.i = getelementptr inbounds nuw i8, ptr %add.ptr.i3.i.i.i, i64 8 store i32 0, ptr %second.i.i.i.i.i.i.i.i.i.i.i, align 8, !noalias !9 - %.pre.i.i.i = load ptr, ptr %rune_cache_, align 8, !noalias !9 + %.pre.i.i.i = load ptr, ptr %rune_cache_, align 8, !noalias !9, !nonnull !15 %.pre20.i.i.i = load ptr, ptr %slots_.i.i, align 8, !noalias !9 - br label %_ZN4absl7debian218container_internal12raw_hash_mapINS1_17FlatHashMapPolicyImiEENS0_13hash_internal4HashImEESt8equal_toImESaISt4pairIKmiEEE11try_emplaceImJETnNSt9enable_ifIXntsr3std14is_convertibleIT_NS1_12raw_hash_setIS4_S7_S9_SD_E14const_iteratorEEE5valueEiE4typeELi0EEESA_INSJ_8iteratorEbERSB_DpOT0_.exit.i + br label %land.lhs.true.i.i.i -_ZN4absl7debian218container_internal12raw_hash_mapINS1_17FlatHashMapPolicyImiEENS0_13hash_internal4HashImEESt8equal_toImESaISt4pairIKmiEEE11try_emplaceImJETnNSt9enable_ifIXntsr3std14is_convertibleIT_NS1_12raw_hash_setIS4_S7_S9_SD_E14const_iteratorEEE5valueEiE4typeELi0EEESA_INSJ_8iteratorEbERSB_DpOT0_.exit.i: ; preds = %for.body.i.i.i.i, %if.then.i.i.i - %26 = phi ptr [ %.pre20.i.i.i, %if.then.i.i.i ], [ %18, %for.body.i.i.i.i ] - %27 = phi ptr [ %.pre.i.i.i, %if.then.i.i.i ], [ %15, %for.body.i.i.i.i ] - %retval.sroa.0.0.i15.i.i.i = phi i64 [ %call33.i.i.i.i, %if.then.i.i.i ], [ %and.i.i.i.i.i, %for.body.i.i.i.i ] - %cmp.not.i.i.i = icmp eq ptr %27, null +_ZN4absl7debian218container_internal12raw_hash_mapINS1_17FlatHashMapPolicyImiEENS0_13hash_internal4HashImEESt8equal_toImESaISt4pairIKmiEEE11try_emplaceImJETnNSt9enable_ifIXntsr3std14is_convertibleIT_NS1_12raw_hash_setIS4_S7_S9_SD_E14const_iteratorEEE5valueEiE4typeELi0EEESA_INSJ_8iteratorEbERSB_DpOT0_.exit.i: ; preds = %for.body.i.i.i.i + %cmp.not.i.i.i = icmp eq ptr %15, null br i1 %cmp.not.i.i.i, label %cond.false.i.i.i, label %land.lhs.true.i.i.i -land.lhs.true.i.i.i: ; preds = %_ZN4absl7debian218container_internal12raw_hash_mapINS1_17FlatHashMapPolicyImiEENS0_13hash_internal4HashImEESt8equal_toImESaISt4pairIKmiEEE11try_emplaceImJETnNSt9enable_ifIXntsr3std14is_convertibleIT_NS1_12raw_hash_setIS4_S7_S9_SD_E14const_iteratorEEE5valueEiE4typeELi0EEESA_INSJ_8iteratorEbERSB_DpOT0_.exit.i - %add.ptr.i4.i.i.i = getelementptr inbounds i8, ptr %27, i64 %retval.sroa.0.0.i15.i.i.i +land.lhs.true.i.i.i: ; preds = %_ZN4absl7debian218container_internal12raw_hash_mapINS1_17FlatHashMapPolicyImiEENS0_13hash_internal4HashImEESt8equal_toImESaISt4pairIKmiEEE11try_emplaceImJETnNSt9enable_ifIXntsr3std14is_convertibleIT_NS1_12raw_hash_setIS4_S7_S9_SD_E14const_iteratorEEE5valueEiE4typeELi0EEESA_INSJ_8iteratorEbERSB_DpOT0_.exit.i, %_ZN4absl7debian218container_internal12raw_hash_mapINS1_17FlatHashMapPolicyImiEENS0_13hash_internal4HashImEESt8equal_toImESaISt4pairIKmiEEE11try_emplaceImJETnNSt9enable_ifIXntsr3std14is_convertibleIT_NS1_12raw_hash_setIS4_S7_S9_SD_E14const_iteratorEEE5valueEiE4typeELi0EEESA_INSJ_8iteratorEbERSB_DpOT0_.exit.thread.i + %retval.sroa.0.0.i15.i.i5.i = phi i64 [ %call33.i.i.i.i, %_ZN4absl7debian218container_internal12raw_hash_mapINS1_17FlatHashMapPolicyImiEENS0_13hash_internal4HashImEESt8equal_toImESaISt4pairIKmiEEE11try_emplaceImJETnNSt9enable_ifIXntsr3std14is_convertibleIT_NS1_12raw_hash_setIS4_S7_S9_SD_E14const_iteratorEEE5valueEiE4typeELi0EEESA_INSJ_8iteratorEbERSB_DpOT0_.exit.thread.i ], [ %and.i.i.i.i.i, %_ZN4absl7debian218container_internal12raw_hash_mapINS1_17FlatHashMapPolicyImiEENS0_13hash_internal4HashImEESt8equal_toImESaISt4pairIKmiEEE11try_emplaceImJETnNSt9enable_ifIXntsr3std14is_convertibleIT_NS1_12raw_hash_setIS4_S7_S9_SD_E14const_iteratorEEE5valueEiE4typeELi0EEESA_INSJ_8iteratorEbERSB_DpOT0_.exit.i ] + %26 = phi ptr [ %.pre.i.i.i, %_ZN4absl7debian218container_internal12raw_hash_mapINS1_17FlatHashMapPolicyImiEENS0_13hash_internal4HashImEESt8equal_toImESaISt4pairIKmiEEE11try_emplaceImJETnNSt9enable_ifIXntsr3std14is_convertibleIT_NS1_12raw_hash_setIS4_S7_S9_SD_E14const_iteratorEEE5valueEiE4typeELi0EEESA_INSJ_8iteratorEbERSB_DpOT0_.exit.thread.i ], [ %15, %_ZN4absl7debian218container_internal12raw_hash_mapINS1_17FlatHashMapPolicyImiEENS0_13hash_internal4HashImEESt8equal_toImESaISt4pairIKmiEEE11try_emplaceImJETnNSt9enable_ifIXntsr3std14is_convertibleIT_NS1_12raw_hash_setIS4_S7_S9_SD_E14const_iteratorEEE5valueEiE4typeELi0EEESA_INSJ_8iteratorEbERSB_DpOT0_.exit.i ] + %27 = phi ptr [ %.pre20.i.i.i, %_ZN4absl7debian218container_internal12raw_hash_mapINS1_17FlatHashMapPolicyImiEENS0_13hash_internal4HashImEESt8equal_toImESaISt4pairIKmiEEE11try_emplaceImJETnNSt9enable_ifIXntsr3std14is_convertibleIT_NS1_12raw_hash_setIS4_S7_S9_SD_E14const_iteratorEEE5valueEiE4typeELi0EEESA_INSJ_8iteratorEbERSB_DpOT0_.exit.thread.i ], [ %18, %_ZN4absl7debian218container_internal12raw_hash_mapINS1_17FlatHashMapPolicyImiEENS0_13hash_internal4HashImEESt8equal_toImESaISt4pairIKmiEEE11try_emplaceImJETnNSt9enable_ifIXntsr3std14is_convertibleIT_NS1_12raw_hash_setIS4_S7_S9_SD_E14const_iteratorEEE5valueEiE4typeELi0EEESA_INSJ_8iteratorEbERSB_DpOT0_.exit.i ] + %add.ptr.i4.i.i.i = getelementptr inbounds i8, ptr %26, i64 %retval.sroa.0.0.i15.i.i5.i %28 = load i8, ptr %add.ptr.i4.i.i.i, align 1 %cmp.i.i.i.i11 = icmp sgt i8 %28, -1 br i1 %cmp.i.i.i.i11, label %_ZN4absl7debian218container_internal12raw_hash_mapINS1_17FlatHashMapPolicyImiEENS0_13hash_internal4HashImEESt8equal_toImESaISt4pairIKmiEEEixImS4_EEDTclsrT0_5valueclL_ZSt9addressofISC_EPT_RSI_EclL_ZSt7declvalIRSC_EDTcl9__declvalISI_ELi0EEEvEEEEERSB_.exit, label %cond.false.i.i.i @@ -1891,7 +1891,7 @@ cond.false.i.i.i: ; preds = %land.lhs.true.i.i.i unreachable _ZN4absl7debian218container_internal12raw_hash_mapINS1_17FlatHashMapPolicyImiEENS0_13hash_internal4HashImEESt8equal_toImESaISt4pairIKmiEEEixImS4_EEDTclsrT0_5valueclL_ZSt9addressofISC_EPT_RSI_EclL_ZSt7declvalIRSC_EDTcl9__declvalISI_ELi0EEEvEEEEERSB_.exit: ; preds = %land.lhs.true.i.i.i - %second.i.i = getelementptr inbounds %"union.absl::debian2::container_internal::map_slot_type", ptr %26, i64 %retval.sroa.0.0.i15.i.i.i, i32 1 + %second.i.i = getelementptr inbounds %"union.absl::debian2::container_internal::map_slot_type", ptr %27, i64 %retval.sroa.0.0.i15.i.i5.i, i32 1 store i32 %call9, ptr %second.i.i, align 4 br label %return @@ -2472,7 +2472,7 @@ if.end17.us: ; preds = %_ZN3re28Compiler14B %16 = load i32, ptr %arrayidx.i.i51.us, align 4 %and.i52.us = and i32 %16, 7 %cmp27.us = icmp eq i32 %and.i52.us, 0 - br i1 %cmp27.us, label %while.cond.us, label %if.else29, !llvm.loop !15 + br i1 %cmp27.us, label %while.cond.us, label %if.else29, !llvm.loop !16 if.then: ; preds = %entry %17 = getelementptr inbounds nuw i8, ptr %arrayidx.i.i, i64 4 @@ -2920,7 +2920,7 @@ if.then4: ; preds = %if.end for.cond: ; preds = %for.body %inc = add nuw nsw i32 %i.083, 1 %exitcond.not = icmp eq i32 %inc, 4 - br i1 %exitcond.not, label %for.end, label %for.body, !llvm.loop !16 + br i1 %exitcond.not, label %for.end, label %for.body, !llvm.loop !17 for.body: ; preds = %if.end, %for.cond %i.083 = phi i32 [ %inc, %for.cond ], [ 1, %if.end ] @@ -3025,7 +3025,7 @@ if.then37: ; preds = %if.end34 for.inc47: ; preds = %for.body22, %if.end34 %inc48 = add nuw nsw i32 %i19.084, 1 %exitcond115.not = icmp eq i32 %inc48, 4 - br i1 %exitcond115.not, label %for.end49, label %for.body22, !llvm.loop !17 + br i1 %exitcond115.not, label %for.end49, label %for.body22, !llvm.loop !18 for.end49: ; preds = %for.inc47 store i32 %lo.tr93, ptr %lo.addr, align 4 @@ -3082,7 +3082,7 @@ for.inc81: ; preds = %if.then69, %if.else %id.1 = phi i32 [ %call74, %if.then69 ], [ %call79, %if.else ] %indvars.iv.next118 = add nuw nsw i64 %indvars.iv117, 1 %exitcond120.not = icmp eq i64 %indvars.iv.next118, %wide.trip.count - br i1 %exitcond120.not, label %if.end117, label %for.body59, !llvm.loop !18 + br i1 %exitcond120.not, label %if.end117, label %for.body59, !llvm.loop !19 if.else84: ; preds = %for.end49 br i1 %cmp58101, label %for.body89.preheader, label %if.end117 @@ -3129,7 +3129,7 @@ for.inc115: ; preds = %if.then102, %if.els %id.4 = phi i32 [ %call107, %if.then102 ], [ %call113, %if.else108 ] %indvars.iv.next = add nsw i64 %indvars.iv, -1 %cmp88 = icmp sgt i64 %indvars.iv, 0 - br i1 %cmp88, label %for.body89, label %if.end117, !llvm.loop !19 + br i1 %cmp88, label %for.body89, label %if.end117, !llvm.loop !20 if.end117: ; preds = %for.inc115, %for.inc81, %if.else84, %for.cond57.preheader %id.2 = phi i32 [ 0, %for.cond57.preheader ], [ 0, %if.else84 ], [ %id.1, %for.inc81 ], [ %id.4, %for.inc115 ] @@ -3854,7 +3854,7 @@ _ZN3re28Compiler9ByteRangeEiib.exit86: ; preds = %if.then.i80, %if.en store i40 %ref.tmp.sroa.2.0.extract.trunc, ptr %retval.8.retval.8.retval.8..sroa_idx104, align 8 %indvars.iv.next = add nuw nsw i64 %indvars.iv, 1 %exitcond.not = icmp eq i64 %indvars.iv.next, %wide.trip.count - br i1 %exitcond.not, label %return, label %for.body, !llvm.loop !20 + br i1 %exitcond.not, label %return, label %for.body, !llvm.loop !21 return: ; preds = %_ZN3re28Compiler9ByteRangeEiib.exit86, %_ZN3re28Compiler9ByteRangeEiib.exit59, %_ZN3re28Compiler9ByteRangeEiib.exit32, %_ZN3re28Compiler9ByteRangeEiib.exit, %sw.default %retval.0.retval.0..fca.0.load = phi i64 [ %retval.0.retval.0..fca.0.load.i23, %_ZN3re28Compiler9ByteRangeEiib.exit32 ], [ %retval.0.retval.0..fca.0.load.i, %_ZN3re28Compiler9ByteRangeEiib.exit ], [ %retval.0.retval.0.retval.0..fca.0.load.pre, %sw.default ], [ %retval.0.retval.0..fca.0.load.i50, %_ZN3re28Compiler9ByteRangeEiib.exit59 ], [ %8, %_ZN3re28Compiler9ByteRangeEiib.exit86 ] @@ -4086,7 +4086,7 @@ for.body: ; preds = %for.body.lr.ph, %fo store i40 %ref.tmp19.sroa.2.0.extract.trunc, ptr %retval.8.retval.8.retval.8.retval.sroa_idx446, align 8 %indvars.iv.next378 = add nuw nsw i64 %indvars.iv377, 1 %exitcond381.not = icmp eq i64 %indvars.iv.next378, %wide.trip.count380 - br i1 %exitcond381.not, label %return, label %for.body, !llvm.loop !21 + br i1 %exitcond381.not, label %return, label %for.body, !llvm.loop !22 sw.bb24: ; preds = %if.end call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %retval, ptr noundef nonnull align 4 dereferenceable(16) %child_frags, i64 16, i1 false) @@ -4115,7 +4115,7 @@ for.body29: ; preds = %for.body29.lr.ph, % store i40 %ref.tmp30.sroa.2.0.extract.trunc, ptr %retval.8.retval.8.retval.8.retval.sroa_idx445, align 8 %indvars.iv.next375 = add nuw nsw i64 %indvars.iv374, 1 %exitcond.not = icmp eq i64 %indvars.iv.next375, %wide.trip.count - br i1 %exitcond.not, label %return, label %for.body29, !llvm.loop !22 + br i1 %exitcond.not, label %return, label %for.body29, !llvm.loop !23 sw.bb39: ; preds = %if.end %agg.tmp40.sroa.0.0.copyload = load i64, ptr %child_frags, align 4 @@ -4238,7 +4238,7 @@ for.inc91: ; preds = %for.body76, %if.els %49 = load i32, ptr %35, align 8 %50 = sext i32 %49 to i64 %cmp75 = icmp slt i64 %indvars.iv.next, %50 - br i1 %cmp75, label %for.body76, label %return, !llvm.loop !23 + br i1 %cmp75, label %for.body76, label %return, !llvm.loop !24 sw.bb94: ; preds = %if.end %rune_cache_.i = getelementptr inbounds nuw i8, ptr %this, i64 152 @@ -4449,7 +4449,7 @@ for.inc145: ; preds = %land.lhs.true118, % %idx.ext.i = sext i32 %73 to i64 %add.ptr.i = getelementptr inbounds %"struct.re2::RuneRange", ptr %74, i64 %idx.ext.i %cmp114.not = icmp eq ptr %incdec.ptr, %add.ptr.i - br i1 %cmp114.not, label %for.end146, label %for.body115, !llvm.loop !24 + br i1 %cmp114.not, label %for.end146, label %for.body115, !llvm.loop !25 for.end146: ; preds = %for.inc145, %if.end108 %rune_range_.i140 = getelementptr inbounds nuw i8, ptr %this, i64 192 @@ -5360,7 +5360,7 @@ invoke.cont19: ; preds = %for.body %11 = load i16, ptr %nsub_.i, align 2 %12 = zext i16 %11 to i64 %cmp13 = icmp samesign ult i64 %indvars.iv.next, %12 - br i1 %cmp13, label %for.body, label %for.end, !llvm.loop !25 + br i1 %cmp13, label %for.body, label %for.end, !llvm.loop !26 _ZN3re28PODArrayIPNS_6RegexpEED2Ev.exit.loopexit: ; preds = %for.body %lpad.loopexit = landingpad { ptr, i32 } @@ -5516,7 +5516,7 @@ invoke.cont23: ; preds = %for.body %sub16 = add nsw i32 %conv.i37, -1 %15 = sext i32 %sub16 to i64 %cmp17 = icmp slt i64 %indvars.iv.next, %15 - br i1 %cmp17, label %for.body, label %for.end, !llvm.loop !26 + br i1 %cmp17, label %for.body, label %for.end, !llvm.loop !27 _ZN3re28PODArrayIPNS_6RegexpEED2Ev.exit.loopexit: ; preds = %for.body %lpad.loopexit = landingpad { ptr, i32 } @@ -6263,7 +6263,7 @@ invoke.cont.i: ; preds = %for.body.i store ptr %call5.i.i.i5.i, ptr %__cur.08.i, align 8 %incdec.ptr.i = getelementptr inbounds nuw i8, ptr %__cur.08.i, i64 8 %cmp.i8 = icmp ult ptr %incdec.ptr.i, %add.ptr14 - br i1 %cmp.i8, label %for.body.i, label %try.cont, !llvm.loop !27 + br i1 %cmp.i8, label %for.body.i, label %try.cont, !llvm.loop !28 lpad.i: ; preds = %for.body.i %1 = landingpad { ptr, i32 } @@ -6414,7 +6414,7 @@ while.body.lr.ph: ; preds = %invoke.cont %_M_first3.i.i.i.i = getelementptr inbounds nuw i8, ptr %this, i64 64 %_M_node5.i.i.i.i = getelementptr inbounds nuw i8, ptr %this, i64 80 %_M_last.i.i.i.i = getelementptr inbounds nuw i8, ptr %this, i64 72 - %.pre = load ptr, ptr %_M_first3.i.i.i.i, align 8, !noalias !28 + %.pre = load ptr, ptr %_M_first3.i.i.i.i, align 8 br label %while.body while.body: ; preds = %while.body.lr.ph, %_ZNSt5stackIN3re29WalkStateINS0_4FragEEESt5dequeIS3_SaIS3_EEE3popEv.exit @@ -6424,7 +6424,7 @@ while.body: ; preds = %while.body.lr.ph, % br i1 %cmp.i.i.i5, label %_ZNSt5stackIN3re29WalkStateINS0_4FragEEESt5dequeIS3_SaIS3_EEE3topEv.exit, label %_ZNSt5stackIN3re29WalkStateINS0_4FragEEESt5dequeIS3_SaIS3_EEE3topEv.exit.thread _ZNSt5stackIN3re29WalkStateINS0_4FragEEESt5dequeIS3_SaIS3_EEE3topEv.exit: ; preds = %while.body - %7 = load ptr, ptr %_M_node5.i.i.i.i, align 8, !noalias !28 + %7 = load ptr, ptr %_M_node5.i.i.i.i, align 8, !noalias !29 %add.ptr.i.i.i = getelementptr inbounds i8, ptr %7, i64 -8 %8 = load ptr, ptr %add.ptr.i.i.i, align 8 %incdec.ptr.i.i.i = getelementptr inbounds nuw i8, ptr %8, i64 432 @@ -6493,7 +6493,7 @@ _ZNSt5stackIN3re29WalkStateINS0_4FragEEESt5dequeIS3_SaIS3_EEE3popEv.exit: ; pred store ptr %storemerge.i.i, ptr %_M_finish.i.i, align 8 %21 = load ptr, ptr %_M_start.i.i, align 8 %cmp.i.i.i4 = icmp eq ptr %storemerge.i.i, %21 - br i1 %cmp.i.i.i4, label %if.end12, label %while.body, !llvm.loop !31 + br i1 %cmp.i.i.i4, label %if.end12, label %while.body, !llvm.loop !32 if.end12: ; preds = %_ZNSt5stackIN3re29WalkStateINS0_4FragEEESt5dequeIS3_SaIS3_EEE3popEv.exit, %invoke.cont, %entry ret void @@ -6534,7 +6534,7 @@ if.end.i: ; preds = %entry, %if.end.i %cmp.i.i.i.i = icmp slt <16 x i8> %5, splat (i8 -1) %6 = bitcast <16 x i1> %cmp.i.i.i.i to i16 %cmp.i.not.i = icmp eq i16 %6, 0 - br i1 %cmp.i.not.i, label %if.end.i, label %_ZN4absl7debian218container_internal19find_first_non_fullEPamm.exit, !llvm.loop !32 + br i1 %cmp.i.not.i, label %if.end.i, label %_ZN4absl7debian218container_internal19find_first_non_fullEPamm.exit, !llvm.loop !33 _ZN4absl7debian218container_internal19find_first_non_fullEPamm.exit: ; preds = %if.end.i, %entry %seq.sroa.3.0.lcssa.i = phi i64 [ %and.i.i.i, %entry ], [ %and.i6.i, %if.end.i ] @@ -6606,7 +6606,7 @@ if.end.i24: ; preds = %_ZN4absl7debian218c %cmp.i.i.i.i31 = icmp slt <16 x i8> %16, splat (i8 -1) %17 = bitcast <16 x i1> %cmp.i.i.i.i31 to i16 %cmp.i.not.i32 = icmp eq i16 %17, 0 - br i1 %cmp.i.not.i32, label %if.end.i24, label %_ZN4absl7debian218container_internal19find_first_non_fullEPamm.exit33, !llvm.loop !32 + br i1 %cmp.i.not.i32, label %if.end.i24, label %_ZN4absl7debian218container_internal19find_first_non_fullEPamm.exit33, !llvm.loop !33 _ZN4absl7debian218container_internal19find_first_non_fullEPamm.exit33: ; preds = %if.end.i24, %_ZN4absl7debian218container_internal12raw_hash_setINS1_17FlatHashMapPolicyImiEENS0_13hash_internal4HashImEESt8equal_toImESaISt4pairIKmiEEE28rehash_and_grow_if_necessaryEv.exit %seq.sroa.3.0.lcssa.i16 = phi i64 [ %and.i.i.i11, %_ZN4absl7debian218container_internal12raw_hash_setINS1_17FlatHashMapPolicyImiEENS0_13hash_internal4HashImEESt8equal_toImESaISt4pairIKmiEEE28rehash_and_grow_if_necessaryEv.exit ], [ %and.i6.i29, %if.end.i24 ] @@ -6727,7 +6727,7 @@ if.end.i: ; preds = %if.then, %if.end.i %cmp.i.i.i.i15 = icmp slt <16 x i8> %13, splat (i8 -1) %14 = bitcast <16 x i1> %cmp.i.i.i.i15 to i16 %cmp.i.not.i = icmp eq i16 %14, 0 - br i1 %cmp.i.not.i, label %if.end.i, label %_ZN4absl7debian218container_internal19find_first_non_fullEPamm.exit, !llvm.loop !32 + br i1 %cmp.i.not.i, label %if.end.i, label %_ZN4absl7debian218container_internal19find_first_non_fullEPamm.exit, !llvm.loop !33 _ZN4absl7debian218container_internal19find_first_non_fullEPamm.exit: ; preds = %if.end.i, %if.then %seq.sroa.3.0.lcssa.i = phi i64 [ %and.i.i.i, %if.then ], [ %and.i6.i, %if.end.i ] @@ -6757,7 +6757,7 @@ _ZN4absl7debian218container_internal19find_first_non_fullEPamm.exit: ; preds = % for.inc: ; preds = %for.body, %_ZN4absl7debian218container_internal19find_first_non_fullEPamm.exit %inc = add nuw i64 %i.027, 1 %cmp.not = icmp eq i64 %inc, %2 - br i1 %cmp.not, label %if.then14, label %for.body, !llvm.loop !33 + br i1 %cmp.not, label %if.then14, label %for.body, !llvm.loop !34 if.then14: ; preds = %for.inc tail call void @_ZdlPv(ptr noundef nonnull %0) #25 @@ -6825,7 +6825,7 @@ if.end.i: ; preds = %if.end, %if.end.i %cmp.i.i.i.i = icmp slt <16 x i8> %11, splat (i8 -1) %12 = bitcast <16 x i1> %cmp.i.i.i.i to i16 %cmp.i.not.i = icmp eq i16 %12, 0 - br i1 %cmp.i.not.i, label %if.end.i, label %_ZN4absl7debian218container_internal19find_first_non_fullEPamm.exit, !llvm.loop !32 + br i1 %cmp.i.not.i, label %if.end.i, label %_ZN4absl7debian218container_internal19find_first_non_fullEPamm.exit, !llvm.loop !33 _ZN4absl7debian218container_internal19find_first_non_fullEPamm.exit: ; preds = %if.end.i, %if.end %seq.sroa.3.0.lcssa.i = phi i64 [ %and.i.i.i, %if.end ], [ %and.i6.i, %if.end.i ] @@ -6909,7 +6909,7 @@ for.inc: ; preds = %if.then19, %if.else %inc = add i64 %i.1, 1 %32 = load i64, ptr %capacity_, align 8 %cmp.not = icmp eq i64 %inc, %32 - br i1 %cmp.not, label %for.end, label %for.body, !llvm.loop !34 + br i1 %cmp.not, label %for.end, label %for.body, !llvm.loop !35 for.end: ; preds = %for.inc, %entry %.lcssa70 = phi i64 [ 0, %entry ], [ %inc, %for.inc ] @@ -7046,13 +7046,13 @@ _ZNSt5stackIN3re29WalkStateINS0_4FragEEESt5dequeIS3_SaIS3_EEE4pushEOS3_.exit: ; for.cond: ; preds = %for.cond.backedge, %_ZNSt5stackIN3re29WalkStateINS0_4FragEEESt5dequeIS3_SaIS3_EEE4pushEOS3_.exit store i32 0, ptr %retval, align 8 store i64 0, ptr %retval.4.retval.4.retval.4.end.i.sroa_idx, align 4 - %5 = load ptr, ptr %_M_finish.i.i.i, align 8, !noalias !35 - %6 = load ptr, ptr %_M_first3.i.i.i.i, align 8, !noalias !35 + %5 = load ptr, ptr %_M_finish.i.i.i, align 8, !noalias !36 + %6 = load ptr, ptr %_M_first3.i.i.i.i, align 8, !noalias !36 %cmp.i.i.i = icmp eq ptr %5, %6 br i1 %cmp.i.i.i, label %if.then.i.i.i50, label %_ZNSt5stackIN3re29WalkStateINS0_4FragEEESt5dequeIS3_SaIS3_EEE3topEv.exit if.then.i.i.i50: ; preds = %for.cond - %7 = load ptr, ptr %_M_node5.i.i.i.i, align 8, !noalias !35 + %7 = load ptr, ptr %_M_node5.i.i.i.i, align 8, !noalias !36 %add.ptr.i.i.i51 = getelementptr inbounds i8, ptr %7, i64 -8 %8 = load ptr, ptr %add.ptr.i.i.i51, align 8 %add.ptr.i.i.i.i = getelementptr inbounds nuw i8, ptr %8, i64 504 @@ -7218,7 +7218,7 @@ if.then58: ; preds = %land.lhs.true51 br label %for.cond.backedge for.cond.backedge: ; preds = %if.then58, %if.then.i.i.i68, %if.else.i.i.i70, %if.end117 - br label %for.cond, !llvm.loop !38 + br label %for.cond, !llvm.loop !39 if.else74: ; preds = %land.lhs.true51, %if.then47.if.else74_crit_edge %34 = phi ptr [ %.pre, %if.then47.if.else74_crit_edge ], [ %26, %land.lhs.true51 ] @@ -7322,7 +7322,7 @@ if.end105: ; preds = %_ZNSt5stackIN3re29W br i1 %cmp.i.i.i78, label %if.then.i.i.i80, label %_ZNSt5stackIN3re29WalkStateINS0_4FragEEESt5dequeIS3_SaIS3_EEE3topEv.exit84 if.then.i.i.i80: ; preds = %if.end105 - %50 = load ptr, ptr %_M_node5.i.i.i.i, align 8, !noalias !39 + %50 = load ptr, ptr %_M_node5.i.i.i.i, align 8, !noalias !40 %add.ptr.i.i.i82 = getelementptr inbounds i8, ptr %50, i64 -8 %51 = load ptr, ptr %add.ptr.i.i.i82, align 8 %add.ptr.i.i.i.i83 = getelementptr inbounds nuw i8, ptr %51, i64 504 @@ -7637,7 +7637,7 @@ attributes #29 = { cold } !12 = distinct !{!12, !13, !"_ZN4absl7debian218container_internal12raw_hash_mapINS1_17FlatHashMapPolicyImiEENS0_13hash_internal4HashImEESt8equal_toImESaISt4pairIKmiEEE11try_emplaceImJETnNSt9enable_ifIXntsr3std14is_convertibleIT_NS1_12raw_hash_setIS4_S7_S9_SD_E14const_iteratorEEE5valueEiE4typeELi0EEESA_INSJ_8iteratorEbERSB_DpOT0_: %agg.result"} !13 = distinct !{!13, !"_ZN4absl7debian218container_internal12raw_hash_mapINS1_17FlatHashMapPolicyImiEENS0_13hash_internal4HashImEESt8equal_toImESaISt4pairIKmiEEE11try_emplaceImJETnNSt9enable_ifIXntsr3std14is_convertibleIT_NS1_12raw_hash_setIS4_S7_S9_SD_E14const_iteratorEEE5valueEiE4typeELi0EEESA_INSJ_8iteratorEbERSB_DpOT0_"} !14 = distinct !{!14, !5} -!15 = distinct !{!15, !5} +!15 = !{} !16 = distinct !{!16, !5} !17 = distinct !{!17, !5} !18 = distinct !{!18, !5} @@ -7650,17 +7650,18 @@ attributes #29 = { cold } !25 = distinct !{!25, !5} !26 = distinct !{!26, !5} !27 = distinct !{!27, !5} -!28 = !{!29} -!29 = distinct !{!29, !30, !"_ZNSt5dequeIN3re29WalkStateINS0_4FragEEESaIS3_EE3endEv: %agg.result"} -!30 = distinct !{!30, !"_ZNSt5dequeIN3re29WalkStateINS0_4FragEEESaIS3_EE3endEv"} -!31 = distinct !{!31, !5} +!28 = distinct !{!28, !5} +!29 = !{!30} +!30 = distinct !{!30, !31, !"_ZNSt5dequeIN3re29WalkStateINS0_4FragEEESaIS3_EE3endEv: %agg.result"} +!31 = distinct !{!31, !"_ZNSt5dequeIN3re29WalkStateINS0_4FragEEESaIS3_EE3endEv"} !32 = distinct !{!32, !5} !33 = distinct !{!33, !5} !34 = distinct !{!34, !5} -!35 = !{!36} -!36 = distinct !{!36, !37, !"_ZNSt5dequeIN3re29WalkStateINS0_4FragEEESaIS3_EE3endEv: %agg.result"} -!37 = distinct !{!37, !"_ZNSt5dequeIN3re29WalkStateINS0_4FragEEESaIS3_EE3endEv"} -!38 = distinct !{!38, !5} -!39 = !{!40} -!40 = distinct !{!40, !41, !"_ZNSt5dequeIN3re29WalkStateINS0_4FragEEESaIS3_EE3endEv: %agg.result"} -!41 = distinct !{!41, !"_ZNSt5dequeIN3re29WalkStateINS0_4FragEEESaIS3_EE3endEv"} +!35 = distinct !{!35, !5} +!36 = !{!37} +!37 = distinct !{!37, !38, !"_ZNSt5dequeIN3re29WalkStateINS0_4FragEEESaIS3_EE3endEv: %agg.result"} +!38 = distinct !{!38, !"_ZNSt5dequeIN3re29WalkStateINS0_4FragEEESaIS3_EE3endEv"} +!39 = distinct !{!39, !5} +!40 = !{!41} +!41 = distinct !{!41, !42, !"_ZNSt5dequeIN3re29WalkStateINS0_4FragEEESaIS3_EE3endEv: %agg.result"} +!42 = distinct !{!42, !"_ZNSt5dequeIN3re29WalkStateINS0_4FragEEESaIS3_EE3endEv"} diff --git a/bench/regex-rs/optimized/1ezs5fkqov3a1527.ll b/bench/regex-rs/optimized/1ezs5fkqov3a1527.ll index 2b0a9603c3d..b4c08c88987 100644 --- a/bench/regex-rs/optimized/1ezs5fkqov3a1527.ll +++ b/bench/regex-rs/optimized/1ezs5fkqov3a1527.ll @@ -110,7 +110,7 @@ define hidden void @"_ZN112_$LT$alloc..vec..Vec$LT$T$C$A$GT$..retain_mut..Backsh %2 = getelementptr inbounds nuw i8, ptr %0, i64 16 %3 = load i64, ptr %2, align 8, !noundef !4 %.not = icmp eq i64 %3, 0 - %.pre = load ptr, ptr %0, align 8 + %.pre = load ptr, ptr %0, align 8, !nonnull !4, !align !5 br i1 %.not, label %._crit_edge, label %4 ._crit_edge: ; preds = %1 @@ -1008,7 +1008,7 @@ define hidden void @"_ZN4core3ptr144drop_in_place$LT$alloc..vec..Vec$LT$T$C$A$GT %2 = getelementptr inbounds nuw i8, ptr %0, i64 16 %3 = load i64, ptr %2, align 8, !alias.scope !420, !noundef !4 %.not.i = icmp eq i64 %3, 0 - %.pre.i = load ptr, ptr %0, align 8, !alias.scope !420 + %.pre.i = load ptr, ptr %0, align 8, !alias.scope !420, !nonnull !4, !align !5 br i1 %.not.i, label %._crit_edge.i, label %4 ._crit_edge.i: ; preds = %1 @@ -9765,7 +9765,7 @@ default.unreachable70: ; preds = %65, %1 to label %"._ZN5alloc3vec16Vec$LT$T$C$A$GT$4push17h68df1cbeac0eb367E.exit_crit_edge" unwind label %96 "._ZN5alloc3vec16Vec$LT$T$C$A$GT$4push17h68df1cbeac0eb367E.exit_crit_edge": ; preds = %95 - %.pre69 = load i64, ptr %50, align 8, !alias.scope !3725 + %.pre69 = load i64, ptr %50, align 8 br label %"_ZN5alloc3vec16Vec$LT$T$C$A$GT$4push17h68df1cbeac0eb367E.exit" 96: ; preds = %95 @@ -9825,7 +9825,7 @@ default.unreachable70: ; preds = %65, %1 to label %"._ZN5alloc3vec16Vec$LT$T$C$A$GT$4push17h68df1cbeac0eb367E.exit22_crit_edge" unwind label %119 "._ZN5alloc3vec16Vec$LT$T$C$A$GT$4push17h68df1cbeac0eb367E.exit22_crit_edge": ; preds = %118 - %.pre = load i64, ptr %50, align 8, !alias.scope !3728 + %.pre = load i64, ptr %50, align 8 br label %"_ZN5alloc3vec16Vec$LT$T$C$A$GT$4push17h68df1cbeac0eb367E.exit22" 119: ; preds = %118 @@ -9892,7 +9892,7 @@ default.unreachable70: ; preds = %65, %1 146: ; preds = %"_ZN97_$LT$alloc..vec..Vec$LT$T$C$A$GT$$u20$as$u20$alloc..vec..spec_extend..SpecExtend$LT$T$C$I$GT$$GT$11spec_extend17ha359d9dc55360ae2E.exit" call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %6) - %.pr = load i64, ptr %50, align 8, !alias.scope !3712 + %.pr = load i64, ptr %50, align 8 %147 = icmp eq i64 %.pr, 0 br i1 %147, label %"_ZN70_$LT$alloc..vec..Vec$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h4b2009a03ed84f42E.llvm.15241997999693184539.exit.i", label %65 @@ -10141,8 +10141,8 @@ define void @"_ZN69_$LT$regex_syntax..ast..ClassSet$u20$as$u20$core..ops..drop.. to label %._crit_edge101 unwind label %80, !noalias !3783 ._crit_edge101: ; preds = %79 - %.pre102 = load i64, ptr %42, align 8, !alias.scope !3786, !noalias !3783 - %.pre = load ptr, ptr %41, align 8, !alias.scope !3786, !noalias !3783 + %.pre102 = load i64, ptr %42, align 8 + %.pre = load ptr, ptr %41, align 8, !nonnull !4 br label %84 80: ; preds = %79 @@ -10170,13 +10170,13 @@ define void @"_ZN69_$LT$regex_syntax..ast..ClassSet$u20$as$u20$core..ops..drop.. 89: ; preds = %"_ZN97_$LT$alloc..vec..Vec$LT$T$C$A$GT$$u20$as$u20$alloc..vec..spec_extend..SpecExtend$LT$T$C$I$GT$$GT$11spec_extend17ha8bcc7af173a30efE.exit" call void @llvm.lifetime.end.p0(i64 160, ptr nonnull %6) call void @llvm.lifetime.end.p0(i64 152, ptr nonnull %.sroa.0) - %.pr = load i64, ptr %42, align 8, !alias.scope !3763, !noalias !3766 + %.pr = load i64, ptr %42, align 8 call void @llvm.lifetime.start.p0(i64 152, ptr nonnull %.sroa.0) %90 = icmp eq i64 %.pr, 0 br i1 %90, label %"._ZN5alloc3vec16Vec$LT$T$C$A$GT$3pop17ha04a2440fa1b7961E.exit.thread_crit_edge", label %"_ZN5alloc3vec16Vec$LT$T$C$A$GT$3pop17ha04a2440fa1b7961E.exit" "._ZN5alloc3vec16Vec$LT$T$C$A$GT$3pop17ha04a2440fa1b7961E.exit.thread_crit_edge": ; preds = %89 - %.pre106 = load ptr, ptr %41, align 8, !alias.scope !3788 + %.pre106 = load ptr, ptr %41, align 8, !nonnull !4 br label %"_ZN5alloc3vec16Vec$LT$T$C$A$GT$3pop17ha04a2440fa1b7961E.exit.thread" 91: ; preds = %.body, %46 @@ -10189,7 +10189,6 @@ define void @"_ZN69_$LT$regex_syntax..ast..ClassSet$u20$as$u20$core..ops..drop.. %93 = phi ptr [ %.pre106, %"._ZN5alloc3vec16Vec$LT$T$C$A$GT$3pop17ha04a2440fa1b7961E.exit.thread_crit_edge" ], [ %53, %"_ZN5alloc3vec16Vec$LT$T$C$A$GT$3pop17ha04a2440fa1b7961E.exit" ] %94 = phi i64 [ 0, %"._ZN5alloc3vec16Vec$LT$T$C$A$GT$3pop17ha04a2440fa1b7961E.exit.thread_crit_edge" ], [ %50, %"_ZN5alloc3vec16Vec$LT$T$C$A$GT$3pop17ha04a2440fa1b7961E.exit" ] call void @llvm.lifetime.end.p0(i64 152, ptr nonnull %.sroa.0) - call void @llvm.experimental.noalias.scope.decl(metadata !3788) br label %95 95: ; preds = %97, %"_ZN5alloc3vec16Vec$LT$T$C$A$GT$3pop17ha04a2440fa1b7961E.exit.thread" @@ -10555,7 +10554,7 @@ _ZN5alloc5alloc15exchange_malloc17hbe31f2048284b3faE.exit: ; preds = %32 to label %._crit_edge79 unwind label %96, !noalias !3830 ._crit_edge79: ; preds = %95 - %.pre80 = load i64, ptr %45, align 8, !alias.scope !3827, !noalias !3830 + %.pre80 = load i64, ptr %45, align 8 br label %100 96: ; preds = %95 @@ -10612,7 +10611,7 @@ _ZN5alloc5alloc15exchange_malloc17hbe31f2048284b3faE.exit: ; preds = %32 to label %._crit_edge unwind label %110, !noalias !3835 ._crit_edge: ; preds = %109 - %.pre = load i64, ptr %45, align 8, !alias.scope !3832, !noalias !3835 + %.pre = load i64, ptr %45, align 8 br label %114 110: ; preds = %109 @@ -10680,7 +10679,7 @@ _ZN5alloc5alloc15exchange_malloc17hbe31f2048284b3faE.exit: ; preds = %32 call void @__rust_dealloc(ptr noundef nonnull %135, i64 noundef 80, i64 noundef 8) #22, !noalias !3847 call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %6) call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %.sroa.8) - %.pr = load i64, ptr %45, align 8, !alias.scope !3799, !noalias !3802 + %.pr = load i64, ptr %45, align 8 call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %.sroa.8) %136 = icmp eq i64 %.pr, 0 br i1 %136, label %.loopexit.thread, label %"_ZN5alloc3vec16Vec$LT$T$C$A$GT$3pop17he0f62a51d725bdcaE.exit" diff --git a/bench/ripgrep-rs/optimized/1rzxgyr0fo8f0ob1.ll b/bench/ripgrep-rs/optimized/1rzxgyr0fo8f0ob1.ll index e5b1fd7faed..1c2fff448b2 100644 --- a/bench/ripgrep-rs/optimized/1rzxgyr0fo8f0ob1.ll +++ b/bench/ripgrep-rs/optimized/1rzxgyr0fo8f0ob1.ll @@ -441,14 +441,13 @@ _ZN13grep_searcher11line_buffer10LineBuffer11free_buffer17h3180c133324235abE.exi 34: ; preds = %.thread tail call void @"_ZN5alloc3vec16Vec$LT$T$C$A$GT$11extend_with17hfb6a5a84d68c598bE.llvm.12743913752286771008"(ptr noalias noundef nonnull align 8 dereferenceable(24) %14, i64 noundef %.039, i8 noundef 0) - %.pre = load i64, ptr %6, align 8, !alias.scope !58 - %.pre11 = load i64, ptr %8, align 8, !alias.scope !58 + %.pre = load i64, ptr %6, align 8 + %.pre11 = load i64, ptr %8, align 8 br label %"_ZN5alloc3vec16Vec$LT$T$C$A$GT$6resize17ha747805b17fd1d65E.exit" "_ZN5alloc3vec16Vec$LT$T$C$A$GT$6resize17ha747805b17fd1d65E.exit": ; preds = %"_ZN5alloc3vec16Vec$LT$T$C$A$GT$8truncate17h8de0378bf96c9949E.llvm.12743913752286771008.exit.i", %34 %35 = phi i64 [ %32, %"_ZN5alloc3vec16Vec$LT$T$C$A$GT$8truncate17h8de0378bf96c9949E.llvm.12743913752286771008.exit.i" ], [ %.pre11, %34 ] %36 = phi i64 [ %7, %"_ZN5alloc3vec16Vec$LT$T$C$A$GT$8truncate17h8de0378bf96c9949E.llvm.12743913752286771008.exit.i" ], [ %.pre, %34 ] - tail call void @llvm.experimental.noalias.scope.decl(metadata !58) %37 = icmp ugt i64 %36, %35 br i1 %37, label %38, label %_ZN13grep_searcher11line_buffer10LineBuffer11free_buffer17h3180c133324235abE.exit6 diff --git a/bench/ripgrep-rs/optimized/rwbxp5vay147miz.ll b/bench/ripgrep-rs/optimized/rwbxp5vay147miz.ll index 2e7394b7650..b34e64bea60 100644 --- a/bench/ripgrep-rs/optimized/rwbxp5vay147miz.ll +++ b/bench/ripgrep-rs/optimized/rwbxp5vay147miz.ll @@ -1560,7 +1560,7 @@ _ZN4core4char7methods15encode_utf8_raw17hb4a1fb525f58c43bE.exit: ; preds = %9, % ._crit_edge.i.i: ; preds = %76 %.pre.i.i = load i64, ptr %45, align 8, !alias.scope !225, !noalias !228 - %.pre.i = load ptr, ptr %47, align 8, !alias.scope !225, !noalias !228 + %.pre.i = load ptr, ptr %47, align 8, !alias.scope !209, !noalias !212, !nonnull !5 br label %"_ZN5alloc3vec16Vec$LT$T$C$A$GT$4push17hcc0929be5fa369f6E.exit.i" 77: ; preds = %76 @@ -2521,22 +2521,19 @@ define hidden void @_ZN12grep_printer9hyperlink13HyperlinkPath9from_path17h383c3 121: ; preds = %126, %139 %122 = phi ptr [ %128, %126 ], [ %.pre, %139 ] store i64 -9223372036854775808, ptr %0, align 8 - call void @llvm.experimental.noalias.scope.decl(metadata !391) - call void @llvm.experimental.noalias.scope.decl(metadata !394) - call void @llvm.experimental.noalias.scope.decl(metadata !397) - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %4), !noalias !400 - call void @_ZN3std2io5error14repr_bitpacked11decode_repr17h5e670f71afc46d65E.llvm.1773065985454848448(ptr noalias noundef nonnull sret({ i8, [15 x i8] }) align 8 captures(none) dereferenceable(16) %4, ptr noundef nonnull %122), !noalias !400 - %123 = load i8, ptr %4, align 8, !range !401, !alias.scope !402, !noalias !400, !noundef !5 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %4), !noalias !391 + call void @_ZN3std2io5error14repr_bitpacked11decode_repr17h5e670f71afc46d65E.llvm.1773065985454848448(ptr noalias noundef nonnull sret({ i8, [15 x i8] }) align 8 captures(none) dereferenceable(16) %4, ptr noundef nonnull %122), !noalias !391 + %123 = load i8, ptr %4, align 8, !range !398, !alias.scope !399, !noalias !391, !noundef !5 %switch.not.i.i.i.i = icmp eq i8 %123, 3 br i1 %switch.not.i.i.i.i, label %124, label %"_ZN4core3ptr42drop_in_place$LT$std..io..error..Error$GT$17h87ad661023076285E.exit" 124: ; preds = %121 %125 = getelementptr inbounds nuw i8, ptr %4, i64 8 - call void @"_ZN4core3ptr68drop_in_place$LT$alloc..boxed..Box$LT$std..io..error..Custom$GT$$GT$17hfeebffd914bda3e4E.llvm.1773065985454848448"(ptr noalias noundef nonnull align 8 dereferenceable(8) %125), !noalias !400 + call void @"_ZN4core3ptr68drop_in_place$LT$alloc..boxed..Box$LT$std..io..error..Custom$GT$$GT$17hfeebffd914bda3e4E.llvm.1773065985454848448"(ptr noalias noundef nonnull align 8 dereferenceable(8) %125), !noalias !391 br label %"_ZN4core3ptr42drop_in_place$LT$std..io..error..Error$GT$17h87ad661023076285E.exit" "_ZN4core3ptr42drop_in_place$LT$std..io..error..Error$GT$17h87ad661023076285E.exit": ; preds = %121, %124 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %4), !noalias !400 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %4), !noalias !391 call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %12) call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %13) br label %115 @@ -2562,22 +2559,22 @@ define hidden void @_ZN12grep_printer9hyperlink13HyperlinkPath9from_path17h383c3 store ptr %12, ptr %133, align 8 %134 = getelementptr inbounds nuw i8, ptr %10, i64 24 store ptr @"_ZN60_$LT$std..io..error..Error$u20$as$u20$core..fmt..Display$GT$3fmt17h1213a0edb2d83536E", ptr %134, align 8 - store ptr @anon.7fa474be69bc2c5004312b220467039f.69, ptr %11, align 8, !alias.scope !405, !noalias !408 + store ptr @anon.7fa474be69bc2c5004312b220467039f.69, ptr %11, align 8, !alias.scope !402, !noalias !405 %135 = getelementptr inbounds nuw i8, ptr %11, i64 8 - store i64 2, ptr %135, align 8, !alias.scope !405, !noalias !408 + store i64 2, ptr %135, align 8, !alias.scope !402, !noalias !405 %136 = getelementptr inbounds nuw i8, ptr %11, i64 32 - store ptr null, ptr %136, align 8, !alias.scope !405, !noalias !408 + store ptr null, ptr %136, align 8, !alias.scope !402, !noalias !405 %137 = getelementptr inbounds nuw i8, ptr %11, i64 16 - store ptr %10, ptr %137, align 8, !alias.scope !405, !noalias !408 + store ptr %10, ptr %137, align 8, !alias.scope !402, !noalias !405 %138 = getelementptr inbounds nuw i8, ptr %11, i64 24 - store i64 2, ptr %138, align 8, !alias.scope !405, !noalias !408 + store i64 2, ptr %138, align 8, !alias.scope !402, !noalias !405 invoke void @_ZN3log13__private_api8log_impl17hc470126f8d7e0821E(ptr noalias noundef nonnull align 8 captures(none) dereferenceable(48) %11, i64 noundef 4, ptr noalias noundef readonly align 8 dereferenceable(48) @anon.7fa474be69bc2c5004312b220467039f.67, i32 noundef 676, ptr noalias noundef readonly align 8 null, i64 undef) to label %139 unwind label %119 139: ; preds = %131 call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %11) call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %10) - %.pre = load ptr, ptr %12, align 8, !alias.scope !400 + %.pre = load ptr, ptr %12, align 8, !nonnull !5 br label %121 } @@ -3138,23 +3135,20 @@ attributes #20 = { cold noreturn nounwind } !388 = distinct !{!388, !"_ZN4core3ptr47drop_in_place$LT$std..ffi..os_str..OsString$GT$17h25e7bac80c124bebE.llvm.1773065985454848448"} !389 = distinct !{!389, !390, !"_ZN4core3ptr39drop_in_place$LT$std..path..PathBuf$GT$17h8463705f0ccd8b95E: argument 0"} !390 = distinct !{!390, !"_ZN4core3ptr39drop_in_place$LT$std..path..PathBuf$GT$17h8463705f0ccd8b95E"} -!391 = !{!392} -!392 = distinct !{!392, !393, !"_ZN4core3ptr42drop_in_place$LT$std..io..error..Error$GT$17h87ad661023076285E: argument 0"} -!393 = distinct !{!393, !"_ZN4core3ptr42drop_in_place$LT$std..io..error..Error$GT$17h87ad661023076285E"} -!394 = !{!395} -!395 = distinct !{!395, !396, !"_ZN4core3ptr57drop_in_place$LT$std..io..error..repr_bitpacked..Repr$GT$17hf00380708ef2f97fE.llvm.1773065985454848448: argument 0"} -!396 = distinct !{!396, !"_ZN4core3ptr57drop_in_place$LT$std..io..error..repr_bitpacked..Repr$GT$17hf00380708ef2f97fE.llvm.1773065985454848448"} -!397 = !{!398} -!398 = distinct !{!398, !399, !"_ZN78_$LT$std..io..error..repr_bitpacked..Repr$u20$as$u20$core..ops..drop..Drop$GT$4drop17hcd0fda5b36be54abE.llvm.1773065985454848448: argument 0"} -!399 = distinct !{!399, !"_ZN78_$LT$std..io..error..repr_bitpacked..Repr$u20$as$u20$core..ops..drop..Drop$GT$4drop17hcd0fda5b36be54abE.llvm.1773065985454848448"} -!400 = !{!398, !395, !392} -!401 = !{i8 0, i8 4} +!391 = !{!392, !394, !396} +!392 = distinct !{!392, !393, !"_ZN78_$LT$std..io..error..repr_bitpacked..Repr$u20$as$u20$core..ops..drop..Drop$GT$4drop17hcd0fda5b36be54abE.llvm.1773065985454848448: argument 0"} +!393 = distinct !{!393, !"_ZN78_$LT$std..io..error..repr_bitpacked..Repr$u20$as$u20$core..ops..drop..Drop$GT$4drop17hcd0fda5b36be54abE.llvm.1773065985454848448"} +!394 = distinct !{!394, !395, !"_ZN4core3ptr57drop_in_place$LT$std..io..error..repr_bitpacked..Repr$GT$17hf00380708ef2f97fE.llvm.1773065985454848448: argument 0"} +!395 = distinct !{!395, !"_ZN4core3ptr57drop_in_place$LT$std..io..error..repr_bitpacked..Repr$GT$17hf00380708ef2f97fE.llvm.1773065985454848448"} +!396 = distinct !{!396, !397, !"_ZN4core3ptr42drop_in_place$LT$std..io..error..Error$GT$17h87ad661023076285E: argument 0"} +!397 = distinct !{!397, !"_ZN4core3ptr42drop_in_place$LT$std..io..error..Error$GT$17h87ad661023076285E"} +!398 = !{i8 0, i8 4} +!399 = !{!400} +!400 = distinct !{!400, !401, !"_ZN4core3ptr101drop_in_place$LT$std..io..error..ErrorData$LT$alloc..boxed..Box$LT$std..io..error..Custom$GT$$GT$$GT$17h5957bdd954b688c3E.llvm.1773065985454848448: argument 0"} +!401 = distinct !{!401, !"_ZN4core3ptr101drop_in_place$LT$std..io..error..ErrorData$LT$alloc..boxed..Box$LT$std..io..error..Custom$GT$$GT$$GT$17h5957bdd954b688c3E.llvm.1773065985454848448"} !402 = !{!403} -!403 = distinct !{!403, !404, !"_ZN4core3ptr101drop_in_place$LT$std..io..error..ErrorData$LT$alloc..boxed..Box$LT$std..io..error..Custom$GT$$GT$$GT$17h5957bdd954b688c3E.llvm.1773065985454848448: argument 0"} -!404 = distinct !{!404, !"_ZN4core3ptr101drop_in_place$LT$std..io..error..ErrorData$LT$alloc..boxed..Box$LT$std..io..error..Custom$GT$$GT$$GT$17h5957bdd954b688c3E.llvm.1773065985454848448"} -!405 = !{!406} -!406 = distinct !{!406, !407, !"_ZN4core3fmt9Arguments6new_v117h139fe40277550836E: argument 0"} -!407 = distinct !{!407, !"_ZN4core3fmt9Arguments6new_v117h139fe40277550836E"} -!408 = !{!409, !410} -!409 = distinct !{!409, !407, !"_ZN4core3fmt9Arguments6new_v117h139fe40277550836E: argument 1"} -!410 = distinct !{!410, !407, !"_ZN4core3fmt9Arguments6new_v117h139fe40277550836E: argument 2"} +!403 = distinct !{!403, !404, !"_ZN4core3fmt9Arguments6new_v117h139fe40277550836E: argument 0"} +!404 = distinct !{!404, !"_ZN4core3fmt9Arguments6new_v117h139fe40277550836E"} +!405 = !{!406, !407} +!406 = distinct !{!406, !404, !"_ZN4core3fmt9Arguments6new_v117h139fe40277550836E: argument 1"} +!407 = distinct !{!407, !404, !"_ZN4core3fmt9Arguments6new_v117h139fe40277550836E: argument 2"} diff --git a/bench/rocksdb/optimized/histogram_windowing.ll b/bench/rocksdb/optimized/histogram_windowing.ll index af37ded57da..1322e26c568 100644 --- a/bench/rocksdb/optimized/histogram_windowing.ll +++ b/bench/rocksdb/optimized/histogram_windowing.ll @@ -75,15 +75,18 @@ define void @_ZN7rocksdb22HistogramWindowingImplC2Ev(ptr noundef nonnull align 8 %21 = load i32, ptr %18, align 4, !tbaa !36 %22 = add nsw i32 %21, 1 store i32 %22, ptr %18, align 4, !tbaa !36 - br label %_ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE15_M_add_ref_copyEv.exit.i.i.i + br label %_ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE15_M_add_ref_copyEv.exitthread-pre-split.i.i.i 23: ; preds = %17 %24 = atomicrmw volatile add ptr %18, i32 1 acq_rel, align 4 - %.pr.pre.i.i.i = load ptr, ptr %12, align 8, !tbaa !34 + br label %_ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE15_M_add_ref_copyEv.exitthread-pre-split.i.i.i + +_ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE15_M_add_ref_copyEv.exitthread-pre-split.i.i.i: ; preds = %23, %20 + %.pr.i.i.i = load ptr, ptr %12, align 8 br label %_ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE15_M_add_ref_copyEv.exit.i.i.i -_ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE15_M_add_ref_copyEv.exit.i.i.i: ; preds = %23, %20, %16 - %25 = phi ptr [ %15, %16 ], [ %15, %20 ], [ %.pr.pre.i.i.i, %23 ] +_ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE15_M_add_ref_copyEv.exit.i.i.i: ; preds = %_ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE15_M_add_ref_copyEv.exitthread-pre-split.i.i.i, %16 + %25 = phi ptr [ %.pr.i.i.i, %_ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE15_M_add_ref_copyEv.exitthread-pre-split.i.i.i ], [ %15, %16 ] %.not8.i.i.i = icmp eq ptr %25, null br i1 %.not8.i.i.i, label %_ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE10_M_releaseEv.exit.i.i.i, label %26 @@ -352,15 +355,18 @@ define void @_ZN7rocksdb22HistogramWindowingImplC2Emmm(ptr noundef nonnull align %24 = load i32, ptr %21, align 4, !tbaa !36 %25 = add nsw i32 %24, 1 store i32 %25, ptr %21, align 4, !tbaa !36 - br label %_ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE15_M_add_ref_copyEv.exit.i.i.i + br label %_ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE15_M_add_ref_copyEv.exitthread-pre-split.i.i.i 26: ; preds = %20 %27 = atomicrmw volatile add ptr %21, i32 1 acq_rel, align 4 - %.pr.pre.i.i.i = load ptr, ptr %15, align 8, !tbaa !34 + br label %_ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE15_M_add_ref_copyEv.exitthread-pre-split.i.i.i + +_ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE15_M_add_ref_copyEv.exitthread-pre-split.i.i.i: ; preds = %26, %23 + %.pr.i.i.i = load ptr, ptr %15, align 8 br label %_ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE15_M_add_ref_copyEv.exit.i.i.i -_ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE15_M_add_ref_copyEv.exit.i.i.i: ; preds = %26, %23, %19 - %28 = phi ptr [ %18, %19 ], [ %18, %23 ], [ %.pr.pre.i.i.i, %26 ] +_ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE15_M_add_ref_copyEv.exit.i.i.i: ; preds = %_ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE15_M_add_ref_copyEv.exitthread-pre-split.i.i.i, %19 + %28 = phi ptr [ %.pr.i.i.i, %_ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE15_M_add_ref_copyEv.exitthread-pre-split.i.i.i ], [ %18, %19 ] %.not8.i.i.i = icmp eq ptr %28, null br i1 %.not8.i.i.i, label %_ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE10_M_releaseEv.exit.i.i.i, label %29 diff --git a/bench/rocksdb/optimized/volatile_tier_impl.ll b/bench/rocksdb/optimized/volatile_tier_impl.ll index 411d60a84ba..68968f8d460 100644 --- a/bench/rocksdb/optimized/volatile_tier_impl.ll +++ b/bench/rocksdb/optimized/volatile_tier_impl.ll @@ -204,7 +204,7 @@ define void @_ZN7rocksdb17VolatileCacheTierD2Ev(ptr noundef nonnull align 8 dere br i1 %.not.i13, label %._crit_edge, label %.lr.ph ._crit_edge.loopexit: ; preds = %_ZN7rocksdb17VolatileCacheTier15DeleteCacheDataEPNS0_9CacheDataE.exit - %.pre = load ptr, ptr %19, align 8, !tbaa !31 + %.pre = load ptr, ptr %19, align 8 br label %._crit_edge ._crit_edge: ; preds = %._crit_edge.loopexit, %.noexc @@ -258,7 +258,7 @@ _ZN7rocksdb9WriteLockD2Ev.exit.i: ; preds = %_ZNSt7__cxx114listI %36 = load ptr, ptr %35, align 8, !tbaa !43 %.not.i.i16.i = icmp eq ptr %36, null %.phi.trans.insert.i.i.i = getelementptr inbounds nuw i8, ptr %34, i64 8 - %.pre.i.i.i = load ptr, ptr %.phi.trans.insert.i.i.i, align 8, !tbaa !47 + %.pre.i.i.i = load ptr, ptr %.phi.trans.insert.i.i.i, align 8 br i1 %.not.i.i16.i, label %._crit_edge.i.i.i, label %37 37: ; preds = %.noexc.i.i @@ -837,7 +837,7 @@ _ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_d store i64 %157, ptr %147, align 8, !tbaa !69 call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %2) #21 store ptr %150, ptr %144, align 8, !tbaa !88 - %.pre.i = load ptr, ptr %138, align 8, !tbaa !80 + %.pre.i = load ptr, ptr %138, align 8 br label %_ZNSt16allocator_traitsISaISt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEdSt4lessIS6_ESaISt4pairIKS6_dEEEEE9constructISD_JRKSD_EEEvRSE_PT_DpOT0_.exit.i _ZNSt16allocator_traitsISaISt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEdSt4lessIS6_ESaISt4pairIKS6_dEEEEE9constructISD_JRKSD_EEEvRSE_PT_DpOT0_.exit.i: ; preds = %156, %142 @@ -1094,7 +1094,7 @@ _ZSt8_DestroyISt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEdSt4les br i1 %.not.i.i.i, label %_ZSt8_DestroyIPSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEdSt4lessIS6_ESaISt4pairIKS6_dEEESD_EvT_SF_RSaIT0_E.exitthread-pre-split, label %.lr.ph.i.i.i, !llvm.loop !92 _ZSt8_DestroyIPSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEdSt4lessIS6_ESaISt4pairIKS6_dEEESD_EvT_SF_RSaIT0_E.exitthread-pre-split: ; preds = %_ZSt8_DestroyISt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEdSt4lessIS6_ESaISt4pairIKS6_dEEEEvPT_.exit.i.i.i - %.pr = load ptr, ptr %0, align 8, !tbaa !91 + %.pr = load ptr, ptr %0, align 8 br label %_ZSt8_DestroyIPSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEdSt4lessIS6_ESaISt4pairIKS6_dEEESD_EvT_SF_RSaIT0_E.exit _ZSt8_DestroyIPSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEdSt4lessIS6_ESaISt4pairIKS6_dEEESD_EvT_SF_RSaIT0_E.exit: ; preds = %_ZSt8_DestroyIPSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEdSt4lessIS6_ESaISt4pairIKS6_dEEESD_EvT_SF_RSaIT0_E.exitthread-pre-split, %1 @@ -1950,10 +1950,10 @@ _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit19: ; preds = %_ZN _ZNKSt14default_deleteIA_cEclIcEENSt9enable_ifIXsr14is_convertibleIPA_T_PS0_EE5valueEvE4typeEPS4_.exit.i.i: ; preds = %36 call void @_ZdaPv(ptr noundef nonnull %37) #22 - %.pre = load ptr, ptr %3, align 8, !tbaa !107 - %.pre27 = load ptr, ptr %8, align 8, !tbaa !41 + %.pre = load ptr, ptr %3, align 8 + %.pre27 = load ptr, ptr %8, align 8 %.phi.trans.insert = getelementptr inbounds nuw i8, ptr %.pre27, i64 72 - %.pre28 = load i64, ptr %.phi.trans.insert, align 8, !tbaa !76 + %.pre28 = load i64, ptr %.phi.trans.insert, align 8 br label %_ZNSt10unique_ptrIA_cSt14default_deleteIS0_EE5resetIPcvEEvT_.exit _ZNSt10unique_ptrIA_cSt14default_deleteIS0_EE5resetIPcvEEvT_.exit: ; preds = %36, %_ZNKSt14default_deleteIA_cEclIcEENSt9enable_ifIXsr14is_convertibleIPA_T_PS0_EE5valueEvE4typeEPS4_.exit.i.i @@ -2235,7 +2235,7 @@ _ZN7rocksdb9HashTableIPNS_17VolatileCacheTier9CacheDataENS1_13CacheDataHashENS1_ br i1 %47, label %_ZN7rocksdb9HashTableIPNS_17VolatileCacheTier9CacheDataENS1_13CacheDataHashENS1_14CacheDataEqualEE4FindEPNS6_6BucketERKS3_PS3_.exit._crit_edge, label %_ZN7rocksdb9HashTableIPNS_17VolatileCacheTier9CacheDataENS1_13CacheDataHashENS1_14CacheDataEqualEE4FindEPNS6_6BucketERKS3_PS3_.exit.thread _ZN7rocksdb9HashTableIPNS_17VolatileCacheTier9CacheDataENS1_13CacheDataHashENS1_14CacheDataEqualEE4FindEPNS6_6BucketERKS3_PS3_.exit._crit_edge: ; preds = %_ZN7rocksdb9HashTableIPNS_17VolatileCacheTier9CacheDataENS1_13CacheDataHashENS1_14CacheDataEqualEE4FindEPNS6_6BucketERKS3_PS3_.exit - %.pre = load ptr, ptr %2, align 8, !tbaa !41 + %.pre = load ptr, ptr %2, align 8 br label %48 48: ; preds = %_ZN7rocksdb9HashTableIPNS_17VolatileCacheTier9CacheDataENS1_13CacheDataHashENS1_14CacheDataEqualEE4FindEPNS6_6BucketERKS3_PS3_.exit._crit_edge, %_ZN7rocksdb9HashTableIPNS_17VolatileCacheTier9CacheDataENS1_13CacheDataHashENS1_14CacheDataEqualEE4FindEPNS6_6BucketERKS3_PS3_.exit.thread15 @@ -2636,15 +2636,18 @@ define linkonce_odr void @_ZN7rocksdb19PersistentCacheTier13set_next_tierERKSt10 %14 = load i32, ptr %11, align 4, !tbaa !59 %15 = add nsw i32 %14, 1 store i32 %15, ptr %11, align 4, !tbaa !59 - br label %_ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE15_M_add_ref_copyEv.exit.i.i.i + br label %_ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE15_M_add_ref_copyEv.exitthread-pre-split.i.i.i 16: ; preds = %10 %17 = atomicrmw volatile add ptr %11, i32 1 acq_rel, align 4 - %.pr.pre.i.i.i = load ptr, ptr %5, align 8, !tbaa !52 + br label %_ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE15_M_add_ref_copyEv.exitthread-pre-split.i.i.i + +_ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE15_M_add_ref_copyEv.exitthread-pre-split.i.i.i: ; preds = %16, %13 + %.pr.i.i.i = load ptr, ptr %5, align 8 br label %_ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE15_M_add_ref_copyEv.exit.i.i.i -_ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE15_M_add_ref_copyEv.exit.i.i.i: ; preds = %16, %13, %9 - %18 = phi ptr [ %8, %9 ], [ %8, %13 ], [ %.pr.pre.i.i.i, %16 ] +_ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE15_M_add_ref_copyEv.exit.i.i.i: ; preds = %_ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE15_M_add_ref_copyEv.exitthread-pre-split.i.i.i, %9 + %18 = phi ptr [ %.pr.i.i.i, %_ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE15_M_add_ref_copyEv.exitthread-pre-split.i.i.i ], [ %8, %9 ] %.not8.i.i.i = icmp eq ptr %18, null br i1 %.not8.i.i.i, label %_ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE10_M_releaseEv.exit.i.i.i, label %19 @@ -3816,7 +3819,7 @@ define linkonce_odr void @_ZN7rocksdb7LRUListINS_17VolatileCacheTier9CacheDataEE %5 = load ptr, ptr %4, align 8, !tbaa !43 %.not.i = icmp eq ptr %5, null %.phi.trans.insert.i = getelementptr inbounds nuw i8, ptr %1, i64 8 - %.pre.i = load ptr, ptr %.phi.trans.insert.i, align 8, !tbaa !47 + %.pre.i = load ptr, ptr %.phi.trans.insert.i, align 8 br i1 %.not.i, label %._crit_edge.i, label %6 6: ; preds = %.noexc @@ -3951,7 +3954,7 @@ define linkonce_odr noundef ptr @_ZN7rocksdb7LRUListINS_17VolatileCacheTier9Cach %9 = load ptr, ptr %8, align 8, !tbaa !43 %.not.i = icmp eq ptr %9, null %.phi.trans.insert.i = getelementptr inbounds nuw i8, ptr %.0918, i64 8 - %.pre.i = load ptr, ptr %.phi.trans.insert.i, align 8, !tbaa !47 + %.pre.i = load ptr, ptr %.phi.trans.insert.i, align 8 br i1 %.not.i, label %._crit_edge.i, label %10 10: ; preds = %.noexc diff --git a/bench/ruby/optimized/sprintf.ll b/bench/ruby/optimized/sprintf.ll index af509e2e2b6..74dda159479 100644 --- a/bench/ruby/optimized/sprintf.ll +++ b/bench/ruby/optimized/sprintf.ll @@ -4448,24 +4448,23 @@ define internal noundef i32 @BSD__sfvwrite(ptr noundef captures(none) %0, ptr no 28: ; preds = %24 %spec.select = tail call i64 @llvm.umin.i64(i64 %.135.lcssa, i64 %25) %.not.i = icmp eq i64 %25, 0 - %.pre45 = load ptr, ptr %0, align 8, !tbaa !118 + %.pre45 = load ptr, ptr %0, align 8 br i1 %.not.i, label %ruby_nonempty_memcpy.exit, label %29 29: ; preds = %28 tail call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 %.pre45, ptr noundef nonnull readonly align 1 %.133.lcssa, i64 noundef range(i64 1, 0) %spec.select, i1 noundef false) #21 - %.pre = load i64, ptr %15, align 8, !tbaa !120 - %.pre44 = load ptr, ptr %0, align 8, !tbaa !118 - %.pre46.pre = load i64, ptr %3, align 8, !tbaa !149 + %.pre = load i64, ptr %15, align 8 + %.pre44 = load ptr, ptr %0, align 8 br label %ruby_nonempty_memcpy.exit ruby_nonempty_memcpy.exit: ; preds = %28, %29 - %.pre46 = phi i64 [ %17, %28 ], [ %.pre46.pre, %29 ] %30 = phi ptr [ %.pre45, %28 ], [ %.pre44, %29 ] %31 = phi i64 [ 0, %28 ], [ %.pre, %29 ] %32 = sub i64 %31, %spec.select store i64 %32, ptr %15, align 8, !tbaa !120 %33 = getelementptr i8, ptr %30, i64 %spec.select store ptr %33, ptr %0, align 8, !tbaa !118 + %.pre46 = load i64, ptr %3, align 8 br label %34 34: ; preds = %24, %ruby_nonempty_memcpy.exit @@ -4928,7 +4927,7 @@ BSD__sprint.exit762: ; preds = %166 189: ; preds = %182 %190 = icmp slt i32 %.1536, 0 - %.pre1574 = load i64, ptr %12, align 8, !tbaa !7 + %.pre1574 = load i64, ptr %12, align 8 br i1 %190, label %721, label %191 191: ; preds = %189 @@ -5176,7 +5175,7 @@ ruby_nonempty_memcpy.exit.i: ; preds = %306, %301 br i1 %.not.i, label %ruby_nonempty_memcpy.exit..loopexit_crit_edge.i, label %310 ruby_nonempty_memcpy.exit..loopexit_crit_edge.i: ; preds = %ruby_nonempty_memcpy.exit.i - %.pre49.i = load ptr, ptr %7, align 8, !tbaa !164 + %.pre49.i = load ptr, ptr %7, align 8 br label %cvt.exit 310: ; preds = %ruby_nonempty_memcpy.exit.i @@ -5192,7 +5191,7 @@ ruby_nonempty_memcpy.exit..loopexit_crit_edge.i: ; preds = %ruby_nonempty_memcp br i1 %or.cond3.i, label %317, label %._crit_edge.i ._crit_edge.i: ; preds = %313 - %.pre.i = load i32, ptr %9, align 4, !tbaa !25 + %.pre.i = load i32, ptr %9, align 4 br label %319 317: ; preds = %313 @@ -5403,7 +5402,7 @@ exponent.exit782: ; preds = %389, %.lr.ph.prehea 410: ; preds = %375 %411 = icmp eq i32 %.6500, 102 - %.pre = load i32, ptr %9, align 4, !tbaa !25 + %.pre = load i32, ptr %9, align 4 br i1 %411, label %412, label %.thread914 412: ; preds = %410 @@ -5457,7 +5456,7 @@ exponent.exit782: ; preds = %389, %.lr.ph.prehea br i1 %.sink.i, label %._crit_edge1599, label %430 ._crit_edge1599: ; preds = %429 - %.pre1575.pre = load i8, ptr %8, align 1, !tbaa !21 + %.pre1575.pre = load i8, ptr %8, align 1 br label %717 430: ; preds = %429 @@ -6114,8 +6113,8 @@ BSD__ultoa.exit: ; preds = %.preheader39.i, %69 .preheader1065: ; preds = %732 %734 = trunc nsw i64 %730 to i32 %735 = icmp ugt i64 %730, 16 - %.pre1579 = load i64, ptr %27, align 8, !tbaa !149 - %.pre1581 = load i32, ptr %28, align 8, !tbaa !159 + %.pre1579 = load i64, ptr %27, align 8 + %.pre1581 = load i32, ptr %28, align 8 br i1 %735, label %.lr.ph1288, label %._crit_edge1289 .lr.ph1288: ; preds = %.preheader1065, %747 @@ -6283,8 +6282,8 @@ BSD__sprint.exit794: ; preds = %786 .preheader1063: ; preds = %796 %798 = trunc nsw i64 %794 to i32 %799 = icmp ugt i64 %794, 16 - %.pre1585 = load i64, ptr %27, align 8, !tbaa !149 - %.pre1587 = load i32, ptr %28, align 8, !tbaa !159 + %.pre1585 = load i64, ptr %27, align 8 + %.pre1587 = load i32, ptr %28, align 8 br i1 %799, label %.lr.ph1294, label %._crit_edge1295 .lr.ph1294: ; preds = %.preheader1063, %811 @@ -6375,8 +6374,8 @@ BSD__sprint.exit798: ; preds = %822 .preheader1061: ; preds = %830 %832 = trunc nsw i64 %828 to i32 %833 = icmp ugt i64 %828, 16 - %.pre1591 = load i64, ptr %27, align 8, !tbaa !149 - %.pre1593 = load i32, ptr %28, align 8, !tbaa !159 + %.pre1591 = load i64, ptr %27, align 8 + %.pre1593 = load i32, ptr %28, align 8 br i1 %833, label %.lr.ph1300, label %._crit_edge1301 .lr.ph1300: ; preds = %.preheader1061, %845 @@ -6905,7 +6904,7 @@ BSD__sprint.exit828: ; preds = %1062 br i1 %.not705, label %BSD__sprint.exit828._crit_edge, label %.thread1010 BSD__sprint.exit828._crit_edge: ; preds = %BSD__sprint.exit828 - %.pre1597 = load i32, ptr %9, align 4, !tbaa !25 + %.pre1597 = load i32, ptr %9, align 4 br label %BSD__sprint.exit828.thread BSD__sprint.exit828.thread: ; preds = %1062, %BSD__sprint.exit828._crit_edge, %1054 @@ -7144,7 +7143,7 @@ BSD__sprint.exit840: ; preds = %1161 br i1 %.not700, label %BSD__sprint.exit840._crit_edge, label %.thread1010 BSD__sprint.exit840._crit_edge: ; preds = %BSD__sprint.exit840 - %.pre1594 = load i32, ptr %9, align 4, !tbaa !25 + %.pre1594 = load i32, ptr %9, align 4 br label %1165 1165: ; preds = %BSD__sprint.exit840._crit_edge, %BSD__sprint.exit840.thread, %1154 @@ -7286,7 +7285,7 @@ BSD__sprint.exit848: ; preds = %1220 br i1 %.not694, label %BSD__sprint.exit848._crit_edge, label %.thread1010 BSD__sprint.exit848._crit_edge: ; preds = %BSD__sprint.exit848 - %.pre1595 = load i32, ptr %9, align 4, !tbaa !25 + %.pre1595 = load i32, ptr %9, align 4 br label %BSD__sprint.exit848.thread BSD__sprint.exit848.thread: ; preds = %1220, %BSD__sprint.exit848._crit_edge, %1213 @@ -7318,7 +7317,7 @@ BSD__sprint.exit850: ; preds = %1234 br i1 %.not695, label %BSD__sprint.exit850._crit_edge, label %.thread1010 BSD__sprint.exit850._crit_edge: ; preds = %BSD__sprint.exit850 - %.pre1596 = load i32, ptr %9, align 4, !tbaa !25 + %.pre1596 = load i32, ptr %9, align 4 br label %BSD__sprint.exit850.thread BSD__sprint.exit850.thread: ; preds = %1234, %BSD__sprint.exit850._crit_edge, %BSD__sprint.exit848.thread @@ -8007,7 +8006,7 @@ ruby_nonempty_memcpy.exit: ; preds = %.lr.ph, %49 br i1 %54, label %.lr.ph, label %._crit_edge, !llvm.loop !195 ._crit_edge: ; preds = %ruby_nonempty_memcpy.exit - %.pre = load i64, ptr %4, align 8, !tbaa !11, !noalias !196 + %.pre = load i64, ptr %4, align 8 store ptr %51, ptr %0, align 8, !tbaa !118 %55 = and i64 %.pre, 8192 %.not.i.i48 = icmp eq i64 %55, 0 @@ -8149,7 +8148,7 @@ RB_SYMBOL_P.exit.thread25: ; preds = %27, %RB_SYMBOL_P.ex %56 = call ptr @rb_string_value_cstr(ptr noundef nonnull %6) #21 %57 = load i64, ptr %6, align 8, !tbaa !7 %58 = inttoptr i64 %57 to ptr - %59 = load i64, ptr %58, align 8, !tbaa !11, !noalias !199 + %59 = load i64, ptr %58, align 8, !tbaa !11, !noalias !196 %60 = and i64 %59, 8192 %.not.i = icmp eq i64 %60, 0 %61 = getelementptr inbounds nuw i8, ptr %58, i64 24 @@ -8446,6 +8445,3 @@ attributes #27 = { memory(none) } !196 = !{!197} !197 = distinct !{!197, !198, !"rbimpl_rstring_getmem: argument 0"} !198 = distinct !{!198, !"rbimpl_rstring_getmem"} -!199 = !{!200} -!200 = distinct !{!200, !201, !"rbimpl_rstring_getmem: argument 0"} -!201 = distinct !{!201, !"rbimpl_rstring_getmem"} diff --git a/bench/rust-analyzer-rs/optimized/4nk4vk785ylcn5k7.ll b/bench/rust-analyzer-rs/optimized/4nk4vk785ylcn5k7.ll index f4156f8e71a..e694593d83c 100644 --- a/bench/rust-analyzer-rs/optimized/4nk4vk785ylcn5k7.ll +++ b/bench/rust-analyzer-rs/optimized/4nk4vk785ylcn5k7.ll @@ -1542,10 +1542,7 @@ define hidden noundef zeroext i1 @"_ZN3mbe8expander7matcher98_$LT$impl$u20$mbe.. i64 2, label %37 ] -default.unreachable44: ; preds = %2 - unreachable - -default.unreachable: ; preds = %"_ZN3mbe7tt_iter15TtIter$LT$S$GT$14expect_literal17hdf5ec70607ac4d5cE.exit" +default.unreachable44: ; preds = %"_ZN3mbe7tt_iter15TtIter$LT$S$GT$14expect_literal17hdf5ec70607ac4d5cE.exit", %2 unreachable 15: ; preds = %2 @@ -1603,8 +1600,8 @@ default.unreachable: ; preds = %"_ZN3mbe7tt_iter15T br label %.thread "_ZN3mbe7tt_iter15TtIter$LT$S$GT$14expect_literal17hdf5ec70607ac4d5cE.exit": ; preds = %23, %26 - %.pr = load i32, ptr %10, align 8 - switch i32 %.pr, label %default.unreachable [ + %.pr = load i32, ptr %10, align 8, !range !44, !noundef !4 + switch i32 %.pr, label %default.unreachable44 [ i32 0, label %"_ZN3mbe7tt_iter15TtIter$LT$S$GT$14expect_literal17hdf5ec70607ac4d5cE.exit.thread35" i32 1, label %.thread i32 2, label %42 @@ -1734,7 +1731,7 @@ default.unreachable: ; preds = %"_ZN3mbe7tt_iter15T br i1 %77, label %._crit_edge, label %.thread ._crit_edge: ; preds = %95 - %.pre = load ptr, ptr %9, align 8 + %.pre = load ptr, ptr %9, align 8, !nonnull !4 %.pre43 = load ptr, ptr %13, align 8 br label %99 diff --git a/bench/sentencepiece/optimized/int128.ll b/bench/sentencepiece/optimized/int128.ll index 67151b9c9d5..a0b0fb9db78 100644 --- a/bench/sentencepiece/optimized/int128.ll +++ b/bench/sentencepiece/optimized/int128.ll @@ -482,15 +482,11 @@ _ZSt13__check_facetISt5ctypeIcEERKT_PS3_.exit.i.i.i.i: ; preds = %45 %52 = getelementptr inbounds nuw i8, ptr %51, i64 48 %53 = load ptr, ptr %52, align 8 %54 = invoke noundef signext i8 %53(ptr noundef nonnull align 8 dereferenceable(570) %47, i8 noundef signext 32) - to label %.noexc42._ZNKSt9basic_iosIcSt11char_traitsIcEE5widenEc.exit.i.i.i_crit_edge unwind label %67 + to label %_ZNKSt9basic_iosIcSt11char_traitsIcEE5widenEc.exit.i.i.i unwind label %67 -.noexc42._ZNKSt9basic_iosIcSt11char_traitsIcEE5widenEc.exit.i.i.i_crit_edge: ; preds = %.noexc42 - %.pre.pre = load ptr, ptr %3, align 8, !tbaa !10 - br label %_ZNKSt9basic_iosIcSt11char_traitsIcEE5widenEc.exit.i.i.i - -_ZNKSt9basic_iosIcSt11char_traitsIcEE5widenEc.exit.i.i.i: ; preds = %.noexc42._ZNKSt9basic_iosIcSt11char_traitsIcEE5widenEc.exit.i.i.i_crit_edge, %_ZSt13__check_facetISt5ctypeIcEERKT_PS3_.exit.i.i.i.i - %.pre = phi ptr [ %.pre.pre, %.noexc42._ZNKSt9basic_iosIcSt11char_traitsIcEE5widenEc.exit.i.i.i_crit_edge ], [ %33, %_ZSt13__check_facetISt5ctypeIcEERKT_PS3_.exit.i.i.i.i ] +_ZNKSt9basic_iosIcSt11char_traitsIcEE5widenEc.exit.i.i.i: ; preds = %.noexc42, %_ZSt13__check_facetISt5ctypeIcEERKT_PS3_.exit.i.i.i.i store i8 1, ptr %42, align 1, !tbaa !26 + %.pre = load ptr, ptr %3, align 8 br label %55 55: ; preds = %_ZNKSt9basic_iosIcSt11char_traitsIcEE5widenEc.exit.i.i.i, %32 @@ -573,15 +569,11 @@ _ZSt13__check_facetISt5ctypeIcEERKT_PS3_.exit.i.i.i.i51: ; preds = %86 %93 = getelementptr inbounds nuw i8, ptr %92, i64 48 %94 = load ptr, ptr %93, align 8 %95 = invoke noundef signext i8 %94(ptr noundef nonnull align 8 dereferenceable(570) %88, i8 noundef signext 32) - to label %.noexc55._ZNKSt9basic_iosIcSt11char_traitsIcEE5widenEc.exit.i.i.i53_crit_edge unwind label %67 - -.noexc55._ZNKSt9basic_iosIcSt11char_traitsIcEE5widenEc.exit.i.i.i53_crit_edge: ; preds = %.noexc55 - %.pre88.pre = load ptr, ptr %3, align 8, !tbaa !10 - br label %_ZNKSt9basic_iosIcSt11char_traitsIcEE5widenEc.exit.i.i.i53 + to label %_ZNKSt9basic_iosIcSt11char_traitsIcEE5widenEc.exit.i.i.i53 unwind label %67 -_ZNKSt9basic_iosIcSt11char_traitsIcEE5widenEc.exit.i.i.i53: ; preds = %.noexc55._ZNKSt9basic_iosIcSt11char_traitsIcEE5widenEc.exit.i.i.i53_crit_edge, %_ZSt13__check_facetISt5ctypeIcEERKT_PS3_.exit.i.i.i.i51 - %.pre88 = phi ptr [ %.pre88.pre, %.noexc55._ZNKSt9basic_iosIcSt11char_traitsIcEE5widenEc.exit.i.i.i53_crit_edge ], [ %74, %_ZSt13__check_facetISt5ctypeIcEERKT_PS3_.exit.i.i.i.i51 ] +_ZNKSt9basic_iosIcSt11char_traitsIcEE5widenEc.exit.i.i.i53: ; preds = %.noexc55, %_ZSt13__check_facetISt5ctypeIcEERKT_PS3_.exit.i.i.i.i51 store i8 1, ptr %83, align 1, !tbaa !26 + %.pre88 = load ptr, ptr %3, align 8 br label %96 96: ; preds = %_ZNKSt9basic_iosIcSt11char_traitsIcEE5widenEc.exit.i.i.i53, %73 @@ -684,14 +676,14 @@ _ZNKSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEE3strEv.exit: ; pred ._crit_edge.i: ; preds = %146 %.phi.trans.insert.i = getelementptr inbounds nuw i8, ptr %142, i64 224 - %.pre.i = load i8, ptr %.phi.trans.insert.i, align 8, !tbaa !43 + %.pre.i = load i8, ptr %.phi.trans.insert.i, align 8 br label %_ZNKSt9basic_iosIcSt11char_traitsIcEE4fillEv.exit75.invoke 147: ; preds = %146 %148 = getelementptr inbounds nuw i8, ptr %142, i64 240 %149 = load ptr, ptr %148, align 8, !tbaa !36 %.not.i.i.i = icmp eq ptr %149, null - br i1 %.not.i.i.i, label %.invoke95, label %_ZSt13__check_facetISt5ctypeIcEERKT_PS3_.exit.i.i + br i1 %.not.i.i.i, label %.invoke93, label %_ZSt13__check_facetISt5ctypeIcEERKT_PS3_.exit.i.i _ZSt13__check_facetISt5ctypeIcEERKT_PS3_.exit.i.i: ; preds = %147 %150 = getelementptr inbounds nuw i8, ptr %149, i64 56 @@ -716,7 +708,7 @@ _ZSt13__check_facetISt5ctypeIcEERKT_PS3_.exit.i.i: ; preds = %147 to label %.noexc61._ZNKSt9basic_iosIcSt11char_traitsIcEE5widenEc.exit.i_crit_edge unwind label %161 .noexc61._ZNKSt9basic_iosIcSt11char_traitsIcEE5widenEc.exit.i_crit_edge: ; preds = %.noexc61 - %.pre89.pre = load i64, ptr %107, align 8, !tbaa !55 + %.pre89.pre = load i64, ptr %107, align 8 br label %_ZNKSt9basic_iosIcSt11char_traitsIcEE5widenEc.exit.i _ZNKSt9basic_iosIcSt11char_traitsIcEE5widenEc.exit.i: ; preds = %.noexc61._ZNKSt9basic_iosIcSt11char_traitsIcEE5widenEc.exit.i_crit_edge, %152 @@ -727,7 +719,7 @@ _ZNKSt9basic_iosIcSt11char_traitsIcEE5widenEc.exit.i: ; preds = %.noexc61._ZNKSt store i8 1, ptr %143, align 1, !tbaa !26 br label %_ZNKSt9basic_iosIcSt11char_traitsIcEE4fillEv.exit75.invoke -161: ; preds = %.invoke95, %_ZNKSt9basic_iosIcSt11char_traitsIcEE4fillEv.exit75.invoke, %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6appendEmc.exit, %.noexc73, %178, %.noexc61, %155 +161: ; preds = %.invoke93, %_ZNKSt9basic_iosIcSt11char_traitsIcEE4fillEv.exit75.invoke, %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6appendEmc.exit, %.noexc73, %178, %.noexc61, %155 %162 = landingpad { ptr, i32 } cleanup %163 = load ptr, ptr %7, align 8, !tbaa !61 @@ -751,20 +743,20 @@ _ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i: ._crit_edge.i69: ; preds = %169 %.phi.trans.insert.i70 = getelementptr inbounds nuw i8, ptr %142, i64 224 - %.pre.i71 = load i8, ptr %.phi.trans.insert.i70, align 8, !tbaa !43 + %.pre.i71 = load i8, ptr %.phi.trans.insert.i70, align 8 br label %_ZNKSt9basic_iosIcSt11char_traitsIcEE4fillEv.exit75.invoke 170: ; preds = %169 %171 = getelementptr inbounds nuw i8, ptr %142, i64 240 %172 = load ptr, ptr %171, align 8, !tbaa !36 %.not.i.i.i64 = icmp eq ptr %172, null - br i1 %.not.i.i.i64, label %.invoke95, label %_ZSt13__check_facetISt5ctypeIcEERKT_PS3_.exit.i.i65 + br i1 %.not.i.i.i64, label %.invoke93, label %_ZSt13__check_facetISt5ctypeIcEERKT_PS3_.exit.i.i65 -.invoke95: ; preds = %147, %170 +.invoke93: ; preds = %147, %170 invoke void @_ZSt16__throw_bad_castv() #15 - to label %.cont96 unwind label %161 + to label %.cont94 unwind label %161 -.cont96: ; preds = %.invoke95 +.cont94: ; preds = %.invoke93 unreachable _ZSt13__check_facetISt5ctypeIcEERKT_PS3_.exit.i.i65: ; preds = %170 diff --git a/bench/serde-rs-json/optimized/2bynnyw1do6foacb.ll b/bench/serde-rs-json/optimized/2bynnyw1do6foacb.ll index e6b76dfc1a9..a1f6ef5da15 100644 --- a/bench/serde-rs-json/optimized/2bynnyw1do6foacb.ll +++ b/bench/serde-rs-json/optimized/2bynnyw1do6foacb.ll @@ -533,12 +533,11 @@ define void @"_ZN99_$LT$serde_json..value..ser..SerializeTupleVariant$u20$as$u20 %28 = getelementptr inbounds { [4 x i64] }, ptr %.sroa.0.0.copyload.i, i64 %.sroa.42.0.copyload.i call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %11, ptr noundef nonnull align 8 dereferenceable(32) %28, i64 32, i1 false), !noalias !70 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %28, ptr noundef nonnull align 8 dereferenceable(32) %9, i64 32, i1 false), !noalias !69 - %.pr = load i8, ptr %11, align 8, !alias.scope !71 + %.pr = load i8, ptr %11, align 8, !range !71 call void @llvm.lifetime.end.p0(i64 56, ptr nonnull %8), !noalias !60 call void @llvm.lifetime.end.p0(i64 56, ptr nonnull %7) call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %9) call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %10) - call void @llvm.experimental.noalias.scope.decl(metadata !71) switch i8 %.pr, label %29 [ i8 6, label %"_ZN4core3ptr73drop_in_place$LT$core..option..Option$LT$serde_json..value..Value$GT$$GT$17haf5de4befc185865E.exit" i8 0, label %"_ZN4core3ptr73drop_in_place$LT$core..option..Option$LT$serde_json..value..Value$GT$$GT$17haf5de4befc185865E.exit" @@ -550,19 +549,19 @@ define void @"_ZN99_$LT$serde_json..value..ser..SerializeTupleVariant$u20$as$u20 29: ; preds = %26 %30 = getelementptr inbounds nuw i8, ptr %11, i64 8 - call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %5), !noalias !74 - call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %4), !noalias !74 + call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %5), !noalias !72 + call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %4), !noalias !72 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %4, ptr noundef nonnull align 8 dereferenceable(24) %30, i64 24, i1 false) invoke void @"_ZN119_$LT$alloc..collections..btree..map..BTreeMap$LT$K$C$V$C$A$GT$$u20$as$u20$core..iter..traits..collect..IntoIterator$GT$9into_iter17h1c9297b2e99edc30E.llvm.12266911530922283489"(ptr noalias noundef nonnull sret({ { { i64, [3 x i64] }, { i64, [3 x i64] } }, i64, {} }) align 8 captures(none) dereferenceable(72) %5, ptr noalias noundef nonnull align 8 captures(none) dereferenceable(24) %4) to label %.noexc8 unwind label %24 .noexc8: ; preds = %29 - call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %4), !noalias !74 + call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %4), !noalias !72 invoke void @"_ZN99_$LT$alloc..collections..btree..map..IntoIter$LT$K$C$V$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17hf678b7624c79c057E.llvm.12266911530922283489"(ptr noalias noundef nonnull align 8 dereferenceable(72) %5) to label %.noexc9 unwind label %24 .noexc9: ; preds = %.noexc8 - call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %5), !noalias !74 + call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %5), !noalias !72 br label %"_ZN4core3ptr73drop_in_place$LT$core..option..Option$LT$serde_json..value..Value$GT$$GT$17haf5de4befc185865E.exit" 31: ; preds = %26 @@ -712,7 +711,7 @@ define void @"_ZN83_$LT$serde_json..value..ser..MapKeySerializer$u20$as$u20$serd .noexc.i: ; preds = %10 %.pre.i.i.i = load i64, ptr %.sroa.5.0..sroa_idx.i, align 8, !alias.scope !112, !noalias !109 - %.pre.i = load ptr, ptr %.sroa.4.0..sroa_idx.i, align 8, !alias.scope !112, !noalias !109 + %.pre.i = load ptr, ptr %.sroa.4.0..sroa_idx.i, align 8, !noalias !109, !nonnull !13 br label %_ZN5alloc6string6String4push17hda7d9bb0deee805fE.exit.i _ZN5alloc6string6String4push17hda7d9bb0deee805fE.exit.i: ; preds = %.noexc.i, %8 @@ -1595,12 +1594,11 @@ define void @"_ZN101_$LT$serde_json..value..ser..SerializeStructVariant$u20$as$u %28 = getelementptr inbounds { [4 x i64] }, ptr %.sroa.0.0.copyload.i, i64 %.sroa.42.0.copyload.i call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %11, ptr noundef nonnull align 8 dereferenceable(32) %28, i64 32, i1 false), !noalias !198 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %28, ptr noundef nonnull align 8 dereferenceable(32) %9, i64 32, i1 false), !noalias !197 - %.pr = load i8, ptr %11, align 8, !alias.scope !199 + %.pr = load i8, ptr %11, align 8, !range !71 call void @llvm.lifetime.end.p0(i64 56, ptr nonnull %8), !noalias !189 call void @llvm.lifetime.end.p0(i64 56, ptr nonnull %7) call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %9) call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %10) - call void @llvm.experimental.noalias.scope.decl(metadata !199) switch i8 %.pr, label %29 [ i8 6, label %"_ZN4core3ptr73drop_in_place$LT$core..option..Option$LT$serde_json..value..Value$GT$$GT$17haf5de4befc185865E.exit" i8 0, label %"_ZN4core3ptr73drop_in_place$LT$core..option..Option$LT$serde_json..value..Value$GT$$GT$17haf5de4befc185865E.exit" @@ -1612,43 +1610,43 @@ define void @"_ZN101_$LT$serde_json..value..ser..SerializeStructVariant$u20$as$u 29: ; preds = %26 %30 = getelementptr inbounds nuw i8, ptr %11, i64 8 - call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %5), !noalias !202 - call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %4), !noalias !202 + call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %5), !noalias !199 + call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %4), !noalias !199 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %4, ptr noundef nonnull align 8 dereferenceable(24) %30, i64 24, i1 false) invoke void @"_ZN119_$LT$alloc..collections..btree..map..BTreeMap$LT$K$C$V$C$A$GT$$u20$as$u20$core..iter..traits..collect..IntoIterator$GT$9into_iter17h1c9297b2e99edc30E.llvm.12266911530922283489"(ptr noalias noundef nonnull sret({ { { i64, [3 x i64] }, { i64, [3 x i64] } }, i64, {} }) align 8 captures(none) dereferenceable(72) %5, ptr noalias noundef nonnull align 8 captures(none) dereferenceable(24) %4) to label %.noexc9 unwind label %24 .noexc9: ; preds = %29 - call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %4), !noalias !202 + call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %4), !noalias !199 invoke void @"_ZN99_$LT$alloc..collections..btree..map..IntoIter$LT$K$C$V$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17hf678b7624c79c057E.llvm.12266911530922283489"(ptr noalias noundef nonnull align 8 dereferenceable(72) %5) to label %.noexc10 unwind label %24 .noexc10: ; preds = %.noexc9 - call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %5), !noalias !202 + call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %5), !noalias !199 br label %"_ZN4core3ptr73drop_in_place$LT$core..option..Option$LT$serde_json..value..Value$GT$$GT$17haf5de4befc185865E.exit" 31: ; preds = %26 %32 = getelementptr inbounds nuw i8, ptr %11, i64 8 - call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %3), !noalias !211 + call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %3), !noalias !210 invoke void @"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$14current_memory17hc4fb6c2e2cd2ccd0E.llvm.12266911530922283489"(ptr noalias noundef nonnull sret({ [1 x i64], i64, [1 x i64] }) align 8 captures(none) dereferenceable(24) %3, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) %32) to label %.noexc11 unwind label %24 .noexc11: ; preds = %31 %33 = getelementptr inbounds nuw i8, ptr %3, i64 8 - %34 = load i64, ptr %33, align 8, !range !67, !noalias !211, !noundef !13 + %34 = load i64, ptr %33, align 8, !range !67, !noalias !210, !noundef !13 %.not.i.i.i.i.i.i = icmp eq i64 %34, 0 br i1 %.not.i.i.i.i.i.i, label %"_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17h9caea5b8ca0babb1E.exit.i.i", label %35 35: ; preds = %.noexc11 - %36 = load ptr, ptr %3, align 8, !noalias !211, !nonnull !13, !noundef !13 + %36 = load ptr, ptr %3, align 8, !noalias !210, !nonnull !13, !noundef !13 %37 = getelementptr inbounds nuw i8, ptr %3, i64 16 - %38 = load i64, ptr %37, align 8, !noalias !211, !noundef !13 + %38 = load i64, ptr %37, align 8, !noalias !210, !noundef !13 %39 = getelementptr inbounds nuw i8, ptr %11, i64 24 invoke void @"_ZN63_$LT$alloc..alloc..Global$u20$as$u20$core..alloc..Allocator$GT$10deallocate17hae8e459b587c5295E.llvm.12266911530922283489"(ptr noalias noundef nonnull readonly align 1 %39, ptr noundef nonnull %36, i64 noundef %34, i64 noundef %38) to label %"_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17h9caea5b8ca0babb1E.exit.i.i" unwind label %24 "_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17h9caea5b8ca0babb1E.exit.i.i": ; preds = %35, %.noexc11 - call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %3), !noalias !211 + call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %3), !noalias !210 br label %"_ZN4core3ptr73drop_in_place$LT$core..option..Option$LT$serde_json..value..Value$GT$$GT$17haf5de4befc185865E.exit" 40: ; preds = %26 @@ -1881,19 +1879,19 @@ attributes #16 = { noreturn } !68 = !{!61, !63, !64} !69 = !{!61, !64} !70 = !{!64, !65} -!71 = !{!72} -!72 = distinct !{!72, !73, !"_ZN4core3ptr73drop_in_place$LT$core..option..Option$LT$serde_json..value..Value$GT$$GT$17haf5de4befc185865E: argument 0"} -!73 = distinct !{!73, !"_ZN4core3ptr73drop_in_place$LT$core..option..Option$LT$serde_json..value..Value$GT$$GT$17haf5de4befc185865E"} -!74 = !{!75, !77, !79, !81, !72} -!75 = distinct !{!75, !76, !"_ZN99_$LT$alloc..collections..btree..map..BTreeMap$LT$K$C$V$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17hed17a96746a9e713E.llvm.12266911530922283489: argument 0"} -!76 = distinct !{!76, !"_ZN99_$LT$alloc..collections..btree..map..BTreeMap$LT$K$C$V$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17hed17a96746a9e713E.llvm.12266911530922283489"} -!77 = distinct !{!77, !78, !"_ZN4core3ptr117drop_in_place$LT$alloc..collections..btree..map..BTreeMap$LT$alloc..string..String$C$serde_json..value..Value$GT$$GT$17h7358c1ab2323acfdE.llvm.12266911530922283489: argument 0"} -!78 = distinct !{!78, !"_ZN4core3ptr117drop_in_place$LT$alloc..collections..btree..map..BTreeMap$LT$alloc..string..String$C$serde_json..value..Value$GT$$GT$17h7358c1ab2323acfdE.llvm.12266911530922283489"} -!79 = distinct !{!79, !80, !"_ZN4core3ptr97drop_in_place$LT$serde_json..map..Map$LT$alloc..string..String$C$serde_json..value..Value$GT$$GT$17ha956521b878b3563E: argument 0"} -!80 = distinct !{!80, !"_ZN4core3ptr97drop_in_place$LT$serde_json..map..Map$LT$alloc..string..String$C$serde_json..value..Value$GT$$GT$17ha956521b878b3563E"} -!81 = distinct !{!81, !82, !"_ZN4core3ptr45drop_in_place$LT$serde_json..value..Value$GT$17h2104f8452adb367aE: argument 0"} -!82 = distinct !{!82, !"_ZN4core3ptr45drop_in_place$LT$serde_json..value..Value$GT$17h2104f8452adb367aE"} -!83 = !{!84, !86, !88, !90, !81, !72} +!71 = !{i8 0, i8 7} +!72 = !{!73, !75, !77, !79, !81} +!73 = distinct !{!73, !74, !"_ZN99_$LT$alloc..collections..btree..map..BTreeMap$LT$K$C$V$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17hed17a96746a9e713E.llvm.12266911530922283489: argument 0"} +!74 = distinct !{!74, !"_ZN99_$LT$alloc..collections..btree..map..BTreeMap$LT$K$C$V$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17hed17a96746a9e713E.llvm.12266911530922283489"} +!75 = distinct !{!75, !76, !"_ZN4core3ptr117drop_in_place$LT$alloc..collections..btree..map..BTreeMap$LT$alloc..string..String$C$serde_json..value..Value$GT$$GT$17h7358c1ab2323acfdE.llvm.12266911530922283489: argument 0"} +!76 = distinct !{!76, !"_ZN4core3ptr117drop_in_place$LT$alloc..collections..btree..map..BTreeMap$LT$alloc..string..String$C$serde_json..value..Value$GT$$GT$17h7358c1ab2323acfdE.llvm.12266911530922283489"} +!77 = distinct !{!77, !78, !"_ZN4core3ptr97drop_in_place$LT$serde_json..map..Map$LT$alloc..string..String$C$serde_json..value..Value$GT$$GT$17ha956521b878b3563E: argument 0"} +!78 = distinct !{!78, !"_ZN4core3ptr97drop_in_place$LT$serde_json..map..Map$LT$alloc..string..String$C$serde_json..value..Value$GT$$GT$17ha956521b878b3563E"} +!79 = distinct !{!79, !80, !"_ZN4core3ptr45drop_in_place$LT$serde_json..value..Value$GT$17h2104f8452adb367aE: argument 0"} +!80 = distinct !{!80, !"_ZN4core3ptr45drop_in_place$LT$serde_json..value..Value$GT$17h2104f8452adb367aE"} +!81 = distinct !{!81, !82, !"_ZN4core3ptr73drop_in_place$LT$core..option..Option$LT$serde_json..value..Value$GT$$GT$17haf5de4befc185865E: argument 0"} +!82 = distinct !{!82, !"_ZN4core3ptr73drop_in_place$LT$core..option..Option$LT$serde_json..value..Value$GT$$GT$17haf5de4befc185865E"} +!83 = !{!84, !86, !88, !90, !79, !81} !84 = distinct !{!84, !85, !"_ZN77_$LT$alloc..raw_vec..RawVec$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17hf0f137617303cc90E.llvm.12266911530922283489: argument 0"} !85 = distinct !{!85, !"_ZN77_$LT$alloc..raw_vec..RawVec$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17hf0f137617303cc90E.llvm.12266911530922283489"} !86 = distinct !{!86, !87, !"_ZN4core3ptr53drop_in_place$LT$alloc..raw_vec..RawVec$LT$u8$GT$$GT$17h5012b194873496f2E.llvm.12266911530922283489: argument 0"} @@ -2009,24 +2007,23 @@ attributes #16 = { noreturn } !196 = !{!190, !192, !193} !197 = !{!190, !193} !198 = !{!193, !194} -!199 = !{!200} -!200 = distinct !{!200, !201, !"_ZN4core3ptr73drop_in_place$LT$core..option..Option$LT$serde_json..value..Value$GT$$GT$17haf5de4befc185865E: argument 0"} -!201 = distinct !{!201, !"_ZN4core3ptr73drop_in_place$LT$core..option..Option$LT$serde_json..value..Value$GT$$GT$17haf5de4befc185865E"} -!202 = !{!203, !205, !207, !209, !200} -!203 = distinct !{!203, !204, !"_ZN99_$LT$alloc..collections..btree..map..BTreeMap$LT$K$C$V$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17hed17a96746a9e713E.llvm.12266911530922283489: argument 0"} -!204 = distinct !{!204, !"_ZN99_$LT$alloc..collections..btree..map..BTreeMap$LT$K$C$V$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17hed17a96746a9e713E.llvm.12266911530922283489"} -!205 = distinct !{!205, !206, !"_ZN4core3ptr117drop_in_place$LT$alloc..collections..btree..map..BTreeMap$LT$alloc..string..String$C$serde_json..value..Value$GT$$GT$17h7358c1ab2323acfdE.llvm.12266911530922283489: argument 0"} -!206 = distinct !{!206, !"_ZN4core3ptr117drop_in_place$LT$alloc..collections..btree..map..BTreeMap$LT$alloc..string..String$C$serde_json..value..Value$GT$$GT$17h7358c1ab2323acfdE.llvm.12266911530922283489"} -!207 = distinct !{!207, !208, !"_ZN4core3ptr97drop_in_place$LT$serde_json..map..Map$LT$alloc..string..String$C$serde_json..value..Value$GT$$GT$17ha956521b878b3563E: argument 0"} -!208 = distinct !{!208, !"_ZN4core3ptr97drop_in_place$LT$serde_json..map..Map$LT$alloc..string..String$C$serde_json..value..Value$GT$$GT$17ha956521b878b3563E"} -!209 = distinct !{!209, !210, !"_ZN4core3ptr45drop_in_place$LT$serde_json..value..Value$GT$17h2104f8452adb367aE: argument 0"} -!210 = distinct !{!210, !"_ZN4core3ptr45drop_in_place$LT$serde_json..value..Value$GT$17h2104f8452adb367aE"} -!211 = !{!212, !214, !216, !218, !209, !200} -!212 = distinct !{!212, !213, !"_ZN77_$LT$alloc..raw_vec..RawVec$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17hf0f137617303cc90E.llvm.12266911530922283489: argument 0"} -!213 = distinct !{!213, !"_ZN77_$LT$alloc..raw_vec..RawVec$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17hf0f137617303cc90E.llvm.12266911530922283489"} -!214 = distinct !{!214, !215, !"_ZN4core3ptr53drop_in_place$LT$alloc..raw_vec..RawVec$LT$u8$GT$$GT$17h5012b194873496f2E.llvm.12266911530922283489: argument 0"} -!215 = distinct !{!215, !"_ZN4core3ptr53drop_in_place$LT$alloc..raw_vec..RawVec$LT$u8$GT$$GT$17h5012b194873496f2E.llvm.12266911530922283489"} -!216 = distinct !{!216, !217, !"_ZN4core3ptr46drop_in_place$LT$alloc..vec..Vec$LT$u8$GT$$GT$17hd1778e650ef02387E: argument 0"} -!217 = distinct !{!217, !"_ZN4core3ptr46drop_in_place$LT$alloc..vec..Vec$LT$u8$GT$$GT$17hd1778e650ef02387E"} -!218 = distinct !{!218, !219, !"_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17h9caea5b8ca0babb1E: argument 0"} -!219 = distinct !{!219, !"_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17h9caea5b8ca0babb1E"} +!199 = !{!200, !202, !204, !206, !208} +!200 = distinct !{!200, !201, !"_ZN99_$LT$alloc..collections..btree..map..BTreeMap$LT$K$C$V$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17hed17a96746a9e713E.llvm.12266911530922283489: argument 0"} +!201 = distinct !{!201, !"_ZN99_$LT$alloc..collections..btree..map..BTreeMap$LT$K$C$V$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17hed17a96746a9e713E.llvm.12266911530922283489"} +!202 = distinct !{!202, !203, !"_ZN4core3ptr117drop_in_place$LT$alloc..collections..btree..map..BTreeMap$LT$alloc..string..String$C$serde_json..value..Value$GT$$GT$17h7358c1ab2323acfdE.llvm.12266911530922283489: argument 0"} +!203 = distinct !{!203, !"_ZN4core3ptr117drop_in_place$LT$alloc..collections..btree..map..BTreeMap$LT$alloc..string..String$C$serde_json..value..Value$GT$$GT$17h7358c1ab2323acfdE.llvm.12266911530922283489"} +!204 = distinct !{!204, !205, !"_ZN4core3ptr97drop_in_place$LT$serde_json..map..Map$LT$alloc..string..String$C$serde_json..value..Value$GT$$GT$17ha956521b878b3563E: argument 0"} +!205 = distinct !{!205, !"_ZN4core3ptr97drop_in_place$LT$serde_json..map..Map$LT$alloc..string..String$C$serde_json..value..Value$GT$$GT$17ha956521b878b3563E"} +!206 = distinct !{!206, !207, !"_ZN4core3ptr45drop_in_place$LT$serde_json..value..Value$GT$17h2104f8452adb367aE: argument 0"} +!207 = distinct !{!207, !"_ZN4core3ptr45drop_in_place$LT$serde_json..value..Value$GT$17h2104f8452adb367aE"} +!208 = distinct !{!208, !209, !"_ZN4core3ptr73drop_in_place$LT$core..option..Option$LT$serde_json..value..Value$GT$$GT$17haf5de4befc185865E: argument 0"} +!209 = distinct !{!209, !"_ZN4core3ptr73drop_in_place$LT$core..option..Option$LT$serde_json..value..Value$GT$$GT$17haf5de4befc185865E"} +!210 = !{!211, !213, !215, !217, !206, !208} +!211 = distinct !{!211, !212, !"_ZN77_$LT$alloc..raw_vec..RawVec$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17hf0f137617303cc90E.llvm.12266911530922283489: argument 0"} +!212 = distinct !{!212, !"_ZN77_$LT$alloc..raw_vec..RawVec$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17hf0f137617303cc90E.llvm.12266911530922283489"} +!213 = distinct !{!213, !214, !"_ZN4core3ptr53drop_in_place$LT$alloc..raw_vec..RawVec$LT$u8$GT$$GT$17h5012b194873496f2E.llvm.12266911530922283489: argument 0"} +!214 = distinct !{!214, !"_ZN4core3ptr53drop_in_place$LT$alloc..raw_vec..RawVec$LT$u8$GT$$GT$17h5012b194873496f2E.llvm.12266911530922283489"} +!215 = distinct !{!215, !216, !"_ZN4core3ptr46drop_in_place$LT$alloc..vec..Vec$LT$u8$GT$$GT$17hd1778e650ef02387E: argument 0"} +!216 = distinct !{!216, !"_ZN4core3ptr46drop_in_place$LT$alloc..vec..Vec$LT$u8$GT$$GT$17hd1778e650ef02387E"} +!217 = distinct !{!217, !218, !"_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17h9caea5b8ca0babb1E: argument 0"} +!218 = distinct !{!218, !"_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17h9caea5b8ca0babb1E"} diff --git a/bench/spike/optimized/htif_hexwriter.ll b/bench/spike/optimized/htif_hexwriter.ll index 89225502b19..3ab934331c1 100644 --- a/bench/spike/optimized/htif_hexwriter.ll +++ b/bench/spike/optimized/htif_hexwriter.ll @@ -110,11 +110,10 @@ define void @_ZN16htif_hexwriter_t10read_chunkEmmPv(ptr noundef nonnull align 8 %19 = getelementptr inbounds nuw i8, ptr %0, i64 40 %20 = getelementptr inbounds nuw i8, ptr %5, i64 8 %21 = getelementptr inbounds nuw i8, ptr %0, i64 72 - %.pre = load i64, ptr %17, align 8, !tbaa !21 + %.pre = load i64, ptr %17, align 8 br label %22 22: ; preds = %.lr.ph54, %._crit_edge - %.pre5967 = phi i64 [ %.pre, %.lr.ph54 ], [ %.pre5968, %._crit_edge ] %.pre6061 = phi i64 [ %.pre, %.lr.ph54 ], [ %.pre6062, %._crit_edge ] %.01452 = phi ptr [ %3, %.lr.ph54 ], [ %70, %._crit_edge ] %.01551 = phi i64 [ %15, %.lr.ph54 ], [ %69, %._crit_edge ] @@ -157,11 +156,10 @@ _ZNSt3mapImSt6vectorIcSaIcEESt4lessImESaISt4pairIKmS2_EEE11lower_boundERS6_.exit %33 = call ptr @_ZNSt8_Rb_treeImSt4pairIKmSt6vectorIcSaIcEEESt10_Select1stIS5_ESt4lessImESaIS5_EE22_M_emplace_hint_uniqueIJRKSt21piecewise_construct_tSt5tupleIJOmEESG_IJEEEEESt17_Rb_tree_iteratorIS5_ESt23_Rb_tree_const_iteratorIS5_EDpOT_(ptr noundef nonnull align 8 dereferenceable(48) %16, ptr %.08.lcssa.i.i.i11.i, ptr noundef nonnull align 1 dereferenceable(1) @_ZSt19piecewise_construct, ptr noundef nonnull align 8 dereferenceable(8) %8, ptr noundef nonnull align 1 dereferenceable(1) %9) call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %9) #18 call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %8) #18 - %.pre60.pre = load i64, ptr %17, align 8, !tbaa !21 + %.pre60.pre = load i64, ptr %17, align 8 br label %_ZNSt3mapImSt6vectorIcSaIcEESt4lessImESaISt4pairIKmS2_EEEixEOm.exit _ZNSt3mapImSt6vectorIcSaIcEESt4lessImESaISt4pairIKmS2_EEEixEOm.exit: ; preds = %29, %.critedge.i - %.pre5966 = phi i64 [ %.pre60.pre, %.critedge.i ], [ %.pre5967, %29 ] %.pre60 = phi i64 [ %.pre60.pre, %.critedge.i ], [ %.pre6061, %29 ] %.sroa.06.0.i = phi ptr [ %33, %.critedge.i ], [ %.19.i.i.i.i, %29 ] %34 = getelementptr inbounds nuw i8, ptr %.sroa.06.0.i, i64 40 @@ -211,11 +209,10 @@ _ZNSt3mapImSt6vectorIcSaIcEESt4lessImESaISt4pairIKmS2_EEE11lower_boundERS6_.exit %50 = call ptr @_ZNSt8_Rb_treeImSt4pairIKmSt6vectorIcSaIcEEESt10_Select1stIS5_ESt4lessImESaIS5_EE22_M_emplace_hint_uniqueIJRKSt21piecewise_construct_tSt5tupleIJOmEESG_IJEEEEESt17_Rb_tree_iteratorIS5_ESt23_Rb_tree_const_iteratorIS5_EDpOT_(ptr noundef nonnull align 8 dereferenceable(48) %16, ptr %.08.lcssa.i.i.i11.i30, ptr noundef nonnull align 1 dereferenceable(1) @_ZSt19piecewise_construct, ptr noundef nonnull align 8 dereferenceable(8) %6, ptr noundef nonnull align 1 dereferenceable(1) %7) call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %7) #18 call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %6) #18 - %.pre58 = load i64, ptr %17, align 8, !tbaa !21 + %.pre58 = load i64, ptr %17, align 8 br label %_ZNSt3mapImSt6vectorIcSaIcEESt4lessImESaISt4pairIKmS2_EEEixEOm.exit31 _ZNSt3mapImSt6vectorIcSaIcEESt4lessImESaISt4pairIKmS2_EEEixEOm.exit31: ; preds = %46, %.critedge.i29 - %.pre5965 = phi i64 [ %.pre58, %.critedge.i29 ], [ %.pre5966, %46 ] %51 = phi i64 [ %.pre58, %.critedge.i29 ], [ %.pre60, %46 ] %.sroa.06.0.i28 = phi ptr [ %50, %.critedge.i29 ], [ %.19.i.i.i.i22, %46 ] %52 = getelementptr inbounds nuw i8, ptr %.sroa.06.0.i28, i64 40 @@ -233,7 +230,6 @@ _ZNSt3mapImSt6vectorIcSaIcEESt4lessImESaISt4pairIKmS2_EEEixEOm.exit31: ; preds = 60: ; preds = %_ZNSt3mapImSt6vectorIcSaIcEESt4lessImESaISt4pairIKmS2_EEEixEOm.exit31 %61 = sub nuw i64 %51, %58 call void @_ZNSt6vectorIcSaIcEE14_M_fill_insertEN9__gnu_cxx17__normal_iteratorIPcS1_EEmRKc(ptr noundef nonnull align 8 dereferenceable(24) %52, ptr %54, i64 noundef %61, ptr noundef nonnull align 1 dereferenceable(1) %12) - %.pre59.pre = load i64, ptr %17, align 8, !tbaa !21 br label %_ZNSt6vectorIcSaIcEE6resizeEmRKc.exit 62: ; preds = %_ZNSt3mapImSt6vectorIcSaIcEESt4lessImESaISt4pairIKmS2_EEEixEOm.exit31 @@ -250,19 +246,17 @@ _ZNSt3mapImSt6vectorIcSaIcEESt4lessImESaISt4pairIKmS2_EEEixEOm.exit31: ; preds = br label %_ZNSt6vectorIcSaIcEE6resizeEmRKc.exit _ZNSt6vectorIcSaIcEE6resizeEmRKc.exit: ; preds = %60, %62, %64, %66 - %.pre59 = phi i64 [ %.pre59.pre, %60 ], [ %.pre5965, %62 ], [ %.pre5965, %64 ], [ %.pre5965, %66 ] call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %12) #18 call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %11) #18 + %.pre59 = load i64, ptr %17, align 8 br label %67 67: ; preds = %_ZNSt6vectorIcSaIcEE6resizeEmRKc.exit, %_ZNSt3mapImSt6vectorIcSaIcEESt4lessImESaISt4pairIKmS2_EEEixEOm.exit - %.pre5969 = phi i64 [ %.pre59, %_ZNSt6vectorIcSaIcEE6resizeEmRKc.exit ], [ %.pre5966, %_ZNSt3mapImSt6vectorIcSaIcEESt4lessImESaISt4pairIKmS2_EEEixEOm.exit ] %.pre6063 = phi i64 [ %.pre59, %_ZNSt6vectorIcSaIcEE6resizeEmRKc.exit ], [ %.pre60, %_ZNSt3mapImSt6vectorIcSaIcEESt4lessImESaISt4pairIKmS2_EEEixEOm.exit ] %.not56 = icmp eq i64 %.pre6063, 0 br i1 %.not56, label %._crit_edge, label %.lr.ph ._crit_edge: ; preds = %_ZNSt3mapImSt6vectorIcSaIcEESt4lessImESaISt4pairIKmS2_EEEixEOm.exit45, %67 - %.pre5968 = phi i64 [ %.pre5969, %67 ], [ %115, %_ZNSt3mapImSt6vectorIcSaIcEESt4lessImESaISt4pairIKmS2_EEEixEOm.exit45 ] %.pre6062 = phi i64 [ 0, %67 ], [ %115, %_ZNSt3mapImSt6vectorIcSaIcEESt4lessImESaISt4pairIKmS2_EEEixEOm.exit45 ] %68 = sub i64 %.01650, %.pre6062 %69 = add i64 %.pre6062, %.01551 @@ -417,11 +411,10 @@ define void @_ZN16htif_hexwriter_t11write_chunkEmmPKv(ptr noundef nonnull align %19 = getelementptr inbounds nuw i8, ptr %0, i64 40 %20 = getelementptr inbounds nuw i8, ptr %5, i64 8 %21 = getelementptr inbounds nuw i8, ptr %0, i64 72 - %.pre = load i64, ptr %17, align 8, !tbaa !21 + %.pre = load i64, ptr %17, align 8 br label %22 22: ; preds = %.lr.ph51, %._crit_edge - %.pre5664 = phi i64 [ %.pre, %.lr.ph51 ], [ %.pre5665, %._crit_edge ] %.pre5758 = phi i64 [ %.pre, %.lr.ph51 ], [ %.pre5759, %._crit_edge ] %.01349 = phi i64 [ %15, %.lr.ph51 ], [ %69, %._crit_edge ] %.01448 = phi i64 [ %2, %.lr.ph51 ], [ %68, %._crit_edge ] @@ -463,11 +456,10 @@ _ZNSt3mapImSt6vectorIcSaIcEESt4lessImESaISt4pairIKmS2_EEE11lower_boundERS6_.exit %33 = call ptr @_ZNSt8_Rb_treeImSt4pairIKmSt6vectorIcSaIcEEESt10_Select1stIS5_ESt4lessImESaIS5_EE22_M_emplace_hint_uniqueIJRKSt21piecewise_construct_tSt5tupleIJOmEESG_IJEEEEESt17_Rb_tree_iteratorIS5_ESt23_Rb_tree_const_iteratorIS5_EDpOT_(ptr noundef nonnull align 8 dereferenceable(48) %16, ptr %.08.lcssa.i.i.i11.i, ptr noundef nonnull align 1 dereferenceable(1) @_ZSt19piecewise_construct, ptr noundef nonnull align 8 dereferenceable(8) %8, ptr noundef nonnull align 1 dereferenceable(1) %9) call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %9) #18 call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %8) #18 - %.pre57.pre = load i64, ptr %17, align 8, !tbaa !21 + %.pre57.pre = load i64, ptr %17, align 8 br label %_ZNSt3mapImSt6vectorIcSaIcEESt4lessImESaISt4pairIKmS2_EEEixEOm.exit _ZNSt3mapImSt6vectorIcSaIcEESt4lessImESaISt4pairIKmS2_EEEixEOm.exit: ; preds = %29, %.critedge.i - %.pre5663 = phi i64 [ %.pre57.pre, %.critedge.i ], [ %.pre5664, %29 ] %.pre57 = phi i64 [ %.pre57.pre, %.critedge.i ], [ %.pre5758, %29 ] %.sroa.06.0.i = phi ptr [ %33, %.critedge.i ], [ %.19.i.i.i.i, %29 ] %34 = getelementptr inbounds nuw i8, ptr %.sroa.06.0.i, i64 40 @@ -517,11 +509,10 @@ _ZNSt3mapImSt6vectorIcSaIcEESt4lessImESaISt4pairIKmS2_EEE11lower_boundERS6_.exit %50 = call ptr @_ZNSt8_Rb_treeImSt4pairIKmSt6vectorIcSaIcEEESt10_Select1stIS5_ESt4lessImESaIS5_EE22_M_emplace_hint_uniqueIJRKSt21piecewise_construct_tSt5tupleIJOmEESG_IJEEEEESt17_Rb_tree_iteratorIS5_ESt23_Rb_tree_const_iteratorIS5_EDpOT_(ptr noundef nonnull align 8 dereferenceable(48) %16, ptr %.08.lcssa.i.i.i11.i28, ptr noundef nonnull align 1 dereferenceable(1) @_ZSt19piecewise_construct, ptr noundef nonnull align 8 dereferenceable(8) %6, ptr noundef nonnull align 1 dereferenceable(1) %7) call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %7) #18 call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %6) #18 - %.pre55 = load i64, ptr %17, align 8, !tbaa !21 + %.pre55 = load i64, ptr %17, align 8 br label %_ZNSt3mapImSt6vectorIcSaIcEESt4lessImESaISt4pairIKmS2_EEEixEOm.exit29 _ZNSt3mapImSt6vectorIcSaIcEESt4lessImESaISt4pairIKmS2_EEEixEOm.exit29: ; preds = %46, %.critedge.i27 - %.pre5662 = phi i64 [ %.pre55, %.critedge.i27 ], [ %.pre5663, %46 ] %51 = phi i64 [ %.pre55, %.critedge.i27 ], [ %.pre57, %46 ] %.sroa.06.0.i26 = phi ptr [ %50, %.critedge.i27 ], [ %.19.i.i.i.i20, %46 ] %52 = getelementptr inbounds nuw i8, ptr %.sroa.06.0.i26, i64 40 @@ -539,7 +530,6 @@ _ZNSt3mapImSt6vectorIcSaIcEESt4lessImESaISt4pairIKmS2_EEEixEOm.exit29: ; preds = 60: ; preds = %_ZNSt3mapImSt6vectorIcSaIcEESt4lessImESaISt4pairIKmS2_EEEixEOm.exit29 %61 = sub nuw i64 %51, %58 call void @_ZNSt6vectorIcSaIcEE14_M_fill_insertEN9__gnu_cxx17__normal_iteratorIPcS1_EEmRKc(ptr noundef nonnull align 8 dereferenceable(24) %52, ptr %54, i64 noundef %61, ptr noundef nonnull align 1 dereferenceable(1) %12) - %.pre56.pre = load i64, ptr %17, align 8, !tbaa !21 br label %_ZNSt6vectorIcSaIcEE6resizeEmRKc.exit 62: ; preds = %_ZNSt3mapImSt6vectorIcSaIcEESt4lessImESaISt4pairIKmS2_EEEixEOm.exit29 @@ -556,19 +546,17 @@ _ZNSt3mapImSt6vectorIcSaIcEESt4lessImESaISt4pairIKmS2_EEEixEOm.exit29: ; preds = br label %_ZNSt6vectorIcSaIcEE6resizeEmRKc.exit _ZNSt6vectorIcSaIcEE6resizeEmRKc.exit: ; preds = %60, %62, %64, %66 - %.pre56 = phi i64 [ %.pre56.pre, %60 ], [ %.pre5662, %62 ], [ %.pre5662, %64 ], [ %.pre5662, %66 ] call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %12) #18 call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %11) #18 + %.pre56 = load i64, ptr %17, align 8 br label %67 67: ; preds = %_ZNSt6vectorIcSaIcEE6resizeEmRKc.exit, %_ZNSt3mapImSt6vectorIcSaIcEESt4lessImESaISt4pairIKmS2_EEEixEOm.exit - %.pre5666 = phi i64 [ %.pre56, %_ZNSt6vectorIcSaIcEE6resizeEmRKc.exit ], [ %.pre5663, %_ZNSt3mapImSt6vectorIcSaIcEESt4lessImESaISt4pairIKmS2_EEEixEOm.exit ] %.pre5760 = phi i64 [ %.pre56, %_ZNSt6vectorIcSaIcEE6resizeEmRKc.exit ], [ %.pre57, %_ZNSt3mapImSt6vectorIcSaIcEESt4lessImESaISt4pairIKmS2_EEEixEOm.exit ] %.not53 = icmp eq i64 %.pre5760, 0 br i1 %.not53, label %._crit_edge, label %.lr.ph ._crit_edge: ; preds = %_ZNSt3mapImSt6vectorIcSaIcEESt4lessImESaISt4pairIKmS2_EEEixEOm.exit43, %67 - %.pre5665 = phi i64 [ %.pre5666, %67 ], [ %114, %_ZNSt3mapImSt6vectorIcSaIcEESt4lessImESaISt4pairIKmS2_EEEixEOm.exit43 ] %.pre5759 = phi i64 [ 0, %67 ], [ %114, %_ZNSt3mapImSt6vectorIcSaIcEESt4lessImESaISt4pairIKmS2_EEEixEOm.exit43 ] %68 = sub i64 %.01448, %.pre5759 %69 = add i64 %.pre5759, %.01349 @@ -717,7 +705,7 @@ define noundef nonnull align 8 dereferenceable(8) ptr @_ZlsRSoRK16htif_hexwriter br label %23 ._crit_edge.loopexit: ; preds = %_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_.exit - %.pre = load ptr, ptr %0, align 8, !tbaa !3 + %.pre = load ptr, ptr %0, align 8 br label %._crit_edge ._crit_edge: ; preds = %._crit_edge.loopexit, %2 @@ -1257,8 +1245,8 @@ define linkonce_odr { ptr, ptr } @_ZNSt8_Rb_treeImSt4pairIKmSt6vectorIcSaIcEEESt 26: ; preds = %._crit_edge.thread.i %27 = tail call noundef ptr @_ZSt18_Rb_tree_decrementPSt18_Rb_tree_node_base(ptr noundef nonnull %.019.lcssa28.i) #23 %.phi.trans.insert80 = getelementptr inbounds nuw i8, ptr %27, i64 32 - %.pre81 = load i64, ptr %.phi.trans.insert80, align 8, !tbaa !28 - %.pre82 = load i64, ptr %2, align 8, !tbaa !28 + %.pre81 = load i64, ptr %.phi.trans.insert80, align 8 + %.pre82 = load i64, ptr %2, align 8 br label %28 28: ; preds = %26, %._crit_edge.i @@ -1327,7 +1315,7 @@ define linkonce_odr { ptr, ptr } @_ZNSt8_Rb_treeImSt4pairIKmSt6vectorIcSaIcEEESt 56: ; preds = %._crit_edge.thread.i27 %57 = tail call noundef ptr @_ZSt18_Rb_tree_decrementPSt18_Rb_tree_node_base(ptr noundef nonnull %.019.lcssa28.i28) #23 %.phi.trans.insert78 = getelementptr inbounds nuw i8, ptr %57, i64 32 - %.pre79 = load i64, ptr %.phi.trans.insert78, align 8, !tbaa !28 + %.pre79 = load i64, ptr %.phi.trans.insert78, align 8 br label %58 58: ; preds = %56, %._crit_edge.i18 @@ -1394,7 +1382,7 @@ define linkonce_odr { ptr, ptr } @_ZNSt8_Rb_treeImSt4pairIKmSt6vectorIcSaIcEEESt 84: ; preds = %._crit_edge.thread.i47 %85 = tail call noundef ptr @_ZSt18_Rb_tree_decrementPSt18_Rb_tree_node_base(ptr noundef nonnull %.019.lcssa28.i48) #23 %.phi.trans.insert = getelementptr inbounds nuw i8, ptr %85, i64 32 - %.pre = load i64, ptr %.phi.trans.insert, align 8, !tbaa !28 + %.pre = load i64, ptr %.phi.trans.insert, align 8 br label %86 86: ; preds = %84, %._crit_edge.i38 diff --git a/bench/sundials/optimized/arkode_mri_tables.ll b/bench/sundials/optimized/arkode_mri_tables.ll index 487ab06e164..72489d54efc 100644 --- a/bench/sundials/optimized/arkode_mri_tables.ll +++ b/bench/sundials/optimized/arkode_mri_tables.ll @@ -5125,25 +5125,29 @@ define void @MRIStepCoupling_Free(ptr noundef captures(address_is_null) %0) loca %28 = load ptr, ptr %27, align 8, !tbaa !21 %29 = getelementptr inbounds nuw ptr, ptr %28, i64 %indvars.iv store ptr null, ptr %29, align 8, !tbaa !22 - %.pre = load i32, ptr %12, align 8, !tbaa !37 + %.pre = load i32, ptr %12, align 8 br label %30 30: ; preds = %.lr.ph, %25 - %.pre110 = phi ptr [ %22, %.lr.ph ], [ %28, %25 ] %31 = phi i32 [ %19, %.lr.ph ], [ %.pre, %25 ] %32 = phi ptr [ %20, %.lr.ph ], [ %26, %25 ] %indvars.iv.next = add nuw nsw i64 %indvars.iv, 1 %33 = sext i32 %31 to i64 %.not76.not = icmp slt i64 %indvars.iv, %33 - br i1 %.not76.not, label %.lr.ph, label %._crit_edge + br i1 %.not76.not, label %.lr.ph, label %._crit_edge.loopexit -._crit_edge: ; preds = %30, %.preheader80 - %34 = phi ptr [ %17, %.preheader80 ], [ %.pre110, %30 ] - tail call void @free(ptr noundef nonnull %34) #14 +._crit_edge.loopexit: ; preds = %30 + %.phi.trans.insert = getelementptr inbounds nuw ptr, ptr %32, i64 %indvars.iv98 + %.pre110 = load ptr, ptr %.phi.trans.insert, align 8 + br label %._crit_edge + +._crit_edge: ; preds = %._crit_edge.loopexit, %.preheader80 + %34 = phi ptr [ %.pre110, %._crit_edge.loopexit ], [ %17, %.preheader80 ] + tail call void @free(ptr noundef %34) #14 %35 = load ptr, ptr %7, align 8, !tbaa !20 %36 = getelementptr inbounds nuw ptr, ptr %35, i64 %indvars.iv98 store ptr null, ptr %36, align 8, !tbaa !21 - %.pre111 = load i32, ptr %9, align 4, !tbaa !36 + %.pre111 = load i32, ptr %9, align 4 br label %37 37: ; preds = %13, %._crit_edge @@ -5207,25 +5211,29 @@ define void @MRIStepCoupling_Free(ptr noundef captures(address_is_null) %0) loca %65 = load ptr, ptr %64, align 8, !tbaa !21 %66 = getelementptr inbounds nuw ptr, ptr %65, i64 %indvars.iv101 store ptr null, ptr %66, align 8, !tbaa !22 - %.pre112 = load i32, ptr %49, align 8, !tbaa !37 + %.pre112 = load i32, ptr %49, align 8 br label %67 67: ; preds = %.lr.ph89, %62 - %.pre114 = phi ptr [ %59, %.lr.ph89 ], [ %65, %62 ] %68 = phi i32 [ %56, %.lr.ph89 ], [ %.pre112, %62 ] %69 = phi ptr [ %57, %.lr.ph89 ], [ %63, %62 ] %indvars.iv.next102 = add nuw nsw i64 %indvars.iv101, 1 %70 = sext i32 %68 to i64 %.not73.not = icmp slt i64 %indvars.iv101, %70 - br i1 %.not73.not, label %.lr.ph89, label %._crit_edge90 + br i1 %.not73.not, label %.lr.ph89, label %._crit_edge90.loopexit + +._crit_edge90.loopexit: ; preds = %67 + %.phi.trans.insert113 = getelementptr inbounds nuw ptr, ptr %69, i64 %indvars.iv104 + %.pre114 = load ptr, ptr %.phi.trans.insert113, align 8 + br label %._crit_edge90 -._crit_edge90: ; preds = %67, %.preheader78 - %71 = phi ptr [ %54, %.preheader78 ], [ %.pre114, %67 ] - tail call void @free(ptr noundef nonnull %71) #14 +._crit_edge90: ; preds = %._crit_edge90.loopexit, %.preheader78 + %71 = phi ptr [ %.pre114, %._crit_edge90.loopexit ], [ %54, %.preheader78 ] + tail call void @free(ptr noundef %71) #14 %72 = load ptr, ptr %44, align 8, !tbaa !23 %73 = getelementptr inbounds nuw ptr, ptr %72, i64 %indvars.iv104 store ptr null, ptr %73, align 8, !tbaa !21 - %.pre115 = load i32, ptr %46, align 4, !tbaa !36 + %.pre115 = load i32, ptr %46, align 4 br label %74 74: ; preds = %50, %._crit_edge90 @@ -5267,7 +5275,7 @@ define void @MRIStepCoupling_Free(ptr noundef captures(address_is_null) %0) loca %91 = load ptr, ptr %81, align 8, !tbaa !29 %92 = getelementptr inbounds nuw ptr, ptr %91, i64 %indvars.iv107 store ptr null, ptr %92, align 8, !tbaa !30 - %.pre116 = load i32, ptr %83, align 8, !tbaa !37 + %.pre116 = load i32, ptr %83, align 8 br label %93 93: ; preds = %.lr.ph95, %90 @@ -6316,7 +6324,7 @@ define void @MRIStepCoupling_Write(ptr noundef readonly captures(address_is_null 153: ; preds = %.lr.ph203 %154 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1, ptr noundef nonnull @.str.48, i32 noundef %151) #14 - %.pre = load i32, ptr %66, align 8, !tbaa !37 + %.pre = load i32, ptr %66, align 8 br label %155 155: ; preds = %.lr.ph203, %153 diff --git a/bench/syn/optimized/ofvfd67uyaewjlc.ll b/bench/syn/optimized/ofvfd67uyaewjlc.ll index 0a30921ea38..5ca90895427 100644 --- a/bench/syn/optimized/ofvfd67uyaewjlc.ll +++ b/bench/syn/optimized/ofvfd67uyaewjlc.ll @@ -3430,7 +3430,7 @@ _ZN3syn6buffer6Cursor17bump_ignore_group17h7d42b7a38641a99cE.llvm.12718342354948 _ZN3syn6buffer6Cursor11ignore_none17h8ff9d6e421d536b3E.llvm.1271834235494842624.exit: ; preds = %_ZN3syn6buffer6Cursor17bump_ignore_group17h7d42b7a38641a99cE.llvm.1271834235494842624.exit.i, %.lr.ph.i, %4 %.sroa.0.0.ph = phi ptr [ %1, %4 ], [ %.0.i.i.i, %_ZN3syn6buffer6Cursor17bump_ignore_group17h7d42b7a38641a99cE.llvm.1271834235494842624.exit.i ], [ %.sroa.0.1, %.lr.ph.i ] - %.pr = load i32, ptr %.sroa.0.0.ph, align 8 + %.pr = load i32, ptr %.sroa.0.0.ph, align 8, !range !233, !noundef !9 %16 = icmp eq i32 %.pr, 0 br i1 %16, label %17, label %_ZN3syn6buffer6Cursor11ignore_none17h8ff9d6e421d536b3E.llvm.1271834235494842624.exit.thread @@ -3658,7 +3658,7 @@ define void @_ZN3syn6buffer6Cursor5ident17he943c8405b28ecffE(ptr noalias noundef br i1 %8, label %.preheader.i, label %.lr.ph.i._ZN3syn6buffer6Cursor11ignore_none17h8ff9d6e421d536b3E.llvm.1271834235494842624.exitthread-pre-split_crit_edge .lr.ph.i._ZN3syn6buffer6Cursor11ignore_none17h8ff9d6e421d536b3E.llvm.1271834235494842624.exitthread-pre-split_crit_edge: ; preds = %.lr.ph.i - %.pr.pre = load i32, ptr %.sroa.03.0, align 8 + %.pr.pre = load i32, ptr %.sroa.03.0, align 8, !range !233 br label %_ZN3syn6buffer6Cursor11ignore_none17h8ff9d6e421d536b3E.llvm.1271834235494842624.exit .preheader.i: ; preds = %.lr.ph.i, %.preheader.i @@ -3770,7 +3770,7 @@ define void @_ZN3syn6buffer6Cursor5punct17h6386474329364b2bE(ptr noalias noundef br i1 %8, label %.preheader.i, label %.lr.ph.i._ZN3syn6buffer6Cursor11ignore_none17h8ff9d6e421d536b3E.llvm.1271834235494842624.exitthread-pre-split_crit_edge .lr.ph.i._ZN3syn6buffer6Cursor11ignore_none17h8ff9d6e421d536b3E.llvm.1271834235494842624.exitthread-pre-split_crit_edge: ; preds = %.lr.ph.i - %.pr.pre = load i32, ptr %.sroa.0.0, align 8 + %.pr.pre = load i32, ptr %.sroa.0.0, align 8, !range !233 br label %_ZN3syn6buffer6Cursor11ignore_none17h8ff9d6e421d536b3E.llvm.1271834235494842624.exit .preheader.i: ; preds = %.lr.ph.i, %.preheader.i @@ -3849,7 +3849,7 @@ define void @_ZN3syn6buffer6Cursor7literal17h56201320c761e7bfE(ptr noalias nound br i1 %8, label %.preheader.i, label %.lr.ph.i._ZN3syn6buffer6Cursor11ignore_none17h8ff9d6e421d536b3E.llvm.1271834235494842624.exitthread-pre-split_crit_edge .lr.ph.i._ZN3syn6buffer6Cursor11ignore_none17h8ff9d6e421d536b3E.llvm.1271834235494842624.exitthread-pre-split_crit_edge: ; preds = %.lr.ph.i - %.pr.pre = load i32, ptr %.sroa.03.0, align 8 + %.pr.pre = load i32, ptr %.sroa.03.0, align 8, !range !233 br label %_ZN3syn6buffer6Cursor11ignore_none17h8ff9d6e421d536b3E.llvm.1271834235494842624.exit .preheader.i: ; preds = %.lr.ph.i, %.preheader.i @@ -3973,7 +3973,7 @@ define void @_ZN3syn6buffer6Cursor8lifetime17h948d1028d054f195E(ptr noalias noun br i1 %8, label %.preheader.i, label %.lr.ph.i._ZN3syn6buffer6Cursor11ignore_none17h8ff9d6e421d536b3E.llvm.1271834235494842624.exitthread-pre-split_crit_edge .lr.ph.i._ZN3syn6buffer6Cursor11ignore_none17h8ff9d6e421d536b3E.llvm.1271834235494842624.exitthread-pre-split_crit_edge: ; preds = %.lr.ph.i - %.pr.pre = load i32, ptr %.sroa.0.025, align 8 + %.pr.pre = load i32, ptr %.sroa.0.025, align 8, !range !233 br label %_ZN3syn6buffer6Cursor11ignore_none17h8ff9d6e421d536b3E.llvm.1271834235494842624.exit .preheader.i: ; preds = %.lr.ph.i, %.preheader.i @@ -4032,7 +4032,7 @@ _ZN3syn6buffer6Cursor17bump_ignore_group17h7d42b7a38641a99cE.llvm.12718342354948 br i1 %30, label %.preheader.i.i, label %.lr.ph.i._ZN3syn6buffer6Cursor11ignore_none17h8ff9d6e421d536b3E.llvm.1271834235494842624.exitthread-pre-split_crit_edge.i .lr.ph.i._ZN3syn6buffer6Cursor11ignore_none17h8ff9d6e421d536b3E.llvm.1271834235494842624.exitthread-pre-split_crit_edge.i: ; preds = %.lr.ph.i.i - %.pr.pre.i = load i32, ptr %.sroa.03.0.i, align 8, !noalias !669 + %.pr.pre.i = load i32, ptr %.sroa.03.0.i, align 8, !range !233, !noalias !669 br label %_ZN3syn6buffer6Cursor11ignore_none17h8ff9d6e421d536b3E.llvm.1271834235494842624.exit.i .preheader.i.i: ; preds = %.lr.ph.i.i, %.preheader.i.i @@ -4606,13 +4606,13 @@ _ZN3syn6buffer15start_of_buffer17h3566870b5d6554ddE.llvm.1271834235494842624.exi br i1 %13, label %.outer, label %14 thread-pre-split: ; preds = %_ZN3syn6buffer15start_of_buffer17h3566870b5d6554ddE.llvm.1271834235494842624.exit - %.pr = load i32, ptr %0, align 8 + %.pr = load i32, ptr %0, align 8, !range !233, !noundef !9 br label %14 14: ; preds = %thread-pre-split, %10 %15 = phi i32 [ %.pr, %thread-pre-split ], [ %12, %10 ] %.sroa.0.0 = phi ptr [ %0, %thread-pre-split ], [ %11, %10 ] - switch i32 %15, label %default.unreachable10.i [ + switch i32 %15, label %default.unreachable27 [ i32 0, label %16 i32 1, label %21 i32 2, label %27 @@ -4620,7 +4620,7 @@ thread-pre-split: ; preds = %_ZN3syn6buffer15sta i32 4, label %36 ] -default.unreachable10.i: ; preds = %14 +default.unreachable27: ; preds = %.backedge, %14 unreachable 16: ; preds = %14 @@ -4674,9 +4674,6 @@ default.unreachable10.i: ; preds = %14 .backedge.backedge: ; preds = %.backedge, %.backedge, %.backedge br label %.backedge -default.unreachable27: ; preds = %.backedge - unreachable - 40: ; preds = %.backedge %41 = add i32 %.016.ph, -1 %42 = icmp eq i32 %41, 0 @@ -5439,7 +5436,7 @@ _ZN3syn5parse11ParseBuffer5peek25peek217hd80a33a144a24c12E.exit.thread: ; preds %31 = load ptr, ptr %1, align 8, !noundef !9 %32 = load ptr, ptr %24, align 8, !noundef !9 call void @llvm.lifetime.start.p0(i64 12, ptr nonnull %4) - %.pr.i.i = load i32, ptr %31, align 8, !noalias !865 + %.pr.i.i = load i32, ptr %31, align 8, !range !233, !noalias !865, !noundef !9 %33 = icmp eq i32 %.pr.i.i, 0 br i1 %33, label %34, label %_ZN3syn6buffer6Cursor5group17hf49abe5099716ab9E.exit.thread.i @@ -5646,7 +5643,7 @@ _ZN3syn6buffer6Cursor17bump_ignore_group17h7d42b7a38641a99cE.llvm.12718342354948 br i1 %119, label %.lr.ph.i.i.i.i, label %.loopexit _ZN3syn6buffer6Cursor11ignore_none17h8ff9d6e421d536b3E.llvm.1271834235494842624.exit.i.i.i: ; preds = %.lr.ph.i.i.i.i - %.pr.i.i.pre.i = load i32, ptr %.sroa.0.1.i.i.i, align 8, !noalias !880 + %.pr.i.i.pre.i = load i32, ptr %.sroa.0.1.i.i.i, align 8, !range !233 %120 = icmp eq i32 %.pr.i.i.pre.i, 0 br i1 %120, label %121, label %.loopexit @@ -5748,12 +5745,12 @@ _ZN3syn6buffer6Cursor6create17h6f60e92346255650E.llvm.1271834235494842624.exit.i %.0 = phi i1 [ false, %282 ], [ true, %.invoke ] %151 = landingpad { ptr, i32 } cleanup - %.pr = load i64, ptr %20, align 8 + %.pr = load i64, ptr %20, align 8, !range !148 %152 = icmp eq i64 %.pr, 10 br i1 %152, label %307, label %308 .thread: ; preds = %306 - %.pr206 = load i64, ptr %20, align 8 + %.pr206 = load i64, ptr %20, align 8, !range !148 %153 = icmp eq i64 %.pr206, 10 br i1 %153, label %.thread210, label %308 @@ -6977,7 +6974,7 @@ define hidden void @"_ZN3syn4path7parsing40_$LT$impl$u20$syn..path..PathSegment$ to label %.thread78 unwind label %91 80: ; preds = %62 - %.pr = load i64, ptr %5, align 8 + %.pr = load i64, ptr %5, align 8, !range !247 call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %.sroa.7.i) %81 = icmp eq i64 %.pr, -9223372036854775808 br i1 %81, label %83, label %82 diff --git a/bench/verilator/optimized/V3ActiveTop.ll b/bench/verilator/optimized/V3ActiveTop.ll index bb931a5b882..c330be2c69e 100644 --- a/bench/verilator/optimized/V3ActiveTop.ll +++ b/bench/verilator/optimized/V3ActiveTop.ll @@ -1404,7 +1404,7 @@ _ZN7AstNode11privateCastI16AstNodeProcedurePS_EEPT_S2_.exit.lr.ph: ; preds = %60 br label %_ZN7AstNode11privateCastI16AstNodeProcedurePS_EEPT_S2_.exit ._crit_edge: ; preds = %74 - %.pre = load ptr, ptr %61, align 8, !tbaa !113 + %.pre = load ptr, ptr %61, align 8 %64 = icmp eq ptr %.pre, null br i1 %64, label %._crit_edge.thread, label %76 @@ -1510,7 +1510,7 @@ _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit86: ; preds = %_ZN br i1 %.not64, label %._crit_edge123, label %105 ._crit_edge123: ; preds = %104 - %.pre124 = load ptr, ptr %39, align 8, !tbaa !97 + %.pre124 = load ptr, ptr %39, align 8 br label %174 105: ; preds = %104 @@ -3210,7 +3210,7 @@ _ZNKSt8__detail15_Hashtable_baseI5VNRefI10AstSenTreeES3_NS_9_IdentityESt8equal_t 26: ; preds = %21 %27 = load ptr, ptr %25, align 8, !tbaa !87 %.phi.trans.insert.i.i = getelementptr inbounds nuw i8, ptr %27, i64 16 - %.pre.i.i = load i64, ptr %.phi.trans.insert.i.i, align 8, !tbaa !141 + %.pre.i.i = load i64, ptr %.phi.trans.insert.i.i, align 8 br label %28 28: ; preds = %34, %26 @@ -3673,7 +3673,7 @@ define linkonce_odr dso_local noundef ptr @_ZN13SenTreeFinder10getSenTreeEP10Ast 21: ; preds = %12 %22 = load ptr, ptr %20, align 8, !tbaa !87 %.phi.trans.insert.i.i.i = getelementptr inbounds nuw i8, ptr %22, i64 16 - %.pre.i.i.i = load i64, ptr %.phi.trans.insert.i.i.i, align 8, !tbaa !141 + %.pre.i.i.i = load i64, ptr %.phi.trans.insert.i.i.i, align 8 br label %23 23: ; preds = %29, %21 @@ -4095,7 +4095,7 @@ _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit14: ; preds = %_ZN call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %6) #23 call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %5) #23 call void @_ZN7V3Error7vlAbortEv() - %.pre = load i32, ptr %4, align 4, !tbaa !75 + %.pre = load i32, ptr %4, align 4 br label %83 54: ; preds = %10 @@ -4217,7 +4217,7 @@ _ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i: ; %20 = load i64, ptr %13, align 8, !tbaa !14 store i64 %20, ptr %11, align 8, !tbaa !14 %.phi.trans.insert = getelementptr inbounds nuw i8, ptr %10, i64 8 - %.pre = load i64, ptr %.phi.trans.insert, align 8, !tbaa !13 + %.pre = load i64, ptr %.phi.trans.insert, align 8 br label %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2EOS4_.exit _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2EOS4_.exit: ; preds = %15, %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i @@ -4256,7 +4256,7 @@ _ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i: ; %15 = load i64, ptr %8, align 8, !tbaa !14 store i64 %15, ptr %6, align 8, !tbaa !14 %.phi.trans.insert = getelementptr inbounds nuw i8, ptr %5, i64 8 - %.pre = load i64, ptr %.phi.trans.insert, align 8, !tbaa !13 + %.pre = load i64, ptr %.phi.trans.insert, align 8 br label %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2EOS4_.exit _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2EOS4_.exit: ; preds = %10, %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i @@ -4648,7 +4648,7 @@ define linkonce_odr dso_local noundef zeroext i1 @_ZN7AstNode13predicateImplI9As to label %_ZZN7AstNode13predicateImplI9AstVarRefLb1EZN16ActiveTopVisitor9isInitialEPS_EUlPKS1_E_EEbPNSt11conditionalIXsr3std8is_constIT_EE5valueEKS_S_E4typeERKT1_ENKUlmE_clEm.exit unwind label %48 _ZZN7AstNode13predicateImplI9AstVarRefLb1EZN16ActiveTopVisitor9isInitialEPS_EUlPKS1_E_EEbPNSt11conditionalIXsr3std8is_constIT_EE5valueEKS_S_E4typeERKT1_ENKUlmE_clEm.exit: ; preds = %2 - %.pre3.i = load ptr, ptr %3, align 8, !tbaa !92 + %.pre3.i = load ptr, ptr %3, align 8 %.ptr58 = getelementptr inbounds nuw i8, ptr %.pre3.i, i64 16 store ptr %.ptr58, ptr %4, align 8, !tbaa !171 %12 = getelementptr inbounds nuw i8, ptr %.pre3.i, i64 232 @@ -4688,7 +4688,7 @@ _ZZN16ActiveTopVisitor9isInitialEP7AstNodeENKUlPK9AstVarRefE_clES4_.exit.i: ; pr %31 = icmp ne i64 %30, 0 %32 = select i1 %27, i1 %31, i1 false %cond.fr.i = freeze i1 %32 - br i1 %cond.fr.i, label %_ZZN7AstNode13predicateImplI9AstVarRefLb1EZN16ActiveTopVisitor9isInitialEPS_EUlPKS1_E_EEbPNSt11conditionalIXsr3std8is_constIT_EE5valueEKS_S_E4typeERKT1_ENKUlS3_E_clES3_.exit.thread64, label %_ZZN7AstNode13predicateImplI9AstVarRefLb1EZN16ActiveTopVisitor9isInitialEPS_EUlPKS1_E_EEbPNSt11conditionalIXsr3std8is_constIT_EE5valueEKS_S_E4typeERKT1_ENKUlS3_E_clES3_.exit.thread.thread + br i1 %cond.fr.i, label %_ZZN7AstNode13predicateImplI9AstVarRefLb1EZN16ActiveTopVisitor9isInitialEPS_EUlPKS1_E_EEbPNSt11conditionalIXsr3std8is_constIT_EE5valueEKS_S_E4typeERKT1_ENKUlS3_E_clES3_.exit.thread64, label %_ZZN7AstNode13predicateImplI9AstVarRefLb1EZN16ActiveTopVisitor9isInitialEPS_EUlPKS1_E_EEbPNSt11conditionalIXsr3std8is_constIT_EE5valueEKS_S_E4typeERKT1_ENKUlS3_E_clES3_.exit.thread 33: ; preds = %13 %34 = getelementptr inbounds nuw i8, ptr %0, i64 48 @@ -4753,11 +4753,11 @@ _ZZN7AstNode13predicateImplI9AstVarRefLb1EZN16ActiveTopVisitor9isInitialEPS_EUlP br i1 %52, label %13, label %50, !llvm.loop !192 _ZZN7AstNode13predicateImplI9AstVarRefLb1EZN16ActiveTopVisitor9isInitialEPS_EUlPKS1_E_EEbPNSt11conditionalIXsr3std8is_constIT_EE5valueEKS_S_E4typeERKT1_ENKUlS3_E_clES3_.exit.thread64: ; preds = %_ZZN16ActiveTopVisitor9isInitialEP7AstNodeENKUlPK9AstVarRefE_clES4_.exit.thread.i, %_ZZN16ActiveTopVisitor9isInitialEP7AstNodeENKUlPK9AstVarRefE_clES4_.exit.i - br label %_ZZN7AstNode13predicateImplI9AstVarRefLb1EZN16ActiveTopVisitor9isInitialEPS_EUlPKS1_E_EEbPNSt11conditionalIXsr3std8is_constIT_EE5valueEKS_S_E4typeERKT1_ENKUlS3_E_clES3_.exit.thread.thread + br label %_ZZN7AstNode13predicateImplI9AstVarRefLb1EZN16ActiveTopVisitor9isInitialEPS_EUlPKS1_E_EEbPNSt11conditionalIXsr3std8is_constIT_EE5valueEKS_S_E4typeERKT1_ENKUlS3_E_clES3_.exit.thread _ZZN7AstNode13predicateImplI9AstVarRefLb1EZN16ActiveTopVisitor9isInitialEPS_EUlPKS1_E_EEbPNSt11conditionalIXsr3std8is_constIT_EE5valueEKS_S_E4typeERKT1_ENKUlS3_E_clES3_.exit: ; preds = %45 %53 = icmp samesign ugt i64 %.idx51, 16 - br i1 %53, label %.lr.ph.preheader, label %_ZZN7AstNode13predicateImplI9AstVarRefLb1EZN16ActiveTopVisitor9isInitialEPS_EUlPKS1_E_EEbPNSt11conditionalIXsr3std8is_constIT_EE5valueEKS_S_E4typeERKT1_ENKUlS3_E_clES3_.exit.thread.thread, !prof !193 + br i1 %53, label %.lr.ph.preheader, label %_ZZN7AstNode13predicateImplI9AstVarRefLb1EZN16ActiveTopVisitor9isInitialEPS_EUlPKS1_E_EEbPNSt11conditionalIXsr3std8is_constIT_EE5valueEKS_S_E4typeERKT1_ENKUlS3_E_clES3_.exit.thread, !prof !193 .lr.ph.preheader: ; preds = %_ZZN7AstNode13predicateImplI9AstVarRefLb1EZN16ActiveTopVisitor9isInitialEPS_EUlPKS1_E_EEbPNSt11conditionalIXsr3std8is_constIT_EE5valueEKS_S_E4typeERKT1_ENKUlS3_E_clES3_.exit.thread66, %_ZZN7AstNode13predicateImplI9AstVarRefLb1EZN16ActiveTopVisitor9isInitialEPS_EUlPKS1_E_EEbPNSt11conditionalIXsr3std8is_constIT_EE5valueEKS_S_E4typeERKT1_ENKUlS3_E_clES3_.exit %.idx68 = phi i64 [ %.add, %_ZZN7AstNode13predicateImplI9AstVarRefLb1EZN16ActiveTopVisitor9isInitialEPS_EUlPKS1_E_EEbPNSt11conditionalIXsr3std8is_constIT_EE5valueEKS_S_E4typeERKT1_ENKUlS3_E_clES3_.exit.thread66 ], [ %.idx51, %_ZZN7AstNode13predicateImplI9AstVarRefLb1EZN16ActiveTopVisitor9isInitialEPS_EUlPKS1_E_EEbPNSt11conditionalIXsr3std8is_constIT_EE5valueEKS_S_E4typeERKT1_ENKUlS3_E_clES3_.exit ] @@ -4900,39 +4900,28 @@ _ZZN7AstNode13predicateImplI9AstVarRefLb1EZN16ActiveTopVisitor9isInitialEPS_EUlP %123 = icmp ugt ptr %121, %122 br i1 %123, label %.lr.ph, label %_ZZN7AstNode13predicateImplI9AstVarRefLb1EZN16ActiveTopVisitor9isInitialEPS_EUlPKS1_E_EEbPNSt11conditionalIXsr3std8is_constIT_EE5valueEKS_S_E4typeERKT1_ENKUlS3_E_clES3_.exit.thread, !prof !194, !llvm.loop !195 -_ZZN7AstNode13predicateImplI9AstVarRefLb1EZN16ActiveTopVisitor9isInitialEPS_EUlPKS1_E_EEbPNSt11conditionalIXsr3std8is_constIT_EE5valueEKS_S_E4typeERKT1_ENKUlS3_E_clES3_.exit.thread.thread: ; preds = %_ZZN16ActiveTopVisitor9isInitialEP7AstNodeENKUlPK9AstVarRefE_clES4_.exit.i, %_ZZN7AstNode13predicateImplI9AstVarRefLb1EZN16ActiveTopVisitor9isInitialEPS_EUlPKS1_E_EEbPNSt11conditionalIXsr3std8is_constIT_EE5valueEKS_S_E4typeERKT1_ENKUlS3_E_clES3_.exit, %_ZZN7AstNode13predicateImplI9AstVarRefLb1EZN16ActiveTopVisitor9isInitialEPS_EUlPKS1_E_EEbPNSt11conditionalIXsr3std8is_constIT_EE5valueEKS_S_E4typeERKT1_ENKUlS3_E_clES3_.exit.thread64 - %.0.ph69 = phi i1 [ true, %_ZZN7AstNode13predicateImplI9AstVarRefLb1EZN16ActiveTopVisitor9isInitialEPS_EUlPKS1_E_EEbPNSt11conditionalIXsr3std8is_constIT_EE5valueEKS_S_E4typeERKT1_ENKUlS3_E_clES3_.exit.thread64 ], [ true, %_ZZN7AstNode13predicateImplI9AstVarRefLb1EZN16ActiveTopVisitor9isInitialEPS_EUlPKS1_E_EEbPNSt11conditionalIXsr3std8is_constIT_EE5valueEKS_S_E4typeERKT1_ENKUlS3_E_clES3_.exit ], [ false, %_ZZN16ActiveTopVisitor9isInitialEP7AstNodeENKUlPK9AstVarRefE_clES4_.exit.i ] +_ZZN7AstNode13predicateImplI9AstVarRefLb1EZN16ActiveTopVisitor9isInitialEPS_EUlPKS1_E_EEbPNSt11conditionalIXsr3std8is_constIT_EE5valueEKS_S_E4typeERKT1_ENKUlS3_E_clES3_.exit.thread: ; preds = %_ZZN7AstNode13predicateImplI9AstVarRefLb1EZN16ActiveTopVisitor9isInitialEPS_EUlPKS1_E_EEbPNSt11conditionalIXsr3std8is_constIT_EE5valueEKS_S_E4typeERKT1_ENKUlS3_E_clES3_.exit33, %_ZZN16ActiveTopVisitor9isInitialEP7AstNodeENKUlPK9AstVarRefE_clES4_.exit.i30, %_ZZN7AstNode13predicateImplI9AstVarRefLb1EZN16ActiveTopVisitor9isInitialEPS_EUlPKS1_E_EEbPNSt11conditionalIXsr3std8is_constIT_EE5valueEKS_S_E4typeERKT1_ENKUlS3_E_clES3_.exit.thread64, %_ZZN7AstNode13predicateImplI9AstVarRefLb1EZN16ActiveTopVisitor9isInitialEPS_EUlPKS1_E_EEbPNSt11conditionalIXsr3std8is_constIT_EE5valueEKS_S_E4typeERKT1_ENKUlS3_E_clES3_.exit, %_ZZN16ActiveTopVisitor9isInitialEP7AstNodeENKUlPK9AstVarRefE_clES4_.exit.i + %.0 = phi i1 [ false, %_ZZN16ActiveTopVisitor9isInitialEP7AstNodeENKUlPK9AstVarRefE_clES4_.exit.i ], [ true, %_ZZN7AstNode13predicateImplI9AstVarRefLb1EZN16ActiveTopVisitor9isInitialEPS_EUlPKS1_E_EEbPNSt11conditionalIXsr3std8is_constIT_EE5valueEKS_S_E4typeERKT1_ENKUlS3_E_clES3_.exit ], [ true, %_ZZN7AstNode13predicateImplI9AstVarRefLb1EZN16ActiveTopVisitor9isInitialEPS_EUlPKS1_E_EEbPNSt11conditionalIXsr3std8is_constIT_EE5valueEKS_S_E4typeERKT1_ENKUlS3_E_clES3_.exit.thread64 ], [ true, %_ZZN7AstNode13predicateImplI9AstVarRefLb1EZN16ActiveTopVisitor9isInitialEPS_EUlPKS1_E_EEbPNSt11conditionalIXsr3std8is_constIT_EE5valueEKS_S_E4typeERKT1_ENKUlS3_E_clES3_.exit33 ], [ false, %_ZZN16ActiveTopVisitor9isInitialEP7AstNodeENKUlPK9AstVarRefE_clES4_.exit.i30 ] call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %7) #23 call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %6) #23 call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %5) #23 call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %4) #23 - br label %124 + %124 = load ptr, ptr %3, align 8, !tbaa !92 + %.not.i.i.i34 = icmp eq ptr %124, null + br i1 %.not.i.i.i34, label %_ZNSt6vectorIP7AstNodeSaIS1_EED2Ev.exit, label %125 -_ZZN7AstNode13predicateImplI9AstVarRefLb1EZN16ActiveTopVisitor9isInitialEPS_EUlPKS1_E_EEbPNSt11conditionalIXsr3std8is_constIT_EE5valueEKS_S_E4typeERKT1_ENKUlS3_E_clES3_.exit.thread: ; preds = %_ZZN7AstNode13predicateImplI9AstVarRefLb1EZN16ActiveTopVisitor9isInitialEPS_EUlPKS1_E_EEbPNSt11conditionalIXsr3std8is_constIT_EE5valueEKS_S_E4typeERKT1_ENKUlS3_E_clES3_.exit33, %_ZZN16ActiveTopVisitor9isInitialEP7AstNodeENKUlPK9AstVarRefE_clES4_.exit.i30 - %.0.ph = phi i1 [ false, %_ZZN16ActiveTopVisitor9isInitialEP7AstNodeENKUlPK9AstVarRefE_clES4_.exit.i30 ], [ true, %_ZZN7AstNode13predicateImplI9AstVarRefLb1EZN16ActiveTopVisitor9isInitialEPS_EUlPKS1_E_EEbPNSt11conditionalIXsr3std8is_constIT_EE5valueEKS_S_E4typeERKT1_ENKUlS3_E_clES3_.exit33 ] - %.pre = load ptr, ptr %3, align 8, !tbaa !92 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %7) #23 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %6) #23 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %5) #23 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %4) #23 - %.not.i.i.i34 = icmp eq ptr %.pre, null - br i1 %.not.i.i.i34, label %_ZNSt6vectorIP7AstNodeSaIS1_EED2Ev.exit, label %124 - -124: ; preds = %_ZZN7AstNode13predicateImplI9AstVarRefLb1EZN16ActiveTopVisitor9isInitialEPS_EUlPKS1_E_EEbPNSt11conditionalIXsr3std8is_constIT_EE5valueEKS_S_E4typeERKT1_ENKUlS3_E_clES3_.exit.thread.thread, %_ZZN7AstNode13predicateImplI9AstVarRefLb1EZN16ActiveTopVisitor9isInitialEPS_EUlPKS1_E_EEbPNSt11conditionalIXsr3std8is_constIT_EE5valueEKS_S_E4typeERKT1_ENKUlS3_E_clES3_.exit.thread - %.072 = phi i1 [ %.0.ph69, %_ZZN7AstNode13predicateImplI9AstVarRefLb1EZN16ActiveTopVisitor9isInitialEPS_EUlPKS1_E_EEbPNSt11conditionalIXsr3std8is_constIT_EE5valueEKS_S_E4typeERKT1_ENKUlS3_E_clES3_.exit.thread.thread ], [ %.0.ph, %_ZZN7AstNode13predicateImplI9AstVarRefLb1EZN16ActiveTopVisitor9isInitialEPS_EUlPKS1_E_EEbPNSt11conditionalIXsr3std8is_constIT_EE5valueEKS_S_E4typeERKT1_ENKUlS3_E_clES3_.exit.thread ] - %125 = phi ptr [ %.pre3.i, %_ZZN7AstNode13predicateImplI9AstVarRefLb1EZN16ActiveTopVisitor9isInitialEPS_EUlPKS1_E_EEbPNSt11conditionalIXsr3std8is_constIT_EE5valueEKS_S_E4typeERKT1_ENKUlS3_E_clES3_.exit.thread.thread ], [ %.pre, %_ZZN7AstNode13predicateImplI9AstVarRefLb1EZN16ActiveTopVisitor9isInitialEPS_EUlPKS1_E_EEbPNSt11conditionalIXsr3std8is_constIT_EE5valueEKS_S_E4typeERKT1_ENKUlS3_E_clES3_.exit.thread ] +125: ; preds = %_ZZN7AstNode13predicateImplI9AstVarRefLb1EZN16ActiveTopVisitor9isInitialEPS_EUlPKS1_E_EEbPNSt11conditionalIXsr3std8is_constIT_EE5valueEKS_S_E4typeERKT1_ENKUlS3_E_clES3_.exit.thread %126 = getelementptr inbounds nuw i8, ptr %3, i64 16 %127 = load ptr, ptr %126, align 8, !tbaa !95 %128 = ptrtoint ptr %127 to i64 - %129 = ptrtoint ptr %125 to i64 + %129 = ptrtoint ptr %124 to i64 %130 = sub i64 %128, %129 - call void @_ZdlPvm(ptr noundef nonnull %125, i64 noundef %130) #24 + call void @_ZdlPvm(ptr noundef nonnull %124, i64 noundef %130) #24 br label %_ZNSt6vectorIP7AstNodeSaIS1_EED2Ev.exit -_ZNSt6vectorIP7AstNodeSaIS1_EED2Ev.exit: ; preds = %_ZZN7AstNode13predicateImplI9AstVarRefLb1EZN16ActiveTopVisitor9isInitialEPS_EUlPKS1_E_EEbPNSt11conditionalIXsr3std8is_constIT_EE5valueEKS_S_E4typeERKT1_ENKUlS3_E_clES3_.exit.thread, %124 - %.073 = phi i1 [ %.0.ph, %_ZZN7AstNode13predicateImplI9AstVarRefLb1EZN16ActiveTopVisitor9isInitialEPS_EUlPKS1_E_EEbPNSt11conditionalIXsr3std8is_constIT_EE5valueEKS_S_E4typeERKT1_ENKUlS3_E_clES3_.exit.thread ], [ %.072, %124 ] +_ZNSt6vectorIP7AstNodeSaIS1_EED2Ev.exit: ; preds = %_ZZN7AstNode13predicateImplI9AstVarRefLb1EZN16ActiveTopVisitor9isInitialEPS_EUlPKS1_E_EEbPNSt11conditionalIXsr3std8is_constIT_EE5valueEKS_S_E4typeERKT1_ENKUlS3_E_clES3_.exit.thread, %125 call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %3) #23 - ret i1 %.073 + ret i1 %.0 131: ; preds = %69, %48 %.pn.pn = phi { ptr, i32 } [ %49, %48 ], [ %70, %69 ] @@ -4980,10 +4969,10 @@ define linkonce_odr dso_local void @_ZZN7AstNode13predicateImplI9AstVarRefLb1EZN 18: ; preds = %2 %19 = sub nuw i64 %1, %16 tail call void @_ZNSt6vectorIP7AstNodeSaIS1_EE17_M_default_appendEm(ptr noundef nonnull align 8 dereferenceable(24) %9, i64 noundef %19) - %.pre = load ptr, ptr %8, align 8, !tbaa !199 - %.pre3 = load ptr, ptr %.pre, align 8, !tbaa !92 - %.pre4 = load ptr, ptr %5, align 8, !tbaa !198 - %.pre5 = load ptr, ptr %0, align 8, !tbaa !196 + %.pre = load ptr, ptr %8, align 8 + %.pre3 = load ptr, ptr %.pre, align 8 + %.pre4 = load ptr, ptr %5, align 8 + %.pre5 = load ptr, ptr %0, align 8 br label %_ZNSt6vectorIP7AstNodeSaIS1_EE6resizeEm.exit 20: ; preds = %2 @@ -5257,7 +5246,7 @@ _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit14: ; preds = %_ZN call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %6) #23 call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %5) #23 call void @_ZN7V3Error7vlAbortEv() - %.pre = load i32, ptr %4, align 4, !tbaa !75 + %.pre = load i32, ptr %4, align 4 br label %83 54: ; preds = %10 diff --git a/bench/verilator/optimized/V3Global.ll b/bench/verilator/optimized/V3Global.ll index 8cb056557a8..7519be0ce2f 100644 --- a/bench/verilator/optimized/V3Global.ll +++ b/bench/verilator/optimized/V3Global.ll @@ -1905,7 +1905,7 @@ _ZN10V3ParseSymD2Ev.exit: ; preds = %_ZNSt7__cxx1112basi br i1 %.not7.i, label %._crit_edge.i, label %.lr.ph.i ._crit_edge.loopexit.i: ; preds = %528 - %.pre.i = load ptr, ptr %500, align 8, !tbaa !119 + %.pre.i = load ptr, ptr %500, align 8 br label %._crit_edge.i ._crit_edge.i: ; preds = %._crit_edge.loopexit.i, %_ZN10V3ParseSymD2Ev.exit @@ -2079,7 +2079,7 @@ define linkonce_odr dso_local void @_ZN10V3ParseSymC2EP10AstNetlist(ptr noundef %6 = landingpad { ptr, i32 } cleanup tail call void @_ZdlPvm(ptr noundef nonnull %4, i64 noundef 120) #25 - %.pr.i = load ptr, ptr %3, align 8, !tbaa !119 + %.pr.i = load ptr, ptr %3, align 8 %.not.i.i.i.i = icmp eq ptr %.pr.i, null br i1 %.not.i.i.i.i, label %common.resume, label %7 @@ -2137,9 +2137,9 @@ _ZN9VSymGraphC2EP10AstNetlist.exit: ; preds = %2 %29 = load i32, ptr @_ZN12VNUser4InUse12s_userCntGblE, align 4, !tbaa !132 store i32 %29, ptr %15, align 4, !tbaa !133 %.phi.trans.insert = getelementptr inbounds nuw i8, ptr %0, i64 56 - %.pre = load ptr, ptr %.phi.trans.insert, align 8, !tbaa !134 + %.pre = load ptr, ptr %.phi.trans.insert, align 8 %.phi.trans.insert7 = getelementptr inbounds nuw i8, ptr %0, i64 64 - %.pre8 = load ptr, ptr %.phi.trans.insert7, align 8, !tbaa !122 + %.pre8 = load ptr, ptr %.phi.trans.insert7, align 8 %30 = getelementptr inbounds nuw i8, ptr %0, i64 56 %.not.i.i = icmp eq ptr %.pre, %.pre8 br i1 %.not.i.i, label %33, label %31 @@ -3009,7 +3009,7 @@ _ZL19dumpTreeEitherLevelv.exit: ; preds = %221, %223 br i1 %.not19, label %232, label %226 226: ; preds = %_ZL19dumpTreeEitherLevelv.exit - %.pre = load i8, ptr getelementptr inbounds nuw (i8, ptr @v3Global, i64 994), align 2, !tbaa !78, !range !79 + %.pre = load i8, ptr getelementptr inbounds nuw (i8, ptr @v3Global, i64 994), align 2, !range !79 %227 = trunc nuw i8 %.pre to i1 br i1 %227, label %.thread, label %_ZNK7AstNode9checkTreeEv.exit @@ -3211,7 +3211,7 @@ _ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i: %33 = load i64, ptr %26, align 8, !tbaa !98 store i64 %33, ptr %24, align 8, !tbaa !98, !alias.scope !166 %.phi.trans.insert.i = getelementptr inbounds nuw i8, ptr %23, i64 8 - %.pre.i = load i64, ptr %.phi.trans.insert.i, align 8, !tbaa !96 + %.pre.i = load i64, ptr %.phi.trans.insert.i, align 8 br label %34 34: ; preds = %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i, %28 @@ -3431,7 +3431,7 @@ _ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i27 %119 = load i64, ptr %112, align 8, !tbaa !98 store i64 %119, ptr %110, align 8, !tbaa !98, !alias.scope !175 %.phi.trans.insert.i28 = getelementptr inbounds nuw i8, ptr %109, i64 8 - %.pre.i29 = load i64, ptr %.phi.trans.insert.i28, align 8, !tbaa !96 + %.pre.i29 = load i64, ptr %.phi.trans.insert.i28, align 8 br label %120 120: ; preds = %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i27, %114 @@ -3612,7 +3612,7 @@ _ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i48 %192 = load i64, ptr %185, align 8, !tbaa !98 store i64 %192, ptr %183, align 8, !tbaa !98, !alias.scope !181 %.phi.trans.insert.i49 = getelementptr inbounds nuw i8, ptr %182, i64 8 - %.pre.i50 = load i64, ptr %.phi.trans.insert.i49, align 8, !tbaa !96 + %.pre.i50 = load i64, ptr %.phi.trans.insert.i49, align 8 br label %193 193: ; preds = %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i48, %187 @@ -3665,7 +3665,7 @@ _ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i56 %214 = load i64, ptr %207, align 8, !tbaa !98 store i64 %214, ptr %205, align 8, !tbaa !98, !alias.scope !184 %.phi.trans.insert.i57 = getelementptr inbounds nuw i8, ptr %204, i64 8 - %.pre.i58 = load i64, ptr %.phi.trans.insert.i57, align 8, !tbaa !96 + %.pre.i58 = load i64, ptr %.phi.trans.insert.i57, align 8 br label %215 215: ; preds = %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i56, %209 @@ -4058,7 +4058,7 @@ _ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i: ; %20 = load i64, ptr %13, align 8, !tbaa !98 store i64 %20, ptr %11, align 8, !tbaa !98 %.phi.trans.insert = getelementptr inbounds nuw i8, ptr %10, i64 8 - %.pre = load i64, ptr %.phi.trans.insert, align 8, !tbaa !96 + %.pre = load i64, ptr %.phi.trans.insert, align 8 br label %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2EOS4_.exit _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2EOS4_.exit: ; preds = %15, %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i @@ -4164,7 +4164,7 @@ _ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i: %44 = load i64, ptr %37, align 8, !tbaa !98 store i64 %44, ptr %35, align 8, !tbaa !98, !alias.scope !191 %.phi.trans.insert.i = getelementptr inbounds nuw i8, ptr %34, i64 8 - %.pre.i = load i64, ptr %.phi.trans.insert.i, align 8, !tbaa !96 + %.pre.i = load i64, ptr %.phi.trans.insert.i, align 8 br label %45 45: ; preds = %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i, %39 @@ -4385,7 +4385,7 @@ _ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i75 %131 = load i64, ptr %124, align 8, !tbaa !98 store i64 %131, ptr %122, align 8, !tbaa !98, !alias.scope !200 %.phi.trans.insert.i76 = getelementptr inbounds nuw i8, ptr %121, i64 8 - %.pre.i77 = load i64, ptr %.phi.trans.insert.i76, align 8, !tbaa !96 + %.pre.i77 = load i64, ptr %.phi.trans.insert.i76, align 8 br label %.critedge 132: ; preds = %2 @@ -4708,15 +4708,11 @@ _ZSt13__check_facetISt5ctypeIcEERKT_PS3_.exit.i.i.i.i: ; preds = %12 %20 = getelementptr inbounds nuw i8, ptr %19, i64 48 %21 = load ptr, ptr %20, align 8 %22 = invoke noundef signext i8 %21(ptr noundef nonnull align 8 dereferenceable(570) %14, i8 noundef signext 32) - to label %.noexc3._ZNKSt9basic_iosIcSt11char_traitsIcEE5widenEc.exit.i.i.i_crit_edge unwind label %80 + to label %_ZNKSt9basic_iosIcSt11char_traitsIcEE5widenEc.exit.i.i.i unwind label %80 -.noexc3._ZNKSt9basic_iosIcSt11char_traitsIcEE5widenEc.exit.i.i.i_crit_edge: ; preds = %.noexc3 - %.pre.pre = load ptr, ptr %4, align 8, !tbaa !206 - br label %_ZNKSt9basic_iosIcSt11char_traitsIcEE5widenEc.exit.i.i.i - -_ZNKSt9basic_iosIcSt11char_traitsIcEE5widenEc.exit.i.i.i: ; preds = %.noexc3._ZNKSt9basic_iosIcSt11char_traitsIcEE5widenEc.exit.i.i.i_crit_edge, %_ZSt13__check_facetISt5ctypeIcEERKT_PS3_.exit.i.i.i.i - %.pre = phi ptr [ %.pre.pre, %.noexc3._ZNKSt9basic_iosIcSt11char_traitsIcEE5widenEc.exit.i.i.i_crit_edge ], [ %5, %_ZSt13__check_facetISt5ctypeIcEERKT_PS3_.exit.i.i.i.i ] +_ZNKSt9basic_iosIcSt11char_traitsIcEE5widenEc.exit.i.i.i: ; preds = %.noexc3, %_ZSt13__check_facetISt5ctypeIcEERKT_PS3_.exit.i.i.i.i store i8 1, ptr %9, align 1, !tbaa !208 + %.pre = load ptr, ptr %4, align 8 br label %23 23: ; preds = %2, %_ZNKSt9basic_iosIcSt11char_traitsIcEE5widenEc.exit.i.i.i @@ -5282,7 +5278,7 @@ _ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i: .critedge22: ; preds = %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i, %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %2) #26 - %.pre = load ptr, ptr %1, align 8, !tbaa !95 + %.pre = load ptr, ptr %1, align 8 %41 = icmp eq ptr %.pre, %4 br i1 %41, label %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i28, label %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i27 @@ -6040,7 +6036,7 @@ _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7_S_copyEPcPKcm.exit.i: ; p %82 = load ptr, ptr %61, align 8, !tbaa !95 %83 = getelementptr inbounds nuw i8, ptr %82, i64 %80 store i8 0, ptr %83, align 1, !tbaa !98 - %.pre.i = load ptr, ptr %6, align 8, !tbaa !95 + %.pre.i = load ptr, ptr %6, align 8 br label %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEOS4_.exit .thread.i: ; preds = %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i @@ -6287,7 +6283,7 @@ _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit14: ; preds = %_ZN call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %6) #26 call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %5) #26 call void @_ZN7V3Error7vlAbortEv() - %.pre = load i32, ptr %4, align 4, !tbaa !132 + %.pre = load i32, ptr %4, align 4 br label %83 54: ; preds = %10 @@ -6398,7 +6394,7 @@ _ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i: ; %15 = load i64, ptr %8, align 8, !tbaa !98 store i64 %15, ptr %6, align 8, !tbaa !98 %.phi.trans.insert = getelementptr inbounds nuw i8, ptr %5, i64 8 - %.pre = load i64, ptr %.phi.trans.insert, align 8, !tbaa !96 + %.pre = load i64, ptr %.phi.trans.insert, align 8 br label %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2EOS4_.exit _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2EOS4_.exit: ; preds = %10, %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i @@ -6770,7 +6766,7 @@ define linkonce_odr dso_local void @_ZN9VSymGraphD2Ev(ptr noundef nonnull align br i1 %.not7, label %._crit_edge, label %.lr.ph ._crit_edge.loopexit: ; preds = %30 - %.pre = load ptr, ptr %2, align 8, !tbaa !119 + %.pre = load ptr, ptr %2, align 8 br label %._crit_edge ._crit_edge: ; preds = %._crit_edge.loopexit, %1 @@ -7416,7 +7412,7 @@ _ZNSt13unordered_mapISt6bitsetILm121EEtSt4hashIS1_ESt8equal_toIS1_ESaISt4pairIKS br i1 %36, label %.lr.ph.i.i.i, label %_ZNSt11_Deque_baseI10V3LangCodeSaIS0_EE16_M_destroy_nodesEPPS0_S4_.exit.loopexit.i.i, !llvm.loop !315 _ZNSt11_Deque_baseI10V3LangCodeSaIS0_EE16_M_destroy_nodesEPPS0_S4_.exit.loopexit.i.i: ; preds = %.lr.ph.i.i.i - %.pre.i.i = load ptr, ptr %25, align 8, !tbaa !307 + %.pre.i.i = load ptr, ptr %25, align 8 br label %_ZNSt11_Deque_baseI10V3LangCodeSaIS0_EE16_M_destroy_nodesEPPS0_S4_.exit.i.i _ZNSt11_Deque_baseI10V3LangCodeSaIS0_EE16_M_destroy_nodesEPPS0_S4_.exit.i.i: ; preds = %_ZNSt11_Deque_baseI10V3LangCodeSaIS0_EE16_M_destroy_nodesEPPS0_S4_.exit.loopexit.i.i, %27 @@ -7512,7 +7508,7 @@ define linkonce_odr dso_local void @_ZNSt5dequeINSt7__cxx1112basic_stringIcSt11c br i1 %35, label %.lr.ph.i.i, label %_ZNSt11_Deque_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE16_M_destroy_nodesEPPS5_S9_.exit.loopexit.i, !llvm.loop !333 _ZNSt11_Deque_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE16_M_destroy_nodesEPPS5_S9_.exit.loopexit.i: ; preds = %.lr.ph.i.i - %.pre.i = load ptr, ptr %0, align 8, !tbaa !329 + %.pre.i = load ptr, ptr %0, align 8 br label %_ZNSt11_Deque_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE16_M_destroy_nodesEPPS5_S9_.exit.i _ZNSt11_Deque_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE16_M_destroy_nodesEPPS5_S9_.exit.i: ; preds = %_ZNSt11_Deque_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE16_M_destroy_nodesEPPS5_S9_.exit.loopexit.i, %28 @@ -7818,7 +7814,7 @@ define linkonce_odr dso_local void @_ZNSt5dequeINSt7__cxx1112basic_stringIcSt11c br i1 %8, label %.lr.ph, label %._crit_edge ._crit_edge.loopexit: ; preds = %_ZSt8_DestroyIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_EvT_S7_RSaIT0_E.exit - %.pre = load ptr, ptr %4, align 8, !tbaa !325 + %.pre = load ptr, ptr %4, align 8 br label %._crit_edge ._crit_edge: ; preds = %._crit_edge.loopexit, %3 @@ -8599,7 +8595,7 @@ _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit14: ; preds = %_ZN call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %6) #26 call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %5) #26 call void @_ZN7V3Error7vlAbortEv() - %.pre = load i32, ptr %4, align 4, !tbaa !132 + %.pre = load i32, ptr %4, align 4 br label %83 54: ; preds = %10 @@ -8882,14 +8878,14 @@ define linkonce_odr dso_local { ptr, i8 } @_ZNSt10_HashtableINSt7__cxx1112basic_ br i1 %.not, label %..thread_crit_edge, label %8 ..thread_crit_edge: ; preds = %4 - %.pre = load ptr, ptr %1, align 8, !tbaa !95 + %.pre = load ptr, ptr %1, align 8 br label %.thread 8: ; preds = %4 %9 = getelementptr inbounds nuw i8, ptr %0, i64 16 %.sroa.023.040 = load ptr, ptr %9, align 8, !tbaa !72 %.not3341 = icmp eq ptr %.sroa.023.040, null - %.pre54 = load ptr, ptr %1, align 8, !tbaa !95 + %.pre54 = load ptr, ptr %1, align 8 br i1 %.not3341, label %.thread, label %.lr.ph .lr.ph: ; preds = %8 @@ -8966,7 +8962,7 @@ _ZNKSt8__detail15_Hash_code_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESa %41 = icmp eq i64 %.fr22.i.i, 0 %42 = load ptr, ptr %1, align 8 %.phi.trans.insert25.i.i = getelementptr inbounds nuw i8, ptr %39, i64 40 - %.pre26.i.i = load i64, ptr %.phi.trans.insert25.i.i, align 8, !tbaa !389 + %.pre26.i.i = load i64, ptr %.phi.trans.insert25.i.i, align 8 br i1 %41, label %.split.us.i.i, label %.split.i.i .split.us.i.i: ; preds = %38, %50 diff --git a/bench/wasmedge/optimized/inode-linux.ll b/bench/wasmedge/optimized/inode-linux.ll index f56b80c1611..9e59563129b 100644 --- a/bench/wasmedge/optimized/inode-linux.ll +++ b/bench/wasmedge/optimized/inode-linux.ll @@ -6002,7 +6002,7 @@ _ZNSt13unordered_mapIiN8WasmEdge4Host4WASI6Poller6FdDataESt4hashIiESt8equal_toIi _ZNSt13unordered_mapIiN8WasmEdge4Host4WASI6Poller6FdDataESt4hashIiESt8equal_toIiESaISt4pairIKiS4_EEE4findERSA_.exit50._crit_edge: ; preds = %_ZNSt13unordered_mapIiN8WasmEdge4Host4WASI6Poller6FdDataESt4hashIiESt8equal_toIiESaISt4pairIKiS4_EEE4findERSA_.exit50 %.phi.trans.insert = getelementptr inbounds nuw i8, ptr %.sroa.06.1.i.i46, i64 16 - %.pre108 = load ptr, ptr %.phi.trans.insert, align 8 + %.pre108 = load ptr, ptr %.phi.trans.insert, align 8, !nonnull !34 br label %125 120: ; preds = %_ZNSt13unordered_mapIiN8WasmEdge4Host4WASI6Poller6FdDataESt4hashIiESt8equal_toIiESaISt4pairIKiS4_EEE4findERSA_.exit50 @@ -6041,7 +6041,7 @@ _ZNSt13unordered_mapIiN8WasmEdge4Host4WASI6Poller6FdDataESt4hashIiESt8equal_toIi ._crit_edge110: ; preds = %132 %.phi.trans.insert111 = getelementptr inbounds nuw i8, ptr %.sroa.06.1.i.i46, i64 24 - %.pre112 = load ptr, ptr %.phi.trans.insert111, align 8 + %.pre112 = load ptr, ptr %.phi.trans.insert111, align 8, !nonnull !34 br label %140 135: ; preds = %132 @@ -6068,7 +6068,7 @@ _ZNSt13unordered_mapIiN8WasmEdge4Host4WASI6Poller6FdDataESt4hashIiESt8equal_toIi 145: ; preds = %135, %137, %140 %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_edge91, label %86, !llvm.loop !34 + br i1 %exitcond.not, label %._crit_edge91, label %86, !llvm.loop !35 ._crit_edge91: ; preds = %145, %.preheader %146 = getelementptr inbounds nuw i8, ptr %0, i64 168 @@ -6193,7 +6193,7 @@ _ZSt4swapIiN8WasmEdge4Host4WASI6Poller6FdDataESt4hashIiESt8equal_toIiESaISt4pair %202 = load ptr, ptr %.06.i.i.i, align 8 tail call void @_ZdlPvm(ptr noundef nonnull %.06.i.i.i, i64 noundef 32) #29 %.not.i.i.i = icmp eq ptr %202, null - br i1 %.not.i.i.i, label %_ZNSt13unordered_mapIiN8WasmEdge4Host4WASI6Poller6FdDataESt4hashIiESt8equal_toIiESaISt4pairIKiS4_EEE5clearEv.exit, label %.lr.ph.i.i.i, !llvm.loop !35 + br i1 %.not.i.i.i, label %_ZNSt13unordered_mapIiN8WasmEdge4Host4WASI6Poller6FdDataESt4hashIiESt8equal_toIiESaISt4pairIKiS4_EEE5clearEv.exit, label %.lr.ph.i.i.i, !llvm.loop !36 _ZNSt13unordered_mapIiN8WasmEdge4Host4WASI6Poller6FdDataESt4hashIiESt8equal_toIiESaISt4pairIKiS4_EEE5clearEv.exit: ; preds = %.lr.ph.i.i.i, %_ZSt4swapIiN8WasmEdge4Host4WASI6Poller6FdDataESt4hashIiESt8equal_toIiESaISt4pairIKiS4_EEEvRSt13unordered_mapIT_T0_T1_T2_T3_ESK_.exit %203 = load ptr, ptr %157, align 8 @@ -6240,7 +6240,7 @@ _ZNSt13unordered_mapIiN8WasmEdge4Host4WASI6Poller6FdDataESt4hashIiESt8equal_toIi _ZSt8_DestroyIN8WasmEdge4Host4WASI6Poller5TimerEEvPT_.exit.i.i.i.i.i: ; preds = %217, %211, %.lr.ph.i.i.i.i.i %221 = getelementptr inbounds nuw i8, ptr %.05.i.i.i.i.i, i64 12 %.not.i.i.i.i.i = icmp eq ptr %221, %207 - br i1 %.not.i.i.i.i.i, label %_ZSt8_DestroyIPN8WasmEdge4Host4WASI6Poller5TimerES4_EvT_S6_RSaIT0_E.exit.i.i, label %.lr.ph.i.i.i.i.i, !llvm.loop !36 + br i1 %.not.i.i.i.i.i, label %_ZSt8_DestroyIPN8WasmEdge4Host4WASI6Poller5TimerES4_EvT_S6_RSaIT0_E.exit.i.i, label %.lr.ph.i.i.i.i.i, !llvm.loop !37 _ZSt8_DestroyIPN8WasmEdge4Host4WASI6Poller5TimerES4_EvT_S6_RSaIT0_E.exit.i.i: ; preds = %_ZSt8_DestroyIN8WasmEdge4Host4WASI6Poller5TimerEEvPT_.exit.i.i.i.i.i store ptr %206, ptr %148, align 8 @@ -6615,7 +6615,7 @@ define linkonce_odr hidden void @_ZNSt10_HashtableI16__wasi_clockid_tSt4pairIKS0 _ZSt8_DestroyIN8WasmEdge4Host4WASI6Poller5TimerEEvPT_.exit.i.i.i.i.i.i.i.i: ; preds = %18, %12, %.lr.ph.i.i.i.i.i.i.i.i %22 = getelementptr inbounds nuw i8, ptr %.05.i.i.i.i.i.i.i.i, i64 12 %.not.i.i.i.i.i.i.i.i = icmp eq ptr %22, %8 - br i1 %.not.i.i.i.i.i.i.i.i, label %_ZSt8_DestroyIPN8WasmEdge4Host4WASI6Poller5TimerES4_EvT_S6_RSaIT0_E.exitthread-pre-split.i.i.i.i.i, label %.lr.ph.i.i.i.i.i.i.i.i, !llvm.loop !36 + br i1 %.not.i.i.i.i.i.i.i.i, label %_ZSt8_DestroyIPN8WasmEdge4Host4WASI6Poller5TimerES4_EvT_S6_RSaIT0_E.exitthread-pre-split.i.i.i.i.i, label %.lr.ph.i.i.i.i.i.i.i.i, !llvm.loop !37 _ZSt8_DestroyIPN8WasmEdge4Host4WASI6Poller5TimerES4_EvT_S6_RSaIT0_E.exitthread-pre-split.i.i.i.i.i: ; preds = %_ZSt8_DestroyIN8WasmEdge4Host4WASI6Poller5TimerEEvPT_.exit.i.i.i.i.i.i.i.i %.pr.i.i.i.i.i = load ptr, ptr %5, align 8 @@ -6722,7 +6722,7 @@ _ZNSt10_HashtableI16__wasi_clockid_tSt4pairIKS0_St6vectorIN8WasmEdge4Host4WASI6P 29: ; preds = %21, %24, %26 %.1 = phi i64 [ %.02530, %26 ], [ %18, %24 ], [ %18, %21 ] %.not = icmp eq ptr %14, null - br i1 %.not, label %._crit_edge, label %.lr.ph, !llvm.loop !37 + br i1 %.not, label %._crit_edge, label %.lr.ph, !llvm.loop !38 ._crit_edge: ; preds = %29, %_ZNSt10_HashtableI16__wasi_clockid_tSt4pairIKS0_St6vectorIN8WasmEdge4Host4WASI6Poller5TimerESaIS8_EEESaISB_ENSt8__detail10_Select1stESt8equal_toIS0_ESt4hashIS0_ENSD_18_Mod_range_hashingENSD_20_Default_ranged_hashENSD_20_Prime_rehash_policyENSD_17_Hashtable_traitsILb0ELb0ELb1EEEE19_M_allocate_bucketsEm.exit %30 = load ptr, ptr %0, align 8 @@ -6794,26 +6794,26 @@ _ZNKSt6vectorIN8WasmEdge4Host4WASI6Poller5TimerESaIS4_EE12_M_check_lenEmPKc.exit .lr.ph.i.i.i: ; preds = %_ZNKSt6vectorIN8WasmEdge4Host4WASI6Poller5TimerESaIS4_EE12_M_check_lenEmPKc.exit, %.lr.ph.i.i.i %.012.i.i.i = phi ptr [ %46, %.lr.ph.i.i.i ], [ %20, %_ZNKSt6vectorIN8WasmEdge4Host4WASI6Poller5TimerESaIS4_EE12_M_check_lenEmPKc.exit ] %.0911.i.i.i = phi ptr [ %45, %.lr.ph.i.i.i ], [ %6, %_ZNKSt6vectorIN8WasmEdge4Host4WASI6Poller5TimerESaIS4_EE12_M_check_lenEmPKc.exit ] - tail call void @llvm.experimental.noalias.scope.decl(metadata !38) - tail call void @llvm.experimental.noalias.scope.decl(metadata !41) - %32 = load i32, ptr %.0911.i.i.i, align 4, !alias.scope !41, !noalias !38 - store i32 -1, ptr %.0911.i.i.i, align 4, !alias.scope !41, !noalias !38 - store i32 %32, ptr %.012.i.i.i, align 4, !alias.scope !38, !noalias !41 + tail call void @llvm.experimental.noalias.scope.decl(metadata !39) + tail call void @llvm.experimental.noalias.scope.decl(metadata !42) + %32 = load i32, ptr %.0911.i.i.i, align 4, !alias.scope !42, !noalias !39 + store i32 -1, ptr %.0911.i.i.i, align 4, !alias.scope !42, !noalias !39 + store i32 %32, ptr %.012.i.i.i, align 4, !alias.scope !39, !noalias !42 %33 = getelementptr inbounds nuw i8, ptr %.012.i.i.i, i64 4 %34 = getelementptr inbounds nuw i8, ptr %.0911.i.i.i, i64 4 - %35 = load i8, ptr %34, align 4, !alias.scope !41, !noalias !38 - %36 = load i8, ptr %33, align 4, !alias.scope !38, !noalias !41 + %35 = load i8, ptr %34, align 4, !alias.scope !42, !noalias !39 + %36 = load i8, ptr %33, align 4, !alias.scope !39, !noalias !42 %37 = and i8 %36, -4 %38 = and i8 %35, 3 %39 = or disjoint i8 %37, %38 - store i8 %39, ptr %33, align 4, !alias.scope !38, !noalias !41 + store i8 %39, ptr %33, align 4, !alias.scope !39, !noalias !42 %40 = and i8 %35, -4 %41 = or disjoint i8 %40, 1 - store i8 %41, ptr %34, align 4, !alias.scope !41, !noalias !38 + store i8 %41, ptr %34, align 4, !alias.scope !42, !noalias !39 %42 = getelementptr inbounds nuw i8, ptr %.012.i.i.i, i64 8 %43 = getelementptr inbounds nuw i8, ptr %.0911.i.i.i, i64 8 - %44 = load i32, ptr %43, align 4, !alias.scope !41, !noalias !38 - store i32 %44, ptr %42, align 4, !alias.scope !38, !noalias !41 + %44 = load i32, ptr %43, align 4, !alias.scope !42, !noalias !39 + store i32 %44, ptr %42, align 4, !alias.scope !39, !noalias !42 %45 = getelementptr inbounds nuw i8, ptr %.0911.i.i.i, i64 12 %46 = getelementptr inbounds nuw i8, ptr %.012.i.i.i, i64 12 %.not.i.i.i = icmp eq ptr %45, %1 @@ -6828,26 +6828,26 @@ _ZNSt6vectorIN8WasmEdge4Host4WASI6Poller5TimerESaIS4_EE11_S_relocateEPS4_S7_S7_R .lr.ph.i.i.i17: ; preds = %_ZNSt6vectorIN8WasmEdge4Host4WASI6Poller5TimerESaIS4_EE11_S_relocateEPS4_S7_S7_RS5_.exit, %.lr.ph.i.i.i17 %.012.i.i.i18 = phi ptr [ %62, %.lr.ph.i.i.i17 ], [ %47, %_ZNSt6vectorIN8WasmEdge4Host4WASI6Poller5TimerESaIS4_EE11_S_relocateEPS4_S7_S7_RS5_.exit ] %.0911.i.i.i19 = phi ptr [ %61, %.lr.ph.i.i.i17 ], [ %1, %_ZNSt6vectorIN8WasmEdge4Host4WASI6Poller5TimerESaIS4_EE11_S_relocateEPS4_S7_S7_RS5_.exit ] - tail call void @llvm.experimental.noalias.scope.decl(metadata !43) - tail call void @llvm.experimental.noalias.scope.decl(metadata !46) - %48 = load i32, ptr %.0911.i.i.i19, align 4, !alias.scope !46, !noalias !43 - store i32 -1, ptr %.0911.i.i.i19, align 4, !alias.scope !46, !noalias !43 - store i32 %48, ptr %.012.i.i.i18, align 4, !alias.scope !43, !noalias !46 + tail call void @llvm.experimental.noalias.scope.decl(metadata !44) + tail call void @llvm.experimental.noalias.scope.decl(metadata !47) + %48 = load i32, ptr %.0911.i.i.i19, align 4, !alias.scope !47, !noalias !44 + store i32 -1, ptr %.0911.i.i.i19, align 4, !alias.scope !47, !noalias !44 + store i32 %48, ptr %.012.i.i.i18, align 4, !alias.scope !44, !noalias !47 %49 = getelementptr inbounds nuw i8, ptr %.012.i.i.i18, i64 4 %50 = getelementptr inbounds nuw i8, ptr %.0911.i.i.i19, i64 4 - %51 = load i8, ptr %50, align 4, !alias.scope !46, !noalias !43 - %52 = load i8, ptr %49, align 4, !alias.scope !43, !noalias !46 + %51 = load i8, ptr %50, align 4, !alias.scope !47, !noalias !44 + %52 = load i8, ptr %49, align 4, !alias.scope !44, !noalias !47 %53 = and i8 %52, -4 %54 = and i8 %51, 3 %55 = or disjoint i8 %53, %54 - store i8 %55, ptr %49, align 4, !alias.scope !43, !noalias !46 + store i8 %55, ptr %49, align 4, !alias.scope !44, !noalias !47 %56 = and i8 %51, -4 %57 = or disjoint i8 %56, 1 - store i8 %57, ptr %50, align 4, !alias.scope !46, !noalias !43 + store i8 %57, ptr %50, align 4, !alias.scope !47, !noalias !44 %58 = getelementptr inbounds nuw i8, ptr %.012.i.i.i18, i64 8 %59 = getelementptr inbounds nuw i8, ptr %.0911.i.i.i19, i64 8 - %60 = load i32, ptr %59, align 4, !alias.scope !46, !noalias !43 - store i32 %60, ptr %58, align 4, !alias.scope !43, !noalias !46 + %60 = load i32, ptr %59, align 4, !alias.scope !47, !noalias !44 + store i32 %60, ptr %58, align 4, !alias.scope !44, !noalias !47 %61 = getelementptr inbounds nuw i8, ptr %.0911.i.i.i19, i64 12 %62 = getelementptr inbounds nuw i8, ptr %.012.i.i.i18, i64 12 %.not.i.i.i20 = icmp eq ptr %61, %5 @@ -7053,7 +7053,7 @@ _ZNSt10_HashtableIiSt4pairIKiN8WasmEdge4Host4WASI6Poller6FdDataEESaIS7_ENSt8__de 29: ; preds = %21, %24, %26 %.1 = phi i64 [ %.02530, %26 ], [ %18, %24 ], [ %18, %21 ] %.not = icmp eq ptr %14, null - br i1 %.not, label %._crit_edge, label %.lr.ph, !llvm.loop !48 + br i1 %.not, label %._crit_edge, label %.lr.ph, !llvm.loop !49 ._crit_edge: ; preds = %29, %_ZNSt10_HashtableIiSt4pairIKiN8WasmEdge4Host4WASI6Poller6FdDataEESaIS7_ENSt8__detail10_Select1stESt8equal_toIiESt4hashIiENS9_18_Mod_range_hashingENS9_20_Default_ranged_hashENS9_20_Prime_rehash_policyENS9_17_Hashtable_traitsILb0ELb0ELb1EEEE19_M_allocate_bucketsEm.exit %30 = load ptr, ptr %0, align 8 @@ -7099,13 +7099,13 @@ define linkonce_odr noundef i64 @_ZNSt10_HashtableIiSt4pairIKiN8WasmEdge4Host4WA %13 = getelementptr inbounds nuw i8, ptr %16, i64 8 %14 = load i32, ptr %13, align 4 %15 = icmp eq i32 %8, %14 - br i1 %15, label %_ZNSt10_HashtableIiSt4pairIKiN8WasmEdge4Host4WASI6Poller6FdDataEESaIS7_ENSt8__detail10_Select1stESt8equal_toIiESt4hashIiENS9_18_Mod_range_hashingENS9_20_Default_ranged_hashENS9_20_Prime_rehash_policyENS9_17_Hashtable_traitsILb0ELb0ELb1EEEE19_M_find_before_nodeERS1_.exit, label %.lr.ph, !llvm.loop !49 + br i1 %15, label %_ZNSt10_HashtableIiSt4pairIKiN8WasmEdge4Host4WASI6Poller6FdDataEESaIS7_ENSt8__detail10_Select1stESt8equal_toIiESt4hashIiENS9_18_Mod_range_hashingENS9_20_Default_ranged_hashENS9_20_Prime_rehash_policyENS9_17_Hashtable_traitsILb0ELb0ELb1EEEE19_M_find_before_nodeERS1_.exit, label %.lr.ph, !llvm.loop !50 .lr.ph: ; preds = %.preheader.i, %12 %.015.i32 = phi ptr [ %16, %12 ], [ %7, %.preheader.i ] %16 = load ptr, ptr %.015.i32, align 8 %.not13.i = icmp eq ptr %16, null - br i1 %.not13.i, label %_ZNSt10_HashtableIiSt4pairIKiN8WasmEdge4Host4WASI6Poller6FdDataEESaIS7_ENSt8__detail10_Select1stESt8equal_toIiESt4hashIiENS9_18_Mod_range_hashingENS9_20_Default_ranged_hashENS9_20_Prime_rehash_policyENS9_17_Hashtable_traitsILb0ELb0ELb1EEEE19_M_find_before_nodeERS1_.exit.thread, label %12, !llvm.loop !49 + br i1 %.not13.i, label %_ZNSt10_HashtableIiSt4pairIKiN8WasmEdge4Host4WASI6Poller6FdDataEESaIS7_ENSt8__detail10_Select1stESt8equal_toIiESt4hashIiENS9_18_Mod_range_hashingENS9_20_Default_ranged_hashENS9_20_Prime_rehash_policyENS9_17_Hashtable_traitsILb0ELb0ELb1EEEE19_M_find_before_nodeERS1_.exit.thread, label %12, !llvm.loop !50 _ZNSt10_HashtableIiSt4pairIKiN8WasmEdge4Host4WASI6Poller6FdDataEESaIS7_ENSt8__detail10_Select1stESt8equal_toIiESt4hashIiENS9_18_Mod_range_hashingENS9_20_Default_ranged_hashENS9_20_Prime_rehash_policyENS9_17_Hashtable_traitsILb0ELb0ELb1EEEE19_M_find_before_nodeERS1_.exit: ; preds = %12, %.preheader.i %17 = phi ptr [ %7, %.preheader.i ], [ %16, %12 ] @@ -7295,7 +7295,7 @@ define linkonce_odr void @_ZNSt6vectorI11epoll_eventSaIS0_EE17_M_default_appendE tail call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(12) %.06.i.i.i.i.i.i.i, ptr noundef nonnull align 1 dereferenceable(12) %5, i64 12, i1 false) %24 = getelementptr inbounds nuw i8, ptr %.06.i.i.i.i.i.i.i, i64 12 %.not.i.i.i.i.i.i.i = icmp eq ptr %24, %23 - br i1 %.not.i.i.i.i.i.i.i, label %_ZSt27__uninitialized_default_n_aIP11epoll_eventmS0_ET_S2_T0_RSaIT1_E.exit, label %.lr.ph.i.i.i.i.i.i.i, !llvm.loop !50 + br i1 %.not.i.i.i.i.i.i.i, label %_ZSt27__uninitialized_default_n_aIP11epoll_eventmS0_ET_S2_T0_RSaIT1_E.exit, label %.lr.ph.i.i.i.i.i.i.i, !llvm.loop !51 _ZSt27__uninitialized_default_n_aIP11epoll_eventmS0_ET_S2_T0_RSaIT1_E.exit: ; preds = %.lr.ph.i.i.i.i.i.i.i, %19 %.0.i.i.i = phi ptr [ %20, %19 ], [ %23, %.lr.ph.i.i.i.i.i.i.i ] @@ -7331,7 +7331,7 @@ _ZNKSt6vectorI11epoll_eventSaIS0_EE12_M_check_lenEmPKc.exit: ; preds = %25 tail call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(12) %.06.i.i.i.i.i.i.i31, ptr noundef nonnull align 1 dereferenceable(12) %32, i64 12, i1 false) %37 = getelementptr inbounds nuw i8, ptr %.06.i.i.i.i.i.i.i31, i64 12 %.not.i.i.i.i.i.i.i32 = icmp eq ptr %37, %36 - br i1 %.not.i.i.i.i.i.i.i32, label %_ZSt27__uninitialized_default_n_aIP11epoll_eventmS0_ET_S2_T0_RSaIT1_E.exit34, label %.lr.ph.i.i.i.i.i.i.i30, !llvm.loop !50 + br i1 %.not.i.i.i.i.i.i.i32, label %_ZSt27__uninitialized_default_n_aIP11epoll_eventmS0_ET_S2_T0_RSaIT1_E.exit34, label %.lr.ph.i.i.i.i.i.i.i30, !llvm.loop !51 _ZSt27__uninitialized_default_n_aIP11epoll_eventmS0_ET_S2_T0_RSaIT1_E.exit34: ; preds = %.lr.ph.i.i.i.i.i.i.i30, %_ZNKSt6vectorI11epoll_eventSaIS0_EE12_M_check_lenEmPKc.exit %38 = icmp sgt i64 %9, 0 @@ -7451,20 +7451,21 @@ attributes #30 = { nounwind willreturn memory(read) } !31 = distinct !{!31, !5} !32 = distinct !{!32, !5} !33 = distinct !{!33, !5} -!34 = distinct !{!34, !5} +!34 = !{} !35 = distinct !{!35, !5} !36 = distinct !{!36, !5} !37 = distinct !{!37, !5} -!38 = !{!39} -!39 = distinct !{!39, !40, !"_ZSt19__relocate_object_aIN8WasmEdge4Host4WASI6Poller5TimerES4_SaIS4_EEvPT_PT0_RT1_: argument 0"} -!40 = distinct !{!40, !"_ZSt19__relocate_object_aIN8WasmEdge4Host4WASI6Poller5TimerES4_SaIS4_EEvPT_PT0_RT1_"} -!41 = !{!42} -!42 = distinct !{!42, !40, !"_ZSt19__relocate_object_aIN8WasmEdge4Host4WASI6Poller5TimerES4_SaIS4_EEvPT_PT0_RT1_: argument 1"} -!43 = !{!44} -!44 = distinct !{!44, !45, !"_ZSt19__relocate_object_aIN8WasmEdge4Host4WASI6Poller5TimerES4_SaIS4_EEvPT_PT0_RT1_: argument 0"} -!45 = distinct !{!45, !"_ZSt19__relocate_object_aIN8WasmEdge4Host4WASI6Poller5TimerES4_SaIS4_EEvPT_PT0_RT1_"} -!46 = !{!47} -!47 = distinct !{!47, !45, !"_ZSt19__relocate_object_aIN8WasmEdge4Host4WASI6Poller5TimerES4_SaIS4_EEvPT_PT0_RT1_: argument 1"} -!48 = distinct !{!48, !5} +!38 = distinct !{!38, !5} +!39 = !{!40} +!40 = distinct !{!40, !41, !"_ZSt19__relocate_object_aIN8WasmEdge4Host4WASI6Poller5TimerES4_SaIS4_EEvPT_PT0_RT1_: argument 0"} +!41 = distinct !{!41, !"_ZSt19__relocate_object_aIN8WasmEdge4Host4WASI6Poller5TimerES4_SaIS4_EEvPT_PT0_RT1_"} +!42 = !{!43} +!43 = distinct !{!43, !41, !"_ZSt19__relocate_object_aIN8WasmEdge4Host4WASI6Poller5TimerES4_SaIS4_EEvPT_PT0_RT1_: argument 1"} +!44 = !{!45} +!45 = distinct !{!45, !46, !"_ZSt19__relocate_object_aIN8WasmEdge4Host4WASI6Poller5TimerES4_SaIS4_EEvPT_PT0_RT1_: argument 0"} +!46 = distinct !{!46, !"_ZSt19__relocate_object_aIN8WasmEdge4Host4WASI6Poller5TimerES4_SaIS4_EEvPT_PT0_RT1_"} +!47 = !{!48} +!48 = distinct !{!48, !46, !"_ZSt19__relocate_object_aIN8WasmEdge4Host4WASI6Poller5TimerES4_SaIS4_EEvPT_PT0_RT1_: argument 1"} !49 = distinct !{!49, !5} !50 = distinct !{!50, !5} +!51 = distinct !{!51, !5} diff --git a/bench/wasmtime-rs/optimized/322yw2dra6hhv794.ll b/bench/wasmtime-rs/optimized/322yw2dra6hhv794.ll index 7078efa658b..8293e82445c 100644 --- a/bench/wasmtime-rs/optimized/322yw2dra6hhv794.ll +++ b/bench/wasmtime-rs/optimized/322yw2dra6hhv794.ll @@ -38,7 +38,7 @@ define void @_ZN4core4iter6traits8iterator8Iterator4fold17h48fa2ec28aba1a87E(ptr "_ZN96_$LT$alloc..vec..drain..Drain$LT$T$C$A$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h9a48f454f634e324E.exit": ; preds = %.noexc call void @llvm.memmove.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %4, ptr noundef nonnull align 8 dereferenceable(32) %6, i64 32, i1 false) - %.pr = load i64, ptr %4, align 8 + %.pr = load i64, ptr %4, align 8, !range !3 %.not = icmp eq i64 %.pr, -9223372036854775807 br i1 %.not, label %.loopexit4, label %9 @@ -118,7 +118,7 @@ define void @_ZN4core4iter6traits8iterator8Iterator8for_each17h327144897aace8c7E "_ZN96_$LT$alloc..vec..drain..Drain$LT$T$C$A$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h9a48f454f634e324E.exit.i": ; preds = %.noexc.i call void @llvm.memmove.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %4, ptr noundef nonnull align 8 dereferenceable(32) %7, i64 32, i1 false) - %.pr.i = load i64, ptr %4, align 8 + %.pr.i = load i64, ptr %4, align 8, !range !3 %.not.i = icmp eq i64 %.pr.i, -9223372036854775807 br i1 %.not.i, label %.loopexit4.i, label %10 @@ -236,3 +236,4 @@ attributes #7 = { cold noreturn nounwind } !0 = !{i32 8, !"PIC Level", i32 2} !1 = !{i32 2, !"RtLibUseGOT", i32 1} !2 = !{!"rustc version 1.77.2 (25ef9e3d8 2024-04-09)"} +!3 = !{i64 0, i64 -9223372036854775806} diff --git a/bench/wireshark/optimized/rtp_player_dialog.ll b/bench/wireshark/optimized/rtp_player_dialog.ll index d99c290fbe5..ed0bb538ba1 100644 --- a/bench/wireshark/optimized/rtp_player_dialog.ll +++ b/bench/wireshark/optimized/rtp_player_dialog.ll @@ -2577,11 +2577,11 @@ _ZN9QtPrivate17QForeachContainerI5QListI12QAudioDeviceEED2Ev.exit: ; preds = %._ to label %._crit_edge616 unwind label %765 ._crit_edge616: ; preds = %758 - %.pre617 = load ptr, ptr %88, align 8, !noalias !60 + %.pre617 = load ptr, ptr %88, align 8 %.phi.trans.insert = getelementptr inbounds nuw i8, ptr %88, i64 8 - %.pre618 = load ptr, ptr %.phi.trans.insert, align 8, !noalias !60 + %.pre618 = load ptr, ptr %.phi.trans.insert, align 8 %.phi.trans.insert619 = getelementptr inbounds nuw i8, ptr %88, i64 16 - %.pre620 = load i64, ptr %.phi.trans.insert619, align 8, !noalias !60 + %.pre620 = load i64, ptr %.phi.trans.insert619, align 8 br label %_ZN5QListI7QStringED2Ev.exit 763: ; preds = %755 @@ -3264,7 +3264,7 @@ _ZN7QStringD2Ev.exit433: ; preds = %951, %_ZN17QArrayDa %.1.in.i.i.i.i = getelementptr inbounds nuw i8, ptr %.012.i.i.i.i, i64 %.1.in.v.i.i.i.i %.1.i.i.i.i = load ptr, ptr %.1.in.i.i.i.i, align 8 %.not.i.i.i.i435 = icmp eq ptr %.1.i.i.i.i, null - br i1 %.not.i.i.i.i435, label %_ZNKSt8_Rb_treeI7QStringSt4pairIKS0_bESt10_Select1stIS3_ESt4lessIS0_ESaIS3_EE14_M_lower_boundEPKSt13_Rb_tree_nodeIS3_EPKSt18_Rb_tree_node_baseRS2_.exit.i.i.i, label %967, !llvm.loop !63 + br i1 %.not.i.i.i.i435, label %_ZNKSt8_Rb_treeI7QStringSt4pairIKS0_bESt10_Select1stIS3_ESt4lessIS0_ESaIS3_EE14_M_lower_boundEPKSt13_Rb_tree_nodeIS3_EPKSt18_Rb_tree_node_baseRS2_.exit.i.i.i, label %967, !llvm.loop !60 _ZNKSt8_Rb_treeI7QStringSt4pairIKS0_bESt10_Select1stIS3_ESt4lessIS0_ESaIS3_EE14_M_lower_boundEPKSt13_Rb_tree_nodeIS3_EPKSt18_Rb_tree_node_baseRS2_.exit.i.i.i: ; preds = %967 %974 = icmp eq ptr %.19.i.i.i.i, %964 @@ -3391,9 +3391,9 @@ _ZNSt3mapI7QStringbSt4lessIS0_ESaISt4pairIKS0_bEEE11lower_boundERS4_.exit.i553: .critedge.i558: ; preds = %1015, %_ZNSt3mapI7QStringbSt4lessIS0_ESaISt4pairIKS0_bEEE11lower_boundERS4_.exit.i553, %_ZN4QMapI7QStringbE6detachEv.exit.i441 %.08.lcssa.i.i.i16.i559 = phi ptr [ %.19.i.i.i.i548, %1015 ], [ %.19.i.i.i.i548, %_ZNSt3mapI7QStringbSt4lessIS0_ESaISt4pairIKS0_bEEE11lower_boundERS4_.exit.i553 ], [ %1004, %_ZN4QMapI7QStringbE6detachEv.exit.i441 ] call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %5) #26 - store ptr %85, ptr %5, align 8, !alias.scope !64 + store ptr %85, ptr %5, align 8, !alias.scope !61 call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %6) #26 - store ptr %86, ptr %6, align 8, !alias.scope !67 + store ptr %86, ptr %6, align 8, !alias.scope !64 %1022 = invoke ptr @_ZNSt8_Rb_treeI7QStringSt4pairIKS0_bESt10_Select1stIS3_ESt4lessIS0_ESaIS3_EE22_M_emplace_hint_uniqueIJRKSt21piecewise_construct_tSt5tupleIJRS2_EESE_IJRKbEEEEESt17_Rb_tree_iteratorIS3_ESt23_Rb_tree_const_iteratorIS3_EDpOT_(ptr noundef nonnull align 8 dereferenceable_or_null(48) %1001, ptr %.08.lcssa.i.i.i16.i559, ptr noundef nonnull align 1 dereferenceable(1) @_ZSt19piecewise_construct, ptr noundef nonnull align 8 dereferenceable(8) %5, ptr noundef nonnull align 8 dereferenceable(8) %6) to label %.noexc560 unwind label %1037 @@ -3475,7 +3475,7 @@ _ZN7QStringD2Ev.exit459: ; preds = %1041, %_ZN17QArrayD store ptr %1045, ptr %734, align 8 %.sroa.05.0.copyload = load ptr, ptr %735, align 8 %.not = icmp eq ptr %1045, %.sroa.05.0.copyload - br i1 %.not, label %._crit_edge.loopexit, label %956, !llvm.loop !70 + br i1 %.not, label %._crit_edge.loopexit, label %956, !llvm.loop !67 1046: ; preds = %_ZN7QStringD2Ev.exit459, %1033 %.pn171.pn = phi { ptr, i32 } [ %.pn171, %_ZN7QStringD2Ev.exit459 ], [ %1034, %1033 ] @@ -3497,19 +3497,18 @@ _ZN5QListI7QStringED2Ev.exit: ; preds = %_ZN9QtPrivate17QFor %1049 = phi i64 [ %.pre620, %._crit_edge616 ], [ 0, %_ZN9QtPrivate17QForeachContainerI5QListI12QAudioDeviceEED2Ev.exit ] %1050 = phi ptr [ %.pre618, %._crit_edge616 ], [ null, %_ZN9QtPrivate17QForeachContainerI5QListI12QAudioDeviceEED2Ev.exit ] %1051 = phi ptr [ %.pre617, %._crit_edge616 ], [ null, %_ZN9QtPrivate17QForeachContainerI5QListI12QAudioDeviceEED2Ev.exit ] - call void @llvm.experimental.noalias.scope.decl(metadata !60) - store ptr %1051, ptr %87, align 8, !alias.scope !60 + store ptr %1051, ptr %87, align 8, !alias.scope !68 %1052 = getelementptr inbounds nuw i8, ptr %87, i64 8 - store ptr %1050, ptr %1052, align 8, !alias.scope !60 + store ptr %1050, ptr %1052, align 8, !alias.scope !68 %1053 = getelementptr inbounds nuw i8, ptr %87, i64 16 - store i64 %1049, ptr %1053, align 8, !alias.scope !60 + store i64 %1049, ptr %1053, align 8, !alias.scope !68 %1054 = getelementptr inbounds nuw i8, ptr %87, i64 24 - store ptr %1050, ptr %1054, align 8, !alias.scope !60 + store ptr %1050, ptr %1054, align 8, !alias.scope !68 %1055 = getelementptr inbounds nuw i8, ptr %87, i64 32 %1056 = getelementptr %class.QString, ptr %1050, i64 %1049 - store ptr %1056, ptr %1055, align 8, !alias.scope !60 + store ptr %1056, ptr %1055, align 8, !alias.scope !68 %1057 = getelementptr inbounds nuw i8, ptr %87, i64 40 - store i32 1, ptr %1057, align 8, !alias.scope !60 + store i32 1, ptr %1057, align 8, !alias.scope !68 call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %88) #26 %.idx = mul i64 %1049, 24 %.not608613 = icmp eq i64 %.idx, 0 @@ -3655,7 +3654,7 @@ _ZN7QStringC2ERKS_.exit: ; preds = %1077, %1084 %.1.in.i.i.i.i484 = getelementptr inbounds nuw i8, ptr %.012.i.i.i.i480, i64 %.1.in.v.i.i.i.i483 %.1.i.i.i.i485 = load ptr, ptr %.1.in.i.i.i.i484, align 8 %.not.i.i.i.i486 = icmp eq ptr %.1.i.i.i.i485, null - br i1 %.not.i.i.i.i486, label %_ZNKSt8_Rb_treeI7QStringSt4pairIKS0_bESt10_Select1stIS3_ESt4lessIS0_ESaIS3_EE14_M_lower_boundEPKSt13_Rb_tree_nodeIS3_EPKSt18_Rb_tree_node_baseRS2_.exit.i.i.i487, label %1100, !llvm.loop !63 + br i1 %.not.i.i.i.i486, label %_ZNKSt8_Rb_treeI7QStringSt4pairIKS0_bESt10_Select1stIS3_ESt4lessIS0_ESaIS3_EE14_M_lower_boundEPKSt13_Rb_tree_nodeIS3_EPKSt18_Rb_tree_node_baseRS2_.exit.i.i.i487, label %1100, !llvm.loop !60 _ZNKSt8_Rb_treeI7QStringSt4pairIKS0_bESt10_Select1stIS3_ESt4lessIS0_ESaIS3_EE14_M_lower_boundEPKSt13_Rb_tree_nodeIS3_EPKSt18_Rb_tree_node_baseRS2_.exit.i.i.i487: ; preds = %1100 %1107 = icmp eq ptr %.19.i.i.i.i482, %1097 @@ -31801,7 +31800,7 @@ _ZNK17QArrayDataPointerIP14RtpAudioStreamE11needsDetachEv.exit.thread.i.i.i.i: ; to label %77 unwind label %96 77: ; preds = %_ZNK17QArrayDataPointerIP14RtpAudioStreamE11needsDetachEv.exit.thread.i.i.i.i - %.pre = load ptr, ptr %6, align 8, !noalias !186 + %.pre = load ptr, ptr %6, align 8 %78 = load ptr, ptr %36, align 8 %79 = load ptr, ptr %78, align 8 %80 = getelementptr inbounds nuw i8, ptr %79, i64 7488 @@ -50288,17 +50287,17 @@ attributes #33 = { cold noreturn } !57 = distinct !{!57, !58, !"_ZNK8QMapDataISt3mapI7QStringbSt4lessIS1_ESaISt4pairIKS1_bEEEE4keysEv: argument 0"} !58 = distinct !{!58, !"_ZNK8QMapDataISt3mapI7QStringbSt4lessIS1_ESaISt4pairIKS1_bEEEE4keysEv"} !59 = !{!57, !54} -!60 = !{!61} -!61 = distinct !{!61, !62, !"_ZN9QtPrivate21qMakeForeachContainerI5QListI7QStringEEENS_17QForeachContainerINSt5decayIT_E4typeEEEOS6_: argument 0"} -!62 = distinct !{!62, !"_ZN9QtPrivate21qMakeForeachContainerI5QListI7QStringEEENS_17QForeachContainerINSt5decayIT_E4typeEEEOS6_"} -!63 = distinct !{!63, !40} +!60 = distinct !{!60, !40} +!61 = !{!62} +!62 = distinct !{!62, !63, !"_ZSt16forward_as_tupleIJRK7QStringEESt5tupleIJDpOT_EES6_: argument 0"} +!63 = distinct !{!63, !"_ZSt16forward_as_tupleIJRK7QStringEESt5tupleIJDpOT_EES6_"} !64 = !{!65} -!65 = distinct !{!65, !66, !"_ZSt16forward_as_tupleIJRK7QStringEESt5tupleIJDpOT_EES6_: argument 0"} -!66 = distinct !{!66, !"_ZSt16forward_as_tupleIJRK7QStringEESt5tupleIJDpOT_EES6_"} -!67 = !{!68} -!68 = distinct !{!68, !69, !"_ZSt16forward_as_tupleIJRKbEESt5tupleIJDpOT_EES5_: argument 0"} -!69 = distinct !{!69, !"_ZSt16forward_as_tupleIJRKbEESt5tupleIJDpOT_EES5_"} -!70 = distinct !{!70, !40} +!65 = distinct !{!65, !66, !"_ZSt16forward_as_tupleIJRKbEESt5tupleIJDpOT_EES5_: argument 0"} +!66 = distinct !{!66, !"_ZSt16forward_as_tupleIJRKbEESt5tupleIJDpOT_EES5_"} +!67 = distinct !{!67, !40} +!68 = !{!69} +!69 = distinct !{!69, !70, !"_ZN9QtPrivate21qMakeForeachContainerI5QListI7QStringEEENS_17QForeachContainerINSt5decayIT_E4typeEEEOS6_: argument 0"} +!70 = distinct !{!70, !"_ZN9QtPrivate21qMakeForeachContainerI5QListI7QStringEEENS_17QForeachContainerINSt5decayIT_E4typeEEEOS6_"} !71 = distinct !{!71, !40} !72 = distinct !{!72, !40} !73 = !{!74} diff --git a/bench/yaml-cpp/optimized/memory.ll b/bench/yaml-cpp/optimized/memory.ll index bc1d63e057f..9ba0b2951b2 100644 --- a/bench/yaml-cpp/optimized/memory.ll +++ b/bench/yaml-cpp/optimized/memory.ll @@ -135,15 +135,18 @@ define void @_ZN4YAML6detail13memory_holder5mergeERS1_(ptr noundef nonnull reado %20 = load i32, ptr %17, align 4, !tbaa !19 %21 = add nsw i32 %20, 1 store i32 %21, ptr %17, align 4, !tbaa !19 - br label %_ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE15_M_add_ref_copyEv.exit.i.i.i + br label %_ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE15_M_add_ref_copyEv.exitthread-pre-split.i.i.i 22: ; preds = %16 %23 = atomicrmw volatile add ptr %17, i32 1 acq_rel, align 4 - %.pr.pre.i.i.i = load ptr, ptr %11, align 8, !tbaa !17 + br label %_ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE15_M_add_ref_copyEv.exitthread-pre-split.i.i.i + +_ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE15_M_add_ref_copyEv.exitthread-pre-split.i.i.i: ; preds = %22, %19 + %.pr.i.i.i = load ptr, ptr %11, align 8 br label %_ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE15_M_add_ref_copyEv.exit.i.i.i -_ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE15_M_add_ref_copyEv.exit.i.i.i: ; preds = %22, %19, %15 - %24 = phi ptr [ %14, %15 ], [ %14, %19 ], [ %.pr.pre.i.i.i, %22 ] +_ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE15_M_add_ref_copyEv.exit.i.i.i: ; preds = %_ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE15_M_add_ref_copyEv.exitthread-pre-split.i.i.i, %15 + %24 = phi ptr [ %.pr.i.i.i, %_ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE15_M_add_ref_copyEv.exitthread-pre-split.i.i.i ], [ %14, %15 ] %.not8.i.i.i = icmp eq ptr %24, null br i1 %.not8.i.i.i, label %_ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE10_M_releaseEv.exit.i.i.i, label %25 @@ -1102,7 +1105,7 @@ define linkonce_odr { ptr, i8 } @_ZNSt8_Rb_treeISt10shared_ptrIN4YAML6detail4nod %4 = getelementptr inbounds nuw i8, ptr %0, i64 8 %.02022.i = load ptr, ptr %3, align 8, !tbaa !64 %.not23.i = icmp eq ptr %.02022.i, null - %.pre.i.pre.pre = load ptr, ptr %1, align 8, !tbaa !27 + %.pre.i.pre.pre = load ptr, ptr %1, align 8 br i1 %.not23.i, label %._crit_edge.thread.i, label %.lr.ph.i .lr.ph.i: ; preds = %2, %.lr.ph.i @@ -1129,7 +1132,7 @@ define linkonce_odr { ptr, i8 } @_ZNSt8_Rb_treeISt10shared_ptrIN4YAML6detail4nod 11: ; preds = %._crit_edge.thread.i %12 = tail call noundef ptr @_ZSt18_Rb_tree_decrementPSt18_Rb_tree_node_base(ptr noundef nonnull %.019.lcssa28.i) #19 %.phi.trans.insert = getelementptr inbounds nuw i8, ptr %12, i64 32 - %.pre = load ptr, ptr %.phi.trans.insert, align 8, !tbaa !27 + %.pre = load ptr, ptr %.phi.trans.insert, align 8 br label %13 13: ; preds = %11, %._crit_edge.i @@ -1223,7 +1226,7 @@ define linkonce_odr void @_ZNSt8_Rb_treeISt10shared_ptrIN4YAML6detail4nodeEES4_S %.not.i.i = icmp ne ptr %11, null %12 = icmp eq ptr %9, %4 %or.cond.i.i = select i1 %.not.i.i, i1 true, i1 %12 - %.pre.i.i = load ptr, ptr %7, align 8, !tbaa !27 + %.pre.i.i = load ptr, ptr %7, align 8 br i1 %or.cond.i.i, label %17, label %13 13: ; preds = %10 @@ -1331,8 +1334,8 @@ define linkonce_odr { ptr, ptr } @_ZNSt8_Rb_treeISt10shared_ptrIN4YAML6detail4no 26: ; preds = %._crit_edge.thread.i %27 = tail call noundef ptr @_ZSt18_Rb_tree_decrementPSt18_Rb_tree_node_base(ptr noundef nonnull %.019.lcssa28.i) #19 %.phi.trans.insert80 = getelementptr inbounds nuw i8, ptr %27, i64 32 - %.pre81 = load ptr, ptr %.phi.trans.insert80, align 8, !tbaa !27 - %.pre82 = load ptr, ptr %2, align 8, !tbaa !27 + %.pre81 = load ptr, ptr %.phi.trans.insert80, align 8 + %.pre82 = load ptr, ptr %2, align 8 br label %28 28: ; preds = %26, %._crit_edge.i @@ -1401,7 +1404,7 @@ define linkonce_odr { ptr, ptr } @_ZNSt8_Rb_treeISt10shared_ptrIN4YAML6detail4no 56: ; preds = %._crit_edge.thread.i27 %57 = tail call noundef ptr @_ZSt18_Rb_tree_decrementPSt18_Rb_tree_node_base(ptr noundef nonnull %.019.lcssa28.i28) #19 %.phi.trans.insert78 = getelementptr inbounds nuw i8, ptr %57, i64 32 - %.pre79 = load ptr, ptr %.phi.trans.insert78, align 8, !tbaa !27 + %.pre79 = load ptr, ptr %.phi.trans.insert78, align 8 br label %58 58: ; preds = %56, %._crit_edge.i18 @@ -1468,7 +1471,7 @@ define linkonce_odr { ptr, ptr } @_ZNSt8_Rb_treeISt10shared_ptrIN4YAML6detail4no 84: ; preds = %._crit_edge.thread.i47 %85 = tail call noundef ptr @_ZSt18_Rb_tree_decrementPSt18_Rb_tree_node_base(ptr noundef nonnull %.019.lcssa28.i48) #19 %.phi.trans.insert = getelementptr inbounds nuw i8, ptr %85, i64 32 - %.pre = load ptr, ptr %.phi.trans.insert, align 8, !tbaa !27 + %.pre = load ptr, ptr %.phi.trans.insert, align 8 br label %86 86: ; preds = %84, %._crit_edge.i38 diff --git a/bench/yosys/optimized/sha1.ll b/bench/yosys/optimized/sha1.ll index 6b8f9fa324b..e9a299e4560 100644 --- a/bench/yosys/optimized/sha1.ll +++ b/bench/yosys/optimized/sha1.ll @@ -1487,7 +1487,7 @@ _ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE8capacityEv.exit.i.i: ; pr 22: ; preds = %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE8capacityEv.exit.i.i tail call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_mutateEmmPKcm(ptr noundef nonnull align 8 dereferenceable(32) %7, i64 noundef %9, i64 noundef 0, ptr noundef null, i64 noundef 1) - %.pre.i.i = load ptr, ptr %7, align 8, !tbaa !20 + %.pre.i.i = load ptr, ptr %7, align 8 br label %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLEc.exit _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLEc.exit: ; preds = %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE8capacityEv.exit.i.i, %22 @@ -1523,7 +1523,7 @@ _ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE8capacityEv.exit.i.i16: ; 38: ; preds = %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE8capacityEv.exit.i.i16 tail call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_mutateEmmPKcm(ptr noundef nonnull align 8 dereferenceable(32) %7, i64 noundef %30, i64 noundef 0, ptr noundef null, i64 noundef 1) - %.pre.i.i17 = load ptr, ptr %7, align 8, !tbaa !20 + %.pre.i.i17 = load ptr, ptr %7, align 8 br label %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLEc.exit18 _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLEc.exit18: ; preds = %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE8capacityEv.exit.i.i16, %38 @@ -1534,7 +1534,7 @@ _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLEc.exit18: ; preds = %_ZN %41 = load ptr, ptr %7, align 8, !tbaa !20 %42 = getelementptr inbounds nuw i8, ptr %41, i64 %31 store i8 0, ptr %42, align 1, !tbaa !15 - %.pr = load i64, ptr %8, align 8, !tbaa !12 + %.pr = load i64, ptr %8, align 8 %43 = icmp ult i64 %.pr, 64 br i1 %43, label %.lr.ph, label %._crit_edge, !llvm.loop !37 @@ -1657,15 +1657,11 @@ _ZSt13__check_facetISt5ctypeIcEERKT_PS3_.exit.i.i.i.i: ; preds = %88 %96 = getelementptr inbounds nuw i8, ptr %95, i64 48 %97 = load ptr, ptr %96, align 8 %98 = invoke noundef signext i8 %97(ptr noundef nonnull align 8 dereferenceable(570) %90, i8 noundef signext 32) - to label %.noexc19._ZNKSt9basic_iosIcSt11char_traitsIcEE5widenEc.exit.i.i.i_crit_edge unwind label %.loopexit + to label %_ZNKSt9basic_iosIcSt11char_traitsIcEE5widenEc.exit.i.i.i unwind label %.loopexit -.noexc19._ZNKSt9basic_iosIcSt11char_traitsIcEE5widenEc.exit.i.i.i_crit_edge: ; preds = %.noexc19 - %.pre.pre = load ptr, ptr %4, align 8, !tbaa !21 - br label %_ZNKSt9basic_iosIcSt11char_traitsIcEE5widenEc.exit.i.i.i - -_ZNKSt9basic_iosIcSt11char_traitsIcEE5widenEc.exit.i.i.i: ; preds = %.noexc19._ZNKSt9basic_iosIcSt11char_traitsIcEE5widenEc.exit.i.i.i_crit_edge, %_ZSt13__check_facetISt5ctypeIcEERKT_PS3_.exit.i.i.i.i - %.pre = phi ptr [ %.pre.pre, %.noexc19._ZNKSt9basic_iosIcSt11char_traitsIcEE5widenEc.exit.i.i.i_crit_edge ], [ %77, %_ZSt13__check_facetISt5ctypeIcEERKT_PS3_.exit.i.i.i.i ] +_ZNKSt9basic_iosIcSt11char_traitsIcEE5widenEc.exit.i.i.i: ; preds = %.noexc19, %_ZSt13__check_facetISt5ctypeIcEERKT_PS3_.exit.i.i.i.i store i8 1, ptr %85, align 1, !tbaa !40 + %.pre = load ptr, ptr %4, align 8 br label %99 99: ; preds = %76, %_ZNKSt9basic_iosIcSt11char_traitsIcEE5widenEc.exit.i.i.i diff --git a/bench/z3/optimized/smt_context_stat.ll b/bench/z3/optimized/smt_context_stat.ll index 3490d565ea7..037f52717a1 100644 --- a/bench/z3/optimized/smt_context_stat.ll +++ b/bench/z3/optimized/smt_context_stat.ll @@ -133,7 +133,7 @@ _ZNK6vectorIjLb0EjE4sizeEv.exit.i: ; preds = %2 br i1 %.not.not.i, label %_ZN6vectorIjLb0EjE6resizeIiEEvjT_z.exit, label %.preheader thread-pre-split.i: ; preds = %_ZNK6vectorIjLb0EjE8capacityEv.exit.thread.i - %.pr.pre.i = load ptr, ptr %3, align 8, !tbaa !17 + %.pr.pre.i = load ptr, ptr %3, align 8 br label %.preheader .preheader: ; preds = %_ZNK6vectorIjLb0EjE4sizeEv.exit.i, %thread-pre-split.i @@ -473,7 +473,7 @@ _ZNK6vectorIjLb0EjE4sizeEv.exit.i: ; preds = %2 br i1 %.not.not.i, label %_ZN6vectorIjLb0EjE6resizeIiEEvjT_z.exit, label %.preheader thread-pre-split.i: ; preds = %_ZNK6vectorIjLb0EjE8capacityEv.exit.thread.i - %.pr.pre.i = load ptr, ptr %5, align 8, !tbaa !17 + %.pr.pre.i = load ptr, ptr %5, align 8 br label %.preheader .preheader: ; preds = %_ZNK6vectorIjLb0EjE4sizeEv.exit.i, %thread-pre-split.i @@ -627,9 +627,8 @@ _ZN3smtL16acc_var_num_occsERK10ptr_vectorINS_6clauseEER7svectorIjjE.exit44: ; pr br i1 %65, label %_ZNK6vectorIjLb0EjE4sizeEv.exit.i49, label %_ZNK6vectorIjLb0EjE4sizeEv.exit.thread.i46 _ZNK6vectorIjLb0EjE4sizeEv.exit.i49: ; preds = %.lr.ph - %.not.i50 = icmp ne i32 %64, 0 - call void @llvm.assume(i1 %.not.i50) - br label %_ZNK6vectorIjLb0EjE4sizeEv.exit.i.i.preheader + %.not.i50 = icmp eq i32 %64, 0 + br i1 %.not.i50, label %_ZN6vectorIjLb0EjE7reserveEjRKj.exit, label %_ZNK6vectorIjLb0EjE4sizeEv.exit.i.i.preheader _ZNK6vectorIjLb0EjE4sizeEv.exit.thread.i46: ; preds = %.lr.ph %66 = getelementptr inbounds i8, ptr %60, i64 -4 @@ -717,7 +716,7 @@ _ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i.i %101 = load i64, ptr %94, align 8, !tbaa !528 store i64 %101, ptr %92, align 8, !tbaa !528 %.phi.trans.insert.i = getelementptr inbounds nuw i8, ptr %3, i64 8 - %.pre.i = load i64, ptr %.phi.trans.insert.i, align 8, !tbaa !527 + %.pre.i = load i64, ptr %.phi.trans.insert.i, align 8 br label %_ZN17default_exceptionC2EONSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE.exit.i _ZN17default_exceptionC2EONSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE.exit.i: ; preds = %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i.i, %96 @@ -795,8 +794,8 @@ _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit.thread.i: ; preds call void @llvm.memset.p0.i64(ptr align 4 %124, i8 0, i64 %129, i1 false), !tbaa !10 br label %_ZN6vectorIjLb0EjE7reserveEjRKj.exit -_ZN6vectorIjLb0EjE7reserveEjRKj.exit: ; preds = %.lr.ph.preheader.i.i47, %120, %_ZNK6vectorIjLb0EjE4sizeEv.exit.thread.i46 - %130 = phi ptr [ %69, %.lr.ph.preheader.i.i47 ], [ %69, %120 ], [ %60, %_ZNK6vectorIjLb0EjE4sizeEv.exit.thread.i46 ] +_ZN6vectorIjLb0EjE7reserveEjRKj.exit: ; preds = %.lr.ph.preheader.i.i47, %120, %_ZNK6vectorIjLb0EjE4sizeEv.exit.thread.i46, %_ZNK6vectorIjLb0EjE4sizeEv.exit.i49 + %130 = load ptr, ptr %6, align 8, !tbaa !17 %131 = zext i32 %63 to i64 %132 = getelementptr inbounds nuw i32, ptr %130, i64 %131 %133 = load i32, ptr %132, align 4, !tbaa !10 @@ -947,7 +946,7 @@ _ZNK6vectorIjLb0EjE4sizeEv.exit.i: ; preds = %2 br i1 %.not.not.i, label %_ZN6vectorIjLb0EjE6resizeIiEEvjT_z.exit, label %.preheader thread-pre-split.i: ; preds = %_ZNK6vectorIjLb0EjE8capacityEv.exit.thread.i - %.pr.pre.i = load ptr, ptr %3, align 8, !tbaa !17 + %.pr.pre.i = load ptr, ptr %3, align 8 br label %.preheader .preheader: ; preds = %_ZNK6vectorIjLb0EjE4sizeEv.exit.i, %thread-pre-split.i @@ -1289,7 +1288,7 @@ _ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i: %34 = load i64, ptr %27, align 8, !tbaa !528 store i64 %34, ptr %25, align 8, !tbaa !528 %.phi.trans.insert = getelementptr inbounds nuw i8, ptr %2, i64 8 - %.pre = load i64, ptr %.phi.trans.insert, align 8, !tbaa !527 + %.pre = load i64, ptr %.phi.trans.insert, align 8 br label %_ZN17default_exceptionC2EONSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE.exit _ZN17default_exceptionC2EONSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE.exit: ; preds = %29, %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i diff --git a/bench/zstd/optimized/zstdmt_compress.ll b/bench/zstd/optimized/zstdmt_compress.ll index c3ee6c5dcf7..13f11701f5b 100644 --- a/bench/zstd/optimized/zstdmt_compress.ll +++ b/bench/zstd/optimized/zstdmt_compress.ll @@ -473,7 +473,7 @@ ZSTD_customFree.exit: ; preds = %9, %14, %15 br i1 %18, label %9, label %._crit_edge, !llvm.loop !58 ._crit_edge: ; preds = %ZSTD_customFree.exit - %.pre = load ptr, ptr %3, align 8, !tbaa !54 + %.pre = load ptr, ptr %3, align 8 %19 = getelementptr i8, ptr %0, i64 64 %.not.i19 = icmp eq ptr %.pre, null br i1 %.not.i19, label %23, label %._crit_edge.thread @@ -547,7 +547,7 @@ define internal fastcc void @ZSTDMT_freeCCtxPool(ptr noundef %0) unnamed_addr #0 br i1 %15, label %.lr.ph, label %._crit_edge, !llvm.loop !65 ._crit_edge: ; preds = %.lr.ph - %.pre = load ptr, ptr %4, align 8, !tbaa !59 + %.pre = load ptr, ptr %4, align 8 %.not.i = icmp eq ptr %.pre, null br i1 %.not.i, label %19, label %._crit_edge.thread @@ -1646,7 +1646,7 @@ ZSTD_customFree.exit64.i: ; preds = %385, %384, %382 390: ; preds = %388, %386 %.0.i66.i = phi ptr [ %387, %386 ], [ %389, %388 ] store ptr %.0.i66.i, ptr %378, align 8, !tbaa !46 - %.pre.i = load ptr, ptr %363, align 8, !tbaa !45 + %.pre.i = load ptr, ptr %363, align 8 %391 = icmp eq ptr %.0.i66.i, null %.not50.i = icmp eq ptr %.pre.i, null %brmerge.i = select i1 %.not50.i, i1 true, i1 %391 @@ -1675,9 +1675,9 @@ ZSTD_customFree.exit64.i: ; preds = %385, %384, %382 br i1 %.not.i68.i, label %._crit_edge.i.i, label %400 ._crit_edge.i.i: ; preds = %397 - %.pre.i.i = load ptr, ptr %360, align 8, !tbaa !119 - %.pre46.i.i = load i32, ptr %362, align 4, !tbaa !121 - %.pre48.i.i = load i32, ptr %361, align 8, !tbaa !120 + %.pre.i.i = load ptr, ptr %360, align 8 + %.pre46.i.i = load i32, ptr %362, align 4 + %.pre48.i.i = load i32, ptr %361, align 8 br label %412 400: ; preds = %397 @@ -1833,7 +1833,7 @@ define i64 @ZSTDMT_compressStream_generic(ptr noundef %0, ptr noundef captures(n .lr.ph.i.i: ; preds = %32 %36 = getelementptr inbounds nuw i8, ptr %0, i64 3024 %37 = getelementptr inbounds nuw i8, ptr %0, i64 8 - %.pre.i.i = load ptr, ptr %37, align 8, !tbaa !35 + %.pre.i.i = load ptr, ptr %37, align 8 br label %40 38: ; preds = %40 @@ -2265,7 +2265,7 @@ findSynchronizationPoint.exit: ; preds = %232, %.lr.ph.i, %ZS %246 = load i32, ptr %10, align 8, !tbaa !81 %.not60 = icmp eq i32 %246, 0 %247 = getelementptr inbounds nuw i8, ptr %0, i64 320 - %248 = load i64, ptr %247, align 8, !tbaa !76 + %248 = load i64, ptr %247, align 8 br i1 %.not60, label %249, label %._crit_edge 249: ; preds = %239 @@ -2308,7 +2308,7 @@ findSynchronizationPoint.exit: ; preds = %232, %.lr.ph.i, %ZS ..thread100_crit_edge.i: ; preds = %268 %.phi.trans.insert.i = getelementptr inbounds nuw i8, ptr %0, i64 8 - %.pre.i = load ptr, ptr %.phi.trans.insert.i, align 8, !tbaa !35 + %.pre.i = load ptr, ptr %.phi.trans.insert.i, align 8 %.pre102.i = zext i32 %261 to i64 br label %.thread100.i @@ -2484,7 +2484,7 @@ ZSTDMT_createCompressionJob.exit: ; preds = %355, %ZSTDMT_writeL br i1 %.056, label %..loopexit_crit_edge.i, label %366 ..loopexit_crit_edge.i: ; preds = %ZSTDMT_createCompressionJob.exit - %.pre.i83 = load ptr, ptr %361, align 8, !tbaa !35 + %.pre.i83 = load ptr, ptr %361, align 8 br label %.loopexit.i 366: ; preds = %ZSTDMT_createCompressionJob.exit @@ -2492,7 +2492,7 @@ ZSTDMT_createCompressionJob.exit: ; preds = %355, %ZSTDMT_writeL %368 = getelementptr inbounds nuw i8, ptr %0, i64 3032 %369 = load i32, ptr %368, align 8, !tbaa !78 %370 = icmp ult i32 %367, %369 - %.pre124.i = load ptr, ptr %361, align 8, !tbaa !35 + %.pre124.i = load ptr, ptr %361, align 8 br i1 %370, label %.preheader.i, label %.loopexit.i .preheader.i: ; preds = %366 @@ -2601,17 +2601,17 @@ ZSTDMT_waitForAllJobsCompleted.exit.i: ; preds = %._crit_edge.i.i, %4 441: ; preds = %.loopexit.i %442 = icmp eq i64 %400, %402 - %.pre128.pre.i = load ptr, ptr %361, align 8, !tbaa !35 + %.pre128.pre129.i = load ptr, ptr %361, align 8 br i1 %442, label %443, label %459 443: ; preds = %441 - %444 = getelementptr inbounds nuw %struct.ZSTDMT_jobDescription, ptr %.pre128.pre.i, i64 %363 + %444 = getelementptr inbounds nuw %struct.ZSTDMT_jobDescription, ptr %.pre128.pre129.i, i64 %363 %445 = getelementptr inbounds nuw i8, ptr %444, i64 448 %446 = load i32, ptr %445, align 8, !tbaa !151 %.not112.i = icmp eq i32 %446, 0 - br i1 %.not112.i, label %459, label %.thread129.i + br i1 %.not112.i, label %459, label %.thread131.i -.thread129.i: ; preds = %443 +.thread131.i: ; preds = %443 %447 = getelementptr inbounds nuw i8, ptr %0, i64 2776 %448 = tail call i64 @ZSTD_XXH64_digest(ptr noundef nonnull captures(none) %447) #17 %449 = trunc i64 %448 to i32 @@ -2622,22 +2622,24 @@ ZSTDMT_waitForAllJobsCompleted.exit.i: ; preds = %._crit_edge.i.i, %4 %454 = getelementptr inbounds nuw i8, ptr %451, i64 %453 store i32 %449, ptr %454, align 1, !tbaa !3 %455 = add nuw i64 %399, 4 - %456 = getelementptr inbounds nuw %struct.ZSTDMT_jobDescription, ptr %.pre128.pre.i, i64 %363, i32 1 + %456 = getelementptr inbounds nuw %struct.ZSTDMT_jobDescription, ptr %.pre128.pre129.i, i64 %363, i32 1 %457 = add i64 %453, 4 store i64 %457, ptr %456, align 8, !tbaa !83 - %458 = getelementptr inbounds nuw %struct.ZSTDMT_jobDescription, ptr %.pre128.pre.i, i64 %363, i32 18 + %458 = getelementptr inbounds nuw %struct.ZSTDMT_jobDescription, ptr %.pre128.pre129.i, i64 %363, i32 18 store i32 0, ptr %458, align 8, !tbaa !151 + %.pre128.pre.i = load ptr, ptr %361, align 8 br label %460 459: ; preds = %443, %441 %.not113.i = icmp eq i64 %399, 0 br i1 %.not113.i, label %.thread, label %460 -460: ; preds = %459, %.thread129.i - %.0104132.i = phi i64 [ %455, %.thread129.i ], [ %399, %459 ] - %461 = getelementptr inbounds nuw %struct.ZSTDMT_jobDescription, ptr %.pre128.pre.i, i64 %363, i32 17 +460: ; preds = %459, %.thread131.i + %.0104136.i = phi i64 [ %455, %.thread131.i ], [ %399, %459 ] + %.pre128135.i = phi ptr [ %.pre128.pre.i, %.thread131.i ], [ %.pre128.pre129.i, %459 ] + %461 = getelementptr inbounds nuw %struct.ZSTDMT_jobDescription, ptr %.pre128135.i, i64 %363, i32 17 %462 = load i64, ptr %461, align 8, !tbaa !85 - %463 = sub i64 %.0104132.i, %462 + %463 = sub i64 %.0104136.i, %462 %464 = getelementptr inbounds nuw i8, ptr %1, i64 8 %465 = load i64, ptr %464, align 8, !tbaa !154 %466 = getelementptr inbounds nuw i8, ptr %1, i64 16 @@ -2650,26 +2652,26 @@ ZSTDMT_waitForAllJobsCompleted.exit.i: ; preds = %._crit_edge.i.i, %4 469: ; preds = %460 %470 = load ptr, ptr %1, align 8, !tbaa !157 %471 = getelementptr inbounds nuw i8, ptr %470, i64 %467 - %472 = getelementptr inbounds nuw %struct.ZSTDMT_jobDescription, ptr %.pre128.pre.i, i64 %363, i32 8 + %472 = getelementptr inbounds nuw %struct.ZSTDMT_jobDescription, ptr %.pre128135.i, i64 %363, i32 8 %473 = load ptr, ptr %472, align 8, !tbaa !153 %474 = getelementptr inbounds nuw i8, ptr %473, i64 %462 tail call void @llvm.memcpy.p0.p0.i64(ptr align 1 %471, ptr align 1 %474, i64 %..i78, i1 false) - %.pre125.i = load i64, ptr %466, align 8, !tbaa !156 - %.pre126.i = load ptr, ptr %361, align 8, !tbaa !35 + %.pre125.i = load i64, ptr %466, align 8 + %.pre126.i = load ptr, ptr %361, align 8 %.phi.trans.insert.i79 = getelementptr inbounds nuw %struct.ZSTDMT_jobDescription, ptr %.pre126.i, i64 %363, i32 17 - %.pre127.i = load i64, ptr %.phi.trans.insert.i79, align 8, !tbaa !85 + %.pre127.i = load i64, ptr %.phi.trans.insert.i79, align 8 br label %475 475: ; preds = %469, %460 %476 = phi i64 [ %.pre127.i, %469 ], [ %462, %460 ] - %477 = phi ptr [ %.pre126.i, %469 ], [ %.pre128.pre.i, %460 ] + %477 = phi ptr [ %.pre126.i, %469 ], [ %.pre128135.i, %460 ] %478 = phi i64 [ %.pre125.i, %469 ], [ %467, %460 ] %479 = add i64 %478, %..i78 store i64 %479, ptr %466, align 8, !tbaa !156 %480 = getelementptr inbounds nuw %struct.ZSTDMT_jobDescription, ptr %477, i64 %363, i32 17 %481 = add i64 %476, %..i78 store i64 %481, ptr %480, align 8, !tbaa !85 - %482 = icmp eq i64 %481, %.0104132.i + %482 = icmp eq i64 %481, %.0104136.i %or.cond.i80 = select i1 %442, i1 %482, i1 false br i1 %or.cond.i80, label %483, label %524 @@ -2736,22 +2738,22 @@ ZSTDMT_releaseBuffer.exit.i: ; preds = %511, %509, %499, %4 store i64 %518, ptr %516, align 8, !tbaa !75 %519 = getelementptr inbounds nuw i8, ptr %0, i64 3064 %520 = load i64, ptr %519, align 8, !tbaa !77 - %521 = add i64 %520, %.0104132.i + %521 = add i64 %520, %.0104136.i store i64 %521, ptr %519, align 8, !tbaa !77 %522 = load i32, ptr %356, align 4, !tbaa !82 %523 = add i32 %522, 1 store i32 %523, ptr %356, align 4, !tbaa !82 %.phi.trans.insert111 = getelementptr inbounds nuw %struct.ZSTDMT_jobDescription, ptr %514, i64 %363, i32 17 - %.pre112 = load i64, ptr %.phi.trans.insert111, align 8, !tbaa !85 + %.pre112 = load i64, ptr %.phi.trans.insert111, align 8 br label %524 524: ; preds = %ZSTDMT_releaseBuffer.exit.i, %475 %525 = phi i64 [ %481, %475 ], [ %.pre112, %ZSTDMT_releaseBuffer.exit.i ] - %526 = icmp ugt i64 %.0104132.i, %525 + %526 = icmp ugt i64 %.0104136.i, %525 br i1 %526, label %527, label %.thread 527: ; preds = %524 - %528 = sub nuw i64 %.0104132.i, %525 + %528 = sub nuw i64 %.0104136.i, %525 br label %ZSTDMT_flushProduced.exit .thread: ; preds = %459, %524 @@ -3292,11 +3294,11 @@ ZSTDMT_getSeq.exit: ; preds = %27, %28 ._crit_edge.i.i: ; preds = %98 %.phi.trans.insert.i.i = getelementptr inbounds nuw i8, ptr %76, i64 328 - %.pre.i.i = load ptr, ptr %.phi.trans.insert.i.i, align 8, !tbaa !119 + %.pre.i.i = load ptr, ptr %.phi.trans.insert.i.i, align 8 %.phi.trans.insert45.i.i = getelementptr inbounds nuw i8, ptr %76, i64 340 - %.pre46.i.i = load i32, ptr %.phi.trans.insert45.i.i, align 4, !tbaa !121 + %.pre46.i.i = load i32, ptr %.phi.trans.insert45.i.i, align 4 %.phi.trans.insert47.i.i = getelementptr inbounds nuw i8, ptr %76, i64 336 - %.pre48.i.i = load i32, ptr %.phi.trans.insert47.i.i, align 8, !tbaa !120 + %.pre48.i.i = load i32, ptr %.phi.trans.insert47.i.i, align 8 br label %116 100: ; preds = %98 diff --git a/bench/zxing/optimized/AZDecoder.ll b/bench/zxing/optimized/AZDecoder.ll index f49ffa6acc6..792ce21b4fd 100644 --- a/bench/zxing/optimized/AZDecoder.ll +++ b/bench/zxing/optimized/AZDecoder.ll @@ -325,7 +325,7 @@ _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit: ; preds = %_ZN5Z %61 = load i64, ptr %57, align 8, !tbaa !3 %62 = add i64 %61, 1 call void @_ZdlPvm(ptr noundef %56, i64 noundef %62) #22 - %.pre = load ptr, ptr %27, align 8, !tbaa !31 + %.pre = load ptr, ptr %27, align 8 call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %4) #21 %.not.i.i.i.i = icmp eq ptr %.pre, null br i1 %.not.i.i.i.i, label %_ZNSt6vectorIN5ZXing7Content8EncodingESaIS2_EED2Ev.exit.i, label %63 @@ -488,7 +488,7 @@ _ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i: %40 = load i64, ptr %33, align 8, !tbaa !3 store i64 %40, ptr %31, align 8, !tbaa !3 %.phi.trans.insert46 = getelementptr inbounds nuw i8, ptr %4, i64 8 - %.pre47 = load i64, ptr %.phi.trans.insert46, align 8, !tbaa !27 + %.pre47 = load i64, ptr %.phi.trans.insert46, align 8 br label %_ZN5ZXing5ErrorC2EPKcsNS0_4TypeENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE.exit _ZN5ZXing5ErrorC2EPKcsNS0_4TypeENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE.exit: ; preds = %35, %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i @@ -586,7 +586,7 @@ _ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i30 %78 = load i64, ptr %71, align 8, !tbaa !3 store i64 %78, ptr %69, align 8, !tbaa !3 %.phi.trans.insert = getelementptr inbounds nuw i8, ptr %6, i64 8 - %.pre = load i64, ptr %.phi.trans.insert, align 8, !tbaa !27 + %.pre = load i64, ptr %.phi.trans.insert, align 8 br label %_ZN5ZXing5ErrorC2EPKcsNS0_4TypeENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE.exit31 _ZN5ZXing5ErrorC2EPKcsNS0_4TypeENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE.exit31: ; preds = %73, %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i30 @@ -1118,7 +1118,7 @@ _ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i.i %204 = load i64, ptr %197, align 8, !tbaa !3, !noalias !79 store i64 %204, ptr %195, align 8, !tbaa !3, !noalias !79 %.phi.trans.insert.i = getelementptr inbounds nuw i8, ptr %14, i64 8 - %.pre210.i = load i64, ptr %.phi.trans.insert.i, align 8, !tbaa !27, !noalias !79 + %.pre210.i = load i64, ptr %.phi.trans.insert.i, align 8, !noalias !79 br label %_ZN5ZXing5ErrorC2EPKcsNS0_4TypeENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE.exit.i _ZN5ZXing5ErrorC2EPKcsNS0_4TypeENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE.exit.i: ; preds = %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i.i, %199 @@ -1362,6 +1362,7 @@ _ZSt6fill_nIPimiET_S1_T0_RKT1_.exit.loopexit.i.i.i.i.i: ; preds = %294 _ZSt27__uninitialized_default_n_aIPimiET_S1_T0_RSaIT1_E.exit.i.i: ; preds = %_ZSt6fill_nIPimiET_S1_T0_RKT1_.exit.loopexit.i.i.i.i.i, %294 %.0.i.i.i.i.i = phi ptr [ %295, %294 ], [ %299, %_ZSt6fill_nIPimiET_S1_T0_RKT1_.exit.loopexit.i.i.i.i.i ] store ptr %.0.i.i.i.i.i, ptr %230, align 8, !tbaa !91, !noalias !79 + %.pre.i = load ptr, ptr %16, align 8, !noalias !79 br label %_ZNSt6vectorIiSaIiEE6resizeEm.exit.i 300: ; preds = %284 @@ -1436,7 +1437,7 @@ _ZNSt12_Vector_baseIiSaIiEE13_M_deallocateEPim.exit35.i.i: ; preds = %314, %_ZNS _ZNSt6vectorIiSaIiEE6resizeEm.exit.i: ; preds = %322, %320, %318, %_ZNSt12_Vector_baseIiSaIiEE13_M_deallocateEPim.exit35.i.i, %_ZSt27__uninitialized_default_n_aIPimiET_S1_T0_RSaIT1_E.exit.i.i %323 = phi ptr [ %321, %322 ], [ %277, %320 ], [ %277, %318 ], [ %316, %_ZNSt12_Vector_baseIiSaIiEE13_M_deallocateEPim.exit35.i.i ], [ %.0.i.i.i.i.i, %_ZSt27__uninitialized_default_n_aIPimiET_S1_T0_RSaIT1_E.exit.i.i ] - %324 = phi ptr [ %278, %322 ], [ %278, %320 ], [ %278, %318 ], [ %306, %_ZNSt12_Vector_baseIiSaIiEE13_M_deallocateEPim.exit35.i.i ], [ %278, %_ZSt27__uninitialized_default_n_aIPimiET_S1_T0_RSaIT1_E.exit.i.i ] + %324 = phi ptr [ %278, %322 ], [ %278, %320 ], [ %278, %318 ], [ %306, %_ZNSt12_Vector_baseIiSaIiEE13_M_deallocateEPim.exit35.i.i ], [ %.pre.i, %_ZSt27__uninitialized_default_n_aIPimiET_S1_T0_RSaIT1_E.exit.i.i ] %325 = icmp eq ptr %324, %323 br i1 %325, label %_ZN5ZXing8BitArrayD2Ev.exit96.i, label %.lr.ph.i19 @@ -2807,7 +2808,7 @@ _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_createERmm.exit.i.i.i86 br i1 %803, label %804, label %.lr.ph.i.i.i.i78.i, !llvm.loop !107 804: ; preds = %.lr.ph.i.i.i.i78.i - %.pre14.i.i.i.i = load ptr, ptr %3, align 8, !tbaa !23, !noalias !106 + %.pre14.i.i.i.i = load ptr, ptr %3, align 8, !noalias !106 store i64 %792, ptr %789, align 8, !tbaa !27, !noalias !106 %805 = getelementptr inbounds nuw i8, ptr %.pre14.i.i.i.i, i64 %792 store i8 0, ptr %805, align 1, !tbaa !3, !noalias !106 @@ -3050,7 +3051,7 @@ _ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i.i _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE8_M_eraseEmm.exit.i.i.i: ; preds = %892, %890, %887, %885 %893 = load i64, ptr %789, align 8, !tbaa !27, !noalias !106 %894 = sub i64 %893, %spec.select.i.i.i.i - %.pre.i.i = load ptr, ptr %3, align 8, !tbaa !23, !noalias !106 + %.pre.i.i = load ptr, ptr %3, align 8, !noalias !106 br label %.sink.split.i.i.i .sink.split.i.i.i: ; preds = %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE8_M_eraseEmm.exit.i.i.i, %878 @@ -3131,7 +3132,7 @@ _ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i36 store ptr %914, ptr %912, align 8, !tbaa !23, !alias.scope !103, !noalias !95 %920 = load i64, ptr %808, align 8, !tbaa !3, !noalias !106 store i64 %920, ptr %913, align 8, !tbaa !3, !alias.scope !103, !noalias !95 - %.pre61.i.i = load i64, ptr %809, align 8, !tbaa !27, !noalias !106 + %.pre61.i.i = load i64, ptr %809, align 8, !noalias !106 br label %_ZN5ZXing20StructuredAppendInfoC2EOS0_.exit.i.i _ZN5ZXing20StructuredAppendInfoC2EOS0_.exit.i.i: ; preds = %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i36.i.i, %916 @@ -3150,12 +3151,12 @@ _ZN5ZXing20StructuredAppendInfoC2EOS0_.exit.i.i: ; preds = %_ZNKSt7__cxx1112bas %927 = getelementptr inbounds nuw i8, ptr %12, i64 16 store i64 0, ptr %927, align 8, !tbaa !27, !alias.scope !103, !noalias !95 store i8 0, ptr %926, align 8, !tbaa !3, !alias.scope !103, !noalias !95 - %.pre62.i.i = load ptr, ptr %807, align 8, !tbaa !23, !noalias !106 + %.pre62.i.i = load ptr, ptr %807, align 8, !noalias !106 %928 = icmp eq ptr %.pre62.i.i, %808 br i1 %928, label %._ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i.i.i_crit_edge.i, label %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i.i.i.i ._ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i.i.i_crit_edge.i: ; preds = %923 - %.pre.i41 = load i64, ptr %809, align 8, !tbaa !27, !noalias !106 + %.pre.i41 = load i64, ptr %809, align 8, !noalias !95 %929 = icmp ult i64 %.pre.i41, 16 br label %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i.i.i.i @@ -3230,8 +3231,8 @@ _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit45.i.i: ; preds = _ZN5ZXing5AztecL21ParseStructuredAppendERNS_9ByteArrayE.exit.i: ; preds = %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i37.i.i, %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i38.i.i call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %3) #21, !noalias !106 - %.pre138.i = load ptr, ptr %723, align 8, !tbaa !29, !noalias !95 - %.pre139.i = load ptr, ptr %7, align 8, !tbaa !28, !noalias !95 + %.pre138.i = load ptr, ptr %723, align 8, !noalias !95 + %.pre139.i = load ptr, ptr %7, align 8, !noalias !95 br label %956 .critedge.i: ; preds = %_ZN5ZXing5ToIntIivEET_RKNS_8BitArrayEii.exit.i, %768 @@ -3443,7 +3444,7 @@ _ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i94 store ptr %1046, ptr %1044, align 8, !tbaa !23, !alias.scope !95 %1052 = load i64, ptr %1012, align 8, !tbaa !3, !noalias !95 store i64 %1052, ptr %1045, align 8, !tbaa !3, !alias.scope !95 - %.pre140.i = load i64, ptr %1013, align 8, !tbaa !27, !noalias !95 + %.pre140.i = load i64, ptr %1013, align 8, !noalias !95 br label %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2EOS4_.exit.i.i _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2EOS4_.exit.i.i: ; preds = %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i94.i, %1048 @@ -3477,7 +3478,7 @@ _ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i.i store ptr %1060, ptr %1058, align 8, !tbaa !23, !alias.scope !95 %1066 = load i64, ptr %1019, align 8, !tbaa !3, !noalias !95 store i64 %1066, ptr %1059, align 8, !tbaa !3, !alias.scope !95 - %.pre141.i = load i64, ptr %1020, align 8, !tbaa !27, !noalias !95 + %.pre141.i = load i64, ptr %1020, align 8, !noalias !95 br label %_ZN5ZXing20StructuredAppendInfoC2EOS0_.exit.i96.i _ZN5ZXing20StructuredAppendInfoC2EOS0_.exit.i96.i: ; preds = %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i.i95.i, %1062 @@ -3509,7 +3510,7 @@ _ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i8. store ptr %1073, ptr %1071, align 8, !tbaa !23, !alias.scope !95 %1079 = load i64, ptr %1024, align 8, !tbaa !3, !noalias !95 store i64 %1079, ptr %1072, align 8, !tbaa !3, !alias.scope !95 - %.pre142.i = load i64, ptr %1025, align 8, !tbaa !27, !noalias !95 + %.pre142.i = load i64, ptr %1025, align 8, !noalias !95 br label %_ZN5ZXing13DecoderResultC2EOS0_.exit.i _ZN5ZXing13DecoderResultC2EOS0_.exit.i: ; preds = %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i8.i.i, %1075 @@ -3721,7 +3722,7 @@ _ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i: %1156 = load i64, ptr %1149, align 8, !tbaa !3 store i64 %1156, ptr %1147, align 8, !tbaa !3 %.phi.trans.insert = getelementptr inbounds nuw i8, ptr %18, i64 8 - %.pre = load i64, ptr %.phi.trans.insert, align 8, !tbaa !27 + %.pre = load i64, ptr %.phi.trans.insert, align 8 br label %_ZN5ZXing5ErrorC2EOS0_.exit _ZN5ZXing5ErrorC2EOS0_.exit: ; preds = %1151, %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i @@ -4086,7 +4087,7 @@ _ZSt7advanceIN9__gnu_cxx17__normal_iteratorIPKcNSt7__cxx1112basic_stringIcSt11ch br i1 %44, label %.lr.ph.i.i.i.i.i.i.i.i, label %_ZSt22__uninitialized_copy_aIN9__gnu_cxx17__normal_iteratorIPKcNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEPhhET0_T_SD_SC_RSaIT1_E.exit.loopexit, !llvm.loop !115 _ZSt22__uninitialized_copy_aIN9__gnu_cxx17__normal_iteratorIPKcNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEPhhET0_T_SD_SC_RSaIT1_E.exit.loopexit: ; preds = %.lr.ph.i.i.i.i.i.i.i.i - %.pre = load ptr, ptr %12, align 8, !tbaa !29 + %.pre = load ptr, ptr %12, align 8 br label %_ZSt22__uninitialized_copy_aIN9__gnu_cxx17__normal_iteratorIPKcNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEPhhET0_T_SD_SC_RSaIT1_E.exit _ZSt22__uninitialized_copy_aIN9__gnu_cxx17__normal_iteratorIPKcNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEPhhET0_T_SD_SC_RSaIT1_E.exit: ; preds = %_ZSt22__uninitialized_copy_aIN9__gnu_cxx17__normal_iteratorIPKcNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEPhhET0_T_SD_SC_RSaIT1_E.exit.loopexit, %_ZSt7advanceIN9__gnu_cxx17__normal_iteratorIPKcNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEmEvRT_T0_.exit @@ -4099,7 +4100,7 @@ _ZSt22__uninitialized_copy_aIN9__gnu_cxx17__normal_iteratorIPKcNSt7__cxx1112basi 48: ; preds = %_ZSt22__uninitialized_copy_aIN9__gnu_cxx17__normal_iteratorIPKcNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEPhhET0_T_SD_SC_RSaIT1_E.exit tail call void @llvm.memmove.p0.p0.i64(ptr align 1 %47, ptr align 1 %1, i64 %19, i1 false) - %.pre82 = load ptr, ptr %12, align 8, !tbaa !29 + %.pre82 = load ptr, ptr %12, align 8 br label %_ZSt22__uninitialized_move_aIPhS0_SaIhEET0_T_S3_S2_RT1_.exit52 _ZSt22__uninitialized_move_aIPhS0_SaIhEET0_T_S3_S2_RT1_.exit52: ; preds = %_ZSt22__uninitialized_copy_aIN9__gnu_cxx17__normal_iteratorIPKcNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEPhhET0_T_SD_SC_RSaIT1_E.exit, %48 From e23a8bad634e81edf40b598df9963b03f5ee57ca Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Wed, 23 Apr 2025 07:54:52 +0000 Subject: [PATCH 3/3] pre-commit: Remap --- bench/abseil-cpp/optimized/int128.ll | 2 +- bench/boost/optimized/test_ifstream.ll | 8 ++-- .../optimized/btDiscreteDynamicsWorldMt.ll | 20 ++++---- .../block_random_access_sparse_matrix.ll | 6 +-- bench/ceres/optimized/block_structure.ll | 4 +- .../optimized/1w8bjqmsfkf0ntfz.ll | 12 ++--- bench/cpython/optimized/timemodule.ll | 4 +- bench/darktable/optimized/cr3_parser.ll | 16 +++---- bench/harfbuzz/optimized/hb-static.ll | 22 ++++----- .../optimized/2p0p1zz6gwjy9c4w.ll | 2 +- bench/ipopt/optimized/IpFilterLSAcceptor.ll | 6 +-- bench/ipopt/optimized/IpPiecewisePenalty.ll | 46 +++++++++---------- bench/jq/optimized/lexer.ll | 12 ++--- bench/luau/optimized/IrUtils.ll | 8 ++-- bench/luau/optimized/Lexer.ll | 16 +++---- bench/lvgl/optimized/lv_flex.ll | 4 +- bench/pbrt-v4/optimized/rgb2spec_opt.ll | 10 ++-- bench/pcg-cpp/optimized/pcg-demo.ll | 4 +- bench/re2/optimized/compile.ll | 6 +-- bench/sentencepiece/optimized/int128.ll | 12 ++--- bench/sundials/optimized/arkode_mri_tables.ll | 4 +- bench/syn/optimized/ofvfd67uyaewjlc.ll | 2 +- bench/verilator/optimized/V3ActiveTop.ll | 12 ++--- bench/verilator/optimized/V3Global.ll | 2 +- bench/yosys/optimized/sha1.ll | 2 +- bench/zstd/optimized/zstdmt_compress.ll | 28 +++++------ 26 files changed, 135 insertions(+), 135 deletions(-) diff --git a/bench/abseil-cpp/optimized/int128.ll b/bench/abseil-cpp/optimized/int128.ll index 6f9064df65e..3968e8cdb1f 100644 --- a/bench/abseil-cpp/optimized/int128.ll +++ b/bench/abseil-cpp/optimized/int128.ll @@ -341,7 +341,7 @@ _ZSt13__check_facetISt5ctypeIcEERKT_PS3_.exit.i.i.i.i: ; preds = %68 %77 = invoke noundef signext i8 %76(ptr noundef nonnull align 8 dereferenceable(570) %70, i8 noundef signext 32) to label %_ZNKSt9basic_iosIcSt11char_traitsIcEE5widenEc.exit.i.i.i unwind label %87 -_ZNKSt9basic_iosIcSt11char_traitsIcEE5widenEc.exit.i.i.i: ; preds = %.noexc104, %_ZSt13__check_facetISt5ctypeIcEERKT_PS3_.exit.i.i.i.i +.noexc104._ZNKSt9basic_iosIcSt11char_traitsIcEE5widenEc.exit.i.i.i_crit_edge: ; preds = %.noexc104, %_ZSt13__check_facetISt5ctypeIcEERKT_PS3_.exit.i.i.i.i store i8 1, ptr %65, align 1, !tbaa !25 %.pre = load ptr, ptr %5, align 8 br label %78 diff --git a/bench/boost/optimized/test_ifstream.ll b/bench/boost/optimized/test_ifstream.ll index 34d0d6c338e..8fe9be34dc1 100644 --- a/bench/boost/optimized/test_ifstream.ll +++ b/bench/boost/optimized/test_ifstream.ll @@ -9637,7 +9637,7 @@ _ZN5boost6nowide3utf14convert_bufferIwcEEPT_S4_mPKT0_S7_.exit: ; preds = %.lr.ph %.02336.i18 = add i64 %.02336.in.i16, -1 %29 = call noundef i32 @_ZN5boost6nowide3utf10utf_traitsIcLi1EE6decodeIPKcEEjRT_S7_(ptr noundef nonnull align 8 dereferenceable(8) %4, ptr noundef %2) %30 = icmp eq i64 %.02336.i18, 0 - br i1 %30, label %.thread.i, label %31 + br i1 %30, label %.thread.i.loopexit, label %31 31: ; preds = %.lr.ph.i15 %or.cond.i19 = icmp ugt i32 %29, -3 @@ -9646,10 +9646,10 @@ _ZN5boost6nowide3utf14convert_bufferIwcEEPT_S4_mPKT0_S7_.exit: ; preds = %.lr.ph store i32 %spec.store.select.i20, ptr %.02035.i17, align 4, !tbaa !76 %33 = load ptr, ptr %4, align 8, !tbaa !7 %.not.i21 = icmp eq ptr %33, %2 - br i1 %.not.i21, label %.thread.i, label %.lr.ph.i15 + br i1 %.not.i21, label %.thread.i.loopexit, label %.lr.ph.i15 -.thread.i: ; preds = %31, %.lr.ph.i15, %.preheader.i - %.020.lcssa.i22 = phi ptr [ %27, %.preheader.i ], [ %32, %31 ], [ %.02035.i17, %.lr.ph.i15 ] +.thread.i.loopexit: ; preds = %31, %.lr.ph.i15, %.preheader.i + %.020.lcssa.i22.ph = phi ptr [ %27, %.preheader.i ], [ %32, %31 ], [ %.02035.i17, %.lr.ph.i15 ] store i32 0, ptr %.020.lcssa.i22, align 4, !tbaa !76 %.pre.pre = load ptr, ptr %6, align 8 br label %_ZN5boost6nowide3utf14convert_bufferIwcEEPT_S4_mPKT0_S7_.exit24 diff --git a/bench/bullet3/optimized/btDiscreteDynamicsWorldMt.ll b/bench/bullet3/optimized/btDiscreteDynamicsWorldMt.ll index ed2c0c6b14e..51315776103 100644 --- a/bench/bullet3/optimized/btDiscreteDynamicsWorldMt.ll +++ b/bench/bullet3/optimized/btDiscreteDynamicsWorldMt.ll @@ -364,15 +364,15 @@ _ZN20btAlignedObjectArrayIP18btConstraintSolverE8allocateEi.exit.i.i: ; preds = br i1 %exitcond.not.i.i.i, label %_ZNK20btAlignedObjectArrayIP18btConstraintSolverE4copyEiiPS1_.exit.thread.i.i, label %35, !llvm.loop !42 _ZNK20btAlignedObjectArrayIP18btConstraintSolverE4copyEiiPS1_.exit.i.i: ; preds = %_ZN20btAlignedObjectArrayIP18btConstraintSolverE8allocateEi.exit.i.i - %.not.i5.i.i = icmp eq ptr %20, null - br i1 %.not.i5.i.i, label %_ZN20btAlignedObjectArrayIP18btConstraintSolverE10deallocateEv.exit.i.i, label %_ZNK20btAlignedObjectArrayIP18btConstraintSolverE4copyEiiPS1_.exit.thread.i.i + %.not.i5.i.i.not = icmp eq ptr %20, null + br i1 %.not.i5.i.i.not, label %_ZN20btAlignedObjectArrayIP18btConstraintSolverE10deallocateEv.exit.i.i, label %_ZNK20btAlignedObjectArrayIP18btConstraintSolverE4copyEiiPS1_.exit.thread.i.i _ZNK20btAlignedObjectArrayIP18btConstraintSolverE4copyEiiPS1_.exit.thread.i.i: ; preds = %35, %_ZNK20btAlignedObjectArrayIP18btConstraintSolverE4copyEiiPS1_.exit.i.i invoke void @_Z21btAlignedFreeInternalPv(ptr noundef nonnull %20) to label %.noexc21 unwind label %47 .noexc21: ; preds = %_ZNK20btAlignedObjectArrayIP18btConstraintSolverE4copyEiiPS1_.exit.thread.i.i - %.pre2.pre.i.pre = load i32, ptr %10, align 4 + %.pre2.pre.pre.i = load i32, ptr %10, align 4 br label %_ZN20btAlignedObjectArrayIP18btConstraintSolverE10deallocateEv.exit.i.i _ZN20btAlignedObjectArrayIP18btConstraintSolverE10deallocateEv.exit.i.i: ; preds = %.noexc21, %_ZNK20btAlignedObjectArrayIP18btConstraintSolverE4copyEiiPS1_.exit.i.i @@ -420,13 +420,13 @@ _ZN20btAlignedObjectArrayIP18btConstraintSolverE10deallocateEv.exit.i.i: ; preds 57: ; preds = %54 invoke void @_Z21btAlignedFreeInternalPv(ptr noundef nonnull %17) - to label %_ZN20btAlignedObjectArrayIP18btConstraintSolverED2Ev.exit unwind label %58 + to label %_ZN20btAlignedObjectArrayIP18btConstraintSolverED2Ev.exit unwind label %55 -58: ; preds = %57 - %59 = landingpad { ptr, i32 } +55: ; preds = %57 + %56 = landingpad { ptr, i32 } catch ptr null - %60 = extractvalue { ptr, i32 } %59, 0 - tail call void @__clang_call_terminate(ptr %60) #12 + %57 = extractvalue { ptr, i32 } %56, 0 + tail call void @__clang_call_terminate(ptr %57) #12 unreachable _ZN20btAlignedObjectArrayIP18btConstraintSolverED2Ev.exit: ; preds = %54, %57 @@ -435,10 +435,10 @@ _ZN20btAlignedObjectArrayIP18btConstraintSolverED2Ev.exit: ; preds = %54, %57 _ZN35btSequentialImpulseConstraintSolverdlEPv.exit: ; preds = %47, %49, %18 %.pn.pn = phi { ptr, i32 } [ %19, %18 ], [ %48, %47 ], [ %50, %49 ] - %61 = getelementptr inbounds nuw i8, ptr %0, i64 8 + %58 = getelementptr inbounds nuw i8, ptr %0, i64 8 call void @_ZN20btAlignedObjectArrayIP18btConstraintSolverED2Ev(ptr noundef nonnull align 8 dereferenceable(25) %3) #11 call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %3) #11 - call void @_ZN20btAlignedObjectArrayIN24btConstraintSolverPoolMt12ThreadSolverEED2Ev(ptr noundef nonnull align 8 dereferenceable(25) %61) #11 + call void @_ZN20btAlignedObjectArrayIN24btConstraintSolverPoolMt12ThreadSolverEED2Ev(ptr noundef nonnull align 8 dereferenceable(25) %58) #11 resume { ptr, i32 } %.pn.pn } diff --git a/bench/ceres/optimized/block_random_access_sparse_matrix.ll b/bench/ceres/optimized/block_random_access_sparse_matrix.ll index 021dc8ce2c1..9c98a6fcae7 100644 --- a/bench/ceres/optimized/block_random_access_sparse_matrix.ll +++ b/bench/ceres/optimized/block_random_access_sparse_matrix.ll @@ -266,7 +266,7 @@ _ZN4absl12lts_2024011612log_internal12Check_LEImplImiEEPNSt7__cxx1112basic_strin br label %_ZNSt6vectorIiSaIiEED2Ev.exit167 _ZNSt6vectorIiSaIiEE17_S_check_init_lenEmRKS0_.exit.i.thread: ; preds = %47, %_ZSt6fill_nIPimiET_S1_T0_RKT1_.exit.loopexit.i.i.i.i.i, %.noexc114, %_ZNSt6vectorIiSaIiEE17_S_check_init_lenEmRKS0_.exit.i - %.0.i111343348 = phi i32 [ %53, %.noexc114 ], [ %53, %_ZSt6fill_nIPimiET_S1_T0_RKT1_.exit.loopexit.i.i.i.i.i ], [ %53, %_ZNSt6vectorIiSaIiEE17_S_check_init_lenEmRKS0_.exit.i ], [ 0, %47 ] + %.0.i111346351 = phi i32 [ %53, %.noexc114 ], [ %53, %_ZSt6fill_nIPimiET_S1_T0_RKT1_.exit.loopexit.i.i.i.i.i ], [ %53, %_ZNSt6vectorIiSaIiEE17_S_check_init_lenEmRKS0_.exit.i ], [ 0, %47 ] %76 = phi i64 [ %54, %.noexc114 ], [ %54, %_ZSt6fill_nIPimiET_S1_T0_RKT1_.exit.loopexit.i.i.i.i.i ], [ %54, %_ZNSt6vectorIiSaIiEE17_S_check_init_lenEmRKS0_.exit.i ], [ 0, %47 ] %77 = phi i32 [ %55, %.noexc114 ], [ %55, %_ZSt6fill_nIPimiET_S1_T0_RKT1_.exit.loopexit.i.i.i.i.i ], [ %55, %_ZNSt6vectorIiSaIiEE17_S_check_init_lenEmRKS0_.exit.i ], [ 0, %47 ] %78 = phi i64 [ %56, %.noexc114 ], [ %56, %_ZSt6fill_nIPimiET_S1_T0_RKT1_.exit.loopexit.i.i.i.i.i ], [ %56, %_ZNSt6vectorIiSaIiEE17_S_check_init_lenEmRKS0_.exit.i ], [ 0, %47 ] @@ -781,7 +781,7 @@ _ZN4absl12lts_2024011612log_internal8VLogSite9IsEnabledEi.exit: ; preds = %295 _ZN4absl12lts_2024011612log_internal10LogMessagelsILi14EEERS2_RAT__Kc.exit: ; preds = %300 call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %8) - store i32 %.0.i111343348, ptr %8, align 4, !tbaa !47 + store i32 %.0.i111346351, ptr %8, align 4, !tbaa !47 %301 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZN4absl12lts_2024011612log_internal10LogMessagelsIiTnNSt9enable_ifIXntsr4absl16HasAbslStringifyIT_EE5valueEiE4typeELi0EEERS2_RKS5_(ptr noundef nonnull align 8 dereferenceable(16) %299, ptr noundef nonnull align 4 dereferenceable(4) %8) to label %302 unwind label %320 @@ -792,7 +792,7 @@ _ZN4absl12lts_2024011612log_internal10LogMessagelsILi14EEERS2_RAT__Kc.exit: ; pr _ZN4absl12lts_2024011612log_internal10LogMessagelsILi2EEERS2_RAT__Kc.exit: ; preds = %302 call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %7) - store i32 %.0.i111343348, ptr %7, align 4, !tbaa !47 + store i32 %.0.i111346351, ptr %7, align 4, !tbaa !47 %303 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZN4absl12lts_2024011612log_internal10LogMessagelsIiTnNSt9enable_ifIXntsr4absl16HasAbslStringifyIT_EE5valueEiE4typeELi0EEERS2_RKS5_(ptr noundef nonnull align 8 dereferenceable(16) %301, ptr noundef nonnull align 4 dereferenceable(4) %7) to label %304 unwind label %320 diff --git a/bench/ceres/optimized/block_structure.ll b/bench/ceres/optimized/block_structure.ll index 0fcf203714b..682904f2638 100644 --- a/bench/ceres/optimized/block_structure.ll +++ b/bench/ceres/optimized/block_structure.ll @@ -84,8 +84,8 @@ define hidden void @_ZN5ceres8internal4TailERKSt6vectorINS0_5BlockESaIS2_EEi(ptr 17: ; preds = %13 %18 = getelementptr inbounds nuw i8, ptr %0, i64 16 - %.not54 = icmp eq i32 %2, 0 - br i1 %.not54, label %._crit_edge, label %_ZNSt12_Vector_baseIN5ceres8internal5BlockESaIS2_EE11_M_allocateEm.exit.i + %.not57 = icmp eq i32 %2, 0 + br i1 %.not57, label %._crit_edge, label %_ZNSt12_Vector_baseIN5ceres8internal5BlockESaIS2_EE11_M_allocateEm.exit.i _ZNSt12_Vector_baseIN5ceres8internal5BlockESaIS2_EE11_M_allocateEm.exit.i: ; preds = %17 %19 = getelementptr inbounds nuw i8, ptr %0, i64 8 diff --git a/bench/coreutils-rs/optimized/1w8bjqmsfkf0ntfz.ll b/bench/coreutils-rs/optimized/1w8bjqmsfkf0ntfz.ll index 80863353bea..a54c2248f67 100644 --- a/bench/coreutils-rs/optimized/1w8bjqmsfkf0ntfz.ll +++ b/bench/coreutils-rs/optimized/1w8bjqmsfkf0ntfz.ll @@ -173,10 +173,10 @@ define hidden { i1, i8 } @"_ZN104_$LT$core..iter..adapters..copied..Copied$LT$I$ br label %"_ZN100_$LT$core..iter..adapters..take..Take$LT$I$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$3nth17h32a5d8e30e22e347E.exit.thread" "_ZN100_$LT$core..iter..adapters..take..Take$LT$I$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$3nth17h32a5d8e30e22e347E.exit": ; preds = %31 - %68 = getelementptr inbounds i8, ptr %32, i64 %.05.i.i + %69 = getelementptr inbounds i8, ptr %32, i64 %.05.i.i br label %69 -69: ; preds = %"_ZN100_$LT$core..iter..adapters..take..Take$LT$I$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$3nth17h32a5d8e30e22e347E.exit", %"_ZN100_$LT$core..iter..adapters..take..Take$LT$I$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$3nth17h32a5d8e30e22e347E.exit.thread8" +69:; preds = %"_ZN100_$LT$core..iter..adapters..take..Take$LT$I$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$3nth17h32a5d8e30e22e347E.exit", %"_ZN100_$LT$core..iter..adapters..take..Take$LT$I$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$3nth17h32a5d8e30e22e347E.exit.thread8" %.pn = phi ptr [ %68, %"_ZN100_$LT$core..iter..adapters..take..Take$LT$I$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$3nth17h32a5d8e30e22e347E.exit" ], [ %67, %"_ZN100_$LT$core..iter..adapters..take..Take$LT$I$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$3nth17h32a5d8e30e22e347E.exit.thread8" ] %storemerge = getelementptr inbounds nuw i8, ptr %.pn, i64 1 store ptr %storemerge, ptr %0, align 8, !alias.scope !11 @@ -184,11 +184,11 @@ define hidden { i1, i8 } @"_ZN104_$LT$core..iter..adapters..copied..Copied$LT$I$ br label %"_ZN100_$LT$core..iter..adapters..take..Take$LT$I$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$3nth17h32a5d8e30e22e347E.exit.thread" "_ZN100_$LT$core..iter..adapters..take..Take$LT$I$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$3nth17h32a5d8e30e22e347E.exit.thread": ; preds = %26, %"_ZN100_$LT$core..iter..adapters..skip..Skip$LT$I$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$3nth17h1e484e2d243b49a8E.exit18.i", %6, %"_ZN100_$LT$core..iter..adapters..take..Take$LT$I$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$3nth17h32a5d8e30e22e347E.exit.thread5", %69 - %71 = phi i1 [ true, %69 ], [ false, %"_ZN100_$LT$core..iter..adapters..take..Take$LT$I$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$3nth17h32a5d8e30e22e347E.exit.thread5" ], [ false, %6 ], [ false, %"_ZN100_$LT$core..iter..adapters..skip..Skip$LT$I$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$3nth17h1e484e2d243b49a8E.exit18.i" ], [ false, %26 ] + %73 = phi i1 [ true, %69 ], [ false, %"_ZN100_$LT$core..iter..adapters..take..Take$LT$I$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$3nth17h32a5d8e30e22e347E.exit.thread5" ], [ false, %6 ], [ false, %"_ZN100_$LT$core..iter..adapters..skip..Skip$LT$I$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$3nth17h1e484e2d243b49a8E.exit18.i" ], [ false, %26 ] %.sroa.3.0 = phi i8 [ %70, %69 ], [ undef, %"_ZN100_$LT$core..iter..adapters..take..Take$LT$I$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$3nth17h32a5d8e30e22e347E.exit.thread5" ], [ undef, %6 ], [ undef, %"_ZN100_$LT$core..iter..adapters..skip..Skip$LT$I$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$3nth17h1e484e2d243b49a8E.exit18.i" ], [ undef, %26 ] - %72 = insertvalue { i1, i8 } poison, i1 %71, 0 - %73 = insertvalue { i1, i8 } %72, i8 %.sroa.3.0, 1 - ret { i1, i8 } %73 + %74 = insertvalue { i1, i8 } poison, i1 %73, 0 + %75 = insertvalue { i1, i8 } %74, i8 %.sroa.3.0, 1 + ret { i1, i8 } %75 } ; Function Attrs: nofree norecurse nosync nounwind nonlazybind memory(write, argmem: readwrite) uwtable diff --git a/bench/cpython/optimized/timemodule.ll b/bench/cpython/optimized/timemodule.ll index 0fda3ac4aa0..2b1c438b73c 100644 --- a/bench/cpython/optimized/timemodule.ll +++ b/bench/cpython/optimized/timemodule.ll @@ -1190,9 +1190,9 @@ time_strftime1.exit: ; preds = %83 br label %Py_DECREF.exit Py_DECREF.exit: ; preds = %92, %96, %99 - br i1 %94, label %.thread118, label %100 + br i1 %94, label %.thread118, label %Py_DECREF.exit._crit_edge -100: ; preds = %Py_DECREF.exit, %74 +Py_DECREF.exit._crit_edge: ; preds = %Py_DECREF.exit, %74 %.2106 = phi ptr [ %.1105, %74 ], [ %81, %Py_DECREF.exit ] %.1 = phi i64 [ %.0103, %74 ], [ %.2, %Py_DECREF.exit ] %101 = icmp slt i64 %.157.lcssa, %.val75 diff --git a/bench/darktable/optimized/cr3_parser.ll b/bench/darktable/optimized/cr3_parser.ll index 1a8ac240532..20505c05f57 100644 --- a/bench/darktable/optimized/cr3_parser.ll +++ b/bench/darktable/optimized/cr3_parser.ll @@ -1174,8 +1174,8 @@ define noundef range(i32 -14, 2) i32 @_ZN6LibRaw8parseCR3ExxRsPcS0_S0_(ptr nound %83 = getelementptr inbounds nuw i8, ptr %16, i64 7 %84 = getelementptr inbounds nuw i8, ptr %0, i64 381636 %invariant.gep = getelementptr inbounds nuw i8, ptr %0, i64 382104 - %invariant.gep645 = getelementptr inbounds nuw i8, ptr %0, i64 382112 - %invariant.gep647 = getelementptr inbounds nuw i8, ptr %0, i64 382056 + %invariant.gep646 = getelementptr inbounds nuw i8, ptr %0, i64 382112 + %invariant.gep648 = getelementptr inbounds nuw i8, ptr %0, i64 382056 %invariant.gep649 = getelementptr inbounds nuw i8, ptr %0, i64 382080 br label %85 @@ -2098,8 +2098,8 @@ _ZN6LibRaw5sgetnEiPh.exit: ; preds = %.lr.ph.i .lr.ph500.preheader: ; preds = %579 %.idx637 = shl nsw i64 %583, 7 - %gep650 = getelementptr i8, ptr %invariant.gep649, i64 %.idx637 - store i32 %577, ptr %gep650, align 8, !tbaa !17 + %gep649 = getelementptr i8, ptr %invariant.gep649, i64 %.idx637 + store i32 %577, ptr %gep649, align 8, !tbaa !17 %wide.trip.count612 = zext nneg i32 %577 to i64 br label %.lr.ph500 @@ -2244,8 +2244,8 @@ _ZN6LibRaw5sgetnEiPh.exit: ; preds = %.lr.ph.i .lr.ph486.preheader: ; preds = %649 %.idx635 = shl nsw i64 %654, 7 - %gep644 = getelementptr i8, ptr %invariant.gep, i64 %.idx635 - store i32 %647, ptr %gep644, align 8, !tbaa !15 + %gep645 = getelementptr i8, ptr %invariant.gep, i64 %.idx635 + store i32 %647, ptr %gep645, align 8, !tbaa !15 %wide.trip.count602 = zext nneg i32 %647 to i64 br label %.lr.ph486 @@ -2276,8 +2276,8 @@ _ZN6LibRaw5sgetnEiPh.exit: ; preds = %.lr.ph.i store i32 %647, ptr %gep581, align 8, !tbaa !15 %665 = load i64, ptr %.pre, align 8, !tbaa !19 %.idx636 = shl nsw i64 %662, 7 - %gep648 = getelementptr i8, ptr %invariant.gep647, i64 %.idx636 - store i64 %665, ptr %gep648, align 8, !tbaa !28 + %gep647 = getelementptr i8, ptr %invariant.gep647, i64 %.idx636 + store i64 %665, ptr %gep647, align 8, !tbaa !28 br label %.thread455thread-pre-split .thread455thread-pre-split: ; preds = %.lr.ph500, %398, %254, %429, %601, %637, %569, %455, %468, %_ZN6LibRaw5sgetnEiPh.exit, %457, %396, %.loopexit, %248, %260, %432, %276, %337, %349, %366, %._crit_edge, %438, %._crit_edge491, %615 diff --git a/bench/harfbuzz/optimized/hb-static.ll b/bench/harfbuzz/optimized/hb-static.ll index c361bf15e9f..ffcdeaf7868 100644 --- a/bench/harfbuzz/optimized/hb-static.ll +++ b/bench/harfbuzz/optimized/hb-static.ll @@ -1696,11 +1696,11 @@ _ZNR9hb_iter_tIN2OT9glyf_impl19composite_iter_tmplINS1_20CompositeGlyphRecordEEE br i1 %.not.i.i.i, label %.critedgethread-pre-split, label %_ZNR9hb_iter_tIN2OT9glyf_impl19composite_iter_tmplINS1_20CompositeGlyphRecordEEERKS3_EppEv.exit .critedgethread-pre-split: ; preds = %126, %105, %111, %108, %98, %76, %80, %._crit_edge692 - %.pr713 = load i32, ptr %.sroa.sel, align 4 + %.pr714 = load i32, ptr %.sroa.sel, align 4 br label %.critedge .critedge: ; preds = %.critedgethread-pre-split, %47 - %129 = phi i32 [ %.pr713, %.critedgethread-pre-split ], [ %52, %47 ] + %129 = phi i32 [ %.pr714, %.critedgethread-pre-split ], [ %52, %47 ] %130 = add i32 %129, 4 %131 = call i32 @llvm.smax.i32(i32 %130, i32 0) %132 = load i32, ptr %51, align 8, !tbaa !146 @@ -2486,10 +2486,10 @@ _ZN2OT9glyf_impl5GlyphC2E10hb_array_tIKcEj.exit.i: ; preds = %488 _ZNK2OT18glyf_accelerator_t13glyph_for_gidEjb.exit: ; preds = %456, %.critedge.i, %_ZN2OT9glyf_impl5GlyphC2E10hb_array_tIKcEj.exit.i %_hb_NullPool.sink = phi ptr [ @_hb_NullPool, %456 ], [ @_hb_NullPool, %.critedge.i ], [ %spec.select.i.i24.i, %_ZN2OT9glyf_impl5GlyphC2E10hb_array_tIKcEj.exit.i ] - %.sink742 = phi i32 [ -1, %456 ], [ -1, %.critedge.i ], [ %454, %_ZN2OT9glyf_impl5GlyphC2E10hb_array_tIKcEj.exit.i ] + %.sink743 = phi i32 [ -1, %456 ], [ -1, %.critedge.i ], [ %454, %_ZN2OT9glyf_impl5GlyphC2E10hb_array_tIKcEj.exit.i ] %.sink = phi i32 [ 0, %456 ], [ 0, %.critedge.i ], [ %.sroa.7.0, %_ZN2OT9glyf_impl5GlyphC2E10hb_array_tIKcEj.exit.i ] store ptr %_hb_NullPool.sink, ptr %403, align 8 - store i32 %.sink742, ptr %404, align 8 + store i32 %.sink743, ptr %404, align 8 store i32 %.sink, ptr %405, align 4 %503 = call noundef zeroext i1 @_ZNK2OT9glyf_impl5Glyph10get_pointsINS_18glyf_accelerator_tEEEbP9hb_font_tRKT_R22contour_point_vector_tPS9_P16head_maxp_info_tPjbbb10hb_array_tIKiEP8hb_map_tjSE_(ptr noundef nonnull align 8 dereferenceable(32) %20, ptr noundef %1, ptr noundef nonnull align 8 dereferenceable(48) %2, ptr noundef nonnull align 8 dereferenceable(16) %3, ptr noundef %4, ptr noundef %5, ptr noundef %6, i1 noundef zeroext %7, i1 noundef zeroext %8, i1 noundef zeroext %9, ptr noundef nonnull byval(%struct.hb_array_t.161) align 8 %10, ptr noundef nonnull %spec.store.select5, i32 noundef %409, ptr noundef nonnull %spec.store.select) call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %20) #13 @@ -2523,11 +2523,11 @@ _ZNK10hb_array_tI15contour_point_tE9sub_arrayEjPj.exit286: ; preds = %505, %508 %.sroa.3.0.i279.in = phi i32 [ %storemerge.i283, %508 ], [ %506, %505 ] %.sroa.0.0.i280 = phi ptr [ %510, %508 ], [ %507, %505 ] %.sroa.3.0.i279 = zext i32 %.sroa.3.0.i279.in to i64 - %.pre698.pre704 = load i16, ptr %.sroa.5424.0647, align 1 - %511 = and i16 %.pre698.pre704, 2 + %.pre698.pre705 = load i16, ptr %.sroa.5424.0647, align 1 + %511 = and i16 %.pre698.pre705, 2 %.not619 = icmp ne i16 %511, 0 - %or.cond743.not = select i1 %8, i1 %.not619, i1 false - br i1 %or.cond743.not, label %.preheader, label %.loopexit624 + %or.cond744.not = select i1 %8, i1 %.not619, i1 false + br i1 %or.cond744.not, label %.preheader, label %.loopexit624 .preheader: ; preds = %_ZNK10hb_array_tI15contour_point_tE9sub_arrayEjPj.exit286 %512 = add i32 %.sroa.3.0.i279.in, -4 @@ -2574,7 +2574,7 @@ _ZN9hb_iter_tI10hb_array_tI15contour_point_tERS1_EixEj.exit292: ; preds = %520, br label %.loopexit624 .loopexit624: ; preds = %.loopexit624.loopexit, %_ZNK10hb_array_tI15contour_point_tE9sub_arrayEjPj.exit286 - %.pre698 = phi i16 [ %.pre698.pre, %.loopexit624.loopexit ], [ %.pre698.pre704, %_ZNK10hb_array_tI15contour_point_tE9sub_arrayEjPj.exit286 ] + %.pre698 = phi i16 [ %.pre698.pre, %.loopexit624.loopexit ], [ %.pre698.pre705, %_ZNK10hb_array_tI15contour_point_tE9sub_arrayEjPj.exit286 ] %.not620 = icmp eq i32 %.sroa.3.0.i279.in, 0 br i1 %.not620, label %573, label %523 @@ -2823,9 +2823,9 @@ _ZN2OT9glyf_impl20CompositeGlyphRecord9translateERK15contour_point_t10hb_array_t 645: ; preds = %640 %646 = load i32, ptr %3, align 8, !tbaa !146 %.not22.i.i326 = icmp ugt i32 %637, %646 - br i1 %.not22.i.i326, label %_ZN11hb_vector_tI15contour_point_tLb0EE5allocEjb.exit.thread21.i327, label %_ZN11hb_vector_tI15contour_point_tLb0EE5allocEjb.exit.thread.i317 + br i1 %.not22.i.i326, label %._ZN11hb_vector_tI15contour_point_tLb0EE5allocEjb.exit.thread21.i327_crit_edge, label %_ZN11hb_vector_tI15contour_point_tLb0EE5allocEjb.exit.thread.i317 -_ZN11hb_vector_tI15contour_point_tLb0EE5allocEjb.exit.thread21.i327: ; preds = %645, %.thread.i.i323 +._ZN11hb_vector_tI15contour_point_tLb0EE5allocEjb.exit.thread21.i327_crit_edge: ; preds = %645, %.thread.i.i323 %.sink.i.ph.in.i328 = phi i32 [ %632, %.thread.i.i323 ], [ %646, %645 ] %.sink.i.ph.i329 = xor i32 %.sink.i.ph.in.i328, -1 store i32 %.sink.i.ph.i329, ptr %3, align 8, !tbaa !146 diff --git a/bench/html5ever-rs/optimized/2p0p1zz6gwjy9c4w.ll b/bench/html5ever-rs/optimized/2p0p1zz6gwjy9c4w.ll index d991b8f0ad3..38b3389bb65 100644 --- a/bench/html5ever-rs/optimized/2p0p1zz6gwjy9c4w.ll +++ b/bench/html5ever-rs/optimized/2p0p1zz6gwjy9c4w.ll @@ -3842,7 +3842,7 @@ common.resume: ; preds = %10 %96 = icmp eq i64 %.val.i.i.pre, 0 br i1 %96, label %"_ZN4core3ptr95drop_in_place$LT$alloc..raw_vec..RawVec$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$$GT$17hd17a675eb3f69549E.llvm.10022686776672290337.exit", label %97 -97: ; preds = %"_ZN4core3ptr88drop_in_place$LT$alloc..vec..Vec$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$$GT$17hed298f06e372a7d7E.llvm.10022686776672290337.exit" +97:; preds = %"_ZN4core3ptr88drop_in_place$LT$alloc..vec..Vec$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$$GT$17hed298f06e372a7d7E.llvm.10022686776672290337.exit" %98 = getelementptr inbounds nuw i8, ptr %5, i64 8 %99 = load ptr, ptr %98, align 8, !alias.scope !989, !nonnull !4, !noundef !4 %100 = shl nuw i64 %.val.i.i.pre, 3 diff --git a/bench/ipopt/optimized/IpFilterLSAcceptor.ll b/bench/ipopt/optimized/IpFilterLSAcceptor.ll index 45c08252f47..8970d6415a8 100644 --- a/bench/ipopt/optimized/IpFilterLSAcceptor.ll +++ b/bench/ipopt/optimized/IpFilterLSAcceptor.ll @@ -18048,13 +18048,13 @@ _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit1442: ; preds = %_ to label %_ZN5Ipopt9TimedTask3EndEv.exit.sink.split unwind label %3942 _ZN5Ipopt9TimedTask3EndEv.exit.sink.split: ; preds = %.noexc1444, %.noexc1394 - %.sink1848 = phi ptr [ %3814, %.noexc1394 ], [ %4075, %.noexc1444 ] + %.sink1849 = phi ptr [ %3814, %.noexc1394 ], [ %4075, %.noexc1444 ] %.sink = phi double [ %3835, %.noexc1394 ], [ %4096, %.noexc1444 ] %.2.ph = phi i1 [ false, %.noexc1394 ], [ %.01681837, %.noexc1444 ] - %4097 = getelementptr inbounds nuw i8, ptr %.sink1848, i64 1440 + %4097 = getelementptr inbounds nuw i8, ptr %.sink1849, i64 1440 %4098 = load double, ptr %4097, align 8, !tbaa !236 %4099 = fsub double %.sink, %4098 - %4100 = getelementptr inbounds nuw i8, ptr %.sink1848, i64 1448 + %4100 = getelementptr inbounds nuw i8, ptr %.sink1849, i64 1448 %4101 = load double, ptr %4100, align 8, !tbaa !807 %4102 = fadd double %4101, %4099 store double %4102, ptr %4100, align 8, !tbaa !807 diff --git a/bench/ipopt/optimized/IpPiecewisePenalty.ll b/bench/ipopt/optimized/IpPiecewisePenalty.ll index d798ffe0a6b..f74bf88d8a7 100644 --- a/bench/ipopt/optimized/IpPiecewisePenalty.ll +++ b/bench/ipopt/optimized/IpPiecewisePenalty.ll @@ -279,14 +279,14 @@ _ZNSt6vectorIN5Ipopt17PiecewisePenEntryESaIS1_EE5clearEv.exit: ; preds = %11 36: ; preds = %.lr.ph, %_ZN5Ipopt16PiecewisePenalty8AddEntryEddd.exit126 %37 = phi ptr [ %20, %.lr.ph ], [ %227, %_ZN5Ipopt16PiecewisePenalty8AddEntryEddd.exit126 ] - %38 = phi ptr [ %7, %.lr.ph ], [ %228, %_ZN5Ipopt16PiecewisePenalty8AddEntryEddd.exit126 ] - %39 = phi ptr [ %7, %.lr.ph ], [ %229, %_ZN5Ipopt16PiecewisePenalty8AddEntryEddd.exit126 ] - %40 = phi ptr [ %7, %.lr.ph ], [ %230, %_ZN5Ipopt16PiecewisePenalty8AddEntryEddd.exit126 ] - %41 = phi ptr [ %7, %.lr.ph ], [ %231, %_ZN5Ipopt16PiecewisePenalty8AddEntryEddd.exit126 ] - %42 = phi ptr [ %20, %.lr.ph ], [ %232, %_ZN5Ipopt16PiecewisePenalty8AddEntryEddd.exit126 ] - %43 = phi ptr [ %7, %.lr.ph ], [ %233, %_ZN5Ipopt16PiecewisePenalty8AddEntryEddd.exit126 ] + %38 = phi ptr [ %7, %.lr.ph ], [ %.pre178, %_ZN5Ipopt16PiecewisePenalty8AddEntryEddd.exit126 ] + %39 = phi ptr [ %7, %.lr.ph ], [ %228, %_ZN5Ipopt16PiecewisePenalty8AddEntryEddd.exit126 ] + %40 = phi ptr [ %7, %.lr.ph ], [ %229, %_ZN5Ipopt16PiecewisePenalty8AddEntryEddd.exit126 ] + %41 = phi ptr [ %7, %.lr.ph ], [ %230, %_ZN5Ipopt16PiecewisePenalty8AddEntryEddd.exit126 ] + %42 = phi ptr [ %20, %.lr.ph ], [ %231, %_ZN5Ipopt16PiecewisePenalty8AddEntryEddd.exit126 ] + %43 = phi ptr [ %7, %.lr.ph ], [ %232, %_ZN5Ipopt16PiecewisePenalty8AddEntryEddd.exit126 ] %.0177 = phi double [ %28, %.lr.ph ], [ %54, %_ZN5Ipopt16PiecewisePenalty8AddEntryEddd.exit126 ] - %.sroa.0137.0176 = phi ptr [ %19, %.lr.ph ], [ %234, %_ZN5Ipopt16PiecewisePenalty8AddEntryEddd.exit126 ] + %.sroa.0137.0176 = phi ptr [ %19, %.lr.ph ], [ %233, %_ZN5Ipopt16PiecewisePenalty8AddEntryEddd.exit126 ] %44 = icmp ule ptr %.sroa.0137.0176, %34 %or.cond167 = select i1 %33, i1 %44, i1 false br i1 %or.cond167, label %45, label %.critedge @@ -771,14 +771,14 @@ _ZNSt6vectorIN5Ipopt17PiecewisePenEntryESaIS1_EE17_M_realloc_insertIJRKS1_EEEvN9 _ZN5Ipopt16PiecewisePenalty8AddEntryEddd.exit126: ; preds = %_ZNSt6vectorIN5Ipopt17PiecewisePenEntryESaIS1_EE17_M_realloc_insertIJRKS1_EEEvN9__gnu_cxx17__normal_iteratorIPS1_S3_EEDpOT_.exit.i.i123, %222, %_ZN5Ipopt16PiecewisePenalty8AddEntryEddd.exit111, %218 %227 = phi ptr [ %225, %_ZNSt6vectorIN5Ipopt17PiecewisePenEntryESaIS1_EE17_M_realloc_insertIJRKS1_EEEvN9__gnu_cxx17__normal_iteratorIPS1_S3_EEDpOT_.exit.i.i123 ], [ %223, %222 ], [ %210, %_ZN5Ipopt16PiecewisePenalty8AddEntryEddd.exit111 ], [ %210, %218 ] - %228 = phi ptr [ %224, %_ZNSt6vectorIN5Ipopt17PiecewisePenEntryESaIS1_EE17_M_realloc_insertIJRKS1_EEEvN9__gnu_cxx17__normal_iteratorIPS1_S3_EEDpOT_.exit.i.i123 ], [ %211, %222 ], [ %211, %_ZN5Ipopt16PiecewisePenalty8AddEntryEddd.exit111 ], [ %211, %218 ] - %229 = phi ptr [ %224, %_ZNSt6vectorIN5Ipopt17PiecewisePenEntryESaIS1_EE17_M_realloc_insertIJRKS1_EEEvN9__gnu_cxx17__normal_iteratorIPS1_S3_EEDpOT_.exit.i.i123 ], [ %211, %222 ], [ %212, %_ZN5Ipopt16PiecewisePenalty8AddEntryEddd.exit111 ], [ %211, %218 ] - %230 = phi ptr [ %224, %_ZNSt6vectorIN5Ipopt17PiecewisePenEntryESaIS1_EE17_M_realloc_insertIJRKS1_EEEvN9__gnu_cxx17__normal_iteratorIPS1_S3_EEDpOT_.exit.i.i123 ], [ %211, %222 ], [ %213, %_ZN5Ipopt16PiecewisePenalty8AddEntryEddd.exit111 ], [ %211, %218 ] - %231 = phi ptr [ %224, %_ZNSt6vectorIN5Ipopt17PiecewisePenEntryESaIS1_EE17_M_realloc_insertIJRKS1_EEEvN9__gnu_cxx17__normal_iteratorIPS1_S3_EEDpOT_.exit.i.i123 ], [ %211, %222 ], [ %214, %_ZN5Ipopt16PiecewisePenalty8AddEntryEddd.exit111 ], [ %211, %218 ] - %232 = phi ptr [ %225, %_ZNSt6vectorIN5Ipopt17PiecewisePenEntryESaIS1_EE17_M_realloc_insertIJRKS1_EEEvN9__gnu_cxx17__normal_iteratorIPS1_S3_EEDpOT_.exit.i.i123 ], [ %223, %222 ], [ %215, %_ZN5Ipopt16PiecewisePenalty8AddEntryEddd.exit111 ], [ %210, %218 ] - %233 = phi ptr [ %224, %_ZNSt6vectorIN5Ipopt17PiecewisePenEntryESaIS1_EE17_M_realloc_insertIJRKS1_EEEvN9__gnu_cxx17__normal_iteratorIPS1_S3_EEDpOT_.exit.i.i123 ], [ %211, %222 ], [ %216, %_ZN5Ipopt16PiecewisePenalty8AddEntryEddd.exit111 ], [ %211, %218 ] - %234 = getelementptr inbounds nuw i8, ptr %.sroa.0137.0176, i64 24 - %.not168 = icmp ugt ptr %234, %17 + %.pre178 = phi ptr [ %224, %_ZNSt6vectorIN5Ipopt17PiecewisePenEntryESaIS1_EE17_M_realloc_insertIJRKS1_EEEvN9__gnu_cxx17__normal_iteratorIPS1_S3_EEDpOT_.exit.i.i123 ], [ %211, %222 ], [ %211, %_ZN5Ipopt16PiecewisePenalty8AddEntryEddd.exit111 ], [ %211, %218 ] + %228 = phi ptr [ %224, %_ZNSt6vectorIN5Ipopt17PiecewisePenEntryESaIS1_EE17_M_realloc_insertIJRKS1_EEEvN9__gnu_cxx17__normal_iteratorIPS1_S3_EEDpOT_.exit.i.i123 ], [ %211, %222 ], [ %212, %_ZN5Ipopt16PiecewisePenalty8AddEntryEddd.exit111 ], [ %211, %218 ] + %229 = phi ptr [ %224, %_ZNSt6vectorIN5Ipopt17PiecewisePenEntryESaIS1_EE17_M_realloc_insertIJRKS1_EEEvN9__gnu_cxx17__normal_iteratorIPS1_S3_EEDpOT_.exit.i.i123 ], [ %211, %222 ], [ %213, %_ZN5Ipopt16PiecewisePenalty8AddEntryEddd.exit111 ], [ %211, %218 ] + %230 = phi ptr [ %224, %_ZNSt6vectorIN5Ipopt17PiecewisePenEntryESaIS1_EE17_M_realloc_insertIJRKS1_EEEvN9__gnu_cxx17__normal_iteratorIPS1_S3_EEDpOT_.exit.i.i123 ], [ %211, %222 ], [ %214, %_ZN5Ipopt16PiecewisePenalty8AddEntryEddd.exit111 ], [ %211, %218 ] + %231 = phi ptr [ %225, %_ZNSt6vectorIN5Ipopt17PiecewisePenEntryESaIS1_EE17_M_realloc_insertIJRKS1_EEEvN9__gnu_cxx17__normal_iteratorIPS1_S3_EEDpOT_.exit.i.i123 ], [ %223, %222 ], [ %215, %_ZN5Ipopt16PiecewisePenalty8AddEntryEddd.exit111 ], [ %210, %218 ] + %232 = phi ptr [ %224, %_ZNSt6vectorIN5Ipopt17PiecewisePenEntryESaIS1_EE17_M_realloc_insertIJRKS1_EEEvN9__gnu_cxx17__normal_iteratorIPS1_S3_EEDpOT_.exit.i.i123 ], [ %211, %222 ], [ %216, %_ZN5Ipopt16PiecewisePenalty8AddEntryEddd.exit111 ], [ %211, %218 ] + %233 = getelementptr inbounds nuw i8, ptr %.sroa.0137.0176, i64 24 + %.not168 = icmp ugt ptr %233, %17 br i1 %.not168, label %_ZNSt6vectorIN5Ipopt17PiecewisePenEntryESaIS1_EED2Ev.exit128.loopexit, label %36, !llvm.loop !30 _ZNSt6vectorIN5Ipopt17PiecewisePenEntryESaIS1_EED2Ev.exit128.loopexit: ; preds = %_ZN5Ipopt16PiecewisePenalty8AddEntryEddd.exit126 @@ -787,16 +787,16 @@ _ZNSt6vectorIN5Ipopt17PiecewisePenEntryESaIS1_EED2Ev.exit128.loopexit: ; preds = br label %_ZNSt6vectorIN5Ipopt17PiecewisePenEntryESaIS1_EED2Ev.exit128 _ZNSt6vectorIN5Ipopt17PiecewisePenEntryESaIS1_EED2Ev.exit128: ; preds = %_ZNSt6vectorIN5Ipopt17PiecewisePenEntryESaIS1_EE5clearEv.exit, %_ZNSt6vectorIN5Ipopt17PiecewisePenEntryESaIS1_EED2Ev.exit128.loopexit - %235 = phi ptr [ %19, %_ZNSt6vectorIN5Ipopt17PiecewisePenEntryESaIS1_EED2Ev.exit128.loopexit ], [ %14, %_ZNSt6vectorIN5Ipopt17PiecewisePenEntryESaIS1_EE5clearEv.exit ] + %234 = phi ptr [ %19, %_ZNSt6vectorIN5Ipopt17PiecewisePenEntryESaIS1_EED2Ev.exit128.loopexit ], [ %14, %_ZNSt6vectorIN5Ipopt17PiecewisePenEntryESaIS1_EE5clearEv.exit ] %.pre-phi185 = phi i64 [ %31, %_ZNSt6vectorIN5Ipopt17PiecewisePenEntryESaIS1_EED2Ev.exit128.loopexit ], [ %10, %_ZNSt6vectorIN5Ipopt17PiecewisePenEntryESaIS1_EE5clearEv.exit ] %.pre-phi = phi i64 [ %.pre179, %_ZNSt6vectorIN5Ipopt17PiecewisePenEntryESaIS1_EED2Ev.exit128.loopexit ], [ %9, %_ZNSt6vectorIN5Ipopt17PiecewisePenEntryESaIS1_EE5clearEv.exit ] - %236 = phi ptr [ %227, %_ZNSt6vectorIN5Ipopt17PiecewisePenEntryESaIS1_EED2Ev.exit128.loopexit ], [ %7, %_ZNSt6vectorIN5Ipopt17PiecewisePenEntryESaIS1_EE5clearEv.exit ] - %237 = ptrtoint ptr %236 to i64 - %238 = sub i64 %237, %.pre-phi - %239 = sdiv exact i64 %238, 24 - %240 = trunc i64 %239 to i32 - store i32 %240, ptr %0, align 8, !tbaa !3 - tail call void @_ZdlPvm(ptr noundef nonnull %235, i64 noundef %.pre-phi185) #17 + %235 = phi ptr [ %227, %_ZNSt6vectorIN5Ipopt17PiecewisePenEntryESaIS1_EED2Ev.exit128.loopexit ], [ %7, %_ZNSt6vectorIN5Ipopt17PiecewisePenEntryESaIS1_EE5clearEv.exit ] + %236 = ptrtoint ptr %235 to i64 + %237 = sub i64 %236, %.pre-phi + %238 = sdiv exact i64 %237, 24 + %239 = trunc i64 %238 to i32 + store i32 %239, ptr %0, align 8, !tbaa !3 + tail call void @_ZdlPvm(ptr noundef nonnull %234, i64 noundef %.pre-phi185) #17 ret void } diff --git a/bench/jq/optimized/lexer.ll b/bench/jq/optimized/lexer.ll index ff776994f53..7ddab84ff9c 100644 --- a/bench/jq/optimized/lexer.ll +++ b/bench/jq/optimized/lexer.ll @@ -1655,8 +1655,8 @@ yy_get_next_buffer.exit: ; preds = %._crit_edge191.i, % ] yy_get_next_buffer.exit.yy_get_next_buffer.exit.thread607_crit_edge: ; preds = %yy_get_next_buffer.exit - %.pre1124 = load i32, ptr %83, align 4 - %.pre1125 = sext i32 %.pre1124 to i64 + %.pre1118 = load i32, ptr %83, align 4 + %.pre1119 = sext i32 %.pre1118 to i64 br label %yy_get_next_buffer.exit.thread607 823: ; preds = %yy_get_next_buffer.exit @@ -1665,8 +1665,8 @@ yy_get_next_buffer.exit.yy_get_next_buffer.exit.thread607_crit_edge: ; preds = % %826 = sub i64 %824, %825 %827 = trunc i64 %826 to i32 %828 = shl i64 %826, 32 - %sext1222 = add i64 %828, -4294967296 - %829 = ashr exact i64 %sext1222, 32 + %sext1227 = add i64 %828, -4294967296 + %829 = ashr exact i64 %sext1227, 32 %830 = getelementptr inbounds i8, ptr %822, i64 %829 store ptr %830, ptr %74, align 8, !tbaa !34 %831 = load i32, ptr %76, align 4, !tbaa !18 @@ -1748,7 +1748,7 @@ yy_get_next_buffer.exit.yy_get_next_buffer.exit.thread607_crit_edge: ; preds = % br i1 %exitcond.not.i589, label %.loopexit611.backedge, label %.lr.ph31.i577, !llvm.loop !53 yy_get_next_buffer.exit.thread607: ; preds = %yy_get_next_buffer.exit.yy_get_next_buffer.exit.thread607_crit_edge, %.yy_get_next_buffer.exit.thread607_crit_edge - %.pre-phi = phi i64 [ %.pre1125, %yy_get_next_buffer.exit.yy_get_next_buffer.exit.thread607_crit_edge ], [ %554, %.yy_get_next_buffer.exit.thread607_crit_edge ] + %.pre-phi = phi i64 [ %.pre1119, %yy_get_next_buffer.exit.yy_get_next_buffer.exit.thread607_crit_edge ], [ %554, %.yy_get_next_buffer.exit.thread607_crit_edge ] %874 = phi ptr [ %822, %yy_get_next_buffer.exit.yy_get_next_buffer.exit.thread607_crit_edge ], [ %637, %.yy_get_next_buffer.exit.thread607_crit_edge ] %875 = phi ptr [ %822, %yy_get_next_buffer.exit.yy_get_next_buffer.exit.thread607_crit_edge ], [ %.pre1123, %.yy_get_next_buffer.exit.thread607_crit_edge ] %876 = getelementptr inbounds i8, ptr %875, i64 %.pre-phi @@ -1837,7 +1837,7 @@ yy_get_next_buffer.exit.thread607: ; preds = %yy_get_next_buffer. %exitcond.not.i604 = icmp eq ptr %919, %876 br i1 %exitcond.not.i604, label %.preheader.outer.backedge, label %.lr.ph31.i592, !llvm.loop !53 -default.unreachable1126: ; preds = %yy_get_next_buffer.exit +default.unreachable1120: ; preds = %yy_get_next_buffer.exit unreachable yy_get_previous_state.exit590: ; preds = %yy_get_next_buffer.exit, %647 diff --git a/bench/luau/optimized/IrUtils.ll b/bench/luau/optimized/IrUtils.ll index 7cc68491f05..c183c89f943 100644 --- a/bench/luau/optimized/IrUtils.ll +++ b/bench/luau/optimized/IrUtils.ll @@ -4314,9 +4314,9 @@ define dso_local void @_ZN4Luau7CodeGen16killUnusedBlocksERNS0_10IrFunctionE(ptr 33: ; preds = %32, %27 %indvars.iv.next.i = add nsw i64 %indvars.iv.i, -1 %.not.i.not.i = icmp sgt i64 %indvars.iv.i, %26 - br i1 %.not.i.not.i, label %27, label %_ZN4Luau7CodeGen4killERNS0_10IrFunctionERNS0_7IrBlockE.exit, !llvm.loop !33 + br i1 %.not.i.not.i, label %27, label %_ZN4Luau7CodeGen4killERNS0_10IrFunctionERNS0_7IrBlockE.exit.loopexit, !llvm.loop !33 -_ZN4Luau7CodeGen4killERNS0_10IrFunctionERNS0_7IrBlockE.exit: ; preds = %33, %20 +_ZN4Luau7CodeGen4killERNS0_10IrFunctionERNS0_7IrBlockE.exit.loopexit: ; preds = %33, %20 store i32 -1, ptr %21, align 4, !tbaa !30 store i32 -1, ptr %23, align 4, !tbaa !31 %.pre = load ptr, ptr %2, align 8 @@ -4355,8 +4355,8 @@ define dso_local void @_ZN4Luau7CodeGen19getSortedBlockOrderERNS0_10IrFunctionE( 11: ; preds = %2 %12 = getelementptr inbounds nuw i8, ptr %0, i64 16 - %.not36 = icmp eq ptr %4, %5 - br i1 %.not36, label %_ZNSt6vectorIjSaIjEE7reserveEm.exit, label %_ZNSt12_Vector_baseIjSaIjEE11_M_allocateEm.exit.i + %.not42 = icmp eq ptr %4, %5 + br i1 %.not42, label %_ZNSt6vectorIjSaIjEE7reserveEm.exit, label %_ZNSt12_Vector_baseIjSaIjEE11_M_allocateEm.exit.i _ZNSt12_Vector_baseIjSaIjEE11_M_allocateEm.exit.i: ; preds = %11 %13 = getelementptr inbounds nuw i8, ptr %0, i64 8 diff --git a/bench/luau/optimized/Lexer.ll b/bench/luau/optimized/Lexer.ll index 8855574c0a2..c41cfca25b3 100644 --- a/bench/luau/optimized/Lexer.ll +++ b/bench/luau/optimized/Lexer.ll @@ -5038,23 +5038,23 @@ _ZNSt6vectorIN4Luau5Lexer9BraceTypeESaIS2_EE9push_backEOS2_.exit: ; preds = %78, br i1 %104, label %_ZNK4Luau5Lexer6peekchEj.exit10, label %_ZNSt6vectorIN4Luau5Lexer9BraceTypeESaIS2_EE9push_backEOS2_.exit._ZNK4Luau5Lexer6peekchEj.exit10.thread_crit_edge _ZNSt6vectorIN4Luau5Lexer9BraceTypeESaIS2_EE9push_backEOS2_.exit._ZNK4Luau5Lexer6peekchEj.exit10.thread_crit_edge: ; preds = %_ZNSt6vectorIN4Luau5Lexer9BraceTypeESaIS2_EE9push_backEOS2_.exit - %.pre55 = load i32, ptr %13, align 4 - %.pre57 = load i32, ptr %14, align 8 + %.pre56 = load i32, ptr %13, align 4 + %.pre58 = load i32, ptr %14, align 8 br label %_ZNK4Luau5Lexer6peekchEj.exit10.thread _ZNK4Luau5Lexer6peekchEj.exit10: ; preds = %_ZNSt6vectorIN4Luau5Lexer9BraceTypeESaIS2_EE9push_backEOS2_.exit %105 = getelementptr inbounds nuw i8, ptr %.pre51, i64 %103 %106 = load i8, ptr %105, align 1, !tbaa !15 %107 = icmp eq i8 %106, 123 - %.pre56 = load i32, ptr %13, align 4 - %.pre58 = load i32, ptr %14, align 8 + %.pre57 = load i32, ptr %13, align 4 + %.pre59 = load i32, ptr %14, align 8 br i1 %107, label %108, label %_ZNK4Luau5Lexer6peekchEj.exit10.thread 108: ; preds = %_ZNK4Luau5Lexer6peekchEj.exit10 - %109 = sub i32 %101, %.pre58 + %109 = sub i32 %101, %.pre59 %.sroa.431.0.insert.ext = zext i32 %109 to i64 %.sroa.431.0.insert.shift = shl nuw i64 %.sroa.431.0.insert.ext, 32 - %.sroa.030.0.insert.ext = zext i32 %.pre56 to i64 + %.sroa.030.0.insert.ext = zext i32 %.pre57 to i64 %.sroa.030.0.insert.insert = or disjoint i64 %.sroa.431.0.insert.shift, %.sroa.030.0.insert.ext %110 = getelementptr inbounds nuw i8, ptr %.pre51, i64 %10 %111 = sub i32 %101, %7 @@ -5072,8 +5072,8 @@ _ZNK4Luau5Lexer6peekchEj.exit10: ; preds = %_ZNSt6vectorIN4Luau br label %139 _ZNK4Luau5Lexer6peekchEj.exit10.thread: ; preds = %_ZNSt6vectorIN4Luau5Lexer9BraceTypeESaIS2_EE9push_backEOS2_.exit._ZNK4Luau5Lexer6peekchEj.exit10.thread_crit_edge, %_ZNK4Luau5Lexer6peekchEj.exit10 - %116 = phi i32 [ %.pre57, %_ZNSt6vectorIN4Luau5Lexer9BraceTypeESaIS2_EE9push_backEOS2_.exit._ZNK4Luau5Lexer6peekchEj.exit10.thread_crit_edge ], [ %.pre58, %_ZNK4Luau5Lexer6peekchEj.exit10 ] - %117 = phi i32 [ %.pre55, %_ZNSt6vectorIN4Luau5Lexer9BraceTypeESaIS2_EE9push_backEOS2_.exit._ZNK4Luau5Lexer6peekchEj.exit10.thread_crit_edge ], [ %.pre56, %_ZNK4Luau5Lexer6peekchEj.exit10 ] + %116 = phi i32 [ %.pre58, %_ZNSt6vectorIN4Luau5Lexer9BraceTypeESaIS2_EE9push_backEOS2_.exit._ZNK4Luau5Lexer6peekchEj.exit10.thread_crit_edge ], [ %.pre59, %_ZNK4Luau5Lexer6peekchEj.exit10 ] + %117 = phi i32 [ %.pre56, %_ZNSt6vectorIN4Luau5Lexer9BraceTypeESaIS2_EE9push_backEOS2_.exit._ZNK4Luau5Lexer6peekchEj.exit10.thread_crit_edge ], [ %.pre57, %_ZNK4Luau5Lexer6peekchEj.exit10 ] store i32 %102, ptr %6, align 8, !tbaa !60 %118 = sub i32 %102, %116 %.sroa.429.0.insert.ext = zext i32 %118 to i64 diff --git a/bench/lvgl/optimized/lv_flex.ll b/bench/lvgl/optimized/lv_flex.ll index c818db197e5..92e98dd0086 100644 --- a/bench/lvgl/optimized/lv_flex.ll +++ b/bench/lvgl/optimized/lv_flex.ll @@ -1109,8 +1109,8 @@ get_next_item.exit: ; preds = %133, %146 %169 = getelementptr inbounds nuw i8, ptr %.0203278, i64 62 %170 = load i16, ptr %169, align 2 %171 = and i16 %170, -3073 - %.315 = select i1 %.not217, i16 1024, i16 2048 - %172 = or disjoint i16 %171, %.315 + %.319 = select i1 %.not217, i16 1024, i16 2048 + %172 = or disjoint i16 %171, %.319 store i16 %172, ptr %169, align 2 %173 = getelementptr inbounds nuw i8, ptr %.0203278, i64 40 %174 = call i32 %14(ptr noundef nonnull %173) #7, !callees !77 diff --git a/bench/pbrt-v4/optimized/rgb2spec_opt.ll b/bench/pbrt-v4/optimized/rgb2spec_opt.ll index 2aa626f9a19..dd589af3ef1 100644 --- a/bench/pbrt-v4/optimized/rgb2spec_opt.ll +++ b/bench/pbrt-v4/optimized/rgb2spec_opt.ll @@ -3056,10 +3056,10 @@ define internal void @"_ZNSt17_Function_handlerIFvlEZ4mainE3$_0E9_M_invokeERKSt9 ._crit_edge.i..lr.ph68.preheader.i_crit_edge.i.i: ; preds = %._crit_edge.i.i.i %.pre.i.i = zext i32 %29 to i64 - br label %.lr.ph68.preheader.i.i.i + br label %.lr.ph68.i.i.i.preheader -.lr.ph68.preheader.i.i.i: ; preds = %._crit_edge.thread.i.i.i, %._crit_edge.i..lr.ph68.preheader.i_crit_edge.i.i - %.pre-phi.i.i = phi i64 [ %.pre.i.i, %._crit_edge.i..lr.ph68.preheader.i_crit_edge.i.i ], [ %31, %._crit_edge.thread.i.i.i ] +.lr.ph68.i.i.i.preheader: ; preds = %._crit_edge.thread.i.i.i, %._crit_edge.i..lr.ph68.preheader.i_crit_edge.i.i + %.ph = phi i64 [ %.pre.i.i, %._crit_edge.i..lr.ph68.preheader.i_crit_edge.i.i ], [ %31, %._crit_edge.thread.i.i.i ] %.pre79.i.i.i = load ptr, ptr %17, align 8 %.pre80.i.i.i = load i32, ptr %.pre79.i.i.i, align 4 br label %.lr.ph68.i.i.i @@ -3133,7 +3133,7 @@ define internal void @"_ZNSt17_Function_handlerIFvlEZ4mainE3$_0E9_M_invokeERKSt9 ._crit_edge.thread.i.i.i: ; preds = %.lr.ph.i.i.i call void @llvm.memset.p0.i64(ptr noundef nonnull align 16 dereferenceable(24) %3, i8 0, i64 24, i1 false) - br label %.lr.ph68.preheader.i.i.i + br label %.lr.ph68.i.i.i.preheader ._crit_edge69.i.i.i: ; preds = %.lr.ph68.i.i.i, %._crit_edge.i.i.i %88 = phi ptr [ %23, %._crit_edge.i.i.i ], [ %115, %.lr.ph68.i.i.i ] @@ -3146,7 +3146,7 @@ define internal void @"_ZNSt17_Function_handlerIFvlEZ4mainE3$_0E9_M_invokeERKSt9 .lr.ph68.i.i.i: ; preds = %.lr.ph68.i.i.i, %.lr.ph68.preheader.i.i.i %92 = phi i32 [ %.pre80.i.i.i, %.lr.ph68.preheader.i.i.i ], [ %114, %.lr.ph68.i.i.i ] - %indvars.iv75.i.i.i = phi i64 [ %.pre-phi.i.i, %.lr.ph68.preheader.i.i.i ], [ %indvars.iv.next76.i.i.i, %.lr.ph68.i.i.i ] + %indvars.iv75.i.i.i = phi i64 [ %.ph, %.lr.ph68.preheader.i.i.i ], [ %indvars.iv.next76.i.i.i, %.lr.ph68.i.i.i ] %93 = load ptr, ptr %16, align 8, !tbaa !143 %94 = load ptr, ptr %93, align 8, !tbaa !114 %95 = getelementptr inbounds nuw float, ptr %94, i64 %indvars.iv75.i.i.i diff --git a/bench/pcg-cpp/optimized/pcg-demo.ll b/bench/pcg-cpp/optimized/pcg-demo.ll index 5c9970a005b..66aefe8ad59 100644 --- a/bench/pcg-cpp/optimized/pcg-demo.ll +++ b/bench/pcg-cpp/optimized/pcg-demo.ll @@ -956,7 +956,7 @@ _ZSt4iotaIPciEvT_S1_T0_.exit113.preheader: ; preds = %.lr.ph.i109 br label %_ZSt4iotaIPciEvT_S1_T0_.exit113 _ZSt4iotaIPciEvT_S1_T0_.exit113: ; preds = %_ZSt4iotaIPciEvT_S1_T0_.exit113.preheader, %_ZN10pcg_extras12bounded_randIN10pcg_detail6engineIjmNS1_12xsh_rr_mixinIjmEELb1ENS1_15specific_streamImEENS1_18default_multiplierImEEEEEENT_11result_typeERSA_SB_.exit.i - %.promoted.i.i115262 = phi i64 [ %405, %_ZN10pcg_extras12bounded_randIN10pcg_detail6engineIjmNS1_12xsh_rr_mixinIjmEELb1ENS1_15specific_streamImEENS1_18default_multiplierImEEEEEENT_11result_typeERSA_SB_.exit.i ], [ %.promoted, %_ZSt4iotaIPciEvT_S1_T0_.exit113.preheader ] + %.promoted.i.i115264 = phi i64 [ %405, %_ZN10pcg_extras12bounded_randIN10pcg_detail6engineIjmNS1_12xsh_rr_mixinIjmEELb1ENS1_15specific_streamImEENS1_18default_multiplierImEEEEEENT_11result_typeERSA_SB_.exit.i ], [ %.promoted, %_ZSt4iotaIPciEvT_S1_T0_.exit113.preheader ] %.012.i = phi ptr [ %416, %_ZN10pcg_extras12bounded_randIN10pcg_detail6engineIjmNS1_12xsh_rr_mixinIjmEELb1ENS1_15specific_streamImEENS1_18default_multiplierImEEEEEENT_11result_typeERSA_SB_.exit.i ], [ %92, %_ZSt4iotaIPciEvT_S1_T0_.exit113.preheader ] %.0911.i = phi i64 [ %415, %_ZN10pcg_extras12bounded_randIN10pcg_detail6engineIjmNS1_12xsh_rr_mixinIjmEELb1ENS1_15specific_streamImEENS1_18default_multiplierImEEEEEENT_11result_typeERSA_SB_.exit.i ], [ 52, %_ZSt4iotaIPciEvT_S1_T0_.exit113.preheader ] %399 = trunc i64 %.0911.i to i32 @@ -965,7 +965,7 @@ _ZSt4iotaIPciEvT_S1_T0_.exit113: ; preds = %_ZSt4iotaIPciEvT_S1 br label %402 402: ; preds = %402, %_ZSt4iotaIPciEvT_S1_T0_.exit113 - %403 = phi i64 [ %405, %402 ], [ %.promoted.i.i115262, %_ZSt4iotaIPciEvT_S1_T0_.exit113 ] + %403 = phi i64 [ %405, %402 ], [ %.promoted.i.i115264, %_ZSt4iotaIPciEvT_S1_T0_.exit113 ] %404 = mul i64 %403, 6364136223846793005 %405 = add i64 %404, %.sroa.0.0.copyload176 %406 = lshr i64 %403, 59 diff --git a/bench/re2/optimized/compile.ll b/bench/re2/optimized/compile.ll index aa700dc3a57..4521d61db0a 100644 --- a/bench/re2/optimized/compile.ll +++ b/bench/re2/optimized/compile.ll @@ -1855,14 +1855,14 @@ for.end.i.i.i.i: ; preds = %for.inc.i.i.i.i, %w %cmp.i.i.i13.i.i.i.i = icmp eq <16 x i8> %19, splat (i8 -128) %24 = bitcast <16 x i1> %cmp.i.i.i13.i.i.i.i to i16 %cmp.i14.not.i.i.i.i = icmp eq i16 %24, 0 - br i1 %cmp.i14.not.i.i.i.i, label %if.end31.i.i.i.i, label %_ZN4absl7debian218container_internal12raw_hash_mapINS1_17FlatHashMapPolicyImiEENS0_13hash_internal4HashImEESt8equal_toImESaISt4pairIKmiEEE11try_emplaceImJETnNSt9enable_ifIXntsr3std14is_convertibleIT_NS1_12raw_hash_setIS4_S7_S9_SD_E14const_iteratorEEE5valueEiE4typeELi0EEESA_INSJ_8iteratorEbERSB_DpOT0_.exit.thread.i + br i1 %cmp.i14.not.i.i.i.i, label %if.end31.i.i.i.i, label %if.then.i.i.i if.end31.i.i.i.i: ; preds = %for.end.i.i.i.i %add.i15.i.i.i.i = add i64 %seq.sroa.10.0.i.i.i.i, 16 %add3.i.i.i.i.i = add i64 %add.i15.i.i.i.i, %seq.sroa.4.0.i.i.i.i br label %while.body.i.i.i.i, !llvm.loop !14 -_ZN4absl7debian218container_internal12raw_hash_mapINS1_17FlatHashMapPolicyImiEENS0_13hash_internal4HashImEESt8equal_toImESaISt4pairIKmiEEE11try_emplaceImJETnNSt9enable_ifIXntsr3std14is_convertibleIT_NS1_12raw_hash_setIS4_S7_S9_SD_E14const_iteratorEEE5valueEiE4typeELi0EEESA_INSJ_8iteratorEbERSB_DpOT0_.exit.thread.i: ; preds = %for.end.i.i.i.i +if.then.i.i.i: ; preds = %for.end.i.i.i.i %call33.i.i.i.i = tail call noundef i64 @_ZN4absl7debian218container_internal12raw_hash_setINS1_17FlatHashMapPolicyImiEENS0_13hash_internal4HashImEESt8equal_toImESaISt4pairIKmiEEE14prepare_insertEm(ptr noundef nonnull align 8 dereferenceable(40) %rune_cache_, i64 noundef %conv1.i.i.i.i), !noalias !9 %25 = load ptr, ptr %slots_.i.i, align 8, !noalias !9 %add.ptr.i3.i.i.i = getelementptr inbounds %"union.absl::debian2::container_internal::map_slot_type", ptr %25, i64 %call33.i.i.i.i @@ -1877,7 +1877,7 @@ _ZN4absl7debian218container_internal12raw_hash_mapINS1_17FlatHashMapPolicyImiEEN %cmp.not.i.i.i = icmp eq ptr %15, null br i1 %cmp.not.i.i.i, label %cond.false.i.i.i, label %land.lhs.true.i.i.i -land.lhs.true.i.i.i: ; preds = %_ZN4absl7debian218container_internal12raw_hash_mapINS1_17FlatHashMapPolicyImiEENS0_13hash_internal4HashImEESt8equal_toImESaISt4pairIKmiEEE11try_emplaceImJETnNSt9enable_ifIXntsr3std14is_convertibleIT_NS1_12raw_hash_setIS4_S7_S9_SD_E14const_iteratorEEE5valueEiE4typeELi0EEESA_INSJ_8iteratorEbERSB_DpOT0_.exit.i, %_ZN4absl7debian218container_internal12raw_hash_mapINS1_17FlatHashMapPolicyImiEENS0_13hash_internal4HashImEESt8equal_toImESaISt4pairIKmiEEE11try_emplaceImJETnNSt9enable_ifIXntsr3std14is_convertibleIT_NS1_12raw_hash_setIS4_S7_S9_SD_E14const_iteratorEEE5valueEiE4typeELi0EEESA_INSJ_8iteratorEbERSB_DpOT0_.exit.thread.i +land.lhs.true.i.i.i: ; preds = %_ZN4absl7debian218container_internal12raw_hash_mapINS1_17FlatHashMapPolicyImiEENS0_13hash_internal4HashImEESt8equal_toImESaISt4pairIKmiEEE11try_emplaceImJETnNSt9enable_ifIXntsr3std14is_convertibleIT_NS1_12raw_hash_setIS4_S7_S9_SD_E14const_iteratorEEE5valueEiE4typeELi0EEESA_INSJ_8iteratorEbERSB_DpOT0_.exit.i, %if.then.i.i.i %retval.sroa.0.0.i15.i.i5.i = phi i64 [ %call33.i.i.i.i, %_ZN4absl7debian218container_internal12raw_hash_mapINS1_17FlatHashMapPolicyImiEENS0_13hash_internal4HashImEESt8equal_toImESaISt4pairIKmiEEE11try_emplaceImJETnNSt9enable_ifIXntsr3std14is_convertibleIT_NS1_12raw_hash_setIS4_S7_S9_SD_E14const_iteratorEEE5valueEiE4typeELi0EEESA_INSJ_8iteratorEbERSB_DpOT0_.exit.thread.i ], [ %and.i.i.i.i.i, %_ZN4absl7debian218container_internal12raw_hash_mapINS1_17FlatHashMapPolicyImiEENS0_13hash_internal4HashImEESt8equal_toImESaISt4pairIKmiEEE11try_emplaceImJETnNSt9enable_ifIXntsr3std14is_convertibleIT_NS1_12raw_hash_setIS4_S7_S9_SD_E14const_iteratorEEE5valueEiE4typeELi0EEESA_INSJ_8iteratorEbERSB_DpOT0_.exit.i ] %26 = phi ptr [ %.pre.i.i.i, %_ZN4absl7debian218container_internal12raw_hash_mapINS1_17FlatHashMapPolicyImiEENS0_13hash_internal4HashImEESt8equal_toImESaISt4pairIKmiEEE11try_emplaceImJETnNSt9enable_ifIXntsr3std14is_convertibleIT_NS1_12raw_hash_setIS4_S7_S9_SD_E14const_iteratorEEE5valueEiE4typeELi0EEESA_INSJ_8iteratorEbERSB_DpOT0_.exit.thread.i ], [ %15, %_ZN4absl7debian218container_internal12raw_hash_mapINS1_17FlatHashMapPolicyImiEENS0_13hash_internal4HashImEESt8equal_toImESaISt4pairIKmiEEE11try_emplaceImJETnNSt9enable_ifIXntsr3std14is_convertibleIT_NS1_12raw_hash_setIS4_S7_S9_SD_E14const_iteratorEEE5valueEiE4typeELi0EEESA_INSJ_8iteratorEbERSB_DpOT0_.exit.i ] %27 = phi ptr [ %.pre20.i.i.i, %_ZN4absl7debian218container_internal12raw_hash_mapINS1_17FlatHashMapPolicyImiEENS0_13hash_internal4HashImEESt8equal_toImESaISt4pairIKmiEEE11try_emplaceImJETnNSt9enable_ifIXntsr3std14is_convertibleIT_NS1_12raw_hash_setIS4_S7_S9_SD_E14const_iteratorEEE5valueEiE4typeELi0EEESA_INSJ_8iteratorEbERSB_DpOT0_.exit.thread.i ], [ %18, %_ZN4absl7debian218container_internal12raw_hash_mapINS1_17FlatHashMapPolicyImiEENS0_13hash_internal4HashImEESt8equal_toImESaISt4pairIKmiEEE11try_emplaceImJETnNSt9enable_ifIXntsr3std14is_convertibleIT_NS1_12raw_hash_setIS4_S7_S9_SD_E14const_iteratorEEE5valueEiE4typeELi0EEESA_INSJ_8iteratorEbERSB_DpOT0_.exit.i ] diff --git a/bench/sentencepiece/optimized/int128.ll b/bench/sentencepiece/optimized/int128.ll index a0b0fb9db78..0209cb1b564 100644 --- a/bench/sentencepiece/optimized/int128.ll +++ b/bench/sentencepiece/optimized/int128.ll @@ -484,7 +484,7 @@ _ZSt13__check_facetISt5ctypeIcEERKT_PS3_.exit.i.i.i.i: ; preds = %45 %54 = invoke noundef signext i8 %53(ptr noundef nonnull align 8 dereferenceable(570) %47, i8 noundef signext 32) to label %_ZNKSt9basic_iosIcSt11char_traitsIcEE5widenEc.exit.i.i.i unwind label %67 -_ZNKSt9basic_iosIcSt11char_traitsIcEE5widenEc.exit.i.i.i: ; preds = %.noexc42, %_ZSt13__check_facetISt5ctypeIcEERKT_PS3_.exit.i.i.i.i +.noexc42._ZNKSt9basic_iosIcSt11char_traitsIcEE5widenEc.exit.i.i.i_crit_edge: ; preds = %.noexc42, %_ZSt13__check_facetISt5ctypeIcEERKT_PS3_.exit.i.i.i.i store i8 1, ptr %42, align 1, !tbaa !26 %.pre = load ptr, ptr %3, align 8 br label %55 @@ -683,7 +683,7 @@ _ZNKSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEE3strEv.exit: ; pred %148 = getelementptr inbounds nuw i8, ptr %142, i64 240 %149 = load ptr, ptr %148, align 8, !tbaa !36 %.not.i.i.i = icmp eq ptr %149, null - br i1 %.not.i.i.i, label %.invoke93, label %_ZSt13__check_facetISt5ctypeIcEERKT_PS3_.exit.i.i + br i1 %.not.i.i.i, label %.invoke95, label %_ZSt13__check_facetISt5ctypeIcEERKT_PS3_.exit.i.i _ZSt13__check_facetISt5ctypeIcEERKT_PS3_.exit.i.i: ; preds = %147 %150 = getelementptr inbounds nuw i8, ptr %149, i64 56 @@ -719,7 +719,7 @@ _ZNKSt9basic_iosIcSt11char_traitsIcEE5widenEc.exit.i: ; preds = %.noexc61._ZNKSt store i8 1, ptr %143, align 1, !tbaa !26 br label %_ZNKSt9basic_iosIcSt11char_traitsIcEE4fillEv.exit75.invoke -161: ; preds = %.invoke93, %_ZNKSt9basic_iosIcSt11char_traitsIcEE4fillEv.exit75.invoke, %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6appendEmc.exit, %.noexc73, %178, %.noexc61, %155 +161: ; preds = %.invoke95, %_ZNKSt9basic_iosIcSt11char_traitsIcEE4fillEv.exit75.invoke, %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6appendEmc.exit, %.noexc73, %178, %.noexc61, %155 %162 = landingpad { ptr, i32 } cleanup %163 = load ptr, ptr %7, align 8, !tbaa !61 @@ -750,13 +750,13 @@ _ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i: %171 = getelementptr inbounds nuw i8, ptr %142, i64 240 %172 = load ptr, ptr %171, align 8, !tbaa !36 %.not.i.i.i64 = icmp eq ptr %172, null - br i1 %.not.i.i.i64, label %.invoke93, label %_ZSt13__check_facetISt5ctypeIcEERKT_PS3_.exit.i.i65 + br i1 %.not.i.i.i64, label %.invoke95, label %_ZSt13__check_facetISt5ctypeIcEERKT_PS3_.exit.i.i65 -.invoke93: ; preds = %147, %170 +.invoke95: ; preds = %147, %170 invoke void @_ZSt16__throw_bad_castv() #15 to label %.cont94 unwind label %161 -.cont94: ; preds = %.invoke93 +.cont96: ; preds = %.invoke95 unreachable _ZSt13__check_facetISt5ctypeIcEERKT_PS3_.exit.i.i65: ; preds = %170 diff --git a/bench/sundials/optimized/arkode_mri_tables.ll b/bench/sundials/optimized/arkode_mri_tables.ll index 72489d54efc..c47aab36fab 100644 --- a/bench/sundials/optimized/arkode_mri_tables.ll +++ b/bench/sundials/optimized/arkode_mri_tables.ll @@ -5134,9 +5134,9 @@ define void @MRIStepCoupling_Free(ptr noundef captures(address_is_null) %0) loca %indvars.iv.next = add nuw nsw i64 %indvars.iv, 1 %33 = sext i32 %31 to i64 %.not76.not = icmp slt i64 %indvars.iv, %33 - br i1 %.not76.not, label %.lr.ph, label %._crit_edge.loopexit + br i1 %.not76.not, label %.lr.ph, label %._crit_edge -._crit_edge.loopexit: ; preds = %30 +._crit_edge: ; preds = %30 %.phi.trans.insert = getelementptr inbounds nuw ptr, ptr %32, i64 %indvars.iv98 %.pre110 = load ptr, ptr %.phi.trans.insert, align 8 br label %._crit_edge diff --git a/bench/syn/optimized/ofvfd67uyaewjlc.ll b/bench/syn/optimized/ofvfd67uyaewjlc.ll index 5ca90895427..7299aecf19e 100644 --- a/bench/syn/optimized/ofvfd67uyaewjlc.ll +++ b/bench/syn/optimized/ofvfd67uyaewjlc.ll @@ -4620,7 +4620,7 @@ thread-pre-split: ; preds = %_ZN3syn6buffer15sta i32 4, label %36 ] -default.unreachable27: ; preds = %.backedge, %14 +default.unreachable10.i: ; preds = %.backedge, %14 unreachable 16: ; preds = %14 diff --git a/bench/verilator/optimized/V3ActiveTop.ll b/bench/verilator/optimized/V3ActiveTop.ll index c330be2c69e..9b6b248fe2c 100644 --- a/bench/verilator/optimized/V3ActiveTop.ll +++ b/bench/verilator/optimized/V3ActiveTop.ll @@ -4688,7 +4688,7 @@ _ZZN16ActiveTopVisitor9isInitialEP7AstNodeENKUlPK9AstVarRefE_clES4_.exit.i: ; pr %31 = icmp ne i64 %30, 0 %32 = select i1 %27, i1 %31, i1 false %cond.fr.i = freeze i1 %32 - br i1 %cond.fr.i, label %_ZZN7AstNode13predicateImplI9AstVarRefLb1EZN16ActiveTopVisitor9isInitialEPS_EUlPKS1_E_EEbPNSt11conditionalIXsr3std8is_constIT_EE5valueEKS_S_E4typeERKT1_ENKUlS3_E_clES3_.exit.thread64, label %_ZZN7AstNode13predicateImplI9AstVarRefLb1EZN16ActiveTopVisitor9isInitialEPS_EUlPKS1_E_EEbPNSt11conditionalIXsr3std8is_constIT_EE5valueEKS_S_E4typeERKT1_ENKUlS3_E_clES3_.exit.thread + br i1 %cond.fr.i, label %_ZZN7AstNode13predicateImplI9AstVarRefLb1EZN16ActiveTopVisitor9isInitialEPS_EUlPKS1_E_EEbPNSt11conditionalIXsr3std8is_constIT_EE5valueEKS_S_E4typeERKT1_ENKUlS3_E_clES3_.exit.thread64, label %_ZZN7AstNode13predicateImplI9AstVarRefLb1EZN16ActiveTopVisitor9isInitialEPS_EUlPKS1_E_EEbPNSt11conditionalIXsr3std8is_constIT_EE5valueEKS_S_E4typeERKT1_ENKUlS3_E_clES3_.exit.thread.thread 33: ; preds = %13 %34 = getelementptr inbounds nuw i8, ptr %0, i64 48 @@ -4753,11 +4753,11 @@ _ZZN7AstNode13predicateImplI9AstVarRefLb1EZN16ActiveTopVisitor9isInitialEPS_EUlP br i1 %52, label %13, label %50, !llvm.loop !192 _ZZN7AstNode13predicateImplI9AstVarRefLb1EZN16ActiveTopVisitor9isInitialEPS_EUlPKS1_E_EEbPNSt11conditionalIXsr3std8is_constIT_EE5valueEKS_S_E4typeERKT1_ENKUlS3_E_clES3_.exit.thread64: ; preds = %_ZZN16ActiveTopVisitor9isInitialEP7AstNodeENKUlPK9AstVarRefE_clES4_.exit.thread.i, %_ZZN16ActiveTopVisitor9isInitialEP7AstNodeENKUlPK9AstVarRefE_clES4_.exit.i - br label %_ZZN7AstNode13predicateImplI9AstVarRefLb1EZN16ActiveTopVisitor9isInitialEPS_EUlPKS1_E_EEbPNSt11conditionalIXsr3std8is_constIT_EE5valueEKS_S_E4typeERKT1_ENKUlS3_E_clES3_.exit.thread + br label %_ZZN7AstNode13predicateImplI9AstVarRefLb1EZN16ActiveTopVisitor9isInitialEPS_EUlPKS1_E_EEbPNSt11conditionalIXsr3std8is_constIT_EE5valueEKS_S_E4typeERKT1_ENKUlS3_E_clES3_.exit.thread.thread _ZZN7AstNode13predicateImplI9AstVarRefLb1EZN16ActiveTopVisitor9isInitialEPS_EUlPKS1_E_EEbPNSt11conditionalIXsr3std8is_constIT_EE5valueEKS_S_E4typeERKT1_ENKUlS3_E_clES3_.exit: ; preds = %45 %53 = icmp samesign ugt i64 %.idx51, 16 - br i1 %53, label %.lr.ph.preheader, label %_ZZN7AstNode13predicateImplI9AstVarRefLb1EZN16ActiveTopVisitor9isInitialEPS_EUlPKS1_E_EEbPNSt11conditionalIXsr3std8is_constIT_EE5valueEKS_S_E4typeERKT1_ENKUlS3_E_clES3_.exit.thread, !prof !193 + br i1 %53, label %.lr.ph.preheader, label %_ZZN7AstNode13predicateImplI9AstVarRefLb1EZN16ActiveTopVisitor9isInitialEPS_EUlPKS1_E_EEbPNSt11conditionalIXsr3std8is_constIT_EE5valueEKS_S_E4typeERKT1_ENKUlS3_E_clES3_.exit.thread.thread, !prof !193 .lr.ph.preheader: ; preds = %_ZZN7AstNode13predicateImplI9AstVarRefLb1EZN16ActiveTopVisitor9isInitialEPS_EUlPKS1_E_EEbPNSt11conditionalIXsr3std8is_constIT_EE5valueEKS_S_E4typeERKT1_ENKUlS3_E_clES3_.exit.thread66, %_ZZN7AstNode13predicateImplI9AstVarRefLb1EZN16ActiveTopVisitor9isInitialEPS_EUlPKS1_E_EEbPNSt11conditionalIXsr3std8is_constIT_EE5valueEKS_S_E4typeERKT1_ENKUlS3_E_clES3_.exit %.idx68 = phi i64 [ %.add, %_ZZN7AstNode13predicateImplI9AstVarRefLb1EZN16ActiveTopVisitor9isInitialEPS_EUlPKS1_E_EEbPNSt11conditionalIXsr3std8is_constIT_EE5valueEKS_S_E4typeERKT1_ENKUlS3_E_clES3_.exit.thread66 ], [ %.idx51, %_ZZN7AstNode13predicateImplI9AstVarRefLb1EZN16ActiveTopVisitor9isInitialEPS_EUlPKS1_E_EEbPNSt11conditionalIXsr3std8is_constIT_EE5valueEKS_S_E4typeERKT1_ENKUlS3_E_clES3_.exit ] @@ -4900,8 +4900,8 @@ _ZZN7AstNode13predicateImplI9AstVarRefLb1EZN16ActiveTopVisitor9isInitialEPS_EUlP %123 = icmp ugt ptr %121, %122 br i1 %123, label %.lr.ph, label %_ZZN7AstNode13predicateImplI9AstVarRefLb1EZN16ActiveTopVisitor9isInitialEPS_EUlPKS1_E_EEbPNSt11conditionalIXsr3std8is_constIT_EE5valueEKS_S_E4typeERKT1_ENKUlS3_E_clES3_.exit.thread, !prof !194, !llvm.loop !195 -_ZZN7AstNode13predicateImplI9AstVarRefLb1EZN16ActiveTopVisitor9isInitialEPS_EUlPKS1_E_EEbPNSt11conditionalIXsr3std8is_constIT_EE5valueEKS_S_E4typeERKT1_ENKUlS3_E_clES3_.exit.thread: ; preds = %_ZZN7AstNode13predicateImplI9AstVarRefLb1EZN16ActiveTopVisitor9isInitialEPS_EUlPKS1_E_EEbPNSt11conditionalIXsr3std8is_constIT_EE5valueEKS_S_E4typeERKT1_ENKUlS3_E_clES3_.exit33, %_ZZN16ActiveTopVisitor9isInitialEP7AstNodeENKUlPK9AstVarRefE_clES4_.exit.i30, %_ZZN7AstNode13predicateImplI9AstVarRefLb1EZN16ActiveTopVisitor9isInitialEPS_EUlPKS1_E_EEbPNSt11conditionalIXsr3std8is_constIT_EE5valueEKS_S_E4typeERKT1_ENKUlS3_E_clES3_.exit.thread64, %_ZZN7AstNode13predicateImplI9AstVarRefLb1EZN16ActiveTopVisitor9isInitialEPS_EUlPKS1_E_EEbPNSt11conditionalIXsr3std8is_constIT_EE5valueEKS_S_E4typeERKT1_ENKUlS3_E_clES3_.exit, %_ZZN16ActiveTopVisitor9isInitialEP7AstNodeENKUlPK9AstVarRefE_clES4_.exit.i - %.0 = phi i1 [ false, %_ZZN16ActiveTopVisitor9isInitialEP7AstNodeENKUlPK9AstVarRefE_clES4_.exit.i ], [ true, %_ZZN7AstNode13predicateImplI9AstVarRefLb1EZN16ActiveTopVisitor9isInitialEPS_EUlPKS1_E_EEbPNSt11conditionalIXsr3std8is_constIT_EE5valueEKS_S_E4typeERKT1_ENKUlS3_E_clES3_.exit ], [ true, %_ZZN7AstNode13predicateImplI9AstVarRefLb1EZN16ActiveTopVisitor9isInitialEPS_EUlPKS1_E_EEbPNSt11conditionalIXsr3std8is_constIT_EE5valueEKS_S_E4typeERKT1_ENKUlS3_E_clES3_.exit.thread64 ], [ true, %_ZZN7AstNode13predicateImplI9AstVarRefLb1EZN16ActiveTopVisitor9isInitialEPS_EUlPKS1_E_EEbPNSt11conditionalIXsr3std8is_constIT_EE5valueEKS_S_E4typeERKT1_ENKUlS3_E_clES3_.exit33 ], [ false, %_ZZN16ActiveTopVisitor9isInitialEP7AstNodeENKUlPK9AstVarRefE_clES4_.exit.i30 ] +_ZZN7AstNode13predicateImplI9AstVarRefLb1EZN16ActiveTopVisitor9isInitialEPS_EUlPKS1_E_EEbPNSt11conditionalIXsr3std8is_constIT_EE5valueEKS_S_E4typeERKT1_ENKUlS3_E_clES3_.exit.thread.thread: ; preds = %_ZZN7AstNode13predicateImplI9AstVarRefLb1EZN16ActiveTopVisitor9isInitialEPS_EUlPKS1_E_EEbPNSt11conditionalIXsr3std8is_constIT_EE5valueEKS_S_E4typeERKT1_ENKUlS3_E_clES3_.exit33, %_ZZN16ActiveTopVisitor9isInitialEP7AstNodeENKUlPK9AstVarRefE_clES4_.exit.i30, %_ZZN7AstNode13predicateImplI9AstVarRefLb1EZN16ActiveTopVisitor9isInitialEPS_EUlPKS1_E_EEbPNSt11conditionalIXsr3std8is_constIT_EE5valueEKS_S_E4typeERKT1_ENKUlS3_E_clES3_.exit.thread64, %_ZZN7AstNode13predicateImplI9AstVarRefLb1EZN16ActiveTopVisitor9isInitialEPS_EUlPKS1_E_EEbPNSt11conditionalIXsr3std8is_constIT_EE5valueEKS_S_E4typeERKT1_ENKUlS3_E_clES3_.exit, %_ZZN16ActiveTopVisitor9isInitialEP7AstNodeENKUlPK9AstVarRefE_clES4_.exit.i + %.0.ph69 = phi i1 [ false, %_ZZN16ActiveTopVisitor9isInitialEP7AstNodeENKUlPK9AstVarRefE_clES4_.exit.i ], [ true, %_ZZN7AstNode13predicateImplI9AstVarRefLb1EZN16ActiveTopVisitor9isInitialEPS_EUlPKS1_E_EEbPNSt11conditionalIXsr3std8is_constIT_EE5valueEKS_S_E4typeERKT1_ENKUlS3_E_clES3_.exit ], [ true, %_ZZN7AstNode13predicateImplI9AstVarRefLb1EZN16ActiveTopVisitor9isInitialEPS_EUlPKS1_E_EEbPNSt11conditionalIXsr3std8is_constIT_EE5valueEKS_S_E4typeERKT1_ENKUlS3_E_clES3_.exit.thread64 ], [ true, %_ZZN7AstNode13predicateImplI9AstVarRefLb1EZN16ActiveTopVisitor9isInitialEPS_EUlPKS1_E_EEbPNSt11conditionalIXsr3std8is_constIT_EE5valueEKS_S_E4typeERKT1_ENKUlS3_E_clES3_.exit33 ], [ false, %_ZZN16ActiveTopVisitor9isInitialEP7AstNodeENKUlPK9AstVarRefE_clES4_.exit.i30 ] call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %7) #23 call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %6) #23 call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %5) #23 @@ -4910,7 +4910,7 @@ _ZZN7AstNode13predicateImplI9AstVarRefLb1EZN16ActiveTopVisitor9isInitialEPS_EUlP %.not.i.i.i34 = icmp eq ptr %124, null br i1 %.not.i.i.i34, label %_ZNSt6vectorIP7AstNodeSaIS1_EED2Ev.exit, label %125 -125: ; preds = %_ZZN7AstNode13predicateImplI9AstVarRefLb1EZN16ActiveTopVisitor9isInitialEPS_EUlPKS1_E_EEbPNSt11conditionalIXsr3std8is_constIT_EE5valueEKS_S_E4typeERKT1_ENKUlS3_E_clES3_.exit.thread +_ZZN7AstNode13predicateImplI9AstVarRefLb1EZN16ActiveTopVisitor9isInitialEPS_EUlPKS1_E_EEbPNSt11conditionalIXsr3std8is_constIT_EE5valueEKS_S_E4typeERKT1_ENKUlS3_E_clES3_.exit.thread: ; preds = %_ZZN7AstNode13predicateImplI9AstVarRefLb1EZN16ActiveTopVisitor9isInitialEPS_EUlPKS1_E_EEbPNSt11conditionalIXsr3std8is_constIT_EE5valueEKS_S_E4typeERKT1_ENKUlS3_E_clES3_.exit.thread %126 = getelementptr inbounds nuw i8, ptr %3, i64 16 %127 = load ptr, ptr %126, align 8, !tbaa !95 %128 = ptrtoint ptr %127 to i64 diff --git a/bench/verilator/optimized/V3Global.ll b/bench/verilator/optimized/V3Global.ll index 7519be0ce2f..ca4c7473089 100644 --- a/bench/verilator/optimized/V3Global.ll +++ b/bench/verilator/optimized/V3Global.ll @@ -4710,7 +4710,7 @@ _ZSt13__check_facetISt5ctypeIcEERKT_PS3_.exit.i.i.i.i: ; preds = %12 %22 = invoke noundef signext i8 %21(ptr noundef nonnull align 8 dereferenceable(570) %14, i8 noundef signext 32) to label %_ZNKSt9basic_iosIcSt11char_traitsIcEE5widenEc.exit.i.i.i unwind label %80 -_ZNKSt9basic_iosIcSt11char_traitsIcEE5widenEc.exit.i.i.i: ; preds = %.noexc3, %_ZSt13__check_facetISt5ctypeIcEERKT_PS3_.exit.i.i.i.i +.noexc3._ZNKSt9basic_iosIcSt11char_traitsIcEE5widenEc.exit.i.i.i_crit_edge: ; preds = %.noexc3, %_ZSt13__check_facetISt5ctypeIcEERKT_PS3_.exit.i.i.i.i store i8 1, ptr %9, align 1, !tbaa !208 %.pre = load ptr, ptr %4, align 8 br label %23 diff --git a/bench/yosys/optimized/sha1.ll b/bench/yosys/optimized/sha1.ll index e9a299e4560..56c0c5d5220 100644 --- a/bench/yosys/optimized/sha1.ll +++ b/bench/yosys/optimized/sha1.ll @@ -1659,7 +1659,7 @@ _ZSt13__check_facetISt5ctypeIcEERKT_PS3_.exit.i.i.i.i: ; preds = %88 %98 = invoke noundef signext i8 %97(ptr noundef nonnull align 8 dereferenceable(570) %90, i8 noundef signext 32) to label %_ZNKSt9basic_iosIcSt11char_traitsIcEE5widenEc.exit.i.i.i unwind label %.loopexit -_ZNKSt9basic_iosIcSt11char_traitsIcEE5widenEc.exit.i.i.i: ; preds = %.noexc19, %_ZSt13__check_facetISt5ctypeIcEERKT_PS3_.exit.i.i.i.i +.noexc19._ZNKSt9basic_iosIcSt11char_traitsIcEE5widenEc.exit.i.i.i_crit_edge: ; preds = %.noexc19, %_ZSt13__check_facetISt5ctypeIcEERKT_PS3_.exit.i.i.i.i store i8 1, ptr %85, align 1, !tbaa !40 %.pre = load ptr, ptr %4, align 8 br label %99 diff --git a/bench/zstd/optimized/zstdmt_compress.ll b/bench/zstd/optimized/zstdmt_compress.ll index 13f11701f5b..12592e6717e 100644 --- a/bench/zstd/optimized/zstdmt_compress.ll +++ b/bench/zstd/optimized/zstdmt_compress.ll @@ -2601,17 +2601,17 @@ ZSTDMT_waitForAllJobsCompleted.exit.i: ; preds = %._crit_edge.i.i, %4 441: ; preds = %.loopexit.i %442 = icmp eq i64 %400, %402 - %.pre128.pre129.i = load ptr, ptr %361, align 8 + %.pre128.pre.i = load ptr, ptr %361, align 8 br i1 %442, label %443, label %459 443: ; preds = %441 - %444 = getelementptr inbounds nuw %struct.ZSTDMT_jobDescription, ptr %.pre128.pre129.i, i64 %363 + %444 = getelementptr inbounds nuw %struct.ZSTDMT_jobDescription, ptr %.pre128.pre.i, i64 %363 %445 = getelementptr inbounds nuw i8, ptr %444, i64 448 %446 = load i32, ptr %445, align 8, !tbaa !151 %.not112.i = icmp eq i32 %446, 0 - br i1 %.not112.i, label %459, label %.thread131.i + br i1 %.not112.i, label %459, label %.thread129.i -.thread131.i: ; preds = %443 +.thread129.i: ; preds = %443 %447 = getelementptr inbounds nuw i8, ptr %0, i64 2776 %448 = tail call i64 @ZSTD_XXH64_digest(ptr noundef nonnull captures(none) %447) #17 %449 = trunc i64 %448 to i32 @@ -2622,10 +2622,10 @@ ZSTDMT_waitForAllJobsCompleted.exit.i: ; preds = %._crit_edge.i.i, %4 %454 = getelementptr inbounds nuw i8, ptr %451, i64 %453 store i32 %449, ptr %454, align 1, !tbaa !3 %455 = add nuw i64 %399, 4 - %456 = getelementptr inbounds nuw %struct.ZSTDMT_jobDescription, ptr %.pre128.pre129.i, i64 %363, i32 1 + %456 = getelementptr inbounds nuw %struct.ZSTDMT_jobDescription, ptr %.pre128.pre.i, i64 %363, i32 1 %457 = add i64 %453, 4 store i64 %457, ptr %456, align 8, !tbaa !83 - %458 = getelementptr inbounds nuw %struct.ZSTDMT_jobDescription, ptr %.pre128.pre129.i, i64 %363, i32 18 + %458 = getelementptr inbounds nuw %struct.ZSTDMT_jobDescription, ptr %.pre128.pre.i, i64 %363, i32 18 store i32 0, ptr %458, align 8, !tbaa !151 %.pre128.pre.i = load ptr, ptr %361, align 8 br label %460 @@ -2634,12 +2634,12 @@ ZSTDMT_waitForAllJobsCompleted.exit.i: ; preds = %._crit_edge.i.i, %4 %.not113.i = icmp eq i64 %399, 0 br i1 %.not113.i, label %.thread, label %460 -460: ; preds = %459, %.thread131.i - %.0104136.i = phi i64 [ %455, %.thread131.i ], [ %399, %459 ] - %.pre128135.i = phi ptr [ %.pre128.pre.i, %.thread131.i ], [ %.pre128.pre129.i, %459 ] +460: ; preds = %459, %.thread129.i + %.0104132.i = phi i64 [ %455, %.thread131.i ], [ %399, %459 ] + %.pre128135.i = phi ptr [ %.pre128.pre.i, %.thread131.i ], [ %.pre128.pre.i, %459 ] %461 = getelementptr inbounds nuw %struct.ZSTDMT_jobDescription, ptr %.pre128135.i, i64 %363, i32 17 %462 = load i64, ptr %461, align 8, !tbaa !85 - %463 = sub i64 %.0104136.i, %462 + %463 = sub i64 %.0104132.i, %462 %464 = getelementptr inbounds nuw i8, ptr %1, i64 8 %465 = load i64, ptr %464, align 8, !tbaa !154 %466 = getelementptr inbounds nuw i8, ptr %1, i64 16 @@ -2671,7 +2671,7 @@ ZSTDMT_waitForAllJobsCompleted.exit.i: ; preds = %._crit_edge.i.i, %4 %480 = getelementptr inbounds nuw %struct.ZSTDMT_jobDescription, ptr %477, i64 %363, i32 17 %481 = add i64 %476, %..i78 store i64 %481, ptr %480, align 8, !tbaa !85 - %482 = icmp eq i64 %481, %.0104136.i + %482 = icmp eq i64 %481, %.0104132.i %or.cond.i80 = select i1 %442, i1 %482, i1 false br i1 %or.cond.i80, label %483, label %524 @@ -2738,7 +2738,7 @@ ZSTDMT_releaseBuffer.exit.i: ; preds = %511, %509, %499, %4 store i64 %518, ptr %516, align 8, !tbaa !75 %519 = getelementptr inbounds nuw i8, ptr %0, i64 3064 %520 = load i64, ptr %519, align 8, !tbaa !77 - %521 = add i64 %520, %.0104136.i + %521 = add i64 %520, %.0104132.i store i64 %521, ptr %519, align 8, !tbaa !77 %522 = load i32, ptr %356, align 4, !tbaa !82 %523 = add i32 %522, 1 @@ -2749,11 +2749,11 @@ ZSTDMT_releaseBuffer.exit.i: ; preds = %511, %509, %499, %4 524: ; preds = %ZSTDMT_releaseBuffer.exit.i, %475 %525 = phi i64 [ %481, %475 ], [ %.pre112, %ZSTDMT_releaseBuffer.exit.i ] - %526 = icmp ugt i64 %.0104136.i, %525 + %526 = icmp ugt i64 %.0104132.i, %525 br i1 %526, label %527, label %.thread 527: ; preds = %524 - %528 = sub nuw i64 %.0104136.i, %525 + %528 = sub nuw i64 %.0104132.i, %525 br label %ZSTDMT_flushProduced.exit .thread: ; preds = %459, %524